diff --git a/src/notebooks/557-anova-visualization-with-matplotlib.ipynb b/src/notebooks/557-anova-visualization-with-matplotlib.ipynb new file mode 100644 index 0000000000..c3aa6f5e53 --- /dev/null +++ b/src/notebooks/557-anova-visualization-with-matplotlib.ipynb @@ -0,0 +1,396 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": { + "tags": [] + }, + "source": [ + "## Libraries\n", + "\n", + "First, you need to install the following librairies:\n", + "- [matplotlib](https://python-graph-gallery.com/matplotlib/) is used for plot creating the charts\n", + "- [pandas](https://python-graph-gallery.com/pandas/) is used to put the data into a dataframe\n", + "- `numpy` is used to generate some data\n", + "\n", + "The **Anova test** will be done using `scipy`: install it using the `pip install scipy` command" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": { + "tags": [] + }, + "outputs": [], + "source": [ + "import pandas as pd\n", + "import matplotlib.pyplot as plt\n", + "import numpy as np\n", + "import scipy.stats as stats" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Dataset\n", + "\n", + "When creating **nice output tables**, we first need to have the dataframe with the values we want. \n", + "\n", + "In this post, we'll use *fake weather data* from different cities. We'll take a look at different simple features of [pandas](https://python-graph-gallery.com/pandas/) to make this table more **aesthetically appealing**." + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": { + "tags": [] + }, + "outputs": [], + "source": [ + "sample_size = 100\n", + "\n", + "groupA = np.random.normal(10, 10, sample_size)\n", + "groupB = np.random.normal(70, 10, sample_size)\n", + "groupC = np.random.normal(40, 10, sample_size)\n", + "category = ['GroupA']*sample_size + ['GroupB']*sample_size + ['GroupC']*sample_size\n", + "\n", + "df = pd.DataFrame({'value': np.concatenate([groupA, groupB, groupC]),\n", + " 'category': category})" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Get statistical values\n", + "\n", + "First, we'll start by retrive the values we want to add on the plot: the **p value** and the **F statistic**. For this, we need to use the `f_oneway()` function from `scipy`.\n", + "\n", + "Also, we retrieve the **mean** of each group.\n", + "\n", + "*Important: This post does not cover any statistical/math details*" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": { + "tags": [] + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "T-statistic: 960.8980055803397\n", + "P-value: 2.0225642197230424e-130\n", + "Mean groupA: 8.745526783582141\n", + "Mean groupB: 70.56101076624377\n", + "Mean groupC: 40.310280651985394\n" + ] + } + ], + "source": [ + "# groups\n", + "groupA = df[df['category']=='GroupA']['value']\n", + "groupB = df[df['category']=='GroupB']['value']\n", + "groupC = df[df['category']=='GroupC']['value']\n", + "\n", + "# Perform a paired t-test\n", + "F_statistic, p_value = stats.f_oneway(groupA, groupB, groupC)\n", + "\n", + "# Get means\n", + "mean_groupA = groupA.mean()\n", + "mean_groupB = groupB.mean()\n", + "mean_groupC = groupC.mean()\n", + "\n", + "# Print the results\n", + "print(\"T-statistic:\", F_statistic)\n", + "print(\"P-value:\", p_value)\n", + "print(\"Mean groupA:\", mean_groupA)\n", + "print(\"Mean groupB:\", mean_groupB)\n", + "print(\"Mean groupC:\", mean_groupC)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Let's **round them** in order to make the chart **more readable** at the end" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": { + "tags": [] + }, + "outputs": [], + "source": [ + "F_statistic = round(F_statistic,2)\n", + "p_value = round(p_value,5) # more decimal since it's a lower value in general\n", + "mean_groupA = round(mean_groupA,2)\n", + "mean_groupB = round(mean_groupB,2)\n", + "mean_groupC = round(mean_groupC,2)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Boxplot with statistical elements\n", + "\n", + "Now let's use the stats we got above and add them to the plot of [boxplots](https://python-graph-gallery.com/boxplot/) of each group using the `text()` function from [matplotlib](https://python-graph-gallery.com/matplotlib/).\n", + "\n", + "For this graph, we'll also add the **average of each group** next to its associated [boxplot](https://python-graph-gallery.com/boxplot/). " + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": { + "tags": [] + }, + "outputs": [ + { + "data": { + "image/png": "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Ur/ykaim4mx0IiIiIlIZhk0iIiIiUhmGTSIiIiJSGYZNIiIiIlIZhk0iIiIiUhnORiciIiKVefLkCeLj48u1bVZWFpKSkmBnZ/dKl+9ydXWFrq5uubenV8OwSURERCoTHx8PT0/PKq0hJiYGHh4eVVrDm4xhk4iIiFTG1dW1yO+BL4u4uDj4+voiODgYbm5ur1QDVR2GTSIiIlIZXV3dVx5VdHNz48hkDcYJQkRERESkMgybRERERKQyDJtEREREpDIMm0RERESkMgybRERERKQyDJtEREREpDIMm0RERESkMgybRERERKQyDJtEREREpDIMm0RERESkMgybRERERKQyDJtEREREpDIMm0RERESkMgybRERERKQyDJtEREREpDIMm0RERESkMgybRERERKQyDJtEREREpDIaVV0AEVFlSkNape/zGZ7hIR7CGMbQqORfu1XxeImIXsSwSURvBFNTU8h15AjJDqnqUiqdXEcOU1PTqi6DiN5QDJtE9EawtbVFfEI80tIqf6QvLi4Ovr6+CA4OhpubW6Xv39TUFLa2tpW+XyIigGGTiN4gtra2VRq63Nzc4OHhUWX7JyKqCpwgREREREQqw7BJRERERCrDsElEREREKqN02Lx9+zZ8fX1hYmICXV1dNGnSBDExMdJ6IQRmz54Na2tryOVytG/fHpcuXarQoomIiIioZlAqbKanp8PHxweampr4/fffcfnyZSxfvhzGxsZSmyVLlmDFihVYvXo1oqOjYWlpic6dO+PRo0cVXTsRERERVXNKzUZfvHgxbGxsEBQUJC2zs7OTfhZCIDAwEF9//TX69OkDANi8eTMsLCywfft2jBw5smKqJiIiIqIaQamRzV9++QVeXl748MMPYW5ujqZNm+LHH3+U1t+4cQOpqano0qWLtExbWxvt2rVDREREkX3m5OQgMzNT4UZERERErwelwub169exdu1aODk54eDBgxg1ahS++OILbNmyBQCQmpoKALCwsFDYzsLCQlr3soULF8LIyEi62djYlOdxEBEREVE1pFTYzM/Ph4eHBwICAtC0aVOMHDkSI0aMwNq1axXayWQyhftCiELLCkydOhUZGRnS7datW0o+BCIiIiKqrpQKm1ZWVmjQoIHCMjc3NyQnJwMALC0tAaDQKOa9e/cKjXYW0NbWhqGhocKNiIiIiF4PSoVNHx8f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GDapRCdOnEBSUhKmTZsGNTXFt4uamhqmTp2KGzdu4MSJE1VUIREREVVnDJtUopSUFADAW2+9VeT6guUF7YiIiIhexLBJJbKysgIAXLx4scj1BcsL2hERERG9iJc+ohK1adMGdnZ2CAgIwL59+xQOpefn52PhwoWwt7dHmzZtqrBKIiJStfR/7lT6Pp/l5uLR3TQYWJhCQ0urUvddFY/3dcWwSSVSV1fH8uXL8cEHH6B3796YOnUq3nrrLVy8eBELFy7Er7/+ij179vB6m0RErylTU1PIdeU4unxdVZdS6eS6cpiamlZ1GTWeTAghqrqIF2VmZsLIyAgZGRkwNDSs6nLo/4WEhGDChAlISkqSltnb22PZsmXo06dP1RVGREQql5ycjLS0tErfb1xcHHx9fREcHAw3N7dK37+pqSlsbW0rfb81gTJ5jSObVCZ9+vRBr169+A1CRERvIFtb2yoNXW5ubvDw8Kiy/dOrYdikMlNXV0f79u2rugwiIiKqQTgbnYiIiIhUhmGTiIiIiFSGYZOIiIiIVIZhk4iIiIhUhmGTiIiIiFSGYZOIiIiIVIZhk4iIiIhUhmGTiIiIiFSGYZOIiIiIVIbfIPSGefLkCeLj48u9fVZWFpKSkmBnZwe5XF6uPlxdXaGrq1vuGoiIiKjmYNh8w8THx8PT07NKa4iJieF33BIREb0hGDbfMK6uroiJiSn39nFxcfD19UVwcDDc3NzKXQMRERG9GRg23zC6uroVMqro5ubG0UkiIiIqFScIEREREZHKMGwSERERkcowbBIRERGRyjBsEhEREZHKMGwSERERkcowbBIRERGRyjBsEhEREZHKMGwSERERkcowbBIRERGRyjBsEhEREZHKMGwSERERkcowbBIRERGRyjBsEhEREZHKMGwSERERkcowbBIRERGRyjBsEhEREZHKMGwSERERkcowbBIRERGRyjBsEhEREZHKMGwSERERkcowbBIRERGRyjBsEhEREZHKMGwSERERkcowbBIRERGRyjBsEhEREZHKMGwSERERkcooFTYXLlyIZs2awcDAAObm5ujduzcSEhIU2gghMHv2bFhbW0Mul6N9+/a4dOlShRZNRERERDWDUmHz+PHj+OyzzxAVFYXDhw/j2bNn6NKlCx4/fiy1WbJkCVasWIHVq1cjOjoalpaW6Ny5Mx49elThxRMRERFR9aahTOM//vhD4X5QUBDMzc0RExODtm3bQgiBwMBAfP311+jTpw8AYPPmzbCwsMD27dsxcuTIiquciIiIiKq9VzpnMyMjAwBQu3ZtAMCNGzeQmpqKLl26SG20tbXRrl07REREvMquiIiIiKgGUmpk80VCCIwfPx6tW7fGW2+9BQBITU0FAFhYWCi0tbCwwM2bN4vsJycnBzk5OdL9zMzM8pZERERERNVMuUc2x4wZg7///hs7duwotE4mkyncF0IUWlZg4cKFMDIykm42NjblLYmIiIiIqplyhc3PP/8cv/zyC8LCwlC3bl1puaWlJYD/jXAWuHfvXqHRzgJTp05FRkaGdLt161Z5SiIiIiKiakipsCmEwJgxYxASEoJjx47B3t5eYb29vT0sLS1x+PBhaVlubi6OHz+OVq1aFdmntrY2DA0NFW5ERERE9HpQ6pzNzz77DNu3b8fPP/8MAwMDaQTTyMgIcrkcMpkMX375JQICAuDk5AQnJycEBARAV1cXgwYNUskDICIiIqLqS6mwuXbtWgBA+/btFZYHBQXBz88PADB58mRkZWXB398f6enp8Pb2xqFDh2BgYFAhBRMRERFRzaFU2BRClNpGJpNh9uzZmD17dnlrIiIiIqLXBL8bnYiIiIhUhmGTiIiIiFSGYZOIiIiIVIZhk4iIiIhUhmGTiIiIiFSGYZOIiIiIVIZhk4iIiIhUhmGTiIiIiFSGYZOIiIiIVIZhk4iIiIhUhmGTiIiIiFSGYZOIiIiIVIZhk4iIiIhUhmGTiIiIiFSGYZOIiIiIVIZhk4iIiIhUhmGTiIiIiFRGo6oLoPJJTk5GWlpape83Li5O4d/KZmpqCltb2yrZNxERESmPYbMGSk5OhpurC55kZVdZDb6+vlWyX125DuLiExg4iYiIagiGzRooLS0NT7KyEewPuFlX7r6zcoGkNMDOFJBrVe6+4+4AvmuykZaWxrBJRERUQzBs1mBu1oCHfeXv18el8vdJRERENRMnCBERERGRyjBsEhEREZHKMGwSERERkcowbBIRERGRyjBsEhEREZHKMGwSERERkcowbBIRERGRyjBsEtUAqamp6Ny5M/T09GBsbFzV5RAREZUZwya9tvz8/CCTyTBq1KhC6/z9/SGTyeDn51f5hZXDN998g5SUFMTGxiIxMbHYdpmZmZgxYwbc3d0hl8thYmKCZs2aYcmSJUhPT6/Eistn+/btUFdXL/I1K6vAwEC4uLhALpfDxsYG48aNQ3Z28V/tOnv2bMhkskI3PT09qU14eHiRbeLj48tdJxHRm4Jhk15rNjY22LlzJ7KysqRl2dnZ2LFjR436ystr167B09MTTk5OMDc3L7LNgwcP0KJFCwQFBWHixIk4deoU/vrrL8yaNQuxsbHYvn17sf3n5uaqqnSlbNy4EZMnT8bOnTvx5MkTpbfftm0bpkyZglmzZiEuLg4bNmzArl27MHXq1GK3mThxIlJSUhRuDRo0wIcffliobUJCgkI7JycnpWskInrT8Osq6bXm4eGB69evIyQkBIMHDwYAhISEwMbGBg4ODgpthRBYunQp1q1bh5SUFDg7O2PGjBn44IMPAAB5eXn49NNPcezYMaSmpsLW1hb+/v4YO3as1Iefnx8ePnyI1q1bY/ny5cjNzcWAAQMQGBgITU3NYutcu3Ytli1bhlu3bsHe3h7Tp0/HRx99BACws7PDzZs3AQBbtmzB0KFDsWnTpkJ9TJs2DcnJyUhISECdOnWk5a6urujRoweEENIyOzs7fPLJJ7h69SpCQ0PRu3dvbN68GXv37sXMmTNx9epVWFlZ4fPPP8eECROk7WQymdS+gLGxMQIDA+Hn54ekpCTY29tjx44d+Pbbb3H27FnUr18f3333Hdq3b1/ia5WUlISIiAjs3bsXYWFh2LNnD4YMGVLiNi+LjIyEj48PBg0aJD3OgQMH4vTp08Vuo6+vD319fen++fPncfnyZaxbt65QW3Nzc57GQKSkJ0+elPsoQFxcnMK/5eXq6gpdXd1X6oPKj2GTXnvDhg1DUFCQFDY3btyI4cOHIzw8XKHd9OnTERISgrVr18LJyQl//vknfH19YWZmhnbt2iE/Px9169bF7t27YWpqioiICHz66aewsrJCv379pH7CwsJgZWWFsLAwXL16Ff3790eTJk0wYsSIIusLDQ3F2LFjERgYiE6dOuHXX3/FsGHDULduXXTo0AHR0dEYMmQIDA0NsXLlSsjl8kJ95OfnY9euXfD19VUImi+SyWQK95cuXYoZM2Zg+vTpAICYmBj069cPs2fPRv/+/REREQF/f3+YmJgofbrBpEmTEBgYiAYNGmDFihXo2bMnbty4ARMTk2K32bhxI7p37w4jIyP4+vpiw4YNCmEzPDwcHTp0wI0bN2BnZ1dkH61bt0ZwcDBOnz6N5s2b4/r16/jtt98wdOjQMte+fv16ODs7o02bNoXWNW3aFNnZ2WjQoAGmT5+ODh06lLlfojdVfHw8PD09X6kPX1/fV9o+JiYGHh4er9QHlR/DJr32PvroI0ydOhVJSUmQyWT466+/sHPnToWw+fjxY6xYsQLHjh1Dy5YtAQAODg44efIkvv/+e7Rr1w6ampqYM2eOtI29vT0iIiKwe/duhbBZq1YtrF69Gurq6nB1dUX37t1x9OjRYsPmsmXL4OfnB39/fwDA+PHjERUVhWXLlqFDhw4wMzODtrY25HI5LC0ti+zj33//xcOHD+Hi4qKw3NPTEwkJCQCA9957Dzt27JDWvf3225g4caJ0f/DgwejYsSNmzJgBAHB2dsbly5exdOlSpcPmmDFj0LdvXwDPR23/+OMPbNiwAZMnTy6yfX5+PjZt2oRVq1YBAAYMGIDx48fj6tWrcHR0BADo6urCxcWlxBHiAQMG4N9//0Xr1q0hhMCzZ88wevRoTJkypUx15+TkSIfiX2RlZYUffvgBnp6eyMnJwdatW9GxY0eEh4ejbdu2Zeqb6E3l6uqKmJiYcm2blZWFpKQk2NnZFfkfbWVqoKrDsEmvPVNTU3Tv3h2bN2+GEALdu3eHqampQpvLly8jOzsbnTt3Vliem5uLpk2bSvfXrVuH9evX4+bNm8jKykJubi6aNGmisI27uzvU1dWl+1ZWVrhw4UKx9cXFxeHTTz9VWObj44OVK1cq+1ALjV6GhoYiNzcXX331lcJ5qwDg5eVVqI5evXoVqiMwMBB5eXkKj6k0BYEdADQ0NODl5VXiYbBDhw7h8ePHeOeddwA8f826dOmCjRs3IiAgAADQvHnzUg/FhYeHY8GCBVizZg28vb1x9epVjB07FlZWVlKILklISAgePXpU6PC9i4uLQpBv2bIlbt26hWXLljFsEpVCV1f3lUYVfXx8KrAaqgoMm/RGGD58OMaMGQMA+O677wqtz8/PBwAcOHCg0GFobW1tAMDu3bsxbtw4LF++HC1btoSBgQGWLl2KU6dOKbR/eeRNJpNJ/Rfn5ZAohCi0rCRmZmYwNjYuFMYKJkEZGBjg4cOHCutenG1d3D5fPM+zoM6Xlz19+rRMNZb0eDZu3IgHDx4onFOVn5+Pc+fOYd68eWUOujNmzMBHH32ETz75BADQsGFDPH78GJ9++im+/vprqKmVPCdy/fr16NGjR7EjyC9q0aIFgoODy1QXEdGbjLPR6Y3QrVs35ObmIjc3F127di20vkGDBtDW1kZycjIcHR0VbjY2NgCAEydOoFWrVvD390fTpk3h6OiIa9euvXJtbm5uOHnypMKyiIgIuLm5lbkPNTU19OvXD8HBwbh9+3a56mjQoEGRdTg7O0thz8zMDCkpKdL6K1euFDlrPCoqSvr52bNniImJKfYw1v379/Hzzz9j586diI2NVbj9999/+P3338v8GJ48eVIoUKqrq0MIUSgkv+zGjRsICwvDxx9/XKZ9nTt3DlZWVmWujYjoTcWRTXojqKurS4dxixolMzAwwMSJEzFu3Djk5+ejdevWyMzMREREBPT19TF06FA4Ojpiy5YtOHjwIOzt7bF161ZER0fD3t7+lWqbNGkS+vXrBw8PD3Ts2BH79+9HSEgIjhw5olQ/AQEBCA8Ph7e3N+bOnQsvLy/o6enh77//RmRkJN56660St58wYQKaNWuGefPmoX///oiMjMTq1auxZs0aqc3bb7+N1atXo0WLFsjPz8dXX31V5DmU3333HZycnODm5oZvvvkG6enpGD58eJH73bp1K0xMTPDhhx8WCoo9evTAhg0b0KNHD5w+fRpDhgzB0aNHi50E9d5772HFihVo2rSpdBh9xowZ6Nmzp/S6r169GqGhoTh69KjCths3boSVlZV0KP9FgYGBsLOzg7u7O3JzcxEcHIy9e/di7969JT6nRETEsElvEENDwxLXz5s3D+bm5li4cCGuX78OY2NjeHh4YNq0aQCAUaNGITY2Fv3794dMJsPAgQPh7++v1MhbUXr37o2VK1di6dKl+OKLL2Bvb4+goKBSLxX0MhMTE5w+fRqLFy/G0qVLcePGDaipqcHJyQn9+/fHl19+WeL2Hh4e2L17N2bOnIl58+bBysoKc+fOVZgctHz5cgwbNgxt27aFtbU1Vq5cWeSJ/4sWLcLixYtx7tw51K9fHz///HOh82QLbNy4Ee+//36Rh7j79u2L/v374+7du3jy5AkSEhJKPGw/ffp0yGQyTJ8+Hbdv34aZmRnee+89LFiwQGqTlpZWaES6YIKSn59fkf8Zyc3NxcSJE3H79m3I5XK4u7vjwIEDePfdd4uthYiInpOJ0o4tVbLMzEwYGRkhIyOj1HDwpjp79iw8PT0RMx/weLVBtRrl7A3AczovYVGdFVxn89y5c4UmThER0etDmbzGkc0aqGBWcdydKi6kkhU83pdnVRMREVH1xbBZAyUlJQEAfNeU3O51lZSUxEthEBER1RAMmzVQwbenBPsDbtZVW0tlirvzPGAX9+0xVPXs7OxKnfVNRERvFobNGqjgWxTcrN+sczYLvMq3SBAREVHl4nU2iYiIiEhlGDaJiIiISGUYNomIiIhIZRg2iYiIiEhlGDaJiIiISGUYNomIiIhIZRg2iYiIiEhlGDaJiIiISGUYNomIiIhIZRg2iYiIiEhlGDaJiIiISGUYNomIiIhIZRg2iYiIiEhlGDaJiIiISGUYNomIiIhIZRg2iYiIiEhlGDaJiIiISGUYNomIiIhIZRg2iYiIiEhlGDaJiIiISGU0qroAKr+4O5W/z6xcICkNsDMF5FqVu++qeLxERET0ahg2ayBTU1PoynXguya7qkupdLpyHZiamlZ1GURERFRGDJs1kK2tLeLiE5CWllbp+46Li4Ovry+Cg4Ph5uZW6fs3NTWFra1tpe+XiIiIyodhs4aytbWt0tDl5uYGDw+PKts/ERER1QycIEREREREKqOysLlmzRrY29tDR0cHnp6eOHHihKp2RURERETVlErC5q5du/Dll1/i66+/xrlz59CmTRu88847SE5OVsXuiIiIiKiaUknYXLFiBT7++GN88skncHNzQ2BgIGxsbLB27VpV7I6IiIiIqqkKD5u5ubmIiYlBly5dFJZ36dIFERERFb07IiIiIqrGKnw2elpaGvLy8mBhYaGw3MLCAqmpqYXa5+TkICcnR7qfmZlZ0SURERERURVR2QQhmUymcF8IUWgZACxcuBBGRkbSzcbGRlUlEREREVElq/CwaWpqCnV19UKjmPfu3Ss02gkAU6dORUZGhnS7detWRZdERERERFWkwsOmlpYWPD09cfjwYYXlhw8fRqtWrQq119bWhqGhocKNiIiIiF4PKvkGofHjx+Ojjz6Cl5cXWrZsiR9++AHJyckYNWqUKnZHRERERNWUSsJm//79cf/+fcydOxcpKSl466238Ntvv6FevXqq2B0RERERVVMq+250f39/+Pv7q6p7IiIiIqoB+N3oRERERKQyDJtEREREpDIMm0RERESkMgybRERERKQyDJtEREREpDIMm0RERESkMgybRERERKQyDJtEREREpDIMm0RERESkMgybRERERKQyDJtEREREpDIMm0RERESkMgybRERERKQyDJtEREREpDIMm0RERESkMgybRERERKQyDJtEREREpDIMm0RERESkMgybRERERKQyDJtEREREpDIMm0RERESkMgybRERERKQyDJtEREREpDIMm0RERESkMgybRERERKQyDJtEREREpDIMm0RERESkMgybRERERKQyDJtEREREpDIMm0RERESkMgybRERERKQyDJtEREREpDIMm0RERESkMgybRERERKQyDJtEREREpDIMm0RERESkMgybRERERKQyGlVdAFWuJ0+eID4+vtzbx8XFKfxbHq6urtDV1S339kRERFRzMGy+YeLj4+Hp6fnK/fj6+pZ725iYGHh4eLxyDURERFT9MWy+YVxdXRETE1Pu7bOyspCUlAQ7OzvI5fJy10BERERvBpkQQlR1ES/KzMyEkZERMjIyYGhoWNXlEBEREdFLlMlrnCBERERERCrDsElEREREKsOwSUREREQqw7BJRERERCrDsElEREREKsOwSUREREQqw7BJRERERCrDsElEREREKsOwSUREREQqw7BJRERERCrDsElEREREKsOwSUREREQqw7BJRERERCrDsElEREREKsOwSUREREQqw7BJRERERCrDsElEREREKqNR1QW8TAgBAMjMzKziSoiIiIioKAU5rSC3laTahc1Hjx4BAGxsbKq4EiIiIiIqyaNHj2BkZFRiG5koSyStRPn5+bhz5w4MDAwgk8mquhx6SWZmJmxsbHDr1i0YGhpWdTlENQI/N0Tlw89O9SWEwKNHj2BtbQ01tZLPyqx2I5tqamqoW7duVZdBpTA0NOQHn0hJ/NwQlQ8/O9VTaSOaBThBiIiIiIhUhmGTiIiIiFSGYZOUoq2tjVmzZkFbW7uqSyGqMfi5ISoffnZeD9VughARERERvT44sklEREREKsOwSUREREQqw7BJRERERCrDsElEREREKsOw+ZpKTU3F2LFj4ejoCB0dHVhYWKB169ZYt24dnjx5UtXlKXBxcYGWlhZu375d1aXQG666f27Cw8Mhk8mkm1wuh7u7O3744YeqLo3ecNX9swM8/8abH374Ad7e3tDX14exsTG8vLwQGBhYbWp8XVW7bxCiV3f9+nX4+PjA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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "# Group our dataset with our 'Group' variable\n", + "grouped = df.groupby('category')['value']\n", + "\n", + "# Init a figure and axes\n", + "fig, ax = plt.subplots(figsize=(8, 6))\n", + "\n", + "# Create the plot with different colors for each group\n", + "boxplot = ax.boxplot(x=[group.values for name, group in grouped],\n", + " labels=grouped.groups.keys(),\n", + " patch_artist=True,\n", + " medianprops={'color': 'black'}\n", + " ) \n", + "\n", + "# Define colors for each group\n", + "colors = ['orange', 'purple', '#69b3a2']\n", + "\n", + "# Assign colors to each box in the boxplot\n", + "for box, color in zip(boxplot['boxes'], colors):\n", + " box.set_facecolor(color)\n", + " \n", + "# Add the p value and the t\n", + "p_value_text = f'p-value: {p_value}'\n", + "ax.text(0.7, 50, p_value_text, weight='bold')\n", + "f_value_text = f'F-value: {F_statistic}'\n", + "ax.text(0.7, 45, f_value_text, weight='bold')\n", + "\n", + "# Add the mean for each group\n", + "ax.text(1.2, mean_groupA, f'Mean of Group A: {mean_groupA}', fontsize=10)\n", + "ax.text(2.2, mean_groupB, f'Mean of Group B: {mean_groupB}', fontsize=10)\n", + "ax.text(2, mean_groupC, f'Mean of Group C: {mean_groupC}', fontsize=10)\n", + "\n", + "# Add a title and axis label\n", + "ax.set_title('One way Anova between group A, B and C')\n", + "\n", + "# Add a legend\n", + "legend_labels = ['Group A', 'Group B', 'Group C']\n", + "legend_handles = [plt.Rectangle((0,0),1,1, color=color) for color in colors]\n", + "ax.legend(legend_handles, legend_labels)\n", + "\n", + "# Display it\n", + "plt.show()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Violin plot with statistical elements" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": { + "tags": [] + }, + "outputs": [ + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAApsAAAIOCAYAAAD3OcaUAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjUuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8qNh9FAAAACXBIWXMAAA9hAAAPYQGoP6dpAACTCUlEQVR4nOzdd3xT5f4H8M9JmqTp3gsKLbS0ZY8iU0GZigKisoXCvYoWFJmKyhCUDaKi4ICyZClDudwrQwFFQAqCsncpowVK90rb5Pn90V8joU3blLYZ/bxfr7xsTp7znG9yYvn2mZIQQoCIiIiIqArIzB0AEREREdkuJptEREREVGWYbBIRERFRlWGySURERERVhskmEREREVUZJptEREREVGWYbBIRERFRlWGySURERERVhskmEREREVUZJptklY4cOYKXXnoJ/v7+UCqV8PPzw4svvojDhw+bOzSL9+mnn0KSJDRu3NjcoVSquLg4SJKEhQsXVlqdt2/fxowZM3Dy5MlKq5Oq16lTpyBJEhQKBRISEh6prqLv2IMPFxcXNGvWDEuWLIFWq62kqCtHUFAQoqKiylU2PT0dH330ESIjI+Hi4gKVSoWgoCCMHDkSf/75Z9UGSjaPySZZnc8++wwdOnTAzZs3MX/+fOzduxcLFy7ErVu30LFjRyxdutTcIVq0lStXAgDOnDmDP/74w8zRWLbbt2/jgw8+YLJpxb755hsAQEFBAdasWVMpdb7xxhs4fPgwDh8+jM2bN6NDhw4YN24cJk+eXCn1V7crV66gRYsWmDt3Lp588kls2LABu3fvxgcffIA7d+6gVatWSEtLM3eYZMXszB0AkSl+//13vPXWW3jmmWewbds22Nn98xUeOHAgnn/+eYwdOxYtWrRAhw4dzBipZTp27Bj++usv9OrVCzt37sSKFSvQpk0bc4dFVio/Px+SJBn8f2hJNBoNvv32WzRr1gxJSUlYuXIl3n777Ueut06dOmjbtq3+ec+ePXH69Gls2LABixYteuT6q5NWq8Xzzz+PpKQkHD582KDHo1OnThg+fDj+97//QaFQmDFKsnZs2SSrMmfOHEiShGXLlhX7B87Ozg5ffPEFJEnC3Llz9cdnzJgBSZJw5swZDBo0CK6urvD19cXIkSOL/bUuhMAXX3yB5s2bQ61Ww93dHS+++CKuXr1aalxnzpyBJEn47rvv9MeOHz8OSZLQqFEjg7K9e/dGq1at9M83bdqE7t27w9/fH2q1GhEREXjnnXeQlZWlL7N27VpIklTiMIGZM2dCoVDg9u3bpcYIACtWrAAAzJ07F+3bt8fGjRuRnZ1tUObB7ujFixcjODgYTk5OaNeuHY4cOVKszh9//BHt2rWDg4MDnJ2d0a1bN4M4t2/fDkmS8PPPPxc7d9myZZAkCX///TeAwmR44MCBCAoKglqtRlBQEAYNGoTr16+X+d6K6HQ6fPTRR6hTpw7s7e0RGRlZ4rUvXbqEwYMHw8fHByqVChEREfj888/1r+/fvx+tW7cGAIwYMULfbTpjxgzs3LkTkiQhNjZWX37Lli2QJAm9evUyuE7Tpk3xwgsv6J+b8h3bu3cvunTpAhcXFzg4OKBDhw7F3osp3++SCCEwe/Zs1K1bV/957dmzB507d0bnzp0NPg9JkrB27VpMmDABtWrVgkqlwuXLlwEUtpg3a9YM9vb28PDwwPPPP49z584ZXOvhOotERUUhKChI/7zoOzh//vxy3Utjtm/fjvv37+Pf//43hg8fjosXL+LgwYPlPt8Urq6u5UrIyvsdX7VqFSRJwr59+/D666/Dy8sLnp6e6NevX7H/1/Pz8zF58mT4+fnBwcEBHTt2xNGjR8sV9/bt23Hq1ClMmTLF6NCap59+Gg4ODuWqj6hEgshKFBQUCAcHB9GmTZtSyz322GPCwcFBFBQUCCGEmD59ugAgwsLCxLRp08SePXvE4sWLhUqlEiNGjDA495VXXhEKhUJMmDBB/PTTT2L9+vUiPDxc+Pr6isTExFKv6+/vL1599VX987lz5wq1Wi0AiFu3bgkhhMjPzxcuLi5i8uTJ+nKzZs0SH3/8sdi5c6fYv3+/WL58uQgODhZPPvmkvoxGoxF+fn5iyJAhBtfMz88XAQEB4qWXXio1NiGEyM7OFq6urqJ169ZCCCG++eYbAUCsWrXKoNy1a9cEABEUFCR69uwptm/fLrZv3y6aNGki3N3dRWpqqr7st99+KwCI7t27i+3bt4tNmzaJVq1aCaVSKX777Td9jD4+PsViF6LwXrVs2VL//LvvvhPTpk0T27ZtEwcOHBAbN24UnTp1Et7e3uLevXulvr+iuAMDA0XHjh3Fli1bxHfffSdat24tFAqFOHTokL7smTNnhKurq2jSpIlYs2aN2L17t5gwYYKQyWRixowZQggh0tLSRExMjAAg3n//fXH48GFx+PBhcePGDZGRkSEUCoWYPXu2vs7XXntNqNVq4ejoKPLy8oQQQty5c0dIkiS++OILfbnyfsfWrl0rJEkSffv2FVu3bhU7duwQzz77rJDL5WLv3r36cqZ8v0syZcoUAUC8+uqr4qeffhJff/21qFOnjvD39xedOnXSl9u3b58AIGrVqiVefPFF8eOPP4r//Oc/4v79+2L27NkCgBg0aJDYuXOnWLNmjahXr55wdXUVFy9e1NfRqVMngzqLDB8+XNStW7dC97I03bp1EyqVSiQnJ4vLly8LSZJEVFRUuc4tSVFc8+bNE/n5+SI/P18kJSWJFStWCDs7O/Hee++VWUd5v+NF37169eqJN954Q+zatUt88803wt3d3eB3gxCFn58kSWLSpEli9+7dYvHixaJWrVrCxcVFDB8+vNR4Xn31VQFAnDt3rkKfCVF5MNkkq5GYmCgAiIEDB5ZabsCAAQKAuHPnjhDin3+M58+fb1AuOjpa2NvbC51OJ4QQ4vDhwwKAWLRokUG5GzduCLVabZAglmTo0KGiXr16+uddu3YVr7zyinB3dxerV68WQgjx+++/CwBi9+7dJdah0+lEfn6+OHDggAAg/vrrL/1r06dPF0qlUv++hBBi06ZNAoA4cOBAqbEJIcSaNWsEALF8+XIhhBAZGRnCyclJPP744wbliv5BbdKkiT5hF0KIo0ePCgBiw4YNQgghtFqtCAgIEE2aNBFarVZfLiMjQ/j4+Ij27dvrj40fP16o1WqDRPXs2bMCgPjss8+MxlxQUCAyMzOFo6Oj+OSTT0p9f0VxBwQEiJycHP3x9PR04eHhIbp27ao/1qNHD1G7dm2RlpZmUMeYMWOEvb29SE5OFkIIERsbKwCImJiYYtfr2LGjeOqpp/TPQ0JCxKRJk4RMJtPfj6JkvCjhKu93LCsrS3h4eIjnnnvOoJxWqxXNmjUTjz32mP5Yeb/fJUlOThYqlUoMGDDA4HhRnCUlm0888YRB2ZSUFKFWq8UzzzxjcDw+Pl6oVCoxePBg/TFTk83y3Etj4uLihEwmM/h90alTJ+Ho6CjS09PLPL8kRXGV9IiKijL4/6W8jH3Hi5LN6Ohog/Lz588XAERCQoIQQohz584JAGLcuHEG5Yq+e2Ulmz179hQARG5ursmxE5UXu9HJ5gghAACSJBkc7927t8Hzpk2bIjc3F3fv3gUA/Oc//4EkSRg6dCgKCgr0Dz8/PzRr1gz79+8v9bpdunTB1atXce3aNeTm5uLgwYPo2bMnnnzySezZswdAYbeoSqVCx44d9eddvXoVgwcPhp+fH+RyORQKBTp16gQABt2Qr7/+OgDg66+/1h9bunQpmjRpgieeeKLMz2XFihVQq9UYOHAgAMDJyQkvvfQSfvvtN1y6dKlY+V69ekEulxt8XgD03X0XLlzA7du38fLLL0Mm++dXiZOTE1544QUcOXJE30U/cuRI5OTkYNOmTfpyMTExUKlUGDx4sP5YZmYm3n77bYSEhMDOzg52dnZwcnJCVlZWsS5ZY/r16wd7e3v9c2dnZzz33HP49ddfodVqkZubi59//hnPP/88HBwcDO71M888g9zc3BKHCzysS5cu+P3335GTk4Pr16/j8uXLGDhwIJo3b25wv+vUqYPQ0FAA5f+OHTp0CMnJyRg+fLhBOZ1Oh549eyI2NtZgmAVQ9ve7JEeOHIFGo0H//v0Njrdt29agW/tBDw4JAIDDhw8jJyen2KznwMBAPPXUUyZ1ez+srHtZmpiYGOh0OowcOVJ/bOTIkcjKyjL4HlbE2LFjERsbi9jYWOzbtw+zZ8/G5s2bMWjQoDLPNfU7XtJ9Bf75/3Dfvn0AgCFDhhiU69+/v8WOpaWah8kmWQ0vLy84ODjg2rVrpZaLi4uDg4MDPDw8DI57enoaPFepVACAnJwcAMCdO3cghICvry8UCoXB48iRI0hKSir1ul27dgVQmGAcPHgQ+fn5eOqpp9C1a1f9P7h79+5Fhw4doFarART+w/P444/jjz/+wIcffoj9+/cjNjYWW7duNYgNAHx9fTFgwAB8+eWX0Gq1+Pvvv/Hbb79hzJgxpcYFAJcvX8avv/6KXr16QQiB1NRUpKam4sUXXwTwzwx1Uz6v+/fvAwD8/f2LnRsQEACdToeUlBQAQKNGjdC6dWvExMQAKJyUsG7dOvTp08fgPg0ePBhLly7Fv//9b+zatQtHjx5FbGwsvL29DT6L0vj5+ZV4LC8vD5mZmbh//z4KCgrw2WefFbvPzzzzDACUea+Bwvut0Whw8OBB7NmzB15eXmjRogW6du2KvXv3AgB+/vln/fcCKP937M6dOwCAF198sVi5efPmQQiB5ORkg3jKul8lKbqHvr6+xV4r6RhQ/H6X9T0oer0iyrqXxuh0OqxatQoBAQFo1aqV/vvetWtXODo66scuV1Tt2rURGRmJyMhIdO7cGVOmTMHUqVPx3XffYdeuXaWea+p3vLz/Hz78WdnZ2RU7tyR16tQBgDJ/rxI9Cv7ZQ1ZDLpfjySefxE8//YSbN2+idu3axcrcvHkTx48fx9NPP23QKlceXl5ekCQJv/32m/4X+oNKOvag2rVro0GDBti7dy+CgoIQGRkJNzc3dOnSBdHR0fjjjz9w5MgRfPDBB/pzfvnlF9y+fRv79+/Xt2YCQGpqaonXGDt2LNauXYsffvgBP/30E9zc3Iq1aJRk5cqVEELg+++/x/fff1/s9dWrV+PDDz806TMr+oespLULb9++DZlMBnd3d/2xESNGIDo6GufOncPVq1eRkJCAESNG6F9PS0vDf/7zH0yfPh3vvPOO/rhGoymWWJUmMTGxxGNKpRJOTk5QKBSQy+V4+eWXMXr06BLrCA4OLvM6bdq0gZOTE/bu3Yu4uDh06dIFkiShS5cuWLRoEWJjYxEfH2+QbJb3O+bl5QWgcJmvB2c9P8hYMmiKontYlNw+KDExscTWzYd7DMr6HhS9FwCwt7cvcdKSseS+rHtpzN69e/UtfyUlXEeOHMHZs2fRsGFDo3WYqqjF8a+//kKPHj1KLFNZ3/EHFb2/xMRE1KpVS3+8oKCgXIl+jx498NVXX2H79u0GMRFVJrZsklWZMmUKhBCIjo4u1o2m1Wrx+uuvQwiBKVOmmFz3s88+CyEEbt26pW+1ePDRpEmTMuvo2rUrfvnlF+zZswfdunUDADRo0AB16tTBtGnTkJ+fb5B8FP3D/XDi8eWXX5ZYf6tWrdC+fXvMmzcP3377LaKiouDo6FhqTFqtFqtXr0b9+vWxb9++Yo8JEyYgISEB//vf/8p8fw8KCwtDrVq1sH79ev3QBQDIysrCli1b9DPUiwwaNAj29vZYtWoVVq1ahVq1aqF79+4Gn4UQothn8c0335i0WPbWrVuRm5urf56RkYEdO3bg8ccfh1wuh4ODA5588kmcOHECTZs2LfFeF/0DXlrroEKhwBNPPIE9e/bgl19+0d/vxx9/HHZ2dnj//ff1yWeR8n7HOnToADc3N5w9e7bEcpGRkVAqleX+TIxp06YNVCpVsW7lI0eOlHsFgHbt2kGtVmPdunUGx2/evIlffvnF4P0HBQXh4sWL0Gg0+mP379/HoUOHSqy7rHtpzIoVKyCTybB9+/Zi3/e1a9cCKLk1/1EUrcXq4+NjtExlfccfVDS7/9tvvzU4vnnzZhQUFJR5fp8+fdCkSRPMmTMHp0+fLrHMrl27iq1aQWQSs4wUJXoEn376qZDJZKJt27Zi3bp14tdffxXr1q0T7dq1EzKZTHz66acG5YsmUDw8m7loAP61a9f0x1599VXh4OAgJk2aJHbs2CF++eUX8e2334rXX3/dYEaxMVu2bNFPGHhw0s6IESMEAOHu7m4wmSYpKUm4u7uLZs2a6WccDxw4UISGhhqdmFI0KUiSJIOZvsbs2LFDP4O2JPfu3RMqlUr07dtXCPHPJIgFCxYUKwtATJ8+Xf+8aBLCM888I3744QexefNm0bp1a4PZ6A8aNGiQ8PHxEUqlUrz77rvFXn/iiSeEh4eH+Prrr8WePXvE+++/L/z9/YWbm1uZEx0ensG8detW8f3334vWrVsLOzs7cfDgQX3ZM2fOCHd3d/HYY4+JmJgYsW/fPvHjjz+KxYsXG8z0zcrKEmq1WnTo0EHs27dPxMbG6lcWEEKIRYsW6e93XFyc/viTTz4pAIimTZsWi7O837G1a9cKmUwmBgwYIL777jtx4MAB8f3334upU6eK1157TV/OlO93SYpmo48aNUr89NNP4ptvvhGBgYHC39/f4LMomiD03XffFaujaDb6yy+/LP773/+KtWvXipCQkGKz0Q8ePCgAiBdffFHs2rVLrF+/XjRv3lzUrVu31Nnopd3LhyUlJQmVSiWefvppo2VatmwpvL299asGFH1WJf3/9qCiuN544w396gR79+4Vs2bNEg4ODqJu3brFJp09rLzf8aKYYmNjDc4vug/79u3THxs6dKiQJElMnjxZPxs9ICCgXLPRhRDi8uXLol69esLJyUlMmjRJ/Pe//xUHDhwQa9asEb179xaSJBlM7iMyFZNNskqHDx8WL774ovD19RV2dnbCx8dH9OvXr8QlUUz9x3jlypWiTZs2wtHRUajValG/fn0xbNgwcezYsTLjSklJETKZzGD5GyH+Scr69etX7JxDhw6Jdu3aCQcHB+Ht7S3+/e9/iz///NPoP34ajUaoVCrRs2fPMuMRQoi+ffsKpVIp7t69a7TMwIEDhZ2dnUhMTDQp2RRCiO3bt4s2bdoIe3t74ejoKLp06SJ+//33Eq+ze/dufXJWUqJ88+ZN8cILLwh3d3fh7OwsevbsKU6fPi3q1q1b7mRz3rx54oMPPhC1a9cWSqVStGjRQuzatavE8iNHjhS1atUSCoVCeHt7i/bt24sPP/zQoNyGDRtEeHi4UCgUxd7/X3/9JQCI0NBQg3M++ugjAUCMHz++xFjL+x07cOCA6NWrl/Dw8BAKhULUqlVL9OrVyyDhe9RkU6fTiQ8//FD/eTVt2lT85z//Ec2aNRPPP/+8vlxpyaYQhUtpNW3aVCiVSuHq6ir69Okjzpw5U6zc6tWrRUREhLC3txcNGzYUmzZtMjobvbz38kFLliwRAMT27duNllm+fLkAILZs2SKEEOKzzz4TAMRPP/1Uat0lzUa3t7cXDRo0EG+99ZZ+hnhpyvsdNyXZ1Gg0YsKECcLHx0fY29uLtm3bisOHD5fr/5siqampYtasWaJly5bCyclJKBQKUadOHTF06FCj/z8TlZckxAP9X0Rk8Xbs2IHevXtj586d+gktRJXp2rVrCA8Px/Tp0/Huu+9W+/Xj4uIQHByMBQsWYOLEiVV+vf79++PatWsGi/QTUeXhBCEiK3H27Flcv34dEyZMQPPmzfH000+bOySyAX/99Rc2bNiA9u3bw8XFBRcuXMD8+fPh4uKCf/3rX+YOr8oJIbB///5iY06JqPIw2SSyEtHR0fj999/RsmVLrF69utisYKKKcHR0xLFjx7BixQqkpqbC1dUVnTt3xkcffVQpM94tnSRJpa5FSkSPjt3oRERERFRluPQREREREVUZJptEREREVGWYbBIRERFRlbG4CUI6nQ63b9+Gs7MzJ0AQERERWSAhBDIyMhAQEACZrPS2S4tLNm/fvo3AwEBzh0FEREREZbhx4wZq165dahmLSzadnZ0BFAbv4uJi5miIiIiI6GHp6ekIDAzU522lsbhks6jr3MXFhckmERERkQUrz5BHThAiIiIioirDZJOIiIiIqgyTTSIiIiKqMhY3ZpOIiIhqDq1Wi/z8fHOHQSVQKBSQy+WPXA+TTSIiIqp2QggkJiYiNTXV3KFQKdzc3ODn5/dIa58z2SQiIqJqV5Ro+vj4wMHBgRu5WBghBLKzs3H37l0AgL+/f4XrYrJJRERE1Uqr1eoTTU9PT3OHQ0ao1WoAwN27d+Hj41PhLnVOECIiIqJqVTRG08HBwcyRUFmK7tGjjKtlsklERERmwa5zy1cZ94jJJhERERFVGY7ZJCIiIsuRFQ9okqrnWiovwLFO9VyrBmOySURERJYhKx7YEQbocqvnejJ74LkLJiWciYmJmDNnDnbu3ImbN2/C1dUVoaGhGDp0KIYNG2bx41Bnz56NqVOn4qOPPsI777xTLddkNzoRERFZBk1S9SWaQOG1TGhFvXr1Klq0aIHdu3dj9uzZOHHiBPbu3Ytx48Zhx44d2Lt3r9FzLWXh+piYGEyePBkrV66stmsy2SQiIiIqh+joaNjZ2eHYsWPo378/IiIi0KRJE7zwwgvYuXMnnnvuOX1ZSZKwfPly9OnTB46Ojvjwww8BAMuWLUP9+vWhVCoRFhaGtWvX6s+Ji4uDJEk4efKk/lhqaiokScL+/fsBAPv374ckSdi5cyeaNWsGe3t7tGnTBqdOnSoz/gMHDiAnJwczZ85EVlYWfv3118r5YMrAZJOIiIioDPfv38fu3bsxevRoODo6lljm4Znb06dPR58+fXDq1CmMHDkS27Ztw9ixYzFhwgScPn0ao0aNwogRI7Bv3z6T45k0aRIWLlyI2NhY+Pj4oHfv3mW2nq5YsQKDBg2CQqHAoEGDsGLFCpOvWxFMNomIiIjKcPnyZQghEBYWZnDcy8sLTk5OcHJywttvv23w2uDBgzFy5EjUq1cPdevWxcKFCxEVFYXo6Gg0aNAA48ePR79+/bBw4UKT45k+fTq6deuGJk2aYPXq1bhz5w62bdtmtHx6ejq2bNmCoUOHAgCGDh2K77//Hunp6SZf21ScIERENVJ2XoG5Q6hyDkr+iieqbA+3Xh49ehQ6nQ5DhgyBRqMxeC0yMtLg+blz5/Dqq68aHOvQoQM++eQTk+No166d/mcPDw+EhYXh3LlzRsuvX78e9erVQ7NmzQAAzZs3R7169bBx48ZiMVU2/iYiohqp4bRd5g6hysXN7WXuEIhsRkhICCRJwvnz5w2O16tXD8A/Wzs+qKTu9oeTVSGE/phMJtMfK2LKxKLSFmBfuXIlzpw5Azu7f1I/nU6HFStWVHmyyW50IiIiojJ4enqiW7duWLp0KbKysipUR0REBA4ePGhw7NChQ4iIiAAAeHt7AwASEhL0rz84WehBR44c0f+ckpKCixcvIjw8vMSyp06dwrFjx7B//36cPHlS//j1118RGxuL06dPV+j9lBdbNomoRjo7s0el1VWQW4Br++KAB1ojiuRqdRgQGwcA2NQ6CPZyI3/jyyTU6xIMuUJeaXERUeX64osv0KFDB0RGRmLGjBlo2rQpZDIZYmNjcf78ebRq1arU8ydNmoT+/fujZcuW6NKlC3bs2IGtW7fql0xSq9Vo27Yt5s6di6CgICQlJeH9998vsa6ZM2fC09MTvr6+eO+99+Dl5YW+ffuWWHbFihV47LHH8MQTTxR7rV27dlixYgU+/vhj0z4MEzDZJKIaqTLHMybHp8NeJgEofQ9he7nMeLIJQJuUA+e6bpUWFxFVrvr16+PEiROYPXs2pkyZgps3b0KlUqFhw4aYOHEioqOjSz2/b9+++OSTT7BgwQK8+eabCA4ORkxMDDp37qwvs3LlSowcORKRkZEICwvD/Pnz0b1792J1zZ07F2PHjsWlS5fQrFkz/Pjjj1AqlcXK5eXlYd26dcUmLxV54YUXMGfOHMybN6/E8yuDJEQJf4qbUXp6OlxdXZGWlgYXFxdzh0NEVKZr+64hLzOvxNdytTr0OXIVAPBD23qlJpv2bvao+3jdKomRyJLk5ubi2rVrCA4Ohr29/T8vWMEOQua2f/9+PPnkk0hJSYGbm1uVX8/YvTIlX2PLJhHRI8hJyTGaaJoqNzUXmgwNVM6qSqmPyOo41ilM/rg3uk1hsklE9AjS4tMqvT6fRj6VWieRVXGswwTQxnA2OhFRBem0OmTczqjUOtNvpkPoLGp0ExFZkM6dO0MIUS1d6JWFySYRUQVl3M6ArkBXqXVq87TIuluxZVWIiCwRk00iogqq7C70qq6XiMgcmGwSEVVAXlYecpJzqqTurLtZKMi1/e00iahmYLJJRFQBVdn6KIRA2g22bhKRbWCySURkIqETSL+RXqXXSItPg4Utg0xEVCFMNomITJR5JxMFmqrt5s7Pzkd2UnaVXoOIqDpwnU0iIhOlXa+eLu6062lw9HaslmsRWYq0+LRq+0PLwcsBrnVcq+VaNRmTTSIiE+Rl5SHrXvUsTZSZmImC3ALY2fNXNdUMafFpWBq2tNomyNnZ22HMhTEmJZyJiYmYM2cOdu7ciZs3b8LV1RWhoaEYOnQohg0bBgcHhyqMuOKCgoJw/fp1AIBMJoOvry+efvppLFy4EO7u7lV6bXajExGZIDUutdquJYRA6vXqux6RuWUnZVfrSgwFuQUmtaJevXoVLVq0wO7duzF79mycOHECe/fuxbhx47Bjxw7s3bvX6Ln5+fmVEfIjmTlzJhISEhAfH49vv/0Wv/76K958880qvy6TTSKictIV6Kp9Dcy062ncUYjIQkRHR8POzg7Hjh1D//79ERERgSZNmuCFF17Azp078dxzz+nLSpKE5cuXo0+fPnB0dMSHH34IAFi2bBnq168PpVKJsLAwrF27Vn9OXFwcJEnCyZMn9cdSU1MhSRL2798PANi/fz8kScLOnTvRrFkz2Nvbo02bNjh16lSZ8Ts7O8PPzw+1atXCk08+iWHDhuHPP/+snA+nFEw2iYjKKS0+rdJ3DCpLgaYA6beqduY7EZXt/v372L17N0aPHg1Hx5LHUkuSZPB8+vTp6NOnD06dOoWRI0di27ZtGDt2LCZMmIDTp09j1KhRGDFiBPbt22dyPJMmTcLChQsRGxsLHx8f9O7d26TW01u3buE///kP2rRpY/K1TcVkk4ioHIROIOVqilmunXIlhcsgEZnZ5cuXIYRAWFiYwXEvLy84OTnByckJb7/9tsFrgwcPxsiRI1GvXj3UrVsXCxcuRFRUFKKjo9GgQQOMHz8e/fr1w8KFC02OZ/r06ejWrRuaNGmC1atX486dO9i2bVup57z99ttwcnKCWq1G7dq1IUkSFi9ebPK1TcVkk4ioHNJvpSM/xzxjrjQZGmTd4X7pRJbg4dbLo0eP4uTJk2jUqBE0Go3Ba5GRkQbPz507hw4dOhgc69ChA86dO2dyHO3atdP/7OHhgbCwsDLrmTRpEk6ePIm///4bP//8MwCgV69e0Gq1Jl/fFJziSERUBqETSL6UbNYYki4kwdHXsdg/dERUPUJCQiBJEs6fP29wvF69egAAtVpd7JySutsf/n9YCKE/JpPJ9MeKmNI1XtbvBy8vL4SEhAAAQkNDsWTJErRr1w779u1D165dy30dU7Flk4ioDOk305GXlWfWGDTpGmQmZJo1BqKazNPTE926dcPSpUuRlVWxnoaIiAgcPHjQ4NihQ4cQEREBAPD29gYAJCQk6F9/cLLQg44cOaL/OSUlBRcvXkR4eLhJ8cjlcgBATk6OSeeZii2bRESl0Gl1SLqQZO4wAABJ55Pg5OcEScbWTSJz+OKLL9ChQwdERkZixowZaNq0KWQyGWJjY3H+/Hm0atWq1PMnTZqE/v37o2XLlujSpQt27NiBrVu36pdMUqvVaNu2LebOnYugoCAkJSXh/fffL7GumTNnwtPTE76+vnjvvffg5eWFvn37lnr9jIwMJCYmQgiBGzduYPLkyfDy8kL79u0r9HmUF1s2iYhKkXIlpVrX/StNXlZeta7zSUSG6tevjxMnTqBr166YMmUKmjVrhsjISHz22WeYOHEiZs2aVer5ffv2xSeffIIFCxagUaNG+PLLLxETE4POnTvry6xcuRL5+fmIjIzE2LFj9UsmPWzu3LkYO3YsWrVqhYSEBPz4449QKpWlXn/atGnw9/dHQEAAnn32WTg6OmLPnj3w9PQ0+bMwBVs2iYiMyM/Ox/1L980dhoGkC0lwDnDmrkJkkxy8HGBnb1etOwg5eJm244+/vz8+++wzfPbZZ6WWM7aCxOuvv47XX3/d6HkRERE4fPhwmXV17NgRp0+fLkfEheLi4spdtrLxtxURkRF3Tt2xuAXVdQU63D1zFwGtAswdClGlc63jijEXxnBvdBvDZJOIqARpN9KQddcylxvKuJ2BzFqZcPJzMncoRJXOtY4rE0Abw2STiOgh+Tn5uHfmnrnDKNWdv+/A3t0edir+GieqSTp37mx1mzxwghAR0QOEEEj4MwHa/Kpd5PhRFWgKkHgy0er+0SGimofJJhHRA5LOJyEnuWrXnKssWXezkHzZvIvNExGVhckmEdH/y0zMtLrk7f6F+8i6Z5ljS4mIACabREQAgNy0XCT8mVB2QQsjhEDC8QTkZZp3hyMiImOYbBJRjVeQW4BbR29Bp9WZO5QK0eZrcevoLWjzLHucKRHVTEw2iahG0+ZrcfPITYvZJaii8rLycPOPm1abMBOR7eKaGURUY+m0Otw6eguaDI25Q6kUuam5uB17G7Ueq8X908lqJedkITMvt1qu5aS0h4fasVquVZMx2SSiGknoBG7H3raamefllXUvC7eP30ZAqwAmnGR1knOyMGPfdhToqqeF3k4mw4wn+5qUcCYmJmLOnDnYuXMnbt68CVdXV4SGhmLo0KEYNmwYHBxM2/6yOp04cQKzZ8/Gr7/+irS0NNSpUwedOnXCpEmT0KBBgyq7LrvRiajGETqBW7G3bHYWd2ZiJhL+TLC4rTaJypKZl1ttiSYAFOh0JrWiXr16FS1atMDu3bsxe/ZsnDhxAnv37sW4ceOwY8cO7N271+i5+fn5lRFyhf3nP/9B27ZtodFo8O233+LcuXNYu3YtXF1dMXXq1Cq9NpNNIqpRdFpdYaJpoVtRVpaMhAwmnESVLDo6GnZ2djh27Bj69++PiIgINGnSBC+88AJ27tyJ5557Tl9WkiQsX74cffr0gaOjIz788EMAwLJly1C/fn0olUqEhYVh7dq1+nPi4uIgSRJOnjypP5aamgpJkrB//34AwP79+yFJEnbu3IlmzZrB3t4ebdq0walTp4zGnZ2djREjRuCZZ57Bjz/+iK5duyI4OBht2rTBwoUL8eWXX1buB/UQJptEVGPoCgrHaNp6olkkIyEDt4/dZsJJVAnu37+P3bt3Y/To0XB0LLnbXZIMh65Mnz4dffr0walTpzBy5Ehs27YNY8eOxYQJE3D69GmMGjUKI0aMwL59+0yOZ9KkSVi4cCFiY2Ph4+OD3r17G2093bVrF5KSkjB58uQSX3dzczP5+qZgsklENULRrPPspGxzh1KtMu9kFs5SL+AsdaJHcfnyZQghEBYWZnDcy8sLTk5OcHJywttvv23w2uDBgzFy5EjUq1cPdevWxcKFCxEVFYXo6Gg0aNAA48ePR79+/bBw4UKT45k+fTq6deuGJk2aYPXq1bhz5w62bdtWYtlLly4BAMLDw02+TmVgsklENq8gtwA3fr+BnBTbmgxUXtlJ2bhx+AbX4SSqBA+3Xh49ehQnT55Eo0aNoNEYrmwRGRlp8PzcuXPo0KGDwbEOHTrg3LlzJsfRrl07/c8eHh4ICwszWo8Q5u3dYLJJRDYtLysP8b/H28zyRhWVm5qLG4duWP16okTmEhISAkmScP78eYPj9erVQ0hICNRqdbFzSupufzhZFULoj8lkMv2xIqZMLHq47iJFM80fjr26MNkkIpuVm5aLG7/fQH62eWeBWgpNhgbxB+O5tSVRBXh6eqJbt25YunQpsrIqNu47IiICBw8eNDh26NAhREREAAC8vb0BAAkJ/2yd++BkoQcdOXJE/3NKSgouXrxotJu8e/fu8PLywvz580t8PTU1tbxvoUK4ziYR2aSse1m4few2xyo+JD8nH/EH41GrTS2o3Yu3xBCRcV988QU6dOiAyMhIzJgxA02bNoVMJkNsbCzOnz+PVq1alXr+pEmT0L9/f7Rs2RJdunTBjh07sHXrVv2SSWq1Gm3btsXcuXMRFBSEpKQkvP/++yXWNXPmTHh6esLX1xfvvfcevLy80Ldv3xLLOjo64ptvvsFLL72E3r17480330RISAiSkpKwefNmxMfHY+PGjY/02ZSGLZtEZHMybmcU7nXORLNE2nwtbh6+icw7meYOhciq1K9fHydOnEDXrl0xZcoUNGvWDJGRkfjss88wceJEzJo1q9Tz+/bti08++QQLFixAo0aN8OWXXyImJgadO3fWl1m5ciXy8/MRGRmJsWPH6pdMetjcuXMxduxYtGrVCgkJCfjxxx+hVCqNXrtPnz44dOgQFAoFBg8ejPDwcAwaNAhpaWlGr1FZJGHuUaMPSU9Ph6urK9LS0uDi4mLucIjIyqRcS8Hd03fNHYZerlaHPkeuAgB+aFsP9nLL+RtfkiT4NvOFa6CruUOhGiY3NxfXrl1DcHAw7O3t9cetYQchc9u/fz+efPJJpKSkVPmSRYDxe2VKvsZudCKyGUnnk3D/0n1zh2E1hBBIPJkIrUYLjxAPc4dDBA+1I2Y82Zd7o9sYJptEZPWEELh76i5Sr6eaOxSrdO/cPWjztPBu6G3uUIjgoXZkAmhjmGwSkVUTOoGEEwnIuJ1h7lCsWvKVZGjztfBt6mt0+RQiMr/OnTubfd1MU1nO4CEiIhMJncDtY7eZaFaStPg07qdORJWOLZtEZJV0Wh1ux95G1r2asc95dcm4nQGhEwhoFQBJxhZOqlrW1kJXE1XGPWLLJhFZHSaaVSszMRO3j99mCydVGYVCAQDIzs42cyRUlqJ7VHTPKsKkls2CggLMmDED3377LRITE+Hv74+oqCi8//77BlssffDBB/jqq6+QkpKCNm3a4PPPP0ejRo0qHCQRUZGirnMmmlUrMzETCScS4N/Sn2M4qdLJ5XK4ubnh7t3CZcocHBz4PbMwQghkZ2fj7t27cHNzg1wur3BdJiWb8+bNw/Lly7F69Wo0atQIx44dw4gRI+Dq6oqxY8cCAObPn4/Fixdj1apVaNCgAT788EN069YNFy5cgLOzc4UDJSIqWqon6y4TzeqQcTsDcoUcvk19zR0K2SA/Pz8A0CecZJnc3Nz096qiTEo2Dx8+jD59+qBXr14AgKCgIGzYsAHHjh0DUPgPwZIlS/Dee++hX79+AIDVq1fD19cX69evx6hRox4pWCKq2ZLOJSH9Vrq5w6hRUq+nws7eDp4NPM0dCtkYSZLg7+8PHx8f5OfnmzscKoFCoXikFs0iJiWbHTt2xPLly3Hx4kU0aNAAf/31Fw4ePIglS5YAAK5du4bExER0795df45KpUKnTp1w6NChEpNNjUYDjUajf56ezn9IiKi41LhUJF9JNncYNVLShSQoHBVwqcVd3ajyyeXySkloyHKZlGy+/fbbSEtLQ3h4OORyObRaLT766CMMGjQIAJCYmAgA8PU17HLx9fXF9evXS6xzzpw5+OCDDyoSOxHVEDnJORa1BWVNlHgyEUonJexd7csuTET0AJNmo2/atAnr1q3D+vXr8eeff2L16tVYuHAhVq9ebVDu4UG+QgijA3+nTJmCtLQ0/ePGjRsmvgUismXaPG3hzGgukWJWRROztPlac4dCRFbGpJbNSZMm4Z133sHAgQMBAE2aNMH169cxZ84cDB8+XD+AtGimepG7d+8Wa+0solKpoFKpKho/Edm4xL8SUZBbYO4wCEB+dj7unbkHv+aPNlmAiGoWk1o2s7Oz9UscFZHL5dDpdACA4OBg+Pn5Yc+ePfrX8/LycODAAbRv374SwiWimiT9ZjoyEzPNHQY9IO1GGjLv8J4QUfmZ1LL53HPP4aOPPkKdOnXQqFEjnDhxAosXL8bIkSMBFHafv/XWW5g9ezZCQ0MRGhqK2bNnw8HBAYMHD66SN0BEtkmbr8XdMxynaYnunroLBy8HyOTcF4SIymZSsvnZZ59h6tSpiI6Oxt27dxEQEIBRo0Zh2rRp+jKTJ09GTk4OoqOj9Yu67969m2tsEpFJki8lQ5vH8YGWKD8nHylXUrgcEhGViyQsbNR9eno6XF1dkZaWBhcXLrNBVBMV5Bbg6s9XbWK7xFytDn2OXAUA/NC2HuxtpDVQZidDvS71IFdyyRqimsiUfM02fusRkU1JuZpiE4mmLdMV6JB6PdXcYRCRFWCySUQWRafVIS0+zdxhUDmkxqXyjwIiKhOTTSKyKJmJmVzL0UoU5BYgOynb3GEQkYVjsklEFiXjdoa5QyATcK96IioLk00ishhCJ5B9jy1l1iTrbhZ3dyKiUjHZJCKLkZOSA51WZ+4wyATaPC006Rpzh0FEFozJJhFZjJzkHHOHQBWQm5Jr7hCIyIIx2SQii8EWMuuUm8Zkk4iMY7JJRBYjLyPP3CFQBeRl8r4RkXFMNonIYuRn55s7BKoA3jciKg2TTSKyCNp8LScHWamC3AIu7k5ERjHZJCKLoNVwIXdrxoX4icgYJptEZBG0eUxWrBnvHxEZw2STiCyCroBd6NaM94+IjGGySUQWgeM1rRuTTSIyhskmEVkEoeUEE2vGCUJEZAyTTSKyCExWrBvvHxEZw2STiCwCkxXrxvtHRMYw2SQiiyAEkxWrxttHREYw2SQiy8BkxaqxZZOIjGGySUQWgcmKdbPFlunExER069YNjo6OcHNzM3c4RFaLySYRWQRbTFZqkqI/FqKioiBJEl577bViZaKjoyFJEqKioqo5uor5+OOPkZCQgJMnT+LixYtGy6Wnp2Pq1Klo1KgR1Go1PD090bp1a8yfPx8pKSnVGLFpOnfuDEmSIEkSZDIZfH198dJLL+H69esm1bNq1Sp9PQ8/7t69qy936tQpdOrUCWq1GrVq1cLMmTPL/P8+KCioWJ3vvPNOiTE0bdoU9vb28PPzw5gxY0x6D1S17MwdABERwJZNq/fA7QsMDMTGjRvx8ccfQ61WAwByc3OxYcMG1KlTx0wBmu7KlSto1aoVQkNDjZZJTk5Gx44dkZ6ejlmzZqFVq1ZQKpW4fPky1q9fj/Xr12P06NElnpuXlwelUllV4ZfLK6+8ok/6rl+/jrfeegtDhw7Fb7/9Vu46BgwYgJ49exoci4qKQm5uLnx8fAAUJuTdunXDk08+idjYWFy8eBFRUVFwdHTEhAkTSq1/5syZeOWVV/TPnZycDF5fvHgxFi1ahAULFqBNmzbIzc3F1atXyx0/VT22bBKRRWCyad0evH8tW7ZEnTp1sHXrVv2xrVu3IjAwEC1atDA8TwjMnz8f9erVg1qtRrNmzfD999/rX9dqtfjXv/6F4OBgqNVqhIWF4ZNPPjGoIyoqCn379sXChQvh7+8PT09PjB49Gvn5+aXGvGzZMtSvXx9KpRJhYWFYu3at/rWgoCBs2bIFa9asKbU19t1330V8fDz++OMPjBgxAk2bNkV4eDieffZZrF+/HtHR0QZ1fvjhh4iKioKrq6s+gdqyZQsaNWoElUqFoKAgLFq0yOAakiRh+/btBsfc3NywatUqAEBcXBwkScLGjRvRvn172Nvbo1GjRti/f3+p7x8AHBwc4OfnB39/f7Rt2xajR4/Gn3/+WeZ5D1Kr1fDz89M/5HI5fvnlF/zrX//Sl/n222+Rm5uLVatWoXHjxujXrx/effddLF68uMzWTWdnZ4P6H0w2U1JS8P7772PNmjUYPHgw6tevj0aNGuG5554z6T1Q1WKySUQWgcmmdXv4/o0YMQIxMTH65ytXrsTIkSOLnff+++8jJiYGy5Ytw5kzZzBu3DgMHToUBw4cAADodDrUrl0bmzdvxtmzZzFt2jS8++672Lx5s0E9+/btw5UrV7Bv3z6sXr0aq1at0idjJdm2bRvGjh2LCRMm4PTp0xg1ahRGjBiBffv2AQBiY2PRs2dP9O/fHwkJCcUS3KLYNm3ahKFDh6JWrVolXkeSJIPnCxYsQOPGjXH8+HFMnToVx48fR//+/TFw4ECcOnUKM2bMwNSpU0uN3ZhJkyZhwoQJOHHiBNq3b4/evXvj/v375T4/OTkZ3333Hdq0aWNwPCgoCDNmzCh3PWvWrIGDgwNefPFF/bHDhw+jU6dOUKlU+mM9evTA7du3ERcXV2p98+bNg6enJ5o3b46PPvoIeXl5+tf27NkDnU6HW7duISIiArVr10b//v1x48aNcsdLVY/JJhFZBCab1u3h+/fyyy/j4MGDiIuLw/Xr1/H7779j6NChBmWysrKwePFirFy5Ej169EC9evUQFRWFoUOH4ssvvwQAKBQKfPDBB2jdujWCg4MxZMgQREVFFUs23d3dsXTpUn2rYq9evfDzzz8bjXfhwoWIiopCdHQ0GjRogPHjx6Nfv35YuHAhAMDb2xsqlUrfaufq6lqsjnv37iE1NRVhYWEGx1u1agUnJyc4OTlh0KBBBq899dRTmDhxIkJCQhASEoLFixejS5cumDp1Kho0aICoqCiMGTMGCxYsKOMTL27MmDF44YUXEBERgWXLlsHV1RUrVqwo9ZwvvvgCTk5OcHR0hKenJy5cuICVK1calKlfvz68vLzKHcfKlSsxePBg/RAKoHCyla+vr0G5oueJiYlG6xo7diw2btyIffv2YcyYMViyZIlBa/HVq1eh0+kwe/ZsLFmyBN9//z2Sk5PRrVs3g6SUzItjNonIIjDZtG4P723v5eWFXr16YfXq1RBCoFevXsUSlrNnzyI3NxfdunUzOJ6Xl2fQ3b58+XJ88803uH79OnJycpCXl4fmzZsbnNOoUSPI5XL9c39/f5w6dcpovOfOncOrr75qcKxDhw4ltmCW5eHWy23btiEvLw9vv/02cnJyDF6LjIwsFkefPn2KxbFkyRJotVqD91SWdu3a6X+2s7NDZGQkzp07V+o5Q4YMwXvvvQcAuHPnDmbPno3u3bvj+PHjcHZ2BoBSk/aHHT58GGfPnsWaNWuKvfbw51TUff7w8QeNGzdO/3PTpk3h7u6OF198Ud/aqdPpkJ+fj08//RTdu3cHAGzYsAF+fn7Yt28fevToUe7Yqeow2SQii8C90a1bSfdv5MiR+lnBn3/+ebHXdbrCBHXnzp3FuqGLuls3b96McePGYdGiRWjXrh2cnZ2xYMEC/PHHHwblFQqFwXNJkvT1G1NS8lNa4vMwb29vuLm54fz58wbHiyZBOTs7IzU11eA1R0fHMq/58BhGSZKKHStrPOqD55bG1dUVISEhAICQkBCsWLEC/v7+2LRpE/7973+X6xoP+uabb9C8eXO0atXK4Lifn1+xFsyimeoPt3iWpm3btgCAy5cvw9PTE/7+/gCAhg0b6st4e3vDy8sL8fHxJsdPVYPd6ERkER5uGSPrUlLLdM+ePZGXl4e8vLwSW5gaNmwIlUqF+Ph4fbdy0SMwMBAA8Ntvv6F9+/aIjo5GixYtEBISgitXrjxyvBERETh48KDBsUOHDiEiIqLcdchkMvTv3x/r1q3DrVu3KhRHw4YNS4yjQYMG+lZNb29vJCQk6F+/dOkSsrOzi9V15MgR/c8FBQU4fvw4wsPDTYqn6JoPt8iWR2ZmJjZv3mwwMahIu3bt8Ouvvxp0be/evRsBAQEICgoq9zVOnDgBAPoks0OHDgCACxcu6MskJycjKSkJdevWNfk9UNVgsklEFoEtm9atpD8W5HI5zp07h3PnzpXYHezs7IyJEydi3LhxWL16Na5cuYITJ07g888/x+rVqwEUtrYdO3YMu3btwsWLFzF16lTExsY+cryTJk3CqlWrsHz5cly6dAmLFy/G1q1bMXHiRJPqmT17NmrVqoU2bdpg5cqV+Pvvv3HlyhVs27YNhw8fLrMbfMKECfj5558xa9YsXLx4EatXr8bSpUsN4njqqaewdOlS/Pnnnzh27Bhee+21Yi25QGHr8bZt23D+/HmMHj0aKSkpJU7KelB2djYSExORmJiIv/76C9HR0bC3t9d3SQNAly5dsHTp0jI/i02bNqGgoABDhgwp9trgwYOhUqkQFRWF06dPY9u2bZg9ezbGjx+vb309evQowsPD9Yn74cOH8fHHH+PkyZO4du0aNm/ejFGjRqF379761uMGDRqgT58+GDt2LA4dOoTTp09j+PDhCA8Px5NPPllmzFQ92I1ORBaBLZvWzdgfCy4uLqWeN2vWLPj4+GDOnDm4evUq3Nzc0LJlS7z77rsAgNdeew0nT57EgAEDIEkSBg0ahOjoaPzvf/97pHj79u2LTz75BAsWLMCbb76J4OBgxMTEoHPnzibV4+npiaNHj2LevHlYsGABrl27BplMhtDQUAwYMABvvfVWqee3bNkSmzdvxrRp0zBr1iz4+/tj5syZBkstLVq0CCNGjMATTzyBgIAAfPLJJzh+/HixuubOnYt58+bhxIkTqF+/Pn744YcyJ/Z8/fXX+PrrrwEUTrJq2rQp/vvf/xpMerpy5QqSkpLK/CxWrFiBfv36wd3dvdhrrq6u2LNnD0aPHo3IyEi4u7tj/PjxGD9+vL5MdnY2Lly4oB8ioFKpsGnTJnzwwQfQaDSoW7cuXnnlFUyePNmg7jVr1mDcuHHo1asXZDIZOnXqhJ9++qnEhJzMQxIWtm1Heno6XF1dkZaWVuYvKSKyHdd/u47c1Fxzh1HpcrU69DlSuMD0D23rwV5umx1KDl4OCGwXaO4waqS4uDgEBwfjxIkTxSZOEVUVU/I12/ytR0RWh93o1o2rCRCRMUw2icgiMFmxbrx/RGQMx2wSkUWwsBE9ZCImm+YTFBTE/3/IorFlk4gsApMVK8fbR0RGMNkkIiIioirDZJOIiIiIqgyTTSKyCKZsE0gWiLePiIzgBCEisgiSjNmKNeP9o4rIziswdwhVykHJNAtgsklEFkJmx44Wa8b7RxXRcNouc4dQpeLm9jJ3CBaBvx2IyCLIFPx1ZM2YbBKRMWzZJCKLIFfIzR0CPQK5kvePTHd2Zo8qv0ZOfj7O3E3EsC/PAgDWjGqIlgG1IeM48WrDZJOILIKdPX8dWTM7Fe8fma46xjTqoIX9Az0n9goZVHYyKOT8A6m6sN+DiCwCk03rZqfm/SPLVKDTlusYVR0mm0RkERSOCnOHQI9A4cD7R5ZJq9MVO1ZQwjGqOkw2icgiKB2V5g6BHoHSifePLFM+WzbNjskmEVkEpZOSC7tbKZmdDAo1WzbJMuVriyeWJR2jqsNkk4gsgiSToHRm65g1UrmozB0CkVF52uILx+exZbNaMdkkIoth72Zv7hCoAtTuanOHQGRUyS2btr1zkaVhsklEFsPB08HcIVAFqD2YbJJl0gkd8nTFE0tNAZPN6sRkk4gshtqTSYs14n0jS2UsqczTFZQ4S52qBpNNIrIYCrWCs5qtjNpdzd2fyGLlFOQbfS23lNeocjHZJCKL4uTrZO4QyASOPo7mDoHIqOz8PKOv5ZTyGlUuJptEZFGc/JlsWhPeL7JkpSWbWUw2qw2TTSKyKPZu9lyz0UqonFVQOXPZI7JMBTotcgtKSzY1EEJUY0Q1F5NNIrIokiTBpbaLucOgcuB9IkuWqdGU+nphMspxm9WBySYRWRyXQCYxlo5/FJClS8/LKbuMJrcaIiEmm0RkcZSOSjh4cc1NS+bo6wg7eztzh0FUIp3QIT237EQyNTe7GqIhJptEZJHcg93NHQKVwr0e7w9ZrnRNLnQoex1NjTafs9KrAZNNIrJIjr6OUDpyzU1LpHJRcbcnsmgpOVnlLptsQlmqGCabRGSRJEmCe322nlkiz1BPc4dAZFRuQT4y8so/FjM1N5u7CVUxJptEZLFcA105LtDCKB2VXFuTLFpSdqZJ5bVCZ1JLKJmOySYRWSxJJsGzAVvRLIlnmCckSTJ3GEQlytdqK5Q43s3OgI5rblYZJptEZNFcA105dtNCqFxUcA5wNncYREbdzUqHgOlJY4FOi+Qc01pEqfyYbBKRRZNkErzCvcwdBgHwbujNVk2yWJqC/Eea7HM3M4NjN6sIk00isnjOAc5Qe6jNHUaN5ujjCEdvR3OHQWRUQmZahVo1ixQILe5mpVdiRFSEySYRWQWfxj7mDqHGkmQSfBrx8yfLlaHJQbqm7B2DypKUncktLKsAk00isgr2rvZc6N1MPOp7QOnEcbNkmXRCh1sZqZVSl4DArfSUSqmL/mFysnnr1i0MHToUnp6ecHBwQPPmzXH8+HH960IIzJgxAwEBAVCr1ejcuTPOnDlTqUETUc3kGebJpZCqmcJBAY9QD3OHQWRUYmY68rQFlVZfVr4G901cPolKZ1KymZKSgg4dOkChUOB///sfzp49i0WLFsHNzU1fZv78+Vi8eDGWLl2K2NhY+Pn5oVu3bsjIyKjs2ImohpEr5PBt4mvuMGoUv2Z+kMnZCUaWKStPg6Tsys8vEjPTKjWBrelMaiKYN28eAgMDERMToz8WFBSk/1kIgSVLluC9995Dv379AACrV6+Gr68v1q9fj1GjRlVO1ERUYzn5OcE5wBkZt/kHbFVzreMKBy9uS0mWSavT4WZ6ctXULXS4kZaMeu5cgaEymPTn6o8//ojIyEi89NJL8PHxQYsWLfD111/rX7927RoSExPRvXt3/TGVSoVOnTrh0KFDJdap0WiQnp5u8CAiKo1vE1/YqdidXpUUagUnBZFFu52RCk0Vtj5m5WtwrwpaTWsik5LNq1evYtmyZQgNDcWuXbvw2muv4c0338SaNWsAAImJiQAAX1/Dbi5fX1/9aw+bM2cOXF1d9Y/AwMCKvA8iqkHkSjl8m7E7vSr5tfCDzI7d52SZUnOzkZJb9VtM3slMR3Z+XpVfx9aZ9JtEp9OhZcuWmD17Nlq0aIFRo0bhlVdewbJlywzKPdzkLIQw2gw9ZcoUpKWl6R83btww8S0QUU3k5OsEt7pu5g7DJnnU94CDJ7vPyTJpCvKrbca4gEB82n0u9v6ITEo2/f390bBhQ4NjERERiI+PBwD4+fkBQLFWzLt37xZr7SyiUqng4uJi8CAiKg/vRt5ckqeS2bvac8cmslg6IRCflgytqL7kL09bgBtVNDa0pjAp2ezQoQMuXLhgcOzixYuoW7cuACA4OBh+fn7Ys2eP/vW8vDwcOHAA7du3r4RwiYj+IZPLENAqAJKMA/grg8xOBv9W/vw8yWIlZKQip6D6u7XTNTlIyuL4zYoyKdkcN24cjhw5gtmzZ+Py5ctYv349vvrqK4wePRpAYff5W2+9hdmzZ2Pbtm04ffo0oqKi4ODggMGDB1fJGyCimk3louJElkri29QXSke2FJNlSs3Jxv0c861/mZCZhuw8jdmub81Mms7ZunVrbNu2DVOmTMHMmTMRHByMJUuWYMiQIfoykydPRk5ODqKjo5GSkoI2bdpg9+7dcHZ2rvTgiYgAwC3IDdn3s7kc0iNwreMKl1ocxkSWKbcgHzfNvLOPgMD1tPsI9fSFnUxu1lisjclrhzz77LN49tlnjb4uSRJmzJiBGTNmPEpcREQm8WvmB02aBnlZnDlqKpWLiovlk8XS6nS4nnofOph/kk6+Tov4tGQEu3lx/U0TcF0LIrIJMjsZAiIDuNuNieQKOQIiOe6VLNet9BRotPnmDkMvMy8Xd7K4Jrgp+FuZiGyGykUF36ZsoTOFX3M/jtMki5WUlYFUTba5wyjmblY60jU55g7DajDZJCKb4lLbBW5BbuYOwyp4hnrCyc/J3GEQlSg7T4OEzDRzh2HUjbRk7p9eTkw2icjm+DTygdpdbe4wLJqjtyM8wzzNHQZRiQp0WlxPuw8BYe5QjNIKHeJT70MnLDdGS8Fkk4hsjiSTEBAZwP3TjVCoFfBv6c8JDmSRhBC4kZaMfJ3W3KGUKbsgD4kZqeYOw+Ix2SQim2Rnb1e4QDkTKgOSTEJA6wDIlVy6hSzTvewMZOTlmjuMckvKyURaruWNK7UkTDaJyGY5eDrAu6G3ucOwKL5NfWHvam/uMIhKlJ2nwZ1M65vpfTM9heM3S8Fkk4hsmns9dy5W/v/cgtzgGuhq7jCISqTV6RCflmzR4zSN0YrC2Dl+s2RMNonI5vk284XKRWXuMMxK7aHmtp5k0W6mpyBPZ72tg9n5Gtzl+pslYrJJRDZPJpehVutakCtq5jhFO5UdAlpx4XayXMk5WUizwPU0TXU3Kx2Z3D+9GCabRFQjKBwKZ2DXNJL0/zPz7TkznyyTpiAft9NTzR1GpbmZlgytzvxba1oSJptEVGM4+jjCK9zL3GFUK5/GPlB7cM1Rsky6/1/myBL2Pa8seboC3EpPMXcYFoXJJhHVKB4hHjVm1xzupkSW7l5WOrIL8swdRqVL1WQjJSfL3GFYDCabRFSjSJJUI/YD5z7xZOmy8zS4m5Vh7jCqzO2MVC6H9P+YbBJRjSNXyBHQOgAyuW3+CpQr5KjVupbNvj+yflqdDvHp1rnMUXlphQ430pIhuBwSk00iqplUzir4NrPNlj//lv5QOCjMHQaRUQmZNaPVLytfg3vZttt6W15MNomoxnKp5QL3eu7mDqNSeTbwhKOPo7nDIDIqLTcHyTVoPOOdzHTk5NveuFRTMNkkohrNO8LbZmZrO/o4wrOBp7nDIDIqX6utcTO1Bf5/xr2wnRn3pmKySUQ1miSTENAqAHYq616HUqFWwL+FPySJC7eTZRJC4GZ6MgqE1tyhVLtcbT4SMtLMHYbZMNkkohrPzt4O/q2sN1GTZIULt8uVNXOHJLIO97MzkZGXa+4wzOZ+TibSNTnmDsMsmGwSEQFw8HSAV4R1Lvju28QX9m725g6DyKjs/DwkZNbclr0iN9NSkK+teS27TDaJiP6fR30POPs7mzsMk7gGusK1jqu5wyAySqvT4UbafZte5qi8CoQW8Wn3a9xySEw2q0Hnzp0hSRKioqLMHQoRlcG3ma/VLPiuclHBp4mPucMgKtWt9BRoasAyR+WVla/Bnax0c4dRrZhs1jCJiYkYMWIEfHx8oFKp0LBhQ3z66aflOvfSpUt44YUX4OHhAbVajZYtW2LDhg1VHDFR9ZIr5AiItPwF32V2MquIk2q2pOwMpGqyzR2GxbmblY4MTc0Zv2rd0y/JJJmZmXjiiSdw6dIlqNVq1K1bF+fOncPYsWNx584dfPTRR0bPvXXrFtq3b4+kpCS4uLjA398fJ06cwODBg5GZmYlXXnmlGt8JUdUqajFMPJlo7lCM8m/hbzUtsFQzZedpavQM7LLcSEtGiKcPlHLbT8Vs+k/ioKAgSJKEd955B9HR0fDw8ICrqyuio6Oh0WiMnpebmws3NzdIkoRPPvlEfzwuLg6SJEGSJOzatQtZWVno27cvgoOD4ejoCJVKhdDQUEybNg15ecYXcH2wnv379xeLd8aMGfpjt2/fxsiRIxEQEAClUol69eph1qxZKCj4p0ti1apV+vri4uKMXvfLL7/EpUuXIEkSjhw5gosXL2L8+PEAgPnz5yMx0fg/rHPnzkVSUhKcnZ1x7tw5XL16FS+88AIAYMqUKaW+XyJrZMljIT3qe8DJz8ncYRAZla/V4jrHaZaqQGhxPfU+dDVg/KZNJ5tFlixZgs2bN8PNzQ3p6elYtmwZpkyZYrS8vb09+vfvDwDYuHGj/njRzwEBAejatStycnLwww8/ICcnBw0aNICPjw8uX76MWbNm4b333nvkuJOSktC2bVvExMQgMzMTERERuHHjBqZNm4ZXX33V5Pp++uknAEBoaCiaNm0KAPqEsaCgAL/88kuZ57Zr1w4BAQEAgH79+gEA7t+/j2PHjpkcD5Gl82nsA5WLytxhGFB7qOEVbp2z5qlm0AmB+LT7yNfVvFnXpsopyKsRi9zXiGSzTp06uHbtGq5evYpBgwYBAD7//HOkpRlv3h8+fDgA4MiRI7h+/ToAYNOmTQCAl19+GXK5HC4uLjhz5gwSExNx4sQJ3LhxA0OHDgVgmKRW1Oeff44bN27A19cXV65cwV9//YXvv/8eQGFr5uXLlwEArq6uCAsLQ1hYGBQK4/sh37hxAwDg4/PPhAJf33/2ho6Pj6+Sc4mslUz+/+Mi7SzjV6VcKUdAqwBIMutcD5RqhoSMVGTlG+89JEMpuVlIsvH90y3jN2gVe/bZZ+HsXLicycCBAwEAeXl5uHjxInbu3Im2bdvqH88//zwAoEOHDggJCQFQmGRevHgRJ0+eBPBPIiqXy7Fu3To0aNAAKpUKkiRh3bp1AAq7vx/V0aNHAQB37tyBj48PJElC3759ARTuxPDHH38AAJ5//nmcP38e58+fR61atYzWV9JSCw8eM3VB60c5l8haKB2V8GvmZ+4wABSO07Szt/3xXWS9knOycD8n09xhWJ2EjDRk2vCC9zXit1ZpidC9e/f0SRsA1K1bV//zsGHDMG3aNGzatAm5uYVfgsceewwREREACscxzpkzR3+en58fbt68iVu3bkGnM74H6oPxaB9Y3PXhltaiZM7Z2RkNGzYsVo+Dg4PRa5SkTp06uHjxIu7cuaM/dvfuXf3PgYGBRs8NDAzE5cuXK3QukbVzDnCG2303pMalmi0Gz1BPOPo4mu36RGXJytPUiC7hqiAgcD31PkI8fKCyM95Daa1qRMvmjh07kJFR2ES9efNmAIBSqUSDBg0QFRUFIYT+8eAEm2HDhkGSJPz5559YtmwZgH9aNYHCLnYAaNCgAeLi4nDo0CE0a9aszHge7Iq+ePEiAGDv3r1ITU01KPfYY48BAOzs7LBx40YcOXIER44cwZ49exAdHa1vhd22bRvCw8MRHh6OW7duGb1uz549AQCXL1/Wt9J+9913+mt06dIFALB06VJ9fQ+fe+TIEf01irr0PT09ERkZWeb7JrJmPo3MN35T7aGGZ5inWa5NVB552gJcT+WEoEehFTrEpd6HtpTGKmtVI5LN27dvIzg4GPXr18e3334LAHj99dfh6lr6TNO6deuiU6dOAArXp1SpVPpueAD6STYXL15EcHAw6tSpo09AS6NWq9GuXTsAwMSJE/HUU0+hT58+kMkMb8fo0aNRq1YtpKSkICwsDM2bN0f9+vXh6elpkPSmpaXhwoULuHDhAvLz841ed9SoUQgNDYUQAu3bt0eDBg2wZMkSAMDkyZP1YzCTkpL09RV555134OXlhYyMDDRs2BDBwcHYtm0bAGDOnDlQKrkEC9k2SSYhoFX1r2spV8jh39J6920n26fVFSZJBYITgh6VRptvkzsM1Yhk880338SQIUOQkpICZ2dnjBo1CnPnzi3XuQ8mdc899xw8PDz0z999910MGzZMP8t94MCBiI6OLle9q1atwuOPPw4hBG7evIkvvviiWFe0t7c3jhw5ghEjRsDT0xNnzpxBTk4OHn/8cXz88cflus6DnJyccODAAQwfPhyOjo6Ii4tDeHg4lixZUuoamwBQq1Yt/P777+jXrx8kSUJCQgKaN2+Ob7/9lmtsklXKzisw+VGglMEpzBO5Wp1JjyKmnper1cG5oRfy5VKF4iWqakII3EhLRm4Bl7+rLBl5uTa3j7wkLCx9Tk9Ph6urK9LS0uDi4vJIdQUFBeH69euYPn26wdqVRERB7+w0dwhVLm5uL3OHQDYuISMN97Itf+vF3Hwd+i89DQDYPKYx7BWW39ZW28UDHmrLHadtSr5m+Z82ERERWZyUnCyrSDSt1a30FGTl2cYSUjViNjoR0cPOzuxh7hCIrFZ2ngY3OfO8SulnqNvAlpbWHX0ZStu6kYhqNgelTf/6I6oy3Iqy+hRtaVnfwxsyyXo7o603ciIiIqpWOiFwnVtRVqucgjyrb0VmsklERETlkpiRimxuRVntUnOzrXpLSyabREREVKbU3GwkcStKs0nISEO2lU4YYrJJREREpcrTFnArSjMTEIhPS7bKHYaYbBIREZFRQvx/kiOsL8mxNXm6AtzKsL6kn8lmFZsxYwYkSUJQUJC5QyEiIjLZvawMjtO0IKm52UjNzTZ3GCax6WSzc+fOkCSpxMf27dvNHV61i4uLQ1RUFOrWrQt7e3uEhYVh/vz50JXQJL9ixQq0bt0ajo6OcHJyQuPGjRETE2NQZv369WjZsiXUajU8PDzw4osv4tKlS2XGce/ePYwdOxb169eHvb09goKCMGXKFGg0/GVGRGRJcgvycSeLC7dbmtsZqVbVnV4jFppTKpVo0aKFwbEH9zivCe7du4fHHnsM9+7dg5OTE8LCwnDmzBm8/fbbuH37NpYsWaIv+8Ybb2Dp0qUAgDp16sDDwwO3b9/G77//jhEjRgAAvvrqK4waNQoAEBwcjPv372PLli349ddfcfLkSQQEBJQYh0ajweOPP44LFy5ApVIhPDwcFy5cwNy5c3H+/Hls27ataj8IIiIqt1vpKVxP0wIV6LRIyExFbRfryGVsumWziL+/P44cOWLweOKJJ4yW79GjByRJwvPPP29wPDg4GJIkYcqUKQCASZMmoVGjRnBzc4NCoUBAQACGDx+OhISEUuMJCgqCJEkG+7VHRUVBkiR07txZf0yj0WD69OkIDQ2FSqWCj48PRo4ciaSkJH2ZuLg4fWvtqlWrjF7zu+++w7179wAAhw8fxl9//YXly5cDAD777DPcuHFD/9rSpUshk8mwdetWXL9+HSdOnMCdO3fw8ccf6+N69913AQAvvPACrl69inPnzsHZ2Rn37t3DnDlzjMbx888/48KFCwCA77//HidPnsSOHTsAANu3b8ehQ4dK/eyIiKh6pOZmI4vd5xYrOScLOfl55g6jXGpEsmmq4cOHAwD+97//IT29sPvgyJEj+h2JHnz91q1bCAwMREhICBITE7FmzRr06dOnUuLo168fZs6ciWvXriE8PBwajQYxMTHo1KkTcnJyTKrrwa5ySZIM/qvT6bBv3z4AwObNmwEAtWrVwsqVK+Hq6oo6dergjTfegBCFf90eO3YM9+/fB1CYbAJAQEAA2rZtCwDYtWtXheIAgL1795r0voiIqPLphEBiZpq5w6Ay3M5INXcI5VIjks3r168XG7OZmppqtPzzzz8PFxcXaDQa/djOTZs2AQDatGmD8PBwAIVjFpOTk3Hq1CmcO3cOX331FQAgNjYWV65ceaSYDxw4gP/+978AgF9++QV//fUXzp8/D7VajbNnz2L9+vUAAIVCgbCwMISFhcHV1dVofb169YKTkxMAoF27dmjevDlee+01/eu3bt0CAH2r440bN/Dzzz8jMDAQN2/exNKlSzFkyBD9a0V8fHz0P/v6+gIA4uPjjcbRsWNH1KpVC0BhotqiRQs899xzxeIgIiLzScnJQp62wNxhUBmy8jXIzMs1dxhlqhHJplKpRJs2bQwednZ2SEhIQNu2bQ0eCQkJUKvVeOmllwAAGzduhBAC3333HYB/WjUB4K+//kLr1q3h5OQESZLwyiuv6F+7ffv2I8V89OhR/c+dOnWCJEkICAjQt2geOXIEQGEL5Pnz53H+/Pli3f4PCg4Oxt69e9GlSxfI5XLcunVL33UPFCatAFBQ8M8vl927d+P06dP44IMPAAD/+c9/EBcXp2/hfFjR8QdbKh/m5uaGvXv3ok+fPnByckJcXBz69u0LNzc3gziIiMg8hBC4Z8W71dQ097Is/17ViAlCRWM2H5aUlIQ//vjD4FjRjOjhw4djxYoV2Lt3L7Zv345bt25BpVJh4MCBAICDBw9i+PDhEELA09MTDRs2RGZmJs6dOwcA0GqN7xtblIw9WCYtzbC74sGErk2bNsXq8PPzK/U9l6RNmzYG3dSHDx/GN998AwAICwsDAH2rIwC0bt0aAPDYY4/pj8XFxaFOnTr653fu3NH/fPfuXQBAYGBgqXGEh4cbrAZw+/ZtbNiwwSAOIiIyj3RNLls1rUhGXi5yC/Jhb2e5jTU1omXTmKCgIAghDB5F62E+/vjjqFevHvLz8xEdHQ0A6N27N9zd3QEAf/zxhz4hPHXqFI4ePYphw4aV67pFXc8XL14EUJj07t+/36DMgwnelClT9BObDh48iBkzZuBf//oXgMJu5/DwcISHh5c5k/vgwYP6BDclJQUTJ04EAHh5eaFLly4AgK5du+rLHzt2zOC/kiQhJCQErVu3hqenJwBgy5Yt+jgOHz4MAOjZs6e+jqLYima3A4WtskVJfU5ODt544w0Aha2a/fr1K/U9EBFR1UrJyTJ3CGQiS79nNTrZLEtR8piYmAigcMZ4kaZNm+p/btKkCSIiIrBgwYJy1VuU2G3evBmPP/44mjRpop+IVKRz587o0aMHAKBv374IDw/Xz3x/+umn9ZOV8vPzceHCBVy4cKFY6+jDXnvtNXh5eaFp06aoXbs2Dh06BLlcjuXLl8PBwQEA0L9/f0RGRgIAunfvjiZNmmDq1KkAgBEjRqB27dpQKpWYPXs2AGDr1q2oV6+evmXXy8sL77zzjv6aRbE9OIP+ww8/1Mfh7++PrVu3AgAWLFhg0LJKRETVq0CnRYYVjAEkQym52UaHuFkCJpulGDZsmL7L28/PT5/8AUC3bt0wb948/TjK8PBwLFu2rFz1TpkyBUOHDoWbmxsuXryIYcOG6bvnH7R9+3ZMmzYNoaGhuHr1KhITExEREYH3338fjRs3Nvn9dO/eHS4uLrhw4QLs7OzQvXt3/PLLL/oZ5UBh6+Lu3bsxatQouLi44PLly2jUqBGWLFminwAFAK+++irWrVuH5s2b4/bt25AkCf369cOhQ4eMrrFZpFOnTvDz88OlS5dQUFCAjh07Ytu2bRg7dqzJ74mIiCpPpkbDdTWtUIFOi5yCfHOHYZQkLCwVTk9Ph6urK9LS0uDi4mLucIiIiGqMG2nJSMm17C7ZisjN16H/0tMAgM1jGsNeYXttbX6OrvBxqr68yZR8zfY+bSIiIqoQ7oFuvbIteIF3JptEREQErU4HDWehW62cAiabREREZMG43JF1y9dpoX1glz5LwmSTiIiIkK8zvj40WYcCC72HTDaJiIgIBRbaKkblZ6n3kMkmERERWfQ6jVQ+Ogu9h0w2iYiIiMmmTbDMe8hkk4iITJaYmIhu3brB0dERbm5u5g6HKkHRJiZkvSz1HjLZJCKqJlFRUZAkCa+99lqx16KjoyFJksG2uJbs448/RkJCAk6ePImLFy8aLZeeno6pU6eiUaNGUKvV8PT0ROvWrTF//nykpKRUY8Smu3z5sn6bXpVKheDgYAwaNAjHjh2rUH0ajQbNmzeHJEk4efKkwWvx8fF47rnn4OjoCC8vL7z55pvIyyt9KZtRo0ahfv36UKvV8Pb2Rp8+fXD+/HmDMh999BHat28PBweHMv8okEtMCaydpd5Dy4yKiMhGBQYGYuPGjcjJydEfy83NxYYNG1CnTh0zRmaaK1euoFWrVggNDYWPj0+JZZKTk9G2bVvExMRg4sSJ+OOPP/D7779j+vTpOHnyJNavX2+0/rISrap27NgxtGrVChcvXsSXX36Js2fPYtu2bQgPD8eECRMqVOfkyZNL3M5Xq9WiV69eyMrKwsGDB7Fx40Zs2bKlzOu0atUKMTExOHfuHHbt2gUhBLp37w6t9p8ZyXl5eXjppZfw+uuvlxmfXMaUwNpZ6j20zKiIiGxUy5YtUadOHWzdulV/bOvWrQgMDESLFi0MygohMH/+fNSrVw9qtRrNmjXD999/r39dq9XiX//6F4KDg6FWqxEWFoZPPvnEoI6oqCj07dsXCxcuhL+/Pzw9PTF69Gjk55e+j/KyZctQv359KJVKhIWFYe3atfrXgoKCsGXLFqxZs6bU1th3330X8fHx+OOPPzBixAg0bdoU4eHhePbZZ7F+/XpER0cb1Pnhhx8iKioKrq6ueOWVVwAAW7ZsQaNGjaBSqRAUFIRFixYZXEOSJGzfvt3gmJubG1atWgUAiIuLgyRJ2LhxI9q3bw97e3s0atQI+/fvN/rehRCIiopCaGgofvvtN/Tq1Qv169dH8+bNMX36dPzwww+lfnYl+d///ofdu3dj4cKFxV7bvXs3zp49i3Xr1qFFixbo2rUrFi1ahK+//hrp6elG63z11VfxxBNPICgoCC1btsSHH36IGzduIC4uTl/mgw8+wLhx49CkSZMyY1TI5Sa/L7IsdjLLvIdMNomIqtmIESMQExOjf75y5UqMHDmyWLn3338fMTExWLZsGc6cOYNx48Zh6NChOHDgAABAp9Ohdu3a2Lx5M86ePYtp06bh3XffxebNmw3q2bdvH65cuYJ9+/Zh9erVWLVqlT4ZK8m2bdswduxYTJgwAadPn8aoUaMwYsQI7Nu3DwAQGxuLnj17on///khISCiW4BbFtmnTJgwdOhS1atUq8ToPjy9bsGABGjdujOPHj2Pq1Kk4fvw4+vfvj4EDB+LUqVOYMWMGpk6dWmrsxkyaNAkTJkzAiRMn0L59e/Tu3Rv3798vsezJkydx5swZTJgwAbISWooe7I7u3LlzmUMf7ty5g1deeQVr166Fg4NDsdcPHz6Mxo0bG7R69ujRAxqNBsePHy/X+8vKykJMTAyCg4MRGBhYrnMepmSyadUUMjlkHLNJREQA8PLLL+PgwYOIi4vD9evX8fvvv2Po0KEGZbKysrB48WKsXLkSPXr0QL169RAVFYWhQ4fiyy+/BAAoFAp88MEHaN26NYKDgzFkyBBERUUVSzbd3d2xdOlSfatir1698PPPPxuNb+HChYiKikJ0dDQaNGiA8ePHo1+/fvpWOW9vb6hUKqjVavj5+cHV1bVYHffu3UNqairCwsIMjrdq1QpOTk5wcnLCoEGDDF576qmnMHHiRISEhCAkJASLFy9Gly5dMHXqVDRo0ABRUVEYM2YMFixYUP4P+/+NGTMGL7zwAiIiIrBs2TK4urpixYoVJZa9dOkSACA8PLzMeuvUqQN/f3+jrxe1kr722muIjIwssUxiYiJ8fX0Njrm7u0OpVCIxMbHU63/xxRf6z/Onn37Cnj17oFQqy4y7JDJJBqXMrkLnkvnZ2ynMHYJRTDaJiKqZl5cXevXqhdWrVyMmJga9evWCl5eXQZmzZ88iNzcX3bp10ycTTk5OWLNmDa5cuaIvt3z5ckRGRsLb2xtOTk74+uuvER8fb1BXo0aNIH+g1crf3x937941Gt+5c+fQoUMHg2MdOnTAuXPnTH6vD7debtu2DSdPnkSPHj0Mxq0CKJaMGYvj0qVLBuMSy6Ndu3b6n+3s7BAZGWn0/RQtAVSemb1r1qzBnDlzjL7+2WefIT09HVOmTCm1npKuJYQoM4YhQ4bgxIkTOHDgAEJDQ9G/f3/k5uaWGbcxlpywUOlUFnzv+CcMEZEZjBw5EmPGjAEAfP7558Ve1/3/TiA7d+4s1g2tUqkAAJs3b8a4ceOwaNEitGvXDs7OzliwYAH++OMPg/IKheE/QpIk6es35uEkpzyJz4O8vb3h5uZWbHZ00SQoZ2dnpKamGrzm6OhY5jUfXgtSkqRix8oaj/rguSVp0KABgMJkt3nz5uWqy5hffvkFR44c0d+zIpGRkRgyZAhWr14NPz+/YvcsJSUF+fn5xVo8H+bq6gpXV1eEhoaibdu2cHd3x7Zt24q1GpeXWqFAel5O2QXJ4jjYVaxFuzo8UsvmnDlzIEkS3nrrLf0xIQRmzJiBgIAAqNVqdO7cGWfOnHnUOImIbErPnj2Rl5eHvLw89OjRo9jrDRs2hEqlQnx8vL5buehRNCbvt99+Q/v27REdHY0WLVogJCTEoNWzoiIiInDw4EGDY4cOHUJERES565DJZOjfvz/WrVuHW7duVSiOhg0blhhHgwYN9C213t7eSEhI0L9+6dIlZGdnF6vryJEj+p8LCgpw/Phxo93kzZs3R8OGDbFo0aISk/KHk+TSfPrpp/jrr79w8uRJnDx5Ev/9738BAJs2bcJHH30EoLDV9fTp0wbvY/fu3VCpVGjVqlW5rwUU/hus0WhMOudBaoXlJixUOrXCBls2Y2Nj8dVXX6Fp06YGx+fPn4/Fixdj1apVaNCgAT788EN069YNFy5cgLOz8yMHTERkC+Ryub4bV17CxAxnZ2dMnDgR48aNg06nQ8eOHZGeno5Dhw7ByckJw4cPR0hICNasWYNdu3YhODgYa9euRWxsLIKDgx8ptkmTJqF///5o2bIlunTpgh07dmDr1q3Yu3evSfXMnj0b+/fvR5s2bTBz5kxERkbC0dERf//9t35STGkmTJiA1q1bY9asWRgwYAAOHz6MpUuX4osvvtCXeeqpp7B06VK0bdsWOp0Ob7/9drGWXKCw9Tg0NBQRERH4+OOPkZKSUuKkLKCwxTMmJgZdu3bFE088gXfffRfh4eHIzMzEjh07sHv3bv0krWHDhqFWrVpGu9IfXs7KyckJAFC/fn3Url0bANC9e3c0bNgQL7/8MhYsWIDk5GRMnDgRr7zyClxcXAAAt27dQpcuXbBmzRo89thjuHr1KjZt2oTu3bvD29sbt27dwrx586BWq/HMM8/orxcfH4/k5GTEx8dDq9Xq1/cMCQnRx/IgByabVslOklt0N3qFWjYzMzMxZMgQfP3113B3d9cfF0JgyZIleO+999CvXz80btwYq1evRnZ2dqnrqRER1UQuLi76ZKIks2bNwrRp0zBnzhxERESgR48e2LFjhz6ZfO2119CvXz8MGDAAbdq0wf379w2WE6qovn374pNPPsGCBQvQqFEjfPnll4iJiUHnzp1NqsfT0xNHjx7FsGHDsGDBAjz22GNo0qQJZsyYgQEDBuDrr78u9fyWLVti8+bN2LhxIxo3boxp06Zh5syZBrO/Fy1ahMDAQDzxxBMYPHgwJk6cWOKM77lz52LevHlo1qwZfvvtN/zwww/Fxsk+6LHHHsOxY8dQv359vPLKK4iIiEDv3r1x5swZLFmyRF8uPj7eoEWyIuRyOXbu3Al7e3t06NAB/fv31y9XVSQ/Px8XLlzQt9ra29vjt99+wzPPPIOQkBD0798fjo6OOHTokMG6p9OmTUOLFi0wffp0ZGZmokWLFmjRooXRhentZHLYyy03aaGSOSpVZRcyI0lUYDPU4cOHw8PDAx9//DE6d+6M5s2bY8mSJbh69Srq16+PP//802C9uD59+sDNzQ2rV68uVpdGozFo8k9PT0dgYCDS0tJK/SVMRERUlri4OAQHB+PEiROPPP6ypriVnoL7OZnmDqNS5ebr0H/paQDA5jGNYa+wrfnRAU5u8HKs3t7j9PR0uLq6litfM/nT3rhxI/78888SuwyKlmh4eECzr6+v0eUb5syZox/g7OrqWuH1wYiIiOjROVl4KxkV56SyN3cIpTIp2bxx4wbGjh2LdevWwd7e+BszZRbjlClTkJaWpn/cuHHDlJCIiIioEjkpLTtxIUN2MrnFL1ll0gSh48eP4+7duwaz47RaLX799VcsXboUFy5cAFDYwvngIrd37941unyDSqUqtiQEERFRZQgKCiq2NBKVTi6TwcFOiewC8+5PT+XjbAV/HJjUstmlSxecOnVKv4TDyZMn9WuFnTx5EvXq1YOfnx/27NmjPycvLw8HDhxA+/btKz14IiIiqnzOFt4tS/+whmEPJrVsOjs7F1uqwtHREZ6envrjb731FmbPno3Q0FCEhoZi9uzZcHBwwODBgysvaiIiIqoyTkp73MlKN3cYVA7WMOyh0ncQmjx5MnJychAdHY2UlBS0adMGu3fv5hqbREREVkKtUEIuyaAVpe80ReZlb6eEooR1ei3NIyeb+/fvN3guSRJmzJiBGTNmPGrVREREZAYySYKjUoV0DbeutGTWMF4TeMTtKomIiMg2WUsiU5NZw3hNgMkmERERlcDSd6Wp6SRIcFRax/aiTDaJiIioGHs7BRQyyx8PWFM5KJSQSdaRxllHlERERFTt2LppuaxhFnoRJptERERUIkcFk01LZU1/CDDZJCIiohJZU0JTk0iQ4KCw7C0qH8Rkk4iIiEqkkttBbiXjAmsStZ3CasZrAkw2iYiIyAhJkuCgsI4ZzzWJtd0TJptERERklLUlNjWBg5WNpWWySUREREbZ2zHZtDT2VjReE2CySURERKVgy6ZlkUsyqOSPvNt4tWKySUREREYp5HLYcXF3i2Fvp4AkSeYOwyRMNomIiKhUajvr6ra1ZdZ4L5hsEhERUak4btNy2FvhsAYmm0RERFQqa2xNs1XWeC+YbBIREVGprG32s62SIEHFZJOIiIhsDXcSsgyFOwdZ1+QggMkmERERlUGSJKitcKygrbHWe8Bkk4iIiMrkaKWJji1xtLKdg4ow2SQiIqIyOSqtM9GxJQ5K60z4rWsJehuSnVdg7hCqlIOSXy0iIlvioFBCggQBYe5QaiSV3A5KK9s5qIh1Rm0DGk7bZe4QqlTc3F7mDoGIiCqRTJLBSalCRl6uuUOpkZxVanOHUGHsRiciIqJycbHihMfauajszR1ChbFl00zOzuxRtRdIOgJoUpCdD0SuLPyb4thIHRwUAJQugHeHqr0+ERHZHFd7NW5npLIrvZopZHKrnRwEMNk0myod0ygEINKBh9Z9dVAUPoBMQCEDuGYaERGZwE4mh7PKHumaHHOHUqO42TtCssL1NYsw27BFBZmA0Bp/XeiA/PTqi4eIiGyGl4OTuUOoUSRI8HRwNHcYj4TJpi3KS62cMkRERA9xUtrD3s46l+CxRq4qtdXOQi/CZNMW5aWUXSY/tcrDICIi2+Tr6GzuEGoMbxv4rJls2qLyJJLlSUiJiIhK4GrvAAcrnrBiLdztHa12i8oHMdm0NTpt+cZj5mcCuvyqj4eIiGySv5OruUOwaTLI4OvkYu4wKgWTTVuTn1o4G708OG6TiIgqyFGpgoeak4Wqip+Ti9WP1SzCZNPWmNI9zq50IiJ6BP5OrlDI5OYOw+Y4KFTwtKFZ/0w2bY1JyWZy1cVBREQ2Ty6TIdDVExKsdw1ISyOXZAh0cbfqdTUfxmTTlggBaExIIPNSyt/lTkREVAInpQq+jrYxttAS1HJxh8pOUXZBK8Jk05YUZAG6vPKX1xVwcXciInpk3o7O3De9Eng5OMPN3sHcYVQ6Jpu2JO9+Bc5hVzoRET0aSZIQ6OLBxd4fgYtSbbMz/Jls2hJNBZLNipxDRET0ELlMhiA3T04YqgB7OyUCXT1sapzmg5hs2pIKJZtJHLdJRESVQim3Q7C7N+QS04vyUsntEOzmBbnMdj8z231nNU1+JqDNNf08XT5QkFH58RARUY1kb6dAsJsXZEwxyqSQyRHs7g2F3LZbg/lNsBWaexU/N/cRziUiInqIg1KFIHcmnKWxk8lRz93bZhZuLw2/BbbiURLGR0lUiYiISuCkVCHI3ZMJZwmKEk1bW+LIGH4DbIHQFY69rCjN/cJlkIiIiCqRk9KeCedDFP+faNrXkEQTYLJpGzRJgNBW/PxHTVaJiIiMcFLaI9jdi5OGUDMTTYDJpm3ISXz0OnIroQ4iIqISOCpVNX6WulJuh/oePjWm6/xBNfeu2wohKidRzEksbOEkIiKqAg4KJeq5e8NOsu2Z1yVRyRWo7+5TIyYDlYTJprXTJAFazaPXo8vnrHQiIqpSaoUS9Ty8a9TC7/Z2StT3sP3ljUrDZNPa5dyqxLpuVl5dREREJbC3U6C+R81o5XNQqFDf3Rt2NSi5LgmTTWumKwCyb1defTmJhS2cREREVUgpt0N9dx+o5LY7ftFJaW/zOwOVFz8Ba5Zz69FmoT9M6IDsG5VXHxERkREKedHMbKW5Q6l0zkp7BLl5MtH8f/wUrFnmtSqoM457pRMRUbUoTDi9oLahhNNFqUZdNy/IavDM+4fxk7BWufeA/CrY07wgC8i9W/n1EhERlaBoNx0HG0g4XVRq1HHzhEySzB2KRWGyaa0yr1Rh3Zerrm4iIqKHyGUyBLt7W3ULp4tSjTquTDRLwmTTGmmSq3aZIk0ykMsdhYiIqPoUJpxeVjmG01lpzxbNUjDZtEbpF6r+GhnVcA0iIqIH2MnkCHbzgsqKlkVyVKhQl4lmqZhsWpvcu9Wzj7kmuXK2wSQiIjKBQi5HsLt1LPxub6dEECcDlYmfjjURAkg7W33XSzvLLSyJiKjaKeV2CHLzsui91JUyO66jWU78hKxJ1rWqmYFuTEEWkHm1+q5HRET0/9QKJeq4ekCC5XVPyyUZ6rp51ugtKE3BZNNaaHOrZ6zmw9IvAgU51X9dIiKq8ZxVavg7uZo7jGICXT2gVljfRCZzYbJpLVJPFW5PWd2EFkj9u/qvS0REBMDL0RluKgdzh6Hn4+gCF5Xa3GFYFSab1iD7lnkn6+TeBbK4jSUREZlHLRd3i9hH3UlpD19HF3OHYXWYbFo6bW5hq6a5pZ1mdzoREZmFXCZDoJnHb8olGQJdPCBxiSOTMdm0ZEIAKScBXb65Iynswk85wX3TiYjILBwUSviYsVWxlos7JwRVEJNNS5Z1rWp3CjKV5j6Qwa0siYjIPLwdnWFvhu50F5UabvaWM27U2jDZtFR5qUDaOXNHUVzGhcIF34mIiKqZTJJQy8W9eq8JGQKc3ar1mraGyaYl0uUDycctc0F1IQpj02rMHQkREdVAjkpVtbYyejs6Q2lF22daIiablkYIIPlPoCDb3JEYp80tjJHjN4mIyAz8nFyrZbKQnUwOLwenKr+OrWOyaWkyLhYuNWTpNElA+nlzR0FERDWQUm4HD7VjlV/Hx9GZ21FWAn6CliQnsXDHHmuRcRnIvm3uKIiIqAbydnSu0tZNO0leLQltTWBSsjlnzhy0bt0azs7O8PHxQd++fXHhguEWikIIzJgxAwEBAVCr1ejcuTPOnDlTqUHbpPyMwqWFrE3KSSA/3dxREBFRDaOU28HVvup28vF0cIRMYptcZTDpUzxw4ABGjx6NI0eOYM+ePSgoKED37t2RlZWlLzN//nwsXrwYS5cuRWxsLPz8/NCtWzdkZGRUevA2Q5cP3I81z3aUj0pogftHOWGIiIiqnZe6asZTSpDgUUV110QmTa/66aefDJ7HxMTAx8cHx48fxxNPPAEhBJYsWYL33nsP/fr1AwCsXr0avr6+WL9+PUaNGlV5kdsKoQPuHwMKssoua6kKcoDkY4BXO4B/BRIRUTVxUKpgL1cgV1u5m5+4qNRcwL0SPVJmkJaWBgDw8PAAAFy7dg2JiYno3r27voxKpUKnTp1w6NChR7mU7Uo9XTjZxtppkoHUv80dBRER1TBVMa7SQ80F3CtThReOEkJg/Pjx6NixIxo3bgwASExMBAD4+voalPX19cX169dLrEej0UCj+acLNj29Bo3/y7wKZJX8uVilrBuAnRPgHGLuSIiIqIZwtXfA7czUSqtPLsngqLSvtProEVo2x4wZg7///hsbNmwo9trDm9QLIYxuXD9nzhy4urrqH4GBgRUNybrk3AHSzpo7isqXdg7ISTB3FEREVEMo5HI4KlSVVp+rvRoyIzkLVUyFks033ngDP/74I/bt24fatWvrj/v5+QH4p4WzyN27d4u1dhaZMmUK0tLS9I8bN25UJCTrkp8OpNjwoujJJwq32yQiIqoGrqrKm5XuUol1USGTkk0hBMaMGYOtW7fil19+QXBwsMHrwcHB8PPzw549e/TH8vLycODAAbRv377EOlUqFVxcXAweNk2bCyT9YZ0zz8uraIZ6QY65IyEiohrAWVU53d4yyOCkrLxWUipk0pjN0aNHY/369fjhhx/g7Oysb8F0dXWFWq2GJEl46623MHv2bISGhiI0NBSzZ8+Gg4MDBg8eXCVvwKroCv5/maBcc0dS9bQa4P4fgHcHQKYwdzRERGTDVHYKKOV2yNM+WkOOo1LJtTWrgEnJ5rJlywAAnTt3NjgeExODqKgoAMDkyZORk5OD6OhopKSkoE2bNti9ezecnZ0rJWCrVbTneV6auSOpPvkZQPJxwPMxLolERERVyklpj+SczEeqw5kTg6qEScmmKMcYQ0mSMGPGDMyYMaOiMdmmtDNA7h1zR1H9cu8BqacA92bmjoSIiGyYk1L1yMmmI7vQqwSbm6pD5lUg85q5ozCfrPjCfdSJiIiqyKPOSJdLMtjbcdhXVWCyWdVyEoFU7g2PtHNA9m1zR0FERDZKIZdDJa94suioUBldppEeDZPNqpSXWjhOkwqlnCjcaYiIiKgKOCqVFT7X4RHOpdIx2awqBdmFM8+F1tyRWA6hA+7HWvc+8EREZLEcHqErvTIXhidDTDargi7//5c40pRdtqbR5RWuM6rNM3ckRERkYxwUFWudlCBBreB4zarCZLOyCR1w/1jhsj9UsoIsIDm28LMiIiKqJCq5HeQVWGpPZafg+ppViJ9sZUv9G9AkmTsKy6dJBlJOmjsKIiKyIZIkVWhGuQNbNasUk83KlH4JyKoBe7tXluxbQPoFc0dBREQ2pCJd6Y8y1pPKxmSzsmTfBtLPmzsK65N+kQk6ERFVGrWd6cmmmutrVikmm5UhL6VwWR+qmNS/Ac19c0dBREQ2wNSJPhIkqJhsVikmm4+qILtwOR9Odqk4LolERESVRGniJCF7OwVkXMy9SjHZfBS6Ai5xVFmKlovS5Zs7EiIismKmThLikkdVj8lmRQlRuDsQlziqPPmZQPJxthITEdEjMWUMZkXGeJJpmGxWVPo5IPeOuaOwPbn3gDTuJU9ERBVnb8KM9IoslUSmYbJZEdk3gYwr5o7CdmXGAVnXzR0FERFZKVMSSCabVY/JpqnyUoGUv8wdhe1LPVW48DsREZGJ7O3sylVOKbODXMZUqKrxEzaFVsOZ59VFCCD5GKDNNXckRERkZWSSDCp52QknWzWrB5PN8hI6Jj/Vjck9ERFVUHnWzuT6mtWDyWZ5pZ1jt6455KUCqafNHQUREVmZ8rRalre7nR4Nk83yyEkAMq+aO4qaK+t64T7qRERE5WQvL0+yyZbN6sBksywF2ZwQZAlS/+YOQ0REVG6qcrRaKssxrpMeHZPN0hQt3M5dbcxPV8AF34mIqNzKSiQVMjlnolcTfsqlybgE5KWYOwoqkpcGpF8wdxRERGQF5DIZFDK50dc5Oaj6MNk0Ji8NyLho7ijoYZlX+AcAERGVS2mtm+xCrz5MNksiBJBysvC/ZFn094bd6UREVLrSxm2WZx1OqhxMNkuSdQ3ITzd3FGRMfia3CyUiojKV3rJpvIudKheTzYdpNRwXaA0yLnGBfSIiKhW70S0Dk82HpV8onPlMlk1ogfTz5o6CiIgsGJNNy8Bk80EFOUB2vLmjoPLKvmmza28mJiaiW7ducHR0hJubm7nDISKySsa6yuWSjMseVSN+0g/KvMJJQdZECCDjsv5pVFQUJEnCa6+9VqxodHQ0JElCVFRUNQZYcR9//DESEhJw8uRJXLxofFWE9PR0TJ06FY0aNYJarYanpydat26N+fPnIyXF8mftr1+/HnK5vMR7Vl5LlixBWFgY1Go1AgMDMW7cOOTmGh9iMWPGDEiSVOzh6OioL7N///4Sy5w/z9Z0ImtiJ5NDVkKqo2CrZrXip11EpwWyb5g7CjJV9i3AtSEgK1wvLTAwEBs3bsTHH38MtVoNAMjNzcWGDRtQp04dc0ZqkitXrqBVq1YIDQ01WiY5ORkdO3ZEeno6Zs2ahVatWkGpVOLy5ctYv3491q9fj9GjR5d4bl5eHpRKZVWFX24rV67E5MmTsWzZMixevBgODg4mnf/tt9/inXfewcqVK9G+fXtcvHhR/wfFxx9/XOI5EydOLJbcdunSBa1bty5W9sKFC3BxcdE/9/b2Nik+Iipddl7VD1vTaoHc/H9WMMnN10GrqJ5rOyiZZgFMNv+Rm8CxmtZIaAv3rncsTCRbtmyJq1evYuvWrRgyZAgAYOvWrQgMDES9evUMTxUCCxYswPLly5GQkIAGDRpg6tSpePHFFwEAWq0Wr776Kn755RckJiaiTp06iI6OxtixY/V1REVFITU1FR07dsSiRYuQl5eHgQMHYsmSJVAojC8YvGzZMixcuBA3btxAcHAw3n//fbz88ssAgKCgIFy/fh0AsGbNGgwfPhyrVq0qVse7776L+Ph4XLhwAbVq1dIfDw8Px7PPPgvxQCt9UFAQ/v3vf+Py5cvYtm0b+vbti9WrV2PLli2YNm0aLl++DH9/f7zxxhuYMGGC/jxJkvTli7i5uWHJkiWIiopCXFwcgoODsWHDBnz66af4888/Ub9+fXz++efo3LlzaXcOcXFxOHToELZs2YJ9+/bh+++/x7Bhw0o952GHDx9Ghw4dMHjwYP37HDRoEI4ePWr0HCcnJzg5Oemf//XXXzh79iyWL19erKyPjw+HMRBVoYbTdlX7NYd9ebbarhU3t1e1XcuSsRu9SE6iuSOginro3o0YMQIxMTH65ytXrsTIkSOLnfb+++8jJiYGy5Ytw5kzZzBu3DgMHToUBw4cAADodDrUrl0bmzdvxtmzZzFt2jS8++672Lx5s0E9+/btw5UrV7Bv3z6sXr0aq1atKjE5LLJt2zaMHTsWEyZMwOnTpzFq1CiMGDEC+/btAwDExsaiZ8+e6N+/PxISEvDJJ58Uq0On02HTpk0YOnSoQaL5IEmSDJ4vWLAAjRs3xvHjxzF16lQcP34c/fv3x8CBA3Hq1CnMmDEDU6dOLTV2YyZNmoQJEybgxIkTaN++PXr37o379++Xes7KlSvRq1cvuLq6YujQoVixYoXB60Vd2XFxcUbr6NixI44fP65PLq9evYr//ve/6NWr/L/gv/nmGzRo0ACPP/54sddatGgBf39/dOnSRX9/iIjINGzZLKJJMncEVFGaJIOxti+//DKmTJmCuLg4SJKE33//HRs3bsT+/fv1ZbKysrB48WL88ssvaNeuHQCgXr16OHjwIL788kt06tQJCoUCH3zwgf6c4OBgHDp0CJs3b0b//v31x93d3bF06VLI5XKEh4ejV69e+Pnnn/HKK6+UGO7ChQsRFRWF6OhoAMD48eNx5MgRLFy4EE8++SS8vb2hUqmgVqvh5+dXYh337t1DamoqwsLCDI63atUKFy4ULt313HPPYcOGDfrXnnrqKUycOFH/fMiQIejSpQumTp0KAGjQoAHOnj2LBQsWmDy2dcyYMXjhhRcAFLba/vTTT1ixYgUmT55cYnmdTodVq1bhs88+AwAMHDgQ48ePx+XLlxESEgIAcHBwQFhYWKktxAMHDsS9e/fQsWNHCCFQUFCA119/He+880654tZoNPqu+Af5+/vjq6++QqtWraDRaLB27Vp06dIF+/fvxxNPPFGuuomobGdn9jB3CFQNmGwCQEE2oMs3dxRUUUJrMCvdy8sLvXr1wurVqyGEQK9eveDl5WVwytmzZ5Gbm4tu3boZHM/Ly0OLFi30z5cvX45vvvkG169fR05ODvLy8tC8eXODcxo1agT5AzMe/f39cerUKaPhnjt3Dq+++qrBsQ4dOpTYglmWh1svt23bhry8PLz99tvIyckxeC0yMrJYHH369CkWx5IlS6DVag3eU1mKEnYAsLOzQ2RkJM6dO2e0/O7du5GVlYWnn34aQOE96969O1auXInZs2cDAB577LEyJ+Ts378fH330Eb744gu0adMGly9fxtixY+Hv769PokuzdetWZGRkFOu+DwsLM0jk27Vrhxs3bmDhwoVMNokqEcc01gy8y0BhsknWTWt4D0eOHIkxY8YAAD7//PNixXW6wsHiO3fuLNYNrVKpAACbN2/GuHHjsGjRIrRr1w7Ozs5YsGAB/vjjD4PyD7e8SZKkr9+Yh5NEIUSxY6Xx9vaGm5tbsWSsaBKUs7MzUlNTDV57cLa1sWuKh1ZjkCSp2LH8/PL9YVba+1m5ciWSk5MNJgTpdDqcOHECs2bNKneiO3XqVLz88sv497//DQBo0qQJsrKy8Oqrr+K9996DrIylTb755hs8++yzRluQH9S2bVusW7euXHEREdE/OGYTAARbNa2eLs/gac+ePZGXl4e8vDz06FG8m6Zhw4ZQqVSIj49HSEiIwSMwMBAA8Ntvv6F9+/aIjo5GixYtEBISgitXHn2bzIiICBw8eNDg2KFDhxAREVHuOmQyGfr3749169bh1q1bFYqjYcOGJcbRoEEDfbLn7e2NhIQE/euXLl1CdnbxP86OHDmi/7mgoADHjx9HeHh4ide9f/8+fvjhB2zcuBEnT540eGRmZuJ///tfud9DdnZ2sYRSLpdDCFEsSX7YtWvXsG/fPvzrX/8q17VOnDgBf3//csdGRESF2LIJACh/ixJZKsN7KJfL9d24JbWSOTs7Y+LEiRg3bhx0Op1+CaFDhw7ByckJw4cPR0hICNasWYNdu3YhODgYa9euRWxsLIKDgx8p0kmTJqF///5o2bIlunTpgh07dmDr1q3Yu3evSfXMnj0b+/fvR5s2bTBz5kxERkbC0dERf//9Nw4fPozGjRuXev6ECRPQunVrzJo1CwMGDMDhw4exdOlSfPHFF/oyTz31FJYuXYq2bdtCp9Ph7bffLnEM5eeff47Q0FBERETg448/RkpKSomTsgBg7dq18PT0xEsvvVQsUXz22WexYsUKPPvsszh69CiGDRuGn3/+2egkqOeeew6LFy9GixYt9N3oU6dORe/evfX3fenSpdi2bRt+/vlng3NXrlwJf39/fVf+g5YsWYKgoCA0atQIeXl5WLduHbZs2YItW7aU+pkSEVFxTDYBQOLHYPVKuIcPro9YklmzZsHHxwdz5szB1atX4ebmhpYtW+Ldd98FALz22ms4efIkBgwYAEmSMGjQIERHR5vU8laSvn374pNPPsGCBQvw5ptvIjg4GDExMWUuFfQwT09PHD16FPPmzcOCBQtw7do1yGQyhIaGYsCAAXjrrbdKPb9ly5bYvHkzpk2bhlmzZsHf3x8zZ840mBy0aNEijBgxAk888QQCAgLwySef4Pjx48Xqmjt3LubNm4cTJ06gfv36+OGHH4qNky2ycuVKPP/88yV2cb/wwgsYMGAA7ty5g+zsbFy4cKHUbvv3338fkiTh/fffx61bt+Dt7Y3nnnsOH330kb5MUlJSsRbpoglKUVFRJf4xkpeXh4kTJ+LWrVtQq9Vo1KgRdu7ciWeeecZoLEREVDJJlNXXVM3S09Ph6uqKtLS0MpOFSlOQAySa1qpkLbLzgYZfFv6jfnaUDg7GJ/ZaN7+nADvHsstRpSpaZ/PEiRPFJk4REZHtMiVf45hNALBTAzLz76ZCFSSzA+Sm7TxDRERE1YPJZhF7bkNntVRegAkzuYmIiKj6cLBiEXVA4T7bZH3UAeaOoMYKCgoqc9Y3ERHVbGzZLGLvA8hV5o6CTCVTAGouR0NERGSpmGwWkWSAU31zR0GmcqpXeO+IiIjIIvFf6Qc51mXrpjWRKQCnR1vzkoiIiKoWk80HyewAl5J3PSEL5BJemHASERGRxWKy+TCHQEDpbu4oqCwKl8KWaCIiIrJoTDYfJkmAezOOA7RkkgS4N+dyR0RERFaAGVVJFM6AS5i5oyBjnEMBpau5oyAiIqJyYLJpjFN9QOVp7ijoYUp3wLmBuaMgIiKicmKyaYwkAe4tOAHFksjsAI+W7D4nIiKyIkw2S2OnLkw4yTK4NQPsuAc6ERGRNWGyWRa1b+HC4WReTkGAA7elJCIisjZMNsvDNQJQupk7ippL4QK4NjJ3FERERFQBTDbLQ5IBHq04ftMcZHaAZySXoiIiIrJS/Be8vOwcCtffpOrl1gSwczR3FERERFRBTDZNofYHHOuYO4qaw6EW4FDb3FEQERHRI2CyaSrXRpwRXR3s1IWtmkRERGTVmGyaSmbH5ZCqg1tzjpElIiKyAUw2K0LlweWQqpJjXcDey9xREBERUSVgsllRLmGFXb1UueT2hUtNERERkU1gsllRMjvAtbG5o7A9ro3YfU5ERGRDmGw+CrUfYO9j7ihsh8qTuwQRERHZGCabj8q1ISBJ5o7CNnCXICIiIpvDZPNRKZwBh0BzR2H9HGoBSldzR0FERESVjMlmZXBuwO0UH4UkFU64IiIiIpvDDKky2KkLl+uhinEI5JaURERENorJZmVxDmHrZkVIEuAcau4oiIiIqIpUWXb0xRdfIDg4GPb29mjVqhV+++23qrqUZZDbc9/0inCoze0/iYiIbFiVJJubNm3CW2+9hffeew8nTpzA448/jqeffhrx8fFVcTnL4RTCmemmYKsmERGRzauSZHPx4sX417/+hX//+9+IiIjAkiVLEBgYiGXLllXF5SyHnZoz002hDuBYTSIiIhtX6clmXl4ejh8/ju7duxsc7969Ow4dOlTZl7M8zmzdLDe2ahIREdk8u8quMCkpCVqtFr6+vgbHfX19kZiYWKy8RqOBRqPRP09PT6/skKqXnSOgrgVk3zR3JJbNIaBwjVIiIiKyaVU2QUh6qHVPCFHsGADMmTMHrq6u+kdgoA10Q7s0YOtmaSSpcG1SIiIisnmVnmx6eXlBLpcXa8W8e/dusdZOAJgyZQrS0tL0jxs3blR2SNXPzhFw4Mx0o9S12KpJRERUQ1R6sqlUKtGqVSvs2bPH4PiePXvQvn37YuVVKhVcXFwMHjbBJQyQVfooBesnyQCXcHNHQURERNWkSrKh8ePH4+WXX0ZkZCTatWuHr776CvHx8Xjttdeq4nKWSa4qXAop/by5I7EsTvULZ+0TERFRjVAlyeaAAQNw//59zJw5EwkJCWjcuDH++9//om7dGralo3N9IPsGUJBl7kgsg50DZ6ATERHVMFXWzxsdHY3o6Oiqqt46SDLArSmQdNjckVgGtyaATG7uKIiIiKgacTPvqmbvBTjWsBbdkjjUBux9zB0FERERVTMmm9XBtWHN3v9bbg+4NTZ3FERERGQGTDarg8wO8GhZc9fe9GgJyBTmjoKIiIjMgMlmdVG618wlf1zCAJWnuaMgIiIiM2GyWZ2c6gP2xRe2t1n23px9TkREVMMx2axOkgR4tAAUTuaOpOrZOQAerWru0AEiIiICwGSz+skUgEdr2x7DKLMDPB+z7fdIRERE5cJk0xwUToBHpG22+klSYYsm9z4nIiIiMNk0H3uvwgXfbY1rI66nSURERHpMNs3JsY5tTaBxqgc4BZs7CiIiIrIgTDbNzTW8cHcda+cQULh4Pf1fe/f3EtWfx3H8NaPzI3+MX7MyXf32e6eiTSTj64AVJBh8v0T9AyF0U5EFdRHmxQZ7Y0EUQWBEbbddNBpBxCrkD4K6ECbsB1mQ2woZElQOxrZZn73wx6412mhz5pzjPB8wkONnzrzl3RtenDnnMwAA4P8QNp2gsEIKLLG7ivkLLJYKKxfmNagAAOCnEDadwOOViqokX8juSubOlzd+57mH/0oAAOB7JASn8PqkJb9J2YvsriR5WUGpqJotjgAAwIwIm06SFZSKfnNHeJvcS9NN4RgAAKQdYdNpfPnO34Nzci9Nf4HdlQAAAIcjbDqR0/fgLNjEXpoAACAphE2nyv1Vyl9jdxXfy1s5/gAAAEgCYdPJQhuk4FK7q/ifQNH4NwQBAAAkibDpZJPXRmbn2F3J+M1Li7ewxREAAJgTkoPTeX0TNwzZ2CqPZ3wf0KyAfTUAAABXImy6gb9AKthg3/uH1kv+QvveHwAAuBZh0y3yVttzB3hgiZTnwBuVAACAKxA23aSwIr0bvnuzx9/TyXt+AgAARyNsuklWML13g4c2OOPmJAAA4FqETbfJLR/fgshq/kIpd4X17wMAABY0wqYb/bLJ+o+2f/kLH58DAICfRth0I19IyvnVuuPnlvO95wAAICUIm24V+rPkyUr9cT1eKT+c+uMCAICMRNh0q6ygNd9RnrtCyl6U+uMCAICMRNh0s7w1qf1mIY9Xyl+buuMBAICMR9h0s6yAlJvCazdz/jR+xhQAACBFCJtul7famccCAAAQYdP9snNT8zWWgaLxu9wBAABSiLC5EOSudMYxAAAAvkHYXAiCy37uWkuvX1q0PHX1AAAATMi2u4BM9fE/Y6k9YHap9O+X37/P58T/nia3VPr8VdLXlJWT4+e/FgAAIGzaZuNf/2HBUWc/UV3195l+/6+JR+r88/QfKT0eAABwJz5GBwAAgGU4s2mTp3/bZXcJAAAAliNs2oRrGgEAQCbgY3QAAABYhrAJAAAAyxA2AQAAYBnCJgAAACxD2AQAAIBlCJsAAACwDGETAAAAliFsAgAAwDKETQAAAFiGsAkAAADLEDYBAABgGcImAAAALEPYBAAAgGUImwAAALAMYRMAAACWIWwCAADAMoRNAAAAWCbb7gK+ZYyRJI2MjNhcCQAAABKZzGmTuW02jgub8XhcklReXm5zJQAAAJhNPB5XQUHBrGs8JplImkZfv37V69evlZ+fL4/HY3c5C8LIyIjKy8s1ODioUChkdzmYB3robvTP/eih+9HD1DLGKB6Pq7S0VF7v7FdlOu7MptfrVVlZmd1lLEihUIgBczl66G70z/3oofvRw9T50RnNSdwgBAAAAMsQNgEAAGAZwmYGCAQCOnXqlAKBgN2lYJ7oobvRP/ejh+5HD+3juBuEAAAAsHBwZhMAAACWIWwCAADAMoRNAAAAWIawCQAAAMsQNheAnp4e7d69W6WlpfJ4PLp58+YPX9Pd3a0tW7YoGAxq9erVunTpkvWFIqG59q+rq0sej+e7x7Nnz9JTMKZpbm7W1q1blZ+fr2XLlmnv3r3q7+//4euYQeeYTw+ZQ2dpaWnR5s2bpzZsj0QiunPnzqyvYQbTh7C5AIyOjqqiokIXL15Mav3AwIB+//13bdu2TbFYTE1NTTp69Kii0ajFlSKRufZvUn9/v4aGhqYe69ats6hCzKa7u1uHDx/WgwcP1NHRobGxMdXV1Wl0dHTG1zCDzjKfHk5iDp2hrKxMp0+fVm9vr3p7e7Vz507t2bNHT548SbieGUwzgwVFkmlra5t1zYkTJ8z69eunPXfgwAFTXV1tYWVIRjL96+zsNJLMu3fv0lIT5mZ4eNhIMt3d3TOuYQadLZkeMofOV1hYaK5cuZLwd8xgenFmMwPdv39fdXV1057btWuXent79fnzZ5uqwlxVVlaqpKREtbW16uzstLscTPjw4YMkafHixTOuYQadLZkeTmIOnefLly+6fv26RkdHFYlEEq5hBtOLsJmB3rx5o+Li4mnPFRcXa2xsTG/fvrWpKiSrpKREly9fVjQaVWtrq8LhsGpra9XT02N3aRnPGKPjx4+rpqZGmzZtmnEdM+hcyfaQOXSeR48eKS8vT4FAQAcPHlRbW5s2btyYcC0zmF7ZdhcAe3g8nmk/m4kvkvr2eThPOBxWOBye+jkSiWhwcFBnz57V9u3bbawMDQ0N6uvr07179364lhl0pmR7yBw6Tzgc1sOHD/X+/XtFo1HV19eru7t7xsDJDKYPZzYz0PLly/XmzZtpzw0PDys7O1tFRUU2VYWfUV1drRcvXthdRkY7cuSIbt26pc7OTpWVlc26lhl0prn0MBHm0F5+v19r165VVVWVmpubVVFRoQsXLiRcywymF2EzA0UiEXV0dEx7rr29XVVVVfL5fDZVhZ8Ri8VUUlJidxkZyRijhoYGtba26u7du1q1atUPX8MMOst8epgIc+gsxhh9+vQp4e+YwTSz794kpEo8HjexWMzEYjEjyZw7d87EYjHz6tUrY4wxjY2NZt++fVPrX758aXJycsyxY8fM06dPzdWrV43P5zM3btyw60/IaHPt3/nz501bW5t5/vy5efz4sWlsbDSSTDQatetPyGiHDh0yBQUFpqurywwNDU09Pn78OLWGGXS2+fSQOXSWkydPmp6eHjMwMGD6+vpMU1OT8Xq9pr293RjDDNqNsLkATG7B8e2jvr7eGGNMfX292bFjx7TXdHV1mcrKSuP3+83KlStNS0tL+guHMWbu/Ttz5oxZs2aNCQaDprCw0NTU1Jjbt2/bUzwS9k6SuXbt2tQaZtDZ5tND5tBZ9u/fb1asWGH8fr9ZunSpqa2tnQqaxjCDdvMYM3FFLAAAAJBiXLMJAAAAyxA2AQAAYBnCJgAAACxD2AQAAIBlCJsAAACwDGETAAAAliFsAgAAwDKETQAAAFiGsAkAAADLEDYBAABgGcImAAAALEPYBAAAgGX+C8qHiG837OpJAAAAAElFTkSuQmCC", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "# Group our dataset with our 'Group' variable\n", + "grouped = df.groupby('category')['value']\n", + "\n", + "# Init a figure and axes\n", + "fig, ax = plt.subplots(figsize=(8, 6))\n", + "\n", + "# Create the plot with different colors for each group\n", + "violins = ax.violinplot([group.values for name, group in grouped],\n", + " #labels=grouped.groups.keys()\n", + " ) \n", + "\n", + "# Define colors for each group\n", + "colors = ['orange', 'purple', '#69b3a2']\n", + "\n", + "# Assign colors to each box in the boxplot\n", + "for violin, color in zip(violins['bodies'], colors):\n", + " violin.set_facecolor(color)\n", + " \n", + "# Add the p value and the t\n", + "p_value_text = f'p-value: {p_value}'\n", + "ax.text(0.7, 50, p_value_text, weight='bold')\n", + "F_value_text = f'F-value: {F_statistic}'\n", + "ax.text(0.7, 45, F_value_text, weight='bold')\n", + "\n", + "# Add the mean for each group\n", + "ax.text(1.25, mean_groupA, f'Mean of Group A: {mean_groupA}', fontsize=10)\n", + "ax.text(2.25, mean_groupB, f'Mean of Group B: {mean_groupB}', fontsize=10)\n", + "ax.text(2, mean_groupC, f'Mean of Group C: {mean_groupC}', fontsize=10)\n", + "\n", + "# Add a title and axis label\n", + "ax.set_title('One way Anova between group A, B and C')\n", + "\n", + "# Add a legend\n", + "legend_labels = ['Group A', 'Group B', 'Group C']\n", + "legend_handles = [plt.Rectangle((0,0),1,1, color=color) for color in colors]\n", + "ax.legend(legend_handles, legend_labels)\n", + "\n", + "# Display it\n", + "plt.show()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Customized violin plot with statistics" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "metadata": { + "tags": [] + }, + "outputs": [ + { + "data": { + "image/png": "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EAR8/vnneOeddzBkyBB4enpCpVIhLCwM9913H44cOSL166vr+hbM61/7+Pjgv//9L0aNGgVPT0/4+/vjgQcewKefftriGonIeXEpOCJyWdXV1RgxYgQSExMRGRmJM2fOQKlUyl0WEZHdtbyzDxGRk8vKysKoUaNw5coVFBYWAjCvmMLwR0SuggGQiFxOTU0NTp06BYVCgcjISMybNw/Tpk2TuywionbDR8BERERELoaDQIiIiIhcDAMgkRWzZs2CIAgQBKHZc761xLJly7Bs2TKuu+qCRo0aJf3ZEgShVaOEG7J582aL8wqCAKVSCR8fHwwaNAgvv/yytNKII4qIiJDqbq6ysjK8/vrruOWWWxAYGAiNRoOQkBAMHz4cK1eubHL1GSJXxT6ARDL529/+BsC8zNe8efPkLYbaTUOTSG/evBn33XefXa5nMplQVFSEw4cP4/Dhwzh69Cg+++wzu1yrvaWlpWHChAk4d+6cxfbs7GxkZ2fjwIED6Nmzp8XqLERkxhZAInJa5eXlcpfQYh988AFMJhOA/y0B9/333+P8+fM2vU5CQgJEUUR1dTXWr18vba+7hrEzy8vLw9ixY6Xwd+ONN+KHH35ARUUFioqK8N1332HSpEktak0kciUMgETNUF5ejieffBKdO3eGTqfDkCFDGnwsfPToUUybNg2hoaHQaDTw8/PDuHHjsHfvXmmfZcuWWfyjdOHCBemxV0REBEpLS6HRaCAIgsXEx++//7603+7du6XtoaGhEAQBgYGBqDum68svv8TYsWPh7+8PtVqNLl26YObMmThz5ky9us+dO4eHH34YUVFR0Gq18PLyws0334zPP//cYr/9+/dLNcyaNQtbtmxBv3794ObmhhtuuAFr165Fc8eVbdiwAT179oRWq0VMTAzef/996bsRBMFiCbW6jwbT09Nxxx13wMvLC71795b2+e233/DAAw8gIiICGo0GXl5eGDZsGN577z2Lmq7/DHXVvQ+16j5WXbZsGV5//XVpsukePXpg3bp1zfq8tepOIv3www8DaP1k0c2hVqstWhdNJhOqqqqaPG7evHm48cYbERwcDK1WC71ej+joaMybN6/eY9W69+f06dOYOHEivL29ERgYiKlTp+Lq1asW++fn5+OBBx6Av78/3N3dMXr06BavRbxmzRppTePg4GB89913uOmmm6DT6eDl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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "# Group our dataset with our 'Group' variable\n", + "grouped = df.groupby('category')['value']\n", + "\n", + "# Init a figure and axes\n", + "fig, ax = plt.subplots(figsize=(8, 6))\n", + "\n", + "# Create the plot with different colors for each group\n", + "violins = ax.violinplot([group.values for name, group in grouped],\n", + " #labels=grouped.groups.keys()\n", + " ) \n", + "\n", + "# Define colors for each group\n", + "colors = ['orange', 'purple', '#69b3a2']\n", + "\n", + "# Assign colors to each box in the boxplot\n", + "for violin, color in zip(violins['bodies'], colors):\n", + " violin.set_facecolor(color)\n", + " \n", + "# Add the p value and the t\n", + "p_value_text = f'p-value: {p_value}'\n", + "ax.text(0.7, 60, p_value_text)\n", + "F_value_text = f'F-value: {F_statistic}'\n", + "ax.text(0.7, 55, F_value_text)\n", + "\n", + "# Add the mean for each group\n", + "ax.text(1.3, mean_groupA, f'Mean Group A: {mean_groupA}',\n", + " style='italic', fontsize=8)\n", + "ax.text(2.3, mean_groupB, f'Mean Group B: {mean_groupB}',\n", + " style='italic', fontsize=8)\n", + "ax.text(2.2, mean_groupC, f'Mean Group C: {mean_groupC}',\n", + " style='italic', fontsize=8)\n", + "\n", + "# Remove axis labels\n", + "ax.set_xticks([])\n", + "ax.set_yticks([])\n", + "\n", + "# Removes spines\n", + "ax.spines[['right', 'top', 'left', 'bottom']].set_visible(False)\n", + "\n", + "# Add a title and axis label\n", + "ax.set_title('One way Anova\\nbetween group A, B and C', weight='bold')\n", + "\n", + "# Add a legend\n", + "legend_labels = ['Group A', 'Group B', 'Group C']\n", + "legend_handles = [plt.Rectangle((0,0),1,1, color=color, alpha=0.5) for color in colors]\n", + "ax.legend(legend_handles, legend_labels, loc='upper left')\n", + "\n", + "# Display it\n", + "plt.show()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Going further\n", + "\n", + "This post explains how to represent the **results of an Anova** in a [violin plot](https://python-graph-gallery.com/violin-plot/) and a [boxplot](https://python-graph-gallery.com/boxplot/).\n", + "\n", + "For more examples of **charts with statistics**, see the [statistics section](https://python-graph-gallery.com/statistics/). You may also be interested in how to [represent Student t-test results](https://python-graph-gallery.com/551-student-t-test-visualization)." + ] + } + ], + "metadata": { + "chartType": "violin", + "description": "The Analysis of Variance (ANOVA) is employed to compare the means of multiple normally distributed variables. Utilizing matplotlib, you can readily generate a plot featuring violin plots or boxplots for these variables on the same chart, enabling a clear depiction of the differences among them.
Furthermore, by employing annotation techniques provided by matplotlib, you can directly incorporate the results of ANOVA into your chart. This enhancement will render the chart more informative and pertinent when comparing distributions among different groups or variables.", + "family": "distribution", + "kernelspec": { + "display_name": "Python 3 (ipykernel)", + "language": "python", + "name": "python3" + }, + "keywords": "anova, violin, boxplot, matplotlib, statistics", + "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.9.13" + }, + "seoDescription": "How to represent the results of an Anova on a matplotlib plot", + "slug": "557-anova-visualization-with-matplotlib", + "title": "Representation of Anova on violin plots" + }, + "nbformat": 4, + "nbformat_minor": 4 +} diff --git a/src/pages/boxplot.js b/src/pages/boxplot.js index 7882208353..1e4c8af735 100644 --- a/src/pages/boxplot.js +++ b/src/pages/boxplot.js @@ -222,6 +222,12 @@ export default function Boxplot() { caption="Beeswarm and boxplot combination" linkTo="/509-introduction-to-swarm-plot-in-matplotlib" /> + {' '} + + + diff --git a/src/pages/violin-plot.js b/src/pages/violin-plot.js index 97c572e9f2..31446ee99b 100644 --- a/src/pages/violin-plot.js +++ b/src/pages/violin-plot.js @@ -135,6 +135,31 @@ export default function ViolinPlot() { + +

+ + Violin charts with Matplotlib +

+

+ Matplotlib is a python library well adapted to make + density charts. +

+ + + + +
+ + +
diff --git a/static/graph/557-anova-visualization-with-matplotlib-1.png b/static/graph/557-anova-visualization-with-matplotlib-1.png new file mode 100644 index 0000000000..7bd23a8427 Binary files /dev/null and b/static/graph/557-anova-visualization-with-matplotlib-1.png differ diff --git a/static/graph/557-anova-visualization-with-matplotlib-2.png b/static/graph/557-anova-visualization-with-matplotlib-2.png new file mode 100644 index 0000000000..a4206873d1 Binary files /dev/null and b/static/graph/557-anova-visualization-with-matplotlib-2.png differ diff --git a/static/graph/557-anova-visualization-with-matplotlib-3.png b/static/graph/557-anova-visualization-with-matplotlib-3.png new file mode 100644 index 0000000000..01c2de00f9 Binary files /dev/null and b/static/graph/557-anova-visualization-with-matplotlib-3.png differ