{"nbformat":4,"nbformat_minor":0,"metadata":{"colab":{"provenance":[]},"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.8.1"},"notebookId":"PAG=GBo}Q}it}"},"cells":[{"cell_type":"markdown","metadata":{"id":"T6JQplYgF-jg"},"source":["# Unsupervised Learning"]},{"cell_type":"markdown","source":["NETID: PLEASE FILL ME IN"],"metadata":{"id":"WTXozdDiRFVI"}},{"cell_type":"markdown","metadata":{"id":"RbHmglpHF-jh"},"source":["Previously, we have been focusing on supervised learning. Recall that we covered two types of supervised learning models: regression for predicting continuous variables and classification for predicting categorical ones."]},{"cell_type":"markdown","metadata":{"id":"KMPlYSrMF-jh"},"source":["For instance, for classification problems like a spam detector, you would feed the model training data with some data labeled as 'spam', and others as 'ham' (not spam). On the other hand, for regression problems like predicting housing prices, you would instead pass in some housing data including the associated house price. In both cases, the training data you feed into your model includes the desired solutions (i.e. spam/ham, house price). "]},{"cell_type":"markdown","metadata":{"id":"m23u6cjpF-ji"},"source":["However, what if we are interested in something that isn't included as a target variable in the dataset? Then we need to rely on __unsupervised learning__ instead to gain insight into characteristics of the data that aren't explicity identified. "]},{"cell_type":"markdown","metadata":{"id":"IsPtfm3VF-ji"},"source":["__Note that there are many different types of unsupervised learning algorithms, each with different use cases. For example:__\n"," - Clustering\n"," - Hierarchical Cluster Analysis (HCA)\n"," - k-Means\n"," - Gaussian Mixture Models (GMMs)\n"," - Expected Maximization\n"," - Visualization and Dimensionality Reduction\n"," - Principal Component Analysis (PCA)\n"," - Kernel PCA\n"," - Locally Linear Embedding (LLE)\n"," - t-Distibuted Stochastic Linear Embedding (t-SNE)\n"," - Association Rule Learning\n"," - Apriori\n"," - Eclat\n","\n","However, in this class, we shall only cover three of the clustering algorithms listed above: Hierarchical Clustering, k-Means Clustering, and Gaussian Mixture Models. Let's get started."]},{"cell_type":"markdown","metadata":{"id":"vqcAUKVXF-jj"},"source":["_(And as usual, if you are curious about anything data science that we mentioned, or that you've heard of outside of class, feel free to come talk to us about it after class or during office hours!)_"]},{"cell_type":"markdown","metadata":{"id":"PWOkHkZQF-jj"},"source":["## Hierarchical Clustering\n","\n","Hierarchical clustering groups observations into multiple levels of sets; the top-level set includes all of the data, and the bottom-level sets contain individual observations. The levels in between contain sets of observations with similar features. Let's take a look at a dataset. "]},{"cell_type":"code","metadata":{"id":"quqSfT13F-jk","scrolled":true,"outputId":"b5ad761c-6363-406c-ffc6-2f10a98e6526"},"source":["import pandas as pd\n","import numpy as np\n","from sklearn import datasets\n","\n","iris = datasets.load_iris()\n","iris = pd.DataFrame(iris.data, columns=iris.feature_names)\n","iris.head()"],"execution_count":null,"outputs":[{"data":{"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","
sepal length (cm)sepal width (cm)petal length (cm)petal width (cm)
05.13.51.40.2
14.93.01.40.2
24.73.21.30.2
34.63.11.50.2
45.03.61.40.2
\n","
"],"text/plain":[" sepal length (cm) sepal width (cm) petal length (cm) petal width (cm)\n","0 5.1 3.5 1.4 0.2\n","1 4.9 3.0 1.4 0.2\n","2 4.7 3.2 1.3 0.2\n","3 4.6 3.1 1.5 0.2\n","4 5.0 3.6 1.4 0.2"]},"execution_count":2,"metadata":{},"output_type":"execute_result"}]},{"cell_type":"markdown","metadata":{"id":"ElGmNQAUF-jn"},"source":["The iris dataset contains observations on three iris species. Features include sepal length, sepal width, petal length, and petal width. Notice how the species is not identified in the version of the dataset that we use above. Let's see if we can gain this information through hierarchical clustering. "]},{"cell_type":"markdown","metadata":{"id":"ollnqC6hF-jo"},"source":["### Problem 1 (2 points)\n","\n","Perform hierarchical clustering on the iris dataset and plot the resulting clusters (as a dendrogram). How many clusters do you see? How does this compare to the number of clusters you expect to see?"]},{"cell_type":"code","metadata":{"id":"Q6io2nsOF-jo"},"source":["from sklearn.preprocessing import StandardScaler\n","from scipy.cluster.hierarchy import dendrogram, linkage\n","from matplotlib import pyplot as plt\n","\n","iris = StandardScaler().fit_transform(iris)"],"execution_count":null,"outputs":[]},{"cell_type":"code","metadata":{"id":"K7MtluIRzC_C"},"source":["# Write code here"],"execution_count":null,"outputs":[]},{"cell_type":"markdown","metadata":{"id":"emVIduBZF-jw"},"source":["#### A side note about distances:\n","To find the \"similarity\" for a group of clusters, we simply measure the magnitude of the vector between two the two data points (in whatever dimension we are working with). There are many ways to calculate the magnitude of this vector: for instance, in class we gave the example of either using the euclidean distance or the manhattan distance."]},{"cell_type":"markdown","metadata":{"id":"eY2MtHEMF-jw"},"source":["## K-Means Clustering\n","\n","K-means clustering is another technique for finding groupings in a dataset. Recall kNN from a few lectures ago; k-means uses a similar geometric approach. The k-means algorithm takes in the number of clusters (k), computes the centroid of each cluster, and assigns observations to clusters based on distance from the centroid. Let's take another look at the iris dataset. "]},{"cell_type":"code","metadata":{"id":"14lbRaZlF-jx","outputId":"205fd86e-7b8e-4b0c-ca2b-a1c9493cf629"},"source":["data = datasets.load_iris()\n","iris = pd.DataFrame(data.data, columns=data.feature_names)\n","iris_target = pd.DataFrame(data.target, columns=['Species'])\n","iris_with_target = pd.concat([iris, iris_target], axis=1)\n","\n","iris = iris.drop('sepal length (cm)', axis=1)\n","iris = iris.drop('sepal width (cm)', axis=1)\n","iris_with_target = iris_with_target.drop('sepal length (cm)', axis=1)\n","iris_with_target = iris_with_target.drop('sepal width (cm)', axis=1)\n","\n","iris_with_target.head()"],"execution_count":null,"outputs":[{"data":{"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","
petal length (cm)petal width (cm)Species
01.40.20
11.40.20
21.30.20
31.50.20
41.40.20
\n","
"],"text/plain":[" petal length (cm) petal width (cm) Species\n","0 1.4 0.2 0\n","1 1.4 0.2 0\n","2 1.3 0.2 0\n","3 1.5 0.2 0\n","4 1.4 0.2 0"]},"execution_count":9,"metadata":{},"output_type":"execute_result"}]},{"cell_type":"markdown","metadata":{"id":"JzbemfNyF-jz"},"source":["We've added species identification back into the dataset for the purpose of viewing the groupings in the data. We also drop sepal length and sepal width so that we can plot the observations on a 2d graph. "]},{"cell_type":"code","metadata":{"id":"QMPYrsvxF-j0","outputId":"0185bf52-c9c1-4b4e-c5cc-406d80359b97"},"source":["k = len(iris_with_target['Species'].unique())\n","for i in iris_with_target['Species'].unique():\n"," # select only the applicable rows\n"," ds = iris_with_target[iris_with_target['Species'] == i]\n"," # plot the points\n"," plt.plot(ds[['petal length (cm)']],ds[['petal width (cm)']],'o')\n","plt.title(\"Iris by Species\")\n","plt.xlabel('petal length (cm)')\n","plt.ylabel('petal width (cm)')\n","plt.show()"],"execution_count":null,"outputs":[{"data":{"image/png":"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\n","text/plain":["
"]},"metadata":{"needs_background":"light"},"output_type":"display_data"}]},{"cell_type":"markdown","metadata":{"id":"oBdPc7WZF-j2"},"source":["We can clearly see the three groupings in the data corresponding to the three species. Let's see if we can replicate these clusters using the k-means algorithm. "]},{"cell_type":"markdown","metadata":{"id":"GfDZp0CIF-j2"},"source":["### Problem 2 (3 points)\n","\n","Perform k-means clustering on the iris dataset (using only the petal length and petal width features). We have already dropped the other features for you; you should use the dataframe named 'iris' initialized above."]},{"cell_type":"code","metadata":{"id":"-YxA6yWYF-j3"},"source":["from sklearn import cluster"],"execution_count":null,"outputs":[]},{"cell_type":"code","metadata":{"id":"EKvT3YUuzC_F"},"source":["# Write code here"],"execution_count":null,"outputs":[]},{"cell_type":"markdown","metadata":{"id":"4hII99V6F-j7"},"source":["To test your code, let's plot your results and compare them to the actual groupings found above. "]},{"cell_type":"code","metadata":{"id":"fuhwoRWVF-j8","outputId":"a447edd2-5fc7-4ba6-be01-6f647372a397"},"source":["labels = kmeans.labels_\n","centroids = kmeans.cluster_centers_\n","\n","_, (ax1, ax2) = plt.subplots(1, 2, sharey=True)\n","\n","# original graph\n","for i in iris_with_target['Species'].unique():\n"," # select only the applicable rows\n"," ds = iris_with_target[iris_with_target['Species'] == i]\n"," # plot the points\n"," ax1.plot(ds[['petal length (cm)']],ds[['petal width (cm)']],'o')\n","ax1.set_title(\"Iris by Species\")\n","ax1.set_xlabel('petal length (cm)')\n","ax1.set_ylabel('petal width (cm)')\n","\n","# kmeans graph\n","for i in range(k):\n"," # select only data observations from the applicable cluster\n"," ds = iris.iloc[np.where(labels==i)]\n"," # plot the data observations\n"," ax2.plot(ds['petal length (cm)'],ds['petal width (cm)'],'o')\n"," # plot the centroids\n"," lines = plt.plot(centroids[i,0],centroids[i,1],'kx')\n","ax2.set_title(\"Iris by K-Means Clustering\")\n","ax2.set_xlabel('petal length (cm)')\n","ax2.set_ylabel('petal width (cm)')\n","\n","plt.show()"],"execution_count":null,"outputs":[{"data":{"image/png":"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\n","text/plain":["
"]},"metadata":{"needs_background":"light"},"output_type":"display_data"}]},{"cell_type":"markdown","metadata":{"id":"S_ERaMjzzC_G"},"source":["### Problem 3 (4 points)"]},{"cell_type":"markdown","metadata":{"id":"Ct4F4ddmzC_G"},"source":["Now we will also apply kmeans clustering on a different dataset about wines. In the sections of code specified below, 1) obtain the 'flavanoids' and 'alcohol' columns from `wine_df` and store in variable named `X`, and 2) create a kmeans model stored in a variable named `kmeans` and train it on the wines dataset. Use the number of unique values in the 'target' column as the number of clusters."]},{"cell_type":"code","metadata":{"id":"qIvFR86AF-j-","outputId":"b76f708e-f577-4c02-afb9-f200d99055af"},"source":["from sklearn import datasets\n","import pandas as pd\n","import numpy as np\n","wine = datasets.load_wine()\n","wine_df = pd.DataFrame(data= np.c_[wine['data'], wine['target']],\n"," columns= wine['feature_names'] + ['target'])\n","\n","# TODO: Obtain 'flavanoids' and 'alcohol' columns from wine_df. \n","# Store in variable X.\n","\n","# TODO: Implement k-means!\n","\n","# END\n","\n","labels = kmeans.labels_\n","centroids = kmeans.cluster_centers_\n","\n","_, (ax1, ax2) = plt.subplots(1, 2, sharey=True)\n","\n","\n","# original graph\n","for i in wine_df['target'].unique():\n"," # select only the applicable rows\n"," ds = wine_df[wine_df['target'] == i]\n"," # plot the points\n"," ax1.plot(ds[['flavanoids']],ds[['alcohol']],'o')\n","ax1.set_title(\"Wines by Label\")\n","ax1.set_xlabel('flavanoids')\n","ax1.set_ylabel('alcohol')\n","\n","# kmeans graph\n","for i in range(k):\n"," # select only data observations from the applicable cluster\n"," ds = X.iloc[np.where(labels==i)]\n"," # plot the data observations\n"," ax2.plot(ds['flavanoids'],ds['alcohol'],'o')\n"," # plot the centroids\n"," lines = plt.plot(centroids[i,0],centroids[i,1],'kx')\n","ax2.set_title(\"Wines by Clustering\")\n","ax2.set_xlabel('flavanoids')\n","ax2.set_ylabel('alcohol')\n","\n","plt.show()"],"execution_count":null,"outputs":[{"data":{"image/png":"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\n","text/plain":["
"]},"metadata":{"needs_background":"light"},"output_type":"display_data"}]},{"cell_type":"markdown","metadata":{"id":"gibJLp0eF-kA"},"source":["## GMMs"]},{"cell_type":"markdown","metadata":{"id":"iAcKyE1NF-kA"},"source":["The k-means algorithm we just covered have a major flaw - they do not account for variance. You perhaps can recall from your stats class that the variance, visually, is related to the width of a bell shaped curve. Extending on this visual, you can imagine the variance in two-dimensions to just be the radius of a sphere.\n","\n","Whenever we perform k-means clustering on a model, it groups the data into clusters of circles (in 2 dimension, and hyper-spheres in higher dimensions). This works fine if your data is circular, but performs badly when it is in any shape otherwise. Here is a good visual example: https://towardsdatascience.com/gaussian-mixture-models-d13a5e915c8e.\n","\n","In such cases, we turn to GMMs. GMMs also have an added advantage of not giving hard assignments into clusters (which k-means does), rather giving 'soft assignments', where each data point can be generated by any of the distributions with corresponding probability.\n","\n","This concept may seem rather abstract right now - let's see it visually!"]},{"cell_type":"code","metadata":{"id":"CrXQnh47F-kB","outputId":"2ca83808-1a9e-411f-ecc2-538d2f76e7f2"},"source":["from sklearn.datasets import make_blobs\n","from scipy.spatial.distance import cdist\n","\n","X, y = make_blobs(n_samples=400, centers=4, cluster_std=0.60, random_state=0)\n","X = X[:, ::-1] # reversing the axis for better display\n","\n","model = cluster.KMeans(4, random_state=0)\n","model.fit(X)\n","predictions = model.predict(X)\n","\n","ax = plt.gca()\n","ax.scatter(X[:, 0], X[:, 1], c=predictions, s=40, cmap='viridis', zorder=2)\n","centers = model.cluster_centers_\n","radii = [cdist(X[predictions == i], [center]).max()\n"," for i, center in enumerate(centers)]\n","for c, r in zip(centers, radii):\n"," ax.add_patch(plt.Circle(c, r, fc='#CCCCCC', lw=3, alpha=0.5, zorder=1))"],"execution_count":null,"outputs":[{"name":"stderr","output_type":"stream","text":["/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/sklearn/utils/deprecation.py:143: FutureWarning: The sklearn.datasets.samples_generator module is deprecated in version 0.22 and will be removed in version 0.24. The corresponding classes / functions should instead be imported from sklearn.datasets. Anything that cannot be imported from sklearn.datasets is now part of the private API.\n"," warnings.warn(message, FutureWarning)\n"]},{"data":{"image/png":"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\n","text/plain":["
"]},"metadata":{"needs_background":"light"},"output_type":"display_data"}]},{"cell_type":"code","metadata":{"id":"LBimblyZF-kC","outputId":"44751369-4c28-4f95-9b87-4c2de0288be1"},"source":["rng = np.random.RandomState(13)\n","X_stretched = np.dot(X, rng.randn(2, 2))\n","\n","model = cluster.KMeans(n_clusters=4, random_state=0)\n","model.fit(X_stretched)\n","predictions = model.predict(X_stretched)\n","\n","ax = plt.gca()\n","ax.scatter(X_stretched[:, 0], X_stretched[:, 1], c=predictions, s=40, cmap='viridis', zorder=2)\n","centers = model.cluster_centers_\n","radii = [cdist(X_stretched[predictions == i], [center]).max()\n"," for i, center in enumerate(centers)]\n","for c, r in zip(centers, radii):\n"," ax.add_patch(plt.Circle(c, r, fc='#CCCCCC', lw=3, alpha=0.5, zorder=1))"],"execution_count":null,"outputs":[{"data":{"image/png":"iVBORw0KGgoAAAANSUhEUgAAAWoAAAD4CAYAAADFAawfAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjMuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8vihELAAAACXBIWXMAAAsTAAALEwEAmpwYAABTf0lEQVR4nO2dd5xjdbn/39/T0jN9e2cLZYEFlt6LUqQjCmL3ivqzXxv2whVsV/TarlzFgoiKIBZQUEBQ+i51FxYWFpbtO30m9bTv749MhinJTGYmmWRmvu/XK6/dJCfnPEkmn/Oc5/sUIaVEoVAoFLWLVm0DFAqFQjEySqgVCoWixlFCrVAoFDWOEmqFQqGocZRQKxQKRY1jVGKnzc3NcsmSJZXYtUKhUExL1q9f3yalbCn0XEWEesmSJaxbt64Su1YoFIppiRBia7HnRg19CCFWCSGeGHDrEUJ8pKwWKhQKhaIoo3rUUsrngDUAQggd2AH8obJmKRQKhSLPWBcTTwVelFIWddEVCoVCUV7GKtSXADcWekIIcbkQYp0QYl1ra+vELVMoFAoFMAahFkJYwLnATYWel1JeK6VcK6Vc29JScOFSoVAoFONgLB71mcBjUso9lTJGoVAoFMMZi1BfSpGwh0KhUCgqR0lCLYSIAK8BbqmsOQqFQqEYSkkFL1LKJNBUYVumDVJKXNfF8zx83x92y/cAz/8rhOj/V9O0/n/zN13X+28KhWLmUZHKxJmClBLHcbBtu1+Y8/9WAiEEhmEMulmWpQRcoZjmKKEeA57nYds2tm3jOA6O4zCZE3LyJwbHcQY9rus6lmVhWRamaWKaZr+XrlAopj5KqEfBcRwymQzZbBbbtqttTkE8zyOdTpNOpwHQNI1gMEgwGCQQCCjRViimOEqoC+A4DqlUikwmU7EwRiXxfZ9UKkUqlUIIQSAQIBgMEgqFlGgrFFMQJdR9+L5POp0mlUoNCy1MZaSUZDIZMpkMPT09hEIhwuEwpmlW2zSFQlEiM16oHcchmUySTqcnNd5cDXzfJ5lMkkwmMU2TSCSivGyFYgowY4XacRx6e3vJZDLVNqUqOI5DV1cXvb29RKNRwuGwEmyFokaZlkLdtrODzeu30Di3gZWHLRskQLZt09vbSzabraKFtYPneXR3d5NIJJRgKxQ1yrQSas/z+O57r+Ufv/oXZsDA9yUt8xv53G//E8/1CNSZGCGVc1yIgYJdV1dHMBistkkKhaKPaSXUv/vmH7n7xvtxsg5ONrcguO25nbznkI8TjARxbZe1Zx7Eu751KVbIqrK1tYnneXR0dBAIBKirq8MwptWfiEIxJZlWU8hv+c5tZFMFQhoSMokMru2y/o6n+cnHVW+p0chms7S2ttLb2zvtF1kVilpnWgl1T3ti1G2cjMNjf3uqpG1nOlJKent7aWtrw3XdapujUMxYppVQL95/QUnbGZZB+45OANK9GV56ahtde3sqadqUxnEcWltbSaVS1TZFoZiRTKsA5Nv/64189Y3fwc6MXLDi2i7NCxr4zZV/5B+/+BeGqePaLvsft5L3fu+thOOhSbJ46iClpKuri2w2S319vcoMUSgmEVGJ+OPatWvlunXryr7fkUgmk3R3d/PUPc/ymytvZcfm3RiWgfR8PNfv384Kmhx94VqaFzTy5+/diZ1+VdQNS2f5oUs4+NQDePT2JwnFgpzylmM57IyDlDANwLIsGhsb0bRpdUGmUFQVIcR6KeXags9NdaHOx1ETicSwx6WU/Om7d/LX/70b3/dBwgmXHs0lnz+PDx3yOVLd6YL7NAMGTjYXkw2ELY46/zDe+Y1LKv5ephKGYdDY2KiyQhSKMjFthTp/OZ7vGlcM13bpbusl1hDBClnYaZv3rPokvl/ae7eCJp//00dZtP/8cpg9bdB1ncbGRtU3RKEoAyMJ9ZR1h6SUdHZ2llQCblgGTfMa+u+bQZNwfYhER2mLY67j8eRdG/uFeu/WNm7+xm1suO85AmGLk998LGe+52QMa8p+nOPC8zza29tpampSYq1QVJApG2Ts7u4ed58OIQSHnX5wydtrutYvwm3bO/jimd/i4T8/TqIzSfuOTv743Tu45u3Xzsh8Y9/3aW9vV+l7CkUFmZJC3dPTM+FUsbVnHYQRKM0DFgLWnpUT9j999w4yySxyQNjEyThsXvcSmx58gVTPyGGY6Yjv+3R0dEzJ3t0KxVSgJKUSQtQDPwFWAxJ4p5TywQraVZRkMjls4XA87H/cKgIhCzc7xBMUoOsanuujGRq6ofOGK86mZWFutu/Gfz2P7/nD9pdN2Xzjkh8gNMGsxc287eo3sN8xKyZs51TBdV06OjpoampS2SAKRZkp9Rf1XeBvUsp9gYOBZytnUnFs26a7u7ss+zJMnY/87N0EIwECYQuhCQKRAEsPWshbvvp65q+aQzgeYsmBC5m/am7/60bKsfZ9ief67HpxL99+24/ZunF7WWydKjiOU7bvR6FQvMqoWR9CiDrgCWCZLDEIW4msD9/3aW1tLfvldbo3w6O3PUF3aw/L1izGyTr88H2/wLYdpJd7u1bI4oKPncGS1Qv50Qd+QU9baR59pD7MR677D1YesU9Zba516uvrCYfD1TZDoZhSTCg9TwixBrgWeIacN70e+LCUMjlku8uBywEWLVp02NatWydu+QA6OztHTcObCK88s4MfvPdn7Hm5bVD8eSCGpePaYztRWEGTj13/XvY9enk5zJwSCCFoaWlROdYKxRgYSahLCX0YwKHAj6SUhwBJ4IqhG0kpr5VSrpVSrm1paZmQwUNJpVIVFel0b4arX/89dm9pLSrSwJhFGsDOONz4lVsnYN3UI586OROzYBSKSlCKUG8HtkspH+67/3tywj0p+L5PT09lGyY99MfHcN3KZSxs3bidl57aNqOEKz/JXaFQTJxRr02llLuFENuEEKuklM8Bp5ILg0wKiUQiV/5dQXZv2Yudsiu2f+lLrn79/zB7SQsf/um72PCv53n0tidwsy77HbeC0952PNGGSMWOXy16e3sJhUIqC0ShmCClBhE/CNwghLCALcA7KmfSq7iuSzKZHH3DCbJw/3kEIgGyyQJDBwS5hMQJkk3ZbH9+F1ecfDXSl7h2Li1w00Mv8Mdr7uCSz53L6e8+eeIHqiF83yeRSBCPx6ttikIxpSnJ1ZFSPtEXfz5ISnm+lLKz0oYBkzZd5IjXrSEYCaDpgzvkabqgflb5RMZ3fZyM0y/S/Y97Pjd9/TY2PfRC2Y5VKySTSVUIo1BMkJq9JvU8r6ILiAOxQhZf+NNHWXnEPuimjmHpxFui6IZO157JGSjgZBzu/Mm9k3KsyURKOSlXRQrFdKZm86cmeyGqeUEjn77pg6R7M6STGT5z8tX9rU4ni87dXZN6vMkilUoRi8VUT2+FYpzUpEctpaxaxkAoFqR7T09FQi4jCZVu6ux/3MqyH7MW8H1/0q6OFIrpSE0KdSaTqWpcMxC28L3yCrVuaCOKv2HqvPZdJ5b1mLWEStVTKMZPzQp1NZm7fDaNc+rKus+B48AKceEnzqKuZfpmR9i2XfE0S4ViulJzQi2lJJstkCY3iQgh+OBP3oVuTN7Hs2T1wkk7VrWo9veqUExVak6oXdetCc9rwaq5fOn2j2OFTIRW2UUwIQR1s2IVPUYtoIRaoRgfNSfUtfRjXrT/fP77oS9xwUfPKGs+9VCssMXcfWZXbP+1Qi19twrFVKLmhNpxnGqbMIh4U5TzPnoG1zz6ZSJ1lWndmffXs6ksXXt7uP/3j3L953/PnT/9J4nO6ZOD7HleTVwtKRRTjZqbQt7a2lpzYp1nw32b+O67forneniOhxk0cbMO5fgIDzh+Fc8+uBnf9RECpMy1SNV0jU/8+v+x/LAlEz9IDdDc3IxlWdU2Q6GoOSbUj3o8TESod+/eXdNe196tbdx9/f3senEP+xy6hMfv3MCWxyfWe1toAkFuQkwh6mfXcc2jX5oWzY0aGhoIhYpPyVEoZiojCXVNVSb6vl/TIg0wa3Ezl3zuvP77yw5exHff9RPs9PivAqQvR+z7lE5k2Pr0dpYevGjcx6gV1LRyhWLs1JSLVusiXYjVJ+zLW/7r9RVN5dM0gZOtzXDQWFENmhSKsVNTQj1VG+uf8Maj+OwfPowZqMwFSjqR4eZv3s4z9z9f0vZO1uWJuzby8J8fp7t1cppKKRSKylFToY+pKtQA+xyyhP/49pv42ad+i0DgOm75mjpJ2PTgC2x5fCv7HLqYbZt2gYQjzlnDhR8/i1hjtH/TZ+/fzHff/ROkn3uh53ic9b5TufDjZ5XHlgkylb9jhaJa1NRiouM4tLa2lt2eycTJuryw/iV0U2fbszv55WduqtixdFOnYXYdX73rCoKRAMmuFB894otkh0yrCYQs3vuDt3Loaw+smC2lEg6Hqa+vr7YZCkXNMdHhtpPGdGiDaQYM9jtmBSsPX0aqJ00l35LnePS0J7j/948A8NCfHivosWbTNn/78T2VM2QMTIfvWKGYbGpKqKdD+tlAYg0RNEOv6DHstM1T9zwLQE9bb9Hsk669tRGrnozvWEqJ7/t4nofruoNunuep8ItiylFTMWpN09A0bUpmfxTi8LPX8Ksv3Eyl8xyef2QLzz/yIssPXUIgYpFNDg59aLrGfkcvL/haO+OQ7k0Ta4yi6ZUXUcOY2J+clHKQAOf/n0/tzIv0aAgh+v/e8jfDMPpvuq5PO8dBMXWpKaGG3A/Ztis3EXwyidSF+ch17+abl/1oYjsSuSrFYt5yqifNNy/7Xz7003fiu8O9RStocvYHXjPoMTtt86sv3sIDNz8KQCAc4PVXvI6TLzt2YraOgq6P7QrDdV1s28a2bRzHwXXdsnjEecEfKV1Q13VM08SyLCzLwjRNFbpRVIWShFoI8TLQC3iAWyzgXQ7G+kOuZXo7Etz09b9MeD+6rrP2rDUsW7OQG798a8He1q7t8r13X4frDM40EZrgrP93Ki2LmgY9/sP3/4IN927qz0xxsi6//tIfMAMmx73+iAnbPBApJc+n9vBcajeL5VxOnnMAQb1wGbnneWSzWTKZTNV7WOeFPN8fXQiBaZoEAgGCwSCmaVbNNsXMoqSsjz6hXiulbCtlpxMpIU8mk3R3d4/rtbWElJJPn3w1u17YU5b9CU1wyefOY/dLrdxz/f1jeu2sxc188/7P999vfaWdT598VcH0wcZ5DVzzyJcmam4/tu9y5Ut/4fnUbjx8LM1AE4L/WftOVtfnenC7rksmk+kX56mCrusEg0GCwSCWZSlvWzEhpkwJOUAgEKi2CWXh2Qc207atvWz7k77kxitvxTANNF2MaVTY0IXEHZt3Y1hGQaHu2NmJ7/tli8/+ds+jbErtwpG5EIPr5YT4I+t/zi1HfoTORA/3tW2i18t5rRqC5eFZ7BeeW/PC53keyWSSZDKJruuEw2FCodCE4/AKxVBK/YuSwJ1CCAn8WEp57dANhBCXA5cDLFo0/p4U+YWcqV5qvOP53fhemS/bZS7EMVbmrRjc67plYROeW/jzjTVFy7qIdmfHxn6RHojjufz0+bu4pfUxpASb3PsSgCUMloSa+fKy8whqUyO84Hkevb299Pb2EggECIfDBIPBmj/ZKKYGpf4ij5NSHgqcCbxfCHHC0A2klNdKKddKKde2tLRMyKjp4FXPWtyMYVXfszIDBoe/bg2du18NJ81fOYfFByxANwevB1ghi9e9/7SyHj/rF14AlRJu2ruOrHT7RRpyHkFWumxJt/KLXQ+U1ZbJIpvN0tnZSWtrK6lUSqUDKiZMSUItpdzR9+9e4A9AeVebhhAMBiu5+0nhwBP3JdYYLVzwMolOlvQlf/nB3/nEsV/h2g9fj+vkvNuP/Ozd7HvUcsyAQSgWxAyavOYdx3PGu08q6/H3Dc8t+LgjXbQRvE1HetzdkcsPl1LS62Zw/Kl1leW6Ll1dXUqwFRNm1MVEIUQE0KSUvX3//zvwFSnl34q9ZiKLiZD7Ye7du3fKhz/ad3Tw/ff8jFc27sD3JVJKDjhhFYv2n8/tP7xr0u2xgianveME3vjZc/sf69jZRXdrD3OWzSIUK98J0vd9bNvmhcQertz1V2zpkW/mGhAGy0ItPJ/ag0fx8JAAPjj/VH6550ESXgYNwYkNq/iPeScQ0Kp/tTJWDMOgrq5uWlwxKsrPhAYHCCGWkfOiIRfT/rWU8qsjvWaiQg2QSCTo6amNarqJ0r6jg2R3mrn7zMYMGGx5YitXX/y9CfWwHi+BSID/feZrFStukVLiOA62bfd7kDudbv7Y8zTPpHZRZ4Q4v+UQFloNXPHizbgjCPVcq452J4ktXw2NmELnoOgCPr/0nIrYPxmEQiHi8fi0SkVVTJwJZX1IKbcAB5fdqlEIh8P09vZOi8vFpvmNNM1/9f7SgxexePVCXnryleKLgwJCkQCnvO04bvvhXYw4WWAMOFkHO+MQjJTfq8vnHA/NfV4SaeGTjWcO297SDFy/cDqeIXRs3x0k0pALiTyd2M7ObBfzAvVls30ySafTZDIZ4vE4kUik2uYopgA1WyOradq0HdkkhODjv3ovR59/KGbAQDM0GufVs+yQxQSjQepnx7nwP8/k+09dxRs+fS7v+MYlZTt2vClKIFzemYVSSmzbJpVKFSxQKVYYYojCHqUAzm4+iA43VfB5Xei8kilf6mM1kFLS3d1Ne3v7lA/xKSpPTQf6YrEY6XR6WnjVQwlGAvzHty/j7V+/BNd2R/RwT7r0aDp2dvLHa+6Y0DF1Q+PiK84ua8qY7/tkMpmiYmNZVtF0v+WhFh5LvDLs8YBmcnh8Kfd2PkdnAbF2fY9ZVnxihtcI2WyW1tZWGhoaVOxaUZSa9aghV/kVjUZH33AKY5h6SWGIfQ5ZMuHFPk3XOOKcQye0j4F4nkcqlSoq0kKIESeOXzrnSAJisK9gCJ0FgQaSboZ9QrPQC6TIuHg81bt9YsbXEL7v097eTiKRqLYpihqlpoUaIBqNqkUXYPlhS3DtiV0iG6bBKxt3lMUe13VHvdoJBAIjeu8rwrP53NKzWRRoRCAwhc7R8WX0uhm+ve3vPNa7Fb9AcF4Cv97zEHvs6bHYnKenp4fu7u5peQWpmBg1L9RCCOrq6qptRtWJ1IW54GNnYoXGX6nn+z7ByMTj047jjCrS+c5zhXg53cYvdz3AT3f+C4Hguysv5Xer38tvV7+XtO/Q5iTI+A4+xaez+1LyQNcLE34vtUYymaSrq0uJtWIQNR2jzhMMBgmHw6RShReXZgonXXY0t//oH+NO66ufFWf+qsIFKKVi2zbZbHbEbYQQRYuWfrP7YW5pfRy3L6/6jrYNHFa3hE8sOgNbujyReGXE3Oo8PhJXTo++5UNJp9N4nkdTU5MqQVcAU8CjzlNXVzfjm93cc/39ZNNj7C4ncrnToXiIFUcs43Ov+QZff+P3eezOp8fstTmOM6pIQ+7EWmgBcUNiBzftXY8t3X5v2cbjwe4XuW7nv7D90vuYmELn8PiSMVg/tbBtm87OTuVZK4Ap4lFDzktraGigra1txv7xPnHXRpzMGMQsaHDipUfTsqiJP//PnTx06/r+OPeLj2/l1Lcdxxs/e15J+8q3Ih31mKZZ8IT6aM9LXP3y7QVjzgC3tT9NixkjogfodtMjHiOgGZxYv4oloeaSbJ+qZDIZurq6qK+vV571DGfKCDXkRKC+vp7Ozs5qm1IVYo1jy4CREi6+4hx++dmbSPVkBnXzy6Zs7rzuPk57+/E0zW9kz0ut/PrLf2DDvZvQDI3Dz17Dm75wAdGGCJ7nkU6PLJ6Qi0sXSjFLelm+tfWOoiINIJH8bPf9mAVyqy10Do8vpd1NENYtTm9czRHxpSV+ClObdDqNruvE49MjHVExPqaUUEOu/NbzvGlTXj4WTnv78Tz+9w1Iv7QritmLmwlGAjx518aCLVfdrMu1H7mBy6+5jC+d/d+kezK5qxXH46Fb17P5kS189a5PY7ujhzvyBUqFPL+Hu7eUXFk5tCWqAC6avZY3zj68tB1MQxKJBKZpTtsCMMXoTJkY9UCi0ei0z68uxAHHr0LTSr8ETvXkvGDDKp4psnndS3znXT/BTtuDQkqe49Pd2ssDtz46aqhpJJEGSPl2SQuEhZDAHe0b+m1IezYZz8GTPm12gns6N/FQ94tkxxDfnop0d3fjutP7PSqKM+U86jzxeBzf92dcJki0IUJ3a29J23bu6eav/3s3x7/xSP7247sLTnTxHI9tz+ygkBZnUzbPP7KFw153YNFjCCEIhUIjDhs4OLpwhES70Ul4Gdb1vsyvdj3IK9mOQXsy0DC1XLjkisVncXBs4biPU8v4vk9XV5fKBJmhTEmPOk9dXd2M86xPeetxmMESc6kl3PLft3PAcSuZs8+sopuJIiJrWAYNc4vnsGuaRjgcHnUizMJgI3VGuDSbC+BJn29tvYOtQ0QawMUn7TukfYertt5Grzv6gudUxbZtVb04Q5nSQi2EIB6Pz6iCmLPffxr7H7sCK2RiBgyCkQCBsIWmF/aynIzLvTc+yGdv+dCwiS55NF1gBodfXGma4KgLCpec52cEljq2aySPepHVWHAREUBHUGeEh3XRK3IQ7u+efkUwA0kkEqqJ0wxkyoY+BhKJRNA0bUZUdBmWwX/+4j1s3bCd5x/dQrw5xiGnHcC1H72BR//yxLDtpZR0t/YSioY4+c3Hcu+NDwxK8bNCJidccjRzl8/iN1f+Ed3oE14J77zmjdTPHp5tYBjGmOcBJrziC5KOdAt+byHNJK6H+opjRseWLtsy7fxo+z/Zme1kVXgOZzUfRKM5fVqJSinp7e2lvr6+2qYoJpFpIdSQywbRdZ3Ozs4Z4XEsXr2AxasX9N9fc9oBPHX3M2RTgwtirJDJwafsD8DC/eYOyr4QmuCYCw/nTV88H93QOeaCtWx68AVc32X5EUswC8x8tCwLy7LGHCf1Rqgi3Ov0MlSKNQQRPUCr0ztiWt9ADKFzZ/tGPCQ+kk2pXdze/jRfW34Ri4JNY7K3lkmlUoTD4REbXimmF1M69DEUy7JoaWmZFjMXx8oRZx9Cw5x6DOvVEIJu6ETqI5x46dGs/9tT3PDFWwYtKOq6xivP7EA3cq8Jx0MceMq+7Hfc8mEinV80HK3RUjFWhecUfa6Qv+wjaXMSJYs0gCs9HPz+1zjSJ+Xb/GD7PWO2t9ZRseqZxbQSasgtcDU2NlJXVzejVsetoMkX/vxRTnnr8cSbo0QbIxx/yZF85a8fJxQLcvM3bxvWI8R1PLZv2sVLT77aE9pxhvcRycejJ1LCf/GsghOGykoxSX8utbvoNPSpykg9wBXTj2kT+hhKJBLBsiy6u7ux7TH2x5iiROrCXPalC7jsSxcMe651a+GJKJom2Ll5D0sPXoTneYN+/Pl+0qZpTvik90qmAwOt4IxEQdkmjRXF8T0CWi5bptfN8FxqNyHdYt/wHHQxNf2VZDKpKhZnCCULtRBCB9YBO6SUZ1fOpPJhmibNzc2k02l6enpmtAfSOK+B3Vv2DntcSsnspS3AYG/aNM1xhzkK0e2lig6yNYWOQJDty+zQEGMKeZTC5Zt+yeJgE3OsOv7dvRlT6EgkQc3ks0vOZnm4ePpirZJKpYjFYjPqynGmMhZX4sPAs5UypJKEQiFaWlpmXM71QM7/zzOwQoMXn3RDo2VxM/scuhgpJa7r9udGjzWrYzQOiMwnqA3P/zbQeE3jAVw+/wQOii7gsNhi3jb3GCxR2IdoMiJoBaa+jEbKt3k2tYt7ujbhSI+Ub5P2HTrdFF/ccuuUDI34vj9jrhZnOiV51EKIBcDrgK8C/1lRiyqEpmnE43HC4TCJRGLazmIsxtHnH0ZPWy+3fOt2kOC5HssPW8r/++HbEEKgaRqBQADDMEoSaF9KtDEI+SGxRcwP1PNKpqO/n4eGIKCbXDTrUBrNKKc27t+/fYsZ4wfb7yYr3UF9pzvdVNm9bQ+fB7u3cFLDqrLudzLIZrNq1uIMQJQiVkKI3wNXAzHg44VCH0KIy4HLARYtWnTY1q1by2xqefE8j0QiQSqVmlGC7WRd9ry0l2hjlPpZcUzTJBaL4TgOvb0jl6ZLKflb+wZ+u/dRutwUDUaYN8w+nDMaV5ck7hnf4bd7HuHujk3Y0uPQ2CLeOvcYZhcZVLsz28UHn/v1uPuEjIW3zjmaC2cdVvHjlBvTNGlpaam2GYoyIIRYL6UsuOo+qkcthDgb2CulXC+EOKnYdlLKa4FrAdauXVvzyqfren8JejKZ7J+qMd0xAwYL9p3XPzUnn8qYTCZHfe3Nreu5ac+6/lhyp5vi5zvvJ+3ZJYlcUDN529xjedvcY0uy9enEdgyhjZiDXS6KhVpqHcdx8DxPzRWd5pQSoz4WOFcI8TLwG+AUIcSvKmrVJJLv9Ttr1iwaGxundQ62YRjEYjFmz5497L0WSssbiO27/H7v+n6RzpOVLjftXYfjl/8kZwidgt2iKkBwigo1oLrqzQBGFWop5aellAuklEuAS4C7pZRvrrhlk0x+zl9jYyOzZ88mHo9Pi8qvfA50U1MTLS0txGKxYd6X7/v4/shea6tdPCwigTantI5+Y+GI+NKCxTCVwNLHPzS42iihnv5MXTeigui63t/z2vM8stksmUyGbDY7JeLZpmkSDAYJBAIl5UCXEvKpM0JFQxCe9IkZ5W9qHzOCXDr7SK7f82DZ9z2UOn3qNuWfCSG7mc6YMv2llP+cKjnU5SLvkTY2NjJnzhyam5uJx+MEg8GaiAvmi1IikQgNDQ3Mnj2733MutSdHKR5Z1AiyNrZkWJc7U2gcEV9KVK9M5sGFsw6lcQItUgcS04qHtb617W+4cmoKnvKopz9TsySrSuRFMRqN9odIZs2aRUNDA7FYjFAohGVZJbf+HOux813rIpEIdXV1NDc395886urq+htTjZVSrxI+tPBU9o/MxRI6Yc3CEjr7R+bzgQWnjPmYpSKE4FOLz0Kf4J+qAGZZsaLPJ7wsj/a8PK59+1KyK9tFu1Od/htT4SpPMTFU6GOCGIZRsAeG7/u4rovv+0gp++PA+fuFflz5fOZCN13XK1aBVuoPPaRbfHnZ+ezMdrEz28W8QD3zAvUVsWkgqyJzuKDlUH7fum7c+5DAi5nWEZ/fke1ESsmTiW080P0ihtA4qWEVK0doKLW+Zys/2H43SS+Lj2RBoIGPLz6d+YGGcds6VpRQT3+UUFcITdOmxWJkISZLoAdydvNB/LntiWFZJ+VkrlXP1Vtv56nEdjK+gwDuaN/IYfHFfGrxmcN6gjyb3MVVL982KM/75Uwbn37hZq7d720FKzEVivGgQh+KKdErot4M86Vl5xEWlTv5/bH1cR7r3Uqmr5xckqtafKTnJS5/9hd0Oa/O59yZ7eLzW24dVowjyQ0wuL9rc8XsHMpU+P4UE0MJtaIiMfVKsF9kLr9a/W7Oaiw+bHciPJ/eM6hcfSDtbpL/2X4XvpTssXv4xtbii48Z3+WVTGdFbCzEVPn+FONHhT4UNZG9UiqaEFy+4ETmBOr4+a77y973YySe6H2Fdz5zHSnPxqZ4hkhAGCwKTl6Meip9f4rxoYRaMaGBANXi3JY1HB5fyl0dz9DhJFkWbuaI2DLe+9wvK9YZxEfS5aVH3c4UGsfVr6iQFcOZit+fYmyob1iBEAJd16dc4cTcQB1vnnt0//3d2a5JaN80MjoaX19+cf+Qgkk5pvKopz0quKUActWMU52f73qgqsfXEXxmyeuYP4lhDyHEtPjuFCOjhFoBMC16Gr+QHj7BZjIxhc4hsUWTe0zTVIuJMwD1DSuA6SHUMb26nQ9t6WFXMM+7ENPhe1OMjhJqBVC8wnKq8Ej3S1Ur4c4TN4IEJrldqhLqmYESakU/odDU7CC3vmcr33rlDnq8TNVssNC5dPaRk1p8YhiGik/PEKauC6UoO+FweNRxXLXIL3c/UDDkIIA3zzkKV0rW97zMy5n2ioUmloVaOL1pdUX2XYxwOKyqEmcISqgV/ei6TjAYJJOpnmc6HrYXqQIMaiZzrHqOrV/OG2at5Z9dz/Hn1idJeFnWxBZyZHwZ12y7g4Q38Unek1l4A7lsj3C4PO1fFbWPEmrFICKRyJQT6rgRpNNNDXtcAk1mBMgJ28kN+3Jyw779z3c5KeZa9WwuQ7bIwNj05uQebm17HMf3OLFhJcdWoPglFAqpbI8ZhBJqxSACgQCBQIBsNlttU0rm/JZD+PXuhwd11tMQNBkRVhVpUepJnytevJlWu6csNmxK7ebG3Q9zV8eztLmvLmo+0vsSP9t1Pz9c+WYsvTw/NyEEsVjx3tqK6Yc6JSuGEY/Hq23CmDineQ2nNe6P2TfQICAMFgYb+dKy84rGcB/r3Uq3myrbTEYHj9/ufXSQSOdpcxJ8d/s/ynIcgGg0qqoRZxjKo1YMwzRNwuEwqdTwcEItognBu+efwBtmH85L6VbqjTBLQs0jvmZbpgPbn7yc54e7t5RlP7quE4lEyrIvxdRBCbWiILFYjEwmM+p08lqizgixpsTKwDlWHZZmkO7rPV1phvatHi/xeFzFpmcgo37jQoigEOIRIcSTQoiNQogvT4Zhiuqi6zr19fXVNqNiHB5fSlAzEUxOetssc+LhpFAoNGVz3RUTo5RTcxY4RUp5MLAGOEMIcVRFrVLUBPlButMRU9O5ap+LWBxsxBIGwQpXFH5w4cQGABuGQV1dXZmsUUw1Rv3rlLnJmfkVErPvpqZpzhDi8Ti2beM4kxMimEzmBur4zspL2Z3tJuXbIOEHO+5ha6YNgHlWPW+dczS/2P0grU4vUsrcJHqhk/Js3BLCGfV6iE8sPoMDovPHbacQgvr6ehXymMGIUiYYCyF0YD2wHPiBlPJTBba5HLgcYNGiRYdt3bq1zKYqqoXnebS1tU25ftXjpcdN4yOpN3IFJVJKnk3tYlumg7mBejKewzXb7hw1vm0Jnd8d+L4J21NfX6+KW2YAQoj1Usq1hZ4r6XpPSukBa4QQ9cAfhBCrpZQbhmxzLXAtwNq1a5XHPY3QdZ3Gxkba29un1OLieIkbg+PAQgj2j8xj/8g8IJeDHdODZH13xIrEcgwPiMfjSqQVY8ujllJ2AfcAZ1TEGkXNYpomjY2NqrcEoAuNq/a5iJXh2ZiicD6zKXROa9xvQseJRqNEo9EJ7UMxPSgl66Olz5NGCBECXgNsqrBdihrEsiwl1n00W1G+tvz1/Hjft/DRha8hKIxBZeQCqDfCeEWmmo9GJBKZcoVHispRikc9F7hHCPEU8CjwdynlXyprlqJWCQQCNDU1zZiFrYzvsC3TQcIt3P+k0YxyYsMqrl5+ET4SAej4nFT3Esutb/Ny4uMYPD+mY8bjcZXhoRhEKVkfTwGHTIItiimCZVk0NzfT0dGB607uRJPJwpeSX+1+kL+0PYUuBK70ObpuH96/4BQC2vCfzc17H8OTPkHN5doV9zDfShDWPVx/O5p4Hz6NOKwmJV+PwwEFjymlJBaLEQgEsG27/7H8FUz+X03TVAn5DENVJirGhWEYNDU10dnZ2S8q04nf7X2U29qeyvWv7lsvfLD7RRzp8anFZw7b/qnEdnwkl7Y8z8JAL0EtF/IwNAl4aLSiy3sIiAfo9j5Iwjsd3/fxfR8pJVJKAoEAiUSCRGL0STVCiP6pPLqu9//fMIxJvdqRUuK6Lq7r4nkenuf1v6+h72+o/fmbpmmDbgPflzoh5VBCrRg3uq7T1NREb29vSeIyVfCkzx9bHx/UjQ/AkR7rel6mw0nSaA4uBArrJj1emrMat/aL9FCEAEGWOv17tCePRJKb8ajr+pjblkopcRynYH67pmmYpkkgECAYDJZtxJrv+9i23Z9Xnxfn8VBKWjC8ekIyTRPLsrAsC13XZ9w6iRJqxYQQQhCPxwkEAnR1dU2LXOuUZ+PIwu/DFDp77J5hQn1W00HcsPshRAm1YBKdkPEMKffQfvGZqPAEeICIuAGdPThyBYnsO+jJrqSnpwfDMAgGgwSDQUzTLPlYvu+TzWbJZrPYtl2VMNfAE1K+SVilTkS1zPR/h4pJIRAI0NLSQk9Pz5TpuleMsG5hCQNXDg/pONJjrjV8oe+MhgPY0Ludu7oW88aW5wgU8aoh51XPDn0bRJAMryEp34Rk/LnSYW4iKn6KJnILnppsxxKP0Sm/jsMaXNftD6lomtYv2oFAYJhou65LNpslk8lg23bJnu9kMvAEMvBEFAgEynLSq0VKqkwcK2vXrpXr1q0r+34VUwPbtunu7p5yZefbMh1cv/tBNiR2AJD13UFd7yyhc0R8GR9ffHr/Y67rYtt2/5XEdns7a+o/T1TvxtQcpMyFPAYy8DFfmkjqsTkQn0bS8ixclpVssyBNizgfTQwf9ODIJbTLnxd9rWEYRKPR/vFrqVRqyq835MNI4XB4ynnaE65MVCjGQj4rJJVK0dvbW5PVjD1umoe7t5CVLofGFuNJn0+8cBNZ3+kPXmgINASWZuBLnxPqV3L5/BOB4QKdZ4G1gPbUj3Csu4ka/yZoPI+UEk3Y+FJD4A8Sbk04SNlKSNyNlBph8Wd65PtIc35J7yOX+meQ65029LlXgAz0xcKHks1mSSQS+L6PaZoYhjHlvVHP8/qvHgKBAOFwmGAwOOXflxJqRUUQQhCJRAiFQiSTSZLJZM0I9r2dz/GD7XcjEPhIfrnrARrNCJkhvTt8JBY6H190OgdE5hHUTFzXJZku/F4EDhHzIUxtF7a3kB2pryDwqQs+QMjYREB7ElNsH/46kf/XB7LE+SFZeQI+jaO+l1zIpNjnqlHoJ+55HtlsdtBJxvO8XMMpyxpTHLuWyYdHdF0nGo1O6antSqgVFUXTNGKxGJFIhFQq1e/BVYtWu5cfbL8be8hi4e5isxMF7LV7WBNeQCqVwvd9LO1l6oK3YWk78GSErLeStLuKuZFvIUQGjQw+QXwZo93/Hp52DgnOQeerGHIHQowcbpRoBHiANGeP+n5cluPTgJCZQfuV0iDDCQz8iRe7CsjhIWQGz04SF7cSNp9GiiZ6/Yt5ZtcK0lmXFfMaCQcm3r9ksvE8j+7ubhKJBJFIhEgkMuUEWwm1YlLQNI1oNEokEiGdTlctHnpv53MjNlIayjHx3Zxb/980GB3Y2nzS7v7UB/6MwEGIXLw5aj7Uv33+96+TRiNLg/41OuU1AKTkuQTEvxCMNuU9l3tdGoJOeRWN4sMIaSOwkVh4zKFHfhTILb5lMpkiAu3TEPgdDYE/oJHtP64Q8NzuXv7zxo30ZF5GCAvX83nryQdy/lGrSrSttvA8j56eHpLJJPF4fEoNYVBCrZhUhBCEw2HC4TCu65JKpfo91cmg18viFum/IRjcaP11DS/ziYWPE9Ry4hXSNhHUNw2KMY/kmAnhY8mnEfQgieNwIEn5JqL8ColA4ALesH0IJFmOLvk9eSyhVd5EkPvR2IPLcmwORUqBbWdHPCE2BX5BfeC2YYuRjid43y/OpScTIPfJ5MJC1//zaRY0x1m7fG7fdh6pjEMsHECbIl6q53l0dnaSTCapq6vDNGv/KkEJtaJqGIZBPB4nFoth2zaZTGYEz688rIkt4I6ODcPi0abQmWfVsdPuRkNgCslH5j/ZL9J5xq5FApOnMdiLRzNJLiUtTyfIA0CWsPg9uuxFiCxSCiQBkvJN+Mwa43EsMpzcf891XTKZzIjpdYI09YG/oIliQi5hyKiyrONx0/3PcvDSWVz39ye48/GX8KUkaBm8+cTVvO7wFWO0u3rYtk1rayvRaJRYLFbT4RAl1IqqI4QgEAgQCASoq6vDcZz+hSDHccrqbR8cXcTSYDMvpvf2x6l1NCJ6gCv3uYBeN8OT3a8wS28lrOvkPcnxI6kXV5Jb8DMAkw55DSkuACAtzyXEbQR4AJ8GUvI8HA4e/9Gk7P/cRsPU9iApVqItiAZtejLDwwOt3Um++6dHeGDTDmw39xk6aZvr7noSXdc449B9xm1/NUgkEmQyGRoaGmrWu1ZCrag5TNPENE2i0ShSSjzPG1S6nO8nMR40IfjKsvP5U9sT3NmxEcf3OLJuGW+YtZaYHsSwJceHl2HqjYiS48Q58s5rLnYtyHuj+UIUsJESGsQnaZW/AzQkYVJcTEpePGBPNoIUkjhjaRnved6YJse7srEv/DIcTfhknOHyIAQsbqnj/me343iDj5N1PH71z6c5/ZBlNe2dFsJ1Xdra2ojH4zU5J1QJtaKmGdh8aOCkE9/3BzUDGtoIKN8MqNj+Ll1wNJctOra/EZAQgt7e3v6cWyFiOOyHJTf0pc3lyAmwLFjE4hPHYwGG3IZHCwbbEUPCCkKAkElMNuJw4BDrMsTF9wjxd0DiE6NXXk6mhDkdjuOQyYy2SDkQF19GSDpHEDEfQRODPXBNQH04S086iOu/6nWbus4hS5rZuK1tmFAD9KRsMo7Lw8/t5A8PbaIrmeWARc1cesJqFjbXdn9tKSXd3d3Ytk19fX1NnWxUZaJixiOlpL29fdiim0YbjeJDaHSSy4bQ8WkmK9cQFreRi+Hmfj82B+OyhDB/7etKnSsVL/RblxJcltAtv4jL0v7HG8SnMHl8UMzYlwG65afJclJR+23bJpsdXvBSCEvbyqzQDwnqmwBB0j0EgUvI2IjoC/Pkbe5OBfjmX0/iH8/sgycli5vjvOPkA6iLBPjE9ffhuMOFOhwwee0hS/nr+hfJOrkrEk0ILFPnW28/lSWz60uys9rkh2RMZifCkSoTlVArZjRSSjo6OkYQOh+L9Rhsw2UxHk3ExE+xeAzQyMo19PJ+TF6kTlw5IMwx2nFzxSpt8mf4zEZnG83iPxAFSsFduYA2+auCtpcajwYwRCuLYh9AI9UvxlIKfBlhe+IrWMZO6sy/ETKeASDpHkpr+n3Yfgu+LzF0jWTGYVdnkuvvfYYte3twB4RZTENjVjzMjo7CnRQPWTabKy87qSRba4F8K9/JarWqSsgViiJ0d3eP4o1q2ByOzeHobKNJvAdBur+4JMAjubJw0gVFemDceiBCANImIm6iV34Ag5eQ6BS62NbZWWC/kkwmM6aOdvXWnxDYQ9ILJRoJFsY+QWv6fexIXc3url4een4XjgeHLLVYPkeABr/45zPc9fQrGLqG6/kETZ2MI7FMnazj4fuSnUVEGmDjK20l21oL5OPWjY2NVV9kVEKtmLHkC29KJSp+hmBwBaAmslhyHX6R7ndCgC+DBYtchHAx5dMAeMylWCm4T8Owx7LZ7JjbjgaNZ9DE8Nfk+mR7tIT+j98+3MSv/92KJyVSwi0Pv8C8+jBHLJ/NPRu24Xh+f2xaSsnSWXW8/dQD+cYfHqE7NXL4JWBOvSEAnufR0dFBc3NzVYcYzIzBdwrFEFzXpaura0yvsXh80MJiHoHfV9U3HCnBlQvx5XCPTMpcHByyuKzAY2HfYuXAbTQS8pJBj40l3DEQx587bP8Debk1wm/u343rSwZGRHd2pbh13Utk3cFZMK4vebm1m/auJMnsyPaYhsZrDym9K2At4Xke7e3tVW19UMoU8oVCiHuEEM8IITYKIT48GYYpFJWkq6trzL2WJbEijxv4FC9HdsRBBVP9hACdLuLifwCwZaH8aYElXh2Om09TLIWAvpm54StZEnsH8yOfIe3uh6T4JfwdG5bjemPLdHA8yXdufwy3QAZIvx2Gxsp5TbzphMKzIqcCrutWVaxL8ahd4GNSyv2Bo4D3CyH2r6xZCkXlSKfT4+ozkpQX4cvCLUMlYQrpvsTClvtCkcISIby+dLwkIXHbsIZNQngEuRdBV39T/1II6U+wIPJpIsajmFobYeNpWkI/I+stLGgnQNIOFO3DNxJ+kf0JoDke5iuXncTX3noyAXNqR1odx6G7u7sqxx5VqKWUu6SUj/X9vxd4FphfacMUikogpaSnp0invFFIcw5ZTkBKC18G8GUYX4bIyOMx2FEwt9pjITpdMEojKJ09RQtsJCaa3D2GPGnJrNAP0UR2WDw9qL9YNGXwpH13l7VfRzRkcfVbTuaARS01lZM8Eca6rlEuxnSKE0IsAQ4BHi7w3OXA5QCLFi0qh20KRdlJJpMT6CWi0S0/Q4I3Y/EkPiEi4lZC4q7CsWsBSA1JvrFRYSQ6AR4s0Fmjbz84pDL1JYdqNNGLqbWWtO2rNhjMbb6YFXPhuZ2dY3ptMd71mjXMbYyWZV+1RHd3N5ZlTeoEmZIXE4UQUeBm4CNSymEuiZTyWinlWinl2paWlnLaqFCUBSklyWRywvvxWESac9CwMXgBIUYS/iwx8QOK9QyREgQZYuK6XItSOfR5k6R3PLZbelmzlFbJ276KIO2toCkWHOGUMjb+96/ruOhrv+e/fvdvdnb0lmmv1UdKSWdn56TOkyxJqIUQJjmRvkFKeUtlTVIoKsPQqSYTJSTuGLHAxZcBDHb2hSAKbyNELpdZCK/v/68+lytLD7I79YEx2SUJknQPQcrBcXEpBa6sx5eBIXZaJJ0j+ftTSda/uHcM3bpHJuP4ZB2Ph57bwUf+707aeqb20OOBOI5DOp2etOOVkvUhgJ8Cz0opv115kxSKylDu2KIs4ntKCVLqeMyi+Jis0cnlN2fRGXuhyN70h3D8WfgyhJQangzhyTg7klfRnrkUT4b74uwWPfbJ7El/lDue2DosBa9cpGyXq266f8yvk1Li1cgIt6H09PRMWhZIKUGWY4G3AE8LIZ7oe+wzUsrbK2aVQlFm8uXW5SQjT8diA6JAEUlSXowu9mCKbRM8ikQT6dHWIofhyXq2Jn5ExFiPpW/F8eeQdI5CYtJlL6TLPg9DdOLJGLJv+O1oudAT5fmdHdz8wCaOWDmPuQ1RDL24n5h1XH72jyf5+5MvYTseC1viXP7aQ1izbE5FbRwLvu+TSCSIxyvfbEr1+lDMCLLZLO3t7WXdp6CHWeK8gjMQHbmClDyPmPh+yf0/CiElZL35OP5SHH8e3fZrceXsiZhdlB/d8ST/3rSjaLpduRBA0DS48Jh9WTGvkUUtcWbVDY7Bf/b6f/Ls9rb+ftcAlqHzlctOZPWi2lkDE0Iwe/bssjRvUr0+FDOecnvTACYvIgkhGB5SMXiRNCcQ4XqEdPoXHKUc25QYISCg7yBo7EBKjfrArexOfZKke2S53kY/Fx21gnUv7iHtuEVzrcuBBNKOyw33biBg6PhScuCSWayc14iUsLAlzqYdg0UawHY9fnn3U3zj7adWzrgxIqUklUoRjVY2u0UJtWJGMJ6S69HI9fcopmgaEKFd/piY+DFB+c++tqdjj2nmhV0IH4HNnPDX2dJzY1/aX/mYVRfmqsuO46YHn+fprW2ELAPX8+hNO9gjVB5OhHxM/LEXd/P4i7sB0HVBsdDvS3u6KmLHREgmkxWfbK6EWjEjGGsDo5L2yUokMaRMD8nWMMhwIqAjqSch34nHfCzxIJZ8rmBMeywIHBoCv6Uj+9aJvYECzK4L84Ez1vTfd1yPB57bxX2btvPCri4cdywz3MdGfr+uV/wI9ZHClaHVxPM8stkswWDlbFNNmRTTnvw4r/Ij6JRXIYn1Z1f4MoTLfHpkriVOgAdoFm8mKn5OQGyEIqOvxnRUAXXWnYBEI4Uu2plIdslImIbOiQcs4NTVi9CEqJhIl0LA1Hn9MftW0YLiVDpVT3nUimlPJVOoXJazV95EkPvQ2YvDcmwOJ9fbI9s3TODV+HhunuJ4ppkPRhe9zA1/ibDxFKDhywit6ctJuMdNbMdF2Lyri4xTuenwhbAMHU0INA0cz+d1a5fXbAe+8fSOGQtKqBXTnspXkAXJ8NphjwZYR6EYdnlCmT4R4/H+jBNN2MwOfwcvGSXtrSnHAQbRHA9i6lrBOYmVIGDqvOu0g1k5v4nuVJYVcxuJh8sbky8nnufhOE7FBgwooVYoKobTP4dwKBP1qnOvHXwS0ESWeZEvAToZbwVtmXeQ9VaN/yADOH7f+dz04GaG9o0Sw6yYOJoQzKmPcurBS6dUx71sNlsxoVYxasW0p1qd22wOoVjsOBcCMfpu5TumJjw0YRM2NrIg8lkC+vOjv6gE4uEAnzxvLdGgScgyCBi58nRdK/9nqwl452kHTymRhspkFuVRQq2Y9miaVhWxltThygWF+1RLsNmfFGdV7PiayNIc/FnZ9rf/gib+9/JT+dg5hxK0ckLtDqiO0QQsKEO3PM+X3PXUyxPez2RTmQXrHEqoFdMeIUTV5t25Yp+CIY78YwavlClmXZigvrms+9M1jWjQKriw6EvY1ZXkkKUTqxyUQG+6/AVKlaYSKaB5lFArZgTVEmpbHjysWx3kwh4OB6HRPu7Qh5SiLyXQKroPT5a/Yi5tu0UHDHi+5KmtbSxqjo07LBIwdY5cOfVmk/i+X7EMo6kVBFIoxollWRUpIx+NDK8lyi+R0umvSpRSIAmQkhcQEb8es0edF+WEczRtmXegiSTzI19Ep3vQvnwZoCt7bpneyassnVWHP0JDEM+XvNLWi6lrCH3kApah6JqgLhzgmH3n8+jmnWzd282chihHrJzL8zs7+Ov6F9DQOPeolayY21iOt1NWfN8vS9+PoSihVswIAoEAvb2T37xeEqFT/hcN4gtoMtcUyqORLvkVcguN4ysplxIy3nJcOQck7Ej+F/Mjn0eQBZmbtZhwjqbLPq+8b4icx/um4/flhn9tGtaPYyCO5495CIHnS7qTGd72nT+jaQLpSyxTx/F8vAEnh3s2bOWYfRfwmYuPHee7mFoooVbMCEzTRAgxqVM5AATdNIjPoQ3wdnXZTb34Gh4jx3JHSuETAhoCt+D4C0i5a7H9JbzU+3PCxpPoooesuwghJJpI4Mu6Mr8reO3Bi5lTH+bn9zzDrq7iU3Py48XG8qln3dzJKy/MxQptHti0nX9tfIXjD5j+o/9UjFoxIxBCVLQXQzHC/BFBclAzJiFcNFqxeGLUsMdI5xVdJJgduoalsbf2peHppN39iJn/YFHsoyyIfpKlsXcwJ/R1BONvtVqMgxa38PaT98ccoa80lD/PeiA3/mtjBfc+diqVXaQ8asWMIRwOT+r4JICAeBRNDC8v1kQGKUeYEIOGwB9RyIUAXeTez8LIx+ixjydmPYzA7psOkztuxHyY2XyH3ekrJv6GBtkp2d7eiztJ1YqFSKQrW7o9Viol1MqjVswYAoHApE6OBvBoKijIUupICg+slQTYnfzImI4jBMStf/WL9EA04RAxH0EXXWPa52jc+eRWfvfA5qo2alq9eFYVjz4YTdMqspAIyqNWzDCi0ShdXV2TdryUvJCAeDC3yDcIgx75IeL8d5+4yv4wR499MprmMdbo7kjOnMTA0FrxvPoxvoMi+5OSmx/aXLEZi6Wga4J3veZgso7Lv5/Zxsut3SxoinHCAYsIWblSbs/3eXDTDu55+mWEEJxy4BKO2nd+0fTCiVBJJ0AJtWJGEQqFSCQSFS1OGIjDQSTku4jxEyQ6IBB4dMtPkeEUdLmDqLgekP1CG7fuQWYNJEbRXiFjReAgfQ1ddODJiae1pW2XlD05n2Eh5jdF+czFx+G4Pu/63m1kHJeM7RI0dX5+11N8/W2nML8pxpW//Tcbtu7tX5B8YsseDn5qFp99w3FlF+tK5uoroVbMKIQQ1NXVlX1+4kikeANp+VoCrEeiY3MEkjDgERF/GDb1RRNZ6gO348kI4DDRdho5T11jYeyTgMT2FrM7/Qkcf9649xk0DSxDJ11ArPP6V2gh1DI0PM9nDKnVg/araxqGppFIO+zpTHLT/c/Sk8riy1czRLKOx9dufoA3n3ggG7a2DsoayTguT760l0c37yx7UU2lGjJBCTFqIcR1Qoi9QogNFbNCoZhEAoHApGeASOrJcCpZTuoTadBoLxASySGEjy56c8EPOXL2Rylowu67OQT0F1kQ+cSEMkE0TXDGmiVYxmAJMXWNfec3YRmDvUshoCkW4ucfPofGWGhcx5QSXM8n47h0p7J87eb7eX5ne79I928H7O5M8tfHXiDjDD+RZByXeze8Mi4bRiIQqFwb1lIi3z8HzqiYBQpFFairq6taWXkeSZSRCl6EePUGBr4c3wXw0Cv8XH61Tcz897j2l+f1R63gpAMWYuoa4YCBaWgcvHQ2X37TiVz1lpNZOa8RQc6LPu2gpfzofWcSDwf54qUnEA9Zo6b1jYbt+kXz4rVRLkPK3fRP1/WKetSjfvNSyvuEEEsqZoFCUQV0Xae+vn5SQyBDkYTJcCxBeT9CjBaLdrG9RVj6DjQxfAEvr1elhl01kcHSJuZVaprgHScfwJtPWk1rb5bmeJimPm951fwmvv2u1+D5PpoQg9LWlsyq5xcfOZeHntvB1295cGI2CDHMowYIGDpnHbacZ7e1D/Oqg6bByQcumdBxhx2vgt40lDE9TwhxuRBinRBiXWtra7l2q1BUjEAgQCwWq6oNPfITOOybS9cbIbwhBJhaG54/PN1voEiXGiLxZQDbXzhOq1/FMAwa41FWzW/qF+mB6EVazJqGzvEHLJrwgp5l6ARMfdB+BLCwOU5TPMRhy+cQNF+9cgqaOkesnMeh+8yZ0HGHEgqNL5xTKqKUkto+j/ovUsrVpex07dq1ct26dRM0TaGYHLq6ukilUlW1IcidxMU30UbwrKUEnxAdmQuJW/dhiHY0kRpnUyedF3t+g2T8sXpd1wmFQhMq8njfj/7Ktraecb8eYFFLnOZ4mMe37B500rJ0nQ+dcziRoMW9G7YigBMPXMyhy+aUtTDFMAxaWlomvE8hxHop5dqCx5jQnhWKaUBdXR2+75PJlL/MulQyvAaLpwjKvw8ahjsQIUBIF104vJL4IbND3yRm3jfmYwkBvtQwtT3Y/uL+xzuTGX5177M8+uIeAA5dNou3nLBfQU9Z07QJizQwbDGyGJrI9bsuxK6OBIm0M+hqQkrIuh4/uH0dN/zn+axdPndCdo5EOByu+GAKVZmomPEIIWhoaKhKL5ABVtAjP0aXvJK0PB5PFr6U1oRDUN8EgKm1jnvogJQ6mezz7OxI4EtJ2nb59A338+Dzu3A8H8fzeeSF3XzmxvtJZAZ7+eUSaYDsKJPNA6ZOXSSAMcLCo+P5dCQKtwbwJTy/s2NCNo6EEIJwOFyx/ecZ1aMWQtwInAQ0CyG2A1+UUv600oYpFJNJXqy7u7urGAYR2ByBLY8gwnVEuXHYIqOUGnZf/nPGW0FQf3ZcYi1llv/+y3Y27rifoKkTChh0p7JDtoF01uWeDa9wztp9gPKEOwZyyLI57OpMDGphCrmqw1Xzmjh+9UJOPWgpT2zZzdU3PzDmNMWM7dKZqNyVUjQarVjZ+EBGPYKU8lIp5VwppSmlXKBEWjFdEUJQX19f9QVGgDRn91UyDkZi0m2fA0BX9vxx71/XJBt3NJB1PbrTNru7Cp+cHM9nw7ZcZoxhGGUVaYCLjtmXkGUMWgw0dY195jTwtbefwjmHryQcMDlmv4V86sKjMcYhivc8/XLZ7B2IrutEo+WfoFMIFfpQKIYQi8VoaGiYFE+pGD6z6JJX48l6PBnK3fwIu1OfwPZz/Zd1rRMKiPlAinmgjqcRtkorAY+HrP4ioYEiLaVk884O/vHkS2zYundcvb6b42G+8x+v5dj9FhAJmNRHApx35EqueuvJwzJCjtt/EeceuaLkuHaeJ17aM2a7SiEWi03a0GS1mKhQFCAUCmGaJl1dXdh2dVpp2hxCq7wZ4T6LbafJeMsZ+JONm/9gtAkxxXSkMxmiM1VaStlpa5ZhWdagx1JZhy/ccC8v7e1CIKCv8vCqt5xccPFxJOY0RPnURceUtO07T1vDa9cs41t/eJAXdneV9JqhVZLlwLKsiqfkDUR51ApFEQzDoKmpiXg8Pmme03B0pLEaV6xmqF+VS80buxebcQy+8dfjoIRBWXXhAIctH94T5Pu3rePF3Z1kHa+/IdKujgRX3XT/mO0ZKwua41xyQkmZwmgCTjloSVmPr2ka9fX1k/o3oYRaoRgBIQTRaJTm5uaqZoUMDTsAJJ2j8WXpNkkJSXsZn/79Odz33LJRtzd1wWcuPnbYcTOOy4ObtuMMGRjgS8mLuzrY3Zko2aaxkso67Ozo5e6nXh51W12DpbMbePNJpYl6qdTV1U16X3MV+lAoSsA0TRobG3Ech97e3knPuRZCEAqFBmWkJNyjqPcWE9BfKFhWPhRJgNbsJzn/qDq2dz3BtvYESNkvxI7XN1FGwppls3nfmYcxr3H4wmpmhPamri959/dv4+wjVvDO0w7GLFM/lazj8v3b1vHvZ7ahaxrZAs2WBiKAj557FCesnnj140DC4fCkhjzyKKFWKMbAQMFOJBKTOtpL13WCweCAk4TOjuRV1Fl/pin4KwTuiKl6nozi+POY1yi46k3H0Z3K4no+zfEwz+3uYeMrbcTCAU44YNGIcea6cIBYyKKjSNqbBP7y6Gb2dCX5whuPH/8bHsC3bn2I9S/s7s/xHgldwPEHLOKkAxePuN1o9KazGLrWP4TAsizq6so/KLgUlFArFOPANE0aGhqIxWL09vZOmmCbponv+/0LnBKLLvsieuzTaQjcTMy6DyFtdK0XACE8pNSQmOxJfYSBcenGWJhAIICu6xy2PFowFl0IIQT/8dpDuOaPDxcVTSnh8Rd3s621h4Ut8Qm957aeFOte2IXjljab8eSDl/D+MwtWYpfExlda+f5t69jVkQAkqxfP4uMXHsO+c8pbej4WlFArFBPAMAwaGhqIx+Ok02my2Sy2bY8rVa1UAoEAUkoc59ViGJ8o7dm30Z59GwCmtpN6648E9C1kvcV02efh+AvRdR1d1zEMY1xtXqWUSOCEAxaxpyvBL+95umgKoCYEm3d1TFiod3YksHS9qFAHTR1fShqiIa646GhWzGsa97G2tfbwhV/fO6hi8qmX9/LRn9zJn698J1aVUjaVUCsUZSBf/BCNRvF9n2w2SyaTIZvN4vvln9Kdb6s5UKwH4vjzaM28D8idTAzLwNL1ornhnu+zva2XUMBgVt3wobuprMN1/3iSu596Gcf1WD6vkXecehCWrhedm6hpYtxDAgYytyGK7RU+RjRo8pXLTiRsmSxontgJAeCm+58ZdkLwpSSZsbnr8Rc484h9J3yM8aCEWqEoM/leGKFQCCkltm2TyWRwHAfXdcsi3EKI/kyQgXneoq/380CvebTL9Xuefpkf/+0xPF/i+T6LWuq44qJjmNOQq7qTUvKZ6+9h697u/lDH5p0dfPk3/+LMtcv5yyObcQu8p0jQ5KAlE58S3lIX5pBlc3j8xd2DQi0BU+f1x+7Hygl40EN5YVdnwf7WqazD8ztaOZPqCLVKz1MoKogQgkAgQF1dHc3NzcyZM4c5c+bQ3NzcX66eL64pNf4phMAwDILBIE1NTTQ3NxMKhYhEIkSjUSKRCMFgEMMwRt3nUy/v4fu3rSORcUjbLrbrs2V3F5/8+V24faL49NZWtrf3DotH247Hns4EV7z+GOojOQ9f0wSWoTO7PsJX3zy8unC8fPKCozl63wWYukbIMgiYOhcctYqLji6vcM5rihXMLg9ZBgtb6st6rLGgPGqFYpLRNA3LsoZV+0FfDLjPo8v/P+8lA8P+zROJROjq6hqzt/6bfz0zrINdvpveI8/v5MhV87hvwyvYBdLhJPDczg4++4bjOGrVfDp602ze2UFdJMCq+U1lXXgLWgafvPBoEmmbzmSGlrowQbP88vX6Y/bl8S27h30mhq5z+tpVZT9eqSihVihqiIGiPBaCwSDNzc10dnYWjVsXYmd7b8HHbcfjqZf38MO/riOVdYv2gh6YxtcYC3HkqvJO9h5KNGQRDQ0/wZUDIQRHrV7Ol95icdWNd+PLXCiouS7Cty4/h0iwMsctBSXUCsU0wTAMmpub6e3tJZEorTpw0aw62nqHpxaahsY/nnyJzAj9ogOmzsXH7Ddue2uJfLqlYRicfvi+nHLoCjZvbyNoGSyd01jFFgI5lFArFNMIIQTxeJxAIEB3dzeuO3IF36XHH8DGra2DMjc0IQiYBnaRbA4hcq1ILz52P47Zb0FZ7Z9s8i0CotHoIDE2dZ39F8+uomWDUYuJCsU0JBAI0NLSMmpDqf0WNvPJi46mKRbCMnQMXePAJbM4a+3yosUskYDJLz9yHpccf0ClzJ8UgsEgLS0tk9qudLwoj1qhmKbkvcVQKERPT0/R6skjV87niBXzaO9NEzQNoiGLja+08ocHNzHUqRbAgUtmVSxOPBkYhkE8Hq/y6LWxoYRaoZjm6LpOQ0MD0Wi0aEMpIQTN8Vdn/+2/sJllcxrYvKtjUAGIZepcVmKL0VrDMIz+E1ete9BDUUKtUMwQxtJQSgjBVy47kV/e/TT/eHILGcdj3/lNvPu1h7Bkdv2YjvvcjnZuW/cC3ckMa1fM5bSDl/Y3OpoMprJA5xGV6Emwdu1auW7durLvV6FQlA/XdUmlUqTTabwiJdoT5ZYHNnHDfRuwHQ9JLlOkPhLkmne9hng4UJFj5gkGg4TDucZTU0GghRDrpZQFu0mVtJgohDhDCPGcEOIFIcQV5TVPoVBUg3ysdtasWTQ2NpY9Ztvem+b6fz5Ntk+kAbKOR3tPihvv21jWY+XJv6fZs2f3v6epINKjMapQCyF04AfAmcD+wKVCiP0rbZhCoZgc8n1DGhsbmTNnDvX19WURuHUv7ETThu/D9SX/fmbbhPY9ENM0icVitLS0MGvWLKLR6Lg6A9YypcSojwBekFJuARBC/AY4D3imkoYpFIrJR9M0wuEw4XAYKSXZbLa/davrumNq3zqS0E/kHKDren8JfjAYnHaiXIhShHo+MPD0tx04cuhGQojLgcsBFi1aVBbjFApF9ch72vmQSL4ToOM4/cLteV5R8T58+Tx+JNcPe9zUNU5cXdr0lXwXQNM0MU0Ty7JmhDAPpWxZH1LKa4FrIbeYWK79KhSK2iDfCTDfCxty4u15Hp7n9Qu37/v4vs+cQID3nH4Y/3fnYziuhy9zTf6b4mEuO+lADMNA07T+W749a16cS+n+N1MoRah3AAsH3F/Q95hCoZjh5FuuGoYxSMDzvPPs4zhuzSpu+ffTdPSmOG71Uk5fu4pABTrfTWdK+bQeBVYIIZaSE+hLgDdV1CqFQjFtWLmghSsuOaXaZkxpRhVqKaUrhPgAcAegA9dJKSuTW6NQKBSKYZR0/SGlvB24vcK2KBQKhaIAqnueQqFQ1DhKqBUKhaLGUUKtUCgUNY4SaoVCoahxlFArFApFjaOEWqFQKGqcivSjFkK0AlsnsItmoK1M5pQbZdv4ULaND2Xb+Kll+wrZtlhK2VJo44oI9UQRQqwr1kC72ijbxoeybXwo28ZPLds3VttU6EOhUChqHCXUCoVCUePUqlBfW20DRkDZNj6UbeND2TZ+atm+MdlWkzFqhUKhULxKrXrUCoVCoehDCbVCoVDUODUr1EKI3wohnui7vSyEeKLaNg1ECPFBIcQmIcRGIcQ3qm1PHiHEl4QQOwZ8dmdV26ahCCE+JoSQQojmatuSRwhxpRDiqb7P7E4hxLxq25RHCPHNvr+1p4QQfxBC1FfbpjxCiIv7fgO+EKImUuGEEGcIIZ4TQrwghLii2vYMRAhxnRBirxBiw1heV7NCLaV8o5RyjZRyDXAzcEuVTepHCHEyuUnsB0spDwC+VWWThnJN/rPr6yVeMwghFgKvBV6pti1D+KaU8qC+v7e/AF+osj0D+TuwWkp5EPA88Okq2zOQDcCFwH3VNgRACKEDPwDOBPYHLhVC7F9dqwbxc+CMsb6oZoU6j8hNt3wDcGO1bRnA+4CvSSmzAFLKvVW2ZypxDfBJoKZWsaWUPQPuRqgh+6SUd0op3b67D5GbW1oTSCmflVI+V207BnAE8IKUcouU0gZ+Q86pqgmklPcBHWN9Xc0LNXA8sEdKubnahgxgJXC8EOJhIcS9QojDq23QED7Qd5l8nRCiodrG5BFCnAfskFI+WW1bCiGE+KoQYhtwGbXlUQ/kncBfq21EDTMf2Dbg/va+x6Y0VR0FLIT4BzCnwFOflVL+se//l1IFb3ok28h9bo3AUcDhwO+EEMvkJOU6jmLbj4AryXmEVwL/Te7HPSmMYttnyIU9qsJof29Sys8CnxVCfBr4APDFWrGtb5vPAi5ww2TZVaptispSVaGWUp420vNCCINc/OuwybHoVUayTQjxPuCWPmF+RAjhk2uy0lpt2wYihPg/cvHWSaOYbUKIA4GlwJO5aBYLgMeEEEdIKXdX07YC3EBuRuikCXUJv4W3A2cDp06WQ5BnDJ9bLbADWDjg/oK+x6Y0tR76OA3YJKXcXm1DhnArcDKAEGIlYFEjXbqEEHMH3L2A3GJP1ZFSPi2lnCWlXCKlXELukvTQyRLp0RBCrBhw9zxgU7VsGYoQ4gxycf1zpZSpattT4zwKrBBCLBVCWMAlwJ+qbNOEqapHXQKXUFuLiHmuA67rS7GxgbdNtpczAt8QQqwhF/p4GXhPVa2ZOnxNCLEK8Mm16H1vle0ZyPeBAPD3vquRh6SUNWGfEOIC4HtAC3CbEOIJKeXp1bJHSukKIT4A3AHowHVSyo3VsmcoQogbgZOAZiHEduCLUsqfjvq62tEXhUKhUBSi1kMfCoVCMeNRQq1QKBQ1jhJqhUKhqHGUUCsUCkWNo4RaoVAoahwl1AqFQlHjKKFWKBSKGuf/A4dwoD5ntL9IAAAAAElFTkSuQmCC\n","text/plain":["
"]},"metadata":{"needs_background":"light"},"output_type":"display_data"}]},{"cell_type":"markdown","metadata":{"id":"cQYEV88IF-kE"},"source":["As you can see, a K-Means model generally performs quite poorly when fitting any non-circular shapes (the shaded areas aren't representative of the shape of the data which is more elongated than circular). Let's see how a GMM performs instead:"]},{"cell_type":"markdown","metadata":{"id":"gz4P3NNPF-kE"},"source":["### Problem 4 (1 point)"]},{"cell_type":"markdown","metadata":{"id":"MeeNhwtuzC_H"},"source":["In the cell below, you can see code for how to train a GMM and plot the points while coloring them based on the prediction of the GMM. In the following cell, we provide functions that do the exact same thing, but also plot the points with a shaded ellipse in the background corresponding to the covariance of that group. Call the `plot_gmm` function on both the `X` and `X_stretched` datasets."]},{"cell_type":"code","metadata":{"id":"bd0WWfYSF-kF","scrolled":true,"outputId":"cfe5f045-357f-4b76-ba50-c62952b4dea6"},"source":["from sklearn.mixture import GaussianMixture\n","\n","gmm = GaussianMixture(n_components=4, random_state=42)\n","gmm.fit(X)\n","predictions = gmm.predict(X)\n","plt.scatter(X[:, 0], X[:, 1], c=predictions, s=40, cmap='viridis');"],"execution_count":null,"outputs":[{"data":{"image/png":"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\n","text/plain":["
"]},"metadata":{"needs_background":"light"},"output_type":"display_data"}]},{"cell_type":"markdown","metadata":{"id":"R_D81jRHF-kG"},"source":["We can see the GMMs' performance more clearly with the drawn boundaries below:"]},{"cell_type":"code","metadata":{"id":"B6Im1a26F-kH"},"source":["# you can use these functions\n","from matplotlib.patches import Ellipse\n","\n","def draw_ellipse(position, covariance, ax=None, **kwargs):\n"," \"\"\"Draw an ellipse with a given position and covariance\"\"\"\n"," ax = ax or plt.gca()\n","\n"," # Convert covariance to principal axes\n"," if covariance.shape == (2, 2):\n"," U, s, Vt = np.linalg.svd(covariance)\n"," angle = np.degrees(np.arctan2(U[1, 0], U[0, 0]))\n"," width, height = 2 * np.sqrt(s)\n"," else:\n"," angle = 0\n"," width, height = 2 * np.sqrt(covariance)\n"," \n"," # Draw the Ellipse\n"," for nsig in range(1, 4):\n"," ax.add_patch(Ellipse(position, nsig * width, nsig * height,\n"," angle, **kwargs))\n"," \n","def plot_gmm(model, X, ax=None):\n"," \n"," ax = ax or plt.gca()\n"," model.fit(X)\n"," predictions = model.predict(X)\n"," ax.scatter(X[:, 0], X[:, 1], c=predictions, s=40, cmap='viridis', zorder=2)\n"," ax.axis('equal')\n"," \n"," w_factor = 0.2 / model.weights_.max()\n"," for pos, covar, w in zip(model.means_, model.covariances_, model.weights_):\n"," draw_ellipse(pos, covar, alpha=w * w_factor)"],"execution_count":null,"outputs":[]},{"cell_type":"code","metadata":{"id":"tFQNASraF-kJ"},"source":["# Your Code Here! Make the models and plot them."],"execution_count":null,"outputs":[]},{"cell_type":"markdown","metadata":{"id":"WuWJG53dF-kN"},"source":["## PCA\n","\n","We use principal component analysis to determine which features contribute most significantly to variation in a dataset. Let's do an example on HR analytics data. If you're interested, you can read about the dataset [here](https://www.kaggle.com/giripujar/hr-analytics)."]},{"cell_type":"code","metadata":{"id":"rZqK7RFVF-kN","outputId":"a7ac3113-d313-4f7a-b76f-cd7d092d69e9"},"source":["from sklearn import preprocessing\n","from sklearn.decomposition import PCA\n","from matplotlib import pyplot as plt\n","\n","hr_data = pd.read_csv('lecture9data.csv')\n","\n","hr_data = hr_data.drop('left', axis=1)\n","hr_data = hr_data.drop('Department', axis=1)\n","hr_data = hr_data.drop('salary', axis=1)\n","\n","hr_data = pd.DataFrame(preprocessing.scale(hr_data),columns = hr_data.columns)\n","hr_data.head()"],"execution_count":null,"outputs":[{"data":{"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","
satisfaction_levellast_evaluationnumber_projectaverage_montly_hourstime_spend_companyWork_accidentpromotion_last_5years
0-0.936495-1.087275-1.462863-0.882040-0.341235-0.411165-0.147412
10.7528140.8407070.9711131.2204231.713436-0.411165-0.147412
2-2.0224790.9575542.5937631.4206570.343655-0.411165-0.147412
30.4310410.8991310.9711130.4395081.028546-0.411165-0.147412
4-0.976716-1.145699-1.462863-0.841993-0.341235-0.411165-0.147412
\n","
"],"text/plain":[" satisfaction_level last_evaluation number_project average_montly_hours \\\n","0 -0.936495 -1.087275 -1.462863 -0.882040 \n","1 0.752814 0.840707 0.971113 1.220423 \n","2 -2.022479 0.957554 2.593763 1.420657 \n","3 0.431041 0.899131 0.971113 0.439508 \n","4 -0.976716 -1.145699 -1.462863 -0.841993 \n","\n"," time_spend_company Work_accident promotion_last_5years \n","0 -0.341235 -0.411165 -0.147412 \n","1 1.713436 -0.411165 -0.147412 \n","2 0.343655 -0.411165 -0.147412 \n","3 1.028546 -0.411165 -0.147412 \n","4 -0.341235 -0.411165 -0.147412 "]},"execution_count":22,"metadata":{},"output_type":"execute_result"}]},{"cell_type":"code","metadata":{"id":"vQxAsq2NF-kP","outputId":"23d108e1-0fe8-4d8a-f23e-b4aa4157ee45"},"source":["# perform PCA\n","pca = PCA().fit(hr_data)\n","\n","# plot fraction of variance explained by each component\n","x = np.arange(7)\n","plt.bar(x, pca.explained_variance_ratio_)\n","plt.title('Fraction of Variance Explained by Each Component')\n","plt.xlabel('Component')\n","plt.ylabel('Fraction of Total Variance')\n","plt.show()"],"execution_count":null,"outputs":[{"data":{"image/png":"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\n","text/plain":["
"]},"metadata":{"needs_background":"light"},"output_type":"display_data"}]},{"cell_type":"markdown","metadata":{"id":"xU65A4s-F-kQ"},"source":["Now we need to determine the relationship between components and features. It's important to understand that a component does not correspond to a single feature; a component may be related to multiple features. "]},{"cell_type":"code","metadata":{"id":"KjpZPqd1F-kR","outputId":"a8ab37a2-128d-4f08-dfa5-192046b426a8"},"source":["components = pd.DataFrame(pca.components_, columns=hr_data.columns)\n","components"],"execution_count":null,"outputs":[{"data":{"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","
satisfaction_levellast_evaluationnumber_projectaverage_montly_hourstime_spend_companyWork_accidentpromotion_last_5years
0-0.0879770.5069570.5788350.5490170.313549-0.0193020.009969
10.7975250.331809-0.1033800.103890-0.2840450.3748990.105573
2-0.094390-0.134995-0.022935-0.1071500.4254790.4524520.758363
30.2678690.110150-0.103362-0.0103490.040369-0.8048390.505892
40.3363710.073935-0.196776-0.2517100.787822-0.057630-0.394112
5-0.2778490.7078100.006571-0.634973-0.1220010.0362290.048730
60.291899-0.3099660.777360-0.457877-0.052872-0.044331-0.003917
\n","
"],"text/plain":[" satisfaction_level last_evaluation number_project average_montly_hours \\\n","0 -0.087977 0.506957 0.578835 0.549017 \n","1 0.797525 0.331809 -0.103380 0.103890 \n","2 -0.094390 -0.134995 -0.022935 -0.107150 \n","3 0.267869 0.110150 -0.103362 -0.010349 \n","4 0.336371 0.073935 -0.196776 -0.251710 \n","5 -0.277849 0.707810 0.006571 -0.634973 \n","6 0.291899 -0.309966 0.777360 -0.457877 \n","\n"," time_spend_company Work_accident promotion_last_5years \n","0 0.313549 -0.019302 0.009969 \n","1 -0.284045 0.374899 0.105573 \n","2 0.425479 0.452452 0.758363 \n","3 0.040369 -0.804839 0.505892 \n","4 0.787822 -0.057630 -0.394112 \n","5 -0.122001 0.036229 0.048730 \n","6 -0.052872 -0.044331 -0.003917 "]},"execution_count":24,"metadata":{},"output_type":"execute_result"}]},{"cell_type":"markdown","metadata":{"id":"8ajd6y3eF-kS"},"source":["Each number is the correlation between the feature and the component. For example, we can see that the feature which is most strongly correlated with component 1 is satisfaction_level. "]},{"cell_type":"markdown","metadata":{"id":"-ARZQQueF-kT"},"source":["### Problem 5 (Optional)\n","\n","Based on the results of the principal component analysis above, which features would you expect are most important to include in a predictive model? Why?"]},{"cell_type":"markdown","metadata":{"id":"PGlcDryUF-kT"},"source":[]},{"cell_type":"markdown","metadata":{"id":"-ukLF1w6F-kT"},"source":["### Further Readings:\n","\n","Actually, there are four major categories of machine learning systems: supervised learning, unsupervised learning, semisupervised learning, and reinforcement learning. Semisupervised learning, as you can guess, involved models that take in __partially labeled data__ (usually a lot of unlabeled data and just a little labeled data), while reinforcement learning covers goal-oriented algorithms that repeatedly learn and master a particular (usuallly complex task). Reinforcement learning is often the basis of many \"AI learns to play...\" youtube and facebook videos.\n","\n","_Side note, you can watch people use reinforcement learning to beat games_ [_here_](https://www.youtube.com/watch?v=L4KBBAwF_bE) _(super cool) and_ [_here_](https://www.youtube.com/watch?v=MasxAN-xZIU) _(a less successful - but no less cool - attempt)_\n","\n","To get an overview of these different categories, we highly recommend you read the very first chapter of this book: [__Hands-On Machine Learning with Scikit-Learn & Tensorflow__](http://index-of.es/Varios-2/Hands%20on%20Machine%20Learning%20with%20Scikit%20Learn%20and%20Tensorflow.pdf) (and continue reading if you want to learn how to implement them in Python). In fact, if you go through the book, some of the concepts should seem familiar to you, as we covered them either briefly or somewhat in depth throughout the semester. Indeed, be proud of yourself: you already have the basic concepts of machine learning and data science more or less nailed down!"]},{"cell_type":"markdown","metadata":{"id":"A7Mr7gLhF-kV"},"source":["____"]}]}