{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Regularization\n", "\n", "Welcome to the second assignment of this week. Deep Learning models have so much flexibility and capacity that **overfitting can be a serious problem**, if the training dataset is not big enough. Sure it does well on the training set, but the learned network **doesn't generalize to new examples** that it has never seen!\n", "\n", "**You will learn to:** Use regularization in your deep learning models.\n", "\n", "Let's first import the packages you are going to use." ] }, { "cell_type": "code", "execution_count": 1, "metadata": { "collapsed": true }, "outputs": [], "source": [ "# import packages\n", "import numpy as np\n", "import matplotlib.pyplot as plt\n", "from reg_utils import sigmoid, relu, plot_decision_boundary, initialize_parameters, load_2D_dataset, predict_dec\n", "from reg_utils import compute_cost, predict, forward_propagation, backward_propagation, update_parameters\n", "import sklearn\n", "import sklearn.datasets\n", "import scipy.io\n", "from testCases import *\n", "\n", "%matplotlib inline\n", "plt.rcParams['figure.figsize'] = (7.0, 4.0) # set default size of plots\n", "plt.rcParams['image.interpolation'] = 'nearest'\n", "plt.rcParams['image.cmap'] = 'gray'" ] }, { "cell_type": "markdown", "metadata": { "collapsed": true }, "source": [ "**Problem Statement**: You have just been hired as an AI expert by the French Football Corporation. They would like you to recommend positions where France's goal keeper should kick the ball so that the French team's players can then hit it with their head. \n", "\n", "<img src=\"images/field_kiank.png\" style=\"width:600px;height:350px;\">\n", "<caption><center> <u> **Figure 1** </u>: **Football field**<br> The goal keeper kicks the ball in the air, the players of each team are fighting to hit the ball with their head </center></caption>\n", "\n", "\n", "They give you the following 2D dataset from France's past 10 games." ] }, { "cell_type": "code", "execution_count": 2, "metadata": { "scrolled": false }, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "<matplotlib.figure.Figure at 0x7f10b5e1cd30>" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "train_X, train_Y, test_X, test_Y = load_2D_dataset()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Each dot corresponds to a position on the football field where a football player has hit the ball with his/her head after the French goal keeper has shot the ball from the left side of the football field.\n", "- If the dot is blue, it means the French player managed to hit the ball with his/her head\n", "- If the dot is red, it means the other team's player hit the ball with their head\n", "\n", "**Your goal**: Use a deep learning model to find the positions on the field where the goalkeeper should kick the ball." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "**Analysis of the dataset**: This dataset is a little noisy, but it looks like a diagonal line separating the upper left half (blue) from the lower right half (red) would work well. \n", "\n", "You will first try a non-regularized model. Then you'll learn how to regularize it and decide which model you will choose to solve the French Football Corporation's problem. " ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## 1 - Non-regularized model\n", "\n", "You will use the following neural network (already implemented for you below). This model can be used:\n", "- in *regularization mode* -- by setting the `lambd` input to a non-zero value. We use \"`lambd`\" instead of \"`lambda`\" because \"`lambda`\" is a reserved keyword in Python. \n", "- in *dropout mode* -- by setting the `keep_prob` to a value less than one\n", "\n", "You will first try the model without any regularization. Then, you will implement:\n", "- *L2 regularization* -- functions: \"`compute_cost_with_regularization()`\" and \"`backward_propagation_with_regularization()`\"\n", "- *Dropout* -- functions: \"`forward_propagation_with_dropout()`\" and \"`backward_propagation_with_dropout()`\"\n", "\n", "In each part, you will run this model with the correct inputs so that it calls the functions you've implemented. Take a look at the code below to familiarize yourself with the model." ] }, { "cell_type": "code", "execution_count": 3, "metadata": { "collapsed": true }, "outputs": [], "source": [ "def model(X, Y, learning_rate = 0.3, num_iterations = 30000, print_cost = True, lambd = 0, keep_prob = 1):\n", " \"\"\"\n", " Implements a three-layer neural network: LINEAR->RELU->LINEAR->RELU->LINEAR->SIGMOID.\n", " \n", " Arguments:\n", " X -- input data, of shape (input size, number of examples)\n", " Y -- true \"label\" vector (1 for blue dot / 0 for red dot), of shape (output size, number of examples)\n", " learning_rate -- learning rate of the optimization\n", " num_iterations -- number of iterations of the optimization loop\n", " print_cost -- If True, print the cost every 10000 iterations\n", " lambd -- regularization hyperparameter, scalar\n", " keep_prob - probability of keeping a neuron active during drop-out, scalar.\n", " \n", " Returns:\n", " parameters -- parameters learned by the model. They can then be used to predict.\n", " \"\"\"\n", " \n", " grads = {}\n", " costs = [] # to keep track of the cost\n", " m = X.shape[1] # number of examples\n", " layers_dims = [X.shape[0], 20, 3, 1]\n", " \n", " # Initialize parameters dictionary.\n", " parameters = initialize_parameters(layers_dims)\n", "\n", " # Loop (gradient descent)\n", "\n", " for i in range(0, num_iterations):\n", "\n", " # Forward propagation: LINEAR -> RELU -> LINEAR -> RELU -> LINEAR -> SIGMOID.\n", " if keep_prob == 1:\n", " a3, cache = forward_propagation(X, parameters)\n", " elif keep_prob < 1:\n", " a3, cache = forward_propagation_with_dropout(X, parameters, keep_prob)\n", " \n", " # Cost function\n", " if lambd == 0:\n", " cost = compute_cost(a3, Y)\n", " else:\n", " cost = compute_cost_with_regularization(a3, Y, parameters, lambd)\n", " \n", " # Backward propagation.\n", " assert(lambd==0 or keep_prob==1) # it is possible to use both L2 regularization and dropout, \n", " # but this assignment will only explore one at a time\n", " if lambd == 0 and keep_prob == 1:\n", " grads = backward_propagation(X, Y, cache)\n", " elif lambd != 0:\n", " grads = backward_propagation_with_regularization(X, Y, cache, lambd)\n", " elif keep_prob < 1:\n", " grads = backward_propagation_with_dropout(X, Y, cache, keep_prob)\n", " \n", " # Update parameters.\n", " parameters = update_parameters(parameters, grads, learning_rate)\n", " \n", " # Print the loss every 10000 iterations\n", " if print_cost and i % 10000 == 0:\n", " print(\"Cost after iteration {}: {}\".format(i, cost))\n", " if print_cost and i % 1000 == 0:\n", " costs.append(cost)\n", " \n", " # plot the cost\n", " plt.plot(costs)\n", " plt.ylabel('cost')\n", " plt.xlabel('iterations (x1,000)')\n", " plt.title(\"Learning rate =\" + str(learning_rate))\n", " plt.show()\n", " \n", " return parameters" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Let's train the model without any regularization, and observe the accuracy on the train/test sets." ] }, { "cell_type": "code", "execution_count": 4, "metadata": { "scrolled": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Cost after iteration 0: 0.6557412523481002\n", "Cost after iteration 10000: 0.16329987525724216\n", "Cost after iteration 20000: 0.13851642423255986\n" ] }, { "data": { "image/png": "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\nAElFTkSuQmCC\n", "text/plain": [ "<matplotlib.figure.Figure at 0x7f107f794160>" ] }, "metadata": {}, "output_type": "display_data" }, { "name": "stdout", "output_type": "stream", "text": [ "On the training set:\n", "Accuracy: 0.947867298578\n", "On the test set:\n", "Accuracy: 0.915\n" ] } ], "source": [ "parameters = model(train_X, train_Y)\n", "print (\"On the training set:\")\n", "predictions_train = predict(train_X, train_Y, parameters)\n", "print (\"On the test set:\")\n", "predictions_test = predict(test_X, test_Y, parameters)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The train accuracy is 94.8% while the test accuracy is 91.5%. This is the **baseline model** (you will observe the impact of regularization on this model). Run the following code to plot the decision boundary of your model." ] }, { "cell_type": "code", "execution_count": 5, "metadata": { "scrolled": false }, "outputs": [ { "data": { "image/png": "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\n+P8BBRFqyC1znewAAAAASUVORK5CYII=\n", "text/plain": [ "<matplotlib.figure.Figure at 0x7f107f6efd30>" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "plt.title(\"Model without regularization\")\n", "axes = plt.gca()\n", "axes.set_xlim([-0.75,0.40])\n", "axes.set_ylim([-0.75,0.65])\n", "plot_decision_boundary(lambda x: predict_dec(parameters, x.T), train_X, train_Y)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The non-regularized model is obviously overfitting the training set. It is fitting the noisy points! Lets now look at two techniques to reduce overfitting." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## 2 - L2 Regularization\n", "\n", "The standard way to avoid overfitting is called **L2 regularization**. It consists of appropriately modifying your cost function, from:\n", "$$J = -\\frac{1}{m} \\sum\\limits_{i = 1}^{m} \\large{(}\\small y^{(i)}\\log\\left(a^{[L](i)}\\right) + (1-y^{(i)})\\log\\left(1- a^{[L](i)}\\right) \\large{)} \\tag{1}$$\n", "To:\n", "$$J_{regularized} = \\small \\underbrace{-\\frac{1}{m} \\sum\\limits_{i = 1}^{m} \\large{(}\\small y^{(i)}\\log\\left(a^{[L](i)}\\right) + (1-y^{(i)})\\log\\left(1- a^{[L](i)}\\right) \\large{)} }_\\text{cross-entropy cost} + \\underbrace{\\frac{1}{m} \\frac{\\lambda}{2} \\sum\\limits_l\\sum\\limits_k\\sum\\limits_j W_{k,j}^{[l]2} }_\\text{L2 regularization cost} \\tag{2}$$\n", "\n", "Let's modify your cost and observe the consequences.\n", "\n", "**Exercise**: Implement `compute_cost_with_regularization()` which computes the cost given by formula (2). To calculate $\\sum\\limits_k\\sum\\limits_j W_{k,j}^{[l]2}$ , use :\n", "```python\n", "np.sum(np.square(Wl))\n", "```\n", "Note that you have to do this for $W^{[1]}$, $W^{[2]}$ and $W^{[3]}$, then sum the three terms and multiply by $ \\frac{1}{m} \\frac{\\lambda}{2} $." ] }, { "cell_type": "code", "execution_count": 6, "metadata": { "collapsed": true }, "outputs": [], "source": [ "# GRADED FUNCTION: compute_cost_with_regularization\n", "\n", "def compute_cost_with_regularization(A3, Y, parameters, lambd):\n", " \"\"\"\n", " Implement the cost function with L2 regularization. See formula (2) above.\n", " \n", " Arguments:\n", " A3 -- post-activation, output of forward propagation, of shape (output size, number of examples)\n", " Y -- \"true\" labels vector, of shape (output size, number of examples)\n", " parameters -- python dictionary containing parameters of the model\n", " \n", " Returns:\n", " cost - value of the regularized loss function (formula (2))\n", " \"\"\"\n", " m = Y.shape[1]\n", " W1 = parameters[\"W1\"]\n", " W2 = parameters[\"W2\"]\n", " W3 = parameters[\"W3\"]\n", " \n", " cross_entropy_cost = compute_cost(A3, Y) # This gives you the cross-entropy part of the cost\n", " \n", " ### START CODE HERE ### (approx. 1 line)\n", " L2_regularization_cost = lambd * (np.sum(np.square(W1)) + np.sum(np.square(W2)) + np.sum(np.square(W3))) / (2 * m) \n", " ### END CODER HERE ###\n", " \n", " cost = cross_entropy_cost + L2_regularization_cost\n", " \n", " return cost" ] }, { "cell_type": "code", "execution_count": 7, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "cost = 1.78648594516\n" ] } ], "source": [ "A3, Y_assess, parameters = compute_cost_with_regularization_test_case()\n", "\n", "print(\"cost = \" + str(compute_cost_with_regularization(A3, Y_assess, parameters, lambd = 0.1)))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "**Expected Output**: \n", "\n", "<table> \n", " <tr>\n", " <td>\n", " **cost**\n", " </td>\n", " <td>\n", " 1.78648594516\n", " </td>\n", " \n", " </tr>\n", "\n", "</table> " ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Of course, because you changed the cost, you have to change backward propagation as well! All the gradients have to be computed with respect to this new cost. \n", "\n", "**Exercise**: Implement the changes needed in backward propagation to take into account regularization. The changes only concern dW1, dW2 and dW3. For each, you have to add the regularization term's gradient ($\\frac{d}{dW} ( \\frac{1}{2}\\frac{\\lambda}{m} W^2) = \\frac{\\lambda}{m} W$)." ] }, { "cell_type": "code", "execution_count": 8, "metadata": { "collapsed": true }, "outputs": [], "source": [ "# GRADED FUNCTION: backward_propagation_with_regularization\n", "\n", "def backward_propagation_with_regularization(X, Y, cache, lambd):\n", " \"\"\"\n", " Implements the backward propagation of our baseline model to which we added an L2 regularization.\n", " \n", " Arguments:\n", " X -- input dataset, of shape (input size, number of examples)\n", " Y -- \"true\" labels vector, of shape (output size, number of examples)\n", " cache -- cache output from forward_propagation()\n", " lambd -- regularization hyperparameter, scalar\n", " \n", " Returns:\n", " gradients -- A dictionary with the gradients with respect to each parameter, activation and pre-activation variables\n", " \"\"\"\n", " \n", " m = X.shape[1]\n", " (Z1, A1, W1, b1, Z2, A2, W2, b2, Z3, A3, W3, b3) = cache\n", " \n", " dZ3 = A3 - Y\n", " \n", " ### START CODE HERE ### (approx. 1 line)\n", " dW3 = 1./m * np.dot(dZ3, A2.T) + (lambd*W3 / m) \n", " ### END CODE HERE ###\n", " db3 = 1./m * np.sum(dZ3, axis=1, keepdims = True)\n", " \n", " dA2 = np.dot(W3.T, dZ3)\n", " dZ2 = np.multiply(dA2, np.int64(A2 > 0))\n", " ### START CODE HERE ### (approx. 1 line)\n", " dW2 = 1./m * np.dot(dZ2, A1.T) + (lambd*W2 / m)\n", " ### END CODE HERE ###\n", " db2 = 1./m * np.sum(dZ2, axis=1, keepdims = True)\n", " \n", " dA1 = np.dot(W2.T, dZ2)\n", " dZ1 = np.multiply(dA1, np.int64(A1 > 0))\n", " ### START CODE HERE ### (approx. 1 line)\n", " dW1 = 1./m * np.dot(dZ1, X.T) + (lambd*W1 / m) \n", " ### END CODE HERE ###\n", " db1 = 1./m * np.sum(dZ1, axis=1, keepdims = True)\n", " \n", " gradients = {\"dZ3\": dZ3, \"dW3\": dW3, \"db3\": db3,\"dA2\": dA2,\n", " \"dZ2\": dZ2, \"dW2\": dW2, \"db2\": db2, \"dA1\": dA1, \n", " \"dZ1\": dZ1, \"dW1\": dW1, \"db1\": db1}\n", " \n", " return gradients" ] }, { "cell_type": "code", "execution_count": 9, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "dW1 = [[-0.25604646 0.12298827 -0.28297129]\n", " [-0.17706303 0.34536094 -0.4410571 ]]\n", "dW2 = [[ 0.79276486 0.85133918]\n", " [-0.0957219 -0.01720463]\n", " [-0.13100772 -0.03750433]]\n", "dW3 = [[-1.77691347 -0.11832879 -0.09397446]]\n" ] } ], "source": [ "X_assess, Y_assess, cache = backward_propagation_with_regularization_test_case()\n", "\n", "grads = backward_propagation_with_regularization(X_assess, Y_assess, cache, lambd = 0.7)\n", "print (\"dW1 = \"+ str(grads[\"dW1\"]))\n", "print (\"dW2 = \"+ str(grads[\"dW2\"]))\n", "print (\"dW3 = \"+ str(grads[\"dW3\"]))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "**Expected Output**:\n", "\n", "<table> \n", " <tr>\n", " <td>\n", " **dW1**\n", " </td>\n", " <td>\n", " [[-0.25604646 0.12298827 -0.28297129]\n", " [-0.17706303 0.34536094 -0.4410571 ]]\n", " </td>\n", " </tr>\n", " <tr>\n", " <td>\n", " **dW2**\n", " </td>\n", " <td>\n", " [[ 0.79276486 0.85133918]\n", " [-0.0957219 -0.01720463]\n", " [-0.13100772 -0.03750433]]\n", " </td>\n", " </tr>\n", " <tr>\n", " <td>\n", " **dW3**\n", " </td>\n", " <td>\n", " [[-1.77691347 -0.11832879 -0.09397446]]\n", " </td>\n", " </tr>\n", "</table> " ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Let's now run the model with L2 regularization $(\\lambda = 0.7)$. The `model()` function will call: \n", "- `compute_cost_with_regularization` instead of `compute_cost`\n", "- `backward_propagation_with_regularization` instead of `backward_propagation`" ] }, { "cell_type": "code", "execution_count": 10, "metadata": { "scrolled": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Cost after iteration 0: 0.6974484493131264\n", "Cost after iteration 10000: 0.2684918873282239\n", "Cost after iteration 20000: 0.2680916337127301\n" ] }, { "data": { "image/png": "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\n", "text/plain": [ "<matplotlib.figure.Figure at 0x7f107f387f28>" ] }, "metadata": {}, "output_type": "display_data" }, { "name": "stdout", "output_type": "stream", "text": [ "On the train set:\n", "Accuracy: 0.938388625592\n", "On the test set:\n", "Accuracy: 0.93\n" ] } ], "source": [ "parameters = model(train_X, train_Y, lambd = 0.7)\n", "print (\"On the train set:\")\n", "predictions_train = predict(train_X, train_Y, parameters)\n", "print (\"On the test set:\")\n", "predictions_test = predict(test_X, test_Y, parameters)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Congrats, the test set accuracy increased to 93%. You have saved the French football team!\n", "\n", "You are not overfitting the training data anymore. Let's plot the decision boundary." ] }, { "cell_type": "code", "execution_count": 11, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAcoAAAEWCAYAAADmYNeIAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzsvXmUZPlV3/m5b4l9y732qu5WC7FIYpXMZiSPhYWMjX1m\nhiMjg1iFfCzmzKLB2GMz+Ay2ER4xCFsejYwZbDFYYzAjBBbIYhiEhBpoDJJAkhEtdVdVZuW+xB7x\ntjt/vMjIiIyIrIjMyKWyfp9z6lRmvO0XLyLf/d37u/d7RVUxGAwGg8EwHOu8B2AwGAwGw0XGGEqD\nwWAwGI7AGEqDwWAwGI7AGEqDwWAwGI7AGEqDwWAwGI7AGEqDwWAwGI7AGErDpUZE7oiIiogzxr7f\nKSIfPeH1vl5E/nQa43mUOem9FJG/JyI/Pc0xdc77LhH5B9M+r+FyYwyl4cIgIi+IiCci84de/6OO\ncblzPiMbH1X9iKp+wf7vnff0F497PhH5WRH50SGvL4rIvxWRByJSFpHfEZFXHvc6Fw1V/ceq+r0n\nOccwY62qb1bV/+VkozM8bhhDabhoPA/8jf1fROSlQOb8hnNhyQHPAl8BzAL/GvgPIpIb5+CL7NFe\n5LEZHk+MoTRcNN4DfEfP728E/k3vDiJSFJF/IyKbInJXRP6+iFidbbaI/K8isiUinwf+8pBj/5WI\nrIrIioj8qIjYDxuUiPxrEfkfOj9f73i4f7vz+1MisiMiloi8SkSWO6+/B7gF/IqI1ETkB3tO+QYR\nudcZ5/806U1S1c+r6k+o6qqqhqr6biABfMGoY/bHLCJ/BvxZ57WXiMiHOuP/UxH51p7950TkV0Sk\nIiLPdu7VRzvbBkLIIvJbIjLUCxSRd4jI/c65/pOIfH3Pth8RkV8UkZ8TkQrwnZ3Xfq6z/Z937t/+\nv0BEfqSz7YdE5HMiUhWRT4vIX++8/oXAu4Cv7hyz13m9z0MXke8Tkec67//9InLt0P16s4j8mYjs\nicg7RUTG/pAMlwZjKA0Xjd8FCiLyhR0D9nrg5w7t88+AIvAk8A3EhvW7Otu+D/hm4MuArwT+q0PH\n/iwQAC/q7PONwDghvg8Dr+r8/A3A54E/3/P7R1Q16j1AVb8duAf8FVXNqeqP92z+OmKj9l8AP9x5\nsB8bEflSYkP53EN2/WvAK4EvEpEs8CHg54FF4nv9L0Tkizr7vhOoA1eIJyxvPMEQnwW+lNj7/Xng\nF0Qk1bP9W4BfBErA/9V7oKq+pXP/csT3bRf45c7mzwFfT/x9+IfAz4nIVVX9DPBm4JnOsaXDAxKR\nvwD8E+BbgavAXeC9h3b7ZuCrgJd19vtLx3v7hkcZYygNF5F9r/I1wGeAlf0NPcbz76pqVVVfAN4O\nfHtnl28FflJV76vqDvGDcP/YJeB1wH+rqnVV3QD+t875HsaHga/reK5/Hvhx4Gs7276hs30S/qGq\nNlX1E8AngJdPeHwXESkQ37N/qKrlh+z+T1R1R1WbxEbgBVX9P1U1UNU/Av498F937vN/CfzPqtpQ\n1U8Th3ePhar+nKpud67zdiBJv/f7jKq+T1WjztiGvc8F4H3AD3TGiqr+gqo+6Bz3fxN7yq8Yc1hv\nAH5GVf9QVdvA3yX2QO/07PNjqrqnqveA/4/Y2BseM4yhNFxE3gN8G/CdHAq7AvOASzz73+cucL3z\n8zXg/qFt+9zuHLvaCaXtAf8HsTd1JKr6OWLv6kuJPZhfBR6IyBdwPEO51vNzg3jNcWJEJA38CvC7\nqto7KfhUT6jy63sO6b03t4FX7t+Lzv14A7EHuQA4h/bv/XnScb5VRD4jceLRHrEH2Ju0deS5RcQl\n9jh/XlXf2/P6d4jIx3vG/yWHznsU1+j5fqhqDdjm4LsEU/qcDI82ZtHccOFQ1bsi8jyx9/c9hzZv\nAT7xQ/7TndduceB1rgI3e/a/1fPzfaANzKtqcIyhfZg4lJtQ1RUR+TBxOHIG+Piot3OM64yFiCSJ\nPaxl4Pv7Lqr6xWOM5z7wYVV9zZBz28Qh6hvAZzsv997Xeuf/DFDp/HxlxDi/HvhB4jDzp1Q1EpFd\noHe972H36Z91rvP3e857G/iXnfM+o6qhiHy857wPO+cD4u/R/vmywBw9EQyDAYxHabi4fA/wF1S1\n3vuiqobAvwP+kYjkOw/L/56Ddcx/B/w3InJDRGaAH+o5dhX4j8DbRaTQSb55SkS+YcwxfRh4C/Db\nnd9/q/P7RzvjGsY68VrqSbBFJNXzL9HjYTWBNx5eHx2TXwVeLCLfLiJu599XicgXdt7PLwE/IiIZ\nEXkJPUlWqrpJbFD+psQJVN8NPDXiOnlio7sJOCLyw0Bh3EGKyPcTe+1vOPQ+s8TGcLOz33cRe5T7\nrAM3RCQx4tT/FvguEfnSzqTjHwO/1wnnGwxdjKE0XEhU9XOq+gcjNv8AsUfzeeCjxMkhP9PZ9i+B\nDxKv+/0h8cO+l+8gTnr5NHFSyC8SJ3KMw4eJH/r7hvKjxB7Vb488Il4j/fud0OBbx7zOYX6I2CDu\n//tN4GuI1xi/EdgbEWY9ElWtdo5/PbF3tQa8jXj9EOJJQLHz+nuIDUu75xTfB/yPxOHKLwY+NuJS\nHwR+ndgzvQu0mCyM+zeIJxsPet7n3+usm74deIbYKL4U+J2e434T+BSwJiJbQ97/bwD/gHhddpXY\n0I+zXm14zBDTuNlgMIyDiLwNuKKqJ8l+NRgeOYxHaTAYhiJxjeXLJOYVxOHw/+e8x2UwnDUmmcdg\nMIwiTxxuvUYc2nw7B/WLBsNjgwm9GgwGg8FwBCb0ajAYDAbDEVzK0KubKWqq+NAacoPBYLgUZIoh\nN3Mu0fIajbKRox3Gn7bKW6q6cJxjL6WhTBUX+Yo3vuO8h2EwGAynysv/6h7v+JqrNH7wbXz81xxY\neDrWVDIM8LV/8h/uPnyv4VxKQ2kwGAyXnZ946xpfPv/EgZE0nBpmjdJgMBgeUfTZD533EB4LzDTE\nYDAYHiF+4q1rfNnzz9H88T/kmV9zMI/x0+dcPUoRea3EzWKfE5EfGrHPqzrdAT7VEaE2GAyGx5J9\nI/nMd3/ShFvPkHO7053uBO8k7jm4DDwrIu/v6Dfu71MC/gXwWlW9JyImldVgMBgMZ8p5TkleATyn\nqp8HEJH3Enc5/3TPPt8G/FKnaSqdRrsGg8HwWNH1JF/9SZ4578E8hpynobxOfweBZeCVh/Z5MeCK\nyG8Ry2m9Q1UPN/IFQETeBLwJIFkw+dEGwyNBpCTaAZElBEkTSjzMQfnHv+usRxrOg4t+5x3gK4gb\ns6aBZ0Tkd1X1s4d3VNV3A+8GyF992ujyGQwXnEy5xdx6p92oQuDabNzIEybs8x2YwXCI80zmWaG/\nY/oNBjuLLwMfVNW6qm4R9/17+RmNz2AwnBJuK2BurY4VEf9TcL2QpfsVMPrThgvGeRrKZ4GnReSJ\nTgfy1wPvP7TPLwNfJyKOiGSIQ7OfOeNxGgyXD1Uk0nMzSvndFnLo0gLYQUSiFZzLmAZQRcLzu0cA\nb3xxC332QybD9Zw5t7uvqoGIvIW4+7kN/IyqfkpE3tzZ/i5V/YyI/DrwSSACflpV/+S8xmwwPPKo\nUtpokN+LDVXgWuwsZWnlEmMdm6r7OH6El7LxUg7I8XRF7SBi6JECdnD+HmV2r8XMZgMrVNQS9mZT\nVOfSx36/k2KSdy4W5zpNUdUPAB849Nq7Dv3+T4F/epbjMhguK7NrdbKVNlbHFrl+xMJKlfVbBby0\nO/I42w9ZulfBDqLua+20w8aNAliTG49m1iXV8Lvj6KLxec+TTKXN7Hq9OzaJlNJ2E4DqfObUr99b\nK2m4GBgJO4PhMcEKI3I9RnIfUShuNY88du5BDcePsJTuv2QzoLh99HGjqJdShK5F1GNjI4HKbJrI\nOd/HUnGrMXCPLIXiTsusnz6mmMC3wfCYYPsRKoIcetgLcSLNKCSMSDWDgVCppZArtygvTO5lqSWs\n3i6R32uSqXpElkV1JkUzP0YI+JRx/Gjo61akiIKeUvTVhFsvLsZQGgyPCUHCHuoRKdBOjX4UHGUX\nDifkTILaQmUuQ2Xu9MOZk+AnbJLtwYlDZMupGElTK3nxMZ+KwfCYoJZQmU1T2Gl2Q4tK7CFV5tMj\nj4tsCz9p47bDPqOpQP0CeIAPw/ZCZjfqpOs+KlArJNlbzKIj1lb3FrMsLFf6wq+RwO5C5sySeQwX\nC2MoDYbHiPJ8mtARCjst7CCinXbYXcziP0QVZ+tqjiv3KqgqlsaGI3SsI8OuEikK4yX7aCeseYzE\noKOQMOLq3TJWqAixB5wrt0m0Q9ZvF4ce08q6bN4oUNqo43ohgWtRns/QKCSnOrYDT/Kn+Nj3my4g\nFxnzyRgMjxMi1GbS1GZGe5DD8FMOK0+VyJbbOF6Il3Zjb3KIYXO8kLnVGslmXA/ZyrhsX80SuoOK\nOxIpM+t1cpV2rM6TsNi+kqOdGZ2BOwm5chuJtM8TthQSrYBEM8AbkWHbyrqsPVGayhiGcWAkTdPl\nRwGT9WowGMYisi2qs2l2r+SoF5NDjaREypW7ZZKd5B8BUg2fK3eHK+7Mr1TJVtqI7icVRSzer+C0\npyM6kGgGgyUoHVzv/IQN3vji1rld2zA5ZipjMFx2VEk2A1J1j8i2qBeSp1aCka0MenACWFFEuub3\nZbXaXji0llIUCjstdq7mTjweP2UT1RhqLP1z0JTtTdz5mGm6/MhgPiWD4TKjysJKlVTd75Y2lDYb\nbN7I08pOPxHH8cKhRkkicPz+TFLHj2IrOkTKzp2SR1krpShst1A9MN4R4Cc7ykJnyH75x8de+vOY\nR++jhQm9GgyXmEzVI1WPvTbhQCxgYaV2KsXzXsrpExHYR4WBhCE/aQ8tL1GgfYRK0CREtsXa7SKt\ntNPN8G0UEqzfLJgMVsPYmGmN4fGhE4IUVdppd+oZlheR3N6gEs8+yWYwtaSZfRr5BKVNC/EPtFwj\nicOcrUz/4yZyLGrFJNlyu79cxRKqs6mpjSlI2mzcLh5MDM7YQJo6yUcf86kZHgvcVsDicgUr1G64\nb2cpS700vQfyRWR0gfwpSbGJsHanSGmjQabqgUC9kGRvfngN4s5SFt+1Key2sKKIVsZld2F4huw0\nxnaWmPKPy4P55AyXH1WW7le6tXT7NmJ2vY6XcvDPeK3qLKkXk0MTZhQ5NfHxyLbYuZpj5+oYO4tQ\nnUvHnTkMhguKWaM0XHpSDX8gExM6xed7lztNv5FP0MgniCSeH0QS/9u8kTdrdAbDmFzeqbTB0MEK\nh4cZBbBHbLs0iLB9LU+lFZCu+4S20MgnUNvMkQ2GcTGG0nDpaWXcocLekcQe10UgWfcp7DSxg4hm\n1qU65XZT/oQh5tMez4lRJVtux1J8YSzFt7eQeagU31nQ20/yY4B5zD76mE/QcOmJHIvyXJrCdrOr\nABMJeEnnQhjK3G6TmY1GjzpNSK7SZvVO6VyM00UbzzAK202K2wfi7umaT6peZvVOiSB59kIC+5im\ny5eTi/GtNxhOmfJ8hs0bBRp5l2bGYWcpy/rt86+lk0iZ2Wh06xyhU+sYKPmd4zVFPhLVI+snz3w8\nx0Ai7TOSQFfwvLjdOLdxGS4vxqM0PDa0si6t7EHdoISKFYWEjnVuBtNtB0PVaSwgU/cpT+tCqpQ2\nG+R3W4hC4FrsXMkOqPOcaDyRkiu3yFQ8IluozaQmVv+RMCK31yJT8wmduJnz4VpPxw9HKvrsC7Gf\nNabp8uXGGErDY4dEytxqjUzN6xa4by9laU65jdI4RLY1sqQxnGKYc3a93lfY7/oRC8tV1m8V+zpo\nHHs8HTF0t0fCLl33qcymj2zF1YuEEVdfKGMHEZbGw0jXPHYXs9RmDupdQ8ca2TA6OI36yyMwYgKP\nByb0anjsmF+pkq55SEfOzQ6V+dUaiaZ/5mMJEjZe0hmwTZFAZUrqNBJG5MqDCj2iUNzqD1UedzzZ\nqtdnJCG+t8WdJlYQjTXO/G6rayThQHJvZqOORAcnjmyLeqfk5fAYy0c0oDYYjosxlIbHCts/omPF\n9vmswW3eyHc1UiNLiAR2FzJTEy13gmioQs9+os40xpOuDpfKU4nrWMchU/OGy+2JkGj1h1S3O62+\nIomvEdjC9tVDfSxVSdV9Sht18tuNsQ32uPzEW9f4SfdP+NhL3256Sl5yzvXTFZHXAu8AbOCnVfXH\nRuz3VcAzwOtV9RfPcIiGS4YdRPF65KGEFiEOR54HkWOxdqcYd94II/ykM1Ud2sCxh4ZTFfCGZIge\nZzyhY6EwpAxH4nDuGIS2BQwablQJ7UNntoSdKzl2FrNYkRLZ0r/OrMrCcjUWm9jvmrLVnErXlJOG\nWz0vIvCVRNLCcYzow6PAuRlKEbGBdwKvAZaBZ0Xk/ar66SH7vQ34j2c/SsNlw0/YQ7M+FWidkqTb\nuAQJm3jOOF3UFqozKfK7rT6PTSXOBp7GeGqlFLlyu2/tcF8J6LAY+iiqs6kBb1874whG1UdaQjTE\niGfL7b5z7Y9rfqXG8tMz55K8FYXKyn2PZiPqztWKMzaLV1zEqCRdaM7zyfAK4DlV/TyAiLwX+Bbg\n04f2+wHg3wNfdbbDM1xG1LaozKYp7DT7OlZEllC5xHqjewsZQseKRQRCpZ102F3KTE3n1k/FJTez\n6/VuRmpkW6zfHF8qr5VNsDefobTV6J4jcC02buQnHk92yJosgKDH7ppyUpHztQc+zUbUV6FT3g1J\nJISZuel2cTFMl/M0lNeB+z2/LwOv7N1BRK4Dfx14NQ8xlCLyJuBNAMnCwlQHarhclOfTBAmbwnYT\nK4w7VpQXMqfTseI4qJKueeT32qBKvZCkXkyezAsSoTqbpjr7kMmAKpmqR648+bXrpRSNQpJkMyCy\nBC9lTzzm6lyaWilJshUS2oKfnPwcwLAYcJfRHVVGc9Kmy1Gk1KrhQDBDFXZ3QmMoLzgXfQX6J4G/\no6rRw0ITqvpu4N0A+atPX3IBT8OJEKFe7BiAC8jhUo5kMyBbabNxBs2GZ9fqZCuHr+2xMaZnqJb0\n1aoeB7UtWtmT5RnWSimSzdpg1xQRvHPoFhMdsfwdXna94UvAeRrKFeBmz+83Oq/18pXAeztGch54\nnYgEqvq+sxmi4ZEnUvK7TXJlD4BaMRk3Bb6ga0JOOxwIG1oaG6xU3aeVOz3JPbcd9BnJg2v7p37t\nadPIJ0jXEnFPzP0sIyEO407w2U+rTtK2wXaEwB80itnsBYlkGEZynobyWeBpEXmC2EC+Hvi23h1U\n9Yn9n0XkZ4FfNUbyjFDFDhQVzkXfU8IIK9KTqeZ0+lAmWkH34V/aapCue2finR2HUaUUlsYF/Kdp\nrEZdW5RHzlD2dk1JNXwi26KRS6CHs2dHMGo90veVyl5AFCrZvE06Y42ViCMiXLnmsnLP6wu/WhbM\nL130wJ7h3D4hVQ1E5C3AB4lT635GVT8lIm/ubH/XeY3tcSfRDJhfrWL7EQK0kw5b13NnsoYnYcT8\nao103e8m2exczdE8xkM61fD7jCQceGfHTeiAuBbTDiL8hDP2g3dc4jIHBso5IhgskZgyoWUNvbbu\nj+ssUMVtxyUix16f7GHSrilHUauGPLgfqznRWVvM5Cyu30yMZSyzOZvbTybZ2QrwvIh0xmJ2zsVx\nL96EzdDPuU5lVPUDwAcOvTbUQKrqd57FmB53rCBi6X4Zq2dNJdkKuHK3wspTpVP3whaXqySawX6k\nDCtU5leqrN0uTvzASzaDoVJn0jGWkxpKCZWFB1WSDR8VQVSpzKUpz6Wndl/iCcFwIdPTXlNt5hOw\nfj7XBkg0fRZWqt3+oZEtbF7P46XPNtHlwJt8W1dIIIqUB8v93qAqNGoR1UpIoTjedzOZsrh64xHy\nzA3AxU/mMZwx2XJrqNi0FUak6/6xPLtxcbww9gAPvS4KhZ0m29cmKxMIHQsVBoylCoTHKPSeW42N\npKV08/sL2038hE1jSjqxagnrNwssLldi2baOAd66dvoefXztPIvL1b5rb57BtSWMWLpf6ZugWUEc\nOl95amZs0YKTcFQfyWYjGjZ9QRUqe+MbSsOjifl0DX04fjRcRgywT1m5xvGjkV0hHG/ya9fzCWY2\nGn0CA0qc+djIT2bYJIzI1P0Bo2t1pO+mZSgBvLTD8otmSLRij7idds5sPdVLu6d2bduPyO82STZ8\ngoRDZS7VbbSc3U+6OYxCpuL1iaKfB0fdggu41G2YMsZQGvrw0i7RiGJt75SVa7zkcKm1iPHVXXpR\n22L9VoH5lWosXUfsZW5ez08sEWeFOkKiDezwFCYQIkeHHFVJ13zSNY/QFuqlVEdJ5wyufQwcL+TK\nC2WsSOO5UCskU213JeWsUEeGyU/l/k5IOmMN/fBFoFgyj9HLjvmEDX3U8wmK2xb0eJaxDJl76vVn\nkWNRLaXI77X6VHPUlocXyo/ASzk8eLIUe6vESi/HcQFC14qN66GaNyW+N2fKfjZvM+i2oyrstti+\nmpuqZztNSpuNrpGEg0bLs2t1Hjzp0k47I8PkrTNeoxyGiHD9ZoLle/2eb6Fkk80fHRZutyK2NwNa\nzQg3IcwtOGRMScgjhTGUhn4sYfV2keJ2k2zFQwVqpSSVYxqqSdlbzOAnbQo7Lawo6siapU9WoiJy\ncm9LhJ2lLHOrNUQPIsSRJewdoZd6GmTL7a6RhAOjM7dao5lLTFVQfVqk6v5Qb9zx4zKgdtqhlXH7\n9FkjgXbapX2MaMIkjNt0OZO1eerFKWrVkCiETNYimTr6e9lqRtx7vt2N/vu+0mx4XL3hki+Yx++j\ngvmkDAOobbG3mGVvMXv2F5c4jFgvne+a1DAahSSBa1HYbuL6Ea20S2UudZDookpur0Vht4VESjOb\niKXxplyHelgUoIvE2bwnVcY5DSJbsKNhsdV4zRgRNm/kye21OuIQSq2YpFY6PXGI44gJ2LZMFGrd\nXPeHytZtrPrk8rYRQ39EMIbSYOhl/6k24gHmpV22bgw3RIfl33LlNpmax4MnSyfP2tSDLNSRHqMe\n0jFVpbTZiLt6REo747KzlD2Wd20FETMb9VjpRqCeT7K7mEHHfF+VmRQzm40+Ax9JrKDTfT8i1GbS\n1GYefXH6Rj2kvBfSqA9fXw2CWNbONhHYRwJjKA0G4mST2bUaqUbcILiZddm5kiN0xzMEth8OeHoC\nSKTkdltUjhGelUgpbdS77ava6bhDR62UIlUfbD6tlsRZqh3mV6qke/ZL1X2uvFCODfckXm6kXLlb\nxukIUKBx+DfZDFh9ojiWx1ebSZHwQnLldmzMNQ6r7lzJjT+OKXJSkfOj2Fzz2N0ZFEDvRSRW5TE8\nGhhDaXjskY4hsMKDZJN03WfpXmxUxjEEiVbYNQC9WBorBFWOMa6F5SrJpt8nUH7lXpkHd0rdpKf4\nDYAifbJ8jhf2GcnObogq+d0W5YXxDXem5mEHUd8aowU4fji+tJ3EjZb35jO47ZDQtaaXpTsB09Ju\nHYXnRWMZyeKMCbs+ShhDaXjsyVTi0GTvY0uIyxLSNT9WrHkIgWsNLW9QOs2iJ8Rph31Gcn9MGkF+\nr8XeUpbaTIpkwyeyhWY2AT0hWbc92nAnm8M1XUdxWAawOx6FRDuk1esUqpJoh9h+iJdyBoQKIsei\nfQ7awWdFvXZ0KYsI5Is2i0sXbx3ZMBpjKA2PPa4XDjcEUbytOcY5/JSDn7RJtMI+g6vCsUpbXG+E\noYOuFmqQsEd6ZX7CHmm4Jy3z8RM2kTAk1Ns/CYjlDys4XthNC64XkuwtpEnXA1ClmUuci8g+nG64\ndZ+jwqnFGZuFJRf7rHRzDVPDGErDI4HbCkjXvDgrtpCYqqSal3KGGwIhbj48Jhs3C8w/qJFqdATd\nbYvtq7ljhRj95HBDF3W2PYwgadNOOySb/d6gClQnVLlpFJLMbDbQntC0AqFt0cwdeEbzD6q47bC7\njglxhm623D4o1l+vs7uYOdOEnXHLP6ZBLm+zzqDHLgKz844xko8oxlAaLjyljTr53RbSKa4vbjXY\nWcpOVEJihRGJVkDoWF3ZtH0a+QSlTQvxD9bhImKPbRIxgci22LhZmEqLsP1r99YVKoAlVMc0MpVS\nisVGrc8pbWWcictV1BJW7xSZW613W3E1cy7bV3Ld92eFEamOmH0vXSPdM4iZjQatTIJgmMFXJdmM\nE6omkc/L7+6S3yuzNz9HIz+ZJvA0sW3h+q0ED+7H/U/3O40sXXNJJC5vyPmyYwyl4UKTaPrkd1t9\nxfUozK7XxwvjqVLcalLYaXY7fvgJm42bhYNjRVi7XWRms0GmGrdRqhcS7C1kjmXo1LYIp+Dwbl7P\nU9pskC+3kCg2crtL2fEycSNlYa02YLhSjWDsdddeQtdm41ZhZPmMRKMl/g4jGnuahxOKko24e4jo\nwZk2r+WOTBZyPI9Xve/9LC2vENoWdhDy/Be+hGde+4287K9VHpq4o6rUqhHVcthNsjmpak42Z/PU\nF6Ro1CNUY2EC40k+2hhDabjQZCve0BAkQLrmPdSrzFQ9CjvNvo4fiXbIwkqV9dvF7n6RE4dJt69O\na+RTwBL2lrLsLU0u/JAakbBjadwhZlJD2WXExCF0LCLbwgr6k1lGGU85lBYqobK43Ns9JN6+sFLl\nwZOlkaH2V/zG/8vS/WWcMMSJHVGe+rP/zOvfsMSL3veRvqbLh1FVHtz3qNeirv2vVkJm5hwWTphs\nY1lCLm+KJC8LJhZguNAckWU/Fvmd1sDaoxBnctp+eMKzG7qIsH01RyQHn1k0ShehIzTQS6Y2onsI\nsfc59JJhyJOf+VOcsP9ztNohn/nnzz50yI161GckIZ5L7W4H+MfoVmO4vBhDabjQNIrJfrWZHsbp\njXlU5wlrmKTaJSEWEh+8cZFAvXg68oCtrMvqEyWqMykaWZe9+TR7s6mu8dTO9WvF5EB3EmvE5yRK\nt5HzYewwRKLhx3mb1W7T5VHUqqPrHR9W5mF4vDChV8OFxks5VGbTFHaacTJP59m/fSU7VplBI5+I\nvcpDr6vIseobT4Qq2YpHfqeJFSnNrEt5PnM65RKWsHk9x8JyFaB77+qFZF+m6rQJEja7h0LFzUKS\nbCVWF2rn729YAAAgAElEQVTkE7SHJEi1si5sDp5PhZHatUEiQWV2htL2zsC2ZPLh99QeJQVoVHMM\nhzCG0jCA7YU4QYSXtMfW8jxNygsZ6oUkmZrXCdslx5aWq8ym49BdqN2WVCqwcyV75h13SxuNvhZi\nzl6bTNVjdRpasENoZROsvGiGTMXrGmb/lFulDcNPOew95Lp+0qHeMaiH27sdlXn8zF96DX/xF34J\nVwMI4gMti7EK+gslm53tYKhXadYXDb0YQ2noImHEwkotVm4RAVUqs2nK8+lzb+MeJG0qyclr7yLH\nYvWJErndFum6T+BaVGfTp95b8zBWEFHYa/UlJglx+Pe4WrDjENkWtQnqJiVSipsNcpU2dDzAvYWj\nvV63HWD7UVyPegLveOdKlmbOJbfXRlSpF1PUC4kjv3sbN27wq2/8m3yv/1GcT6zh3W8wO+fiuGPI\nDiYtlq66rK/63Si1ANdvJbBMlqqhB2MoDV3mV2skG34cpuxMsws7TYKETb14MRsCj0NkW1TmM1Tm\nz28MiVZAJIJ9yH2xNBYrP8+xdVFl6V4Ztx32dUBJNXwePFHqk8iD2Pgv3q90VITi0pvqTOrYZTWI\n0MwnaeYn+65VZme58dZXxKIC3/3JiY4tzjhk8xbNhiISl3JYF7Cfp+F8MYbSAMTeZHpIc11LY2N5\nJoZSlVTdJ9n0CV2bej5xIUK/0yB0rIGSCIhDwaOUe9x2QLoaqxE18olTFxFPNoM+IwkdzdsgIlv1\nBr4D8w+qJLpKPPFB+d0WXtKhcUYTq5OInJd3A7Y2fIIAbAfmFxwsy4RcDYOcq6EUkdcC7wBs4KdV\n9ccObX8D8HeI/16rwN9S1U+c+UAfA6xwdMH4qIzEaSLRgTezn3gys9Fg7VbhXNbVRmH7casoxwtp\nZ1zqheTo/pA9+CkHP2EfGJYOoyTlipuNbgITxGpEuwsZaod0Y487nmEkWsHQ1y2Nt/UaSisYrcRT\n2G2euqE8MJA/dWSt5CjKewHrqwdNlcMANtYCECjNHL2+GYUa95J0GLsDiKoSBmDZnMhjjUIl0riP\npek+cnac2xNIRGzgncBrgGXgWRF5v6p+ume354FvUNVdEfkm4N3AK89+tJef0LXiB+yhVHxldNbh\nNMnvNPu8GdH44bLwoBqH/S7AQyHZ8Fm8XwGN66oyVY/CdpO1O8WxknFiLdgqqWYQJxVZwvaV3MBE\nwG0HByIJHURhZrNBM3+gc3vS8RxmlMcaCfiH5NeOnlhd/LKb7Y3BJB5V2NoIRhrKMFTWVrxu6Yjj\nCEvXXLK5o73Q3W2frZ7rlWZjcfRJDF0YKqvLXrcRtOMIV667J1YRMozHeU7VXwE8p6qfBxCR9wLf\nAnQNpap+rGf/3wVunOkIHydE2F7KMr9aQ7Tb/IHIEvZOKdGkl1y5PVQYwPYj7CCaqgj6sVBlbrXW\nN0ZLAT+isNUcSz0nciw2bhWxglgLNnCHa8FmjlAjylS9uBvJCcZz88+e46W/+/uk6zXWbt7kE1/7\n1dRKJZpZNw4R92jexlnCQr3Q7yEGidETq3HqWychU62SbDQpz80SOc5UuoD4/vAbHAbxBG2YEVu+\n26bVPDjO95WVex63n0qOLEeplAM21/uN8t5OHFVYuDL+fRp27eW7HneeSpIYoxTGcDLO01BeB+73\n/L7M0d7i9wC/NmqjiLwJeBNAsrAwjfE9djQLSdZdi8JOE8eLaGVcqrPpsUsxTsT5O4xHkmgFOP5g\nCNoCslVvIpm5yLE4Mph9xL3QzgPcDuIJxKTj+cI/+E982Uc+iuvHYdYnP/0Zbj33HO//zu+gXiyy\nfrvI3GqNVD2WwGunHbav5AbXiiX2hucfVLsTq0jiiVV5bjqdQRLNJq/65V9hYeUBkW1j28rX/+Rr\nuPnjHzpx02U3IfjeoLF0RoRT262IdmvIGnNHyefKteFGb5TnursbMr803CBPeu2lEdc2TI+Ls/hz\nBCLyamJD+XWj9lHVdxOHZslfffrix34uKF7aZev62TeVrRWTFLf6w40KBK597t7kfnbnKHTK84h6\nPklhuznUq9z31lRkpD0dNR7b9/myj/xO10gCWKo4ns/Lnvk9nnntNxI6cQcUOo2sj1rvbOYTrN0u\nUthpYfshraxLbSY1tZrQV7/v/SysPMCOIujI1P3ef/chEt988jXzhSWX1WWvz4iJwPyI+kvf1/2K\nqcFtQwzuPkEwfJtGxOucna+2qtJsxHJ66Ux/5u1R1/aOuLZhepynoVwBbvb8fqPzWh8i8jLgp4Fv\nUtXtMxqb4ZSRMMIOlcCxwBIqM2nSNZ9EK4jXJy1QhK3ruelfXBXHj4hsGeuhvt/ia5jJiASqE7T7\nGocgabM3n6G01eh7faenc0jkWLRTcb/J3nEdNZ78XrnrkfZiqbJ0//6hF2UsnV0/5bB9bfqfUbZc\nYX51LTaSPYQNn2c/YHHj9snOny/YcCPB5rqP7ymuK8wvOhRKwx+JyZQ11FCJxIZtFMmURbMxaNht\n50D9p1EPWbnn9W2/eiPRFT1IpmTktTNZE3Y9C87TUD4LPC0iTxAbyNcD39a7g4jcAn4J+HZV/ezZ\nD9EwdVSZXauTq7S7D+K9+QzVuTTrtwokmwHJZtw3spFPHDuDcxTZvRYzGw1EY4+pkXXZvppHjygw\n7+0J2fdWiCX2Jm2EPA7VuTTNfCJuVk1c+H/Ys966lmPpXiXWs+2Mr5lNjBxPM5vBDocLwdcLhekN\nfgqkGg2iETpywYj1xV7a7YgwUFLp0XWR+YIdG8wxcF2hULSplPv1YS0LSrOjH6MLSy73X2gPeK77\nyTxhqCzf89BDtvTBfY8nn07huILrWuSLNtUh1y7OPBJBwUeec7vLqhqIyFuADxKXh/yMqn5KRN7c\n2f4u4IeBOeBfdGL5gap+5XmN2XByZtfrXd3P/cdXaasRG8ZiknbGHaoFOg2SdZ/Z9Xqf0UvXfeZX\nq2zeGG0o/IRNohkM6sVCX/PiaRMk7DhxZwSha/PgyRKpRoAdhHgpZ6ApdS/tTIblJ5/g+uef7+u4\n4TsOf/znXjHVsZ+Uvfm5kYLnmdxoL8r3lZW7bTzvIFy5cMVhZvbk36mlay7JlLC7ExKFSjZnM7/k\n4DijP/90xuLmnSRbGz7tVoTrCnOLbtdbrFXCkV1TKuWA2fl43Fc6197ru7Z75LUN0+NcpyOq+gHg\nA4dee1fPz98LfO9Zj8twSkRKdkh2q6VQ3D792rvioZKL/Wun6z5WEI2UX6vMpmK92J5jI8BLOwTJ\nY6yfqpJq+CRaIYFr0cglBlRvxkakU74zniH46F9+HV/7a7/Ozec+R2RZRJbFs6/+BtZunzCWOSFu\nOyDV8Alti2ZuMHIQui63f+TlbPzoHxG0DgymbdM1HodRVZbvtvHa2vk9fn1zLSCZtE5cSiEizMy5\nzMxNZnT3jeUwwlCHhlVV4229156dc5md8NqG6WD8dsOZYXUSRIYxLINz2ozqP6kSX3+UoQySDps3\nCsyu1nA64gvNrMv21cnX5oYJK8xawtrt4qkr7wAECZcPf8tfIdFqkWw2qRUKqD2960oYka14OH5I\nO+3GnUp6Pe5OWUumerAmpyKsd4QlDoQE3sbH/62DLDrsbAeEvpLNW7GO6wgvymvr0MQaVdjdCS5k\nzWEmZyNDMmNFeGh9puHsMIbScGZEthBZgj2k9s5LH+Or2JG8S9d9Iivus3iUsWllXFyvPWisdXSx\nfffYrMuDp0pxob0lx147LW41BoUVQmX+QY21O8VjnfM4eKkUXmq6a6tuK2DpXgXRuFNLJC38hM36\n7WL3fmUqHpmq1+/Zq7K4XGXlqdLAOXN5e+xOHmE4Ojs09I/zjk6fVGpw/TE2ktaRSUKGs8UYSsPZ\nIcLOYoa5tYN1wv22V7sLE4oaqLKwUiVV97tlFIWdFttXsjRGNCauzKXJdlpO7Zu5SOJkorEMnwjR\nCdeEettIdU9LXKdphdGptNsahuOF5HeaJNoh7XSckHTSMpz5B9W+e2spuF5IYbtJufP55sutoYlR\nVhjxxX9uj3d8zbXYmzxGneRRmanZ/MU1OleuxWuW5d24bKdQipOMjETdxcEYSsOZ0iimiByb4nYD\nx4topx3K8+kjk1CGkal6pOr+gMzb3FqdZn643mno2qzeKVLabpKq+4SORbmTXfo4sS99t59QlWwG\n5PfarN4uHm/NlVhByelR9NnH0nhysG8oRyWuZFLC3/7ND/CxHy5z3MeSbcclHr1ycSKx3NtRmamT\n4PvK9qZPox7hOMLsvHPi3pUiMlEGruHsMYbygpJoBZQ2GiRaAaFrsTefnrj90EWllXVpZU8WZswM\n8cwAECHV8EfKqIUJ+1hri9OiXkiS320NCCt4KfvMvMnDmb8CECkzG3U2bx6vTERlPHGleiERe8+H\nPjsbn53fqgxkFk/K7LxLMmWxux0Qhkoub1OadbCn0F/S95UXPtci6ix1+57y4L7HwpIzcYKP4dHi\n4sYjHmMSrYClu2VSDR87UhLtkPkHNXK7zfMe2oVBRxbEK3pRI1adfo1BwiaSjpZuR/Zt62r+TIYg\nkeK2B5OahLhe9LhEjoWXsAc+k0hi1aV9aqVU3OBZDrY7CeVv/bUHWGNJHDycbM7mxu0kt59MMbfg\nTsVIAuxs+l0juY8qbG4ERJFRyLnMGI/yAlLabAwowVgKpc0mtVLqQnTSOG/qxRSZ6qB4uCK0TqkO\n89ioUthuUtxpIhFEFtSKCSLbjstDTtAaa+KhCAeK94eITjiGret5rtwtI5F2M3q9lEOltxa0k+Ga\nrvtx+NsW3vpDFb5kt84zJ7r66bPfueMwQpxxm0qbv8vLijGUF5BEa7DPH4CoYgdK6Jo/yFbWpTqT\nIr/bil/o3JLNG/kLN5EobDcpbh/UcNoR5MrekYlHp4YItUJyIKko6umLKWFEoh0S2tZEa5ZBwmb5\nqRkyNQ/Hj9ef22ln8PMQoZlL8OJva3RKQX76xCLnZ4HjylBtVVVM4f8l5+J/Ox9DAscaKTUWTimM\ndBnYW8xSK6VINXwiS4YWrp87qhR3BjM9LYXSVnP6hrIjZpCuekSWxCUzh4zd7lIWJ4hINnxUBEuV\nRj5BZS5NYatBcbvZ9Tr9pM3GjcLIGtMBLKFROHotfb9WUp/96IlaZZ01s/MOzUa/kDodrVfn0ORV\nValVI+q1EMcRiiUbN2FWuh5VHo1v6GNGeT4Tp9ofnvGXksdXcBkXVdI9HoGXGuIRHMLxQlJ1H5W4\no8RZJaVA7MXUzqBQ/7iIxuuCw5i6yIIq8ys10vWDkHRht8XOUpZ6j1C6WsLGzQKOF+L4IX4i7tCS\nrnoHnm/n+EQrZGGlyvrt6dd4RqHSqIdo1OmYccEngdmczeIVJ+4vCaCQzlpcu9GfOKaRcv9um1ZL\nuxquO1sB124mTpwhazgfjKG8gDTzCXaWssxsNroP2Wopxd7i6TZQdryQpbvl+EEZxYuk7bQTt10a\nYSyLmw0KOz1JRut1Nq/naU25ee+jikocBXDCQWPpH7MUYxTpmk+67g2UzMyu12OB+Z4JjERKsuHj\neiFWqDTsuA/pqBpP2w+n0u5s35tcfuOP8Zs/H+x/zVCFpavuhRf5Ls26FEoOnqc4tgx4kgB7ewGt\nZr80nSqsLnu86CUpUx/5CHKxv5WPMfVSinoxiRVqnGRxBiHF+QdV7LBHZk7jGrvCdpPK/KCRTjT9\noQ/XhZUqy0/PXrww6Hkgwu4hkQWIIwS7C+M3ex6HTHVUyUysZ7sfEnW8sJt0EyvoQMmx0COyTq1Q\nCU+QI3UgTfdT/M732Tz32aCbQbp/1fVVn1TaIpmKDfpmYob/XHgCz3J5or7Mnfp0MmMb9ZDKXqyE\nUyjaZHLWRMbLsoRUavT+1b1oqPABQKsZkc70TzhUlXotIgiUdM/7N1wcjKG8yExBCWZcrCBO4BhW\nMJ4rt4cayly5PbS5MEC65j10repxoVFMoZZFaauB40d4CZu9xQwSKQv3K1iRUs8n4ozmE0wuVOKS\nmWFn6J20zK7WsMJ+BR3xI/yERYQO1oyJTNX7rdeHGxJVKO8FLF5J8MeFp/n9uZcRioWKxQvZ61xt\nbvHatY+cyFhurvvsbh8IElQrIbmCzdXr7tQ8PRlh5xQGruF5EfefbxNGdGcMubzF1RsJ43leIIyh\nNABxRu2oh+woYzjyeWX+vgdo5hNdBSCnHTC/UiXhHSjZJFoBuUqbtdvFY2ft1ovJbguzfoTmfslM\npKSag1nVAjhBFE/MwtjT3JcX3FnMIAr5nQbZsged2sjqzPFKlcIhYejutgBaVoLfm3s5oXVgnAPL\nZTU9zwvZazxZH+jvPhaeF/UZSYiNc60S0pyxpyaaXpodkvQD2FbchLmXB/c9gqB/v1o1Ym8nMCIG\nFwjj4xuAWN4tdAe/DpFArTB8vbFRSAwv7lc6rZ8Mh3FbAVefL/cZSejoorZDshVv5LEPo51xqcym\nYxEDies1Iws2buQPPNUj7JoirD5RojKXppWyaeRd1m8VqBeTLN4rU9xqkvBCEu2Q0maDheXqcAXy\nh5DJ2kMnWSKQK9ispBexDncyJjaWn8/enPh6+9Srw5OnVKFWHZ5lfhxyeYtCyUYkfk+WBZYN128l\n+7xE39duS7DD49nbnd54DCfHeJSGLpvX8ly5VwE9WLsKEjaVueFJRK2MSyOf6Cv8V4GdpeyZZr5O\njCrFrWYsJRcpXspmZymLl56OcU80A2bX6yRaAZEl1EpJ9hYyIMLMRoP9mv/DWBqHrOsn6MtZXshQ\nKyU7HVWGlMx0+lem6n7fGCKJ5eUi26I8n6HcE2pP1zwSPR1P9sca99QMjrxvvWuTH/t+B3Bw3bjU\nYmerX5M1lbbI5S12NWSYJRWNSETHVw+yjvhKWlNcTxcRrlxLMDsX0ahH2I6QzVkD19Aj1HyOMf8w\nnCLGUBq6+CmHladKZMttbD/CSzs08onR4TURtq/mqJUC0jUPtYR6IXkmfRUhbv7reBFe0iac4Jqz\na/W+gvtkK2TpXoXVO0WCCcXZD+N4IUv3yj3iAkp+t4UdRGxfy5Ns+SOdOgXCKUwwQtemVhp9P7av\n5Fi6V8YOIySKJzd+wo6N+RCSDX9okpAoJBujDeVPvHWNL3v+uaG1kvOLLumMRXk3JIqUfNGmUIw7\nZlxvrA+9R7ZGvKT6/Mj39TByBZv11UFDKxJ37Jg2iaRFIjn683QTgm0zEHoVwQikXzCMoTT0EdkW\n1V7JsYchQjvj0j5D2TgJIxaXqyRaQSzGrdDIJdi+lnvompkVROSGrOOJQnG7yfa1k2muFrabA+e2\nFLJVj90gIrQtrGhECFCgNjPCm1QlXfPJlmMlonoxNdgUeUxC1+LBkyXSNR/HC/FTdiz7N+JcgRtr\n0x42lioQjitEMIRszh7anNgm4nWrv80Hrv55lFhtPcLiK3f+mMX2zrGvZ9vC9VsJVu553be6X5aS\nOAcxABHh6o0Ey3e9bl2mWOC6cVcSw8XBfBqGR465tTqJZhAvsHce3pmahz+ijKUXxw9REeRQbEuA\nxBCx8EkZJT8YieB6IZXZFDMbjYHuIQDbV7Ij243Nrdb6Gh6n6z6NfOL4hl1k7PZijUKCmc16XzQ0\nTvQZ/xyTstTe5jte+GWWM0v44nC9tUE6bJ/4vNmczYtekqJeizqCAUK7qVTKAZmMPbQu8jTJZG2e\neDpFeTcg8JV01iJfsKcaCjacHGMoHwd61Ha81Aj9zUeFSMnUvKFlLPm94WUsvQSuPWAkodPqagol\nEF7KGVFmo/gJm3bawQ60K9IgCs2sy9a1XJ8gQC+JZtBnJOPzxT05q60gVk86RSLbYv1mgfkHta6a\nUOhabF7Pj6yVfflf3eNLZ27zuTe/l50tIZmyyGQnq1e0ibjdWJ3Ke+jFsuL+j61mxAvPtdFOhi/q\nM7vgML9wtolorivML5rkt4uMMZSXHNuPi8utsKejQ9Jh41bh7AUBVEk24/XMWIc0ObHai3SfaoNY\nY7Q6ihxrqCi4CpTnJgg5j6Aylx4o0YgEGvlEVy+1vJChMpfG8UNCx3po4lOqPtglBWIjm6r7p24o\nAby0y4MnSzh+bCgD1xo62dpfl/zId3yCn3++TRDEMm77IcVbTySn1vbqJKgqy3fbHJZU3tkMyGSs\nqZWKGC4HFzg10TANYi8gzmIVYk8k0Q4objXOdiCqzD+osXi/QmGnRXGrybXP75GpTBZOU9vCH5K4\no8Se2TjsXMlSmU0TdnpatlM267cKJ07kgdiAVEupbr9JJa45PNwsWi3BTzpjZQerLUPLcFRO3hpr\nIkQIEnacrDXESL78r+7x5fNP0PyFP2Rj1cf3DrRONYpbUW0MSaY5LlGkbG34fO6zLT732Rab6x7R\nETWavTQbEcPmVaqwt2NKMwz9nKuhFJHXisifishzIvJDQ7aLiPxUZ/snReTLz2OcjyoSRiSHFJdb\nCtkJDdRJSdd80jXvwGB3xjG3WhspGj6K7avZriGCg+bHuyOyNgcQobyQYfnFs9x7yRxrd0pTKw2Z\nW62R32t13yfE66eTvsde6vnR5SKNU1ojPA5vfHELffZD/NEHbKqV4cZm1OuToqrcf6HNzla8thf4\nyu52yL0X2ugYtRVRNLqk9DSaMHvi8PHiF/C+a3+BX7/ytaykF6d+DcPpcW6hVxGxgXcCrwGWgWdF\n5P2q+ume3b4JeLrz75XA/97533BCRqrtnBLZymCrqXggQqrh05xARN1Lu6w+USK32yLhhbRSDrWZ\n1PitoE4JxwsH1hKFWCc1t9emeszQbuTE64ELD6p9r29ey0/8niWMKGw3yVbjcp5qKXniZuD74dZn\nXv3JM2u+3KhHtNuDwuOeF+umPqxLRzpjDa1VFIF8cbphV18cfunGa6g5GULLAVVW0lf4yp0/5uXl\nz071WobT4TzXKF8BPKeqnwcQkfcC3wL0GspvAf6NxlPE3xWRkohcVdXpr/BfQtS28FI2iVZ/cknE\n0V7KqYxlpA7pUVLcowkSNntL0xUVPymJVtDt49iLpZBq+lQ5/hpoK5fg/otmSTXj0GUr7U6sCyuR\ncvVuGduPusZ8ZqNBshkcO3u2ayS/+5MH15G4wL5eGyyDSaWFtRUP31eyOYvijHOsNctWM2KIeA8a\nQbMRPtRQ2raweNVhY7VH9MCCVEooTNlQfqbwxIGRhDiELQ7Pzr6Ul1SfJ3kCEQXD2XCeU/DrwP2e\n35c7r026DwAi8iYR+QMR+QO/UZ7qQB9ltq7miCwh6jyLIoEwYbG3cPLElUmoF5PD5e6QuIbvEhC4\nw6XZFPCn0KIKS2hlE7SyiWOJp2cq7T4jCQfZs4433XW5pWsutnMgEL4v5dZqKuW9kEY9Ymsj4IXP\ntQmDyadKbkKGio+LMHaD5NKMy60nk5RmbPIFmyvXXG7eSU6UmTsOdzPXD4xkD7ZGbCRnxzqH1471\nX6uV8FRCw4ajuTRZr6r6buDdAPmrT5tvUocg2VHbqXg4foiXeojazmFUcfyI0JaR5Qvj0Mq4VEtJ\n8nv9a6Ob1/PHeuifCp33CqOzOo/CS8WJLu6h8pBYSCA18rizIjVCYQfidmqTKCo9LNzquhZPPp2i\nWglptyISSWFzbVCQPAyUnW2fhaXJ1lpzeRtLfA6bdxEoTKBqk0pZpK6d7jpvOmzRTf3tIRIhFR6t\n7auqbKz5lPe1X2P9BW7eSZJKm1zMs+I8DeUK0KtwfKPz2qT7GB6C2taxHtTZvVasTapxS6Z6PsHO\nldzxykpE2FvKUSulSdc9Ilto5BInMr7TJNH0WVipYYWdOkHHYvNGfqQAwFBEuvWGqaYfS9I5FttX\ncv1GSJV0PdZJDVyLRj558lKdSEl2lIq81PA62cCxRnaIGUdh50C39W18/NXOQ9cjLUsoluL7125F\nKMHAPnH3joiFpYdefuDct55I8mDZ6wqLuwnh2o0E1gUoP+nlS8p/xt3sdYIeQykakQ2azHu7Rx5b\nq0aUd8ODCUanOmr5XpunXmyaQJ8V52konwWeFpEniI3f64FvO7TP+4G3dNYvXwmUzfrk2ZCq+8yu\n9zcbjsXPa2xdP77MW5C0qSbPNuz7MKwwYul+BatnzUv8iKW7FVZeNDOREYsci41bBawwQiKNDVDP\nw0wiZeluGdcLu3WtMxsN1m4VCY4peJCuesyvVgEBVdQSNm4U8NL9f961UpLCbqsvkWvfmLcyox8F\nw4TNJ8WyGF3/esyodCJpceepFEEQW4+zVtUZlyvtbb566494Zv7LEI1QscgFdV63+tsP7UhX3g2G\nJh1FURzGTmcu5nu+bJyboVTVQETeAnwQsIGfUdVPicibO9vfBXwAeB3wHNAAvuu8xvu4UdhuDITp\nLI1LHawgOvcM02mSqXgDD/G4w4ceuwF1ZFvxt/oQxa0GrnfQiUMUNFTmV6us3SlNfB3bC5l/UO2c\nr3PSUFm832/kbS9k6V6165Hs4yVtNq/nOp1AQvyEFWcgT9lTcRMWyZTQah6SDhSYmTuhEP0ZNTc/\nCV9U/TxP1+6ymZwlGXnMeuWx2raOkAWOc8aO2WIkDJVaJSQMlUzWPjKEe7AvZHMWydTl+bufhCO/\noSJSABZU9XOHXn+Zqn5yxGFjo6ofIDaGva+9q+dnBf72Sa9jmJz9tbrDqIAdXi5D6fjh8O4YEdgj\n7sNxOawIBB2d2VaIFUYTtycbJvAOsYJRr5FfWKniBNFA9nO1mGRhpdbn4Ua2xdrtAqFr94dbf+1k\nBu36zST377bxPUVi55eZWXuiThnVSsjmuo/vK64rLCy5j0ynDVdDrrU2JzqmWIql9obZxOOsUTYb\nYSzCrvH9FwnIFWyuXncHwriNerwvxJOrrY24y8rS1cF9Lzsjv/ki8q3ATwIbIuIC36mqz3Y2/yxg\niv8vMe20g+MPaqqiU8rgvEC0Mm7cm3JId4z2ESHJi4B1yPj1beuo1Nh+GBvCw9uB0lYcOej1cCWI\nuF9B8FsAACAASURBVBPs8a/efuNE4dbDOK5w56kk7ZYSBEoqbU3kDVbKAWsrftdo+J6yuuyh110K\nxYv9OR2XQsmmvBf2GUsRuHI9MbFwuqqycs/r81LjNeKQat7qu4caxfv2JV8Blb249OZh5TeXjaOm\nJH8P+ApV/VLikOd7ROSvd7Y9XtOJx5DyfAbtSLztEwnszWdON0tVlWTDJ7fbIlX3zqSDbSvr4iWd\nbgkNxO+1lXGnrqNaLyT7rgMdQfaUfaxm161cYuB83W0dST85wim2o8H2WQJE95X2x37jxF7kYUSk\n06DZnjhkurU+uF6nGr9+0QhDpbwXsNfpCnJcRISbdxJcu5GgOGMzt+Bw50XJY3nRreZo2b5uVm2H\nRmNEREnjddPHjaP+Cuz9xBlV/X0ReTXwqyJyk5HL8obLQpCwWb1TpLjZINX0CR2L8lya5ikKFUik\nLN6rkGgf/CGGrsXareLphnpFWL9VIL/bJFf2QOKQZG3mZIo1wyjPZ0g1/LiEpBPqVEvYOmbBfzPr\n0k47JJtB1+BFEuvL7mfaBgmLyJKuh7nPvoEdqtIkQuOXPs5FmhP7IwzOqNdPQqMesr0Z4HlKKiXM\nLbqkxlyf2/d899nAZ2HJYWbuePXCIkKuYJM7YYj5qLt0BvPRR5qjDGVVRJ7aX59U1VUReRXwPuCL\nz2JwhvMlSNhsnyDDdVKKmw0S7aBfAs6LmFursXmjcLoXt4TqXIbq3Jh6sePQGyvbf8kS1m4X4+SZ\nZkDg2jTzib7M2kylTXGrgRNEeEmHvYXM6MbYImzcLJAtt8lW2qgItVKnqXPPPtvXciwsV+PQKh3h\nCdeilXLIVfpD7KIRi7VtPvPB0UZSVc98ncpxIBjizDhTjrrWqiEP7h+EHWu+Uq+1uflEkvShdcHD\n9yEMtC88vM/mekAmZ5NMTnfCt5/QM85nkU5bw4SjEIHiTL8RTmesoYZVBAqlyxnmPoqj3vHfAiwR\n+aJ9/VVVrYrIa4lLOQyGqZIbkeiSrvn7mQf9G1WxQo07aFwU0QLimszZtTqJdogKVGdS7C1kDsYv\nPQo7h8jtNvsaO6eaAYv3K6zfKowWbhehXkpRL42ulW1lE6w+USK718L1I5pZl0YhiahyM92mtRvR\n8mycyMfRkFdt/v7Q85T3ArY24nCi7cD8gkNpdjxPqdWM2NzwaTcjXDf20iZZ65pfdFlf7TdCIjA3\nxV6OqnGHk2Eh3s01n1tPJFGNu5bs7YREESRTwtJVl3TGplYNh8oYqkK1HJJcnI6hjMJYiKBSjmss\n0xmLpWvukYZYRLh2M8HKPa87JhHIZK0B2T7LimtSH9zv3zebt8jlL08i37iMNJSq+gkAEfkTEXkP\n8ONAqvP/VwLvOZMRGh4bjhJq3w9T7tMrhgBQLSXZW8yee0Nqpx2ydK/SlxyT321hB9HD9VRV+f/b\ne/MY2bK7zvPzu0vsS0buy8v38r1XizFtCmzaLDYNNqanMUwZhkUzw1JikNyIHoaeBoER6pFm0aig\nNQgjzWaMWm5h1BjjHlcPNrRtKDymwC7b2MZ22VXlqrfmyz0zMva4y5k/bkRmRsaNyMjM2DLf+UhP\nLyPyRsSJkxH3e3/n/H7f38RmJbQsJ7dRZv1a9lxjcyMm+dlDf9ymu86n/pt/4FZyia1ojqxT5Gbx\nLrZqD9328y7rq4ci4rmwsRYcd5JYVis+d16tHT7WU6zerTO3YJPN9RahZHMWCsXWhovncijUPT6+\nF5TqvJRbrQT7dmurDoX8oQlAraq4e6vOtRvR4L4On+N+Ws/dvVOjVjk0ha+Ufe68UuP6o7Gue7/J\nlMmNx2Ls73l4nk8yZRJPhDfUTqVNbjwaYz/v4nmq67GXnV4+Yd8B/BbwHJAG3g+8aZCD0jyclFM2\nyWPLgAqoxayWpcl4od5mhpDeqyHA7lxr38d+Yng+ufUSiUJwlV1OR9idTbbsn2Z2Km2C3/RT3XP9\nrg44QXPt8JOpXRtcj0QTxc3SPW6W7nU9bmujQzLNhnuiUG6ud4jS1h0yE2bPJ9+JnM1Ezh7Y0q8I\nB6UrxzEtwXVVi0g2UQq2t1xmZsNPqSKQzvRH0KsVv0Ukj44hv+OeGGFbljA53dtYLFuYnL4cXszn\noZcY2gEqQJwgonxVqTDffo3mfOzOJvEso8XA3TekrelxdivcDCG1VyM0ra8fKMX8rTzJ/fpBOUVy\nv8787XzLWTVSbe//CUH3lJOMx/0u1muu3b/lriee3Avt+nESTj18bj3v5OL3ZjR2HN8PHn9aBhXV\niAi5SbNtYUIEJqfNgxrQMOpVHztiMDVjtRwT7OsF0Vg/qNf90DEoBdWqPjUPgl4uK54HPgz8Y2Aa\n+L9E5MeUUj8x0JFpHjp8y2D1xgSJ/VrggxoxKWajbX6wltv5ZGB6Cm8A+5XxooPptdYsCmC6PvFi\n/SAbuB6ziNRCahaVwjnJdFyE/ck4mZ3W5VdfgmzZ83LUiu4LHz3Zq/U4kYhQDxFL0zpZuCxbDjxZ\n2x4/Zlte03M2vg/5vcP9xsnpYIk3uCgIf1zTtWZqxiaZNtnfc0EF/S3jif7VHUainXtpaqP0wdCL\nUP68UuqzjZ8fAO8QkZ8Z4Jg0DzHKaCSmdDmmHrOIlZw2MVIieAOyM7Nrbmg9oiiI1Dwqje3H/ak4\nyWNuOb5AOR3tqcQlPx344DaXcH1T2J1NUEmfvcNFP7xaIRCQB/dai9BFgiSbEx87Y/PgfvtjJyZN\nZIwSsSAQ/bnFCNNzgTGCbctBcb9lQSZrHiTRHD4GJmcO5zUWM4jND6YrSSxmEIsbbY49YtDzfq/m\ndJw4q0dE8uh9OpHnMtOwPzsoN8jGqCXHZ59idybBfDkP6rDKzxeCHpsDWpJzIybKaC/eV0JLpOhG\nTNavZcmtl4hWXHxDKORiBwLYDfE8Vr72ItdefJFqLMbLT3wLWwvz53pPTZEs/Kun+Zs/EWq1OtFY\nUPB/krNLyYzxjdRV6obNlfIac5ltFq5EAgu5usKyhelZ66BDSDfSWRPXs1pMA7I5k5m5/nyuVmMz\nfD19HdcwuVm8y0rpPuEFDr1jmhLaVHpu0cayhb0dF88LmlHPLUT6XvrRjSvXgr/D/l6QeZtIGczN\n2xfC9/Yioi8/NK0oxcz9ArFS0LtQESSi7E/Gyc/0scbwHDgxi/VrWSY2grpL1zLITw/WDKGcjpDb\nMBA/WH6NVkpEy0UKEznKqdbIod4Y32kQz+M/++M/YXJ9A9tx8EW4+cLX+Nz3fg9fe8P53CLLqwX+\n7L0u1XKzLaKHaTpcux7r2HHjVmKRj899FwCemHxx4jWslO7xVj59Zm/V3KTNRM7CdcE0ObUFWyee\nz30zX5p4TdDGSgzuJBZYrGzwz9Y+NRC7BBFhetbuKZIeFIYRiPPcwsiG8FChhVLTQqzsHIgkNLpo\nqGApsJiN4p2iue8gqccsNq52NiGIlp1Gpw6fesxkbzqBcx47OgmMAqbv7/GGv/44k5ur+GYgnDNr\n38Lzb33LuSK/la+9eCCSEOxpGq7LG/76k7zyza+lHjtdP9GjyTp/dqdGpXj4O+WD68PGWp3F5faL\nC0dMPjH3nXjG4Xy5YnErucTtxCIr5dWzvUkCkbH7qC9FM84XJ74J70ivLtewWY3Pcjcxz9XyWv9e\nTPPQond+NS3Ei054PaOCubv7LH99m8Vv7JLMV4c+tl6JF+rM3t0nXnaxXJ940WH+dp5IxTn5wV3w\nbIObX/0Mua1VTN/Ddhwsz+PRL/4Dr/n8F8713Ctf//qBSB7FN0zm7t491XMdFUmlFMVCePJTp/sf\nxGdCPwOuYfNieuVUYxk09xLzCO3vwzVsbiWWRjAizWVEC6WmBb/DJ0IA2/ExVPD/5FqJ1E5lqGPr\nCaXIHauxFA6L9s+D4bpcf+FrWMfqGWzX5bWf/dy5nrsWi4ac7gOcyOCWlMMIRDJ8f69TneeoiPjt\nSV0Q2PBF/PNdGI0Dvq9wHXXm3pOa/qCXXjUtlLIxMjvVri450BCerUrfjcNNxyG7s0MlmaSSOr15\ngKjO5SOR6vm6HliO01EoItXzRdgvfusTXP/aixjHzEw9y2J9+UpPz3EQSb7lSwelHyJCOmNQ2G+f\nk04m2wvVjdC/qeU7PF58taexDIvl8oNQTTeUz+OF8RrrafB9xfqDwAEIwDBgdt5+KH1WxwE965oW\n3IjJznySybXSQUqp+B16SCiF6Sq8Dgkhp+W1n3meb/vUc/iGgeF5PLh2jU/+5z+EG+09zV5J8C9M\n6Lu54vRCPRajnE6Tzudb7veBtR7FrBNbi4t8/nvezOs/+f/hm4GAeZbJx37ix1BG93GHCeRRZhci\nVKs1XFc1knkCd5bZ+fDNQkv5/MDa3/Cf5t8MKHwMBMWjhdssn2HPr1rx2d50qNUUsVhQkB/tsRPH\ncZRSOHWFYQqWJdjK4+1rn+Sj89/T0EvBF+HNW58j5xTO9BrjwNp9h2LhsATF8wLrPMsWEsnWCxzX\nVVQrPpYlRGPyUFrMDRq5jCF9euFR9Yan3j3qYVwclCJedDB8n2rcxouYiOcTK7soCZr7Rqvt9im+\nwN1HJ/tiSH71xZd48599BNs50mLLNLl34zrP/ug7TvVcExultkbMvsDubIJi7uQyjW4s3LrFWz/0\nYQzPw1AKzzDwbIs/+5mfYn9y8lzPDRCtVJi7e496NML68nJHkTysjfytnnpGNvcq6zWfaNQgmT7Z\ns7NqRHgleQXHsLlSWWOqnu96fBjlkse92+31k8sr0VM71RQLHmv3DxsPxxMGC1ciWJbgYbAan8UT\ng4XqJtELvOzquYpvvFgNNRVIJA2WV4Kl+MCc3WV32z2w3bMjwvK1aMds5n6hlKJS9nHqimijrnPc\nedOX/+xzSqlvP8tjdUT5kGNXXebu7gdLio0vZmEixt6RIvc9YOZ+oU14CrlY37p2/KNPf6ZFJAFM\nz+PKK68SqVSox3sXuL2ZBOIrUvnawX35qTjFLt01euXBygof+en/mm/+zGfIbu+ysbTIV9/47ZQy\n/WkDVovHufPYoyce99RjVdTzHztRJH1fsbPlkt/1UEqRyphM5Hozto75dV5beKXnsYdxvNsHBCf0\njbU61270/veoVv2W1lcA5ZLPvds1Vm7GMPFZrlyODFfXVaEdSKDVRrBY8NndDupSm/NSrynu362d\nam5Pi+cq7t6qtbg0xeIGV65F+lbyM25ooXyYUYrZe4XAjPvI3em9KrWEfSCU1VSE7fkkuc0ypqtQ\nQlBX2UMRfa/ES+FePL5hEK1UTyWUiLA7n2JvNonZMCJXp/gCi69I7teIlhxc26CYi+HZh8tdu7Mz\nfOqHf6j38fSZJ57c4/XT1yn/9gc46St8/06dSvnQwSW/61Eu+qw8Eh34SU0p1dG2rlo53UrW3na7\nITsEwlCr+mdeyh1H7Ih07EByNArf6TAntarCqQe+s4NgbbVO7djftVrx2dpwmB2QG9Go0UL5EBOp\nehjH/EuhaTBebbFNK2djQf9CXwWi0+d9kAfXrnLzy1/FOPbN902DYvZs0ZoyBPeUdZ/i+SzcymO6\n/oHhQma3ysaVzLndiRL5KhNbFSzHx7UN9qbjlLO9X/mf1oquUvFbRLKJ6yoK+15PjjrnQUQwDA6W\nSo9inrIcN8xjNngNcB1FdHAB1NAxDGFqxmJ7022zqJs6YpPnex3UVMDzYRB2CJ3KjZSC/T2P2fkB\nvOgYoIXyIUaa3VhDLkuNsC4cIqguHS7Owxe/+7u4+uLLWI6D6fsowLUsPvPWt6BOe1Y9B9ntyoFI\nwqHhwvSDIvdvTpz5AiGRrzK1dli2Yjs+U2tBFH2SWJ7Vq7XWoWOHUkH/wuxEz8M/MxOT1sHyYBMR\nyE2d7tSTTLV7m0LwXqJd9scqZZ+d7cByL5EwmJy2B75/1w+mZmzsiLC96eK5injCYHrOJnLEJi+V\nNtitt7f8EiAa7e09nnZ+uqW0DKpxzzgwEqEUkUngj4EV4Bbwk0qp3WPHLAP/DpgjuLB/j1JKZ+j0\nkVrMImyNxxcoZYa7hFLKZnnm536W1/3dZ5i/e5diJsOXv+ONrF9dHuo4EoV6WwsvCHpRWo5/6gi1\nycRWeEPmia1KR6E8r5m5HZHQ6yCRoBPIMJietfA8xf6edzCWbM7suR9ik4mcxe5O0LC5SdNUvZO/\n6X7eZe3+4R5preqRz3us3IgObFmyn2SyFpls53manLLZz3t47uHfWCTwou1lD/os82MYQiwuoUvn\nqdR4uHYNglFFlO8CPqGUelpE3tW4/evHjnGBX1FKfV5E0sDnRORjSqmvDnuwlxZD2JpPMf2giDTy\nB3yBetSieIolwX5RzmT49D99W3+f1Fekd6uk9oPEnmI2GiQhdTiRdNvLbP7OcH1yGyUSRQcFlLJR\n9mYSXR9rOeHRXaf7+0EiaWCagn/sUj/ojzicr76IML8YYWYuKOuwI+FG4ydhWsLKzRjbmw7Fgo9p\nBlFpJht+clZKsRGSSOR7QaPphSunvxBsVgiMS/lFc072dl3KxaA8JDdl9ZSBepr5qVV9NtYcKuVg\n3tMZk1ojC765KGWYMNOh3OgyMCqhfAfwfY2f3wc8yzGhVEo9IGjrhVKqICIvAEuAFso+UslEeRCz\nSO1VMV1FJWVTTkcG1oVjqCjF3N19IlX3IJqb2CwTL9bZWM6EvsfCRJTcRmtjaAU4URPPMhBfHexh\nNh+d2qsSqbisXwt/TghqOMOMEDrVdjZrI5973R9x1q+piLB8PcravTrlxjJsJCIsLEWG3mXCNAUz\n3ttrum4w+cfHaFm9G4G7jgrdG4WgZOU07OddNtddXEdhmDA1bZGbss4smL6v8DyFZZ2/5tE0halp\nm6np0z2u1/mp133uvFo7ONZ1YW/XI50xiUSDHqOxuJCdsDAGtC0zDoxKKOcaQgiwRrC82hERWQG+\nDfh0l2PeCbwTIJqZ6csgHxbciMnebHLUw+g7sbLTIpIQLHdGKy7Rikst0X4FXJyIEa24JAr1g/s8\ny2BzKWg4mdivtSVAGQoitc7PCUELsMm1UluJzd6xzOGTzANOi20HYul5QWaSOcZtmOo1n9V79YNM\n2UhUWLhytvZV3U7ap5mDoHbzMPJqRlxKBfuIp0E13Hb2G247YsDMnMVErv+RmOs0eml2iOB7nZ+d\nLbdNUJWCwr7HjcdiD01br4EJpYh8HAjLgfrNozeUUkqks2GaiKSAPwX+pVJqv9NxSqn3AO+BwHDg\nTIPWXCqiFTfUoUcaYhkqaiLszKdw7ArxUh3XNtmbiR+UhxwX3qPYNa+jUJayMWjsSVquj2sFWa+l\nM9R2KqWoVoKoJB43ejrxn2W5c5j4vuLOqzWO2ujWqsF9Nx+LnbqUxTSFZMqgVPTbEokmT5FItLUe\nXge6s+UyOX26qHKtYUnXfD7lwcYDF8sK+oP2A99XPLhfp1TwD/aEc1MW07OtY+11fqodEsJEggsb\ny7q8+5JHGZhQKqU6bjaJyLqILCilHojIArDR4TibQCTfr5T60ICGqrmkeJYRamenBLwOwmF4PvNH\ny0OqHoli/aA8xI2Y+EKoWLonJIiUJmKBMDY3do5xtOtHJ+p1n3u36riN2tcgsrFOHd10Y9dOsx6b\nJuFVuVJeO3cD5F4o7HuhWZPKh0LeI5s7/alqfinC6t2gjrQpGpPTFukO+5ph1J3w9+6roOyl14Rs\n31MtItlEKdjedPomlOsPHEoFv8WEYHfbxbZhYrL1M9LL/ESjxsF+5PFxX4SEqH4xqqXXZ4CngKcb\n/3/4+AESXP78AfCCUup3hjs8zWWglI4EHUOOnJ0UoEQoZ8I7cmROKA8pZqNktyoodWjSoAhacFU7\nRJNtHBPJXpdblVLcu13HaZy8m+9qe9MlFjdInjPrUAHPzryRb6SWERSiFLbyeHL1L8k6xRMffx5c\nJ/ChbRuT4uD9nhbTFJZXojh1H9dVRKLGqSPrSESoVUPKp4zgX6+4nWoeOfv7O47vdxbjnW2vTSh7\nmZ/JaYvCvtcWdSZTBvYFKLPpF6O6JHga+AEReQl4W+M2IrIoIh9pHPMm4GeAt4rIFxr/3j6a4Wou\nIso0WL+awbENfAn2BF07uK9ThupJ5SHKNFi7lqUWtwLRBSopm7Wr2VMlQD3x5B7PPh3nI/7vUX3L\nh7pGkU1q1aDlUtv7VLC3c77OKAAvpld4JbWMZ1i4ho1jRiibUf5i/s3nfu6TiMUNJORsJMK5fUTt\niEE8YZ5p+Xlmzm77s4rQtpR54hhs6fjxiPfJJ7VTcg4Q7FF3oNv8RGOBNV2znCjImDbPlDV8kRlJ\nRKmU2ga+P+T+VeDtjZ8/RYemFRpNr9RjFqs3Jg7KMFzb6CpovZSHuFGT9WvZYP1NOHWG8P/2Kw94\n5JNf4a8f/xp2pPevoO+rTv4QeKdL5AzlK5lHcI1j4xGDfStJ3kqRdQcXVSaSBtGIUKuplprASDTY\nSxsVyZTJ0tUIm2sO9XqQqTo1Y516KVhEmJ6z2FxrN1+Ynu3PsrlpBv/ckGumxCkN6FsemzS5/qh5\n8Pkbl/KYYaKdeTSXH+ndyq5zeYjVXspxBq/U2bv3eOHb/iNf2ani13wiUWFxOUKkh/2eWNwIFUmR\nwKXlvHgSPkeCwjMGm7TRLGXZ3nSDrFAFmQmDqZneiucHSTJlknzk/O8/N2ljWQbbmw6uo4jFDWbm\n7L751IoIc4uRNvN4w4DpufOL8WU1PO8FLZQazRFaykMa5wXPNNhcOn0T6eO84bvv860/9SGc0mEL\nqFpVcffVGjcei50oCIYhzM5bbByJSkQCB56JyfN/lW8W75C3U3jHokrb98idocXWaTEMYWbOZqYP\nJ3XXUWxtOJSKHoYp5CZNsrmz1z72i3TGJN2hYXY/SKVNllei7GwFEXA8bjA5Y/V0IabpjBZKjeYo\nImwvpsnXPaIVF9cyqCWscxkwNK3onv8nH+Ar5faNJN+HUtHvKfNxYtImGjPZ23FxXUUqbZDNWX25\n2n9d/kVeSS2Tt1O4ho3hexgo3rrxtxdqD8R1Fbe+UT1cjnYVG2sutZpibuHi7q15nmJzzaGwH7yx\ndMZkZs5uKw+KJwyWroYnq2nOhhZKjSYEN2Ke2de1ydFyj+eAtfsSunSqFKFJOp2IJwziif6f8G3l\n8aP3Ps6rqSvci8+Rcss8XniVtFvu+2sNkr2d8CL5/K7H1Iy6kEXySgU1pUfbluX3PMpln+uPREce\nKV92tFBqLh3iB0VkyhzdclNYz8hE0mA/JH0fWvsMjhITn0eKd3ikeGfUQzkz5VJ7lxEIFgVqVR/r\nApp3l4p+aBmJ6wZtrwa5nKvRQqm5RJiOx9SDIrFykPZXj5lsL6RwosP/mD/1WBX1/Mf4wkcPXzud\nMdnecnHqrZmdqbRxqRoPd0IpRaXsU60E1mqptDGQSCgSESohQbBS7f6xF4Va1Q+vM/WD342bUB51\nj4rFjQs77020UGouB0oxf3u/xaw8UvWYu73P/ZsTQ4suu5kHiCFcux5le8ulsO9hSNByqh+JOE08\nT7Gz5VDY9zEMyE1aZCbMvglScAL0qVUVkagQT/Qmdr6vuHurRq0aXCSIAaYBV6/3v+VVbsoKjdyj\nMbmwFyR2RBCDNrEcZsu0XikVXR7cc/D8w/q+MBu9i4QWSs2lIF50MPxWs/LAVUeRzNcoTsY7PbRv\n9GJBZ5j9y+w8ju8rbr9SC1xuGiKx/iBojzS/dP49Td9T3L1dO3SqEYjYgbvLSX6z2xsO1ao6sBNS\nPrg+PLjvcPV6fxNPojGDxeUI66v1g4SeRNJgoQ9zMCrSaZNNw+F4AxrDhNSYRJNKKR7cD/xsD+5r\n/L+7HbhHjVvk2ytaKDWXAsvxIGRpylBgN8wGslvb3Pzyl4nU69x55BFWr6+MXTsx5SsqFf/AkeY0\nV+D5PbdFJCFYbtzPe0zN+OeO3DbXnYOIMHhyqNWCjhiLy91FKN+ojTxOpezje6rvLZpSaZPkY7FG\na6yz9cAcJ8QQrt6IsbZap1wMPs+JpMH8oh2a8dxc5i7kPWj0H+2XA1An9vc8ivvhzhdKwe6Oq4VS\noxkl9ZgVhJDHG9EK1GIWj37xS7zxE3+F4XkYSnHjKy+wunKNZ3/kyVCxXLh1i0e/+A9Yrsurr3kN\nt77pcVSIuecTT+7x1GPVvrTGKhU8Vu8F7b0UgZ/B0tVoz4k+5WJ4EgsClcr5hbJTIlLgBaq6i3qX\npN5BWa6LCPaYLUueB9sWlq9Fe2ogvbHmkN89/Hvldz0mp62+uQCFsbvjhn/+GvhdbPTGHS2UmktB\nLW5Rj1pEaodtsBRBBxE34vPGT/wllnt4tWs7Dou3brP88je4++gjLc/1bX/9Sb7p83+P5bgIMH/n\nLje/8hU+8eP/xYFYNmsjy7/2e3zho9a5e0e6juL+MUcVD7h3u9FmqoeIqJso9COZottJ8CTSGZO9\nvfaoMhq7+NFepeKzs9ko8E8YTE4PtsD/pFWGasVvEUk4bA2WyZpEztDfsxdO+nxc1GgStFBqLgsi\nbFzNkN0qk8zXEILuIfmZBMsvv4xvmATSc4jtOKx87estQpnM7/Paz34ey2sV1dn7qyy98ipT/2rq\nQCCf++cW/foK5ffCTc0VUCh4ZCc6v47nKbY3Hfb3wpe9LFP6Un6STBkUC+3r24keEnqm52xKJf9g\naVgkSOi56ObaxYLXYhlXr3kU8h7XbkQHJkgnUdjvHNmViv7AxpXJmmxvhr+2ZdPXpLVhc3FHrtEc\nQxnC3mySvdlky/1eh6aBPuBarV+BhTt3gqjRaxfVK9/4Bj/5WLKt7KMfeJ4KP7kp8LsYnjcTeBxH\ntUVrIkHEtrgc6Uu24exChEq5iu/TInZziycv55mmcP1mlELBo1rxiUQM0tmzdfQ4D0odEepzzolS\nivXVetvfzfeD/dxRueN0c2ka5JZ8bipoyVWvtX6WszmD2blI3/ehh4kWSs2lZ3XlWuj9vmXxweTJ\nogAAIABJREFU8re8ruW+ejSKCjmbeIbBxOukzUSgXyRTJns74XuAiWTnCKC47+G67SIJsLgc6VtD\nYAj2yG48GiO/5wblITEhO2H1LHZiCJmsRSbbtyH1jFKKvR2X7U0Xzwu6bEzNWuQmz75n53mdu7aU\nQ6wKh0W6S2Q3yAxZwxCu3YhS2PcoF30sW8jmrEvRt1ILpeZioBSRamBWrkQoZaM9W8z5lsVf/tiP\n8tY//Q+AQhSI7/Ol73wjm0uLLcfeu3E9VCgjNvxc5Ks897qXGMTXJpE0iCcMKuXDhByR4KTXrfav\nXA4vRBc5nS1erximkJsaXELIoNjbddlcPxQPz4PNNRdD5NQts5p0a9w8yn3XSMRgdsFi40FjOb+R\n5Da/ZA+88F9kdBdDg0QLpWb8UYrJtRLJ/RrSONFldirsziYp5mI9PcX68hX+5Bd/gaVXXsF2HFZX\nrlFOp9uO8y2Lj//kj/H9H/wPGI1wIWp6fPe7VvjGB1b79paOIyJcuRZhP+8d7DVO5CxSme77SZGI\nhPeoFLAuwZV8vwiLsJSCrU33HEIppLMmhWPZwCIwOdX9Is73FOVyUAaUSBhIn1tYTeRsUmmLUtFD\ngGR6+MvclwktlJqxJ1p2Se7XWnpEioLcRolyOoJ/vE9kB9yIze3XPH7icVsLC3zgX/wCs/fuY7ou\n//2/sbm5cYuNAQolBGKZnbC6Ju4cJzNhhYqAaTDShsfjhFIKLzxX6txR99yCje8pSkX/4IKl2dKr\nE/k9l/VVJzieIOBbuhohkezvsqhlyak+S5rO6FnUjD2JwmEkeZx4yaGU7X/ShDIM1q8uA2Am1/r+\n/P3CsgJnnAf36jiOQgGxmLB4pT8JPJcBEcG2JdRU/Lx1loYhLF2N4joKx1VEIt3LXeo1n/VVB6UO\nVwEUcP9OnZuPx4bSHNl1FYW8h+epgyV//VnpjhZKzVARX5HarZIo1PFNoTAZo5o8oUSgy5dYDfD7\nfVgr+QH+ts9Zrv0kFje4/mjgQiPCiXZy/cL3VZC4UfKxxzxxY3rOYu2+07ZEOtsnK0HLlp6Wuvf3\nwhO2ICg1yWQH+zkrlzzu3W6YWijY2QpWHvqVGX1ZGd9vv+bSIb5i/lYey/EOllFjZYf8VJz96UTH\nx5UyUVJ71dCospLsf2LJUTOBXmol63WfUiFwgE5nzJF1ShjmnqTnHfOVlaCg/cq1/i4hep4iv+tS\namRR5iYtYmewYstkA0PurQ0Hpx50L5mZs/uaFdwLXgd3GnVCGVA/UKrd1EKpoLaykPfI6GXajuiZ\n0QyN5F61RSQh8GKd2K5QzMXwO3T4qMct9qfiZLYrLfdvLaZH2nMSYHvTYXvzcANsc81hbtG+9HtD\nO1tOq69so0LlwX2HG4/2ZynPcxW3XqniuYfLlIW8x/ySfabIK50xR+4Ok8qY5DtElYkB7ylXK35o\nGZFSQRNoLZSd0TOjGRrxktMikk2UCNGKSyXVeQk2P52gmIkSLzkogUo60lFYj2K4Pql8FdNVVBM2\nlZTdt6rratUPTaRZX3VIpkYXWQ6DQj7cV9ZzFY6jemr9VK/57Oc9fF+RSptte2U7206LSELw8/qq\nQzrTv9ZhwySRNEgkjZbm0iJBAtAgbe8052MkQikik8AfAyvALeAnlVK7HY41gc8C95VSPzysMWr6\nj2/KQZZfC0rh9ZC67kVMij3WTgJEyw6zd/eBIHJN7VWpRy3Wr2YCx/FzUtjrYhVW8M5cdnARkC7n\ndKMHAdvbddh4cDh/ezse6YzJ/JJ9IIDFQrgYK4KuJbHYxRNKEWHpaoTivs9+3g0ynXMmydTgI92g\nG03YmIK+qKfB91XQxm4IyUfjwKi+ye8CPqGUelpE3tW4/esdjv1l4AUgM6zBaQZDIRcnUai37DU2\njcvrsT5/FJVi5n6hbZk3UnNJ71UphPSnPNpP8jngpK9Ht8KC8xiID5tmNuhpEnEmcmZLAX+TSPTk\npBbPVS0iCcF8FfY9MhOHohFYnoUr5YhX3M+FSFB/mc4OdxlYJLAzvHenHiyVN6z8Uune+0RWqz5r\n9+sHPUlTaYP5xcjQEshGxag+bu8A3tf4+X3Aj4QdJCJXgB8C3jukcWkGSD1usTOXxBfwDcEXcCIG\nG8uZvptQ2jUP8dtPsoaCZL7Wdn8vTZePk85aHYc97CSRs1Cr+rz6cpVXX2r8e7lKrdqb9drEpEUq\nbTQ8UwOXGsuGpRP6UgKUSl7IskJDLI80/Z2cDJ/faEzO3TIsDN8Lyib2827HpJuLTiJpcvOxGLPz\nNtOzFssrURaXoz0tY7uu4u6rRxp3E0T9d2/VDlp/XVZGFVHOKaUeNH5eA+Y6HPe7wK8B7RYqxxCR\ndwLvBIhmZvoxRs0AKE3EKGeiRKouviE4UXMgTs1dy0b69HrxuMHEZKtHqwjMzFt9yUD1fUW5dNik\nt581dr6vuHOr1pJpWa8p7rzaW1uvIDqJUqv6VCtBRmoi2VsST9djjvwqlTHIVUx2d7yDYn7LDhyL\nSkWv59frhWYXkKYJAMphbsG+lMvnpiln6uSR3w3faqg7imrFJ54Y/4vDszKwT4GIfByYD/nVbx69\noZRSIu2J/yLyw8CGUupzIvJ9J72eUuo9wHsA0guPXu7LmwuOMoRaYrB+oW7ExLMMxPFbghdfoDDR\nP4OC2fkImaxPsRAoznn7/dXrPuWiT63ms7fjtfiJLi5H+raXFTRbbr+/uQTaq0BEY0ZXL9owkkkj\ndEVVhJZsYRFhZj5Cbjo4EZdLHns7HhtrzsHxV1aixE75+sfxXHXQKuvonKw/cIgnjYEk2TiOolTw\nECNYfbgI9nK1aocON9DoxTnc8QyTgQmlUuptnX4nIusisqCUeiAiC8BGyGFvAp4UkbcDMSAjIn+o\nlPrpAQ1Zc5FRCrvuoURwbQNE2FxKM3dnHzny7a6kIh2dfJSCbySX+eLE41TMGFfKa7xh9yukvEro\n8U1iceNMtX3H2Vyrs7vjHYwFgpZNTZruLf04qbqOCjVTV4pQB5t+YpjC0nKE+3frLfdPTluhfTMt\nK3C7aUbuR0/W927VuPl47FyRZaEQXsDYXAqemumvUO5sOWxtHJYUreOwcMUmnRnv6DWWEIqFkP13\nxakvli4ao/rLPAM8BTzd+P/Dxw9QSv0G8BsAjYjyV7VIasKIlh2mVwsYjX0lzzLYvJLGiVnceyRH\noljH9HyqcRunS9LQM5+a4tnZR3GN4JivZ65zK3WFn7j75yS86kDfQ6nosduhzdZRCvseE31YDozF\nDcSgTSzFCJaUB00ybXLz8RjFgofvQypldN133Ouw7KcUlEv+uSLtsAuGJn7IPvd5qFV9tjba38uD\new6Jx8c7ssxOWOw02pQ1EYF4wjh3VD/ujOrdPQ38gIi8BLytcRsRWRSRj4xoTJoLiOH6zN7dx3IV\nhgqSdSzHZ+7OPvgKDKGciVLIxUNF8nd+dY2/+rFPsf/WZ3jm2ckDkQRQYlAXiy9mTzZSPy+ditCP\nouife0siaRCLSst2rQhEozLwwvcmphmYducmrROTczo62tAadZ+FTubxQUZof2OJfJeSomKHyHZc\nME3h2s0Y6YyJYQQ9PXNTJktXT07guuiMJKJUSm0D3x9y/yrw9pD7nwWeHfjANBeOZL490hMCu7xE\nsU45E77MetzHdSc6hal8jp+qfMNkNTELO633l8se+R0PX6kDx5fzLP/1kjUo9K8jiIhwZSXK7rZL\nfjd419kJk9y0NZaF/OmMSbkYUlepuje27oVI1CA3ZbG77bYkZWWyJrF4f+ei25/5IiSO2nZQYvKw\nMd6L4hrNCZiNSDL8d72HGkmvghdWRa980k6p5a6mbV3zxFYq+OR3Pa5cO7uxdCZrUSrUO54sm0Xh\n/dwLMgxhasZmamb8GzFnsib5HZfqkYQSEZiZtfqyXBn4vhrk9zxQQcPsfmbVNklnTPK74asHqQGb\nDtSqPpvrDtWKj2kJUzPWwE3YLwt6ljTjh1Kk8rWDesfiRIxSJhJa1lFL2Ph71VCxPE1mbdotM1fd\nZi02jW8cnrAs5fPE3tcPbruOarOtUwoqZZ9iwT+zl2gqbZBIGa1Rk0A0CpGISTZnnjtyukj4vmJv\nx6Ww72EYQTnDlZWGo82+hyHgubC54bK54ZLOmMzO2+cqfI8nzIGXOMQTBpmsyX6+taRoerY/JUWd\nqNV8br9aO9iP9TzF2v3Ar3dyevwvlEaNFkrNeKEUs3cLRCuHvrCRapF4McLWUns5bSVl40RN7Nqh\n2bovQVeRbm4/Tz1WRT3/sZb7/un63/CXs9/Bvfg8BgpTebx583PM1bYPjimXOmdIFve9MwulSJAJ\nWi4FpSamKWQmHk7/T98P6jnrtWb0qKiU60xMmszOR0hlTF59uYrrHD5mP+9Rrfqs3OyteH5UiAhz\nizaZnEkxH9SHZiasgWeNbm84bUlLSsHWpsvEpDWUPpgXGS2UmrEiVnZbRBKCBJ14sU6k4lKPH/vI\nirB+NUtqt0Jqv44CihNRihOx0Oc/cOB5y5f4W+DoVyDqO/zg2qeoGBHqZoS0U8I4VvBnGHJQ/H4c\n85zBiIiQTJ3e99P3Fbs7jb3GxrLh1Mz4nfw8V1GrBb0ruyXvFPa9IyIZoFTgB5ub8qmU/BaRbOI4\nilLRH3tXJBEhkTBJDLFAv1LpvAHqOopIdLw+K+OGFkrNWBEt10P7TooKykDahJLAwKAwlaAw1b3i\n+Xd+dY3XT1+n/NsfoNtHP+7Xifv10N91yggN9hCH/3VSSnH/Tp1K+XDJdnfbpVT0uHZjPKIrpRSb\n6w57Rxx24gmDpeVIqANQJzN0gHLRZ3szRCUJyjzqNR/GXChHgW0Lblh9rBpeo++LzMO3rqMZa3zT\nCLWfUwL+GHyhDUO4ci2KYQY1hxJ4GzA7P/jlszAqFb9FJCEQonpdUSycs26iT+R33QOzAN8/3NNd\nWw0XPLvDlpkI5PMeTvjDEINzuSJdZqZm2n1zRYLVh3Gu3RwXdESpOTtHsxH6RCkTZWKz3P4LEcqp\n81vPHd+XPAvxhMEjj8col3x8PyhPGNXJploOtxVTPlTLZ98z7QWlgqXOStnDto2OJ92d7fYsT6WC\nukHfU21RZTZntfjnNhEDKqXO4m9Z0rfymctGMmUyt2izueYc1J1mJoIEKM3JaKHUnBrD9ZlaKxIv\nBpf21aTN9nwSzz7/Sdm3DDauZJhZLQTWcyroY7m5lEadQ4xau4Oc/2Pf3E8cNZZNuMOOgHWGRCCl\nAiN211HE4p19XA8SbuqBFZ6Ix+a6w/JKtM3Oz+/SicP3wTg2jdGowfySzXoj4gzM0IX5JZt7tzqX\n0KQzBp4Hlj6rhZKdsMhkTTw3mPNx28MeZ/RHSnM6lGL+dh7riNl4rOQwfzvP/Ru5vjREriVt7j2S\nI1IN2jHVO3UY8RWm5+NZRseotj1553KRSpsY4rQZJTQL5k+D4/jcebUeuOA0xCiZMlhcbq8P3dly\nWxJumh6sq/fqXH+kdW80kTJb2mc1MU0wO5yBMlmLdNqkWlUYBgfJJqbVYa8N2N0OTNOv3ogSPbIE\nq5RiP++xvxfskU7kLJLp/tdInpZ63Wd326VWDZpQ56ZOdig6LyKCpYPIU6OFUnMq4kUH023tyCGA\n4SmShXpHw/FTIxKauAOAUkxslEnvVQ+O3Z2OUwxpxtyJZuRUrQRZmKmMeSGvsA1DuHo9yuq9OvVa\nICCWLSxeiZx6OXj1br1NhErF4GR+vNbuaB3gUVxH4ToKO3L42tOzFqWGp2sTEZhb7G7QIIYQT7T+\nfn7R5v6d8KiyKdbrqw5Xr0cb9ynu3W5NdiqX6mRzJnML3R1mlK/Y3XXZbzgXZSZMcpMW0ofPSbXi\nc+fWYV1jpRzYGF69Hr30BuMXES2UmlNh173QrFRDgVV3gf61sOrExGYgkgclJEqR2yzjW0ZHy7qj\n+H6jAW0jIhIBYy04uV7EZJBI1GDlZizo+qEUli2njpZcV7U05G2iFOzteqcrSj/22pGIwcojMXa3\nHcoln0gk6ONpGILjKOxTFNonUyZXb0TZ2XJDo1SgIYoKEWnsobYnO+V3PXKTfse/t1KKe8eyibc2\nXIoFn+WVszswNVl/UG9bLvf9oLVXU+Q148PFOytoRooTNUOzUn0BJzqE6y6lSO+2O/EYCrJbIUlA\nIWxvugci2XhKPC9YNrzINOsTz3ISV126ZIRFb9kJM3S1245IqPDZtjA7H2HlZox4Qrh3u87dWzVe\nfanK3Vu1jqbnYcRiBotXIi29Ols48vKlQmez+XKXxKBKOVxgq1W/6+N6QSlFtUNdY6U8HpnKmla0\nUGpORSVp49pmSxm+ImhtVU4P3izZ8FVoRAtg9ejtut+hU0etpnDd8XSm9jzF2mqdl16o8NILFdZW\n66cSl5OwbMEKK7+RIEnmOLkpi1jCOBBLkWDP8STD7FLRY3PdbSkVKZd8Vu+e/iIlVKyFFoP6jjWC\nQtel6eMi2UT55xczEemYKN5R/DUjRf9ZNKdDhPVrGUrZKL4EkWQpE2HtWravZSKd8A3B63CCqx+L\naFszXU+mH6NXSvXUCeS0z3nnlRr53WCfz/eDpcM7r9b69loiwsIV+6AuNLgviATDTNMNQ1i+FuHK\ntQgzcxbzSzY3Hou1JNGEsbMV3maqUvZP3TB6es4O+mrKYT1rNCrMLRyOt1PkK0Ay3XmslhUuZiKE\nX1CckmyufVwiMDE5+kxqTTt6j1JzanzTYHshxfZCavgvLsLubIKptdLB8qsiMCTYnQ2ceU7KdM1k\njdAmyZFoh6iqB1xXsb5aPyjyTyQN5hbtvni1Fgs+Tkik22/LtnjC5MYjMfZ2XZy6IpEMaiM7JTmJ\nCImkSSJ5+PrBsmIgerG40fb+O0XsIoHF3Wn2K5uJTNWKT60W7H3G4q37s3bEYGHJ5sGqgxB8VgyB\npWvRrslb6YzJxprTXsvZKNI/LzNzNm7j79d0K0qmDaYvQCeXhxEtlJoLRzkbwzcNJrYqWI5HPWqx\nN5OgHrd44sm9E23qpmZsSiX/SA1gEJEsXDnb0rFSQU2hUz88q5ZLPndeqXHjsdi5s2lrVb8t8QOC\nZcBatb/eppYtTM+e7WTtOoq7t2qHoq4CwZlfsg/EK5k0qNfak3AUnNlvNBY32mo3j5LOWkRiBvkd\nFzEgN2lh2d0vYAxTWF6JBpnAjfdjWoFxfT/MJQxDWLoaxakHn8NIpLv/rWa0aKHUXEiqqQhrqbMJ\nm2EK125EKRUPy0O6RU4nUSr6oZGS7wdlFBPn9ICNRCXcVMCgpQxj1Kzeq1Ovt87Dft7DsmFmLvhb\nTU7b7Oc9vCNaKQIzc4MzcW/2D22yu+0xv2Sf2IsxFje4/mj04ALIjpw+m/gk7IiB/fD1Qb5waKHU\nPJSICKm02ZdorBmZHkephkn3OUmlTQzDwTv2VKbB2HTKcN1gyTWMnS0P23aYmLSxbGHlZoydbYdS\n0ceyhMlpa2AuR9Wq39Y/FGDtvkMydbLPqYjozhoaLZSay0Nzb/K51/0Rw/xoRztFfEJfiscNQ7h2\nPcraqnNQmpBIBjZv42KS0K28BGBjzSWVsbAswWqUigyD/b3w5CEIvGazE/oUqDkZ/SnRXHhGbVOX\nSBpEbKFWP7R+g6Bcoh+m5EopikUPz1PYdqPf5LQd2qJqVFi2dLWXg6CmceityLrod5+TkzWXGL17\nrNGcExFh+XqU7ISJYRxmRl67ef5EHoAH9x021wJPUMcJ9thuv1o7MYobJiLCwtIJSUAj0PV0Nrw8\nBCA1Bqb2mouBjig1mj5gmsL8YoT5xf4+b63qU9z32hxinLqisO+RGaOlw0TSZHE50tE8YBTCFIsb\nZCdM8kdMJprJQ9YpSlE0DzcjiShFZFJEPiYiLzX+z3U4bkJEPigiXxORF0Tku4Y9Vs3lRymFU/f7\n6nTTLyodEmSajjaDQPmKWjU8k/ck0hmTqdmgSfDRf/NLdmeXnAEiIswtRlheiTI5ZTI1Y7FyM0pu\nStcranpnVJej7wI+oZR6WkTe1bj96yHHvRv4c6XUj4tIBEgMc5Ca8aYfe5P7eZeNB4fNbJNpg4XF\nyNjs/zUdYtr204SBRER7u8EyrwJQwf7rwik7kUzP2GSyJqVCUEyfyph9cbM5D/GEQTyh6zA0Z2NU\ne5TvAN7X+Pl9wI8cP0BEssA/Af4AQClVV0rtDW2EmrHliSf3ePbpOK/57Q/0bE8XRqXss3bfwfMO\nWzSVCj73x8gcPZkyQv0/BfqeGFMqemw8cAMP1oYPa6nkn8ksPhIxyE1ZTExaIxdJjea8jEoo55RS\nDxo/rwFzIcdcBzaBfysify8i7xWR5NBGqBkbxPNJ71SYfFAktVNB1fqzRLqz1W5RphRUSj6OMx5d\nHJqJQtGoHCxjWhZcuRY5ld1bL4T6sDbmo1s2q0Zz2RnY0quIfByYD/nVbx69oZRSIqH9ICzg9cAv\nKaU+LSLvJlii/dcdXu+dwDsBopmZ8wxdM0ZYdY/523nEVxgqMGHf/33YfK3Lea+anHr4yV8EXAfs\nMdnGavZzdOo+voLIABxigI5iKBIYCujkF83DysCEUin1tk6/E5F1EVlQSj0QkQVgI+Swe8A9pdSn\nG7c/SCCUnV7vPcB7ANILj+rL30vC5HoJw1MHlQWGAlWBP/z9Pf75OZ87njSohfmOqrP7jg6SQXuB\nxpMG9frFmQ+NZliMaun1GeCpxs9PAR8+foBSag24KyKPN+76fuCrwxmeZixQiljJaS+/U/APf189\n99NPTttt+38iQa/FfhhfXzSmZmyMYxUcIjAzOzgfVo3mIjCqrNengQ+IyM8Dt4GfBBCRReC9Sqm3\nN477JeD9jYzXV4CfG8VgNSOk2Rvp+N2Oyxc+er6Pr20L125G2dpwKZc8TFOYmrb60kbpImLbwsrN\nKNubLuWij2UHPqyD9JP1PMXOlkNh38cwgj6NEzlrIEvLZ6XW8IutVnzsiDA1Y7W0FtNcfkYilEqp\nbYII8fj9q8Dbj9z+AvDtQxyaZpwQoZSOkNivtyx9mL7HI4XbfXmJSMRg8YzttS4jtm0wvzic+fB9\nxe1XariOOkgi2lxzqZbVmVueHUUpdW7BrVb8RoPs4LbjKCrlOotXIqT6YE+ouRiMj62HRhPCzlwS\nu+aRwkUwkHqddL3Ad21/YdRD05yTQt5rEUkI9kML+x5TNZ9I9PQ7Q8pXbG447O16KB9icWFuIdK1\nX2U3NtfDM6PX1xySaWOsIl/N4NBCqRlrlGmwtpLlV96xQbqYY+o/foD9Z3dHYRuq6TOloh9uTC6B\nI9FZhPLB/TrFwuHzViuKO7dqrNyMEjlDMlSn1mGuo/D9wPhec/nRpuia8UeEpccU35v7WwpaJC8N\n3RoWn8WkwHH8FpFsovygRvQsdLLdEyHUCEJzOdERpWasGXULLc3gmMhZ7G57bcJmmkIieXoVqtdU\nuN0fQULOWZicMtlYazViEAmSjvSy68ODvibSjC0HInkOmzrN+GJHDJauRjCtQ/P0aEy4uhI5kwhF\nokbHHpOxMzbQzuYsJqetgwiy2UJtdn5M3Cg0Q0FHlBqNZmQkUyY3H4vh1BViyLls+WxbSKVNioXW\nKFUMyE2f7VQnIkzP2kxOWziOwrLkoayxfdjREaVGoxkpIkIkavTFu3ZhySY3ZR7sH8bjwtWVsyXy\nHMUwhGjU0CL5kKIjSs1YopddNWdBDGFmLsJMWJsFjeaMaKHUjA1PPLnHu797gfKv/RZfeIulk3c0\nGs1YoJdeNRqNRqPpghZKjUaj0Wi6oIVSo9FoNJouaKHUaDQajaYLWig1Y8NTj1VRz3/s3O2zNBqN\npp/oM5JmpDQzXdXzH9M2dRqNZizREaVmpDSjSF0vqdFoxhUtlBqNRqPRdEELpUaj0Wg0XRDVyW7/\nAiMim8DtUY+jT0wDW6MexJig56IVPR+t6PloRc9HK48rpdJneeClTOZRSs2Megz9QkQ+q5T69lGP\nYxzQc9GKno9W9Hy0ouejFRH57Fkfq5deNRqNRqPpghZKjUaj0Wi6oIVy/HnPqAcwRui5aEXPRyt6\nPlrR89HKmefjUibzaDQajUbTL3REqdFoNBpNF7RQajQajUbTBS2UY4SITIrIx0Tkpcb/uQ7HTYjI\nB0XkayLygoh817DHOgx6nY/GsaaI/L2I/L/DHOMw6WU+RGRZRP5KRL4qIl8RkV8exVgHiYj8MxH5\nuoi8LCLvCvm9iMjvNX7/JRF5/SjGOSx6mI+faszDP4jIcyLyxCjGOSxOmo8jx/1jEXFF5MdPek4t\nlOPFu4BPKKUeBT7RuB3Gu4E/V0q9BngCeGFI4xs2vc4HwC9zeeehSS/z4QK/opR6LfCdwL8QkdcO\ncYwDRURM4H8HfhB4LfBfhby/HwQebfx7J/B/DnWQQ6TH+XgV+F6l1OuA/5lLnOTT43w0j/st4D/1\n8rxaKMeLdwDva/z8PuBHjh8gIlngnwB/AKCUqiul9oY2wuFy4nwAiMgV4IeA9w5pXKPixPlQSj1Q\nSn2+8XOB4OJhaWgjHDxvBF5WSr2ilKoD/55gXo7yDuDfqYC/AyZEZGHYAx0SJ86HUuo5pdRu4+bf\nAVeGPMZh0svnA+CXgD8FNnp5Ui2U48WcUupB4+c1YC7kmOvAJvBvG0uN7xWR5NBGOFx6mQ+A3wV+\nDfCHMqrR0et8ACAiK8C3AZ8e7LCGyhJw98jte7RfCPRyzGXhtO/154GPDnREo+XE+RCRJeBHOcVK\nw6W0sBtnROTjwHzIr37z6A2llBKRsNodC3g98EtKqU+LyLsJluD+dd8HOwTOOx8i8sPAhlLqcyLy\nfYMZ5fDow+ej+Twpgivmf6mU2u/vKDUXERF5C4FQvnnUYxkxvwv8ulLKF5GeHqCFcsgopd7W6Xci\nsi4iC0qpB42lorBlgXvAPaVUM0r4IN337saaPszHm4AnReTtQAzIiMgfKqV+ekBDHihxmM6DAAAC\nhklEQVR9mA9ExCYQyfcrpT40oKGOivvA8pHbVxr3nfaYy0JP71VEvoVga+IHlVLbQxrbKOhlPr4d\n+PcNkZwG3i4irlLq/+n0pHrpdbx4Bniq8fNTwIePH6CUWgPuisjjjbu+H/jqcIY3dHqZj99QSl1R\nSq0A/yXwlxdVJHvgxPmQ4Nv/B8ALSqnfGeLYhsXzwKMicl1EIgR/82eOHfMM8LON7NfvBPJHlqwv\nGyfOh4hcBT4E/IxS6sURjHGYnDgfSqnrSqmVxjnjg8AvdhNJ0EI5bjwN/ICIvAS8rXEbEVkUkY8c\nOe6XgPeLyJeAbwX+16GPdDj0Oh8PC73Mx5uAnwHeKiJfaPx7+2iG23+UUi7w3wJ/QZCo9AGl1FdE\n5BdE5Bcah30EeAV4Gfh94BdHMtgh0ON8/A/AFPB/ND4PZ+6iMe70OB+nRlvYaTQajUbTBR1RajQa\njUbTBS2UGo1Go9F0QQulRqPRaDRd0EKp0Wg0Gk0XtFBqNBqNRtMFLZQazSVGRP5cRPYuc1cVjWbQ\naKHUaC43/4agrlKj0ZwRLZQazSWg0VvvSyISE5FkoxflP1JKfQIojHp8Gs1FRnu9ajSXAKXU8yLy\nDPC/AHHgD5VSXx7xsDSaS4EWSo3m8vA/EXhdVoH/bsRj0WguDXrpVaO5PEwBKSBN0ElFo9H0AS2U\nGs3l4f8m6Ev6fuC3RjwWjebSoJdeNZpLgIj8LOAopf5IREzgORF5K/A/Aq8BUiJyD/h5pdRfjHKs\nGs1FQ3cP0Wg0Go2mC3rpVaPRaDSaLmih1Gg0Go2mC1ooNRqNRqPpghZKjUaj0Wi6oIVSo9FoNJou\naKHUaDQajaYLWig1Go1Go+nC/w93O6WMf7YPywAAAABJRU5ErkJggg==\n", "text/plain": [ "<matplotlib.figure.Figure at 0x7f107f78b518>" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "plt.title(\"Model with L2-regularization\")\n", "axes = plt.gca()\n", "axes.set_xlim([-0.75,0.40])\n", "axes.set_ylim([-0.75,0.65])\n", "plot_decision_boundary(lambda x: predict_dec(parameters, x.T), train_X, train_Y)" ] }, { "cell_type": "markdown", "metadata": { "collapsed": true }, "source": [ "**Observations**:\n", "- The value of $\\lambda$ is a hyperparameter that you can tune using a dev set.\n", "- L2 regularization makes your decision boundary smoother. If $\\lambda$ is too large, it is also possible to \"oversmooth\", resulting in a model with high bias.\n", "\n", "**What is L2-regularization actually doing?**:\n", "\n", "L2-regularization relies on the assumption that a model with small weights is simpler than a model with large weights. Thus, by penalizing the square values of the weights in the cost function you drive all the weights to smaller values. It becomes too costly for the cost to have large weights! This leads to a smoother model in which the output changes more slowly as the input changes. \n", "\n", "<font color='blue'>\n", "**What you should remember** -- the implications of L2-regularization on:\n", "- The cost computation:\n", " - A regularization term is added to the cost\n", "- The backpropagation function:\n", " - There are extra terms in the gradients with respect to weight matrices\n", "- Weights end up smaller (\"weight decay\"): \n", " - Weights are pushed to smaller values." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## 3 - Dropout\n", "\n", "Finally, **dropout** is a widely used regularization technique that is specific to deep learning. \n", "**It randomly shuts down some neurons in each iteration.** Watch these two videos to see what this means!\n", "\n", "<!--\n", "To understand drop-out, consider this conversation with a friend:\n", "- Friend: \"Why do you need all these neurons to train your network and classify images?\". \n", "- You: \"Because each neuron contains a weight and can learn specific features/details/shape of an image. The more neurons I have, the more featurse my model learns!\"\n", "- Friend: \"I see, but are you sure that your neurons are learning different features and not all the same features?\"\n", "- You: \"Good point... Neurons in the same layer actually don't talk to each other. It should be definitly possible that they learn the same image features/shapes/forms/details... which would be redundant. There should be a solution.\"\n", "!--> \n", "\n", "\n", "<center>\n", "<video width=\"620\" height=\"440\" src=\"images/dropout1_kiank.mp4\" type=\"video/mp4\" controls>\n", "</video>\n", "</center>\n", "<br>\n", "<caption><center> <u> Figure 2 </u>: Drop-out on the second hidden layer. <br> At each iteration, you shut down (= set to zero) each neuron of a layer with probability $1 - keep\\_prob$ or keep it with probability $keep\\_prob$ (50% here). The dropped neurons don't contribute to the training in both the forward and backward propagations of the iteration. </center></caption>\n", "\n", "<center>\n", "<video width=\"620\" height=\"440\" src=\"images/dropout2_kiank.mp4\" type=\"video/mp4\" controls>\n", "</video>\n", "</center>\n", "\n", "<caption><center> <u> Figure 3 </u>: Drop-out on the first and third hidden layers. <br> $1^{st}$ layer: we shut down on average 40% of the neurons. $3^{rd}$ layer: we shut down on average 20% of the neurons. </center></caption>\n", "\n", "\n", "When you shut some neurons down, you actually modify your model. The idea behind drop-out is that at each iteration, you train a different model that uses only a subset of your neurons. With dropout, your neurons thus become less sensitive to the activation of one other specific neuron, because that other neuron might be shut down at any time. \n", "\n", "### 3.1 - Forward propagation with dropout\n", "\n", "**Exercise**: Implement the forward propagation with dropout. You are using a 3 layer neural network, and will add dropout to the first and second hidden layers. We will not apply dropout to the input layer or output layer. \n", "\n", "**Instructions**:\n", "You would like to shut down some neurons in the first and second layers. To do that, you are going to carry out 4 Steps:\n", "1. In lecture, we dicussed creating a variable $d^{[1]}$ with the same shape as $a^{[1]}$ using `np.random.rand()` to randomly get numbers between 0 and 1. Here, you will use a vectorized implementation, so create a random matrix $D^{[1]} = [d^{[1](1)} d^{[1](2)} ... d^{[1](m)}] $ of the same dimension as $A^{[1]}$.\n", "2. Set each entry of $D^{[1]}$ to be 0 with probability (`1-keep_prob`) or 1 with probability (`keep_prob`), by thresholding values in $D^{[1]}$ appropriately. Hint: to set all the entries of a matrix X to 0 (if entry is less than 0.5) or 1 (if entry is more than 0.5) you would do: `X = (X < 0.5)`. Note that 0 and 1 are respectively equivalent to False and True.\n", "3. Set $A^{[1]}$ to $A^{[1]} * D^{[1]}$. (You are shutting down some neurons). You can think of $D^{[1]}$ as a mask, so that when it is multiplied with another matrix, it shuts down some of the values.\n", "4. Divide $A^{[1]}$ by `keep_prob`. By doing this you are assuring that the result of the cost will still have the same expected value as without drop-out. (This technique is also called inverted dropout.)" ] }, { "cell_type": "code", "execution_count": 12, "metadata": { "collapsed": true }, "outputs": [], "source": [ "# GRADED FUNCTION: forward_propagation_with_dropout\n", "\n", "def forward_propagation_with_dropout(X, parameters, keep_prob = 0.5):\n", " \"\"\"\n", " Implements the forward propagation: LINEAR -> RELU + DROPOUT -> LINEAR -> RELU + DROPOUT -> LINEAR -> SIGMOID.\n", " \n", " Arguments:\n", " X -- input dataset, of shape (2, number of examples)\n", " parameters -- python dictionary containing your parameters \"W1\", \"b1\", \"W2\", \"b2\", \"W3\", \"b3\":\n", " W1 -- weight matrix of shape (20, 2)\n", " b1 -- bias vector of shape (20, 1)\n", " W2 -- weight matrix of shape (3, 20)\n", " b2 -- bias vector of shape (3, 1)\n", " W3 -- weight matrix of shape (1, 3)\n", " b3 -- bias vector of shape (1, 1)\n", " keep_prob - probability of keeping a neuron active during drop-out, scalar\n", " \n", " Returns:\n", " A3 -- last activation value, output of the forward propagation, of shape (1,1)\n", " cache -- tuple, information stored for computing the backward propagation\n", " \"\"\"\n", " \n", " np.random.seed(1)\n", " \n", " # retrieve parameters\n", " W1 = parameters[\"W1\"]\n", " b1 = parameters[\"b1\"]\n", " W2 = parameters[\"W2\"]\n", " b2 = parameters[\"b2\"]\n", " W3 = parameters[\"W3\"]\n", " b3 = parameters[\"b3\"]\n", " \n", " # LINEAR -> RELU -> LINEAR -> RELU -> LINEAR -> SIGMOID\n", " Z1 = np.dot(W1, X) + b1\n", " A1 = relu(Z1)\n", " ### START CODE HERE ### (approx. 4 lines) # Steps 1-4 below correspond to the Steps 1-4 described above. \n", " D1 = np.random.rand(A1.shape[0], A1.shape[1]) # Step 1: initialize matrix D1 = np.random.rand(..., ...)\n", " D1 = D1 < keep_prob # Step 2: convert entries of D1 to 0 or 1 (using keep_prob as the threshold)\n", " A1 = A1*D1 # Step 3: shut down some neurons of A1\n", " A1 = A1/keep_prob # Step 4: scale the value of neurons that haven't been shut down\n", " ### END CODE HERE ###\n", " Z2 = np.dot(W2, A1) + b2\n", " A2 = relu(Z2)\n", " ### START CODE HERE ### (approx. 4 lines)\n", " D2 = np.random.rand(A2.shape[0], A2.shape[1]) # Step 1: initialize matrix D2 = np.random.rand(..., ...)\n", " D2 = D2 < keep_prob # Step 2: convert entries of D2 to 0 or 1 (using keep_prob as the threshold)\n", " A2 = A2*D2 # Step 3: shut down some neurons of A2\n", " A2 = A2/keep_prob # Step 4: scale the value of neurons that haven't been shut down\n", " ### END CODE HERE ###\n", " Z3 = np.dot(W3, A2) + b3\n", " A3 = sigmoid(Z3)\n", " \n", " cache = (Z1, D1, A1, W1, b1, Z2, D2, A2, W2, b2, Z3, A3, W3, b3)\n", " \n", " return A3, cache" ] }, { "cell_type": "code", "execution_count": 13, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "A3 = [[ 0.36974721 0.00305176 0.04565099 0.49683389 0.36974721]]\n" ] } ], "source": [ "X_assess, parameters = forward_propagation_with_dropout_test_case()\n", "\n", "A3, cache = forward_propagation_with_dropout(X_assess, parameters, keep_prob = 0.7)\n", "print (\"A3 = \" + str(A3))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "**Expected Output**: \n", "\n", "<table> \n", " <tr>\n", " <td>\n", " **A3**\n", " </td>\n", " <td>\n", " [[ 0.36974721 0.00305176 0.04565099 0.49683389 0.36974721]]\n", " </td>\n", " \n", " </tr>\n", "\n", "</table> " ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### 3.2 - Backward propagation with dropout\n", "\n", "**Exercise**: Implement the backward propagation with dropout. As before, you are training a 3 layer network. Add dropout to the first and second hidden layers, using the masks $D^{[1]}$ and $D^{[2]}$ stored in the cache. \n", "\n", "**Instruction**:\n", "Backpropagation with dropout is actually quite easy. You will have to carry out 2 Steps:\n", "1. You had previously shut down some neurons during forward propagation, by applying a mask $D^{[1]}$ to `A1`. In backpropagation, you will have to shut down the same neurons, by reapplying the same mask $D^{[1]}$ to `dA1`. \n", "2. During forward propagation, you had divided `A1` by `keep_prob`. In backpropagation, you'll therefore have to divide `dA1` by `keep_prob` again (the calculus interpretation is that if $A^{[1]}$ is scaled by `keep_prob`, then its derivative $dA^{[1]}$ is also scaled by the same `keep_prob`).\n" ] }, { "cell_type": "code", "execution_count": 14, "metadata": { "collapsed": true }, "outputs": [], "source": [ "# GRADED FUNCTION: backward_propagation_with_dropout\n", "\n", "def backward_propagation_with_dropout(X, Y, cache, keep_prob):\n", " \"\"\"\n", " Implements the backward propagation of our baseline model to which we added dropout.\n", " \n", " Arguments:\n", " X -- input dataset, of shape (2, number of examples)\n", " Y -- \"true\" labels vector, of shape (output size, number of examples)\n", " cache -- cache output from forward_propagation_with_dropout()\n", " keep_prob - probability of keeping a neuron active during drop-out, scalar\n", " \n", " Returns:\n", " gradients -- A dictionary with the gradients with respect to each parameter, activation and pre-activation variables\n", " \"\"\"\n", " \n", " m = X.shape[1]\n", " (Z1, D1, A1, W1, b1, Z2, D2, A2, W2, b2, Z3, A3, W3, b3) = cache\n", " \n", " dZ3 = A3 - Y\n", " dW3 = 1./m * np.dot(dZ3, A2.T)\n", " db3 = 1./m * np.sum(dZ3, axis=1, keepdims = True)\n", " dA2 = np.dot(W3.T, dZ3)\n", " ### START CODE HERE ### (≈ 2 lines of code)\n", " dA2 = D2*dA2 # Step 1: Apply mask D2 to shut down the same neurons as during the forward propagation\n", " dA2 = dA2 / keep_prob # Step 2: Scale the value of neurons that haven't been shut down\n", " ### END CODE HERE ###\n", " dZ2 = np.multiply(dA2, np.int64(A2 > 0))\n", " dW2 = 1./m * np.dot(dZ2, A1.T)\n", " db2 = 1./m * np.sum(dZ2, axis=1, keepdims = True)\n", " \n", " dA1 = np.dot(W2.T, dZ2)\n", " ### START CODE HERE ### (≈ 2 lines of code)\n", " dA1 = D1*dA1 # Step 1: Apply mask D1 to shut down the same neurons as during the forward propagation\n", " dA1 = dA1/keep_prob # Step 2: Scale the value of neurons that haven't been shut down\n", " ### END CODE HERE ###\n", " dZ1 = np.multiply(dA1, np.int64(A1 > 0))\n", " dW1 = 1./m * np.dot(dZ1, X.T)\n", " db1 = 1./m * np.sum(dZ1, axis=1, keepdims = True)\n", " \n", " gradients = {\"dZ3\": dZ3, \"dW3\": dW3, \"db3\": db3,\"dA2\": dA2,\n", " \"dZ2\": dZ2, \"dW2\": dW2, \"db2\": db2, \"dA1\": dA1, \n", " \"dZ1\": dZ1, \"dW1\": dW1, \"db1\": db1}\n", " \n", " return gradients" ] }, { "cell_type": "code", "execution_count": 15, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "dA1 = [[ 0.36544439 0. -0.00188233 0. -0.17408748]\n", " [ 0.65515713 0. -0.00337459 0. -0. ]]\n", "dA2 = [[ 0.58180856 0. -0.00299679 0. -0.27715731]\n", " [ 0. 0.53159854 -0. 0.53159854 -0.34089673]\n", " [ 0. 0. -0.00292733 0. -0. ]]\n" ] } ], "source": [ "X_assess, Y_assess, cache = backward_propagation_with_dropout_test_case()\n", "\n", "gradients = backward_propagation_with_dropout(X_assess, Y_assess, cache, keep_prob = 0.8)\n", "\n", "print (\"dA1 = \" + str(gradients[\"dA1\"]))\n", "print (\"dA2 = \" + str(gradients[\"dA2\"]))" ] }, { "cell_type": "markdown", "metadata": { "collapsed": true }, "source": [ "**Expected Output**: \n", "\n", "<table> \n", " <tr>\n", " <td>\n", " **dA1**\n", " </td>\n", " <td>\n", " [[ 0.36544439 0. -0.00188233 0. -0.17408748]\n", " [ 0.65515713 0. -0.00337459 0. -0. ]]\n", " </td>\n", " \n", " </tr>\n", " <tr>\n", " <td>\n", " **dA2**\n", " </td>\n", " <td>\n", " [[ 0.58180856 0. -0.00299679 0. -0.27715731]\n", " [ 0. 0.53159854 -0. 0.53159854 -0.34089673]\n", " [ 0. 0. -0.00292733 0. -0. ]]\n", " </td>\n", " \n", " </tr>\n", "</table> " ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Let's now run the model with dropout (`keep_prob = 0.86`). It means at every iteration you shut down each neurons of layer 1 and 2 with 14% probability. The function `model()` will now call:\n", "- `forward_propagation_with_dropout` instead of `forward_propagation`.\n", "- `backward_propagation_with_dropout` instead of `backward_propagation`." ] }, { "cell_type": "code", "execution_count": 16, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Cost after iteration 0: 0.6543912405149825\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "/home/jovyan/work/week5/Regularization/reg_utils.py:236: RuntimeWarning: divide by zero encountered in log\n", " logprobs = np.multiply(-np.log(a3),Y) + np.multiply(-np.log(1 - a3), 1 - Y)\n", "/home/jovyan/work/week5/Regularization/reg_utils.py:236: RuntimeWarning: invalid value encountered in multiply\n", " logprobs = np.multiply(-np.log(a3),Y) + np.multiply(-np.log(1 - a3), 1 - Y)\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Cost after iteration 10000: 0.06101698657490559\n", "Cost after iteration 20000: 0.060582435798513114\n" ] }, { "data": { "image/png": "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\nGEl/lnSPpLN7WpGk2ZI6JHV0dXX1S3H+grqZWfk0+kSWFuC1wD8B/wj8m6RDKxeKiMsiYlpETGtv\nb++XF3bTaTOz8sntmB6wDJiYmZ6QzsvqBFZExIvAi5JuAY4CHs2xLsBNp83MyijPkd58YKqkKZLa\ngFnA3IplrgNOkNQiaShwHPBwjjXt4KbTZmblk9tILyK2SpoD3AA0A5dHxEJJ56WPXxoRD0v6A7AA\n2A78KCIezKumLB/TMzMrnzx3bxIR84B5FfMurZj+OvD1POvoiZtOm5mVT6NPZGkYN502Myuf0oYe\nuOm0mVnZlDv03HTazKxUSh16bjptZlYupQ49N502MyuXUofeWO/eNDMrlVKH3phhbWzY7KbTZmZl\nUe7Q8xfUzcxKpdSh19102sf1zMzKodSh55GemVm5lDv03HTazKxUyh16Oy4v5NAzMyuDUoded9Pp\nlT6mZ2ZWCqUOPTedNjMrl1KHHrjptJlZmTj03JXFzKw0Sh96bjptZlYepQ89N502MyuP0oeem06b\nmZVH6UPPTafNzMrDoedWZGZmpVH60HPTaTOz8ih96HmkZ2ZWHg49N502MyuNXENP0gxJiyQtlnR+\nD4+fKGmNpPvS2+fzrKcnbjptZlYeLXmtWFIzcAnwNqATmC9pbkQ8VLHorRFxal519MZNp83MyiPP\nkd50YHFELImIzcCVwMwcX69PWpubGOGm02ZmpZBn6I0HlmamO9N5lV4vaYGk30t6VY71VOVWZGZm\n5ZDb7s063QtMioj1kk4BrgWmVi4kaTYwG2DSpEn9XsSYob7SgplZGeQ50lsGTMxMT0jn7RARayNi\nfXp/HtAqaVzliiLisoiYFhHT2tvb+71Qj/TMzMohz9CbD0yVNEVSGzALmJtdQNL+kpTen57WsyLH\nmnrkptNmZuWQ2+7NiNgqaQ5wA9AMXB4RCyWdlz5+KXAG8BFJW4GNwKyIiLxqqsZNp83MyiHXY3rp\nLst5FfMuzdy/GLg4zxrqkW06Pbi1udHlmJlZTkrfkQXciszMrCwcerjptJlZWTj08EjPzKwsHHq4\n6bSZWVk49HDTaTOzsnDo4abTZmZl4dDDTafNzMrCoZdyKzIzs+Jz6KXcdNrMrPgceimP9MzMis+h\nl3LTaTOz4nPopdx02sys+Bx6qWzTaTMzKyaHXmrnF9S9i9PMrKgceqnuptM+g9PMrLgceik3nTYz\n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\nzErDoWdmZqXh0DMzs9Jw6JmZWWk49MzMrDQcemZmVhoOPTMzKw2HnpmZlcZe13BaUhfwVD+sahzw\nQj+sZ2/ibS6PMm63t7kcqm3zKyKivbcn73Wh118kddTTkbtIvM3lUcbt9jaXw+5us3dvmplZaTj0\nzMysNMocepc1uoAG8DaXRxm329tcDru1zaU9pmdmZuVT5pGemZmVjEPPzMxKo3ShJ2mGpEWSFks6\nv9H1DBRJT0p6QNJ9kjoaXU8eJF0uabmkBzPzxkq6UdJj6c8xjayxv1XZ5gskLUvf6/skndLIGvub\npImSbpb0kKSFkv45nV/Y97rGNhf9vR4s6W5J96fb/cV0fp/f61Id05PUDDwKvA3oBOYD74mIhxpa\n2ACQ9CQwLSIK+0VWSW8C1gM/i4gj0nlfA1ZGxIXpHzljIuKzjayzP1XZ5guA9RHxjUbWlhdJBwAH\nRMS9kkYA9wDvAM6loO91jW0+k2K/1wKGRcR6Sa3AX4F/Bk6nj+912UZ604HFEbEkIjYDVwIzG1yT\n9ZOIuAVYWTF7JvDT9P5PST4oCqPKNhdaRDwbEfem99cBDwPjKfB7XWObCy0S69PJ1vQW7MZ7XbbQ\nGw8szUx3UoJ/OKkA/iTpHkmzG13MANovIp5N7z8H7NfIYgbQxyQtSHd/FmY3XyVJk4GjgbsoyXtd\nsc1Q8PdaUrOk+4DlwI0RsVvvddlCr8xOiIjXACcD/zvdLVYqkezLL8P+/O8DBwGvAZ4FvtnYcvIh\naThwFfAvEbE2+1hR3+setrnw73VEbEs/uyYA0yUdUfH4Lr3XZQu9ZcDEzPSEdF7hRcSy9Ody4BqS\nXb1l8Hx6PKT7uMjyBteTu4h4Pv2g2A78kAK+1+nxnauAn0fE1ensQr/XPW1zGd7rbhGxGrgZmMFu\nvNdlC735wFRJUyS1AbOAuQ2uKXeShqUHv5E0DHg78GDtZxXGXOCc9P45wHUNrGVAdH8YpE6jYO91\nenLDj4GHI+KizEOFfa+rbXMJ3ut2SaPT+0NITkJ8hN14r0t19iZAekrvt4Fm4PKI+EqDS8qdpINI\nRncALcAvirjdkn4JnEhy6ZHngS8A1wK/BiaRXJLqzIgozIkfVbb5RJLdXQE8CXw4c/xjryfpBOBW\n4AFgezr7X0mOcRXyva6xze+h2O/1kSQnqjSTDNJ+HRFfkrQPfXyvSxd6ZmZWXmXbvWlmZiXm0DMz\ns9Jw6JmZWWk49MzMrDQcemZmVhoOPTNA0u3pz8mSzurndf9rT6+VF0nvkPT5XpZ5V9q1frukaTWW\nOyftZP+YpHMy86dIukvJ1Up+lX7vFSW+m85fIOmYdH6bpFsktfTXdpr1hUPPDIiI16d3JwO7FHp1\nfJC/LPQyr5WXzwDf62WZB0k61d9SbQFJY0m+93ccSaePL2R6O34V+FZEHAKsAj6Yzj8ZmJreZpO0\nySJt8H4T8O4+bI9Zv3HomQGSuju5Xwi8Mb022SfSZrdflzQ/Hbl8OF3+REm3SpoLPJTOuzZt6L2w\nu6m3pAuBIen6fp59rXRU9HVJDyq51uG7M+v+s6TfSnpE0s/TjhxIulDJNdUWSPq7y8lIOhR4qfsS\nUpKuk3R2ev/D3TVExMMRsaiXX8s/kjT4XRkRq4AbgRlpLW8Bfpsul+1yP5PkMkcREXcCozNdQ64F\n3tv7u2GWH+9qMHu584FPR8SpAGl4rYmIYyUNAm6T9Md02WOAIyLiiXT6AxGxMm2XNF/SVRFxvqQ5\nacPcSqeTdNM4iqSjynxJ3SOvo4FXAc8AtwFvkPQwSaupwyIiutszVXgDcG9menZa8xPAp4DX7cLv\notpVSfYBVkfE1or5tZ7zLMno8thdeH2zfueRnlltbwfOTi9tchfJB/7U9LG7M4EH8HFJ9wN3kjQ2\nn0ptJwC/TBsGPw/8hZ2hcHdEdKaNhO8j2e26BtgE/FjS6cCGHtZ5ANDVPZGu9/MkjXo/1ci2XBGx\nDdjc3QfWrBEcema1CfhYRLwmvU2JiO6R3os7FpJOBN4KHB8RRwF/Awbvxuu+lLm/DWhJR1bTSXYr\nngr8oYfnbezhdV8NrAAO3MUaql2VZAXJbsuWivm1ntNtEElwmzWEQ8/s5dYB2ZHIDcBH0su6IOnQ\n9EoVlUYBqyJig6TDePluxC3dz69wK/Du9LhhO/Am4O5qhSm5ltqoiJgHfIJkt2ilh4FDMs+ZTnJy\nydHApyVNqbb+dPnxkm5KJ28A3i5pTHoCy9uBG9Lrl90MnJEul+1yP5dkZCxJryPZNfxsuu59gBci\nYkutGszy5NAze7kFwDZJ90v6BPAjkhNV7pX0IPADej4W/gegJT3udiHJLs5ulwELuk8iybgmfb37\ngf8CPhMRz9WobQRwvaQFwF+BT/awzC3A0WnoDCK5xtoHIuIZkmN6l6ePnSapEzge+J2kG9LnHwBs\nBUh3hX6Z5JJc84EvZXaPfhb4pKTFJLt8f5zOnwcsARanr/3RTG0nAb+rsX1mufNVFswKRtJ3gP+M\niD/14blvVxl+AAAAWElEQVRzgKcjot+vMynpauD8iHi0v9dtVi+HnlnBSNoPOC6P4Oqr9MvrsyLi\nZ42uxcrNoWdmZqXhY3pmZlYaDj0zMysNh56ZmZWGQ8/MzErDoWdmZqXx/wFkjyiNNbzzCAAAAABJ\nRU5ErkJggg==\n", "text/plain": [ "<matplotlib.figure.Figure at 0x7f107f1f7a90>" ] }, "metadata": {}, "output_type": "display_data" }, { "name": "stdout", "output_type": "stream", "text": [ "On the train set:\n", "Accuracy: 0.928909952607\n", "On the test set:\n", "Accuracy: 0.95\n" ] } ], "source": [ "parameters = model(train_X, train_Y, keep_prob = 0.86, learning_rate = 0.3)\n", "\n", "print (\"On the train set:\")\n", "predictions_train = predict(train_X, train_Y, parameters)\n", "print (\"On the test set:\")\n", "predictions_test = predict(test_X, test_Y, parameters)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Dropout works great! The test accuracy has increased again (to 95%)! Your model is not overfitting the training set and does a great job on the test set. The French football team will be forever grateful to you! \n", "\n", "Run the code below to plot the decision boundary." ] }, { "cell_type": "code", "execution_count": 17, "metadata": {}, "outputs": [ { "data": { "image/png": "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\nAAAASUVORK5CYII=\n", "text/plain": [ "<matplotlib.figure.Figure at 0x7f107f3d6470>" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "plt.title(\"Model with dropout\")\n", "axes = plt.gca()\n", "axes.set_xlim([-0.75,0.40])\n", "axes.set_ylim([-0.75,0.65])\n", "plot_decision_boundary(lambda x: predict_dec(parameters, x.T), train_X, train_Y)" ] }, { "cell_type": "markdown", "metadata": { "collapsed": true }, "source": [ "**Note**:\n", "- A **common mistake** when using dropout is to use it both in training and testing. You should use dropout (randomly eliminate nodes) only in training. \n", "- Deep learning frameworks like [tensorflow](https://www.tensorflow.org/api_docs/python/tf/nn/dropout), [PaddlePaddle](http://doc.paddlepaddle.org/release_doc/0.9.0/doc/ui/api/trainer_config_helpers/attrs.html), [keras](https://keras.io/layers/core/#dropout) or [caffe](http://caffe.berkeleyvision.org/tutorial/layers/dropout.html) come with a dropout layer implementation. Don't stress - you will soon learn some of these frameworks.\n", "\n", "<font color='blue'>\n", "**What you should remember about dropout:**\n", "- Dropout is a regularization technique.\n", "- You only use dropout during training. Don't use dropout (randomly eliminate nodes) during test time.\n", "- Apply dropout both during forward and backward propagation.\n", "- During training time, divide each dropout layer by keep_prob to keep the same expected value for the activations. For example, if keep_prob is 0.5, then we will on average shut down half the nodes, so the output will be scaled by 0.5 since only the remaining half are contributing to the solution. Dividing by 0.5 is equivalent to multiplying by 2. Hence, the output now has the same expected value. You can check that this works even when keep_prob is other values than 0.5. " ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## 4 - Conclusions" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "**Here are the results of our three models**: \n", "\n", "<table> \n", " <tr>\n", " <td>\n", " **model**\n", " </td>\n", " <td>\n", " **train accuracy**\n", " </td>\n", " <td>\n", " **test accuracy**\n", " </td>\n", "\n", " </tr>\n", " <td>\n", " 3-layer NN without regularization\n", " </td>\n", " <td>\n", " 95%\n", " </td>\n", " <td>\n", " 91.5%\n", " </td>\n", " <tr>\n", " <td>\n", " 3-layer NN with L2-regularization\n", " </td>\n", " <td>\n", " 94%\n", " </td>\n", " <td>\n", " 93%\n", " </td>\n", " </tr>\n", " <tr>\n", " <td>\n", " 3-layer NN with dropout\n", " </td>\n", " <td>\n", " 93%\n", " </td>\n", " <td>\n", " 95%\n", " </td>\n", " </tr>\n", "</table> " ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Note that regularization hurts training set performance! This is because it limits the ability of the network to overfit to the training set. But since it ultimately gives better test accuracy, it is helping your system. " ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Congratulations for finishing this assignment! And also for revolutionizing French football. :-) " ] }, { "cell_type": "markdown", "metadata": { "collapsed": true }, "source": [ "<font color='blue'>\n", "**What we want you to remember from this notebook**:\n", "- Regularization will help you reduce overfitting.\n", "- Regularization will drive your weights to lower values.\n", "- L2 regularization and Dropout are two very effective regularization techniques." ] } ], "metadata": { "coursera": { "course_slug": "deep-neural-network", "graded_item_id": "SXQaI", "launcher_item_id": "UAwhh" }, "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.6.0" } }, "nbformat": 4, "nbformat_minor": 1 }