{ "cells": [ { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Requirement already satisfied: pytholog in /home/br0kenpixel/Documents/ui-cviko1/lib64/python3.13/site-packages (2.4.1)\n", "Requirement already satisfied: more-itertools in /home/br0kenpixel/Documents/ui-cviko1/lib64/python3.13/site-packages (from pytholog) (10.6.0)\n", "\n", "\u001b[1m[\u001b[0m\u001b[34;49mnotice\u001b[0m\u001b[1;39;49m]\u001b[0m\u001b[39;49m A new release of pip is available: \u001b[0m\u001b[31;49m24.2\u001b[0m\u001b[39;49m -> \u001b[0m\u001b[32;49m25.0.1\u001b[0m\n", "\u001b[1m[\u001b[0m\u001b[34;49mnotice\u001b[0m\u001b[1;39;49m]\u001b[0m\u001b[39;49m To update, run: \u001b[0m\u001b[32;49mpip install --upgrade pip\u001b[0m\n", "Note: you may need to restart the kernel to use updated packages.\n" ] } ], "source": [ "%pip install pytholog" ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Requirement already satisfied: numpy in /home/br0kenpixel/Documents/ui-cviko1/lib64/python3.13/site-packages (2.2.4)\n", "\n", "\u001b[1m[\u001b[0m\u001b[34;49mnotice\u001b[0m\u001b[1;39;49m]\u001b[0m\u001b[39;49m A new release of pip is available: \u001b[0m\u001b[31;49m24.2\u001b[0m\u001b[39;49m -> \u001b[0m\u001b[32;49m25.0.1\u001b[0m\n", "\u001b[1m[\u001b[0m\u001b[34;49mnotice\u001b[0m\u001b[1;39;49m]\u001b[0m\u001b[39;49m To update, run: \u001b[0m\u001b[32;49mpip install --upgrade pip\u001b[0m\n", "Note: you may need to restart the kernel to use updated packages.\n" ] } ], "source": [ "%pip install numpy" ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Requirement already satisfied: matplotlib in /home/br0kenpixel/Documents/ui-cviko1/lib64/python3.13/site-packages (3.10.1)\n", "Requirement already satisfied: contourpy>=1.0.1 in /home/br0kenpixel/Documents/ui-cviko1/lib64/python3.13/site-packages (from matplotlib) (1.3.1)\n", "Requirement already satisfied: cycler>=0.10 in /home/br0kenpixel/Documents/ui-cviko1/lib64/python3.13/site-packages (from matplotlib) (0.12.1)\n", "Requirement already satisfied: fonttools>=4.22.0 in /home/br0kenpixel/Documents/ui-cviko1/lib64/python3.13/site-packages (from matplotlib) (4.56.0)\n", "Requirement already satisfied: kiwisolver>=1.3.1 in /home/br0kenpixel/Documents/ui-cviko1/lib64/python3.13/site-packages (from matplotlib) (1.4.8)\n", "Requirement already satisfied: numpy>=1.23 in /home/br0kenpixel/Documents/ui-cviko1/lib64/python3.13/site-packages (from matplotlib) (2.2.4)\n", "Requirement already satisfied: packaging>=20.0 in /home/br0kenpixel/Documents/ui-cviko1/lib64/python3.13/site-packages (from matplotlib) (24.2)\n", "Requirement already satisfied: pillow>=8 in /home/br0kenpixel/Documents/ui-cviko1/lib64/python3.13/site-packages (from matplotlib) (11.1.0)\n", "Requirement already satisfied: pyparsing>=2.3.1 in /home/br0kenpixel/Documents/ui-cviko1/lib64/python3.13/site-packages (from matplotlib) (3.2.3)\n", "Requirement already satisfied: python-dateutil>=2.7 in /home/br0kenpixel/Documents/ui-cviko1/lib64/python3.13/site-packages (from matplotlib) (2.9.0.post0)\n", "Requirement already satisfied: six>=1.5 in /home/br0kenpixel/Documents/ui-cviko1/lib64/python3.13/site-packages (from python-dateutil>=2.7->matplotlib) (1.17.0)\n", "\n", "\u001b[1m[\u001b[0m\u001b[34;49mnotice\u001b[0m\u001b[1;39;49m]\u001b[0m\u001b[39;49m A new release of pip is available: \u001b[0m\u001b[31;49m24.2\u001b[0m\u001b[39;49m -> \u001b[0m\u001b[32;49m25.0.1\u001b[0m\n", "\u001b[1m[\u001b[0m\u001b[34;49mnotice\u001b[0m\u001b[1;39;49m]\u001b[0m\u001b[39;49m To update, run: \u001b[0m\u001b[32;49mpip install --upgrade pip\u001b[0m\n", "Note: you may need to restart the kernel to use updated packages.\n" ] } ], "source": [ "%pip install matplotlib" ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [], "source": [ "import numpy as np\n", "from numpy import array" ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [], "source": [ "A = \"\"\"\n", ".XXX.\n", "X...X\n", "XXXXX\n", "X...X\n", "X...X\n", "\"\"\"\n", "T = \"\"\"\n", "XXXXX\n", "..X..\n", "..X..\n", "..X..\n", "..X..\n", "\"\"\"\n", "\n", "E = \"\"\"\n", "XXXXX\n", "X....\n", "XXX..\n", "X....\n", "XXXXX\n", "\"\"\"" ] }, { "cell_type": "code", "execution_count": 7, "metadata": {}, "outputs": [], "source": [ "def to_vector(letter):\n", " return array([+1 if c=='X' else 0 for c in letter.replace('\\n','')])" ] }, { "cell_type": "code", "execution_count": 8, "metadata": {}, "outputs": [], "source": [ "a_vec = to_vector(A)\n", "t_vec = to_vector(T)\n", "e_vec = to_vector(E)" ] }, { "cell_type": "code", "execution_count": 9, "metadata": {}, "outputs": [], "source": [ "def display(pattern):\n", " from pylab import imshow, cm, show\n", " imshow(pattern.reshape((5,5)),cmap=cm.binary, interpolation='nearest')\n", " show()" ] }, { "cell_type": "code", "execution_count": 10, "metadata": {}, "outputs": [], "source": [ "new_char = \"\"\"\n", "..X..\n", ".X.X.\n", "X...X\n", "XXXXX\n", "X...X\n", "\"\"\"" ] }, { "cell_type": "code", "execution_count": 14, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([0, 0, 1, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0,\n", " 0, 0, 1])" ] }, "execution_count": 14, "metadata": {}, "output_type": "execute_result" } ], "source": [ "new_vec = to_vector(new_char)\n", "new_vec" ] }, { "cell_type": "code", "execution_count": 12, "metadata": {}, "outputs": [], "source": [ "def histogram(pattern):\n", " h = np.array([0, 0, 0, 0, 0])\n", " row = 0\n", " for ch in pattern:\n", " if row < 5:\n", " row = row + 1\n", " else:\n", " row = 1\n", " if ch == 1:\n", " h[row-1] = h[row-1] + 1\n", " # print(row,' - ', ch)\n", " return h" ] }, { "cell_type": "code", "execution_count": 13, "metadata": {}, "outputs": [], "source": [ "#alternative\n", "def histogram(pattern):\n", " pattern = np.array(pattern).reshape(5, 5)\n", " return np.sum(pattern, axis=0)" ] }, { "cell_type": "code", "execution_count": 16, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([[0, 0, 1, 0, 0],\n", " [0, 1, 0, 1, 0],\n", " [1, 0, 0, 0, 1],\n", " [1, 1, 1, 1, 1],\n", " [1, 0, 0, 0, 1]])" ] }, "execution_count": 16, "metadata": {}, "output_type": "execute_result" } ], "source": [ "np.array(new_vec).reshape(5, 5)" ] }, { "cell_type": "code", "execution_count": 17, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([3, 2, 2, 2, 3])" ] }, "execution_count": 17, "metadata": {}, "output_type": "execute_result" } ], "source": [ "histogram(new_vec)" ] }, { "cell_type": "code", "execution_count": 19, "metadata": {}, "outputs": [], "source": [ "from scipy.spatial import distance" ] }, { "cell_type": "code", "execution_count": 25, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "a: 1.4142135623730951 , t: 4.358898943540674 , e: 2.6457513110645907\n" ] } ], "source": [ "dst_a = distance.euclidean(histogram(new_vec), histogram(a_vec))\n", "dst_t = distance.euclidean(histogram(new_vec), histogram(t_vec))\n", "dst_e = distance.euclidean(histogram(new_vec), histogram(e_vec))\n", "print('a:',dst_a,', t:',dst_t,', e:',dst_e)" ] }, { "cell_type": "code", "execution_count": 26, "metadata": {}, "outputs": [], "source": [ "#alternative\n", "def vertical_histogram(pattern):\n", " pattern = np.array(pattern).reshape(5, 5)\n", " return np.sum(pattern, axis=1)" ] }, { "cell_type": "code", "execution_count": 27, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "a: 4.69041575982343 , t: 5.916079783099616 , e: 6.557438524302\n" ] } ], "source": [ "dst_a = distance.euclidean(vertical_histogram(new_vec), vertical_histogram(a_vec))\n", "dst_t = distance.euclidean(vertical_histogram(new_vec), vertical_histogram(t_vec))\n", "dst_e = distance.euclidean(vertical_histogram(new_vec), vertical_histogram(e_vec))\n", "print('a:',dst_a,', t:',dst_t,', e:',dst_e)" ] }, { "cell_type": "code", "execution_count": 32, "metadata": {}, "outputs": [], "source": [ "import matplotlib.pyplot as plt" ] }, { "cell_type": "code", "execution_count": 34, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([[[1. , 0.43137255, 0.00784314],\n", " [1. , 0.43529412, 0.00784314],\n", " [1. , 0.43137255, 0.00784314],\n", " ...,\n", " [1. , 0.42745098, 0. ],\n", " [1. , 0.42745098, 0. ],\n", " [1. , 0.43137255, 0. ]],\n", "\n", " [[1. , 0.43137255, 0.00784314],\n", " [1. , 0.43137255, 0.00784314],\n", " [1. , 0.43137255, 0.00784314],\n", " ...,\n", " [1. , 0.42745098, 0. ],\n", " [1. , 0.42745098, 0. ],\n", " [1. , 0.42745098, 0. ]],\n", "\n", " [[1. , 0.43137255, 0.00784314],\n", " [1. , 0.43137255, 0.00784314],\n", " [1. , 0.43137255, 0.00784314],\n", " ...,\n", " [1. , 0.42745098, 0. ],\n", " [1. , 0.42745098, 0. ],\n", " [1. , 0.42745098, 0. ]],\n", "\n", " ...,\n", "\n", " [[1. , 0.43137255, 0.00784314],\n", " [1. , 0.43137255, 0.00784314],\n", " [1. , 0.43137255, 0.00784314],\n", " ...,\n", " [1. , 0.42745098, 0. ],\n", " [1. , 0.42745098, 0. ],\n", " [1. , 0.42745098, 0. ]],\n", "\n", " [[1. , 0.43137255, 0.00784314],\n", " [1. , 0.43529412, 0.00784314],\n", " [1. , 0.43137255, 0.00784314],\n", " ...,\n", " [1. , 0.42745098, 0. ],\n", " [1. , 0.43137255, 0. ],\n", " [1. , 0.42745098, 0. ]],\n", "\n", " [[1. , 0.43137255, 0.00784314],\n", " [1. , 0.43137255, 0.00784314],\n", " [1. , 0.43529412, 0.00784314],\n", " ...,\n", " [1. , 0.42745098, 0. ],\n", " [1. , 0.42745098, 0. ],\n", " [1. , 0.42745098, 0. ]]],\n", " shape=(60, 600, 3), dtype=float32)" ] }, "execution_count": 34, "metadata": {}, "output_type": "execute_result" } ], "source": [ "ai_img = plt.imread(\"lesson8_files/ai.png\")\n", "ai_img" ] }, { "cell_type": "code", "execution_count": 35, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 35, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "plt.imshow(ai_img)" ] }, { "cell_type": "code", "execution_count": 36, "metadata": {}, "outputs": [ { "data": { "image/png": "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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "data_gray = np.mean(ai_img, axis=2)\n", "plt.imshow(data_gray, cmap='gray')\n", "plt.show()" ] }, { "cell_type": "code", "execution_count": 38, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Collecting opencv-python\n", " Downloading opencv_python-4.11.0.86-cp37-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (20 kB)\n", "Requirement already satisfied: numpy>=1.21.2 in /home/br0kenpixel/Documents/ui-cviko1/lib64/python3.13/site-packages (from opencv-python) (2.2.4)\n", "Downloading opencv_python-4.11.0.86-cp37-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (63.0 MB)\n", "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m63.0/63.0 MB\u001b[0m \u001b[31m9.1 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m00:01\u001b[0m00:01\u001b[0m\n", "\u001b[?25hInstalling collected packages: opencv-python\n", "Successfully installed opencv-python-4.11.0.86\n", "\n", "\u001b[1m[\u001b[0m\u001b[34;49mnotice\u001b[0m\u001b[1;39;49m]\u001b[0m\u001b[39;49m A new release of pip is available: \u001b[0m\u001b[31;49m24.2\u001b[0m\u001b[39;49m -> \u001b[0m\u001b[32;49m25.0.1\u001b[0m\n", "\u001b[1m[\u001b[0m\u001b[34;49mnotice\u001b[0m\u001b[1;39;49m]\u001b[0m\u001b[39;49m To update, run: \u001b[0m\u001b[32;49mpip install --upgrade pip\u001b[0m\n", "Note: you may need to restart the kernel to use updated packages.\n" ] } ], "source": [ "%pip install opencv-python" ] }, { "cell_type": "code", "execution_count": 39, "metadata": {}, "outputs": [], "source": [ "import cv2" ] }, { "cell_type": "code", "execution_count": 41, "metadata": {}, "outputs": [], "source": [ "image_src = cv2.imread('lesson8_files/ai.png')\n", "image_gray = cv2.cvtColor(image_src, cv2.COLOR_BGR2GRAY)" ] }, { "cell_type": "code", "execution_count": 43, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 43, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAh8AAABiCAYAAADwfrHnAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjEsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvc2/+5QAAAAlwSFlzAAAPYQAAD2EBqD+naQAAfVlJREFUeJztvXeYJtdd5/s5Fd7UOXfP9OQcNCNpNJoZRcuWLMvCAQx4hcDGeGEBmQUMe9feXTCwdx9zL7vsXcAYWMAmOtsysiVZycqjNJrR5JxD59z9pqo6949Kp+qtt7tHljXj5f36kaffqlMn1alzvueXjpBSSmqooYYaaqihhhreJmhXugI11FBDDTXUUMO/LtTIRw011FBDDTXU8LaiRj5qqKGGGmqooYa3FTXyUUMNNdRQQw01vK2okY8aaqihhhpqqOFtRY181FBDDTXUUEMNbytq5KOGGmqooYYaanhbUSMfNdRQQw011FDD24oa+aihhhpqqKGGGt5W1MhHDTXUUEMNNdTwtuKHRj4+97nPsXTpUjKZDNu2beOVV175YRVVQw011FBDDTX8COGHQj6+8pWv8MlPfpLPfOYzvP7662zevJm7776bgYGBH0ZxNdRQQw011FDDjxDED+NguW3btrF161b+7M/+DADHcVi0aBG/9mu/xqc+9am3urgaaqihhhpqqOFHCMZbnWGpVGLXrl18+tOfDq5pmsadd97Jzp07K9IXi0WKxWLw23EcRkZGaGtrQwjxVlevhhpqqKGGGmr4IUBKyeTkJAsWLEDTZlesvOXkY2hoCNu26erqilzv6uri8OHDFek/+9nP8vu///tvdTVqqKGGGmqooYYrgHPnztHb2ztrmrecfFwuPv3pT/PJT34y+D0+Ps7ixYtZ+N/+M1omA0CoF5JQTRgiYv9G7sWeS0qjycp7IixZaDHtlJJOeOmE94wQ3r8V6WVFXkK4z/tCnvBfiebn6z3r56dpTpgO0IQTNt97TgTlu3m76WRQV01IdOEEz4T3QUMG9ffz171nNbz8CfMCMHAqrgvAEE7QDl043n0QuHkZmnsN3HKFkOjCdsv1fhtKfQxho/v96NcfNz9dOOg4Qbs0lDYCBrbbNr+f8OobPCu9fg773cQO6qwj0XGC/gvep1JWOAxlYFBlRK4T1MFQBkh8j6D77RIifA+AQMTGlUCPXfN/+Wk1IRCxJ0Uk5exIfNK7IGX4twpXmSsRwutNKYPvWDK7pte/KwAnklZiSSdII73/xZ+1vTT+bz8PG4mjJLdjz/n/OZJgJDiRfEUwOiypYSu94oRfG1IKbNz7UoYjqix1pWwNy/utjDgcBJbUcQjLcsvTg3JsqWFLzaufWx4IbASO1PC/KEe6af262VIPrvsjv+zoQQ86CJBuOj/fsN3gSHfkuuWB5Y1IR4Ztt6X7nCPDOvhpgj6VAl/Z7z/r1k/zng370fHK88t0359XnlTb770zGab3+1TKcEypefnX3eESXnP/8NIp40V611H6AD9vqczQ8eHt+O0VscziA1AkXEu4Hk8TlFPli37LDSuqwykUuPBf/hsNDQ1zpn3LyUd7ezu6rtPf3x+53t/fT3d3d0X6dDpNOp2uuK5lMmjZTOSaDIaTQIpYj4rou41er04c3MJk8j2VfFRJJxRiE5AEpUwRSe8tsonkQ0YmcaESCG+xjpOPyG/lOd1bGDWBQkLc8nUt+CQxtCj50IUTkg+IEBhTcyLpwvtueUmkRBdOcJ1gEQ7Jh3rff84lGFpskbZDgoTmPReSrnCa1jG9tJFnkS6xEALDm5q1gFxJjyhoGMJx+y1CPvD60r+uuXmIcMlwlwGXBEgI+iMkJSG1CK9FCYem3I8PZSHA8ChAkiDT7y9idML/WxcCLeHJCiJTBZqXf2geJhACHCnRqqhG/QnZTyeUVjk4ic8kIU4+ytL/y50NBFqEgLgLtVIHLw8bqSxILmzlGZfoRAmIo5AP21vowjJC8hHSZxdlqWMr/e0v9knkI6S7PkHQYiTCJzsh+XCkhqWQD78Mn7SoVLfoGEH9da9OwaKNwJQCS2pBHigEx/GuWz7pCAiBSzI0r12OsvhrUgt+u2SCCvJhO1rQX9IjB44U7oKPQAdsx/86CchM0HdBWtBktHwpwXHCvpcxglNBPpTf/rXgvTkisvD75CMg3P7f3k01n+iwFRGCU3E/qHwC+ah2LzHNlScfPuZjMvGWe7ukUim2bNnCk08+GVxzHIcnn3ySHTt2zDsfKWSEYEhvgkdQSTxmzWgene+/2Hh/xVlvEir6WEQGcPy55F2iqHhOfV7EcvF3DtKXVlSrm/+xVdYQIbyPuApU4uH/v5qXSobUXNSJtNrg8nOxpRap21zDVQTLRHRC8Ms0RHRRUyURbuL4/j1ab5V44ElKgpK9SVdPWDj9vGxv4teUvnGqjB1R5e8kGIGcohK6ELH+l+G3AmgItColzCWBUOFIV4rhSjI80jXLBCPUzYJQ35dMJELxejnef0n5akqb422wYx9R8B5k9D04sTRSTS8rvztdIZuRjOPrTGTxD7/tOOKEJXLPW/TD5Tok/HjjTIVKo+MICLIyT0S/YRm55pfvVJkbHE8aEKEP3nxc7RmvsABa5Dv1y5/9KxAVG0i3XGeuj0v9GSMaQMXvua7jz+FS+Xs2KFKeyCY4/lx8k6ySitn6Rh1eYp7f9Hx2HG8Dfiiutp/85Cf53//7f/N3f/d3HDp0iF/5lV9henqaj33sY/POQ0iBCBitjEg7xGyD/M1iDpJy2bavMr5geB9ZQhlCJBceTBax9mqKSqQyn/lDj6X3Jz2CBT0Zvsg3YP0o0p9Zn/TKqRDiz4IIARURiQORO+E1f2IMyY1HChQyEs/BEHbVCTxSnTmqqwsHZ5ZU/nJiJcwzSWUIT12At4OPp7Vl5TWhLKfSU1VUm5TmM1m9WYe4gHREpBWVqpIkJJMmgS40HK/NSaRKF9Gx5QQjIJ5/iPjXJxOu+SoXvPGrKURVJ/oyTYXaVPu29YRRMp9eFkiMGAEWiTWOwlGIfvgNiMg1v+t8CSgxklRtQZ7PN6/eV+cZH7qoLg2TVcquVh/tMuZBobkkxpWCKNdnyUNVocz70xAJg4zYb7U9QvlvrpEhmR8BqTb5XSH8UGw+PvzhDzM4OMjv/u7v0tfXx7XXXsujjz5aYYQ6F8J9rreQK2QkMTFJK7IMX3y1NcEfaEls1M/eF2mpqpjLWuwFgUpmFvgiPSndsVg1uT85SBHuaqQ/+JKFOOq0LKVEChGqGAI1hqx4QItlpk4UgV3KHCNaF5V7vbjdSFK9tVifJfdLqIc3hU0SNCQOGho2mnD7TRf+IiaxpebatiQ+XZ0YxuHm6wRt0WJpNX8BqZKB9NQBWvBOQioRt+0A0EWyXMNBoiMClUmSOHa+ahe/fEeGY8WVvCWrXWSQxpeWoBBVlRolt9/toeofbJTWR3OyZHwRc0vThUgkamr7ovWIjlYZSS8jthSzIUnykbx1CHf/7mIoFImGS6T9NHaVPaMhHCypR9oTSCGFDO0wlLIdXxWjLKSqTYbwN36KNFR6tiSakJ701E0V/g6fDexW5tgw2gmEJN47SX3mfsu+SqTyicgzSv3xyJZju2n8MRr0mTIPz1YfXwoym9QncbzP9hFEGzA/zEdS8mZIx3zq+SbxQzM4/cQnPsEnPvGJHyiPyxI2JH/P3mqcMCrFLL/nCSlFlIAk5DP/rKNv2bfpkICdN9CHDeoulLHqdQprLdLp8iz1AtXLqaKeRMmKf82fKOIkQQuMNpX64X+cIuhiIWQ4gcbykFJ4pEGRUHiTrP+ckO4E4UgtWMAd6RIGodi9yGBxQpmeK3c8WkyOIXwCIu2ofU1AJP3p0oWrZonmYXvX1K6Tyk7Yr4N/X1XD+HXVPDWALsLyVahD2ZYyUK34parpHW9xiO73w1RSuuoLl6TEF8HK/JIQXXjDq1XVLh5B9O9LGfaHKo1IQtjOeMn+fYHmEYk4kvLVfDsJj8RWV22GpWkCdCmxQrleRR2FkIgEleb8IGf9peNgESUR0fKTZ5UkVY5LupNVutXy8u2+4gtqnEDE1bahuqhiMx4dQ95372YqgnrG1Ukoz1dM4zLyz/wgYypx5cUHa7ZUSFO1PlPr4o9ttU2RxLEd4ZsaMJezOCV8zz8IgfghSkmuuLfLXJj34l1N8lHt2nzuK4WrRqTBY3MZsiZlqXgHROduWXGtWDDJHDFp3m8hpiE9pmFnNJxCGrZVkg9lj6IsLVUgfLIQyGSC7amMTCAiIAMok5K/yDq4EilVApI0JfuLcORaBSnyq1axZwl/xwiMn9Jd1J3oRieBjMT/9gmCkKJCaqLurcP2aujYHmkislQ6ytIfb2tYXxEskslSlqRnfDVB5cQiY+4m4YTv71ZBr2r1wby/MF/1qdpvVDM4TbRrCiiaRFP6IAnCJwtV6uFLYAJ1rDIK4rNl6BtDsn1AwtwsEwiXLiS24rniE8m4jcfsu+UwR5uoGiSUPKj0rnp9kxC1FYl+hZpnHxHPM0kF4sjK8RSHLpyI+jWxPlWe9qUwQQHBAo7nFSVCSU2VvONSIuHzGBl9z0nvMrKFiqnHg3fib0aqkpz4LnM+k/9lkIjq/LsqXDL8JnfSVwBXPfmICiikv/okJ0zs93m8PUdUuuNWFp5criOiXjCzZFFRs6TmSLDKOtrZND1Pl9AnLfSiE0yjxoxN7qJBXlkUgwUncM0NJQoRN2BlSpIJ7dEq0roVEjG7i8BgzMtDi933y7Gk5tlS+AZ7XjmK94haLxFZ4K1kAZUMpUJESpVY6JjSxvHUSbbUEJ7bruNZ0Wv+giGTdcNxSUnwlyfZ8Y1Q48+GPVdJnCwpMIWMLDaq2sWfIOMqGh96kE7iVLF1QEkTli88Q1Eq/GREsHTOPVEFxqtvIuifTxQ0obmqvnlOjlow+irfUTgvx4mGR+qEprjbJpcYV85EyIesvKfafAhPNeYoY101z7aUvvbtCeI10Lx3GScIICk6ppIvypfoopqEQC1FempItQ1+P/hShvnYK1QzjI1QJOHuWHTheGUmSVNCyYDryaLWTAQkJiQVStYJFfDzc5yEvogQCoWICY+sepOf72EoVQ8WfzaJs5ZqUCUnbyVEZKDPC9KTxv2o4KonH+oEKap8CIE8N7HfIwrnMH0kSZX4Ico3lDSBSSkq43/Mgfj8rcbeoKThDJi07ITGU8XEr87KCoZvEORmabJvdyCoVLn4e0U1Tshcw9VxROAenNQPsz/v66xDnbEfT0Ai0D1yIpUFXhd2sE/2YTs6w1M5jg900dk8zur2PlfCEHeHrgKtikTGhyFsZaKv3HX75MDf6Qov/gcxiYottQqvG0MhdfMR1PtLhi5EsHjjLchqvTQhKq4lwZa+G3N8AXRrM2KluDiTQgqbtfVFUrH6JxEA3/tlzrYocT58lYkj55Z+MId6Bs/tWnXb1b38VbsPDYGNxJpjpdVihGQ2yYfjUTnpqTTim4dIG6RKRPypyFX/xWskElQZAHk7xWi+joJt0l43SUqzsGaRm/mEwRAOBcdgejrD+b5GzCws6hkJypqPOL665CFa79l+OxC40eLNebN52jGL50z8uqbJSgLiz9kJUosImVNUJursEZccxbugQnUTh0zohLecnSiYx3ucV5q3GVc9+VA/7UDMmrQlZi4xww8mjao6z86n7FkgAWlr6KM6qb0GbftstIJFuV7HnHEqZMUjW1Nke8eD3+4O3is+UTCkLM4Ks0dKbKILpSrEjnC1ebYtuYtV51svvyDfZMkHsUW6JA2OH1vIvseX0P56mZM7FtL+M1N0NoyjQieqNglNAt28LD9GR8w2w18GHPw4IC5sL71fZw0HG80LPBaFX19dUUfFBdoqubEkmEommpLGCRZDGdmxxuF49hxGhdGpSCw/WhfJtHR4YWgZXz+5khcPrkVkbR76sa+wrH4smpu3s5XKh+eTiPkQECkVN0/PUHWueXD+bsDzm1U1ES42eH2jxvmQsb+losSplHzIIE5GEgwcSh45UOVL/viRgd2QT15CCYcrEXRwpEZJGpyZaGP3uRUcPLIIzYYfu/VlVnX1J5Ybx0gxR9/eFg4+3EbTE4OUF7Ww8K9HIaX0XoKtgiEcyr4KxxMKB/2jxAIhuBYtN94vPrEL1FQJqp6I9GgWuwuVuAgktlOZl+Z7r8TfUSzGh1fZWbQhoQRFokhURPgt+Pf8uUsNPhaW6WcyxyIkqlRmriGukqEkaeZVRjp8XLXkI1nUp0pAEmSjJIknvIuzGYb6ysLL29IHIrtZ3bLiRcUiQspJg+xhQd1xjbrzJeyUYGKVSanepHV/AU0hH5PLTErXFsgQfjRxT5RZ6xv7rYZnmk0w5HdutbaqxpPJUgPh2mME+YdbEpFgGOtIDeF5x5SkzvH9izj39YW0X3DtXIxxHa1MxVfpqmvijrzhLsYnFpXGpu7femxMxaUUtpd/EuJRFGZ7LWLWGChRtZf0XG0Nb8xLRYGS+B0E98Popk7C9uxYqYF/ObmMf9q7DdmXwfCDcyWJsYN2Rb0CRMJ4rtYmP4/5zIOzpYlLQ+a7ofM91ZJ2wyI2fejCN9QNF5+k3X3UPPny2yK8xUb1fnG84F4jVh1vXFjCy4dWY13MYgJOWiJs1a6rOg4NLGDw4Samv1Gk+dRJAIxc2ouCGTcMr56Xb7CKv6h736mOb5BbnYRVMyJNIjwROxDVfkX1ZiFuzxH2myTa2b4dSETtovwOx3EYxfTNrNER4UYVg9PAMHlOEvEmiEe8Ej9CuGrJx+xCjMvs7WpqFR/zUJ0kTrIyGuF0LjVN5FFHoJ9N0fq6Q+aCjV60sDMag7cZWM2C5pcsNDus18wCk+nbbcy6sudhkhDky/sjShDC0euTBFXyQCRlKA1Q6+67pVYjWZUqnIR8k76risBNoQRC9yJFHt+3iIvf6iZz0QqS2Z1lZLqyLvH6R1O4E6FAIiSBXYhUlHk2wg3l7rfbMy5Fkcr4/jZqH6lxHxwpMBVX2zik8t9ciBtIyhhpcfs9LvPw85eB3YTqjiuRvDLVyZ+/vp0DR3uRM+EUYHQWwYySK1+t4xtuut+BMvISGhmQE/Vb8D125mFoIIKdcpxcyQiRmk/MEL81Qnl3FfWt8lu9XnU37d9XylJtPkJDz6jkRAKOrFSdCCEZLtbx0MHr6TvShTVjhvVqsJFZJ3CPTUJZ6hw+uoiTf6mT2TmCOTkT3JvZ1I3UByKbDtVDxROIRlQis0k44nCk2r4odVcJR4RoRCKIhpIFVUoglIV9NrI3LxIqohI83+geKRLnjMgAj0gmYlKR2aBJl9TPZY+RJPmYz2QRY89xK4OrFVct+YhDerI//4yKiklHVJnt55d5+PYiYorZ8wxuy0qD1WrSAxDYJY2619O07yqgF9zrEyuyjNxsoTXY1D+vUXfBClYfq85geouEnlKwUxfKRykV/3WREPFUJSvzsTmotmiiTACqIavv/aIaQwrlXBWUNMHzASES3o4qdLU1hIMjBSePLuDCt3pIXXCCmc/J6GxccYHGTL6CENpeHI9K11upvKeoqgXPTkMTtjshJr7vcHyoRoc+4p4zvosunjTFliKw+/Dz06vYqiRJoqQ3d/mqGD3YJYervAgkI6rCQCiuugJbwlPjzfzBi/cwfaoBaUcXsRu6ztCQKkauxWls5N8q30alXVOcIPmEJnksyqCvZx+rFdFNPXKiGpwKr7y494xKUEXw7rx7vm2Hf06JTzD9c5G8XX80XkYIHQc/Yowa58OJLKDJM8TZfBt/9+otWCcbkFY0TVvDFI3ZAjp2hc2HJiQzVopdu1cy8ac26T19Fex1bKPE5zvSa6cu7DDMeyABCMtVJSNzSXl8UuEkpJeK2ko1OPVraMswUH60fCLxOeISktng5xX0QrC4hyTHNSz16lsx3KL1SBqNiSNUTRw7H6YqqhUgvFLm0eaqxqbzYkhvAj9gvlc1+VCXqtCNqMqklDRrx+9XiAr831V6cDYyIb0D4kTkq52FrAiEBWLApPMZSbYvD8I3IDUpbclj6BJ9b4bmwxbCk3pITTC1UlJca5EKJDRhD+hJZCNWDZ+QuKr7qMGpCjemhuOu0cF9QaFkMNzfyNj5JvS8BkLSuGWIVa2DwbksBJN4+NvyD4oqu4tcOlUmo1uKJEZD16zKiki4ONjCwUeX0Hq+HNlKF9bZNK4fI6XZVbxz3HyLjoFd0DGKEseEVK5MkzlT+eqrSHvCnqy8YseMYX3Jh62EeC9Ig8liFpnX0DVJur5EizET9JFq8zGXlExF3LpDU2KAREm5CO5rCKYdnScGWvkv3/tpjAmNdLqEsWKascEmzFEN3bB5b8tRWvR8pDYSGTnTxScSasCxanYfs539YiOZdgzGi1nIa8iUpClXoEErzdJ6gSE01xYmKD9ss+6RDDsWaMxBUpbR70QLFic/TYiCk+L4UCv/8+CdDB7vQErYcM1Z/t2Wp+gyJjybqeoT/VwBs5KUZSWpc3RsAV95+hbkiIlmOugLCxTyKYwRHaFJljUN0pWZUMa7DOKYjBRyPP3UClJ/VMAYGsVqNGHHKlJ7hnEu9mHXGVy76Qy6FpIyBFhVbCbGCxm0gkA4UM4IUimriqFo6DGS0BXhHB7YjkSJlyoRiROP4Nosrr+a5uA4qmSPWFpZdcsVJxtBcMeE9DKe+WVgXo9VU3cq5GiuAqp6r/0wiMdbkO9VTT7ie8zEA+Xmk8lcM7vvajvbnFG5arlI2hr6Q16GtiZiQiN3VKd5j0VqwkbqgqllBuPXCezFRXTDQfSlaHldohU9UzghmFlkMHWTTSplxQqKSg6iO+Vk2wxV8pAkm9OEvz8MhcSTUxku7e6kca9Bm/d0qUUGIaTdHYviXeN/8lIwPNrApcFmRvqbkI6gc8EoW9ceD70/4gam3u8LU0288tAaOvZFFyK7EZZu62dl62D0uWDxsXEQ9I21sHv/Ms7t7ab+GOR7BKvuPMG9N+wBL4ppfEqypXsonSoaD41No1KKeJAxv90GrsRmpFzPSwdW88TeDZT31FPOCdbefpL/cvd3gv435/DSUQ1GXQKRDH+B9wmImqfwyMrFcpavnFnNlx+7CcPWaOkY5703vkFDZpK/+dbdlIXGytUXWd87HkhV4lA16MxCKlSEQcaiBM9GcHgix7cOrOHRfRvhQBZnSZmP3vkqv7hpXyw8fCWSiEeQvxAR1U4kGJ1yL+7m6pc4UsrxT3u3su+vlpM5K1jEOOV6jWxnKVitZrOTEF6QsKRYudV27dN2mlcureTFFzYiJ03MhhJrNp2hqWWa3c+sZQadbMcMvav6XK+sWB4Xxlp48l8W0/SH53EMHX1LG4Wfb0AUijgP94FpUP6phXQuvxgE9sNbfF3jUj0gIzNWipFTTRzd10n2kImeh+kNFte+/yR6KsneqfK8FALCEMqVIgQiIciYLiTWPHb3FeMhQlzmejguhUgIOuZvoESSx80s9at2qJzv3jv/sxQr85gn5hev+OrBVU0+VMmHDyEvk4AkyrHjooF5hGBPhPeQSkSEUpwn5jPPGzTucWg4U0aUHfIdJtPLJdPXSkRjGU1IrMkUbc9qZIbCBdfO6YzfKjFaSpGqxSOYxlHtbIMKt9sEN9yAoEjB2EyG0Zc6aDwaDpNSI6R2TLCkdUTNuaKc8+fbOX24B31Cw9daD1ktyDUiVLtIX0Yfql2GSnXse3wlHS9FJSLSAPu2Ags398cmGn/ycd0XL4y38uo3NlB6NUtr3u1LY1JgLjERW8OnNGVxi++1KqKzzjEspGKsOi3TfPPhmzn44CKyA0WyTLltN9qRd4e1jRrphhDKf+q1yx6a3jNnSvX8xeEtPPPKOkqWQUPHJL968/fpapnh95+6h7JtkGvM857Vh1mdGasoJTTyDjMVCqmYzdslvB9+IBI4PmXwx1+/jdPP9FA/YQMF7H6N/t422OS/22SZrh/S3UkgIDKgzpXQRJSoqN4ufmkzjsmX9t/Aq/97Nbmz7l07Jci+o8D7bttNtzkxh8O2X8dkKUBST83YaZ44s5E3dq2iOJmGOpubbjjIkp5+vvf6dUxPZ9ANhyUr+1hZNxiV6ANnB9vZ+Q89NP7DRYSuoV/fSuevF5mp0xj7lJuuuKyBBe+cpq6uEDxHgtShYBtc2NXJ5Leb6T5bAFwVnF5II94rIl4yUbNumagqSfJqIUbCgrbIMFS5VMKmV/Rt7Nps70KlisnpZXhQohSRITdbOPgIt/BVN9U8VYKEl0koLie90m8kjbPLLfttwlVNPpL6rGofzibhmIvAzmdWT5z954gfMmPQtBvqj9mkRy2kqTG2Ns309Q6lTgfdM+6zyjrNL+o0nI7u9Ptv0aA3H61qQA6q69xV+4rodd/gVFZEbLUcjclimpnJjFtOSaAdzZA9aUQ6vdQocCbTHD3YS2PvBAuaxirqMVrM0ne8HX0iOvksXtuH0NSoqmE7BJKiNDj5yiKyzxogo26zo9tNbr97P92Z8YjKw/9L82w3njy8jtyLGXQrfF40OhjbZxSSUCl1mO1gK3+HNJ+zfB4a3MSJr/eQHVFsJwSs+zeng/rGh2p8aMUnEcez25gPfGsaDRi2M/zPw9t46ZXVlGZMUobF/3XHw6xrG+dPXrvFVaMZDtu3HucDC09XSD3i3mWaCE9Tjksl41CN+gKOLly7k784eT1nH+/BLITvqL41z9pbzyg0ohI2jhebJDkAu+a5GEffb5helajYQL+d49nxVZzPNyOBSydaGf3HpoB4ADgpjaGWJr62dzs9S4b42UU7SWtWxJA00u6YQapQDFXtYMEVQac8eOZ6Dr+yHGvKpeh37djNmoUXeO74OgZPtSEcaNk0xE3LjgSHFvpnu/SNtvDyF3swvjqIVnQQ3QYdv1XC6oL+P7RIHxum3JYh9ZE6Fq27EIzxamvRpYkmJr5fT/ZcIXK9/A7LNfBWHhTKVyy8cTGXLYbfL5EIqsriLZ3qsTWCdyzcmEFJC321dgXXgyBjFRWb9fkwo0qCoWgk3ZE2KwGZn+3Gm4IgiKVT/f7l5vdWVS4ZVzX5kMoEGODNqF1+sArE/3ThycWFVIKN+WkdgTZi0L7Tof5sGWGDVaczeGOKwpoyWp0dWM9rQlJ30KTxiBWxbRi8IY3cmFeCe4X7X01ILEunfCFH5/ctBm41aVw9FlRUennM5QjoHo8tGBmph111pAY1Mk7YYK3k6nxV1F2SyIEMdq9F46qBIB+V7KR0G0NK/ADwQkia14yyYmF/5DTQeGTUo2d7mH6mnuy0UqgQDGxPcc9Pvkp7biJIWy18eSZXQjiZ0CrXkNgfneSmJUdBCjcKqrCDCKe+FKYsdaQj2DfVy9Nn1zB9voFFj81QatJpff8wH7j2FVqNKe/cDTfWhw/Ve6A1M4NRKmN7oilNSHL/foL71rzkNidQAShNVOqvLuyOvyP0JH4CgS0kpqJm05Xj5VUpQEka/O7R29n94mqsko4Qkg/f+xy3d/bzlUNr2Ll7Nbal0bBphP+05nna9OQD+aS3uBCc+qkE/RORIRt7zneTVIiAJ4rvzY5xqGx7fuISPeWw+TeO82PdZxW6U2mQqsUMR6Xy/z4s6UW2DaL/qlIR99eFco7//PIHaPsrh2knTdlxVSRWScecigWIm7ap/0aRvvZu7vjNg5ia209OTMLhG1Q6UgS2TvhS/oSP0AH+8dwODr2wEqeoI5Cs3XGK6xed5NjAAg68uhynpFNeXOIDG3bRYs54cS/cciZmcjz296up/9IZtIKNk9KY/m+9bFpxmoOfqyP95ARoGuZPLOWadx+lIZ3H9gxLVaf3SFtNG0OW3XZ5A3XsFoOFOwYxjPhJutG3LXxi4GjevOLPRW5eQll4owu0O+IrgofF7UuUeUk5x6Aiumy8jnKOWVANo67G/ojrcdS1OHFd9tYBbIGY0kkPaWSGJM1HCxTaTIau1ym32bNskKsQExkrOAnKfVmNgFwukXgbJCVXNflI6uvA8HS+pGKuF8c8bT4IF2RjVMMY0zEnBNkxCz1vMXytSXGJhWZD5oRBx6sWqXELxxTMLDAZvElDLih6W0AZeBqIPoPG1230fDj5F9pMxLIiqRkbZsAxBNRJhO4SG2fUIP1smq7DZYQEs09HLtTRLYd8PkWhkMKZNhBlDSkkqa4izQsm0VUi4x0PO3KqGePFOgxPwDLXeSPCBiclMW4ao850d/eaiAbtqjNKLNh+gVN97Wi6ZEn7ML31Y6Q941L1nBf/uQtjzQw80k79WTsUfRqCqa2Cd//U67Q0ToWn0iZ8GQ6CsqNz5+qDfOeB6xCnMxQ7bG6/7iCbms6hCwdNhHElheedU7BNyjMpvnlyC2df7KHrxRIG0CQFE7IOBuDYV5dyqe0ErcumPI8aWVG2AGakyR0Nhznx3zs5vHcJWkOZH9vwOu9uO0QmybA2hrw0mSxnyM8YHJzu4vGR9ew/vwCt36T5kKBcJyjekOd3bnyIm9r7yGnR+Jr+AluUOv/15C289uRad0LUJbe8Yx8f7T3MN88u4U9eugsdQcumIb55y1doNZJnmogNiWpLUfV8ohCRIGQeaXGQzEiNn1l2hhP/tZvDpxfS2DXJp9c+wg05KxaNoTIKqojEOImqXaYdk/GZLN/tX8LfvXYT3QNlPn7fU7yr7aRrkwQUpeCN0R7+9k/uRn9FY9z283BhJsRwERK0smTJHWdZufxSYO+DdCUQE1aG6eksTw+v5fkzq5m6VE/zMdCLUK4D69oC91z7Ord1HUZo7mdnSZ1/uXgdh59ehVPUQZP0bOzjzlV7OTnWxdeeuRndAmPpFB/d9gJd6QlX4iE1hIDJUpp//MctdP/VYddtPGMy+l9Xcvem/ex/sBfrm1NIw0Dcv4rrf+UAOSPqwSR88iTDEOy21OjKTTL88/UM7W1DOoL0yknWLD5HWreUJyt6iLKtYZUNCtMpTvR1YA+nqTsvyAxKpno1nLUzrFjVFzyha06CoauvdnFHcdnWcUoazqTO2IUGMicNsiOS+jPuRFVqMhldZyKvmyHVFm3ffL1hhHCjN0spkLZAK4JzPk3jMYFjwsT2MjLnhGQj4TMRgLQF+gwYl0xaDljUXSxEhOLmZAlRTtP/brDNyjzUl6JZoM1oGJMa5hRkhiVGARwdphcKCu0Su94hotEScQLyJvbcV0A1c1WTD5SdoCo4rXC1jdNSFfOx5xDhpFpNjSIsQWZY0Lhf0HiqhNQE5+9KM3G940bKkjbmoEbdMUH77lBVMrE0y/hmB5My5olQvmdNGAhb0HDSITMYXZgyQyUyXwUwkLpgcpXJ1LvKiEYLcSJF/QsGdZdCFU3DEQf7TCO5SxYNBdubWsL7M90pZj6UpbF72ive/cBHzjZhvlCPUZj/qLOyYG/Ps65tKLgmpWDKSpGfSiNn3EgZRsZi+7JTpDwRdaS7vX/dHarEsTRGX20nt18P1C1SF5TXwXXvPU5780RYlicR8NtQsAz6h5tx+kyOjHTRlC5wz9IDtG8ZI62VMUQY5kgoJ9UWbJMT/d0cOLaYMy8tpH6/RadTqlToSDDHbfS8uzD5Eo9g9y0Fhyd7KJ7PcH6whaxW4pae0/zivc+SE+WIVERtgyUlpoCy1DhbbGFouJkD/T08fWkN4wdbyLpCJZq9ZxxAn4Tc93P8f4d+HP2Bb3F79kJFhFMbybf7lvH8UxuCHeaCZf3cv/g1Hjq7kP/x1PvQy7B8/UX++7bv0VKFeMQqHInZEemhBLsP/zPyCcikY3JgtIPxc7BvvIXe9Bj/dskh1r3nadIVEhPptVdj12QH0xezGHkotgi0rM2GtnM0e0ROQ1CScGyqlccOreHRnRvJ7BR0WRIrneLAyoXc8O5zgQfNsdEO/vkLtzH9mo5mz88C0DEEcrvNre84TLc5Dl5g/f5SA/svLObps+s5/8YCshfBBBpyrnpTOO770p/L8tCpm9n8kbO0109SQufg6EL2v7QSu+hS/VzbDDeuOMq5kXYefG472gzULZrgx7bsYkHdGNL7ViRQlgZPfn893X9yOJy23r+QrTeeZv9DvRQ/N4ONRepnetn0SwdpMAoBcVGnSOH9MZLPYV3KMtNnMF1O0dOWZ8XtR0inym7AM9/l2FvUVSnDdDlFfizDxKV6xi41UndCozmiORZkByV6VmCv1BR7MuV9K7FBHOnWszxlUjqVxjqZo/mwzaKJElDCyulITUNYDqnRMl0vlpm6kKb0kWJsbpdIR8OZMkiNOAhbUKrXcFLg1DvBkRhSups5MaGTOmVQf1RQf9Y91sJJ6RSW6BSXq4dVimj9ywJzRGBe0mg+LMkORlXkKlITFjhVTm9yBMakIDWqkR4WZEZcMYxjhFbnmgUNZySZYRhbJ7Dqk7/bRHfbZJHQ7Gnmix+AtFz15MNHfIcXwWzEIokKVktfJQ99RqPxgEPjCUl6tBwkbdlvUT7t6RIdQXbAITMUIxLDZVLPCYy8IDWu1ns2l0K/PoJ8j8n0NhsaLJzTGTofA3Mi+mzdpWLVLAByfSVGjzaARz4Apvrr0F+tmzfxkBoUOySptdMsWhuGd7YcnZHhBsb6GhkbrMfw7DysnOSGdx4ilanc8UfPRBEcOL6IyadayJTKQbvLKwTL7z1LV/dI9NAnKXCEa7txZKSb4ZfaOb2/k9xJiV5wGNSbeWZrG1s/uo81df0JxMPhyFQ3p17u5fDLvWSOCxpKlScEqzCvKaD3RtM4UnC21M6B15bzystLKezPke1330t5lcHP/z/f49rM+YiURyhtlwgeGVnL+dMdHD65kFPnejD7NIQD2VnqUmqGOzYdpl1Lfud7pzv58mvbyRfTADQ1T3Pn2v08f3EpX3rxVsyyZM2Gc/yna59jeXYmMY84HBw0KSo8SURM9RBA+b5enWrh8Rc28PyeXkr7M5hTDtIQ9N7Vz6c+9iQrzMrvIC9tvrB/K088vZTRw02kxmF6oYbRWeRX/+2TfKjpLI6UnLYyfPuNa9m/s5vze7rIjdnBTKgXHV68tIx3Fw/TkB1gMF/PP31vOwMvNmKW55ZCAZRb0mTeMc573/kG27pOIgALwfODa9j52lqO712MNqKTFWC3OyxYNcCKBZd4eWA59gtNgX5DsxxXQoHGQLGRpw9tYGysHgGYaYtVqy4yOt3Iy7vWwqRO3bIJ7tm0mxVNA7Fw5IKDpxahfX4Gx8t7Zm0Dzjsl5x5ux/rLccqaRd3PtLLuvjO0ZKewYoHMpPcdTJbTDB1t49yrzYhDaeo8O49LLU2k/sMYK3pd9qtGOMUbv9N2iuFLzUwfr2fmUo5sn6Ah1ndWFko9NrlFM0x3SLQzTWjNZRoa81VOsgbb0pk5VYe+x6TxoEQvFkAT5LtMikts9B4b53CGpiOhTYqmSq+8qd6xNLRDGXKHNOou2GgW5Nt0iu2CiVttzAZ3zFnTJpkTOnVHJXXnymgl5Uygko0xmKK01AY9ob7jOg1HoeG4Q3q4hJgjAtvoOhNHVV35+9CiRu6CIDMgSE24N+wMFNqg3CARlkbDaYkvOBVOguWBQgASl7Y4QXgrJRw/QF5XPfm4LPFRUuJZiYmfRiTbkkgwpjRadzk0HSsjrGiauIFoEjLDsy9ss1ZLg+HbJcaCEs5YiuaXwJiY38QZh52SQbCxsqMzg4G2MY/lHRxnnE2RvqAFNh6FDkl+sTvSddOmqT5PT8c06eYiWdNtU9426T/VxtjpZuS0HhlMTtbB0JSPOaF/JfDq+SUUv9pCTumn6SUp1vyb4yxZ1F9xSJsQrivj08fXMfWNFpzTaU/a4/eZINdUojM1GXXlFQ5Fx+TJIxsZeaid6ZN15KbsOb8ea4HkmjtOsqh+2P3tmTy+Or6Ml/95LUMvtWEOW2QVMlnq0llohOejyMi/gmcmVrFz13pOHlzA1EgWc1KojgTRPtKg0ObuIAG0IvTRyIb0kNevIgi/Pi0NvndsFZcutLk6aEMiewu8emkFJw4vRBZ0tt58jN9e8zIrs2MepZ89wLYWUCapuMwqeuWEB32i+JcD63jhz5dz/kQH5qQdqDUcQ5Bpgw69UvqQlzb/46Wb+f6X15M5L8l5kqam4zaFzWWuzYxSkA7/1L+BPV9axpGjC8kMOKSptFnpyYyT00tIBP3SpH39CD2/NoQtNQanGjn1paWkhvNBO0Z/VlCfK5LWLZbkRril8xT1KyZZnh0MJFh/cuRdnH5sOVN9dcGCIG+d4Gc2vERv9yCnC+0Yh1biBye207Bi63nS2TJFqXOofxFnT3YH31mpy6K/XM/hnYspTqVpvmaI96/bxaK6EXdBJrSXOF9o5tg/pCmfGHPjlDTWkb9xGdpDQ5SeH8PGwvyVLq597xnqG2cipEH1MBkvZDnwdC/GY2nqBhyEEy7mpUaDBbmpqpvjvrEmhve0YZ/KYoxpZGOJHBOmNlq0Lpigub3A4HQdqefrKU7r2G0O+vYhcs2hhCCIreEIpl5qoe5lSXrUPdPKMQUjO0yMdTPIdpuJ4SxtL4bzn5PWGd4Odb6JiQTL1tFfq6P5ZQtzMvwmcwMO06tSGJmyexDdxQwdz1mkh2yM6WR7Jzsjo2YYQuLYGpnjJq27y2RGJFp5bgnaVK/BzNIwwJs/3vQJncajgvSYq84GT7XS5VBulOBAw0kZjBWpQ77T3dhVR0K0j9mSXwF1i4+rnnyoqBpE5bIVXPODVtRo3iNpOloOgn69bRCCS3dkMBZPIYSkaa9N3TmnalN9w7YkDjW5NE3DmvFgn2poDu2dE+hdDlIKJi414BzKBIO83Opg3jZOT/uEZxwpXSNSzQkW9KJlcPxED/axeqQdrZWTkazZcJ60oUwUMaNUCZydbIO/ayB3IQyCbTUarPvIMRYtGqgkHkiKtsGrr6xl9NutpAYcdNUrRgjohSV3n6PJjIpAh0oNPLtzM0MPtWH2S8zYc0LzyJni32c3CBo+PMjda/eSdg+TQUPy+tASHvy7bWSfA9OKksHighz3fvRF2owppa3u4n2+2MLfvXEbZ15YRGk4hSgJIipgzzCv1O6Q3jbOPUv2cWmmhRcf3BwkMfIw8FoHk3dJGrzIpf6+eP9EF987sy4I6iYsweTRFo44LWDDz77/aT7We5xmvRjIYMQcn08op4kH+fPF5ZVwpOD/PbWFp/98FfKEUdHXqQ1lfvqunTTG7GAK0uHPXt3Gc/+0jsylqFp18IOSr37wOzgIfufxd3P0oUU4fRoZp3Lyd0yBflOJe+48SG9qAg1YkR3jF695CQmM2wa/8fc/T/2Yt+hq0PCbY3zmticwNRuJRNccslopkFRNOGn+5NgdHP3mWrQxHQ2w6mH53ae5f9OztKWm2DW+hIe/u53S4XqQ4KQgfe0kd2zcR51RYKDYyKMnNyIL4SokLqYZuNSFtATrt5/k3av20GTmI4HK/J4fPNJO/jWNlL/gTc3Q/M3DaEULNEn+z5bwzi2HSafKSD+qt5KHAAolk52PrqXtX4roheiiazWkyLx3kvqmQsWuzXY09p1aBC80oo1oGDE/5WILTK8vs2p5Hz25MpouOXe+HePZBsxRty3GtMb48jpyzYo3jYSZUorJl9poe7KMXnSVqnadwYUf02hfMwaGw+S5Rtq+LQLJspPWGbwhRXrFZFhHW0d/tY7WF8qBmtQfcwM3ZbG3TmEXTBpeMmg8bLmkI2G+dFIao+tSFFfZoIWm/k5Rp+l1g5a9JYxC5bhL2sMW2nSGbzCwmj1jU88YV5/UaT4oSI37YxYml0B+oY00JaIsqDujkbvoSjukBvl2Qb47Zu+RgMtaDq8Q8eBHjXyIiEmaAhlJVB2zGZ/Gr0lIX4Km42WkLpCGO2iELS+fiAjhGo0KEJZEJDiwWzkNqbyN6d4UYvO0y7YdgSxHA+Q4usDOuMaEIi0ZXp/FsQVtbxRJTXoW+SnB2GYd445xsvWloAsEEkNz3WKmBnLYLze6ekbAapDYd0yysGsscvaKSjxmyimOnFiAOJKr7MM6m6UbL9Hd7j2fIAMs2TrHznYx9u1OGs5bgVGB3aqR/ZkhOheOYIjK4NsF22TPK6sY+Xo7qdHowuWYGtoiyYp/f5TNLWcj9ybLGZ57bhPDX+vAnFKe0wR2DrjGYcVPnuT1l5bT/KCG1AXZhiJtv32Bjyx+wd1lSnf0HRxZwBf/8R10Pl2Mvg9DoC/TuOffv8i7FuyP1lsa7O9fyH9/8n007DWCcyTcdyQxMxa51gJy2yTvW7mP9zcdYKKY4w+PvovTX11BphgW5OQcej50jnqvY23pYAiNshSc7K9n5mxjpGxpCbJtM/zmOx7hA92XIifp4nmUxKOmRp5HogkNqQQWS1K1+MHOio7OX5/cyCN/tZbMieiYtTMauQ1F/sMnv81NuajKp+AI/mbvRh7+h+vIXbK8ckDkJKn3TfKX9z7DuRGNT37zp+l81l007KxAKxE5A8nOCnpvHuaXPvYYa1NjXvwXyArQsLk4U8d//dpPUPfNEsJ2Rdx1Pz/Jb9/+OF2pcCGzvIXbQVB0DP7p2HYOP7gWY8wlDk69ZPu9+7j3mtcolQ3++dAtPP/0NeTOCffAx1aLBTdd4idueJmFKTcmTv9UC6Vj0feDLRANZXZsOcztyw6S1UoUHTNov4/JcpahZ4ukjoWqU+FItJJNan0n4vfg7lV7A/UivgRKyWS6mOKxh69lwdemo+dsCrDbTIz35Vl840VM3Y5I64qWwa6Dy6h/IheK9zV3kyGaLfLXlli8aJCmTAHL0SiUTfoPtsMrjZhhdbHroKExH2mXbWnMvNxC++MltLJ7p9ykM/ghm9bFE5SndAr7m2nZ6ZAat5C6oNSuM7pdoG+YQDdsQOBYGvrrWZpfsELiIdw5cuDmFM6macQlk7bndOrPuQHjnLTmlqluOLI6Y9fojG2z0EwnPNG3qNH6kk7z/hKapZwE7pUxsTrN6Bpoe8Om6WgZx4RSs+Diu0ycRjsSxt2Y0mg8rBAPwyUeM4tc+zRzTCN3ViM34JoL2GmYXCwo9NgkHAekGkb+SAUa+5EiHwEqjEpnMyZV7sX/jUNG0xS7oO/WDHrJ/a0VBM2Hy6TGPHGeEJQadMpNEgxZcUBdYKcgIN+ZwtE0mg6USY9EVTHlBp3+uwyKXYqaIl0inXLDJwtdkl+jYVzUyF60kKZgfKPO9EaB3WzR2JSHQYe6J8yAeFj1OuM3g3bDJKl04PTqxfqQFMoG02fr4Y16MkMe8chB6eY8S7tGlO6IzmCWo3HiZHcl8QC0ziIL1gzQ2z4cOfvF/7fs6AyPNjB5pIGx51poOB3aeDjtUPfBEVavP0dGL0fOf8HbTR873835JztpHI33n4Z5Q4mN7z/KupYLFYHT9p9fxKXvdpOdCsWwjikQqx1a3jnEvdfvoi01xbJbhjlcWIpVBxtuO822lmOKdwWcLbTx+X+8i64novYWdlogbrJ490/t5uYlR4JorwCTTprHT2ziO1+7mYbxcOBZOajvmWLJykssXD/IT3TupdOYoiR1do308uUXb+LMK73oSlF2i82a95zk/139vYohPGZl+Vrflsg1w7BZvGqAj1/3Iu9uu4AholsmwfwnKxE7Hdf/7RMSTbhxLL53qZcv/f0m6o5Gn7daoeNdw/zH9z/KplxUXSkRPDfUy5ceupFG7wBBKUAulWy85yRbN5/nW7tXsfOfrqFzoIxjCMRCi0tbs3Q8TRCYL9+pseI9F/n9ex+kQfPzdr1cppwU+wZ6+MrDOyh+N4Vh2dgpgfnuAr/wzhcixMNvpW9s+Ur/cl57YiPGsHdeiw7m6mnq2qd59tBGHj52DdlXsmRMkJ0WC3qHWHzzWX685/XQBRfBt85eH+t/SWPvBFuvOcwtPccCo0u1X/w3NDGc4+ShHpo4F/Zpo0nqnnZWfGyUZYv63DNnpB7ItNTZaLyc4cXvrWXBN6Yrduczq0zq782zZPNFsnopYicyXU5x4I0l1D2fDTrGanQwFxaRm/IsbB+lziy5thYIxvNZRg624rxRFyEejgnO+jyZjgKG5+1iOxrjB5tofNYOiIdjagxvNKjTSsy8Vk/2gEnXqSJOSiPfZWAvlkzfYJPrnnb7VgpsR+CcS9O4S2LMhAbrhS6DkS0aLCyh70rT8YqDni8hDY1Cm87UwgytBwvoBXfMFVsMRrca5DeW0L0AbBLA0sie0Gk8YkWIh53WmO41GL1Go7ygjJQwvlEHXSffaTC1woGUFbrQStCKgvoTGunRYBBQaoJimyQ1qpEa02g4I5FCUq6DciNMLwCrMVk1FNPpuud8xY1Or6BqZTb8SJAPqRxLLHxr47gBKbPYfFS7NwecnMP0Si8wT0mjdReY0+HOeXKxycQmjXy3hLSjxPoIg3gFXhFOmcxxvUJHKA2Nset0WFYk7RkkCU/8HlnA0w52TkfqgrFNBuVbimQb3IPm8sMZ6h83aDzpEY+czuQ7HLRrZ8iYoYEsSCxbY2Iqh3Mig3k4jTETjsry+iI9i4dj4vjoqB0YasI5ESUejgnNi8doXzlMV91U0Nd+ICYHnYGhJsoHcvQdaqbxiKShpKhksiDfM8OK6y6QM/yFKRrC3C7rHHt0KY0nFeIhBOUuQe5dY1y//QTdDWMRrimlS7Ze2r+atoFwwSu3GDTePszmm06xtuc8dVoRTUg2dZzhuvtORc6q8THm5HjkuzdWEI9yW4qeey+x/c4j3Nh2ipQID7bLS5MnDm/isYdvRFeIh7Fihnded5Blqy9ya/NxMsI9p3TSMfmHIzvYs3M1I8eb0ZWm2q02N9x1hN/c9AymUAKoeYv/UN7g7InO4IMWQrL1umP8u+teY3NmlLgfuUo8ZrP5EITBPEKjf+HFE4gibxn8/ZObqdsbXpOawFhuceOPneS+G/eyJluu8FazHI2/eWILjXvC56Y3aNz34edpbxrnGw9vZ/TxFlIzZaysRvf2IdiRZ3JnD5lht135Xtj6U8f55a3fD4gHwLFSK0+9soZ+u45LT7UzubsOwzu+oG5BkXvvfZ1rGi8G87OMnSY8bmV54uBG7DMZpU1QGMvwxCM3oJ8zMdJgX5NnQ88Flqy8yHU9p2k1piM2F+N2loEj7ZG30L16kLu27GZNXV/gxaUaGbjnBbmGqtZFSeOe0I7Izuk4P9/KdR++yMKWkZgnSqWE+PThHuoekyhDBztnUtxi0XLPKEt7B4IgZmrk06FzLeiv5xCWcMX9XWXqt47RsXiMrFnCkVoQRK1/spGxne0YJ1KodsRSA2uxReOqCdKm5Xq1OILR4XpSu3XMSUWSoAvqLjoYxzM0DZYp19uMrUuh95YpLrcwugtklfNpbCmwp3SyLxtkB71CNcHkSpPxGyVCOtQ/a9B8uAyOdOfGtToTvSatb5QC4jHTbTJ2k6C0tIimKZFfZwzqj2rkTksMNRxCq8H4eo3plRInOGkcSl02g50AioTVfxk21J3WyIb2+m47HEHDSUiPu4tbvkNg1UmKbRKrXrr9HjMY1UoCJxVVTfoDuKp5wlWGq5Z8RGIMBO5Ysz5A9UQx6hefbX3ZWhVdmj6p0/FSmYbTDsJy3Eilq0zGrwerxTdDnr1q+rhG0xtgTkYZ7NRinfwaG6FXD4VjD5vUv2hSf8qif7sJWwoYnholXzSpeyZD48lwURy9wyF93TSmJ5L0226XDKbfaEa7oJOe0NCUxW2mBxpXTWAmBJvSvYA/Q2ONjBxvBUvpqI4Si1YM0t4xQc4sRQ6WkxIKjsmlNzrIP92IdlGjOV9p5Gmb4PTa1HvxCNx4Bk6Qz4HxHgZf7qbu9Wi9Rm7T2XHLYXqWDtFiziREKZV8++R1mLszgBcfoDnF4p87w45rD9KdVlx4pXs+TdJCvHtiEbu/tZqxRxsjfoKDt6W47+5XWL3hPN3mWHBYmb9vfH10EU+8dC32kGtO6hiwZPNF7nnHa2zrPEmdZ/MggD2FBXz9uW3sf20ZqREtMhSdBofNdx3jE5ufozVmyzJoG/z5sVs53deGMRU+ZWgOv7XlBZalpjyPm2ir/HY6SPZM1bN3spsPdx8nmxC4w/EmMz/CKUGto/i7/lWMPNEaBmATUP7JPJ/a8RSbFk3S6olx4l4zn3rlDoYfawueG7zR4A/uewpLG+efvngHowca0IsSMpIVv3CW7atP8/hja2l83lXrlBp1rr3nGA9sfZ72lDvmC1Ly0NBqnv3aBi6+2I7tQGaojOaV4aQh9YFpblt8PHhfsfmdKcfkr0/eyrHdSyIGwVoZnD6D/HKL5Xdf4McW7MFoL7IgN0azMYOUgpISMef7I2vY/9Iq9IlohJh7N+9ieV1/QBo079ybsN9dijheyPHiyysQIxeCe5kmmxt+7hxddRMBYbCcqEzeloKS1DlzoJuZrzShj4WlTy1N0XrPBIs3D9NcP+O1WXiRCSSW1BgdrWd4dzvapDuunJxDasc4ixYPRoKGWVLn4kAL0y83kzptVu6yMw7G5knqGtyxO11KMXqihcxug9R5PzSAC71gkx0UTC42GbtW0rx4Cpo0qCuT9bxOwkixUDhTT8tOh8zJcLEfXZ+mdGsBfcig5QVBpt8lHqVGjZFbdQod0PpciYaz7jOlJoOxGwXlpeXQDdcRiIEUXS9YZAadyHgvtpr0v0NQ7nIQuk/Mq0Q39VUtEzrtL5eJ6Na9RqQmJYVWweQSidXgYNWBY8jw9EPV26gsyF0SpEdgZJP0j7qO4EeBeHA1k4+oU6I/2Lwp87L7NvY1JKltqCQlQoI2pdP5gkXDGdtlznU6w9emmVpj42Qdlxhp8a8tDBsuAWELMkcNchejYYtLTTqT1wlEs+XuNiyN4kQas76EmXHFdYWhNK3PGmQGHC7eZaJtmEFP24FKJ7U7R+PRcJsxsjGNvm4CXVcWUgnDY/XknsmRHtdwDCoil2aWTJNpiPvLu71ftHTOHO1CP5JB6Hpg8KS1lOne2E9P01hwRLx6MBvA2LlGCg82Y444FSHTfZiTMP2tRo5+uJvVvZc89ZDg7Hgbe19fTsNzIAY1dEVqdOFeg/veu5PGXEg6bC8ImSMFx6e6eOPRtRRfyNAwHvb7yC0291+7n7b0VKQOmnCwpBZIFSSC0XKOrxy4meF/6cQ4aKPNhBPc2G06H/n5Z7mh8zQpYUUCj9kIRst1vLp3HcUTdYGYu2fRMB9+77NsaLhIxqtz3tH51sAmnnroBiZPNZKyBNaiMqVGQeaIgWZDz5JhPnHtk3SYhaBnJx2Dr/Rt4PuPXs/42UbGe43IqzM2TLDYnFLIZyX5KEv4s76N/MsjW1m4fICb2/pZlZqKpUtWJSZ9g/94aBONE+E7Ln4kz9+95xEWZiYxhBaNCIpgT76Rz33vVs4+1BEh5W3XjPKE1cORv7oF+4SO7kgK3Snu+LXX+DfLD/OlFzYy+FxnMB4WLBniAzftoyNVoCwlw1aOP9tzE4e/sgRxxMG0y1iddUDItrOZEh9/x7NkRaU3miM1vj58LS//7WYmj6dJtUR3JW2d49z/84/Rmp3EMG0ajUIkaqj0yOxguYFvHtrG6WcXUZpJI5vCuctZWqAnNxorV6AJB/xIpFLw0tgKdj+6jtQrhYAASQEzH1hDV90L4fH1iuTD/22Xdb7z3fV0/tUA5MoI3SUn+W6d3M9NsHr1OTfgYVBn99myo3PwzEKcB1swpnRs12ubXLbE4sUDnj2WoCwFwzN1XDrYQWp/BnNS4KRgdI2k4ZRGatJdHCe2lVneNY7taFzoayX7XJb0jI45ZmFOReeEmY0S5+4pMhmHlCkRhkPGjzGiqC9mpjIYr2bp2G25khOFzE4u1hGXMnQ9awe2YcWOFH3vBtlu0fiiScOZMKL09GJBaYkdEo+8QW6/ScveMsakzfjqDC2Hwzlk6FqT8oJi+C1IosRD2euKkqDuuE7rvjJGHma6omNNGjC4zcFJeZ416lDziYcn0TAmNBrOCtJjksleEdqjqHizQcauAK5a8hHOcQrr8061vezD5ZhDtuxHOPXuCwuMCUH2gkHTsTLZwbK7w2rWGdiRJr/UtS5HECUe6vgT4SVxIUXXzkLkA5G6YGa5TnlpGc0RyHGdzK4MPUeKjN6uUbrGFU5r51Po+TJD75XoSwpBNFEpYWYoR9euMpriAlzqschlXemClAKnqDFxpp727wryXRqFZRYzzRpN+7UgqmmpSZDtLCqRDN2P3SnrXLjUgtzVSG5AUmwWyHqljbqDabonbuiKq2PZ1ikXDF47sZTsnjRt+WLliVCR/pfUHZGMPN9K370z1JfLPP7qBtqe1mkeK7vRXYsxdZUu0Ew7CJEuPf20VTDYe3QpZx7qJXfBJr3IpjSjo/vxACzX1dg/VM8nSbbUMITDjONGiH3h0mqef2ojXc8U0dJueSrMjEM2U0ITDrYn7ylLnelimlOXOvjLr95N8wEL0e2F2c461L1zgGsaLqAhGbEy9E+38LlX38XAc91oRdDrLTqvHWTFded45ZENlC0DqUNxgYNjpRjEwC4Z7Blr4XNv3In9SiMpaZN6xxg3L77Ei49sCupnH2hk/BaTFqOMrsxoLjFK8/xYJ3+851amTjexbs1ZfuvGF1iVmqYapHcYnk8tkyKbNjyRiRzXVldXosEsucRDujRmzDEZLqT59qGFfPNrN5E7K12phgLtbxs4RIPnLgzODQ7/9iPf5Se6L/Dk6aU8/p3NNEyEpKHbyLPQzHNxqomH+xbz99+9nc4XSjiaTdNSi5YH+nj1wTVkL4ZlDLy7iXXZYa9t7n+TdppDwz3809M3M/lgHcJ2sDabEOUIZI0Sy1v70SMnybgdMuOkmChk2TOwlK89dTMNxzXMXJnpWybhcGhsqp3OMLE9RzYW58SWGgXb5OREJ08c3cjYyWYyzUWmNmh073TTCAkNDx1m+ldS5MxShHSUHJ3CVIqnDy5H//s62g5dQK5agJzR0EreuzFA5Bw0zY34W5Y6jtTIl1JMjmY4+tQy2h6botReptxjBBoExxYUx9IUpODMeAujF5poPKSTnZY4OlhdDlNbCxinU6Qm3TpNrXZYsnKAkYFGJvY2kz2vIVI2I7eVyB2T5C5F3326zsJudftEkyGRwzNOJa+RP5Gj+VmNzEgJq46KuWXxI54xs5RIQzC+NsPobWUyjUWMo2kaDtsIxXZDz1poGoi8hjybou0NSf35AlZWcOGeLFpTgaZjIowpYktEfKOqntRru4bQ5oBOyz5Jw9k8dlowsj5LZoQK2Dnfl7byoxIO6DOC3AWNuosSx5CMr4BCtx0mV6UfPyLEg6uZfFBlzxaEV38zmfmoQkSELUiNQO6coPVAGX3GOwVS18h3aAzckqLcVY7mNxupAWRRo22PrPhApOYG4skeBzmaomUfOHqJ0Rs1ZlZb7osR4HTZjC5xMNsK0X4QUHce9FhQvewJDbrTWHUO9GnYJ7N0nHQod9iUbspjLshT/1IDRl6h2FJStvRgd1HIm5SGM0yebCR7zA3/bK0qYbWAHEgjPNfa8kSKoZOtyG4dI1NGs8GeNumfbmDmRCNGUaAvLmAbFuzWou5vFR0Fhb31vCrXUH9UZ8GFEqUm0LaUqb9rhIk/6UJMhH3Y8YLg2caNbFpyHictSU/avHRhGSNHW+l4rUiq2ca4vcDtH9zNP3/jdrqfct9l16MO3229gR1bjpBpcGOWaEimiybWUJoTZ7vYd2g5da9IOq0ScqGk8x39jOxvQL5oBp5O2p4Uz33vGsqbMog6h9SkzfG+Tp66sIbmbzi0m9MYW23QNWaGsi5XzRu8NrEYe9LkufNreWHvGhqPCWS9pGvjIOtvP8lHF77MP7y2g8KpOnRc//+h57v4xfGfpbVlkoGzrWQPGUhT0rJsjGtvOsUDa1/hC33rI91pORp/fGQ7P7diHx3mBHmZYaDYwNmhFr5+dhX7Di+jMZfnthsO8Tubn6BDm+9U4O+0K8920QtlHIXojHyvk79IrWPb4kkcEzLDDt8d6ub7x1bR/D1BXYfFwg+Oc/6ZVvS+mFrUjweyJc8DP/MU7+jpY9LK8Bf7rg8NlT28dq6XF7/2k8ihFA0vS9pFCXNDgUW3DfAzW3fy0mgvF55aEG2GDUN2Ha36NOdKzZwfbmPnG8t46ak1NB8u0rBshrqfnOTaxef4+l+8E9UreLRQz/dOb2Zl50XqzJJraFnKkh9Pc6hvMc8eWUt2b4o6U5JbOcENtx+m0KTx5JGtkR3yQ8e2cOfaN2hLT1N0DMbLWcZH63jl0kpOHltAGouFK/t554YDfGVgY6T6UxMmD39nLVvfcRE9Y5MvmThjJmOHTI4/1Und9y9SXDxF66+2YrdMMv33IfFJDUPhe42c3dZFprWMLAmKfRpHL/bQ+LxN+9AUU+tNMnflMcYcSrsbEA6UR9Kc/eIKd/wDbYDUJFazg1hZpO2aYbSLjeh7XZuwch2YvXnO7uomfTJFRrOxrymQXT/O0lSZqf5GpGZEvP+Kg2mKZzX0VgtbdxdVUdQwxyT5c3XUHdLoOlfEzkryKzWGb4XuLxEYmgaD03OZnVxrMn1bgUyDhTOjox/VMSejdlupkwZZyyA7JKk/V8QxBdNLDIa2C+zuAvq0xtQig8bT7nPdL+S5ZKYoLXC9pfyFSi8KzHGJOSTInRc0ni7gGIJ8h87wtSb5Hpuu5/WI3Q0SzBEdq0EivY2scDzyMikwxzTqLrkeOcVmmO51bUGqrTmJcXuuQmNTACHlHKHZ3mZMTEzQ1NTEov/xX9GyrpFXpX1pQueLWUiAqJJegVaGutPQus8iPWIHA9iq05lcYTB6jcButiueF6rEJPg/95oQEuNkhkXfzVcEKFPhpHQml+jM3CCxFpXQNBmcPCv9A7J8Q1ZA0xyEgPqHTNJvVPpeFZsMrJyg7lKZQouOtcmhuLVIfWOe4liGwnNh+G486/3yAouGjhlsqTE+niU1qGNOQr4LGteNk101QalkMrC7EyaiC5WdlTh1NqKkBRFOnRS0Lx2hZ/UA+eEsw//USf2Z+QVIK7WYlNaVWbRxiJ4NA/TUj/PgX91Gw8sxEbkmKLSZlHOC7GAZY8YBTVDuETTdPcT2G4/SnRvjm7u2UvhfbWF7NcHEOoP6zima0i4p6Z9sQJ5LU3/WLaPcaKJtm+K22w5yzbLTfOONbQz+93b0yeh7nF6YpdQCmUE7iHBqdaToff95br7zMPtOL+W1b1+DM6PjtNuIniLFwSzpflciklk8w3Vbj/Ke9W+wtm6Ic9Mt/NaD96HtqR7n1O602XHjIW7fdIRbWs+TEZJnh7v4j/98fySdkbJZsfI8yzODjNl1nJjp4NK5NjRLsGbxOd635Qg/1X0o0c4jDqHIIKX3Deox75n3fO9DyM9HjZGlLphcYmJnoP6s5UY41QXmijLbPnCcj91wgJ/79gdJf9mIPQfmnXl+/T0vcOuiMxhCY2Qqywf/4H4aT1Sx/Pf09823D/Nv7nqFO7pPYAA//p1foO5Po8TX7jTZ/I7j9Bqj7M8v4ODZXhpeL1Fu0uh55yi3v+cg23uPMzJdx6e/dj/yUPg+pAZ2h03Togla0zMIJH35Rib660n1a2gWWB0Oa64/zY2bDrG+5SLni238j7//UOxEV0nT8jEW50bJOyb9+UbGLjUiioKmjik2XnOSGxaexBQ2Tzy2jKFfj502257BurmBdEORyXwG7ZJB495xkJKZW3P0flSwav1Fzp7v4MT/7qX+aFTKUmpOUWg30IuSunPuLsbOmeS32jT+2CRLO4c4e76DwUd7EGOV80ypGVhSoGXlOE3dk4xN5xj9zgK8+HcUW11XVL0ocVYUya2Yor5jBl1zcKSgcDqH/Y0GMgPhvCB1jXyna5dBygFHoE1p5PodUhNurIx8t8HMZhu5voSes5EPttC6L+q6bWc0JjbrFLeUkU22GyyxX6fpmybp0WrzkKDcoDO+QWf6GhunwZNslQUNr+l0KPOPnRLM9JiU6yVSdyUh+rRGdtAOPA5LjQYTKzUmVwmsJgekoOGASd2F6Bxi5aDYDFL31g07jIgtbLBygnynJN8tseNR3XwEko8qFh9v0yrv5Auc++3fYXx8nMbGxlnTXtWSDx9xocUP7DsUezvCErS+Do3HSxEGXa7TGdqaYnq5g8w40SgyMkH6EVP7IQV6cfaJPd9lMnE9rs6xqRzLUroHfyo7TRVTi0z0I1QEvEmPW5hTgrG1KaytBbJL8tSlXBWFOQEyJkYWNqTOGRTPuYOlDijXQ/76Ii2rxmlsmyatW9jpIhNNTRQmjUj363mBng+Hkt5TYNmyAdo7xzE0m+FTLWQGfSNEQbHNxE4Lsv3liPjTx+r7T5JaMUNH/WQQaGzBnRcZ29+Drngb4UgygyUCPwQhGLtD47ZbDtC7eIDW1DQakh2rjvHQtlbqX/aUBo6k6UAZDqSZIh20GcpYOYP8Not3bH2DpasusLp+AJDcsW4/3+x9J/JQdOGru5CnLrQDZPQenY+843lWrL3EQnOMpeuHGS3XcfwbK9EGdRjMkQHyXYINN53g36x8hWXtgzT54dKndZwj2UTbZysraNo2xL/f/BxrF1yiXc+jCw0Hyaq6SdpWjTB8rDVMX9I5cnAJR1gSXKuvL3DPrXv5yd5DrKqfJCXmjnAqK9SfyUZt//667/P/tP944PqKJ6JuPKksehpkfnaM37zuBa7pnaBFL/KLtzzB33/5PZG87A/l+b/veYrrGgcCRbhwID2sRVQ7KkbWm3zk/c9w/fo+1nvs2kHS9LCFFetRfaDM/q8uYb/XN42UmLgtw3vf/Ro3rT3OwrpRJNCUm+HW6/fz5LmtmJ45jHDA6NeZ7m9hmpYgzwxQbBY0XTfMT6/fSXf3iOv1IgULUiM0rhtl7GD4fqQUjJ1oYUzJQ9cdlt94lpsXHqWrcSyId7Ni9QSnrl9Iw+uDQVpzqID5bZeQNOEaT8+saKDlYzlW3zRCd7t7rbNrjJEVrZROpiLfW2qsFIYNACbWmLTcNUXH+nFa6l3D2faeMUZvzjK1q42sdzbcTBfYS0ssWzqA3lKiPl1kvJRl4vl20sNhH6dHYHy1Q+uaUbJdM2RSnhu1b8vQU8Za4+CMaoEXoLAdcpcccpcq32+pJcXodZBZM4PWbqPpHolZV4R9YTqpC4Z2mMjr8oisHUibNAvMmerrxuSyNONbHKxuC9JOEBAMQ5JfLpk5pZMbcMeeXpI0nEmOcG3lDEbXGOSXOJTaQJpOcCL0zCKb9Kge8TI0Ztz/4iudnYaZhVDscCjXz3HwqQhVLnMI468a19urlnyo0RRVg9OKQ+XCB2b1WKkKGxY+ZnsLYShDLjUZXLrNpNRtB8w2ybC02luWEoQmKba5EemEL6P2jnq3TcHgtgyFVSX0Fguhh262asb+gdBCddv1ooUW15QpHMlSd7wUciLhfqQDd0DTinFyOcuTpHinOJoCO0XE00Vti9Rgepkku2mM3o4JDMMOQksbwmHhun5O5BfBcMyqXUhE1qF18yBL24ZJp8poQjI9nCX/WjP1M+6H6tRL9I8Ps6mtD8N2g0V974VN9H5XOQivS7CoYSJixHnN4rM8eFcnnf/iNVLpS4Rk+LoUG+8+yXsWn6Yxk494vixsHGXHTx3gleJ6snu16PNe3TFgbHuKDe84yh2LD9GanSLnHUgmgJXZAW77zdd57P/eQer8TKS/hYDpNTrX/+wx3rXqIAtzo6S88rvNCT5x/WM82nmJr72wHXNIp2P7AH+w+gm6GsZpMqK7WTstKSx0qD+hBbOIk5Ho103zka3P886uM3Snpl0JmBBBkLDOdJ6PXfs8fzT2HrQhMyLeF0JiNzpcs+UUv7P4SXrrHeq08iw0QhnHyrfof3uiis3HHe0jHP13z/Htv7qF1LBv0OcSdk1Ixt8t+c13P8ItC6fpMPNBue/vGuCRX+vj0pd6KbTA7T+1h3+74RCLMlHjV5F1yL53BOdLDUpcA7CbNNrvHeL/um0nm1suoYvoznZmUZbUiSrnH2kwtTJH10/38Xubv0Fz/TQmlnvqK5DVyty1Zh8n7+jkzNOL0aeUwGmBYZrErpdoOyb5yPqdrGjpp9HzSnLfg8AQDvdvfo7/NXYP5qWE95OVNK0Z5SeW76K9YYKMVvZsmdz307t4jNUfXcC5gWb0C2OR8YcAfdlChn+2ie03H6GrcyDwWrOkTn2qQNf7+jnTtwxtr+v5ETirCHBygrH7DdZtOE9T0wxuoF+3fmndYtXqS9iLBjk71kpas1jeMIlMSXTd9QIp2TqDR9vQzqeCMVtsBvvaPIuXD5P24gxJT3br551Jl5m5Kc/ETBNNbxRddYSqx/P6uNBmMLLJpP6aMdL1DsJ00L2+FUJiLC3Sf0s97a+XyXeYDO9wyCyZQTOigQpLTYLxFToth5zI/FFuMBi63qC8toSTc6L2G95rtjocBm836X5ckhp3okHavER2RmdsTYqplQ5WsxupNMjDMwi2GxzGVwsajws3DkpkDvXy02FiiaDU6mDn5JwRTcNKVHGzjS9b8yEebwNBuWrVLr1//AdomWzixFhV7aL+G78XN1AVrsSjbRe0HCgEunzHFEwtzTBwo8BpjE5iIsG4VL0WTsgycs84maF1v01q0mJycYqpXo3yghJmrhyoUzTN/Tc8qjwa50MlH77aBQmlsoFzqJ72vRblrGTkGoPc8kmy2VIknLlvXFkqGxReb8I8aYLlLd66RNMkM8skzso8y7qH3GeFG+TM0OygDngf/YmhdooXcmhFDae7SGvrFCubhzwVkVuWbWu88ugaeh51FyJpagz/W4t3bj4I4AbjkvDgY1tZ/E13cZCGYMsf7qWuuRCEhDaEjRDuSbRvnFlK3+tdtO4vMLk8TX6xw/L1F9jaeZp6vYCGW76GRBeOR2Dc30PlBh45vZHSCy207s9j5XRG16ZxNk3zjmVH2dZwInhWePn455Fowg1Fv396IV/bvY3m7zvYWZPR6wVrVp/j5xe+SKNeCN6f7o0BHRnpN+Gp0VJCRoaqP79YUvC9gdU8+NjN6JM6M9cVeN+a/dzf+oZrV5EwxP1TbW3g1ZlO/vrUNsbeaEcKgbZimpuWnOC+tv30GjZ6wvcxW4TTMI2mEOFogDEVM47kK0O9fGPPdpofk4yuzyCumeJnlu3ix1vPkRJ+2LroRsJBgOMZkguJ7kktVEhg30wzf/Ti7Ygn08x0m1g3T/HRVbt4T8PpoJ8tGZWmfaFvMy//xzWMFuuQlkCYDmnDIt1lIX6qzC9tfJa1uYGgLrYX3VR1ey1LjW8OX8eTe6+h6VVXBTHdLZhZarOod4ifXvgaveao6z2iuNr6Xiiud5HO+WIr3z53LSMH29AKGsVFZRYvGuSWthP0pMcCom/5Hi/eV2BJnbyT4rGT65l6soOGb+5DNtczddsyJrbY3LHhEN3Zcexg9Lrl4RltWlJnuFTH8wdW0/SqRra/xMimLPllFjetOkGdWQw8JSypu+V6z/on4kopItfLjs7YZB0X9nSR2p9GK4GTAWtlifotI3Q2TGH7RqPeybp4/ML/2/GkC2ePdtG8V9Bw2iXj0z0Zprt1Sr0Wud4p0qlwLg5cbf3Tdh3N8zgJyY2meZGhvbL9CKPWWIrsGymajhWY6ckwvkxgLyih16tSGYIAZuGi7j7vlDTMCylaDttkB4pYdSaTi0w3EFir5aqK4gu3FIRD0pO+FjRSwzqNpx3XnqZOkG8XWDnX3RZDhhvqJBfeOCIGp9V2xHNn84PictQuVy/5+B9/gJ6t1Hv78pDqJCPpejJZSQ1pLPh+kdSY7YbtbdSZWGUwvk7gZCuPDxQo0g/V5sP7LbyyQndExQ5eyUtTCYvmq1aiJCZCPgTBQoxKPnzVjBbe85/RhRPkKwIPP4muScq2zvhoDm3EBF1iN9nk6gs05/KkdDsoyycRhuZEyIfhxeAIFlpvkddEuGgDnLnYQfHPOwLR7uimDJs/fpDmdKiflY7g2b+8gZY33J3i+OoMdzzwKnV1hUDy4ZMPvwzdczDURBhsyJ/iTSWtQAZqGw0nrLf3rN8nmv+f3w7CdqpEBMBAITSqHQ4yIBpCIR/+OzJUIonEcE1WlGvRcaZe04R7foumnOPiQxeaEoVVPa9FBHnpQptVvjEX+fCf1fz4HGL+kQQcKYO4HqpI2O+dasbjlcH1XdjeLGtJRzHyD9PKBPJhAXvzLXz1xI2UxtJkOmdY2TbIXc0HaVVOB/afspXQ6v78b8eOk7djx9TbwT2RQD7w3rpLCHyJhoPAklrkN9I9vNA/zt4nEn7UUcc75dbyF3LvOUcKytIIFlu3j9x8/GsuqSA4JVd65TsxrxJL6gE5sD3CQeQ5GCvkmL5Qx4Xd3dR7pxk4Jtg7Zlh8zSV0zXXHtZ2wX/xAaI4MpR8BqfFJmkcg3OeEcp/gi0giH55WI9IOxxPtBPasQTu99yEVkqEQjyBvZeH3yYd6P/zbncciUMqM5K24C1cgTjT8wYdITl+RLvw9p/Tjh4T/o2w+VJGvf6Wq6iUJs8ySTkYyscJAL+jYWZjp1Sm2S6RRxSsjlpdKPNREUnoLc5XTcn1xofvDE2UHZEZJA2EAtIR2CKJ2INFprrruz9RtOtonMDqdkDApJ8/Gn/EPhYu6l4lgJ6xGnJXBu5IMvtBJ+1g4uevbJqg3C8Eb1JDsu7SQJsUQLrN5Ai3tKHlV9p0U8VN+kmI6EjvIztu1oWFiB3WIkrbolkUq/4rINRmVKinSKf/dqs/osTGQELCwqiDPT+FElB4hHO9L0CPfxHypAcnW8bH7fq/IpOE+Z/7ug/E6v1kIn9AkEJlq0ID1mWF+b8MjwTUZm7Mrw9OFNRbzLCexvooIP/QE8iUsUSNODYkjxKw7XREbl2qdNOEoZEMds7PlV/n2NSFJOr7KH39Dkw1ceqMDub+OesXO01pXZMH6AQzNfcNOlXaoJ+z6bdWExHJElbr6BLZqM6L1FO5J3UkI7E0SH4y/5NlGuoyQgriqJsxCBkagiffV7OYj4ZgHrhTxuFxcloXE7/3e7yGEiPy3du3a4H6hUOCBBx6gra2N+vp6PvShD9Hf3z9rntUQ7txEzNjtMl1tZxlsVr1kdJPG0Fadkes0Cl0O0pgl7ziR8JWm80o/98CKEAlP/BxKIGZ5zq9OTPckIneTaxJZBKs03QmIEIFUQCr/p0WKcKezi9NNtLwRNSxZ3T6AJkJydCHfxPQ3m9G80zUnVuss3dhHSrdImoaCBf5NfE9+fnrFMuO3UYvYmBDrT3/i0L1JRyb0oq2Syjmg9tlcI0N6tmZJByuKyGQTjkeVtFeTU/i0Yh4jMxKK/XL63g//Hi6Ic5d2Od/3XGl9GqsnqIgiC7f6t6h8w5oSE0bGno+cNe1dNPySlZ2zv2OfdUmTrpQOZRMRZu0t1ArJjAcWU5FEyEXk+ai22u8iX3UZtjts58BAMxefWYC2O+cZSbrIr7Jov37QizsS9tlcmCtFMLfFEyYs1EnfRmR8Vxx0KYLragbz+SIuFxXtTJzcqvTGfDsJgmNIZi3rKsHlmmeyYcMGLl26FPz3/PPPB/d+8zd/k4ceeoivfe1rPPPMM1y8eJGf+ImfeNOVc8lg/AOs0pnVeIC3iFd7gdKQrmFQkjGpmk3FFtwfLEnPRVl6xUdRZZBVW/zj+/qIu15C+XONVf++HfuA/clCxgiPrvSNqrtNgi8ovni+DRGzLLe8XZkjBf0zDVx6sJf0EVdfm+826H7vIL3dI659RULLnNg+Pb6zMkR00g7F4tLbMfvPV+ZuBM734Z2kSUh6IvYo9XCf0bw+1eaYvirm0Uj/JaQR4fCunLPUA9+iEgE8KYNThXBFjbmr1TX6vznodiJCAiIvi1hUqoMkjvSlSsknXAtPzaT+TpLsSBKCSfp/e4ekOZFr4UIf3yC7qroobN9DR5EmGqK6izCKmsBXscTfTHzb5X9r/luJj7pqHtRqHvE5AO87VeNL+9/s6Qud9D2yEP14ClEOnysstmnfPkBb47Q3Vv02+4t98rtSkVSPsK4JBs4JKvHLX2M9aYVPCn0uUkEvExDd50WJX9KAS6hzrCqVKhc//7lIXKy8q5RrVOCy1S6GYdDd3V1xfXx8nL/5m7/hn//5n3nnO98JwBe+8AXWrVvHSy+9xPbt299UBYUMJ65gyq82m5B03Y9xfpnSkvislWCwKqvudJOOkk9G8rHzsapI11/eX1z8CKfe3kSxX3Ax245DndDi6gBHaoGXiD+taQhsx/PXp9IOhirdZTuVBOWNQ0u4o3eS4fF6zj6+kNyLGsJ2KHZp1P/0KBvXn5lzt+TXUSS0Uw2Pjm/Q6rXa8W1HquRrSd21F4kFAY+jjI4eO/TOpzi259XgICI2Hyqq8eZZ0yiFJT1vCLXG4YfgINE9cuKSyeoDLbleQiEdIjAwVU+3TTI6rZ6///9R6UwSqtmhCM/+xZaVxN9XptmKzYe6RuhCeM9VQsb+Vt8p/ncqVemDW3/fLqRSbVOtD6hK4eKi+yrbmkqSMQ9Kp9qnxMlTEnz7Dj8C6smLnUw83I2pxrkRUOp0aNwxTHfreGCH4ufvHzqH916cWdqsC4k1CwGJv7ZAlRXYlCiSqMtQX2iaE9h9qGW49Zplb55gJ1JRaS/dvNRFSSfRMo8XFSvvR+VQOd6M5OPYsWMsWLCA5cuXc//993P2rGtttGvXLsrlMnfeeWeQdu3atSxevJidO3dWza9YLDIxMRH5z4eIiY8jN+J4c9Q3GTFWC9X1cZV6PFXkoU65yQg/rOTBHFYlqlTRhGKYmlCnuXY9SfdVA04CG12fqDjKLk5G8rAjE6Zb01R9qaLh7c8LLrzcybEvLaPuaTfr/FJB+v5xtmw8HvMKqSY9CKeZ6t+98OoVV6SI4LCu+ASVtDczYkuKb4yq40REcD430FD1+2G+6o45qHsVyViSLE0qkS0q7yUtPG4bdVzVqCaSVS/zmaTiaXypgybEvImHn5Om1GV2IiQCW5b4HTVUvIgdmKcnLMPVxki1iS95K1FpcCoVdUt8pKqLrFRUsyEVjkrfwt94sX0cJV/PQ4rwmuUbsypfyVzqvqj9UwhdkXaGNj3hKCw6OmfPdTD5vc4o8QCKPTa524dZ3DOMRFSc76QJJ5B8qN9b3LATmEOaqtjC+dcCtVBlGs1zMAhlTtWhGpzGr1dWZPZ5J1Jh9ed8jiNLen+XsV8Oi04o6U3k83bgssjHtm3b+OIXv8ijjz7K5z//eU6dOsWtt97K5OQkfX19pFIpmpubI890dXXR19dXNc/PfvazNDU1Bf8tWrQoct8/zyX8nYDLZYlJqCYqmy29/xHEy/VFZfORtsgqlZ/lUUdZzGSCjq+69CC0Jid+GJIyaVSbgAO7B9XtV9np+EJ/ASzpGMZuihrUpYdLTP9DC637SxTadIw78rR/tI+ta094dfImIm9JkVSSK01IokL1+SGso/dbmcxUHbfa9vhOTai6/Ih8xCVLesI4FZ73RDzvuUaGiP3t77STiEn8STWt62VSjcbJWY0/VakHXl4kSBzmgpTxus9P/ZKURnqqFwLJTBSVp/dWb79KLaNjDGUkV+5rtNi1SluhudrlGp+KyGIdluAoEgQ1/ewQyl8J/SaTUsYExt4NXZHGDvS3MPpcB8aYUj8TCissmt41wNIFQ9XVxcquX+WpSdsKLeKVVx3xdgQCBqIdP7eiJwHxj27WPGa5p97y1ge3fm92dzzLcxXLxlXKNBJwWWqXe+65J/h706ZNbNu2jSVLlvDVr36VbIJb7Hzw6U9/mk9+8pPB74mJiUoC4nuE+DubuBdJ5AtKQJKrbUWaOQiIqCw33G0IVVRw2RwmMuaVVatqVfyPUEQNwtTdTxBDK0JElJ1Wxb3Qq8XPK/4tivjuyesS/7C7YLKU0JqZ5sjNgp5vRevupASTtwoWbe6jc/EYTdloWGQ8o1CpTC1+HwlcK3khKnXseNIZqvS/EA46ToLoV1Qla/ED8/x9teOpV9T+dN0W3XSaUoe4CsZv12UZnColxdutOtGG8gShPDG7wenlTYdi1nEZqbPikuvvfkXE9XaWc37mrIUIptn4ZOt4xqV2hKB4720W+bf6+ftvVgmdMKd0ynf7FQJ06fpWxaOqakhvNLmlObIyZHmS0s+XfPgERI/l7buozgbXwySp3jIc4d5NX5I5VswwcLANfVAP7pXrQFyTZ+H6AVoaZmadNMNvLSr7U71d/NiL0ZlFRD1iIu1IJvNx+N6CEQVpgpTDPcJChup5/3qCeivJTVYk1SPCihQaFER2S6rwbF/V/HfGid5riZW88viBXG2bm5tZvXo1x48f56677qJUKjE2NhaRfvT39yfaiPhIp9Ok0+nEe+quJap2ifWkiP17uZjD2BS8k29jZQTusJryNfixEKRAaEkcP4r4fTXwZvUhFwoUVYbv26DYUqB7H1Vg/Rx4ziSU7ZEqNSqoKsUISkywcZE+acG/FxK0a246xb7JFXTsksx06oyvlazeeJ61nSOkUmVMLbqwC4X4+G2XMlztZGxxje9ubNxQ42nvGE5dsYVxpIbl260o/SaQnsjXd58Npx0jWCpkkL/hhXGKv0OJGwAsicjYiohRKosnkWuVbzi+QxXe4hrf3VtSYohwkRXVxK8VZcxPP6xGNXVPp3X/dlQX2ljsjwpS7S3+kurG3+pzmqd6ScJs0po4wRAxEhG/J5P6OmF6ic/f6uhzlL/9f+05JBXVg8S736HtGX0GpFN43lSqHUrk+xTowsb24ohE6y8TSU201FjbJBQmMhT6smRttwPsRgftneMsXzBINlUK1Joi2N2rs0XluEpc0JFBS6SSh1A6POKuXEEeZEg01GeCIGPRdUNzT2UI6lfdJVdUtsF3m1UOVPSnOxmrp/qMmAc5RPODlCiTv1/P2Z5VWXOQbv5k5UriByIfU1NTnDhxgp/7uZ9jy5YtmKbJk08+yYc+9CEAjhw5wtmzZ9mxY8dl5y1jAzCE8MZAguSDKn3uj8pq0g1HzE1A4pKCqu9WxkSMftLq+Yc2GvM3VPXLd2RocKq6x8XrFGmGIjlRoRpzxvvJzz9upFpZreBLpCFb4LYf34f2QYkUXtAuEeq0ozUUHvEKv6RKGYX0PGEU0hMbB/5ZGEndqEWWiWjvJC3CFloQ4VQIiUF1g1UUb5x4GkPE+z+ZvMQX6+BvL7JpnHj44dVD/w/V5sG95vsNVTPgTCIzYR0qbSiEYnQ6m82Hes83OqyWZ7wvqEowZFCuI53Et2wILRJkLCQIssLgtNp0MBekp36T3ohypQchLS6rzrCBcbiokIQYwqYs9QjJiJYTXQCFZ+CaVGNNSMpOdDpXA5FVMzhVr+Etqu43pGPWl8j1TGPn0sysLbFm6SWa0vkEe4joqA/IuEeiZp0xAlWuE9SXGMlwAvWNDEhYcl7Ks4rNWiXxUupaLT6Hn1qIys5SJTYJBCnK5JTt0uXE+Qh4XKwOVdocvZ9QjkhKdxlIXIt/MFwW+fjt3/5t3ve+97FkyRIuXrzIZz7zGXRd57777qOpqYmPf/zjfPKTn6S1tZXGxkZ+7dd+jR07drxJTxcZeLqocBnuZfRCsJKqvxOLm3UWqjjYzTu7pfIZJchYZc29vETExkBLcNmVfpS62dxyYyLwIMCVFAgRDSAWHXtuXWypuVE/A9ISDe7lkyJVEmErZ1X4iJMdVTqiCSeop4i1s4I8ePC9VmQgRPTr7k5yYYRTqVwnYqjnq2jU/P3okIawcTwL+1BSEEpC/L7y1SWBjUxFcLMwXx0nYgvjKNIOW4oIAUl6o3GpwXwWRX9NN0QYeTJUM3hRUatEIxXzIAJE8pPemPMn9vkt2eHkLIK53JHMWW612mjCjWAa7pejbYiTDP+OFnOdJWbzEbH/iE20oYItpKlJnht+CsNTi/ihyP1nVJKCErVUxkagapiaJDv1r6tfdpKKwpcmOlIP1BgyVnc10Jn/rhxPOtCWnaH1nccUAiHc7z9hIVLrWmnwPYsFhidNsKXm9bs3dj0JLvgq4DBSqUoa7QRvl2oqm7hqZTb4m6CoxEKE/RTLXp17k9r3ptftajvFaJWCdlWVZv6gxOEtJh5cLvk4f/489913H8PDw3R0dHDLLbfw0ksv0dHRAcD//J//E03T+NCHPkSxWOTuu+/mz//8z99UxdQOjDL2N9ELc82Tvk3I5WyBZnW1neWx+NiMTGnRXdlsBqsisqAnQ+LZy8RCe6vBhOZVZ8+LQ1Ypz1YWealMnP7v+Kfn7xZFuJYFIcsrW5BQjxgJUL0FUF5jSDxkEP6cBFsWFHuRSLvQ0BThuIVGKiIsDyU00pscdaWvfcwlLUqSeoRtqE4QpCr79XJSXUHj9Ugqd7YUgYutSs2k+tR8PhifcBP864dbn+2JasSo0nco7pEkIpIPX73hVFHJJNVCi5OR2Bwf/ledGARjUZF8xD06NE8yoLYbz5vKip3iUxnbJ/wGHD8ORqwxupCUHb3i+Wrwd/OuNLVyAVfCycRa7F8Wkdsh2UqaBaLQkFGvuVjMi4qxmnBtXptzAULKirrGMwjUalUlDiLyiJjNnmM+qhd/kxzPQzL3dybn0fgfguTiB8VlkY8vf/nLs97PZDJ87nOf43Of+9wPWq+Y8DiE8CfA+RKF+Wwh1QJ/kHzn+WzccDPct6rZCy+ceXJbpTLg4oRGlW4Q+zzDSJ4yshHQE+KN+PV0pMDUQgmJHrMfmW1x9W021MU9ID3eZKf5oViSCJhan2AXFC/P3/3h2brMLuCKQxeOZ89RXWXjX7e8dEn3pLL/qzY8BN6haV5d50Kl6+hcdhqx9LJaLI4wjsvc5ce2V/P8rCoXe99gfC5pS/VNhkB4kg3HUynNLr3x35SOO2CrGZ2qhMNJGCfxuTtcupJ7ITjrZZZFP2LsGRAlEQYoUwi8E/mKCa4HUpM36UmhqjuSukbNVXXtJQjDLirsMdQFeV72DpH5PvyW1VoEUpnAhm32xVQEkp7KfqlQEYmowakv6ayWf8RIVfnYq8f8eJOxPsIKz/HcfPKeR5q3GVfd2S7+jkgWCthCRsLFyuB3bEFWZ/vkedZbpePX1N9J0g/Fg0UkqHtElEgIpSzf0yT4RtTrfnneIXNxm6fA4NQPsR4L9yyDg948EaO6YHsH0knFoyL0XHEPlnOC+rmxLwVgex4rUlGpqAu9VA6Xk0okUV04WIQByDTlOQE4yim3unIgnZ+vIeyAvKgur7YIDTt91ZDwD3ATDrqwI5In/3guS9iBDUx4qq268IcHw+nCt4eQGMKipEhRAExh458649fb8DxmTBHaj4R5h2e+RIOMScygnmrbo0NR/Tc+FHURerroFYPXCVQveAu0/75dQ2BnVq+X+Zxq6+frEhbNG19zP+e72frL0nyinM6VwsEJgowlnXyrBhnz44VYMtlNuZpHiyWpsPCx/GPRPVsa31AZZafs2i45lIJFVJFeYEdULe4hc3ZkUZdeGvV0Wv9Z2ztsrix1pHQqSIktNWz/RFqvv8uOEwZCSzhYTkr/sDs1FLzlSUxcVZUdkAstks5Czce7Jt2Ixb6K0ycRUj1Yzoka6KqxPqodLBf/F+/fuOQoXOTdPNTw9v4z6kFy/uFyQR7hYpN4qm1k/ETyiUplogm9U21FLI/oFJEs9Ui6npRGhH/Pqnb5IUtAnIJ7KvF8zqu96k61PX/+fIWrbQ011FBDDTXU8KOBc+fO0dvbO2uaq458OI7DkSNHWL9+PefOnZvzWN4aqsOPmVLrxx8ctb5861Dry7cGtX5861Dry7cGUkomJydZsGABmja7u/lVp3bRNI2FCxcC0NjYWBsIbwFq/fjWodaXbx1qffnWoNaPbx1qffmDo6mpaV7pLvtslxpqqKGGGmqooYYfBDXyUUMNNdRQQw01vK24KslHOp3mM5/5TNWw6zXMD7V+fOtQ68u3DrW+fGtQ68e3DrW+fPtx1Rmc1lBDDTXUUEMN/2fjqpR81FBDDTXUUEMN/+eiRj5qqKGGGmqooYa3FTXyUUMNNdRQQw01vK2okY8aaqihhhpqqOFtxVVHPj73uc+xdOlSMpkM27Zt45VXXrnSVbrq8Oyzz/K+972PBQsWIITgwQcfjNyXUvK7v/u79PT0kM1mufPOOzl27FgkzcjICPfffz+NjY00Nzfz8Y9/nKmpqbe5JVcWn/3sZ9m6dSsNDQ10dnbywQ9+kCNHjkTSFAoFHnjgAdra2qivr+dDH/oQ/f39kTRnz57l3nvvJZfL0dnZyX/4D/8By7Le5tZcWXz+859n06ZNQZCmHTt28MgjjwT3a/345vCHf/iHCCH4jd/4jeBarS/nh9/7vd9DCBH5b+3atcH9Wj9eYcirCF/+8pdlKpWSf/u3fysPHDggf/EXf1E2NzfL/v7+K121qwoPP/yw/M//+T/Lb37zmxKQ3/rWtyL3//AP/1A2NTXJBx98UL7xxhvy/e9/v1y2bJnM5/NBmve85z1y8+bN8qWXXpLPPfecXLlypbzvvvuuQGuuHO6++275hS98Qe7fv1/u2bNHvve975WLFy+WU1NTQZpf/uVflosWLZJPPvmkfO211+T27dvlTTfdFNy3LEtu3LhR3nnnnXL37t3y4Ycflu3t7fLTn/70FWrVlcG//Mu/yO9+97vy6NGj8siRI/I//af/JE3TlPv375ey1o9vCq+88opcunSp3LRpk/z1X//14HqtL+eHz3zmM3LDhg3y0qVLwX+Dg4PB/Vo/XllcVeTjxhtvlA888EDw27ZtuWDBAvnZz372itbrakacfDiOI7u7u+Uf/dEfBdfGxsZkOp2WX/rSl6SUUh48eFAC8tVXXw3SPPLII1IIIS9cuPA2t+DqwcDAgATkM888I6XXb6Zpyq997WtBmkOHDklA7ty5U0qPCGqaJvv6+oI0n//852VjY6MsFotXoBVXD1paWuRf//Vf1/rxTWByclKuWrVKPv744/L2228PyEetL+ePz3zmM3Lz5s2J92r9eOVx1ahdSqUSu3bt4s477wyuaZrGnXfeyc6dO69o3X6UcOrUKfr6+iL92NTUxLZt24J+3LlzJ83Nzdxwww1BmjvvvBNN03j55ZevSL2vBoyPjwPQ2toKwK5duyiXy5G+XLt2LYsXL4705TXXXENXV1eQ5u6772ZiYoIDBw687W24GmDbNl/+8peZnp5mx44dtX58E3jggQe49957I31GbUxeNo4dO8aCBQtYvnw5999/P2fPnoVaP14VuGoOlhsaGsK27ciLBujq6uLw4cNXrF4/aujr6wOv31R0dXUF9/r6+ujs7IzcNwyD1tbWIM2/NjiOw2/8xm9w8803s3HjRvD6KZVK0dzcHEkb78ukvkZ5F/9asG/fPnbs2EGhUKC+vp5vfetbrF+/nj179tT68TLw5S9/mddff51XX3214l5tTM4f27Zt44tf/CJr1qzh0qVL/P7v/z633nor+/fvr/XjVYCrhnzUUMOVxAMPPMD+/ft5/vnnr3RVfmSxZs0a9uzZw/j4OF//+tf56Ec/yjPPPHOlq/UjhXPnzvHrv/7rPP7442QymStdnR9p3HPPPcHfmzZtYtu2bSxZsoSvfvWrZLPZK1q3Gq4ib5f29nZ0Xa+wNu7v76e7u/uK1etHDX5fzdaP3d3dDAwMRO5blsXIyMi/yr7+xCc+wXe+8x2+//3v09vbG1zv7u6mVCoxNjYWSR/vy6S+RnkX/1qQSqVYuXIlW7Zs4bOf/SybN2/mf/2v/1Xrx8vArl27GBgY4Prrr8cwDAzD4JlnnuFP/uRPMAyDrq6uWl++STQ3N7N69WqOHz9eG5NXAa4a8pFKpdiyZQtPPvlkcM1xHJ588kl27NhxRev2o4Rly5bR3d0d6ceJiQlefvnloB937NjB2NgYu3btCtI89dRTOI7Dtm3brki9rwSklHziE5/gW9/6Fk899RTLli2L3N+yZQumaUb68siRI5w9ezbSl/v27YuQuccff5zGxkbWr1//Nrbm6oPjOBSLxVo/Xgbe9a53sW/fPvbs2RP8d8MNN3D//fcHf9f68s1hamqKEydO0NPTUxuTVwOutMWrii9/+csynU7LL37xi/LgwYPyl37pl2Rzc3PE2rgG1xJ+9+7dcvfu3RKQf/zHfyx3794tz5w5I6Xnatvc3Cy//e1vy71798oPfOADia621113nXz55Zfl888/L1etWvWvztX2V37lV2RTU5N8+umnI+54MzMzQZpf/uVflosXL5ZPPfWUfO211+SOHTvkjh07gvu+O9673/1uuWfPHvnoo4/Kjo6Of3XueJ/61KfkM888I0+dOiX37t0rP/WpT0khhHzsscekrPXjDwTV20XW+nLe+K3f+i359NNPy1OnTskXXnhB3nnnnbK9vV0ODAxIWevHK46rinxIKeWf/umfysWLF8tUKiVvvPFG+dJLL13pKl11+P73vy+Biv8++tGPSum52/7O7/yO7Orqkul0Wr7rXe+SR44cieQxPDws77vvPllfXy8bGxvlxz72MTk5OXmFWnRlkNSHgPzCF74QpMnn8/JXf/VXZUtLi8zlcvLHf/zH5aVLlyL5nD59Wt5zzz0ym83K9vZ2+Vu/9VuyXC5fgRZdOfzCL/yCXLJkiUylUrKjo0O+613vCoiHrPXjD4Q4+aj15fzw4Q9/WPb09MhUKiUXLlwoP/zhD8vjx48H92v9eGUhpDsJ11BDDTXUUEMNNbwtuGpsPmqooYYaaqihhn8dqJGPGmqooYYaaqjhbUWNfNRQQw011FBDDW8rauSjhhpqqKGGGmp4W1EjHzXUUEMNNdRQw9uKGvmooYYaaqihhhreVtTIRw011FBDDTXU8LaiRj5qqKGGGmqooYa3FTXyUUMNNdRQQw01vK2okY8aaqihhhpqqOFtRY181FBDDTXUUEMNbytq5KOGGmqooYYaanhb8f8Da4oySkWwgmQAAAAASUVORK5CYII=", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "plt.imshow(image_gray)" ] }, { "cell_type": "code", "execution_count": 44, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 44, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "plt.imshow(image_gray, cmap='gray')" ] }, { "cell_type": "code", "execution_count": 45, "metadata": {}, "outputs": [], "source": [ "thresh_val = 127" ] }, { "cell_type": "code", "execution_count": 46, "metadata": {}, "outputs": [], "source": [ "th, image_b = cv2.threshold(src=image_gray, thresh=thresh_val, maxval=255, type=cv2.THRESH_BINARY)" ] }, { "cell_type": "code", "execution_count": 48, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 48, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "plt.imshow(image_b, cmap=\"gray\")" ] }, { "cell_type": "code", "execution_count": 49, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 49, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "thresh_val = 88\n", "th, image_b = cv2.threshold(src=image_gray, thresh=thresh_val, maxval=255, type=cv2.THRESH_BINARY)\n", "plt.imshow(image_b, cmap=\"gray\")" ] }, { "cell_type": "code", "execution_count": 50, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 50, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAh8AAABiCAYAAADwfrHnAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjEsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvc2/+5QAAAAlwSFlzAAAPYQAAD2EBqD+naQAAEPlJREFUeJzt3XtMU+cbB/BvC7TqtK0CtiAXdV6YOpxDrd3mjLPKnNFtuowZ/jDOuLih0aFmODPRxQSTZTqvZJm3xF28RZmbihJUHAveEFR0MiFsMOWiMqB4AaHP74+fntjhnGjtafX7SU5Cz/vaPueB2G96znuqEREBERERkYdo1S6AiIiIni4MH0RERORRDB9ERETkUQwfRERE5FEMH0RERORRDB9ERETkUQwfRERE5FEMH0RERORRDB9ERETkUQwfRERE5FGPLXysXr0aXbt2RZs2bWC1WnHs2LHH9VJERETkQx5L+NiyZQsSExORnJyMkydPon///oiNjUVVVdXjeDkiIiLyIZrH8cVyVqsVgwYNwqpVqwAATqcT4eHhmDFjBpKSktz9ckRERORD/N39hI2NjcjNzcW8efOUfVqtFna7HTk5OS3mNzQ0oKGhQXnsdDpRXV2NwMBAaDQad5dHREREj4GIwOFwIDQ0FFrt/U+suD18XLlyBc3NzTCbzS77zWYzzp8/32J+SkoKFi1a5O4yiIiISAVlZWUICwu77xy3h4/WmjdvHhITE5XHtbW1iIiIQFlZGQwGg6q1ERER0YOpq6tDeHg4OnTo8J9z3R4+goKC4Ofnh8rKSpf9lZWVsFgsLebr9Xro9foW+w0GA8MHERGRj3mQSybcvtpFp9MhJiYGmZmZyj6n04nMzEzYbDZ3vxwRERH5mMdy2iUxMRGTJk3CwIEDMXjwYHz11Ve4du0aJk+e/DhejoiIiHzIYwkfcXFxuHz5MhYsWICKigq88MILSE9Pb3ERKhERET19Hst9Ph5FXV0djEYjamtrec0HERGRj2jN+ze/24WIiIg8iuGDiIiIPIrhg4joCVdVVeVyJ2kitTF8EBE9of7++2+kpaUhPj4eq1atQlNTk9olEQHecIdTIiJyv4aGBsydOxfr1q0DADz77LNwOp1ql0UEMHwQET15PvnkE5w6dQr79u1T9k2dOhU6nU7VuojuYPggInpCOJ1OfP7551i+fDmam5vh5+eH5uZmtcsiaoHXfBAR+Tin04mioiKsWLECa9asQVhYGC5duoQtW7YAAIKDg+/5HVpEamH4ICLycbt370avXr3w5ZdfYu3atSgqKoJer8c777yDyMhIfPfdd+jXr5/aZRIpGD6IiHzYpk2bEB8fj6CgICxfvhzjxo0DACxbtgwAMGrUKIwcOVLlKolc8ZoPIiIf9e2332L27NlwOBwIDw/H+PHjgdsXnC5btgw9evTA9OnT1S6TqAWGDyIiHyMi2LdvH6ZPn47a2lq0a9dOWdly54LTdu3aISsrC6GhoWqXS9QCT7sQEfkQEcHhw4cxZswY1NbWIiQkBBcuXECXLl3gcDhQUlKCwMBAFBcXM3iQ12L4ICLyIU6nE3a7Xblh2Lp16xAaGgqHw4Hk5GScOHEC+/fvR2BgoNqlEv0rnnYhIvIhK1euVILH8OHD0bNnTzQ1NSEpKQnZ2dn45ptv0LdvX7XLJLovhg8iIh+RkpKCxYsXw+l0wmq14uuvv8amTZtw/PhxnD17FmlpaRgwYIDaZRL9J4YPIiIf0NzcjBMnTuD69esAgNOnT2PkyJG4evUqnE4nCgsLERYWpnaZRA+E13wQEfmApUuXYseOHcrjGzduwOFwYNeuXairq0OXLl1UrY+oNRg+iIh8gIi4PLZYLEhNTcXw4cPh5+cHjUajWm1ErcXwQUTk5YqLi7F//37lsclkwrJly/Duu++qWhfRw2L4ICLyciUlJcjMzFQem0wmvPfee6rWRPQoGD6IiHyIVqtFRkbGf84TEeTl5aFnz57Kt9sSeQuudiEi8iFOpxOxsbEoLi7+1zkXL15EdXU1Fi9ejPPnz/N6EPI6DB9ERD6mvr4eR44cwZAhQ1z2l5WVITc3F/Pnz0dUVBS2b9/O4EFeieGDiMjHVFVVYdKkSYiLi3PZX1BQgBs3biAuLg5z5sxh8CCvpZF/rt9SWV1dHYxGI2pra2EwGNQuh4hIdVeuXMHcuXOxcePG+84bNmwY1q9fj+7du3usNqI7WvP+zU8+iIi8XFBQEL766itcuXIF6enpaGpqgkajgZ+fHwAgOzsbZrMZzzzzDIKDg9Uul+g/MXwQEfkAo9GItLQ0NDc3Izo6Gq+++ipSU1OB2ytgeIqFfAnDBxGRj/Dz84Ofnx/Onz+vdilEj4T3+SAiIiKPalX4WLhwITQajcsWFRWljN+8eRMJCQkIDAxE+/btMWHCBFRWVj6OuomIiMhHtfqTj759+6K8vFzZsrOzlbGPP/4YP/30E7Zt24asrCxcunQJ48ePd3fNRERE5MNafc2Hv78/LBZLi/21tbVYt24dvv/+e7z22msAgA0bNuC55567581wiIiI6OnU6k8+Lly4gNDQUHTv3h3x8fEoLS0FAOTm5uLWrVuw2+3K3KioKERERCAnJ+dfn6+hoQF1dXUuGxERET25WhU+rFYrNm7ciPT0dKSmpqKkpARDhw6Fw+FARUUFdDodTCaTy78xm82oqKj41+dMSUmB0WhUtvDw8Ic/GiIiIvJ6rTrtMnr0aOXn6OhoWK1WREZGYuvWrWjbtu1DFTBv3jwkJiYqj+vq6hhAiIiInmCPtNTWZDKhV69eKCoqgsViQWNjI2pqalzmVFZW3vMakTv0ej0MBoPLRkRERE+uRwof9fX1KC4uRkhICGJiYhAQEIDMzExlvLCwEKWlpbDZbO6olYiIiJ4ArTrtMmfOHIwdOxaRkZG4dOkSkpOT4efnh4kTJ8JoNGLKlClITExEp06dYDAYMGPGDNhsNq50ISIiIkWrwsdff/2FiRMn4urVqwgODsYrr7yCI0eOKF9ktGzZMmi1WkyYMAENDQ2IjY3FmjVrHlftRERE5IM0IiJqF3G31nwlLxEREXmH1rx/e90Xy93JQrzfBxERke+48779IJ9peF34cDgcAMDltkRERD7I4XDAaDTed47XnXZxOp0oLCxEnz59UFZWxlMvj+DOPVPYx0fHXroPe+ke7KP7sJfuISJwOBwIDQ2FVnv/xbRe98mHVqtFly5dAID3/XAT9tF92Ev3YS/dg310H/by0f3XJx53PNJ9PoiIiIhai+GDiIiIPMorw4der0dycjL0er3apfg09tF92Ev3YS/dg310H/bS87zuglMiIiJ6snnlJx9ERET05GL4ICIiIo9i+CAiIiKPYvggIiIij/K68LF69Wp07doVbdq0gdVqxbFjx9QuyescPnwYY8eORWhoKDQaDdLS0lzGRQQLFixASEgI2rZtC7vdjgsXLrjMqa6uRnx8PAwGA0wmE6ZMmYL6+noPH4m6UlJSMGjQIHTo0AGdO3fGW2+9hcLCQpc5N2/eREJCAgIDA9G+fXtMmDABlZWVLnNKS0sxZswYtGvXDp07d8bcuXPR1NTk4aNRV2pqKqKjo5WbNNlsNuzdu1cZZx8fzpIlS6DRaDBr1ixlH3v5YBYuXAiNRuOyRUVFKePso8rEi2zevFl0Op2sX79ezp49K1OnThWTySSVlZVql+ZV9uzZI/Pnz5cdO3YIANm5c6fL+JIlS8RoNEpaWpqcOnVKxo0bJ926dZMbN24oc15//XXp37+/HDlyRH755Rfp0aOHTJw4UYWjUU9sbKxs2LBBCgoKJD8/X9544w2JiIiQ+vp6Zc60adMkPDxcMjMz5cSJEzJkyBB56aWXlPGmpibp16+f2O12ycvLkz179khQUJDMmzdPpaNSx65du2T37t3y+++/S2FhoXz66acSEBAgBQUFIuzjQzl27Jh07dpVoqOjZebMmcp+9vLBJCcnS9++faW8vFzZLl++rIyzj+ryqvAxePBgSUhIUB43NzdLaGiopKSkqFqXN/tn+HA6nWKxWOSLL75Q9tXU1Iher5cffvhBRETOnTsnAOT48ePKnL1794pGo5GLFy96+Ai8R1VVlQCQrKwskdt9CwgIkG3btilzfvvtNwEgOTk5IreDoFarlYqKCmVOamqqGAwGaWhoUOEovEfHjh1l7dq17ONDcDgc0rNnT8nIyJBhw4Yp4YO9fHDJycnSv3//e46xj+rzmtMujY2NyM3Nhd1uV/ZptVrY7Xbk5OSoWpsvKSkpQUVFhUsfjUYjrFar0secnByYTCYMHDhQmWO326HVanH06FFV6vYGtbW1AIBOnToBAHJzc3Hr1i2XXkZFRSEiIsKll88//zzMZrMyJzY2FnV1dTh79qzHj8EbNDc3Y/Pmzbh27RpsNhv7+BASEhIwZswYl56Bf5OtduHCBYSGhqJ79+6Ij49HaWkpwD56Ba/5YrkrV66gubnZ5RcNAGazGefPn1etLl9TUVEB3O7b3cxmszJWUVGBzp07u4z7+/ujU6dOypynjdPpxKxZs/Dyyy+jX79+wO0+6XQ6mEwml7n/7OW9eo27fhdPizNnzsBms+HmzZto3749du7ciT59+iA/P599bIXNmzfj5MmTOH78eIsx/k0+OKvVio0bN6J3794oLy/HokWLMHToUBQUFLCPXsBrwgeRmhISElBQUIDs7Gy1S/FZvXv3Rn5+Pmpra7F9+3ZMmjQJWVlZapflU8rKyjBz5kxkZGSgTZs2apfj00aPHq38HB0dDavVisjISGzduhVt27ZVtTbyotUuQUFB8PPza3G1cWVlJSwWi2p1+Zo7vbpfHy0WC6qqqlzGm5qaUF1d/VT2evr06fj5559x8OBBhIWFKfstFgsaGxtRU1PjMv+fvbxXr3HX7+JpodPp0KNHD8TExCAlJQX9+/fH8uXL2cdWyM3NRVVVFV588UX4+/vD398fWVlZWLFiBfz9/WE2m9nLh2QymdCrVy8UFRXxb9ILeE340Ol0iImJQWZmprLP6XQiMzMTNptN1dp8Sbdu3WCxWFz6WFdXh6NHjyp9tNlsqKmpQW5urjLnwIEDcDqdsFqtqtStBhHB9OnTsXPnThw4cADdunVzGY+JiUFAQIBLLwsLC1FaWurSyzNnzriEuYyMDBgMBvTp08eDR+N9nE4nGhoa2MdWGDFiBM6cOYP8/HxlGzhwIOLj45Wf2cuHU19fj+LiYoSEhPBv0huofcXr3TZv3ix6vV42btwo586dkw8++EBMJpPL1cb0/yvh8/LyJC8vTwDI0qVLJS8vT/7880+R20ttTSaT/Pjjj3L69Gl5880377nUdsCAAXL06FHJzs6Wnj17PnVLbT/88EMxGo1y6NAhl+V4169fV+ZMmzZNIiIi5MCBA3LixAmx2Wxis9mU8TvL8UaNGiX5+fmSnp4uwcHBT91yvKSkJMnKypKSkhI5ffq0JCUliUajkf3794uwj4/k7tUuwl4+sNmzZ8uhQ4ekpKREfv31V7Hb7RIUFCRVVVUi7KPqvCp8iIisXLlSIiIiRKfTyeDBg+XIkSNql+R1Dh48KABabJMmTRK5vdz2s88+E7PZLHq9XkaMGCGFhYUuz3H16lWZOHGitG/fXgwGg0yePFkcDodKR6SOe/UQgGzYsEGZc+PGDfnoo4+kY8eO0q5dO3n77belvLzc5Xn++OMPGT16tLRt21aCgoJk9uzZcuvWLRWOSD3vv/++REZGik6nk+DgYBkxYoQSPIR9fCT/DB/s5YOJi4uTkJAQ0el00qVLF4mLi5OioiJlnH1Ul0b+/58wERERkUd4zTUfRERE9HRg+CAiIiKPYvggIiIij2L4ICIiIo9i+CAiIiKPYvggIiIij2L4ICIiIo9i+CAiIiKPYvggIiIij2L4ICIiIo9i+CAiIiKPYvggIiIij/ofWm3H2YmX5fQAAAAASUVORK5CYII=", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "thresh_val = 64\n", "th, image_b = cv2.threshold(src=image_gray, thresh=thresh_val, maxval=255, type=cv2.THRESH_BINARY)\n", "plt.imshow(image_b, cmap=\"gray\")" ] }, { "cell_type": "code", "execution_count": 51, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 51, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "thresh_val = 96\n", "th, image_b = cv2.threshold(src=image_gray, thresh=thresh_val, maxval=255, type=cv2.THRESH_BINARY)\n", "plt.imshow(image_b, cmap=\"gray\")" ] }, { "cell_type": "code", "execution_count": 52, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 52, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "thresh_val = 170\n", "th, image_b = cv2.threshold(src=image_gray, thresh=thresh_val, maxval=255, type=cv2.THRESH_BINARY)\n", "plt.imshow(image_b, cmap=\"gray\")" ] }, { "cell_type": "code", "execution_count": 53, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "(60, 600)" ] }, "execution_count": 53, "metadata": {}, "output_type": "execute_result" } ], "source": [ "image_b.shape" ] }, { "cell_type": "code", "execution_count": 54, "metadata": {}, "outputs": [], "source": [ "from numpy import asarray" ] }, { "cell_type": "code", "execution_count": 85, "metadata": {}, "outputs": [], "source": [ "numpydata = asarray(image_b)" ] }, { "cell_type": "code", "execution_count": 56, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "(60, 600)" ] }, "execution_count": 56, "metadata": {}, "output_type": "execute_result" } ], "source": [ "numpydata.shape" ] }, { "cell_type": "code", "execution_count": 57, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "np.uint8(0)" ] }, "execution_count": 57, "metadata": {}, "output_type": "execute_result" } ], "source": [ "numpydata[0, 0]" ] }, { "cell_type": "code", "execution_count": 58, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "np.uint8(0)" ] }, "execution_count": 58, "metadata": {}, "output_type": "execute_result" } ], "source": [ "numpydata[5, 500]" ] }, { "cell_type": "code", "execution_count": 59, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "np.uint8(255)" ] }, "execution_count": 59, "metadata": {}, "output_type": "execute_result" } ], "source": [ "numpydata[45, 245]" ] }, { "cell_type": "code", "execution_count": 61, "metadata": {}, "outputs": [], "source": [ "char_a1 = cv2.imread('lesson8_files/a1.png')" ] }, { "cell_type": "code", "execution_count": 62, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "(24, 24, 3)" ] }, "execution_count": 62, "metadata": {}, "output_type": "execute_result" } ], "source": [ "char_a1.shape" ] }, { "cell_type": "code", "execution_count": 63, "metadata": {}, "outputs": [], "source": [ "numpydata = asarray(char_a1)" ] }, { "cell_type": "code", "execution_count": 64, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([[[255, 255, 255],\n", " [255, 255, 255],\n", " [255, 255, 255],\n", " ...,\n", " [255, 255, 255],\n", " [255, 255, 255],\n", " [255, 255, 255]],\n", "\n", " [[255, 255, 255],\n", " [255, 255, 255],\n", " [255, 255, 255],\n", " ...,\n", " [255, 255, 255],\n", " [255, 255, 255],\n", " [255, 255, 255]],\n", "\n", " [[255, 255, 255],\n", " [255, 255, 255],\n", " [255, 255, 255],\n", " ...,\n", " [255, 255, 255],\n", " [255, 255, 255],\n", " [255, 255, 255]],\n", "\n", " ...,\n", "\n", " [[255, 255, 255],\n", " [223, 223, 223],\n", " [ 0, 0, 0],\n", " ...,\n", " [176, 176, 176],\n", " [255, 255, 255],\n", " [255, 255, 255]],\n", "\n", " [[255, 255, 255],\n", " [234, 234, 234],\n", " [212, 212, 212],\n", " ...,\n", " [223, 223, 223],\n", " [255, 255, 255],\n", " [255, 255, 255]],\n", "\n", " [[255, 255, 255],\n", " [255, 255, 255],\n", " [255, 255, 255],\n", " ...,\n", " [255, 255, 255],\n", " [255, 255, 255],\n", " [255, 255, 255]]], shape=(24, 24, 3), dtype=uint8)" ] }, "execution_count": 64, "metadata": {}, "output_type": "execute_result" } ], "source": [ "numpydata" ] }, { "cell_type": "code", "execution_count": 66, "metadata": {}, "outputs": [], "source": [ "image_gray = cv2.cvtColor(char_a1, cv2.COLOR_BGR2GRAY)" ] }, { "cell_type": "code", "execution_count": 67, "metadata": {}, "outputs": [], "source": [ "thresh_val = 127" ] }, { "cell_type": "code", "execution_count": 68, "metadata": {}, "outputs": [], "source": [ "th, image_b = cv2.threshold(src=image_gray, thresh=thresh_val, maxval=255, type=cv2.THRESH_BINARY)" ] }, { "cell_type": "code", "execution_count": 69, "metadata": {}, "outputs": [], "source": [ "numpydata = asarray(image_b)" ] }, { "cell_type": "code", "execution_count": 71, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([[255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,\n", " 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],\n", " [255, 255, 255, 255, 255, 255, 255, 255, 255, 0, 0, 0, 0,\n", " 0, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],\n", " [255, 255, 255, 255, 255, 255, 255, 255, 255, 0, 0, 0, 0,\n", " 0, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],\n", " [255, 255, 255, 255, 255, 255, 255, 255, 0, 0, 0, 0, 0,\n", " 0, 0, 255, 255, 255, 255, 255, 255, 255, 255, 255],\n", " [255, 255, 255, 255, 255, 255, 255, 255, 0, 0, 0, 0, 0,\n", " 0, 0, 255, 255, 255, 255, 255, 255, 255, 255, 255],\n", " [255, 255, 255, 255, 255, 255, 255, 255, 0, 0, 0, 0, 0,\n", " 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 255],\n", " [255, 255, 255, 255, 255, 255, 255, 0, 0, 0, 0, 255, 0,\n", " 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 255],\n", " [255, 255, 255, 255, 255, 255, 255, 0, 0, 0, 0, 255, 0,\n", " 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 255],\n", " [255, 255, 255, 255, 255, 255, 255, 0, 0, 0, 0, 255, 255,\n", " 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255],\n", " [255, 255, 255, 255, 255, 255, 0, 0, 0, 0, 255, 255, 255,\n", " 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255],\n", " [255, 255, 255, 255, 255, 255, 0, 0, 0, 0, 255, 255, 255,\n", " 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255],\n", " [255, 255, 255, 255, 255, 0, 0, 0, 0, 0, 255, 255, 255,\n", " 255, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255],\n", " [255, 255, 255, 255, 255, 0, 0, 0, 0, 255, 255, 255, 255,\n", " 255, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255],\n", " [255, 255, 255, 255, 255, 0, 0, 0, 0, 255, 255, 255, 255,\n", " 255, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255],\n", " [255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n", " 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255],\n", " [255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n", " 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255],\n", " [255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n", " 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255],\n", " [255, 255, 255, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255,\n", " 255, 255, 255, 0, 0, 0, 0, 255, 255, 255, 255],\n", " [255, 255, 255, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255,\n", " 255, 255, 255, 0, 0, 0, 0, 255, 255, 255, 255],\n", " [255, 255, 255, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255,\n", " 255, 255, 255, 0, 0, 0, 0, 0, 255, 255, 255],\n", " [255, 255, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255,\n", " 255, 255, 255, 255, 0, 0, 0, 0, 255, 255, 255],\n", " [255, 255, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255,\n", " 255, 255, 255, 255, 0, 0, 0, 0, 255, 255, 255],\n", " [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,\n", " 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],\n", " [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,\n", " 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]],\n", " dtype=uint8)" ] }, "execution_count": 71, "metadata": {}, "output_type": "execute_result" } ], "source": [ "numpydata" ] }, { "cell_type": "code", "execution_count": 87, "metadata": {}, "outputs": [], "source": [ "numpydata_original = numpydata" ] }, { "cell_type": "code", "execution_count": 88, "metadata": {}, "outputs": [], "source": [ "# Convert to 1D vector\n", "numpydata = numpydata // 255\n", "numpydata = numpydata.flatten()\n", "numpydata = np.where(numpydata == 0, 1, 0)" ] }, { "cell_type": "code", "execution_count": 89, "metadata": {}, "outputs": [], "source": [ "from pylab import imshow, cm, show" ] }, { "cell_type": "code", "execution_count": 90, "metadata": {}, "outputs": [], "source": [ "def display_image(image):\n", " imshow(image.reshape((24, 24)), cmap=cm.binary, interpolation='nearest')\n", " show()" ] }, { "cell_type": "code", "execution_count": 91, "metadata": {}, "outputs": [ { "data": { "image/png": "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jwRAFSoVRVGc8zeXSrF58+ZYuXLlWdf517/+FZdffnm8++67ceutt37n/r6+vujr6+v/ulKpREtLS/T09ER9ff25jlaTSqVS9gjAGQzhZXJMqlQqUS6Xf/B1fMRPw547d25MmzYt9u7de8b76+rqor6+fsACwOg34gH69NNP4/DhwzFz5syRfigAasigz4I7duzYgKOZ/fv3x8cffxwNDQ3R0NAQTz75ZKxatSqamppi37598cgjj8QVV1wRS5cuHe7ZAahlxSC9//77RUR8Z1m9enXx1VdfFUuWLCmmT59eTJw4sZg9e3Zx//33F11dXT/65/f09BQRUfT09Ax2tJp3pu1qsVjyFwbnx76OD+kkhJHwY9+8Go2chADVqcpeJqte1ZyEAABnMuj3gADGmqH8dsLR09k5AgIghQABkEKAAEghQACkECAAUggQACkECIAUAgRACgECIIUAAZBCgABIIUAApBAgAFIIEAApXI5hGLmg3OD5qPqxxXOE/+UICIAUAgRACgECIIUAAZBCgABIIUAApBAgAFIIEAApBAiAFAIEQAoBAiCFAAGQQoAASCFAAKRwOQaGzCUVgHPhCAiAFAIEQAoBAiCFAAGQQoAASCFAAKQQIABSCBAAKQQIgBQCBEAKAQIghQABkEKAAEghQACkECAAUrgeEMAIKpVKQ/r+0Xy9LUdAAKQQIABSCBAAKQQIgBQCBEAKAQIghQABkEKAAEghQACkECAAUggQACkECIAUAgRACgECIIXLMXzLUD86vRaN5o97p7oMZV8bi8/N0c4REAApBAiAFAIEQIpBBai9vT1uuOGGmDJlSsyYMSNWrlwZu3fvHrDO8ePHo62tLS655JK4+OKLY9WqVdHd3T3ccwNQ4wYVoM7Ozmhra4sdO3bEO++8EydPnowlS5ZEb29v/zoPPfRQvPXWW/HGG29EZ2dnHDp0KO64446RmB2AGlYqhnBayhdffBEzZsyIzs7O+NWvfhU9PT0xffr0ePXVV+M3v/lNRET885//jJ/97Gexffv2uPHGG3/wZ1YqlSiXy9HT0xP19fXnOto5G4tn2jgLjlowFp+bUaPPzx/7Oj6k94B6enoiIqKhoSEiInbt2hUnT56M1tbW/nXmzZsXs2bNiu3bt5/xZ/T19UWlUhmwADD6nXOATp8+HevWrYubbroprr322oiI6OrqikmTJsXUqVMHrNvY2BhdXV1n/Dnt7e1RLpf7l5aWlnMdCYAacs4Bamtri08++SRee+21IQ3w6KOPRk9PT/9y8ODBIf08AGrDOX0Swtq1a+Ptt9+Obdu2xaWXXtp/e1NTU5w4cSKOHDky4Ciou7s7mpqazviz6urqoq6u7lzGAKCGDeoIqCiKWLt2bWzevDnee++9mDNnzoD7FyxYEBMnToyOjo7+23bv3h0HDhyIxYsXD9/UANS8QR0BtbW1xauvvhpvvvlmTJkypf99nXK5HJMnT45yuRxr1qyJ9evXR0NDQ9TX18eDDz4Yixcv/lFnwAEwdgzqNOyznQb50ksvxb333hvx9R+i/v73v49NmzZFX19fLF26NP785z+f9Vdw3+Y07POvFk/zZOwZi8/NqNHn5499HR/S3wGNBAE6/6psF4AzGovPzajR5+d5+TsgADhXAgRACgECIIUAAZBCgABIIUAApBAgAFIIEAApBAiAFAIEQAoBAiCFAAGQQoAASCFAAKQQIABSCBAAKQZ1Se6xoBYv/gRjgefm6OMICIAUAgRACgECIIUAAZBCgABIIUAApBAgAFIIEAApBAiAFAIEQAoBAiCFAAGQQoAASCFAAKQQIABSCBAAKQQIgBQCBEAKAQIghQABkEKAAEghQACkECAAUggQACkECIAUAgRACgECIIUAAZBCgABIMSF7gG8riiIiIiqVSvYoAJyDb16/v3k9P5uqC9DRo0cjIqKlpSV7FACG4OjRo1Eul896f6n4oUSdZ6dPn45Dhw7FlClTolQqfef+SqUSLS0tcfDgwaivr0+ZsdbYZoNnmw2ebTZ4o3WbFUURR48ejebm5hg37uzv9FTdEdC4cePi0ksv/cH16uvrR9X/sPPBNhs822zwbLPBG43b7PuOfL7hJAQAUggQAClqLkB1dXWxYcOGqKuryx6lZthmg2ebDZ5tNnhjfZtV3UkIAIwNNXcEBMDoIEAApBAgAFIIEAApai5AGzdujMsuuywuuOCCWLRoUXz44YfZI1WtJ554Ikql0oBl3rx52WNVlW3btsWKFSuiubk5SqVSbNmyZcD9RVHE448/HjNnzozJkydHa2tr7NmzJ23eavBD2+zee+/9zn63bNmytHmztbe3xw033BBTpkyJGTNmxMqVK2P37t0D1jl+/Hi0tbXFJZdcEhdffHGsWrUquru702Y+X2oqQK+//nqsX78+NmzYEB999FHMnz8/li5dGp9//nn2aFXrmmuuic8++6x/+etf/5o9UlXp7e2N+fPnx8aNG894/zPPPBPPP/98vPjii7Fz58646KKLYunSpXH8+PHzPmu1+KFtFhGxbNmyAfvdpk2bzuuM1aSzszPa2tpix44d8c4778TJkydjyZIl0dvb27/OQw89FG+99Va88cYb0dnZGYcOHYo77rgjde7zoqghCxcuLNra2vq/PnXqVNHc3Fy0t7enzlWtNmzYUMyfPz97jJoREcXmzZv7vz59+nTR1NRU/PGPf+y/7ciRI0VdXV2xadOmpCmry7e3WVEUxerVq4vbbrstbaZq9/nnnxcRUXR2dhbF1/vUxIkTizfeeKN/nX/84x9FRBTbt29PnHTk1cwR0IkTJ2LXrl3R2traf9u4ceOitbU1tm/fnjpbNduzZ080NzfH3Llz45577okDBw5kj1Qz9u/fH11dXQP2uXK5HIsWLbLP/YAPPvggZsyYEVdffXU88MADcfjw4eyRqkZPT09ERDQ0NERExK5du+LkyZMD9rN58+bFrFmzRv1+VjMB+vLLL+PUqVPR2Ng44PbGxsbo6upKm6uaLVq0KF5++eXYunVrvPDCC7F///645ZZb+i95wff7Zr+yzw3OsmXL4pVXXomOjo54+umno7OzM5YvXx6nTp3KHi3d6dOnY926dXHTTTfFtddeG/H1fjZp0qSYOnXqgHXHwn5WdZ+GzfBZvnx5/39fd911sWjRopg9e3b83//9X6xZsyZ1Nkavu+66q/+/f/GLX8R1110Xl19+eXzwwQdx6623ps6Wra2tLT755BPvxX6tZo6Apk2bFuPHj//OmSHd3d3R1NSUNlctmTp1alx11VWxd+/e7FFqwjf7lX1uaObOnRvTpk0b8/vd2rVr4+233473339/wCVnmpqa4sSJE3HkyJEB64+F/axmAjRp0qRYsGBBdHR09N92+vTp6OjoiMWLF6fOViuOHTsW+/bti5kzZ2aPUhPmzJkTTU1NA/a5SqUSO3futM8NwqeffhqHDx8es/tdURSxdu3a2Lx5c7z33nsxZ86cAfcvWLAgJk6cOGA/2717dxw4cGDU72c19Su49evXx+rVq+P666+PhQsXxnPPPRe9vb1x3333ZY9WlR5++OFYsWJFzJ49Ow4dOhQbNmyI8ePHx9133509WtU4duzYgH+Z79+/Pz7++ONoaGiIWbNmxbp16+Kpp56KK6+8MubMmROPPfZYNDc3x8qVK1PnzvR926yhoSGefPLJWLVqVTQ1NcW+ffvikUceiSuuuCKWLl2aOneWtra2ePXVV+PNN9+MKVOm9L+vUy6XY/LkyVEul2PNmjWxfv36aGhoiPr6+njwwQdj8eLFceONN2aPP7KyT8MbrD/96U/FrFmzikmTJhULFy4sduzYkT1S1brzzjuLmTNnFpMmTSp++tOfFnfeeWexd+/e7LGqyvvvv19ExHeW1atXF8XXp2I/9thjRWNjY1FXV1fceuutxe7du7PHTvV92+yrr74qlixZUkyfPr2YOHFiMXv27OL+++8vurq6ssdOc6ZtFRHFSy+91L/Of/7zn+J3v/td8ZOf/KS48MILi9tvv7347LPPUuc+H1yOAYAUNfMeEACjiwABkEKAAEghQACkECAAUggQACkECIAUAgRACgECIIUAAZBCgABIIUAApPh/ZF005bxLS/gAAAAASUVORK5CYII=", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "display_image(numpydata)" ] }, { "cell_type": "code", "execution_count": 92, "metadata": {}, "outputs": [], "source": [ "char_b1 = cv2.imread('lesson8_files/b1.png')\n", "char_x1 = cv2.imread('lesson8_files/x1.png')" ] }, { "cell_type": "code", "execution_count": 93, "metadata": {}, "outputs": [], "source": [ "b1_data = asarray(char_b1)\n", "x1_data = asarray(char_x1)" ] }, { "cell_type": "code", "execution_count": 94, "metadata": {}, "outputs": [], "source": [ "b1_gray = cv2.cvtColor(char_b1, cv2.COLOR_BGR2GRAY)\n", "x1_gray = cv2.cvtColor(char_x1, cv2.COLOR_BGR2GRAY)" ] }, { "cell_type": "code", "execution_count": 95, "metadata": {}, "outputs": [], "source": [ "import numpy as np\n", "import matplotlib.pyplot as plt\n", "import cv2\n", "\n", "# 1. Function for converting to grayscale\n", "def to_grayscale(path):\n", " return cv2.cvtColor(cv2.imread(path), cv2.COLOR_BGR2GRAY)\n", "\n", "# 2. Function for binarization\n", "def binarize_image(image, thresh_val=127):\n", " _, binary_image = cv2.threshold(src=image, thresh=thresh_val, maxval=255, type=cv2.THRESH_BINARY)\n", " return binary_image\n", "\n", "# 3. Function for visualization\n", "def display_image(image):\n", " from pylab import imshow, cm, show\n", " # Swap 0 with 1 and vice versa\n", " imshow(image.reshape((24, 24)), cmap=cm.binary, interpolation='nearest')\n", " show()" ] }, { "cell_type": "code", "execution_count": 96, "metadata": {}, "outputs": [], "source": [ "image_paths_a = [\"lesson8_fies/a1.png\", \"lesson8_fies/a2.png\", \"lesson8_fies/a3.png\"]\n", "image_paths_b = [\"lesson8_fies/b1.png\", \"lesson8_fies/b2.png\", \"lesson8_fies/b3.png\"]\n", "image_paths_x = [\"lesson8_fies/x1.png\", \"lesson8_fies/x2.png\", \"lesson8_fies/x3.png\"]\n", "\n", "def process_group(image_paths):\n", " vectors = []\n", " for i, path in enumerate(image_paths):\n", " # 1. Conversion to grayscale\n", " grayscale_image = to_grayscale(path)\n", "\n", " # 2. Binarization\n", " binary_image = binarize_image(grayscale_image, thresh_val=127)\n", "\n", " # 3. Convert to 1D vector (0 -> 1, 255 -> 0)\n", " binary_image = binary_image // 255\n", " binary_image = binary_image.flatten()\n", " binary_vector = np.where(binary_image == 0, 1, 0)\n", "\n", " # Save the vector to a list\n", " vectors.append(binary_vector)\n", "\n", " return vectors" ] }, { "cell_type": "code", "execution_count": 98, "metadata": {}, "outputs": [], "source": [ "# Paths to images\n", "image_paths_a = [\"lesson8_files/a1.png\", \"lesson8_files/a2.png\", \"lesson8_files/a3.png\"]\n", "image_paths_b = [\"lesson8_files/b1.png\", \"lesson8_files/b2.png\", \"lesson8_files/b3.png\"]\n", "image_paths_x = [\"lesson8_files/x1.png\", \"lesson8_files/x2.png\", \"lesson8_files/x3.png\"]\n", "\n", "image_paths_unk = [\"lesson8_files/unknown_char1.png\", \"lesson8_files/unknown_char2.png\", \"lesson8_files/unknown_char3.png\"]\n", "\n", "# Processing groups of images\n", "vectors_a = process_group(image_paths_a)\n", "vectors_b = process_group(image_paths_b)\n", "vectors_x = process_group(image_paths_x)\n", "\n", "vectors_unk = process_group(image_paths_unk)" ] }, { "cell_type": "code", "execution_count": 102, "metadata": {}, "outputs": [], "source": [ "from scipy.spatial import distance\n", "\n", "def compare_histograms(vectors_unk, vectors_ref, metric=distance.euclidean):\n", " distances = []\n", " for unk_vector in vectors_unk:\n", " unk_distances = [\n", " metric(histogram(unk_vector), histogram(ref_vector))\n", " for ref_vector in vectors_ref\n", " ]\n", " distances.append(unk_distances)\n", " return distances" ] }, { "cell_type": "code", "execution_count": 103, "metadata": {}, "outputs": [ { "ename": "ValueError", "evalue": "cannot reshape array of size 576 into shape (5,5)", "output_type": "error", "traceback": [ "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", "\u001b[0;31mValueError\u001b[0m Traceback (most recent call last)", "Cell \u001b[0;32mIn[103], line 2\u001b[0m\n\u001b[1;32m 1\u001b[0m \u001b[38;5;66;03m# Comparison with groups A, B, X\u001b[39;00m\n\u001b[0;32m----> 2\u001b[0m distances_to_a \u001b[38;5;241m=\u001b[39m \u001b[43mcompare_histograms\u001b[49m\u001b[43m(\u001b[49m\u001b[43mvectors_unk\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mvectors_a\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mmetric\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mdistance\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mcosine\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 3\u001b[0m distances_to_b \u001b[38;5;241m=\u001b[39m compare_histograms(vectors_unk, vectors_b, metric\u001b[38;5;241m=\u001b[39mdistance\u001b[38;5;241m.\u001b[39mcosine)\n\u001b[1;32m 4\u001b[0m distances_to_x \u001b[38;5;241m=\u001b[39m compare_histograms(vectors_unk, vectors_x, metric\u001b[38;5;241m=\u001b[39mdistance\u001b[38;5;241m.\u001b[39mcosine)\n", "Cell \u001b[0;32mIn[102], line 7\u001b[0m, in \u001b[0;36mcompare_histograms\u001b[0;34m(vectors_unk, vectors_ref, metric)\u001b[0m\n\u001b[1;32m 4\u001b[0m distances \u001b[38;5;241m=\u001b[39m []\n\u001b[1;32m 5\u001b[0m \u001b[38;5;28;01mfor\u001b[39;00m unk_vector \u001b[38;5;129;01min\u001b[39;00m vectors_unk:\n\u001b[1;32m 6\u001b[0m unk_distances \u001b[38;5;241m=\u001b[39m [\n\u001b[0;32m----> 7\u001b[0m metric(\u001b[43mhistogram\u001b[49m\u001b[43m(\u001b[49m\u001b[43munk_vector\u001b[49m\u001b[43m)\u001b[49m, histogram(ref_vector))\n\u001b[1;32m 8\u001b[0m \u001b[38;5;28;01mfor\u001b[39;00m ref_vector \u001b[38;5;129;01min\u001b[39;00m vectors_ref\n\u001b[1;32m 9\u001b[0m ]\n\u001b[1;32m 10\u001b[0m distances\u001b[38;5;241m.\u001b[39mappend(unk_distances)\n\u001b[1;32m 11\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m distances\n", "Cell \u001b[0;32mIn[13], line 3\u001b[0m, in \u001b[0;36mhistogram\u001b[0;34m(pattern)\u001b[0m\n\u001b[1;32m 2\u001b[0m \u001b[38;5;28;01mdef\u001b[39;00m\u001b[38;5;250m \u001b[39m\u001b[38;5;21mhistogram\u001b[39m(pattern):\n\u001b[0;32m----> 3\u001b[0m pattern \u001b[38;5;241m=\u001b[39m \u001b[43mnp\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43marray\u001b[49m\u001b[43m(\u001b[49m\u001b[43mpattern\u001b[49m\u001b[43m)\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mreshape\u001b[49m\u001b[43m(\u001b[49m\u001b[38;5;241;43m5\u001b[39;49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;241;43m5\u001b[39;49m\u001b[43m)\u001b[49m\n\u001b[1;32m 4\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m np\u001b[38;5;241m.\u001b[39msum(pattern, axis\u001b[38;5;241m=\u001b[39m\u001b[38;5;241m0\u001b[39m)\n", "\u001b[0;31mValueError\u001b[0m: cannot reshape array of size 576 into shape (5,5)" ] } ], "source": [ "# Comparison with groups A, B, X\n", "distances_to_a = compare_histograms(vectors_unk, vectors_a, metric=distance.cosine)\n", "distances_to_b = compare_histograms(vectors_unk, vectors_b, metric=distance.cosine)\n", "distances_to_x = compare_histograms(vectors_unk, vectors_x, metric=distance.cosine)\n", "\n", "# Output distances\n", "print(\"Distances to group A😊\")\n", "for i, distances in enumerate(distances_to_a):\n", " print(f\"Unknown {i+1}: {distances}\")\n", "\n", "print(\"\\nDistances to group B😊\")\n", "for i, distances in enumerate(distances_to_b):\n", " print(f\"Unknown {i+1}: {distances}\")\n", "\n", "print(\"\\nDistances to group X😊\")\n", "for i, distances in enumerate(distances_to_x):\n", " print(f\"Unknown {i+1}: {distances}\")" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] } ], "metadata": { "kernelspec": { "display_name": "ui-cviko1", "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.13.2" } }, "nbformat": 4, "nbformat_minor": 2 }