794 lines
224 KiB
Plaintext
794 lines
224 KiB
Plaintext
{
|
||
"cells": [
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 16,
|
||
"id": "462ce5a7",
|
||
"metadata": {},
|
||
"outputs": [],
|
||
"source": [
|
||
"import pandas as pd\n",
|
||
"import seaborn as sns\n",
|
||
"import matplotlib.pyplot as plt\n",
|
||
"import numpy as np\n",
|
||
"\n",
|
||
"import matplotlib.transforms as mtransforms\n",
|
||
"from matplotlib.patches import FancyBboxPatch"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 19,
|
||
"id": "da5ac3c1",
|
||
"metadata": {},
|
||
"outputs": [],
|
||
"source": [
|
||
"pnoe_df = pd.read_csv('data/pnoe_data.csv', delimiter=';')\n",
|
||
"patients_info = pd.read_excel('data/patients_data.xlsx')\n",
|
||
"spirometry_df = pd.read_csv('data/spirometry_data.csv')"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": null,
|
||
"id": "4eb44d7c",
|
||
"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>T(sec)</th>\n",
|
||
" <th>PHASE</th>\n",
|
||
" <th>HR(bpm)</th>\n",
|
||
" <th>VO2(ml/min)</th>\n",
|
||
" <th>VCO2(ml/min)</th>\n",
|
||
" <th>RER</th>\n",
|
||
" <th>VE(l/min)</th>\n",
|
||
" <th>FEO2</th>\n",
|
||
" <th>FECO2</th>\n",
|
||
" <th>FETO2</th>\n",
|
||
" <th>...</th>\n",
|
||
" <th>EE(kcal/min)</th>\n",
|
||
" <th>CARBS(kcal)</th>\n",
|
||
" <th>CARBS(%)</th>\n",
|
||
" <th>FAT(kcal)</th>\n",
|
||
" <th>FAT(%)</th>\n",
|
||
" <th>MET</th>\n",
|
||
" <th>CUMULATIVE EE(kcal)</th>\n",
|
||
" <th>BP(kPa)</th>\n",
|
||
" <th>Watts</th>\n",
|
||
" <th>Speed</th>\n",
|
||
" </tr>\n",
|
||
" </thead>\n",
|
||
" <tbody>\n",
|
||
" <tr>\n",
|
||
" <th>0</th>\n",
|
||
" <td>3.0</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>64.0</td>\n",
|
||
" <td>225.40</td>\n",
|
||
" <td>204.22</td>\n",
|
||
" <td>0.91</td>\n",
|
||
" <td>8.29</td>\n",
|
||
" <td>0.1751</td>\n",
|
||
" <td>0.0352</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>0.00</td>\n",
|
||
" <td>0.00</td>\n",
|
||
" <td>0.00</td>\n",
|
||
" <td>0.00</td>\n",
|
||
" <td>0.00</td>\n",
|
||
" <td>1.19</td>\n",
|
||
" <td>0.00</td>\n",
|
||
" <td>99.46</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>1</th>\n",
|
||
" <td>8.0</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>62.0</td>\n",
|
||
" <td>383.07</td>\n",
|
||
" <td>382.56</td>\n",
|
||
" <td>1.00</td>\n",
|
||
" <td>14.36</td>\n",
|
||
" <td>0.1769</td>\n",
|
||
" <td>0.0350</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>1.91</td>\n",
|
||
" <td>0.16</td>\n",
|
||
" <td>99.55</td>\n",
|
||
" <td>0.00</td>\n",
|
||
" <td>0.45</td>\n",
|
||
" <td>2.03</td>\n",
|
||
" <td>0.16</td>\n",
|
||
" <td>99.46</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>2</th>\n",
|
||
" <td>12.0</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>62.0</td>\n",
|
||
" <td>310.11</td>\n",
|
||
" <td>298.57</td>\n",
|
||
" <td>0.96</td>\n",
|
||
" <td>11.56</td>\n",
|
||
" <td>0.1765</td>\n",
|
||
" <td>0.0349</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>1.54</td>\n",
|
||
" <td>0.09</td>\n",
|
||
" <td>87.60</td>\n",
|
||
" <td>0.01</td>\n",
|
||
" <td>12.40</td>\n",
|
||
" <td>1.64</td>\n",
|
||
" <td>0.26</td>\n",
|
||
" <td>99.46</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>3</th>\n",
|
||
" <td>14.0</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>61.0</td>\n",
|
||
" <td>296.31</td>\n",
|
||
" <td>293.30</td>\n",
|
||
" <td>0.99</td>\n",
|
||
" <td>11.12</td>\n",
|
||
" <td>0.1778</td>\n",
|
||
" <td>0.0351</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>1.48</td>\n",
|
||
" <td>0.05</td>\n",
|
||
" <td>96.61</td>\n",
|
||
" <td>0.00</td>\n",
|
||
" <td>3.39</td>\n",
|
||
" <td>1.57</td>\n",
|
||
" <td>0.31</td>\n",
|
||
" <td>99.46</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>4</th>\n",
|
||
" <td>17.0</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>60.0</td>\n",
|
||
" <td>189.86</td>\n",
|
||
" <td>175.37</td>\n",
|
||
" <td>0.92</td>\n",
|
||
" <td>7.32</td>\n",
|
||
" <td>0.1772</td>\n",
|
||
" <td>0.0328</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>0.93</td>\n",
|
||
" <td>0.03</td>\n",
|
||
" <td>74.56</td>\n",
|
||
" <td>0.01</td>\n",
|
||
" <td>25.44</td>\n",
|
||
" <td>1.00</td>\n",
|
||
" <td>0.36</td>\n",
|
||
" <td>99.46</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" </tr>\n",
|
||
" </tbody>\n",
|
||
"</table>\n",
|
||
"<p>5 rows × 28 columns</p>\n",
|
||
"</div>"
|
||
],
|
||
"text/plain": [
|
||
" T(sec) PHASE HR(bpm) VO2(ml/min) VCO2(ml/min) RER VE(l/min) FEO2 \\\n",
|
||
"0 3.0 NaN 64.0 225.40 204.22 0.91 8.29 0.1751 \n",
|
||
"1 8.0 NaN 62.0 383.07 382.56 1.00 14.36 0.1769 \n",
|
||
"2 12.0 NaN 62.0 310.11 298.57 0.96 11.56 0.1765 \n",
|
||
"3 14.0 NaN 61.0 296.31 293.30 0.99 11.12 0.1778 \n",
|
||
"4 17.0 NaN 60.0 189.86 175.37 0.92 7.32 0.1772 \n",
|
||
"\n",
|
||
" FECO2 FETO2 ... EE(kcal/min) CARBS(kcal) CARBS(%) FAT(kcal) FAT(%) \\\n",
|
||
"0 0.0352 0 ... 0.00 0.00 0.00 0.00 0.00 \n",
|
||
"1 0.0350 0 ... 1.91 0.16 99.55 0.00 0.45 \n",
|
||
"2 0.0349 0 ... 1.54 0.09 87.60 0.01 12.40 \n",
|
||
"3 0.0351 0 ... 1.48 0.05 96.61 0.00 3.39 \n",
|
||
"4 0.0328 0 ... 0.93 0.03 74.56 0.01 25.44 \n",
|
||
"\n",
|
||
" MET CUMULATIVE EE(kcal) BP(kPa) Watts Speed \n",
|
||
"0 1.19 0.00 99.46 0.0 0.0 \n",
|
||
"1 2.03 0.16 99.46 0.0 0.0 \n",
|
||
"2 1.64 0.26 99.46 0.0 0.0 \n",
|
||
"3 1.57 0.31 99.46 0.0 0.0 \n",
|
||
"4 1.00 0.36 99.46 0.0 0.0 \n",
|
||
"\n",
|
||
"[5 rows x 28 columns]"
|
||
]
|
||
},
|
||
"execution_count": 20,
|
||
"metadata": {},
|
||
"output_type": "execute_result"
|
||
}
|
||
],
|
||
"source": [
|
||
"df = pnoe_df.apply(pd.to_numeric, errors='ignore')\n",
|
||
"df['VO2 Pulse'] = df['VO2(ml/min)'] / df['HR(bpm)'] # VO2 Pulse in mL/beat\n",
|
||
"df['VO2 Breath'] = df['VO2(ml/min)'] / df['BF(bpm)'] # VO2 per Breath in mL/breath\n",
|
||
"df['CHO'] = df['EE(kcal/min)'] * df['CARBS(%)']/100\n",
|
||
"df['FAT'] = df['EE(kcal/min)'] * df['FAT(%)']/100\n",
|
||
"# Smooth key columns using rolling window\n",
|
||
"window_size = 10\n",
|
||
"\n",
|
||
"# List of columns to smooth\n",
|
||
"columns_to_smooth = ['VO2(ml/min)', 'VCO2(ml/min)', 'HR(bpm)', 'VT(l)', 'BF(bpm)', 'VE(l/min)', 'VO2 Pulse', 'VO2 Breath', 'CHO', 'FAT']\n",
|
||
"\n",
|
||
"# Apply smoothing to each column\n",
|
||
"for col in columns_to_smooth:\n",
|
||
" if col in df.columns:\n",
|
||
" df[f'{col}_smoothed'] = df[col].rolling(window=window_size, min_periods=1).mean()"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 11,
|
||
"id": "2fa8ff13",
|
||
"metadata": {},
|
||
"outputs": [
|
||
{
|
||
"data": {
|
||
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAxoAAAJ8CAYAAAB5mtehAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjYsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvq6yFwwAAAAlwSFlzAAAPYQAAD2EBqD+naQAAhuhJREFUeJzt3Xd8W9X9//HXlbxjJ7bjOHuTRUIWIQOyIMxAyg5Q9miBAt9vobSli9LJ7LdlFEqhwK9QZgl7BEiAEAjZIXtvJ3GceG9b9/7+OLZix05i2bKvxvv5eAgkWZI/jmXpvnXO5xzLcRwHERERERGRIPK4XYCIiIiIiEQeBQ0REREREQk6BQ0REREREQk6BQ0REREREQk6BQ0REREREQk6BQ0REREREQk6BQ0REREREQk6BQ0REREREQk6BQ0REREREQk6BQ0REREREQk6BQ0REREREQk6BQ0REREREQk6BQ0REREREQk6BQ0REREREQk6BQ0REREREQk6BY0ItGnTJoYMGcKgQYP44Q9/6HY5QXX11VczaNAgBg0axD333OO/fvfu3f7rBw0axMKFC1vl+//ud7/zf4958+a1yvcQERERiQQxgdx44cKFXHPNNce83YUXXsgDDzzQ7KKuvvpqFi1a1OzHOu2008jKyvJfjo2N5fPPP6dTp071blddXc20adPYt29fves3bNjQzMpDw//93/9h2zYAN910U72vzZs3j4ULF7J8+XL27dvHwYMHsSyLLl26cPLJJ3P99dfTs2fPeve55557eOutt5r0vefMmUOPHj0Cqnft2rW8+OKLLF68mP379xMTE0PHjh0ZNmwYF198MRMnTgzo8VrT9ddfz2uvvYbP5+Ovf/0rkyZNwrIst8sSERERCTkBBY1wVVVVxauvvsodd9xR7/pPPvmkQcgId6tXr2bu3LkADB48mLFjx9b7+m233UZlZWWD+23bto1t27Yxa9Ysnn76acaNG9es7x/oQfcTTzzBE088geM4/usqKiooKSlh586dJCUlhVTQ6NWrF1OmTGHu3LmsXbuWTz/9lDPPPNPtskRERERCTouCxvTp0xk2bFiD6wcMGNCSh20Vr732GjfffDNxcXH+61588UUXK2odr732mv/8ueee2+htPB4PY8aMYfTo0Xg8Hr744gvWrl0LQFlZGffccw9z5szB4zEz66ZPn37E3+nTTz9NQUEBYH7v3bp1a3KtL7/8Mo8//rj/8qhRoxg1ahQdOnSgoKCALVu2kJaW1uTHayvnnnuuP8y99tprChoiIiIijWhR0Jg0aRIXXXTREb9eXV3NE088wZo1a9i2bRv5+fmUlZWRnJxM//79Oeecc7j88suJjY0F4PHHH+eJJ56o9xhvvfVWvWk7gU7N8Xg82LZNTk4OH330Eeeffz4Aa9asYdmyZQB4vV58Pl+j91+3bh2vvfYaa9asYd++fRQUFOA4DhkZGYwYMYKrrrqKMWPGNPi5X3rpJT766CO2bNlCaWkpKSkpZGRkMHToUKZMmVIvBGzYsIFnnnmGZcuWsX//fjweD+np6fTq1cv/PTp37nzMn7W8vJwPPvjAf7mxA+ALL7yQH/zgB/WmR91xxx1cd911/r6GPXv2sGnTJgYNGgTA5MmTmTx5coPHWrZsmT9kANxwww1NHtEoLi7mL3/5i//y7373Oy6//PIm3bepPvzwQ5599lm2bNlCUlISU6dO5Sc/+QkZGRn1bjdnzhxefvll1q1bR0FBAfHx8aSnpzNw4EBGjBjBD37wA3/oAjj11FOJjY2lqqqKb775hr1799K1a9eg1i4iIiIS7lp16lRFRQVPPfVUg+vz8/NZunQpS5cuZe7cuTz77LN4vd5WqWH8+PGsWLGC0tJSXnrpJX/Q+Pe//+2/zamnnspnn33W6P2XLl3KK6+80uD6PXv2sGfPHj7++GP+/Oc/1wtcv/71rxv0NOTn55Ofn8/mzZvZvn27P2hs3ryZyy67jLKysnq337t3L3v37mXhwoWcdNJJTQoaK1asoKSkBID09HT69OnT4Da///3vG1zn8Xg488wz6zVQV1VVHfP7/etf//Kf79y5M+edd94x71Nr9uzZFBcXA9ClSxeys7OZMWMGO3fuJCEhgRNPPJGbb76ZESNGNPkx63ruuef44osv/JfLy8uZNWsWixcv5vXXXyc9PR2AWbNm8Ytf/KLefaurqykpKWHXrl3MmTOH6667jvj4eP/X27Vrx8CBA1mzZg22bbNgwYKjBm4RERGRaNSioPHVV1+Rl5fX4Prp06fTtWtXLMuiZ8+ejBgxgs6dO9OhQweqqqrYtm0bH3/8MdXV1XzzzTfMnj2b6dOnc8opp5CUlMQrr7zCrl27ABg2bBjTp0/3P3ZqampANaakpHDhhRfyn//8h5UrV7JixQp69uzJhx9+CMDYsWMZPHjwEYNGXFwcI0eOZPDgwaSmptKuXTuKiopYsGABq1atwnEcHnzwQaZPn05CQgIlJSW8++67/vufddZZHH/88RQVFbFnzx4WL15c7/Hfeustf8jo0qUL3/ve90hMTGTfvn1s2rSJ7777rsk/65IlS/znhw4d2uT7AWzdutV/vl27dvTr1++ot9+2bZt/+hDANddcU29a2rEsX77cf37fvn08+eST/svl5eXMmTOHL7/8kocffrje77+pvvjiC8aNG8eYMWNYtmwZCxYsAGDXrl08/PDD3H///QD1QuQJJ5zA1KlT8fl87Nu3j++++44tW7Y0+vgnnHACa9asAcy/u4KGiIiISH0tChoffvih/4C9rmHDhtG1a1eSkpL47LPPOHjwICtWrCA7O5vy8nKOP/54Nm7cyMaNGwGYP38+06dPZ/To0YwePZovvvjCHzQGDBjAjTfe2JIyueqqq3j55ZdxHIcXX3yRvn37+huir7766qOuMjVz5kxmzpzJ+vXr2bhxI/n5+Xi9XqZNm8aqVasAM1qxevVqxowZQ3V1tX8aVnJyMo888ki9A3DHcdi9e7f/ckVFhf/8lVde2WA52rpTk46l9t8MCGgqz5IlS3j99df9l2+44QaSkpKOep/nn3/ev7JVcnJywNOecnJy6l2Oi4tj5syZxMfH8/rrr1NUVER1dTW//vWvmTBhQsC9GhMnTuTZZ5/Fsiwcx+Gmm25i/vz5ALz33nvce++9JCYm1vv3//Wvf83IkSPrPc7u3bv9U/vq6tKli/983X93ERERETFadepUeXk5v/vd73j77bf9B6WNyc7Obs0y6NevH5MmTWLevHnMnj2blJQUALp37860adOOGjTWrFnDz3/+czZt2nTU71G7elWHDh0YMGAAmzZtori4mGnTpnHCCSfQu3dvBg0axIQJE+r1R4wZM8bflP63v/2NuXPn0rdvX/r27cuIESMYM2ZMk6eV5ebm+s936NChSfeZM2cOd999t3+q1LnnnsuPfvSjo97n4MGDvP322/7LM2fOJDk5uUnfr9bhU7N+9rOfcfXVVwPm3+TWW28FoKSkhLlz53LxxRcH9PgzZszw94tYlsWMGTP8QaOqqoqNGzf6/31rf//XX389o0aNonfv3hx33HGMGTPG36dyuLoja3X/3UVERETEaFHQuP/++486ZeQvf/kLs2bNOubjNLbcarBdffXVzJs3j6qqKv+B4fe///2jHsSXl5dz8803N/j0vTF1f4ZHHnmEn/zkJ2zevJn9+/czZ84c/9c8Hg/XXHONvy/g7LPP5oYbbuCll16isrKS5cuX15tW1L17d55++ulWWcnrhRde4MEHH/SHwIsvvpg//OEP9RqfG/PSSy/5RwJiY2O57rrrAv7etWGvVt1leA9fknfnzp0BP37Hjh2PermwsBCAu+66i127djFv3jxKS0v5+uuv+frrr+vV8vTTTzcY4am7HK+IiIiINNSqO4N/9NFH/vMDBw7k/fffZ82aNWzYsIGzzz67Nb91A5MmTaJv377+y4mJiVx66aVHvc/ixYvrhYwbbriBBQsWsGHDBlasWHHE+w0ePJgPPviAd999lwceeIBbbrnFv2qTbdu88MILfPvtt/7b//znP+ebb77hn//8J7/4xS+4/PLLyczMBCArK4vf/e53TfoZ604vqj2QbozP5+O+++7j/vvv94eMO+64gz//+c/HHD0pKyvj5Zdf9l8+77zzmtSofrhAglPdRuymOnjw4FEvt2/fHjDTvp555hm+/PJLHn30Ue68805mzJhBYmIiAIsWLeLZZ59t8Ph1p7TVNpaLiIiIyCGtGjTy8/P958eNG8eAAQOIiYkhNzfXv/N3Y2JiDg20HL4aU3NZluWfmgPwve9975jTi+rWD2Y6Tu1BZd0Qdbh169YBMGjQIC688ELuvPNOnnnmmXrTcGr3rdi1axeFhYWkpKQwZcoUrrvuOn73u99x7733+m9b23R8LHWnZO3du7fR2xQXF/PDH/7Q3wQdGxvLww8/zO23396k7/Hmm2/6/10syzpq/8ysWbMYNGiQ/1TX1KlT612u2yR/eMN8Y3u1HMt7773nH3VwHIf33nvP/7XY2FgGDhwIwMaNG6mqqqJLly6cffbZ3HLLLTzyyCNccskl/tvX/q7qqvvvG+hO6CIiIiLRoFV7NPr27etv+H7jjTfweDwkJibyzjvvHHVee91PyL/88kseeeQR0tLSSEtLa9HqPhdddJH/sYcPH96k+uv66U9/yjnnnENWVla9laUON3PmTDIzMxkzZgyZmZkkJyezfv36er0gtVOHPvroIx577DHGjRtH79696dSpE2VlZbz//vv+29Z++n4so0eP9p9v7OAY4IorrvD/TsCM9OTk5NRbqhbM3hmHjzr4fD5eeOGFo96mqYYNG8bEiRP9fRMPPfQQ27dvJz4+njfeeMN/u379+nHKKacE/Pjz58/n2muv5aSTTmLp0qX+VaeAeiMWDz74IKtWrWL8+PF07dqV9PR09u/fX2/K3+HTvMDswF7r8H1URERERKSVg8Ytt9zCXXfdBZh+h//3//4fAJ06deKUU06pNxe+rjPOOMO/D0VZWRnPPPMMYKbbtCRoJCYmcvrppzf59sOGDWPSpEl89dVXgNnzonYn6wsvvLDBXhl17d69u97qUnX16NGj3tSxqqoq5s+f7z/oPtxNN93UpHpHjRpFYmIiZWVlHDhwgF27dtUb5QDqhQyAuXPn1lumtlZaWlqDEPHJJ5/UW2GpqXUdyf333891113Hli1bqKioaLBTe6dOnXjssceatcfK2LFjWbhwYb29QcD0vNx99931risoKGD27NmNPk58fHy9kTAwDeq1/46WZTFhwoSA6xMRERGJdK06dercc8/lb3/7G4MHDyY2NpbU1FSmT5/O66+/7u9BaMy0adO499576d+/f6NLi7alxx9/nGuvvZZOnToRGxtL7969ueuuu/jTn/50xPvcd999XHTRRQwaNIj09HRiYmJISkpi0KBB3HTTTbzxxhv+T8mnTZvGbbfdxsknn0z37t1JTEwkJiaGTp06MXXqVJ566qkGB7pHkpSUxDnnnOO/fKSD5+Z67rnn/OdPOOGEBk3bgcrMzOSNN97gf//3fxk8eDBJSUnEx8fTr18/brzxRt55551mj5jcfvvtPPjggxx//PHEx8eTmprKhRdeyKuvvlqvMfymm27immuuYeTIkXTu3JnY2Fji4uLo2bMnF154IW+88UaD0a/PP//cv2rWySefTLdu3Zr/jyAiIiISoSxHy+dElJUrV/qb3IcOHdqkVb8kMLfeeqt/FOixxx7jrLPOcrkiERERkdDTqiMa0vaGDx/OqaeeCpgm8rq7hUvL7dy5ky+//BKAIUOGcOaZZ7pckYiIiEhoUtCIQHfddZd/L4za/hYJjueff96/8/tdd93l3xRQREREROrT1CkREREREQk6jWiIiIiIiEjQterytiIi0jbM4HTdAWqrSVP7HMcHjq/2Qu215v7eeCgvAdsHlnlMLA94POCNBW8T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XERERETqee655/znhw0bxrhx4456+zlz5rBt2zb/5cbCyJFUVFTwwQcf+C+PHDmSm266ifHjxzNy5EguuugiXnrpJWz70L4/3bp185//5ptvAFiwYIH/utrRjPvuu4+Kigp++tOfkpGR0eSaJDg0oiEiIiIift988w1r1671X64dzTiaf/3rX/7zAwYMCGiK0urVq6msrPRffvrpp+t9fc2aNaxZs4YFCxbw+OOP4/F4GD16NMOHD2flypXcdtttdOrUiezsbADOOussunbtyttvv80333zDmDFjuPTSS5tcjwSPgoaIiIiI+NUNDT179uTMM8886u1XrFjBsmXL/JdvuOGGgBrBc3JyGlx38sknM3r0aObNm8fKlSsB+Oyzz/jvf//LzJkz8Xg8PPfcczz++OPMnTuXnJwc+vTpw4wZM7jpppvIz8/nwQcfJDY2lt///vfYts2nn37KsmXLsG2b448/nnPPPfeo07Ok5RQ0RERERASA9evXM3/+fP/l66+/Hq/Xe9T71A0mnTt35rzzzgvoe1ZVVdW7PHToUJ577jksy+Lmm2/mtNNO84eRd999l5kzZwKQkpLCL3/5S375y182eMz77ruP3NxcbrvtNnr27Mn111/PwoUL693m+eef56WXXqJDhw4B1StNpx4NEREREQHq92akpaVx8cUXH/X2O3bs4LPPPvNfvuaaa4iLiwvoe7Zv377e5bFjx/pHROLi4hg1apT/azt37jzm4y1cuJBZs2bRt29fbrnlFl577TUWLlxIUlISs2bN4rPPPqNz585s3LiRp556KqBaJTAKGiIiIiLCvn37+PDDD/2Xr7zyShISEo56n+eee87fpJ2cnMzll18e8PcdMGDAUb/uOI7//LGmOlVWVvLb3/4Wy7L4/e9/T1xcnL9JfPz48QwdOrTedLBvv/024Hql6RQ0RERERIT/9//+n38aU0JCAldeeeVRb5+bm8vbb7/tv3zZZZeRnJx8xNsPGjTIf5o1a5b/+m7dujFw4ED/5cWLF/vPV1ZW8t133/kvDxs27Kg1/eMf/2Dbtm1cfPHFjB07FjCrWgHExsb6b1d7vry8/KiPJy2joCEiIiIS5YqLi3n99df9ly+66CLS09OPep///Oc//gP12NhYrr322mZ//1tuucV/fvXq1dx444088cQTXHXVVezfvx8wO40fLfxs2bKFf/7zn3Ts2LHepoLHHXccYAJMbm4u5eXlfPXVV8CxR1OkZdQMLiIiIhLlXn31VYqLiwHwer3ccMMNR719eXk5//nPf/yXZ8yYQefOnZv9/c8991xWrFjBv//9bwDmz59fryndsix++tOfMmbMmEbv7zgO9957L1VVVfzyl7+s1+B91VVX8cYbb5Cbm8u0adOIiYmhsLCQmJiYgPb7kMBpRENEREQkilVVVfkP8AHOOOMMevbsedT7vPnmm+Tl5QEmBBwrmDTFr371K/7xj38wadIk0tLSiImJISMjgzPPPJOXXnrpqKHgv//9L0uWLGHixIkNVr3q2bMnL730EhMnTgTMVKrRo0fz7LPPMnLkyBbXLUdmOXU7bERERERERIJAIxoiIiIiIhJ0ChoiIiIiIhJ0ChoiIiIiIhJ0ChoiIiIiIhJ0ChoiIiIiIhJ0ChoiIiIiIhJ0ChoiIiIiIhJ0ChoiIiIiIhJ0ChoiIiIiIhJ0ChoiIiIiIhJ0ChoiIiIiIhJ0ChoiIiIiIhJ0ChoiIiIiIhJ0ChoiIiIiIhJ0ChoiIiIiIhJ0ChoiIiIiIhJ0ChoiIiIiIhJ0ChoiIiIiIhJ0ChoiIiIiIhJ0/x96IthKkwE/ZQAAAABJRU5ErkJggg==",
|
||
"text/plain": [
|
||
"<Figure size 800x800 with 1 Axes>"
|
||
]
|
||
},
|
||
"metadata": {},
|
||
"output_type": "display_data"
|
||
}
|
||
],
|
||
"source": [
|
||
"def body_composition_chart(first_name='Keirstyn', last_name='Moran'):\n",
|
||
"\n",
|
||
" \n",
|
||
" #=========================== Body Composition Donut Chart ========================#\n",
|
||
" patient_data = patients_info[(patients_info['FirstName'].str.contains(first_name, case=False, na=False)) & \n",
|
||
" (patients_info['LastName'].str.contains(last_name, case=False, na=False))]\n",
|
||
"# Get the fat mass percentage for Keirstyn\n",
|
||
" fat_percentage = patient_data['Adult_FMP'].iloc[0]\n",
|
||
" weight_kg = patient_data['Weight'].iloc[0]\n",
|
||
" lean_percentage = 100 - fat_percentage\n",
|
||
"\n",
|
||
"# Create donut chart\n",
|
||
" fat_mass_lbs = weight_kg * (fat_percentage / 100) * 2.20462\n",
|
||
" lean_mass_lbs = weight_kg * (lean_percentage / 100) * 2.20462\n",
|
||
"\n",
|
||
"# Calculate percentages from the provided weights\n",
|
||
" total_weight = fat_mass_lbs + lean_mass_lbs\n",
|
||
" fat_percentage = (fat_mass_lbs / total_weight) * 100\n",
|
||
" lean_percentage = (lean_mass_lbs / total_weight) * 100\n",
|
||
"\n",
|
||
"# Data for the chart\n",
|
||
" sizes = [fat_percentage, lean_percentage]\n",
|
||
" colors = ['#fde3ac', '#ff9966'] # Light yellow/tan and orange from the image\n",
|
||
"\n",
|
||
" plt.figure(figsize=(8, 8))\n",
|
||
"\n",
|
||
"# Create the donut chart without labels first\n",
|
||
" wedges, texts, autotexts = plt.pie(sizes,\n",
|
||
" autopct='', # Remove auto percentages\n",
|
||
" startangle=90,\n",
|
||
" wedgeprops=dict(width=0.5, edgecolor='w'),\n",
|
||
" colors=colors,\n",
|
||
" labels=['', '']) # Remove default labels\n",
|
||
"\n",
|
||
"# Add custom text annotations positioned manually\n",
|
||
" plt.text(-1, 1, f'Fat Mass ({fat_mass_lbs:.1f}lbs)\\n{fat_percentage:.1f}%', \n",
|
||
" fontsize=14, fontweight='bold', ha='center', va='center',\n",
|
||
" bbox=dict(boxstyle=\"round,pad=0.3\", facecolor='white', alpha=0.8))\n",
|
||
"\n",
|
||
" plt.text(1, -1, f'Lean Mass ({lean_mass_lbs:.1f}lbs)\\n{lean_percentage:.1f}%', \n",
|
||
" fontsize=14, fontweight='bold', ha='center', va='center',\n",
|
||
" bbox=dict(boxstyle=\"round,pad=0.3\", facecolor='white', alpha=0.8))\n",
|
||
"\n",
|
||
"# Set the title\n",
|
||
" plt.axis('equal') # Equal aspect ratio ensures that pie is drawn as a circle\n",
|
||
" # plt.savefig('graphs/body_composition_chart.png', bbox_inches='tight', dpi=600)\n",
|
||
" plt.show()\n",
|
||
"\n",
|
||
"# Set a common style\n",
|
||
" sns.set_theme(style=\"whitegrid\")\n",
|
||
"\n",
|
||
"\n",
|
||
"body_composition_chart()"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 15,
|
||
"id": "22b1c806",
|
||
"metadata": {},
|
||
"outputs": [
|
||
{
|
||
"data": {
|
||
"image/png": "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",
|
||
"text/plain": [
|
||
"<Figure size 1000x200 with 1 Axes>"
|
||
]
|
||
},
|
||
"metadata": {},
|
||
"output_type": "display_data"
|
||
}
|
||
],
|
||
"source": [
|
||
"def body_fat_percentage_chart(gender='female', age=25, fat_percentage=22.4):\n",
|
||
" \"\"\"\n",
|
||
" Creates a body fat percentage bar chart based on gender and age group.\n",
|
||
" \n",
|
||
" Parameters:\n",
|
||
" - gender: 'male' or 'female'\n",
|
||
" - age: age of the person\n",
|
||
" - fat_percentage: body fat percentage value\n",
|
||
" \"\"\"\n",
|
||
" \n",
|
||
" # Determine age group\n",
|
||
" if age >= 20 and age <= 39:\n",
|
||
" age_group = \"20-39\"\n",
|
||
" elif age >= 40 and age <= 59:\n",
|
||
" age_group = \"40-59\"\n",
|
||
" elif age >= 60 and age <= 79:\n",
|
||
" age_group = \"60-79\"\n",
|
||
" else:\n",
|
||
" print(f\"Age {age} is outside the supported range (20-79)\")\n",
|
||
" return\n",
|
||
" \n",
|
||
" # Normalize gender input\n",
|
||
" gender = gender.lower()\n",
|
||
" if gender not in ['male', 'female']:\n",
|
||
" print(\"Gender must be 'male' or 'female'\")\n",
|
||
" return\n",
|
||
" \n",
|
||
" # Define segments based on gender and age group\n",
|
||
" if gender == 'female':\n",
|
||
" if age_group == \"20-39\":\n",
|
||
" segments = [\n",
|
||
" ('#F8A8A8', 0, 15), # Bad: 0-15%\n",
|
||
" ('#FFEECC', 15, 5), # Okay: 15-20%\n",
|
||
" ('#D0F0C0', 20, 15), # Good: 20-35%\n",
|
||
" ('#FFEECC', 35, 5), # Okay: 35-40%\n",
|
||
" ('#F8A8A8', 40, 10) # Bad: 40-50%\n",
|
||
" ]\n",
|
||
" else: # 40-59 and 60-79 have same ranges for females\n",
|
||
" segments = [\n",
|
||
" ('#F8A8A8', 0, 20), # Bad: 0-20%\n",
|
||
" ('#FFEECC', 20, 5), # Okay: 20-25%\n",
|
||
" ('#D0F0C0', 25, 10), # Good: 25-35%\n",
|
||
" ('#FFEECC', 35, 5), # Okay: 35-40%\n",
|
||
" ('#F8A8A8', 40, 10) # Bad: 40-50%\n",
|
||
" ]\n",
|
||
" else: # male\n",
|
||
" if age_group == \"20-39\":\n",
|
||
" segments = [\n",
|
||
" ('#F8A8A8', 0, 5), # Bad: 0-5%\n",
|
||
" ('#FFEECC', 5, 5), # Okay: 5-10%\n",
|
||
" ('#D0F0C0', 10, 10), # Good: 10-20%\n",
|
||
" ('#FFEECC', 20, 5), # Okay: 20-25%\n",
|
||
" ('#F8A8A8', 25, 25) # Bad: 25-50%\n",
|
||
" ]\n",
|
||
" elif age_group == \"40-59\":\n",
|
||
" segments = [\n",
|
||
" ('#F8A8A8', 0, 5), # Bad: 0-5%\n",
|
||
" ('#FFEECC', 5, 5), # Okay: 5-10%\n",
|
||
" ('#D0F0C0', 10, 10), # Good: 10-20%\n",
|
||
" ('#FFEECC', 20, 10), # Okay: 20-30%\n",
|
||
" ('#F8A8A8', 30, 20) # Bad: 30-50%\n",
|
||
" ]\n",
|
||
" else: # 60-79\n",
|
||
" segments = [\n",
|
||
" ('#F8A8A8', 0, 5), # Bad: 0-5%\n",
|
||
" ('#FFEECC', 5, 5), # Okay: 5-10%\n",
|
||
" ('#D0F0C0', 10, 15), # Good: 10-25%\n",
|
||
" ('#FFEECC', 25, 5), # Okay: 25-30%\n",
|
||
" ('#F8A8A8', 30, 20) # Bad: 30-50%\n",
|
||
" ]\n",
|
||
" \n",
|
||
" # Create demographic label\n",
|
||
" gender_abbrev = 'M' if gender == 'male' else 'F'\n",
|
||
" demographic = f\"{age_group}\\n({gender_abbrev})\"\n",
|
||
" \n",
|
||
" # Create the chart\n",
|
||
" fig, ax = plt.subplots(figsize=(10, 2))\n",
|
||
" \n",
|
||
" # Create the Segmented Bar\n",
|
||
" for color, start, length in segments:\n",
|
||
" ax.barh(y=0, width=length, left=start, height=1, color=color, edgecolor='black', linewidth=0.5)\n",
|
||
" \n",
|
||
" # Add the Indicator (Triangle)\n",
|
||
" ax.plot(fat_percentage, 1.05, marker='v', color='black', markersize=10, clip_on=False, transform=ax.get_xaxis_transform())\n",
|
||
" \n",
|
||
" # Set Axis Properties and Labels\n",
|
||
" ax.set_xlim(0, 50)\n",
|
||
" ticks = range(0, 51, 5)\n",
|
||
" ax.set_xticks(ticks)\n",
|
||
" labels = [f\"{t}%\" for t in ticks]\n",
|
||
" ax.set_xticklabels(labels)\n",
|
||
" ax.set_yticks([])\n",
|
||
" ax.text(-0.05, 0, demographic, transform=ax.get_yaxis_transform(), va='center', ha='right', fontsize=12)\n",
|
||
" \n",
|
||
" # Clean up spines and add small ticks\n",
|
||
" ax.spines['right'].set_visible(False)\n",
|
||
" ax.spines['top'].set_visible(False)\n",
|
||
" ax.spines['left'].set_visible(False)\n",
|
||
" ax.spines['bottom'].set_visible(True)\n",
|
||
" \n",
|
||
" for x in range(0, 51, 5):\n",
|
||
" ax.plot([x, x], [-0.05, -0.01], color='black', transform=ax.get_xaxis_transform(), clip_on=False)\n",
|
||
" \n",
|
||
" plt.tight_layout()\n",
|
||
" plt.savefig('graphs/body_fat_percent_chart.png', bbox_inches='tight', dpi=300)\n",
|
||
" plt.show()\n",
|
||
"\n",
|
||
"# Example usage\n",
|
||
"body_fat_percentage_chart(gender='male', age=65, fat_percentage=22.4)"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 17,
|
||
"id": "ee52abc9",
|
||
"metadata": {},
|
||
"outputs": [
|
||
{
|
||
"data": {
|
||
"image/png": "iVBORw0KGgoAAAANSUhEUgAAA/YAAAFdCAYAAACpXPZQAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjYsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvq6yFwwAAAAlwSFlzAAAPYQAAD2EBqD+naQAAeOJJREFUeJzt3Xd8FVX+//HXbek9oYQiRREioEDoSBXBglKUFSuIAvYCouJa1i4KyIqg4FpAQEREmgorXzoivUSX4tKkQ0i9qTc38/sjv8wSCJB+U97PxyMPJjNn5nzuyb0hnzlnzrEYhmEgIiIiIiIiIhWS1dMBiIiIiIiIiEjRKbEXERERERERqcCU2IuIiIiIiIhUYErsRURERERERCowJfYiIiIiIiIiFZgSexEREREREZEKTIm9iIiIiIiISAWmxF5ERERERESkAlNiLyIiIiIiIlKBKbEXERERERERqcCU2IuIiIiIiIhUYErsRURERERERCowJfYiIiIiIiIiFZgSexEREQ/56quvuP/++83vW7Zsyd69e8uk7uXLl9OjR48yqUtERERKlxJ7Eaky7r//fr766qsC7889FhUVxZ49e8x9SUlJNG7cmKNHj5ZSpFKe3H///TRr1oyWLVvStm1b7r//fn7//fdSqWv79u00btz4suUmTZrEY489VioxiIiISMWjxF5E5DKCgoKYMGGCp8MQD3ruuefYvn07a9euJSoqKt+k2uVyeSAyEREREbB7OgARkfLunnvu4euvv2bz5s20adPG0+GIB3l7e3PnnXcyffp0HnnkEcLCwkhJSWHt2rU8++yzDBo0iClTprB48WKSk5Np2bIlr7/+OjVq1ADgzz//5O9//zt//vknzZo1o3nz5nmu37hxYxYsWEBUVBQAS5YsYdq0aRw9epTg4GCefPJJgoKCmDp1KtnZ2bRs2RLI6ek3DIOvv/6a2bNnExsbS1RUFP/4xz+48sorATh58iQvvfQSO3bsoH79+vTq1asMW67sxcXF4XQ6i3x+YGAgoaGhJRiRiIhI6VFiLyJyGcHBwQwbNozx48czZ84cT4cjHpSWlsZ3331H7dq1CQkJ4ccff+Tjjz/mww8/JCMjgw8//JA//viD2bNnExISwocffsjIkSOZNWsWWVlZPProo9x6663MnDmTP/74gxEjRlx06P2KFSt48803mThxIu3atSM+Pp5Tp05xzTXXMGLECHbv3s2UKVPM8rNnz2bevHl8+umn1KlTh9mzZ/PII4/w448/4uXlxahRo6hTpw7r16/n+PHjDBs2rKyarcy5XC7Gjh1LcnJyka8RFBTEm2++icPhKMHIRERESoeG4ouIFMDgwYM5duwYy5cv93Qo4gETJkygdevW9OzZkwMHDpgJdadOnejcuTNWqxUfHx+++eYbxowZQ/Xq1fHy8uKZZ55h27ZtnDhxgh07dhAfH88TTzyBl5cXLVu25Oabb75onbNnz+b++++nQ4cOWK1WwsPDueaaay5Z/qmnnqJ+/frY7XYeeOAB0tPT2bVrFydOnGDLli08//zz+Pr6cuWVVzJo0KASb6fywm63ExYWhsViKdL5FouF0NBQ7Hb1f4iISMWg/7FERArAx8eHJ554ggkTJjBr1ixPhyNlbOTIkQwZMuSC/bVq1TK34+PjSU1N5d57782TUDocDk6cOMHp06epXr16nh7g2rVrc+DAgXzrPH78OP369StwjMeOHWP06NHYbDZzn8vl4uTJkzgcDry9vQkPD89Td2VlsVi47bbb+Pjjj4t0vmEY3HbbbUW+MSAiIlLWlNiLiBTQnXfeyZdffsmCBQs8HYqUE+cmfiEhIfj6+jJ37lzzufZzbdmyhdOnT+Nyuczk/vjx4xe9dq1atTh8+PBl681Vs2ZNXnrpJbp06XLBsRMnTpCRkcHZs2fN5P5SdVcGUVFR1KtXj7/++gvDMAp8nsVi4YorrjDnORAREakINBRfRKoUt9tNRkaG+ZWZmXnJ/eey2Ww8++yzfPrpp2UdtlQAVquVQYMGMXbsWE6cOAHk9OL/9NNPAFx33XUEBwczZcoUMjMz2blzJz///PNFrzdo0CBmzJjBpk2byM7O5uzZs/znP/8BICIiguPHj5OVlWWWv/fee/noo4/MEQBOp5Ply5fjdDqJjIykVatWjBs3jvT0dA4cOMC3335bWk1RLuT22hcmqQf11ouISMWkxF5EqpT333+fa6+91vy66aabLrn/fL1796ZevXplGbJUICNHjqRFixYMHjyYli1bcscdd7Bu3TogZ0j+J598wrp162jXrh3jxo1jwIABF71Wz549GTNmDG+88QbR0dHceeed7Nu3D4CbbrqJgIAAOnToQOvWrQG477776N+/P08++SStWrXi5ptvZsmSJeb1xo8fz8mTJ+nQoQPPPfccd9xxRym2RPmQ22tf0CTdYrFQr1499daLiEiFYzEKeys7Hy+++CI//PADADNmzKBdu3bFDqwszJ8/nzFjxgDw5JNP8sQTT+Q5npWVRadOnUhISCA0NJR169YVaCKdo0ePcsMNNwDwxBNP8OSTT5Z88CIiInJZ//nPfwr1rP0TTzxxyUkKRUREyqMq3WPfs2dP8znHZcuWXXB8w4YNJCQkANCrVy/NjisiIlLBFLTXXr31IiJSkVXpxD4oKIjOnTsDsG/fPvbv35/n+NKlS83tW2+9tUxjExERkeIr6LP2erZeREQqsjJL7I8ePUrjxo1p3LgxkyZNMvfPnz/f3L9x40YANm7caO775ptveO+99+jYsSNt2rTh6aefJj4+Ps+1f/vtN/r160fz5s257bbbWL16Nffffz+NGzemR48el4zr3IT93EmMsrKyzPWqq1evTps2bQA4cOAAo0aNolOnTjRr1ozOnTszZsyYAs0unPuaXnzxRXPfua91/vz5F7TVxIkTmTBhAu3ataNt27Z88MEHuN1ufvrpJ3r37k2rVq0YOnQoR48ezVOX0+nkgw8+oHfv3jRr1ow2bdrwyCOP8Mcff1w2ThERkcrkcr326q0XEZGKrtyPLR8/fjzJycnm90uXLsVutzN+/HgADh48yLBhw8wZrPft28djjz1GUFBQga7fvXt3fH19SUtLY9myZeZz9r/99ps5DP+mm27CarWyZ88e7r77blJTU83zT58+zfz581m1ahXfffcdderUKYmXbfrmm2/MOAD+9a9/ceDAAVauXGn2Pqxfv57nnnuOOXPmAJCSksLdd99tTrIEOWsZr1y5kvXr1/Pll1+aky2JiIhUdpdb11699SIiUtGV+6H4VquV2bNns379eq6++mog53n47OxsAHPZIIDnnnuOrVu38vzzzxMXF1eg6/v7+9O1a1cg73D8/Ibhv/POO2ZS//7777N161ZeeOEFAOLi4vjwww+L+3IvkJmZyezZs1mxYgX+/v4ArFixgjvvvJPNmzebM3dv376dU6dOATB9+nT27duHzWZj8uTJxMTEsGzZMurVq0dmZibvvvtuiccpIiJSnl2s11699SIiUhmU+8T+zjvvJDo6moiICLp06QLk9D7HxsYCOQkt5Kzp+9BDDxEQEMDgwYOJjIws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ti2dOnWiWrVq3HfffQC4XC6WL19ubueOlLBYLNjtdlwuFwC7d+9m8eLFDB8+nODg4Es3QgWixF5ERERERKqsTz75hLNnzzJ06FAiIyMLdW5+z9BnZmaa29WrVy+xuorrP//5D3feeSdffvllmdaby9fXF6s1b/qZkZFhbp/fVufbt28f2dnZAHluNpy7vWfPHgBatWpFXFwcW7ZsYcuWLcTHx9OqVSsAPvjgA+rXr3/Z+RMqGiX2IiIiIiJSJe3bt4/vvvuOK664ggceeKDY14uLizOfuQ8ODqZbt26lVldhNW7cmO7du/Pxxx/zxRdflHn958vOzmbatGnm97fffvsly8fHx5vb595QOXc7Li4OgNGjR9O0aVNGjBjBiBEjaNq0Kc899xw///wzO3fuZOTIkdjtOdPN5fbkV3SaPE9ERERERKocwzB47733cLvdPP/883h5eRXrevHx8TzxxBPExsZit9t5++23zVnYS7qui5k0aRIrV6686PHcHu/JkycTERFx2WS6tGRnZ/P666+zceNGIGfYf8uWLYt9XYvFAuSsJjBjxgzOnj0LQHh4OGlpaUyaNInrr7+ejh07Mn36dKZPn05ycjKNGjXi73//+2XnCCjPlNiLiIiIiEiVs2nTJnbu3Enz5s0JCwtj7969nDx50jx++vRp/vzzTxo1anTZa509e5ZHH32U/fv3Y7fbeffdd+nQoUOp1HUpsbGxHD58uEBlExISilVXUWVlZfHqq6+ybNkyAO67774CTWIXGhpqbucuvweQkpKSbxnISehzffXVV5w9e5YpU6awfv16PvroI1q3bs2AAQN48803GT16NAsXLsx3FYOKQIm9iIiIiIhUOampqQDExMRwzz33XHD8888/59tvv813ZvtznT59mkceeYTDhw/j7e3N2LFj6dy5c6nUdTmvv/46r7/++kWPf/rpp3z22Wf06dPHnHSuLLlcLl566SVWrFgBwMMPP8yjjz5aoHOvvvpqrFYr2dnZeW5eHDp0yNxu0qRJvueeOHGCr7/+mrvuuov69eszf/58AO6++266devGsmXLWL16NYcOHSr2zRVP0TP2IiIiIiIil9GnTx+io6MZPny4ue/EiRMMGzaMw4cP4+vry8SJEy9I6osjIyODX3/9Nc/X1q1bi3StmJgYPvvsM26//XZee+21CyayO19ycjLx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yhCpqalkZ2cTERFBUFBQsa5pMYox7mXbtm0YhoHD4dCHrwwZhoHL5VK7lzG1u2eo3T1D7e4Z6enpHD9+nFq1auHj4+PpcKoMvd89R23vGZmZmVgsFlq1auXpUEwul4v4+HicTidWqxUvLy8cDgcOhwObzab3h1RohmHgdrtxuVy4XC4yMzPNUSqhoaE4HI5i11GsxH779u1mYi8iIiIiIuWfy+XCYrHQsmVLT4dygczMTJKSkkhPTyczMzPPMSX3UhGdn257eXnh4+NDUFAQXl5eJVZPsRJ7ERERERGR0pCdnU1GRgYulwvDMDTBnlRIFosFi8WCw+HA29u7SDPeF6geJfYiIiIiIiIiFZeWuxMRERERERGpwJTYi4iIiIiIiFRgSuxFREREREREKjAl9iIiIiIiIiIVmBJ7ERERERERkQpMib2IiIiIiIhIBabEXkRERERERKQCU2IvIiIiIiIiUoEpsRcRERERERGpwJTYi4iIiIiIiFRgSuxFREREREREKjAl9iIiIiIiIiIVmBJ7ERERERERkQpMib2IiIiIiIhIBabEXkRERERERKQCU2IvIiIiIiIiUoEpsRcRERERERGpwOyeDkBERERKR1xcHE6ns8jnBwYGEhoaWoIRiYiISGlQYi8iIlIJuVwuxo4dS3JycpGvERQUxJtvvonD4SjByERERKSkaSi+iIhIJWS32wkLC8NisRTpfIvFQmhoKHa7+gBERETKOyX2IiIilZDFYuG2227DMIwinW8YBrfddluRbwyIiIhI2VFiLyIiUklFRUVRr169QifnFouFevXqERUVVUqRiYiISElSYi8iIlJJFbXXXr31IiIiFYsSexERkUqssL326q0XERGpeEoksX/xxRdp3LgxjRs3ZuPGjSVxyTKzceNGM/bcr6ioKDp27MgzzzzD/v37PR2iiIhIkRW211699SIiIhWPeuzzkZ2dzdmzZ/n555/529/+puReREQqtIL22qu3XkREpGJSYn+O/v37s3fvXjZv3kzv3r0BcDqdTJs2zcORFVx6erqnQxARkXKmoL326q0XERGpmMossT969Kg51H3SpEnm/vnz518wjP/c4fHffPMN7733Hh07dqRNmzY8/fTTxMfH57n2b7/9Rr9+/WjevDm33XYbq1ev5v7776dx48b06NGj0LEGBQXxyCOPmN///vvv5nZycjJjx46lZ8+eNGvWjLZt2zJs2DC2bt1qlpk6daoZ/4kTJwBYsWKFue/QoUMArF+/3ty3fPly8/wNGzbw0EMP0aZNG5o1a0bv3r2ZMmUKLpcr33ZbunQpzz33HK1bt2bQoEGFfr0iIlL5Xa7XXr31IiIiFZfd0wFczvjx40lOTja/X7p0KXa7nfHjxwNw8OBBhg0bRmZmJgD79u3jscceIygoqFj15ter4XQ6ufvuu/nzzz/NfYmJiaxZs4b169czadIkbrjhBtq0aWMe3759O5GRkWzbti3Pvvr165v7LBYL0dHRQE7C/tJLL+Wp/9ChQ/zzn/9k586dfPrppxf8Ufbaa6+RkJBw0bhFRERye+0//vjjfI+rt15ERKTiKvdD8a1WK7Nnz2b9+vVcffXVACxbtozs7GwApkyZYib1zz33HFu3buX5558nLi6uyHUmJSUxdepU8/umTZsC8NVXX5lJ/b333svmzZv56quv8PHxwe1288Ybb5CdnU3z5s3x9fUFMJP37du3m38s5e7L/bdRo0aEhoaSkpLCO++8g2EYdOnShdWrV7Nz505GjhwJwKpVq1i9evUF8VosFqZPn86OHTuYMGFCkV+3iIhUbhfrtVdvvYiISMVW7hP7O++8k+joaCIiIujSpQsALpeL2NhYICdhBoiIiOChhx4iICCAwYMHExkZWei6fvjhBxo3bkybNm1YtmwZAH5+fgwfPhyAtWvXAjk3G0aOHElQUBAdOnTgxhtvBODkyZP8+eefOBwOrrvuOjM+l8vF77//TsuWLQkNDWX79u243W527twJYPbwb9++3RydsGbNGrp27cp1112XJ1n/7bffLoh76NChtG/fHl9fX6688spCv24REakaLvasvXrrRUREKjaPJ/Zut/uSx+vXr29ue3t7m9u5vfSnT58GoHr16lit/3s5NWrUKHJMFouF0NBQevfuzZw5c7jqqqsAzGf7AwMDCQgIMMufexMhd6RAbrK+Z88etm/fTnp6Oq1ataJFixb897//ZfPmzaSkpOQpW5BRBomJiRfsa9y4cVFepoiIVEHn99qrt15ERKTiK7Nn7L28vMztjIwMc/vo0aOXPM9u/1+I+fUkVK9enSNHjnDmzBkMwzDLnDx5stAx9u/fn/fee++ix0NDQzl8+DDJycmkpKTg7+8PYE6Ql1sGoG3btgBkZWUxffp0AFq2bElwcDArV67kiy++MM/JTezDwsLMfaNGjTJHCpwrv2fofXx8CvwaRUSkajv/WXv11ouIiFR8Jd5jv2vXLtasWZPnKyEhgYiICBwOB5AznDwzM5OjR48yf/78YtWXO+ncmTNn+Prrr3E6nUyfPr1Iif3ldO7cGchZ5/7DDz8kOTmZ3377zZzRvmbNmuY8ANddd515M2PFihUAtGrVipYtWwI5Q+0BGjRoQEREBJCT+AcGBgLw5Zdfmu109uxZfvrpJ+69916OHTtW4q9LRESqltxee0C99SIiIpVAiffYjxs37oJ9M2bMoF27dvTq1Ysff/yRmJgY2rZtS0ZGRp7h9UXxyCOP8NNPP5GZmcnbb7/N22+/jd1uJzQ09IJl8Ypr8ODB/Pjjjxw4cICvv/6ar7/+2jxms9l45ZVXzMcBvL29ufbaa9myZQvZ2dnUq1ePsLAw/Pz8cDgc5tJ1uT37AP7+/owZM4a///3vxMXFMXjw4BKNX0REBHJ67fv27cvcuXPp27eveutFREQquDJd7u6VV17B7Xbz66+/YrPZGDBgAA0bNuTNN98s8jUbNGjAZ599xrvvvsv+/fupX78+o0aNYsKECcTHxxMSElJi8QcGBjJnzhymTJnC8uXLOXXqFL6+vlx77bU88sgjeZa5g5wh9lu2bAEwe+p9fHyIiopi165dALRu3TrPOXfccQe1atXiX//6FzExMaSmplKtWjUaNWrEjTfeSPXq1Uvs9YiISNXVpEkTXn31VU+HISJSIIZhaFlnqZAsFkuZ3EC3GJXgE7JmzRrat29vDn1fvHgxo0ePxjAMhg4dygsvvODhCEVERERE5HIMw8DlcpGenm5+ZWVleToskWKz2+34+PiYX+fOQVcSKkVi37x5cwzDIDw8HKfTidPpBKB27dp89913hIeHezhCERERERG5lPT0dOLi4khPTwdyEiGHw4HNZiuzXk+RkpY72sTtduNyucwbVT4+PoSFhZXYROjFSuy3b9+OYRjmpHieMnXqVGJiYoiLi8MwDKpVq0Z0dDQDBgwwJ6MTERERERFwuVxYLBbzUVFPy8rK4syZM6SlpWG32/Hz88PLyyvPUtYilUV2djaZmZmkpqaSlZWFr68v1apVy7MaXFEUK7Hftm2bmdjrDlrZyR2ipHYvW2p3z1C7e4ba3TNcLhdHjx6lTp06Hr9pXpXo/e45anvPyMzMxGKx0KpVK0+HQmZmJidOnMAwDAICAvD29tZ7QaoEwzDIyMjA6XRisViIjIws1vD8Yt0WcDgcZGZmctVVV+Hn51ecS0khpKamsnv3brV7GVO7e4ba3TPU7p6xfv16+vbty7p168rFH9xVhd7vnqO294xdu3aVi+Q5IyODEydOYLFYCA0NxWazeTokkTJjsVjw8fHB4XCQkJDA8ePHiYyMLPKqcRrfIiIiIiIiZSorK4sTJ05gtVqV1EuVZrPZCA0NxWq1cuLEiSJPFlmsofgxMTEYKSlceehQUS8hRWSrm+zpEKoko56vp0OQMhATGOXpEKSK2rNjD4O73cf0VTNp0qKJp8MRkUrKegi8rV40b97cYzGcOnWK1NRUwsPD9Sy9CDnP3p89exY/Pz9q1KhR6PP1KRIRERERkTKTkpJCSkoKgYGBSupF/j+r1UpgYKD5+Sj0+aUQk4iIiIiIyAUMwyA2NhYvL68iP0ssUll5e3vj5eVFbGwshR1Yr8ReRERERETKREpKCm63m4CAgHIxgZ9IeWKxWAgICMDtdhe6116JvYiIiIiIlInk5GTsdnux1+wWqaxyPx/JyYWbU02JvYiIiIiIlLqsrCzS0tLw9dVkxCKX4uvrS1paWqFmyNetMhERERERKXVOpxNAz9aXgNdee40lS5Zc9PjixYs5fvw4I0aMuGiZ4cOH88ADD9CzZ0/S09OpXbs2ixYtuqDc+++/z7fffgvAuHHj6N69O3PnzmXNmjXExMSYP9fBgwfz1FNPFfOVCeR8RpKTk3E6nYSEhBToHPXYi4iIiIhIqUtLS8PLy0sz4Zcjvr6+dO7cGYBjx46xe/fuPMcNw2DFihUABAQE0KlTJwB++OEHNmzYYCb1UrKsViteXl6kpaUV+Bz12IuIiIiISKnLyMjQMPxSMHXqVFq3bn3B/uPHj5vbffr04fXXX8/3/F69evHLL78A8MsvvxAVFWUe27FjB2fOnAGgW7dueHl5AdC9e3cGDBiAxWLh3XffLbHXIv/jcDhIS0vDMIwCTTSp22UiIiIiIlLqsrOzNWleOXT99dfj7+8PwPLly/McO/f73r17m9vDhw9n4MCB1K9fv0xirIrsdjvZ2dkFfs5eib2IiIiIiJQJh8Ph6RDkPF5eXnTr1g3IOxz/3GH4ISEhtG3b1lMhVkm5n5X09PQCldctMxERERERKXU2m03P15eC8yfIu/rqq/nmm2/y7FuyZMkFk+3Nnj2bxo0bAznD8X/88Ufgf8Pxd+7cyenTpwG44YYbNNqijFmtVmw2GxkZGQQGBl6+fBnEJCIiIiIiVZzNZvN0CHIR7dq1Izg4GPjf8Ptzh+H36tXLI3FVdTabrcBD8XXbRURERERESp1660vHxSbPO9elJs+DnGHf3bt3Z8GCBRw7dow//vjDHIZfrVo1WrVqVaIxS8FYrVbcbnfBypZyLCIiIiIiIkrsy7lzJ8ebOHEip06dAqBnz5762XmIEnsRERERESlXlByWb9HR0YSHhwOwbds2c/+5CX+u5ORk4uPj86xjn5GRQXx8PPHx8aUfbBVRmMReQ/FFRERERKTUKbH3nPwmzzt/eL7NZuOGG25g7ty55r5atWrRvHnzC643atQotm7dmmffnDlzmDNnDsAFx6RorFYrhmEUrGwpxyIiIiIiIqLEvgI4f5K8G2+80UORCBTuM2MxCnoLIB8xMTEYKSlceehQUS8hRWSrm+zpEKoko56vp0OQMhATGOXpEKSK2rNjD4O73cf0VTNp0qKJp8MRkUrKegi8rV759sSWpri4OLy8vMq0TpGKLDMzk4SEBBo2bHjZsrptJiIiIiIipc5isXg6BJEKpTCfGSX2IiIiIiIiIhWYEnsRERERERGRCkyJvYiIiIiIiEgFpsReREREREREpALTOvYiIiIiIlIlrV27lm+++Yb9+/eTmJiI1Wqldu3adOvWjQcffBA/P79Lnv/nn38yf/58tm/fzunTp0lPTzfPHzJkCP7+/hecs2HDBmbOnMl//vMf0tPTCQ0N5brrruPFF18kODgYyFlj/sSJE4Dn1oT/97//zdKlS9m1axfx8fFAznJ477777gVlk5OT+eSTT1i5ciXx8fFUr16dm2++maFDh+Lt7W2WmzFjBsuXL+fYsWMkJyfj4+NDw4YNuf322xkwYMBlYyroz8vlcjFlyhR+/vln0tPTadOmDc8//zzVqlXL8/rGjBnDxx9/TIcOHYrbXB6nxF5ERERERKqkmJgYNm7cmGffgQMHOHDgAHv27GHSpEmXPH/dunXMnTs33/PXr1/P9OnTcTgc5rHZs2czfvz4POVPnTrFv//9bx577DEzsS8Pli5dyurVqy9bLiMjgxEjRrB3715z37Fjx/jXv/7F7t27+ec//2nO7r5q1Sr++OMPs1xKSgoxMTHExMSQlJTEkCFDLllXQX9eM2bMYMaMGQwZMoSoqChefPFFUlJSmDJlCgDp6el89NFHdO7cuVIk9aCh+CIiIiIiUkU1bdqUcePGsXTpUtavX8+ECRPw8vIC4NdffyUxMfGS51ssFrp168a0adNYv349M2fOpGbNmgDs3bs3T2L8559/MnHiRAAaN27MV199xfr161myZAl///vfCQgIKJ0XWURt2rRh1KhRfPDBB5csN2fOHDOpHzFiBP/3f/9n9r6vX7+eX375xSx700038a9//YuVK1eyevVqhg8fbh5bunTpZWMq6M8rt92HDBlCz549adSoEZs2bSI9PR3ISfzPnDnDs88+W9DmKPfUYy8iIiIiIlVS165dL/i+YcOG7NmzBwC7/dLp0sCBA/P0MkdFRTFo0CAzgf/rr7/MY3PnzsXtdmOxWBg7dix169YFIDIyskDD0EvC8ePHiYyMLND66Hfffbd5zqX89NNPAPj5+TF06FDsdjvDhw9n/vz5QE7C3qtXLwD+9re/5Tn3vvvuY9q0acDl2xoK/vPKysoCMEdLOBwODMPA5XKRmJjI9OnTueuuu6hXr95l66wo1GMvIiIiIiJVXnp6OitXruTAgQMA3HLLLfk+I3+u/I5nZmaa29WrVze3c5+VDwsLY8aMGfTq1YuOHTsyfPhwdu3aVRIv4ZJOnjzJvffey3vvvYdhGCVyzczMTA4ePAhAnTp1zMS6WrVqZtvkJt3nS0pK4uuvvza/v+OOOwpV96V+Xq1atQLgl19+4dChQ+zbt4/GjRsTGBjIP//5T3x9fRk2bFih6ivv1GMvIiIiIiJVVmxsLL17986z78Ybb+TVV18t9LXi4uLMZ+6Dg4Pp1q2beezkyZMAnD171uzNhpyE/5FHHuHLL7+kcePGRXgFBVOzZk369evHjBkzMAyDMWPGFKjn/lISExNxu93AhTc5AgICSElJIS4uLs/+ZcuW8dJLL5nfW61WnnnmGfr371+gOgvy8xoxYgSHDx/mH//4BwD16tXjH//4Bzt37jTrDwwMBHIm2jt3HoSKSom9iIiIiIjIOX755RfsdjtvvfVWgc+Jj4/niSeeIDY2Frvdzttvv53nufncBBhyeqeffvppli1bxttvv01GRgZffvkl7733XrHi/vbbb/n2228vWcZisfD9998TFhbGI488Uqz6LiV3VMDlbh5kZ2fz4Ycf4uvrW+RHEs7/eQUGBjJp0iSSkpJIT0+nevXqGIbBAw88QKNGjejXrx8//vgjH3/8MadPn6Zu3bo8//zzdOzYsUj1lwcaii8iIiIiIlVWREQEW7duZd26dUydOpUaNWoA8PPPP7N79+4CXePs2bPmzPB2u5133333gtnWz53xfuDAgfj7+zNgwAB8fHwA2LdvX7FfS0JCAocPH77kV27CfbmJAQsiODgYm80GgNPpzHMsJSUFgNDQ0Dz7e/fuzdatW1m5ciWvvvoqdrsdwzD45z//SXZ29mXrLMzPKygoyHwcYtGiRfznP/9h1KhRHDx4kNdff53AwEA++OAD0tLSePHFFy8YXVCRKLEXEREREZEqz9fXl9atW3PDDTeY+86d/O5iTp8+zbBhw9i/fz/e3t6MGzeOHj16XFCuSZMml7xOboJfHCNGjGDr1q0X/XrllVewWCy0b9+eZ555ptj1eXl50aBBAwCOHj1qTlp35swZM7G/2OsOCgqib9++XHnllUDOjYHCJNaF+XmlpKQwefJkunfvTps2bdiyZQtut5t+/frRo0cPbrzxRlJSUvj9998LXH95o8ReRERERESqpDfeeIPNmzcTHx9PRkYGO3bs4P/+7//M47Vr1za3+/TpQ3R0dJ4l2k6cOMGwYcM4fPgwvr6+TJw4kc6dO+db10033WRuf/fdd6SmpvLDDz+YS7BFR0fne96vv/56wVdRnDx5krFjx9K+fXsmTJiAt7f3JcunpqYSHx9PUlKSuc/lchEfH098fLzZu37LLbcAkJaWxhdffEFiYqI50/25r3vv3r1MmTKF3bt3k5KSgtPp5KeffmL//v1AzjP6ISEhQM5M/NHR0URHRzN16lTzWoX5eZ3rX//6F8nJyebNDKs1Jw3Onewv99/c/RWRnrEXEREREZEqaeHChSxcuDDfY127dqVZs2aXPH/RokUcPXoUyElsH3300TzH+/Tpw+uvvw7kJLhLlixh48aNfP/993z//fdmuerVqzN48OB863jyyScv2Jc7w35h1KxZkylTpnDNNddcNqkHGDt2LEuWLMmzb+XKlaxcuRKAxYsXU6tWLQYNGsSyZcvYu3cvU6dOzZOId+rUiRtvvBGA5ORkPv/8cz7//PN86xs+fPhll7wrys/ryJEjfPPNN9xzzz3UqVMHgPbt22O321m6dClNmjRh5cqVBAcHc+21116y/vKs4t6SEBERERERKYa7776bJk2amM+KBwYGct111zF69GjGjh1bonVZrVYmTJjAQw89RK1atbDb7YSHh3Pbbbcxffp0IiIiSrS+/LRs2bJASX1heHt7M3XqVO666y6qV6+O3W6ndu3aPPzww3zwwQfm5Hm1a9emT58+1KtXD39/f2w2G+Hh4Vx//fV8+OGH3HfffZetqyg/rwkTJhAUFMRDDz1k7rviiit47733SE5O5tFHHyUwMJDx48cTFBRUMo3iARajGIsYxsTEYKSkcOWhQyUYkhSErW6yp0Ookox6vp4OQcpATGCUp0OQKmrPjj0M7nYf01fNpEmLSz+LKSJSVNZD4G31onnz5mVab3x8fKVYVkykrOQ++tCwYcPLllWPvYiIiIiIiEgFpsReREREREREpAJTYi8iIiIiIiJSgSmxFxEREREREanAlNiLiIiIiIiIlDOFmedeib2IiIiIiJS6YizGVaXs2LGD0aNH8+ijj7Jt2zaPxDBp0iQWLFgAwL59+xg1alSZ1T179uyLrnUvF2f3dAAiIiIiIlL5KbEvmDlz5tC/f386duzo6VAAuPrqqxk/fnyByo4dO5aWLVvSq1evUo6qalCPvYiIiIiIlCvZ2dmeDqFCOHPmDHXq1CmRaxmGoXavwArzs1OPvYiIiIiIlDolmDkSExOZNWsWe/bswcvLiw4dOtCvXz/S0tIYPXo0hmHwzjvvYLFY+Oijj3A4HHnOHzt2LA0aNODgwYMcOnSIOnXq8OCDD1KrVi0ARo8eTbdu3di+fTtHjhzhlVdeISgoiDlz5rB7924A2rRpw8CBA81rb9myhXnz5pGcnEybNm1wu91mfXv27GHSpElMnjwZgKysLBYvXsxvv/1GUlISERERPPzww2zYsIF9+/axf/9+fvjhBxo1asTIkSNJT09n3rx57NixA5fLRbNmzbj33nvx8/MDYO/evcycOZPY2FiaNm1q7pecz4zVWrC+eCX2IiIiIiJS6pTY55g2bRrBwcG8//77OJ1OJk6ciLe3N3369OGTTz5h6NChvPTSS1xxxRUXvcbatWt5+umnqV+/PgsXLmTSpEm89dZb2Gw2ANatW8dTTz1FjRo1cLvdjB07lquuuor33nsPl8vFlClTWLx4MQMGDODkyZNMmzaNxx57jObNm7NmzRrWrVtH/fr186173rx57N27l5EjR1K9enVOnjyJw+Fg0KBBHD58+IKh+F988QU2m4033ngDm83Gl19+yaxZsxg2bBgpKSl89NFHDBw4kM6dOxMTE8OUKVNo165dibZ5RZWdnW3+TC9HQ/FFRERERKTUKbGH+Ph4du/ezV133YWPjw8RERH06dOH9evXF+o6bdu25aqrrsJut9O3b1+SkpLYv3+/ebx79+5ERkZitVo5evQop06d4m9/+xve3t4EBARw6623snHjRgA2bdpEVFQULVq0wGaz0b17d2rUqJFvvYZhsGrVKgYNGkSNGjWwWCxERkYSERGRb/mkpCS2bt3Kfffdh5+fH97e3vTv359NmzaRnZ3Nzp07CQkJoVu3bthsNlq0aEGTJk0K1RaVWWESe/XYi4iIiIhIqVNiD3FxcTgcDoKDg8191apVIz4+vlDXCQ8PN7ftdjvBwcEkJCTkezw2NpbU1FSefPLJPNfI/XkkJCTkKX/++edKTk4mMzPzoon/+c6ePYthGDz//PN59lssFhITE/OtOyIiApfLVaDrV3bZ2dl4e3sXqKwSexERERERKXVZWVkYhoHFYvF0KB4TFhaGy+UiMTHRTO5jY2MJDQ0t1HXOnj1rbmdlZZGYmEhISIi579w2DgsLIygoiA8//DDfa4WEhOTp7c+9fsOGDS8oGxgYiJeXF6dPn85TX3715tZtsViYMGFCvglqSEhInteSW3dQUFC+sVYlhmGQlZVFQEBAgcprKL6IiIiIiJQ6wzDyTMpWFYWGhtKkSRPmzp1LRkYGZ8+eZcmSJYVe2m7Tpk3s37+frKwsFi1aRGBgIFdeeWW+ZRs0aEBYWBjz588nLS0NwzCIjY1l165dQM5Eert372bnzp243W5Wr17NqVOn8r2WxWKhS5cufPvtt5w6dQrDMDhx4gSxsbEABAUFcebMGbN8cHAwrVq1YtasWSQnJwM5kwdu3boVgGuvvZaEhARWr16N2+1m586d5gR/VZ3b7cYwDPXYi4iIiIhI+eJyubDbq3YKMmLECGbOnMno0aNxOBy0b9+em2++uVDX6Ny5M/PmzePQoUPUrl2bJ5544qLPYlutVp5++mm+++47Xn75ZdLS0ggPD6dr164AREZG8vDDDzN79mycTietW7emWbNmF6174MCBLFy4kHHjxuF0OqlWrRoPPfQQERER3HjjjXzxxRc8/vjjNGrUiGeeeYahQ4eycOFC3nzzTZxOJ0FBQbRt25bo6GgCAgJ48sknmTVrFnPmzOGaa66hffv2hVq/vbLKfRyhoIm9xShGq8XExGCkpHDloUNFvYQUka1usqdDqJKMer6eDkHKQExglKdDkCpqz449DO52H9NXzaRJC00eJCKlw3oIvK1eNG/evEzr/euvv3A4HAQGBpZpvZXN2LFjL5h5Xiqf5ORksrKyqFu3boHKayi+iIiIiIiUOh8fH02KJlJALperwL31oMReRERERETKgL+/P1lZWWRlZXk6FJFyzeVykZWVhb+/f4HPqdoPuIiIiIiISJnw8/PDarWSlpam4fjF8MILL3g6BCll6enpWK1W/Pz8CnyOeuxFRERERKTUWSwWAgMDSU9P1+RoIhdhGAbp6ekEBgYWamlIJfYiIiIiIlImAgMDzcRFRC6Ue+OrsKNalNiLiIiIiEiZ8PLywt/fH6fTSXZ2tqfDESlXsrOzcTqd+Pv74+XlVahzi/2MvcvhwHL77YUa/y/Fk5qayh+7dxMVFaV2L0OpqansVruXOU+0e9syqaV80/vdM1z2nB6sK+31aRsc7eFoqg693z1Hbe8Zuyy7PFp/eHg4aWlp5prmIpLD6XRisVgIDw8v9LnFWsd+27ZtGIaBw+Eo1Ph/KR7DMHC5XGr3MqZ29wy1u2eo3T0jPT2d48ePU6tWLXx8fDwdTpWh97vnqO09IzMzE4vFQqtWrTwWQ1JSErGxsQQFBen3nQg5fwMkJSURERFRpBtexeqxz/0FrF/EZctisRR6aIYUn9rdM9TunqF29wwfHx8aNmzo6TCqHL3fPUdt7xkWi8Xjf78HBgaSmppKUlISgJJ7qdJyk3o/P78irxhRrB57ERERERGRojAMgzNnzuB0OgkICMDX19fjNxxEypJhGOZjKQEBAVSrVq3InwEl9iIiIiIi4hGGYXD27FmSkpKw2+0EBARoFIdUCZmZmTidTrKysggKCiI8PLxYN7aU2IuIiIiIiMfk9lrGxcWRmZmJw+HAy8sLh8Oh+Rek0sidU8TlcpGZmYnL5cLb25vQ0NASGa2ixF5ERERERDzOMAxSU1NJTEwkIyOD3DTFZrNpbi+pkHLfw4Zh4Ha7gZz3sLe3N8HBwfj5+ZXYe1qJvYiIiIiIlCuGYZCZmUl6ejpZWVlkZ2ejtEUqIovFgtVqxW634+Pjg5eXV6ncoFJiLyIiIiIiIlKBWT0dgIiIiIiIiIgUnRJ7ERERERERkQpMib2IiIiIiIhIBabEXkRERERERKQCU2IvIiIiIiIiUoEpsRcRERERERGpwJTYi4iIiIiIiFRgSuxFREREREREKjAl9iIiIiIiIiIVmBJ7ERERERERkQpMib2IiIiIiIhIBabEXkRERERERKQCU2IvIiIiIiIiUoHZPR2AiIiUvri4OJxOZ5HPDwwMJDQ0tAQjEhEREZGSosReRKSSc7lcjB07luTk5CJfIygoiDfffBOHw1GCkYmIiIhISdBQfBGRSs5utxMWFobFYinS+RaLhdDQUOx23QsWERERKY+U2IuIVHIWi4XbbrsNwzCKdL5hGNx2221FvjEgIiIiIqVLib2ISBUQFRVFvXr1Cp2cWywW6tWrR1RUVClFJiIiIiLFpcReRKQKKGqvvXrrRURERMo/JfYiIlVEYXvt1VsvIiIiUjEosRcRqSIK22uv3noRERGRiqFEEvsXX3yRxo0b5/lq1qwZN910E5MmTSIjI6MkqvGIBx98kA4dOvD888+br23z5s0XlPvjjz/M44899liBrz9//nzzvI0bN5Zk6CIiFyhor71660VEREQqjlLrsXe5XBw8eJCPP/64UIlueeJ0Otm8eTPdunXj1ltvNfcvXbr0grLn7ju3rIhIeVLQXnv11ouIiIhUHCWe2M+YMYM9e/bwww8/EB4eDsC6dev47bffSrqqUpGenm5ur127FpfLRY8ePejUqRMhISEALFu2jOzs7Dzn5Sb2vr6+dO/evcziFREprMv12qu3XkRERKRiKZUee4vFwjXXXMMtt9xi7vv9998B2LVrF4888gjt2rWjWbNm9OjRg7feeouEhASzbO/evWncuDGDBw829z355JM0btyYQYMGmftGjRpF48aNadu2rZloZ2ZmMnXqVPr06cO1115Ly5YteeCBB9iwYUOeGO+//34aN25Mjx492LBhAwMGDKBZs2bMmTPHLLNy5Uq8vLzo1KkTdrud3r17A3DmzBm2bt1qlvvPf/7DX3/9BUD37t3x8/MDcm4MDBkyhNatW9OsWTN69+7NxIkT89w8yM/GjRvN4fnz588390+aNMncf/ToUSDvUP6lS5fy9NNP06JFC3r06MHChQtxu9189NFHdOzYkQ4dOvDKK6+QlpaWp75Dhw7x/PPPc/3119OsWTM6d+7MK6+8Qmxs7CXjFJGK6XK99uqtFxEREalY7GVZ2Zo1a3jsscdwuVzmvmPHjvH111+zdu1avvvuO4KCgmjbti2HDh1i165duN1ubDYb27dvB3KeZc/MzMTLy8vcFx0djdVqxe12M2LECH799dc89W7cuJFNmzYxYcKEPDcbAOLi4hg+fDiZmZl59rvdblavXk379u3NRP3mm2/m22+/BXJ66Nu0aWNu58odhv/dd9/xyiuv5PnD+dChQ3zyySds3LiR6dOn4+XlVfTGzMdrr71m3iA5duwYL7zwAj///DMrV640y8ydO5fQ0FBGjhwJwN69e7nnnntwOp1mmdOnTzN37lzWr1/PvHnzCAsLK9E4RcTzcnvt//rrrzy/pywWC1dccYV660VEREQqkFJ7xn737t38+OOP5vdNmzbljTfewOVy4e3tzb/+9S+2bNli9sofOnSIzz//HMBMmFNTU9m7dy9HjhzhzJkzWCwWMjMz+f333zl16hTHjh3LU37JkiVmUv/aa6+xY8cO1qxZQ8uWLTEMg3feeQe3250nzrS0NDp27Mjq1avZuHGj2Su/fft2EhIS8gyrb9euHdWqVQPyDsfPTewDAwPp0qULTqeT9957D8MwCAsL47vvvmPjxo3cdNNNAGzbto0FCxaUUEv/T/Xq1Vm1ahWTJ08GcnrdVq5cydtvv82GDRuoU6dOnngB3n33XZxOJ7Vr12bBggXExMTw1VdfYbfbOXbsGJ999lmJxykinnexXnv11ouIiIhUPCWe2D/wwAM0btyYfv36ERcXB+QkxDVq1ODIkSMAdOvWjc6dOxMYGMizzz6Lw+EAcoauw/8SdchJsLdt2wZAjx49Lth3bvk1a9aY+15//XVatGhBly5dzJ79M2fO8N///jdPvBaLhTfffJOaNWsSEhJCZGQkACtWrMhTJ4DVajWT89zh+Lt37+bw4cMA9OzZ0xxJkNsD3q9fP6699lpCQkLMXvJzX2tJeuCBB4iMjOT6668399WqVYs777yTsLAwWrRoAcDx48eBnJsamzZtAnJ6+Pv160fz5s0ZMmQIWVlZAJqpX6QSO/9Zez1bLyIiIlIxlVqPvcPhoH79+jzyyCNMnTqV+Ph481hu8gw5k83lTkqXeyMgMjLS7F3etm2bmZgPHToUi8XCtm3bzMTe39+fa665Js/5l5KYmJjn+7CwMKpXr35BuZUrV3LNNddQs2bNPPtvvvlmc3vp0qV5er9zh/lf7LWeu12QWM93/miD89WuXRsAHx8fc9+58efeQMl9FCIpKemy1zx37gMRqVzO77VXb72IiIhIxVTiz9jPmDGDdu3aXbA/NDTU3D558qS5nZ6ebiaP55Zp27YtR48eZfv27QQGBhISEkJ0dDT169dn+/bt5jVatWqFzWYDyPMs+Lp168xh87kMw7jgD9Zzk+Bchw8f5sCBAzzxxBMXHGvVqhW1atXi+PHjLFu2DH9/fzP2jh07XvK1njhxIt/2ON+5z95nZGSY27kT5l1Mbjucy26/+I84ODgYm82G2+3m+uuvNx+FONfllsQSkYott9f+8OHD6q0XERERqaBKrcf+fA0aNDB74VeuXMmvv/6K0+lk4sSJZg9y586dzfKtW7cGcoaI79u3j+uuuw6LxULLli05e/Ysf/zxB5BzAyDXuee/+uqrHDt2jMzMTPbv38+nn36aZyj8peQOw89v2TqLxZJnOP6hQ4cA6NWrl5lEt2zZ0kz4c59bT0xMZOLEifnGer5ze/bXrVuHYRjs3r2b5cuXFyj+gvLx8TEfY1i/fj3ffvstTqcTp9PJhg0bGD16NIsWLSrROkWkfLFYLPTt25eaNWvSt29f9daLiIiIVEBlNiu+xWLh1Vdf5bHHHiMjI4MHH3wwz/F69erx0EMPmd+fm7BnZ2fTsmVLIKfHfP78+WZP8rnP4992220sWLCADRs2sGLFCjNBz++al7JixQpq1KhBs2bN8j1+yy238MUXX+TZlzsbPkBAQAAvvPACr776KmfPnuXOO+/MU7ZFixb079//ovXXrFmTFi1asGPHDpYvX06rVq1ITU3F19e3QPEXxpgxY7j33ntxOp28+uqrvPrqq3mOd+jQocTrFJHypUmTJhd89kVERESk4ijT5e66du3KzJkzmTp1Ktu2bSMlJYXq1avTo0cPHn/8cYKDg82ydevWpWbNmuZQ9nMT+1y+vr55km+bzca0adP46quvWLx4MYcPH8Zut1OzZk1at25N3759LxtjUlIS27Zt44477rhomebNm5tDVyFnNvpzbzAA3HXXXdSsWZPPP/+cP/74g4yMDGrXrs1NN93EI488ctml7saPH89rr73Gtm3bCAgIYMiQIWRnZ/Ppp59e9jUURpMmTfj++++ZMmUKGzZsIC4ujpCQEOrWrUv37t0vObJARERERKQ0GYaBYRhkZ2frEVGpkCwWC1arFYvFUqojIy2GPiF5LFmyhFGjRjFt2jS6du3q6XBERERERKoMwzBIT083vzIyMswlpkUqMqvVire3Nz4+PuZXSSb6xUrst2/fjmEY5mzrIiIiIiJSvrlcLnPuqvLCMAxSU1OJj48nMzMTi8WCw+HAbrdjt9tLvbdTpLTkjjrJysoiKysLl8uFYRh4eXkRGhqKn59fiby3izUUPzfI/Gabl9JjGAYulwuHw6F2L0Nqd89Qu3uG2t0zXC4XR48epU6dOrppXob0fvcctb1nlLcBu5mZmZw5c4aMjAwcDgchISF6T0illft7LyUlhVOnTuHt7U21atUu+6j25RQrsXc4HGRmZnLVVVfh5+dXrECk4FJTU9m9e7favYyp3T1D7e4ZanfPWL9+PX379mXdunV55pSR0qX3u+eo7T1j165d5SZpzsjI4MSJE1gsFiX0UiVYLBa8vLxwOBy4XC6Sk5M5fvw4kZGReHt7F/m6ZbbcnYiIiIiISK60tDSOHz+O1WolNDQULy8vJfVSZeQm+KGhoVitVo4fP05aWlrRr1ecZ+xjYmIwUlK48v+v5S5lx1Y32dMhVElGvZJfclDKn5jAKE+HIFXUnh17GNztPqavmkmTFk08HY6IVFLWQ+Bt9aJ58+YeiyH30SO73U5wcDBWq/obperKzs4mMTGRrKysIj+Op0+QiIiIiIiUGcMwiI2NxWKxKKkXIWfG/ODgYCwWC7GxsUWaB0OfIhERERERKTMpKSmkpaURGBiopF7k/7NarQQGBpKWlkZKSkrhzy+FmERERERERC6QnZ1NbGws3t7exZooTKQyyv1cxMbGkp2dXahzldiLiIiIiEiZSElJITs7G39/f0+HIlIu+fv7k52dTWpqaqHOU2IvIiIiIiJlIjk5GYfDgd1erFW3RSotu92Ow+EgKSmpUOcpsRcRERERkVLncrlIT0/Hx8fH06GIlGs+Pj6kp6fjcrkKfI5ulYmIiIiISKlzOp1YLJYqmdi/9tprLFmy5KLHFy9ezPHjxxkxYsRFywwfPpwHHniAnj17kp6eTu3atVm0aNEF5d5//32+/fZbAMaNG0f37t2ZO3cua9asISYmBqfTCcDgwYN56qmn8q1rx44dPPTQQ4wePZpBgwYRHR190biio6OZNm0aw4cPZ+vWrQAsWbKEyMjIPOVWrFjB6NGjAbj77rt57rnngJxVEn755RcWLVrEnj17cDqdhIWFcdVVV3HLLbdw0003XbTuysrHxwen04nT6SQ0NLRA56jHXkRERERESl1aWhoOhwOLxeLpUCosX19fOnfuDMCxY8fYvXt3nuOGYbBixQoAAgIC6NSpEwA//PADGzZsMJP6y1mzZg0AXbt2LXBsN954o7m9fPnyC46fu693795AziiOUaNGMWbMGDZs2EB8fDwul4tTp06xfv163n333QLXX5lYLBYcDgdpaWkFPkc99iIiIiIiUuoyMjLw8/PzdBgeN3XqVFq3bn3B/uPHj5vbffr04fXXX8/3/F69evHLL78A8MsvvxAVFWUe27FjB2fOnAGgW7dueHl5AdC9e3cGDBiAxWIpULK8du1aGjVqdEGve2Rk5EVHHvTs2ZMPPvgAt9vNL7/8wv33328ey8jIYO3atQDUqlWL5s2bA/DPf/6T1atXA1C3bl3GjBlDixYtSE1NZePGjcydO/eysVZWDoeD1NRUDMMo0M0w9diLiIiIiEipMwwDh8Ph6TAqvOuvv95cVeD8nvH8esUhZxj/wIEDqV+//mWvf/ToUQ4cOECXLl0KFVdoaCht2rQB4I8//uDEiRPmsfXr15uzvOf27MfFxTFv3jwgZw33CRMm0K5dO7y9vQkNDeWmm27is88+K1QMlYnD4cAwjAI/Z6/EXkREREREyoRmwy8+Ly8vunXrBuQdjn/uMPyQkBDatm1bpOvnDsMvbGIPOaMJcp17kyG/Gw6bN282k9Z27drRsGHDC65ns9kKHUNlkftZycjIKFB5JfYiIiIiIlLqbDYbVqvSjxEjRhAdHW1+3X333ReUWbJkSZ4y0dHR7N271zx+bgKdOyx/586dnD59GoAbbrihyDdR1qxZQ3h4OE2bNr3g2IkTJy6Ia/bs2ebxHj16mKMycuPKyMhg3bp1ANSvX5/GjRub18pVkJEEVY3VasVmsymxFxERERGR8qMq976WtHbt2hEcHAz8rzf83F7xcxP/wkhOTmb79u107ty5SJMcBgYG0qFDB+B/w/F//fVXUlJSLohLkyhens1mIysrq0BlNRZGRERERERKnXrrc1xs8rxzXWryPMh5/rp79+4sWLCAY8eO8ccff5jD8KtVq0arVq2KFNuGDRvIysq66DD8S02el+vGG280h/MvX76cPXv2mMfOTexr1qxpbh8+fLhI8VZ2VqsVt9tdsLKlHIuIiIiIiIgS+xJ27uR4EydO5NSpU0DO7PRFbevVq1fj7e1Nu3btihxXt27d8Pb2BuDnn382Z8O/+uqradCggVmuTZs25rD9jRs3cvDgwQuuVdCktrKyWq0F7rHXp0tEREREREqdEvuSFR0dTXh4OADbtm0z95+b8OdKTk4mPj4+zzr2GRkZxMfHEx8fD0BWVha//vorbdu2xcfHp8hx+fn5cf311wOwd+/efIfhA4SFhXHnnXcCOQn8qFGj2LRpE5mZmSQkJLB06VKGDRtW5DgqA6vVSnZ2doHKaii+iIiIiIiUOiX2BbdkyZILhryfPzzfZrNxww035Fnr/dw14s81atQotm7dmmffnDlzmDNnDgBbt25l586dJCUlFWk2/PP16tWL//u//8uzL78bDk8//TTHjx9n9erVHD58mEcffTTP8YCAgGLHUpFZrVYMwyhY2VKORURERERERIl9KTi/Fzx3jfiiWLNmDRaLhc6dOxc3LK6//nr8/f3N75s1a0atWrUuKOdwOBg/fjzvvPMOHTp0IDg4GLvdTo0aNejUqRNjxowpdiwVWWE+MxajoLcA8hETE4ORksKVhw4V9RJSRLa6yZ4OoUoy6vl6OgQpAzGBUZ4OQaqoPTv2MLjbfUxfNZMmLZp4OhwRqaSsh8Db6pVvz25piouLw8vLq0zrlIIbMGAAAQEBzJgxw9OhyP+X+1hCw4YNL1tWQ/FFRERERKTUaXmz8m3+/PmeDkHOU5jPjMbDiIiIiIiIiFRgSuxFREREREREKjAl9iIiIiIiIiIVmJ6xFxERERGRKiM6OvqSx1977TVuv/128/uMjAxmzZrF0qVLOXr0KHa7nVq1anHrrbdy//33X7a+H3/8ke+//56//vqL1NRUqlevTvv27XnwwQepUaOGWc7lcvHFF1/w888/c/LkSQIDA+nYsSOPP/441atXN8sdOnSI999/n99//52goCDuvPNOhgwZkqfOp556ikOHDjFv3rwynbDQMAzmzJnDDz/8wJEjR/Dx8SE6OprHH3+cBg0a5Ck7bdo0tmzZwh9//EF6ejoAY8aMMde2v5zjx4/z1VdfsXHjRs6cOYOfnx9XXHEFgwYNyrNaQExMDOPHj+e///0v1atX58EHH+S2224zj7vdbu655x78/f354osvSqAVPEOJvYiIiIiIyP/n5+dnbqenp/PYY4+xc+dOc19GRgZ//vknK1euvGxi/8UXXzB58uQ8+44cOcKRI0dYu3Yt3333HX5+fhiGwbPPPsuGDRvMcnFxcSxZsoTNmzfz9ddfEx4ejtvtZtSoUZw+fZr333+fpUuXMmnSJGrUqMHNN98MwLp161i/fj3vv/9+ma9C8Pbbb/PDDz+Y32dmZrJy5Uq2bNnCl19+mSe5nzVrFk6ns0j1JCUlMWTIEM6ePWvuy8jIID4+np07d3L27FnuvvtukpOTefbZZ3E4HEyaNInPP/+c119/nbp169KiRQsAvv/+e/bv38/06dOL9qLLCQ3FFxERERGRKmPr1q0XfNWvXx+AwMBAOnXqZJadOnWqmdTffffd/Pjjj6xbt46ZM2fSr1+/y9a1ZMkSIGd288mTJ7N69Wrz+idPnuS3334DYPXq1WZSf+utt7J69Wo+/vhjrFYrp06d4tNPPwXgr7/+4tChQ7Rp04YOHTpwzz33ADlr0ENOr/+ECROIjo7mhhtuKGZLFc6+ffvMpL5t27asWLGCmTNn4u/vT3JyMuPGjctT/vbbb+e1115jxIgRha5rw4YNZlLfqVMnVq1axZQpU8xZ5BcsWADArl27iI+P54YbbqBly5bccccdGIZhtldSUhKffvopt956K02bNi3qSy8XlNiLiIiIiEiVtWnTJg4dOgTAbbfdhq+vL5DTA/z9998D0LJlS5577jlq1qyJr68vUVFReYbrX4zNZgMgLCyM9u3bExAQQOfOnc3juUPQt2zZYu4bOHAgAQEBdOjQgUaNGgGwbNkysrOzcblcAGZPvMPhADD3f/vttxw5coRRo0YVrTHycfr0afP6l3Lua+jfvz/BwcFERUXRpk0bADZu3EhcXJxZZtSoUdx+++3UrFmz0DFZrf9LY7t06UJgYCDt2rUjNDQUyPnZARdtr6ysLAA+/fRTXC4XTzzxRKFjKG+U2IuIiIiISJU1b948IKdX/dznu/fu3UtKSgoAQUFBDBs2jOuvv54bb7yRd955h+Tk5Mte+4477gByhtX/9ttvOJ1O1q5dC+Qkm7nP+2dmZl7yOikpKRw5coR69eoRHh7Otm3biI2NZfny5QC0atWK+Ph4PvvsM/r27Uvjxo0L2Qr5S01NZejQobzwwguXTe5zk+mLMQyDvXv3lkhcnTp1IjIyEsgZrZCcnMzGjRuJj48HoH379gA0bdoUb29v1q9fT3JyMitWrABy2uvAgQPMmzePBx98kGrVqpVIXJ6kxF5ERERERKqkM2fOsGrVKiBn+Hi9evXMYydPnjS3V69ezbZt20hLSyMuLo7vv/+ep556iuzs7Etef9CgQYwaNQqLxcLjjz9O165dWb9+PXXr1mXChAnm5Hm5PfMA3333HSkpKWzYsIE///zT3J+YmIi3tzdvvfUWVquV3r17M3XqVG655RYGDhzI5MmTMQyDxx57DIDs7Gzcbnex2sfPz48HHniA1atXM3r06Esm91dffbW5/cMPP5CYmMju3bvZvHlzntdQEvz8/Pjiiy9o1KgR69evp1u3bjz22GNYrVb69u3LM888A0C1atV47bXXOHXqFN26dWPJkiXcf//9dOvWjfHjx1OjRg3uvfdeIGcSvcv9PMszTZ4nIiIiIiJV0oIFC8zk9/zZ2M9Niq1WK5MnTyYqKooXX3yR3377jV27drFhw4Y8z+Sf7+eff2bixIkXJIwJCQns3r2b9u3bY7FYuPXWW5k5cyZHjx7lxx9/5Mcff7zgWnZ7TurWtm1bc+b8oKAg/P392bt3LwsXLuTJJ5/E19eX1157jeXLl+N2u2nfvj2vvvoqYWFh+ca4YsUKPv7440u2k8PhYO3atbz55pu88cYb+Zbp0KED1157Lbt27WLTpk306NHjoq+huFJTUxk9enSeGx+Q8zM7fPgwJ0+eNOdN6N27Nz179uTkyZOEh4fj4+PD6tWr+e233xg7diwpKSm8+OKLbNiwAZvNxg033MCYMWPMRzIqCvXYi4iIiIhIleN2u83J3qpXr06XLl3yHA8ODja3GzVqRNu2bQkMDKRv377m/n379l30+tnZ2XzwwQe43W6Cg4OZPXs269at44EHHiA5OZnJkyfz888/Azk90P/617+46aabCAoKws/Pj9atW3P99deb1zt3aTyLxUJkZCT+/v4AjBs3jtq1a3P33Xfz2WefsWTJEvr27cvw4cNZu3YtH3zwwUXjdDqdHD58+JJfuT31l+pxt1qtfPTRR9x5552Eh4fj7e1N06ZNuemmm/J9DcWxYMECfv/9dwDuuusu1q5dy9y5cwkPD2fHjh2MHDkSwzDM8jabjdq1a+Pj44PL5eLDDz+kVatW9OzZk/fff581a9YwfPhw+vXrx48//shnn31WInGWJfXYi4iIiIhIlbNmzRpOnToF5Ez2dn5v8tVXX43FYsmTIJ7P29v7osfi4uLMRPi6664zn3u/7bbbmDFjBpAz4dwtt9wC5Awbf/vtt83zDcNg8ODBANSvX5/w8PB86/n3v//Ntm3bmDBhAg6Hg40bNwLw6KOPEhAQwIwZM8x9+bn99tsvORHg+vXree6552jQoAGvv/76RctBzqoCY8aMYcyYMea+F154AYCAgIASe/Y/d7JDyGlPPz8/rrzySlq2bMny5cs5fPgwp06dyndivtmzZ3Ps2DHGjh0L5EyeGBQUxNChQ0lOTmbOnDmXbK/ySj32IiIiIiJS5eROmme32+nfv/8FxyMiIswZ3f/88082bdpEcnIyCxcuNMvkTn53/PhxoqOjiY6OZurUqUDOhHu5if/OnTvZu3cvaWlpLFq0yDw/ICDA3J4/fz4HDx4kIyOD48eP88477/DHH38AmM+Bny89PZ2PPvqIdu3a0bVrV+B/M8bb7XYsFgs2my3PLPKFkZqaymuvvUaDBg345JNPCAkJuWT5n376iX379pGWlsaZM2f49NNPzQn+Bg4caM5ODzlLzcXHx5OWlmbuS0tLIz4+nqSkJHPfa6+9ZrZtroiICHN78eLFpKamsn//frZv3262Qe5ohnOdPXuWzz//nNtvv928yWCxWPK0GfxvNYOKRD32IiIiIiJSpRw5csTsle3WrdtFZ0UfNWoUQ4cOJSUlhUcffTTPscvNPu/l5cXAgQOZOXMmiYmJ5przuby9vfMM6//iiy84ceLEBdfp2bNnvjceAGbMmMHp06eZOHGiua9z58785z//4ZtvviEiIoKEhIQCLc2XHz8/PyZNmkStWrXyPJpwMQsWLGDr1q0X7G/ZsiXDhg3Ls++ee+654PVOnDiRiRMnEhkZyZIlSy5az+23387s2bNJTk7m22+/5dtvv81z/OabbyYwMPCC83LnEnj88cfNfZ07d2bx4sUsWbLEHMFx7iMQFYUSexERERERqVK+//57c4j9wIEDL1ruqquu4ssvv2TKlCls3bqV9PR0rrjiCvr168egQYMuW8/TTz9NrVq1WLJkCQcPHiQzM5OQkBCuu+46hg4dypVXXmmWveGGG1i7dq2ZXDZo0IC+fftyxx13YLFYLrj2qVOnmD59OgMGDOCqq64y9w8ZMoTExETmzJlDVlYWt9xyC88++2yB2+Z8UVFRBS57/fXXk5CQwMmTJ8nKyqJOnTrcdNNN3HvvvZd8bKGwatasyVdffcVnn33G1q1biYuLw263U69ePXr16sV99913wTm7d+9m8eLFPPXUU3kmEhw5ciTZ2dlMmDABu93OXXfdxZAhQ0os1rJiMS710MhlxMTEYKSkcOU5zzhI2bDVvfy6mVLyjHoVa3ZMKZqYwIL/ByZSkvbs2MPgbvcxfdVMmrRo4ulwRKSSsh4Cb6sXzZs3L9N64+PjcTgcZVqnSEXmcrmIj4+nYcOGly2rZ+xFREREREREKjAl9iIiIiIiIiIVmBJ7ERERERERkQpMib2IiIiIiIhIBabEXkRERERERKQCU2IvIiIiIiIiUs4UZgE7JfYiIiIiIlLqirHKdpWyY8cORo8ezaOPPsq2bds8EsOkSZNYsGABAPv27WPUqFFlVvfs2bP5/PPPy6y+ysLu6QBERERERKTyU2JfMHPmzKF///507NjR06EAcPXVVzN+/PgClR07diwtW7akV69epRxV1aAeexERERERKVeys7M9HUKFcObMGerUqVMi1zIMQ+1egRXmZ6ceexERERERKXVKMHMkJiYya9Ys9uzZg5eXFx06dKBfv36kpaUxevRoDMPgnXfewWKx8NFHH+FwOPKcP3bsWBo0aMDBgwc5dOgQderU4cEHH6RWrVoAjB49mm7durF9+3aOHDnCK6+8QlBQEHPmzGH37t0AtGnThoEDB5rX3rJlC/PmzSM5OZk2bdrgdrvN+vbs2cOkSZOYPHkyAFlZWSxevJjffvuNpKQkIiIiePjhh9mwYQP79u1j//79/PDDDzRq1IiRI0eSnp7OvHnz2LFjBy6Xi2bNmnHvvffi5+cHwN69e5k5cyaxsbE0bdrU3C85nxmrtWB98UrsRURERESk1CmxzzFt2jSCg4N5//33cTqdTJw4EW9vb/r06cMnn3zC0KFDeemll7jiiisueo21a9fy9NNPU79+fRYuXMikSZN46623sNlsAKxbt46nnnqKGjVq4Ha7GTt2LFdddRXvvfceLpeLKVOmsHjxYgYMGMDJkyeZNm0ajz32GM2bN2fNmjWsW7eO+vXr51v3vHnz2Lt3LyNHjqR69eqcPHkSh8PBoEGDOHz48AVD8b/44gtsNhtvvPEGNpuNL7/8klmzZjFs2DBSUlL46KOPGDhwIJ07dyYmJoYpU6bQrl27Em3ziio7O9v8mV6OhuKLiIiIiEipU2IP8fHx7N69m7vuugsfHx8iIiLo06cP69evL9R12rZty1VXXYXdbqdv374kJSWxf/9+83j37t2JjIzEarVy9OhRTp06xd/+9je8vb0JCAjg1ltvZePGjQBs2rSJqKgoWrRogc1mo3v37tSoUSPfeg3DYNWqVQwaNIgaNWpgsViIjIwkIiIi3/JJSUls3bqV++67Dz8/P7y9venfvz+bNm0iOzubnTt3EhISQrdu3bDZbLRo0YImTZoUqi0qs8Ik9uqxFxERERGRUqfEHuLi4nA4HAQHB5v7qlWrRnx8fKGuEx4ebm7b7XaCg4NJSEjI93hsbCypqak8+eSTea6R+/NISEjIU/7888+VnJxMZmbmRRP/8509exbDMHj++efz7LdYLCQmJuZbd0REBC6Xq0DXr+yys7Px9vYuUFkl9iIiIiIiUuqysrIwDAOLxeLpUDwmLCwMl8tFYmKimdzHxsYSGhpaqOucPXvW3M7KyiIxMZGQkBBz37ltHBYWRlBQEB9++GG+1woJCcnT2597/YYNG15QNjAwEC8vL06fPp2nvvzqza3bYrEwYcKEfBPUkJCQPK8lt+6goKB8Y61KDMMgKyuLwMDAApXXUHwRERERESl1hmHkmZStKgoNDaVJkybMnTuXjIwMzp49y5IlSwq9tN2mTZvYv38/WVlZLFq0iMDAQK688sp8yzZo0ICwsDDmz59PWloahmEQGxvLrl27gJyJ9Hbv3s3OnTtxu92sXr2aU6dO5Xsti8VCly5d+Pbbbzl16hSGYXDixAliY2MBCAoK4syZM2b54OBgWrVqxaxZs0hOTgZyJg/cunUrANdeey0JCQmsXr0at9vNzp07zQn+qjq3241hGOqxFxERERGR8sXlcmG3V+0UZMSIEcycOZPRo0fjcDho3749N998c6Gu0blzZ+bNm8ehQ4eoXbs2TzzxxEWfxbZarTz99NN89913vPzyy6SlpREeHk7Xrl0BiIyM5OGHH2b27Nk4nU5at25Ns2bNLlr3wIEDWbhwIePGjcPpdFKtWjUeeughIiIiuPHGG/niiy94/PHHadSoEc888wxDhw5l4cKFvPnmmzidToKCgmjbti3R0dEEBATw5JNPMmvWLObMmcM111xD+/btC7V+e2WV+zhCQRN7i1GMVouJicFISeHKQ4eKegkpIlvdZE+HUCUZ9Xw9HYKUgZjAKE+HIFXUnh17GNztPqavmkmTFpo8SERKh/UQeFu9aN68eZnWe+TIEWw2m4ZZF9PYsWMvmHleKp+kpCTcbjd169YtUHkNxRcRERERkVLn4+ODy+VSb6zIZRiGgcvlwsfHp8DnKLEXEREREZFS5+/vj9vtJisry9OhiJRrWVlZuN1u/P39C3xO1X7ARUREREREyoSvry82m4309HQcDoenw6mwXnjhBU+HIKUsLS0Nm82Gr2/BHwNWj72IiIiIiJQ6i8VCYGAg6enpGo4vchGGYZCRkUFgYGChloZUYi8iIiIiImUiMDAQwzBIS0vzdCgi5VLukoQFXb8+V7GH4rscDiy3346fn19xLyUFlJqayh+7dxMVFaV2L0OpqansVruXOU+0e9syqaV80/vdM1z2dACutNenbXC0h6OpOvR+9xy1vWfssuzyWN0Oh4OAgABSUlLw9va+6BJtIlWR2+0mJSWFgICAQj+uoh57EREREREpM+Hh4VgsFpxOp6dDESlXkpOTsVgshIeHF/rcYq1jv23bNgzDwOFwFGr8vxRP7vIHaveypXb3DLW7Z6jdPSM9PZ3jx49Tq1atQi1xI8Wj97vnqO09IzMzE4vFQqtWrTwWg9Pp5PTp0wQGBhZqgjCRyiotLY3k5GSqV69OQEBAoc8v1lD83F/A+kVctiwWC15eXp4Oo8pRu3uG2t0z1O6e4ePjQ8OGDT0dRpWj97vnqO09w2KxePzvd39/fwIDA0lOTsYwDD2KIVVaamoqTqeTwMDAQi1xd65i9diLiIiIiIgUhWEYxMXFkZiYiL+/P35+fh6/4SBSlgzDIDU1lZSUFIKDgwkLCyvyZ0CJvYiIiIiIeIRhGCQkJBAfH4/NZsPf3x9vb28l+FKp5S5pl5KSgtvtJjQ0lJCQkGK975XYi4iIiIiIR2VkZBAXF0daWhp2ux0vLy8cDgd2u10z50ul4Ha7ycrKwuVykZGRgdvtxtfXl7CwMLy9vYt9fSX2IiIiIiJSLqSnp5OYmEh6ejputxv435wA6sWXisgwDPMLwGaz4ePjQ3BwcIlOlKvEXkREREREyp2srCzS09PJysoiOzsbpS1SEVksFqxWK3a7HR8fH+z2Ys1ff/F6lNiLiIiIiIiIVFxWTwcgIiIiIiIiIkWnxF5ERERERESkAlNiLyIiIiIiIlKBKbEXERERERERqcCU2IuIiIiIiIhUYErsRURERERERCqwYi2i16NHDxwOBz4+PgCMGDGCW265pUQCk8v7/vvveemll5g8eTI9e/b0dDiV3tChQzlz5gxWqxV/f39efvllrrnmGk+HVallZGTw7LPPsn//fry9vQkPD+cf//gH9erV83Rold5bb73FihUrOHbsGAsWLCAqKsrTIVUJhw4d4sUXXyQ+Pp6AgADee+89GjVq5OmwKjW91z1Dv989R3/PiFROxVrHvkePHkyePFn/CXrA0aNHee655zAMg2HDhimxLwNJSUkEBQUB8MsvvzBp0iQWLVrk4agqt4yMDH777Te6dOmCxWJh5syZLFu2jK+//trToVV6mzdvpm7dutxzzz36PV+GHnjgAfr168eAAQNYunQpn332Gd9//72nw6rU9F73DP1+9xz9PSNSOWkofgWUnZ3Nyy+/zMsvv4yXl5enw6kycv8TBEhOTsZisXgwmqrB29ubrl27mm193XXXcezYMQ9HVTW0adOGmjVrejqMKuXs2bP8/vvv3H777QD07t2bkydPcvjwYQ9HVrnpve4Z+v3uOfp7RqRyKtZQfIDnn38egObNm/Pcc88RFhZW7KDk0r788ktatWpFs2bNPB1KlfP888+zceNGAKZNm+bhaKqeGTNm0KNHD0+HIVIqTpw4QbVq1bDbc/5rtlgsREZGcvz4cQ1PlkpPv9/Llv6eEal8itVjP3PmTBYvXsz8+fMJDQ3lhRdeKKm45CL27dvHv//9bx599FFPh1Ilvf/++6xevZpnnnmGcePGeTqcKuXTTz/lr7/+YtSoUZ4ORURESpB+v5c9/T0jUvkUKrFfsGABffv2pW/fvnz//ffUqlULAIfDweDBg9myZUupBFnVndvuW7Zs4dixY/Tu3ZsePXqwY8cOXnnlFWbPnu3pMCud89/v5+rfvz8bN24kPj7eQ9FVXvm1++eff86///1vPvvsM3x9fT0cYeV0qfe7lI3IyEjOnDlDVlYWAIZhcOLECfP/WpHKSL/fPUt/z4hUHoUait+vXz/69esHQGpqap7JN3788UfNqFlKzm13gHvuucfcvv/++xk8eLAmzysF57Z7UlISp06dokaNGgAsX76ckJAQQkJCPBdgJXX++/3LL7/kxx9/5Msvv8zzXKCUrPPbXcpeeHg4TZs2ZdGiRQwYMIBly5ZRo0YNDcOXSku/38teUlISaWlp+ntGpBIq8qz4R44c4cknn8TtdgNQp04d/v73v1OnTp0SDVAuTYl92Th27BhPP/00GRkZWCwWwsLCeOGFFzR7cik7efIkXbt2pW7duvj7+wPg5eXFd9995+HIKr9XX32VVatWERsbS0hICP7+/vzyyy+eDqvSO3DgAGPGjCEhIQF/f3/effddGjdu7OmwKjW91z1Dv989Q3/PiFRexVruTkREREREREQ8S8vdiYiIiIiIiFRgSuxFREREREREKjAl9iIiIiIiIiIVmBJ7ERERERERkQpMib2IiIiIiIhIBabEXkRERERERKQCU2IvIiIiIiIiUoEpsRcRERERERGpwJTYi4iIiIiIiFRgSuxFREREREREKjAl9iIiIiIiIiIV2P8Ds8whaGOfCWcAAAAASUVORK5CYII=",
|
||
"text/plain": [
|
||
"<Figure size 1150x360 with 4 Axes>"
|
||
]
|
||
},
|
||
"metadata": {},
|
||
"output_type": "display_data"
|
||
}
|
||
],
|
||
"source": [
|
||
"def spirometry_chart():\n",
|
||
"# Ensure data is loaded\n",
|
||
"\n",
|
||
"# Coerce numeric columns\n",
|
||
" for col in ['Best', 'LLN', 'Pred.', '%Pred.', 'ZScore']:\n",
|
||
" if col in spirometry_df.columns:\n",
|
||
" spirometry_df[col] = pd.to_numeric(spirometry_df[col], errors='coerce')\n",
|
||
"\n",
|
||
"# Select rows of interest and prepare display values\n",
|
||
" rows_map = {\n",
|
||
" 'Lung Volume': 'FVC',\n",
|
||
" 'Lung Power': 'FEV1',\n",
|
||
" 'Power/Volume': 'FEV1/FVC%'\n",
|
||
" }\n",
|
||
"\n",
|
||
" records = []\n",
|
||
" for label, param in rows_map.items():\n",
|
||
" row = spirometry_df.loc[spirometry_df['Parameters'].str.strip() == param]\n",
|
||
" if row.empty:\n",
|
||
" continue\n",
|
||
" row = row.iloc[0]\n",
|
||
" records.append({\n",
|
||
" 'label': label,\n",
|
||
" 'param': param,\n",
|
||
" 'best': row['Best'],\n",
|
||
" 'pct': row['%Pred.'],\n",
|
||
" 'z': row['ZScore']\n",
|
||
" })\n",
|
||
"\n",
|
||
"# Figure setup\n",
|
||
" fig, axes = plt.subplots(nrows=3, ncols=1, figsize=(11.5, 3.6), sharex=True,\n",
|
||
" gridspec_kw={'hspace': 0.65})\n",
|
||
"\n",
|
||
" x_min, x_max = -5, 3\n",
|
||
"# Segment colors: red -> orange -> yellow -> green\n",
|
||
" segments = [\n",
|
||
" (-5, -4, '#f4a7a7'), # red-ish\n",
|
||
" (-4, -3, '#f7c49a'), # orange-ish\n",
|
||
" (-3, -1.7, '#f6e3a3'), # yellow-ish\n",
|
||
" (-1.7, 3, '#c9f0cc'), # green-ish\n",
|
||
" ]\n",
|
||
"\n",
|
||
" ticks = np.arange(x_min, x_max + 1, 1)\n",
|
||
" labels = [str(i) for i in ticks]\n",
|
||
"\n",
|
||
"# Plot each row\n",
|
||
" for ax, rec in zip(axes, records):\n",
|
||
" # Background segments\n",
|
||
" for a, b, color in segments:\n",
|
||
" ax.barh(0, width=b-a, left=a, height=0.6, color=color, edgecolor='none')\n",
|
||
"\n",
|
||
" # LLN (-1) and Predicted (0) markers\n",
|
||
" # ax.axvline(-1, color='black', lw=1)\n",
|
||
" ax.axvline(0, color='black', lw=1)\n",
|
||
"\n",
|
||
" # Z-score pointer (downward triangle) at top of each panel\n",
|
||
" if pd.notna(rec['z']):\n",
|
||
" trans = mtransforms.blended_transform_factory(ax.transData, ax.transAxes)\n",
|
||
" ax.plot(float(rec['z']), 1.2, marker='v', markersize=12, color='dimgray',\n",
|
||
" transform=trans, clip_on=False)\n",
|
||
"\n",
|
||
" # Labels, ticks, and styling\n",
|
||
" ax.set_title(rec['label'], loc='left', fontsize=11, fontweight='bold', pad=2)\n",
|
||
" ax.set_xlim(x_min, x_max)\n",
|
||
" ax.set_yticks([])\n",
|
||
" ax.set_xticks(ticks)\n",
|
||
" ax.set_xticklabels(labels, fontsize=8)\n",
|
||
" ax.set_xlabel('')\n",
|
||
"\n",
|
||
"# Add x-axis label to the bottom axis\n",
|
||
"# axes[-1].set_xlabel('Z-score', fontsize=10)\n",
|
||
"\n",
|
||
"# Top annotations\n",
|
||
" axes[0].text(-1.7, 0.45, 'LLN', ha='center', va='bottom', fontsize=9)\n",
|
||
" axes[0].text(0, 0.45, 'Predicted', ha='center', va='bottom', fontsize=9)\n",
|
||
"\n",
|
||
"# Right-side summary boxes\n",
|
||
" fig.subplots_adjust(right=0.78)\n",
|
||
" box_ax = fig.add_axes([0.805, 0.06, 0.18, 0.90]) # [left, bottom, width, height]\n",
|
||
" box_ax.axis('off')\n",
|
||
"\n",
|
||
"# Helper to draw a pill-shaped text box\n",
|
||
"\n",
|
||
" def pill(ax, xy, text):\n",
|
||
" x, y = xy\n",
|
||
" # Draw rounded rectangle background\n",
|
||
" bbox = FancyBboxPatch((x-0.48, y-0.09), 0.96, 0.18,\n",
|
||
" boxstyle='round,pad=0.02,rounding_size=0.08',\n",
|
||
" ec='#dddddd', fc='#f3f3f3', linewidth=1.0)\n",
|
||
" ax.add_patch(bbox)\n",
|
||
" ax.text(x, y+0.025, text, ha='center', va='center', fontsize=11, fontweight='bold')\n",
|
||
" ax.text(x, y-0.055, 'of predicted', ha='center', va='center', fontsize=9, color='#555555')\n",
|
||
"\n",
|
||
" box_ax.set_xlim(0, 1)\n",
|
||
" box_ax.set_ylim(0, 1)\n",
|
||
"\n",
|
||
"# Prepare display strings and positions (top to bottom)\n",
|
||
" right_items = []\n",
|
||
" for rec in records:\n",
|
||
" name = 'FVC' if rec['param'] == 'FVC' else ('FEV1' if rec['param'] == 'FEV1' else 'FEV1/FVC')\n",
|
||
" unit = 'L' if rec['param'] in ('FVC', 'FEV1') else '%'\n",
|
||
" value_fmt = f\"{rec['best']:.2f}{unit}\"\n",
|
||
" pct_fmt = f\"{rec['pct']:.1f}%\"\n",
|
||
" right_items.append((name, value_fmt, pct_fmt))\n",
|
||
"\n",
|
||
"# Sort to match image order on the right (FVC, FEV1, FEV1/FVC)\n",
|
||
" order = ['FVC', 'FEV1', 'FEV1/FVC']\n",
|
||
" right_items_sorted = [next(item for item in right_items if item[0] == k) for k in order]\n",
|
||
"\n",
|
||
" ys = [0.82, 0.48, 0.15]\n",
|
||
" for (name, value_fmt, pct_fmt), y in zip(right_items_sorted, ys):\n",
|
||
" main_line = f\"{name}\\n{value_fmt} → {pct_fmt}\"\n",
|
||
" pill(box_ax, (0.5, y), main_line)\n",
|
||
"\n",
|
||
" plt.savefig('graphs/spirometry_chart.png', dpi=300, bbox_inches='tight')\n",
|
||
" plt.show()\n",
|
||
"\n",
|
||
"spirometry_chart()"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": null,
|
||
"id": "605f15de",
|
||
"metadata": {},
|
||
"outputs": [],
|
||
"source": [
|
||
"def respiratory_chart():\n",
|
||
" df = pnoe_df.copy()\n",
|
||
" first_unique_phase = df.drop_duplicates(subset='PHASE')\n",
|
||
" phase_times = first_unique_phase['T(sec)'].tolist()\n",
|
||
"\n",
|
||
" plt.figure(figsize=(18, 5))\n",
|
||
" ax1 = plt.subplot()\n",
|
||
"\n",
|
||
"\n",
|
||
"# Plot VT with step-like appearance\n",
|
||
" line1 = sns.lineplot(data=df, x='T(sec)', y='VT(l)_smoothed', label='VT (L)')\n",
|
||
" ax1.set_xlabel('Time (sec)')\n",
|
||
" ax1.set_ylabel('VT (L)')\n",
|
||
"# ax1.set_title('Respiratory')\n",
|
||
" ax1.grid(True, alpha=0.1)\n",
|
||
" ax1.set_ylim(0, min(8, df['VT(l)_smoothed'].max()))\n",
|
||
"# Plot speed as step function on secondary y-axis\n",
|
||
" ax2 = ax1.twinx()\n",
|
||
" ax1.set_xticks(np.arange(0, df['T(sec)'].max() + 200, 200))\n",
|
||
" line2 = sns.lineplot(data=df, x='T(sec)', y='Speed', color='green', ax=ax2, \n",
|
||
" drawstyle='steps-post', linewidth=2, label='Speed')\n",
|
||
" ax2.set_ylabel('Speed')\n",
|
||
" ax2.set_ylim(0, min(30, df['Speed'].max()) + 1)\n",
|
||
"\n",
|
||
"# Remove default legends first\n",
|
||
" ax1.get_legend().remove()\n",
|
||
" ax2.get_legend().remove()\n",
|
||
"\n",
|
||
"# Combine legends from both axes in the top left\n",
|
||
" lines1, labels1 = ax1.get_legend_handles_labels()\n",
|
||
" lines2, labels2 = ax2.get_legend_handles_labels()\n",
|
||
" ax1.legend(lines1 + lines2, labels1 + labels2, loc='upper left')\n",
|
||
"\n",
|
||
"# Add colored background regions if you have phase information\n",
|
||
" ax1.axvspan(0, phase_times[1], alpha=0.2, color='lightblue')\n",
|
||
" ax1.axvspan(phase_times[1], phase_times[2], alpha=0.2, color='purple')\n",
|
||
" ax1.axvspan(phase_times[2], phase_times[3], alpha=0.2, color='lightgreen')\n",
|
||
" ax1.axvspan(phase_times[3], df['T(sec)'].max(), alpha=0.2, color='blue')\n",
|
||
"\n",
|
||
" plt.savefig('graphs/respiratory.png', dpi=300, bbox_inches='tight')\n",
|
||
" plt.show()"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 21,
|
||
"id": "3220bb8d",
|
||
"metadata": {},
|
||
"outputs": [
|
||
{
|
||
"data": {
|
||
"image/png": "iVBORw0KGgoAAAANSUhEUgAABdEAAAL9CAYAAADEnC/JAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjYsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvq6yFwwAAAAlwSFlzAAAPYQAAD2EBqD+naQABAABJREFUeJzs3Xd0VNXexvHvJKRAOhAIPcQQelGQWPAKipSLCCIqCFyCqKDYCyqvIggKdiwIXr1KFLvS7lVAUKkCSu8BQg8hgCaEBFJn3j+2M8mQhLRJg+ez1qyZOWefffbAAcIz+/y2xWaz2RARERERERERERERkTzcKnoAIiIiIiIiIiIiIiKVlUJ0EREREREREREREZECKEQXERERERERERERESmAQnQRERERERERERERkQIoRBcRERERERERERERKYBCdBERERERERERERGRAihEFxEREREREREREREpgEJ0EREREREREREREZECKEQXERERERERERERESmAQnQRERERERERERERkQJUqhB9ypQpXHnllfj5+VGnTh369+9PTEyMU5u0tDTGjBlDrVq18PX15bbbbiMhIeGC/dpsNsaPH0+9evWoXr063bt3Z+/evWX5UURERERERERERETkIlCpQvTly5czZswY1q5dy5IlS8jMzKRHjx6kpqY62jz22GP897//5dtvv2X58uUcO3aMAQMGXLDfV199lXfeeYeZM2eybt06fHx86NmzJ2lpaWX9kURERERERERERESkCrPYbDZbRQ+iICdPnqROnTosX76cf/zjH5w+fZrg4GC++OILBg4cCMDu3btp2bIla9as4aqrrsrTh81mo379+jzxxBM8+eSTAJw+fZq6desya9YsBg0aVK6fSURERERERERERESqjmoVPYALOX36NAA1a9YEYMOGDWRmZtK9e3dHmxYtWtC4ceMCQ/QDBw5w/Phxp2MCAgKIjIxkzZo1+Ybo6enppKenO95nZWWxa9cuGjVqhJtbpZq8LyIiIiIiIiIiIuISVquVhIQELr/8cqpVq9TRcbmqtL8SVquVRx99lGuvvZY2bdoAcPz4cTw9PQkMDHRqW7duXY4fP55vP/btdevWLfIxU6ZMYeLEiaX8BCIiIiIiIiIiIiJVz++//86VV15Z0cOoNCptiD5mzBi2b9/OqlWryv3czz77LI8//rjj/ZEjR2jTpg2///479erVK/fxSOGSkpLyfLkiUhhdN1JSunakJHTdSEnoupGS0rUjJaHrRkpC142UhK6byis+Pp7OnTvnmZB8qauUIfqDDz7I//73P1asWEHDhg0d20NCQsjIyMjzBy0hIYGQkJB8+7JvT0hIcArAExIS6NChQ77HeHl54eXl5XgfEBAAQL169ZzGI5WHj48PQUFBFT0MqWJ03UhJ6dqRktB1IyWh60ZKSteOlISuGykJXTdSErpuKj+VtHZWqX41bDYbDz74IHPnzuWXX36hadOmTvs7duyIh4cHP//8s2NbTEwMhw8f5uqrr863z6ZNmxISEuJ0THJyMuvWrSvwGBERERERERERERERqGQh+pgxY5g9ezZffPEFfn5+HD9+nOPHj3Pu3DnAzAgfOXIkjz/+OL/++isbNmxgxIgRXH311U6LirZo0YK5c+cCYLFYePTRR5k8eTILFixg27Zt/Otf/6J+/fr079+/Ij6miIiIiIiIiIiIiFQRlaqcy4wZMwDo2rWr0/ZPPvmEqKgoAN566y3c3Ny47bbbSE9Pp2fPnrz//vtO7WNiYjh9+rTj/dixY0lNTeW+++4jKSmJLl26sGjRIry9vcv084iIiIiIiIiIiIhI1VapQnSbzVZoG29vb6ZPn8706dOL3I/FYuHFF1/kxRdfLPUYLyQrK4uMjIwyPYfkLz09nbNnz5b5eTw9PalWrVL9sREREREREREREZEypDTQBWw2G4cPH+bUqVMVPZRLWlxcXLmcp3bt2jRu3BiLxVIu5xMREREREREREZGKoxDdBewBeoMGDfD19dXqtRcpq9VKSkqKI6xv0qRJBY9IREREREREREREyppC9FLKyspyBOghISEVPRwpY76+voCZ9W6z2QgNDa3YAYmIiIiIiIiIiEiZ0pTpUrLXQLeHq3Lxs/9eL126lG3btlXwaERERERERERERKQsKUR3EZVwuXTk/r3+5ZdfOHz4cAWORkRERERERERERMqSkl+REgoKCuLs2bMkJiZW9FBERERERERERESkjChEFykFi8VCVlZWRQ9DREREREREREREyogWFi1Dfd9dVW7n+u9DXYp9TFRUFNHR0Xm27927l/Dw8AKPmzVrFo8++ihJSUnFPqeIiIiIiIiIiIhIVaIQ/RLXq1cvPvnkE6dtwcHBFTQaERERERERERERkcpF5VwucV5eXoSEhDg93n77bdq2bYuPjw+NGjXigQceICUlBYBly5YxYsQITp8+jcViwWKxMGHChIr9ECIiIiIiIiIiIiJlRCG65OHm5sY777zDjh07iI6O5pdffmHs2LEAXHPNNUybNg1/f3/i4+OJj4/nySefrOARi4iIiIiIiIiIiJQNlXO5xP3vf//D19fX8b537958++23jvehoaFMnjyZ0aNH8/777+Pp6UlAQAAWi4WQkJCKGLKIiIiIiIiIiIhIuVGIfonr1q0bM2bMcLz38fFh6dKlTJkyhd27d5OcnExWVhZpaWmcPXuWGjVqVOBoRURERERERERERMqXyrlc4nx8fAgPD3c80tPTufnmm2nXrh3ff/89GzZsYPr06QBkZGRU8GhFREREREREREREypdmoouTDRs2YLVaeeONN3BzM9+xfPPNN05tPD09yc7OrojhiYiIiIiIiIiIiJQrzUQXJ+Hh4WRmZvLuu++yf/9+PvvsM2bOnOnUJjQ0lJSUFH7++WdOnTrF2bNnK2i0IiIiIiIiIiIiImVLIbo4ad++PW+++SavvPIKbdq04fPPP2fKlClOba655hpGjx7NnXfeSXBwMK+++moFjVZERERERERERESkbKmcSxn670NdKnoIFzRr1qx8tz/22GM89thjTtuGDRvm9H7GjBlOC5KKiIiIiIiIiIiIXIw0E11EREREREREREREpAAK0UVERERERERERERECqAQXURERERERERERESkAArRRUREREREREREREQKoBBdRERERERERERERKQACtFFRERERERERERERAqgEF1EREREREREREREpAAK0UVERERERERERERECqAQXURERERERERERMpe165gsVBjzJiKHolIsShElzIRFRVF//79K3oYIiIiIiIiIiJSkBUr4J//hOBgsFjMY+ZM5zYHD0JUFDRpAt7e0Lw5vPoqWK359/nDDzl9WSyQllbWn0KkzFWr6AFc1D64vvzONWp5iQ47fvw4L730Ej/88ANxcXHUqVOHDh068Oijj3LjjTe6eJAiIiIiIiIiIlJpbNwIS5ZAWBicOpV3/8mT0Lmzefb1hRYtYPt2ePppOHYMpk1zbp+QAHffXS5DFylPmol+CTt48CAdO3bkl19+4bXXXmPbtm0sWrSIbt26MaaEt9VkZ2djLeib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uP1251C7LPn7m+dq1fJu+/v/7UDhkxJFpFR27txJgwYNHO+9vLwufMCDD8L//mcWK27YMGd7SIj5wiwpyXk2ekJCzhdwISHw++/O/SUk5OyrBDQT/RLWrVs3Nm/e7PT46KOPnNps2bKFWbNm4evr63j07NkTq9XKgb8XJNmwYQN9+/alcePG+Pn5cf311wNw+PBhp746depU4rE2b96czZs388cff/D000/Ts2dPHjpvQZPp06fTsWNHgoOD8fX15d///neeMZxvy5Yt7Nu3Dz8/P8fnq1mzJmlpacTGxpZ4vCIiIiIiIiKVSu6yKevXm+c9e0y5FDChem7ffGMWBwR48skCu622alVO2PX11zk77KUc7H74wcx+t/cNpsRDREQxPoSIlBc/Pz/8/f0djwJDdJvNBOhz58Ivv0DTps77O3YEDw/zRZ5dTIz5++Xqq837q682d6/kvsNkyRLzBVqrVq79YCWkmeiXMB8fH8Lti4r87ejRo07vU1JSGDVqFA8//HCe4xs3bkxqaio9e/akZ8+efP755wQHB3P48GF69uyZpxyKz/n/IBeDp6enY6xTp06lT58+TJw4kUmTJgHw1Vdf8eSTT/LGG29w9dVX4+fnx2uvvca6desu2G9KSgodO3bk888/z7MvODi4xOMVERERERERKVdz5sDYsWYGud348fD66xAZaeqJBwVBYqIp6/LOO6ZGuc1mAq7cpVgA3njDPHfrZkKwAlgyM00QXq+eCcYA+vWDli2dG8bFmXDN39/URQezUGlAQCk/uIhUqDFj4IsvYP58U7LJXsM8IMAsdhwQYNZUePxxs9iovz889JAJzq+6yrTt0cOE5cOGmYWKjx+H554zfRc2A76cKER3tVq1ilaX65tvzLc0RTV9url9qijnd6ErrriCnTt35gnb7bZt28aff/7J1KlTadSoEQDr7d9oF8LT0zNP+Ziieu6557jhhhu4//77qV+/PqtXr+aaa67hgQcecLQ5fyZ5fue74oor+Prrr6lTpw7+9tvDRERERERERKqa5GSz+GZuJ0+aR8OGJi9YvRpeeglWroS9e02ofv31Jqzq0CHnuF9+gY0bzesLzEIHyLjlFrxat4Z33zWB2c03w8yZeRs+8gicPQvR0SZou+sumDq1dJ9ZRCrejBnmuWtX5+2ffAL2NRPfegvc3OC228zCxj17wvvv57R1dzelYO6/34TrPj6m7NSLL5bHJygSheiu5uYGRZnBPHIkPP+8qQd0oTpeFoupF3T33eDt7apRFtnTTz/NVVddxYMPPsg999yDj48PO3fuZMmSJbz33ns0btwYT09P3n33XUaPHs327dsds8MLExoayoEDB9i8eTMNGzbEz8+v8PpKf7v66qtp164dL7/8Mu+99x7NmjXj008/ZfHixTRt2pTPPvuMP/74g6a5biEJDQ1l8eLFxMTEUKtWLQICAhgyZAivvfYa/fr148UXX6Rhw4YcOnSIOXPmMHbsWBrmruEkIiIiIiIiUllFReUEVgVp2RJmzy68rxtuKLzm+LJlAJxNTMQrKAj+7/8u3N7DwwRpb72V//7zzxcamndb166qhS5S2RTlz6S3t5kgPH16wW2aNIEff3TduFxMNdErire3+fYVnBfGyM2+PTq6QgJ0gHbt2rF8+XL27NnDddddx+WXX8748eOpX78+YEqezJo1i2+//ZZWrVoxdepUXn/99SL1fdttt9GrVy+6detGcHAwX375ZbHG9thjj/HRRx9x5MgRRo0axYABA7jzzjuJjIzkzz//dJqVDnDvvffSvHlzOnXqRHBwMKtXr6ZGjRqsWLGCxo0bM2DAAFq2bMnIkSNJS0vTzHQRERERERERERHBYrPpK7zCHD16lEaNGnHkyJE8M5PPnj3Lrl27aNmyJTVq1Ch+5wsWmG+KExPNLHarNec5KMgE6H37uuaDiEvYf88PHjzI3r17uemmm+h4gfpwUnklJiYSFBRU0cOQKkjXjpSErhspCV03UlK6dqQkdN1ISRR63YSGwqFD8MILMGFCeQ1LKjn9fVN5XSgHvZSpnEtFu+UWOHYMvvvOrGL711+myP6tt8LAgRU2A11EREREREREpNQOHqzoEYiIlJpC9MrA2xuGDjUPEREREREREREREak0VBNdRERERERERERERKQAmokuIiIiIiIiIiIiZSstDb79FubNwzchAerWhf794fbbVc5YKj2F6CIiIiIiIiIiIlJ2FiyAqChITAQ3NzysVnBzgzlz4JFHIDoa+vat6FGKFEjlXFzEarVW9BCknNh/r202WwWPRERERERERESkkluwwMw4T0oy7+0Zmv05KQn69TPtRCopzUQvJW9vb9zc3Dhw4AANGjTAy8sLi8VS0cOSMmCz2UhPT+fIkSNYrVYyMzMrekgiIiIiIiIiIpVXWpqZgQ5Q0GREmw0sFtPu2DGVdpFKSSF6Kbm5udGqVSsOHjzIgQMHKno4Ug7OnTtHfHy8Yya6m5tu6BARERERERERcbDZID4epk83JVyK0j4xEb77DoYOLfvxiRSTQnQX8PLyIiIigsWLF7Nnzx7q1aunYLWcZWRk4OnpWebnycrKIjs7G4CUlBTc3d3x9fUt8/OKiIiIiIiUmdBQOHQI77Fj4ZVXKno0IlJVZGXBkSOwbx/Exjo/798PZ88Wrz83N5g7VyG6VEqVKkRfsWIFr732Ghs2bCA+Pp65c+fSv39/x/6CyqS8+uqrPPXUU/numzBhAhMnTnTa1rx5c3bv3u2ycdvH1rlzZ06cOEFMTIzKupSzzMxMPDw8yu182dnZ2Gw2rrzySsLCwsrtvCIiIiIicglYsQKmToU//oBTp8y2GTNg9GjzetYsGDGi4ON//RW6djWv//tfePVV2LEDMjKgc2eYPBmuuaYsP4GIXCzS0+HAgZxwPHdQfvAguLLUrdUKf/3luv5EXKhSheipqam0b9+eu+++mwEDBuTZHx8f7/R+4cKFjBw5kttuu+2C/bZu3ZqlS5c63lerVjYfu2bNmtx8881s376dpKQkx4xlKXvnzp2jevXq5XY+b29v6tSpQ4cOHXB3dy+384qIiIiIyCVg40ZYsgTCwnJC9NyCgyEy0nnb4cOmdAJASIh5zh22N2liag7/+it062aC+vP7EJFLU0qKCcbzC8qPHCm4lrmrublBzZrlcy6RYqpUIXrv3r3p3bt3gftD7D8I/G3+/Pl069at0JnA1apVy3NsWalZsyb/+Mc/yuVckiMxMZGgoKCKHoaIiIiIiEjpDRsGo0ZBQgI0bZp3f58+5pFbu3YmRL/pJmjRwmx7/33z3LkzrF1rXv/jH7BqFTz/PPz0k3MfWVnw2GPw6afm9ZAh8NZb4OVl9tvvtn7jDdiwARYsMAsA3n8/TJxo9h88mDPmV14x51q6FMLD4aOPTL8PPGDCuS5d4OOPoX79Uv+SiUgh/vor/7Ir+/aZv2vKiodH0WerW61w661lNxaRUqhUIXpxJCQk8MMPPxAdHV1o271791K/fn28vb25+uqrmTJlCo0bNy6wfXp6Ounp6Y73Z86cccmYRURERERERApVq1bx2i9aBNu2mde5S51arebZHn5bLDmvly83wVauspjeH3xgQvGAAFO+YcYM8/7NN53PN26cGWNAAMTFwaRJULs2PPywc7vx401A7uZmxjdgAJw5Y2bKZ2TA4sXwxBPw5ZfF+7wikpfNBsePFxyUJyWV3bn9/c0XZfbHZZflPAcFQcOG5vwXmtFusUBgIAwcWHbjFCmFKhuiR0dH4+fnl2/Zl9wiIyOZNWsWzZs3Jz4+nokTJ3Ldddexfft2/Pz88j1mypQpeeqoAyQlJeHj4+OS8YtrJScnV/QQpArSdSMlpWtHSkLXjZSErhspKV07Fwe306cJ+Pt16tmzZCQm5tvOd8oUPICsNm0406kT/N3Oq29famzYAOvWkR0aChYL7ocOmYMyMkjatw9bSAj+VivuQFadOqQsWwZ+fvjcey+e33+Pbfp0kh55BPz9sd/7m3nFFaTMm2fO3b8/HmvWYH3pJU4PG+Y05sxrriHlu+/w/OwzfB59FOLiSB82jLNvv433Sy9R/Y03sP7yC6cL+FxSNejvm3KUnY1bXBxu+/fjdvAg7n8/u+3fj/vBg1iKu5BnMViDg7GGhpIdFoY1NBRrWBjZTZtibdoUW82aOV/QnS89HY/p0/EZMgQsFiz5BOm2v49NnT6dzHPn4Ny5MvscUriksvzCpQqrsiH6xx9/zJAhQ/D29r5gu9zlYdq1a0dkZCRNmjThm2++YeTIkfke8+yzz/L444873sfFxdGqVSsCAwNVMqQS0++NlISuGykpXTtSErpupCR03UhJ6dq5CJw+7XjpU6MGPvn9nm7aZOqbA9Weftr59338ePD1hQ8/xP3wYQgNhVtuMWVYgMDgYDNL1M0NgOxevQiy37X9r3/B999jycgg6MQJU1P9bx6DBhFUp455M2gQrFmD24kTBGVlmdnp9nb9+xNUsya0bu3Y5jVwIF5BQY5tbidO6Fq9COj30IXS001ZpPxmlB844NqFPM/XqJHzLHL7zPKwMNz8/XGjhEHi4MHg4wNRUeZLPjc3c6fM38+WwECIjsa3b1+XfhwpmdTU1IoeQqVUJUP0lStXEhMTw9dff13sYwMDA4mIiGDfvn0FtvHy8sLLXvMNfasqIiIiIiIildTrr5vnRo1MoJ2bxWLKpTzxRM62UaPMc61axS8bU1z+/ua5WrW82wqatSpyKUhNvfBCnvZSTK7m7m6+TMuv7ErTplC9etmcF8wXeMeOwXffwdy5ZCYk4FG3rqmBPnCgKR0lUolVyRD9P//5Dx07dqR9+/bFPjYlJYXY2FiGDRtWBiMTERERERERKSeHD8M335jXjzziHFYDnDgBp05Bq1bm/YoVYF9X7M478wTZHkuWQEqKmb1u79fTEyIinPudM8csDmp/DVC3LgQHm3BQRMyM64Lqkx8/Xnbn9faGsLD8g/LGjZ3WQSh33t4wdCgMHUpKYqLuYJAqpVKF6CkpKU4zxA8cOMDmzZupWbOmYyHQ5ORkvv32W9544418+7jxxhu59dZbefDBBwF48skn6du3L02aNOHYsWO88MILuLu7M3jw4LL/QCIiIiIiIiLFNWcOjB0LWVk528aPN7POIyPh88/NtmnTTJuAALjvvrz9HD4MV15pZp56eJjwzmYzYdqkSXmau8XHm9mo/v6wf7/ZeP/9TiVaAFi/3vQJZmFRgGeeKc0nFql6bDZISCg4KC/LWv9+fnlDcvtr+2K+IuJSlSpEX79+Pd26dXO8t9clHz58OLNmzQLgq6++wmazFRiCx8bGcurUKcf7o0ePMnjwYP7880+Cg4Pp0qULa9euJTg4uOw+iIiIiIiIiEhJJSebMC63kyfNo2FD8/70afjoI/P6vvtMqHa+OnWga1fYutX02bAh9OtnAvmaNfM0Txs1iupWq5mt7ucHd90FU6fm7ffll2HDBhP216oFo0fDww+X7jOLVEbZ2XD0aP5BeWxs2d55ERycf33yyy6D2rVVEkmknFlstnyWxRUnR48epVGjRhw5coSG9h9YpFJJ1G1AUgK6bqSkdO1ISei6kZLQdSMlpWtHSqLQ68Ye2n3yiVkgUISL4O+bjIwLL+SZkVF2527YsOCg3L5+wEWqyl83FzHloPmrVDPRRUREREREREREXCo11ZQoym8hz8OHy3YhzyZN8q9PHhZWtgt5iohLKUQXEREREREREZGqLSkpb11y++v4+LI7r5dXwQt5NmlSsQt5iojLKEQXERERERERkcKpGqxUJJsNTpwoeCHPv/4qu3P7+eUtt2J/btBAC3mKXAIUoouIiIiIiIiISNGlpcG338K8efgmJEDdutC/P9x+O3h7l7xfq/XCC3mmpLjsI+RRu3bB9cmDg7WQp8glTiG6iIiIiIiIiIgUzYIFZmHZxERwc8PDajUzsefMgUcegeho6Nu34OMzMy+8kGd6etmNvUGDvEH5ZZeZR2Bg2Z1XRKo8hegiIiIiIiIiIlK4BQvMjHM7+4Kc9uekJOjXD77+Glq2zD8oP3wYsrPLZnxubhdeyLNGjbI5r4hc9BSii4iIiIiIiIjIhaWlmRnoUHB9fPv2O+4ou3F4el54IU9Pz7I7t4hcshSii4iIiIiIiIhIXjYbHDsGu3fDp5+aEi7lwde34PrkDRqAu3v5jENE5G8K0UVERERERERELmVpaabUyu7dOY+YGPNcVot51qpVcFBep44W8hSRSkUhuoiIiIiIiIjIxc5mg5Mn84bku3ebBT0LKtFSGvXrF7yQZ1CQ688nIlJGFKKLiIiIiIiIiFwsMjNh/37nWeX20Ly8yrG4ucHNN8P8+eVzPhGRMqYQXURERERERESkqklMzH9WeWwsZGW59lw+PlC7Nhw6VLT2VivcfrtrxyAiUoEUoouIiIiIiIiIVEbZ2Sa4zm9W+YkTrj9fw4bQogU0b26e7Y8GDSA93ZRnSUq6cOkXiwUCA2HgQNePT0SkgihEFxERERERERGpSGfO5Mwmzz2rfO9eE167kpcXREQ4h+TNm5ttfn4FH+ftDdHR0K+fCcrzC9Lti4FGR5v2IiIXCYXoIiIiIiIiF4vQUDh0CO+xY+GVVyp6NCKSm9UKR486h+T20DwuzvXnq1s3/1nljRuDu3vJ+uzbF+bNg6goU07Gzc18LvtzYKAJ0Pv2deEHERGpeArRRUREREREysqKFTB1KvzxB5w6ZbbNmAGjR5vXs2bBiBEFH//rr9C1q3m9bx888wz88gucOwctW8LTT8Odd5blJxCR4jp3DvbsyTurPCYGzp517bmqVYPw8Lyzyps3h6Ag157L7pZb4Ngx+O47mDuXzIQEPOrWhVtvNSVcNANdRC5CCtFFRERERETKysaNsGQJhIXlhOi5BQdDZKTztsOHIT7evA4JMc/x8XDttaYGsr8/1KsHmzbBoEGQmgp33122n0NEnNlscPx4/rPKDx26cM3wkggKMl+cnT+rvGlT8PBw7bmKwtsbhg6FoUNJSUwkqKwCexGRSkIhuoiIiIiISFkZNgxGjYKEBBN2na9PH/PIrV07E5rfdJMJyQCmTDEBup8f7NplFvcbOBC+/97MRh86FDw9c/rIyoLHHoNPPzWvhwyBt94ytZAhp27xG2/Ahg2wYIEJxe6/HyZONPsPHswZ8yuvwKpVsHSpmfX60Uem3wceMDPku3SBjz824xK5mGRkmGv8/Fnlu3dDcrJrz+XmZv7MnT+rvEULqF0758+tiIiUO4XoIiIiIiIiZaVWreK1X7QItm0zr596Kmf7woXm+eqrc4LqAQNMiH7qFKxfD9dc42ju/cEHJhQPCIADB0wJGW9vePNN5/ONG2fGGBBgajJPmmTCuocfdm43frw5r5ubGd+AAWYhxJAQEzIuXgxPPAFfflm8zytSWZw6lf+s8v37ITvbtefy88u/Vnl4eM4XXSIiUqkoRBcREREREaksXnvNPLdvb2ai2x05Yp7r1MnZVrduzuvDh51CdGtICO6bNpmw7q67TLg9fTq88IIJzO06d4affzavb7wRVq6El1/OG6Jff70J+P/zH7j3XhO433MPfPghPP88TJ5s6reLVGZZWeZLpfxmlf/5p+vP17hx/rPK69XTrHIRkSpGIbqIiIiIiEhlsGmTWTQU4MknC29/gZrLmT164O7nZ94MGmRC9IwMs9jhlVfmNBw4MKee8sCBJkRPSICTJ5077NPHhH6hoTnb+vY1z2Fh5jkhofAxi5SH06fzn1W+dy9kZrr2XNWr5yzkmTswb9YMfHxcey4REakwCtFFREREREQqg9dfN8+NGpngO7dGjUxd5hMncrblft24cdmOzd/fPFerlnebZtRKRbBazR0YuUNy++vjx11/vnr18p9V3qiRKXMkIiIXNYXoIiIiIiIiFe3wYfjmG/P6kUecw2qAXr3gvfdgzRo4dszUJ58zx+yrXRs6dXJq7rFkCaSkgK9vTr+enhAR4dzvnDlmcVD7azBlYoKDITXVhR9QpIRSU01Afv7M8j17IC3Ntefy9DQzyM+fVd68ec6XRiIicklSiC4iIiIiIlJW5syBsWNNLWa78ePNrPPISPj8c7Nt2jTTJiAA7rsvbz/PPANffWUWP2zZ0iwGeuCA2ffyyyb8y8UtPh6aNjXB3/79ZuP99zvXQwezIKm9REtcXM65RMqTzWa+HMpvVrl9PQBXql07/1nloaF5v8ASERFBIbqIiIiIiEjZSU6G2FjnbSdPmkfDhub96dPw0Ufm9X33mcVAz9egAaxeDc8+axYCPXYMOnSAp54yC4eeJ23UKKpbrRAdnbO46NSpeft9+WXYsMGE/bVqwejReRcVFXGVtDRTlzy/euUpKa49l7s7XHaZc0huf12rlmvPJSIiFz2LzXaB1WgEgKNHj9KoUSOOHDlCQ/sPulKpJCYmEhQUVNHDkCpG142UlK4dKQldN1ISum6kpAq9dux1zD/5BKKiymVMUkmlpcG338K8eWQmJOBRty707w+33w7e3sXvz2YzXxKdH5Lv3m3unnB1BBEQkP+s8ssuy3OHhpQN/VslJaHrpvJSDpo/zUQXERERERERuRQtWGC+RElMBDc3PKxWs0jmnDmmNn90NPTtm/+xmZnmLov8ZpUnJrp2nBaLKbVy/qzyFi2gTh0tbisiImVOIbqIiIiIiIjIpWbBAjPj3M5qdX5OSoJ+/WD2bFNf//xZ5bGxzrX+XcHHJ2/plRYtzGKf1au79lwiIiLFoBBdRERERETkUqOqnpe2tLScMj4FXQv27UOGuP78DRvmP6u8QQPNKhcRkUpJIbqIiIiIiIjIpeL0aXjtNdeXXDmflxdEROStVx4Rkf/iuSIiIpWYQnQRERERERGRi01WFuzbB1u3Oj8OHXLteerWzX9WeePG4O7u2nOJiIhUEIXoIiIiIiIiIlXZqVN5w/IdO0zZFlfJHZDbQ/PmzSEoyHXnEBERqaQUoouIiIiIiIhUBRkZZlHP8wPz+PiyO6ebG9xyC8ydW3bnEBERqeQUoouIiIiIiIhUJjYbHD+eNyzftQsyM0vfv7s7ZGcXra3VCrfdVvpzioiIVGEK0UVEREREREQqyrlzsHNn3sD81CnX9F+vHrRrZx7t25vnJk0gNBSSkkxgXxCLBQIDYeBA14xFRESkilKILiIiIiIiIlLWbDY4fDhvWL5nj5ntXVre3tC6dU5g3q4dtG0LwcH5t4+Ohn79TFCeX5BuseS08/Yu/fhERESqMIXoIiIiIiKVTWgoHDqE99ix8MorFT0aESmulBTYvh22bMkJy7dtg9OnXdN/kybOYXm7dhAeDtWK8V/8vn1h3jyIioLERFP73GrNeQ4MNAF6376uGbOIiEgVphBdRERERKQwK1bA1Knwxx85JRZmzIDRo53bbd0KL74Iy5ebsCw4GK69Fr75xuzfsgWeeMKEa3/9BX5+JvgaNQruvrt8P5OIlJ7VCvv3551dHhvrmv59fPKG5W3amIDbFW65BY4dg+++g7lzyUxIwKNuXbj1VlPCRTPQRUREAIXoIiIiIiKF27gRliyBsLCC6xSvWgU9epj6xv7+pqxCSgrMn5/T5sABWLcOGjWCBg1g7174/XfzqFEDBg0qn88jIsWXmGhmk+cOy7dtg7NnS9+3xQKXXZY3MG/a1MwML0ve3jB0KAwdSkpiIkFBQWV7PhERkSpIIbqIiIiISGGGDTOzxRMSTKh1PpsN7r3XBOhDhsCHH0L16mbfmTM57f75T0hOzqk1HBtrZqIDrF6dN0TPyoLHHoNPPzWvhwyBt94CLy+z397PG2/Ahg2wYIEJxO6/HyZONPsPHswZ8yuvmLB/6VJz3o8+Mv0+8ADs2wddusDHH0P9+i75ZROpkrKyTJ3y82eXHznimv4DA/OG5a1bg6+va/oXERERl1OILiIiIiJSmFq1Lrx/61bYvdu8ttmgeXNTzqVjR3jtNfMM4OkJGRnwj39AZqYJru26dMnTrfcHH5hQPCDAzGKfMcO8f/NN54bjxpkxBgRAXBxMmgS1a8PDDzu3Gz/eBORubmYG7YABJuQPCTHjWrzYlJv58sti/gKJVFEnT+YNy3fsgPT00vft7m7+Ljg/MG/YMOcLMBERkYvBihXmZ94NGyA+HubOhf79c/YX9O/eq6/CU0+Z13+vCeRkyhR45pmyGHGxKUQXERERESmtmJic1198kROi//ordO1qAuvQULPfajUlXeyqVTMzye+8M0+31pAQ3DdtMrXT77rLhNvTp8MLL5jA3K5zZ/j5Z/P6xhth5Up4+eW8Ifr118OiRfCf/5iZ83FxcM89Zub888/D5MlmzCIXm/R080XX+YH58eOu6b92bWjf3jzsYXnLlqopLiIil4bUVPNv4N13m0ka54uPd36/cCGMHAm33ea8/cUXzc+odn5+rh9rCSlEFxEREREpraysnNcjR5oyKQcOQLNmpi76rFkwYYLZ7+1tZqufOQNz5pj2Y8ea8ir//KdTt5k9euBu/8/DoEEmRM/IMKUmrrwyp+HAgeDhkfN65UpTeubkSedx9uljZgLZA32Avn3Nc1iYeU5IKM2vhEjFstnMQpnnh+W7dzv/OS0pDw9o1Srv7PK6dTW7XERELl29e5tHQUJCnN/Pnw/duuX8/Gnn55e3bSWhEF1EREREpLQaNMh5bQ+3mzaF4GAz0/XgwbzH+PnB8OHw9tuwaZOZBX5eiO5y/v7muVq1vNsUAEpVc/asKb1yfmD+11+u6b9Bg7xhefPmOV9YiYiIXMTOnDlDcnKy472Xlxde9nV5SiMhAX74AaKj8+6bOtWUJWzc2NyF+dhjzj+3VqDKMQoRERERkaqsc2cTRicnw/r1ZhHSQ4dyZoI3a2aeP//clHexh+579uTURU9NzdOtx5IlZia7ry98843Z6OkJERHODefMMYuD2l+DmRkbHJxvvyJVis1m/jydH5bv3WvKI5VW9erQpo1zWN62beFrIYiIiFzEWrVq5fT+hRdeYIL9zsrSiI42k0nOL/vy8MNwxRVQsyb89hs8+6wpA3P+WkAVRCG6iIiIiEhh5swxJVdyl4MYPx5efx0iI004PmECPP64KeWyapX5oT8729ySet995pgPP4Rhw8zsGj8/5xITw4fnOa1bfLyZ0e7vD/v3m4333+9cDx1McG8v0RIXZ54rySJMIsWSnAzbtzuH5du2me2uEBqad3Z5eLhZBFREREQcdu7cSYNcd1u6ZBY6wMcfw5AhedcNefzxnNft2pmJI6NGmcVFXXXuUlCILiIiIiJSmORkiI113nbypHk0bGjeP/aYCbunTTMzZIOD4ZZbzA/+wcGmTb9+ZmZ5bCwcPWqC9HbtzAJKQ4fmOW3aqFFUt1pzZuzcdZe5zfV8L78MGzaYsL9WLRg9Ou+ioiKVSXa2+XNw/uzyAwdc07+vb96wvE2bvF9AiYiISL78/Pzwt5f9c5WVKyEmBr7+uvC2kZFmssnBg6acWgVTiC4iIiIiUpioKPMozMiR5lGQxx4zj8L8XUM9LTGR6kFB8NZbF27v72+C9vxqS4aGmnIYuXXtmndbUT+jSHH99ZeZTZ47LN++3dQ0Ly2LxZRLOj8wb9IE3NxK37+IiIi4zn/+Ax07Qvv2hbfdvNn8W16nTpkPqygUoouIiIiIiEjpZWaaOv/nzy4/etQ1/QcFOQfl7dtDq1bg4+Oa/kVERKRkUlJy1vkBc2fZ5s2mvnnjxmZbcjJ8+y288Ube49esgXXroFs3c/flmjVm4snQoebf/0pAIbqIiIiIiIgUT0JC3rB8507IyCh93+7u0KJF3tnlDRqYmeciIiJSuaxfbwJwO3t98+HDYdYs8/qrr8ydkIMH5z3ey8vsnzAB0tPNmkCPPeZcJ72CKUQXEREREamqzi/JIuJq6ekmHD8/MD9xwjX9162bNyxv2bJSLCAmIiIiRZRfqcDz3XefeeTniitg7VqXD8uVFKKLiIiIiIhcDNLSzG3S8+bhm5BgAur+/eH228Hb+8LH2mwQF5c3LN+92ywCWlqenqb0ir0MS7t20LatGaOIiIhIJacQXUREREREpKpbsMAsDJuYCG5ueFitZjGuOXPgkUfMorN9+5q2qamwY0fewDwx0TVjadgw7+zyiAjw8HBN/yIiIiLlTCG6iIiIiIhIVbZggZlxbme1Oj8nJcEtt8DVV8OpU2bhL1eUAqpe3cwmzx2Wt21rFhETERERuYgoRBcREREREamq0tLMDHQoOBi3b1+zpuTnado0pwyL/REWZhYBFREREbnIKUQXERERERGpCtLTzSzy3bth1y7zvHq168qwAPj55S3F0qYN+Pu77hwiIiIiVYxCdBERERERkcokMdEE5LnD8t27Yf9+1yzyCaZeerNmeQPzJk3AYnHNOUREREQuEgrRRUREREREypvVCkeO5A3Kd+2CEyfK7rzNm8Ps2dCqFdSoUXbnEREREbmIKEQXEREREREpK2lpsHdv3qA8JgbOnSvfsbi5QevW0KlT+Z5XREREpIpTiC4iIiIiIlJaf/7pHJTbw/IDBwpe8LOk6teHFi2gZUtITobPPivacVYr3Hqra8ciIiIicglQiC4iIiIiIlIU2dlw6FDeoHz3bjh1yrXnqlYNwsNNUN6ihfMj9yKfaWnwv/9BUtKFw3qLBQIDYeBA145TRERE5BKgEF1ERERERCS3s2dhz568QfmePSa0diV//5xZ5faQvGVLCAsDD4/Cj/f2huho6NfPBOX5Ben2hUKjo017ERERESkWhegiIiIiInLpsdng5Mm8Qfnu3Wa2uatLsDRsmDcob9ECQkJyQu6S6tsX5s2DqChITDS1z63WnOfAQBOg9+3rgg8iIiIiculRiC4iIiIiIhevrCw4eDBvUL57N/z1l2vP5eEBERF5g/KICPDzc+25znfLLXDsGHz3HcydS2ZCAh5165oa6AMHaga6iIiISCkoRBcRERERkaovJcWUWzk/KN+zBzIyXHuuwMCcgDz37PKmTU0t84ri7Q1Dh8LQoaQkJhIUFFRxYxERERG5iChEFxERESlLXbvC8uXUGDwYvviiokcjUrXZbJCQkDco37ULjhxx/fmaNMkblLdoAXXqlL4Ei4iIiIhUGQrRRURE5NKyYgVMnQp//AGnTpltM2bA6NE5bf4OvvO49lpYtcq8jouD++6DLVtMXeXq1U3gNnQoPPGEqUUsIiWTlQWxsXmD8t274fRp157Ly8uUWzk/KI+IAB8f155LRERERKokhegiIiJyadm4EZYsgbCwnBC9IGFhEByc875165zXJ0/CL7+Y4DwkxNRc3roVxo6F7Gx45pkyGb7IReXMmfyD8n37IDPTteeqWdME5ecv7tmkCbi7u/ZcIiIiInJRUYguIiIil5Zhw2DUKFMSomnTC7d9/nmIisp/X5s2JgC01z8+c8aE6WfPwurV+R/z0kvw3nuQnAx9+8LMmaa2MkBoKBw6BE8/bWo7f/GFCeOHDIG33jKzZSGnhMSTT8KJE2YRwXr14J13TOh/zz2waRO0bw//+Y8JCUUqks1mFrw8Pyjfvdvc0eFKFov5c517Rrk9NK9d27XnEhEREZFLRqUK0VesWMFrr73Ghg0biI+PZ+7cufTv39+xPyoqiujoaKdjevbsyaJFiy7Y7/Tp03nttdc4fvw47du3591336Vz585l8RFERESksqtVq+htH3vMBO4NGkD37jBpEtSta/bZw/M+fUwgf/CgCdABunTJ05XnggXwww8m8D5+HL7+2ix2OGeOc8Np08DX14TrBw6YUjPe3vDmm87t3n3XhIJeXqbsxaBBEBAAHh5m/5o1cPfd5lmkPGRk5JRgOb9m+Zkzrj1X9erQvHneoLxZM7NPRERERMSFKlWInpqaSvv27bn77rsZMGBAvm169erFJ5984njvZZ+VVYCvv/6axx9/nJkzZxIZGcm0adPo2bMnMTEx1KlTx6XjFxERkYtI9eomPE9KMmH2hx/C0qWwbZtzneQNG0yIbjd2rHmcx1atGpbdu81s9WefNXXZ5841AWOLFjkNGzc2ffr5wV13wZdfwvTp8MILJiS3Cw837VauhJtuMiHl1VfDokXw8cdmRvratXDunEJFca3Tp/MPymNjTS1zV6pTJ29Q3qKF+XOidQdEREREpJxUqhC9d+/e9O7d+4JtvLy8CAkJKXKfb775Jvfeey8jRowAYObMmfzwww98/PHHPKNapSIiIpKft96CVq3MLG+bDf7v/2DKFBOmz51rFg+1O37czED/9VczG/z1181s2Hvuceoy67rr8LT/DDN4sAnRwYTyuUP0m282ATqY/r780szw3bMHrrwyp12PHmZ8oaE52/r0MeUswsJytp04YWo+ixSHzQZHj+YNy3ftMte8K7m5mWv2/KC8RQtTx1xEREREpIJVqhC9KJYtW0adOnUICgrihhtuYPLkydQq4LbsjIwMNmzYwLPPPuvY5ubmRvfu3VlzgVub09PTSU9Pd7w/4+rbT0VERKRyu/zynNcWi5kRPmWKeX/4cN72NWqYAPumm0zIPn58nhDd5fz9zXO1anm32eumgwlDRQqSnm4W8Tw/KI+JgdRU156rRo38g/JmzXJq/ouIiIiIVEJVKkTv1asXAwYMoGnTpsTGxjJu3Dh69+7NmjVrcHd3z9P+1KlTZGdnU9deu/RvdevWZffu3QWeZ8qUKUycODHP9qSkJHxy374tlUZycnJFD0GqIF03UlK6di4ObqdPYy+Oknr2LBmJiQBYTp7E85tvSP/Xvxwzwr1nzcJeECUlOJjMxEQ8fviB7ObNsYaHO47z//133ABbSgpJf/fnm5WFB+C+ciVJMTHY6tTBOzra0d/pRo2wJibib7XiDmT/978kP/YY+PpSY/ZsvACbpydJdepAYiJBfx937tw50hITnT9HaioZiYlUO3MGP3v/p09j/XssUkWkpeE5fz4eP/xA9VOnyKhdm8w+fcjo18/Uxy8BS1ISbjExuO/di/vevbjt2WOeDx7EYrW6dPjWunXJjoggu1kzrM2akd2sGdkREdjq18+/BMvZsznrCYjL6N8qKQldN1ISum6kJHTdVF5JSUkVPYRKqUqF6IMGDXK8btu2Le3ateOyyy5j2bJl3HjjjS47z7PPPsvjjz/ueB8XF0erVq0IDAwkKCjoAkdKRdLvjZSErhspKV07VdicOaZmea7azT5Tp+Lz/vsQGQkvvQTPP0+NiRNN3fHUVDhyxDRs2RLfYcNMkLl0KQwbBvXrmwU+9+yBtDQALFFROdfI3zPF3bKyCOzc2SwsGhNj9vXrR8BVV5nXf4eL7vHxBF1xhZlVvn+/6e/++wk6ryRL9erVqR4UZOpT2z+Hjw8+QUE55WCAgIAA0PVadSxYAFFRkJhorgmrFdzc8Pzf//AZNw6io6Fv3/yPtVrNnRK565TbZ5ifOOHacbq7mz8fuWeUt2wJzZvjFhiIG+Dh2jNKCejfKikJXTdSErpupCR03VROqa6+G/EiUaVC9POFhYVRu3Zt9u3bl2+IXrt2bdzd3UnIvdgXkJCQcMG66l5eXk4LlurbMRERkYtIcrJZADG3kyfNo2FDCA42NdB/+sm0O3fOBIT9+5vw3T4TuHt32LvXBOI7dphSFe3awZAh8OCDeU6bccsteLVuDe++axb6vPlmmDkz7/geecTMyo2Ozllc1F4/XS5uCxaY68zOPkPc/pyUBP36wddfQ/PmeYPymBhzvbqSn1/eoLxFC7jsMvD0dO25REREREQqqSodoh89epQ///yTevXq5bvf09OTjh078vPPP9P/7/+QWK1Wfv75Zx7M5z+3IiIicgmIijKPC5k82TwuZOhQ5wVGC7JsGQBnExPxCgoyAf2FeHiYhU3feiv//efXOA8Nzbuta1fVQq9q0tJyrsuCfu/s2++4w/Xnb9Agb1DeooW50yJ3jX0RERERkUtQpQrRU1JS2Ldvn+P9gQMH2Lx5MzVr1qRmzZpMnDiR2267jZCQEGJjYxk7dizh4eH07NnTccyNN97Irbfe6gjJH3/8cYYPH06nTp3o3Lkz06ZNIzU1lREjRpT75xMRERERyVd0tCnhUpaqVTOLeJ4flDdvnrMorYiIiIiI5FGpQvT169fTrVs3x3t7XfLhw4czY8YMtm7dSnR0NElJSdSvX58ePXowadIkp9IrsbGxnDp1yvH+zjvv5OTJk4wfP57jx4/ToUMHFi1alGexURERERGRcnHmDGzaBOvXm8eGDaamvqv4+5uQPHdQ3qIFhIWZOx1ERERERKRYKlWI3rVrV2wXuPV48eLFhfZx8ODBPNsefPBBlW8RERGRyi2fn2HkIpCaCps354Tl69eb+uWuKLfTqFHeoLxlS6hbVyVYRERERERcqFKF6CIiIiIiVda5c7Bli3NgvnNnzsKgruLmZhamnT/ftf2KiIiIiEi+FKKLiIiIiBRXejps3eocmG/fDtnZZX9uqxVuv73szyMiIiIiIoBCdBERERGRC8vIMAF57sB82zbIzCx5n9WqQZs20KmTebRtC336wOnTFy71YrFAYCAMHFjyc4uIiIiISLEoRBcRERERscvMNCVYcgfmW7aYIL2k3N2hVaucwLxTJ2jXDry9ndt9+in062eC8vyCdHud8+jovMeKiIiIiEiZUYguIiIiIpem7GzYtcs5MN+8GdLSSt6nxWIW98wdmLdvDzVqFH5s374wbx5ERUFioql9brXmPAcGmgC9b9+Sj09ERERERIpNIbqIiIiIXPyys2HPnpywfP162LQJzp4tXb/NmzsH5h06gK9vyfu75RY4dgy++w7mziUzIQGPunXh1ltNCRfNQBcRERERKXcK0UVERETk4mK1wr59zoH5xo2QklK6fsPDnQPzyy8Hf3/XjDk3b28YOhSGDiUlMZGgoCDXn0NERERERIpMIbqIiIiIVF02G+zf71ySZcMGSE4uXb9NmzoH5ldcYcqpiIiIiIjIJUchuoiIiIhUDTYbHDqUNzBPTCxdv40b5w3Ma9VyzZhFRERERKTKU4guIiIiIpWPzQZHjzoH5uvXw59/lq7fBg2cA/OOHSE42DVjFhERERGRi5JCdBERERGpeMeOOYfl69fDiROl67NuXbjySufAPCTENeMVEREREZFLhkJ0ERERESlfCQl5A/P4+NL1GRzsHJZ36gT164PF4poxi4iIiIjIJUshuoiIiIiUnVOn8gbmR4+Wrs+aNfMG5o0aKTAXEREREZEyoRBdRERERFwjMTFvYH7oUOn6DAjIG5iHhiowFxERERGRcqMQXURERESK7/Rp2LjROTDfv790ffr5maDcHpZ36gSXXabAXEREREREKpRCdBERERG5sDNnYNMm58B8797S9enjA1dc4RyYN2sGbm6uGbOIiIiIiIiLKEQXERERkRypqbB5s3NgHhMDNlvJ+6xeHTp0yAnLO3WC5s3B3d1VoxYRERERESkzCtFFRERELlXnzsGWLc6B+a5dYLWWvE8vL2jf3jkwb9kSqunHThERERERqZr0vxkRERGRS0F6Omzd6hyY79gB2dkl79PDA9q1cw7MW7c220VERERERC4SCtFFRERELjYZGbB9u3Ngvn07ZGaWvM9q1aBNG+fAvE0bM/NcRERERETkIqYQXURERKQqy8yEnTudA/OtW02QXlLu7tCqlXNg3q4deHu7btwiIiIiIiJVhEJ0ERERkaoiKwt273YOzDdvNqVaSspiMTXLcwfm7dtDjRouG7aIiIiISGGioqKIjo7m+uuvZ9myZWV6rq5du7J8+XKGDx/OrFmzyvRccnFQiC4iIiJSVtLS4NtvYd48fBMSoG5d6N8fbr+98Fnd2dmwZ49zYL5pk1kMtDSaN3cOzDt0AF/f0vUpIiIiIlXCihUrmDp1Kn/88QenTp0CYMaMGYwePdqp3d13383KlSuJj4/H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/Z13yvVjXIhCdBERESlb586ZBWPstc337Cne8e3a5SwIeu214OlZJsMUERERERGREuja9cJrgy1eXHgfNWvCF1+4bEiuphBdREREXMtmg5iYnNB8+XJISyv68YGBcNNNObPNc60ILyIiIiIiIlLeFKKLiIhI6Z05Y0qz2IPzgweLd3ynTjm1zTt3hmr6EUVEREREREQqB/0PVURERIrPZoNt23Jqm69ebRZ/KargYDPLvFcvM+u8Tp2yG6uIiIiIiIhIKShEFxERkaJJTIQlS3Jmm8fHF/1YNze4+uqc2uZXXGG2iYiIiIiIiFRyCtFFREQkf1YrbNiQE5qvXWu2FVX9+jmheffuEBRUdmMVERERERERKSMK0UVERCTHiRPw008mNF+8GE6dKvqxHh7QpUtObfM2bcBiKbuxioiIiIiIiJQD3UctIiJyKcvKMvXMn3/eLO5Zty4MGwaff160AD00FO6/H+bPhz//NIuLPvUUtG2rAF1ERKSKi4qKwmKx0LVr1zI/V9euXbFYLERFRZX5uURERIpLM9FFREQuNXFxOSValiyB06eLfqy3N3TtmlOmJSJCYbmIiEgprFixgqlTp/LHH39w6u8vsGfMmMHo0aMdbc6cOcPzzz/PypUrOXToEKmpqTRq1Ig777yTsWPH4ufnd8Fz3H333axcuZL4+HhsNhshISH06dOHCRMmULNmzTL9fCJSzj64vqJHUCR+2dng7l7RwyiaUcsregRSCShEFxERudilp5vZ5vbgfNu24h3fvHlOaH799VC9etmMU0RE5BK0ceNGlixZQlhYmCNEP9+ff/7J22+/jZeXFy1atCAuLo69e/cyefJkNmzYwI8//njBc8yfP5+AgABatGjByZMn2b9/P++++y579uxh0aJFZfGxRERELioq5yIiInIxOnAAZsyAfv2gVi248UZ47bWiBeg+PnDLLeb4/fth926YNs2E6ArQRUREXGrYsGEkJyezePHiAtt4e3vz2muvcfLkSTZv3syRI0e46qqrAFi4cCGJiYkXPEdcXBz79+9n/fr1HDp0iC5dugCwevXqYo31xIkTtGzZEovFQufOnUlKSgJg/fr19OvXj1q1auHl5UVYWBhvvPEGAOfOnaN///40bdoUHx8fvLy8aNasGePHjycjI6NY55eqY8KECVgsFkJDQ8v8XOVZdkhELl0K0UVERC4G586ZWeaPPmpmjoeFwQMPwIIFkJpa+PFt28LYsaam+V9/mRrno0dD06ZlPnQREZFLWa1ataheyJfUISEhPPnkk46yLd7e3lx55ZUAuLm5Ua3ahW8y9/b25vnnnycyMpLQ0FBWrVoF4AjTiyIxMZEePXqwe/duIiMjWbJkCYGBgfz2229ce+21LFiwgJSUFJo1a0ZycjIrV64EID09nfnz53Pu3DkiIiKoU6cO+/btY9KkSfzf//1fkc8vea1YsYJ//vOfBAcHY7FYsFgszJw506nNmTNnePTRR+nYsSO1a9emevXqRERE8Pzzz3PmzJkL9l+aY0VELjYq5yIiIlIV2WywZw8sXGjC8+XLIS2t6McHBECPHmZ2ec+e0KBB2Y1VREREXOrEiRN8//33AAwaNKjQmugAe/fu5ffff3e87969O998802RzpeSkkLv3r3ZsmULV111FYsXL8bf3x+A5557joyMDAIDA1m3bh0RERFYrVa2/X33m4+PDzt27KBVq1aO/oYNG8bs2bP56quveO2114r8ucVZWZcCKm0ZIRGRi4lmoouIiFQVZ86YGeL3329mmrdoAY89BosXFy1A79QJnnsOVq2CU6fgm2/g7rsVoIuIiFQhsbGxdOnShWPHjnHttdfmmXlckK+++oqMjAw2bdpEmzZtWLp0KWPGjCnSsRs2bGDdunU0adLEKUAHWLduHQADBw4kIiICMLPj27dv73g9e/ZsIiIi8PLywmKxMHv2bACOHTtW5M8teZV1KaDSlhHK7ezZs1x33XVYLBbCw8M5cuQIYL7cueuuuwgJCcHT05OGDRvy5JNPOo4bPnw4zZo1w8/PD09PT5o0acLDDz9McnJykc8tIuIKCtFFREQqK5sNtm6FV1+FG24wtc3794eZM+HgwcKPr10bhgyBzz6DhAT44w+YNAmuvRYKue1bREREKp81a9Zw1VVXsXfvXvr27ctPP/1UpFnodh4eHnTo0IF7770XgM8++4w9e/YUepyPjw8Ahw4d4rPPPivWmKdOncqUKVPYu3cv9erVIzIykgZ/f4FvtVqL1Zc4K+tSQKUtI2SXnp5O//79WbVqFeHh4SxbtoxGjRqxb98+OnfuzJdffsmpU6cIDw8nOzubpUuXOo6dP38+iYmJXHbZZTRq1IjDhw/z7rvvMnLkyCKdW0TEVRSii4iIVCaJifDttzByJDRsCO3bw9NPw6+/QmbmhY91c4NrrjFB+R9/mOB89mwYOhTq1Cmf8YuIiEiZ+O6777jhhhs4deoUDz30EPPmzaNGjRpObeLi4mjRogUtWrRg7ty5APzxxx8sW7bM0SYjI8MppEwtwtopnTp14rnnngPgoYce4ssvv3Tsi4yMBOD7779n3759ANhsNrZu3QrA2rVrAYiIiODgwYOsXr3aMUtdyl9JSgGV5tisrCzuvPNOlixZQrNmzVi2bBkNGzYE4OWXXyYpKQkPDw9WrFjBzp07iY+P55NPPnEcv3z5ck6dOsXmzZuJjY111NGfN28eacUpZSgiUkqahiYiIlKRrFbYuDGntvnatWZbUdWvb+qa9+oF3btDUFDZjVVERERcbs6cOYwdO5asrCzHtvHjx/P6668TGRnJ559/zrFjx7jjjjuw2Wx4enry+++/c8011zjav//++1xxxRVkZmYSExMDwOnTpwHYsWMHI0aMICgoiMaNG3PkyBH++usvADp06FDkQHvSpEnExcXxySefMHz4cAIDA+nduzeTJ0+mW7duJCYm0rp1ayIiIjh+/DjXXnst8+bNo127dvzvf/9jz549NG3alMzMTM6dO+eqXz4phtjYWHr37l3sUkClOTYuLo64uDh8fX359ddfHXchQE4poOuvv97per788ssdr5cuXcqQIUOIjY11Cs2zsrI4efIkjRo1KvJnEBEpDYXoIiIi5e3kSVPHfNEi81zAQlD58vCALl1ygvO2bcFiKbuxioiISJlKTk4mNjbWadvJkyc5efKkY8ZuRkYGNpvN8doePubuoyBt2rShV69ebNmyhZ07d+Lu7k7Lli3p06cP48aNw82t6Deo//vf/+b48eMsXLiQgQMH8tNPP3HttdeyevVqXnzxRVavXk1MTAwNGjSgS5cuAIwbN464uDjmz59PcnIyI0aMoHr16kyePLnI55XSW7NmDbfccgunTp2ib9++fPXVV3nuZCiLY729vcnMzCQlJYVp06YVayHZzz//3FEfvV69ejRq1IhTp06xf/9+ALKzs4vcl4hIaSlEFxERKWtZWbBunQnNFy2CDRtMvfOiatIEevc2ofkNN0AxbrsVERGRyi0qKoqoqKgLtgkNDXWE6MVt16lTJxYuXFiisc2aNYtZs2Y53lerVo0ff/wxT7tOnTqxYMGC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LaMQEZffL7vsMrZs2cJ1113HmjVreOWVV4iLi+Obb76hVatWkZ5W2nNffVXWEexbFi3KK5p/8UXexLFF1bhxXtH86KOhXr2SiVOSJEmSJEn7ls2b4bnn4NFHYfHi0i+iA1xzzTVkZGRw00030b59e8aMGUPDhg335JSSyrv09OBGxeefw2efBRPBFke1anDkkXmF83btYMdJYSVJkiRJkqTdef75YNLQuXMhORnOOAMefBDi4+Hxx+G++4IBn/vvDy++GPFlilREP+mkk3a5vVq1atSsWZMrrrgid10oFOL//u//Ig5MUjmRmQkTJ+aNNp8wIfgKTFHFxED37nlF8549oVKlkotXkiRJkiRJFd8rr8DgwcGAzU6dYMkSePJJ2LgR1q2Dd9+F3r3hppugf/89ulSRiug///wzoV2MFK1duzbLly9n+fLluet2tb+kciwchtmz84rmY8cGo8+Lo3XrvKL5kUdCzZolEqokSZIkSZL2UU8+GXQ4+OYbqFMnGPR50UXwwgvBqPQPP4Tjj98rlypSEX3BggV75WKSyqm1a4N+5p99FhTOFy0q3vG1agX9zHMK582bl0iYkiRJkiRJEgC//AJ33RUU0AFiY4NR5//+N9x6614roMMe9kSXFKUyMuB//8sbbT55cjACvaji4+HQQ/OK5gccEPyikiRJkiRJkkrDpk3QoEH+dSkpwfP+++/VSxWpiL548WKaNGkS0QX25FhJe0k4DNOm5RXNx40LZicujv33zyuaH3EEVK1aMrFKkiRJkiRJRVFYS/G4vTt2vEhna926Neeeey5XXHEF3bt3L9KJv/vuO0aOHMkbb7zBli1b9ihISRFYtiyvaD5mDKxcWbzjU1LyiuZ9++58Z0+SJEmSJEkqSw8/DP/9b97ytm3B89/+ltfmJUcoBP/3fxFdpkhF9G+++YZbb72Vnj170qxZM4466igOPPBAWrRoQXJyMuFwmHXr1jF//nwmTZrEl19+ydKlSznyyCMZN25cRIFJKqaNG+Hrr/P6mv/6a/GOr1IlmLE4p3C+336F382TJEmSJEmSylLTpvD778Fje82awfLlwWN7e1DnKlIRvXv37nz22WdMmTKFF198kf/7v//jxRdf/OPawcXDf/RTbtKkCSeffDIXX3wxXbt2jTgwSbuRlQU//pg32vy77/LuthVFKATdugUF82OP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OsaMGZN77P/93/8RFxdHq1atWL9+PfPmzeMf//gHy5cv580339yTj0KSJEmSJEkFmTw5/3JaWvA8ezbUrFnwMQceGNGlLKJLKneefvppNm3aREJCAldfffUu980ZLQ5Qr1693Nf169dn9uzZLFq0aLfXy8zM5Mwzz+Tzzz+nTZs2jB07lkaNGgFw3333kZqaSqVKlfjqq6845JBDAPjpp59yj//666/p0qVL7vKtt97Kvffey3vvvceWLVtITEws2huXJEmSJElS0Rx0UMGTif75zzuvC4eDfbOyIrqURXRJ5UpGRgZPPfUUAOeddx4pKSkRnSccDhd536VLl7J06VKqVauWr4AO8P333wPQu3fv3AI6wAEHHJD7esyYMZx77rnMnTuXLVu25K7PzMxk9erVNGnSJKL3IEmSJEmSpEL80cWgNFhEl1SuvPzyy6xcuZJQKMRf/vKX3e6/fYF61apVtGrVKvc1QNOmTXd7jsTERLZt28aGDRt47LHHeOihh4oc73/+85/c/ugNGjSgSZMmrFmzhnnz5gGQFeEdTkmSJEmSJO3CoEGldiknFpVUboTDYR555BEATjjhBDp06LDTPu3bt6d9+/Y8+eSTABx99NHExQX3A99++20Afv75Z+bMmQNA//79d3vd+vXr505A+vDDD3P//ffnbuvRowcQtGzJGZUOMHXqVAAmTJgAQFJSEvPnz+f777/n2GOPLca7liRJkiRJUnlmEV1SufHBBx8wc+ZMAG644YYC95k5cyYzZ85kzZo1AKSkpOTu+8gjj9CuXTt69uxJOBymTZs2XH755UW69qWXXsqdd94JwLBhw/jXv/4FwC233ELNmjXZtm0bhx56KPvttx+NGjVi0B93Ozt37gzA+vXradmyJS1btuSNN96I7AOQJEmSJElSuRN1RfTmzZsTCoV2elx11VUF7j9q1Kid9nWSP6l8evjhhwHo3r07RxxxRJGPu/fee3nsscdo37498+fPp2rVqgwaNIhx48ZRtWrVIp/njjvuYPDgwQBcfvnlvPXWW7Ru3ZqJEydy9tlnU7t2bWbPng0EI+ABLrnkEoYOHUqdOnVYv349ffr0Yfjw4UW+piRJkiRJksq3ULg4s++VA6tXr87XY3j69Okcc8wxjB07lj59+uy0/6hRo7j22mtzR7cChEIh6tevX+RrLlmyhCZNmrB4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/fo1OL+1p6enBg0apGPHjjX5GtB2OlpuJGn69Om69957deTIEYWEhCg6Olr9+/fXhAkTmnwccDUciY42d+7cuUb3VVRUKDc3VxEREY77fHx8Gk24KyoqHMvq7Nq1SydOnGjQbujQoVq3bp1qa2sd961Zs6ZBm379+ikmJkbHjx/XkCFDGv2wc9n+uEt2fv/73+u//uu/tHTpUo0aNarJtmg9d8nNtxUXF+vLL79Ujx49WvQ4NI875Gbbtm2NfiRp3rx52rZtW4P+oe24Q3acWbduncrKyjR06NAWPQ7N4w65GTNmjLy9vfXxxx83uP+jjz7Srbfeavk4uM4dclPnzJkz+sc//sEFRa8Td8hOXFycsrOzG/SvpqZG+/fvV3x8vOXj4Dp3yE39Pg4YMEDR0dHaunWrjhw5opkzZ171cUBTOBIdbW7gwIG66667NGbMGEVGRiovL0+LFy/WxYsX9e///u+OdomJidq6das++ugjhYSEKCEhQampqQoMDNS//du/6YknnlBeXp6eeuopRUdHN3iOX/ziF45THsydO1cnT57U888/Lz8/P8e5tWw2m1544QX99Kc/VVlZmcaNG6eAgACdPHlS69ev16JFi9SnTx/L17Fx40aVlZU5zrf14YcfKigoSElJSUpKSroGWw7ukJ0VK1boF7/4he6//34lJCRoz549jmU9e/Zs9NU1tJ475Obpp59WUVGRhg8frrCwMJ04cUIvvviiKisrtWDBgmu27W5m7pCbkSNHOr2/Z8+elsvQeu6QnUcffVQeHh5KTU1V586dtXfvXj333HMaMmSIJk2adM223c3MHXITHh6uRx55RL/+9a9ls9mUmJiod955R3v27NGmTZuu3ca7iblDbuqsXLlStbW1FNGvE3fIzgMPPKDXXntNEydO1MMPPyxPT0+9+uqrysnJ0V//+tdrt/FuYu6Qm7KyMj399NO67bbb5Ofnpz179ui5557T008/rb59+167jYebw42+sincz1/+8hdzxx13mOjoaOPj42OioqLMHXfcYbZu3dqg3YEDB8yIESNMUFCQkWT+9re/GWOuXHG5f//+xs/PzwwaNMhs2LDBpKWlmXHjxjV4/Pvvv2/69OljfH19za233mp27txpvLy8TEZGRoN2mzdvNmlpaSYgIMAEBASY/v37m0cffdQUFhY2+Tri4uIcV6Wu/1N3xWi0PXfIzowZM5zmpn4/0bbcITcffPCBSUtLM126dDG+vr6mR48eZubMmebYsWNts5HQiDvkxhlJ5k9/+lPLNwiazR2y89prr5lbbrnF2O124+XlZeLi4syCBQtMUVFR22wkNOIOuTHGmOrqavPUU085XkdycrL54IMPWr+B4JS75MYYY4YMGWK+853vtG6DoNncJTtbtmwxaWlpJjQ01HTu3NkMHz7cbNy4sfUbCE65Q27Ky8vNmDFjHPtVycnJ7IejzdiMMea6Vu2Ba2TLli0aPXq0/vGPfygtLe1GdwcdCNmBK8gNXEFu4CqyA1eQG7iC3MBVZAeuIDfoKCiio8NKT0/XqFGj1KVLFx08eFC//e1vFRUVpc8//9zxNSDAGbIDV5AbuILcwFVkB64gN3AFuYGryA5cQW7QUXFOdHRYBQUFmj9/vi5evKjg4GDdcccdev755xl0cVVkB64gN3AFuYGryA5cQW7gCnIDV5EduILcoKPiSHQAAAAAAAAAACzwMQ8AAAAAAAAAABYoogMAAAAAAAAAYIEiOgAAAAAAAAAAFiiiAwAAAAAAAABggSI6AAAAAAAAAAAWKKIDAAAAAAAAAGCBIjoAAAAAAAAAABYoogMAAAAAAAAAYIEiOgAAAAAAAAAAFiiiAwAAAAAAAABggSI6AAAAAAAAAAAWKKIDAAAAAAAAAGCBIjoAAAAAAAAAABYoogMAAAAAAAAAYIEiOgAAAAAAAAAAFiiiAwAAAAAAAABggSI6AAAAAAAAAAAWKKIDAAAAAAAAAGCBIjoAAAAAAAAAABYoogMAAAAAAAAAYIEiOgAAAAAAAAAAFiiiAwAAAAAAAABggSI68C02m02ZmZk3uhvoYMgNXEV24Ir4+HitWbPmRncDHQy5gat4r4IryA1cwXsVXEV2cK1RRMc1N3/+fMXGxsputys6OloLFixQVVWVZfuRI0fK19dXgYGBjp/Tp09fxx6jPamoqFCvXr3UuXPnJtsVFxfrpz/9qex2u8LDw/Xb3/72+nQQ7VZzs8OYA0maOXOmfHx8GuRg9+7dlu2rq6v18MMPKyQkRKGhoZo/f74uX758HXuM9qCluWlpe7i3tWvXavDgwQoICFBUVJSWLFli2ZZ5Duq0JDfMcSCpwd8/MDBQ3t7eGjRokGV75jio09LsMM+Bu6OIjmsuPT1dhw4dUnFxsfbv36/9+/frj3/8Y5OP+cMf/qDS0lLHT1RU1HXqLdqbJ598UnFxcVdtN3/+fOXn5+vUqVPasWOH/vrXv2r58uXXoYdor5qbHYkxB1ekp6c3yMGwYcMs2z777LPauXOnsrKydPDgQe3YsUOLFi26jr1Fe9GS3LjSHu5p06ZNSk9PV0ZGhoqLi3Xw4EGNHDnSsj3zHEgtz43EHAdq8PcvLS1VYmKi7r33Xsv2zHFQp6XZkZjnwL1RRMc1l5iYqICAAEmSMUYeHh7Kyclps/XbbDYtXrxYSUlJCggI0LRp01RQUKCpU6fKbrcrJSVFhw4dcrSPj4/X7373O91yyy2y2+0aM2ZMoyMy9uzZowEDBshut2vChAkqKipqs/6i+f71r39p06ZNevzxx5tsV15erpUrV+rZZ59V586d1adPH82fP1+vv/665WPIjXtrbnZcQXYgSW+88YZ+/etfKzIyUpGRkfrVr37V5JgTHx+v5557TkOHDlVAQIDGjh2r/Px8paenq3Pnzurdu7d27drlaD9y5Eg99thjGjlypIKCgjRs2DBlZ2c3WOeRI0eUmpqqoKAgpaWlKTc395q9XtwY5MZ9LVy4UE8++aRGjhwpT09PhYSEqF+/fk7bMs9BnZbkxhXkxv3t3btXWVlZmjlzpmUb5jhwpjnZaSmygw7HANfBc889ZwICAowk06VLF/PZZ59Ztk1LSzNdunQxISEhZvDgwWbZsmVNrluSGT16tPnmm29MXl6e6datmxk4cKDZsWOHqa6uNjNnzjR33XWXo31cXJyJj4832dnZpqyszEyfPt384Ac/aLC+H/zgB+bcuXOmoKDApKSkmKeeeqrV2wAtU11dbVJSUswnn3xitm3bZoKDgy3bfvHFF0aSqa6udty3efNm07lzZ8vHkBv31ZLsGMOYgytmzJhhQkJCTEhIiElKSjLPP/+8qampcdo2Pz/fSDI5OTmO+44cOWIkmcLCQqePiYuLM8nJyebUqVOmsLDQ9O/f3/Tu3du8//775vLly+bJJ580AwcOdLRPS0szISEhZteuXaaystL88pe/NL1793aMc3FxcWbgwIHm+PHjpqKiwowdO9bMmDGj7TYImqUluXGlPblxT6WlpcZms5knn3zS9O7d24SHh5vJkyeb06dPO23PPAfGtDw3xjDHQWNz584148ePt1zOHAdWrpYdY5jnwP1RRMd1lZWVZX71q1+Z3Nxcyza7du0yhYWFpqqqymzatMnY7XazevVqy/aSzKZNmxy377nnHnPvvfc6bq9fv95ER0c7bsfFxZk//OEPjttnz541khx9kmQ2btzoWP7ss89e9c0CbW/RokVm9uzZxhhz1ULo9u3bTUBAQIP79u7dazw9PS0fQ27cV0uyYwxjDq7417/+Zc6fP28uX75sdu/ebWJjY80LL7zgtO2pU6eMJHPhwgXHfefPn2/wd/22uLg4s2TJEsftxx57zKSmpjpuHzx40NhsNlNZWWmMubKT8NBDDzmWV1VVGbvdbnbs2OFY38svv+xY/tZbb5kBAwa48MrRGi3JjSvtyY17ys3NNZLMoEGDzIkTJ0xJSYm57777zA9/+EOn7ZnnwJiW58YY5jhoqLS01NjtdrNmzRrLNsxx4ExzsmMM8xy4P07ngusqMTFRycnJTX4FaNiwYQoODpa3t7fGjBmjBx98UO+++26T6w0PD3f87u/v3+h2aWlpg/b1z5McHh4uX19f5eXlOe6LiIhw/B4QEKCSkpKrvja0naNHj2rJkiX605/+1Kz2gYGBKi8vb3DBm6KiIgUFBTX5OHLjflqaHYkxB1fccsstCgsLk6enp1JTU/XEE09Y5iAwMFCSGnwlve73psadq+XGGKPy8nLHffVz4+3trcjISHLTzrQkN660l8iNO6obQx555BHFxcUpMDBQzzzzjLZt26aysjKn7ZnnoKW5kZjjoKH/+Z//kb+/v8aNG2fZhjkOnGlOdiTmOXB/FNFx3VVXV7fonOgeHm0f05MnTzp+P3/+vCorKxUdHd3mzwPX7Ny5U+fOnVOfPn3UtWtXTZw4UcXFxeratas+/fTTRu379u0rb29v7d+/33FfZmamBg4c2Kb9IjftX0uz4wxjDqSmcxASEqKYmBhlZmY67svMzFRsbKyCg4PbrA/1c1NdXa0zZ86Qm3aupePHtR5vyE371LlzZ3Xv3t3pMmNMo/uY50BqeW6cYY5zc3vttdc0Y8YMeXl5WbZhjgNnmpMdZ5jnwN1QRMc1VVpaqr/97W8qLCyUMUZfffWVnn32WY0ZM8Zp+8LCQm3YsEHl5eWqqanRli1btGTJEv34xz9u03698sorOnz4sCoqKvT444/rtttuU0xMTJs+B1w3ZcoUHT16VJmZmcrMzNRrr72moKAgZWZmKiUlpVF7f39/TZ06VQsXLlRRUZFycnL00ksv6YEHHmjTfpGb9q+l2WHMQZ1Vq1apuLhYxhh9/vnn+v3vf99kDmbNmqXf/e53Onv2rM6ePatFixa1+Zjz7rvv6tNPP1VVVZV+85vfKCwsTKmpqW36HGidluampe1dQW46hrlz5+qll15SXl6eKioq9Jvf/EajRo1yHAVaH/Mc1GlJbpjjoL7Dhw9r165dmjNnzlXbMsdBfS3JDvMcuDuK6LimbDabVqxYoZ49eyooKEgTJ07UuHHjlJGR4WgzduxYLVq0SNKVTxKfeeYZRUREKCQkRD//+c/1wgsv6J577mnTfs2ePVs/+clPFB4erry8PL399tttun60jr+/v2JiYhw/YWFhstlsiomJkY+Pj6SGuZGkxYsXKzg4WDExMRo+fLjmzJmj6dOnt2m/yE3719LsMOagzuLFi9W9e3cFBQXpvvvuU3p6uh599FHH8nnz5mnevHmO2wsXLtSwYcOUmJioxMREDR8+XL/85S/btE+zZ8/W448/rtDQUH300Udas2ZNi48AwrXV0txcrX1bIDcdwxNPPKFRo0YpOTlZsbGxKi8v15tvvulYzjwHzrQkN8xxUN/rr7+uESNGqHfv3o2WMcdBU1qSHeY5cHc209zvfgFuIj4+XhkZGZo0adKN7go6EHIDV5EduGLkyJGaNGmSFixYcKO7gg6E3MBVvFfBFeQGruC9Cq4iO7jROBIdAAAAAAAAAAALFNEBAAAAAAAAALDA6VwAAAAAAAAAALDAkegAAAAAAAAAAFigiA4AAAAAAAAAgAWK6AAAAAAAAAAAWKCIDgAAAAAAAACABYroAAAAAAAAAABYoIgOAAAAAAAAAIAFiugAAAAAAAAAAFigiA4AAAAAAAAAgAWK6AAAAAAAAAAAWKCIDgAAAAAAAACABYroAAAAAAAAAABYoIgOAAAAAAAAAIAFiugAAAAAAAAAAFigiA4AAAAAAAAAgAWK6AAAAAAAAAAAWKCIDgAAAAAAAACABYroAAAAAAAAAABYoIgOAAAAAAAAAIAFiugAAAAAAAAAAFigiA4AAAAAAAAAgAWK6AAAAAAAAAAAWKCIDgAAAAAAAACABYroAAAAAAAAAABYoIgOAAAAAAAAAIAFiugAAAAAAAAAAFigiA4AAAAAAAAAgAWK6AAAAAAAAAAAWKCIDgAAAAAAAACABa8b3QG4j4yMDHl5ecnL60qsvv/972vAgAFO2547d04bN25UWVmZJOmHP/yhEhMTW/X8S5Ys0axZs+Tr63vVtmVlZVq2bJnS09P1zDPP6PHHH5efn1+rnh+uuXz5sjZv3qxjx47Jy8tL4eHhuvvuuy3bG2O0fPlynTlzRk888USrn//tt9/WmDFj1LVr16u2ramp0UsvvaT58+frpZde0r333quIiIhW9wEtV15eruXLlztuV1dXq6CgQI899pg6derUoO25c+e0YcMGlZWVycPDQ9HR0brzzjvl7e3dqj6sXbtWAwcOVEJCQrPav/zyy7r//vv1/vvvKzU1Vf369WvV88M1OTk52rp1q4wxqq2t1fe+9z0NHjzYadsjR45o8+bNMsaoW7dumjRpUrPeY5rCmNMxtSQ3O3fu1P79++Xp6SkvLy+NHTtW0dHRrXp+xpuO6+jRo9q6datqamrk7e2t8ePHO/0/Pnr0qD7++GPH7bKyMgUGBurBBx9s1fOTnY5j48aNOnz4sIqKivTggw82yMk333yjNWvWqLy8XH5+fpo4caK6devWaB0nTpzQ22+/rS5dujjumzNnTqvnPOxntV9N5aapZfXl5uZq/fr1kqTa2lrFxsZq7Nixjv16V5Gb9ssqG5cvX9Z7772nCxcuyNvbWwEBARo3bpxCQ0MbraOqqkqrVq3S6dOnVVtb2yb75hJzZbRvFNHRpiZPnnzVQau6ulorV67Uj370I3Xv3l21tbWqqKho9XPPmzev2W0PHTqkPn36tPo50Xp1O4wPP/ywbDabSktLm2y/Z88ehYSE6MyZM23y/Pfdd1+z2544cUKxsbHy9PRsk+eG6/z9/Rv8z+/atUsnT55sVECXJC8vL915550KDw9XbW2tVq9erX/+858aOXJkq/owYcKEZrfNz8+Xj4+PgoKCWvWcaB1jjFavXq2ZM2cqPDxchYWFWrx4sRITExvt4FVVVWnt2rWaOXOmunbtqg0bNuiTTz7R7bff3qo+MOZ0PC3JzdmzZ/X5558rPT1dPj4++vLLL7Vhwwb97Gc/a1UfGG86poqKCkd2unXrppMnT2r16tVKT09v1LZXr17q1auX4/aKFSsUHx/f6j6QnY4jKSlJw4cP1xtvvNFo2bp163Trrbdq8ODBysrK0gcffGA5rnTp0qVF+0XNwX5W+9VUbppaVl9ERIR+9rOfydPTU8YYrVq1Sp999pmGDRvWqr6Rm/arqWzceuut6tWrl2w2m/bu3euYD3+bh4eHhg8frk6dOmnp0qVt1jfmymjPKKLjuvvqq68UExOj7t27S7oy+AYEBDhtm5GRoUGDBunrr79WcXGxRowYIU9PT33xxRcqKSnR6NGjHUe71//EOiMjQ8nJyTp+/LhKS0uVkpKi2267zbHew4cPKy0trcFzGWP08ccf6+LFi5o8ebL++c9/6sKFC7p8+bIuXryoLl26aPTo0dq8ebMKCgoUFRWlu+++Wzab7RptKfdXVVWlffv26T/+4z8c2zEwMNCy/fnz53Xo0CFNnDhRWVlZlu2WLl2qyMhInT59WoWFhUpOTlZsbKx27Nih4uJiffe733VMCjMyMhyfWC9dulRRUVHKy8tTSUmJevToofHjxzvWe+jQIadHZH366ac6ePCgpk6dqpycHH355ZcKCAjQ2bNn5efnpwkTJmjr1q26ePGi7Ha7pk6dKh8fH1c3G5zYt2+fRo0a5XRZ/aOxPDw8FBUVpfPnzzttu2bNGnl6eqqgoEAFBQWKj4/XkCFD9NFHH6moqEj9+vXTmDFjJF3JWd1RevUfV1RUpG7dumny5MmOCV12drbT7GRlZWn79u2aMmWKiouLtWHDBnXv3l25ubmSpLvvvlu7d+/WmTNn5O3trSlTpshut7dqW93sbDabLl26JEmqrKyUv7+/0yOtcnJyFBER4TgKZujQoXrzzTedFtEZc9xfc3MjXTkqqqqqSj4+Prp06ZLl/yzjjfsrKChQp06dHEcMx8XFqaioSGfOnFFkZKTl40pKSvT1119r4sSJTpeTHfcUFxfn9P6ysjKdPn1a06ZNkyQlJiZqw4YNys/Pd3p0aHOxn+UerHJztWX11f+mQk1Njaqrqy23PblxD1bZ8PLyUu/evR23Y2JitGvXLsu2CQkJKiwsvOrzMVeGu6CIjjb197//XZIUFRWl0aNHOy2OX7hwQV5eXlqxYoWKi4sVHh6u22+/3bKQXlVVpTlz5ig/P18vv/yyRowYoTlz5igvL08rVqywPGXMpUuXNGfOHJWXl+vFF1/U4MGDZbfbVVlZqYsXLyoqKsrR9vLly1q3bp06deqkqVOnysPjyuUCTp8+rblz58rPz0/Lli3T2rVrNW3aNHl7e+vVV19VTk4On5i3Qt3O5Y4dO3T8+HF5e3srLS1NPXr0aNS2pqZGH374oSZMmOD4+zSlqKhIM2bMUGVlpf785z/r0qVLmjVrlkpKSrR48WKlpKQ4/YpgQUGBZsyYoZqaGv33f/+3cnNzFRsbK2OMjh07ptGjRzvaGmP0v//7vyosLHTkQrqSm4ceekjBwcH6+9//rnfeeUezZ89WYGCgVqxYoczMTH3nO99pxZZDfbm5uaqoqGjW/2JVVZW++OILy4K7dOXDmhkzZshms+kvf/mLLl26pGnTpqmmpkYvvviiUlJSnH6F+ty5c5oxY4Y8PT21dOlSZWVlaeDAgZKu7Bh8uxiye/duHTp0SNOnT5e/v7+Ki4t18eJFTZo0SePHj9fWrVu1bNkyzZ49W127dtX69eu1Z8+eVh8JfTOz2WyaPHmy3n33Xfn4+KiiokJTp051evRKUVGRgoODHbc7d+6s0tJS1dbWOh2DGHPcV0tyExERodTUVP35z39Wp06d5OXl5fTorTqMN+4tNDRUFRUVjv/rw4cPq6qqSoWFhU0W0TMzM9W7d2/LubFEdm4mRUVFCgoKcrz32Gw2BQcHq6ioyGkRvaCgQK+88oo8PDw0ePBgDR061HLd7GehTmFhoVauXKn8/Hz16dOH3EDSlWJ0375922RdzJXhDiiio83MmjVLwcHBqqmp0datW7VmzRqnX8Wpra3V8ePHNWfOHAUFBWnLli1av369pkyZ4nS9dW/CoaGh8vLyUlJSkqQrhfqKigpdunTJ6WBbt0Pg7++vkJAQFRYWym636+jRo+rZs2eDT6hXrFihvn37Nvr0u2fPno7TQ0RERMjLy8vx1e3IyEjl5+e3dDOhntraWhUVFSksLEyjR4/WmTNn9Oabbyo9Pb3REemffPKJEhMTFRYW1qxPu5OSkuTh4aFOnTopJCREffr0kc1mk91uV0BAgAoLC52eeqh///7y8PCQh4eHIiIiVFBQoNjYWJ0+fVpdu3Zt8NX9Dz/8UBEREZoyZUqDPMXExDiKb5GRkaqpqXG8nqioKHLTxr744gslJydf9cOVmpoavffee+rZs2eT12Do27ev4wjT8PBw9ezZU56envL09FRYWJjy8/OdFib69evnmKhFRUWpoKBAklRaWqrKysoGR8Rv375dgYGBmjZtWoOjWUNDQx07EFFRUQoNDXUcCR0dHa1Dhw41Z5PAQm1trbZv366pU6cqLi5OeXl5WrlypR566CH5+/u3at2MOe6rJbkpKCjQoUOH9MgjjygoKEh79+7Ve++9p9mzZztdN+ONe/Pz89M999yjLVu2qKqqSjExMQoLC2vy/coYo3379mns2LFNrpvswJnIyEj9/Oc/l5+fn4qLi/X222/L399f/fv3d9qe/SzU6dy5s+bNm6eqqiqtXr1a2dnZlsVwcnNz2LFjh/Lz8zV9+vQ2WR9zZbiDqx/OCTRT3aDk6emp1NRUnTp1yrJdfHy87Ha7bDabBg0apP/7v/+zXG/9SbvNZnPcrhsUa2trm/W4unbOvvKTkJCg48ePq7Ky0nIdHh4eluuEa4KDg2Wz2RwTqsjISIWEhDg91cbJkye1d+9eZWRk6I033lBlZaUyMjIcF6f9Nqvc1N1uaW6ys7MbfQpfV0z59nncm8qNh4cHuWlDVVVVysrKUkpKSpPt6grogYGBuuOOO5ps2xbZqf93dnaOx+joaH3zzTeO4oXVOshO2zp79qxKSkocX2GNjo6W3W53eo2FuqP86hQWFiowMNCy+MWY475akpvs7Gx169bNcU7pwYMHKzc3VzU1NU7XzXjj/hISEjRz5kzNnTtXt99+u0pKShQWFmbZ/uTJk7p8+bJ69uzZ5HrJzs0jODhYJSUlju1qjGn0bak6vr6+juKl3W7XgAEDdPLkSct1s5+Fb/Px8dGAAQP01VdfWbYhN+5v165dys7O1n333dfqCxPXYa4Md0ARHW2iqqrKca5QSTpw4IDlBUb79++v06dPO94Q6847ez3U1NQoNze30YWaRowYocTERC1fvlzl5eXXpS+4chRCQkKCjh07JkmOc3s6uxL3rFmztGDBAi1YsECzZ8+Wr6+vFixY0ORXndvSkSNHGk3ukpOTlZaWpmXLljXawcT1ceDAAYWHhzd59fba2lq9//778vPz01133XXdz5N4+PDhRke+9+zZUxMmTNA777zTZhfJxdXZ7XaVlpbqwoULkq5cRC8/P99pfnr16qUzZ87o4sWLkqTPPvvM8oisa4Exp/1oSW5CQkKUm5urqqoqSVf+jl26dLluF7xivGl/SkpKHL9v375dCQkJTZ7Het++fRo8eHCzTl3XlshO+xUQEKDIyEh9+eWXkq4Ujux2u9MclZSUyBgj6cr1G3Jycpo8dVBbYj+r48rPz3d82FtTU6NDhw45/SbLtUBu2p/du3frwIEDmjZtmtNvFLQXzJVxI3A6F7SJsrIyrVq1yvEJXkhIiH70ox85lq9du1Z9+/ZV3759FRwcrO9///t6/fXXHV/fqX9xiGvp66+/Vvfu3Z3uzKampsrb21vLly/X/ffff136A2n8+PFau3atPv74Y9lsNo0fP95xMar6ubmRLl68KD8/P6cF+6SkJHl5eemtt97ST37ykxvQu5vbvn37dMsttzS6f9u2bQoKCtKQIUN04MABZWdnKzw8XK+88ookKTY2VuPGjbvm/ausrNQ333zT4ByPdeLi4vTjH/9Yq1atajBe4toJDAzU+PHj9d5778lms8kYozvvvNNxNF/93Pj6+mrChAlauXKlamtr1a1bN02aNOm69JMxp31pSW769eunvLw8vfrqq/Ly8pK3t7fuvvvu69JPxpv2adu2bTp16pRqa2sVGxurCRMmNFhWlx3pyvmCs7Oz9dBDD13XPpKd9uHDDz9UTk6OSktL9dZbb8nHx0ePPPKIpCvz5Q8++EA7duyQr69vg3PX158vZ2dn6/PPP3ccWZmUlKTBgwdfl/6zn3VjNJWbppbVz83XX3+tTz/91JGbhISERqdRuVbIzY1hlY3i4mJt3rxZISEhWrZsmaQrR3E/8MADkhq/b7388ssqLy9XZWWlXnjhBSUkJFyX9wrmyrhRbKbuo2rgJrBu3Tr16NHDcd42oDl27twpDw8Pfe9737vRXUEHc+DAAZ06dUp33nnnje4KOhDGHLiC8QauIjtoC+xnwRXkBq5growbhSI6AAAAAAAAAAAWOCc6AAAAAAAAAAAWKKIDAAAAAAAAAGCBIjoAAAAAAAAAABYoogMAAAAAAAAAYIEiOgAAAAAAAAAAFiiiAwAAAAAAAABggSI6AAAAAAAAAAAWKKIDAAAAAAAAAGCBIjoAAAAAAAAAABYoogMAAAAAAAAAYOH/AapRVeyyCHpoAAAAAElFTkSuQmCC",
|
||
"text/plain": [
|
||
"<Figure size 1500x800 with 2 Axes>"
|
||
]
|
||
},
|
||
"metadata": {},
|
||
"output_type": "display_data"
|
||
}
|
||
],
|
||
"source": [
|
||
"def fuel_utilization_chart():\n",
|
||
" \n",
|
||
"# Group by speed and calculate mean for numeric columns only\n",
|
||
" speed_groups = pnoe_df.groupby('Speed').mean(numeric_only=True).round(1)\n",
|
||
"\n",
|
||
"# Drop the first and last row from speed_groups\n",
|
||
" speed_groups = speed_groups.iloc[1:-1]\n",
|
||
"\n",
|
||
"# Filter data to only include speeds in the desired range\n",
|
||
" filtered_data = speed_groups[(speed_groups.index >= 3.5) & (speed_groups.index <= 7.5)]\n",
|
||
"\n",
|
||
"# Create figure with specific size\n",
|
||
" plt.figure(figsize=(15, 8))\n",
|
||
" plt.style.use('default')\n",
|
||
"\n",
|
||
"# Create stage labels and positions\n",
|
||
" stage_labels = [f'Stage {i}' for i in range(1, len(filtered_data) + 1)]\n",
|
||
" x_positions = np.arange(len(filtered_data))\n",
|
||
"\n",
|
||
"# Calculate fat and carbs energy expenditure from percentages\n",
|
||
" fat_ee = filtered_data['EE(kcal/min)'] * filtered_data['FAT(%)'] / 100\n",
|
||
" carbs_ee = filtered_data['EE(kcal/min)'] * filtered_data['CARBS(%)'] / 100\n",
|
||
"\n",
|
||
"# Create the main axis for the stacked bars\n",
|
||
" ax1 = plt.gca()\n",
|
||
"\n",
|
||
"# Create stacked bar chart with colors\n",
|
||
" bars_fat = ax1.bar(x_positions, fat_ee, color='#1f77b4', alpha=0.8, width=0.6, label='Fat')\n",
|
||
" bars_carbs = ax1.bar(x_positions, carbs_ee, bottom=fat_ee, color='#ff7f0e', alpha=0.8, width=0.6, label='Carbs')\n",
|
||
"\n",
|
||
"# Set labels and formatting for primary axis\n",
|
||
" ax1.set_xlabel('', fontsize=12)\n",
|
||
" ax1.set_ylabel('Fuel (kcal/min)', fontsize=12)\n",
|
||
" ax1.set_ylim(0, 20)\n",
|
||
"\n",
|
||
"# Add individual values on each bar segment\n",
|
||
" for i, (fat_val, carb_val, total_val) in enumerate(zip(fat_ee, carbs_ee, filtered_data['EE(kcal/min)'])):\n",
|
||
" if fat_val > 0.3: # Fat value\n",
|
||
" ax1.text(i, fat_val/2, f'{fat_val:.1f}', ha='center', va='center',\n",
|
||
" fontsize=9, fontweight='bold', color='white')\n",
|
||
" if carb_val > 0.3: # Carbs value\n",
|
||
" ax1.text(i, fat_val + carb_val/2, f'{carb_val:.1f}', ha='center', va='center',\n",
|
||
" fontsize=9, fontweight='bold', color='white')\n",
|
||
" # Total EE\n",
|
||
" ax1.text(i, total_val + 0.5, f'{total_val:.1f} kcal', ha='center', va='bottom',\n",
|
||
" fontsize=10, fontweight='bold', color='black')\n",
|
||
"\n",
|
||
"# Add speed labels below x-axis\n",
|
||
" for i, speed in enumerate(filtered_data.index):\n",
|
||
" ax1.text(i, -1.5, f'{speed:.1f} mph', ha='center', va='top', fontsize=9)\n",
|
||
" ax1.text(i, -2.8, f'{speed*1.609:.1f} min/km', ha='center', va='top', fontsize=8, color='gray')\n",
|
||
"\n",
|
||
"# Create secondary y-axis for heart rate\n",
|
||
" ax2 = ax1.twinx()\n",
|
||
"\n",
|
||
"# Plot heart rate line (no manual offset)\n",
|
||
" hr_line = ax2.plot(x_positions, filtered_data['HR(bpm)'],\n",
|
||
" marker='o', linewidth=3, markersize=8, color='red', label='Heart Rate')\n",
|
||
"\n",
|
||
"# Set heart rate axis formatting\n",
|
||
" ax2.set_ylabel('Heart Rate (bpm)', fontsize=12, color='red')\n",
|
||
" ax2.tick_params(axis='y', labelcolor='red')\n",
|
||
"\n",
|
||
"# Dynamically adjust HR axis to float above bars\n",
|
||
" max_bar_height = max(filtered_data['EE(kcal/min)'])\n",
|
||
" ax2.set_ylim(0, 220) # ensures HR line is above bars\n",
|
||
"\n",
|
||
"\n",
|
||
"# Add HR values above the points\n",
|
||
" for i, hr in enumerate(filtered_data['HR(bpm)']):\n",
|
||
" ax2.text(i, hr + 10, f'{int(hr)}bpm', ha='center', va='bottom',\n",
|
||
" fontsize=10, fontweight='bold', color='red')\n",
|
||
"\n",
|
||
"# Set x-axis formatting\n",
|
||
" ax1.set_xticks(x_positions)\n",
|
||
" ax1.set_xticklabels(stage_labels, fontsize=11)\n",
|
||
"\n",
|
||
"# Add title\n",
|
||
"# plt.suptitle('Fuel Utilization Report - Institute of Science, Health and Performance',\n",
|
||
"# fontsize=14, fontweight='bold', y=0.95)\n",
|
||
"\n",
|
||
"# Create legend\n",
|
||
" lines1, labels1 = ax1.get_legend_handles_labels()\n",
|
||
" lines2, labels2 = ax2.get_legend_handles_labels()\n",
|
||
" ax1.legend(lines1 + lines2, labels1 + labels2, loc='upper left',\n",
|
||
" frameon=True, fancybox=True, shadow=True)\n",
|
||
"\n",
|
||
"# Add grid\n",
|
||
" ax1.grid(True, alpha=0.3, linestyle='-', linewidth=0.5)\n",
|
||
" ax1.set_axisbelow(True)\n",
|
||
"\n",
|
||
"# Adjust layout\n",
|
||
" plt.tight_layout()\n",
|
||
" plt.subplots_adjust(bottom=0.1, top=0.9)\n",
|
||
" plt.savefig('graphs/fuel_utilization_chart.png', dpi=300)\n",
|
||
" plt.show()\n",
|
||
"\n",
|
||
"fuel_utilization_chart()\n"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": null,
|
||
"id": "f44f6da7",
|
||
"metadata": {},
|
||
"outputs": [],
|
||
"source": []
|
||
}
|
||
],
|
||
"metadata": {
|
||
"kernelspec": {
|
||
"display_name": "report_generation",
|
||
"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.12.3"
|
||
}
|
||
},
|
||
"nbformat": 4,
|
||
"nbformat_minor": 5
|
||
}
|