{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Regression" ] }, { "cell_type": "markdown", "metadata": { "tags": [ "remove-cell" ] }, "source": [ "Think Bayes, Second Edition\n", "\n", "Copyright 2020 Allen B. Downey\n", "\n", "License: [Attribution-NonCommercial-ShareAlike 4.0 International (CC BY-NC-SA 4.0)](https://creativecommons.org/licenses/by-nc-sa/4.0/)" ] }, { "cell_type": "code", "execution_count": 2, "metadata": { "execution": { "iopub.execute_input": "2021-04-16T19:38:43.792591Z", "iopub.status.busy": "2021-04-16T19:38:43.792140Z", "iopub.status.idle": "2021-04-16T19:38:43.794041Z", "shell.execute_reply": "2021-04-16T19:38:43.794390Z" }, "tags": [ "remove-cell" ] }, "outputs": [], "source": [ "# If we're running on Colab, install empiricaldist\n", "# https://pypi.org/project/empiricaldist/\n", "\n", "import sys\n", "IN_COLAB = 'google.colab' in sys.modules\n", "\n", "if IN_COLAB:\n", " !pip install empiricaldist" ] }, { "cell_type": "code", "execution_count": 3, "metadata": { "execution": { "iopub.execute_input": "2021-04-16T19:38:43.798000Z", "iopub.status.busy": "2021-04-16T19:38:43.797535Z", "iopub.status.idle": "2021-04-16T19:38:43.800051Z", "shell.execute_reply": "2021-04-16T19:38:43.799576Z" }, "tags": [ "remove-cell" ] }, "outputs": [], "source": [ "# Get utils.py\n", "\n", "from os.path import basename, exists\n", "\n", "def download(url):\n", " filename = basename(url)\n", " if not exists(filename):\n", " from urllib.request import urlretrieve\n", " local, _ = urlretrieve(url, filename)\n", " print('Downloaded ' + local)\n", " \n", "download('https://github.com/AllenDowney/ThinkBayes2/raw/master/soln/utils.py')" ] }, { "cell_type": "code", "execution_count": 4, "metadata": { "execution": { "iopub.execute_input": "2021-04-16T19:38:43.803533Z", "iopub.status.busy": "2021-04-16T19:38:43.802836Z", "iopub.status.idle": "2021-04-16T19:38:44.488550Z", "shell.execute_reply": "2021-04-16T19:38:44.488120Z" }, "tags": [ "remove-cell" ] }, "outputs": [], "source": [ "from utils import set_pyplot_params\n", "set_pyplot_params()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "In the previous chapter we saw several examples of logistic regression, which is based on the assumption that the likelihood of an outcome, expressed in the form of log odds, is a linear function of some quantity (continuous or discrete).\n", "\n", "In this chapter we'll work on examples of simple linear regression, which models the relationship between two quantities. Specifically, we'll look at changes over time in snowfall and the marathon world record.\n", "\n", "The models we'll use have three parameters, so you might want to review the tools we used for the three-parameter model in <<_MarkandRecapture>>." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## More Snow?\n", "\n", "I am under the impression that we don't get as much snow around here as we used to. By \"around here\" I mean Norfolk County, Massachusetts, where I was born, grew up, and currently live. And by \"used to\" I mean compared to when I was young, like in 1978 when we got [27 inches of snow](https://en.wikipedia.org/wiki/Northeastern_United_States_blizzard_of_1978) and I didn't have to go to school for a couple of weeks.\n", "\n", "Fortunately, we can test my conjecture with data. Norfolk County happens to be the location of the [Blue Hill Meteorological Observatory](https://en.wikipedia.org/wiki/Blue_Hill_Meteorological_Observatory), which keeps the oldest continuous weather record in North America.\n", "\n", "Data from this and many other weather stations is available from the [National Oceanic and Atmospheric Administration](https://www.ncdc.noaa.gov/cdo-web/search) (NOAA). I collected data from the Blue Hill Observatory from May 11, 1967 to May 11, 2020. " ] }, { "cell_type": "markdown", "metadata": { "tags": [ "remove-cell" ] }, "source": [ "To get more data, go to [National Oceanic and Atmospheric Administration](https://www.ncdc.noaa.gov/cdo-web/search), select daily summaries, choose a date range, and search for Stations with search term \"Blue Hill Coop\". Add it to the cart.\n", "\n", "Open cart and select \"Custom GHCN-Daily CSV\", then continue.\n", "\n", "Select all data types (but particularly Precipitation) and continue.\n", "\n", "Provide an email address and submit order.\n", "\n", "You'll get an email with a download link. Download the CSV file and move it into the current directory." ] }, { "cell_type": "markdown", "metadata": { "tags": [ "hide-cell" ] }, "source": [ "The following cell downloads the data as a CSV file." ] }, { "cell_type": "code", "execution_count": 5, "metadata": { "execution": { "iopub.execute_input": "2021-04-16T19:38:44.492216Z", "iopub.status.busy": "2021-04-16T19:38:44.491795Z", "iopub.status.idle": "2021-04-16T19:38:44.493838Z", "shell.execute_reply": "2021-04-16T19:38:44.493472Z" }, "tags": [ "hide-cell" ] }, "outputs": [], "source": [ "download('https://github.com/AllenDowney/ThinkBayes2/raw/master/data/2239075.csv')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We can use Pandas to read the data into `DataFrame`:" ] }, { "cell_type": "code", "execution_count": 6, "metadata": { "execution": { "iopub.execute_input": "2021-04-16T19:38:44.497478Z", "iopub.status.busy": "2021-04-16T19:38:44.496929Z", "iopub.status.idle": "2021-04-16T19:38:44.536916Z", "shell.execute_reply": "2021-04-16T19:38:44.537394Z" } }, "outputs": [], "source": [ "import pandas as pd\n", "\n", "df = pd.read_csv('2239075.csv', parse_dates=[2])" ] }, { "cell_type": "markdown", "metadata": { "tags": [ "hide-cell" ] }, "source": [ "Here's what the last few rows look like." ] }, { "cell_type": "code", "execution_count": 7, "metadata": { "execution": { "iopub.execute_input": "2021-04-16T19:38:44.549351Z", "iopub.status.busy": "2021-04-16T19:38:44.541697Z", "iopub.status.idle": "2021-04-16T19:38:44.560204Z", "shell.execute_reply": "2021-04-16T19:38:44.559851Z" }, "tags": [ "hide-cell" ] }, "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", " \n", " \n", " \n", " \n", "
STATIONNAMEDATEPRCPSNOWSNWDTMAXTMINTOBSWESDWT01WT03WT04WT05WT06WT08WT09WT11WT16WT18
20452USC00190736BLUE HILL COOP, MA US2023-05-090.00.00.07545.051.0NaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaN
20453USC00190736BLUE HILL COOP, MA US2023-05-100.00.00.06042.051.0NaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaN
20454USC00190736BLUE HILL COOP, MA US2023-05-110.00.00.07251.059.0NaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaN
\n", "
" ], "text/plain": [ " STATION NAME DATE PRCP SNOW SNWD TMAX \\\n", "20452 USC00190736 BLUE HILL COOP, MA US 2023-05-09 0.0 0.0 0.0 75 \n", "20453 USC00190736 BLUE HILL COOP, MA US 2023-05-10 0.0 0.0 0.0 60 \n", "20454 USC00190736 BLUE HILL COOP, MA US 2023-05-11 0.0 0.0 0.0 72 \n", "\n", " TMIN TOBS WESD WT01 WT03 WT04 WT05 WT06 WT08 WT09 WT11 WT16 \\\n", "20452 45.0 51.0 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN \n", "20453 42.0 51.0 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN \n", "20454 51.0 59.0 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN \n", "\n", " WT18 \n", "20452 NaN \n", "20453 NaN \n", "20454 NaN " ] }, "execution_count": 7, "metadata": {}, "output_type": "execute_result" } ], "source": [ "df.tail(3)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The columns we'll use are:\n", "\n", "* `DATE`, which is the date of each observation,\n", "\n", "* `SNOW`, which is the total snowfall in inches.\n", "\n", "I'll add a column that contains just the year part of the dates." ] }, { "cell_type": "code", "execution_count": 8, "metadata": { "execution": { "iopub.execute_input": "2021-04-16T19:38:44.563856Z", "iopub.status.busy": "2021-04-16T19:38:44.563284Z", "iopub.status.idle": "2021-04-16T19:38:44.568089Z", "shell.execute_reply": "2021-04-16T19:38:44.567683Z" } }, "outputs": [], "source": [ "df['YEAR'] = df['DATE'].dt.year" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "And use `groupby` to add up the total snowfall in each year." ] }, { "cell_type": "code", "execution_count": 9, "metadata": { "execution": { "iopub.execute_input": "2021-04-16T19:38:44.572178Z", "iopub.status.busy": "2021-04-16T19:38:44.571162Z", "iopub.status.idle": "2021-04-16T19:38:44.574545Z", "shell.execute_reply": "2021-04-16T19:38:44.574115Z" } }, "outputs": [], "source": [ "snow = df.groupby('YEAR')['SNOW'].sum()" ] }, { "cell_type": "markdown", "metadata": { "tags": [ "hide-cell" ] }, "source": [ "The first and last years are not complete, so I'll drop them." ] }, { "cell_type": "code", "execution_count": 10, "metadata": { "execution": { "iopub.execute_input": "2021-04-16T19:38:44.578061Z", "iopub.status.busy": "2021-04-16T19:38:44.577552Z", "iopub.status.idle": "2021-04-16T19:38:44.579968Z", "shell.execute_reply": "2021-04-16T19:38:44.580391Z" }, "tags": [ "hide-cell" ] }, "outputs": [ { "data": { "text/plain": [ "55" ] }, "execution_count": 10, "metadata": {}, "output_type": "execute_result" } ], "source": [ "snow = snow.iloc[1:-1]\n", "len(snow)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The following figure shows total snowfall during each of the complete years in my lifetime." ] }, { "cell_type": "code", "execution_count": 11, "metadata": { "execution": { "iopub.execute_input": "2021-04-16T19:38:44.584664Z", "iopub.status.busy": "2021-04-16T19:38:44.583819Z", "iopub.status.idle": "2021-04-16T19:38:44.768641Z", "shell.execute_reply": "2021-04-16T19:38:44.768224Z" }, "tags": [ "hide-input" ] }, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAnYAAAHWCAYAAAD6oMSKAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/SrBM8AAAACXBIWXMAAA9hAAAPYQGoP6dpAABq1ElEQVR4nO3deVhUZf8/8PcMO8iADJskICoK7lvuiiZJWu5lmrmXlpq5VGa5pI9mmfqUPZbLt8ctzSct3CpzA1fEFVckUERM2QZhkB3m/P7gx+QI6ByYYbb367q4LjnnzJnPOYxzPuc+9/25JYIgCCAiIiIikyc1dABEREREpBtM7IiIiIjMBBM7IiIiIjPBxI6IiIjITDCxIyIiIjITTOyIiIiIzAQTOyIiIiIzwcSOiIiIyEwwsSMiIiIyE0zsiCoRGRkJiUSCyMhIQ4dSq8aNG4cGDRoYOgyd++qrr9CwYUNYWVmhTZs2ol7bq1cv9OrVS/37nTt3IJFIsGnTpqe+zpw+Q+fOnUPXrl3h5OQEiUSCmJgYrV+7adMmSCQS3LlzR72sQYMGeOWVV3QfKBExsSPjIZFItPrR5kL5+eefY/fu3XqPmYzfwYMH8dFHH6Fbt27YuHEjPv/8c0OHVG0NGjSARCLBe++9V2FdeSK5a9cunb5ncXExXnvtNWRmZuLf//43tm7dCn9/f52+R3WEh4ejX79+cHd3h62tLXx8fDB8+HAcPXrU0KEBAO7fv4/PPvtMVBJcXeU3GxKJBEuWLKl0m1GjRkEikaBOnTpV7qdjx46QSCT4/vvv9RUq1QJrQwdAVG7r1q0av2/ZsgWHDh2qsDw4OPiZ+/r888/x6quvYvDgwboMkUzQ0aNHIZVK8cMPP8DW1rbW3rdnz57Iz8/Xy3tu2LABc+fOhY+Pj873/aRbt24hKSkJGzZswFtvvaX393sWQRAwYcIEbNq0CW3btsWsWbPg7e2NBw8eIDw8HH369MGpU6fQtWtXg8Z5//59LFq0CA0aNBDdSlxd9vb2+OmnnzBv3jyN5bm5udizZw/s7e2rfG18fDzOnTuHBg0aYNu2bXj33Xf1HS7pCRM7Mhpvvvmmxu9nzpzBoUOHKiwnEiMtLQ0ODg61mtQBgFQqfeqFtLqaN2+OuLg4fPHFF1i9erXO918uNzcXTk5OSEtLAwC4urrq7b3EWLlyJTZt2oQZM2Zg1apVkEgk6nWffvoptm7dCmtry7y09e/fH7/++isuX76M1q1bq5fv2bMHRUVFeOmll6ps0fzxxx/h6emJlStX4tVXX8WdO3fMsluGJeCjWDIpubm5mD17Nnx9fWFnZ4emTZtixYoVEARBvY1EIkFubi42b96sfjwxbtw4AEBSUhKmTJmCpk2bwsHBAXK5HK+99ppG/x8xtN1feT+jU6dOYdasWfDw8ICTkxOGDBmC9PR0jW3L+x+dPHkSHTt2hL29PRo2bIgtW7ZobPfZZ59pXNSefK/HY9izZw9efvll+Pj4wM7ODo0aNcK//vUvlJaWVuu4z58/j7CwMLi7u8PBwQEBAQGYMGGCen35o6EVK1Zg/fr1aNSoEezs7PD888/j3LlzFfZ39OhR9OjRA05OTnB1dcWgQYMQGxurXn/lyhVIJBLs3btXvezChQuQSCRo166dxr769euHTp06ASj7LGzcuBG5ubnqz0J537iNGzfihRdegKenJ+zs7NCsWTOdPoKqrI9dr1690KJFC9y4cQO9e/eGo6MjnnvuOSxfvlzr/TZo0ABjxozBhg0bcP/+/Wduf+nSJfTr1w8ymQx16tRBnz59cObMGY1tyj8zx44dw5QpU+Dp6Yn69etj3LhxCAkJAQC89tprkEgkGv0Nn/V3E2Pz5s2wtrbGhx9+WOU2+fn5WLZsGYKCgrBixYpKP/+jR49Gx44d1b/fvn0br732Gtzc3ODo6IjOnTvjt99+q/T4n/x/W92/YWRkJJ5//nkAwPjx4zU+ewsXLoSNjU2F//cAMGnSJLi6uqKgoOCp56oqXbp0QUBAALZv366xfNu2bXjppZfg5uZW5Wu3b9+OV199Fa+88gpcXFwq7INMBxM7MhmCIGDgwIH497//jZdeegmrVq1C06ZN8eGHH2LWrFnq7bZu3Qo7Ozv06NEDW7duxdatWzF58mQAZZ3AT58+jREjRmD16tV45513cOTIEfTq1Qt5eXmiYxK7v/feew+XL1/GwoUL8e6772Lfvn2YNm1ahe0SEhLw6quv4sUXX8TKlStRt25djBs3DtevXxcdI1B24apTpw5mzZqFb775Bu3bt8eCBQvw8ccfi95XWloa+vbtizt37uDjjz/Gt99+i1GjRlVIFoCyi8VXX32FyZMnY8mSJbhz5w6GDh2K4uJi9TaHDx9GWFgY0tLS8Nlnn2HWrFk4ffo0unXrpr7QtmjRAq6urjh+/Lj6dSdOnIBUKsXly5ehVCoBACqVCqdPn0bPnj0BlH0WevToATs7O/VnoXzd999/D39/f3zyySdYuXIlfH19MWXKFKxZs0b0ORHj4cOHeOmll9C6dWusXLkSQUFBmDNnDv744w+t9/Hpp5+ipKQEX3zxxVO3u379Onr06IHLly/jo48+wvz585GYmIhevXohOjq6wvZTpkzBjRs31J+NyZMn45NPPgEATJ8+HVu3bsWnn34KQLu/m7bWr1+P8ePH4+OPP8ZXX31V5XYnT55EZmYm3njjDVhZWT1zv6mpqejatSv+/PNPTJkyBUuXLkVBQQEGDhyI8PBwUTE+7ll/w+DgYCxevBhAWbL2+Gdv9OjRKCkpwf/+9z+NfRYVFWHXrl0YNmxYjVp6R44ciR07dqhvdjMyMnDw4EG88cYbVb4mOjoaCQkJGDlyJGxtbTF06FBs27at2jGQgQlERmrq1KnC4x/R3bt3CwCEJUuWaGz36quvChKJREhISFAvc3JyEsaOHVthn3l5eRWWRUVFCQCELVu2qJdFREQIAISIiIinxqjt/jZu3CgAEEJDQwWVSqVePnPmTMHKykrIyspSL/P39xcACMePH1cvS0tLE+zs7ITZs2erly1cuFCo7L9w+XslJiY+Nc7JkycLjo6OQkFBgXrZ2LFjBX9//6cec3h4uABAOHfuXJXbJCYmCgAEuVwuZGZmqpfv2bNHACDs27dPvaxNmzaCp6enoFAo1MsuX74sSKVSYcyYMeplL7/8stCxY0f170OHDhWGDh0qWFlZCX/88YcgCIJw8eJFAYCwZ88ejWNycnKqEGNl5yQsLExo2LChxrKQkBAhJCSkwrFt3LixyuMXhMo/QyEhIRU+G4WFhYK3t7cwbNiwp+5PEMo+Gy+//LIgCIIwfvx4wd7eXrh//77G++3cuVO9/eDBgwVbW1vh1q1b6mX3798XnJ2dhZ49e6qXlX9munfvLpSUlFR6HI/vVxC0/7tV9nl8/Di++eYbQSKRCP/617+eefzffPONAEAIDw9/5raCIAgzZswQAAgnTpxQL8vJyRECAgKEBg0aCKWlpVXG+PixV+dveO7cuSo/J126dBE6deqksezXX3/V6junMuWfya+++kq4du2axjGvWbNGqFOnjpCbm1vl/4Vp06YJvr6+6u+mgwcPCgCES5cuiY6FDI8tdmQyfv/9d1hZWWH69Okay2fPng1BELRq8XBwcFD/u7i4GAqFAo0bN4arqysuXrwoOiax+5s0aZLG46MePXqgtLQUSUlJGts1a9YMPXr0UP/u4eGBpk2b4vbt26JjfDLOnJwcZGRkoEePHsjLy8PNmzdF7au8r9X+/fs1Wt4q8/rrr6Nu3brq38uPqfw4Hjx4gJiYGIwbN07jMVGrVq3w4osv4vfff9d47cWLF5GbmwugrPWmf//+aNOmDU6cOAGgrBVPIpGge/fuzzyOx89JdnY2MjIyEBISgtu3byM7O/uZr6+uOnXqaPQbtbW1RceOHUX/befNm/fUVrvS0lIcPHgQgwcPRsOGDdXL69WrhzfeeAMnT55Ut3SWe/vtt7VqCRPzd3ua5cuX4/3338eXX35ZocN/ZcrjdXZ21mr/v//+Ozp27KjxeahTpw4mTZqEO3fu4MaNG1rt50k1/RuOGTMG0dHRuHXrlnrZtm3b4Ovrq370XV3NmzdHq1at8NNPPwEoazUfNGgQHB0dK92+vPXw9ddfV383lXdRYKudaWJiRyYjKSkJPj4+Fb7Uy0fJPpkcVSY/Px8LFixQ99Fzd3eHh4cHsrKyqnUxF7s/Pz8/jd/Lk56HDx8+dbvybZ/cTlvXr1/HkCFD4OLiAplMBg8PD/WFSexxh4SEYNiwYVi0aBHc3d0xaNAgbNy4EYWFhRW2fdbxlv/NmjZtWuG1wcHByMjIUCdyPXr0QElJCaKiohAXF4e0tDT06NEDPXv21EjsmjVr9tS+ROVOnTqF0NBQdf8wDw8P9WNHfSZ29evXr9A3rDp/24YNG2L06NFYv349Hjx4UGF9eno68vLyqjy3KpUKycnJGssDAgK0em8xf7eqHDt2DHPmzMGcOXOe2q/ucTKZDEDZzYm2cVYVY/n66qjp3/D111+HnZ2dOnHKzs7G/v371SVJauqNN97Azp07kZCQgNOnTz/1MezBgweRnp6Ojh07IiEhAQkJCUhMTETv3r3x008/QaVS1Tgeql1M7MiivPfee1i6dCmGDx+On3/+GQcPHsShQ4cgl8ur9QUmdn9VtYYIjw3+0Ha7qi4ATw6IyMrKQkhICC5fvozFixdj3759OHToEL788ksAEH3c5bXSoqKiMG3aNPz999+YMGEC2rdvj0ePHok+Dm116NAB9vb2OH78OE6cOAFPT080adIEPXr0wNmzZ1FYWIgTJ05otHRW5datW+jTpw8yMjKwatUq/Pbbbzh06BBmzpwJQPw5EUOX56S8r13537KmHm/F1LfmzZujadOm2Lp1KxITE7V6TVBQEADg6tWrOo1F2/9L5Wr6N6xbty5eeeUVdWK3a9cuFBYW6qwCwMiRI5GRkYG3334bcrkcffv2rXLb8hiGDx+OwMBA9c///vc//P333zh27JhOYqLaY5ljwskk+fv74/Dhw8jJydFotSt/lPh40dSqvqh37dqFsWPHYuXKleplBQUFyMrKqlZMut6fGOWtX1lZWRqlKJ5shYiMjIRCocCvv/6qHjgAQOuLaVU6d+6Mzp07Y+nSpdi+fTtGjRqFHTt2iKp1Vv43i4uLq7Du5s2bcHd3h5OTE4B/HnedOHECfn5+6gSuR48eKCwsxLZt25CamqpxjFXZt28fCgsLsXfvXo1WxYiICK1jNwaNGjXCm2++iXXr1qlHApfz8PCAo6NjledWKpXC19e3Wu8r5u9WFXd3d+zatQvdu3dHnz59cPLkyWfW5evevTvq1q2Ln376CZ988skzHxv7+/tXGePjx/H4/6XHVbdFD6j6O6jcmDFjMGjQIJw7dw7btm1D27Zt0bx582q/3+P8/PzQrVs3REZG4t13362y/Et5fbvXX38dr776aoX106dPx7Zt29C7d2+dxEW1gy12ZDL69++P0tJS/Oc//9FY/u9//xsSiQT9+vVTL3Nycqo0ubKysqpwV/3tt99Wu+yHrvcnRqNGjQBAY6RoeZmXJ2MENFsTioqK8N1331XrfR8+fFjhmMsLsFb2OPZp6tWrhzZt2mDz5s0af69r167h4MGD6N+/v8b2PXr0QHR0NCIiItSJnbu7O4KDg9WtVtq02FV2TrKzs7Fx40ZR8RuDefPmobi4uELJFCsrK/Tt2xd79uzRGKWampqK7du3o3v37upHm2KJ/btVpX79+jh8+DDy8/Px4osvQqFQPHV7R0dHzJkzB7GxsZgzZ06lLWQ//vgjzp49C6DsO+Ps2bOIiopSr8/NzcX69evRoEEDNGvWDEDl/5dKS0uxfv16rY6jMuWJbVU3eeWzZnz55Zc4duyYzut1LlmyBAsXLqx0lpJy4eHhyM3NxdSpU/Hqq69W+HnllVfwyy+/iP5/TYbFFjsyGQMGDEDv3r3x6aef4s6dO2jdujUOHjyIPXv2YMaMGeovZwBo3749Dh8+jFWrVsHHxwcBAQHo1KkTXnnlFWzduhUuLi5o1qwZoqKicPjwYcjl8mrFpOv9idG3b1/4+flh4sSJ+PDDD2FlZYX//ve/8PDwwN27d9Xbde3aFXXr1sXYsWMxffp0SCQSbN26tVqP/oCyemPfffcdhgwZgkaNGiEnJwcbNmyATCbT+oL+uK+++gr9+vVDly5dMHHiROTn5+Pbb7+Fi4sLPvvsM41te/TogaVLlyI5OVkjgevZsyfWrVuHBg0aoH79+s98z759+8LW1hYDBgzA5MmT8ejRI2zYsAGenp6V9lczZuWtdk8m9EDZxf3QoUPo3r07pkyZAmtra6xbtw6FhYWiaudVRszf7WkaN26MgwcPolevXggLC8PRo0efmnB++OGHuH79OlauXImIiAi8+uqr8Pb2RkpKCnbv3o2zZ8/i9OnTAICPP/4YP/30E/r164fp06fDzc0NmzdvRmJiIn755RdIpWVtG82bN0fnzp0xd+5cZGZmws3NDTt27EBJSUm1z0+jRo3g6uqKtWvXwtnZGU5OTujUqZO6H6ONjQ1GjBiB//znP7CyssLIkSMr7GPTpk0YP348Nm7cqK7Fqa2QkJBnDsTYtm0b5HJ5lbN0DBw4EBs2bMBvv/2GoUOHinp/Mhy22JHJkEql2Lt3L2bMmIH9+/djxowZuHHjBr766iusWrVKY9tVq1ahffv2mDdvHkaOHKkuPPvNN99gzJgx2LZtG2bPno0HDx7g8OHDT50/8Wl0vT8xbGxsEB4ejkaNGmH+/PlYvXo13nrrrQp18eRyOfbv34969eph3rx5WLFiBV588cVqX9hDQkLQoUMH7NixA9OnT8fy5csRGBiIo0ePat35/nGhoaE4cOAA5HI5FixYgBUrVqBz5844depUhf117doVVlZWcHZ21qis//hjWW00bdoUu3btgkQiwQcffIC1a9di0qRJeP/990XHbwzmzZtX6WPJ5s2b48SJE2jRogWWLVuGRYsWwd/fHxERERUe3Yol5u/2LC1btsQff/yBv/76CwMGDEB+fn6V20qlUmzZsgW7du2Cu7s7VqxYgUmTJuHbb79FQEAAIiMj0aVLFwCAl5cXTp8+jRdffBHffvst5s6dC1tbW+zbtw9DhgzR2O+2bdvQtWtXfPHFF/j888/Ru3fvZ9YJfBobGxts3rwZVlZWeOeddzBy5MgK/dXGjBkDAOjTpw/q1atXYR/lfVYrW1dTaWlpOHz4MPr371/lI+0+ffrA0dERP/74o87fn/RHIlT3tp2IiIiq7fLly2jTpg22bNmC0aNHV1g/fPhw3LlzR/1omUgbfBRLRERkABs2bECdOnUqfcwpCAIiIyPZWkaiMbEjIiKqRfv27cONGzewfv16TJs2rdIRxBKJBGlpaQaIjkwdH8USERHVogYNGiA1NRVhYWHYunWr1jNpEGmDiR0RERGRmeCoWCIiIiIzwcSOiIiIyExw8ATK5oW8f/8+nJ2ddTIBMxEREZGuCIKAnJwc+Pj4qAtrV4WJHYD79+9Xe85EIiIiotqQnJz8zNl1mNgB6hFJycnJ1Z47kYiIiEgflEolfH19tRpBzcQOUD9+lclkTOyIiIjIKGnTXYyDJ4iIiIjMBBM7IiIiIjPBxI6IiIjITLCPnZZUKhWKiooMHYZFsLW1feZwbiIiIqqIiZ0WioqKkJiYCJVKZehQLIJUKkVAQABsbW0NHQoREZFJYWL3DIIg4MGDB7CysoKvry9bkvSsvFj0gwcP4Ofnx4LRREREIjCxe4aSkhLk5eXBx8cHjo6Ohg7HInh4eOD+/fsoKSmBjY2NocMhIiIyGWx+eobS0lIA4GPBWlR+rsvPPREREWmHiZ2W+Eiw9vBcExERVQ8TOyIiIiIzwT52REREJIpKJSA5TYmc/CI4O9jC11MGqZRPW4wBW+xqiUolICklG9cS05GUkg2VStD7e6anp+Pdd9+Fn58f7Ozs4O3tjbCwMJw6dQoA0KBBA0gkEpw5c0bjdTNmzECvXr00lmVmZmLGjBnw9/eHra0tfHx8MGHCBNy9e1e9zdq1a+Hs7IySkhL1skePHsHGxqbC/iIjIyGRSHDr1i3dHjQREenVzaQMrNhxBos3n8CyH09h8eYTWLHjDG4mZRg6NAJb7GrFzaQM7D0Vj7hkBQqKSmBva42mvnIM7BaIIH93vb3vsGHDUFRUhM2bN6Nhw4ZITU3FkSNHoFAo1NvY29tjzpw5OHbsWJX7yczMROfOnWFra4u1a9eiefPmuHPnDubNm4fnn38eUVFRaNiwIXr37o1Hjx7h/Pnz6Ny5MwDgxIkT8Pb2RnR0NAoKCmBvbw8AiIiIgJ+fHxo1aqS34yciIt26mZSBNeEXoFDmo76HM5zsbZBbUIyYhFQkpykxdUh7vV7X6NkM2mJ3/PhxDBgwAD4+PpBIJNi9e3eV277zzjuQSCT4+uuvNZZnZmZi1KhRkMlkcHV1xcSJE/Ho0SP9Bi5C+X+CmIRUyGUOaFLfDXKZA2ISUrEm/ILe7nCysrJw4sQJfPnll+jduzf8/f3RsWNHzJ07FwMHDlRvN2nSJJw5cwa///57lfv69NNPcf/+fRw+fBj9+vWDn58fevbsiT///BM2NjaYOnUqAKBp06aoV68eIiMj1a+NjIzEoEGDEBAQoNEyGBkZid69e+v+wImISC9UKgF7T8VDocxHsL8cMic7WFlJIXOyQ7C/HAplPvadjq+VJ1JUNYMmdrm5uWjdujXWrFnz1O3Cw8Nx5swZ+Pj4VFg3atQoXL9+HYcOHcL+/ftx/PhxTJo0SV8hi2LI/wR16tRBnTp1sHv3bhQWFla5XUBAAN555x3MnTu30pk1VCoVduzYgVGjRsHb21tjnYODA6ZMmYI///wTmZmZAIDevXsjIiJCvU1ERAR69eqFkJAQ9fL8/HxER0czsSMiMiHJaUrEJStQ38O5QvUCiUSC+h7OuHlXgeQ0pYEiJMDAiV2/fv2wZMkSDBkypMpt/v77b7z33nvYtm1bhWK1sbGxOHDgAP7v//4PnTp1Qvfu3fHtt99ix44duH//vr7DfyZD/iewtrbGpk2bsHnzZri6uqJbt2745JNPcOXKlQrbzps3D4mJidi2bVuFdenp6cjKykJwcHCl7xMcHAxBEJCQkACgLLE7deoUSkpKkJOTg0uXLiEkJAQ9e/ZUt+RFRUWhsLCQiR0RkQnJyS9CQVEJnOwrLxzvaG+DgqIS5ORzXnVDMurBEyqVCqNHj8aHH36I5s2bV1gfFRUFV1dXdOjQQb0sNDQUUqkU0dHRtRlqpQz9n2DYsGG4f/8+9u7di5deegmRkZFo164dNm3apLGdh4cHPvjgAyxYsABFRZXHIgjatSr26tULubm5OHfuHE6cOIEmTZrAw8MDISEh6n52kZGRaNiwIfz8/Gp6iEREVEucHWxhb2uN3ILiStfnFRTD3tYazg4s6G9IRp3Yffnll7C2tsb06dMrXZ+SkgJPT0+NZdbW1nBzc0NKSkqV+y0sLIRSqdT40Qdj+E9gb2+PF198EfPnz8fp06cxbtw4LFy4sMJ2s2bNQn5+Pr777juN5R4eHnB1dUVsbGyl+4+NjYVEIkHjxo0BAI0bN0b9+vURERGBiIgIhISEAAB8fHzg6+uL06dPIyIiAi+88IKOj5SIiPTJ11OGpr5y3EvPqXCzLwgC7qXnIMhPDl9PmYEiJMCIE7sLFy7gm2++waZNm3Q+E8GyZcvg4uKi/vH19dXp/ssZ43+CZs2aITc3t8LyOnXqYP78+Vi6dClycnLUy6VSKYYPH47t27dXSJbLE8GwsDC4ubmpl/fu3RuRkZGIjIzUKHPSs2dP/PHHHzh79iwfwxIRmRipVIKB3QIhlzkgNkkBZW4hSkpVUOYWIjZJAXcXBwzoGsh6dgZmtIndiRMnkJaWBj8/P1hbW8Pa2hpJSUmYPXs2GjRoAADw9vZGWlqaxutKSkqQmZlZoaP/4+bOnYvs7Gz1T3Jysl6OwZD/CRQKBV544QX8+OOPuHLlChITE7Fz504sX74cgwYNqvQ1kyZNgouLC7Zv366x/PPPP4e3tzdefPFF/PHHH0hOTsbx48cRFhaG4uLiCoNfevfujZMnTyImJkbdYgcAISEhWLduHYqKipjYERGZoCB/d0wd0h5tGntBocxH/L1MKJT5aBvohSmDWerEGBhtHbvRo0cjNDRUY1lYWBhGjx6N8ePHAwC6dOmCrKwsXLhwAe3btwcAHD16FCqVCp06dapy33Z2drCzs9Nf8I8p/09QXsfu74wc2Ntao22gFwZ01V8duzp16qBTp07497//jVu3bqG4uBi+vr54++238cknn1T6GhsbG/zrX//CG2+8obFcLpfjzJkzWLx4MSZPnoyUlBS4ubmhX79++PHHHyv0levduzfy8/MRFBQELy8v9fKQkBDk5OSoy6IQEZHpCfJ3RxNfOWeeMFISQdte8Xrw6NEj9WjKtm3bYtWqVejduzfc3Nwq7VjfoEEDzJgxAzNmzFAv69evH1JTU7F27VoUFxdj/Pjx6NChQ4VWp6dRKpVwcXFBdnY2ZDLNx6IFBQVITExEQECAurhudXD6Fe3p6pwTERGZg6flKU8yaIvd+fPnNR7JzZo1CwAwduzYCiM3q7Jt2zZMmzYNffr0gVQqxbBhw7B69Wp9hFsjUqkE/t4uhg6DiIiIzJhBE7tevXppXUYDAO7cuVNhmZubm6jWOSIiIiJzZbSDJ4iIiIhIHCZ2RERERGaCiR0RERGRmWBipyUDDh62ODzXRERE1WO0deyMhY2NDSQSCdLT0+Hh4aHzWTBIkyAISE9Ph0QigY1N5XPsEhERUeWY2D2DlZUV6tevj3v37lU6Kpd0TyKRoH79+rCysjJ0KERERCaFiZ0W6tSpg8DAQBQXFxs6FItgY2PDpI6IiKgamNhpycrKiskGERERGTUOniAiIiIyE0zsiIiIiMwEEzsiIiIiM8HEjoiIiMhMMLEjIiIiMhNM7IiIiIjMBBM7IiIiIjPBxI6IiIjITDCxIyIiIjITTOyIiIiIzAQTOyIiIiIzwcSOiIiIyEwwsSMiIiIyE0zsiIiIiMwEEzsiIiIiM8HEjoiIiMhMMLEjIiIiMhNM7IiIiIjMBBM7IiIiIjPBxI6IiIjITDCxIyIiIjITTOyIiIiIzAQTOyIiIiIzwcSOiIiIyExYGzoAIiJLo1IJSE5TIie/CM4OtvD1lEEqlRg6LCIyA0zsiIhq0c2kDOw9FY+4ZAUKikpgb2uNpr5yDOwWiCB/d0OHR0QmjokdEVEtuZmUgTXhF6BQ5qO+hzOc7G2QW1CMmIRUJKcpMXVIeyZ3RFQj7GNHRFQLVCoBe0/FQ6HMR7C/HDInO1hZSSFzskOwvxwKZT72nY6HSiUYOlQiMmFM7IiIakFymhJxyQrU93CGRKLZn04ikaC+hzNu3lUgOU1poAiJyBwwsSMiqgU5+UUoKCqBk71Npesd7W1QUFSCnPyiWo6MiMwJEzsiolrg7GALe1tr5BYUV7o+r6AY9rbWcHawreXIiMicMLEjIqoFvp4yNPWV4156DgRBsx+dIAi4l56DID85fD1lBoqQiMwBEzsiologlUowsFsg5DIHxCYpoMwtREmpCsrcQsQmKeDu4oABXQNZz46IaoSJHRFRLQnyd8fUIe3RprEXFMp8xN/LhEKZj7aBXpgymKVOiKjmWMeOiKgWBfm7o4mvnDNPEJFeMLEjIqplUqkE/t4uhg6DiMyQQR/FHj9+HAMGDICPjw8kEgl2796tXldcXIw5c+agZcuWcHJygo+PD8aMGYP79+9r7CMzMxOjRo2CTCaDq6srJk6ciEePHtXykRAREREZnkETu9zcXLRu3Rpr1qypsC4vLw8XL17E/PnzcfHiRfz666+Ii4vDwIEDNbYbNWoUrl+/jkOHDmH//v04fvw4Jk2aVFuHQERERGQ0JMKT4+4NRCKRIDw8HIMHD65ym3PnzqFjx45ISkqCn58fYmNj0axZM5w7dw4dOnQAABw4cAD9+/fHvXv34OPjo9V7K5VKuLi4IDs7GzIZSw0QERGR8RCTp5jUqNjs7GxIJBK4uroCAKKiouDq6qpO6gAgNDQUUqkU0dHRVe6nsLAQSqVS44eIiIjI1JlMYldQUIA5c+Zg5MiR6mw1JSUFnp6eGttZW1vDzc0NKSkpVe5r2bJlcHFxUf/4+vrqNXYiIiKi2mASiV1xcTGGDx8OQRDw/fff13h/c+fORXZ2tvonOTlZB1ESERERGZbRlzspT+qSkpJw9OhRjWfL3t7eSEtL09i+pKQEmZmZ8Pb2rnKfdnZ2sLOz01vMRERERIZg1C125UldfHw8Dh8+DLlcrrG+S5cuyMrKwoULF9TLjh49CpVKhU6dOtV2uEREREQGZdAWu0ePHiEhIUH9e2JiImJiYuDm5oZ69erh1VdfxcWLF7F//36Ulpaq+825ubnB1tYWwcHBeOmll/D2229j7dq1KC4uxrRp0zBixAitR8QSERERmQuDljuJjIxE7969KywfO3YsPvvsMwQEBFT6uoiICPTq1QtAWYHiadOmYd++fZBKpRg2bBhWr16NOnXqaB0Hy50QERGRsRKTpxhNHTtDYmJHRERExsps69gRERERUdWY2BERERGZCSZ2RERERGaCiR0RERGRmWBiR0RERGQmmNgRERERmQkmdkRERERmgokdERERkZlgYkdERERkJkTPFZuYmIgTJ04gKSkJeXl58PDwQNu2bdGlSxfY29vrI0YiIiIi0oLWid22bdvwzTff4Pz58/Dy8oKPjw8cHByQmZmJW7duwd7eHqNGjcKcOXPg7++vz5iJiMjEqVQCktOUyMkvgrODLXw9ZZBKJYYOi8jkaZXYtW3bFra2thg3bhx++eUX+Pr6aqwvLCxEVFQUduzYgQ4dOuC7777Da6+9ppeAiYjItN1MysDeU/GIS1agoKgE9rbWaOorx8BugQjydzd0eEQmTSIIgvCsjf7880+EhYVptUOFQoE7d+6gffv2NQ6utoiZXJeIiKrvZlIG1oRfgEKZj/oeznCyt0FuQTHupedALnPA1CHtmdwRPUFMnqJVi522SR0AyOVyyOVyrbcnIiLLoFIJ2HsqHgplPoL95ZBIyh69ypzsEOxoi9gkBfadjkcTX7mox7J8rEv0D9GDJy5evAgbGxu0bNkSALBnzx5s3LgRzZo1w2effQZbW1udB0lERKYvOU2JuGQF6ns4q5O6chKJBPU9nHHzrgLJaUr4e7totU8+1iXSJLrcyeTJk/HXX38BAG7fvo0RI0bA0dERO3fuxEcffaTzAImIyDzk5BehoKgETvY2la53tLdBQVEJcvKLtNpf+WPdmIRUyGUOaFLfDXKZA2ISUrEm/AJuJmXoMnwikyA6sfvrr7/Qpk0bAMDOnTvRs2dPbN++HZs2bcIvv/yi6/iIiMhMODvYwt7WGrkFxZWuzysohr2tNZwdnv3k58nHujInO1hZScse6/rLoVDmY9/peKhUz+xGTmRWRCd2giBApVIBAA4fPoz+/fsDAHx9fZGRwbsjIiKqnK+nDE195biXnoMnx+0JgoB76TkI8pPD1/PZg9jEPNYlsiSiE7sOHTpgyZIl2Lp1K44dO4aXX34ZQFnhYi8vL50HSERE5kEqlWBgt0DIZQ6ITVJAmVuIklIVlLmFiE1SwN3FAQO6Bmo18EHXj3WJzIXoxO7rr7/GxYsXMW3aNHz66ado3LgxAGDXrl3o2rWrzgMkIiLzEeTvjqlD2qNNYy8olPmIv5cJhTIfbQO9MGWw9qVOdPlYl8icaFXHThsFBQWwsrKCjU3ld0/GjHXsiIhqV01LlKhUAlbsOIOYhFSN0ilA2WPd2CQF2gZ6YfbrnVn6hEyezuvYPSkrKwu7du3CrVu38OGHH8LNzQ03btyAl5cXnnvuuWoFTURElkMqlWhd0qSq1w/sFojkNCVik8r62jna2yDv/xc7FvNYl8iciE7srly5gj59+sDV1RV37tzB22+/DTc3N/z666+4e/cutmzZoo84iYiINJQ/1i2vY/d3Rg7sba3RNtALA7qyjh1ZJtGJ3axZszB+/HgsX74czs7O6uX9+/fHG2+8odPgiIiInibI3x1NfOWceYLo/xOd2J07dw7r1q2rsPy5555DSkqKToIiIiLSVk0f6xKZE9GjYu3s7KBUVqwL9Ndff8HDw0MnQRERERGReKITu4EDB2Lx4sUoLi4bYi6RSHD37l3MmTMHw4YN03mARERERKQd0YndypUr8ejRI3h6eiI/Px8hISFo3LgxnJ2dsXTpUn3ESERERERaEN3HzsXFBYcOHcLJkydx5coVPHr0CO3atUNoaKg+4iMiIiIiLemsQLEpY4FiIiIiMlZ6L1B85MgRHDlyBGlpaVCpVBrr/vvf/1Znl0RERERUQ6ITu0WLFmHx4sXo0KED6tWrpzGNCxEREREZjujEbu3atdi0aRNGjx6tj3iIiIiIqJpEj4otKipC165d9RELEREREdWA6MTurbfewvbt2/URCxERERHVgFaPYmfNmqX+t0qlwvr163H48GG0atUKNjY2GtuuWrVKtxESERERkVa0SuwuXbqk8XubNm0AANeuXdNYzoEURERERIajVWIXERGh7ziIiIiIqIZE97HLzs5GZmZmheWZmZlQKpU6CYqIiIiIxBOd2I0YMQI7duyosPznn3/GiBEjdBIUEREREYknOrGLjo5G7969Kyzv1asXoqOjdRIUEREREYknukBxYWEhSkpKKiwvLi5Gfn6+ToIiqimVSkBymhI5+UVwdrCFr6cMUikH9xARkXkTndh17NgR69evx7fffquxfO3atWjfvr3OAiOqrptJGdh7Kh5xyQoUFJXA3tYaTX3lGNgtEEH+7oYOj4iISG9EP4pdsmQJ/u///g89e/bEokWLsGjRIvTs2RP//e9/8fnnn4va1/HjxzFgwAD4+PhAIpFg9+7dGusFQcCCBQtQr149ODg4IDQ0FPHx8RrbZGZmYtSoUZDJZHB1dcXEiRPx6NEjsYdFZuJmUgbWhF9ATEIq5DIHNKnvBrnMATEJqVgTfgE3kzIMHSIREZHeiE7sunXrhqioKPj6+uLnn3/Gvn370LhxY1y5cgU9evQQta/c3Fy0bt0aa9asqXT98uXLsXr1aqxduxbR0dFwcnJCWFgYCgoK1NuMGjUK169fx6FDh7B//34cP34ckyZNEntYZAZUKgF7T8VDocxHsL8cMic7WFlJIXOyQ7C/HAplPvadjodKJRg6VCIiIr2QCIJgFFc5iUSC8PBwDB48GEBZa52Pjw9mz56NDz74AEBZqRUvLy9s2rQJI0aMQGxsLJo1a4Zz586hQ4cOAIADBw6gf//+uHfvHnx8fLR6b6VSCRcXF2RnZ0Mmk+nl+J6FfcJqLiklG4s3n4Bc5gCZk12F9crcQiiU+Vgwtgf8vV0MECERkWHxWmOaxOQpovvYAWXTiiUkJCAtLQ0qlUpjXc+ePauzywoSExORkpKC0NBQ9TIXFxd06tQJUVFRGDFiBKKiouDq6qpO6gAgNDQUUqkU0dHRGDJkSKX7LiwsRGFhofp3Q9ffY58w3cjJL0JBUQmc7G0qXe9ob4O/M3KQk19Uy5ERERkerzWWQXRid+bMGbzxxhtISkrCk419EokEpaWlOgksJSUFAODl5aWx3MvLS70uJSUFnp6eGuutra3h5uam3qYyy5Ytw6JFi3QSZ02V9wlTKPNR38MZTvY2yC0oRkxCKpLTlJg6pD3/w2nJ2cEW9rbWyC0orrTFLq+gGPa21nB2sDVAdEREhsNrjeUQ3cfunXfeQYcOHXDt2jVkZmbi4cOH6p/KZqQwRnPnzkV2drb6Jzk52SBxsE+Ybvl6ytDUV4576TkVbjoEQcC99BwE+cnh62mYx+1ERIbAa41lEd1iFx8fj127dqFx48b6iEfN29sbAJCamop69eqpl6empqJNmzbqbdLS0jReV1JSgszMTPXrK2NnZwc7u4otOrUtOU2JuGQF6ns4QyLR7OMgkUhQ38MZN+8qkJymZJ8wLUilEgzsFojkNCVik8rOq6O9DfIKinEvPQfuLg4Y0DWQ/UmIyKLwWmNZRLfYderUCQkJCfqIRUNAQAC8vb1x5MgR9TKlUono6Gh06dIFANClSxdkZWXhwoUL6m2OHj0KlUqFTp066T3GmtKmT1hBUQn7hIkQ5O+OqUPao01jLyiU+Yi/lwmFMh9tA70wZTAfNRCR5eG1xrKIbrF77733MHv2bKSkpKBly5awsdH8oLRq1UrrfT169EgjSUxMTERMTAzc3Nzg5+eHGTNmYMmSJQgMDERAQADmz58PHx8f9cjZ4OBgvPTSS3j77bexdu1aFBcXY9q0aRgxYoTWI2INiX3C9CPI3x1NfOUc+UVEBF5rLI3oxG7YsGEAgAkTJqiXSSQSCIIgevDE+fPnNeadnTVrFgBg7Nix2LRpEz766CPk5uZi0qRJyMrKQvfu3XHgwAHY29urX7Nt2zZMmzYNffr0gVQqxbBhw7B69Wqxh2UQ5X3CYhJSEexoq9FEXt4nrG2gF/uEVYNUKuEjBSIi8FpjaUTXsUtKSnrqen9//xoFZAiGrGP35EilJ/uE8fEhERHVFK81pk1MnmI0BYoNydAFiiurLRTkJ8eArqwtREREusFrjenSeYHivXv3ol+/frCxscHevXufuu3AgQO1j5QAsE8YERHpH681lkGrFjupVKouBiyVVj2QVpcFimuToVvsiIiIiKqi8xa7x6cNe3IKMSIiIiIyDqLr2BERERGRcdIqsduxY4fWO0xOTsapU6eqHRARERERVY9Wid3333+P4OBgLF++HLGxsRXWZ2dn4/fff8cbb7yBdu3aQaFQ6DxQIiIiIno6rfrYHTt2DHv37sW3336LuXPnwsnJCV5eXrC3t8fDhw+RkpICd3d3jBs3DteuXYOXl5e+4yYiIiKiJ4iuY5eRkYGTJ08iKSkJ+fn5cHd3R9u2bdG2bdunjpg1ZhwVS0RERMZK56NiH+fu7q6eq5WIiIiIjIdpNrERERERUQVM7IiIiIjMBBM7IiIiIjMhuo8dERFZLpVK4FyjREaMiR0REWnlZlIG9p6KR1yyAgVFJbC3tUZTXzkGdgtEkL+7ocMjImiZ2M2aNUvrHa5atarawRARkXG6mZSBNeEXoFDmo76HM5zsbZBbUIyYhFQkpykxdUh7JnekN2wp1p5Wid2lS5e02plEwpNMRGRuVCoBe0/FQ6HMR7C/XP1dL3OyQ7CjLWKTFNh3Oh5NfOW82JLOsaVYHK0Su4iICH3HQURERio5TYm4ZAXqezhXuIGXSCSo7+GMm3cVSE5Twt/bxUBRkjliS7F4HBVLRM+kUglISsnGtcR0JKVkQ6USNWENmbic/CIUFJXAyd6m0vWO9jYoKCpBTn5RLUdG5uzJlmKZkx2srKRlLcX+ciiU+dh3Op7fR0/QqsVu6NChWu/w119/rXYwRGR8+BikjCX38XF2sIW9rTVyC4ohc7KrsD6voBj2ttZwdrA1QHRkrthSXD1aJXYuLjxhRJaIj0HKWHpy6+spQ1NfOWISUhHsaKtxkRUEAffSc9A20Au+npxrm3RHm5bivzNy2FL8BK0Su40bN+o7DiIyMuwwX4bJLSCVSjCwWyCS05SITSprQXG0t0FeQTHupefA3cUBA7oGmvXngGofW4qrh33siKhSYh6DmCv28flHkL87pg5pjzaNvaBQ5iP+XiYUyny0DfTClMHmn9xS7StvKb6XngNB0Pw/Vt5SHOQnZ0vxE6pVoHjXrl34+eefcffuXRQVaTaBXrx4USeBEZFh8TEI+/g8KcjfHU185Rbb15BqF1uKq0d0i93q1asxfvx4eHl54dKlS+jYsSPkcjlu376Nfv366SNGIjKAxx+DVMYSHoNwNGhFUqkE/t4uaBHgAX9vF15USa/YUiye6Ba77777DuvXr8fIkSOxadMmfPTRR2jYsCEWLFiAzMxMfcRIRAbADvPs40NkDNhSLI7oFru7d++ia9euAAAHBwfk5OQAAEaPHo2ffvpJt9ERkcGUPwaRyxwQm6SAMrcQJaUqKHMLEZuksIjHIOzjQ2Qc2FKsPdGJnbe3t7plzs/PD2fOnAEAJCYmVvjiIyLTZumPQZjcUnWxqDcZiuhHsS+88AL27t2Ltm3bYvz48Zg5cyZ27dqF8+fPiypkTESmwdIfg5Qnt+V17P7OyIG9rTXaBnphQFfLqGNH4lh63UMyLIkgsplNpVJBpVLB2rosJ9yxYwdOnz6NwMBATJ48Gba2ptfXRKlUwsXFBdnZ2ZDJ+EiFiCqy5JknSHtV1T28l54DuczBIuoeku6JyVO0SuyGDh2KTZs2QSaTYcuWLXj99ddhZ1exI7GpYmJHREQ1pVIJWLHjTNmAo8eKegNlfTJjkxRoG+iF2a935k0BiSImT9Gqj93+/fuRm5sLABg/fjyys7NrHiUREZEZYVFvMgZa9bELCgrC3Llz0bt3bwiCgJ9//rnKjHHMmDE6DZCIiMgUsKg3GQOtEru1a9di1qxZ+O233yCRSDBv3rwKdyNA2R0JEzsiIrJErHtIxkCrxK5r167qsiZSqRR//fUXPD099RoYERGRKWFRbzIGouvYJSYmwsPDQx+xEBERmSzWPSRjILrcSc+ePdGrVy+EhISgW7dusLe311dstYajYomISFcqq2MX5Cdn3UOqNjF5iugCxX379sXx48exatUqlJSUoEOHDhqJnqOjY7UDJyIiMnW6LurNGookhugWu3IlJSU4d+4cjh07hsjISBw9ehRSqRQFBQW6jlHv2GJHRETGiLNYEKDnFrtyt2/fxtWrV3H58mVcuXIFzs7O6NmzZ3V3R0RERI+pahaLmIRUJKcpOYsFVUp0YvfGG2/g2LFjKCwsRM+ePRESEoKPP/4YrVq1qrQEChEREYmjUgnYeyoeCmW+xiwWMic7BDvaIjZJgX2n49HEV87HsqRBdGK3Y8cOuLu746233sILL7yA7t27s18dERGRDomZxcLf20Wn780+faZNdGKnUChw4sQJREZGYu7cuYiNjUWbNm3Qq1cv9OrVC3379tVHnERERBbDULNYsE+f6RNdx65u3boYOHAgVq1ahQsXLuDKlSto0qQJvvrqK/Tr10+nwZWWlmL+/PkICAiAg4MDGjVqhH/96194fLyHIAhYsGAB6tWrBwcHB4SGhiI+Pl6ncRCReVOpBCSlZONaYjqSUrKhUlVrTBmRzjw+i0Vl9DGLRXmfvpiEVMhlDmhS3w1ymQNiElKxJvwCbiZl6Oy9SH+q1WJXPhI2MjISN27cgKurKwYMGICQkBCdBvfll1/i+++/x+bNm9G8eXOcP38e48ePh4uLC6ZPnw4AWL58OVavXo3NmzcjICAA8+fPR1hYGG7cuGEWNfaISL/YQkHGqLZnsWCfPvMhOrHz9PSEu7s7evTogbfffhu9evVCy5Yt9REbTp8+jUGDBuHll18GADRo0AA//fQTzp49C6Dsw/31119j3rx5GDRoEABgy5Yt8PLywu7duzFixAi9xEVE5oGjDslYlc9ikZymRGxSWV87R3sb5BUU4156js5nsTBknz7SLdGPYq9cuYLU1FTs2rUL7733nt6SOqBsjtojR47gr7/+AgBcvnwZJ0+eVD/yTUxMREpKCkJDQ9WvcXFxQadOnRAVFaW3uIjI9D3ZQiFzsoOVlbSshcJfDoUyH/tOx/OxLBlMkL87pg5pjzaNvaBQ5iP+XiYUyny0DfTClMG6venQpk9fQVGJzvv0ke6JbrFr3rw5ACA9PR1xcXEAgKZNm+pl/tiPP/4YSqUSQUFBsLKyQmlpKZYuXYpRo0YBAFJSUgAAXl5eGq/z8vJSr6tMYWEhCgsL1b8rlUqdx05Exo0tFGQKdD2LRVUe79Mnc7KrsF4fffpIP0S32OXm5mLChAmoV68eevbsiZ49e8LHxwcTJ05EXl6eToP7+eefsW3bNmzfvh0XL17E5s2bsWLFCmzevLlG+122bBlcXFzUP76+vjqKmIhMBVsoyFRIpRL4e7ugRYAH/L1d9NLHrbxP3730HDw5IVV5n74gP7nO+vSR/ohO7GbNmoVjx45h3759yMrKQlZWFvbs2YNjx45h9uzZOg3uww8/xMcff4wRI0agZcuWGD16NGbOnIlly5YBALy9vQEAqampGq9LTU1Vr6vM3LlzkZ2drf5JTk7WadxEZPwMMeqQyFiV9+mTyxwQm6SAMrcQJaUqKHMLEZuk0HmfPtIf0YndL7/8gh9++AH9+vWDTCaDTCZD//79sWHDBuzatUunweXl5UEq1QzRysoKKpUKABAQEABvb28cOXJEvV6pVCI6OhpdunSpcr92dnbq2Mt/iMiysIWCSFNt9ukj/RHdxy4vL69CnzagbLSsrh/FDhgwAEuXLoWfnx+aN2+OS5cuYdWqVZgwYQKAsn4wM2bMwJIlSxAYGKgud+Lj44PBgwfrNBYiMi+1PepQLFb/J0OorT59pD8S4clb1Wfo06cP5HI5tmzZoq4Tl5+fj7FjxyIzMxOHDx/WWXA5OTmYP38+wsPDkZaWBh8fH4wcORILFiyArW3Z4xFBELBw4UKsX78eWVlZ6N69O7777js0adJE6/dRKpVwcXFBdnY2W++ILExldeyC/OQY0NVwdexYW4+IHicmTxGd2F27dg1hYWEoLCxE69atAZSVIbG3t8eff/6pHjVrSpjYEVk2Y2odq6q23r30HMhlDqytR2SBxOQpoh/FtmjRAvHx8di2bRtu3rwJABg5ciRGjRoFBweH6kVMRGRA5aMODY3V/4mopkQndgDg6OiIt99+W9exEBFZNNbWI6KaqlZiFx8fj4iICKSlpalHqJZbsGCBTgIjIrI02tTW+zsjh7X1iKhKohO7DRs24N1334W7uzu8vb017iolEgkTOyKiamL1fyKqKdGJ3ZIlS7B06VLMmTNHH/EQEVms8tp6MQmpCHa01bhxLq+t1zbQi7X1iKhKogsUP3z4EK+99po+YiEismis/k9ENSU6sXvttddw8OBBfcRCRGTxWP2fiGpC9KPYxo0bY/78+Thz5gxatmwJGxvNTr7Tp0/XWXBERJaI1f+JqLpEFygOCAioemcSCW7fvl3joGobCxQTERGRsdJrgeLExMRqB0ZERERE+iO6j92TSktLERMTg4cPH+oiHiIiIiKqJtGJ3YwZM/DDDz8AKEvqevbsiXbt2sHX1xeRkZG6jo+IiIiItCQ6sdu1axdat24NANi3bx/u3LmDmzdvYubMmfj00091HiARERERaUd0YpeRkQFvb28AwO+//47XXnsNTZo0wYQJE3D16lWdB0hERERE2hGd2Hl5eeHGjRsoLS3FgQMH8OKLLwIA8vLyYGVlpfMAiYiIiEg7okfFjh8/HsOHD0e9evUgkUgQGhoKAIiOjkZQUJDOAyQiIiIyRiqVYHT1JkUndp999hlatGiB5ORkvPbaa7CzK5uo2srKCh9//LHOAyQiIiIyNjeTMrD3VDzikhUoKCqBva01mvrKMbBboEFniBFdoNgcsUAxERERaetmUgbWhF+AQpmP+h7OcLK3QW5BMe6l50Auc8DUIbqd/k9MnlLjOnZERERElkKlErD3VDwUynwE+8shc7KDlZUUMic7BPvLoVDmY9/peKhUhmk3Y2JHREREpKXkNCXikhWo7+EMiUSzP51EIkF9D2fcvKtAcprSIPGJ7mNH5sEYO3wSEREZu5z8IhQUlcDJ3qbS9Y72Nvg7Iwc5+UW1HFkZJnYWyFg7fBIRkeUxtYYGZwdb2NtaI7egGDInuwrr8wqKYW9rDWcHWwNEp2Vip1Rq35zIwQfGraoOnzEJqUhOU+q8wycREVFVTLGhwddThqa+csQkpCLY0VbjcawgCLiXnoO2gV7w9TRMPqRVYufq6lrhOfKTBEGARCJBaWmpTgIj3Xuyw2f531TmZIdgR1vEJimw73Q8mvjKjfpuiYiITJ+pNjRIpRIM7BaI5DQlYpPK+to52tsg7/+PinV3ccCAroEGu45qldhFREToOw6qBWI6fPp7uxgoSiIiMnem3tAQ5O+OqUPaq1sb/87Igb2tNdoGemFAV8O2NmqV2IWEhOg7DtJSTfoiGHuHTyIisgzm0NAQ5O+OJr5yo+sfWO3BE3l5ebh79y6KijSTgFatWtU4KKpcTfsiGHuHTyIisgzm0tAglUqMLvEUndilp6dj/Pjx+OOPPypdzz52+qGLvgjG3uGTiIgsAxsa9Ed0geIZM2YgKysL0dHRcHBwwIEDB7B582YEBgZi7969+ojR4umqynV5h0+5zAGxSQoocwtRUqqCMrcQsUkKg3f41JZKJSApJRvXEtORlJJtsOreRERUPeUNDffSc/DkzKblDQ1BfnI2NFSD6Ba7o0ePYs+ePejQoQOkUin8/f3x4osvQiaTYdmyZXj55Zf1EadF02VfBGPu8KkNUxwaT0REmox9ZKkpE53Y5ebmwtPTEwBQt25dpKeno0mTJmjZsiUuXryo8wBJ930RjLXD57OY6tB4IiKqyNQbGoyV6MSuadOmiIuLQ4MGDdC6dWusW7cODRo0wNq1a1GvXj19xGjx9NEXwRg7fD6NqQ+NJyKiiky1ocGYiU7s3n//fTx48AAAsHDhQrz00kvYtm0bbG1tsWnTJl3HR+CgB8A8hsYDpjd1DhFRTWjznWdqDQ3GTnRi9+abb6r/3b59eyQlJeHmzZvw8/ODuzubTfWBfRHMY2g8+wcSkSXhd55hVLuOXTlHR0e0a9dOF7HQU1h6XwRTHxrP/oFEZEn4nWc4ohO7CRMmPHX9f//732oHQ09nyX0RTPlxNPsHEpEl4XeeYYlO7B4+fKjxe3FxMa5du4asrCy88MILOguMKmepfRFM+XG0ufQPJCLSBr/zDEt0YhceHl5hmUqlwrvvvotGjRrpJCiiypjq42hz6B9IRKQtfucZVo372AGAVCrFrFmz0KtXL3z00Ue62CWZGV2NBjXFx9Gm3j+QiEgMfucZlk4SOwC4desWSkpKdLU7MiO6Hhllao+jTbl/IFF1sKyPZeN3nmGJTuxmzZql8bsgCHjw4AF+++03jB07VmeBkXngyCjT7h9IJBZLXBC/8wxLIjw5++4z9O7dW+N3qVQKDw8PvPDCC5gwYQKsrXXWCFhrlEolXFxckJ2dDZmMdxC6olIJWLHjTNld22Mjo4CyG4LYJAXaBnph9uudLeI/eGUXvCA/uVH3DyQSo6obuXvpOZDLHCziRo7+we883RGTp4jOwiIiIqodGFkWjozSZIr9A4m0xRIX9CR+5xmG6TWvkcngyKiKTK1/IJG2eCNHleF3Xu2Tin1BamoqRo8eDR8fH1hbW8PKykrjR9f+/vtvvPnmm5DL5XBwcEDLli1x/vx59XpBELBgwQLUq1cPDg4OCA0NRXx8vM7jIPEeHxlVGY6MIjIf2tzIFRSVWNSNHNU+lUpAUko2riWmIyklGyqVqN5mZkF0i924ceNw9+5dzJ8/H/Xq1atwZ6ZLDx8+RLdu3dC7d2/88ccf8PDwQHx8POrWraveZvny5Vi9ejU2b96MgIAAzJ8/H2FhYbhx4wbs7e31Fhs9G0dGEVkOlrggQ+PAnTKiE7uTJ0/ixIkTaNOmjR7C0fTll1/C19cXGzduVC8LCAhQ/1sQBHz99deYN28eBg0aBADYsmULvLy8sHv3bowYMULvMVLVODKKyHJY0o0cy7kYH1Zg+IfoxM7X1xciB9JW2969exEWFobXXnsNx44dw3PPPYcpU6bg7bffBgAkJiYiJSUFoaGh6te4uLigU6dOiIqKqjKxKywsRGFhofp3pVKp3wOxYKY6WwQRiWMpN3JsFTI+HLijSXRi9/XXX+Pjjz/GunXr0KBBAz2E9I/bt2/j+++/x6xZs/DJJ5/g3LlzmD59OmxtbTF27FikpKQAALy8vDRe5+XlpV5XmWXLlmHRokV6jZ3+wZFRRJbB3G/k2CpknDhwR5PoxO71119HXl4eGjVqBEdHR9jYaHaUzczM1FlwKpUKHTp0wOeffw4AaNu2La5du4a1a9fWqBjy3LlzNQotK5VK+Pr61jheqpq2I6P4iIPItJnrjRxbhYwXKzBoqlaLXW2pV68emjVrprEsODgYv/zyCwDA29sbQNlI3Xr16qm3SU1NfWofQDs7O9jZVezcS4bFRxxE5sEcS1zoq1WIN7M1x4E7mkQndrU5bVi3bt0QFxenseyvv/6Cv78/gLKBFN7e3jhy5Ig6kVMqlYiOjsa7775ba3FSzfERBxEZM320CvFmVjcsaeCONqpVoFilUiEhIQFpaWlQqVQa63r27KmTwABg5syZ6Nq1Kz7//HMMHz4cZ8+exfr167F+/XoAZXdJM2bMwJIlSxAYGKgud+Lj44PBgwfrLA7SLz7iINIvtgrVnK5bhXgzqzuWMnBHW6ITuzNnzuCNN95AUlJShdGxEokEpaWlOgvu+eefR3h4OObOnYvFixcjICAAX3/9NUaNGqXe5qOPPkJubi4mTZqErKwsdO/eHQcOHGANOxPCjq/i8UJN2mKrkG7oslWIN7O6Z+4Dd8QQndi988476NChA3777Te9FygGgFdeeQWvvPJKleslEgkWL16MxYsX6zUO0h92fBWHF2rSFluFdEeXrUK8mdUPcx24I5boxC4+Ph67du1C48aN9REPWSB2fNUeL9SkLbYK6Z6uWoV4M6s/5jhwRyzRiV2nTp2QkJDAxI50hh1ftcMLNYnBViH90EWrEG9mSZ9EJ3bvvfceZs+ejZSUFLRs2bJCHbtWrVrpLDiyDOz4qh1eqEkMtgrpT01bhXgzS/okOrEbNmwYAGDChAnqZRKJBIIg6HzwBFWPKXasZ8fXZ+OFmsRgq5Dx4s0s6ZPoxC4xMVEfcZCOmHLHelPu+FobyTQv1CQGW4Wqp7ZujHkzS/oiOrErLw5MxsccOtabYsfX2kqmeaEmMdgqJF5t3xib8s0sGa9qFSgGgBs3buDu3bsoKtJ87DNw4MAaB0XisWO9YdRmMm3sF2pT7AJg7tgqpD1D3Rib4s0sGTfRid3t27cxZMgQXL16Vd23DoA6kWAfO8Ngx/raZ4hk2lgv1KbcBcDcsVXo2XhjTOZEdGL3/vvvIyAgAEeOHEFAQADOnj0LhUKB2bNnY8WKFfqIkbTAjvW1z1DJtLFdqM2hC4C5Y6vQ0/HGmJ5kyk8gRCd2UVFROHr0KNzd3SGVSiGVStG9e3csW7YM06dPx6VLl/QRJz0DO9bXPkMm08ZyodZXS4cpf6mS6eGNMT3O1J9AiE7sSktL4ezsDABwd3fH/fv30bRpU/j7+yMuLk7nAZJ22LG+9jGZ1k9Lh6l/qZJuccQ51SZzeAIhOrFr0aIFLl++jICAAHTq1AnLly+Hra0t1q9fj4YNG+ojRtKCsXesN0dMpnXf0mEOX6qkOxxxTrXJXPpaSsW+YN68eVCpVACAxYsXIzExET169MDvv/+O1atX6zxA0l55x/o2jb2gUOYj/l4mFMp8tA30wpTBvCDqWnkyLZc5IDZJAWVuIUpKVVDmFiI2SWERyfTjLR2VEdPS8eSXqszJDlZW0rIvVX85FMp87DsdD5VK0PVhkBEqT/JjElIhlzmgSX03yGUOiElIxZrwC7iZlKGz9+L/ZQLEPYEwZqJb7MLCwtT/bty4MW7evInMzEzUrVu3womg2mdsHevNnbGOUq0tumzpYAd2KscR52QI5tLXstp17B7n5uami92QjhhLx3pLYcnJtC67AJjLlyrVHEeckyGYS19LnSR2RJZOl8m0qY0I1VVLh7l8qVLNccQ5GYK59LVkYkdkRHTdWbw2572saUuHuXypUs0xySdDMJdBiEzsiIyErkeE1nbZkJq2dJjLlyrVHJN8MhRz6GvJxI7ICOi6s7iplg0xhy9Vqjkm+WRIpt7XUqvEbu/evVrvcODAgdUOhshS6bKzuKnXYjL1L1XSDSb5ZEim3NdSq8Ru8ODBWu1MIpGgtLS0JvEQWSRddhY3h7IhpvylSrrDJJ9IPK0Su/KCxESkH7rsLM6yIWROmOQTiSN65gki0r3yzuL30nMgCJozK5R3Fg/yk2vVWVyXs0EQEZFpqdbgidzcXBw7dgx3795FUZHmXf/06dN1EhiRJdFlZ3GOKCQislyiE7tLly6hf//+yMvLQ25uLtzc3JCRkQFHR0d4enoysSOqJl11FueIQiIiyyURnnzu8wy9evVCkyZNsHbtWri4uODy5cuwsbHBm2++iffffx9Dhw7VV6x6o1Qq4eLiguzsbMhkbMUQy9RmSjB2ujqfldWxC/KTc0QhEZGJEZOniE7sXF1dER0djaZNm8LV1RVRUVEIDg5GdHQ0xo4di5s3b9YoeENgYld9tV0El8Rh0l37eM6JSNfE5CmiH8Xa2NhAKi0bc+Hp6Ym7d+8iODgYLi4uSE5Orl7EZJJMtQiuJeGIwtrFGx0iMjTRiV3btm1x7tw5BAYGIiQkBAsWLEBGRga2bt2KFi1a6CNGMkKmXgSXSNd4o0NExkB0uZPPP/8c9erVAwAsXboUdevWxbvvvov09HSsW7dO5wGScRJTBJfI3D15oyNzsoOVlbTsRsdfDoUyH/tOx0OlEtXzhYhINNEtdh06dFD/29PTEwcOHNBpQObIHPvcsAgu0T/MYbYPIjIPohO7F154Ab/++itcXV01liuVSgwePBhHjx7VVWxmwVz73OhypgQiU8cbHSIyFqIfxUZGRlYoSgwABQUFOHHihE6CMhflfW5iElIhlzmgSX03yGUOiElIxZrwC7iZlGHoEKtNlzMlEJk6c5jtQ6USkJSSjWuJ6UhKyeZjYyITpXWL3ZUrV9T/vnHjBlJSUtS/l5aW4sCBA3juued0G50JM/fBBSyCS/QPU5/tw1yfLBBZIq0TuzZt2kAikUAikeCFF16osN7BwQHffvutToMzZZbQ50ZXMyUQmTpTvtHhaF4i86J1YpeYmAhBENCwYUOcPXsWHh4e6nW2trbw9PSElZWVXoI0RZbS5ybI3x1NfOVmNziESCxTvNEx9ycLRJZI68TO398fAKBSqfQWjDmxpMEFLIJLVMbUbnQs4ckCkaURPSoWAG7duoWvv/4asbGxAIBmzZrh/fffR6NGjXQanCkz9T43RFQ9pnSjYylPFogsiehRsX/++SeaNWuGs2fPolWrVmjVqhWio6PRvHlzHDp0SB8xmqTyPjdymQNikxRQ5haipFQFZW4hYpMURt3nhogsgzmM5iUiTRLhyVoVz9C2bVuEhYXhiy++0Fj+8ccf4+DBg7h48aJOA6wNYibXFauy0WZBfnKj7XNDRJZDpRKwYseZsicLj/WxA8qeLMQmKdA20AuzX+/Mm1AiAxKTp4hO7Ozt7XH16lUEBgZqLP/rr7/QqlUrFBQUiI/YwPSZ2AHmOfMEEZmHJ0fFPjmad8pgjoolMjQxeYroPnYeHh6IiYmpkNjFxMTA09NT7O4sgin1uSEiy2KKo3mrgzfYZCm0TuwWL16MDz74AG+//TYmTZqE27dvo2vXrgCAU6dO4csvv8SsWbP0FigREemHqY3mFYsFmMmSaP0o1srKCg8ePICHhwe+/vprrFy5Evfv3wcA+Pj44MMPP8T06dMrDJnXpS+++AJz587F+++/j6+//hpA2VRms2fPxo4dO1BYWIiwsDB899138PLy0nq/+n4US0REhlFVAeZ76TmQyxxYgJlMgpg8RetRseX5n0QiwcyZM3Hv3j1kZ2cjOzsb9+7dw/vvv6/XpO7cuXNYt24dWrVqpbF85syZ2LdvH3bu3Iljx47h/v37GDp0qN7iICIi0/BkAWaZkx2srKRlBZj95VAo87HvdDznxSWzIqrcyZOJm7OzM5ydnXUaUGUePXqEUaNGYcOGDahbt656eXZ2Nn744QesWrUKL7zwAtq3b4+NGzfi9OnTOHPmjN7jIiLjx8ntLZeYAsxE5kLU4IkmTZo8s1UuMzOzRgFVZurUqXj55ZcRGhqKJUuWqJdfuHABxcXFCA0NVS8LCgqCn58foqKi0LlzZ53HQkSmg32rLBsLMJMlEpXYLVq0CC4utTu6c8eOHbh48SLOnTtXYV1KSgpsbW3h6uqqsdzLywspKSlV7rOwsBCFhYXq35VK3q2R5art0YK19X6c3J4saWpH0p65j5AWldiNGDGiVkuaJCcn4/3338ehQ4dgb2+vs/0uW7YMixYt0tn+iExVbbdo1db7cXJ7Aji1I1VkCa34Wvex0+fAiKpcuHABaWlpaNeuHaytrWFtbY1jx45h9erVsLa2hpeXF4qKipCVlaXxutTUVHh7e1e537lz56oHfmRnZyM5OVnPR0JkfMpbtGISUiGXOaBJfTfIZQ6ISUjFmvALuJmUYbLvx75VBHBqR9JU2995hiJ6VGxt6tOnD65evYqYmBj1T4cOHTBq1Cj1v21sbHDkyBH1a+Li4nD37l106dKlyv3a2dlBJpNp/BBZktoeLVjb76dN36qCohL2rbIA5QWY2zT2gkKZj/h7mVAo89E20IuzalgQSxohrfWjWJVKpc84KuXs7IwWLVpoLHNycoJcLlcvnzhxImbNmgU3NzfIZDK899576NKlCwdOED2FmBYtXcyaUtvvx75V9DhzL8BMz1bb30GGJHpKMWPz73//G1KpFMOGDdMoUExEVavt0YK1/X7sW0VP4tSOls2SRkibXGIXGRmp8bu9vT3WrFmDNWvWGCYgIhNU2y1atf1+5X2rktOUiE1SVDq5PftWEVkOS2rFF1WgmIjMQ3mL1r30nAr9Z8tbtIL85Dpr0art9wPYt4qI/mGI7yBDMbkWOyKqudpu0TJUCxr7VhERYFmt+BLBEMNdjYyYyXWJzEllNZ2C/OQY0LX26tjp8/2IiB5nqt9BYvIUJnZgYkeWzVxnniAiqowpfgeJyVP4KJYsmin+B9e12h4tyNGJRGRI5v4dxMSOLJYlTC1DRESWhYkdWSROEE9EROaI5U7I4ljS1DJERGRZmNiRxeEE8UREZK6Y2JHF4QTxRERkrpjYkcV5fGqZypjT1DJERGRZmNiRxbGkqWWIiMiyMLEji1M+tYxc5oDYJAWUuYUoKVVBmVuI2CSFWU0tQ0REloXlTsgilU8QX17H7u+MHNjbWqNtoJfRTy1DRPQkFlunckzsyGJxgnjTxgsZURkWW6fHMbEji2buU8uYK17IiMqw2Do9iX3siMiklF/IYhJSIZc5oEl9N8hlDohJSMWa8Au4mZRh6BCJagWLrVNlmNgRkcnghYzoHyy2TpVhYkdEJoMXMqJ/sNg6VYaJHRGZDF7IiP7BYutUGSZ2RGQyeCEj+geLrVNlmNgRkcnghYzoHyy2TpVhuROiZ2C9NONRfiFLTlMiNqmsr52jvQ3yCopxLz2HFzKyOCy2Tk+SCE/e9logpVIJFxcXZGdnQybjnT79g/XSjFNlf5cgPzkvZGSxeANq3sTkKWyxI6oCC38aL84aQqSJxdapHBM7oko8WS+tvLSGzMkOwY62iE1SYN/peDTxlTOZMBBeyIiIKuLgCaJKsF4aERGZIiZ2RJVgvTQiIjJFTOyIKsF6aUREZIqY2BFVgvXSiIjIFDGxI6oEC38SEZEpYmJHVIXywp9tGntBocxH/L1MKJT5aBvohSmDWeqEiIiMD8udED0F66WRsWNhWiJ6HBM7omdgvTQyVpwZhYiexMSOiMgEcWYUIqoM+9gREZmYJ2dGkTnZwcpKWjYzir8cCmU+9p2Oh0pl8VOBE1kcJnZERCaGM6MQUVWY2BERmRjOjEJEVWFiR0RkYjgzChFVhYkdEZGJ4cwoRFQVJnZERCaGM6MQUVWY2BERmSDOjEJElWEdOyIiE8WZUYjoSUbdYrds2TI8//zzcHZ2hqenJwYPHoy4uDiNbQoKCjB16lTI5XLUqVMHw4YNQ2pqqoEiJiKqXeUzo7QI8IC/twuTOiILZ9SJ3bFjxzB16lScOXMGhw4dQnFxMfr27Yvc3Fz1NjNnzsS+ffuwc+dOHDt2DPfv38fQoUMNGDURERGRYUiEJ4dUGbH09HR4enri2LFj6NmzJ7Kzs+Hh4YHt27fj1VdfBQDcvHkTwcHBiIqKQufOnbXar1KphIuLC7KzsyGTcRQZERERGQ8xeYpRt9g9KTs7GwDg5uYGALhw4QKKi4sRGhqq3iYoKAh+fn6IiooySIxEREREhmIygydUKhVmzJiBbt26oUWLFgCAlJQU2NrawtXVVWNbLy8vpKSkVLmvwsJCFBYWqn9XKjntDhEREZk+k2mxmzp1Kq5du4YdO3bUeF/Lli2Di4uL+sfX11cHERIREREZlkkkdtOmTcP+/fsRERGB+vXrq5d7e3ujqKgIWVlZGtunpqbC29u7yv3NnTsX2dnZ6p/k5GR9hU5ERERUa4w6sRMEAdOmTUN4eDiOHj2KgIAAjfXt27eHjY0Njhw5ol4WFxeHu3fvokuXLlXu187ODjKZTOOHiIiIyNQZdR+7qVOnYvv27dizZw+cnZ3V/eZcXFzg4OAAFxcXTJw4EbNmzYKbmxtkMhnee+89dOnSResRsURERETmwqjLnUgklRfa3LhxI8aNGwegrEDx7Nmz8dNPP6GwsBBhYWH47rvvnvoo9kksd0JERETGSkyeYtSJXW1hYkdERETGymzr2BERERFR1ZjYEREREZkJJnZEREREZoKJHREREZGZYGJHREREZCaY2BERERGZCSZ2RERERGaCiR0RERGRmWBiR0RERGQmjHquWDI8lUpAcpoSOflFcHawha+nDFJp5VO9ERERkWExsaMq3UzKwN5T8YhLVqCgqAT2ttZo6ivHwG6BCPJ3N3R4RERE9AQmdlSpm0kZWBN+AQplPup7OMPJ3ga5BcWISUhFcpoSU4e0Z3JHRERkZNjHjipQqQTsPRUPhTIfwf5yyJzsYGUlhczJDsH+ciiU+dh3Oh4qlWDoUImIiOgxTOyoguQ0JeKSFajv4QyJRLM/nUQiQX0PZ9y8q0BymtJAERIREVFlmNhRBTn5RSgoKoGTvU2l6x3tbVBQVIKc/KJajoyIiIiehokdVeDsYAt7W2vkFhRXuj6voBj2ttZwdrCt5ciIiIjoaZjYUQW+njI09ZXjXnoOBEGzH50gCLiXnoMgPzl8PWUGipCIiIgqw8SOKpBKJRjYLRBymQNikxRQ5haipFQFZW4hYpMUcHdxwICugaxnR0REZGSY2FGlgvzdMXVIe7Rp7AWFMh/x9zKhUOajbaAXpgxmqRMiIiJjxDp2VKUgf3c08ZVz5gkiIiITwcSOnkoqlcDf28XQYRAREZEW+CiWiIiIyEwwsSMiIiIyE0zsiIiIiMwEEzsiIiIiM8HEjoiIiMhMMLEjIiIiMhNM7IiIiIjMBBM7IiIiIjPBxI6IiIjITDCxIyIiIjITnFIMgCAIAAClUmngSIiIiIg0lecn5fnK0zCxA5CTkwMA8PX1NXAkRERERJXLycmBi8vT52+XCNqkf2ZOpVLh/v37cHZ2hkQiMXQ4z6RUKuHr64vk5GTIZDJDh2MReM5rH8957eM5Nwye99pnaudcEATk5OTAx8cHUunTe9GxxQ6AVCpF/fr1DR2GaDKZzCQ+kOaE57z28ZzXPp5zw+B5r32mdM6f1VJXjoMniIiIiMwEEzsiIiIiM8HEzgTZ2dlh4cKFsLOzM3QoFoPnvPbxnNc+nnPD4HmvfeZ8zjl4goiIiMhMsMWOiIiIyEwwsSMiIiIyE0zsiIiIiMwEEzsDOH78OAYMGAAfHx9IJBLs3r1bY31qairGjRsHHx8fODo64qWXXkJ8fLx6/Z07dyCRSCr92blzp3q7u3fv4uWXX4ajoyM8PT3x4YcfoqSkpLYO0+jU9LwDQEpKCkaPHg1vb284OTmhXbt2+OWXXzS2yczMxKhRoyCTyeDq6oqJEyfi0aNH+j48o6SLc37r1i0MGTIEHh4ekMlkGD58OFJTUzW24Tn/x7Jly/D888/D2dkZnp6eGDx4MOLi4jS2KSgowNSpUyGXy1GnTh0MGzaswjnV5vsjMjIS7dq1g52dHRo3boxNmzbp+/CMkq7O+fTp09G+fXvY2dmhTZs2lb7XlStX0KNHD9jb28PX1xfLly/X12EZPV2c98uXL2PkyJHw9fWFg4MDgoOD8c0331R4L1P6rDOxM4Dc3Fy0bt0aa9asqbBOEAQMHjwYt2/fxp49e3Dp0iX4+/sjNDQUubm5AMqmPnvw4IHGz6JFi1CnTh3069cPAFBaWoqXX34ZRUVFOH36NDZv3oxNmzZhwYIFtXqsxqSm5x0AxowZg7i4OOzduxdXr17F0KFDMXz4cFy6dEm9zahRo3D9+nUcOnQI+/fvx/HjxzFp0qRaOUZjU9Nznpubi759+0IikeDo0aM4deoUioqKMGDAAKhUKvW+eM7/cezYMUydOhVnzpzBoUOHUFxcjL59+2p8jmfOnIl9+/Zh586dOHbsGO7fv4+hQ4eq12vz/ZGYmIiXX34ZvXv3RkxMDGbMmIG33noLf/75Z60erzHQxTkvN2HCBLz++uuVvo9SqUTfvn3h7++PCxcu4KuvvsJnn32G9evX6+3YjJkuzvuFCxfg6emJH3/8EdevX8enn36KuXPn4j//+Y96G5P7rAtkUACE8PBw9e9xcXECAOHatWvqZaWlpYKHh4ewYcOGKvfTpk0bYcKECerff//9d0EqlQopKSnqZd9//70gk8mEwsJC3R6ECarueXdychK2bNmisS83Nzf1Njdu3BAACOfOnVOv/+OPPwSJRCL8/fffejoa01Cdc/7nn38KUqlUyM7OVm+TlZUlSCQS4dChQ4Ig8Jw/S1pamgBAOHbsmCAIZefPxsZG2Llzp3qb2NhYAYAQFRUlCIJ23x8fffSR0Lx5c433ev3114WwsDB9H5LRq845f9zChQuF1q1bV1j+3XffCXXr1tX4Dp8zZ47QtGlT3R+ECarpeS83ZcoUoXfv3urfTe2zzhY7I1NYWAgAsLe3Vy+TSqWws7PDyZMnK33NhQsXEBMTg4kTJ6qXRUVFoWXLlvDy8lIvCwsLg1KpxPXr1/UUvenS9rx37doV//vf/5CZmQmVSoUdO3agoKAAvXr1AlB23l1dXdGhQwf1a0JDQyGVShEdHV07B2MitDnnhYWFkEgkGrWm7O3tIZVK1dvwnD9ddnY2AMDNzQ1A2fdFcXExQkND1dsEBQXBz88PUVFRALT7/oiKitLYR/k25fuwZNU559qIiopCz549YWtrq14WFhaGuLg4PHz4UEfRmy5dnffs7Gz1PgDT+6wzsTMy5R+6uXPn4uHDhygqKsKXX36Je/fu4cGDB5W+5ocffkBwcDC6du2qXpaSkqLxpQxA/XtKSor+DsBEaXvef/75ZxQXF0Mul8POzg6TJ09GeHg4GjduDKDs3Hp6emrs29raGm5ubjzvT9DmnHfu3BlOTk6YM2cO8vLykJubiw8++AClpaXqbXjOq6ZSqTBjxgx069YNLVq0AFB2vmxtbeHq6qqxrZeXl/p8afP9UdU2SqUS+fn5+jgck1Ddc64Nfq9XTVfn/fTp0/jf//6n0ZXD1D7rTOyMjI2NDX799Vf89ddfcHNzg6OjIyIiItCvXz9IpRX/XPn5+di+fbtGax2Jp+15nz9/PrKysnD48GGcP38es2bNwvDhw3H16lUDRm+atDnnHh4e2LlzJ/bt24c6derAxcUFWVlZaNeuXaX/H0jT1KlTce3aNezYscPQoVgMnnPD0MV5v3btGgYNGoSFCxeib9++OoyudlkbOgCqqH379oiJiUF2djaKiorg4eGBTp06aTxqKrdr1y7k5eVhzJgxGsu9vb1x9uxZjWXlI4G8vb31F7wJe9Z5v3XrFv7zn//g2rVraN68OQCgdevWOHHiBNasWYO1a9fC29sbaWlpGvstKSlBZmYmz3sltPms9+3bF7du3UJGRgasra3h6uoKb29vNGzYEAB4zqswbdo09UCS+vXrq5d7e3ujqKgIWVlZGi0Zqamp6vOlzfeHt7d3hVGdqampkMlkcHBw0MchGb2anHNtVHXOy9dZKl2c9xs3bqBPnz6YNGkS5s2bp7HO1D7rvOU1Yi4uLvDw8EB8fDzOnz+PQYMGVdjmhx9+wMCBA+Hh4aGxvEuXLrh69arGBe/QoUOQyWRo1qyZ3mM3ZVWd97y8PACo0FJkZWWlHqHZpUsXZGVl4cKFC+r1R48ehUqlQqdOnWrpCEyPNp91d3d3uLq64ujRo0hLS8PAgQMB8Jw/SRAETJs2DeHh4Th69CgCAgI01rdv3x42NjY4cuSIellcXBzu3r2LLl26ANDu+6NLly4a+yjfpnwflkQX51wbXbp0wfHjx1FcXKxedujQITRt2hR169at+YGYGF2d9+vXr6N3794YO3Ysli5dWuF9TO6zbuDBGxYpJydHuHTpknDp0iUBgLBq1Srh0qVLQlJSkiAIgvDzzz8LERERwq1bt4Tdu3cL/v7+wtChQyvsJz4+XpBIJMIff/xRYV1JSYnQokULoW/fvkJMTIxw4MABwcPDQ5g7d67ej89Y1fS8FxUVCY0bNxZ69OghREdHCwkJCcKKFSsEiUQi/Pbbb+rtXnrpJaFt27ZCdHS0cPLkSSEwMFAYOXJkrR+vMdDFZ/2///2vEBUVJSQkJAhbt24V3NzchFmzZmlsw3P+j3fffVdwcXERIiMjhQcPHqh/8vLy1Nu88847gp+fn3D06FHh/PnzQpcuXYQuXbqo12vz/XH79m3B0dFR+PDDD4XY2FhhzZo1gpWVlXDgwIFaPV5joItzLghl3+mXLl0SJk+eLDRp0kT9f6d8FGxWVpbg5eUljB49Wrh27ZqwY8cOwdHRUVi3bl2tHq+x0MV5v3r1quDh4SG8+eabGvtIS0tTb2Nqn3UmdgYQEREhAKjwM3bsWEEQBOGbb74R6tevL9jY2Ah+fn7CvHnzKi1RMnfuXMHX11coLS2t9H3u3Lkj9OvXT3BwcBDc3d2F2bNnC8XFxfo8NKOmi/P+119/CUOHDhU8PT0FR0dHoVWrVhXKnygUCmHkyJFCnTp1BJlMJowfP17IycmprcM0Kro453PmzBG8vLwEGxsbITAwUFi5cqWgUqk0tuE5/0dl5xuAsHHjRvU2+fn5wpQpU4S6desKjo6OwpAhQ4QHDx5o7Eeb74+IiAihTZs2gq2trdCwYUON97AkujrnISEhle4nMTFRvc3ly5eF7t27C3Z2dsJzzz0nfPHFF7V0lMZHF+d94cKFle7D399f471M6bMuEQRB0EdLIBERERHVLvaxIyIiIjITTOyIiIiIzAQTOyIiIiIzwcSOiIiIyEwwsSMiIiIyE0zsiIiIiMwEEzsiIiIiM8HEjoiIiMhMMLEjIiIiMhNM7IiIqiAIAkJDQxEWFlZh3XfffQdXV1fcu3fPAJEREVWOiR0RURUkEgk2btyI6OhorFu3Tr08MTERH330Eb799lvUr19fp+9ZXFys0/0RkWVhYkdE9BS+vr745ptv8MEHHyAxMRGCIGDixIno27cv2rZti379+qFOnTrw8vLC6NGjkZGRoX7tgQMH0L17d7i6ukIul+OVV17BrVu31Ovv3LkDiUSC//3vfwgJCYG9vT22bdtmiMMkIjMhEQRBMHQQRETGbvDgwcjOzsbQoUPxr3/9C9evX0fz5s3x1ltvYcyYMcjPz8ecOXNQUlKCo0ePAgB++eUXSCQStGrVCo8ePcKCBQtw584dxMTEQCqV4s6dOwgICECDBg2wcuVKtG3bFvb29qhXr56Bj5aITBUTOyIiLaSlpaF58+bIzMzEL7/8gmvXruHEiRP4888/1dvcu3cPvr6+iIuLQ5MmTSrsIyMjAx4eHrh69SpatGihTuy+/vprvP/++7V5OERkpvgolohIC56enpg8eTKCg4MxePBgXL58GREREahTp476JygoCADUj1vj4+MxcuRINGzYEDKZDA0aNAAA3L17V2PfHTp0qNVjISLzZW3oAIiITIW1tTWsrcu+Nh89eoQBAwbgyy+/rLBd+aPUAQMGwN/fHxs2bICPjw9UKhVatGiBoqIije2dnJz0HzwRWQQmdkRE1dCuXTv88ssvaNCggTrZe5xCoUBcXBw2bNiAHj16AABOnjxZ22ESkYXho1giomqYOnUqMjMzMXLkSJw7dw63bt3Cn3/+ifHjx6O0tBR169aFXC7H+vXrkZCQgKNHj2LWrFmGDpuIzBwTOyKiavDx8cGpU6dQWlqKvn37omXLlpgxYwZcXV0hlUohlUqxY8cOXLhwAS1atMDMmTPx1VdfGTpsIjJzHBVLREREZCbYYkdERERkJpjYEREREZkJJnZEREREZoKJHREREZGZYGJHREREZCaY2BERERGZCSZ2RERERGaCiR0RERGRmWBiR0RERGQmmNgRERERmQkmdkRERERmgokdERERkZn4f0U0ZwcYYOAqAAAAAElFTkSuQmCC", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "from utils import decorate\n", "\n", "snow.plot(ls='', marker='o', alpha=0.5)\n", "\n", "decorate(xlabel='Year',\n", " ylabel='Total annual snowfall (inches)',\n", " title='Total annual snowfall in Norfolk County, MA')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Looking at this plot, it's hard to say whether snowfall is increasing, decreasing, or unchanged. In the last decade, we've had several years with more snow than 1978, including 2015, which was the snowiest winter in the Boston area in modern history, with a total of 141 inches.\n", "\n", "This kind of question -- looking at noisy data and wondering whether it is going up or down -- is precisely the question we can answer with Bayesian regression." ] }, { "cell_type": "code", "execution_count": 12, "metadata": { "execution": { "iopub.execute_input": "2021-04-16T19:38:44.774042Z", "iopub.status.busy": "2021-04-16T19:38:44.773344Z", "iopub.status.idle": "2021-04-16T19:38:44.776141Z", "shell.execute_reply": "2021-04-16T19:38:44.776580Z" }, "tags": [ "hide-cell" ] }, "outputs": [ { "data": { "text/plain": [ "YEAR\n", "1978 100.6\n", "1996 124.2\n", "2015 141.1\n", "Name: SNOW, dtype: float64" ] }, "execution_count": 12, "metadata": {}, "output_type": "execute_result" } ], "source": [ "snow.loc[[1978, 1996, 2015]]" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Regression Model\n", "\n", "The foundation of regression (Bayesian or not) is the assumption that a time series like this is the sum of two parts:\n", "\n", "1. A linear function of time, and\n", "\n", "2. A series of random values drawn from a distribution that is not changing over time.\n", "\n", "Mathematically, the regression model is\n", "\n", "$$y = a x + b + \\epsilon$$\n", "\n", "where $y$ is the series of measurements (snowfall in this example), $x$ is the series of times (years) and $\\epsilon$ is the series of random values.\n", "\n", "$a$ and $b$ are the slope and intercept of the line through the data. They are unknown parameters, so we will use the data to estimate them.\n", "\n", "We don't know the distribution of $\\epsilon$, so we'll make the additional assumption that it is a normal distribution with mean 0 and unknown standard deviation, $\\sigma$. \n", "To see whether this assumption is reasonable, I'll plot the distribution of total snowfall and a normal model with the same mean and standard deviation.\n", "\n", "Here's a `Pmf` object that represents the distribution of snowfall." ] }, { "cell_type": "code", "execution_count": 13, "metadata": { "execution": { "iopub.execute_input": "2021-04-16T19:38:44.780474Z", "iopub.status.busy": "2021-04-16T19:38:44.779794Z", "iopub.status.idle": "2021-04-16T19:38:44.786003Z", "shell.execute_reply": "2021-04-16T19:38:44.785532Z" } }, "outputs": [], "source": [ "from empiricaldist import Pmf\n", "\n", "pmf_snowfall = Pmf.from_seq(snow)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "And here are the mean and standard deviation of the data." ] }, { "cell_type": "code", "execution_count": 14, "metadata": { "execution": { "iopub.execute_input": "2021-04-16T19:38:44.789914Z", "iopub.status.busy": "2021-04-16T19:38:44.789309Z", "iopub.status.idle": "2021-04-16T19:38:44.791963Z", "shell.execute_reply": "2021-04-16T19:38:44.791602Z" } }, "outputs": [ { "data": { "text/plain": [ "(63.62363636363636, 25.851147072396568)" ] }, "execution_count": 14, "metadata": {}, "output_type": "execute_result" } ], "source": [ "mean, std = pmf_snowfall.mean(), pmf_snowfall.std()\n", "mean, std" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "I'll use the `norm` object from SciPy to compute the CDF of a normal distribution with the same mean and standard deviation." ] }, { "cell_type": "code", "execution_count": 15, "metadata": { "execution": { "iopub.execute_input": "2021-04-16T19:38:44.796359Z", "iopub.status.busy": "2021-04-16T19:38:44.795815Z", "iopub.status.idle": "2021-04-16T19:38:44.797503Z", "shell.execute_reply": "2021-04-16T19:38:44.797862Z" } }, "outputs": [], "source": [ "from scipy.stats import norm\n", "\n", "dist = norm(mean, std)\n", "qs = pmf_snowfall.qs\n", "ps = dist.cdf(qs)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Here's what the distribution of the data looks like compared to the normal model." ] }, { "cell_type": "code", "execution_count": 16, "metadata": { "execution": { "iopub.execute_input": "2021-04-16T19:38:44.821740Z", "iopub.status.busy": "2021-04-16T19:38:44.812987Z", "iopub.status.idle": "2021-04-16T19:38:44.975037Z", "shell.execute_reply": "2021-04-16T19:38:44.974589Z" }, "tags": [ "hide-input" ] }, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAnYAAAHWCAYAAAD6oMSKAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/SrBM8AAAACXBIWXMAAA9hAAAPYQGoP6dpAAB8C0lEQVR4nO3dd3hUVf4G8Hf6TMpMeu8hvQACRkCKK4oNxcqi0nTdXctasAEqyE9XcF0R24plxb6grl1EXZAmVZpCQkJJCKT3mbSZycz5/REzcEkhCZNMyvt5njww57bv3AzJy733nCMTQggQERERUb8nd3UBREREROQcDHZEREREAwSDHREREdEAwWBHRERENEAw2BERERENEAx2RERERAMEgx0RERHRAMFgR0RERDRAMNgRERERDRAMdkQDwMSJEzFx4kRXl3FWs2fPRlRUVLe27Yn3+NxzzyEmJgYKhQLDhg1z6r67qyfe55NPPgmZTObUfXaWTCbDk08+6ZJj9wXvv/8+EhMToVKp4OXl1aVt2/r3MtjPJ50dgx0NCu+88w5kMhm0Wi0KCgpaLZ84cSJSU1NdUBm5yg8//IBHHnkEY8eOxcqVK/HMM8+4uqRzUl9fjyeffBIbNmxwdSn0u0OHDmH27NmIjY3Fm2++iTfeeMPVJdEgoHR1AUS9yWw2Y+nSpXj55ZddXQq52Pr16yGXy/Hvf/8barXa1eU4/PDDD93arr6+HosXLwaAVlf8Hn/8ccybN+9cS+uWhoYGKJWD81fNhg0bYLfb8eKLL2LIkCGuLocGCV6xo0Fl2LBhePPNN1FYWNhjxxBCoKGhocf2T85RWloKnU7XZ0JdfX09AECtVju9JqVSCa1W69R9dpZWqx20wa60tBQAunwLluhcMNjRoLJgwQLYbDYsXbr0rOs2NTXhqaeeQmxsLDQaDaKiorBgwQKYzWbJelFRUbjqqqvw/fffY+TIkdDpdHj99dexYcMGyGQyfPzxx1i8eDFCQ0Ph6emJG264ATU1NTCbzbj//vsREBAADw8PzJkzp9W+V65ciT/84Q8ICAiARqNBcnIyXnvttW6/f5lMhnvuuQeffPIJkpOTodPpMHr0aPz2228AgNdffx1DhgyBVqvFxIkTkZeX12ofn3zyCUaMGAGdTgc/Pz/ceuutbd7e/uKLL5CamgqtVovU1FR8/vnnbdZkt9uxfPlypKSkQKvVIjAwEH/5y19QVVXVrffYme+bTCbDypUrUVdXB5lMBplMhnfeeafN/d1zzz3w8PBwBK/TTZ8+HUFBQbDZbACAL7/8EldeeSVCQkKg0WgQGxuLp556yrG8Rcut/927d2P8+PFwc3PDggULHMtOv+JmsViwcOFCjBgxAgaDAe7u7hg3bhx++uknxzp5eXnw9/cHACxevNjxnlqexWrrGbuufr63bNmC888/H1qtFjExMXjvvfc6+C6ccuYzYS21HDlyBLNnz4aXlxcMBgPmzJnT5jk+0+HDh3H99dcjKCgIWq0WYWFh+OMf/4iamhrJMe+55x7HZ1Cj0SAlJQVr165ttb+9e/fi8ssvh16vh4eHBy6++GJs377dsby6uhoKhQIvvfSSo628vBxyuRy+vr4QQjja77zzTgQFBTnO26JFiwAA/v7+kvPQ2c8JUbcIokFg5cqVAoDYtWuXuO2224RWqxUFBQWO5RMmTBApKSmSbWbNmiUAiBtuuEG8+uqrYubMmQKAmDp1qmS9yMhIMWTIEOHt7S3mzZsnVqxYIX766Sfx008/CQBi2LBhYvTo0eKll14S9957r5DJZOKPf/yjuPnmm8Xll18uXn31VTFjxgwBQCxevFiy71GjRonZs2eLF154Qbz88svi0ksvFQDEK6+8IllvwoQJYsKECWc9DwBEenq6CA8PF0uXLhVLly4VBoNBREREiFdeeUUkJyeL559/Xjz++ONCrVaLiy66qM3zOGrUKPHCCy+IefPmCZ1OJ6KiokRVVZVjve+//17I5XKRmpoqli1bJh577DFhMBhESkqKiIyMlOzzT3/6k1AqleKOO+4QK1asEI8++qhwd3cXo0aNEhaLpcvvsTPft/fff1+MGzdOaDQa8f7774v3339fHD16tM39bdq0SQAQH3/8saS9rq5OuLu7i7vvvtvRNnXqVHHTTTeJ5557Trz22mvixhtvFADEQw89JNl2woQJIigoSPj7+4u//e1v4vXXXxdffPFFm++zrKxMBAcHi7lz54rXXntN/OMf/xAJCQlCpVKJvXv3CiGEqK2tFa+99poAIK699lrHe9q/f78QQohFixaJM3/cd+XznZCQIAIDA8WCBQvEK6+8Is477zwhk8nEgQMHzvr9ACAWLVrkeN1Sy/Dhw8V1110n/vWvf4k//elPAoB4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559/fk7ng4haY7Ajom558cUX8fzzz+Of//wnfv31V0yePBlXX321IyDt3LkTAPC///0PRUVF+OyzzwAAJpMJs2bNwpYtW7B9+3bExcXhiiuukASHjhQVFWH69Om47bbbkJWVhQ0bNuC6666DEMKxzk8//YSjR4/ip59+wrvvvot33nkH77zzjmP57Nmz8csvv+Crr77Ctm3bIITAFVdcAavVCplMhvHjx2PDhg0AmkNKVlYWGhoacOjQIQDAxo0bMWrUKLi5uWHXrl247LLLcNNNN6GoqAgvvvgiAEAul+Oll17CwYMH8e6772L9+vV45JFHun2+KysrkZmZiZEjR5513eeffx4jR47E3r17cdddd+HOO+90XGmtra3FhAkTUFBQgK+++gr79+/HI488Arvd7tj+6NGj+OKLL/DNN9/gm2++wcaNG7F06VLH8iVLluC9997DihUrcPDgQTzwwAO49dZbsXHjRgDNzwFmZmbiu+++Q1ZWFl577TX4+flJajz//POxefPmbp8PImqHICLqhJUrVwqDweB4HRISIv7+979L1hk1apS46667hBBC5ObmCgBi7969He7XZrMJT09P8fXXXzvaAIjPP/+8zfV3794tAIi8vLw2l8+aNUtERkaKpqYmR9uNN94opk2bJoQQIicnRwAQP//8s2N5eXm50Ol04uOPPxZCCPHSSy+JlJQUIYQQX3zxhcjIyBDXXHONeO2114QQQkyaNEksWLDAsf0111wjZs2a1eH7/OSTT4Svr6/j9Znnc9GiRWLo0KHtbr93714BQOTn50vaJ0yYIO677z7H68jISHHrrbc6XtvtdhEQEOCo/fXXXxeenp6ioqKizeMsWrRIuLm5CaPR6Gh7+OGHRUZGhhBCiMbGRuHm5ia2bt0q2e72228X06dPF0IIMWXKFDFnzpx234sQQjzwwANi4sSJHa5DRF3HK3ZE1GVGoxGFhYUYO3aspH3s2LHIysrqcNuSkhLccccdiIuLg8FggF6vR21tLfLz8zt17KFDh+Liiy9GWloabrzxRrz55puoqqqSrJOSkgKFQuF4HRwcjNLSUgBAVlYWlEolMjIyHMt9fX2RkJDgqH3ChAnIzMxEWVkZNm7ciIkTJ2LixInYsGEDrFYrtm7d6ri13J7//e9/uPjiixEaGgpPT0/MmDEDFRUVqK+v79T7PFNDQwMAQKvVnnXd9PR0x99bbp+3vP99+/Zh+PDhHT7bFhUVBU9PT8fr08/fkSNHUF9fj0suuQQeHh6Or/feew9Hjx4FANx5551YtWoVhg0bhkceeQRbt25tdQydTtftc0FE7WOwI6JeNWvWLOzbtw8vvvgitm7din379sHX1xcWi6VT2ysUCvz444/47rvvkJycjJdffhkJCQnIzc11rKNSqSTbyGQyya3Gs0lLS4OPjw82btwoCXYbN27Erl27YLVaMWbMmHa3z8vLw1VXXYX09HT897//xe7du/Hqq68CQKff55labmWeGWLb0tH71+l057R9y3OC3377Lfbt2+f4yszMdDxnd/nll+P48eN44IEHUFhYiIsvvhgPPfSQZJ+VlZXw9/c/ay1E1DUMdkTUZXq9HiEhIfj5558l7T///DOSk5MBAGq1GgBgs9larXPvvffiiiuuQEpKCjQaDcrLy7t0fJlMhrFjx2Lx4sXYu3cv1Gp1px/ET0pKQlNTk6SzQEVFBbKzsx21y2QyjBs3Dl9++SUOHjyICy+8EOnp6TCbzXj99dcxcuRIuLu7t3uM3bt3w2634/nnn8cFF1yA+Ph4FBYWduk9nik2NhZ6vR6ZmZnntJ/09HTs27cPlZWV3do+OTkZGo0G+fn5GDJkiOQrPDzcsZ6/vz9mzZqFDz74AMuXL2/VgePAgQMYPnz4Ob0XImqNwY6IuuXhhx/Gs88+i9WrVyM7Oxvz5s3Dvn37cN999wEAAgICoNPpsHbtWpSUlKCmpgYAEBcXh/fffx9ZWVnYsWMHbrnllk5dRWqxY8cOPPPMM/jll1+Qn5+Pzz77DGVlZUhKSurU9nFxcbjmmmtwxx13YMuWLdi/fz9uvfVWhIaG4pprrnGsN3HiRPznP//BsGHD4OHhAblcjvHjx+PDDz/EhAkTOjzGkCFDYLVa8fLLL+PYsWN4//33sWLFik6/x7bI5XJMmjQJW7ZsOaf9TJ8+HUFBQZg6dSp+/vlnHDt2DP/973+xbdu2Tm3v6emJhx56CA888ADeffddHD16FHv27MHLL7+Md999FwCwcOFCfPnllzhy5AgOHjyIb775RvL9qa+vx+7du3HppZee03shotYY7IioW+69917MnTsXDz74INLS0rB27Vp89dVXjrHclEolXnrpJbz++usICQlxhKZ///vfqKqqwnnnnYcZM2bg3nvvRUBAQKePq9frsWnTJlxxxRWIj4/H448/jueffx6XX355p/excuVKjBgxAldddRVGjx4NIQTWrFkjuQU5YcIE2Gw2ybN0EydObNXWlqFDh2LZsmV49tlnkZqaig8//BBLlizpdH3t+dOf/oRVq1Z16bbymdRqNX744QcEBATgiiuuQFpaGpYuXSp5JvFsnnrqKTzxxBNYsmQJkpKScNlll+Hbb791DHGjVqsxf/58pKenY/z48VAoFFi1apVj+y+//BIREREYN25ct98HEbVNJsRpYwQQEVGfJYRARkYGHnjgAUyfPt3V5XTbBRdcgHvvvRc333yzq0shGnB4xY6IqJ+QyWR444030NTU5OpSuq28vBzXXXddvw6mRH0Zr9gRERERDRC8YkdEREQ0QDDYEREREQ0QDHZEREREAwSDHREREdEAwWBHRERENEAw2BERERENEAx2RERERAMEgx0RERHRAMFgR0RERDRAMNgRERERDRD/D6FORgdvdWKnAAAAAElFTkSuQmCC", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "import matplotlib.pyplot as plt\n", "\n", "plt.plot(qs, ps, color='C5', label='model')\n", "pmf_snowfall.make_cdf().plot(label='data')\n", "\n", "decorate(xlabel='Total snowfall (inches)',\n", " ylabel='CDF',\n", " title='Normal model of variation in snowfall')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We've had more winters below the mean than expected, but overall this looks like a reasonable model." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Least Squares Regression\n", "\n", "Our regression model has three parameters: slope, intercept, and standard deviation of $\\epsilon$.\n", "Before we can estimate them, we have to choose priors.\n", "To help with that, I'll use StatsModel to fit a line to the data by [least squares regression](https://en.wikipedia.org/wiki/Least_squares).\n", "\n", "First, I'll use `reset_index` to convert `snow`, which is a `Series`, to a `DataFrame`." ] }, { "cell_type": "code", "execution_count": 17, "metadata": { "execution": { "iopub.execute_input": "2021-04-16T19:38:44.985446Z", "iopub.status.busy": "2021-04-16T19:38:44.984866Z", "iopub.status.idle": "2021-04-16T19:38:44.988417Z", "shell.execute_reply": "2021-04-16T19:38:44.988051Z" } }, "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", "
YEARSNOW
0196844.7
1196999.2
2197066.8
\n", "
" ], "text/plain": [ " YEAR SNOW\n", "0 1968 44.7\n", "1 1969 99.2\n", "2 1970 66.8" ] }, "execution_count": 17, "metadata": {}, "output_type": "execute_result" } ], "source": [ "data = snow.reset_index()\n", "data.head(3)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The result is a `DataFrame` with two columns, `YEAR` and `SNOW`, in a format we can use with StatsModels.\n", "\n", "As we did in the previous chapter, I'll center the data by subtracting off the mean." ] }, { "cell_type": "code", "execution_count": 18, "metadata": { "execution": { "iopub.execute_input": "2021-04-16T19:38:44.994657Z", "iopub.status.busy": "2021-04-16T19:38:44.993833Z", "iopub.status.idle": "2021-04-16T19:38:44.996662Z", "shell.execute_reply": "2021-04-16T19:38:44.997259Z" } }, "outputs": [ { "data": { "text/plain": [ "1995" ] }, "execution_count": 18, "metadata": {}, "output_type": "execute_result" } ], "source": [ "offset = round(data['YEAR'].mean())\n", "data['x'] = data['YEAR'] - offset\n", "offset" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "And I'll add a column to `data` so the dependent variable has a standard name." ] }, { "cell_type": "code", "execution_count": 19, "metadata": { "execution": { "iopub.execute_input": "2021-04-16T19:38:45.002030Z", "iopub.status.busy": "2021-04-16T19:38:45.001189Z", "iopub.status.idle": "2021-04-16T19:38:45.002832Z", "shell.execute_reply": "2021-04-16T19:38:45.003449Z" } }, "outputs": [], "source": [ "data['y'] = data['SNOW']" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Now, we can use StatsModels to compute the least squares fit to the data and estimate `slope` and `intercept`." ] }, { "cell_type": "code", "execution_count": 20, "metadata": { "execution": { "iopub.execute_input": "2021-04-16T19:38:45.007222Z", "iopub.status.busy": "2021-04-16T19:38:45.006101Z", "iopub.status.idle": "2021-04-16T19:38:45.077844Z", "shell.execute_reply": "2021-04-16T19:38:45.078260Z" } }, "outputs": [ { "data": { "text/plain": [ "Intercept 63.623636\n", "x 0.376421\n", "dtype: float64" ] }, "execution_count": 20, "metadata": {}, "output_type": "execute_result" } ], "source": [ "import statsmodels.formula.api as smf\n", "\n", "formula = 'y ~ x'\n", "results = smf.ols(formula, data=data).fit()\n", "results.params" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The intercept, about 64 inches, is the expected snowfall when `x=0`, which is the beginning of 1994.\n", "The estimated slope indicates that total snowfall is increasing at a rate of about 0.5 inches per year. \n", "\n", "`results` also provides `resid`, which is an array of residuals, that is, the differences between the data and the fitted line.\n", "The standard deviation of the residuals is an estimate of `sigma`." ] }, { "cell_type": "code", "execution_count": 21, "metadata": { "execution": { "iopub.execute_input": "2021-04-16T19:38:45.082559Z", "iopub.status.busy": "2021-04-16T19:38:45.081856Z", "iopub.status.idle": "2021-04-16T19:38:45.085047Z", "shell.execute_reply": "2021-04-16T19:38:45.084586Z" } }, "outputs": [ { "data": { "text/plain": [ "25.382858670693558" ] }, "execution_count": 21, "metadata": {}, "output_type": "execute_result" } ], "source": [ "results.resid.std()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We'll use these estimates to choose prior distributions for the parameters." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Priors\n", "\n", "I'll use uniform distributions for all three parameters." ] }, { "cell_type": "code", "execution_count": 22, "metadata": { "execution": { "iopub.execute_input": "2021-04-16T19:38:45.090543Z", "iopub.status.busy": "2021-04-16T19:38:45.089992Z", "iopub.status.idle": "2021-04-16T19:38:45.091913Z", "shell.execute_reply": "2021-04-16T19:38:45.092335Z" } }, "outputs": [], "source": [ "import numpy as np\n", "from utils import make_uniform\n", "\n", "qs = np.linspace(-0.5, 1.5, 51)\n", "prior_slope = make_uniform(qs, 'Slope')" ] }, { "cell_type": "code", "execution_count": 23, "metadata": { "execution": { "iopub.execute_input": "2021-04-16T19:38:45.097282Z", "iopub.status.busy": "2021-04-16T19:38:45.096524Z", "iopub.status.idle": "2021-04-16T19:38:45.098971Z", "shell.execute_reply": "2021-04-16T19:38:45.098521Z" } }, "outputs": [], "source": [ "qs = np.linspace(54, 75, 41)\n", "prior_inter = make_uniform(qs, 'Intercept')" ] }, { "cell_type": "code", "execution_count": 24, "metadata": { "execution": { "iopub.execute_input": "2021-04-16T19:38:45.103775Z", "iopub.status.busy": "2021-04-16T19:38:45.103183Z", "iopub.status.idle": "2021-04-16T19:38:45.105613Z", "shell.execute_reply": "2021-04-16T19:38:45.105017Z" } }, "outputs": [], "source": [ "qs = np.linspace(20, 35, 31)\n", "prior_sigma = make_uniform(qs, 'Sigma')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "I made the prior distributions different lengths for two reasons. First, if we make a mistake and use the wrong distribution, it will be easier to catch the error if they are all different lengths.\n", "\n", "Second, it provides more precision for the most important parameter, `slope`, and spends less computational effort on the least important, `sigma`.\n", "\n", "In <<_ThreeParameterModel>> we made a joint distribution with three parameters. I'll wrap that process in a function:" ] }, { "cell_type": "code", "execution_count": 25, "metadata": { "execution": { "iopub.execute_input": "2021-04-16T19:38:45.110768Z", "iopub.status.busy": "2021-04-16T19:38:45.109913Z", "iopub.status.idle": "2021-04-16T19:38:45.111841Z", "shell.execute_reply": "2021-04-16T19:38:45.112302Z" } }, "outputs": [], "source": [ "from utils import make_joint\n", "\n", "def make_joint3(pmf1, pmf2, pmf3):\n", " \"\"\"Make a joint distribution with three parameters.\"\"\"\n", " joint2 = make_joint(pmf2, pmf1).stack()\n", " joint3 = make_joint(pmf3, joint2).stack()\n", " return Pmf(joint3)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "And use it to make a `Pmf` that represents the joint distribution of the three parameters." ] }, { "cell_type": "code", "execution_count": 26, "metadata": { "execution": { "iopub.execute_input": "2021-04-16T19:38:45.116443Z", "iopub.status.busy": "2021-04-16T19:38:45.115752Z", "iopub.status.idle": "2021-04-16T19:38:45.129978Z", "shell.execute_reply": "2021-04-16T19:38:45.129613Z" } }, "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", "
probs
SlopeInterceptSigma
-0.554.020.00.000015
20.50.000015
21.00.000015
\n", "
" ], "text/plain": [ "Slope Intercept Sigma\n", "-0.5 54.0 20.0 0.000015\n", " 20.5 0.000015\n", " 21.0 0.000015\n", "dtype: float64" ] }, "execution_count": 26, "metadata": {}, "output_type": "execute_result" } ], "source": [ "prior = make_joint3(prior_slope, prior_inter, prior_sigma)\n", "prior.head(3)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The index of `Pmf` has three columns, containing values of `slope`, `inter`, and `sigma`, in that order.\n", "\n", "With three parameters, the size of the joint distribution starts to get big. Specifically, it is the product of the lengths of the prior distributions. In this example, the prior distributions have 51, 41, and 31 values, so the length of the joint prior is 64,821." ] }, { "cell_type": "code", "execution_count": 27, "metadata": { "execution": { "iopub.execute_input": "2021-04-16T19:38:45.133803Z", "iopub.status.busy": "2021-04-16T19:38:45.133137Z", "iopub.status.idle": "2021-04-16T19:38:45.135815Z", "shell.execute_reply": "2021-04-16T19:38:45.136173Z" }, "tags": [ "hide-cell" ] }, "outputs": [ { "data": { "text/plain": [ "(51, 41, 31)" ] }, "execution_count": 27, "metadata": {}, "output_type": "execute_result" } ], "source": [ "len(prior_slope), len(prior_inter), len(prior_sigma)" ] }, { "cell_type": "code", "execution_count": 28, "metadata": { "execution": { "iopub.execute_input": "2021-04-16T19:38:45.139897Z", "iopub.status.busy": "2021-04-16T19:38:45.139320Z", "iopub.status.idle": "2021-04-16T19:38:45.141694Z", "shell.execute_reply": "2021-04-16T19:38:45.142063Z" }, "tags": [ "hide-cell" ] }, "outputs": [ { "data": { "text/plain": [ "64821" ] }, "execution_count": 28, "metadata": {}, "output_type": "execute_result" } ], "source": [ "len(prior_slope) * len(prior_inter) * len(prior_sigma)" ] }, { "cell_type": "code", "execution_count": 29, "metadata": { "execution": { "iopub.execute_input": "2021-04-16T19:38:45.145315Z", "iopub.status.busy": "2021-04-16T19:38:45.144835Z", "iopub.status.idle": "2021-04-16T19:38:45.147028Z", "shell.execute_reply": "2021-04-16T19:38:45.147371Z" }, "tags": [ "hide-cell" ] }, "outputs": [ { "data": { "text/plain": [ "64821" ] }, "execution_count": 29, "metadata": {}, "output_type": "execute_result" } ], "source": [ "len(prior)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Likelihood\n", "\n", "Now we'll compute the likelihood of the data.\n", "To demonstrate the process, let's assume temporarily that the parameters are known." ] }, { "cell_type": "code", "execution_count": 30, "metadata": { "execution": { "iopub.execute_input": "2021-04-16T19:38:45.150860Z", "iopub.status.busy": "2021-04-16T19:38:45.150270Z", "iopub.status.idle": "2021-04-16T19:38:45.153978Z", "shell.execute_reply": "2021-04-16T19:38:45.153346Z" } }, "outputs": [], "source": [ "inter = 64\n", "slope = 0.51\n", "sigma = 25" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "I'll extract the `xs` and `ys` from `data` as `Series` objects:" ] }, { "cell_type": "code", "execution_count": 31, "metadata": { "execution": { "iopub.execute_input": "2021-04-16T19:38:45.157932Z", "iopub.status.busy": "2021-04-16T19:38:45.157287Z", "iopub.status.idle": "2021-04-16T19:38:45.159173Z", "shell.execute_reply": "2021-04-16T19:38:45.159629Z" } }, "outputs": [], "source": [ "xs = data['x']\n", "ys = data['y']" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "And compute the \"residuals\", which are the differences between the actual values, `ys`, and the values we expect based on `slope` and `inter`." ] }, { "cell_type": "code", "execution_count": 32, "metadata": { "execution": { "iopub.execute_input": "2021-04-16T19:38:45.164698Z", "iopub.status.busy": "2021-04-16T19:38:45.163879Z", "iopub.status.idle": "2021-04-16T19:38:45.166494Z", "shell.execute_reply": "2021-04-16T19:38:45.165985Z" } }, "outputs": [], "source": [ "expected = slope * xs + inter\n", "resid = ys - expected" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "According to the model, the residuals should follow a normal distribution with mean 0 and standard deviation `sigma`. So we can compute the likelihood of each residual value using `norm` from SciPy." ] }, { "cell_type": "code", "execution_count": 33, "metadata": { "execution": { "iopub.execute_input": "2021-04-16T19:38:45.171835Z", "iopub.status.busy": "2021-04-16T19:38:45.171084Z", "iopub.status.idle": "2021-04-16T19:38:45.173013Z", "shell.execute_reply": "2021-04-16T19:38:45.173490Z" } }, "outputs": [], "source": [ "densities = norm(0, sigma).pdf(resid)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The result is an array of probability densities, one for each element of the dataset; their product is the likelihood of the data." ] }, { "cell_type": "code", "execution_count": 34, "metadata": { "execution": { "iopub.execute_input": "2021-04-16T19:38:45.177823Z", "iopub.status.busy": "2021-04-16T19:38:45.176986Z", "iopub.status.idle": "2021-04-16T19:38:45.179736Z", "shell.execute_reply": "2021-04-16T19:38:45.180173Z" } }, "outputs": [ { "data": { "text/plain": [ "9.70222384229511e-112" ] }, "execution_count": 34, "metadata": {}, "output_type": "execute_result" } ], "source": [ "likelihood = densities.prod()\n", "likelihood" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "As we saw in the previous chapter, the likelihood of any particular dataset tends to be small.\n", "If it's too small, we might exceed the limits of floating-point arithmetic.\n", "When that happens, we can avoid the problem by computing likelihoods under a log transform.\n", "But in this example that's not necessary." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## The Update\n", "\n", "Now we're ready to do the update. First, we need to compute the likelihood of the data for each possible set of parameters." ] }, { "cell_type": "code", "execution_count": 35, "metadata": { "execution": { "iopub.execute_input": "2021-04-16T19:38:45.185541Z", "iopub.status.busy": "2021-04-16T19:38:45.184543Z", "iopub.status.idle": "2021-04-16T19:39:24.492328Z", "shell.execute_reply": "2021-04-16T19:39:24.491834Z" } }, "outputs": [], "source": [ "likelihood = prior.copy()\n", "\n", "for slope, inter, sigma in prior.index:\n", " expected = slope * xs + inter\n", " resid = ys - expected\n", " densities = norm.pdf(resid, 0, sigma)\n", " likelihood[slope, inter, sigma] = densities.prod()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "This computation takes longer than many of the previous examples.\n", "We are approaching the limit of what we can do with grid approximations.\n", "\n", "Nevertheless, we can do the update in the usual way:" ] }, { "cell_type": "code", "execution_count": 36, "metadata": { "execution": { "iopub.execute_input": "2021-04-16T19:39:24.496186Z", "iopub.status.busy": "2021-04-16T19:39:24.495332Z", "iopub.status.idle": "2021-04-16T19:39:24.505907Z", "shell.execute_reply": "2021-04-16T19:39:24.506555Z" }, "tags": [ "hide-output" ] }, "outputs": [ { "data": { "text/plain": [ "5.116955523342424e-113" ] }, "execution_count": 36, "metadata": {}, "output_type": "execute_result" } ], "source": [ "posterior = prior * likelihood\n", "posterior.normalize()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The result is a `Pmf` with a three-level index containing values of `slope`, `inter`, and `sigma`.\n", "To get the marginal distributions from the joint posterior, we can use `Pmf.marginal`, which we saw in <<_ThreeParameterModel>>." ] }, { "cell_type": "code", "execution_count": 37, "metadata": { "execution": { "iopub.execute_input": "2021-04-16T19:39:24.511934Z", "iopub.status.busy": "2021-04-16T19:39:24.510975Z", "iopub.status.idle": "2021-04-16T19:39:24.521557Z", "shell.execute_reply": "2021-04-16T19:39:24.521978Z" } }, "outputs": [], "source": [ "posterior_slope = posterior.marginal(0)\n", "posterior_inter = posterior.marginal(1)\n", "posterior_sigma = posterior.marginal(2)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Here's the posterior distribution for `sigma`:" ] }, { "cell_type": "code", "execution_count": 38, "metadata": { "execution": { "iopub.execute_input": "2021-04-16T19:39:24.565248Z", "iopub.status.busy": "2021-04-16T19:39:24.537773Z", "iopub.status.idle": "2021-04-16T19:39:24.888743Z", "shell.execute_reply": "2021-04-16T19:39:24.888197Z" }, "tags": [ "hide-input" ] }, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAnYAAAHWCAYAAAD6oMSKAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/SrBM8AAAACXBIWXMAAA9hAAAPYQGoP6dpAAB1UklEQVR4nO3deVxU5f4H8M8wMOwgOyKbC4oIgqIiiEtJoqVJlluLZla3UrNreUtbtHv7XdtMK72ZdtszTU0zM0xxSQU3wNxBXACVXTYBWWae3x9eRw8MmwJnmPm8X6951XznOWe+c2ac+fI85zyPQgghQERERETtnoncCRARERFRy2BhR0RERGQgWNgRERERGQgWdkREREQGgoUdERERkYFgYUdERERkIFjYERERERkIFnZEREREBoKFHREREZGBYGFHREREZCBY2BEREREZCBZ2REbm66+/hkKhwMWLF+VORe+0xbG52+dYuHAhFApFi+2vOXQ918188vPzZXl+fXT48GFERETA2toaCoUCR48elTslMiIs7IgacfPH5ObNwsIC3bt3x8yZM5GTk9PizxcfH4+FCxeiqKioxfdNdJM+f870ObfGVFdXY/z48bh69SqWLFmC7777Dj4+PnKnRUaEhR1RE/3zn//Ed999h2XLliEiIgKfffYZwsPDUV5e3qLPEx8fj7fffrvVftSeeOIJVFRU8MdGh/Z4bO405zv5nLXV8akvt/bw/pw7dw7p6el45ZVX8Oyzz+Lxxx+Hg4OD3GmRETGVOwGi9mLUqFHo168fAODpp5+Gk5MTPvroI/zyyy+YPHmyzNk1rqysDNbW1lAqlVAqlS2+X31zJ3m19LFpC22Rc2t9dppL7udvitzcXABAhw4d5E2EjBZ77Iju0L333gsAuHDhgjaWnJyMUaNGwc7ODjY2Nhg+fDgOHDgg2a60tBQvvfQSfH19YW5uDldXV9x3331ISkrCwoULMXfuXABA586dtcO/t59TdPnyZTz11FNwc3ODubk5evXqhS+//FLyHDfPezp16hQeffRRODg4IDIyEkD95yk1JfeG9qvLzfapqal4/PHHYW9vDxcXF7z55psQQiAzMxNjx46FnZ0d3N3dsXjxYsn26enpeOGFF9CjRw9YWlrCyckJ48ePr5N7Y3nt3r0b/fr1g4WFBbp27YrPP/+8zrlquo7NzTZpaWl48skn0aFDB9jb22PatGl1emqbmmtz7Nu3D/3795fkXZuu97Ohz9jN11Xf5+xOPjsAkJ+fjwkTJsDOzg5OTk6YPXs2rl+/rn38ySefhK+vb53tar8PDeXWEp/dpryX9WnseZ588kkMHToUADB+/HgoFAoMGzas0f2uXLkSffv2hZWVleS0D4VCgS5dujQpN6Kb2GNHdIfOnTsHAHBycgIAnDx5EoMHD4adnR3+8Y9/wMzMDJ9//jmGDRuGPXv2ICwsDADw3HPPYf369Zg5cyYCAgJQUFCAffv24fTp0xg3bhxSU1Px448/YsmSJXB2dgYAuLi4AABycnIwcOBAKBQKzJw5Ey4uLvj9998xffp0lJSU4KWXXpLkOH78ePj5+eHf//43hBD1vpam5t7c/d40ceJE9OzZE++++y5+++03vPPOO3B0dMTnn3+Oe++9F++99x5++OEHvPLKK+jfvz+GDBkC4MZJ6PHx8Zg0aRI8PT1x8eJFfPbZZxg2bBhOnToFKyurRvNKTk7GyJEj0bFjR7z99ttQq9X45z//qT2mTTFhwgR07twZixYtQlJSEr744gu4urrivffe07Zpbq6NOX78OEaMGAEXFxcsXLgQNTU1WLBgAdzc3BrdtqHPWN++fRv9nAHNf48nTJgAX19fLFq0CAcOHMAnn3yCwsJCfPvtt8163U3J7XbN/ew25b280+f529/+hk6dOuHf//43XnzxRfTv37/R9+vvf/87li5dihEjRmDatGm4dOkSlixZgurqaowePRqhoaHNOHpEAAQRNeirr74SAMSOHTtEXl6eyMzMFGvWrBFOTk7C0tJSXLp0SQghRExMjFCpVOLcuXPaba9cuSJsbW3FkCFDtDF7e3sxY8aMep/vgw8+EADEhQsX6jw2ffp00bFjR5Gfny+JT5o0Sdjb24vy8nIhhBALFiwQAMTkyZPrfT2377+puTe0X11utn/22We1sZqaGuHp6SkUCoV49913tfHCwkJhaWkppk6dqo3dfD23S0hIEADEt99+26S8xowZI6ysrMTly5e1sbNnzwpTU1NR+yuw9rG5ud+nnnpK0u6hhx4STk5OklhTc9V1/HWJiYkRFhYWIj09XRs7deqUUCqVkrx17a+xz5gQ9X/OmvvZudn+wQcflLR94YUXBADx119/CSGEmDp1qvDx8amzz5vbNyW3lvjsNuW91KWpz7Nr1y4BQKxbt67Rff75558CgHj++ecl8bffflsAEIcOHWp0H0S1cSiWqImioqLg4uICLy8vTJo0CTY2Nti4cSM6deoEtVqNP/74AzExMZKhk44dO+LRRx/Fvn37UFJSAuDGuTcHDx7ElStXmvX8Qghs2LABY8aMgRAC+fn52lt0dDSKi4u1Q203Pffcc43utzm5N2e/t3v66ae1/69UKtGvXz8IITB9+nRtvEOHDujRowfOnz+vjVlaWmr/v7q6GgUFBejWrRs6dOhQ57XqykutVmPHjh2IiYmBh4eHNt6tWzeMGjWqyfnX3u/gwYNRUFAgOS7NzbUharUa27ZtQ0xMDLy9vbXxnj17Ijo6utHt7/QzdrvmvsczZsyQ3J81axYAYOvWrXecQ2Na4rOr671siedpiiVLlsDR0REffPCBJH5zODc1NbXZ+yRiYUfURMuXL8f27duxa9cunDp1CufPn9f+yObl5aG8vBw9evSos13Pnj2h0WiQmZkJAHj//fdx4sQJeHl5YcCAAVi4cKGkmKlPXl4eioqKsHLlSri4uEhu06ZNA3DrxO2bOnfu3KT9NjX35uz3drcXJwBgb28PCwsL7TDb7fHCwkLt/YqKCrz11lvw8vKCubk5nJ2d4eLigqKiIhQXF9d5ntp55ebmoqKiAt26davTVlesqfnfvMrxbnJtSF5eHioqKuDn51fnMV3vU213+hm7XXPf49q5du3aFSYmJq0659ydfHab8l62xPM0pqamBtu3b8eoUaPqXORTVVUFALCzs2vWPokAnmNH1GQDBgzQXhV7NyZMmIDBgwdj48aN+OOPP/DBBx/gvffew88//9xgL5JGowEAPP7445g6darONr1795bcv70XqSU1d7+6rmSs7+pGcdv5XLNmzcJXX32Fl156CeHh4bC3t4dCocCkSZO0x+Nu8mqq1si1Nd3pZ+x2d3ssa1+YUvv+TWq1+q6ep7ma8l62hYsXL+LatWsIDAys81hiYiKAG0UjUXOxsCNqAS4uLrCyskJKSkqdx86cOQMTExN4eXlpYx07dsQLL7yAF154Abm5uejbty/+7//+D6NGjar3B9DFxQW2trZQq9WIioqSLfe2tH79ekydOlVytez169ebPPeaq6srLCwskJaWVucxXbG7cbe53s7FxQWWlpY4e/Zsncd0vU+6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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "posterior_sigma.plot()\n", "\n", "decorate(xlabel='$\\sigma$, standard deviation of $\\epsilon$',\n", " ylabel='PDF',\n", " title='Posterior marginal distribution of $\\sigma$')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The most likely values for `sigma` are near 26 inches, which is consistent with our estimate based on the standard deviation of the data.\n", "\n", "However, to say whether snowfall is increasing or decreasing, we don't really care about `sigma`. It is a \"nuisance parameter\", so-called because we have to estimate it as part of the model, but we don't need it to answer the questions we are interested in.\n", "\n", "Nevertheless, it is good to check the marginal distributions to make sure \n", "\n", "* The location is consistent with our expectations, and \n", "\n", "* The posterior probabilities are near 0 at the extremes of the range, which indicates that the prior distribution covers all parameters with non-negligible probability.\n", "\n", "In this example, the posterior distribution of `sigma` looks fine." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Here's the posterior distribution of `inter`:" ] }, { "cell_type": "code", "execution_count": 39, "metadata": { "execution": { "iopub.execute_input": "2021-04-16T19:39:24.912873Z", "iopub.status.busy": "2021-04-16T19:39:24.909890Z", "iopub.status.idle": "2021-04-16T19:39:25.019756Z", "shell.execute_reply": "2021-04-16T19:39:25.019133Z" }, "tags": [ "hide-input" ] }, "outputs": [ { "data": { "image/png": "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E4899hgqKyvh6emJb775BhMnTkRiYiLmzJmDs2fPYtq0aejatevFX+ALTJgwATExMZgzZw62bt2Kf//73wgNDcWLL75oa/P222+jb9++uOmmm2CxWPDVV1/h/vvvh67reOCBBxr9XLXuuece/Pe//8Vvf/tbDB8+HN9//z3Gjh3b4H6X+h4DaoqltLQ0jBw5Ei+//HKDV2Q//PBDlJSU4IEHHkBFRQVef/11XH311di1a1eD748LNSa3uhrzuauVlZWF2267DdOmTcOUKVPw/vvv46677sLAgQPRt2/fep9DSombbroJP/zwA6ZNm4akpCSsWLECjz/+OI4fP45XX30VISEh+M9//oPnn38epaWlmDNnDgCgd+/ejT7/Wn//+9+hKAoee+wxFBUV4R//+AfuuOMObNq0CQDwl7/8BUVFRTh27BheffVVAIC/vz+AmqtuN910E37++Wf8/ve/R+/evbFr1y68+uqrOHDgAJYuXWp4ru+//x6ffPIJHnzwQQQHByM6OhonTpzAkCFDUFhYiN///vdISEjA8ePH8emnn6K8vByenp4oLy9HSkoKjh8/jv/7v/9D9+7dsX79esycORMnT5606//X0Hvk//7v/3DixAmsXLkS//nPf5r8OyMnYva9YKKG1PaxW7VqlTx16pQ8evSoXLx4sQwKCpI+Pj7y2LFjcvv27RKAvOeeewz7PvbYYxKA/P7776WUUn7++ecSgPzll1/qfb6L9TEaPXq0TExMNPRz0nVdDh8+XMbHx9vlPHLkSGm1Wh2ez+HDh6WUUubn50tPT085ZswYqWmard28efMkAPn+++/bYikpKRKAnD9/fsO/OCnllClTJAD5wgsv2GJnz56VPj4+UgghFy9ebIvv37/f7rwrKioMOUlZ06/Ly8tL/vWvf7XFfvjhBwlAxsbGyvLyckP7xMRE2a1bN1lSUmKLrVmzRgKw66NU9/lnzZolAci7777b0O7mm2+WQUFBhljd55VSyrS0NBkbG2uINaaPXe376f777zfEf/vb39rlWPf1vNT3WO1r9sQTTzjcduHvrLaPXe3noNamTZskAPnHP/6xwfOue8yL5Vb7etRq7OdOSimjoqIkAPnTTz/ZYvn5+dLLy0s++uijds91oaVLl0oA8m9/+5shftttt0khhMzKyjKcZ9++fS96vAvbXvg7qX0f9+7d29D37vXXX5cA5K5du2yx+vrY/ec//5GKosi1a9ca4vPnz5cA5Lp162wxAFJRFLlnzx5D28mTJ0tFURy+h2r7cj733HPSz89PHjhwwLD9iSeekKqqypycHCll094j7GPnHngrllxGamoqQkJCEBkZidtvvx3+/v74/PPP0bVrVyxbtgwAMGPGDMM+jz76KADgm2++AQBb35uvv/4a1dXVTXr+M2fO4Pvvv8eECRNQUlKCgoICFBQU4PTp00hLS0NmZiaOHz9u2Ofee+9tsP/VqlWrUFVVhUceecTQH+3ee+9FQECALfdaXl5emDp1apNyv+eee2z/37FjR/Tq1Qt+fn6YMGGCLd6rVy907NgRhw4dMjxXbU6apuH06dPw9/dHr169sHXrVrvnmTJlCnx8fGyPT5w4gV27dmHy5Mm2KxoAkJKSgsTExEbnf9999xkeX3HFFTh9+rTtVi8Aw/MWFRWhoKAAKSkpOHToEIqKihr9XABs76c//OEPhvgjjzzS4L6X8h670PTp0xvddvz48YYroEOGDMHQoUNt59FaGvu5q9WnTx9cccUVtschISHo1auX4T1X3/Ooqmr3ejz66KOQUuLbb79t9jk4MnXqVEP/u9qcG8oTqOl20Lt3byQkJNj+RhQUFNi6jvzwww+G9ikpKejTp4/tsa7rWLp0KW688UZbn+IL1d4eXbJkCa644gp06tTJ8DypqanQNA0//fSTYT+z3iPU9ngrllzGm2++iZ49e8JisSAsLAy9evWyFR1HjhyBoiiIi4sz7BMeHo6OHTviyJEjAGr+iN56662YPXs2Xn31VYwaNQrjx4/Hb3/7W3h5eV30+bOysiClxNNPP42nn37aYZv8/HzDH8/aW5oXU5tbr169DHFPT0/Exsbattfq2rVrkzp9e3t72/pN1QoMDES3bt3s+tAEBgbi7Nmztse6ruP111/HW2+9hcOHD0PTNNu22lvgF6p7vrW5131damOOikNHunfvbnjcqVMnAMDZs2cREBAAAFi3bh1mzZqFDRs22PW/KyoqQmBgYKOeqzZvRVHQo0cPQ7zua+TIpbzHalksFlufzMaIj4+3i/Xs2ROffPJJo4/RHI393NWq+zoCNa/lhe+5+p4nIiICHTp0MMRrb7PWfZ5LdbH3W0MyMzOxb98+u89crfz8fMPjup+ZU6dOobi4GP369WvweXbu3Nno5zHrPUJtj4UduYwhQ4Y4/BfshRrq7CuEwKeffoqNGzfiq6++wooVK3D33Xdj7ty52Lhxo+GqUl21HZIfe+wxpKWlOWxT9wvuwqtILaWpx6zvimF9cflrZ3QAeOGFF/D000/j7rvvxnPPPYfOnTtDURQ88sgjhg7azc2tsRrK9eDBgxg9ejQSEhLwyiuvIDIyEp6enli2bBleffVVh7m2lkt5j9W68EppS+Z14Wtb68Ji/VKO3RiNec85g0vJU9d1JCYm4pVXXnG4PTIy0vC4uZ8ZXddxzTXX4E9/+pPD7T179mzWccn1sbAjtxAVFQVd15GZmWnoLJ2Xl4fCwkJERUUZ2g8bNgzDhg3D888/j0WLFuGOO+7A4sWLcc8999T7JRUbGwsA8PDwQGpqaovmDgAZGRm25wCAqqoqHD58uEWfq6k+/fRTXHXVVXjvvfcM8cLCQgQHBze4f+25XTiisJajWHN99dVXqKysxJdffmm42lL3tldj1b6fDh48aLhKl5GR0ehjNOc91lyZmZl2sQMHDhhGanbq1MnhrcS6V7uakltTP3fNFRUVhVWrVqGkpMRw1W7//v227W2tvt9Tjx49sGPHDowePbpZr3NISAgCAgLsRjU7ep7S0tJG/31ozHuEo2DdA/vYkVu4/vrrAcBuJFjtv5prRzOePXvW7l/dSUlJAGCbiqB2BGLdqUZCQ0MxatQo/Otf/8LJkyftcjh16lSzck9NTYWnpyfeeOMNQ27vvfceioqKGjUSs7Woqmr3+1qyZIldX8L6REREoF+/fvjwww9RWlpqi//444/YtWtXi+YJGK+oFBUVYcGCBc063nXXXQcAeOONNwzxxqw0cCnvseZaunSp4TXZvHkzNm3aZDsPoKYQ2L9/v+F9umPHDqxbt85wrKbk1tjP3aW6/vrroWka5s2bZ4i/+uqrEEIYzrOt+Pn5Oey7OWHCBBw/fhzvvvuu3bZz585ddHQ8ANsyaF999RXS09Pttte+tyZMmIANGzZgxYoVdm0KCwthtVoNsca8R/z8/Gz7k+viFTtyC/3798eUKVPwzjvvoLCwECkpKdi8eTMWLlyI8ePH46qrrgIALFy4EG+99RZuvvlm9OjRAyUlJXj33XcREBBg+5Ly8fFBnz598PHHH6Nnz57o3Lkz+vXrh379+uHNN9/EyJEjkZiYiHvvvRexsbHIy8vDhg0bcOzYMbv53RojJCQEM2fOxOzZs3HttdfipptuQkZGBt566y0MHjwYd955Z4v+rprihhtuwF//+ldMnToVw4cPx65du/DRRx8Zriw25IUXXsC4ceMwYsQITJ06FWfPnsW8efPQr18/Q7F3KcaMGQNPT0/ceOON+L//+z+Ulpbi3XffRWhoqMMivCFJSUmYNGkS3nrrLRQVFWH48OFYvXp1o64yXup7rDni4uIwcuRITJ8+HZWVlXjttdcQFBRkuE13991345VXXkFaWhqmTZuG/Px8zJ8/H3379rUbhNLY3Br7ubtUN954I6666ir85S9/QXZ2Nvr374/vvvsOX3zxBR555BG7vpBtYeDAgfj4448xY8YMDB48GP7+/rjxxhvxu9/9Dp988gnuu+8+/PDDDxgxYgQ0TcP+/fvxySefYMWKFQ12KXnhhRfw3XffISUlxTZlysmTJ7FkyRL8/PPP6NixIx5//HF8+eWXuOGGG2xTxpSVlWHXrl349NNPkZ2dbbiq3pj3yMCBAwHUDBpKS0uDqqq4/fbbW+cXSK3HlLG4RE1QO53ExaaPkLJmuaPZs2fLmJgY6eHhISMjI+XMmTMNU5Ns3bpVTpo0SXbv3l16eXnJ0NBQecMNN8j09HTDsdavXy8HDhwoPT097aZ+OHjwoJw8ebIMDw+XHh4esmvXrvKGG26Qn376aaNyrjs9Rq158+bJhIQE6eHhIcPCwuT06dPl2bNnDW2aMpWDlDVTWfj5+dnF6ztOVFSUHDt2rO1xRUWFfPTRR2WXLl2kj4+PHDFihNywYUO900QsWbLEYR6LFy+WCQkJ0svLS/br109++eWX8tZbb5UJCQmGdnV/17XTa5w6dcrQztHv8Msvv5SXXXaZ9Pb2ltHR0fLFF1+U77//vl27xi4pdu7cOfmHP/xBBgUFST8/P3njjTfKo0ePNjjdyaW+x+p7zWq3OZru5KWXXpJz586VkZGR0svLS15xxRVyx44ddvv/97//lbGxsdLT01MmJSXJFStW2B3zYrnVne5EysZ97qS0f2/VauzrUVJSIv/4xz/KiIgI6eHhIePj4+VLL71kt5RbS0x3Uvd9XPt7XrBggS1WWloqf/vb38qOHTvaTd1TVVUlX3zxRdm3b1/p5eUlO3XqJAcOHChnz54ti4qKbO0AyAceeMBhbkeOHJGTJ0+WISEh0svLS8bGxsoHHnjAMA1LSUmJnDlzpoyLi5Oenp4yODhYDh8+XL788suyqqrKkHtj3iNWq1U+9NBDMiQkRAohOPWJixJSOlmvVSJqF5KSkhASEoKVK1eanQqR28rOzkZMTAxeeuklPPbYY2anQ22AfeyIqFVVV1fb9fdZs2YNduzY4XCJKyIiaj72sSOiVnX8+HGkpqbizjvvREREBPbv34/58+cjPDzcbuJhIiK6NCzsiKhVderUCQMHDsS///1vnDp1Cn5+fhg7diz+/ve/O5zkmIiImo997IiIiIjcBPvYEREREbkJFnZEREREboJ97BzQdR0nTpxAhw4duMQKERERmUpKiZKSEkRERDS4jjQLOwdOnDhht1AzERERkZmOHj2Kbt26XbQNCzsHaheZPnr0KAICAkzOhoiIiNqz4uJiREZG2uqTi2Fh50Dt7deAgAAWdkREROQUGtM9jIMniIiIiNwECzsiIiIiN8HCjoiIiMhNsLAjIiIichMs7IiIiIjcBAs7IiIiIjfBwo6IiIjITbCwIyIiInITLOyIiIiI3AQLOyIiIiI3YXph9+abbyI6Ohre3t4YOnQoNm/efNH2S5YsQUJCAry9vZGYmIhly5bZtdm3bx9uuukmBAYGws/PD4MHD0ZOTk5rnQIRERGRUzC1sPv4448xY8YMzJo1C1u3bkX//v2RlpaG/Px8h+3Xr1+PSZMmYdq0adi2bRvGjx+P8ePHY/fu3bY2Bw8exMiRI5GQkIA1a9Zg586dePrpp+Ht7d1Wp0VERERkCiGllGY9+dChQzF48GDMmzcPAKDrOiIjI/HQQw/hiSeesGs/ceJElJWV4euvv7bFhg0bhqSkJMyfPx8AcPvtt8PDwwP/+c9/mp1XcXExAgMDUVRUhICAgGYfh4ick5QSKDsDWX4Wwqcj4BsIoXqYnRYRkUNNqUssbZSTnaqqKmzZsgUzZ860xRRFQWpqKjZs2OBwnw0bNmDGjBmGWFpaGpYuXQqgpjD85ptv8Kc//QlpaWnYtm0bYmJiMHPmTIwfP761ToWIXIh+6hC0rZ9Bz8s0xIV3B8C3E4RvJwi/mv/Ct6Px/y2eJmVNRNQ4phV2BQUF0DQNYWFhhnhYWBj279/vcJ/c3FyH7XNzcwEA+fn5KC0txd///nf87W9/w4svvojly5fjlltuwQ8//ICUlBSHx62srERlZaXtcXFx8aWcGhE5Ib3wJLRtS6Ef3e5wu6woASpKIM/U3x9XeHeA0n0A1MvHQXj5tVKmRETNZ1ph1xp0XQcAjBs3Dn/84x8BAElJSVi/fj3mz59fb2E3Z84czJ49u83yJKK2I8vOQNvxNbSs9QAureeJrCiBduBH6Md3w3LlPVBCYlsmSSKiFmLa4Ing4GCoqoq8vDxDPC8vD+Hh4Q73CQ8Pv2j74OBgWCwW9OnTx9Cmd+/eFx0VO3PmTBQVFdl+jh492pxTIiInIitLYU3/FFWfPw0tax0cFnWieX8CZdlpVC9/Cdqe72BiN2UiIjumXbHz9PTEwIEDsXr1alv/N13XsXr1ajz44IMO90lOTsbq1avxyCOP2GIrV65EcnKy7ZiDBw9GRkaGYb8DBw4gKiqq3ly8vLzg5eV1aSdERE5BWqug71sNbfcKyOpzDtsITz+ol10PpeeVgG6FLDsLlJ+FLC88//9lZyHLf/3/6goHT6TDuuV/UHIPwDLyLggv/1Y+MyKihpl6K3bGjBmYMmUKBg0ahCFDhuC1115DWVkZpk6dCgCYPHkyunbtijlz5gAAHn74YaSkpGDu3LkYO3YsFi9ejPT0dLzzzju2Yz7++OOYOHEirrzySlx11VVYvnw5vvrqK6xZs8aMUySiNiI1K/SD66Ht+BryXJHjRqon1D6pUPteA+Hp+2vQs+b/O3Wt/9hV5yBLT0Hb/DH0/CzDNv34LlR/9beaW7OhcS10NkREzWPqdCcAMG/ePLz00kvIzc1FUlIS3njjDQwdOhQAMGrUKERHR+ODDz6wtV+yZAmeeuopZGdnIz4+Hv/4xz9w/fXXG475/vvvY86cOTh27Bh69eqF2bNnY9y4cY3OidOdELkW/dhOWH9ZAlnieA5MCAVqzyuhXnY9hE9gs59H6hq0HV9B27Ucdrd2hQJL0jgo/dIghGj2cxAR1dWUusT0ws4ZsbAjch1a5s+wbqh/3kolejAsSTdBBIS22HPqJ/bC+vP7NSNp6z5fRF9YRk6tmT6FiKgFsLC7RCzsiFyDfnw3qr9/E5C63TYlog/UATdD6dy9VZ5blhfCuvY96HkH7LYJn0BYrrwXSlh8qzw3EbUvLOwuEQs7Iuenn85B9YqXAWulIS6ComAZcAuULgmtnoPUdWg7v4G28xvYj7oVUJNugpp4HW/NEtElcYmVJ4iImkuWnob1+3/aFXVq3zSoA25us0JKKAosSTdCCYuHde2/69yaldC2fwGZdwCWK6bx1iwRtQnT5rEjImoOWVWO6tX/hDxnXCFGiRnSpkWd4bm7JMDjxqehhNtfJdRP7kP1d69CWqvaPC8ian9Y2BGRy5BaNaw/vA1ZdNIQV8J6wjJ8sqm3PIVPICypD0PtfyMAYx6y8Di0zYvNSYyI2hUWdkTkEqSUsK7/0G6wggjsAsuo+yBUD5MyuyAXRYGl/w3wGDPDbloVLWsdtIMbTMqMiNoLFnZE5BK07V9AP7zZEBM+AfAY/RCEl59JWTmmhPeEx5gZgMW4oo114yLohSfr2YuI6NKxsCMip6cd+Anarm+NQYsXLFc/BOEfZE5SDRCB4bAk/84Y1Kpg/fFf7G9HRK2GhR0ROTX92C5YNy4yBoUCj5TfQwlqnTnqWooaMxhq/BWGmCw6CW3T/zMpIyJydyzsiMhp6aePoPqnd1F3jjjL0N9C6drPnKSaSB08AaJTN0NMO7geWtZ6kzIiInfGwo6InFLNXHXz7OeqS7wOas8r6tnL+QiLJzyuvNe+v92m/8f+dkTU4ljYEZHTkZVljueqix0KNWmcSVk130X721VXOt6JiKgZWNgRkVORWjWsaxzMVRfeC5Zkc+equxT19rfbzP52RNRyWNgRkVPRNi6CnpdpiJ2fq861V0F03N9uA/vbEVGLYWFHRE5DP7kP2kFjkSN8AuEx+g8Qnr4mZdVyhMUTHim/d9DfbhH0whMmZUVE7oSFHRE5BalZYd38sTFo8YJl9IMQ/p3NSaoViIAwB/3tqmH98R32tyOiS8bCjoicgr7/e7t+dZZBt0Hp7Nxz1TWHGjMYas8UQ4z97YioJbCwIyLTyfKzsO742hATQVFQ4kaalFHrUwfdBtEp0hBjfzsiulQs7IjIdNb0/9WZr07AMnQShOK+f6Jq+tvdC2HxNsStmxZBP3vcpKyIyNW5719NInIJ+sn90LN/McTUuOFQgmNMyqjtiIAwqMPZ346IWg4LOyIyTc2AicWGmPD0hTrgFpMyantq9CD7/nbFudB2fWNSRkTkyljYEZFpHA2YUC8fB+Htb1JG5nDY327vasjSMyZlRESuioUdEZlClhfaD5jo3B1K/JUmZWSemvVk7wHEBX+SdSu07V+YlxQRuSQWdkRkCmv6p3UGTMDtB0xcjAgMh9rTWNRqhzZBP5NjUkZE5Ira519QIjKVnpvhYMDECCghsSZl5BzU/jfUGSUroW353LR8iMj1sLAjojYlNSusm4wT8QoPH6gDbjYpI+chvDtA6ZdmiOkn90I/sdekjIjI1bCwI6I2pWf8YD9gYsB4CO8OJmXkXNQ+qRA+gYaYdcv/IHXdpIyIyJWwsCOiNiPLC6FtrzNgolNkuxwwUR9h8YSaNM4Qk2ePQT+8yaSMiMiVsLAjojZj3fI/SGuFIdaeB0zUR+mRDBHYxRDTtn0Baa0yKSMichX8a0pEbULPPQD98GZDTO0xHEpoD5Mycl5CUWAZeKshJsvPQt/3vUkZEZGrYGFHRK2uZoUJBwMmBrafFSaaSnTtByW8lyGm7f4WsqLUpIyIyBWwsCOiVqdnrIEsPGGI1awwwQET9RFCQK171a66AtquZSZlRESugIUdEbWqmgETXxliolM3KD05YKIhSlAUlJghhpiWsQayON+kjIjI2bGwI6JWZd36WT0DJlSTMnItlqRxwIW/K12DlUuNEVE9WNgRUavR87OgHzJO06H2SIYSGmdSRq5HdAiGmnCVIaZnp0MvOGxSRkTkzFjYEVGrsbsF6+EDdQAHTDSVmngdhIePIaZt+R+klCZlRETOioUdEbUK/dQh6Ln7DTG1/w0QPgEmZeS6hJc/1MuuN8T0vEzIYztNyoiInBULOyJqFdqu5YbHwieAAyYugdJrFIRfZ0PMuvVzSF0zKSMickYs7Iioxelnj0E/tsMQU/tcA2HxNCkj1+dwqbGik9Cz1puUERE5IxZ2RNTi7K7Wefryal0LUGKHQnSKNMS0HV9CVlealBERORsWdkTUomRxPvTsdENM6T0awsPbpIzchxAClkF1Ji0+Vwxt70qTMiIiZ8PCjohalLZ7OYALRmtavKAmjDIrHbejdOkNJaKvIabt+Q7yXLFJGRGRM2FhR0QtRpadgXZooyGm9kqB8PI3KSP3VLPGrjgfsFZC2/FVve2JqP1gYUdELUbb8x1w4ShNxQK1T6p5CbkppVM3qD2SDTEt82fIsjMmZUREzoKFHRG1CFlRAi3zZ0NMjRsB4RNoUkbuTU26EVA9zgekDm3f9+YlREROgYUdEbUIbe8qQKs+HxAK1H5p5iXk5oRfZ6hxIwwx/cBayKpykzIiImfAwo6ILpmsKoeescYQU2OHQvgHmZNQO6H2Ho0L+9pJawX0A2vNS4iITMfCjogumbZ/DWR1xQURAbXftabl016IgFAo3ZMMMW3/95Ca1ZyEiMh0TlHYvfnmm4iOjoa3tzeGDh2KzZs3X7T9kiVLkJCQAG9vbyQmJmLZsmWG7XfddReEEIafa6/llwxRa5DVldD3rjLElKgBEIHhJmXUvqh9xxgey/JCu3kEiaj9ML2w+/jjjzFjxgzMmjULW7duRf/+/ZGWlob8/HyH7devX49JkyZh2rRp2LZtG8aPH4/x48dj9+7dhnbXXnstTp48afv5f//v/7XF6RC1O3rmWsiqMkNMTeQ/pNqKEhILJTTOENP2fAcpZT17EJE7M72we+WVV3Dvvfdi6tSp6NOnD+bPnw9fX1+8//77Dtu//vrruPbaa/H444+jd+/eeO655zBgwADMmzfP0M7Lywvh4eG2n06dOrXF6RC1K1Krrpni5AJK135QOnc3KaP2ye6qXeFxyJP7TMqGiMxkamFXVVWFLVu2IDX1/DxXiqIgNTUVGzZscLjPhg0bDO0BIC0tza79mjVrEBoail69emH69Ok4ffp0vXlUVlaiuLjY8ENEDdMPboQ8V2SIqYnXmZRN+yW6XQYREGaI1S24iah9MLWwKygogKZpCAsz/kEKCwtDbm6uw31yc3MbbH/ttdfiww8/xOrVq/Hiiy/ixx9/xHXXXQdN0+oeDgAwZ84cBAYG2n4iIyMdtiOi86Su/bp82HlKWLzdbUFqfUIIu4mg9ZP7oJ/JMSkjIjKL6bdiW8Ptt9+Om266CYmJiRg/fjy+/vpr/PLLL1izZo3D9jNnzkRRUZHt5+jRo22bMJEL0rPTIUsLDDE18XqTsiEldhiEdwdDTKszqIWI3J+phV1wcDBUVUVeXp4hnpeXh/BwxyPqwsPDm9QeAGJjYxEcHIysrCyH2728vBAQEGD4IaL6SSmh7frWEBNBURBdepuUEQmLJ5Reowwx/fAvXGaMqJ0xtbDz9PTEwIEDsXr1altM13WsXr0aycnJDvdJTk42tAeAlStX1tseAI4dO4bTp0+jS5cuLZM4UTsnj+6ALDppiFkSr4cQop49qC2ovUZxmTGids70W7EzZszAu+++i4ULF2Lfvn2YPn06ysrKMHXqVADA5MmTMXPmTFv7hx9+GMuXL8fcuXOxf/9+PPvss0hPT8eDDz4IACgtLcXjjz+OjRs3Ijs7G6tXr8a4ceMQFxeHtDQub0R0qaSUsO4yzh0pArtARPY3KSOqJbz9ofYYbohxmTGi9sVidgITJ07EqVOn8MwzzyA3NxdJSUlYvny5bYBETk4OFOV8/Tl8+HAsWrQITz31FJ588knEx8dj6dKl6NevHwBAVVXs3LkTCxcuRGFhISIiIjBmzBg899xz8PLyMuUcidyJPLkP8vQRQ0zl1TqnofZJhXbgJwA189hJawX0zJ/tpkQhIvckJGextFNcXIzAwEAUFRWxvx1RHdUrXoael2l7LPyD4TH+rxCKamJWdKHqNfOh52yzPRa+HeFx8/MQqun/lieiZmhKXWL6rVgich16fpahqAMAtd+1LOqcDJcZI2q/WNgRUaPZjYT17QilxzCTsqH6cJkxovaLhR0RNYosyoV+3Lgms9rnGogLR2GS0+AyY0TtEws7ImoULWON4bHw9IMSf4U5yVCDuMwYUfvEwo6IGiSrK6AfNK7HrPQcCeHBkebOqv5lxriyDpE7Y2FHRA3SD22ErK64ICKg9kwxLR9qHMfLjK00KRsiagss7IjooqSU0PavMcSUbpdB+AeZkxA1GpcZI2p/WNgR0UXJ3Ay75cPUhFHmJENNxmXGiNoXFnZEdFF2gyYCwiC69DYnGWoyLjNG1L6wsCOiesmyM9CP7jDE1F6juHyYi6kZRHH+NatdZoyI3A8LOyKql3bgJ0Dq5wMWL05I7IJEQCiU7kmGmLZvNaRmNSchImo1LOyIyCGpVdtd1VFjh0F4+pqUEV0KLjNG1D6wsCMih/QjWyErSgwxhYMmXJYSEgslpIchptfpP0lEro+FHRE5pO//wfBYCesJpWOESdlQS1DqTlhccBj6mRyTsiGi1sDCjojs6AXZ0AsOG2JKwlUmZUMtRel2GYRPoCGmZ/xkUjZE1BpY2BGRnbq36IRvJyiR/c1JhlqMUC1Q4kcaYtrhzZBV50zKiIhaGgs7IjKQlaXQDv9iiCk9r4RQVJMyopakxo8ExAV/+q2V0A9vMi8hImpRLOyIyEDPXAfoF0yDoag1xQC5BeHXGUq3ywwxLeNHSClNyoiIWhILOyKykboOLeNHQ0yJGgjhE2BSRtQa1F4phsey8ARk/kGTsiGilsTCjohs5PFdkGWnDTGVgybcjujSG6JDiCGmHfixntZE5EpY2BGRjbZ/jeGxCIqCCI4xJxlqNUIIqD2vNMT0I1vs5i0kItfDwo6IAACyKBf6yb2GmNorhevCuimlx3BAsZwP6Br0rPXmJURELYKFHREBALS6U5x4+kGJHmxOMtTqhLc/lOiBhph24CcOoiBycSzsiAiyuhL6wQ2GmBI/EsLiaVJG1Bbq3o6VpQWQJ/aYlA0RtQQWdkQE/dBGyOqKCyL2fbDI/YiQHhAduxpiGleiIHJpLOyI2jkpJbS668J2S4ToEGxSRtRWhBB2U5/ox3ZClp0xKSMiulQs7IjaOZl3ALLopCHGKU7aDyV2KGDxuiAioWX+bFo+RHRpWNgRtXN1r9aJgDCILr1NyobamvDwhho71BDTM3+G1Kz17EFEzoyFHVE7JsvOQD+6wxDjFCftj1J3JYpzRdCP7ainNRE5MxZ2RO2YdmAtIPXzAYsXlB7J5iVEplA6dYMS0sMQ0zmIgsglsbAjaqekVg09c60hpsYOhfD0NSkjMpNSdyWK3P2QRbkmZUNEzcXCjqid0o9ss1tCSuk1ypxkyHRK1AAITz9DTDvAq3ZEroaFHVE7pWcav7SVsHgonbrW05rcnbB4QokbbojpBzdAWqtMyoiImoOFHVE7JItyoedlGmJKz5R6WlN7YbcSRVU59Ox0k7IhouZgYUfUDtWdp0x4+UPpnmROMuQ0REAolC59DDGdt2OJXAoLO6J2RmrV9uvC9kiGUD1Myoicid1KFAWHoZ/JMSkbImoqFnZE7Yx+dAdkZakhpsaPNCkbcjaiWyKEbydDTM/40aRsiKipWNgRtTN6nduwSlg8RGC4SdmQsxGKCqVOoa8d2gxZVW5SRkTUFCzsiNoRWXIK+sl9hpgSx6t1ZKTGjwDEBV8PWhX0Q5vMS4iIGo2FHVE7omWtMzwWHj5QogaYlA05K+HbCUpkf0NMy/gRUkqTMiKixmJhR9ROSM0KvU5hp/QYBmHxNCkjcmZ2U58UnYTMzzIpGyJqLBZ2RO2EPL4b8lyxIabEX2FSNuTsRJfeEB1CDTGNgyiInB4LO6J2QquzLqwSHMOVJqheQgioveqsH5uzFbKitJ49iMgZsLAjagdk2Rnox/cYYrxaRw1ReiQDiuV8QNegH9poXkJE1CAWdkTtgJa1HsD5ju/C4g0lepB5CZFLEF7+doNrtMyfOYiCyImxsCNyc1LX7eeuix0C4eFlUkbkStQ6V3Zl0UnIUwdNyoaIGsLCjsjNyRN7IMvPGmK8DUuNJcLiITqEGGJ1/6FARM7DKQq7N998E9HR0fD29sbQoUOxefPmi7ZfsmQJEhIS4O3tjcTERCxbtqzetvfddx+EEHjttddaOGsi16DV+RIWnbtDCepuUjbkaoQQUOtMYq1lb+FKFEROyvTC7uOPP8aMGTMwa9YsbN26Ff3790daWhry8/Mdtl+/fj0mTZqEadOmYdu2bRg/fjzGjx+P3bt327X9/PPPsXHjRkRERLT2aRA5JVleCP3YTkNM7cmrddQ0Slyy/UoU2enmJURE9TK9sHvllVdw7733YurUqejTpw/mz58PX19fvP/++w7bv/7667j22mvx+OOPo3fv3njuuecwYMAAzJs3z9Du+PHjeOihh/DRRx/Bw8OjLU6FyOnoBzcAUj8fUD2hRA82LyFyScInEErkZYZY3SvBROQcTC3sqqqqsGXLFqSmptpiiqIgNTUVGzZscLjPhg0bDO0BIC0tzdBe13X87ne/w+OPP46+ffu2TvJETk5KaTd3nRozGMLTx6SMyJXVvR0rTx+BfibHpGyIqD6mFnYFBQXQNA1hYWGGeFhYGHJzcx3uk5ub22D7F198ERaLBX/4wx8alUdlZSWKi4sNP0SuTp7cB1l62hBT4kfW05ro4kREXwjfToaYnrmuntZEZBbTb8W2tC1btuD111/HBx98ACFEo/aZM2cOAgMDbT+RkZGtnCVR67MbNNGxK0RwjEnZkKsTigIlbrghph/aBGmtMikjInLE1MIuODgYqqoiLy/PEM/Ly0N4eLjDfcLDwy/afu3atcjPz0f37t1hsVhgsVhw5MgRPProo4iOjnZ4zJkzZ6KoqMj2c/To0Us/OSITyYoS6Ee3G2Jq/MhG/2OHyBE1bgSA8+8hWX0O+pGt5iVERHZMLew8PT0xcOBArF692hbTdR2rV69GcnKyw32Sk5MN7QFg5cqVtva/+93vsHPnTmzfvt32ExERgccffxwrVqxweEwvLy8EBAQYfohcmX5wA6Br5wOqB5TYoeYlRG5B+AdBiehtiOlZHERB5EwsDTdpXTNmzMCUKVMwaNAgDBkyBK+99hrKysowdepUAMDkyZPRtWtXzJkzBwDw8MMPIyUlBXPnzsXYsWOxePFipKen45133gEABAUFISgoyPAcHh4eCA8PR69evdr25IhMUDNoos5KE1EDILz8TMqI3IkSPxL6ib22x3peJmRRLkSg47ssRNS2TC/sJk6ciFOnTuGZZ55Bbm4ukpKSsHz5ctsAiZycHCjK+QuLw4cPx6JFi/DUU0/hySefRHx8PJYuXYp+/fqZdQpETkXmZUIWG7sr1F0Wiqi5lG79Ibw7QFaU2GJa1jpYBt5qYlZEVEtIruZsp7i4GIGBgSgqKuJtWXI51T+/D/3QJttjERAOj3HPsn8dtRhr+qfQ9q60PRbeHeBx698hVNOvFRC5pabUJW43KpaoPZOVpdCztxhiavwIFnXUotQ60+bIihK7FU6IyBws7IjciH5oM6BbzwcUFUoPxwORiJpLBIZDCY0zxHSuREHkFFjYEbkJRytNKN0vh/DuYFJG5M7qTnatn9hrNyE2EbU9FnZEbkIWHIYsPGGI1b1lRtRSlKiBEB7eF0QktKz1puVDRDVY2BG5ibq3woR/MER4gknZkLsTFk8oMca5EfWsdZC6blJGRASwsCNyC7LqHLTDvxhiXGmCWpvSs84givKzkCf31tOaiNoCCzsiN6Bn/wJoF6zZKRQOmqBWp3TuDtG5uyFWd3JsImpbLOyI3IDdShPdLoPw7WhOMtSuqPEjDI/1ozsgzxWblA0RsbAjcnH6maOQp48YYhw0QW1FiRkCqB7nA1KvWauYiEzBwo7IxemZ6wyPhW9HiIi+JmVD7Y3w9IUaPcgQ0zJ/Bhc1IjIHCzsiFyatVdAPbTTElLgREAo/2tR2lLg6gyhK8iHzMk3Khqh9419/IhemH9kKWX3ugoiAGjei3vZErUGE9oAICDfEtCwOoiAyAws7Ihem1/nyVLr0hvAPMikbaq+EEPaDKI5shawsMykjovaLhR2Ri5JFudDr3O5S4nm1jsyh9EgGFPV8QKuGfnizeQkRtVMs7IhclHbQuHyT8PKHEtnfpGyovRPeHaBEJhli2oG1HERB1MZY2BG5IKlZoddZl1PpkQxx4bQTRG2s7jQ7svC43VQ8RNS6WNgRuSD9+C7IihJDTOGgCTKZ6NIbws/Yx7PuGsZE1LpY2BG5oLpflkpIDygdu5iUDVENIQSUuOGGmHZ4M2R1pUkZEbU/LOyIXIwsOwP9+B5DTOFKE+Qk1LjhAMT5gLUSena6afkQtTcs7IhcjJa1HsD5DunCwxtK1EDzEiK6gPDrDKVrP0NMz1xrUjZE7Q8LOyIXInUdepZxCTElZgiEh5dJGRHZU3teYXisFxyGfvaYSdkQtS8s7IhciMzdD1l2xhDjbVhyNqJrPwifQEOMgyiI2gYLOyIXotX5chSdIqEERZmUDZFjQlHtBlHoBzdCWqtMyoio/WBhR+QiZEUJ9KPbDTG1J6/WkXOqu2axrD4H/chWk7Ihaj9Y2BG5CP3gBkDXzgdUDygxQ8xLiOgiRIcQKF16G2J11zYmopbHwo7IBUgpoWXWGTQRNQDC09ekjIgaVrf/p56XCVmUa1I2RO0DCzsiFyBPHYQsNn4hqvFX1NOayDkokf0hvPwNsbr9RImoZbGwI3IBdUcUioAwiNA4k7IhahyhekDpkWyI6Yc2QmpWkzIicn8s7IicnKwqh1Zn5n41bgSEEPXsQeQ81Dq3Yx0NAiKilsPCjsjJ6Yd/AbTq8wGh2E0lQeSsRGA4lDpXlzmnHVHrYWFH5OTq9klSIvtDeHcwKRuiplPq9AfVT+6DLCkwKRsi98bCjsiJ6adzIM/kGGJ1b20ROTslagCEh48hpnHqE6JWwcKOyInZDZrw6wzRpY9J2RA1j7B4QokdZojpWeshL5yXkYhaBAs7IiclrVXQD282xJS4ERAKP7bkepQ6q6TIc0WQx3eblA2R++I3BJGT0o9sgaw+d0FEQO3BQRPkmpRO3aAERxti2oG15iRD5MZY2BE5qbq3YZWIPhD+nU3KhujS2Q2iOL4bsuyMSdkQuScWdkROSBblQs/PMsTqLs9E5GqU6MGAxeuCiISWtd60fIjcEQs7IidUd4oT4d0BSrfLTMqGqGUIDy+oMYMNMT1rPaSUJmVE5H5Y2BE5GWmtgl7nKobSIxlCtZiUEVHLqXs7Vpadhjyx16RsiNwPCzsiJ6PnbIOsKjPEOHcduQsRFAXRqZshpmVyEAVRS2FhR+Rk9AM/GR4rXXpDBISZlA1RyxJC2P1DRT+6A/JcsUkZEbmXJhV233//PaxWa2vlQtTu6YUn7AdN9LzSpGyIWocSOxRQPc4HpA794AbzEiJyI00q7K655hqcOXN+aPqwYcNw/PjxFk+KqL2qe7VO+ARw0AS5HeHpCzVqoCGmZf7MQRRELaBJhV3dD92ePXtQWVnZogkRtVeyuhL6wY2GmBI3goMmyC3ZDaIoyYfMO2BSNkTug33siJyEnp1uv9JEnS8/InchQntABHYxxOpO80NETdekwk4IASFEvY+JqPm0Az8aHitd+0H4B5mUDVHrqhlEMcIQ049shawsNSkjIvfQpHs8UkqMHj0aFkvNbuXl5bjxxhvh6elpaLd169aWy5CoHdBP50CePmKIqT15tY7cmxKbDGz9HNC1moBuhX5oM9TeV5ubGJELa1JhN2vWLMPjcePGtWgyRO2V3aAJ304QXRNNyoaobQhvfyjdL4eenW6LaZlroSRcxbtBRM10SYVdS3nzzTfx0ksvITc3F/3798c///lPDBkypN72S5YswdNPP43s7GzEx8fjxRdfxPXXX2/b/uyzz2Lx4sU4evQoPD09MXDgQDz//PMYOnRoq+RPdClk1TlohzcbYkr8SAiFXWDJ/anxIw2FnSw8AXnqIERonIlZEbmuZn9zFBQUID09HVu2bMHp06ebncDHH3+MGTNmYNasWdi6dSv69++PtLQ05OfnO2y/fv16TJo0CdOmTcO2bdswfvx4jB8/Hrt377a16dmzJ+bNm4ddu3bh559/RnR0NMaMGYNTp041O0+i1qIf3gRYLxhdLhSuNEHthghPgOgQYohpGT/W05qIGiJkEycO2rNnD6ZPn45169YZ4ikpKXj77bfRq1evJiUwdOhQDB48GPPmzQMA6LqOyMhIPPTQQ3jiiSfs2k+cOBFlZWX4+uuvbbFhw4YhKSkJ8+fPd/gcxcXFCAwMxKpVqzB69OgGc6ptX1RUhICAgCadD1FTSClR/dVzkIXn54NUuifBY9R0E7Mialvanu9g3fK/8wFFhedtL0J4dzAvKSIn0pS6pElX7HJzc5GSkoJTp07hlVdewbJly/DNN9/gpZdewsmTJ3HFFVfUe6XNkaqqKmzZsgWpqannE1IUpKamYsMGx7OQb9iwwdAeANLS0uptX1VVhXfeeQeBgYHo379/o3Mjagvy1CFDUQcAas8Uk7IhMocSN9y4EoWuQefUJ0TN0qQ+dq+++iqioqKwbt06eHt72+LXXnstpk+fjpEjR+LVV1/FnDlzGnW8goICaJqGsDDjOphhYWHYv3+/w31yc3Mdts/NzTXEvv76a9x+++0oLy9Hly5dsHLlSgQHBzs8ZmVlpWGi5eJirllIbUOvs/i58A+G6NLbpGyIzCG8/KFGD4J2wbJi2oGfoPRNY19ToiZq0idm5cqV+POf/2wo6mr5+Pjg8ccfx4oVK1osuUtx1VVXYfv27Vi/fj2uvfZaTJgwod6riXPmzEFgYKDtJzIyso2zpfZIVpZCu6DTOACoPa/kaEBql5ReowyPZdkZyOO7zEmGyIU1qbA7dOgQBgwYUO/2QYMG4dChQ40+XnBwMFRVRV5eniGel5eH8PBwh/uEh4c3qr2fnx/i4uIwbNgwvPfee7BYLHjvvfccHnPmzJkoKiqy/Rw9erTR50DUXPrBjYBWfT6gqDW3pIjaISU4GiIoyhDjIAqipmtSYVdSUnLRTnsdOnRAaWnjZw2vnYpk9erVtpiu61i9ejWSk5Md7pOcnGxoD9RcSayv/YXHrW9dWy8vLwQEBBh+iFqTlBJanbnrlO4D2Fmc2jW1l7F/qX5iD2Rx4/ttE1ET+9gBNcWdo1uxQE3ftCYOssWMGTMwZcoUDBo0CEOGDMFrr72GsrIyTJ06FQAwefJkdO3a1dZv7+GHH0ZKSgrmzp2LsWPHYvHixUhPT8c777wDACgrK8Pzzz+Pm266CV26dEFBQQHefPNNHD9+HL/5zW+aerpErULmHYAsNl55VnteaVI2RM5BiR4Mkf4pZFW5LaYd+AmWQbeZmBWRa2nykmI9e/a86Pam9g+aOHEiTp06hWeeeQa5ublISkrC8uXLbQMkcnJyoFzQeXb48OFYtGgRnnrqKTz55JOIj4/H0qVL0a9fPwCAqqrYv38/Fi5ciIKCAgQFBWHw4MFYu3Yt+vbt26TciFpL3at1IiAcIizepGyInIOweEKJGw5t7ypbTM9aD5l0E4TF8yJ7ElGtJs1j9+OPjevvkJLi2tM1cB47ak2yogRVn/75/PqYACyDJ0Dt3fAci0TuThbnoWrpM4aYZfgUqOx/Su1YU+qSJl2xGzlyJF5++WV8+eWXqKqqwujRozFr1iz4+PhcUsJE7Ymeuc5Q1EH1gBI7zLyEiJyICAiD0qUP9JN7bTH9wI8s7IgaqUmDJ1544QU8+eST8Pf3R9euXfH666/jgQceaK3ciNyOlBJapvE2rBo9CMLLz6SMiJyPmjDK8FgvyIZekG1KLkSupkmF3Ycffoi33noLK1aswNKlS/HVV1/ho48+gq7rrZUfkVuRJ/ZClhrXVlY4aILIQHTtB+HbyRDT6/RLJSLHmlTY5eTk4Prrr7c9Tk1NhRACJ06caPHEiNyR3aCJTt0ggmNMyobIOQlFtfsHj3Z4M2RlmUkZEbmOJhV2VqvVbqoTDw8PVFdX17MHEdWS5WehH9tpiKk9r+BKE0QOqPEjAEU9H9CqoR90vCY4EZ3X5OlO7rrrLnh5edliFRUVuO++++Dnd76P0GeffdZyGRK5CS1zHSAv6LZg8YISM9S8hIicmPAJhNJ9APTsX2wxLeNHKL1H8x9DRBfRpMJuypQpdrE777yzxZIhcldS16Bn/myIqTFDIDw5opyoPmqvFENhJ0vyIU/ug4joY2JWRM6tSYXdggULWisPIrcmj++GLD9riCm9OGiC6GJEaBxExwjIwvP9uLWMH6GwsCOqV5P62BFR89RdzFwJjobSubtJ2RC5BiGE/fqxR3dAlp0xKSMi58fCjqiVyeJ86Cf2GmJKPK/WETWGEjsMsHhdEJHQDqw1LR8iZ8fCjqiVafu/B3B+5T7h4QMlepB5CRG5EOHhDbXOyix65lpIzWpSRkTOjYUdUSuSVeXQstYbYkr8SAgPr3r2IKK66vZHlRUl0HO2mZQNkXNjYUfUivSs9YC18oKIgJpwlWn5ELkipVM3KKFxhph+4Md6WhO1byzsiFqJ1PVfb8Oep3RPgvAPMikjItel9BpleKznZUI/e9ycZIicGAs7olYij+20WxdW7Z1qUjZErk3pfjmEdwdDjOvHEtljYUfUSrR9qwyPRVAURGgPk7Ihcm1CtUCJH2mI6Qc3QlZXmJQRkXNiYUfUCvQzOdDzMg0xNeFqLoVEdAnU+CsBnP8MSWsF9EObzEuIyAmxsCNqBfo+Y9864RMAJXqgSdkQuQfh3xlKt8sMMS3jR0gp69mDqP1hYUfUwuS5YmiHNxtiSs8UCNXDpIyI3IeaMMrwWBYeh8zPMicZIifEwo6ohWkHfgJ07XxAUe2WRSKi5hFdekN0CDHEtH2rTcqGyPmwsCNqQVKrhp6xxhBTY4bajeYjouapWT92lCGm52yHLM43JyEiJ8PCjqgF6dnpkBUlhpjS+2qTsiFyT0rccAiL9wURCa1Ov1ai9oqFHVELkVJC22u8JaSE9YTSOdKkjIjck/D0hdLzCkNMy1oHWVlqUkZEzoOFHVELkflZkGePGmJqH05ITNQa1ISrAXHBV5hWBf3AWvMSInISLOyIWkjdDtzCPxiia6JJ2RC5N+HfGUqUcQohbf/3kFq1SRkROQcWdkQtQJaehp6z3RBTE66CUPgRI2otat9rDI/luWLoh38xKRsi58BvHaIWoO3/AcD5SVKFxRtK3AjzEiJqB5SgKChhPQ0xbe9KTlhM7RoLO6JLJKsroWf+bIgp8cMhPH1Myoio/bC7ald4AvLEXpOyITIfCzuiS6QfXA9Zfe6CiIDa6yrT8iFqT0TXRIiAcENM27vSpGyIzMfCjugSSGk/f5bS7TKIgFCTMiJqX4QQdqPP9ZP7oJ85Ws8eRO6NhR3RJZDHd0GWGGe8VzkhMVGbUmLtV3fR964yKRsic7GwI7oEda/WiY5dIcJ7mZQNUfskLJ5Q6iwzpmX/All+1pyEiEzEwo6omfTCE9BP7jPE1N6jIYQwKSOi9kvtlQKoHucDuvbraHWi9oWFHVEz6XUnJPbyhxIz2KRsiNo34d0Bao9kQ0zP+AmyusKkjIjMwcKOqBlkZSm0Q5sMMaXnlRAWT5MyIiK192gA56+Yy+pz0LPWmZcQkQlY2BE1g35gLXDh0kWKWnMriIhMIwLDoXS7zBDT9q6G1DWTMiJqeyzsiJpIalZoGWsMMSV6EIRvR1PyIaLz7CYsLjsNPWebSdkQtT0WdkRNpOdsgywvNMTUBE5xQuQMRGgcRFCUIaZzmTFqR1jYETWBlBLarmWGmBLSA0pwtDkJEZGBEAJq3zGGmF6QDZl/0KSMiNoWCzuiJpBHd0AWnjDElDqz3hORuZTul0P4BRliXGaM2gsWdkSNJKWEdec3hpgI7AKl++UmZUREjghFtVsBRj+6A7I4z6SMiNoOCzuiRpIn9kCeyTHE1MvGckJiIiekxI+E8PC5ICKh7V1db3sid8HCjqgRpJTQ6l6t6xAKJWqgSRkR0cUID28oPa80xLSD6yErSk3KiKhtsLAjagSZmwH91CFDTE28DkLhR4jIWam9rwLEBZ9RrdpuqiIid8NvJaJGqDsSVvgFQYkZYlI2RNQYwreT3TJ/esYaSGuVSRkRtT4WdkQN0POzoOdmGGJqvzQI1WJSRkTUWGqfOhMWV5RAP7zZpGyIWh8LO6IGaDvrXK3zCYQSN9ykbIioKZTOkVC69DbEtD2csJjcFws7oovQC7Khn9hjiNVcrfMwKSMiaiq1zlyTsjgXena6SdkQtS6nKOzefPNNREdHw9vbG0OHDsXmzRe/TL5kyRIkJCTA29sbiYmJWLbs/BWV6upq/PnPf0ZiYiL8/PwQERGByZMn48SJExc5IpFjdlfrvDtAib/CpGyIqDlERF+Ijl0NMW3H15C6blJGRK3H9MLu448/xowZMzBr1ixs3boV/fv3R1paGvLz8x22X79+PSZNmoRp06Zh27ZtGD9+PMaPH4/du3cDAMrLy7F161Y8/fTT2Lp1Kz777DNkZGTgpptuasvTIjegnz0G/dgOQ0ztcw2ExdOkjIioOYQQUJNuNMRqrtr9YlJGRK1HSJM7GgwdOhSDBw/GvHnzAAC6riMyMhIPPfQQnnjiCbv2EydORFlZGb7++mtbbNiwYUhKSsL8+fMdPscvv/yCIUOG4MiRI+jevXuDORUXFyMwMBBFRUUICAho5pmRq6v+8R3oR7bYHgtPX3jcOgfCw9vErIioOaSUqP76ecizR20x0SEUHuOehVBUEzMjalhT6hJTr9hVVVVhy5YtSE093/9BURSkpqZiw4YNDvfZsGGDoT0ApKWl1dseAIqKiiCEQMeOHR1ur6ysRHFxseGH2jdZlAv9yFZDTOk9mkUdkYsSQsBS96pdST70Q5tMyoiodZha2BUUFEDTNISFhRniYWFhyM3NdbhPbm5uk9pXVFTgz3/+MyZNmlRvlTtnzhwEBgbafiIjI5txNuROtF3fAjh/MVt4eNutPUlErkV0uwwiKMoQ03Z+A6lZTcqIqOWZ3seuNVVXV2PChAmQUuLtt9+ut93MmTNRVFRk+zl69Gi9bcn9yZJT0OrMc6UkXAXh6WtSRkTUEmqu2hn7W8vSAl61I7di6gyrwcHBUFUVeXl5hnheXh7Cw8Md7hMeHt6o9rVF3ZEjR/D9999f9J60l5cXvLy8mnkW5G603csBecFoOdUTau/U+ncgIpchIvpCCY6BXnDYFtN2fgMldignHSe3YOoVO09PTwwcOBCrV6+2xXRdx+rVq5GcnOxwn+TkZEN7AFi5cqWhfW1Rl5mZiVWrViEoKKh1ToDcjiw7A+2gsb+m2isFwtvfpIyIqCXVjJCtc9Wu7DT0g+tNyoioZZl+K3bGjBl49913sXDhQuzbtw/Tp09HWVkZpk6dCgCYPHkyZs6caWv/8MMPY/ny5Zg7dy7279+PZ599Funp6XjwwQcB1BR1t912G9LT0/HRRx9B0zTk5uYiNzcXVVVcH5AuTtv9HaBr5wOKxW5yUyJybaJLbyihcYaYtnMZpFZtUkZELcf0684TJ07EqVOn8MwzzyA3NxdJSUlYvny5bYBETk4OFOV8/Tl8+HAsWrQITz31FJ588knEx8dj6dKl6NevHwDg+PHj+PLLLwEASUlJhuf64YcfMGrUqDY5L3I98lwRtMy1hpgafwWEb0dzEiKiViGEgNr/RugrX7XFZPlZ6Jk/Q024ysTMiC6d6fPYOSPOY9c+WdM/hbZ35fmAosJz/N8g/DublxQRtZrqFXOh5x2wPRY+gfC4+W+chJycjsvMY0fkLGRFKbSMHw0xNXYYizoiN6b2rzOv3bki6HWu2hO5GhZ2RAC0fasA7YI+mEKBmnideQkRUatTwntCCU8wxLTdyyGt7I9NrouFHbV7sqoc+v4fDDElZjBEhxCTMiKitmK3huy5YugHfqynNZHzY2FH7Z6273vI6ooLIgKWxOtNy4eI2o4SGgcloo8hpu1eAVldaVJGRJeGhR21a7KyFPo+47yIStQAiEDHE2QTkfux62tXUQI9Y405yRBdIhZ21K5pO5dBVpUbYuplvFpH1J4oIbFQuiYaYjVX7Srq2YPIebGwo3ZLFudDq/OvciVqIJRO3cxJiIhMY9fXrqoM2r7vTcqGqPlY2FG7Zd36WZ1VJlRYBtxsXkJEZBolKApKt/6GmL53pd0VfSJnx8KO2iU9Lwt6zjZDTE24miNhidoxNekGw2NZVc6rduRyWNhRuyOlhLZliSEmPP04bx1RO6d07g6l++WGmL53FWRlmUkZETUdCztqd/TsdOgF2YaY2v8GCC8/cxIiIqdRM0JW2B7L6nPQ6oycJ3JmLOyoXZHWKmhbPzfERIdQKD2vNCkjInImSqeuUKIHGmL63tWQlaUmZUTUNCzsqF3R930PWXbaELMMvBVCtZiUERE5G/WyG2C4ametgLZzmXkJETUBCztqN2RFCbTd3xpiSlg8RGT/evYgovZI6dgFSsxgQ0zb/wP0wpMmZUTUeCzsqN3Qtn9lN+GoOvA2CCHq2YOI2itL0k2AcsGVfKlD27wYUkrzkiJqBBZ21C7ohSehZa41xJTYoVCCo81JiIicmugQArXvNYaYnrvfbpokImfDwo7aBW3L/wCpnw+oHrBcPt60fIjI+an9roPw7WSIaemfQlqrTMqIqGEs7Mjt6Sf3Qz++yxBT+6RC+HU2KSMicgXCwwvqoNsMMVl2GtruFSZlRNQwFnbk1qSuw5r+qSEmvDtA7XetSRkRkStRogZCCetpiGl7VkCWnq5nDyJzsbAjt6Yf2gh59qghpva/EcLD26SMiMiVCCGgDpkIiAu+LrVqWNM/MS8pootgYUduS1qroG3/whATgV2gxI80KSMickVKp25Qe6UYYnrOdugn9pqUEVH9WNiR29L2fAdZXmiIWQbeCqGo5iRERC5L7X8jhJe/IWbd/DGkZjUpIyLHWNiRW5LlhdD2fGeIKV16Q3TtZ1JGROTKhJcf1AE3G2KyOBd6xg8mZUTkGAs7ckva9i8Ba+UFEQF14K2cjJiImk2JGwERFGWIadu/hjxXZFJGRPZY2JHb0c8eg5a13hBT44ZD6RxpUkZE5A6EELAMud0Qk9YKaFs/NykjInss7MjtaOn/A3DBsj+qJ9Skm0zLh4jchxISC7VHsiGmHdwAPf+gSRkRGbGwI7eiH9sJ/aRxpJraLw3Ct6M5CRGR21EH3AxhMU6ZZP3lY0hdr2cPorbDwo7chqwqh3XjR4aY8AmE2ueaevYgImo64RMINekGQ0yePgL94Pp69iBqOyzsyG1o6Z/aTW+iXj4ewsPLnISIyG0pva6CCOxiiGlbP4esLDMpI6IaLOzILegn9kLLWmeIKV16Q6nTF4aIqCUI1QLL4AmGmKwshbbjK5MyIqrBwo5cnqyugHXDf4xBixcsyb/j9CZE1GqUiD5Qul9uiGkZP0I/e8ykjIhY2JEb0Lb8D7LsjCFmGXgLhH+QSRkRUXthGfQbQPU4H5A6tM2LIaWsfyeiVsTCjlyafnI/tAM/GWJKWE8oPVPq2YOIqOUI/yCofdMMMT0vE3p2ukkZUXvHwo5clqyuhHXDh8ag6gnL8Mm8BUtEbUbtlwbhZ7xDoKUvgawsNSkjas9Y2JHL0rZ9Dll62hCzDLgZokOISRkRUXskLJ5QB91miMlzRbBu/Ii3ZKnNsbAjl6TnZULbb1x8WwmNg5JwlUkZEVF7pnS/HEpEX0NMP7IV+qGNJmVE7RULO3I50loF6/qFxqDqwVuwRGQaIUTN3yBPP0Nc27QYsqTApKyoPWJhRy5H27YUsuSUIWa5fBxEQJhJGRERAcK3I9TkOw0xaa2A9ef3IXXNpKyovWFhRy5Fz8+Ctu97Q0wJiYWSMNqkjIiIzlOjBkCNG2GI6acOQtu9wqSMqL1hYUcuo+YW7IcALuiMrFhgGT4FQuFbmYicgzp4AoR/sCGm7fgKekG2OQlRu8JvQ3IZ2o6vIYvzDDFL0k0QgeEmZUREZE94eMMy8m5AXPAVK3VY174HWV1pXmLULrCwI5egFxyGtuc7Q0wERUHpk2pSRkRE9VNCe0BNvN4QkyX50NKXmJQRtRcs7MjpSa0a1nULYbwFq8Iy4i4IRTUtLyKii1ETr4MSHGOIaZlroR/dYVJG1B6wsCOnp+38BrLopCGmXnYDlI4RJmVERNQwoVpgGTkVsHgZ4tb1H0KeKzIpK3J3LOzIqemnj9iNJhOdIqH2HWNSRkREjScCwmAZPMEQk5WlNcUdV6WgVsDCjpyWrK6A9ecFgNTPB4UCy8i7IFSLeYkRETWBEjcCSmSSIaYf3w39wI/mJERujYUdOSUpJazrFji4BTsWSqduJmVFRNR0QghYkn8H4RNgiFvTP4UsyjUpK3JXLOzIKWm7lkHP2W6IiU6RUPtda05CRESXQHj7wzJ8ijGoVaN67XuQmtWcpMgtmV7Yvfnmm4iOjoa3tzeGDh2KzZs3X7T9kiVLkJCQAG9vbyQmJmLZsmWG7Z999hnGjBmDoKAgCCGwffv2VsyeWoN+bCe07V8ZYsLTFx6j/o+3YInIZSld+0HtdZUhJs/kQNvxVT17EDWdqYXdxx9/jBkzZmDWrFnYunUr+vfvj7S0NOTn5ztsv379ekyaNAnTpk3Dtm3bMH78eIwfPx67d++2tSkrK8PIkSPx4osvttVpUAuSRbmwrn0PhqlNIGC58l6IDiFmpUVE1CLUgbdABHYxxLTdK6DnHjApI3I3Qpo4LGfo0KEYPHgw5s2bBwDQdR2RkZF46KGH8MQTT9i1nzhxIsrKyvD111/bYsOGDUNSUhLmz59vaJudnY2YmBhs27YNSUlJTcqruLgYgYGBKCoqQkBAQMM7UIuQVeWoXvZ3+9UlBt7KUbBE5Db0MzmoXvZ3QNdsMeHXGR43Pg3h6WtiZuSsmlKXmHbFrqqqClu2bEFq6vmVAxRFQWpqKjZs2OBwnw0bNhjaA0BaWlq97RursrISxcXFhh9qW1JKWH9eYFfUKdGDofS5xqSsiIhantK5OyxJ4wwxWXYG1h/fYX87umSmFXYFBQXQNA1hYWGGeFhYGHJzHY8Sys3NbVL7xpozZw4CAwNtP5GRkZd0PGo6bcdX0I/tNMREp0hYhk+GEMKkrIiIWofS5xooYfGGmH5yH7RNizi/HV0S0wdPOIOZM2eiqKjI9nP06FGzU2pX9Jzt0HZ+Y4gJL394XDUdwuJpUlZERK1HKAosI++G8O5giGtZ66Dt+takrMgdmFbYBQcHQ1VV5OUZb73l5eUhPDzc4T7h4eFNat9YXl5eCAgIMPxQ29ALT6L65/eNQaHUDJbwDzInKSKiNiD8OsNy9QOA6mGIa9u/gHb4F5OyIldnWmHn6emJgQMHYvXq1baYrutYvXo1kpOTHe6TnJxsaA8AK1eurLc9OTdZVQ7rD28C1kpD3DLoNihdEkzKioio7SjBMbBcMQ2AscuJdd0C6HlZ5iRFLs3UW7EzZszAu+++i4ULF2Lfvn2YPn06ysrKMHXqVADA5MmTMXPmTFv7hx9+GMuXL8fcuXOxf/9+PPvss0hPT8eDDz5oa3PmzBls374de/fuBQBkZGRg+/btl9wPj1qW1HVYf/o3ZMkpQ1yNHQYl4WqTsiIiantq98thGXSrMahrsP7wlt2AMqKGmFrYTZw4ES+//DKeeeYZJCUlYfv27Vi+fLltgEROTg5Onjy/pNTw4cOxaNEivPPOO+jfvz8+/fRTLF26FP369bO1+fLLL3H55Zdj7NixAIDbb78dl19+ud10KGQubceX0E/sMcREUBTUYXdwsAQRtTtK71SoPVMMMVlVhurV/4SsKDUpK3JFps5j56w4j13r0rLTYf3pXUNMeHeAx9gnIfw6m5QVEZG55K9X6fTjuw1xJaQHLNc8wsFk7ZhLzGNH7ZN+9his6xYag0KB5crfs6gjonZNKGrN38JOxim39FMHYV3/IadBoUZhYUdtRlaUwPrD24BWZYhbhkyEEt7TpKyIiJyH8PCCx+gHIXw7GeJ69i/Qtn9hUlbkSljYUZuQFSWoXjEXsrTAEFfjRkCp06+EiKg9E74dYRn9IITF2xDXdn0LLXOdSVmRq2BhR63OVtQVnTTEleAYqEMncbAEEVEdSqdusKT8HhDGr2nrxv9CP7HXpKzIFbCwo1YlzxU7LOqEXxAso+6DqDMxJxER1VC69oVl6CRjUOqw/vgv6GePm5MUOT0WdtRq5LliVH/3in1R5x8Ej7THIHw7mpMYEZGLUHteCbVvmiEmqytg/X4eZHmhOUmRU2NhR63iokXdmMcg/DkCloioMdQBN0OJGmiIybIzqF75Gos7ssPCjlqcPFdUT1EXzKKOiKiJhBCwjLgLSkisIS6LTqL6239AFueblBk5IxZ21KLkuSJUr6inqEt7lEUdEVEzCIsnLFfdD9EhxBCXZadRvfwf0M/kmJQZORsWdtRiZHlhTVFXbFyX11bUcQJiIqJmE94d4HHNHyECwgxxWVEC64q50HMPmJQZORMWdtQiZHkhqr971b6o6xDCoo6IqIUI/yB4XPs4ROfuhrisrkD1qtehH91hUmbkLFjY0SWrKeocXKnrEAKPMTNY1BERtSDh3QEeY2ZACauzYo9uRfWa+dCy1puTGDkFFnZ0Sc4XdXmGOIs6IqLWIzx9YBn9EJTIJOMGqcO6fiG0Pd+ZkheZj4UdNRuLOiIi8wiLJywpv4caN8Jum3XL/2Dd+hmklCZkRmaymJ0AuSb91CFYf/yX3RxKtj51dRawJiKilicUFWry7wAvf2h7Vhi2abtXABWlUIfdCaHwOk57wcKOmkRKCf3Aj7D+8gmga4ZtokMoPNJmsKgjImpDQghYBt4C4eUH69bPDNu0rHWQVeWwjLwbwuJpUobUlljCU6NJaxWs6xbAuun/sagjInIyar80WIZPBiAMcT1nW80SZNUV5iRGbYqFHTWKLM5H9bK/Qz+0yW6bEt4LHtf9iUUdEZHJ1LgR8Bh1H6AYb8jpuRmoXjEXsqTApMyorbCwowbpR3eg+psXIAuP221T+6XBkvowhHcHEzIjIqK6lO5J8Ej9A4TF2xCXZ3JQ/fVz0A5tNikzagss7KheUtdh3fYFqn94C7L6nGGbsHjDkvJ/sAy4BUJRTcqQiIgcUcJ7wZL2qN0/umV1Baw/v4fqn9+HrCo3KTtqTSzsyCFZWQrr6n9C27XMbpsI7AKPsTOhRg0wITMiImoMJag7PNIes1tfFgD0Q5tQ/dXfoOdnmZAZtSYWdmRHL8hG9dcvQD+5126bEj0IHtfPhAgMNyEzIiJqChEYDo+xf4EaO8xumyw7jeoVc2Hd8TVknQFx5Lo43QkZaJk/w7ppkd2oVwgFlkG3QUm4GkIIxzsTEZHTEZ4+sIycCtG1H7SNHxm71kgd2o6vIE/sheWKaRD+QeYlSi1CSE5Lbae4uBiBgYEoKipCQECA2em0CVlZBi19CbSDG+y2CZ8AWK78PZSweBMyIyKiliJLT8P68/sOb8EKD2+oQ++AGjvEhMzoYppSl7Cwc6A9FXZSSuhZ66Ft/QyystRuuxIaB8uV90L4dmz75IiIqMVJXYe2+1toO74GpG63XYkdCsuQ2yE8fU3IjhxpSl3CW7HtmF6QDW3z/4NekO1wu9p7NNQBt0CofJsQEbkLoSiwXDYWSpfesK79N2TpacN2/dAmVOdlwXLF3VBC40zKkpqLV+wccPcrdrKyFNrWpdAyfwbg4OW3eMGS/DuoMYPbPDciImo7suoctM2LoR3aaL9RKFATRkFNHAvh7d/2yZENb8VeInct7KSuQ8/6GdrWpZBVZQ7bKN2TYBk0gR1oiYjaEe3wL/YDK34lPLyh9E2D2ieV682ahLdiyY5+6hCsmxdDnj7icLvoEArLkNuhdO3bxpkREZHZ1JjBUEJiHQ6skNUV0LZ/AT1jDdSkm6D0SObE9E6MV+wccKcrdrKiBNrWz6FlrXPcQPWs6WvRZzSE6tG2yRERkVORugZt93JoO7+xn/bqVyKwCywDbobodhmnv2ojvBV7idyhsJOa9fxtVweX1gFAiRoIy6DbIPw6t3F2RETkzGTpaVi3LYV+uP51ZZXQOKgDboES2qMNM2ufWNhdIlcu7GRVOfTMn6Ht+x6y/KzDNiIgHJYhE6FE9Gnj7IiIyJXoZ3Kgbfnc4UpEtZTuSbBcfjNXJGpFLOwukSsWdrKkANr+72tGulorHTeyeNXcdu09mlOYEBFRo+kn9sK65TPIs0cdNxAK1LgRUPvfwHlPWwEHT7Qj+qlD0Paugn5kKxxOXfIrJXowLINuhfDt1HbJERGRW1Ai+sCjS2/ohzdD2/YFZJlx7jtIHVrmWmgH10OJTILa80qI8F7sg2cCFnYuSOo69KPboe9dCf3UoYu2VUJioSaNg9IloY2yIyIidySEgBo7FErUAOgZP0Lbucx+6ixdg35kC/QjWyA6hELteQWUHsM5D14b4q1YB5z1VqysroCetQ7avtV2M4UbCShRA6D2SYUSEttm+RERUfshq8qh7V4Bbd9qQKuuv6GiQokaWHMVLzSOV/GagX3sLpEzFXZS1yHzs6Af2Qr90MZ6R7gCACxeUONHQk24GqJDcNslSURE7ZYsPwttxzc1q1dcrMBDzVQpas8roMQOg/Dya6MMXR8Lu0tkdmEndQ0yL7OmmMvZCllRctH2wrcT1N5XQ4kfyUWbiYjIFLKyDPqhTdAO/ARZdPLijVUPqNGDar63QnrwKl4DWNhdIjMKO6lZIfMO1PRNyNkOWVna4D4iKApqn2ugdL+co1yJiMgpSCkh87OgHfgJ+pEt9U50XEv4BEDpmgjRtR+UiD4QHt5tlKnrYGF3idqqsJOaFfLkvporc0e3Q1aVN2IvAaXbZVD7XsO+CkRE5NRkRSn0g+uhHVgLWZLf8A6KCiWsJ5Su/aB0S4QICGv9JF0AC7tL1JqFnbRWQZ7cB+3IFsijOy/eZ+4ComPXmgERMUMgAkJbNCciIqLWJKWEzM2ouYp3dHuDV/FqiYCw80VeaHy7vTvFeeycmJ6xBtYt/2tUW9G5O9SoATW3WjmjNxERuSghBESXBChdEiArSqBnroN2cD1kcd5F95PFedCK86DtWw1h8YaI6A0lvBdEcAxEp65c49wBXrFzoFWv2BXno2rp0/VuV4KjoXQfACVqAESHkBZ9biIiImcii/OgH9sF/fhu6HkHGn0lDwCgqBCdukEJjoEIjoYSHAMEhLllFyVesXNiIiAUolOkYVkWJaQHlNorc/5BJmZHRETUdkRAGNQ+YVD7pNbM1XpiL+Tx3dCP74I8V3zxnXUN8vQRaKePABm/Hs/DGyIoCiI4GiI4BkpwdLtbcYmFnQnU6EHQPb1/vTJ3ebt70xEREdUlPLyhRg0AogbU9Mk7faTmSt6xnZCnjzTqGLK6AjI3A8jNOH9c7w4QAWG2HwSE1vy/fzCExbO1Tsc0vBXrQGuPipVSuuWlYiIiotYgzxVBP74bMvcA9IJsyOLcFjiqgPDrXHMnzVb4hUJ0CAX8OjlV/z3einVyLOqIiIgaT/gEQo0bAcSNAFCznJk8nQNZkA399GHIgmzI8sImHlVClp2GLDsNnNxn/5xe/oBPIIRvRwjfjoBvR4hfH9fG4R0AoSiXeHYtyykKuzfffBMvvfQScnNz0b9/f/zzn//EkCFD6m2/ZMkSPP3008jOzkZ8fDxefPFFXH/99bbtUkrMmjUL7777LgoLCzFixAi8/fbbiI+Pb4vTISIiolYkPH0huiQAXRKg/hqT5YU1t28Lfi30CrIbPaWYI7KyFKgshSw8frFMIHwCfi36OkIdcDOUjl2a/ZwtwfQy8+OPP8aMGTMwa9YsbN26Ff3790daWhry8x1PZLh+/XpMmjQJ06ZNw7Zt2zB+/HiMHz8eu3fvtrX5xz/+gTfeeAPz58/Hpk2b4Ofnh7S0NFRUVLTVaREREVEbEr4doUT2h+Xy8fC45hF43P4qPMfNhsdV98My8Fao8SOhhMVD+AS24LNKyHNFNQXlsR2A1Fvw2M1jeh+7oUOHYvDgwZg3bx4AQNd1REZG4qGHHsITTzxh137ixIkoKyvD119/bYsNGzYMSUlJmD9/PqSUiIiIwKOPPorHHnsMAFBUVISwsDB88MEHuP322xvMyey1YomIiKj1yOoKyJJ8yKI8yOK8mlUxivNqHl/CVT7PiXNrbuG2MJfpY1dVVYUtW7Zg5syZtpiiKEhNTcWGDRsc7rNhwwbMmDHDEEtLS8PSpUsBAIcPH0Zubi5SU1Nt2wMDAzF06FBs2LChUYUdERERuS/h4Q3RuTvQubshLqUEqsohzxUB5YU1t3fLC4FzRZDnCoHyoprYuSL7q3OKBfD0a7NzqI+phV1BQQE0TUNYmHEtuLCwMOzfv9/hPrm5uQ7b5+bm2rbXxuprU1dlZSUqKyttj4uLG5g7h4iIiNyOEALw8oPw8gM6RtTbTkoJVJT8WuwVQpYXAdZKpxgc6RSDJ8w2Z84czJ492+w0iIiIyAUIIQCfgJqBE3Wu+pnN1METwcHBUFUVeXnGteLy8vIQHu54bdTw8PCLtq/9b1OOOXPmTBQVFdl+jh496rAdERERkTMztbDz9PTEwIEDsXr1altM13WsXr0aycnJDvdJTk42tAeAlStX2trHxMQgPDzc0Ka4uBibNm2q95heXl4ICAgw/BARERG5GtNvxc6YMQNTpkzBoEGDMGTIELz22msoKyvD1KlTAQCTJ09G165dMWfOHADAww8/jJSUFMydOxdjx47F4sWLkZ6ejnfeeQdAzeXRRx55BH/7298QHx+PmJgYPP3004iIiMD48ePNOk0iIiKiVmd6YTdx4kScOnUKzzzzDHJzc5GUlITly5fbBj/k5ORAuWBW5+HDh2PRokV46qmn8OSTTyI+Ph5Lly5Fv379bG3+9Kc/oaysDL///e9RWFiIkSNHYvny5fD29m7z8yMiIiJqK6bPY+eMOI8dEREROYum1CWmrzxBRERERC2DhR0RERGRm2BhR0REROQmWNgRERERuQkWdkRERERugoUdERERkZtgYUdERETkJljYEREREbkJ01eecEa1czYXFxebnAkRERG1d7X1SGPWlGBh50BJSQkAIDIy0uRMiIiIiGqUlJQgMDDwom24pJgDuq7jxIkT6NChA4QQZqfTLMXFxYiMjMTRo0e5LJqb4Wvrvvjaui++tu6rLV5bKSVKSkoQEREBRbl4LzpesXNAURR069bN7DRaREBAAP+IuCm+tu6Lr6374mvrvlr7tW3oSl0tDp4gIiIichMs7IiIiIjcBAs7N+Xl5YVZs2bBy8vL7FSohfG1dV98bd0XX1v35WyvLQdPEBEREbkJXrEjIiIichMs7IiIiIjcBAs7IiIiIjfBws6FPfvssxBCGH4SEhJs20eNGmW3/b777jMxY2qK48eP484770RQUBB8fHyQmJiI9PR023YpJZ555hl06dIFPj4+SE1NRWZmpokZU2M19Nredddddp/da6+91sSMqTGio6PtXjchBB544AEAQEVFBR544AEEBQXB398ft956K/Ly8kzOmhqjodfWmb5vOUGxi+vbty9WrVple2yxGF/Se++9F3/9619tj319fdssN2q+s2fPYsSIEbjqqqvw7bffIiQkBJmZmejUqZOtzT/+8Q+88cYbWLhwIWJiYvD0008jLS0Ne/fuhbe3t4nZ08U05rUFgGuvvRYLFiywPXaWEXdUv19++QWaptke7969G9dccw1+85vfAAD++Mc/4ptvvsGSJUsQGBiIBx98ELfccgvWrVtnVsrUSA29toDzfN+ysHNxFosF4eHh9W739fW96HZyTi+++CIiIyMNX+wxMTG2/5dS4rXXXsNTTz2FcePGAQA+/PBDhIWFYenSpbj99tvbPGdqnIZe21peXl787LqYkJAQw+O///3v6NGjB1JSUlBUVIT33nsPixYtwtVXXw0AWLBgAXr37o2NGzdi2LBhZqRMjXSx17aWs3zf8lasi8vMzERERARiY2Nxxx13ICcnx7D9o48+QnBwMPr164eZM2eivLzcpEypKb788ksMGjQIv/nNbxAaGorLL78c7777rm374cOHkZubi9TUVFssMDAQQ4cOxYYNG8xImRqpode21po1axAaGopevXph+vTpOH36tAnZUnNVVVXhv//9L+6++24IIbBlyxZUV1cbPrMJCQno3r07P7Mupu5rW8tZvm95xc6FDR06FB988AF69eqFkydPYvbs2bjiiiuw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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "posterior_inter.plot(color='C1')\n", "decorate(xlabel='intercept (inches)',\n", " ylabel='PDF',\n", " title='Posterior marginal distribution of intercept')" ] }, { "cell_type": "code", "execution_count": 40, "metadata": { "execution": { "iopub.execute_input": "2021-04-16T19:39:25.023742Z", "iopub.status.busy": "2021-04-16T19:39:25.023322Z", "iopub.status.idle": "2021-04-16T19:39:25.027308Z", "shell.execute_reply": "2021-04-16T19:39:25.027853Z" }, "tags": [ "hide-cell" ] }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "63.65 [57.675 69.225]\n" ] } ], "source": [ "from utils import summarize\n", " \n", "summarize(posterior_inter) " ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The posterior mean is about 64 inches, which is the expected amount of snow during the year at the midpoint of the range, 1994.\n", "\n", "And finally, here's the posterior distribution of `slope`:" ] }, { "cell_type": "code", "execution_count": 41, "metadata": { "execution": { "iopub.execute_input": "2021-04-16T19:39:25.063785Z", "iopub.status.busy": "2021-04-16T19:39:25.044731Z", "iopub.status.idle": "2021-04-16T19:39:25.212957Z", "shell.execute_reply": "2021-04-16T19:39:25.213516Z" }, "tags": [ "hide-input" ] }, "outputs": [ { "data": { "image/png": "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GQMAcHR0xPLly/Hoo4+iZ8+eGD9+PNzd3ZGeno7NmzdjwIABegUtmTh5bsYlaj010wbcblqCyspKsWjRItGxY0dhbW0t/Pz8xJw5cyRTkyQkJIgJEyaIDh06CJVKJTw8PMTdd98tDh8+LHmtffv2iV69egmlUqk33UFqaqqYNGmS8PLyEtbW1sLX11fcfffd4vvvv29QzrrTY9RYunSpCA0NFdbW1sLT01PMmDFDXL9+XdKmoVM51Jg8ebKws7PTi9f1Ov7+/mL06NHa7bKyMvHSSy8Jb29vYWNjIwYMGCDi4+P1ps6ome5k/fr1teaxbt06ERoaKlQqlQgLCxMbN24UDzzwgAgNDZW00/1a10yvkZOTI2lX29dw48aNonv37kKtVouAgADxzjvviJUrV+q1a8h0J0IIcePGDfHcc88JV1dXYWdnJ+655x6RkZFx2+lOmvoZq+uc1TxX23Qn7733nvjggw+En5+fUKlUYtCgQeLYsWN6+//vf/8TgYGBQqlUisjISLFt2za916wvN93pToRo2PedEPqfrRoNPR9FRUXixRdfFD4+PsLa2loEBweL9957T2g0Gr3Xa8j3SEPPk+75rtk3NjZW2NvbC1tbWzFs2DCxb98+SZuaz8Xu3bvFE088IVxcXIS9vb2YOHGiyMvL08tn586dIjY2Vjg5OQm1Wi06deokpkyZopcPmT6FEDKMOiUiaqLIyEi4u7tj+/btcqdC1OxWr16NqVOn4tChQ7e96YvoVhxjR0RGrbKyElVVVZLYrl27cOzYsVqXuCIiMmccY0dERu3y5cuIiYnBI488Ah8fH5w5cwYrVqyAl5eX3sTDRETmjoUdERk1FxcX9OrVC59//jlycnJgZ2eH0aNH4+2339au80tERDdxjB0RERGRieAYOyIiIiITwcKOiIiIyERwjF0tNBoNrly5AgcHh2ZfuoeIiIjIEEIIFBUVwcfH57brQLOwq8WVK1f01usjIiIiklNGRgbat29fbxsWdrWoWSQ6IyNDb90+IiIiotZUWFgIPz8/bX1SHxZ2tajpfnV0dGRhR0REREahIcPDePMEERERkYlgYUdERERkIljYEREREZkIFnZEREREJoKFHREREZGJYGFHREREZCJY2BERERGZCBZ2RERERCaChR0RERGRiWBhR0RERGQiWNgRERERmQgWdkREREQm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/ru2TWufcxZ2LSQvL09MmDBB2NvbC0dHRzF16lTtLzIhhEhLSxMAxM6dO4UQQqSnp4vBgweLdu3aCZVKJYKCgsSsWbMk89gJIcSFCxfEqFGjhI2NjXBzcxMvvfSSZEoQY2DosdfcLl7bIy0tTQhxc8qUyMhIYW9vL+zs7ERERIRYsWKFZK4gOfzf//2f6NChg1AqlaJv375i//792ueGDBkiJk+eLGn/3Xffic6dOwulUim6desmNm/eLHleo9GI1157TXh6egqVSiWGDx8ukpOTW+NQDGLIcfv7+9d6bhcsWCCEEKK0tFSMGDFCuLu7C2tra+Hv7y+mT59udL/oahhy7C+88IK2raenp7jrrrsk83oJYZrnXAghzpw5IwCI3377Te+12so5r+tnU82xTp48WQwZMkRvn8jISKFUKkVgYKBk7r4a9X0tjYWhxz5kyJB62wtxc+oXb29voVQqha+vrxg3bpxISUlp3QO7DUOP+5133hGdOnUSarVatGvXTgwdOlTs2LFD73Vb85wrhJBpvggiIiIialYcY0dERERkIljYEREREZkIFnZEREREJoKFHREREZGJYGFHREREZCJY2BERERGZCBZ2RERERCaChR0RERGRiWBhR0RNplAosGHDBrnTAAAkJyfDy8sLRUVFAIDVq1fD2dm52V7/woULUCgU2rWcqXmNHz8eH3zwgdxpELVZLOyIqF45OTmYMWMGOnToAJVKBS8vL8TGxmLv3r1yp1arOXPm4Nlnn4WDgwMAYNy4cTh79qzMWVFDzZs3D//+979RUFAgdypEbRILOyKq1wMPPIDExESsWbMGZ8+excaNGzF06FDk5eXJnZqe9PR0bNq0CVOmTNHGbGxs4OHhIV9SRqyyslLuFLQqKioAAGFhYejUqRP+97//yZwRUdvEwo6I6pSfn489e/bgnXfewbBhw+Dv74++fftizpw5GDNmTJ37nThxAnfccQdsbGzg6uqKJ554AsXFxdrnp0yZgrFjx2LRokVwd3eHo6MjnnzySe0vdwDQaDRYvHgxOnbsCBsbG0REROD777+vN9/vvvsOERER8PX11cZ0u2IXLlyIyMhIfPXVVwgICICTkxPGjx+v7bqtee93330XQUFBUKlU6NChA/79739L3uv8+fMYNmwYbG1tERERgfj4eMnzf/75JwYNGgQbGxv4+fnhueeeQ0lJifb5Tz75BMHBwVCr1fD09MSDDz5Y53HVHMOGDRu0+8TGxiIjI0PS7ueff0bPnj2hVqsRGBiIRYsWoaqqSvu8QqHA8uXLMWbMGNjZ2ekdEwC8/vrrCAsL04tHRkbitdde025//vnn6NKlC9RqNUJDQ/HJJ59I2r/66qvo3LkzbG1tERgYiNdee01SSNach88//xwdO3aEWq3WPnfPPfdg3bp1dX49iKgegoioDpWVlcLe3l688MILoqysrM52AMRPP/0khBCiuLhYeHt7i/vvv1+cOHFCxMXFiY4dO4rJkydr20+ePFnY29uLcePGiaSkJLFp0ybh7u4u5s6dq23z5ptvitDQULF161aRmpoqVq1aJVQqldi1a1edeYwZM0Y8+eSTktiqVauEk5OTdnvBggXC3t5em98ff/whvLy8JO/9yiuvCBcXF7F69WqRkpIi9uzZIz777DMhhBBpaWkCgAgNDRWbNm0SycnJ4sEHHxT+/v6isrJSCCFESkqKsLOzE0uWLBFnz54Ve/fuFT169BBTpkwRQghx6NAhYWlpKdauXSsuXLggEhISxMcff1znca1atUpYW1uL3r17i3379onDhw+Lvn37iv79+2vb/PHHH8LR0VGsXr1apKamit9++00EBASIhQsXSs6Th4eHWLlypUhNTRUXL17Ue6+MjAxhYWEhDh48qI0lJCQIhUIhUlNThRBC/O9//xPe3t7ihx9+EOfPnxc//PCDaNeunVi9erV2nzfeeEPs3btXpKWliY0bNwpPT0/xzjvvSM6DnZ2dGDlypEhISBDHjh3TPvfrr78KpVJZ72eOiGrHwo6I6vX9998LFxcXoVarRf/+/cWcOXMkv4SFkBZ2n376qXBxcRHFxcXa5zdv3iwsLCxEZmamEOJmYdeuXTtRUlKibbN8+XJhb28vqqurRVlZmbC1tRX79u2TvM+0adPEhAkT6sw1IiJCvP7665JYbYWdra2tKCws1MZmzZoloqKihBBCFBYWCpVKpS3kdNUUdp9//rk2dvLkSQFAnD59WpvnE088Idlvz549wsLCQty4cUP88MMPwtHRUZJDfVatWiUAiP3792tjp0+fFgDEgQMHhBBCDB8+XLz11luS/b766ivh7e2t3QYgXnjhhdu+36hRo8SMGTO0288++6wYOnSodrtTp05i7dq1kn3eeOMNER0dXedrvvfee6JXr17a7QULFghra2uRnZ2t1/bYsWMCgLhw4cJtcyUiKXbFElG9HnjgAVy5cgUbN27EyJEjsWvXLvTs2ROrV6+utf3p06cREREBOzs7bWzAgAHQaDRITk7WxiIiImBra6vdjo6ORnFxMTIyMpCSkoLS0lLceeedsLe31z6+/PJLpKam1pnrjRs3JF16dQkICNDeXAEA3t7eyM7O1uZfXl6O4cOH1/sa3bt3l+wPQPsax44dw+rVqyW5x8bGQqPRIC0tDXfeeSf8/f0RGBiIRx99FF9//TVKS0vrfT8rKyv06dNHux0aGgpnZ2ecPn1a+56vv/665D2nT5+Oq1evSl67d+/et/36TJ8+Hd988w3KyspQUVGBtWvX4rHHHgMAlJSUIDU1FdOmTZO815tvvik5N99++y0GDBgALy8v2NvbY968eUhPT5e8j7+/P9zd3fXe38bGBgBu+zUhIn1WcidARMZPrVbjzjvvxJ133onXXnsNjz/+OBYsWCC5SaE51YzH27x5s2S8HACoVKo693Nzc8P169dv+/rW1taSbYVCAY1GA+DvosKQ11AoFACgfY3i4mL885//xHPPPae3X4cOHaBUKpGQkIBdu3bht99+w/z587Fw4UIcOnSo0VOzFBcXY9GiRbj//vv1nru12L214K7LPffcA5VKhZ9++glKpRKVlZXaMYA15+azzz5DVFSUZD9LS0sAQHx8PCZOnIhFixYhNjYWTk5OWLdund40JnXlcu3aNQCotegjovqxsCMig3Xt2rXOeeu6dOmC1atXo6SkRPuLe+/evbCwsEBISIi23bFjx3Djxg1tIbV//37Y29vDz88P7dq1g0qlQnp6OoYMGdLgvHr06IFTp041/sAABAcHw8bGBnFxcXj88ccb9Ro9e/bEqVOnEBQUVGcbKysrxMTEICYmBgsWLICzszN27NhRa2EGAFVVVTh8+DD69u0L4OZ8ffn5+ejSpYv2PZOTk+t9z4aysrLC5MmTsWrVKiiVSowfP157njw9PeHj44Pz589j4sSJte6/b98++Pv741//+pc2dvHixQa/f1JSEtq3bw83N7emHQiRGWJhR0R1ysvLwz/+8Q889thj6N69OxwcHHD48GG8++67uPfee2vdZ+LEiViwYAEmT56MhQsXIicnB88++yweffRReHp6attVVFRg2rRpmDdvHi5cuIAFCxbgmWeegYWFBRwcHPDyyy/jxRdfhEajwcCBA1FQUIC9e/fC0dERkydPrvW9Y2Nj8fjjj6O6ulp79chQarUar776Kl555RUolUoMGDAAOTk5OHnyJKZNm9ag13j11VfRr18/PPPMM3j88cdhZ2eHU6dOYfv27Vi6dCk2bdqE8+fPY/DgwXBxccGWLVug0Wgkha8ua2trPPvss/jPf/4DKysrPPPMM+jXr5+20Js/fz7uvvtudOjQAQ8++CAsLCxw7NgxJCUl4c033zT46/D4449ri0bdOQsXLVqE5557Dk5OThg5ciTKy8tx+PBhXL9+HTNnzkRwcDDS09Oxbt069OnTB5s3b8ZPP/3U4Pfes2cPRowYYXDORATeFUtEdSsrKxOzZ88WPXv2FE5OTsLW1laEhISIefPmidLSUm073HLzhBBCHD9+XAwbNkyo1WrRrl07MX36dFFUVKR9fvLkyeLee+8V8+fPF66ursLe3l5Mnz5dchekRqMRH330kQgJCRHW1tbC3d1dxMbGit27d9eZb2VlpfDx8RFbt27Vxmq7eSIiIkKy35IlS4S/v792u7q6Wrz55pvC399fWFtbiw4dOmhvTKi5eSIxMVHb/vr16wKA2LlzpzZ28OBBceeddwp7e3thZ2cnunfvLv79738LIW7eSDFkyBDh4uIibGxsRPfu3cW3335b53HVHMMPP/wgAgMDhUqlEjExMXp3tW7dulX0799f2NjYCEdHR9G3b1/x6aefap/XPU+3M2jQINGtW7dan/v6669FZGSkUCqVwsXFRQwePFj8+OOP2udnzZqlPbfjxo0TS5Ysue15EEKIGzduCCcnJxEfH9/gPInobwohhJC3tCQiczNlyhTk5+e3yDJky5Ytw8aNG7Ft27Zmf225rF69Gi+88ALy8/Nb7T2FEAgODsZTTz2FmTNnttr7Ll++HD/99BN+++23VntPIlPCrlgiMin//Oc/kZ+fj6KiIsmdr9RwOTk5WLduHTIzMzF16tRWfW9ra2v83//9X6u+J5EpYWFHRCbFyspKMmifDOfh4QE3Nzd8+umncHFxadX3buwNK0R0E7tiiYiIiEwEJygmIiIiMhEs7IiIiIhMBAs7IiIiIhPBwo6IiIjIRLCwIyIiIjIRLOyIiIiITAQLOyIiIiITwcKOiIiIyESwsCMiIiIyEf8PZRqVX81MRe4AAAAASUVORK5CYII=", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "posterior_slope.plot(color='C4')\n", "decorate(xlabel='Slope (inches per year)',\n", " ylabel='PDF',\n", " title='Posterior marginal distribution of slope')" ] }, { "cell_type": "code", "execution_count": 42, "metadata": { "execution": { "iopub.execute_input": "2021-04-16T19:39:25.217691Z", "iopub.status.busy": "2021-04-16T19:39:25.217238Z", "iopub.status.idle": "2021-04-16T19:39:25.219918Z", "shell.execute_reply": "2021-04-16T19:39:25.219480Z" }, "tags": [ "hide-cell" ] }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "0.376 [0.02 0.74]\n" ] } ], "source": [ "summarize(posterior_slope)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The posterior mean is about 0.51 inches, which is consistent with the estimate we got from least squared regression. \n", "\n", "The 90% credible interval is from 0.1 to 0.9, which indicates that our uncertainty about this estimate is pretty high. In fact, there is still a small posterior probability (about 2\\%) that the slope is negative. " ] }, { "cell_type": "code", "execution_count": 43, "metadata": { "execution": { "iopub.execute_input": "2021-04-16T19:39:25.224069Z", "iopub.status.busy": "2021-04-16T19:39:25.223483Z", "iopub.status.idle": "2021-04-16T19:39:25.226209Z", "shell.execute_reply": "2021-04-16T19:39:25.225770Z" }, "tags": [ "hide-cell" ] }, "outputs": [ { "data": { "text/plain": [ "array(0.04584032)" ] }, "execution_count": 43, "metadata": {}, "output_type": "execute_result" } ], "source": [ "posterior_slope.make_cdf()(0)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "However, it is more likely that my conjecture was wrong: we are actually getting more snow around here than we used to, increasing at a rate of about a half-inch per year, which is substantial. On average, we get an additional 25 inches of snow per year than we did when I was young.\n", "\n", "This example shows that with slow-moving trends and noisy data, your instincts can be misleading. \n", "\n", "Now, you might suspect that I overestimate the amount of snow when I was young because I enjoyed it, and underestimate it now because I don't. But you would be mistaken.\n", "\n", "During the Blizzard of 1978, we did not have a snowblower and my brother and I had to shovel. My sister got a pass for no good reason. Our driveway was about 60 feet long and three cars wide near the garage. And we had to shovel Mr. Crocker's driveway, too, for which we were not allowed to accept payment. Furthermore, as I recall it was during this excavation that I accidentally hit my brother with a shovel on the head, and it bled a lot because, you know, scalp wounds.\n", "\n", "Anyway, the point is that I don't think I overestimate the amount of snow when I was young because I have fond memories of it. " ] }, { "cell_type": "markdown", "metadata": { "tags": [ "hide-cell" ] }, "source": [ "## Optimization\n", "\n", "The way we computed the likelihood in the previous section was pretty slow. The problem is that we looped through every possible set of parameters in the prior distribution, and there were more than 60,000 of them.\n", "\n", "If we can do more work per iteration, and run the loop fewer times, we expect it to go faster.\n", "\n", "In order to do that, I'll unstack the prior distribution:" ] }, { "cell_type": "code", "execution_count": 44, "metadata": { "execution": { "iopub.execute_input": "2021-04-16T19:39:25.229663Z", "iopub.status.busy": "2021-04-16T19:39:25.228880Z", "iopub.status.idle": "2021-04-16T19:39:25.265229Z", "shell.execute_reply": "2021-04-16T19:39:25.265554Z" }, "tags": [ "hide-cell" ] }, "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", " \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", "
Sigma20.020.521.021.522.022.523.023.524.024.5...30.531.031.532.032.533.033.534.034.535.0
SlopeIntercept
-0.554.0000.0000150.0000150.0000150.0000150.0000150.0000150.0000150.0000150.0000150.000015...0.0000150.0000150.0000150.0000150.0000150.0000150.0000150.0000150.0000150.000015
54.5250.0000150.0000150.0000150.0000150.0000150.0000150.0000150.0000150.0000150.000015...0.0000150.0000150.0000150.0000150.0000150.0000150.0000150.0000150.0000150.000015
55.0500.0000150.0000150.0000150.0000150.0000150.0000150.0000150.0000150.0000150.000015...0.0000150.0000150.0000150.0000150.0000150.0000150.0000150.0000150.0000150.000015
\n", "

3 rows × 31 columns

\n", "
" ], "text/plain": [ "Sigma 20.0 20.5 21.0 21.5 22.0 22.5 \\\n", "Slope Intercept \n", "-0.5 54.000 0.000015 0.000015 0.000015 0.000015 0.000015 0.000015 \n", " 54.525 0.000015 0.000015 0.000015 0.000015 0.000015 0.000015 \n", " 55.050 0.000015 0.000015 0.000015 0.000015 0.000015 0.000015 \n", "\n", "Sigma 23.0 23.5 24.0 24.5 ... 30.5 \\\n", "Slope Intercept ... \n", "-0.5 54.000 0.000015 0.000015 0.000015 0.000015 ... 0.000015 \n", " 54.525 0.000015 0.000015 0.000015 0.000015 ... 0.000015 \n", " 55.050 0.000015 0.000015 0.000015 0.000015 ... 0.000015 \n", "\n", "Sigma 31.0 31.5 32.0 32.5 33.0 33.5 \\\n", "Slope Intercept \n", "-0.5 54.000 0.000015 0.000015 0.000015 0.000015 0.000015 0.000015 \n", " 54.525 0.000015 0.000015 0.000015 0.000015 0.000015 0.000015 \n", " 55.050 0.000015 0.000015 0.000015 0.000015 0.000015 0.000015 \n", "\n", "Sigma 34.0 34.5 35.0 \n", "Slope Intercept \n", "-0.5 54.000 0.000015 0.000015 0.000015 \n", " 54.525 0.000015 0.000015 0.000015 \n", " 55.050 0.000015 0.000015 0.000015 \n", "\n", "[3 rows x 31 columns]" ] }, "execution_count": 44, "metadata": {}, "output_type": "execute_result" } ], "source": [ "joint3 = prior.unstack()\n", "joint3.head(3)" ] }, { "cell_type": "markdown", "metadata": { "tags": [ "hide-cell" ] }, "source": [ "The result is a `DataFrame` with `slope` and `intercept` down the rows and `sigmas` across the columns.\n", "\n", "The following is a version of `likelihood_regression` that takes the joint prior distribution in this form and returns the posterior distribution in the same form." ] }, { "cell_type": "code", "execution_count": 45, "metadata": { "execution": { "iopub.execute_input": "2021-04-16T19:39:25.270539Z", "iopub.status.busy": "2021-04-16T19:39:25.270009Z", "iopub.status.idle": "2021-04-16T19:39:25.272082Z", "shell.execute_reply": "2021-04-16T19:39:25.271704Z" }, "tags": [ "hide-cell" ] }, "outputs": [], "source": [ "from utils import normalize\n", "\n", "def update_optimized(prior, data):\n", " \"\"\"Posterior distribution of regression parameters\n", " `slope`, `inter`, and `sigma`.\n", " \n", " prior: Pmf representing the joint prior\n", " data: DataFrame with columns `x` and `y`\n", " \n", " returns: Pmf representing the joint posterior\n", " \"\"\"\n", " xs = data['x']\n", " ys = data['y']\n", " sigmas = prior.columns \n", " likelihood = prior.copy()\n", "\n", " for slope, inter in prior.index:\n", " expected = slope * xs + inter\n", " resid = ys - expected\n", " resid_mesh, sigma_mesh = np.meshgrid(resid, sigmas)\n", " densities = norm.pdf(resid_mesh, 0, sigma_mesh)\n", " likelihood.loc[slope, inter] = densities.prod(axis=1)\n", " \n", " posterior = prior * likelihood\n", " normalize(posterior)\n", " return posterior" ] }, { "cell_type": "markdown", "metadata": { "tags": [ "hide-cell" ] }, "source": [ "This version loops through all possible pairs of `slope` and `inter`, so the loop runs about 2000 times." ] }, { "cell_type": "code", "execution_count": 46, "metadata": { "execution": { "iopub.execute_input": "2021-04-16T19:39:25.276199Z", "iopub.status.busy": "2021-04-16T19:39:25.275543Z", "iopub.status.idle": "2021-04-16T19:39:25.278211Z", "shell.execute_reply": "2021-04-16T19:39:25.278659Z" }, "tags": [ "hide-cell" ] }, "outputs": [ { "data": { "text/plain": [ "2091" ] }, "execution_count": 46, "metadata": {}, "output_type": "execute_result" } ], "source": [ "len(prior_slope) * len(prior_inter)" ] }, { "cell_type": "markdown", "metadata": { "tags": [ "hide-cell" ] }, "source": [ "Each time through the loop, it uses a grid mesh to compute the likelihood of the data for all values of `sigma`. The result is an array with one column for each data point and one row for each value of `sigma`. Taking the product across the columns (`axis=1`) yields the probability of the data for each value of sigma, which we assign as a row in `likelihood`." ] }, { "cell_type": "code", "execution_count": 47, "metadata": { "execution": { "iopub.execute_input": "2021-04-16T19:39:25.282991Z", "iopub.status.busy": "2021-04-16T19:39:25.282462Z", "iopub.status.idle": "2021-04-16T19:39:27.180270Z", "shell.execute_reply": "2021-04-16T19:39:27.179860Z" }, "tags": [ "hide-cell" ] }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "CPU times: user 996 ms, sys: 5 µs, total: 996 ms\n", "Wall time: 994 ms\n" ] } ], "source": [ "%time posterior_opt = update_optimized(joint3, data)" ] }, { "cell_type": "markdown", "metadata": { "tags": [ "hide-cell" ] }, "source": [ "We get the same result either way." ] }, { "cell_type": "code", "execution_count": 48, "metadata": { "execution": { "iopub.execute_input": "2021-04-16T19:39:27.185227Z", "iopub.status.busy": "2021-04-16T19:39:27.184354Z", "iopub.status.idle": "2021-04-16T19:39:27.188848Z", "shell.execute_reply": "2021-04-16T19:39:27.189315Z" }, "tags": [ "hide-cell" ] }, "outputs": [ { "data": { "text/plain": [ "True" ] }, "execution_count": 48, "metadata": {}, "output_type": "execute_result" } ], "source": [ "np.allclose(posterior, posterior_opt.stack())" ] }, { "cell_type": "markdown", "metadata": { "tags": [ "hide-cell" ] }, "source": [ "But this version is about 25 times faster than the previous version. \n", "\n", "This optimization works because many functions in NumPy and SciPy are written in C, so they run fast compared to Python. If you can do more work each time you call these functions, and less time running the loop in Python, your code will often run substantially faster.\n", "\n", "In this version of the posterior distribution, `slope` and `inter` run down the rows and `sigma` runs across the columns. So we can use `marginal` to get the posterior joint distribution of `slope` and `intercept`." ] }, { "cell_type": "code", "execution_count": 49, "metadata": { "execution": { "iopub.execute_input": "2021-04-16T19:39:27.192910Z", "iopub.status.busy": "2021-04-16T19:39:27.192447Z", "iopub.status.idle": "2021-04-16T19:39:27.200629Z", "shell.execute_reply": "2021-04-16T19:39:27.200147Z" }, "tags": [ "hide-cell" ] }, "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", "
probs
SlopeIntercept
-0.554.0001.681717e-07
54.5252.268085e-07
55.0503.015062e-07
\n", "
" ], "text/plain": [ "Slope Intercept\n", "-0.5 54.000 1.681717e-07\n", " 54.525 2.268085e-07\n", " 55.050 3.015062e-07\n", "dtype: float64" ] }, "execution_count": 49, "metadata": {}, "output_type": "execute_result" } ], "source": [ "from utils import marginal\n", "\n", "posterior2 = marginal(posterior_opt, 1)\n", "posterior2.head(3)" ] }, { "cell_type": "markdown", "metadata": { "tags": [ "hide-cell" ] }, "source": [ "The result is a `Pmf` with two columns in the index.\n", "To plot it, we have to unstack it." ] }, { "cell_type": "code", "execution_count": 50, "metadata": { "execution": { "iopub.execute_input": "2021-04-16T19:39:27.204066Z", "iopub.status.busy": "2021-04-16T19:39:27.203624Z", "iopub.status.idle": "2021-04-16T19:39:27.226398Z", "shell.execute_reply": "2021-04-16T19:39:27.225993Z" }, "tags": [ "hide-cell" ] }, "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", " \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", "
Slope-0.50-0.46-0.42-0.38-0.34-0.30-0.26-0.22-0.18-0.14...1.141.181.221.261.301.341.381.421.461.50
Intercept
54.0001.681717e-072.848880e-074.744292e-077.761707e-070.0000010.0000020.0000030.0000050.0000070.000010...7.116789e-074.336070e-072.595674e-071.527668e-078.844849e-085.040388e-082.828465e-081.563589e-088.517697e-094.573661e-09
54.5252.268085e-073.859703e-076.457296e-071.061331e-060.0000020.0000030.0000040.0000060.0000090.000014...9.723366e-075.896799e-073.513780e-072.058667e-071.186640e-076.733065e-083.762506e-082.071531e-081.124098e-086.013601e-09
55.0503.015062e-075.153700e-078.661024e-071.430000e-060.0000020.0000040.0000060.0000090.0000130.000019...1.309030e-067.902856e-074.688054e-072.734522e-071.569383e-078.867160e-084.934762e-082.706205e-081.462927e-087.797870e-09
\n", "

3 rows × 51 columns

\n", "
" ], "text/plain": [ "Slope -0.50 -0.46 -0.42 -0.38 -0.34 \\\n", "Intercept \n", "54.000 1.681717e-07 2.848880e-07 4.744292e-07 7.761707e-07 0.000001 \n", "54.525 2.268085e-07 3.859703e-07 6.457296e-07 1.061331e-06 0.000002 \n", "55.050 3.015062e-07 5.153700e-07 8.661024e-07 1.430000e-06 0.000002 \n", "\n", "Slope -0.30 -0.26 -0.22 -0.18 -0.14 ... \\\n", "Intercept ... \n", "54.000 0.000002 0.000003 0.000005 0.000007 0.000010 ... \n", "54.525 0.000003 0.000004 0.000006 0.000009 0.000014 ... \n", "55.050 0.000004 0.000006 0.000009 0.000013 0.000019 ... \n", "\n", "Slope 1.14 1.18 1.22 1.26 \\\n", "Intercept \n", "54.000 7.116789e-07 4.336070e-07 2.595674e-07 1.527668e-07 \n", "54.525 9.723366e-07 5.896799e-07 3.513780e-07 2.058667e-07 \n", "55.050 1.309030e-06 7.902856e-07 4.688054e-07 2.734522e-07 \n", "\n", "Slope 1.30 1.34 1.38 1.42 \\\n", "Intercept \n", "54.000 8.844849e-08 5.040388e-08 2.828465e-08 1.563589e-08 \n", "54.525 1.186640e-07 6.733065e-08 3.762506e-08 2.071531e-08 \n", "55.050 1.569383e-07 8.867160e-08 4.934762e-08 2.706205e-08 \n", "\n", "Slope 1.46 1.50 \n", "Intercept \n", "54.000 8.517697e-09 4.573661e-09 \n", "54.525 1.124098e-08 6.013601e-09 \n", "55.050 1.462927e-08 7.797870e-09 \n", "\n", "[3 rows x 51 columns]" ] }, "execution_count": 50, "metadata": {}, "output_type": "execute_result" } ], "source": [ "joint_posterior = posterior2.unstack().transpose()\n", "joint_posterior.head(3)" ] }, { "cell_type": "markdown", "metadata": { "tags": [ "hide-cell" ] }, "source": [ "Here's what it looks like." ] }, { "cell_type": "code", "execution_count": 51, "metadata": { "execution": { "iopub.execute_input": "2021-04-16T19:39:27.240820Z", "iopub.status.busy": "2021-04-16T19:39:27.240115Z", "iopub.status.idle": "2021-04-16T19:39:27.414765Z", "shell.execute_reply": "2021-04-16T19:39:27.414340Z" }, "tags": [ "hide-cell" ] }, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAnYAAAHWCAYAAAD6oMSKAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/SrBM8AAAACXBIWXMAAA9hAAAPYQGoP6dpAACnf0lEQVR4nOzdd1hTZxsH4F8SIOy9lQ0yRAUHDnCC4i7uWfeoWq2z1bZWravOWmudn7PuvSeouPdGRPbeK8wAyfn+UKhRUMCTHMTnvq5cysnJ+z7JScLDO3kMwzAghBBCCCFfPD7XARBCCCGEEHZQYkcIIYQQUktQYkcIIYQQUktQYkcIIYQQUktQYkcIIYQQUktQYkcIIYQQUktQYkcIIYQQUktQYkcIIYQQUktQYkcIIYQQUktQYke+Ojt27ACPx0NUVJTc65o/fz54PF61HtuuXTu0a9eO3YCqiMfjYf78+WU/K/K1GzFiBKytrct+joqKAo/Hw8qVK+VeN/B5105RSkpK8OOPP8LCwgJ8Ph9+fn6fVd771/trVtnPn7W1NUaMGCH3eAipLErsyCeV/jIvvamqqqJevXr4/vvvkZyczHp9+fn5mD9/Pq5evcp62V+LvXv3Ys2aNVyHAaBmX8+aHFtlbNu2DStWrEDfvn2xc+dOTJs2jeuQSBWsX78eO3bs4DoMVtWk756vFkPIJ2zfvp0BwPz+++/Mv//+y2zZsoUZPnw4w+fzGRsbGyYvL4/V+lJTUxkAzLx581gtt1RJSQlTUFDASKVSuZT/ruLiYqagoKBajxWLxYxYLK7WY7t168ZYWVlV67Hvev86VOe1q+71LCoqYgoLC8t+joyMZAAwK1asqFI51Y3tc66dogwYMICpU6cOa+XJ83P3pWnbti3Ttm3bT55XWFjIFBUVVauO+vXrV6qOLwlb3z2k+pQ4zCnJF6ZLly5o2rQpAGDMmDEwMDDA6tWrceLECQwaNIjj6D4tLy8PGhoaEAgEEAgErJWbn58PdXX1cu9TUlKCklL1PmYqKiqfE5ZcsP3alaf0OikrK8u1nk/5nGunKCkpKdDV1eU6jK+aUCjkOgQZJSUlkEqlNfL7gygGdcWSauvQoQMAIDIyEsCbL5SFCxfCzs4OQqEQ1tbW+PnnnyEWi2Ue9+DBA/j6+sLQ0BBqamqwsbHBqFGjALwZR2VkZAQAWLBgQVn377vjfl69eoW+fftCX18fqqqqaNq0KU6ePClTR2n3cWBgICZOnAhjY2PUrVtX5r73x4mtX78e9evXh1AohLm5OSZNmoSsrCyZc9q1awdXV1c8fPgQbdq0gbq6On7++ecKX6PyxmlV9nV6f4zP1atXwePxcPDgQSxevBh169aFqqoqvL29ERYWJvO4M2fOIDo6uuz1e3esWnnEYjGmTZsGIyMjaGlpoWfPnoiLi/vgvPJeu8+5niNGjICmpibCw8PRtWtXaGlpYciQIWX3VRT3n3/+CSsrK6ipqaFt27Z48eLFR1+7Uu+W+anYPufaWVtbo3v37rhx4wY8PDygqqoKW1tb7Nq1q9zn8768vDzMmDEDFhYWEAqFcHR0xMqVK8EwTFnsPB4PV65cQVBQUFnsH+tS/th1+pjHjx+jS5cu0NbWhqamJry9vXHnzh2Zc0rfF9euXcP48eNhYGAAbW1tDBs2DJmZmR+Uee7cObRu3RoaGhrQ0tJCt27dEBQU9MlYMjIyMHPmTDRo0ACamprQ1tZGly5d8PTpU5nzKvtZKbV582bY2dlBTU0NHh4euH79+idjKfX+GLvS1+LmzZuYPn06jIyMoKGhgV69eiE1NVXmcUFBQQgMDCy7fu++Z7OysjB16tSy94C9vT2WLVsGqVRads67407XrFlT9r58+fIlgDfflf3794eRkRHU1NTg6OiIX375RSb++Ph4jBo1CiYmJhAKhahfvz62bdtW7ut54MAB/PzzzzA1NYWGhgZ69uyJ2NjYsvOq891D2Fez/xwlNVp4eDgAwMDAAMCbVrydO3eib9++mDFjBu7evYulS5ciODgYx44dA/CmhaFTp04wMjLC7Nmzoauri6ioKBw9ehQAYGRkhA0bNmDChAno1asXevfuDQBo2LAhACAoKAienp6oU6cOZs+eDQ0NDRw8eBB+fn44cuQIevXqJRPjxIkTYWRkhN9++w15eXkVPpf58+djwYIF8PHxwYQJExASEoINGzbg/v37uHnzpkzrUXp6Orp06YKBAwdi6NChMDExqdLrVpnX6WP++OMP8Pl8zJw5E9nZ2Vi+fDmGDBmCu3fvAgB++eUXZGdnIy4uDn/++ScAQFNT85Mx7d69G4MHD0arVq1w+fJldOvW7ZOxfO71BN4kS76+vvDy8sLKlSsrbP0stWvXLuTk5GDSpEkoLCzEX3/9hQ4dOuD58+dVuhaVie19Vbl2YWFh6Nu3L0aPHo3hw4dj27ZtGDFiBJo0aYL69etXWAfDMOjZsyeuXLmC0aNHw83NDRcuXMCsWbMQHx+PP//8E0ZGRvj333+xePFi5ObmYunSpQAAZ2fncsv81HWqSFBQEFq3bg1tbW38+OOPUFZWxqZNm9CuXTsEBgaiefPmMud///330NXVxfz588s+Q9HR0WWJAQD8+++/GD58OHx9fbFs2TLk5+djw4YN8PLywuPHjz+aCEREROD48ePo168fbGxskJycjE2bNqFt27Z4+fIlzM3NZc7/1GcFALZu3Yrx48ejVatWmDp1KiIiItCzZ0/o6+vDwsLio6/Px0yePBl6enqYN28eoqKisGbNGnz//fc4cOAAAGDNmjWYPHkyNDU1y5Kt0vdvfn4+2rZti/j4eIwfPx6Wlpa4desW5syZg8TExA/GsG3fvh2FhYUYN24chEIh9PX18ezZM7Ru3RrKysoYN24crK2tER4ejlOnTmHx4sUAgOTkZLRo0QI8Hg/ff/89jIyMcO7cOYwePRoikQhTp06VqWfx4sXg8Xj46aefkJKSgjVr1sDHxwdPnjyBmppatb57iBxw3RdMar7SMXb+/v5MamoqExsby+zfv58xMDBg1NTUmLi4OObJkycMAGbMmDEyj505cyYDgLl8+TLDMAxz7NgxBgBz//79Cuv72Lgnb29vpkGDBjJjr6RSKdOqVSvGwcHhg5i9vLyYkpKScp9PZGQkwzAMk5KSwqioqDCdOnViJBJJ2Xnr1q1jADDbtm0rO9a2bVsGALNx48ZPv3AMw8ybN49592NW2deptK53x99cuXKFAcA4OzvLjL3766+/GADM8+fPy45VZZxLaUwTJ06UOT548OAPrsP7r93nXs/hw4czAJjZs2eXe9+7z6F0jF3pe67U3bt3GQDMtGnTyo5VND7q/TI/FtvnXDsrKysGAHPt2rWyYykpKYxQKGRmzJjxQV3vOn78OAOAWbRokczxvn37MjwejwkLC5N5nvXr1/9oeQxTuevEMB+OsfPz82NUVFSY8PDwsmMJCQmMlpYW06ZNm7Jjpe+LJk2ayIw3W758OQOAOXHiBMMwDJOTk8Po6uoyY8eOlak3KSmJ0dHR+eD4+woLC2U+owzz5n0hFAqZ33//vexYZT8rRUVFjLGxMePm5iZz3ubNmxkAlRr/ZmVlxQwfPvyD18LHx0dmLOq0adMYgUDAZGVllR2raIzdwoULGQ0NDeb169cyx2fPns0IBAImJiam7LkDYLS1tZmUlBSZc9u0acNoaWkx0dHRMsffjWn06NGMmZkZk5aWJnPOwIEDGR0dHSY/P59hmP9ezzp16jAikajsvIMHDzIAmL/++qvsGI2x4x51xZJK8/HxgZGRESwsLDBw4EBoamri2LFjqFOnDs6ePQsAmD59usxjZsyYAQA4c+YMAJSNBzp9+jSKi4urVH9GRgYuX76M/v37IycnB2lpaUhLS0N6ejp8fX0RGhqK+Ph4mceMHTv2k2PC/P39UVRUhKlTp4LP/+8jMXbsWGhra5fFXkooFGLkyJFVir1UZV+njxk5cqTM+JnWrVsDeNOa8TkxTZkyReb4+3+tl+dzrue7JkyYUOlz/fz8UKdOnbKfPTw80Lx587LnIS9VvXYuLi5l1wZ400Lo6Oj4yet09uxZCASCD67HjBkzwDAMzp07V+XYq3OdJBIJLl68CD8/P9ja2pYdNzMzw+DBg3Hjxg2IRCKZx4wbN06mdXvChAlQUlIqe+0uXbqErKwsDBo0qOzzm5aWBoFAgObNm+PKlSsfjUkoFJZ9RiUSCdLT06GpqQlHR0c8evTog/M/9Vl58OABUlJS8N1338mcN2LECOjo6FTqdarIuHHjZLryW7duDYlEgujo6E8+9tChQ2jdujX09PRkXicfHx9IJBJcu3ZN5vw+ffqUDSsAgNTUVFy7dg2jRo2CpaWlzLmlMTEMgyNHjqBHjx5gGEamHl9fX2RnZ3/wmg4bNgxaWlplP/ft2xdmZmZy/+yRqqGuWFJp//zzD+rVqwclJSWYmJjA0dGx7Es2OjoafD4f9vb2Mo8xNTWFrq5u2ZdZ27Zt0adPHyxYsAB//vkn2rVrBz8/PwwePPiTg5DDwsLAMAzmzp2LuXPnlntOSkqKzC99GxubTz6v0tgcHR1ljquoqMDW1vaDL+I6depUe2ByZV+nj3n/i1pPTw8Ayh3LVJWY7OzsZI6//3qU53OuZyklJaWy8Y+V4eDg8MGxevXq4eDBg5Uuozqqeu3ev07Am2v1qesUHR0Nc3NzmV+gwH/drJV5j7yvOtcpNTUV+fn55b4PnJ2dIZVKERsbK9Ot/P610dTUhJmZWdmYzNDQUAD/jc99n7a29kefh1QqxV9//YX169cjMjISEomk7L7SISHv+tRnpfS1fD9uZWVlmWS2Oj7ncxoaGopnz57JJGvvSklJkfn5/e+50sTV1dW1wjpSU1ORlZWFzZs3Y/PmzZWq5/3Xicfjwd7eXiHrWpLKo8SOVJqHh0fZrNiKfGpBVx6Ph8OHD+POnTs4deoULly4gFGjRmHVqlW4c+fOR8djlA4anjlzJnx9fcs95/1fumpqah+NpzrYKPNzFr6tqAWSeTuwXpE+53qWercVhs24yns93k0EPqfsyqht14kNpZ/hf//9F6amph/c/6lZyEuWLMHcuXMxatQoLFy4EPr6+uDz+Zg6darMpIJSXF6Dz6lbKpWiY8eO+PHHH8u9v169ejI/V+c7qfT1Gjp0KIYPH17uOR8bb0pqLkrsCCusrKwglUoRGhoqM4A7OTkZWVlZsLKykjm/RYsWaNGiBRYvXoy9e/diyJAh2L9/P8aMGVPhL87Sv6CVlZXh4+PDauwAEBISIvNXelFRESIjI1mvqyqvU3VVJXEsjSk8PFymdSYkJKTSZVTnelZXaavPu16/fi0z6F5PT6/cLs/3W7uq8zrJ+9pZWVnB398fOTk5Mq12r169Kru/uj52nd5nZGQEdXX1ct8Hr169Ap/P/2ByQWhoKNq3b1/2c25uLhITE9G1a1cAKGsVNjY2rtbn6vDhw2jfvj22bt0qczwrKwuGhoZVLq/0tQwNDZVpRSwuLkZkZCQaNWpU5TKroqL3n52dHXJzc6v93VP6Pfb+bPF3lc6Al0gkla7n/c8ewzAICwuTSQBr+m4tXwMaY0dYUfrF/f5srdWrVwNA2QzLzMzMD/5idXNzA4CyJSNKZ0W+v9SIsbEx2rVrh02bNiExMfGDGN5dSqAqfHx8oKKigrVr18rEtnXrVmRnZ1dqdmhlVfZ1+lwaGhrIzs6u1LldunQBAKxdu1bmeGVWj/+c61ldx48flxlLee/ePdy9e7fseQBvfjG+evVK5j3x9OlT3Lx5U6asqsSmqGvXtWtXSCQSrFu3Tub4n3/+CR6PJ/M8K6sy1+l9AoEAnTp1wokTJ2S62pKTk7F37154eXl90HW6efNmmTF8GzZsQElJSVnMvr6+0NbWxpIlS8od6/epz7BAIPjgeRw6dOiDsbWV1bRpUxgZGWHjxo0oKioqO75jxw7W3q8fo6GhUW49/fv3x+3bt3HhwoUP7svKykJJSclHyzUyMkKbNm2wbds2xMTEyNxX+voJBAL06dMHR44cKTcBLO9alM5IL3X48GEkJibKvCer8t1D5INa7AgrGjVqhOHDh2Pz5s3IyspC27Ztce/ePezcuRN+fn5lf8Xv3LkT69evR69evWBnZ4ecnBxs2bIF2traZb841dTU4OLiggMHDqBevXrQ19eHq6srXF1d8c8//8DLywsNGjTA2LFjYWtri+TkZNy+fRtxcXEfrGdVGUZGRpgzZw4WLFiAzp07o2fPnggJCcH69evRrFkzDB06VOGv0+dq0qQJDhw4gOnTp6NZs2bQ1NREjx49yj3Xzc0NgwYNwvr165GdnY1WrVohICCg3PW+3ve517M67O3t4eXlhQkTJkAsFmPNmjUwMDCQ6bYaNWoUVq9eDV9fX4wePRopKSnYuHEj6tevLzPgvyqxKera9ejRA+3bt8cvv/yCqKgoNGrUCBcvXsSJEycwderUD8ZCVkZlrlN5Fi1ahEuXLsHLywsTJ06EkpISNm3aBLFYjOXLl39wflFREby9vdG/f/+yz5CXlxd69uwJ4M0Yug0bNuDbb79F48aNMXDgQBgZGSEmJgZnzpyBp6fnBwntu7p3747ff/8dI0eORKtWrfD8+XPs2bOn2uPhlJWVsWjRIowfPx4dOnTAgAEDEBkZie3bt3/2GLvKaNKkCTZs2IBFixbB3t4exsbG6NChA2bNmoWTJ0+ie/fuZUvk5OXl4fnz5zh8+DCioqI+2UK5du1aeHl5oXHjxhg3bhxsbGwQFRWFM2fO4MmTJwDeLAdz5coVNG/eHGPHjoWLiwsyMjLw6NEj+Pv7IyMjQ6ZMfX19eHl5YeTIkUhOTsaaNWtgb2+PsWPHyjynyn73EDlR/ERc8qUpnb7/qaUSiouLmQULFjA2NjaMsrIyY2FhwcyZM0dmaZJHjx4xgwYNYiwtLRmhUMgYGxsz3bt3Zx48eCBT1q1bt5gmTZowKioqHyzBEB4ezgwbNowxNTVllJWVmTp16jDdu3dnDh8+XKmY31+yo9S6desYJycnRllZmTExMWEmTJjAZGZmypxT2eUlSr2/ZEZlX6fSuspb7uTQoUMy55UuebB9+/ayY7m5uczgwYMZXV1dBsAnlx8oKChgpkyZwhgYGDAaGhpMjx49mNjY2E8ud/K513P48OGMhoZGuTFVtNzJihUrmFWrVjEWFhaMUChkWrduzTx9+vSDx+/evZuxtbVlVFRUGDc3N+bChQsflPmx2D7n2llZWTHdunX7IKbKblOVk5PDTJs2jTE3N2eUlZUZBwcHZsWKFR9s5VbZ92Nlr9P717v0sb6+voympiajrq7OtG/fnrl165bMOaXvi8DAQGbcuHGMnp4eo6mpyQwZMoRJT0//IJ4rV64wvr6+jI6ODqOqqsrY2dkxI0aM+CCe9xUWFjIzZsxgzMzMGDU1NcbT05O5ffv2Z31WGIZh1q9fz9jY2DBCoZBp2rQpc+3atUpfq4qWO3n/u6c0pitXrpQdS0pKYrp168ZoaWl9sLxKTk4OM2fOHMbe3p5RUVFhDA0NmVatWjErV64sW1LmU9vsvXjxgunVqxejq6vLqKqqMo6OjszcuXNlzklOTmYmTZrEWFhYMMrKyoypqSnj7e3NbN68+YPY9+3bx8yZM4cxNjZm1NTUmG7dun2wnEpVv3sI+3gMw8FIXkK+EnPnzsXSpUs/2XVCyJdsx44dGDlyJO7fv//JCVbky3P16lW0b98ehw4dQt++fbkOh3wCjbEjRI4SExOrNaibEEIIqQ4aY0eIHERERODYsWM4dOgQunfvznU4hBBCvhLUYkeIHFy7dg0LFixA27Zty2ZNEkIIIfLG6Rg7a2vrcldRnzhxIv7555+yjabfNX78eGzcuLHCMhmGwbx587BlyxZkZWXB09MTGzZsKHe1ekIIIYSQ2oTTFrv79+8jMTGx7Hbp0iUAQL9+/crOGTt2rMw55U2xf9fy5cuxdu1abNy4EXfv3oWGhgZ8fX1RWFgo1+dCCCGEEMI1TsfYvb8P3h9//AE7Ozu0bdu27Ji6unq5W8+Uh2EYrFmzBr/++iu++eYbAG8WVDQxMcHx48cxcOBA9oInhBBCCKlhaszkiaKiIuzevRvTp0+X2ZJkz5492L17N0xNTdGjRw/MnTu3bLX490VGRiIpKUlmexQdHR00b94ct2/frjCxE4vFMquvS6VSZGRkwMDAgLZHIYQQQshnYxgGOTk5MDc3Z31/7HfVmMTu+PHjyMrKwogRI8qODR48GFZWVjA3N8ezZ8/w008/ISQkBEePHi23jKSkJACAiYmJzHETE5Oy+8qzdOlSLFiw4POfBCGEEELIR8TGxqJu3bpyK7/GLFDs6+sLFRUVnDp1qsJzLl++DG9vb4SFhZW7rc6tW7fg6emJhIQEmJmZlR3v378/eDweDhw4UG6577fYZWdnw9LSErGxsR/shUgIIYQQUlUikQgWFhbIysqCjo6O3OqpES120dHR8Pf3r7AlrlTz5s0BoMLErnQsXnJyskxil5ycXLbhdXmEQiGEQuEHx7W1tSmxI4QQQghr5D3Eq0asY7d9+3YYGxujW7duHz2vdOPid5O2d9nY2MDU1BQBAQFlx0QiEe7evYuWLVuyFi8hhBBCSE3EeWInlUqxfft2DB8+HEpK/zUghoeHY+HChXj48CGioqJw8uRJDBs2DG3atEHDhg3LznNycsKxY8cAvMmCp06dikWLFuHkyZN4/vw5hg0bBnNzc/j5+Sn6qRFCCCGEKBTnXbH+/v6IiYnBqFGjZI6rqKjA398fa9asQV5eHiwsLNCnTx/8+uuvMueFhIQgOzu77Ocff/wReXl5GDduHLKysuDl5YXz589DVVVVIc+HEEIIIYQrNWbyRE0iEomgo6OD7OxsGmNHCCGEkM+mqNyC865YQgghhBDCDkrsCCGEEEJqCUrsCCGEEEJqCUrsCCGEEEJqCUrsCCGEEEJqCUrsCCGEEEJqCUrsCCGEEEJqCUrsCCGEEEJqCUrsCCGEEEJqCUrsCCGEEEJqCUrsCCGEEEJqCUrsCCGEEEJqCUrsCCGEEEJqCUrsCCGEEEJqCUrsCCGEEEJqCUrsCCGEEEJqCUrsCCGEEEJqCUrsCCGEEEJqCUrsCCGEEEJqCUrsCCGEEEJqCUrsCCGEEEJqCUrsCCGEEEJqCUrsCCGEEEJqCUrsCCGEEEJqCUrsCCGEEEJqCUrsCCGEEEJqCUrsCCGEEEJqCUrsCCGEEEJqCUrsCCGEEEJqCUrsCCGEEEJqCUrsCCGEEEJqCUrsCCGEEEJqCUrsCCGEEEJqCUrsCCGEEEJqCUrsCCGEEEJqCU4TO2tra/B4vA9ukyZNQkZGBiZPngxHR0eoqanB0tISU6ZMQXZ29kfLHDFixAflde7cWUHPiBBCCCGEO0pcVn7//n1IJJKyn1+8eIGOHTuiX79+SEhIQEJCAlauXAkXFxdER0fju+++Q0JCAg4fPvzRcjt37ozt27eX/SwUCuX2HAghhBBCagpOEzsjIyOZn//44w/Y2dmhbdu24PF4OHLkSNl9dnZ2WLx4MYYOHYqSkhIoKVUculAohKmpqdziJoQQQgipiWrMGLuioiLs3r0bo0aNAo/HK/ec7OxsaGtrfzSpA4CrV6/C2NgYjo6OmDBhAtLT0z96vlgshkgkkrkRQgghhHxpakxid/z4cWRlZWHEiBHl3p+WloaFCxdi3LhxHy2nc+fO2LVrFwICArBs2TIEBgaiS5cuMl2+71u6dCl0dHTKbhYWFp/zVAghhBBCOMFjGIbhOggA8PX1hYqKCk6dOvXBfSKRCB07doS+vj5OnjwJZWXlSpcbEREBOzs7+Pv7w9vbu9xzxGIxxGKxTH0WFhZlLYSEEEIIIZ9DJBJBR0dH7rlFjWixi46Ohr+/P8aMGfPBfTk5OejcuTO0tLRw7NixKiV1AGBrawtDQ0OEhYVVeI5QKIS2trbMjRBCCCHkS1MjErvt27fD2NgY3bp1kzkuEonQqVMnqKio4OTJk1BVVa1y2XFxcUhPT4eZmRlb4RJCCCGE1EicJ3ZSqRTbt2/H8OHDZSZFlCZ1eXl52Lp1K0QiEZKSkpCUlCQzXs7JyQnHjh0DAOTm5mLWrFm4c+cOoqKiEBAQgG+++Qb29vbw9fVV+HMjhBBCCFEkTpc7AQB/f3/ExMRg1KhRMscfPXqEu3fvAgDs7e1l7ouMjIS1tTUAICQkpGzRYoFAgGfPnmHnzp3IysqCubk5OnXqhIULF9JadoQQQgip9WrM5ImaRFEDHAkhhBDydfiqJk8QQgghhJDPR4kdIYQQQkgtQYkdIYQQQkgtQYkdIYQQQkgtQYkdIYQQQkgtQYkdIYQQQkgtQYkdIYQQQkgtQYkdIYQQQkgtQYkdIYQQQkgtQYkdIYQQQkgtQYkdIYQQQkgtQYkdIYQQQkgtQYkdIYQQQkgtQYkdIYQQQkgtQYkdIYQQQkgtQYkdIYQQQkgtQYkdIYQQQkgtQYkdIYQQQkgtQYkdIYQQQkgtQYkdIYQQQkgtQYkdIYQQQkgtQYkdIYQQQkgtQYkdIYQQQkgtQYkdIYQQQkgtQYkdIYQQQkgtQYkdIYQQQkgtQYkdIYQQQkgtQYkdIYQQQkgtQYkdIYQQQkgtQYkdIYQQQkgtQYkdIYQQQkgtQYkdIYQQQkgtQYkdIYQQQkgtQYkdIYQQQkgtwWliZ21tDR6P98Ft0qRJAIDCwkJMmjQJBgYG0NTURJ8+fZCcnPzRMhmGwW+//QYzMzOoqanBx8cHoaGhing6hBBCCCGc4jSxu3//PhITE8tuly5dAgD069cPADBt2jScOnUKhw4dQmBgIBISEtC7d++Plrl8+XKsXbsWGzduxN27d6GhoQFfX18UFhbK/fkQQgghhHCJxzAMw3UQpaZOnYrTp08jNDQUIpEIRkZG2Lt3L/r27QsAePXqFZydnXH79m20aNHig8czDANzc3PMmDEDM2fOBABkZ2fDxMQEO3bswMCBAysVh0gkgo6ODrKzs6Gtrc3eEySEEELIV0lRuUWNGWNXVFSE3bt3Y9SoUeDxeHj48CGKi4vh4+NTdo6TkxMsLS1x+/btcsuIjIxEUlKSzGN0dHTQvHnzCh9DCCGEEFJbKHEdQKnjx48jKysLI0aMAAAkJSVBRUUFurq6MueZmJggKSmp3DJKj5uYmFT6MQAgFoshFovLfhaJRNV4BoQQQggh3KoxLXZbt25Fly5dYG5urvC6ly5dCh0dnbKbhYWFwmMghBBCCPlcNaLFLjo6Gv7+/jh69GjZMVNTUxQVFSErK0um1S45ORmmpqblllN6PDk5GWZmZjKPcXNzq7D+OXPmYPr06WU/i0QiSu4IqQEYhoG4oAgFuYUoyCl48+87/8/PKYS0RAJNPQ1o6Wu+uem9+VdNUxU8Ho/rp0AIIQpVIxK77du3w9jYGN26dSs71qRJEygrKyMgIAB9+vQBAISEhCAmJgYtW7YstxwbGxuYmpoiICCgLJETiUS4e/cuJkyYUGH9QqEQQqGQvSdECKm0/JwCRL+MQ3RQLKJexCAyKBZxIQnIzcpDYW4hpNLqze8SKAn+S/b0NaGtrwkTKyPYu9vA3t0GVvXrQllFmeVnQwgh3OI8sZNKpdi+fTuGDx8OJaX/wtHR0cHo0aMxffp06OvrQ1tbG5MnT0bLli1lZsQ6OTlh6dKl6NWrF3g8HqZOnYpFixbBwcEBNjY2mDt3LszNzeHn58fBsyOElCrIK0RcSAKiX8Yh6kVM2b9JUakAAB6PBzM7E9i4WqDD4NbQNtCCmqYq1LVUoaqp+vb/arL/1xCCL+AjLzsfORm5b26Zef/9PyMXORk5EGW++f8j/2c4uf4CGIaBkrIAVvUtYO/2JtGzc7OGVf260NbX4viVIoSQ6uM8sfP390dMTAxGjRr1wX1//vkn+Hw++vTpA7FYDF9fX6xfv17mnJCQEGRnZ5f9/OOPPyIvLw/jxo1DVlYWvLy8cP78eaiqqsr9uRBC/lNcVIzgO6F4HPAcjy8/x6u7YZCUSAAAxpaGsHa1QJu+LWHtaglrVwtYONWBqnr1Ws619N50wcLu0+cW5BYg4lkMwh5HIuxxJMKfROLy3usoLioBAOib6cHa1QIN27jAo4s77NyswefXmOHIhBDyUTVqHbuagtaxI6TqJBIJwp9E4XHACzy+/BxBN16hMF8MLX1NuLWvD/cODeDQxBYWjubQ0NHgOlwZxUXFiAtJQFTQmy7h8KdReHo1CAW5hdAz0UHTzm5o5uuOJp0aUoseIaRaFJVbUGJXDkrsCKmctPh03Dx+H48vP8ezq0HIycyDqroQDdo4w71DA7h1cP1iW7yKi4oRdDME9889xv0LTxD5PAZ8Pg9OzR3QrLM7mnVxh0Njmy/yuRFCFI8SOw5RYkdIxaRSKR5eeobTGy/izqkH4Av4cG5RryyRc2puXysnJaTGpeP++Se4f/4xHvk/Q76oALpG2vDo1hg9J/jCsZk91yESQmowSuw4RIkdIR/KTMnGhe1XcGbzJSRFpsCmgSV6fNcJHYa0hoa2OtfhKVRJcQle3n6N++ce4+rBW0iKTIFLK0f0/qEbvHp5QKAk4DpEQkgNQ4kdhyixI+QNhmHw/HowTm28iBtH7oDH56PdgFboPr4jnFvUo3Xi8GZs4Z1TD3Fs7Vk8vRoEIwsD+H3fBV3GeL+Z0EEIIaDEjlOU2JGvXW5WHi7tCsTpTRcRExyPuvXM0H18J3Qc3pYmD3xE2JNIHFt7Flf23oBASYCOw9uh15QusHCsw3VohBCOUWLHIUrsyNcqLzsP+5edwPG1Z1FcVAKv3h7oPr4TGrWrT61zVZCZnIXTGy/h5IYLyErJhkdXd/Sa0g1NOjak15GQrxQldhyixI58bYqLinF64yXsXngY4nwxev3QDb2mdIG+qR7XoX3RisTFuLr/Jo7+dQbhT6Lg0NgG41cNR6O29bkOjRCiYJTYcYgSO/K1YBgG1w7dxrZf9iIpMgW+Iztg2Px+MKxjwHVotQrDMHgW+BL/m7MHr+6GwrOXB8Yt/xbmduXve00IqX0oseMQJXbka/A0MAj/+2k3Xt0Lg0dXd4z5YyhsXC25DqtWk0qluLLvJrbO2YOslGz0mtIVg3/pXeMWbCaEsI8SOw5RYkdqs6igWGydswd3Tj9EvaZ2GLf8WzRqR12DilSYL8ahlSdxcPkJqGoIMfz3gegypgMEAlomhZDaihI7DlFiR2qjtIQM7Jp3EBe2X4axlRFGLxmMNv1a0s4JHEqLT8e2X/bh0q5A2DSwxHerR6CxdwOuwyKEyAEldhyixI7UNgF7rmPtxC1QUlHC0Ll90f27jrVyd4gv1at7odgwfSde3gpBy55NMW7FMNR1MOM6LEIIiyix4xAldqS2yBPl4+/v/4eA3dfhPbQ1vl87Gpq6NJ6rJmIYBoEHb2HLT7uRkZiJoXP7YeAcP+qeJaSWoMSOQ5TYkdrg5e0QLB26FqK0HExZPxbeQ1pzHRKpBHGBGHsXH8W+pcfg1sEVP+2aDAMzWnaGkC+donILGlxDSC0jkUiwZ9ERTGvzG/RNdbHxyQpK6r4gQjUhRi4ahGWX5iI6KBbfuc/C/QtPuA6LEPKFoMSOkFokJSYVszoswK75BzD4595YHfg7zGxMuA6LVIN7hwbY+GQl7Nys8XOXxdg6Zw9Kiku4DosQUsNRV2w5qCuWfIkCD97Cmu82Q11bDXN2T4GrlzPXIREWSKVSHFxxEtt/3QcnD3v8vHcqTKyMuA6LEFJF1BVLCKmUosIirBm/CYsG/ommvo2w6clKSupqET6fj4E/+eHPa78jLT4DExrPwv3zj7kOixBSQ1FiR8gXLDEiGT94/oqLuwIxbfN3+HnvVJr1Wku5tHTExscr4NyyHn7pthR7lxwFdbgQQt5HiR0hX6iwx5GY0uoX5GXnY+3txeg6xhs8Ho/rsIgcaelpYuHJ2Rjyax9s/3UfFvRdiTxRPtdhEUJqEErsCPkCPQ0Mwoz282BsaYi1txfD3s2G65CIgvD5fAxfMAC/n/gJjwOeY3KLn5Ecncp1WISQGoISO0K+MDeP38Oczovh2MweKwLmQddIh+uQCAda9miKf+79gZKiEkxrPRexIfFch0QIqQEosSPkC3JuawB+77sSLXo0waLTc6CupcZ1SIRDdeuZY/W136Gho47pbX5D2JNIrkMihHCMEjtCvgAMw2D/suNYPXYjuo71wS/7pkJFSHu9EsDQXB+rri6AsZURZrafjxc3X3EdEiGEQ7SOXTloHTtSk0ilUmz5cTcOrz6FIb/2wfAFA2r1JAmGYZCYko3snALk5okhyi1Ebp4Yufli5OaJkZP39ue3x0pKJNDTUYeergb0ddShr6sBPZl/1aGtqQY+v/a+ZsCbfYF/+2YZXt8Px7yjs9C0UyOuQyKEvIP2iuUQJXakpigpLsHqcRtxaWcgJq4ZiV5TunIdEuty8goRHJqEoNcJCHqdiKDQROTkFsqcw+MBGupCaGkIoamhCk11IbQ0VaGpIYSAz0dWdj4ysvOQkZWPjKw8iItkd2gQCPjQ1VaDdV0DuLnUhVt9C7g4mEGooqTIpyp34gIxFvZfjUeXnmHO3qlo3bs51yERQt6ixI5DlNiRmqCosAgLB6zG/XNP8OOOSegw+Mvf77VEIkVkTBpehibiZWgigl4nICouAwCgramK+vXMUL+eOZzsTWGgpwEt9TeJnLqaSqVb3BiGQUFhMTKy8pCRnY/MrP8SvteRKXgaHIfcPDFUlAVwqWcGdxcLNHKpi/r1zKCmqiLPp68QxUXFWD58Ha4duo0ZWyei0/B2XIdECAEldpyixI5wrbioGAv6rMTjgOeYd2QWPLq4cx1StRUUFuHqnVBcvPYSz4LjIS4qgYDPg52VEVzeJnL165nBwkxPIV3MEokUETFpeBwUi8dBsXj6Mg6i3EIIBHzUszVGI+e6cHOpi2YNrSD8QscxSiQS/PXdFpzfdhm/7J+Gtv1ach0SIV89Suw4RIkd4ZKkRIIlQ/7C7RP3seDET2jm68Z1SFUmlTJ48jIW564E4eqd1ygoLIZ7fQu0amoLFwczONqaQLWGJE1SKYOouHQ8C47D0+B4PA2OQ0paDrQ0VdG1XX1806kRLOvocx1mlUmlUiwb9jeuHbqNhafm0Jg7QjhGiR2HKLEjXGEYBn9/vxVnNl/Cb4dmwNPPg+uQqiQuMRPnrwbhfOBLJKWKUMdUF13a1YdvWxeYGX856+3FJGTgtP9znL3yAlmiAjR2tcA3nRqhjYcDlJUFXIdXaSXFJZjXazmeXX2JZf6/waVFPa5DIuSrRYkdhyixI1w5vPoUNs3chWmbxqPrWB+uw6mU3DwxrtwOwbmrQXgWHA8NdRV0aOWIzu3qo6FTnS96Bm9RcQkC74TixMWnePIyDno66uju3QA9fBrA3ESX6/AqpTBfjDmdFyE6KBarAn+Hjasl1yER8lWixI5DlNgRLtw4dhe/912F/rN6YswfQ7kO55Oycwqw/eAtnPR/jpISCZo2tEKXdvXRxsP+ix2b9jGRsWk4cfEZzl8NQl6BGB5u1vDr5IaWTWyhJKjZS4LmZuVhZof5yE4V4e+7S2Fo/uV1LRPypaPEjkOU2BFFe3UvFDPbz0eLHk3w896p4PNrbqJQUiLB0fNPsP3QbUgkUgz+phm6dXCFkYEW16EpRKG4GAE3X+HExWd4GZoIE0MtTBzWFh1aOdbo1sn0xExMbj4HuiY6WHV1AdQ0VLkOiZCvCiV2HKLEjihSYmQyprT8BeZ2Jlju/xuEakKuQyoXwzC49TAC/+wMRFxSJnr4NMSYga2gp6PBdWiceR2RjG0Hb+HG/XA0aWCJaWO8YV3XgOuwKhT2JBLTWs9FU183zD04vUb/AUFIbUOJHYcosSOKkpOZix88f4WkuAR/3VoMXaOaOcEgIiYVf++4ivtPo9GkgSUmj2gPe2sjrsOqMW4/jMCabZeRlCpC/26NMbJ/K6ir1cw18W6dvI/5vVZgwI/fYPTSIVyHQ8hXQ1G5Bed/rsXHx2Po0KEwMDCAmpoaGjRogAcPHpTdz+Pxyr2tWLGiwjLnz5//wflOTk6KeDqEVFpxUTF+77sSWSnZWHzm5xqZ1GVm52PlpksYMWMXEpOz8cdsP6yZ14+Suve0bGKLXX+OwKj+rXD0/BMMnrINl64Hoyb+3dyqZzOMXf4t9i87jgs7rnAdDiGEZZzup5OZmQlPT0+0b98e586dg5GREUJDQ6Gnp1d2TmJiosxjzp07h9GjR6NPnz4fLbt+/frw9/cv+1lJqXZtHUS+fOu+34qgmyFYduk31K1nznU4MkokUhw7/wT/238DPPAwaVhb9O7s/kUt9aFoQhUlDO/bAr5tnPH3jqtYsOYMTvk/w6zxnWBhrvfpAhSo7/TuiH0VjzXjN8HCqQ4tg0JILcJpV+zs2bNx8+ZNXL9+vdKP8fPzQ05ODgICAio8Z/78+Th+/DiePHlSrbioK5bI2/Ujd/B7v1WYvuU7dBntzXU4MmLiMzDvz9MIi0pBz46NMHaQJ3S11bkO64tz93EkVm3xR1pmHkb1b4mBPZpCSanmJMbFRcWY3nYeROk52Ph4BU2mIETOvoqu2JMnT6Jp06bo168fjI2N4e7uji1btlR4fnJyMs6cOYPRo0d/suzQ0FCYm5vD1tYWQ4YMQUxMDJuhE1JtafHp+HP8Jnj1bo7OozpwHY6M2w8jMHb2bhQXl2DzH0Mwa3xHSuqqqbm7DXauHo4+nd2wee8NjJu9B6GRKVyHVUZZRRk/7fwe6fEZ2PLjbq7DIYSwhNPELiIiAhs2bICDgwMuXLiACRMmYMqUKdi5c2e55+/cuRNaWlro3bv3R8tt3rw5duzYgfPnz2PDhg2IjIxE69atkZOTU+75YrEYIpFI5kaIPEilUqwYtR7KQmVM2zS+xiyPwTAM9hy/hx+XHoWbiwU2LR0CZ3szrsP64qmpqmDS8HbYvHQIJFIG3/28F1duh3AdVpm69cwxZtlQnNpwAQ8uPuU6HEIICzjtilVRUUHTpk1x69atsmNTpkzB/fv3cfv27Q/Od3JyQseOHfH3339XqZ6srCxYWVlh9erV5bb2zZ8/HwsWLPjgOHXFErYd/esMNkzbgaXnf60xe3eKxcX4Y8NFXLoejGF9WmDMQE/w+TUj4axNxOJiLPnnAgJuvsL4Ia0xtJdHjUjspVIp5nRehJjgeGx+tgpaeppch0RIrfRVdMWamZnBxcVF5pizs3O53abXr19HSEgIxowZU+V6dHV1Ua9ePYSFhZV7/5w5c5CdnV12i42NrXIdhHxK5IsY/G/2HvSa0rXGJHUp6TmYOHc/rt0NxYLp3TFusBcldXIiFCpj/rRuGNmvJTbtuY4l686jqLiE67DA5/MxY+tEFOQW4p8ftnEdDiHkM3Ga2Hl6eiIkRLZb4vXr17Cysvrg3K1bt6JJkyZo1KjqvxBzc3MRHh4OM7Pyu5aEQiG0tbVlboSwqUhcjD+GrkUde1OM+aNmrB32/FU8xvz4L7Ky87FxyWB4e9KSQPLG4/EweqAnfvuhK/xvvMK0BYeRJcrnOiwYWxhi0tpRCNh9HdeP3OE6HELIZ+A0sZs2bRru3LmDJUuWICwsDHv37sXmzZsxadIkmfNEIhEOHTpUYWudt7c31q1bV/bzzJkzERgYiKioKNy6dQu9evWCQCDAoEGD5Pp8CKnIv/MPIiY4DrN3T4GKKvcL154OeI4p8w7Cwkwf/1s+FA42xlyH9FXp1MYFaxf0R3R8OsbP2YvouHSuQ4LP0Dbw7OWBNd9tRmZyFtfhEEKqidPErlmzZjh27Bj27dsHV1dXLFy4EGvWrMGQIbItGvv37wfDMBUmZuHh4UhLSyv7OS4uDoMGDYKjoyP69+8PAwMD3LlzB0ZGtKgqUbwXN1/h4IoTGDZ/AOwaWXMaS4lEijVbL+OP9RfQtYMr1szr91VvCcalBk51sPmPIVBWEmD8z3vx4Fk0p/HweDxM3TgOfAEfq8dtrJGLKxNCPo22FCsHrWNH2FKQW4Dv3GdB11gHqwN/h4DDdcyycwrw26pTePIyDtNGd4CfrxtnsZD/5OaJ8duqU3j4PBrTx/rgG47HX946cR/zei3HjK0T0Xlke05jIaQ2UVRuQdsxECJHu38/jPSETCw++wunSZ0opwCTft2PLFE+1szrB/f6FpzFUln5xcXIKMhHekEBMgrykfH237Kf8wuQUVCAIkkJTDW1YK6lhTra2jDX0n7zfy1tGKlrQFDDN7rX1BBi+S+98de2y1ix6RJEuYX4tndzzuJp9U0zdBzeFhun70Dzbo2hZ1zztrojhFSMEjtC5CQxIhnH1p7FoDm9UdeBuzXhxEUlmL3sODKz87Fh8SBY1tHnLJaPScrNwdWoSFyNisStuBjkFhV9cI6migoM1NShr6YGfTU1OBgYQFkgQFJODu4nxONEyCvkFInLzlfi82H2Nukz19JGQxMT+No5wFRTS5FP7ZOUBHzMGOsDPR11bNpzHRKJFCP6teQsnvErhuH2iQfYOXc/pm4az1kchJCqo8SOEDnZMns3dIy00XdmD85ikEoZLFx7Fq/Ck7F2fv8aldRJpFI8SU7ElchIXI2KwMu0VPB5PLibmmFs46aw0NaFgZoaDNTfJHJ6qmoQVmLPZ5FYjIQcERJychCfI0JCjgjxOSJEZWXi9OtXWBB4BU3MzNHVwRFd7GtWkjeqfyvw+Tz8b99NqKgoYfA3zTiJQ8dQG8Pm98eGaTvQ/btOsHe34SQOQkjV0Ri7ctAYO/K5XtwIxrQ2v+HHHd+j47C2nMTAMAzWbr+CI+ceY/Gsb9Daw56TON6VVViAwOgoXI2KxLXoSGQWFkJXVRVtrWzQztoGbSytoaemJrf6swsL4R8ZjrOhr3EjJgrFUimamJmji309dLGvBzOtmpHkbdpzHf8evYtFM3uiXct6nMRQUlyC79xnQUtfE6sDf68RiykT8iVTVG5BiV05KLEjn0MqlWJyi5/BMAzW3V0KPkdjvPaffIB1O69ixlgf9OrsxkkMpZ4mJeLPO7dwIzYaUoaBi6ER2lnbor2NDdxMzDgZBycSF8I/ojTJi0aRVILGpmbo8rYlz1yLu8++VMpgwZrTuH4/HH8vGID69bjpyn946Slm+y7CL/umot0AT05iIKS2oMSOQ5TYkc/hv/salg37G6uuLkDDNi6ffoAcBNx8hXmrT2NoLw98N7QNJzEAQGh6OlbduYGL4WGop2+A4W6N0d7apkZ1fwJvum8DIsJxNiwE16PfJHl+js6Y1ao1Z6144qISTJ1/EHFJWdj8xxCYcTSJYV6v5Qh9FIFtwX9BVV3ISQyE1AaU2HGIEjtSXYX5Yoxy+gGOHvaYd3gmJzE8DorF9N8Po0MrR/w6pQsnXWjxIhHW3L2FY69ewlxLC9Oae6Kno1ONn6EKvEnyToYE46+7t5FXXISxjZtifBMPqCsrKzyWzOx8jJ+zByrKStiwZBC0NFQVHkNCeBLG1J+GAT/5YfiCAQqvn5Da4qvYK5aQ2ubwqlPITM7ibNuwiJg0zFl2HA2d62D2RF+FJ3Xp+flYeO0KvHdtw9WoCMxt0w6Xho5EL2eXLyKpAwBtoRBDG7rh8rBRGN7IHZse3If3rm04GhwEqYL/DtbTUcfKX/ogPSsPv644iZISiULrBwBzO1P0mdYdB1ecQHJ0qsLrJ4RUDbXYlYNa7Eh1pCVkYGS9Keg2viO+WzVc4fWnpudg/M97oaWhin8WDoSmhuK6zXLEYmx9/BBbHz8Aj8fDuMbNMNKtMTRUuN8+7XPFZmdj2c1rOBv2Gg2MTfBrm3ZoZl5XoTE8ehGD6QsPo3Pb+vhpQieFJ+z5OQUY6fQDXL2cMPfAdIXWTUhtQS12hHxhdv52ACpqKhg6t6/C6y4oLMLMxUcBACt/6a2wpK5EKsXOp4/QfudWbHx4D4MbNELg8DH43qNFrUjqAMBCRwfruvbA/j4DwAAYcPgAJp87heTcXIXF0NjVEj9N8MXpgOfYe+K+wuotpa6lhjFLh+Daodt4Ghik8PoJIZVHiR0hLEhLyMClXYEYOLsXNHUVv/fq3zuuIj4pEyt/6Q0jA8UM9heJCzH8+BH8HngF3rZ2uDJsNOZ4tZXrciVc8qhTF8cHDMHKjp1xNz4OnXbvwIEXzxS2p2qXdvUxtJcHNu+9gZCIZIXU+S7voa1h52aNA8uOK7xuQkjlUWJHCAtOb7wIFVVldB3TQeF137gfhpOXnmHKyA6wtTRSSJ3xIhH6H9qPoNRk7O7VD8t8fGvMGnDyxOfx0Nu5Pi4NHQlfe3vMuXwJw44fRlZhgULqHz3AE3aWhli09iyKiksUUmcpPp+PXlO64v75J4h7naDQugkhlUeJHSGfqUhcjDObLqHT8HbQ0FFsa116Zh7+WH8BXs3s0MOngULqfJ6SjN4H9yK/pBiH+w1CSwtLhdRbk+ioqmK5T2fs9OuD4NRUDDx8AIk5OXKvV1lZgF8md0FsYia27r8l9/re136gJ3QMtXDin/MKr5sQUjmU2BHymQIP3EJWqgjffN9ZofUyDIOVmy6Bx+MpbEB9QGQ4Bh7eD3MtLRzpPxj2+gZyr7Mma21pjYP9BiK3uAj9Du9DeEa63Ou0szLC6AGe2HfyPl6EKLblTEVVBV3H+uDijqvIz1FMKyUhpGoosSPkMzAMg2N/n0Wzzm6wcKyj0Lqv3H6N6/fD3m4eL/+Wwn+fPcH40yfgZWmFvb37w0hd8WMJayJbPX0c7jcImsoq6H94P54mJcq9zkHfNIOzvSkW/X0OheJiudf3rh4TfFGYL8bFnVcVWi8hpHIosSPkM7y8/RqhDyPgN7mrQusV5RTgz/8FoE1zB7nvJSplGCy9EYh5VwMwrJE71nftCTUOFuutyUw1tbC/7wDY6uljyLFDuB4dJdf6lAR8/PJ9F6Sk52Dj7utyret9RnUN4NW7OU7+cx5SqVShdRNCPo0SO0I+w9G/zqCOgxma+jZSaL3rdl5FcbEE08d4y7WewpJiTD53Gv979ABz27THb23afzELDSuarqoadvn1RfM6Fhhz6hhOhgTLtT7LOvr4bkhrHD77CE+D4+Ra1/v8vu+C2JAEPPJ/rtB6CSGfRt/QhFRTYkQybhy5gz5Tu4GvwGTn/tNonL0ShEnD28JQX1Nu9aTn52Po0UO4EhWBDd16YqRbY7nVVVuoKStjY7ee6OnojKkXzmLHk0dyra9PF3e4OJhhxcZLKC5W3K4Url5OsHOzxol15xRWJyGkciixI6SaDq8+BW0DLXQa0U5hdRYUFmH5xotwr2+B7t7ymwUbmZWJvof2ITo7G/t690cnOwe51VXbKAsEWO7ji7GNm+L3a1ew6vYNua11JxDw8eN3nRCbmIk9J+7JpY7y8Hg8+H3fBXfPPEJCeJLC6iWEfBoldoRUQ25WHi5sv4KekzpDqKa4rbv+PXoP6Vl5cp0FG5OdhX4H90HA5+FI/0FoZGoml3pqMx6PhzlebTHbsw3+uX8Xf9y8Jre67K2NMLBHU+w6fAdJqSK51fO+9oM8oaWvidMbLyqsTkLIp1Ursdu1axfEYvEHx4uKirBr167PDoqQmu7aodsoFhej61gfhdUpyinAoTMP0berO+qa6cmljiKJBJPPnYaWUIhDfQfBUkdXLvV8LcY1aYbf2rTHlkcPsOvpY7nVM7xvC6ipqmDPccW12gnVhGg3oBWuHrylsN03CCGfVq3EbuTIkcjOzv7geE5ODkaOHPnZQRFS0/nvuQZ3n4YwkFOCVZ5DZx9BKmUwqGdTudWx4tZ1vEpLxV+du30RW4NJGSmKpYpd7qOqRrg1xii3Jvj92hUERITLpQ51NRUM7NkUp/2fIyVd/gsll2rbvxVSY9MRdCtEYXUSQj5OqToPYhim3G6guLg46OjofHZQhNRkSVEpeH4tGD/u/F5hdebli3HozCN806mR3NasC4gMx9bHD/Fr63ZoaGIqlzqqimEY5JbkIlWchlRxGtKK3v77zq2EkcBE1RiW6pawVLeAhXpdWKpbQE9ZTyGLNlfGz63bIk6UjekXz+HskGGoo6XNeh29O7th74n72Hv8HqaOlu9s6VKuXk4wtjSE/65AuHo6KaROQsjHVSmxc3d3B4/HA4/Hg7e3N5SU/nu4RCJBZGQkOndW7Or7hChawJ7rUFUXwquXh8LqPHLuMcTiErm11iXm5GDWpfPwtrHldPYrwzB4lv0C11KvI6kwCWniNBRK/xv2oSZQg5HQEIZCQzTUaQBDoSFU+MqIK4hHTH4szia+QL7kzY4IGgINWGlYwELN4m3CZ4G66nUg4AkU/rz4PB6Wd/RF1727MOPCOezp3Y/1ZWM01IUY0L0Jdh25g6G9m8NQT34zpkvx+Xz4DG2DE/+cx8S/RkJFVUXudRJCPq5KiZ2fnx8A4MmTJ/D19YWm5n9fHCoqKrC2tkafPn1YDZCQmoRhGATsuQ7PXh5Q01RMV2VBYREOnHqIbt6uMDLQYr38EqkUUy+cgZqSEpb7dOaklatYWow76XdxLukC4gsSYKVuBUctR3gatoKR0BBGQiMYCQ2hLlD/aHwMwyC9KB0x+XGIzY9FTH4MHmc9xYXkSwAAQxVDfFOnOzwNWyk8wdMWqmJ1p64YdOQANj28j4nNmrNeR5+u7th/8gH2Hb+PySPbs15+eToOa4u9S47i9qmHaNuvpULqJIRUrEqJ3bx58wAA1tbWGDBgAFRVVeUSFCE11euHEYh9FY8Jf45QWJ3HLz5Fbr4YQ/3k00L4973beJiYgL29+yt8XF1eSR6upATiUrI/soqz4abbCMOshsJRq161EkwejwfDty16jfXcyo4XSAoQnRcD/+QAbI3cgdMJ5+BXpydaGHiAz1Pc4gAedepiQtPmWHP3FjwtrdCI5S5vLQ1V9OvWGHtP3MeQXh7Q15X/tm9165nDuYUDLu26SokdITVAtcbYDR8+HADw4MEDBAe/WV3dxcUFTZo0YS8yQmog/38DoWeig8ZyXEPuXWJxMfaduI/ObV1gasz++NVbsTFYd+8OprXwhEeduqyXX5FUcRouJl1CYOp1SBkJWhm2QmfTTjBXk8/SKmoCNThpO8JJ2xHReTE4Gn8cmyK24FTiGfSq0xNN9ZooLMH7oXlLXI+JwrQLZ3Fq4FBoqLDbfdmvexMcOP0Q+08+wMRhbVktuyIdh7XDuslbkZmcBT0TXYXUSQgpX7W+yeLj49G6dWt4eHjghx9+wA8//IBmzZrBy8sLcXGK3dqGEEUpKS7B1f030WGQFwRKiunGOx3wHFmiAnzbm/1uu7T8fEy7cBYt6lpiQlPFjBeMzIvC+rBN+PHpHNxMuw1f045Y5bYco2yGyy2pe5+VhiWm1ZuC31x+gYGKPv4J24h5Qb/jUeYThSzboSwQYE3nbkjJy8Wi61dZL19bUxV9uzbG0fOPkZmdz3r55WnbvyUEAj4u772hkPoIIRWrVmI3evRoFBcXIzg4GBkZGcjIyEBwcDCkUinGjBnDdoyE1AgPLz1DVqoIPt8qphWkqLgEe47fh4+XE+vr1kkZBjMvnoOUkeJP3y5y3/81pzgHq0P+wvyghYjIi8QQq0H4020F+tTtBR1lbmbS22naYqbjNPziPBsaAg38Ffo3FrxcjKDsl3Kv20ZXD7+1aY8DQc9xLuw16+UP6NEEPB4PB049YL3s8mjra6FFjya49G+gQuojhFSsWt/mgYGB2LBhAxwdHcuOOTo64u+//8a1a/JbYZ0QLt08dg9165nBzs1aIfXduB+OlPQcDO3Ffmvd2dAQXIuJwsqOXWCsId/Zk6LiHPzxaiUi8iIx0e47LG+4BD4mHSAUKG7Hjo+pp+WA2c6z8JPTTAh4AiwPWYUtEVtR8HZ2rbz0c3FFJ1t7/B54BeKSElbL1tFSwzedGuHEpWcK20PWe0gbhD+Joi3GCOFYtRI7CwsLFBd/uCioRCKBubn5ZwdFSE309OoLNPZpqLBZo5euB8PJzgS2loasllsskWD1nVtob22LttY2rJb9PlFxDpa9WomcEhHmOP+I5gbNFDpZoSpctJ3xq/NsjLYZgQcZj7Dm9d8okhbJrT4ej4efvNogLT8P+148Y738Lu3qIye3EPefRbFednncOriCL+DjccBzhdRHCClftb5hV6xYgcmTJ+PBg/+a+R88eIAffvgBK1euZC04QmqKlNg0JIQnw629q0Lqy8krxJ1HkfDxcma97KPBQYjKysSMlp6sl/2ud5O6n5xmoY5azf+jj8fjoY1Ra8xwnIqIvEisC92AEim7rWnvstHVg5+TC9Y/uIuCcv5Y/hy2loawrmuAgBuK2RVCQ1sdjs3s8PgyJXaEcKlaid2IESPw5MkTNG/eHEKhEEKhEM2bN8ejR48watQo6Ovrl90IqQ2eXg0CADRs66KQ+q7dDUWJRAJvT8dPn1wF4pISrL13G90dHOFiZMxq2e/6EpO6d9XTcsAU+0l4IQrC5oitkDJSudU12aMFsgoLsef5U1bL5fF48PFywrV7oRCLFbPtmnuHBnhy+QWkUvm9XoSQj6vWcidr1qxhOQxCaranV4Jg08ASOobsbwVVnkvXX8HNxYL1BYl3P3+KlLw8TG3RitVy3/WlJ3WlGui6YoLdOPwTthHqAjUMt/5WLt3wljq66OtcH5se3sMg14asLn/SwdMR/9t/E7cfRaJdy3qslVuRxj4NsXfJUUQ+j4FdI2u510cI+dBnrWNHyNfiaWAQWnRXzDqN6Zl5ePQiBjPG+rBabm5RETbcv4u+Lq6w1ZNPa3ptSepKNdNvilE2w7E1cgfUldTR36KvXOqZ1KwFjgQHYdezx5jQlL3JMpbm+qhnawL/m68Uktg5t6wHoZoKHvk/p8SOEI5UexRzeHg4fv31VwwaNAgpKSkAgHPnziEoKKhK5cTHx2Po0KEwMDCAmpoaGjRoIDN2b8SIEWX705beKrMf7T///ANra2uoqqqiefPmuHfvXtWeICFvJUenIikyRWHj6y7fCgGPx2P9F/G2xw+RW1yEyR4tWC23VG1L6kq1MWqNwZYDcSbxHE4nnJVLHXW0tTGgfgNsefQAOWLxpx9QBT6ejrj1MAL5BfKbCFJKRaiM+l5ONM6OEA5Ve7mTBg0a4O7duzh69Chyc3MBAE+fPi3bdqwyMjMz4enpCWVlZZw7dw4vX77EqlWroKcnu2ZX586dkZiYWHbbt2/fR8s9cOAApk+fjnnz5uHRo0do1KgRfH19yxJQQqriyZUX4PF4aNCG/YkM5bl0PRgt3G2go8Xe9l4isRj/e/wAQxo0grkW+93JtTWpK+Vr2hF+5j1xKO4IApKvyKWOCU2bI7+4GDuePmK13A6tHFFUVIIb98NYLbci7h0a4Pm1lyguUsy4PkKIrGoldrNnz8aiRYtw6dIlqLwzHqRDhw64c+dOpctZtmwZLCwssH37dnh4eMDGxgadOnWCnZ2dzHlCoRCmpqZlt/cTv/etXr0aY8eOxciRI+Hi4oKNGzdCXV0d27Ztq9oTJQRvumFtG1lBW5/d8W7liUvMxMvQRHRiOYnc8/wJikokGNe4GavlArU/qSvlV6cnOpn44N/oPbiZdpv18s20tDDYtSH+9+ghROJC1so1NdZBA0dz+N94xVqZH+Pu3QCFeWKE3FNMIkkIkVWtxO758+fo1avXB8eNjY2RlpZW6XJOnjyJpk2bol+/fjA2Noa7uzu2bNnywXlXr16FsbExHB0dMWHCBKSnp1dYZlFRER4+fAgfn//GJ/H5fPj4+OD27fK/jMViMUQikcyNkFLPrr6EW7v6CqnL/8YrqKkqw7Op3adPrqQiiQTbnzxCH5f6MNFkdzFisUSM5V9BUge8mWU6yHIAPA1b4X8R2+SyQ8WEps1RLH1zvdjk7eWEe0+jIMplL2GsiL27NTR1NfDIn7pjCeFCtRI7XV1dJCYmfnD88ePHqFOnTqXLiYiIwIYNG+Dg4IALFy5gwoQJmDJlCnbu3Fl2TufOnbFr1y4EBARg2bJlCAwMRJcuXSCRlL+aelpaGiQSCUxMTGSOm5iYICmp/BXRly5dCh0dnbKbhYVFpZ8Dqd1yMnORHJ0KRw8HhdR3/2k0PBpZQ1WozFqZt2NjkJafj6EN3Vgrs9SphDNIKkzGLMcZtTqpK8Xn8THKZjgctephe9ROiCXsjocz0tCAn6MzjgQHsbpvbasmtigpkeL5q3jWyqyIQCCAU3N7hD6OkHtdhJAPVSuxGzhwIH766SckJSWBx+NBKpXi5s2bmDlzJoYNG1bpcqRSKRo3bowlS5bA3d0d48aNw9ixY7Fx40aZunr27IkGDRrAz88Pp0+fxv3793H16tXqhF6uOXPmIDs7u+wWGxvLWtnkyxYT/OYXoZVLXbnXJS4qwcvQRDRiua4L4aGw0tGFkwG7O1jkFOfgYrI/Opn6wEJd/q9PTSHgCTDC+ltkFWXhRMJp1svvVs8RcSIRniWztzWXmbEODPQ08CIkgbUyP8bKxQLRQXEKqYsQIqtaid2SJUvg5OQECwsL5ObmwsXFBW3atEGrVq3w66+/VrocMzMzuLjILvjq7OyMmJiYCh9ja2sLQ0NDhIWVP37D0NAQAoEAycnJMseTk5Nhampa7mOEQiG0tbVlboQAQPTLOPD5PNStZyb3ul6FJaG4RMJqYieRSnEpIgy+9g6sr8F2LukiAKCLqS+r5X4JTNVM0cO8O84nXUBsPrsJTIs6FjBQU8e5sNeslcnj8dDA0RzPguXfYgcA1q6WSIpMQUGe/Lt+CSGyqpXYqaioYMuWLYiIiMDp06exe/duvHr1Cv/++y8EAkGly/H09ERIiOx2N69fv4aVlVWFj4mLi0N6ejrMzMr/RauiooImTZogICCg7JhUKkVAQABatmxZ6dgIAYCYl7EwszOFiip7i8ZW5GlwHNTVVGBvZcRamQ8TE5BeUIDOdux2JecU58A/OQA+Jt7QUpb/pJKaqKtZZxgLjbEjaher3aYCPh8+tna4EB7GarkNnesiOCwRRcXy2yKtlHX9umAYpqzFmxCiOJ+1G7eFhQW6du2K/v37w8Gh6r84pk2bhjt37mDJkiUICwvD3r17sXnzZkyaNAkAkJubi1mzZuHOnTuIiopCQEAAvvnmG9jb28PX979WAm9vb6xbt67s5+nTp2PLli3YuXMngoODMWHCBOTl5WHkyJGf83TJVyg6OA6WzpUfN/o5ngbHoYGTOQSCz/pYyjgfHgpTDU00NCm/tbq6ziVdBA9AF9NOrJb7JVHmK+Nbq8EIyw3H0+xnrJbdyc4e0dlZeJ1R8USxqmrkUhdFxRIEh7HXxVuR0qEL0UE0rIUQRavWb5A+ffpg2bJlHxxfvnw5+vXrV+lymjVrhmPHjmHfvn1wdXXFwoULsWbNGgwZMgTAm0G4z549Q8+ePVGvXj2MHj0aTZo0wfXr1yEUCsvKCQ8Pl5mNO2DAAKxcuRK//fYb3Nzc8OTJE5w/f/6DCRWEfEpMcDysnOU/fkwikeJFSAIasVgXwzC4EBaKTnb24LPYDUutdf9x0XaGvaYdTiWcYXeyQ11LaCqr4GJ4KGtl2lsZQV1NBU9fyn/sm5qmGkytjSixI4QD1dpS7Nq1a5g/f/4Hx7t06YJVq1ZVqazu3buje/fu5d6npqaGCxcufLKMqKioD459//33+P7776sUCyHvys8pQEpMGiwVMHEiPDoVeflFrCZ2z1OSkZibA1+Wu2FLW+s6f8WtdaV4PB56mHXDn6FrEZLzGk7ajqyUK1RSQjtrG1wMD8NkD3aGkAgEfDRwMsfTYMVMarCqb4Gol5TYEaJo1Wqxy83NlVmYuJSysjKtAUdqjdi3S0NYKqDF7snLOCgrCeBkz16X6YXwUOipqqJZHfbip9a6DzXSbQgLtbo4lXCG1XI72dkjKDUFsdnZrJXp5mKB568SIJFIWSuzIjQzlhBuVCuxa9CgAQ4cOPDB8f37938wy5WQL1XpwG9LJ/mvz/YsOA4uDmYQqlSrEf0DDMPgfFgofGztocRnb8wetdZ9iMfjoYd5N7wQBSEyL4q1ctta2UCFL8DFCPZ2cGjoXAf5BUUIi05lrcyKWLtaIDk6FQW5BXKvixDyn2r9Fpk7dy569+6N8PBwdOjQAQAQEBCAffv24dChQ6wGSAhXYkPiYWRhADVN9vZsrUjQ60T4tmXvj6JYUTYiszIxx6sNa2WWSEsQkHwZ3iYdqLXuPc30m8I47hj8ky9jrO0oVsrUEgrR0sISgVGRGO3ehJUyne1NoawkwItX8XC0le+Y49IJFLEhCajXhL2dVAghH1etP+V79OiB48ePIywsDBMnTsSMGTMQFxcHf39/+Pn5sRwiIdzITMqCgdnH9yVmg7ioBKkZubAwZ6+ukLeTidicDRueF4FCaSE89Nnfb/ZLx+fx0VjPDS9FwewuUWJigtcZld+m8VNUlJVgaqyNhGT2uncrYmCuDwDISMySe12EkP9UucWupKQES5YswahRo3Dz5k15xERIjZCVJoKusY7c60lOezMu1cyIvbpCM9KhLRTCSF2DtTJfZgdDQ6AOS3Xacq88TlqOOJ90EaniNBirsrMWob2+AVLy8pBdWAgdVVVWyjQz0kFCivwTOx3DN626WQqoixDynyq32CkpKWH58uUoKZH/IpeEcCkrRQQdQ/nvQpKc+iaxMzVmr67QjHQ46BuwutvEy5xgOGs7gc9jb8xebeKoVQ888BCc84q1Mh30DQC8uZ5sMTPRQVKq/Ce5KSkrQdtAixI7QhSsWt/Q3t7eCAwMZDsWQmqU7FQRdFlMtiqSmCICn8+DsQF749bC3iZ2bBFLxAjPjYCztjNrZdY26krqsNawQrCIvcTORlcPAh6P1cTO1EgbiQroigUAXWNtZCqoLkLIG9WaPNGlSxfMnj0bz58/R5MmTaChIdvd07NnT1aCI4RLWSnZCumKTUzJhqG+JpSUKr8d38dIpFKEZWSglxN7kzFCcl5DwkjgQondRzlpOeJ2+l0wDMNKa6lQSQlWurqsJnbmJjrIzRcjJ68QWhrsdO9WRM9EF1mplNgRokjVSuwmTpwIAFi9evUH9/F4PEgkks+LihCOiQvEKMgthI6RArpi00Ssjq+LE4kglpSw2mIXLHoFXWUdmKmyuzVZbeOs7YRzSReQLE6BqSo7s07t9Q0Qms7eBArTt++1pBQRtGzkm9hRix0hiletrlipVFrhjZI6Uhtkvx2DpJgWOxFMWUwgQ9/OonQwYC+xCxIFw0XbmdUxe7VRPS0H8MFntTvWQd8AYRkZrJVnbvLmvaaICRS6Rjo0xo4QBfvsUdCFhYVsxEFIjZJVmtgpoMUuKSWb9YkTmioqMNHQZKW83JJcxOTHUDdsJagJ1FgfZ+egb4DkvFyIxOx81+pqq0NVqIQkBSRceia61GJHiIJVK7GTSCRYuHAh6tSpA01NTURERAB4s3Dx1q1bWQ2QEC5kpSimxa64WIK0zFx2lzpJT0c9FmfEvhKFgAFDiV0lOWs74VXOK9bWsyvtUn+dzs44Ox6PB1MjHSQqosXOWBuiNBH15BCiQNVK7BYvXowdO3Zg+fLlMnvGurq64n//+x9rwRHClXxRPgBAXVu+u06IcgvBMICujjprZSbn5cFci70WwMTCJGgqacJAyF7Xbm1mqW6B7GIRCiTsbKVVR/vNtUzOzWWlPADQ11VHZrb8t/rS1NWAVMqgME8s97oIIW9UK7HbtWsXNm/ejCFDhkAg+G8mX6NGjfDqFXtdEIRwRfp2k3QBSzNVK1LytiVDSYm9teGKpRKoCNiLWywVQ8hX+fSJBAAg5AsBAEXSYlbKK72WxVIpK+UBgJJAAAmL5VWEL3jzvi79PBFC5K9av03i4+Nhb2//wXGpVIriYna+zAjhkuTtL6LSX0zyrkeJxXqKJRIos5jYFUuLofI2WSGfpvI2CS5milgpT5lfmtix152ppMSHpERxiZ2khLpiCVGUav02cXFxwfXr1z84fvjwYbi7u392UIRwrazFTs6JXYkc6imWsN1iVwQVvjJr5dV2ym9fK7Za7AR8PgQ8HopZHKcm4PMV0mJX2uJNLXaEKE611rH77bffMHz4cMTHx0MqleLo0aMICQnBrl27cPr0abZjJEThSlszvsgWO6m0rJWHnfKKylqhyKeVvlZFUnZa7ABAWSBgtcVOoMSHOF/+20JSVywhilet3ybffPMNTp06BX9/f2hoaOC3335DcHAwTp06hY4dO7IdIyEKJ5VIwePx5L5uW2mLHZtj7IokEiizmCiKKbGrktLWzWKWWuyAN92xRSy22CkJFNNiR4kdIYpXrRY7AGjdujUuXbrEZiyE1BhSiVTurXXAfy12Aj67iR2bXbFvxthRYldZ8mixUxHwUcRiciQQ8FGiyDF2lNgRojDV+m1ia2uL9HLWVMrKyoKtre1nB0UI1xSV2Mmjxa5YKmG1K7ZIKqYxdlUgl65YvoDVMXZKAn7ZjGx5EpRNnqDEjhBFqdZvk6ioqHIXnBSLxYiPj//soAjhmlQilfvECeDdMXYstrBJpKx2xRZRi12V/Dd5ouaOsVNSEiikFY26YglRvCp1xZ48ebLs/xcuXICOzn+r5UskEgQEBMDa2pq14AjhilQqBY8v/31Ry5ZVYbGuEqkEAh6bLYDFUOJVe9TGV0eZx/4YOwGfz2qLHZ/PK2stlidK7AhRvCp9W/v5+QF4syXN8OHDZe5TVlaGtbU1Vq1axVpwhHBFqKYCcUERGIaR6wQKDfU368Pl5rO3Mr+emhoyC9nbVUBfRR+p4jTWyqvt0t6+Vvoq+qyVmVlQAD019nZByc0TQ1Nd/msTFua92d9WVYPWQSREUaqU2EnfzqKysbHB/fv3YWhoKJegCOGahq4GpBIpCvMKoaYpv23F9N5uJZaZlc9amWaaWkjIyWGtPAv1ughMvcZaebVdbEEcgDevGxtyi4qQLS5kdZu4jKy8sveePOW+fV9r6mrIvS5CyBvV6q+JjIykpI7Uahpvf+nlZbOXcJVHT/ttYsdiPeZa2kjIEbFWXunep9nF8t80vjaIzY+DtpI2tJXZScQS3ybp5lparJQHAFnZ+dBXQLKVl50PHo8n9z2XCSH/qfbAmYCAAAQEBCAlJaWsJa/Utm3bPjswQrj0bmJnWMdAbvUoKwugqSFEpojNxE4LDxLYm8RkoW4B4E3C8u64WlK+2II41lrrAJQl6ay22GXnQ09X/i12eVl5UNdWA5/F5XwIIR9XrU/bggUL0KlTJwQEBCAtLQ2ZmZkyN0K+dIpqsQPedMdmZOWxVp65ljaScnNYW4DWWGgEIV+ImPxYVsqr7eLy41FXrQ5r5SXk5oDP48FEQ5OV8iQSKbJzCspai+UpNyuv7LNECFGMarXYbdy4ETt27MC3337LdjyE1AiKTOz0dTSQlc3eZAdzLS1IGAYpeXkwY6H7js/jo65aHcRSYvdJhZJCpIhTWG+xM9HQhBJLrV7ZOQWQShmFdMXmZuXR+DpCFKxa3xRFRUVo1aoV27EQUmOU/jLKZXFSQ0X0dNSQkc1uix0AJOSyO84uJj+OtfJqq/iCBABAXVYTuxxWx9dlvH1PK6QrNjsfGgqohxDyn2oldmPGjMHevXvZjoWQGkNNUxV8Pk8hLXa6OursTp7QfJMEsDsz1gKJhYmsrs1WG8Xmx4IHHuqombNWZkKOiNXxdZlv/4jQV0AXaV52PrXYEaJg1eqKLSwsxObNm+Hv74+GDRtCWVl2u6HVq1ezEhwhXHkzk09dMV2xuhqsLneiJRRCU0WF9ZmxEkaChIJEWGlYslZubRNXEA9TVVNWd+pIyMlBI1Mz1sorbbFTVFesma2J3OshhPynWonds2fP4ObmBgB48eIFm/EQUmNo6WtClMZeclQRQz1NZIryIRYXQyhkZ09WKx1dhGVksFIW8GZNNiWeEoJELymxqwDDMHgpCoa1hhVrZeYVFSEhRwQrHV3WykxOE0FTQwhVlt5rH5OdKkK9JnZyr4cQ8p9qJXZXrlxhOw5CahxTG2MkRibLvR4HGyNIpQzCotNQvx47LTPN61jgXNhr1nbOUBWowkO/Ka6kBKKzaSfwWdyyrLYIzQ1DfEECBlsOZK3MewlxkDAMmtdhb8xeSHgyHBXQiiaRSJAUmQIzO2qxI0SRqpTY9e7d+5Pn8Hg8HDlypNoBEVJTmNuaIORBuNzrsbU0gkDAR0hEEmuJnaelJbY9eYjIrEzY6rGztZW3cXvcSr+D59lBaKTbgJUya5MrKYEwEhrBRduZtTJvxETDTFMLNrp6rJX5KjwJ3l5OrJVXkbS4DBQXlaCOvanc6yKE/KdKiR0tTkq+Jqa2Jrhy4Kbc94sVqijB1tIQIeHstQ56mNeFEp+Pm7ExrCV2dpp2sFK3REDyZUrs3pNbnIv7GffRq64fq62ZN2Nj4GVpxdr7LzM7D8lpOQppsYsPSwIAmFNiR4hCVSmx2759O+sBxMfH46effsK5c+eQn58Pe3t7bN++HU2bNkVxcTF+/fVXnD17FhEREdDR0YGPjw/++OMPmJtXPOts/vz5WLBggcwxR0dHvHr1ivX4Se1lbmeCfFEBROk50DFkb1ZieRxtTfAqPIm18jRUVOBuaoabsdH4tqEbK2XyeDx4m3TA9sidSBWnwkhoxEq5tcGN9FuQgkFrQ0/WykzNy8Pr9DRMbOrBWpmv3v7x4GQn/2QrISwJfAEfJlb0PiFEkTgdKJOZmQlPT08oKyvj3LlzePnyJVatWgU9vTfdDvn5+Xj06BHmzp2LR48e4ejRowgJCUHPnj0/WXb9+vWRmJhYdrtx44a8nw6pZczf/vJLjJD/ODtHWxNExqZDXFTCWpmeFla4HRvL2g4UANBC3wNqAjVcTrnKWplfOoZhcDUlEE31mrC2PyzwprUOAFpasDdZJSQ8GVqaqjA3kX/vS0JYIkytjaCkXO2dKwkh1cDpJ27ZsmWwsLCQaQm0sbEp+7+Ojg4uXbok85h169bBw8MDMTExsLSs+AtPSUkJpqbUBUCqz8zWGACQEJ4MJw8HudblaGcCiUSKiJhUONuzN85uzd1beJGSzNpyGUKBEK0NPXEt9QZ61fGDCl/+Mytrulc5IUgsTMJwa3Z34rkZGw0nQyMYqbO3LMmr8CQ42ZnIdWhBqYTwJJgpoGWQECKL0xa7kydPomnTpujXrx+MjY3h7u6OLVu2fPQx2dnZ4PF40NXV/eh5oaGhMDc3h62tLYYMGYKYmJgKzxWLxRCJRDI3QjR0NKBtoIVEFse+VcTO6u0EChbramhsCk1lFdyIrfi9Xx0dTNojtyQX99LvsVrul+pKylWYqZrCScuRtTIZhsGt2Gh4sthaB7zpilVENyzwZoydOSV2hCgcp4ldREQENmzYAAcHB1y4cAETJkzAlClTsHPnznLPLywsxE8//YRBgwZBW7viLo/mzZtjx44dOH/+PDZs2IDIyEi0bt0aORWsxL906VLo6OiU3SwsLFh5fuTLZ2ZrrJCuWKGKEmwsDBDCYl3KAgFa1LXArdho1soEAFNVEzTQcYV/Ci17JCoW4UHmI7QzbstqK1hEZgYSc3PhacHemnhpGblIy8iFkwKWH2EYBonhyTQjlhAOcJrYSaVSNG7cGEuWLIG7uzvGjRuHsWPHYuPGjR+cW1xcjP79+4NhGGzYsOGj5Xbp0gX9+vVDw4YN4evri7NnzyIrKwsHDx4s9/w5c+YgOzu77BYbS5udkzfM7EyREMHepIaPqWdrUja4nS2elpZ4mJCAvKIiVsv1Nm6PyLxIhOWEsVrul+Zc0gUIeAJ4GbK7d/aN2Ggo8/nwYHH9utLJOY4KaEVLT8iAuKCIZsQSwgFOEzszMzO4uLjIHHN2dv6g27Q0qYuOjsalS5c+2lpXHl1dXdSrVw9hYeX/EhIKhdDW1pa5EQIA1vUtEPE0GlIWJyBUxN2lLsKiUpCWmctamT429iiWSnDqNbszwhvpNoSFWl3sjN6NEil7Ez6+JA8yHuFs4nn0NO8OTSVN1splGAZHgl/Cy9Ia6srsjWG8+yQKpkbaMDHUYq3Mirx+GAEAsGlAu5QQomicJnaenp4ICQmROfb69WtYWf3X/VCa1IWGhsLf3x8GBgZVric3Nxfh4eEwM2Nvv0XydXBuUQ952fmIfRUv97o8m9qBz+Phxj32WsHqaGvD28YOu549AcMwrJXL5/Ex2mYkYvPjcC7pAmvlfili8mOxOeJ/aKbXBN3MurBa9oPEeLxIScbQho1YK5NhGNx8EA6vZnYKmTjx8lYIDMz1aKkTQjjAaWI3bdo03LlzB0uWLEFYWBj27t2LzZs3Y9KkSQDeJHV9+/bFgwcPsGfPnjdb1CQlISkpCUXvdC15e3tj3bp1ZT/PnDkTgYGBiIqKwq1bt9CrVy8IBAIMGjRI4c+RfNkc3/4ifHn7tdzr0tZSg1t9C1y7y2735reN3PAqLRX3E9hNTm00rdHVrDOOxh3H86yvZ89oUbEIf73+GyaqxhhrO5r17dW2Pn4IOz19tLWy+fTJlRQWnYqUtBx4NlXMvq1Bt0Lg0spRIUkkIUQWp4lds2bNcOzYMezbtw+urq5YuHAh1qxZgyFDhgB4s3jxyZMnERcXBzc3N5iZmZXdbt26VVZOeHg40tLSyn6Oi4vDoEGD4OjoiP79+8PAwAB37tyBkRH99UiqRkNbHdauFgi+E6qQ+to0d8DDFzEQ5RayVqanhRVs9fTw77PHrJVZqk/dXmio2wB/h61HVB67kzRqohJpCf4OW48iaTGmOkyGUCBktfyorExcCg/DaPcm4LOYFN18EA51NRW4uch/YliRuBgh98Ph2kr+25YRQj7E+cqR3bt3R/fu3cu9z9raulLdR1FRUTI/79+/n43QCAEAODd3wMs78m+xA4A2Hvb4838BuP0wAr5tXT79gErg83j4tqEbFl8PRFJuDkw12RtjJeAJMNFuPP54tQKrX6/BXJefa+2OFAzDYFf0bkTkRmK20ywYCKs+LORTdjx5BH01Nfg5sbffLPAmsfNws4aysoDVcssT9jgSxeJi1Pdkb/kXQkjlcdpiR8iXwLmlI6KD4pCXnSf3uowMtODiYIbAu+y2EPZ2qg+hQIDdz56yWi7wZtHiafWmQMhXxaqQNcgtZm/yR01yKTkAganXMcL6Wzho2bNefnZhIQ69fIEhDdygqsTepIm0zFwEhyYprhv2ZgiEaiqwc7NWSH2EEFmU2BHyCc4tHMAwDELuhyukvrYtHHD3cSQKxcWslaklFGJA/YbY/fwJclle+gQAtJW1MdNxKnJLcvFn6N8okrJfB5deZAdhb8x+dDbthNZGXnKpY++Lp5AwDIaytLdvqdsPI8Dn89CyMXtj9j7m5e0QOHrY01ZihHCEEjtCPsHC0RyauhoKmUABAK097CEuKsH9p+yOWRvt3gQFxcXY/+IZq+WWMlE1wbR6PyAmPwYbw7dAysh/iRhFSCpIwj9hG+GqUx8DLPrJpY4iiQS7nj5BLycXGKqrs1r2zQfhcHU0h642u+WWh2EYBN18BZeW1A1LCFcosSPkE/h8Ppya2yP4rmISO0tzfVjX1cf1e+x2x5ppaaGnozO2Pn4IcYl81p6z07TFJLvv8CjzMfZE72N1iRUu5JXkY03o39BR1sYEu/Gsz4AtdeZ1CJLzcjHKrQmr5YrFxbj/NFph3bCJEcnITM6GK42vI4QzlNgRUgkuLRzx8tZrSEokCqmvtYcDbtwPh5jF7lgAGN+kGVLycrH7Oftj7Uq56TXCcOtv4Z9yGf9G7/liFzDOLc7F6tdrkF0swlSHydBQkk+Ll7ikBP88uIO2VjZwqMY6nR9z53EkxEUlCkvsngW+BI/Hg3PLegqpjxDyIUrsCKmE5t0bIzcrD08DXyqkvm4dXJGTV4hLN9jdMcJe3wDDGrlj1e0biM7KYrXsd7U3bosR1sNwNfUaVr1eg7wS+U88YVOqOBWLgpciuTAFsxynw1RNfltj/XP/LmKzszHbqw3rZR86+wgNnOrAui77M3jLc+3IHbh6OUFbX/67WxBCykeJHSGV4NDYFiZWRrhx9K5C6qtrpoeWjW1x6Mwj1rszZ7b0gpG6BuYEXIRUjl2l7Y3bYpbjdETnxWBB0GIkFihmz93PIWEkuJoSiAVBiyFhpJjrMge2mvKbdBCcmoKND+9hYrPmcDQwZLXs1xHJeBIUh/7dG7NabkVEGTl4dOkZ2vRrqZD6CCHlo8SOkErg8Xjw6uWBm8fvKWTfWADo160JwqNT8TgoltVyNVRUsMS7I+7Ex2KfnCZSlHLWdsK8+r9AwOPj95eLcDPtdo2cVMEwDB5lPsGvz+dhe9Qu1Nd2wVyXOTBRNZFbnSVSKX7yvwBbPX1MaNqc9fIPnnkIUyNttPZwYL3s8tw68QBSiRSt+7RQSH2EkPJRYkdIJXn1bo6MxEyF7ULRtKElrOsa4NCZR6yX7WlhhUGuDfHHjUDEi0Ssl/8uE1UTzHX5GS7aztgc8T/MfvYLrqZcQ7GU3fGD1RWWG44lwcvwV+jf0FXRxfz6czHBfhy0lbXlWu//Hj3Ay7RULPPxhYqA3YWD0zPz4H/jFfp0dYeSQDFf89cO3YJraycYmOkppD5CSPkosSOkklxaOULfVBfXj9xRSH08Hg99uzXGjfthSEjOYr382Z5toC0U4ufLF+U+e1VdSR2THSZhfv25sFC3wI6oXZj1dA4uJl2CWCKWa90VSSpIwt+h67Hw5RIUSgsxs940/Og4AzYa1nKvOyIzA2vu3sJo9yZoZML++L3jF55AWUmA7t4NWC+7PKKMHDzyf462/VoppD5CSMUosSOkkvh8Plp90ww3j91V2DIendu6QFNDFUfOsb/Pq5ZQiCUdOuF6TDQOvXzBevnlsdGwxmSHiVjS4He4aDtjX8xBzHj6I04lnEFeSb5CYsguzsbOqH8x5/lcRORFYpztaCyo/xsa6LoqZNN6KcNgdsBFmGlqYWpz9hMhcVEJjl14gq7tXaGlocp6+eW5dfz+225Y9ruUCSFVQ4kdIVXg1bs5kqJSEf4kSiH1qQqV0cOnAc4EvEB+Afu7ObS1tkEf5/pl+8gqirmaOcbZjcbyRkvQTL8pTsSfxIynP+Jw7FGIiuUTR4GkAMfiT2DW0zm4k34P/Sz6YFnDJfA0bCW39enKs/vZEzxIiMcf3p2gpsze1mGlLl0PRnZOAfp2VcykCQAIPHQLDdo4Q9+UumEJ4Rrt+UJIFTRqVx9aehq4fuQO7N0Vs0VT787uOHDyAc4HBqF3Z3fWy/+1dTtcj4nCr5f9saWHn0JarUoZCY0w3PpbfGPeA+eTLuJisj8uJF9CG0Mv1NNygJHQCMaqRtBU0qxSuQWSAkTnxSA6P+btv9FIKEiEgMeHj4k3upt3rXKZbIgXibDi1nUMbtAIzetasF4+wzA4dPohWjWxg4W5YpIsUXoOHge8wMQ1IxVSHyHk4yixI6QKlJSV0KJnU1w/ehcjFg5USBJkaqSN1s0dcPjMY/h1cgOfz26dOqqqWNTeB+NOn8DxV8Ho5ezCavmVoauii4GW/dHdrCsuJQfgSupV+KdcLrtfXaBeluQZC41hKDSAgYo+DFT0ocxXQWJBIuIK4hGTH4OovBgki5MBAMo8ZViqW6CelgM6mviggY4rDIT6Cn9+wJsu2J8vX4S2UIifWrWWSx0Pn8cgPCYNU0Z1kEv55bl5/B6kEim8ensorE5CSMUosSOkitr198SlnYEIvhsKlxaKWWF/YM+m+G7OXpy5/Bw9fBqyXr6PrT16ObnglyuXYG9ggAbG8lvm42M0lTXRq+436FX3G+SV5CFFnIqUwlSkilORIk5BSmEqInMjkVGUCSlkl01R5avCUt0CjXQbwEqjO6zVLWGmZgYBj90Zp9X1552buB4TjW09e0NLKGS9fKmUwaY911HP1gSNXdlvDazI+e1X4NbBlbphCakhKLEjpIqa+jaCuZ0Jjq09q7DEzrWeOXzbumDj7uto09wBOlpqrNexuIMPIjIzMPbUMRzrPwRmWtzuHqChpAEbJY1yZ6lKGSmyirOQLs6AWCqGmaoZ9FX0FNqNXFkMw2DN3Vv45/5dzPZsg3bW8unCP3vlBYLDkvDPIsW0JANA2ONIvLwVgnlHZiqkPkLIp9HkCUKqiM/n45vvu+D64TtIi09XWL0Tv22LEokEm/Zcl0v5qkrK2NzdD0p8PsacOgaRuFAu9bCBz+NDX0UfDlr2cNWpDwOhfo1N6lbcuoG/793BbM82GNekmVzqyckrxMbd19CpjTMaOdeVSx3lOfu/ABiY66Flj6YKq5MQ8nGU2BFSDb4j20NFVRmnN15SWJ0GehoYO8gLp/yf4WVoolzqMNLQwP969EJCTg4GHzmI1Pwva4/XmoRhGCy9EYiND+/hl9bt5JbUAcC2A7cgLirBhKHs7zdbkcJ8MS7vvQ7fEe0hUKoZ3d2EEErsCKkWDW11+I5ojzObL6GokP1lSCri5+sGe2tjrNriD4lEPltzORkaYX/fAUgryMeAwwfkvjNFbcQwDBZev4r/PX6IeW3bY7R7E7nVFRGTiqPnHmN43xYwMlBc9/n1I3eQl52PzgqcqEEI+TRK7Aippm8md0FWqghX9t9UWJ1KAj5mjPVBSHgyTvnLb59XRwNDHOw7EFKpFP0O7UNYhuK6nL90UobBvKsB2PHkERa298HwRvJbT45hGKzZehlmJrro311+yWN5zm0NgFsHV5jZcjPRhhBSPkrsCKmmug5m8OjqjhP/nFdova6O5ujWwRWb9t5AZrb8dmuw1NHFwX4Doa2qigGH9+NZcpLc6qotpAyDuVf8sef5Uyzt0BFDGjSSa32Xb4Xg0YtY/DCyPVSUFTcXLu51Ap5fC0aX0d4Kq5MQUjmU2BHyGbqP74TQhxF4/TBcofV+93Ys1Ybd1+Raj7GGJvb36Q9rXT0MOXoQd+Ji5Vrfl0wilWJOwEXsf/EMy3x8McCV/WVp3iXKLcRf2y6jbXMHtGxiK9e63ndu62Vo6WnAqxetXUdITUOJHSGfwaOLOwzr6OPsZn+F1quno47xg71w9vILPH8VL9e6dFXVsMuvL9xNzTHixBH4R4TJtb4vkUQqxU/+F3AkOAirOnVBXxdXude54d9rEBeVYOpoxY5xKykuwcWdV+E9tA1UVFUUWjch5NMosSPkMwiUBOgy2huX991AbpZiZ5D28GkIJzsTLN94EQVynsChoaKCLT380MHaFhPOnMSup4/BMIxc6/xS5BcXY/K50zgREozVnbrAz0n+O3fcfxqFU/7PMH5Ia4VOmACAm8fvIyslm7phCamhKLEj5DN1G98RkhIJjvx5WqH1CgR8/Px9ZySmZOOP9RflnmgJlZTwd5fu+LaRO+YHXsa0i2eRX1ws1zpruvCMdPQ7tA/XYqLwT9ce6OnoLPc6E5KzMG/1aXg0soZfJze51/cuiUSCfxcchLt3A9g2tFJo3YSQyqHEjpDPZGCmhx4TfHF0zRmIMnIUWretpRHmTOqMgJuvsO/kA7nXJ+Dz8Vub9virczf4R4Sj98G9iMjMkHu9NU2OWIwl16+iy95dyC8uxuF+g9DJzkHu9RYUFmHOshPQ1BBi/rRurO8b/CmX995A9Ms4jFo8SKH1EkIqjxI7Qlgw4Cc/SCVSHF51SuF1e3s6YYifBzbuvob7T6MUUmePek441n8ISqQSdN27C3/cCERWYYFC6uaSlGFw+OULeP+7DXueP8UPzVvh/JDhcDI0knvdDMPgj/UXkJCchaU/+UFbDtvKfUxxUTF2zT8IT79mcPKQfxJLCKkeSuwIYYGesQ6++b4zjq09i+w0xS/oO26wF5o2tMK81aeRkJylkDodDAxwYsBQTGjqgd3Pn6Ldzq3Y+OAeCktqZ/fs0+Qk9D24Dz/6X0CLuha49O1ITGrWHEIlxSwzsu/EfQTcDMHP33eGnZX8E8n3nd96GclRqRj++0CF100IqTxK7AhhSb+ZPcHj8XBwxUmF1y0Q8DF/ajdoaggxZ9kJuU+mKKWhooIfmrfCleGj4efojNV3bqLDzm048OIZSqTy2RlD0VLz8/CT/wX0OrAHhZIS7O8zAGs7d4e5lrbCYrj3JAob91zHt72bo31LR4XVW6owX4zdi46gwxAv2LhaKrx+QkjlUWJHCEt0DLXRa0pXnPznPDIV1Gr2Lm0tNSz9yQ8JyVn4Y/0Fhc5aNVLXwPx23rg0dCSa1amLOZcvocuenbgYHvrFzp4tlkiw9fFDeO/ahksRYfi9nTdODhwKjzp1FRpHfFIW5v35ZrLEmIGeCq271Ml/ziM7VYRh8/pzUj8hpPIosSOERX2mdwdfiY8Dy09wUr+dVelkihDsO3Ff4fVb6erir87dcHLgUJhpauG7MyfR79A+3IuPU3gs1SVlGARGRaLb3l1YeiMQfo7OCPh2FIY2dIMSX7FfmQWFRfh52XHoaKrit6ndIBAo/is7LzsP+5cdR9cx3jC3M1V4/YSQqlHcHjSEfAW09bXQd1oP7F92DP1m9oSBmZ7CY+jQyhGvI5Kxcc91ONgYo1kja4XH4Gpsgl29+uJGTDSW37qOgUcOoL21Lca4N0GzOnUVniB9CsMweJGagtOvX+H06xAk5uagmXkdnOzcDS5GxpzFtGTdeSSkZGPT0iHQ1lTlJI7Dq09DnC/G4F/7cFI/IaRqeMyX2k8iRyKRCDo6OsjOzoa2tuLG0ZDaIS87D0NtJsHn2zaY9NcoTmKQSKT4celRvAxNwv+WDUUdU11O4gDetICdDQ3Bqts3EZ2dBR2hKtpZ28DbxhatLa2ho8pNwsIwDF5npOPM6xCcev0K0dlZ0FdVQxeHeuju4AiPOnXB4yl2OZF3/Xv0LjbtuY7Fs3qibYt6nMSQlZqNYXbfo8d3nTB2+becxEBIbaGo3IISu3JQYkc+194lR/HvgoNY/3A5Z4PNRbmFGPfTbgDAuoUDYaivyUkcpaQMgxcpyQiIDId/RDiC01Ih4PHgbmaOdlY2aGdtA2dDI7kmUwzD4FlKMi6EheJ8eCiisjKhpSKEr709ejg4oaWFZY1oTbwQ+BKL/j6Lb3u3wLjBXpzFsWrMBlw7fBv/hv8DbQXvcEFIbfPVJHbx8fH46aefcO7cOeTn58Pe3h7bt29H06ZNAbz5Ip43bx62bNmCrKwseHp6YsOGDXBw+Pg6Sv/88w9WrFiBpKQkNGrUCH///Tc8PCq3YTUlduRzFYmLMaHxLKhpquKvm4shUBJwEkdCcha+n3sAaqrK+Pv3AdDX1eAkjvLE54hwLToKV6MicDM2BvnFxTDR0EQbK2u0sbRGXR0dGKipwUBNHWrKylUqW1xSgoTcHMSLREjIESEhJwfxOSLcio1BYm4O9FRV4WNrj872DmhV11JhS5ZUxrHzT/Dn1gB0blcfsyf4KnwR4lKPLz/Hjz6/44cN49B9fEdOYiCkNvkqErvMzEy4u7ujffv2mDBhAoyMjBAaGgo7OzvY2dkBAJYtW4alS5di586dsLGxwdy5c/H8+XO8fPkSqhV04Rw4cADDhg3Dxo0b0bx5c6xZswaHDh1CSEgIjI0/PV6GEjvChuC7oZjq+QvG/DEU/Wb25CyO2IRMfP/bfuhoqWHtgv7Q1VbnLJaKiEtK8CAxHlejIhEYFYmw93azUFNSgr6aOvTV1KCvpg4DNbWy/6sIBEgsTeJyc5CQI0Jafr7M4401NGCuqQ1XY2N0tq8Hjxo4zk8qZbB573XsPnYPfbs2xuQR7TiZLAG8Wd5kXMMZMKyrj5WX54Nfw14rQr5EX0ViN3v2bNy8eRPXr18v936GYWBubo4ZM2Zg5syZAIDs7GyYmJhgx44dGDiw/IUymzdvjmbNmmHdunUAAKlUCgsLC0yePBmzZ8/+ZFyU2BG2bJq5CyfXn8emJytRt545Z3FExaVj8m8HoKEuxPKfe8HSXJ+zWCojNS8PKXm5yCgoQHpBATIK8pFekI+Mt/9/93iRRAIzTS2Ya2mhjpY2zLW0Zf5vqqlZo1rkylNcLMHS9edx8Vowvh/eDgN6NOF0fN/mWbtwfN15bH7K7fuWkNrkq0jsXFxc4Ovri7i4OAQGBqJOnTqYOHEixo4dCwCIiIiAnZ0dHj9+DDc3t7LHtW3bFm5ubvjrr78+KLOoqAjq6uo4fPgw/Pz8yo4PHz4cWVlZOHHi08tQUGJH2FKYL8Z4t5nQN9XFqqsLOG35iE/Kwk9LjyI9Kx+LZ/ZE4wa00GxNkJsnxi8rTuBZcDx+ndIF3p5OnMYT8iAcU1rMwchFgzBwdi9OYyGkNlFUbsFp+3pERETZeLkLFy5gwoQJmDJlCnbu3AkASEpKAgCYmJjIPM7ExKTsvvelpaVBIpFU6TFisRgikUjmRggbVNWFmL7lO7y48Qon11/gNJY6prrYsGQwnOxMMG3hYZzyf8ZpPARIThNh4q/7EBKRjD9/68t5UldcVIxVo9fDtpE1+s7owWkshJDq4TSxk0qlaNy4MZYsWQJ3d3eMGzcOY8eOxcaNGxUax9KlS6Gjo1N2s7CwUGj9pHZr1LY+ekzwxdY5e5AYmcxpLFoaqljxSx/08GmAZRsu4p+dVyGR1I6tv7404dGp+G7OXuTli7Fh8SC41ef+e+fAshOIfhmHGVsnQEm5ZndfE0LKx2liZ2ZmBhcXF5ljzs7OiImJAQCYmr5Z5Tw5WfaXYXJyctl97zM0NIRAIKjSY+bMmYPs7OyyW2xsbLWeDyEVGfPHEOgYamP1mA2QcryHqpKAjxljfTB1dAccOP0Qv6w4gfwCxewtS954+DwGE3/dB10ddWxaOgQ2FoZch4SooFjsWXQYA378BvZuNlyHQwipJk4TO09PT4SEhMgce/36NaysrAAANjY2MDU1RUBAQNn9IpEId+/eRcuWLcstU0VFBU2aNJF5jFQqRUBAQIWPEQqF0NbWlrkRwiZ1LTVM/98EPLkShNMbL3EdDng8Hvp2bYxls3vh0YtYTJq7HynpOVyH9VW4eO0lZiw6jPoO5vinBqwvCAASiQSrxmyAmZ0phs7ty3U4hJDPwGliN23aNNy5cwdLlixBWFgY9u7di82bN2PSpEkA3vzymTp1KhYtWoSTJ0/i+fPnGDZsGMzNzWUmRnh7e5fNgAWA6dOnY8uWLdi5cyeCg4MxYcIE5OXlYeTIkYp+ioSUaezdAN3Hd8SWn/5FXGgi1+EAAFo2scWGxYMgyinA2B934/mreK5DqrWkUgY7Dt/G73+dRac2Llj+cy+oq6lwHRYA4Mjq0wi5F4YZ/5sAFdWaERMhpJoYjp06dYpxdXVlhEIh4+TkxGzevFnmfqlUysydO5cxMTFhhEIh4+3tzYSEhMicY2VlxcybN0/m2N9//81YWloyKioqjIeHB3Pnzp1Kx5Sdnc0AYLKzs6v9vAgpT54onxnhOJkZ5fIDk5udx3U4ZdIzc5nvft7LtOm3itlz/B4jlUq5DqlWiUvMZKYtOMR49l7BbD1ws0a9vo8CnjGdlPozm2bu5DoUQmo1ReUWnO88URPRcidEnmJexWNyizlo1K4+5h+dVWMWfy0pkWDzvhvYe/w+WjWxxczxHWFM20h9lqLiEuw5dg//Hr0LPR11zBzfES0b23IdVpnEyGRMajYbDk1sseTMz5ztkELI1+CrWMeupqLEjsjb3TMPMbfnMgz+uTdGLCx/oW2u3HoYjqX/XEBBYREG+3lg8DfNoCqs2pZeBLj/NBqrtvgjMSUbA3s0xYh+LaBWg7o5C3IL8IPnrxDni/H33aXQ1qcknhB5osSOQ5TYEUXY/8cxbP15L349MB1t+5U/sYcruXli7Dp6B4dOP4Kejjq+G9oaPl7OnO1b+iVJy8zF39uvIuDmK7jVr4sZY31qxKzXd0mlUiwasBoPLjzF2ttLYF0DllohpLajxI5DlNgRRWAYBkuG/IU7Jx9gzc1FsGtkzXVIH4hPysL6XYEIvBsKFwczTBnVHq60xVS5JBIpjl14gi37bkBZSYBJw9uhc1sXTrcGq8i/vx/CrvkHseDYj2j1TTOuwyHkq0CJHYcosSOKUpgvxrTWc5GTkYt195ZC10iH65DK9TgoFn9vv4LXkSnw8XLCd0PbwNSIPhulXoYmYuWmSwiNSsE3HRth3JDW0NZU5Tqsct08fg/ze6/A8AUDaGkTQhSIEjsOUWJHFCklJhWTms2GpUtdLLs4t8au+C+RSHHuahC27L2BnHwxBvdsisF+HjVmyQ4upGXmYsfB2zhx6SkcrI0xY1xH1K9nxnVYFYp8EYMfWv2Cpp3dMPfA9BrZmkhIbUWJHYcosSOK9vx6MH70WYCuY30wed0YrsP5qPyCIvx79C4OnHoAbS01jOrfCj5eTl9NgscwDB4HxeLY+Se4di8MQhUljB3khV6d3aAkqBkznMsjysjB9x5zoKapijU3FkJNU43rkAj5qlBixyFK7AgXzmy+hDXfbca0TePRdawP1+F8UmJKNjb8ew2Xb4VATVUZPl5O6NahAerXM6uVLUG5eWJcCAzCsQtPEBWXAas6+ujV2Q2d29aHpoaQ6/A+qkhcjJ+7LEbk8xisu7cUZjYmXIdEyFeHEjsOUWJHuLJ24hac2xqAhafmoGmnRlyHUymJKdk4e+UFzl5+geS0HFjV0Ue3Dq7wbVsfBnoaXIf32V5HJOP4xae4dD0YRUUlaN3cAb193eDuavFFJLBF4mIsHvgn7p9/guWX5sLVy5nrkAj5KlFixyFK7AhXSopLMK/Xcjy7+hILT82GW3tXrkOqNKmUwcPn0Thz+QWu3Q2FRCJFi8a26NrBFa0a20JZ+ctZ/FYsLkbAzRAcv/gUL0MTYaSviZ4dG6KHT8MasbdrZRUVFmFB35V4HPAC847MRPOujbkOiZCvFiV2HKLEjnCpMF+Meb2W48X1YMw/OgvNOrtzHVKViXILEXDjFc5cfo5X4cnQ1VaDbxsXeHnYw8nOpEYt1Au82XXjVUQyngTF4unLODwNjkd+QRE83KzRy9cNLZvY1ujxc+UpzBdjnt8yBN0MwYLjP6JJxy+jBZiQ2ooSOw5RYke4VlRYhIUDVuPB+Sf49cB0ePp5cB1StYVHp+Ls5Re4cO0lskQF4PN5sLEwhIuDGeo7mMGlnims6hhAoMDESVxUguDQRDwJjsOToDi8CIlHobgEaqrKaOBYB41c6sLHywl1THUVFhObCnIL8GuPP/D6QTgWnXqzfR0hhFuU2HGIEjtSE5QUl2Dp0LW4cfQuZv87Be0HenId0mcpkUgRFZuOl6GJZbfI2DQwDKCupgJne1O4OJjBxcEMzvam0NVR/6xWMoZhUFBYjIysPGRm5yMjOx+hEcl4EhyHl68TUVQsgYa6Cho514WbS100crGAo60xlL7w/VLzsvPwc7eliHoeg8Vnf4arpxPXIRFCQIkdpyixIzWFpESCVWM2wP/fa5j+vwnoPLI91yGxKr+gCK/CkhAUmoiXr98ke+lZeWX3q6kqQ0tDFRrqKtDUUIVm6b8aQmiqC6GpIYSSgI/M7PwPbhnZ+SgqKpGpT1tTFY1c6sK9vgXcXOrCzspIoS2F8paTmYs5nRchPjQJS8//AicPB65DIoS8pajcomauhEoIAQAIlASYuW0ihGoqWDV6PcT5YnwzqTPXYbFGXU0FjRtYonEDSwBvWtmS03LwOiIZopxC5OQXIi9PjNz8t7c8MVIzchAZm4a8fDFy8sSQSKTQ1VaHno469HXVYW9tBF1tdejrakBPR13mpqOlVmv3u81OE2G27yIkR6diuf9vcGhsy3VIhBAOUGJHSA3H5/MxZf1YCNVUsG7yVhQVFqPfjB5chyUXPB4PpkbatF1ZFWUmZ+HHjr8jKzkbq67Mh00DK65DIoRwhBI7Qr4APB4P41cNh1BdiM2zdkGcL8aQX/t8EeuoEflKS8jAjz6/Iy87HyuvLoCVc12uQyKEcIgSO0K+EDweDyMXDYJQXYjtv+5DYV4hRi8dQsndVywxIhmzOy9CcWExVl1dgLoONXefWkKIYlBiR8gXZvDPvaGqLsSG6TuQFp+B6f+bABWhMtdhEQW7deI+lo9YBx1DLawKXEDbhBFCAFBiR8gXqffUbjAw18Oy4euQGJGMOXt+gKm1MddhEQUoKS7B1jl7cXj1KXj28sCsbROhofPlb91GCGFH7ZnnT8hXpm3/Vlh5ZT7SEzIx3m0mLu+9znVIRM7S4tMxs8N8HFt7Ft+tGo55h2dSUkcIkUGJHSFfMJcW9bDx8Qo079YYS4euxR/D1iJPlM91WEQOHl56iu/cZyElOg2rri5An2ndaXwlIeQDlNgR8oXT1NXAnN0/4Med3+P2iQf4zn0WXt4O4ToswhKJRIJd8w9iTufFcGhiiw2PlqN+K0euwyKE1FCU2BFSC/B4PHT8ti02Pl4BPRMdTGvzG3YvPAyJRMJ1aOQzZKZk4+cui7F74WEMm98fi8/8DB1DWuOPEFIx2lKsHLSlGPmSlRSXYPfCw9i35ChcWjli9r9TYGJlxHVYpIpe3AjGooF/QlIixZw9P6CxdwOuQyKEfAZF5RbUYkdILaOkrIQRvw/EyisLkBKThvFuM3Fl/02uwyKVJCmR4MDyE5jRfj7M7Uyx4dFySuoIIZVGiR0htVSD1s7Y9GQlmnVxx5LBa7B8xDrkZedxHRb5iGfXXmJCkx+xdc4e9P1/e3ceFdWVrg38YZBiLEBBBgUCDigqKInUxQmjKKjXIfG2ikYlTTRmNGk1Dq1BJOvD6dOsdpmYNs4x0morIVeiCShJJIAJTqhIQ4lBVFAxDMVQKuz7h6G0whDRgoJTz2+tWlr77Drs/db2+KxTdQ5/G491SZFwcO2o72ERUTvCj2IbwI9iSUqEEEjc8wM2vf05ZJYyzI6aijERI2BiaqLvodHvbhcUY+viPTixLwW9FD3w9qYIeL/QTd/DIiIdaq1swWDXAAY7kqLbBcXYtmwvkr74Ec/1ccPc9bMwMKS/vodl0O5V38OB//81YmMOw8LGHBExMzBqVhCMjflhCpHUMNjpEYMdSVn2L0p8tmAXMn/MwsDQ/pi7bhae6+Om72EZFCEEUuJO4bOFu3GnoBgvvTsWM1b8D6zklvoeGhG1EAY7PWKwI6kTQuDk4VP4fPEeFObdwtg5wZgVNRX2nW31PTTJ+/XSNXzy3g6cTsxEwNgBeGNDOLr2dNX3sIiohTHY6RGDHRmKe+r7iN98FF9EH4SoFQhb+hJefm8czMzN9D00ySm7W449UQcQ/8kxuHg54Y0Ns6EY97y+h0VErYTBTo8Y7MjQlN4pwxerDiL+02Nw7NoJf/1/0xH0l0BeYKEDuWfy8PWnx3D8y5MwMjbCjOX/g5fmj4WZrIO+h0ZErYjBTo8Y7MhQ5V++jq2L9yDt6wx0crXHqFnDEfrXF9Glu4u+h9au3Ku+hx8OpiH+k6PISsuBQ5eOGDd3FMbNDYa9k52+h0dEesBgp0cMdmTock5fwTfbjuP4lz+iorQSvkE+CP3rCAyd/F8wt5Tpe3ht1s28Ihz57Dsc3X4cpXfK4T/KF+PnjUbg+Bd49pPIwDHY6RGDHdFD6io1Th46haPbk3D2xEVYyi0wImwIQiNGoufzXjAyMtL3EPWupqYGvxw7h68/PYZTCWdgZWuJkPDh+O95o3lRBBFpGESwW7lyJaKiorTavL29cfnyZVy9ehWenp4Nvm7//v34y1/+0uC28PBw7Nq1S6stJCQER48efeJxMdgR1XdDWYhjO07g213JuHP9Lrx8PRD61xEYOWMo5J1s9D28VlXzoAYXTl7GqYTT+OHfaSjMu4Ue/p6Y8GYohk8bzLOaRFSPwQS7gwcPIjExUdNmamoKBwcH1NTU4Pbt21r9//nPf2LdunW4efMmrK2tG9xneHg4ioqKsGPHDk2bTCaDvb39E4+LwY6ocXVnqI5uP47U+F8ghECfwd5QjH0einH+8PDpKskzedWVapz+7jxOxqUj7esMlN9VoaOzHQLG+mPc3GB4D+wuyXkTkW60VrYwbbE9P+kATE3h7Oxcr93ExKRe++HDhzFlypRGQ10dmUzW4D6J6NmZmJhAMdYfirH++O1WKU4eSsephNPYE7Ufny/5Ak4ejggY6w/FOH/0f7EPZBbt9+xV2d1ypB85jZS4U8g4dg7VlWp4+HTFf78+CoMnBaDH8178LRFE1KboPdjl5OTA1dUV5ubmCAwMRExMDNzd3ev1y8jIwNmzZ7F58+Y/3WdycjI6d+4Me3t7jBgxAh999BE6derUEsMnMmj2nW0xft5ojJ83GuoqNc4lX0L6kQycSjiNrz89BpmFGfqP6PswCI7zR2d3R30PuUkVZZXIO/8r/pNxBWn/m4FzyRdRW1OL3v/VA698+BcMnjSQ35sjojZNrx/FfvPNN1CpVPD29sbNmzcRFRWF69ev48KFC7Cx0f7Ozptvvonk5GRcunSpyX3GxsbC0tISnp6eUCqVWLZsGaytrZGamgoTk4avSlOr1VCr1ZrnZWVlcHNz40exRE9JCIH8y9dx6shppCecxoWTl1HzoAaOXTvBrXcXuPfqAg8fN7j37gL33l1g59i6v/GitrYWhXm3oDz3K66cu4q8zF+hPPcrCvNuAQBMO5jA78W+GDwpAIMmDkQnlyf/KgcRUUMM4jt2f1RSUgIPDw9s2LABERERmvaqqiq4uLhgxYoVWLBgQbP2eeXKFXTr1g2JiYkYOXJkg30auogDAIMdkY5UlFYg47vzyD2Th/ysAuRnXcf13ELU1tQCAOSdbB6GvN8DX1dvV1jbW8HC2hwW1uYwt5LBwtocZuZmTX6PTQiByvIqqH6rQPlvKqh+q4CqpOL35xW4kXsTV87/irzMfFSpqgEAdo5yePl5wMv3ud//9IB77y7oYMYbCBOR7hhksAOAgQMHIjg4GDExMZq2PXv2ICIiAtevX4ejY/M/ynF0dMRHH32E119/vcHtPGNH1Pru37uPG7mFyM+6jvys6/g16xrys66jIPsG1FX3GnyNsbERzK3MYf5Y2DM2MUZFycPgVlFSgdrahg9pljYW6OzuoBXiuvl5wN7Jjhc9EFGLM5iLJx6nUqmgVCoxc+ZMrfZt27ZhwoQJTxXqCgoKUFxcDBeXxu+cL5PJIJO13y94E7VHHcw6wMPHDR4+blrttbW1uHP9LipKK1GlqkZ1hRrVqmpUV1SjSlWtaav6va3mfg2s7KxgY28Fa3tr2NhbPfbcCjb21rCyteQNgonIIOg12C1cuBDjx4+Hh4cHbty4gcjISJiYmCAsLEzTJzc3Fz/88AMSEhIa3EevXr0QExODl156CSqVClFRUZg8eTKcnZ2hVCrxwQcfoHv37ggJCWmtaRHRMzA2NkZnNwfA7c/7EhGRNr0Gu4KCAoSFhaG4uBiOjo4YMmQI0tLStM7Mbd++HV27dsXo0aMb3Ed2djZKS0sBPLwNw/nz57Fr1y6UlJTA1dUVo0ePRnR0NM/IERERkeS1ue/YtQW8QTERERHpUmtlC95Zk4iIiEgiGOyIiIiIJILBjoiIiEgiGOyIiIiIJILBjoiIiEgiGOyIiIiIJILBjoiIiEgiGOyIiIiIJILBjoiIiEgiGOyIiIiIJILBjoiIiEgiGOyIiIiIJILBjoiIiEgiGOyIiIiIJILBjoiIiEgiGOyIiIiIJILBjoiIiEgiGOyIiIiIJILBjoiIiEgiGOyIiIiIJILBjoiIiEgiGOyIiIiIJILBjoiIiEgiGOyIiIiIJILBjoiIiEgiGOyIiIiIJILBjoiIiEgiGOyIiIiIJILBjoiIiEgiGOyIiIiIJILBjoiIiEgiGOyIiIiIJILBjoiIiEgiGOyIiIiIJILBjoiIiEgi9BrsVq5cCSMjI61Hr169NNuHDx9eb/u8efOa3KcQAh9++CFcXFxgYWGB4OBg5OTktPRUiIiIiPRO72fs+vTpg5s3b2oeJ0+e1No+Z84cre1r165tcn9r167FP/7xD2zZsgXp6emwsrJCSEgIqqurW3IaRERERHpnqvcBmJrC2dm50e2WlpZNbn+cEAIff/wxli9fjokTJwIAdu/eDScnJ8TFxWHatGk6GTMRERFRW6T3M3Y5OTlwdXWFl5cXZsyYgfz8fK3te/fuhYODA/r27YulS5eisrKy0X3l5eWhsLAQwcHBmjZbW1soFAqkpqY2+jq1Wo2ysjKtBxEREVF7o9czdgqFAjt37oS3tzdu3ryJqKgoDB06FBcuXICNjQ2mT58ODw8PuLq64vz581i8eDGys7Nx6NChBvdXWFgIAHByctJqd3Jy0mxrSExMDKKionQ3MSIiIiI9MBJCCH0Pok5JSQk8PDywYcMGRERE1Nt+/PhxjBw5Erm5uejWrVu97T/99BMGDx6MGzduwMXFRdM+ZcoUGBkZ4V//+leDP1etVkOtVmuel5WVwc3NDaWlpZDL5TqYGRERERmysrIy2Nratni20PtHsY+zs7NDz549kZub2+B2hUIBAI1ur/suXlFRkVZ7UVFRk9/Tk8lkkMvlWg8iIiKi9qZNBTuVSgWlUql1tu1xZ8+eBYBGt3t6esLZ2RlJSUmatrKyMqSnpyMwMFDn4yUiIiJqS/Qa7BYuXIjvv/8eV69exU8//YSXXnoJJiYmCAsLg1KpRHR0NDIyMnD16lXEx8dj1qxZGDZsGHx9fTX76NWrFw4fPgwAMDIywnvvvYePPvoI8fHxyMzMxKxZs+Dq6opJkybpaZZERERErUOvF08UFBQgLCwMxcXFcHR0xJAhQ5CWlgZHR0dUV1cjMTERH3/8MSoqKuDm5obJkydj+fLlWvvIzs5GaWmp5vkHH3yAiooKzJ07FyUlJRgyZAiOHj0Kc3Pz1p4eERERUatqUxdPtBWt9QVHIiIiMgwGefEEERERET09BjsiIiIiiWCwIyIiIpIIBjsiIiIiiWCwIyIiIpIIBjsiIiIiiWCwIyIiIpIIBjsiIiIiiWCwIyIiIpIIBjsiIiIiiWCwIyIiIpIIU30PoC2q+/W5ZWVleh4JERERSUFdpqjLGC2Fwa4BxcXFAAA3Nzc9j4SIiIikpLi4GLa2ti22fwa7BnTs2BEAkJ+f36LFbw/Kysrg5uaGa9euQS6X63s4esVaPMJaPMQ6PMJaPMJaPMJaPFJaWgp3d3dNxmgpDHYNMDZ++NVDW1tbg1+IdeRyOWvxO9biEdbiIdbhEdbiEdbiEdbikbqM0WL7b9G9ExEREVGrYbAjIiIikggGuwbIZDJERkZCJpPpeyh6x1o8wlo8wlo8xDo8wlo8wlo8wlo80lq1MBItfd0tEREREbUKnrEjIiIikggGOyIiIiKJYLAjIiIikgiDDHZ3797FjBkzIJfLYWdnh4iICKhUqiZfM3z4cBgZGWk95s2bp9UnPz8f48aNg6WlJTp37oxFixbhwYMHLTmVZ9bcWty9exfvvPMOvL29YWFhAXd3d7z77rsoLS3V6vfHWhkZGSE2Nralp9MsmzdvxnPPPQdzc3MoFAqcOnWqyf4HDhxAr169YG5ujn79+iEhIUFruxACH374IVxcXGBhYYHg4GDk5OS05BR0pjm12Lp1K4YOHQp7e3vY29sjODi4Xv/w8PB6739oaGhLT0MnmlOLnTt31punubm5Vh9DWRcNHSONjIwwbtw4TZ/2uC5++OEHjB8/Hq6urjAyMkJcXNyfviY5ORn+/v6QyWTo3r07du7cWa9Pc48/bUFza3Ho0CGMGjUKjo6OkMvlCAwMxLFjx7T6rFy5st6a6NWrVwvOQjeaW4vk5OQG/30UFhZq9dPJuhAGKDQ0VPj5+Ym0tDTx448/iu7du4uwsLAmXxMUFCTmzJkjbt68qXmUlpZqtj948ED07dtXBAcHizNnzoiEhATh4OAgli5d2tLTeSbNrUVmZqZ4+eWXRXx8vMjNzRVJSUmiR48eYvLkyVr9AIgdO3Zo1auqqqqlp/PEYmNjhZmZmdi+fbu4ePGimDNnjrCzsxNFRUUN9k9JSREmJiZi7dq14tKlS2L58uWiQ4cOIjMzU9Nn9erVwtbWVsTFxYlz586JCRMmCE9PzzY174Y0txbTp08XmzdvFmfOnBFZWVkiPDxc2NraioKCAk2f2bNni9DQUK33/+7du601pafW3Frs2LFDyOVyrXkWFhZq9TGUdVFcXKxVhwsXLggTExOxY8cOTZ/2uC4SEhLE3//+d3Ho0CEBQBw+fLjJ/leuXBGWlpbib3/7m7h06ZLYtGmTMDExEUePHtX0aW5t24rm1mL+/PlizZo14tSpU+I///mPWLp0qejQoYM4ffq0pk9kZKTo06eP1pq4fft2C8/k2TW3FidOnBAARHZ2ttZca2pqNH10tS4MLthdunRJABA///yzpu2bb74RRkZG4vr1642+LigoSMyfP7/R7QkJCcLY2FjroP7pp58KuVwu1Gq1Tsaua09biz/av3+/MDMzE/fv39e0PclC16eAgADx1ltvaZ7X1NQIV1dXERMT02D/KVOmiHHjxmm1KRQK8frrrwshhKitrRXOzs5i3bp1mu0lJSVCJpOJffv2tcAMdKe5tfijBw8eCBsbG7Fr1y5N2+zZs8XEiRN1PdQW19xa7NixQ9ja2ja6P0NeFxs3bhQ2NjZCpVJp2trruqjzJMe1Dz74QPTp00erberUqSIkJETz/Flr2xY87THex8dHREVFaZ5HRkYKPz8/3Q1MD5oT7H777bdG++hqXRjcR7Gpqamws7PDCy+8oGkLDg6GsbEx0tPTm3zt3r174eDggL59+2Lp0qWorKzU2m+/fv3g5OSkaQsJCUFZWRkuXryo+4nowLPU4nGlpaWQy+UwNdX+DXVvvfUWHBwcEBAQgO3bt0O0kTvr3Lt3DxkZGQgODta0GRsbIzg4GKmpqQ2+JjU1Vas/8PD9reufl5eHwsJCrT62trZQKBSN7rMteJpa/FFlZSXu379f7/cfJicno3PnzvD29sYbb7yB4uJinY5d1562FiqVCh4eHnBzc8PEiRO1/r0b8rrYtm0bpk2bBisrK6329rYumuvPjhW6qG17VVtbi/Ly8nrHipycHLi6usLLywszZsxAfn6+nkbY8vr37w8XFxeMGjUKKSkpmnZdrguD+12xhYWF6Ny5s1abqakpOnbsWO+z7sdNnz4dHh4ecHV1xfnz57F48WJkZ2fj0KFDmv0+HuoAaJ43tV99etpaPO7OnTuIjo7G3LlztdpXrVqFESNGwNLSEt9++y3efPNNqFQqvPvuuzob/9O6c+cOampqGny/Ll++3OBrGnt/6+pU92dTfdqip6nFHy1evBiurq5aB6TQ0FC8/PLL8PT0hFKpxLJlyzBmzBikpqbCxMREp3PQlaephbe3N7Zv3w5fX1+UlpZi/fr1GDRoEC5evIiuXbsa7Lo4deoULly4gG3btmm1t8d10VyNHSvKyspQVVWF33777Zn/zbVX69evh0qlwpQpUzRtCoUCO3fuhLe3N27evImoqCgMHToUFy5cgI2NjR5Hq1suLi7YsmULXnjhBajVanz++ecYPnw40tPT4e/vr5NjcR3JBLslS5ZgzZo1TfbJysp66v0/Hlz69esHFxcXjBw5EkqlEt26dXvq/baElq5FnbKyMowbNw4+Pj5YuXKl1rYVK1Zo/j5gwABUVFRg3bp1bSLYke6sXr0asbGxSE5O1rpoYNq0aZq/9+vXD76+vujWrRuSk5MxcuRIfQy1RQQGBiIwMFDzfNCgQejduzc+++wzREdH63Fk+rVt2zb069cPAQEBWu2Gsi6ovi+//BJRUVH46quvtE4ojBkzRvN3X19fKBQKeHh4YP/+/YiIiNDHUFuEt7c3vL29Nc8HDRoEpVKJjRs3Ys+ePTr9WZIJdgsWLEB4eHiTfby8vODs7Ixbt25ptT948AB3796Fs7PzE/88hUIBAMjNzUW3bt3g7Oxc7+qVoqIiAGjWfnWhNWpRXl6O0NBQ2NjY4PDhw+jQoUOT/RUKBaKjo6FWq/X+q2UcHBxgYmKieX/qFBUVNTpvZ2fnJvvX/VlUVAQXFxetPv3799fh6HXraWpRZ/369Vi9ejUSExPh6+vbZF8vLy84ODggNze3zf4H/iy1qNOhQwcMGDAAubm5AAxzXVRUVCA2NharVq3605/THtZFczV2rJDL5bCwsICJickzr7P2JjY2Fq+99hoOHDhQ72PqP7Kzs0PPnj01/4akLCAgACdPngSgm+NPHcl8x87R0RG9evVq8mFmZobAwECUlJQgIyND89rjx4+jtrZWE9aexNmzZwFAc7AODAxEZmamVlD67rvvIJfL4ePjo5tJPqGWrkVZWRlGjx4NMzMzxMfH17u9Q0POnj0Le3t7vYc6ADAzM8Pzzz+PpKQkTVttbS2SkpK0zr48LjAwUKs/8PD9revv6ekJZ2dnrT5lZWVIT09vdJ9twdPUAgDWrl2L6OhoHD16VOs7mo0pKChAcXGxVrhpa562Fo+rqalBZmamZp6Gti6Ah7cFUqvVeOWVV/7057SHddFcf3as0MU6a0/27duHV199Ffv27dO69U1jVCoVlEqlpNZEY86ePauZp07XRbMutZCI0NBQMWDAAJGeni5OnjwpevTooXWLj4KCAuHt7S3S09OFEELk5uaKVatWiV9++UXk5eWJr776Snh5eYlhw4ZpXlN3u5PRo0eLs2fPiqNHjwpHR8d2cbuT5tSitLRUKBQK0a9fP5Gbm6t12faDBw+EEELEx8eLrVu3iszMTJGTkyM++eQTYWlpKT788EO9zLEhsbGxQiaTiZ07d4pLly6JuXPnCjs7O81VzTNnzhRLlizR9E9JSRGmpqZi/fr1IisrS0RGRjZ4uxM7Ozvx1VdfifPnz4uJEye2m9taNKcWq1evFmZmZuLgwYNa7395ebkQQojy8nKxcOFCkZqaKvLy8kRiYqLw9/cXPXr0ENXV1XqZ45Nqbi2ioqLEsWPHhFKpFBkZGWLatGnC3NxcXLx4UdPHUNZFnSFDhoipU6fWa2+v66K8vFycOXNGnDlzRgAQGzZsEGfOnBG//vqrEEKIJUuWiJkzZ2r6193uZNGiRSIrK0ts3ry5wdudNFXbtqq5tdi7d68wNTUVmzdv1jpWlJSUaPosWLBAJCcni7y8PJGSkiKCg4OFg4ODuHXrVqvPrzmaW4uNGzeKuLg4kZOTIzIzM8X8+fOFsbGxSExM1PTR1bowyGBXXFwswsLChLW1tZDL5eLVV1/V/KckhBB5eXkCgDhx4oQQQoj8/HwxbNgw0bFjRyGTyUT37t3FokWLtO5jJ4QQV69eFWPGjBEWFhbCwcFBLFiwQOsWIG1Rc2tRd8l2Q4+8vDwhxMNbpvTv319YW1sLKysr4efnJ7Zs2aJ1v562YNOmTcLd3V2YmZmJgIAAkZaWptkWFBQkZs+erdV///79omfPnsLMzEz06dNHHDlyRGt7bW2tWLFihXBychIymUyMHDlSZGdnt8ZUnllzauHh4dHg+x8ZGSmEEKKyslKMHj1aODo6ig4dOggPDw8xZ86cNv+fVp3m1OK9997T9HVychJjx47VukeXEIazLoQQ4vLlywKA+Pbbb+vtq72ui8aOeXVznz17tggKCqr3mv79+wszMzPh5eWldS+/Ok3Vtq1qbi2CgoKa7C/Ew1vBuLi4CDMzM9GlSxcxdepUkZub27oTewrNrcWaNWtEt27dhLm5uejYsaMYPny4OH78eL396mJdGAnRRu5BQURERETPRDLfsSMiIiIydAx2RERERBLBYEdEREQkEQx2RERERBLBYEdEREQkEQx2RERERBLBYEdEREQkEQx2RERERBLBYEdE1AgjIyPExcXpexhERE+MwY6IDNbt27fxxhtvwN3dHTKZDM7OzggJCUFKSoq+h0ZE9FRM9T0AIiJ9mTx5Mu7du4ddu3bBy8sLRUVFSEpKQnFxsb6HRkT0VHjGjogMUklJCX788UesWbMGL774Ijw8PBAQEIClS5diwoQJDb4mMzMTI0aMgIWFBTp16oS5c+dCpVJptoeHh2PSpEmIioqCo6Mj5HI55s2bh3v37mn61NbWIiYmBp6enrCwsICfnx8OHjzY4vMlIsPAYEdEBsna2hrW1taIi4uDWq3+0/4VFRUICQmBvb09fv75Zxw4cACJiYl4++23tfolJSUhKysLycnJ2LdvHw4dOoSoqCjN9piYGOzevRtbtmzBxYsX8f777+OVV17B999/r/M5EpHhMRJCCH0PgohIH/79739jzpw5qKqqgr+/P4KCgjBt2jT4+voCeHjxxOHDhzFp0iRs3boVixcvxrVr12BlZQUASEhIwPjx43Hjxg04OTkhPDwcX3/9Na5duwZLS0sAwJYtW7Bo0SKUlpbi/v376NixIxITExEYGKgZx2uvvYbKykp8+eWXrV8EIpIUnrEjIoM1efJk3LhxA/Hx8QgNDUVycjL8/f2xc+fOen2zsrLg5+enCXUAMHjwYNTW1iI7O1vT5ufnpwl1ABAYGAiVSoVr164hNzcXlZWVGDVqlOaMobW1NXbv3g2lUtmicyUiw8CLJ4jIoJmbm2PUqFEYNWoUVqxYgddeew2RkZEIDw/X+c+q+z7ekSNH0KVLF61tMplM5z+PiAwPz9gRET3Gx8cHFRUV9dp79+6Nc+fOaW1LSUmBsbExvL29NW3nzp1DVVWV5nlaWhqsra3h5uYGHx8fyGQy5Ofno3v37loPNze3lp0YERkEBjsiMkjFxcUYMWIEvvjiC5w/fx55eXk4cOAA1q5di4kTJ9brP2PGDJibm2P27Nm4cOECTpw4gXfeeQczZ86Ek5OTpt+9e/cQERGBS5cuISEhAZGRkXj77bdhbGwMGxsbLFy4EO+//z527doFpVKJ06dPY9OmTdi1a1drTp+IJIofxRKRQbK2toZCocDGjRuhVCpx//59uLm5Yc6cOVi2bFm9/paWljh27Bjmz5+PgQMHwtLSEpMnT8aGDRu0+o0cORI9evTAsGHDoFarERYWhpUrV2q2R0dHw9HRETExMbhy5Qrs7Ozg7+/f4M8kImouXhVLRKQj4eHhKCkp4a8hIyK94UexRERERBLBYEdEREQkEfwoloiIiEgieMaOiIiISCIY7IiIiIgkgsGOiIiISCIY7IiIiIgkgsGOiIiISCIY7IiIiIgkgsGOiIiISCIY7IiIiIgkgsGOiIiISCL+D6E4pPSF1OYWAAAAAElFTkSuQmCC", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "from utils import plot_contour\n", "\n", "plot_contour(joint_posterior)\n", "decorate(title='Posterior joint distribution of slope and intercept')" ] }, { "cell_type": "markdown", "metadata": { "tags": [ "hide-cell" ] }, "source": [ "The ovals in the contour plot are aligned with the axes, which indicates that there is no correlation between `slope` and `inter` in the posterior distribution, which is what we expect since we centered the values.\n", "\n", "In this example, the motivating question is about the slope of the line, so we answered it by looking at the posterior distribution of slope.\n", "\n", "In the next example, the motivating question is about prediction, so we'll use the joint posterior distribution to generate predictive distributions." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Marathon World Record\n", "\n", "For many running events, if you plot the world record pace over time, the result is a remarkably straight line. People, [including me](http://allendowney.blogspot.com/2011/04/two-hour-marathon-in-2045.html), have speculated about possible reasons for this phenomenon.\n", "\n", "People have also speculated about when, if ever, the world record time for the marathon will be less than two hours.\n", "(Note: In 2019 Eliud Kipchoge ran the marathon distance in under two hours, which is an astonishing achievement that I fully appreciate, but for several reasons it did not count as a world record).\n", "\n", "So, as a second example of Bayesian regression, we'll consider the world record progression for the marathon (for male runners), estimate the parameters of a linear model, and use the model to predict when a runner will break the two-hour barrier. " ] }, { "cell_type": "markdown", "metadata": { "tags": [ "hide-cell" ] }, "source": [ "The following cell downloads a web page from Wikipedia that includes a table of marathon world records, and uses Pandas to put the data in a `DataFrame`." ] }, { "cell_type": "code", "execution_count": 51, "metadata": { "execution": { "iopub.execute_input": "2021-04-16T19:39:27.418039Z", "iopub.status.busy": "2021-04-16T19:39:27.417570Z", "iopub.status.idle": "2021-04-16T19:39:27.824997Z", "shell.execute_reply": "2021-04-16T19:39:27.825376Z" }, "tags": [ "hide-cell" ] }, "outputs": [ { "data": { "text/plain": [ "5" ] }, "execution_count": 51, "metadata": {}, "output_type": "execute_result" } ], "source": [ "url = 'https://en.wikipedia.org/wiki/Marathon_world_record_progression#Men'\n", "tables = pd.read_html(url)\n", "len(tables)" ] }, { "cell_type": "markdown", "metadata": { "tags": [ "hide-cell" ] }, "source": [ "If that doesn't work, I have made a copy of this page available. The following cell downloads and parses it." ] }, { "cell_type": "code", "execution_count": 52, "metadata": { "execution": { "iopub.execute_input": "2021-04-16T19:39:27.828135Z", "iopub.status.busy": "2021-04-16T19:39:27.827662Z", "iopub.status.idle": "2021-04-16T19:39:27.829786Z", "shell.execute_reply": "2021-04-16T19:39:27.829411Z" }, "tags": [ "hide-cell" ] }, "outputs": [], "source": [ "#import os\n", "\n", "#datafile = 'Marathon_world_record_progression.html'\n", "#download('https://github.com/AllenDowney/ThinkBayes2/raw/master/data/Marathon_world_record_progression.html')\n", "\n", "#tables = pd.read_html(datafile)\n", "#len(tables)" ] }, { "cell_type": "markdown", "metadata": { "tags": [ "hide-cell" ] }, "source": [ "The first table is the one we want." ] }, { "cell_type": "code", "execution_count": 53, "metadata": { "execution": { "iopub.execute_input": "2021-04-16T19:39:27.838976Z", "iopub.status.busy": "2021-04-16T19:39:27.838551Z", "iopub.status.idle": "2021-04-16T19:39:27.842313Z", "shell.execute_reply": "2021-04-16T19:39:27.842643Z" }, "tags": [ "hide-cell" ] }, "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", "
TimeNameNationalityDateEvent/PlaceSourceNotes
482:02:57Dennis KimettoKenyaSeptember 28, 2014Berlin MarathonIAAF[86][87] ARRS[83]The ARRS notes Kimetto's extended time as 2:02...
492:01:39Eliud KipchogeKenyaSeptember 16, 2018Berlin MarathonIAAF[1]NaN
502:01:09Eliud KipchogeKenyaSeptember 25, 2022Berlin MarathonIAAF[88]NaN
\n", "
" ], "text/plain": [ " Time Name Nationality Date Event/Place \\\n", "48 2:02:57 Dennis Kimetto Kenya September 28, 2014 Berlin Marathon \n", "49 2:01:39 Eliud Kipchoge Kenya September 16, 2018 Berlin Marathon \n", "50 2:01:09 Eliud Kipchoge Kenya September 25, 2022 Berlin Marathon \n", "\n", " Source Notes \n", "48 IAAF[86][87] ARRS[83] The ARRS notes Kimetto's extended time as 2:02... \n", "49 IAAF[1] NaN \n", "50 IAAF[88] NaN " ] }, "execution_count": 53, "metadata": {}, "output_type": "execute_result" } ], "source": [ "table = tables[0]\n", "table.tail(3)" ] }, { "cell_type": "markdown", "metadata": { "tags": [ "hide-cell" ] }, "source": [ "We can use Pandas to parse the dates.\n", "A few of them include notes that cause parsing problems, but the argument `errors='coerce'` tells Pandas to fill invalid dates with `NaT`, which is a version of `NaN` that represents \"not a time\". " ] }, { "cell_type": "code", "execution_count": 54, "metadata": { "execution": { "iopub.execute_input": "2021-04-16T19:39:27.853767Z", "iopub.status.busy": "2021-04-16T19:39:27.853247Z", "iopub.status.idle": "2021-04-16T19:39:27.855693Z", "shell.execute_reply": "2021-04-16T19:39:27.856161Z" }, "tags": [ "hide-cell" ] }, "outputs": [ { "data": { "text/plain": [ "0 1908-07-24\n", "1 1909-01-01\n", "2 1909-02-12\n", "3 1909-05-08\n", "4 NaT\n", "Name: date, dtype: datetime64[ns]" ] }, "execution_count": 54, "metadata": {}, "output_type": "execute_result" } ], "source": [ "table['date'] = pd.to_datetime(table['Date'], errors='coerce')\n", "table['date'].head()" ] }, { "cell_type": "markdown", "metadata": { "tags": [ "hide-cell" ] }, "source": [ "We can also use Pandas to parse the record times." ] }, { "cell_type": "code", "execution_count": 55, "metadata": { "execution": { "iopub.execute_input": "2021-04-16T19:39:27.860393Z", "iopub.status.busy": "2021-04-16T19:39:27.859869Z", "iopub.status.idle": "2021-04-16T19:39:27.861986Z", "shell.execute_reply": "2021-04-16T19:39:27.861604Z" }, "tags": [ "hide-cell" ] }, "outputs": [], "source": [ "table['time'] = pd.to_timedelta(table['Time'])" ] }, { "cell_type": "markdown", "metadata": { "tags": [ "hide-cell" ] }, "source": [ "And convert the times to paces in miles per hour." ] }, { "cell_type": "code", "execution_count": 56, "metadata": { "execution": { "iopub.execute_input": "2021-04-16T19:39:27.868089Z", "iopub.status.busy": "2021-04-16T19:39:27.867544Z", "iopub.status.idle": "2021-04-16T19:39:27.869998Z", "shell.execute_reply": "2021-04-16T19:39:27.870375Z" }, "tags": [ "hide-cell" ] }, "outputs": [ { "data": { "text/plain": [ "0 8.967143\n", "1 9.099504\n", "2 9.419942\n", "3 9.465508\n", "4 9.672854\n", "Name: y, dtype: float64" ] }, "execution_count": 56, "metadata": {}, "output_type": "execute_result" } ], "source": [ "table['y'] = 26.2 / table['time'].dt.total_seconds() * 3600\n", "table['y'].head()" ] }, { "cell_type": "markdown", "metadata": { "tags": [ "hide-cell" ] }, "source": [ "The following function plots the results." ] }, { "cell_type": "code", "execution_count": 57, "metadata": { "execution": { "iopub.execute_input": "2021-04-16T19:39:27.874390Z", "iopub.status.busy": "2021-04-16T19:39:27.873871Z", "iopub.status.idle": "2021-04-16T19:39:27.876092Z", "shell.execute_reply": "2021-04-16T19:39:27.875730Z" }, "tags": [ "hide-cell" ] }, "outputs": [], "source": [ "def plot_speeds(df):\n", " \"\"\"Plot marathon world record speed as a function of time.\n", " \n", " df: DataFrame with date and mph\n", " \"\"\"\n", " plt.axhline(13.1, color='C5', ls='--')\n", " plt.plot(df['date'], df['y'], 'o', \n", " label='World record speed', \n", " color='C1', alpha=0.5)\n", " \n", " decorate(xlabel='Date',\n", " ylabel='Speed (mph)')" ] }, { "cell_type": "markdown", "metadata": { "tags": [ "hide-cell" ] }, "source": [ "Here's what the results look like.\n", "The dashed line shows the speed required for a two-hour marathon, 13.1 miles per hour." ] }, { "cell_type": "code", "execution_count": 58, "metadata": { "execution": { "iopub.execute_input": "2021-04-16T19:39:27.896251Z", "iopub.status.busy": "2021-04-16T19:39:27.894071Z", "iopub.status.idle": "2021-04-16T19:39:28.025535Z", "shell.execute_reply": "2021-04-16T19:39:28.026172Z" }, "tags": [ "hide-cell" ] }, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "plot_speeds(table)" ] }, { "cell_type": "markdown", "metadata": { "tags": [ "hide-cell" ] }, "source": [ "It's not a perfectly straight line. In the early years of the marathon, the record speed increased quickly; since about 1970, it has been increasing more slowly.\n", "\n", "For our analysis, let's focus on the recent progression, starting in 1970." ] }, { "cell_type": "code", "execution_count": 59, "metadata": { "execution": { "iopub.execute_input": "2021-04-16T19:39:28.039659Z", "iopub.status.busy": "2021-04-16T19:39:28.039051Z", "iopub.status.idle": "2021-04-16T19:39:28.041586Z", "shell.execute_reply": "2021-04-16T19:39:28.041953Z" }, "tags": [ "hide-cell" ] }, "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", "
TimeNameNationalityDateEvent/PlaceSourceNotesdatetimey
322:09:28.8Ron HillUnited KingdomJuly 23, 1970Edinburgh, ScotlandARRS[9]NaN1970-07-230 days 02:09:28.80000012.140871
332:09:12Ian ThompsonUnited KingdomJanuary 31, 1974Christchurch, New ZealandARRS[9]NaN1974-01-310 days 02:09:1212.167183
342:09:05.6Shigeru SoJapanFebruary 5, 1978Beppu-ÅŒita MarathonARRS[9]NaN1978-02-050 days 02:09:05.60000012.177236
352:09:01Gerard NijboerNetherlandsApril 26, 1980Amsterdam MarathonARRS[9]NaN1980-04-260 days 02:09:0112.184472
362:08:18Robert De CastellaAustraliaDecember 6, 1981Fukuoka MarathonIAAF,[53] ARRS[9]NaN1981-12-060 days 02:08:1812.252533
\n", "
" ], "text/plain": [ " Time Name Nationality Date \\\n", "32 2:09:28.8 Ron Hill United Kingdom July 23, 1970 \n", "33 2:09:12 Ian Thompson United Kingdom January 31, 1974 \n", "34 2:09:05.6 Shigeru So Japan February 5, 1978 \n", "35 2:09:01 Gerard Nijboer Netherlands April 26, 1980 \n", "36 2:08:18 Robert De Castella Australia December 6, 1981 \n", "\n", " Event/Place Source Notes date \\\n", "32 Edinburgh, Scotland ARRS[9] NaN 1970-07-23 \n", "33 Christchurch, New Zealand ARRS[9] NaN 1974-01-31 \n", "34 Beppu-ÅŒita Marathon ARRS[9] NaN 1978-02-05 \n", "35 Amsterdam Marathon ARRS[9] NaN 1980-04-26 \n", "36 Fukuoka Marathon IAAF,[53] ARRS[9] NaN 1981-12-06 \n", "\n", " time y \n", "32 0 days 02:09:28.800000 12.140871 \n", "33 0 days 02:09:12 12.167183 \n", "34 0 days 02:09:05.600000 12.177236 \n", "35 0 days 02:09:01 12.184472 \n", "36 0 days 02:08:18 12.252533 " ] }, "execution_count": 59, "metadata": {}, "output_type": "execute_result" } ], "source": [ "recent = table['date'] > pd.to_datetime('1970')\n", "data = table.loc[recent].copy()\n", "data.head()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "In the notebook for this chapter, you can see how I loaded and cleaned the data. The result is a `DataFrame` that contains the following columns (and additional information we won't use):\n", "\n", "* `date`, which is a Pandas `Timestamp` representing the date when the world record was broken, and\n", "\n", "* `speed`, which records the record-breaking pace in mph.\n", "\n", "Here's what the results look like, starting in 1970:" ] }, { "cell_type": "code", "execution_count": 60, "metadata": { "execution": { "iopub.execute_input": "2021-04-16T19:39:28.057142Z", "iopub.status.busy": "2021-04-16T19:39:28.056331Z", "iopub.status.idle": "2021-04-16T19:39:28.210918Z", "shell.execute_reply": "2021-04-16T19:39:28.210485Z" }, "tags": [ "hide-input" ] }, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "plot_speeds(data)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The data points fall approximately on a line, although it's possible that the slope is increasing.\n", "\n", "To prepare the data for regression, I'll subtract away the approximate midpoint of the time interval, 1995." ] }, { "cell_type": "code", "execution_count": 61, "metadata": { "execution": { "iopub.execute_input": "2021-04-16T19:39:28.214686Z", "iopub.status.busy": "2021-04-16T19:39:28.214200Z", "iopub.status.idle": "2021-04-16T19:39:28.215796Z", "shell.execute_reply": "2021-04-16T19:39:28.216157Z" } }, "outputs": [], "source": [ "offset = pd.to_datetime('1995')\n", "timedelta = table['date'] - offset" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "When we subtract two `Timestamp` objects, the result is a \"time delta\", which we can convert to seconds and then to years." ] }, { "cell_type": "code", "execution_count": 62, "metadata": { "execution": { "iopub.execute_input": "2021-04-16T19:39:28.221866Z", "iopub.status.busy": "2021-04-16T19:39:28.220942Z", "iopub.status.idle": "2021-04-16T19:39:28.223586Z", "shell.execute_reply": "2021-04-16T19:39:28.223108Z" } }, "outputs": [], "source": [ "data['x'] = timedelta.dt.total_seconds() / 3600 / 24 / 365.24" ] }, { "cell_type": "code", "execution_count": 63, "metadata": { "execution": { "iopub.execute_input": "2021-04-16T19:39:28.231701Z", "iopub.status.busy": "2021-04-16T19:39:28.231064Z", "iopub.status.idle": "2021-04-16T19:39:28.234172Z", "shell.execute_reply": "2021-04-16T19:39:28.233719Z" }, "tags": [ "hide-cell" ] }, "outputs": [ { "data": { "text/plain": [ "count 19.000000\n", "mean 2.161520\n", "std 16.212660\n", "min -24.444201\n", "25% -11.633447\n", "50% 4.810536\n", "75% 15.236557\n", "max 27.732450\n", "Name: x, dtype: float64" ] }, "execution_count": 63, "metadata": {}, "output_type": "execute_result" } ], "source": [ "data['x'].describe()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "As in the previous example, I'll use least squares regression to compute point estimates for the parameters, which will help with choosing priors." ] }, { "cell_type": "code", "execution_count": 64, "metadata": { "execution": { "iopub.execute_input": "2021-04-16T19:39:28.243896Z", "iopub.status.busy": "2021-04-16T19:39:28.243090Z", "iopub.status.idle": "2021-04-16T19:39:28.246900Z", "shell.execute_reply": "2021-04-16T19:39:28.246348Z" } }, "outputs": [ { "data": { "text/plain": [ "Intercept 12.464040\n", "x 0.015931\n", "dtype: float64" ] }, "execution_count": 64, "metadata": {}, "output_type": "execute_result" } ], "source": [ "import statsmodels.formula.api as smf\n", "\n", "formula = 'y ~ x'\n", "results = smf.ols(formula, data=data).fit()\n", "results.params" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The estimated intercept is about 12.5 mph, which is the interpolated world record pace for 1995. The estimated slope is about 0.015 mph per year, which is the rate the world record pace is increasing, according to the model.\n", "\n", "Again, we can use the standard deviation of the residuals as a point estimate for `sigma`." ] }, { "cell_type": "code", "execution_count": 65, "metadata": { "execution": { "iopub.execute_input": "2021-04-16T19:39:28.251555Z", "iopub.status.busy": "2021-04-16T19:39:28.250995Z", "iopub.status.idle": "2021-04-16T19:39:28.253487Z", "shell.execute_reply": "2021-04-16T19:39:28.253872Z" } }, "outputs": [ { "data": { "text/plain": [ "0.04419653543387639" ] }, "execution_count": 65, "metadata": {}, "output_type": "execute_result" } ], "source": [ "results.resid.std()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "These parameters give us a good idea where we should put the prior distributions." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## The Priors\n", "\n", "Here are the prior distributions I chose for `slope`, `intercept`, and `sigma`." ] }, { "cell_type": "code", "execution_count": 66, "metadata": { "execution": { "iopub.execute_input": "2021-04-16T19:39:28.258022Z", "iopub.status.busy": "2021-04-16T19:39:28.257434Z", "iopub.status.idle": "2021-04-16T19:39:28.259420Z", "shell.execute_reply": "2021-04-16T19:39:28.259062Z" } }, "outputs": [], "source": [ "qs = np.linspace(0.012, 0.018, 51)\n", "prior_slope = make_uniform(qs, 'Slope')" ] }, { "cell_type": "code", "execution_count": 67, "metadata": { "execution": { "iopub.execute_input": "2021-04-16T19:39:28.263808Z", "iopub.status.busy": "2021-04-16T19:39:28.263043Z", "iopub.status.idle": "2021-04-16T19:39:28.265744Z", "shell.execute_reply": "2021-04-16T19:39:28.265217Z" } }, "outputs": [], "source": [ "qs = np.linspace(12.4, 12.5, 41)\n", "prior_inter = make_uniform(qs, 'Intercept')" ] }, { "cell_type": "code", "execution_count": 68, "metadata": { "execution": { "iopub.execute_input": "2021-04-16T19:39:28.270542Z", "iopub.status.busy": "2021-04-16T19:39:28.269999Z", "iopub.status.idle": "2021-04-16T19:39:28.272030Z", "shell.execute_reply": "2021-04-16T19:39:28.272481Z" } }, "outputs": [], "source": [ "qs = np.linspace(0.01, 0.21, 31)\n", "prior_sigma = make_uniform(qs, 'Sigma')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "And here's the joint prior distribution." ] }, { "cell_type": "code", "execution_count": 69, "metadata": { "execution": { "iopub.execute_input": "2021-04-16T19:39:28.277187Z", "iopub.status.busy": "2021-04-16T19:39:28.276205Z", "iopub.status.idle": "2021-04-16T19:39:28.287288Z", "shell.execute_reply": "2021-04-16T19:39:28.287636Z" } }, "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", "
probs
SlopeInterceptSigma
0.01212.40.0100000.000015
0.0166670.000015
0.0233330.000015
\n", "
" ], "text/plain": [ "Slope Intercept Sigma \n", "0.012 12.4 0.010000 0.000015\n", " 0.016667 0.000015\n", " 0.023333 0.000015\n", "Name: , dtype: float64" ] }, "execution_count": 69, "metadata": {}, "output_type": "execute_result" } ], "source": [ "prior = make_joint3(prior_slope, prior_inter, prior_sigma)\n", "prior.head()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Now we can compute likelihoods as in the previous example:" ] }, { "cell_type": "code", "execution_count": 70, "metadata": { "execution": { "iopub.execute_input": "2021-04-16T19:39:28.292255Z", "iopub.status.busy": "2021-04-16T19:39:28.291742Z", "iopub.status.idle": "2021-04-16T19:40:08.384282Z", "shell.execute_reply": "2021-04-16T19:40:08.384694Z" } }, "outputs": [], "source": [ "xs = data['x']\n", "ys = data['y']\n", "likelihood = prior.copy()\n", "\n", "for slope, inter, sigma in prior.index:\n", " expected = slope * xs + inter\n", " resid = ys - expected\n", " densities = norm.pdf(resid, 0, sigma)\n", " likelihood[slope, inter, sigma] = densities.prod()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Now we can do the update in the usual way." ] }, { "cell_type": "code", "execution_count": 71, "metadata": { "execution": { "iopub.execute_input": "2021-04-16T19:40:08.387896Z", "iopub.status.busy": "2021-04-16T19:40:08.387383Z", "iopub.status.idle": "2021-04-16T19:40:08.394693Z", "shell.execute_reply": "2021-04-16T19:40:08.395061Z" }, "tags": [ "hide-output" ] }, "outputs": [ { "data": { "text/plain": [ "1161389020603.8816" ] }, "execution_count": 71, "metadata": {}, "output_type": "execute_result" } ], "source": [ "posterior = prior * likelihood\n", "posterior.normalize()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "And unpack the marginals:" ] }, { "cell_type": "code", "execution_count": 72, "metadata": { "execution": { "iopub.execute_input": "2021-04-16T19:40:08.398478Z", "iopub.status.busy": "2021-04-16T19:40:08.397965Z", "iopub.status.idle": "2021-04-16T19:40:08.406205Z", "shell.execute_reply": "2021-04-16T19:40:08.406577Z" } }, "outputs": [], "source": [ "posterior_slope = posterior.marginal(0)\n", "posterior_inter = posterior.marginal(1)\n", "posterior_sigma = posterior.marginal(2)" ] }, { "cell_type": "code", "execution_count": 73, "metadata": { "execution": { "iopub.execute_input": "2021-04-16T19:40:08.429912Z", "iopub.status.busy": "2021-04-16T19:40:08.424037Z", "iopub.status.idle": "2021-04-16T19:40:08.536904Z", "shell.execute_reply": "2021-04-16T19:40:08.536549Z" }, "tags": [ "hide-cell" ] }, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "posterior_sigma.plot();" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Here's the posterior distribution of `inter`:" ] }, { "cell_type": "code", "execution_count": 74, "metadata": { "execution": { "iopub.execute_input": "2021-04-16T19:40:08.558330Z", "iopub.status.busy": "2021-04-16T19:40:08.557823Z", "iopub.status.idle": "2021-04-16T19:40:08.711888Z", "shell.execute_reply": "2021-04-16T19:40:08.712426Z" }, "tags": [ "hide-input" ] }, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "posterior_inter.plot(color='C1')\n", "decorate(xlabel='intercept',\n", " ylabel='PDF',\n", " title='Posterior marginal distribution of intercept')" ] }, { "cell_type": "code", "execution_count": 75, "metadata": { "execution": { "iopub.execute_input": "2021-04-16T19:40:08.717982Z", "iopub.status.busy": "2021-04-16T19:40:08.717261Z", "iopub.status.idle": "2021-04-16T19:40:08.721465Z", "shell.execute_reply": "2021-04-16T19:40:08.720768Z" }, "tags": [ "hide-cell" ] }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "12.464 [12.445 12.4825]\n" ] } ], "source": [ "summarize(posterior_inter)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The posterior mean is about 12.5 mph, which is the world record marathon pace the model predicts for the midpoint of the date range, 1994.\n", "\n", "And here's the posterior distribution of `slope`." ] }, { "cell_type": "code", "execution_count": 76, "metadata": { "execution": { "iopub.execute_input": "2021-04-16T19:40:08.774456Z", "iopub.status.busy": "2021-04-16T19:40:08.760561Z", "iopub.status.idle": "2021-04-16T19:40:08.957028Z", "shell.execute_reply": "2021-04-16T19:40:08.957858Z" }, "tags": [ "hide-input" ] }, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "posterior_slope.plot(color='C4')\n", "decorate(xlabel='Slope',\n", " ylabel='PDF',\n", " title='Posterior marginal distribution of slope')" ] }, { "cell_type": "code", "execution_count": 77, "metadata": { "execution": { "iopub.execute_input": "2021-04-16T19:40:08.966418Z", "iopub.status.busy": "2021-04-16T19:40:08.965585Z", "iopub.status.idle": "2021-04-16T19:40:08.972250Z", "shell.execute_reply": "2021-04-16T19:40:08.972843Z" }, "tags": [ "hide-cell" ] }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "0.016 [0.01476 0.01704]\n" ] } ], "source": [ "summarize(posterior_slope)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The posterior mean is about 0.015 mph per year, or 0.15 mph per decade.\n", "\n", "That's interesting, but it doesn't answer the question we're interested in: When will there be a two-hour marathon? To answer that, we have to make predictions." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Prediction\n", "\n", "To generate predictions, I'll draw a sample from the posterior distribution of parameters, then use the regression equation to combine the parameters with the data.\n", "\n", "`Pmf` provides `choice`, which we can use to draw a random sample with replacement, using the posterior probabilities as weights." ] }, { "cell_type": "code", "execution_count": 78, "metadata": { "execution": { "iopub.execute_input": "2021-04-16T19:40:08.976629Z", "iopub.status.busy": "2021-04-16T19:40:08.975627Z", "iopub.status.idle": "2021-04-16T19:40:08.979423Z", "shell.execute_reply": "2021-04-16T19:40:08.980266Z" }, "tags": [ "remove-cell" ] }, "outputs": [], "source": [ "np.random.seed(17)" ] }, { "cell_type": "code", "execution_count": 79, "metadata": { "execution": { "iopub.execute_input": "2021-04-16T19:40:08.983792Z", "iopub.status.busy": "2021-04-16T19:40:08.983006Z", "iopub.status.idle": "2021-04-16T19:40:08.987959Z", "shell.execute_reply": "2021-04-16T19:40:08.988740Z" } }, "outputs": [], "source": [ "sample = posterior.choice(101)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The result is an array of tuples. Looping through the sample, we can use the regression equation to generate predictions for a range of `xs`." ] }, { "cell_type": "code", "execution_count": 80, "metadata": { "execution": { "iopub.execute_input": "2021-04-16T19:40:08.995701Z", "iopub.status.busy": "2021-04-16T19:40:08.994987Z", "iopub.status.idle": "2021-04-16T19:40:09.151613Z", "shell.execute_reply": "2021-04-16T19:40:09.151148Z" } }, "outputs": [], "source": [ "xs = np.arange(-25, 50, 2)\n", "pred = np.empty((len(sample), len(xs)))\n", "\n", "for i, (slope, inter, sigma) in enumerate(sample):\n", " epsilon = norm(0, sigma).rvs(len(xs))\n", " pred[i] = inter + slope * xs + epsilon" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Each prediction is an array with the same length as `xs`, which I store as a row in `pred`. So the result has one row for each sample and one column for each value of `x`.\n", "\n", "We can use `percentile` to compute the 5th, 50th, and 95th percentiles in each column." ] }, { "cell_type": "code", "execution_count": 81, "metadata": { "execution": { "iopub.execute_input": "2021-04-16T19:40:09.158240Z", "iopub.status.busy": "2021-04-16T19:40:09.157499Z", "iopub.status.idle": "2021-04-16T19:40:09.161662Z", "shell.execute_reply": "2021-04-16T19:40:09.162303Z" } }, "outputs": [], "source": [ "low, median, high = np.percentile(pred, [5, 50, 95], axis=0)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "To show the results, I'll plot the median of the predictions as a line and the 90% credible interval as a shaded area." ] }, { "cell_type": "code", "execution_count": 82, "metadata": { "execution": { "iopub.execute_input": "2021-04-16T19:40:09.193803Z", "iopub.status.busy": "2021-04-16T19:40:09.193041Z", "iopub.status.idle": "2021-04-16T19:40:09.467845Z", "shell.execute_reply": "2021-04-16T19:40:09.468385Z" }, "tags": [ "hide-input" ] }, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "times = pd.to_timedelta(xs*365.24, unit='days') + offset\n", "\n", "plt.fill_between(times, low, high, \n", " color='C2', alpha=0.1)\n", "plt.plot(times, median, color='C2')\n", "\n", "plot_speeds(data)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The dashed line shows the two-hour marathon pace, which is 13.1 miles per hour.\n", "Visually we can estimate that the prediction line hits the target pace between 2030 and 2040.\n", "\n", "To make this more precise, we can use interpolation to see when the predictions cross the finish line. SciPy provides `interp1d`, which does linear interpolation by default." ] }, { "cell_type": "code", "execution_count": 83, "metadata": { "execution": { "iopub.execute_input": "2021-04-16T19:40:09.477523Z", "iopub.status.busy": "2021-04-16T19:40:09.475247Z", "iopub.status.idle": "2021-04-16T19:40:09.489783Z", "shell.execute_reply": "2021-04-16T19:40:09.488592Z" } }, "outputs": [], "source": [ "from scipy.interpolate import interp1d\n", "\n", "future = np.array([interp1d(high, xs)(13.1),\n", " interp1d(median, xs)(13.1),\n", " interp1d(low, xs)(13.1)])" ] }, { "cell_type": "code", "execution_count": 84, "metadata": { "execution": { "iopub.execute_input": "2021-04-16T19:40:09.501330Z", "iopub.status.busy": "2021-04-16T19:40:09.500502Z", "iopub.status.idle": "2021-04-16T19:40:09.504183Z", "shell.execute_reply": "2021-04-16T19:40:09.504946Z" }, "tags": [ "hide-cell" ] }, "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", "
datetime
early2028-03-24 16:47:21.722121600
median2035-03-10 14:59:51.082915200
late2040-12-29 22:53:36.679804800
\n", "
" ], "text/plain": [ " datetime\n", "early 2028-03-24 16:47:21.722121600\n", "median 2035-03-10 14:59:51.082915200\n", "late 2040-12-29 22:53:36.679804800" ] }, "execution_count": 84, "metadata": {}, "output_type": "execute_result" } ], "source": [ "dts = pd.to_timedelta(future*365.24, unit='day') + offset\n", "pd.DataFrame(dict(datetime=dts),\n", " index=['early', 'median', 'late'])" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The median prediction is 2036, with a 90% credible interval from 2032 to 2043. So there is about a 5% chance we'll see a two-hour marathon before 2032." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Summary\n", "\n", "This chapter introduces Bayesian regression, which is based on the same model as least squares regression; the difference is that it produces a posterior distribution for the parameters rather than point estimates.\n", "\n", "In the first example, we looked at changes in snowfall in Norfolk County, Massachusetts, and concluded that we get more snowfall now than when I was young, contrary to my expectation.\n", "\n", "In the second example, we looked at the progression of world record pace for the men's marathon, computed the joint posterior distribution of the regression parameters, and used it to generate predictions for the next 20 years.\n", "\n", "These examples have three parameters, so it takes a little longer to compute the likelihood of the data.\n", "With more than three parameters, it becomes impractical to use grid algorithms. \n", "\n", "In the next few chapters, we'll explore other algorithms that reduce the amount of computation we need to do a Bayesian update, which makes it possible to use models with more parameters.\n", "\n", "But first, you might want to work on these exercises." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Exercises\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "**Exercise:** I am under the impression that it is warmer around here than it used to be. In this exercise, you can put my conjecture to the test.\n", "\n", "We'll use the same dataset we used to model snowfall; it also includes daily low and high temperatures in Norfolk County, Massachusetts during my lifetime." ] }, { "cell_type": "markdown", "metadata": { "tags": [ "hide-cell" ] }, "source": [ "Here's the data." ] }, { "cell_type": "code", "execution_count": 85, "metadata": { "execution": { "iopub.execute_input": "2021-04-16T19:40:09.508642Z", "iopub.status.busy": "2021-04-16T19:40:09.507790Z", "iopub.status.idle": "2021-04-16T19:40:09.598819Z", "shell.execute_reply": "2021-04-16T19:40:09.596426Z" }, "tags": [ "hide-cell" ] }, "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", " \n", " \n", " \n", " \n", "
STATIONNAMEDATEPRCPSNOWSNWDTMAXTMINTOBSWESDWT01WT03WT04WT05WT06WT08WT09WT11WT16WT18
0USC00190736BLUE HILL COOP, MA US1967-05-110.430.00.05736.0NaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaN
1USC00190736BLUE HILL COOP, MA US1967-05-120.000.00.05839.0NaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaN
2USC00190736BLUE HILL COOP, MA US1967-05-130.000.00.06438.0NaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaN
\n", "
" ], "text/plain": [ " STATION NAME DATE PRCP SNOW SNWD TMAX \\\n", "0 USC00190736 BLUE HILL COOP, MA US 1967-05-11 0.43 0.0 0.0 57 \n", "1 USC00190736 BLUE HILL COOP, MA US 1967-05-12 0.00 0.0 0.0 58 \n", "2 USC00190736 BLUE HILL COOP, MA US 1967-05-13 0.00 0.0 0.0 64 \n", "\n", " TMIN TOBS WESD WT01 WT03 WT04 WT05 WT06 WT08 WT09 WT11 WT16 \\\n", "0 36.0 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN \n", "1 39.0 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN \n", "2 38.0 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN \n", "\n", " WT18 \n", "0 NaN \n", "1 NaN \n", "2 NaN " ] }, "execution_count": 85, "metadata": {}, "output_type": "execute_result" } ], "source": [ "df = pd.read_csv('2239075.csv', parse_dates=[2])\n", "df.head(3)" ] }, { "cell_type": "markdown", "metadata": { "tags": [ "hide-cell" ] }, "source": [ "Again, I'll create a column that contains the year part of the dates." ] }, { "cell_type": "code", "execution_count": 86, "metadata": { "execution": { "iopub.execute_input": "2021-04-16T19:40:09.605621Z", "iopub.status.busy": "2021-04-16T19:40:09.604420Z", "iopub.status.idle": "2021-04-16T19:40:09.610189Z", "shell.execute_reply": "2021-04-16T19:40:09.610858Z" }, "tags": [ "hide-cell" ] }, "outputs": [], "source": [ "df['YEAR'] = df['DATE'].dt.year" ] }, { "cell_type": "markdown", "metadata": { "tags": [ "hide-cell" ] }, "source": [ "This dataset includes `TMIN` and `TMAX`, which are the daily low and high temperatures in degrees F.\n", "I'll create a new column with the daily midpoint of the low and high temperatures." ] }, { "cell_type": "code", "execution_count": 87, "metadata": { "execution": { "iopub.execute_input": "2021-04-16T19:40:09.620934Z", "iopub.status.busy": "2021-04-16T19:40:09.620132Z", "iopub.status.idle": "2021-04-16T19:40:09.624087Z", "shell.execute_reply": "2021-04-16T19:40:09.625038Z" }, "tags": [ "hide-cell" ] }, "outputs": [], "source": [ "df['TMID'] = (df['TMIN'] + df['TMAX']) / 2" ] }, { "cell_type": "markdown", "metadata": { "tags": [ "hide-cell" ] }, "source": [ "Now we can group by year and compute the mean of these daily temperatures." ] }, { "cell_type": "code", "execution_count": 88, "metadata": { "execution": { "iopub.execute_input": "2021-04-16T19:40:09.634750Z", "iopub.status.busy": "2021-04-16T19:40:09.632057Z", "iopub.status.idle": "2021-04-16T19:40:09.638953Z", "shell.execute_reply": "2021-04-16T19:40:09.639856Z" }, "tags": [ "hide-cell" ] }, "outputs": [ { "data": { "text/plain": [ "54" ] }, "execution_count": 88, "metadata": {}, "output_type": "execute_result" } ], "source": [ "tmid = df.groupby('YEAR')['TMID'].mean()\n", "len(tmid)" ] }, { "cell_type": "markdown", "metadata": { "tags": [ "hide-cell" ] }, "source": [ "Again, I'll drop the first and last years, which are incomplete." ] }, { "cell_type": "code", "execution_count": 89, "metadata": { "execution": { "iopub.execute_input": "2021-04-16T19:40:09.646871Z", "iopub.status.busy": "2021-04-16T19:40:09.642980Z", "iopub.status.idle": "2021-04-16T19:40:09.653320Z", "shell.execute_reply": "2021-04-16T19:40:09.654470Z" }, "tags": [ "hide-cell" ] }, "outputs": [ { "data": { "text/plain": [ "52" ] }, "execution_count": 89, "metadata": {}, "output_type": "execute_result" } ], "source": [ "complete = tmid.iloc[1:-1]\n", "len(complete)" ] }, { "cell_type": "markdown", "metadata": { "tags": [ "hide-cell" ] }, "source": [ "Here's what the time series looks like." ] }, { "cell_type": "code", "execution_count": 90, "metadata": { "execution": { "iopub.execute_input": "2021-04-16T19:40:09.672386Z", "iopub.status.busy": "2021-04-16T19:40:09.671591Z", "iopub.status.idle": "2021-04-16T19:40:09.886776Z", "shell.execute_reply": "2021-04-16T19:40:09.887123Z" }, "tags": [ "hide-cell" ] }, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "complete.plot(ls='', marker='o', alpha=0.5)\n", "\n", "decorate(xlabel='Year',\n", " ylabel='Annual average of daily temperature (deg F)')" ] }, { "cell_type": "markdown", "metadata": { "tags": [ "hide-cell" ] }, "source": [ "As we did with the snow data, I'll convert the `Series` to a `DataFrame` to prepare it for regression." ] }, { "cell_type": "code", "execution_count": 91, "metadata": { "execution": { "iopub.execute_input": "2021-04-16T19:40:09.899059Z", "iopub.status.busy": "2021-04-16T19:40:09.898484Z", "iopub.status.idle": "2021-04-16T19:40:09.901665Z", "shell.execute_reply": "2021-04-16T19:40:09.902018Z" }, "tags": [ "hide-cell" ] }, "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", "
YEARTMID
0196848.071038
1196948.687671
2197048.258904
3197148.804110
4197247.112022
\n", "
" ], "text/plain": [ " YEAR TMID\n", "0 1968 48.071038\n", "1 1969 48.687671\n", "2 1970 48.258904\n", "3 1971 48.804110\n", "4 1972 47.112022" ] }, "execution_count": 91, "metadata": {}, "output_type": "execute_result" } ], "source": [ "data = complete.reset_index()\n", "data.head()" ] }, { "cell_type": "code", "execution_count": 92, "metadata": { "execution": { "iopub.execute_input": "2021-04-16T19:40:09.907118Z", "iopub.status.busy": "2021-04-16T19:40:09.906333Z", "iopub.status.idle": "2021-04-16T19:40:09.910678Z", "shell.execute_reply": "2021-04-16T19:40:09.910015Z" }, "tags": [ "hide-cell" ] }, "outputs": [ { "data": { "text/plain": [ "1994" ] }, "execution_count": 92, "metadata": {}, "output_type": "execute_result" } ], "source": [ "offset = round(data['YEAR'].mean())\n", "offset" ] }, { "cell_type": "code", "execution_count": 93, "metadata": { "execution": { "iopub.execute_input": "2021-04-16T19:40:09.918655Z", "iopub.status.busy": "2021-04-16T19:40:09.917835Z", "iopub.status.idle": "2021-04-16T19:40:09.922722Z", "shell.execute_reply": "2021-04-16T19:40:09.921649Z" }, "tags": [ "hide-cell" ] }, "outputs": [ { "data": { "text/plain": [ "-0.5" ] }, "execution_count": 93, "metadata": {}, "output_type": "execute_result" } ], "source": [ "data['x'] = data['YEAR'] - offset\n", "data['x'].mean()" ] }, { "cell_type": "code", "execution_count": 94, "metadata": { "execution": { "iopub.execute_input": "2021-04-16T19:40:09.929320Z", "iopub.status.busy": "2021-04-16T19:40:09.928415Z", "iopub.status.idle": "2021-04-16T19:40:09.935474Z", "shell.execute_reply": "2021-04-16T19:40:09.936590Z" }, "tags": [ "hide-cell" ] }, "outputs": [ { "data": { "text/plain": [ "1.2389114009625752" ] }, "execution_count": 94, "metadata": {}, "output_type": "execute_result" } ], "source": [ "data['y'] = data['TMID']\n", "data['y'].std()" ] }, { "cell_type": "markdown", "metadata": { "tags": [ "hide-cell" ] }, "source": [ "Now we can use StatsModels to estimate the parameters." ] }, { "cell_type": "code", "execution_count": 95, "metadata": { "execution": { "iopub.execute_input": "2021-04-16T19:40:09.950115Z", "iopub.status.busy": "2021-04-16T19:40:09.948247Z", "iopub.status.idle": "2021-04-16T19:40:09.955668Z", "shell.execute_reply": "2021-04-16T19:40:09.954729Z" }, "tags": [ "hide-cell" ] }, "outputs": [ { "data": { "text/plain": [ "Intercept 49.430172\n", "x 0.044252\n", "dtype: float64" ] }, "execution_count": 95, "metadata": {}, "output_type": "execute_result" } ], "source": [ "import statsmodels.formula.api as smf\n", "\n", "formula = 'y ~ x'\n", "results = smf.ols(formula, data=data).fit()\n", "results.params" ] }, { "cell_type": "markdown", "metadata": { "tags": [ "hide-cell" ] }, "source": [ "And compute the standard deviation of the parameters." ] }, { "cell_type": "code", "execution_count": 96, "metadata": { "execution": { "iopub.execute_input": "2021-04-16T19:40:09.961504Z", "iopub.status.busy": "2021-04-16T19:40:09.960803Z", "iopub.status.idle": "2021-04-16T19:40:09.965281Z", "shell.execute_reply": "2021-04-16T19:40:09.964756Z" }, "tags": [ "hide-cell" ] }, "outputs": [ { "data": { "text/plain": [ "1.041705765390206" ] }, "execution_count": 96, "metadata": {}, "output_type": "execute_result" } ], "source": [ "results.resid.std()" ] }, { "cell_type": "markdown", "metadata": { "tags": [ "hide-cell" ] }, "source": [ "According to the least squares regression model, annual average temperature is increasing by about 0.044 degrees F per year.\n", "\n", "To quantify the uncertainty of these parameters and generate predictions for the future, we can use Bayesian regression." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "1. Use StatsModels to generate point estimates for the regression parameters.\n", "\n", "2. Choose priors for `slope`, `intercept`, and `sigma` based on these estimates, and use `make_joint3` to make a joint prior distribution.\n", "\n", "3. Compute the likelihood of the data and compute the posterior distribution of the parameters.\n", "\n", "4. Extract the posterior distribution of `slope`. How confident are we that temperature is increasing?\n", "\n", "5. Draw a sample of parameters from the posterior distribution and use it to generate predictions up to 2067.\n", "\n", "6. Plot the median of the predictions and a 90% credible interval along with the observed data. \n", "\n", "Does the model fit the data well? How much do we expect annual average temperatures to increase over my (expected) lifetime?" ] }, { "cell_type": "code", "execution_count": 97, "metadata": { "execution": { "iopub.execute_input": "2021-04-16T19:40:09.973077Z", "iopub.status.busy": "2021-04-16T19:40:09.972198Z", "iopub.status.idle": "2021-04-16T19:40:09.976051Z", "shell.execute_reply": "2021-04-16T19:40:09.976805Z" }, "tags": [ "hide-cell" ] }, "outputs": [], "source": [ "# Solution\n", "\n", "qs = np.linspace(0, 0.1, num=51)\n", "prior_slope = make_uniform(qs, 'Slope')" ] }, { "cell_type": "code", "execution_count": 98, "metadata": { "execution": { "iopub.execute_input": "2021-04-16T19:40:09.983354Z", "iopub.status.busy": "2021-04-16T19:40:09.982599Z", "iopub.status.idle": "2021-04-16T19:40:09.987585Z", "shell.execute_reply": "2021-04-16T19:40:09.986707Z" }, "tags": [ "hide-cell" ] }, "outputs": [], "source": [ "# Solution\n", "\n", "qs = np.linspace(48, 52, num=41)\n", "prior_inter = make_uniform(qs, 'Intercept')" ] }, { "cell_type": "code", "execution_count": 99, "metadata": { "execution": { "iopub.execute_input": "2021-04-16T19:40:09.994924Z", "iopub.status.busy": "2021-04-16T19:40:09.993916Z", "iopub.status.idle": "2021-04-16T19:40:09.997161Z", "shell.execute_reply": "2021-04-16T19:40:09.996368Z" }, "tags": [ "hide-cell" ] }, "outputs": [], "source": [ "# Solution\n", "\n", "qs = np.linspace(0.5, 2, num=31)\n", "prior_sigma = make_uniform(qs, 'Sigma')" ] }, { "cell_type": "code", "execution_count": 100, "metadata": { "execution": { "iopub.execute_input": "2021-04-16T19:40:10.005414Z", "iopub.status.busy": "2021-04-16T19:40:10.003358Z", "iopub.status.idle": "2021-04-16T19:40:10.031755Z", "shell.execute_reply": "2021-04-16T19:40:10.030704Z" }, "tags": [ "hide-cell" ] }, "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", "
probs
SlopeInterceptSigma
0.048.00.500.000015
0.550.000015
0.600.000015
\n", "
" ], "text/plain": [ "Slope Intercept Sigma\n", "0.0 48.0 0.50 0.000015\n", " 0.55 0.000015\n", " 0.60 0.000015\n", "Name: , dtype: float64" ] }, "execution_count": 100, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Solution\n", "\n", "prior = make_joint3(prior_slope, prior_inter, prior_sigma)\n", "prior.head()" ] }, { "cell_type": "code", "execution_count": 101, "metadata": { "execution": { "iopub.execute_input": "2021-04-16T19:40:10.145345Z", "iopub.status.busy": "2021-04-16T19:40:10.038506Z", "iopub.status.idle": "2021-04-16T19:40:51.077178Z", "shell.execute_reply": "2021-04-16T19:40:51.076708Z" }, "tags": [ "hide-cell" ] }, "outputs": [], "source": [ "# Solution\n", "\n", "xs = data['x']\n", "ys = data['y']\n", "likelihood = prior.copy()\n", "\n", "for slope, inter, sigma in prior.index:\n", " expected = slope * xs + inter\n", " resid = ys - expected\n", " densities = norm.pdf(resid, 0, sigma)\n", " likelihood[slope, inter, sigma] = densities.prod()" ] }, { "cell_type": "code", "execution_count": 102, "metadata": { "execution": { "iopub.execute_input": "2021-04-16T19:40:51.080748Z", "iopub.status.busy": "2021-04-16T19:40:51.080082Z", "iopub.status.idle": "2021-04-16T19:40:51.088787Z", "shell.execute_reply": "2021-04-16T19:40:51.088316Z" }, "tags": [ "hide-cell" ] }, "outputs": [ { "data": { "text/plain": [ "6.471589606597477e-36" ] }, "execution_count": 102, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Solution\n", "\n", "posterior = prior * likelihood\n", "posterior.normalize()" ] }, { "cell_type": "code", "execution_count": 103, "metadata": { "execution": { "iopub.execute_input": "2021-04-16T19:40:51.092397Z", "iopub.status.busy": "2021-04-16T19:40:51.091793Z", "iopub.status.idle": "2021-04-16T19:40:51.100270Z", "shell.execute_reply": "2021-04-16T19:40:51.099775Z" }, "tags": [ "hide-cell" ] }, "outputs": [], "source": [ "# Solution\n", "\n", "posterior_slope = posterior.marginal(0)\n", "posterior_inter = posterior.marginal(1)\n", "posterior_sigma = posterior.marginal(2)" ] }, { "cell_type": "code", "execution_count": 104, "metadata": { "execution": { "iopub.execute_input": "2021-04-16T19:40:51.135977Z", "iopub.status.busy": "2021-04-16T19:40:51.118308Z", "iopub.status.idle": "2021-04-16T19:40:51.267312Z", "shell.execute_reply": "2021-04-16T19:40:51.267692Z" }, "tags": [ "hide-cell" ] }, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAagAAAEYCAYAAAAJeGK1AAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjUuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/YYfK9AAAACXBIWXMAAAsTAAALEwEAmpwYAAAu+ElEQVR4nO3deZxcVZn/8c/TW7rT6aSTTichCVlYNSIBzACKsrgg4JJxRkcYN37CMMyIDjo64uiMOqg/HHXG5aeD6KC44gaKEgRFkR2SsIMEQhYSsnSnk05n6b2f3x/3VudWpXqvW/dW5ft+vfrVt+761K3lqXPuueeYuyMiIpI2FUkHICIiko8SlIiIpJISlIiIpJISlIiIpJISlIiIpJISlIiIpJISlEyImb3DzG5LOo5CMLNXmdmaAu3rDjO7eJTrnmlmmyOPnzSzMwsUR9brY2ZuZkcVYt/h/vaa2RGF2t8oj1lnZr82s91m9rM8y//VzL5dzJgkHkpQJcTMNphZZ/ilsN3MvmNmUyawv0+Z2Q8mEpO7/9Ddz57IPtLC3e9y92NTEMdL3P2O4dYxs0VhsqkaYV8Fe33yJV13n+Lu6wqx/zF4KzAbaHL3t+UudPfPuftofxxM+DMQh9G+vuVOCar0vMndpwAnAX8BfCKpQCby4bFAUd9/ZlZZzOMlrYy/3BYCz7h7X9KBlPE5Tgd311+J/AEbgNdGHn8B+E04/WbgSaAduAN4cWS9jwIvAHuANcBrgHOAHqAX2As8Gq47DfhfYGu4zWeAynDZhcA9wH8DO8NlFwJ3R471CmAlsDv8/4rIsjuAz4b76ASOGuI5fgR4DNgXxjIbuCWM//fA9Mj6PwO2hce7E3hJZNl3gf8BVoT7ei1BYn843NfPgJ8AnwnXPxPYnBPLh8NYdofr1obLpgO/AVqBXeH0/JznevEQr2NdGNsu4Knw+eYe97Xh9MnAKqAD2A78Vzj/ecDD124v8PJRvj4OfABYB+wgeA9VhMs+Bfwgsu6icP2q8HXrB7rC4/2/yP6Oirx3vheek40EP54y+74QuBv4Yvi81wPnDvNef3F4DtsJ3tdvDud/muz37UV5th18HpHn8J7wnO0APh4uK9RnoA74Uvicd4fPsy5c/1Tg3vB5PAqcmfMe+b/Ag+F2vwJmDPX6Jv39k8h3XtIB6G8ML1b2F9fh4Qf3SuAYgi/g1wHVwL8Aa4Ea4FhgEzA33G4RcGQ4nfWFFM77JfBNoB6YFX54/j5cdiHQB7yf4EurjsgXIDAj/PJ5V7j8gvBxU7j8jvCD95JwefUQz/F+gqQ0D2gBHgJOBCYBfwA+GVn/vUBDuOzLwCORZd8NP/inEdQWTA2/RP4pPE9/RfAFNVyCehCYGz63PwOXhsuagL8GJofH/xnwy8i2dzB0groKuCvc5+HAE3mOm3md7wPeFU5PAU6NvI4OVEW2G/b1Cddx4I/hsRcAz2TiZJgENdRzIjtBfY/gS7Yh3PYZwgQSxtEL/B1QCfwDsAWwPOenmuD9+68E7+FXE/ygOHao923O9oPLI8/hW+H5WAp0E/6Ay7cvxv4Z+Hp4buaFz+0VBO/HeUAbcB7B++914ePmyPl8ATguPNYv8sRdNdTzPBT+VMVXen5pZu0Ev9L+BHwOeDtws7v/zt17CX6l1hF8UPoJPixLzKza3Te4+3P5dmxms4FzgcvdfZ+7txD8Ujw/stoWd/+au/e5e2fOLt4APOvu3w+X/xh4GnhTZJ3vuvuT4fLeIZ7j19x9u7u/QPBF/oC7P+zu3cCNBMkKAHe/1t33hMs+BSw1s2mRff3K3e9x9wHgBIIvla+6e6+730Dw5TOcr7r7FnffCfw63Afu3ubuv3D3/e6+h6CEccYI+8r4G+Cz7r7T3TcBXx1m3V7gKDOb6e573f3+EfY93OuT8fnw2M8TJPULRhn3kMLq07cDHwtfjw0EpYp3RVbb6O7fcvd+4DrgMIIfIrlOJUjGV7l7j7v/gaCEOpE4P+3une7+KEFJZukQz2NMnwGCZPde4J/c/QV373f3e8P34zuBFe6+wt0H3P13BKXh8yL7+r67P+Hu+4B/A/7mUKuKHo4SVOn5S3dvdPeF7v6P4ZfQXIKSAQDhl/EmYJ67rwUuJ/jybjGz681s7hD7Xkjw63WrmbWHifCbBL8iMzYNE1tWHKGNBL8kR7N9xvbIdGeex1Mg+FI0s6vM7Dkz6yAoeQDMHOJ4c4EX3N2HWJ7Ptsj0/sixJ5vZN81sY3jsO4HGUX65zM05bu45i7qIoIT8tJmtNLM3jrDv0Zzf3GMP9X4Yi5kEpZ3oc8l97QfPpbvvDyfzNfKZC2wK38dD7Wus8r6OeYz1MzATqAXy/ehbCLwts59wX68kSMz59rUxPHb0/XtIU4IqD1sIPgxA0ACBoOroBQB3/5G7vzJcx4HPh6vmdmW/ieAX4cwwCTa6+1R3f0lkneG6v8+KI7QgE8coth+rvwWWE1xbmkZQLQJgQxxvKzAvPD8Zh4/z2P9MUH16irtPBU7Pc+yhbM057oKhVnT3Z939AoIvyM8DPzezeoY+j6M5v7nH3hJO7yOossyYM4Z97yAo7UVf/9zXfrS2AIfnNKIZ775GMtHPwA6C63JH5tn3JoISUmPkr97dr4qsk/ta9Ib7LOTnpGQpQZWHnwJvMLPXmFk1wZdnN3CvmR1rZq82s0kEH6ROgmo/CEomizJfBO6+FbgN+JKZTTWzCjM70sxGW3W1AjjGzP7WzKrM7O3AEoLqmTg0EDzPNoIv1s+NsP59BM/9sjC+5QSNEMZ77E6g3cxmAJ8cw7Y/BT5mZtPNbD7B9Yy8zOydZtYclibaw9n9BA0RBoDx3IP0kfDYhxNcj/tJOP8R4HQzWxBWk34sZ7vtQx0vrLb7KfBZM2sws4XAh4DxNOF+gCBZ/ouZVYf3hL0JuH4c+xrJhD4D4etyLfBfZjY3LNW/PPy8/QB4k5m9PpxfG97zNj+yi3ea2RIzmwz8B/Dz8FxO5PUtG0pQZcDd1xDUd3+N4NfXmwiao/cQXH+6Kpy/jeCX+L+Gm2Zucmwzs4fC6XcTVNU8RdDA4edkV0kMF0cb8EaCBNlG0Fjjje6+YyLPbxjfI6gWeYEg3mGvz4Tn468Iqs3aCc7ZbwiS3Fh9meA6347wuL8dw7afJoh7PcGX4feHWfcc4Ekz2wt8BTjf3bvCKrLPAveE1UenjuH4vwJWEySkmwlarBFeI/kJQavF1Rz8w+IrwFvNbJeZ5btu9n6CxLKO4Brpjwi+vMckfJ3eTHAtaAfwDeDd7v70WPc1CoX4DHwYeJyg1epOgpJuRXh9cTnB562VoET1EbK/d79P0JhnG0FV4QdgsAp0vK9v2bDs6niRQ4uZPQBc7e7fSToWObSY2R0ErfbU68UQVIKSQ4qZnWFmc8IqvvcAxzO20o+IFInugpZDzbEE10qmELS8emt43UFEUkZVfCIikkqq4hMRkVQqqyq+mTNn+qJFi5IOQ0RExmD16tU73L05d35ZJahFixaxatWqpMMQEZExMLO8vamoik9ERFJJCUpERFJJCUpERFJJCUpERFJJCUpERFJJCUpERFJJCUrKVk9vP339AyOvKCKppAQlZWlr217+/ksrePdnb2Lt5p1JhyMi46AEJWXprseep2NfN929fVx36+NJhyMi46AEJWVp2859g9NPbWjl6Y1xjZkoInFRgpKytG3n3qzHN9y5JqFIRGS8lKCkLLXs2p/1ePUzW9m4bXdC0YjIeChBSdnp7ulj157Og+bfcNfTCUQjIuOlBCVlZ3v7gdJTTXXl4PQ9j20+qOpPRNJLCUrKzvZIEnrRgiZeesQsABznV3c/k1RYIjJGsSYoMzvHzNaY2VozuyLP8neY2WPh371mtjSybIOZPW5mj5iZBnmSUYu24Js9fQp/dfqLBh//4aGN7NrTlURYIjJGsSUoM6sEvg6cCywBLjCzJTmrrQfOcPfjgSuBa3KWn+XuJ7j7srjilPLTsutAgpozo56XHtHMkfOmA9DX38/N9z2bVGgiMgZxlqBOBta6+zp37wGuB5ZHV3D3e919V/jwfmB+jPHIIWJ7tAQ1ox4zyypF3fLAc+zr7EkiNBEZgzgT1DxgU+Tx5nDeUC4Cbok8duA2M1ttZpfEEJ+UqWhDiDkzpgBwyovnMm9mAwBdPX3c8uBzicQmIqMXZ4KyPPM874pmZxEkqI9GZp/m7icRVBG+z8xOH2LbS8xslZmtam1tnWjMUuLcne2Re6BmNU4GwMx4y6uOHZx/831r6e7pK3p8IjJ6cSaozcDhkcfzgS25K5nZ8cC3geXu3paZ7+5bwv8twI0EVYYHcfdr3H2Zuy9rbm4uYPhSito6Ounr7wdgSl0N9XU1g8tetXQBTVPrAOjY183tD21IIkQRGaU4E9RK4GgzW2xmNcD5wE3RFcxsAXAD8C53fyYyv97MGjLTwNnAEzHGKmUiev0pU72XUVVZwfJXHihF/eruZzQch0iKxZag3L0PuAy4Ffgz8FN3f9LMLjWzS8PV/h1oAr6R05x8NnC3mT0KPAjc7O6/jStWKR/RFnyzZ9QftPy1L1tEw+RJAOzYvZ+7H9t00Doikg5Vce7c3VcAK3LmXR2Zvhi4OM9264ClufNFRhK9B2rO9IMT1KSaKs479Uh+8oenALjxrjWcccICzPJdMhWRJKknCSkr23YdaMGXrwQFcN6pRzGpOvhttrm1g5VPby1KbCIyNkpQUlay74GaknedKXU1vP7kIwYf//pe3bgrkkZKUFJWtkevQeWp4ss495QjB6c3bGuPMyQRGSclKCkbnd29dOzrBqCysmKwSXk+zY2TqawM3v77u3rp0j1RIqmjBCVlI6t6r7GeioqhGz6YGU0NBxJYW8fB40eJSLKUoKRsbBuhiXmuGZESVttuJSiRtFGCkrKRVYIa5vpTRtO0Awlqp0pQIqmjBCVlY/sYS1DRa1Q7OvYPs6aIJEEJSsrG9jy9mA8nWsW3s0ODGIqkjRKUlI3RNjHPaJqqKj6RNFOCkrIwMOC0tB+ophtzFd9uVfGJpI0SlJSFHbv30x/2TD6tvpbampG7mcxuJKEqPpG0UYKSsjDWBhIAjVNqsXBczd37ujT0hkjKKEFJWRhrE3MIxodqbKgdfKzrUCLpogQlZWE8JSiAGVOVoETSSglKysLWtkgT81GWoABmTp08OL1DCUokVZSgpCy0tEcGKmwa+R6ojBlqai6SWkpQUhbGcw0Ksqv41B+fSLooQUnJ29fZw97OHgCqqyqZHmn4MJKZ0w5U8alHc5F0UYKSkpfbg4TZ0MNs5Mqq4tujBCWSJkpQUvK2jrN6D7J7k1AVn0i6KEFJyYt2EjuWJuaQ0x/fni7cvWBxicjEKEFJyWvZdaAfvdH0Yh5VU13JlLoaAAYGBmjf213Q2ERk/JSgpORtm0AJCnJH1lWnsSJpoQQlJW+8Tcwzsq5DqSWfSGooQUlJ6+sfyBoqY6IJauce9WoukhZKUFLSWtv3MxA2bJjeUEdNdeWY9xEddkNVfCLpoQQlJa0lcg/UnHFcfwJV8YmklRKUlLSJNpCA3P74VMUnkhaxJigzO8fM1pjZWjO7Is/yd5jZY+HfvWa2dLTbisDEG0gANGV1d6QqPpG0iC1BmVkl8HXgXGAJcIGZLclZbT1whrsfD1wJXDOGbUWyujka6z1QGU2RvvvaOjp1s65ISsRZgjoZWOvu69y9B7geWB5dwd3vdfdd4cP7gfmj3VYEYFsBSlCTa6uZVF0FQE9vP/u6egsSm4hMTJwJah6wKfJ4czhvKBcBt4x1WzO7xMxWmdmq1tbWCYQrpcbdxz2SbpSZqU8+kRSKM0Hl61I6b92JmZ1FkKA+OtZt3f0ad1/m7suam5vHFaiUpr2dPXR2B6WdSdVVTKufNO59zVBLPpHUqYpx35uBwyOP5wNbclcys+OBbwPnunvbWLaVQ1tW9d6MsQ2zkSt6L5RG1hVJhzhLUCuBo81ssZnVAOcDN0VXMLMFwA3Au9z9mbFsKxJtwTdnnNefMnQvlEj6xFaCcvc+M7sMuBWoBK519yfN7NJw+dXAvwNNwDfCX799YXVd3m3jilVK07ZdE78HKkMJSiR94qziw91XACty5l0dmb4YuHi024pEZd0DNc4m5hnZN+sqQYmkgXqSkJJViJt0M1SCEkkfJSgpWYXo5igju8NYJSiRNFCCkpLU29c/2G+eYcxqnDzCFsObVj+Jysrg47Cvq4funr4JxygiE6MEJSWppX0/Ht4a1zStjuqqsQ+zEWVmzMjp8khEkqUEJSWpkNefMnSzrki6KEFJSSpEF0e5ZjSoJZ9ImihBSUna1la4BhIZM6epBCWSJkpQUpKyhtmYPrF7oDKyxoVSSz6RxClBSUmKpYpPN+uKpIoSlJSkaAKZOW1iTcwzsgYu3KMEJZI0JSgpOT29/ezt7AGgoqKCxinjH2YjSlV8IumiBCUlJ9qAYUZD7YSG2Yia3lCLhUOR7d7bTV//QEH2KyLjowQlJSeaoKJdFE1UVWUF08LSmOPs2tNVsH2LyNgpQUnJadu9f3A6eu9SIWT3ybd/mDVFJG5KUFJy2rIaSBQ2QUUTXptKUCKJUoKSkhNtwBBtGl4ITWpqLpIaSlBScrKvQRWmiXmG7oUSSQ8lKCk5OyP3KEXvXSqEaJXhDjU1F0mUEpSUnGgVX5wlqLYONZIQSZISlJSUvv4Bdu/tBoKBCqcXuASlKj6R9FCCkpKys6NzcKDCxoZaqioL+xbOaiSxpwt3L+j+RWT0lKCkpERLNTOmFrb0BFBbU0V9bQ0A/f0D7N7XXfBjiMjoKEFJSYnem9RU4Jt0M1TNJ5IOSlBSUqK9OxS6gUSGWvKJpIMSlJSU7Jt0C1/FF+xXJSiRNFCCkpLSFsM4ULmUoETSQQlKSkrWUBsF7uYoY2ZkvzuUoEQSowQlJSVaommKKUGpBCWSDkpQUjIGBpyd0VZ8MSWo6H41sq5IcmJNUGZ2jpmtMbO1ZnZFnuUvMrP7zKzbzD6cs2yDmT1uZo+Y2ao445TS0L63i4GBYJTbKXU11FRXxnKcrDGhOjp1s65IQqri2rGZVQJfB14HbAZWmtlN7v5UZLWdwAeAvxxiN2e5+464YpTSsjPGXsyj6murqa6qpLevn+7ePvZ39VJfVxPb8UQkvzhLUCcDa919nbv3ANcDy6MruHuLu68EemOMQ8pEtMHCzJiq9wDMLOteKA1cKJKMOBPUPGBT5PHmcN5oOXCbma02s0uGWsnMLjGzVWa2qrW1dZyhSimIc6DCXE1TD5TQNPS7SDLiTFCWZ95YKvNPc/eTgHOB95nZ6flWcvdr3H2Zuy9rbm4eT5xSInbtif8m3Xz7V0s+kWTEmaA2A4dHHs8Htox2Y3ffEv5vAW4kqDKUQ1i026G4btLNyGrJpwQlkog4E9RK4GgzW2xmNcD5wE2j2dDM6s2sITMNnA08EVukUhLainAP1OD+IwlwZ4euQYkkIbZWfO7eZ2aXAbcClcC17v6kmV0aLr/azOYAq4CpwICZXQ4sAWYCN5pZJsYfuftv44pVSsPOIvQiMbj/yECIGllXJBmxJSgAd18BrMiZd3VkehtB1V+uDmBpnLFJaXH3nCq+uBtJqEdzkaSpJwkpCXs7e+jr7weCQQXrJlXHejx1dySSPCUoKQltRWwgAdA4pZaKiuDjsbezh57e/tiPKSLZhk1QZnZbZPpj8Ycjkt+OmId6z1VRYTnXoVSKEim2kUpQ0RuL3hZnICLDye7FPP4SFGT3ybdDN+uKFN1ICUq9ZEoqRKv4mmJuIJHR3HggEbbs2leUY4rIASO14jvCzG4i6BUiMz3I3d8cW2QiEcW8BypjdmP94HRLu0pQIsU2UoKKdu76xTgDERlO9F6kuO+Bypg1PZKgVIISKbphE5S7/ykzbWbN4Tz1yCpFF+3NIc6ezKOiCWq7EpRI0Y3Uis/M7JNmtgN4GnjGzFrN7N+LE55IINpIIYlrUK27VMUnUmwjNZK4HHgl8Bfu3uTu04FTgNPM7INxBycCsL+rl66ePgCqqyqZUqTBA5sbJ2Nhp/y79nTR26d7oUSKaaQE9W7gAndfn5nh7uuAd4bLRGKX20Ai7KMxdlWVFYOlNcdpVUMJkaIaKUFV5xtyPbwOFW9fMyKhYnYSmyuroYQSlEhRjZSgesa5TKRgkmhinjFruu6FEknKSM3Ml5pZBwdGx83cuGtA/P3NiJDdQCLuXsxzNTeqqblIUkZqZl5ZrEBEhhJtYl7sKr7ZkZZ829WST6Sohk1QZlYLXAocBTxGMOhgXzECE8mI3qRb/Co+laBEkjLSNajrgGXA48B5wJdij0gkR1ukBJVogmpXghIpppGuQS1x95cCmNn/Ag/GH5JItrbdxe/mKKNpah0VFRUMDAzQsa+brp4+amtiHYhaREIjlaB6MxOq2pMk9PT2s7czaDBaUVFB45Tits2pqDCaIw0zdC+USPGMlKCWmllH+LcHOD4zHbbuE4lVtIn5jIZaKiqKc5NulPrkE0mGWvFJqmXdA1XkJuYZaighkoyRSlAiicrqRaIhqQQV6TRWVXwiRaMEJamW1Yt5kRtIZMzWzboiiVCCklSL3qSbhio+XYMSKR4lKEm1tqxxoCYPs2Z8ouNCtag3CZGiUYKSVGvbE2kk0ZBM94/TG2qprgraC+3r6mFfp/pJFikGJShJtewqvmRKUGZG8zQ1lBApNiUoSa2+/gHa9wQJyjCmJ1SCApg9Q9ehRIpNCUpSa9eeLjwc4WXalElUVSb3dtXAhSLFF+sn3szOMbM1ZrbWzK7Is/xFZnafmXWb2YfHsq2Uv+wGEsm04MvIbiihEpRIMcSWoMysEvg6cC6wBLjAzJbkrLYT+ADwxXFsK2WubU/k+lNCN+lmqDcJkeKLswR1MrDW3de5ew9wPbA8uoK7t7j7SiKd0o52Wyl/aWhinhEduFBVfCLFEWeCmgdsijzeHM4r6LZmdomZrTKzVa2treMKVNIpq5ujqck1kICcm3V37sPdE4xG5NAQZ4LK1+30aD/Vo97W3a9x92Xuvqy5uXnUwUn67dgduQcqoW6OMhom1zCpOuhbubu3jz37dS+USNziTFCbgcMjj+cDW4qwrZSJndGbdBOu4jMzXYcSKbI4E9RK4GgzW2xmNcD5wE1F2FbKRFuKSlAAsyO9mm/XdSiR2MU2drW795nZZcCtQCVwrbs/aWaXhsuvNrM5wCpgKjBgZpcTDDPfkW/buGKV9HF3dkZb8aUgQUVLUK0qQYnELrYEBeDuK4AVOfOujkxvI6i+G9W2cuho39vNwMAAAFPqaqipTn7sTN2sK1Jc6klCUinaxHxGCkpPALN0s65IUSlBSSpFh3qfmXAvEhlqJCFSXEpQkkrRBNU0NdkWfBmzcm7W1b1QIvFSgpJUStNNuhn1dTXU19YA0NvXz65IIw4RKTwlKEml7Cq+dJSgILvTWI0LJRIvJShJpbTdA5UxZ4auQ4kUixKUpFJbVhVfehJUVp987UpQInFSgpLUcfecRhLpSVDZ40Kpik8kTkpQkjp7O3vo7esHoLamism11QlHdICamosUjxKUpM6WHXsHp5tT1EACcro7UiMJkVgpQUnqrNvaPji96LDGxOLIJ3ovVOvu/QwM6F4okbgoQUnqrNuya3D6iLmNyQWSR21NFVPrJwHQ3z+QNSSIiBSWEpSkzrot7YPTR8ydnlwgQ5jVmD26rojEQwlKUqW3r5/nWzoGHy+eMy3BaPJTQwmR4lCCklR5fnvH4DAbc2ZMob6uJuGIDhYduFDDbojERwlKUiV6/WlxyhpIZGSPC6USlEhclKAkVaIt+NLWQCIju4pPJSiRuChBSaqkvYEE5PYmoRKUSFyUoCQ1+voH2LBt9+Dj1FbxNU7GMCDo1LavfyDhiETKkxKUpMYLrXvo6w+6OGqaWse08H6jtKmuqmR6QzBGlePs2K1qPpE4KEFJamTfoJvO6r2M5unqNFYkbkpQkhql0EAiY7buhRKJnRKUpEYpNJDIiPYmoQQlEg8lKEkFd2d9tASV0gYSGbMiVXwauFAkHkpQkgpb2vbS3dsHwLT62sFGCGmlYTdE4qcEJamwPqt6rxEzSy6YUdDNuiLxU4KSVHgu2oIv5dV7ADOn1lERJtFdezrp6e1POCKR8qMEJakQbSCxOOUt+AAqKytomlY3+LhV90KJFJwSlCTO3Vm39UAJ6siUt+DL0LhQIvGKNUGZ2TlmtsbM1prZFXmWm5l9NVz+mJmdFFm2wcweN7NHzGxVnHFKslra97O/qxeA+tqarL7u0kzjQonEqyquHZtZJfB14HXAZmClmd3k7k9FVjsXODr8OwX4n/B/xlnuviOuGCUdcod4T3sDiYxoU/OtbXsTjESkPMVZgjoZWOvu69y9B7geWJ6zznLgex64H2g0s8NijElSKKsFXwk0kMiI3kz86HMtCUYiUp7iTFDzgE2Rx5vDeaNdx4HbzGy1mV0y1EHM7BIzW2Vmq1pbWwsQthRbdhdHpXH9CeC4xc1UVgYfoU0tu9VprEiBxZmg8tXT+BjWOc3dTyKoBnyfmZ2e7yDufo27L3P3Zc3NzeOPVhLh7llNzEuhBV9GbU0Vxy068J576JltCUYjUn7iTFCbgcMjj+cDW0a7jrtn/rcANxJUGUqZ2bWni4593QBMqq5ibtOUhCMamxOPmTM4/bASlEhBxZmgVgJHm9liM6sBzgduylnnJuDdYWu+U4Hd7r7VzOrNrAHAzOqBs4EnYoxVEhKt3lt8WOk0kMg4KZKgHn2uRYMXihRQbAnK3fuAy4BbgT8DP3X3J83sUjO7NFxtBbAOWAt8C/jHcP5s4G4zexR4ELjZ3X8bV6ySnNwWfKVmbtOUwaE3unv7+PNGNToVKZTYmpkDuPsKgiQUnXd1ZNqB9+XZbh2wNM7YJB3WlWgLvgwz48Sj5/DbB58DgutQLz1iVsJRiZQH9SQhiSqlUXSHEq3mU0MJkcJRgpLE7N7XTVtHJwDVVZXMb25IOKLxOW5xM1WVlQBsbu1QrxIiBaIEJYmJDlC4cPa0wXuKSs2kmiqOWzxz8PHDz6oUJVIIpfmNIGWh1BtIRJ10zIEOUFTNJ1IYSlCSmFJvIBF14tGzB6cfW9dCb5/GhxKZKCUoScz6Eu3iKJ+5MxuYMyO4ybint5+nNqi5uchEKUFJIvZ19rBtZ9ADeEVFBQtmT004oolTaz6RwlKCkkSs37Z7cHrBrKlUV1UmGE1hnHh0pNsjNZQQmTAlKElEOTWQyDhucfNgon1hxx62q7m5yIQoQUkishpIlPj1p4ya6kqOW3ygd3N1HisyMUpQkoisBhIl3oIvStehRApHCUqKrqunjxda9wBgGAvnTEs4osKJXod6bF0LPb1qbi4yXkpQUnQbtrbj4biU85obqK2Jtc/iojqsaQpzm4Ium3r7+nlyg0Z5FhkvJSgpusfXH/jSLpcGElEnHnPgpl215hMZPyUoKapde7r45V1rBh9HGxWUi2g1n65DiYyfEpQU1fdve5yunj4A5s1s4IwTFiYcUeG9ZNGB5uZb2/aytW1vwhGJlCYlKCmapzfu4E+PbBx8fNEbTqCqRHswH05NdSXHRwYtVDWfyPiU37eDpNLAgPPtmx8ZfHzKi+ex9KjZQ29Q4tTcXGTilKCkKH6/ev3gvU/VVZVceO7xyQYUsxMjCeqJ9a1qbi4yDkpQErs9+7v54e+eGHz8llcdy6zp9QlGFL/Z0+uzmps/sV7NzUXGSglKYvfj259ib2cPAM2Nk3nLq45NOKLiiFbz6TqUyNgpQUmsNmxt57YH1w0+vvDcpdRUl37P5aMRTVC3r97A0xs1RpTIWChBSWzcg4YRmV4jjj9yFqe8eG7CURXPkkUzaW6cDEB3bx//cd3dquoTGQMlKInN3Y9t4s9hqaGiooKL3nACZpZwVMVTXVXJx955GlPrJwFBkvrM9+7m0bXbE45MpDQoQUksOrt7ue7Wxwcfv/HlRzG/ufRHzR2rhbOnceVFZzC9oQ4IGkx87gf3snrN1oQjE0k/JSiJxc/veJpdezoBaJxSy9vOfHHCESVnfvNUrrzoDJqmBkmqr7+fz//4Ph546oWEIxNJNyUoKbhNLR38+r5nBx+/+/UvZXJtdYIRJe+wpil85uIzB69J9fcP8MWfPMA9T2xOODKR9CqfcQ4kUX39Azz0zDbueHgjq57ZSn//AADHLmji9KULEo4uHWZNr+czF5/JJ6+9k2079zIwMMB//+QB+vsHdI5E8lCCkgnZuG03f3hoA3c+9jwd+7qzllWYcfEh1jBiJDOnTebKi87gU9+5kxd27MFxvvrzlWzftY8TjprNwtnTDplm+CIjMXePb+dm5wBfASqBb7v7VTnLLVx+HrAfuNDdHxrNtvksW7bMV61aVdgnIUBwcX9fV2/w19nDs5t38ceHN2QN3R51zOFNnP/qJWXd395EtO/t4lPfuYtNLbuz5hvGvOYGFh02jSMOm86iOdNYfFjjYEtAkXJkZqvdfdlB8+NKUGZWCTwDvA7YDKwELnD3pyLrnAe8nyBBnQJ8xd1PGc22+Yw3QW1q6eD6258c83alIvcldg/uTHJ33GHAHXdnwJ2BgWB+T18/+zp7B5NSX//IfcnNaKjjzBMXcuaJC5k3syGeJ1NGOvZ18+nv3sWGbe0jrju5tpqaqkqqqyqorqykqqpicLo6nDaCkmqmwJopuVo4rYKsxOU1L1ucdWP6WA2VoOKs4jsZWOvu68IArgeWA9Eksxz4ngdZ8n4zazSzw4BFo9i2YDr2dXO/WlSNS1VlJacsmctZJy5k6ZGzqajQt+BoTa2fxGf/7sygl4nn29iwtZ2tbXsHb2yO2t/Vy356E4hSZGTHRYaXKaQ4E9Q8YFPk8WaCUtJI68wb5bYAmNklwCUACxboQnNcKioqqK+tDv7qqpk6eRJ/8aLDOO2lhzOlribp8EpWbU0Vb3j5Ubzh5UcB0NXTx8Ztu1m/tT3429bO89s76O1Tb+hy6IkzQeX7KZ3703CodUazbTDT/RrgGgiq+MYSYMb8WVP557efOp5NU2uk6pwKM8yMigobrALKTFdUGNWVFdTX1QwmpZrqSjV2KILamiqOXdDEsQuaBuf19w+wv7uX3r4Bevr66e0boK9/gN7odP/AYJVtRrQqdzRivBwtZW7xYY2x7DfOBLUZODzyeD6wZZTr1Ixi24KZVj+JVxw3P67di0xIZWUFDZPVSEIOPXHeqLsSONrMFptZDXA+cFPOOjcB77bAqcBud986ym1FRKSMxVaCcvc+M7sMuJWgqfi17v6kmV0aLr8aWEHQgm8tQTPz/zPctnHFKiIi6RPrfVDFpvugRERKz1DNzNUXn4iIpJISlIiIpJISlIiIpJISlIiIpFJZNZIws1Zg4wR2MRPYUaBw4qQ4C6cUYgTFWWilEGcpxAiFiXOhuzfnziyrBDVRZrYqX0uStFGchVMKMYLiLLRSiLMUYoR441QVn4iIpJISlIiIpJISVLZrkg5glBRn4ZRCjKA4C60U4iyFGCHGOHUNSkREUkklKBERSSUlKBERSaVDKkGZWaWZPWxmvwkfn2Bm95vZI2a2ysxOHmK7c8xsjZmtNbMrUhrjBjN7PLNenDEOEedSM7svjOHXZjZ1iO2Kdi4nGGfRzme+Y5nZDDP7nZk9G/6fPsS2RTmfE4wx6XP5NjN70swGzGzI5tBF/pxPJM6kz+cXzOxpM3vMzG40s8Yhtp34+QxG4Tw0/oAPAT8CfhM+vg04N5w+D7gjzzaVwHPAEQQDKT4KLElTjOGyDcDMBM/lSuCMcPq9wJVJn8vxxlns85nvWMB/AleE01cAn0/yfI43xpScyxcDxwJ3AMuG2K7Yn/NxxZmS83k2UBVOfz7O9+YhU4Iys/nAG4BvR2Y7kPkFPY38o/aeDKx193Xu3gNcDyxPWYxFNUScxwJ3htO/A/46z6ZFO5cTjDMNlgPXhdPXAX+ZZ52ins88RhNj4tz9z+6+ZoTVkj6Xo40zce5+m7v3hQ/vJxjxPFdBzuchk6CALwP/AgxE5l0OfMHMNgFfBD6WZ7t5wKbI483hvDh8mfHFCEEiu83MVpvZJTHFl/FlDo7zCeDN4fTbgMPzbFfMcwnjjxOKez7zHWu2B6NLE/6flWe7Yp7P8cY41LZxGe+xiv3enMg5SdP5fC9wS575BTmfh0SCMrM3Ai3uvjpn0T8AH3T3w4EPAv+bb/M88wreNn+CMQKc5u4nAecC7zOz0wsd4whxvjc87mqgAejJt3meebHc5zDBOKFI53OCxyra+WRi50Pn8mAlfz7N7ONAH/DDPNsV5HweEgkKOA14s5ltIChqvtrMfgC8B7ghXOdnBMXSXJvJ/pU9n3iq2SYSI+6+JfzfAtw41HpxxenuT7v72e7+MuDHBPXPuYp1LicaZzHP51DH2m5mhwGE/1vybFq08zmBGNNwLkejmO/NCZ2TNJxPM3sP8EbgHR5edMpRmPNZjAttafoDzuTABfM/A2eG068BVudZvwpYByzmwMW+l6QsxnqgITJ9L3BOkc/lrPB/BfA94L1pOJfjjLNo53OoYwFfILsBwn8mdT4nGGPi5zKy/A6GbiRRtPfmBONM/HyGf08BzcNsW5DzWfAnlfa/nC+rVwKrw5P3APCycP5cYEVkm/OAZwh+bX88bTEStJR5NPx7shgx5onzn8Jz9AxwFQd6KUn0XI4nzmKez6GOBTQBtwPPhv9nJHU+JxJjSs7lWwh+0XcD24Fbk3xvTiTOlJzPtQTXlx4J/66O63yqqyMREUmlQ+UalIiIlBglKBERSSUlKBERSSUlKBERSSUlKBERSSUlKDlkmdm9o1jncjObXIx48hy70cz+cZjldWb2Jwt6bJ9rZj8f53E+ZWYfHn+kg/v5opm9eqL7EclQgpJDlru/YhSrXQ6MKUGZWeW4AjpYIzBkgiLotukGd+939y3u/tYCHXe8vkZww65IQShBySHLzPaG/880szvM7OfhODc/tMAHCG4+/KOZ/TFc92wLxpN6yMx+ZmZTwvkbzOzfzexu4G3hWDgPmdmjZnZ7uE69mV1rZistGKNqeTj/QjP7lZn9Nhw/55NhiFcBR4Zj8Xwhz1N4B/CrcB+LzOyJyP5uCPf3rJn9Z+Q5HxRXaEl4DtaFzzuz/jvN7MEwhm+GpbVKM/uumT1hwVhBHwRw941Ak5nNmfCLI0LQHYWIwInASwj6C7uHoJPMr5rZh4Cz3H2Hmc0EPgG81t33mdlHCcab+o9wH13u/kozawYeAk539/VmNiNc/nHgD+7+XgsGeXvQzH4fLjsZOA7YD6w0s5sJSiPHufsJucGaWQ1whLtvGOL5nBA+p25gjZl9DegCvpUnLoAXAWcRdKC7xsz+BzgKeHt4LnrN7BsESfFJYJ67HxfG0hjZz0ME/SD+Yoi4REZNCUok8KC7bwYws0eARcDdOeucCiwB7jEzCPoYuy+y/CeR9e509/UA7r4znH82QQe2mes9tcCCcPp37t4WHv8Ggi6ufjlMvDOB9mGW3+7uu8P9PQUsBKYPERfAze7eDXSbWQswm6Dvx5cRJEyAOoIOYX8NHBEmvZsJBtXMaCEodYpMmBKUSKA7Mt1P/s+GESSSC4bYx77Ievn6EDPgrz1nUDozOyXP+iP1QdZJkOCGku/5DBXXcOtf5+4HjUFmZkuB1wPvA/6G4HoYYUydI8QuMiq6BiUyvD0E1V4QjB56mpkdBWBmk83smDzb3AecYWaLw/UyVWm3Au+3sDhiZidGtnmdmc0wszqCkWnvyTl2FnffBVSa2XBJarRxDeV24K1mNiuzvpktDKs6K9z9F8C/ASdFtjmGYFBIkQlTCUpkeNcAt5jZVnc/y8wuBH5sZpPC5Z8g6LF5kLu3WjD66A1mVkFQ7fU64EqCUX4fC5PUBoIxdSCoTvw+wXWfH7n7KgAzuyds/HCLu38kJ7bbCKoCf88oDBPXUOs/ZWafIBhRtQLoJSgxdQLfCedBOMqzmVWH8a8aTTwiI1Fv5iIJC5PeMne/bIzbnQh8yN3fFUtgY2RmbwFOcvd/SzoWKQ+q4hMpUe7+MEET+ELddzVRVcCXkg5CyodKUCIikkoqQYmISCopQYmISCopQYmISCopQYmISCopQYmISCr9f1IXCi0P3SzsAAAAAElFTkSuQmCC\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "# Solution\n", "\n", "posterior_inter.plot()\n", "decorate(xlabel='intercept (inches)',\n", " ylabel='PDF',\n", " title='Posterior marginal distribution of intercept')" ] }, { "cell_type": "code", "execution_count": 105, "metadata": { "execution": { "iopub.execute_input": "2021-04-16T19:40:51.272380Z", "iopub.status.busy": "2021-04-16T19:40:51.271814Z", "iopub.status.idle": "2021-04-16T19:40:51.274600Z", "shell.execute_reply": "2021-04-16T19:40:51.274242Z" }, "tags": [ "hide-cell" ] }, "outputs": [ { "data": { "text/plain": [ "(49.430172755332116, array([49.2, 49.7]))" ] }, "execution_count": 105, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Solution\n", "\n", "posterior_inter.mean(), posterior_inter.credible_interval(0.9)" ] }, { "cell_type": "code", "execution_count": 106, "metadata": { "execution": { "iopub.execute_input": "2021-04-16T19:40:51.306721Z", "iopub.status.busy": "2021-04-16T19:40:51.295008Z", "iopub.status.idle": "2021-04-16T19:40:51.412801Z", "shell.execute_reply": "2021-04-16T19:40:51.413372Z" }, "tags": [ "hide-cell" ] }, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "# Solution\n", "\n", "posterior_slope.plot()\n", "decorate(xlabel='Slope (inches per year)',\n", " ylabel='PDF',\n", " title='Posterior marginal distribution of slope')" ] }, { "cell_type": "code", "execution_count": 107, "metadata": { "execution": { "iopub.execute_input": "2021-04-16T19:40:51.417909Z", "iopub.status.busy": "2021-04-16T19:40:51.417437Z", "iopub.status.idle": "2021-04-16T19:40:51.422135Z", "shell.execute_reply": "2021-04-16T19:40:51.421776Z" }, "tags": [ "hide-cell" ] }, "outputs": [ { "data": { "text/plain": [ "(0.04425308067803314, array([0.028, 0.06 ]))" ] }, "execution_count": 107, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Solution\n", "\n", "posterior_slope.mean(), posterior_slope.credible_interval(0.9)" ] }, { "cell_type": "code", "execution_count": 108, "metadata": { "execution": { "iopub.execute_input": "2021-04-16T19:40:51.428829Z", "iopub.status.busy": "2021-04-16T19:40:51.426223Z", "iopub.status.idle": "2021-04-16T19:40:51.498420Z", "shell.execute_reply": "2021-04-16T19:40:51.498841Z" }, "tags": [ "hide-cell" ] }, "outputs": [ { "data": { "text/plain": [ "(101, 50)" ] }, "execution_count": 108, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Solution\n", "\n", "sample = posterior.choice(101)\n", "\n", "years = np.arange(1967, 2067, 2)\n", "xs = years - offset\n", "\n", "pred = np.empty((len(sample), len(xs)))\n", "for i, (slope, inter, sigma) in enumerate(sample):\n", " pred[i] = inter + slope * xs + norm(0, sigma).rvs(len(xs))\n", " \n", "pred.shape" ] }, { "cell_type": "code", "execution_count": 109, "metadata": { "execution": { "iopub.execute_input": "2021-04-16T19:40:51.502786Z", "iopub.status.busy": "2021-04-16T19:40:51.502071Z", "iopub.status.idle": "2021-04-16T19:40:51.505269Z", "shell.execute_reply": "2021-04-16T19:40:51.505614Z" }, "tags": [ "hide-cell" ] }, "outputs": [ { "data": { "text/plain": [ "(50,)" ] }, "execution_count": 109, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Solution\n", "\n", "low, median, high = np.percentile(pred, [5, 50, 95], axis=0)\n", "median.shape" ] }, { "cell_type": "code", "execution_count": 110, "metadata": { "execution": { "iopub.execute_input": "2021-04-16T19:40:51.522757Z", "iopub.status.busy": "2021-04-16T19:40:51.520923Z", "iopub.status.idle": "2021-04-16T19:40:51.650753Z", "shell.execute_reply": "2021-04-16T19:40:51.651267Z" }, "tags": [ "hide-cell" ] }, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "# Solution\n", "\n", "plt.fill_between(years, low, high, alpha=0.1)\n", "plt.plot(years, median, color='C0')\n", "\n", "complete.plot(ls='', marker='o', alpha=0.5)\n", "\n", "decorate(xlabel='Year',\n", " ylabel='Annual average of daily temperature (deg F)')" ] }, { "cell_type": "code", "execution_count": 111, "metadata": { "execution": { "iopub.execute_input": "2021-04-16T19:40:51.654627Z", "iopub.status.busy": "2021-04-16T19:40:51.654214Z", "iopub.status.idle": "2021-04-16T19:40:51.658356Z", "shell.execute_reply": "2021-04-16T19:40:51.658836Z" }, "tags": [ "hide-cell" ] }, "outputs": [ { "data": { "text/plain": [ "4.264154393858554" ] }, "execution_count": 111, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Solution\n", "\n", "# median increase over my lifetime in degrees F\n", "\n", "median[-1] - median[0]" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] } ], "metadata": { "celltoolbar": "Tags", "kernelspec": { "display_name": "Python 3 (ipykernel)", "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.10.12" } }, "nbformat": 4, "nbformat_minor": 1 }