Skip to content

Instantly share code, notes, and snippets.

@jpcbertoldo
Last active December 13, 2023 15:10
Show Gist options
  • Save jpcbertoldo/72c414d4b3fb83cfad6df39eaac6d25c to your computer and use it in GitHub Desktop.
Save jpcbertoldo/72c414d4b3fb83cfad6df39eaac6d25c to your computer and use it in GitHub Desktop.
Display the source blob
Display the rendered blob
Raw
{
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"<a href=\"https://colab.research.google.com/gist/jpcbertoldo/72c414d4b3fb83cfad6df39eaac6d25c/2023-12-sample-button.ipynb\" target=\"_parent\"><img src=\"https://colab.research.google.com/assets/colab-badge.svg\" alt=\"Open In Colab\"/></a>\n",
"\n",
"[![Binder](https://mybinder.org/badge_logo.svg)](https://mybinder.org/v2/gist/jpcbertoldo/72c414d4b3fb83cfad6df39eaac6d25c/HEAD?labpath=2023-12-sample-button.ipynb)\n",
"\n",
"Github Gist: [gist.github.com/jpcbertoldo/72c414d4b3fb83cfad6df39eaac6d25c](https://gist.github.com/jpcbertoldo/72c414d4b3fb83cfad6df39eaac6d25c)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Setup"
]
},
{
"cell_type": "code",
"execution_count": 1,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"setting numpy print precision to 2\n"
]
}
],
"source": [
"def ipython_show_all_outputs():\n",
" \"\"\"make a cell print all the outputs instead of just the last one\"\"\"\n",
" from IPython.core.interactiveshell import InteractiveShell\n",
" InteractiveShell.ast_node_interactivity = \"all\"\n",
"\n",
"\n",
"def set_numpy_print_precision(prec: int = 3):\n",
" import numpy as np\n",
" print(f\"setting numpy print precision to {prec}\")\n",
" np.set_printoptions(floatmode=\"maxprec\", precision=prec, suppress=True)\n",
"\n",
"ipython_show_all_outputs()\n",
"set_numpy_print_precision(2)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Normal"
]
},
{
"cell_type": "code",
"execution_count": 2,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"sample_size=30\n"
]
},
{
"data": {
"image/png": "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OOHGdeshLhaMEtkm9IqzszN7ftlDbGwMmzZtonOnzmTJkkXtWCKDkRYboRfeba2RvjX6JZdFLmwsbchlkSuRjbkgj038s9Br9nb2NGveDICw0FC2btuqciKREUlhI/TCvn37OH/+PADly5enRYsWKicSQiTG2dkZjVH8V8vGjRsJfxmuciKR0UhhI9I9rVbLxIkTlWXpWyNE+pU/X37lMnFIcDDbt21TOZHIaKSwEenen3/+yZkzZwAoU6YMrVu3VjmRSK6d13ay8dIGdl7bmXDjrp2wcUP8szAILi4uSqvN+vUbePnqpcqJREYihY1I195trZkwYQJGRvLPVt8s917OD6d/YLn38kQ2Locffoh/FgahYIGCfNW4MQDBwS/Yvn27yolERiLfECJdO3jwIKdOnQKgdOnStGnTRuVEQoikcHHpBa8vGa9fv55XEa9UTiQyCilsRLqVWN8aaa0RQj84ODjQuFF8q82L58/ZsWOHyolERiHfEiLdOnToECdPngSgZMmStG3bVuVEQojkcOnlorTarFu3joiICJUTiYxAChuRLr3bWjNu3DiMjWUANyH0SeFChWn4etqT58+e8fPP0mojUp8UNiJdOnLkCMePHwegRIkSdOjQQeVEQohP0atXL+XPa6XVRqQBKWxEuiStNUIYhiJFilK/fnyrzbOnT9kpt/WLJJoxYwYajYZhw4Ylaz8pbES6c/ToUY4ePQpAsWLF6Nixo8qJhBCfo3fv3sqf165ZS2SktNqIDzt37hw//fQT5cqVS/a+UtiIdMfDw0P587hx4zAxkblahdBnRYsWpV79+gA8fRrEzzul1Ua8X1hYGF26dGH58uVkz5492ft/UmGzePFiHBwcMDc3p1q1apw9e/aDr583bx4lSpQgc+bM5M+fn+HDh8t1VpGoI0eOcOTIESC+taZz587qBhIpomDWAhTKXpiCWQsk3FigABQuHP8sDJa02mRsoaGhhISEKI/IyMj3vnbgwIE0a9aMBq87nidXsn8V3rp1K66urixdupRq1aoxb948GjduzPXr18mTJ0+C12/atInRo0ezatUqatSowY0bN+jRowcajQZPT89PCi0Mk1arxd3dXVkeP368tNYYiKXNf/rAxg9sEwajWNFi1Ktfn0NeXjx9GsSOn3+mS+cuascSaaRUqVI6y+7u7jqt829s2bKFCxcucO7cuU8+V7JbbDw9PenduzfOzs6UKlWKpUuXYmFhwapVqxJ9/V9//UXNmjXp3LkzDg4ONGrUiE6dOn20lUdkPEeOHOHYsWMAFC9enE6dOqmcSAiRkvr07qP8ee3atdJyn4FcuXKF4OBg5eHm5pbgNQ8fPmTo0KFs3LgRc3PzTz5XsgqbqKgovL29dZqHjIyMaNCggTLs/btq1KiBt7e3UsjcuXOHP/74g6ZNm773PJGRkTpNVqGhocmJKfTQu601EyZMkNYaIQxM0aJFle+PZ0+fyrg2GYiVlRXW1tbKw8zMLMFrvL29CQwMpFKlSpiYmGBiYsLRo0dZsGABJiYmxMbGJulcySpsgoKCiI2NxcbGRme9jY0N/v7+ie7TuXNnJk2aRK1atTA1NaVIkSLUqVOHMWPGvPc806dPJ2vWrMrj3SYsYXgOHz6sM26N3AklhGHq3bu3MhrxmrVrZQ4poahfvz6XLl3Cx8dHeVSpUoUuXbrg4+OT5GE/Uv2uqCNHjjBt2jR+/PFHLly4wM6dO/n999+ZPHnye/dxc3PTabK6cuVKascUKkqstUbGrTEs4w6PZdDegYw7PDaRjWNh0MD4Z2HwihQpqjMascwhJd6wsrKiTJkyOg9LS0ty5sxJmTJlknycZLX158qVC2NjYwICAnTWBwQEYGtrm+g+48ePp2vXrsrok2XLliU8PJw+ffowduzYRCc1NDMz02mmCgkJSU5MoWcOHTrEiRMnAHB0dJRRhg2Q9+MLPHkZSG6LhDcYcOECBAZCIjcfCMPUq3dvDhw8CFota9eupW3btmQ2z6x2LGEgktVikylTJipXroyXl5eyLi4uDi8vL5ycnBLd5+XLlwmKlze/jWu12uTmFQZGWmuEyHiKFC5Cw4YNgfiZv7dv365yIpFeHTlyhHnz5iVrn2RfinJ1dWX58uWsXbuWq1ev0r9/f8LDw3F2dgagW7duOr2dW7RowZIlS9iyZQt3797lwIEDjB8/nhYtWsgXmODgwYM6M3i3b99e5URCiLTwdl+bdWvX8vLVS5UTCUOR7NtOOnTowJMnT5gwYQL+/v5UqFCBffv2KR2KHzx4oNNCM27cODQaDePGjePRo0fkzp2bFi1aMHXq1JR7F0IvabVaxo8fryxLa40QGUfhQoVp3Kgx+/fv48WLF2zduhXnHs5qxxIGQKPVg+tBvr6+5M+fn4cPH5IvXz6144gU8vvvv9O8eXMAypQpw99//51on6uUdMk3OFWPLxLXZGMTpY/N3i57dTc2bfJfH5s/9iZ+AGGQ7t+/R9t27dDGxWFlbc2ve34lS5YsasdKNWXzZVU7QppT4/tb5ooSqtBqtUyYMEFZnjhxYqoXNUKI9KVgQQeaNokf0yw0JITNWzarnEgYAvkmEarYvXs3Fy5cAKBixYq0bt1a5URCCDX07t0bo9eXoDdu2EBIqNwFKz6PFDYizcXFxem01kyaNAnN606EQoiMJV++fLRs0QKIn9V5w4YNKicS+k4KG5Hmtm/fzuXLlwGoVq0azZo1UzmREEJNLr16KVOobN68mRcvXqgbSOg1mYxHpKnY2FidGV2ltSZjaO3YmrDoMLKYJtIxtHVrCAsDA+40Kj7MztaO1q1bs337dl69fMnadWsZOmSo2rGEnpLCRqSpzZs3c+3aNQBq1aqlDNIlDFufyn3ev7H3B7aJDMO5Z092//IL0VFRbNu6jW+7dCFnzlxqxxJ6SC5FiTQTExPDxIkTleXJkydLa40QAoA8ufPQtm1bACIjI1izdq3KiYS+ksJGpJm1a9dy69YtAOrVq0edOnXUDSSESFd69OiBubk5ADt27CAgMOAjewiRkBQ2Ik1ERkYmaK0RQoi35cyRk/avJ8GNjopixYoVKicS+kgKG5EmfvrpJx4+fAhAs2bNqFGjhsqJRFpqsrEJVZZXpsnGJgk3Nm0CVSrHP4sMr3u3blhaxnck3/PLHh76PlQ5kdA3UtiIVBceHq4zN9iUKVNUTCOESM+yZs3Gt12/BSA2NoZlP/2kciKhb6SwEaluwYIFBAYGAtC+fXsqVKigbiAhRLrWuXNnsmXLBsDeffu4ffuWuoGEXpHCRqSq58+fM2vWLACMjIx0+tkIIURiLC0s6dGjR/yCVsuSJUtUzSP0ixQ2IlXNmTNHGUW0e/fuODo6qhtICKEX2rVrR67cuQE4cuQI//57WeVEQl9IYSNSTUBAAPPnzwfA1NQUd3d3lRMJIfSFmZk5vXv3VpZ//FFabUTSSGEjUs306dMJDw8HoG/fvhQsWFDlREIIfdKqZSvy5s0HwJkzp/H2Pq9yIqEPpLARqeLhw4fKdfHMmTMzduxYlRMJIfSNiYkJffv1VZYXLV6MFq2KiYQ+kMJGpAp3d3eioqIAGDJkCLa2tionEkLoo8aNG1O4SBEALv3zD8eOHVM5kUjvpLARKe7KlSusfT3PS7Zs2Rg5cqTKiYQQ+srYyJgB/fsry4sXLyY2LlbFRCK9k9m9RYobM2YMcXFxAIwaNYocOXKonEiobUq9yUTFRpPJ2DThxsmTIToaTBPZJgRQu04dypYrx6V//uHO7dv88ccftGjeQu1YIp2SFhuRok6dOsUvv/wCgL29PUOGDFE5kUgPKttVwSmfE5XtqiSysQpUd4p/FiIRGjQMHjxYWV66ZCmRUZEqJhLpmRQ2IsVotVpGjx6tLLu7u2NhYaFiIiGEoahUsRI1a9YCICDAnx3bt6ucSKRXUtiIFLN3716lY1/x4sXp2bOnyomEEIZk0OBBoNEAsHLVKsLCwlROJNIjKWxEioiLi8PNzU1Znjp1KiYm0oVLxPP2O88p31N4+yUyDon3eTh9Kv5ZiA8oVrQYTZrEzwIfEhzMuvXrVE4k0iP55hEpYtOmTfzzzz8AVKlShTZt2qicSKQn4w6N58nLQHJb5GFvl726G8ePh8BAyJMH/tib+AGEeK1fv34c+PNPYmJi2LRxI+3btSdXrlxqxxLpiLTYiM8WFRXF+PHjleUZM2aged1cLIQQKSmvfV7atGkLQEREBCtXrlA5kUhvpLARn23JkiXcu3cPgIYNG1K/fn11AwkhDJpLLxcyv74xYefOXdx/cF/lRCI9kcJGfJYXL14wadIkZXnGjBkqphFCZAQ5suega9euAMTGxrBo0SKVE4n0RAob8VmmT5/Os2fPAPj222+pVKmSyomEEBnBt99+S86c8X1rDh86xN9/+6gbSKQbUtiIT3b//n3mz58PgJmZGVOmTFE5kRAio7DIbKEzQea8+fNlgkwBSGEjPsP48eOJjIwf/XPIkCEULFhQ5URCiIykVcuWFCpUCIifIPPQoUMqJxKfa8mSJZQrVw5ra2usra1xcnJi797k3S0phY34JBcvXmTDhg0A5MiRgzFjxqicSAiR0RgbmzBk6FBledHChUTHRKuYSHyufPnyMWPGDLy9vTl//jz16tWjVatW/Pvvv0k+hhQ2Itm0Wi3ff/89Wm18s+/48ePJli2buqGEEBlSrVq1qPx6nrGHDx+y8+efVU4kPkeLFi1o2rQpxYoVo3jx4kydOpUsWbJw+vTpJB9DChuRbPv27cPLywuAQoUK0b9/f5UTCSEyKg0ahg77r9Vm2bLlMtVCOhQaGkpISIjyeNON4UNiY2PZsmUL4eHhODk5JflcnzTy8OLFi5k9ezb+/v6UL1+ehQsXUrVq1fe+/sWLF4wdO5adO3fy7NkzChYsyLx582jatOmnnF58wCXf4FQ9fmxcLN9NmU8mmyIADBw/nRtPIoCIVD2v0G8JRht+m4w2LD5TqZKlaNz4K/bv30dw8AvWrFnNoEGDP76jSDOlSpXSWXZ3d8fDwyPR1166dAknJyciIiLIkiULu3btSrD/hyS7xWbr1q24urri7u7OhQsXKF++PI0bNyYwMDDR10dFRdGwYUPu3bvHjh07uH79OsuXLydv3rzJPbVIB37ds4fbt28BULp0GRo2bKhyIiGEgIGDBmJiagrAps2b8fP3UzmReNuVK1cIDg5WHm/PLfiuEiVK4OPjw5kzZ+jfvz/du3fnypUrST5XsgsbT09PevfujbOzM6VKlWLp0qVYWFiwatWqRF+/atUqnj17xu7du6lZsyYODg7Url2b8uXLJ/fUQmXh4WH8uGSJsjxs+DA0yNQJQgj12dvZ06ljRwCiIiNZtFAG7UtPrKyslDudrK2tMTMze+9rM2XKRNGiRalcuTLTp0+nfPnyytAiSZGswiYqKgpvb28aNGjw3wGMjGjQoAGnTp1KdJ89e/bg5OTEwIEDsbGxoUyZMkybNo3Y2Nj3nicyMlLnWlxoaGhyYopUsnr1ap49fQpAvfr1qVihosqJhBDiPz1dXJQbGfbv38c/l/5RN5BIEXFxcUnqk/NGsgqboKAgYmNjsbGx0VlvY2ODv79/ovvcuXOHHTt2EBsbyx9//MH48eOZO3fuBwdzmz59OlmzZlUeybm2JlLHY7/HbNy0CQATU1OGDhmiciKhT5Z5L8PztCfLvJcl3Lh8GfzgGf8sxGewymJF3379lGXPuXOJ08apmEgkl5ubG8eOHePevXtcunQJNzc3jhw5QpcuXZJ8jFS/KyouLo48efKwbNkyKleuTIcOHRg7dixLly597z5ubm461+KSc21NpI6FCxYQHRUFQKdOncibN5/KiYQ+2XVtF5subWTXtV2JbNwFGzfGPwvxmb5p3ZpChQsDcPnyZf7cv1/lRCI5AgMD6datGyVKlKB+/fqcO3eO/fv3J6s/Z7LuisqVKxfGxsYEBATorA8ICMDW1jbRfezs7DA1NcXY2FhZV7JkSfz9/YmKiiJTpkwJ9jEzM9O5/hYSEpKcmCKF/f23DwcOHAAgW/bsuPR0UTmREEIkztjYBFdXVwYPGgTAwoWLqFOnLubm5ionE0mxcuXKzz5GslpsMmXKROXKlZUxTCC+RcbLy+u995jXrFmTW7duERf3X3PgjRs3sLOzS7SoEelLnDaOuZ6eynL//v3JkiWLiomEEOLDnKo7UaNmTQACAvzZuHGDyolEWkr2pShXV1eWL1/O2rVruXr1Kv379yc8PBxnZ2cAunXrpnMbV//+/Xn27BlDhw7lxo0b/P7770ybNo2BAwem3LsQqWbfvn1ceT2UdZEiRfm6VSuVEwkhxMcNHz4co9dXClavWcOToCcqJxJpJdmFTYcOHZgzZw4TJkygQoUK+Pj4sG/fPqVD8YMHD/Dz+2/8gPz587N//37OnTtHuXLlGDJkCEOHDmX06NEp9y5EqoiIiGDhwoXKsqvrcIyNP2lMRyGESFOFHArRpk0bACJeveLHxYtVTiTSyid9Sw0aNIhBr69fvuvIkSMJ1jk5OSVrngeRPqxZs5onrwde/PLLL6lWrbrKiYQQIun69unL3r17CQsN5dfffqNtu3aULlVa7VgilclcUSJRjx4/Yu26dUB8Z7xhw4apG0gIIZIpW7Zs9OnTJ35Bq2X2rFly+3cGIIWNSNS8H35Qbu/u3LkTBQs6qBtICCE+Qft27XVu//7j999VTiRSmxQ2IoEzZ05z+PBhAHLmzEWvXr1UTiSEEJ/GxMSEESNGKMsLFi4kPFxm/zZkUtgIHTExMcyePVtZHjJkMJaWcnu3+DyV7StRPV91KttXSrixUiWoXj3+WYhUUK1qNerWqwfAs6dPWb58ucqJRGqSW1yEjq1bt3Dv3j0AypYtS5OmTdUNJAzClLpTP7DxA9uESCHDhw/n5MmTREVGsnnzFr7+ujUODg5qxxKpQFpshOLp0yB+WvZ6vh6Nhu9HjsRII/9EhBD6z97Onu7duwMQGxvDnDmz0aJVOZVIDfKtJRSLFi/mZXg4AF+3akWpkjL5qBDCcHTv1l2Z/uf06dMcO3ZM5UQiNUhhI4D4uwV+3bMHgCxZsjBARoYWQhgYc3Nzhg8frizPnTuXyMgIFROJ1CCFjSA2Nobp06cry3379SNH9hwqJhKGpt9vfWm3ox39fuubyMa+0L5d/LMQqaxe/fpUqVIFgMePHrFmzRp1A4kUJ4WNYMeOHVy/fg2AYsWK0b5dO5UTCUNzP/gBd5/f4X7wg4QbHzyAO3fin4VIZRo0jBw1SpkeZvWaNTx4KP/2DIkUNhlcUFAQP/64RFke7eYm80EJIQxa4UKF6dr1WwBioqOZOWOmdCQ2IFLYZHDz5v2gDFbVqtXXlC9XXuVEQgiR+lx69VI6Ep85c5qDBw+qnEikFClsMrBz58+xb98+AKyzZmXw4MEqJxJCiLSR2Twz33//vbI8d84cGZHYQEhhk0FFx0QzY/oMZXnI4MFky5ZNvUBCCJHG/le7Nl9++SUQf1leGcdL6DUpbDKoDRs2cP/+PSB+hOGWrVqpG0gIIdKYBg0jvv+eTGZmAGzZsoUbN2+onEp8LilsMqDHfo9ZsXwFABojI0a7uckIw0KIDCmvfV5cXFwAiIuNZfr06cRp41ROJT6HfJtlMFq0TJ82TRmUqmOHDpQoXkLlVEIIoZ6uXbtSoGBBAC798w87f/5Z5UTic0hhk8Hs37ePU6dOAZA7Tx769eunciIhhFBXJtNMjHEboywvXLiIwCeBKiYSn0MGLMlAgoNfMGfuXGV59KhRWFpmUTGRyCh6V+7Nq+iXZDa1SGRjb3j5EiwS2SZEGqlSpQotWrbk1z17CA8PY/asWcyePUftWOITSGGTgcybN48Xz58D8cOK165dR91AIsP4xvGb929s/YFtQqShYcOGceLECZ4/e8bhw4c5fOQwdevUVTuWSCa5FJVBnD13ll9//RWIn+Ry5PcjVU4khBDpS1brrIwYMUJZnjlzJmFhMraNvpHCJgOIjIxg2tSpyvKQoUPJlSuXiomEECJ9atSoETVq1gQg6MkTFi1aqHIikVxS2GQAy5cvx9fXF4CKFSvy9ddfqxtIZDhBL4MICA8g6GVQIhuDIDAg/lkIlWnQ4ObmhnnmzED8JMF//+2jbiiRLFLYGLjrN66zbv16AExMTRk7dpyMWSPSXNddXWm2qSldd3VNuLFbV2jaNP5ZiHTAztaOAQMGKMtTpkwhKjpKxUQiOeQbzoDFxMTg4eFBXGwsAC4uLjg4OKgbSggh9ECHDh0oWaoUAHfv3mX58uUqJxJJJYWNAVu9ZjU3b8QPD160aFF69OihbiAhhNATxkbGuE9wx8Qk/ubhtWvXcuXqFZVTiaSQwsZA3bh5Q5k2wcjYGA+PiZiamKqcSggh9EfRokXp1asXED/dwkSPiXJJSg9IYWOAYmJimOgxkdjYGAB69OiBo6OjyqmEEEL/9OjhTPES8dPO3L59i5UrV6qcSHyMFDYGaO3aNVy/fg2AwkWKKL9xCCGESB4TExM8PDwwNo6/JLV69WquXbumcirxIVLYGJhbt24pndziL0F5kMk0k8qphBBCfxUvVhyXXv/NAO7h4U50TLTKqQzT9OnT+eKLL7CysiJPnjx8/fXXXL9+PVnHkMLGgERHR+Ph4U5MTPwlqO7dulGqZCmVUwkhhP5zdnamWPHiQPwvkKvkklSqOHr0KAMHDuT06dMcOHCA6OhoGjVqRHh4eJKPIYWNAZk+fbrSRFqocGF69+mjciIhhDAMpiamOpekVq5axb9X/lU5leHZt28fPXr0oHTp0pQvX541a9bw4MEDvL29k3wMKWwMxLlz55g0aRLw+hKUu7tcghJCiBRUongJevZ0BuIvSU0YP4GIiAiVU+mH0NBQQkJClEdkZGSS9gsODgYgR44cST6XRqvVaj8pZRry9fUlf/78PHz4kOdYqR0n3YmIiKBzl848uH8fgN69e9O3bz+VUwnxn/sv7hGjjcVEY0zBbA7vbLwHsbFgbAwFHRLZW4j0IyYmBueezly9Ej+mTfsOHZI8qXDZfFlTM1q69Ob7+13u7u54eHh8cN+4uDhatmzJixcvOHHiRJLP+UktNosXL8bBwQFzc3OqVavG2bNnk7Tfli1b0Gg0MldRCpu/YL5S1JQqXRoXF7kLSqQvBbM5UCR7kYRFDcQXM4WLSFEj9IKJiQlTJk/GzMwcgG1bt3Lq9CmVU6V/V65cITg4WHm4ubl9dJ+BAwdy+fJltmzZkqxzJbuw2bp1K66urri7u3PhwgXKly9P48aNCQwM/OB+9+7dY8SIEXz55ZfJPaX4gL9O/cX2bdsAMDMzZ/KkScpImUIIIVJewYIODB02VFme6OFBcPAL9QLpASsrK6ytrZWHmZnZB18/aNAgfvvtNw4fPky+fPmSda5kFzaenp707t0bZ2dnSpUqxdKlS7GwsGDVqlXv3Sc2NpYuXbowceJEChcunNxTivcIDn7BpIkTleVhw4dRUH7rFUKIVNeuXTucnJwACAoKYvr06WhJ9z070j2tVsugQYPYtWsXhw4dolChQsk+RrIKm6ioKLy9vWnQoMF/BzAyokGDBpw69f6muEmTJpEnTx5cXFySdJ7IyEidTkahoaHJiZkhaNEyddo0goKCAHCqUYO2bduqnEqIxO27tZfd13ax79beRDbuhd274p+F0BMaNExwd8fK2hqAgwcPsnev/Bv+XAMHDmTDhg1s2rQJKysr/P398ff359WrV0k+RrIKm6CgIGJjY7GxsdFZb2Njg7+/f6L7nDhxgpUrVyZrZtTp06eTNWtW5VGqlIzF8q7ffvuNQ15eAFhnzYr7BHc0aFROJUTi5p9ZwJTjU5h/ZkHCjQsWwJQp8c9C6JHcuXIzdswYZXnmjJk8evxIxUT6b8mSJQQHB1OnTh3s7OyUx9atW5N8jFS93Ts0NJSuXbuyfPlycuXKleT93NzcdDoZXbkiM6q+7d69e8ycMUNZHjt2bLI+XyGEECmjQYOGNG3WDIDw8DDGjhmjDJIqkk+r1Sb66NGjR5KPkaxeprly5cLY2JiAgACd9QEBAdja2iZ4/e3bt7l37x4tWrRQ1sXFxcWf2MSE69evU6RIkQT7mZmZ6XQsCgkJSU5MgxYZFYnbGDdl7ITWrVtTv159lVMJIUTGNWrkSP75+298fX25fPkyS5YuYfCgwWrHyrCS1WKTKVMmKleujNfrSyAQX6h4eXkpnaje5ujoyKVLl/Dx8VEeLVu2pG7duvj4+CR6b7v4sPnz53Pzxg0gfnTh774boXIiIYTI2CwtszB12jRlVOK1a9Zw5sxplVNlXMm+FOXq6sry5ctZu3YtV69epX///oSHh+PsHD8aY7du3ZT7083NzSlTpozOI1u2bFhZWVGmTBkyZZKRcZPj6NEjbHt9nTGTmRnTp03H3Nxc5VRCCCFKlyrN4MGDlOXxEybw9NlTFRNlXMkubDp06MCcOXOYMGECFSpUwMfHh3379ikdih88eICfn1+KB83oAgL88Xjr1u7vXF0pWrSoiomEEEK8rXOXLjjVqAHAs6dPcZ8wgThtnMqpMp5PGslt0KBBDBo0KNFtR44c+eC+a9as+ZRTZmixsTGMGzeO0Nd9jerVr883bdqonEoIIcTbjDRGTJw4kU4dO/H0aRCnT59mw4YNdOvaTe1oGYpMgqkHlv70ExcvXgTA1taWcePGya3dQgiRDuXInoPJUyaDJv5n9OJFi/n7bx91Q2UwUtikc8eOH2P161GdjYyNmTp1KtZW1iqnEkII8T5Vv6iq9DuNjY1h1OjR0t8mDUlhk449euTLhPHjleWhQ4ZQvnwF9QIJ8YlyWeQkt0UeclnkTLgxZ07Ikyf+WQgD0a9vX6pUqQJA0JMnMr5NGtJotdp0P7nFm2nPHz58yHOs1I6TJiIjI+jZ04Xr168B8f1qZs6cKZeghBBCTzx99pQunTsrU99817M906ZNUzlV2nr7+zu5k1l+KmmxSadmzZqtFDUFChbEfcIEKWqEEEKP5MyRk5kzZyrj20yfPp09e/aonMrwSWGTDv2y5xd++WU3ED8W0OxZs7C0zKJuKCGEEMlWvnwFhgwdoix369aN27dvq5jI8Elhk85cu3aNmTNnKstjx42jSBEZr0YIIfRV586dqV+/AQDBwcG0adOGly9fqpzKcElhk448ffYU1+9ciYqMBKBt27Y0+aqJyqmE+HxTj09l1MFRTD0+NeHGaVNh1Kj4ZyEMkAYNEyaMp3jx4gD8/fff9OzZEz3o4qqXPmmAPpHyoqKjGPn9SAJfTzBatlw5XL/7TuVUQqSMEw9O8ORlILkt8iSy8QQEBsbfGSWEgbK0zMKuXbuoVq0aYWFhbN26lXLlyjFmzBi1oxkcabFJB7RomTVzpjKIU+48eZgzezaZTGUuLSGEMBSlSpVi48aNaF4P3jd27FjpTJwKpLBJB7Zt28bu3buB+Mkt586dS86cudQNJYQQIsW1bNmSyZMnK8tdunTh33//VTGR4ZHCRmXnzp9j7ty5yvKE8eMpVbKUiomEEEKkpjFjxtC+fXsAwsLCaNWqFc+ePVM5leGQwkZFvr6+jBo1irjYWAC6de/OV9JZWAghDJpGo2HVqlVUqFABgNu3b9O+fXuio6PVDWYgpLBRSXDwC4YMHUJIcDAANWvWYuDAgSqnEkIIkRYsLS355ZdfyJ07NwBeXl70799f7pRKAVLYqCAqOooRI0bw4P59AAoVLszUqVMxNjJWOZkQQoi0UqBAAXbt2kWmTPE3iqxcuZIZM2aonEr/SWGTxrRomTRxIhcvXgQgR86czJ8/nyxZZGRhIYTIaGrWrMnatWuV5TFjxrB582YVE+k/KWzS2NKlS9m3bx8QP13CvHnzsLezVzmVEEIItXTs2FFncswePXpw4sQJFRPpNxmgLw39sucXVq5YEb+g0TB12jS5A0pkCF8VaUxIVCjWmawSbmzcGEJCwTqRbUJkEKNHj+bOnTusWLGCqKgoWrVqxalTp5TRikXSabR60FPp7WnPn6OfP/xOnT7FsKHDiI2NAWDEiBF07NhJ5VRCCCHSStl8WT+4PTo6mubNm/Pnn38CULhwYU6ePImtrW1axEsVb39/58uXL03OKZei0sA/l/7h+xEjlKKmU6dOUtQIIYTQYWpqyvbt2ylbtiwAd+7c4auvvuLFixfqBtMzUtikstu3bzF06FAiIiIAqF+/AcOGD1c5lRBCiPTI2tqaP/74gwIFCgDxE2a2bNmSV69eqZxMf0hhk4oePX7EwIEDCQ0JAaBqtWpMnjJZbusWQgjxXvny5ePAgQPKGDfHjx+nQ4cOMoBfEklhk0qePnvKoIEDCQoKAqB06TLMmTNHJrYUGVKbbW3435r/0WZbm0Q2toHa/4t/FkIAULx4cfbu3YuVVXy/0l9//RUXFxfi4uJUTpb+SWGTCkLDQhk8eDAPHz4EwMHBgfnz52OR2ULlZEKo42X0S15Gh/My+mXCja9eQnh4/LMQQlG5cmV++eUXZQC/9evX891338noxB8hhU0KCw8PY/CgQdy4fh0AGxtbFi9eTLZs2dQNJoQQQu/UrVuXLVu2YGQU/3U9b948xowZI8XNB0hhk4LCX4YzeMgQLl++DEC27NlZvHgxNjb6e6ueEEIIdbVu3ZoVb8ZAA2bMmIG7u7uKidI3KWxSyMtXLxk6ZAj//P03AFmzZmPpkqU4ODioG0wIIYTec3Z2ZsmSJcry5MmTmTRpkoqJ0i8pbFLAq4hXDBs2DB8fHwCsrK35ccmPFC1aVN1gQgghDEa/fv1YuHChsuzu7s7UqVNVTJQ+SWHzmSIiInAdPpwL3t4AZLGyYsmPSyhRvITKyYQQQhiaQYMG4enpqSyPGzeOmTNnqpgoZR07dowWLVpgb2+PRqNh9+7dyT6GFDafIfxlOEOGDuHcuXMAWFpmYfHixTg6OqqcTAghhKEaPnw4s2fPVpZHjx7NpEmTDKJDcXh4OOXLl2fx4sWffAyZBPMTBYcEM2TwEP79N76jsIWlJYsWL6J0qdIqJxNCCGHoRowYQUxMDG5ubkD8ZanQ0FBmzZqFRqNROd2na9KkCU2aNPmsY0hh8wmePnvKwAEDuHXrFgDWWbOyaNEimalbCCFEmhk9ejRmZma4uroCMGfOHMLCwli8eLFye3h6ERoaSsjrUfgBzMzMMDMzS5VzSWGTTAEB/vQfMIAH9+8DkCNnTpb8+CNFikhHYSHeZ8yXY4iMicDMxDyRjWMgIgLME9kmhPig4cOHkyVLFvr27YtWq2Xp0qWEh4ezatUqTEzSz1d8qVK6v/i7u7vj4eGRKudKP+9aDzx4+ICBAwbg5+cHxA++t2TpEgrkL6ByMiHSty8LfPn+jbU+sE0I8VG9e/fG0tKSbt26ERsby/r16wkLC2PTpk2Yp5NfGK5cuULevHmV5dRqrYFP7Dy8ePFiHBwcMDc3p1q1apw9e/a9r12+fDlffvkl2bNnJ3v27DRo0OCDr0+vLl2+hHMPZ6WoyZ8/PytXrpSiRgghhOo6d+7Mjh07lOkXdu3aRaNGjXj27JnKyeJZWVlhbW2tPNJVYbN161ZcXV1xd3fnwoULlC9fnsaNGxMYGJjo648cOUKnTp04fPgwp06dIn/+/DRq1IhHjx59dvi0cvTYUfr17Udw8AsAihYtyvLlK7C1lRGFhRBCpA9ff/01v/76K5aWlkD8rOC1atXi/uuuExmFRpvM+8OqVavGF198waJFiwCIi4sjf/78DB48mNGjR390/9jYWLJnz86iRYvo1q1bks7p6+tL/vz5efjwIc+xSk7cz7Zjx3ZmzpqF9vWMql988QWzZ88hS5YsaZpDCH12Negq0bHRmBqbUjJXSd2N165CdDSYmoJjycQPIIQBKJsva5qc5/z58zRr1kxpcLCzs+OPP/6gQoUKaXL+t739/Z0vX76Pvj4sLEy5MadixYp4enpSt25dcuTIQYECSbtCkqwWm6ioKLy9vWnQoMF/BzAyokGDBpw6dSpJx3j58iXR0dHkyJHjva+JjIwkJCREeYSGhiYnZorQomXx4kXMmDFDKWq++uorFixcKEWNEMnkut+Vnnuccd3vmshGV3B2jn8WQny2KlWqcOrUKYoVKwaAn58f//vf/zhw4IDKyT7u/PnzVKxYkYoVKwLg6upKxYoVmTBhQpKPkazCJigoiNjYWGxsbHTW29jY4O/vn6RjjBo1Cnt7e53i6F3Tp08na9asyuPd3tSpLSIiArfRo1m9erWyrlv37kyaPBlTE9M0zSKEEEIkV+HChfnrr7+oXr06EH+7ddOmTXXmm0qP6tSpg1arTfBYs2ZNko+Rpje6z5gxgy1btrBr164P9tR2c3MjODhYeVy5ciXNMgYE+OPi4sLBgwfjV2g0fD9yJEMGD8FIk77GBRBCCCHeJ1euXHh5edGqVSsAYmJiGDBgAP379yc6OlrldKknWd/UuXLlwtjYmICAAJ31AQEBH+1IO2fOHGbMmMGff/5JuXLlPvhaMzMznd7TVlZp06/mn0v/0LVbN65fvwZAZgsLPD096dC+Q5qcXwghhEhJFhYW/Pzzz4wYMUJZt3TpUho1akRQUJCKyVJPsgqbTJkyUblyZby8vJR1cXFxeHl54eTk9N79Zs2axeTJk9m3bx9VqlT59LSp6NfffqVPnz48e/oUgLx587FmzRr+9+X/VE4mhBBCfDpjY2Nmz57NmjVrlNvBjxw5QtWqVbl8+bLK6VJesq+tuLq6snz5ctauXcvVq1fp378/4eHhODs7A9CtWzdl7gqAmTNnMn78eFatWoWDgwP+/v74+/sTFhaWcu/iM0RFRzFz1kwmengQ87pprnLlKqxbt5YihYuonE4IIYRIGd27d+fIkSNKP9m7d+9SvXp1tmzZonKylJXswqZDhw7MmTOHCRMmUKFCBXx8fNi3b5/yQT148EAZxA5gyZIlREVF0bZtW+zs7JTHnDlzUu5dfKLHfo/p1asX27dtU9a1bduWxYsXkzVrNvWCCSGEEKnAycmJc+fOUalSJSB+Nu1OnToxaNAgIiMjVU6XMj5pSoVBgwYxaNCgRLcdOXJEZ/nevXufcopUd+LECcZPGE/o60m5TDNlYuTIkbT+urXKyYQQQojUkz9/fo4fP06/fv1Yv349ED+jwNmzZ9m2bRsODg7qBvxMGe42n9jYGBYvXsSwYUOVoiZfvnysWb1aihohhBAZgoWFBWvXrmXZsmXK9AZvWnJ+++03ldN9ngxV2Dz0fYiLi4vO+DR16tRh/YYNlCjhqGIyIYQQIm1pNBp69+7NqVOnKFIkvk/p8+fPadGiBYMHD+bVq1cqJ/w0yZ5SQQ2fO6WCFi179uxh9uzZRLz+izIyNmbokCF07tIFDZqUjiyEeEt4dDigBTRYmlrqbnwZDlotaDRgYZnY7kIYhLSaUuFTvHjxAmdnZ3bv3q2sK1myJBs3blRGAf4UyZ1SISUYfItNcPALRo4cyeRJk5SiJl++fKxcuZIuXb6VokaINGBpaomlaZaERQ3EFzOWWaSoEUJF2bJlY+fOnSxevFgZQPfq1atUq1aNWbNmERsbq3LCpDPowub4ieN06NCBw4cOKetatfqaTZs3U7ZMWRWTCSGEEOmLRqNhwIABXLhwQWmliY6OZtSoUdSvX5/bt2+rnDBpDLKwef7iOWPHjmX4sGHKyIpZs2Zj9pw5jB8/HovMFionFEIIIdKnkiVLcvr0aUaNGoVGE39V4+jRo5QtWxZPT89033pjUIWNFi37/9xPu7Zt2b9/n7LeqUYNtmzdQt06dVVMJ0TGtfHSBn7y/omNlzYksnEDLPsp/lkIkS5kypSJGTNmcPjwYQoWLAjAq1ev+O6776hRowb//vuvygnfz2AKG39/f7777jvGjhnDixcvALCytmbixIksWLCA3LlyqxtQiAxswz8bWX5hGRv+2Zhw48aNsGxZ/LMQIl2pXbs2ly9fZvDgwUrrzdmzZ6lYsSITJ04kIiJC5YQJ6X1hExUdxarVq2jTpg3Hjh5V1tev34AdO3bQrFlz6SAshBBCfKIsWbKwYMECjh8/TokSJYD4vjceHh6UKVOG33//XeWEuvS6sPnr1F906NCBHxcvJjIyvmrMkTMns2bPZubMmeTMkVPlhEIIIYRhqFmzJj4+Pri5uWFsbAzA7du3ad68Oa1ateLu3bsqJ4ynl4WNr68v338/giGDB/PwwQMANEZGdOrUiZ0/76Re3XoqJxRCCCEMj7m5OdOmTcPHx4fatWsr6/fs2UOpUqXw8PBQfZJrvSpsnj17xpw5s2nbtg2HDx9W1leoUIFNmzbx3XcjyJIli4oJhRBCCMNXpkwZDh8+zMaNG7GzswMgIiKCiRMnUqxYMZYtW0ZMTIwq2fSqsKlZsyZbtmxRPqwcOXMycdIklq9YQbGixVROJ4QQQmQcGo2Gzp07c+3aNb777jtMTOLn1fb396dv376UK1eOAwcOpHkuvSps3jRvmZub06tXL3bt2kWzps2kc7AQQgihEmtra+bMmcO///7LN998o6y/evUqPXv2TPM8elXYALRu3Zpdu3fTr19/LGUIdiGEECJdKF68OD///DMnTpzAyclJtRx6Vdh4eXkxduw4GZNGCCGESKdq1qzJyZMn+fnnn3FwcEjz85uk+Rk/Q/HixXmudgghRLI55nLENsKGbObZE9noCDY2kD2RbUIIvaTRaPjmm2+oVKkShQoVStNz61VhI4TQTz80/uH9Gz0/sE0IodfedChOS3p1KUoIIYQQ4kOksBFCCCGEwZDCRgghhBAGQ/rYCCFS3fD9w3kR8Zxs5tkT9rdxHQ7Pn8d3Hpb+NkKIzySFjRAi1V0LusaTl4HktsiTyMZrEBgIeRLZJoQQySSXooQQQghhMKSwEUIIIYTBkMJGCCGEEAZDChshhBBCGAwpbIQQQgiRbixevBgHBwfMzc2pVq0aZ8+eTdb+UtgIIYQQIl3YunUrrq6uuLu7c+HCBcqXL0/jxo0JDAxM8jGksBFCCCFEuuDp6Unv3r1xdnamVKlSLF26FAsLC1atWpXkY+jFODZxcXEA+Pn5EWIUpnIaIURyxYZEoX0ZR2xMFIEBfrobo6MgLi7++d1tQhgQX0LVjpDm/Pzi/08HBwdjbW2trDczM8PMzEzntVFRUXh7e+Pm5qasMzIyokGDBpw6dSrJ59SLwiYgIACAqlWrqpxECPE5/LlLg2klE9/45C5Uec82IYReK1OmjM6yu7s7Hh4eOuuCgoKIjY3FxsZGZ72NjQ3Xrl1L8rn0orCpWLEiZ8+excbGBiMjuXqWFKGhoZQqVYorV65gZWWldhyDIZ9rypPPNOXJZ5ry5DP9NHFxcTx48IBSpUphYvJfyfFua01K0ovCxsTEhC+++ELtGHolJCQEgLx58+o0/4nPI59rypPPNOXJZ5ry5DP9dAUKFEjS63LlyoWxsbFyleaNgIAAbG1tk3w+af4QQgghhOoyZcpE5cqV8fLyUtbFxcXh5eWFk5NTko+jFy02QgghhDB8rq6udO/enSpVqlC1alXmzZtHeHg4zs7OST6GFDYGyszMDHd391S9jpkRyeea8uQzTXnymaY8+UzTRocOHXjy5AkTJkzA39+fChUqsG/fvgQdij9Eo9VqtamYUQghhBAizUgfGyGEEEIYDClshBBCCGEwpLARQgghhMGQwkYIIYQQBkMKGz00Y8YMNBoNw4YNU9bdvn2b1q1bkzt3bqytrWnfvn2CQY4S8+jRI7799lty5sxJ5syZKVu2LOfPn0/F9OlTSn2msbGxjB8/nkKFCpE5c2aKFCnC5MmTySh99D08PNBoNDoPR0dHZXtERAQDBw4kZ86cZMmShTZt2nz0M9VqtUyYMAE7OzsyZ85MgwYNuHnzZmq/lXQjpT/T6OhoRo0aRdmyZbG0tMTe3p5u3brx+PHjtHg76UJq/Dt9W79+/dBoNMybNy8V0ouPkcJGz5w7d46ffvqJcuXKKevCw8Np1KgRGo2GQ4cOcfLkSaKiomjRooUygWhinj9/Ts2aNTE1NWXv3r1cuXKFuXPnkj179rR4K+lGSn6mM2fOZMmSJSxatIirV68yc+ZMZs2axcKFC9PiraQLpUuXxs/PT3mcOHFC2TZ8+HB+/fVXtm/fztGjR3n8+DHffPPNB483a9YsFixYwNKlSzlz5gyWlpY0btyYiIiI1H4r6UZKfqYvX77kwoULjB8/ngsXLrBz506uX79Oy5Yt0+KtpBsp/e/0jV27dnH69Gns7e1TK7r4GK3QG6GhodpixYppDxw4oK1du7Z26NChWq1Wq92/f7/WyMhIGxwcrLz2xYsXWo1Goz1w4MB7jzdq1ChtrVq1Ujt2upbSn2mzZs20PXv21Fn3zTffaLt06ZIq+dMbd3d3bfny5RPd9uLFC62pqal2+/btyrqrV69qAe2pU6cS3ScuLk5ra2urnT17ts5xzMzMtJs3b07R7OlVSn+miTl79qwW0N6/f/9z4+qF1PpMfX19tXnz5tVevnxZW7BgQe0PP/yQgqlFUkmLjR4ZOHAgzZo1o0GDBjrrIyMj0Wg0OgNHmZubY2RkpPNbyLv27NlDlSpVaNeuHXny5KFixYosX7481fKnRyn9mdaoUQMvLy9u3LgBwN9//82JEydo0qRJ6ryBdOjmzZvY29tTuHBhunTpwoMHDwDw9vYmOjpa57N2dHSkQIECnDp1KtFj3b17F39/f519smbNSrVq1d67jyFKyc80McHBwWg0GrJly5bS0dOtlP5M4+Li6Nq1K99//z2lS5dO9fzi/aSw0RNbtmzhwoULTJ8+PcG26tWrY2lpyahRo3j58iXh4eGMGDGC2NhY/Pz83nvMO3fusGTJEooVK8b+/fvp378/Q4YMYe3atan5VtKN1PhMR48eTceOHXF0dMTU1JSKFSsybNgwunTpkppvJd2oVq0aa9asYd++fSxZsoS7d+/y5ZdfEhoair+/P5kyZUrw5WljY4O/v3+ix3uz/t1RRz+0j6FJ6c/0XREREYwaNYpOnTplmMkdU+MznTlzJiYmJgwZMiSV04uPkSkV9MDDhw8ZOnQoBw4cwNzcPMH23Llzs337dvr378+CBQswMjKiU6dOVKpUCSOj99eucXFxVKlShWnTpgFQsWJFLl++zNKlS+nevXuqvZ/0ILU+023btrFx40Y2bdpE6dKl8fHxYdiwYdjb2xv8ZwrotEyVK1eOatWqUbBgQbZt20bmzJlVTKa/UvMzjY6Opn379mi1WpYsWfK5UfVGSn+m3t7ezJ8/nwsXLqDRaFIyqvgE0mKjB7y9vQkMDKRSpUqYmJhgYmLC0aNHWbBgASYmJsTGxtKoUSNu375NYGAgQUFBrF+/nkePHlG4cOH3HtfOzo5SpUrprCtZsqTSJGvIUusz/f7775VWm7Jly9K1a1eGDx+eaKtQRpAtWzaKFy/OrVu3sLW1JSoqihcvXui8JiAgAFtb20T3f7P+3TtSPrSPofvcz/SNN0XN/fv3OXDgQIZprUnM536mx48fJzAwkAIFCig/T+7fv893332Hg4ND6r8BoUMKGz1Qv359Ll26hI+Pj/KoUqUKXbp0wcfHB2NjY+W1uXLlIlu2bBw6dIjAwMAP3ulQs2ZNrl+/rrPuxo0bFCxYMNXeS3qRWp/py5cvE7ToGBsbf/BOKkMWFhbG7du3sbOzo3LlypiamuLl5aVsv379Og8ePMDJySnR/QsVKoStra3OPiEhIZw5c+a9+xi6z/1M4b+i5ubNmxw8eJCcOXOmRfR063M/065du/LPP//o/Dyxt7fn+++/Z//+/Wn1NsQbavdeFp/m7Tt4tFqtdtWqVdpTp05pb926pV2/fr02R44cWldXV5196tWrp124cKGyfPbsWa2JiYl26tSp2ps3b2o3btyotbCw0G7YsCGt3ka6khKfaffu3bV58+bV/vbbb9q7d+9qd+7cqc2VK5d25MiRafU2VPXdd99pjxw5or1796725MmT2gYNGmhz5cqlDQwM1Gq1Wm2/fv20BQoU0B46dEh7/vx5rZOTk9bJyUnnGCVKlNDu3LlTWZ4xY4Y2W7Zs2l9++UX7zz//aFu1aqUtVKiQ9tWrV2n63tSS0p9pVFSUtmXLltp8+fJpfXx8tH5+fsojMjIyzd+fGlLj3+m75K4o9Uhho6fe/RIeNWqU1sbGRmtqaqotVqyYdu7cudq4uDidfQoWLKh1d3fXWffrr79qy5QpozUzM9M6Ojpqly1blgbp06eU+ExDQkK0Q4cO1RYoUEBrbm6uLVy4sHbs2LEZ5gujQ4cOWjs7O22mTJm0efPm1Xbo0EF769YtZfurV6+0AwYM0GbPnl1rYWGhbd26tdbPz0/nGIB29erVynJcXJx2/PjxWhsbG62ZmZm2fv362uvXr6fVW1JdSn+md+/e1QKJPg4fPpyG70w9qfHv9F1S2KhHo9VmkCFRhRBCCGHwpI+NEEIIIQyGFDZCCCGEMBhS2AghhBDCYEhhI4QQQgiDIYWNEEIIIQyGFDZCCCGEMBhS2AghhBDCYEhhI4QQQgiDIYWNEEIIIQyGFDZCCCGEMBhS2AghhBDCYEhhI4QQQgiD8X+V6t+fab+utgAAAABJRU5ErkJggg==",
"text/plain": [
"<Figure size 640x480 with 2 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"import numpy as np\n",
"from scipy.stats import norm\n",
"import matplotlib.pyplot as plt\n",
"fig, ax = plt.subplots(1, 1)\n",
"\n",
"mean = 50\n",
"std = 0.25\n",
"rv = norm(loc=mean, scale=std)\n",
"\n",
"mean, var, skew, kurt = rv.stats('mvsk')\n",
"\n",
"sample_size = 30\n",
"print(f\"{sample_size=}\")\n",
"\n",
"sample = rv.rvs(size=sample_size, random_state=1)\n",
"sample_mean = np.mean(sample)\n",
"\n",
"domain_p1, domain_p99 = rv.ppf(0.01), rv.ppf(0.99)\n",
"x = np.linspace(domain_p1, domain_p99, 100)\n",
"\n",
"_ = ax.plot(x, rv.pdf(x), 'k-', lw=2, label='pdf')\n",
"_ = ax.axvline(mean, color='red', lw=2, linestyle='--', label=f'{mean=:.2f}')\n",
"_ = ax.axvline(sample_mean, color='green', lw=2, linestyle='--', label=f'{sample_mean=:.2f}')\n",
"\n",
"_ = ax.twinx().hist(sample, density=False, bins='auto', histtype='stepfilled', alpha=0.2, label='sample histogram')\n",
"\n",
"_ = ax.set_xlim(domain_p1, domain_p99)\n",
"_ = ax.legend(loc='upper right', frameon=False)\n",
"\n",
"def button_normal():\n",
" for idx, val in enumerate(sample):\n",
" yield idx + 1, float(np.round(val, 2))\n",
" \n",
"button_normal = button_normal()"
]
},
{
"cell_type": "code",
"execution_count": 3,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"(1, 50.41)"
]
},
"execution_count": 3,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"next(button_normal)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Chi2"
]
},
{
"cell_type": "code",
"execution_count": 4,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"sample_size=30\n"
]
},
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAkcAAAGdCAYAAAAYDtcjAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguMCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy81sbWrAAAACXBIWXMAAA9hAAAPYQGoP6dpAABtGklEQVR4nO3dd1xW5f/H8dfNEFCGk40zt7hHaGU/JdGcaTmyTDMt01xfzZErt6amWWlaVqamDVealpJmJu4oc6WVIirgZCrI+P1B3kmiAt544Ob9fDzO4+ac+zqf87mJ5MN1rnNdprS0tDREREREBAAboxMQERERyUtUHImIiIjcQsWRiIiIyC1UHImIiIjcQsWRiIiIyC1UHImIiIjcQsWRiIiIyC1UHImIiIjcws7oBCwhOTmZX375BQ8PD2xsVO+JiIjkB6mpqURGRlKnTh3s7PJOSZJ3MrkPv/zyCw0bNjQ6DREREcmBvXv30qBBA6PTMMtRcfTee+/x1ltvERERQa1atZg/f/4di5PFixezdOlSfv/9dwDq1avH1KlTM7Tv2bMnn376aYbzgoKC2Lx5c5by8fDwANK/uV5eXjn5SJKfLV8O8fFQpAh0726ZkL8tJ/5GPEXsi9C9pmViiohIRufPn6dhw4bm3+N5RbaLo1WrVjF06FAWLlxIo0aNmDt3LkFBQRw/fhx3d/fb2m/fvp1u3brRuHFjHB0dmTFjBi1atODw4cP4+PiY27Vs2ZKPP/7YvO/g4JDlnG7eSvPy8sLX1ze7H0nyuxEjLB/S1/IxRUQkc3ltSEy2s5kzZw59+vShV69eVKtWjYULF1K4cGGWLFmSafvly5fz6quvUrt2bapUqcKHH35IamoqwcHBGdo5ODjg6elp3ooVK5azTyQiIiJyH7JVHCUlJXHgwAECAwP/DWBjQ2BgICEhIVmKkZCQwI0bNyhevHiG49u3b8fd3Z3KlSvTr18/Ll26dMcYiYmJxMTEmLfY2NjsfAwRERGRO8pWcXTx4kVSUlJuuzfo4eFBRERElmKMGDECb2/vDAVWy5YtWbp0KcHBwcyYMYMff/yRVq1akZKSkmmMadOm4ebmZt6qVauWnY8h1ub8eQgPT3+1VMjY84THhHM+1nIxRUQkf3igT6tNnz6dlStXsn37dhwdHc3Hu3btav7a39+fmjVrUqFCBbZv307z5s1vizNq1CiGDh1q3j979qwKpIKsQQM4exZ8fNKLJEuEXNyAs7Fn8XHxIXyoZWKKiEj+kK2eo5IlS2Jra0tkZGSG45GRkXh6et713FmzZjF9+nS+//57atasede25cuXp2TJkpw8eTLT9x0cHHB1dTVvLi4u2fkYIiIiIneUreKoUKFC1KtXL8Ng6puDqwMCAu543syZM5k0aRKbN2+mfv3697xOeHg4ly5d0mP5IiIi8sBl+2m1oUOHsnjxYj799FOOHj1Kv379iI+Pp1evXgD06NGDUaNGmdvPmDGDsWPHsmTJEsqWLUtERAQRERHExcUBEBcXx/Dhw9m9ezenTp0iODiY9u3b89BDDxEUFGShjykiIiKSNdkec9SlSxcuXLjAuHHjiIiIoHbt2mzevNk8SDssLCzDfAULFiwgKSmJp59+OkOc8ePHM2HCBGxtbfntt9/49NNPuXr1Kt7e3rRo0YJJkyZla64jEREREUvI0YDsAQMGMGDAgEzf2759e4b9U6dO3TWWk5MT3333XU7SEBEREbG4vDUlpYiIiIjBVByJiEiuKVu2LHPnzjXvR0RE8MQTT1CkSBGKFi1qWF4id/NA5zkSEZGC7e233+b8+fOEhobi5uZmdDoimVJxZGFpaWmEhoZy9OhRTp48yYkTJzhx4gTnz5/H39+fli1b0rJlSx566CGjUxUReeD+/PNP6tWrR8WKFY1OReSOVBxZ0B9//EGvXr3YtWtXpu+HhYWxceNGIH2iy5YtW9K3b19q1ar1INO0PsHBkJwMdpb7cQ7uEUxyajJ2NvpfROSmxx9/nBo1agDw2WefYW9vT79+/Zg4cSImk4moqCh69+7N1q1b8fT0ZPLkyRnOL1u2LKdPnwZg6dKlvPDCC3zyyScP+mOI3JNV/ct/PDKOK0Q/8OumpqWyatUq3p3/LomJ1ynkUeG2Nk6FC3MtIcG8Hx4PH379HR+t2UK3bt14+eWXKVK4yINM+zb+vvm0i7tyZcuHLGn5mCJ3U79+/SyvUWlJnp6e7N+/P8vtP/30U3r37s3evXvZv38/ffv2pXTp0vTp04eePXty7tw5tm3bhr29PQMHDiQqKsp87r59++jRoweurq7MmzcPJyen3PhIIvfNqoojI5w9G86bEydy8MAB8zFfX1+e6tiR0qVLU9rPDx8fXxwcHThx4gQhu3YREhJCaGgoycnJpKWmsmL5crZs2cLw4cP5v//7P0yYDPxEImKEiIgIzp49a3Qa9+Tn58fbb7+NyWSicuXKHDp0iLfffpumTZuyadMm9u7dS4MGDQD46KOPqFq1qvncUqVK4eDggJOT0z2XnBIxkoqj+xAcvJXxEyZw/do187EuXboy4LUBODne/hdRpYqVqFSxEi+80JP4hHi++OILFi9eTFJiIheionh9+HAeeeQRRowciZenlk4RKUiMKhaye92HH34Yk+nfP+ACAgKYPXs2R48exc7Ojnr16pnfq1Klip5Ik3xJxVEOnTh5gjFjx3IjKQkAL29vJowfT7169147DqBI4SL06tmLFk88wfQZMwj5Z5zSzp07+f2555g7d5753r7cw4oVkJAAhQvDs89aJuShFSTcSKCwfWGe9bdMTJG7yc6tLRHJXZrnKAeuXb/GqJEjzYXREy1asHLlyiwXRrfy8fHlnXfeYcaMGZQsVQqAq1ev8vLLL/PTzp8smrfVev116NMn/dVSIbe8Tp9v+vD6FsvFFLEGe/bsybC/e/duKlasSJUqVUhOTubALUMMjh8/ztWrVx9whiL3T8VRDsycMcO8LErlylWYMGHCfQ2mNmGiefNAvvzyS3OBlZh4naFDh7J6zWpLpCwiYhFhYWEMHTqU48eP8/nnnzN//nwGDRpE5cqVadmyJS+//DJ79uzhwIEDvPTSSxp0LfmSiqNs2vjtRr755hsg/Qm0adOn4VDIMgvkuji7MP/d+TzRogUAaampTJ0yhYULF5BGmkWuISJyP3r06MG1a9do2LAh/fv3Z9CgQfTt2xeAjz/+GG9vb5o2bUrHjh3p27cv7u7uBmcskn0ac5QNp0+fYtq0aeb9N0aPprRfaYteo5B9IaZMmYKHuzvLli0D4MMPP+TylSuMGjVKT7KJiKHs7e2ZO3cuCxYsuO09T09PNmzYkOHY888/n2F/7dq1uZmeiEWo5yiLEpMSGTlypPnJtHbt29OyZatcuZaNyYbBg4cw9H//g3+eCln99de8//77uXI9ERER+ZeKoyx6d/58Tpw4AUC5cuUYPnx4rl/z2W7PMnnSJHOB9PGSJaxatTLXrysiIlKQ6bZaFly4eIEvv/wSgEIODkyfPj3TeYxyQ8uWrYiOieGtmTMBeGvWLIoVL06LJ1o8kOuLiNy0fft2o1MQeSDUc5QFX6xaRXJyMgDPdutGhQoPdtHYLp278GLv3uk7aWmMGzuWPXv33P0kERERyREVR/dw7fo1vvr6awDs7Ozo0rWrIXn069eP9u07AJCcnMywYcM4duyYIbmIiIhYMxVH9/DNN98QGxMDQFBQS0qVLGVIHiZMjB49iseaNgXgWkICgwcP4uLFi4bkk6d4eoKPT/qrpUI6e+Lj4oOns9Z/EhEpaFQc3UVKagorli8373d/rruB2YCtrR3Tpk6lVq3aAFy8eJFRo0aab/kVWPv3Q3h4+qulQvbdT/jQcPb31ZIOIiIFjYqju9ixYwfh4eEANGzUiEoVKxmcETg4OPLWrLco9c/Ear/88gvz3plncFYiIiLWQ8XRXSz7bJn56+eee87ATDIqXqw4M2fOxM4u/WHDz1es4LvvvzM4KxEREeug4ugOfv/9d379NRSA8hUqEBAQYGxC/+Ffwz/DXEuTJk7kzz9PGpiRiIiIdVBxdAfLln1m/rp79+55ctmOjp060aZNGwCuX7/OsOHDiYuLMzgrA7z8MjzzTPqrpUJ+8zLPfPkML39juZgikjcsWLCAmjVr4urqiqurKwEBAWzatOme53355ZdUqVIFR0dH/P39+fbbbzO8n5aWxrhx4/Dy8sLJyYnAwEDz5MGSv6g4ysS58+cI/uEHAIqXKEGrVrmzTMj9MmFi1KhRVKpcGYAzYWFMmDC+4C1Su3EjfPVV+qulQp7YyFdHvmLjCcvFFJG8wdfXl+nTp3PgwAH2799Ps2bNaN++PYcPH77jObt27aJbt2707t2bX375hQ4dOtChQwd+//13c5uZM2fyzjvvsHDhQvbs2UORIkUICgri+vXrD+JjiQWpOMrE559/TlpqKgBdOnemkH0hgzO6MwcHR96aORMXV1cgfQbb1atXG5yViFijxx9/nNdee43BgwdTrFgxPDw8WLx4MfHx8fTq1QsXFxceeuihDL0wv//+O61atcLZ2RkPDw+ef/75DFOQbN68mUceeYSiRYtSokQJ2rRpw59//ml+/9SpU5hMJlavXs3//d//UbhwYWrVqkVISEiOP0fbtm158sknqVixIpUqVWLKlCk4Ozuze/fuO54zb948WrZsyfDhw6latSqTJk2ibt26vPvuu0B6r9HcuXMZM2YM7du3p2bNmixdupRz585psd18SMXRf6SkprDxnx4IBwdHOnV62uCM7s3Hx5cJEyaY9+fMnsPp06cMy0dEcmjOHPD1vffWrt3t57Zrl7Vz58y5rxQ//fRTSpYsyd69e3nttdfo168fzzzzDI0bN+bgwYO0aNGC559/noSEBK5evUqzZs2oU6cO+/fvZ/PmzURGRtK5c2dzvPj4eIYOHcr+/fsJDg7GxsaGp556itR//kC96Y033mDYsGGEhoZSqVIlunXrZp7GJCwsDGdn57tuU6dOzfTzpKSksHLlSuLj4+86tjQkJITAwMAMx4KCgsxF2t9//01ERESGNm5ubjRq1Oi+CjkxhtZW+4/fDx0iJjoawPzXTH7Q9LGmdOzUidVff01i4nXGjBnDko8/xt7O3ujURCSrYmLg7Nl7t/Pzu/3YhQtZO/efSW1zqlatWowZMwaAUaNGMX36dEqWLEmfPn0AGDduHAsWLOC3335j69at1KlTJ0NhsmTJEvz8/Pjjjz+oVKkSnTp1yhB/yZIllCpViiNHjlCjRg3z8WHDhtG6dWsA3nzzTapXr87JkyepUqUK3t7ehIaG3jXv4sWLZ9g/dOgQAQEBXL9+HWdnZ9asWUO1atXueH5ERAQeHh4Zjnl4eBAREWF+/+axO7WR/EM9R/+xc+dO89ePPvqIgZlk35AhQyhTpiwAR48eZdEHHxibkIhkj6tr+mzv99pKZTJTf6lSWTv3n1vwOVWzZk3z17a2tpQoUQJ/f3/zsZvFQVRUFL/++ivbtm3L0INTpUoVAPOtsxMnTtCtWzfKly+Pq6srZcuWBdJ7g+50XS8vL/M1IH1pp4ceeuiu23+Lo8qVKxMaGsqePXvo168fL7zwAkeOHLmv7408GDt27KBt27Z4e3tjMpky3La8ceMGI0aMwN/fnyJFiuDt7U2PHj04d+5ctq6hnqP/+Omnn9K/MJlo3KSJsclkk5OjE5OnTKbnCz1JSUnm408+IaBxY+rWqWt0aiKSFUOHpm85sX69ZXO5A3v7jL3RJpMpwzGTKf3J3tTUVOLi4mjbti0zZsy4Lc7NAqdt27aUKVOGxYsX4+3tTWpqKjVq1CApKemO1731GpBeSN2t1wdg9OjRjB492rxfqFAhHnoofRHxevXqsW/fPubNm8cHd/ij0tPTk8jIyAzHIiMj8fxn2aKbr5GRkebPdnO/du3ad81Nsic+Pp5atWrx4osv0rFjxwzvJSQkcPDgQcaOHUutWrW4cuUKgwYNol27duzPxioKKo5uERERwcmT6XMF1aheneLFit/jjLynapWq9Ov3SvogwbQ0xo4Zy8pVK3FxdjE6NREpYOrWrcvXX39N2bJlzZPW3urSpUscP36cxYsX8+ijjwIZe++zKie31f4rNTWVxMTEO74fEBBAcHAwgwcPNh/bsmWLeZxSuXLl8PT0JDg42FwMxcTEmHumxHJatWp1x6fI3dzc2LJlS4Zj7777Lg0bNiQsLIzSpUtn6Roqjm7x88///k/5yCP565barZ7v0YOfd+3il4MHiYyMYPq06UyZMsXotESkgOnfvz+LFy+mW7duvP766xQvXpyTJ0+ycuVKPvzwQ4oVK0aJEiVYtGgRXl5ehIWFMXLkyGxf5+ZttawaNWoUrVq1onTp0sTGxrJixQq2b9/Od9/9u9JAjx498PHxYdq0aQAMGjSIpk2bMnv2bFq3bs3KlSvZv38/ixYtAtJ7swYPHszkyZOpWLEi5cqVY+zYsXh7e9OhQ4dsf6aCJjY2lphbxsM5ODjg4OBgkdjR0dGYTKZsjSHWmKNbmG+pAY888qiBmdwfWxtbJk2chLOzMwDffbeZbdu3GZyViBQ03t7e/Pzzz6SkpNCiRQv8/f0ZPHgwRYsWxcbGBhsbG1auXMmBAweoUaMGQ4YM4a233sr1vKKioujRoweVK1emefPm7Nu3j++++44nnnjC3CYsLIzz58+b9xs3bsyKFStYtGgRtWrV4quvvmLt2rUZBo2//vrrvPbaa/Tt25cGDRoQFxfH5s2bcXR0zPXPlN9Vq1YNNzc383azKL1f169fZ8SIEXTr1g3XbIy3M6WlpeX7GQPDw8Px8/Nj6/6juHt43fuETCQmXqdZs+YkJl6nZKlSbNq0KU/Oip0d3276lnFjxwLpk1l++eWXuLm63bG9v++d38vThg+HK1egWDGw0D+sw78fzpXrVyjmWIy3WuT+P9YiIgXRzd/fR44cwcfHx3w8qz1HJpOJNWvWZNo7d+PGDTp16kR4eDjbt2/PVnGk22r/2L9/P4mJ6bOYPtKkSb4vjCD9vuyW77/np59+4vKlS8yePZuJb040Oi3Ly4W/NFUQiYg8OC4uLtkqXu7lxo0bdO7cmdOnT/PDDz9kO7Zuq/0j4y21/Dve6FYmTIwaPdp8e+3bjRtzNNhRREQkv7hZGJ04cYKtW7dSokSJbMdQcQSkkWYuGuzs7WnYqJHBGVmOeyl3htzyaPCUqVMK5uK0IiJiFeLi4ggNDTU/ofj3338TGhpKWFgYN27c4Omnn2b//v0sX76clJQUIiIiiIiIuG16iLtRcQT89eef5hlM69erR2GnwgZnZFnt2rUzP256ISqKt99+2+CMREREcmb//v3UqVOHOnXqADB06FDq1KnDuHHjOHv2LOvXryc8PJzatWvj5eVl3nbt2pXla2jMERlvqd2ca8OamDDxxhtjeKbzM1xLSGDdurW0aPEEjRo9bHRqllGlCpw7B97ecOyYZUK+W4VzsefwdvHm2ADLxBQRkfv3+OOPc7dnySzxnJl6jsg46Zi1jDf6L09PTwYPGmTenzx5MteuXzMwIwuKi4PY2PRXS4VMiiM2KZa4JN2CFBEpaAp8cRQdE82vv/0GQNmyZfHx8TU4o9zzVMeO1K9fH4Dz589r7TUREZFMFPjiKGTXLtL+WZ/HGm+p3crGZMPoN97AvlAhAJavWMHxP44bnJWIiEjeUuCLo4JwS+1Wpf1K81Lv3gCkpqQwdcpUUlJTDM5KREQk7yjQxVEaaezZuxeAIkWcqVWrtrEJPSA9XniBcuXKAXD48O989dVXBmckIpJzPXv21PplYlEFujiKioriyuXLAPj718h01WhrZG9nz+g33jDvv/fee0RdiDIwIxERsbRLly7RsmVLvL29cXBwwM/PjwEDBmRY4PVuEhMTqV27NiaTyTynEMCECRMwmUy3bUWKFMmlT/LgFeji6NjRo+avq1atamAmD16d2nXMf2klxMcza9YsYxMSERGLsrGxoX379qxfv54//viDTz75hK1bt/LKK69k6fzXX38db2/v244PGzaM8+fPZ9iqVavGM888Y+mPYJgCXRwdvaU4qlLAiiOA1wYOpGixYgD8EBzMN998Y3BGIpLXffXVV/j7++Pk5ESJEiUIDAwkPj6effv28cQTT1CyZEnc3Nxo2rQpBw8ezHCuyWTigw8+oE2bNhQuXJiqVasSEhLCyZMnefzxxylSpAiNGzfmzz//NJ8zYcIEateuzQcffICfnx+FCxemc+fOREdH3zHH1NRUpk2bRrly5XBycqJWrVpZHj6wfft2TCYT3333HXXq1MHJyYlmzZoRFRXFpk2bqFq1Kq6urjz77LMkJCRk+ZopKSn07t3b/H7lypWZN29ehmvfvD04a9YsvLy8KFGiBP379+fGjRtZyv2/ihUrRr9+/ahfvz5lypShefPmvPrqqxnm9ruTTZs28f3332f6h7OzszOenp7mLTIykiNHjtD7n/Gs1qBg3Ee6g6NH/53cr6D1HAG4ubrxv//9j7FjxgAwYMAAmjVrZlVdoyL5yZyQOcwJmXPPdnW96rK+2/oMx9p93o6D5w/e4Yx/DQ0YytCAofdsl5nz58/TrVs3Zs6cyVNPPUVsbCw//fQTaWlpxMbG8sILLzB//nzS0tKYPXs2Tz75JCdOnMDFxcUcY9KkScyZM4c5c+YwYsQInn32WcqXL8+oUaMoXbo0L774IgMGDGDTpk3mc06ePMkXX3zBN998Q0xMDL179+bVV19l+fLlmeY5bdo0li1bxsKFC6lYsSI7duzgueeeo1SpUjRt2jRLn3XChAm8++675mKsc+fOODg4sGLFCuLi4njqqaeYP38+I0aMyNI1U1NT8fX15csvv6REiRLs2rWLvn374uXlRefOnc3X3bZtG15eXmzbto2TJ0/SpUsXateuTZ8+fQB45ZVXWLZs2V1zv9MSUefOnWP16tX3/B5ERkbSp08f1q5dS+HC914x4sMPP6RSpUpW9cR3gS2O0kjj6LH0niNXNze8vLwMzsgYLVu25JtvvmHvnj2EhYUxZcoUpk6danRa2bNwIVy7Bk5OlgvZZiHXblzDyd5yMUXuJSYxhrOxZ+/Zzs/N77ZjFxIuZOncmMSsjTfJzPnz50lOTqZjx46UKVMGAH9/fwCaNWuWoe2iRYsoWrQoP/74I23atDEf79Wrl7kYGDFiBAEBAYwdO5agoCAABg0aRK9evTLEun79OkuXLsXHxweA+fPn07p1a2bPno2np2eGtomJiUydOpWtW7eal00qX748O3fu5IMPPshycTR58mSaNGkCQO/evRk1ahR//vkn5cuXB+Dpp59m27ZtjBgxIkvXtLe358033zTHL1euHCEhIXzxxRcZiqNixYrx7rvvYmtrS5UqVWjdujXBwcHm4mjixIkMGzYsS5/hpm7durFu3TquXbtG27Zt+fDDD+/YNi0tjZ49e/LKK69Qv359Tp06ddfY169fZ/ny5YwcOTJbOeV1BbY4unDhApcvXQKgSpUqmDAZnJExTJgYMWIEXbp0IQmYNWsWL7zwApUrVzY6tay75R9ei4WsZPmYIvfi6uCKj4vPPduVKlwq02NZOdfVwTVHuQHUqlWL5s2b4+/vT1BQEC1atODpp5+mWLFiREZGMmbMGLZv305UVBQpKSkkJCQQFhaWIUbNmjXNX3t4eAD/Flg3j12/fp2YmBhcXdNzLV26tLkwAggICCA1NZXjx4/fVhydPHmShIQEnnjiiQzHk5KSzGtxZcV/8yxcuLC5MLp5bO8/Tztn9ZrvvfceS5YsISwsjGvXrpGUlETt2rUznFO9enVsbW3N+15eXhw6dMi87+7ujru7e5Y/B8Dbb7/N+PHj+eOPPxg1ahRDhw7l/fffz7Tt/PnziY2NZdSoUVmKvWbNGnOvoTUpsMXR0QI8GPu/ypQuQ48ePVg4dTQ3btxgwIABfP/995hMBbNgFDHK/dzy+u9tttxga2vLli1b2LVrF99//z3z58/njTfeYM+ePfTr149Lly4xb948ypQpg4ODAwEBAbethG5vb2/++ua/MZkdS/1nct7sunlLaePGjRkKKgAHB4csx/lvTrfu3zx2M8esXHPlypUMGzaM2bNnExAQgIuLC2+99RZ79uy543X/ex3I2W21m2ODqlSpQvHixXn00UcZO3ZspndMfvjhB0JCQm77XtWvX5/u3bvz6aefZjj+4Ycf0qZNG3Ohay0KbHGU4Um1KlUMzCRveLHXi2xa/gGnT59m69atfPXVV1b15IGIWIbJZKJJkyY0adKEcePGUaZMGdasWcPPP//M+++/z5NPPgnAmTNnuHjxokWuGRYWxrlz58xPTu3evRsbG5tMe7irVauGg4MDYWFhWb6Fdr+ycs2ff/6Zxo0b8+qrr5qP3TrwPKtyclvtVjcLrcTExEzff+edd5g8ebJ5/9y5cwQFBbFq1SoaNWqUoe3ff//Ntm3bWL8+9wvzB63AFkfqOcrI0dGRefPmmR/vHzJkCC1btswwkDLPOnAAkpKgUCGoV88yIc8dICkliUK2hajnbZmYIvndnj17CA4OpkWLFri7u7Nnzx4uXLhA1apVqVixIp999hn169cnJiaG4cOH42ShcYCOjo688MILzJo1i5iYGAYOHEjnzp1vu6UG4OLiwrBhwxgyZAipqak88sgjREdH8/PPP+Pq6port3+ycs2KFSuydOlSvvvuO8qVK8dnn33Gvn37zBPyZlV2bqt9++23REZG0qBBA5ydnTl8+DDDhw+nSZMmlC1bFoC9e/fSo0cPgoOD8fHxoXTp0hliODs7A1ChQgV8fTOuPbpkyRK8vLxo1apVtj5DflCAi6P0J9VcXF3x9rn3ffqCoF27djz55JN8++23nD17lkmTJjFz5kyj07q39u3h7Fnw8YHwcMuEXNmes7Fn8XHxIXyoZWKK5Heurq7s2LGDuXPnEhMTQ5kyZZg9ezatWrXC09OTvn37UrduXfz8/Jg6dep99XDc6qGHHqJjx448+eSTXL58mTZt2txxzAykPxFXqlQppk2bxl9//UXRokWpW7cuo0ePtkg+Obnmyy+/zC+//EKXLl0wmUx069aNV199NcNTeZbm5OTE4sWLGTJkCImJifj5+dGxY8cMg6cTEhI4fvx4tqcLSE1N5ZNPPqFnz54ZxkhZC1NaWlqa0Uncr/DwcPz8/Ni6/yjuHvd+6uzCxQu0atkSgAYNG7Lg/QW5nWK+4O/rxp9//kn16tVJTEzEzs6O0NBQqlevbnRqd+fra/HiyHeOr4ojkTxgwoQJrF27NsMMzWI9bv7+PnPmzG09U0YqkJNA6pbanVWoUMH8V0VycjIDBgzACupnERGRLFNxpOLoNiNGjDA/srp9+3a++OILgzMSEbGMV155BWdn50y3rC6rIdavQI45yvikmoqj/3JycmLu3Lm0a9cOSF9Hp02bNpo5W0QeuAkTJjBhwgSLxbvb014351USKZDF0c2eI2cXF3x8NRg7M23atKFVq1Zs2rSJ8PBwpk2bluHxThGR/CgnkyhKwVPgbqtdvHjRPPdG1QI8M/a9mEwm5s6da56Q7K233srRnBwiIiL5TY6Ko/fee4+yZcvi6OhIo0aNzFOoZ2bx4sU8+uijFCtWjGLFihEYGHhb+7S0NMaNG4eXlxdOTk4EBgZy4sSJnKR2TzfXUwOoovFGd1WpUiWGDk2frTcpKYkhQ4YYnJGIiEjuy3ZxtGrVKoYOHcr48eM5ePAgtWrVIigoiKioqEzbb9++nW7durFt2zZCQkLw8/OjRYsWnD377wKJM2fO5J133mHhwoXs2bOHIkWKEBQUxPXr13P+ye5Ag7GzZ8yYMeZZab/55ptcnZNDREQkL8h2cTRnzhz69OlDr169qFatGgsXLqRw4cIsWbIk0/bLly/n1VdfpXbt2lSpUoUPP/yQ1NRUgoODgfReo7lz5zJmzBjat29PzZo1Wbp0KefOnWPt2rX39eEyc+zYMfPXVbRsyD05OztnmAhy0KBBd5x2XkRExBpkqzhKSkriwIEDBAYG/hvAxobAwEBCQkKyFCMhIYEbN25QvHhxIH1tloiIiAwx3dzcaNSo0R1jJiYmEhMTY95iY2Oz/Blu9hwVKeKcpyacysueffZZHnnkEQBOnDjBvHnzDM7oP44ehejo9FdLhex/lOiR0Rztb7mYIiKSP2SrOLp48SIpKSm3rb7r4eFBRERElmKMGDECb29vczF087zsxJw2bRpubm7mrVq1alm69qXLl7jwz+2/KlWqYGMqcOPRc8RkMjF//nxsbNK/XxMnTuTcuXMGZ3ULFxdwdU1/tVRIBxdcHVxxccgHa8uJiIhFPdDqYPr06axcuZI1a9bg6OiY4zijRo0iOjravB05ciRL52WY36iqbqllR+3atXn55ZcBiI+PZ9SoUQZnJCIikjuyVRyVLFkSW1tbIiMjMxyPjIzMdHXkW82aNYvp06fz/fffU7NmTfPxm+dlJ6aDgwOurq7mLasrx2sw9v2ZOHEiRYsWBWDp0qXs2bPH2IRERERyQbaKo0KFClGvXj3zYGrAPLg6ICDgjufNnDmTSZMmsXnzZurXr5/hvXLlyuHp6ZkhZkxMDHv27LlrzJw4evSWwdgqjrKtZMmSTJw40bw/cOBAUlNTDczoH3PmwIQJ6a+WChkyhwnbJzAnxHIxRUQkf8j2bbWhQ4eyePFiPv30U44ePUq/fv2Ij4+nV69eAPTo0SPDLZcZM2YwduxYlixZQtmyZYmIiCAiIoK4uDggfTzL4MGDmTx5MuvXr+fQoUP06NEDb29vOnToYJlP+Y8//jgOQOEiRfDz87No7IKiX79+VK9eHYC9e/eybNkygzMivSh6802LF0dv/vimiiMRkQIo28uHdOnShQsXLjBu3DgiIiKoXbs2mzdvNg+oDgsLMw/cBViwYAFJSUk8/fTTGeKMHz/evF7O66+/Tnx8PH379uXq1as88sgjbN68+b7GJf1X0o0kzv8zwLtc2XIajJ1DdnZ2zJ07lyeeeAJIH2D/1FNPZfnWpoiISF6Xo7XVBgwYwIABAzJ9b/v27Rn2T506dc94JpOJiRMnZrhlY2nnz52DtDQArad2nwIDA+nQoQNr164lIiKCqVOnMm3aNKPTEhERsYgC030SfsuM3D4+Ko7u16xZsyhUqBCQPjHoyZMnDc5IRETEMgpMcXTrciW+Ko7uW4UKFfjf//4HpE8OevNrERGR/K7gFEfht/YcaWZsSxg1ahReXl4ArF+/ni1bthickYiIyP0rOMXR2XDz11o2xDJcXFyYMWOGeX/IkCEkJycbmJGIiMj9K0DFUXrPkZ2dHaXcSxmcjfXo3r07DRs2BODw4cN88MEHBmckIiJyfwpEcZRGmnlAtpe3N7Y2tgZnZD1sbGwyLEQ7btw4Ll++bGBGIiIi96dAFEdXrlzhWkICoMHYueHhhx/mueeeA+Dy5cvm+asemLp14eGH018tFdKrLg/7PkxdL8vFFBGR/CFH8xzlN2f1GH+umz59OqtXryYhIYH333+fV155hWrVqj2Yi69fb/mQ3SwfU0RE8ocC0XN0Nvzfwdg+GoydK3x8fBg5ciQAKSkpDBkyhLR/Jt0UERHJTwpGcaSeowdi2LBhlC5dGoDvv/+ejRs3GpyRiIhI9hWI4ujW2bH1GH/ucXJy4q233jLvDx06lKSkJAMzEhERyb4CURxl6Dny9jYwE+v3zDPP8OijjwJw4sQJ5s+fn/sXbdcOAgLSXy0V8vN2BHwUQLvPLRdTRETu344dO2jbti3e3t6YTCbWrl2b4f20tDTGjRuHl5cXTk5OBAYGcuLEiWxdo2AUR//Mjl20aFGKFHE2OBvrZjKZmDt3LiaTCYCJEycSFRWVuxc9eBB2705/tVTI8wfZHb6bg+ctF1NERO5ffHw8tWrV4r333sv0/ZkzZ/LOO++wcOFC9uzZQ5EiRQgKCuL69etZvobVF0dJN5KIjIoEtGzIg1K3bl169eoFQExMDGPHjjU4IxERsRatWrVi8uTJPPXUU7e9l5aWxty5cxkzZgzt27enZs2aLF26lHPnzt3Ww3Q3Vl8cnT93Dv55asrHV4OxH5QpU6bg4uICwIcffsivv/5qcEYiImLt/v77byIiIggMDDQfc3Nzo1GjRoSEhGQ5jtUXR+F6Us0Qnp6ejBkzBoDU1FQGDx6sR/tFRCRTsbGxxMTEmLfExMQcxYmIiADAw8Mjw3EPDw/ze1lh9cXRrYOxNTv2gzVo0CAqVKgAwPbt21mzZo3BGYmISF5UrVo13NzczNu0adMMzcf6i6NwPcZvFAcHB2bNmmXeHzZsWLYGxImISMFw5MgRoqOjzduoUaNyFMfT0xOAyMjIDMcjIyPN72WF9RdHZ2+ZHVsDsh+49u3b06xZMyD9XvDcuXONTUhERPIcFxcXXF1dzZuDg0OO4pQrVw5PT0+Cg4PNx2JiYtizZw8BAQFZjlMAiqP0niM7OztKuZcyOJuC5+aj/TY26T9qU6ZM4fz58wZnJSIi+VVcXByhoaGEhoYC6X94h4aGEhYWhslkYvDgwUyePJn169dz6NAhevTogbe3Nx06dMjyNay6OEojzTwg28vbG1sbW4MzKpj8/f15+eWXgfQf6tGjRxuckYiI5Ff79++nTp061KlTB0hfjaFOnTqMGzcOgNdff53XXnuNvn370qBBA+Li4ti8eTOOjo5ZvoZdrmSeR1y5coVrCQmABmMbbeLEiXz++edcvXqVTz75hFdffZUGDRpYJvjQoRATA66ulokHDA0YSkxiDK4OlospIiL37/HHH7/r088mk4mJEycyceLEHF/DqosjLTibd5QsWZIJEyYwePBgIP1Jtp9//tk8k/Z9GTr0/mP8N2SA5WOKiEj+YNW31c6G3zIYW0+qGe7VV1+lSpUqAISEhPD5558bnJGIiMjtrLs4OqvH+PMSe3t73n77bfP+iBEjiI+PNzAjERGR21l1caTZsfOeli1b0rp1awDCw8OZOXPm/QeNjU0fcxQbe/+xboZMjCUmMYbYRMvFFBGR/MGqi6MMY468vQ3MRG41Z84c7OzSh7vNnDmTsLCw+wtYtSq4uaW/WkjV96riNt2Nqu9ZLqaIiOQP1l0c/TM7dtGiRSlSxNngbOSmSpUqMXDgQACuX7/O8OHDDc5IRETkX1ZbHCXdSCIyKn36cM2MnfeMHTuWUqXSJ+X84osv2LFjh8EZiYiIpLPa4uj8uXPwzzwIPr4ab5TXFC1alClTppj3Bw4cSEpKioEZiYiIpLPa4kiDsfO+F1980TzD6a+//sqHH35ocEYiIiJWXBzpMf68z9bWlnnz5pn333jjDa5cuWJgRiIiItZcHIXfUhyp5yjPevTRR+natSsAly5d4s033zQ4IxERKeistzg6e8vs2BqQnafNnDkTJycnAN59912OHDlicEYiIlKQWXFxlN5zZGdnRyn3UgZnI3fj5+fHqFGjAEhJSWHw4MF3XVRQREQkN1ltcXQ+IgIADw9PbG1sDc5G7mXYsGGUKVMGgC1btrB+/XqDMxIRkYLKzugEcsON5BvE/bOURPESxQ3ORrLCycmJWbNm8cwzzwAwdOhQgoKCcHR0vPfJ69ZBUhIUKmSxfNZ1XUdSShKFbC0XU0RE8ger7Dm6evWq+evixVQc5RedOnXi//7v/wD466+/mDNnTtZOrFcPAgLSXy2knnc9AvwCqOdtuZgiIpI/WGVxdOvj4MWKFTUuEckWk8nEvHnzsLVNvw06ZcoUzpw5Y3BWIiJS0BSA4qiYgZlIdvn7+/Pqq68CkJCQoHXXRETkgbPO4ujyZfPXxYrrtlp+8+abb1KyZEkAVq1axY8//nj3EzZsgC+/TH+1kA1/bODLw1+y4Q/LxRQRkfzBOoujW8Ycqeco/ylWrBhTp04177/22mskJyff+YRXXoHOndNfLeSVDa/Q+avOvLLBcjFFRCR/sM7i6NbbakVVHOVHL774IvX+GWB96NAhFi5caHBGIiJSUFhncZThtpqKo/zI1taW+fPnm/fHjh3LxYsXDcxIREQKCussjjQg2yoEBATQo0cPIH16hjfeeMPgjEREpCCwyuLosoojqzF9+nRcXFwAWLx4Mfv37zc4IxERsXZWWRzd7DlydnbG3s7e4Gzkfnh5eTF+/HgA0tLSGDBgAKmpqQZnJSIi1syqiyP1GlmHgQMHUrVqVQD27NnDJ598YmxCIiJi1ayuOLp1XTXNcWQd7O3teffdd837I0aMyDCuTERExJKsrji6dV01PcZvPZo1a0bnzp0BuHjxImPHjjU4IxERsVZWVxxpXTXrNXv2bIoUKQLAggULCA0NTX/D2RlcXNJfLcS5kDMuhVxwLmS5mCIikj9YX3GkpUOslq+vr7nHKDU1lf79+5OWlgbHjkFMTPqrhRwbcIyYUTEcG2C5mCIikj9YX3Gkx/it2pAhQ6hcuTIAu3bt4rPPPjM4IxERsTZWVxxpjiPrVqhQoQwzZw8fPjzDODMREZH7ZXXF0a09R8VVHFmlJ554gk6dOgEQFRWlwdkiImJRVlccXb2lOCqq4shqvf322xQuXBiAMu++y8UOHWD4cIvFH/79cF5a/xLDv7dcTBERyR+srji6fFm31QoCPz8/88zZXYGS69aR9vnnFov/+e+f89EvH/H575aLKSIi+YPVFUdXrqo4KigGDx5snjkbID4+3sBsRETEWlhfcaR11QqMQoUK8f7775v3Y6KjuXDhgoEZiYiINbC+4uifeY40x1HB8Pjjj5vHHqWmpTFy5EiDMxIRkfwuR8XRe++9R9myZXF0dKRRo0bs3bv3jm0PHz5Mp06dKFu2LCaTiblz597WZsKECZhMpgxblSpVsp3XjRvJxMXFAbqlVpC4ubmZv16yZAk///yzgdmIiEh+l+3iaNWqVQwdOpTx48dz8OBBatWqRVBQEFFRUZm2T0hIoHz58kyfPh1PT887xq1evTrnz583bzt37sxuakRHR5u/1rpqBYetTcYf41dffZXk5GSDshERkfwu28XRnDlz6NOnD7169aJatWosXLiQwoULs2TJkkzbN2jQgLfeeouuXbvi4OBwx7h2dnZ4enqat5IlS2Y3tQzFUfHiKo4KGnv79DFmv/32G/PmzTM4GxERya+yVRwlJSVx4MABAgMD/w1gY0NgYCAhISH3lciJEyfw9vamfPnydO/enbCwsDu2TUxMJCYmxrzFxsYCcDX6qrmN5jgqeIoVLYrJZAJg3Lhxd/0ZEhERuZNsFUcXL14kJSUFDw+PDMc9PDyIiIjIcRKNGjXik08+YfPmzSxYsIC///6bRx991Fz0/Ne0adNwc3Mzb9WqVQPg6tVbbqupOCpwChUqRL9+/YD027kDBw40OCMREcmP8sTTaq1ateKZZ56hZs2aBAUF8e2333L16lW++OKLTNuPGjWK6Oho83bkyBEg/VHum7R0SAHSujU8/TS0bs2UKVPMY9vWrVvHunXrchayYmuervY0rSu2tmSmIiKSD9hlp3HJkiWxtbUlMjIyw/HIyMi7DrbOrqJFi1KpUiVOnjyZ6fsODg4Zxi/FxMQA/xmQreKo4PjgA/OXRUlfWqRbt24AvPbaazRv3hxnZ+fshWz7wb0biYjIA5WSksKECRNYtmwZEREReHt707NnT8aMGWMeVmEJ2eo5KlSoEPXq1SM4ONh8LDU1leDgYAICAiyWVFxcHH/++SdeXl7ZOu/W1dk15qjg6tKlCy1atADgzJkz5mVGREQkf5sxYwYLFizg3Xff5ejRo8yYMYOZM2cyf/58i14n27fVhg4dyuLFi/n00085evQo/fr1Iz4+nl69egHQo0cPRo0aZW6flJREaGgooaGhJCUlcfbsWUJDQzP0Cg0bNowff/yRU6dOsWvXLp566ilsbW3Nf/1nVcan1TQJZEFlMpl4//33zb2L8+bNIzQ01NikRETkvu3atYv27dvTunVrypYty9NPP02LFi3uOt9iTmS7OOrSpQuzZs1i3Lhx1K5dm9DQUDZv3mwepB0WFsb58+fN7c+dO0edOnWoU6cO58+fZ9asWdSpU4eXXnrJ3CY8PJxu3bpRuXJlOnfuTIkSJdi9ezelSpXKVm63FkdFixbN7kcTK1KhQgXGjBkDpHfDvvzyy6SkpBiclYiIZCY2NjbDU+iJiYmZtmvcuDHBwcH88ccfAPz666/s3LmTVq1aWTQfU1paWppFIxogPDwcPz8/ytRqwvmICJxdXNi+bbvRaeU7/r5u926UF9WvDxER4OkJ+/ebDycmJlK7dm2OHTsGwPz58xkwYEDWQi6qT0RcBJ7Onuzvu//eJ4iISLbd/P39X+PHj2fChAm3HU9NTWX06NHMnDkTW1tbUlJSmDJlSoY7VpaQrQHZed3NniMNxi5gIiLg7NnbDjs4OPDBBx/QtGlTIP0px/bt22f6P+JtIeMiOBt7e0wREbG8I0eO4OPjY96/06TRX3zxBcuXL2fFihVUr16d0NBQBg8ejLe3Ny+88ILF8skTj/JbSnx8PKDiSP712GOPmW/hxsXFMWDAAKygs1RExKq4uLjg6upq3u5UHA0fPpyRI0fStWtX/P39ef755xkyZAjTpk2zaD5WVRzdpDmO5FYzZ840j4lbv349q1evNjgjERHJiYSEBGz+s56mra0tqampFr2OVRZH6jmSWxUrVox33nnHvP/aa69lmPZBRETyh7Zt2zJlyhQ2btzIqVOnWLNmDXPmzOGpp56y6HWssjjSHEfyX8888wxt2rQB4Pz58xYfvCciIrlv/vz5PP3007z66qtUrVqVYcOG8fLLLzNp0iSLXscqiyPNcST/ZTKZeO+998wzZS9cuJCdO3canJWIiGSHi4sLc+fO5fTp01y7do0///yTyZMnU6hQIYtexyqLo2Ka40gyUbp0aaZMmWLe79u37x3n0hARkYLLOosj3VaTO+jfvz8NGzYE4OjRoxmKJREREbDW4ki31eQObG1t+fDDD7GzS5/ia9q0afz2228GZyUiInmJVU0CeZN6jgqYmTMhIQEKF85Sc39/f0aPHs3EiRNJTk7mxRdfZPfu3eaCCWDmEzNJuJFAYfusxRQREethVcuH2Jcqh8nGhpDdu7G3szc6rXwn3y4fkgOJiYnUrVuXI0eOAOlzIQ0fPtzgrERECpabv7/PnDmDr6+v0emYWd1tNWcXFxVGck8ODg589NFHmEwmAMaNG2deyFBERAo2qyuOdEtNsurhhx9m8ODBAFy/fp0+ffpYfJZVERHJf6yuOCpeTIOxC5zjx+Hw4fTXbJo0aRLly5cHYMeOHXzwwQfpIS8e53DUYY5fzH5MERHJ36yuOCpWrKjRKciD1rw51KiR/ppNRYoUYfHixeb9119/ndOnT9N8aXNqLKhB86XZjykiIvmbFRZHuq0m2dOsWTNeeuklAOLi4ujTp4/BGYmIiJGsrzjSHEeSA7NmzTI/KbFlyxbi4+MNzkhERIxifcWReo4kB9zc3Pjwww/N+9HR0QZmIyIiRrK+4kjrqkkOBQUF0bt3bwCsYPovERHJIesrjnRbTe7D7NmzM0xEpttrIiIFj/UVR7qtJvchs9trp0+fNjAjERF50FQcifxHUFAQhf9Zpy0tLY3evXvrNpuISAFidcVRUY05Egu49ecoODiYBQsWGJeMiIg8UFZVHDk7F9G6amIRN9dcu2nYsGGcOHHCoGxERORBsqriyNW14KwqL7fYtw/OnEl/tVTIPvs4M+QMPRJ7AHDt2jVeeOEFkpOTLXYNERHJm6yqOKpVq6bRKYgRvLzA1zf91VIhXbzwdfXl/RnvU6FCBQBCQkJ46623LHYNERHJm0xpVjDSNDw8HD8/P7buP4q7h+V+QYoA/Prbr7z00kukpaZiZ2fH0s8+o1LFSvc8z99XPZkiIndz8/f3mTNnMkyjYjSr6jkSyQ21atbihR7pt9eSk5MZN3YsSTeSDM5KRERyi4ojyf/WrIbly9JfLWT1sdUsP7SM1cfSY/Z9+WUqVqwIwMmTJ/nggw8sdi0REclbVBxJ/rd4Mbz9dvqrpUIeWMzbu99m8YH0mIXsCzFx0iTs7OwA+PTTT/kl9BeLXU9ERPIOFUciWVTxoYr069cvfSctjXFjxxIXF2dsUiIiYnEqjkSy4bnnn6dO3boAnD9/nhkzphuckYiIWJqKI5FssLWxZeLEiTg7OwOwadMmvvtus8FZiYiIJak4EskmL08vRo4cad6fNm0aERERBmYkIiKWpOJIJAdatmxFy5YtAYiLi2Pc+HGkpKYYnJWIiFiCiiORHBoxciSenp4AHDxwgGWffWZwRiIiYgkqjkRyyMXZhTcnToR/Fql9//0FHDl6xOCsRETkfqk4ErkP9erWo+cLLwCQkpLMG6NHE58Qb3BWIiJyP1QcSf5XujSUL5/+aiFl3EpTrlh5yrjdO+Yrr/SjevUaAJw5c4YZM2ZYLA8REXnw7IxOQOS+LbT8Uh4L22Q9pp2dHVOnTqHbs8+SEB/Ptxs30qhRI/z7PmvxvEREJPep50jEAnx8fHlj9Gjz/vTp0zlx4oSBGYmISE6pOBKxkKCglrRt2xaAawkJdOvWjaSkJIOzEhGR7FJxJGJBw19/ndJlygBw4MABRt/SmyQiIvmDiiPJ/8a8AQP6p79aKuS2NxiwqT9jtmUvZmGnwkybOhU7e3sAZs+ezcaNGy2Wl4iI5D4VR5L/HTwIu3env1rIgXMH2R2+mwPnsh+zcuUqDBw40Lzfo0cPzpw5Y7HcREQkd6k4EskF3bp1o3379gBcvnyZLl26cOPGDYOzEhGRrFBxJJILTJj4+OOPKfPP+KOQkBDeeMNyt/1ERCT3qDgSySXFihXjiy++wP6f8UdvvfUWGzZsMDgrERG5FxVHIrmoYcOGvPXWW+b9Hj16EBYWZmBGIiJyLyqORHLZwIEDeeqppwC4cuUKXbp00fxHIiI5dPbsWZ577jlKlCiBk5MT/v7+7N+/36LXUHEkkstMJhNLliyhXLlyAOzevZthw4YZnJWISP5z5coVmjRpgr29PZs2beLIkSPMnj2bYsWKWfQ6WltN5AEoWrQoX3zxBU2aNCEpKYn58+cTEBBAt27djE5NRCTfmDFjBn5+fnz88cfmYzf/8LQk9RyJPCD169dn/vz55v2XXnqJw4cPG5iRiEjeEBsbS0xMjHlLTEzMtN369eupX78+zzzzDO7u7tSpU4fFixdbPB8VR5L/PfUUdO+e/mqpkFWe4ln/7jxVxXIxAfr06UPPnj0BSEhIoGPHjsTExFj0GiIi+U21atVwc3Mzb9OmTcu03V9//cWCBQuoWLEi3333Hf369WPgwIF8+umnFs3HlJaWlmbRiAYIDw/Hz8+PrfuP4u7hZXQ6IgD4+7plevzatWs0btyY0NBQADp27MhXX32FyWR6gNmJiBjv5u/vI0eO4OPjYz7u4OCAg4PDbe0LFSpE/fr12bVrl/nYwIED2bdvHyEhIRbLSz1HIg+Yk5MTX3/9NUWLFgVg9erVzJ4929ikREQM5OLigqurq3nLrDAC8PLyolq1ahmOVa1a1eJTpKg4EjFA+fLl+eyzz8z7I0eO5IcffjAwIxGRvK9JkyYcP348w7E//vjDvBqBpag4EjFImzZtzEuKpKSk0LlzZ06dOmVsUiIiediQIUPYvXs3U6dO5eTJk6xYsYJFixbRv39/i15HxZHkf0+2gvr10l8tpNXyVtRfXI9Wyy0XMzNvvvkmrVqlX+PSpUt06NCBhISEXL2miEh+1aBBA9asWcPnn39OjRo1mDRpEnPnzqV79+4WvU6OiqP33nuPsmXL4ujoSKNGjdi7d+8d2x4+fJhOnTpRtmxZTCYTc+fOve+YItbC1taWFStWULFiRQB+/fVXevfujRU8JyEikivatGnDoUOHuH79OkePHqVPnz4Wv0a2i6NVq1YxdOhQxo8fz8GDB6lVqxZBQUFERUVl2j4hIYHy5cszffp0PD09LRJTxJoULVqUtWvX4uzsDMDKlSs1QFtExEDZLo7mzJlDnz596NWrF9WqVWPhwoUULlyYJUuWZNq+QYMGvPXWW3Tt2vWOo8+zG1PE2lSrVi3DAO0RI0bw/fffG5iRiEjBla3iKCkpiQMHDhAYGPhvABsbAgMDczy/QE5iJiYmZphJMzY2NkfXFslLOnTowLhx4wBITU2la9eunDhxwuCsREQKnmwVRxcvXiQlJQUPD48Mxz08PIiIiMhRAjmJOW3atAwzaf53zgOR/Gr8+PG0bdsWSF9gsW3btly9etXYpERECph8+bTaqFGjiI6ONm9HjhwxOiURi7CxsWHZsmXmgv/48eN06dKF5ORkgzMTESk4slUclSxZEltbWyIjIzMcj4yMvONg69yI6eDgkGEmTRcXlxxdWyQvcnV15ZtvvqFEiRIAfP/99/zvf/8zOCsRkYIjW8VRoUKFqFevHsHBweZjqampBAcHExAQkKMEciOmSH5Xvnx5vv76a+zs7AB45513WLRokcFZiYgUDNm+rTZ06FAWL17Mp59+ytGjR+nXrx/x8fH06tULgB49ejBq1Chz+6SkJEJDQwkNDSUpKYmzZ88SGhrKyZMnsxxTpCBq2rQpCxYsMO/379+fbdu2GZiRiEjBYJfdE7p06cKFCxcYN24cERER1K5dm82bN5sHVIeFhWFj82/Nde7cOerUqWPenzVrFrNmzaJp06Zs3749SzFF7mrSJLhxA+ztLRZycrNJJKXcoJCt5WLmxEsvvcThw4eZO3cuycnJPP300+zevds8aaSIiFieKc0KpuINDw/Hz8+PrfuP4u7hZXQ6IgD4+7pZJE5ycjJt27Zl8+bNADz00EOEhIRQsmRJi8QXETHKzd/fZ86cwdfX1+h0zPLl02oiBYmdnR0rV66kRo0aAJw8eZIOHTpw/fp1gzMTEbFOKo5E8gE3Nzc2btxofoLz559/5sUXXyQ1NdXgzERErI+KI8n/DuyH3SHpr5YKeX4/IeEhHDhvuZj3q3Tp0mzYsIHChQsD8Pnnn5tn1BYREcvJ9oBskTxn7FiIigJ3d/h2k0VCjvlhLBcSoihV2J1N3S0T0xLq1avH559/TocOHUhLS2PKlClUqFBBT3aKiFiQeo5E8pl27doxd+5c837fvn21SK2IiAWpOBLJhwYOHMhrr70GpD/N1qlTJw4ePGhwViIi1kHFkUg+9fbbb9OxY0cA4uLiaNWqFX/99ZfBWYmI5H8qjkTyKVtbW5YtW8YjjzwCQFRUFEFBQVy4cMHgzERE8jcVRyL5mJOTE+vWraNq1apA+hxIrVu3Jj4+3uDMRETyLxVHIvlc8eLF2bx5Mz4+PgDs27ePzp07c+PGDYMzExHJn/Qov4gVKF26NJs2beLRRx8lOjqab7/9ll69erF06dIMax3mZ4fCo41OwepYaokbEWtjHf9qigj+/v6sW7cOBwcHAJYvX87gwYOxguUTRUQeKBVHIlakadOmrFq1CltbWwDmz5/Pm2++aXBWIiL5i26rSf5noVmxb5WXZsXOrvbt2/PRRx/Rs2dPAN58802KFy/OwIEDjU1MRCSfUM+RiBV64YUXePvtt837gwYN4rPPPjMwIxGR/EPFkYiVGjx4MGPHjjXv9+rVi9WrVxuYkYhI/qDiSMSKvfnmm/Tv3x+AlJQUunbtyrfffmtwViIieZvGHEn+t3gRxMWBszP06WuRkIsOLCLuRhzO9s70rWeZmEYwmUy88847xMbGsnTpUm7cuEHHjh3ZuHEjzZs3Nzo9EZE8ST1Hkv+tWQPLl6e/WirksTWsOLScNccsF9MoNjY2fPTRR3Tu3BmAxMRE2rVrx08//WRwZiIieZOKI5ECwM7OjmXLltG+fXsAEhISaN26NXv37jU4MxGRvEfFkUgBYW9vz6pVqwgKCgIgNjaWoKAgDhw4YHBmIiJ5i4ojkQLEwcGB1atX8/jjjwNw9epVAgMDVSCJiNxCxZFIAVO4cGG++eYbHnnkEUAFkojIf6k4EimAnJ2dzQvVggokEZFbqTgSKaCcnZ359ttvVSCJiPyHiiORAuxmgfTYY48B/xZIe/bsMTgzERHjqDgSKeCcnZ3ZuHHjbQXSjh07DM5MRMQYKo4k/6tbFx5+OP3VQup51+Vh34ep5225mHnZzQKpWbNmAMTFxdGyZUu2bNlicGYiIg+eKS0tLc3oJO5XeHg4fn5+bN1/FHcPL6PTEQHA39fN6BSy7dq1a3Tq1IlNmzYBUKhQIb766ivatm1rcGZwKDza6BSsTn78GRXrcvP395kzZ/D19TU6HTP1HImImZOTE2vWrOGpp54CICkpiY4dO/Lll18anJmIyIOj4khEMnBwcGDVqlV069YNgOTkZLp27cpHH31kcGYiIg+GiiMRuY29vT2fffYZL774IgCpqam89NJLvPXWWwZnJiKS++yMTkDkvr3yMly+DMWLw8IPLBNyw8tcun6ZEo7FWdjGMjHzG1tbWxYvXoyrqytz584F4PXXX+fixYtMnz4dk8lkbIIiIrlEPUeS/4WFwV9/pb9ayOnoMP6+8henoy0XMz+ysbFhzpw5TJkyxXxs5syZ9OnTh+TkZAMzExHB/Ifa4MGDLRpXxZGI3JXJZGL06NEsXLjQ3Fv00Ucf0blzZ65fv25wdiJSUO3bt48PPviAmjVrWjy2iiMRyZKXX36ZlStXYm9vD8CaNWto0aIFly9fNjgzESlo4uLi6N69O4sXL6ZYsWIWj6/iSESyrHPnzmzYsIEiRYoA8NNPP/HII49w+vRpgzMTkfwsNjaWmJgY85aYmHjX9v3796d169YEBgbmSj4qjkQkW1q0aMGPP/6Iu7s7AEePHiUgIIDQ0FBjExORfKtatWq4ubmZt2nTpt2x7cqVKzl48OBd29wvFUcikm316tUjJCSEihUrAnD+/Hkee+wxLTciIjly5MgRoqOjzduoUaMybXfmzBkGDRrE8uXLcXR0zLV8VByJSI6UL1+eXbt2ERAQAKR3iz/55JMsWbLE4MxEJL9xcXHB1dXVvDk4OGTa7sCBA0RFRVG3bl3s7Oyws7Pjxx9/5J133sHOzo6UlBSL5KPiSERyrGTJkmzdupUOHToA6bNp9+7dm5EjR5KammpsciJidZo3b86hQ4cIDQ01b/Xr16d79+6EhoZia2trkeuoOBKR+1K4cGG++uorBg4caD42Y8YMnnnmGRISEgzMTESsjYuLCzVq1MiwFSlShBIlSlCjRg2LXUczZEv+16cPJCRA4cKWC1mvD9duJOBkb7mY1szW1pZ58+ZRqVIlBg4cSGpqKqtXryYsLIz169fj5eVldIoiIlmm4kjyv6c6WjxkxyqWj1kQ9O/fn/Lly9OlSxdiY2PZv38/DRs2ZN26ddStW9fo9ETECm3fvt3iMXVbTUQsqlWrVvz888+ULl0agPDwcB555BFWrVplcGYiIlmj4khELM7f3589e/bw8MMPA3Dt2jW6du3KG2+8oYHaIpLnqTiS/O/iRYiKTH+1VMiEi0TGR3IxwXIxCxpPT0+2bdtGz549zcemTp1Khw4diImJMS4xEZF7UHEk+V+P5+HJJ9NfLeT5Nc/TesWTPL/GcjELIkdHR5YsWcLbb7+NjU36PzfffPMNAQEB/PHHHwZnJyKSORVHIpKrTCYTgwcPZtOmTRQtWhRInw23QYMGrFu3ztjkREQyoeJIRB6IFi1asG/fPqpVqwZATEwMHTp0YPTo0Rab1VZExBJUHInIA/PQQw+xZ88eunTpYj42bdo0WrVqxUULjhkTEbkfKo5E5IFydnbm888/Z86cOeap/rds2UK9evXYs2ePwdmJiKg4EhEDmEwmhgwZQnBwMO7u7gCEhYXx6KOPMnfuXNLS0gzOUEQKMhVHImKYpk2bcvDgQZo0aQLAjRs3GDJkCE899RRXrlwxODsRKahUHImIoXx8fNi2bRsjRowwH1u3bh116tRh7969BmYmIgWViiMRMZy9vT3Tp09n48aNFC9eHIDTp0/TpEkTZs6cqVm1ReSBUnEkInnGk08+SWhoKI0bNwYgOTmZESNG0KJFCy5cvGBwdiJSUNgZnYDIfVuwAFJS4J8nnyxhYesFJKelYGeyXEzJGj8/P7Zv3864ceOYMWMGaWlpBAcH81uXrowbP46mjzU1OkURsXLqOZL8r0xZKF8h/dVSIYuWpUKxCpQparmYknX29vZMmzaNrVu34u3tDUB09FX+N3QoM2ZM5/r16wZnKCLWTMWRiORZzZo147fffqNDhw7mY19++SXdu3fn8JHDxiUmIlYtR8XRe++9R9myZXF0dKRRo0b3fKLkyy+/pEqVKjg6OuLv78+3336b4f2ePXtiMpkybC1btsxJaiJiZUqUKMHq1asZNXo0Dg6OAJw+fYpevXrxwaIPSE5ONjhDEbE22S6OVq1axdChQxk/fjwHDx6kVq1aBAUFERUVlWn7Xbt20a1bN3r37s0vv/xChw4d6NChA7///nuGdi1btuT8+fPm7fPPP8/ZJ5KCZ/MmWLsm/dVSIU9uYu2xNWw+abmYknMmk4lOHTuxfPlyqlWvDkBqSgqLFy2i14u9OHXqlLEJiohVMaVlcyraRo0a0aBBA959910AUlNT8fPz47XXXmPkyJG3te/SpQvx8fFs2LDBfOzhhx+mdu3aLFy4EEjvObp69Spr167N0YcIDw/Hz8+PrfuP4u7hlaMYko892QqiosDdHb61TDHTankrLiREUaqwO5u65yymv6+bRXKRdIfCo4H0J9iWfLyEDz/8kNR/Fqwt5ODAK6+8Qvfu3bG10SD6rNLPqBjt5u/vM2fO4Ovra3Q6ZtnqOUpKSuLAgQMEBgb+G8DGhsDAQEJCQjI9JyQkJEN7gKCgoNvab9++HXd3dypXrky/fv24dOnSHfNITEwkJibGvMXGxmbnY4hIPmZnZ0ffPn355JNPKFu2LABJiYm8M28evV98kb/+/svYBEUk38tWcXTx4kVSUlLw8PDIcNzDw4OIiIhMz4mIiLhn+5YtW7J06VKCg4OZMWMGP/74I61atSLln78K/2vatGm4ubmZt2rVqmXnY4iIFahWtRrLly/n2e7dwWQC4Pfff+fZZ5/l408+JiVFY5FEJGfyxNNqXbt2pV27dvj7+9OhQwc2bNjAvn372L59e6btR40aRXR0tHk7cuTIg01YRPIEBwdHhg4ZykcffUTpMmUASL5xg/fefZeePXty/I/jBmcoIvlRtoqjkiVLYmtrS2RkZIbjkZGReHp6ZnqOp6dnttoDlC9fnpIlS3Ly5MlM33dwcMDV1dW8ubi4ZOdjiIiVqVWzFp+vWMHzPXpgskn/Z+3o0aM8//zzzHtnnuZFEpFsyVZxVKhQIerVq0dwcLD5WGpqKsHBwQQEBGR6TkBAQIb2AFu2bLlje0gfoHXp0iW8vDS4WkSyxsHBkUEDB/Hxko8pV748kP5E22dLl9K5S2d2795tcIYikl9k+7ba0KFDWbx4MZ9++ilHjx6lX79+xMfH06tXLwB69OjBqFGjzO0HDRrE5s2bmT17NseOHWPChAns37+fAQMGABAXF8fw4cPZvXs3p06dIjg4mPbt2/PQQw8RFBRkoY8pIgVFjRo1WL58Oa+88gp29vYAnDt7lgED+jNmzBtcunTR4AxFJK/LdnHUpUsXZs2axbhx46hduzahoaFs3rzZPOg6LCyM8+fPm9s3btyYFStWsGjRImrVqsVXX33F2rVrqVGjBgC2trb89ttvtGvXjkqVKtG7d2/q1avHTz/9hIODg4U+pogUJIXsC/HSS31YtXIldevVMx/fvHkzHTt2YtWqlRqwLSJ3lO15jvIizXNUwGmeowLh5jxH2ZVGGuvXr2fu3LnExsSYj1eqXJlRo0bhX8PfUinmO/oZFaNZxTxHInlSiRLphVGJEhYLWbJwCUoVdqdkYcvFFGOYMNG+XXtWr15N23btzMf/OH6cXj17MmnSJC5fuWxghiKS16jnSCSX6K9yy8ppz9F//fprKNOnT+fEiRPmY87OzvTp25fOnTtjb2dvkevkB/oZFaOp50hEJA+oVas2y5Yt43/DhlG4SBEg/cGQt+fMoWuXruwK2WVwhiJiNBVHIlLg2Nra0a1rN9asWUO79u3NM2yfPn2Kga+9xuDBg/j71N8GZykiRlFxJCIFVoniJRg3dhxLly6lZq1a5uM7d+6kS5cuTJs2jUuX77zOo4hYJxVHkv9NnQIjRqS/WsiUn6YwYusIpvxkuZiSd1WrWo2PPvqIKVOm4P7PtCSpKSl8/fVXdOjQgY+WfKRZtkUKEBVHkv/t3AnBW9NfLRUybCfBf29lZ5jlYkreZsJEUFBLVn+9mlf798epcGEAriUksOD99+nwVAfWrF2j+ZFECgAVRyIit3B0dOTFXi+ydu1ann76aWxsbQG4eOECUyZP5pnOndmydQupaakGZyoiuUXFkYhIJkoUL8HIkaP4YtUXPNa0qfl42OnTjBo5kuefe55dIbtII9/PhiIi/6HiSETkLsqWLcuc2XNY8vHH1Klb13z8+PFjDHztNV7q/RJ79+1VkSRiRVQciYhkQU3/mixatIh35s+ncuUq5uO//hrKq/360bdvXw4cPGBghiJiKSqORESyyISJxgGN+WzZZ0ybPp1y5cqZ3/vl4EFe7tuXV155mQMH9qsnSSQfU3EkIpJNNiYbngh8gpWrVjF58mRKlyljfm///v28/PLLvNT7JY1JEsmnVByJiOSQrY0tLVu24ssvvuDNiRPx8/Mzv/frr6EMfO01ejz/PNu2b9PTbSL5iIojEZH7ZGtrR+snW/PVV18xefJkypUvb37v6NGjDB82jGeefoZ169aSdCPJwExFJCvsjE5A5L4FBUFMLLi6WCxkywpBxCTF4lrIcjHF+tna2tGyZStaBAWxfft2PvrwI44fPwakr9s2adIkFixYQLdnn6VTx044OzsbnLGIZMaUlpaW72+Ih4eH4+fnx9b9R3H38DI6HREA/H3djE7BqhwKjzY6hWxLI41dP//Mp0uXcvBAxifZChcpQocOHejatSveXt6G5KefUTHazd/fZ86cwdfX957tp02bxurVqzl27BhOTk40btyYGTNmULlyZYvmpdtqIiK5xISJJk0eYdEHi/jkk0/5v2bNwGQCICE+nhXLl9O+fXteH/E6v/4aqsHbIvfw448/0r9/f3bv3s2WLVu4ceMGLVq0ID4+3qLXUc+RSC7RX+WWlR97jjJz+vQpli1bxsZvvyUpMTHDe9WqV6dLly488cQTFLIvlOu56GdUjJbdnqP/unDhAu7u7vz444889thjFstLPUciIg9QmTJleeONMWzcuJF+/fpRokRJ83tHDh9m/LhxPPnkk7y/4H0iIyMMzFTkwYmNjSUmJsa8Jf7nD4c7iY5O/6OpePHiFs1HPUeS/3XqBBcvQMlS8PXXlgn5RScuJFygVOFSfN3ZMjFFMpN0I4kt33/P8hUr+OP48Qzv2dja0rRpU57u1IkGDRtiY9Lfs3mZeuKy7+bv7/8aP348EyZMuOu5qamptGvXjqtXr7Jz506L5qWn1ST/u5YA8fFQpIjFQibcSCDhRjwJNywXUyQzhewL0bp1G55s3ZpfQ39l1Rer+CH4B1JSkklNSWHbDz+w7Ycf8PX15amOHWnbti3Fi1n2r2QRox05cgQfHx/zvoODwz3P6d+/P7///rvFCyNQcSQikieYMFG7dm1q167NhYsXWL16Nau/Xs2lSxeB9L+w57/zDgvef5//a9aMDu3bqzdJrIaLiwuurq5Zbj9gwAA2bNjAjh07cjRW6V70f5WISB5TqmQpXu77Mhs2bmDGjBk0bNTI/F5ycjJbvv+e/v37075dOxYtXsT5iPMGZivy4KSlpTFgwADWrFnDDz/8kGF9Q0tSz5GISB5lb2dP8+aBNG8eyJnwM6xZs4b169dz9coVAM6fP8+iDz5g0aJFNGzYkDZt2vB///d/ODk6GZy5SO7o378/K1asYN26dbi4uBARkf7QgpubG05Olvu5V3EkIpIP+Pn6MfC1gfTr148dO3awbt06QkJCSEtNhbQ09u7Zw949e3AqXJjmzZrRuk0b6tWrp9tuYlUWLFgAwOOPP57h+Mcff0zPnj0tdh0VRyIi+Yi9nT3NmzWnebPmREZFsmHDBtavW8/Zs+EAXEtIYMOGDWzYsAEPD09aBLWgZcuWVKpUCRMmg7MXuT8P6gF7/UkhIpJPebh70PvF3qxdt5YPP/yIp556KsN6bZGREXy2dCndn32WZ55+mg8/XMyZ8DMGZiySP6jnSEQkn7v1Sbdhw4fz044dbNiwgZCQ3aSkJANw6tQpFi5cyMKFC6lSpQqBgYEEBj6RK0/6iOR3Ko5ERKyIQyEHAgOfIDDwCa5evUpw8FY2b97ML7/8Ym5z7Ngxjh07xrvvvkvVqlUJDAzk/5o1o7RfaQMzF8k7NEO25H87f4Lr18HRER551CIhfwr7icTk6zjYOfJoacvEFDFSREQE32/5ni1btnD0yJFM21So8BDNmv0fj//f/2mMUg5ohuzsu9+11XKLiiMRkQLm7Nlwtm7dytatWzl69Gimbbx9fGj62GM81rQpdWrXwc5ONxruRcVR9qk4ykUqjkREciY8PJxt27fxww8/cOi33zJt4+zsTOMmTWj62GM8HBCAm6uKgMyoOMo+FUe5SMWRiMj9u3DxAj9u384P27ZxYP8B82DuW5lsbKjpX5NHHn2EJk2aULFiRd1++4eKo+xTcZSLVBwVcMeOwo0bYG8PVapaJOTRi0e5kXIDe1t7qpa0TEyR/CQ2LpZdu3bx044d7Pz5Z+JiYzNtV7JUKQICAggICKBRw4a4uRV9sInmISqOsk/FUS5ScVTAPdkKoqLA3R2+3WSRkK2Wt+JCQhSlCruzqbtlYorkV8nJyfwS+gs7f9rJzz/v5NSpU5k3NJmoVq0aDz/8MI0aNsS/Zk0K2Rd6oLkaScVR9uXV4kgj7ERE5K7s7OxoUL8BDeo3YMiQIZw9G87Pu3axc+dODuw/QGLi9fSGaWkcOXyYI4cPs+Sjj3BwcKROndo0bNSIhg0aUrFSRWxtbI39MCJZoOJIRESyxcfHl87PdKbzM51JTEokNDSU3SEhhISEcPLkSXO7xMTr7N69m927dwPg7OJC3bp1qV+/PvXq1aNixYpa+03yJBVHIiKSYw6FHGjUsBGNGjZi0KDBXLh4gb1797J3z1727tvLhagoc9u42Fh2/PgjO378EQAXV1dq165NnTp1qFunLlWqVNGUAZIn6KdQREQsplTJUrR+sjWtn2xNGmmcPnWavfv2sn//fg7sP0B09FVz29iYGH7asYOfduwAwNHREX9/f2rVqkXNWrXw9/fHxdnFoE8iBZmKIxERyRUmTJQtW5ayZcvS+ZnOpKal8teff3HgwH7279/PL7/8wtWrV83tr1+/zr59+9i3b98/AUxUKF+BmrVq4u/vj7+/P2XKlNGtOMl1Ko5EROSBsDHZ8NBDD/HQQw/RpUtX0kjj1KlTHDx4kNBffuGXX34hIiLi3xPS0vjzz5P8+edJ1qxeDaRPSFm9eg1q+NegevXqVK9WjRIlShr0icRaqTgSERFDmDBRrmw5ypUtR6eOnQCIjIzg199+49fQX/ntt185/scfpKakmM+Ji4tjz57d7Nmz23zM3cOD6tWqUa16dapWqUqVKlUoWrTog/44YkVUHImISJ7h4eFJiyc8afFECwASriVw9OhRfj90iEOHDnHo0O9cunQxwzlRkZFERUaybdu2DHGqVq1ClSpVqFS5MpUrVcLdw0OzeUuWqDgSEZE8q7BTYerVrUe9uvUASCONyIhIDh/+ncNHjqTPq3T0KAnx8RnOi4yMIDIygu3bt5uPubkVpVLlSlSqWImKFR+iYsWKlC1XDodCDg/yI0k+oBmyJf9LiIe0NDCZoHARi4SMvxEPpAEmithbJqaI5I7UtFROnz7N0aNHOXbsGEePHuX48eO3FUyZsbG1pUyZMuljoSpUoEKFCpSvUAEfH59sT1ipGbKzTzNki+QWCxVEt1JBJJJ/2JhszGOXnmz1JJBeMJ05c4bjx4/zx/HjHP/jD44fP87lS5cynJuaksLff/3F33/9xZZbjhdycKBc2XKUL1+OcuXLU65cOcqXK4evry+2tvrVae30X1hERKyOjcmGMqXLUKZ0GfP4JYBLly7yx4kTnDx5khMnTnDixAn+/usvkpOTM5yflJjI8ePHOH78WIbjdnZ2+Pn5UaZMGcqWLUuZsmUpU6YMZUqX5tAD+WTWJSoyzugUMqXiSERECowSJUoSUKIkAQ8HmI8lJydzOuw0f/31F3+ePMmff/7Jn3/9xZkzZ0hLTc1wfnJyMn///Td///33bbFd3dwo7edH6TJlKO3nh1/p0vj6+uLn54eri2uufzaxHBVHkv8tXwbx8VCkCHR/zjIhDy0jLike50JF6O5vmZgikjfZ2dlRoXwFKpSvwBOBT5iPJyYlcibsDH/9/Vd6QfTXX/z99ynCzoRxIynptjgx0dH8Hh3N77//ftt7rm5u+Pr64uvri4+PD74+Pvj6+uLt44O7u7sW5M1jVBxJ/rd8OURFgbu7xYqjZb8t50JCFKUKu6s4EimgHAo5mCetvFVKagoRERGcOnWK06dPc/rUacLOhBF2OozIyIhMY8VER3MkOpojhw/f9p6trR0enh74eHvj5e2Nt5cXXl5eeP7z6l7KXWvOPWD6bouIiGSDrY0tPt4++Hj70KRxkwzvXb9+nfDwcE6HnSY8PJzwM2c4c+YM4eHhRERGpj9Z+x8pKcmcO3uWc2fPZno9k40NpUqVwtPTEw8PDzw9PfH08MDDwwMPT0/c3d0pVqyYllWxIBVHIiIiFuLo6JhpbxOk36aLOH+e8LNnOXv2LGfDz3L2bDjnzp/n3NmzxMVlPjg5LTXVPNHlndjZ2VHK3R33Uu64u5eiZKlSuLu7U6pkSUqVSt8vWbIkRXLh6V5rpOJIRETkAXAo5ECZMmUpU6Zspu/HxsWm9yCdP09ERATnz5/n/C1fX71y5Y6xk5OTOX/uHOfPnbtrDk6FC1OyZMl/txIlKFGiBCVKlqR48eKUKF6C4iWKU7xY8QJ9K6/gfnIREZE8xMXZhcqVq1C5cpVM309MvE5kVBSRkZFEREQQGRFB1IULREVGEhkVRVRkFNHRV+96jWsJCZwJC+NMWNi983F1pUTx4hQrnl4sFS9ejGLFi1OsWDGKFS1K0aLFKFasKEWLFaOom5tVzf9kPZ9ERETEijk4OFLarzSl/UrfsU1i4nUuXrxI1IULXLhwgQtRUVy4cIGLFy9y4cJFLl5M3+Lj7z2/UGxMDLExMZw6dSpL+Tm7uFDUzY2iRYtStGhR3NyK4lbUDTc3N9xcXXErWtT8taubG66urpkNwcoTVByJiIhYCQcHR3x8fPHxuftSHNeuX+PypUtcvHSJSze3ixe5dPkyly9d5vLlS/98fYnr169n6dpxsbHExcYSHh6e5XxNeXQdYBVHIiIiBYyTo1OWiihIfwLvytUrXL58mSuXr3D5ymWuXr3KlStXuHr1KlevXOHKlStER0dzNTqa2JiYLOeRmpJ670YGUHEkIiIid+To6IiXpxdenllb2D0lJZnomBiuXr1KTHQM0dFXiY6JITo6muirV4mJjSU2JobomBguXoji2IXbZxs3moojyf+qVAEPDyhWzHIhS1bB87oHRR0tF1NEpCCwtbVLH8BdrPg920ZFniewftUHkFX25GjGqPfee4+yZcvi6OhIo0aN2Lt3713bf/nll1SpUgVHR0f8/f359ttvM7yflpbGuHHj8PLywsnJicDAQE6cOJGT1KQgmvM2fPxJ+quFvB30Nh+3/4S3gywXU0RE8odsF0erVq1i6NChjB8/noMHD1KrVi2CgoKIiorKtP2uXbvo1q0bvXv35pdffqFDhw506NAhw9ozM2fO5J133mHhwoXs2bOHIkWKEBQUlOVBYCIiIiKWYkpLy96DdI0aNaJBgwa8++67AKSmpuLn58drr73GyJEjb2vfpUsX4uPj2bBhg/nYww8/TO3atVm4cCFpaWl4e3vzv//9j2HDhgEQHR2Nh4cHn3zyCV27dr1nTuHh4fj5+bF1/1HcPbJ2T1RERESMdfO22pkzZ/D1vffg8AclWz1HSUlJHDhwgMDAwH8D2NgQGBhISEhIpueEhIRkaA8QFBRkbv/3338TERGRoY2bmxuNGjW6Y8zExERiYmLMW2xsbHY+hoiIiMgdZWtA9sWLF0lJScHDwyPDcQ8PD44dO5bpOREREZm2j4iIML9/89id2vzXtGnTePPNN7OTulizoUPgypX0AdkWGnc05LshXL1+haKOxTTuSESkgMmXS/iOGjUq/ZHAf7YjR44YnZIY6dgxOHQo/dVSIS8e41DUIY5dtFxMERHJH7JVHJUsWRJbW1si/7MycGRkJJ6enpme4+npedf2N1+zE9PBwQFXV1fz5uLikp2PISIiInJH2SqOChUqRL169QgODjYfS01NJTg4mICAgEzPCQgIyNAeYMuWLeb25cqVw9PTM0ObmJgY9uzZc8eYIiIiIrkl25NADh06lBdeeIH69evTsGFD5s6dS3x8PL169QKgR48e+Pj4MG3aNAAGDRpE06ZNmT17Nq1bt2blypXs37+fRYsWAWAymRg8eDCTJ0+mYsWKlCtXjrFjx+Lt7U2HDh0s90lFREREsiDbxVGXLl24cOEC48aNIyIigtq1a7N582bzgOqwsDBsbP7tkGrcuDErVqxgzJgxjB49mooVK7J27Vpq1KhhbvP6668THx9P3759uXr1Ko888gibN2/G0dHRAh9RREREJOuyPc9RXqR5jgq4J1tBVBS4u8O3mywSstXyVlxIiKJUYXc2dbdMTBERySin8xy99957vPXWW0RERFCrVi3mz59Pw4YNLZZXvnxaTURERAqm7K7UkRMqjkRERCTfmDNnDn369KFXr15Uq1aNhQsXUrhwYZYsWWKxa2R7zFFelJqaCmDRqlHykRtJkJqa/hp53iIhU2KSSEtIJSU5iSgLxRQRkYxu/t6Ojo7G1dXVfNzBwQEHB4fb2t9cqWPUqFHmY/daqSMnrKI4ujlH0rNPNjU4EzHUhb+hflWLhozgbwKnWjamiIhkdOtDWgDjx49nwoQJt7XLyUodOWEVxVGdOnXYu3cvHh4eGZ6Uk5yJjY2lWrVqHDlyRBNs5gJ9f3OXvr+5T9/j3FWQvr+pqamEhYVRrVo17Oz+LUky6zV6kKyiOLKzs6NBgwZGp2E1YmJiAPDx8cnQzSmWoe9v7tL3N/fpe5y7Ctr3t3Tp0llum5OVOnJC3SwiIiKSL+RkpY6csIqeIxERESkY7rVShyWoOJLbODg4MH78eMPv+VorfX9zl76/uU/f49yl7+/d3WulDkuwihmyRURERCxFY45EREREbqHiSEREROQWKo5EREREbqHiSEREROQWKo4EgGnTptGgQQNcXFxwd3enQ4cOHD9+3Oi0rNb06dMxmUwMHjzY6FSsytmzZ3nuuecoUaIETk5O+Pv7s3//fqPTsgopKSmMHTuWcuXK4eTkRIUKFZg0aRJ6pifnduzYQdu2bfH29sZkMrF27doM76elpTFu3Di8vLxwcnIiMDCQEydOGJNsAaPiSAD48ccf6d+/P7t372bLli3cuHGDFi1aEB8fb3RqVmffvn188MEH1KxZ0+hUrMqVK1do0qQJ9vb2bNq0iSNHjjB79myKFStmdGpWYcaMGSxYsIB3332Xo0ePMmPGDGbOnMn8+fONTi3fio+Pp1atWrz33nuZvj9z5kzeeecdFi5cyJ49eyhSpAhBQUFcv379AWda8OhRfsnUhQsXcHd358cff+Sxxx4zOh2rERcXR926dXn//feZPHkytWvXZu7cuUanZRVGjhzJzz//zE8//WR0KlapTZs2eHh48NFHH5mPderUCScnJ5YtW2ZgZtbBZDKxZs0aOnToAKT3Gnl7e/O///2PYcOGAekr13t4ePDJJ5/QtWtXA7O1fuo5kkxFR0cDULx4cYMzsS79+/endevWBAYGGp2K1Vm/fj3169fnmWeewd3dnTp16rB48WKj07IajRs3Jjg4mD/++AOAX3/9lZ07d9KqVSuDM7NOf//9NxERERn+rXBzc6NRo0aEhIQYmFnBoBmy5TapqakMHjyYJk2aUKNGDaPTsRorV67k4MGD7Nu3z+hUrNJff/3FggULGDp0KKNHj2bfvn0MHDiQQoUK8cILLxidXr43cuRIYmJiqFKlCra2tqSkpDBlyhS6d+9udGpWKSIiAuC2WZ89PDzM70nuUXEkt+nfvz+///47O3fuNDoVq3HmzBkGDRrEli1bcHR0NDodq5Samkr9+vWZOnUqAHXq1OH3339n4cKFKo4s4IsvvmD58uWsWLGC6tWrExoayuDBg/H29tb3V6yObqtJBgMGDGDDhg1s27YNX19fo9OxGgcOHCAqKoq6detiZ2eHnZ0dP/74I++88w52dnakpKQYnWK+5+XlRbVq1TIcq1q1KmFhYQZlZF2GDx/OyJEj6dq1K/7+/jz//PMMGTKEadOmGZ2aVfL09AQgMjIyw/HIyEjze5J7VBwJkD74b8CAAaxZs4YffviBcuXKGZ2SVWnevDmHDh0iNDTUvNWvX5/u3bsTGhqKra2t0Snme02aNLlt+ok//viDMmXKGJSRdUlISMDGJuOvDFtbW1JTUw3KyLqVK1cOT09PgoODzcdiYmLYs2cPAQEBBmZWMOi2mgDpt9JWrFjBunXrcHFxMd/TdnNzw8nJyeDs8j8XF5fbxm8VKVKEEiVKaFyXhQwZMoTGjRszdepUOnfuzN69e1m0aBGLFi0yOjWr0LZtW6ZMmULp0qWpXr06v/zyC3PmzOHFF180OrV8Ky4ujpMnT5r3//77b0JDQylevDilS5dm8ODBTJ48mYoVK1KuXDnGjh2Lt7e3+Yk2yUVpImlpaUCm28cff2x0alaradOmaYMGDTI6DavyzTffpNWoUSPNwcEhrUqVKmmLFi0yOiWrERMTkzZo0KC00qVLpzk6OqaVL18+7Y033khLTEw0OrV8a9u2bZn+u/vCCy+kpaWlpaWmpqaNHTs2zcPDI83BwSGtefPmacePHzc26QJC8xyJiIiI3EJjjkRERERuoeJIRERE5BYqjkRERERuoeJIRERE5BYqjkRERERuoeJIRERE5BYqjkRERERuoeJIRERE5BYqjkRERERuoeJIRERE5BYqjkRERERuoeJIRERE5Bb/DzgxNvtazIh/AAAAAElFTkSuQmCC",
"text/plain": [
"<Figure size 640x480 with 2 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"import numpy as np\n",
"from scipy.stats import chi2\n",
"import matplotlib.pyplot as plt\n",
"fig, ax = plt.subplots(1, 1)\n",
"\n",
"df = 3\n",
"rv = chi2(df)\n",
"\n",
"mean, var, skew, kurt = rv.stats('mvsk')\n",
"\n",
"sample_size = 30\n",
"print(f\"{sample_size=}\")\n",
"\n",
"sample = rv.rvs(size=sample_size, random_state=0)\n",
"sample_mean = np.mean(sample)\n",
"\n",
"domain_p1, domain_p99 = rv.ppf(0.01), rv.ppf(0.99)\n",
"x = np.linspace(domain_p1, domain_p99, 100)\n",
"\n",
"_ = ax.plot(x, rv.pdf(x), 'k-', lw=2, label='pdf')\n",
"_ = ax.axvline(mean, color='red', lw=2, linestyle='--', label=f'{mean=:.2f}')\n",
"_ = ax.axvline(sample_mean, color='green', lw=2, linestyle='--', label=f'{sample_mean=:.2f}')\n",
"\n",
"_ = ax.twinx().hist(sample, density=False, bins='auto', histtype='stepfilled', alpha=0.2, label='sample histogram')\n",
"\n",
"_ = ax.set_xlim(domain_p1, domain_p99)\n",
"_ = ax.legend(loc='upper right', frameon=False)\n",
"\n",
"def button_chi2():\n",
" for idx, val in enumerate(sample):\n",
" yield idx + 1, float(np.round(val, 2))\n",
"\n",
"button_chi2 = button_chi2()"
]
},
{
"cell_type": "code",
"execution_count": 5,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"(1, 8.6)"
]
},
"execution_count": 5,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"next(button_chi2)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Uniform"
]
},
{
"cell_type": "code",
"execution_count": 6,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"sample_size=30\n"
]
},
{
"data": {
"image/png": "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",
"text/plain": [
"<Figure size 640x480 with 2 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"import numpy as np\n",
"from scipy.stats import uniform\n",
"import matplotlib.pyplot as plt\n",
"fig, ax = plt.subplots(1, 1)\n",
"\n",
"rv = uniform(1, 4)\n",
"\n",
"mean, var, skew, kurt = rv.stats('mvsk')\n",
"\n",
"sample_size = 30\n",
"print(f\"{sample_size=}\")\n",
"\n",
"sample = rv.rvs(size=sample_size, random_state=1)\n",
"sample_mean = np.mean(sample)\n",
"\n",
"domain_p1, domain_p99 = rv.ppf(0.01), rv.ppf(0.99)\n",
"x = np.linspace(domain_p1, domain_p99, 100)\n",
"\n",
"_ = ax.plot(x, rv.pdf(x), 'k-', lw=2, label='pdf')\n",
"_ = ax.axvline(mean, color='red', lw=2, linestyle='--', label=f'{mean=:.2f}')\n",
"_ = ax.axvline(sample_mean, color='green', lw=2, linestyle='--', label=f'{sample_mean=:.2f}')\n",
"\n",
"_ = ax.twinx().hist(sample, density=False, bins='auto', histtype='stepfilled', alpha=0.2, label='sample histogram')\n",
"\n",
"_ = ax.set_xlim(domain_p1, domain_p99)\n",
"_ = ax.legend(loc='upper right', frameon=False)\n",
"\n",
"def button_uniform():\n",
" for idx, val in enumerate(sample):\n",
" yield idx + 1, float(np.round(val, 2))\n",
" \n",
"button_uniform = button_uniform()"
]
},
{
"cell_type": "code",
"execution_count": 7,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"(1, 2.67)"
]
},
"execution_count": 7,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"next(button_uniform)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Log Normal"
]
},
{
"cell_type": "code",
"execution_count": 8,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"sample_size=30\n"
]
},
{
"data": {
"image/png": "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mxyJxWI1R0RERPRoPDw85CZaSRtYHvTjjz9i+/bt2LFjB5KSkrBt2zZ88skn2LZtm0rjUXqdI00ku87RL7/u16i1Eh6msescyRo5ciR+++03AMCRI0cwYMCAOnVc1rgIU/kzwzMfKHT5byp/Zmada4mIiFqC9O93SkoKnGWWl6mv5ahDhw5YsGABZs2aJZx777338P333+PixYsqi0tjZqupiqGRdrccAZBrPvzuu+/UGAkREdGjMzc3l5toVd8QmdLSUujoyKcuurq6Ku9FUXrMkabT9jFHADBmzBiYmZmhuLgYu3fvxoYNG+osYTC913QUVBTA0lBBy9T06UBBAWCpfKsVERGRuowaNQrvv/8+OnbsiJ49e+Ls2bNYs2YNpk6dqtLnaF232slTp2Bo0HoSpKZ0qwHA5MmT8e233wKo3dj32WefVWVYREREzU7Z7UOKioqwZMkS7N27F7m5uXByckJoaCiWLl0KAwMDlcWldd1qqvzH0WQvvvii8P77779XYyREREQtw9zcHOvWrcP169dRVlaGK1eu4L333lP5336tSo4MDA0ggkjdYbSIQYMGwdHREQDw+++/4/bt22qOiIiISDtoV3LUirrTHpWuri5eeOEFAEBVVRV2796t5oiIiIi0g1YlR4aGbaNLTaqhrjWXNS4QrRDBZY2CPlwXF0Akqn0lIiIiOdqVHLWhliMA8Pb2FhbKPHHiBP799181R0RERNT6aVVyNGBg3cUQtZlIJJJrPdq+fbsaoyEiItIOWpUcTZo4Ud0htDjpuCOgtmtNC1ZmICIiUiutSo7aoo4dOwqbz166dAkJCQnqDYiIiKiVY3KkBbjmERERkeowOdIC48aNE7ZN+eGHH1BZWanmiIiIiFovJkdawMrKCmPGjAEA5OXlYd++feoNiIiIqBVjcqQlZsyYIbz/4osv1BgJERFR68bkSEs89dRT6NatGwDg8OHDqK6uVnNERERErZOeugMg1dDR0cGMGTMwb948AMCA2wMwdfpUGOopWBjz+++BigrAsG0tmklERNQYIokWLIyTmZmJDh064M+EVNjZO6o7HKV4uViq7F75+flwdnZGZWUl2rVrh6ysLBgZGans/kRERKok/ft948YNuGjQllbsVtMitra2ePbZZwEAd+7cwZ49e9QcERERUevD5EjLvPrqq8L7yMhINUZCRETU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",
"text/plain": [
"<Figure size 640x480 with 2 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"import numpy as np\n",
"from scipy.stats import lognorm\n",
"import matplotlib.pyplot as plt\n",
"fig, ax = plt.subplots(1, 1)\n",
"\n",
"rv = lognorm(s=1, loc=1, scale=10)\n",
"\n",
"mean, var, skew, kurt = rv.stats('mvsk')\n",
"\n",
"sample_size = 30\n",
"print(f\"{sample_size=}\")\n",
"\n",
"sample = rv.rvs(size=sample_size, random_state=1)\n",
"sample_mean = np.mean(sample)\n",
"\n",
"domain_p1, domain_p99 = rv.ppf(0.01), rv.ppf(0.99)\n",
"x = np.linspace(domain_p1, domain_p99, 100)\n",
"\n",
"_ = ax.plot(x, rv.pdf(x), 'k-', lw=2, label='pdf')\n",
"_ = ax.axvline(mean, color='red', lw=2, linestyle='--', label=f'{mean=:.2f}')\n",
"_ = ax.axvline(sample_mean, color='green', lw=2, linestyle='--', label=f'{sample_mean=:.2f}')\n",
"\n",
"_ = ax.twinx().hist(sample, density=False, bins='auto', histtype='stepfilled', alpha=0.2, label='sample histogram')\n",
"\n",
"_ = ax.set_xlim(domain_p1, domain_p99)\n",
"_ = ax.legend(loc='upper right', frameon=False)\n",
"\n",
"def button_lognorm():\n",
" for idx, val in enumerate(sample):\n",
" yield idx + 1, float(np.round(val, 2))\n",
" \n",
"button_lognorm = button_lognorm()"
]
},
{
"cell_type": "code",
"execution_count": 9,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"(1, 51.75)"
]
},
"execution_count": 9,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"next(button_lognorm)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Bernoulli"
]
},
{
"cell_type": "code",
"execution_count": 10,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"sample_size=30\n"
]
},
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAl0AAAGdCAYAAAAogsYCAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguMCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy81sbWrAAAACXBIWXMAAA9hAAAPYQGoP6dpAABgjUlEQVR4nO3de1hU1f4/8PcAMogNN5HbQOIlEVJBISe8/NSk8JKKWpmRIBmaSZlzTLNM8HLEE4lUekJN1E56MPuWedToKGqmoibIOXiJ1EIEGZSUq8llZv/+4LBzBJRBmI3j+/U8+8G99lprf3a74uPaa68tEwRBABERERG1KjOpAyAiIiJ6GDDpIiIiIjICJl1ERERERsCki4iIiMgImHQRERERGQGTLiIiIiIjYNJFREREZARMuoiIiIiMwELqAIylpqYGp06dgrOzM8zMmGsSERE9CHQ6HQoLC9G3b19YWDzYacuDHb0BTp06hf79+0sdBhERETXDiRMn8MQTT0gdxn15aJIuZ2dnALU3zdXVVeJoiIgasGULUFEBdOgAhIZKE8J/t6CiugId2nVAaB9pYiC6XUFBAfr37y/+Hn+QPTRJV90jRVdXV7i7u0scDRFRA+bPlzoCzHeXPgaihpjC1KAH/wqIiIiIHgBMuoiIiIiM4KF5vEhE1OYVFABaLWBuDkg097SgrABaQQtzmTlcFZz/StSSmHQREbUVTzwB5OcDSiWQlydNCOufQH5ZPpQKJfLU0sRAZKr4eJGIiIjICJh0ERERERkBky4iIiIiI+CcLiIiImpzbt0Ctm8Htm6VOpKWw6SLiIiI2pSdO4GpU4EbN6SOpGU16/HimjVr4OnpCSsrK6hUKpw4ceKu9YuLizFr1iy4urpCLpejR48e2LNnj0F93rp1C7NmzULHjh3xyCOPYOLEiSgsLGxO+K3m1i3gH/8AJk4Ehg6t/fmPf9SWt5ahQ4firbfear0TGIGnpycSEhLEfZlMhh07dgAAcnJyIJPJkJmZKUls69atg4eHB8zMzPRiJCKi1rFzJxASAhQXSx1JyzM46dq2bRvUajWio6ORkZEBX19fBAcH4+rVqw3Wr6qqwtNPP42cnBx89dVXyM7Oxvr166FUKg3qc86cOfjXv/6F7du344cffsCVK1cwYcKEZlxy69i5E3BzA8LCgB07gB9+qP0ZFlZb/q9/SR3hg8nDwwMFBQXo1auX0c9dWlqKqKgozJ8/H/n5+Zg+fbrRYyAiepjculU7wgUAgtC8PmJjY/HEE09AoVDAyckJISEhyM7OvuM8hg/kCIKARYsWwdXVFe3bt0dQUBDOnz9vWHCCgfr37y/MmjVL3NdqtYKbm5sQGxvbYP1PP/1U6Nq1q1BVVdXsPouLi4V27doJ27dvF+ucO3dOACCkpaU1Ke7Lly8LAITLly83qb4hvv1WEGSy2q32XxP9re7Yt9+2+KmFIUOGCLNnz27RPmtqagStVtuifd5N586dhVWrVon7AIRvvvnGaOdvTFZWlgBA+PXXX6UOhR4WSmXt/zSUSulCWKkUEANBuVK6GOjh9fnnDf0eNez3d3BwsLBx40bh9OnTQmZmpjBq1Cjh0UcfFcrLy8U6r732muDh4SGkpqYKJ0+eFJ588klhwIABd+13xYoVgq2trbBjxw7hP//5jzB27FihS5cuwh9//NHk6zNopKuqqgrp6ekICgoSy8zMzBAUFIS0tLQG2+zcuROBgYGYNWsWnJ2d0atXLyxfvhxarbbJfaanp6O6ulqvTs+ePfHoo482et7KykqUlpaKW1lZmSGX2mRNycrryqdObZ1HjTU1NYiKioKtrS0cHR3x/vvvQ7gtmMrKSsydOxdKpRIdOnSASqXCwYMHxeObNm2CnZ0ddu7cCR8fH8jlcuTm5sLT0xPLly/HK6+8AoVCgUcffRTr1q3TO3dWVhaeeuoptG/fHh07dsT06dNRXl4uHm/o8WdISAim1v1Du4emPF709PTE0qVLMXnyZHTo0AFKpRJr1qzRqyOTybB27Vo8++yzsLa2hre3N9LS0nDhwgUMHToUHTp0wIABA3Dx4kXxn0nv3r0BAF27doVMJkNOTk6TYiYioubZsQO43+9ap6SkYOrUqXj88cfh6+uLTZs2ITc3F+np6QCAkpISbNiwAfHx8Xjqqafg7++PjRs34ujRozh27FiDfQqCgISEBCxcuBDjxo1Dnz598Pnnn+PKlSvidJimMOjSioqKoNVq4ezsrFfu7OwMjUbTYJtff/0VX331FbRaLfbs2YP3338fK1euxLJly5rcp0ajgaWlJezs7Jp83tjYWNja2oqbj4+PIZfaZNu31070u9cwqCDU1vvqq5aPYfPmzbCwsMCJEyfw0UcfIT4+Hp999pl4PCoqCmlpaUhOTsZ///tfPP/88xgxYoTesOjNmzfxt7/9DZ999hnOnDkDJycnAMDKlSsREBCAU6dO4fXXX8fMmTPFYdqKigoEBwfD3t4eP/30E7Zv3459+/YhKiqq5S/yHuLi4uDr64tTp07hnXfewezZs7F37169OkuXLkVYWBgyMzPRs2dPvPTSS5gxYwYWLFiAkydPQhAEMfZJkyZh3759AIATJ06goKAAHh4eRr8uesikpgKnT9f+lCqEsFScnnkaqWHSxUAPr99/B3S6ho+VlZXpDaZUVlY2qc+SkhIAgIODA4DmDeT89ttv0Gg0em1sbW2hUqkabdOQVn97UafTwcnJCevWrYO5uTn8/f2Rn5+PuLg4REdHt9p5FyxYALVaLe7n5+e3SuJVl5U39i/J7czMgG++AV5+uWVj8PDwwKpVqyCTyeDl5YWsrCysWrUKkZGRyM3NxcaNG5Gbmws3NzcAwNy5c5GSkoKNGzdi+fLlAIDq6mr8/e9/h6+vr17fo0aNwuuvvw4AmD9/PlatWoUDBw7Ay8sLW7duxa1bt/D555+jQ4cOAIDVq1djzJgx+Nvf/lYvkW5NAwcOxDvvvAMA6NGjB44cOYJVq1bh6aefFutERETghRdeEK8lMDAQ77//PoKDgwEAs2fPRkREBACII3cA0KlTJ7i4uBjtWugh5uUldQTwcpQ+BlOSlVcidQgPFCs3QO4KCLf9ThV05ai+hnq/w6OjoxETE3PX/nQ6Hd566y0MHDhQnBvcnIGcunJDBp0aYlDS5ejoCHNz83qTzQoLCxv9peTq6op27drB3NxcLPP29oZGo0FVVVWT+nRxcUFVVRWKi4v1/iHd7bxyuRxyuVzcLy0tNeRSm+xuWfmddDrg+vWWj+HJJ5+ETCYT9wMDA7Fy5UpotVpkZWVBq9WiR48eem0qKyvFpAIALC0t0adPn3p9314mk8ng4uIivuBw7tw5+Pr6igkXUJv86HQ6ZGdnGzXpCgwMrLd/59uGt19LXWx1jxDrym7duoXS0lLY2Ni0XrBERNSgoUOBA/sbPnb27Fm9l/Bu/x3fmFmzZuH06dM4fPhwC0V4fwx6vGhpaQl/f3+k3jb0rdPpkJqaWu+XXp2BAwfiwoUL0N2Wmfzyyy9wdXWFpaVlk/r09/dHu3bt9OpkZ2cjNze30fMaS8eOTX/+bGYG/G9002jKy8thbm6O9PR0ZGZmitu5c+fw0UcfifXat2+vl7jVadeund6+TCbTu5f3YmZmpje/DKgdVZPC7ddSd60NlRlyfURE1HKCggCFDYD6v46gUChgY2MjbvdKuqKiorBr1y4cOHAA7u7uYvntAzm3u9tATl25IYNODTF4upparcb69euxefNmnDt3DjNnzkRFRYX4WCYsLAwLFiwQ68+cORPXr1/H7Nmz8csvv2D37t1Yvnw5Zs2a1eQ+bW1tMW3aNKjVahw4cADp6emIiIhAYGAgnnzySUMvoUWFhBg20jV+fMvHcPz4cb39Y8eO4bHHHoO5uTn69u0LrVaLq1evonv37nrb/T4y8/b2xn/+8x9UVFSIZUeOHIGZmRm8/veYpFOnTigoKBCPa7VanD59+r7O25A7Jz8eO3YM3t7eLX4eola1dSvw2WeSLsG9NWsrPsv4DFuzTGgZcHpgyC2BxYv/t9NA4tUUdfNzv/nmG+zfvx9dunTRO96cgZwuXbrAxcVFr01paSmOHz9u0OCPwXO6Jk2ahGvXrmHRokXQaDTw8/NDSkqK+LgmNzcXZrcN/Xh4eOD777/HnDlz0KdPHyiVSsyePRvz589vcp8AsGrVKpiZmWHixImorKxEcHAw/v73vxsafot7/nlg9uzaRdzuNpleJgPs7IDnnmv5GHJzc6FWqzFjxgxkZGTgk08+wcqVKwHUzm8KDQ1FWFgYVq5cib59++LatWtITU1Fnz59MHr06GafNzQ0FNHR0QgPD0dMTAyuXbuGN954A1OmTBHv3VNPPQW1Wo3du3ejW7duiI+Pr/e3i5Zw5MgRfPDBBwgJCcHevXuxfft27N69u8XPQ9Sq5s0D8vMBpRJ46SVpQtg7D/ll+VAqlHiptzQx0MPt/w0GVq4EYmKAslIYnHzNmjULW7duxbfffguFQiHOubK1tUX79u31BnIcHBxgY2ODN954o95ATs+ePREbG4vx48dDJpPhrbfewrJly/DYY4+hS5cueP/99+Hm5oaQkJAmx9asifRRUVGNvqF2+1IEdQIDAxt9DbMpfQKAlZUV1qxZU28pAKlZWQGbNwPjxtUmVg0lXnVP7TZvrq3f0sLCwvDHH3+gf//+MDc3x+zZs/UW8ty4cSOWLVuGv/zlL8jPz4ejoyOefPJJPPvss/d1Xmtra3z//feYPXs2nnjiCVhbW2PixImIj48X67zyyiv4z3/+g7CwMFhYWGDOnDkYNmzYfZ23IX/5y19w8uRJLF68GDY2NoiPjxcnyBMR0YNlyP8DUlJqX+T9bg/ww46mt/30008B1C5ZdLuNGzeKyxU1ZSAnOztbfPMRAObNm4eKigpMnz4dxcXFGDRoEFJSUmBlwC92mXDnhBsTlZeXBw8PD1y+fFnv2W5Luf07UXVvM9b9tLevTbjGjGnx0xJq1+l66623HvjPIRHB3f3Pka68PGlCiHcXR7ry1NLEYEr49uL9u1pYgKAA71b7/W1M/OB1Cxk7FrhypXYdrm++qX1L0cGhdg7Xc8+1zggXERERPTiYdLUgK6vaNbhaeh0uIiIievAx6aIHHj/PQ0RED4L7/MIRERERETUFky4iIiIiI2DSRURERGQEnNNFRNRW1H0lQsIPrLs84qL3k4haDpMuIqK24uRJqSPAyenSx0Bkqvh4kYiIiMgImHQRERERGQGTLmoz1qxZA09PT1hZWUGlUuHEiRP3bFNcXIxZs2bB1dUVcrkcPXr0wJ49e+67XyIiopbGOV3UJmzbtg1qtRqJiYlQqVRISEhAcHAwsrOz4eTk1GCbqqoqPP3003BycsJXX30FpVKJS5cuwc7O7r76JZLMjBl/fkNs7VppQvjXDFy/dR0OVg5YO0aaGIhMFUe6HnBDhw7FG2+8gbfeegv29vZwdnbG+vXrUVFRgYiICCgUCnTv3h3fffed2Ob06dMYOXIkHnnkETg7O2PKlCkoKioSj6ekpGDQoEGws7NDx44d8eyzz+LixYvi8ZycHMhkMnz99dcYNmwYrK2t4evri7S0tGZfR3x8PCIjIxEREQEfHx8kJibC2toaSUlJjbZJSkrC9evXsWPHDgwcOBCenp4YMmQIfH1976tfIsns3l37Adfdu6UL4fxufHX2K+w+L10MRKaKSZcJ2Lx5MxwdHXHixAm88cYbmDlzJp5//nkMGDAAGRkZeOaZZzBlyhTcvHkTxcXFeOqpp9C3b1+cPHkSKSkpKCwsxAsvvCD2V1FRAbVajZMnTyI1NRVmZmYYP348dDqd3nnfe+89zJ07F5mZmejRowcmT56MmpoaAEBubi4eeeSRu27Lly8HUDtilZ6ejqCgILFvMzMzBAUF3TWR27lzJwIDAzFr1iw4OzujV69eWL58ObRa7X31S0RE1Br4ePFe4uNrt3vp1w/YuVO/bOxYICPj3m3V6tqtmXx9fbFw4UIAwIIFC7BixQo4OjoiMjISALBo0SJ8+umn+O9//4t9+/ahb9++YsID1I4YeXh44JdffkGPHj0wceJEvf6TkpLQqVMnnD17Fr169RLL586di9GjRwMAFi9ejMcffxwXLlxAz5494ebmhszMzLvG7eDgAAAoKiqCVquFs7Oz3nFnZ2f8/PPPjbb/9ddfsX//foSGhmLPnj24cOECXn/9dVRXVyM6OrrZ/RIREbUGJl33UloK5Offu56HR/2ya9ea1ra01PC4btOnTx/xz+bm5ujYsSN69+4tltUlHVevXsV//vMfHDhwAI888ki9fi5evIgePXrg/PnzWLRoEY4fP46ioiJxhCs3N1cv6br9vK6uruI5evbsCQsLC3Tv3v2+rutedDodnJycsG7dOpibm8Pf3x/5+fmIi4tDdHR0q56biIjIUEy67sXGBlAq712vU6eGy5rS1sbG8Lhu065dO719mUymVyaTyQDUJinl5eUYM2YM/va3v9Xrpy5xGjNmDDp37oz169fDzc0NOp0OvXr1QlVVVaPnvf0cQG2C5uPjc9e43333Xbz77rtwdHSEubk5CgsL9Y4XFhbC5S4rc7u6uqJdu3YwNzcXy7y9vaHRaFBVVdXsfomIiFoDk657uZ9Hf3c+bmwD+vXrh//7v/+Dp6cnLCzq3/7ff/8d2dnZWL9+PQYPHgwAOHz4sMHnMeTxoqWlJfz9/ZGamoqQkBAAtclbamoqoqKiGm0/cOBAbN26FTqdDmZmtdMTf/nlF7i6usLS0hIAmtUvERFRa2DS9ZCZNWsW1q9fj8mTJ2PevHlwcHDAhQsXkJycjM8++wz29vbo2LEj1q1bB1dXV+Tm5uKdd94x+DyGPl5Uq9UIDw9HQEAA+vfvj4SEBPENzDphYWFQKpWIjY0FAMycOROrV6/G7Nmz8cYbb+D8+fNYvnw53nzzTYP6JSIiMgYmXQ8ZNzc3HDlyBPPnz8czzzyDyspKdO7cGSNGjICZmRlkMhmSk5Px5ptvolevXvDy8sLHH3+MoUOHtmpckyZNwrVr17Bo0SJoNBr4+fkhJSVFbxJ8bm6uOKIFAB4eHvj+++8xZ84c9OnTB0qlErNnz8b8+fMN6peIiMgYZIIgCFIHYQx5eXnw8PDA5cuX4e7uLnU4RET1ubvXvnyjVAJ5edKEEO+O/LJ8KBVK5KmlicGUZOWVSB3CA+9qYQGCArxN4vc3R7qIiNqKyZOBGzcAe3vpQug1GTdu3YC9lXQxEJkqJl1ERG1FXJzUESDuGeljIDJVXJGeiIiIyAiYdBEREREZAZMuIiIiIiNg0kVE1Fb07Fn7hYqePaULYXVP2MTaoOdq6WIgMlVMuoiI2orycqCsrPanVCFUlaOsqgzlVdLFQGSqmHQRERERGQGTLiIiIiIjaFbStWbNGnh6esLKygoqlQonTpxotO6mTZsgk8n0NisrK706dx6v2+JuW7PG09Oz3vEVK1Y0J3wiIiIiozN4cdRt27ZBrVYjMTERKpUKCQkJCA4ORnZ2NpycnBpsY2Njg+zsbHFfJpPpHS8oKNDb/+677zBt2jRMnDhRr3zJkiWIjIwU9xUKhaHhkxFMnToVxcXF2LFjh9ShEBERtRkGj3TFx8cjMjISERER8PHxQWJiIqytrZGUlNRoG5lMBhcXF3G782PDtx9zcXHBt99+i2HDhqFr16569RQKhV69Dh06GBo+kaRyc3MxevRoWFtbw8nJCW+//TZqamru2W737t1QqVRo37497O3tERISIh5raDS5brt69WorXg0RERnCoKSrqqoK6enpCAoK+rMDMzMEBQUhLS2t0Xbl5eXo3LkzPDw8MG7cOJw5c6bRuoWFhdi9ezemTZtW79iKFSvQsWNH9O3bF3FxcXf9ZVVZWYnS0lJxKysra+JVErUOrVaL0aNHo6qqCkePHsXmzZuxadMmLFq06K7t/u///g9TpkxBREQE/vOf/+DIkSN46aWXxOOTJk1CQUGB3hYcHIwhQ4Y0OvpMRGTKDh06hDFjxsDNzQ0ymazek5emTGu6U0xMTL36PQ1c3sWgpKuoqAharbbeSJWzszM0Gk2Dbby8vJCUlIRvv/0WX3zxBXQ6HQYMGIC8vIa/Xr9582YoFApMmDBBr/zNN99EcnIyDhw4gBkzZmD58uWYN29eo7HGxsbC1tZW3Hx8fAy51AfGV199hd69e6N9+/bo2LEjgoKCUFFRgZ9++glPP/00HB0dYWtriyFDhiAjI0OvrUwmw9q1a/Hss8/C2toa3t7eSEtLw4ULFzB06FB06NABAwYMwMWLF8U2MTEx8PPzw9q1a+Hh4QFra2u88MILKCkpaTRGnU6H2NhYdOnSBe3bt4evry+++uqrJl3fwYMHIZPJ8P3336Nv375o3749nnrqKVy9ehXfffcdvL29YWNjg5deegk3b95s8jm1Wi2mTZsmHvfy8sJHH32kd+6pU6ciJCQEH374IVxdXdGxY0fMmjUL1dXVTYr9Tv/+979x9uxZfPHFF/Dz88PIkSOxdOlSrFmzBlVVVQ22qampwezZsxEXF4fXXnsNPXr0gI+PD1544QWxTvv27fVGgM3NzbF///4G/+JCRPQwqKiogK+vL9asWdPg8Tv/opqUlASZTFZvWtOdHn/8cb12hw8fNiiuVv/gdWBgIAIDA8X9AQMGwNvbG2vXrsXSpUvr1U9KSkJoaGi9yfZqtVr8c58+fWBpaYkZM2YgNjYWcrm8Xj8LFizQa5Ofn9+sxCs+LR7xafH3rNfPtR92Tt6pVzb2n2ORUZDRSIs/qQPVUAeq71nvTgUFBZg8eTI++OADjB8/HmVlZfjxxx8hCALKysoQHh6OTz75BIIgYOXKlRg1ahTOnz+vNxdu6dKliI+PR3x8PObPn4+XXnoJXbt2xYIFC/Doo4/ilVdeQVRUFL777juxzYULF/Dll1/iX//6F0pLSzFt2jS8/vrr2LJlS4NxxsbG4osvvkBiYiIee+wxHDp0CC+//DI6deqEIUOGNOlaY2JisHr1ajHJe+GFFyCXy7F161aUl5dj/Pjx+OSTTzB//vwmnVOn08Hd3R3bt29Hx44dcfToUUyfPh2urq56Cc2BAwfg6uqKAwcO4MKFC5g0aRL8/PzEuYWvvfYavvjii7vGXv6/NZfS0tLQu3dvvb+0BAcHY+bMmThz5gz69u1br21GRgby8/NhZmaGvn37QqPRwM/PD3FxcejVq1eD5/v8889hbW2N5557rkn/bImITM3IkSMxcuTIRo+7uLjo7Tc2relOFhYW9doawqCky9HREebm5igsLNQrLywsbHIQ7dq1Q9++fXHhwoV6x3788UdkZ2dj27Zt9+xHpVKhpqYGOTk58PLyqndcLpfrJWOlpaVNiu9OpZWlyC/Lv2c9D1uPemXXbl5rUtvSyubFVlBQgJqaGkyYMAGdO3cGAPTu3RsA8NRTT+nVXbduHezs7PDDDz/g2WefFcsjIiLEJGP+/PkIDAzE+++/j+DgYADA7NmzERERodfXrVu38Pnnn0OpVAIAPvnkE4wePRorV66s9+9BZWUlli9fjn379onJd9euXXH48GGsXbu2yUnXsmXLMHDgQADAtGnTsGDBAly8eFH8D+S5557DgQMHMH/+/Cads127dli8eLHYf5cuXZCWloYvv/xSL+myt7fH6tWrYW5ujp49e2L06NFITU0Vk64lS5Zg7ty5TboGjUbT4Chx3bGG/PrrrwBqk874+Hh4enpi5cqVGDp0KH755Rc4ODjUa7Nhwwa89NJLaN++fZPiojYkMRH44w9AwnuX+Gwi/qj+A+3b8d8falvKysr0fpff+Xu+ueqmNW3evPmedc+fPw83NzdYWVkhMDAQsbGxePTRR5t8LoOSLktLS/j7+yM1NVWcyKvT6ZCamoqoqKgm9aHVapGVlYVRo0bVO7Zhwwb4+/vD19f3nv1kZmbCzMys1ees2MhtoFQo71mvk3WnBsua0tZGbtOs2Hx9fTF8+HD07t0bwcHBeOaZZ/Dcc8/B3t4ehYWFWLhwIQ4ePIirV69Cq9Xi5s2byM3N1eujT58+4p/rEoC6xK2u7NatWygtLYWNTW2cjz76qJhwAbWjmTqdDtnZ2fWSrgsXLuDmzZt4+umn9cqrqqoaHNlpzJ1xWltb6/2NxNnZWVy6pKnnXLNmDZKSkpCbm4s//vgDVVVV8PPz02vz+OOPw9zcXNx3dXVFVlaWuO/k5NSq/w7qdDoAwHvvvScOe2/cuFEcpZsxY4Ze/bS0NJw7dw7/+Mc/Wi0makW3/YVIshB6SB8DUUPufFoVHR2NmJiY++63sWlNd1KpVNi0aRO8vLxQUFCAxYsXY/DgwTh9+nSTV1Mw+PGiWq1GeHg4AgIC0L9/fyQkJKCiokIcDQkLC4NSqURsbCyA2pGAJ598Et27d0dxcTHi4uJw6dIlvPrqq3r9lpaWYvv27Vi5cmW9c6alpeH48eMYNmwYFAoF0tLSMGfOHLz88suwt7c39BIMu95mPvoDUO9xY0szNzfH3r17cfToUfz73//GJ598gvfeew/Hjx/HzJkz8fvvv+Ojjz5C586dIZfLERgYWG/uULt27cQ/1y3l0VBZ3S9/Q9U9Wtu9e7deogbAoL+h3BnT7ft1ZXUxNuWcycnJmDt3LlauXInAwEAoFArExcXh+PHjjZ73zvMAhj1edHFxqbemXd2ocWMjxa6urgD0/2cjl8vRtWvXegk0AHz22Wfw8/ODv7//XWMiInrQnD17Vu//6S0xygU0Pq3pTrc/ruzTpw9UKhU6d+6ML7/8sslzaA1OuiZNmoRr165h0aJF4vySlJQUcZQkNzcXZmZ/zs+/ceMGIiMjodFoYG9vD39/fxw9erRexpqcnAxBEDB58uR655TL5UhOTkZMTAwqKyvRpUsXzJkzR2/O1sNKJpNh4MCBGDhwIBYtWoTOnTvjm2++wZEjR/D3v/9dHFG8fPkyioqKWuScubm5uHLlCtzc3AAAx44dg5mZWYOPeX18fCCXy5Gbm9vkR4n3qynnPHLkCAYMGIDXX39dLLv9hYGmMuTxYmBgIP7617/i6tWr4ujY3r17YWNj0+h8Q39/f8jlcmRnZ2PQoEEAgOrqauTk5IiPlOuUl5fjyy+/FP/CQ0RkShQKhfjEpaUYMq3pTnZ2dujRo0eD06Ua06yJ9FFRUY0+Tjx48KDe/qpVq7Bq1ap79jl9+nRMnz69wWP9+vXDsWPHDI7T1B0/fhypqal45pln4OTkhOPHj+PatWvw9vbGY489hn/84x8ICAhAaWkp3n777Rab42NlZYXw8HB8+OGHKC0txZtvvokXXnihwdEahUKBuXPnYs6cOdDpdBg0aBBKSkpw5MgR2NjYIDw8vEViMvScjz32GD7//HN8//336NKlC/7xj3/gp59+QpcuXQw6lyGPF5955hn4+PhgypQp+OCDD6DRaLBw4ULMmjVL/BvbiRMnEBYWhtTUVCiVStjY2OC1115DdHQ0PDw80LlzZ/GV5ueff16v/23btqGmpgYvv/yyQddAbUh6OlBVBVhaAhKNVqZfSUeVtgqW5pbwd+OIKZk2Q6Y13am8vBwXL17ElClTmtym1d9epNZjY2ODQ4cOISEhAaWlpejcuTNWrlyJkSNHwsXFBdOnT0e/fv3g4eGB5cuXN3lE5l66d++OCRMmYNSoUbh+/TqeffZZ/P3vf2+0/tKlS9GpUyfExsbi119/hZ2dHfr164d33323ReJpzjlnzJiBU6dOYdKkSZDJZJg8eTJef/11vbc0W5q5uTl27dqFmTNnIjAwEB06dEB4eDiWLFki1rl58yays7P1lqWIi4uDhYUFpkyZgj/++AMqlQr79++v92h9w4YNmDBhAuzs7FrtGqiVjRsH5OcDSiXQyLI6rR5C8jjkl+VDqVAiTy1NDET3q7y8XG8E6rfffkNmZiYcHBzEie93m9YEAMOHD8f48ePFQaa5c+dizJgx6Ny5M65cuYLo6GiYm5s3+ISuMTJBEIT7uK4HRl5eHjw8PHD58mW4u7tLHc4DKyYmBjt27EBmZqbUoRCZHnd3yZMu93h3Jl0tKCuv8TUMqWmuFhYgKMDboN/fBw8exLBhw+qVh4eHY9OmTQBq3+p/6623UFBQAFtb23p1PT09MXXqVHGy/osvvohDhw7h999/R6dOnTBo0CD89a9/Rbdu3Zp8LRzpIiIiIpMydOhQ3GtM6W7TmgAgJydHbz85Ofm+4zL424tELem1117DI4880uD22muvSR0eERFRi+FIFxkkJiamRdZFqXO3t/9a+i0VIiIiKTHpIkm19uKiREREbQUfLxIREREZAZMuIiIiIiNg0kVERERkBEy6iIiIiIyAE+mJiNqKc+cAQQD+96F5SUKYdQ4CBMggXQxEpopJFxFRW6FQSB0BFHLpYyAyVXy8SERERGQETLqIiIiIjICPF4mI2or4eKC0FLCxAdRqaUJIi0dpZSls5DZQB0oTA5GpYtJFRNRWxMcD+fmAUilp0pVflg+lQsmki6iF8fEiERERkREw6SIiIiIyAiZdREREREbApIuIiIjICJh0ERERERkBky4iIiIiI2DSRURERGQETLqIiIiIjICLoxIRtRX9+gEeHkCnTtKF4NoPHrYe6GQtXQxEpopJFxFRW7Fzp9QRYOdk6WMgMlV8vEhERERkBEy6iIiIiIyASRcRERGREXBOFxFRWzF2LHDtWu1Eeonmd43951hcu3kNnaw7cX4XUQtj0kVE1FZkZAD5+YBSKV0IBRnIL8uHUiFdDESmqlmPF9esWQNPT09YWVlBpVLhxIkTjdbdtGkTZDKZ3mZlZaVXZ+rUqfXqjBgxQq/O9evXERoaChsbG9jZ2WHatGkoLy9vTvhERERERmfwSNe2bdugVquRmJgIlUqFhIQEBAcHIzs7G05OTg22sbGxQXZ2trgvk8nq1RkxYgQ2btwo7svlcr3joaGhKCgowN69e1FdXY2IiAhMnz4dW7duNfQSiIiIiIzO4KQrPj4ekZGRiIiIAAAkJiZi9+7dSEpKwjvvvNNgG5lMBhcXl7v2K5fLG61z7tw5pKSk4KeffkJAQAAA4JNPPsGoUaPw4Ycfws3NzdDLICIiIjIqgx4vVlVVIT09HUFBQX92YGaGoKAgpKWlNdquvLwcnTt3hoeHB8aNG4czZ87Uq3Pw4EE4OTnBy8sLM2fOxO+//y4eS0tLg52dnZhwAUBQUBDMzMxw/PjxBs9ZWVmJ0tJScSsrKzPkUomIiIhalEFJV1FREbRaLZydnfXKnZ2dodFoGmzj5eWFpKQkfPvtt/jiiy+g0+kwYMAA5OXliXVGjBiBzz//HKmpqfjb3/6GH374ASNHjoRWqwUAaDSaeo8uLSws4ODg0Oh5Y2NjYWtrK24+Pj6GXCoRERFRi2r1dboCAwMRFhYGPz8/DBkyBF9//TU6deqEtWvXinVefPFFjB07Fr1790ZISAh27dqFn376CQcPHmz2eRcsWICSkhJxO3v2bAtcDREREbV1hw4dwpgxY+Dm5gaZTIYdO3boHW/KC3wNMeRFwoYYlHQ5OjrC3NwchYWFeuWFhYX3nLNVp127dujbty8uXLjQaJ2uXbvC0dFRrOPi4oKrV6/q1ampqcH169cbPa9cLoeNjY24KRSKJsVHRERED7aKigr4+vpizZo1jdYZMWIECgoKxO2f//znXfuse5EwOjoaGRkZ8PX1RXBwcL385G4MSrosLS3h7++P1NRUsUyn0yE1NRWBgYFN6kOr1SIrKwuurq6N1snLy8Pvv/8u1gkMDERxcTHS09PFOvv374dOp4NKpTLkEoiIiMjEjRw5EsuWLcP48eMbrVP3Al/dZm9vf9c+b3+R0MfHB4mJibC2tkZSUlKT4zL47UW1Wo3w8HAEBASgf//+SEhIQEVFhfg2Y1hYGJRKJWJjYwEAS5YswZNPPonu3bujuLgYcXFxuHTpEl599VUAtZPsFy9ejIkTJ8LFxQUXL17EvHnz0L17dwQHBwMAvL29MWLECERGRiIxMRHV1dWIiorCiy++yDcXich0qNVAaSlgYyNdCIFqlFaWwkYuXQxEDSkrK0Npaam4L5fL6y0vZYi6F/js7e3x1FNPYdmyZejYsWODdeteJFywYIFY1pQXCe9kcNI1adIkXLt2DYsWLYJGo4Gfnx9SUlLEyfW5ubkwM/tzAO3GjRuIjIyERqOBvb09/P39cfToUXFiu7m5Of773/9i8+bNKC4uhpubG5555hksXbpU7x/mli1bEBUVheHDh8PMzAwTJ07Exx9/bGj4RERtl1otdQRQB0ofA1FD7nwhLjo6GjExMc3qa8SIEZgwYQK6dOmCixcv4t1338XIkSORlpYGc3PzevXv9iLhzz//3OTzygRBEJoV8QMmLy8PHh4euHz5Mtzd3aUOh4iIHgJZeSVSh/DAu1pYgKAAb5w9exbK2z6R1dSRLplMhm+++QYhISGN1vn111/RrVs37Nu3D8OHD693/MqVK1AqlTh69KjedKp58+bhhx9+aHT5qju1+tuLRERERPdLoVDovSB3P48W73TnC3x3aokXCQEmXUREbUdZWe2cLgkXcy6rLENpZSnKKrmgND087nyB704t8SIhwKSLiKjt8PYGbG1rf0oVwhpv2K6whfca6WIgul/l5eXIzMxEZmYmAOC3335DZmYmcnNzUV5ejrfffhvHjh1DTk4OUlNTMW7cOL0X+ABg+PDhWL16tbivVquxfv16bN68GefOncPMmTP1XiRsCoMn0hMRERG1ZSdPnsSwYcPEffX/XlIJDw/Hp59+2qQX+C5evIiioiJx/14vEjYFky4iIiIyKUOHDsXd3hP8/vvv79lHTk5OvbKoqChERUU1Oy4+XiQiIiIyAiZdREREREbApIuIiIjICJh0ERERERkBky4iIiIiI2DSRURERGQETLqIiIiIjIDrdBERtRXffgtUVQGWltKF8OK3qNJWwdJcuhiITBWTLiKitsLfX+oI4O8mfQxEpoqPF4mIiIiMgEkXERERkRHw8SIRUVuxaxfwxx9A+/bAs89KE8Ivu/BH9R9o3649nu0hTQxEpopJFxFRW/Haa0B+PqBUAnl50oSw6zXkl+VDqVAiTy1NDESmio8XiYiIiIyASRcRERGRETDpIiIiIjICJl1ERERERsCki4iIiMgImHQRERERGQGTLiIiIiIjYNJFREREZARMuoiI2opHHgEUitqfUoVg+QgUlgo8YildDESmiivSExG1FT//LHUE+DlK+hiITBVHuoiIiIiMgEkXERERkREw6SIiIiIygmYlXWvWrIGnpyesrKygUqlw4sSJRutu2rQJMplMb7OyshKPV1dXY/78+ejduzc6dOgANzc3hIWF4cqVK3r9eHp61utnxYoVzQmfiKhtevtt4NVXa39KFcK/38arO1/F2/+WLgYiU2XwRPpt27ZBrVYjMTERKpUKCQkJCA4ORnZ2NpycnBpsY2Njg+zsbHFfJpOJf7558yYyMjLw/vvvw9fXFzdu3MDs2bMxduxYnDx5Uq+fJUuWIDIyUtxXKBSGhk9E1Hb9859Afj6gVAJxcdKEcPqfyC/Lh1KhRNwz0sRAZKoMTrri4+MRGRmJiIgIAEBiYiJ2796NpKQkvPPOOw22kclkcHFxafCYra0t9u7dq1e2evVq9O/fH7m5uXj00UfFcoVC0Wg/RERERG2ZQY8Xq6qqkJ6ejqCgoD87MDNDUFAQ0tLSGm1XXl6Ozp07w8PDA+PGjcOZM2fuep6SkhLIZDLY2dnpla9YsQIdO3ZE3759ERcXh5qamkb7qKysRGlpqbiVlZU17SKJiIiIWoFBI11FRUXQarVwdnbWK3d2dsbPjawv4+XlhaSkJPTp0wclJSX48MMPMWDAAJw5cwbu7u716t+6dQvz58/H5MmTYWNjI5a/+eab6NevHxwcHHD06FEsWLAABQUFiI+Pb/C8sbGxWLx4sSGXR0RERNRqWn1x1MDAQAQGBor7AwYMgLe3N9auXYulS5fq1a2ursYLL7wAQRDw6aef6h1Tq9Xin/v06QNLS0vMmDEDsbGxkMvl9c67YMECvTb5+fnw8fFpqcsiIiIiMohBjxcdHR1hbm6OwsJCvfLCwsImz7Vq164d+vbtiwsXLuiV1yVcly5dwt69e/VGuRqiUqlQU1ODnJycBo/L5XLY2NiIGyfdExERkZQMSrosLS3h7++P1NRUsUyn0yE1NVVvNOtutFotsrKy4OrqKpbVJVznz5/Hvn370LFjx3v2k5mZCTMzs0bfmCQiIqKH06FDhzBmzBi4ublBJpNhx44d4rGmLlV1p5iYmHpLV/Xs2dOguAx+vKhWqxEeHo6AgAD0798fCQkJqKioEN9mDAsLg1KpRGxsLIDaZR6efPJJdO/eHcXFxYiLi8OlS5fw6quvihf/3HPPISMjA7t27YJWq4VGowEAODg4wNLSEmlpaTh+/DiGDRsGhUKBtLQ0zJkzBy+//DLs7e0NvQQiIiIyYRUVFfD19cUrr7yCCRMm6B0zZKmqOz3++OPYt2+fuG9hYVgaZXDSNWnSJFy7dg2LFi2CRqOBn58fUlJSxMn1ubm5MDP7cwDtxo0biIyMhEajgb29Pfz9/XH06FFxflV+fj527twJAPDz89M714EDBzB06FDI5XIkJycjJiYGlZWV6NKlC+bMmaM3Z4uIiIgIAEaOHImRI0c2eMyQparuZGFhcV9LVzVrIn1UVBSioqIaPHbw4EG9/VWrVmHVqlWN9uXp6QlBEO56vn79+uHYsWMGx0lE9EAZPRq4fh1wcJAuhMdG4/qt63Cwki4GooaUlZWhtLRU3JfL5Q2+SNccjS1Vdafz58/Dzc0NVlZWCAwMRGxs7F2TtDu1+tuLRETURGvXSh0B1o6RPgaihty5AkF0dDRiYmLuu9/Glqq6k0qlwqZNm+Dl5YWCggIsXrwYgwcPxunTp5v8sh6TLiIiImrzzp49C6VSKe63xCjX3ZaqutPtjyv79OkDlUqFzp0748svv8S0adOadD4mXURERNTmKRSKey4nZYjbl6rav3+/wX3b2dmhR48e9ZbAuhuDlowgIiIietA1Z6mqO5WXl+PixYt6S2DdC5MuIqK2IiAAcHev/SlVCOsC4B7vjoB10sVAdL/Ky8uRmZmJzMxMAMBvv/2GzMxM5ObmiktVnTx5Elu2bBGXqtJoNKiqqhL7GD58OFavXi3uz507Fz/88ANycnJw9OhRjB8/Hubm5pg8eXKT4+LjRSKitkKjAfLzpQ2hXIP8MmljILpfJ0+exLBhw8T9uiWmwsPDERMTc8+lqgDg4sWLKCoqEo/l5eVh8uTJ+P3339GpUycMGjQIx44dQ6dOnZocF5MuIiIiMilDhw6963JU91qqCkC9zwwmJyffb1h8vEhERERkDEy6iIiIiIyASRcRERGRETDpIiIiIjICJl1ERERERsCki4iIiMgImHQRERERGQHX6SIiais++AC4eROwtpYuhKc/wM3qm7BuJ10MRKaKSRcRUVvx0ktSR4CXeksfA5Gp4uNFIiIiIiNg0kVERERkBHy8SETUVmRnAzU1gIUF4OUlTQhF2ajR1cDCzAJejtLEQGSqmHQREbUVw4cD+fmAUgnk5UkTwufDkV+WD6VCiTy1NDEQmSo+XiQiIiIyAiZdREREREbApIuIiIjICJh0ERERERkBky4iIiIiI2DSRURERGQETLqIiIiIjIBJFxEREZERMOkiIiIiMgKuSE9E1Fb89BOg1QLm5tKFEPkTtIIW5jLpYiAyVUy6iIjaCldXqSOAq0L6GIhMVbMeL65Zswaenp6wsrKCSqXCiRMnGq27adMmyGQyvc3KykqvjiAIWLRoEVxdXdG+fXsEBQXh/PnzenWuX7+O0NBQ2NjYwM7ODtOmTUN5eXlzwiciIiIyOoOTrm3btkGtViM6OhoZGRnw9fVFcHAwrl692mgbGxsbFBQUiNulS5f0jn/wwQf4+OOPkZiYiOPHj6NDhw4IDg7GrVu3xDqhoaE4c+YM9u7di127duHQoUOYPn26oeETERERSUImCIJgSAOVSoUnnngCq1evBgDodDp4eHjgjTfewDvvvFOv/qZNm/DWW2+huLi4wf4EQYCbmxv+8pe/YO7cuQCAkpISODs7Y9OmTXjxxRdx7tw5+Pj44KeffkJAQAAAICUlBaNGjUJeXh7c3NzuGXdeXh48PDxw+fJluLu7G3LJRETGsW4dUF4OPPIIINFfKtelr0N5VTkesXwE0/35F9v7lZVXInUID7yrhQUICvA2id/fBo10VVVVIT09HUFBQX92YGaGoKAgpKWlNdquvLwcnTt3hoeHB8aNG4czZ86Ix3777TdoNBq9Pm1tbaFSqcQ+09LSYGdnJyZcABAUFAQzMzMcP368wXNWVlaitLRU3MrKygy5VCIi41uyBPjLX2p/ShXCD0vwl3//BUt+kC4GIlNlUNJVVFQErVYLZ2dnvXJnZ2doNJoG23h5eSEpKQnffvstvvjiC+h0OgwYMAB5eXkAILa7W58ajQZOTk56xy0sLODg4NDoeWNjY2FraytuPj4+hlwqERERUYtq9XW6AgMDERYWBj8/PwwZMgRff/01OnXqhLVr17bqeRcsWICSkhJxO3v2bKuej4iIiOhuDEq6HB0dYW5ujsLCQr3ywsJCuLi4NKmPdu3aoW/fvrhw4QIAiO3u1qeLi0u9ifo1NTW4fv16o+eVy+WwsbERN4VC0aT4iIiIiFqDQUmXpaUl/P39kZqaKpbpdDqkpqYiMDCwSX1otVpkZWXB9X/r0XTp0gUuLi56fZaWluL48eNin4GBgSguLkZ6erpYZ//+/dDpdFCpVIZcAhEREZEkDF4cVa1WIzw8HAEBAejfvz8SEhJQUVGBiIgIAEBYWBiUSiViY2MBAEuWLMGTTz6J7t27o7i4GHFxcbh06RJeffVVAIBMJsNbb72FZcuW4bHHHkOXLl3w/vvvw83NDSEhIQAAb29vjBgxApGRkUhMTER1dTWioqLw4osvNunNRSIiIiKpGTyna9KkSfjwww+xaNEi+Pn5ITMzEykpKeJE+NzcXBQUFIj1b9y4gcjISHh7e2PUqFEoLS3F0aNH9Sa2z5s3D2+88QamT5+OJ554AuXl5UhJSdFbRHXLli3o2bMnhg8fjlGjRmHQoEFYt27d/Vw7ERERmaBDhw5hzJgxcHNzg0wmw44dO/SON2VR9oYYsjh8Qwxep+tBxXW6iKjNc3cH8vMBpRL43xveRg8h3h35ZflQKpTIU0sTgynhOl33rznrdH333Xc4cuQI/P39MWHCBHzzzTfi0zMA+Nvf/obY2Fhs3rxZfMKWlZWFs2fP1vtqTp1t27YhLCwMiYmJUKlUSEhIwPbt25GdnV1vhYXGtPrbi0RERETGNHLkSCxbtgzjx4+vd0wQBCQkJGDhwoUYN24c+vTpg88//xxXrlypNyJ2u/j4eERGRiIiIgI+Pj5ITEyEtbU1kpKSmhwXky4ioraiRw/Ax6f2p1QhdOwBn04+6NFRuhiIGlJWVqa36HllZWWz+mnKoux3au7i8HcyeCL9gy67sBw3wOHe+9Xb3VbqEIhMz/79UkeA/eHSx0DUkDsXOY+OjkZMTIzB/TRlUfY73W1x+J9//rnJ537oki4iIiJ68Jw9exZKpVLcl8vlEkbTPHy8SERERG2eQqHQW/S8uUlXUxZlv1NLLA4PMOkiIiKih0hTFmW/U0ssDg/w8SIRUdsRGgoUFQGOjsCWLdKE8HUoim4WwdHaEVsmSBMD0f0qLy8XPzcI1E6ez8zMhIODAx599NF7LsoOAMOHD8f48eMRFRUF4N6LwzcFky4iorbihx/+XKdLqhByfhDX6SJ6UJ08eRLDhg0T99VqNQAgPDwcmzZtwrx581BRUYHp06ejuLgYgwYNqrco+8WLF1FUVCTuT5o0CdeuXcOiRYug0Wjg5+entzh8Uzx0i6PuO3kOTs6uUofzwOPbi0StgIujmhwujnr/mrM4alvFOV1ERERERsCki4iIiMgImHQRERERGQGTLiIiIiIjYNJFREREZARMuoiIiIiMgEkXERERkRFwcVQiorYiMhIoKQFspVsHL7JfJEoqS2Ar51p8RC2NSRcRUVsRHS11BIgeKn0MRKaKjxeJiIiIjIBJFxEREZERMOkiIiIiMgImXUREbYW7OyCT1f6UKoR4d8gWy+Ae/2B/WJioLWLSRURERGQETLqIiIiIjIBJFxEREZERMOkiIiIiMgImXURERERGwKSLiIiIyAiYdBEREREZAZMuIiIiIiNg0kVERERkBM1KutasWQNPT09YWVlBpVLhxIkTTWqXnJwMmUyGkJAQvXKZTNbgFhcXJ9bx9PSsd3zFihXNCZ+IqG364gsgJaX2p1QhTPgCKaEp+GKCdDEQmSoLQxts27YNarUaiYmJUKlUSEhIQHBwMLKzs+Hk5NRou5ycHMydOxeDBw+ud6ygoEBv/7vvvsO0adMwceJEvfIlS5YgMjJS3FcoFIaGT0TUdg0dKnUEGOopfQxEpsrgka74+HhERkYiIiICPj4+SExMhLW1NZKSkhpto9VqERoaisWLF6Nr1671jru4uOht3377LYYNG1avrkKh0KvXoUMHQ8MnIiIikoRBSVdVVRXS09MRFBT0ZwdmZggKCkJaWlqj7ZYsWQInJydMmzbtnucoLCzE7t27G6y7YsUKdOzYEX379kVcXBxqamoa7aeyshKlpaXiVlZWds9zExEREbUWgx4vFhUVQavVwtnZWa/c2dkZP//8c4NtDh8+jA0bNiAzM7NJ59i8eTMUCgUmTJigV/7mm2+iX79+cHBwwNGjR7FgwQIUFBQgPj6+wX5iY2OxePHiJp2TiKhNOHgQqKwE5HLJHjUezDmIyppKyC3kfNRI1MIMntNliLKyMkyZMgXr16+Ho6Njk9okJSUhNDQUVlZWeuVqtVr8c58+fWBpaYkZM2YgNjYWcrm8Xj8LFizQa5Ofnw8fH59mXgkRkRG8/DKQnw8olUBenjQhfP0y8svyoVQokaeWJgYiU2VQ0uXo6Ahzc3MUFhbqlRcWFsLFxaVe/YsXLyInJwdjxowRy3Q6Xe2JLSyQnZ2Nbt26icd+/PFHZGdnY9u2bfeMRaVSoaamBjk5OfDy8qp3XC6X6yVjpaWl975AIiIiolZi0JwuS0tL+Pv7IzU1VSzT6XRITU1FYGBgvfo9e/ZEVlYWMjMzxW3s2LEYNmwYMjMz4eHhoVd/w4YN8Pf3h6+v7z1jyczMhJmZ2V3fmCQiIiJqKwx+vKhWqxEeHo6AgAD0798fCQkJqKioQEREBAAgLCwMSqUSsbGxsLKyQq9evfTa29nZAUC98tLSUmzfvh0rV66sd860tDQcP34cw4YNg0KhQFpaGubMmYOXX34Z9vb2hl4CERERkdEZnHRNmjQJ165dw6JFi6DRaODn54eUlBRxcn1ubi7MzAxfczU5ORmCIGDy5Mn1jsnlciQnJyMmJgaVlZXo0qUL5syZozdni4iIiKgtkwmCIEgdhDHk5eXBw8MD+06eg5Ozq9ThPPB6u9tKHQKR6XF3l3wivXu8OyfSt6CsvBKpQ3jgXS0sQFCANy5fvgx3d3epw7kv/PYiERERmYyGPhsok8kwa9asButv2rSpXt07V1BoKa26ZAQRERGRMf3000/QarXi/unTp/H000/j+eefb7SNjY0NsrOzxX2ZTNYqsTHpIiIiIpPRqVMnvf0VK1agW7duGDJkSKNtZDJZg0tftTQ+XiQiIqI2r6ysTO/zfpWVlfdsU1VVhS+++AKvvPLKXUevysvL0blzZ3h4eGDcuHE4c+ZMS4YuYtJFRNRW5OUBgiDZJHoAyFPnQYgWOIme2hwfHx/Y2tqKW2xs7D3b7NixA8XFxZg6dWqjdby8vJCUlIRvv/0WX3zxBXQ6HQYMGIC8VvjvkI8XiYiIqM07e/YslEqluN/QJwDvtGHDBowcORJubm6N1gkMDNRb4H3AgAHw9vbG2rVrsXTp0vsL+g5MuoiIiKjNUygUsLGxaXL9S5cuYd++ffj6668NOk+7du3Qt29fXLhwwdAQ74mPF4mIiMjkbNy4EU5OThg9erRB7bRaLbKysuDq2vJrenKki4iorVi8GCgpAWxtgehoaUI4uBgllSWwldsieqg0MRDdL51Oh40bNyI8PBwWFvqpzu2fKwSAJUuW4Mknn0T37t1RXFyMuLg4XLp0Ca+++mqLx8Wki4iorVi//s8V6SVKutZnrBdXpGfSRQ+qffv2ITc3F6+88kq9Y3d+rvDGjRuIjIyERqOBvb09/P39cfToUfj4+LR4XEy6iIiIyKQ888wzaOwrhwcPHtTbX7VqFVatWmWEqDini4iIiMgomHQRERERGQGTLiIiIiIjYNJFREREZARMuoiIiIiMgEkXERERkREw6SIiIiIyAq7TRUTUVgwZAhQVAY6O0oXgOQRFN4vgaC1dDESmikkXEVFbsWWL1BFgywTpYyAyVXy8SERERGQETLqIiIiIjIBJFxEREZERcE4XEVFb8dRTQGEh4OwM7N8vTQibn0JhRSGcOzhjf7g0MRCZKiZdRERtxS+/APn5QEmJdCH8/gvyy/JRcku6GIhMFR8vEhERERkBky4iIiIiI2DSRURERGQETLqIiIiIjIBJFxEREZERMOkiIiIiMoJmJV1r1qyBp6cnrKysoFKpcOLEiSa1S05OhkwmQ0hIiF751KlTIZPJ9LYRI0bo1bl+/TpCQ0NhY2MDOzs7TJs2DeXl5c0Jn4iIiMjoDE66tm3bBrVajejoaGRkZMDX1xfBwcG4evXqXdvl5ORg7ty5GDx4cIPHR4wYgYKCAnH75z//qXc8NDQUZ86cwd69e7Fr1y4cOnQI06dPNzR8IiIiIkkYvDhqfHw8IiMjERERAQBITEzE7t27kZSUhHfeeafBNlqtFqGhoVi8eDF+/PFHFBcX16sjl8vh4uLSYPtz584hJSUFP/30EwICAgAAn3zyCUaNGoUPP/wQbm5uhl4GEVHbs2gRUF4OPPKIdCEMWYTyqnI8YildDESmyqCkq6qqCunp6ViwYIFYZmZmhqCgIKSlpTXabsmSJXBycsK0adPw448/Nljn4MGDcHJygr29PZ566iksW7YMHTt2BACkpaXBzs5OTLgAICgoCGZmZjh+/DjGjx9fr7/KykpUVlaK+2VlZYZcKhGR8bWB0fvp/tLHQGSqDEq6ioqKoNVq4ezsrFfu7OyMn3/+ucE2hw8fxoYNG5CZmdlovyNGjMCECRPQpUsXXLx4Ee+++y5GjhyJtLQ0mJubQ6PRwMnJST9wCws4ODhAo9E02GdsbCwWL15syOURERERtZpW/fZiWVkZpkyZgvXr18PR0bHRei+++KL45969e6NPnz7o1q0bDh48iOHDhzfr3AsWLIBarRb38/Pz4ePj06y+iIiIiO6XQUmXo6MjzM3NUVhYqFdeWFjY4HysixcvIicnB2PGjBHLdDpd7YktLJCdnY1u3brVa9e1a1c4OjriwoULGD58OFxcXOpN1K+pqcH169cbnQcml8shl8vF/dLS0qZfKBGRFAoKAK0WMDcHXF2lCaGsAFpBC3OZOVwV0sRAZKoMenvR0tIS/v7+SE1NFct0Oh1SU1MRGBhYr37Pnj2RlZWFzMxMcRs7diyGDRuGzMxMeHh4NHievLw8/P7773D93/90AgMDUVxcjPT0dLHO/v37odPpoFKpDLkEIqK264knAA+P2p9ShbD+CXis8sAT66WLgchUGfx4Ua1WIzw8HAEBAejfvz8SEhJQUVEhvs0YFhYGpVKJ2NhYWFlZoVevXnrt7ezsAEAsLy8vx+LFizFx4kS4uLjg4sWLmDdvHrp3747g4GAAgLe3N0aMGIHIyEgkJiaiuroaUVFRePHFF/nmIhERET0QDE66Jk2ahGvXrmHRokXQaDTw8/NDSkqKOLk+NzcXZmZNH0AzNzfHf//7X2zevBnFxcVwc3PDM888g6VLl+o9HtyyZQuioqIwfPhwmJmZYeLEifj4448NDZ+IiIhIEjJBEASpgzCGvLw8eHh4YN/Jc3By5jyF+9Xb3VbqEIhMj7s7kJ8PKJVAXp40IcS7I78sH0qFEnlqaWIwJVl5JVKH8MC7WliAoABvXL58Ge7u7lKHc1/47UUiIiIiI2DSRURERGQETLqIiIjIZMTExEAmk+ltPXv2vGub7du3o2fPnrCyskLv3r2xZ8+eVomNSRcRERGZlMcffxwFBQXidvjw4UbrHj16FJMnT8a0adNw6tQphISEICQkBKdPn27xuJh0ERERkUmxsLCAi4uLuN3tqzgfffQRRowYgbfffhve3t5YunQp+vXrh9WrV7d4XEy6iIiIqM0rKytDaWmpuFVWVjZa9/z583Bzc0PXrl0RGhqK3NzcRuumpaUhKChIryw4OBhpaWktFnudVv32IhERGSA1FaipASyk+19zalgqanQ1sDDjrwdqW+78fnJ0dDRiYmLq1VOpVNi0aRO8vLxQUFCAxYsXY/DgwTh9+jQUCkW9+hqNRlxrtI6zszM0Gk2Lxg8w6SIiaju8vKSOAF6O0sdA1JCzZ89CqVSK+7cvoH67kSNHin/u06cPVCoVOnfujC+//BLTpk1r9TjvhkkXERERtXkKhQI2NjYGt7Ozs0OPHj1w4cKFBo+7uLigsLBQr6ywsBAuLi7NivNuOKeLiIiITFZ5eTkuXrwIV9eGv0YTGBiI1NRUvbK9e/ciMDCwxWPhSBcRUVuxdStw8yZgbQ289JI0IWRtxc3qm7BuZ42XeksTA9H9mDt3LsaMGYPOnTvjypUriI6Ohrm5OSZPngwACAsLg1KpRGxsLABg9uzZGDJkCFauXInRo0cjOTkZJ0+exLp161o8NiZdRERtxbx5f357UaKka97eeeK3F5l00YMoLy8PkydPxu+//45OnTph0KBBOHbsGDp16gQAyM3NhZnZnw/6BgwYgK1bt2LhwoV499138dhjj2HHjh3o1atXi8fGpIuIiIhMRnJy8l2PHzx4sF7Z888/j+eff76VIvoT53QRERERGQGTLiIiIiIjYNJFREREZARMuoiIiIiMgEkXERERkREw6SIiIiIyAiZdREREREbAdbqIiNqKum+9tcI335ocwiMuej+JqOUw6SIiaitOnpQ6ApycLn0MRKaKjxeJiIiIjIBJFxEREZERMOkiIiIiMgLO6SIiaitmzACuXwccHIC1a6UJ4V8zcP3WdThYOWDtGGliIDJVTLqIiNqK3buB/HxAqZQuhPO7kV+WD6VCuhiITBUfLxIREREZAZMuIiIiIiNg0kVERERkBEy6iIiIiIygWUnXmjVr4OnpCSsrK6hUKpw4caJJ7ZKTkyGTyRASEiKWVVdXY/78+ejduzc6dOgANzc3hIWF4cqVK3ptPT09IZPJ9LYVK1Y0J3wiIiIiozM46dq2bRvUajWio6ORkZEBX19fBAcH4+rVq3dtl5OTg7lz52Lw4MF65Tdv3kRGRgbef/99ZGRk4Ouvv0Z2djbGjh1br48lS5agoKBA3N544w1DwyciIiKShMFLRsTHxyMyMhIREREAgMTEROzevRtJSUl45513Gmyj1WoRGhqKxYsX48cff0RxcbF4zNbWFnv37tWrv3r1avTv3x+5ubl49NFHxXKFQgEXCT8ES0RERNRcBo10VVVVIT09HUFBQX92YGaGoKAgpKWlNdpuyZIlcHJywrRp05p0npKSEshkMtjZ2emVr1ixAh07dkTfvn0RFxeHmpqaRvuorKxEaWmpuJWVlTXp3EREREStwaCRrqKiImi1Wjg7O+uVOzs74+eff26wzeHDh7FhwwZkZmY26Ry3bt3C/PnzMXnyZNjY2Ijlb775Jvr16wcHBwccPXoUCxYsQEFBAeLj4xvsJzY2FosXL27ahRERtQWTJwM3bgD29tKF0Gsybty6AXsr6WIgMlWtuiJ9WVkZpkyZgvXr18PR0fGe9aurq/HCCy9AEAR8+umnesfUarX45z59+sDS0hIzZsxAbGws5HJ5vb4WLFig1yY/Px8+Pj73cTVERK0sLk7qCBD3jPQxEJkqg5IuR0dHmJubo7CwUK+8sLCwwblWFy9eRE5ODsaMGSOW6XS62hNbWCA7OxvdunUD8GfCdenSJezfv19vlKshKpUKNTU1yMnJgZeXV73jcrlcLxkrLS1t+oUSERERtTCD5nRZWlrC398fqampYplOp0NqaioCAwPr1e/ZsyeysrKQmZkpbmPHjsWwYcOQmZkJDw8PAH8mXOfPn8e+ffvQsWPHe8aSmZkJMzMzODk5GXIJRERERJIw+PGiWq1GeHg4AgIC0L9/fyQkJKCiokJ8mzEsLAxKpRKxsbGwsrJCr1699NrXTY6vK6+ursZzzz2HjIwM7Nq1C1qtFhqNBgDg4OAAS0tLpKWl4fjx4xg2bBgUCgXS0tIwZ84cvPzyy7CXcO4DERERUVMZnHRNmjQJ165dw6JFi6DRaODn54eUlBRxcn1ubi7MzJo+gJafn4+dO3cCAPz8/PSOHThwAEOHDoVcLkdycjJiYmJQWVmJLl26YM6cOXpztoiIHng9ewJXrgBubkAjLye1egire+JK2RW4Kdzwc5Q0MRCZKpkgCILUQRhDXl4ePDw8sO/kOTg5u0odzgOvt7ut1CEQmR53dyA/H1Aqgbw8aUKId0d+WT6UCiXy1NLEYEqy8kqkDuGBd7WwAEEB3rh8+TLc3d2lDue+8NuLREREREbApIuIiIjICJh0ERERERkBky4iIiIiI2DSRURERCYjNjYWTzzxBBQKBZycnBASEoLs7Oy7ttm0aRNkMpneZmVl1eKxMekiIiIik/HDDz9g1qxZOHbsGPbu3Yvq6mo888wzqKiouGs7GxsbFBQUiNulS5daPLZW/fYiERERkTGlpKTo7W/atAlOTk5IT0/H//t//6/RdjKZrMFPGrYkjnQRERFRm1dWVobS0lJxq6ysbFK7kpLatdIcHBzuWq+8vBydO3eGh4cHxo0bhzNnztx3zHfiSBcRUVuRmAj88QfQvr10ITybiD+q/0D7dtLFQNQQHx8fvf3o6GjExMTctY1Op8Nbb72FgQMH1vss4e28vLyQlJSEPn36oKSkBB9++CEGDBiAM2fOtOiCrEy6iIjaimeflToCPNtD+hiIGnL27FkolUpxXy6X37PNrFmzcPr0aRw+fPiu9QIDAxEYGCjuDxgwAN7e3li7di2WLl3a/KDvwKSLiIiI2jyFQgEbG5sm14+KisKuXbtw6NAhg0er2rVrh759++LChQuGhnlXnNNFREREJkMQBERFReGbb77B/v370aVLF4P70Gq1yMrKgqtry36rmSNdRERtRXo6UFUFWFoC/v7ShHAlHVXaKliaW8LfTZoYiO7HrFmzsHXrVnz77bdQKBTQaDQAAFtbW7T/33zJsLAwKJVKxMbGAgCWLFmCJ598Et27d0dxcTHi4uJw6dIlvPrqqy0aG5MuIqK2Ytw4ID8fUCqBvDxpQkgeh/yyfCgVSuSppYmB6H58+umnAIChQ4fqlW/cuBFTp04FAOTm5sLM7M+HfTdu3EBkZCQ0Gg3s7e3h7++Po0eP1pu8f7+YdBEREZHJEAThnnUOHjyot79q1SqsWrWqlSL6E+d0ERERERkBky4iIiIiI2DSRURERGQETLqIiIiIjIBJFxEREZERMOkiIiIiMgImXURERERGwKSLiIiIyAi4OCoRUVtx7hwgCIBMJl0Is85BgAAZpIuByFQx6SIiaisUCqkjgEIufQxEpoqPF4mIiIiMgEkXERERkRHw8SIRUVsRHw+UlgI2NoBaLU0IafEorSyFjdwG6kBpYiAyVUy6iIjaivh4ID8fUColTbryy/KhVCiZdBG1sIfu8eLSZcDuPUBlldSREBER0cPkoUu6jh4FohcBI0YAh36UOhoiIiJ6WDQr6VqzZg08PT1hZWUFlUqFEydONKldcnIyZDIZQkJC9MoFQcCiRYvg6uqK9u3bIygoCOfPn9erc/36dYSGhsLGxgZ2dnaYNm0aysvLDQ9eqP1RVlY7ev/DIcO7ICIiIjKUwUnXtm3boFarER0djYyMDPj6+iI4OBhXr169a7ucnBzMnTsXgwcPrnfsgw8+wMcff4zExEQcP34cHTp0QHBwMG7duiXWCQ0NxZkzZ7B3717s2rULhw4dwvTp0w0N/0//S75iYviokYiIiFqfwUlXfHw8IiMjERERAR8fHyQmJsLa2hpJSUmNttFqtQgNDcXixYvRtWtXvWOCICAhIQELFy7EuHHj0KdPH3z++ee4cuUKduzYAQA4d+4cUlJS8Nlnn0GlUmHQoEH45JNPkJycjCtXrhh6CbedHCgrBVJTm98FERERUVMYlHRVVVUhPT0dQUFBf3ZgZoagoCCkpaU12m7JkiVwcnLCtGnT6h377bffoNFo9Pq0tbWFSqUS+0xLS4OdnR0CAgLEOkFBQTAzM8Px48cbPGdlZSVKS0vFraysrMF6MjPgwIG7XzcRERHR/TIo6SoqKoJWq4Wzs7NeubOzMzQaTYNtDh8+jA0bNmD9+vUNHq9rd7c+NRoNnJyc9I5bWFjAwcGh0fPGxsbC1tZW3Hx8fBqsJ+iA0pIGDxERERG1mFZ9e7GsrAxTpkzB+vXr4ejo2JqnqmfBggUoKSkRt7NnzzZYT2YG2NgaNTQiIiJ6CBm0OKqjoyPMzc1RWFioV15YWAgXF5d69S9evIicnByMGTNGLNPpdLUntrBAdna22K6wsBCurq56ffr5+QEAXFxc6k3Ur6mpwfXr1xs8LwDI5XLI5XJxv7S0tMF6gg4YNqyxKyYiMqJ+/QAPD6BTJ+lCcO0HD1sPdLKWLgYiU2VQ0mVpaQl/f3+kpqaKyz7odDqkpqYiKiqqXv2ePXsiKytLr2zhwoUoKyvDRx99BA8PD7Rr1w4uLi5ITU0Vk6zS0lIcP34cM2fOBAAEBgaiuLgY6enp8Pf3BwDs378fOp0OKpXK0Gv+kwxQKIDhw5vfBRFRi9m5U+oIsHOy9DEQmSqDPwOkVqsRHh6OgIAA9O/fHwkJCaioqEBERAQAICwsDEqlErGxsbCyskKvXr302tvZ2QGAXvlbb72FZcuW4bHHHkOXLl3w/vvvw83NTUzsvL29MWLECERGRiIxMRHV1dWIiorCiy++CDc3t+Zduaz2x+LFgNyyeV0QERERNZXBSdekSZNw7do1LFq0CBqNBn5+fkhJSREnwufm5sLMzLCpYvPmzUNFRQWmT5+O4uJiDBo0CCkpKbCyshLrbNmyBVFRURg+fDjMzMwwceJEfPzxx4aGLyZbCkVtwvX/6i8bRkRERNTiZIIgCFIHYQx5eXnw8PDAkJBzGDnKFcOHc4TrfvR259sHRET3kpXH1+Pv19XCAgQFeOPy5ctwd3eXOpz7YvBI14Pu/YWAk/O96xERGd3YscC1a7UT6SWa3zX2n2Nx7eY1dLLuxPldRC3soUu6iIjarIwMID8fUCqlC6EgA/ll+VAqpIuByFS16jpdRERERFSLSRcRERGRETDpIiIiIjICJl1ERERERsCki4iIiEzOmjVr4OnpCSsrK6hUKpw4ceKu9bdv346ePXvCysoKvXv3xp49e1o8JiZdREREZFK2bdsGtVqN6OhoZGRkwNfXF8HBwfW+41zn6NGjmDx5MqZNm4ZTp04hJCQEISEhOH36dIvGxaSLiIiITEp8fDwiIyMREREBHx8fJCYmwtraGklJSQ3W/+ijjzBixAi8/fbb8Pb2xtKlS9GvXz+sXr26ReN6aNbp0ul0ANBolkuGyUOZ1CEQmZ6amj9/5uVJE0JxDVAO1GhrkCdRDKbkamG51CE88Op+b5eUlMDGxkYsl8vlkMvl9epXVVUhPT0dCxYsEMvMzMwQFBSEtLS0Bs+RlpYGtVqtVxYcHIwdO3a0wBX86aFJui5fvgwAeGnUEIkjISK6h8JCwMND2hBQCI+l0sZAdLtevXrp7UdHRyMmJqZevaKiImi1WvGb0HWcnZ3x888/N9i3RqNpsL5Go7m/oO/w0CRd3t7eAIDTp0/D1pbfDZRSWVkZfHx8cPbsWSgUCqnDeejxfrQdvBdtB+9F21FSUoJevXrht99+g4ODg1je0ChXW/fQJF0WFrWX6uHhoTc8ScZXWloKAFAqlbwXbQDvR9vBe9F28F60HXX//B0cHJp0LxwdHWFubo7CwkK98sLCQri4uDTYxsXFxaD6zcWJ9ERERGQyLC0t4e/vj9TUVLFMp9MhNTUVgYGBDbYJDAzUqw8Ae/fubbR+cz00I11ERET0cFCr1QgPD0dAQAD69++PhIQEVFRUICIiAgAQFhYGpVKJ2NhYAMDs2bMxZMgQrFy5EqNHj0ZycjJOnjyJdevWtWhcD03SJZfLER0d/UA+AzY1vBdtC+9H28F70XbwXrQdzbkXkyZNwrVr17Bo0SJoNBr4+fkhJSVFnCyfm5sLM7M/H/YNGDAAW7duxcKFC/Huu+/isccew44dO+pN3r9fMkEQhBbtkYiIiIjq4ZwuIiIiIiNg0kVERERkBEy6iIiIiIyASRcRERGREZhU0rVmzRp4enrCysoKKpUKJ06cuGv97du3o2fPnrCyskLv3r2xZ88eI0Vq+gy5F+vXr8fgwYNhb28Pe3t7BAUF3fPekWEM/W+jTnJyMmQyGUJCQlo3wIeIofeiuLgYs2bNgqurK+RyOXr06MH/V7UQQ+9FQkICvLy80L59e3h4eGDOnDm4deuWkaI1XYcOHcKYMWPg5uYGmUzWpO8dHjx4EP369YNcLkf37t2xadOmVo+zRQgmIjk5WbC0tBSSkpKEM2fOCJGRkYKdnZ1QWFjYYP0jR44I5ubmwgcffCCcPXtWWLhwodCuXTshKyvLyJGbHkPvxUsvvSSsWbNGOHXqlHDu3Dlh6tSpgq2trZCXl2fkyE2Tofejzm+//SYolUph8ODBwrhx44wTrIkz9F5UVlYKAQEBwqhRo4TDhw8Lv/32m3Dw4EEhMzPTyJGbHkPvxZYtWwS5XC5s2bJF+O2334Tvv/9ecHV1FebMmWPkyE3Pnj17hPfee0/4+uuvBQDCN998c9f6v/76q2BtbS2o1Wrh7NmzwieffCKYm5sLKSkpxgn4PphM0tW/f39h1qxZ4r5WqxXc3NyE2NjYBuu/8MILwujRo/XKVCqVMGPGjFaN82Fg6L24U01NjaBQKITNmze3VogPlebcj5qaGmHAgAHCZ599JoSHhzPpaiGG3otPP/1U6Nq1q1BVVWWsEB8aht6LWbNmCU899ZRemVqtFgYOHNiqcT5smpJ0zZs3T3j88cf1yiZNmiQEBwe3YmQtwyQeL1ZVVSE9PR1BQUFimZmZGYKCgpCWltZgm7S0NL36ABAcHNxofWqa5tyLO928eRPV1dV6Hzal5mnu/ViyZAmcnJwwbdo0Y4T5UGjOvdi5cycCAwMxa9YsODs7o1evXli+fDm0Wq2xwjZJzbkXAwYMQHp6uvgI8tdff8WePXswatQoo8RMf3qQf3+bxIr0RUVF0Gq14kqzdZydnfHzzz832Eaj0TRYX6PRtFqcD4Pm3Is7zZ8/H25ubvX+oyLDNed+HD58GBs2bEBmZqYRInx4NOde/Prrr9i/fz9CQ0OxZ88eXLhwAa+//jqqq6sRHR1tjLBNUnPuxUsvvYSioiIMGjQIgiCgpqYGr732Gt59911jhEy3aez3d2lpKf744w+0b99eosjuzSRGush0rFixAsnJyfjmm29gZWUldTgPnbKyMkyZMgXr16+Ho6Oj1OE89HQ6HZycnLBu3Tr4+/tj0qRJeO+995CYmCh1aA+dgwcPYvny5fj73/+OjIwMfP3119i9ezeWLl0qdWj0ADGJkS5HR0eYm5ujsLBQr7ywsBAuLi4NtnFxcTGoPjVNc+5FnQ8//BArVqzAvn370KdPn9YM86Fh6P24ePEicnJyMGbMGLFMp9MBACwsLJCdnY1u3bq1btAmqjn/bbi6uqJdu3YwNzcXy7y9vaHRaFBVVQVLS8tWjdlUNedevP/++5gyZQpeffVVAEDv3r1RUVGB6dOn47333tP7jh+1rsZ+f9vY2LTpUS7AREa6LC0t4e/vj9TUVLFMp9MhNTUVgYGBDbYJDAzUqw8Ae/fubbQ+NU1z7gUAfPDBB1i6dClSUlIQEBBgjFAfCobej549eyIrKwuZmZniNnbsWAwbNgyZmZnw8PAwZvgmpTn/bQwcOBAXLlwQE18A+OWXX+Dq6sqE6z40517cvHmzXmJVlwwL/ISxUT3Qv7+lnsnfUpKTkwW5XC5s2rRJOHv2rDB9+nTBzs5O0Gg0giAIwpQpU4R33nlHrH/kyBHBwsJC+PDDD4Vz584J0dHRXDKihRh6L1asWCFYWloKX331lVBQUCBuZWVlUl2CSTH0ftyJby+2HEPvRW5urqBQKISoqCghOztb2LVrl+Dk5CQsW7ZMqkswGYbei+joaEGhUAj//Oc/hV9//VX497//LXTr1k144YUXpLoEk1FWViacOnVKOHXqlABAiI+PF06dOiVcunRJEARBeOedd4QpU6aI9euWjHj77beFc+fOCWvWrOGSEVL45JNPhEcffVSwtLQU+vfvLxw7dkw8NmTIECE8PFyv/pdffin06NFDsLS0FB5//HFh9+7dRo7YdBlyLzp37iwAqLdFR0cbP3ATZeh/G7dj0tWyDL0XR48eFVQqlSCXy4WuXbsKf/3rX4WamhojR22aDLkX1dXVQkxMjNCtWzfByspK8PDwEF5//XXhxo0bxg/cxBw4cKDB3wF1//zDw8OFIUOG1Gvj5+cnWFpaCl27dhU2btxo9LibQyYIHBclIiIiam0mMaeLiIiIqK1j0kVERERkBEy6iIiIiIyASRcRERGRETDpIiIiIjICJl1ERERERsCki4iIiMgImHQRERERGQGTLiIiIiIjYNJFREREZARMuoiIiIiMgEkXERERkRH8fyUVnxz9xvCHAAAAAElFTkSuQmCC",
"text/plain": [
"<Figure size 640x480 with 2 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"import numpy as np\n",
"from scipy.stats import bernoulli\n",
"import matplotlib.pyplot as plt\n",
"fig, ax = plt.subplots(1, 1)\n",
"\n",
"rv = bernoulli(p=.60)\n",
"\n",
"mean, var, skew, kurt = rv.stats('mvsk')\n",
"\n",
"sample_size = 30\n",
"print(f\"{sample_size=}\")\n",
"\n",
"sample = rv.rvs(size=sample_size, random_state=1)\n",
"sample_mean = np.mean(sample)\n",
"\n",
"domain_p1, domain_p99 = rv.ppf(0.01), rv.ppf(0.99)\n",
"x = np.linspace(domain_p1, domain_p99, 2)\n",
"\n",
"_ = ax.plot(x, rv.pmf(x), 'bo', ms=8, label='bernoulli pmf')\n",
"_ = ax.axvline(mean, color='red', lw=2, linestyle='--', label=f'{mean=:.2f}')\n",
"_ = ax.axvline(sample_mean, color='green', lw=2, linestyle='--', label=f'{sample_mean=:.2f}')\n",
"\n",
"_ = ax.twinx().hist(sample, density=False, bins='auto', histtype='stepfilled', alpha=0.2, label='sample histogram')\n",
"\n",
"_ = ax.set_xlim(domain_p1, domain_p99)\n",
"_ = ax.legend(loc='upper left', frameon=False)\n",
"\n",
"def button_bernoulli():\n",
" for idx, val in enumerate(sample):\n",
" yield idx + 1, float(np.round(val, 2))\n",
" \n",
"button_bernoulli = button_bernoulli()"
]
},
{
"cell_type": "code",
"execution_count": 11,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"(1, 1.0)"
]
},
"execution_count": 11,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"next(button_bernoulli)"
]
}
],
"metadata": {
"kernelspec": {
"display_name": "genv",
"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.9.15"
},
"orig_nbformat": 4
},
"nbformat": 4,
"nbformat_minor": 2
}
name: matrix-multiplication
channels:
- conda-forge
dependencies:
- python
- numpy
- scipy
- matplotlib
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment