{"nbformat":4,"nbformat_minor":2,"metadata":{"colab":{"name":"04M_Bayes_irysy.ipynb","provenance":[{"file_id":"18GZJRU1jLT766DuWKP8HaxfM0leRXJlH","timestamp":1573037468536}],"collapsed_sections":[]},"kernelspec":{"display_name":"Python [default]","language":"python","name":"python3"}},"cells":[{"cell_type":"code","execution_count":1,"source":["import matplotlib\r\n","%matplotlib inline\r\n","matplotlib.rcParams['figure.figsize']=(15,8)\r\n"],"outputs":[],"metadata":{"id":"Gq4B3HvSZ7fU","executionInfo":{"status":"ok","timestamp":1605702015562,"user_tz":-60,"elapsed":1972,"user":{"displayName":"Anna Dawid","photoUrl":"https://lh3.googleusercontent.com/a-/AOh14GgUQAwZ7wyayL4BbiM0n_EANCgBjSdZ9H14lgcCFEE=s64","userId":"02862484648310443813"}}}},{"cell_type":"markdown","source":["# Naiwny klasyfikator Bayesa\r\n","Autor: Jarosław Żygierewicz\r\n","\r\n","Z klasyfikatorem tym zapoznamy się próbując klasyfikować gatunki irysów. Jest to klasyczny już problem, często wykorzystywany przy porównywaniu różnych technik klasyfikacji. Więcej o pochodzeniu tych danych i problemie można przeczytać tu [https://en.wikipedia.org/wiki/Iris_flower_data_set]\r\n","\r\n","Kod napiszemy w oparciu o implementacje klasyfikatora Bayesa z biblioteki scikit-learn [http://scikit-learn.org/stable/about.html#citing-scikit-learn]\r\n","\r\n","Zaczerpniemy stamtąd:\r\n","* obiekt klasyfikatora GaussianNB\r\n","* zbiór danych\r\n","* funkcje do oceny jakości "],"metadata":{"id":"g6aMBGt6Z7fY"}},{"cell_type":"markdown","source":["Zatem importujemy:"],"metadata":{"id":"_yOp4madZ7fZ"}},{"cell_type":"code","execution_count":2,"source":["from sklearn import datasets\r\n","from sklearn.naive_bayes import GaussianNB\r\n","import matplotlib.pyplot as plt\r\n","import numpy as np\r\n","from sklearn.metrics import accuracy_score, classification_report, confusion_matrix\r\n"],"outputs":[],"metadata":{"id":"vgv3tI12Z7fa","executionInfo":{"status":"ok","timestamp":1605702016108,"user_tz":-60,"elapsed":2513,"user":{"displayName":"Anna Dawid","photoUrl":"https://lh3.googleusercontent.com/a-/AOh14GgUQAwZ7wyayL4BbiM0n_EANCgBjSdZ9H14lgcCFEE=s64","userId":"02862484648310443813"}}}},{"cell_type":"markdown","source":["Przyda nam się potem funkcja rysująca dwuwymiarowe rozkłady Gaussa"],"metadata":{"id":"480Gh25dZ7fc"}},{"cell_type":"code","execution_count":3,"source":["def plot_gauss(mu,sigma,xx,yy):\r\n"," ''' Funkcja rysująca kontury funkcji gęstości prawdopodobieństwa \r\n"," dwuwymiarowego rozkładu Gaussa'''\r\n","\r\n"," XX = np.c_[xx.ravel(), yy.ravel()] \r\n"," R = XX - mu \r\n"," invS = np.linalg.inv(np.diag(sigma))\r\n"," z = np.zeros(len(R))\r\n"," for i in range(len(R)):\r\n"," z[i] = np.exp(-0.5*np.dot( R[i,:].T,np.dot(invS,R[i,:])))\r\n"," z.shape = xx.shape\r\n"," #plt.figure()\r\n"," plt.contourf(xx,yy,z,alpha = 0.5)\r\n"," plt.plot(mu[0],mu[1],'o')\r\n"," #plt.show()"],"outputs":[],"metadata":{"id":"JTJZsG8bZ7fd","executionInfo":{"status":"ok","timestamp":1605702016109,"user_tz":-60,"elapsed":2511,"user":{"displayName":"Anna Dawid","photoUrl":"https://lh3.googleusercontent.com/a-/AOh14GgUQAwZ7wyayL4BbiM0n_EANCgBjSdZ9H14lgcCFEE=s64","userId":"02862484648310443813"}}}},{"cell_type":"markdown","source":["## Zbiór danych irys\n","Zapoznajemy się z danymi i wybieramy ich podzbiór do dalszej zabawy."],"metadata":{"id":"6R48NZA7Z7fh"}},{"cell_type":"markdown","source":["Ładujemy dane"],"metadata":{"id":"UFK-4Ph7Z7fh"}},{"cell_type":"code","execution_count":4,"source":["iris = datasets.load_iris() #https://en.wikipedia.org/wiki/Iris_flower_data_set"],"outputs":[],"metadata":{"id":"42SLWGQBZ7fi","executionInfo":{"status":"ok","timestamp":1605702016109,"user_tz":-60,"elapsed":2508,"user":{"displayName":"Anna Dawid","photoUrl":"https://lh3.googleusercontent.com/a-/AOh14GgUQAwZ7wyayL4BbiM0n_EANCgBjSdZ9H14lgcCFEE=s64","userId":"02862484648310443813"}}}},{"cell_type":"markdown","source":["Zobaczmy co ten zbiór ma w środku:"],"metadata":{"id":"GAEWybxwZ7fl"}},{"cell_type":"code","execution_count":5,"source":["print(dir(iris))"],"outputs":[{"output_type":"stream","name":"stdout","text":["['DESCR', 'data', 'feature_names', 'filename', 'target', 'target_names']\n"]}],"metadata":{"id":"8IihOS07Z7fm","colab":{"base_uri":"https://localhost:8080/"},"executionInfo":{"status":"ok","timestamp":1605702016110,"user_tz":-60,"elapsed":2500,"user":{"displayName":"Anna Dawid","photoUrl":"https://lh3.googleusercontent.com/a-/AOh14GgUQAwZ7wyayL4BbiM0n_EANCgBjSdZ9H14lgcCFEE=s64","userId":"02862484648310443813"}},"outputId":"4ba0f8bd-732e-4cf4-f149-03115552f864"}},{"cell_type":"markdown","source":["Wypiszemy sobie opis danych:"],"metadata":{"id":"JPZBOgBxZ7fs"}},{"cell_type":"code","execution_count":6,"source":["print(iris['DESCR'])"],"outputs":[{"output_type":"stream","name":"stdout","text":[".. _iris_dataset:\n","\n","Iris plants dataset\n","--------------------\n","\n","**Data Set Characteristics:**\n","\n"," :Number of Instances: 150 (50 in each of three classes)\n"," :Number of Attributes: 4 numeric, predictive attributes and the class\n"," :Attribute Information:\n"," - sepal length in cm\n"," - sepal width in cm\n"," - petal length in cm\n"," - petal width in cm\n"," - class:\n"," - Iris-Setosa\n"," - Iris-Versicolour\n"," - Iris-Virginica\n"," \n"," :Summary Statistics:\n","\n"," ============== ==== ==== ======= ===== ====================\n"," Min Max Mean SD Class Correlation\n"," ============== ==== ==== ======= ===== ====================\n"," sepal length: 4.3 7.9 5.84 0.83 0.7826\n"," sepal width: 2.0 4.4 3.05 0.43 -0.4194\n"," petal length: 1.0 6.9 3.76 1.76 0.9490 (high!)\n"," petal width: 0.1 2.5 1.20 0.76 0.9565 (high!)\n"," ============== ==== ==== ======= ===== ====================\n","\n"," :Missing Attribute Values: None\n"," :Class Distribution: 33.3% for each of 3 classes.\n"," :Creator: R.A. Fisher\n"," :Donor: Michael Marshall (MARSHALL%PLU@io.arc.nasa.gov)\n"," :Date: July, 1988\n","\n","The famous Iris database, first used by Sir R.A. Fisher. The dataset is taken\n","from Fisher's paper. Note that it's the same as in R, but not as in the UCI\n","Machine Learning Repository, which has two wrong data points.\n","\n","This is perhaps the best known database to be found in the\n","pattern recognition literature. Fisher's paper is a classic in the field and\n","is referenced frequently to this day. (See Duda & Hart, for example.) The\n","data set contains 3 classes of 50 instances each, where each class refers to a\n","type of iris plant. One class is linearly separable from the other 2; the\n","latter are NOT linearly separable from each other.\n","\n",".. topic:: References\n","\n"," - Fisher, R.A. \"The use of multiple measurements in taxonomic problems\"\n"," Annual Eugenics, 7, Part II, 179-188 (1936); also in \"Contributions to\n"," Mathematical Statistics\" (John Wiley, NY, 1950).\n"," - Duda, R.O., & Hart, P.E. (1973) Pattern Classification and Scene Analysis.\n"," (Q327.D83) John Wiley & Sons. ISBN 0-471-22361-1. See page 218.\n"," - Dasarathy, B.V. (1980) \"Nosing Around the Neighborhood: A New System\n"," Structure and Classification Rule for Recognition in Partially Exposed\n"," Environments\". IEEE Transactions on Pattern Analysis and Machine\n"," Intelligence, Vol. PAMI-2, No. 1, 67-71.\n"," - Gates, G.W. (1972) \"The Reduced Nearest Neighbor Rule\". IEEE Transactions\n"," on Information Theory, May 1972, 431-433.\n"," - See also: 1988 MLC Proceedings, 54-64. Cheeseman et al\"s AUTOCLASS II\n"," conceptual clustering system finds 3 classes in the data.\n"," - Many, many more ...\n"]}],"metadata":{"id":"LR22U62NZ7fs","colab":{"base_uri":"https://localhost:8080/"},"executionInfo":{"status":"ok","timestamp":1605702016111,"user_tz":-60,"elapsed":2495,"user":{"displayName":"Anna Dawid","photoUrl":"https://lh3.googleusercontent.com/a-/AOh14GgUQAwZ7wyayL4BbiM0n_EANCgBjSdZ9H14lgcCFEE=s64","userId":"02862484648310443813"}},"outputId":"65962023-2d3c-4f09-ef5e-7dd575657952"}},{"cell_type":"markdown","source":["Wypiszmy nazwy gatunków:"],"metadata":{"id":"-qkkkTzgZ7fw"}},{"cell_type":"code","execution_count":7,"source":["print(iris['target_names'])"],"outputs":[{"output_type":"stream","name":"stdout","text":["['setosa' 'versicolor' 'virginica']\n"]}],"metadata":{"id":"dM4sQ9s_Z7fx","colab":{"base_uri":"https://localhost:8080/"},"executionInfo":{"status":"ok","timestamp":1605702016111,"user_tz":-60,"elapsed":2489,"user":{"displayName":"Anna Dawid","photoUrl":"https://lh3.googleusercontent.com/a-/AOh14GgUQAwZ7wyayL4BbiM0n_EANCgBjSdZ9H14lgcCFEE=s64","userId":"02862484648310443813"}},"outputId":"e717f93a-4b9d-465f-e829-f795aa09ab5e"}},{"cell_type":"markdown","source":["Wypiszmy nazwy cech:"],"metadata":{"id":"EYM_0H6AZ7f1"}},{"cell_type":"code","execution_count":8,"source":["print(iris['feature_names'])"],"outputs":[{"output_type":"stream","name":"stdout","text":["['sepal length (cm)', 'sepal width (cm)', 'petal length (cm)', 'petal width (cm)']\n"]}],"metadata":{"id":"N-ZoaV6sZ7f2","colab":{"base_uri":"https://localhost:8080/"},"executionInfo":{"status":"ok","timestamp":1605702016112,"user_tz":-60,"elapsed":2484,"user":{"displayName":"Anna Dawid","photoUrl":"https://lh3.googleusercontent.com/a-/AOh14GgUQAwZ7wyayL4BbiM0n_EANCgBjSdZ9H14lgcCFEE=s64","userId":"02862484648310443813"}},"outputId":"af009737-a9a1-4d00-b160-3137802db031"}},{"cell_type":"markdown","source":["Wypiszmy kodowanie gatunków. To są wyjścia, które chcielibyśmy uzyskać od wytrenowanego klasyfikatora:"],"metadata":{"id":"V-_83R_CZ7f5"}},{"cell_type":"code","execution_count":9,"source":["print(iris['target'])"],"outputs":[{"output_type":"stream","name":"stdout","text":["[0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0\n"," 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1\n"," 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 2 2 2 2 2 2 2 2 2 2\n"," 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2\n"," 2 2]\n"]}],"metadata":{"id":"rs6J2LBVZ7f6","colab":{"base_uri":"https://localhost:8080/"},"executionInfo":{"status":"ok","timestamp":1605702016112,"user_tz":-60,"elapsed":2478,"user":{"displayName":"Anna Dawid","photoUrl":"https://lh3.googleusercontent.com/a-/AOh14GgUQAwZ7wyayL4BbiM0n_EANCgBjSdZ9H14lgcCFEE=s64","userId":"02862484648310443813"}},"outputId":"3df7772a-9cb5-4837-82bd-60e0c0b88115"}},{"cell_type":"markdown","source":["Wypiszmy wartości cech. Są to dane wejściowe do klasyfkiacji. "],"metadata":{"id":"iwNEvTXQZ7gA"}},{"cell_type":"code","execution_count":10,"source":["print(iris['data'])"],"outputs":[{"output_type":"stream","name":"stdout","text":["[[5.1 3.5 1.4 0.2]\n"," [4.9 3. 1.4 0.2]\n"," [4.7 3.2 1.3 0.2]\n"," [4.6 3.1 1.5 0.2]\n"," [5. 3.6 1.4 0.2]\n"," [5.4 3.9 1.7 0.4]\n"," [4.6 3.4 1.4 0.3]\n"," [5. 3.4 1.5 0.2]\n"," [4.4 2.9 1.4 0.2]\n"," [4.9 3.1 1.5 0.1]\n"," [5.4 3.7 1.5 0.2]\n"," [4.8 3.4 1.6 0.2]\n"," [4.8 3. 1.4 0.1]\n"," [4.3 3. 1.1 0.1]\n"," [5.8 4. 1.2 0.2]\n"," [5.7 4.4 1.5 0.4]\n"," [5.4 3.9 1.3 0.4]\n"," [5.1 3.5 1.4 0.3]\n"," [5.7 3.8 1.7 0.3]\n"," [5.1 3.8 1.5 0.3]\n"," [5.4 3.4 1.7 0.2]\n"," [5.1 3.7 1.5 0.4]\n"," [4.6 3.6 1. 0.2]\n"," [5.1 3.3 1.7 0.5]\n"," [4.8 3.4 1.9 0.2]\n"," [5. 3. 1.6 0.2]\n"," [5. 3.4 1.6 0.4]\n"," [5.2 3.5 1.5 0.2]\n"," [5.2 3.4 1.4 0.2]\n"," [4.7 3.2 1.6 0.2]\n"," [4.8 3.1 1.6 0.2]\n"," [5.4 3.4 1.5 0.4]\n"," [5.2 4.1 1.5 0.1]\n"," [5.5 4.2 1.4 0.2]\n"," [4.9 3.1 1.5 0.2]\n"," [5. 3.2 1.2 0.2]\n"," [5.5 3.5 1.3 0.2]\n"," [4.9 3.6 1.4 0.1]\n"," [4.4 3. 1.3 0.2]\n"," [5.1 3.4 1.5 0.2]\n"," [5. 3.5 1.3 0.3]\n"," [4.5 2.3 1.3 0.3]\n"," [4.4 3.2 1.3 0.2]\n"," [5. 3.5 1.6 0.6]\n"," [5.1 3.8 1.9 0.4]\n"," [4.8 3. 1.4 0.3]\n"," [5.1 3.8 1.6 0.2]\n"," [4.6 3.2 1.4 0.2]\n"," [5.3 3.7 1.5 0.2]\n"," [5. 3.3 1.4 0.2]\n"," [7. 3.2 4.7 1.4]\n"," [6.4 3.2 4.5 1.5]\n"," [6.9 3.1 4.9 1.5]\n"," [5.5 2.3 4. 1.3]\n"," [6.5 2.8 4.6 1.5]\n"," [5.7 2.8 4.5 1.3]\n"," [6.3 3.3 4.7 1.6]\n"," [4.9 2.4 3.3 1. ]\n"," [6.6 2.9 4.6 1.3]\n"," [5.2 2.7 3.9 1.4]\n"," [5. 2. 3.5 1. ]\n"," [5.9 3. 4.2 1.5]\n"," [6. 2.2 4. 1. ]\n"," [6.1 2.9 4.7 1.4]\n"," [5.6 2.9 3.6 1.3]\n"," [6.7 3.1 4.4 1.4]\n"," [5.6 3. 4.5 1.5]\n"," [5.8 2.7 4.1 1. ]\n"," [6.2 2.2 4.5 1.5]\n"," [5.6 2.5 3.9 1.1]\n"," [5.9 3.2 4.8 1.8]\n"," [6.1 2.8 4. 1.3]\n"," [6.3 2.5 4.9 1.5]\n"," [6.1 2.8 4.7 1.2]\n"," [6.4 2.9 4.3 1.3]\n"," [6.6 3. 4.4 1.4]\n"," [6.8 2.8 4.8 1.4]\n"," [6.7 3. 5. 1.7]\n"," [6. 2.9 4.5 1.5]\n"," [5.7 2.6 3.5 1. ]\n"," [5.5 2.4 3.8 1.1]\n"," [5.5 2.4 3.7 1. ]\n"," [5.8 2.7 3.9 1.2]\n"," [6. 2.7 5.1 1.6]\n"," [5.4 3. 4.5 1.5]\n"," [6. 3.4 4.5 1.6]\n"," [6.7 3.1 4.7 1.5]\n"," [6.3 2.3 4.4 1.3]\n"," [5.6 3. 4.1 1.3]\n"," [5.5 2.5 4. 1.3]\n"," [5.5 2.6 4.4 1.2]\n"," [6.1 3. 4.6 1.4]\n"," [5.8 2.6 4. 1.2]\n"," [5. 2.3 3.3 1. ]\n"," [5.6 2.7 4.2 1.3]\n"," [5.7 3. 4.2 1.2]\n"," [5.7 2.9 4.2 1.3]\n"," [6.2 2.9 4.3 1.3]\n"," [5.1 2.5 3. 1.1]\n"," [5.7 2.8 4.1 1.3]\n"," [6.3 3.3 6. 2.5]\n"," [5.8 2.7 5.1 1.9]\n"," [7.1 3. 5.9 2.1]\n"," [6.3 2.9 5.6 1.8]\n"," [6.5 3. 5.8 2.2]\n"," [7.6 3. 6.6 2.1]\n"," [4.9 2.5 4.5 1.7]\n"," [7.3 2.9 6.3 1.8]\n"," [6.7 2.5 5.8 1.8]\n"," [7.2 3.6 6.1 2.5]\n"," [6.5 3.2 5.1 2. ]\n"," [6.4 2.7 5.3 1.9]\n"," [6.8 3. 5.5 2.1]\n"," [5.7 2.5 5. 2. ]\n"," [5.8 2.8 5.1 2.4]\n"," [6.4 3.2 5.3 2.3]\n"," [6.5 3. 5.5 1.8]\n"," [7.7 3.8 6.7 2.2]\n"," [7.7 2.6 6.9 2.3]\n"," [6. 2.2 5. 1.5]\n"," [6.9 3.2 5.7 2.3]\n"," [5.6 2.8 4.9 2. ]\n"," [7.7 2.8 6.7 2. ]\n"," [6.3 2.7 4.9 1.8]\n"," [6.7 3.3 5.7 2.1]\n"," [7.2 3.2 6. 1.8]\n"," [6.2 2.8 4.8 1.8]\n"," [6.1 3. 4.9 1.8]\n"," [6.4 2.8 5.6 2.1]\n"," [7.2 3. 5.8 1.6]\n"," [7.4 2.8 6.1 1.9]\n"," [7.9 3.8 6.4 2. ]\n"," [6.4 2.8 5.6 2.2]\n"," [6.3 2.8 5.1 1.5]\n"," [6.1 2.6 5.6 1.4]\n"," [7.7 3. 6.1 2.3]\n"," [6.3 3.4 5.6 2.4]\n"," [6.4 3.1 5.5 1.8]\n"," [6. 3. 4.8 1.8]\n"," [6.9 3.1 5.4 2.1]\n"," [6.7 3.1 5.6 2.4]\n"," [6.9 3.1 5.1 2.3]\n"," [5.8 2.7 5.1 1.9]\n"," [6.8 3.2 5.9 2.3]\n"," [6.7 3.3 5.7 2.5]\n"," [6.7 3. 5.2 2.3]\n"," [6.3 2.5 5. 1.9]\n"," [6.5 3. 5.2 2. ]\n"," [6.2 3.4 5.4 2.3]\n"," [5.9 3. 5.1 1.8]]\n"]}],"metadata":{"id":"7secdC2uZ7gA","colab":{"base_uri":"https://localhost:8080/"},"executionInfo":{"status":"ok","timestamp":1605702016113,"user_tz":-60,"elapsed":2474,"user":{"displayName":"Anna Dawid","photoUrl":"https://lh3.googleusercontent.com/a-/AOh14GgUQAwZ7wyayL4BbiM0n_EANCgBjSdZ9H14lgcCFEE=s64","userId":"02862484648310443813"}},"outputId":"bb73542a-3c07-4512-fe06-28c41aead297"}},{"cell_type":"markdown","source":["Zatem, np. obserwacja nr 5 ma cechy:"],"metadata":{"id":"a3TCsNIyZ7gE"}},{"cell_type":"code","execution_count":11,"source":["print(iris.data[5,:])"],"outputs":[{"output_type":"stream","name":"stdout","text":["[5.4 3.9 1.7 0.4]\n"]}],"metadata":{"id":"QUWwl7w0Z7gF","colab":{"base_uri":"https://localhost:8080/"},"executionInfo":{"status":"ok","timestamp":1605702016114,"user_tz":-60,"elapsed":2469,"user":{"displayName":"Anna Dawid","photoUrl":"https://lh3.googleusercontent.com/a-/AOh14GgUQAwZ7wyayL4BbiM0n_EANCgBjSdZ9H14lgcCFEE=s64","userId":"02862484648310443813"}},"outputId":"ca99a7af-9ece-48b1-ee4f-52cada383693"}},{"cell_type":"markdown","source":["i ma przypisaną klasę:"],"metadata":{"id":"mPJTZoGqZ7gJ"}},{"cell_type":"code","execution_count":12,"source":["print(iris.target[5])"],"outputs":[{"output_type":"stream","name":"stdout","text":["0\n"]}],"metadata":{"id":"Cs7o4JtcZ7gK","colab":{"base_uri":"https://localhost:8080/"},"executionInfo":{"status":"ok","timestamp":1605702016114,"user_tz":-60,"elapsed":2463,"user":{"displayName":"Anna Dawid","photoUrl":"https://lh3.googleusercontent.com/a-/AOh14GgUQAwZ7wyayL4BbiM0n_EANCgBjSdZ9H14lgcCFEE=s64","userId":"02862484648310443813"}},"outputId":"7e93daf9-9e36-4016-d010-2b8df433ba7f"}},{"cell_type":"markdown","source":["Czyli jest to gatunek:"],"metadata":{"id":"FdTaCybgZ7gQ"}},{"cell_type":"code","execution_count":13,"source":["print(iris.target_names[iris.target[5]])"],"outputs":[{"output_type":"stream","name":"stdout","text":["setosa\n"]}],"metadata":{"id":"oPjGr9meZ7gR","colab":{"base_uri":"https://localhost:8080/"},"executionInfo":{"status":"ok","timestamp":1605702016115,"user_tz":-60,"elapsed":2458,"user":{"displayName":"Anna Dawid","photoUrl":"https://lh3.googleusercontent.com/a-/AOh14GgUQAwZ7wyayL4BbiM0n_EANCgBjSdZ9H14lgcCFEE=s64","userId":"02862484648310443813"}},"outputId":"7a5062ab-2130-43d4-f825-68ee3c825194"}},{"cell_type":"markdown","source":["## Ilustrowanie własności zbioru danych"],"metadata":{"id":"qVa4NHQ4Z7gX"}},{"cell_type":"markdown","source":["Do rysowania zależniści między cechami i klasami przyda nam się własną mapę kolorów:"],"metadata":{"id":"iOF6SXcoZ7gX"}},{"cell_type":"code","execution_count":14,"source":["color_map = {-1: (1, 1, 1), 0: (0, 0, .9), 1: (1, 0, 0), 2: (.5, .5, 0)}"],"outputs":[],"metadata":{"id":"y2dlvcxhZ7gZ","executionInfo":{"status":"ok","timestamp":1605702016115,"user_tz":-60,"elapsed":2456,"user":{"displayName":"Anna Dawid","photoUrl":"https://lh3.googleusercontent.com/a-/AOh14GgUQAwZ7wyayL4BbiM0n_EANCgBjSdZ9H14lgcCFEE=s64","userId":"02862484648310443813"}}}},{"cell_type":"markdown","source":["Wytwarzamy wektor, który każdemu wierszowi w tabeli danych przypisze kolor odpowiadający gatunkowi irysa"],"metadata":{"id":"dd99qOSZZ7gb"}},{"cell_type":"code","execution_count":15,"source":["colors = [color_map[y] for y in iris.target]"],"outputs":[],"metadata":{"id":"kcrKjYkZZ7gb","executionInfo":{"status":"ok","timestamp":1605702016116,"user_tz":-60,"elapsed":2455,"user":{"displayName":"Anna Dawid","photoUrl":"https://lh3.googleusercontent.com/a-/AOh14GgUQAwZ7wyayL4BbiM0n_EANCgBjSdZ9H14lgcCFEE=s64","userId":"02862484648310443813"}}}},{"cell_type":"markdown","source":["### Aby przyjrzeć się zbiorowi danych warto zbadać: \n","#### 1) Rozkłady cech w klasach: \n","* np. histogramy. Proszę wykreślić histogramy rozkładu cech w poszczególnych klasach:"],"metadata":{"id":"-77CE_gBZ7gd"}},{"cell_type":"code","execution_count":16,"source":["plt.figure()\r\n","for f, f_name in enumerate(iris['feature_names']):\r\n"," plt.subplot(1,4,f+1)\r\n"," for k in range(3): # k - klasa\r\n"," plt.hist(iris.data[iris.target==k,f],color=color_map[k],alpha=0.3,bins=np.arange(0,8,0.2))\r\n"," plt.xlabel(str(f)+' '+ f_name)\r\n","plt.show() "],"outputs":[{"output_type":"display_data","data":{"image/png":"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","text/plain":["
"]},"metadata":{"tags":[],"needs_background":"light"}}],"metadata":{"id":"Wd8y0wkrZ7ge","colab":{"base_uri":"https://localhost:8080/","height":279},"executionInfo":{"status":"ok","timestamp":1605702017492,"user_tz":-60,"elapsed":3823,"user":{"displayName":"Anna Dawid","photoUrl":"https://lh3.googleusercontent.com/a-/AOh14GgUQAwZ7wyayL4BbiM0n_EANCgBjSdZ9H14lgcCFEE=s64","userId":"02862484648310443813"}},"outputId":"3195ae9c-5dfb-49e5-a0de-450f27285b4b"}},{"cell_type":"markdown","source":["Violinplot"],"metadata":{"id":"BDHoqwvpZ7gh"}},{"cell_type":"code","execution_count":17,"source":["plt.figure()\n","for f, f_name in enumerate(iris['feature_names']):\n"," plt.subplot(1,4,f+1)\n"," data = np.zeros((50,3))\n"," for k in range(3): #\n"," data[:,k] = iris.data[iris.target==k,f] \n"," plt.violinplot(data)\n"," plt.ylabel(str(f) + ' ' + f_name)\n"," plt.xlabel('Klasy')\n","plt.show() "],"outputs":[{"output_type":"display_data","data":{"image/png":"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","text/plain":["
"]},"metadata":{"tags":[],"needs_background":"light"}}],"metadata":{"id":"0OiR1-7ZZ7gh","colab":{"base_uri":"https://localhost:8080/","height":282},"executionInfo":{"status":"ok","timestamp":1605702018676,"user_tz":-60,"elapsed":5000,"user":{"displayName":"Anna Dawid","photoUrl":"https://lh3.googleusercontent.com/a-/AOh14GgUQAwZ7wyayL4BbiM0n_EANCgBjSdZ9H14lgcCFEE=s64","userId":"02862484648310443813"}},"outputId":"3390d2e5-85ae-4866-f4ca-c5ba1680d520"}},{"cell_type":"markdown","source":["#### Strukturę korelacji\n","Tu zwróćmy uwagę na orientację macierzy podawanej do funkcji `np.cov`:"],"metadata":{"id":"Wam5SdznZ7gk"}},{"cell_type":"code","execution_count":18,"source":["rho = np.cov(iris.data.T)\n","print(rho.shape)\n","plt.figure()\n","plt.matshow(rho)\n","plt.colorbar()\n","plt.show()\n","print(rho)"],"outputs":[{"output_type":"stream","name":"stdout","text":["(4, 4)\n"]},{"output_type":"display_data","data":{"text/plain":["
"]},"metadata":{"tags":[]}},{"output_type":"display_data","data":{"image/png":"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","text/plain":["
"]},"metadata":{"tags":[],"needs_background":"light"}},{"output_type":"stream","name":"stdout","text":["[[ 0.68569351 -0.042434 1.27431544 0.51627069]\n"," [-0.042434 0.18997942 -0.32965638 -0.12163937]\n"," [ 1.27431544 -0.32965638 3.11627785 1.2956094 ]\n"," [ 0.51627069 -0.12163937 1.2956094 0.58100626]]\n"]}],"metadata":{"id":"WPNhSZOPZ7gl","colab":{"base_uri":"https://localhost:8080/","height":355},"executionInfo":{"status":"ok","timestamp":1605702018677,"user_tz":-60,"elapsed":4994,"user":{"displayName":"Anna Dawid","photoUrl":"https://lh3.googleusercontent.com/a-/AOh14GgUQAwZ7wyayL4BbiM0n_EANCgBjSdZ9H14lgcCFEE=s64","userId":"02862484648310443813"}},"outputId":"5011b33d-4463-4395-9e84-9cd0b736a4f9"}},{"cell_type":"markdown","source":["Stukturę korelacji i rozkłady można też podsumować na takim rysunku:\n","* w siatce prostokątnej rysujemy \n"," * na przekątnej histogramy grupowane, lub violinploty\n"," * pod przekątną wykres punktowy (scaterplot)"],"metadata":{"id":"thPoxyz0Z7go"}},{"cell_type":"code","execution_count":19,"source":["plt.figure(1)\r\n","for i, name_i in enumerate(iris['feature_names']):\r\n"," for j, name_j in enumerate(iris['feature_names']):\r\n"," \r\n"," if i>j:\r\n"," plt.subplot(4,4,i*4+j+1) # i numeruje wiersze, j kolumny\r\n"," plt.scatter(iris.data[:,j],iris.data[:,i],c = colors)\r\n"," \r\n"," elif i==j:\r\n"," plt.subplot(4,4,i*4+j+1) # i numeruje wiersze, j kolumny\r\n"," for k in range(3):\r\n"," plt.hist(iris.data[iris.target==k,j],color=color_map[k],alpha=0.3)\r\n"," if j ==0:\r\n"," plt.ylabel(name_i)\r\n"," if i ==3:\r\n"," plt.xlabel(name_j)\r\n","plt.show()"],"outputs":[{"output_type":"display_data","data":{"image/png":"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","text/plain":["
"]},"metadata":{"tags":[],"needs_background":"light"}}],"metadata":{"id":"aCys9gtYZ7gr","colab":{"base_uri":"https://localhost:8080/","height":300},"executionInfo":{"status":"ok","timestamp":1605702019635,"user_tz":-60,"elapsed":5946,"user":{"displayName":"Anna Dawid","photoUrl":"https://lh3.googleusercontent.com/a-/AOh14GgUQAwZ7wyayL4BbiM0n_EANCgBjSdZ9H14lgcCFEE=s64","userId":"02862484648310443813"}},"outputId":"10ce5e00-a5dc-4010-b3a6-1da7babfc2dc"}},{"cell_type":"markdown","source":["## Szykujemy się do zbudowania klasyfikatora\n","Aby było nam łatwo ilustrować jego działanie wybieramy dwie cechy (podziały przestrzeni cech da się wtedy łatwo narysować na płaszczyźnie)\n","\n","* Wybieramy cechy 1 i 2 (bo są ze sobą mało skorelowane) normalizujemy je"],"metadata":{"id":"Dhlnmd_TZ7gt"}},{"cell_type":"code","execution_count":20,"source":["X = np.zeros((iris.data.shape[0],2))\r\n","X[:,0] = (iris.data[:,1] - np.mean(iris.data[:,1]))/np.std(iris.data[:,1])\r\n","X[:,1] = (iris.data[:,2] - np.mean(iris.data[:,2]))/np.std(iris.data[:,2]) \r\n","plt.figure(2)\r\n","plt.scatter(X[:,0],X[:,1],c = colors) \r\n","plt.title('Wybrane cechy po normalizacji')\r\n","plt.show()"],"outputs":[{"output_type":"display_data","data":{"image/png":"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","text/plain":["
"]},"metadata":{"tags":[],"needs_background":"light"}}],"metadata":{"id":"87MgbHRQZ7gu","colab":{"base_uri":"https://localhost:8080/","height":281},"executionInfo":{"status":"ok","timestamp":1605702019636,"user_tz":-60,"elapsed":5940,"user":{"displayName":"Anna Dawid","photoUrl":"https://lh3.googleusercontent.com/a-/AOh14GgUQAwZ7wyayL4BbiM0n_EANCgBjSdZ9H14lgcCFEE=s64","userId":"02862484648310443813"}},"outputId":"907d7f01-97f3-4c78-b21f-7870fb6515a6"}},{"cell_type":"markdown","source":["## Tworzymy i uczymy klasyfikator\n","Poniżej znajduje się kod służący klasyfikacji. Proszę go uzupełnić zgodnie z komentarzami i dokumentacją:\n","\n","https://scikit-learn.org/stable/modules/naive_bayes.html\n","\n","https://scikit-learn.org/stable/modules/generated/sklearn.naive_bayes.GaussianNB.html"],"metadata":{"id":"f9td9_EHZ7gw"}},{"cell_type":"code","execution_count":21,"source":["from sklearn.naive_bayes import GaussianNB\r\n","gnb = GaussianNB() # stwórz instancję klasyfikatora Gaussian Naive Bayes\r\n","Y = iris.target\r\n","gnb.fit(X, Y) # dofituj parametry klasyfikatora "],"outputs":[{"output_type":"execute_result","data":{"text/plain":["GaussianNB(priors=None, var_smoothing=1e-09)"]},"metadata":{"tags":[]},"execution_count":21}],"metadata":{"id":"k86LhFVMZ7gx","colab":{"base_uri":"https://localhost:8080/"},"executionInfo":{"status":"ok","timestamp":1605702019636,"user_tz":-60,"elapsed":5933,"user":{"displayName":"Anna Dawid","photoUrl":"https://lh3.googleusercontent.com/a-/AOh14GgUQAwZ7wyayL4BbiM0n_EANCgBjSdZ9H14lgcCFEE=s64","userId":"02862484648310443813"}},"outputId":"3d9c4de1-25c7-407e-aa12-85a6f29154a9"}},{"cell_type":"markdown","source":["#### Przedstaw rozkłady Gaussa, które zostały dopasowane do danych, skorzystaj z funkcji plot_gauss()\n","* średnie tych rozkładów są w gnb.theta_\n","* standardowe odchylenia są w gnb.sigma_\n","\n","Przygotowanie siatki na której będą rysowane kontury Gaussów"],"metadata":{"id":"eatL-qfbZ7g0"}},{"cell_type":"code","execution_count":24,"source":["x_min, x_max = -3, 3.5\r\n","y_min, y_max = -3, 3.5\r\n","xx, yy = np.meshgrid(np.arange(x_min, x_max, 0.1),\r\n"," np.arange(y_min, y_max, 0.1))\r\n","\r\n","print(gnb.theta_[1])\r\n","\r\n","plt.figure()\r\n","for i in range(3):\r\n"," plot_gauss(gnb.theta_[i], gnb.sigma_[i], xx, yy)\r\n","# dorzućmy do rysunku jeszcze oryginalne dane\r\n","plt.scatter(X[:,0], X[:,1], c = colors)\r\n","plt.title(u'Rozkłady Gaussa dopasowane do danych')\r\n","plt.show() "],"outputs":[{"output_type":"stream","name":"stdout","text":["[-0.66143204 0.28532388]\n"]},{"output_type":"display_data","data":{"image/png":"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","text/plain":["
"]},"metadata":{"tags":[],"needs_background":"light"}}],"metadata":{"id":"jl5R2ofEZ7g0","colab":{"base_uri":"https://localhost:8080/","height":298},"executionInfo":{"status":"ok","timestamp":1605702061939,"user_tz":-60,"elapsed":978,"user":{"displayName":"Anna Dawid","photoUrl":"https://lh3.googleusercontent.com/a-/AOh14GgUQAwZ7wyayL4BbiM0n_EANCgBjSdZ9H14lgcCFEE=s64","userId":"02862484648310443813"}},"outputId":"6833a1b8-5c41-4200-a673-f63907b78409"}},{"cell_type":"markdown","source":["## Rysowanie wyników klasyfikacji \n","Przekształcamy siatkę w macierz dwukolumnową - kolumny odpowiadają cechom"],"metadata":{"id":"fff8gKKmZ7g3"}},{"cell_type":"code","execution_count":null,"source":["XX = np.c_[xx.ravel(), yy.ravel()]\r\n","print(XX.shape)"],"outputs":[{"output_type":"stream","name":"stdout","text":["(4225, 2)\n"]}],"metadata":{"id":"Y8au8zRHZ7g5","colab":{"base_uri":"https://localhost:8080/","height":34},"executionInfo":{"status":"ok","timestamp":1573211582520,"user_tz":-60,"elapsed":6830,"user":{"displayName":"Anna Dawid","photoUrl":"https://lh3.googleusercontent.com/a-/AAuE7mBMAlqIzrWbyBbGSDvCFuCvvSN7Xx3h3HRKaToc0r4=s64","userId":"02862484648310443813"}},"outputId":"d1593dac-bdac-4564-a418-40ee76a9a64d"}},{"cell_type":"markdown","source":["Dla każdego punktu siatki oblicz predykcję klasyfikatora "],"metadata":{"id":"-C2WorUnZ7g7"}},{"cell_type":"code","execution_count":null,"source":["Z = gnb.predict(XX)\r\n","print(Z.shape)"],"outputs":[{"output_type":"stream","name":"stdout","text":["(4225,)\n"]}],"metadata":{"id":"W3OGd-70Z7g8","colab":{"base_uri":"https://localhost:8080/","height":34},"executionInfo":{"status":"ok","timestamp":1573211582522,"user_tz":-60,"elapsed":6798,"user":{"displayName":"Anna Dawid","photoUrl":"https://lh3.googleusercontent.com/a-/AAuE7mBMAlqIzrWbyBbGSDvCFuCvvSN7Xx3h3HRKaToc0r4=s64","userId":"02862484648310443813"}},"outputId":"c796bbed-d321-48be-d7a5-0d825725f596"}},{"cell_type":"markdown","source":["Te predykcje narysujemy w przestrzeni cech za pomocą funkcji plt.contourf "],"metadata":{"id":"K1kVo72aZ7g-"}},{"cell_type":"code","execution_count":null,"source":["plt.figure(3)\r\n","Z = Z.reshape(xx.shape)\r\n","\r\n","print(Z.shape)\r\n","print(xx.shape)\r\n","\r\n","plt.contour(xx, yy, Z, cmap=plt.cm.Paired)\r\n","\r\n","# i dorzucamy oryginalne punkty\r\n","plt.scatter(X[:,0], X[:,1], c = colors)\r\n","plt.title(u'Podział przestrzeni cech na klasy')\r\n","plt.show()"],"outputs":[{"output_type":"stream","name":"stdout","text":["(65, 65)\n","(65, 65)\n"]},{"output_type":"display_data","data":{"image/png":"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Z5rqKTjTJ3tGj5vmfgCnuNoJ/Dda5MXya5znfWj0d2lq/Wtaa/9rrT0ep1C1wP9Fj9cAz0TvfynOlE8REWlERZqISAqw1m4B3gd+Y4zJNMYcibMW6YnoXZ4B7jJO84+uwE37f9YYcxROYXKutbb0IGHycAqkMmNMG5x1bl/FSGPM+cbpovhdoBb4MNYdm8vJWhsB/gn80RjTPnrfLvvXhhljJhtj+kbXyJXjTAHdP/pTDPQ+WILGmGtw1qhdEo2130fAvmhDiyxjjNcYM8QYMzr2lb6caIx/A3+INibxGmPGGmMycF67s4wxk6LHM42zB1pXa+12nLViD0RfU78x5oSDxTpEeTiv0y6cEcxff4mfCeKMvOUAj0UL8ljXrQDKo2vvDjQXMcb0N8acHH0OanB+5+q/Fo8BV+AU4SrSRERiUJEmIpI6LsYZ6dgGvAj8tN60yHtwpjhuBF6j4Zvbc3CmL75rPu9qODPG9f+Es/5tJ05xNesr5vc/nDVFe3BGQc4/yKjdwXK6E2c63YfGmL3AGzgjfOA0uHgDpwD4AHjAWjsneu43wN3RTon1G2PUdzFOIbetXtwfWmvDwGScdXgbo8/BQzijS1/X94FPgAXAbpxRI0+08D4Hp/lJKc7o2e18/v/eS3EKotU4a7i+G4dcGnsM5/dmK7CSZorqxqy1dcD5OM1b/h2jULsHZwuJcpzmKC/UO5eB0xxmJ840zPY46//2X/s9nKJtsbU21rRdEZG0Z6xtbvaIiIiIwzht7Ptaa6cmOxc5/Blj3sJZM/hQsnMREUlFahwiIiIiCROdYjoCZ5RRRERi0HRHERERSQhjzKM401m/26iTqYiI1KPpjiIiIiIiIilEI2kiIiIiIiIpREWaiIiIiIhICklK45DCwkLbs2fPZIQWERERERFJukWLFu201raLdS4pRVrPnj1ZuHBhMkKLiIiIiIgknTGm2b0iNd1RREREREQkhahIExERERERSSEq0kRERERERFKIijQREREREZEUoiJNREREREQkhahIExERERERSSEq0kRERERERFKIijQREREREZEUoiJNREREREQkhahIExERERERSSEq0kRERERERFKIijQREREREZEUoiJNREREREQkhahIExERERERSSEq0kRERERERFKIijQREREREZEUoiJNREREREQkhahIExERERERSSEq0kRERERERFKIijQREREREZEUoiJNREREREQkhXztIs0Yk2mM+cgYs9QYs8IYc088EhMREREREUlHvjhcoxY42VpbYYzxA+8aY2Zaaz+Mw7VFRERERETSytcu0qy1FqiIfuuP3uzXva6IiIiIiEg6isuaNGOM1xizBCgBXrfWzo/HdUVERERERNJNXIo0a23YWjsc6AqMMcYMaXwfY8zVxpiFxpiFpaWl8QgrIiIiIiLS4sS1u6O1tgyYA5wW49yD1tpR1tpR7dq1i2dYERERERGRFiMe3R3bGWMKol9nAROB1V/3uiIiIiIiIukoHt0dOwGPGmO8OEXfM9baGXG4roiIiIiISNqJR3fHZcBRcchFREREREQk7cV1TZqIiIiIiIh8PSrSREREREREUoiKNBERERERkRSiIk1ERERERCSFqEgTERERERFJISrSREREREREUoiKNBERERERkRSiIk1ERERERCSFqEgTERERERFJISrSREREREREUoiKNBERERERkRSiIk1ERERERCSFqEgTERERERFJISrSREREREREUoiKNBERERERkRSiIk1ERERERCSFqEgTERERERFJISrSREREREREUoiKNBERERERkRSiIk1ERERERCSFqEgTERERERFJISrSREREREREUoiKNBERERERkRSiIk1ERERERCSFqEgTERERERFJISrSREREREREUoiKNBERERERkRSiIk1ERERERCSFqEgTERERERFJISrSREREREREUoiKNBERERERkRSiIk1ERERERCSFqEgTERERERFJISrSREREREREUoiKNBERERERkRSiIk1ERERERCSFqEgTERERERFJISrSREREREREUoiKNBERERERkRSiIk1ERERERCSFqEgTERERERFJISrSREREREREUoiKNBERERERkRSiIk1ERERERCSFqEgTERERERFJISrSREREREREUoiKNBERERERkRSiIk1ERERERCSFqEgTERERERFJISrSREREREREUoiKNBERERERkRSiIk1ERERERCSFqEgTERERERFJISrSREREREREUoiKNBERERERkRSiIk1ERERERCSFqEgTERERERFJISrSREREREREUoiKNBERERERkRTytYs0Y0w3Y8wcY8xKY8wKY8wt8UhMREREREQkHfnicI0QcJu1drExJg9YZIx53Vq7Mg7XFhERERERSStfeyTNWrvdWrs4+vU+YBXQ5eteV0REREREJB3FdU2aMaYncBQwP57XFRERERERSRdxK9KMMbnA88B3rbV7Y5y/2hiz0BizsLS0NF5hRUREREREWpS4FGnGGD9OgfYfa+0Lse5jrX3QWjvKWjuqXbt28QgrIiIiIiLS4sSju6MB/gWsstb+4eunJCIiIiIikr7iMZJ2HHApcLIxZkn0dkYcrisiIiIiIpJ2vnYLfmvtu4CJQy4iIiIiIiJpL67dHUVEREREROTrUZEmIiIiIiKSQlSkiYiIiIiIpBAVaSIiIiIiIilERZqIiIiIiEgKUZEmIiIiIiKSQr52C34RkYPZtm0hb755F9u3L6ZVq66ceOLPGDjwvGSnJSIiIpKyVKSJiGu2bVvEI4+cSDBYBUB19W5efHEqVVV/ZOTIq5OcnYiIiEhq0nRHEXHNm2/edaBA2y8YrOLNN+8iEgknKSsRERGR1KYiTURcs337xzGPB4NVVFWVJjgbERERkcODijQRcU1+frdmznjIzGyd0FxEREREDhcq0kTENePH/wy/P7vBMb8/m1GjrsXny0hSViIiIiKpTUWaiLimf/+zOf30v5CdXYjPl3mgQJs48f+SnZqIiIhIylJ3RxFx1VFHXcWwYZdTVbWTzMyCtBhBszbC7t3rCATyyMvrlOx0REQOyvmbtR6/P5tWrbokOx0RQUWaiCSAx+MlN7dDstNIiDVrXuHll6+irq6SSCRMly6juOCCZ8nN7Zjs1EREmti48S1efPEyamr2YG2E9u2HcsEFz1JQ0CPZqYmkNU13FBGJk9LSlTz33DeprCwhGKwkHK5hy5YPefzxU7HWJjs9EZEGysqKePLJs9m3byvBYBWhUA3bty/m0UfHY20k2emJpDUVaSIicfLRR/cTCtU2OGZtiLKyjWzfvihJWYmIxLZo0T+JRIINjlkbpqpqF0VFc5OTlIgAmu4oIhI3ZWUbsbbpJt3GeNi3b1sSMkqMcLiOzZvfJRIJ06PHOHy+zGSnJCJfQllZEeFwXYwztkX/zRI5HKhIExGJk169TqGoaB6hUHWD4+FwHZ07j0pSVu4qKprL00+fd2BqlLWWb3zjv/TrNznJmYnIF+nV62Q+/fR/BIOVDY5HIiG6dDk6SVmJCGi6o4hI3IwYMY3s7EK83sCBY35/DiNGTCMvr3MSM3NHTU0Z//3vZGpqyqit3Utt7V7q6vbx7LPf1KfwIoeBoUO/RV5eZ7zez7vu+v05DBp0AW3bHpHEzERERZqISJxkZuZzzTWLGTPmZlq37kOnTiM488wHOO20Pyc7NVesWvVCzOPWRvjkkycTnI2IfFV+fxbf+c4Cxo69jTZt+tKhwzAmTfoD5577SLJTE0l7mu4oIhJH2dmFnHrq7zj11N8lOxXX1dSUNWk6AM70zpqaPUnISES+qszMfCZM+BUTJvwq2amISD0aSRMRkUPSu/dEjPE2Oe73Z9Onz6QkZCQiItIyqEgTEZFD0qHDUI48cip+f86BY35/Dn37nk737scnMTMREZHDm6Y7iojIIZs8+R/063cWS5Y8TCQSYtiwyxg48HyMMclOTURE5LClIk1ERA6ZMYb+/c+if/+zkp2KiBwCay0bN77JqlUvEgjkMnz45bRrNyjZaYmkPRVpIiIiImnIWsvzz1/EmjWvEAxWYoyPjz76C5Mm/YFRo65NdnoiaU1r0kRERETS0Lp1Mw8UaADWhgiFqpk9+3tUVe1KcnYi6U1FmoiIiEgaWrHi2QMFWn0ej58NG15PQkYisp+mO4qItADhcJBlyx5n2bIn8HozGDnyOwwYcJ4aeIhIs3y+TIzxYG2k0RmDz5eZlJxExKEiTUTkMGdthCeemMTWrR8d+FR88+Z3OPLIqUye/PckZyciqeqoo65k2bLHCAarGp2J0KfPqUnJSUQcmu4oInKYW7t2Jtu2LWgwbSkYrGTp0sfYufPTJGYmIqmsS5cxjBv3I3y+TPz+HAKBPAKBXC666H/4/dnJTk8krWkkTUTkMLd+/Wzq6ipinisqmkNhYf8EZyQih4tx437IsGGXsX79a/j92fTrN5lAIDfZaYmkPRVpIiKHuezsdni9AcLhugbHPR4fWVltkpSViBwuWrXqylFHXZXsNESkHk13FBE5zA0bdhnGNP3MzePx0q+fNpkWERE53KhIExE5zBUU9OCCC54mI6MVGRmtCATyyM3txKWXvo7fn5Xs9EREROQr0nRHEZEWoF+/ydx+eymffTYfrzdAly6jMUafw4mIiByOVKSJiMRRSckKXn31BjZvfhe/P4vhw6/klFP+LyEjWl5vgB49xrkep76qqp3MnHkzq1a9gLUR+vWbzOmn/4VWrbokNA+ReNm4cQ6zZn2X0tLlZGa24dhjb+O44+7Qhx4iklDGWpvwoKNGjbILFy5MeFwRETft3buVBx4YRG3t3gPHfL5MevQYz9SpM5OYmTsikTAPPDCIPXs2EokEATDGS25uR26+eZ02w5XDztatC3jkkfGEQp/vG+b3ZzN69PVMnPi7JGYmIi2RMWaRtXZUrHP6WEhEJE4++uh+QqHaBsdCoRo2bZrXIvcrW7duJvv2bT9QoAFYG6a2tpyVK59LYmYih2bu3J81KNAAgsEqPvror81ucyEi4gYVaSIicbJjx8eEw7VNjnu9fnbuXJ2EjNy1c+dqQqGaJsfr6iooKVmRhIwSp6amjPLyzVgbSWjc2tp9lJVtIhIJJTRuuigtjf176/F42bt3a4KzEZF0pjVpIiJx0qnTCIqK5jYp1MLhIIWFA5KUlXsKCwfi82VSVxdscDwQyKV9+8FJyspdNTXlvPTS5axbNwtjvGRk5DF58j8YMOAcV+OGQrW88sp1LF/+JMZ48HoDTJz4O0aMmOZq3HTTvv0Qyss3NTkeiYRp1aprEjISkXSlkTQRkTgZM+ZGfL6MBsd8vkx69hxPYWH/JGXlnr59TyMvrxMej//AMWO8ZGYWMGjQlCRm5p5nnvkG69bNIhyuJRSqorKymBde+Bbbti1yNe6MGdeyfPlThEI1BINV1NSUMWvWLaxd+6qrcdPNiSf+FJ8vu8Exvz+bMWNuJBDISVJWIpKOVKSJiMRJXl5nrrrqfXr2PAljvAQCuYwceTUXXvhCslNzhcfj5aqr3mPQoAvwejPweAL0738O06bNb5FNQ/bs2cCWLe83GSkNhWp4//37XItbW7s3WqBVNzgeDFbx9tu/ci1uOurSZTSXXPIKHToMwxgP2dmFnHDCTzjllHuTnZqIpBlNdxQRiaP27Qdz+eVvJTuNhMnOLuS88x5jzJgbsTZMly5H4/X6v/gHD0N7936G1xtoUixZG2HPnvWuxa2sLMXj8RIOx8pps2tx01XPnuO59tolyU5DRNKcijQRETlkW7a8z1NPnRttIGLweLxMmfI0ffpMTHZqcde+/RCCwaaNUozx0LPneNfi5ud3w+PxxozbteuxrsUVEZHk0XRHERE5JLW1e3niidOoqiqlrm4fdXV7qanZw9NPn0tFxY5kpxd3WVltyMxs1eS4tRE6d465zU1ceL0BJky4F7//87VSxnjw+7M56aR7XIsrIiLJoyJNREQOyapVLwC2yXFrI3zyyZOJT8hlpaUrCQYrY55btuwJV2OPHn0d3/jGk3TuPJrc3M4MGHAe06Z91CK7hoqIiKY7iqQNay2bN79LaelK2rUbSPfu4zDGJDstOYxVV+8mFKprcjwUqqGqamcSMnJXdfVuPJ7Y/9usrCxxPX7//mfTv//ZrscREZHkU5EmkgZqasp57LEJ7Nr1KZFIGI/HS5s2fbn88jlkZhYkOz05TPXqdTKRSIxuFnjp3fuUhOfjto4dj4q5ibTPl0n//u7ukyYiIulF0x1F0sDs2bdSUvIJdXUVhELV1NVVUFq6klmzbkl2anIYM8YHxCrSYh07/AUCOZx66u+ja8OcUWifL4u8vM6MHn19cpMTEZEWRUWaSBpYvvxJwuGG09LC4TqWL38mSRlJS/Duu78+yLnfJDCTxBk16lqmTp3NoEFT6N79eMaPv4drrvmYzMz8ZKcmIiItiKY7iqSBWFO0nONBrLVamyaHxGm739y52mbPHe5at+5N586jqawsoUOHoQQCuQmJu3v3el5//Q7KyzfRs+dJjB9/D4FA9hf/oIiIHHZUpImkgT59TmXduplYGzlwzBgPffqcqgJNDtno0TewevWLMc+NGPGdBGeTGOvXv87TT59LJBImHK5l0aK/07nzGKZOneXqJt6ffPIfXnhh6oHvt29fxIIF93PTTetp1aqza3FFRCQ5NN1RJA2cccZfycoqxO/PAcDvzyErqy1nnPHXJGcmh7PevSfE3MS5Q4fhDBs2tekPHOYikRDPP38RwWAV4bAzUlhXV8HWrR+ydOmjLsaN8NJLVzY5HgrV8NxzF7oWV0REkkcjaSJpoKCgBzffvI5lyx5nx44ldOgwjGHDLiUjo+nGvCJfxeWXz+GTT/7DBx/8gUgkzOjR1zNy5NXJTssV27YtJBwONjkeDFaxZMmjjBgxzaW4C4hEmsYF2Lr1Q1diiohIcqlIE0kTGRl5SelAV1W1kwUL/samTW/Ttm0/jjnmFtq27ZfwPBKlpqaMV1+9mXXrZhII5HDccXck5HmPRMKsWPEMn3zyH3y+DI46ahp9+56WkOmsQ4dewtChl7gep7GiorksXPh3amv3MnjwNxk69Ft4vQHX4nk8fmJt3g24GtfrzTjIWfdf37KyIubP/zPFxZ/QpcsYxoy5kby8Tq7HFRFJZyrSRMQ15eVbePDBkdTV7SMUqqGoaC5Llz7CxRfPoFevk5KdXtzV1Ozl97/vQihUBUB19U5effUG1q2bzcUX/8+1uNZGePLJs9i06W2CwUoA1q2bzYgR3+G00/7oWtxkevvtX/Luu78hGHSe602b3mbx4oe4/PI5rq0N69TpKAKBVtTVVTQ47vfnuDaK5sQdjs+XRShU3eSc2/vRbdu2kEcfPYlQqJZIJMjmze+wcOEDTJs2v0V/2CIikmxakyYirnnrrbuprt59oAugtSGCwSqmT5+GtbFHJA5ns2bdfKBAq2/NmpfZs2eja3HXr3+tQYEGEAxWsmjRP9i9e51rcZOlomIHb7/9qwMFGjiPt7h4KatWPe9aXGM8XHzx/8jIyCcQyMXrzcDny2LgwPMZMsTdtWEXXzwdYxr+Lzsrqw0XXODuNhrTp19NXV3FgemW4XAtNTXlzJ59q6txRUTSXVxG0owx/wYmAyXW2iHxuKaIHP6cjpJNNzbeu3crVVWl5OS0T0JW7lm79tVmzy1Z8jAnnfRz1+LWL9Dq27DhTdq06etK3GQpKpqH1+snHG64BUBdXQWrV7/EkCEXuRa7c+dR3HbbNlavfomqql307DmeDh2GuhZvv969J/CDH5Qzb97P2b17PUcccTrDh1+Fx+PeZ63hcB3FxUtjnLEUFc1xLa6IiMRvuuMjwP3AY3G6noi0ABkZraiqKo1xxuL3t7z9nTIy8pp5vLhakGZltcXrDTTZsNzj8bm+yXJdXQXPP38J69fPwlpLjx4nMmXK02Rnt3EtZmZmQcy1dsZ4yM4udC3ufn5/NkOHfsv1OI0FArlMnPjbhMUzxovH4z/QybK+/Z1iRUTEHXH5CM5a+zawOx7XEpGW4+ijb25SjHk8Afr2PT1hGwAn0vHH3xXzuDFeRo261rW4w4ZdhjHeGHEN/fqd5VrcSCTCn/7UgzVrXiYcriMSCbJx4xv86U/dCYXqvvgCh6hXr5NjbpZtrWXo0JbX+j9ZPB4vRx55SZPGJT5fFqNGXZekrERE0oPWpImIa8aMuZEhQy7C680gIyMfvz+bzp1HcM45Dyc7NVeMGDGNQYMuaHDMGC8XXvgSHo97fZpat+7Feec9ht+fQ0ZGKzIyWpGV1ZZLLplFIODeiMeiRf+gurrp53PBYCXvvPNL1+Lu3buFWF0WPR4/xcVLXIubjk477c907z4Ony+LjIx8fL5M+vWbzAkn3J3s1EREWjQTr8X7xpiewIzm1qQZY64Grgbo3r37yE2bNsUlroikvvLyLRQXL6WgoCft27f8Zavl5ZtZsuQRcnI6MGLEt10t0OoLBqvYvPldvN4A3bsf73rc//73LNaunRHzXNeuY/n2t993Je7y5U9FG1rsa3Ju0KALXG+mkY527lzN7t3raNduMK1b90p2OiIiLYIxZpG1dlSscwlrwW+tfRB4EGDUqFEtr62biDQrP78b+fndkp1GwuTnd+fEE3+S8Lh+f9segF0AACAASURBVDZ9+pyasHgFBT2bPZef3921uHl5nbE20uS4Mb6D5iSH5pNPnmTOnB+zd+8W2rQ5glNO+T/69Tsz2WmJiLRomu4oIiKHZPz4e2huM+UJE37jWtzu3Y+PWaRZG2LwYHdb4aebjz9+mOnTp7Fnz3rC4TpKS1fw3HPfPGgnUxER+friUqQZY54EPgD6G2M+M8Z8Ox7XFRGR1JWd3YaLLnq5QWMJj8fHuec+7uqUuJKS5cRak+b1Bti48U3X4qYbay1vvfXDBvvRgTOt9o03fpCkrERE0kNcpjtaay+Ox3VEROLJWktVVSmBQB5+f1ay02mR+vefzN1317B583tEIkG6dz/B1b27AEpKVuDx+IGG+6SFw3Vs3fqRq7H3CwarqKurJDu7MOZ2AC1BOFxLZWVJzHO7d69NcDYiIuklYWvSREQS6dNPX+aVV66jqmoXAEOGXMyZZz6gYs0l3bsfl7BYbdv2iznd0efLpEOHYa7GrqurYPr0a1i16nkAcnM7MHnyg/TtO8nVuMng9WaQmdma6updTc7l5/dIQkYiIulDa9JEpMX57LP5PPfcxezbt41wuJZwuJYVK57ixRcvS3ZqEgedOo2gQ4cj8XoD9Y4avN4MRo682tXYzzxzAatWPX/g96q8fDNPP30+O3YsdTVuMhhjOPHEnzTZ69Dvz+bkk93bYkFERJI2khYEtiYndNrxAu1RPS7p5N13f0MoVN3gWChUw5o1M6io2EFubsckZSbxYIxh6tRZzJx5E8uXP0UkEqJr17FMnvwPcnM7uBa3rKyITZvmEg433Eg7HK7h/ffv4/zzH3ctdrKMGXMTxniYN+8eqqp2kZfXmVNOuZdBg6YkOzURkRYtSUVaGfBKckKnpdbAaKAHzXViE2lJdu9eR6zGEj5fgL17t6pIi7NIJMSKFc8SiYQZPPib+HyBL/6hrykjoxXnnvso55zzMNZGErIXXXn5ZrzeDEKhhmvhrI2wa9enrsdPBmMMY8bcyJgxNxIOB/F6/clOSUQkLSSlSNu3J4O5z/dORui006p1iCPH7cHnfw1oh1OsdUHFmrRk3body86dn2JtqMHxcDhI27ZHJCmrlmnp0sf43/+uPLBG7KWXLmPSpD9yzDG3JCS+MR6MScxMgXbtBjUp0IDo5uHjEpJDMqlAExFJnKQUaeU7g0x/6LNkhE47dTUhPB7Lhbd25OjT9uH1vgp0winWNJogLdPxx9/FihVPU1u7j/0jan5/NscccysZGa2Sm1wLUlGxg5deurzRUcvs2d+lT59TadduYFLyckt2diGjRl3H4sUPHmhLb4wHvz+bsWNvTXJ2IiLSkhhrm04Jctuo7pl24W1dEx43He0LtWb2rit5Z34GXp9l6p3tGT6+DI+nBugGjMIZYRNpWXbu/JQ337yLTZveJju7kOOOu4Phw69sse3Sk2H69KtZvPifMc8NGHAeF174QoIzcp+1lkWL/s4HH/yB6uoyevU6mQkTfk2bNn2SnZqIiBxmjDGLrLWjYp1Lzpo0fxa2o7ttksWRu3crU/bdwISTBjFz33d5+BclZP7BcPmPOjH46GKM50WgJ06x1ia5yYrEUWFhf47uNoXsrWUUZPdk6KCLE1agbd++mMWLHyI7u5CxY79PZmbLHL3bt297s+cqKna4Hj8UqmHdutkEg5X06jXB1aYh+xljGDHiOxQU9KKqaifdu4+joEDt6EVEJL6SM5LWv4P96B/a/zphghaz4R3M9o8p9Y/kld3Xs3BhmFaFPq64u5Ajhu/EmCDQF6dYa5lvKCV9RMJh/vbTQnb6yg4cMxamnvIovce524b/0UdPoqhobr0jhnPPfYRhw1pe+/+lSx+LMd3RMWHCbzj++B+4FnvLlvf5z3/OwPl/mCUSCXLSSb/g2GO/71pMgNLSlTz66MmEQtVYGyESCTFy5LVMmvQHjdKKiMhXcrCRtOQUacMH2QWvPZHwuGmpZjd2y1yo2wfBCGbtW5jSlWwLjOOV4m+z5OM62nUNcPndbeg5sARjIkA/ID/Jicvhy49T8GckLYNX/ngKC8vfbNgfx4I3Anf/3L2/eR9++Cdmz/5ejDOGH/2oCp8v07XYyVBVtZPf/a49sTpp3nTTOtemAIZCtdx3X0dqa8saHPf7s7n88jl06TLGlbjWWv785z6UlRVR/zH7/Tmcf/4TDBhwritxRUSkZUq96Y6+bEz7EUkJnZY6j4Otb2O3vIUddAq2djyd1rzGd+quYPPppzF9y7e479oddO2byWU/KqBz77XRYk3kUC0AjgSGAO63Y29s2e45Tf+6GQh7YN3cf9F3/Lddifvhh39q5oxlwYIHWlxziVWrXsDvzzrQRGM/jyfAypXPujaStmHDG0DTv1GhUA0ff/wv14q04uKlVFaW0LgoDQYrWbDgARVpIiISN0naJ00SyfgyoMdE6Hwcdssc+GwedsgZ2Joaun06ixvaX8a6089n+obz+PWVO2jbKZvCzrkJyy8cDlJVtRMbCZGRVUCGP087BLggEgmzt3wzdcFK/P4c8vO74/F44x6nfTc4/bII+YULgeXAcGAQifxzE4kxsrNfTcVO1+LGas9+IG7NXtfiJkswWEUkEm5yPBIJUVdX6WrcWLNArI1EO3q6F7e5fzNuPl4REUk/KtLSiPFnY3qfie16AnbzG7D1Pezw87CVlfRZPYPvdn6B1b0vZV7JmdQ2fd/liurq3ZSWrgQs1kYwxkt2VhsK2w1ElVr8BOsq2LZ9MZ+PAOyifM8WOnUaQSAQ34J85YeVvPNSJUef3przr/eSm/8hsAwYAfQH4l8YNtbd35cNkbUxf4UGnHKDa3EHDjyfhQv/FvPcyJHTXIubLEcccQZvzr6jyXE/Xvr3P8u1uL16nUwkEmwa15/DoEEXuBa3U6eRMY/7/dkMGXKRa3FFRCT9qEhLQyaQh+l7HrbrSdhNr8GOD7EjL4R95QxY9TID8x9PbEJdEhsubSVoW7xwaz/zj7yNVxcM4s6zahg/pS2Tv23JynkXWAqMxFmz5t4GxOddPZM/PXAEYY91CrVobTq+61R8me6NEk+ceB/Llz9JTU3DtVLDh19Jq1Ytb9uRtpWZHP1BhI9GQtAHGPAHYejKCF3Kclz7t52d3ZaJE+/j9dfvIByuwdoIgUAuPXqcQP/+Z7sTFPD5MjjnnId58cVLCYeDRCJBAoFcCgsHMHLkd1yLKyIi6Sc5jUNGjbILFy5MeFyJzVbvxBbNguJFYC3URTDG/fq9omIHmza9TTjc9BPxVq260rPnia7nkC6WLftPs+eGDv1WfLvS7f0MVv2PUMTHe+YOZi3sxb6yGk67rB2TpgYJZJYBBTidRHvh1ohpTXkpr//rQtbv+ohcbytOOe0+eh77LVdi1RcK1TFnzo9ZufJZMjLyOfHEnzBw4Hmux02K+++H229nc7salg2DiIGhy6HnFi/mxz+Bn/zE1fA7dizh44//TW1tOQMHTqFfvzMxxr3if79du9awePE/2bdvO0cccSaDBn0Drzfxay9FROTwlnqNQySlmKxCzMCp2O6nYDfOhJ1LsTEW5cdbTpv2DGozpdnzicghXQwddbAtLyz2IGu4vrLCznDc9fhK1nPip79g7Mg85tk7ef2FALMeq+Pc69oz/hvV+ANvAG2B0Tgbq8e3WPNm59DphAupXJdPfn5Xco44Kq7Xb44xhg4djmTPnnVkZbUhP79bQuImhTFYAyE/1Pkh4oGg//NzbutYVMPpz1XC3iqYUgV9IuBzv0hr27YfEyf+zvU4IiKSvjSSJk3Y2r0QqXM9TiQc5J//HENdXcOF/j5fFpMm/ZHefU5xPYd08cg/x7KvqrRJS/qcrEKuuvrD+AarKnFGZvdthojBbF8Na2dT42nHm6E7eWt+a4LBEN+8pT3HnlmB11cJtAPiNw0xHA6xceObBxpbGGMwxkOXLkfTqlXnuMVpzNoIRUXzqKkpi8YFY7x06DCMNm16uxY3aaqr2b7oVcryLZFobeSJQKsKQ+fBp2JadQSGAnnxj/373zsjddXVzgyAnBw45hiYNQt8+vxRRERSX+rtk6YiTaI2bHiTp546B7CEw0G8Xj+DB1/I2Wf/SxvDxlHpWcfw96PmH3gjDc6b6WsWj6b9jI/iHs9aC7tWYDe+ApXbIWwwny3FbJxDhbcbr9Xcwdvzs7GEueSODow4qQ6fP35/iyorS6mqKm3SAdDj8dK2bX/Xfreqq8uoqNiOtQ1HgY0xtG3b35VumskUCtWyZ/f6JiOxBkNB6574/SGcBYEDcBrHZMcncEkJdO8OtbUNj+fkwCOPwJTmR+hFRERShYo0SWnV1btZufI5amrK6dNnIh07Dk92Si2P30/Ihph3ImzvBB13wPi54LMeCIVcm5pmbQRKlmCLZkJ1KYTBbFqI2fweZb5+zK74Hu995CcSjuD1x6+ACYdqm53C6fUGXFu3FA7XNSnQDsT1+DEtrEiLREJEIqGY5zzGR48BuVxyZy4dexRHn/PBOFsyfM1NvZ95BqZNg30x2u1fdBE8+eTXu76IiEgCaE2apLSsrDaMHHl1stNo2TIz8VVUMOGtRsezM11dO2SMBzqMgHbDoHgBtmg2tvcobLeR5G98nwtD1zFhwjDmcz1Bb07c4m7cOJ+qytKm+Xi89O17GoFA/GLV99lnyykvK4oR10ePHieQk9POlbjJsmfPBrZv/xjbuFAzHjp0GErZnn788rJijjgqh6l35tC20zKMWYUzBfJIDnmj87y82L+3Hg8UFBzaNb+KGTOc6ZYlJXDmmXD77dCuZb22IiKSXBpJE0kHN90EDz0ENfU2W87IgKuuggceSFgaNhKCbR9gN78OteUQjGDWzcWULE9YDpI41sKKzKuYvupkPiuqYuhxrbjo1gwK2pUAGcAwYAhf+fPCujro1Al27254PDsb3nkHRoyIzwOI5d574Re/gKoq5/tAANq2hWXLoLDQvbgiItLiaLqjSLqrqoJzzoH333eaKoRCcPTRMH26s44nwWy4Dra+g938JgQrwZsH3qy4xiguXsruPesxeAGLz5dBjx4n4vfHaV1UDLs/fZ/i0DZso0EeY+GInhPx5eS7FjsZqqt3UbRpHjbScIqnx+Oha7djyautghUvYKvLWZJxAzM+OZrirdWMnpjPN27yk1dQCmQBRwED+UobnS9YAKefDsHoFh51dXDffXCDe5uVs3cvdOzoNCupLyMD7rgDfv5z92KLiEiLoyJNRBzLl8OqVTBwIAwZkuxssKFq+GwedtsHEGm6X97Xvr6NEImEMMbg8UR3W3ZRbdUeIib239SAJxNvhnsFYjKEQjUEg1Uxz/l8mfgNYA2mrARW/o9IXS0LAt/j1Y+HsqukhnHntuHsqyE7dxdOd88RQD++9EbnwSDMnQsVFTB+PLRuHY+H1bx33oGzzoLy8qbnxoyB+fPdjS8iIi2KijQRkQSYfsdAPs5cjW00IBSog8tO/DddTr3SveAlJXDnnfDSS+D3w+WXwz33OFMAXbJs2RO88sp11NVVNDju82UxceJvGT3oPOzGV2HXCqdY27UVVr1MOGx433c7sxb2pXx3DadeUshpl4XJyNqD01TEHzNeA9ZCWZnTPMRayMqCNm3cbb8fDMLWrU68xrKzoUMH92Jb6xSjZWUQDjujd23aOP9NuHbASMDlolhEpIVTkSYikgDFrzzMQx9cRahejWHC0KbMww1/CmI8Lm20XF3tjI5u3epMZQXIzHTWZr37rmvNYerqKvnjH7tSU1PW4HggkMctt2wkO7stAHZvkVOs7Vnj7J1XWgSfziBos3jb/IDXPupC5d5azr66PWPPyMDn/xLP0/wPoXQnRMLO98bjFKcTJjj/dcusWVBX2/T4qNHQ2b09+Fi7FtasgXC9Ji1eLxw/DvITOI3WRMjK2Y4xYaAvTrHWKnHxRURaEBVpIiKJ8POfs+qZe3j5zAgRL0Q80L4ELnwxQKv5q6C3SxtaP/II3HgjVFY2PJ6TA7Nnw3HHuRMX2LFjKc88cz4VFcUAZGW1ZsqUZ+jWbWyT+9o9a5298/YWOcXajjWwdha1pg1zwnfyxvxCaqriP+1V4qt9twBX/LgN3fuXYEyEz/fBS/z6VhGRw5la8IuIJMIHHzBwRYT+q6CkHWTWQkEZ0CrTWQ/oVpG2YEHTAg0gEnG6DrpYpHXsOIybblrHrm3LiERCtOs6otnNwk3rI6DgFti9ErvxVazHQod+ZGxbzunrb+eE47qwNv9qIv4veLNftAk+mv/5qGF93brDuOPj8MhiKCmBefM+b1ZSX9s2MOk0d+Lu2wevzmw4irZfVjacd647cWOIhOGDFR347dU76NYvk8t+mE+nXqsxZg0wCGcfvPg2ARIRSUcq0kRE4mXwYHjjDTyhEB2L6x0PBt0r0AAGDHCmN9bfYgGc6XBuxgX47DPMVVdROGeO8/3YsfDww9CnT8y7G2Og7WBoMxBKl2GLXsV2G4ztPJjszR8zfNNPvzhmFnBicycXQ/FLh/JIvpwTDnKu+A334o4/WNx33Ysbw6gOsLb7Bby8/mx+dUUxfYZmc+lduRR2WY4xq3G2VTgSZ5sFERE5FJruKCISL+++C+PGNT3eqlXsjoDxsmkT9OrVtKGF3+80mwgc4qbRXyQYdIqxbducZhbgbCjdti1s3PiltnewNgLFC7FFs6FmF2QWgjfzi2Mv/8TZWqJ++3+vF4YPB79Ljxfg00+hvKxp3CFDnFEttxRthNLSz5/n/XH794dWCVyTZsNQshazajpUlLAy4wqmfzqBLRurGXxMHhd/P5PW7ffvg3ckTsHm4hpBEZHDmKY7iogkwksvOW+c67+RBqeYWb7cvW0PXn7Z6fLXeCQtEIA5c2DSJHfizpjxebfB/SIRp5HJ0087m6V/AWM80HEMtB8B2+djd34CfIkPD4eOhJUrncIFC7l5MHgQ5LjcxGLQMKdQ274t2lUyGwYNhPw27sY9YjCwFrZsARuBQAYc0R8KXewoGYsNQ24r7KiLYG85g1a/zKCej7C0/3VMX34sd08pZeSEAqbc7KdV6wXAcpwpkH340lsryNfkAVz8oEJEEkJFmqSGoiJnpGHQIHc7s6W56uo9lJVtpKCgF1lZap8ddytWNC3QwPmd3rDBvSJt9eqmBRo4BdOGDe7EBFi/PnbcigpYt+4rXcp4fNDlOEyXr7B+bhTOJtbBYGI3ZR+B87zu2AEjRyauDf5wnN+vqirIzXWta2dMu3Y5I7Z9+mD9ddiiWWAWY8dchikrZdiqxznyiH+wYPD3eHXJcO46p5xjJ7fmvOs8ZOd9AHyQuFwF6InzD8TlDw9ExDUq0iS5tm6F885zRhl8Puf24IMwZUqyM2tRIpEwM2fezJIl/8brDRAO1zFs2BWcccb9eDzeL76AfDljx8IbbzRtaFFb6+7m4aNHx16TBnDkke7FHTbMGTls3EgjI8OZdpgIgYB70zljKS2Fb3zDadbi9zuF0p//7OxLlwheL+TlJSYWOK/tNdfAk086z3NdHeb66zG/+x22+wRs0Uys+QSOmYbZvY0xq//KqMER3j/ydmZ9kMH7M2o5+ZuFDB+fjyeRRWUay8iuo1PPrRhTxOfbJCRwSqyIxIXWpEnyWOu8cV2zpuGb2uxseP995w2gxMW8eb/gvffuJRisOnDM789m7Njvc9JJ9yQxsxZm3jwYP77p8bw8Z6TYrTep69fDEUc0XZPm8zmdATO/xBqvQ7FjB3TqFPvc8uVOI5WW5phjYNGipn+zXnvN1S6aSXPbbfC3vzlTWPfLzoZf/AJuvRUAu3dzdB+81c7WCjs3weoZhCIB3vH8gNkLulFRXpekB5Ce2nUJcPmP29Bz4P5tEvrjDAHnJjkzEalP+6RJalq40HlD27h1uMcDV14JDz2UlLRaot/+ti3V1bubHM/MbM2ddzY9LofommvgX/9qOuUxJwfeegvGjHEn7m9+A/fc44zY1ZeXB48+6oxWu+G66+Dvf499bsoUePZZd+Imy5o1zghh/YIFnOL7vPPg+eeTk5dbIhGn6U2s7R26dIHPPmtwyJatd/bBK98Q3QdvLaydScjksbfjac6G4+K6sqo8Zn16PCuX19ClTyaX311A597F0a0xBgJHoW0SRFKDGodIaioudqbuNBaJwObN7sePRJwRux07nE/Hu3Z1P2aS1NTE7ixYU1OGtbbZfa3iZv16WLwYevaEUaMSu5YmkbZsib0mzet1fs/csnVr0wINnNEeN+M2epPeJCe3BYNOY5TKSucDn9Yur7MsLnam/DUu0qw9+HNxuAoGmz7W/XY3/XDHFPSB4TfBntXYDfv3wbsZ345PaVO+khb6rz7ltK0r4Yb2D7Lu9POZvuE8fn3lDnoNyebSu/Jo33VFvW0ShqFtEkRSl4o0SZ7Ro2O/sczKgtNc2hR2v02bYMIEZ3NaY5zmA1dfDX/6U4ssIDp2HM727YtiHne1QAuF4LLL4MUXnTe34bAzLe/116Gw0L24yTJpkjPlsaqq4fHaWvdG0QBOOskZMauoaHrOzSl455zjdHiM5Ywz3IsLzpqw00//fD1cXR3cdx/ccIN7MYcNc+I0lpHhXgfNZMrIgL59nRHExpr5fTbGOHvgtR4AOz9xNi33WugyANvy/rSmJmugYi99Vs/gu51fYHXvS5m+ZhI/v6SYAaNzueT2bNp0XAKsxNkmYSjaJkEk9Wi6oyTXXXfBX/7y+XSajAzo3BmWLHGm2bhlxAhYtqzhqEdODvzzn3Dxxe7FTZItWz7g8cdPIRSqwdoIxnjw+TKZOnU23bsf717g++6Dn/60YdHi98PEifDKK+7FTZZ9+5zpcPVHtnJy4Prr4be/dS9uKOQ0LVmx4vORj5wcOOssp+GDW3buhHbtYp/bsMHZu80NdXXOWrjGoznZ2fDOO86/b7fcey/88pef/80KBJx94ZYta5kfPLz5Jpx9tvN7Za0zKpyZCW+//aWeZ2sjULoEW7E9AckKALVlULLImS1SUY5Z+TJU7WZZ5jXMWH4827ZUM3x8Ky68JUCrtqVAJs6omjpBHpo8oCDZSchhSmvSJHVZ66zj+H//D/bscdZ13Hqru9OWNm50GhrEmsYzdqwzBbIFKi7+hHfe+RXFxUvp0OFIxo37ER06uNj5D6B3b+f5biwQcN7gJ7JLXaKUlcEf/gAvvAAFBXDLLc76LLdHaKur4f774YknnA87rrkGrrgi9pTieHnoIefxNR45DAScQub2292JO3MmXHQR7N3b8LjH44yI/+1v7sTdb8YM+P3vnZH4M890HmdzxWpLsGiRs+5xxQpnuvIPfwgDByY7KzkIW73T2SaheJHz/9nyXZhVL2NrKliccTMzlo6kdHs1Y89ozXnXe8hptTPZKR/m+uBseaAumvLVaE2apC5jnDewiWy5v29f829cG7/pa0E6dBjKlClPJTZorIYD4Lzu1dUts0grKICf/9y5JVJWltNuv2dPZ7TyqKPcLdDA+bcUaw1eMOh0s3QzbqwPGCMRp0h22+TJzi1djBwJzz2X7CzkKzBZhZiBU7HdT8FunAlmKfaYqzB7djBy1YMcNSDIh0O/z8yPMrnj1RrGTCqkS+8W+Pc4AfoOr6XHgE0YswHoh7PlgbpoytenIk3Sz6BBsfdVysyECy5IfD4t2eTJ8NhjTfcN6969ZY88JMP48c56uP2efx6uvdbdUaVJk+BHP2p6PDvbGWFyy/jxsdeG5eQ4e5iJCAAmpyNmyJXYfVuc9YHGwrHX4CndzLGf/p4xw3y8a+5k7rJsVn7YzIdq0iyL5cW/1dKpdyZX3N2OLn3WYsxaPu+imZ3kDOVwpumOkp6mT3emS9XVOQVEdrbTUnrBAsjXdIW42b7d+RS+vNyZEhcIOKM8s2e3zD2lkuU//4GpU2OfW70a+vd3L/YttzjbDuwfNc3JcaYtP/aYu1M8f/97+MlPPl8rlZPjdGmdNcvZH05EmrDlG7AbXoHy9c42CSXr4dNXMV4/ZOuDs0OxPngM09efzdrV1fQclMWlP2xFh27FGOMFBuOs93Npr0o57GlNmkgsq1c7owybNzsjApdd5hRrEl/l5c6b+HnzYMAAp4lGjx7JzqplGTPG+YAhliuvhH//273Y1jrNJR591PnAY+pUp7NjIrqkfvih0+xn715nFPz881WgiXwBay3sWePsabdvs1OslRU704Xlq7EWNr0D+7bzaea3eHnN6WxaX03/kTlcckcObToWY4yfz7toxpjFI2lNRZqIpJ/aWnjmGWdkpVs3p6FE797Jzsodo0c7m8PHcsUV8PDD7sb/29/gz3923uRNmwa33eY08RCRlGWthV3LsRtfhUp13zxkEQsVezGrpkPVLj7J+A4zVp3I1k1VDBuXx4XfyyS/sARnT7qjgEFotZHspyJNRNJLRQUce6zTBr6y0pli6fc7zQ9OPz3Z2cXfI484I2axLF/udDN1yzHHwPz5DY/17++MVItIyrM2AmXrIFST7FQOQxa7czkUL3RG1fbuxqx8GVuzj8UZN/LKstGUbKvm6EkFnH+jl9z8nTjr1PqhQs2D0xUzvRvWqEgTkfRy771Od8XG2yy0bQs7drS8KXFz58LJJzfteOjxOFsgdO/uTtzZs5vfeP7f/26+cBQRaUFs5Q5ny4PSJWANZs8OWPUykbog8/238urHg9lTWsOJ57fmrGmQlbv7iy+aFjzAAGAE6dpkRS34RSS9PPVU7H3w6uqckaXhwxOfk5teein28cxMZ7rn1Ve7E/fvf2/+nIo0EUkTJqcjZvAV2H2ffd5Fc+x38Oz6jLGr/8joI32857md2XMymPdCLV36tMafkd5vwfML4expXjr0WIUxn+I0WRmOmqx8Lr1/Q0SkZcrJiX08HHa/Ocy+ffz/9u47Oq7qXvv4s6c3FatZcekYpAAAIABJREFUkgsG94oxxgQDBkIzBEwIoQVSuDcQ1iUNwps4IcEkhBASSCOEAEluGqEkhEvvnWDAcgV3Y8A2uEhykdWlmf3+cWywrZExls6c0cz3s5YWzBlp9pZ1NDrP2Xv/tm65xSmB36+f9LWvSaef7m6biYSzJ9qeWx34fO5+v939O3/UcwCQg0zBQJkJl8hue9sJaz5Jpf+jwKbVOmb5jzV1UlwvaKZWbC2VTH6v261b16Zrv1CnEZOcIiulVYtkzFI5BVYmiCIrTHcEkIt+9zvpssu6Hq+qkt5/3712m5qcLQfWrPlwJC8el664wt3NrZctkyZN6jp6GI87329hoTvtLl/uVOxM56WXpKOOcqddAOgD7JYVzpYH29+VkkZmwzJp5RMyyvy1d7axVnoz8t96aMlxeu/dZo0/qkDnXR5RcfnOIisHSxqnXB9PYrojgPzy9tvOKNKeJaW3bZNaW51pgG7485+ltWt3D0tNTdLPfy599atSRYU77Y4aJf3619LXv+4USDHGGTW8/373AprkjBoGAl1H8Pz+9NNNASCPmH4jpEnDpfrFzsia30qVo6SkkXx+r7vnreZ6jVtyn8Ye9CfNH32ZHnnjcF11Vq0OO7FYZ30toILi1yW9IWe92ihJ+ffvRUgDkHsefzz9nj9+v7R4sTPa5YZHHnE27d5TKOTs6TVjhjvtStLFF0tnnSU9+aTT3sknuz/l8IUX0pfaTyal556TTjzR3fYBIMsZY6SycVLpGKl2gezbj8m21ErK833pCgulw78ks2WjJi39X00c8Xu9Pu5yPTp/vGbO2KZpZ5ZqxsVW0cR/JC2UdKik4XKKjeQHQhq8lUxKN9/sfDQ0OJXirrvOvWp0O1nrbL57ww1Sba105JFORcDRo91t10vPPSdddZUzRW3ECOnHP5aOP979dmtqpO9+V5o3z9mvbNYs6cwz3W2zf3+nQMieOjqksjL32q2uTj+Cl0pJ5eXutbtTSYl03nnut7NTebkTCNvbdz8ejTo/AwCAJMkYn1QxSSqfKLU1eN0d77Vvk333SafIytSL5atbp08s+40OG2f0iv/bevyFsF68v1UnXViu6Z/vUDj6gqT5kvp53fNetPfRQdakwVsXXeRsOLxz9MHvd4otLF3q7sX0rFnSTTc5U9EkZ3pYIiHNny8NHepeu155/HFnlGXXUZ5o1Nk37NRT3Wt37lxp2rTd243FpF/+0r2Kg1L67zcYdPb0evFF99p9/nnpuOO6Hk8knJsQxrjXthcaG6WBA51ppLuKx50pp5kIpgCAPstue8fZUH3rCillZGrflpY/og4b1YuaqSfnDFBTQ5tmXFKhY89KKRzNpfV8ARnzafZJQxZau9YZ0WndYwPNSET63vekH/zAnXa3b3fu8u+5Zsbvl774RemPf3SnXS+NGeME3z25venwSSdJTz3V9XhJibRpk/Nv7pZf/lL6/vedNVMdHdIhh0gPPOBu+L/uOumaa7qu0QqFpBUrpAMOcK9tr9TUSJ/+tBPUjHHC/733Sscc43XPAAB9hN2yUvbtR6SGd6SUT2bDcmnFY2r1leq55Ew981qpWps7cupeZzga1C+euIjCIchCCxdK4XDXkNba6lSGc8uqVc6oyp4hLZmUXnnFvXa9tHx5+uMrVjhTP91615s/P/3x5mZnmmllpTvtStLllzvrtObMcUZ7hg93r62dXn65a0CTnBsPCxfmZkibPNmpZrlokfM7NHGiu+EbAJBzTL/hUvE3pM1LdmxfkJL6j1Dk/Td16ltXatqRA/Vq4Ftq9efOVHp/wKdfPNH984Q0eGfIEGeEY0+BgDPC45YBA6S2tvTPZeJC3gsVFdKGDemPu3lbatAgqa6u63Gfz5nW6qZf/1r6znc+/FkfdpgzHdHNfcNGjpSeeabreZ1MOud7rvL5cm+DcABARhljpNKxUsloqXaR7DuPyg4aK1s9TvE1c3XCu5d73cXeFUrs9WlCGrwzbpxzYVdTs3vhgXDYKSXulooK6YwzpAcf3H0ULxZzClzkouOPl+68s+vxdOunetM110jnn991Tdqllzo/Z7fce6/0zW/ufmzOHGnCBGck1S1f+5r0hz/sHtJCIedcnzDBvXYBAMgRTpGViVLZeGnTXNl3Hpc9cJLs0KOlgMtVizPJF5T07e6fzlxPgDQeeUQ67TTnQjYUkoYNc465PaL15z9Ln/ucExTCYacq39//Lh1xhLvteqW7YhluFtGQnJLzv/mNVFrqTPnbGdBuuMHddq+8Mv3xt97qfupnbxg6VHrsMec83nlOf+pTzjEAALDPjM8vUzlFZsr3ZIZ/VgrHJNuSOx9q3fv3T+EQZIWmJmeNWGlpZivgtbQ4hUTKyzPb7tat0vr1zhS4aNT99vz+9PuG7dz02O3vPZl0pj0WF7s7grZTJNL9lNa//EX6whfcbd9aqb7e+dm6vVcZAADok4wx3RYOYSQN2SEed6ruZbpsTzTq/rqsXbW3O9sOVFVJhx/uhMOf/tS5qHfTgQemP37AAZn53v1+p6JmJgKa5Kw77M7RR7vfvjHO+UxAAwAA+6FXQpoxZroxZrkxZpUxZmZvvCaQk77xDemee5y1cNu3OyOI114r/eMf7rb70592LZgRi7k/7dArN9+c/vj48d0HVgAAgCzR45BmjPFLukXSKZLGSDrfGDOmp68L5JzWVmct3J6l/5ubnf213PTZzzqFQ0aNctZJjRwp/e1v0jnnuNuuV0491fn+Cgudxz6fdMop0rx53vYLAABgH/RGdccpklZZa1dLkjHmbklnSFrSC68N5I7t27uf1rhxo/vtf/rTzke+uPBC5wMAAKCP6Y3pjgMkrd3l8bodxwDsqrRUKipK/9zhh2e2LwAAAMhaGSscYoy5xBhTY4ypqa2tzVSzQPbw+bpfDzV2bGb7AgAAgKzVGyHtPUmDdnk8cMex3Vhrb7fWTrbWTi4vL++FZoE+pqlJmj8//XP33ZfZvgAAACBr9caatDmShhtjDpQTzs6T9LleeF0gt+xZMGRX27dnrh/IXWvWOJvBB4PO+sOyMq97BAAA9kOPR9KstZ2SvirpCUlLJd1rrV3c09cFck5pqTR4cNfjfr908smZ7w9yy89+5lTt/Na3pG9+0znX/vUvr3sFAAD2g7Fub6KbxuTJk21NTU3G2wU89+KLTnn4tjaps1OKRKREQpo7N32AA/bFokXSJz7RdbQ2GpXWrZNKSrzpFwAA6JYxZq61dnK65zJWOASApGnTnHVpl14qnXii9N3vSkuWENDQM//4h9Te3vW43y899FDm+wMAAHqkN9akobfNni3dc49TDfBzn5Mmpw3Y6KuGD5duvtnrXmROa6tzPv/nP873ftFFrJXqbR0dUirV9Xgq5TwHAAD6FKY7ZptvfUv6/e+daUvGONPhvvUt6Uc/8rpnwMdXXy9NmSJt2iQ1NjrT74JB6fnnpUMO8bp3uWP2bOmEE6Tm5t2PRyLS6tVSVZU3/QIAAN1iumNfsWCBdOutzoWWtc5d8OZm6ec/l1as8Lp3wMc3a5azJqqx0Xnc0iI1NEhf+IK3/co1Rxwh/dd/SbGYMwIfCDiB+MYbCWgAAPRBTHfMJg8+mH5dSSolPfywdMUVme8T0BP33Zf+nF6xQqqrY9pjb7r5Zif8/vvfUjgsnX++U+0RAAD0OYS0bBKJOAv9k8ndj/v9zkUX0NeEQt0/Fwxmrh/54rDDnA8AANCnMd0xm5xzjjNVKZ2zzspsX4De8OUvO9PuduX3S1OnSkVF3vQJAAAgyxHSssmQIdLvfvfh3lmJhHOB+6c/SZWVXvcO+Pi+/W3p6KOdtVKxmFRQ4Gw38Pe/e90zAACArEV1x2xUWys9+qgzqvapT7ERLfq+uXOlmhrpwAOl4493RtMAAADyGNUd+5rycumLX5Q+/3kCmpvuvVeaNEkaMMDZj+6ttzLT7uOPO9P9qqulGTOkhQsz066XDj1U+spXpJNOIqABAAB8BEbSkJ+uv1667jqpqcl57PM5U/EWLHCmnbrl7393wsrO/ayMcaa0vvwy+4YBAADkEUbSgF01NUnXXvthQJOcbQ6ampzw5pZUytlGYdcNh611Hn/3u+61CwAAgD6FkIb8s2JF+vLvnZ3SSy+5125dnbORczpz5rjXLgAAAPoUQhryT3V1+g2WJXenOhYVdb/FQnW1e+0CAACgTyGkIf/07y+dcoqz1cGuYjFp5kz32g2HpYsvdtrZs90f/MC9dgEAANCnENKQn/72N+nTn3aCUywmlZVJd9whTZvmbrs33ih96UtOsZBYTCoslH7yE2cjcwAAAEBUd0S+a2iQtmyRBg7MbGn4piZnjVpVlRQKZa5dAAAAZIW9VXcMZLozQFYpLHQ+Mi0edz4AAACAPTDdEQAAAACyCCENAAAAALIIIQ3IJ2vXSs884/wXAAAAWYmQBuSD9nbp3HOlESOks85y/nv22d3vFwcAAADPENKAfPCDH0gPPSS1tkrbtjn/feQR6aqrvO4ZAAAA9kBIA/LBbbdJLS27H2tpcY4DAAAgqxDSgHzQ2Jj+eFOT5MFeiQAAAOgeIQ3IB5/4RPrjU6ZIxmS2LwAAANgrQhqQD377WymRkIJB53Ew6Dy+5RZv+wUAAIAuCGlAPpg4UVq0SPrKV6SpU6WLL5YWLpQmTfK6ZwAAANhDwOsOAMiQAw+Ubr7Z614AAADgIzCSBgAAAABZhJAGAAAAAFmEkAYAAAAAWYSQBgAAAABZhJAGAAAAAFmEkAYAAAAAWYSQBgAAAABZhJAGAAAAABlkW1v3+jybWQMAAABABtjNm5WaWyO7fv1eP4+QBgAAAAAustu2KTVvruyqVbLBgNYMLtjr5xPSAAAAAMAFtrFRqfnzZJcvl/X5tLTap6sb7tT6dfV7/TpCGgAAAAD0ItvcrNTCBbJLl8paq9WVAc1qvFer6tZpVPEUHdr+db2uT3f79YQ0AAAAAOgFtq1NqUULZd98U0omtbZ/WNc2369F9as0rOhgVTWcr5dfLdWA4uheX4eQBgAAAAA9YNvbZd98U6k3Fknt7drQP6br2x/Wa5sXa0jBKA1qulyvvlah8oKIvjytWqOri/TKzO5fj5AGAACQZezWrUqtWiUlk153BcBHSSVlV62SWlu1uSKuGzuf07Nb5mlg4iAdZL6m1+dUqzgW0henDtDwqgIF/D4N7hfb60sS0gAAALKE3b7dqQC3cqVzwMeWtkBf0NAvqpsT8/TQ1v+oMjZQIwKXavbcwYqHQvrc4dUaPbBIAb9PQ/rFNK6qUAXhvccwQhoAAIDHbHOzUvPnyy5bKitpZaVfv+l8RvVq9LprAD5Ce7Jd7zWsU1m0v0aHv6xXFhykoD+gzx5arfGDixUM+DWoOKrxlYUqigb36TUJaQAAAB6xra1KLVwou/hNKZXSu5Uh/ajpX1pc/45G9RuvysiBXncRwEdIWavi1AmavWi4VtugTptQpUkH9lMo6FdVYUQTqgpVEgt9rNckpAEAAGSYbW+XfeMNp8hAR4fWV0Z1XeuDqqlfpoMKx2pg4xV6eXaF190EsI/8PqOTxvbXlINKFQkHVJEIaUJVkcoT4f16PUIaAABAhtjOTtnFi5VauEBqa1NdRVw/63xWL25eoEGJYTpQX9frr1epJB7Wfx81QCWJj3f3HUDmWSvFIwFFwgGVxIKaUFWkyoKwjDH7/ZqENAAAAJfZZFJ22TKl5s+TWlq0tSyuXyde0mNbX1NVfLCG+f9Hr9YMVEEkpAs/MUCjBhTK76doCNBXFEUCmlBVpAFFkR6Fs50IaQA8Y62Vffdd2WVLpU7KTAPIXbZhm9TUpMaShG5LvKF/bnte5dEqjQxdrNnzhigSDOncw6o1dnCRgn6/BhdHNa6yUNGQ3+uuA9gHQZ/plXC2EyENQMZZa2Xfe0+pmjlSba1sIiEb3/t+IQDQlzUngvp7YqX+vPlxlUTLNDZ6kV5ZNEzGBHXGIVWaOKSfQgG/BhRGNL6qUP0+ZpEBALmFkAYgo+yGDUrOmSNtWK9kPKrHqjfrZ3W3qr290+uuAYCrCkNFGpe4ULMXjdLqZFDTx1Vq8tBShYN+9S8Ia0JVocri+1dkAEBuIaQByAhbW6tUTY3surVKRcJ6rrpRP66/TcnN0iEVp6gg0N/rLgKAa7Y1+vTSosF6uy2gE0b31xHDyxQNB1QWD2lCVaH6F0S87iKALEJIA+Aqu3mzUnNrZN95RzYU0uwBbbqm/k9qqm/T2KITtGT5J/TIEi5OAOS+Y0aU6+hR5YpHgiqOBjWhqlDVhb1TZABAbiGkAXCFbWhwwtmqVbLBgOZXpzRr659UV7tVY4uP01tvHalnl8Y1fkCRLprqlJsGgFzVmbKSz6gwHND4qkINKo4SzgB0i5AGoFfZxkal5s+TXb5c1ufT0mqfrm64U+vqNmlM8VFqe/cYPb+sQCP6J3T5SdUqL4ooFPApHKCCGYDcFfQZjShPaEhJTD7CGYCP4ElIs/V16vzz/3rRNAC3dXbKGqPVlQHNarxXq+rWaVTxFJVt+S+9uKxYQ0pj+trxA1RZElU44NPoigKNKE8oyH5AAAAAkjwKaZ2hgGoHFXvRNACXbencrhu33q9F9as0rOhgVTecr5dfLdWA4qguPbZag8riCgV8Glme0KiKAoUChDMAAIBdGWvt/n+xMWdLukbSaElTrLU1+/J18QOjdvQ1w/a7XQDZbUjBKKW2nqJ5KytUXhDRGYdU68CKhAJ+n4aXJTSmf4EiQaY3AgCA/GWMmWutnZzuuZ6OpL0p6TOSbvs4X5TwV+uooh/0sGkA2WjjNqvZc+IqjoX0xakDNLyqQAG/T0NL4xpbWaBYiKWwAAAAe9OjqyVr7VJJH7s6UUOzX0/OL+xJ0wCyVDTo1+cOr9TogUUK+H0a0i+mcVWFKggTzgAAAPaFJ1dNA0ui+tm5E71oGoDLWjqS6kxZDSqOanxloYqiQa+7BAAA0Kd8ZEgzxjwtqTLNU1dZax/Y14aMMZdIukSShgwfpZIYF25ALgr4whpWFldJLOR1VwD0gnnzOnTddY1asqRDhx4a1Pe/X6BRoxgZzxWNjSn96ldNuvfeVsXjRpddFtMFF7CHG+C1HhUO+eBFjHle0pX7Wjhk8uTJtqZmnz4VAAB45Jln2jRjxma1tEjWSn6/FIkYvfhiqSZN4mZrX9faajV5cp3eeqtTra3OsXjc6IILIrrtNqpwA27bW+EQal8DAIC0Lrtsm5qbnYAmScmk1NRkdcUV27ztGHrFPfe06J13kh8ENMn5+f71ry1avbrTu44B6FlIM8acaYxZJ+kISY8YY57onW4BAAAvtbVZrVyZTPvc6693ZLg3cMOTT7apqanrjKpAwOiVV9o96BGAnXpa3fF+Sff3Ul8AAECWCAalaNSkvYgvKWEiTi4YONCvYFDq2CNzGyNVVrKXJeAl3mUBAEAXPp/RV74SVTS6+/FYTLriirg3nUKvuuSSmIJ7LC30+aTiYqPjjqP4E+AlQhoAAEjrpz8t1LnnRhWJSIWFRpGIdOmlMX3zm4S0XDB0aED33ddPZWVGiYRRNCqNGRPQc8+Vyu+nuiPgpV6p7vhxUd0RAICPr7PTqqXFKpEwGS2RXlub1NKlnRo/PqB+/ZgGl2uSSauamnYVFPg0Zkxmq3a2tFgZ41QNBfIN1R0BAOjDOjutvv3tBhUXb1RJyUYNHrxJ//53i+vtWmt1ww2NGj68ViecsFkjRtTq9tubXG8XmbNwYYemTKnTUUdt1sSJdTrrrM2qr0+53u7bb3fq2GPrVVi4QQUFG3TCCfVauzZ9oRogHzGSBgBAlvva17bpT39qVnPzh8diMenhh0t03HFh19q98cZGzZq1fY92je64o1Cf+1zMtXaRGRs3JjViRK0aGj68FgwGnSmP8+eXuTZa29xsdeCBm1RXl1JqRx70+6XKSp9Wr65QKMSoGvIDI2kAAPRRjY0p/eEPuwc0SWpuln74w+2utWut1U9+0pimXatZsxpdaxeZc8cdzWpv3/1mfUeH9NZbSc2e7d42C//6V4uam+0HAU1y9uBraLB64IHW7r8QyCOENABAj1hrtXx5p5Ys6VCmZ2esXt2pN97oUDKZ2XbXrk1q4cIOtbW53+7Gjaluizi89ZZ708Pa2qRt29J/f+vWZWZaWkNDSvPnd6iuzv3pd/lo8eLO3Tay3pWbm1mvWtWpxsau51ZLi9Xq1Ux5BCRCGgCgBxYu7NCwYbWaNKlOU6bUa/DgTZo92/1NcN9+u1MTJ9Zq3LhaTZ1ar8rKjXr0UffvwNfWJjVtWp1GjNiko4+uV0XFRv3lL80f/YU9MGCAX+lmnRkjHXKIe0UewmGpf//04XDECHeLh1jrrMHr33+jjj22XoMGbdQXv7ily6gPeuaII4IKp5kt29lpNWGCe+fWxIlBJRJdz61IxGjChB5t4QvkDEIaAGC/NDdbHXdcvVavTqq52aqpyWrdupROPtndwgOplNVxx23WG290qqVFamy0qquzOvvsLVq50r27/5J0+ulbNHt2h1pbpe3brRoarP7nf7bplVfcC6aRiNH3vpdQPL77RW00Kv3oRwWutWuMU3I/nT370tt++9sm3XJLs1pbnSlwra3SP//Zqm9/u8HVdvPNMceE1NaW/rmxY90LS6efHtGAAb7d9mgLh6WDDvLr5JPdW2MJ9CWENADAfrn//lZ1pslEnZ1Wd93lXuXBF19s1+bNqd3Ws0jOWprbbnOv8uCKFZ1atKijy/fc0iL94hfuVjycOTOum28u0LBhfiUSRsccE9Tzz5dq4kT3Rjs6O1N6++30I1evveZuGL7xxiY1N+/edkuLs4Yq01Nbc9ldd7V22cxakoJBo+eec+/GQzBoNHt2mf77v2MqKTEqKTG6+OKYXnqpVD4fRUMASWJMGQCwXzZsSKZdk9XSIr3/vnvrSjZsSD9K19EhrVnj3gjexo0phUJGLS27f8/WyvXS4cYYXXRRXBddlLlNpPcsGLKrPQNyb6uvTx/E2tul1lbr+kieV55/vk2//GWjBg3y6+c/L1A06u600rVrk+pIUx/EWuf32039+vl0661FuvXWIlfbySbJpNXzz7dr69aUpk0LqbycPQfdsnhxh5Ys6dTo0QGNG5fZvf96CyENALBfjjwypEDAdFknlEgYTZsWcq3dT3wi2GWURXLWaLk5VerggwNp10SFw+6265XCQp/8fqfq3p4K3JtlKUk67LCgnn++60jOoEF+xeO5OQloyJCNevfdD9PvLbe06PbbC3Xxxe4F8xNPDOtf/2pV+x7/1O3tVlOnuvc7nI/efLNDJ564WU1Nzubd7e1Ws2YVaObMhNddyyktLVZnnLFZ//lPu/x+o2TS+Zvx4IP9+tx7R9/qLQAgaxx+eFCf/GRIsV22y4rFpIkTAzrpJPdCS2GhSRsc3B7RKiz06eqrC3YbxQmFpJISn77+9cyNcGWSv5sb/d0d7y3Dh6dv4IADcvOy5Ytf3LJbQNvpkksalEx3sveSMWMCaUfSJKdgDXpHKmU1ffpmbdiQ+mAta2urdO212/XCC90sCsR++c53GvTSS+1qbnbWDTc3W/3nP+268kr3titxS26+2wEAXGeM0f3399NNNxVq0qSADj44oOuuK9DTT7u7ruQb3+i+eMRvfuPu/l0zZyZ0113FOvbYkMaMCegb34hrwYIylZXl3p/TlpZklxGWnbZudbftBx5If+H6yisd6ujIvTVpd9/dfWXS6693r3ro3/+efu1oKCQ9+SThobfMnt2x24bhO7W0SLfe6m512Hzz5z+3dNlWoq1N+utf+96/M9MdASBHrFzZqYcealUoZPSZz0RUXe3+nfBAwKi62qfOTmdj2ooKn8Jhd9cLbd7c/YKo7irV9aZp00KqrU2pri6lY48Nqbw8MwGtudnq/vtbtW5dUlOmBHXssSGZdLX5e0mLe7Vf9qHt9EEsmZQ6O5W22EVvSaVSuvnmZj3+eJuGDPHr2msLXQ/hexss27jRvZG0rVtTSre1oTFG27fnXhj2yvbtqbTbaFjr/Azc1tiY0n33tWrDhpSOPDKkI48Muvre4aXu3jtaW52tPfrS901IA4Ac8MMfbtcNNzQqlZJ8Pun//b8G3XFHkS68MPbRX9wDRxxRq1df/bDS3wUXbNO1127X0qX9XWvzO99J6NFHN6d97pOfdHcdzezZ7Tr55M1Kpaza2qRQyOjUU8O6++7ibjec7g1Ll3Zo2rR6tbY6hTMiEaOJEwN66qlSRSLutFtS4uzPlu4iPuTycqWjjgrqsce6DuMNG+ZXNOrev3NDQ0qDB2/abRPv225r0f33F+uMM6KutTtunE8LF6a/WJ85070FgGeeGdW//92mpqbdf8gdHdb136V8MnVqKO0IcCxmdM457p1XkrRgQYeOO65enZ3OFMtw2Oioo4J66KESBYN9J7Dsq2OPDemZZ9p3e98yRpo2re8F09ybnwEAeWbevA797GeNamlxRpJaWpy7hhdfvE11de7dpX344ZbdAtpOy5alXC2FP21aWKNGdf3zFQhId91V7Fq7yaTVmWdu0fbtVk1NzohOc7PVY4+16R//cHfY6bzztqq+3qqx0aqz09kbbu7cDt10k7vTO6PdXD+WlrrarFatSl/i3+2Kg+edt2W3gCY5IfWcc9yd3/nII2VpR1qOOy7o6tqwGTPCOvLI4AfrLI1x1pXOmlWgykrWpPWWwkKffvWrQkWjzk00SYrHpfHjA7rgAvdCmrVWZ521RVu3WjU2Ou9ZTU1WL73U7up7tJd++9siFRV9uMdjJOKsY77llr5XRZSQBgB93N13d52DL0l+v9FDD3W/1qWnrr66+4Bwww3uhoelS/tr5syYCgudP8KnnhrSli0VSiTcu7CcN68jbVXJpiarP/7RvZAHpUuiAAAWhElEQVT2/vtJLV/e2WVEq6XFWX/hltbWVLdl+Nevd61ZSdKqVelvLmzb5ox2ueWZZ9Ivwmtvd0ZR3TJggF8bN1bo6KODCoelfv2kG28s0LPPlrnWpuS8RzzySIn+93+LdNZZEX3pS1E9/XQpFQddcMklcb38cpm+/OWozjwzrN//vkgvvljq6vTwFSuSabcsaW6Wq+9ZXho5MqDly8v1ve8lNGNGWN/5TkLLlpVrzJi+V4af6Y7IW2+/3ak77mjWmjVJnXhiWOeeG3Vt2hDgpnTT0fblub7a7k7XX1+k66/P3N3RvX+/7n3D1irtKMvO59zi9l5oe5OJ8+fjtptKudup8nK/XnzR3VCWTiBgdPbZUZ19trvT7vZkrbNn2F13tcgY6cILYzr66NyeYjlpUlC33ebeaP+enPeO9OetV79jmVBR4dcPfuDyPiEZwEga8tITT7Rp3Lha3Xhjk+68s1WXXdagyZPrtH27h1clwH4655zIB1M7dpVMWp12mnul8K++uvu77VdckXsl6Q89NKjOzvRXNm5e4A4Y4NdBB3W9pxqJSF/4gnvtxmI+lZSkT4fDhrk7FW7w4PTtxuPO1DG3HHNM+rvtwaB0xBF97058NrvssgadfvoW/eEPLbrjjhadcspmXXll95Vb8fGNHOlXaWnX39VoVLroosyGcnx8hDTknWTS6vOf36LmZn2wP0xTk9Vbb3Xq17/OzTnayG2HHRbSV78aVzTq7F8VCjl/hG++uVAVFe5dTI8d2/1F6+GH594d8aYm223Fw2efdXfq0F13Fau42Ci+I/smEkbjxwd15ZXuTkt78MF+H6yh2SkQkB5+uMTVdjs60oc0F7cMkyTdc0+JEomubf/tb8Xy7fkPgf02b16H/vKXZjU1WVnrjOo0NVn97ndNWrKkm43b8LEZY/TPfxaroMAoFnPO60TCaMqUkC69NPdupOUapjsi7yxZ0pn2Qqu1VbrnnlZ9//t9f4gc+eeGGwp14YVRPfBAq8Jho7PPjmjIEHff4h99tE3hcNey9z6f9NBDrZoyJbeC2l13dR/Enn46faGL3jJhQlBr1lTonntatXZtpw4/PKTp08Ou7kcnSUceGVZtbX9ddVWDFi/u0GGHhXTttQWKxdwNLOvXp5/V0NrqbMFQUuJO+yUlPm3ZUqGf/rRJTz3VqgMOCOonP0lo4EAul3rTww+3pt0uI5l03lf64vqhbDVlSkhr1lTo7rtbtH59UkcdFdbxx4dcf+9Az/Gug7wTixklk+mnLO2scAX0RePHBzV+fOYubmIxs6Ps/O6/T4FAbv4uFRd3Hwzc3Ldrp4ICn778ZXe3VEinpMSnW2/N3DoaSd2W/peUdmpvbwoEfPr+9wu4YeeieNwoEOg6MhoI6IMRH7dYa3XPPa36/e+b1dpqdcEFEV18cTyn16QXF/sYOeuDGLtH3hk6NKChQwNdpvDE40aXXZb5CyCgr/rMZyJpC2b4/dL55+feeoezzw53ed/Y6fOfz73v10tTpqS/hzxggM/1UTy475xzoml/l6yVPvtZd1P4JZds05e/vFUvvNCu117r0MyZ2z/YRwzIJrzTIS/93//1U3W1TwUFRomEs5/G+edHdOGFXGgB+6qszKd77umnWMyooMD5iEal228v0gEH5N5EjaYm505/OsWZHWjKeY8/XtqlaEkkIr3wgssbtCEjBg3y649/LFI0qg/eO2Ix6c47i11dR7t8eafuvLNFTbssP29ult54o1MPPODediXA/si9v6LAPhg6NKB33qnQs8+2a8OGpKZODWnoUH4dgI/r9NMj2rChQk880aZkUjr55PBepwX2ZQsWdCoaNWpv73rH/bHHOnTNNZnvU64qLvapvr5S99zTomeeadOhhwZ18cVRinfkkPPPj+nUUyN64ok2GSNNnx5WQYG7P98XX2xPu51FU5PVk0+26ayzuFGL7MFVKfKW32904onulScH8kFzs9VPftKov/61RamUdN55EV1zTYGKinLvYrq83KeOjvRToqqqcu/7zQbnnhvVuedy4Zyriop8OueczP18y8t9adfRhkJSVZW720oAHxd/VQAA+8Vaq09+sl6/+lWT3n8/pQ0bUrr11mZNnVrXbZjpy0aNCmjUqECXKY+xmHT55SzKB7LdKaeEFU5zbzYQYN8wZB9CGgBgvzz3XLsWL+5U6y5LOdrapDVrUnroodxc3/HwwyWaODGoaFQqLDSKx41uvLFQxxzDqDyQ7cJho+eeK9WQIX7F485auJISo/vu65eT62jRt3FGAgD2y7x5HWpr6zpi1thoVVPToc98JvfuTFdV+TVnTplWruxUXV1KBx8cdL1kOLzR0WEVCDgbAiN3jBsX1OrV5XrjjU61tlpNmhRUIMDPGNmHkTQAwH4ZMsSfdm+heFw68MDcvgc4fHhARxwRIqDloCeeaNOIEZsUDm9QcfFGXX319m731kTfZIzRhAlBTZkSIqAhaxHSAAD7ZcaMiBIJs9t+R8Y4U4rOO8/lHYcBF8ye3a7PfGazVq5MylqpocHqppsadcUVDV53DUCeIaQBAPZLKGT0yiulmjo1qGBQCgalQw8N6j//KXO9lDbghh/+cLuam3c/1tws3X57s7ZvT3nTKQB5KbfnowAAXDVkSEAvvVSmbdtSSqWkfv0IZ+i7li1Lpj0eCBi9/35KI0dyfgPIDN5tAAA9VlTkI6Chz5swIZB2s+NUymrQIPbRApA5/EUFAACQ9MMfFiga3T2lxWJGl18ep0gMgIwipAEAAEg65JCgnnqqRIcfHlQ4LA0Y4NP11yd07bUFXncNQJ5hTRoAAMAOU6eG9OqrZV53A0CeYyQNAAAAALIIIQ0AAAAAsgghDQAAAACyCCENAAAAALIIIQ0AAAAAsgghDQAAAACyCCENAAAAALIIIQ0AAAAAsgghDQAAAACyCCENAAAAALIIIQ0AAAAAsgghDQAAAACyCCENAAAAALIIIQ0AAAAAsgghDQAAAACyCCENAAAAALIIIQ0AAAAAsgghDQAAAACyCCENAAAAALIIIQ0AAAAAsgghDQAAAACySI9CmjHm58aYZcaYRcaY+40xxb3VMQAAAADIRz0dSXtK0jhr7QRJKyR9t+ddAgAAAID81aOQZq190lrbuePhq5IG9rxLAAAAAJC/enNN2n9JeqwXXw8AAAAA8k7goz7BGPO0pMo0T11lrX1gx+dcJalT0p17eZ1LJF0iSYMHD96vzgIAAABArvvIkGatPWFvzxtjviTpNEnHW2vtXl7ndkm3S9LkyZO7/TwAAAAAyGcfGdL2xhgzXdK3JR1jrW3unS4BAAAAQP7q6Zq030oqkPSUMWaBMeb3vdAnAAAAAMhbPRpJs9YO662OAAAAAAB6GNL2V8pKze1JL5oGXBUO+OT3Ga+7AQAAgD7Mk5C2taVdDyxe70XTgKvCAZ/G9C/QsLKEAoQ1AAAA7AdPQlpHMqUNm6kzgtwTCfnV2pHUsk3bNbayUAeVxBlZAwAAwMfiSUjb1NCmXz+90oumAdcdOrifThjXXy0dKS3duF3jKwt1QElMPkNYAwAAwEcze9nazDUVI8rtWb85K+PtAm6ykjrbyrVgySTVNYR0xNBSHTe6vwpiQRVGAhpfWahBxVEZwhoAAEDeM8bMtdZOTvecR4VDkmru2OpF04BrUjalFVtfVWTQ4/pk4lOa++ZEzX6rXseOLNfRI8vV0NqpftGgJlQVqqowQlgDAABAWp6MpB065AD72lVXZbxdwG2dBTE9kHhbN9X9U9FQXAdFPqXXF41TS3tQJ4zpryOGlSkSDqgsHtKEqkL1L4h43WUAAAB4YG8jaZ6EtMljxtjX//63jLcLuMlaK/vOO9LmzWovjOvu2FL9rv4BFYaLNDh4umYvGq1kMqDp4yo1eWipwkG/+heENaw0zno1AOgFsZBfJbGQ190AgH2SfSFt8mRbU1OT8XYBt1lrZVe/pVTNXKlhm1r6JfTn0Dz9ZfMTKomWqdKcrtmLhsmYoE6bUKWJQ/opGPB73W0AyBlVhRFNqCokrAHIeoQ0IMNsKiW7coVS8+ZJjY1qLEnoVv8rum/bC6qIVqlf8nTNfuMARYMhHTOyQiE/I2kA0FOJSEAjqwsVCPg1qDiq8ZWFKooGve4WAKRFSAM8YpNJ2WVLlZo/X2pp0dbyuH5ln9PjDa+pOn6A4q2f0uq1w2Tk87qrANCnWVlt2t6meCigGROrNXpgkYJ+nw4oiWl8ZaESYU9qpQFAtwhpgMdsZ6fs4jeVWrhQamtTbUVMP+t4XC81LVRBqEABH3d6AaCnikMV0vYTNWdptYpjIX36kAEaXlkgv9+noaVxja0sVCzEFHMA2YGQBmQJ296u1BuLZN94Q+ro0PuVUb0Ye1+dJvO/hwCQU6zVy1vmakHTcg0pGK3k1umav7JCFQURzThkgIaUxxUM+DS8LKEx/QsUCRLWAHiLkAZkGdvaqtTCBbKLF0vJpNfdAYDcYIzW9g/rR83/1hutb2lY4cFqrD1Jb75dqgHFUc04pFoDS+MKBXwaWZ7QqIoChQJMNwfgDUIakKVsc7NsfZ3X3QCAvs9K9r11skuWyEp6q79f12y/R6va39PIosNU997xWr6uWAeWxXXaxGpV9osqHPDpwJK4gj6KNwHZzhhpUHFMxTlUDIiQBgAA8oJtbFRq/jzZ5ctlfT4t6Z/SrIa7ta59k8YWH6W17xyj1RsKNLJ/gU49uEoVRREZ9qoEst7OxHJAv6jGVxWpIAeKARHSAABAXrHbtik1b67sqlWywaDmlbfqmq3/UF3nNo0r/qRWvjVV62rjGlwSo5gI0Af4fUaHDinRiOoCBXw+HVQa19jKAsVDfTesEdIAAEBesps3KzW3Rvadd2TDIb1Sul3XbL5TzbZNY4pOULLhKPlsxOtuAvgI21qSmv9OSmWJsM44ZIAO6p9QwO/TsB3FgKJ9sBgQIQ0AAOQ1W1urVM0c2XXrlIpG9Gy/Wv24/h9qte1edw3APhpaOF4tdSdp0epyVRZFdMbEARq8o3LriPKERlcUKNyHigER0gAAACTZ9euVrJkjbdigZDyqlf196vSzJg3Ids2dzbql7v+0vO1djSg6VFvWn6Cla/ppcElMMw6pVlVJTGG/T6P6F2hkeUJBf/aHNUIaAADADtZaZ0Stpkaqq/W6OwD2kfX7tbxCmtVwt97t2KAxxVP1/ppjter9Qg2vSOhTB1epojiqSNCv0RUFGl6eUCCLq7cS0gAAAPZgrZXa2iQProUAfEytrUotXCi7aqWs369FFR26eutd2tS5WWOKj9E7q4/Wu5viGltdqOnjq1RaGFYs6FdRlpbsD/iMpg0tJ6QBAAAA6Nvsli1KzZ0r+/Zq2VBIr5c1adaWO7U91awxRcdr+Yoj9P7mqCYNLtYpE6o1oCTqdZfT8vuMpo+qJKQBAAAAyA22rk6pmhrZtWuUioT1UskW/aj+TrWbpEYXnKxFSw9TXUPY6252Kx7ya8mPTuk2pPXdjQUAAAAA5CVTVib/9OmyGzfIzKnRMe+36cnY1/VU0Xr9pP5uhQc9renFn1LCHOR1V9MK+gJaspfnCWkAAAAA+iTTv1L+005T6r33pJo5mr6+RSckrtCDBe/oprp/KmlSXncxrVggttfnCWkAAAAA+jTfgAEy1dWya9YoUDNHn1lfoRlFM9VavPcw5BXr96tEp3f7PCENAAAAQJ9njJE54ACZwYNlV69WYNFCJeqbvO5WeoG9V50kpAEAAADIGcYYmaFD5Rs61Ouu7Lfs34obAAAAAPIIIQ0AAAAAsgghDQAAAACyCCENAAAAALIIIQ0AAAAAsgghDQAAAACyCCENAAAAALIIIQ0AAAAAsgghDQAAAACyCCENAAAAALIIIQ0AAAAAsgghDQAAAACyCCENAAAAALIIIQ0AAAAAsgghDQAAAACyCCENAAAAALIIIQ0AAAAAsgghDQAAAACyCCENAAAAALIIIQ0AAAAAsgghDQAAAACyCCENAAAAALIIIQ0AAAAAsgghDQAAAACyCCENAAAAALIIIQ0AAAAAsgghDQAAAACyCCENAAAAALIIIQ0AAAAAsgghDQAAAACySI9CmjHmWmPMImPMAmPMk8aY6t7qGAAAAADko56OpP3cWjvBWjtR0sOSru6FPgEAAABA3upRSLPWNuzyMC7J9qw7AAAAAJDfAj19AWPMdZK+IGmbpON63CMAAAAAyGPG2r0PfhljnpZUmeapq6y1D+zyed+VFLHWzurmdS6RdMmOh+MkvblfPUauKZNU53UnkBU4FyBxHuBDnAvYiXMBO+XauXCAtbY83RMfGdL2lTFmsKRHrbXj9uFza6y1k3ulYfRpnAvYiXMBEucBPsS5gJ04F7BTPp0LPa3uOHyXh2dIWtaz7gAAAABAfuvpmrSfGmNGSkpJelfSpT3vEgAAAADkrx6FNGvtWfv5pbf3pF3kFM4F7MS5AInzAB/iXMBOnAvYKW/OhV5bkwYAAAAA6LmebmYNAAAAAOhFnoU0Y8y1xphFxpgFxpgnjTHVXvUF3jHG/NwYs2zHuXC/MabY6z7BG8aYs40xi40xKWNMXlRuwu6MMdONMcuNMauMMTO97g+8YYz5kzFmkzGGrXrymDFmkDHmOWPMkh1/G77hdZ/gDWNMxBjzujFm4Y5z4Yde9ykTPJvuaIwptNY27Pj/r0saY62l8EieMcacJOlZa22nMeYGSbLWfsfjbsEDxpjRcooQ3SbpSmttjcddQgYZY/ySVkg6UdI6SXMknW+tXeJpx5Bxxphpkhol/XVftvVBbjLGVEmqstbOM8YUSJor6dO8J+QfY4yRFLfWNhpjgpJelvQNa+2rHnfNVZ6NpO0MaDvEJbE4Lg9Za5+01nbuePiqpIFe9gfesdYutdYu97of8MwUSaustautte2S7paztQvyjLX2RUmbve4HvGWtXW+tnbfj/7dLWippgLe9gheso3HHw+COj5zPDZ6uSTPGXGeMWSvpAklXe9kXZIX/kvSY150A4IkBktbu8niduCADIMkYM0TSIZJe87Yn8Ioxxm+MWSBpk6SnrLU5fy64GtKMMU8bY95M83GGJFlrr7LWDpJ0p6SvutkXeOejzoMdn3OVpE455wJy1L6cCwAA7GSMSUi6T9I395iFhTxirU1aayfKmXE1xRiT81Ohe7qZ9V5Za0/Yx0+9U9Kjkma52B145KPOA2PMlySdJul4y54QOe1jvCcg/7wnadAujwfuOAYgT+1Yf3SfpDuttf/2uj/wnrV2qzHmOUnTJeV0cSEvqzsO3+XhGZKWedUXeMcYM13StyXNsNY2e90fAJ6ZI2m4MeZAY0xI0nmSHvS4TwA8sqNYxB8lLbXW/sLr/sA7xpjyndW/jTFROQWmcj43eFnd8T5JI+VUc3tX0qXWWu6a5hljzCpJYUn1Ow69SpXP/GSMOVPSzZLKJW2VtMBae7K3vUImGWNOlfQrSX5Jf7LWXudxl+ABY8xdko6VVCZpo6RZ1to/etopZJwx5ihJL0l6Q861oiR9z1r7qHe9gheMMRMk/UXO3wafpHuttT/ytlfu8yykAQAAAAC68rS6IwAAAABgd4Q0AAAAAMgihDQAAAAAyCKENAAAAADIIoQ0AAAAAMgihDQAAAAAyCKENAAAAADIIoQ0AAAAAMgi/x/7ce6ycfAjngAAAABJRU5ErkJggg==","text/plain":["
"]},"metadata":{"tags":[]}}],"metadata":{"id":"cWHEHs8rZ7g-","colab":{"base_uri":"https://localhost:8080/","height":534},"executionInfo":{"status":"ok","timestamp":1573211583154,"user_tz":-60,"elapsed":7409,"user":{"displayName":"Anna Dawid","photoUrl":"https://lh3.googleusercontent.com/a-/AAuE7mBMAlqIzrWbyBbGSDvCFuCvvSN7Xx3h3HRKaToc0r4=s64","userId":"02862484648310443813"}},"outputId":"816617b4-a2f3-480b-852d-6cfcf4d5cc34"}},{"cell_type":"markdown","source":["## Ewaluacja modelu\n","Teraz zajmiemy się ewaluacją dopasowanego modelu (walidacja krzyżowa). Skorzystamy z funkcji dostrczanych przez [Model evaluation](http://scikit-learn.org/stable/modules/model_evaluation.html)\n","* upewnij się, że dokładnie rozumiesz co zwracają te funkcje [(sprawdź w dokumentacji)](https://scikit-learn.org/stable/modules/generated/sklearn.metrics.precision_recall_fscore_support.html)\n","* porównaj z definicjami z [wykładu](https://brain.fuw.edu.pl/edu/index.php/Uczenie_maszynowe_i_sztuczne_sieci_neuronowe/Wyk%C5%82ad_Ocena_jako%C5%9Bci_klasyfikacji) "],"metadata":{"id":"80bCH4F5Z7hB"}},{"cell_type":"code","execution_count":null,"source":["print(\"Classification report:\")\r\n","print(classification_report(iris.target, gnb.predict(X)))\r\n","\r\n","print(\"Confusion matrix:\")\r\n","print(confusion_matrix(iris.target, gnb.predict(X)))"],"outputs":[{"output_type":"stream","name":"stdout","text":["Classification report:\n"," precision recall f1-score support\n","\n"," 0 1.00 1.00 1.00 50\n"," 1 0.85 0.92 0.88 50\n"," 2 0.91 0.84 0.87 50\n","\n"," accuracy 0.92 150\n"," macro avg 0.92 0.92 0.92 150\n","weighted avg 0.92 0.92 0.92 150\n","\n","Confusion matrix:\n","[[50 0 0]\n"," [ 0 46 4]\n"," [ 0 8 42]]\n"]}],"metadata":{"id":"ZGF38VWxZ7hC","colab":{"base_uri":"https://localhost:8080/","height":278},"executionInfo":{"status":"ok","timestamp":1573211583157,"user_tz":-60,"elapsed":7389,"user":{"displayName":"Anna Dawid","photoUrl":"https://lh3.googleusercontent.com/a-/AAuE7mBMAlqIzrWbyBbGSDvCFuCvvSN7Xx3h3HRKaToc0r4=s64","userId":"02862484648310443813"}},"outputId":"5bcaa68b-0e90-4bf1-adaa-3c98c25e00be"}},{"cell_type":"markdown","source":["## Porównanie modeli\n","Stwórz trzy modele klasyfikatorów:\n","* pierwszym niech będzie korzystał z cech 1 i 2 (nasz dotychczasowy model)\n","* drugim niech korzysta tylko z cech 0 i 1\n","* trzeci niech korzysta ze wszytkich 4 cech\n","\n","Porównaj miary jakości tych modeli otrzymywane za pomocą walidacji krzyżowej.\n","\n","* Trzeci model można też stworzyć dla danych normalizowanych i nienormalizowanych, aby sprzwdzić czy normalizacja w tym przypadku pomaga w prawidłowej klasyfikacji."],"metadata":{"id":"DQd-aixOZ7hE"}},{"cell_type":"code","execution_count":null,"source":["..."],"outputs":[{"output_type":"execute_result","data":{"text/plain":["Ellipsis"]},"metadata":{"tags":[]},"execution_count":27}],"metadata":{"id":"XTUhTx4mZ7hG","colab":{"base_uri":"https://localhost:8080/","height":34},"executionInfo":{"status":"ok","timestamp":1573211583161,"user_tz":-60,"elapsed":7390,"user":{"displayName":"Anna Dawid","photoUrl":"https://lh3.googleusercontent.com/a-/AAuE7mBMAlqIzrWbyBbGSDvCFuCvvSN7Xx3h3HRKaToc0r4=s64","userId":"02862484648310443813"}},"outputId":"6a018ba5-7741-46fe-c649-c6db1bfc2799"}}]}