{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 1,
   "id": "28214c2b",
   "metadata": {},
   "outputs": [],
   "source": [
    "import pandas as pd\n",
    "import numpy as np\n",
    "import matplotlib.pyplot as plt"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "id": "78c95477",
   "metadata": {},
   "outputs": [],
   "source": [
    "#1 :True"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "c254acb8",
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "id": "4aa987ec",
   "metadata": {},
   "outputs": [],
   "source": [
    "#2"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "id": "f5dc24d7",
   "metadata": {},
   "outputs": [],
   "source": [
    "tf = pd.read_excel(r\"C:\\Users\\Max\\Downloads\\topfirm_id.xlsx\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "id": "b8ffab99",
   "metadata": {},
   "outputs": [],
   "source": [
    "cc = pd.read_excel(r\"C:\\Users\\Max\\Downloads\\compuannual_clean.xlsx\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "id": "7bd0a541",
   "metadata": {},
   "outputs": [],
   "source": [
    "cc['datadate'] = pd.to_datetime(cc.datadate)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "79669495",
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "id": "2062c795",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>fyear</th>\n",
       "      <th>conm</th>\n",
       "      <th>cusip6</th>\n",
       "      <th>at</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>1990</td>\n",
       "      <td>GENERAL MOTORS CO</td>\n",
       "      <td>37045V</td>\n",
       "      <td>180236.5</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>1990</td>\n",
       "      <td>FORD MOTOR CO</td>\n",
       "      <td>345370</td>\n",
       "      <td>173662.7</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>1990</td>\n",
       "      <td>GENERAL ELECTRIC CO</td>\n",
       "      <td>369604</td>\n",
       "      <td>153884.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>1990</td>\n",
       "      <td>AMERICAN EXPRESS CO</td>\n",
       "      <td>025816</td>\n",
       "      <td>137682.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>1990</td>\n",
       "      <td>FEDERAL NATIONAL MORTGA ASSN</td>\n",
       "      <td>313586</td>\n",
       "      <td>133113.0</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "   fyear                          conm  cusip6        at\n",
       "0   1990             GENERAL MOTORS CO  37045V  180236.5\n",
       "1   1990                 FORD MOTOR CO  345370  173662.7\n",
       "2   1990           GENERAL ELECTRIC CO  369604  153884.0\n",
       "3   1990           AMERICAN EXPRESS CO  025816  137682.0\n",
       "4   1990  FEDERAL NATIONAL MORTGA ASSN  313586  133113.0"
      ]
     },
     "execution_count": 7,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "tf.head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "id": "e97d0c9f",
   "metadata": {},
   "outputs": [],
   "source": [
    "top5 = tf.sort_values(by=['at']).tail(5)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "id": "cf116668",
   "metadata": {},
   "outputs": [],
   "source": [
    "#2a"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "id": "6d3e46ad",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Hence top 5 companies by asset size are :\n",
      "\n"
     ]
    },
    {
     "data": {
      "text/plain": [
       "4    FEDERAL NATIONAL MORTGA ASSN\n",
       "3             AMERICAN EXPRESS CO\n",
       "2             GENERAL ELECTRIC CO\n",
       "1                   FORD MOTOR CO\n",
       "0               GENERAL MOTORS CO\n",
       "Name: conm, dtype: object"
      ]
     },
     "execution_count": 10,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "print('Hence top 5 companies by asset size are :\\n')\n",
    "top5.conm"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "id": "7d431e7f",
   "metadata": {},
   "outputs": [],
   "source": [
    "#2b"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "6b408b5c",
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "id": "e6005e94",
   "metadata": {},
   "outputs": [],
   "source": [
    "result = cc[cc.cusip6.isin(tf.cusip6)]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "f697e94b",
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "id": "70964afe",
   "metadata": {},
   "outputs": [],
   "source": [
    "#2c"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "id": "67d8b0e7",
   "metadata": {},
   "outputs": [],
   "source": [
    "result = result.sort_values(by = ['cusip6', 'fyear'])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 15,
   "id": "ec0e8b7d",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>gvkey</th>\n",
       "      <th>datadate</th>\n",
       "      <th>fyear</th>\n",
       "      <th>indfmt</th>\n",
       "      <th>consol</th>\n",
       "      <th>popsrc</th>\n",
       "      <th>datafmt</th>\n",
       "      <th>tic</th>\n",
       "      <th>cusip</th>\n",
       "      <th>conm</th>\n",
       "      <th>...</th>\n",
       "      <th>dltt</th>\n",
       "      <th>ebitda</th>\n",
       "      <th>revt</th>\n",
       "      <th>sale</th>\n",
       "      <th>costat</th>\n",
       "      <th>mkvalt</th>\n",
       "      <th>city</th>\n",
       "      <th>loc</th>\n",
       "      <th>sic</th>\n",
       "      <th>cusip6</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>194174</th>\n",
       "      <td>11687</td>\n",
       "      <td>2015-12-31</td>\n",
       "      <td>2015</td>\n",
       "      <td>INDL</td>\n",
       "      <td>C</td>\n",
       "      <td>D</td>\n",
       "      <td>STD</td>\n",
       "      <td>ZION</td>\n",
       "      <td>989701107</td>\n",
       "      <td>ZIONS BANCORPORATION NA</td>\n",
       "      <td>...</td>\n",
       "      <td>728.966</td>\n",
       "      <td>836.908</td>\n",
       "      <td>2210.591</td>\n",
       "      <td>2210.591</td>\n",
       "      <td>A</td>\n",
       "      <td>5580.5841</td>\n",
       "      <td>Salt Lake City</td>\n",
       "      <td>USA</td>\n",
       "      <td>6020</td>\n",
       "      <td>989701</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>199711</th>\n",
       "      <td>11687</td>\n",
       "      <td>2016-12-31</td>\n",
       "      <td>2016</td>\n",
       "      <td>INDL</td>\n",
       "      <td>C</td>\n",
       "      <td>D</td>\n",
       "      <td>STD</td>\n",
       "      <td>ZION</td>\n",
       "      <td>989701107</td>\n",
       "      <td>ZIONS BANCORPORATION NA</td>\n",
       "      <td>...</td>\n",
       "      <td>382.242</td>\n",
       "      <td>1057.701</td>\n",
       "      <td>2469.923</td>\n",
       "      <td>2469.923</td>\n",
       "      <td>A</td>\n",
       "      <td>8740.7784</td>\n",
       "      <td>Salt Lake City</td>\n",
       "      <td>USA</td>\n",
       "      <td>6020</td>\n",
       "      <td>989701</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>205093</th>\n",
       "      <td>11687</td>\n",
       "      <td>2017-12-31</td>\n",
       "      <td>2017</td>\n",
       "      <td>FS</td>\n",
       "      <td>C</td>\n",
       "      <td>D</td>\n",
       "      <td>STD</td>\n",
       "      <td>ZION</td>\n",
       "      <td>989701107</td>\n",
       "      <td>ZIONS BANCORPORATION NA</td>\n",
       "      <td>...</td>\n",
       "      <td>383.000</td>\n",
       "      <td>NaN</td>\n",
       "      <td>2736.000</td>\n",
       "      <td>NaN</td>\n",
       "      <td>A</td>\n",
       "      <td>10040.5516</td>\n",
       "      <td>Salt Lake City</td>\n",
       "      <td>USA</td>\n",
       "      <td>6020</td>\n",
       "      <td>989701</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>210223</th>\n",
       "      <td>11687</td>\n",
       "      <td>2018-12-31</td>\n",
       "      <td>2018</td>\n",
       "      <td>INDL</td>\n",
       "      <td>C</td>\n",
       "      <td>D</td>\n",
       "      <td>STD</td>\n",
       "      <td>ZION</td>\n",
       "      <td>989701107</td>\n",
       "      <td>ZIONS BANCORPORATION NA</td>\n",
       "      <td>...</td>\n",
       "      <td>724.000</td>\n",
       "      <td>1493.000</td>\n",
       "      <td>3033.000</td>\n",
       "      <td>3033.000</td>\n",
       "      <td>A</td>\n",
       "      <td>7640.9500</td>\n",
       "      <td>Salt Lake City</td>\n",
       "      <td>USA</td>\n",
       "      <td>6020</td>\n",
       "      <td>989701</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>215040</th>\n",
       "      <td>11687</td>\n",
       "      <td>2019-12-31</td>\n",
       "      <td>2019</td>\n",
       "      <td>FS</td>\n",
       "      <td>C</td>\n",
       "      <td>D</td>\n",
       "      <td>STD</td>\n",
       "      <td>ZION</td>\n",
       "      <td>989701107</td>\n",
       "      <td>ZIONS BANCORPORATION NA</td>\n",
       "      <td>...</td>\n",
       "      <td>1969.000</td>\n",
       "      <td>NaN</td>\n",
       "      <td>3245.000</td>\n",
       "      <td>NaN</td>\n",
       "      <td>A</td>\n",
       "      <td>8569.7594</td>\n",
       "      <td>Salt Lake City</td>\n",
       "      <td>USA</td>\n",
       "      <td>6020</td>\n",
       "      <td>989701</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>5 rows × 25 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "        gvkey   datadate  fyear indfmt consol popsrc datafmt   tic      cusip  \\\n",
       "194174  11687 2015-12-31   2015   INDL      C      D     STD  ZION  989701107   \n",
       "199711  11687 2016-12-31   2016   INDL      C      D     STD  ZION  989701107   \n",
       "205093  11687 2017-12-31   2017     FS      C      D     STD  ZION  989701107   \n",
       "210223  11687 2018-12-31   2018   INDL      C      D     STD  ZION  989701107   \n",
       "215040  11687 2019-12-31   2019     FS      C      D     STD  ZION  989701107   \n",
       "\n",
       "                           conm  ...      dltt    ebitda      revt      sale  \\\n",
       "194174  ZIONS BANCORPORATION NA  ...   728.966   836.908  2210.591  2210.591   \n",
       "199711  ZIONS BANCORPORATION NA  ...   382.242  1057.701  2469.923  2469.923   \n",
       "205093  ZIONS BANCORPORATION NA  ...   383.000       NaN  2736.000       NaN   \n",
       "210223  ZIONS BANCORPORATION NA  ...   724.000  1493.000  3033.000  3033.000   \n",
       "215040  ZIONS BANCORPORATION NA  ...  1969.000       NaN  3245.000       NaN   \n",
       "\n",
       "        costat      mkvalt            city  loc   sic  cusip6  \n",
       "194174       A   5580.5841  Salt Lake City  USA  6020  989701  \n",
       "199711       A   8740.7784  Salt Lake City  USA  6020  989701  \n",
       "205093       A  10040.5516  Salt Lake City  USA  6020  989701  \n",
       "210223       A   7640.9500  Salt Lake City  USA  6020  989701  \n",
       "215040       A   8569.7594  Salt Lake City  USA  6020  989701  \n",
       "\n",
       "[5 rows x 25 columns]"
      ]
     },
     "execution_count": 15,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "result.tail()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "d4b2c5fd",
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": 16,
   "id": "9ae6da6b",
   "metadata": {},
   "outputs": [],
   "source": [
    "res = result.copy()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 17,
   "id": "c3a0ff35",
   "metadata": {},
   "outputs": [],
   "source": [
    "res['prev_value'] = res.groupby('cusip6')['ebitda'].shift()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 18,
   "id": "c5de74ed",
   "metadata": {},
   "outputs": [],
   "source": [
    "res['profit gains'] = (res['ebitda']-res['prev_value'])/res['prev_value']"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 19,
   "id": "3542f3fb",
   "metadata": {
    "scrolled": true
   },
   "outputs": [],
   "source": [
    "df = res.copy()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 20,
   "id": "d254b420",
   "metadata": {},
   "outputs": [],
   "source": [
    "df['year'] = df['datadate'].dt.year"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 21,
   "id": "fa4c4d78",
   "metadata": {
    "scrolled": true
   },
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>gvkey</th>\n",
       "      <th>datadate</th>\n",
       "      <th>fyear</th>\n",
       "      <th>indfmt</th>\n",
       "      <th>consol</th>\n",
       "      <th>popsrc</th>\n",
       "      <th>datafmt</th>\n",
       "      <th>tic</th>\n",
       "      <th>cusip</th>\n",
       "      <th>conm</th>\n",
       "      <th>...</th>\n",
       "      <th>sale</th>\n",
       "      <th>costat</th>\n",
       "      <th>mkvalt</th>\n",
       "      <th>city</th>\n",
       "      <th>loc</th>\n",
       "      <th>sic</th>\n",
       "      <th>cusip6</th>\n",
       "      <th>prev_value</th>\n",
       "      <th>profit gains</th>\n",
       "      <th>year</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>3116</th>\n",
       "      <td>1449</td>\n",
       "      <td>1990-12-31</td>\n",
       "      <td>1990</td>\n",
       "      <td>FS</td>\n",
       "      <td>C</td>\n",
       "      <td>D</td>\n",
       "      <td>STD</td>\n",
       "      <td>AFL</td>\n",
       "      <td>001055102</td>\n",
       "      <td>AFLAC INC</td>\n",
       "      <td>...</td>\n",
       "      <td>NaN</td>\n",
       "      <td>A</td>\n",
       "      <td>NaN</td>\n",
       "      <td>Columbus</td>\n",
       "      <td>USA</td>\n",
       "      <td>6321</td>\n",
       "      <td>001055</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>1990</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>10053</th>\n",
       "      <td>1449</td>\n",
       "      <td>1991-12-31</td>\n",
       "      <td>1991</td>\n",
       "      <td>FS</td>\n",
       "      <td>C</td>\n",
       "      <td>D</td>\n",
       "      <td>STD</td>\n",
       "      <td>AFL</td>\n",
       "      <td>001055102</td>\n",
       "      <td>AFLAC INC</td>\n",
       "      <td>...</td>\n",
       "      <td>NaN</td>\n",
       "      <td>A</td>\n",
       "      <td>NaN</td>\n",
       "      <td>Columbus</td>\n",
       "      <td>USA</td>\n",
       "      <td>6321</td>\n",
       "      <td>001055</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>1991</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>17110</th>\n",
       "      <td>1449</td>\n",
       "      <td>1992-12-31</td>\n",
       "      <td>1992</td>\n",
       "      <td>INDL</td>\n",
       "      <td>C</td>\n",
       "      <td>D</td>\n",
       "      <td>STD</td>\n",
       "      <td>AFL</td>\n",
       "      <td>001055102</td>\n",
       "      <td>AFLAC INC</td>\n",
       "      <td>...</td>\n",
       "      <td>3986.472</td>\n",
       "      <td>A</td>\n",
       "      <td>NaN</td>\n",
       "      <td>Columbus</td>\n",
       "      <td>USA</td>\n",
       "      <td>6321</td>\n",
       "      <td>001055</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>1992</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>24669</th>\n",
       "      <td>1449</td>\n",
       "      <td>1993-12-31</td>\n",
       "      <td>1993</td>\n",
       "      <td>FS</td>\n",
       "      <td>C</td>\n",
       "      <td>D</td>\n",
       "      <td>STD</td>\n",
       "      <td>AFL</td>\n",
       "      <td>001055102</td>\n",
       "      <td>AFLAC INC</td>\n",
       "      <td>...</td>\n",
       "      <td>NaN</td>\n",
       "      <td>A</td>\n",
       "      <td>NaN</td>\n",
       "      <td>Columbus</td>\n",
       "      <td>USA</td>\n",
       "      <td>6321</td>\n",
       "      <td>001055</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>1993</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>33062</th>\n",
       "      <td>1449</td>\n",
       "      <td>1994-12-31</td>\n",
       "      <td>1994</td>\n",
       "      <td>INDL</td>\n",
       "      <td>C</td>\n",
       "      <td>D</td>\n",
       "      <td>STD</td>\n",
       "      <td>AFL</td>\n",
       "      <td>001055102</td>\n",
       "      <td>AFLAC INC</td>\n",
       "      <td>...</td>\n",
       "      <td>6110.758</td>\n",
       "      <td>A</td>\n",
       "      <td>NaN</td>\n",
       "      <td>Columbus</td>\n",
       "      <td>USA</td>\n",
       "      <td>6321</td>\n",
       "      <td>001055</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>1994</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>5 rows × 28 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "       gvkey   datadate  fyear indfmt consol popsrc datafmt  tic      cusip  \\\n",
       "3116    1449 1990-12-31   1990     FS      C      D     STD  AFL  001055102   \n",
       "10053   1449 1991-12-31   1991     FS      C      D     STD  AFL  001055102   \n",
       "17110   1449 1992-12-31   1992   INDL      C      D     STD  AFL  001055102   \n",
       "24669   1449 1993-12-31   1993     FS      C      D     STD  AFL  001055102   \n",
       "33062   1449 1994-12-31   1994   INDL      C      D     STD  AFL  001055102   \n",
       "\n",
       "            conm  ...      sale  costat  mkvalt      city  loc   sic  cusip6  \\\n",
       "3116   AFLAC INC  ...       NaN       A     NaN  Columbus  USA  6321  001055   \n",
       "10053  AFLAC INC  ...       NaN       A     NaN  Columbus  USA  6321  001055   \n",
       "17110  AFLAC INC  ...  3986.472       A     NaN  Columbus  USA  6321  001055   \n",
       "24669  AFLAC INC  ...       NaN       A     NaN  Columbus  USA  6321  001055   \n",
       "33062  AFLAC INC  ...  6110.758       A     NaN  Columbus  USA  6321  001055   \n",
       "\n",
       "       prev_value  profit gains  year  \n",
       "3116          NaN           NaN  1990  \n",
       "10053         NaN           NaN  1991  \n",
       "17110         NaN           NaN  1992  \n",
       "24669         NaN           NaN  1993  \n",
       "33062         NaN           NaN  1994  \n",
       "\n",
       "[5 rows x 28 columns]"
      ]
     },
     "execution_count": 21,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df.head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 22,
   "id": "9844ce4e",
   "metadata": {},
   "outputs": [],
   "source": [
    "#2d"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 23,
   "id": "3a791b11",
   "metadata": {},
   "outputs": [],
   "source": [
    "median_series = df.groupby('year')['profit gains'].median()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 24,
   "id": "97ef8349",
   "metadata": {},
   "outputs": [],
   "source": [
    "median_series.drop(labels = 1990,inplace = True)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 25,
   "id": "6ec4ba6b",
   "metadata": {},
   "outputs": [],
   "source": [
    "percentile25 = df.groupby('year')['profit gains'].quantile(0.25)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 26,
   "id": "ed1ab45e",
   "metadata": {},
   "outputs": [],
   "source": [
    "percentile25.drop(labels = 1990,inplace = True)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 27,
   "id": "cb4cf6a2",
   "metadata": {},
   "outputs": [],
   "source": [
    "percentile75 = df.groupby('year')['profit gains'].quantile(0.75)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 28,
   "id": "4bf4f2ed",
   "metadata": {},
   "outputs": [],
   "source": [
    "percentile75.drop(labels = 1990,inplace = True)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 29,
   "id": "be0f3370",
   "metadata": {},
   "outputs": [],
   "source": [
    "#2e"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 30,
   "id": "cb3eac4d",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "Text(0, 0.5, 'Profit Gains')"
      ]
     },
     "execution_count": 30,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAY0AAAELCAYAAAAlTtoUAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjMuNCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8QVMy6AAAACXBIWXMAAAsTAAALEwEAmpwYAABpx0lEQVR4nO2dd5hU1dnAf2f69t47sMBSlo5IEVCQIgIGO7Yvxp7EmKbGaBI1iRqj0RglGluMYu+IFREp0qSXZYHtC2xhe5l6vj9mFhfYMrs7szO7nN/zzDN37j333PfOnbnvfc95i5BSolAoFAqFO2h8LYBCoVAo+g5KaSgUCoXCbZTSUCgUCoXbKKWhUCgUCrdRSkOhUCgUbqOUhkKhUCjcxm+UhhBirhAiRwhxUAhxVxvbFwkhdgohtgshtgghpvpCToVCoTiTEf4QpyGE0AIHgNlAMbAZuEJKubdVm2CgQUophRDZwJtSyqGd9R0dHS3T09O9I7hCoVD0Q7Zu3VohpYxpa5uut4Vph4nAQSnlYQAhxOvAIuCE0pBS1rdqHwS4pe3S09PZsmWLB0VVKBSK/o0QoqC9bf4yPJUEFLX6XOxadxJCiIuEEPuBFcCPe0k2hUKhULjwF6Uh2lh3miUhpXzPNSS1GHig3c6EuNE177GlvLzcc1IqFArFGY6/KI1iIKXV52SgtL3GUso1wEAhRHQ725+VUo6XUo6PiWlzWE6hUCgU3cBf5jQ2A5lCiAygBLgcuLJ1AyHEIOCQayJ8LGAAKntdUoVC4VWsVivFxcU0Nzf7WpR+j8lkIjk5Gb1e7/Y+fqE0pJQ2IcRPgc8ALfCClHKPEOJm1/ZlwBLgGiGEFWgCLpP+4PqlUCg8SnFxMSEhIaSnpyNEWyPXCk8gpaSyspLi4mIyMjLc3s8vlAaAlPIT4JNT1i1rtfww8HBvy6VQKHqX5uZmpTB6ASEEUVFRdHXe11/mNBQKheIESmH0Dt35npXSUCgUXaK4rpjVRat9LYbCRyiloVAousRLe17i9lW3U91Q7WtR/Ja33nqLrKwsZs6cyZYtW/j5z38OwOrVq1m/fr3HjjN//nyqq6s91p87+M2chkKh6BsU1BbgwMGWwi3Myprla3F8ht1uR6vVtrnt+eef5+mnn2bmzJkAjB8/HnAqjeDgYCZPnuwRGT755JPOG3kYZWkoFIouUVhbCMC2o9t8LIl3yM/PZ+jQoVx77bVkZ2dz8cUX09jYCDjTEt1///1MnTqVt956i+XLlzNy5EhGjBjBnXfeCcD999/P2rVrufnmm/nNb37D6tWrWbBgAfn5+SxbtozHH3+c0aNH8+2335503PLycmbPns3YsWO56aabSEtLo6KiAoDFixczbtw4hg8fzrPPPntin/T0dCoqKsjPzycrK4sbbriB4cOHc/7559PU1ATAk08+ybBhw8jOzubyyy/v8fejLA2FQuE2FruFow1HAdhTucfrx/vTR3vYW1rr0T6HJYbyhwuHd9gmJyeH559/nilTpvDjH/+Yp59+ml//+teAM7Zh7dq1lJaWMmnSJLZu3UpERATnn38+77//Pvfddx+rVq3i0UcfZfz48axevRpw3uBvvvlmgoODT/R10rn+6U+ce+653H333Xz66acnKYcXXniByMhImpqamDBhAkuWLCEqKuqk/XNzc1m+fDnPPfccl156Ke+88w5XXXUVDz30EHl5eRiNRo8MZSlLQ6FQuE1JfQkOHGjRkteUh8Ph8LVIXiElJYUpU6YAcNVVV7F27doT2y677DIANm/ezIwZM4iJiUGn07F06VLWrFnT7WOuXbv2hCUwd+5cIiIiTmx78sknGTVqFJMmTaKoqIjc3NzT9s/IyGD06NEAjBs3jvz8fACys7NZunQp//vf/9Dpem4nKEtDoVC4TVGdM6/oYN1g9tn2UVxZTGpMqteO15lF4C1OdUVt/TkoKAhwBsd5kvb6W716NV9++SUbNmwgMDCQGTNmtBktbzQaTyxrtdoTw1MrVqxgzZo1fPjhhzzwwAPs2bOnR8pDWRoKhcJtWuYzRptGA/B96fc+lMZ7FBYWsmHDBgCWL1/O1Kmn13w766yz+Oabb6ioqMBut7N8+XKmT5/eYb8hISHU1dW1uW3q1Km8+eabAHz++edUVVUBUFNTQ0REBIGBgezfv5/vvvvO7fNwOBwUFRUxc+ZMHnnkEaqrq6mvr+98xw5QSkOhULhNYV0hJo2JLFMWAtFvJ8OzsrJ4+eWXyc7O5vjx49xyyy2ntUlISOCvf/0rM2fOZNSoUYwdO5ZFixZ12O+FF17Ie++91+ZE+B/+8Ac+//xzxo4dy8qVK0lISCAkJIS5c+dis9nIzs7m3nvvZdKkSW6fh91u56qrrmLkyJGMGTOGO+64g/DwcLf3bwu/qNznTcaPHy9VESaFwjPc/OXN5B/L59dxv+bhYw8TqYvkjcve8Ogx9u3bR1ZWlkf77Ar5+fksWLCA3bt39+pxzWYzWq0WnU7Hhg0buOWWW9i+fbvXj9vW9y2E2CqlHN9WezWnoVAo3KaotogIEYFWqyXNmMauxl1YrdYuZUlVtE1hYSGXXnopDocDg8HAc88952uR2kQpDYVC4RY2h42S+hLSDc5kgunGdDY2bCS3LJdhScN8LZ7HSE9P73UrAyAzM5Nt2/x/uE/NaSgUCrc40nAEu7QTpXHGB6QZ0gDYWrLVl2IpehmlNBQKhVsU1TrdbSM1kQAkGhLRoWNH2Q5fiqXoZZTSUCgUblFY53S3jdY5qyxrhZZkQzIHag94PGZB4b8opaFQKNyisK4QvdATaYg8sS7NmEaxtZjG5kYfSqboTZTSUCgUblFUW0S0NvokT6k0QxpWrOwq3eVDyfwPlRpdoVCc8RTWFRIhIk5KQZFmdE6Gf3/keyYNdD/orD+gUqMrFApFOzikg+K6YiI1kSflYYrRxRAgAthd0fsuqt5CpUbvGGVpKBSKTilrLMPisJzwnGpBCEGqIZWD9QeRUnq+tvfKu+Coh4e+4kfCvIc6bKJSo7ePsjQUCkWntCQqPFVpAKSb0jlmP8bx2uO9LZbXUKnR20dZGgqFolNOuNtqo0/blmZIw4GDbaXbmBXm4fKvnVgE3kKlRm8fZWkoFIpOKawrRCd0RBmiTtvWMhnenzLeqtTo7aOUhkKh6JSi2iIitZEYDcbTtoVqQwnXhPdK+dfeQqVGbx+VGl2hUHTKkg+XIOoEtyXe1uZk9/Nlz1NoLuTrpV+j0fTsWVSlRlep0RUKRR9GSklhbSFjdWPb9Y5KM6axvWm718u/9mf6Smp0vxmeEkLMFULkCCEOCiHuamP7UiHETtdrvRBilC/k9CeK64q5+MOLeXnXy74WRdGPqWiqoNne3KbnVAsngvz6QflXX6dG37FjB5s3b2bChAm9LoM7+IXSEEJogX8B84BhwBVCiFMT9OcB06WU2cADwLOcwZTWl3L959eTU5XD498/zoGKA74WSdFDPjj4Afetuw+7w+5rUU6ixXMqUrSvNFIMKf26/KviB/xCaQATgYNSysNSSgvwOnDSjJKUcr2Ussr18TsguZdl9BuONhzl+s+up7qpmqUBS9Gj557V9+CQDl+Lpugmr+57ld+v+z3vHXyP5TuW+1qckyiqc6ZEj9Ke7jnVgkljIk4Xx/7q/b0llsJH+IvSSAKKWn0udq1rj+uBlV6VyE851nCM6z+7nsqmSpYalzIxeiKLIxazv2E/r2x7xdfiKbrBi7tf5KFNDzHCOIIkTRLL9iyj0eI/WWMLawvRoCHacHqMRmvSjGkUmAuwWq29JJnCF/iL0mhrdq1Nty4hxEycSuPOdjsT4kYhxBYhxJby8nIPieh7yhvLuf7z6ylrKGOpcSkjokag0WiYHDKZAfoBPLX7KY7WHfW1mIousGzHMh7b+hijjKO4IvgKlkQvocZewzObnvG1aCcoqisiUheJyWDqsF26MZ0G2UBu2enRyor+g78ojWIgpdXnZKD01EZCiGzgP8AiKWVle51JKZ+VUo6XUo6PiYnxuLC+oKKpgp98/hOO1h/lSuOVjIwaecK1UQjB0pil2KSNe1ff62NJFe4gpeTJ75/kX9v/xVjjWC4LvozQ4FAyAzIZbhzO8sPLKasv87WYgCu7LRGdRhGr8q8/0J9To/uL0tgMZAohMoQQBuBy4MPWDYQQqcC7wNVSyjNq1vd483F+8vlPKKkr4UrjlYyKHnWaL3ysPpY5oXP47vh3rNi/wkeSKtxBSsnft/yd53Y9xwTTBC4JuYSQ4JAT2xdHLcYiLTy+/nEfSumkxd02UhPZafzFmVb+1W5v32GhJTX6119/zfjx43nyyScBzyuNTz75pMfBel3FL5SGlNIG/BT4DNgHvCml3COEuFkIcbOr2X1AFPC0EGK7EOKMiNirbq7mhs9voKi2iCuMVzA6enS7f97Z4bOJ18bz0JaHqG2u7WVJFe7gkA7+svEvvLz3Zc42nc2SkCUEBwWf1CZeH8+kwEl8cuQTDlYc9JGkTqrN1dRb64nStD8J3kJ/Kf+qUqN3jN8E90kpPwE+OWXdslbLPwF+0tty+ZIacw03fH4D+dX5XG66nNFR7SsMcP5pl0Yv5bFjj/Hnb//Mw7Mf7kVpFZ3hkA7u33A/7+S+w1TTVBaGLiQgIKDNtgsiF7C1cSsPr3+Y5xb6LsjrhLuttn1329akGdNYX7eexuZGggKCenz8hzc9zP7jnvXIGho5lDsntjslCqjU6B3hF5aG4nRqLbXc+MWNHKw+yGWmyxgbNbbdKmGtSTelMy1oGitLV7KxaGMvSKpwB5vDxu/X/p53ct9huml6hwoDnPmczg09l++qvmNjoe+uY0tK9AgR0UlLJ/2l/KtKjd4+fmNpKKDJ1kRFUwUVTRX8bfPfOHD8AJeZLmNc1Di3FEYLCyMXsrNpJ/euvZePLvkIo+70JHOK3sPqsPK7b3/Hp/mfcp7pPOaFzzspjXV7nBd2Hmvr1vLIxkd4O+Vtzxc4coPiumIEglhjrFvtPV3+tTOLwFuo1Ojto5RGL1FvqWf/8f0caThCeVM55Y3lVDZVUt5UTkVTBeWN5TTYGk601wotl5ouZULUhC4pDACjxsjlUZezrHwZT2x4gt9O+62nT0fhBla7lc1HN/Pfvf9lXek65pjmMDt8tlsKA5wBc/PD5/Nm1Zus2L+CBVkLvCzx6RTWFRKuDSdA375V1Jr+Uv61JTX62Wef3WFq9Ntvv52KigoiIiJYvnw5P/vZzzrsNyQkhNratucbW1Kj33nnnV5JjT516lRee+016uvrezR5rpSGF2iwNrCvch97K/eyp3IPeyr3UFBbcFIbgzAQqgklWAQTJIJI0CQQbAomRIQQLIKJ0caQEpbSZYXRwvDA4YwxjeG1w6+xaOgihsQM8cSpKTqhwdrA2pK1rCpcxZriNdRb6zEIAxeYLuDciHMxGAxd6m9yyGS+rvmaJ7Y9wZzBc9Br9V6SvG0KawuJFJHo9e4d1+vlX3uJltToN910E5mZmZ2mRpdSMn/+fLdSo1988cV88MEH/POf/2TatGkntv3hD3/giiuu4I033mD69OknpUZftmwZ2dnZDBkypFup0WtqapBSqtTo7uDt1OhSSnaU72B3xW72VO5hb+Ve8mrykK7YxHBtOAmaBBK1iSRqEonSRhGuDydIH4RWq0Wr1SKE8Mqfq85exwMlD5ASmMJbS95CI/x/Cmt72XYK6wpZOHChr0Vxm8qmSlYXrWZV0Sq+K/0Oi8NCsDaYIdohZOmzyDRkEhYU1u0HgB0NO/hPxX+4Y/gd/Hj8jz0rfCdMe30ag+Qgrk241u19Pq7+mC9qvmDV4lVEhXXudXUqKjW6So3er/nntn/y3C6nd0uYNowETQIzTTNJ0iaRpEsiyhSFwWDocY2B7hCiDeGiiIt47fhrvLTtJX48tndvOF2hoLaAf2z9B18WfglArC6WSWk9HxP3FjXmGt4/+D6rClexrWwbEkmULorx+vFk6bIYYBpAcGCwR657dmA26fp0/rPvP1w68lKCjcGd7+QBai21VJuriTJ17cbv1fKv/Zi+khpdKY0eUFRbxEt7XiLbkM1c01xiAmJ8piDaY1LwJDbVbeKZ3c8wd9BcEkMTfS3SSVQ1V/Hvnf/m9f2voxM6ZhpnssG8gae3Pu23SqOgtoBbv7yVwrpCkvRJzDDOIEufRVpAGgEBAR63GoUQ/CjqRzx29DGe2vgUd51zWuUAr3AiUaEbMRqtaV3+dVZW31Mavk6N7u8opdEDHt3yKBo0zDHOISUipfMdfIAQgitjruQvpX/ht6t+yyOzHiEx2PeKw2w38+q+V3lu53M0WhsZbxzPTONMEsMSMdYY+bT2U3aW7iQ7MdvXop7E98e+5+erfo7D7uD6gOvJCsvCYDB4few+w5hBtimbt/Lf4rox1xEfEu/V44HzoQjcj9FowRPlX/vyfEhfojvTE0ppdJONRzayqmgVs0yzSA737yztMfoYFoYv5N3qd5nzzhyyo7JZOGgh56efT4TJPf/7FqSU5FTlsLpoNauLVlNUW8SQyCGMih3FyOiRZMdkEx3QfjZUh3SwMm8lT3z/BEcajpBlzGJW8CwGhA044QY4I3QGq2pX8fSWp1m2cFm7ffU2nxz+hN+v+z2R2kiuCLiCAZEDevXGtihyEbtLd/Poukd5dO6jXj9eS2BfjL7r+dvSjenkNeXhcDi6bHmbTCYqKyuJiopSisOLSCmprKzEZOo4EeWpKKXRDWwOGw9vepgofRTTAqb51XBUe8wMm0mWIYtNtZvYUbWDBzc+yF83/ZVJ8ZNYMGgB56acS6A+sM19LXYLm49u5uuir/mm6BuONh5FIEjVp5IpMimpKGHrsa04cNbziA+IJzs2m+wY5ysrMguTzsTmo5t5dMuj7K3cS7IhmesCr2NE6IjTXFCDtEFMDp7MN1XfcLDiIIOiB3n9++kIKSX/2fUfntz2JAONA7nMeBnx4fG9fkOL1ccyOWgyXxz7gv1l+xkaO9SrxyusLSRUG0qQoeuR3T0p/5qcnExxcTH9KUO1v2IymUhO7tpDr1Ia3eDd3HfJrc7lsoDLiAjp2pO6L4kPiGdhwEIWOBaQ35DPloYt7Dy6k3VH1mHUGJmRMoMLB17I5MTJ1Fvr+bbkW1YXrWZdyToabY0YhIFBukGcHXA2Q/RDiAmKOeGK2WhtJK8hjwJLAcW2YjYVbeLzgs8BZ8xJUlAShfWFROgi+JHpR0wInkBQYFC7N97zws7j2/pveXrz0zw277He+opOw+qw8uB3D/Ju7ruMMY7hR0E/Ijwk3GfyzI+Yz+aGzTy0/iFeWvySV49VVFdEpIjsViBY6/KvXVUaer2ejIyMLh9T0TsopdFFai21PLXtKQYaBjIuZFyfNJ81Gg0DQgYwIGQASxxL2F+3n62NW1lTuIbPCj4jUBdIs60ZBw7CtGEM0w4jKyiLTGMmoYGhbbqOBhmCGGEYwQhGAM6gooqmCg43HabIVsTR5qPMMs5iWuA0IkIiOv3ewnXhTAyayKqyVZTUlJAU1lFNLu9QZ6njV6t/xYYjG5hpmsnckLkEBrZtjfUWIdoQZoXNYkXNCr7N+5ZpGdM636mbFNYVkipSu2VJt5R/3X50O4tHLfa8cAqfoZRGF1m2YxnV5mouD7q8w9xBfQWtRsvwsOEMDxuOxW5hZ81OdjfvJsQYwlDdUNIC0jq0CNpDo9EQGxRLbFAsk3B6QXV1cnN22Gy+a/iOZzY9w4OzH+zS8XvKkfoj3PrVreTV5LHYtJhpEdO6HJjnLc4NPZe1dWt58LsH+SjlIww6z8vVaG2koqmC0abR3Xowain/uq96n8dlU/gW/x+M9yPyavJ4bd9rjDeOJzMs09fieByD1sD4yPFcl3gdS+KXMDx6OMFBwR6zprraT4w+hjEBY1h5ZCWVDe3W3PI4eyr3cOUnV1JSW8JVpquYHjXdbxQGgEFj4LKoyyi1lPLEd0945RjddbdtjSr/2j9RSqMLPLrlUfRCz3nG89xOq6DoGeeHn49FWnh287OdN/YA3xR9w3Urr8NhdbrUjo0e65HMoJ5mZOBIRplG8eqhV8mpyPF4/y1KI1LTNXfb1qjyr+4hpcRit/haDLdRSsNN1pWsY03xGqYbppMQluBrcc4YkgxJDDMO4/3C96lrrvPqsfZU7OH2r28nVhvLTwJ+wuCowX7tGXdp9KXohZ57Vt+DQzo82neLu22s3r3stm3RUv51S8kZUS+tW0gp+d3a3zH/nflUNvaeNd0T/Pcf4UdYHVYe2fwIMfoYpgRM8esbSX9kbsRcGmUjL2590WvHaLQ2cue3dxKqDeUq01WkRKb4vZNDqDaUxeGLyWnI4b/b/uvRvgtrCwnWBBNs6H7KkkRDIqGaUN46/BZ2R/ulUc9kPjz0IR8f/phjTcf4/de/97U4bqHufm7wZs6bHK45zCzdLJ+6W56pZBgzGGgYyBuH36DZenodAU/w2NbHKKgtYJFhEfHh3o+29hSTQyYzUD+Qf+3+F0frjnqs36K6IiI17me3bQut0LIoYhH55nxe2/Gax2TrLxTVFvGXjX9hoGEg5wWcx9qKtXyw7wNfi9UpSml0QnVzNU9vf5pMQyZjQsb4/dNnf2Vu+FxqHbVeufmsKV7DGzlvMNU0lezw7D51jVvSxNikjXtX3+uxfgtrC4kQET22qicETSBNl8Yzu5+hprnGQ9L1fWwOG3etvQskXGS8iAtjLiRJl8RDWx6ivMG/gxqV0uiEp3c8Tb2lnvP15/cLF9u+yhDTEJJ0SbyS8wpWu+e8cSqbKrl33b0kGhKZEzinTzo4xOpjmRM6h++Of8eK/St63J/ZbuZY4zGitD1P4yGE4NLoS6l31PPoOu+nPukrPLvzWXaW7+QCwwWkhKegFVquib6GJkcTd6+62+NVAT2JUhodcLDqIG/mvMkE4wQGhfs2lcWZjhCCueFzqbBV8O7udz3Sp5SSP274I7XmWi7SX0RYcJhH+vUFs8NnE6+N56EtD1Hb3HZlOHcpqStBInvkOdWaVGMqEwMn8mHxh+SUe97Tq6+xvWw7/975b8Yax3JW2FknrLlEYyLzQuex8fhG3t7zto+lbB+lNNpBSsnftvwNo8bIucZz/dLt8kwjOzCbGG0ML+59EYej595C7+S+w+qi1cw2ziYzIrNPDUudilZoWRq9lBp7DX/+9s896qvFcypSeEZpgDPZoh49D6x9wGN99kXqLfXc+e2dROoiuSDggtPyrs0On02qLpVHtz3q0TkqT6KURjusKV7D+tL1TNdPJz6s70yM9mc0QsP5YedTYilhZc7KHvVVUFvAw5seJtOYyTnB53S7qp4/kW5KZ1rQNFaWrmRj0cZu91NY23N321MJ0YYwL3weO2p38OmBT7vdT425hnvW3sN3pe7XyfYn/rrprxytP8pi/WJiQk/PHqwRGq6JvQaLw8Jdq+7yy2EqpTTawGq38rfNfyNOH8eUQOVi609MCJ5AuCac53Y+1+0/lNVh5e5v70aDhsXGxQQH9U4lvN5gYeRCwjRh3Lf2Psw2c7f6KKwrJFATSKgh1KOyTQ+dTowmhr9t+RsWW9eD2RqsDdz65a18eOhDfvrlT9l5bKdH5fM2K/NW8uGhD5lhmsHwiOHtWrZx+jgWhC1ga/VWXt/1ei9L2TnqbtgGVoeVs+PO5nz9+YQGe/aPo+gZWqFlVtgsDjUfYs3hNd3q47mdz7GrYhcLDAtIDvPvWihdxagx/pBiZEP3Uox4wt22LXRCx5KoJZRZy3hm0zNd2tdsN3P7qtvZXbGbC00XEkAAt3xxC4U1hR6V0VscqT/C/RvuJ92QznlB53U63D0zbCbpunQe2/4YpbWlvSSleyil0QaB+kB+NvJnDDEM6dPj3P2Vs4PPJkgEsWx71ws07SjfwbM7n2WscSwTwyb2SytyROAIRptG89rh17o18VxYW0i4CPfKkN3wwOEMMw7jlYOvcKTuiFv7WB1Wfr3612w8upHFpsWcG3Uut8XfhtVh5fqV11PZ5N+R1HaHnbvX3o3NbuMi40VuPYi2DFPZpZ3frvqtXw1T9b9/zBlEk03ybbGV8kbPppDwdwwaA+eGnsvu+t18lPMRVod7LriN1kbu/vZuwrXhbU5C9icuib4EgzDwu29+16UUI1a7ldL6UqI03quad3HUxdikjb98+5dO29oddu5Zew+ri1ezwLSAqZFT0el0xBviuSnmJirMFdzwyQ00Whu9IqsneHHPi2w9tpX5hvmkh6e7vV9Lxc0dNTt4Zccr3hOwiyil0Qcpa3Tw6j4zd3zdyPO7Lfzj+2Ysdv95EukNpoVOI1SE8rvvfse05dP41epf8fHhj6kxtx9A9sjmRyiuK2aRYVGbk5D9iZYUIwcaDvDStpfc3q+0oRQHjh5lt+2MGH0MM0JmsLp8NZuKNrXbTkrJgxsfZGXeSmabZjMzYuZJQ2YDAwZyTdQ1HKw/yM8++xk2h81rMneXPRV7eGrbU4wyjmJS6KQuW7bnhJ7DQP1Antz5JIXV/jEU5zdKQwgxVwiRI4Q4KIS4q43tQ4UQG4QQZiHEr30hoy+RUrK30s4T3zdz55omVhXaGBOr5aosAyX1kjdy+k6WTE8QoAng3qR7uSr4KoaIIawrXMfd397NOW+cwzUrruHF3S9yuObwCbP+q8KveCf3HaaZpjEifMQZMex4dsjZDNIP4undT7udCdcT2W3dYW74XEJECH/e8Oc2LSEpJY9tfYy3D7zNdNN05oTPaTM9/ZjgMSwJX8Kmyk387uvf+dUwTqO1kTvX3EmYNowFxgXdCg7WCA1Xx16NlJLfrvqtxxNTdge/CD4QQmiBfwGzgWJgsxDiQynl3lbNjgM/Bxb3voS+w2KXbDhi44t8K8X1khA9LBio59wUHREmp86vaHLwab6NEdFaxsT6xSXtFUxaE2dFncVZnIXNbuNg/UF2N+0m53gOj1U8xmNbHyM5KJkZqTNYcXgFyYZkZgfO7pNR391BCME1sdfwSOkj3PL5Lbx10VtEBXRsQbS420bror0qm0ljYlHEIv53/H8s37GcpaOXnrT92Z3P8tKel5hknMQFoR0PJU4Pm061rZqVxStJ2JjAHZPu8KrspyKlpMnWRL213vmyOF/vH3qfwrpCrgu4jrjwuG73H6WL4qKIi3ij6g1e3PYi14+93oPSdx1/ucNMBA5KKQ8DCCFeBxYBJ5SGlLIMKBNCXOAbEXuXqmYHqwptfF1kpd4KKSEarh+h56wEHQbtyU/JSwYb2HfcwfO7zDwwRXNCmZxJ6LQ6hoYNZWjYUKSUHGs6xs76new372f5vuVohIarAq/q01Hf3SFCF8FNsTfxxLEnuGXlLfxv0f8waNsvKFVUV4RRGIkwRLTbprLJQWm9g5ExPbt9TAiewJraNTy962kWZi0kxBgCwP/2/o+ntj/FWNNYFgUvcusJfWHkQqpsVbyQ8wJxwXFcOeLKHskGTkuhtL6U0obSk97LG8tPUg4Ntgbssu0svjNMMxgZMbLHlu2UkClsa9jG07uf5ryM80iPSO9Rfz3BX5RGElDU6nMxcJaPZPEpZrvkvVwLXxTYcEgYE6tldpqeoZGadn94eo3g5mwjf9jQxHO7zPx6vAnNGTD80h5CCOID44kPjOd8zqfB0kBNcw3xwfFnxLDUqaSb0rky8kr+e/y/3PXVXfx99t/b/R4K6wqJ0kZ1aI19dNjKN0U2/jRZkBrafQ8rjdBwafSlPHr0Uf6+7u/88dw/8l7uezy8+WFGGEewJGiJ2zE0Qgiujr2a2iO1PLz1YWICY5g9YHan+9kddg5UHWBH+Q6K6opOKIeSuhJqLCfPj+mEjnBtOMEEY8JEjIghRaRgMpowYsQkTBiFERPO9yBNEMmByR6xbIUQXBVzFfeX3M+TG57ksfmP9bjP7uKW0hBCDAMqpZTHhBDBwG8AO/ColNITbgtt/YK7PTgphLgRuBEgNTW1u930OjnH7byw28yxRsn0ZB0XDNATG+ie1ZAQrGHpUAMv7rHwab6V+Rn+U57U1wQZgggyBPlaDJ8yIWQCRy1H+fzI5zy95Wlum3Bbm+1astt2FEdQUONAAm/kWPjNhJ4l8UwzpjExYCLvF71P0vYkntr5FIONg7ks6LIux0hphZab4m/i8dLHuXPtnUQHRjMmfsxJbRqtjeyu2M33Zd+zrWwbO8p20GBrAEAv9ERoIwgjjMGawYSbwgnXhBMuwonURRKuD8egN6DT6Xziqh2hi2Bs4Fi+Kf+GqsYqIgLbtwa9ibuWxmvAZcAx4FFgCNAM/Bu42gNyFAMprT4nA92OaJFSPgs8CzB+/Hj/mRlrh2ab5K0DFr4qtBETILhzgomsqK4/wZ2TrGNXhZ13DljJitSSEdb3U2MoPMeCyAUcsx7j33v/zYCIAcwbNO+k7XaHneK6Ys42nN2uJWJzSIrqHYQbBXsqHewqt/V4mGpR1CJ2FO/gyR1PMsA4gCsCruh23Rqjxsgt8bfw9yN/59Yvb+WZ2c9Q2VzJ92Xf833Z9+yr3Idd2hEI4vXxDNcMJzUglTR9GrHGWPR6PTqdzm8t0mmh09jUuInlO5Zz69m3+kQGd692upQyRzi/yYuA4UATkOchOTYDmUKIDKAEuBzo+aBkH2BvpdO6qGySzE7TcXGmAaOuez9YIQTXDTdyuKaJZTvM/GlyAKZu9qXof7RMjD9e+ji/X/97UkNTGR47/MT2o41HsUlbh55TRxokNgcsydTz4SErb+RYGB6t7dFwaKg2lEsiL2FzzWYuMV1CdFjPJuHDdGHcFncbjx19jKs/dT7T6oSOFF0KUwxTSNOmkaZPIyIwAr1e77cKoi3SDGkk65J57/B73HzWzT6xeNxVGmYhRAgwDCiSUlYIIXSAyRNCSCltQoifAp8BWuAFKeUeIcTNru3LhBDxwBYgFHAIIX4BDJNS9iwPtI9otErezLGwuthGfKDgd2eZyIzouWUQbBDcmG3k4U3NvLrPwvUjPRvAJqWkuF6yr9LO3ko7Vofk2uFGt4fRFL7FoDFwc/zNTo+qL27hnYveISbQGbPS4jnVkdIorHVO+A4M13LJYMHTO8ysK7ExLbln4/ZnhZzFxOCJHruBxxniuCP+DrZVbSNJm0SqMZXggOA+n61aCMG00GksP76cNYfXMGPQjF6XoSvDU6uAEOAp17qxeM7SQEr5CfDJKeuWtVo+inPYqs+zs9zGS3ssVDVL5mXouWiQ/jSPqJ4wNFLLggF6PjpsZWS0lokJPfujlDU62FtpZ1+lnX3H7dS6QkLiAgX1VsmfNjTx09HdG1JT9D5hujBuiruJfxz9Bzd+ciPLFy/HpDOdiNHoyN02v9aBQQvxQYKEIC0D8jW8k2tlYryu2xZyC55+4o83xDMvbl7nDfsY44PG817Ve/xv9//8V2lIKe8QQpwPWKWUX7tWO4DedYju4zRYJa/ts7Cu1EZisODeSSYGhHvnRrtokJ49lXZe3GNmQLiG6AD3LYEaszOQcN9xpzVR0eScFgo3CoZHaxkWqSUrSkt0gIayRgf/+L6ZR7c0c1WWgZmpZ0YMhKeQUmJxOH8bDVYI0NGla9VdUo2pXB11NS9UvsCvv/w1/5zzT4rqitAJHZH6jiwNBynBmhPDUVcMNfDnjc18VmBl4UDlfNEbGDQGzgo6i7U1aymtKSUxLLFXj+/2I6iU8vNTPm/xvDj9l53lNl7YbaHWIrlwgJ6Fg/ToNd4bS9VpBDePMnLfuiae3Wnmrontu+FKKTnSIPm+zMa2Y3YO1TijTgN1kBWlZW66lmFRWhKCxGlPg7GBGu6dFMAzO8y8vNdCcb2DK4ca0Hrx3PwZKZ03/yqzpKrZQZVZUt0sqXcpBadykDRaJQ02aLBIbK1cNQQwK03HjzINBHh5PmpM8BgusFzAimMreHzj4xQ2Ot1tjYa2hzQdUlJY5+DsVpZrZoSWcXFaPjlsZXqynjDjmXnde5tpodP4pv4bXtn2CnfOuLNXj+2uy20G8GdgNHCS47SUsu/4tPqAZpszxcfXRTaSggW/GGsivZe8mmIDNVwz3MizO818dMjKokE/PAk6pORQtYPvy+x8f8zGsUbnnSsjVMOPMvVkR2tJDdW4NcEZoBP8YqyRN3OsfJpv5WiDg1tHmwjS998bSL1Fsq7UxvFmB1XNkmqzPPFubSPTg0kLQXrhekFisIZAvSBYLwjU43oX7K+082WBjc1H7SzNMjA+TuvVido5EXM4aj3KizkvEqgLJJXUdsf9K5okTTZIDT3ZErpksIHtZU18cNDCNcP7bxJIfyJOH8cgwyA+LvqYX9p+iV7XexZ+V+Y0DgG/Avw3naSfkVtl57ldZsobJXPT9fwo07NzF+4wOVHHrnIbHxyykhmhxWyXbCuzs63MRp0FtAKyIrWcn65lTKyWyG5Gk2uE4PKhBpKCBS/vsXD/hiZuH2siMdi9/qrNDr4rtbOu1EajVfLXaQG9/l25i5SSp3c0s7fSgUEDESZBuFEwMFxDuFFDhEkQYRQn1oebhNtW5cR4HVOTdLy818K/tpsZGa3l6mEGrzkaCCFYGruUitIKCmwFRBnbz25bUOvUhmmnKI34IA0zUnR8XWRjVpre7Wuu6BnTQ6fzfMXzfLL/ExaNWNRrx3VXaQwHpkjpB9my+gA2h+T9g1ZWHLYSFSC4a6KJIZG+myS+epiRg9VNPLK5GXCOm2dHaxkTpyM7WkugBy2Cacl64oM0PLmtmQe+a+LWUcZ2/fgtLgW2rtTG7go7DgmJQYLKZuf6s3o4ge8tthyzs7fSwdIsA7NSPe/TPyBcy32TTHxVaOPdXAv3rG3iwoF65mV4Z0hTL/TcFH8T/znyHwZpB7XbrqDWgUZAUhtKYdEgA+tLbbx1wMLtYz3iVKnohJGBIwkRIby+/3W/VBprgDHAVi/K0i8oqnPw7E4zRXUOzknWccVQ749Nd0agXvCzMUbWl9oZEa1haKQWnRfnHDIjtPzh7ACe+N7MY1vNXDHUGYMihEBKycFqB2tLbGw6aqPJBpEmwfwMPZMTdcQHCX79TRPrS21+qTTMNsny/RZSQjSc5wWF0YJWIzg/Xc+EeC2v7bfwbq6V9aU2rh1m9IqXWog2hDuS7+gwS2xhrYPEINGmBRhqEFyQoeftXCs5x+0+fUg6U9AKLVNCpvBZ7WfkluWSGZvZK8d191+ZD3wmhHgXONp6g5TyPk8L1RdxSMmn+VbePWAlUA+3jzX6VcbZ1FBtj/IEdZXoAA33nGXi2Z1mXtvvnCCPMgnWldooa5QYtTA+TseUJB1DI0+eOzk7QcfKfCs1Zul3E6sf51k53iy5eZSxV/J7RZg03DbaxM5yG6/stfDw5mYmJ+q4fIiBUC98Nx0pwYI6ByM6UFjnp+tZVWTj9RwL9046s/Of9RZTQqbwee3nvLz9ZR48/8FeOaa7g49BwEeAHme6j9avM57yRgcPbWrmzRwro2K1PDg10K8Uhq8w6QQ/HWPkwgF61hTbeP+glegAwQ0jDTwxM5Abso0Mizo9mnhykg6HhO+O+FdRnbJGBysPWzk7UctgDwRidoXsGB1/nhrAwoF6Nh6xcde3jew/3nZmVW9QbXZQY5anTYK3xqAV/ChTT16Ng01He0+2M5lwXTgjTCP44ugXNFp6Z7rZ3TiN//O2IH0Rm0PyVaGN93ItCAE3jDQwOdF/89b4Ao0QLBlsYGKCjkAdRLkRg5AUrCE9VMP6Uhtz0v0n7uO1fRZ0GrhssG/iEZw3ZQOTEnQ8vrWZV/aaeWBKQK880Re6JsHTO1Aa4HS8+DzfxtsHLIyL03rVrVzh5JzQc9hZtpN3dr3D1eM8kQqwY9r9BQgh0lstD2jv5XUJ/RApJd8fs3HP2iaW77cwKFzLA1MCmJLUt/LY9CYpIRq3FEYLUxJ1FNQ6KK7zD9+LHeU2tpfbWTTIQLiP65UkBmu4ZIizYuP60t6xxlo8pzqyNMD5kHDZEAMVTZIvC/zLUuyvDDYNJlobzVu5b/XK8Tr6BexqtXwQyHW9t37lek80/yS/xs5Dm5p5cpsZjYA7xhn51Xhjr0TxnkmclaBDI+i1m2JHWB3OSP74IMHsNP8YdpwQpyUjVMN7udZeqQ9fUOsgNlC45dQxPFrLyGgtHx2yUG/x+yTTfR4hBNNCppFnzmNLofdjrtu900kpQ1ota6SUWtd769cZ4yJR1ezguZ1m/rShmdJ6B1cPM/DAlABGxajhKG8QahSMjNayodSGw8d1nz/Ls3KsUXJVlsGrXmddQQjBJUMMVDZLvi7yvmItqHWQGuL+g9GlQww02eCjw2dW7XpfMSl4Enr0vLLrFa8fSz0ed4LZ5qykd+e3TWw8YmNehp6HzwnkvFS939xA+itTknRUmSX7Kn03RFXZ5ODDw1bGxWkZEe0fVkYLw6K0DI/S8NEhC41W7ynWRqukvEmeFtTXESkhGqYl6/iywEZZo38MMfZnArWBjA0cy9qKtRxvOO7VY7n1KxBC6IQQPxdCvCOE+EYIsabl5VXpfIhDSjaWCe78tokPDlkZHaPlr9MCuHSIwaPBcIr2GR2jJUAH63w4RPVGjgUp4fIh/pmM75LBBuqtsDLf6rVjFNa1HQneGRcN0qPXwL93mLE61DCVtzkn9BwsWFi+Y7lXj+Pur+Bx4CacQX7jgHeAWJzp0vsdNU1WLn9hG68d0hJpEtxzlolbR5uIUTUjehWDVjAxXsfWYzaabb1/09lXaWfTUTsXDND77bVPD9MyMV7LZ/lWqs3eeaJ3dxL8VCJMGq4faeRQjYNX9505w1RSSo7UO1hXYuVglR17LynMVGMqKboU3s97H4fDe9adu/b2j4CzpZSFQog/SSmfEEJ8hrPc6x+9Jp2PCDXpyIoPZkJILTMHBqogJR8yJUnHN8U2th6zMSWp99xvbQ7Jq/vMRAc4o9X9mSWZBrYea+LDQ1auGeb5hIGFtQ7CjIJwY9cV54R4HRdkOFiRZyUjTMP0HhZr8kdaskTnHLez/7id/VXOmJYWAnQtQ4laRkRrvVqwbFroNF47/hrfHPqGmZkzvXIMd5VGIFDkWm4SQgRKKfcLIcZ0tFNfRQjBny4YzNdfl/i9wois3EJ9cAYWY5SvRfEKmeEaYgIE60t7V2msKrRRXC/52Rij3yZObCEuSMP0ZB3fFNmYk6YnLsizN6WCWjtpXZgEP5Ulg/UU1Dp4ZY+FlGBNj2vIHKy2E6wXxHv4PN2lRUnsb1ESxx3UWn6oOZMV6UzVMzBcy5F6B7sr7eypsLP1mDPgMSZAMDxK66xNE6X1aDbocUHjeK/qPV7d86rPlcY+YAKwCWfJ1T8KIWpx1vNW+Ijwqp1k73qAyqBMdo3/G/i5gusOQggmJ+r48JCVqmYHEb0QI1Fjlrx30MKIaC1jY/uGg+DCQXrWljoTHN4y2nMJAy12SWmDZHRs9793jXDWdvnjhib+uc3MHycHdCs9jEM683594Yr/iAsUZMdoGRWjZUik9wMJyxodfJ5vZdNR24nqleFGwfAoDUMitQyN1BIXeHLNmZQQDRMTdEgpOdYo2V1hZ0+lne+O2FhdbEMAGWEa0kI1SMAhwe4ABxKHw1np7od1Ti7O1LebEqilQNOamjWUVJeQFJ7k8e/BXaVxO9CSF+CXwDM4S7/e6HGJFG4hHFYyc/+NTRiIasglvPgrqlNm+VosrzA5UccHh6xsKLUxf4D3J6TfPmDBYoelQw19xp063KhhTpqzxO/8WjtpHsozVlLvwCG7Pgl+KsEGZ9LMP3/XzNPbm/nNBFOXvA/NdsmzO81sPWbnvFQdCUEadpbbWV1k44sCG0atcwhoVIwzRqQrgaSdkVtl59N8K98fs6MRMC7OOdQ0NFJLbODphcnaQghBfJDTOpqVpsfmkByucbCnws7uCjubj9rQCKeC1Qpcy7Radq4/0uDgjRzJbyYEtHusaaHTWF2/mle2v8JdM+7y2PfQgrtpRDa3Ws4F+ufdqQ+RUvQBQY3F7B11H5klbzO48FU2J0xB6tr/MfVV4oI0DArXsK7U6fLszRv5wWo735bYmJ+hJ6GP1YWYl6FnVZGVtw5Y+fV4zyiN9mpodIe0UC3XjXAWBXsjx8LSLPfmX2rNkn9830xejbMq5Pmu1DKz0vSY7ZJ9lXZ2VtjZUWZnW5nz2TY5WDAqRseIaC0ZYRpMXcw07ZCSrcfsfJpn5VCNgyA9XDBAz3mpOo9YuzqNYHCEM4fZRV1ITvtpnpXXcywcqLK3m/8sVh9LpiGTFUUr+JXtVx4v0NSh0hBCGIAUKeUh1+elQGtJ35JSNnlUIkWnGJvLSCt4g9KwcaTMuhFd5ST0L80n/tAbHBlyna/F8wqTE3X8d6+FwjqHx56iT6XWIvnvHgvhRsGFA/vehG2gXrBggIE3cizsq7R7JIV6Qa2DAJ1zHN4TTE7UkVdj54sCGxlhWiYndvzceqTewWNbm6k2S346xsi4uJPbG7WC0bE6RsfqkFnOobQd5TZ2ljutgxV5VgSQGCwYEOZUIAPCNCSHaNq0dJptkm+LbXxeYKW8SRITILgqy8C0JB1GH5c4AJiZquOTPAsfHLR0aG3Mj5hPaV0pTc1N6IN7UWngHJZKdr0DPAt871qOA2KAv3tUIkWnZOb+B4mg4Zz7SAwJgZApWIdcyMADKyhPnostKN7XInqcifE6XttnYV2JzStKY1uZjRd3m2m0wq2jjT6vgdJdzkvV8UWBlbcOONOT99Qqa4kE96R1d9kQA4W1Dl7abSYpWLR7PXOO23lyWzMaAXdNNDGwkwl0IQRJwYKkYAPzM5xBibnVdvJqHByucbC9zMa3rllYvcZpPWWEacgI05IYJNh01M7qIiuNNhgUruGyIQbGxp2ehdmXGLWCeRnOB4PcKjuZ7Vgbg0yDiLXEotN4PiC1sx6vAC5r9dkipZwGIITIBF5HKY1eJapiE9GVG9mfupSB2VNOrNfP+wuOg5+TnvsCB0f/zocSeodgg2B0rJbvjti4bIgBrYcmPZtdRZW+KbaREqLhNxOMpPTAU8jXGLSCiwbpeX63hS3H7EyI7/5NwyElxXUOZqR49saj0whuHW3ij+tdE+NnBxBsOPl6bjxi47mdTpfnX443dctNNVDvHKIaFeP8LKWkosk5l3C4xqlMvim2nZhYFzjnK+Zm6BnUQw8vb3JuitPaeL8Ta8NbdPZrSHHNYbTwacuClDJXCJHqHbEUbaGxmxl08DlqjYmEnX8Xen0rszM8FXn2T0le+3dKK3bSGJ3tO0G9xJQkHVuO2dldaWdUOyVku0JulZ1nd5qpaJLMz9BzUaZ3yqn2NlOSnEWs3sm1MDZW220Fe6RBYnF4Zj7jVMKMzlorf93YzLIdZn453lnUSkrJJ3nOeZnBERp+PsZ0mkLpLkIIYgIFMYGaE1Uh7Q7nkFZRnYNB4RqvxlB4CqNOMN8Na8NbdPYNGYUQ4S0fpJRXtCy71ns+kkjRLmkFbxLQXEbRqF8Sn3R6/SvtOb/CFhhH5qHnkY7+VwRnZLSWYD2sK+lZWhGbQ/L2AQt/2diMxDn0cekQQ79QGOD0tLk408DRBsm3PfiufogE985NaWC4lquGGdhdaeedA1bsDsl/91p464CVifFafj3ecwqjPbQaQUqIhsmJuj6hMFo4N0VHiAE+OOi99DHt0dm3tAVnNHhbLOGH+Q2FlwlsKCal6H0KI6eQPv3KtseYDUFo5txPRFM+UUWf9b6QXkanEZyVoOP7Mnu3E/SV1Dt44LtmPj5sZWqSjgemBPTLetZjYrUMCtfw/kEr5m6mTi+staPTQEKQ927cM1L0TE/WsSLPygPfNfN1kdNz7eZR/h9U6UuMOsG8DD27K+0crOrdB8TOlMZfgceEEL8QQqQKIQxCiDQhxB045zL+4n0RFUjpjMnQGLDNuI+goKB2m2qyL8MWP4bBRcvRWBt6UcjeYUqSDpsDNh/r2hO0Q0o+z7fyh/VNHG9y8LMxRq4f2XcnvDtDCMElgw1UmyVfFnTvabSg1kFKcNteRp7kqmEGBoRpKKh1cM0wA5cOMfjV5LO/cl6KnhA9vH+od62NDpWGlPIL4AacAX15QBNwGLgDuFFK+bmnBBFCzBVC5AghDgohTotIEU6edG3fKYQY66lj9xbCYYNu1IaILfuWiOqdHEpbStrwCZ0cRKBb8HdMtloSDr7WTUn9l4xQDfFBgvVdGHYpqXfw6JZmXttvYXiUlgemBpzmutkfGRLpDHZbcdjaZctMSklhnaPLSQq7g14j+M0EE3+eGsC5qX3P1dlXGHWCeQP07K7oXWuj01+ElPItKWUqMAw4BxgupUyVUr7pKSGEEFrgX8A813GuEEIMO6XZPCDT9boRZ1R6nyGm7Fsmr7+W0Vt/Q2jNPrf309oaGHjoBaoCMoiZ+xu0WjeGUpLHYRt+CQPKPsVQ378yvQghmJKoI6fKQXkHdRqabJLVRVYe2NDEPWubOFTt4LrhBn4x1titxHvdRWM3k1iygojj27r1wNBTLhqkp9EGXxV27Wm0slnSYPXOJHhbBOgEiX0smNIf8IW14fbjlpQyB8jxkhwTgYNSysMAQojXgUXA3lZtFgH/lVJK4DshRLgQIkFKecRLMnkEnbWezNx/E1e2hqqAdALMFYzddhfHIs8if9B1NAUmdrh/Rt5rGCzVHJr6F7JiYt0/7pwHcOR8THru8xwYc597O0kHMeXrSSl8F7MhgrL4GVRGTcSh9S9/h8mJOt7JtbLhiI2FA39IKyKl5ECVgzXFNjYftWFxOIO6Lh9iYHKijtBu5DvqCWHVexiy/0kCm48CUBM0gKK0i6mImQSid+ZR0sOc1sZn+VZmp+ndjoz2ZCS4wnu0zG28ecDKwWp7r7gK+4uNnsQPWXQBioGz3GiTBPit0giv2snQ/f/AYK7iQPIlhF3wJ8IiQqn5/CGitv+HmE0/pThhDkUZV2A1hJ62f3DdYZJKPiE/ZhYZUy7qWoBVaAJy6i9JXP1nSsq20hA7rlNZBxx+mdC6g9QaEwk2VxFzfAtWjYnymLMpi59JdfiIXrvZdURUgIahkRrWldi4cICearNkbYmNtSU2jjVKAnQwOUnHOUk6MsI8G5jmDlpbExl5r5BcsoJ6Qwx7x/2ZhEA7xi3PMGLvI9SbEihKXUJZ/AykxvvDMQsH6nngOzuriqzMz3Avd1dBrQMBJLcRsxLYUERYzT6OJMzul0ky+xrnpupZmWflg4NWfuWh9DEd4S9Ko61f3qm2vDttnA2FuBFXMsXU1N4PJdHYLWTkvUJK8YfUGeM5POVJBp5zKUaj84k9bOGfsZ1zG7Urfk9y7nskHPuagrSLKU2+8Ieneulg8IFnMOuC0cy6l4CArgfxaKf8HNuWlxh8+AW2RY+CNqJDg+sOM+Dwf4ms2kajPoq9Q24n9rzbCI6KombXSmzfv0ZM8dckHvuaZn0EZXHTORY/g4agdJ/eMKYk6nh+t4W/bmomt8qBBIZGalg4UM/4eB1GH3nehFftZEjOU5iay8iLnYNuzv1kDRiCEAI54zZqN/4PzfonyDrwFOl5r1GcupgjiXNwaD2XmfZUBoZrGRGl5dM8K+el6t36bgpqHSQEizbbJpWsIKl0JXZrE2Vpi7whsqILmHSCuRl63jpg5VC1vdPI+Z7iL0qjGGgdeJAMlHajDQBSymdxpjxh/PjxvTqQHFx3mKH7Hie4sZC8mNno5/+FrPTM0552deGJhC99AXPxLzB/fBeD8l4hsfgT8gdeRVncDBKOfEFo3QH2Dv0FQzNHdk8YvQntvL8Q9ta1RBWsoDLjhz+4qekYGXmvElf2DRZtEDnp1xBy7i/JSkk/IWvY6Ath9IXYmuqo2vo2csfrJBd/RGrx+9QFpFAWP5Nj8TN8UstjfLyO13MslDdKFgzQMy3Zt372WlsjAw6/TFLpp9QZ4th71qMMmLH0JGUvtDpCJ1+HnHQNdTs+QK75O5mHXiAt/02KkxdQmrwAmz7EK/ItGqTnzxudWWHnpHdu3RTWOhga2fb3aTRXADA07yWagtKoix7tSVEV3eC8VtbGL71sbQjpxuScEOK4lDKyjfVlUkr3B9rb718HHADOw1mjYzNwpZRyT6s2FwA/BebjHLp6Uko5sbO+x48fL7ds2dJlmWpra/n6668JCwtzbwdpJ6XofTLyXsOsDebQiDsYcP6NBAYGurV7497PcHx6D8G1udQEphNoqaDamITu+k+JiDztq3cfKbH9Zy72o7vZOPEZtAJSC98kqWQlEkFe3DwMM39D0qDhbk2yNx8voWHzq+j2vENY7X6sGhNbxzxCc0ha92XsJs02iUGLz90zI45vY0jOvzCaKzgcNw/TvPtJTBvk1rBYw/5VWL/+G+HH1mPTGClOuoCCjKVIL+QMenhTE6UNkr+dE9BhDEStRfLzVY1cNsTAvDaqFo7b8gvM0kCozoqsL+P78X/HHND/8p31NT4+bOHtA1bum2RiQLiW2tpaZs2a5fY9qDVCiK1SyvFtbXP30ey0X44QQs/JGW+7jZTShlMhfIaz4NObUso9QoibhRA3u5p9gtPd9yDwHHCrJ47tCUxNxxi9/fcMPPxfjoaN4chF7zBs4c+7dLECh80h6BcbqTv/cYz2RjT2Zion3dMzhQEuF9y/YbA3MnznA5y18UaSiz+mKHIq+QvfI+36F0gdku2eVxZgikwias5vCb3jOxr+7xvQmRi252GErblncnYDk074VGFobQ0M2f9PRu38IxZ07J30OInXvUBSG5ZlewQNPZfwW1bSeN1X1CVOI73oXYZt/yNam+djbBYONFBjlqwp7thdubDW6b7Z3iS4sbmSxqAU9Fe/hVYDw3Y8iLCpZNe+5rxUPcG94EnVWWr0b3HOG5iEEGtO2ZwMrPeUIFLKT3AqhtbrlrValsBtnjqepwiv2smI3X9BStg75HaS5v2SxPDwbvUlNFpCJv8YOeFKKotyGJCc5RkhE7Kxj76KqO3/5UjYOGon/IK08edjMnV/HF0IQVDaaByXPE/IqxeTvu9p8kb+0jPy9gGC6w4yYvdfMJqPczD+QgLm3c+w1IxuT7oHpo8n8Cfv0LzheaI+/w2jtvyGPaPu8+gT/NBIDYMjNHySZ2V6iq7dtCkn0oe0MQmusVsw2GpxBMUjogchLnmR0NcuI3P33zkw6h41Me5DAlxzG28fsHK42k60l0ZrO+v2P8ALgA14vtXrP8AttJ9i5IxAa2tg6P5/0KgL5/Cc/zHk0j8Q1k2F0RqhNxE9YBQGg+eq1OkufIyqq78i5IYPGTJ1YY8URms0mbOwnf1z0iq/IbL4yx73F1KbQ0rhux6QzItIyeADy5B2O/um/JPk6/5DUtoAj3hpmc6+HvsVbxNoq2bM1t8QUrPfAwI7EUKwcKCB482StR1YGwW1DqJMos28TwZLpXMhzOkqrh18PraZ95FYvZnEQ8s9Jquie5yXqifIy9ZGZxHhL0spXwLGuJZbXv+VUn4mpez9bFl+xMBDL2M0H6d4/D0Mnnie20M8PkGrJ2LgeIKDgz3etX7WfVgSxjPs8LOY6os636Edwqr3Mmr7fQw8/DKyodyDEnqWyONbCa3LJT9jKVmzrvKYAm5BP/hcxA1fIQzBjN7+e6KOfuuxvodHaRgYpuHjw1ZsjrbnMwtrHe0PTZmdSkMT/oNPiv6cX2AZehGDi98g/KjHBh8U3SBAJ5iXrmdnuZ2COu8co12lIYS4utXHyUKIH7f18o5Y/k941U4Sj3zG4bh5DJh2SZ+pJe0VtDoMl/8XdCaydndvfiO0Zh8jd/0Jh8uz2liV28kePkJK0vNfp8EQTeTMW7123bVxWRhuXYMlKouR+x8lKe8Nj0SUCyFYOEhPZbNkfenp1kazTXKsUXagNJyeU7rIVq7sQmBY8gyW6OEMP/AEprqCHsvZL5DtZyzwJuelOa2NT4u9Mz7VUa9XtFq+up3XVV6Rys/R2JsZkvMU9YZYTPPu9/iTZp8kLAnNkucIay4ibf+zXdo1tGYf2Tv/SJM2nOLZzznXNRZ6QcieE3n8e0LrcilMu5TYhCSvHksExxBw0xc0DryAzILXGLT3HwhHz4377Ggt6aFOa8N+irVRVOeMeenM0tBFnJKaXx+A/uo3EYZARux6EK2ltsdy9mVMTUc5e8OPiS/4oNePHaATzE3XY7ZDs9XzOak6UhrLWi2fL6Wc2cbrXI9L1AfIyPsfAc3HKBj9WxLTBvlaHL9BM2QO1om3kV7xFRGlq93aJ7RmP9k7/0STNowjc54lY9ICHEFxhDX5odKQkvT85TQYoomYcUvvWJd6E4FXvUrTxJ+TXL6a4dvuQ2et71GXzrkNPWWNku+OnGxt5HeSPsRorsSqDcQQcnpsjghLRnPFawRajzNk18OIfljTxS2kJDP3WYyWKgbnv0xg9YFeF+GCAXp+PsKBSe/5IfOOlMb/Wi1XevzIfZTQmv0kF39MXswsMmYsPbOHpdpAP+dPWOLGMOzgMxgbOk6WGFqTQ/bOP9KsDeXI+c+SOfYc5/cZP5LQpkLciSHqTSKPbzthZcQlnl4Ey2sIQcD8BzDPf5LI+gOM2vJrjI1txrW6zZhYLSkhGj46bMXR6nsurHUQYoDwdvJ0Gc0VNOkjTmQ3OBVN2tk45v2N2LrdpOQ83yMZ2+zf3szw3Q+RfvgVjM0VHu/fE0RXbCDq+FYOJS3Bbooia++jaGyNvSqDN13RO1IaR4UQPxVCnAvohBAzhRDnnvrymmR+iMZuYUjOP2nSR6Kd80C3gmb6PVo9hiteQWj1DN39MNgtbTYLqW1RGCGUnv8smeOmn1DAmoSRhJiPYLf4ke+/lKT1tpVxCsaJ12Jf+g4mRz1jt/6GwPr8bvfVYm0cbZBsOvqDRVBQ6yAtRNvu+RnNlTTpI9tVGgC6iT/GMvo6BhxbQVTxF92WsS3S898gpmIDaYXvcNZ3N5C1+yHCqvf4JINwW2htjQzK/Q/VphRCLnwQ7SXPE2wpI23fss537iN0pDSuAxYD/wYMOF1vn+d019szhrSCNwhqLCZvxC9IGeihGIr+SHgK4kf/JqKpgLSc507bHFKbw6gdf6RZG0zJ7JMVBgBxI9BIG4ba/N6TuRMij28jrO4AhamX9K6VcQr6QTPQ3LAKPVYiC1b0qK9xcVoSgwUfHbLgkBKbQ1JS33ENDWNzBRZTDBpNx5OshgsfxZw4kWGHlhFY7Znk2EH1BSQXf0Bh1DlUX7Oa6qFXElm1gzHbf8fYzbcTV/oFGrvZI8fqLun5r2O0HKdkzK+JiUtAM+AcbJN+RlrlN0SUfuNT2TxFu1deSrleSjlLSpkJ5EspM9p4DehFWX1KcN0hUgrfpTByGumzrlfDUp2gzboA6/ibyCj7nPAjP8SFhtQecCmMIEpm/5vB42ec/l3GO3NtBdUd7k2R20dK0gpep0EfRYQXPabcRRs7GOKziWjM79EQnkYIFg4wUFIv2XrMTkm9A7tsfz5DOKwYrDXYg+LcEFKPcenrOAKiGLb37z0fnpEOMnOXYdOYsM28j4gBo4m8/F9ofp1D1dQ/oBGSrANPMWn9j0k/9DLG5t532Q6qzyOp+CMKo2eQMe3SE78T/ez7sMSMJOvQMvSNZb0ul6dxyydLSjkIwFXy9WwhhO8etXyAcNgYkvNPLLoQHLMf7LDcquIH9HMfxBKbzbDcpzE0lBJSm0v2jj9g1gZRMmsZg8fPbPsGHDkQqTUS1tT9mA9PElG1jbDanN6fy+gAkTSWsKYC7La2h//cZWKClvhAwYeHrJ1OghssVQgkMqTjGjAnCIpCd8l/CLKUkdpFj7pTiT+6ivCavRwccC1pWT8U7dQGhBIx65cE/WoHdUuW0xAzmrSi95j03Q1k7foLoTXeKgF0Cq6s1FZdEI5z7zt56Fqrx3D5y2iFZMieR0F2z0FAOKzEHV3VY0eInuKW0hBCxAshvsGZ9+ld4JAQYo0Qws1fT98mpehdQurzOJR1G6lDsn0tTt9BZ8Bwxf/QanUM3/Vnsnfch0UbRPGsZQyecF77T+xaHTJmqH94ULniMhr9xMpoQSSNRecwY6jJ71E/GiG4cKCeojoHK/OsmLQQG9j+fAaA9lR3247kzDgH21m3kl7xNWFH13VLRp21lgGHXqIyMJO4Ob9sM4hWaDSEjJxPxM0rMN+8iaphVxNRvYfR2+4mrHxzt47bFRKOfElYbQ6HBlxH2tDRpzeIGgjzHyW6IYeEg693uX9jczmjt99D1v4nSDj4as8F7gHuRn8sA3YAEVLKBCAC2MbJbrn9ksCGQtLz36AkfCKp59/a6Viu4hQi0mDx04Q1F2PRBFJ8XicKw4VIyCa0uQi7zf1a4N6gxcooSPPtXMZpJI4BILj2YI+7mpSgIyZAcLRBkhKiadfzxuQa8jkpsM8N9LP/iDUqi2G5z6A3H++yfAMPvYzO1kjZWXcTFR3TaXtT/GAiL/0n2l/uxhIxkJH7HiG42nPpWE5Fb6lhwOGXKQ8aQvycO9q9R2jHLMU6ZBGZJW8TWLW3zTZtEXF8G+O2/pLA+gLqA1NJPL4B6fDd/8LdO+BU4FdSygYA1/tvgcneEswvkA6G7v8nVo0J83kPEhLinVoH/R3t8IU0XbKcikWvMXhi5woDQMSPxGirQzQc6wUJ26GVlRE+w3+sDACiBiH1gYQ35fW4K61GsGCgM5F1h5PgJyyNLhY20xnQXfYSemlm0J7Hu+TpFFqzj4SjX5IXP48BkxZ06bDaoAiMP/4IR0AMI3c9gKneO5brwEMvobU1UXHW74iM6qC2jBDoL/on9qA4hu17DI21k0zG0kFa/uuuOKYQDs58joB5fyLAWkXg0a6Xe/AU7iqNKmDYKeuGANUelcbPGFj+GaF1BziYeQNpw9pMLa9wk4Dh80kbcZb7N964EQAE1vpuMjyiartrLuNi4pN6vwJkh2i0yPhswhryPBLPMiVRx9QkHZMT2098bTRXYtOY2gzs6wwROxQ5+wHiancSU/Che/s4bAw+8DSN+igMs+/t0M233T5C4tH/+GM0OgPZO/6AwcMT5GHVe4g/torD8Rcw4Kx5ne9gCkN36YsEWSrJ2PevdpvpLbVk77yfjPzlFEdMpvaSdxk69UK0Q+fjMISQUH5q0vHew12l8QjwpRDiISHELUKIh4AvXOv7JaIqj6Gl73A0dDTJc3/h38kI+yNxwwEIbfRRHiNX9HejPpKwGbf5l5XhQiSNJbypAEcPJ8MBdBrBT0YaOywVeiKwr5tpc7STbsKSNp2hBa9gdCM/VXLxhwQ3FJI39GaSBwzp1jEBRNQAtNe8h1E2M2L7fR5LcSIcVgYfeIYGfRSmOe4rNZF2NrapvyLl+Lo2M0OH1uQwbusvCKvexd6BNxF67WukDBzq/A3qTTBsMYk1W5AWz9dccQd3vaeeAy4DooELXe9XuMqq9j8cDgK+uBMptNTPeMAj6c4VXSQgHEdoMqE+8qCKqNrhsjIu8T8rw4VIHItWWtFX9441ZnAjsK9DhMBw8XNIQxBZe//ebuAnOCd+0/Nf50joGFJm39xjpa1JGg2Xv0awuYxhO+73SDxHcvGHBDUWkZ91K0npmV3aVz/zLqwJ48g6/ByGhiPOlVKSVPwxo7f/DrsU7J/yJIMue/C0+49m9BXoHGZCS31jbXSqNIQQWiHEIWCdlPInUsr5rvdVvSCfbzDXIoSgMOtGMkZN8bU0ZywifiRhzT5IJ9IHrAyg1WR472QENporsJiie2Z1h8ShWfwvwpsKSM79b7vNMnOfQyKpn3YvoaGh3T9eK7SDZmK/6FkiGw4yZOdfED2YTDY1HXMqtbBxpMy6seu/Ea0O/WUvodHqGLLnUXTWeobt/RuZB5+jLGQEZYvfZth5V7ZdUyf1bOwhiSRXds8brad0qjSklHbADpw5qVwDwtH+3woGLPmjGpbyISJ+JMHNR7E3965futPK2E9Bqh/OZbQmcgAOQzARHpgM7wzhsGO0VGFzJ7CvEzRZC7BmL2Xg0Y8Jrth+2vaoio1EV27kUPLFpI8+p8fHa40+ewm2OY8QV7OdAXue6Hb6kUEHn0NCz5RaeCpiweNENR7krO9+Qkz5enJSrsRw7TtkDBvTviLSaNCMupzYut2Iht4PFnR3TuMfwJtCiOlCiIFCiAEtLy/K5ls0GoRyr/Ut8SMQODDWev+meIITHlN+bmUAaDSQMJrwHkaGu8MPgX0JHulPf8Ej2EJTGJbzJFrrD9WCNPZmMnOfo9aURNic36HX6z1yvJOOffaNmCf/mpTKNaQe6HpSRadS28yh5EvJGD2tR7JoRl2KJfsqbBoTe8Y/RNrSx4mMiu50PzHqcgSSyNKve3T87uDuXfEpYDbwNZCLM8jvoGtZofAOLg+q4PreUxpOK2MfBalL/NvKcKFJGkNoU5HXkzv+ULEv2UMdBqO79EUCbFWk7/3Biyg9/w1M5nKKRv2KuEQPHautw8/+PeZR1zLgyEfE573t9n5aWxOZuc9SY0ombM5d6HTte5u5i+Gip7D/fCfD5t/ofm2emCHY40aScnxdrw/funXGUkr1yK3ofSIykPogwpqLqOmN40lHq7mMn/aNQM7EMWilFWNNHvbY4V47zA8V+9I81qdIHo9t6m9I+fZhqoq/whw+iOTiDyiIOoeM6Vd418oTAuOixzE3lDP04CvYDGFUJM1GOOwYLMcxmiswmiswNVecWDaaKzE1HcNgq+XQWY8xzFNKTQiCQ7o+xKUZfSXhn92NvvowtoiBnpHFDTpUGkKIQOD3wAjge+CvUkrfppFUnDloNMjYLEJreiedyIDDrxBWu5+9mbcxtA9YGcAPk+F1udR4VWm4KvZ5UGkA6Gb8FmvuFww9/BzNgYlYNQHYZ97XO2UHNFqMl7+E+cWFDMt9GkvBcoyW4whOfnK3aUw0GSJp1EdSEzGOhrgJ3ldqbiBGXoz8/PfEHvmKUn9RGjiHpSYAK4GLgSjgZ94WSqFoQcRnE3b0dew2G1oPDAW0R0LpZ6QWvUt+zHkkXfDbvmFlAERk4DCGEtGY71VrzGiuxCYMGEJjPduxVof+0hewP302ofWH2Jt5G0NaJST0Ojojxmvepu7dO6ipPIYtKB4ZkogmPAVdVBq6yHQModGYTCZijEb/+l0Ex+LImE5y0QZKHNcjNL3jtNPZv3AeMFZKeUQI8U9gDUppKHoRET8Cvb0RTX0phHvn6T/i+PdkHljG0ZBsAn70z74VlyMEJIwh/NhhpJRee/o1mitoNnQ/sK9DIjNgyQuUbHiT+LltJyT0KsYQQq74D30xSZB2zFICD68ioGwbzfG9k7WiM7UZJKU8AiClLALCvC+SQtEKV22NwNpDXuk+qD6f4XseodaUhHnhMuISkrxyHG+iSR5LaHMxDov3Soq2BPa1GTfgAbRZ80n8vxfd8hxStGLIfBz6QBLKeq/AU2eWhk4IMRMQ7XymXwf5KXxP7DAkgtCmQjztH2QwVzJy1/1YhZGyWU+ROejU9Gp9hMQxaKQdQ/VB7HGjvHIIo7mC+uAhHvEWag9fzxH0SQyBkLWQxN0fkGdtAn2A1w/Z2S+gDGeZ1xYqT/ksgf4bq6HwPcZgZHgaYU1FeDLfrdbWxMhdD6Kz1pMz+R9kjT2n7960EkYDEFJ3kGpvKA1px2g5jj2w54F9Cs+jGX0Fmp2vE1y6lvq02d4/XkcbpZTp7ZR59Vi5VyFEpBDiCyFErus9op12LwghyoQQu3t6TEXfQiRkE9rkwXQi0k7Wvr8TXJ/HvhF3MmTGpf41wdlVwlNxmCKIaPJOckeDpQaNtOPwUGCfwsOkT8MeFE9y5dpeOZw//FPuAr5y1SL/yvW5LV4C5vaWUAr/QcSPJMhchr3JM9lJBx18nujKzezPuJ7M+bd5dcilVxACEscQ7qE06afi8cA+hWfRaNFkX0Js3S5EU6X3D+f1I3TOIuBl1/LLwOK2Gkkp1wBdL/ul6PvEjUAgMXmgtkZS8Uckl6zgcNw8kn/0R/cjcP0cTdJYQpqLvZKnyxuBfQrPIkZfgUbaiSjxfloRf1Aaca08tI4AHnYEV/R54j2TTiSqYiODDj5Padg4Qpc80b8qMSaOQYMDU03Py7+eyg+BfX0k4PFMJG449phhJPdCWpFeURpCiC+FELvbeC3y0vFuFEJsEUJsKS/3bKUuhQ8IS8FhDCWsufu1NYLrDjJs79+pCkjHsXgZ0bH9bFLXFRkeWu9512SjuRK70KEPi/d43wrPoRl9BZGNh9HV5Hv3OF7t3YWUcpaUckQbrw+AY0KIBADXe49z/Uopn5VSjpdSjo+J6bwQvcLPEQJihxPa2L3JcGNzOSN3PUizNpjK8/9FcsZgLwjpY0ITcQRGE97o+eSORnMFzfoIjCbvu3Mquo8YeQlSaIg96t0hKn8YnvoQuNa1fC3wgQ9lUfgpmoRswpqLsNusXd43I+9/aG2N5E95hEGjJ3tBOj+gZTK80fOT4UZzpbPMa3cr9il6h9AEHGlTST6+HulweO0w/qA0HgJmCyFycaZffwhACJEohPikpZEQYjmwARgihCgWQlzvE2kVviF+BDqHGV1dcZd201uqiS1bS1H0dIZMXdx3YzHcwDkZfgRHc13njbuA0VyB2RilCpL1AbRjlhJkKcdUvsNrx/C5r6GUshI4r431pcD8Vp+v6E25FH6Gq7ZGYO0hGiPdDw9KOPIFGmnDPvb/+r5rbWckjkHgwFSdizVgnGf6lBKjuRJr9Nn9WuH2G4YuwKELIL7sG8rTvJP51h8sDYWic2KzkELTpclw4bCTWLqSsuDhJIyc7kXh/ISWyHAPTobrrbVopA0ZrAL7+gTGYBh6AUnVm5DWZq8cQikNRd9AH4CMGEBok/u1NaIqN2EyV1KVeTFBQUFeFM5PCE3AERRHhAcnw1vcbUWYCuzrK2hGX4HB3kB09Tbv9O+VXhUKLyASRhLWVITDzUm+pJJPaNRHETnpSi9L5kckeXYyvCWwTx+lAvv6DBkzsAdEk1G70SvdK6Wh6DOI+JEEWiqQTdWdtg1sKCSieifFCXOIijlz4kU1iWMJNh/F0eSZkkwtloY2MsUj/Sl6Aa0OTfalRDbng93i8e6V0lD0HeKctTVMNZ2P2SeVfIJd6DGe/ZO+nYywqySOQSAJqD7gke6M5gocaNGHJXqkP0XvIGbeBT/fQUCw50sgnUH/JkWfx5VOJKQhv8NmWlsjcce+piTiLBIGjuwFwfyIxNGA5yLDnYF94RgDeqFmt8JzmMIwBYV4xeNNKQ1F3yEkAYcpolMPqvijX6OzN9OcfY3XKs35LcGxOEISCW/M90h3RnMlTQYV2Kf4AaU0FH0HISB+RMfpRKQksWQFxwMHEDfmzMykLxLHEt7kmclwp6UR1f9jXBRuo5SGok+hic8mtLkYu9Xc5vaIqh0ENZVQlraI0NDQXpbOPxBJYwg2H8PRWNWzjlyBfbbAWBXYpziBUhqKvkX8CLTSir6u7SGqxNJPMOtCCJt83Zl7o3NlvO3pZLjOVo/WYVEV+xQnoZSGom/RKp3IqRiby4iu2ExRzLnEJp7BLqIeSpP+Q2BfUo9FUvQflNJQ9C1ihiA1ujYnwxNLPwUkmok/ObOT6wVG4ghNIaIpv0fdnKjYF6GKLyl+QCkNRd9CZ0RGZRJ2SjoRjd1CwpEvOBI2loShE3wknP8gPBAZrir2KdpCKQ1Fn0MkjCT0lHQiMeVrMVhrqcu6goAAVSxIJI0lyFKObKjsdh9GcwUSgS5C5Z1S/IBSGoo+h4gbSYC1CtlQcWJdUskn1BoTiZnwIx9K5kecmAzP6XYXRnOlK7DvDEj2qHAbpTQUfQ9XZHiAK51ISO0BQutyOZJ8ARGRkb6UzH9IGAVAWEP3M946K/ZFqsA+xUkopaHoe7hyUIU0FgBOK8OqMRE0+SdnrpvtqQRE4AhP71HNcKO5gmZDJHq93oOCKfo6Smko+h7BMTgCYwhrLkRvqSG27FuKo6YRnzbI15L5FSJpDOFNeW6nkj8Vo7kSa4AK7FOcjFIair5JvLO2RvyRz53lXMf9WKW6OAWROJZASyU0lHd5X62tEZ29CUdwvBckU/RllNJQ9Ek0CSMJaS4lsWQlZcHDiB9xjq9F8j9ck+GB3YgMb4nRIFSlRFecjFIair5J3Eg00kaApZLjgy4mODjY1xL5Hycmww93edcTgX2RqmKf4mSU0lD0TVweVA26CCInXeFjYfwUUyj2iIGEN3V9MlwF9inaQykNRd8kKhN7SDIl6ZcQHavG3dtDkzyWiMY8HHZ7l/Y7oTRUYJ/iFNTMoaJvotWhuWMXqRbLmVXOtYuI9GmYdr2FsSoHa/Qwt/czmito1oVhDAzxonSKvoj6tyn6LEKjwWQy+VoM/2boAqTQEl2+vku7OaPBVcU+xekopaFQ9GeConCkTiapehOyC/EaRnMFTYbIM69crqJTlNJQKPo52hEXEWw+hr76oNv7GJsrsQbEqMA+xWkopaFQ9HeyLkQiiD621q3mWlsTensD9mBVsU9xOj5XGkKISCHEF0KIXNd7RBttUoQQXwsh9gkh9gghbveFrApFnyQ4FkfKJBJrNrtVX8NgcVXsC1UV+xSn43OlAdwFfCWlzAS+cn0+FRvwKyllFjAJuE0I4b4riEJxhqMd8SNCm0vRVXVeArbF3VYbcQaXzFW0iz8ojUXAy67ll4HFpzaQUh6RUn7vWq4D9gHqMUihcJesCwGILl/XadMTSkMF9inawB+URpyU8gg4lQMQ21FjIUQ6MAbY2EGbG4UQW4QQW8rLu56sTaHod4QmYE+aQGJV50NUqja4oiN6RWkIIb4UQuxu47Woi/0EA+8Av5BS1rbXTkr5rJRyvJRyfExMTE/FVyj6BdoRPyKsuQhdTX6H7YzmSsy6EIxBob0jmKJP0SsR4VLKWe1tE0IcE0IkSCmPCCESgLJ22ulxKoxXpZTveklUhaL/knUhfHY3kcfWUh6e0W4zZ8W+CEwqsE/RBv4wPPUhcK1r+Vrgg1MbCKez+PPAPinlY70om0LRfwhPwZ4whqTqjoeojOYKmvUqsE/RNv6gNB4CZgshcoHZrs8IIRKFEJ+42kwBrgbOFUJsd73m+0ZchaLvohnxI8KbCtDWFrXbxthcgSUgRuX0UrSJzxMWSikrgfPaWF8KzHctrwVUaKpC0UPEsIXwxb1EHltLRdiVp23X2M0YbHXYg+J8IJ2iL6AeJRSKM4mIdOxx2SRWb2lziMpoPu5cUIF9inZQSkOhOMPQjLiIyMZDaOtLT9vW4m6rDVeBfYq2UUpDoTjDEMOcnu4RR0/PRXWi+FKUitFQtI1SGgrFmUbUQOwxw0hsw4vqhKWhAvsU7aCUhkJxBqIZcRFRDblo6o+etN5orsSiDcIYfFreUIUCUEpDoTgjEcMWAxB+yhCVM7AvUlXsU7SLUhoKxZlIzGDsUYNJqt5y0mqDuYJmgyrzqmgfpTQUijMU5xBVDqLhh6SeRnMlFpMK7FO0j/plKBRnKGLYYgTyxBCVcFgxWquxB6rAPkX7KKWhUJypxGZhjxhIYtUm4IfAPhma6EupFH6OUhoKxZmKEM4hqvr90FihKvYp3EIpDYXiDEYMW4QGB2FH1v1QfCkyzcdSKfwZpTQUijOZ+JHYw9JIrN78QzS4KvOq6AClNBSKMxnXEFVM/V4C6/KwakwYQqJ8LZXCj1FKQ6E4wxHDFqGRdmIr1tNsUIF9io5RSkOhONNJHIM9JAmttNKkj1AV+xQdopSGQnGmIwSa4RcBYDZGo9VqfSyQwp9RSkOhUCCGLwbAERTvW0EUfo/Py70qFAo/IGkczWf9Akf0ZF9LovBzlNJQKBSg0WCa9ycyfC2Hwu9Rw1MKhUKhcBulNBQKhULhNkppKBQKhcJtlNJQKBQKhdsopaFQKBQKt1FKQ6FQKBRuo5SGQqFQKNxGKQ2FQqFQuI2QUvpaBq8ihCgHClqtigYqfCSOt+hv59Tfzgf63zn1t/OB/ndOPTmfNCllTFsb+r3SOBUhxBYp5Xhfy+FJ+ts59bfzgf53Tv3tfKD/nZO3zkcNTykUCoXCbZTSUCgUCoXbnIlK41lfC+AF+ts59bfzgf53Tv3tfKD/nZNXzueMm9NQKBQKRfc5Ey0NhUKhUHSTfqE0hBAvCCHKhBC7W60bJYTYIITYJYT4SAgR6lpvEEK86Fq/Qwgxo9U+41zrDwohnhRCiN4/G4+ez2ohRI4QYrvrFdv7ZwNCiBQhxNdCiH1CiD1CiNtd6yOFEF8IIXJd7xGt9rnbdR1yhBBzWq33l2vkyXPy+XXq6vkIIaJc7euFEE+d0lefvEadnFNfvEazhRBbXddiqxDi3FZ9df8aSSn7/As4BxgL7G61bjMw3bX8Y+AB1/JtwIuu5VhgK6Bxfd4EnA0IYCUwr4+fz2pgvB9cnwRgrGs5BDgADAMeAe5yrb8LeNi1PAzYARiBDOAQoPWza+TJc/L5derG+QQBU4GbgadO6auvXqOOzqkvXqMxQKJreQRQ4olr1C8sDSnlGuD4KauHAGtcy18AS1zLw4CvXPuVAdXAeCFEAhAqpdwgnd/qf4HF3pW8bTxxPt6X0n2klEeklN+7luuAfUASsAh42dXsZX74vhcBr0spzVLKPOAgMNHPrpFHzqlXhe6Arp6PlLJBSrkWaG7dT1++Ru2dk7/QjfPZJqUsda3fA5iEEMaeXqN+oTTaYTew0LV8CZDiWt4BLBJC6IQQGcA417YkoLjV/sWudf5CV8+nhRdd5vS9vhomaI0QIh3nE9BGIE5KeQScfwiclhI4v/eiVru1XAu/vEY9PKcW/OY6uXk+7dGXr1Fn9OVrtATYJqU008Nr1J+Vxo+B24QQW3GachbX+hdwfklbgH8A6wEbTjPtVPzJtayr5wOwVEo5Epjmel3dmwKfihAiGHgH+IWUsrajpm2skx2s9xkeOCfwo+vUhfNpt4s21vWVa9QRffYaCSGGAw8DN7WsaqOZ29eo3yoNKeV+KeX5UspxwHKcY8hIKW1SyjuklKOllIuAcCAX5403uVUXyUApfkI3zgcpZYnrvQ54DR8Ohwgh9Dh/6K9KKd91rT7mMpVbhjXKXOuLOdlaarkWfnWNPHROfnOdung+7dGXr1G79NVrJIRIBt4DrpFSHnKt7tE16rdKo8W7QQihAX4PLHN9DhRCBLmWZwM2KeVel1lXJ4SY5DI9rwE+8I30p9PV83ENV0W71uuBBTiHuHwhuwCeB/ZJKR9rtelD4FrX8rX88H1/CFzuGn/NADKBTf50jTx1Tv5ynbpxPm3Sx69Re/30yWskhAgHVgB3SynXtTTu8TXq6gy+P75wPnkfAaw4tej1wO04vQsOAA/xQyBjOpCDcxLpS5zZHFv6GY/zx3AIeKpln754Pjg9QbYCO3FOgj2By1vHB+czFaf5uxPY7nrNB6JwTuLnut4jW+1zj+s65NDKs8OPrpFHzslfrlM3zycfp8NGvet3OqwfXKPTzqmvXiOcD5cNrdpuB2J7eo1URLhCoVAo3KbfDk8pFAqFwvMopaFQKBQKt1FKQ6FQKBRuo5SGQqFQKNxGKQ2FQqFQuI1SGgqFQqFwG6U0FAoPIIR4VQjxwinrpgshKluidRWK/oBSGgqFZ/g5MN8VlY8QwgQ8B/xKupLJ9QQhhK6nfSgUnkApDYXCA0gpK4GfAc+60rr8AWe07X4hxHohRLU4vUjW/wlnQZ06IcRhIcRNrbbNEEIUCyHuFEIcBV7s3TNSKNpGPb0oFB5CSvmWEOIynGlgpuAspPU9zoyonwLnAe8IIYZKKctxJpZbABzGWXhrpRBis3TVTADigUggDfWAp/ATVBoRhcKDCCHicFoY9wAmYISU8upW2z8DXpNSvtzGvu8DX0spn3BZJJ/jLJbjl0WBFGcm6ulFofAgUspjQAXOxHZpwCWuoalqIUQ1zqRzLWms5wkhvhNCHHdtmw9Et+quXCkMhb+hhqcUCu9RBLwipbzh1A1CCCPOugjXAB9IKa0uS6N1gRw1DKDwO5SloVB4j/8BFwoh5gghtEIIk2uCOxkwAEagHLAJIeYB5/tSWIXCHZTSUCi8hJSyCFgE/A6ncigCfgNopLMC3M+BN4Eq4EqcxXQUCr9GTYQrFAqFwm2UpaFQKBQKt1FKQ6FQKBRuo5SGQqFQKNxGKQ2FQqFQuI1SGgqFQqFwG6U0FAqFQuE2SmkoFAqFwm2U0lAoFAqF2yiloVAoFAq3+X+iwCjsw0v5swAAAABJRU5ErkJggg==\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "fig, ax = plt.subplots()\n",
    "median_series.plot(kind='line',zorder=2,legend=True)\n",
    "percentile25.plot(kind='line',zorder=2,legend=True)\n",
    "percentile75.plot(kind='line',zorder=2,legend=True)\n",
    "plt.fill_between(median_series.index, percentile25, percentile75, interpolate=True, color='grey', alpha=0.5)\n",
    "ax.set_xlabel('Year',fontsize=12)\n",
    "ax.set_ylabel('Profit Gains',fontsize=12)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 31,
   "id": "1ab91ae2",
   "metadata": {},
   "outputs": [],
   "source": [
    "#3a"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 32,
   "id": "ccf00686",
   "metadata": {},
   "outputs": [],
   "source": [
    "cs = pd.read_excel(r\"C:\\Users\\Max\\Downloads\\credspread.xlsx\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 33,
   "id": "648a9066",
   "metadata": {
    "scrolled": true
   },
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>Month</th>\n",
       "      <th>Year</th>\n",
       "      <th>BAA</th>\n",
       "      <th>AAA</th>\n",
       "      <th>CredSpread</th>\n",
       "      <th>AvgCredSpread</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>1</td>\n",
       "      <td>1986</td>\n",
       "      <td>11.37</td>\n",
       "      <td>10.05</td>\n",
       "      <td>1.32</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>2</td>\n",
       "      <td>1986</td>\n",
       "      <td>10.62</td>\n",
       "      <td>9.67</td>\n",
       "      <td>0.95</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>3</td>\n",
       "      <td>1986</td>\n",
       "      <td>10.31</td>\n",
       "      <td>9.00</td>\n",
       "      <td>1.31</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>4</td>\n",
       "      <td>1986</td>\n",
       "      <td>10.16</td>\n",
       "      <td>8.79</td>\n",
       "      <td>1.37</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>5</td>\n",
       "      <td>1986</td>\n",
       "      <td>10.41</td>\n",
       "      <td>9.09</td>\n",
       "      <td>1.32</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "   Month  Year    BAA    AAA  CredSpread  AvgCredSpread\n",
       "0      1  1986  11.37  10.05        1.32            NaN\n",
       "1      2  1986  10.62   9.67        0.95            NaN\n",
       "2      3  1986  10.31   9.00        1.31            NaN\n",
       "3      4  1986  10.16   8.79        1.37            NaN\n",
       "4      5  1986  10.41   9.09        1.32            NaN"
      ]
     },
     "execution_count": 33,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "cs.head(5)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 34,
   "id": "63fca363",
   "metadata": {},
   "outputs": [],
   "source": [
    "#3b"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 35,
   "id": "3c1504f6",
   "metadata": {},
   "outputs": [],
   "source": [
    "df = df.join(cs.set_index('Year'), on='year')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "1a8d93d2",
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": 36,
   "id": "e410d142",
   "metadata": {},
   "outputs": [],
   "source": [
    "#3c"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 37,
   "id": "8379084e",
   "metadata": {},
   "outputs": [],
   "source": [
    "from sklearn.linear_model import LinearRegression"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "fde00407",
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": 38,
   "id": "359147b6",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "[<matplotlib.lines.Line2D at 0x2758a2b51f0>]"
      ]
     },
     "execution_count": 38,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAYYAAAD4CAYAAADo30HgAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjMuNCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8QVMy6AAAACXBIWXMAAAsTAAALEwEAmpwYAAAdXklEQVR4nO3df3Acd5nn8fdHspRYhgiiOD+wLdlbuLY2xuGHtcZsKBZW2YsJFxwooLxlsO8IJ9CGqlB1P5agKnLcleqgtmqB7JZzpyPZ2EEQXCxcEkhuScwebIHjIOcSFCeEaDdY8TpHTAImiYMtW8/9MS25W54ZzWhaM1L0eVVNqefp/nY/027rUXd/+zuKCMzMzCY1NToBMzObX1wYzMwsw4XBzMwyXBjMzCzDhcHMzDKWNDqBWl1wwQWxevXqRqdhZragHDhw4FcRsbzYvAVfGFavXs3w8HCj0zAzW1AkHSo1z5eSzMwsw4XBzMwyXBjMzCzDhcHMzDJcGMzMLGPB90qab4ZGhujf28+hY4doVjOn43TZ5VubWrn1mlvZtn5bnTI0MyvPhSFHQyND9N7dy/Hx4wAzFgWAkxMn+ci3PgLg4mBm84IvJeWof2//VFGoRhD07+2fg4zMzKrnwpCjsWNjDWlrZpYnF4YcdbZ3NqStmVmeXBhyNNAzQFtLW9XthBjoGZiDjMzMqufCkKNt67cxePUgXe1dADSrecY2rU2t3P7+233j2czmDS3073zu7u4OD6JnZlYdSQciorvYPJ8xmJlZRs2FQdK5kh6U9Iikg5I+l8TPl3SfpCeTn69NtblB0qikJyRdmYpvkDSSzLtJkmrNz8zMqpPHGcMJ4E8i4o3Am4DNkjYBnwb2RsRaYG/yHkmXAluBdcBmYKc0dTH+ZqAXWJu8NueQn5mZVaHmwhAFLyZvW5JXAFuAXUl8F3BNMr0FuCMiTkTEU8AosFHSJcB5EbEvCjc+dqfamJlZneRyj0FSs6SHgWeB+yJiP3BRRDwDkPy8MFl8BfB0qvnhJLYimZ4eL7a9XknDkoaPHj2ax0cwM7NELoUhIk5HxJuAlRT++n9DmcWL3TeIMvFi2xuMiO6I6F6+vOhXlpqZ2Szl2ispIn4D/B8K9wZ+mVweIvn5bLLYYWBVqtlK4EgSX1kkbmZmdZRHr6Tlkl6TTC8FrgB+BtwF7EgW2wHcmUzfBWyVdI6kNRRuMj+YXG56QdKmpDfS9lQbMzOrkzyG3b4E2JX0LGoC9kTEdyTtA/ZIuhYYAz4IEBEHJe0BHgNOAddFTI1P3QfcBiwF7k1eZmZWR37y2cxsEfKTz2ZmVjEXBjMzy3BhMDOzDBcGMzPLcGEwM7MMFwYzM8twYTAzswwXBjMzy3BhMDOzDBcGMzPLcGEwM7MMFwYzM8twYTAzswwXBjMzy3BhMDOzDBcGMzPLcGEwM7MMFwYzM8twYTAzs4yaC4OkVZL+QdLjkg5Kuj6Jny/pPklPJj9fm2pzg6RRSU9IujIV3yBpJJl3kyTVmp+ZmVUnjzOGU8C/j4g/ADYB10m6FPg0sDci1gJ7k/ck87YC64DNwE5Jzcm6bgZ6gbXJa3MO+ZmZWRVqLgwR8UxEPJRMvwA8DqwAtgC7ksV2Adck01uAOyLiREQ8BYwCGyVdApwXEfsiIoDdqTZmZlYnud5jkLQaeDOwH7goIp6BQvEALkwWWwE8nWp2OImtSKanx4ttp1fSsKTho0eP5vkRzMwWvdwKg6RXAX8HfCoifltu0SKxKBM/OxgxGBHdEdG9fPny6pM1M7OScikMklooFIWhiPhWEv5lcnmI5OezSfwwsCrVfCVwJImvLBI3M7M6yqNXkoBbgMcj4q9Ss+4CdiTTO4A7U/Gtks6RtIbCTeYHk8tNL0jalKxze6qNmZnVyZIc1nE58BFgRNLDSewzwOeBPZKuBcaADwJExEFJe4DHKPRoui4iTift+oDbgKXAvcnLzMzqSIUOQAtXd3d3DA8PNzoNM7MFRdKBiOguNs9PPpuZWUYel5IWpKGRIT5258f43enfnTVPiEg6RDWrmd4NvVzeeTnX33s9z738HAAdSzv40LoPcc+T9zB2bIzO9k4GegYA6N/bn4ltW7+tfh/MzKxGi/JS0tDIENu/vZ2JmKi4TbpYlNLa3EpEMD4xPhVra2lj8OpBFwczm1d8KWma/r39VRUFYMaiAHDy9MlMUQA4Pn6c/r39VW3LzKyRFmVhGDs29orenplZLRZlYehs73xFb8/MrBaLsjAM9AzQpOo+uoqO2JHV2txKS1NLJtbW0jZ1U9rMbCFYlIVh2/pt7H7fbs5tPrfo/HQRaFYzfd193P7+2+lY2jEV71jaQV93H13tXQjR1d7FrVtu5W+v+dtMzDeezWyhWZS9kszMFjv3SjIzs4q5MJiZWYYLg5mZZbgwmJlZhguDmZlluDCYmVmGC4OZmWW4MJiZWYYLg5mZZbgwmJlZRi6FQdKtkp6V9Ggqdr6k+yQ9mfx8bWreDZJGJT0h6cpUfIOkkWTeTZJmHrnOzMxyldcZw23A5mmxTwN7I2ItsDd5j6RLga3AuqTNTknNSZubgV5gbfKavk4zM5tjuRSGiPgh8Py08BZgVzK9C7gmFb8jIk5ExFPAKLBR0iXAeRGxLwoj++1OtTEzszqZy3sMF0XEMwDJzwuT+Arg6dRyh5PYimR6evwsknolDUsaPnr0aO6Jm5ktZo24+VzsvkGUiZ8djBiMiO6I6F6+fHmuyZmZLXZzWRh+mVweIvn5bBI/DKxKLbcSOJLEVxaJm5lZHc1lYbgL2JFM7wDuTMW3SjpH0hoKN5kfTC43vSBpU9IbaXuqjZmZ1cmSPFYi6evAO4ELJB0GbgQ+D+yRdC0wBnwQICIOStoDPAacAq6LiNPJqvoo9HBaCtybvMzMrI781Z5mZouQv9rTzMwq5sJgZmYZudxjsPnlit1XsPepvVPvL73gUl4af4lDxw4VXb6rvYur1l7FPU/ew9ixMTrbOxnoGQCgf2//VKySZQZ6Bti2ftvcf0gzmzO+x/AKM70ozFZLUwuSOHn6ZFXLtLW0MXj1oIuD2TznewyLSB5FAWB8YrxsUSi1zPHx4/Tv7c8lBzNrDBcGy93YsbFGp2BmNXBhsNx1tnc2OgUzq4ELwytMz5qeXNbT0tRCa3Nr1cu0tbRN3ZQ2s4VpUfdKGhoZKtqjJh0/f+n5ADz38nM0q5nTcZqOpR2cOH2CF0++CIAQQUz9nK6rvatuvXXu336/eyWZWU0Wba+koZEheu/u5fj48alYW0sbO964g12P7MrE8+DeOmY2n5TrlbRoC8PqL60u+hf05FnBXOhq7+IXn/rFnKzbzKwa7q5aRKmeM3NVFMpt08xsPlm0haERPWcm71eYmc1ni7YwDPQM0NbS1ug0zMzmnUVZGIZGhvj43R/P/QbzTJ5/+fm6bs/MbDYWXXfVoZEhtn9rOxNM1H3b6UtJ07vKTu8KWq5r6KFjh6ZukjepiYkofJZlLcsYPz3OyYnsMBX17C5rZgvfouuVVKo3Uj20Nrdy65ZbAc7qKjuTSga1K8fdZc0srVyvpEV3xtDInkEnT5/kw9/68Kzajk+M17Tt9OB2tT6QNjQyxPX3Xs9zLz8HFM5Uzl1yLs+//HzRBwXThbhZzVy07CKOvHhkKtba1Mr4xHjJhwz9MJ1ZffmMYQaVPNfQ1d4F0LAzkWq0tbRlzlQmn9aevNwEZH7pz4YQf7LmT9h3eF/V93FKPWTY2txKRGQKZKVnQaWecM9TPbbRiG3ZK9eCesBN0mbgy0Az8JWI+Hy55astDH/+3T/n5uGba0vS5rW48cwxPTQyVPIsLb1cLUpt46vv/yrb1m9Dn1Nu2y73efLaRjHFPkOe22jE+mtZ90zrq3Z7pT5/Nar9PAumMEhqBn4O/ClwGPgJ8GcR8VipNtUWhjz+AWz+m/xPMtO/dx6/eGZ7TM1m29Vuqx6fr9ZtNHL9ef8bxI1R9fby/J1UzedZSIXhbcB/jogrk/c3AETEfyvVZraFQbGM5Sf/gpZYUUPGUWSq+raVxQtO6zccb/7HGtZfmVedejfKqTdzsYEFZ7OWarzhwnUAPPrswSLrObOuyy66bNYZSYVj6ZH/9/Cs2r/x4jchQFX8XnjomYfKzD17H3W/ruj/+5IkmJ7Og//yk7JtNq74w6IrqvRj7T/8QNn5b1u1qcI1Fffjwz+m1PHz9lVvr3g9hX0jfjj2w5LLvKPzHTPOZ9o+/sGhH1ScQ9q4xni+5X+CTk3FXqmF4QPA5oj4WPL+I8BbI+KT05brBXoBOjs7Nxw6VPm1/cnCcO7pt3DRyf+SU+ZmZvX3y9bP8Lvmn069z6swzLdeScX+yDjrk0bEIDAIhTOG2Wzod80P8fS5H0ZR/jsHSqn876HirauLp00woZdmuf7KNcV5uawHat1XJHlUt46RvhEA1t+8vsi6znjkE49UnU1E9izozf/jzVWvA+Ch3v9bdZsNgxtKzCm+f37y78r/tZ9W+Fxne+tX3lq23f6P7Z+2nurOEd92y9tKJFQ4cn507Y+qWNvZLr/l7ZTaP//40UrOvpN0ovDZ/vi2Py65zA/+zQ9mnB/Juia9a9e7Ks4hbUIvMt701KzazmS+FYbDwKrU+5XAkRLL1mxCv8nrd98rzoReaHQKNfn9i18NwHhT+bPJP7jkvJq3Ndv/nG9Y0V51m5NN/1TV8petfE3V2zh7mz8vO/9Nq2rbxsmmJ8rO39BV2xhjJ5ofLznvD1dXv+4TzdMvT57x1t/rmHH+2esbqTqHuTbfhsT4CbBW0hpJrcBW4K48N5BnTw2bn9L/xn3dfRUtV4tS2+jr7iu5jdluu9znyWsb0331/V+d022UW3+5eZUq9+8zG6VymozPNL/SeF55zca8OmOIiFOSPgn8PYXuqrdGROnyO9vtzFFxmByD6aXxmS715Gfyaerp/diHRob46J0fzTwpnV622PwlTUs4NXGKWgnRpKbM8x9z+SVIk9JPlk/a+Z6dAAweGOR0nKZZzfRu6J2K52GmbeR5vNXj80w3eWzN1bMTk+tJPz/TsbSDL7/7y7lsI+99NtP+qHZ/TV9+cuic9AOjQEUPleZlXt18no3ZflFPo5QbI2n6AXHV2qvYc3BP5j/Lh9Z96KwxlEodEDM9CFVsfq0Pt0HphwKrjc+GvwzJrDILplfSbCy0wjDfNX2uKafupY0hxMSN9R8g0Wyh8Te4WVFDI0Os/tJqmj7XxOovrWZoZKghX2DUrObc1tWI/M1eaVwYFqmhkSF67+7l0LFDBMGhY4fovbuXq9ZeVdcvMGpraaN3Q28u22xtbp26Hmtms+fCsEj17+0/6ybw8fHj3PPkPQxePZjrX/GldLV3MXj1IDvfs5PBqwenBiOc3HZXexd93X10tXchRFd7Fz1reorm1rG0o+hNeDOrnu8xLFKl7iVMXqOvx70Gdx02axzfY7CzlLoWPxn3tXqzxcuFYZEa6Bk467p+W0vb1DX6YvPz1LOmZ87WbWa1cWFYpLat3zZ1XX/y+n36S2+mz+9Y2kHH0o6pZadf++/r7qNj6ZnH/V/V+iqWtSwruu2eNT3cv/3+unxOM6ue7zEsIFfsvoK9T+3NxFqbWmlpbin6tPX0b2cr9ZWZvmFrtvgspNFVrYRiRQHg5MRJTk6cLNLizAigk11RfzT2o8yQFJNxwMXBzKb4UtICUawoVOP4+HEGDwwW7aLav7e/pnWb2SuLC8MiUmo8orFjY3XOxMzmMxeGRaTUQ2vummpmaS4MC0St3TtLDT2R7qJqZgYuDAvG/dvvL1ocWptaS3YLnfxKzWJDTxTrompmBu6uama2KHlIDDMzq5gLg5mZZbgwmJlZRk2FQdIHJR2UNCGpe9q8GySNSnpC0pWp+AZJI8m8myQpiZ8j6RtJfL+k1bXkZmZms1PrGcOjwPuBH6aDki4FtgLrgM3ATmmqE/3NQC+wNnltTuLXAr+OiNcDXwS+UGNuZmY2CzUVhoh4PCKeKDJrC3BHRJyIiKeAUWCjpEuA8yJiXxS6Q+0Grkm12ZVMfxPomTybMDOz+pmrewwrgKdT7w8nsRXJ9PR4pk1EnAKOAR0UIalX0rCk4aNHj+acupnZ4jbj6KqS7gcuLjKrPyLuLNWsSCzKxMu1OTsYMQgMQuE5hhI5mJnZLMxYGCLiilms9zCwKvV+JXAkia8sEk+3OSxpCdAOPD+LbZuZWQ3m6lLSXcDWpKfRGgo3mR+MiGeAFyRtSu4fbAfuTLXZkUx/APh+LPTHss3MFqCavqhH0vuAvwaWA9+V9HBEXBkRByXtAR4DTgHXRUyN+dwH3AYsBe5NXgC3ALdLGqVwprC1ltzMzGx2PFaSmdki5LGSzMysYi4MZmaW4cJgZmYZLgxmZpbhwmBmZhkuDGZmluHCYGZmGS4MZmaW4cJgZmYZLgxmZpbhwmBmZhkuDGZmluHCYGZmGS4MZmaW4cJgZmYZLgxmZpbhwmBmZhkuDGZmluHCYGZmGTUVBkl/Kelnkn4q6duSXpOad4OkUUlPSLoyFd8gaSSZd5MkJfFzJH0jie+XtLqW3MzMbHZqPWO4D3hDRFwG/By4AUDSpcBWYB2wGdgpqTlpczPQC6xNXpuT+LXAryPi9cAXgS/UmJuZmc1CTYUhIr4XEaeStw8AK5PpLcAdEXEiIp4CRoGNki4BzouIfRERwG7gmlSbXcn0N4GeybMJMzOrnzzvMXwUuDeZXgE8nZp3OImtSKanxzNtkmJzDOjIMT8zM6vAkpkWkHQ/cHGRWf0RcWeyTD9wChiabFZk+SgTL9emWE69FC5H0dnZWTJ3MzOr3oyFISKuKDdf0g7gXwM9yeUhKJwJrEotthI4ksRXFomn2xyWtARoB54vkdMgMAjQ3d1dtHiYmdns1NoraTPwF8B7I+J4atZdwNakp9EaCjeZH4yIZ4AXJG1K7h9sB+5MtdmRTH8A+H6q0JiZWZ3MeMYwg78BzgHuS+4TPxARn4iIg5L2AI9RuMR0XUScTtr0AbcBSynck5i8L3ELcLukUQpnCltrzM3MzGZBC/2P8u7u7hgeHm50GmZmC4qkAxHRXWyen3w2M7MMFwYzM8twYTAzswwXBjMzy3BhMDOzDBcGMzPLcGEwM7MMFwYzM8twYTAzswwXBjMzy3BhMDOzDBcGMzPLcGEwM7MMFwYzM8twYTAzswwXBjMzy3BhMDOzDBcGMzPLcGEwM7OMmgqDpP8q6aeSHpb0PUmvS827QdKopCckXZmKb5A0ksy7SZKS+DmSvpHE90taXUtuZmY2O7WeMfxlRFwWEW8CvgN8FkDSpcBWYB2wGdgpqTlpczPQC6xNXpuT+LXAryPi9cAXgS/UmJuZmc1CTYUhIn6bersMiGR6C3BHRJyIiKeAUWCjpEuA8yJiX0QEsBu4JtVmVzL9TaBn8mzCzMzqZ0mtK5A0AGwHjgHvSsIrgAdSix1OYuPJ9PT4ZJunASLilKRjQAfwq1pzNDOzys14xiDpfkmPFnltAYiI/ohYBQwBn5xsVmRVUSZerk2xnHolDUsaPnr06EwfwczMqjDjGUNEXFHhur4GfBe4kcKZwKrUvJXAkSS+skicVJvDkpYA7cDzJXIaBAYBuru7ixYPMzObnVp7Ja1NvX0v8LNk+i5ga9LTaA2Fm8wPRsQzwAuSNiX3D7YDd6ba7EimPwB8P7kPYWZmdVTrPYbPS/p9YAI4BHwCICIOStoDPAacAq6LiNNJmz7gNmApcG/yArgFuF3SKIUzha015mZmZrOghf5HeXd3dwwPDzc6DTOzBUXSgYjoLjbPTz6bmVmGC4OZmWW4MJiZWYYLg5mZZbgwmJlZhguDmZlluDCYmVmGC4OZmWW4MJiZWYYLg5mZZbgwmJlZhguDmZll1PwNbnbG0MgQH7/747w0/lLFbbrau7hq7VXc8+Q9jB0bo7O986z3Az0DbFu/bQ4zNzM7w6Or5mRoZIgd397B6anRxfPT1tLG4NWDLg5mlhuPrloH/Xv756QoABwfP07/3v45WbeZ2XQuDDkZOza2oNdvZjbJhSEnne2dC3r9ZmaTXBhyMtAzQLOa52TdbS1tDPQMzMm6zcymc2HIybb129j1vl0sa1lWVbuu9i76uvvoau9CqOh733g2s3pyryQzs0VoznslSfoPkkLSBanYDZJGJT0h6cpUfIOkkWTeTZKUxM+R9I0kvl/S6jxyMzOz6tRcGCStAv4UGEvFLgW2AuuAzcBOaeoC/M1AL7A2eW1O4tcCv46I1wNfBL5Qa25mZla9PM4Yvgj8JyB9TWoLcEdEnIiIp4BRYKOkS4DzImJfFK5h7QauSbXZlUx/E+iZPJswM7P6qakwSHov8C8R8ci0WSuAp1PvDyexFcn09HimTUScAo4BHSW22ytpWNLw0aNHa/kIZmY2zYxjJUm6H7i4yKx+4DPAvyrWrEgsysTLtTk7GDEIDELh5nOxZczMbHZmLAwRcUWxuKT1wBrgkeSKz0rgIUkbKZwJrEotvhI4ksRXFomTanNY0hKgHXh+pvwOHDjwK0mHZljsAuBXM62rQeZrbvM1L5i/uc3XvGD+5jZf84JXfm5dpWbMenTViBgBLpx8L+kXQHdE/ErSXcDXJP0V8DoKN5kfjIjTkl6QtAnYD2wH/jpZxV3ADmAf8AHg+1FBX9qIWD7TMpKGS3XLarT5mtt8zQvmb27zNS+Yv7nN17xgcec2J8NuR8RBSXuAx4BTwHURUyPM9QG3AUuBe5MXwC3A7ZJGKZwpbJ2L3MzMrLzcCkNErJ72fgA4axyHiBgG3lAk/jvgg3nlY2Zms7NYhsQYbHQCZczX3OZrXjB/c5uvecH8zW2+5gWLOLcFPySGmZnla7GcMZiZWYVcGMzMLGNBFwZJm5NB+kYlfbrI/HdKOibp4eT12Urb1iG3/5jK61FJpyWdn8z7RTLQ4MOSch06VtKtkp6V9GiJ+UoGNxyV9FNJb6n0M9Uht21JTj+V9GNJb0zNa+Q+a+RxNlNujTrOVkn6B0mPSzoo6foiyzTkWKswt7ofaxXmVZ9jLSIW5AtoBv4J+D2gFXgEuHTaMu8EvjObtnOd27Tlr6bw3Mbk+18AF8zRfnsH8Bbg0RLzr6LQhVjAJmB/PfZZhbn9EfDaZPrdk7nNg33WkOOsktwaeJxdArwlmX418PMi/z8bcqxVmFvdj7UK86rLsbaQzxg2AqMR8c8RcRK4g8JAfHPddi7W/2fA13PcfkkR8UPKP1G+BdgdBQ8Ar1Fh8MO53mcz5hYRP46IXydvHyD7FP2cqWCfldLwfTZNPY+zZyLioWT6BeBxzoyLNqkhx1oluTXiWKtwn5WS6z5byIWh1EB9071N0iOS7pW0rsq2c50bktooDD3+d6lwAN+TdEBSb455VaLcAIhzuc+qdS1nHo6Exu4zaMxxVrFGHmcqfLfKmymMdpDW8GOtTG5pdT/WZshrzo+1OXnyuU4qGXTvIaArIl6UdBXwvygMz1HxgH1zmNukq4EfRUT6r77LI+KIpAuB+yT9LPnLsB5mMwBiXUl6F4X/rG9PhRu5zxp1nFWjIceZpFdRKEafiojfTp9dpEndjrUZcptcpu7H2gx51eVYW8hnDKUG6psSEb+NiBeT6XuAFhW+ZW7GtnOdW8pWpp3eR8SR5OezwLcpnCbWS7kBEOdyn1VE0mXAV4AtEfHcZLyR+6yBx1k16n6cSWqh8AtuKCK+VWSRhh1rFeTWkGNtprzqdqzlfQOlXi8KZzv/TGGE18mbLeumLXMxZx7i20jhW+ZUSdu5zi1ZbnIE2WWp2DLg1anpHwObc953qyl9I/U9ZG8IPljNZ5rj3DopfOnTH02LN3qfNeQ4qyS3Rh1nyeffDXypzDINOdYqzK3ux1qFedXlWFuwl5Ii4pSkTwJ/T+GO/K1RGLzvE8n8/05hlNY+SaeAl4GtUdijRdvWOTeA9wHfi4iXUs0vAr6twlDmS4CvRcT/zis3SV+n0LPhAkmHgRuBllRe91DoLTIKHAf+bbnPlFdeFeb2WQpf3rQz2T+nojDCZKP3WUOOswpzgwYcZ8DlwEeAEUkPJ7HPUPiF2+hjrZLcGnGsVZJXXY41D4lhZmYZC/keg5mZzQEXBjMzy3BhMDOzDBcGMzPLcGEwM7MMFwYzM8twYTAzs4z/D3kRS0rogrG6AAAAAElFTkSuQmCC\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "train = df[['AvgCredSpread','profit gains']].dropna()\n",
    "X = train.AvgCredSpread.values.reshape(-1,1)\n",
    "y = train['profit gains'].values.reshape(-1,1)\n",
    "reg = LinearRegression().fit(X, y)\n",
    "plt.scatter(X, y,color='g')\n",
    "plt.plot(X, reg.predict(X))\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 39,
   "id": "5f8c777e",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "The change in 1% avg cred spread causes change in profit gains by [[-0.01094426]]\n"
     ]
    }
   ],
   "source": [
    "#let Avg cred spread = 0.9\n",
    "avgcredspread = 0.9\n",
    "delta_avg_cred_spread = 1/100*avgcredspread\n",
    "new_avgcredspread = avgcredspread+delta_avg_cred_spread\n",
    "prev_predicted = reg.predict(np.array([[avgcredspread]]))\n",
    "new_predicted = reg.predict(np.array([[new_avgcredspread]]))\n",
    "print(\"The change in 1% avg cred spread causes change in profit gains by \"+str(new_predicted-prev_predicted))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "325e566d",
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.8.8"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 5
}