{ "cells": [ { "cell_type": "markdown", "id": "484cae12", "metadata": {}, "source": [ "# Regression of a very complex function\n", "In this task you will learn how to perform a regression of a very complex function." ] }, { "cell_type": "markdown", "id": "26b13114", "metadata": {}, "source": [ "## Imports and Seeding\n", "First we will do the necessary imports:\n", "* `numpy` for general data handling and array manipulation\n", "* `tensorflow` to build and train the regression model\n", "* `matplotlib.pyplot` for plotting" ] }, { "cell_type": "code", "execution_count": 1, "id": "1833559e", "metadata": {}, "outputs": [], "source": [ "import numpy as np\n", "import tensorflow as tf\n", "from matplotlib import pyplot as plt" ] }, { "cell_type": "markdown", "id": "48e0eee1", "metadata": {}, "source": [ "Then we set a random seed for the `np.random` module. This makes our code reproducible as the random operations will yield the same results in every run through the notebook." ] }, { "cell_type": "code", "execution_count": 2, "id": "b3ab0336", "metadata": {}, "outputs": [], "source": [ "np.random.seed(42)" ] }, { "cell_type": "markdown", "id": "9d66dc3c", "metadata": {}, "source": [ "## Data Creation\n", "First we define the parameters of the data.\n", "* `n_data`: number of data points\n", "* `uncertainty`: the uncertainty that is used" ] }, { "cell_type": "code", "execution_count": 3, "id": "cb0f589d", "metadata": {}, "outputs": [], "source": [ "n_data = 10 ** 4\n", "uncertainty = 0.0" ] }, { "cell_type": "markdown", "id": "b89b8f85", "metadata": {}, "source": [ "We define `some_complicated_function` that we want to regress and model with our neural network." ] }, { "cell_type": "code", "execution_count": 4, "id": "f7de78f4", "metadata": {}, "outputs": [], "source": [ "def some_complicated_function(x):\n", " return (\n", " (np.abs(x)) ** 0.5\n", " + 0.1 * x\n", " + 0.01 * x ** 2\n", " + 1\n", " - np.sin(x)\n", " + 0.5 * np.exp(x / 10.0)\n", " ) / (0.5 + np.abs(np.cos(x)))" ] }, { "cell_type": "markdown", "id": "b6370006", "metadata": {}, "source": [ "And now we create the training data according to `some_complicated_function`." ] }, { "cell_type": "code", "execution_count": 5, "id": "7a21cca8", "metadata": {}, "outputs": [], "source": [ "x_lin = np.linspace(-10, 10, 1000)[:, None]\n", "y_lin = some_complicated_function(x_lin)\n", "\n", "x = np.random.uniform(-10, 10, size=(n_data,1))\n", "y = some_complicated_function(x)\n", "y += np.random.normal(0, uncertainty, size=y.shape[0])[..., None]" ] }, { "cell_type": "markdown", "id": "5745f7cf", "metadata": {}, "source": [ "## Data Visualization\n", "Visualize the used function (`some_complicated_function`) andd the created data `(x, y)` in an appropriate way." ] }, { "cell_type": "code", "execution_count": 6, "id": "c2066a2e", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "<matplotlib.legend.Legend at 0x7ff5bcbc0670>" ] }, "execution_count": 6, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\n", "text/plain": [ "<Figure size 432x288 with 1 Axes>" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "\"\"\"\n", "TODO: Visualize, x, y, x_lin, y_lin\n", "\"\"\"\n", "plt.scatter(x, y, label=\"data\", alpha=0.1)\n", "plt.plot(x_lin, y_lin, label=\"Function f(x)\", color=\"red\")\n", "plt.xlabel(\"x\")\n", "plt.ylabel(\"y\")\n", "plt.legend()" ] }, { "cell_type": "markdown", "id": "576b2822", "metadata": {}, "source": [ "## Model Setup\n", "Now create the model:\n", "- What is a suitable size?\n", "- How many inputs and outputs are needed?\n", "- What are suitable activations? " ] }, { "cell_type": "code", "execution_count": 7, "id": "5b91c84a", "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "2022-08-08 11:32:53.527919: I tensorflow/core/platform/cpu_feature_guard.cc:142] This TensorFlow binary is optimized with oneAPI Deep Neural Network Library (oneDNN) to use the following CPU instructions in performance-critical operations: SSE4.1 SSE4.2 AVX AVX2 FMA\n", "To enable them in other operations, rebuild TensorFlow with the appropriate compiler flags.\n" ] } ], "source": [ "\"\"\"\n", "TODO: Create the model\n", "\"\"\"\n", "model = tf.keras.Sequential(\n", " layers=[\n", " tf.keras.Input(shape=(1,)),\n", " tf.keras.layers.Dense(16, activation=\"relu\"),\n", " tf.keras.layers.Dense(16, activation=\"relu\"),\n", " tf.keras.layers.Dense(16, activation=\"relu\"),\n", " tf.keras.layers.Dense(1),\n", " ]\n", ")" ] }, { "cell_type": "markdown", "id": "29a3ba47", "metadata": {}, "source": [ "Now compile the model:\n", "- Which loss function should be used? ([Documentation](https://www.tensorflow.org/api_docs/python/tf/keras/losses))\n", "- Which optimizer should be used?" ] }, { "cell_type": "code", "execution_count": 8, "id": "3419b16a", "metadata": {}, "outputs": [], "source": [ "\"\"\"\n", "TODO: Compile the model\n", "\"\"\"\n", "model.compile(loss=\"mse\", optimizer=\"sgd\")" ] }, { "cell_type": "markdown", "id": "1916abda", "metadata": {}, "source": [ "## Model Training\n", "Now train the model:\n", "* What is a suitable number of epochs?\n", "* What is a suitable size for the batches?" ] }, { "cell_type": "code", "execution_count": 9, "id": "e862ab76", "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "2022-08-08 11:32:53.706288: I tensorflow/compiler/mlir/mlir_graph_optimization_pass.cc:116] None of the MLIR optimization passes are enabled (registered 2)\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Epoch 1/100\n", "313/313 [==============================] - 1s 955us/step - loss: 3.3028\n", "Epoch 2/100\n", "313/313 [==============================] - 0s 839us/step - loss: 2.7055\n", "Epoch 3/100\n", "313/313 [==============================] - 0s 929us/step - loss: 2.4204\n", "Epoch 4/100\n", "313/313 [==============================] - 0s 931us/step - loss: 2.5067\n", "Epoch 5/100\n", "313/313 [==============================] - 0s 931us/step - loss: 2.3120\n", "Epoch 6/100\n", "313/313 [==============================] - 0s 794us/step - loss: 2.1447\n", "Epoch 7/100\n", "313/313 [==============================] - 0s 851us/step - loss: 1.9975\n", "Epoch 8/100\n", "313/313 [==============================] - 0s 827us/step - loss: 1.9595\n", "Epoch 9/100\n", "313/313 [==============================] - 0s 1ms/step - loss: 1.8596\n", "Epoch 10/100\n", "313/313 [==============================] - 0s 1ms/step - loss: 1.8555\n", "Epoch 11/100\n", "313/313 [==============================] - 0s 1ms/step - loss: 1.7545\n", "Epoch 12/100\n", "313/313 [==============================] - 0s 1ms/step - loss: 1.7385\n", "Epoch 13/100\n", "313/313 [==============================] - 0s 1ms/step - loss: 1.7284\n", "Epoch 14/100\n", "313/313 [==============================] - 0s 1ms/step - loss: 1.7561\n", "Epoch 15/100\n", "313/313 [==============================] - 0s 869us/step - loss: 1.6605\n", "Epoch 16/100\n", "313/313 [==============================] - 0s 868us/step - loss: 1.6585\n", "Epoch 17/100\n", "313/313 [==============================] - 0s 882us/step - loss: 1.7112\n", "Epoch 18/100\n", "313/313 [==============================] - 0s 985us/step - loss: 1.5647\n", "Epoch 19/100\n", "313/313 [==============================] - 0s 971us/step - loss: 1.5456\n", "Epoch 20/100\n", "313/313 [==============================] - 0s 1ms/step - loss: 1.5148\n", "Epoch 21/100\n", "313/313 [==============================] - 0s 1ms/step - loss: 1.5149\n", "Epoch 22/100\n", "313/313 [==============================] - 0s 842us/step - loss: 1.4794\n", "Epoch 23/100\n", "313/313 [==============================] - 0s 830us/step - loss: 1.3628\n", "Epoch 24/100\n", "313/313 [==============================] - 0s 777us/step - loss: 1.2992\n", "Epoch 25/100\n", "313/313 [==============================] - 0s 919us/step - loss: 1.3159\n", "Epoch 26/100\n", "313/313 [==============================] - 0s 896us/step - loss: 1.2414\n", "Epoch 27/100\n", "313/313 [==============================] - 0s 1ms/step - loss: 1.2526\n", "Epoch 28/100\n", "313/313 [==============================] - 0s 906us/step - loss: 1.2024\n", "Epoch 29/100\n", "313/313 [==============================] - 0s 1ms/step - loss: 1.2452\n", "Epoch 30/100\n", "313/313 [==============================] - 0s 1ms/step - loss: 1.4079\n", "Epoch 31/100\n", "313/313 [==============================] - 1s 2ms/step - loss: 1.2188\n", "Epoch 32/100\n", "313/313 [==============================] - 1s 2ms/step - loss: 1.2465\n", "Epoch 33/100\n", "313/313 [==============================] - 0s 881us/step - loss: 1.1049\n", "Epoch 34/100\n", "313/313 [==============================] - 0s 788us/step - loss: 1.1262\n", "Epoch 35/100\n", "313/313 [==============================] - 0s 1ms/step - loss: 1.3948\n", "Epoch 36/100\n", "313/313 [==============================] - 0s 1ms/step - loss: 1.3239\n", "Epoch 37/100\n", "313/313 [==============================] - 0s 1ms/step - loss: 1.1606\n", "Epoch 38/100\n", "313/313 [==============================] - 0s 1ms/step - loss: 1.1691\n", "Epoch 39/100\n", "313/313 [==============================] - 0s 1ms/step - loss: 1.1968\n", "Epoch 40/100\n", "313/313 [==============================] - 0s 965us/step - loss: 1.1341\n", "Epoch 41/100\n", "313/313 [==============================] - 0s 930us/step - loss: 1.3034\n", "Epoch 42/100\n", "313/313 [==============================] - 0s 948us/step - loss: 1.2845\n", "Epoch 43/100\n", "313/313 [==============================] - 0s 1ms/step - loss: 1.2386\n", "Epoch 44/100\n", "313/313 [==============================] - 0s 912us/step - loss: 1.2885\n", "Epoch 45/100\n", "313/313 [==============================] - 0s 867us/step - loss: 1.2346\n", "Epoch 46/100\n", "313/313 [==============================] - 0s 797us/step - loss: 1.2440\n", "Epoch 47/100\n", "313/313 [==============================] - 0s 870us/step - loss: 1.2165\n", "Epoch 48/100\n", "313/313 [==============================] - 0s 703us/step - loss: 1.1967\n", "Epoch 49/100\n", "313/313 [==============================] - 0s 760us/step - loss: 1.2057\n", "Epoch 50/100\n", "313/313 [==============================] - 0s 716us/step - loss: 1.2921\n", "Epoch 51/100\n", "313/313 [==============================] - 0s 735us/step - loss: 1.2142\n", "Epoch 52/100\n", "313/313 [==============================] - 0s 784us/step - loss: 1.2014\n", "Epoch 53/100\n", "313/313 [==============================] - 0s 757us/step - loss: 1.1671\n", "Epoch 54/100\n", "313/313 [==============================] - 0s 893us/step - loss: 1.1388\n", "Epoch 55/100\n", "313/313 [==============================] - 0s 822us/step - loss: 1.1670\n", "Epoch 56/100\n", "313/313 [==============================] - 0s 728us/step - loss: 1.1155\n", "Epoch 57/100\n", "313/313 [==============================] - 0s 726us/step - loss: 1.0813\n", "Epoch 58/100\n", "313/313 [==============================] - 0s 715us/step - loss: 1.1049\n", "Epoch 59/100\n", "313/313 [==============================] - 0s 798us/step - loss: 1.1188\n", "Epoch 60/100\n", "313/313 [==============================] - 0s 743us/step - loss: 1.1613\n", "Epoch 61/100\n", "313/313 [==============================] - 0s 733us/step - loss: 1.1404\n", "Epoch 62/100\n", "313/313 [==============================] - 0s 742us/step - loss: 1.1646\n", "Epoch 63/100\n", "313/313 [==============================] - 0s 682us/step - loss: 1.0601\n", "Epoch 64/100\n", "313/313 [==============================] - 0s 829us/step - loss: 1.1094\n", "Epoch 65/100\n", "313/313 [==============================] - 0s 728us/step - loss: 1.0487\n", "Epoch 66/100\n", "313/313 [==============================] - 0s 823us/step - loss: 1.1232\n", "Epoch 67/100\n", "313/313 [==============================] - 0s 710us/step - loss: 1.0830\n", "Epoch 68/100\n", "313/313 [==============================] - 0s 703us/step - loss: 1.3614\n", "Epoch 69/100\n", "313/313 [==============================] - 0s 696us/step - loss: 1.2978\n", "Epoch 70/100\n", "313/313 [==============================] - 0s 834us/step - loss: 1.1628\n", "Epoch 71/100\n", "313/313 [==============================] - 0s 858us/step - loss: 1.1239\n", "Epoch 72/100\n", "313/313 [==============================] - 1s 2ms/step - loss: 1.1034\n", "Epoch 73/100\n", "313/313 [==============================] - 0s 1ms/step - loss: 1.0315\n", "Epoch 74/100\n", "313/313 [==============================] - 0s 1ms/step - loss: 1.0721\n", "Epoch 75/100\n", "313/313 [==============================] - 0s 1ms/step - loss: 1.1404\n", "Epoch 76/100\n", "313/313 [==============================] - 0s 1ms/step - loss: 1.1266\n", "Epoch 77/100\n", "313/313 [==============================] - 0s 957us/step - loss: 1.1222\n", "Epoch 78/100\n", "313/313 [==============================] - 0s 1ms/step - loss: 1.0518\n", "Epoch 79/100\n", "313/313 [==============================] - 0s 1ms/step - loss: 1.1090\n", "Epoch 80/100\n", "313/313 [==============================] - 0s 1ms/step - loss: 1.1900\n", "Epoch 81/100\n", "313/313 [==============================] - 0s 1ms/step - loss: 1.0362\n", "Epoch 82/100\n", "313/313 [==============================] - 0s 1ms/step - loss: 1.0526\n", "Epoch 83/100\n", "313/313 [==============================] - 0s 1ms/step - loss: 0.9986\n", "Epoch 84/100\n", "313/313 [==============================] - 0s 1ms/step - loss: 1.0294\n", "Epoch 85/100\n", "313/313 [==============================] - 0s 1ms/step - loss: 1.0449\n", "Epoch 86/100\n", "313/313 [==============================] - 0s 1ms/step - loss: 1.0502\n", "Epoch 87/100\n", "313/313 [==============================] - 0s 1ms/step - loss: 1.0986\n", "Epoch 88/100\n", "313/313 [==============================] - 0s 1ms/step - loss: 1.0191\n", "Epoch 89/100\n", "313/313 [==============================] - 0s 1ms/step - loss: 0.9759\n", "Epoch 90/100\n", "313/313 [==============================] - 0s 1ms/step - loss: 1.0348\n", "Epoch 91/100\n", "313/313 [==============================] - 0s 1ms/step - loss: 1.0427\n", "Epoch 92/100\n", "313/313 [==============================] - 0s 1ms/step - loss: 1.0209\n", "Epoch 93/100\n", "313/313 [==============================] - 1s 2ms/step - loss: 1.0890\n", "Epoch 94/100\n", "313/313 [==============================] - 0s 1ms/step - loss: 1.0216\n", "Epoch 95/100\n", "313/313 [==============================] - 0s 952us/step - loss: 1.0946\n", "Epoch 96/100\n", "313/313 [==============================] - 0s 1ms/step - loss: 1.0754\n", "Epoch 97/100\n", "313/313 [==============================] - 0s 1ms/step - loss: 0.9663\n", "Epoch 98/100\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "313/313 [==============================] - 1s 3ms/step - loss: 1.0651\n", "Epoch 99/100\n", "313/313 [==============================] - 0s 1ms/step - loss: 1.0816\n", "Epoch 100/100\n", "313/313 [==============================] - 0s 1ms/step - loss: 1.0420\n" ] }, { "data": { "text/plain": [ "<tensorflow.python.keras.callbacks.History at 0x7ff5bcc4c190>" ] }, "execution_count": 9, "metadata": {}, "output_type": "execute_result" } ], "source": [ "\"\"\"\n", "TODO: Train the model\n", "\"\"\"\n", "model.fit(x, y, epochs=100)" ] }, { "cell_type": "markdown", "id": "3a0d56fa", "metadata": {}, "source": [ "## Model Evaluation\n", "Visualize the model prediction alogn with the original function and the training data. What do you observe?" ] }, { "cell_type": "code", "execution_count": 10, "id": "ad7a746c", "metadata": {}, "outputs": [], "source": [ "\"\"\"\n", "TODO: what does the model predict for each x value?\n", "\"\"\"\n", "y_pred = model.predict(x_lin)" ] }, { "cell_type": "code", "execution_count": 11, "id": "d8bbf7cc", "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAX4AAAEGCAYAAABiq/5QAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjUuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/YYfK9AAAACXBIWXMAAAsTAAALEwEAmpwYAACFqklEQVR4nOydd5gV5fXHPzO3t+27sLDA0qT3pgIWrBHFrtEYY/lpNIndJCYaTTQajRpjYjQxxqixRGNX7CCKYgGk97awvd5ep/3+mLv37soCy+7dwjqf5+Fhd94p795y5sx5z/keQdM0DAwMDAy+O4g9PQEDAwMDg+7FMPwGBgYG3zEMw29gYGDwHcMw/AYGBgbfMQzDb2BgYPAdw9zTE2gPBQUFWmlpaU9Pw8DAwOCQYuXKlQ2aphV+e/shYfhLS0tZsWJFT0/DwMDA4JBCEITdbW03Qj0GBgYG3zEMw29gYGDwHcMw/AYGBgbfMQzDb2BgYPAdwzD8BgYGBt8xDomsHgMDg0MLXyTBjvogoZiM225meKGHHKe1p6dlkMQw/AYGBhnFF0mwdGsd3oiEoqqYRJEqb5S5hxUZxr+XYIR6DAwMMsqa3V4qvFGsZpFshwWrWaTCG2XNbm9PT80giWH4DQwMMsr2+hDRWALvi68QfuAhPt1WTzSWYHt9qKenZpDEMPwGBgYZpc4X5vOdjUxb8hYnf/QSwYjE5zsbqfOFe3pqBkmMGL+BgUFGqQsliMoKYjSKORbFG0mgolIXSvT01AySGIbfwMAgo4QlhXhCwhyLYEtECcYkzKJKWFJ6emoGSYxQj4GBQUaJxRVAwJaIY5fiaKoGCMntBr0Bw/AbGBhkFLNZIBRVcEgxRE3DqSUIRRXMZqGnp2aQxDD8BgYGGcViMtEv24EtEQPAFI3QL9uBxWTq4ZkZNGMYfgMDg4zicVqISBJ2KQ6AXUoQkSQ8TksPz8ygGcPwGxgYZBSHKJBQwJ70+J2JKAlF327QOzAMv4GBQUaJSCoem4gj6fHnIGM1Q8BY3O01GIbfwMAgo0iywnBX2rQ45QSFThveUIyYkdLZKzAMv4GBQUYpyrETbgqmfk8EguxuCqMhUOWN9ODM2k9MUqj0RthZH6LSG+lzNyyjgMvAwCCjjCvOYcuXaXkGMRImKin4ohJryn0MK/L04OwOTExSWFXexI7aEOG4jMtmZng/N1MG5WG39I3MJMPjNzAwyCh5LivZalqeIR+Fomw7MVniq10NPTiz9rG52s+XOxrwhROoqoovnODLHQ1srvb39NQyhmH4DQwMMosAWjSa+tUmxdBUAYsoUOOP9eDE2seKXU2EYzLxPeU07a6iIZwgHJNZsaupp6eWMQzDb2BgkDFikoKmgktOG341FKI+ECMQk7GYer/JqfJF8UYkzvvjzSz4z58A8EYkqnzRAxx56GDE+A0MDDJGYyiOzSoitPD4HYk4CBqRmILF3PsNv6pqBKIJbI11KIKFrbUBXFYTHmvfMZe9/10wMDA4ZKjwhvl6VyOWWNrwWxNxRMDjsiBJas9Nrp24HSZ2NYSxRKOYIxGqfFF2NYRxO/rGwi4Yht/AwCCDbKkK4o9KWOLpWL5HiWG2mOjvsSMrWg/Orn3Uh+IICDgSUWyJKKgaAgL1oXhPTy1jGIbfwMAgY9QEY9T5oziTVbuSaMIaj5OQFPyxBPme3t9svc4Xx6wp2KU4bimOy25GFPTtfQXD8BsYGGSMcExCU8Gt6OmcXkcWtkSMaBzikkpJrqOHZ3hgEpqKM6GHqmyxCKG4ggmVhNb7w1TtxTD8BgYGGcNlN9EYSqCG9MbqTc5s7HIcmwnynXYiMbmHZ3hgnGYz/kY9Z9+eiBGMSlQF4jjNxuLuAREE4UlBEOoEQVjfYlueIAgfCoKwLfl/bldd38DAoPvRVAhJCSyJOAmHiViRBacUw2wVQIP6cO/vu5uQZGxx3eN3SjFUVQYBFKXvyDZ0pcf/FHDyt7bdAizSNG0ksCj5u4GBQR+hKSpjEU04pRjiLRqTbtlGjiMICMiqSlzu3cYzJinUhhLkKOl4fq6g4XGaCfYhddEuM/yapn0KfLvU7XTg6eTPTwNndNX1DQwMup9oQkZSFGzxGOYRKoII2XkhBASsFgGXrXc3Y9nVECKRUMglHZJySlHsJhHTIVB81l66+y/pp2laNUDy/6J97SgIwpWCIKwQBGFFfX19t03QwMCg40TiMo0hiSwtQnidHQBXVpRQVCHHZWFIvquHZ7h/ttcGKci2I4ZDqW0eOU4kpjKyX++e+8HQa29hmqY9rmnadE3TphcWFvb0dAwMDNpBXNF0zz4usfOZgVTsKsLqlTCbwBuRKXT37nROX0TCZhZwSOm1iEhjAFnVGNU/uwdnllm62/DXCoJQDJD8v66br29gYNCFOMwi+U4LdilM1GLnjXeOxfa1hN0sMCDHQaiXx8m9kTj+mEyOki5Ac8sxbDaRsoYQNf6+odfT3Yb/TeBHyZ9/BLzRzdfvVvp6MwcDg2+T67YSk6FwoI+Z92yg/3AfJk2lyKIwOMdOMCb19BT3iy8iIWga1ngLyYlYjFBEoi4Y5+tdjT04u8zRZYmpgiC8ABwDFAiCUAHcAdwLvCQIwuXAHuDcrrp+TxOTFFbv8bK9Lphq5jCiyMPkwbl9ppmDgcG3GZTjZM3uJmxm3WM+fPoqGAcjrSKCyYzF0rsbroclBbfNjCmSbiTjUaLIKmyrDVLgtLJgckkPzjAzdJnh1zTtgn0MHddV1+xNbK728/GmWvwxCUVVMYki5Y0R7BaRyYPzenp6BgZdQiSh4LJbcVj1dMhAws3AgjqiO30EIgmOG9uvh2e4f+xmkfqghCmaDvVY4nFMAmho7GwM7+foQ4deu7h7qPPZljq21AQY+PYrhDZuZWd9iC01AT7bYixrGPRd6oJxcu1m7DY9pFMf6w8O0Pw1uB0WPLZeXv2qqPhjcRyJlrLSUYJxCEckZKVvyDb08nfh0GVNpZ+KpiBPPf17Ak4PZ//uVRrhkNAjNzDoKBYzqAhYrHpWTFWiGICRdi9osLrST2mhhxxn78zu2e2NYbcIOKUYIasDdyKKQ4ohA3FZRRB6d6iqvRhWqIuo9kWI+QIAZEWC1Afj+MJxqn2RHp6ZgUHXke+2YpbiiFs0Vq2dSEVCD2u6pFr2NISoaoqwuar39q71RRLIMrikGI1OPX3TldDDPioiYh+xmH3kz+h9ROMKciAdJ5QU8Ef17QYGfZX+WU6kYAjWw5L1R7IlPggWgVsxIwgmtteGWFvZew0/moqsqrgSMUJWJ1GzDYcUQwAG5dkR+ojJ7Bt/RS8kLivktOg7ajGB3QTxPhIjNDBoi3hC4TAn4IagGXYpg+FJ8NY6kTUVp8PM9vpgT09zn2Q7bQiCiFOKErHYCVvtuBNRbIAGFHhsPT3FjGAY/i4gJilogoZDTnv8KuC0CrjtxrKKQd8lEJOQgmG4Hi4+biEJpxMEsMd9yKpGNCZjovfGyYuybBR5bGRJUcJWB+FknN9igYgkUZrX+/sJtAfD8HcBm6v9WE1m3PF0PF+SQRA0hhW6e3BmBgZdSyAaR/L5wQkh2UnQYoe/wNyJn7CzPkAkIZPfi2UbBuU6Kcp24JbjJBwOwjYXWYkIHruJkYU5mE19owbHMPxdwBc7Gsiym3Am0h4/GsjA7BEFPTYvA4OuxBdJ4IsqZClxcEEEDwFJRAkJZNnDxBWFSm8Up733Gs/hRR7cNhOOWISwxU7Y5iArESHLYSXfZULqI6Faw/B3AdtrgwQSMtlq2vBrGnisVoqynT04MwODrmNHfZCCLBs5mm74vZILmwnkoBmXI4KmCLjtFrbV9N4Yv4aGooIrESVqcxBxuPEkoljMIjsaIiD0/mbx7cEw/F2AnrqZwNHC47dbVMwmgVii97eeMzDoCE2hBPkuGzlKFBzg0zxoKkghC05XnGyHlYQkUeXtvUJntb4Y+S4LjkSUkM1J0ObAFQvRGEmggeHxG+ybuKwSl8AcSX/AxWiciCxjtxqLuwZ9E0XTEAQNORCCZ+FT3yRkDSIhG1ZngrpQlLisIfVi2xmIySjhMCZVJWax4zc7ccajBMMSgqoSjPaNdGzD8HcBiYQKKriktOE3RWMoiobL1nvjmwYGnUFT4YttjSjBCLwLyxMTkYC6snzqF+djViS8EQlnLxYpVFGIe/XCS6/JQdjuxBMPI2gau70xGiOxA5zh0MAw/F2Aiobdqlf/NZMlRYnFVRS1b8QIDQy+zcYqH5oGlrgP+oPqEDEBe6qKCS+0o4gW8t2WXh0nd1utCGFdiM1vdeC1uLCoCjYlgaYoNAZ7t6x0ezEMfxdQlG3HbBZwt/D4C4hit4psrg704MwMDLqOXQ1hfJEYg7PK4UGY6N6OAgTtTnJsQXJtEqIJHObe23c3Jiu4klr8UYuDkE1PxrBFI9jNpl7fLL69GIa/C5hQko2AgKulwl88ittmZkd9yGjIYtAnCUQk4oqKRdUlGRrieo9aoVgl749+5rq+wma29NpwZ0xSCMZlsmVdUjpqdRC16wVbWfEITdEEQh9puN43/opexrjibEwmEXs8HepxxGNkO6wEIxK7GkL7OdrA4NBEFAVqAjEcgv759st6sWK9ogu1FdCAqinkOnunx98YimMRQQzr6aZ+q4OARb95ZSXCaIAgK33CcTMMfxewxxsm32nDmYgSsejaHm4phi8ike8xs6EXqxMaGHQUSVZxmAWcJr1i3avohr+aPFAhJ1FLrsOOqZdKk1f4ItQH4lhi+pO6arcTSIZ6XLEIbpsJRROo8h76Cru98x04xPlmtw+LWcAtx2hw5QJgT0RJaCoem42GULyHZ2hgkHkUICGBwxJDUyGk2gGIOtwQhBJrgMZwglC8dy6Qbq72Y7dYsEb0J5aw3Uk4afhLzBIuqwVJldnUiwvQ2oth+LuAhmAUfziOU4rR6NYNvyUaIxyViCRkzGLvFakyMOgokqxiMoO02sKmhcNRk+bFb9MNv0tpQFNUGgOJHp5p29T6o/iiMTzJGH9AdBCy6oY/X45htpgp9jjZXO3rwVlmBsPwdwGqICJr+oJurTPt8UcTsLU21PvbzxkYdACzCRKyhmW7ws4tw2iO5PvtbngDttROJdtlpSGUoMbf+6p3I3ENTQN7UlzRlO0m4dRj/DlSlJGFLopzHcSNGL9BW+Q6LGiIOBNRfA4PkmjSpV1NIKkqdf6+UQRiYNASs0kkz23FUxBC6K/hsOq9XUNONyyDXbsHEknIFGbZWF3u7enp7oXLJuCPSgjBIJLZgtVpQ3LpHr8nEUUUBARBozDr0JdmNgx/F5DvslLgtuCORQjYXIStDjxSDLtFxC4KlPdirRIDg46S77ZiN5twXhRl2rz1FGTZEAGf2QVuKLVuBwRsJthdH+7p6e6F3WLBajZhiYSJ2pxYLSIJk4mw1YEl6KcqGKOiKcbo/lk9PdVOYxj+LqDQY0eJJ3DIcSI2JxGrA0ciisVqQlJVQnFDqM2g7zEk30WhpiA4Iao4cFstuGyg5rjgRPj+8S8yosAOgkhdqDc6PxoiAi4pRtzuQAREDYJOD65IELMGggn80d65RnEwGIa/C1BVjf7oC0Q+m4uoxY5HjiEiEEkoOIwYv0EfJMdhJVsKgxMSeCjJc5LjtpKV7UaK6J/5PHOISCyBSeh9pkdSNQRRwxEJEXG4CCZkBBECdjfOcAANcJhENlQe+tX3hgXqAgKROKrXB0DU7iRsteOIR4knEhQUuRmQ1Tf6dhoYNOOLJChrCGEOB6EIfD4noZhESY4TkyCQSDixEMCmNTGooKhXtiCVFJWYpGAJB/FbnPjDMooMAYeHnGgQRdPY1RCGXtw6sr30vtvuIU5MUqj2x8lX9cdB2e0manPoi0OiSL9sOwNzXT08SwODzPL5lnrKG+MMFMJgA9mai6KBTRCRNY2YpC+SZmlNNIVlBuX1vu9AOCZR0RjFGQkScbqRZYgBPrsbZyiArGokVI1wH+ipYRj+DNMYiqOJGqq3CYCgzUXE5SErESbHZcdiNZPv7L09Rw0MOsLyskaKc61YIlF4CLbLR+C2makNxyhwWAkp+oKoVW3EZtLw2HqfbEOtP47HYcITjxB3ZWGz6gay0aqHenxRCVHTsJt7p9bQwWAY/gxT4Y0Qjil4krnAfpsDn9mBOxbGZREZnGPHaj30PzgGBi0JSQqSouKRE7ACNktDiSdkEETyPDbiSgFNLw8g6JqGx26lMdT7UpoVFbKdVtyxMLLHg8MqYkWvQ/BEgoiahmgScDl6303rYDEMf4ZZV+nFYTWTk9Til11uwnYX7niEIYVugjGZhHLoF4AYGLSk0G2hIRAnN9EAE6Gg0AIa2C0mFEXFZ8pCXgo7IwUoikpTuPfJNpTkOsh2WHBEQsRcHuxWMxoQcnqwKhKmWJS4rJLTBxw3w/BnmFp/HI/NhD2q631U4yBoc+GKR3CKGt6IjD/S+z70Bgad4bCibExmEbu8CX4J3vgeTGaRHIeZ7fVhvHYPniIvuYmNbK8PE5F633fguLH9sMYiiJqK5PIgyypmMySysgHwxEKYTAIBI8bfMQRBuEEQhA2CIKwXBOEFQRDsPTGPriCWkClrDOOM6gUqAYuTBrO+kLVzZw01/jABw/Ab9DE0AayiQL6gpzomXMVYRYFoXCEqK/ic2TguibJAfJKorBDqhb1rR/bPYoRFN+rlmpW4JFOQZcFaVABAsRTFLAhU+GKHvDRztxt+QRAGAtcC0zVNGw+YgO939zy6iqikEEhIuGJhohYbMcFM0K4bfkvAz+bqIJtqDFlmg75FuTeE224lz6I7PO7cItx2K43hONl2M9HsHAhAntaATRTx9bIiqJiksHJXE6aQrrw5sLSY/jkuTJpIZdIvNfmaiMRlwnH5kO+p0VOhHjPgEATBDDiBqh6aR8ZJyBpZVjPWcJCAzYUCKWnXfloCi0lgc20IX6R3ffANDDpDJK7QFI4jyj4A1lVDUziOht7HNpaTBwHIEX2YTCJxqXc1NKnyRvi6rIFYbSMA9WYHhW47CVWlStDrbrLiIcwmEUGDlTubenK6nabbDb+maZXAA8AeoBrwa5r2wbf3EwThSkEQVgiCsKK+vr67p9lhVE1DUfTqv2BS0tVv0z1+f209UUlGVWV21B/6mt4GBs34o3GqAxEcYhRVFpCx6b9bRBKqQp3VDQFwCj5qAjFsZlOvamiyqTrA1uoAkTrd1uyRTMQkmWhMIuD0AGD3+1AUjWynmc2H+FN7T4R6coHTgaHAAMAlCMJF395P07THNU2brmna9MLCwu6eZoexmkXqghLuWJiI3YUGeJOGPzsWIhpXCEZlNlUd+mXfBgbNRBIq0bhM6DM7W54fSVNUIhqX8TisWMwiZaJL1+S3RPDYNHwxiTXlvp6edorVe7wEEwrWsB6q8lvd+KMSkgYBh764WxgPkuWw0RCMEYwd2gu8PRHqOR7YpWlavaZpEvAqcGQPzKNLiEkKLhvYIyGCyRBPMGn4reEQmiDgsplZvfvQflQ0MGiJPyYjagK2yjjlVcXIqoqoCWiAomioeXnwGby99CzcVgs2k4nVFb3nO1Dpj2C3mHAms/G8FgdxWUHTwJHnIWq1kxfxIykqsqqhaVoPz7hz9ITh3wMcLgiCUxAEATgO2NQD8+gSonGFhAJZiQgJt/6IGEgu7mYnwrhsFqJxmZqg0X7RoO8gyyoJNPKG+XAelsBuNpFAQ1U1zKJAjdmJWidQudHGzoYIFd4Q/t6Uy68KWEWNHElXDQ3aXdgsIk6rgCiA152D2+/VQ7Wais1yaOfyd7tSkqZpXwmC8DLwDSADq4DHu3seXUVc0VAFjaxIAK/DgwCp9m25cgxRFNBUjWisF33oDQw6id0iIiVknKdFGGrdRTQho6oqdotIIKpQEZQI5rmYMHAzbqWGssZC8l29p6FJUY6NKn8EeyhA3GJFtNmxChpuuxWbxYrfk0d+2IvNImIxmRAP8fapPZLVo2naHZqmjdY0bbymaT/UNK3PuL8Oqwk5oeKJBgk4PGiAbDITsdjIjoVB04jKGnZDmtmgD2E2ifQXZQQHhGUnZlEky2HFbBKpDUZRFAj2d3HkqauY5NyEokBtsPdo8vfPcmA2ibgiAUIODwoqZpOI22bGJgpEc/IojAYoctmwiQJW06Fd+3poz74XYhIFBlokzKpKyJmFPekYBGwubNEQigo5DhPZfUDvw8CgGZfVgisaBhckRA/ZLisaAi6rhUhCwWaGJkVfJM0R/djMEEn0nnROVdMocFrJigQJOLMwiyYKnFasFjPZDjM1dg8OfxNVgSjZDjNu26Ed6jEMf4axmcDUmFTmdGVhtejxtLDdRYESo9BtxWW1UOg2NPkN+hCaiifqAxc0yG7MgsCQPBcemxlR1NCARiEPTYUCSxANEMXes0AajMtEEgr5sSBSTi5FHhuRhIIiq+xsjOBz55Eb9iGoGjsbI9gNw2/QTI0/Sl0oQU5cTwlrtLpQVLCa9MUiazBAMC7jsJkp8BiG36BvUNYQosofIyfmAzOExGxikozFIjCkwEWxx0lCgTprNlpYwI2PhALFHmdPTz1FJCZhNgnYAz7qrS4aQnHMJgFfNIHVIhLJycOkqvSTI1gtItW+3hOm6giG4c8gy7Y1IMsarrCeox/35GAWIaFAxO7Ck4hgFtDL1YVDe3HIwKCZRRtrcZpEilUZfgVfROahIiArKmMHZJPrMmMTwevIQgho5Jl82ETIdfWedS5Ng9pADHc4QDwrB0HQf4/LCoNznSgFRQAMUSIMznXijRh5/AZJVu1pQtVUBmjJlDBnFjFJf5GjTjfuaAizxYRFFKlq7D1ViwYGnWFbXZAcjxVzkxf2QLl1CLl2M5GEwujiLAIxGYddJJGXh/BXeKb2IixmaOxFYoUxRSHXYcET9uN3ZeOwmMh1WhFNIh6bmXh+PgBybQ21vugh33zRMPwZpDGUwGYx4QnrRSBKXk7qAxJ3ZeGOR7CbTQgCNBhaPQZ9BEmS2VTjp0ipgOMhZIlS5Y+R7bSS47QSlzWybVaCWblQDrLXjCAI+MPxXqPX47ZYEINBzKpCleigyh8lLikMynVSE4izQdJDs9mBJvxxGUlRKTuEhdoMw59B3HYTvoiELegDoFZwoGhgNkHM5cEVCYIGmgoqvWdhy8CgM0gqNATiFFn2wKXgMTURlSTMyXBmoceGaBaptOfAMDgz6y1URSOqqGyu7h2aNwlFRm7UBdrCrixEAQJxmUF5TrLsJqrtejGmuaEeu8VEnsPKki11PTnlTmEY/gyS7bSCpuIMBYhY7YQEExYTmEVodHiwKDJq0E9clY2sHoM+Q1M4gYZGtqYb8caEAw2NprD+VHvE8HzCCZkqZzZMgfPHvEVMVhAQWLq1tienDugyK2X1Ecxe3fAHXFnYLGZMJhFF0bCYRCKubBRBJDfkJyYpbK0NsanS17MT7wSG4c8giqp78XmxICGnB7fdjNUMVotI0KU3mzY1NpGQNJyHeDpYb8cXSbBydyOfbKll5e5GQwa7C2kIxbFgIteshz5Eex4WTDSE9LrME8YVo6kq5dZ8CIAoQKE1iCTJrNrT8x7/mvImdnsj5Mf1+VeKduqDUQZ4rIBAtS+OLy7jc2WTH/ERl1Qq/SF21R+663S9Z1m9D+ANxXHbLbjDQXx2D4qs4bSaUFSNQNLwFySCeDXYVhumxh+lf3bvKVvvK/giCRZtrGF7fZhaXwRNEBiU4+Cs6YMoLXD39PT6HGYBVEHDJeppzEHViSpomJMLXP2zHVhEEwm3g0TEjBWZfrYQuxK5VHt7Pi1y0cYaVDSyYrrhF/IKsIgie3xRJg7OZ215E5GoRp07l1x/A6GEhJwAX/TQFRwwPP4MEkvI1AcTZEf8hNzZIGhE4gqyptJg0Q2/O+gDk4AvHGPJ5p5/zO2LLN/ZwIqyJnbsrmPMey9T4wvz5a5Gnv18l+H5dwFFWQ4sZjNOcxRZEpEUMxazmaKstFOja1QJeGX9e+DQmgjHNWRN7alpp9hWF6LQacYV1J8+asxOpISMLyJx0vj+xGQFswlq3fkUBhpRlOS6ndw7FqY7gmH4M0hU1pAUiayglxpHNv6ohABEItDk1BU6nQEf4ZhCOC7z1c6Gnp1wH+WbPT5q/BGGL/+EK565l4FlW0gkZFaX+1m7x9vT0+tzDC9y4rGZMb8s887LJ2OziHjsFoYXpQu0zCYRSYF6OReALPxIir69p5EViEi63r6KQJXZSULVGJTjYFRxNmZRQNagxlNAcaABTQNZA/MhLNTW8696HyKhqIQTKnkhHw32bBKyigokgAoxKc0cCaBqKtGEwp6mnn/M7Ys0heNU+2NYk4t1QlMTQUkmFE+wscZogJNpijwO3IkI1pBMhTIQi1kkx2FhSIEntY+m6bINFbH+VNxRxJLwLLTk9p4my27CG06Q5W/C7/Rgs1oZ79zJLbl/AClItsOGokCVu4DcaAAtFieugNN26OptGYY/gwRjCRyJGK5EFL8nB4tJRABUoMHsQhFEHEE9KyCSUIhKh3b1X2/FadG/yPZk42x7KEggKqGi9S4N+D6AL5Lgq52NaHW1cBQUDa9ERGBwngulZRhHBZcN6lwF5O4OIGPFZdO39wZEQSEn5KXRmUNMUbgw51VmiO/D2tsxieCwQXVWAQBFoUYUoDEYPWRDh4bhzyAJGXIjukcZys7DYTFjFtEz9gURv8NNXiSAooIko9eJG2ScPI8Nq1nAFtLfCzHgR5ZUZBUcNuMjn0neWlPJ6govNq8XToTRw7ZRE4hT4wsjtjAvVouAqkJTVi6uY2Kc5vwYSQazqefDJf6YjCCYyA37aXDloGlQYqnRByfcjt1swixCtUc3/IMDDZgBb1jl7TWVPTfxTmB8CzJETFKwmmCIqmc2NLlyQNTIdtswAxYT+BxZ5MaCWET9d7WXeDt9DZfFjMtqTWVpuKNhFABVxX0IP573Rt5YWUE8oVIQD4ITfFoW0bjCzqYgOc70a+2xWzGLUOfKhxNgvvNjZAVktB6v3vWF4wRjCvlhr/69BQaZK3k3ehpYcxmUayeuqCnDXxBsQAYE4P311T02785gGP4M0RiKMzDHhcunSzI3ubNxWU3YTSay7CCKuuHPiQRQNP13I5e/a9AlfyEnoedZZyfCCAIomkY4boR6MkmFL4xJgKyQD9zQRDYWAXwRhRH90jH+fLcVu91EjTMXglBg8iKKEIrKrCnv2d67MUlFUyAv7KfJlY1TiOAQY+xODIBIJbeYf8QxjmVUenS9nuKgnpQR1WBP46Ep22AY/gyxsz6ErCkURH0A1Nuz8IckPA4LA7OdiAL4XFnkRgMIol7E4rEb3mdXYDWLxCVZl8gAsmMh7GYTqiZQF4j18Oz6FhoQkyA/2gAu2CX1J6KARYShLWomBuY4sJtNNGTpRVx55gB2K0iKwqKNNT33BwCSpmJVEnjiERpduUQ0JzM2v8xroQVg74/bonJdv2dJWCx47R76BxtTx9b7D01HwjD8GeKrnQ2oqsCAZPVfOCcfh81MocdGYZYdWU17/IIGsgoWs/HydwUaEIpLqVCPMxoiKilYRI1Q3FhQzyR5TitxoBhdt2aP1g8ZKPTYsbdoSD61NJ9gTKbaVQgB8FhDhGKgKSobK3su0yomKQga5Id9ADS6cjCLAjarBavVCaIJ06Q7GWGv4PScT6jx5FMcrE8ff4gu0xmWJ0PsbAhRHYjg8jcRsdqRbA5MooasKCRkDadFxO/0kBMNIArgtIjE4kaQvyvwRuLEFQ13VF9v8cTCSDJ4ozIWsxFeyyQOixkzYKtKUH5DIQv9s7Ggt2JsyYyh+WiaSr3FTiRqxW6LI6Lgj0NNqOeewjbX+DEhUph8Um9yZfM990f8quhvDM1P1iEMOosN0WFc3+95arLzGBBI198conbfMPyZot4fpymUwO1rpMmZTTQhE4wpNAQlYrKM2SwSy87DqsgUCBIagpHO2UVUNkVIyKQXd2NhYipoqobTMPwZJSor2E3QP+ylzlIAgh27Sd/ekhynFRMCJmDXshK+uHMyVqsJQdO7X/UUX25vRDRDbsgHQJUthyNc33CkcwUzhhXqOwkij9ZdxBBbDdZZMgMDaVVOZ88nJXUIw/BniKgkEYop5IR9eN25qBqEYgpRScJuNSMi0OTQF7ssjY2EEgrhhNzjGQ19kZ11QSRJJSsvBDMhW9F7vEYT4HIYhj+TSLKCpMGQwZXkneHHIui/S23IGVisFhwmKLf3p19jA5GELn1gMvXce7JidyP1vliLUE8ugy1VVMoDmV6al9pvpTKLn+7+JUtqppITC5Ed1dePRDOHZC6/YfgzREIVsJggJ+Sjzp5NJKFiMenbi7PsmM0iNRZ9sSsn7EcEQgmZNRU9m9HQF6kPxbElYpimaHAdZMt6yEcBZPVQfTjvpQgCigp5w/yUTK8lqogoKm22FvXYzIQV8JW4KD2tmlLrbkIKrdYCupsddSHiKvRLLtg2uHMYYq2iLN6foYXpxWmnxcrHwbnsyh4EQKm3CgBFgeU7Gvc+cS/HMPwZwgzEZciP+PG6szGZ9N/NwMTBuaiqQo0jqVPi9xKTQFUUFq03hNoyTSAikR0Lgf5ykztHXzyUIdUcxCAzJCQFqxTDliUTjLgQkuEcWdl7/UrQ9PZD3rwszCcqTBW3ABCKxHrMaw7GJOIKFAYaqHfmYLVGyTaH2Z0Y0OqGlO+xYhJh8Ig6uAtGBctT0sbLtte3ffJejGH4M4SqqWiyQl7YT60jF0UGkwiiIDC9NI94QqXCqVuivLAXGfBFVVaWHXreQm+mrCFEMKGncJJ8UrcMULDKehzZFz30Hst7K75Igqgk0z/khVzwxrIxiSCIIAh7m5agrOExwQ5zCQBD5UpMgDeisXxXz3wPlKSeVlGwkRpPPvnmALvj/dkVG9hqv/mTBpKQYZt9IAyDUwZ+igzYLLDjEMzlNwx/BqjxRwnEZfqFvJg0ldrsAtDAYtYfY4cWuInIKvXOHFQEBoSbsJp12YZyb7inp9+neGN1BWYBsmPBlMdPFnjiYcxAMGqsqWSKjdV+LGaRklgT5OrKmxYLOCzgbqM40SoIIMAe9xAASoXalGb/Vzt7xvCbkxMoDjZQ6ymgLD6Io7c8wZfxma32O2PKILIcsDQ+ldhGC0dMXkeOGEFS9D4chxqG4c8AK3Y2YhZFhsT1D29TTgEOu4DTbMJhM+uPjBqoJjNeZxZ5IS+KrKeCJWQj5pxJvtjegKhBXiSQ8vjxQFY8TI4d4oph+DNFeWMYu8VEjq8RrFAhF2HS9I5zI4v2bngzY2g+MRl2OYshCEVaI3ENHFao8vWMUq3LZsEK9A82Uu0pQAOsye0tyXFacSf33bFkEDanxCVFb6OoEEkcep8pw/BngO31IexmIbVAFMwrwiwKJBAYU6xn8ljNuqGvd+VSEPahoC82Wo0eaBmlyhdFBfKifrgHtteUQJae2mm1iMSlnteG6SvsqA8TCssUhr3wU/hD7SWEEmA1mThubPFe+18yeyhuO9Tb3SgBgSw1GSLRIJromdTmLIcFtxonNxakMTuf20ue4A+D/0Kes42e2KIJmwk2hkYQX2Pm0rxXsBEhphx6ztsBDb8gCD8TBCH3QPt9l/GG42Q57AyK6U0+yp05aIpKvsPC7OF6LrDHaUMD6ly5FIX0TB4tud0gc8RlBU2AgkgAauHTximwKxnzF0yEExKbq3u+z2tfYO0eLzFFpV/YS8Jkxm/PRkGP8c8eWbjX/qOKsynOcoAgsOlPQ6n8bxE2QU+CCMa7/2YckxTMgkhBQHfYqlz5zHCuZ6C1kQG5e38v7WYBVYOdOcXYnpP5xc5r8akOmgIJyhoOrTh/ezz+/sByQRBeEgThZEHofFqEIAg5giC8LAjCZkEQNgmCcERnz9mT2Cwi3nAcd0MtCZOZaksWmiBQnONg0hD9nukwm3AADe5cCsNeRMCR3G6QOTw2My4bDDbXEDnNxvveI+BPeqjHZTUTjcl8vKlntWH6CuW+MJoAh2XtQr7GxEBrPXYBJFklx2lt85i4rOE2Q3nuQIZ6qzCLuqBeT8TJl+9qpCEYY2BIr8St8eQzyFJFg1BCcbZzr/1zXTZiKuzIK4FKqNlZAAhENXh08baMzm1teRN/eGc9N774DX94Zz1rMyxkd0DDr2nabcBI4F/AJcA2QRDuEQRheCeu+zDwnqZpo4FJwKZOnKvHqfbHaAjGKAo0UuvOR1UFQjENm8WU+gIIgoDHAY2ePArDXqyihsehbzfIHMPzPditIkNza3B+P47doxuUglgIkyjgtJlYX2F04coECUkhloCBWXU4Z8QRRb0lodRGKmcz8aQWufVwiUHnV6MmZCKy3sSou3lzdTnhhJTy+ON5VjymCGXxgQwvytpr/+GFLhRgc2EpAIc1lPHz/k9zfb/n+Hhz5pyJteVN3P/eZpZtqEL+/HM+31jN/e9tzqjxb1eMX9P7o9Uk/8no+RIvC4Lwx4O9oCAIWcBR6DcSNE1LaJrmO9jz9Ca2VeuKmwNCjTTkFJDtMmG3QlldMLWPzWQipkIgOxerIpMnhQjG9XRPg8wxdVgeNrOJbJsPAI8nCn+GMVk7kRQVf0RKGR+DzmExmZCAfIcPVYXKeB5Scvu+cFlNmEyg9tMQ58AAfzUq0BhR2dLNIbg15X4CMchPGn5zvu4kbAkXMqkke6/9Jw3WswXKc/oRNdsYXb+HAZZ6flz4KjYpc1lJ/166g+21QYq2recvf72WsSs/ZXttkH8v3ZGxa7Qnxn+tIAgrgT8CnwMTNE27GpgGnN2Baw4D6oF/C4KwShCEJwRBcLVx3SsFQVghCMKK+vreXSDhi0tYRCgINFLjzkdSNCyivr0Zl82Ey2qm1pUs4mpqQlUhEJMOyZLv3orVLKJpkOUIo6qwR+kPhVAkNhJOSDSF49gNVdSMoKoaaBqenDDBgItEsqTJtJ8m5COLPITjsNvUH0QYF9aNmQI8/MHm7ph2ijpvFAnoH2wgYHMRNdv5KjSezcFBDC3y7LX/nJGFiIAmiGwtGMxh9bt5uPYCLILEVUUvZWxey/c04QvJjNq2DoBPCkbjC8ks39O9Hn8BcJamaSdpmvY/TdMkAE3TVODUDlzTDEwFHtM0bQoQBm759k6apj2uadp0TdOmFxbuvVDUmzAJIk0RjX6BBqrcBSiqSjgOjhaeT57HhtsqUm3XvYZ+US8WEQLRhBFzziBfbm9AVsDljhIL2WiQcwDINfuRJX3h19oL2v0d6pQ1hPCGFfKiAcxFKnUh3aExoxcz7os5IwuRga3mwQCMS+xMjX2+o2EfR3UN4WQi0SB/LRXZRXwTGcP5O++lLNG/TRmJ/tkO+rv1z86WwiGMbiijLDGQl73Hc17euxAuz8i86nwyUWBKxUZ25A2k1pVDFGgKZC7zqT0x/ts1Tdu9j7GOxOYrgApN075K/v4y+o3gkKTGH0VVZTyxIDZFotKVTySh6+0PyHak9hs3IJtgXMaXo39BBsZ8WK0CZlHgww2G4c8UuxrDaJqC1SMRjLholPVH9hxzENEk4raaCMaMdM7O8mGyecpAfx3EYUd4EAJ6O0Kzed85yseM7gfACnUsABMc6UXRcA89+A721bA7Z+/007Zw2KzYgC0FQygM+8iL+Plr7fcRgODKOzo9ly3VfhKAqCrMLN/A1yXjUmOJDEYou/2ZV9O0GqBcEIRRyU3HARu7ex6ZYuG6SkJxjYFJje5qTz4ykGWHfjlpw3/82P5Iika9S2/flutrQFY1nDYTlf6eKV7piyiyhjMSQnxQ4/lFJxHXbMhxEY89TI7DhqzoPRIMOsea3Xrq8oBAPfwe/rrn+2joKcoDsuz7PK5/0hnalRhIvMFCPykdvujuTH6LoOsHDfLXsienP/8b/gt+P/Bv2PdTW5Nlt2KzwPbkAu/o+jKqpSJ+W3k1b4XP6PScHl60FYDxtTvIjodZNmRSaiyTD6o9Fey8BnhOEIS1wGTgnh6aR6f5aG0NkgQlft0DKs/pr8cBVejXwuMvLXBT6LbTJNrxOTwMDNRjM0NTSDp0uzn0MmKSgsUMar0XErBH0L243ZuKMe1RqPJHkdGzrQw6R7U/gs0Mg5Pa9NVZRbq3Dxw5Yv+hWROgIfL2P+fiertnnJ4afxREKAo1YZcTlOf0Y4x9F5JmJte175ao4wZkkVBgXb9hAEyo2YYKvNR0Em/tydvnce3lsy366zmnbDVAK8Of787c57ZHDL+maauT8fuJmqadoWmatyfmkQl2NgSJASU+XWVzT05/VCCQgKlDWte9ZTut2K1Qk11IcaAOWQFN6FlZ2r7E59vqiCRUShO18APwDNR1kD789HAcH8ZRZQ1fRMXcg/rvfQVRMIEAhxeuQblDwOSW0ACXQ+S0yQP3e6wtaXW2FAyhf6gppW0PdFtmz+vflBNV9DAPgL/IhdsUpSI+gFzXvp9Yzps5GFmFJmc2u3P6M7lK99AlIOQtg88vhMCWDs8rkMwHmb17NRuLhtLoykmNHdlGUVxHMdIbOkkwpgfeBvtrCNhcBOy6RomCrk3SErtFxCaKVHoKKfLVE5PAJorYLcbbkAneXVeFw2pivKkCTgFnvt7Sr9GRjU2RyVKiWM1QE4j08EwPfTRUZBVKs6oRR2gEVQ8moH+2jdKCvXV6WlKQrXvU8RFWuA9OkT4DwAK8u766i2eu89bqSjRgcNJho1iPo+yID6A037HP4yYOyksZzVUDRjG5Km3k64ICWsWbsO63HZrT4k36326XYkyv2MhnQya3Gr9i7ogOnbctDIvTSZoXXAb59DhhMyLsVb0YUzQkRaUmq5AByYbNsYRKRDLyyjNBhTdKTJIZIuhfoO2i3jRjzpxV8BDkRvxIMgSiRsvLzhKXVawmKMjyE/dbyXY68FhBbEOO+dscn9Tx+cY1CkpgtmVNamzN7u5pTLS7Ub/5D/ZVowgirlw95LQzMYAjRhTt99jmb+vq4lEUhxrpF9TX92qVHKr6/R/s/i/41h30nB54T09nnVGxEZsitwrzDMo2M6p479qCjmIY/k7SHDQY7KuhPLvfXttbEokmSKhQlVVIdiyMKRohqEB5o98QDssAkqQSTSgUaPrj+3ZBN/whkxPyoDDmxyJCRDJqJzqLySSS57TgyokQCHqwWfXfTaYDm5QTx/THZYZ1thGoPoEx7l2Avri7s7F7ZMpjyXv/YF8N1Z4CdsvFvOo9lspEEceM3r/hb5aSXj1Az09pDvcAPFZ9OliyYO3BZ/hsrNVvRvN2LCdmtvLVoPGpsYsOH3bQ59sfhuHvJKIIaBolgbpWht/SRmZAXNWwibDbo8fqigO6118TgvfXV3XHdPs0DquJcFylwKRXUdbIeqitVs0HM+SF64hK4LZYWVvu68GZHvpYEJD8fsyFCrWRfBwWEx6HjX7uA4sOjh6QjSoDgoi/0sWAQt1j1oBgqHtuyM1fzyG+avbk9OeL8CRuLL8JM6ZU5tG+GN5P1/HZWDSMuMnC9Mp0UuLiHQkYfSNUvAZNK9s9n5TIm6Zx4tYv+XToVKLW9FrD6VNL2n2u9mAY/k7giyRQVCgMe7HLiVahnrbklnPtFoIJ3eMHGBhIVyQ//2WbpRIGB4GsaLiskG0KIUdE4pr+xakS9Ne7RK3BYwfBpPHlzt5dDd6bWVvehC+WoLi2HLbBuuBIarxRJE1m7ugDL0DmOK0017TvbirGURTHI+iGzyvt+7hMYjYDmsawpkp25Q0gSwwBGvZ9r+umuOa4wwBImC2sKBnD7N3pUFVdSMY3+Kcw5ufgaL+xfuaz7YCexjkwWM8HIw9vNX6gm9HBYhj+TvDBhmoSpDMDKpIevwjkuPZWJzx8WAEyUJX0+Jvj/ABbagyp4M4Sk3XBr+irDpb9eTo5ybdgj6C/LyWmBkRRwILA1mpDqK2jPPdVGTFZpiRQDw/C8/6TiMtgE80cOXz/YZJv81VwPHwKwyKVgO71d7XE8fJd9YRkKAz7yImF2FowmC/GXMKt/f+Npx0NMk6eMJCsZMbn50MmM7ZuFwVhPTFRBt7fEoIpfwRHv32f5Fs8/6X+95+09QsUQWTR8BmpsQHuzFeaG4a/E7z41R4gbfjLc9Jv9Ig2tD7OnK7HnOvcuciCqBe/JPEfet3beh0JRcMqQH7QS5Utn+b+GJuVUuTFIhavhKJCUziBL2Ys8HaUFWVeGoIyA+t1Y1WeU4yqQWMkzoCc9nmmjuRNeaFpLvwDivek5RreXde1Yc9/LdXXFEY06t/f+gE5uEwxKqSiA2YkNXP4MD2MuLR0CgBH7l6bGnt1ZVK6oe4z+OamA8/n023EADSN0zcuYdngiXid6YXc48cMaNecDgbD8HeCLbW61zi0qRJZEFOhHhU4c8qgvfZv/lCpoonqrEIGNaeSYdRwZQIBjURUIvfCANkTA6nsiz3SAGr/l49QoRCOa0QSGtFDsF1eb6E+ECOqwImjv0B5WCRmM5MAvBGp3TUpY/vrhm1z4VASoomZvvWpsU83d61mz6rdusN1WINu+JWBupe/Mz6g3bnyp0/Vv98b+g3DZ3czp2xVamz17uTTZNMK2PwnqP14v+d6ZLG+ODy9ciOD/bW8Nv7YVuM/OHJou+Z0MBiGvxOEk/HI4U0V7M4tRjKlK/6OHdO/zWOavxZlOcUM8VXvtd2gY/giCbzhBIXhOjgGrP0StFRfrnfn0i/WiKpBXIVw3PD4O0oiuf7a392AYhGJa/rnXjqIddlrThipn8tsIfRTJz84973U2IbKrq3nbEomDo1s2IPf5iInWzfUu+IDOGVC+7zr5g5jqmjik6HTmLdjOSZVdybiwHvrKmHkVeAYCGt/A1rbrl1MUvDq5SacueFjIhYb7x12ZGo8z0ZG0zibMQx/J2h+K0c0lrMzr/VCzr48H2fy3rA7tzgVIgJwGL13O8XijTU0hRRGx3eBCGVqMZEWTv24u3Yw9pidKSGxSKKbVhH7IM2f++zsED5/+0Ij32bOyHRYdFdkILYcicJkNlZA7to4f3PEfGRjOVsLhjDUVk1cNVMjFbY71JPj1MXaAN4ZNZuCiJ9Ze9K5+/cuXA8mO4y/Feo/h+r32zzP++t0588Vj7Bg4ye8e9iRRKzpcNmPZmc2jbMZw/B3kJikIAImVaHUW8WO/LTh37fSB9iSBr4st5i8aICsmP4BV1WMXP5O8NyXZcSAUXIZANvFwa3Go1EbLmcEUdBDcYYwc8fwRRLIgCMRw1ogUxMuSI1Z9/fBb4Nm1+jruK5AeXxKsBf+t7yscxPdD83PeiMa9rCtYBCLAjN4uPZCDva5e1ihngK0ZNg0whY787d8lhor88n693nY5eAaAmtva9Prv+N1PSPo7PWL8CSiPDO1tdL9j+Z0ptHhvjEMfwdZU9GECpT4a7Epst6HM8n+FBhEUUQA9iRlYId49Tt+RIXlu7pXj7wvsbZC13sZir4wuNFc2mrcH/VgzVGwJWIIgMloxtIhXlu5BwUYHdwFObAzkdblyXIenOXPTaZOvmufDQrM09J57++s6xqp8i3VflSgMNREfjTAtoLBLI+M59H68/arytkWV8/T0zrjFhuLRszke1uWYZXTT5L//mw7mKww+Y8w5ELQWjt2L3y5C19CVwj90TcLWV18GGsGjEqNF3vEffYu7izGp7+DvL9aN9jDGysAWnn82a59ew79s516ylqubvhLvekMBiOXv+M0f90KJR9qUKBcS+urZ1mhLp4H+ZAfakIDTJpgVO92gBe/1j+jo7xl8BEslaekxkpy9m5Qvj9OSMbT1+WNQKkSGe/anhqrbOqaNLenPtc7fk2o0a9VMzSPCY5tiCgUeg7OyC5okcDx0oQTyIsGOKWF13/f+8m/Z8h5MOZGEFvfWX71ul74dcrmzxneVMG/pp/eavymE8ce1HwOBsPwd5AVycrPlOFv4fFPH1rQ1iEAHF6qS7c2ZwC1XOBdYXj8nUb60sy6346gSUkviGU7TVRKRZAL/UINmIC4IvPxptp9n8igTcqTK5HF1Y3IT4m8JRydGpszat+f+7b48dH6Aq8miKxfNgzhg/RqfFfdkpdu079jE2u2oQgik0Zt47URN+EU40wrPXhZ5cLkve6z0snsyCvhkpVvtRp/b52e8oqqwM6noXIhAJc8sQzQG65c//nzbM0fzMLRc1LHmYFzZgw56Pm0F8Pwd5Aqrx5aGNm4h3pnDn5HOm//irn7XpA5e4Yee45Z7FS78yn1pg2/L2okdXaUZl9tQKA+VRndjCTBJ8Fp8AoMCtcjiJCQNN5ZW9n9Ez3Eae5hMzawk935xSTM6fDOqRMPTlag5ULqW8Gj6L/US1Ew3bS8KySa6/36s+GEmu3syCthRvZG1kZGElKdXNyBtMkbm71yQeDpqfOZXL211SLvVc+tTu+86X5YdROfba1kyXY9c+m8tR8ysrGch2dfgCqmIwXXHd81i7rNGIa/gzRHCcbU7WJzshsPgA1dunVftEzN2p1b3CrUY+SZdByLCdA0ShdU0e+k9JOT2wQxWeFDZSa8ATkBP4oKkgxbaoP7PqFBmzSvX806Zj0D7kwXILpE2p0R0xJn8nwrBo2F4XCq/9PU2BOfbtvHUR3DF0kQB9A0JtRsZ9OQUiY5t7IspKtg7u97uy8uODx9s3hp4glUu/P51ZJ/t1rIPfuvn4Bogol3QmALr736IAB5ET+3fPIUXw0a38rbF4Frjh/Tob+xvRiGvwPEJIWYAmZF5rCGPWzsl747iwfxiu7MK2FYU+U+c3wN2ocvkiChQHYshGW8grVIz9swAWYLoELQ5iBaaGWwVIMJfTE9GDVi/AdDjT9KQgGrLOHJi9AUSjsxWY6O5UlNHKSfY1O/oWi3wTlFi1NjH2zIbCjuuS/0xu79Qo0Uhb0EJ7owCyrLwhM7dd7JxXq8J2ax86e5FzG5eitnbkgXba2sDOmhnZIz2RAdznX9nseiJbjv3b/gSkS57YSrQUi/freeclin5tMeDMPfARZvqkYFhjVVYFMkNhWl7/rtMfzN+b/bCgaRFw2QH0k/0na1Tklf5IN11UhASaAWcqFaSseaPXYrgghuUwzHnxNMHbGJBEaldEd4acVu4kCptxKhP+yO6etUNsBp7Vj2yc+O1+P8cdFGoNrF0Nx0+M2fyGy457Vv9HM3yyi7h0eIq2ZWhsewn26LB+TPP0jr6rwyfh4rBo7hdx/9g8EtwrhLtnsp/dU7PFBzEYNttfzNey8nbP+Ke469jG2F6Vi+Dbj8qJEdn0w7MQx/B/jXZ7rWx5g6/f+NLQx/vvvAX4CiZAeibfl6vL+5dBzgxeVGZs/BsnBdJWZgbGwn2GC7qmdbKMARQ/Mxm0SCqgslJpLvSBsSczu04w3SfLhe98An+bdCNmxU9CfdODCy/97aVO2hZSHXxtBQHCUJhnvT34f/fLGr4xP+FlU+fWH68PJ1RM02bg9exXk77iOu2ZgwoOPVsaUFbo4bqbdZVUUTN5x6E4og8sxLt1Pia52WuiQwlQ2bh3Hi11/z6rhj+fe0Ba3GH/7B5A7P42AwPvkdYMMevcR7bN0u4iZzq6rd5kfX/XHsKF3BcGuBbvhHNqSN/SIj0+Sg2VYXRAYmaXpMeLWo50JbgFMnl6BperZIOGgny51u9NG83aB9lDfpT6Mz5Q0ArDSl49DndiIDZWCWvqj5gXgE2OC8po9SY4szFO6JSUqqkntm+Qa+GTiKgOBhTVT/rDQ/eXSUv108K/VzeU5/LjvnDvKiARY+dR0/+eIlZpav57SNn/Di879i3F07eUU+lp+fcn2rEM/3xhZw8oT99yvOFIbh7wBJaQ3G1O1ia8EQZFM6P/dH7cgMOCuZ2VPnziNgczGysTw1VtUQzehcO0NMUqj0RthZH6LSG+m1lcWBsB7THxCuRy4X2ail11wmDspJdYXyRrJwZMVTmiqCUb57UASTqfUlu+uoezuHVYnRqbHZnWgEfuEs/TvzsTAdgGO15amxqrCckfDnf7/SnxyyYiHG1O2iYmYRN/R7Freod71q+eTREewWE79pEZtfNXA0p/3oIdYUH8YvPn2Gl56/hb++dT+DfTX88uRruOO0q/i/fq9hF3Rr4hLgsRY3j67GUIjpKJrGxJptrQSVAGYMPfAXYHRSmRBBYGvB4FahnlgvcUJjksLSrXUsL2vAF5bJcZmZUVrA3MOK2q3A2F3IyfuRa3WUb1aPpvwHeuxZIKmpYjLjFBPUJfIYUljDwMpGKrOLkFV9YbirqiP7Gs23/RHbyvlEnkbN4PRaSmc+Ez84Yij3f7idssQA3nx5Lie/twzXjyOEbfqi6QPvbeSRi2Z2Zur8+3N9YXdGxQZENLInhTm14DMeqTt/vxIrB8PlR43kvbXVLE9Wke/OHcDF59/FgEAdwxsr8Nk9bOw3DEU0Md2xgV8VP4WGwOP1Z7PwpqMPcPbMYnj8B8nacr0Z9FBvFTmxEKtalFi3F7vFlFIF2ZY/iBEtDH9v0Yz8fGsdzyzbxdpyP+XeEFurQ7y8Yg/LdzUe+OBupvleOdRbRVluWl1RTHr0xdkOTCJ8VH8kvAClAT2zx2o2sWZ31ypB9hWave7CUBOFOT7KStOV0Z01IjlOKyU5FkDgWcd8rFGFY3euSI2/s77z3dLKk629ZpetIW6yMLx/OcvD45A0C6WF7Wi71U7+97OjGJTT+lGyKquIpUOnsq54JEoyV39FZByfBqdwVeErfHL91A6lwnYGw/AfJI8s0jMCplRtBmhl+LMP4vnJkvxsbC0cQn40QGGoKTW2fFfPtgWMSQrPf70b37Yd/PfqueQs+pA1FV52NgR5a23v6g3siyRQ0NUNi37iZej8dFaILenKzRyWh8Mm8pE0Cz6DIl8dAE6riTUVhuFvD4s26rH28bU74Go47rivU2PZGbCb88fqT2neYW5CF9o5c2s6HVKlc9k9Nf6o7hxoGsft+Jrl48Yy0lGRSuO8Zl5m0yeX3nIKp088cCeyt5UryDMHGNLwr4xevz0Yhv8g+WKn7vFOrtpKyOpge35ar2PMQWQG5Hn0O//6frr6XrN2CMC/l2Yuk6Ej7GoI8U1ZI4U79TldsPxtvDGNXfVx1u5pOsDR3cvbqypR0FMMGQkRR9oK5SXbXx43tj82i4nG7GzU4TBO2oXVpGvyb60xWjC2hzUVXtwmGFe7HYphg5ZWjZzZjvDmgbjgSH1dZqijGvf8GEerK8mJpt+bhz/a0uFzP7FEd9aGN1YwxFdD1RG6UW4u3FrQRtOkzvLwhTMou3c+//vxTEpyWpvZsyb3o+ze+fzxJ1fDwAWw6QFIdK8DYsT4D5JgsuZnStVm1hSPbFVmfeWx7ZdQnVKSR9XGejb0G46KwISa7Sweoccx11b2bP/dL3Y04I2DU9IXnkxJVUEZqPT1nsVngDdW6x7++PBOcMEWtRTQ4/tjB+o34tHF2ZhFEbtVRrwTpi/agMkMsqJS3hTex5kNWlLeGEUDZsU3gB02NOifdbsA/3dU5ztENYc6Vkd079s8VGX+5s94bsopACze0PGn4Fe/0fW0jtuhP6VUlhRQmShkY3QoAz1dawJnDC3ks1u+t+8dJt4Jq34BCR9Yc7t0Li0xPP6D4M1VevaNIxFjdH0Zq4tbx/fnjSlu67A2uWSu/mWJWB3szBvI+Nq0x+8L9WxF6YpkHL9fMvxkbtHKSu4tixBJyhr1hbTJmu7VrRJ1w6EBc0bqnp3dYkJEwC9nIYVN9HM3kpAhIUMo0UtW03sxNf4oO+sChGWNSXbd814b0dMfB+Ra2pXQ0B6mDPRQJ+dTI+URGOPk7PWLUmMxOlbcWNYQolno8+Sty9hYNJSHQz9gzuZ/oWLiqMMOrjl8xsmdBPPeB3fm2yvuD8PwHwT3vavnL0+v3IhFVfh60PjUWJ5tX0e1zYyhhakK3nX9RzC+ZkdqLNbDWZN7GnUvuChp+F2JtJdv62XPiMGobrjHmvXXb4M8IjV27Oh0ip6sKciAv8lNdl6ImAIRGSSld6ao9iaeWLIVv6QryWYNjCIpJrbGB2MFHJZM5cTATSfrjtTayGEkRlqYWrWFCdVpvZ7fvr52X4fuk0cW6WtxpU2VTK3awvuTDwc0tKTpu2RO14qhtZvwbtjzSrddzjD8B0FlQDcSR+xZiySaWF6S1suetR8p5n3hSuqbrO8/guJQIwVhPc4n00LOtQdoSj5x9Avpnv+AQPoxu19W5jIgMkE8qb1QWO2lbnMO5Qnd2ItA/+x0CztZ0UXwaoL5WIskzIqECoSiUq+tT+gtNIdKplVugsVw9/rLkDQLCSA7g6mwc0b2I8eqh3ts7gQht51LVr6ZGl+y3XvQiQ9vrtIXpc/csAQVOPmsL/jzoAcAvcCvK/rZdoi1d8AXP4Ro9YH3zQA9ZvgFQTAJgrBKEIS3e2oOB0NL43DE7nWs7T+yVW/My44+eM9hYLJxxbr+upc6vsUC79+S2UM9gZKsaO2flMjNiwZwJPR4/+iBWT02r29T1hBCA2xygqKlXv770UkpT+7bWjwJRcEC7IiXIGTDuJD+hOCPw5ry3rVgDXpY8ZxHlzLvj4s459GlqTBjT9AcKplWuYmA18nTnJYamzQoJ6PXuuKYEfyr4XQmbnyR/406gdM2LaUwlF74vO+dze0+12fbakmga96fuWEx648ZzhhPGV+H9Sf1maWZnXunGH8bqAnY8IduuVxPevzXAZt68PoHxefbdE/DFY8woWYbXwxprejXkTjnieP0FLYNRcNQEZjYwvBvqol0Yradw27VF6xbevrNP2fZe0+x03vJRtUjGssxm1W2tJDH/nZEym21ogBvBY6Cu2BAvf73KMDC1b1Ll//NVeXc9fZ6dtb6iPp87KgLcNfb63vU+AMcwRqq5xdgE9NrUGdMOTgN/gPxg8OHEtdsaIg8PfVUTJrKVV+9nBpfUR6gxt++BINr/qPXAhy//WsG+2sRToFGOYtXvPMAuPq4Efs7vHvxjIBhl8L2f0B4z4H37yQ9YvgFQSgB5gNP9MT1O8LfP9Y98Fnl6zFrKl8M7pyUK6T1TcI2J9sKBjG1Mu3N9OQa6sAsJ2ZVoTjYwFfJdYyBgToEoNoX7TUtC5uLySb7NsOTMGJS+guT72790R4/KAsV+NI5ETbD4Ia0BsxXZb2rKO1vi7cSjqmcsfx9Fj58GVpcIhhR+euijqc0dpTPtumvkzseYej4aoaf0fommelQSY7TysRiJ9cVPc+F497jfxOO56JVCxnor0vtc+6jSw54nr9/vAVv8mN6+fLXqTksjwkDd/BMw6nENRsF9s7LNGSc8b/R/99wd5dfqqc8/j8DvyBddLkXgiBcKQjCCkEQVtTX92xBE8Dycj17ZN6O5YQtdpaXjEuNjSg4yJXdJC1j0MtLxjG1chOimg4p9ZREs9NuZkCoEYuq8FXy7xwQqEcDdjeF+Wxbz78fAGX1+iL0TDaACOstaQ/uqJGtszUuPqIUgJDNiW+2m8Pd6YXCOn+M3kR5U4yEAkNrysiLBMhuqiemwY6GeLevR/z5Pd0ZmVm+DmEqrGscTkzr2nWeX5wyllJbFQtyPuHPsy8EBG5c+p/UeLlf5dcvf7Pfc9yb7Hc7s3w9syo2sOec/sRUK/9pnA/Ajd/r2kYnHcI1GEb+BBC7vEdHtxt+QRBOBeo0TVu5v/00TXtc07TpmqZNLyzMTLpYR1m8qbp5Uhy7YwWflU5u1XLu5pM6/iFyJssAvh40jqxEhDH1Zamxxz/Z3vZBXUhZQ4jtdaGUh/XNwDHIgsjAZKinzh/j3V5SvdsU0Q32WIte8LY5kU6Ju/yo1o/xM4YWpjRZrGdLTJ6YXkOJ97LWZ7KiP/EVhvW1h0E+3etW6f5F/5WVuvMx3/8Z9IM34sekxsb1c+zjqM4xZ2Q/tiVG0t/ShJon8MSMMzh7w8ccWbY6tc/zK6r3+Vo097MVNJXbFj9BlaeAK+K3cvGuO1O9mM+a2nX9bDvF1D/BzMe6XEGwJzz+2cACQRDKgP8C8wRBeLYH5tFu7luoL0WMatjNwGA9i4fPaDXeGSnVcQN0HfPmJ4iZ5etTYx9u6P7Y89Of7aTOH6ckafh35xZT48lnQED/PZiA1b1gMbSsIYQ3Dmgagz01SAkTlZLuILhNbYcgmuP+Df4cPPnhlFel9LJU/uaU2eZ02sH+tKb7i191X78GXySRWiQ/KncVAB+ED0+N33Ry13nNU6acCMBpOUv5y5HfZ2fuAO57769kxdJPwVc9t3qvp+LbX12V6md7/poPmFiznYeOuRC/OTu1qHvKuMJeJzSYotngN3wNwR3737cTdLvh1zTtV5qmlWiaVgp8H1isadpF3T2Pg2FLUir5uO165d/Hw6anxjr7Ai5ILo5VZxVSnt2PGeUbUmP1PbC++/HmWhQViv26l1mVVUhVVmHK41cBb7jnq7j++Yme3z3EV42tv0S1vwC9Xhf2lVrerJ69J1KMqVCjKKYb1ji0e8GwO2huE9Bs+Js9foDNtd0nMfFS8iZTFGykMMdHbWMuVVI6hHYwBYsHywlHnc7q2Hh+M+AJjslfyc3zb6B/sIGH3n6wVTj0mAc+4e8f62sfv3hpJc98rT+NljZVcvvif7J5/mCuP+sFBlvTaZK3L5jQZfPOCFIAFh8Ha27tskv0snKcLmD1ryH6Lc85ZwKMuVn/eeUNkPiWB5s3A0b9DIDIZ1fwYIku6XrclK9omJbNsf1X8GLTSQA8PeZR+OKl1sf3PwGGXgRKAr6+Yu85DTwNBp8DUoBzpNtxlugfSvUqgXmh5cxzf8Xi0CzyTT6in1yEw/ot72ToD6H/8frq/9rf7H3+4VdA0RwIbG17oWjUtZA3DbxrYfODrYauz6rg0ehZDPTX0Tg+i+8VfE5lVhHTK9MJWL0h7f3ddfoXfFL1VtgC/5t9fGosz9l2DDrHZSHkl9ioDGWOeTVHRNfyhuNYAF5esZufHTe6zeO6m5gKaBqFybqOQf604Q9343LEs1/pHufs3WtgIVx9+a/h4MtVOoZoof+Zn/ObJ37JosBM5IFmfnfclfz+w8e4792/8svvXZOSS7n3/e2pmD5AftjHv165k4TNTPZZYXyKh4qEfsO69IgBrdbWeiWWLP07uuEe8P4acjufSPJtetTwa5q2BFjSpRdpWgHBbfseb/waot+KWZvTEqm+PZ8w0x3ArMjklIbxOjwMbXEjmZW1Geq+FStwN+f0a1D36d7XzEl6HKqEw/c5s9y6DoprWBR7RGJS01YWMwubmCBevQSH41subL/j9P/lcNvnLzld/18KtD0+5EL9/4R3r/FpzijZphMp9VXjn+LmT4P+xH8GnEL/zQ2IqoIqmnpF1V9T0gBOrtpKdI2NR2eel3r8mjYsr81jpg7OpWJdHV+ZxnElrzFD2cAb6Ib/9dWVvcbwC0BOLIhN0Z+sBrVo39ed3SL3+PQ7/NyyVTQ6sliVn5YomTmoY60WD4b+uVl4xv0E+dM9FJi9nHrOUp6xn8LFb71DQcTLzafcQKMrp9UxwxvL+ftr9zAg0MArvz6Wi+zvceOOG1HRpdB/eUrmjWiXMOZm2Po3WHcHHPVaxk/f9z3+eR/sf/zEz/c7PHvtQ2jADUuf5WdfvMSJP3mUercupmQFrGfuJw5nssHp+1HatOXD6bu48qGP2VgboThQzxePXUrwWBfMhCqpiFN3Pclnvzqx7eOzx+z//PnT9z/e7+i9xufeshCAYY0VLA+OZZhQRc6YIJaPFArDXmo9BfQChz/F1MAmto4dhCqmF8MumtX2wt25Mwfz5ro6lopTCdzixJSvgf7gxu763pHZE5P0QrNmnaQmRxZDfNX6eoQg0F3dIpvTOE2qwvwjllL1vSI0IX3XuW3B+H0dmlF+ccoEPtxYjSnkY6itinHn7uCp/FO54D/v88njVySbm49FAI7cvYaz1i8maHNy/UU38uCIP/OB/3C+COsqnPedPb73xva/jTUXRt8Eu58HKQiWzN5oe4Pz1mv5bFutvrilaZy26VO+GDwhZfQBZh/Wtmd5sMweoT8/V2cVsqVgMMfsTCc8Vfi7L+WkeaEsKxaiMOJjlTaKsngxpaX6E9FAvx7nl0kbhp6g+do2OcH4yTuY8PPtZJvSi3wTB7X9vswo1V/nBFY2CMMZXVuWGustiT0fb6rFZE3G94dC4EonObEQBREfoIuVre2GxfU/v6fHzWeVr8U2XaYmN7/V+L5e467gw5tPZHNsKGdsf5DyRH8uOv4d/n7r2SwePoPvr/mAv751P395635O2/Qp/5t4PCdf9jeGj6/EKkjcU30pACeOzuecTvQF7hHG/hxOWZ9xow+G4d8vd7+pZ9jMKl/PMG8Vr487ttX4T47NTOXfOdMHp35eMmw6Myo24GwhjNZdRva5L3Xvf3ijrs2yI38QHwVmMqawDGx6EVczT3y6s1vm1BaPLdZDd5Oqt2KeorKtcTA+RZeS2J8/19LbixxhY9yM7QgtXOjeoNnz1uoKSnIdusfvgdKZNTAIRjakq3b//vF+QpcZYlWlXrfyg/B74IEXlRNSYzkdK1vpFGX3zqdaKuTcHfexJDiN60b9lyUXT2PC9S9x8qV/5YTL/saUa1/g1pN+Rr07l0frz+X07X+iLDGQaQPdPH7J4Qe+SG/DZAexa55QDMO/D7ZU+9mUfPy/aNU7+Oxu3h49JzWeZe6YTENbjCrOpnk5csmwadgUmSN3pwuMHl3cPfn8H2/WDfvwpmbDX8KiwCxMogLDYEAwXbi1sQd7BnxTpl/7BO8XMATejsxNjY0s3L9Vah51jo5jna8wxJte39lc07N9EABqQ3HyXRaGBOuhIrlxAoxoTFclL9/dtZXGn22r1cN5msZROd+gKgKLoulG4PMndjx9uTOU3Tsfl93JlWW38XDt9/kkOI2E2UKsxEptv3wSZgtmZAZZawCBTbFhHDMil1eu6d5+tocChuHfB7e9ugaAwpCXk7Z+wcvjjyNmSWeLXDw7s/rZR4zUH51XlIwlZHUwb8fy1NjKXb6MXmtf1Af0G93wxgoSopmK7H58HR7H9I3P4tvlToV6AALRnvOOo8nk8nnZ+mv0VvSo1NjlR+//KWxYkZ7RsVYdAW6Y4d+YGnvjm4p9HdZteKxmdjVGGC5XElmg36bkSSYOa9GXORjp2qrOexfqr8nEmm14xkXZWT+QoOpKjV9xgNe4K/n69vl8f3oJD9VeRKOSA8CDgx7i09H/x/8VvMrvBv6dhSOvpcjcyB/OGMtT/3dkj821N2MY/jao8UdTEg0XrHkPqyqnOgE1c9GRmTX8P5mnf5kkk4WPh03nxG1fYErmK8fpnriuyaRnlIyu38WO/BIU0YSCCa+STVVWYaqIC7q8onyfNIe9LIpE6dBqfI1uyhJpD/S0Sftvo3feDD2s9rVJX5w8XF6XGluyuefWLZopyrLjDcoMtpXjPCHO5ugQxFEqo3xl6Z26+LVfnxQIPGvjYuRVIk+Ez0iNjS60dXtj8G9zzzlTKbt3furftLOfJ2fQbG4b8CQ/yH+PrLFX8PXvL+aCw7u3ucmhhGH42+DSf+mZPq54hEtXvMlHw2ewKy9tXLIsZDwXuGXY6O3RcymI+Jm1J22U/vpR18s0W0Xdpoyv3cGGfuk2kuPsOyj6aRMjzGmPuDvTClvSvLYwpWoLpr9qPLLqvFbjB8raOHOabvi3yKUATBTS8fIKb8+Lz1X5I5gFKM7Wn66ebDgd0aIxLmdn6m7blbNslicxKzKnbfiU91YfyX/DJ6fGL53TixQtm8mbAse+B8d9DDMehcl/7OkZ9XoMw/8tlu+qZ1OdLkD+w1XvkBsL8tcjv99qn+tOOKxLrt1Pl+dnybBphC12Tt38WWrswy1dG9fdUu2nMQyFoSYKwz429Ev3F4hpVgpG+CkprsEq6/kvskqPqHQ2a+cfu2MFUsTEf7PTRqnIeeDjc5xWRKBSKkSSTAymJlUJKtFzwnjN7KwPIQgqOXlB4nEzb/qO4vEPz8C1PkZpcj1CpesW/G9/fTUAR+9aSX6/AG9NTK+fCMBJEwZ0yXUzQr9jYOTVYOo90uG9FcPwf4trntdlGdzxCFd8/SpLhk5jzYB04YoFuPyokV1y7fNm6ulmcYuNj0bM4uStyzAraXmE5tL0ruDxJduQgHG1yRaGLTz+HfESgjEH5sM0hnr14rUE8NLXXa8b3pKyhhDeZLr92cM+omxBMSFb2tr/dF77CrDcVtAQ+dUrP8X2isyIxhYZM0u6PmNmX9T4o/gjMjafD9MAjVp/PjHNzmvCPJD0mHszz35elvHrL95UTYVfz3I6b/MHaL+F6UekK7ZPHFtITgY7bhn0HH2/gOsgWLypmho9tM+1n79AbjTIg3NbywjdecbYNo7MDJcfdRh/XaLro7w9Zi6nb/qEo3etZNEIPaPikQ+3c9Wxo/Z3ig7z7gbdgxyfNPybilrGRwXWBkYye9RaRi3ZnWp48txXu7jymO579P9n0iiXBGsomuejak9Rq7jH+bNK23WescXZfLnbz4r+ujDelKotbE3+TR9urOJepmRy2u3mnbWVyDK6MuogKIvo3nWo2IF0vonDq9fxJscAsKYi82s+v0pKHfcPNHC8/WsECywOpQUJr24jfVmSJCoqKojFekcB3HcVu91OSUkJlnb2QDYMf5KYpHDl0/oHf3hDOZeufJMXJ57AuuLW3n1XLhjlOK0M9IhUBlU+HjadelcO31/zfsrwh1R9nl1RfRhJPlhMq9zE1vzBBG2uVuNLEtOYXbKWKdHNvImeHlfZzTHxN1froY7Lwm+AE16Jz2vWZSPPfuD4fjM/mj2UL3evZvDgGhI/NzHto028mCzhbey5xme8vbqKOEltnlvgD5dfAgXgsUSxLFA48oU1qX2rQ5kv4a3V2xvwg9XvIk7RCMkOVkR0R8cMjO6/t+JpRUUFHo+H0tJShC6WEjZoG03TaGxspKKigqFD22efjFBPkpm3v4eMXqL+x3cfJmKxc//RP2q1zy0ndb13e8OJ+hdNNpl5acIJzNuxgn7BhtT4g++u39ehHaZZmVJUFaZVbmZFyd5PNcsik4lsszE6nC7c6k6NzpikEExe8HueZagJgZeEtDDbmAG5+zhyb44do7e8zDGHsE5WmCG1fk17qpBrR53+uDmsqQIVgZ3ZunLrplgpkYiNwYNqWxX2HWzj8f1xz1v6TcUqS1yw9l0S0ywsCU1D0nQPclZpdps31lgsRn5+vmH0exBBEMjPzz+opy7D8APTf7uQQDJF7trP/8u0qs3cduJPaHKmPZwCB10WZmlJy7LyFyeeiElTOW/th6lt/1xWkXHD9O+leoHYYQ17yIqHWd6G4d8QG867L89mxJrKHsnlfGuNHocvDDXRf2QjuyoGECddV3H1scP3deheNBuwHTHdsA5x1JAdDabG31/fM41mgkndiCOL1hC70YrJpnv1GiLfNI1GnKAxsyJ9k3rgvcy0rI5JCo9/rmdsnbV+EQWFAWxZEosD6TDP9Sft+7NvGP2e52Dfgz5r+Gv8Ud5bX8V/v97Ne+ur9qm3fvrDH9OQvFEev+0rfvbFi7wyfh5vjW1d7ffkZUd09ZRTzBysyw/syS3m09Ip/HDVO6lsGoB73ly7r0M7xOvJwqXmJjAtDX+eHZqXT1cVj6JQ8lHSIp+/u+Qk7n1b71NwVtkihAZ4OXZcq/GO9E/dGddTdMUBcHiL1Nl/9kDnM0j3IR3WrwLrOImImr6xvSXNhWw4Nbw0tW357iCZoPkp0qzI/PTL/7E6MZIzt93PRwE9xJhjyVyVukHvoE8a/hp/lD8sXMe1z67illfXc9Wzqzj8D4tb9elcW97EmFsWsqZaD+pOrdjEX9/8I+v6D+e2E37S6nzfG1vQraJUP/9eOjvl8ZlnURT2cvrGj1PbnlmeWY+0NqKbnKN2fUNZTjEVOf1TY6dPHkhetr4UVDSjCZ6AIxtWp8b/+XHXdQlqZm15E43Jm/Nxa5az+bEhPCan8/cnDzj4gqKpAz1ENTtViQKkgaKuOZ9kW00PBvo1jZz8EE3eLFILGMDi6EzkmMjsWHqeKp0v7CtrCPHPZfqN/8wNHzPIX8vDR17IqugYAqr+uv7pwqmdukZ38tvf/pYHHnhgn+Ovv/46Gzdu3Of4d4U+afj/8uFm3lhbT6G/jhktWhk+v6Ka0lsWUnrLQhb87QuanwGO3bGcZ1+6jWpPPpeffQdRa9rTcgGPXTyL7mTG0MLUG/NZ6WQ2FA3jx1+92kpQrDkm21n++pEeLrDJCY7cs5ZPhrX+kv9ozgjGDdBDXl9aJ4AZjhe/To2vrfZlZB7745FFevHa0KZKZvo38ua3nsZu/t7B6+j/6lS9beDKyBjqrXmtDH+c7o/zNxvwolAT5gEq5aHWTzD1ch6//+/lFC9uZHgLwba739xAZ7jmWV32wibFue7zF9g4spSj565kiDXtXGSy01ZMUqj0RthZH6LSG+n219kw/Dp90vB/tFFvXPHzT5/mhRd+zU++eAmLsrfwblYsxB0f/YN/v/w7duaVcP6F9+3V2OGpH8/sjinvxQ3HJwuoBIF/zDqbEU0VnLop/Zj/+OeZifX/42N9sXZm+XqcUpwlLdpKApQWuPlhUp5iZWwMqiwwMSedT+6Ndn28/4PNevHatbUvoD0Cu+f0bzXekTBPc+jimj2/5N+rFzC8qaLVIvrjS7q+UrolLy7fjRmYHNgCOa0bxzfz7sjZAJy8dVlq21flHW/FuKXaz7rk083/LX+dkkAdS8+YyiUFb+MQ9SLGi2dmrmCr2eirGjitJlSNjBj/u+++m1GjRnH88cezZYte6/LPf/6TGTNmMGnSJM4++2wikQjLli3jzTff5Oc//zmTJ09mx44dbe73XaBPGv6YrHvGt534U94dNZtffPoMHz/+Y25Z8m/OXfshP1j1Dvcv/DOfPXYZl658i6enzuecH9zXSmsf4CdHDe6x2OY1x6cbWb89eg6bCku5aemzrW5g1z67vK1DD4pQ8jt3yubPCFkdLBuc7lA0PF8XCWs2rHHNRm1dHkUDm3Ak0hkEb65Ke6CZpllCwCpLnDL0M2TZxMdaetHxtPFF+zr0gDSXIi0r1Rt1tFRE/c8X3Ss7vbrcjwmYFNwKO+EzYTKgB3umD9RDLs78ONEHrZwnfNBqgf2FL/fTbGc/LHhYrwzvF2zgJ1/+j/cOO4LSoVVUJgrZHCsF4M6zMlfT0BiKYzWbsJpFBEHAahaxmk00huIdPufKlSv573//y6pVq3j11VdZvlz/Tpx11lksX76cNWvWMGbMGP71r39x5JFHsmDBAu6//35Wr17N8OHD29zvu0CfNPwFHt1ghWxOrlnwC3507u8oyy3msuVvcP+7D3P3B49y0rYv+HDkLE6+9K/cccLVrZQ3AS6cXswvTunZpszXHlsKgCqauO/oH1Hqq+b7a95PjX+wpZEt1R2XEn5vnV6Fa1Ekvrd1GR+OmEXckpY1vnxOOlMmK2kll4fGIpbC3Kp0s5g/fbi5w3M4ENc/p6/LfL/iXWzTZD4oP5yImtZJuvW0jneCGlbk4DBbGffP+TP+yU6O3pX+m7q70X1DOI4C9N/RRO19ebwr6xLgNgGunqdLhFRJBZgLFIYMr2VydfqJ5PdvHHzo4sqnviQOoGnc/f7fMGkq9x/7Q+a4VyezeQR+ctTgA5zl4IjLKhZT6+wTi0kgLne8JmHp0qWceeaZOJ1OsrKyWLBgAQDr169n7ty5TJgwgeeee44NG9oOibV3v75GnzT8V8wdnm7IIQh8MmwaF33/biZe/1/m/vgJDr/6KSZd9wI3nXoTm4v2fqS+eOYA7jmn5xe0bjxpXOrnJcOms2zwRG5a+iz5YV9q+w/+8VkbR7aPX7ywGtB1b3JiId4ac1Sr8bNaNIg5rFDvAvSUchrSSyaO2rMqNVbW1DWFXC8v301ABjSNa10vognwB+nS1LhD6JxY3k+OHUm1VEiprYqmE3M4dseKVhIZz3ze9QvXzcTjMjIwpm4XmwrTn0m7FWYfVoSI/sT1pvcotKPgys0vp/YJa+kno/Zwz1trUuGzszYs5vgdy7n/qIsZUNKAyxRjUXAGdsi442Mzi0hK69CgpGjYzJ0zQ22lMl5yySU88sgjrFu3jjvuuGOfOe7t3a+v0ScN/wWHD+X3bUgrxCx2ynP6U5NV0Kp/aEv+cv7EjD7edpaU1yUI/OaEq3EmYty2+InUeENM994OlvfWVRJIOloXrXqHKk8Bnwyblhof28/ZqmDnh8n+A99IY1m2cRKHb2ld9NQVgm2/ekW/xnG7vqJghp+15SOpkNPx/Z8cN2xfh7aLBVMGoWguXvXOo2R8LdnWMDMq0t7zQx903ZNMS9aWN+GL609eoy8oo+j76Uwdu0XAbjFx2iQ93PaXxgvQzHDSYV9SHEgXcDU/GR2IF77clcrZH95Yzp0f/p2vS8by72mnkWf2U5Eo4ovQRB79UeYdn3y3jYSskJBVNE0jIaskZIV8d8dbeh111FG89tprRKNRgsEgb731FgDBYJDi4mIkSeK5555L7e/xeAgG02mw+9qvr9MnDT/oxr/s3vmcODr/wDsDp08souze+SyYsn899+6mpde1o2AQjx5xLmduXMIJ29LG/oPNjfzxnXVtHb5PbnxuNQAjGvZwVNkqnp98MkqLNm83n9w6U6alKuOKMWMY0a+CQb6a1LZ/LM6sgNw9b63R++BqGj/+4lVq7svjpvD1rfZpuQ7SUeaNLeLfDQuwmBTk40SO3/5Vaszb8dDzQfHQh3rY5rCGPYgjNQLOtFyG267H2G44QX8/dicGsLBuDuLJGr/b9PfUfgH5wA7AM5/v4Fev6zc2VzzC31+7h5jZynWn/RxVNPGG71jmbP4XWXZbRjN5mrFbTAzMdSIKEEkoiAIMzHV2SoJk6tSpnH/++UyePJmzzz6buXN1NdG77rqLWbNmccIJJzB6dPqz/P3vf5/777+fKVOmsGPHjn3u19fp81o9h2SvzW9x0/HDePAjfbHx0cPP47jtX3P/O3/mlEv/QlWWvrj56Kd7GFaY1a6G0n98Zx3NIezrP3uekNXBc5O/12qfb3/x7RYT/dwitSGVwcfUwDlw+jMf88isCwB47LM9/PLUzIQGfJFEyis9ducKZlZs5DcnXMV2Of23nTo2M4vup0wYwNsb6vg0OIWZJ67nhFu/4K55/wfJ8EFZQ6jLG498sVUPuxxRvwZyYaU3fUMblqdfu7TAzdBcK7u8CW6uvwH7Konjl3zNxMFbWVusrwF8sLmRZz7fwcWz965i/sVLK3npG/1GbZMT/PPV3zO0qZIfnn8X1VmFWAQJSTMDAm9dP6/L/tZm459Jbr31Vm699da9tl999dV7bZs9e3ardM6rr766zf36On3W4+9LXHP8GPolncCE2cLPTv8lJlXh0df/0Cq75uZX1h+wkjYmKTz6qS6nPK52B6du+Ywnpy3A20KeoiS7bX9g/gS90nWxPANscE5wUavxTGX3XPpPfd3CpCr8vvpvRH5l46NprdNqf3/O5Ixc68jD9BvIn2sv5OVVxzHYV5eSpgb42+KuT+tsfgePQV9c/lJLL1jPHZXOWrrrLD3jKq7ZuCn/Bmo8+Ty26h7Gkq40vv2tzby8fHer85/258Upo+9IxHjstXs4cs9abp5/A18M0TOaLit4g6Wj/4+fHpmX8SZDBr0Pw/AfIrx4dbpoaXfuAG449WYm1OzgL2/9MdWiEeCif63Yr27/rN++B+jl+fe++xcanNk8MfPMVvvcecbEtg7l4tl6TH15eByqBqXDahhdl04lvHth56Uklu+qZ1W1Xlp3wer3GDi7gcRwCw2kU23PndI/Y7rwzef5JjKG+x0/IiGYOX3jJ6nx179p/6JpR2iZwz4+eweaCquiaY//hPHpJ685I/sxdYDuAQTsbm5ccAMDLmvglZJfcKR9NeMd2xnv2M5vX/ua0lsWMvHWFzn1dw+j+dcx3rGdo5UVvLH0Bo6uWsmvTvoZn0ycmjrmjJwlyGIWP1/QfdIkBj2HYfgPEUoL3DxwdtoT/GjkLH57/JWcsP1rHnnjvlZaPve+v50j71nY6vgaf5TRtyzEn7Qz133+AhNqd3DbiT8hYE+HMqYMcO8zvtsc8miQc/nUOxXtOLh4/dup8doQ+9REai9XPKlXBRcH6vnVtidhEvzTd0ZKJRLg1tMym20ya4j+tKO4TOy5tD9nhRa16srVnPbaFTSfuzDkJacsxDebRxNS9VCIwN5ZS3+6MF1g92XJJB5ZcS4OZ4LnD7uNt0dez9sjr2eKU1+UPtK1JrXt7ZHX8/SU33LYDeXc98NLeGHyyRyXtTw1NsZRxtBpl2Lw3cAw/IcQ58wYwtxhOanf/zP1VH533BV8b+synnnpNxSG0tkgVQFS8hSltyzk8D8sToUUzlvzAdd88SIvTjiB90bNbnWNhy6cxv44coguIPe3pvMQPHC2tqiVsuWdb3Tc6z//0aX4JFK55dbjJeKKhRea0usPvznlsIx3gbr11HQG2MC5dRQcE2BWeTqf+/53u67E/7kvygCYU7YKlsHtlel489C8vbNdSgvcXHZ4uv/zgyU/4q73Lif+kJnIn628/8YsPFvCjKovQ9iq8vo7R1P3WA48AFv/PYhfrf8pLxaeCMDnoUlcvus3/LzmNzBvEYz5RZf9nQa9C8PwH2L858rZDM1LZ0H8e/rpXHfqTUyq3sY7/76WM9cvbqXp0xKzInPD0uf443t/4dPSKdx2UmsxultOGnHAhcw7kmGg5ZFxXLLsDmwrZC7+Ju31v7OxoUNFZac//DFf7dHlBy5f8Qbz6lagzRV51XcsTYrukZvpmraXEwflYQNCqpOXmk5AOxwu3PVuanxHU6LTYmj7Yn2FftM8tmo5jflZbGxRV/K98W3LJdx+xmRGFaZvfv8adiYnT/kbH4UO57j/LefRZ+/j/Sd/xmNP38eC5z6lrGwAVwy9jZOm/o0X1O/hV/SajGqpkJXRWdx/453Qfx6IHc+uMTi0ELQe0FY/WKZPn66tWLGip6fRq5j+24UpOWnQ0zIfXPgQk2q2sS1/EK+MP44vB0+gwZVDVizMjIoN/PCbhYxoquCV8fP41UnXkDCnwyfZJlhz9/x2XXvK7Qtpbr71+Ku/54iK1Rx7+T9pcOlx+H4u+Oo37TsXwLmPfMrypAGcVrGR/77wKz4ZO4VvLhnDh4HD2RbXs3n+cv7ELku3vfG/K3l1dQ1DrFUsGXUl8hsmpg14LhUGO3p4Hk9fkdn4d40/yuF/0G/U67ach+vcGLM2PU2drKcgL7n56P3eiGf8biH134qseeJhJlRvIzsWwm93s6WwdC/9qWaG5Ip88svvtTnWXjZt2sSYMZ1PqzXoPG29F4IgrNQ0bfq39+12j18QhEGCIHwsCMImQRA2CIJwXXfPoS+w4rfzyWrx7m0vGMwZFz/ItafdTMDm4pZPnuL1/9zEZ3+/nHeeupbfffQP4mYrl5/9G2465YZWRh/gpZ/Nafe1f3FKOjTiu8yN6+YYN336n9S22jBc/uQX7TrXlU99mTL6wxvLeeKVu6jIKeSm427k0frzU0Z/crGrS2ssrj1ebzSyOzGArxvGYTlW4ZxNH6XGP9mReY//zWRzmTF1ZbjHx6jx56eMPnDAp6/ld8yn6FuZkUGbi2Wlk3l39ByWlU7ep9G/cnZJp41+b8FkMjF58uTUv7Kysoyd+9tqnrfffjsfffTRfo5oPxdccAETJ07koYceAuD666/n008/3e8xxx9/PF6vt9PX7ok8fhm4SdO0bwRB8AArBUH4UNM0Qyv1IFl7z3zmP7SIDbW6668JIm+OPYY3xx5DcaCe8bU7yIkGCVsdbCoayq68gW2e587TRjOqeO9+qvvigsOH8qf3NlIfgw2m4Zw3+iMu+PADPthxBB8P1wXUFm1t4vInv+Bf+2lgc/R977Lbq+IWI1xifZMr469gv15CHK0yp2oNC/1zU/s+dcWR7Z5fRygtcDN/fCEL19fzl+AFPBr9Az/Y9g5PTj49ldP/5qryjN58Hk82jz9j92K0efBOdXq9xdlOl+zr2+e3ytE/ELMGZ/HiT+YeeMdDCIfDwerVq7vk3K+//jqnnnoqY8fqzs6dd96ZkfPW1NSwbNkydu/WU2+bmpr48ssv+fOf/7zf4374wx/y6KOPtlm3cDB0u8evaVq1pmnfJH8OApuAti2SwQFZeMNxbfYCrs4q5MORh/O/iSfwzug5+zT6T/5oapsFPwfivvP1kv7nm07mm9Ao1CsFHlrzAKVN6QyYRVubOOnBD/c69rrnl1N6y0J2e1WsgsRLJb/k5sOexXNClMrSQt4JzCagpKtX/3L+xIwv6LbFtcfpXv/nocn8ftX/MXxXFTMr0ou8v38rc53PtlT7aYgAmsaZlo8RTPBG9JjU+NTSnHaf64/nTaPs3vlsvutkhudZ9hof6BF586dHUHbv/K41+tdfD8cck9l/11/foamUlpbS0KDLbK9YsYJjjjkG0Bu1XHbZZRxzzDEMGzaMv/zlL6ljnnnmGSZOnMikSZP44Q9/2KaM8yWXXMLLL+s6SYsWLWLKlClMmDCByy67jHg8nrr2HXfcwdSpU5kwYQKbN+8t/XHiiSdSV1fH5MmTWbp0KS+//DInn3wyAH6/n1GjRqUkpi+44AL++c9/ArBgwQJeeOGFDr0mLenRyl1BEEqBKcBXB9jVYD9cdewozpg6mLMeWUxVO7vxXXb4QG4/Y3KHrzlvTDHFbqgOWfjxnlt5Z/i15P3Uz3P33soPTrubsuSNZkt9gtJbFrZ9Ek3jrDWLOKxsN95aD+cN+wPbCkpb7XLq+MJuk9EYVZyNS4SwCm+Nmctt657g2h0vcNGguwGoi+itJjui//9t7n5T1yEaX7uDwql+fGE366LpG/h1Jxx20Oe0W0ws+sWJnZ7boUY0GmXy5MkADB06lNdee22/+2/evJmPP/6YYDDIqFGjuPrqq9m6dSt33303n3/+OQUFBTQ1NZGXl8eCBQs49dRTOeecc1qdIxaLcckll7Bo0SIOO+wwLr74Yh577DGuT96oCgoK+Oabb3j00Ud54IEHeOKJJ1od/+abb3LqqaemnlSeeOKJ1DWys7N55JFHuOSSS7juuuvwer1cccUVAOTm5hKPx2lsbCQ/v31yNG3RY4ZfEAQ38ApwvaZpe3WTEAThSuBKgMGDMysP2xfpn+1g2a36gurLy3dz8yvr29yvswa/JfefP52L/rWCejmPK8tv4+nBt+POjvLGMzdy24k/0dU+99EEekL1Nn7zxT+ZuW0jS4dM5vrTbt4rHn1kaTaPXNS9jXBOmtiPV1fXolhNWH8rMWfNGoY3lrMjX7/53P7aahb/4qROX+fTXT4Azl6/iMRCEzdfdT1aiwfwQ7LH7QHCFF3FwYZ65s+fj81mw2azUVRURG1tLYsXL+acc86hoKAAgLy8/bda3bJlC0OHDuWww/Qb9I9+9CP+9re/pQz/WWedBcC0adN49dVXDzin6upqCgvT7/kJJ5zA//73P37605+yZk3rbntFRUVUVVUdeoZfEAQLutF/TtO0Nl8VTdMeBx4HPaunG6d3yHPOjCHt0uzpLHNG9uOywwfy5JeVrIqMZs62J8k6JsSjb9zLX9+7n6u+eoXXxx7DuuIRBG0uciMBxtfu4IRtXzJt2GbUGwT+tPhCHhl6Puq3UgmnDXTz/FXtX3DOFD8+eiSvrq5F0iy85D2Bi2cs5Lq/P8+1c38JwM4mmZikdEpYrLmy2hWPcM66j1g4Yi4fSWlNqVPGHYJGv5dhNptRVT2t+dtSyzZbuj7CZDIhyzKaprUp77wvDpQN2XyN5vMfCIfD0WqeqqqyadMmHA4HTU1NlJSUpMZisRgOR+dkNXoiq0cA/gVs0jTtT919fYPMcvsZk5k1WC/qCihuKnL687/rj6f2z7mYs2VuXfIk/33h1yx86jqefek33PLJUxSNakK5UmS5MJbHRpy7l9GfNTiLV645uq3LdTmjirOZOUj/ex73n40mwPzBn1EUbEzt848lHVcijUkK976va+tcVfkynhujvD+39QL47Qt6tgFQX6C0tJSVK3Xto1deeeWA+x933HG89NJLNDbq73NTk57F9W0Z52ZGjx5NWVkZ27fr7+V//vMfjj6645/ZMWPGpM4F8NBDDzFmzBheeOEFLrvsMiRJr8zXNI2amhpKS0s7fC3omQKu2cAPgXmCIKxO/julB+ZhkCFe/MlcpgxIL8Zujpfi9MRw/CrOGTc+wEXn3cWPz/g1V1x6Kx88PItB/1fHlsQQrij/TSspBtArc3s66+S2BXoDnEqpiE8bpyIeo3HVqv+lxh9atKvDMg43/1c3RhZF4rIBb6IcJvBFflobyW3qXHMZA5077riD6667jrlz52IyHfjpbNy4cdx6660cffTRTJo0iRtvvBHYW8a5Gbvdzr///W/OPfdcJkyYgCiKXHXVVR2e7/z581myZAkAW7du5YknnuDBBx9k7ty5HHXUUfz+978H9FaThx9+OGZz54I1RgGXQca4/dVVPPN1FQATHNt4ZujthFQnJ219hIjq4OZ+z3BF4as8Unc+/6g/h0QLo59rho9/fUK3ZO+0h0m3LcQvwyzXOp4f8muU+03MOepf1Hn0uGqeDb75XfuL1EDP5Dkp2ef22i3PceNZL/DuriO4OpJOzbvztNEdyrLqKYwCrswxZ84c3n77bXJycva5z3XXXceCBQs47rjj9hrr1QVcBn2XO8+awps/PYIBHlgXHckVZbcxyFrLDf30zkZ/rz+H7217hL/WXdDK6D9w9nhW/X5+rzH6AHedrXvhX4XHc8byPyFs1PjZFy+lxpviB9fuEOCMpNHPjga5uuAVVE3gt/Efp8btcEgZfYPM8uCDD7Jnz5797jN+/Pg2jf7B0ucbsRh0LxMH5aWyiz7bNp3H3lmDnFS6DKlOQnEnRU544tIjmDho/5kTPcmCKYN4+KPN7GhMsM41kpcmnsD3N77H47POoiJbT+f82dPfsPHe9nn9p/15Mc3qCnd9/Sj2Hyd4v+YIapWC1D6/b6G+avDdY9asWQfcpzmts7MYht+gy5gzsh9zrtO9/Wt6eC4d4dZTx3PZ03ov2wGX1mParXLthy/wi1OuByCC3sP2gsOH7vsk6LIU62p0s3/SlmUsWL2UL5aP5w/5aRlkAbolE8vAAIxQj4HBPpk3ppjmZdb1ygjEqRpn1y5iWGNFap+73ti/0sgJD3zAB5v1TJFR9WU8+M5DrModxY8cd7E7kVbf/N1p351+rwY9j2H4DQz2w+1n6BotzzZ+D0UzoZ4scu2ydMl8RKPNdpe+SIJxtyxkW4OehjeyfjfP/ffXiFcoPHfZya1E8nIsRmzfoHsxDL+BwX644PCh9HNCrVzA2/45aMcKLNj1CSMa0otw1zyTzjhbW97EkXe/y+Q7PySc3Da7bDUvvvArrPNknEcmcGe31lJ+5kqj3aFB92IYfgODA/DMFXoF8b8azsBqlZHmWbj+87TX75Xg6me+ovSWhSz42xdUBfWKUUcixi+XPMUzL91OdLoN23kSSwLTeKrxtNSxF04v7tWL3IcCbckyH3mkruZaVlbG888/3+ZxZWVlOBwOpkyZwpgxY5g5cyZPP/10avypp55CFEXWrk2L840fPz4l+1xaWsrZZ5+dGnv55Ze55JJLUr+//vrrB1TzvPnmm1m8ePHB/smdxljcNTA4AKOKszl8SDZf7h7Jz3b/gvHB7Vy1+VX+euT5bCksBeDdjQ2p/e1SjHPWLeLqL19mYLCe7TeVMGJqBZuipdxccT36Ui7MKPFwzzlTu/8P6mO0pdWzbNkyIG34L7zwwjaPHT58OKtWrQJg586dnHXWWaiqyqWX6gvvJSUl3H333bz44ottHr9ixQo2bNjAuHHj9hr74x//yJtvvrnfuV9zzTVcccUVzJs3b7/7ZRrD4zcwaAf3njsZgLf9R/HY5HMJWJ1cs6y1MSgIe7nx0//wxaOX8vsPH6POncc5P7iPRYNm8o/6szh9+0M0yHqXshklHv73s6O6+8/oej46Zu9/Wx/Vx+RI2+M7n9LHYw17j3UQt1tvYnPLLbewdOlSJk+enGp4si+GDRvGn/70p1ZSzaeeeiobNmxISSR/m5tvvpl77rlnr+1bt27FZrOlRN9OP/10nnnmGQD+8Y9/8IMf/ACAIUOG0NjYSE1N+/opZArD4zcwaAelBW5G5FvZ3pjgyP5rqL6pgJPuW0Z+2AfATUuf5ez1i7AoMktnTML2fZmHQxewIjKOFdVjafbyIbMKqQb7l2W+9957eeCBB3j77bf3cXRrpk6d2ko/XxRFfvGLX3DPPfe0CgM1c9555/Hoo4+20tkB+Pzzz5k6Nf009/jjjzN79myGDh3Kgw8+yJdfftnqmp9//nmrsFFXYxh+A4N28reLZnLSw59RbGlk1Pg9MAR+s/ifzClbTVYszMtT5hE7086FQ95DRWCgVK8n+yeNfpYZ3rx+/310D3mOX7LvMbNz/+P2gv2P74NMduBqS8Lmwgsv5O6772bXrl17jZlMJn7+85/zhz/8ge99L93K8tsyy/369ePOO+/k2GOP5bXXXmsl+9wss9ydGKEeA4N2Mqo4m9JcMy81nUBQceA9y80ZGz9BEs3cfuNVHPnTdVw29E0+CszkuC1/52Xv8aljbzp+GGt/P79vG/0+wKpVq/bSuzGbzdx0003cd999bR7zwx/+kE8//bSV3MK3ZZYB1q1bR35+/l5GPhMyyweLYfgNDA6C+8+bSkh18mLTiWRNDkMe3HXcFdiKJBTNxA92/p6f7bmFakn39kYWWCi7dz7XHG8ImfUE+5JVbouysjJuvvlmrrlm7zrzSy65hI8++oj6+vq9xiwWCzfccEOrfrnflln++uuveffdd1m1ahUPPPBAq6eHrVu3Mn5898p1GIbfwOAgmDG0EAvwVMMCTKLGwltn887oOTzbeAonb/srn4cmA3qaZtm98/nw5u9eK8TexMSJEzGbzUyaNKnNxd0dO3ak0jnPO+88rrnmmlRGT0usVivXXnstdXV1bV7n8ssvb9Vw5aijjmLVqlVomkY8HueKK67gySefZMCAATz44INcdtllaJqGJEls376d6dP3EtDsUgxZZgODg+T8Rz/jqz1+fpj/NhHVwSvetFrihP4O3rq+e1PzehJDlnnfXHfddZx22mkcf/zx+9zntdde45tvvuGuu+7q9PUMWWYDgy7kx8cOZ3i+ndd8p7Yy+mdN7vedMvoG++fXv/41kUhkv/vIssxNN93UTTNKY2T1GBgcJPPGFAPwwtd7aAjGKfDYuGDm4NR2AwPQM3kWLFiw333OPffcbppNawzDb2DQAeaNKTYMfZKDbVRukHkONmRvhHoMDAw6jN1up7Gx8aANj0Hm0DSNxsZG7HZ7u48xPH4DA4MOU1JSQkVFRZtpjgbdh91up6SkpN37G4bfwMCgw1gsFoYO3X8HMoPehxHqMTAwMPiOYRh+AwMDg+8YhuE3MDAw+I5xSFTuCoJQD+zu4OEFQMMB9+p+jHkdHMa8Dg5jXgdHb50XdG5uQzRNK/z2xkPC8HcGQRBWtFWy3NMY8zo4jHkdHMa8Do7eOi/omrkZoR4DAwOD7xiG4TcwMDD4jvFdMPyP9/QE9oExr4PDmNfBYczr4Oit84IumFufj/EbGBgYGLTmu+DxGxgYGBi0wDD8BgYGBt8x+oThFwThXEEQNgiCoAqCMP1bY78SBGG7IAhbBEE4aR/H5wmC8KEgCNuS/+d2wRxfFARhdfJfmSAIq/exX5kgCOuS+3V52zFBEH4rCEJli7mdso/9Tk6+htsFQbilG+Z1vyAImwVBWCsIwmuCIOTsY79ueb0O9PcLOn9Jjq8VBGFqV82lxTUHCYLwsSAIm5Kf/+va2OcYQRD8Ld7f27t6Xsnr7vd96aHXa1SL12G1IAgBQRCu/9Y+3fJ6CYLwpCAIdYIgrG+xrV12KCPfRU3TDvl/wBhgFLAEmN5i+1hgDWADhgI7AFMbx/8RuCX58y3AfV083weB2/cxVgYUdONr91vg5gPsY0q+dsMAa/I1HdvF8zoRMCd/vm9f70l3vF7t+fuBU4B3+f/27ibUijqM4/j3R29WSmFh3izIwFVtMrrYK5EuUkKrRdhGwSBcuGgX4dKgXbteoBeysNz0JmJkL4sWoUmXfENNrUUXb1co6IXIMp4W//+F02HGO5x7ZqZ75/eBy50z/zlnnnnmzHNm/jNnDghYAexvYN2NAMvz8ALg24K47gd2N/V+qrpe2shXwTr9kfQFp8bzBdwHLAeO9Iybtg4Na1ucE3v8EXEsIk4UNK0DdkbEuYj4HjgFjJZMtz0PbwceriVQ0p4O8BjwTl3zqMEocCoivouIv4CdpJzVJiL2RsTUr1fvA6rfc3b4qiz/OuDNSPYBV0uq9ZdaImIiIsby8G/AMWBJnfMcosbz1WclcDoiBr0jwIxExBfAz32jq9ShoWyLc6LwX8AS4Ieex+MUbxjXRcQEpI0JWFRjTPcCkxFxsqQ9gL2Svpb0ZI1x9NqSD7dfLzm8rJrHumwi7R0WaSJfVZa/1RxJugm4Ddhf0HynpIOSPpJ0S0MhTbde2n5Prad856uNfEG1OjSUvM2a+/FL+hRYXNC0NSI+LHtawbjarl+tGOPjXHhv/+6IOCNpEfCJpON576CWuICXgG2kvGwjdUNt6n+JgufOOI9V8iVpK3Ae2FHyMkPPV1GoBeP6l7/R99p/ZizNB94FnoqIX/uax0jdGb/n8zcfAMsaCGu69dJmvi4F1gLPFDS3la+qhpK3WVP4I2LVAE8bB27seXwDcKZguklJIxExkQ83z9YRo6SLgUeB2y/wGmfy/7OS3icd2s2okFXNnaRXgN0FTVXzONS4JG0EHgJWRu7gLHiNoeerQJXlryVH05F0Cano74iI9/rbez8IImKPpBclXRsRtd6QrMJ6aSVf2WpgLCIm+xvayldWpQ4NJW9zvatnF7Be0mWSlpI+ub8qmW5jHt4IlB1BzNQq4HhEjBc1SrpS0oKpYdIJziNF0w5LX7/qIyXzOwAsk7Q07y2tJ+WszrgeBJ4G1kbEHyXTNJWvKsu/C9iQr1ZZAfwyddhel3y+6DXgWEQ8XzLN4jwdkkZJ2/xPNcdVZb00nq8epUfdbeSrR5U6NJxtse6z1038kQrWOHAOmAQ+7mnbSjoLfgJY3TP+VfIVQMA1wGfAyfx/YU1xvgFs7ht3PbAnD99MOkt/EDhK6vKoO3dvAYeBQ/kNNNIfV368hnTVyOmG4jpF6sv8Jv+93Ga+ipYf2Dy1PkmH4C/k9sP0XF1WY0z3kA7zD/XkaU1fXFtybg6STpLf1UBcheul7Xzl+V5BKuRX9YxrPF+kD54J4O9cu54oq0N1bIu+ZYOZWcfM9a4eMzPr48JvZtYxLvxmZh3jwm9m1jEu/GZmHePCb2bWMS78ZmYd48JvNgBJd+Qb283L31Q9KunWtuMyq8Jf4DIbkKRngXnA5cB4RDzXckhmlbjwmw0o3yvlAPAn6av9/7Qcklkl7uoxG9xCYD7p16/mtRyLWWXe4zcbkKRdpF9AWkq6ud2WlkMyq2TW3I/f7P9E0gbgfES8Leki4EtJD0TE523HZjYd7/GbmXWM+/jNzDrGhd/MrGNc+M3MOsaF38ysY1z4zcw6xoXfzKxjXPjNzDrmXwLmMYIT9I16AAAAAElFTkSuQmCC\n", "text/plain": [ "<Figure size 432x288 with 1 Axes>" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "\"\"\"\n", "TODO: Plot model prediction along with the original function and the training data\n", "\"\"\"\n", "plt.scatter(x, y, label=\"data\", alpha=0.1)\n", "plt.plot(x_lin, y_lin, label=\"Function f(x)\", color=\"red\")\n", "plt.plot(x_lin, y_pred, linestyle=\"--\", label=\"Fit DNN(x)\", color=\"orange\")\n", "plt.xlabel(\"x\")\n", "plt.ylabel(\"y\")\n", "plt.legend()\n", "plt.savefig(\"fit.pdf\")" ] }, { "cell_type": "markdown", "id": "85071641", "metadata": {}, "source": [ "## Model Improvements\n", "Try to improve your model and its training. You may try the following configurations.\n", "- Different activation functions (ReLU, Sigmoid, Thanh)\n", "- Different learning rates (0.0001, 0.001, 0.01 ,0.1, 1, 10)\n", "\n", "Describe your observations." ] }, { "cell_type": "markdown", "id": "c4c1382a", "metadata": {}, "source": [ "## Further Tasks\n", "Go back to the beginning of the notebook and increase the uncertainty of the data.\n", "Describe your observations." ] }, { "cell_type": "markdown", "id": "c069e5c2", "metadata": {}, "source": [ "## Summary\n", "This concludes our tutorial on the regression of a very complicated function.\n", "\n", "In this tutorial you have learned:\n", "* How to perform a regression with a neural network\n", "* The limits of very simple neural networks\n", "* The limits of very simple optimizers\n", "* How to improve:\n", " * the network \n", " * the optimization of the network\n", "* The influence of uncertain data on the model training" ] }, { "cell_type": "code", "execution_count": null, "id": "14ca73a2", "metadata": {}, "outputs": [], "source": [] } ], "metadata": { "kernelspec": { "display_name": "Python 3 (ipykernel)", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.8.8" } }, "nbformat": 4, "nbformat_minor": 5 }