{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Using shared variables (`Data` container adaptation)" ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Running on PyMC3 v3.6\n" ] } ], "source": [ "%matplotlib inline\n", "import numpy as np\n", "import pandas as pd\n", "import pymc3 as pm\n", "\n", "import seaborn as sns\n", "import matplotlib.pyplot as plt\n", "import arviz as az\n", "\n", "sns.set_context('notebook')\n", "plt.style.use('seaborn-darkgrid')\n", "print('Running on PyMC3 v{}'.format(pm.__version__))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## The Data class\n", "\n", "The [Data](../api/data.rst) container class wraps the theano shared variable class and let the model be aware of its inputs and outputs. This allows one to change the value of an observed variable to predict or refit on new data. All variables of this class must be declared inside a model context and specify a name for them.\n", "\n", "Let's see how to declare one inside a simple toy model:" ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "Auto-assigning NUTS sampler...\n", "Initializing NUTS using jitter+adapt_diag...\n", "Multiprocess sampling (4 chains in 4 jobs)\n", "NUTS: [mu]\n", "Sampling 4 chains: 100%|██████████| 4000/4000 [00:00<00:00, 6621.27draws/s]\n", "The acceptance probability does not match the target. It is 0.883289588766623, but should be close to 0.8. Try to increase the number of tuning steps.\n", "The acceptance probability does not match the target. It is 0.8824465542593197, but should be close to 0.8. Try to increase the number of tuning steps.\n" ] } ], "source": [ "true_mu = 30\n", "observed_data = true_mu + np.random.randn(10)\n", "\n", "with pm.Model() as model:\n", " data = pm.Data('data', observed_data)\n", " mu = pm.Normal('mu', 0, 10)\n", " pm.Normal('y', mu=mu, sigma=1, observed=data)\n", " trace = pm.sample()" ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "az.plot_trace(trace);" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We can get the data container variable from the model using:" ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([30.43311825, 31.02348975, 29.748085 , 31.03500693, 29.59041138,\n", " 29.19589461, 29.52316029, 29.79871833, 30.06108278, 30.89038443])" ] }, "execution_count": 4, "metadata": {}, "output_type": "execute_result" } ], "source": [ "model['data'].get_value()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Note that we used a [theano SharedVariable method](https://github.com/Theano/theano/blob/d395439aec5a6ddde8ef5c266fd976412a5c5695/theano/compile/sharedvalue.py#L87-L108) to get the value of the variable. This is because our variable is actually a SharedVariable." ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "theano.tensor.sharedvar.TensorSharedVariable" ] }, "execution_count": 5, "metadata": {}, "output_type": "execute_result" } ], "source": [ "type(data)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We can plot the digraph for our model using:" ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [ { "data": { "image/svg+xml": [ "\n", "\n", "\n", "\n", "\n", "\n", "%3\n", "\n", "\n", "cluster10\n", "\n", "10\n", "\n", "\n", "\n", "y\n", "\n", "y ~ Normal\n", "\n", "\n", "\n", "data\n", "\n", "data ~ Deterministic\n", "\n", "\n", "\n", "data->y\n", "\n", "\n", "\n", "\n", "\n", "mu\n", "\n", "mu ~ Normal\n", "\n", "\n", "\n", "mu->y\n", "\n", "\n", "\n", "\n", "\n" ], "text/plain": [ "" ] }, "execution_count": 6, "metadata": {}, "output_type": "execute_result" } ], "source": [ "pm.model_to_graphviz(model)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The methods and functions related to the Data container class are:\n", "\n", "- `data_container.get_value` (method inherited from the theano SharedVariable): gets the value associated with the `data_container`.\n", "- `data_container.set_value` (method inherited from the theano SharedVariable): sets the value associated with the `data_container`.\n", "- `pm.set_data`: PyMC3 function that sets the value associated with each Data container variable indicated in the dictionary `new_data` with it corresponding new value." ] }, { "cell_type": "code", "execution_count": 7, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Help on function set_data in module pymc3.model:\n", "\n", "set_data(new_data, model=None)\n", " Sets the value of one or more data container variables.\n", " \n", " Parameters\n", " ----------\n", " new_data : dict\n", " New values for the data containers. The keys of the dictionary are\n", " the variables names in the model and the values are the objects\n", " with which to update.\n", " model : Model (optional if in `with` context)\n", " \n", " Examples\n", " --------\n", " \n", " .. code:: ipython\n", " \n", " >>> import pymc3 as pm\n", " >>> with pm.Model() as model:\n", " ... x = pm.Data('x', [1., 2., 3.])\n", " ... y = pm.Data('y', [1., 2., 3.])\n", " ... beta = pm.Normal('beta', 0, 1)\n", " ... obs = pm.Normal('obs', x * beta, 1, observed=y)\n", " ... trace = pm.sample(1000, tune=1000)\n", " \n", " Set the value of `x` to predict on new data.\n", " \n", " .. code:: ipython\n", " >>> with model:\n", " ... pm.set_data({'x': [5,6,9]})\n", " ... y_test = pm.sample_posterior_predictive(trace)\n", " >>> y_test['obs'].mean(axis=0)\n", " array([4.6088569 , 5.54128318, 8.32953844])\n", "\n" ] } ], "source": [ "help(pm.set_data)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Using Data container variables to fit the same model to several datasets\n", "\n", "This and the next section are an adaptation of the notebook [\"Advanced usage of Theano in PyMC3\"](../Advanced_usage_of_Theano_in_PyMC3.html#using-shared-variables) using `pm.Data`.\n", "\n", "We can use Data container variables in PyMC3 to fit the same model to several datasets without the need to recreate the model each time (which can be time consuming if the number of datasets is large):" ] }, { "cell_type": "code", "execution_count": 8, "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "Auto-assigning NUTS sampler...\n", "Initializing NUTS using jitter+adapt_diag...\n", "Multiprocess sampling (4 chains in 4 jobs)\n", "NUTS: [mu]\n", "Sampling 4 chains: 100%|██████████| 4000/4000 [00:00<00:00, 6296.26draws/s]\n", "Auto-assigning NUTS sampler...\n", "Initializing NUTS using jitter+adapt_diag...\n", "Multiprocess sampling (4 chains in 4 jobs)\n", "NUTS: [mu]\n", "Sampling 4 chains: 100%|██████████| 4000/4000 [00:00<00:00, 6494.94draws/s]\n", "Auto-assigning NUTS sampler...\n", "Initializing NUTS using jitter+adapt_diag...\n", "Multiprocess sampling (4 chains in 4 jobs)\n", "NUTS: [mu]\n", "Sampling 4 chains: 100%|██████████| 4000/4000 [00:00<00:00, 6775.41draws/s]\n", "Auto-assigning NUTS sampler...\n", "Initializing NUTS using jitter+adapt_diag...\n", "Multiprocess sampling (4 chains in 4 jobs)\n", "NUTS: [mu]\n", "Sampling 4 chains: 100%|██████████| 4000/4000 [00:00<00:00, 6089.71draws/s]\n", "The acceptance probability does not match the target. It is 0.8813907103392655, but should be close to 0.8. Try to increase the number of tuning steps.\n", "Auto-assigning NUTS sampler...\n", "Initializing NUTS using jitter+adapt_diag...\n", "Multiprocess sampling (4 chains in 4 jobs)\n", "NUTS: [mu]\n", "Sampling 4 chains: 100%|██████████| 4000/4000 [00:00<00:00, 6589.94draws/s]\n", "Auto-assigning NUTS sampler...\n", "Initializing NUTS using jitter+adapt_diag...\n", "Multiprocess sampling (4 chains in 4 jobs)\n", "NUTS: [mu]\n", "Sampling 4 chains: 100%|██████████| 4000/4000 [00:00<00:00, 6712.69draws/s]\n", "Auto-assigning NUTS sampler...\n", "Initializing NUTS using jitter+adapt_diag...\n", "Multiprocess sampling (4 chains in 4 jobs)\n", "NUTS: [mu]\n", "Sampling 4 chains: 100%|██████████| 4000/4000 [00:00<00:00, 6858.88draws/s]\n", "Auto-assigning NUTS sampler...\n", "Initializing NUTS using jitter+adapt_diag...\n", "Multiprocess sampling (4 chains in 4 jobs)\n", "NUTS: [mu]\n", "Sampling 4 chains: 100%|██████████| 4000/4000 [00:00<00:00, 6772.62draws/s]\n", "Auto-assigning NUTS sampler...\n", "Initializing NUTS using jitter+adapt_diag...\n", "Multiprocess sampling (4 chains in 4 jobs)\n", "NUTS: [mu]\n", "Sampling 4 chains: 100%|██████████| 4000/4000 [00:00<00:00, 7330.82draws/s]\n", "The acceptance probability does not match the target. It is 0.8863523953279285, but should be close to 0.8. Try to increase the number of tuning steps.\n", "Auto-assigning NUTS sampler...\n", "Initializing NUTS using jitter+adapt_diag...\n", "Multiprocess sampling (4 chains in 4 jobs)\n", "NUTS: [mu]\n", "Sampling 4 chains: 100%|██████████| 4000/4000 [00:00<00:00, 7020.24draws/s]\n" ] } ], "source": [ "# We generate 10 datasets\n", "true_mu = [np.random.randn() for _ in range(10)]\n", "observed_data = [mu + np.random.randn(20) for mu in true_mu]\n", "\n", "with pm.Model() as model:\n", " data = pm.Data('data', observed_data[0])\n", " mu = pm.Normal('mu', 0, 10)\n", " pm.Normal('y', mu=mu, sigma=1, observed=data)\n", "\n", "# Generate one trace for each dataset\n", "traces = []\n", "for data_vals in observed_data:\n", " with model:\n", " # Switch out the observed dataset\n", " pm.set_data({'data': data_vals})\n", " traces.append(pm.sample())" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Using Data container variables to predict on new data\n", "\n", "We can also sometimes use Data container variables to work around limitations in the current PyMC3 API. A common task in Machine Learning is to predict values for unseen data, and one way to achieve this is to use a Data container variable for our observations:" ] }, { "cell_type": "code", "execution_count": 9, "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "Auto-assigning NUTS sampler...\n", "Initializing NUTS using jitter+adapt_diag...\n", "Multiprocess sampling (4 chains in 4 jobs)\n", "NUTS: [x]\n", "Sampling 4 chains: 100%|██████████| 4000/4000 [00:00<00:00, 6448.45draws/s]\n", "The acceptance probability does not match the target. It is 0.8806955576016666, but should be close to 0.8. Try to increase the number of tuning steps.\n" ] } ], "source": [ "x = np.random.randn(100)\n", "y = x > 0\n", "\n", "with pm.Model() as model:\n", " x_shared = pm.Data('x_shared', x)\n", " coeff = pm.Normal('x', mu=0, sigma=1)\n", " logistic = pm.math.sigmoid(coeff * x_shared)\n", " pm.Bernoulli('obs', p=logistic, observed=y)\n", "\n", " # fit the model\n", " trace = pm.sample()" ] }, { "cell_type": "code", "execution_count": 10, "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "100%|██████████| 500/500 [00:00<00:00, 1967.56it/s]\n" ] } ], "source": [ "new_values = [-1, 0, 1.]\n", "with model:\n", " # Switch out the observations and use `sample_posterior_predictive` to predict\n", " pm.set_data({'x_shared': new_values})\n", " post_pred = pm.sample_posterior_predictive(trace, samples=500)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The same concept applied to a more complex model can be seen in the notebook [\"Variational Inference: Bayesian Neural Networks\"](../notebooks/bayesian_neural_network_advi.html)." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Applied example: height of toddlers as a function of age" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "This example is taken from Osvaldo Martin's book: [Bayesian Analysis with Python: Introduction to statistical modeling and probabilistic programming using PyMC3 and ArviZ, 2nd Edition](https://www.amazon.com/Bayesian-Analysis-Python-Introduction-probabilistic-ebook/dp/B07HHBCR9G)." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The World Health Organization and other health institutions around the world collect data\n", "for newborns and toddlers and design [growth charts standards](http://www.who.int/childgrowth/en/). These charts are an essential component of the paediatric toolkit and also as a measure of the general well-being of\n", "populations in order to formulate health policies, and plan interventions and\n", "monitor their effectiveness.\n", "\n", "An example of such data is the lengths (heights) of newborn / toddler girls as a function of age (in months):" ] }, { "cell_type": "code", "execution_count": 11, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "data = pd.read_csv(pm.get_data('babies.csv'))\n", "data.plot.scatter('Month', 'Length');" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "To model this data we are going to use this model:" ] }, { "cell_type": "code", "execution_count": 12, "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "Auto-assigning NUTS sampler...\n", "Initializing NUTS using jitter+adapt_diag...\n", "Multiprocess sampling (4 chains in 4 jobs)\n", "NUTS: [δ, γ, β, α]\n", "Sampling 4 chains: 100%|██████████| 6000/6000 [00:03<00:00, 1954.48draws/s]\n", "The acceptance probability does not match the target. It is 0.8950762339991175, but should be close to 0.8. Try to increase the number of tuning steps.\n", "The acceptance probability does not match the target. It is 0.8873582937209513, but should be close to 0.8. Try to increase the number of tuning steps.\n", "The acceptance probability does not match the target. It is 0.8807358345108821, but should be close to 0.8. Try to increase the number of tuning steps.\n", "The acceptance probability does not match the target. It is 0.8836087176127054, but should be close to 0.8. Try to increase the number of tuning steps.\n" ] } ], "source": [ "with pm.Model() as model_babies:\n", " α = pm.Normal('α', sigma=10)\n", " β = pm.Normal('β', sigma=10)\n", " γ = pm.HalfNormal('γ', sigma=10)\n", " δ = pm.HalfNormal('δ', sigma=10)\n", "\n", " month = pm.Data('month', data.Month.values)\n", "\n", " μ = pm.Deterministic('μ', α + β * month**0.5)\n", " ε = pm.Deterministic('ε', γ + δ * month)\n", " y_pred = pm.Normal('y_pred', mu=μ, sigma=ε, observed=data.Length)\n", "\n", " trace_babies = pm.sample(1000)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The following figure shows the result of our model. The mean of $\\mu$ is represented with a black curve, and two semitransparent orange bands represent 1 and 2 standard deviations." ] }, { "cell_type": "code", "execution_count": 13, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAYAAAAEFCAYAAADqujDUAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDMuMC4yLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvOIA7rQAAIABJREFUeJzsvWmQXNl13/m79y25Z1bWjh1ooJHovZtkk+zm0hRbJMVFlKiNGjFkOxQaKcbSLPZorJjwjMYjWbZlyxP+4pFnZFkebbY2WrIWUhTZ3NnsfcHSSDT2qgJqzX15673z4WUVtqrMrGoUutF4vwgEolD58r1bWbjn3HP+5xyhtSYmJiYm5s5DvtkPEBMTExPz5hAbgJiYmJg7lNgAxMTExNyhxAYgJiYm5g4lNgAxMTExdyixAYiJiYm5QzHf7Afox9JSc8sa1WIxTbXauZmPc1txJ68/XvuduXa4s9d/9donJnJimGveticA0zTe7Ed4U7mT1x+v/c7lTl7/Vtb+tjUAMTExMTH9iQ1ATExMzB1KbABiYmJi7lBiAxATExNzhxIbgJiYmJg7lNgAxMTExNyhxAYgJiYm5i2GGyjqXR83UNt6n7d0IVhMTEzMnYYbKE4vtVAapIBDE1kS5vb46vEJICYm5o7kVnnZm8XxQ5SGfNJE6ejr7SI+AcTExNxx3Eove7Mk8bBaczS9HDKRJ2ltX3VzbABiYmLuOK72shtOgOOHb54BUAGys4hszGKunCTdvkzG6VLf/ynMiZ3b+lyxAYiJibnjSFoGUkDDCZCCbfWy10M4VWTzMkb1FGbtLKgABGg7j8ruxOYyhYQg2GajFBuAmJiYO46EKTk0kcXxQ5KWMbSX7QZq09cAEDjI1mWM+nnMlZMItwFCoM0kKjUK8s3ZimMDEBMTc0eSMOWmNvFN5Q20QnSWMZozmCsnkc05QIM0UYkCOr/r5iziDRIbgJiYmDuSzXrzjh/iBgrblGvXXnOd18ZoX8aovI5ROYUIHQC0nUNlp0EMb2wagWSpqcgUA/LJ7dumYwMQExNzx7EVFZAQgvOVLk4QkDRNDo2lkK1LyMYM5spryPYCANqw0YkC2hiL7hWC40uShiIxRKqh4cEXFkapdXxS7QW+756pbTMC224ASqWSAH4d+ADgA79ZLpf/Y6lU+t+BTwIC+KtyufzL2/0sMTExMbA1FZAbhBC0ybl1wpUFROM0SasbxfJ7yVvEtYO43BBONS20FgihOZzzBxqBuY7BsXaWjKU5N9/gwZ158sncG13yutyKE8APAI8Cj/Xu981SqXQO+DHgnb3XfLtUKn25XC5/5xY8T0xMzFucrSRb3UBR63i4gRp4zdAqIBUg24vIxnkSc6eQFxW+EAhhootFVHq0732cUOKGgoQBbihwQknC6F94poGWL6h3QkgG0T9sE7fCABwGni2XyyEQlkqlrwG/A/x/5XLZAyiVSn8OfAKIDUBMzB3OVsIzq9cUfEW91hl4TT8VkPCayOYljEoZs3oalA8IJKNcFhN4SmBLjRDNgWsRKGa75tpaDue8gdcYImTRS9PVYAcuUgw13ndL3AoD8CLw66VSKU0U7vkAsAO4dNVr5oHHr7+wWEy/oRmfExPbc2y6XbiT1x+v/fal1vFIdQMSvWRrtpBiJG0PvKbgKwopC0gPdY3jh5EBMCDpLEHlHCwcg/Zi5HVbKRjfCUa0TcqW5MCIZCypWXEkRipNLtvfmw89wT5fIhEoNJlsipzd36X32iZFO2A8bxDaaUTSHPoz3exnv+0GoFwuf7lUKv0R8BVgDjjGldDPKoJ1DjqrE+63wsREjqWlwRb67cqdvP547bf32htOwLHzK2te87gl8dtu32vcIPL8IU291qE14Bq30+TczAWoX8RsXKSUbpCQRMlbazyK5WugGwABAKYHBGmWmtFzmV6HZqv/WtoeXKim19Zy0Opi9LdLtDpwojWG6oZIWaNa7Qz1mV792Q9rCG6JCqhcLv8z4J8BlEqlfw/8CrD7qpfsBmZvxbPExMS8tdFas3sktXYC0HpwEHw1pJMtpGhZ6+j7V3X5jYuYyyfwaks4jRRYNtrK00nlsez+3nzehkeLHea6FrtSPvkBGzmARrI7FZAwNG4o0Eig/326oc0e2yE7kqGmbdp+MPhGW+RWqICOAP8a+BQwCXwY+FHgd0ql0j/tvexHgL+73c8SExPz1mc1Jq90tLEP26YhYUpG0vYVzz9wMFqXMKqnMVZOIvwOCIlO5HCTkzy/nCd0wRBwKDfYw2548FzPm7/kWOSszkAjEEk/NVoLEoYmOSABTOizW69AMEm11UVksuzKp4da/1a4FSGgk6VS6QzwPOACP10ul18olUr/EfgG0UHrt8vl8vPb/SwxMTFvfbbapgGATgVz8TWMlRMY9YugNRgWKjmCTl1R7Di+QdEKyVjQ9sFRBtC/7XLdN3BCGLUVFU9S9w3ydv9rEgbsS/vUfYOCFd4oAVUh0qkgWvMY9QvI7hJ7VYoPqrs5ab6P/fsPM5VPDL/+TXKrQkD/wzr/9q+Af3Ur7h8TE3N7MXSbBhUg2wvI2jms5WMgu9hdD21l+1bfJmVI1TdY9qITQFIO7rmflCHLrsGCYwx9jRvChU5UB1DzJYelR9KvITuL0YbfvhwZKTQYCbSd53Vnij8N3kvYzHDs2ALv2FPkkT0jg38WWyCuBI6Jibm98LsYrTmMlTJGpYwIfZAClSjCyB6U6Qx8C9uQPFhw8bTEFgrbGByb38o1TiBxXYe0u4LbWkIHr5GgSdQXyEZbmRuMVNkdR6KYSgYsCs3p5VZsAGJiYu5cRLcSNVZbOoZszoIGbSbQySLasDb/figq/qo+XyIYrM8f+prARXaWMJpzJGuXmK/vRQmBRHBv3kKbhb73OWBX6JLgfMdC2Jp9xds4BxATExOzWVzPx6tfJtM+T6Z6AuHWANFrrLZjU43V1kMjmUoErCrQh1HnXFH0RKGdtWtUiOyuINrzGPVzyG6ld4VAiSLTiQAtBUJrlDAZlGvYZXb4pPUKS/kHye89yI5C8g2ttR+xAYiJiXlr0FPtBIsnmbk4A2GAMOBQMUEit3vw9ZtAoFhwr1To3jfECeBqRU8ybJKpX8RunUO2LoPuGY9eHH+1J5AMDebDPEqB1PAASwPvYwhFQ2SQUtPwAow3aOz6ERuAmJiYNw3hNZH1Gczl4xj1c6AVXZ3GMcdJpEycEBwZkBjgnUPklYeeIAgZ2HBNI0mKgFpgMGKFg08AgUOqvcjk8iJztQ575QJZswXSXDeOv4pCsNeqYcsQTxkoBrd1CLVkggYNI8ROW4R6+4bWxwYgJibm1qE1oruMUb+AuXQU2VkALdB25opqx4PZZhLlDN8/Z7XrZiow6HatgV03K67iLy9lCQEDKOUrFK7W9K+GdVqXMOrnkU6VpTDF55vvJhTTPCMP8rmRV5kwu32fKyUCElKhECSkIiUGF3XVlc1T3hHCWg7hVXni0CR7igMv2xKxAYiJidleVIhsz2NUT2MuH0e4zaiFciKPyu66oYXyVqpnV7tuZsRwXTeXXIuUqZhIKJZcyZJjcZe9gmwvRBt+69J18swCl91xOjLNqOFQCZPMB5mBBiAhQ/ZbVaphkqLhkBhCOjofZMngkkr4tCzBUtsB8gOv2wqxAYiJibn5hB6yOYdZKUdVuIEL0ogKsgaMQ9x09SxXum4uhAa+Zw48NUwkfLo+nHMCzKDN7ktfJHF5vvdm64d1MtLngjfCWSExtCIj/YHP5SqD834RBdRVipJYHmgEstJhjiKqlUB4HhkrnggWExPzVsfvYjRnMJZfw6yeAq3Qho1jFnFMe+iJWAkDDud8nHD4KVqrp4ZiVlJtBeufGrRGOFVka56pyiU+E6aoqAyjZoei9NBWgX4hegPNe1KzWFLhK4kxRKP+rjZxtCQhQxxl0NUmiQEqIJDczWV0ZieqMNn3md4osQGIiYnZMsJtIBsXMJeOYzQuAgptplDpSZDGliZiQWQEBg1OuZq1UwNce2oInCis05jBaFyA0AM0psjRNXaSMAVdnUAaFRD9N+ai4VAwfJSAtAgpGoMLziSaGW8EJSIV0BF7ZcPXaq0pL3T44rHjfOvCHPuf/ByWGZKOTwAxMTHbwVYmb4luBaN+LkritucBsWHrBSeUaC3I24qGJ4eaiAW9ObqbOAGs9twJLAPbXSC9MotRO4d0epp8IdFmCswUAGGYYNRs42KSIBhKnZM3PD6SPbMWz88bg5PTCkFedmjoBHnpXnMfrTVnl7t8vVyN/pyqcLkevWehWOSu7/sU6akscvtUoLEBiIm5Uxl68taqcqd2FnPxVaSzEil3koV1k7hXkzQUQmgankSI4eL5mz41+F2C5gJzCw0sd5nQ98nZC1imibbXD+v4WvJKdyehEBhac39ieeBzQWQEhtn4V2kpi6faB9fuU+jMUD57ia+Xq3ytXGGmGnUuncrbPHG4yIdKo+w5sJ/fCj7CijXJSq2LGdcBxMTE3Gz6DkbXCtlZRFZOYy0dRbh1EAKVLKI2UZS1lXj+wDm6Wl+RaNbOIp0qNZVEhOMUUgbLIkvHCrCNjQfCdJRFTjpr8fyOsoD+ih6ARmhv6gTwekVz/thzXDp/mvKZWf6vahWA8azFBw8X+YWPFXmiNMqR6TSiZ0iPOgXuXlxE5vI4oxmCuA4gJibmZnPDYHRTRLNwq69jLh1FeO21TV/nt16Ju9l4/rpzdAM3kpLWL0SxfNXT0/ckmkltILw0dS2RDNbbG0Jx2htb88w/Js4MfK5GaPO3rYNr8fyPZM/cYASWmh7fOFXlq+UKXy9XObUQTTVMJJPs3neAn/vwbj5zb4Z7d2SQcv2TU0b6LIkCftdGd1zSZpwDiImJuckkTMmhsSRe7RKZ5hkyrxxHBF0QEpUcRSdvTgfKzcbzNZJRy8d3OtjOEubZoyS93ghxYUSx/OuGxCREpLdvywwZ0R4otQy1ZNpq4CiTpAwI9eAwSzVMogRMm23mgwzVMEngtPnmqSpfO1Xl6+UKxy+1AcglDd53aISfeHwfY/sPsWvnJGmpeCS5yEifkwlEaqOHrIu4uVHUdB5j62PRBxIbgJiYOw0VIFuXMVfKpJaPIUIXpBl5+lcNTbkZbCqeH/rIzgJ6aZ7jl8YJtcLQiodHOtf011n3Pj29vWFKlgJ7oN6+q02e7uxBEZ0YPpY9O3AtRcPB6Xp84dwir52Z5dfOn+XYbAOtIW1LHj80wn/z7h08USryjr05TEPiKoOyl0fhIGGoSmBDKGbCMXzXQjW6cS+gmJiYN8hVm75x1abftcY2pdHfLH1VQBrwmhityxj1s8jWPKBxgyJFI0fGCmmHFm2RY1w0+t6nq00UMGp4LAfmQL19JUwyarTJGz6N0KISrt9x0w8Vz55r8NRrK3zltQrPnm8QKk3ClDx2sMAvfeouniiN8uj+PPY6CfStVAKHWnLEnCc5MkVtIhv3AoqJidkCG2z6KjmKNqwta/Q3ww0qIBki20vI5ixG7SzC683ilRbazoKQpIwE1W6WZS+Kz6eHqLhNiQAJ1EN7qBxA1M4hw3IYnQBGe5p+rTWvXW7z5dcqPHWywjdPVWm5IVLAO/YV+LtP3ss7D0/z0P4JHsxUB27oW6kELhoOWenhIUjbJoXUENPnt0hsAGJi3qJsVqPvBopaq4tfuUCm/vq6m/7VOKGk5YsotKIZWqO/GRIG7LM7NBorjLXPUJg5AzraALWZWlemaQnF4eQyK0GSMdPBEoOfadXTHjYHkBIBH0yfx8WkW6/yhWfP8Gun53jqtQrzjSixe/dUms+9dwdPHhnliVIRElmOueMgBK7WQ1X1rp5MCoZLPUwMdU3e8HgicYrZzIPkDoyRT8ZJ4JiYO4qhNfoAWuHX5jh37hTZzkXcbpvDOQ+Z7j8tywsVL1QThDqai3soO7y+vS8ahNdANi8RVM5zuS7QAtpIUunswFNGS1l8s7UvUug4mgcTCwMTp5vJATS6Ad96bYY/fvUir585z9JSVAMwkbP48JHR6M89Y+wdvTYstBRInu/sXlMOlezKem9/DVdOJomhcwCuMrikigQIFpoOuaQ5dJHeZokNQEzMW5C+Gn2ItPCdBYyVMubiq3hdD9NNU5gY4zIZOomAwgBv3lEGOSPEMsAPo68HTauCDVQ9WiO7y8jGLEbtNMJrAdAmj7KmKJhe5AHjkaD/Zl4Nk4yY3WvUNrutVt9rutrEVZIs0FHyGk/bCxTPnqvz1MkKT10Vx7ctk3379/LhR0v87MOSx3bbG0ozIaodyBtdLKHw9XC1AwkZUrKX6Wqz1xp68M+3q008JRDotVNgbABiYu4gbtDoW8aVitzq61gLL0dtlaWBShZJ2EV006Ie2gjhDlVxKwk507bXTgDfS2fgNdfkDbTPETlLunkOo34eVBSrvzq0k1QG0hOb8oCnzTYJFMthmgSKabM9xFo0F/0RhJYoP0StnOeZUwt85bUVvvl6jXYvjv+u/Xn+0fftZ99dB/jj1A8jzCQVQnKTTyFl/2pgQyhed8fXTgAfHUI5BJERGNwA7tq1XAjH8NpJglqXQxPZoa/dLLEBiIl5C5IwJYcmsjh+SCqok158HnPh5ai3jezp9K9qq5wAphM+bWEznRgumaswOJzzyJrQCqKvB50AHNdBNBYY7Zyj2WoQmisY0kNbabBuHF6+FRXMhNnl/ZlzvNyd5uH0/MCe+wCX6y7Hjr7Ay6cv892Tl6k0o6Tu3VNpfvK9O/jwPaM8cbjISDoKif2Xxt0k6wY7rCqX/SxnvCIPJvsbgFBL7rZXMKUiUHKo2gGIQjqbOQEoBGOiRccI0GkLrQd3Hd0qsQGIiXkLItwGmdpZCgsvIjtLgEAlR1AbVOQ2PPj2ShrLNvG9NB+e7JAfIB4pWCFZC5SGrBV9fQMahFdHNuYwaqcZ6dSY9yZpShNhpUjaabRMbHiPrahgznoFfrPyLkIhea67m9GJb3OXXb/mNV6gePpMjS+dWOFLx1d4dTYKERWzCd59eJofuC/HR+4ZuSGOv8pBu4qnJOfdIoKQg3a1/w8LSEufhkoS6uHVSVEdwDgKkEDJ3mD9WkUJ+9AjCNO8HBzCc4qoyw2OTG3PMBiIDUBMzFsHv4tRP4e18DKycRFXSxrmCIn0roEefd03UBp2pBXn3ejrvD1AbWLDo8UOc12LXSn/isFY7bXTmMFci+drMJLYiSz7rYBqaFI06gM38642aSizpzQaTjlz2iviYjBltlnwM5z2itxl1zm71OFvT1T40vFlvlaO5JmmFLzv0Ai/+plDPHFkgnv2jWMpb+Bz7bWafC7/KjNBgT1mnb1Ws+/rIVInvSs9u7aWYdRJG6qAtEIEDigPkCBApSYI83uoi91kl7KIsWmchEnXD4DtkYLGBiAm5hawoaQz9KMhKotHMSvlaIiKnaOb3sXxho3jSZKu4r5C/7BOwYpi3Jc7EinC9b3562h48I2lNK1AcqZh8v2j5ym2z2LUzkEYJWqvl2q6yuCUN0pXWSyFaR5ILPXdbH29eeXMtNlizktxqp3EvXiM31v4Ov+gPMfpxShHsW8syU+8ZwcfuXeU7zkySu4qmaRteXj+4LX7WjIXjBBgMBeM4A8RzkmJgLwMIm9eDJfPWFMB+RYy7JJmBRGEIAxUdpowtxudnkQliyCjD1i04XjLph34JLNNPnz35MD7bJXYAMTEbDM3SDrH06S685grJzCXjkHoo60kKjO1tgnUHcn5tknGgHlHsjsdMtknsZu34cOTHQI7jekNDv8AzLbgxKJHTq0w43i8p/I84/YS2kxDYv3QST1McN4vkpY+C36WvWaDSblx8rijLKbMFiOmQy1I9lXOrBZh/fuXarx69FXqM6fQYcDrlsH3lEb47z60m4/eN8bdk1c6Z26VWq+vT9F0aAYWtTA51HzfoRU9KkAEDkkdcoQ6XSODPTKOLDyGmxqP+ixtsIaGH/0O5C2BowUNx2cn638eb5TYAMTEbDOOH+IGioRfJ6heQFw4TlI3wIgKtFhPq68hUII2mkBFhVqDcENoe4JMPwc4cDFalzCqZ7FXHOqND7CMjWVYhHYWnegv0dQCOlrSDlMIFHrAPlw0HKTQLPgZUjK4YYpWrePz1GsVvnRihb89scJsrz9+Znwnh971ATIHHuEXHmjwo2PnB65/1s8y7xaZltWBstGkCLCERiuBJTTJIbx5AFcbkaLJ0FdCWRpQPiJ0YLVtg5EgLOyLWmenx0n2TlHDaIGin6no/a3ikZAxMbcrwmtiLb/O4qun0G4baQru2ZFEpXN9r4taKEAnkEMNRl/qwh/O5DBMizCQfHZPk4lU75t+F6M5h1F7vddvBxAmXWM/rwdT+BhYQdirA+iPRLPo5XCFQUKHyEx/y5QQIXusOg0VTcSydMDz5+t86Xi04T9zLtLkF1ImT94zyj/+5Bh3HTrIv/U+vjat64Hs1wc+16yf5d+uvBstBUJpfm7s2b5GYNLs8J7UDPUwScFwmDQHS2DX2kEDEp+P2sfJy55BM1OEIwdRuZ2o1ATazm154y6YISBpeZpEQpJPbFzM90aJDUBMzM0m9DAaFzEXXsKoncX1TfakxrFHsrihQJsBNwwsv47VIeerCcd1h5xfxZJr4inYk1TMNGCp7THdOYdRfb2nIqLXb+dKV80ZZwSLgKz0cZVgxi/wrtRi3+fqKItdVnOokA5ESdCVZpfnymd4/uQcL5+aY6XlIQS8c2+kyf/ovWO8+0Ae04ji8LVQ8/c6r65JR4epA7jo5/GQ7LXaXHQzXPTzfQ1AQobcn1geTp7a8/BrjsQLXIpGl6oqsJy7l+RYAZUeByt70zx1hcG9WQcxbuJmMrd/M7hSqfRrwPuJfpRngZ8G/g7wM0AAvAz8fLlc3r6VxsRsJ1pFjdeWT2AuHQXloa0MKruDhJLYveKpYbx5iIaiLLhXhqLcR/82DQUroNYJqbfa0K4w2flbLLMFhr1hK2WJzxwFdC/KIBksaywaDrZQtJSNLdS6g9G11hyda/HXry7z569WeOlCFa0hm8nwsfsm+fT9Izx5zygTufUTFSkRsMdqsctqbap4rBXaHHeSCDW4eKyvPHU1pBM4rBldM01iZDeXWw8yY6YwTBtrZxOV2uAGb4CkDGkqA7erEVZI6nYeCl8qld4HPF4ul9/X+/pPgM8C/wS4v1wu10ql0p8BPw78wXY/T0zMzUQ4VYzKKaz5F6LKXMNEpcZAXvmvtZWxiBrJVCIg2po3PgEIt4FszDC6dIHHnSIVXWA02SGTSKPN/jdqqTRFmthIPBQtdWMh1/VsNBi944V89WSFvz66zBePLa/F8h/YW+T7n3yMd9+7h4mpnXxP7iL77P6tnRMyZIfZYD7IRFXBQxRPjRoOP1Ao09RpcqKz1t1zI66RZwYJugEkaV6J4ZspwtG7CXO7UKlxsDIIX/JA1cTTAlu42Eb/U9kqDS+S5RascKjkvG1I3lWo4U+aBKMjWMb2JQFuxQmgAmRKpVIS8IEckAGeKpfLtd5r/gT4BLEBiLkdCByM2lms+ReQrUtERVrFaypzr2crYxHXPQGsNlprzGBWTiHc6L9QW4/xXf+eKAbuaN6ZqTAyoOfOpNmgTZoWUd+ZSbP/xrzK6mD0mYrDfz62zF8fXearJys4viKbMPjee0f5pe+f4GP3jWFkRvj92oOEQlAbsniqEdp8o70fJeCUO7Hu6MXrkWi6oY1lKrqBjRyQNU/hIP0ODV8htU/a8gjzB1G5XYTpiXVDOgJFxV/9TCRiwKkMos3/qcX02uc4TIFe0lBkDY1rCnTCjNqAbBPbbgDK5fJrPQ9/FnCArwGjwKWrXjYP7Lz+2mIxjTnAi+nHxET/RNvbnTt5/Td97UpBYw4uvwyXXwUVQjIP03f1nVS1VUJPcDiQvcHokDF9cs2zsHQSulVAgJWEbDTBq9UdI2sF5AyXZpigLTLYVn9ZY9ESPGAuEUgDU4UULYHdZ7MJlebZs3X+8tUl/vKVxbXq27smUvzMB3fzqYcm+ODhURLWFU19LRQ8lruMEAKtNRlbYA+YcdjWGQLDZNR0qARJ2jLD+IC6BlOa3JVukBAK15aYloltXHWNCiHoQhjlVWzD5u4dBWrpA4yMjJLNZfq+P0SfyURb0g4kGVORyabI2f0NTaUlsWyLHWnF5Y4ksNPksv0dgRyQDVdw9mZI7p/elAHY7O/9rQgBvQf4NHCAKFv0x+vcNzrnXke1OjgzvxETEzmWlgZX971duZPXfzPXLtxGL8TzPMKpgWGjUqNgmlH2KujvZW+VIATV8ui25rGaM5icwRcBGEm0kb/yP6ZX9GQph4tOFi3zCKWwcs7Agihbd1lRSbQyEITYunvDNfVuwJdPrKyFdpZbPoYUvO9ggX/+Q3fziQfHKU1drcvX17yHoVxS2o08YMAIXDw1YDMPHS47aWZFBkNrzOTgtRjKxQgDtCkxwgDD7+K77V6lrQBpRuGc3F5UZgLHKHCqFeVl5uqaw8oZGJqbb8PfzIz0mudJ9tstjAF2w/TA99Kcd0GKENPr0OyvUAVAui6669CsdRj2N/nq3/thDcGtCAE9AXy1XC43AUql0heBfwQ8fdVrdhOdEGJi3nx61bnm/AsYtbOs9uHRG/ThGYahB6N7LYzGDLmVkxzudqiqNEVLYVvZvpp7A81DyXmUtJDKxxiicEAADyfmMQ1NEIq1iMephTZ/fXSZLxxd5luv1wiUZjRj8bH7xvjEA+N88J5JkqnUUM3NttIO2RKKR1Nz13w9iIQIOGLMEIRg4pMIFSq7gzC/D5WevKHwyvEkFUfga4ElwEkPHoZT900KVshUUrHgSOq+yS76J6hXC/Q2kwNAa1DD1SW8UW6FATgJfLJUKhnlcjkE3gP8JvDzpVJpDKgCnwN+4xY8S0zMhojOUqTiWXgJEbhoK4XK7oA3OJR74OhFv4PRmMWolJHdqCOlK9OcE/tRBtQUlPQyCbHx5mkIxYw/sqaDN4bYNIuGQ4hJ1wuZv3Ce/3vmOb5x/PJay4V7d2b4nz6yl088MMF7ejLNteZm/oDmZlex2XbIKRFZXsb8AAAgAElEQVSQM/y1BmrrqoA0veZpq8legZWeJDt1iLYxipMa7fu5tXzFVxbTV4bh5GoUBmzOE4mAhAErXhSam0gMt0nnbfr3ZVIBwmsjgvZaHERlp1HpiaHe/41wK3IA/7WnBPp2qVTygTPAvyHy+L9IdJB+Gvj8dj9LTMwNBA5G9QzW5eeQ7fmoR0t6DJ3eeDcY2pvvcWX0IqBFNHpRdzGasxgrZWRnIXqhYa/13emECVxfYstwrZ1wv0001JLdVhUtbYTyBrYqrnV8/ubV8zz90lFeOjmD43rYpuRDpSI//+E9fPz+cfaP36hx7GqTSpDA1QYJEdK1Bjd32yzrqoDWpJldVndJlRhBjR2JNsvUBBgmiWwS1eqvAILIm8+YIaO2puKJobz5iRR8dk+TJddkIhFcKbTbLIGL8JqRAdOgpYUq7CEsHEBld0QqMnN7Wj9czy2pAyiXy7+4zj//Xu9PTMwtR7bnMRaPYS29DGGAThQ2bLV8NVsZpL42elEpTK/JvZVvk3RP9x7EWlenvzrgRAmQGkqJlb73CBG86uxAS4lQio/nbhxWMlNx+ItXlviLV5b4xqkqgdKkM1kO3vcgBw8f4Z++q0Yp23/zbCmLv2kdWmvudihRGTiucbOsqYC05pTK8dHUCfLSAzNNOFYizO5CZSbf0CZZsALagUHDj04ABWs4b34iBROpTYRntEL4naijqlaARts5wrEjUauI1AR6wGllO4krgWPuHNa8/WeR7YVoWHp6/BrN/iCcUKK1IG8rGp4cPEhdhbjNKmPNOfLePC1l4oQ1dGr94qy1yxCMGS0cTJIEqAFlpm1lMW22yFqKli9pq2iQyLG5Fv+1t+m/dDFKEB6eSvM/fu9e7rvnbk4XHydvBjSVhWeWiYR6G1MNkxTNbtSqechxjUOjNSJ0qLmCtu+TkSFNe5KlqSnssfzAatuGF6luTI+BsfasJXlystPLAWiy1nCa/oGnPxUivBbCb7H6sCozjT9+Pyq3C52eQNvbN+Frs8QGIOZtz1a9/fWIevRoGp5EiA2qenvzcY3qaYzqaQq+Ra3zHlbkDgw0KfsSiP56eF9LXnZ2rnna9w2YVpWRPvNBljDQLJ4/w6WZ5/n60VkurDgIAe85UOBXP3OITz00wZHpSLpy1ivwjaURZpTE0IrMEBr9abON3RvXaA85rnFDNKC8XlgnkjWp9BQqf4Tji/cRmgkMAR/M1wa2w1/V21u2NdRAnKShGE1qtGbjz/E61j394UXhnMAhauBmRuGckfeiMjsiB8PYnl7+N4PYAMS8PdmEt7+ZmH7CgKzhc65tcyBzVfhHg3DryPo5rJWTkeYcgbYymDLN3WGNikozKjtDqVo6ykIS4oYmlgz79txx/JCvH73Esef/A8dPnqHb7WKbkifvGeUXv+8An3xwnOnCjVO7DDQPphYItMQUaijl0ITZ5UcKx7no59lrNYYa13gNKow2fB3lDbSdI5h4AJXd1dssLYK2wT5XEKUH1VCjKjc7EGcr1dlOKNGBy4hu0vDAVQ7JlE04cjCK32cm0cnRtZbetwOxAYh5WyHai1D5FunT3x3K299sTH+uDb99blULnuZn9y2y1z+DuXJyrSo36qdfWLum5Vt8q31gzZt/KLk0MG5eVzZfat+FJtLofyh7/prvN52Avzm2wp+9vMgXji7TckOsRJI9pfvZe/g+fv09NR7I9ffODaGY9QprzzWMcshVBpUwQ1qGVMIME0Z3QCO1KKwTDZgRIK0o9p3fQ5ieBvvG9hOSkAudK8Pq5RDD6rcyEGdgdbbWvfh91CIirUDqKVZyRxDZKdi1k26muC2FgLeK2ADE3P6oAKN6FuvyM8jmHOQyUf+WIWL7m43pz3UtQqU4YK5wvuqwUH6Wg8mLYCSumZx1NdUwSVq4ZE2fVmANFTefD7KMSJeC5VL3E8wHWXa1LvFXry7zZy8v8uUTFdxAMZmz+ey7p3nkvkPMTn6AsRTUfAOsMtDfAIRacshewZIKf8gh511t4qoB6qTwOrVOerKncJlGJwdvmFeG1WtagRjqBLCVgTg3oFUkx/SavWcXqPQEwc73EOZ2o9KT7JGptclutvnmJG5vJrEBiLltEW4DY/kE1uVnEX4HbedQuV2QS8EQUkAYMqYPUVy/vcC+6gxWbT8XAFPAnlQQbfx9yEif2aBAGG4m1t6iphLMr3gsnXqaXz73FV48vUioNHtHk/zMB3fxg49M8tjBEQwpev3w01zyozqA9bp0Xk9a+jQ3OeR8XXXS2nzb3vVmKlLr5Peg0pObjoFfGVYvNh5Wvw55G3JZNVSlLbB+wja7C3/qEVRuV6TDv05plIBrR3re5sQGIOb2Qmtkcw5z4QXMlZOAQKXGIindFkgYsC/tr1VqXh/+EW4DWTu7Ftffh+C/Ha1x2h/jkF1ltz04CWqguS+1SCc0SRvBwFj7TMXh888d59QL3+TizBxaw4HJLL/w0X384COTPLI3d8NIxKz0+VjuNEraSOWRHWIzt4Ti3uQ8TZ0gJ9yhchMKwR6rRgIXLwjQXhMh3ajqtnAAlZ264SS02bqJLVXPDoMKeht+hyhpYxDm9xIWH+vVEry1E7bbQWwAYm4PAgejehpr7mlkdxltJm9ale6FTpQDqPmSw4ZPQnsYzYsYy68hu9EwFW1mIFHAVQYtL82k2aWlkriqNbASNkRwvDtJKCSGp/hU9vUbXjNTcfj8iwt8/sVFvnu2DsCO6UmefPIJHry3xD88fLlvwjUlAkYNF8P0CQM1VA99X0tOONNrOYBHkn2GwWiF8LukVYtkYKKsNOboHoyJ+3GyG4fbtlI3AUNUzw6DCiKFjteJDJIwCQr7UMVDVzb8TUiA347c2auPeUvjBgq3uUy2eoLs8gvR8PTkCCq/56bdY61KF43oVgiqRyk0TwGqF9cfucab7WoTR0sSMhqhOKhCF3oafaNB0lA4YaTRB7i4uum/sMgz56JN/6E9WX75Bw7ykYf30Mjd1au4DQZ656vVsxXyTJqNoXru9B3Yfn3lrRCo7E5k4S72p3bgyBxJUzGoUeWm6ybeCCqAzgqy2UvGS4uwsB9VPIjKrG74t49C51YQG4CYtx5a41cvcqH8IrIxx5IhOTQ2RiJz839dfafJSxdBdVYwtM99+Vl0MrvhyUKimfGuxMCP2P0rdKGn0Q/zhErSrS7zRy8f5++/coFnz0X99x/ak+VXfvAgn3lkirunIlVMNH82E91HMbC//Wr1rDAlOhgdqof+DdO9ZAfhd3sdNIkqbyfu6yVAJ9a85QSQGKJoCjaRY9kKqx6+H6mEtLRh7z2444+jMtPo1NibVmF7uxAbgJi3DqHfC/N8B69eQfgjZEdGafgmDsFQm85Q1aBhgNGcwVg+QdjwmHYPMJJUVHWGtjHKuNh4MIpCMGa213rhDKrQBViqdbj87F/x6vEyl2ejprcP78nxKz94kB96xxSHJm+UQm72PtUwSUubFFDUtUk1TA40AHnD4yPpMjUPirJDPvRQ2em1njRRi4qBy+vLVvT2G6LCXkinDeJqD/8QYXYHOjVGdrJAeIe2Qd8KsQGIefPx2pjLx7DmnkYEXXRyhMTIDmhaNHwxtOfYtxpUg3BWMCuvY1RORYVI0mIkMYIdJGgRebWD1DO+lrzc3XGlQjextO7rlpoen39xkT9+fp5vna6hNeSm9nLoQ5/hX77P45N7+tcBDHufVQyhOOlMoL1IBfRk5tz6L9T0dPlR5WrBSJCdOkCY34uTngTD6nufrbDZaWhrXKPSAYRBUNiP2nN3HNK5ScQGIOZNQ3SWsBZewlx8BbSO1DzpcSAKM/RT56zHutWgsoPRuIC5dLxXqBVV565uHHnWn3G7ER1lkZcOplQESl4TN693A/78pUX+6PkFnjpZIVSaI9MZfuKj72TxwCfYNTlKIzSxiq8A5wfep2h2yEiftrL6VgJDpOm/J7FEwQ6pe8a1mv5eAhcdJYZVskg48QAqtwvHKuIo44175zeDVR2+38QNoass7JFdmLseR+V2xEnbbSD+acbcWrRCNi5izT2DUT8H0oq04td5cuuqcwZsUGvVoG2B4dUYX3ieZGs1oZvcsFBrdcbtMBhC8bo3tuaZf8Av8yevLvCHz83zxePLeIFm/3iK//mj+/ixd01x/64sLzhT/OL8XbzuSgSKUWNwZWta+lSDNMtiOI1+0XDIyIAQSUYGFEUT4TaIXH6Jyu4mHDlAmJ0GKwo5bVWhc9NYq7StR0NQAJXdTWviHZzyJwgSI0hpcmg8+7bS3r+ViA1AzK0h9DGqr2PNfAvprKCtTFS0tUFVqBNK3FCQMDRuKIZSj+Rll48YZdzli2T9RfLSjzovDkgErla0DjOxKtSS3XKJ106f58VXTvLvXjtFxwvZUbD52Q/u5scenebR/flrdPoJobgvsUBL22SFR2IIvb0lFA+nLq/lAAapgPLS44nkSVaCJGNWnYLUhKP3EOb3XpPAvZpbqtBZxe8ivUak2NGgMpP4Ox9HFfaiMlNgJGh1fYJql3zSpOEEOH4YG4BtIjYAMdtL4GAun8Ca/TbCbw8t4xQoZrtmNEtWwOHcBh66BtlZxFh5DaN2jiQaK5XFM1NoBk/sWJtwRf8JV1prvnu2zm8+fYY/feELON0uyVSKH3x0Dz/17lHef3cRQ65vzFwtOe5OoYlOAO4QLRckmpUgs6Y2WlcFpHUk01Q+rjaYE4cwpw5wwSxijyVJDPjfva0KnVVCD+E2et0yQSdH8KfegSrsI8xcOY1c81yWgRTQcAKkYFND0WM2R2wAYrYHr4259Ar2pWcg8KIpW6ni0JdrJFOJIDohaI3mun7tgYdRP4e5dAzhNQBxxds3DBgweHyVrjZRQMFwqYeJG3T9pxba/Odn5/mDZ+Y5t9wlaRncf88hHnvHEUoH9/PRwgz77I1VQwCVMM0IHWxL4/mCSnjjpnc9CsEeu0ai13NnTQWkw6vi+SKqwB05RC2xm5aTp5i1cVoejhqsmrqpCp21B79KqQNoM0lYvJtwNErc6kR+4FskTMmhiexaz53Y+98+YgMQc1MRTg1z4WWs+eeixG56HPqMV9zwfVAsuFdOAPfhXVHyrJQxqq9HSp4+sf1hSIkACdTDxNr82aWmxx8/v8AfPHOZ5843kAK+58go/9unDvC++/fx5847CIWgPWT/HFt4zDKC8iUShS0G5xtSIiApFEoLktol7VcQQRC1LyjsW2uuttq6QHgwWzVZCA18z9z4xHQdW1borKI1wm9fk28I8/sJ9xwmzO7a8rSrhCnjjf8WEBuAmJuC6CxjXX4Oc+nVKOm4Ttx5Mz1hNJKkCKgFBiNGgKhfxK6+hHQqXOPtX0cjtGnrDBnVHiqxm5AhJXuZFVfw1aOX+KXnLvGl4yuESvPQniz/4ofv5rOPTrNzJOqnXwslj4pZtBAIrYfqn+Npmz1GjYShcEOJpwcYRA1J3WWnmmE+zDOd8DDHDuPl9/V+rjf+8DSS3amA0Zyk0gxuPDFtwGb79AAQuEi33ovja1R2Cn/yIVR+b6/5282XksZsD7EBiHlDyNYlzLlnMCtlMCxUZnrdDcoN4Vjdwu0lGu8v9FecVFzFn15I4Houab/Jg6PPM5Hs9vX2o+rZg71qWDWwGlYpzbdO1/it78zzFy8t0HYDdhcT/IOP7OUn3r2D+3bdOLovJYIobh4mKBjOUD13ps0WjrboBlFv/2lznXaV1+nz68YYf228j2ZygnQqyafGB0+4kkJT9wTyjUy42nDMYRPh98I6VpZg4kHC4l0bxvFjbg9iAxCzebRGNmexZ7+JrF+MGrPldvY96tc9ycW2RdpULDgWe1Ihk6kNxim25zl3ps5K4z4yhsuiylHWBzhgblDc1KMaJlECdlttZsPUhtWw55e7/P4zl/ndpy9zbrlLKmHx7gcP84FHSvz3DziMWBuHdVxtMOOP4GiThkpyf2J5YC+ggvT4RPY0njawRUhBemtrjTb96GuVGCGcfAiV383ZzihHL+bIacX5uuSREXdgc7Sogz0DmkZcoa8KyG9HXr7WawVY4VgJld01VE//mNuD2ADEbArZmMGe+QZ+bYaGkSeR3kXCHGIzENANNJ1QIrS+0YsPfYz6eczFVxBeA9u9G18YNHQGBZhysKddNJxIcdMdJ0n3mqrejhfyX15c5HeevsTXylWEgA+VRvm5j99H7u53M5UOqQVJ6nqGETY2ANUwST2MXHEXe6iWC0XDYcx06CqTlAwY1RWEG/WgV+mJKEma2wVXDQvXDngKmp7E06AH/IjXNnNLU3WHk80mDUXd15xtWYyZLilrCel0o8ZvqTG8nY+jCvt78sw4rPN2JDYAMUMhGzORx1+7gGNmKXMAHQhEa7gCIqEVi66JqwQJqRG6V9XqNjErpzCXj0fKFiOFTowwoTVSg6NNkvhMGsPNntVKoqWO/taa75yu8TtPX+JPXlig6YQcGE/xf3z/XXzuvTvYN5ZiKUjx+7UiK+5wBVddbfJU+wCKKKH7wczFgc+UwGcPCzSwyGsXK13EH3snYXYnWOtLVQtmiBDQCAQpU1Mw+3v/q7LZoZPAWtPsOLw4D54KOW9KDk8dZHTX4V4foNzAdcXc/sQGIKYvsrEa6jkfFW8V9tD1JNrbXAGRowyKVohlgB+C26pgz7+IbM4AUVz56txBS9nst2ukzZBOYNBSg5VE1TCJIRWZziX+8run+acvHuX8UotMwuBH3jnJTz62k/cfGrmmSMsSivsS8zR0gvwQQ1EqYZJRo03e8GmEFpUwuf4Lr2q/4KgkRmaEqfxOOskJGgVJwe5/H4XB4YwHUoIaPBh9qCRw6CPcehR2QrAY7CUs7GbfxAQzXZO5iUkKo4NlmjFvH2IDELMusjmHNfMNjNWNP7d7Le67lQIiSciZlknotrC6KyRzX0Fa3V7HyRvjG6OGQ02lqHiRpz06qElbqPjqKxf41994mddPn0VreO+hMf7xx/fyQ++YJJtc/1fd15Lj7pWhKA+n+gxF6T1XJcywHK7zXNf03BGo3C7C4iE8ew/nK/lI0urC4SGGnEtCLnSHH4weqXg0SkPC6H0mqxJNrxHVUhiJKNw0ViLM7CDvWYiXZ5npRnZmMruBMYt52xIbgJhriDb+b/Y2/vQ1G/8qCQOmEz5LrslEIhgsHwy6sDLH/qbGQ2CbEJhFtL3xhSkR8Ig9S500BTobqm1OL3b47W/P8btPX2ah4TFeyPDD3/soH3vHAT69t82I0b/r5lrTNcOnHQ5uupYSAR/OnEMjEGhS+FHR03WbfpjdBWZ0atGepGgG+FpgiXWK2tZBYVDKeWQsTdsfPBh9tajLtDWhv0Cy3YvlZ6Z6lbc9ieZVifpxG3704d0sthwms0nGs3fWOMSY2ADE9JDNS72N/xzaSvXt09Pw4NsraZSGUy372rbLVyHcJubyCYzKawgvz8vexwmFgaEVH8tf6Ps8XW3ykrd7Ldb+A/rM2vdcX/HnLy/yW9+a42vlKoYUfOKBcX7ksQNc2vkk0jKphApfvzpw3WtN18Lhm66NGQ4q9JA6ZFQtogrTvU1/J5iJG67xQsXRRmLNm7+3MLg+oWCFZHqD0TODBqP7HaRTJ4UiIzPUxw7ijkaFWNiZvvcZz9rxxn8HM5QBKJVKnwV+FdgFrLptAtDlcjn+7bmNEd0VrJlvYq28hrLSfTf+Veq+QduHjBl5p3XfuCJR1CC7yxhLRzHq51kt2mqpcabN5g1jETeiEiaZNFuMGi6VMEElTHJyvs1/+NYcv/f0ZVbaPvvGkvyfnz7I33l8JztHElzw8nyt7TBiK2qeHOjNQ5QDeDQ1RGGXBhF2KQQ1PmrXWUneRX58J/bIj+Cts+lfjaMMRqyQrAmtIPq6nzcP0TCb94111k5Z1xhYrRBuM+qTr6P2zt6ux1Ajd5HZfwhvZXCIKSYGhj8B/EvgHwIvMeg3N+a2QHhNzLlnsBaeB2lHMsQhS/YlIeXmlfj0hyY7kX6/dQlz4WVkZwGQ18T3M9JnPsgThhJDKzIDPO1ps42rLM57gtkTL/MLx77EC2eWMaXg0w9P8FPv38WTR0aRVzVgS0ufapim6kkI1VBtGlIiIGcEa83grgk1rRVnRWEklZ4g3FHCzu9mhzm40dwqSRlS8w1WvOjnlRxiXq8bwrwbFWnNuxZ5o0syqCLCaE1hYS/B+AdRud2RLn+VeEBKzCYY1gDUyuXyn27lBqVS6ZPA/3LVP00DXweeA34GCICXgZ8vl8vb3Is2hsDBXHgRe/Y7gEZlduBqA8cfvh2AwuCujIdtgBdoaMyRmHk6SjYK64ZB6gAGmgeT8/gYWIQYA8qVaisrzDz1u3z7xZM43S4HJtL86mcO8ZOP7WAqv77HbQnFvcl5HJEmqTtDtWlYbQWx1g5ahFEHyyA6OejECMHUI4T5Pdfo9DeDbUjeWXTXqrRsY3AOwAklOugyohs0PANXKKzpewhHD/dCTXHCNuaNM6wB+DelUumngd8rl8v95RjXUS6X/wr4q9WvS6XSU8DvAf8JuL9cLtdKpdKfAT8O/MFm3jtmE6gAc+k41sWvIUJnrWfLVoaCJGVIywdVr2J1LpPPfBdhq3U3/lUMoZj1R9bUNsY6m3OoNF88tsxvfG2Wvz2xgpCSydI7ue+RD/Abj87xUKr/AHZfS04402BICPM8kuyv6FklIUMSoXNluLiVxZ9+J6qw7w01mlslaSiyll77GW+omtIqGoHoNUmHAsE0y8V3InI70Hv24llxyi7m5tL3N6pUKvlcqTCXwP9TKpVWz6+bzgGUSqUfB8rAQeCpcrlc633rT4BPEBuAm4/WGNXT2Be+gnCqqPQE2hxb+7YTSlq+6LVdZrCmP/BIVs/wYKNCM7DJJTRmIoceoLYJtaRotKmrJAXDuWZk4UrL47e/fYn/9xuzXFhx2FlI8KMfeZTaPT/MoTHJrJfjrN8daAA6yiItXAxpEKpwcA6gt+GCBiMR9bcZ2Y9Ojr3hTf9qEkaf8ZYqRLi1SD4qBCq3G3/3+1D5vew1C3FL5JhtZZBLcehm3ahUKgngfwU+DXwOuHTVt+eBnTfrXjERsjmHfeEryOYsOjm67iAWL1S8UL2iUDmU3UChErgYK69hLb5KM7A57j9OKEwMT/Nwuv/GDLAUJvmb1qG1oSgfzp5j+cIs/+5rM/zhcwu4geKJw0X+xQ/dzfc/PMGZYJx/spjjkicxUdyTGHyPEMELzk60lAil+N7cOr2DemMI0UHUurh4iLB4KGp3sE39bW4Yb0mHlF+F0AdpEBTvJhy/hzC3+5rGagmIN/6YbaWvASiXyxcASqXSH5TL5Z+4/vulUukZ4D1D3uujwJlyuXyhVCpd/711e1gVi2lMc+tJrYmJO7Scvb0Cr/wRY0uvRXHrnYc3fGkFyZ68pJiIesgYqTS57FUnAL8LC8fg8ivRkJVUFj8YJelCKDSGDgmMJLbVX9q40C6SN1xGRYOjr57g7/2nL/P6xUUyCYOfev8u/v737OH+3Vc+rwep81PBS3yns5fH0/9/e/cdJ9lVHnj/d1Plqs5hpienO1mjhAJKCAUkosAymQUvAhbDYhvb613v+xp7X68x5gV27bUJxqwFxiwGSUQhJFBCGmUNYqTRlSZpQk/3dKqurnTj2T9udU+H6jSa7p6pOt/PZ6SufO5M1zn3nvOc5znCztQwpwLQqnO9GG16CUVVEIHAVWNEjErmTa8Mbjns5JuWQ/tWaFiJoRmUfXB9hZgmiC3AGqrvKGhFj6ibxfYUdEWQ3PAaaDMhs2Jsv8CZUre/9xX1fPzzPfbZpoDeTHjG/gbTNL866eFG5neF8HbgrsrPR4Ebxz22Ajg2+QVDQ6cfztbWlqavb+S0X39O8m307ieJHH+EZDrFiNYKgQr56ZdtdAeEl6DfDQuv6E6RkTzgltD7X0Dv3wvCRxhp0DXwYdhReCC/cixG/5rEQRxl5siWyMhRXrj/IMf3PIxbyrO6Pc0X3rmJ9126nIZ4+GvouKfe40W7mX8aPJ8AlRfLLazSc2yODs74Gbbns6fchlA0FOHz246N64evEdEGvI6d+A2rT51ll3xs31+4wuhuAbWcpeQqvJztwk5vRk210Wqux41Hwni6IRuYefpsPury936cej7+8cc+14Fgtimgx4Ek8Dbg+KTHDhOGh87Va4EvVn6+F/gr0zRbgCHCKaF/mMd7SeONzvMfugfFLYTTGanUjB3/qEwErm0vjs1PZ5Qixonn0fqfD9MHTMrRA2GMfpuep1m3GfSi0+fDAZ49kuN//uII332yF1/Axs0mb3rtFv54l02TPv1Vwz67BVtotBol+t04++yWWQeAfBBhrTFEm16gz4lQ8HW8zp34jesqKYynvuZ0is9PazT1QnkYFAhizTirrqEYW01bIUpU17C9AHEmFxgk6VWYbQroJPAd0zRftCxrz6v8rJWEc/1YltVjmuafAD8jDAPdDdzxKt+/LimlASKHf4E2tB8Rbwk3cs1TJgIZchh9e9EG9gHVO/5RnXoBJzA47kbRRECnXpjweBAIfrq3n/953xEefGmIVFTj/VetQz3vFlLNLSAEBfEETUw/AHToI/T5CU76KRQCOvQZzuoq8fqrxVFSyjqKejOJRJIOswkvNXNnO+fi89N+tqjUwB0Jq2MlO3DXXoffsDYshwhEvYConQ/z9OiqLHIunTXmGld2p2ma1QK3BZAl7MA/Y1lW/3RvYFlWw6Tb3yIMB5VOh1fGOPEkxvFHEVokXOA9nUVMr4zetxe9by8gwjTAs2wIa9bKXJM6xFEnw8pIbiwhWtHx+ebuE/ztL4/wcm+RlU1RPvuOjfzOFV0cUTq5azhJSh8h7xkM+TFWGFUqY1WkVY+LI8coKhESwiFdrR5A4Ie7YQmLqXQs2867aeNo0MBKI0fXLJ0XC6UAACAASURBVJ0/jCs+X1mGmlMpxdGduE4+PNNPr8BdcQV+w2pEtGHK02WRc+lsNZ+dwL8N/BPhVNBy4APAD4GDlce+Drx1AdoojVdtukc9jfhw3w2jenr3hHP8kRQoczszHfRjPJBfi6+oHHBaWOsc4O5H9/PVh44zWHC5cHWGb/777dxyQTuGFnZ2ScflmNcw553AhhJwImggQGWY+KlNXeOjeFQdv3UbXtMGRKyZnAv7TiYwIgr7RhIsi89cRhGmKT5fjQjCM3077PT9zGq8Va8jaFgV/t3NQhY5l85Gc+05PghcaVnW2LfDNM1/A+6zLOtK4KemaVoL0D5pnPHTPUGiBRGrPt1j+2HkieczdUEz8NGG9mP0PAW+gzCS8x5AerwkivBx+w6z+9FH+Nbzz+IHAW85r41PXbeay9c3TMi5D+FO4AvjxwkUFVUEs+4EdoXKtuhJUppL3jdwfYFiZwGFILUMr2VrWIZyXNtHcxQ1R6HgMjFH0TRG8+iPrgFMuAIYnd6xRypn+itxVl6D37Bm1iRrknQumOs3v50w6mf81soksBrANM1VhBvFpIUwj+me0Z29cU+jVDJORbUIgTp8mEj3E+AVEHoSonPPZzNKCMHeA8e58ydPkz38PKoR4ZbLNvAXN7SyoX364uAJ1aUYxMZ2As+Wp6dTL5BWXXzfJS1sluk53I6L8BvXTZuSYTRHkVLUEL4S5iiaxWgefSHCheCY6lemd8I1hyC9AmfllQQNa2SVLKnmzHUA+CpgmaZ5P2HUTga4CvjnyuPPAP/lzDdPcvsPIPbfixbkCNKzT/eM1oZtiAiKRYWypxIvHsXofhylPAR6AhFtnPCaPi9Oj5ekUy/QplffOSuE4O69A3zu7kPsPjhMLJlm17VvYsMFl/C7y19mQ6K76utGGUrApshJBoIELeoseXp8h3Z/mFvjeQ5Ft9HV0U665S34s6xxjObQb0npDOS9WXPoQyWPfsrBLpeI+1mipYAgVZnTb1xbtdO3vUDO50s1YU4DgGVZf2Wa5g+BK4EmIAd8zrKsJytP2TzTArB0GrwyweGHOXrgBfxoAxhNbBIuMycePlWta9hR0OwhMn0PEykdBz2GiE4NhQxr4u4cOzN/b+NzEwYBPxDc9exJ/vpnh/j10TyrmmP8wTsuYvfq21CNGD0ERJR9sx5OPjB4uLh27HN2xvsmFmuphFAifNAT5Dsu5YRmEtViDCiClmD2+PzRHPr+XHLoQ5hHvzREXIFoshOv/QZKjWurLuSOsr2A/X35sTWDDW0pOQhI56z5TP4OEaaDHv0aGqZpXm5Z1qOy8z+z1NxRovt/xHChhJfsIhOBnDO3GPWoBqYxgNa7F31oP1FVqdrxj+rxkvR7UXRN4PkKPV6SNr2E6wf86+M9/M09h3mpt8jGjgRf+8BW3n1JJ0/aK+gfLBDVcti+hiNm/zUa8mPEVYe05jDiR05FAfkuihdO1QTpFXit2whSyyi4GvaITlSZe3z+6J4GL5JAd6ZZAPZs1NIgiCDMo7/6WvzmDRNTKs+g7PoEAjIxnVzZo+z6cgCQzllzLQjzeeCThHH847+FAli3AO2qT76NcexRjOO7EbEmog0dKCMKOWeWLJJjr3fQTz5HrO83GLqOE00iZpk2sYXK7tLKsRw9N8X38uXHjvKFn7/CK4Nldq5I8e3bdvC289vRKrn3m7UyIyLKsDe3er0Q1gM47mbwvTAKKOVnUexh0CK4HefjN22YMLd/uvH5mQikU0G4m3ns78VFLQ+C7yEiSZyuy/CbNyESbfMOnY0ZGqoCubKHqiBj+qVz2lyvAN4NrLEs68RCNqaeqSPdRPb/CNXOhpu5VI0oYZ3Xsj9Lrn4h0LIHMbofA9+hrDdSMOJonh3mt5/BoJ9guTFCJsjyxONP8/Ynfk52pMSl6xr40rs3c9P2likRPXHF44LoUYZI0kRh2nq942kI1usnyQYRGtUCSrwZZ/musWOdckhj0Tnhwvac4vPHC3yU8hCKZ4Nm4LXtxGvdSpBaNufCN9XImH6plsx1ADgmO/8F4jsYx3djHHsEEWuYspM3qjHj1Ida7Ec/vhu1eBJhJLGNZiynFU2o+F6AGeknOkMFqmWij5d/dTfPP/YgTrnIZWY7f37zFq7a1DSl4x9VEjrP2KO5gJp5izg44yEqnk2uXOah8lp8LYaqR7m2c5Bl00+1T43OmUt6BiFQ7Bx4J1FLPl6Lid+2HT+9ErSZS1DOh4zpl2rFXAeAr5um+U3CfP3D4x+wLOvRM96qOqEWeojs/zFqcWBKTPus3BJG79NoAy+BaozN85d8nUEvSkAE1XMoGTrRKpEwZdfnqw8d53M/O0TfiMt5m9fw+zdt5N1VN3xPNOjHSKtlVFUhCET1XEDjNmyJSIrjTZfR7GXoSAp6S9BnR2CGVBAz5tCv8nehlofCef3MSthyJcWgDeZRtlGS6tFce5z/XPn/FZPul2sApyPw0E88QeTIQ4hIiiAzj/w9IkAbsDBOPBnu4I1mJkxp5AMjzLuvKiiBYEN0cEK0jesH3P7oCf77Tw9ybMjmKrOFT7z+Wtav6UQVkPMPkNFmm28P2Oe0ja0bTJiaET6KUwACglQXXttOglQna/IK0SGFAVshqsLa5MyfMSWHvjYpCijwUEsD4LuIaAPOqqvDef1YE+m2NNRpRkhJmo+5hoGuXeiG1Aul2Ed0/49RCz3hfPQsZ/22z9gaQLx4AqP7UZRyNkzWVmVaY8iPkdbKtEUd+uxT0TZBIPjuU738xY8OcKCvxCVrG/jHf7eNdevW8GhxOSm1TNaLMeTHZh0A8kGMTjVHTBOUfYV8EDtVR1dR8Vs247VsQcROzfGsTcNHNwzywnCMrQ1l1s6yp+pUpTJAVKKAVA/FzoU5eDQdr20HXuv2Vz2vL0n1as5zDqZp3kyY0z9hWdZ7TNO8AfiVZVmnn7S/zmj9+4ju/xFCj1WtzjXZWL1et4TR/zzb7D0ouj5jyGKTVmbEj5Erx1ECQaNa4od7TvLnPzrI3uN5dnSluOPj53HzjlYURaHPc+n1UnT76Tnt0AVo1ooMBUlEoKLg0+L3ogDuskvwm9aDPnW3Qs6BA4UEhhb+f3Vy5jw9EyqVBR6blCOoUQ8/swZvzfX4jWtAm21XhCRJM5lrGOh/Bn4LuB34j5W7LwbeX/kjzSTwMI7+CuP4owTJdtCnz58/XtlTKPYfQR+0cBEUki0YM+TQB0ipLtemDlIihvXSAW79xm6efSXLhvYE3/rwdt5xQQeqempx11ACuoxBur0My43czDt0K6L4XBQ5RKBoKGoUbfnFlLuaZzwLH3Y1yj40RwIGHXXWPD1lX6GdIZoMh0GRItd5Jak1m2fcpCVJ0vzM9QrgNmCbZVkl0zQ/VrnvvwMvLEyzaohTILr/x2jDB6YNeaxGsYfhwFM807caX9uApihs5LlZX6cieOpglu/+/DFe2H+MrqYYX3n/Ft536TJ0bWoH3eMl+X5u+1h1rx2xgYk7dMerFFFP+TCkteNFMmh6hFjD4KxF1GOqT7+t0VvW0JTwdtXjdvIo5WGafB09s53B9EqUWBPJ1W2I6GlkPZUkaVpz/Ua5lT9wqnavLGs0C7XQS9T6PopXJMismtuLhEDr34dx4gnKfjNpQ8HQSriBSjEwgOq5egBeGSjxh997nh8+e4LmdJxPvO0S/viaJjpi08fpH3EzKIqgSS2RCyIccTNTK2+Ny7vvN5sEyfPZ3JOijEqMMro6e86diKZyYZMdbrwSgog2Lq5/3IJuEG/FXX8TetNGrvANhksODfEImZjs/CXpTJvrt+oewpTPXwfilfWA2yr3S1WMzfcbSYJk55xeo9jDGEcfRi30IiJpVDXGr7Pt5IIoGdXmxvSBqq8r2D6fv+cwX7j3FRTglusu4frXXUJKh7ixf8bPTKlljrgNBCioCFLquF29o2kaFK2ykWoLGAncEdgzEqPoQsLQuTmYW9bNSCXl8mhcv+KMhOUTVR2vfUcYMZTsHNudmzGQHb8kLaC5frs+DXwK+APC4O0/IiwG83cL1K5z1+h8/7FHCFIdc5vvFwKt/4UwtFNRx2L6j5eTdPtpVCDvRzjuJidU0RJC8J0nevjTO/dzPGvzros7+f0372BfdCsxXVD2FMqBPmNUjyN0VmtZIpqPU8nro3g2+CXQorjLXhOmaRi3sHu8pJN3FaIa5N3w9tr07LuBlcrfj+ZkUdUcIt2Os+Eq/KZ1MmZfkpbAXMNAXeDzlT9jTNO8HKjbjWBT0gKPn+/PrJgy3z8+pHM0pn3yWf/4sNCRIAZCJaOXyHrx8HbFk4eG+fR3X+LxQ8NcuDrDv9y2g8vWN9LrxXl2RKXgRdECGzHLRF27XiKiBbhCJ6I4dPi9oKi4K67Eb1xbNUxVBTQF4qrAC5Q5FYKwy0XIuzQYKvnGjWTXbyXdsnwOr5QkaaG82uvrfwS2nomGnGsmpwXelMiTOXAXileqOt8/FtIpwsRum1IOiaGpZ/3jrYtkyWglSoFORiuxLpKlO2vz/961n28+doLOTISvfWAr77t02VhkjytU9pXb8VQNPfC5PnVoxuPIKDYZCuREhIzmE1t5AeWOmePqN6Y9djQ6jLgaa1I+G6c7+xcBSmkQxSuD1s6hhvNx4x2ousHaZNvMf8GSJC24VzsA1O1C8Pi0wIXelxH774NELKzRW+35vjo2/+2Ui/i9D2CUj0w56x+vWStzffIAR90GOhjgm/ft5X/csx/XD/ijG9fwn25aQ3rSHPmQH6NRL9EWcehzItMXXxeg+CWy5Ridho3ZnGZAaSQba2L5LMnd2uLwvtUjHC8ZdMVd2ibP3vgOarEfEHgtm/E6LqSkt9N6cuL0lSRJS+vVDgB1+y2OGRqq8Ckefppo33NE25oQ0el3No2mNxa5ExjZ/exIDsyYpx/CnDv359dy2NrL0/f+gHx2kLfuauOv3rGR9W3Vyy+ObQSzw41gTVVSNSteGfwSItpEctUuhns3MegpaAo0GLPP5ds+DLoGMU1h0DVo9cM0DYqdQ7GHEXocZ+UV+K3bxuL2lbJH74g9dsW0pTMz6+dIkrSwZhwATNOcbZK2bkM0omrA1tyDuCMvEe3oJGrMPBMuAp81uSdIFI5SjqXxjTQo08TbVzzTG3Dvt79M96GXaWrv5PMfu55P7pp5zB3dCFZW4sREidS4nb2KVwavhIg24K54LUFmFUlX4+qgRN5XSWkBKWP2tMujZSczkYCcLbBHBoirJYLUsrDASuP6KWkqhBCsaIwT1VVsL5BXAJJ0FpitAz9GeJY/3XlqfX6LA5/IwbvRs/sIWlbMWlREsYdpOPQA8UIM30gTVZQZc+j7geDv7z/Kf/3BAVwM1l3/fpbtuprLlv8SODnjZ6kIcn4cRVdx/DgqYiyqR0TSuF2XEzSsHmuzQsCIHxZeGfFVlBkydI6KaQFK4JDPDqMpYKzeRHn5rjAnz3SvqSyUByJMpywLqUjS0ptxALAsS2bYmkwERA79HP3k3jCL5yydvzp8hMiRBwBYk9QY8ss0aeVpc/S/2FPgo7e/wGMHh7lkSxerb/ggbc0Zit7QnEovBih06iMYhoYnyghnBCIq7qpr8BvWTFncFah0RD0qWddmLbyiOAXi5SHMaJyRlZdgdGxFSWRmLdUiC6lI0tmnbqdwTosIMA7/Ar332TDMc6YMlEKg9+5B730mLNSixDnsNBEAw0EcU5lYqMXzA75w7yv8fz8+RDKq8Y0PbeOSXSaf628h56toBHTqhVmbqCLo8WIojo9Q02xedRnllpXTpqBQCOi1T5Ve3DbNFYBSzqI4IwSxZpwNbyZo3khSmyGbWxWykIoknV3kADBXQmAceZDIiSfxK51/zmGsYMmEzJaeTeTIg6gjR8NFUEWl5OuUhUpU9SkHGiVxqlDLc8dG+MjtL/DskRHefkE7X3qXSUcmSta3uTnzMr1ugg6jOHvt3cBHOCOs0oZIrtrKkN6JlxGgTn9+PnYFEF4ATLwCEAFKaQDFswnSXTjrb656FSFJ0rlJDgBzIQTG0Ycxju/GT3eNdf6/PJkYO3O+tj1Mb6yUBokeuhe84oQoHxXBUaeRQAFVwObIALYb8Nm7D/G5nx2mJWXwnY/s4JYLToWRukLlkN2MrygU7RiXx49N2z7FCQugGO3nocTORyRTREs2MW3m9M5VrwACD7XYB4GP17IFb/nFBCm5aUuSao0cAOZAP/4oxrGHCdKndvcOuxqBgI6YT29ZY9jRaCq8hHH0YVD1KWmLAxQyaomRIEJadXjyUJZP/8uv2XeiwPsuXcbf3LqJ5uTEyJliYNBu5GnSygz5sanJ4AQobgECB79xPe6yi9AiKTb5oMd9PN2duZQik4qvux7ke1EjAW77+XidFyDizWfir1CSpLOQHABmoXc/TuTIA1NSOTcYPqoCvWUNlYDWgScwsnumrdSVDwx+WVhH2XV5/P77eHb3oyxvjHLX7+7iph2tVT+7SSsTJSAfRIgSTIjpVzwbvCJBog2v6zKCxKmdtVEN0hHByOwBPWFaCmyU/DAxPYK27nKKnTshkpzH35IkSeeiRRkATNN8A/DXhCmlnyPMJPoh4COAB+wBPmFZ1uzVSBbIlLw+gH7iaSKH7gujfSbt1s1E4LUtRfoKHl0nH6LJPTQ231/NkB/j2NFD3HPnHQwPDvD2y9fzlVtXkolP/0+Q0RyuSh6mx0vSqRfCpG6BF073GEmc1dcSNKyZNRJpWl6ZeLEfM5ZkZM0V6B2b0aIyKZsk1YsFHwBM04wBXwOutizroGmaf09YXP4zwHbLsrKmad4FvAv49kK3p5rJeX02tKVIDjxH9NA9+OnlVVM12D6cHC6gdT9BT+DSkGglqlQP7RRC8M8P7ufffvAsRroZ811/widfc4xMvGfmdgUaJ7wwxPKEl6LB6yOqCtxlF+O3bAXtNP/53BJqaQBhJHDWvYGgdeu8I3okSTr3LcYVwM3A05ZlHQSwLOvjpml+EPilZVnZynO+V3nekgwA4/P65Moebs/zRI/8BD+1rOp0DoCdH6J09DlQDISWoET/WFTPePmyx8f/ZR//58le2jbs5Op3vJu82kSvNwzMPACUhM6gF8XxPCJ45Ds2I7q2g1E9DcSsxjr+JM66m8L8/qfZ8Ve7YpIk6dyyGAPARiBrmuY3Kz8/CmSB7nHP6QGWLMwkZmioCuTKHkbuFRoGfoyf6py2c1RKAyiH7+dJ+0J8NYomBGZkcMrzrJ4C7/zKc1g9BT7+xh28tOPjZBUDBZ/1kaFZ25X34J7hlXhGAjXRzqq2Esnq49HMzmDHD9WvmOQgIEnnnsVaBL4QeC1QBn4A7J70eCUKfaKmpgS6fvopA9ra0nN+bmtrinK3RaznXmKdK6cv5FIchFfuYUBtJKWrqKpLEICnxYgYp1Zdv/9UDx/6xl6iuso9f3ARF5nL+VluLz1uhk4jx4ZEkYg23bEJKOcoBGkaWtppaWxiwFFxDZV0aubSi+OlowEU+iGahm23Qse2aa9o5iNbdGhwAxriBsMll1RDnMbE2TWFNJ9/+1pTz8cO9X388z32xRgAuoEnLcvKAZim+VPg95g4CKwgzDs0wdDQ7KUGp9PWlqavb2TOz1fKQ8R/8x3cWBNuGcKxavJzskQP/ASEoESUJ4sd+IqKJgKuTe7HUXw8P+BP79zPl+47wmvWZvj2bTtZ2Rwj53oIX6FNG0H4Cp7r4QRTO/Ox6J6GNRhdVzL0ShP9WdCUAMMtMFIls/MUbom0MkLei+CsvA6/ZUvY8Q+Wqx7XfNlewHC2yNBQeAWQN1TcwsyJ7RbTfP/ta0k9HzvU9/GPP/a5DgSLMQDcDfypaZopy7LywOWEhWR+1zTNFmAIeC/wD4vQlmnpfXsBMe2Zv2IPEz3wUwgCRCRJoWzQqBbxFQ1N+BQCg55hm/f94294+OUsH716BX/zW5vGsoSO5ugZFUzOryfCGrloEZw11xNkVpFyVS5vKZJ1NRoNf/ZMnb6LWjyJ0ONw3lspqavOyBn/ZDKvjyTVhgUfACzL6jdN878Ad5umqQIvAv8/cBT4GWEY6G7gjoVuy7R8F73naYJ49Xh8xc5VOn8fUYmPt4XKU+UuBCoKARv3P8B/u/1xhkse3/jQNt5zycTMmGGOnvTYTuAd47J6Kl4JvDJ+i4nbefFY/V3HD9hfiOIL6Hd0LmyeJrA/8MOduwiclVfidVxAalkbLOCZkMzrI0nnvkVZA7As6w6mdvDfqvxZclr2IIpfRmhVBgB7JOz8fW+s8wcY9BN0aAWSms2e3Y/wyV/+grUtMX7yqQvY3pWa8jYBCh1GLozZFyK8Ahg96zeSOOuuJUhPHDTKgUZc8UFTIQgoBxqMjzQSAqXUj+LZeJ0X4HZdFlYYkyRJmgO5Exgwep5EGFU6TidP7MBPwXcQkYmdeqeeZ7Ac8PBP/5WTLz7FNTu6+O7vbKRhmo1dKoJeNzN2BXCeehhFKeK17cRrP69qTL8X+DybjeEDGnBt56k1EcUeRrFz+I3rcVa/DpGQNXYlSZqfuh8AlGI/6sgxglTXxAecIrEDd4NvT+n8AQrZLL+5/c8ZGBjkuhuu5X+9sYGG6PRTLgEKLXoBO1CJ+zl8I4299jpEvGXa15R8nVVJl+aIYNBRKPk6uDnU0gBBogN765vC4i6SJEmnoe4HAL1vLyjaxHQKbpHowZ+GGT2rTKkcHSzz3r99luF8wGXv+Y+k12yizIMzfo4rVPYUW/CFQE1uYd3qGPH4zCkc2qIeCR0KvkJC9enwjqF4UeyNb8Vv2SzTMkuS9KrU9wDg2xi9z0xc/HVLRA/+DMUtVO38jw2VueGLT5MteNz0vo+xfnU7Oa/AoD/NvgEAASW7TAQoN21ENaKUsaHKzuHx2uLwzq4c/blh2qMuDeuvpNSxC7To6R2vJEnSOHU9AGhDByFwToVKeuWw87dziGhmyvO7szY3fvEZ+kYcvvwfruGOxGYO2ioqwfTFWgIfxclRiG7nwdKF+DkFDXhd5+x7HBR7mA5vmJb1F+F2XY5XZSpKkiTpdNX1AGCceAIRCTt62/EJDjyA4uaJVOn8Twzb3PDFp+kZtvnJp85n2YoGXsj20esl6dALVYu8K14Z/DLu8tfQzwW0lgOaogFDtsqwaxAmR63Cd1ELPQTxVuwd/y5MRS1JknSG1e0AoBZ6UfMnCDIrsH040NuPllcgsg4zmFivt2fY5oYvPE131ubHnzyfS9c18mgxwX2FdeE+ADvghtR+Vkdy4QsEKE4u3NS17maCVCdtIy5OoNJdUtGAtmj1zl8p9qP4Ns6qa/A6L1qQjVySJElQxwOAdvI3Y2mey54KQwfIGAFZmFCvtzcXTvscz9r88BO7uHxDIwCHnGYMXFJaQN5XOeQ0c3miB0SAag/jp5bjrLp6LHNnc1TlTcvzDLk6TYZHc3TSrl6vjFY4ide4FmftjbISlyRJC64+BwCvhHFyD0EiXPyNu/1odo6skUGFsemckzmHN3zpGY4MlvjBJ87nio1NY2/RpOUZJMWAH2aya9LyY3l83I7z8Tp2TYjSUQgoC52oBmWho1DZ1SsC1MJJUDXKG9+C37pVRvdIkrQo6nIA0IYOgPDGrgCS2X2k1RIv++1siAwRVX368w43/Y9nONRX4q5P7OKqTU0T3kNXVFbQj8BAwcXwbRAeztobCTIrpnzmhNq7fnhbcXIopUG89p24q66put9A5t2XJGmh1N8AIARG9+OIaDiVg2dzou8EX82/Hl9RuT8veE/sV3zobx9j/8kid/7uLq4xp07HRBSHfhoJUFHxMCIRyptugWkidWJaQFQTCKEQVT0SpWMQS1Pe9p6wrGMVMu++JEkLqe4GALVwArXYN3aWrg0f5ojbxIAfI6r65Ao27/rabo72Fvn+x8/j2s3V5+IdEaFLGUJXfFw9RanzcohME9VDWKh9U9rFLuaI+yOoKy6l1HXpjDH9kyuVlV1fDgCSJJ0xdTcA6L2/PlUNS4De9xscpYM9Tiduucih7/wlXv8w3//4Tq7fOn2ahhQFekWaQImhBhpx/eS0zw0/KyBePEE03oqz4R24yY5Z2zq+UpmqhLclSZLOlPoaANwiet9vCCqdr1o8ieKM0BdsIVUeZO93P0+5/zh/+IGbuHHbDAVOfBff81mZCIhFBSXfwxczxPV7NmqhB6/zQpzV1865HKPMuy9J0kKqyQHA9gKyRQfbCyZ0mvrgS+EPangmrQ3sAxRWRoZ4/o6/Jdd7jB23/AfesnMI6K3+5r6L4hVoWLGF4GCcPlshqQhao9XTOiilQRTPxt50SxjhM08y774kSQul5gaA0YXTBjcsWzi2cCoC9O4nCGIN4RO9Elr2ICKSZujlV8gefYnX3PhWrtrZzlrjlepvXun8ndWvJ+910ONquIHCiCooeJMqdYkANd9DEG+mvPU9iET1YjOSJElLpeZOLUcXThviBoEIbwOoI92o5UEwwqIu2tDB8AWKyj89fJRoNMKbXrOOLi1PMaiy+3Zc5x80rGb/SIy4Ltja4BHXBftHxiWD82zU3FG8th2Ut79fdv6SJJ2Vau4KYHThdLjkTlg41U/uQVRKLSIERt9ehB5nIO9w97PH6Nr5Wp4ONqGWAq5NH574ppM6f4CtDWV0UnSXVPTKbQiLyyteOUzZ3LZ9kY5akiRp/mpuABhdOE01xMkb4fy54uTR+184tfib7wGvCNEGbt/9Co4XcP5rLmZ1dJARPzIxtXOVzh9gRxP86bZ+fpONs6OxxI7GAHWkhyDWRHnLu2SFLkmSzno1NwBAOAg0JiK4hTCSRxu0ADG2+KsPvACKRhAIvvbQMXatbUW0rJ+a2nmazh/C3bwRzeCCZh8lADd7DK3zPJw1rwd9htoAkiRJZ4maHAAmRAFpYHQ/ThCrbOhyiqi5BdELMwAADy1JREFUI4hIhl/uG+RAX4nPv2EbbvQoI8RIUw5zAc3Q+QOUfRUhFBpElpGyy/CWm0mtOG9iZTFJkqSzWM0NAJOjgDZFBknYOcTozt+hl8MnKgpffegYrSmD63et4IvZdnxFRRMBfvACipi+84cwtYNW7mdYT+BtuBFj2UrZ+UuSdE6puQGg7PrYXoBCOBh4A79GjE7JiACj/3mEnuD4UJkfP9fPp16/CleLscIYJq25jPgaRTfA2Th95w8QL/Wwoa2D7Lq3EYsnZay+JEnnnJobABRF4Vi2xJAXUBzOsjP/EqKxsvibOw6+DdEGvvHIUfxA8OGruohqZYpBlBE/giYckivPI2iYvgqXOnKCIL0MYb6DBj2+WIcmSZJ0RtXcACCEoD0dpakxwcjgPoJAHcuvrw88D4qO5wf806+Oc/3WFta3Jcj6LhdGX6HbidHe1kWyKcOEYi3jqCPdBOkuyubbQXb+kiSdw2puAFAUhZMjNgVf4HUfhM4wj79i51DzJxCRDD/Z08fxrM2X3mUCMOjHuLewHi+SQc03sssepKFKuh4lfwI/vQLbfLuM9JEk6ZxXcxPXQgg0RZAd7EVzimPz/9rgqcXfrzx0jBVNUW7eEe7Q7XGTRBWX5ekoETWgz566E1gd6SZIyc5fkqTaUXNXAL05mzue60GzB8FZzsZlwzToHvrAPoSR5OXeIr/YN8ifvXkduhaOfy0McpImuosJNKDBmJjVUx3pxs+swjZvmTF/vyRJ0rmk5gaA47kihqqwImbT7cHxUoQt4jAEDhgJvv6rQ2iqwgdfe2qRN47NJa0+Jd0hqvgkdA0YzSF0HD+zBtt8m+z8JUmqKTU3ALQlYwyXPHK2BoFKW9RB798LapSy63P7o9285bw2ljdWOnPfRdNi9IgmfFdFUzRUikCl829Yi73pbXPO4S9JknSuWPABwDTNDcBTwJ5xd38UuBL4COBVHvuEZVnVQ2/moSGuc/GqBsr9vaSCEk1BEbXYh4g08P3HTzBQcPnI1aeKtiteEbvxfMzAI6lDwYNAaKgjR/Ab12NvfIvs/CVJqkmLcQWQAZ6wLOuG0TtM01wBfAbYbllW1jTNu4B3Ad9+tR9WcgKe782jFTUIEtgDz4QPKPDVh46xsSPB68wwMgghAEi3riA5BIGApCFoco7it23A3vhm2flLklSzFiMKKAOMTLrvOuCXlmVlK7e/B9x8Jj4sW3ZIGyqd8YCU4jA83IcwUjx3bITHDg5z25VdKJWUDYpbIEivJJNMcG17kYubbK5LHCTZvkGe+UuSVPMW4wqgAdhkmuaPgBbgPqAMdI97Tg+w/Ex8mKGqvDJUBldH8QIimRKoGl958BgxQ+X9l437GOHhtW4DIGMIGsuv4Ldvwt7wZtCqFIWRJEmqIYsxALwAfBb4P5XP+wHwyKTnKICY/MKmpgS6rs3rw1LDZVa3JgiGB1FzfQgjje0V+c4TPbzz4k46Gysx/L4D8QxG55owiVtxEJZvgPPfUzOdf1tbeqmbsGTksdevej7++R77gg8AlmW9DFR2YeGZpvlD4A+A3eOetgI4Nvm1Q0PFeX/e0FCRl3ry4KooXiOOUPnfjxwnb/t8+MounEqJSMXO4y67BL9SM0DNDWAvuw5/sEx4gXJua2tL09c3eeatPshjr89jh/o+/vHHPteBYDGigN5HuNj7J6ZpKsDrgduB20zTbAGGgPcC/3AmPq/gejQlNCL5HL5nMxJE+epDx9i1Ms3FazLhk0QAKPhN68LbXhkRSeNnps/+KUmSVGsWYwroLuDNpmnuJpzqeQr4S+AA8DPCMNDdwB1n4sMUAd3DNsJLoZDkxcPd7D2e5+/fu+XU4q+Tx29cP5bSQS0N4qy6ZqximCRJUj1YjCmgPPDOKg99q/LnjCq4PpmEjporo+Dzw0f3k45pvPPiMCV0uNIQ4LduDm8HPiDwW7ec6aZIkiSd1WpuJ7Dn+ZzMeQiSBMUcx547wIevWE4qFh6q4pcR0SaCeFi0XSkP4rVsQUTqd+FIkqT6VHPZQIdtn0wEVqh53N/8HM8P+Oi4nb/4Zby2HeFkFKB4Nl7HBUvTWEmSpCVUcwPA+pYkASpDfoS+PfezfV07W5enwgcDHxQdv1LqUXEKBLFmgvT01b8kSZJqVc0NAKuaE7xuQwsdxx7EyZ7kd648FdmjuHn8ZnMszl+xs7hdl8pi7pIk1aWaGwBKTsCBoRJ7n3qcSCLFlTtXhQ+I8D9eS1gFjMADRcNv3rhUTZUkSVpSNTcAZMsO0dIgvS8/x+bzLiSvJIEw62eQ6EDEGgFQi/247btkXV9JkupWzQ0AjbEIL+z+OUJA5wXX0KxVdvUGDl7r9vBnISDw8Np3Ll1DJUmSlljNhYHGIyo3Xn89F0df4aJlWeKKB74LWpQgE0YDKU6OIN2FSLYvcWslSZKWTs0NAA3xCNu2bidpb0C4JZq0MopXDKd7Kjt9FWcEZ/V1S9xSSZKkpVVzA0AmpnPNxjb0F4+TNAbJVDr9scVe30FoMfzGdUvYSkmSpKVXc2sAk4VFX1ZAJNwLoBb7cZddXDMpnyVJkk5XzV0B5MoeD7zcR7LUhXBbuSH2PLFK0ZcwC2iAP3pbkiSpjtXcFcBwySEQsEwvEASCIaWFILUMAKU8hN+4cSwUVJIkqZ7V3ADQEI+gKnDCS6IFZVLta8d2+ipuCXfZhUvcQkmSpLNDzU0BjV8ETtFNpO3W8AG3hIhmCDKrlraBkiRJZ4mauwKAcBBYHRkh2dw1ttNXLQ/iLr8UlJo8ZEmSpHmruSuAMbE0fmZT+HPgg6LiNZtL2yZJkqSzSO0OAOtfT5AvAaCWBvBat0EkucSNkiRJOnvU7nzI+Pq+voPXsWvp2iJJknQWqt0BoEJxRggSbQTJZUvdFEmSpLNK7Q8A5eHK4q8s+iJJkjReTQ8ASuCBFsFv3rDUTZEkSTrr1PQAoJb6cTsuAC261E2RJEk669T0AIAAr33HUrdCkiTprFTTA4DfvBERb1nqZkiSJJ2VancfgJHAbZJn/5IkSdOp3QFg4/X4JVnwXZIkaTq1OwWU7pR5fyRJkmYge0hJkqQ6JQcASZKkOrWoawCmaX4RON+yrGtM0/ww8BHAA/YAn7AsK1jM9kiSJNWzRbsCME3zKuDCys8rgM8AN1iWdTmwHHjXYrVFkiRJWqQBwDTNJPA54A8rd10H/NKyrGzl9veAmxejLZIkSVJosa4APg98AThZub0c6B73eE/lPkmSJGmRLPgagGma1wMtlmV91zTNNdM8TQHE5DubmhLoulbl6XPT1pY+7dfWgno+fnns9auej3++x74Yi8C/DWw0TfMxIAqsB64G/mXcc1YAx6Y0TtdkDmdJkqQFoggx5cR7wVSuAP434YLvU8B5wBDwc+AfLMv6/qI1RpIkqc4tyT4Ay7J6gD8BfgY8AjwH3LEUbZEkSapXi3oFIEmSJJ09ai4ZnGma/w/wRsKF5Z9YlvUXS9ykRWOa5gbCqbU94+7+qGVZ1hI1aVGYptkJfBuIWJZ1ReW+uthoOPnYTdPUgALw2Lin/ZllWQ8uSQMXkGmaf0kYUq4Cv7Is6/fr6fs/+fiB/8U8v/81NQCYpnkJ4aLzhZW7HjFN8z7Lsh5dwmYtpgzwhGVZNyx1QxbZvxJOJ74ZJmw03G5ZVtY0zbsI152+vWQtXDgTjh1oAI5YlnXNkrVoEZim+UbgCuCyyl2Pm6Z5NXXy/a92/MBdzPP7X2u5gG4C7rQsy7EsywF+QH1tMMsAI0vdiCXwVsIvwKh62mg4+djr5XfgHuCNlmUFlSu7AeDvqJ/vf7Xjb2We//Y1dQVAuJnsmXG3e4DLl6gtS6EB2GSa5o+AFuA+4DO1OPUxnmVZOdM0x99VNxsNqxx7A9BimuadQDvwNPAnlmUVl6J9C8WyLA/Iw9iVvwncz9R/95r8/k9z/B7z/P7X2hXAZFU3mNWwF4DPArcA1wKXAB9e0hadHerp96AX+G/Ae4CrgDTwX5e0RQvINM0rCaf23kHYAY5X8//uk45/3t//WrsCOEq4qWxU1Q1mtcqyrJeBlys3PdM0fwhcsIRNWipHgRvH3a6b34NKiPXXR2+bpvk94JNL16KFU5nz/zLhVMiLpmnW1fd/8vFX7p7X97/WrgB+AtximmbMNM0Y8FvAj5a4TYvGNM33mab52crPCvB64NmlbdWSuBe4xjTNFtM0VeC9wA+XuE2LwjTNa03T/OfKvz+E6yE19ztgmmYz8BXgpnGdX918/6sd/+l8/2tuH4Bpmn8E3Ep46fdvlmV9fombtGhM00wRnv2tIrz8fQr4vcp8YU0yTXMVcDvQCKwl/IX/CXAC+BThtMBu4NOWZdXUL/s0x343sBq4GLCBV4CPWZZVUwvDle/5p4EXx939TaCZOvj+T3P8dxKuecz5+19zA4AkSZI0N7U2BSRJkiTNkRwAJEmS6pQcACRJkuqUHAAkSZLqlBwAJEmS6pQcAKS6ZZqmqGyUmnz/103TfFXhcaZpXmKa5s7Kzx80TfO+V/N+krQQ5AAg1budpmlmRm+YphkBLjoD7/shYOcZeB9JWjC1lgpCkubrfsLcKf9cuX0j8CTjOm/TNG8F/ozw+9IN3GZZ1gHTND9DmIGxi7C8aT9hds63Ah8A3mKaZjswWHmfv6u8vwO807KsvQt9cJI0E3kFINW77xImThv1buDfRm9Udtt+DXibZVmbCXcZf2Xc828Ffg9YD5wEfseyrC8DTwB/bFnWFyrPuwT4hmVZGwkHnd9fmMORpLmTA4BU7x4Atpmm2W6aZpywwMYvxj1+PXC/ZVn7K7f/EXidaZpG5fZDlmW9Ukkz8SzhNvxq9lmW9XTl52eZmLRMkpaEHACkumZZlg/cQVhJ6s3AzyflTmkDhsY9f5gwz0pL5a7hcc/1AW2aj8rN8XmStGjkACBJ8B3CzJG3Vn4er5dTnT2maTYBAeF8vySd0+QAIElhttBlwHZgcvH0e4GrTNNcV7n9MaZeJVTjEmbplKSzlhwApLpXmb+/E7hvcvk8y7KOAbcBPzBNcx9hla2PzuFt7wT+2jTNL8z6TElaIjIdtCRJUp2SVwCSJEl1Sg4AkiRJdUoOAJIkSXVKDgCSJEl1Sg4AkiRJdUoOAJIkSXVKDgCSJEl1Sg4AkiRJdUoOAJIkSXXq/wKze8H8lvF/RQAAAABJRU5ErkJggg==\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "plt.plot(data.Month, data.Length, 'C0.', alpha=0.15);\n", "μ_m = trace_babies['μ'].mean(0)\n", "ε_m = trace_babies['ε'].mean(0)\n", "plt.plot(data.Month, μ_m, c='k')\n", "plt.fill_between(data.Month, μ_m + 1 * ε_m, μ_m - 1 * ε_m, alpha=0.6,\n", "color='C1')\n", "plt.fill_between(data.Month, μ_m + 2 * ε_m, μ_m - 2 * ε_m, alpha=0.4,\n", "color='C1')\n", "plt.xlabel('Month')\n", "plt.ylabel('Length');" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "At the moment of writing Osvaldo's daughter is two weeks ($\\approx 0.5$ months) old, and thus he wonders how her length compares to the growth chart we have just created. One way to answer this question is to ask the model for the distribution of the variable length for babies of 0.5 months. Using PyMC3 we can ask this questions with the function `sample_posterior_predictive` , as this will return samples of _Length_ conditioned on the obseved data and the estimated distribution of parameters, that is including uncertainties. The only problem is that by default this function will return predictions for _Length_ for the observed values of _Month_, and $0.5$ months (the value he cares) has not been observed, all measures are reported for integer months. The easier way to get predictions for non-observed values of _Month_ is to define a Data container variable (as part of the model) and then update the value of the variable right before sampling from the posterior predictve distribution." ] }, { "cell_type": "code", "execution_count": 14, "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "100%|██████████| 2000/2000 [00:00<00:00, 2195.67it/s]\n" ] } ], "source": [ "with model_babies:\n", " pm.set_data({'month': [0.5]})\n", " y_ppc = pm.sample_posterior_predictive(trace_babies, 2000)\n", "\n", "y_ppc = y_ppc['y_pred'][:,0]" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Now we can plot the expected distribution of lengths for babies with 2 weeks old and compute additional quantities for example the percentile of a child given her length:" ] }, { "cell_type": "code", "execution_count": 15, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "ref = 51.5\n", "density, l, u = az.plots._fast_kde(y_ppc)\n", "x_ = np.linspace(l, u, 200)\n", "plt.plot(x_, density)\n", "percentile = int(sum(y_ppc <= ref) / len(y_ppc) * 100)\n", "plt.fill_between(x_[x_ < ref], density[x_ < ref], label='Percentile = {:2d}'.format(percentile))\n", "plt.xlabel('Length')\n", "plt.yticks([])\n", "plt.legend();" ] } ], "metadata": { "kernelspec": { "display_name": "Python 3", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.6.8" } }, "nbformat": 4, "nbformat_minor": 2 }