Skip to content

Instantly share code, notes, and snippets.

@georgehc
Last active March 7, 2019 18:50
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 1 You must be signed in to fork a gist
  • Save georgehc/a1549ded7f4e10329cfd7642e8b401e1 to your computer and use it in GitHub Desktop.
Save georgehc/a1549ded7f4e10329cfd7642e8b401e1 to your computer and use it in GitHub Desktop.
Display the source blob
Display the rendered blob
Raw
{
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# 95-865: Interpreting What a Convnet is Learning\n",
"\n",
"This demo is heavily based on Section 5.4 \"Visualizing what convnets learn\" of Francois Chollet's book *Deep Learning with Python*. I'm only showing two different visualizations here: visualizing outputs of convolutional & max pooling layers, and separately visualizing how much each pixel activates a particular output neuron. The latter is referred to as \"class activation maps\" (CAMs). It's also possible to visualize the filters themselves (not in this demo). -George H. Chen (georgechen [at symbol] cmu.edu)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"This demo requires Python OpenCV to be installed, which can be done using Anaconda's package installer:\n",
"\n",
"```\n",
"conda install -c menpo opencv\n",
"```"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"We start with some boilerplate imports:"
]
},
{
"cell_type": "code",
"execution_count": 1,
"metadata": {},
"outputs": [],
"source": [
"%matplotlib inline\n",
"import matplotlib.pyplot as plt\n",
"import numpy as np\n",
"np.set_printoptions(precision=5, suppress=True)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Loading in data\n",
"\n",
"For this demo, we use the [fashion MNIST dataset](https://arxiv.org/abs/1708.07747). The setup is basically identical to MNIST handwritten digits except that instead of 10 different digits, we have 10 different fashion items: t-shirt/tops, trousers, pullovers, dresses, coats, sandals, shirts, sneakers, bags, and ankle boots. We load in the data here:"
]
},
{
"cell_type": "code",
"execution_count": 2,
"metadata": {},
"outputs": [
{
"name": "stderr",
"output_type": "stream",
"text": [
"Using TensorFlow backend.\n"
]
}
],
"source": [
"from keras.datasets import fashion_mnist\n",
"\n",
"(x_train, y_train), (x_test, y_test) = fashion_mnist.load_data()\n",
"\n",
"labels = ['T-shirt/top', 'Trouser', 'Pullover', 'Dress', 'Coat', 'Sandal', 'Shirt', 'Sneaker', 'Bag', 'Ankle boot']"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Loading in a Pre-trained Convnet"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Next, we load in a pre-trained convnet."
]
},
{
"cell_type": "code",
"execution_count": 3,
"metadata": {},
"outputs": [],
"source": [
"from keras.models import load_model"
]
},
{
"cell_type": "code",
"execution_count": 4,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"_________________________________________________________________\n",
"Layer (type) Output Shape Param # \n",
"=================================================================\n",
"conv2d_1 (Conv2D) (None, 26, 26, 32) 320 \n",
"_________________________________________________________________\n",
"max_pooling2d_1 (MaxPooling2 (None, 13, 13, 32) 0 \n",
"_________________________________________________________________\n",
"conv2d_2 (Conv2D) (None, 11, 11, 32) 9248 \n",
"_________________________________________________________________\n",
"max_pooling2d_2 (MaxPooling2 (None, 5, 5, 32) 0 \n",
"_________________________________________________________________\n",
"flatten_1 (Flatten) (None, 800) 0 \n",
"_________________________________________________________________\n",
"dense_1 (Dense) (None, 64) 51264 \n",
"_________________________________________________________________\n",
"dense_2 (Dense) (None, 10) 650 \n",
"=================================================================\n",
"Total params: 61,482\n",
"Trainable params: 61,482\n",
"Non-trainable params: 0\n",
"_________________________________________________________________\n"
]
}
],
"source": [
"model = load_model('fashion_mnist_cnn_model.h5')\n",
"model.summary()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"You can check what the input shape should be:"
]
},
{
"cell_type": "code",
"execution_count": 5,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"(None, 28, 28, 1)"
]
},
"execution_count": 5,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"model.input_shape"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"In case you are wondering how we came up with the above pre-trained model, see the code in the cell below (you can uncomment and run it). Note that the convnet architecture below is the same as the one we used in the convnet MNIST handwritten digit demo."
]
},
{
"cell_type": "code",
"execution_count": 6,
"metadata": {},
"outputs": [],
"source": [
"# scaled_train_images = train_images.reshape(len(train_images), train_images.shape[1], train_images.shape[2], -1)\n",
"# scaled_test_images = test_images.reshape(len(test_images), test_images.shape[1], test_images.shape[2], -1)\n",
"# scaled_train_images = scaled_train_images.astype(np.float32) / 255 # rescale to be between 0 and 1\n",
"# scaled_test_images = scaled_test_images.astype(np.float32) / 255 # rescale to be between 0 and 1\n",
"\n",
"# from keras.utils import to_categorical\n",
"# train_labels_categorical = to_categorical(train_labels)\n",
"# test_labels_categorical = to_categorical(test_labels)\n",
"\n",
"# model = models.Sequential()\n",
"# model.add(layers.Conv2D(32, (3, 3), activation='relu', input_shape=(28, 28, 1)))\n",
"# model.add(layers.MaxPooling2D((2, 2)))\n",
"# model.add(layers.Conv2D(32, (3, 3), activation='relu'))\n",
"# model.add(layers.MaxPooling2D((2, 2)))\n",
"# model.add(layers.Flatten())\n",
"# model.add(layers.Dense(64, activation='relu'))\n",
"# model.add(layers.Dense(10, activation='softmax'))\n",
"# model.summary()\n",
"\n",
"# model.compile(optimizer='rmsprop', loss='categorical_crossentropy', metrics=['accuracy'])\n",
"\n",
"# history = model.fit(scaled_train_images, train_labels_categorical, validation_split=0.2, epochs=5, batch_size=128)\n",
"# model.save('fashion_mnist_cnn_model.h5')"
]
},
{
"cell_type": "markdown",
"metadata": {
"collapsed": true
},
"source": [
"## Prediction on a test image\n",
"\n",
"For the rest of this demo, we focus on a single test image:"
]
},
{
"cell_type": "code",
"execution_count": 7,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"<matplotlib.image.AxesImage at 0x1124bed68>"
]
},
"execution_count": 7,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"test_image = x_test[0] / 255\n",
"plt.imshow(test_image, cmap='binary')"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Let's first look at what the pre-trained convnet's prediction is for the test image. First, we convert the test image into a tensor with the same shape as what would go into the convnet. Note that here, the 0th axis will refer to which image we are looking at within a batch (the batch size here is 1 since there is only 1 image):"
]
},
{
"cell_type": "code",
"execution_count": 8,
"metadata": {},
"outputs": [],
"source": [
"test_image_tensor = test_image.reshape(1, 28, 28, 1) # convert test image into a tensor"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Let's look at the predicted label probabilities:"
]
},
{
"cell_type": "code",
"execution_count": 9,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"T-shirt/top : 0.00000\n",
"Trouser : 0.00000\n",
"Pullover : 0.00000\n",
"Dress : 0.00000\n",
"Coat : 0.00000\n",
"Sandal : 0.00329\n",
"Shirt : 0.00001\n",
"Sneaker : 0.00349\n",
"Bag : 0.00056\n",
"Ankle boot : 0.99264\n"
]
}
],
"source": [
"test_image_predicted_label_probabilities = model.predict(test_image_tensor)[0]\n",
"for idx, prob in enumerate(test_image_predicted_label_probabilities):\n",
" print(labels[idx].ljust(11), ': %.05f' % prob)"
]
},
{
"cell_type": "code",
"execution_count": 10,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"(1, 10)"
]
},
"execution_count": 10,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"model.predict(test_image_tensor).shape"
]
},
{
"cell_type": "code",
"execution_count": 11,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Most probable label index: 9\n",
"Most probable label: Ankle boot\n"
]
}
],
"source": [
"most_probable_label_idx = np.argmax(test_image_predicted_label_probabilities)\n",
"print('Most probable label index:', most_probable_label_idx)\n",
"print('Most probable label:', labels[most_probable_label_idx])"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Visualizing filter outputs\n",
"\n",
"For the specific test image above, let's look at what the outputs are after each of the first four layers (there's a conv2d layer, a max pool layer, another conv2d layer, and another max pool layer; afterward, there are dense layers which are no longer 2D images so while we can visualize these dense 1D vectors, they are harder to interpret).\n",
"\n",
"We begin by specifying a keras `Model` object. This model will take as input a batch of images and output what the outputs are at every layer of the pre-trained convnet. Importantly, this code is treating everything as symbolic variables (so we're not actually plugging in the test image tensor we created in the previous cell yet!)."
]
},
{
"cell_type": "code",
"execution_count": 12,
"metadata": {},
"outputs": [
{
"name": "stderr",
"output_type": "stream",
"text": [
"/Users/georgehc/anaconda3/envs/py35/lib/python3.5/site-packages/ipykernel_launcher.py:3: UserWarning: Update your `Model` call to the Keras 2 API: `Model(inputs=Tensor(\"co..., outputs=[<tf.Tenso...)`\n",
" This is separate from the ipykernel package so we can avoid doing imports until\n"
]
}
],
"source": [
"from keras.models import Model\n",
"activation_model = Model(input=model.input,\n",
" outputs=[layer.output for layer in model.layers])"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Next, we pass in the test image tensor into the above activation model to get all the layer outputs:"
]
},
{
"cell_type": "code",
"execution_count": 13,
"metadata": {},
"outputs": [],
"source": [
"activations = activation_model.predict(test_image_tensor)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"For example, we can get the 0th layer's output (this is the first conv2d layer):"
]
},
{
"cell_type": "code",
"execution_count": 14,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"(1, 26, 26, 32)"
]
},
"execution_count": 14,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"activations[0].shape"
]
},
{
"cell_type": "code",
"execution_count": 15,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"<matplotlib.image.AxesImage at 0x182d956eb8>"
]
},
"execution_count": 15,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"plt.imshow(activations[0][0, :, :, 0], cmap='binary')"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"I've written a function that plots out everything in a specific layer (note that only layers 0, 1, 2, and 3 correspond to images; after these layers, the representation gets flattened):"
]
},
{
"cell_type": "code",
"execution_count": 16,
"metadata": {},
"outputs": [],
"source": [
"def plot_layer_output(layer_idx, num_images_per_row=8):\n",
" if len(activations[layer_idx].shape) != 4:\n",
" print(\"Looks like this layer's output doesn't consist of a stack of images?\")\n",
" else:\n",
" num_images = activations[layer_idx].shape[-1]\n",
"\n",
" num_rows = num_images // num_images_per_row\n",
" if num_images % num_images_per_row > 0:\n",
" num_rows += 1\n",
"\n",
" plt.figure(figsize=(15, 10))\n",
" for image_idx in range(num_images):\n",
" row_idx = image_idx // num_images_per_row\n",
" col_idx = image_idx % num_images_per_row\n",
" plt.subplot(num_rows, num_images_per_row, image_idx + 1)\n",
" plt.imshow(activations[layer_idx][0, :, :, image_idx])"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Here's the visualization for the 0-th layer's output. As a reminder, the 0-th layer is a conv2d layer with 32 filters, so there are 32 output images:"
]
},
{
"cell_type": "code",
"execution_count": 17,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAA2oAAAIlCAYAAACkUgsGAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDMuMC4wLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvqOYd8AAAIABJREFUeJzsvWl0Xdd157nPvW/EPJIAwQGcRFHUaImiJNuSYkfyHDlO4qEzKIlT7jg1OMNaFVW61upOV6riandlWKnYibrixEk7kVW2E9lty5Itz5pHS6IoDiJBEiCJeQbefPrDg97e+4Dv8QF4AO4F/78vPBf7Dufdfc859/D+9z7GWksAAAAAAAAAAIKDt94VAAAAAAAAAACgwUQNAAAAAAAAAAIGJmoAAAAAAAAAEDAwUQMAAAAAAACAgIGJGgAAAAAAAAAEDEzUAAAAAAAAACBgYKIGAAAAAAAAAAFjRRM1Y8y7jTFHjTEnjDH31apSoPbAV+EBvgoP8FV4gK/CAfwUHuCr8ABfhRez3AWvjTE+ER0joruIqJ+IniWij1lrX6td9UAtgK/CA3wVHuCr8ABfhQP4KTzAV+EBvgo3kRUcezMRnbDWniQiMsY8QET3EFFZx8dM3CaofgWXBJciRbOUsWnj/HnpvvKSNhlpWr2KAprPTVGmML9yX6FdrTq1aFcxE7cJAz+tJil7UT8RLcdXaFOrSs3GKvhq1YGvwkPt3gETNuk1rl5FAc0XpilTSF1svFKsZKLWQ0RnxXY/ER2qdECC6umQeecKLgkuxdP2sYv9ecm+Skaa6LbNH61hzYDLE4MPXOzPaFcBpBbtKmHq6ZbIu2pcMyB5KvdIOdPSfEX1dMi/u4Y1Ay5P5x+92J/R/wWQWr1XwFerT83eAb1GurXpnhrWDLg8OfVQVfutZKJ2sVngIh2lMeYTRPQJIqIE1a3gcmAFLN1XPv4nZZ1AuwoPl/QV/BQY4KtwgP4vPMBX4WHpvvLw5TMorCSZSD8RbRPbW4nonLuTtfZ+a+1N1tqbohRfweXACliyr2Jecs0qBxRoV+Hhkr5SfjLw0zqyNF+hTa0X6P/CA3wVHpb+DmjwDhgUVjJRe5aI9hpjdhpjYkT0USL6Wm2qBWoMfBUe4KvwAF+FB/gqHMBP4QG+Cg/wVYhZtvTRWpszxvwbInqEiHwi+ry19nDNagZqBnwVHuCr8ABfhQf4KhzAT+EBvgoP8FW4WUmMGllrv0lE36xRXcAqAl+FB/gqPMBX4QG+CgfwU3iAr8IDfBVeVrTgNQAAAAAAAACA2oOJGgAAAAAAAAAEDEzUAAAAAAAAACBgYKIGAAAAAAAAAAEDEzUAAAAAAAAACBiYqAEAAAAAAABAwMBEDQAAAAAAAAACBiZqAAAAAAAAABAwMFEDAAAAAAAAgIARWe8KAAdjuGytMkW29pTKuf6BtarRxscT/19RKGhbBX9QLMrl+ZQypQ5s5d2eOaZs+Wt2FU83jua3LkifEim/+h3typQfGV2LGm04bIHvqfF9bfTE/S/oNmXzed5Nti8iKqS4jUW6Nutz1iWL1+qPLae6lzcFvudu2zAR9oH0zaWOW9RXCvz9e4uHnIwvrZ5g+bj+EXh1dbybKBMR5YeHV61KYOn47W1lbaa5qfgv+sClY8Q7oHXfAav8nuX0j6ae21J+eETZvN29xcJ8de+A+KIGAAAAAAAAAAEDEzUAAAAAAAAACBiYqAEAAAAAAABAwECQzBLwOzvV9txNvaVy/OFna3MRpZXVmtdTv7ajVN7xGR07I+M3LivKxJDlenSs0cSVDaVyxw91fN/oW7eUym3PDOnTT89e/FpEOp4toptS3/s5tmPPY9PKNrmnqF3Ov47/J7kYXn09b+zdoY3H+krFwtzc8i7gxs94HEOVur5XmRI/KfrIjF2mXaXoj2w2U3a3wh03qO1sPd+vuh8f1fvKeE4nHsBE+Tibd2IFBOn9PWp7cmcx3in3UPRiu28c3PgJ+SyL51jFjzn4Lc1qe/qnriyVGx87omzVtjE3DtHmcmyL6piZUx8pjqPpv75M25SD58SFFa7eXSpHRvTYkTvZt7yLVIizmb3rQKmcbtR+bPkHxKhJvERC/+GK3lJxflujMuUSfM/r//k5fVyF9lkJ08Bjo43rdjVyaFPxut/Y4H1gtTj9juw77cysMuUO7ufDXu/Xx0lfOTHVMi7NOu8Vsk+U/SER0bm7i77KPoAYNQAAAAAAAAAIJZioAQAAAAAAAEDAgPZgCQy/f4/aTn70QqmcKdykbLFHnE/dVeJ3smRv7iYt+9rz0ydL5fR/gtSxEufudGQIB1lCMnxzt7Jd8bdsG7pDp/3e/P/xPVdp/Imo0MwyhLHrW5XNtqVLZf/APmXreLR4zshUmsBicjfsLZUn9ySVzd5wXanc8eVXla0wrWVC5XClX7aXZXQTe7VcoutM00JFnBTzG5kq0xF717JkbuAW7afZK1gm2d14lbI1faV832jT5duEv2dnqXzqXTq1e+OpheOr6x42DqI/NGLZA1chqQ5x5Fvnf4Hv+cyWq5Vt0+eerqoarrRHMvxrN6rt/L4F2VGiQiUvI3I36vFh8Pd4bC88uUXZev5r37KuoSTFN+jr9d/Fz033D8ovqwA4Bf6b5Bq5LY0e0JLD+U6+l+31Nytby98/Wf4aIozC27db2ab2tZTKjUfGlK39heJ2ZLZ8W9yQSDmilGB7ejDID3K4kL95k7KdexuPXy1du5St+Tt6eaVyGEeKWmkJrcwdU0REVPhGdRJYfFEDAAAAAAAAgICBiRoAAAAAAAAABAxM1AAAAAAAAAAgYCBGjWhx3JNIs+nv53iZll/SaTt/b8ejpfJ/Sd5b9vSRbVvV9twBjpGKTeiYjMltrJUd/KBOh/2LLWdL5afoMk3B6uv/W7Apvn+zB3u5fEDH8EUL7OPopD7HqQ+y7jzXqDX6f3jfD0rlL1x4q7L9RtdXSuW767LK9pUZPuf9h7XmmW6+plj3qcvUhw6RHh2HMd7Duv+Z9+u4M/8pvq+nf/saZWs5zjEvBadni86yX1Ot2v91w6wTv/039DIbRz5X1Ptbu3HjCa2Tcth4Io1xhdgjk+P9Gu8cVLbUa7yUyfm79Tku3MbxvMYJiTFCsp+v0zFMux/k8/yfP/uAsv3x5z5WrO9Gj1Fzl5aQpgq+khQ26Xja1u/wmFM3pM/ht3FMjEk68aIidX9+VMfLSJIf0s/GvsZxIiIai5Vf7mGj43dwLPrJ9+uYwU/u4THnsyfurv6cIhbaRpxxUsRXn/iIXg7AirGr4cHnq77e5YL0VW6Xjm+X/c32fzytbKN3bCuV3/57OtbzM59+qVR+yYnLnShwO/sfgw3Kdvo8D2yxz+p4OT9V7Dxd3290rEiR7zXy/coNnKv6HPNX8vvi3A798pBLcCx2fDrv2Phet7w4ok86wjFx3vU6TvvefcXn4S/jepmAclxeHgUAAAAAAACAEICJGgAAAAAAAAAEDEgfL4JMj3rk37JM5NT++9V+Nz7/4VK5MV1ekpLaq1O+D9zLko9cVrvAeGx7zxWvKds/PXx7qbyTyqd33XBIaWreSenczGn4+z/CEg4nkz4lnuJP4lv/6Q1l6/t1ToH75x/7vLLti/Ln69/d8qiyfWfmQKn8k5SWPv7zf7qrVG6kp5QtMlxMzWqy1aVm3Yh4dSy/yfbqVLkj17O/W5JaFtL6njOl8snntinb1IdZJpnJ6HT68hHKndfSn4YDLM06M6tlYX570UdmYuOm5ze+89sq5XYXZNv4Ps58V9/T3/m1r/N+Vp//YJKXvHhibq+ypQssB/6bx29Xtr73cfrj2YJOz597Uy20Ef/rsVDbfqLw8utqu7Wel7w4/V7tR0+kjk8O6TEun+BGtfmZOWWLjMyUyn+495+V7enZ4jI3P/J0n7nhcEIqZDsb/NAVpfIn3/eI2u8vnnlHqbzzUS1FnfiVW0vlrHYVzdzJMqrGei39HxvkpWT8Om3zB7SkFTh0tpWK2SYdrlCIcofjOenYm7/I26+8dkDZ3rab0/W7cu10C58zMqfb3I5vHi2V8+PjymYOLoQCbPBVL6zzDqiWnqiwvIskPziktrse5vCU0Wu0Q1LtYtkTr8J7wOBwWdPJX9BLAn0qWXyPSXrVyb834rAGAAAAAAAAAKEGEzUAAAAAAAAACBiXnKgZYz5vjBkyxrwq/tZmjPm2Meb4wr+tlc4B1obD9jmaoQmCr4LPK0PfounMEHwVAl6d/j5N50bhqxCQnRwjjFfhYPzcHHwVAvBeER4On/wXmpm7AF9tMKqJUfs7IvrvRPT34m/3EdFj1tpPG2PuW9j+/dpXb41wUh6P/OrBUvlzd3PM0q+debvaL/Igp22d7dKnnP4Ea8k77tfxZDu/x5pXr0GnXy1Mc5zNyc06dmfnYOW4tC20gyZplOZIpTRfP18VHLG0iP1bZJN6ficFP+XyF9+PiPo+wvF/BRknFtHn7/rTJ0plu2+Psm3/M06V+6f/ZT8tD51i2Y1Lk1jfoy0t19BE+jzNZlVa643VriqQv45jkyZ36xgJbzfHt4web1e2+R1TpfJ1tx1XtuOjnBL+pm06Ne8LA7xERtsenUrcEzniI55+bmwmS93+bpowgzRrJ6UpeL4yTrvxZGynE+ck4mVsxtHJy+VJmkQK6B4dazu1nZ/5LT+aUbYHTry3VB7fp3X9Xxzk809cqUxUd4Hr3DGp++VME9vaI/p6ubrivl5dPeXn595N6zVeVRnf5yLjlxal2Zd9nuvjGsSvmSd/Uirv6dMDWWGKxxIZC0JElNvfWypH+3QK/twF3nbjCd9S10dERG2thgYmaP18tRpIXznvFflbeTmRjo/wUjtfP6+XGen5Bj8L/pyOuTF59kHXP+oY9vxfcd/o79VLwnQcf658nSvF3VAA3yvWAHn/0t3cB0bmdHvzflThvgrsi4fVdv2L5fdtKG+iSq09XxehzVtvpInZszQ3r1LFB8dXsv9y+0q3b5OI8cu4sZ+NnKcgd1YvoVUtjQ88JcraFtnVWyrb8Ult7OA5r2nWyyV4IpYu26R/6+2JYltq9KobLy75Rc1a+0MichdJuYeIvrBQ/gIRfbCqq4FVpdV0kqFFCwnBVwGkLbmNzOKOCb4KIG2RLrSrkODF40QYr0JBst4jgq8CD94rwkNry068V2xAlhujttlae56IaOHfTeV2NMZ8whjznDHmuSxt3EVjA8yyfJUpzK9ZBUEJtKvwUJWvlJ828KLZAWfpvkKbWi/gq3CAsSo8LO8d0OIdMCisenp+a+39RHQ/EVGTaSufw34dSb/noNq+45O8ivxrqZ5S+Y1Pa1lc+3H+z8ALt7cpW9e3L5TK7udqv6ODNzpatPEIywvcFKLyE2zuZB/VGumr5tjm6nzlShhlqm83R77c1yz6Hzom59wxcZ7Bd+uU7JEbOUWtP8cSm93/y0tqPynvsOe0TKcwp1NLLwcTjTnb3LTc85uZhW333i2BMLQrF3srpwGXsrypD2gZm3mVpQy2XT8LRsgUB2Z0ytv5efbBmWktw791e1+p/KOTu5Utl+fn69aOU8r2wpaF9OQnI0TVZdJVKD95y/RTDeQi5KbglzZHouVfxanD868dK5UnP3CV2q/tBV66wjrnL0RYzpoc1OevH2RpX3ReHzd6tTyJ7iN8sQRKi6fbVGZT8Zw2uvymUHWbqiRvrOSPStfOl5d3V5RFlsETciAiLamvRGFmVm/PzpbZk8jLcF1sq5b90Hke/340vU+ZPtXxIyIiSprqfsvFCEz/545jUjbsSOwHfoc7kG7xhcr7dIfar+EHz5fKEx+5SdnanuaxKz81pWxyjDPz1U+I/D29fM5jb5TfcZkExlcViGzbqrbndvH7XLqFx/Kmr2ipY5B+TGZh6QDrV3i3ugTqHTDSWfufJ/vOgnN6v8x+DqZVj/u502fL7OkcF+f3w0pp/H0n5CjXJ87vSM0jdTzOpfZ1a9tZDr+IzOpxoc4rvqt4i79UX5TlflEbNMZ0ExEt/Dt0if3B+gFfhQf4KjzAV+EBvgoP8FU4gJ/CA3wVcpY7UfsaEd27UL6XiB6qTXXAKgBfhQf4KjzAV+EBvgoP8FU4gJ/CA3wVcqpJz/9PRPQkEe0zxvQbYz5ORJ8moruMMceJ6K6FbbDOvGKffjMzE3wVcF4af5RmcxNE8FXg+cnAQzSbGSOCrwJPbniMCONVKDhzJk8EXwUevFeEh9ef/yLNzwwTwVcbikvGqFlrP1bG9M4a12VNmb/n5lI587/qxFMfaeMYtU/+8b8rlTv+RafHP/fvbiuVI/NOKt4TOtZFYrewJt1kqtfpZ7tYm2tOLrZfYw7R03aGpuxY1DGtnq/cODQZ71JBv78oXbg8jxO7de6DvaXy5M0pZfu57a+Xyq99iOPX3Ls6+yHW+td/+WmqFiOWFKgYH+Lp32qz5ffNXRikq+k6mqWRtfXVGlO44wa1bTLs15O/Je5Xn05IXCdC1lI79HOSiPJ9HRzWWnVfLMmQt9ofkxmxfIJji/h8XHdsQtkmbuigHTd8nKYf+TOaGT27Lr6S8UvGc9uUaCtuHJoQ/VfS5JsbD+jtIU5BPP6rvMxIbLp83IBN6KEk1cbtuW5YH5erY1suoX+Pl+PtSEr3qZ6IERzI6RjEnh3FeLnRniaaOTangwWKrI6vlpIuX/SHJqIfJSsPc+Izqo1Lk3gdOma6UoxaZCvHYef6B5Z8LSIiymTLmr78vI6z+sz7irnJ9+wYp+d+klo7X60GTnyndzWvN/H6v69TtitbOW7v7Dd7S+Utjz2h9qObOFAz3ayfr0rvFZFtW7haMberKk+hKVnRvi7vFWtAZOeOUnn6Or30yOQO7s+2fuV0qZxz2qLfwmNQfsJJ3b7WWKIr3/KL9NLMn9P0RP/6+apSTLVk0XglDsvr47x27u9zfWeqqkbhbdfrc/z4pTJ7EvmtIs2++95aqU8XuQj8tLOfOC4yo8/50sJ4PFflci7LlT4CAAAAAAAAAFglMFEDAAAAAAAAgICx6un51xOZZnP8HbuUbfRneI2ID285qmwfeeRfl8pX3K/ljpKp3fzZcveXK6T7vMJJB17PacSjU9Wnhje55adzXxaVUuhXg+/8P4BIu28deWNhS3upfOGtWtI2cwvfo09e+yNle/Q3314qe33i0/Yt1+rzR6r7LVLKQFS9nKGStGwj46YBT93GqbijM1omcuoelgIlkpxa2gxq6U1WnHJzl5YiTs2xhNGmtHQi3lHeB6k8K0EKWf1czmfYNpNPKNvgoYU6/bjsqWuDlIt4bnp2UXbapJKIOOmObbb8egJzP3uoVI6PO7K1AreBTCNfL6ZXUSAb4+Fj7IB+DuRxdcPO6UVbNI5axIiq+I47pfTyf17Qcro7u44TEdGpaA3bYTnJi0iDvkjaI1OkuzLV5VxrCci2WBgaqfo4m4xfeqeLXS9VnSRzx1f1dva9xd9qg5TcvJJM38Gr434se+hKZTv2YW4Tne3jynbq+72l8s6/5XcO1/OTe1kKnhgvP+b7nZ36D/I3TDmNtQLeNIcT5D1HjlaD53I9UcvmXK+XiRi6mu+zdX72lv+H3yVyFZbvMQ1Ctr/O0seG54uSQG9uGevIrARX/l0pBb/sEyv0j6ZOvxNUK3f0O/g9skITXkT2AMtgvSdeqf7ANN9rL637Q3n5lhO6Hf/H08U1xwcyX6rqMviiBgAAAAAAAAABAxM1AAAAAAAAAAgYoZM+yuwsRETUzZ//091afjOymz97j71Ff8K/cStnt/rSo29Ttv1/zJkE81JOcPBqtV/jKZ7nRoecrFpSQufI/CJHxGfceIyqJTLMcrF8VB9XSea0LAyxdNHJwKMyNrpZH8VvtU31ypTZxDKB0QNaYjZxNX82/tDNTynbTJ6lOd+/a6+yeedZohDp3V4qZx3ZZWKkfFaySHdXWZuZZYlsze9xgPHq2XeeIwfN9bC8YHqbzmyWHOJ7dOLD2se2gX3gvyLkddv08+Wnuc1tqtcSntEJfoZaNus2lyuwz+fSun3EfSG7dSQR6RRLH58c0xLp3mvOERHRSLL881M9hjNduZIQiSthzPG1bQU9h5R6ExGlr+YsqAO3a3nbjof5vhonW9XMbr7HDefYNt+u21SdkHCnW51MmkItNLFL64qkpDE+oX9PRCR19XKujZ+T157UfnrnB4p9dtTVUi4XwxlfreMPKWm0hfKyH5tbW2lfpcyOFY87w2Ohl9Bt1mvn7JG5gXPKJvvGSjL5+MPPqu2/GC/24UP50SXX9ZIsQcKoDnOycPoig2KuQ79XTPVy33jhFudEMR7H0o9qaeLOvz9SKufHWRbpX3WF2i85yudYlElO0qLrlTvOqaBNvHo5qz3dz9fbu1PZ8kdPVH2eNcPxcaSHfTV1cKuyjVzDfU8hpp+F5uNc7vyX15UtL+WO4np+c5ParzA5ReWQElnjZOFcjQyRufPFrKLWLj1LbFnelDW6WborZGxU45e7n+gfTZ1+d5ChMoULS1iTW8rNRZbuyGGdIbXSyODPijHWkfv6og/Mj+oM8VaE87iSU3mWlm8dUbYjt+wnIqLUXHXv//iiBgAAAAAAAAABAxM1AAAAAAAAAAgYmKgBAAAAAAAAQMBY0xg1E/HJbynqPe02Jy5IxDaZvBOj4bNGeOKqFmWb2M1zzVyDPi7bwirRRPu8svX9Pcc67fniT3RdtnaXivnrWLPt1mvT8+KcbkrtVlHPGZ3etSBSuUutuovU2xb/wNfI/JROPx999Lmy51kWvk+F5qIWP9OpY81SbVyvma1ag5wVsuPMVfqe7+ziPN2/0HlM2WQc2gOP36psV/z286Je+n6ZGw+UyjKeMHL0rNrPm+T4DTdq4U1t94qokNbYu1ancC68rPXwtUTGlhEReR2sr7aOTt4mWR9to7r+813syLlO/RzmK8iqB94r9OJOhuh4Px+YaRUxY07sQK6R+4KBKR0TIPeMRrSW3JPxkVa3x6kUP19eVMfE1dVxezw6pOO8Hrr5r4iI6OfjWpu+LKwtu4yDjK/MbdIxgdkmvm/5pPbT1Db2zeR+R4Vf4HvQ+w2tn5/v4likVIs+Z2Se73I+zudIOPFk8hyeExYhz+H2jbEptuWcMAWF01Cne0Tq8xe08d/+ymkiIvoHv0ZxpJbI5i4e6+Fm5F8OnhOfYURMVP7YG84FVzfWTY4zXpMT93TufKnsLl0iY5dzZ/upWh4ZvIqIiCazL11izyoxphST5e3QMUoU5d+mYuqIyEb4uc9s1bHvAzfxs51u0/c/X8fbsXH9f92tz/D1mr+mf59pE9fYy/W0TlrvRB+PcbKPJiLydnDcqR0p/+6wlOViTL2IpXLu0aqwMFZGxDNPRDR7gN8JJ3fpsSotHr1Mq7O0jxg/vIzuaxo5bI/aXtd9Q+wpETPopuCX47kYy5cSW1aQ56x+FaaKyBwNxslvkLswWJuLlC5giN7sG5wYNXlt2+qM0eJdwjoxav4FEZca0TYr3pMLqRSVw80pYGf5uOXeA/vSa6Wyu+QQyf7R7bcbeNs6uRzk0hDuc9N4sthvuEvQlANf1AAAAAAAAAAgYGCiBgAAAAAAAAABY02lj9mWBA39bHF1eHcl+FyCP1kXnMyynsiMPb3H+QTbLD7Vj+gD25/ni2z6waw+6TCnyDebdRpdmQLbE+lxI1PO59izLAsxQmJGRJQ7dZrKIdN9UoVV79102/lWlrVNbdPSgHaqLdkGnwZvK35mH79ZpybftZ1/9+SU/kzcVsf+6KrXqWtfPc+S0n96+J3KtvVbLC3bd/o1ZbPX7CuVjbPUgTfOfrXTXC44n5rLyZhqRcR9hlLim3Z+laVL8Rj5O4rpyjM9Whqcq+c2MLvJkTDqTNyKbKOQ2Ta5kmIhMUw67XFGSI0ciVhGHifljnF9jojYnpzSUs5IlP04m9LSj3ye/98pGdfPrDF8PePp35POcJ27WnSK875s8X5mbHmZUbWYSIT8jmKbHnn3bmWb7+T7nXXud6ad75uX0tKeuFCStL/gLEkxycdNbXfSQwtJo5sGX8oYYzNCku6kqc80iPs97CyxkOF9s1lHFi7cnW/RdS6IaqbatC02zedMN+tzPjhT1EaNFXQK+dVApj53l64obN/MtllH1zIsJG1OKn2VBt2RUXtJvp5JOo02X50sS8ob3b5QyuRy551xUp6jTcsDC3VcFzOkx95K0rvh2WKbzrlLGyyTfFsdjb/vLcVzJh2beM6zDdomn/N0q9PHdXD/Uden287m5/hZb3peS+wLYxN8fieVuxVyLrnUjo06/bKUvjrPQqFQPsm4TFPvLqUg8TudsaqHtzOt+vny+weopjTWUf7gdUREdOFaZykI4Y/otPaHL17zWpwVA5re4GfW7x9WtoKQxblSQfk8e6163JTvD4XZCm1C9AVLkZsul0qhMrXG5nKldPR+k248tpHHZRtznt8GvieRCS2lrTbMZNEyXO3sHzuh3ytlKJFausGRjFf0lXzn79Rv07mTfVyvDm1T4SRDerkRuZyTG8bUeLbYjr0qlfr4ogYAAAAAAAAAAQMTNQAAAAAAAAAIGJioAQAAAAAAAEDAWNMYNWrJkb2nqOPMP9qhTHGR+jk+5aTPPs86184XdZVjw6xBzh95WV9P6Lmtk7bc9Io0vpM6j7gdGuHyFo5ByLVoAXxUpA6f3ad138lh1quabd3KNr+Nj4s9Uj7td75bx735g6x/b3s96u5eU6KtGer6SDHOzsxoffLI1/neNV3Qvmp6hbX9c6P6/wF2DL5S9nqVMl57R1iz76ZtlcdJjb7naJyNiKewDTrFauEonz/9zuuVTS4NUf+61r/L2IJcs342ImeGSuV8cnV9lWuM0vDbi7ExqXYduyNjNiJOiGVOhAhEnKzMMiW1G2Hnzwq/zjgxRiL2zEadZTbiIt4pxcfF2soLtY3+OXRNN8devD6iYzi3tLB2vbdBt6sj4xw7lGzT8Ws7m3jfvind5pq84k3z3IC7ZZBti9O5D+8hIqKpvTrWJDHIsSiNp/Rx3nG+V80ndEyrlxMp0huclNatvB2fLF+hYgsaAAAgAElEQVR/lUqfiLL1fD0/xcfN9DixCDJ1/6g+/+hVYpkG99LCp/ObtTE2Ia+tD5vu5QNjTjhWbCHwzVv0tK6c9HsPqu3kgBgvBoaUzb/AMST5C9omYxYWIR50v03Hy9g5bpyFKT1WmVh1fYuJiXTaboxatfG7Wb2fN8cOyi0hPue6TcU23B/JXmLP6oh2pKnnXxUDl/o/v0fZ6gfL/7bkoIgZG3QeKBGzkus7o0xyCRQbc9Lny1h1J546L+Jz/BZ+B0hv1f5OTHFfRXVO0J3wgbskQvoKTlseGXHiZYR/3PhIb5wHgthZHUNUPiJueWQaDJ17a/F6+YRuqzse5ufcPOm8K1SIzZNnqfgkT1cyLg95X+X7BxGRbeH4/dmdOpY1Ns3Pvj+j+4V0B/u8ENXja91Z/hHepI6dc5/TmrBw340TwyeXnMq/ofMx+GK5h/x09Te9UhwtneO0+wUnr0Oki9tLpfT8/iZ+R7cz5eMOZS4IF9uj3zlyjRz3Fh2tsFyGE9/N8d7VjVf4ogYAAAAAAAAAAQMTNQAAAAAAAAAIGGsqfdyWHKc/PfAgERHd98XfVLa6Qf7868/rz57mxaNscyQWlT7Ny3ScbopVX6TWp3YnFeie7aXi1A4hC5jWUob5TT2lspd1PmEK2cPZ92uZ5/wmtu3I3qjrJZYDGNunZQ91w/xJOT66uqlgs+MxGnxgBxERtR3WurixA/xbM41amzZxDUs/YtP6c398hD9RR85qGWFuUGw7Mgcpd4xs26ps6d38KXroavZVwzl9jrF9LMVqGNC+Sv00p1yddiRp27/JvjrzIS1tSHWUl/k1nuT0661Hta9qLYTMxYkmFlYwaL9Gy60GB9kH0YRuV7kM35PUvO4KTIb9Gpl1/j9H/NSC87tNXiyz0exIpUTa/Vgr26SckYioPsJ9wZX1WopTJ/LZnpnS7fYzu75cKkcdvd0bbezjlNUeaPFYSvFcwy5luyVRvEcNrgZzGUTH09Tz5ZNERJT+V/o6srpT2qSkgtM7nOUKhAqk3pEhJ4eEvCarbUak5J/frFOrp1r5grPdfK9SnY5Espn9menWkrxf2vtcqfyFh96hbJl2Pu7um7TEyRfLKPTPablNOsfP6LFjui2+p64oO/kjr9ZiLaLkdx0ZlsftIZ/SbdsXyje/p0vZpJzOzmr5Tl5I1fKObK0SFeWUAikX8pt02vjzv3x1qdz1Ny/o40Tfm+/Q/Xm2jfvbaJuWx+cT7Cs5phERvb/tISIi+rGrt14me+JT9NU93yYiordN68bT+JIY5z3dj8kldJayeIt6l3BTt4v06ZGtPcoU2dVbKmc3sQ8KUd23ZHdzqMRcl26bTa9wWEb+zrcoW9/7WYa5NXGtssWmuC+Yb3FGINGs6550ct/XmNj5Wdr2R08QEZF/YJ+ynfkA99GZD9ysbP68HI/0OWW/19in9dKxN3j8cFPDewmxvISzlEJmP79nTOwV8rYZ3QdK37nLnMQn+bmvP+VIazPsj4kbtZwu08DnzNXpZ2O+g/vEumHd5uKrIX1cINvlyLFj3Jaibur+JD+HJqLbnDcp+j1Hxp0f4ndAV54rl6kwUS03pig/z1KW7L7zF1q5niaj+03pb5PTY6X8BZl2HTaTaud+Ll63U9kSp8X7ibNUwPgVxePyT1b3XoEvagAAAAAAAAAQMDBRAwAAAAAAAICAgYkaAAAAAAAAAASMNY1RO9fXQX/4Gx8nIqLG7z6lbN71V5XKwzc5WvhbOI7LT2utZ3KUtyNzTjpckT46Mq9t6RYRn9Oi56vNfawf7vgBp8DNnT5L1VIou0FU2MT62MiMTlHsHekrlTtP6Bi1/KCOP1pNIsOz1PHXT17U1vHj8sf5+zg9cmqb9uPQTZyuNvPORmXLNbC+N5d00rqLOCgvozW99WfZdz1/d7hUzk9oTbhWFpenq4JtyzerPMka4+WIkoPF+5I7ppeJaGwW8UbbdWyC18nxNc09E8rWGOdnNJ33qRye0b7KiDiibU06XW0qz9fPF9hvbpr9mX6OF/jx7NXKluvg9hId0r/nf3TeXir/zqbHlG1vlGM7Xkhv0/USMWu+E9v2+EJ6+hm78rTvNpsrxUns/GsnZizBcRC5bh17N7afdfezOuyFpq/g6JrpfU4dIyLlu9Om8mn2aVPrlLJJn85McR8UOZNQ+23/Bv+G+MOHle0HxMf1ktOPiHi/R/9Sp76v7+K4grkBHfvgiSUdEtO6H3g6XfThrF15LKGLqXeW85gU98uJp5XxZcbpg7ydHPtsnB5JtjCZppqIyGb5mTdOOvjZt/CzPHqAn+O5Lv18tb/M96XjcZ3CetOzHA/iLn8i8Wa1bX4f9+HZBt1HGHFb3Nidg4liTGq9qS6+7lIcHuyka//bbxERUfdX9bM2fxe/Owxfq++d9bkxuUtBNJ3lH5AYdeopbq1cvoWIVDzp2E4dXxYT8U3NL3E8jnniDSpHsxOTLVPyxyJXKNtbDvGzN/SYjtWL9rMtelo/G3aK/Z+f0n3BapI/fFRt9xwus+MlsLddVyoP36BjeGffx+8VhWivsnlZdlaDzjBPXT/g8aL9+zpuczlUipxtPH5yxedfbcyTP9Hbouz+Nr+DYw1Np17uJr2dx7Z8rF3ZIvP8rPspJ0+FiBvzTuv+S8WzeeW/PRVefr2sza/y3Try3efVdvMefr7MjI47tvKdoUOP6W8uf2SrnIHhixoAAAAAAAAABIxLTtSMMduMMd8zxhwxxhw2xnxq4e9txphvG2OOL/zbeqlzgdUlZedojqYJvgo+8FV4GDyXozMns/BVwBk6l6WzJzPwUwg4dy5PJ0/m4asQgLEqPMBXGxNjLyHpMcZ0E1G3tfYFY0wjET1PRB8kol8lojFr7aeNMfcRUau19vcrnas50mFvbbiHiNbmE7uUkHh1jvgtKr45ZvVn1tWum7+ZpV61lDOm7Tw9Tz+kWTtlVuqrJtNmD5l31qxuQFNLXzUnu+2tu3+diIjMvE4XbhMs9ynUaenP9C6WlqVa9f/ZpNpFmn0nm7NUB2YbdP/hp81F93P3rTvP+yVH9Dnan+A0yvO7tTwi+QzLhPLjWlo59mu3lsqTOvMzWfHzvAqKq8SoljJN78xTbnKKBv/iryl7YXBFvlqNNiX7NeOkgzciBbSNaSfas7wkQiW5W1govO16Smem6cWX/4Zm54YD2f/JpUVyPVoSVIiydNCV00VmxTILZ/V4Yec4xb1MwW9zS0k4v7Zc+NRtlJ2dolNf/iylx1bWpohWf6zyW5132i5ebsftU71p0ZYu6CVoVvu9Iv9TnK7f/97K5XpvgveK8ABfhYPZnz9EREQvf+fPaWbs7CX1+pf8omatPW+tfWGhPE1ER4ioh4juIaIvLOz2BSo+DGAdiZsk+Qthh/BVsIGvwkOkuYm8hdgg+Cq4xGON5PvwUxiI1jeRF4WvwgDGqvAAX21MlhSjZozpJaIbiOhpItpsrT1PVJzMEdGm8keCtQa+Cg/wVXiAr8IB/BQe4KvwAF+FB/hq41D1RM0Y00BEXyGi37bWVv0N3xjzCWPMc8aY5zKF8EtswkAtfJWl9KUPACumJu0qP3fpA8CKWY6v0KbWHvR/4QG+Cg/wVXiArzYWVSWHNMZEqej0L1prv7rw50FjTLe19vxCHNtFg62stfcT0f1ERc3rmzptE3W03Xt28DH9F5StINNvLgGp01/LtLMu/f/hNrW94/MnVu1alixRDXzVHNtsI5u3FP/uxDus5TIBNcPjGJDI5k7Hxv9fkRs4R2tFrXzVZNps/rVjl7ye16iXRGh4nttVy65eff7Z8pM/ExXxTpViYeK6jcu07CRiYwsjY2q3/CynaI+dOKVt5a9GiQkOiuv4R50a3ZwVKX19/f9TNs1Ba8aJ5Zo7tJuIiEYmC5RZhq+Un7w2+2bcbK1iiGRcEq1ymmcvodPzq9g2z0nP7rGv1yJeKjawEK+YzhHVqE2VflOh0lNXPTK1OskyVf4fUxnBWe2dXBRXJZ7rwqhub7YgrlCj31qJrj9/goiI+uwMUa18tYq4sbDkbst9V7Mil6CWcWkutRyrVq2SAcZtj4ueqRpSs3fASKf1m4pLLBXm9UcWmw7mJM6r5+UZ0m/dr2xGLBMSf+WMPjDL7wDu0k6rQdNrRf/789X16NVkfTRE9DdEdMRa+yfC9DUiunehfC8RPbSUioLaY62lFM0RwVeBB74KD9ZaSs+PE8FXgcZaS6n8FBH8FHjQ/4UH+Co8wFcbk2q+qL2ViH6ZiF4xxry08Lc/IKJPE9GDxpiPE9EZIvqF1akiqJZJGqUcZYiI3gFfBRv4KjxMjfdRLjtPBF8Fmon0AGWL8nr4KeCg/wsP8FV4gK82JpdMz19LkO5z9XnaPkZTduyS6T4vRXNss71t80drUSVQhicGH6DJzOCKfYV2tfrUol01eW32lsi7alUlcBGeyj1CU4WV939Nps0e8u+uRZVAGZ7OP1qTsQr93+pTq/cK+Gr1qdk7YKTT3tp0Ty2qBMrw5NRDNJkbXnl6fgAAAAAAAAAAawsmagAAAAAAAAAQMDBRAwAAAAAAAICAgYkaAAAAAAAAAAQMTNQAAAAAAAAAIGBgogYAAAAAAAAAAQMTNQAAAAAAAAAIGJioAQAAAAAAAEDAwEQNAAAAAAAAAAIGJmoAAAAAAAAAEDAwUQMAAAAAAACAgIGJGgAAAAAAAAAEDEzUAAAAAAAAACBgGGvt2l3MmGEiOk1EHUQ0smYXDj61vB87rLWdKz3Jgq9mCX5yga/CQ6B8hf6vIrW6J7VsU/DVYgLVpojgqwrAV+EhqL7Ce8Vi1txXazpRK13UmOestTet+YUDSlDvR1DrtZ4E9Z4EtV7rSVDvSVDrtZ4E9Z4EtV7rRZDvR5Drth4E+X4EuW7rQVDvR1DrtZ6sxz2B9BEAAAAAAAAAAgYmagAAAAAAAAAQMNZronb/Ol03qAT1fgS1XutJUO9JUOu1ngT1ngS1XutJUO9JUOu1XgT5fgS5butBkO9HkOu2HgT1fgS1XuvJmt+TdYlRAwAAAAAAAABQHkgfAQAAAAAAACBgYKIGAAAAAAAAAAFjTSdqxph3G2OOGmNOGGPuW8trBwFjzDZjzPeMMUeMMYeNMZ9a+HubMebbxpjjC/+2BqCu8BV8FQrgq/AQFl9d7n4igq/CBHwVHuCrcBAkP61ZjJoxxieiY0R0FxH1E9GzRPQxa+1ra1KBAGCM6SaibmvtC8aYRiJ6nog+SES/SkRj1tpPLzSIVmvt769jPeEr+Co0wFfhIQy+gp+KwFfhAb4KD/BVOAiSn9byi9rNRHTCWnvSWpshogeI6J41vP66Y609b619YaE8TURHiKiHivfhCwu7fYGKD8N6Al/BV6EBvgoPIfHVZe8nIvgqTMBX4QG+CgdB8tNaTtR6iOis2O5f+NtliTGml4huIKKniWiztfY8UfHhIKJN61czIoKvFPBVeICvwkOAfQU/OcBX4QG+Cg/wVThYbz+t5UTNXORvl+XaAMaYBiL6ChH9trV2ar3rcxHgqwXgq/AAX4WHgPsKfhLAV+EBvgoP8FU4CIKf1nKi1k9E28T2ViI6t4bXDwTGmCgVnf5Fa+1XF/48uKCHfVMXO7Re9VsAviL4KkzAV+EhBL6CnxaAr8IDfBUe4KtwEBQ/reVE7Vki2muM2WmMiRHRR4noa2t4/XXHGGOI6G+I6Ii19k+E6WtEdO9C+V4iemit6+YAX8FXoQG+Cg8h8dVl7yci+CpMwFfhAb4KB0Hy05plfSQiMsa8l4j+jIh8Ivq8tfY/r9nFA4Ax5m1E9CMieoWICgt//gMq6l4fJKLtRHSGiH7BWju2LpVcAL6Cr8ICfBUewuKry91PRPBVmICvwgN8FQ6C5Kc1nagBAAAAAAAAALg0a7rgNQAAAAAAAACAS4OJGgAAAAAAAAAEDEzUAAAAAAAAACBgYKIGAAAAAAAAAAEDEzUAAAAAAAAACBiYqAEAAAAAAABAwMBEDQAAAAAAAAACBiZqAAAAAAAAABAwMFEDAAAAAAAAgICBiRoAAAAAAAAABAxM1AAAAAAAAAAgYGCiBgAAAAAAAAABAxM1AAAAAAAAAAgYmKgBAAAAAAAAQMDARA0AAAAAAAAAAgYmagAAAAAAAAAQMDBRAwAAAAAAAICAgYkaAAAAAAAAAAQMTNQAAAAAAAAAIGBgogYAAAAAAAAAAQMTNQAAAAAAAAAIGJioAQAAAAAAAEDAwEQNAAAAAAAAAAIGJmoAAAAAAAAAEDAwUQMAAAAAAACAgIGJGgAAAAAAAAAEDEzUAAAAAAAAACBgYKIGAAAAAAAAAAEDEzUAAAAAAAAACBiYqAEAAAAAAABAwMBEDQAAAAAAAAACBiZqAAAAAAAAABAwMFEDAAAAAAAAgICBiRoAAAAAAAAABIwVTdSMMe82xhw1xpwwxtxXq0qB2gNfhQf4KjzAV+EBvgoH8FN4gK/CA3wVXoy1dnkHGuMT0TEiuouI+onoWSL6mLX2tdpVD9QC+Co8wFfhAb4KD/BVOICfwgN8FR7gq3ATWcGxNxPRCWvtSSIiY8wDRHQPEZV1fMzEbYLqV3BJcClSNEsZmzbOn5fuKz9pk5Hm1asooPncJGXy8yv3FdrVqlOLdhUzcZsw8NNqkrIX9RPRcnyFNrWq1Gysgq9WnZr6Cn3gqlKmD1y6r7ykTUaaVq+igOZzU5QpLHoHXMRKJmo9RHRWbPcT0aFKBySong6Zd67gkuBSPG0fu9ifl+yrZKSZbuv5xRrWDLg8MfDFi/0Z7SqA1KJdJUw93RJ5V41rBiRP5R4pZ1qar9CmVp1ajVXw1epTM1+hD1x1yvSBy3gHbKLbNn+0hjUDLk8MPlDVfiuZqF1sFrhIR2mM+QQRfYKIKEF1K7gcWAFL95XfuNp1AhcH7So8XNJX8FNggK/CAfq/8ABfhQe8A4aYlSQT6SeibWJ7KxGdc3ey1t5vrb3JWntTlOIruBxYAUv2VcxHh7pOoF2Fh0v6SvnJwE/ryNJ8hTa1XqD/Cw9L9xX6wPVi6e+AXnLNKgcqs5KJ2rNEtNcYs9MYEyOijxLR12pTLVBj4KvwAF+FB/gqPMBX4QB+Cg/wVXiAr0LMsqWP1tqcMebfENEjROQT0eettYdrVjNQM+Cr8ABfhQf4KjzAV+EAfgoP8FV4gK/CzUpi1Mha+00i+maN6gJWEfgqPMBX4QG+Cg/wVTiAn8IDfBUe4KvwsqIFrwEAAAAAAAAA1B5M1AAAAAAAAAAgYGCiBgAAAAAAAAABAxM1AAAAAAAAAAgYmKgBAAAAAAAAQMDARA0AAAAAAAAAAgYmagAAAAAAAAAQMDBRAwAAAAAAAICAgYkaAAAAAAAAAASMyHpXADgYw2VrlclvbS2V8+Pja1WjjY+8z/mCtkX88sfJfbPZsrvlLgyqbXPjgeJlB/H/JOAyxFR47m2hvCmXE+cwyua3tBT/PFmhvYLVw/GH7FO9xkZlKkxPr0WNNibufZY47wvqsEj5Vz1/+1beyOf1Kccni8fPYKxaKqq/8nS/ZHyx7fR58jgTj2tbOl0q+52d+oKFou/MBPrAJSPblfRbpf2IiES7svPz2tYu3tePntCnWfCrrXQtAVofAAAAAAAAAAQMTNQAAAAAAAAAIGBgogYAAAAAAAAAAQMxakvA1drTjp5SsfDq66t+/Ym795XKjV96atWvFwrK6fIzOmYsd/5C2VPk73xLqRzr17F/Jpd3d+dLJ1k/bgpObE20fNOa2F98jvInoSW/FG6bm7/9ylI5/o1nV/364/feSkRE+a9fpu1NxJPZbKb8fk4MRqSnu1QujI4pm80KXX6F+Ayvrq6szW9rVTbqWojXmMOQdjFMNFYq++363rkxtMuiQnyUHCeJiGgNxspAUib+PNK1We02fsfOUtnL6/vadJjbUv51HfdSiUqxMJM38PWt81/3TUfqi4UTMdrI2Hz5cd5EorxfhT4wsqtXnzPOxxVOntE7V7qeaKs2U/56dkuHPmV98Tj70sb2VUXEfbVNDdrm88OdP3K87Cnc2D8j8xR4TgOR8YSJhDLNb2sulaNH9WGlWMNK/aYAX9QAAAAAAAAAIGBgogYAAAAAAAAAAQM6kSWQOXiF2h65jqVv3a/rW1lt2k0Xv7mJz9GrJSPT23he7YgwLx+qTU8ci5bfz8H//gul8uSHb1G2lqcHyl7bCAlXbuCcrspbr+f9+rTsITpXrKcpn4kcLOCm8h67kv0a33yrsrV9/sllXSP9noN8zoe1nLLtcPH6/nx5qcqGxqvQ3uRu1+i+MS8kIl6dloTYvrO8USj/f4WFubmytuGf2ae2G84X22LhDOTEF8NrqC+VbWuTskXqkqVy7mRf9ScV/aGJabmVv4nlQ0rqSiwtMmOX2etHGZlTZt8WtT1yA9/X5qu1bPj043xfd3xVn89NAS7xm9jnk+++StlSLeJ6fTpkwBufKhYqhABsCJwlQ4zs9yosGSJx2875372tVN7yA0eO+BNHCyeoKDEXTO1rVtuxyWI7s351ffaGQYadiD4p16nfks3jL1V1uvzwsNqObBXv4U4bln1pIanfOaPfeb6q61UDvqgBAAAAAAAAQMDARA0AAAAAAAAAAgYmagAAAAAAAAAQMC4zkXgZ3LgnmTpX6FP7D8XVbtkm3s8c2Kts3rmRUtnVvFYiPzHJ54xuV7b4eHWpPC8r8qxPtjOzXN7RrXbz6zmGJv/asbKna3hQp2FfXqQhERXK+yp5PkVERF4WQWpEOn6CiCg/NVV23+7/9kSpPPDVA8r2yB+xBv3ROa0Xb/E53uk3X/klZUvGRkvl+MP6emfuK/6b+fdlqxR6rPOsGp/jvEpphC9BqlunQr5wiO//zs/qVMheXPejkrxMW10oHxczv1n32VO7ikNZ9ieXWXxGmZTvfqtOwZ9+y65SOR/T/z+baWZ/N3S3KJv/8ht8KSf9dF4su2CcMXT2Wu5/0006brDtx8X+r9r4x9BS4b3Cu5qXGRnbre9r+8u83+yQTsH+to++WCp/+rceU7ZWn5ezeMlptwN5jmc6m3lD2T7z/N2lcssJ/WxwGvENPla5fU2U+6hq+0CX7j/hsWo13tyu+r1X1PbJP7hy9S4WJNwU+SJGLd/VXipHxmbVbsuNssz1D5Q3VjDVEnxRAwAAAAAAAICAgYkaAAAAAAAAAAQMSB+JFqfN9ViqceG9LD+c263TpnY8zvKe4YNaMhKZZ6mB9fYoW3xafIR1L53lP0zs1vKt5OgGlx9UgysnEZ+9TT1LP8zEjNpt7FZOgdw2v0PZcqdOr7ha8/fcrLYbn+ZzuvLJXGPRr5ddGt0ymCZnsYkK0kdJz4cOq+130fVl9tR0UvnUyC6p88W05jazgdO+u7Imr7phIdLDbWq2Xv+fX2SeywO/pGXhWx84yZdu0b73BwZ5I6rrkbm2t1TueIdeDmPoRwt12eiyH5cyKd9TB3er7dEDnB58ulf7u+kN9l1kXqcRr9vHfWU+pttA7joeG9NteqwaPSCWZ3Cyjbc+u7BvpaVWNgKOb4yQ/I4cZGlqpknfh9aj3HjafqjDJp5J3VAq33l3r7LtbuNwi+3148p2bGpTqXz8aT3+bXmGn4f4eb0cAJVk0BvPV3IJJRPVz321ckfZB9qGOmWrtFzCcon0cps7M6Pbcbah6Cu7EYcq2Vdk9RISlOB2lWvhcvRJLfH129tKZZvR53CXAQoa+KIGAAAAAAAAAAHjkhM1Y8znjTFDxphXxd/ajDHfNsYcX/i3tdI5wNpw2D5HMzRB8FXwOfrq/6TZ6fPwVQgY+X8fpMzAOfgqBGQnxgjjVTiYz07CVyHg1cnv0nRuBP1fCDj+woM0O4n3io1GNV/U/o6I3u387T4iesxau5eIHlvYBuvMFtpBSWpw/wxfBZDNW26kRF27+2f4KoA03HITRTo73D/DVwHET9YTYbwKBVE/SQRfBZ4tySupzm92/ww/BZBN22+iRD3eKzYalwxGsNb+0BjT6/z5HiK6c6H8BSL6PhH9fg3rta5k7mId+MSVrDNvejXm7Mm2seu1Xtif4TlwoxMCNbmHb3tUh1Kp2A5XFp5prKwTbzWdZOyifdbPV278hNQZ5524GL/C/xmI81hnv8IQ6/LpWo6FmdqjY18azrHm3MZ0PIV3/VVcxT6db1WmpM5dGKRyxCZ1JFrFfYfnaRN104nF+WI3dLuS+Ffxcgm5CsslrDd7rxoguipOTz6Ud2MNg+8rI9qKE4cmU/KbWHXxGW7K97lreOmSrBOjFp0SsbbX6Gsf+d84Rsaf08flN3O7jZ12lkNp4HN+btc3lO03j/06ERGZhjjRGDmBNiHwVQ3wruWU76lWPbTP9ohY3nbt38Rejs+Ix7WtIcYD0sCMflmP+9yB+c640yG2zx3dpGx2IaYkEkkQZUPgqwpp9ivaHKZ/hmNoC2II2vL9CbVf4aXXuNyox7FNn+WU7/RZfX6ZjPz1iPNqZ3ic3JXV8Z2KDv2Sb5JJao/1kpn23fzma+onK5btkMuHEOlYM5lfwN3XZnWwpBuXthzyXdwn2ud1zHT6fQdL5fl27Y/6CxwjVXBi1W2Et/NxbfNT/Hx1xk4q22zUUGP3bjIvLwpSW782VXDjn73yNtl2nOfXirg0d7yaPbC5VI5/41m+lFhaq3gg38vCTienxJh4EXfi12yCr5c/eUafUyzrENm21bHx78sNVGhzVbDcGLXN1trzREQL/266xP5g/YCvwgN8FR7gq/AAX4UH+CocwE/hAb4KOaue9dEY8wki+gQRUYLqLrE3WE+Ur/zGS+wN1hO0q3AAP4UH+Co8wFfhAb4KD3gHDCbLnagNGmO6rbXnjTHdRDRUbkdr7f1EdD8RUZNpC2TyZHPjAbV94Rb+1JkQ2XFdiVnJmc0AACAASURBVMLJnxMp+CP6p9UPyM/X+nq5ev4kKj9zExE19bFttlt/wk61LStF7rJ81Rzvqs5Xi5Y28KqzVTqPKycRxxVO6U/PMuVxqpMHgZkefa3mIyzhMSkt7yk0srzR9HRp2xn+ZO07spD8yGipHD+jFTxuSn7Fq8eL/2YyrmVDtSsXr479k9raVCpHX7vY3quHve06tW2e+EnZfeORoic9s+gWV+Ur5SevBn4yThuSkkbXpnZzUoWL1PfVpqLOXbldbU9t53MoyTYRzUoViCPxNbny/ZgX5d+T3qQPjI1wf3gy48jp4gvHLfYT0XJ8FZI2JeWok1eynGd8vyMpreceKZnQ0p6YkDB6zvoGuQLf893No8qWEbYzU1oWm8mJscvxSa6l2N+WWZ4keL6qJOGvIHXMvOsmtT1+Jd+TjpfZH1Lq6LLctOFKDngJ/Cbui/O7tiibjRSfIzvsE+nHZnljVYU+sJK80d1WNiGTc/s5KXdcJHUUfWe192vg929T2z3/laWo/t5dyjaxi/Wt8Uldr9god5jpjqSyjV7Jx3W+qPvm+BALXF84pfvjtpairwqLb9Xy3gFjm6trV66EUeK+88l9K7wPWicFv/Rxeo/u+6XcUb4P2rR+v5q8k/1T35/S1RTyxkK7nqDmE2KcS+iX+cJhsdSPu2xAhWd2qSxX+vg1Irp3oXwvET1Um+qAVQC+Cg/wVXiAr8IDfBUe4KtwAD+FB/gq5FSTnv+fiOhJItpnjOk3xnyciD5NRHcZY44T0V0L22CdecU+TXM0TQRfBZ6Xc4/THE0RwVeB58U/fIRmTk8QwVeBJzc8RoTxKhTMp8aJ4KvA8+rRB2kuNUIEPwWeU9/9B0pPDBHBVxuKarI+fqyM6Z01rgtYIdeYQ/S0naEpOxZ1TPBVwLg28lZ6KjtNU4VR+Crg3PC/v4tm+79EE68PwVcBJ9LZRum+/u6LmOCrgJFMtNLU9Bx8FXCu3vdheualz9HUzAD6v4Cz8x2/TK9P/inNDZ+FrzYQq55MJLDccm2peOGgXnvMiu+M2741WSqnN+lA2HySJbzxQX0r64ZZizu1Q3+49OeFxt2R6ct0rHlHUi2vt65UqdFflIJf4uqTK8S25frOlLVNfpjjAJqPs3576xfeUPvNvH1PqdzwpI4n80emxMWcgJotnPqVxiapHIVGrTOX8Wwylo1I6OYr3buNgJMquf+3OD31lv/7CXfvEtm72afRR58ru5/f2am2CxPsHzcVs6rWvI5HqOSFV04Ug63mUytP5Vw1leLQnDT7leLS1G5RJ91xlXFp+TvfUiqPXJtQttajfI+nt+r3glw939XIXPn+L1fnxJQU2Oa5x6XY9vq8fr9v2VSM5RmOVuhzNgBunGz62t5SWY4z6VZ9HyJT3BbNJn3P57PuOx0zmWaftyV1e75I3GaJeJTbmI3q/aZ7i+fMH15u5MUq4FWIJyk4Y0KFfjv1/ptL5YE79DmbTvJxjS9w7LMbHSXjDvPj4+XrVSPyUzz+zXfrcSzTUPRR/sjq+6pSHJqMX3Pvv4w982K6njYv0vPnHT+6fi2DjDXc9GL5cSW1s01tx6a5nslRZ/meJo51cptRfMKWteXr+bjN39Jj0uTuYv9YKN+cVwf3Xa7S+6HcrpC6303BP7+fcwdUeicgGaPojHEJ4QMv5bQ68d5n0jrWzLfSH268KtfZurY6PV6uhAD1lAAAAAAAAAAAiDBRAwAAAAAAAIDAsaGlj34Lp8/P7e9Vtqld/InfOtPV5jf4E2amnT9fuvIemZK/6ZT+7JmtE6ugO5+io7PCtuhrf3lZhZVflG91Uow/WT7F+IpxJYx+dWn25YruREQmm7vofkREJGy5/oGyp5/72UP6sHq+KfbZV0plV9SQS4gU/2N6mQWvmdOx2plZZbNdLJlc9KuHh92/8HFbhWTSkT5uZLzr9pfKU/uala2c3DGybav+w0R1sjyqIG+shJfRsodKApj9v3OsWKWZVIW9akCVEsZFeKJTqJCaein4+/iZH9vJUpucswRSbJLPn71Kt3VPqEf8Oa3v9kW13KVLJO6SJ1Im/q039ivTz1/xEhER/W3MWScghLhpxL16MVb16NTUgwf5Bs53cT8dndH3XEpRs1k96MwU+NlLZfUrQX28/DOUE8cZR6MV9cSYEdfjx+Tu4jUq+X7ZuEu7VELJsKqTwRFp+enQB69Qtkmx2XpEH9f55cOlck7IDWV7IyIiKdGrIH2Uy50QERXm5sruWy2xSd03ZutrLPm2IhW+4yspfVy0nEhEvEQ58m8ti3RsS1imQOIf2FcqF4ScMvH1Z8oeM9+u207jGW47sSH9XjHXy0si5JL6PhTEabINuq3mxXtM62Mnle3CnTuIiMjGahhS8aaPXNloJSottSTlrY700TbVs6lBywYryR0jO3fwcYPincyR+8sllMy8fsewKR7fvUYdCqWWh3LkjH4T7+vKNfNNWka8EvBFDQAAAAAAAAACBiZqAAAAAAAAABAwQid99Br1quFek9iOOdJE8enT+voTbKaRtxvOO9I+8el2eht/zrSOTFFmIXPlk/OdbEuMOpIkIVfKOl9ZC6KeEUdtVYiy7fzb65Vty5NUWwyRjfhvFstTYXV5JXUkotzps8uqipQ7ppv09TZ9lVeGlx/n3eckOcxaLFcSlh8Vn8Qj+hnypoUTvPJ3wszpT+n59oYye4YPKSEmIpr66StLZdcfDefY5w0PPlX2nJHe7aVyYWhEX0/IC1zBhX0rZ46kY1oi6zVze3czbSrS1UsC38yIZt1siyulktSxQmZHm9MZqWiZ0h4pSZG+ICIauZmzaaY6eL/koJNxdTdLr3JOgitPNgfnp2ZaxHkclU5hjn3otjbZ/9rjun39/MGiNOZffC0xWldcaZeQxrgyGSP2dSVsuat6S+X+d+h+P7VJZCvLlZfbF5r4OYlH9POViPEzlc07Uishb5zPlU8n52aAzIrj6lu0HHV+quhjuxpvH8vMpOs3Nant3IGdpfLgLfqeT+0XbdCRTLY/y/ev8+snlE1mV4x0cxY7644rYzNcr81a6kpCpm/m9AtCLaSP/vdfUNuNCyEWfrpG/Z8xLO2t0Kca956IfSvJGZfbTZsbD6jtbJKf9fpn+ni/rs1UjsbT+jmPjLM/5npblE1m9zZOnSPiNLmk59h458x+HTIQGVtoULklyH8rYnl8cTNyuhkbVUXEe3e9lv/Jd0IlUySiwvkLVdVqUaiEwGsWklLn/H6HyMrpSDkLU9zm7KiTFVy8/5hIh75gtLw0uBDn+xBx3qHyE+UziF8MfFEDAAAAAAAAgICBiRoAAAAAAAAABAxM1AAAAAAAAAAgYKxpjJrxPPIaihprqSUlIrJT06Wy1HIvOked1rzKlJ7W0dFmOzmGYrJX5wJuHGCNqtQLExGlWkRMiDhlLqH3i4vQmjlHulwQl8unnFTJIqtubFqZ9PWcdNgRIUFPbaphCtaLUbBkUsVYnkrp8muFifMNm77nBmWrG+SAl/qvv6JsNsnPQ6RnCxviTgyISPfrt7bqcwjNu9fZrmz5Po6r85w4BrXfcZ0q1zsnnssbtP7dvniY1govwcFD6duvVrZUKzf/2S2OFn6W71diXOvRW57i5yF3tr/qusj7nus7U37HoyfKmszjL5XKFRMGe66mXqa81vpwf//eUjm1TWvJK6UFXjK2cnxFCafuRqY6X0oMjoh78tv0M1/YyW1l8HodzynjbRMjfD037inbWP7/+VQ/ViFdtBv3K+MrvLQ+vxGhQV5B96nfnL6WiIgm8+XHjuUi+yYiJ76sQtpq69jcuDRla+MYlqn3XKVs4/v5PuQS+l5G5kTqaHnP23QsYyQhYkOcexeLiDg3J9asLcmDTs4JxB6fE32vr/sIGbPWVq9jp842Lhzn1WYMMxGf/JZi/El2v463nNzDdZzrcuLUm8WSBV06brWxleucz+s2653h9rLZCcNtfZz7NTeuNVImvsme0rHbhVSFpUAGh8rbqkSNk0Sqn7BZ/dzYueJ9MYUavW9Yu+xlQ2qNvY2XOPIn9T33R8WLWZQ7vtxW/X6Qbue+ITGkzzG3S8SlOSFd8XF+pqa3636hboht9Yd13Nb8Pn6GYgN6maGmA8Xx3E8uM27ZxfPJLqSfX5Rv4NTp2lyj2qqI9xg7qft42c8akZdCps4nIhVXZxt13Kkn2pxpdOJCxXJUdlQvl2FEvdxlq/yXjvNxV/Tqc76EGDUAAAAAAAAACDWYqAEAAAAAAABAwFhT6aNNxil/zS4iIvLO68+21MOfdL1dOv2mSfPn+PkdOs1pqpX1Htk6LW3wxNfaxKT+9izTnhYc+U1UyL7musRnTyfraXyC90u3aGNijG2ZJkf6WM+2pM4gqlK15h2lTLZBnLN1CSvFLwObza5Y8ui3t6ltI1Z8z7dquZU/yWm1Gx96UdclzdJHU6f1oGZbN++XE3LWY2+o/eIZfoYy1/YqW/Q1lu8VGnSecXnt/LB2VmSXOI+T8j13frBU9pxUtqspWlXp64nI6+c09a6MTyrZtDcqU0lYEdnaIy6gu5f8uSrT74p08dZZcsP1a1kK5dtH3km/S2I7eqS609ccKXd06m4S/My70klPtAeztVvZUr0sdxzv1vdR9kle1lk+RC1lIvq4Vt2PSSmkm2I628K/wZ93JIx5kUa+zpGHzfB98PSKF5RPCjnuiK7LTL4oQSpUXkykaqSczs46ac+FPMxz+jiVtjqp+5JMj/DHldo23cvlXJ32h/SP9bUtL5qYreN7HmvU/VE8znX2HXljS4LzgU9ntMxTyh3d1P1WDIiTMzokoT7Jzov5+nmONxZtxq9NT5hpS9DALxaXDJl3QgLkM1NIlu8TIoN6sPWf4/vQeka3ueQFHqu8WWdZli72sTenfWDP8ZhgU2JMa9AyLCPkzXL8qRW5gXP6eiKdut+hpX1mZEGilVvd943VQr6D2K1aeuqd5PEo36PTrhda+LioeFf1x3VfkN/Cz/3MDv1uMr2N20vba/pZiE7ztp/WffNMN/sjPqYl64mzLJkz03opkkS0+By5S2UsF5tOc0jHMpe9qBVKDuxIg9XSGpvYj8Z5Zq0Medjs+Hs3zznySe2P6Bj73A7rZX/k2OA5bUeNDaNarrnUVSTwRQ0AAAAAAAAAAgYmagAAAAAAAAAQMDBRAwAAAAAAAICAsaYxaoWYR3Nbitr85lOOtnszp8We69Z6d6nZTjU7qasLcj99vbyQ288mPccmUldn9IG+qFpWZPj0nKyy2UY+R07LzKlOZNHNOFndY5MiPiRXXvsbndHbMrYjH3PzWq8ekR3b1Ha2R+i3z+l0pVLLPHel1oRHUqwZjkw62vs5jpPwW3UcYqGDddqm/7yymSnWadtmJx2rQMbbRZ2Yk/w4/wZvzolHqUDuZF+pvCjlsYgzsrHVbWYmESd/VzHF/EynsyzB42cvdsiqUYulHGTqfpk6n0in+D/2H/cpW8/3uTNIntP6/XN3cP+S12E4tOkFbtgTe/T92/SXT1RZ66Wh4huJyHrctjPbdFxCqp6fH+s8SlnRr6XanD5Oh0Hp64s43Fy9juuSfaqM8/Wc4EQZMxub0ueITnH/FJlxYttEuv5coxNTJGLWIrO6j5OxW3Pd+rjbG48SEdFXvAqpzZdCJELU1Vmsb6N+YOa7+MamWnQd083Cj3qlB8q0iPTQMR2lYMSyBG4stLxfhXonVkgOesL9+ZyzVI1IhR9N6L5XxqVlck5caYFP2hjXx0VFXZqT+r7XRblNNcW0bT5bjAHxvaVGapShMU90Z7EPt0f12LHtO1zHuhPOWDXCsamL4lYrIJ+8SpFb1UZ1eVEdE+PtEPEybfrFQqaDz8ecdOApvp/5hLbJlRVik7ohxybZV7ZPxxHnLxTj6qzVaftXAxnfbGecl59uTpleqNN99Nw2sRSO5yw9MSGW3snr582PdvI5o078ZUScR8ZnOSnYm57neL/CmJMufwu//5iU877j8Xla5p0lEURdjLPER3oLv0zmd+ln/Xd3fYmIiO6LO2s+rYQVxqapmHUiyneKOvtOTgkR0ynf64r7ivvuLMMl8wPYiLBN6WfIindMb1T7yl4QOQX02SlvyjwLDnZ4RG+L+FK/wtJO1YAvagAAAAAAAAAQMDBRAwAAAAAAAICAsabSx2xLgc5/sPiZMlu3U9niU/yJNzGmNYb+HH++rusv/+kx16g/iafaWFKQj+nPrGkhS5EySCItGZJyx8i82o3SQqHkO4qbxDj/nqE7HYmHlLn4juxBfAXPOdKluMgu6qanXk1yp7V8zojtSqnaY6fLy+68bXoJBtsuPokPaPmFJ9LQ5iacFd3ldj9VhZQ6LqqXK7ucnS2zp8ZNeSzxR7UUodI9Ww42lab8keNERJR00sv3/4fbSuVUp34OC0mpcdPtKnmWn8u6QW1rPcINIdanlyzIbeUUtZHTQ8o2fntvqTxyHT+/LUd1nbP15Z/tlje44e76im6Q5omflMqp9xxUtsSoSDPfps+faRbd4Go2K8OpsCdv0LLgTEP5/zNLtVdXKVf6LfsSVwYp5Y7WUZJImVTBL7+fvF5OZ6ZW6flNVh8o+650pzIpSWDBkXYVojLVun6Wt0WKUpaYqU0a8UxThAZ+uvgsz+x0+m/xu03BWdpAtiPHH1K6To6SzIrfJtPsExGRz9d3nwQ/KmzCIY0Num1IRVhnvZYEvTHEqaplWn0iokObuQ8fy2gnT2Q4RKHgSM4SPv/AnoSWGQ0nihJ1z1uZrOpNIsMetf1V8ZyZQ7oeZ+7mZ8+/XT9s0WmW0yVGdF2aREr++tedPq5PjGvuMiBCJmXecpUyjV7L8icZNhGZ19ee3SKXztCnbzwj5I1R/VtTnfxb5zsdSXGzGHWc9YiS/bw4S8crOuyk8ZnivmZ49V8VK8nmfcN9gdelU6snhrhu2SZH+i/aZ8GRLUZSfE/Mc6/q42S95DFdut/OCcmcf0BL8Seu5hfExi89ReUwcS2tlpI5t4VED15TKmcbtK+6FvrAqKnRG0ZdkszVxevZZ19Z1ikW+VRsu7+bdu8oFfObnfewOPvYm9e/z77YxxtVRl4UlhDiUq38s9JSGvmpqbK2asAXNQAAAAAAAAAIGJioAQAAAAAAAEDAwEQNAAAAAAAAAALGmsaoefMeJRc00MM3at1/ZDMHefm+1oSmpljLGh3WMV2NJ7kcm9bHydT3sRknPkek8TSOBlWmp47LGLWU3m9qH28nu7Tu/+x2ThV/7F1/rWxRw9fe96NfUbbsCOuObZ3W4qYn+beb7OrGqKW319Px+w4REdHmx52Ut9N8gxpeHVS23KnTVZ0/d7bKgDIiHYfmINOejn7wQKk8cr321QfueK5U/toTN+qTyF1bdFDA3l9h0bOX0IE+RqZRbtXxG/6YWDagUKM01Mtg6x+vPL189u6b1Hb/O/m35uq2K1uukWM22l/UcaibvvZGqdz4JR2/VmviDz+rt6s8rvwCDzWgPkmF668mIqLBg/r/yOrOcxtLjujnJSmy/hacHrsgukM3rbtcZsSNdZHbvrPsyMxWPtF8l4jt69DxOLFx7scyvTpIV/bhydd0peWSJ4kOHUvVXM/b2W59j2IRvn4ur+NsDsSK/WbS1Oj/Hj2Ou3PD3mQqfbmcABGpvsQmnBT8We+i+7nb3pS+XzYig+L0Ybk4Vy5az06dSzlxL+IUu1t1GunfOPB4qfz6TLey/evO7/E5nbUh+rIcK+Qb/VvzItAx6wQ3Pj3cu6hOK8FMzVHsW8X2vv1byzvH9EduUdvnb+Pfmvk5HRPlJzj2yP0NhRkR23ta36+up7lBRr77fNm6tJe1rD1vvoFYW5u4p8yuJJ35vxbinl5rVLad/8yxjOakfj9QceVOjLlsEjpCrTLyiXWX15m+icf2cx/mdvXfD/2j2u+VFO/3vWEdi/7hTU+Xyg9/ScdcSc5/Ur+PyNwHbtyxjIE1Bd0Z+Is6lZWR7vDo2K8WO8HkT9+mbPFxvlbb6zo2K36ccwxUit13Y7ryrx0ru6/8pcv9lZO/xG188A6nUxfxwx+/7YfK9MWvvqNU3v5/lH+fcmPu1DJTzpICle7LxcAXNQAAAAAAAAAIGJecqBljthljvmeMOWKMOWyM+dTC3/9/9u48SpLrrhP990bkVvvS1V1dve+tfW2tGDDyLtvIzwzYBowMGjQPDM94GJ49wLzjA8MZn/ceNjNwME+DNRZg8II1xzLerfGCLLkltfZW7/tS3dXVtS+5Rdz3R2bnvb/blVnZVVlVEdXfzz8dUTczIjJ+ETcyOn+/G91Kqe8qpQ6V/+2abVm0sLJ6ClMYB2MVfYxVfDBW8XDqTAEHjuQZpxjIDYxh+vQQYxUD7P/i4/zZIk4eLTBWy0w9qY9FAL+vtX5BKdUGYI9S6rsAPgTgSa31J5VSHwfwcQAfq7Wg1EgRG/7lIgAgaJM/E45vNOlUk07KS9FKvym2yBSLITvFzUmZVGnzWl2UPxN7afNztpsto86YFLeW0+Z9HUdles/6b5o0h5b9crhPnTE/rV6/4tdFW1uLWY47RLFqt56yPu3mOdkf4PIfgBUU0mjCpB67dr6xgh/C6yxty+DNMuUvsIb2TtwrUwaKbasr001n3XG/rW11Nr/YbA2j6+QvFNvMB090yxgUL1ixOmm2a+UeuYKvtt5ame7aKwPe86pJt/rOlz8n2u7//v2V6X1H5WdV1vGmc3KZyaEWs80T8thb/2fHGhsri3fTNVXbwlf217sYIfmd58X8hu/MaTGod+D03P1maP3mw0Oi7ezbzfDIo9fJdJwd//uzc9uwWTQqVipXQPJIPwCg/dgW0WanAw5d7/RV1sfMdzrpdFbKhj8t35ew5j0nvVEMwe+cb9k+s8K1m0yaXGtKpqocOmuGN/ed/mhLr3lf1jlvzr7B9Av3bTws2pJWCl1By3Mqb+V9TgcyBf5IYQIDOkBvn4fxQ8WGnlNBlzzOEhkzn/RlPOz+PHRSk7Q1X5iW22/37c7HFutb2yOHur+hq78yfW2LSafx4WyX1eG+NCHTlb91zqSMD0/JIb//LDT931+s/7pouz1thpyeCGW/fMBK89ybk/Efy6ZRKGaQWNGB3KkLDY3VXLnDp7d9caHXGB+NvFbpgofcuXI63Q2ypGH6HvMdKltcJdra0uaxLIMTLaItXzT9SXZKdmah9R3Kc0pJ7HN1VbccPv3ulfKad8mPxuUQ/M1W3vhDa58SbZ8++ubK9JZnZLrxfV3mWvxAy/8r2rp88114KpQd96A1/40JuS3/9qVfQ2FoHEHX30FPzP+8UskAmd5SCcdb7pbfHVqtvPqck4//1HlzbRsYvFW0JY+Z72tNA851Lm/i4TmZtvl289qJDc41sNdsyzVrTdrlte3yMU9/sPLPzfLl4vF8rrsyndWyb9738F9Xpp/4FVnicqFoSm9aPHl93Jc1/d7ZrEx9ferrpVTS/CPVH9tgm/UXNa11v9b6hfL0OIB9ANYCeADAY+WXPQbgPXWtkRZMWjXBL997M1bRxljFB2MVD6t6fTQ1lS7ojFO0Jbvb4KVLX4gYq2hj/xcfPK+WpyuqUVNKbQJwK4DdAHq11v1A6WYOwKoq73lYKfW8Uur5fHAFD5mjeZlvrILx+h70TPM331gVUP1Bi9RYVxor0f+F024zLZD5nlPFKfZ/i4X9X3zM+3vFxMRML6EFMO9YjfL7elTUfaOmlGoF8BUAv6e1rvsx21rrR7TWu7TWu1J+8+xvoHlrRKz8tpbZ30Dz1ohYJese05DmYy6xEv2f1zT7G2jeGnFOJZrZ/y0G9n/x0ZDvFa0LOq4ulTUkVh38vh4VdQ3Pr5RKohT0z2utHy//+bxSqk9r3a+U6gMw63jbOptDsPdAaZkJuequcyaf061yLK4y+cleTiavhmmzHO3L+0532P1qvCmZB+yNXaxMB2dMnqsuyNc1JU0+dOC02bq+fo+YX/Gs9T8Vnszt10nrsQFFZ+hnZeX0FmXFz6U5XSoEm3esMmcC7Pyj0n4I2+UJO7jLRGh6lcwzDtJmPt8u939qzLS5kUmNWvU0zlDiKjT7JD0iv+y2HzG/UqhnXnY/RkXH5810Yt1a2Wg9quFdB98ht8sz+7nrOZm73DJgF5bIRYaJ2Yfkb1SsxHqvoA7Nv97kuKtJ+WvPxI2m1jDfJs8rexj4Yqb6YyLSY+4w8yaw6YPVh/Bt+l+vVqaDrDw/eg+aIf6D/yCHDLapXTeI+ZGd5gtCZqR6tVxyVB583lMvAWhMrHSxiGCwdE71/HdZs4DQbJPf2SGaCjeanP/RLbJedHS79bp2ub8LK828SsvPrNwiUYsd7TPHzdDkTWdkn73+ebOvmp6Sx52eNsdTpiiH2t7+lPl838vcLN/XZfWj4/J886fMljnlAHhb5g8AAKeHPgXgzLzPqeS5ycqjLdxrlbdlY2V64lo5mPrF681rsxvlsdSy0vT7q7rkUN52/V/Ccx4lY51wYzkZ/28durYy/eQBM8x33zPyepR5+WRlOjgvP34Cpq35F+4SbU//nKmteNtF+Z/wuYKJz9SE8ziArHUdKzg1wc+W5tWwBzS4/6OF0ahrVfr0JHZ8tPxoAmfIcr/P1B/n7pWPRDizxRxDxRvkr3J2zf+aTnlP0pEy/VDoPL8ktIpBp4uyr/nmsesq08EB8xiBtT+U57Rdv/2v3nbR1uqZ82pwu3xUzT9/xvxH0OPqNtF29KLpU6Zr1NzZQ8oDQKa/1BZONua8Sp8MsPkjpRrxg85jeMZvWFmZHrrGGYtgl6k9vG+HHHL/p+84UJnekZKPduqwOnXfuT4FVuxOFOUdwr8M31KZ/vpLN5ntenKjeN1r+01f6Q06j3yy7hX2/cf1ounx2/dVpt/c9bpoGw9Nf/zihFzfMYIW9QAAIABJREFUUN58bx4ryH47U77FcGvxqqln1EcF4LMA9mmtP2U1PQHgwfL0gwC+Wt8qaaForZHFFMBYRR5jFR+MVTxorS89b4lxijitNfITjFUcsP+LD601iqM8r5aben5R+ykAHwTwqlLqpfLf/hDAJwF8SSn1EICTAH5xYTaR6jWKiygiDwD3MVbRxljFB2MVD7njxxBOTQGMU+RNDhxDkGes4oD9X3xkTx5DOM3zarlRus70wEZoV936LvWmRVvf1Wi3fhJjeqh6PlqdOtKr9b1rf6URm0RVPH3m8xjNnZt3rHheLbxGnFftXre+O/G2Rm0SzeAnxW9jLJx//8dzauE16lrFWC28hsWKfeCCa1Qf2JHq1ff2vr8Rm0RVPH3+CxjNn581Vlc06iMREREREREtPN6oERERERERRQxv1IiIiIiIiCKGN2pEREREREQRwxs1IiIiIiKiiOGNGhERERERUcTwRo2IiIiIiChieKNGREREREQUMbxRIyIiIiIiihjeqBEREREREUUMb9SIiIiIiIgihjdqREREREREEcMbNSIiIiIioohRWuvFW5lSFwCcANADYHDRVhx9jdwfG7XWK+e7kHKsJsE4uRir+IhUrNj/1dSofdLIc4qxulykzimAsaqBsYqPqMaK3ysut+ixWtQbtcpKlXpea71r0VccUVHdH1HdrqUU1X0S1e1aSlHdJ1HdrqUU1X0S1e1aKlHeH1HetqUQ5f0R5W1bClHdH1HdrqW0FPuEqY9EREREREQRwxs1IiIiIiKiiFmqG7VHlmi9URXV/RHV7VpKUd0nUd2upRTVfRLV7VpKUd0nUd2upRLl/RHlbVsKUd4fUd62pRDV/RHV7VpKi75PlqRGjYiIiIiIiKpj6iMREREREVHE8EaNiIiIiIgoYhb1Rk0p9Xal1AGl1GGl1McXc91RoJRar5T6vlJqn1Jqr1LqI+W/dyulvquUOlT+tysC28pYMVaxwFjFR1xidbXHCWCs4oSxig/GKh6iFKdFq1FTSvkADgJ4C4DTAJ4D8AGt9euLsgERoJTqA9CntX5BKdUGYA+A9wD4EIAhrfUnyydEl9b6Y0u4nYwVYxUbjFV8xCFWjFMJYxUfjFV8MFbxEKU4LeYvancCOKy1Pqq1zgP4AoAHFnH9S05r3a+1fqE8PQ5gH4C1KO2Hx8ovewylg2EpMVaMVWwwVvERk1hd9XECGKs4Yazig7GKhyjFaTFv1NYCOGXNny7/7aqklNoE4FYAuwH0aq37gdLBAWDV0m0ZAMZKYKzig7GKjwjHinFyMFbxwVjFB2MVD0sdp8W8UVMz/O2qfDaAUqoVwFcA/J7Wemypt2cGjFUZYxUfjFV8RDxWjJOFsYoPxio+GKt4iEKcFvNG7TSA9db8OgBnF3H9kaCUSqIU9M9rrR8v//l8OR/2Ul7swFJtXxljBcYqThir+IhBrBinMsYqPhir+GCs4iEqcVrMG7XnAGxXSm1WSqUAvB/AE4u4/iWnlFIAPgtgn9b6U1bTEwAeLE8/COCri71tDsaKsYoNxio+YhKrqz5OAGMVJ4xVfDBW8RClOC3aqI8AoJS6H8BfAPABPKq1/rNFW3kEKKXeAOBfAbwKICz/+Q9Rynv9EoANAE4C+EWt9dCSbGQZY8VYxQVjFR9xidXVHieAsYoTxio+GKt4iFKcFvVGjYiIiIiIiGa3qA+8JiIiIiIiotnxRo2IiIiIiChieKNGREREREQUMbxRIyIiIiIiihjeqBEREREREUUMb9SIiIiIiIgihjdqREREREREEcMbNSIiIiIioojhjRoREREREVHE8EaNiIiIiIgoYnijRkREREREFDG8USMiIiIiIooY3qgRERERERFFDG/UiIiIiIiIIoY3akRERERERBHDGzUiIiIiIqKI4Y0aERERERFRxPBGjYiIiIiIKGJ4o0ZERERERBQxvFEjIiIiIiKKGN6oERERERERRQxv1IiIiIiIiCKGN2pEREREREQRwxs1IiIiIiKiiOGNGhERERERUcTwRo2IiIiIiChieKNGREREREQUMbxRIyIiIiIiihjeqBEREREREUUMb9SIiIiIiIgihjdqREREREREEcMbNSIiIiIioojhjRoREREREVHE8EaNiIiIiIgoYuZ1o6aUertS6oBS6rBS6uON2ihqPMYqPhir+GCs4oOxigfGKT4Yq/hgrOJLaa3n9kalfAAHAbwFwGkAzwH4gNb69cZtHjUCYxUfjFV8MFbxwVjFA+MUH4xVfDBW8ZaYx3vvBHBYa30UAJRSXwDwAICqgU+ptM6gZR6rpNlkMYm8zinnz1ccq0RHs06t6li4DSXkB0ZRHJ2ad6x4Xi28RpxXjNPCqxIngLGKnEZdqxirhcdYxQdjFR81rlfCfG7U1gI4Zc2fBnBXrTdk0IK71JvmsUqazW795Ex/vuJYpVZ1YMenH2rglpHr4Ec/O9OfeV5FUCPOqwxacJf35gZvGdl2h9+r1nTlsfLf2sAtI9fu4Dsz/Zn9XwQ16nsFY7XwGKv4qBKry8znRm2mu8DL8iiVUg8DeBgAMmiex+poHq44VsmV7Qu9TTQznlfxMWusGKfIYKzigf1ffDBW8cFYxdh8BhM5DWC9Nb8OwFn3RVrrR7TWu7TWu5JIz2N1NA9XHKtEB0/SJcLzKj5mjRXjFBmMVTyw/4sPxio+GKsYm8+N2nMAtiulNiulUgDeD+CJxmwWNRhjFR+MVXwwVvHBWMUD4xQfjFV8MFYxNufUR611USn1OwC+DcAH8KjWem/DtowahrGKD8YqPhir+GCs4oFxig/GKj4Yq3ibT40atNbfAPCNBm0LLSDGKj4Yq/hgrOKDsYoHxik+GKv4YKzia14PvCYiIiIiIqLG440aERERERFRxPBGjYiIiIiIKGJ4o0ZERERERBQxvFEjIiIiIiKKGN6oERERERERRQxv1IiIiIiIiCKGN2pEREREREQRwxs1IiIiIiKiiEks9QYQLbVsPlmZLhbl/12k08XKdMILRdv4RFNlOsjL93U9m6pMt58sirbBh6YAAFqrOW4xUYxoXb1NOedArdfSglBe9X5IB4H9wurvc9t8M68yadEWjIzOYStpVva55J5HNdr8rq7KdDA8LNt6V5XePsivilHn79wGAFDHn1riLaHZ+D0rAABq2K/r9fxFjYiIiIiIKGJ4o0ZERERERBQxvFEjIiIiIiKKGCYeLxN+ezsAQE0s73vvYig/X7FocnyVMrn34csd4nUb/uTpqss89sl7KtP+1gnRVquOLJE0tWeeJ7dr5Wf2VH1f/qdL69PZ+vKTrzb+tdsr08G+Qwu/vnIdBgBM37JBtKW+/fyCrz/SFqJmzLOOey3rPu1aGuXL80MXZa0nyToxHZpYeamkeJ232hzjelz2ccHFoerLT5paW1GvBkAlrK8PTv9XvH1nZbrQKr9mpL/5XNX1XY285mY5321qxnQuL9r0mh4zvf+obMvL18pG6zx26kJVi1m/5yxj7Kc3AwCC78k6Q5rd5C/cVZlu+87roi0cH6/+Rrdu11ajPz7186VzPP8Yv9ZfqfBnb61Mez98sSHLVLdeX5nWL+4VbUf/jx0AgNxnMnUta3l/qyciIiIiIooh3qgRERERERFFDH8jXSBexvykqQOZ3qMLNVIU5ijcvr607NdTs7wy3mqlItoZA7VSHV2bP/5MZfrgZ3eJts6eCfflFcHx1sr0lv/zmaqvc238ZhYAMDAazvLKq4PfKdNUJ3aY1J/EehmP5Hfmn4popyQAQPCSSUuZ7tki2pb32VQHO00xDKq/bq6cYd3tdVxJquOl/lZll/cjLy4bSt/af8p+fMiOTeJlh95vzqnmc3IZvf+tel8prlVOSlaYL1SmE2v7RNvINnP9ax5cgOMm7uwU3+Ym0aQLZr/2/9J20VZsMdOrVtwg2hL/q3q6vZ1e6a3oluuz0vCmf+Y60Ta2sXT+B1d9R3jlvKJJU+z/9RtFW61zrt508xN/co+Ybzumy+utcwOXucTaNWK+eOZs1deGCdOPDj0s92vPI/V/t7N5J/sr024PWNw2DQDQ6fq+A/IXNSIiIiIioojhjRoREREREVHE8EaNiIiIiIgoYlij1iBunU0wZtU2LUBtR/Bzt8k/XEpr9pf3vXc+Lw/ZMDCfd10DhqXd8VD9NVCrZn/JjBKjOQCAChZg6POYEENS98iaicnVpi6q5Zx8nxx0fG7coXITq3sr0yueOiParvp0/4WoS1uAZaqO0uNJULi6HnlhD5nvWcOsD9/YKV4XZExfM3qDPKqb33d3ZbrzVTlUf/D6QWtlsr9SKdPfnn/7etGWmDavbd07INqumnPKHWbd2n++XSfm7NfiNlNbM+1cZDa+4WRl+vCNK0Vb4j5TW5Mak+u2S7tb+uX6Bm8186mRmb8/6OX9taIhDn7mTjG/47eerUw3uS9ugHe/6ydi/nuPlh/7c3V1gVXpXK5q2+iv3i3mVzxl6td6++WQ+YF9HjvnqnfztZXp3Er5mA3/+cNV159MlvrtWk9iEOup72VERERERES0WHijRkREREREFDFMfZwH+2fPwVtkqsmKPcOV6fC1/XNbfrP8KTV/t1nf2EY5Xm5rfymhpMbo9bGVL5rD1B25tjhq9kPq288iDtTxcnqdNbz11cZbuaIyff5nV4u2MGkOYq/gpBrcdI153StzO69c+Z0m1cj74YsNWWas1Tk8tM3fuU3MB4eOmZlGpTpajwrwt28WTWq0PMT4Muz/BOdxBl7KzE+90VwfLt7oDMH/rJWKeEI+Hub4u811ZvWHh0Xb49teqkyPhtOi7XtTJmX4s2dWiLZ9R8w51f2tcVyV3FTRpLlWqXTavKyzTbzu2AMmUa7YJhNFjz9tUkw7bpZpqq13jFSmA+eLQLZgrqGJpFxmt3V9HRpuEW24UNpOptPNzH7Uy7rvyn1up0Jmzsuv2vmt5lxKH5SJkb6Vsec5T3JSVlf63KAcbv7SIxSW43fAut1pHoMQPPtq1Zd1HpgU8/3vWFuZTv+8TNV+5mbzneBXj79RtPWmD1Sm943J7zEX/t486qL7UTnE/81rSt8BL6Tqe1QXf1EjIiIiIiKKmFlv1JRSjyqlBpRSr1l/61ZKfVcpdaj8b1etZdDiOPDKlzE53g/GKvpem/wRxoOLjFUM7NXPYwIjjFUMTBfHwetVPExjkrGKgcF/+iLyZ8+y/4uBM9/6ArIDjNVyU88vap8D8Hbnbx8H8KTWejuAJ8vztMR6192OTPMK98+MVQStSW1Hs9fh/pmxiqA12IgmtLp/ZqwiKOmlAV6vYiGJFMBYRV7rnbuQ6Olx/8w4RVDnDXcg1cVYLTez1qhprX+klNrk/PkBAG8sTz8G4AcAPtbA7Yokv0v+R8SF20xdmjt87dk3m+F3p3/5HtlovTY56gyja7UFzTLH3c+a1/qyXABNQwptfVuB1y+7917UWBXD6vf+odUWBPJ1iURQta1oDbmdaZI5vZt/65U5bedSCkZG0YFmQIdu07I+r/zrdlSmw4SJcaFVngPtp8yxYNerAcC5nzHnVfpGOcRu+zFzUkyvlkPsNp+eMtsxIYftHd5kXrvieVmjEU5OokuthLo88T96sXJry2oMKyx4TgGKrq+mzK7PCH2nH7v7hsp0dmVatNl1ZMlxuS57N2tnmcr6COG0fF9qohTfhJcGAsjinQjGSnnO/gqrx0f5Jj66IPs/b/PWyvSFm83lvEU+ZQKJrNlfiSFZn7H1i2aZ0/8lK9reNn5LZdo+fwEAp82zM4IxWS+zA2a+2tGUKD1sI5qxqnXu1BpT236tc1756/oq08FZs+/OvXeTeF2x3aohS8hrhN5u4rOmfUy0ZXxT83xiVD7y5KaV/VU3+YVz68zynWuvbgqRumEz1OMx6P8Wgb7nZjE/3Wv6tubHd4u2aw/srEyfvU/+B/qGb5gY249HAIC206ZNFZ0abWs+904ZKxUCrWu2XlbHimUeK1HvWaMuDXffVJn09p8QTSufG61MJ55YI9rub36vmUnKW6bhYfPdobCjV7R1/1DWpdkufU/WdRYUzrVGrVdr3V9ake7H3B8pRQuPsYoPxio+GKv4YKzig7GKB8YpPhirmFvwUR+VUg8DeBgAMmie5dW0lOxYJVe2L/HWUC08r+KBcYoPxio+GKv4YKzig7GKprneqJ1XSvVprfuVUn0ABqq9UGv9CIBHAKBddV/5uM8RMvBvrhHzgZWW5eflR8tZWZJBk2xLTJj3FVtkW2iNuu85D1ZPmOwt+DJDBaqcITHDD6lzilXz9r6qsaqV3ljrh1xl5S75vkzpyOfNoeimPmYyJqWj7z37aqwh9pbVeZXYtEHM66JJgrp4p0kF6XlNHuhB2sR/eGdStCXHzEdtuiiTqsa2WMNaNzmpZcpcdNq/K9MevNusNKFtcpvxctXjra5YNTxOl6e1WG3uyi9LrTXstKw6h8+3H0cCANlVZn8nx+WjJnIrTDpKvlVuc3La7AY71oBMd3QfzeBPFmacBoBwrDwEfDDjZ1mSWLnpjbVip+wsOTctsmBSoRJ9cgjoY+8z6TaZQbPJvT+Ww+yLR1ns2Cra9N5DZrooh263BfsOyT/USKe1t7PYf67q62awNOfV5Suo3mbH0T13rPMqsV6mUAWnTfrh4IO3V6bHtstlJEasVFdfpk+2rjKPOhjJymHdpwtmmP+VLTK99WLOpHSnPBljz7ouJ5vkeVW8lHrpXbY/ltW1ql5n3ihT49d/ak9l2v1gY9ea0pjmC7IvTpy5WJnuHZdf5i7cbWrMmgflsZEcM9fKqby8Nnrl0KnL9/CyjpX9GKsgZ/aP2nWDfN3rx83rxmTasE03yVT94NDRurajeNM6MZ9OWI+VcvrVI0OlGOeC+m7B5pr6+ASAB8vTDwL46hyXQwuPsYoPxio+GKv4YKzig7GKB8YpPhirmKtneP5/AvAMgJ1KqdNKqYcAfBLAW5RShwC8pTxPS2z/ns9jeuICwFhF3qt6N6YwDjBWkcdYxcdUOA7wehUL05gAGKvIu/BXX0ShfxBgnCLvxLf/HrmRAYCxWlbqGfXxA1Wa3tTgbaF5uub2X8FLE/8V4yOnk04TYxUxN6q7sFtPYEwPMVYRx1jFR7PXhtFgsG+GJsYqYprQijE9xFhF3MrfeR8KfzyI3NEz7P8ibuPbPohDX7yAqYFTjNUysuCDicRd7h13VKZDZ2+1DJj84Wyn/HEyTFp532Oyza4vC52Rq7WVC65CWatgrz/p1G+oGsM7N1qtOrTAql/LZt2+wmhulnVJyaQ9LfOy17537xVtHy0df/uWynTQKmsolFX3YQ/Jn/rJfvE6fZ1ZxtQb5Um39oDJ9XbrorJddt2V3C47b1879Sd2renYTvlsu9aXsfjcWia71qxWPZk7bLi1HOUOn1+jFsnm95hawjAlY9F01IysHnTJ2g27YCMzIrfZHnJaJ6r3Jm6fppPW5ynIZYbjpdodXasur0Euqz2z1BpmXxet49WtgbJrBp0QJ/pMHdrJX94k2uzHtDQNms8uatLc5V+2XXUeC52dYj4YGbEW4nweq7bKX7lSvu/ChbrWt+BqDbNfi30OOstIbDR1KuHAoGgbfr+pSxu6ycRKJ5xruTUdpGRbR5P58jAwJp/taD/+ZjwpY9qVMQeKN0MR0yXNGfn4h0KyFEfv8hq1q8bAh++tTG/6e1nfXLRqouxaKQAIUiaS3c/IxyMUNphzImiW/apdQpiYdGsgzTJHhmT8V5brt9XCd4GRovPmmFVJM8iDd/iUfOFqqx9yatT8TnPdDw4fk++z+k7l1Izaj0vRznVB1ahR875eHsRipHq/LF5f16uIiIiIiIho0fBGjYiIiIiIKGKY+jiD/Nt2VabHN5hd1HJe/qZsp+bYP3MDQMIaHTc1LppQsLKEQiftwc570L6TopVWM74OAIqZ8pPOa6TlXAmtFfLF0mcvFOTPs7XSIOwMmEQicNrMtoXOEP/BK+an5w2fePqKt5eWyJ03yvn9JjXEz8s0wqF711amOw+bNDCvy0mpKprzzJOZOGjZa4b6nrxeDlWemrDSiXwnFdlKsVMpZ1hjKysh1yHPH5lc0kC1hv/WTrqLnV5VI73xMlaK1pVkBNpDqxc2mbS7xKDsyNSE9bwQJ/UxMWXW7Wdl2ocdm3yHjIUdJ2inj0iZ+cS4vHRdSl1RY/WlklwJN9VR248AcPa/eK2TJuPZqTCBExDrfZ4zrPvpd5oyriAlmtDSb46jjpdMSqGbIKtusx6tMF1ANXbqkLtdwfAw6qXHzLFSvGGzXMdipj7WSm+sOQS/fc7JGHvW8N3eavnsYD08Wpkefo/sGy/caWKemDTLLLbIY6HQYUUvIyOZD6of3x0t01Xb7KH8w7TcJ0GN67LnRS+Pzk4pA+pP3a0lsXmjmM9tMinfbafN8vXkFKqZuk8OB+/nrBTvKRkbFVR/Tq2u0YXZqeL+eXmuZntKbW6JzrJgpR/qu+R+VhcnzMzJM2Y67dQVJarv2Pwt5pEl/g9eEG1+u/kWEIxNoBq3FAOeOZf8XtlP9DzyDADgiJaP0aiGv6gRERERERFFDG/UiIiIiIiIImY5/kh6xbLvulPMT/aZn0jTo9bP104WRb7dvC50BjhMVv+FXGT01Byhx8nMsH8Sz3U6I8yUUxbCBmb+XEp7cDINRAqjckaQstMiswdl6tuWjz3TuI2jBWWnvyEjUwj0sBntLXj2VflG6yf+kbvWiqb0mEnjsdMEwhUyDSS/IlOZTo05aWdpK93DOR+b+q2TTssRuIpN1jHbKtP0klPmJPQLcqHeLdeV3rP/x2ioGqPw1eSO+uimSc5BYnWvmA/W9pi2EbNPVVbmoerONtPm9FWpISvVx0kxK3aa+LojO9ppqMp5n53WnbOOEQBIeRtKr3nNSd1rBCeF0R35S7DTIgNntMsOc5x7Gbn9waquyvSZn5X9Zmh9pO79cpktjz9rlmHtLzeVS49YKTZe9f+f9Zxz40rSHcX7rFHVEsPyYjj/I3aO3FRHK73Rc9KkVJM1Ym2fHLWy2GmlERblBfzse03a6uRG+UntdEd7NEe3xCHRYc6zdEamU6V8s8wWZ4TG7iaznyfy8vPYKZNThernyNSEfF9re/V0yjm7tN9rpZ7WMNdUx8TG9fIPRSs13EmHT50xKayp18yxHG6RacnefmvEwcAZoXO3ScObulWej8UmcyykxuTnSU6Z5bhp4/Z3wtaT8lo1dk8pVuH/jF666pXK3X+HmPdz5jOlXzkp2qqNIuuvk0/+UEOjM74OANInLprluSmTa8z10Xf6/uCiGfk4dXpItln9v+poE204P1B1W2bCX9SIiIiIiIgihjdqREREREREEcMbNSIiIiIiooi5amrURM0NgLG7Tc6wXb8CAJkhkw9rDxed7ZT3tXlrKG9nJGlRTxakq7ep0Kk1s59Kn5XvU1bKu1sTV2hRM27HXOmsj9ze0rDpm/6ItWVxkVgrc+h1LleZDgYvui+vKrTq0MJsturr3FqbqV3mvGo7Iodz96xhwQvdpoas2ObUh9h5+Kdkvn1unTWUv5OKP73aLDMxLetD/Lw5z6Z3ypqs5IR5baFV5qCP7SjVFQXHG1T8eakuowG1ZfNh94d2rRkAeKNWTZFVx+PWEhasWrMwJTseLUbZrz5Euld06tCsOo/khKzP8CdNPUiYcurGLr1tbmUvl1FKwSvXrag2p77AetZBOC6Ha7aHDvd6ZW3T2G3m3By6Rm7/9DpzPDSdEU1Y+aI5b5q+L2tC1Ypus1lrzPp0zqltseszeuTjMPwdZmhqNZ0TbZ7Vf4RTNQqvawj2HZrT++qlPA9eU+ncV02yP7LrAour5PEbpk0M8hkZD/uYzXY7sVpljvXxrU4dolWz5k87jwhJmoMzbLY6r7SzDKsDzE7LerIhz/RxG7tk/eCkVXsWOAX1dm2b7wy535wyx9eWjbLO5uUjpbquMGjg/+nPsTatHurW68X82E5z7nY9e060BT3W8eA+LcOqxy1cs64ynRiVNXv5u68x0x3yOEluMufj5Gr5VbvnObOf86tkXag9zkDiwCnRptrN5+n7jry+3virgwCAb6blORwp1vVk8hfk2BBDO80Hbzspj5EV3zxYmdbT8vuIb/WB6LGmLzr1tVb9rd3nAYAeMt939K07ZdurRyrTobNu+/tW8aTTcdv15MNjmA/+okZERERERBQxvFEjIiIiIiKKmGWV+uhft0PMT24xKR75NnlP6hfMT6teQf7Mar82sDIP3CfGi/RGZ8TbYlv1Yf1TI1bKpDv0vb2OGqOsusP6V4ZwbtCtd+rMJFMe46I5A3VNKeWj+OLehiwyzJt0mMQ6Ocx+frMZgh8FmbbTdMKkY3hTMk0gbLZS5ay0o4m18uRpP2He19Ivh6Ae2WrSJLsOyuUPX2OW337M2a7Dg2aT+2Tq18Q663EA4/J9uc7SdrrncBz4PSsq06pFPq7AHppajcuUNt3RWpkOm6wcaydlyR46WvsyFzu3wsnNtqSsxzS4Q1prK9W82CI7x8A6Ztxhq0O/3PE1KvW7JYPiraW0pnyXPD7H11nHrjPid5g2nyfocFI3m01KkneiSbSt/Z6Zbn/2uFymNQS0m4aprbRkdWbA+rtMfwonreH5qwxnPROVrO9xB24fEaw2jxsIMjKOqSOlFDR1oUFfPzwPqq10zIYbZFrz+GaT7pRvkSdxoc1K63U2pWidLtk+2SfoJqtPKjqPD7F2V+iccipjP7rBvM93Uh9brOMkX3SGAw/NAT4w2SrahsbMCreskmnuoznTx10Yk+/rbjPHhud8sWjuKKX6ef7CD/nu79xWmVYFee5M7TBphMVmeZIHSbMvW87K477rX81Q7na/Bsg0Ve08siK3xqRFps9aaWvvPMUXAAAgAElEQVQDcr+mi+ZRJl7RebSFlU7bPCA/j5owfW5xo0zJtUtxht8mv9O2njTnuz8pH91waKS0j7JB9b53rtwSh+n7bqxMB2m578Y2WP3jRnncZC6Y1zafl33/5n80qYPheaePajb9pZvejE6z/8R+dUs9rHn72gjIshBvtUxZt/tO5TyrqrjWLEdvWiXaksdNfzx1gyxJSX27/j4Y4C9qREREREREkcMbNSIiIiIioojhjRoREREREVHERKZGzd++pTIdtsv8/fwKM5/rlJuc7TT5vEFG5ovbtWfqstGwrToxp/YstHKe/Vz1ZSSs0g7fGcE8PWqPTy3b7CGpC61O8UuNkWvterai3EUotJbe6Oba0/Knkx6m15by4zMvVn9dYrWs37CHyoUvT4Kp6/sq02G2+lDyKueeFOb/fiavkbnemQEztLFdm+Q+UsKuRXKHdg/SZj519Lx8407zaICgyRluO23y9mstM31MnshBpjzs98KXaFT4nR1iXlnzYaessyh0mXz9YrPbkZlJz6kFU8XqHY0XmDd6uer1ZHbs08Oyzi1zxNTxuMMpizz/lPucEauWQzn1P62m0ws6ZAc41VcqDgqTjfm/x1yXh6P/prRvu/bK7Uha5V49L8t9kpwy+67liDMk83lTJxlclMOg+12mpkuv7BZtes32yrSalDU4qt+qdbD31/aN4nWJEfMYAe08UiAYsoaxduoQPaseJNTyJNBFE6viaWdoamvejcild2ntPEJgjsLmFLI3bwAAnLhfXgCTo2btvjNquf3YnCDjfG6rDC110X30hFXD3iTfF1rL0Sm3kNyKT9EsI/TkMjqazPnS0yRjVbTGbu9Ky3Nust0UyF3f1i/aMp6pZ+rPy/7l5KQ59tY0yWP2bFPptZ7X+CH1h37jHjFv97HpUbnv/KyZbz04Ktq0db0IWmVN5cRt66wXyvXb3/uaz8ph9xNW/ZeyhurPXyfPK9965Iz3r6+IttQa6xEo03L5wRZT05mclOfBqu+cNTNOH1hYb2qiip3ysTbv2/BjAMDZ1CQarf/h28S8Hauug7KOvPc5c/yu+b5TK/vKfjPjOdfoLnNcqjXyu0phtWlLPL9ftHlNzpfhKstP2PHI5d1Xm3UHNb7vpOTxpfYdN9Nu/dqw6VczXc6jQaquYWb8RY2IiIiIiChieKNGREREREQUMYuaKKd8D35r6SfA3K7toi0sWEOlJpyUF2s2MS1/NGyyhrkttMj7zqI1iqedzljaGDOZnHDSVy5a67BSQQrOsLCJrPU+52d1e3hft01Z84lJ2Ziws4RqLLMgM6Cgk+UXx3AYcZqfzJppXPN/vQoAODp+q2hLHTbpgbpTDu2N0DrOzw2KpubXrPQLZ+jiwjqTfjG5SR6I9vk5ulmmtRWbzHJSoybdw00pzreZlIX0sJMW8je7zcwmOTb6xHpz8HcdkEMXIzQnU+qwTAvqmraGWB6V6UQt5fd5+erpEHVTqjLcuS5UT70IRmRqD9x5S8IaPj29Wg4PHHabeAfNTsqGld7ojzjD8582+yecstqcodrtz+DuHTt9U7XKYyQcHjHTk3NL0/G3bRbz6ZbSsVYrpfNKdLZO4t0//TwA4AdH7xRtvV87UpkunnPSby1XcsQEVpoM7OkrWKY9hLY64w5vbdoKN8j0Le1tqkxP98hzdniHORe79ztrt641gXN9TY1bKaA/OSLaAnfY7HkKUgqjm0rbveH6s6KtJWmO0ZGsU1IRmM+WK8ivQpOTZn8FWSelOG/6MXXZ8Pzmcysn9bG105xL27pNf9ualOlhd7SfqEyfL8iUqW0Zc7zdkj4l2vZkTVwfaJX7vMc3Q8cXtIzjYGDS8rp9mU73h95dAIATCSdvtAG6H63x+B8n5c+z+hCvVQ6Dr7tNX+ONyzTr1AlzHdBDI6ItmDB9jw6rn1n2FSilqn/BCm/aKeZPfcL0RT1/tVq0ZV42jw24+K5tos1fZ65rqQl5DE32mmMxMyL7uuHy4wECt5agAdZ885yY12fNcVirD6+Z4ufsc5EO7qSGe4erLzM8ddq8zn6MgLP8sMe6Jh09LdpO/ad7K9O5LrmGnX9ihtkfefu1oi1vPeLDfqwCALSdstbvHDbNr+GK8Bc1IiIiIiKiiOGNGhERERERUcTwRo2IiIiIiChiFrVGLbeqCccfuqE0vULmgaaHzD1jWqYSIz1sXusO22rXujQNyjZVsGvN5DJ1wh5iV+agT/eY3TKyzcpj3ybzn3tXmtqRvhY5rO3PrDhUmf7H43eItouHTI0PVsjcbz9hDY3ty8+TsNp85/PkxzMzN9CyN5bN4MlD1wAA1jXLU7pwkxkGONstj3PfKuNKbukUbc3HrLqovKz3Sp4y9RWJixnRhmFzHjS/KutddM4c63adilyzdOZj94r59pXmXBq+Rv4/0/7f/OvK9K6TvyXaerKmn9BdzaJterX5DJm03H+JwdLw2Cqc/3mVW9uMQ79fGubY73OGaz5v6mdaj8vP1b3P1Nk0vyJz64v9pnageEq2wSphqVW6ell92UrzWIXsm26oTJ99gzx++m4x637nGpl035Mwbf/jhIzhhT03Vaabzzg1PjUeQRJah5Nb1+iXd1Hx1cYU6WaPJHHoPaW6khXbZR+9/2OmPq51sxxKP5c3HyB3UX6A9gOmrfOwrL1sOm+OB29K1i9q33ymiW1yaPVcu1UvZV0umi7K5U+vMOvOt8t91PuMOddTKXnsTW8xO3pyVNYopsaq12jbj8oJN/XJxgbXqCUGJ9HzSKneKdwna3TPXWPO7alV8nNnrbj29sovHXf2mRqi9oQ8Vyescf3t4fIBwLMK0E9NOn1qwsR1smCW8fLJdeJ1zx4x55znlLIWW6v3Q2HStK1/z2dF2+rEeGV6JJR99lRovo+cKXSJtheGSvVSU4GM/VzlNjfh8J+WYuQn5UmsT5jasxWvyM9pf+9rfVXWGAsDstY6tB734Q757vea2uSBn5FtF28323bHTabe79FNXxCva/XMvrz/wP2ibfyAievaQeeRGBdMDenYNlmj1nO7qYk6O+QM614w52fypKwnfGf7SwCAf/bl8doIU9tXiPmB95uau+ZzMlZ2rVbXQfndoWiN89B0Tn6f9ifNwa7ysv8qrDI1ihNr5eee7jHLHNtm4qab5Pfnt95srlGvf/Im0bbmKbMt/XfL88OuGXcfUTO63XqUV1a2KasG1r1vuVL8RY2IiIiIiChiZr1RU0qtV0p9Xym1Tym1Vyn1kfLfu5VS31VKHSr/2zXbsmhhFS+OoHDuAhir6MvqKUxhnLGKgenCGCbzQ4xVxBXGhpEfYv8XB+z/4iM7MIbpU+z/4uD82SJOHi0wVsuM0rp2So9Sqg9An9b6BaVUG4A9AN4D4EMAhrTWn1RKfRxAl9b6Y7WW1bR6vd76wX8PABjfKX8S9VvMT52e56T8WT+Rh2H11Jb8tJNqVbTSQpyUQD9llrmqW6Yt3rzCDPG7rcn8DJ108m2yVp7OCWuIbwDYO2J+Gh6ckMPJbuwywy//9y1fFm19Cesn3lD+NHzCGnp6T1YOTf7oyTcgf3ECr/zBlzB18qKab6yuuyml/+Frpc/wP8fkU+m//OWfrUyv/89P11pMZBz5vEmJ+eANu0XbvgkTq9G3yjSnuQ4fPpucnsYe/AiTemzescqsXa83/rvSeWWnvwCAP23Ol3ynPK9aTpvzwx3Rt9sa3j59QR6HXs5KI0w4b7SG8p/YKFMMx9ebVAA7jS2Qpy2S1ojw3hvlML1Tr5rry4Zvy+165B/+sjL9lqd+V27WSZPOcNk+ypl9lByT/UuuS6M4Noazj3wGhYHz84pVS896fd07PwoAGL5OthW6TN+S7JSfq7PNpLJ0ZJxYWDlnEwWZnlQInGHFLZmEieGq5nHRtrHZ7POE1RefmJJpfmcnTBpetihTRsenrOHNi/IY+bXrzfn3xz37q27jaChTeE5b2TD78zJV6ZFTP4PcxUns+f1/xuSJoXmfU+2qW9+l3lTrJVcseKPpR8/vkuk1031mPwctzvVvxMSx84Bc5sqv7DXvG5PXsShrZP/XkerV967+QGkmcIb8HjTHssrIlCnPeoREsU9+b51aa/quIC37hHyLmdfOKRamrOG6m50267WhtSkJ5xLTetrEv/tHJ2Wj9UgVO+0ZAOCZFQz89l1ym60nsyRkF4LkuOlD3JRiFQKFqTEc/PZnMD0yv/4PqP+88ttlyt/F91xfmR64W25k+xrTf23tlqmP+dD0S+5jEI4Mm+9sF4/J+GfOmX256Ysm1TI4fGzWba/H8f98T2Xay8vjq+mCiUdSZkyiYH2VdDJycfEWjeLoGM799d+gcG7xYnUlsu82jzoZvFFeM3Ld5tgOne8EiUmzj1a+JK/frV/6SQO3cHHt1k9iTA/Nmq8/6y9qWut+rfUL5elxAPsArAXwAIDHyi97DKWDgZZQakUr/EzpCGesoi2tmuCXS0QZq2hLtLfDS5Wff8ZYRVZ6RQv7v5hg/xcfyeZ2eAn2f3GQ6OC1ajm6oho1pdQmALcC2A2gV2vdD5Ru5gCsqvKeh5VSzyulng+mFubXCbrcfGM1PDS/4keq37zPqwX61Y8ud6WxsuNUzDJOi2W+51QBjX/AL81svrHKh40fPIFmxvMqPhir5aPuGzWlVCuArwD4Pa113TkWWutHtNa7tNa7/OaW2d9A89aIWHV1c5yZxdCQ86qF59VimEus7DglMozTYmjEOZVEevY30Lw1IlYpr2n2N9C88byKD8ZqealreH6lVBKloH9ea/14+c/nlVJ9Wuv+ch3bQPUllCTPT6Lvz0s1TX2eTO5OrF9TmZ66drVou3i9SVid2CLzk5M95n/TVqyQCb2tafM/Agmn7i3UJi10qiATYr9bHuocAJ48YmqbVj8r19363InKdPHcedGWgmlb/YZbRNu+926sTN8/+m9FW65gQpKdkCeKzpp9pgoyrbXjQKmtOJIAGhCr49Mr8Buv/lrpsyTk577nXa9Uprf+kvzfzC3p6jV9I4GTtG8pWMn+WS3jEVoFVIOFVtF2eNIMJb7vgqlbmTgvX6cCU+Dy+LGbRZtvHRuf3/s/RNu1KbPN/8/QVtFm1yWGzgDonjteteXrL5aGhs3+6dPAyeF5xyp1dhIbPjFzraDXZooTsj91jWgbX2u2eXS7fN/pNVY9WVrGTds1Xs4Pr8o6r9xjNG2Nyt15yLyx88kj4nX20MX4NKpKrF0j5h948TfNMsblMZSsUYfmW/9xqJyw9T5f2s5zkxr5eZ5X/sVJdP5DKZ++y3celdBjhj8ubJXDmQ/vMMfZ6Q1ODd0qazjiZjmksZ82bZ77wSxnLshhxPeMb6lMN502/VHPXrn8thdN7UbzmVOircuqFfKu3ynavvyW+yrTn73+DXJjrBpkb8oZ+jxrtclNQUv5yQSFoSTQgP6vtJLy+kP3AQZz4//ghcr0mh80ZJGXPVphTuxrcYM+az10qY+cd6x0oYDi6TMAAJWQX2nsOrTLJMznTvQPi6b2C9Z3W+WUkMxS11/hPNZEZ01xWDBsPf7E2ef2ZygWnQPdXt698jqWPGa+g6z5Z9mnwu5vwhrZMs5nu/S9xtMTQKPOqzq49Zadf/eMNV39fbVyFoad+W4MWdM1tsWa9prltTCcmsJcbPrjZ2Z/0RXqPFz6njk4FMz7WrVQMl97tjK97mtLsQXxVM+ojwrAZwHs01p/ymp6AsCD5ekHAXy18ZtHV0JrjcL4MMBYRZ7WGsFFxioOtNbITzFWUcf+Lz601shiCmCsIo+xig+tNbK5EYCxWlbq+UXtpwB8EMCrSqmXyn/7QwCfBPAlpdRDAE4C+MWF2USq11T/MQTZKQC4j7GKttzh4wgnpwHGKvLGLx5HMc/zKuomzx1DkGOc4mAUF1FEHmCsIo+xio/RsRMoFvm9YrmZdXj+RlqI4T5Jqne4z9k0b+/TOz79UCM2iao4+NHPYupQ/7xjxfNq4TXivGpX3fou782N2iSawe7wew3p/9pVt77Lf2sjNomq2B18p3GxYv+3oBr1vYKxWniMVXw0bHh+IiIiIiIiWly8USMiIiIiIooY3qgRERERERFFDG/UiIiIiIiIIoY3akRERERERBHDGzUiIiIiIqKI4Y0aERERERFRxPBGjYiIiIiIKGJ4o0ZERERERBQxvFEjIiIiIiKKGN6oERERERERRQxv1IiIiIiIiCKGN2pEREREREQRo7TWi7cypS4AOAGgB8Dgoq04+hq5PzZqrVfOdyHlWE2CcXIxVvERqVix/6upUfukkecUY3W5SJ1TAGNVA2MVH1GNFb9XXG7RY7WoN2qVlSr1vNZ616KvOKKiuj+iul1LKar7JKrbtZSiuk+iul1LKar7JKrbtVSivD+ivG1LIcr7I8rbthSiuj+iul1LaSn2CVMfiYiIiIiIIoY3akRERERERBGzVDdqjyzReqMqqvsjqtu1lKK6T6K6XUspqvskqtu1lKK6T6K6XUslyvsjytu2FKK8P6K8bUshqvsjqtu1lBZ9nyxJjRoRERERERFVx9RHIiIiIiKiiFnUGzWl1NuVUgeUUoeVUh9fzHVHgVJqvVLq+0qpfUqpvUqpj5T/3q2U+q5S6lD5364IbCtjxVjFAmMVH3GJ1dUeJ4CxihPGKj4Yq3iIUpwWLfVRKeUDOAjgLQBOA3gOwAe01q8vygZEgFKqD0Cf1voFpVQbgD0A3gPgQwCGtNafLJ8QXVrrjy3hdjJWjFVsMFbxEYdYMU4ljFV8MFbxwVjFQ5TitJi/qN0J4LDW+qjWOg/gCwAeWMT1Lzmtdb/W+oXy9DiAfQDWorQfHiu/7DGUDoalxFgxVrHBWMVHTGJ11ccJYKzihLGKD8YqHqIUp8W8UVsL4JQ1f7r8t6uSUmoTgFsB7AbQq7XuB0oHB4BVS7dlABgrgbGKD8YqPiIcK8bJwVjFB2MVH4xVPCx1nBbzRk3N8LercshJpVQrgK8A+D2t9dhSb88MGKsyxio+GKv4iHisGCcLYxUfjFV8MFbxEIU4LeaN2mkA6635dQDOLuL6I0EplUQp6J/XWj9e/vP5cj7spbzYgaXavjLGCoxVnDBW8RGDWDFOZYxVfDBW8cFYxUNU4rSYN2rPAdiulNqslEoBeD+AJxZx/UtOKaUAfBbAPq31p6ymJwA8WJ5+EMBXF3vbHIwVYxUbjFV8xCRWV32cAMYqThir+GCs4iFKcVrUB14rpe4H8BcAfACPaq3/bNFWHgFKqTcA+FcArwIIy3/+Q5TyXr8EYAOAkwB+UWs9tCQbWcZYMVZxwVjFR1xidbXHCWCs4oSxig/GKh6iFKdFvVEjIiIiIiKi2S3qA6+JiIiIiIhodrxRIyIiIiIiihjeqBEREREREUUMb9SIiIiIiIgihjdqREREREREEcMbNSIiIiIioojhjRoREREREVHE8EaNiIiIiIgoYnijRkREREREFDG8USMiIiIiIooY3qgRERERERFFDG/UiIiIiIiIIoY3akRERERERBHDGzUiIiIiIqKI4Y0aERERERFRxPBGjYiIiIiIKGJ4o0ZERERERBQxvFEjIiIiIiKKGN6oERERERERRQxv1IiIiIiIiCKGN2pEREREREQRwxs1IiIiIiKiiOGNGhERERERUcTwRo2IiIiIiChieKNGREREREQUMbxRIyIiIiIiihjeqBEREREREUUMb9SIiIiIiIgihjdqREREREREEcMbNSIiIiIioojhjRoREREREVHE8EaNiIiIiIgoYnijRkREREREFDG8USMiIiIiIooY3qgRERERERFFzLxu1JRSb1dKHVBKHVZKfbxRG0WNx1jFB2MVH4xVfDBW8cA4xQdjFR+MVXwprfXc3qiUD+AggLcAOA3gOQAf0Fq/3rjNo0ZgrOKDsYoPxio+GKt4YJzig7GKD8Yq3hLzeO+dAA5rrY8CgFLqCwAeAFA18CmV1hm0zGOVNJssJpHXOeX8mbGKIMYqPhoRq5TXpJv8toXd0KvcdDCOfDjtxgm40lglmnVTsmPhNpQwXRhFvjg17/7Pb23RiRVdC7ehhOLFYQQTk7xWxQC/V8RHlVhdZj43amsBnLLmTwO4y32RUuphAA8DQAbNuEu9aR6rpNns1k/O9GfGKoIYq/iYa6xEnLxW3NPziwu1iQTgmcEvV2u6slgl2nHPpg8twBbSJc8c/9xMf77i/s/v7sTqP/rIAmwhXXLuz/7rTH/mtSqC+L0iPqrE6jLzqVGb6S7wsjxKrfUjWutdWutdSaTnsTqaB8YqPhir+Jg1VnacUl7TIm0WzeDKYpVoXqTNIscV939+K//Xf4nwWhUfjFWMzedG7TSA9db8OgBn57c5tEAYq/hgrOKDsYoPxioeGKf4YKzig7GKsfncqD0HYLtSarNSKgXg/QCeaMxmUYMxVvHBWMUHYxUfjFU8ME7xwVjFB2MVY3OuUdNaF5VSvwPg2wB8AI9qrfc2bMuoYRir+GCs4oOxig/GKh4Yp/hgrOKDsYq3+QwmAq31NwB8o0HbQguIsYoPxio+GKv4YKzigXGKD8YqPhir+JrXA6+JiIiIiIio8XijRkREREREFDG8USMiIiIiIooY3qgRERERERFFDG/UiIiIiIiIIoY3akRERERERBHDGzUiIiIiIqKI4Y0aERERERFRxPBGjYiIiIiIKGISS70BVD+VqBEuVb7nLqjF2RiaM3/lSgCAGuLptxRUMiXmdSFv2m6/Xrbt2bso27TsBIGZ1lq2eb417fRXuVz1RY6MVm3z2tpKE2FY7xbSJXYMQl39dS7f+n/eQO73sL3JLH4qL9pQDEBzpKz4uJf6sMa137ffJ2PsN5l4ZJpkrKZPlM8rze8VUeO3t4v5YGxsibZkebO/d+vA6bvca5vl0vc8AAguXBBtufvvKL39qWfq2gb+okZERERERBQxvFEjIiIiIiKKGN6oERERERERRQyLZK6EknnaXmuraUrLuhc7Zz8YGZFtNfJaa/E6O6z1pZ3G0j23OseQXinvpmsq0+Er+xuzzBusZb4ml3n84e0AgNxnnRjSZQpv3SXmk995ft7LtGvSXCfe3SHmN+yZ9+rix87DV+b/8tw8+3rZufoAoKzaJu30haqlxcy49WY1atTC8fHy8q6yGrUq9WVhs+xbsqubK9OZC9NyEdMFa67G/nPr1+zroVNrOHiTuTZ275fru0Sfvsr+n1jNfN1XTbLu5e6txyrToVOItuepnZXpoFnGSln16WHGiaO1GJXzRVNHr6ltas/IGtHUR0s1uhf15IzbfrXzu7oq05f6oEt0sTi3hdo1vE5/lti8sTKd29gtt+X7L8xtfcuUl8mI+TCbrfraI39+d2V6x/99VLQF5weqr8TuA91rWZt1LXOunZO/XbqWhQfqq9e9ynpKIiIiIiKi6OONGhERERERUcQwT+4K+JeGgC7TW9ZVpqdXt4i2xIRJJ0keSoq2en9KddcXbFljppvlMhOjpZQFPSjTGq5Wib7VYr7Yf67qa9W0SYUbf//doq3tCz+pvpJaP3ufv1j1bbve9RoA4MI/z5wSdLUrvPn2ynQjUh1nM/3AnZXpDZ94esHXF3m+6UOUmv+w3G7KpN+7qupri/3nzUxY/zDul1KQ1Ogy7//cxxlUaZvY2iqaLtxi/k82MSmH9W4/btKrul6S/ZbKmr5RJ52vC1Zqam6NXKZvZVMmT8tlXlqOKlxlw/RbQ9zbaYqr1g+Ll32478nK9Ef/5MOibcvnzHDe7rXqvOnGoNzh9JtMGt6u62Vq1/tWPVeZ/v8+9L85G30CZCTWrhHzp963qTK95r892/D1+T09Yv70z5v1r/uijOMcEy2XLa9nhZgPT5+pTCfWrxNtTf2mfxz+nPze3f6OGt/Xre99XnOzaCoePV6ZHvjwvaKt7W9L0VJ1fl/nL2pEREREREQRwxs1IiIiIiKiiOGNGhERERERUcSwRm0WKmkNu98nayuGbzB5+aNb5T2vnzU1ZO3rtoi29IgZYtUryOFXtW9yy6daZf7q+Doz7xVkTVTHsVKbPsx7bwBAKjn7a8qCQybXu+3Q0RqvdNR4zIJKVM89vqujNPzyj/zqw8QvS/aww1b9kb9zm3hZLrm4x3DTV01twdR77xJtzY/vXtRtWRJB9Vqh4mD1Wss5r65Wje4c6elyvac7pP9yVzSxC1aYurRspzyH+n5sVbA45UupUVNQdvhBWRPTfNa8ODEt+7tCq2kb3yqPoXXfM/PFE6dm3HStl3n/5znXB2vW6zb7/BM7viZe9keH31uZ7rJq0lxu/fTTn3qpMh04w7ofL05Vpvt8+SihWx/7SGV609PV13dVqVJ/fu6dG8XL0vcNmpnv7xRteHHv3NZt1+bm5OMS2k9a51WNuvurlW/VpRWtmjTXhb9pEvNr3mlq06eOyO8AG3ab/fzDo/K7yrt3vFqZ/sbRraJt8ydM//biH/21aHvHOz5Q2t5cfdcrfqsnIiIiIiKKGN6oERERERERRQxTH2diD5G/yqSCTG7rEi8b3Wbuc/Nb5VDrybRJNenfmRZt/rDZ7V5BhsBOlggzMnUibDM/pSbPy9S+9pOXth1XLX+H+em5ePBIQ5ZZeOuuyrQ7VHzxTWYY+Qu3yBj3/Xn1Yd4fbD8EAHjUzzZiE+OjynDr5+5bKeZX/e2eyvTUe+4UbU3nrH32k1cat21l7S+dF/PLdsjj0OpbfCdNdzqGx2Wy3B/mlmEHWGtIfivF+/wdJvWxaVCm1KS/+Rzq0XybHEb6pf9oUnaOFSZE2ws5M1T4f/jRL4m21tfNkPNX1SD8qno6vD08/52bjlemdyZlenH6rccxF29bc8uc3rcJTHeE+xgSK91R3XFjZTrzXnl9OL/XlMN0tsh+sxG/ghRv2Czmw2X+9FITkvoAACAASURBVJG5EOVJXR1m2knbP/XHpm/L/Is8T8ffb1Im3ZTiH99g3td9VParz07fUZlu6ZIRH7rFrOPnfuM3RVvaK6Uiu0/RqIa/qBEREREREUXMrDdqSqlHlVIDSqnXrL91K6W+q5Q6VP63q9YyaHEcfPnLmBzrB2MVfR/+90N4bW+BsYqBvfp5TGCEsYqB6XACvF7FwzQmGasYYP8XH4zV8lTPL2qfA/B2528fB/Ck1no7gCfL87TEetfdjkzLCvfPjFUE/fIvtWDL5ssyjxmrCFqDjWhCq/tnxiqCkioN8HoVC0mkAMYq8tj/xQdjtTzNWqOmtf6RUmqT8+cHALyxPP0YgB8A+FgDt2tJ+W1tlen8ZpODPLxD1oVlV5kKlkxGVrOs7hyrTG/aMCTaUp55bT6UIcgFZn6iKOueiqG5r95XXCvaCi0+mlu2A3svS2Je1rFSabOPgjrr0tzh4IMDh6u+Nn1+sjLtDqSa/OHLlemuptvqWjcAtHoZvO3eDFKJUbdpWcfKduo/mbzv9X8q6/mCN5hai9SIPK9GdrRUpjtxk2jzsua1k5vkxarpq6ZGx18la+KG3mwen9F6Vg4Z7h89ji61EuryZPKliVVYqwbGOUKVV1ebcuozimNjiJtwfBwA4GsfAIac5micV3atWa041qpJK8jzYfwmc31KTJlltv+TrLOoV+9fynPxbX9ZX93TDsj63Xrq0hJIAlGJlVtbZp/v7jD7odXmvs8OXSDjuG1Hf2X6Mxu/UZl+74MfEa9LYA+iJFL930JxHrVjD/O+77etGqh++WiDtU9b73P60cGH76lMr/7aMdFmD62fWLtGtp05axb59MuiraPT1GDNdI5FPlZVHnsAQD6+x71e1XgUkr+urzJdtB6vNPFLd4vXdR00y2z9UvX+Ud1+vZi3v5/UilWbFRsACCfMd0d1jfzOqfpLj6hR+QLqMdcatV6tdT8AlP9dNcvraekwVvHBWMUHYxUfjFV8MFbxwDjFB2MVcws+6qNS6mEADwNABs0LvTqaB8YqPhireBBx8i5LSaEIEbFKtC/x1lAtdqz87s4l3hqqhdeq+GCsommuN2rnlVJ9Wut+pVQfgIFqL9RaPwLgEQBoV9018j2WjtcsD8hw6/rK9MgO8wTz6VXO5qeqP1U84Zm28ULaaTMplB1JOay/nRbpGslbT1N31p1vKYVSX/4b6bKKlUvncjP+XSXkoe1t3VSZrpXq6PfK/2wK9x6qvu6iiZWqlcrk+MJ4qZZ3JDztNsUvVjWGNXaNfNCkgtjpBGrXDXKR1r4cuCUj2la+bIZADpqctOFuc55pZ7sm32uG+W/5ym7R1tJvzvcwKU+gGqMh1xUrO04dSbcDqcI9lqxUOOXXSoKQbTqw+ggl2+zlFM/JIaeXoSuPVVPfwp5Tbnqjex7ZiibJaXqrrEEevNEcoVv+9rh5y7w2bkldcazSG9fVF6ta6Y1uulhY5XUAVNHMa1kNIdra1soU4m9d89XK9LZv/W5leseTMm00JuJ3rapBDPEO4Pi/22lmtEmHX/09ec3p2GNS387ev0609ew13+2K5y+INjuFLlzh/KeQlU532XZ2Wf8pMXJZ6UQ1ixurWumNNb4fVHt8j7tMv1uOhVI8dmLGtxQelMPzd72z+nc5cQ9w8KRos7e46MTGs8qkghrxyK+R/0mbfG1/adm6voeXzDX18QkAD5anHwTw1RqvpaXFWMUHYxUfjFV8MFbxwVjFA+MUH4xVzNUzPP8/AXgGwE6l1Gml1EMAPgngLUqpQwDeUp6nJXbs+3+P7OgAwFhF3l999Aj6j2YBxiryXtW7MYVxgLGKvGlMALxexQJjFQ/s/+KDsVqe6hn18QNVmt7U4G2hedr8cx9E7qufxuTgKSchg7GKmt/59Fb88XuzOPrqJGMVcTequ7BbT2BMDzFWEdeEVozpob4ZmhiriGGs4oH9X3wwVsvTgg8mElVeixnmG1ZNGgAM3Wxyhsc3mtzYYrNTk1Y0P0iGoTPEtTWU/nBO1sClfVNBUKsmLR/KChm77q21U9a2ZXtK9TnhVRbRxOreyrRda2PXpAHA1BaT15w+UH15bm2bXYdWS65Txipd5XUA8F8+U/q/j/6BT9W17EirkXM+9Bv3iPnuR5+pTCf6Vlemw6I8r5L9ZsRufXeLbLswVZmeXt8m2vystRx31OwaNYRBkzlXE1P15Yw3mhgi35d9iV1rpovOcL52rZMnj0FRz+YOwW8ND02LxKo1q1mr4Zja3lOZHrhdfv/qfdYcD279BDncOjQ7BL4bjxo1g/aI7AX5uq5Nw5Xpp2/7vGh7675fqEzveCiWdWnLiv1on/MP3S7acj2mz+183tSvtf+jfHxF8c4bzXucx0h7P3yx6rrDlabWzK2nrqWw2rxPVanNWnJ19m2XjQ0xbX2ndR+XYD1SJzhftcQOh//h1sr0tndW3/+u4m07zHY99VLd77v0WJjZTK10ahvrXkPJXGvUiIiIiIiIaIHwRo2IiIiIiChilneinD2kZ4ccAjXcaoZSHb5Oto1vMO/Ld1vpKu5tbcL8PJ5IyJQpbaVZTBWdoeKtYYKLYfUBwEMnVcOeX90uf3I91lv6DKGbmbzMiJRVALrKz+z6lEwDKtxkhrV20xL97Vsq0/aT7QHA7zL5DMHwMKrx826uXfUhalf/RSl94oSexHIz/r67K9N2qqOr/z2bK9MrPyNf523eWJnODMl95w2aGGSS8twJM+Y8KzbLKOuENcS9MxSzPRR3MSOXWWN4/rm5lILpDEVcM/3FGlpfZWok1TrH2VUw7P7CcofQv6TeR3G4j1Ko8WgFbR3LUxtkSu/gjea47jgi04TT33yuvm1ZzhTM0PtuyOxQuamPtkC2eVnrnCs61+GVZrj2+69/TbR9vPfJyvQ13/mIaNvx63uqr58WnL9ypZgfetvWynTeyUXLDJj4r/mGeYyOWwgxtc6k77X0V+8X3HXr0JzHtQ5Zl7bS4utPmFxYtcpFarWFU1Ooyr0eBuZ6qW6/XjSNbTP95ba/qrFMe/HOMlLHTDqlG2P7M+jAKY2oM81T+/OLFn9RIyIiIiIiihjeqBEREREREUVM/FIfnZ9EvaYmM90uU0Z0l0lpzK510hvXm/SnyXVymblV5udNnbJSTZyRoVKtJgWiJZMXbc1JM5/0ZQJVU8KM1JUNZAhC7VVtK1hpkm3JnGgLuss/2Cbm9jD5KPNuua4yrU7LdK5qIwC5P6u3HTfzl43vFTijedptLSa1wXd+9g7GxirTzf0yHv6KbvO6wYtVlx9V9ohYOper8Uqp7Ys/qUwntmwSbQM/a0biXv09E0e1fp14nR4x+zU5JUfv1u2tVdedPGaPZLhatOW7zPnu93SLtuSESXYY2ZYRbU3lVFs11aD/0yqn0yl/bjnKwYVBMV/vqKTUQDVSGMXIjo6w2RyDuRXyOJtYa46H0e3yfT0vm/6p7Qs/ATk0TFqj05WrvD3yqdPzW03iOg+gdfNoZfralfKa86HeH1emj+RXibZf/+DvVqZ3/JCpjgvC/Q7Yaq4J4cSEbLOuY8FmeU0IrXS0hBxEG2u/bq4lxeMnK9P2dR0A0sPmu1xmoMb3iJTs74NX9pt1r10jt6vqUoDkBevzbdss2oLDx2q8cw6UqpQJ6EK+6stqXYNqtbmjPga3mpEXT71Ztm35uzOV6bHt8nt+54vmmhgcOFyZdtNNgwsXKtOFTtn/6j2mVMYeSRwAdMHEOLg4hLlYsfuCmL/SsaX5ixoREREREVHE8EaNiIiIiIgoYnijRkREREREFDGLX6NWzi+2c4cBQLWZvNPLhqBOWsNjNsm2QpepUcuulG25Dqveq9upQ+s2+eqFTmeobLvOyzPTfpPMt02nrfzkRPVc3LQv2zyrSsquSQOAvFWHFjht9rD+zQmnJq6jlGTt/f/t3WuMXGd5B/D/M/fZ3Vnv7MXr9Xptx7EdJ5ArMTE3cYkKFQXRiiJIJQQVl6rtBxDQQtNSqR+okCqhCFSKkAKElnJRE5VAkUJIIZAa4lxJ4jiOL/Fl443Xl73vzu7OzNsPM5n3fV57xrPe45lz7P/vy54z75lzzpznzJlz9jzPe+KNMpyjYfqOXWq8+/srr8vw859jp2zNgR+p0stjteF4j+6n160JalSrFdvzvH6fk9Od2DCs2oqjL+NSEf975dRHNuwO17OSujRX+S0314aXi3pfHPjZITvi1PuVN+iccOm2j2BITevvZrHP1iMkDoyqtoWbNtddr84XbI646dL7RrHTHl/W/vyoajvwxRsAAItffQirZYpFlMar69Fkt77UJiIw6UpdSalD15cYp0atnNLH6FLaji/065/XuSHnkS3r9XfDpO1+Pvyg/q3qvPfRlaz5FW1ki64F6c3YY17GqQ0HgLVp+4ibbVld6zySsnXFn/vvD6u2ib+pX6cSw1PNr+wV7pzf2smpOlN6vGOnW/8V783rafN2GUu9ui4puWDn0/ufup7QuPN0a8HS+tEuiWnnd9I79YpvGrHzm/Zq55zzk/JK6p7O2MfTSFdngwkDYEzd2jT3MUnLO69RbYt5u+0W+uvfC5q6Wo93nrDHvS3fOa6n3Wnr+PK/Oabaii879WVOvZ/7OqC72c+8MKba1DmhVwPZqC4tsXmjnceRY3WnEy/+J/72jQCA5XuaO7flHTUiIiIiIqKQ4YUaERERERFRyLQ09VGSCSQGKmlOpfV9qm3J6S6z2KG7sy9m7fXkclbfllzqtuOLuudULK2x96LLHV6HmAnnPrX/0HA33dFJSclkdOpEJmlvmMa8rn/drvSzXspF2VlgzOssvmzqP8E8Lnad/XTKjmoapr8e7RS/Zqt+Ydymk5hNutt1HLK3uleS6hjPO6kOTjqd23U+AJSd29IJrzv44nEnhW7rZtVm9u6vu2w3pbE8pZfnpgyUhrwdM+jUx84szE03VoZ3/16vR7BLAqC7ry1u1N1TJ1+w21K8bsyL4zYtKXa9TZdY6s2q6eILdt9OTeoUzIVBe5zoKOjulufW27SUvid0uoKbMi0Lep7Zl2w6iR+r9Jlqd/pB9YLPlMdIKGXimNlaScefW6t/jxbW2Rgu9nu/K1k7LnG9nyWP231w6w91f+DifW+peQO5GfzVmyupyS8t6C65d3/3ltrw4Nd2q7YJZ3g/vJQ5Z/xq/DaQ9SQAHRnIjtcAAOQV/dgambPfCb/8pTxj01QTQ95x/2abYhgr6uNrYtaee2UfPajaUhN2DzBeupubTillO0/jPX5D9tpU+dhAv2pzH+NRmpjQTdtt3l/pxUOoR53fAEBvj33fGp3CjyN1Z7Nqsx+4TY3PjNhjYv5F/eM4P2A/d3JexyN72m6/wV/odOPySac8YVjHeM3v7HmFn9IY37bFzuO4bnO5jwowS8v1pyusoOxjubkTg+LYK2p8+KHK9c/x6eY66ucdNSIiIiIiopDhhRoREREREVHI8EKNiIiIiIgoZFpao1bqTGN61yYAwOx6nfdfSp9/GADKKXdY57yW0rZuq9Th9Y/qdrPvl3454xL3unt1uriPxexwMq7zSd0u+f2aMXfanpTuFj3p1Jr1JHXbrPPhl8o6PLlEoTY8ktE1OMdm89X1Db4GJt7drV8YsfVl5f06v1qytt5ocVh3v5s8YuvQzDNe7VfZbi+/a31Zb2uiSgdf0u9zulxV3dV6NWpNKzaXMwzobvbP2UYOWdD50GGpUnK78jdernXx7TfVhssJ/eUxM/bzJE7rbmfd2oJyvku1xdbZulS3JsDv4jzzvJPP7dUqyIDNXY+d0F1x9xWcroS9z2NOnLTz6M6ptrmdm2rDXc/qXPLUVGVaaX63oMtAMQucvr7yG9Uxpr+xW75vH9lR2negpetF50pKCeuTkwCAX7xWf7cHsft8b6E2KXbF8cpbKucFg1/dq9riA059Ya8+d0gUepwJ9bljcsapaX5Z14LBqUUyCX0+lbjKHveNV09tRm337cZ5PFSxX/+myX57Tiazc3oeC7oO9WKcU9vmfIbY+Gk97aqX5hGBJCsn3yfeqc+tc/tsDDoP6XXM/LS5Y2LD6q4Dh5uaBwCUVjBt7T2n9LmDWzOIs5N62rfZOtfErH5cQenpF2rD7qOJAKh69MSTL6qm8ddVzheLR/S+XA/vqBEREREREYUML9SIiIiIiIhCprWpjxlgclvlVt/stboLzFiD7vLdnlPLJS8Na8m51vTaVI6Zl94Yc7rdT6b0TdjOrF233g57+3owO6Omu7rT3j7NJ/Rt70Z64zZd7Ia07qp9zthuYefKXhe1znV1DPpW9G9TlS5K3S78g+J3dY+99dMKjduN7v8+oduaXF55XqeDwk93dNfNu4XdDNUdv2fsdt3d/Nr9B+tMqZlS/cSDUs5L32tqjs0rdsZw6pZK2ufQxDa9bCc169U0hleZxfrd0CYesrGLZTKqLTZkU1ELW3SXxIk5m2qy3JVUbfGC8517xqYrpOMb1XTFk7bb3qV33araMj/ZUxv2t/j4++3jIAbv9vY957P6+1fmJzYt0k/HSBQqj2AI0VMvqAWScwaDj1X2hsxP96g2ZsGGy5nnUvjuNSMXnpDarm9gCh/9i58BAB64e1i1qd/yFfyuxw4fqQ2fk07nnDz6JRVl57wm1qNTLcsFm9IYc9Lmk1637o3S99x5+M7cZs8zehp0z++7mPOdi2ZM7TFD2z/xmGpyH3E0+n79+516gz0nSCx4ZUXOaPcBfT4dm3ceadQgpTzuxao0OWXnf/NrasNzm3Wa6nKH3Rd6/2efatv3OftYnmv/Xp/fxn/1ZG14+kO7VFtqrU13NDF9ZrfQZ9Ma18g1qm22ergq61OyunhHjYiIiIiIKGR4oUZERERERBQyvFAjIiIiIiIKmZbWqEkZiFfTdmNTun7FON3Km7Sus0rkbF5wZ07X1aScLvKN0Tmi4iTExr1u692u9bvTOpe4O2nHy05F0di87oL9pWmb11pYrr8ph7t1zut71j5TG74+5dXxiL12nihNqbZXnOKIkyWdfzuzXKkjKpugK6B03i8AnL3Bbof8fl2blxg9Uxt2u69vhZkP2vzhmY36fxBv/6DNsX7433fq9223G/bWG/VjA6a+bofF6963vNNul5lhXcfVdcjWIS7ndIz12OolepbQ/yeVRx9MnNV5/z1pu7Tpbbrr6jW/d7r39bondnPE/Vz78ktH7bKdYV/K216maL9zbp1P7DldBxjfbHPeJ9fqeRy7y8a4+6Be56futMHaufCXqm3gEad7fu8RDKU+u11KnTo6UqoeNwKoUStuTeP0XdsBAEM5nZ+/94DN+R96SHfZm/vB71a/8IuUWGfrEfd9cbNq+8a7vlUbfmtW1/0dXrbH7Pfc9xnVtvUzTX6emN4OMffRDwX9O5AYrHTtLaeC+UmTqflzatOIaHUEQLx6MJ167/WqbanTnrss9urzmJ5D9pjddUifT5V/r+uNFKeL9PJc/X4ERPTy4v19TqP9nfG78XfPOU6+Qc+z/wk7z7P6o+I7f/qvteF/GP+kasvusTVr6pFDnka19kEwuQ4Ub3sdAF2z7i973V3Nr0c8n68Nl7ZtUG2TN9ptPvPeAdWWnrBxnB/UsVpzyHnc1V7btX7Xz59T07nx9+uMt3/ysbptrpX8FmcatF21p/JbdnJxvsFU1gXvqInIiIj8UkT2icheEflU9fVeEXlQRA5U/+YvNC+6tArjM5g/PgHGKvwKZh7zmGGsImBxbhKF6VOMVcgtlGYwV5xknCKAx7/oYKyig7G6PDWT+lgE8FljzLUAdgH4axG5DsAXADxkjNkG4KHqOLWRxAXpgS4wVuEnEKSRZawiQCSGVMcaxirkBDFk4p2MUwTw+BcdjFV0MFaXpwvmiRhjxgCMVYdnRGQfgGEA7wPwtupk9wD4FYDPN5pXcqaEoV9Xbk12ndBpWPP99ppxMa9TXhadbi5nu7z+LJNOmqSfnuSmAfptTnf9ktCpluKkSZYX7bITp3VaVGrKzj+uH1gOce6fHujWXZh/eYtNT/vF1iOqLeaka04v6Zuns0s29WdqQbfNHax0WVosV26VrzZWEJvqZ57aq5ryTzV4n5O25qZNAcDEW6+qDS/06/8RzG2on1u23Ot0gpvU03U/Y/eH1LRtW/+wTi37dcGmO6772m7Vts4Zfu6/XqvaRmBTORdvv0m1nb7BLjtzWq9Xqs/Gp5TWnzUJIC1ZxE11+64yVouLSRw8UtnW6z6su+/tW2PXf2JS74ejS3b95w/pLm8z4zb1IHtKf7aOcbtzL+X0Z4s5+30hr1MUJq5zvnPOLFPDOiVlU9/Z2vCjO/5Ntb17/7trw0O7dArM3VM2kiN/rtMpUx+3K5aK6U6Vs3H7OIBHjm9RbQuvpADkUH68sq1WE6vYmQSy91T+kflKvk+1ZYacFOvbdRfQ2Y/b79QtvcdV28a03VYdMZ0OmInZ+WREzzMpxbptJ4r2n60/PWX3GbNX7wef+o9P1IbjC6pJfRflLbrxswft8eSdHXrZU2U77ajX9/URZ70OL+pjy1d+XUnRWf7nn1fWdbXHP7qkgjz+oSuL8q2VbrJjDzf6caKLEWSsxs+uwdd/9EcAgPWn9PEqOeue9+lzwKnNdnxim74ZlHm9zTk03q2HYsYeV4u6d349XZdXGjNu37fhflvCUfQeFZRzxvP/p8sO3NKP2b97o2p7U8au6Mmd+py2J2+7cq+l3lelpp3fsSHvptieZwONlczMn5PyuFqliQlnfSdUW87JNNdXB1pfg7bgH051adQeF2Saq6lYUWciIrIZwM0AHgUwWL2Ie/Vibm39d1KrMVbRwVhFB2MVDYxTdDBW0cFYRQdjdflo+kJNRLoA3Avg08aY+k88Pvd9nxSRx0Xk8aVic4VztDpBxGrZ1H8YMgUniFiVZpt/2DpdvIuJlfpOLc5e+A20aoEc/8DjXysEcl6xzONfKwTyWzXPWLUCj4GXl6Yu1EQkiUrQv2eMua/68kkRGaq2DwEYP997jTHfNMbcaoy5NZVocO+ZAmEqt1JXHaukpM83CQXIIJhYxRv0DEXBuNjvlfpOpbv8ZgpYYMc/8Ph3qQV1/Eslefy71AL7repgrC61oGLFY2B4XLBGTUQEwN0A9hljvuI03Q/gIwC+XP374wvNyywUUH76eQBA59O6LZexNT2xfp2FWtxgxwv9ujarkLd1YyVvvyo7JWUmVr/beinrPNG484+E9JTNeu08rv8jHj9qu/wunTzvfl+Zrq9XjRevGakNv7Rju2pzc6zj3j804st2PXNFvc5900UYY3B8/CwQQKxgbHfqktQ51KXbrqsNJ1/QNTOmM2unO3JMteV+aLdXoxzkS2GwyZ62N/bqvGl3K6ceeFy1rX+guXmerzt+YwwKmAcCiFX66Dy2f+zx87addmIXe7+uUTMjdmfLvfmsasu91u58/Vm93w9k7HixrGsJ3MdZ+A5M2rq3Ewft8NrvZtV05ic2t/9d0HWBwInakN8pcGmf/Tw7cidV2wOjO2rDcwv6QLE464x7KePJ3gKMMShNrP57FZ9ZRPdvKjUNa2L6f2Sm217EFfv1BV1hwNbePbxG10G4x7xyUm97Va/hh8X5nOL1R5yct43ZM7Zxh3f8i52yXSG7j17w9T89pMbvvO7jteEveCXHTlmdGgaAmFOvIV4xwtVjSzDG4MTYBBDAd0oyacQ3b60Mz+kau1Y/diRoiaF1atzd90r7D/qTXxJBHv8WewUH76geZf9MP3rF3e8HduvTnfx3frvyFW+xY/+oa5sK653a0j69X3Y8aOPY/83gPluQsUqNzWHjP1VrxL3Hb6S32Rp2iD5nyo3aL7yJ64NZ5/P2WG8W9KNk4IyXZnTderP1QfWPbN50DY4Lvfv1QfbGPXfUhq/69hE9n5dP4GIFGSuqKN7+utpwUDV78esq5/1y6JGmpm/moTNvAvBhAM+KyKuXV3eiEvAficjHABwD8IGVriwFa3ryKIrLCwDwDsYq3KZwBkUsAYxV6BX2H0N5lt+rsJuaOopikXGKAh7/ooOxig7G6vLUTK+Pj+Dc/8e+6vZgV4dWY01+M7q6hzEzNXrDeZoZqxDpkX7kTB7T5ixjFXLZHZuQ3rIehUMvM1Yh1tOzGbncMKanefwLOx7/ooOxig7G6vLUzB21ligX7C3qsn8L2Rn3n/bd6Onfl1qjJ5ir6c7otDLZbcd7d/tTr46Y4DtsMcv62QOxR2ze6jnb4PQZ/5VIMe+IdlqTz41d7ge/U20q/fRf6s/DL/++2HLwTtjUk204fJFzqe/ea+t3ZNWPF53hlRs3CxeeaAVM2cvdm7T13olJXfvd5WSjhanKrbnEISBxeEyNrw0+9DWysHThiVbITecGgPg1WwNfRis1ilsrP5scaS7tZ0WM9z9l58Oe2qV/rU7ten3wyw9c/cS7whm9XxZusZ/v7DeC/WyLX7oEaaJlHQ837Tazv/nZNJua2E4d9z3qjdvhKKz/lSzoRxQAQOn5yvmIabLTvhV1z09ERERERESXHi/UiIiIiIiIQoYXakRERERERCHDCzUiIiIiIqKQ4YUaERERERFRyPBCjYiIiIiIKGR4oUZERERERBQyvFAjIiIiIiIKGV6oERERERERhQwv1IiIiIiIiEKGF2pEREREREQhwws1IiIiIiKikOGFGhERERERUciIMaZ1CxM5BeAogH4Ap1u24PALcntsMsYMrHYm1VjNgXHyMVbREapY8fjXUFDbJMjvFGN1rlB9pwDGqgHGKjrCGiueV5yr5bFq6YVabaEijxtjbm35gkMqrNsjrOvVTmHdJmFdr3YK6zYJ63q1U1i3SVjXq13CvD3CvG7tEObtEeZ1a4ewbo+wrlc7tWObMPWRiIiIiIgoZHihRkREREREFDLtulD7oA+hugAAAupJREFUZpuWG1Zh3R5hXa92Cus2Cet6tVNYt0lY16udwrpNwrpe7RLm7RHmdWuHMG+PMK9bO4R1e4R1vdqp5dukLTVqREREREREVB9TH4mIiIiIiEKmpRdqIvKHIrJfRA6KyBdauewwEJEREfmliOwTkb0i8qnq670i8qCIHKj+zYdgXRkrxioSGKvoiEqsrvQ4AYxVlDBW0cFYRUOY4tSy1EcRiQN4EcAfABgF8BiAO4wxz7dkBUJARIYADBljnhSRHIAnAPwxgI8COGuM+XL1C5E3xny+jevJWDFWkcFYRUcUYsU4VTBW0cFYRQdjFQ1hilMr76i9HsBBY8xhY8wSgB8AeF8Ll992xpgxY8yT1eEZAPsADKOyHe6pTnYPKjtDOzFWjFVkMFbREZFYXfFxAhirKGGsooOxioYwxamVF2rDAI4746PV165IIrIZwM0AHgUwaIwZAyo7B4C17VszAIyVwlhFB2MVHSGOFePkYayig7GKDsYqGtodp1ZeqMl5Xrsiu5wUkS4A9wL4tDFmut3rcx6MVRVjFR2MVXSEPFaMk4Oxig7GKjoYq2gIQ5xaeaE2CmDEGd8A4EQLlx8KIpJEJejfM8bcV335ZDUf9tW82PF2rV8VYwXGKkoYq+iIQKwYpyrGKjoYq+hgrKIhLHFq5YXaYwC2ichVIpIC8CEA97dw+W0nIgLgbgD7jDFfcZruB/CR6vBHAPy41evmYawYq8hgrKIjIrG64uMEMFZRwlhFB2MVDWGKU0sfeC0i7wZwF4A4gG8ZY77UsoWHgIi8GcBvADwLoFx9+U5U8l5/BGAjgGMAPmCMOduWlaxirBirqGCsoiMqsbrS4wQwVlHCWEUHYxUNYYpTSy/UiIiIiIiI6MJa+sBrIiIiIiIiujBeqBEREREREYUML9SIiIiIiIhChhdqREREREREIcMLNSIiIiIiopDhhRoREREREVHI8EKNiIiIiIgoZHihRkREREREFDL/DwjcaPD/gJNHAAAAAElFTkSuQmCC\n",
"text/plain": [
"<Figure size 1080x720 with 32 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"plot_layer_output(0)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Layer 1 is a max pooling layer, so visualizing its output results in what appear to be smaller versions of the 0-th layer's output images:"
]
},
{
"cell_type": "code",
"execution_count": 18,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 1080x720 with 32 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"plot_layer_output(1)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"The output of layer 2 (the second conv2d layer) is as follows:"
]
},
{
"cell_type": "code",
"execution_count": 19,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 1080x720 with 32 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"plot_layer_output(2)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"We can also get the output of layer 3 (another max pooling):"
]
},
{
"cell_type": "code",
"execution_count": 20,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 1080x720 with 32 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"plot_layer_output(3)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"What is apparent: the filters are extracting out various edges corresponding to, for instance, the top of the shoe, or the bottom of the shoe, etc."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Visualizing What Activates the Boot Neuron\n",
"\n",
"Next, I show that we can visualize what drives the activation of the boot neuron. The ankle boot label corresponds to index 9 of the final convnet model's output:"
]
},
{
"cell_type": "code",
"execution_count": 21,
"metadata": {},
"outputs": [],
"source": [
"boot_output = model.output[:, 9]"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"The next cell is a bit more involved. What we are shooting for is to get a heatmap (stored in the variable `heatmap` below) where each pixel in the heatmap says how much that pixel drives the activation of the boot output neuron. In terms of computing how much a pixel matters, we compute a bunch of partial derivatives that involve that pixel and aggregate these partial derivatives in a particular way."
]
},
{
"cell_type": "code",
"execution_count": 22,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Shape of `gradients`: (?, 11, 11, 32)\n",
"Shape of `pooled_gradients`: (32,)\n",
"Shape of `conv_layer_output_values`: (11, 11, 32)\n"
]
}
],
"source": [
"from keras import backend as K\n",
"\n",
"last_conv_layer = model.get_layer('conv2d_2')\n",
"gradients = K.gradients(boot_output, last_conv_layer.output)[0] # 0: index into single output neuron\n",
"print('Shape of `gradients`:', gradients.shape)\n",
"\n",
"pooled_gradients = K.mean(gradients, axis=(0, 1, 2))\n",
"print('Shape of `pooled_gradients`:', pooled_gradients.shape)\n",
"\n",
"iterate = K.function([model.input],\n",
" [pooled_gradients, last_conv_layer.output[0]]) # 0: index into single test image\n",
"pooled_gradient_values, conv_layer_output_values = iterate([test_image_tensor])\n",
"print('Shape of `conv_layer_output_values`:', conv_layer_output_values.shape)\n",
"for i in range(len(pooled_gradient_values)):\n",
" # multiply i-th channel by that channel's average gradient\n",
" conv_layer_output_values[:, :, i] *= pooled_gradient_values[i]\n",
"\n",
"# compute heatmap by averaging across the channels\n",
"heatmap = np.mean(conv_layer_output_values, axis=-1)\n",
"heatmap = np.maximum(heatmap, 0)\n",
"heatmap /= heatmap.max()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"When we visualize the heatmap, it's going to look like a low-resolution mess. We shall resize it to be the same size as the original input images (28 by 28)."
]
},
{
"cell_type": "code",
"execution_count": 23,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"<matplotlib.image.AxesImage at 0x183101ca58>"
]
},
"execution_count": 23,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"plt.imshow(heatmap, cmap='jet')"
]
},
{
"cell_type": "code",
"execution_count": 24,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"<matplotlib.colorbar.Colorbar at 0x1830eeb0b8>"
]
},
"execution_count": 24,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 288x288 with 2 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"import cv2\n",
"heatmap_resized = cv2.resize(heatmap, (28, 28))\n",
"plt.matshow(heatmap_resized, cmap='jet')\n",
"plt.colorbar()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Note that where the activation is highest is where the foot goes into the shoe, as well as the bottom of the shoe, especially the heel part."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"We can superimpose the heatmap over the original test image:"
]
},
{
"cell_type": "code",
"execution_count": 25,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"<matplotlib.image.AxesImage at 0x1831944160>"
]
},
"execution_count": 25,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"heatmap_jet = np.array(cv2.applyColorMap(((1 - heatmap_resized) * 255).astype(np.uint8), cv2.COLORMAP_JET),\n",
" dtype=np.float) / 255\n",
"superimposed_image = (heatmap_jet * 1.0 + (1 - test_image[:, :, np.newaxis]))\n",
"for idx in range(3):\n",
" superimposed_image[:, :, idx] /= superimposed_image[:, :, idx].max()\n",
"plt.imshow(superimposed_image)"
]
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 3",
"language": "python",
"name": "python3"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.5.4"
}
},
"nbformat": 4,
"nbformat_minor": 2
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment