diff --git a/Assignment 1/Assignment1_Adiba/QV_Matplotlib_AdibaAreej.ipynb b/Assignment 1/Assignment1_Adiba/QV_Matplotlib_AdibaAreej.ipynb new file mode 100644 index 00000000..a6c796f2 --- /dev/null +++ b/Assignment 1/Assignment1_Adiba/QV_Matplotlib_AdibaAreej.ipynb @@ -0,0 +1 @@ +{"cells":[{"cell_type":"markdown","metadata":{"id":"_sfWZU_eST2O"},"source":["**NOTE: ALL THE COMMANDS FOR PLOTTING A FIGURE SHOULD ALL GO IN THE SAME CELL. SEPARATING THEM OUT INTO MULTIPLE CELLS MAY CAUSE NOTHING TO SHOW UP.**\n","\n","# Exercises\n","\n","Follow the instructions to recreate the plots using this data:\n","\n","## Data"]},{"cell_type":"code","execution_count":null,"metadata":{"id":"l0eZ10dLST2X"},"outputs":[],"source":["import numpy as np\n","x = np.arange(0,100)\n","y = x*2\n","z = x**2"]},{"cell_type":"markdown","metadata":{"id":"veY4-lsGST2c"},"source":["**Import matplotlib.pyplot as plt**"]},{"cell_type":"code","execution_count":1,"metadata":{"id":"tAOmEcNKST2e","executionInfo":{"status":"ok","timestamp":1764999805808,"user_tz":-330,"elapsed":715,"user":{"displayName":"Adiba Areej","userId":"02303988763299783222"}}},"outputs":[],"source":["import matplotlib.pyplot as plt"]},{"cell_type":"markdown","metadata":{"id":"5j_39gsVST2f"},"source":["## Exercise 1\n","\n","**Follow along with these steps**\n","* Create a figure object called fig using plt.figure()\n","* Use add_axes to add an axis to the figure canvas at [0,0,1,1]. Call this new axis ax.\n","* Plot (x,y) on that axes and set the labels and titles to match the plot below:"]},{"cell_type":"code","execution_count":11,"metadata":{"id":"03Ts4r5SST2g","outputId":"73868059-7b3c-4d5e-c368-c125971f01b4","colab":{"base_uri":"https://localhost:8080/","height":582},"executionInfo":{"status":"ok","timestamp":1765004122104,"user_tz":-330,"elapsed":1853,"user":{"displayName":"Adiba Areej","userId":"02303988763299783222"}}},"outputs":[{"output_type":"display_data","data":{"text/plain":["
"],"image/png":"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lDIyMuRyubR06VL/e8ePH9f06dOVk5Oj888/XxkZGbr99tu1d+/egM/o2bOnXC5XwGPmzJlR/iYAgFhy8KA0cqRUViY1NTXvdrF5s5STY/bKAISbqWG5oaFB/fr109y5c0977+uvv9bWrVv10EMPaevWrXr99de1fft2/ehHPzrt2scff1z79u3zP+69995oLB8AEIOqqqQBA5r7yQkJ0gsvSC++SD8ZcCpTO8sjRozQiBEjWnzP4/GosrIy4LXnn39eV199tXbv3q0ePXr4X09MTFR6enqrf29jY6MaGxv9z71ebxtXDgCINT6fNGuWNGNG8zQ5K0tavJhpMuB0tuos19fXy+VyKTk5OeD1mTNnqmvXrhowYICefvppnThx4oyfU15eLo/H439kZmZGcNUAALujdgHELtvshvHtt99q+vTpKiwsVFJSkv/1++67T1deeaVSUlK0YcMGlZWVad++fXrmmWdCflZZWZlKS0v9z71eL4EZANAidrsAYpstwvLx48f1s5/9TIZhaN68eQHvnRp6+/btq/j4eP385z9XeXm53G53i5/ndrtDvgcAgETtAkAzy9cwTgblL774QpWVlQFT5Zbk5ubqxIkT+vzzz6OzQACA4wTXLoqKqF0AscrSk+WTQXnHjh1avXq1unbtetaf2bZtm+Li4pSamhqFFQIAnIbaBYBTmRqWjx49qp07d/qf79q1S9u2bVNKSoq6d++un/70p9q6dauWLVumpqYm1dbWSpJSUlIUHx+v6upq1dTUKD8/X4mJiaqurta0adN022236YILLjDrawEAbIjaBYCWuAzDMMz65WvWrFF+fv5pr48fP16PPvqoevXq1eLPrV69WkOGDNHWrVv1i1/8Qp988okaGxvVq1cvFRcXq7S0tE2dZK/XK4/Ho/r6+rPWPAAAznPwoHT77c17J0vNtYuKCvZOBpystfnP1LBsFYRlAIhd1C6A2NTa/Gf5P/ADACASfD5p5kxpyJDmoJyVJW3cKE2aRFAG8B1L/4EfAACREFy7uO02ad48ahcATkdYBgDElODaxdy50oQJTJMBtIwaBgAgJgTXLrKzm2sX9JMBnAmTZQCA49XVScXF1C4AtB1hGQDgaOx2AeBcUMMAADgSu10ACAcmywAAx+GQEQDhQlgGADhKcO1izhymyQDajxoGAMARQtUuJk8mKANo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dpu9FIQJ99SZuK/Owz11Ju6r81jlnvIHfgAAAEAITJYBAACAEAjLAAAAQAiEZQAAACAEwjIAAAAQAmHZBHPnzlXPnj2VkJCg3Nxcbdy40ewloQ3Ky8t11VVXKTExUampqRo9erS2b98ecM23336rkpISde3aVV26dNHYsWO1f/9+k1aMtpo5c6ZcLpemTp3qf417ak9ffvmlbrvtNnXt2lWdOnVSTk6ONm/e7H/fMAw9/PDD6t69uzp16qSCggLt2LHDxBXjTJqamvTQQw+pV69e6tSpky699FI98cQTOnWvAu6p9a1bt06jRo1SRkaGXC6Xli5dGvB+a+7hoUOHVFRUpKSkJCUnJ2vSpEk6evRoRNZLWI6y1157TaWlpXrkkUe0detW9evXT8OGDdOBAwfMXhpaae3atSopKdHbb7+tyspKHT9+XDfddJMaGhr810ybNk1vvvmmFi9erLVr12rv3r0aM2aMiatGa23atEn//u//rr59+wa8zj21n//3//6fBg8erPPOO0/Lly/XRx99pN///ve64IIL/NfMmjVLs2fPVkVFhWpqanT++edr2LBh+vbbb01cOUJ56qmnNG/ePD3//PP6+OOP9dRTT2nWrFmaM2eO/xruqfU1NDSoX79+mjt3bovvt+YeFhUV6cMPP1RlZaWWLVumdevW6a677orMgg1E1dVXX22UlJT4nzc1NRkZGRlGeXm5iavCuThw4IAhyVi7dq1hGIZx+PBh47zzzjMWL17sv+bjjz82JBnV1dVmLROtcOTIEePyyy83Kisrjeuvv964//77DcPgntrV9OnTjWuvvTbk+z6fz0hPTzeefvpp/2uHDx823G638corr0RjiWijkSNHGhMnTgx4bcyYMUZRUZFhGNxTO5JkLFmyxP+8Nffwo48+MiQZmzZt8l+zfPlyw+VyGV9++WXY18hkOYqOHTumLVu2qKCgwP9aXFycCgoKVF1dbeLKcC7q6+slSSkpKZKkLVu26Pjx4wH3OTs7Wz169OA+W1xJSYlGjhwZcO8k7qld/f3vf9egQYN0yy23KDU1VQMGDNAf//hH//u7du1SbW1twH31eDzKzc3lvlrUD37wA61cuVKffvqpJOndd99VVVWVRowYIYl76gStuYfV1dVKTk7WoEGD/NcUFBQoLi5ONTU1YV9Tx7B/IkKqq6tTU1OT0tLSAl5PS0vTJ598YtKqcC58Pp+mTp2qwYMHq0+fPpKk2tpaxcfHKzk5OeDatLQ01dbWmrBKtMarr76qrVu3atOmTae9xz21p//93//VvHnzVFpaqt/85jfatGmT7rvvPsXHx2v8+PH+e9fSfyZzX63p17/+tbxer7Kzs9WhQwc1NTXpd7/7nYqKiiSJe+oArbmHtbW1Sk1NDXi/Y8eOSklJich9JiwD56CkpEQffPCBqqqqzF4KzsGePXt0//33q7KyUgkJCWYvB2Hi8/k0aNAgPfnkk5KkAQMG6IMPPlBFRYXGjx9v8urQHosWLdLLL7+shQsX6vvf/762bdumqVOnKiMjg3uKiKGGEUXdunVThw4dTvsL+v379ys9Pd2kVaG9pkyZomXLlmn16tW66KKL/K+np6fr2LFjOnz4cMD13Gfr2rJliw4cOKArr7xSHTt2VMeOHbV27VrNnj1bHTt2VFpaGvfUhrp3764rrrgi4LXevXtr9+7dkuS/d/xnsn088MAD+vWvf61x48YpJydHxcXFmjZtmsrLyyVxT52gNfcwPT39tI0RTpw4oUOHDkXkPhOWoyg+Pl4DBw7UypUr/a/5fD6tXLlSeXl5Jq4MbWEYhqZMmaIlS5Zo1apV6tWrV8D7AwcO1HnnnRdwn7dv367du3dzny1q6NChev/997Vt2zb/Y9CgQSoqKvL/M/fUfgYPHnzato6ffvqpLr74YklSr169lJ6eHnBfvV6vampquK8W9fXXXysuLjC6dOjQQT6fTxL31Alacw/z8vJ0+PBhbdmyxX/NqlWr5PP5lJubG/5Fhf1PBnFGr776quF2u40FCxYYH330kXHXXXcZycnJRm1trdlLQyvdc889hsfjMdasWWPs27fP//j666/919x9991Gjx49jFWrVhmbN2828vLyjLy8PBNXjbY6dTcMw+Ce2tHGjRuNjh07Gr/73e+MHTt2GC+//LLRuXNn469//av/mpkzZxrJycnGG2+8Ybz33nvGj3/8Y6NXr17GN998Y+LKEcr48eONf/qnfzKWLVtm7Nq1y3j99deNbt26GQ8++KD/Gu6p9R05csR45513jHfeeceQZDzzzDPGO++8Y3zxxReGYbTuHg4fPtwYMGCAUVNTY1RVVRmXX365UVhYGJH1EpZNMGfOHKNHjx5GfHy8cfXVVxtvv/222UtCG0hq8TF//nz/Nd98843xi1/8wrjggguMzp07Gz/5yU+Mffv2mbdotFlwWOae2tObb75p9OnTx3C73UZ2drbxH//xHwHv+3w+46GHHjLS0tIMt9ttDB061Ni+fbtJq8XZeL1e4/777zd69OhhJCQkGJdcconx29/+1mhsbPRfwz21vtWrV7f436Pjx483DKN19/Crr74yCgsLjS5duhhJSUnGhAkTjCNHjkRkvS7DOOXYGwAAAAB+dJYBAACAEAjLAAAAQAiEZQAAACAEwjIAAAAQAmEZAAAACIGwDAAAAIRAWAYAAABCICwDAAAAIRCWAQAAgBAIywAAAEAIhGUAAAAgBMIyAMSYgwcPKj09XU8++aT/tQ0bNig+Pl4rV640cWUAYD0uwzAMsxcBAIiu//qv/9Lo0aO1YcMGZWVlqX///vrxj3+sZ555xuylAYClEJYBIEaVlJTorbfe0qBBg/T+++9r06ZNcrvdZi8LACyFsAwAMeqbb75Rnz59tGfPHm3ZskU5OTlmLwkALIfOMgDEqM8++0x79+6Vz+fT559/bvZyAMCSmCwDQAw6duyYrr76avXv319ZWVl67rnn9P777ys1NdXspQGApRCWASAGPfDAA/rb3/6md999V126dNH1118vj8ejZcuWmb00ALAUahgAEGPWrFmj5557Ti+99JKSkpIUFxenl156SevXr9e8efPMXh4AWAqTZQAAACAEJssAAABACIRlAAAAIATCMgAAABACYRkAAAAIgbAMAAAAhEBYBgAAAEIgLAMAAAAhEJYBAACAEAjLAAAAQAiEZQAAACAEwjIAAAAQwv8Hw5NXL1sGbFsAAAAASUVORK5CYII=\n"},"metadata":{}}],"source":["import matplotlib.pyplot as plt\n","import numpy as np\n","\n","fig=plt.figure()\n","x = np.arange(0,100)\n","y = x*2\n","axes=fig.add_axes([0,0,1,1])\n","\n","axes.plot(x,y,color='blue')\n","plt.xlabel(\"x\")\n","plt.ylabel(\"y\")\n","plt.title(\"title\")\n","\n","plt.show()"]},{"cell_type":"markdown","metadata":{"id":"I8mFrIGwST2i"},"source":["## Exercise 2\n","**Create a figure object and put two axes on it, ax1 and ax2. Located at [0,0,1,1] and [0.2,0.5,.2,.2] respectively.**"]},{"cell_type":"code","execution_count":12,"metadata":{"id":"D4nUfU26ST2k","outputId":"52a9aae4-186e-45a1-ea34-4450fdf62821","colab":{"base_uri":"https://localhost:8080/","height":546},"executionInfo":{"status":"ok","timestamp":1765005318509,"user_tz":-330,"elapsed":517,"user":{"displayName":"Adiba Areej","userId":"02303988763299783222"}}},"outputs":[{"output_type":"display_data","data":{"text/plain":["
"],"image/png":"iVBORw0KGgoAAAANSUhEUgAAAr4AAAIRCAYAAACszb5OAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjAsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvlHJYcgAAAAlwSFlzAAAPYQAAD2EBqD+naQAAKapJREFUeJzt3W1wleWd+PFfEs2JTk2KpSZAo/jQ+lBtQJAYrMO4k22mZWh5sdNUu8KyYteWdZTMroIPpGrXuN3islOxVCxLd1oXtKO0IwyWpmUcS3YYgcxoq3YsaGjHBKgl0WiJJvf/hWP6jwTlBJKA1+czc17k9rrP+d1egl9uTk4KsizLAgAAPuQKR3sAAAAYCcIXAIAkCF8AAJIgfAEASILwBQAgCcIXAIAkCF8AAJIgfAEASILwBQAgCcIXAIAk5B2+Tz75ZMyaNSvGjx8fBQUFsW7dug88Z/PmzXHxxRdHLpeLc845J1avXj2EUQEAYOjyDt/u7u6oqqqK5cuXH9b6Xbt2xcyZM+OKK66I1tbWuPHGG2P+/PnxxBNP5D0sAAAMVUGWZdmQTy4oiMceeyxmz559yDU333xzrF+/Pp599tn+Y1/5yldi//79sXHjxqG+NAAA5OWE4X6BlpaWqK2tHXCsrq4ubrzxxkOec+DAgThw4ED/1319ffHqq6/Gxz72sSgoKBiuUQEAOEZkWRavvfZajB8/PgoLj863pQ17+La3t0d5efmAY+Xl5dHV1RVvvvlmnHTSSQed09TUFHfcccdwjwYAwDFu9+7d8YlPfOKoPNewh+9QLF68OBoaGvq/7uzsjNNPPz12794dpaWlozgZAAAjoaurKyorK+OUU045as857OFbUVERHR0dA451dHREaWnpoHd7IyJyuVzkcrmDjpeWlgpfAICEHM23uQ775/jW1NREc3PzgGObNm2Kmpqa4X5pAADol3f4vv7669Ha2hqtra0R8c7HlbW2tkZbW1tEvPM2hTlz5vSvv+6662Lnzp1x0003xfPPPx/3339/PPzww7Fw4cKjcwUAAHAY8g7fp59+OiZPnhyTJ0+OiIiGhoaYPHlyLFmyJCIiXnnllf4Ijog488wzY/369bFp06aoqqqKpUuXxoMPPhh1dXVH6RIAAOCDHdHn+I6Urq6uKCsri87OTu/xBQBIwHD037C/xxcAAI4FwhcAgCQIXwAAkiB8AQBIgvAFACAJwhcAgCQIXwAAkiB8AQBIgvAFACAJwhcAgCQIXwAAkiB8AQBIgvAFACAJwhcAgCQIXwAAkiB8AQBIgvAFACAJwhcAgCQIXwAAkiB8AQBIgvAFACAJwhcAgCQIXwAAkiB8AQBIgvAFACAJwhcAgCQIXwAAkiB8AQBIgvAFACAJwhcAgCQIXwAAkiB8AQBIgvAFACAJwhcAgCQIXwAAkiB8AQBIgvAFACAJwhcAgCQIXwAAkiB8AQBIgvAFACAJwhcAgCQIXwAAkiB8AQBIgvAFACAJwhcAgCQIXwAAkiB8AQBIgvAFACAJwhcAgCQIXwAAkiB8AQBIgvAFACAJwhcAgCQIXwAAkiB8AQBIgvAFACAJwhcAgCQIXwAAkiB8AQBIgvAFACAJwhcAgCQIXwAAkiB8AQBIgvAFACAJwhcAgCQIXwAAkiB8AQBIgvAFACAJwhcAgCQIXwAAkiB8AQBIgvAFACAJwhcAgCQIXwAAkiB8AQBIgvAFACAJwhcAgCQIXwAAkiB8AQBIgvAFACAJwhcAgCQIXwAAkiB8AQBIgvAFACAJQwrf5cuXx8SJE6OkpCSqq6tj69at77t+2bJlce6558ZJJ50UlZWVsXDhwvjLX/4ypIEBAGAo8g7ftWvXRkNDQzQ2Nsb27dujqqoq6urqYs+ePYOuf+ihh2LRokXR2NgYzz33XPzgBz+ItWvXxi233HLEwwMAwOHKO3zvvffeuPbaa2PevHlxwQUXxIoVK+Lkk0+OVatWDbp+y5Ytcdlll8VVV10VEydOjM997nNx5ZVXfuBdYgAAOJryCt+enp7Ytm1b1NbW/vUJCgujtrY2WlpaBj1n+vTpsW3btv7Q3blzZ2zYsCG+8IUvHPJ1Dhw4EF1dXQMeAABwJE7IZ/G+ffuit7c3ysvLBxwvLy+P559/ftBzrrrqqti3b1989rOfjSzL4u23347rrrvufd/q0NTUFHfccUc+owEAwPsa9k912Lx5c9x9991x//33x/bt2+PRRx+N9evXx1133XXIcxYvXhydnZ39j927dw/3mAAAfMjldcd37NixUVRUFB0dHQOOd3R0REVFxaDn3H777XH11VfH/PnzIyLioosuiu7u7vja174Wt956axQWHtzeuVwucrlcPqMBAMD7yuuOb3FxcUyZMiWam5v7j/X19UVzc3PU1NQMes4bb7xxUNwWFRVFRESWZfnOCwAAQ5LXHd+IiIaGhpg7d25MnTo1pk2bFsuWLYvu7u6YN29eRETMmTMnJkyYEE1NTRERMWvWrLj33ntj8uTJUV1dHS+++GLcfvvtMWvWrP4ABgCA4ZZ3+NbX18fevXtjyZIl0d7eHpMmTYqNGzf2f8NbW1vbgDu8t912WxQUFMRtt90Wf/zjH+PjH/94zJo1K/7t3/7t6F0FAAB8gILsOHi/QVdXV5SVlUVnZ2eUlpaO9jgAAAyz4ei/Yf9UBwAAOBYIXwAAkiB8AQBIgvAFACAJwhcAgCQIXwAAkiB8AQBIgvAFACAJwhcAgCQIXwAAkiB8AQBIgvAFACAJwhcAgCQIXwAAkiB8AQBIgvAFACAJwhcAgCQIXwAAkiB8AQBIgvAFACAJwhcAgCQIXwAAkiB8AQBIgvAFACAJwhcAgCQIXwAAkiB8AQBIgvAFACAJwhcAgCQIXwAAkiB8AQBIgvAFACAJwhcAgCQIXwAAkiB8AQBIgvAFACAJwhcAgCQIX/Ly5JNPxqxZs2L8+PFRUFAQ69at+8BzNm/eHBdffHHkcrk455xzYvXq1cM+JwDAewlf8tLd3R1VVVWxfPnyw1q/a9eumDlzZlxxxRXR2toaN954Y8yfPz+eeOKJYZ4UAGCgE0Z7AI4vn//85+Pzn//8Ya9fsWJFnHnmmbF06dKIiDj//PPjqaeeiv/8z/+Murq64RoTAOAgwpdh1dLSErW1tQOO1dXVxY033njIcw4cOBAHDhzo/7qvry9effXV+NjHPhYFBQXDNSrHqCzL4rXXXovx48dHYaG/pAJg6IQvw6q9vT3Ky8sHHCsvL4+urq54880346STTjronKamprjjjjtGakSOE7t3745PfOIToz0GAMcx4csxZ/HixdHQ0ND/dWdnZ5x++umxe/fuKC0tHcXJGA1dXV1RWVkZp5xyymiPAsBxTvgyrCoqKqKjo2PAsY6OjigtLR30bm9ERC6Xi1wud9Dx0tJS4Zswb3MB4Eh5wxzDqqamJpqbmwcc27RpU9TU1IzSRABAqoQveXn99dejtbU1WltbI+KdjytrbW2Ntra2iHjnbQpz5szpX3/dddfFzp0746abbornn38+7r///nj44Ydj4cKFozE+AJAw4Utenn766Zg8eXJMnjw5IiIaGhpi8uTJsWTJkoiIeOWVV/ojOCLizDPPjPXr18emTZuiqqoqli5dGg8++KCPMgMARlxBlmXZaA/xQbq6uqKsrCw6Ozu9xzNB9j9t9h8gTcPx+787vgAAJEH4AgCQBOELAEAShC8AAEkQvgAAJEH4AgCQBOELAEAShC8AAEkQvgAAJEH4AgCQBOELAEAShC8AAEkQvgAAJEH4AgCQBOELAEAShC8AAEkQvgAAJEH4AgCQBOELAEAShC8AAEkQvgAAJEH4AgCQBOELAEAShC8AAEkQvgAAJEH4AgCQBOELAEAShC8AAEkQvgAAJEH4AgCQBOELAEAShC8AAEkQvgAAJEH4AgCQBOELAEAShC8AAEkQvgAAJGFI4bt8+fKYOHFilJSURHV1dWzduvV91+/fvz8WLFgQ48aNi1wuF5/61Kdiw4YNQxqY0ZfP/q9evToKCgoGPEpKSkZwWgCAd+QdvmvXro2GhoZobGyM7du3R1VVVdTV1cWePXsGXd/T0xN/+7d/Gy+99FL85Cc/iRdeeCFWrlwZEyZMOOLhGXn57n9ERGlpabzyyiv9j5dffnkEJwYAeEfe4XvvvffGtddeG/PmzYsLLrggVqxYESeffHKsWrVq0PWrVq2KV199NdatWxeXXXZZTJw4MWbMmBFVVVVHPDwjL9/9j4goKCiIioqK/kd5efkITgwA8I68wrenpye2bdsWtbW1f32CwsKora2NlpaWQc/52c9+FjU1NbFgwYIoLy+PCy+8MO6+++7o7e095OscOHAgurq6BjwYfUPZ/4iI119/Pc4444yorKyML33pS/Gb3/zmfV/H/gMAwyGv8N23b1/09vYedMeuvLw82tvbBz1n586d8ZOf/CR6e3tjw4YNcfvtt8fSpUvjW9/61iFfp6mpKcrKyvoflZWV+YzJMBnK/p977rmxatWq+OlPfxo/+tGPoq+vL6ZPnx5/+MMfDvk69h8AGA7D/qkOfX19cdppp8UDDzwQU6ZMifr6+rj11ltjxYoVhzxn8eLF0dnZ2f/YvXv3cI/JMKmpqYk5c+bEpEmTYsaMGfHoo4/Gxz/+8fj+979/yHPsPwAwHE7IZ/HYsWOjqKgoOjo6Bhzv6OiIioqKQc8ZN25cnHjiiVFUVNR/7Pzzz4/29vbo6emJ4uLig87J5XKRy+XyGY0RMJT9f68TTzwxJk+eHC+++OIh19h/AGA45HXHt7i4OKZMmRLNzc39x/r6+qK5uTlqamoGPeeyyy6LF198Mfr6+vqP/e53v4tx48YNGr0cu4ay/+/V29sbzzzzTIwbN264xgQAGFTeb3VoaGiIlStXxg9/+MN47rnn4utf/3p0d3fHvHnzIiJizpw5sXjx4v71X//61+PVV1+NG264IX73u9/F+vXr4+67744FCxYcvatgxOS7/3feeWf8/Oc/j507d8b27dvj7//+7+Pll1+O+fPnj9YlAACJyuutDhER9fX1sXfv3liyZEm0t7fHpEmTYuPGjf3f8NTW1haFhX/t6crKynjiiSdi4cKF8ZnPfCYmTJgQN9xwQ9x8881H7yoYMfnu/5///Oe49tpro729PcaMGRNTpkyJLVu2xAUXXDBalwAAJKogy7JstIf4IF1dXVFWVhadnZ1RWlo62uMwwux/2uw/QJqG4/f/Yf9UBwAAOBYIXwAAkiB8AQBIgvAFACAJwhcAgCQIXwAAkiB8AQBIgvAFACAJwhcAgCQIXwAAkiB8AQBIgvAFACAJwhcAgCQIXwAAkiB8AQBIgvAFACAJwhcAgCQIXwAAkiB8AQBIgvAFACAJwhcAgCQIXwAAkiB8AQBIgvAFACAJwhcAgCQIXwAAkiB8AQBIgvAFACAJwhcAgCQIXwAAkiB8AQBIgvAFACAJwhcAgCQIXwAAkiB8AQBIgvAFACAJwhcAgCQIX/K2fPnymDhxYpSUlER1dXVs3br1fdc/8sgjcd5550VJSUlcdNFFsWHDhhGaFADgr4QveVm7dm00NDREY2NjbN++PaqqqqKuri727Nkz6PotW7bElVdeGddcc03s2LEjZs+eHbNnz45nn312hCcHAFJXkGVZNtpDfJCurq4oKyuLzs7OKC0tHe1xklZdXR2XXHJJ3HfffRER0dfXF5WVlXH99dfHokWLDlpfX18f3d3d8fjjj/cfu/TSS2PSpEmxYsWKw3pN+582+w+QpuH4/f+Eo/IsJKGnpye2bdsWixcv7j9WWFgYtbW10dLSMug5LS0t0dDQMOBYXV1drFu37pCvc+DAgThw4ED/152dnRHxzi8A0vPuvh8Hf0YH4BgnfDls+/bti97e3igvLx9wvLy8PJ5//vlBz2lvbx90fXt7+yFfp6mpKe64446DjldWVg5haj4s/vSnP0VZWdlojwHAcUz4csxZvHjxgLvE+/fvjzPOOCPa2tqSDJ+urq6orKyM3bt3J/lX/Z2dnXH66afHqaeeOtqjAHCcE74ctrFjx0ZRUVF0dHQMON7R0REVFRWDnlNRUZHX+oiIXC4XuVzuoONlZWVJht+7SktLk77+wkLfiwvAkfF/Eg5bcXFxTJkyJZqbm/uP9fX1RXNzc9TU1Ax6Tk1NzYD1ERGbNm065HoAgOHiji95aWhoiLlz58bUqVNj2rRpsWzZsuju7o558+ZFRMScOXNiwoQJ0dTUFBERN9xwQ8yYMSOWLl0aM2fOjDVr1sTTTz8dDzzwwGheBgCQIOFLXurr62Pv3r2xZMmSaG9vj0mTJsXGjRv7v4Gtra1twF9JT58+PR566KG47bbb4pZbbolPfvKTsW7durjwwgsP+zVzuVw0NjYO+vaHFLj+tK8fgKPH5/gCAHDMGY7+8x5fAACSIHwBAEiC8AUAIAnCFwCAJAhfjgnLly+PiRMnRklJSVRXV8fWrVvfd/0jjzwS5513XpSUlMRFF10UGzZsGKFJh0c+17969eooKCgY8CgpKRnBaY+eJ598MmbNmhXjx4+PgoKCWLdu3Qees3nz5rj44osjl8vFOeecE6tXrx72OQH4cBC+jLq1a9dGQ0NDNDY2xvbt26Oqqirq6upiz549g67fsmVLXHnllXHNNdfEjh07Yvbs2TF79ux49tlnR3jyoyPf649456e4vfLKK/2Pl19+eQQnPnq6u7ujqqoqli9ffljrd+3aFTNnzowrrrgiWltb48Ybb4z58+fHE088McyTAvBh4OPMGHXV1dVxySWXxH333RcR7/w0uMrKyrj++utj0aJFB62vr6+P7u7uePzxx/uPXXrppTFp0qRYsWLFiM19tOR7/atXr44bb7wx9u/fP8KTDq+CgoJ47LHHYvbs2Ydcc/PNN8f69esH/CHnK1/5Suzfvz82btw4AlMCMFJ8nBkfOj09PbFt27aora3tP1ZYWBi1tbXR0tIy6DktLS0D1kdE1NXVHXL9sWwo1x8R8frrr8cZZ5wRlZWV8aUvfSl+85vfjMS4o+7DtPcAjDzhy6jat29f9Pb29v/kt3eVl5dHe3v7oOe0t7fntf5YNpTrP/fcc2PVqlXx05/+NH70ox9FX19fTJ8+Pf7whz+MxMij6lB739XVFW+++eYoTQXA8cKPLIbjTE1NTdTU1PR/PX369Dj//PPj+9//ftx1112jOBkAHNvc8WVUjR07NoqKiqKjo2PA8Y6OjqioqBj0nIqKirzWH8uGcv3vdeKJJ8bkyZPjxRdfHI4RjymH2vvS0tI46aSTRmkqAI4XwpdRVVxcHFOmTInm5ub+Y319fdHc3Dzgrub/r6amZsD6iIhNmzYdcv2xbCjX/169vb3xzDPPxLhx44ZrzGPGh2nvARh53urAqGtoaIi5c+fG1KlTY9q0abFs2bLo7u6OefPmRUTEnDlzYsKECdHU1BQRETfccEPMmDEjli5dGjNnzow1a9bE008/HQ888MBoXsaQ5Xv9d955Z1x66aVxzjnnxP79++M//uM/4uWXX4758+eP5mUMyeuvvz7gTvWuXbuitbU1Tj311Dj99NNj8eLF8cc//jH+53/+JyIirrvuurjvvvvipptuin/8x3+MX/7yl/Hwww/H+vXrR+sSADiOCF9GXX19fezduzeWLFkS7e3tMWnSpNi4cWP/NzG1tbVFYeFf/3Ji+vTp8dBDD8Vtt90Wt9xyS3zyk5+MdevWxYUXXjhal3BE8r3+P//5z3HttddGe3t7jBkzJqZMmRJbtmyJCy64YLQuYciefvrpuOKKK/q/bmhoiIiIuXPnxurVq+OVV16Jtra2/n9+5plnxvr162PhwoXxX//1X/GJT3wiHnzwwairqxvx2QE4/vgcXwAAjjk+xxcAAIZI+AIAkAThCwBAEoQvAABJEL4AACRB+AIAkAThCwBAEoQvAABJEL4AACRB+AIAkAThCwBAEoQvAABJEL4AACRB+AIAkAThCwBAEoQvAABJEL4AACRB+AIAkAThCwBAEoQvAABJEL4AACRB+AIAkIQhhe/y5ctj4sSJUVJSEtXV1bF169bDOm/NmjVRUFAQs2fPHsrLAgDAkOUdvmvXro2GhoZobGyM7du3R1VVVdTV1cWePXve97yXXnop/uVf/iUuv/zyIQ8LAABDlXf43nvvvXHttdfGvHnz4oILLogVK1bEySefHKtWrTrkOb29vfHVr3417rjjjjjrrLOOaGAAABiKvMK3p6cntm3bFrW1tX99gsLCqK2tjZaWlkOed+edd8Zpp50W11xzzWG9zoEDB6Krq2vAAwAAjkRe4btv377o7e2N8vLyAcfLy8ujvb190HOeeuqp+MEPfhArV6487NdpamqKsrKy/kdlZWU+YwIAwEGG9VMdXnvttbj66qtj5cqVMXbs2MM+b/HixdHZ2dn/2L179zBOCQBACk7IZ/HYsWOjqKgoOjo6Bhzv6OiIioqKg9b//ve/j5deeilmzZrVf6yvr++dFz7hhHjhhRfi7LPPPui8XC4XuVwun9EAAOB95XXHt7i4OKZMmRLNzc39x/r6+qK5uTlqamoOWn/eeefFM888E62trf2PL37xi3HFFVdEa2urtzAAADBi8rrjGxHR0NAQc+fOjalTp8a0adNi2bJl0d3dHfPmzYuIiDlz5sSECROiqakpSkpK4sILLxxw/kc/+tGIiIOOAwDAcMo7fOvr62Pv3r2xZMmSaG9vj0mTJsXGjRv7v+Gtra0tCgv9QDgAAI4tBVmWZaM9xAfp6uqKsrKy6OzsjNLS0tEeBwCAYTYc/efWLAAASRC+AAAkQfgCAJAE4QsAQBKELwAASRC+AAAkQfgCAJAE4QsAQBKELwAASRC+AAAkQfgCAJAE4QsAQBKELwAASRC+AAAkQfgCAJAE4QsAQBKELwAASRC+AAAkQfgCAJAE4QsAQBKELwAASRC+AAAkQfgCAJAE4QsAQBKELwAASRC+AAAkQfgCAJAE4QsAQBKELwAASRC+AAAkQfgCAJAE4QsAQBKELwAASRC+AAAkQfgCAJAE4QsAQBKELwAASRC+AAAkQfgCAJAE4QsAQBKELwAASRC+AAAkQfgCAJAE4QsAQBKELwAASRC+AAAkQfgCAJAE4QsAQBKELwAASRC+AAAkQfgCAJAE4QsAQBKELwAASRC+AAAkQfgCAJAE4QsAQBKELwAASRC+AAAkQfgCAJAE4QsAQBKELwAASRC+AAAkQfgCAJAE4QsAQBKELwAASRC+AAAkQfgCAJAE4QsAQBKELwAASRC+AAAkQfgCAJAE4QsAQBKELwAASRC+AAAkQfgCAJAE4QsAQBKELwAASRC+AAAkQfgCAJAE4QsAQBKELwAASRC+AAAkQfgCAJAE4QsAQBKELwAASRhS+C5fvjwmTpwYJSUlUV1dHVu3bj3k2pUrV8bll18eY8aMiTFjxkRtbe37rgcAgOGQd/iuXbs2GhoaorGxMbZv3x5VVVVRV1cXe/bsGXT95s2b48orr4xf/epX0dLSEpWVlfG5z30u/vjHPx7x8AAAcLgKsizL8jmhuro6LrnkkrjvvvsiIqKvry8qKyvj+uuvj0WLFn3g+b29vTFmzJi47777Ys6cOYf1ml1dXVFWVhadnZ1RWlqaz7gAAByHhqP/8rrj29PTE9u2bYva2tq/PkFhYdTW1kZLS8thPccbb7wRb731Vpx66qmHXHPgwIHo6uoa8AAAgCORV/ju27cvent7o7y8fMDx8vLyaG9vP6znuPnmm2P8+PED4vm9mpqaoqysrP9RWVmZz5gAAHCQEf1Uh3vuuSfWrFkTjz32WJSUlBxy3eLFi6Ozs7P/sXv37hGcEgCAD6MT8lk8duzYKCoqio6OjgHHOzo6oqKi4n3P/c53vhP33HNP/OIXv4jPfOYz77s2l8tFLpfLZzQAAHhfed3xLS4ujilTpkRzc3P/sb6+vmhubo6amppDnvftb3877rrrrti4cWNMnTp16NMCAMAQ5XXHNyKioaEh5s6dG1OnTo1p06bFsmXLoru7O+bNmxcREXPmzIkJEyZEU1NTRET8+7//eyxZsiQeeuihmDhxYv97gT/ykY/ERz7ykaN4KQAAcGh5h299fX3s3bs3lixZEu3t7TFp0qTYuHFj/ze8tbW1RWHhX28kf+9734uenp74u7/7uwHP09jYGN/85jePbHoAADhMeX+O72jwOb4AAGkZ9c/xBQCA45XwBQAgCcIXAIAkCF8AAJIgfAEASILwBQAgCcIXAIAkCF8AAJIgfAEASILwBQAgCcIXAIAkCF8AAJIgfAEASILwBQAgCcIXAIAkCF8AAJIgfAEASILwBQAgCcIXAIAkCF8AAJIgfAEASILwBQAgCcIXAIAkCF8AAJIgfAEASILwBQAgCcIXAIAkCF8AAJIgfAEASILwBQAgCcIXAIAkCF8AAJIgfAEASILwBQAgCcIXAIAkCF8AAJIgfAEASILwBQAgCcIXAIAkCF8AAJIgfAEASILwBQAgCcIXAIAkCF8AAJIgfAEASILwBQAgCcIXAIAkCF8AAJIgfAEASILwBQAgCcIXAIAkCF8AAJIgfAEASILwBQAgCcIXAIAkCF8AAJIgfAEASILwBQAgCcIXAIAkCF8AAJIgfAEASILwBQAgCcIXAIAkCF8AAJIgfAEASILwBQAgCcIXAIAkCF8AAJIgfAEASILwBQAgCcIXAIAkCF8AAJIgfAEASILwBQAgCcIXAIAkCF8AAJIgfAEASILwBQAgCcIXAIAkCF8AAJIgfAEASILwBQAgCcIXAIAkCF8AAJIgfAEASMKQwnf58uUxceLEKCkpierq6ti6dev7rn/kkUfivPPOi5KSkrjoootiw4YNQxoWAACGKu/wXbt2bTQ0NERjY2Ns3749qqqqoq6uLvbs2TPo+i1btsSVV14Z11xzTezYsSNmz54ds2fPjmefffaIhwcAgMNVkGVZls8J1dXVcckll8R9990XERF9fX1RWVkZ119/fSxatOig9fX19dHd3R2PP/54/7FLL700Jk2aFCtWrDis1+zq6oqysrLo7OyM0tLSfMYFAOA4NBz9d0I+i3t6emLbtm2xePHi/mOFhYVRW1sbLS0tg57T0tISDQ0NA47V1dXFunXrDvk6Bw4ciAMHDvR/3dnZGRHv/AsAAODD793uy/Me7fvKK3z37dsXvb29UV5ePuB4eXl5PP/884Oe097ePuj69vb2Q75OU1NT3HHHHQcdr6yszGdcAACOc3/605+irKzsqDxXXuE7UhYvXjzgLvH+/fvjjDPOiLa2tqN24Rw/urq6orKyMnbv3u2tLgmy/2mz/2mz/2nr7OyM008/PU499dSj9px5he/YsWOjqKgoOjo6Bhzv6OiIioqKQc+pqKjIa31ERC6Xi1wud9DxsrIy/+EnrLS01P4nzP6nzf6nzf6nrbDw6H36bl7PVFxcHFOmTInm5ub+Y319fdHc3Bw1NTWDnlNTUzNgfUTEpk2bDrkeAACGQ95vdWhoaIi5c+fG1KlTY9q0abFs2bLo7u6OefPmRUTEnDlzYsKECdHU1BQRETfccEPMmDEjli5dGjNnzow1a9bE008/HQ888MDRvRIAAHgfeYdvfX197N27N5YsWRLt7e0xadKk2LhxY/83sLW1tQ24JT19+vR46KGH4rbbbotbbrklPvnJT8a6deviwgsvPOzXzOVy0djYOOjbH/jws/9ps/9ps/9ps/9pG479z/tzfAEA4Hh09N4tDAAAxzDhCwBAEoQvAABJEL4AACThmAnf5cuXx8SJE6OkpCSqq6tj69at77v+kUceifPOOy9KSkrioosuig0bNozQpAyHfPZ/5cqVcfnll8eYMWNizJgxUVtb+4H/vXBsy/fX/7vWrFkTBQUFMXv27OEdkGGV7/7v378/FixYEOPGjYtcLhef+tSn/D/gOJbv/i9btizOPffcOOmkk6KysjIWLlwYf/nLX0ZoWo6WJ598MmbNmhXjx4+PgoKCWLdu3Qees3nz5rj44osjl8vFOeecE6tXr87/hbNjwJo1a7Li4uJs1apV2W9+85vs2muvzT760Y9mHR0dg67/9a9/nRUVFWXf/va3s9/+9rfZbbfdlp144onZM888M8KTczTku/9XXXVVtnz58mzHjh3Zc889l/3DP/xDVlZWlv3hD38Y4ck5GvLd/3ft2rUrmzBhQnb55ZdnX/rSl0ZmWI66fPf/wIED2dSpU7MvfOEL2VNPPZXt2rUr27x5c9ba2jrCk3M05Lv/P/7xj7NcLpf9+Mc/znbt2pU98cQT2bhx47KFCxeO8OQcqQ0bNmS33npr9uijj2YRkT322GPvu37nzp3ZySefnDU0NGS//e1vs+9+97tZUVFRtnHjxrxe95gI32nTpmULFizo/7q3tzcbP3581tTUNOj6L3/5y9nMmTMHHKuurs7+6Z/+aVjnZHjku//v9fbbb2ennHJK9sMf/nC4RmQYDWX/33777Wz69OnZgw8+mM2dO1f4Hsfy3f/vfe972VlnnZX19PSM1IgMo3z3f8GCBdnf/M3fDDjW0NCQXXbZZcM6J8PrcML3pptuyj796U8POFZfX5/V1dXl9Vqj/laHnp6e2LZtW9TW1vYfKywsjNra2mhpaRn0nJaWlgHrIyLq6uoOuZ5j11D2/73eeOONeOutt+LUU08drjEZJkPd/zvvvDNOO+20uOaaa0ZiTIbJUPb/Zz/7WdTU1MSCBQuivLw8Lrzwwrj77rujt7d3pMbmKBnK/k+fPj22bdvW/3aInTt3xoYNG+ILX/jCiMzM6Dla7Zf3T2472vbt2xe9vb39P/ntXeXl5fH8888Pek57e/ug69vb24dtTobHUPb/vW6++eYYP378Qb8gOPYNZf+feuqp+MEPfhCtra0jMCHDaSj7v3PnzvjlL38ZX/3qV2PDhg3x4osvxje+8Y146623orGxcSTG5igZyv5fddVVsW/fvvjsZz8bWZbF22+/Hdddd13ccsstIzEyo+hQ7dfV1RVvvvlmnHTSSYf1PKN+xxeOxD333BNr1qyJxx57LEpKSkZ7HIbZa6+9FldffXWsXLkyxo4dO9rjMAr6+vritNNOiwceeCCmTJkS9fX1ceutt8aKFStGezRGwObNm+Puu++O+++/P7Zv3x6PPvporF+/Pu66667RHo3jxKjf8R07dmwUFRVFR0fHgOMdHR1RUVEx6DkVFRV5refYNZT9f9d3vvOduOeee+IXv/hFfOYznxnOMRkm+e7/73//+3jppZdi1qxZ/cf6+voiIuKEE06IF154Ic4+++zhHZqjZii//seNGxcnnnhiFBUV9R87//zzo729PXp6eqK4uHhYZ+boGcr+33777XH11VfH/PnzIyLioosuiu7u7vja174Wt956axQWup/3YXWo9istLT3su70Rx8Ad3+Li4pgyZUo0Nzf3H+vr64vm5uaoqakZ9JyampoB6yMiNm3adMj1HLuGsv8REd/+9rfjrrvuio0bN8bUqVNHYlSGQb77f95558UzzzwTra2t/Y8vfvGLccUVV0Rra2tUVlaO5PgcoaH8+r/sssvixRdf7P8DT0TE7373uxg3bpzoPc4MZf/feOONg+L23T8EvfM9UnxYHbX2y+/77obHmjVrslwul61evTr77W9/m33ta1/LPvrRj2bt7e1ZlmXZ1VdfnS1atKh//a9//evshBNOyL7zne9kzz33XNbY2OjjzI5j+e7/PffckxUXF2c/+clPsldeeaX/8dprr43WJXAE8t3/9/KpDse3fPe/ra0tO+WUU7J//ud/zl544YXs8ccfz0477bTsW9/61mhdAkcg3/1vbGzMTjnllOx///d/s507d2Y///nPs7PPPjv78pe/PFqXwBC99tpr2Y4dO7IdO3ZkEZHde++92Y4dO7KXX345y7IsW7RoUXb11Vf3r3/348z+9V//NXvuueey5cuXH78fZ5ZlWfbd7343O/3007Pi4uJs2rRp2f/93//1/7MZM2Zkc+fOHbD+4Ycfzj71qU9lxcXF2ac//els/fr1IzwxR1M++3/GGWdkEXHQo7GxceQH56jI99f//0/4Hv/y3f8tW7Zk1dXVWS6Xy84666zs3/7t37K33357hKfmaMln/996663sm9/8Znb22WdnJSUlWWVlZfaNb3wj+/Of/zzyg3NEfvWrXw36//J393vu3LnZjBkzDjpn0qRJWXFxcXbWWWdl//3f/5336xZkmb8bAADgw2/U3+MLAAAjQfgCAJAE4QsAQBKELwAASRC+AAAkQfgCAJAE4QsAQBKELwAASRC+AAAkQfgCAJAE4QsAQBKELwAASfh/7bTpWMlLc9UAAAAASUVORK5CYII=\n"},"metadata":{}}],"source":["import matplotlib.pyplot as plt\n","import numpy as np\n","\n","fig=plt.figure()\n","x = np.arange(0,1,0.2)\n","y = x\n","axes=fig.add_axes([0,0,1,1])\n","axes=fig.add_axes([0.2,0.5,.2,.2])\n","\n","\n","plt.show()"]},{"cell_type":"markdown","metadata":{"id":"SK8p_A2NST2l"},"source":["**Now plot (x,y) on both axes. And call your figure object to show it.**"]},{"cell_type":"code","execution_count":4,"metadata":{"id":"m_2gVMryST2m","outputId":"0a30e035-8adf-4529-d51e-af36e0f2fd93","colab":{"base_uri":"https://localhost:8080/","height":540},"executionInfo":{"status":"ok","timestamp":1764999876958,"user_tz":-330,"elapsed":582,"user":{"displayName":"Adiba Areej","userId":"02303988763299783222"}}},"outputs":[{"output_type":"display_data","data":{"text/plain":["
"],"image/png":"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\n"},"metadata":{}}],"source":["import matplotlib.pyplot as plt\n","import numpy as np\n","\n","fig=plt.figure()\n","x = np.arange(0,120,20)\n","y = x*2\n","ax1=fig.add_axes([0,0,1,1])\n","ax2=fig.add_axes([0.2,0.5,.2,.2])\n","\n","ax1.plot(x,y,color='maroon')\n","ax2.plot(x,y,color='maroon')\n","plt.show()\n"]},{"cell_type":"markdown","metadata":{"id":"hYaQZfbFST2n"},"source":["## Exercise 3\n","\n","**Create the plot below by adding two axes to a figure object at [0,0,1,1] and [0.2,0.5,.4,.4]**"]},{"cell_type":"code","execution_count":5,"metadata":{"id":"BuiYx0xbST2o","outputId":"5fcc1e78-10ab-4003-b005-7eaee801d39e","colab":{"base_uri":"https://localhost:8080/","height":546},"executionInfo":{"status":"ok","timestamp":1764999891143,"user_tz":-330,"elapsed":614,"user":{"displayName":"Adiba Areej","userId":"02303988763299783222"}}},"outputs":[{"output_type":"display_data","data":{"text/plain":["
"],"image/png":"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\n"},"metadata":{}}],"source":["import matplotlib.pyplot as plt\n","import numpy as np\n","\n","fig=plt.figure()\n","x = np.arange(0,1,0.2)\n","y = x\n","ax1=fig.add_axes([0,0,1,1])\n","ax2=fig.add_axes([0.2,0.5,.4,.4])\n","\n","\n","plt.show()"]},{"cell_type":"markdown","metadata":{"id":"SeRSiZDGST2o"},"source":["**Now use x,y, and z arrays to recreate the plot below. Notice the xlimits and y limits on the inserted plot:**"]},{"cell_type":"code","execution_count":13,"metadata":{"id":"jhy7t5AKST2p","outputId":"0a40ca35-76bc-45ce-cc72-e98fd0f3e247","colab":{"base_uri":"https://localhost:8080/","height":565},"executionInfo":{"status":"ok","timestamp":1765006659683,"user_tz":-330,"elapsed":1486,"user":{"displayName":"Adiba Areej","userId":"02303988763299783222"}}},"outputs":[{"output_type":"display_data","data":{"text/plain":["
"],"image/png":"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ZZm50ocOtbuikoGgDgAAAJcaMkTasME8dfSTT0zrC86PoA4AAACXWbBAeustszxtmhQebms5JQpBHQAAAC6xZ4/08MNmecAA6Z577K2npCGoAwAAoMjl5krdu0v790uNG0tjx9pdUclDUAcAAECRGztW+vZbqVw5adYsKSDA7opKHoI6AAAAitT330sjRpjlt9+W6tSxt56SiqAOAACAInPokNS1q2l96dJF6tnT7opKLoI6AAAAioRlSb16Sbt2SVddJU2eLPn42F1VyUVQBwAAQJGYOFGaN08qXVqaPVsKDLS7opKNoA4AAIDLtmGDNHiwWR47Vmra1NZyPAJBHQAAAJflyBHTj56dbeZKHzjQ7oo8A0EdAAAAl6VfPyk1VbriCmnqVPrSiwpBHQAAAJfs44+l6dMlX19p5kypShW7K/IcBHUAAABckm3bpD59zPLIkVLLlvbW42kI6gAAALhox49LnTtLR49Kd9whPfec3RV5HoI6AAAALtpTT5mZXqpUkWbMkPz87K7I87h1UM/NzdXw4cNVu3ZtlS1bVldffbVeeOEFWZbl3MeyLI0YMULVq1dX2bJlFR0drV9++aXAcQ4ePKi4uDgFBgYqODhYvXr10pEjRwrs89NPP+m2225TmTJlVLNmTY0bN65YzhHFb8yYMfLx8dHA025Jv+OOO+Tj41Pg9cQTT9hXJAAAbuw//5Hefdcsf/yxFB5ubz2eyq2D+tixYzVx4kS9/fbb2rJli8aOHatx48ZpwoQJzn3GjRun8ePHa9KkSVq9erXKly+vmJgYHT9+3LlPXFycNm/erKVLl2rBggVasWKFevfu7dzucDjUpk0b1apVSykpKXrllVc0atQovffee8V6vnC9tWvXavLkyWrYsOFZ2x577DHt3bvX+eIfawAAnO2338zTRyVpyBCpbVt76/Fkpewu4O98//336tChg9q3by9JuvLKK/Xpp59qzZo1ksxo+ptvvqnnn39eHTp0kCR99NFHCg0N1eeff64uXbpoy5YtWrx4sdauXaum/5t5f8KECbr77rv16quvKjw8XDNmzNCJEyf04Ycfyt/fX9dff702bNig119/vUCgR8l25MgRxcXFacqUKXrxxRfP2l6uXDmFhYXZUBkAACVDdrbpS3c4pJtvll54we6KPJtbj6jffPPNSkxM1LZt2yRJP/74o777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T1gRERHWsmXLrHXr1llRUVFWVFSUjVXDlU6f9cWyuP6ebM2aNVapUqWsl156yfrll1+sGTNmWOXKlbM++eQT5z5jxoyxgoODrS+++ML66aefrA4dOli1a9e2jh07ZmPlKAo9evSwrrjiCmvBggXWjh07rM8++8yqUqWK9eyzzzr34fp7lsOHD1s//PCD9cMPP1iSrNdff9364YcfrJ07d1qWdWHXu23bttYNN9xgrV692vruu++sa6+91uratetF1UFQLyITJkywIiIiLH9/f6tZs2bWqlWr7C4JRUxSoa+pU6c69zl27JjVt29fq1KlSla5cuWs++67z9q7d699RcOlzgzqXH/PNn/+fKt+/fpWQECAFRkZab333nsFtufl5VnDhw+3QkNDrYCAAKt169ZWamqqTdWiKDkcDmvAgAFWRESEVaZMGeuqq66ynnvuOSs7O9u5D9ffs3z77beF/p3fo0cPy7Iu7HofOHDA6tq1q1WhQgUrMDDQevjhh63Dhw9fVB0+lnXaY7UAAAAAuAV61AEAAAA3RFAHAAAA3BBBHQAAAHBDBHUAAADADRHUAQAAADdEUAcAAADcEEEdAAAAcEMEdQAAAMANEdQBAAAAN0RQBwBctNzcXN18883q1KlTgfWZmZmqWbOmnnvuOZsqAwDP4WNZlmV3EQCAkmfbtm1q3LixpkyZori4OEnSQw89pB9//FFr166Vv7+/zRUCQMlGUAcAXLLx48dr1KhR2rx5s9asWaMHHnhAa9euVaNGjewuDQBKPII6AOCSWZalVq1ayc/PTxs3blT//v31/PPP210WAHgEgjoA4LJs3bpVdevWVYMGDbR+/XqVKlXK7pIAwCNwMykA4LJ8+OGHKleunHbs2KE//vjD7nIAwGMwog4AuGTff/+9br/9dn399dd68cUXJUnffPONfHx8bK4MAEo+RtQBAJckKytLPXv2VJ8+fXTnnXfqgw8+0Jo1azRp0iS7SwMAj8CIOgDgkgwYMEBfffWVfvzxR5UrV06SNHnyZD399NPauHGjrrzySnsLBIASjqAOALhoSUlJat26tZYvX65bb721wLaYmBidPHmSFhgAuEwEdQAAAMAN0aMOAAAAuCGCOgAAAOCGCOoAAACAGyKoAwAAAG6IoA4AAAC4IYI6AAAA4IYI6gAAAIAbIqgDAAAAboigDgAAALghgjoAAADghgjqAAAAgBv6fyRBFAe2MUC/AAAAAElFTkSuQmCC\n"},"metadata":{}}],"source":["\n","import matplotlib.pyplot as plt\n","import numpy as np\n","\n","fig=plt.figure()\n","x1 = np.arange(0,100)\n","z = (x1)**2\n","x2=np.arange(20.0,22.5,0.5)\n","y=x2*2\n","\n","\n","ax1=fig.add_axes([0,0,1,1])\n","ax2=fig.add_axes([0.2,0.5,.4,.4])\n","\n","\n","\n","ax1.plot(x1,z,color='blue')\n","ax1.set_xlabel(\"X\")\n","ax1.set_ylabel(\"Z\")\n","ax2.set_ylim(30,50)\n","ax2.set_xlim(20,22)\n","ax1.set_ylim(0,10000)\n","ax1.set_xlim(0,100)\n","\n","\n","ax2.plot(x2,y,color='blue')\n","ax2.set_xlabel(\"X\")\n","ax2.set_ylabel(\"Y\")\n","ax2.set_title(\"zoom\")\n","\n","plt.show()\n"]},{"cell_type":"markdown","metadata":{"id":"TM6XOILJST2q"},"source":["## Exercise 4\n","\n","**Use plt.subplots(nrows=1, ncols=2) to create the plot below.**"]},{"cell_type":"code","execution_count":7,"metadata":{"id":"osk0Jco2ST2r","outputId":"dc740f24-5c4c-4a99-e639-83cbe0149675","colab":{"base_uri":"https://localhost:8080/","height":435},"executionInfo":{"status":"ok","timestamp":1764999922830,"user_tz":-330,"elapsed":516,"user":{"displayName":"Adiba Areej","userId":"02303988763299783222"}}},"outputs":[{"output_type":"display_data","data":{"text/plain":["
"],"image/png":"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ampqSs8880y67777UkVFRdq+ffvoDJzsjfE685vsjZGfe6x3x1jtjXERLvPmzUvLly/v/7i3tzdNmzYttbS0DHr+pz71qfSJT3xiwLH6+vr0X//1XyM65/+v2JmPd+zYsXTuueemH/7whyM14gmGM/OxY8fS5Zdfnr7//e+npUuXjvoCKnbm7373u2nmzJmpp6dntEY8QbEzL1++PH30ox8dcKypqSldccUVIzrnUE5mAX35y19OH/jABwYcW7RoUZo/f/4ITjaQvTE67I3Rk/PuGM29MeYvFfX09MTu3bujsbGx/1h5eXk0NjbGzp07B71m586dA86PiJg/f/6Q55facGY+3muvvRZvvPFGSd8x860Md+avfe1rMXny5LjhhhtGY8wBhjPzz3/+82hoaIjly5dHbW1tXHzxxbF27dro7e0dtzNffvnlsXv37v6nhPfv3x/btm2La665ZlRmHo4cH4M5znw8e+Pt5bg3Is6M3VGqx+CYvzv0aLzdfakNZ+bj3XbbbTFt2rQT/iOOlOHM/OSTT8aDDz4YbW1tozDhiYYz8/79++M3v/lNfPrTn45t27bFCy+8EJ/73OfijTfeiObm5nE58/XXXx+HDh2Kj3zkI5FSimPHjsUtt9wSX/nKV0Z83uEa6jHY1dUV//jHP+Lss88e0fu3N+yNoeS4NyLOjN1Rqr0x5s+4nInWrVsXmzdvjsceeyyqqqrGepxBHTlyJBYvXhybNm2KSZMmjfU4J62vry8mT54c3/ve92LOnDmxaNGiWL16dWzcuHGsRxvSjh07Yu3atfHAAw/Enj174tFHH42tW7fGXXfdNdajMY7YGyMnx70RcebujjF/xiXHt7sfzsxvuueee2LdunXx61//Oi699NKRHHOAYmd+8cUX4+WXX44FCxb0H+vr64uIiAkTJsRzzz0XF1xwwbiaOSJi6tSpcdZZZ0VFRUX/sfe9733R3t4ePT09UVlZOe5mvuOOO2Lx4sVx4403RkTEJZdcEkePHo2bb745Vq9eHeXl4+/7i6Eeg9XV1SP+bEuEvTFa7I3R2RsRZ8buKNXeGPOvKse3ux/OzBERd999d9x1112xffv2mDt37miM2q/YmS+66KJ4+umno62trf927bXXxtVXXx1tbW1RV1c37maOiLjiiivihRde6F+WERHPP/98TJ06dVSWz3Bmfu21105YMG8u0DRO30osx8dgjjNH2BsjPXPE2O+NiDNjd5TsMVjUj/KOkNF+u/uxmHndunWpsrIyPfLII+kvf/lL/+3IkSPjdubjjcVvBxQ784EDB9K5556b/vu//zs999xz6Re/+EWaPHly+vrXvz5uZ25ubk7nnntu+p//+Z+0f//+9Mtf/jJdcMEF6VOf+tSozXzkyJG0d+/etHfv3hQR6d5770179+5Nf/zjH1NKKa1cuTItXry4//w3f63xS1/6Utq3b1/asGHDmPw6tL0x/mY+nr0xcnOP9e4Yq70xLsIlpTzf7r6Ymd/97neniDjh1tzcPG5nPt5YLKCUip/5qaeeSvX19alQKKSZM2emb3zjG+nYsWPjduY33ngjffWrX00XXHBBqqqqSnV1delzn/tc+tvf/jZq8z7xxBOD/v/55pxLly5NV1111QnXzJ49O1VWVqaZM2emH/zgB6M275vsjfE38/HsjeLktDvGam+UpTQOn08CABjEmP+MCwDAyRIuAEA2hAsAkA3hAgBkQ7gAANkQLgBANoQLAJAN4QIAZEO4AADZEC4AQDaECwCQjf8DOu0CiLveMb4AAAAASUVORK5CYII=\n"},"metadata":{}}],"source":["import matplotlib.pyplot as plt\n","import numpy as np\n","\n","plt.figure()\n","x = np.arange(0,1,0.2)\n","y = x\n","plt.subplot(1,2,1)\n","\n","x = np.arange(0,1,0.2)\n","y = x\n","plt.subplot(1,2,2)\n","\n","\n","plt.show()"]},{"cell_type":"markdown","metadata":{"id":"QWwItNZVST2r"},"source":["**Now plot (x,y) and (x,z) on the axes. Play around with the linewidth and style**"]},{"cell_type":"code","execution_count":17,"metadata":{"id":"ZoEMYyLOST2r","outputId":"04266f2a-348b-42e6-f67e-848d8d06c59e","colab":{"base_uri":"https://localhost:8080/","height":430},"executionInfo":{"status":"ok","timestamp":1765007137522,"user_tz":-330,"elapsed":662,"user":{"displayName":"Adiba Areej","userId":"02303988763299783222"}}},"outputs":[{"output_type":"display_data","data":{"text/plain":["
"],"image/png":"iVBORw0KGgoAAAANSUhEUgAAAi0AAAGdCAYAAADey0OaAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjAsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvlHJYcgAAAAlwSFlzAAAPYQAAD2EBqD+naQAAWatJREFUeJzt3XlcVFX/B/DPoDKgsogKA4mGZi655FJEmWWSaD6WyVNqVJqkpWAqpUapqWUolpZ72yP1cyufXNLSRClNRVKK3IrUxy11sEJmBJX1/P44MTqKCzIzZ+7M5/16zYs7cw8zn5Hm9p1z7j1HJ4QQICIiInJyHqoDEBEREd0IFi1ERESkCSxaiIiISBNYtBAREZEmsGghIiIiTWDRQkRERJrAooWIiIg0gUULERERaUJ11QFuRllZGU6ePAkfHx/odDrVcYjckhACZ8+eRUhICDw8tPH9h8cOIrWqetzQZNFy8uRJhIaGqo5BRACOHz+OBg0aqI5xQ3jsIHION3vc0GTR4uPjA0C+aV9fX8VpiNyT2WxGaGio5fOoBTx2EKlV1eOGJouW8m5dX19fHniIFNPSMAuPHUTO4WaPG9oYiCYiIiK3x6KFiIiINIFFCxFd05YtW9CrVy+EhIRAp9Nh1apVVvuFEJgwYQKCg4Ph7e2NyMhIHDhwwKpNbm4uYmJi4OvrC39/f8TGxiI/P9+qze7du3H//ffDy8sLoaGhSE5OviLL8uXL0bx5c3h5eaF169b45ptvbP5+ich5sWghomsqKChA27ZtMXfu3Ar3v/fee5g1axYWLFiAjIwM1KpVC1FRUbhw4YKlTUxMDPbt24fU1FSsXbsWW7ZswZAhQyz7zWYzunXrhkaNGiEzMxPTp0/HxIkT8eGHH1rabN++Hf3790dsbCx+/vln9O7dG71798bevXvt9+aJyLkIDTKZTAKAMJlMqqMQuRUAYuXKlUKIi5/DoKAgMX36dEubvLw8odfrxdKlS4UQQuzfv18AEDt37rS0WbdundDpdOLEiRNCCCHmzZsn6tSpIwoLCy1txo4dK5o1a2a5/+STT4qePXta5QkPDxcvvPDCDefnsYNIrap+BtnTQkRVkpOTg8jISMt9Pz8/hIeHIz09HQCQnp4Of39/dOzY0dImMjISHh4eyMjIsLTp3LkzPD09LW2ioqKQnZ2NM2fOWNpc+jrlbcpfh4hcX6WKlqSkJNx1113w8fFBYGAgevfujezsbKs2Fy5cQFxcHOrWrYvatWsjOjoaOTk5Vm2OHTuGnj17ombNmggMDMTo0aNRUlJS9XdDREoEBQVdcd9oNAIAjEYjAgMDrfZXr14dAQEBVm0qeo7yfddqU76/IoWFhTCbzVY3ItKuShUtmzdvRlxcHHbs2IHU1FQUFxejW7duKCgosLQZNWoU1qxZg+XLl2Pz5s04efIk+vTpY9lfWlqKnj17oqioCNu3b8enn36KlJQUTJgwwXbviogI8ouWn5+f5cbZcIm0rVJFy/r16zFw4EDccccdaNu2LVJSUnDs2DFkZmYCAEwmEz755BPMmDEDDz30EDp06ICFCxdi+/bt2LFjBwBgw4YN2L9/PxYtWoQ777wTPXr0wJtvvom5c+eiqKjI9u+QiOzu8t7UnJwcGAwGAIDBYMDp06et9peUlCA3N9eqTUXPUb7vWm3K91ckMTERJpPJcjt+/PhNvDsichZVOqfFZDIBAAICAgAAmZmZKC4uthp3bt68ORo2bGg1vt26dWurbt6oqCiYzWbs27evwtdhFy+R8woKCsKmTZss981mMzIyMhAREQEAiIiIQF5enuXLDQCkpaWhrKwM4eHhljZbtmxBcXGxpU1qaiqaNWuGOnXqWNpc+jrlbcpfpyJ6vd4y+y1nwSXSvpsuWsrKyjBy5Ejcd999aNWqFQA55uzp6Ql/f3+rtpePb19v7Ppy7OIlUic/Px9ZWVnIysoCABw+fBhZWVmWXouhQ4firbfewldffYU9e/bg2WefRUhICHr37g0AaNGiBbp3747Bgwfjxx9/xLZt2xAfH49+/fohJCQEAPDUU0/B09MTsbGx2LdvHz7//HO8//77SEhIsOQYMWIE1q9fj3fffRe//fYbJk6ciF27diE+Pt6h/x5EpM5Nrz0UFxeHvXv3YuvWrbbMU6HExESrg1f5gktEZH+7du1Cly5dLPfLP4tPPfUUAGDkyJEoLS3FkCFDkJeXh06dOmH9+vXw8vKy/M7ixYsRHx+Prl27wsPDA9HR0Zg1a5Zlv5+fHzZs2IC4uDh06NAB9erVw4QJE6zmcrn33nuxZMkSjBs3Dq+99hqaNm2KVatWWb40EZHru6miJT4+3jJB1KVLSxsMBhQVFSEvL8+qt+Xy8e0ff/zR6vkuH7u+nF6vh16vv5moRFQJZWWAx2X9rw8++CCEEFe0NZvNWLJkCXQ6HSZPnozJkydf9XkDAgKwZMmSa752mzZt8MMPP1yzzRNPPIEnnnjimm2IyMFKSoC+fYGuXYFBg4BLvrDYWqWGh4QQiI+Px8qVK5GWloawsDCr/R06dECNGjWsxp2zs7Nx7Ngxq/HtPXv2WJ2Yl5qaCl9fX7Rs2bIq74WIquDsWeDOO4EPPpDFCxHRDdm6FVixApgwAah+0wM4N6RSzx4XF4clS5Zg9erV8PHxsZyD4ufnB29vb/j5+SE2NhYJCQkICAiAr68vhg8fjoiICNxzzz0AgG7duqFly5Z45plnkJycDKPRiHHjxiEuLo69KUQKTZ4M7NkDJCcDzz4LeHurTkREmvDVV/Lnv/7lXEXL/PnzAcju4kstXLgQAwcOBADMnDnTMmZdWFiIqKgozJs3z9K2WrVqWLt2LYYOHYqIiAjUqlULAwYMuGbXMhHZ1969wMyZcnvOHBYsRHSDhABWr5bbjz5q95fTiYoGq52c2WyGn58fTCYTL2EkqiIhgM6dZQ9vnz7Al1/e2O9p8XOoxcxETm3fPqBVK0CvB/76C6hd+5rNq/oZ5NpDRG7us89kwVKz5sXeFiKiG1I+NNS163ULFltg0ULkxnJzgdGj5fbEiUDDhkrjEJHWlA8NPfaYQ16ORQuRG6tZE4iLAzp0AEaOVJ2GiDTFaAT+WakdvXo55CVZtBC5MS8v4I035HGnRg3VaYhIU9askT/vvhsIDnbIS7JoIXJDpaVyPqhy1aqpy0JEGrVqlfzpoKEhgEULkVuaPx+4666LPbtERJWSnw+UTyT7zzpjjsCihcjNGI3A668DWVnATz+pTkNEmvTtt0BhIXDbbUCLFg57WRYtRG7mlVcAsxno2BG4ZD1CIqIbd+nQkE7nsJdl0ULkRr77Dli8WB5j5s/nuSxEdBOKi4Gvv5bbDjyfBWDRQuQ2ioqAYcPk9tChsqeFiKjStm4FzpwB6tUD7r3XoS/NooXITbz7LvDbb0BgIDBliuo0RKRZ5UNDvXo5vLuWRQuRGxBCDg0Bsnjx91cah4i0SoiLRYsDrxoqZ981pInIKeh0wPr1wNq1Dpu4kohc0c8/A8eOyem0H37Y4S/PooXITXh4OGTleCJyZeW9LN27A97eDn95Dg8RubBz54DJk4GzZ1UnISKXoHBoCGDRQuTSpkyRawv16KE6CRFp3qFDwJ498uTbnj2VRGDRQuSifvsNmD5dbo8erTYLEbmA8l6Wzp2BgAAlEVi0ELkgIeScLMXFwL/+5fD5n4jIFa1cKX8+/riyCCxaiFzQ0qXyEmdvb2DWLNVpiEjzcnKA7dvltqLzWQAWLUQuJy8PSEiQ2+PGAWFhSuMQkStYvVp24XbsCISGKovBooXIxUyeLL8UNWsGvPyy6jRE5BKcYGgI4DwtRC7n5ZeBEyfkCs56veo0RKR5JhOwaZPcZtFCRLZ0yy3A55+rTkFELmPdOnlWf7NmQIsWSqNweIjIRZw6pToBEbmkFSvkT8W9LACLFiKXcPo0cMcdwJNPyp5cIiKbuHAB+OYbud2nj9osYNFC5BLGjgXOnAEOHABq1VKdhohcRmoqUFAANGggrxxSjEULkcb98AOQkiJXcl6wAKjOM9WIyFbKh4b69JEHGcVYtBBpWHExMHSo3H7+eSA8XG0eInIhJSXAV1/JbScYGgJYtBBp2vvvA/v2AfXqAUlJqtMQkUvZsgXIzQXq1wc6dVKdBgCLFiLNOn4cmDhRbicnA3XrKo1DRK6mfGjo0Uflys5OgKPfRBr1xx9AnTrAnXcCAwaoTkNELqWs7GLREh2tNsslKt3TsmXLFvTq1QshISHQ6XRYVb5U9T90Ol2Ft+nTp1va3HrrrVfsnzp1apXfDJE7iYgAfv0VWLIE8GCfKRHZ0o4dcvInX1/goYdUp7GodE9LQUEB2rZti0GDBqFPBSfmnLpshqt169YhNjYW0ZdVapMnT8bgwYMt9318fCobhcjt1a4tb0RENlXey9Krl1OtB1LpoqVHjx7o0aPHVfcbDAar+6tXr0aXLl3QuHFjq8d9fHyuaEtE1zdjhvzyM2gQe1iIyA6EAL78Um47yVVD5ex6yMvJycHXX3+N2NjYK/ZNnToVdevWRbt27TB9+nSUlJTYMwqRSzhwAEhMBAYPlnM+ERHZ3M8/A0eOADVrAt27q05jxa4n4n766afw8fG5YhjppZdeQvv27REQEIDt27cjMTERp06dwowZMyp8nsLCQhQWFlrum81me8YmckpCAPHxQFEREBUFdOumOhERuaTyXpYePWTh4kTsWrT85z//QUxMDLy8vKweT0hIsGy3adMGnp6eeOGFF5CUlAR9BWNnSUlJmDRpkj2jEjm9//4X2LBBDi/PmeMUk1MSkatx4qEhwI7DQz/88AOys7Px/PPPX7dteHg4SkpKcOTIkQr3JyYmwmQyWW7Hjx+3cVoi53b2LDBypNweOxa47TalcYjIVe3fD2RnA56ewL/+pTrNFezW0/LJJ5+gQ4cOaNu27XXbZmVlwcPDA4GBgRXu1+v1FfbAELmLiROBkyeBJk2AV19VnYaIXNZ//yt/RkXJM/6dTKWLlvz8fBw8eNBy//Dhw8jKykJAQAAaNmwIQJ5zsnz5crz77rtX/H56ejoyMjLQpUsX+Pj4ID09HaNGjcLTTz+NOnXqVOGtELmmU6eA2bPl9pw5gLe32jxE5MLKixYnmlDuUpUuWnbt2oUuXbpY7pefnzJgwACkpKQAAJYtWwYhBPr373/F7+v1eixbtgwTJ05EYWEhwsLCMGrUKKvzXIjoouBguZLzmjVOdyI/EbmS7Gxg7165VPyjj6pOUyGdEEKoDlFZZrMZfn5+MJlM8HXC7isid6DFz6EWMxM5zNtvA6+/LoeG1q+3y0tU9TPIqamInFRurpyXhYjIIZx8aAhg0ULktF59FWjVCvjwQ9VJiMjlHTokJ5WrVg14/HHVaa6KqzwTOaEdO4CPPpLbLVuqzUJEbqC8l6VLF6BePbVZroE9LUROpqQEGDpUbj/3HNCpk9o8ROQGli+XP//9b7U5roNFC5GTmTcPyMoC6tQBpk1TnYaIXN7hw0BmplyB1YmHhgAWLURO5dQpYNw4uT11KlC/vto8ROQGyoeGHngAuMokr86CRQuRE0lIkFP23303cAMrYBARVZ1GhoYAFi1ETkMIoHVroHZtYP582VNLRGRXR44AO3fKFVidcIHEy/GwSOQkdDrgtdeA48eB9u1VpyEit3Dp0JDBoDbLDWDRQuQELp2X2t9fWQwicjflQ0NPPKE2xw1i0UKk2P/+B9xzD7B1q+okRORWjhwBfvxRjkVrYGgIYNFCpJQQwPDh8rgxcaLqNETkVsqHhjp31sTQEMCihUip1auBb74BatQA5sxRnebmlJaWYvz48QgLC4O3tzeaNGmCN998E5euxSqEwIQJExAcHAxvb29ERkbiwGULK+Xm5iImJga+vr7w9/dHbGws8vPzrdrs3r0b999/P7y8vBAaGork5GSHvEcil1Q+NPTkk2pzVAKLFiJFCgqAl16S26NHA82bq81zs2bOnIn58+djzpw5+PXXXzFt2jQkJydj9uzZljbJycmYNWsWFixYgIyMDNSqVQtRUVG4cOGCpU1MTAz27duH1NRUrF27Flu2bMGQIUMs+81mM7p164ZGjRohMzMT06dPx8SJE/EhF2ciqrzDhzU3NAQAEBpkMpkEAGEymVRHIbppY8cKAQjRqJEQBQWq01Re+ecwKipKDBo0yGpfnz59RExMjBBCiLKyMmEwGMT06dMt+/Py8oRerxdLly4VQgixf/9+AUDs3LnT0mbdunVCp9OJEydOCCGEmDdvnqhTp44oLCy0tBk7dqxo1qxZpTPz2EFub9o0eQB66CGHvmxVP4PsaSFSYP9+4N135fbs2UDNmmrzVMXdd9+NTZs24ffffwcA/PLLL9i6dSt69OgBADh8+DCMRiMiIyMtv+Pn54fw8HCkp6cDANLT0+Hv74+OHTta2kRGRsLDwwMZGRmWNp07d4anp6elTVRUFLKzs3HmzJkKsxUWFsJsNlvdiAjAF1/InxoaGgK4yjOREgsXyoURH3sM6NVLdZqqSUhIQFFREZo3b45q1aqhtLQUU6ZMQUxMDADAaDQCAIKCgqx+LygoyLLPaDQi8LLpw6tXr46AgACrNmFhYVc8R/m+OnXqXJEtKSkJkyZNssG7JHIhBw/KtYaqVdPW0BBYtBApkZwMtGkjT9rXuhUrVmDx4sVYsmQJ7rjjDmRlZWHkyJEICQnBgAEDlGZLTExEQkKC5b7ZbEZoaKjCREROoPwE3Ice0twCZyxaiBTQ6YBnnlGdwjYmTJiAxMRE9OvXDwDQunVrHD16FElJSRgwYAAM/1xKmZOTg+DgYMvv5eTk4M477wQAGAwGnD592up5S0pKkJuba/l9g8GAnJwcqzbl9w1XuVxTr9dDr9dX/U0SuZLPP5c/+/ZVm+Mm8JwWIgf6738BVzut4ty5c/C4bKGkatWqoaysDAAQFhYGg8GATZs2WfabzWZkZGQgIiICABAREYG8vDxkZmZa2qSlpaGsrAzh4eGWNlu2bEFxcbGlTWpqKpo1a1bh0BARVSA7G/jlF6B6daB3b9VpKo1FC5GD7Nolz3lr3hzIzVWdxnZ69OiBKVOm4Ouvv8aRI0ewcuVKzJgxA48//jgAQKfTYeTIkXjrrbfw1VdfYc+ePXj22WcREhKC3v8cNFu0aIHu3btj8ODB+PHHH7Ft2zbEx8ejX79+CAkJAQA89dRT8PT0RGxsLPbt24fPP/8c77//vtXwDxFdR3kvy8MPA3Xrqs1yM2x8NZND8LJF0pqSEiE6dpRXGP5zJbDmlX8O//jjDzFixAjRsGFD4eXlJRo3bixef/11q0uTy8rKxPjx40VQUJDQ6/Wia9euIjs72+r5/v77b9G/f39Ru3Zt4evrK5577jlx9uxZqza//PKL6NSpk9Dr9eKWW24RU6dOvanMPHaQWyorE6JFC3kgSklREqGqn0GdEJcu1aYNZrMZfn5+MJlM8PX1VR2H6LrmzQPi4gA/P+C33zQzY/Y1afFzqMXMRDazZ4+8AsDTEzh9Wh6QHKyqn0EODxHZWU4O8NprcnvKFNcoWIhIg8qHhnr0UFKw2AKLFiI7Gz0aMJmA9u2BF19UnYaI3JIQwLJlcluDVw2VY9FCZEebNwP/93/yEuf58+VcTkREDpeZCRw6BHh7a3pGS87TQmRHzZvL+Vhq1wbuvlt1GiJyW+W9LL16yQOSRrFoIbKjoCDgs8+Af6YsISJyvLKyi+ez9O+vNksVcXiIyA4uXLC+78FPGhGpsm0b8McfgK8v0L276jRVwkMpkR307y/XITt+XHUSInJ75UNDffoAXl5qs1QRixYiG1u7Fli1ClizRl41RESkTEnJxQUS/1kfTMtYtBDZ0LlzwPDhcnvkSKBVK6VxiMjdbdoE/PknUK8e0LWr6jRVVumiZcuWLejVqxdCQkKg0+mwatUqq/0DBw6ETqezunW/bAwtNzcXMTEx8PX1hb+/P2JjY5Gfn1+lN0LkDJKSgCNHgAYNgDfeUJ2GiNze0qXy55NPykUSNa7SRUtBQQHatm2LuXPnXrVN9+7dcerUKcttafk/2j9iYmKwb98+pKamYu3atdiyZQuGDBlS+fRETuT334HkZLn9/vuavqqQiFzB+fPAihVyW+NXDZWrdNnVo0cP9OjR45pt9Ho9DFeZq/zXX3/F+vXrsXPnTnTs2BEAMHv2bDzyyCN45513LCu6EmmJEMCwYUBRkZwh+58FjomI1PnmG+DsWaBhQ+Dee1WnsQm7nNPy/fffIzAwEM2aNcPQoUPx999/W/alp6fD39/fUrAAQGRkJDw8PJCRkVHh8xUWFsJsNlvdiJyJ0Sgnm9Trgdmz5Qy4RERKlY9y9OvnMvMu2PxddO/eHZ999hk2bdqEadOmYfPmzejRowdKS0sBAEajEYGBgVa/U716dQQEBMBoNFb4nElJSfDz87PcQkNDbR2bqEqCg4F9++QXmyZNVKchIrdnNstLGQGXGRoC7DAjbr9LLqlq3bo12rRpgyZNmuD7779H15s8czkxMREJCQmW+2azmYULOZ2aNYGHHlKdgogI8lyWwkK5lkjbtqrT2Izd+4saN26MevXq4eDBgwAAg8GA06dPW7UpKSlBbm7uVc+D0ev18PX1tboROYOsLLkQ4j8diUREzmHJEvkzJsalxqvtXrT88ccf+PvvvxEcHAwAiIiIQF5eHjIzMy1t0tLSUFZWhvDwcHvHIbKZsjJg6FB5Au6ECarTEBH9w2iU87MAwFNPqc1iY5UeHsrPz7f0mgDA4cOHkZWVhYCAAAQEBGDSpEmIjo6GwWDAoUOHMGbMGNx2222IiooCALRo0QLdu3fH4MGDsWDBAhQXFyM+Ph79+vXjlUOkKf/5D7BjB+DjA8TFqU5DRPSPzz+X36ruuQdo3Fh1GpuqdE/Lrl270K5dO7Rr1w4AkJCQgHbt2mHChAmoVq0adu/ejUcffRS33347YmNj0aFDB/zwww/Q6/WW51i8eDGaN2+Orl274pFHHkGnTp3w4Ycf2u5dEdnZX38BY8fK7cmTAdbbROQ0Fi+WP12slwUAdEIIoTpEZZnNZvj5+cFkMvH8FlIiNlb2tLRpA2RmusREk5Wmxc+hFjMTVcqBA8DttwPVqgEnTgBBQaoTWanqZ9A1LtwmcqBt22TBAsiTcN2xYCEiJ1XeyxIZ6XQFiy2waCGqBCEuLogYG+syk0wSkSsQ4mLR8vTTarPYCYsWokrQ6YCPPgK6dwemTlWdhojoEjt3AgcPykmjevdWncYu2LFNVEkdOgDr1qlOQUR0mUWL5M/evV12xVb2tBDdoBMnVCcgIrqKkhJ5qTPgskNDAIsWohuyYQMQFgaMH686CRFRBVJTgdOngfr1gYcfVp3Gbli0EF3HhQtAfDxQXCxXeScicjrlQ0P9+7v0JY0sWoiuY/p0OfVBcLCcSI6IyKmcPQusXCm3XXhoCGDRQnRNhw4BU6bI7ZkzAc5HRkROZ8UK4Px5oFkzoGNH1WnsikUL0VUIIYeFCgvlPE1PPqk6ERFRBcqHhp5+2qVWdK4Iixaiq1i5Eli/HvD0BObOdfljARFp0YkTF1d0jolRm8UBXPdsHaIqys2VczQlJMilPIiInM6SJbJbuFMneYmji2PRQnQVzz8PdOsmryAkInI6QgCffSa3n31WbRYHYdFCdA0NG6pOQER0Fb/8AuzdC+j1wBNPqE7jEDynhegSQgCDBgFpaaqTEBFdR3kvy6OPAv7+SqM4CosWokt89hmwcKE8BuTmqk5DRHQVJSUXV3R2k6EhgEULkUVuLjB6tNyeMAEICFCbh4joqjZsuDhtf1SU6jQOw6KF6B+vvQb8+SfQsiUwcqTqNERE1/Dpp/Jn//5AjRpqszgQixYiABkZwIcfyu358+XcLERETikvD1i9Wm4PGKA0iqOxaCG3V1oKDB0qT8J99lmgc2fViYiIruGLL+RU3a1aAe3aqU7jUCxayO2tWgX8/DPg5wckJ6tOQ0R0HeVDQwMGuN1U3Zynhdxenz7AsmVAcTEQFKQ6DRHRNRw4AGzfDnh4uMW0/Zdj0UJuT6cD+vZVnYKI6AaUz83SrRsQHKw2iwIcHiK3tW8fcOaM6hRERDeorOzi0NDAgUqjqMKihdxSUREQHQ00awbs2KE6DRHRDfjuO+D4cXkC3mOPqU6jBIsWckvvvgtkZ8uhoebNVachIroBKSnyZ//+gJeX0iiqsGght3PkCPDmm3L7nXfcZskOItIysxn48ku57aZDQwCLFnJDI0YA588DDzwAPP206jRERDdg+XJ54GreHLj7btVplGHRQm7lq6/krXp1YN48t5vigIi0auFC+XPgQLc+cLFoIbdx7hzw0kty++WX5RpDREROLzsb2LZNzs3yzDOq0yjFooXcRlER0LUr0KgRMH686jRERDeo/ATc7t2BkBClUVSrdNGyZcsW9OrVCyEhIdDpdFi1apVlX3FxMcaOHYvWrVujVq1aCAkJwbPPPouTJ09aPcett94KnU5ndZs6dWqV3wzRtfj7A598AuzeDdSqpToNEdENKC29OKHcc8+pzeIEKl20FBQUoG3btpg7d+4V+86dO4effvoJ48ePx08//YQVK1YgOzsbjz766BVtJ0+ejFOnTlluw4cPv7l3QHQdQshbOV9fdVmIiCplwwbg5Emgbl2gVy/VaZSr9DT+PXr0QI8ePSrc5+fnh9TUVKvH5syZg7vvvhvHjh1Dw4YNLY/7+PjAYDBU9uWJKm3pUmDJEmDWLKBxY9VpiIgq4T//kT9jYgC9Xm0WJ2D3c1pMJhN0Oh38L5sMY+rUqahbty7atWuH6dOno6Sk5KrPUVhYCLPZbHUjuhEmE5CQAHz9tSxeiIg046+/gNWr5fagQWqzOAm7Lph44cIFjB07Fv3794fvJX3yL730Etq3b4+AgABs374diYmJOHXqFGbMmFHh8yQlJWHSpEn2jEouavx4ICcHuP124JVXVKchIqqERYvk8vPt2wNt26pO4xTsVrQUFxfjySefhBAC8+fPt9qXkJBg2W7Tpg08PT3xwgsvICkpCfoKur8SExOtfsdsNiM0NNRe0clF/PQTUH7q1dy57FklIg0R4uLQUGys2ixOxC5FS3nBcvToUaSlpVn1slQkPDwcJSUlOHLkCJo1a3bFfr1eX2ExQ3Q1paXA0KFyUdR+/YDISNWJiIgqYdcuYM8eucbQU0+pTuM0bH5OS3nBcuDAAWzcuBF169a97u9kZWXBw8MDgYGBto5Dburjj4EffwR8fICrjDqSDZ04cQJPP/006tatC29vb7Ru3Rq7du2y7BdCYMKECQgODoa3tzciIyNx4MABq+fIzc1FTEwMfH194e/vj9jYWOTn51u12b17N+6//354eXkhNDQUycnJDnl/RA5X3svSpw8XSLtEpXta8vPzcfDgQcv9w4cPIysrCwEBAQgODsa///1v/PTTT1i7di1KS0thNBoBAAEBAfD09ER6ejoyMjLQpUsX+Pj4ID09HaNGjcLTTz+NOnXq2O6dkdsSQs7HAgBvvQUEB6vN4+rOnDmDBx54AF26dMG6detQv359HDhwwOrznJycjFmzZuHTTz9FWFgYxo8fj6ioKOzfvx9e/6xWGxMTg1OnTiE1NRXFxcV47rnnMGTIECxZsgSAHBbu1q0bIiMjsWDBAuzZsweDBg2Cv78/hgwZouS9E9nFuXPykkeAQ0OXE5X03XffCQBX3AYMGCAOHz5c4T4A4rvvvhNCCJGZmSnCw8OFn5+f8PLyEi1atBBvv/22uHDhwg1nMJlMAoAwmUyVjU9u4vx5IebMEaK4WHUS11X+ORw5cqTo1KnTVduVlZUJg8Egpk+fbnksLy9P6PV6sXTpUiGEEPv37xcAxM6dOy1t1q1bJ3Q6nThx4oQQQoh58+aJOnXqiMLCQkubsWPHimbNmlU6M48d5NQ+/VROL9W4sRClparT2FRVP4OV7ml58MEHIS6dqevKIuiav9++fXvs2LGjsi9LVCleXkBcnOoU7mHdunXo0aMHnnjiCWzevBm33HILhg0bhsGDBwOQvbFGoxGRl5xY5Ofnh/DwcKSnp6Nfv35IT0+Hv78/OnbsaGkTGRkJDw8PZGRk4PHHH0d6ejo6d+4MT09PS5uoqChMmzYNZ86cqbCntrCwEIWFhZb7nC6BNOHjj+XP2Fi53hBZ8F+DXEZxsVyi4xpT/pAdHDlyBPPnz0fTpk3x7bffYujQoXjppZfw6aefAoBliDgoKMjq94KCgiz7jEbjFee0Va9eHQEBAVZtKnqOS1/jcklJSfDz87PceNUhOb3sbOCHH2SxMmCA6jROh0ULuYz335dLc/TsqTqJeykrK0P79u3x9ttvo127dhgyZAgGDx6MBQsWqI6GxMREmEwmy+348eOqIxFdW/kJeY88Atxyi9osTohFC7mE48eBiRPldt++SqO4HYPBgJYtW1o91qJFCxw7dsyyHwBycnKs2uTk5Fj2GQwGnD592mp/SUkJcnNzrdpU9ByXvsbl9Ho9fH19rW5ETquo6OKKzjwBt0IsWsgljBoFFBQA990HDByoOo17CQ8PR3Z2ttVjv//+Oxo1agQACAsLg8FgwKZNmyz7zWYzMjIyEBERAQCIiIhAXl4eMjMzLW3S0tJQVlaG8PBwS5stW7aguLjY0iY1NRXNmjXjlYfkGr76CvjzT8BgYJfx1dj0tGAH4RUAdKlvvpEn2lerJsQvv6hO4z7KP4dpaWmievXqYsqUKeLAgQNi8eLFombNmmLRokWWtlOnThX+/v5i9erVYvfu3eKxxx4TYWFh4vz585Y23bt3F+3atRMZGRli69atomnTpqJ///6W/Xl5eSIoKEg888wzYu/evWLZsmWiZs2a4oMPPqh0Zh47yCl16yYPZomJqpPYTVU/gyxaSNPOnZNXBQJCjBqlOo17ufRzuGbNGtGqVSuh1+tF8+bNxYcffmjVtqysTIwfP14EBQUJvV4vunbtKrKzs63a/P3336J///6idu3awtfXVzz33HPi7NmzVm1++eUX0alTJ6HX68Utt9wipk6detOZiZzK4cNC6HTyYHbokOo0dlPVz6BOiOtco+yEzGYz/Pz8YDKZOEbt5iZOBCZNkuer/fqrnAGXHEOLn0MtZiY3MX68nA0zMhJITVWdxm6q+hnkOS2kaX36APfeC7z3HgsWItKokpKL0/b/M78RVcxuqzwTOUKbNnJKA51OdRIiopv0zTfAyZNA/fpA796q0zg19rSQJp0/f3Hbw4NFCxFp2AcfyJ8DBwKXzPhMV2LRQppjNgMtWgCjR8t1xYiINOvYMWDdOrnNoaHrYtFCmjNxInD0KLByJXtYiEjjPv5YLk3/0ENA06aq0zg9Fi2kKbt3A7Nmye3ZswFvb7V5iIhuWknJxWn7hwxRm0UjWLSQZpSVAUOHAqWlQHQ00KOH6kRERFWwdi1PwK0kFi2kGSkpwPbtQK1a8hJnIiJNK19UdNAgQK9Xm0UjWLSQJvz9NzBmjNyeOBFo0EBpHCKiqvnf/4ANG+Q2h4ZuGIsW0oSsLLkAaqtWwIgRqtMQEVXRRx/JE3CjooDGjVWn0QxOLkea0LUr8NtvsselRg3VaYiIqqCo6OIMuC++qDaLxrBoIc0ICZE3IiJNW7ECOH1aLpr2r3+pTqMpHB4ip7Zo0cVhXyIilzBvnvw5eDBQnX0HlcGihZzWyZPAsGFyyJeFCxG5hL175YJp1aoBzz+vOo3msGghp/Xyy8DZs8Ddd8vV2omINK/8MufHHpPDQ1QpLFrIKW3cCCxbJhdDnD9f/iQi0rT8fOCzz+T20KFqs2gU/1dATqewEIiLk9txcUD79mrzEBHZxKJFsvu4aVO51hBVGosWcjrTpwO//w4EBQFvvqk6DRGRDQgBzJ0rt4cNY/fxTeK/GjmVU6eAKVPk9owZgJ+f2jxERDaxdas8CbdmTWDgQNVpNIvXWpFTMRiAxYuBVauA/v1VpyEispHyXpaYGMDfX2kULWPRQk5FpwP69JE3IiKXYDQCX34pt4cNU5tF4zg8RE6hoAD46y/VKYiI7ODDD4GSEuDee4E771SdRtNYtJBTmDwZaN4cWL5cdRIiIhsqKro4N8vw4WqzuAAOD5Fy+/bJk25LSgAvL9VpiIhsaOVKeYWBwcBxbxtgTwspJYSci6WkBHj0UaBXL9WJiIhsaM4c+fOFFwBPT7VZXECli5YtW7agV69eCAkJgU6nw6pVq6z2CyEwYcIEBAcHw9vbG5GRkThw4IBVm9zcXMTExMDX1xf+/v6IjY1Ffn5+ld4IadOiRcDmzYC3N/D++6rTEBHZUFaWvNS5enVgyBDVaVxCpYuWgoICtG3bFnPLL9+6THJyMmbNmoUFCxYgIyMDtWrVQlRUFC5cuGBpExMTg3379iE1NRVr167Fli1bMIR/ULdz5gzwyitye/x44NZblcYhIrKt2bPlz+hoICREbRZXIaoAgFi5cqXlfllZmTAYDGL69OmWx/Ly8oRerxdLly4VQgixf/9+AUDs3LnT0mbdunVCp9OJEydO3NDrmkwmAUCYTKaqxCfFhg0TAhCieXMhCgtVp6HK0uLnUIuZSaP+/FMIvV4e5LZtU53GaVT1M2jTc1oOHz4Mo9GIyEuW5PXz80N4eDjS09MBAOnp6fD390fHjh0tbSIjI+Hh4YGMjIwKn7ewsBBms9nqRtomhPyp0wHz5nGol4hczMcfy4XUOnQAIiJUp3EZNi1ajEYjACAoKMjq8aCgIMs+o9GIwMBAq/3Vq1dHQECApc3lkpKS4OfnZ7mFhobaMjYpoNPJCSIPHAC6dFGdhojIhkpKLs6A+9JL8oBHNqGJq4cSExNhMpkst+PHj6uORDbSpInqBERENrZqFfDHH0D9+kDfvqrTuBSbFi0GgwEAkJOTY/V4Tk6OZZ/BYMDp06et9peUlCA3N9fS5nJ6vR6+vr5WN9KmnBzg3/+WPSxERC7pvffkzxdfBPR6pVFcjU2LlrCwMBgMBmzatMnymNlsRkZGBiL+GdOLiIhAXl4eMjMzLW3S0tJQVlaG8PBwW8YhJzR6tFyCg4ucEpFLyswEtm0DatQAhg5VncblVHpG3Pz8fBw8eNBy//Dhw8jKykJAQAAaNmyIkSNH4q233kLTpk0RFhaG8ePHIyQkBL179wYAtGjRAt27d8fgwYOxYMECFBcXIz4+Hv369UMILwlzaZs3A//3f3J4d+ZM1WmIiOygfMKpJ58EgoPVZnFBlS5adu3ahS6XnDmZkJAAABgwYABSUlIwZswYFBQUYMiQIcjLy0OnTp2wfv16eF0yP/vixYsRHx+Prl27wsPDA9HR0Zg1a5YN3g45q6Kii4ubvvACcPfdavMQEdmc0QgsWya3R4xQm8VF6YQov/hUO8xmM/z8/GAymXh+i0ZMmwa8+qo8Ly07G6hTR3Uiqiotfg61mJk0ZMIE4M035SXO27erTuOUqvoZ1MTVQ6RtR4/KVZwBYPp0FixE5ILOnwfmz5fbo0apzeLCWLSQ3b3zDnDuHHD//cCzz6pOQ0RkB0uWAH/9BTRqBDz+uOo0LqvS57QQVdY778hV2R97jHMsEZELEuLi1QXDh8sFEsku+C9LdqfXA6+/rjoFEZGdbNwI7NsH1K4NPP+86jQujcNDZDfbtgHFxapTEBHZ2bvvyp+DBgF+fmqzuDgWLWQX2dnAQw8B7dsDubmq0xAR2cnevcC33wIeHrzM2QFYtJDNCQHEx8u5WUJDebUQEbmw8nNZHn8caNxYbRY3wKKFbO7zz+UQr14PzJ7Nk2+JyEUZjcCiRXL7n4lWyb5YtJBNmUwXpyh47TWu4kxELmzuXNmlfM89wL33qk7jFli0kE298Yb88tG0KTBmjOo0RER2UlAAzJsnt9nL4jAsWshmsrLkcBAAzJkDXLLcFBGRa0lJkVcZNG4M9OmjOo3b4DwtZDM1a8pZb4OCgG7dVKchIrKT0lJgxgy5nZAAVKumNo8bYdFCNnP77cB338kp+4mIXNaqVcD//gcEBAADB6pO41Y4PERVduk64TodUKuWuixERHYlhFy2HgCGDeMBz8FYtFCVvfCCnFPJZFKdhIjIzrZsAXbulHM6DB+uOo3b4fAQVcm2bcBHH8ntvn151R8RubjkZPnzueeAwEC1WdwQe1roppWUAEOHyu3YWBYsROTi9u4FvvlGTtn/8suq07glFi1002bPBvbskeeiTZ2qOg0RkZ1Nny5/RkcDt92mNoubYtFCN+WPP4AJE+T2tGlAvXpq8xAR2dXRo8CSJXKbM2cqw6KFbkpCApCfL2evHjRIdRoiIjubMUOOiXftCnTsqDqN22LRQpV26hSQmiqHdefPlz+JiFzWX39dvOLg1VfVZnFz/N8NVVpwMPDbb3Jx0zvvVJ2GnM3UqVOh0+kwcuRIy2MXLlxAXFwc6tati9q1ayM6Oho5OTlWv3fs2DH07NkTNWvWRGBgIEaPHo2SkhKrNt9//z3at28PvV6P2267DSkpKQ54R+T2Zs8Gzp8H2reXPS2kDIsWuilBQUD//qpTkLPZuXMnPvjgA7Rp08bq8VGjRmHNmjVYvnw5Nm/ejJMnT6LPJeu1lJaWomfPnigqKsL27dvx6aefIiUlBRPKT5wCcPjwYfTs2RNdunRBVlYWRo4cieeffx7ffvutw94fuaGzZ4FZs+T2q6/KGTRJHaFBJpNJABAmk0l1FLdy8KAQa9eqTkHO4vLP4dmzZ0XTpk1FamqqeOCBB8SIESOEEELk5eWJGjVqiOXLl1t+99dffxUARHp6uhBCiG+++UZ4eHgIo9FoaTN//nzh6+srCgsLhRBCjBkzRtxxxx1WGfr27SuioqJuOjPRdU2fLgQgxO23C1FSojqN5lX1M8ieFrohQgDx8cC//gVMmaI6DTmjuLg49OzZE5GRkVaPZ2Zmori42Orx5s2bo2HDhkhPTwcApKeno3Xr1ggKCrK0iYqKgtlsxr59+yxtLn/uqKgoy3NUpLCwEGaz2epGdMMuXADefVduv/oqF0Z0ApwRl27IypXA+vWApyfwxBOq05CzWbZsGX766Sfs3Lnzin1GoxGenp7w9/e3ejwoKAhGo9HS5tKCpXx/+b5rtTGbzTh//jy8vb2veO2kpCRMmjTppt8XubmUFMBoBBo0AGJiVKch8JwWugH5+XJtIUBOT3D77WrzkHP5448/MGLECCxevBheXl6q41hJTEyEyWSy3I4fP646EmlFcfHFhRFfeUV+YyPlWLTQdU2aJCeTCwsDXntNdRpyNllZWTh9+jTat2+P6tWro3r16ti8eTNmzZqF6tWrIygoCEVFRcjLy7P6vZycHBgMBgCAwWC44mqi8vvXa+Pr61thLwsA6PV6+Pr6Wt2IbsjSpcCRI0D9+sDgwarT0D9YtNA17d0LzJwpt+fMAa7y/wZyYw888AD27NmDrKwsy61jx46IiYmxbNeoUQObNm2y/E52djaOHTuGiIgIAEBERAT27NmD06dPW9qkpqbC19cXLVu2tLS59DnK25Q/B5HNlJYCSUly++WXgZo11eYhC57TQlclhFwQsbQUePxx4JFHVCciZ+Tj44NbbrnF6rFatWqhbt26aNWqFQAgNjYWCQkJCAgIgK+vL4YPH46IiAjcc889AIBu3bqhZcuWeOaZZ5CcnAyj0Yhx48YhLi4Oer0eAPDiiy9izpw5GDNmDAYNGoS0tDR88cUX+Prrrx37hsn1rVghJ6OqU+fiqrDkFFi00FXpdPIcljNngPfeU52GtGzmzJnw8PBAdHQ0CgsLERUVhXnz5ln2V6tWDWvXrsXQoUMRERGBWrVqYcCAAZg8ebKlTVhYGL7++muMGjUK77//Pho0aICPP/4YUVFRKt4SuaqysouXSI4YAXBI0anohBDClk9466234ujRo1c8PmzYMMydOxcPPvggNm/ebLXvhRdewIIFC274NcxmM/z8/GAymThG7QBCcD4lupIWP4dazEwOtno10Ls34OMjz2kJCFCdyKVU9TNo856WnTt3orS01HJ/7969ePjhh/HEJdfJDh482OobVE2OFzqdggKgVi25zYKFiNyCEMCbb8rt+HgWLE7I5ifi1q9fHwaDwXJbu3YtmjRpggceeMDSpmbNmlZt+I3HuWRkAA0bApXo/CIi0r5164DMTPmNLSFBdRqqgF2vHioqKsKiRYswaNAg6C75ur548WLUq1cPrVq1QmJiIs6dO3fN5+Gslo5TWirPO8vNBa4x0SgRkWsRAigfARg6FKhXT20eqpBdT8RdtWoV8vLyMHDgQMtjTz31FBo1aoSQkBDs3r0bY8eORXZ2NlasWHHV5+Gslo4zfz7w88+Avz+QnKw6DRGRg2zYILuZvb3lZHLklGx+Iu6loqKi4OnpiTVr1ly1TVpaGrp27YqDBw+iSZMmFbYpLCxEYWGh5b7ZbEZoaChPprMxoxFo1gwwm4F583ilH12bFk9q1WJmcgAhgHvvBXbskMNC5esNkc053Ym45Y4ePYqNGzdeswcFAMLDwwHgmkWLXq+3zNVA9vPyy7Jg6dgRGDJEdRoiIgfZsEEWLN7ewOjRqtPQNdjtnJaFCxciMDAQPXv2vGa7rKwsAEBwcLC9otANSEsDliyRVwrNn8/FTInITQgBTJwot4cOBf5ZNoKck116WsrKyrBw4UIMGDAA1atffIlDhw5hyZIleOSRR1C3bl3s3r0bo0aNQufOndGmTRt7RKEbIASwaxfg4SE/sx07qk5EROQg69ezl0VD7FK0bNy4EceOHcOgQYOsHvf09MTGjRvx3nvvoaCgAKGhoYiOjsa4cePsEYNuUPnMt5GRQOPGqtMQETmIEMCECXJ72DD2smiAXYqWbt26oaLze0NDQ6+YDZecR/v2qhMQETnQ2rWym7lmTfnNjZweV3l2c5MmAb/+qjoFEZGDCQG88YbcHj4cCAxUm4duCIsWN7ZmjTz/rGNHOZkcEZHbWLlSTkpVuzbnZdEQFi1u6tw54KWX5Pbw4Vxig4jcSGkpMH683B41irPfagiLFjc1ZYpcwLRhw4ufXSIit7BsGbB/v5z6m2sMaQqLFjf022/A9Olye9asi6s5ExG5vOLii/OyjBkjCxfSDBYtbkYIIC5Ofm579gQefVR1IiIiB0pJAQ4eBOrXl2PjpCksWtzM6tVy9lsvL2D2bDlHCxGRWzh/Xl4yCQCvvy5PwiVNsesqz+R8evaUqzdXqwaEhalOQ0TkQPPnAydOAKGhwAsvqE5DN4FFi5upUYMzVRORGzKbgbffltsTJ8ruZtIcDg+5iT/+AIqKVKcgIlLk3XeBv/8GmjUDnn1WdRq6SSxa3EBZGRAdDbRtC/zyi+o0REQOlpMjixZAzvdQnYMMWsW/nBv4+GPgxx8BHx/OVE1Ebuitt4CCAuCuu4A+fVSnoSpgT4uLO30aePVVuf3mm0BwsNo8REQO9b//AR98ILenTuUlkxrHosXFjR0LnDkD3HmnnJ+FiMitvP66nJiqWzfgoYdUp6EqYtHiwrZulfMoAfJKPw7jEpFb2bVLTtmv0wHTpqlOQzbAosVFFRcDQ4fK7eefB+65R20eIiKHEkJ2NQPA00/L7mbSPBYtLiovDzAY5OKlU6eqTkNE5GDr18vpvz095Ql95BI4YOCi6tcHNmwAjh4F6tZVnYaIyIFKSi7Oojl8ONCokdo8ZDPsaXFhOh1w662qUxAROVhKCrBvHxAQIE/EJZfBosXFrF8vz2U5c0Z1EiIiBfLzgfHj5faECUCdOmrzkE1xeMiFnD8vL2v+3//kF4wpU1QnIiJysOnTAaMRaNLk4tUI5DLY0+JCpk2TBUtIyMUJ5YiI3MYff8iiBZAHRE9PtXnI5li0uIgDBy5eJTRzppyyn4jIrSQmyi7nzp05Xb+LYtHiAoSQJ8gXFspJH594QnUiIiIH27kTWLRIbs+Ywen6XRSLFhfw5ZfAt98Cej0wdy4/q0TkZoQARo6U288+C3TooDQO2Q+LFo0T4uK8SWPHArfdpjYPEZHDLVsGbN8O1KoFvP226jRkR7x6SON0OmDjRuCdd3jyLRG5oYICYMwYuZ2YCNxyi9o8ZFcsWlxA/fpcC4yI3FRysrxqqFEjICFBdRqyMw4PaVRZmVxWQwjVSYiIFDl8+OI3tnfeAby91eYhu2PRolEpKUDXrkD//qqTEBEp8sor8rLJLl2A6GjVacgBWLRo0N9/XxzCvesutVmIiJTYuBFYsQKoVg14/31eNukmbF60TJw4ETqdzurWvHlzy/4LFy4gLi4OdevWRe3atREdHY2cnBxbx3BpiYmycGnVCnjpJdVpiIgcrKhITk4FAMOGAa1bq81DDmOXnpY77rgDp06dsty2bt1q2Tdq1CisWbMGy5cvx+bNm3Hy5En04cyFN2zHDuCjj+T2vHlAjRpq8xAROdz77wO//SavQpg8WXUaciC7XD1UvXp1GAyGKx43mUz45JNPsGTJEjz00EMAgIULF6JFixbYsWMH7rnnHnvEcRklJcCLL8rtgQOB++9XGoeIyPFOnAAmTZLb06YB/v5K45Bj2aWn5cCBAwgJCUHjxo0RExODY8eOAQAyMzNRXFyMyMhIS9vmzZujYcOGSE9Pt0cUlzJ3LvDLL3Kl9eRk1WmIiBR45RU5N8s99wADBqhOQw5m856W8PBwpKSkoFmzZjh16hQmTZqE+++/H3v37oXRaISnpyf8L6uMg4KCYDQar/qchYWFKCwstNw3m822jq0JLVvK1dbHjJG9okREbmXjRjn7rYeH/BbnwWtJ3I3Ni5YePXpYttu0aYPw8HA0atQIX3zxBbxv8hr6pKQkTCrvDnRjDz8M7N3L1daJyA0VFgJxcXI7Lg5o315tHlLC7mWqv78/br/9dhw8eBAGgwFFRUXIy8uzapOTk1PhOTDlEhMTYTKZLLfjx4/bObVzuXQCOS8vfrkgIjf0zjvA778DQUEXF1wjt2P3//3l5+fj0KFDCA4ORocOHVCjRg1s2rTJsj87OxvHjh1DRETEVZ9Dr9fD19fX6uYuCguB8HBg1ix5Ii4Rkds5dAh46y25PWMG4OenNg8pY/PhoVdeeQW9evVCo0aNcPLkSbzxxhuoVq0a+vfvDz8/P8TGxiIhIQEBAQHw9fXF8OHDERERwSuHruKdd4CdO4Fjx+Q5Z/ysEpFbEULOxXLhAhAZyWnA3ZzNi5Y//vgD/fv3x99//4369eujU6dO2LFjB+r/c+bozJkz4eHhgejoaBQWFiIqKgrz5s2zdQyXcPgwv1wQkZtbtgzYsAHQ64H58znzrZvTCaG9JffMZjP8/PxgMplcdqhICODRR4G1a+WyGps28bNKzkWLn0MtZnZrublAixbA6dPyPJZx41Qnoiqq6meQp3Q6qa++kgVLjRryyj4WLETkdl55RRYsLVoAo0erTkNOgEWLEyoouLim0OjR8vNKRORW0tKAhQvl9kcfyeEhcnssWpzQ99/LmaobNQJef111GiIiBzt3DnjhBbk9dChw331q85DTsMvaQ1Q1PXsCP/0E5OUBNWuqTkNE5GATJwIHDwK33AIkJalOQ06ERYuTatNGdQIiIgV27QLefVduz5/PyybJCoeHnMi33wJ79qhOQUSkSFERMGgQUFYm52Pp1Ut1InIyLFqcRF4e8OyzQLt28vwzIq149913cdddd8HHxweBgYHo3bs3srOzrdpcuHABcXFxqFu3LmrXro3o6Gjk5ORYtTl27Bh69uyJmjVrIjAwEKNHj0bJZdNAf//992jfvj30ej1uu+02pKSk2PvtkSNNmSK/udWrB7z/vuo05IRYtDiJcePklX1NmwKdOqlOQ3Tjtm3bhri4OOzYsQOpqakoLi5Gt27dUFBQYGkzatQorFmzBsuXL8fmzZtx8uRJ9OnTx7K/tLQUPXv2RFFREbZv345PP/0UKSkpmDBhgqXN4cOH0bNnT3Tp0gVZWVkYOXIknn/+eXz77bcOfb9kJz//DLz9ttyeO5dL2VPFhAaZTCYBQJhMJtVRbGLnTiF0OiEAIdLSVKchujFX+xyePn1aABCbN28WQgiRl5cnatSoIZYvX25p8+uvvwoAIj09XQghxDfffCM8PDyE0Wi0tJk/f77w9fUVhYWFQgghxowZI+644w6r1+rbt6+IioqqcmZSrLBQiLZt5UEwOlqIsjLVichOqvoZZE+LYqWl8oo+IYCYGDn7LZGWmUwmAEBAQAAAIDMzE8XFxYiMjLS0ad68ORo2bIj09HQAQHp6Olq3bo2goCBLm6ioKJjNZuzbt8/S5tLnKG9T/hwVKSwshNlstrqRE3rrLeCXX4C6dTmbJl0TixbFPvxQnizv5ycXRyTSsrKyMowcORL33XcfWrVqBQAwGo3w9PSEv7+/VdugoCAYjUZLm0sLlvL95fuu1cZsNuP8+fMV5klKSoKfn5/lFhoaWuX3SDa2c+fFYaH584HL/sZEl2LRotDp00Biotx+6y3AYFCbh6iq4uLisHfvXixbtkx1FABAYmIiTCaT5Xb8+HHVkehS58/L5etLS4F+/YAnnlCdiJwcixaFAgKASZPkkNDQoarTEFVNfHw81q5di++++w4NGjSwPG4wGFBUVIS8vDyr9jk5OTD8U6kbDIYrriYqv3+9Nr6+vvD29q4wk16vh6+vr9WNnMhrrwG//iq/sc2ZozoNaQCLFoWqVwdGjJArOFerpjoN0c0RQiA+Ph4rV65EWloawsLCrPZ36NABNWrUwKZNmyyPZWdn49ixY4iIiAAAREREYM+ePTh9+rSlTWpqKnx9fdGyZUtLm0ufo7xN+XOQxmzaBLz3ntz+z3/k+SxE18EZcRUoLpa9oV5e8j7POSMte/nll/Hf//4Xq1evho+Pj+UcFD8/P3h7e8PPzw+xsbFISEhAQEAAfH19MXz4cEREROCee+4BAHTr1g0tW7bEM888g+TkZBiNRowbNw5xcXHQ/7NQ3osvvog5c+ZgzJgxGDRoENLS0vDFF1/g66+/Vvbe6SadOQMMHCi3X3wR6NFDaRzSENtezOQYWr9scdo0IZo2FWLTJtVJiG5e+efwareFCxda2p4/f14MGzZM1KlTR9SsWVM8/vjj4tSpU1bPd+TIEdGjRw/h7e0t6tWrJ15++WVRXFxs1ea7774Td955p/D09BSNGze2eo3KZNbqscMllJUJ8eST8vLm224TIj9fdSJyoKp+BnVCCKGqYLpZZrMZfn5+MJlMmhujPnYMaNFCLmKakiLPQSPSIi1+DrWY2eV8+qnsZaleHdi+HbjrLtWJyIGq+hnkOS0ONnKkLFjuv19O209E5DYOHQLi4+X2pEksWKjSWLQ40NdfAytXyi8Y8+bxXBYiciNFRXIRxPx8+a1t7FjViUiDWLQ4yPnzwPDhcnvUKOCfebeIiNzDuHFyIrk6dYDFi3nJJN0UFi0OkpQEHD4MNGgAXLIGHBGR6/v2W2D6dLn9yScAZyamm8SixQGEAPbuldvvvQfUrq00DhGR45w8CTzzjNweOhR4/HG1eUjTOE+LA+h0wJdfAlu3Ap06qU5DROQgpaXAU08Bf/4JtG0LzJihOhFpHIsWB9Hp5LlnRERuY+JEYPNm2b38xRcXZ9QkukkcHrIjsxlISAD+/lt1EiIiB1u3Tq4EC8jl7G+/XW0ecgksWuxowgRg5kzgX/9SnYSIyIGOHgWeflpuDxsmL3UmsgEWLXaSlQXMni23J01SGoWIyHEuXACio4HcXKBjR57HQjbFosUOysrkl4uyMuDJJ4Fu3VQnIiJykPh4IDNTrtr83/8C/yx4SWQLLFrsYOFCID1dnnvGLxlE5DY+/FDOw+LhASxdCjRqpDoRuRgWLTb211/AmDFy+803gVtuUZuHiMghtm27uK7QW28BDz+sNg+5JBYtNvbmm3Iot02bi59fIiKXduKEPI+luBj497+BV19VnYhcFOdpsbE33gAKC+UKztX5r0tEru78eaB3byAnB2jdWo6PczVYshOb97QkJSXhrrvugo+PDwIDA9G7d29kZ2dbtXnwwQeh0+msbi+++KKtoygREAAsWADce6/qJEREdiYEMGgQsGuXPPF21SquU0J2ZfOiZfPmzYiLi8OOHTuQmpqK4uJidOvWDQUFBVbtBg8ejFOnTlluycnJto7iUAcPys8vEZHbeOstYNky2a385ZdA48aqE5GLs/kAxvr1663up6SkIDAwEJmZmejcubPl8Zo1a8JgMNj65ZU4cQJo1072rixbJldeJyJyaZ9/fnHJ+rlzgQceUJuH3ILdT8Q1mUwAgICAAKvHFy9ejHr16qFVq1ZITEzEuXPnrvochYWFMJvNVjdnkpAA5OfLafv9/FSnISKysx07gAED5PaoUcCQIWrzkNuw66miZWVlGDlyJO677z60atXK8vhTTz2FRo0aISQkBLt378bYsWORnZ2NFStWVPg8SUlJmOSk08pu2CDXAfPwAObPlz+JiFzWoUNAr17yioNevYDp01UnIjeiE8J+Z2IMHToU69atw9atW9GgQYOrtktLS0PXrl1x8OBBNGnS5Ir9hYWFKCwstNw3m80IDQ2FyWSCr6+vXbLfiAsX5KXNBw4AI0fKdYaI3IXZbIafn5/yz2FlaDGzU/nrLzkOfuAA0L79xRWciW5QVT+DdutpiY+Px9q1a7Fly5ZrFiwAEB4eDgBXLVr0ej30TjgV9PTp8rMbHMz1hYjIxZ07J3tWDhyQM91+/TULFnI4mxctQggMHz4cK1euxPfff4+wsLDr/k5WVhYAIDg42NZx7ObQIWDKFLk9cybAL21E5LJKSoC+feW5LHXqAOvWAS5yIQVpi82Llri4OCxZsgSrV6+Gj48PjEYjAMDPzw/e3t44dOgQlixZgkceeQR169bF7t27MWrUKHTu3Blt2rSxdRy7OXMGuPVWIDRULopIROSShJAn2q5dC3h5AWvWAC1aqE5FbsrmRcv8+fMByAnkLrVw4UIMHDgQnp6e2LhxI9577z0UFBQgNDQU0dHRGDdunK2j2FXHjsAvvwB5eZz8kYhclBDA6NFyllsPDzmnw333qU5Fbswuw0PXEhoais2bN9v6ZZXQ64GgINUpiIjsJCkJePdduf3xx8Bjj6nNQ26PF+hW0sSJwDvvyHXBiIhc1vvvA6+/LrdnzACee05tHiJwwcRK2btXnnxbUgLceScQGak6ERGRHXz8sZzHAZCz3o4apTQOUTn2tNwgIYBhw2TB0rs3CxYiclELF16c4faVV2T3MpGTYNFygz77DPjhB6BmTdlrSkTkcj77DIiNld/S4uOB5GReaUBOhUXLDThzRp5ADwBvvAE0bKg2DxGRzS1cCAwcKAuWoUOBWbNYsJDTYdFyA157DfjzT6Bly4vDvERELuPDD4FBg2TB8uKLwJw5LFjIKbFouY5Tp+QXEACYNw/w9FSbh4jIpmbOBF54QW6/9JI80HHlV3JSvHroOoKDgZ9+kstsPPCA6jRERDYiBDB58sUTbUePBqZNYw8LOTUWLTegZUt5IyJyCWVlsldl7lx5/6235Dg4CxZycixarsJolEND7dqpTkJEZEOFhcCAAcDnn8siZdYseaUQkQZw4PIqXnlFri80a5bqJERENnLmDBAVJQuWGjWAJUtYsJCmsKelAt99ByxeLL+E3Huv6jRERDZw5AjQsyewfz/g4wN8+SXw8MOqUxFVCouWyxQVyZlvATlVQceOavMQEVVZerpc7PDPP4GQEOCbb4C2bVWnIqo0Dg9dZsYM4LffgMBAuc4QEZGm/d//AV26yILlzjuBjAwWLKRZLFouceSIvAIQkKux+/urTENEVAUlJcDLLwPPPitPvn30UbkWSYMGqpMR3TQWLZcYMQI4f17OxxITozoNEdFNOn0a6NZNdh0DwLhxwMqVQO3aanMRVRGLln8IIU+qr19fTgjJ6QqISJO2bwfat5dXFNSqBSxfDrz5Jme5JZfA/4r/odPJE3CPHuVEckSkQWVlckbbzp2BEyeA5s2BnTuBf/9bdTIim+HVQ5Cf9fIvId7earMQEVXaqVNyheYNG+T9/v2BDz6QlzYTuRC372n59VfZs7J2reokREQ3YeVKoHVrWbB4ewMffSQnmmLBQi7IrYsWIYC4OCA7G1iwQHUaIqJKOHMGeOYZoE8f4O+/5eXMmZnA88/zpDxyWW5dtCxdKs9V8/ICZs9WnYaI6AatWCG7iBctkmPbr74K7NgBtGihOhmRXbntOS0mk5zCAABefx0IC1Obh4jouo4fl3MzrFwp7zdrBqSkAPfcozQWkaO4bU/L+PFyJedmzYDRo1WnISK6hqIiYPp02ZOyciVQrZr8tpWVxYKF3Ipb9rT89BMwd67cnjsX0OvV5iEiqpAQ8iqBl18GDhyQj913HzB/vjz5lsjNuGVPy5dfysuc+/UDunZVnYaIqAIZGcCDD8rp9w8cAAwGORS0ZQsLFnJbbtnTMmWK7FHlCs5E5HSysoAJE4A1a+R9Ly9g5Ejgtdd4GTO5PbcsWgCgVy/VCYiILpGeLr9Rff21vO/hIRc7nDwZCA1Vm43ISbjV8NAnn8h1xIiInEJJCfDf/wL33itvX38t51jp1w/Yvx9YuJAFC9El3Kan5Ycf5JxLAQFyeDggQHUiInJbx47JguSjj+Q6QQDg6Qk8/TQwdixw++1q8xE5KbcoWoqL5WKIABAdzYKFiBQwm+XlyosXAxs3yiuDALm0/AsvyOm5DQa1GYmcnNLhoblz5+LWW2+Fl5cXwsPD8eOPP9rldd5/H9i7F6hXD0hKsstLEJGDOOq4YROnTslx6V69gMBAuahhaqosWLp0kQXM8ePAm2+yYCG6Acp6Wj7//HMkJCRgwYIFCA8Px3vvvYeoqChkZ2cjMDDQZq9z/DgwcaLcnjYNqFvXZk9NRA7mqOPGTfvzT2D7dmDzZiAtDfjlF+v9LVrIFZhjYoDGjdVkJNIwnRDlfZSOFR4ejrvuugtz5swBAJSVlSE0NBTDhw/Hq6++es3fNZvN8PPzg8lkgq+v7zXb/vvfcl6W++6T0xt4uNWpx0T2U5nPoa1U5bgB2DBzfj5w+DDw++/yhNndu+Wslf/7n3U7nU7OrfDoo0Dv3sAdd3AxQ3JrVf0MKulpKSoqQmZmJhITEy2PeXh4IDIyEunp6Ve0LywsRGFhoeW+2Wy+odf59ltZsFSrBsybx4KFSMsqe9wAbvLYYTTKbtniYnl1z/nzwNmzclXlP/8ETp6U21fTogXwwAPyFhkpx6WJyCaUFC1//fUXSktLERQUZPV4UFAQfvvttyvaJyUlYdKkSZV+nXvuAYYPl3MztWlz03GJyAlU9rgB3OSxw2QC3nvv+u38/eXiZc2ayQNM27ayV8Xfv3KvR0Q3TBNXDyUmJiIhIcFy32w2I/QG5i7w8wNmzbp4kj4RuZebOnbUqwckJgLVq8ubtzdQu7YsRurXlyfMhobKAwwROZSSoqVevXqoVq0acnJyrB7PycmBoYIz6PV6PfRVWNWQQ8hE2lfZ4wZwk8eOunWBt9++2ZhEZEdKzvLw9PREhw4dsGnTJstjZWVl2LRpEyIiIlREIiInx+MGESkbHkpISMCAAQPQsWNH3H333XjvvfdQUFCA5557TlUkInJyPG4QuTdlRUvfvn3x559/YsKECTAajbjzzjuxfv36K06yIyIqx+MGkXtTNk9LVaiYH4KIrGnxc6jFzESupKqfQc5cQkRERJrAooWIiIg0gUULERERaQKLFiIiItIEFi1ERESkCSxaiIiISBNYtBAREZEmsGghIiIiTWDRQkRERJqgbBr/qiifxNdsNitOQuS+yj9/WppUm8cOIrWqetzQZNFy9uxZAEBoaKjiJER09uxZ+Pn5qY5xQ3jsIHION3vc0OTaQ2VlZTh58iR8fHyg0+mu2s5sNiM0NBTHjx93iXVG+H6cmyu9nxt5L0IInD17FiEhIfDw0MZIM48d2n8/rvReAPd7P1U9bmiyp8XDwwMNGjS44fa+vr4u8R9DOb4f5+ZK7+d670UrPSzleOxwnffjSu8FcK/3U5Xjhja+HhEREZHbY9FCREREmuDSRYter8cbb7wBvV6vOopN8P04N1d6P670Xm6Gq71/V3o/rvReAL6fytLkibhERETkfly6p4WIiIhcB4sWIiIi0gQWLURERKQJLFqIiIhIE1y6aJk7dy5uvfVWeHl5ITw8HD/++KPqSNeVlJSEu+66Cz4+PggMDETv3r2RnZ1t1ebBBx+ETqezur344ouKEl/bxIkTr8javHlzy/4LFy4gLi4OdevWRe3atREdHY2cnByFia/t1ltvveL96HQ6xMXFAXD+v82WLVvQq1cvhISEQKfTYdWqVVb7hRCYMGECgoOD4e3tjcjISBw4cMCqTW5uLmJiYuDr6wt/f3/ExsYiPz/fge/CvrR43AB47OCxw36c6bjhskXL559/joSEBLzxxhv46aef0LZtW0RFReH06dOqo13T5s2bERcXhx07diA1NRXFxcXo1q0bCgoKrNoNHjwYp06dstySk5MVJb6+O+64wyrr1q1bLftGjRqFNWvWYPny5di8eTNOnjyJPn36KEx7bTt37rR6L6mpqQCAJ554wtLGmf82BQUFaNu2LebOnVvh/uTkZMyaNQsLFixARkYGatWqhaioKFy4cMHSJiYmBvv27UNqairWrl2LLVu2YMiQIY56C3al1eMGwGMHjx3241THDeGi7r77bhEXF2e5X1pa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\n"},"metadata":{}}],"source":["import matplotlib.pyplot as plt\n","import numpy as np\n","\n","x = np.arange(0,100)\n","y = x*2\n","plt.figure()\n","plt.subplot(1,2,1)\n","plt.plot(x,y,ls='--',c='b')\n","\n","\n","z = x**2\n","plt.subplot(1,2,2)\n","plt.plot(x,z,c='r')\n","\n","plt.show()\n"]},{"cell_type":"markdown","metadata":{"id":"hV08IzIvST2s"},"source":["**See if you can resize the plot by adding the figsize() argument in plt.subplots() are copying and pasting your previous code.**"]},{"cell_type":"code","execution_count":18,"metadata":{"id":"0pq5vAFZST2s","outputId":"906b68bc-8b00-4d03-8e57-2d4c8cfc7ae6","colab":{"base_uri":"https://localhost:8080/","height":216},"executionInfo":{"status":"ok","timestamp":1765007150137,"user_tz":-330,"elapsed":594,"user":{"displayName":"Adiba Areej","userId":"02303988763299783222"}}},"outputs":[{"output_type":"display_data","data":{"text/plain":["
"],"image/png":"iVBORw0KGgoAAAANSUhEUgAAA9oAAADHCAYAAADmtyufAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjAsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvlHJYcgAAAAlwSFlzAAAPYQAAD2EBqD+naQAARkFJREFUeJzt3XlcVNX7B/AP6wgqICoMpBhqirgvhbjlQoKSZlK5EOL+06BSy63UNC3MNrNMvm2SuGWlplAkomgmbiS5kwuJ2+AKiAvb3N8fJwZHEObCDDMDn/frdV86M+feeeZ+v3nmmXOecywkSZJARERERERERHphaewAiIiIiIiIiKoTJtpEREREREREesREm4iIiIiIiEiPmGgTERERERER6RETbSIiIiIiIiI9YqJNREREREREpEdMtImIiIiIiIj0iIk2ERERERERkR4x0SYiIiIiIiLSI2tjB1ARarUaly9fRt26dWFhYWHscIiIiCBJEm7fvg13d3dYWvJ37MpiX09ERKZGVl8vmaELFy5IAHjw4MGDBw+TOy5cuGC0/nHXrl3Ss88+K7m5uUkApE2bNmm9rlarpblz50pKpVKqVauW1K9fP+mff/7RanPjxg1p5MiRUt26dSVHR0dp7Nix0u3bt7Xa/P3331KPHj0khUIhNWrUSPrggw9KxLJhwwapZcuWkkKhkNq0aSPFxsbK+izs63nw4MGDh6keuvT1ska0IyIisHHjRpw6dQp2dnbo1q0bPvjgA7Rs2VLT5v79+3jjjTewfv165Obmwt/fH19++SVcXV01bdLT0zF58mTs3LkTderUQWhoKCIiImBtrVs4devWBQBcuHABDg4Ocj4CERGRQWRnZ6Nx48aaPsoY7ty5g/bt22Ps2LEYOnRoideXLFmCZcuW4fvvv4enpyfmzp0Lf39/nDhxArVq1QIABAcH48qVK4iPj0d+fj7GjBmDiRMnYu3atQDE5+zfvz/8/PwQGRmJo0ePYuzYsXBycsLEiRMBAHv37sWIESMQERGBZ599FmvXrsWQIUPw119/oU2bNjp9Fvb1RERkauT09RaSJEm6XjggIADDhw/Hk08+iYKCArz11ls4duwYTpw4gdq1awMAJk+ejNjYWERFRcHR0RHh4eGwtLTEn3/+CQAoLCxEhw4doFQq8eGHH+LKlSsYNWoUJkyYgPfff1/nD+jo6IisrCx2vkREZBJMrW+ysLDApk2bMGTIEACAJElwd3fHG2+8gTfffBMAkJWVBVdXV0RFRWH48OE4efIkvL29cfDgQXTp0gUAEBcXh4EDB+LixYtwd3fHihUr8Pbbb0OlUsHW1hYAMGvWLGzevBmnTp0CAAwbNgx37txBTEyMJp6uXbuiQ4cOiIyM1Cl+U7ufREREcvomWUVkcXFxGD16NFq3bo327dsjKioK6enpSE5OBiA67G+//RaffPIJ+vbti86dO2PlypXYu3cv9u3bBwDYtm0bTpw4gdWrV6NDhw4YMGAAFi5ciOXLlyMvL6+CH5mIiKhicnKA69eNHYXhpaWlQaVSwc/PT/Oco6MjfHx8kJSUBABISkqCk5OTJskGAD8/P1haWmL//v2aNr169dIk2QDg7++P1NRU3Lp1S9PmwfcpalP0PqXJzc1Fdna21kFERGSuKrVaS1ZWFgDA2dkZAJCcnIz8/HytztXLywseHh5anXjbtm21ppL7+/sjOzsbx48fr0w4REREOiksBH7/HXj5ZcDVFdBxQpVZU6lUAKDV/xY9LnpNpVLBxcVF63Vra2s4OztrtSntGg++x6PaFL1emoiICDg6OmqOxo0by/2IREREJqPCibZarcaUKVPQvXt3Tb1V0TQyJycnrbYPd+LlddAP46/cRESkD3//Dbz5JtCoERAQAKxZA9y9C6xdCxQUGDu6mm327NnIysrSHBcuXDB2SEREZK4kCVi2DHj9daOFUOHtvcLCwnDs2DHs2bNHn/GUKiIiAgsWLDD4+xARUfVz+bJIqKOjgaNHS2+TkQFs3y6S7+pKqVQCADIyMuDm5qZ5PiMjAx06dNC0uXr1qtZ5BQUFuHnzpuZ8pVKJjIwMrTZFj8trU/R6aRQKBRQKRQU+GRER0QOuXQPGjAFiY8Xjp58GSlkg1NAqNKIdHh6OmJgY7Ny5E40aNdI8r1QqkZeXh8zMTK32D3auunTQD+Ov3EREJEdOjkis+/cHGjcGZsx4dJJdZNWqqonNWDw9PaFUKpGQkKB5Ljs7G/v374evry8AwNfXF5mZmZq1VwBgx44dUKvV8PHx0bTZvXs38vPzNW3i4+PRsmVL1KtXT9PmwfcpalP0PkRERAazaFFxkg0A48cDRsgfZSXakiQhPDwcmzZtwo4dO+Dp6an1eufOnWFjY6PVuaampiI9PV2rEz969KjWL+bx8fFwcHCAt7d3qe+rUCjg4OCgdRARET2osBCIjwdCQgClEhg1SjxWq3U7f/NmkaCbs5ycHKSkpCAlJQWAWAAtJSUF6enpsLCwwJQpU7Bo0SJs2bIFR48exahRo+Du7q5ZmbxVq1YICAjAhAkTcODAAfz5558IDw/H8OHD4e7uDgAYOXIkbG1tMW7cOBw/fhw//PADPvvsM0ybNk0Tx+uvv464uDh8/PHHOHXqFObPn49Dhw4hPDy8qm8JERHVNIsWAc2bFz++dQsIDhZfFKpSuTttP2Dy5MmSo6OjlJiYKF25ckVz3L17V9Nm0qRJkoeHh7Rjxw7p0KFDkq+vr+Tr66t5vaCgQGrTpo3Uv39/KSUlRYqLi5MaNmwozZ49W+c4srKyJABSVlaWnPCJiKgaOnJEkqZPlyR3d0kSRVnyDjc3SXrjDUlKSalcHKbQN+3cuVMCUOIIDQ2VJEmS1Gq1NHfuXMnV1VVSKBRSv379pNTUVK1r3LhxQxoxYoRUp04dycHBQRozZox0+/ZtrTZ///231KNHD0mhUEiPPfaYtHjx4hKxbNiwQWrRooVka2srtW7dWoqNjZX1WUzhfhIRkZk6dEiSbGy0O/z4+EpfVk7fJGsfbQsLi1KfX7lyJUaPHg0AuH//Pt544w2sW7cOubm58Pf3x5dffqk1Lfz8+fOYPHkyEhMTUbt2bYSGhmLx4sWwttatZJx7axIR1WxXrogFzKKjxQJnctnbi3KtkBCgXz/AyqryMbFv0i/eTyIiqpSPPgKmTxfT3FatAp55ptKXlNM3yUq0TQU7XyKimufOHTG9e9UqsXCZrlPCi1hYiKQ6JEQk2XXq6Dc+9k36xftJRESVolYDCxcCkycDD21dWVFy+qYKrzpORERkaIWFwM6dYuT6559Fsi1XmzYiuR45UmzrRURERGZsxw5Rg+3hUXY7S0vgnXeqJqZSMNEmIiKTc+yYSK7XrAEuXZJ/vqurWPckJARo316MZhMREZEZy80F5swBPv4Y6NlTJNz6qP0yECbaRERkElQqYN06MTX8v0WzZbGzA55/XiTXfn6Ajst+EBERkak7dkz8gn7kiHi8ezewZAkwe7Zx4yoDv4YQEZHR3L0r6q6jo4Ft2ypWd92nj0iug4KAunUNEiYREREZg1oNLFsGzJolRrQfNG+e+GX9ySeNE1s5mGgTEVGVUquBxESRXP/0U8X2rvb2FvtkjxwJNG6s9xCJiIjI2C5eBMaMESuglqagQIxyHz4M1K5dtbHpgIk2ERFViRMniuuuL1yQf76Li0isR40COnRg3TUREVG1tX69WC08M/PRbRQKIDxc1I6ZICbaRERkMBkZou46Ohr46y/559eqBQwZIpLrZ55h3TUREVG1dusWEBYmvjyUpV078ct9mzZVE1cF8CsLERHp1b17wJYtYlGz338XW3TJ9WDdNbdQJiIiqgHi48VU8fK2G3nzTWDRIjGibcKYaBMRUaWp1WIB0KK66+xs+dfw8hLJ9csvl781JhEREVUTd+4AM2cCy5eX3a5RI+D774G+fasmrkpiok1ERBV26pRIrlevBtLT5Z/fsCEwYoRIsDt3Zt01ERFRjbJvn6gPO3267HbBwcAXXwBOTlUSlj4w0SYiIlmuXhVrlERHA4cOyT9foQCee070q/37AzY2+o+RiIiITFhuLjB/vtgLu6y9PZ2cgMhIYNiwqopMb5hoExFRue7fF3XX0dFAXJzYUUOup58WI9cvvAA4Ouo/RiIiIjIDhw8DoaHA0aNlt3vmGeC778SUcTPERJuIiEqlVgN79ojkesOGitVdt2wpkuvgYODxx/UeIhEREZmb778vO8m2swM++khs72XGNWVMtImISEtqavF+1//+K//8Bg2A4cPF1PAuXcy6jyQiIiJ9e+89IDYWOHOm5Gs+PmLbkhYtqj4uPWOiTUREuH69uO76wAH559vaAoMHi+Q6IIB110RERPQItWsDUVFAz56AJInnbGyABQuA6dMB6+qRolaPT0FERLLdvw/ExIjk+tdfK1Z33aOHmBr+4otAvXr6j5GIiIiqoe7dgWnTgI8/Btq3F6PY7doZOyq9YqJNRFSDSBLw55/FddeZmfKv0bx58X7XTZvqPUQiIiKqCRYuBNzdgfBwMTWummGiTURUA5w+XbzfdVqa/POdnUXddUiIKJ9i3TURERGVcOyYSJy/+Ub8Ml8WOzsxql1NMdEmIqqmbtwAfvhBJNj79sk/39YWePZZkVwPHFgtf2wmIiIifcjPBz74AHj3XfH3sWOBxETA0tLYkRkNE20iomokN1cs5BkdLf7Mz5d/jW7dxKJmL74oRrKJiIiIHiklBRgzRvxZ5I8/gC++AF57zVhRGR0TbSIiMydJQFKSWEdkwwbg1i3512jWTNRch4SIvxMRERGV6f59YNEiMZJd2oqqs2aJKXHlTSGvpphoExGZqbNni+uuz56Vf369esCwYSK59vVl3TURERHpKClJTA8/derRbe7dE3tmr1xZdXGZECbaRERm5OZNMWodHQ3s3Sv/fBsbIDBQTA0fOBBQKPQfIxEREVVTOTnA228Dn39evAd2aSwtgTffBObPr7LQTA0TbSIiE5ebK/a5Lqq7zsuTf42uXcXI9bBhQP36+o+RiIiIqrnffwf+7/+A8+fLbte6NfDdd8BTT1VNXCaq5i4DR0Rkworqrl95RWwxOXQosGmTvCTb0xOYNw/455/iazHJpscffxwWFhYljrCwMABA7969S7w2adIkrWukp6cjMDAQ9vb2cHFxwfTp01HwUH1eYmIiOnXqBIVCgebNmyMqKqqqPiIREenTjRtiKlxAQNlJtrU1MGcOkJxc45NsoAKJ9u7duzFo0CC4u7vDwsICmzdv1np99OjRJTrogIAArTY3b95EcHAwHBwc4OTkhHHjxiEnJ6dSH4SIqDo4d07sjNGypVj9e8UKMV1cV05OwMSJwJ49om57wQLgiScMFi6ZoYMHD+LKlSuaIz4+HgDw4osvatpMmDBBq82SJUs0rxUWFiIwMBB5eXnYu3cvvv/+e0RFRWHevHmaNmlpaQgMDESfPn2QkpKCKVOmYPz48fj999+r7oMSEVHlSBKwZg3g5SWm1ZWlUyfg0CFg4ULWpf1H9tTxO3fuoH379hg7diyGDh1aapuAgACsfKDoXfHQzQ4ODtZ07vn5+RgzZgwmTpyItWvXyg2HiMjs3boF/PijWDX8zz/ln29tLeqtQ0LEvte1auk/Rqo+GjZsqPV48eLFaNasGZ5++mnNc/b29lAqlaWev23bNpw4cQLbt2+Hq6srOnTogIULF2LmzJmYP38+bG1tERkZCU9PT3z88ccAgFatWmHPnj349NNP4e/vb7gPR0RE+vHvv8DkyUBcXNntFArxq/4bb4gvJKQh+24MGDAAAwYMKLONQqF4ZAd98uRJxMXF4eDBg+jSpQsA4PPPP8fAgQPx0Ucfwd3dXW5IRERmJy8P+O038QPx1q0Vq7v28Smuu27QQP8xUvWXl5eH1atXY9q0abB4YNn5NWvWYPXq1VAqlRg0aBDmzp0Le3t7AEBSUhLatm0LV1dXTXt/f39MnjwZx48fR8eOHZGUlAQ/Pz+t9/L398eUKVMeGUtubi5yc3M1j7Ozs/X0KYmISGcFBcCyZcDcucDdu2W37dUL+PproEWLqonNzBjkZ4fExES4uLigXr166Nu3LxYtWoT6/xUGJiUlwcnJSZNkA4Cfnx8sLS2xf/9+PP/88yWux86XiKoDSQIOHBDJ9fr1ouRJrscfL97vmv0aVdbmzZuRmZmJ0aNHa54bOXIkmjRpAnd3dxw5cgQzZ85EamoqNm7cCABQqVRaSTYAzWOVSlVmm+zsbNy7dw92dnYlYomIiMCCBQv0+fGIiEiuY8fEauFlrSju4AAsWQJMmCBWF6dS6T3RDggIwNChQ+Hp6YmzZ8/irbfewoABA5CUlAQrKyuoVCq4uLhoB2FtDWdnZ00H/TB2vkRkzv79V+x1HR0tFiaTy9ERePFFsQ5J9+7s00h/vv32WwwYMEBrNtnEiRM1f2/bti3c3NzQr18/nD17Fs2aNTNYLLNnz8a0adM0j7Ozs9G4cWODvR8REZWiQwcgPFxs31WawYOBL78EHnusSsMyR3pPtIcPH675e9u2bdGuXTs0a9YMiYmJ6NevX4Wuyc6XiMxNZqaou46OBv74Q/751tbAgAFi5HrQINZdk/6dP38e27dv14xUP4qPjw8A4MyZM2jWrBmUSiUOHDig1SYjIwMANGVjSqVS89yDbRwcHEodzQZE2dnDa7oQEZERLFoEbNwIXLpU/JxSCXzxhdgG5YFSI3o0g4+LNG3aFA0aNMCZM2cAiM736tWrWm0KCgpw8+bNR9Z1KxQKODg4aB1ERKYmPx+IiQFeekn0RxMnyk+yu3QRpVGXLwNbtoiRbCbZZAgrV66Ei4sLAgMDy2yXkpICAHBzcwMA+Pr64ujRo1p9eXx8PBwcHODt7a1pk5CQoHWd+Ph4+Pr66vETEBGRQTg4iKS6yIQJwMmTQFAQk2wZDL403MWLF3Hjxg2tDjozMxPJycno3LkzAGDHjh1Qq9WaX82JiMyFJIntIqOjgXXrgGvX5F/Dw6O47trLS/8xEj1MrVZj5cqVCA0NhfUDq8SePXsWa9euxcCBA1G/fn0cOXIEU6dORa9evdCuXTsAQP/+/eHt7Y2QkBAsWbIEKpUKc+bMQVhYmGZEetKkSfjiiy8wY8YMjB07Fjt27MCGDRsQGxtrlM9LRET/yc8Xf9rYlN1uyBCxkvjgwWLRM5JNdqKdk5OjGZ0GxF6ZKSkpcHZ2hrOzMxYsWICgoCAolUqcPXsWM2bMQPPmzTXbebRq1QoBAQGYMGECIiMjkZ+fj/DwcAwfPpwrjhOR2UhPL667PnVK/vkODsALL4jkulcv1l1T1dq+fTvS09MxduxYredtbW2xfft2LF26FHfu3EHjxo0RFBSEOXPmaNpYWVkhJiYGkydPhq+vL2rXro3Q0FC8++67mjaenp6IjY3F1KlT8dlnn6FRo0b45ptvuLUXEZEx7d0LTJoEjBgBzJ5dfvuPPjJ8TNWYhSSVtaRcSYmJiejTp0+J50NDQ7FixQoMGTIEhw8fRmZmJtzd3dG/f38sXLhQa/XRmzdvIjw8HFu3boWlpSWCgoKwbNky1KlTR6cYsrOz4ejoiKysLE4jJ6Iqk50N/PSTSK4TE+Wfb2UFBASI5HrwYOARpapkptg36RfvJxGRnly/DsyaBXz7rXhsZwccPw54eho3LjMkp2+SnWibAna+RFRVCgqAbdtEcr15M3D/vvxrdO4skusRI4CHNl2gaoR9k37xfhIRVZJaDXz3HTBzJnDzpvZrgYHA1q2suZZJTt9k8BptIiJzI0nA4cMiuV67Fnho/UadNG5cXHfdqpX+YyQiIiJ6pMOHgVdeAfbtK/312FgxgvD881UaVk3CRJuI6D8XLgBr1ogE+8QJ+efXqSPqrkeNAp5+mnXXREREVMVu3QLmzgVWrBAj2mX5+msm2gbERJuIarTbt4GffxbJ9c6dYjRbDktLwN9fjFw/9xxgb2+YOImIiIgeSa0Gvv9eTBMvbwsUe3tg/nxgypSqiKzGYqJNRDVOQQGwfbtIrjdtAu7dk3+Njh3FyPWIEcADaz0SERERVa3kZCA8/NHTxB/0/PPA0qVib1EyKCbaRFQjSBLw998iuV6zBsjIkH+Nxx4Tddcvvwy0aaP/GImIiIh0duMG8PbbwFdflT8lr2lT4PPPgYEDqyY2YqJNRNXbpUvFddfHjsk/v3ZtIChIjF737i226CIiIiIymsJCkVzPmVNyNfGHKRRiOvmsWdxXtIox0SaiaicnB9i4USTXCQkVq7t+5hlRdz1kiEi2iYiIiIxu927gtdfENL3yDBwILFsGNGtm+LioBCbaRFQtFBaKpHrVKlF3ffeu/Gu0by+S65EjATc3/cdIREREVGExMcCgQeW3e/xx4LPPRFvuk200TLSJyKwV1V2vXQtcuSL/fHd3IDhYJNht2+o/PiIiIiK98PcHWrUCTp4s/fVatcQU8RkzOE3cBDDRJiKzc/mySKyjo4EjR+SfX7s2MHSoqLvu04d110RERGQGbGzESHX//iVfe/554JNPxGg2mQQm2kRkFu7cEVPCo6PF1lxqtbzzLS2Bfv1Ecj1kCFCnjkHCJCIiIjKcZ54BnnsO+OUX8bhlS5F8+/sbNy4qgYk2EZmswkJg505Rd71xo0i25WrbVkwLDw4W08SJiIiITFJWFuDoWH67Tz4BkpLEauLh4YCtreFjI9mYaBORyTl6tHi/68uX5Z+vVBbXXbdvr//4iIiIiPTm7l3g44+BJUuA+Higa9ey2zdtCpw/L2qyyWQx0SYik3DlCrBunUiwU1Lkn29vL8qTQkLEFHFr/utGREREpkytFqMKs2cDly6J56ZMEaPV5a0WziTb5PGrKBEZzd27wObNYmp4fLz8umsLC5FUh4SIJLtuXYOESURERKRfu3cDb7wBHDqk/fz+/WLkYeRI48RFesNEm4iqVGEhkJgoRq5//hnIyZF/jTZtive7btRI7yESERERGcY//4jtt4oWMyvNzJli5VZ7+yoLi/SPiTYRVYnjx4vrri9elH++q6tIrEeNEnXX5c2oIiIiIjIZ164B774LREYCBQVlt714EYiLE3uRktliok1EBqNSFdddHz4s/3w7O/GDbkiI2M2CdddERERkVu7eBZYuBRYvBm7fLr99jx5iVfEnnzR4aGRY/NpKRHp1966YDRUdDWzbJqaKy2FhAfTpI5LroUMBBwfDxElERERkMIWFwPffA3Pn6raFStOmYtXxoUM5ba+aYKJNRJWmVgO7donk+qefdPvB9mHe3sX7XTdurP8YiYiIiAxOkoCYGGDWLODEifLbOzkBc+aI/bAVCoOHR1WHiTYRVdjJkyK5Xr0auHBB/vkuLqLuOiQE6NiRP+ASERGRGdu3Tyx09scf5be1sQHCwkSSXb++4WOjKsdEm4hkuXoVWL9ebMmVnCz//Fq1gOeeE8m1vz/rromIiMjM5eUBL71U9kriD3rhBSAiAmje3LBxkVHxKy4RlevePWDLFjF6HRcnv+4aAHr3Fsl1UBDg6Kj3EImIiIiMw9ZWTBkvT/fuwEcfAV27Gj4mMjpLYwdARKapqO56/HhAqQSGDwdiY+Ul2V5ewHvvAf/+C+zcCYwdyySbyNjmz58PCwsLrcPLy0vz+v379xEWFob69eujTp06CAoKQkZGhtY10tPTERgYCHt7e7i4uGD69OkoeGi7msTERHTq1AkKhQLNmzdHVFRUVXw8IiLjeP99wPIRqVXLlsCmTWJKOZPsGkN2or17924MGjQI7u7usLCwwObNm7VelyQJ8+bNg5ubG+zs7ODn54fTp09rtbl58yaCg4Ph4OAAJycnjBs3Djk5OZX6IESkH6dOAW+/LRa/7N0b+PZbIDtb9/MbNABefRU4eFCsAfLWW0CTJgYLl4gqoHXr1rhy5Yrm2LNnj+a1qVOnYuvWrfjxxx+xa9cuXL58GUMf2Mu1sLAQgYGByMvLw969e/H9998jKioK8+bN07RJS0tDYGAg+vTpg5SUFEyZMgXjx4/H77//XqWfk4ioyrRuDYwapf2cmxvwv/8Bx46J/Uq5GE2NIjvRvnPnDtq3b4/ly5eX+vqSJUuwbNkyREZGYv/+/ahduzb8/f1x//59TZvg4GAcP34c8fHxiImJwe7duzFx4sSKfwoiqpRr14DPPweeegpo1Ur8KHv+vO7nKxSiNGnrVrGDxbJlQJcu7E+ITJW1tTWUSqXmaNCgAQAgKysL3377LT755BP07dsXnTt3xsqVK7F3717s27cPALBt2zacOHECq1evRocOHTBgwAAsXLgQy5cvR15eHgAgMjISnp6e+Pjjj9GqVSuEh4fjhRdewKeffmq0z0xEVGF37gD5+eW3mz9fTCN3cAAWLQJOnwYmTuSCNDWU7ER7wIABWLRoEZ5//vkSr0mShKVLl2LOnDl47rnn0K5dO6xatQqXL1/WjHyfPHkScXFx+Oabb+Dj44MePXrg888/x/r163FZlz3miEgv7t8HfvwRGDwYcHcHXntNjELL0asX8PXXgEoF/PAD8OyzYhFNIjJtp0+fhru7O5o2bYrg4GCkp6cDAJKTk5Gfnw8/Pz9NWy8vL3h4eCApKQkAkJSUhLZt28LV1VXTxt/fH9nZ2Th+/LimzYPXKGpTdA0iIrOQmytGIpo1A1auLL99kybiy9W5c2J6YO3aho+RTJZea7TT0tKgUqm0OldHR0f4+PhoddBOTk7o0qWLpo2fnx8sLS2xf/9+fYZDRA9Rq0V50MSJou66aBT6odLKMrVoIX6kTUsrruF2cjJYyESkZz4+PoiKikJcXBxWrFiBtLQ09OzZE7dv34ZKpYKtrS2cHvqP2tXVFSqVCgCgUqm0kuyi14teK6tNdnY27t27V2pcubm5yM7O1jqIiIwiL09M+W7eXIxEZGQACxeKUYryDB7M7boIgJ5XHS/qYEvrXB/sfF1cXLSDsLaGs7Ozps3DcnNzkZubq3nMzpdInn/+Kd7v+t9/5Z9fvz4wYoRYNfzJJzklnMicDRgwQPP3du3awcfHB02aNMGGDRtgZ2dntLgiIiKwYMECo70/EREKCsQXpnffLfmF6eJFIDISmDLFGJGRGTKLVccjIiLg6OioORo3bmzskIhM3vXrwPLlYnHLli3FKLScJNvWVmzz+Msvou66qIabSTZR9eLk5IQWLVrgzJkzUCqVyMvLQ2ZmplabjIwMKJVKAIBSqSyxCnnR4/LaODg4PDKZnz17NrKysjTHhQsX9PHxiIjKV1AAfP+92C5l7NhHf2F6/32ACziTjvSaaBd1sKV1rg92vlevXtV6vaCgADdv3tS0eRg7XyLd5OYCP/8sFrZ0cwPCwwG5FRk9egBffSVmSRXVcNvaGiRcIjIBOTk5OHv2LNzc3NC5c2fY2NggISFB83pqairS09Ph6+sLAPD19cXRo0e1+vL4+Hg4ODjA29tb0+bBaxS1KbpGaRQKBRwcHLQOIiKDKigQ0/28vYHRo4GzZ8tuf+0a8NNPVRIamT+9Th339PSEUqlEQkICOnToAEBM896/fz8mT54MQHS+mZmZSE5ORufOnQEAO3bsgFqtho+PT6nXVSgUUCgU+gyVqNqQJGDvXmDVKmDDBuChgSidPPGEmBYeHCy29SKi6uvNN9/EoEGD0KRJE1y+fBnvvPMOrKysMGLECDg6OmLcuHGYNm0anJ2d4eDggFdffRW+vr7o+t/er/3794e3tzdCQkKwZMkSqFQqzJkzB2FhYZq+etKkSfjiiy8wY8YMjB07Fjt27MCGDRsQGxtrzI9ORCQUFADr1om664e2IX6kLl3E9MD+/Q0bG1UbshPtnJwcnDlzRvM4LS0NKSkpcHZ2hoeHB6ZMmYJFixbhiSeegKenJ+bOnQt3d3cMGTIEANCqVSsEBARgwoQJiIyMRH5+PsLDwzF8+HC4u7vr7YMRVXdnzhTXXZ87J/98Z2dg2DCx5aOPD6eEE9UUFy9exIgRI3Djxg00bNgQPXr0wL59+9CwYUMAwKeffgpLS0sEBQUhNzcX/v7++PLLLzXnW1lZISYmBpMnT4avry9q166N0NBQvPvuu5o2np6eiI2NxdSpU/HZZ5+hUaNG+Oabb+Dv71/ln5eISKOgAFizRiTMD+QzZWrfXtRsDxrEL0ski4UkSZKcExITE9GnT58Sz4eGhiIqKgqSJOGdd97BV199hczMTPTo0QNffvklWrRooWl78+ZNhIeHY+vWrZrOfNmyZahTp45OMWRnZ8PR0RFZWVmcWkY1ys2bYhut6GigIrvk2NiILbhGjQIGDuSUcCJ9Yt+kX7yfRKQ3eXli6t/774ttU3Th7Q0sWAAMHQpYmsWyVlQF5PRNshNtU8DOl2qS3Fzg119Fch0TA+Tny79Gt25iavhLL4mRbCLSP/ZN+sX7SUSVdv8+8N13wAcfAOnpup3j5QW88w7w4ouAlZVh4yOzI6dv0muNNhHphyQB+/aJH19/+AG4dUv+NZo1E8n1yy+LvxMRERHVKHfvAjNn6rZSeMuWwLx5oq6OCTbpARNtIhNy9qyouV69WvfSoQc5ORXXXfv6spSIiIiIajBnZ+CVV4AlSx7dxssLmDuXCTbpHRNtIiO7dUusFh4dDfz5p/zzbWxEvfWoUUBgIMAF+omIiIj+M20asGyZmEb+oFatxAg2p4iTgTDRJjKCvDztuuu8PPnX6NpVTA0fNgyoX1//MRIRERGZtJs3y198xtUVmDAB+Pxz8bhdOzGCzUXOyMCYaBNVEUkC9u8XyfX69aJvkMvTU9Rch4SIva+JiIiIapzDh8UCZ1u2iFq78rYInj4dSE4GZswQ23QxwaYqwESbyMDS0kTNdXQ0cPq0/PMdHcVq4aNGAd27s+6aiIiIaiBJAhISgA8/BLZtK35+6dKya7ABoHHjitXnEVUCE20iA8jMBH78USTXf/wh/3xra1F3HRIi9r2uVUvvIRIRERGZvoIC4KefRDJ9+HDJ11esAGbPBurVq/rYiMrARJtIT/Lzgbg4sSXX1q1i/2u5fHyK664bNNB/jERERERm4fZtsQf2p58C588/ul1Ojki233qr6mIj0gETbaJKkCTg4MHiuuvr1+Vf4/HHRd31yy+LLRyJiIiIaqxLl4AvvgAiI8UUQV2sWCH2y+bq4WRCmGgTVcD588V116mp8s93dBS7SRTVXXNNDiIiIqrR/vpLjF6vXy+mi+uiTh1g0iRgyhQm2WRymGgT6SgrS5QIrVoF7N4t/3xra2DAADE1fNAg1l0TERFRDVdYKPY5/fRTYNcu3c9zdQVef10k2azNJhPFRJuoDPn5wO+/i5HrLVuA+/flX+PJJ0VyPXw40LCh/mMkIiIiMitF9dfLlgHnzul+XosWYquul1/miAWZPCbaRA+RJLHVYnQ0sG4dcO2a/Gt4eBTvd+3lpf8YiYiIiMzW4MFAYqLu7Xv2BN58U2zFwno7MhNMtIn+k55eXHd96pT88+vWFXXXISFAr17sB4iIiIhKNXZs+Ym2pSUQFAS88YbYloXIzDDRphotO1vUXUdHy/thtYiVFeDvL5LrwYMBe3u9h0hERERUvbz0khihvnq15Gt16wLjxwOvvSa2ZiEyU0y0qcYpKAC2bRPJ9ebNFau77tRJJNcjRoj1OIiIiIgIwIkTom6urKl9CoVYyOzdd4ufe/xx4NVXRZLt4GDwMIkMjYk21QiSBBw+LJLrtWtL/wG1PI0aFddde3vrP0YiIiIis5SfD2zaBCxfLrZmiYsTU/7KMmkSEBEBdO0qtud67jlu0UXVChNtqtYuXADWrBEJ9okT8s+vUwd44QWRXPfuzbprIiIiIo30dOCrr4BvvwVUquLnly8vP9F2cwNOnwaaNDFsjERGwkSbqp3bt4GffxbJ9c6dYjRbDktLoH9/kVwPGcK6ayIiIiKNwkIxYh0ZCfz6K6BWl2wTEwP8+2/5NdZMsqkaY6JN1UJBAbB9u0iuN20C7t2Tf40OHYBRo0TdtVKp9xCJiIiIzNelS2Lk+ptvxJTBskgS8L//ianhRDUUE20yW5IEpKQU111nZMi/xmOPAcHBYvS6TRu9h0hERERkvgoKgN9+A77+WoxeFxbqfu66dcB777HujmosJtpkdi5dKq67PnZM/vm1a4ttGUNCgD59uO4GERERkZZz54CVK4HvvgMuX5Z3bosWwCuvAKGhTLKpRmOiTWYhJwfYuFEk1wkJFau79vMTU8OHDBHJNhERERH959498WXru++AHTvknWtlJb5gTZoE9O3LBJsITLTJhBUWiqQ6Olr8u3/3rvxrtG8vRq5HjhSLWxIRERHRQwoLxd7X6enyzmvcWOx7PX484O5umNiIzJTef26aP38+LCwstA4vLy/N6/fv30dYWBjq16+POnXqICgoCBkVKa6lauvIEeDNN8W/3f7+wOrV8pJsNzdx/t9/ixruN95gkk1EVCQiIgJPPvkk6tatCxcXFwwZMgSpqalabXr37l2iL580aZJWm/T0dAQGBsLe3h4uLi6YPn06CgoKtNokJiaiU6dOUCgUaN68OaKiogz98YioIqysxJYrurC0BAYNEiuLp6UB8+YxySYqhUFGtFu3bo3t27cXv4l18dtMnToVsbGx+PHHH+Ho6Ijw8HAMHToUf/75pyFCITNx+bJY0Cw6WiTactnbA0OHiqnhffuy7pqI6FF27dqFsLAwPPnkkygoKMBbb72F/v3748SJE6j9QF3NhAkT8O6772oe2z+w12FhYSECAwOhVCqxd+9eXLlyBaNGjYKNjQ3ef/99AEBaWhoCAwMxadIkrFmzBgkJCRg/fjzc3NzgX97+ukRU9caMESuKP4qHBzBunGjXuHHVxUVkpgySaFtbW0NZyv5IWVlZ+Pbbb7F27Vr07dsXALBy5Uq0atUK+/btQ9euXQ0RDpmoO3fEVlzR0WJrrtK2YSyLhYWouw4JAZ5/HqhTxzBxEhFVJ3FxcVqPo6Ki4OLiguTkZPTq1UvzvL29fal9OQBs27YNJ06cwPbt2+Hq6ooOHTpg4cKFmDlzJubPnw9bW1tERkbC09MTH3/8MQCgVatW2LNnDz799FMm2kRVRZKAPXuAo0fFAmVl8fUFWrYEHpzhYm0NDB4MTJgAPPMMRzKIZDDISgWnT5+Gu7s7mjZtiuDgYKT/V++RnJyM/Px8+Pn5adp6eXnBw8MDSUlJhgiFTExhoUiqR40CXF1Fkrxtm7wku21bYMkSsYXjtm3iGkyyiYgqJisrCwDg7Oys9fyaNWvQoEEDtGnTBrNnz8bdB2p4kpKS0LZtW7i6umqe8/f3R3Z2No4fP65p82B/X9SG/T1RFTh1Cpg7F2jWDOjVC5gyBbhxo+xzLCyA0aPF3729gY8/FlMOf/4ZCAhgkk0kk95HtH18fBAVFYWWLVviypUrWLBgAXr27Iljx45BpVLB1tYWTk5OWue4urpCpVI98pq5ubnIzc3VPM7OztZ32GRgx44Bq1aJ6eGXLsk/X6kUC5qFhAAdOug9PCKiGkmtVmPKlCno3r072rRpo3l+5MiRaNKkCdzd3XHkyBHMnDkTqamp2LhxIwBApVJpJdkANI+L+vNHtcnOzsa9e/dgZ2en9Rr7eqJKunIFWL9e7IGanKz9Wn4+8MMP5Y9qjx0L9O4N+PiIxJuIKkzvifaAAQM0f2/Xrh18fHzQpEkTbNiwoUSnqquIiAgsWLBAXyFSFVGpiuuuU1Lkn29nJ6aEjxoF9OsnZi8REZH+hIWF4dixY9izZ4/W8xMnTtT8vW3btnBzc0O/fv1w9uxZNGvWzCCxsK8nqoBbt8TWLGvXAjt3lr3/aXR0+Ym2i4s4iKjSDL7JnZOTE1q0aIEzZ85AqVQiLy8PmZmZWm0yMjIeWQcGALNnz0ZWVpbmuHDhgoGjpoq6e1f8Wz9gAPDYY2LFbzlJtoWFSKqjooCMDPGjrL8/k2wiIn0LDw9HTEwMdu7ciUaNGpXZ1sfHBwBw5swZAIBSqSyxY0jR46L+/FFtHBwcSv3hnX09kY5ycoB164DnnhNT/saPF/tel5VkA8C+fcDp01UTIxEZfh/tnJwcnD17FiEhIejcuTNsbGyQkJCAoKAgAEBqairS09Ph6+v7yGsoFAooFApDh0oVpFYDiYnih9KffhL//svVurWYFh4cDJTzfY+IiCpBkiS8+uqr2LRpExITE+Hp6VnuOSn//WLq9t9eib6+vnjvvfdw9epVuPw3+hUfHw8HBwd4e3tr2vz6669a14mPj39kf8++nqgMd+8Cv/4KbNggttW6d0/+NZydxUJnTzyh//iIqAS9J9pvvvkmBg0ahCZNmuDy5ct45513YGVlhREjRsDR0RHjxo3DtGnT4OzsDAcHB7z66qvw9fXliuNm6PhxkVyvWQNcvCj/fBeX4rrrjh1ZCkREVBXCwsKwdu1a/PLLL6hbt66mptrR0RF2dnY4e/Ys1q5di4EDB6J+/fo4cuQIpk6dil69eqFdu3YAgP79+8Pb2xshISFYsmQJVCoV5syZg7CwME2yPGnSJHzxxReYMWMGxo4dix07dmDDhg2IjY012mcnMit37wK//VacXD+wIKHObG2BZ58VX7YGDhSPiahK6D3RvnjxIkaMGIEbN26gYcOG6NGjB/bt24eGDRsCAD799FNYWloiKCgIubm58Pf3x5dffqnvMMhAMjLEbKVVq4DDh+WfX6uWqLsOCRG7RHBKOBFR1VqxYgUAoHfv3lrPr1y5EqNHj4atrS22b9+OpUuX4s6dO2jcuDGCgoIwZ84cTVsrKyvExMRg8uTJ8PX1Re3atREaGqq177anpydiY2MxdepUfPbZZ2jUqBG++eYbbu1FpKs5c4BPP63Yub17i2mCQUFAvXp6DYuIdGMhSeUVdJie7OxsODo6IisrCw4ODsYOp9q7dw/45Rcxev3772KLLrn69BHJdVAQwP/JiKg6Yt+kX7yfVOPt2QP07Kl7+06dxFTBYcNYh0dkIHL6Jo4nUqnUamDXruK669u35V+jVaviumsPD/3HSERERGSWMjKAh7a/K6FbN8DNTWzb9SheXiKxHjECaNlSvzESUaUw0SYtJ08W112np8s/v2FD8W/9qFHih1XWXRMREVGNJ0nA0aPAli3A5s3AX38BFy6ILVoexdISGDoUWL5c+/mmTYGXXhJfuNq25ZctIhPFRJtw9Sqwfr2ou05Oln9+rVpih4mQEKB/f8DGRv8xEhEREZmVvDxg926RXG/ZApw/r/36li3A5MllX+OFF0Si7ekpkuuXXuIKskRmgol2DXXvHrB1qxi9/u23itVdP/20SK5feAFwdNR/jERERERm5epV8cVq61Zg27aya+82by4/0e7ZU4yCMLkmMjtMtGsQtVqsqxEdLXaKyM6Wfw0vr+K66yZN9B8jERERkdlQq0Ui/OuvQGwscOiQmCauix07gMxMwMnp0W2srEQtHhGZHSbaNUBqqkiuV68uOWtJFw0aAMOHi7rrLl34gyoRERHVYNevi21Y4uLEn9euVew6BQVi9HvECP3GR0QmgYl2NXXtmqi7jo4GDh6Uf75CAQweLEavAwJYd01EREQ13DffAP/7nxjBrszuuLa2QN++wJAhQL9+eguPiEwLE+1q5P597brrggL51+jZUyTXL75Y9kwmIiIiohrl0iUxNbwinJ2BZ58Voxj9+wN16+o3NiIyOUy0zZxaDfz5Z3HddVaW/Gs88YRIrl9+WSxqSURERFSj3L5dfvLr7w/Mn6/7NVu3Fsn1s88CXbsC1vzaTVST8L94M3X6dHHddVqa/PPr1xd11yEhwFNPse6aiIiIapCMDGDnTnEkJgL5+cC5c2Wf06WLmO6XmVn667VqiSnhAweKg6MXRDUaE20zcuMG8MMPYr/r/fvln29rCwwaJJLrAQPEYyIiIqJq78oVYNeu4uPkyZJt0tLKTo6trQE/P+Cnn4qfa95cLGYTEAD06QPY2+s/diIyS0y0TVxuLhATI0avf/1V/OAqV/fuIrl+6SWgXj39x0hERERkMiRJjE7v3g388Yc4zpwp/7yEBGD8+LLbPPec+HLWv79Irps310/MRFTtMNE2QZIE7N0rkusffnj0DKWyNG9eXHfdtKneQyQiIiIyDfn5QEqKWLRmzx7xp0ol/zq6JNovvywOIqJyMNE2IWfOiJrr6Ojyy4RK4+wMDBsmEuyuXVl3TURERNVUZiaweDGQlCT2Mb13r/LX3LFDjHbwCxQR6QETbSO7eVOMWkdHi75CLhsbsZjlqFFi3Q3WXRMREVG1V6sW8MknFaupe1ijRqK+um9fsTeqjU3lr0lENR4TbSPIzRX11tHRov66In1Et27FddfOzvqPkYiIiKhK5eUBx46JvaoDAgAPj0e3rVUL6NwZ2LdP/vs89hjw9NNA794iwW7WjKPYRKR3TLSriCSJvmDVKjGCfeuW/Gs0bVpcd821N4iIiMhs3b8PHD0K/PVX8XHkiEi2AWDlSmD06LKv0a2bbol206ZAr15Az54iwW7alIk1ERkcE20DO3tW1F2vXq3bgpcPc3Iqrrvu1o39AhEREZmZjAzg779FIp2SIo5Tp4DCwkefc+hQ+Ym2r2/J5ywtgfbtgR49xLYrPXsC7u6VCJ6IqGKYaBvArVvAhg1iaviff8o/38ZG1FuPGgUEBgIKhf5jJCIiItKrO3eAEyfE9O+jR8Vx5Ahw9ar8ax06VH6bbt3EiETXruLvvr6Ajw9Qt6789yMi0jMm2nqSlwf89puYGh4TUzzzSY6uXcXI9bBhQP36+o+RiIiIyCC6davYqq6PkpIiFrEpa2Eyd3fgxg0xik1EZGKYaFeCJAEHDhTXXd+4If8anp7FdddPPKH/GImIiIhky88Hzp8H/vkHaNlSLBhWltq19fv+ublAairQpk3Z7ZhkE5GJYqJdAWlpxXXX//wj/3xHR7Fa+KhRonyIdddERERU5e7dE19qzp4Fzp0Tf545A5w+Dfz7r9jqCgCWLAGmTy/7Wt7ewPbtFY/F0xPo2BHo0kUcnTpxeh8RmTUm2jrKzAR+/FHUXf/xh/zzra2BAQNEcv3ss2JXCiIiIiKDuXMHuHBBjEwXHf/+K5LrtDRApdLtOqmp5bdp3Vq3a1lZAa1aAR06FB8dO3KvUiKqdpholyE/H4iLE8n1li1iFpNcTz1VXHfdsKH+YyQiIiLS8vTTYiGyiuwlWhpdpu95e5d8zsVFTP1u3x5o104c3t4cbSCiGoGJ9kMkSSx0GR0NrFsHXL8u/xpNmoia65AQUdZEREREVKbcXLHYy/Xr4rh6VRzXrontsVQq8ecHHwC9e5d9rVu39JdkA7qPaE+cKBLptm1Fgu3ior8YiIjMjFET7eXLl+PDDz+ESqVC+/bt8fnnn+Opp54ySiznz4ua6+ho3fqThzk4AC++KKaG9+jBtTmIiIgA0+rrq1xODrB5M5CdLWrQio6iRPjmTXHcuCHa6uLcufIT7caNxYi2vly9KuJ2cnp0m3r1gP/9T3/vSURk5oyWaP/www+YNm0aIiMj4ePjg6VLl8Lf3x+pqalwqaJfQLOyiuuud++Wf761NRAQIEauBw0C7Oz0HyMREZG5MoW+XmP/fiA2VkxdKzoKC7WPggJRN1Z05OWJkea8POD+fXHcuyf+vHsXOHUKsLd/9Hvevi2+JOhTRkb5bRo3rvj1lUqxDUrz5sV/tmwJ1KlT8WsSEdVARku0P/nkE0yYMAFjxowBAERGRiI2NhbfffcdZs2aZdD3vnYNCA8Xddf378s/v0sX0W8OH85ZUURERI9izL6+hAMHgIUL9XvNu3fLTrQdHPT7foBuC5iVlWjb2wOPPy5W+S46mjUTh6en/rfpIiKqoYySaOfl5SE5ORmzZ8/WPGdpaQk/Pz8kJSWVaJ+bm4vcB1Yiy87OrtT7OzkBO3fKS7IbNy6uu27VqlJvT0REVO0Zu68vwRB7ad69W/br9vZile3CQv29py4j2p07Ay+8AHh4iC8wHh5iAZkmTcSWWdxXlIjI4IySaF+/fh2FhYVwdXXVet7V1RWnTp0q0T4iIgILFizQ2/vb2AAjRgDLlpXdrm5dUXcdEgL06sW6ayIiIl0Zu68vwRDJ5Z075b+ng0PlFyazsQFcXcXh6Vl++4AAcRARkdGYxarjs2fPxrRp0zSPs7Oz0bgy9UcQyXNpibaVFeDvLxY1GzyYdddERERVwRB9vRZjjGgDJRPtWrXE1Lp69cTe0c7O4u8NGmgfLi5iX1AXF8DRkaPQRERmxiiJdoMGDWBlZYWMh6Y/ZWRkQKlUlmivUCigUCj0GkPnzoCXl1jHBAA6dRLJ9fDh4gdjIiIiqjhT6Ou16JKoWluL0eOiQ6EoPmxtxa/vdnYiWbaz022BsJgYcd169UTCzD2kiYhqBKMk2ra2tujcuTMSEhIwZMgQAIBarUZCQgLCw8OrJAYLC2DKFCAtTYxut25dJW9LRERUI5hCX69l3Dix2EpRwm1hIaaxFR0WFoYZNW7TRv/XJCIik2e0qePTpk1DaGgounTpgqeeegpLly7FnTt3NCuTVoX/+78qeysiIqIaxxT6eg1bW3EQERFVAaMl2sOGDcO1a9cwb948qFQqdOjQAXFxcSUWTSEiIiLzxL6eiIhqKgtJkiRjByFXVlYWnJyccOHCBTgYYo9KIiIimYoW78rMzISjo6OxwzF77OuJiMjUyOnrzWLV8Yfdvn0bAPS7GikREZEe3L59m4m2HrCvJyIiU6VLX2+WI9pqtRqXL19G3bp1YVHJhUuKfpXgL+by8L5VDO+bfLxnFcP7Jl9l75kkSbh9+zbc3d1haWlpgAhrFn329QD/m6gI3rOK4X2Tj/esYnjfKqYy901OX2+WI9qWlpZo1KiRXq/p4ODA/4NWAO9bxfC+ycd7VjG8b/JV5p5xJFt/DNHXA/xvoiJ4zyqG900+3rOK4X2rmIreN137ev7kTkRERERERKRHTLSJiIiIiIiI9KjGJ9oKhQLvvPMOFAqFsUMxK7xvFcP7Jh/vWcXwvsnHe1a98X9f+XjPKob3TT7es4rhfauYqrpvZrkYGhEREREREZGpqvEj2kRERERERET6xESbiIiIiIiISI+YaBMRERERERHpERNtIiIiIiIiIj2q8Yn28uXL8fjjj6NWrVrw8fHBgQMHjB2SyYiIiMCTTz6JunXrwsXFBUOGDEFqaqpWm/v37yMsLAz169dHnTp1EBQUhIyMDCNFbJoWL14MCwsLTJkyRfMc71tJly5dwssvv4z69evDzs4Obdu2xaFDhzSvS5KEefPmwc3NDXZ2dvDz88Pp06eNGLHxFRYWYu7cufD09ISdnR2aNWuGhQsX4sE1LnnfgN27d2PQoEFwd3eHhYUFNm/erPW6Lvfo5s2bCA4OhoODA5ycnDBu3Djk5ORU4aegymBf/2js6/WDfb3u2N/Lw75eNybZ10s12Pr16yVbW1vpu+++k44fPy5NmDBBcnJykjIyMowdmknw9/eXVq5cKR07dkxKSUmRBg4cKHl4eEg5OTmaNpMmTZIaN24sJSQkSIcOHZK6du0qdevWzYhRm5YDBw5Ijz/+uNSuXTvp9ddf1zzP+6bt5s2bUpMmTaTRo0dL+/fvl86dOyf9/vvv0pkzZzRtFi9eLDk6OkqbN2+W/v77b2nw4MGSp6endO/ePSNGblzvvfeeVL9+fSkmJkZKS0uTfvzxR6lOnTrSZ599pmnD+yZJv/76q/T2229LGzdulABImzZt0npdl3sUEBAgtW/fXtq3b5/0xx9/SM2bN5dGjBhRxZ+EKoJ9fdnY11ce+3rdsb+Xj329bkyxr6/RifZTTz0lhYWFaR4XFhZK7u7uUkREhBGjMl1Xr16VAEi7du2SJEmSMjMzJRsbG+nHH3/UtDl58qQEQEpKSjJWmCbj9u3b0hNPPCHFx8dLTz/9tKbz5X0raebMmVKPHj0e+bparZaUSqX04Ycfap7LzMyUFAqFtG7duqoI0SQFBgZKY8eO1Xpu6NChUnBwsCRJvG+lebjz1eUenThxQgIgHTx4UNPmt99+kywsLKRLly5VWexUMezr5WFfLw/7ennY38vHvl4+U+nra+zU8by8PCQnJ8PPz0/znKWlJfz8/JCUlGTEyExXVlYWAMDZ2RkAkJycjPz8fK176OXlBQ8PD95DAGFhYQgMDNS6PwDvW2m2bNmCLl264MUXX4SLiws6duyIr7/+WvN6WloaVCqV1j1zdHSEj49Pjb1nANCtWzckJCTgn3/+AQD8/fff2LNnDwYMGACA900XutyjpKQkODk5oUuXLpo2fn5+sLS0xP79+6s8ZtId+3r52NfLw75eHvb38rGvrzxj9fXWlQvbfF2/fh2FhYVwdXXVet7V1RWnTp0yUlSmS61WY8qUKejevTvatGkDAFCpVLC1tYWTk5NWW1dXV6hUKiNEaTrWr1+Pv/76CwcPHizxGu9bSefOncOKFSswbdo0vPXWWzh48CBee+012NraIjQ0VHNfSvvvtabeMwCYNWsWsrOz4eXlBSsrKxQWFuK9995DcHAwAPC+6UCXe6RSqeDi4qL1urW1NZydnXkfTRz7ennY18vDvl4+9vfysa+vPGP19TU20SZ5wsLCcOzYMezZs8fYoZi8Cxcu4PXXX0d8fDxq1apl7HDMglqtRpcuXfD+++8DADp27Ihjx44hMjISoaGhRo7OdG3YsAFr1qzB2rVr0bp1a6SkpGDKlClwd3fnfSMi2djX6459fcWwv5ePfb35qrFTxxs0aAArK6sSqz9mZGRAqVQaKSrTFB4ejpiYGOzcuRONGjXSPK9UKpGXl4fMzEyt9jX9HiYnJ+Pq1avo1KkTrK2tYW1tjV27dmHZsmWwtraGq6sr79tD3Nzc4O3trfVcq1atkJ6eDgCa+8L/XrVNnz4ds2bNwvDhw9G2bVuEhIRg6tSpiIiIAMD7pgtd7pFSqcTVq1e1Xi8oKMDNmzd5H00c+3rdsa+Xh319xbC/l499feUZq6+vsYm2ra0tOnfujISEBM1zarUaCQkJ8PX1NWJkpkOSJISHh2PTpk3YsWMHPD09tV7v3LkzbGxstO5hamoq0tPTa/Q97NevH44ePYqUlBTN0aVLFwQHB2v+zvumrXv37iW2k/nnn3/QpEkTAICnpyeUSqXWPcvOzsb+/ftr7D0DgLt378LSUvufcSsrK6jVagC8b7rQ5R75+voiMzMTycnJmjY7duyAWq2Gj49PlcdMumNfXz729RXDvr5i2N/Lx76+8ozW11doCbVqYv369ZJCoZCioqKkEydOSBMnTpScnJwklUpl7NBMwuTJkyVHR0cpMTFRunLliua4e/eups2kSZMkDw8PaceOHdKhQ4ckX19fydfX14hRm6YHVyKVJN63hx04cECytraW3nvvPen06dPSmjVrJHt7e2n16tWaNosXL5acnJykX375RTpy5Ij03HPP1bitKx4WGhoqPfbYY5otPzZu3Cg1aNBAmjFjhqYN75tYFfjw4cPS4cOHJQDSJ598Ih0+fFg6f/68JEm63aOAgACpY8eO0v79+6U9e/ZITzzxBLf3MhPs68vGvl5/2NeXj/29fOzrdWOKfX2NTrQlSZI+//xzycPDQ7K1tZWeeuopad++fcYOyWQAKPVYuXKlps29e/ekV155RapXr55kb28vPf/889KVK1eMF7SJerjz5X0raevWrVKbNm0khUIheXl5SV999ZXW62q1Wpo7d67k6uoqKRQKqV+/flJqaqqRojUN2dnZ0uuvvy55eHhItWrVkpo2bSq9/fbbUm5urqYN75sk7dy5s9R/y0JDQyVJ0u0e3bhxQxoxYoRUp04dycHBQRozZox0+/ZtI3waqgj29Y/Gvl5/2Nfrhv29POzrdWOKfb2FJElSxcbCiYiIiIiIiOhhNbZGm4iIiIiIiMgQmGgTERERERER6RETbSIiIiIiIiI9YqJNREREREREpEdMtImIiIiIiIj0iIk2ERERERERkR4x0SYiIiIiIiLSIybaRERERERERHrERJuIiIiIiIhIj5hoExEREREREekRE20iIiIiIiIiPWKiTURERERERKRH/w/WhDAdj/NEqwAAAABJRU5ErkJggg==\n"},"metadata":{}}],"source":["import matplotlib.pyplot as plt\n","import numpy as np\n","\n","x = np.arange(0,100)\n","y = x*2\n","plt.figure(figsize=(12,2))\n","plt.subplot(1,2,1)\n","plt.plot(x,y,c='b',lw='4')\n","\n","\n","z = x**2\n","plt.subplot(1,2,2)\n","plt.plot(x,z,c='r',ls='--',lw='4')\n","\n","plt.show()"]},{"cell_type":"markdown","metadata":{"id":"-ONbbrWEST2t"},"source":["# Great Job!"]}],"metadata":{"kernelspec":{"display_name":"Python 3 (ipykernel)","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.12"},"colab":{"provenance":[{"file_id":"1hYhHtDxal3ubd7qG8XFZDk8-XHoB_b1P","timestamp":1764999687823},{"file_id":"1TktwCMc95E3iZHIyOHJO0-h_UzQpVe4U","timestamp":1764745279737},{"file_id":"1tZurHlHqMzny5-rSxWhXrkRUpMckdLl5","timestamp":1731497437912}]}},"nbformat":4,"nbformat_minor":0} \ No newline at end of file diff --git a/Assignment 1/Assignment1_Adiba/QV_Numpy_AdibaAreej .ipynb b/Assignment 1/Assignment1_Adiba/QV_Numpy_AdibaAreej .ipynb new file mode 100644 index 00000000..4331f46f --- /dev/null +++ b/Assignment 1/Assignment1_Adiba/QV_Numpy_AdibaAreej .ipynb @@ -0,0 +1 @@ +{"cells":[{"cell_type":"markdown","metadata":{"id":"HfJB9JnS9xlK"},"source":["# NumPy Exercises\n","\n","Now that we've learned about NumPy let's test your knowledge. We'll start off with a few simple tasks, and then you'll be asked some more complicated questions."]},{"cell_type":"markdown","metadata":{"id":"u9POEVg29xlM"},"source":["#### Import NumPy as np"]},{"cell_type":"code","execution_count":6,"metadata":{"id":"yyS-PuO_9xlM","executionInfo":{"status":"ok","timestamp":1764951429413,"user_tz":-330,"elapsed":616,"user":{"displayName":"Adiba Areej","userId":"02303988763299783222"}}},"outputs":[],"source":["import numpy as np"]},{"cell_type":"markdown","metadata":{"id":"ehlpKUPc9xlM"},"source":["#### Create an array of 10 zeros"]},{"cell_type":"code","execution_count":5,"metadata":{"id":"aEQkK-Dw9xlN","outputId":"c8f6417f-183a-4456-fa83-6dff1305bcca","colab":{"base_uri":"https://localhost:8080/"},"executionInfo":{"status":"ok","timestamp":1764951421226,"user_tz":-330,"elapsed":7,"user":{"displayName":"Adiba Areej","userId":"02303988763299783222"}}},"outputs":[{"output_type":"stream","name":"stdout","text":["[0. 0. 0. 0. 0. 0. 0. 0. 0. 0.]\n"]}],"source":["import numpy as np\n","\n","zeros = np.zeros(10)\n","print(zeros)\n"]},{"cell_type":"markdown","metadata":{"id":"6QHp05Ei9xlN"},"source":["#### Create an array of 10 ones"]},{"cell_type":"code","execution_count":7,"metadata":{"scrolled":true,"id":"ebe9xrC29xlN","outputId":"80fb795b-a1fb-45f0-d9d6-36237b9a862c","colab":{"base_uri":"https://localhost:8080/"},"executionInfo":{"status":"ok","timestamp":1764951470169,"user_tz":-330,"elapsed":617,"user":{"displayName":"Adiba Areej","userId":"02303988763299783222"}}},"outputs":[{"output_type":"stream","name":"stdout","text":["[1. 1. 1. 1. 1. 1. 1. 1. 1. 1.]\n"]}],"source":["import numpy as np\n","\n","ones = np.ones(10)\n","print(ones)\n"]},{"cell_type":"markdown","metadata":{"id":"ziS-l3xp9xlO"},"source":["#### Create an array of 10 fives"]},{"cell_type":"code","execution_count":12,"metadata":{"scrolled":true,"outputId":"cf57240e-2548-45a8-a93d-6c1278448c04","colab":{"base_uri":"https://localhost:8080/"},"executionInfo":{"status":"ok","timestamp":1764951682241,"user_tz":-330,"elapsed":6,"user":{"displayName":"Adiba Areej","userId":"02303988763299783222"}},"id":"ymzVOKDAUIMS"},"outputs":[{"output_type":"stream","name":"stdout","text":["[5. 5. 5. 5. 5. 5. 5. 5. 5. 5.]\n"]}],"source":["import numpy as np\n","\n","fives = np.ones(10)*5\n","print(fives)\n"]},{"cell_type":"markdown","metadata":{"id":"kBugMXlC9xlO"},"source":["#### Create an array of the integers from 10 to 50"]},{"cell_type":"code","execution_count":13,"metadata":{"id":"JsO6qS9R9xlO","outputId":"127d325b-47c5-4094-c999-9e63b9e0780c","colab":{"base_uri":"https://localhost:8080/"},"executionInfo":{"status":"ok","timestamp":1764951763136,"user_tz":-330,"elapsed":622,"user":{"displayName":"Adiba Areej","userId":"02303988763299783222"}}},"outputs":[{"output_type":"stream","name":"stdout","text":["[10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33\n"," 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50]\n"]}],"source":["import numpy as np\n","\n","arr = np.arange(10, 51)\n","print(arr)\n"]},{"cell_type":"markdown","metadata":{"id":"dMw4V2L79xlO"},"source":["#### Create an array of all the even integers from 10 to 50"]},{"cell_type":"code","execution_count":17,"metadata":{"id":"4lK-5SQV9xlO","outputId":"7e864d34-bc10-456b-b805-5dcc436ccf30","colab":{"base_uri":"https://localhost:8080/"},"executionInfo":{"status":"ok","timestamp":1764952068500,"user_tz":-330,"elapsed":610,"user":{"displayName":"Adiba Areej","userId":"02303988763299783222"}}},"outputs":[{"output_type":"stream","name":"stdout","text":["[10 12 14 16 18 20 22 24 26 28 30 32 34 36 38 40 42 44 46 48 50]\n"]}],"source":["import numpy as np\n","\n","arr=np.arange(10,51,2)\n","print(arr)"]},{"cell_type":"markdown","metadata":{"id":"g__F0rB39xlP"},"source":["#### Create a 3x3 matrix with values ranging from 0 to 8"]},{"cell_type":"code","execution_count":null,"metadata":{"id":"MmVXCn0K9xlP","outputId":"42798be3-ffbb-46b7-eed3-94f9c362bd55","colab":{"base_uri":"https://localhost:8080/"},"executionInfo":{"status":"ok","timestamp":1764951987497,"user_tz":-330,"elapsed":520,"user":{"displayName":"Adiba Areej","userId":"02303988763299783222"}}},"outputs":[{"output_type":"stream","name":"stdout","text":["[[0 1 2]\n"," [3 4 5]\n"," [6 7 8]]\n"]}],"source":["import numpy as np\n","\n","arr = np.array([0, 1, 2, 3, 4, 5, 6, 7, 8])\n","\n","newarr = arr.reshape(3, 3)\n","\n","print(newarr)"]},{"cell_type":"markdown","metadata":{"id":"4YfT0aLo9xlP"},"source":["#### Create a 3x3 identity matrix"]},{"cell_type":"code","execution_count":19,"metadata":{"id":"UHa42UpQ9xlP","outputId":"23da7747-234e-4542-d797-fc4f44069a6a","colab":{"base_uri":"https://localhost:8080/"},"executionInfo":{"status":"ok","timestamp":1764952146527,"user_tz":-330,"elapsed":656,"user":{"displayName":"Adiba Areej","userId":"02303988763299783222"}}},"outputs":[{"output_type":"stream","name":"stdout","text":["[[1 0 0]\n"," [0 1 0]\n"," [0 0 1]]\n"]}],"source":["import numpy as np\n","\n","arr=np.array([1,0,0,0,1,0,0,0,1])\n","\n","newarr=arr.reshape(3,3)\n","\n","print(newarr)"]},{"cell_type":"markdown","metadata":{"id":"bfwDbjhI9xlP"},"source":["#### Use NumPy to generate a random number between 0 and 1"]},{"cell_type":"code","execution_count":20,"metadata":{"id":"Z0OroZxW9xlP","outputId":"815992c8-d155-4dc1-db6b-453365222a55","colab":{"base_uri":"https://localhost:8080/"},"executionInfo":{"status":"ok","timestamp":1764952293197,"user_tz":-330,"elapsed":552,"user":{"displayName":"Adiba Areej","userId":"02303988763299783222"}}},"outputs":[{"output_type":"stream","name":"stdout","text":["0.44873755764403556\n"]}],"source":["import numpy as np\n","\n","random_number = np.random.random()\n","print(random_number)"]},{"cell_type":"markdown","metadata":{"id":"rLW0Jjzp9xlP"},"source":["#### Use NumPy to generate an array of 25 random numbers sampled from a standard normal distribution"]},{"cell_type":"code","execution_count":23,"metadata":{"id":"szluy14n9xlP","outputId":"decb637b-e244-44fb-f3e0-f7bd6b807394","colab":{"base_uri":"https://localhost:8080/"},"executionInfo":{"status":"ok","timestamp":1764952372007,"user_tz":-330,"elapsed":544,"user":{"displayName":"Adiba Areej","userId":"02303988763299783222"}}},"outputs":[{"output_type":"stream","name":"stdout","text":["[-0.31153456 -0.51032691 0.32761954 -0.67882888 -0.13969974 0.98182904\n"," 0.13033523 -0.23910306 0.52359842 -0.61510211 -1.48710326 -0.22082127\n"," 0.6309915 0.77957925 -0.83436581 -0.65071165 1.41131533 0.58720152\n"," -0.50833235 -0.89765174 0.28309416 -1.74200405 -0.54913741 -0.72888966\n"," 0.6117623 ]\n"]}],"source":["import numpy as np\n","\n","# Option 1 — using np.random.randn\n","arr1 = np.random.randn(25)\n","print(arr1)\n"]},{"cell_type":"markdown","metadata":{"id":"_GhI8LYn9xlP"},"source":["#### Create the following matrix:"]},{"cell_type":"code","execution_count":24,"metadata":{"id":"wS1ZBddV9xlP","outputId":"e6b1880d-1c62-4871-8ebc-99afab3ec575","colab":{"base_uri":"https://localhost:8080/"},"executionInfo":{"status":"ok","timestamp":1764952449730,"user_tz":-330,"elapsed":568,"user":{"displayName":"Adiba Areej","userId":"02303988763299783222"}}},"outputs":[{"output_type":"stream","name":"stdout","text":["[[0.01 0.02 0.03 0.04 0.05 0.06 0.07 0.08 0.09 0.1 ]\n"," [0.11 0.12 0.13 0.14 0.15 0.16 0.17 0.18 0.19 0.2 ]\n"," [0.21 0.22 0.23 0.24 0.25 0.26 0.27 0.28 0.29 0.3 ]\n"," [0.31 0.32 0.33 0.34 0.35 0.36 0.37 0.38 0.39 0.4 ]\n"," [0.41 0.42 0.43 0.44 0.45 0.46 0.47 0.48 0.49 0.5 ]\n"," [0.51 0.52 0.53 0.54 0.55 0.56 0.57 0.58 0.59 0.6 ]\n"," [0.61 0.62 0.63 0.64 0.65 0.66 0.67 0.68 0.69 0.7 ]\n"," [0.71 0.72 0.73 0.74 0.75 0.76 0.77 0.78 0.79 0.8 ]\n"," [0.81 0.82 0.83 0.84 0.85 0.86 0.87 0.88 0.89 0.9 ]\n"," [0.91 0.92 0.93 0.94 0.95 0.96 0.97 0.98 0.99 1. ]]\n"]}],"source":["import numpy as np\n","\n","# Create a 1‑D array of 100 equally spaced values from 0.01 to 1.00\n","arr = np.linspace(0.01, 1.00, num=100)\n","\n","# Reshape into a 10×10 matrix\n","matrix = arr.reshape(10, 10)\n","\n","print(matrix)\n"]},{"cell_type":"markdown","metadata":{"id":"3OqA-QtL9xlQ"},"source":["#### Create an array of 20 linearly spaced points between 0 and 1:"]},{"cell_type":"code","execution_count":25,"metadata":{"id":"FNXTugQ29xlQ","outputId":"e04daf92-6e08-4483-886b-1d6b3e2b4fd2","colab":{"base_uri":"https://localhost:8080/"},"executionInfo":{"status":"ok","timestamp":1764952513149,"user_tz":-330,"elapsed":442,"user":{"displayName":"Adiba Areej","userId":"02303988763299783222"}}},"outputs":[{"output_type":"stream","name":"stdout","text":["[0. 0.05263158 0.10526316 0.15789474 0.21052632 0.26315789\n"," 0.31578947 0.36842105 0.42105263 0.47368421 0.52631579 0.57894737\n"," 0.63157895 0.68421053 0.73684211 0.78947368 0.84210526 0.89473684\n"," 0.94736842 1. ]\n"]}],"source":["import numpy as np\n","\n","arr = np.linspace(0, 1, 20)\n","print(arr)\n"]},{"cell_type":"markdown","metadata":{"id":"elx0EaxE9xlQ"},"source":["## Numpy Indexing and Selection\n","\n","Now you will be given a few matrices, and be asked to replicate the resulting matrix outputs:"]},{"cell_type":"markdown","metadata":{"id":"2Tbm9kVf9xlQ"},"source":[]},{"cell_type":"code","execution_count":30,"metadata":{"id":"Ft8P8e249xlQ","outputId":"010fb181-9a7e-4070-f477-9b3cf51e09f1","colab":{"base_uri":"https://localhost:8080/"},"executionInfo":{"status":"ok","timestamp":1764952684392,"user_tz":-330,"elapsed":4,"user":{"displayName":"Adiba Areej","userId":"02303988763299783222"}}},"outputs":[{"output_type":"stream","name":"stdout","text":["[[ 1 2 3 4 5]\n"," [ 6 7 8 9 10]\n"," [11 12 13 14 15]\n"," [16 17 18 19 20]\n"," [21 22 23 24 25]]\n"]}],"source":["import numpy as np\n","\n","arr=np.arange(1,26)\n","\n","newarr=arr.reshape(5,5)\n","\n","print(newarr)"]},{"cell_type":"code","execution_count":8,"metadata":{"id":"WrcFkpGL9xlQ","outputId":"ea28341f-5dc0-4f82-bdf4-0c87b1b342d3","colab":{"base_uri":"https://localhost:8080/"},"executionInfo":{"status":"ok","timestamp":1764964532634,"user_tz":-330,"elapsed":10,"user":{"displayName":"Adiba Areej","userId":"02303988763299783222"}}},"outputs":[{"output_type":"stream","name":"stdout","text":["[[[12 13 14 15 16]\n"," [17 18 19 20 21]\n"," [22 23 24 25 26]]]\n"]}],"source":["import numpy as np\n","\n","arr=np.array([[[12,13,14,15,16],[17,18,19,20,21],[22,23,24,25,26]]])\n","\n","print(arr[::, 0:4])\n"]},{"cell_type":"code","execution_count":22,"metadata":{"id":"rnUSntEa9xlQ","outputId":"c30c7061-aa34-400b-b284-ef9c56b69f44","colab":{"base_uri":"https://localhost:8080/"},"executionInfo":{"status":"ok","timestamp":1764966653519,"user_tz":-330,"elapsed":9,"user":{"displayName":"Adiba Areej","userId":"02303988763299783222"}}},"outputs":[{"output_type":"stream","name":"stdout","text":["20\n"]}],"source":["import numpy as np\n","\n","arr=np.array(20)\n","\n","print(arr)"]},{"cell_type":"code","execution_count":19,"metadata":{"id":"3DMBC_wp9xlQ","outputId":"806f569a-40ea-4e42-e922-445c93fa62f5","colab":{"base_uri":"https://localhost:8080/"},"executionInfo":{"status":"ok","timestamp":1764966608897,"user_tz":-330,"elapsed":10,"user":{"displayName":"Adiba Areej","userId":"02303988763299783222"}}},"outputs":[{"output_type":"stream","name":"stdout","text":["[[ 2]\n"," [ 7]\n"," [12]]\n"]}],"source":["import numpy as np\n","\n","arr=np.array([2,7,12])\n","\n","newarr=arr.reshape(3,1)\n","\n","print(newarr)\n"]},{"cell_type":"code","execution_count":5,"metadata":{"id":"pGjD4HUK9xlQ","outputId":"e08d9bdb-41cb-4da7-b399-b37c9f59a84a","colab":{"base_uri":"https://localhost:8080/"},"executionInfo":{"status":"ok","timestamp":1764963669777,"user_tz":-330,"elapsed":623,"user":{"displayName":"Adiba Areej","userId":"02303988763299783222"}}},"outputs":[{"output_type":"stream","name":"stdout","text":["[21 22 23 24 25]\n"]}],"source":["import numpy as np\n","\n","arr=np.arange(21,26)\n","\n","print(arr[::])"]},{"cell_type":"code","execution_count":6,"metadata":{"id":"dqsdpxUo9xlR","outputId":"fe3f32dd-f83d-4b32-b567-5c3f0f3adf70","colab":{"base_uri":"https://localhost:8080/"},"executionInfo":{"status":"ok","timestamp":1764963782520,"user_tz":-330,"elapsed":10,"user":{"displayName":"Adiba Areej","userId":"02303988763299783222"}}},"outputs":[{"output_type":"stream","name":"stdout","text":["[[16 17 18 19 20]\n"," [21 22 23 24 25]]\n"]}],"source":["import numpy as np\n","\n","arr=np.arange(16,26)\n","\n","newarr=arr.reshape(2,5)\n","\n","print(newarr)\n"]},{"cell_type":"markdown","metadata":{"collapsed":true,"id":"6vtHuVJU9xlf"},"source":["# Great Job!"]}],"metadata":{"kernelspec":{"display_name":"Python 3 (ipykernel)","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.12"},"colab":{"provenance":[{"file_id":"1uvwMRRqMFNlaYoWGT6JhFghskgPy9dzJ","timestamp":1764951238530},{"file_id":"1PacBskAxI7FPP4LIyB_3MysbL8ArUHsV","timestamp":1764745354238},{"file_id":"19ZajGBzqADvFnQ0kzbkad_udXeAh26pj","timestamp":1731497620277}]}},"nbformat":4,"nbformat_minor":0} \ No newline at end of file diff --git a/Assignment 1/Assignment1_Adiba/QV_Pandas_AdibaAreej.ipynb b/Assignment 1/Assignment1_Adiba/QV_Pandas_AdibaAreej.ipynb new file mode 100644 index 00000000..1f5a27cb --- /dev/null +++ b/Assignment 1/Assignment1_Adiba/QV_Pandas_AdibaAreej.ipynb @@ -0,0 +1 @@ +{"cells":[{"cell_type":"markdown","source":["## General Instructions for all Assignments"],"metadata":{"id":"AWDeauE3Bdzs"}},{"cell_type":"markdown","source":["1. Fork the repository and make a copy of this notebook and rename it as your name_Assignment1_Pandas\n","2. Generate a pull request. The pull request message should also be yourname_Assignment1"],"metadata":{"id":"Xaf9uMvXBJEC"}},{"cell_type":"markdown","source":["\n","1. This code notebook is composed of cells. Each cell is either text or Python code.\n","2. To run a cell of code, click the \"play button\" icon to the left of the cell or click on the cell and press \"Shift+Enter\" on your keyboard. This will execute the Python code contained in the cell. Executing a cell that defines a variable is important before executing or authoring a cell that depends on that previously created variable assignment.\n"],"metadata":{"id":"4_6uxHVGB_XT"}},{"cell_type":"markdown","source":[],"metadata":{"id":"b68xNjkKCBIF"}},{"cell_type":"code","execution_count":null,"metadata":{"id":"BiD4gl6_cAYs"},"outputs":[],"source":["#import pandas library\n","import pandas as pd"]},{"cell_type":"code","execution_count":27,"metadata":{"id":"JUtm9KricAYu","executionInfo":{"status":"ok","timestamp":1765016458974,"user_tz":-330,"elapsed":3,"user":{"displayName":"Adiba Areej","userId":"02303988763299783222"}}},"outputs":[],"source":["import pandas as pd\n","df = pd.read_csv('/Iris.csv') #enter path for the Iris csv in the brackets\n","#reads the csv file and stores it in a data frame(define in the pandas library)"]},{"cell_type":"code","execution_count":null,"metadata":{"id":"qzUnSkfRcAYu"},"outputs":[],"source":["dictionary = {'col':[4,2,3], 'col2':[4,7,6], 'col3':[7,10,9]}"]},{"cell_type":"code","execution_count":null,"metadata":{"id":"ACswu4BXcAYu"},"outputs":[],"source":["dictionarydf = pd.DataFrame.from_dict(dictionary)\n","#it creats a new datafram which stores the dictionary made above"]},{"cell_type":"code","source":["df.head()\n","#shows top 5 rows (row indexing starts from 0)"],"metadata":{"colab":{"base_uri":"https://localhost:8080/","height":206},"id":"MvYNz8E2dp3K","executionInfo":{"status":"ok","timestamp":1764745217710,"user_tz":-330,"elapsed":46,"user":{"displayName":"Smira Jaitley","userId":"11414106947643866646"}},"outputId":"366bc39c-7df6-4cc7-ae60-03aedd2571f4"},"execution_count":null,"outputs":[{"output_type":"execute_result","data":{"text/plain":[" Id SepalLengthCm SepalWidthCm PetalLengthCm PetalWidthCm Species\n","0 1 5.1 3.5 1.4 0.2 Iris-setosa\n","1 2 4.9 3.0 1.4 0.2 Iris-setosa\n","2 3 4.7 3.2 1.3 0.2 Iris-setosa\n","3 4 4.6 3.1 1.5 0.2 Iris-setosa\n","4 5 5.0 3.6 1.4 0.2 Iris-setosa"],"text/html":["\n","
\n","
\n","\n","\n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n","
IdSepalLengthCmSepalWidthCmPetalLengthCmPetalWidthCmSpecies
015.13.51.40.2Iris-setosa
124.93.01.40.2Iris-setosa
234.73.21.30.2Iris-setosa
344.63.11.50.2Iris-setosa
455.03.61.40.2Iris-setosa
\n","
\n","
\n","\n","
\n"," \n","\n"," \n","\n"," \n","
\n","\n","\n","
\n"," \n","\n","\n","\n"," \n","
\n","\n","
\n","
\n"],"application/vnd.google.colaboratory.intrinsic+json":{"type":"dataframe","summary":"{\n \"name\": \"#shows top 5 rows (row indexing starts from 0)\",\n \"rows\": 5,\n \"fields\": [\n {\n \"column\": \"Id\",\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": 1,\n \"min\": 1,\n \"max\": 5,\n \"num_unique_values\": 5,\n \"samples\": [\n 2,\n 5,\n 3\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"SepalLengthCm\",\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": 0.2073644135332772,\n \"min\": 4.6,\n \"max\": 5.1,\n \"num_unique_values\": 5,\n \"samples\": [\n 4.9,\n 5.0,\n 4.7\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"SepalWidthCm\",\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": 0.2588435821108957,\n \"min\": 3.0,\n \"max\": 3.6,\n \"num_unique_values\": 5,\n \"samples\": [\n 3.0,\n 3.6,\n 3.2\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"PetalLengthCm\",\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": 0.07071067811865474,\n \"min\": 1.3,\n \"max\": 1.5,\n \"num_unique_values\": 3,\n \"samples\": [\n 1.4,\n 1.3,\n 1.5\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"PetalWidthCm\",\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": 0.0,\n \"min\": 0.2,\n \"max\": 0.2,\n \"num_unique_values\": 1,\n \"samples\": [\n 0.2\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"Species\",\n \"properties\": {\n \"dtype\": \"category\",\n \"num_unique_values\": 1,\n \"samples\": [\n \"Iris-setosa\"\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n }\n ]\n}"}},"metadata":{},"execution_count":32}]},{"cell_type":"code","execution_count":28,"metadata":{"id":"iAx3B-TacAYu","colab":{"base_uri":"https://localhost:8080/","height":557},"executionInfo":{"status":"ok","timestamp":1765016462039,"user_tz":-330,"elapsed":613,"user":{"displayName":"Adiba Areej","userId":"02303988763299783222"}},"outputId":"53ccb696-fcad-44e9-b91f-81ded87af169"},"outputs":[{"output_type":"execute_result","data":{"text/plain":[" Id SepalLengthCm SepalWidthCm PetalLengthCm PetalWidthCm Species\n","0 1 5.1 3.5 1.4 0.2 Iris-setosa\n","1 2 4.9 3.0 1.4 0.2 Iris-setosa\n","2 3 4.7 3.2 1.3 0.2 Iris-setosa\n","3 4 4.6 3.1 1.5 0.2 Iris-setosa\n","4 5 5.0 3.6 1.4 0.2 Iris-setosa\n","5 6 5.4 3.9 1.7 0.4 Iris-setosa\n","6 7 4.6 3.4 1.4 0.3 Iris-setosa\n","7 8 5.0 3.4 1.5 0.2 Iris-setosa\n","8 9 4.4 2.9 1.4 0.2 Iris-setosa\n","9 10 4.9 3.1 1.5 0.1 Iris-setosa"],"text/html":["\n","
\n","
\n","\n","\n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n","
IdSepalLengthCmSepalWidthCmPetalLengthCmPetalWidthCmSpecies
015.13.51.40.2Iris-setosa
124.93.01.40.2Iris-setosa
234.73.21.30.2Iris-setosa
344.63.11.50.2Iris-setosa
455.03.61.40.2Iris-setosa
565.43.91.70.4Iris-setosa
674.63.41.40.3Iris-setosa
785.03.41.50.2Iris-setosa
894.42.91.40.2Iris-setosa
9104.93.11.50.1Iris-setosa
\n","
\n","
\n","\n","
\n"," \n","\n"," \n","\n"," \n","
\n","\n","\n","
\n"," \n","\n","\n","\n"," \n","
\n","\n","
\n","
\n"],"application/vnd.google.colaboratory.intrinsic+json":{"type":"dataframe","variable_name":"df","summary":"{\n \"name\": \"df\",\n \"rows\": 150,\n \"fields\": [\n {\n \"column\": \"Id\",\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": 43,\n \"min\": 1,\n \"max\": 150,\n \"num_unique_values\": 150,\n \"samples\": [\n 74,\n 19,\n 119\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"SepalLengthCm\",\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": 0.8280661279778629,\n \"min\": 4.3,\n \"max\": 7.9,\n \"num_unique_values\": 35,\n \"samples\": [\n 6.2,\n 4.5,\n 5.6\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"SepalWidthCm\",\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": 0.4335943113621737,\n \"min\": 2.0,\n \"max\": 4.4,\n \"num_unique_values\": 23,\n \"samples\": [\n 2.3,\n 4.0,\n 3.5\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"PetalLengthCm\",\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": 1.7644204199522617,\n \"min\": 1.0,\n \"max\": 6.9,\n \"num_unique_values\": 43,\n \"samples\": [\n 6.7,\n 3.8,\n 3.7\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"PetalWidthCm\",\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": 0.7631607417008414,\n \"min\": 0.1,\n \"max\": 2.5,\n \"num_unique_values\": 22,\n \"samples\": [\n 0.2,\n 1.2,\n 1.3\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"Species\",\n \"properties\": {\n \"dtype\": \"category\",\n \"num_unique_values\": 3,\n \"samples\": [\n \"Iris-setosa\",\n \"Iris-versicolor\",\n \"Iris-virginica\"\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n }\n ]\n}"}},"metadata":{},"execution_count":28}],"source":["import pandas as pd\n","df = pd.read_csv('/Iris.csv')\n","#Similiar to above, show 10 rows from the top\n","df.head(10)"]},{"cell_type":"code","execution_count":29,"metadata":{"id":"P9RtjFLQcAYv","colab":{"base_uri":"https://localhost:8080/","height":800},"executionInfo":{"status":"ok","timestamp":1765016471770,"user_tz":-330,"elapsed":6,"user":{"displayName":"Adiba Areej","userId":"02303988763299783222"}},"outputId":"a543ab03-9848-4e94-fcb0-c26acc59a76b"},"outputs":[{"output_type":"execute_result","data":{"text/plain":[" Id SepalLengthCm SepalWidthCm PetalLengthCm PetalWidthCm \\\n","135 136 7.7 3.0 6.1 2.3 \n","136 137 6.3 3.4 5.6 2.4 \n","137 138 6.4 3.1 5.5 1.8 \n","138 139 6.0 3.0 4.8 1.8 \n","139 140 6.9 3.1 5.4 2.1 \n","140 141 6.7 3.1 5.6 2.4 \n","141 142 6.9 3.1 5.1 2.3 \n","142 143 5.8 2.7 5.1 1.9 \n","143 144 6.8 3.2 5.9 2.3 \n","144 145 6.7 3.3 5.7 2.5 \n","145 146 6.7 3.0 5.2 2.3 \n","146 147 6.3 2.5 5.0 1.9 \n","147 148 6.5 3.0 5.2 2.0 \n","148 149 6.2 3.4 5.4 2.3 \n","149 150 5.9 3.0 5.1 1.8 \n","\n"," Species \n","135 Iris-virginica \n","136 Iris-virginica \n","137 Iris-virginica \n","138 Iris-virginica \n","139 Iris-virginica \n","140 Iris-virginica \n","141 Iris-virginica \n","142 Iris-virginica \n","143 Iris-virginica \n","144 Iris-virginica \n","145 Iris-virginica \n","146 Iris-virginica \n","147 Iris-virginica \n","148 Iris-virginica \n","149 Iris-virginica "],"text/html":["\n","
\n","
\n","\n","\n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n","
IdSepalLengthCmSepalWidthCmPetalLengthCmPetalWidthCmSpecies
1351367.73.06.12.3Iris-virginica
1361376.33.45.62.4Iris-virginica
1371386.43.15.51.8Iris-virginica
1381396.03.04.81.8Iris-virginica
1391406.93.15.42.1Iris-virginica
1401416.73.15.62.4Iris-virginica
1411426.93.15.12.3Iris-virginica
1421435.82.75.11.9Iris-virginica
1431446.83.25.92.3Iris-virginica
1441456.73.35.72.5Iris-virginica
1451466.73.05.22.3Iris-virginica
1461476.32.55.01.9Iris-virginica
1471486.53.05.22.0Iris-virginica
1481496.23.45.42.3Iris-virginica
1491505.93.05.11.8Iris-virginica
\n","
\n","
\n","\n","
\n"," \n","\n"," \n","\n"," \n","
\n","\n","\n","
\n"," \n","\n","\n","\n"," \n","
\n","\n","
\n","
\n"],"application/vnd.google.colaboratory.intrinsic+json":{"type":"dataframe","summary":"{\n \"name\": \"df\",\n \"rows\": 15,\n \"fields\": [\n {\n \"column\": \"Id\",\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": 4,\n \"min\": 136,\n \"max\": 150,\n \"num_unique_values\": 15,\n \"samples\": [\n 145,\n 147,\n 136\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"SepalLengthCm\",\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": 0.48136710078097966,\n \"min\": 5.8,\n \"max\": 7.7,\n \"num_unique_values\": 11,\n \"samples\": [\n 6.7,\n 7.7,\n 6.2\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"SepalWidthCm\",\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": 0.23543273227945902,\n \"min\": 2.5,\n \"max\": 3.4,\n \"num_unique_values\": 7,\n \"samples\": [\n 3.0,\n 3.4,\n 3.3\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"PetalLengthCm\",\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": 0.35697138740881107,\n \"min\": 4.8,\n \"max\": 6.1,\n \"num_unique_values\": 10,\n \"samples\": [\n 5.2,\n 5.6,\n 5.1\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"PetalWidthCm\",\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": 0.25014281634983754,\n \"min\": 1.8,\n \"max\": 2.5,\n \"num_unique_values\": 7,\n \"samples\": [\n 2.3,\n 2.4,\n 2.5\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"Species\",\n \"properties\": {\n \"dtype\": \"category\",\n \"num_unique_values\": 1,\n \"samples\": [\n \"Iris-virginica\"\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n }\n ]\n}"}},"metadata":{},"execution_count":29}],"source":["#Show the last 15 rows using tail function\n","df.tail(15)"]},{"cell_type":"code","execution_count":30,"metadata":{"id":"QrzERa4qcAYv","colab":{"base_uri":"https://localhost:8080/"},"executionInfo":{"status":"ok","timestamp":1765016475175,"user_tz":-330,"elapsed":4,"user":{"displayName":"Adiba Areej","userId":"02303988763299783222"}},"outputId":"28400068-b504-4033-b0ec-808018fa58c0"},"outputs":[{"output_type":"execute_result","data":{"text/plain":["Index(['Id', 'SepalLengthCm', 'SepalWidthCm', 'PetalLengthCm', 'PetalWidthCm',\n"," 'Species'],\n"," dtype='object')"]},"metadata":{},"execution_count":30}],"source":["#list all the columns of the dataset\n","df.columns"]},{"cell_type":"code","execution_count":31,"metadata":{"id":"5yPReLqxcAYv","colab":{"base_uri":"https://localhost:8080/","height":272},"executionInfo":{"status":"ok","timestamp":1765016476439,"user_tz":-330,"elapsed":2,"user":{"displayName":"Adiba Areej","userId":"02303988763299783222"}},"outputId":"03a166c2-9966-4065-9211-574303431e96"},"outputs":[{"output_type":"execute_result","data":{"text/plain":["Id int64\n","SepalLengthCm float64\n","SepalWidthCm float64\n","PetalLengthCm float64\n","PetalWidthCm float64\n","Species object\n","dtype: object"],"text/html":["
\n","\n","\n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n","
0
Idint64
SepalLengthCmfloat64
SepalWidthCmfloat64
PetalLengthCmfloat64
PetalWidthCmfloat64
Speciesobject
\n","

"]},"metadata":{},"execution_count":31}],"source":["#show the data types of each feature or column name\n","df.dtypes"]},{"cell_type":"code","execution_count":32,"metadata":{"id":"lT3OEUNDcAYv","colab":{"base_uri":"https://localhost:8080/"},"executionInfo":{"status":"ok","timestamp":1765016478849,"user_tz":-330,"elapsed":497,"user":{"displayName":"Adiba Areej","userId":"02303988763299783222"}},"outputId":"3b0bd230-63d0-49e2-8f5b-8217b869a351"},"outputs":[{"output_type":"stream","name":"stdout","text":["The mean of sepal length in cm is 5.843333333333334\n","The mean of petal length in cm is 3.758666666666666\n","The mean of sepal width in cm is 3.0540000000000003\n","The mean of petal width in cm is 1.1986666666666668\n","The median of sepal length in cm is 5.8\n","The median of petal length in cm is 4.35\n","The median of sepal width in cm is 3.0\n","The median of petal width in cm is 1.3\n","The mode(s) of sepal length in cm is(are) 5.0\n","The mode(s) of petal length in cm is(are) 1.5\n","The mode(s) of sepal width in cm is(are) 3.0\n","The mode(s) of petal width in cm is(are) 0.2\n"]}],"source":["#describe the data through statistics\n","print(\"The mean of sepal length in cm is\", df[\"SepalLengthCm\"].mean())\n","print(\"The mean of petal length in cm is\", df[\"PetalLengthCm\"].mean())\n","print(\"The mean of sepal width in cm is\", df[\"SepalWidthCm\"].mean())\n","print(\"The mean of petal width in cm is\", df[\"PetalWidthCm\"].mean())\n","print(\"The median of sepal length in cm is\", df[\"SepalLengthCm\"].median())\n","print(\"The median of petal length in cm is\", df[\"PetalLengthCm\"].median())\n","print(\"The median of sepal width in cm is\", df[\"SepalWidthCm\"].median())\n","print(\"The median of petal width in cm is\", df[\"PetalWidthCm\"].median())\n","print(\"The mode(s) of sepal length in cm is(are)\", df[\"SepalLengthCm\"].mode()[0])\n","print(\"The mode(s) of petal length in cm is(are)\", df[\"PetalLengthCm\"].mode()[0])\n","print(\"The mode(s) of sepal width in cm is(are)\", df[\"SepalWidthCm\"].mode()[0])\n","print(\"The mode(s) of petal width in cm is(are)\", df[\"PetalWidthCm\"].mode()[0])"]},{"cell_type":"code","execution_count":33,"metadata":{"colab":{"base_uri":"https://localhost:8080/","height":424},"id":"Z_52ct0BcAYw","executionInfo":{"status":"ok","timestamp":1765016481821,"user_tz":-330,"elapsed":912,"user":{"displayName":"Adiba Areej","userId":"02303988763299783222"}},"outputId":"75636def-77d6-427c-ad11-42182744c245"},"outputs":[{"output_type":"execute_result","data":{"text/plain":[" SepalLengthCm SepalWidthCm\n","0 5.1 3.5\n","1 4.9 3.0\n","2 4.7 3.2\n","3 4.6 3.1\n","4 5.0 3.6\n",".. ... ...\n","145 6.7 3.0\n","146 6.3 2.5\n","147 6.5 3.0\n","148 6.2 3.4\n","149 5.9 3.0\n","\n","[150 rows x 2 columns]"],"text/html":["\n","
\n","
\n","\n","\n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n","
SepalLengthCmSepalWidthCm
05.13.5
14.93.0
24.73.2
34.63.1
45.03.6
.........
1456.73.0
1466.32.5
1476.53.0
1486.23.4
1495.93.0
\n","

150 rows × 2 columns

\n","
\n","
\n","\n","
\n"," \n","\n"," \n","\n"," \n","
\n","\n","\n","
\n"," \n","\n","\n","\n"," \n","
\n","\n","
\n","
\n"],"application/vnd.google.colaboratory.intrinsic+json":{"type":"dataframe","summary":"{\n \"name\": \"#From taking multiple columns from the dataset\",\n \"rows\": 150,\n \"fields\": [\n {\n \"column\": \"SepalLengthCm\",\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": 0.8280661279778629,\n \"min\": 4.3,\n \"max\": 7.9,\n \"num_unique_values\": 35,\n \"samples\": [\n 6.2,\n 4.5,\n 5.6\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"SepalWidthCm\",\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": 0.4335943113621737,\n \"min\": 2.0,\n \"max\": 4.4,\n \"num_unique_values\": 23,\n \"samples\": [\n 2.3,\n 4.0,\n 3.5\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n }\n ]\n}"}},"metadata":{},"execution_count":33}],"source":["df[['SepalLengthCm', 'SepalWidthCm']]\n","#From taking multiple columns from the dataset"]},{"cell_type":"code","execution_count":34,"metadata":{"colab":{"base_uri":"https://localhost:8080/"},"id":"JWYXoLl0cAYw","executionInfo":{"status":"ok","timestamp":1765016485075,"user_tz":-330,"elapsed":511,"user":{"displayName":"Adiba Areej","userId":"02303988763299783222"}},"outputId":"26cfa8ec-2d19-49f0-9ca3-bf3a521147a4"},"outputs":[{"output_type":"execute_result","data":{"text/plain":["array([5.1, 4.9, 4.7, 4.6, 5. , 5.4, 4.4, 4.8, 4.3, 5.8, 5.7, 5.2, 5.5,\n"," 4.5, 5.3, 7. , 6.4, 6.9, 6.5, 6.3, 6.6, 5.9, 6. , 6.1, 5.6, 6.7,\n"," 6.2, 6.8, 7.1, 7.6, 7.3, 7.2, 7.7, 7.4, 7.9])"]},"metadata":{},"execution_count":34}],"source":["df.SepalLengthCm.unique()\n","#gives the unique values of Sepal Length present in that particular column"]},{"cell_type":"code","execution_count":35,"metadata":{"id":"MiOVp1WacAYw","colab":{"base_uri":"https://localhost:8080/","height":272},"executionInfo":{"status":"ok","timestamp":1765016487434,"user_tz":-330,"elapsed":583,"user":{"displayName":"Adiba Areej","userId":"02303988763299783222"}},"outputId":"f6c6f53d-9624-4941-bbfa-4b0380ddfe5b"},"outputs":[{"output_type":"execute_result","data":{"text/plain":["Id 11\n","SepalLengthCm 5.4\n","SepalWidthCm 3.7\n","PetalLengthCm 1.5\n","PetalWidthCm 0.2\n","Species Iris-setosa\n","Name: 10, dtype: object"],"text/html":["
\n","\n","\n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n","
10
Id11
SepalLengthCm5.4
SepalWidthCm3.7
PetalLengthCm1.5
PetalWidthCm0.2
SpeciesIris-setosa
\n","

"]},"metadata":{},"execution_count":35}],"source":["#Get the 11th row from the dataset\n","#Hint: for taking 11th row do we use 11 or 10 index?\n","df.loc[10]"]},{"cell_type":"code","source":["df.iloc[10,-1]"],"metadata":{"colab":{"base_uri":"https://localhost:8080/","height":35},"id":"TF03jh_MovET","executionInfo":{"status":"ok","timestamp":1765016490303,"user_tz":-330,"elapsed":4,"user":{"displayName":"Adiba Areej","userId":"02303988763299783222"}},"outputId":"6b69389f-7d0b-4659-d25d-08e9e5ff7098"},"execution_count":36,"outputs":[{"output_type":"execute_result","data":{"text/plain":["'Iris-setosa'"],"application/vnd.google.colaboratory.intrinsic+json":{"type":"string"}},"metadata":{},"execution_count":36}]},{"cell_type":"code","source":["#Display the second last entry of the 10th row\n","df.iloc[9,-2]"],"metadata":{"id":"gV-h3rK-g5lZ","colab":{"base_uri":"https://localhost:8080/"},"executionInfo":{"status":"ok","timestamp":1765016493883,"user_tz":-330,"elapsed":514,"user":{"displayName":"Adiba Areej","userId":"02303988763299783222"}},"outputId":"dd6e60df-1e97-46c5-e843-550207fa179b"},"execution_count":37,"outputs":[{"output_type":"execute_result","data":{"text/plain":["np.float64(0.1)"]},"metadata":{},"execution_count":37}]},{"cell_type":"code","execution_count":38,"metadata":{"colab":{"base_uri":"https://localhost:8080/","height":605},"id":"KXWCH34ecAYx","executionInfo":{"status":"ok","timestamp":1765016496137,"user_tz":-330,"elapsed":523,"user":{"displayName":"Adiba Areej","userId":"02303988763299783222"}},"outputId":"aad0c66c-905c-4be3-f125-8a8aebd57fa5"},"outputs":[{"output_type":"execute_result","data":{"text/plain":[" Id SepalLengthCm SepalWidthCm PetalLengthCm PetalWidthCm Species\n","22 23 4.6 3.6 1.0 0.2 Iris-setosa\n","23 24 5.1 3.3 1.7 0.5 Iris-setosa\n","24 25 4.8 3.4 1.9 0.2 Iris-setosa\n","25 26 5.0 3.0 1.6 0.2 Iris-setosa\n","26 27 5.0 3.4 1.6 0.4 Iris-setosa\n","27 28 5.2 3.5 1.5 0.2 Iris-setosa\n","28 29 5.2 3.4 1.4 0.2 Iris-setosa\n","29 30 4.7 3.2 1.6 0.2 Iris-setosa\n","30 31 4.8 3.1 1.6 0.2 Iris-setosa\n","31 32 5.4 3.4 1.5 0.4 Iris-setosa\n","32 33 5.2 4.1 1.5 0.1 Iris-setosa"],"text/html":["\n","
\n","
\n","\n","\n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n","
IdSepalLengthCmSepalWidthCmPetalLengthCmPetalWidthCmSpecies
22234.63.61.00.2Iris-setosa
23245.13.31.70.5Iris-setosa
24254.83.41.90.2Iris-setosa
25265.03.01.60.2Iris-setosa
26275.03.41.60.4Iris-setosa
27285.23.51.50.2Iris-setosa
28295.23.41.40.2Iris-setosa
29304.73.21.60.2Iris-setosa
30314.83.11.60.2Iris-setosa
31325.43.41.50.4Iris-setosa
32335.24.11.50.1Iris-setosa
\n","
\n","
\n","\n","
\n"," \n","\n"," \n","\n"," \n","
\n","\n","\n","
\n"," \n","\n","\n","\n"," \n","
\n","\n","
\n","
\n"],"application/vnd.google.colaboratory.intrinsic+json":{"type":"dataframe","summary":"{\n \"name\": \"#takes everything from row 23(included) and 34(not included)\",\n \"rows\": 11,\n \"fields\": [\n {\n \"column\": \"Id\",\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": 3,\n \"min\": 23,\n \"max\": 33,\n \"num_unique_values\": 11,\n \"samples\": [\n 28,\n 23,\n 32\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"SepalLengthCm\",\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": 0.2489979919597748,\n \"min\": 4.6,\n \"max\": 5.4,\n \"num_unique_values\": 7,\n \"samples\": [\n 4.6,\n 5.1,\n 4.7\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"SepalWidthCm\",\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": 0.28982753492378865,\n \"min\": 3.0,\n \"max\": 4.1,\n \"num_unique_values\": 8,\n \"samples\": [\n 3.3,\n 3.2,\n 3.6\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"PetalLengthCm\",\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": 0.22033033051637385,\n \"min\": 1.0,\n \"max\": 1.9,\n \"num_unique_values\": 6,\n \"samples\": [\n 1.0,\n 1.7,\n 1.4\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"PetalWidthCm\",\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": 0.12135597524338358,\n \"min\": 0.1,\n \"max\": 0.5,\n \"num_unique_values\": 4,\n \"samples\": [\n 0.5,\n 0.1,\n 0.2\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"Species\",\n \"properties\": {\n \"dtype\": \"category\",\n \"num_unique_values\": 1,\n \"samples\": [\n \"Iris-setosa\"\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n }\n ]\n}"}},"metadata":{},"execution_count":38}],"source":["df.iloc[22:33]\n","#takes everything from row 23(included) and 34(not included)"]},{"cell_type":"code","source":["df1=df.copy()\n","df1.dropna(axis=0, inplace=False) #drops any values that are null or na"],"metadata":{"colab":{"base_uri":"https://localhost:8080/","height":617},"id":"quhmLFx-q6vS","executionInfo":{"status":"ok","timestamp":1765016498672,"user_tz":-330,"elapsed":6,"user":{"displayName":"Adiba Areej","userId":"02303988763299783222"}},"outputId":"cd63c3d8-122a-47b4-fce2-d4abfd7d792d"},"execution_count":39,"outputs":[{"output_type":"execute_result","data":{"text/plain":[" Id SepalLengthCm SepalWidthCm PetalLengthCm PetalWidthCm \\\n","0 1 5.1 3.5 1.4 0.2 \n","1 2 4.9 3.0 1.4 0.2 \n","2 3 4.7 3.2 1.3 0.2 \n","3 4 4.6 3.1 1.5 0.2 \n","4 5 5.0 3.6 1.4 0.2 \n",".. ... ... ... ... ... \n","145 146 6.7 3.0 5.2 2.3 \n","146 147 6.3 2.5 5.0 1.9 \n","147 148 6.5 3.0 5.2 2.0 \n","148 149 6.2 3.4 5.4 2.3 \n","149 150 5.9 3.0 5.1 1.8 \n","\n"," Species \n","0 Iris-setosa \n","1 Iris-setosa \n","2 Iris-setosa \n","3 Iris-setosa \n","4 Iris-setosa \n",".. ... \n","145 Iris-virginica \n","146 Iris-virginica \n","147 Iris-virginica \n","148 Iris-virginica \n","149 Iris-virginica \n","\n","[150 rows x 6 columns]"],"text/html":["\n","
\n","
\n","\n","\n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n","
IdSepalLengthCmSepalWidthCmPetalLengthCmPetalWidthCmSpecies
015.13.51.40.2Iris-setosa
124.93.01.40.2Iris-setosa
234.73.21.30.2Iris-setosa
344.63.11.50.2Iris-setosa
455.03.61.40.2Iris-setosa
.....................
1451466.73.05.22.3Iris-virginica
1461476.32.55.01.9Iris-virginica
1471486.53.05.22.0Iris-virginica
1481496.23.45.42.3Iris-virginica
1491505.93.05.11.8Iris-virginica
\n","

150 rows × 6 columns

\n","
\n","
\n","\n","
\n"," \n","\n"," \n","\n"," \n","
\n","\n","\n","
\n"," \n","\n","\n","\n"," \n","
\n","\n","
\n","
\n"],"application/vnd.google.colaboratory.intrinsic+json":{"type":"dataframe","summary":"{\n \"name\": \"df1\",\n \"rows\": 150,\n \"fields\": [\n {\n \"column\": \"Id\",\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": 43,\n \"min\": 1,\n \"max\": 150,\n \"num_unique_values\": 150,\n \"samples\": [\n 74,\n 19,\n 119\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"SepalLengthCm\",\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": 0.8280661279778629,\n \"min\": 4.3,\n \"max\": 7.9,\n \"num_unique_values\": 35,\n \"samples\": [\n 6.2,\n 4.5,\n 5.6\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"SepalWidthCm\",\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": 0.4335943113621737,\n \"min\": 2.0,\n \"max\": 4.4,\n \"num_unique_values\": 23,\n \"samples\": [\n 2.3,\n 4.0,\n 3.5\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"PetalLengthCm\",\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": 1.7644204199522617,\n \"min\": 1.0,\n \"max\": 6.9,\n \"num_unique_values\": 43,\n \"samples\": [\n 6.7,\n 3.8,\n 3.7\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"PetalWidthCm\",\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": 0.7631607417008414,\n \"min\": 0.1,\n \"max\": 2.5,\n \"num_unique_values\": 22,\n \"samples\": [\n 0.2,\n 1.2,\n 1.3\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"Species\",\n \"properties\": {\n \"dtype\": \"category\",\n \"num_unique_values\": 3,\n \"samples\": [\n \"Iris-setosa\",\n \"Iris-versicolor\",\n \"Iris-virginica\"\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n }\n ]\n}"}},"metadata":{},"execution_count":39}]},{"cell_type":"code","execution_count":40,"metadata":{"id":"kZg8z57fcAY2","executionInfo":{"status":"ok","timestamp":1765016502362,"user_tz":-330,"elapsed":512,"user":{"displayName":"Adiba Areej","userId":"02303988763299783222"}}},"outputs":[],"source":["df.dropna(axis=0, inplace=True)\n","#drops all the rows with missing values"]},{"cell_type":"code","execution_count":41,"metadata":{"colab":{"base_uri":"https://localhost:8080/","height":272},"id":"FRWcDJA2cAY2","executionInfo":{"status":"ok","timestamp":1765016506377,"user_tz":-330,"elapsed":470,"user":{"displayName":"Adiba Areej","userId":"02303988763299783222"}},"outputId":"00e64ff6-208c-45ed-83d6-1990bc42fa7c"},"outputs":[{"output_type":"execute_result","data":{"text/plain":["Id 0\n","SepalLengthCm 0\n","SepalWidthCm 0\n","PetalLengthCm 0\n","PetalWidthCm 0\n","Species 0\n","dtype: int64"],"text/html":["
\n","\n","\n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n","
0
Id0
SepalLengthCm0
SepalWidthCm0
PetalLengthCm0
PetalWidthCm0
Species0
\n","

"]},"metadata":{},"execution_count":41}],"source":["df.isnull().sum()"]},{"cell_type":"code","execution_count":42,"metadata":{"id":"JioW0K_pcAY3","executionInfo":{"status":"ok","timestamp":1765016508882,"user_tz":-330,"elapsed":462,"user":{"displayName":"Adiba Areej","userId":"02303988763299783222"}}},"outputs":[],"source":["df.to_csv('cleandata_iris.csv')"]},{"cell_type":"code","execution_count":43,"metadata":{"id":"asToKeGJcAY4","executionInfo":{"status":"ok","timestamp":1765016512070,"user_tz":-330,"elapsed":454,"user":{"displayName":"Adiba Areej","userId":"02303988763299783222"}}},"outputs":[],"source":["del df"]}],"metadata":{"kernelspec":{"display_name":"Python 3","language":"python","name":"python3"},"language_info":{"codemirror_mode":{"name":"ipython","version":3},"file_extension":".py","mimetype":"text/x-python","name":"python","nbconvert_exporter":"python","pygments_lexer":"ipython3","version":"3.7.4"},"colab":{"provenance":[{"file_id":"1tVNRnxnutLstrGKY3P0fbmpEVSwXiDnJ","timestamp":1765015422624},{"file_id":"1PJDPRd4uOSxvoSK0o_O22PiQ2-AkDis4","timestamp":1764744257366},{"file_id":"1AjoKNd7ieBCZ4NDPgzWDLDMsHKuYsb5A","timestamp":1731497483327}]}},"nbformat":4,"nbformat_minor":0} \ No newline at end of file diff --git a/Assignment 2/Assignment2_Adiba/Assignment2_Adiba.ipynb b/Assignment 2/Assignment2_Adiba/Assignment2_Adiba.ipynb new file mode 100644 index 00000000..70bb02a2 --- /dev/null +++ b/Assignment 2/Assignment2_Adiba/Assignment2_Adiba.ipynb @@ -0,0 +1,216 @@ +{ + "nbformat": 4, + "nbformat_minor": 0, + "metadata": { + "colab": { + "provenance": [] + }, + "kernelspec": { + "name": "python3", + "display_name": "Python 3" + }, + "language_info": { + "name": "python" + } + }, + "cells": [ + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "id": "0DRKlejjJrfa", + "colab": { + "base_uri": "https://localhost:8080/" + }, + "outputId": "f9000798-6874-4a0b-8bfe-dd23d639d895" + }, + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "text": [ + "Requirement already satisfied: plotly in /usr/local/lib/python3.12/dist-packages (5.24.1)\n", + "Requirement already satisfied: yfinance in /usr/local/lib/python3.12/dist-packages (0.2.66)\n", + "Requirement already satisfied: tenacity>=6.2.0 in /usr/local/lib/python3.12/dist-packages (from plotly) (9.1.2)\n", + "Requirement already satisfied: packaging in /usr/local/lib/python3.12/dist-packages (from plotly) (25.0)\n", + "Requirement already satisfied: pandas>=1.3.0 in /usr/local/lib/python3.12/dist-packages (from yfinance) (2.2.2)\n", + "Requirement already satisfied: numpy>=1.16.5 in /usr/local/lib/python3.12/dist-packages (from yfinance) (2.0.2)\n", + "Requirement already satisfied: requests>=2.31 in /usr/local/lib/python3.12/dist-packages (from yfinance) (2.32.4)\n", + "Requirement already satisfied: multitasking>=0.0.7 in /usr/local/lib/python3.12/dist-packages (from yfinance) (0.0.12)\n", + "Requirement already satisfied: platformdirs>=2.0.0 in /usr/local/lib/python3.12/dist-packages (from yfinance) (4.5.1)\n", + "Requirement already satisfied: pytz>=2022.5 in /usr/local/lib/python3.12/dist-packages (from yfinance) (2025.2)\n", + "Requirement already satisfied: frozendict>=2.3.4 in /usr/local/lib/python3.12/dist-packages (from yfinance) (2.4.7)\n", + "Requirement already satisfied: peewee>=3.16.2 in /usr/local/lib/python3.12/dist-packages (from yfinance) (3.18.3)\n", + "Requirement already satisfied: beautifulsoup4>=4.11.1 in /usr/local/lib/python3.12/dist-packages (from yfinance) (4.13.5)\n", + "Requirement already satisfied: curl_cffi>=0.7 in /usr/local/lib/python3.12/dist-packages (from yfinance) (0.13.0)\n", + "Requirement already satisfied: protobuf>=3.19.0 in /usr/local/lib/python3.12/dist-packages (from yfinance) (5.29.5)\n", + "Requirement already satisfied: websockets>=13.0 in /usr/local/lib/python3.12/dist-packages (from yfinance) (15.0.1)\n", + "Requirement already satisfied: soupsieve>1.2 in /usr/local/lib/python3.12/dist-packages (from beautifulsoup4>=4.11.1->yfinance) (2.8)\n", + "Requirement already satisfied: typing-extensions>=4.0.0 in /usr/local/lib/python3.12/dist-packages (from beautifulsoup4>=4.11.1->yfinance) (4.15.0)\n", + "Requirement already satisfied: cffi>=1.12.0 in /usr/local/lib/python3.12/dist-packages (from curl_cffi>=0.7->yfinance) (2.0.0)\n", + "Requirement already satisfied: certifi>=2024.2.2 in /usr/local/lib/python3.12/dist-packages (from curl_cffi>=0.7->yfinance) (2025.11.12)\n", + "Requirement already satisfied: python-dateutil>=2.8.2 in /usr/local/lib/python3.12/dist-packages (from pandas>=1.3.0->yfinance) (2.9.0.post0)\n", + "Requirement already satisfied: tzdata>=2022.7 in /usr/local/lib/python3.12/dist-packages (from pandas>=1.3.0->yfinance) (2025.3)\n", + "Requirement already satisfied: charset_normalizer<4,>=2 in /usr/local/lib/python3.12/dist-packages (from requests>=2.31->yfinance) (3.4.4)\n", + "Requirement already satisfied: idna<4,>=2.5 in /usr/local/lib/python3.12/dist-packages (from requests>=2.31->yfinance) (3.11)\n", + "Requirement already satisfied: urllib3<3,>=1.21.1 in /usr/local/lib/python3.12/dist-packages (from requests>=2.31->yfinance) (2.5.0)\n", + "Requirement already satisfied: pycparser in /usr/local/lib/python3.12/dist-packages (from cffi>=1.12.0->curl_cffi>=0.7->yfinance) (2.23)\n", + "Requirement already satisfied: six>=1.5 in /usr/local/lib/python3.12/dist-packages (from python-dateutil>=2.8.2->pandas>=1.3.0->yfinance) (1.17.0)\n" + ] + } + ], + "source": [ + "!pip install plotly yfinance" + ] + }, + { + "cell_type": "code", + "source": [ + "import yfinance as yf\n", + "\n", + "ticker_symbol = \"GS\"\n", + "\n", + "ticker = yf.Ticker(ticker_symbol)\n", + "\n", + "historical_data = ticker.history(period=\"6mo\", interval=\"1d\")\n", + "\n", + "print(f\"Summary of Historical Data for {ticker_symbol}:\")\n", + "print(historical_data[['Open', 'High', 'Low', 'Close', 'Volume']])\n", + "\n", + "\n" + ], + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "Gv_mTUwoWee4", + "outputId": "3cb2a08f-3b03-4fdb-8fae-90eab99ee560" + }, + "execution_count": null, + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "text": [ + "Summary of Historical Data for GS:\n", + " Open High Low Close \\\n", + "Date \n", + "2025-06-20 00:00:00-04:00 632.293837 636.064853 630.175718 634.243652 \n", + "2025-06-23 00:00:00-04:00 632.719443 640.795928 623.564084 640.261475 \n", + "2025-06-24 00:00:00-04:00 647.754032 656.978682 646.556390 655.335632 \n", + "2025-06-25 00:00:00-04:00 657.800136 663.263677 654.029120 663.016235 \n", + "2025-06-26 00:00:00-04:00 663.758583 682.277175 663.649723 680.129333 \n", + "... ... ... ... ... \n", + "2025-12-15 00:00:00-05:00 892.000000 904.469971 889.590027 889.590027 \n", + "2025-12-16 00:00:00-05:00 890.229980 896.239990 874.320007 879.150024 \n", + "2025-12-17 00:00:00-05:00 886.330017 895.969971 868.440002 872.330017 \n", + "2025-12-18 00:00:00-05:00 880.500000 892.789978 874.700012 876.299988 \n", + "2025-12-19 00:00:00-05:00 883.169983 899.750000 881.950012 893.479980 \n", + "\n", + " Volume \n", + "Date \n", + "2025-06-20 00:00:00-04:00 4115400 \n", + "2025-06-23 00:00:00-04:00 2020800 \n", + "2025-06-24 00:00:00-04:00 2307800 \n", + "2025-06-25 00:00:00-04:00 1566400 \n", + "2025-06-26 00:00:00-04:00 2849500 \n", + "... ... \n", + "2025-12-15 00:00:00-05:00 1976600 \n", + "2025-12-16 00:00:00-05:00 2161600 \n", + "2025-12-17 00:00:00-05:00 2213300 \n", + "2025-12-18 00:00:00-05:00 2066300 \n", + "2025-12-19 00:00:00-05:00 4807200 \n", + "\n", + "[128 rows x 5 columns]\n" + ] + } + ] + }, + { + "cell_type": "code", + "source": [ + "import plotly.graph_objects as go\n", + "\n", + "historical_data_reset = historical_data.reset_index()\n", + "fig = go.Figure(data=[go.Candlestick(\n", + " x=historical_data.index,\n", + " open=historical_data[\"Open\"],\n", + " high=historical_data[\"High\"],\n", + " low=historical_data[\"Low\"],\n", + " close=historical_data[\"Close\"],\n", + " name=ticker_symbol)])\n", + "\n", + "\n", + "fig.update_layout(\n", + " title=f\"{ticker_symbol} Candlestick Chart - Last 6 Months History\",\n", + " xaxis_title=\"Date\",\n", + " yaxis_title=\"Stock Price (USD)\",\n", + " xaxis_rangeslider_visible=True,\n", + " template = 'plotly_dark')\n", + "\n", + "fig.show()\n" + ], + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 542 + }, + "id": "j7XcZ4rWWehd", + "outputId": "6a231374-1d70-435b-ef40-ebf18c7a436b" + }, + "execution_count": null, + "outputs": [ + { + "output_type": "display_data", + "data": { + "text/html": [ + "\n", + "\n", + "\n", + "
\n", + "
\n", + "\n", + "" + ] + }, + "metadata": {} + } + ] + }, + { + "cell_type": "markdown", + "source": [ + "1. The Date the pattern occurred - 25-26 August,2025\n", + "2. The Name of the pattern - Bullish Engulf\n", + "3. The closing price of 27th August, 2025 increased than the closing of 26th." + ], + "metadata": { + "id": "1TC6qq8i4IYy" + } + } + ] +} \ No newline at end of file diff --git a/Assignment 2/Assignment2_AdibaAreej/Assignment2_AdibaAreej.ipynb b/Assignment 2/Assignment2_AdibaAreej/Assignment2_AdibaAreej.ipynb deleted file mode 100644 index 3ab30c47..00000000 --- a/Assignment 2/Assignment2_AdibaAreej/Assignment2_AdibaAreej.ipynb +++ /dev/null @@ -1 +0,0 @@ -{"nbformat":4,"nbformat_minor":0,"metadata":{"colab":{"provenance":[],"authorship_tag":"ABX9TyOMQfrhdEYhwq2o7qyYk58S"},"kernelspec":{"name":"python3","display_name":"Python 3"},"language_info":{"name":"python"}},"cells":[{"cell_type":"code","execution_count":null,"metadata":{"id":"0DRKlejjJrfa","colab":{"base_uri":"https://localhost:8080/"},"executionInfo":{"status":"ok","timestamp":1765708398415,"user_tz":-330,"elapsed":4631,"user":{"displayName":"Adiba Areej","userId":"02303988763299783222"}},"outputId":"b13ef311-bfbd-4b9d-da28-8b56aa646c27"},"outputs":[{"output_type":"stream","name":"stdout","text":["Requirement already satisfied: plotly in /usr/local/lib/python3.12/dist-packages (5.24.1)\n","Requirement already satisfied: yfinance in /usr/local/lib/python3.12/dist-packages (0.2.66)\n","Requirement already satisfied: tenacity>=6.2.0 in /usr/local/lib/python3.12/dist-packages (from plotly) (9.1.2)\n","Requirement already satisfied: packaging in /usr/local/lib/python3.12/dist-packages (from plotly) (25.0)\n","Requirement already satisfied: pandas>=1.3.0 in /usr/local/lib/python3.12/dist-packages (from yfinance) (2.2.2)\n","Requirement already satisfied: numpy>=1.16.5 in /usr/local/lib/python3.12/dist-packages (from yfinance) (2.0.2)\n","Requirement already satisfied: requests>=2.31 in /usr/local/lib/python3.12/dist-packages (from yfinance) (2.32.4)\n","Requirement already satisfied: multitasking>=0.0.7 in /usr/local/lib/python3.12/dist-packages (from yfinance) (0.0.12)\n","Requirement already satisfied: platformdirs>=2.0.0 in /usr/local/lib/python3.12/dist-packages (from yfinance) (4.5.1)\n","Requirement already satisfied: pytz>=2022.5 in /usr/local/lib/python3.12/dist-packages (from yfinance) (2025.2)\n","Requirement already satisfied: frozendict>=2.3.4 in /usr/local/lib/python3.12/dist-packages (from yfinance) (2.4.7)\n","Requirement already satisfied: peewee>=3.16.2 in /usr/local/lib/python3.12/dist-packages (from yfinance) (3.18.3)\n","Requirement already satisfied: beautifulsoup4>=4.11.1 in /usr/local/lib/python3.12/dist-packages (from yfinance) (4.13.5)\n","Requirement already satisfied: curl_cffi>=0.7 in /usr/local/lib/python3.12/dist-packages (from yfinance) (0.13.0)\n","Requirement already satisfied: protobuf>=3.19.0 in /usr/local/lib/python3.12/dist-packages (from yfinance) (5.29.5)\n","Requirement already satisfied: websockets>=13.0 in /usr/local/lib/python3.12/dist-packages (from yfinance) (15.0.1)\n","Requirement already satisfied: soupsieve>1.2 in /usr/local/lib/python3.12/dist-packages (from beautifulsoup4>=4.11.1->yfinance) (2.8)\n","Requirement already satisfied: typing-extensions>=4.0.0 in /usr/local/lib/python3.12/dist-packages (from beautifulsoup4>=4.11.1->yfinance) (4.15.0)\n","Requirement already satisfied: cffi>=1.12.0 in /usr/local/lib/python3.12/dist-packages (from curl_cffi>=0.7->yfinance) (2.0.0)\n","Requirement already satisfied: certifi>=2024.2.2 in /usr/local/lib/python3.12/dist-packages (from curl_cffi>=0.7->yfinance) (2025.11.12)\n","Requirement already satisfied: python-dateutil>=2.8.2 in /usr/local/lib/python3.12/dist-packages (from pandas>=1.3.0->yfinance) (2.9.0.post0)\n","Requirement already satisfied: tzdata>=2022.7 in /usr/local/lib/python3.12/dist-packages (from pandas>=1.3.0->yfinance) (2025.2)\n","Requirement already satisfied: charset_normalizer<4,>=2 in /usr/local/lib/python3.12/dist-packages (from requests>=2.31->yfinance) (3.4.4)\n","Requirement already satisfied: idna<4,>=2.5 in /usr/local/lib/python3.12/dist-packages (from requests>=2.31->yfinance) (3.11)\n","Requirement already satisfied: urllib3<3,>=1.21.1 in /usr/local/lib/python3.12/dist-packages (from requests>=2.31->yfinance) (2.5.0)\n","Requirement already satisfied: pycparser in /usr/local/lib/python3.12/dist-packages (from cffi>=1.12.0->curl_cffi>=0.7->yfinance) (2.23)\n","Requirement already satisfied: six>=1.5 in /usr/local/lib/python3.12/dist-packages (from python-dateutil>=2.8.2->pandas>=1.3.0->yfinance) (1.17.0)\n"]}],"source":["!pip install plotly yfinance"]},{"cell_type":"code","source":["import yfinance as yf\n","\n","ticker_symbol = \"GS\"\n","\n","ticker = yf.Ticker(ticker_symbol)\n","\n","historical_data = ticker.history(period=\"6mo\", interval=\"1d\")\n","\n","print(f\"Summary of Historical Data for {ticker_symbol}:\")\n","print(historical_data[['Open', 'High', 'Low', 'Close', 'Volume']])\n","\n","\n"],"metadata":{"colab":{"base_uri":"https://localhost:8080/"},"id":"Gv_mTUwoWee4","executionInfo":{"status":"ok","timestamp":1765711177773,"user_tz":-330,"elapsed":545,"user":{"displayName":"Adiba Areej","userId":"02303988763299783222"}},"outputId":"c7c10970-0fd2-4c34-d27f-bfbcaf58dbbf"},"execution_count":null,"outputs":[{"output_type":"stream","name":"stdout","text":["Summary of Historical Data for GS:\n"," Open High Low Close \\\n","Date \n","2025-06-13 00:00:00-04:00 609.746902 613.775267 603.353036 607.262573 \n","2025-06-16 00:00:00-04:00 612.666720 625.800968 611.676952 621.426147 \n","2025-06-17 00:00:00-04:00 618.308407 625.207065 616.625789 618.249023 \n","2025-06-18 00:00:00-04:00 618.120343 633.333080 617.269156 628.740540 \n","2025-06-20 00:00:00-04:00 632.293837 636.064853 630.175718 634.243652 \n","... ... ... ... ... \n","2025-12-08 00:00:00-05:00 861.099976 870.559998 856.299988 866.690002 \n","2025-12-09 00:00:00-05:00 866.000000 883.719971 864.309998 876.580017 \n","2025-12-10 00:00:00-05:00 871.349976 897.200012 869.270020 889.239990 \n","2025-12-11 00:00:00-05:00 889.979980 919.099976 888.000000 911.030029 \n","2025-12-12 00:00:00-05:00 913.750000 914.989990 887.030029 887.960022 \n","\n"," Volume \n","Date \n","2025-06-13 00:00:00-04:00 1674800 \n","2025-06-16 00:00:00-04:00 1870400 \n","2025-06-17 00:00:00-04:00 1479300 \n","2025-06-18 00:00:00-04:00 2423100 \n","2025-06-20 00:00:00-04:00 4115400 \n","... ... \n","2025-12-08 00:00:00-05:00 2238100 \n","2025-12-09 00:00:00-05:00 2274800 \n","2025-12-10 00:00:00-05:00 2394300 \n","2025-12-11 00:00:00-05:00 2683000 \n","2025-12-12 00:00:00-05:00 2671852 \n","\n","[127 rows x 5 columns]\n"]}]},{"cell_type":"code","source":["fig = go.Figure(data=go.Candlestick(\n"," x=historical_data.index,\n"," open=historical_data[\"Open\"],\n"," high=historical_data[\"High\"],\n"," low=historical_data[\"Low\"],\n"," close=historical_data[\"Close\"],\n"," name=ticker_symbol))\n","\n","\n","fig.update_layout(\n"," title=f\"{ticker_symbol} Candlestick Chart - Last 6 Months History\",\n"," xaxis_title=\"Date\",\n"," yaxis_title=\"Stock Price (USD)\",\n"," xaxis_rangeslider_visible=True,\n"," template = 'plotly_dark')\n","\n","fig.show()\n"],"metadata":{"colab":{"base_uri":"https://localhost:8080/","height":542},"id":"j7XcZ4rWWehd","executionInfo":{"status":"ok","timestamp":1765714987560,"user_tz":-330,"elapsed":337,"user":{"displayName":"Adiba Areej","userId":"02303988763299783222"}},"outputId":"0609cd12-9d87-4fe6-a8dd-01d4139f4194"},"execution_count":23,"outputs":[{"output_type":"display_data","data":{"text/html":["\n","\n","\n","
\n","
\n","\n",""]},"metadata":{}}]}]} \ No newline at end of file diff --git a/Assignment 2/Assignment2_AdibaAreej/Assignment2_Adiba_CandlestickChart b/Assignment 2/Assignment2_AdibaAreej/Assignment2_Adiba_CandlestickChart deleted file mode 100644 index 8b137891..00000000 --- a/Assignment 2/Assignment2_AdibaAreej/Assignment2_Adiba_CandlestickChart +++ /dev/null @@ -1 +0,0 @@ - diff --git a/MidEval Code/MidEval_AdibaAreej/Mid_Eval_PS_Adiba.ipynb b/MidEval Code/MidEval_AdibaAreej/Mid_Eval_PS_Adiba.ipynb new file mode 100644 index 00000000..50ee6a80 --- /dev/null +++ b/MidEval Code/MidEval_AdibaAreej/Mid_Eval_PS_Adiba.ipynb @@ -0,0 +1,1051 @@ +{ + "nbformat": 4, + "nbformat_minor": 0, + "metadata": { + "colab": { + "provenance": [] + }, + "kernelspec": { + "name": "python3", + "display_name": "Python 3" + }, + "language_info": { + "name": "python" + } + }, + "cells": [ + { + "cell_type": "markdown", + "source": [ + "To predict whether the future price of a financial asset will go\n", + "Up (1) or Down (0) using:\n", + "\n", + "- Logistic Regression\n", + "- Neural Network (MLP)" + ], + "metadata": { + "id": "HUN_A2YV7rpJ" + } + }, + { + "cell_type": "code", + "source": [ + "# Importing Required Libraries\n", + "\n", + "import pandas as pd\n", + "import numpy as np\n", + "\n", + "from sklearn.model_selection import train_test_split\n", + "from sklearn.preprocessing import StandardScaler, LabelEncoder\n", + "from sklearn.linear_model import LogisticRegression\n", + "from sklearn.neural_network import MLPClassifier\n", + "\n", + "from sklearn.metrics import accuracy_score, precision_score, recall_score, f1_score, confusion_matrix\n" + ], + "metadata": { + "id": "vVEsmaA50KMx" + }, + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "code", + "source": [ + "# Data Preprocessing\n", + "\n", + "df = pd.read_csv(\"/content/quantvision_financial_dataset_200.csv\")\n", + "\n", + "print(\"Dataset Shape:\", df.shape)\n", + "df.head()" + ], + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 243 + }, + "id": "b60vfwZ7ES2S", + "outputId": "d78ee9b3-ce88-44bb-a34a-a357ed1de47f" + }, + "execution_count": null, + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "text": [ + "Dataset Shape: (200, 11)\n" + ] + }, + { + "output_type": "execute_result", + "data": { + "text/plain": [ + " lookback_days asset_type market_regime high_volatility \\\n", + "0 48 equity bullish 0 \n", + "1 38 index bullish 1 \n", + "2 24 equity bullish 1 \n", + "3 52 equity bullish 0 \n", + "4 17 equity bullish 1 \n", + "\n", + " trend_continuation technical_score edge_density slope_strength \\\n", + "0 1 59.99 0.504 0.298 \n", + "1 1 78.54 0.559 0.037 \n", + "2 0 56.03 0.617 0.212 \n", + "3 0 66.51 0.360 0.347 \n", + "4 1 61.21 0.492 0.144 \n", + "\n", + " candlestick_variance pattern_symmetry future_trend \n", + "0 1.572 0.768 1 \n", + "1 0.692 0.538 1 \n", + "2 1.419 0.301 1 \n", + "3 0.699 0.498 1 \n", + "4 2.520 0.828 1 " + ], + "text/html": [ + "\n", + "
\n", + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
lookback_daysasset_typemarket_regimehigh_volatilitytrend_continuationtechnical_scoreedge_densityslope_strengthcandlestick_variancepattern_symmetryfuture_trend
048equitybullish0159.990.5040.2981.5720.7681
138indexbullish1178.540.5590.0370.6920.5381
224equitybullish1056.030.6170.2121.4190.3011
352equitybullish0066.510.3600.3470.6990.4981
417equitybullish1161.210.4920.1442.5200.8281
\n", + "
\n", + "
\n", + "\n", + "
\n", + " \n", + "\n", + " \n", + "\n", + " \n", + "
\n", + "\n", + "\n", + "
\n", + " \n", + "\n", + "\n", + "\n", + " \n", + "
\n", + "\n", + "
\n", + "
\n" + ], + "application/vnd.google.colaboratory.intrinsic+json": { + "type": "dataframe", + "variable_name": "df", + "summary": "{\n \"name\": \"df\",\n \"rows\": 200,\n \"fields\": [\n {\n \"column\": \"lookback_days\",\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": 14,\n \"min\": 10,\n \"max\": 60,\n \"num_unique_values\": 50,\n \"samples\": [\n 31,\n 15,\n 18\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"asset_type\",\n \"properties\": {\n \"dtype\": \"category\",\n \"num_unique_values\": 3,\n \"samples\": [\n \"equity\",\n \"index\",\n \"crypto\"\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"market_regime\",\n \"properties\": {\n \"dtype\": \"category\",\n \"num_unique_values\": 3,\n \"samples\": [\n \"bullish\",\n \"sideways\",\n \"bearish\"\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"high_volatility\",\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": 0,\n \"min\": 0,\n \"max\": 1,\n \"num_unique_values\": 2,\n \"samples\": [\n 1,\n 0\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"trend_continuation\",\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": 0,\n \"min\": 0,\n \"max\": 1,\n \"num_unique_values\": 2,\n \"samples\": [\n 0,\n 1\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"technical_score\",\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": 15.028468080337015,\n \"min\": 24.2,\n \"max\": 100.0,\n \"num_unique_values\": 195,\n \"samples\": [\n 71.25,\n 69.01\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"edge_density\",\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": 0.11605043079384576,\n \"min\": 0.191,\n \"max\": 0.798,\n \"num_unique_values\": 159,\n \"samples\": [\n 0.384,\n 0.695\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"slope_strength\",\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": 0.6199660874985351,\n \"min\": -1.217,\n \"max\": 1.833,\n \"num_unique_values\": 189,\n \"samples\": [\n -0.285,\n 0.217\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"candlestick_variance\",\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": 0.5755348790123836,\n \"min\": 0.028,\n \"max\": 2.52,\n \"num_unique_values\": 195,\n \"samples\": [\n 2.085,\n 0.634\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"pattern_symmetry\",\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": 0.17357671352283097,\n \"min\": 0.21,\n \"max\": 1.0,\n \"num_unique_values\": 172,\n \"samples\": [\n 0.919,\n 0.318\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"future_trend\",\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": 0,\n \"min\": 0,\n \"max\": 1,\n \"num_unique_values\": 2,\n \"samples\": [\n 0,\n 1\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n }\n ]\n}" + } + }, + "metadata": {}, + "execution_count": 88 + } + ] + }, + { + "cell_type": "code", + "source": [ + "# Encoding categorical variables - Converting Words to Numbers\n", + "\n", + "label_encoder = LabelEncoder()\n", + "\n", + "df['asset_type'] = label_encoder.fit_transform(df['asset_type'])\n", + "df['market_regime'] = label_encoder.fit_transform(df['market_regime'])\n", + "\n", + "df.head()" + ], + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 226 + }, + "id": "aSSaiVpGEymz", + "outputId": "39e62e77-e89e-42ba-eae4-89bb66d3763c" + }, + "execution_count": null, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + " lookback_days asset_type market_regime high_volatility \\\n", + "0 48 1 1 0 \n", + "1 38 2 1 1 \n", + "2 24 1 1 1 \n", + "3 52 1 1 0 \n", + "4 17 1 1 1 \n", + "\n", + " trend_continuation technical_score edge_density slope_strength \\\n", + "0 1 59.99 0.504 0.298 \n", + "1 1 78.54 0.559 0.037 \n", + "2 0 56.03 0.617 0.212 \n", + "3 0 66.51 0.360 0.347 \n", + "4 1 61.21 0.492 0.144 \n", + "\n", + " candlestick_variance pattern_symmetry future_trend \n", + "0 1.572 0.768 1 \n", + "1 0.692 0.538 1 \n", + "2 1.419 0.301 1 \n", + "3 0.699 0.498 1 \n", + "4 2.520 0.828 1 " + ], + "text/html": [ + "\n", + "
\n", + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
lookback_daysasset_typemarket_regimehigh_volatilitytrend_continuationtechnical_scoreedge_densityslope_strengthcandlestick_variancepattern_symmetryfuture_trend
048110159.990.5040.2981.5720.7681
138211178.540.5590.0370.6920.5381
224111056.030.6170.2121.4190.3011
352110066.510.3600.3470.6990.4981
417111161.210.4920.1442.5200.8281
\n", + "
\n", + "
\n", + "\n", + "
\n", + " \n", + "\n", + " \n", + "\n", + " \n", + "
\n", + "\n", + "\n", + "
\n", + " \n", + "\n", + "\n", + "\n", + " \n", + "
\n", + "\n", + "
\n", + "
\n" + ], + "application/vnd.google.colaboratory.intrinsic+json": { + "type": "dataframe", + "variable_name": "df", + "summary": "{\n \"name\": \"df\",\n \"rows\": 200,\n \"fields\": [\n {\n \"column\": \"lookback_days\",\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": 14,\n \"min\": 10,\n \"max\": 60,\n \"num_unique_values\": 50,\n \"samples\": [\n 31,\n 15,\n 18\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"asset_type\",\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": 0,\n \"min\": 0,\n \"max\": 2,\n \"num_unique_values\": 3,\n \"samples\": [\n 1,\n 2,\n 0\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"market_regime\",\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": 0,\n \"min\": 0,\n \"max\": 2,\n \"num_unique_values\": 3,\n \"samples\": [\n 1,\n 2,\n 0\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"high_volatility\",\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": 0,\n \"min\": 0,\n \"max\": 1,\n \"num_unique_values\": 2,\n \"samples\": [\n 1,\n 0\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"trend_continuation\",\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": 0,\n \"min\": 0,\n \"max\": 1,\n \"num_unique_values\": 2,\n \"samples\": [\n 0,\n 1\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"technical_score\",\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": 15.028468080337015,\n \"min\": 24.2,\n \"max\": 100.0,\n \"num_unique_values\": 195,\n \"samples\": [\n 71.25,\n 69.01\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"edge_density\",\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": 0.11605043079384576,\n \"min\": 0.191,\n \"max\": 0.798,\n \"num_unique_values\": 159,\n \"samples\": [\n 0.384,\n 0.695\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"slope_strength\",\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": 0.6199660874985351,\n \"min\": -1.217,\n \"max\": 1.833,\n \"num_unique_values\": 189,\n \"samples\": [\n -0.285,\n 0.217\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"candlestick_variance\",\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": 0.5755348790123836,\n \"min\": 0.028,\n \"max\": 2.52,\n \"num_unique_values\": 195,\n \"samples\": [\n 2.085,\n 0.634\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"pattern_symmetry\",\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": 0.17357671352283097,\n \"min\": 0.21,\n \"max\": 1.0,\n \"num_unique_values\": 172,\n \"samples\": [\n 0.919,\n 0.318\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"future_trend\",\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": 0,\n \"min\": 0,\n \"max\": 1,\n \"num_unique_values\": 2,\n \"samples\": [\n 0,\n 1\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n }\n ]\n}" + } + }, + "metadata": {}, + "execution_count": 89 + } + ] + }, + { + "cell_type": "code", + "source": [ + "# Split features and target - seperating the input and output as the dataset contains both\n", + "\n", + "X = df.drop('future_trend', axis=1)\n", + "y = df['future_trend']\n", + "\n", + "# future_trend - is our target variable" + ], + "metadata": { + "id": "QtQ0rtTxE9Mm" + }, + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "code", + "source": [ + "# Scaling numerical features\n", + "\n", + "scaler = StandardScaler()\n", + "X_scaled = scaler.fit_transform(X)" + ], + "metadata": { + "id": "tq56dtAKFAf2" + }, + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "code", + "source": [ + "# Spliting the data into training and testing sets\n", + "\n", + "X_train, X_test, y_train, y_test = train_test_split(\n", + " X_scaled, y, test_size=0.2, random_state=42\n", + ")" + ], + "metadata": { + "id": "LoTnc9YEFCyt" + }, + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "code", + "source": [ + "# Logistic Regression Model\n", + "\n", + "log_reg = LogisticRegression()\n", + "log_reg.fit(X_train, y_train)\n", + "\n", + "y_pred_lr = log_reg.predict(X_test)\n", + "\n", + "# Evaluation of LR model\n", + "\n", + "print(\"Logistic Regression Results\\n\")\n", + "print(\"Accuracy :\", accuracy_score(y_test, y_pred_lr))\n", + "print(\"Precision:\", precision_score(y_test, y_pred_lr))\n", + "print(\"Recall :\", recall_score(y_test, y_pred_lr))\n", + "print(\"F1 Score :\", f1_score(y_test, y_pred_lr))\n", + "print(\"Confusion Matrix:\\n\", confusion_matrix(y_test, y_pred_lr))\n" + ], + "metadata": { + "id": "ipfsxR9rFE5m", + "colab": { + "base_uri": "https://localhost:8080/" + }, + "outputId": "6163e2ac-aa09-46e2-bb92-369688ec78c9" + }, + "execution_count": null, + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "text": [ + "Logistic Regression Results\n", + "\n", + "Accuracy : 0.925\n", + "Precision: 0.9487179487179487\n", + "Recall : 0.9736842105263158\n", + "F1 Score : 0.961038961038961\n", + "Confusion Matrix:\n", + " [[ 0 2]\n", + " [ 1 37]]\n" + ] + } + ] + }, + { + "cell_type": "code", + "source": [ + "# Neural Network (MLP)\n", + "\n", + "mlp = MLPClassifier(\n", + " hidden_layer_sizes=(64, 32),\n", + " activation='relu',\n", + " solver='adam',\n", + " max_iter=500,\n", + " random_state=42\n", + ")\n", + "\n", + "mlp.fit(X_train, y_train)\n", + "y_pred_mlp = mlp.predict(X_test)\n", + "\n", + "# Evaluation of NN model (MLP)\n", + "\n", + "print(\"Neural Network Results\\n\")\n", + "print(\"Accuracy :\", accuracy_score(y_test, y_pred_mlp))\n", + "print(\"Precision:\", precision_score(y_test, y_pred_mlp))\n", + "print(\"Recall :\", recall_score(y_test, y_pred_mlp))\n", + "print(\"F1 Score :\", f1_score(y_test, y_pred_mlp))\n", + "print(\"Confusion Matrix:\\n\", confusion_matrix(y_test, y_pred_mlp))\n" + ], + "metadata": { + "id": "xNVueXXTFWNI", + "colab": { + "base_uri": "https://localhost:8080/" + }, + "outputId": "b69e3c48-6114-47db-ccf1-ec3b9c74a815" + }, + "execution_count": null, + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "text": [ + "Neural Network Results\n", + "\n", + "Accuracy : 0.975\n", + "Precision: 1.0\n", + "Recall : 0.9736842105263158\n", + "F1 Score : 0.9866666666666667\n", + "Confusion Matrix:\n", + " [[ 2 0]\n", + " [ 1 37]]\n" + ] + } + ] + }, + { + "cell_type": "code", + "source": [ + "# MODEL COMPARISION AND SELECTION\n", + "\n", + "lr_accuracy = accuracy_score(y_test, y_pred_lr)\n", + "lr_f1 = f1_score(y_test, y_pred_lr)\n", + "lr_precision=precision_score(y_test, y_pred_lr)\n", + "lr_recall=recall_score(y_test, y_pred_lr)\n", + "lr_cm=confusion_matrix(y_test, y_pred_lr)\n", + "\n", + "mlp_accuracy = accuracy_score(y_test, y_pred_mlp)\n", + "mlp_f1 = f1_score(y_test, y_pred_mlp)\n", + "mlp_precision=precision_score(y_test, y_pred_mlp)\n", + "mlp_recall=recall_score(y_test, y_pred_mlp)\n", + "mlp_cm=confusion_matrix(y_test, y_pred_mlp)\n", + "\n", + "# Creating a comparison table to compare the two models\n", + "\n", + "print(\"---- MODEL COMPARISON SUMMARY ----\\n\")\n", + "\n", + "results_df = pd.DataFrame({\n", + " \"MODEL\": [\"logmodel\", \"nn_model\"],\n", + " \"ACCURACY\": [lr_accuracy, mlp_accuracy],\n", + " \"PRECISION\": [lr_precision, mlp_precision],\n", + " \"RECALL\": [lr_recall, mlp_recall],\n", + " \"F1 SCORE\": [lr_f1, mlp_f1]})\n", + "\n", + "print(results_df)\n", + "\n", + "\n", + "# Deciding best model based on F1-score\n", + "\n", + "if mlp_f1 > lr_f1:\n", + " best_model = \"Neural Network (MLP)\"\n", + "elif lr_f1 > mlp_f1:\n", + " best_model = \"Logistic Regression\"\n", + "else:\n", + "\n", + " # If F1-score is equal, compare accuracy\n", + "\n", + " if mlp_accuracy > lr_accuracy:\n", + " best_model = \"Neural Network (MLP)\"\n", + " else:\n", + " best_model = \"Logistic Regression\"\n", + "\n", + "print(f\"\\nBEST MODEL BASED ON PERFORMANCE:\")\n", + "print(f\"{best_model}\")" + ], + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "gBdRj6SqUgdc", + "outputId": "6b9e529e-b564-4a35-e739-9bb8837b96a1" + }, + "execution_count": null, + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "text": [ + "---- MODEL COMPARISON SUMMARY ----\n", + "\n", + " MODEL ACCURACY PRECISION RECALL F1 SCORE\n", + "0 logmodel 0.925 0.948718 0.973684 0.961039\n", + "1 nn_model 0.975 1.000000 0.973684 0.986667\n", + "\n", + "BEST MODEL BASED ON PERFORMANCE:\n", + "Neural Network (MLP)\n" + ] + } + ] + }, + { + "cell_type": "markdown", + "source": [ + "- Why Logistic Regression Performs Reasonably Good or Bad\n", + "\n", + " Logistic Regression works well when the relationship between indicators and price movement is close to linear. Its performance drops in complex or highly volatile markets due to limited ability to model non-linear patterns.\n", + "\n", + "- Why Neural Network Performs Better or Worse\n", + "\n", + " Neural Networks capture non-linear interactions between multiple features, allowing better modeling of complex market behavior. However, they can overfit or become unstable when data is noisy or limited.\n", + "\n", + "- Effect of Volatility on Predictions\n", + "\n", + " High volatility introduces randomness and sudden reversals, reducing prediction accuracy for both models. Low volatility environments provide cleaner signals, leading to more reliable predictions.\n", + "\n", + "- Role of Trend Continuation\n", + "\n", + " Trend continuation strengthens predictive confidence as price movements often persist in the same direction. When trends weaken or break, model reliability decreases significantly.\n", + "\n", + "- Situations Where the Model Fails and Why\n", + "\n", + " Both models struggle during sideways markets and sudden regime changes, where price direction becomes unpredictable. Extreme volatility further degrades performance by masking genuine technical signals." + ], + "metadata": { + "id": "QtzVKcGStA7-" + } + } + ] +} \ No newline at end of file