Commit 2c438255 authored by rhaase's avatar rhaase

added code and slides

parent 93f73563
{
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Phytonic loops"
]
},
{
"cell_type": "code",
"execution_count": 10,
"metadata": {},
"outputs": [],
"source": [
"input = [1, 3, 4, 7]"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Classical loop"
]
},
{
"cell_type": "code",
"execution_count": 11,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"[2, 6, 8, 14]\n"
]
}
],
"source": [
"output1 = []\n",
"\n",
"for value in input:\n",
" result = value * 2\n",
" output1 = output1 + [result]\n",
" \n",
"print(output1)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Pythonic loop"
]
},
{
"cell_type": "code",
"execution_count": 12,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"[2, 6, 8, 14]\n"
]
}
],
"source": [
"output2 = [value * 2 for value in input]\n",
"\n",
"print(output2)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Pythonic loops 2"
]
},
{
"cell_type": "code",
"execution_count": 15,
"metadata": {},
"outputs": [],
"source": [
"def process_image(filename):\n",
" print(filename)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Classical loop going through a folder processing all tif images"
]
},
{
"cell_type": "code",
"execution_count": 17,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"banana0002.tif\n",
"banana0003.tif\n",
"banana0004.tif\n",
"banana0005.tif\n",
"banana0006.tif\n",
"banana0007.tif\n",
"banana0008.tif\n",
"banana0009.tif\n",
"banana0010.tif\n",
"banana0011.tif\n",
"banana0012.tif\n",
"banana0013.tif\n",
"banana0014.tif\n",
"banana0015.tif\n",
"banana0016.tif\n",
"banana0017.tif\n",
"banana0018.tif\n",
"banana0019.tif\n",
"banana0020.tif\n",
"banana0021.tif\n",
"banana0022.tif\n",
"banana0023.tif\n",
"banana0024.tif\n",
"banana0025.tif\n",
"banana0026.tif\n"
]
}
],
"source": [
"import os\n",
"\n",
"# define the location of the folder to go through\n",
"directory = 'C:/structure/teaching/lecture_applied_bioimage_analysis_2020/03_Feature_extraction_and_ImageJ_Macro/example_images/banana/'\n",
"\n",
"# get a list of files in that folder\n",
"file_list = os.listdir(directory)\n",
"\n",
"# go through all files in the folder\n",
"for filename in file_list:\n",
" # if the filename is of a tif-image, print it out\n",
" if filename.endswith(\".tif\"):\n",
" process_image(filename)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Pythonic loop going through a folder processing all tif images"
]
},
{
"cell_type": "code",
"execution_count": 19,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"banana0002.tif\n",
"banana0003.tif\n",
"banana0004.tif\n",
"banana0005.tif\n",
"banana0006.tif\n",
"banana0007.tif\n",
"banana0008.tif\n",
"banana0009.tif\n",
"banana0010.tif\n",
"banana0011.tif\n",
"banana0012.tif\n",
"banana0013.tif\n",
"banana0014.tif\n",
"banana0015.tif\n",
"banana0016.tif\n",
"banana0017.tif\n",
"banana0018.tif\n",
"banana0019.tif\n",
"banana0020.tif\n",
"banana0021.tif\n",
"banana0022.tif\n",
"banana0023.tif\n",
"banana0024.tif\n",
"banana0025.tif\n",
"banana0026.tif\n"
]
},
{
"data": {
"text/plain": [
"[None,\n",
" None,\n",
" None,\n",
" None,\n",
" None,\n",
" None,\n",
" None,\n",
" None,\n",
" None,\n",
" None,\n",
" None,\n",
" None,\n",
" None,\n",
" None,\n",
" None,\n",
" None,\n",
" None,\n",
" None,\n",
" None,\n",
" None,\n",
" None,\n",
" None,\n",
" None,\n",
" None,\n",
" None]"
]
},
"execution_count": 19,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"import os\n",
"\n",
"# define the location of the folder to go through\n",
"directory = 'C:/structure/teaching/lecture_applied_bioimage_analysis_2020/03_Feature_extraction_and_ImageJ_Macro/example_images/banana/'\n",
"\n",
"[process_image(filename) \n",
" for filename in os.listdir(directory)\n",
" if filename.endswith(\".tif\")\n",
"]"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Method parameters documented"
]
},
{
"cell_type": "code",
"execution_count": 16,
"metadata": {},
"outputs": [],
"source": [
"from skimage.io import imread\n",
"from skimage import filters\n",
"from skimage import measure\n",
"\n",
"def analyse_image(filename, gaussian_blur_sigma, threshold=None):\n",
" \"\"\"\n",
" This function analyses an image by blurring it and applying a threshold.\n",
" \n",
" Parameters\n",
" ----------\n",
" filename\n",
" Image file to open and analyse\n",
" \n",
" gaussian_blur_sigma\n",
" Sigma of a Gaussian blur filter kernel to be \n",
" applied to the image before thresholding\n",
" \n",
" threshold\n",
" Optional, the grey-value threshold to \n",
" differentiate foreground and background\n",
"\n",
" Returns\n",
" -------\n",
" count\n",
" Number of objects in the image\n",
" \n",
" \"\"\"\n",
" \n",
" # load image\n",
" image = imread(filename); \n",
"\n",
" # Gaussian blur\n",
" gaussian_blurred_image = filters.gaussian(image, 5)\n",
"\n",
" # thresholding\n",
" if threshold is None:\n",
" threshold = filters.threshold_otsu(gaussian_blurred_image)\n",
" thresholded_image = gaussian_blurred_image >= threshold\n",
"\n",
" # run connected components analysis\n",
" label_image = measure.label(thresholded_image)\n",
" \n",
" # analyse objects\n",
" table = measure.regionprops_table(label_image)\n",
" \n",
" return len(table[\"label\"])"
]
},
{
"cell_type": "code",
"execution_count": 17,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"54\n"
]
}
],
"source": [
"print(analyse_image(\"blobs.tif\", 2))"
]
},
{
"cell_type": "code",
"execution_count": 15,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"54\n"
]
}
],
"source": [
"print(analyse_image(\"blobs.tif\", gaussian_blur_sigma=2))"
]
},
{
"cell_type": "code",
"execution_count": 18,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"\n",
" This function analyses an image by blurring it and applying a threshold.\n",
" \n",
" Parameters\n",
" ----------\n",
" filename\n",
" Image file to open and analyse\n",
" \n",
" gaussian_blur_sigma\n",
" Sigma of a Gaussian blur filter kernel to be \n",
" applied to the image before thresholding\n",
" \n",
" threshold\n",
" Optional, the grey-value threshold to \n",
" differentiate foreground and background\n",
"\n",
" Returns\n",
" -------\n",
" count\n",
" Number of objects in the image\n",
" \n",
" \n"
]
}
],
"source": [
"print(analyse_image.__doc__)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Information hiding, encapsulation\n",
"In classic functional programming, you hand over parameters and calculations are performed:"
]
},
{
"cell_type": "code",
"execution_count": 39,
"metadata": {},
"outputs": [],
"source": [
"import math\n",
"\n",
"def area_of_ellipse(minor_axis, major_axis):\n",
" return math.pi * minor_axis * major_axis / 4\n",
" \n",
"def aspect_ratio_of_ellipse(minor_axis, major_axis):\n",
" return major_axis / minor_axis"
]
},
{
"cell_type": "code",
"execution_count": 41,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Area: 6.283185307179586\n",
"Aspect ratio: 2.0\n"
]
}
],
"source": [
"minor_axis = 2;\n",
"major_axis = 4;\n",
"\n",
"print(\"Area: \" + str(area_of_ellipse(minor_axis, major_axis)))\n",
"print(\"Aspect ratio: \" + str(aspect_ratio_of_ellipse(minor_axis, major_axis)))"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Python classes help to combine variables (e.g. minor and major axis) of objects (e.g. an ellipse)."
]
},
{
"cell_type": "code",
"execution_count": 42,
"metadata": {},
"outputs": [],
"source": [
"import math\n",
"\n",
"class Ellipse:\n",
" \n",
" def __init__(self, minor_axis, major_axis):\n",
" if (minor_axis < major_axis):\n",
" self.minor_axis = minor_axis\n",
" self.major_axis = major_axis\n",
" else:\n",
" self.major_axis = minor_axis\n",
" self.minor_axis = major_axis\n",
" \n",
" def area(self):\n",
" return math.pi * self.minor_axis * self.major_axis / 4\n",
" \n",
" def aspect_ratio(self):\n",
" return self.major_axis / self.minor_axis;\n",
" "
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"You enter values once and afterwards, you can ask the object for various properties derived from these values."
]
},
{
"cell_type": "code",
"execution_count": 44,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Area: 6.283185307179586\n",
"Aspect ratio: 2.0\n"
]
}
],
"source": [
"e1 = Ellipse(4, 2)\n",
"\n",
"print(\"Area: \" + str(e1.area()))\n",
"print(\"Aspect ratio: \" + str(e1.aspect_ratio()))"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": []
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": []
}
],
"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.8.3"
}
},
"nbformat": 4,
"nbformat_minor": 4
}
{
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Equivalence testing\n",
"null-hypothesis: differences are out of a given range\n",
"alternative hypothesis: differences are small; and thus, bot samples are \"equal\" up to a given tolerance"
]
},
{
"cell_type": "code",
"execution_count": 62,
"metadata": {},
"outputs": [],
"source": [
"from numpy import random\n",
"\n",
"x1 = random.normal(loc=5, scale=1, size=1000)\n",
"x2 = random.normal(loc=5, scale=1, size=1000)"
]
},
{
"cell_type": "code",
"execution_count": 63,
"metadata": {},
"outputs": [
{
"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": [
"import matplotlib.pyplot as plt\n",
"plt.plot(x1, x2, \".\")\n",
"plt.show()"
]
},
{
"cell_type": "code",
"execution_count": 65,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"(0.00030345809258036736,\n",
" (3.433984168873193, 0.00030345809258036736, 1998.0),\n",
" (-5.311451764509381, 6.043239585972563e-08, 1998.0))"
]
},
"execution_count": 65,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"from statsmodels.stats.weightstats import ttost_ind\n",
"\n",
"pval = ttost_ind(x1, x2, low=-0.2, upp=0.2)\n",
"\n",
"pval"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Opposite situation"
]
},
{
"cell_type": "code",
"execution_count": 66,
"metadata": {},
"outputs": [],
"source": [
"from numpy import random\n",
"\n",
"x1 = random.normal(loc=6, scale=1, size=1000)\n",
"x2 = random.normal(loc=5, scale=1, size=1000)"
]
},
{
"cell_type": "code",
"execution_count": 67,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAWoAAAD4CAYAAADFAawfAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4yLjEsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy+j8jraAAAgAElEQVR4nO29e3Bd1Z3n+137HMlYadlWjN+yZMRDIRJpRhIgh3TAAXLbPQYmJhkemdtFp4iZKqpvZ3puTT/SOB6nO3WnKnWLnirqBofpSXc1FsYPIKGaDJhgXo2EJQ1gCSNjZOth2bIty7LAxtI5e90/9l77rL3O2s+z9zn7SOtT5bJlncfar+/6rd/6PQilFAqFQqFILlqpB6BQKBQKd5RQKxQKRcJRQq1QKBQJRwm1QqFQJBwl1AqFQpFw0nF86JVXXknXrVsXx0crFArFnKSnp+cspXSZ7HexCPW6devQ3d0dx0crFArFnIQQMuT0O+X6UCgUioSjhFqhUCgSjhJqhUKhSDhKqBUKhSLhKKFWKBSKhKOEWqFQKBKOEmrFnKRnaBJPvn4UPUOTpR6KQlEwvuKoCSH/CcAjACiAQwD+hFL6RZwDUyjC0jM0ie8/3YmZjI7KtIZnHmlHa31NqYelUITG06ImhKwB8H8BaKOUNgNIAXgg7oEpFGHpHJzATEaHToHZjI7OwYlSD0mhKAi/ro80gIWEkDSAKgBj8Q1JoSiM9oalqExrSBGgIq2hvWFpqYekUBSEp+uDUnqCEPJzAMMALgF4hVL6ivg6QsgWAFsAoK6uLupxKhS+aa2vwTOPtKNzcALtDUuV20NR9hCvVlyEkBoAewHcD+A8gN0A9lBK/9npPW1tbVTV+lAoFAr/EEJ6KKVtst/5cX3cCeAYpfQMpXQWwD4AX49ygAqFQqFwxo9QDwNoJ4RUEUIIgDsAHI53WAqFQqFgeAo1pbQLwB4AvTBC8zQAO2Iel0KhUChMfMVRU0p/AuAnMY9FoVAoFBJUZqJCoVAkHCXUCoVCkXCUUCsUCkXCUUKtUCgiQRXCio9YmtsqFEmkZ2hSZSvGhCqEFS9KqBXzAiUk8U5UskJY8+38xokSasW8YL4LSdwTFSuENZvRVSGsGFBCrZgXzHchiXuiUoWw4kUJtWJeMN+FpBgTVWt9zbw7r8XCs3peGFT1PMVcYK5tPs6145lruFXPUxa1QiFhLm4+Kou3fFFx1AqFhGK284or/ljFNc8dlEWtUEgo1uZjXJb7XFwRzGeUUCsUEoq1+RhXNMZ8D0ecayihVigcKIZPNy7LvVThiGrDMh5U1IdCwVEKoYnrO4t9LMrdUhgq6kOh8EGcQuMmml6WO3tvTVUlJi/O+BbeYkd5xO1umc/WuhJqRdFI+oMWl9AUMgHw79UpQAAsqMj/jCSc2zjdLfPdWldCrSgK5fCgxSU0hUwA/HsBgCL/M5JybuPcgJ3vm6NKqBWBCWO9JeFB8xp3XEJTyATA3svOnQbkfUYSzi0jLnfLfK/VooRaEYiw1lupHzS/4w4iNH4nrEImAP69Tj7qUp9bN6Jyycz3Wi1KqBWBCGu9lfpBi9rqDDphFWJper231OfWiahdMvM5Bd5TqAkhjQB2cf/VAGArpfSJ2EalSCyFWG+lfNCitjqL7W7w47ZJmoglySVT7ngKNaV0AMCNAEAISQE4AeD5mMelSChxW29xRS9EPW6/wh/F8TDL9PKsjpRGsP3eZjx0S10hwy8KpXbJJCESJioCJbwQQr4N4CeU0lvdXqcSXpJLUm/enqFJ7Osdxe7uEWR0mtjIEB6vcxnV0v/J14/i5/9rAOxJTWsEux5dn+hzwyjV/ZaUSJggRJnw8gCADocv2QJgCwDU1SV/ti+EpIqdF0m9eXmLkYlRUiNDeNjvWWU98fVRLf3bG5YipRFkzBg9ndKycSOUyiUz19wuvoWaEFIJ4B4AfyX7PaV0B4AdgGFRRzK6BJJUsfNDEm/enqFJPLH/iE2kCfJD0JzeG+WEubNrGFtf7ENWp9KkEtn3u90LUS39W+trsP3eZmx9sQ86NVYbSYrsSCKldrtETRCLeiOAXkrpeFyDKQeSKHZ+sWJyZ3UQQlBTVVnS8fBCR2HECKfTGr7bWov7WmoLEskwY9n6Yp9ltc7Mel9br3shSr/4Q7fUoXFltaerpRxXenGQ1EiYsAQR6gfh4PaYT5TzTN1aX4Otm5osy2z7S/1oXFldspuYFzqNALdecyV+dOd1vsYT9YTZOTgBnduv0TTiuUFYU1XpeS9EsfTnBfixDdc4vqZcV3pxkcRImLD4EmpCSBWAuwA8Gu9wkk+5z9STF2egUxqJwBVqwYmTnl+Rlr230AmTzwDUiBFZ4WeDcOumJtdCSTu7hvFy30lsbF4VKlLDrwDzE9flWR17e0fL7t5UOONLqCmlFwGUj+kYM+U8U0clcFFYcFFl7EUxYfr9PNGSn7w442jl7uwaxl8/fwgA8NYnZwEgsFj7XTm0NyxFWiOYyVJQAHt6RnFfS631GeVoVChyqMzEeUZUAheV6yGujL0w1r6fsdRUVUIjBKDUc6LbdXA47+egQu13Ym2tr8H32tZiZ9cwKIBsVse+3lHs7R0tmjtE+cjjQwn1PCSKFUGSffVx9iHc/lI/dEqhaQRbNzW5fu6KRVcAmBJ+DkaQiXVzSy329o5a14QCBU2mQYRX+cjjRQm1IhRJ9tUXYu2LPmVerPjPpZSib2zK9bMeve1q/G7gNDJZinSK4NHbrg58LEHjuvlrAgD7OOEOMpnywst89m6rgXKOhioHlFArbAQVhiQ+jGGtfdGnPDzxOX717nHbxqHMD+x0Dlrra7Bry/rQk1kYK1W8JmEnU154dUqx9cU+1wihJK+w5gJKqBUWbsJQTv7HsNb+y30nbT//tv+UlYgzM2tsHH6vbS2e6TJ8z5mst+VYyGQWhZUa9vvbG5ZCI8QKWczoFPu4SBL+fmBj9YqAmWsU85lQQl1ikiSATsLgZdkF9WUW43jDCNTG5lVWdAYA3Lh2CY5PXAQA6DA2EvkkIZ2ioKQhr3NRSiuVZUM+bmZqAsDu7hFsNiNJ2P2Q1ghACDLZ+eWbLrZPXgl1iUhiESKZMIgp3m5toLx8mcW8ucNMCGzczEc9eXEGGoGVkDN5cQaAkeLOMinZ/wX9Xr/n4r6WWlDz72LfGw/dUoe+sSl0sEgSnVp1TawJPUsBUOm9MZcptk9eCXUJSFIRIh7ZZpSY4u3WBsrLl+l1c0dlbUc1IThZtAsq5Fau3+91mvwASM99ZVqzYqKLSc/QpFF3JUWQ1e3hiOy8pEyLOpudX77pYq92lFCXACZYQYsQFQPeZfDk60c9U7xFX6auO1d2c7u5o7S2w1o74mbiz75zg60NFhNRJ/+3n+/lCz/xk19NVWWeMDu5oYrhOuKvRzql4f6b19qsenFCT4r7rlgUO+pJCXUJ4AUrlfJXhKgU+Enxbq2vwSPfuAo73hoEpUBlhXtSRiEiF3bcfidAcTPx5b6TljtEnERk2Yhe3ysWfiIAbr3WmPz445+Z1dF3YgrplIZMNldAq5DJLKjA8+PJZnWsWbLQ9j5xDyBp924xKGbUkxLqEpDkGGQeP+PsGZrEr949DkqBlI8kEKebO8qlpN/zK4qXuJm4sXkVAP+TiNf3ioWfUhqxTX6ssqEO4NCJKWgaAYHhG97+Uj82O1jZbsfE/i+owM+lcLskbdiHRQl1iUhqDLKI1zh5Nw6lNG9zLcj3RF27I+hmXuPKanz7qyswfuEL3H9TnWVNBxEtt+91K/zEjn/7b/rxweiUkVSTNUSd+bEJIB0HX81v+0v9eYIcZrUS5HokWQjnSsakEmqFRZgHLmpLuFhx26J47e0dxT6uLkbjymrbuESf7JOvH0VNVWXguOHNLbUg5t+y9xw+ecH6dzqVs6gr0ho2t9Ric0ut7bzwG9PEjFAB7IIc9hr5MSaiEMI4r/VcyZhUQp1wSrF55PXAiWOK2o3jZyxRl1glcK+LwURLjNjRCHzFlovHtFkSxdE5OGHzX3+vzdjAE49T9O2zsTCvirg57XSNori3ChXCuC3eueLCmddCneQlG1DcZZtbsoub4LAx+RX1sGNh/y8LXQt7XvgYZQC2gkY1VZVSq1mM2JEJlOwc+RE0UVTYBrNMWNn5qKmqtPVTBABC4LlXEHcIoxtO9VPisHjLZT/Ii3kr1OXguyrmss0p2SWM4DDCnmNxLH5D1/wiJulcvJzBxOczeHj9OlQvrLB8vTKr2fIzm5t+GnGPLWfj8yNobqIihsuBUitRikXdWFpN7Yk4hV5HN4IKoazxQtwWb7nsB7kxb4W6HHxXcS7bREtX5ocVkzL29o6CAEhr+QkQMvxa6bLx8GMRP4cCeUL+5OtHQ4We6ZTihffHAORipycvztiSkfjxP7bhGltstcxHLbtufgXNSVTEcwDAqkHSf/ICtvxBA55++xh0neaFSIadOPwSRAjFsUxenJkTFm/czFuhLgffVVzLNjf3hejeYEkZKY1gT88oMll5AoQMv1Y6IHdl8J8tugSY79Yp0sENMUmHh6WP87+R+Xy9QhCjvm58w4J02rSosxQ6gHeOnsXB4+ew/d7myCeOqHEaS1R7G3NV8OetUJeL7yqOZZvXaoL/PctIrPtyFTreG3ZMgHAau3iO+WxH3v8cppu30+f5Gdf2e5vx+AuHkBW0WqzxQQB841p5011Wr0VWi0O8bvwmZErzru8sfg/fsGDb3U1oXFmNJ/YfwTtHz3q2BXM7f2HurUIEsdjGx1xh3go1MDd8V2HwSuU+cf4S0inNqt/wozuvA2DfbAsb4uX03WG7eYddGT10Sx36x6as1lUA8O2vrrCaBXhlZPYMTeLBXxrCAAB7ukfQsWV9nmsHMCa+E+cvWe6UjO5d35mHnzhZw4KHbqnDj+68DgePn8tbschEMEqr1W89k2IZQV6Fw+YC81qo5ytu4Vp8+coHbq6zxfuGsYS8fOGFfLbbsfhBbF3Fd2DxinfuHJywfMWAUUWOrQ5kJUDTKQ0agWXB69S5JopIe4O8ca1sX0HmVopSML1WY7KqkHydatkYCxmXzE2XVFdmISihThilrNdsq++gU6z2qO/ghZcv3Gs8hRwLPwan8ykTeT/xzoAhnhVmliFgVJjL2/jkSoBmszruuH4FfvfxaejUELAgqxKxcS0TSP7YRTdQmOa2hdTIllWFnMno2Ppin3XMsjR4IPxkInPTyVZA5Y4voSaELAHwNIBmGJvNP6CUvhvnwOYjcTZl9fMgRL3BWorIGtHt4HU+RZH3M2b2HX/UvBKdgxNY++Uq/OXG663XsTRxAkDTCHQzQubR267Go7ddHUiU2Hc1rV7sWF6VIV6/oM1t/dx/bisYMcacANAIsSoFytLgxdDLoPe8eMxzUaQB/xb13wP4LaX0u4SQSgBVMY5p3hKHsDFfKruRO37o/iBEWai+2JE1otB4xVvLJjCvMbMypXyCyakLl/Fq/ynrs7ZuarJKmaaAPBdSELeRGHPslrIuc4UEaW7rlWjktQnJnztWFbJ59WJsf6nfGoOYBl/oPV8uQQGF4inUhJBFAL4J4GEAoJTOAAhXeUfhShzCxupXAIZ1xfe945GJXKGEfYjCun+84q1ly3SZJffNa5dZhZlEYRdFmrHjrUHA/L4/uHaZZUXKXEhhj4dFdfQMTTrGjYsi+swj7Vb8uxeyRKMHd7yL2SxFRYpYm6VOOF3vxpXVUrFnFHrPz4egAD8WdQOAMwD+JyHk9wH0APgzSunn/IsIIVsAbAGAujp/YUcKO2GEzUvUTk9fdv2ZEZebIiq/Nvud27HyscYs3rp59WIrNtrLxQEAD+54FzPmjt/hU/22yIzOwQlp7DVg1NlgCSi/+/i0tfxPacRRfEQ3DRNUZn37jUP3Or9sst7bO+r6evH+29s7ap2LmSzF3t5R6zy4WfVB9h/mi0VcKH6EOg2gBcCfUkq7CCF/D+AvATzOv4hSugPADgBoa2uT380KT4IIm1PyCH/TL69eYHuP+DMjKQlAbtmMbnHIYqzx1k1NAGAlwxw8fs4murLj7RycMDcADcQJy0ofzxip51+/eineNuOYWao5n0hDANzeuNyaBETrnI8O0QFkzO/e3TNquajEDjMnzl8KNKHu6x0NFLbG33/7TGFmnJ2+7Ls/ZhC87vm5nMjiFz9CPQpglFLaZf68B4ZQK0qMKGqyXf7NLbXY3WP4KdMpAgrjxve7ScTXOg5a0jMM7Q1LkU7l/Jx8LLJbHDL/e51S9I9NYfLijKOoOR1vRYpYVqQ4YYnC+XLfSatinQbghjWLsXzRFXjjyBlks8b4DwycxqsfjYMQYMsfNOAv/+h67Owaxo43P8UXs4ZLatYMu2PwLio2Lr7Oh98U/p6hSezuHslZ96lg6fb8vVOR1rCseoEt9T5ILHhY5noii188hZpSeooQMkIIaaSUDgC4A8BH8Q+t9JRqJvf6Xl48vXb5H9twDTp+2I59vaPYdXAYHV3DjskZomXjt6Rn5DD149wM7Q1LbVXisjq1+dtrqiptYrfr4DC233uD6ypBPN7W+hp0bFmPvb2jODt9GVdKVh+icLLY3XRaw+GTF3DoxJQVg04Bq4M3pcAv3hzEqQtfWLVFGBoBQIBsLiwbu0yBZanyfFusB26uw+olCz3vy85Be9nU265bFijdvrW+Bh0/tG9O7jo44qs/ZlSUInIoifiN+vhTAM+YER+DAP4kviElg1LN5F7f6xYJAMh3+Vvra7C3dxQsP4P3N7p9lxhuJVrubgkhfo9VnJCYuLCNOD5eePu9zXicawy7u3vE+n6xs0xWR6iCP631NXi1/5QlsPykxtjLuRNY7O4VFSns/2jctoHY3rAUHe8Ng59B9h8et30fASyx58lkKXZ2DWNf76itwlwqZUzIfNy304pHdO8QIHD2njiZbb+32YiLlhR/cqIQgycpLrlS40uoKaXvA2iLeSyJolQzeZA6HLL6Dk7CJO76E5fvEi12vqRnKqVh18FhS/SfPTiCn4bwVTpNSE4baOyY7r9prSWivJDz/mMgl4ASdDNzZ9cwfvHmoPUzm9R4V9CenlFLe9MawcbmVdj2m/68DcTW+hq01dfg4PFJ6/PW1lTh8Klp23caqeHy8czM5irMsYy/Z9/LCTizkFldkgUV9sQi3lXDj5EQYOz8JakbzI2HbqmzojiY3xxwDjkUS8p6+bX9ZrLONxKXmZiUjYNSzeRe32sJ0myuOzWPkzCJ/kaWcecVVfDw+nXoP3kBTasWoXphBU6cv4SOrmHrc7MB61YwnCYJ8cEEkLeCkCV+sGW6U5Ekv4idyIHcJMdqSrDUcdaFZfLiDDKc3+L2xuXWhHfdimr0Dk0iS4G0Bvztd27AwKlpvNx3Ek2rFuFX7x43LGUz3XyWW8EARsIMexb29o5a/uzZjI6X+05a5xCAq6XcNzZljdGw4gk63hv2jASRIbp/3Fac/HX28msHyWSdbyRKqJO0cVCqmdzre1vra6yECp0a3an9iKTob2SvZ5YaBSwBYcvjmVndqHFMKQ4eP2dFlezpHrE23IBwvkreAhYnHP7B3PJP3blNt4x7/eIoHmixE3lKMyY5WU2JyorchMdqcQDAgSNnsLNrGNt+029t4t7fttbWsYUVf5q+nMEZ0x/evHox+semrDoZBMC3vrIcQL4ln9IImlYtwr9+OmGZ46wc7dj5S9jZNYwDA6fx2senQSm1bUISIVswzGrR74qzvcFeUtbtXuE3hGdm568/WkaihDppGwelmsm9vnfy4gx0SgOfJ6fP3d2TS4rhfaaaRvK+57EN16Bjy3r84o1PjXjhAnyVfAafbMLZ2TWMVz7K+XSJFs6d4ZeeoUlMXpzBv7txNToHJ1D35Sr8hZkaztfRkNWUEGtx7Do4bJ3T2awhuqJbycltwYpF7ekZxf7D43jzkzP4g2uX2Sz5G9cuwS/fGrSKPKU04FtfWYE3zElC9KTMZnR8rXYxmtYszssWDLNa9LviZHsLfvza/Iawbv7sRlJW38UgUUKtNg784eXHDXLT8pmLAGwbZBubV0kf6Nb6Gvzyj9sCfadstcQmHCfLTnRDNK1alBc26PXdQV7HxseE89zFWWvTlQ8bTKfya0rwlfhSGsHZz/ITjUR/LZsE2XnnJ8POwQlkssZYZjJCEk2KoMd0pzB0HfhiNotMVs8Tafb5H45OYWB8Gve11ObFZwP+U9vZa/2uOHm/tttr+TrgGkHeBjFPklbfxSBRQq02Dvzh5ccNctPKHupKrriN2wMWxLKVrZa8JmbRDXH/TcYmlN8u5Xy5zbRZe8LJd82Pj52XmYyODi7ygrkYslkdA6em89wuLF17T88oTpz/wvb5y6sX2L+DUhCNgJgTFQFsLiD+3DBXBczXNa1ahEMnpmyfX5HWsLF5FQ4eP2dt/jKYj12cDIB8/3+QWPkg19/Pa4MYamFW3+VsgSdKqIH5kbcfBfx5CtPlhHFfSy2e6x5BJkuR0oAHbsovIBTF9ZA9hF4TM4sOYCng7Gevh9Sp3CYTXZmw8z5zvpQH85e+3HcyFzZIgb954ZBtjOxcMUuYh5X3fLX/FABDONNpDbqec2UQgjwXEG/18iub9Q1L0T92AZRSaAS44/oVuL1xOSYvzlhiW1NVif6xKVDA0dXBn0exHGmxKzey8+fXUAu6+i53CzxxQq2Q43bDF+oy0mCIRYoQ17jonqFJ3/HTsvjeMO2gHrqlLi9VfOz8JdfsPDH+m+G2ecZbxLu7R2yp5DoMK/bdT3O1PnQKPP7CIfSPTVnnQuyOk+Ks+IFT07awv9+vXYyeoUlrjCw8T4yAYePkQ+K2v9RvVOYzU+kbV1Z7ipAspE5mtReywSgSRhz9GgZBV99R7X+VyipXQl0G+ClUFHTZypAlmLD/F1PJ+YJFfD0Kp/HKMhplPf2cjlk2Bj6V+o7rl1vZg/zEwIRcTM0Wm9SK5Cxiu8QTANULK7D93mb8zQuHLIs7S40Nz71CTLOsO84T+4/YPpP3U/M4FXFiAsZWT4b3hGLy4owvERJD6tIawffa1tos8G2/7sNslroWkgpC0DojQQmy2oti/6uUVrkS6jKAfxAvz+pWAkYUN454AzsVcu8ctBcsciuZ6pTR6PdBdTou/jxksrrVLWVP94gtBpkV7L9pXQ3eHzlvWJ8ePmpe6PlUdcBwS9RUVVqWPd8UVxbTnNEp+jgfcmt9jaO//cfPH7JNJiwG2wn+erFQvKbVi6UiJE52NleHmfnIIk2sAwUFCMHAqemCLEdZnZFSBgdEsf9Vyqg0JdRlQHuDvGdeFDeOeAM7fWZ7w1JbwSLAnsItjlfMaAxixbiNQbpU51peAbBWB73D57H93mbPlYY4MTzyjavw9NvHLLHWKSzfcePKaqRSGrJmpAw7NraRd3nWGPcHo1P4YHQKHe8N487rV+DR267Gz75zQ56//cDAaVsI4rLqBdjZNYx/eHsQIAQ/uPWqPD84v2nZ8d6wdCNQNtmx88esXN7SBWBFjGQi8FezlRpgTJzfbS28EUWhFLrfUsqoNCXUZUBrvbxnXlQ3jngDixY2q7a27Z5m/PfXjuDUBSP0jE/hFj+P3wgL6pJxOi4We+2U1ZfJ2KMdsjrFy30nXdszyTpYMzfHj184ZPmOWQIGAFuGX92Xq7Dlm1dbYvo33HsAQ+Rf+WgcBwZOo2PL+rz06UdvuxoHjpyxjrV6QRp//fwh6/fs306blk6lBGST3WMbrsEzj7TjF298itcOj0OndlcLPwmK8fPsM/1eR/EaFtKIIknRGlF2QAqCEuqIiPtmEjtm+4maCIMs2mDGFENdz8X9it2enY4/TBlMp+NiNadZfWmxIFXn4ASmL81a1jAF8PYnZ62sStGvzx8fHyI3fWkWr/SfsgkuEQSNrRaGz120rG23uN+ZbK7an3iu+IxR0ZcNGFEvosC7ZXbyvxdj7ff2juLAwGnOz07zzrkYZTJ9aRb3P/Wubws7zL6J0/2TlGiNODogBUEJdQQU42ZyEq+owxn5B4bfDNI5lwcBcOu1ucw8cZPv9uuW4cDAaWR05wfbabNQLMjDI/rq+8am8LPv3GA7RwBQt/RL1qafmI7slHTCh8jx0RmMlrol1vvva6lF17FzOHr6M2lcOJ9AxIf67e4eQZMZKierZwHkx46z/5Odu4fXr8PTbx+zwvoAWBuDkxdnrDot7P1iyCJgVBkU9xoaV1bbRJtvPzbj4WIL2qMTyPWhzOrUVlQKcPcLix1y4jSUSp01rYQ6Aop1EaMWZYbMwkynjDhfWUJMSiM2d4IYj8v7XL3inGUhZiwigdXRYA+g6Kt/rnskbwnaMzRpK+gPACC5dGQx6UTTCAjs9S9kXLeiWhqfDdgLJ4mJSNt/048PRo2NReaKcbtXGldW4+Z1NXjPrLiXThE0rqzOO3f8RMOSc7ZyJWCtUgAEOHj8HDabjX5lx3dm+jJ+/PwhKyyRxWazjulZbrbRCHHNhPXbo5Oxs2vYFkkj1vhwcoOJHXJACDLZ+AylUmdNK6GOgFJfRCC460UmzryFyVuFIo984yrbd4ibVAyncLjOwfxuLf/+prV5EQm7e0YBSm2W+e2Ny62JICMpQcqHEDIoBR5/sQ8HBk7j9sblttrOt123DMurF9gsXV1Qs4oUsTpny8ROF99g0lpfg613N+H7T+csTLbpKBMetkFoS+kX9gH8TjRixA0BpNdII8aGJh/KmOX86tvuacaCCsPVo5mTKuCcCSueidPTlx07yrBmwfzpE8uvOq0kbcYRt5nsZBg4uVXiSMaJAyXUEVDqixjU9eJYc4JSI0KLgxVn4i21/pMXbHWM2fGzlG0xHA6A7WFtb7B3a9EpzRMS9tAB9uiEZULXFX64fDNWAFi5aAHGL1y2okBe+WgcB46cwba7m6wqda8dHrcyB9k1nL40ix1vDebSyU3znDXPpdRueVMKa8NNdh3Ee0NMy3ey1IFcWBs/sbIYcUKAr1+9FMPnLuLGtUvwL4dOWoLLLGpifsbmllpsbqnNpdVnDZH/1leWY//hcamlPZul0mqFbpmw99wkRWgAACAASURBVLXUYo9pmac04I0jZ7D/o3Fpn0vRWifE2AsQy6/KVpJimCIIQTbrv9t8nMk4caCEOiLcLmLcG41BXS9OVllFWsM3r12GV81OJWJxJraB9s7R/A06dvzM8nQLE2ut5yqqmRtUTEj4qnzptAadUmSz1BaHy+pqp1LEOr+t9TV5zRF+b0EaZ7QZmxiwmOe1X65CRs+vDAgY7greysvowFPmuFhG4KavrcJLH560VYRzug5eD7iTpc7C2gB7z8QszaWyv2n6s49PXETKbBNTkSLY0Lgcrx0eR5bCSlWXXaOBU9P43cenjfsgZd8wdmq+wFxQsuSY1nqjnVnn4IRVbpVfOYkNhnlrnU0afu5jmZtJ9ow5XZNS+5yDooTagajE1U9rLa/vEV8j/hzU9SK+fuumJvSNTRkFf1Yvxpuf5MLF+OJMT+w/gnfMrttuGXB+HhRZRbWeoUm89ckZo4aFRvCDr6/DP7xzDFnAyrFmURJ8HDGzvppWL7aN5eiZz5EiOesS5t9vf3IWqRQxEmMAW1TE95/utOpfMzQAr5kiDRiujmtXVGPXo+vyrp1TaCM7F6zTCnvNtrubMHb+klU1jsHKnt5nWsF8+KCTH52VGNF1ivELX1hJORkdNhcRu0YsioZ1bt9+j7FX4Kv5ApccI8J//q6DI7aVE3/PyMSWv/e87mPxXpON1enZSIK7MghKqCVEGcXhtWvtpwqc2HGFFfN3W167Id304iIRZGFVrfU1+NGd10n9q27wyS9uDQLEc0VA0X/ygmP/RDGOmLkeRMGz6jUT4Kplv4ejpz8zLDzzF2mN4OH1huC+MXA6T6QBoG1dDbqHcu20+M1DUSjE1lescQABrGYAbEwzGR2Pv9hnuVaszydGR/OmNYsxcGraluGXThmuqqxkCyGdIqBm/ZMVi64AkMuOzJfT/PM9eXHG1/KenXsW07+3d1QawbOvdxQtdUusmiaVkntG/L44w03Zd7PJ0+93JSGOWwm1hCiXRW4zt5/vESMqeN8pHyoV1H/Gv170OYrJE/x7wjSLfXj9Oux4a9CxQYDTudrYvApdgxPWEpu3UJ3Oq6wCHqNCy5errE5tBfhFNAJcu6IaH56Ysnz62+9ttgmSGFLYWl+DHz9/yNY4wImsZKCaRqyO5nw9EAJgQ+NyHDhyBlnd8M3e/bVVmPh8BhubV9lWKABsiTSbubhfsSdmUKtS9A8/1z2CbJaiIkXQsWU9AODBX3Zaxy92uHHD730cdCPQyQ3nVXsmKXHcSqglRLkschM3P98jpk3zNShYqFSh+D3enV3DVlYgs2C9btqeoUlzBWD8fHnWCNkC8n2KMuuHLbEpgG2/7rNFgMjOK2/R9o1NYU/PqFXJ7mOhqSwAy9frRFozIj6aVi/OS/92e4hl/mYKo2+isfFlbLYRQmxCzteblu0hXFm9IFdGlRoumCc4seGvh6z1mjjmMMW8+Ov0wch5KwqHNQJes2ShtREMANksxZolCyMTuLDiGcYAS4ov25dQE0KOA5gGkAWQoZTO6Y7kxYri8PM94nKabeqxUKkwYwvS6Zm9dvrSrJUI8tYnZ63QOz6yw2kzh7caKYBdB43QO1ncq2jpW/UnTDHjI0Ae23CNp4+c1UR5f+Q8XuXiu/3AmtcCsGVEshWB20PMoh9muHGzv396T7OtYh3/fSmNYH3DUgyMT9v2EPgMzH1ChqoTMutUHHPf2BTWLFkY6Lzwn/1jLt2dHUN7w1JUpPM7wkdFWPEMY4AlxZcdxKLeQCk96/2yuUFQV4ITXrO/n+/hX+OnpVGY8cjGwb9WhCVZdHQNY48k3lnc2ed9v1kdyOry8pe81X7hcsZW2xmUOtagFsfNb4g9tuEabPmnbttrrl9ZjWMTn0tD4hgpzR4/LQoDC9cDpbbNQ5YZuO2eZrzcd9KWaZjVYWVU/vj5Q5Y1zWdG/urd47asQjF9vBAjQnRb7DEnTD7JKMhnit3tm1YvRufghBUCSWE0LvC7Agt6DEHEM6zrLgldpxLn+kiC4z5Kol46hZ1A2HkdO3/J93jsm01ynOKdRav2zPRlHBjIhbcxK5kPu9vZNWwVIbKs9lSutjMbk5PVX1NViQMDp60QL8DomL7tnmYcOHLGen06RfC337kBA6embSVLNWJuRuqGn/iRb1xl8+UyUZ++NJsXMfHw+nXSZrVbNzXhXz+1ryreO3bOSOjhNgk1s5YKmwD57u+iT9/pHvDz7PDCM3b+EjreG7aSjJ7pGsaugyNWvLPfz2MuFj55ik3YQPg2cU4UIp5hnp+ojLZC8CvUFMArhBAK4ClK6Y44BpMUx32UJGHpJKbbahoB9VEgXhw7s/KaVi3C9OWMLblFZu2K13ObbMnPRTzsOjhs+34W7UGRE2hx80dsSisymzXStvmKd/e3rbVcF/xbdGr4jO/46nJsaFyO7S/1W2nuX796Kd785CwoBX7x5iB6hyetVYJOKd7lY9PNsbN6JD8VGg4cPf0ZHje7cjMWX5HGhS9mjdPB7UXMZuRRFSJBnh1+c203554BjMiUx180ro2sJgn7LtkGqiwRBkAsPt4kiGcx8SvUt1JKxwghywG8Sgj5mFL6Jv8CQsgWAFsAoK6uTvYZniTFcR8lpVw6sQfqBGdFZ7JGU1UA0hhYHq+xs0w3trwVN6XE68miSZ58/aiVQZcxq8rt6x21FdsHcj7bPQ7+bPE7ZLDNORZWmEppoOa5kaW+Z3WK1z8+jWXVC2xp7mKhJFaLg/Hh6JS09dfu7hE037MYN6xZbNX8AIxYZ43kNjLPXZwFANy8rga9I+dz4ydwPX7ZeZiZ1fHE/iOu5V1tXyCMPKtT7Do4LH0W3SYEt0icUvt4yx1fQk0pHTP/Pk0IeR7AzQDeFF6zA8AOAGhra3PZR3cmiPVZTi6SOGd/P+Uh0ykNmuFKheFSpba61m5j8xr7XrMIj0xEnGKoa6oqc7UoYFjSWd0uFwTAXV9dgfELX1gRELLJWya2PBTAP7xzDLc3Lgdg1LV49r1ck1tWhH/XwRHLPZE14535NHevG9rp95kstYol8WiaKZDCG09PX7YsbZaAxI7frXIdf651GK6jrmPnrOp1svuExUPLWLHoCtuGJp+04yTgnYPy0qZJ8PGWO55CTQj5EgCNUjpt/vvbALbHMRi/1udcdJGEwe088A9UJmsIJcBCvWC5LE5wBXCC4rUCaq03Cv2zVHG+bjNLTDHGIhc6lrJNkd8lhhceVmfkWVPweSgM/+srH40jRYyfxbTx1voaLFqQtqJaKAyB3H7vYjxuuixSZjJJltozHb0Q66TkBkalq4Ab1y7BqQtfWAK5vmGpZYnrFHl1p/lz/cwj7bZqfax6HSD3E7c3LJXuPaQ1o6EBq57HZ47yzXvFjM5CNszLyfAqBX4s6hUAnjcedKQB7KSU/jauAfm5qHPRRRIGt/Mgxl8zsdB1igduNlxTu7tHbNZlQREEDqI/eXHGKvrEYqg3t9Ta3sf82/yGmsaNWUOu5kjn4AQGTk3byrGyEEEKoMOsLUEAm2sBMP6d0gg0s9ocL3rVCytshYxYzDRru5XVqb2RAAGog1pfv7Iaa79chWVcVT6xcwql+eMDgN/2n7JZpZ2DE7mSpeb5FOFFrklwsVC4N5nVNCOmm6elriZvT0Dc5+Cb97oVafKDMry88RRqSukggN8vwlh8k4QNulLiJ7NMFn/NZ6l1Dk7kFSWShec5WTn8UpdVopOJfnvDUqRTmlV0iPVZlBXUYUkqbMnPj9kqDJXJL8fa0WV879ZNTVhQkTsff9i0Ei+8P2Ybd2vdEvQOGw1vt/2mH31jU7ivpdaI/U3lal2/9clZvMtFazBRtsTcFH0CmrciOHxqGscmPrfOAwupFK/D1k1NeN2MUuFbfomZofwxife6LIGlMkWs6nVHx6fRfXzSGh8fZSPGuDPeOz6Jg8cnbXHyvFGQ1SlWcwkshT6PYvatb//6PCJx4Xl+SEpsYykIklnmFX/t9nDxXTfEEpXiGDa31DqKfmt9Db7bWmtZuqxmBxMiNqb2hqV5n+nUdJdl6zFfO7MU+ZKcNVWVVvQCg6WDd5u1J0SRF721WZ3aLGcCoH5pFYbPXbTGcf/NdeganMDRM5/b3ssXwHe7DpMXZ/AaV2ZU0/Kr0Yn3ulMXHnYOOrasx16znCm/6Sk2meUFFuYKhiE7P36MgkJiu9n1lbVPm++UpVAD8y88h+EUSeGFeL7cHi5W0J1tpIklKsUxEMCymmH2HOTrT9trFOc6hIjCLC6fa6oqrb/55JJ02ij4T2BsDmayOVcGHyomWot3XL8CTasX22pKszC6XQeH81wAIEDjimocOf2ZVXb12hXVGJv6wvLRbjZdLqJQ811l2DmVhRiyFcdsxjnblL924iZxluvCw6xldo0ywvGkNGLr9SdbdYkRNLJJ0MsoCAobxxP7j+DtT846xuPPZ8pWqOcrUdchcQr1EkUuq+eas4pjaFq92IqBZj0HWcIHS3oQy2LKxJ6PEPlkfNpyW7z1yVlUmFXjiEag67pV8P8Ht15lJYfwBZ/ETbcUgRUbnTVD49jGIgWMAkgabJuRlBpujLQG3PHVFTgwcBqvHR7P89ECRlswXhgphTUeQL6Zx7q6sKJLKQJb2y0Z4nnjr9Lt1y2zWct8GneKwOrOwk+iMmu/pqrScmfxsfFxGket9TXY2LwK7346Ad1H9ul8Qwl1meFnmVnoDjpL++ZD3iiMMDomTqJbQhZtwSc98GUx2ft4sWeFj1iEyK8/sPuWrVRrSm2f33/yguWvnjWjHDoHjWJBPA/cXIfJizOWr5wKkXE6NfzOQP5GYUYHLs1mLfcO89ECOdHbtWU99vWOWk1vxeOXJYKIbcP4Uq5u18bJXXEl1/2mtd7IGORT6QH3LEFRiMUmEGHwey+KmZ5bNzUpa5pDCXUZ4mbZRLGDzsLqXu47ibPTl3HYrDqX0YFfvPEpfvnHbXljYBtxDL4gP5DvD5dNOJ2DE7au4DwVZvcRMQuS70GYSmlWg1Zxi6xp9WI0rqx2rEQIcMJN8+ta80kzrK6HeJ43t9Rid/eI9R5+406MjnnqjU9t58upvyQP332cZYj+wzvHMGuWGGVizIsjE1tAHiXE/l+ssOeUCeqGrMGF33vRXq6ASqNb5jNKqOcYUYQuMutmJsPir3PsPzyOnV3DtkJBrfU11gYWi9jwk/Qgir1YMChrFshPpwj+q5l+3t5gtI9ihZsmL85YG6onzl/Cs+8NS2Oc2YPPwviaVy/GT37dJ60VnTLbQrHynRoxwvfY5LWxeZVlnfORCmu/XGUrssRv3PE9JZ99bzgvEPtrtYux9W5nK1KWKv/upxN45BtXoXphhVQc0+akxopliRuCsskG8Febw02UWc1u/hx53YvzPZLLCyXUcwxR7MZCJLSIERa2VlYUto1F/oH92XducPxMP/5N3spmBYMAoxM32zRlk8jlWR1vfXIWGoFNZMQu3oDxe1GU7mupxbNb1uOpNz7F4JnPMHTuorkpaXRZv6tppVV4P53SbJttXcfO4bbrliGd0qwuM6y9F+8qauZag1kbfHp+oks6RVxFemfXMP77a0fyus9kdIodbw3ib//dDdJEJ7FYlrgh6GRhe4mrOBl8t7UWhHufTo3N5+33NvsW33KJ5CpVYk6ihFplJxUOu+FlPQX9ZoexTtdsaa5psJI0ACNphj3UMouskGvIBJ1ttMlSmHnfOS8o7Q1LrUauDI0A2+5uklp3j224Bjv+2Citzocj/urd46hb+qXcAVOKvrEpmwW9/6NxVKQIGiTtvdj39o1N5XVfF9PdWS0SJ/iKgjJ0YeIUk5DEYlnihBmmNocY99zRNYyKFDFWX+Y503V5B3M3kh7JVcrEnMQItcpOcido6yFWx8GvC0Q8/7c3Lre6kYMCd12/Ar/7+LRr1+19vaOutT+C4GRh8XVCGCw0T7apqVNjE/T+m+qkAsQXrtLNkL3ZjNGpnO/XyKJSmMhSGBbtsTOf5Y1dI0ZnmN1mJEhFWrNqbvCTKLs+H45O4ftPd9qiQdhxv9x3Mu/zbzZ7ODLLPKtTW5KIn+7cbufYS1zFCYedo29dvwKvC/eIl/iWk3FWyozoxAi1Sgt3Jswk5uTzc3ow+PN/2Vxi8xlxstoPgN36YkkShfrH+e8Q3y/WCSHEWGpv+3Ufbm9cjpRmbHryfDA6hcMn+/CDW6+yivG31tfYrGiYtahTQN4mJYtKYdUCWdgaEaIugFy6+8KKVK5FlTmJ8eFw97XUSuOGAfsq5Q+bVto+P50i+IuN12Pg1LQV605hL8LEw69QeOte/L3sPU4wgefPRUVaw3+87Wr8R8k94kQhxlkpBL6UfvTECLXaTHAmzCQms5a8SlTyqd4HBk5b9aPFDUCn7wC820Tx7hW+vRSfdMFqQPPZkAynGiYzWYpXPxpHRVrDXV9ZhsNjUxg9/4X1vpms0cRWp0CXKYh8Ug+oUXfj219dgUdvuxqt9TXSbM7W+horkoJvjaYDlr/8R3deh71mMSSGuApgccP/asYNaxrBifOXrBWJTo3sxpc+NCxqAuCmdTX4i43X24T0xy8cyqWfZ3T8t5cP4/3RKesaMOF+cMe7VnRIx5b1BYsbG4MshM/vZ4c1zmT3Mfu8OIW7lH70xAh1uWwmREUQiyDsJCZaRjbfolCzuLU+P9XbT9aj+B1u15A9YGxTjHVwASHIZI1oAT4b8vEXDN8sP1nw9wkv7NYSPKvjxrVLQACbUAO5AkgzWWqWVs2P+Bi/8IVjVAo7Bv74xCQR9ol8NiYfOsd/ztYXD1mumtksNXy9aQ1pLWeps/NBANzWuNw2nsmLM3mFofiUcWbJs4mMHfte07qXwR8f4N5Rp9AkGK/72s/qL2qXmxel8qMnRqiB5G8mREXQJV9Uk5hVU8G0AN85aq+pcJ+5tA8yITh1+5DBNgIZFCyRhcU92yNMshT4G1Osxf6O7PMeXr8O7w5O4KOTF2wZbSfOX7J995qahTgxmfu/FYuuwIKK6bxIisq05nqsTv0md5ptrFgG5zOPtKNjy3rHa7a3dzTPRcMmmgdurrMSjNjJ0JFf4pSvkeEERX5MulO7CN4VxE+gYjZlVHtJbve1LNyPra5EgY/C5ZZ0EiXU84WwrowolquspsI7R8/mfX/QCSHIQ9szNImx85fySntqxEgMYbUzvrZmsc0qZEYvn3Uo1qXgeyuy5qrNqxdbVeQqUgSP3X4Ntv2m3+Zzv71xOX7+ygDOfZ5LrrhuhXMKt9N1E2ujsIJMsi7pDJlYsiQh5k4QAljykkBa643sw6fe+DS38ctRyVnyfAPazYJ1D+TXd5nJUhBQm/+cbVL7SZqRITYddpvY+e9h4X4ssiWMy63cUUJdAqLwx4fdTGmtr8GP7rzOtlEmVkKLysfI+6OZsKbMnUCdwvJD875gAPj3T71rc0sQwMo6zOjUVuYUsPdW5Pv8bbun2Sqb2riy2mrCyr5n22/6bdZoRYpIRYzhdN1YRiVDrIAno2n1YiOpx6xO+EMhcQUwmhXwIX+ypgGt9TXY8cdtljWsUyrtKM4fuxhZwgSYP4aUOYFmMvndeTSzbotT0gz7TtGN8uAvcx3t93SPoGPLeuv8ifdxe8NS6zoDuZBQJ7fUXHebKqEuAWFcGeJNX8jyM2pXikzwxaWr1eVENxoXrF6y0NpQBGDzhf/03uY80aEAnjU7ZrMyp4Ah1swS5ZMuZjNGY1nmJ95tCgP7HlbsnuffrF1iWYhO52Rzi5HcwYsgvxHLEma8LMvtL/VD143jk22aAsC6pV/C0dNG+J+fpgG7HnV2tYjvEe8f3o3CXA0AbN15AFhFrVJmPQ5ZfDoAWwgiq444y53vWbNXppNvubW+BtvZfcCF+zmRBLdpnJEoSqhLRJAby09J0KA3RpSuFK8NH0qNjD9Wz2KzpEAQX1f7oVvq8iIu2LKZL7rPOprz0SN8kszZ6cuOm2jtDUsti5bRM3we3UOT0smvZ2jSFjkhWt7M8qPU6NF4V9NKV199rjiUva4FS/RhNUsYWorg/ZHz2PJP3biyeoFjkSXZ5q+f++exDdfkXcsnXz9qa9Dwct/JvHGLkzWzsPmkHlYdka/mV2Fmcbrdx7L7IKnEnQeihLqE+J2BRRcDS77wEwYX9w3uJPi8hcayGtNcVTS+fdPMrG5ZbrJNQ/Y9flYB/Gv2CSFyvF+4tb4GP723GY+/cMho0WU2/XUSjb29ozbR3/6bfivtu3NwwlbL2iuyQiZuT75+NC+KhUc3ww8Zz3WPoGnVIscWWzx+7x/xnNdUVVruJZ3mF6Zi10FMSxczL8U4dOajBuS+5aiiSopJ3HkgSqhLhNMMLBNY8cFmN71XGFwpszz5jUuW1MFbj2I8tO4ikvxnAnB1T4gP9nNciJxoBfMWW01VpbXZyFe9Y4ibf3w2YXuDvfYzYNQcuY9zjwD5DXlF/z3vIuIRK/kBRrr6h6NTVi9Ft72OoPcPY/LijK1fY/XCCs/iWgOnpm3jv+urK3B743LrPX8n1IMJEuufZOLOA1FCXSJkMzDLNsvq1Cq67xaN4bW0LnW4ktvGJX9MvFiJTWd5wjzEhPvjNEYmEHxtD5HNLbXYzRV84q3YxzZcg44f2juAs7rb/MaazE3BrywAaomyZpTpMP9NoFEqDefTiJEJ6dZjMOj9w2hvMPpIzmYp0iniy8LlM0c1AiyrXmDb4PWqgV1oVEmp3CRR7fs4oYS6RMiWv7IQL6ddbhH+Jk1SlqfbDSweE5uk+E4tPG7hcU5+cpZizTavZOewZ2gST+w/YqvtIYps5+AEtt3dJO18wo5l691N+P7Tnba606xyodPY+WuVSmmGrztrRD9T5vc2N2ApgLPTlwEYmaNsDH4awYZ2IQidebwoNMbZyeftp+xqqS3xON00SqhLhMy3FzTEiyG7SWXiGJfFEcXnTl6csRVFkj3QsgkoSFo864Au2yS0KgUS5PlLZQ0C9vWO4vT0ZZsfvHPQuSu70+TJ3wd8PW1KjcgK9jcAmyulGNYj25hliTh+4/0LiXGWPRd+hD4pq8i48C3UhJAUgG4AJyilm+Ib0vxBnIHF8Ci/N5rsJuWTLVjEBItD9vKJB8HLkvFr6fhdBYjhcbzrQHxAW+uNtPidXUZd60w2v9UVv0kIADessRfwl53b9oal2N09Yr3vue4REMA6t/dJurLLoioYvPtFjGzpG5uSlquNe5OtZ2gSe3pGc41zAxgOeSslruGCnzHLnguv+yJJq8g4CGJR/xmAwwCci+cqQlOIj8tPPLMYLsV8f4UuF3khuzyr57kX/Fo6XscvCzFj2Y6sNobsAV20IHeLy9KwxQV985rFtu+WndvOwQlb6NxsNpf6zixQt+YN4maobJORD5ELUq7WDVlmoBOdg0aZXHaOvte2NvREznzUB4+fk7q03PD7XMTtIy41voSaEFIL4N8C+DsAfx7riOYxYa0kt5uUj9kF7L35olguerkXglg6bscvjnVv7yj2mckS6ZSG+29eK42yePrtY9bPBPlJI02rF1ubX3xkiJt4AvYekRUpAgJYk8V9LbW4r6U2r3nD1k1NeRtrgJGxx1e742Oho7IUe4YmpZmBTud7+tKsdc4WVOQmxqBC6Pcec/tsv89F3KuMUuLXon4CwH8B4FgIgRCyBcAWAKiry8+yUsSL000qblZ9t7XWJmjpVO53YUSAuRf4qnui+yFo/RCnlGJesPgsxGxWx5olC6Wbj7a0aGH53jM0iW2/7rOlorP/d0skaa2394hk4i6Om1mlTKRYwggvWmPnL1niOZPRbfHZQc+fm9h1Dk7kZQY6ieb/8y+H8Ys3B62fH16/DkD+hCI7ZhE2kbvdY0nYCEw6nkJNCNkE4DSltIcQcrvT6yilOwDsAIC2trb8+CZFSXB70AdOTSObNa1tSUiaDFlTU1YUiVmULIGDD+fy8+C5PbCyTSpZqy5Z9MuMmeTxra8st32f6MLIZnMtxrysQNkxiT/zdTFSKQ0LK1J5bppfvPGp7T0fCN1enL4ryLkDkBfrXZHKn7RYqORTnEgDRkPj6csZ24Ty1Buf4s1PzvgTV5ewR2DubwRGgR+L+lYA9xBC/gjAFQAWEUL+mVL6H+IdmiIqZA86q5bGdEq20SYiigG/lGfuh+bVi13jZt3wemDF42BdRnhLWLT6+NZX+w+P481PzlhjMtLIcx1h3PoGBl32M99sVmex0RT7D4/nuWmWVy/Ie28YF4Gfc9fxw3apj1qsyyLK6eDZz9Gw7Pds/zd+4Qvf0RhOYY+Mub4RGAWeQk0p/SsAfwUApkX9fyuRLn/8hAPKKqzxDye/lGfuB75Iz0xA6yjMA7u3dxSXZ3U8d3AELXVLbFbfvt5R/N13bshzQfBj0jQN0I1Nv22my6FnaBL3tdTaUp35Oh+yzjey88v89joFkKVWmBvvpmGJNGwT0i3LUKw3wvuY/Zw7J8ucv64ARUooRQsKXFm9wFY29v6b6jAw3u95rfyOK2hkSFIoVpKNiqOep/BuAVk4oFuFNfbQiX0F2xuWYuDUtK0+hFOWoYyg/uzOwVxdiYxOcXBo0vZ7pjVOYsFHNsBMb+fLhbJQO7HOx+Mv9oEKdUmczi+L/AAhVs1tXqyYpcvcDm4TgDgOVk+EiQVf2KqQqKGtm5pwYOA0Xjs8DkqByorcBil/bfwUTPJzTQuNDCkVxfStBxJqSukBAAdiGYmiqHg9QPtMS1VMlRbfIz6snYMTtvoQstKcDJk14uaPFV9vuC6Ire9hiovgYNaw07F6Zoeaxy2G8LGKe7IUZ/7fQbqB+9kkZFmJDILgYuF0znk3UuPKajx0S53ja/2O2+/reItebBGXZIrpW1cW9TzG6QHqGZrE7u6RXLJDyp5J5/awtjcstXUvd/LvhhEY2eu36kbhoQAADsZJREFUc7Wrmd+cNQvwOlZRwDsHJ2xlTzWScwcx90TKDMXLZI0NQj7FOa3lt68So0WCwh93WiOoMJsJ8J1g/IqF1zlntaH3CYk1ss+Jcrlvre4cWsQllWL61pVQK/JgG0CAYbV9t9U9OYJHFp0hE4egAvPE/iPS14s1i4Fclxc+k89tvPzvF1QYgqFpueL5nYNGnQ9W/3rbr/uMF1OK/rGp3Li4/o8yyzCIwLHXfjBy3lrZZHWK+2+uw5olC22f4Vcs3M55kHjnqJf77J5xahGXVIK66gpBCbUiD9FSEDtoe8GLn1OKt19rRMysFGtx+P0+v+P2mmTEKAYxCxGEIJPJtwxln+Vl+Yp1qVMayUvqCSIWbufc7/WIa7nfWu/eIi6p+HX/FIoSakUeUVoKTgkPfr+Dj57Q4F3Ss9DlqJfoyyYxfpMNgNQyBPxXkROzSQFjZXP9Knn1hiC+Yrd6I36uR5zL/WJaqOWGEmqFlEgtBYeEBz/fIQqD1yZT1JOMKEpOn89/j5Nl6DcLVPTZss3ZDyXJMEFxO+d+rkfcYlosC7XcUEKtiBU/CQ9ueAlD0MiRILiJctDJwqsxgdP7a6oq8XLfSatLThJ8t0pMi48SakWsRLFUdos+iHJjK0rRF98nTlj7ekddrVL+/Y0rq9F17FxBNVmKRSm7rMxllFArYqXQpbJXoaGoNraiiEd2w5YAk9KktcFd8WmNlxJVXCk+lFArHInKOgprlbo9+D1Dkzhx/hLSKU2a8ReUKOORZfATFuvk4neCKdR9VCz8nENlcYdDCXURKaebNG7ryM+5cHrwxSSQB26uy2uxFZQgLpqwljybsMROLl5Fn5JUtMjvOGUNE5TFHR4l1EWi3G7SONNjw7Tn4h98fmxZnWK1pBZ1UIJsWkYRAugnKcjv2KLCa/L0um5snGLDhDBJTsU+tqSjhLpIRH2Txn3jycQoTGZdGN+y2F1F1inFrfVY2PMSZNOyUOHkresn9h/Jq6vidD6inCzFqBSvyZMvgjUz61ynu3NQXq2wVCuDcjOSZCihLhJR3qTFuPGCWn1+x+fV51D23jVLFtoe/MmLM7bwNZZQEmSMQZBNLHzz4LDwxyorcerWlDiq7+UzLr0MiZqqSisJR0euXZeI071eqoSWUlryUaGEukhEeZMW68bjLcwgqdm+fMsOfQ5l73VKPAHswry5pTaWVUtNVWUsliB/rBqxZ126NSUudIPO7zkWmbw4YyXfAMDTbx/DXU0rpVa1V8f1YpIkH39YlFAXkahu0lLceEG+0+m1vEBkHPocBskGFAWHwH+BIi9k3WzC1Hp2wy3rUpZGDgAfjJwveIMuyDkW38eXldVdIlCSlBRTKks+SpRQlyEytwTfo7AY3+n2PU6vramq9Gwq4PRe2YMvCs7mllqr9GfYc8GsU9Z0lne38CVLo8DtnPLHRjQCXafIUuCVj8Zx4MgZdPww/AZdkHMsvs8qK6tTVFaUj3XKT4D8z+UCoTEE0Le1tdHu7u7IP1eRTzltlDz5+lH8/H8NWP7Y//x/NBYsflFutIlhf3xXljiyHr1eyzq+jJ2/hJ1ml3fAqP3x4C1GudOaqkpsfynXEqsY19/pWIqx6VnI5yT9OSGE9FBK22S/UxZ1kYgrSqOcNkraG/KbChRK0CW232gUo/bz2rzaz2EIIhKy1wLA7u4Rqw1XKkWwp2fUalAQh1vGDdk5j0MIo/zMcnpOZCihLgJxzubltFFSal+h13WQlTCNK2okyEbsYxuuwbZ7mrHr4DBWLLoCy6oXoIPLbIzDLROUOIQwys8sp+dEhhLqIhDnbF6o+BU7EaCUm0xe1yGuicSvSDilxfPNXwfGp13jyP0QxzUPcox+vztKcS21kVAoSqiLQNyzeVjxK8TSL8dMr/YGeRMDnjgmEj8iwV8LTSNoXrMY999Uh9b6mrzQSD6OPOj5j2t1F/QY/Xx31OKapEiUoCihLgJJnc3DWvrlsDEjY+DUNLJZI+RNpxR7e0cBFCcCwEsk+GuhZyk+HJ3CwHg/GldWO4bThRl33Ks7v8cYJEKlHO6tuPEUakLIFQDeBLDAfP0eSulP4h7YXCOJN1xYS78cN2Z6hiax9cU+mPtxyGQpOrqGbR23o/qeMBMyuxYswYVPJ39swzWxdq0pFuXuJy4lfizqywC+RSn9jBBSAeBtQsjLlNLOmMemiJmwln45PnCdgxPQhVDUqDumFLLSYNeCpYyL6fVRTfSlXN0ldWVZDngKNTUCrT8zf6ww/yS3enkJKEd/LSOMAJTjA8cml5mMDkIICCgoze9oXgjiSmOvRxcXEXYtmlYvxst9J7GxeVUs57aUq7skrizDUszn3pePmhCSAtAD4BoAT1JKuySv2QJgCwDU1dVFOcZEU67+2kIpxwduc0stiPk3gFgjH1KaPdbZ733BR3gcPH4OjSury+48zweK/dxrfl5EKc1SSm8EUAvgZkJIs+Q1OyilbZTStmXLlkU9zsQi89cqwtEzNIknXz9qNIKN+HO//3QnnjXLpALGRBNFBTwettL482834ntta/NKffohafdTXNek3Cn2dQoU9UEpPU8IOQDgDwH0xTKiMqMc/bVJJE4LpZibn2yl0TM0ib1CFxc/JOl+mq+rRT8U+zr5ifpYBmDWFOmFAO4E8N9iHVUZUY7+2iQSp5iWQvzC3hdJup/KMbqnWBT7OvmxqFcB+EfTT60BeI5S+lKsoyozytFfmzTiFFM/D9XOrmFrA++hW6LZYwl7XyTlfkqSdZ9EinmdVPU8RWIoVfTMzq5h/PXzh6yff/adGyIT63KnnCOayg1VPU9RFpTKkny572Tez0qoDZJi3c93fEV9KBRzmY3Nq1x/VihKjbKoFfMeZj1H7aN2Q7kUFEFQQq1QwBDrYrk7VNibIijK9TGPUckMpSFpSS2K5KMs6nnKfLLqkuZmUGFviqAooZ6nzJdkhiROSElKalGUB0qo5ynzxapL6oSkwt4UQVBCPU+ZL1bdfJmQFHMblZmomPMkzUetUMhQmYmKsiAuQVVuBkW5o4RakQiSuOmnUCQFFUetiJww8dkqtlihcEZZ1IpICWsZl2LTT/muFeWCEmpFpIQNhyt2FIpytSjKCSXUikgpxDKOc9NPtJ6TGl+tUMhQQq2IlCTGZ8usZxVfrSgnlFArIidp4XAy6/mxDdckbkJRKJxQQq2Y8zhZz0mbUBQKJ5RQK+Y8Qd0xKhpEkTSUUCvmBX6t5zijQdQEoAiLEmpF2RKH8MUVDaLCARWF4CnUhJC1AP4JwEoAOoAdlNK/j3tgCoUbcQlfXNEgKhxQUQh+LOoMgP9MKe0lhFQD6CGEvEop/SjmsSkUjsQlfHGFF6pwQEUheAo1pfQkgJPmv6cJIYcBrAGghFpRMuIUvjiiQZIYX64oHwLVoyaErAPwJoBmSukF4XdbAGwBgLq6utahoaHoRqlQSFCbc4q5hFs9at9CTQj5PQBvAPg7Suk+t9eqxgEKhUIRDDeh9lXmlBBSAWAvgGe8RFqhUCgU0eIp1IQQAuB/ADhMKf1/4x+SQqFQKHj8WNS3Avg/AXyLEPK++eePYh6XQqFQKEz8RH28DYAUYSwKhUKhkKBacSkUCkXCUUKtUCgUCUcJtUKhUCQcJdQFEKbbtkKhUARFVc8LiaqGplAoioWyqEMiKwqkUCgUcaCEOiSsKFCKQFVDUygUsaJcHyFR1dAUCkWxUEJdAKo5qkKhKAbK9aFQKBQJRwm1QqFQJBwl1AqFQpFwlFArFApFwlFCrVAoFAlHCbVCoVAknEDNbX1/KCFnABS7u+2VAM4W+TvjYi4dCzC3jmcuHQswt46n3I+lnlK6TPaLWIS6FBBCup0aQ5Ybc+lYgLl1PHPpWIC5dTxz6VhElOtDoVAoEo4SaoVCoUg4c0mod5R6ABEyl44FmFvHM5eOBZhbxzOXjsXGnPFRKxQKxVxlLlnUCoVCMSdRQq1QKBQJp6yFmhByBSHkPULIB4SQfkLIfy31mKKAEJIihPxvQshLpR5LIRBCjhNCDhFC3ieEdJd6PIVCCFlCCNlDCPmYEHKYELK+1GMKCyGk0bwu7M8FQsiPSj2usBBC/pOpAX2EkA5CyBWlHlOUlLWPmhBCAHyJUvoZIaQCwNsA/oxS2lnioRUEIeTPAbQBWEQp3VTq8YSFEHIcQBultJyTECwIIf8I4C1K6dOEkEoAVZTS86UeV6EQQlIATgC4hVJa7ES1giGErIHx7H+VUnqJEPIcgH+hlP6qtCOLjrK2qKnBZ+aPFeaf8p15ABBCagH8WwBPl3osihyEkEUAvgngfwAApXRmLoi0yR0APi1HkeZIA1hICEkDqAIwVuLxREpZCzVguQneB3AawKuU0q5Sj6lAngDwXwDopR5IBFAArxBCegghW0o9mAJpAHAGwP803VJPE0K+VOpBRcQDADpKPYiwUEpPAPg5gGEAJwFMUUpfKe2ooqXshZpSmqWU3gigFsDNhJDmUo8pLISQTQBOU0p7Sj2WiLiVUtoCYCOAxwgh3yz1gAogDaAFwP9HKf03AD4H8JelHVLhmC6cewDsLvVYwkIIqQFwL4CrAKwG8CVCyH8o7aiipeyFmmEuQw8A+MMSD6UQbgVwj+nbfRbAtwgh/1zaIYWHUjpm/n0awPMAbi7tiApiFMAot2LbA0O4y52NAHoppeOlHkgB3AngGKX0DKV0FsA+AF8v8ZgipayFmhCyjBCyxPz3QhgX7OPSjio8lNK/opTWUkrXwViO/o5SWpaWASHkS4SQavZvAN8G0FfaUYWHUnoKwAghpNH8rzsAfFTCIUXFgyhjt4fJMIB2QkiVGWBwB4DDJR5TpJR7F/JVAP7R3LXWADxHKS3rkLY5xAoAzxvPDdIAdlJKf1vaIRXMnwJ4xnQXDAL4kxKPpyAIIVUA7gLwaKnHUgiU0i5CyB4AvQAyAP435lg6eVmH5ykUCsV8oKxdHwqFQjEfUEKtUCgUCUcJtUKhUCQcJdQKhUKRcJRQKxQKRcJRQq1QKBQJRwm1QqFQJJz/H9nDTQeVRxU3AAAAAElFTkSuQmCC\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"