diff --git a/notebook/problems.ipynb b/notebook/problems.ipynb index d725f0e9..1d00bd7a 100644 --- a/notebook/problems.ipynb +++ b/notebook/problems.ipynb @@ -1,163 +1 @@ -{ -"cells": [ -{ -"cell_type": "markdown", -"id": "b967ebc8", -"metadata": {}, -"source": [ -"# Probability Distribution Problems" -] -}, -{ -"cell_type": "markdown", -"id": "c9b71587", -"metadata": {}, -"source": [ -"**Binomial Distribution**\n", -"\n", -"In probability theory and statistics, the binomial distribution is the discrete probability distribution that gives only two possible results in an experiment, for example, when you flip a coin it can by either Head or Tails." -] -}, -{ -"cell_type": "code", -"execution_count": 2, -"id": "4eb16d6e", -"metadata": {}, -"outputs": [], -"source": [ -"# Probability functions, density and distribution\n", -"\n", -"def dbinom(x,size,prob=0.5):\n", -" \"\"\"\n", -" Calculates the point estimate of the binomial distribution\n", -" \"\"\"\n", -" from scipy.stats import binom\n", -" result=binom.pmf(k=x,n=size,p=prob,loc=0)\n", -" return result\n", -"\n", -"def pbinom(q,size,prob=0.5):\n", -" \"\"\"\n", -" Calculates the cumulative of the binomial distribution\n", -" \"\"\"\n", -" from scipy.stats import binom\n", -" result=binom.cdf(k=q,n=size,p=prob,loc=0)\n", -" return result\n", -"\n", -"def qbinom(p, size, prob=0.5):\n", -" \"\"\"\n", -" Calculates the quantile function from the binomial distribution\n", -" \"\"\"\n", -" from scipy.stats import binom\n", -" result=binom.ppf(q=p,n=size,p=prob,loc=0)\n", -" return result\n", -"\n", -"def rbinom(n,size,prob=0.5):\n", -" \"\"\"\n", -" Generates random variables from the binomial distribution\n", -" \"\"\"\n", -" from scipy.stats import binom\n", -" result=binom.rvs(n=size,p=prob,size=n)\n", -" return result" -] -}, -{ -"cell_type": "code", -"execution_count": 3, -"id": "6cf6313a", -"metadata": {}, -"outputs": [ -{ -"data": { -"text/plain": [ -"array([1, 1, 1, ..., 1, 4, 2])" -] -}, -"execution_count": 3, -"metadata": {}, -"output_type": "execute_result" -} -], -"source": [ -"dbinom(2, size = 10, prob = 0.2) #Probability that a binomial (10,0.2) takes the value 2,\n", -"pbinom(2, size = 10, prob = 0.2) #Probability that a binomial (10,0.2) will take a value less than 2\n", -"qbinom(0.9, size = 10, prob = 0.2) # what value of a binomial (10,0.2) has a cumulative probability of 0.9?\n", -"rbinom(2000, size = 10, prob = 0.2) # generate 2000 random values from a binomial distribution (10,0.2)" -] -}, -{ -"cell_type": "code", -"execution_count": 6, -"id": "6a6fb6ed", -"metadata": {}, -"outputs": [ -{ -"data": { -"image/png": "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", -"text/plain": [ -"
" -] -}, -"metadata": { -"needs_background": "light" -}, -"output_type": "display_data" -} -], -"source": [ -"import numpy as np\n", -"import matplotlib.pyplot as plt\n", -"\n", -"# Discrete distributions\n", -"xs = np.arange( 1, 11 )\n", -"ys = dbinom(xs,size=10,prob=0.5) # compute the shape of the distribution\n", -"plt.plot( xs, ys, 'o' ) # plot circles...\n", -"plt.vlines( xs, 0, ys ) # ...and lines\n", -"plt.ylim( bottom=0 ) # ensure sensible bottom border\n", -"plt.title('Probability function binomial distribution')\n", -"plt.show()" -] -}, -{ -"cell_type": "markdown", -"id": "8aa7eaa0", -"metadata": {}, -"source": [ -"Exercise 1: Create the same functions but for the normal and uniform distribution." -] -}, -{ -"cell_type": "code", -"execution_count": 1, -"id": "98d5f012", -"metadata": {}, -"outputs": [], -"source": [ -"#Code here" -] -} -], -"metadata": { -"interpreter": { -"hash": "0f2f6c680cf484319d387fabac80ca4ff4fc33965036e02100b3fe02600f1423" -}, -"kernelspec": { -"display_name": "Python 3.10.1 64-bit", -"language": "python", -"name": "python3" -}, -"language_info": { -"codemirror_mode": { -"name": "ipython", -"version": 3 -}, -"file_extension": ".py", -"mimetype": "text/x-python", -"name": "python", -"nbconvert_exporter": "python", -"pygments_lexer": "ipython3", -"version": "3.10.1" -} -}, -"nbformat": 4, -"nbformat_minor": 5 -} +{"cells":[{"attachments":{},"cell_type":"markdown","id":"b967ebc8","metadata":{},"source":["# Probability Distribution Problems"]},{"attachments":{},"cell_type":"markdown","id":"c9b71587","metadata":{},"source":["**Binomial Distribution**\n","\n","In probability theory and statistics, the binomial distribution is the discrete probability distribution that gives only two possible results in an experiment, for example, when you flip a coin it can by either Head or Tails."]},{"cell_type":"code","execution_count":4,"id":"4eb16d6e","metadata":{},"outputs":[],"source":["# Probability functions, density and distribution\n","\n","def dbinom(x,size,prob=0.5):\n"," \"\"\"\n"," Calculates the point estimate of the binomial distribution\n"," \"\"\"\n"," from scipy.stats import binom\n"," result=binom.pmf(k=x,n=size,p=prob,loc=0)\n"," return result\n","\n","def pbinom(q,size,prob=0.5):\n"," \"\"\"\n"," Calculates the cumulative of the binomial distribution\n"," \"\"\"\n"," from scipy.stats import binom\n"," result=binom.cdf(k=q,n=size,p=prob,loc=0)\n"," return result\n","\n","def qbinom(p, size, prob=0.5):\n"," \"\"\"\n"," Calculates the quantile function from the binomial distribution\n"," \"\"\"\n"," from scipy.stats import binom\n"," result=binom.ppf(q=p,n=size,p=prob,loc=0)\n"," return result\n","\n","def rbinom(n,size,prob=0.5):\n"," \"\"\"\n"," Generates random variables from the binomial distribution\n"," \"\"\"\n"," from scipy.stats import binom\n"," result=binom.rvs(n=size,p=prob,size=n)\n"," return result"]},{"cell_type":"code","execution_count":5,"id":"6cf6313a","metadata":{},"outputs":[{"data":{"text/plain":["array([2, 3, 2, ..., 2, 1, 1])"]},"execution_count":5,"metadata":{},"output_type":"execute_result"}],"source":["dbinom(2, size = 10, prob = 0.2) #Probability that a binomial (10,0.2) takes the value 2,\n","pbinom(2, size = 10, prob = 0.2) #Probability that a binomial (10,0.2) will take a value less than 2\n","qbinom(0.9, size = 10, prob = 0.2) # what value of a binomial (10,0.2) has a cumulative probability of 0.9?\n","rbinom(2000, size = 10, prob = 0.2) # generate 2000 random values from a binomial distribution (10,0.2)"]},{"cell_type":"code","execution_count":6,"id":"6a6fb6ed","metadata":{},"outputs":[{"data":{"image/png":"iVBORw0KGgoAAAANSUhEUgAAAiwAAAGzCAYAAAAMr0ziAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/bCgiHAAAACXBIWXMAAA9hAAAPYQGoP6dpAAA4IElEQVR4nO3de1yUdf7//+eAMqAoHlAOioLnyAMKylKWbbGCmeVuueLPFuTrZmtSGuWm2yqaFmrqWmm4dlu1Vl3NdrOP+zGyWHFrl9Q0t8yttExNOXhIUDyQcP3+6MPkyCAOgryFx/12m5vyvt7Xe17XXHN4znUam2VZlgAAAAzmUdcFAAAAVIXAAgAAjEdgAQAAxiOwAAAA4xFYAACA8QgsAADAeAQWAABgPAILAAAwHoEFAAAYj8CCOmGz2ZSSklJj461cuVI2m00fffRRlX3vuOMO3XHHHY6/v/nmG9lsNq1cudLRNmPGDNlsthqr70r27dunwYMHy8/PTzabTRs2bLgu9+uuyx+36+Va1q2JsrOzZbPZlJ2d7fa81/q8vJrnfm0pX4/ffPONoy00NFT33HNPrd+3dG2PO8xAYIFD+RtK+c3b21vdunVTSkqK8vPz67q8Ovfcc8/VSphISkrSp59+qmeffVZ//vOfFRUVVeP3cbX27t2rGTNmOH2oAJd7+eWXr0vIqQ6Ta8O1aVTXBcA8zzzzjMLCwnT+/Hl98MEHysjI0KZNm7Rnzx41adKkrsu7Zps3b66yz+9//3tNmTLFqe25557TAw88oOHDh9dYLefOnVNOTo6efvrpGt3iVF179+7VzJkzdccddyg0NNRp2tU8bnXtRqjx9ttv17lz5+Tl5VXXpahjx446d+6cGjdu7NZ8L7/8svz9/TVmzJirnudXv/qVEhISZLfb3azSPZXVZtLjjuohsKCCIUOGOL7l//rXv1br1q21cOFCvfXWWxo1apTLeYqLi9W0adPrWWa1Xc0bVqNGjdSoUe2/PI4dOyZJatGiRa3f17W6Ed7ob4QaPTw85O3tXddlSJJjS2ptKn9v8PT0lKenZ63e15WY9LijetglhCrdeeedkqQDBw5IksaMGSNfX1999dVXuvvuu9WsWTONHj1a0g9vTk888YRCQkJkt9vVvXt3zZ8/X5X9KPjq1avVvXt3eXt7KzIyUv/85z+dph88eFCPPPKIunfvLh8fH7Vu3VojRoyodJfF2bNn9fDDD6t169Zq3ry5EhMT9d133zn1uZrjHC4/VsBms6m4uFivvvqqY5fZmDFjtGXLFtlsNr355psVxlizZo1sNptycnIqvY+OHTtKkiZPniybzebYqjFmzJgKWzhc1VVeW0pKijZs2KCePXvKbrfr5ptvVmZmZoX5jxw5orFjxyo4OFh2u11hYWEaP368SkpKtHLlSo0YMUKS9NOf/tSxnOX7/F09bgUFBRo7dqwCAgLk7e2tPn366NVXX3XqU36cxPz587Vs2TJ17txZdrtd/fv3144dO1w+Nq5UZ92WH7fw+uuv69lnn1X79u3l7e2tu+66S/v3769wH+vXr1dkZKR8fHzk7++vBx98UEeOHHHqU/78P3TokO655x75+vqqXbt2WrJkiSTp008/1Z133qmmTZuqY8eOWrNmjdP8ro6leP/99zVixAh16NBBdrtdISEhevzxx3Xu3LmrfnwuV/5Y+/j4aMCAAXr//fcr9HF1DEteXp6Sk5PVvn172e12BQUF6b777nO85kJDQ/XZZ59p69atjudI+WNevlt569ateuSRR9S2bVu1b9/eaZqr1+7mzZsVEREhb29vhYeH629/+5vT9MqO3bl8zCvVVtkxLO6s8yNHjmj48OHy9fVVmzZt9OSTT6q0tLSSNYCaxhYWVOmrr76SJLVu3drRdvHiRcXFxWngwIGaP3++mjRpIsuydO+992rLli0aO3asIiIi9M4772jy5Mk6cuSI/vCHPziNu3XrVq1bt06PPfaY7Ha7Xn75ZcXHx2v79u3q2bOnJGnHjh3697//rYSEBLVv317ffPONMjIydMcdd2jv3r0VdlGlpKSoRYsWmjFjhr744gtlZGTo4MGDjjer6vrzn/+sX//61xowYIDGjRsnSercubN+8pOfKCQkRKtXr9bPf/5zp3lWr16tzp07KyYmxuWYv/jFL9SiRQs9/vjjGjVqlO6++275+vpWq74PPvhAf/vb3/TII4+oWbNmevHFF3X//ffr0KFDjvV29OhRDRgwQKdOndK4cePUo0cPHTlyRG+88YbOnj2r22+/XY899phefPFF/e53v9NNN90kSY5/L3fu3Dndcccd2r9/v1JSUhQWFqb169drzJgxOnXqlCZOnOjUf82aNTp9+rQefvhh2Ww2zZs3T7/4xS/09ddfX9UuiWtZt3PmzJGHh4eefPJJFRYWat68eRo9erS2bdvm6LNy5UolJyerf//+Sk9PV35+vl544QX961//0scff+y0Fay0tFRDhgzR7bffrnnz5mn16tVKSUlR06ZN9fTTT2v06NH6xS9+oaVLlyoxMVExMTEKCwurtL7169fr7NmzGj9+vFq3bq3t27frpZde0rfffqv169dX+dhc7k9/+pMefvhh3XLLLZo0aZK+/vpr3XvvvWrVqpVCQkKuOO/999+vzz77TI8++qhCQ0NVUFCgd999V4cOHVJoaKgWLVqkRx99VL6+vnr66aclSQEBAU5jPPLII2rTpo2mT5+u4uLiK97fvn37NHLkSP3mN79RUlKSVqxYoREjRigzM1M/+9nP3Fruq6ntUu6u87i4OEVHR2v+/Pl67733tGDBAnXu3Fnjx493q05UkwX8nxUrVliSrPfee886duyYdfjwYWvt2rVW69atLR8fH+vbb7+1LMuykpKSLEnWlClTnObfsGGDJcmaPXu2U/sDDzxg2Ww2a//+/Y42SZYk66OPPnK0HTx40PL29rZ+/vOfO9rOnj1boc6cnBxLkvXaa69VqD0yMtIqKSlxtM+bN8+SZL311luOtkGDBlmDBg1y/H3gwAFLkrVixQpHW1pamnX5y6Np06ZWUlJShXqmTp1q2e1269SpU462goICq1GjRlZaWlqF/pcqv+/nn3/eqT0pKcnq2LFjhf6u6pJkeXl5OT2+//nPfyxJ1ksvveRoS0xMtDw8PKwdO3ZUGLesrMyyLMtav369JcnasmVLhT6XP26LFi2yJFmrVq1ytJWUlFgxMTGWr6+vVVRU5LSMrVu3tk6ePOno+9Zbb1mSrI0bN7p4ZH50Let2y5YtliTrpptusi5cuOBof+GFFyxJ1qeffuqou23btlbPnj2tc+fOOfr9/e9/tyRZ06dPd7SVP/+fe+45R9t3331n+fj4WDabzVq7dq2j/fPPP7ckOT0Pymu69DF29TxPT0+3bDabdfDgQUebq/V/ufJliYiIcFrmZcuWWZKu+Nz/7rvvXD4fL3fzzTc7jVOufF0NHDjQunjxostpBw4ccLR17NjRkmT99a9/dbQVFhZaQUFBVt++fatcbldjVlbb5Y97ddb5M8884zRm3759rcjIyAr3hdrBLiFUEBsbqzZt2igkJEQJCQny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","text/plain":["
"]},"metadata":{},"output_type":"display_data"}],"source":["import numpy as np\n","import matplotlib.pyplot as plt\n","\n","# Discrete distributions\n","xs = np.arange( 1, 11 )\n","ys = dbinom(xs,size=10,prob=0.5) # compute the shape of the distribution\n","plt.plot( xs, ys, 'o' ) # plot circles...\n","plt.vlines( xs, 0, ys ) # ...and lines\n","plt.ylim( bottom=0 ) # ensure sensible bottom border\n","plt.title('Probability function binomial distribution')\n","plt.show()"]},{"attachments":{},"cell_type":"markdown","id":"8aa7eaa0","metadata":{},"source":["Exercise 1: Create the same functions but for the normal and uniform distribution."]},{"cell_type":"code","execution_count":45,"id":"98d5f012","metadata":{},"outputs":[{"data":{"image/png":"iVBORw0KGgoAAAANSUhEUgAAAiwAAAGdCAYAAAAxCSikAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/bCgiHAAAACXBIWXMAAA9hAAAPYQGoP6dpAABN20lEQVR4nO3de1yUdd4//tc1M8wMxwFEjqKA5xOgoGSZ2UZi227ZtkXd7Vrc3XavHbZ+3Fstu6V11/0ly1y38tbWvS07rW5t2W67SxkblYmi4CENzBNycjjKDAwyAzPX74/hGpoEZXDgmsPr+XjMQ7nmmov3cBhe8zkKoiiKICIiIvJgCrkLICIiIroUBhYiIiLyeAwsRERE5PEYWIiIiMjjMbAQERGRx2NgISIiIo/HwEJEREQej4GFiIiIPJ5K7gLcwWazoaGhAaGhoRAEQe5yiIiIaAhEUURHRwfi4+OhUFy8DcUnAktDQwMSExPlLoOIiIiGoba2FuPGjbvoOT4RWEJDQwHYn3BYWJjM1RAREdFQGI1GJCYmOv6OX4xPBBapGygsLIyBhYiIyMsMZTgHB90SERGRx2NgISIiIo/HwEJEREQej4GFiIiIPB4DCxEREXk8BhYiIiLyeAwsRERE5PEYWIiIiMjjDSuwbNiwAUlJSdBqtcjKykJZWdmQHrdt2zYIgoBly5Y5HRdFEatWrUJcXBwCAwORnZ2N48ePD6c0IiIi8kEuB5bt27cjPz8fq1evRkVFBdLS0pCTk4OmpqaLPq66uhq/+tWvcPXVV19w3/PPP4+XXnoJmzZtwt69exEcHIycnBx0d3e7Wh4RERH5IJcDy7p167BixQrk5eVhxowZ2LRpE4KCgrBly5ZBH2O1WnHXXXfh6aefRkpKitN9oihi/fr1eOKJJ3DzzTcjNTUVb7zxBhoaGrBjxw6XnxARERH5HpcCi8ViQXl5ObKzs/svoFAgOzsbpaWlgz7uv//7vxEdHY177733gvtOnz4NvV7vdE2dToesrKxBr2k2m2E0Gp1uRERE5Ltc2vywpaUFVqsVMTExTsdjYmJQVVU14GN27dqF//u//8PBgwcHvF+v1zuu8f1rSvd9X2FhIZ5++mlXSiciL/Pl8WZ8VtUMEaLjmEIQsGRGDLJSxshYGRHJYUR3a+7o6MDPf/5zbN68GVFRUW67bkFBAfLz8x0fS9tTE5H3s/Ta8Nw/q7Dlq9MD3r/lq9N4YPEkPJI9GSolJzoS+QuXAktUVBSUSiUaGxudjjc2NiI2NvaC80+ePInq6mr8+Mc/dhyz2Wz2T6xS4dixY47HNTY2Ii4uzuma6enpA9ah0Wig0WhcKZ2IvEBtWxcefKcCh+oMAICfzE1AnE7ruP9Maxc+OnwWr3x2AmXVbXj5zjmICdMOdjki8iEuBRa1Wo2MjAwUFxc7pibbbDYUFxfjwQcfvOD8adOm4euvv3Y69sQTT6CjowO///3vkZiYiICAAMTGxqK4uNgRUIxGI/bu3YuVK1cO71kRkdcpOqLHo+8dQkd3L3SBAVh7WxqunxFzwXlLZjag4C+HUXa6DT/8/ZdYl5uOa6aMlaFiIhpNLncJ5efn4+6770ZmZibmz5+P9evXw2QyIS8vDwCwfPlyJCQkoLCwEFqtFrNmzXJ6fHh4OAA4HX/kkUfw7LPPYvLkyUhOTsaTTz6J+Pj4C9ZrISLf9OHBejy87SAAYM74cLx85xyMiwga8Nyb0uIxO0GH+9+uQOVZI+55rQx/XJ6J66ZfGG6IyHe4HFhyc3PR3NyMVatWQa/XIz09HUVFRY5BszU1NVAoXOtXfuyxx2AymXDfffehvb0dCxcuRFFREbRaNvUS+Tq9oRtP7jgCALgrazyeumkmAi4xNiU5Khgf3H8lCt7/Gh8cqMfjf/kaO/+/CEQEq0ejZCKSgSCKonjp0zyb0WiETqeDwWBAWFiY3OUQ0RCJooh7XtuHz79tRto4Hf6y8kqXBtJ291jxo5d34URTJ36UGodX/m3uCFZLRO7myt9vDrEnItls31eLz79thlqlwIu3p7k860cboMS629OgVAj46PBZfHS4YYQqJSK5MbAQkSxq27rwzEffAAAeXTIVk6JDh3Wd1HHheGDxRADAkzuOoLnD7LYaichzMLAQ0aiz2UQ89t5hmCxWZE6IwL8vTL6s6z34g8mYEReGc109KHj/a/hATzcRfQ8DCxGNujdKq1F6qhWBAUqsvc3epXM5pC6lAKWATysb8X5FvZsqJSJPwcBCRKPK0NWDFz4+BgAo+OE0JEUFu+W60+PC8Ej2FADA//yjEuctVrdcl4g8AwMLEY2qN/dUw2SxYlpsKH6WNcGt1/7PRSkYHxmENpMFf95f69ZrE5G8GFiIaNR091jx2lfVAIBfXDMRisvsCvo+lVKBFVfbx8Ns/vIUeq02t16fiOTDwEJEo+a98jq0mixICA/Ejalxl37AMPw0IxGRwWrUnTuPv399dkQ+BxGNPgYWIhoVVpuIzV+eAgD8x9XJl1zNdrgC1Urcc2USAGDT56c4Y4jIRzCwENGo+OeRszjT2oWIoADkzksc0c+1fMEEBKmVqDxrxBfHW0b0cxHR6GBgIaIRJ4oiXv3c3rqyfEESgtQub2PmkvAgNe6YNx4A8OrnJ0f0cxHR6GBgIaIRt/tkK76uN0AboMDdfd01I+3eq5OhUgjYfbIVh+vaR+VzEtHIYWAhohG3qa+VIzfTPiB2NCSEB+KmtHinz09E3ouBhYhG1JF6A7483gKlQsB/XJ0yqp/7vmvsn++fR/SobjGN6ucmIvdiYCGiEfX23jMAgB/OjkNiZNCofu5psWG4dupYiGJ/HUTknRhYiGjEdPdY8dFh+1ood84f2ZlBg7ljvn3w7V8PNcBq4xRnIm/FwEJEI+azqiZ0dPciTqfFFcljZKnh2qnRCA8KQKPRjNKTrbLUQESXj4GFiEbMBwfsuybfnJ7g9mX4h0qtUuDG2XFO9RCR92FgIaIR0d5lwWfHmgAAt8xJkLUW6fMXHTnLXZyJvBQDCxGNiI8On0WPVcT0uDBMjQ2VtZaMCRFIjAyEyWLFJ9/oZa2FiIaHgYWIRsSOvu6Xn8jcugIAgiDglnR7HTvYLUTklRhYiMjtalq7sP/MOQgCcFN6vNzlAABu7gtOXxxvQUunWeZqiMhVDCxE5HYfHrS3Ylw1MQoxYVqZq7GbODYEaeN0sNpEfHSoQe5yiMhFDCxE5FaiKDpm48g92Pb7pHo4W4jI+zCwEJFbHa4z4FSLCdoABXJmxcpdjpMfpcVDqRBwqM6Ak82dcpdDRC5gYCEit5JaL5bMiEWIRiVzNc6iQjRYNDkKAPAhW1mIvAoDCxG5Ta/Vhr/1jQ/xtO4gyTKpW+hgPUSRS/UTeQsGFiJym/Iz59BqsiAiKAAL+1oyPM2SGbEIDFCitu08Ks92yF0OEQ0RAwsRuc2nlY0A7Pv3BCg98+UlUK3EVZPsYUqql4g8n2e+ohCRVyqutC/Ff930GJkrubjs6dEAgGIGFiKvwcBCRG5xsrkTp1pMCFAKWDTFM7uDJD/oCyyH6gxoMnbLXA0RDcWwAsuGDRuQlJQErVaLrKwslJWVDXru+++/j8zMTISHhyM4OBjp6el48803nc655557IAiC023p0qXDKY2IZCK1VlyRMgah2gCZq7m46FAt0hLDAQD/qmqStxgiGhKXA8v27duRn5+P1atXo6KiAmlpacjJyUFT08C/9JGRkfjtb3+L0tJSHD58GHl5ecjLy8PHH3/sdN7SpUtx9uxZx+1Pf/rT8J4REcniU6k7aFq0zJUMTXZfnRzHQuQdXA4s69atw4oVK5CXl4cZM2Zg06ZNCAoKwpYtWwY8f/Hixbjlllswffp0TJw4EQ8//DBSU1Oxa9cup/M0Gg1iY2Mdt4iIiOE9IyIadedMFpSfOQfA88evSKQ6d51oQXePVeZqiOhSXAosFosF5eXlyM7O7r+AQoHs7GyUlpZe8vGiKKK4uBjHjh3DokWLnO4rKSlBdHQ0pk6dipUrV6K1tXXQ65jNZhiNRqcbEcmn5NsmWG0ipsWGIjEySO5yhmR6XCgSwgPR3WPDVyda5C6HiC7BpcDS0tICq9WKmBjnd1AxMTHQ6/WDPs5gMCAkJARqtRo33ngjXn75ZVx//fWO+5cuXYo33ngDxcXFWLNmDT7//HPccMMNsFoHftdTWFgInU7nuCUmJrryNIjIzRzdQdO9ozsIAARBcNQr1U9EnmtU1s0ODQ3FwYMH0dnZieLiYuTn5yMlJQWLFy8GANxxxx2Oc2fPno3U1FRMnDgRJSUluO666y64XkFBAfLz8x0fG41GhhYimVh6bfjiWDMA7+kOklw3PQZvlJ5BcWUjbLZZUCgEuUsiokG4FFiioqKgVCrR2Og8SK2xsRGxsYNvcqZQKDBp0iQAQHp6OiorK1FYWOgILN+XkpKCqKgonDhxYsDAotFooNFoXCmdiEZI2ek2dJh7ERWiRvq4cLnLcckVKZEIVivR1GHGkQYDUr2sfiJ/4lKXkFqtRkZGBoqLix3HbDYbiouLsWDBgiFfx2azwWw2D3p/XV0dWltbERcX50p5RCSD765u620tFBqVEldPHguA3UJEns7lWUL5+fnYvHkztm7disrKSqxcuRImkwl5eXkAgOXLl6OgoMBxfmFhIXbu3IlTp06hsrISL774It5880387Gc/AwB0dnbi0UcfxZ49e1BdXY3i4mLcfPPNmDRpEnJyctz0NIloJIiiiOIqe2DJnuFd3UESqW6uekvk2Vwew5Kbm4vm5masWrUKer0e6enpKCoqcgzErampgULRn4NMJhPuv/9+1NXVITAwENOmTcNbb72F3NxcAIBSqcThw4exdetWtLe3Iz4+HkuWLMEzzzzDbh8iD/dtYydq285DrVLgag/d7PBSrp06FoIAHG0woqH9POLDA+UuiYgGIIg+sL+60WiETqeDwWBAWFiY3OUQ+Y0Nn53ACx8fw+KpY/F63ny5yxm2WzfuRvmZc3hm2Sz8/IoJcpdD5Ddc+fvNvYSIaNi++NY+O+gHXrK67WCk+qXnQ0Seh4GFiIaly9KLihr76rbSwFVvJXVn7TnZil6rTeZqiGggDCxENCxlp9vQYxWREB6IpDHesbrtYGbG66ALDECHuReH6w1yl0NEA2BgIaJhkZazXzgpCoLgXdOZv0+pEHDlxDEAgK+Oc5l+Ik/EwEJEw7LrhH2/r6u8dHbQ9y3sex5fcl8hIo/EwEJELmvpNKPyrH3TUallwtstnGQPLAdqzsFk7pW5GiL6PgYWInLZ7pP21pXpcWGICvGN9ZLGRwZhXEQgeqwiyqrb5C6HiL6HgYWIXCaN81g4yTdaVwD77s1SKwvHsRB5HgYWInKJKIrY1TfO46pJvjF+RSI9n10cx0LkcRhYiMgl1a1dqG8/D7VSgfnJkXKX41bSeJwqfQeaOwbfoJWIRh8DCxG5RGp9mDshHEFql7cj82hjQjSYEWdfHnz3SbayEHkSBhYickn/+BXf6g6SSNObv2K3EJFHYWAhoiGz2kRHy4OvjV+ROMaxHG+BD+wNS+QzGFiIaMiO1Btg7O5FqFaF2Qk6ucsZEfOTIqFWKtBg6MbpFpPc5RBRHwYWIhoyafzKgpQxUCl98+UjUK1ExoQIAOwWIvIkvvmKQ0QjwrF/kI8sxz8Y6flxejOR52BgIaIhOW+xYn/1OQC+O+BWIo1j2X2yFVYbx7EQeQIGFiIakgM152Cx2hCn0yI5KljuckbU7AQdQrUqdHT34miDQe5yiAgMLEQ0RHtO2/fXyUqOhCAIMlczspQKAfOS7IvilZ3mvkJEnoCBhYiGpOy0fcPDrBTf2T/oYrL6VvHdy8BC5BEYWIjoksy9VhyoaQcAn1uOfzDS89xX3QYbx7EQyY6BhYgu6XCdAeZeG6JCNEjx8fErklkJOgSplWjv6sG3TR1yl0Pk9xhYiOiS9p7q6w7yg/ErkgClwrEeC8exEMmPgYWILkkax+Ev3UGS+X0Db/eeYmAhkhsDCxFdVK/VhvIz9vVXslL8K7BIA4z3nm7jvkJEMmNgIaKLOtJgRJfFCl1gAKZEh8pdzqhKHaeDWqVAS6eZ+woRyYyBhYguSprOPC8pEgqFf4xfkWgDlEhPDAfA6c1EcmNgIaKLksZvXOFn3UGSK5K5gByRJ2BgIaJBWW0iyqr9c8CtZH6yfRwLAwuRvBhYiGhQVXojOrp7EaJRYUZcmNzlyGLuhHCoFALq28+jtq1L7nKI/BYDCxENSmpVyJgQAZXSP18ugtQqzB6nA8BWFiI5DesVaMOGDUhKSoJWq0VWVhbKysoGPff9999HZmYmwsPDERwcjPT0dLz55ptO54iiiFWrViEuLg6BgYHIzs7G8ePHh1MaEblRmZ+uv/J98x37CrXKXAmR/3I5sGzfvh35+flYvXo1KioqkJaWhpycHDQ1NQ14fmRkJH7729+itLQUhw8fRl5eHvLy8vDxxx87znn++efx0ksvYdOmTdi7dy+Cg4ORk5OD7u7u4T8zIrosoig6Aou/DriVXMFxLESyczmwrFu3DitWrEBeXh5mzJiBTZs2ISgoCFu2bBnw/MWLF+OWW27B9OnTMXHiRDz88MNITU3Frl27ANhfFNevX48nnngCN998M1JTU/HGG2+goaEBO3bsuKwnR0TDd7K5E60mCzQqBWYnhMtdjqwykiIgCEB1axcajXwjRSQHlwKLxWJBeXk5srOz+y+gUCA7OxulpaWXfLwoiiguLsaxY8ewaNEiAMDp06eh1+udrqnT6ZCVlTXoNc1mM4xGo9ONiNxrT9905rnjI6BW+ef4FUmYNsAx6JjrsRDJw6VXoZaWFlitVsTExDgdj4mJgV6vH/RxBoMBISEhUKvVuPHGG/Hyyy/j+uuvBwDH41y5ZmFhIXQ6neOWmJjoytMgoiGQuj/8bTn+wWT1dQtJG0ES0egalbdNoaGhOHjwIPbt24f/+Z//QX5+PkpKSoZ9vYKCAhgMBsettrbWfcUSEQBgv7T+ShIDCwDMT7bv3Cztq0REo0vlyslRUVFQKpVobGx0Ot7Y2IjY2NhBH6dQKDBp0iQAQHp6OiorK1FYWIjFixc7HtfY2Ii4uDina6anpw94PY1GA41G40rpROSChvbzaDB0Q6kQkD4+XO5yPELGBHtwO9bYAcP5HugCA2SuiMi/uNTColarkZGRgeLiYscxm82G4uJiLFiwYMjXsdlsMJvNAIDk5GTExsY6XdNoNGLv3r0uXZOI3Gd/XyvCjLgwBKldel/js8aGajBhTBBEEThQw1YWotHm8itRfn4+7r77bmRmZmL+/PlYv349TCYT8vLyAADLly9HQkICCgsLAdjHm2RmZmLixIkwm834xz/+gTfffBMbN24EAAiCgEceeQTPPvssJk+ejOTkZDz55JOIj4/HsmXL3PdMiWjIyqv7F4yjfhkTInCmtQvlZ85h8dRoucsh8isuB5bc3Fw0Nzdj1apV0Ov1SE9PR1FRkWPQbE1NDRSK/oYbk8mE+++/H3V1dQgMDMS0adPw1ltvITc313HOY489BpPJhPvuuw/t7e1YuHAhioqKoNVq3fAUichVUgsLA4uzzAmReL+iHvur2cJCNNoEURRFuYu4XEajETqdDgaDAWFh/rnfCZG7mMy9mP3Ux7CJQGnBDxCnC5S7JI/xbWMHlvzuCwQGKHH4qSUI8NPtCojcxZW/3/xtIyInB2vbYROBhPBAhpXvmTQ2BGFaFc73WFF5lus/EY0mBhYiciJ1d7A76EIKhYC5fV8XdgsRjS4GFiJysv+MfcBtZhIDy0AyJ3A9FiI5MLAQkYPVJuJATTsAtrAMRlqPZf+ZNvjAEEAir8HAQkQOx/Qd6DT3IkSjwrRYDmAfSHpiOFQKAY1GM+rbz8tdDpHfYGAhIofyvu6gOePDoVQIMlfjmQLVSsyMt4c5dgsRjR4GFiJy4PorQ+PoFuLAW6JRw8BCRA6cITQ00oDk/WxhIRo1DCxEBADQG7pR334eCgGYM56B5WKkmULH9EZ0dPfIXA2Rf2BgISIA/eMxpsWGIUTDDQ8vJjpMi8TIQNhEOGZVEdHIYmAhIgBcf8VVmY7pzewWIhoNDCxEBKC/hYXjV4Ymw7GAXJvMlRD5BwYWIkKXpRdHG+x742QmRcpcjXeQWqIO1LSj12qTuRoi38fAQkQ4VGuA1SYiTqdFQjg3PByKKdGhCNWq0GWxokrfIXc5RD6PgYWIUFFj7w6ay+6gIVMoBMdsKunrR0Qjh4GFiFDRN35lLqczu2Tu+HAA/V8/Iho5DCxEfk4URRyobQfQ/weYhmauo4WlXd5CiPwAAwuRn6tu7UKbyQK1SoGZ8Tq5y/Eq6ePDIQhATVsXWjrNcpdD5NMYWIj8nNSdMTtBB7WKLwmuCNMGYHJ0CAB2CxGNNL46Efm5cmnALbuDhkXqFirnwFuiEcXAQuTnKrhg3GWRAsuBM+3yFkLk4xhYiPxYp7kX3zba1xDhDKHhmTshHABwuL4dPVxAjmjEMLAQ+bFDte2wiUBCeCCiw7Ryl+OVUqJCEKZVobvHhsqzRrnLIfJZDCxEfsyx/gq7g4bNaQE5DrwlGjEMLER+rIIDbt2C67EQjTwGFiI/5bxgHFtYLoc0YJlL9BONHAYWIj91qsWE9q4eaFQKTI8Lk7scr5aWqIMgAHXnzqOpo1vucoh8EgMLkZ+SxlukjuOCcZcrVBuAqTGhAIAKTm8mGhF8lSLyU9J4C3YHuYc08PYAu4WIRgQDC5Gfkv6wcoaQezh2bmZgIRoRDCxEfsjY3YNjXDDOraTgd6jOAEsvF5AjcrdhBZYNGzYgKSkJWq0WWVlZKCsrG/TczZs34+qrr0ZERAQiIiKQnZ19wfn33HMPBEFwui1dunQ4pRHREByqbYcoAomRgRgbqpG7HJ+QEhWM8KAAWHpt+IYLyBG5ncuBZfv27cjPz8fq1atRUVGBtLQ05OTkoKmpacDzS0pKcOedd+Kzzz5DaWkpEhMTsWTJEtTX1zudt3TpUpw9e9Zx+9Of/jS8Z0RElyQNDGXrivsIgoA5ieEAuIAc0UhwObCsW7cOK1asQF5eHmbMmIFNmzYhKCgIW7ZsGfD8t99+G/fffz/S09Mxbdo0/PGPf4TNZkNxcbHTeRqNBrGxsY5bRARfSIlGSv+Ccfw9c6f+BeQYWIjczaXAYrFYUF5ejuzs7P4LKBTIzs5GaWnpkK7R1dWFnp4eREZGOh0vKSlBdHQ0pk6dipUrV6K1tdWV0ohoiGw2sX/ALQOLW0njWA5wxVsit1O5cnJLSwusVitiYmKcjsfExKCqqmpI13j88ccRHx/vFHqWLl2Kn/zkJ0hOTsbJkyfxm9/8BjfccANKS0uhVCovuIbZbIbZbHZ8bDSyv5hoqE61mGDs7oU2QIFpcaFyl+NT0hLDoRCA+vbzaDR2I4YbShK5jUuB5XI999xz2LZtG0pKSqDV9v8i33HHHY7/z549G6mpqZg4cSJKSkpw3XXXXXCdwsJCPP3006NSM5GvkborUseFI0DJiYLuFKJRYUpMKKr0HThQcw5LZ8XJXRKRz3Dp1SoqKgpKpRKNjY1OxxsbGxEbG3vRx65duxbPPfccPvnkE6Smpl703JSUFERFReHEiRMD3l9QUACDweC41dbWuvI0iPya1F0xhxsejoj+BeTa5S2EyMe4FFjUajUyMjKcBsxKA2gXLFgw6OOef/55PPPMMygqKkJmZuYlP09dXR1aW1sRFzfwuxONRoOwsDCnGxENDcevjCwuIEc0MlxuD87Pz8fmzZuxdetWVFZWYuXKlTCZTMjLywMALF++HAUFBY7z16xZgyeffBJbtmxBUlIS9Ho99Ho9Ojs7AQCdnZ149NFHsWfPHlRXV6O4uBg333wzJk2ahJycHDc9TSICgI7vLBjHFpaRIbWwHOYCckRu5fIYltzcXDQ3N2PVqlXQ6/VIT09HUVGRYyBuTU0NFIr+HLRx40ZYLBb89Kc/dbrO6tWr8dRTT0GpVOLw4cPYunUr2tvbER8fjyVLluCZZ56BRsMFrYjc6XCdAaIIjIsIRHQoB4SOhJSoYOgCA2A434MqvRGp48LlLonIJwxr0O2DDz6IBx98cMD7SkpKnD6urq6+6LUCAwPx8ccfD6cMInKRtKAZu4NGjkIhYM74cJQca0bFmXMMLERuwikCRH5EGlfB7qCRNSdRWkCuXd5CiHwIAwuRnxBFEQdq2wGwhWWkzZ0QDgA4UMuBt0TuwsBC5CdOt5jQ3tUDjUqB6XGcWTeS0hLDIQhAbdt5NHeYL/0AIrokBhYiPyGtCzI7QQe1ir/6IylMG4DJ0SEA+qeRE9Hl4asWkZ9wbHg4gd1Bo6F/I8R2eQsh8hEMLER+QvrDOScxXNY6/MUcLiBH5FYMLER+wGTuxTG9fZNQtrCMjrmOBeTa0WvlAnJEl4uBhcgPHKprh00EEsIDuYPwKJk4NgShWhW6e2yo0nfIXQ6R12NgIfID0oDbdK6/MmoUCgHpfd1vHHhLdPkYWIj8ADc8lAcH3hK5DwMLkY8TRbF/wC1bWEYVB94SuQ8DC5GPq2nrQpvJArVSgZnxXDBuNElL9J9p7UJrJxeQI7ocDCxEPk56dz8rIQwalVLmavyLLigAkxwLyLXLWwyRl2NgIfJxFWfaAQBzOH5FFnPZLUTkFgwsRD6u/Iz9D2UG11+RhTTwVvo+ENHwMLAQ+TCTuRdV0oJxbGGRhbRQ3+E6AxeQI7oMDCxEPkxaMC5ep0WsjgvGyWFS3wJy53usXECO6DIwsBD5MGmgJ5fjl49CITjGD3EcC9HwMbAQ+TBp3AS7g+QlDbzlOBai4WNgIfJRoij2r3DLFhZZSQOe2cJCNHwMLEQ+6nSLCee6eqBRKTAjjgvGySk9MRyCANS2nUdTR7fc5RB5JQYWIh8ldT+kjtNBreKvupxCtQGYEh0KoH9dHCJyDV/FiHyUtH8Qx694Bqlbjjs3Ew0PAwuRj5L+MHKFW8/AFW+JLg8DC5EPMnb34Fijfc2PuRPC5S2GAPS3sByqM8DSywXkiFzFwELkgw7VtkMUgcTIQESHcsE4T5ASFYzwoABYem345qxR7nKIvA4DC5EPkgZ2cvyK5xAEwfH9qOB6LEQuY2Ah8kHSOAlueOhZOI6FaPgYWIh8jM0mOv4gsoXFs0jjWNjCQuQ6BhYiH3OyuRMd3b0IDFBiWmyo3OXQd6SNC4dCABoM3dAbuIAckSsYWIh8jNS6kjpOB5WSv+KeJFijwrRY+6rD7BYicg1fzYh8jLTCLceveCbp+8KNEIlcM6zAsmHDBiQlJUGr1SIrKwtlZWWDnrt582ZcffXViIiIQEREBLKzsy84XxRFrFq1CnFxcQgMDER2djaOHz8+nNKI/B5XuPVs0ro4bGEhco3LgWX79u3Iz8/H6tWrUVFRgbS0NOTk5KCpqWnA80tKSnDnnXfis88+Q2lpKRITE7FkyRLU19c7znn++efx0ksvYdOmTdi7dy+Cg4ORk5OD7m728RK5or3LghNNnQCAOX0zUsizZIyPBAAcqTegu8cqczVE3sPlwLJu3TqsWLECeXl5mDFjBjZt2oSgoCBs2bJlwPPffvtt3H///UhPT8e0adPwxz/+ETabDcXFxQDsrSvr16/HE088gZtvvhmpqal444030NDQgB07dlzWkyPyN1I3Q0pUMMaEaGSuhgaSGBmIqBANeqwiDtcZ5C6HyGu4FFgsFgvKy8uRnZ3dfwGFAtnZ2SgtLR3SNbq6utDT04PISPu7jNOnT0Ov1ztdU6fTISsra9Brms1mGI1GpxsRAfs5fsXjCYKAzL7vz/4zbTJXQ+Q9XAosLS0tsFqtiImJcToeExMDvV4/pGs8/vjjiI+PdwQU6XGuXLOwsBA6nc5xS0xMdOVpEPms8mp7YMlMYmDxZNL3R/p+EdGljeosoeeeew7btm3DBx98AK12+PubFBQUwGAwOG61tbVurJLIO1l6bThU1w4AyJgQKW8xdFGOmUI152CziTJXQ+QdXAosUVFRUCqVaGxsdDre2NiI2NjYiz527dq1eO655/DJJ58gNTXVcVx6nCvX1Gg0CAsLc7oR+bsjDQaYe22ICArAxLHBcpdDFzEzXgeNSoH2rh6caumUuxwir+BSYFGr1cjIyHAMmAXgGEC7YMGCQR/3/PPP45lnnkFRUREyMzOd7ktOTkZsbKzTNY1GI/bu3XvRaxKRM6l7IWNCBARBkLkauhi1SoG0xHAAwH52CxENictdQvn5+di8eTO2bt2KyspKrFy5EiaTCXl5eQCA5cuXo6CgwHH+mjVr8OSTT2LLli1ISkqCXq+HXq9HZ6f9XYUgCHjkkUfw7LPP4q9//Su+/vprLF++HPHx8Vi2bJl7niWRH5AGcLI7yDv0D7xlYCEaCpWrD8jNzUVzczNWrVoFvV6P9PR0FBUVOQbN1tTUQKHoz0EbN26ExWLBT3/6U6frrF69Gk899RQA4LHHHoPJZMJ9992H9vZ2LFy4EEVFRZc1zoXIn4ii6JjSPI8Dbr3CvKRIACe54i3REAmiKHr9iC+j0QidTgeDwcDxLOSXqltMWLy2BGqlAoefWgJtgFLukugSDF09SPvvTwAA+5/IRhTXzSE/5Mrfb+4lROQDpG6F2eN0DCteQhcUgCkxIQC4rxDRUDCwEPmA8r7xK5lcMM6rSOONGFiILo2BhcgH7K/mCrfeyDHwtpor3hJdCgMLkZdr77LgeN+Ghwws3kVa8fZIvZEbIRJdAgMLkZerqOGGh95qfGQQokI0sFht+LqeGyESXQwDC5GXY3eQ93LaCJELyBFdFAMLkZeTZghxw0Pv5NgIkTs3E10UAwuRF7P02nCoth0AV7j1Vo6NEM+cgw8si0U0YhhYiLzYUW546PWkjRDPdfXgZLNJ7nKIPBYDC5EXk9bv4IaH3st5I0R2CxENhoGFyIuVne5bMC6J3UHeTNr/aR8H3hINioGFyEvZbCL29b0jn5/MwOLN5iePAQCUVbfKXAmR52JgIfJSJ5o7ca6rB4EBSsyK18ldDl2GjAkRUAhAbdt5NLSfl7scIo/EwELkpfb2dQfNnRAOtYq/yt4sRKPCrAR76NzHcSxEA+KrHJGXksavzE8aI3Ml5A7z+8YhSUGUiJwxsBB5IVEUUXbaPt6B41d8g/R9LGNgIRoQAwuRF6pp60Kj0YwApYA548PlLofcYF5fC8uJpk60dJplrobI8zCwEHkhqdsgbVw4tAFKmashd4gIVmNqTCgArsdCNBAGFiIv5Bi/wu4gn9LfLcT1WIi+j4GFyAsxsPgmR2DheixEF2BgIfIyZw3nUdPWBYXQv3Ee+QYpsHzTYISxu0fmaog8CwMLkZeRWldmxusQqg2QuRpyp5gwLZLGBMEm9u8TRUR2DCxEXobdQb6N05uJBsbAQuRlGFh8m2NfIQYWIicMLERepLXTjONNnQD61+0g3yKteHu4rh3nLVaZqyHyHAwsRF5kX7V9XMPk6BBEBqtlroZGQmJkIGLDtOixijhQy3EsRBIGFiIvwu4g3ycIAsexEA2AgYXIi0g7+TKw+DYGFqILMbAQeQljdw+ONhgAMLD4uqy+729FzTlYem0yV0PkGRhYiLxE2ak22EQgaUwQ4nSBcpdDI2hSdAjGBKvR3WPDwdp2ucsh8ggMLEReovSUfbn2BROjZK6ERpogCFgw0T69effJFpmrIfIMwwosGzZsQFJSErRaLbKyslBWVjbouUePHsWtt96KpKQkCIKA9evXX3DOU089BUEQnG7Tpk0bTmlEPmv3SXtgubLvDxn5tiv7gqn0fSfydy4Hlu3btyM/Px+rV69GRUUF0tLSkJOTg6ampgHP7+rqQkpKCp577jnExsYOet2ZM2fi7NmzjtuuXbtcLY3IZ7WZLKg8awQAXJHCwOIPpGB6oOYc12MhwjACy7p167BixQrk5eVhxowZ2LRpE4KCgrBly5YBz583bx5eeOEF3HHHHdBoNINeV6VSITY21nGLimKzN5FkT1930NSYUIwNHfz3iHzHhDFBiNfZ12PZf4azhYhcCiwWiwXl5eXIzs7uv4BCgezsbJSWll5WIcePH0d8fDxSUlJw1113oaamZtBzzWYzjEaj043Il0njGBawO8hv2Mex2N+4lbJbiMi1wNLS0gKr1YqYmBin4zExMdDr9cMuIisrC6+//jqKioqwceNGnD59GldffTU6OjoGPL+wsBA6nc5xS0xMHPbnJvIGHL/in650DLxlYCHyiFlCN9xwA2677TakpqYiJycH//jHP9De3o4///nPA55fUFAAg8HguNXW1o5yxUSjR2/oxqlmExQCkMXxK35FalE7XNcOY3ePzNUQyculwBIVFQWlUonGxkan442NjRcdUOuq8PBwTJkyBSdOnBjwfo1Gg7CwMKcbka8qPWXvDpqVoIMuMEDmamg0xYcHIjkqGDYR2MdVb8nPuRRY1Go1MjIyUFxc7Dhms9lQXFyMBQsWuK2ozs5OnDx5EnFxcW67JpG32n1CWn+FrSv+aAG7hYgADKNLKD8/H5s3b8bWrVtRWVmJlStXwmQyIS8vDwCwfPlyFBQUOM63WCw4ePAgDh48CIvFgvr6ehw8eNCp9eRXv/oVPv/8c1RXV2P37t245ZZboFQqceedd7rhKRJ5L1EUvzN+hTPn/BHHsRDZqVx9QG5uLpqbm7Fq1Sro9Xqkp6ejqKjIMRC3pqYGCkV/DmpoaMCcOXMcH69duxZr167FNddcg5KSEgBAXV0d7rzzTrS2tmLs2LFYuHAh9uzZg7Fjx17m0yPybrVt51Hffh4qhYB5SRFyl0MykNbdqTxrRJvJgshgtcwVEclDEEVRlLuIy2U0GqHT6WAwGDiehXzKtrIa/Pr9rzEvKQLv/uJKucshmSxd/wWq9B3437vm4oez2VVOvsOVv98eMUuIiAYmdQNw/yD/xn2FiBhYiDyW8/gVDrj1Z9xXiIiBhchjnWzuREunGRqVAnPGh8tdDslofnIkFAJwqtkEvaFb7nKIZMHAQuShpHfT85IioVEpZa6G5KQLDMDsBB2A/nV5iPwNAwuRh/ryOPcPon7SOCbp54LI3zCwEHkgS6/NseHdosmc3k/Aosn2wPLFty2w2bx+cieRyxhYiDxQRc05dJp7MSZYjZnxnKpPQEZSBAIDlGjpNKNSzx3qyf8wsBB5oC++bQYAXD05CgqFIHM15Ak0KqVjttgX37JbiPwPAwuRB/riuD2wLJrC7iDqJ/08SIGWyJ8wsBB5mOYOM47U25v8r+b4FfqOa/oCy/4zbTCZe2Wuhmh0MbAQeZhdJ+zvnmfGh2FsqEbmasiTJEUFY3xkEHqsomNQNpG/YGAh8jCfH7MHlmvYHUQDkH4uPme3EPkZBhYiD2KziY51Njh+hQbiGMdynIGF/AsDC5EH+easEa0mC4LVSswdHyF3OeSBFkwcA5VCwJnWLlS3mOQuh2jUMLAQeRCpmf/KSVFQq/jrSRcK0aiQmWQPs2xlIX/CV0QiDyIFFnYH0cVwejP5IwYWIg/R0d2DijPnAADXcDozXYQ08Hb3yVZYem0yV0M0OhhYiDzE7pOt6LWJSI4KxvgxQXKXQx5semwYokI06LJYsf9Mm9zlEI0KBhYiD+HoDurb5I5oMAqF4Pg54fRm8hcMLEQeQBRFx3iEa6ayO4guTfo54b5C5C8YWIg8wKkWE+rOnYdaqcAVKWPkLoe8wMJJURAEoPKsEY3GbrnLIRpxDCxEHuDTbxoBAFkpkQhSq2SuhrzBmBAN0saFAwCKK5vkLYZoFDCwEHmAnX2BZcmMGJkrIW9yfd/Py6eVjTJXQjTyGFiIZNbaaUZ5jX0683XTGVho6KTAsutEC3dvJp/HwEIks39VNUEU7bszx4cHyl0OeZHJ0SEYHxkES6/NsQcVka9iYCGSmdQddD27g8hFgiCwW4j8BgMLkYy6e6yOd8bZ7A6iYZB+bv5V1QSrTZS5GqKRw8BCJKOvTrTgfI8V8TotZsaHyV0OeaF5SRHQBQagzWRBRd9YKCJfxMBCJCOpGT97RgwEQZC5GvJGKqUCP5gWDaB/ejyRL2JgIZKJzSbi0771M9gdRJdD+vnZycBCPoyBhUgmh+ra0dxhRohGhayUSLnLIS+2aEoUApQCTrWYcLK5U+5yiEbEsALLhg0bkJSUBK1Wi6ysLJSVlQ167tGjR3HrrbciKSkJgiBg/fr1l31NIl8gdQddM3UsNCqlzNWQNwvVBmDBRPtmiOwWIl/lcmDZvn078vPzsXr1alRUVCAtLQ05OTloahp4aeiuri6kpKTgueeeQ2xsrFuuSeQLHNOZ2R1EbnD9dPs4FnYLka9yObCsW7cOK1asQF5eHmbMmIFNmzYhKCgIW7ZsGfD8efPm4YUXXsAdd9wBjUbjlmsSebszrSZ829gJpULAYu7OTG4grZJcXnMOrZ1mmashcj+XAovFYkF5eTmys7P7L6BQIDs7G6WlpcMqYDjXNJvNMBqNTjcibyINtp2fFInwILXM1ZAviA8PxKyEMIiifU0WIl/jUmBpaWmB1WpFTIxzE3ZMTAz0ev2wChjONQsLC6HT6Ry3xMTEYX1uIrl8fNT+s53N1W3JjaTZQtLPF5Ev8cpZQgUFBTAYDI5bbW2t3CURDZne0I191W0AgKWzBh7XRTQcP5wdBwD44tsWGM73yFwNkXu5FFiioqKgVCrR2Og8qKuxsXHQAbUjcU2NRoOwsDCnG5G3+PvXZyGKQMaECCRws0NyoykxoZgSEwKL1YZP2MpCPsalwKJWq5GRkYHi4mLHMZvNhuLiYixYsGBYBYzENYk82UeHGwAAP0qNk7kS8kU/So0HAHx0+KzMlRC5l8tdQvn5+di8eTO2bt2KyspKrFy5EiaTCXl5eQCA5cuXo6CgwHG+xWLBwYMHcfDgQVgsFtTX1+PgwYM4ceLEkK9J5CvqznXhQE07BKG/+Z7InaQg/NWJFpwzWWSuhsh9VK4+IDc3F83NzVi1ahX0ej3S09NRVFTkGDRbU1MDhaI/BzU0NGDOnDmOj9euXYu1a9fimmuuQUlJyZCuSeQr/t73rjcrORIxYVqZqyFflDI2BDPjw3C0wYiio3rcOX+83CURuYUgiqLX70duNBqh0+lgMBg4noU82o9e/hJH6o14dtks/OyKCXKXQz5qY8lJrCmqwpUTx+CdFVfIXQ7RoFz5++2Vs4SIvFF1iwlH6o1QKgTcwNlBNIKkbqE9p1rR3MFF5Mg3MLAQjRJpsO2VE8dgTMjAqz4TuUNiZBDSE8NhE4F/HuHgW/INDCxEo+Rvh+x/OH7cN4uDaCRJrSx/O9QgcyVE7sHAQjQKjjd24FhjBwKUAnJmsjuIRt6NfYFlX/U5nDWcl7kaosvHwEI0Cv7WNzvo6sljoQsKkLka8gdxukDMS4oA0D87jcibMbAQjTBRFB3jV36cxrVXaPT8OI2LyJHvYGAhGmFHG4w41WyCWqVwbE5HNBpumBUHhQAcrG1HTWuX3OUQXRYGFqIR9l55HQAge3o0QrXsDqLRMzZUg6smRQEA3quok7kaosvDwEI0gsy9Vuw4WA8AuC0zUeZqyB9JP3fv7a+F1eb164SSH2NgIRpBO79pRHtXD2LDtFg0eazc5ZAfWjIjBrrAADQYuvHViRa5yyEaNgYWohH05/32ZvifZoyDUiHIXA35I22AEsvS7YNvt++vlbkaouFjYCEaIfXt5/Hl8WYAwG2Z42SuhvzZ7fPs3UI7jzZyB2fyWgwsRCPkL+V1EEXgipRITBgTLHc55MdmxuswMz4MFqvNMaaKyNswsBCNAJtNxJ/7mt9z53GwLclP+jncvq8WosjBt+R9GFiIRsCeU62oO3ceoRoVls7kYnEkv5vTEqBWKVCl78CReqPc5RC5jIGFaARIgxtvSo9HoFopczVEgC4oAEv79rHavr9G5mqIXMfAQuRmhq4e/POIHgBwO9deIQ8i/Tx+eLAB3T1Wmashcg0DC5Gb/fVQPSy9NkyLDUXqOJ3c5RA5XDlxDBLCA9HR3YuivlBN5C0YWIjcSBRF/KnM3h10W2YiBIFrr5DnUCgExxT7d8rYLUTehYGFyI32nm7DN2eN0AYo8JM5CXKXQ3SB3HmJUCoElJ1uw9EGg9zlEA0ZAwuRG/3frtMAgJ/MHYeIYLXM1RBdKE4XiB/Ots9ck35eibwBAwuRm5xpNeHTykYAwL9flSRvMUQXce/CZADA3w41oKmjW+ZqiIaGgYXITV77qhqiCFwzZSwmRYfKXQ7RoNITwzF3fDh6rCLeKj0jdzlEQ8LAQuQGxu4evNu39or07pXIk927MAUA8NbeGk5xJq/AwELkBtvLamGyWDElJgRXT46SuxyiS8qZGYOE8EC0mSzYcYD7C5HnY2Ahuky9Vhte310NAPj3q5I5lZm8gkqpwD1XJgEAtnx1mvsLkcdjYCG6TJ9804j69vOIDFZjGacykxfJnZ+IYLUS3zZ2YteJFrnLIbooBhaiyyRNDb0razy0Adw3iLxHmDYAt/Ut188pzuTpGFiILsOBmnMoP3MOAUoBP79igtzlELks76okCAJQcqwZJ5o65C6HaFAMLESX4aXi4wCAm9ISEB2mlbkaItdNGBOMJTNiAAAvFZ+QuRqiwTGwEA1T+Zlz+OxYM5QKAQ/9YJLc5RAN2y+vmwwA+NvhBhzTs5WFPNOwAsuGDRuQlJQErVaLrKwslJWVXfT8d999F9OmTYNWq8Xs2bPxj3/8w+n+e+65B4IgON2WLl06nNKIRs36T78FANw6NwFJUcEyV0M0fDPjdbhhVixEEfh98bdyl0M0IJcDy/bt25Gfn4/Vq1ejoqICaWlpyMnJQVNT04Dn7969G3feeSfuvfdeHDhwAMuWLcOyZctw5MgRp/OWLl2Ks2fPOm5/+tOfhveMiEZB2ek2fHm8BSqFgId+MFnucogu2yPZUyAIwD++1nNTRPJILgeWdevWYcWKFcjLy8OMGTOwadMmBAUFYcuWLQOe//vf/x5Lly7Fo48+iunTp+OZZ57B3Llz8corrzidp9FoEBsb67hFREQM7xkRjYJ1O48BAG6fl4jEyCCZqyG6fFNjQ/Gj1HgAwPpPj8tcDdGFXAosFosF5eXlyM7O7r+AQoHs7GyUlpYO+JjS0lKn8wEgJyfngvNLSkoQHR2NqVOnYuXKlWhtbR20DrPZDKPR6HQjGi27T7Rgz6k2qJUKPHgtx66Q73j4uslQCMDObxpxuK5d7nKInLgUWFpaWmC1WhETE+N0PCYmBnq9fsDH6PX6S56/dOlSvPHGGyguLsaaNWvw+eef44YbboDVOvD+FoWFhdDpdI5bYmKiK0+DaNhEUcS6nfY+/jvnJyI+PFDmiojcZ1J0CJal2xc//N1OjmUhz+IRs4TuuOMO3HTTTZg9ezaWLVuGjz76CPv27UNJScmA5xcUFMBgMDhutbW1o1sw+a0vjrdg/5lz0KgUuJ+tK+SDfnndZCgVAj471ozyM+fkLofIwaXAEhUVBaVSicbGRqfjjY2NiI2NHfAxsbGxLp0PACkpKYiKisKJEwOvCaDRaBAWFuZ0IxppNpuIFz+xj1352RUTEMN1V8gHJUUF49a59laWFz85xj2GyGO4FFjUajUyMjJQXFzsOGaz2VBcXIwFCxYM+JgFCxY4nQ8AO3fuHPR8AKirq0Nrayvi4uJcKY9oRL1XXofDdQYEq5X4xTUT5S6HaMQ89IPJUKsU2H2yFUVHBu7uJxptLncJ5efnY/Pmzdi6dSsqKyuxcuVKmEwm5OXlAQCWL1+OgoICx/kPP/wwioqK8OKLL6KqqgpPPfUU9u/fjwcffBAA0NnZiUcffRR79uxBdXU1iouLcfPNN2PSpEnIyclx09MkujyGrh48V1QFwD79c2yoRuaKiEZOYmQQfrEoBQDwzEffoMvSK3NFRMMILLm5uVi7di1WrVqF9PR0HDx4EEVFRY6BtTU1NTh79qzj/CuvvBLvvPMO/vCHPyAtLQ3vvfceduzYgVmzZgEAlEolDh8+jJtuuglTpkzBvffei4yMDHz55ZfQaPhHgTzD2k+Ooc1kweToENxzVZLc5RCNuJWLJyEhPBANhm688i8u2U/yE0Qf6KA0Go3Q6XQwGAwcz0Jud6TegJte2QWbCLyzIgtXToySuySiUfHJUT3ue7McAUoBHz+yCCljQ+QuiXyMK3+/PWKWEJGnstlErPrwCGwi8OO0eIYV8ivXz4jB4qlj0WMVsfqvRzkAl2TFwEJ0Ee9V1KGiph3BaiV++8PpcpdDNKoEQcBTP54JtVKBL4+34OOjHIBL8mFgIRqEoasHa/5pH2j7y+smI1bHaczkf5KignGfYwBuJc5bBl7Qk2ikMbAQDeKZv3+DVpMFk6JDkHdVstzlEMnmgWvtA3Dr289jTd9sOaLRxsBCNICPDjfgvfI6KASg8CezoVbxV4X8V6BaiWdvsc/sfH13NUqONclcEfkjvgoTfU99+3n85v2vAdjfWc5LipS5IiL5XTs1GncvmAAA+NW7h9HSaZa5IvI3DCxE32G1icjffhDG7l6kJYbjl9dNlrskIo9R8MPpmBITgpZOMx5/7zBnDdGoYmAh+o5XvziJvafbEKxW4ve56QhQ8leESKINUOL3d8yBWqlAcVUT3tpbI3dJ5Ef4akzU51BtO9Z98i0A4KmbZiIpKljmiog8z/S4MDx+wzQAwLMffYPjjR0yV0T+goGFCPYpzA9vO4Bem4gbZ8fhpxnj5C6JyGPlXZmERVPGwtxrw0N/OgCTmXsN0chjYCG/Z+m14T/f2o/q1i4khAfi/90yG4IgyF0WkcdSKASs/WkqokLUqNJ34OFtB2C1cTwLjSwGFvJroijiNx98jT2n2hCiUeGPd2dCFxQgd1lEHi86TIs/LM+ERqXAp5VNePbv38hdEvk4Bhbya/9bctKx3srL/zYH0+O4eSbRUM0dH4F1t6cDAF77qhpvlFbLWg/5NgYW8lt/O9SAFz4+BgB4+qaZuHZqtMwVEXmfG1Pj8GjOVADAU389is+quKgcjQwGFvJL+6rb8F/vHgIA/PtVyfj5giR5CyLyYvcvnojbM8fBJgIPvlOBI/UGuUsiH8TAQn5n98kW3L2lDJZeG7Knx+C3N3IXZqLLIQgCnl02GwtSxsBkseLfNu/BgZpzcpdFPoaBhfxKybEm5L22D10WKxZOisJLd6ZDqeCMIKLLpVYp8OryDGRMiICxuxc/++Ne7D3VKndZ5EMYWMhvFB3RY8Ub+2HutSF7ejT+eHcmgtQqucsi8hlh2gC88e/zceVEe0vL3a+V4Ytvm+Uui3wEAwv5hQ8P1uOBdyrQY7UvDLfxZxnQBijlLovI5wRrVNhyzzxcO3Usunts+I+t+7Hzm0a5yyIfwMBCPs1qE7Huk2N4eNtBWG0ifjI3Ab+/g3sEEY0kbYASr/48E0tnxsJiteE/39yPTZ+f5GaJdFn4qk0+q81kwT2vleGlf50AANxzZRLW/jQNKoYVohGnVinwyr/Nccweeu6fVfjFW+UwdvfIXRp5Kb5yk086VNuOH7+8C18eb4E2QIHf5abhqZtmQsEBtkSjRqVUYM2tqfifW2ZBrVTg46ONuPmVr3BMzw0TyXUMLORTrDYR/7frNG7bVIr69vNIGhOEHQ9chVvmcDNDIjkIgoC7sibg3V8sQLxOi9MtJizb8BXe2VsDG/cfIhcIog90KhqNRuh0OhgMBoSFcWl1f/V1nQG/+eBrfN23aNX1M2Lw4u1pCNNybyAiT9BmsuDhbQfw5fEWAEDmhAj8v5/MxpSYUJkrI7m48vebgYW8Xqe5F+s++Rav7z4NmwiEalV4fOk0/Nv88ewCIvIwVpuI1746jXU7v0WXxQqVQsB9i1Lwy+smc+aeH2JgIb9g7rXiz/vrsOFfJ6A3dgMAbkqLxxM/mo7oUK3M1RHRxdS3n8dTfz3qmPI8LiIQv/zBZNwyN4Gz+PwIAwv5tO4eK7bvq8XGkpOOoDI+MgjPLpuFRVPGylwdEbni46N6PPXXozhrsP8uj4sIxAPXTsKtc8dBrWJw8XUMLOSTmjq68Zfyerz21Wk0dZgBALFhWqxcPBG58xLZnEzkpbosvXh7Tw1e/eIkWjotAICE8EDkXZWEn8wdh8hgtcwV0khhYCGf0Wu1oeRYM7btq8Vnx5pg7ZtVEK/TYuW1k3B75jhoVAwqRL7gvMWKt/eewatfnEJz35uSAKWA62fEIHfeeCycFMW9v3wMAwt5tfMWK7460YLiqiZ8WtnoeOECgLnjw3HH/PG4OT2eQYXIR3X3WPGXijps31eLw3UGx/HYMC2unxGD66ZH44qUMWxV9QEMLORVeq02VOk7sL+6DV8eb8GuEy0w99oc90cGq3Hr3ATcnpmIyZz+SORXvmkw4s/7a/HBgXoYzvevkhukVmLhpChcPWUsMidEYEpMKFtfvNCIB5YNGzbghRdegF6vR1paGl5++WXMnz9/0PPfffddPPnkk6iursbkyZOxZs0a/PCHP3TcL4oiVq9ejc2bN6O9vR1XXXUVNm7ciMmTJw+pHgYW72G1iahp68IxvRHfNBhRXnMOB2vaYbJYnc5LCA/EddOj8YNp0bhyYhQH3xH5ue4ee8vrp5VN+FdVIxqNZqf7QzUqzJkQgYzxEZgeF4qpsaFIjAji0gYebkQDy/bt27F8+XJs2rQJWVlZWL9+Pd59910cO3YM0dHRF5y/e/duLFq0CIWFhfjRj36Ed955B2vWrEFFRQVmzZoFAFizZg0KCwuxdetWJCcn48knn8TXX3+Nb775BlrtpaenMrB4FkuvDU0d3ahtO4/ac12oa+tC7bnzONHUieNNHejusV3wGOnFJis5Ej+YFo1psaEQBL7QENGFRFHE0QYj/lXVhLLTbThQc+6CNz0AEBigxJSYEEwcG4LEyCD7LSIQiZFBGBuq4fRpDzCigSUrKwvz5s3DK6+8AgCw2WxITEzEQw89hF//+tcXnJ+bmwuTyYSPPvrIceyKK65Aeno6Nm3aBFEUER8fj//6r//Cr371KwCAwWBATEwMXn/9ddxxxx1ufcJ0aaIowmK1obvHhu4eK0zmXpjMVnSae2Ey96LT3Iv2Lgvaz/egvasHhvM9aOk0o8loRlNHN851XXxzM22AApOj7e+A0hPDkcHmXCK6DFK3cvmZczhU244qfQdONHfC0nvhmyOJIACRQWqMDdXYbyEa6IICEB6oRnhQAMKDAhCiUSFYo3L8G6xWQhOgRGCAEgFKgW+q3MCVv98qVy5ssVhQXl6OgoICxzGFQoHs7GyUlpYO+JjS0lLk5+c7HcvJycGOHTsAAKdPn4Zer0d2drbjfp1Oh6ysLJSWlg4YWMxmM8zm/uZAo9HoytMYsl6rDc/+vdJt15Oyoej4+Dv39R0Vxe/f/53jov086Rxb339soghb379i379Wm+j4t7fv/71W+8c9NhG9VhusNnswsfTabz1WG8y99pByuVt8BCgFJIQHfuddTRCSo4IwNTYM4yODGE6IyG1USgVmJegwK0HnONZrtaG6tQvH9B2objWh7lwXatvOo6atCw3t59FrE9FqsqDVZEHVMDZjVAj2Fhy1SgG1SoEApf1ftVIBlVKAUqFAgELo+7/9Y6UAKBUCFILg+FcQAIUgQNH3L/r+FWAPVQLs5/RnI8Hxf+mcvqOO2r57v/1j97zeBigF/PbGGW651nC4FFhaWlpgtVoRExPjdDwmJgZVVVUDPkav1w94vl6vd9wvHRvsnO8rLCzE008/7Urpw2ITgdd3V4/45/FkCgEIVve9u9AoEaJRIUSrQnigGrqgAEQEBUAXGIAxwRpEh9nfqUSHahEeGMC+YyKSjUqpwKToEEyKDrngPptNxLkuC5o6zPabsRvnuixo7+rBua4eGM7b/28y96Kjr2XZZLbCZOl1vNG0iYDJYh2wK8pXqVUK7wksnqKgoMCp1cZoNCIxMdHtn0chAA9cO3HA+76bZgczUKi94NB3ThK+c0i6fl/g7kvY/cekBC4ldEEQoBQAhcLeTKkQAKUgQKEQoFL0p/kApQCVwv4OQKWQ3hkIjncGapUCgQFs9iQi36VQCBgTosGYEA2mxw39cd/vLu/uscLSa2+Z7rFKLdUiemw2WK0iem32j51au20irH2t4qIofWz/v9RCLrWgS+FIuk9Ef8u81Npu/79Tkc41D/g8hvBcB3ikUiHvmB+XAktUVBSUSiUaGxudjjc2NiI2NnbAx8TGxl70fOnfxsZGxMXFOZ2Tnp4+4DU1Gg00Go0rpQ+LSqnAoznTRvzzEBGR5xMEARqVEhqVErpA7gI/2lyKS2q1GhkZGSguLnYcs9lsKC4uxoIFCwZ8zIIFC5zOB4CdO3c6zk9OTkZsbKzTOUajEXv37h30mkRERORfXO4Sys/Px913343MzEzMnz8f69evh8lkQl5eHgBg+fLlSEhIQGFhIQDg4YcfxjXXXIMXX3wRN954I7Zt24b9+/fjD3/4AwB7Yn3kkUfw7LPPYvLkyY5pzfHx8Vi2bJn7nikRERF5LZcDS25uLpqbm7Fq1Sro9Xqkp6ejqKjIMWi2pqYGiu/0c1155ZV455138MQTT+A3v/kNJk+ejB07djjWYAGAxx57DCaTCffddx/a29uxcOFCFBUVDWkNFiIiIvJ9XJqfiIiIZOHK328u80dEREQej4GFiIiIPB4DCxEREXk8BhYiIiLyeAwsRERE5PEYWIiIiMjjMbAQERGRx2NgISIiIo/HwEJEREQez+Wl+T2RtFiv0WiUuRIiIiIaKunv9lAW3feJwNLR0QEASExMlLkSIiIiclVHRwd0Ot1Fz/GJvYRsNhsaGhoQGhoKQRDkLkd2RqMRiYmJqK2t5d5KI4hf59HBr/Po4dd6dPDr3E8URXR0dCA+Pt5p4+SB+EQLi0KhwLhx4+Quw+OEhYX5/S/DaODXeXTw6zx6+LUeHfw6212qZUXCQbdERETk8RhYiIiIyOMxsPggjUaD1atXQ6PRyF2KT+PXeXTw6zx6+LUeHfw6D49PDLolIiIi38YWFiIiIvJ4DCxERETk8RhYiIiIyOMxsBAREZHHY2DxE2azGenp6RAEAQcPHpS7HJ9TXV2Ne++9F8nJyQgMDMTEiROxevVqWCwWuUvzehs2bEBSUhK0Wi2ysrJQVlYmd0k+pbCwEPPmzUNoaCiio6OxbNkyHDt2TO6yfN5zzz0HQRDwyCOPyF2K12Bg8ROPPfYY4uPj5S7DZ1VVVcFms+HVV1/F0aNH8bvf/Q6bNm3Cb37zG7lL82rbt29Hfn4+Vq9ejYqKCqSlpSEnJwdNTU1yl+YzPv/8czzwwAPYs2cPdu7ciZ6eHixZsgQmk0nu0nzWvn378OqrryI1NVXuUrwKpzX7gX/+85/Iz8/HX/7yF8ycORMHDhxAenq63GX5vBdeeAEbN27EqVOn5C7Fa2VlZWHevHl45ZVXANj3DUtMTMRDDz2EX//61zJX55uam5sRHR2Nzz//HIsWLZK7HJ/T2dmJuXPn4n//93/x7LPPIj09HevXr5e7LK/AFhYf19jYiBUrVuDNN99EUFCQ3OX4FYPBgMjISLnL8FoWiwXl5eXIzs52HFMoFMjOzkZpaamMlfk2g8EAAPzZHSEPPPAAbrzxRqefaxoan9j8kAYmiiLuuece/OIXv0BmZiaqq6vlLslvnDhxAi+//DLWrl0rdyleq6WlBVarFTExMU7HY2JiUFVVJVNVvs1ms+GRRx7BVVddhVmzZsldjs/Ztm0bKioqsG/fPrlL8UpsYfFCv/71ryEIwkVvVVVVePnll9HR0YGCggK5S/ZaQ/1af1d9fT2WLl2K2267DStWrJCpciLXPfDAAzhy5Ai2bdsmdyk+p7a2Fg8//DDefvttaLVaucvxShzD4oWam5vR2tp60XNSUlJw++23429/+xsEQXAct1qtUCqVuOuuu7B169aRLtXrDfVrrVarAQANDQ1YvHgxrrjiCrz++utQKPieYLgsFguCgoLw3nvvYdmyZY7jd999N9rb2/Hhhx/KV5wPevDBB/Hhhx/iiy++QHJystzl+JwdO3bglltugVKpdByzWq0QBAEKhQJms9npProQA4sPq6mpgdFodHzc0NCAnJwcvPfee8jKysK4ceNkrM731NfX49prr0VGRgbeeustvvi4QVZWFubPn4+XX34ZgL3LYvz48XjwwQc56NZNRFHEQw89hA8++AAlJSWYPHmy3CX5pI6ODpw5c8bpWF5eHqZNm4bHH3+cXXBDwDEsPmz8+PFOH4eEhAAAJk6cyLDiZvX19Vi8eDEmTJiAtWvXorm52XFfbGysjJV5t/z8fNx9993IzMzE/PnzsX79ephMJuTl5cldms944IEH8M477+DDDz9EaGgo9Ho9AECn0yEwMFDm6nxHaGjoBaEkODgYY8aMYVgZIgYWIjfYuXMnTpw4gRMnTlwQBtmIOXy5ublobm7GqlWroNfrkZ6ejqKiogsG4tLwbdy4EQCwePFip+OvvfYa7rnnntEviGgQ7BIiIiIij8cRgUREROTxGFiIiIjI4zGwEBERkcdjYCEiIiKPx8BCREREHo+BhYiIiDweAwsRERF5PAYWIiIi8ngMLEREROTxGFiIiIjI4zGwEBERkcdjYCEiIiKP9/8DvqoFvrBQf3sAAAAASUVORK5CYII=","text/plain":["
"]},"metadata":{},"output_type":"display_data"}],"source":["import numpy as np\n","import matplotlib.pyplot as plt\n","from scipy.stats import norm\n","\n","def plot_normal_distribution(mu, sigma):\n"," \"\"\"\n"," Plots the probability density function of the normal distribution.\n"," Args:\n"," mu: The mean of the distribution.\n"," sigma: The standard deviation of the distribution.\n"," \"\"\"\n"," x = np.linspace(-5, 5, 100)\n"," y = norm.pdf(x, loc=mu, scale=sigma)\n"," plt.plot(x, y)\n"," plt.show()\n","\n","if __name__ == \"__main__\":\n"," plot_normal_distribution(0, 1)\n"]},{"cell_type":"code","execution_count":46,"id":"30867bcf","metadata":{},"outputs":[{"data":{"image/png":"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0qVLVV5efsnnZmVlqaysTGVlZd96zS1btujuu+9WR0eHEhMTv3HuYDAot9ut9vZ2paSk9OFIAQBArEXy/h3RlZquri41NjbK6/V+tUB8vLxer+rr66MaNto1vzy4iwVNZ2engsFgjwcAALAroqg5c+aMuru7lZaW1mN7Wlqa/H5/VANEs+aZM2f0xBNP6Be/+MVF162qqpLb7Q4/MjIyopoPAAAMDAPu00/BYFDz58/XlClT9Pjjj190v4qKCrW3t4cfJ06c6L8hAQBAv/vmm1H+n1GjRikhIUGBQKDH9kAgcNGbgC/nmmfPntXcuXM1fPhwbd26VYMGDbroui6XSy6XK6qZAADAwBPRlZqkpCTl5uaqrq4uvC0UCqmurk6FhYVRDdDXNYPBoObMmaOkpCRt375dycnJUb0eAACwKaIrNZLk8/lUUlKivLw85efnq6amRh0dHSotLZUkLVq0SGPGjFFVVZWkL24EPnz4cPifT548qebmZg0bNkwTJkzo05pfBs25c+f0hz/8oceNv6mpqUpISPj2ZwIAAAxoEUfNwoULdfr0aa1cuVJ+v185OTnasWNH+EbflpYWxcd/dQGotbVVM2bMCP9cXV2t6upqzZ49W2+//Xaf1mxqatLevXslKRxCX/rwww+VlZUV6WEAAABjIv6emoGK76kBAGDguWLfUwMAAPDfiqgBAAAmEDUAAMAEogYAAJhA1AAAABOIGgAAYAJRAwAATCBqAACACUQNAAAwgagBAAAmEDUAAMAEogYAAJhA1AAAABOIGgAAYAJRAwAATCBqAACACUQNAAAwgagBAAAmEDUAAMAEogYAAJhA1AAAABOIGgAAYAJRAwAATCBqAACACUQNAAAwgagBAAAmEDUAAMAEogYAAJhA1AAAABOIGgAAYAJRAwAATCBqAACACUQNAAAwgagBAAAmEDUAAMAEogYAAJhA1AAAABOIGgAAYAJRAwAATCBqAACACUQNAAAwgagBAAAmEDUAAMAEogYAAJhA1AAAABOIGgAAYAJRAwAATCBqAACACUQNAAAwgagBAAAmEDUAAMAEogYAAJhA1AAAABOIGgAAYAJRAwAATCBqAACACVFFTW1trbKyspScnKyCggI1NDRcdN/33ntPCxYsUFZWluLi4lRTUxPVmufPn9eSJUs0cuRIDRs2TAsWLFAgEIhmfAAA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","text/plain":["
"]},"metadata":{},"output_type":"display_data"}],"source":["import numpy as np\n","import matplotlib.pyplot as plt\n","from scipy.stats import uniform\n","\n","def plot_uniform_distribution(a, b):\n"," \"\"\"\n"," Plots the probability density function of the uniform distribution.\n"," Args:\n"," a: The lower limit of the distribution.\n"," b: The upper limit of the distribution.\n"," \"\"\"\n"," x = np.linspace(a, b, 100)\n"," y = uniform.pdf(x, loc=a, scale=(b - a))\n"," plt.plot(x, y)\n"," plt.show()\n","\n","if __name__ == \"__main__\":\n"," plot_uniform_distribution(0, 10)\n","\n","\n"," "]}],"metadata":{"interpreter":{"hash":"0f2f6c680cf484319d387fabac80ca4ff4fc33965036e02100b3fe02600f1423"},"kernelspec":{"display_name":"Python 3.10.1 64-bit","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.11.3"}},"nbformat":4,"nbformat_minor":5}