Skip to content

Instantly share code, notes, and snippets.

Embed
What would you like to do?
{
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# 二値化\n"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"画像処理における二値化とは、抽出したいオブジェクト(前景)とそれ以外(背景)を二色で表すことを指します。\n",
"文字認識における二値化は、文字とそれ以外を二色で表すために用いられます。二値化が正確になされればドキュメント解析が容易になり、ひいては正確な文字読み取りが可能となります。\n",
"\n",
"あらゆる文字認識に最適な二値化手法というのは経験上ありません。影や解像度や文字色など二値化を阻害する要因は色々あり、ターゲットに応じて最適な二値化手法を選択することになります。\n",
"\n",
"以下で OpenCV を用いて簡単にできる二値化手法を紹介しながら、各手法のメリットデメリットを見ていきます。"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### DIBCO2017\n",
"二値化の[コンペティション画像](https://vc.ee.duth.gr/dibco2017/)を用いて実験をしていきます。"
]
},
{
"cell_type": "code",
"execution_count": 1,
"metadata": {},
"outputs": [],
"source": [
"dir = 'DIPCO2016_dataset'\n",
"\n",
"import os\n",
"import glob\n",
"\n",
"files = glob.glob(os.path.join(dir,'*'))"
]
},
{
"cell_type": "code",
"execution_count": 2,
"metadata": {},
"outputs": [],
"source": [
"import numpy as np\n",
"import cv2\n",
"from matplotlib import pyplot as plt"
]
},
{
"cell_type": "code",
"execution_count": 3,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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idEH05JExJYzOlTrofsgKS0nNSBhFEQDx/5I20c6m96WU9OU/CBQ4Gm3/DCC4bycHYHpw/GRB7QHbovo3DLGiWDKtlfvMKIyr/mdoMK8p86bdm6LaVCmoQh6L6b8jWwEy/P8C5K+cP77I5Ke2+OeuqQf/27qNYG9qSXm7PiJuXgSgcaH/0vb648lFRAN84mMCBxuE41K2iFEDP+zLNNVV12l66+/Ph3MNj8/r1qtpg9/+MM6ePCgnv70p6eVTET3nkNgNEJF8ATiI488oqmpKR08eFCtVkvj4+NpmWpM/zCq6BUme47h/vvv14EDB/Tggw+q1Wrprrvu0i233KLHH39cc3NzeulLX6qf/umf1r59+/RzP/dzuvXWW/XGN75R1157bWrHvKOS06B3u12dOnVKx48f19e//nUdP35cr371q/WiF71I//pf/2tl2dYLcb785S/r+PHj+vEf/3H95V/+pV784henMTWbTZ06dUpTU1NpJZILjahfZ+iX3rfbbS0tLenHfuzHND8/r3vvvVeDg4NaWVnRHXfcof/yX/6L/uzP/kyVSkW1Wi0t773jjjv0+7//+7r33nuTY1leXtYf//Ef61d/9Vf1gQ98QM997nNTWG+D7NNgudTVh59RXpm+NE/W19f1+te/Xr/yK7+ia6+9Vvv379fm5qZe/OIX65577kl1dzod3XTTTXr/+9+va6+9Vrfeeqs+/elP69ChQ1paWtLnPvc5vepVr1Kj0dDKyor27t1bcJo0LNRD6lcvlB3pTV3gOMibeDYR24jXTSOmJAli3A8axBgpUqcNDCyfNPJG6rQDMVohv7hCy06A6R5uxjOI8epAt0kAQ0BI2WBE7LoJfmNK62LKJf0+gBtuuCH/2Mc+Jqm44zXm7Zh/ZxgX77WjiKg/CpI3evEMlLj8jMVC4RU5q6urafUEGcx+UCmMqPv6+rS+vl5IvXjy2UbDR1fYUbEvXpd/7tw5lUoljY2NpWOb7UA5yUxE7jQFadntdrW6upqWt732ta/V+973vmTg2+22fud3fke33367PvOZz+iee+7R3NycnvGMZ+jtb3+73vGOd+g1r3lNYSLObTGMve+++3TdddfpkUce0dve9jY973nP09ve9jYNDw+rVqulJZ133nmn8jzX93//9+tpT3uaOp2tPSD1el2/8iu/optuukmjo6NaWlrS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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"img = cv2.imread(files[2])\n",
"plt.imshow(cv2.cvtColor(img, cv2.COLOR_BGR2RGB))\n",
"plt.show()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"DIBCO は古くて状態の悪いドキュメントの二値化が目標であって、一般普遍的な二値化を目指しているわけではありません。\n",
"この画像に関しては裏写り・安定しないインクの濃さ、といったあたりが難しそう。ちょっと難易度高めです。"
]
},
{
"cell_type": "code",
"execution_count": 4,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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5xxdcMEFhrhXrFghSX1OiSol98hUOiKHh4f1+uuvG5+LsfV4PHbIF/9HbzHm5JDcUyJJWlKbPzw8bO3iLoVBRQuD73BLdjmcCntF9EPeguuRV3FrxUHk1LRDoyATxzKOC+rjrLPO6j3xxBPmPekGc0/HCgQCuuOOO3TVVVepXC7r/PPP15e//GXddtttllykGgBhopKEygJCRUq5JFkI5ff79cQTT6jRaGjVqlV9h7ocOHBATz31lBlEUP8999yjSy65RM8884wGBgZ0ww03WHlfu922FtNoNKp/+qd/suTBzp07FQqFdO655+o973mPVTd0Oh399V//tVKplP7wD/9Q3/72tzU1NaXJyUlNT0/ryiuv1L/+67/qd37ndxSLxfTDH/7QKiQWLVqkUqmkV199VevXr1e73dbWrVu1fPlyDQ0NKZfL6dRTT9WZZ55px7xSQ+221f6X//JfNHfuXKMubrvtNt15552WPJycnNSBAwd01lln6bbbbus7w4PuMbcLzK0TJVmMA/P5fPr+97+v5cuX64wzzlA+n7da3NmzZyuTyegP//APrSV+7969evLJJ1UoFLR69Wp7mCgcYjQatYOBeLwVNdbJZNLOyqYbza3/RqFQ5r1792rx4sWamJjoO7MF4EDittfr6YUXXlAkEtFZZ50lv9+v73znO6rX61qzZo0BB2iOSqWikZERS35BexEJ1Ot1C/nJYYDS8vm8tmzZopUrV/YBDSKzcrms8fFxHThwQGNjY3rnO9+pXbt2WTcqNEOtVlMmk1E+n9eCBQvs6S0k+lxEmU6n7cwQ1tLj8SiXy+mFF16wcryTTz7ZHlbg9R4+nGpoaMj0EIRMEwnyjoOaM2eO/uzP/kxz586V3+/XRz7yER06dMgcHTqFAaQSCMTM/KGCkD1QL3QateasK4babaKiXwP0Da1FHwZREPPA+EciEUWjUatMIuEIHVOr1fq6QalOOxbq47gw1MuWLeutXbu27yxokhblclmxWEw7duzQ/v37ddVVV6nX62nTpk36/ve/rz/90z9Vu922xJ1bSUCISWOLWyZDth8FOXTokN544w3V63VdfPHF1q1XLpcNybnVFmvXrtWKFSv0yCOPqNFo6C/+4i/UarV08OBB7dixw6pQqLLgydo0qZx88smqVCr2ZHQSIJTNcaASSuq2g0ObfPvb39ahQ4cM6cycOVOXXnqppqendfbZZ1syFi6PMA4kwt84F5f2ZUkm5MPDw9q5c6ei0ag9mZswk6RvuVzW8PCwpqenraSK8kqoBfhuhDcej+upp55SsVjU1VdfrVAopMcee0wHDhzoo3fGx8eNJxwZGdGVV15pRo9SKVdxaIxJpVJmlNl7QlgQoTsnIjkMNnXvnDsCEsJogHIjkYgefvhhXXvttaaAoVBImzdv1tlnn63x8XFzjJQOujXm7XbbHrVFVxso2q0wCAQCev7553XSSSfZGR6pVEpTU1N69dVXrbV70aJFdiYG604lCaE5949hcx0a903SmSQ/NAyJzieeeEJer1ezZs3S0qVLTWep2gI9YjjRa7dHgff5/X6r7tq9e7fuvfdebd68WX/8x3+s5cuXW2R0dEljLpdTIpEw3ep2u0ZtkiiUjpxFj9yQtOY+3eYst/oJ/SCpCMXhVnwAREDXyAa5GPaZSiciH7qFb731Vm3duvX/DkN95pln9tauXWsJOBYCj9tut/X000/r8ssvV7FYVDKZ1F//9V9r+fLluuiii6zbzy172b9/v50hzGagtNPT08YBSrLff/jDH6rZbOoDH/iAzYEzFjCm09PT2rdvn1auXKm1a9dq7969CgQCVms6MDCgD3zgA4Ys3QYISWaoSThgZEh0EmphUDEm4XDYwje3/ZxmARJK7tOViRTcLkaEknm5nX0IIgiASgJolmw2a04Loec7OYBp5syZP5d8oaqAeQaDQb366qt66aWXtGbNGm3dulXr1q3TZZddpuXLlysWi+mZZ57RSSedZOtBO3MwGLQzL2ggQJnI8LtHAFC1QjLOvX/mx8FbXAvFRgkxUDNnzlSpVLLa8lAopLVr12r+/PmaP3++5VOQOYwRlR0Yd/dsZjphXboOncRR0Ln49a9/3aiZ8fFxM+YzZszoowPcDlteJ9EuyY4zoMaXklfpyJPUATjuI67a7bbGxsb0ve99T/V6XRdeeKHmz5/f17zidgcSkeLUAQtuCRxGXJJ1IPM3vtc17jg2eGKoD67FMRK07LtyB9BxT8Fk3vyLfEgycEIiHIdBYhne2tUBjDzOAs4cytWlApvNpn7rt37rmAz1ccFRE07gtTGQoJv77rtPt9xyiyHScDisj33sY1qyZIlef/11NRoNzZw5U9ls1hJJbKbbZjo6OqoNGzZoeHhYvV5PW7Zs0Tve8Q7V63Urt0qlUvrGN76ha6+9ViMjI0angFzmzp1rZyKfccYZuvzyy/u6DCcnJy3DTEjEeRKJRMI6/Qi78e4YFMIpBJFGFdYjl8sZqoOXDgQCOnDggAYGBpRKpaz+m6oJyvOghTBizJlmCrLgCC60ACejuQ0/GHoqdfx+v9LptAkx+xiJRKwlm9B1dHRUL730khYsWKBHH31Ue/bs0cc//nHl83nl83lVq1VDjoSdNLi4hpmIh+sSpmIs3M4+DDEt0Cg/3axEATzpR5LV01PGSESFg9+8ebNarZaF/CSaqKrp9XrKZrMaHR21mlwosVQqpUwmY/KFo3Y7WKm/rVarevnll7Vo0SLF43E98MADqtVquuKKK4xHZ67IOvfPk0qOTqC7Dzvg0VYYQwyl2+SBgX355ZeVzWb1gQ98wHh2ZIn3R6NRc4Qk1dwzn93Eaj6fV6fTsXUm90GC1KWk+Du9Ce4pieQaxsbG+o4jhcd3ASCFBjhFHCx9F9JhBzA1NWVOjIogQKFr+FmzYDDYV7BAjTuRkQuGOPrWNdy/aBwXiBrqAxpgeHhYU1NT2rZtm372s5/pYx/7mCYmJuz84ZdffllnnXWWqtWqxsbGtH//fited9ueXeQ0MDCg22+/XaeffrohkWw2q5tuukmDg4P2yJ8XXnhBGzduNGRBI8dHPvIRS9QhbGwQCFk6wsNSzge6kI50Q4HwUA5JdvATSBVvT9iLQNI1RwLM6/VaUb/Lj/MZEmAupcSawBeCSnBqoAMqHdySPqglqnJQAhxSIBDoe6AprbMIaSgU0l133WXnPCxevFiXXHKJ3nzzTaXTaVMcKh9AMlTfgKJZb+ZPyRb3jaEhEYjCksR0S70k9aEpatuRgU6nY5QO3/vTn/5Ug4ODOuOMM8wIYPDdun2XiyVUJ+mFMYX/xdhJsu/0er0aGRnRvffeq5NOOkmbNm3SpZdeqtNOO62vEco9FY/Pj4yM2HMJJRklxHe7lQrIHBGamwxm/uPj43rkkUf0vve9T7Nnz7ayQRAt1NLAwICdI06r/NEVLwAPN+nvltEyR6gznE65XDYji1GFpnT1i9MoaeZCxl3HDc3hRuNE8uyfa8jRAzokiWqZKxw/gAJZdO+bfAkycPnll2vLli3/dyBqbh4C/rXXXtPmzZsVDof1kY98xFp89+3bp2KxqPPOO8/OIaaJwe2Im5qask3BsNbrdX3605/W5z73OQ0MDGjVqlW67LLLLLSj73/u3LlaunSpVS+QOME4cf4sG0QS4+jDYuDJ325MTk5aCRWde/BlIAhQ9Nt9B+8B+R5dXQEawWAw6MriUBmE202oSTLqA2eCcQINuOcku7yhdKRkifVyk7rFYtHOaQgGg7r11lstLHSfTIORwFBhgHAgrD+ODsWCnoJTBtFREwsa5ywMDJ3byIPTrdfrVk/s5kAqlYoee+wxvfOd79To6Ki1KzcaDQ0MDFiFACWd0hG6izCZ0J/1xjGxR6FQyKidTqejp59+2mT41ltvtYhseHjYru8eT+BSZW65GIaG8k2iC/YJeUL2QbdEEA8++KB++7d/2558AyUzPT2tUChkewS9AJCAH3cbRKADeUoNkZi7HqBS1sk9m97t/MRRQ5VwLoh7VAL5A6jGarVqgIe1JnqQ9HO6gzwi19grN5EJ0CTa5F5A0Dg9HDpU0bGM48JQSzIEV6/X7SCZer1uofFZZ52lxYsXa/78+apUKkqn03boinvUJUbdLaVyOas77rhDxWJRAwMDtrAIVrfb1cjIiAnowYMHzeiAbhHgsbGxvnOj4T9RGugOPCdHRNL67vK2s2bNMkGgZAvBIXwnNAYdYJzpLHS5WEl9nU+E+SQcOQvDVS4Sg6Aiwn/3uEqPx2OIDLQJuuDsBRCvm7ClaSORSOjLX/6yer2ebrrpJqNCQJ1cz0X6IH9CbxwFRtyNUNwKChDc0e3D7il5bjs9BhQjPTg4qPHxcXtPMpnUm2++qVdeeUVXXnml0VYoKTIG2OB+oB2oo2UdkYtOp2PGlvvhPrvdrh5++GHNnz9fCxYs0DnnnNNXKbFv3z7NmDHDci7QDoAP1h9qEW4afXHPHeF8jWKxqFmzZlneIhaLKZ1O6wtf+ILOOecccyjsA5QL9Aen8bmNKtQjc+9Edcgo4AEj51ZksLdEHjhpjD/gg7mytzggDKJbueL3+01fSbYiF26yFafrRmRQj257PyBpaGjI5lIulzU4ONgnHwCVRqNh0c6xjuOG+njwwQethhN0iXCTnXa9F8dKUgPtlt+AKijZIiyEO8WrS+oLVTgRzEVqtOdCA3AYCxyp9PaP2uL6OAIQnuuRMW69Xs+Oo4Qq4YAoOtoITwnvXOPiJq4kmbFEWODtMRqE4S6/jHK4bb6sFYkuNywmbETI3a476UhiiNrceDyuL33pS5o3b55WrVpl64YzchPHzJHKAUkWdbiOhXV2M/CRSMTCbhAYcgGS5zPu2cGEuPwNB0l09Nhjj2l0dFSXXnqp1QPTiALFhIxSAUAyzu/3a2hoSAcOHLCaZfehvdKRBhkQbLVa1b333qsPfehDev755+3gMMrE3GNHmaMbybCuvBcuOx6Pq1QqmXElCiR858ddgwcffFC5XE633nqryS56htEjwmUNmQNy5VZuoKs4K9fJQEGANrPZbN9DdDGsIF73JDrWO5VKGXKlFhsqEj3iPoiSACNEjnQxupUg6BvIGFmXjjzajUF04+ojZ4Ugz8lkUv/hP/yHYyrP+6VMtsfj+SePxzPp8Xi2OK8NejyeH3k8np1v/Zt+63WPx+P5ksfjed3j8WzyeDzn/LLv5yYxzoQ6LKbrXQkZ2XC3sw+jgrK6B+NgsAmvoA56vZ7S6bQlczwej4VN8LyuII+NjZkhQ1BAhLTGuuV/oAOMHYbjrbXq47ZpBoHTqlarFgJLR56oTRsuoS5hGyim1WpZiAfCwGmwHi49QcLRddg4NtaIahZCSa7LfEl4sU4kzkgiZjIZ/ff//t/tgCvXAHJtN4kFouQ1xtEJIZTu6CSYu7bQEhgU9/hWN9SlOsFFY0RkP/rRj7Rq1Sq9+93vNqUPhUL2XD32F1khUQflIx1u0nEP9MLgunwo8rlx40Y9/vjjuummm6z6JhwOW0cg+wDlhyOMx+Mql8u2r6BEnB3yAN3A+5AfDCZ7H4/H9eMf/1iVSkUf+9jHDL3iLHGcAA3yJST9ABSAFbcTkHlzXRwHOsfn0GN3uJEg3xONRvt4ZHQY8IRd4b4xuDidaDRqc3cfZEtUxz4xfyIRflKpVF8E4DbRUF6KcSe6mZyc/Ll7+9+NY0k5flPSlUe99ieSnu71eoskPf3W/yXpvZIWvfVzm6SvHNMsJDMuKCD8XKFQUKFQsLIxr9er0dFRe+YYHDSJMkmGgkHQhB08FSYYDNrBO88++6x2796tYrFonhK0QlaZTQJZUjrX6/Us3CMch99z63LdrDcGPRqNampqylAHXXo4J8JiDDQhLBymy+lhjAgnSXqCZBAs6QhSx6hhnDDwbmE/SRqXy+OeQU9wwq1WS5lMxqovULjx8XE999xzWrJkiebMmaP58+ebgroRE8ktlAqDzfdzohznKWD0UFA3AetSVdwj1SMjIyNqtVqampoy1EQeAiWHFtqwYYN+8pOf2PnPGBjQPiWYbv3w0VSMyxvDx4OmSVjirKLRqLZv3y5JuvnmmzUwMKAXX3zRzq5x963bPXzGNA6Rhwy7QAfHjOOF13epApy7W5IYDB4+Pnbbtm3K5XKaM2eOHSmKniEHUBs4VK6JU0wkEkZxwMvHYrG+SKfdbpvT4+B+dMdNzLrRniR7bBu669aCQ5WA7gES6AeRB3aGfWCtJNn51dwXckHlj+uA4OOpnwb0QWEBTtwIDjk/lvFLDXWv13tWUvaol98v6Vtv/f4tSdc4r9/TOzyelzTg8XhmHsM1bAPo+iJEBfkR4iMcc+bM6TucW5IZSmof2RjeUyqVtHHjRr300ksql8uaN2+eLr74Yp1yyinK5XLatGmTLTxolkWXZPSBJDOMQ0ND1t3gVJcAACAASURBVE7u1u6SLEGBMf7Dw8NmvN2T41iHZrNpJUt0vvHDcJE2HVHBYNDCQOqeUT4MI+8lEsGAsE4uLwgqlWTnrBDlIJgIIHydWyUxMTGhoaEhrVu3TolEQrt379Z73/tecxqU7kWjUUODGJOJiQlDUhgOKC8cFD88hxIH7/V67dB8Pg/iJKFEIhdaQJKdQ4IS/+QnP9H+/fv1G7/xGxZ640RzuZwGBgZsfdgTqCFCatq8ieLYJ15zH8ibTqf10ksvqVAo6IILLlC5XFYmk7HKGAwMHaTBYNCOt00mk32ImOv4fD4DEAAMHPPR9ct0RCIT27dv10svvaRWq6XLLrvM5ulWSrjVFCBV9Nbr9Vo3XqFQsPwTiWzyKzh79sTNp1DjzkFX3CMotlAo9B3t2+12+57oDh3iRm9EBe7eYVDdxCnOg+eAAo5AyoBBcmRE7W5SH/mjIoaIAxqUPMuxjH/vw23Her3eIUl669/Rt14/SdI+533733rtFw6UCSEeGhqyUNLl8brdrp2FMDU1ZZ93M7Tdbtd67t2Smx/+8IfasWOHZs6cqZUrV2rJkiWW5AkEAvbYqn37Dk+fioepqam+kjnCM4QG5IoRIISGc3NL1Phej8ejdDrddy6BdBg1JJNJqymFo+WHwVxIvLlNJaFQSAcOHLBSN6gSBBfEwe9QAjTZoCSuoLvhMI4SpMj70+m0IeNEIqHBwUH94z/+o7VVYwAl9XWtQb0Q3pPkA8lI/aeg4RD4SafTkmTnT8Nfwz9j5KnwwGDhCNxEGgr1+OOPK5vN6oYbbuh7QgthL3y962hBYe5zJ0dHR23d3JItUK6bW3jxxReVyWS0ZMkSe9DDnDlzlEqldPrpp5uhY93pEwCEYIQxwITYvO5WR/AvFAxOJpPJmCN+9tlnNTg4qEWLFpmOEBW4JWvIkcfjMWTr1l9zIBFdrewF+Q10w63QQcaJ0jjmFHvAdyN76CDzAL0TwRDhIks4BAw2jox9TCQSFjWxf9Jhh+Y+a9HtvPX7/X2Hw/FdbtTAuuOwcHLHMn7VTyF/u6u+Lbb3eDy3eTyeDR6PZ0Mmk7EQgQP48exk3d0NDYfDisfjVnEh9aNMV0heeeUVPfPMM1q4cKEuvvhiO3OaygSMcCKR0Jw5c1QsFrVnzx4TcrwkQo0gYLR5IgZlQBgS6BK37IwkRaPR0MTERJ/xotICj41AUDboHibfaDQMcYEkUEiaKdwuRE7wg0fDcIIiG42GJS4l2b8IE4YHhYcSgddD+N/aV/n9fu3evVsDAwNasGCBfvrTn+r666+3UBbDSGKLNaOkivVg7u55HqwXwo/B4JFZKDohNjJCbgBlxjBAreC0NmzYoKmpKX3oQx8yg0rUAfUTCoW0f/9+SbLvgMoB5VYqFWu8wBiSkCKSQKn37dunHTt29J1MNzk5qXq9rn379mnv3r3WcVcoFFSr1Qyts3ZuHbkbsYFK3acOcV2Mh9v4VK/X9fLLL9uh/uecc46BBvYWeqpcLvd1/dG1yvdhxILBoEZGRuxcGdaBdYHSIqpD/0HOIGFkE7QuHX40Wzab7ctfQIHhsCgkkGTRF9En68ZcASPoEUgZFJ1IJGwNPB6PPbYLBwf90el07KlCADk3yuO1Xxn18b8ZE1Aab/1Lncl+SXOc982WdPDtvqDX63291+ut6PV6K2j1dgdCwcJDR0QiEU1MTEiSnVyFsXKL7xOJhJ1REQqFdP755xu1QhhNtp5NxChjmECTGGnpyJOPySLz/D8GnKVb+oPgkjQZGBiwZza6pU0YIpKhCC4CBxqGp3cfrOlueKlUMs6MKhFqwREUeEbOSODeUUr4S+6d5E6327VnIuJU+cHxVKtVPfvss1qwYIEefPBBrVq1ypSyUCjYuoNqSL5irFEChL5SqahUKhmS5z0YUpzc6Oho33kq1Am7lSHumd3sKeVWP/nJT7Rv3z6tWbNGL7zwgtrttik2CWRkDiQOJQEV1Gq1rPoDpcY5sYagqGg0qkOHDumll17S9ddfb84kFDr8GKiDBw9qaGjI9hqHDSfvVny4ZYu93uHjeInqyKmgT6wZ99ZsNu0sa0l69dVXVa/X9b73vc+MPQle93uov282m9YxDGBwZcaNDslFwG1jAOladGkZEqFuMw86RQTFvb9lU/r0gIiLBiyi0EAgoEOHDvXVPLuyyxqTrMQ5I6Pu/F0n6d53MBjsi9LcEQgE7JFhyOAvG/9eQ/0DSWve+n2NpIed129+q/rjAkkFKJJfNHpvlbbAoeKNeN0Nx9k8PGwikTAOkOMzvV6vHnnkEdXrdWUyGV188cVGQUxNTZlx7na7VtuIoeSQfknmMaEaXM8JCiMxBLqBR0VgcBySbG60zoJmwuGwTj75ZKtkYVB/Sh0oTRX33HOPPvjBD+pTn/qUcXfFYtGEHI4SowDacc+aIFlJ+zVITVLf0ZrcM/wvVEupVLLkSjQa7avz3rVrl6LRqN797nerWq3qqquusoePuslYWtOhX1ACTuEjQuBQJUkWSrPn5CBQGLdMEaMMb0uSzy2VJOx/4YUXtGvXLq1Zs0bdbtceBUYUxTrQQs96cB2aX9yWbdA/98ocOSKg1Wpp//79dpwoDh9j9vLLL1vTDbkTHBgVHeydx+OxFn+/32+t9Bhlr9fbV9EEmkwmkwZm4vG41q1bp0qlYjw890feyKW74MoxTNwzUaHreEmmoXfMpdfrWfcvyVm3Ygt5hNLiukSX1LxLsnXl7yQRJZndcBE2rfr8neqmSqVixtWtEuMa2CwSphh66UhyG4rGrVyjtJV8FT0QxzKOpTzvPknPSVrs8Xj2ezye35H0BUmXezyenZIuf+v/krRW0i5Jr0u6S9LtxzQL9TeMuKUt0AGUt4Ag4XdAR4T5o6Oj+rd/+zeNjo5qy5YtuuKKKyzBQ8KE+l4OpJFknlA6HLrBc7mdcFyf08kQTpcWQRgZLt87PDxs90MjgXR48zn3wW1Pd8t94vG4du3apf/4H/+jHn30Ub366qtmNHl8kpt4BPXz/aC8RqNhB7DzPq6DorBWGH63OxIjCurhCSnSYeGNxWJau3atVSyQiDx48CDyZE6YeniiCIw+1zw60UJSFvqJJCY0BrQCikHo7PEcOQvCrTZBfjZt2qQtW7bo6quvNuROFOcqNsis0+mYTBGicwjY9PS0daLxWVAgUUu329VJJ52kjRs3SpI9UZw63UKhYIb8tNNO60umg8SoYKKc081lkIiGL0cuOUskFosplUr1Jbk8Ho+ee+45TU9Pa+HChbrooovU6XQsoYZhhePO5/PmIFxaynVGoHmMnFv1wWudTkdjY2N2z27ZIDru0iBuPoocBFGa33/kYCY3OYkhJWp3oyk30Ytjc1G9W0lEREd0zw9/oyKGqNvdfxcsEDETFRzLOJaqjxt6vd7MXq8X6PV6s3u93jd6vV6m1+u9p9frLXrr3+xb7+31er2P93q9Bb1e76xer7fhWCZByIhXAnESarKxhP0k7DDeLHgoFNJDDz1kVQm/+Zu/aUiRDLXX67UngbTbbXu4Jn9j4Wu1mpU/uS29HLbkogocDJvqFr4z50ajYd+Xz+fNoBMWQ+HwUF4XlYfDYe3cuVNPPfWUPB6PNY24CuJWeUiyCAVET2gK7UPSxOX+WM9EImFKwr4gfO7hQWTJQSYYwEAgoMsvv1xPPPGErrvuOosKMAguIkZBMHwIMuvpDre6BGPudqRyX9S9ci233pX3gqaLxaKeffZZO+MbI89akDiemJiwiAF5cGWAA3ji8bjx6u7nWaNisahOp6MDBw7o0KFDWr58ud0HTj8Wi2lqasoSlhgAj8djpaBEXtBGrpOmnZmkPPtLMqvb7SqXyxmXDbrcsWOH5s6dq9dee03nnnuuJcsxPlzLbZfH8RxtqDGUlFZicHGscOdEzRwMxvfBAyPb1WpV1Wq17/FWyKiroySzoeXYL65NXgZDifPBqGNfJBlAaTQadgytS1HSvYtsEp0DklxjDsX5lp00Xf11c9S/0kFYQwINAyYdCbtAziADt3MMdPzcc89p5syZyufzWrFihRkHfihRoyFBUp+xY8Pg+2hGIawMBAIWqmNEUDDpyKEyCIUryMyfUiPej3FzE3/BYNAy4yQ3HnzwQW3atMkMzMjIiG6++WYTaterBwIBOxKU9XTPtMCR8KBNkAOGvVAoGIfPPCVZMoo6a8JFuOyhoSFDHfl8Xu122x7My4NIXdQMgqFJhtAQlIEiEpGAcnGioGMcBjy+pJ/r6IR6gLZCQdauXasrrrjCjDSRBMiJ0HbGjBmWEETB+X638xXu0j0ulb2F3kilUtq6datmzJhhkRyRm3SY3tmzZ4/OOeccjY+PW/KaCAZnDAJHZhisY7FYNFqCign2i/Xnuq+99pq9Z+HChUajAC5cVM89uUDJ7dSDbkA2mTNy7lZBtdtt617FcbOPIHLQPA9TxkFybQDAP/zDP+jpp5+219zSPGSfvScJyhzcqhP2eXp62lrGjy75c3sreJ3yRq7H641Gw7jvRCJh1S/Hyk9Lx4mhltRXX4nHyWazJoSuZwTZgUJPPvlkPf/88/aoqXe84x3G/+RyOUO6KBGG3TXeGF42gqMfqdV0W27ZAOlwdp5HX7mJP3hw7on74xqS+rhU0C4ZejrRyuWyPv/5z2v79u3y+Xxav369Fi9erHq9rvnz5/+cI8JLu7xavV5XKpUyAWUd3QQiJUMgUxQSpcAhcQ2qakCObiNRKBSyp8+k0+m+0ks3AsIg8gOico9VdQePYyLjjxHGuHN//O5W4EQiEVtPam3Xrl2rhQsXWrckjQwYF7/fr5GREfsOjBUDugXDCXiAOoN+wXBh2KgZX7FihVVqpFIpiyTWr1+vZcuWGXpzoxEqejD80CruYA/hy3H20CKg61arpaGhISUSCW3YsEGDg4PKZDJatWqV7SM15DRnoB90B7uRHA6cCImcDNEPtB4RmZuQhE48uvySaiP4Zpw7hpt657vvvlszZszQtddeazXOoGzkGCPM0+Z5AAbRHSCNh/i22+2+pD0RktfrNTlqNpsql8t9tgMZpMoLedy1a5d27Nhh+SYXlPyycVwcygTt4CIPSUqlUnaOMoaUkAXDNjo6qjfffFPT09MaHBxUqVRSOp02HpjvY4FJTJB0IKQBTaJoNIXQVQjqBA2AtKAYCLddxIr3dlu2XWeEBwdVYKg4WzuXy+lv//ZvJUnnn3++lYWVSiXdcMMNymQyfUjKzajTXgzXB0cNLeR2TUYiERNWv99vBsItN0ToSVpyRgJhPorU6/W0YMECTU9Pa+XKlSao7vf7fD5NT09bKRsDQxcOh7V3714r92LMmjXLQnaUmtCSJ6dAzbA33DPnXOBMH3vsMW3YsKHvUUuvvvqqli5dqpUrV0o6Ujs9NjZmTVTUaONMcBR0/HW7XXOK5DhwbiTvtm/fbuduE10R0m/dutUeasxZMCg+yJp7Y7+PRmZUX7RaLXsoLJUi6Bqt5MViUcPDw1bpRNJ5eHjYqAYS5ugkoAnkzpOBoHWINFh/+GocZj6ft0QkTgwDh2GVZMgdEMEPg5r+//k//6fC4bAuu+wy7du3z2gZOpmRMeg1EDEPBGavsD/79+9Xt9vV/PnzVSqV7HxpnCYRHOWYrCvX7HQ69vxOANczzzyjer1uj3oDFBwr9XFcGGo4YZAei0IW9mgODANKmcuWLVs0e/ZsTU9Pa/Xq1cpms4YsE4mExsfHtW3bNitYf+c732nVDggtYUuxWNSCBQs0NTVlCMFNKoD43MYDjDDemUoFDDT3SBcVhtQ9hjIQCPSdtzt37lzddNNNdsDMH//xHyuRSOjTn/60QqGQPfEbwXAfW3Z08gYn56JMDCeCRgQCbcP9wZ9SduhWaLiJVY4AaDQa2r59u4rFot7//vf3cffw3dVqVel02kJ+N5xFAaCY4MYpqXIVFSXEWGAMQV5cl/V488039cILL6hcLmt6elp//ud/rkQiYehm9erV2r17t+666y6tXr1aoVBIQ0NDBgxqtZqF09SA4+RYGxKNUBrsL86dw7BwUiQFk8mk/uVf/kXLly8350LJnM/nUy6X09jYmIrFYl9XoXTkvBVQdzabNYPHCW08Lo11pnHM6/WqUCgol8vpjTfe0Kc+9SmTS0oLaawiEV4qlezxYW4VULd7+FFYOBRoQOgW7pf9JCoD6LjURDweN1CAMY3FYn0VQblcTnfeeaeWLVumZcuW2YmW7vkmzK9WqykcDpuDdw8Ac0sMd+7cqUqlone/+90WhfD4MelI3TwnNQL+oDYwvkSDqVRK/x917x0dd32l/z+j3mdG0qhblixL7ja4gMHGFLOU0ExJZUMgIT/glyWEJHSWQHaTOIcDS83ChhJgCRAIxTZhMRhMi8EYF1k2li1LlmWVkTTqvcz8/hCvq/c4+Qbv+e1+j/M5R8dWmZnP513ufe5zn3vfzz77rJKSkjRt2jSVl5dHKUj+rjhqScZHuXwSiIHE1cDAgMbGxiys8Xg8+uCDDzRlyhTt27dPJ554ohljNu3WrVu1c+dOVVRU6Ctf+Yrmzp2r6upqCwdZ0IRjSUlJ2rNnj2Vo8aAdHR3WOAojGwqFDG24Kgu4SkJCaBZ0svHx8aZrJiyCh6OCjfMDfT6f5s2bp/7+fr300ksKBoO66qqr1N7ebogBwwnPSphJqE0oDG8G1wgnyxcLF5kYPDBoivdmMyEFhApKSUnR1KlTFQwGdfPNN1tPbBAY74UDcKWORCpDQ0MWrWAsJFmrSFezLumv3j/KhNHRUTvRfd26ders7NSqVavk9/u1fPlyM56gz8HBQRUUFOiCCy7Q/v37lZubG5W1J8HryjypbgNZu5SE2/cDxUFKSorROtXV1QqHw2pra9PevXs1d+5cMxpIP7kKCwuj+m24yc7Dw2f2BrI7KA5kpm69QWxsrLVGPeecc9TR0WFyVZyNq592IwZJluhzC87gppkLnKsbUUkyGoT7AgClpKTYaTquwYcmSkhIUEtLi7Zs2aLx8XEtXLhQU6dONfmn+1yH02eS/uqcpaen67PPPtPw8LBOOOEEK99HwXP4RaQfGztRoIPzZL2mpEyc8vToo4+qoKBA+fn5KiwstMjBle8dyXVUGGqoAPg0FtfhSgK46fT0dCUkJOjjjz9WTEyMmpqaVFJSYgoKn89nnnDXrl1atGiRVTBNmzYtSnKGQcNApqamKj8/3wyaJENQyHzeeOMN9ff3a+/evWpsbDS5DgkzyqmhD+Ak4+Li1N7eHqX7JaMsyaRXycnJeuihh4wvXbVqlZqamvTuu+/qqquuUltbm3GIqBkGBwctVMdYsIGRdbl6V4/HY0laMvSSorqjueoPuFWSvomJidYMiGw6IXpWVpbuuusuazDPe6MaAK27RUduOTHOhQ1AEjMYDGpwcND6dpAQggbAEeTk5NjnPfHEE/L7/TrnnHM0Y8YMjY6Oqr29XdOmTfsLRIWDJQqjfQBIkPePRCar8HDQVOphOCmWAbEzFyiQLrroIvX09KiyslJFRUWWH8AAk7DEiGGkfT6f9QhxnSggAUqN6A4gAHolP4IhjomJUUtLi370ox+ptLTUnol9iIqCtUFeCGcKVUVUiiAA6RwHL7gKKdC/q1RxjXhPT4/138AYUiWYnJys9957T11dXcrKytLxxx+vwsJCM9A4SMaM/QtQIIGelpZmbYvj4+NVWVmptrY2O5U9KSlJOTk5FiknJyerra3NEqtECawhokmafjU0NOjtt9/WlVdeqalTpyozM1M5OTm2bl3K5Yhs5H/frP7PXywKl0uGe4Rz7OrqssSCJOsfkJ+fr9bWVi1btiyqws/v96uqqkorVqywMJtwCGSAUXFVBpwMThKFBRUbG6tQKKQPPvhACxcuVFlZmVJSUlRZWak1a9bo1VdfjVJHeDwTxTK//e1vdc899xg64x6gGlzpWCQS0bRp0/TrX/9aixcvls/n0wUXXKBIJKIXXnhBCxcu1PTp05WUlKSioiJDPhhg19GxkEDPbAY3CQgKgr/mi41OkpWog9N0MjMzLVNPwRH0wwMPPGCcL88FakJuhrEgdASJEEEhPUtKSrKuaqBdQks37AYduq00Gxoa9M477+jcc89VUVGRIbOBgQEtXLjQmmO5ShHyBBwsQSIRrpdjvCRZ+I7D6enpUU5OjtFHPD+FWDg85mV8fFwnnHCCli1bpv7+fpWXl2v69OkWlrsVs6zpSGSiAAhD0tbWZmsNIEM0ShUoZ/hJsko5okWUCj6fz7TIfCZAyaXNGGeoHFf2hsQU446R5v+onxgDtNg8Z1ZWliFYer2wRzCCHo9H9fX16u3t1YwZM/Thhx/qlFNOMfoSQw+VAgCDSkVay/rPz5/oF0eC7/jjjzcwJinqQIbBwcmDavkc8liuxryxsVFdXV1as2aNLr74YkPuZWVlJjJw81T/Yzrq/xsXKABk6WZ+WVCE2NJE34Y1a9Zo9uzZqq+v18knn2x8FuHEtm3b1NbWptzc3ChqguN6kCXBeXd0dNi94JH5fUZGhjo7O1VdXa25c+fK5/MpFAopGAxq1qxZmjdvnsrKyizkI5x64IEH1NDQoFNOOcV4N7hhFrV7JSUlafPmzdqxY4e2bNmiK664Ql6vV//8z/+sefPm6atf/aqhPIoZQF8sCPh+aCRX6sQi4V7oxkbyiU3EmLg6ZFQd8fHxCoVChvZ5/7GxMf3617/WO++8o71792rWrFnq6uoyw4tTgk6hf4IkQ91uM3xCVtAcaBApHA4Ip4sDj4mJUW1trUZGRnTuuefahnB7YcyfP9+cmKuY4b0OHTpk64XX0pskEplsG+pGgUQA0mSPlJGREesd7sr5iLJY69JE2XZdXZ0lz+BmoQ5wsNxzXFycSktLzfBQru5W2uFIKaYhTKeab2RkRPfdd5/JPsmnuKoQV/aJUXLVT65UjigNB0jkC8pmfsPhsEUb0gQlwvF0UF8ANBw47W2ff/55nXnmmVq3bp0uvvjiKOUSz0cURJTHugANY8iHh4fV0dGhAwcOqLS0VD6fzxweBUruGLiFYz09PbbXXK49FAppy5Yt+ta3vqX4+HjreYOih/khd0Ti9MuuoyKZCIqD4kADjAIDhIjK4NNPP9XChQst01pQUGAZXBDB/v37NX369KiSz8TERKuQy8zMNM47NjZWhw4dUklJicbHx42XI1Pe1dWlYDCo0tJSS8js3r1bOTk5mjJlorVJTU2Npk6dqgMHDuitt96S1+vVV7/6VQuRad1JTwNQKx5fmkBpf/zjH5WQkKD8/HyVlZXpgQceUHl5uS6++GI1Nzcb3SFNIEAO5YXagMNzS4wxLnClfE9iBeNB5EBo53YQwyiil2acQUyrV6/W9u3blZWVZVQD3CJaaQwN3Q1xFiS1CPsxRIyL+3M3MeWuHTd5t3//fs2bN882J/ww948m3u0vQxOjmpoa7dq1SxdffLH9nauFxlC6xR+Hy6wo1nJLnUGs8K+gVYwSyS3mAXmg1+u1BLNLE+AE6QEChYeRJcJBXUP0xbgNDQ3p8ccfV39/vyoqKqzcHrqJtY8hoXkWOYKcnBw9/PDDKi4u1rJly8zJgdZdmSpad6g0d8yQMbJecRho5Fl3GRkZevDBB/XjH/9Yn3zyidLS0lReXm4OnUZmcPmsifT09Kg1jHInMzNTwWBQW7Zs0dKlS+3AWXctsL6gj1h/4XDYpIE4rvT0dIVCIb311lv6+te/rpiYGDU2NqqwsFCBQMCAIBQP++HvClETFrs6WNATXChZ5XA4rAMHDqixsVGff/65ncbMwBJW7t+/XxUVFZadliYLa0pLS83YDQ4OmmoEaZLbXNzr9erzzz9XWlqaAoGAurq69Oc//1nhcFiLFy9WIBBQVlaWTjzxRDU0NGhgYECXX365vvGNbygzM9OMlau9dhUCGIHBwUHl5+ersbFR8fHx2r17tx588EEde+yxuvXWW41bA42Hw2E7cWZ4eFher9e03nCloGIuV/HBonP5f3o18zkkbTHabsIUQxEXF6enn35aZWVlOu+88xQXF6dbbrnF/h5ZFj2iR0ZGrMyahBkJMi6MQ0xMjGmeMY6gd4yuW/ZP24CcnBwFAgGLmlwEBV8JUnY1x52dnXr//fdNhw8SdvlI/g2Hw6auAKlBDbia6NHRiSZN5AF4T6IXjp9ydbw05HKNHRSXSyW4hU44OqLQxMRE67hH0hkj6vf7dd9992lgYEA33HCDJfEOT4ZzQZdweEJMTIzuuOMOO8nHjT5YW3DGyFuJMIh8cTpQYe5cM28Y1kAgoNtvv11f+9rXVFlZqVAopLPOOsvyI4x7WVmZASwiSNY7dQ7ULDQ0NOi9997TsmXLovq3u/fuJiKhYckLAHSgw/bt26eqqip973vfU1JSkurq6gxIorxxaT83f3Ak11FhqF3in4Fn4Q0PDysjI8MST+hyWax4aZenamtr0/HHH6+YmBjjOOGPxscnmvd3dXUpEAjo0KFD1vsAmZFbGLBr1y4lJyeruLhY4XBYDQ0NSk9P19KlSyUpqjiivLxcOTk5tiHRW7oGaWRkxJJdXISFLS0t6unpUWdnp5YvX66f/vSnOvPMM9Xa2monPbOIQWVUe6Wnp9shrPSiJhnKpuBvXd06CSKMSUdHR9RiopUln817kFD73e9+p1mzZunyyy/Xnj17tHz5co2NjRkCg/dtaWkxLhXDiHwuNTVVoVDIxgMqA+OMYcQR4dygHKCqiFpmzJhhR1K5OQC36IF7cfXya9eu1UknnaRZs2YZaiKCcTl87pF1BJKk8gwn1dvbq+zsbMXHx6ujo8OcPwml3t5eM8DIUKG1EhIS7NxHNxHnGn6en7HkvqRJyR6GHAOTmpqq1atXq7+/XwsWLDBtsltR6eZyXJVOY2OjBgYGNsaw6wAAIABJREFUdNttt6m6ulrd3d1auXKlKY+gS1B5gOChydyKRNYkvaSRP7K3R0ZGbB0/9thjOv/885WTk6Pq6mrNmzfPzmgkAnz++ef18ssv2+ny0DM4Z+Y+EomosbFRf/rTn7Rs2TJlZWVFUZZQL1AuKKP6+vrU2Nho0RyRcVJSkoLBoF577TWdeuqpGh0dVX19vXw+nwoKCkygQH6B5/+7NNTS5FE3GBL0w/DK0kTjpk2bNpkkLj09Paraj/C4qanJFA1UF7W0tGh4eNgaoXOqdF9fnxnO0dGJI5rYoK2trWptbdXUqVNt4gcGBjR16lRDnYTHJDLz8/PV09NjCSDCUzZ5YmKiJUqys7PV0NCgJ598UsnJEyeCDA0NqbCwUBdeeKFFGW5iik5yUDAgHE5ud3l+NhlG220iw9+4nQIxEPHx8aqvr1dSUpLxdoTq9E+gi9/IyIjOPvts/eQnP9Hpp5+ub37zmxamY1BA5hgDOECXm0bJAY/tLmTCZHhRwlnCaBQMpaWltuFiY2PtuCfQLOPp6owHBga0ZcsW3XrrrTrllFNUUlJiqpj29nYrpQZ9w1FyKARzMzg4qA8++EArV67Ueeedp3A4rKKiIjs+C2fEOLAmOK4LzTRIGdkbqNLVoycmJkZ1X2SzQ0vwHnDAHP6cmJiodevWaXR0VPPnz9eZZ55p90fRCtJOchlELUlJSZoyZYpWr16tu+++WxdddJFOPvlki4SYG+aWeYaXBYww30RbzF1PT48BBGiXhIQEvfbaa8rLy1N6errWrVunxYsXa+rUqVEVsnT7y8vLs7HGAWGguceOjg7t2LFDy5YtU05Ojp1VCqJGNQYo2bZtm1UmZ2Zm2ry5ipL29nZdcMEFam5u1r59+zR9+vS/iHokWdSCEoZo8Eiuo8JQM8l9fX1mmFtaWqI2Nwi1p6dHy5YtU29vr4477jgLTzBGhOxTp05VTEyMysvLVVlZqd7eXuXl5UmSIahdu3appKTEwnPogpycHNXV1SkYDGrevHm2KIaGhnTSSSdFtax0k0QkGaBhcBTd3d1KTp7oo41KAF7xmWee0bXXXqsNGzbo3nvvtb4I8+bNM1WEq7xgoVPU4yI9N6H11y4SIq5EjiSUW1FWUFCgm2++2bh65oD7SE1N1b59+7R7925deumluuWWW3Tcccdp5cqVam5ujtKOs+F27NihqqoqZWVlRZUW48wYU3h7t2LRvX+3EpMxZjOGQiFlZ2dLmtTyPvzww7r77ruVl5dnCUWcwvj4uP70pz+ppaVF999/v6ZMmWIOEfUB4S6UHAbaTYgRhZ1++ul644039OKLLxpFxWvHxsZUVFQkSVYg4xb6gGTp8ocUkvdnLtzeNFBnjKGreWYdoWTyer366KOP9Oabbyo2NlaXXnqpjQFOGmPtFkSR+AwEAvrFL36hFStWKDFx4hQhqmMZLxwcVCa5CFftgHwROSOaZtQf0J+pqanasWOH4uMnGmI1NzdrcHBQCxYsUE9Pj6Hz4eFhVVVV6ZprrlF1dbXq6+vNuQL02Kvt7e3aunWrfD6ffD6fqqurbd+465E6jLa2Nu3atUu1tbVRc85z0A2zsbFRBw8eVFpamlJSUtTZ2RklywSFkyejMZSbU/uy66gw1NJkuajf75fX6zUJDeE5hioQCKi5udlq7DEcbu/g8847z3olrF+/XjExMcZLUwTx5ptvasaMGUpLS7NGQ4cOHZLP57Ose25urqEZ+kbDSUGPQB0cvkHg7dxEHefsYUwbGhoUDod144036phjjtFjjz2mH/zgBxodnehTzKLlfghBQcFwim6/iYyMDKWmphr3SSTg8pggTO5zdHRUgUDAnq+pqUnPPfecJQFdTXNvb6/a29v12GOP6eabb9af/vQnLViwQKeeempUSTzh9vj4uGpqavTzn/9cknTw4EFlZmZGbSAqxlze3EX9bAq0tKFQyEJ9+MRIJGJN4dkM9913n0KhkDo7O/Xkk0/q6aefVnNzs+Lj4/WrX/1Kd911l6ZPn64VK1aYgQSxklMgUsLQ8JlsViK5wcFBa+IDXUToz5ppb2+312DIQ6GQcbOsZZAyQCUSiZjED0CRmDhxsg7KBMYd9Lxt2zbt2rVLIyMjKi8v18jIiF555RWVlpbquuuus2gL3pR2AVSEEp3iAH70ox/p3HPP1emnn66HHnpIq1atUlVVVRSthtFnPNwm/KiQSKoR4YTDYUuIssezs7O1fft2dXV1adq0adq3b5+CwaDOO+88DQ8Pq6CgQH19fXryySe1bt06LV26VMFgUH6/3yScRMTShApn8+bNOnDggGJjY3XhhRdqw4YNxoPjOOrr6/X5559r9+7d8ng8am1ttfFHAw3l1NzcrGeeeUbvvfeezjjjDC1fvlypqanKy8sz2gkKiAQmNGlLS4tVNv5dqT4kGVpAhO5qmzn6aWxsTAsWLNAbb7xhYSxhCMcI0Qtk//796u3ttTP7MEoez0Q1Y1JSksrLy20AQ6GQuru7VVZWppiYGOXm5lqhCEgTZE/ywe0DAhog/AN9EqIHAgF1d3dLkoXSFRUV+pd/+RdboC0tLWa8t27dqhUrVhjPCGd2uCFhwVMFODo6qpaWFo2NjdlRQHh1wtGmpiYbP4wA8iioDrdcHOc2OjqqkpISPfjggzrmmGP03HPPad68eTr55JPV1tam2NhYZWZmWgkyzvb444/X+++/b9EGSUHkZBQdQHNgNKA2SP4QqWRkZBgSwRm4Famjo6Nqbm5We3u7LrvsMvX19VmxE8br7rvvVktLS1Sfcpwt84FRdU9ARyaIoQOJwuNTCMLV1dWl4uJiffrppxobG9O8efPM0EPnIPdjnYLCQe9QK0RoUnR3QPquxMXF6Te/+Y1efPFFrVq1SikpKfrXf/1Xc6gpKSlavHixtV5IT09Xe3t7VJTgVq3i/NatW6cLL7xQM2fO1BNPPKHp06dr2rRpVpCGIgvlCiAGqq+7u9tao3Jgs2vIAVk0Otq9e7d2796tiy66SDU1Ndq3b5/i4+P12WefqaamRrW1tbr66qt11VVXyev1avv27erp6dHcuXNtH8Drx8bGatOmTUpImDiU45RTTlFVVZXa2tq0fft2dXZ2Rp0sU1RUpNzcXCUmJmr27Nl68cUXdejQITU0NCgYDKq8vFyLFi3SrFmzDOm7eROeH5qMimvWrt/v19atW60vDYDjy66jwlCzQNzCChY7D9LR0aGcnBxFIhFdccUVWr9+vX7zm99o1apVKikpUW9vr3HO06ZN09y5cy2kc7WQkUhEPT09OuGEE4w2GRgY0MGDBy3kJjkkTZ4MgerC7eZFsgUDg16Y79ErwylihKAeMNxZWVl6+eWXtXnzZt1222267bbbtGvXLvn9fstsuzQQGwBDiPfGoGdlZVnSyQ2V2UA4EJwHTgXnQ7kxP6MqKy8vT7feeqva2to0c+ZMXXPNNZY4pCGN20+BDUDzKNcBEBkQYhM2M66ErSRtcFho2IkMQJJQAYzvhx9+qAsuuEAVFRXq7u5WRUWFIpGIJY+DwaB9Dj00CEcJgb1erzo6OoxywYinpKSora1N2dnZRlfQQAkEKcm44wMHDujWW2/V3LlzNXv2bIvakKnhKEg2SzLjGYlETP9N0o89A2ovLCzU6tWr9eGHH+rqq6829FhUVKRDhw7pnnvuUVFRke6//34dOnQoSuf85JNPqqenR4ODg7r99tst+S5NgKRHH31UV1xxhSorK3XbbbfprrvuMoqPiI5xxNmwfymMIspra2uzZ6dfNPujt7dXWVlZevbZZ5WWlqZvfvOblrz/9a9/rezsbEUiEc2ZM0d5eXlqaWmRJKtvKC4utgMYUlNT1dXVpYaGBgUCAc2ePVs1NTWqqKhQVVWV2tvbdd1115mTGB4e1ttvv628vDyVlpYqLS1NmzdvVltbm66++moVFxfbwbWANOg2fkYPEhyUm1sgmUpDtRNOOCHqzMwjuY4KQw0CBRGSiQV5SRO6ZxZQf3+/Tj31VK1YsUKjo6Oqq6tTfn6+li9fbjwn3Jjb6Km7u1uffPKJzjzzzL+QbI2MjKi4uFiSojrqYdhpkoPo30W6hKMkB6BSMB4kU7gPkBo820MPPaTu7m498sgj6uvr03HHHafx8XHl5eXp3nvvNYNJUgeKgX9xJm6/C6gHlxJC04wsipCZTUa1Fcc44UA5Q5GTqX/wgx8oMzPT6ALkUM3NzfL7/YbWCHdpVgMNEB8fr0AgoKamJkNulG7zDHCBwWDQXh8fP9lwiZAfIw0n6PV6tW/fPrW3t+vss8+2KsP+/n51dHQoMzNTPp/Pqh4TEhKMrigtLbW2uNBrRABQXHFxE20AUHygGuF3JBtxQD6fT/fdd5/OPPNMFRYW6u6779b+/ft1zTXX6JRTTjGHyAbHSWDM6A9D7wiih0AgYK0Jvv/972vPnj266aab9JWvfEWtra1KS0uT1+tVXV2dsrOzdeeddxo6R1Hxhz/8Qb29vaqvr9edd95pJ7aMjY0pLy9Pr732mk444QQ98sgjWrBgge655x5rjEXEi4OFj3WNGcZqfHyiI11GRoZp192mU8nJyWpqatLLL7+sY445RkuWLFFdXZ3q6uo0e/Zs5eTkREWnoVDI9PGjoxO9zHt7exUKhdTc3KyXXnpJ3/ve91RcXKzU1FRbT7t375bP59PChQvV2dlpRUGVlZXatGmTce6fffaZurq6rDETNRpEfWNjY2pubtaiRYv0xz/+UYsWLdL06dPtlBooutTUVDU2Nqqtrc3OvnRtmyt3/bLrqDDUJJzcC97x8C/QLgmpcDisGTNmKBwOW8lqenq6urq6JE3oH7dt22aZ6GXLlpkRk6S0tDTt3LlT+fn5UUk5FgGGhGywK3tyixCgRmJiYhQIBAyt816gtcTEiR6/9fX1ys3N1euvv65IJKLbbrtNtbW1uuWWW+T1epWdna0DBw78heYUKoAOZu6Fw0tJSYlqGk8YSOhOty8QLa9jE4N43YZLGRkZ2rhxo7797W9biW9sbKx8Pp9VjW3YsEFTpkzR2Wefrc7OTtskONivfvWrys7O1uLFi7Vnzx7dcccdSk1NNW0r88prR0ZGbMzd4hSMQHZ2tmXt4YGHh4f17//+7/r6178uv99vPHBRUZFeeukldXd364wzzlBHR4cZReZ2eHhYdXV1+v3vf68FCxbo/PPPjypmyc/PV2VlpUpKSqxMfnx83AxTbOxETwp42oSEBO3Zs0ddXV268sorlZeXp8suu0zvvPOOtm/fbq1rY2Njo1QfRCREB5IspCfpiBO8/fbb1dzcrHvvvVezZs1Sf3+/0tLS1NraqiuvvFIzZ87UjTfeqOHhYXV1dRk42Lp1q9555x3t27dPDz/8sFFk0A+vv/66Ojs71dPTo3POOUfl5eUmf4S2whm5kRC0A/PKz30+n9LT0/XUU09p06ZNuvDCC3XSSScpNjZW69ev1/79+3XBBReYnr2xsVF5eXkqLi62+XZ1yJIsWXveeefZPJSUlGj27Nm2hsnLLF++3MYAQMLfeDwezZw5U7///e/l8Xi0YMECzZ4922xMTEyMUVxECxjbO+64Qzt27NCaNWusurG2tlbFxcUKBALKy8vTiSeeqObmZgN0REWM3ZFcR4WhZjGCRNlEkgzVMPEI+OFp3YIHkAwKAoxIU1OTBgcHNWvWrKhqpZSUFNXW1iouLk55eXkWjtO6FM1tT0+PcY/wcSAyQmT4XzhvkJirEYXuaG1tVU5Ojvbu3as//vGP+s1vfqO4uDjdeOONmjZtmkpKSvTuu+9q2bJlSktLszCdaKOrq0uzZs1STU2N6bQJz3t7e1VQUKDx8XG1trZaIxqSRJFIRDU1NSZT9Pl8CgaDCgQCam1ttbAyKytLkUjEZE+PPvqolixZYlw1KBun9cQTT+iiiy5SUVGRKXBIsvp8Pl1xxRW6/PLLtWrVKsXExOi8885TTU2Npk2bZtFBV1eXha0gfPhct7cHSTAStygGkpOTtXbtWs2YMUPHHnusOUj6Hjc1NWnOnDlWFg8dRCVbVVWVXn31VR1zzDE6++yzbdyLioo0ODiodevWqbKyUldffbUSExNtLN5++21t2bJF1113nUVW4XBYVVVVWr9+vW699VbrbbxmzRr9+c9/1nXXXaeenh6jStDfNzY2mkqCJG44HDYeHMORkpKiH/7wh9q9e7e+//3va8WKFaqpqVFeXp42bdqk5557Tp999pkuv/xyK4AiKbZr1y499dRT8nq9euqppwzV0SB/8+bNVnh1xhlnWKEKtCBdDA8cOGCJUFc+iBYZrT3J7z179mjz5s0Wwb3yyivmOL71rW9ZROLxeFRSUmIHRAA4aAaGc0XiSd6otbXVHAn5KiSnnOvJ3kQyKkkVFRWaM2eOiRKIsFmXbgMlkshJSUkWfc2dO1fHHnusUVNLliwxuorKZpLEABeUZ0d6HTWG2m3egzZVkg0SobCbgcfTuqiNC1SydetWtbW1qbi4WBUVFUZDwBnBX7oZf7fnBNIrt+gjLS3NeCiSUCBqSSbRgccidAZVp6WlKT09XY8//riuueYaJSYmavXq1fL7/br11lu1ceNG9ff365ZbblFfX58KCwttYT322GPauXOnhoeHdcMNN8jj8Sg7O1uffPKJ3njjDcssX3vttVZgsX37dkvm0YMZ/vTVV1/VW2+9pYqKCl1zzTWmI0cnmpGRobq6OrW3t2vVqlXG4aI4aGtr029/+1uVlpYqMzPTTnCORCLKzs7Wu+++q9WrV+vkk0/W6aefrmAwqPr6ektIJSdPnDWXlZWlUChkyWMkU8wFZw6C5lzUSuLtww8/1KZNm/Tzn//cmuVTYLR27Vr19vZq8eLFptWXZJzm559/rldeeUWrVq3S0qVLjcZJS0vT7t279cgjjygrK0srV660AppQKKR7771XRUVF+uEPf2g9adLT0/Xss89q8+bNuuGGGwxk7N+/X88++6xuvPFGuy8im+uvv17/+I//qGOOOcbkeiBgchUYivHxcT3xxBPq7e3VkiVL9L3vfU+33HKL8vLy9Omnn2p0dNQOpb344ovl9/vV19enjz76SDfccIMV5Pzbv/2bOjo6lJGRocrKSj377LMKh8NqampSbGysbrrpJutxjqKkvb1dGzZs0IYNG3TyySfrjDPOUG9vr3w+n6FVuOm4uInT0DMzM60H989+9jNVV1dr/vz5amhoUHZ2tvHWlKhDG1DcBihD8hkXF2e0FT3cDz8+DgkktsRVGbG2XToRWhAny3tQ5o5CBYdHrgV7RB8QckI4bPrPE9VCC5ITOdLrqDDUrhjelR9JMtTEJDABbiEHAyNNDi4ieFDlnDlzjMPs6elRa2ur+vv77edsXvhedLxuzwEQNSgfXTdeXJJFBFAWOAZ4K7jMtWvXKjk5Wccdd5waGxu1a9cu3XXXXXr//ff14osv6vrrr48qj62vr9frr7+uc845R//wD/+g++67T/n5+Tp48KCeeOIJJSQk6Nprr9XY2JjuvPNOo1fWr1+vhQsXat68edqxY4cKCwvV3t6uuro6rVmzRqFQSBUVFfrxj3+s5uZm4xRxTsnJyXryySdVUlJiB7iCpt955x1t3rxZ/f39OvbYYy0kJNL5j//4D7355ptatmyZVq9erdbWVnV0dGjNmjX64Q9/aJn+pKQkKwaBN2ecoJUoEnDLzeG2SQo988wzuu222yzUdjvC1dbWKhwOq7i4OEqfHhcXp8cee0zvv/++RkdHtWTJEkvO1tbW6qmnntJ3v/tdxcfHq7CwUCtWrFBjY6OdXB4XF6fFixdLmki+VVZW6g9/+INOOeUU/fKXv7QI76mnntLrr7+urKwsPf/88/rZz36mkZERZWdna+3atWppabFucVSxjY6OmtHDGNAMaunSpVq3bp3Ky8v18MMPq6+vT9u3b9dpp52mk08+WW+++abWr1+vX/7yl2psbFRRUZHmz5+vxx9/XMFgUNdee62uuuoqpaSkqLGxUd/+9rd13HHHaeHChWpqatKDDz6o5557TlOmTLEczfj4RK+SY445Rpdeeqn1bHaBDAUyzEkgELCWrdBps2bNMgkdoIY5xShyYo9bOMMYYHzdymN692D83NyRWzjnNrrq6ekxvTpRLzkkabKxFbw00SGyPhRLAEUiAnIHkqIO0KWHEePptr/9sstzpCWM/5vX/PnzI2vXrjUPRYhFaDo0NGQVbhQgkBRzkS/9GZDtbdiwQbW1tSotLdWFF15oiZ4tW7bI5/NpxowZVoGEl8QwYHBcaRyLjbCZz2bCQHgYd0lRPZWhL2JjY3X33Xdr5cqVWrlypa699lpddtllGhkZ0csvv6zbb7/d7kGSNmzYoJiYGC1fvlwlJSW64YYblJOTY1VpK1assHP/7r//fu3du1crVqzQgQMHdNVVV2n69On66U9/qjlz5uiss87S008/rYSEBJWXl+vNN9/UjTfeaAnBG2+8UZdeeqnKysos8nj66ac1OjqqK6+8UocOHdK7776ruLg4rVy5Uj6fTzfeeKN+9atfWYJw48aNqq6u1jnnnKOf/vSnuvfeezVjxgy99dZb2rNnj84991wVFxebfhcHSfgcCAQMEUNLQHuQGIRTxfk+99xzSk9P1znnnBMl/+O1n376qR5//HH97Gc/k8/nU0NDg15++WWNjIzopptu0tjYmJ544glDsfHx8TrppJOswOPxxx/X+vXrNXv2bJWVlWnhwoWqrKzUrl279Ktf/UoPPfSQ3n77bZ1//vk67bTTJMkcD707WJsPPfSQPv74Y5WVlamrq0unnHKKLrnkEsXFxSkYDFo+QlLUOoTaI1pBzklovXDhwqgii3B44sQVt4gDSolxbm9vN0MGUCKXwuEUubm5lgAnv4OaA4fKWDMvSUlJ6ujosP45bkEVr+nu7tbUqVONwkAOyp5Ba46MEOWHW5TDuBBto6YgGgPIsVaI3pGdSpPl7IwNx29hyEkm4oi4XAoNXh7DjPOiVYFb0k7F6Pj4uC666CLt3LnzS631UWGo582bF1m7dq1xy4RmGCo3E+7qW+Ef6WHgSuU2bdqkuro6lZSUqLu7W1//+tdVXV2t/fv3m8QH5QVeHHkaCw+9LKER90QGXpK9DvSclJRkBkaaPEmbwg0KXy655BLdeeed6u3t1QMPPKCYmBhdffXVWrhwobq7u1VYWKi6ujqtXbtWMTExuv76600lcf311ysvL8/UFyySP//5z3rppZc0PDys0047zdpAPvPMM/rggw+sE9ull16qpUuX6qabblJ5ebl+8pOfqLKyUr/4xS+Um5ur2267TR6PxyRJmZmZampqsvaf8+fPNyMeiUT05JNPas+ePcrNzVVFRYVKS0t14oknqqOjQzfffLPS0tJUVFSkQCCgCy64wKR7bCq4RL5H1khhEM5TknGgGJ3ExERlZmbqlVde0ZlnnmmUmdslkE324YcfauPGjXYs0uzZszVnzhzL7MMDkwdBm0xCuLCwUB0dHRbpJCYm6tFHH1VTU5NWrlypCy64QJ2dnRoZGbFCKtYkKA1UODw8rNzcXLW0tCg5OVlpaWnq7u42ZwVYcVU1KJVAfS4FSEIX5QxnZtKiF40/oXx8/EQLVPprEMlAF4DsSdCS9IRipNw8ISHBns9FiCTxAC/Mq1tzAOpFpkfuh8+m8AfqheQlvaFJFhL5dXd3KyUlJaroyq2+HB0dldfrVUJCgjlknB9FZSh43OgOOlGSdSKUZH3I3dYX5KWIQBhLgKfbJC4uLk7nnXfe34+hnjt3buTll182zwMH6lbeUUABV+0OHg1hyFi/++67ysjIsKISJDLl5eXWRB3Pzmvj4+NNOhYKheT1em0iXYUFaABKgjBGkvFrLEhp8tBO+CuqL6+66ir90z/9k55//nmFQiH95Cc/UVZWljXieeGFFzQyMqKLLrpIeXl56u7u1rRp03THHXfo008/1X333fcXyOCee+7RtGnT9N3vftfK8SORiO6//34NDQ1pzpw5+sY3vqGcnBx1d3dr586deuWVV+TxeLRixQqddNJJhr5whCx2jDIGh8hgeHjYDlmIj483QzVt2jQ1NTVZ3xTKjlNSUgyN4RQZSz4LZIShdas82VCgs56eHkMo0qRjJMnICdFxcXHGFaMQAO0ODg5aCI0eOhKJWOMuSrppBUAiOjc3VwcOHDCOFQOAwceAuL0z0A3X19eruLjYDqog2YSDIXpj3HmPhIQEeb1eHTp0yCSJRFfMFwjTRZSJiYnq6OiQz+czCR16dCgVGiTxHChxQImuJJVnYQ+hzMGBMcYcZEtDovj4iQN+SaRyqhF7GmQP7cDngobJE6WmplrFb2trqxISEqL6qMBj0xtneHjYDlGIiZk41YaSecACCBjnyhp1QSDqIsYN24EKBkEBDqy7u9vUR6B+bEMkEtE3vvEN7dix4/+/ofZ4PFMkPS0pT1JY0n9EIpH7PR5PpqQXJJVIOiDpa5FIpNMz4VLvl/QVSQOSLo9EIlv/1mfMmzcv8uqrr0Yl5Aj9QKtsQJe/ZJBcb9vY2GhVdrNnzza6hPAODpuFlZ+fbw1u2Lj0YYAbxCnQ7J2yYQoyXF5VkqEcJg9+jY3k9XpVW1urnTt3auvWrRofH9cjjzyiDz74QK+99pqGhob0zW9+01q4ku3+6KOP9OGHH2r16tVmSAhFMWIxMROd9Nra2qzhj9/vV1dXly0uNhsbB4OG6oWfk8Rh8xDhYAhJeEmTfaExOGxqnB9OA010f3+/fD6ftQHg9ZIs+8584fzYMCSeaLxDGTY8I3OMgZFkDoV5RBft9XqjWoiCjFxZntvOgPnEALpSNZAnPwNJuf+PiYkxlIgTctEmxsk1fG7REhWN5D7cQjG+d/X8fr/flA9c7HnmxVWTsLZJnrHuPldMAAAgAElEQVR2MZ6RSOQvqD/GmM+JjY1VRkaGurq67NAD1gaJdYxjQkKCJfvpJkh+ijECsOHwyVcQZTFPFCNBH8GBE+26aJ+IgEIj0Dm9xN3nx8lSBwAvPTIyYgcwYAOYJ8aXz8TQM5ag9v8xRO3xePIl5Ucika0ejydd0meSVkm6XFJHJBJZ7fF4bpbkj0QiN3k8nq9IulYThvp4SfdHIpHj/9ZnzJs3L7J+/XrzNl6v19pe4pnY/O6CclEHPFQoFLJ+AUwiG5DXYHRAXW41GFpsSl4Jo9xQiolgsUCNkEgB0bhFO/TtJRxtaWnRlClTlJSUpA0bNuiTTz7RkiVLlJ+fr/z8/Ch5kCslIzQD8brhGRueTcFGR5KIEoVFzWskGZLl3uPi4gwFMW5jYxNHNzU1NamiosKQDIufxQcKYnHzehIwGFw3AQXdICnqe4wkdFJKSoqhVhA5lW0ksLhXGhqBfMjAMwYuenKNHWNMsy7Xkbgoyt07zAdGi/slKe1uWNYMXDu9jkGXFDVJskIgHB/AhN+5x2qxtvidi6wxfpLMMTEeJLZ4JsCEx+NRZ2enRRW0DyV8Z126FKQkKxsn4hsbG5PX67UzB3Fa4+MTneQCgYBRBlAbWVlZVvyEY+JQXZL5GFvyWBhWjC9FMrSXwIkB+Bh/KEHkc4BExpE1CrrmFBs3ksJG8f5c7DNsG2OdkZGhpqYmfec731FVVdWXGuovLTSPRCLNIOJIJNIr6XNJhZIukPTUF3/2lCaMt774+dORietjSb4vjP3/8QL9YDjhcdHpuiQ+g49h8Pv9kmRhRVFRkaZOnWooByTG4mQRYXzZ6GNjY1G9IjAmqE5cOoON5TY3womAUEKhkCE7DLkkW6h4/s7OTi1cuFCXXHKJjj32WCUmJqqzs9P4cVfq5PF4rC81Xh0pXXd3tzo6Osw4sghBZmhzpQnJHS1VWdSgJThQkrOMK8hOkiVaSMIODg6qtbXVQn74P5wgztE9bQSUCXojqiFTD7JhrNzKPfpc4LxBsm5yknVCQyckahhkjCWbDx6YsJYICCSNQQeZ8XqUBpTtZ2VlGSXhnrbCCSJ87zoCHAuOkOemxzXIEyMFsqcJlccz0VTI7/fbOnORKOMvyQpHMLauIyWRRyRFNIQRJXELmgeUuOvMrSB0ZZDsPQy0JKsoZd8z5hhKnn18fKLMf2BgwO6FxDxjiB7dPQQX54SxxUCPj48bfTU0NGTtHTDU/D1jR24Aaoj+34ApaVJlgiwYkAZAA/x4PB6jfPLy8o5Y9fHfkud5PJ4SScdK+kRSbiQSaZYmjLnH46EbfqGkBudlh774WfP/6X1BNGw2SmXhdvg9G4QkEhlaBphB+uJe7T07OjpssbvhEJQGRgUE4iY6oF6YSDhraBCMHx6TBI3X6406izAjI8OkaGhi3eQZC8n9WWxsrPGKLBjKYXlO0Ar3iJ7U6/VaeTWGz3UqycnJCgQClhhhs4GMMApxcXF21iO/A8FBgaSkpFjVFgUQhMEut4kCAGTDPJBkAU1CPeEcR0ZGLPvf29urSCQSVdbLRnITdt3d3dZ4ikMLQECS5PV6Tebp8XissT+GnHGiHScoOjs728aAaGZsbExtbW0qKiqyhCA5EAyGGw26NBJVpDTD8ng8Uae8U3oPcuPzuEeMo5tzcQutcACSzPgwVnzPOGOM4uLijD4kIh0YGLD5c1UWgBeXppImT2dnnDo7O22dsi9wiHw+Rrqnp0f9/f2Gxt0ue6w7EC0VwKxJeHEktSRh3SiXqL2rq8vuCZBF8RqOzlVwuE254uPjzdlhDwCGLh1Kfoq9QMTg9/sNaBzJdcRtTj0eT5qkP0r6USQS6flbf/pXfvYXd+PxeP4fj8ezxePxbOno6IiSs2AUQL6uoR4aGlJeXp4hXZQW/J5BRGQOl9nX16ehoSG1tLTI5/NJmjyNHAUBn+WiBJA5vO34+LidRhz5QtLjhs5443A4bMiSpkzSZOgLKu7p6TGKgQ0GqiK8Gx4etj4MPp9PXq/XNhpIhfsIBALq7e2NMswsbhwQelAqADFWOL/4+HhrkI5ckoQT1AU/i0QmDggA1Q4MDBhCZfNKsnlJT09XRkaGbYKhoSGr8MKwsnndRCNhNmNDxMOzgbDo/cBYg/wxSjhiqk3d49cw9FBJzAnIFjQIYkKdQTEH1Ax/yxgANjD2rDnXuNA8jCggISHB0CbrWpKtEWmy9QKJcCIekCmojv9j5A+vE2AtcZ9EACBfF1m7dAZl2Lwvhoq1y1wmJCSooKDA0KVr7HGWbrEKzbYooR8dHbUIlTUKoMPRQ79QoMZ64bndIhcSwzgTgAlriIiF/UwURatZbAJ7magU6TByROwF658ILSsrS8PDw1ZvcSTXERlqj8cTrwkj/WwkEnn5ix8HoTS++Lf1i58fkjTFeXmRpKbD3zMSifxHJBJZHIlEFmdlZUmSlV2zEDDaLE6QCpsED4w0iQ1O6IURolcF8iW36VBMTIyFNC46AEGzsQ7ntvk7QkrCOFfI7ort4a5IcJGA8Hq98vv9tgBZYGwYkkUklMbGxtTe3m7hKpOP5GtkZERZWVlRJ+SACrgfDD8l3jwXYS+JNpceYnwTExPV1tYWlfUnhMSAsRFB02xm7rW5udmQVWpqqtECGH4cKI6S5A7cJgkrd3NjsFDqUA2HHIse3fwfCkCaTP6y3ng2HBMbls15ODJFadDf32/FNERk/K2L3rlcA4cDIpIgzCdZ6mpvMRAABvYBnC7yPCgRIkMSyUji3MjBlaFizHHS7rmLRCT8zHUijD1cLesRRO46J/YNyUbanvJ7ogWX0yfRyX7AoLLOaPNA61rUKTh41ijcPmuCnjbQnq5t4NQcgBdIG8qNiJQ9g3wTO0S0QzUz9op9yTh82fWlf+WZWFmPS/o8Eonc6/xqjaTvfPH/70h6zfn5ZZ6Ja6mkbiiSv/EZJnqnzJJQweVjXSUIsipXbE64gTzn8EQWCTkmnoUFP5uRkWET5P4Lp8lGxhBjSPi/u9HdhJ8kQ6igXxAuXdI4ER2uHD2sK1HifqBJ2HgYLxJ5bm9lHAdGELTMF1FBcnKyoWQWFXwcCSUy4CBFLqIGUBDRDM6K8eL5s7Ozo/hdF6ViKBhHfkdeAv4flQrOhzmCd4e3Z0xxBMwf88nnuihVktrb260DHRtXkoWv7jqTZImysbExhUIh4ytJ1hF1YXgkmVF39dEYAVAg65ADgVn3/f39lruIfCEbw8i5h10Q3vMcrpMC/LjOGmeHAx4eHjaVCvtzeHjYlBcgVVevzJ5zjSDP5Sax2fduT3JJRn2xDoLBoL2HJMvfMB8gcpfvPtwAYrjdpCpRsetAcVrQQIw/YOHwwjbaHRDFgKrd3kM4Rjc3gwF399Hfuo7EnC+T9G1Jp3k8nu1ffH1F0mpJ/+DxePZJ+ocvvpekP0mqlVQj6beS/t8v+wAWDgvaPUCVBTE+Pm5VaqBCUBOXuyndSUhKSlJKSop27NihF154QW1tbaqurv4LROAuECYPNQGoCgcAqmNTodHt7u62UmA3meKGcWlpaZYkwfCBeOEhXVTtokekT26CkvfhvUEU7lmN0BUYFzYMSSSa7oyNjdnreD54Y+gLl1ckiuA5XRkbBj0hIcEUDUgK3WjENTCHd9yjUyDhriQ7QNZVZ2BQ0tPTFQwGjcJxC0MGBgbU09NjhsmlVTDchMopKSlqaWmxsNY11Gxmt4Us/HJiYqLS09PN8GDUeWb6MKekpCgjI8NABPcKPQSqZyPjyD0ej0VgKDH6+vqMUoqJmegVTTKT3uIkGplfnBXGFA7WzWu4NADzyP5kjJh711BjPOHymWPGj7nEURKVQJVAg0YiETu7Mz4+Xl6v19QkrJG+vj6lpaVZTsQFYO7lSmzdvAZfrNvD7YmbMxobmzxWD+UJgIF5BOEzRn19fTbG7Bn2F2j9SK4vTSZGIpEP9dd5Z0la+Vf+PiLpB0d8B5pEKdKkjAlPhuiehU6yBORG5hpjjwFgY0UiEYVCIVVWVqq/v19Lly7V/Pnz1dbWpr1792rWrFmWtIHPRgIWGxtrySPQ+tDQkPVchhJwM9wYQLw6xg+uEJqACGFsbMw2FX8nybwvCBDkhNaTUNRVH0DrDA4OKjs7W52dncbn0ksDege0gjIDY4RzZNOhmiHpSpIO+gjdOQU9iYmJVnqLNBFFBc9AUobFjWNGksZzs0FSUlJMaQNSlGT3TdIIY0PnP3cdENrj8NlkqIfchDFRDM2QUG9w3yStMZR8jquuGRkZsQIsNrU02SzMVTFh1AABbpEOCcnMzMwoSR/GYGBgQDk5ORoeHlZvb68ZUOYRFMnxYDwbawrJHfwr9+L3+6PUQxgzCoWQ8xGN8Vq4X8YPfpd1QXEU+2J0dFQ5OTl23iUHhAwMDGj79u3KyspSfn6+mpqaLNnX19dn6xsdM8aXYhOXk0cZwv4k+cd8kXB01SFuBSl8O9QUET+2ii6URK7sZVfpgb4fYAF1csQ28r9jUP+3LhdBcRHGggLgT1mgGEaMFbIgziFj03Og5fj4uJYtW6bU1FQ7tYOJBMFicKBSCM34bKgAWkCygDFAeP62tjbjhzldmXD38MtdUK5xdpGMiypxRKgESFQWFxebpC0QCEQl/Sh8cBNkjB8RS1ZWlhlUt+IRhIXGHKopKytLsbGx6uzsNC4W4xMIBIzGoKJzeHjYIiL3ikQidt/umPA5/f39ikQm2q1yaCnrwU1UQgPxXGwUwnNQMOG/q3GWZAlgNykJTUHbTtA+NIwrz6RFqIsGURCw4fnCOLocMfwvXDZrAq7cpZNc+oX2nqw3UDuhO1QFjbRAsjk5ORZZMM/sAyKVvr4+Q4FEV4AMqDDWFGOMjhv6iYs9C8jCYVCWT9TFwcnvvfee6uvrNXXqVAWDQetLToSLlPbNN9/Uvn37zKm4rXdxyOFwWLW1tYqJibG+3y5l6N6nJJsHN6EOz8++HxkZsX7VaPqZF+guqCuAhZsUJ2o50uuoMNQgZxYCixnjTejuSl4I1yUZH8zGAyGMjo5q27ZtGhmZ6BGLzI2Mv6u/dPWRGGY2bXx8vKGv8fFx5eTk2MQRvuAtSVxS2ShNSt8wFiSAMPButp4L2sANOYk62IgkGjMyMtTc3GxGqLW11aRakszg8VoUGmx6abJLIagUI4fBDAaD1mt6fHzcjDYIicU/MjJizw1iA5WTb0BhgFNF5gS6xZkw9/DmhM+MF9yym5hxE7nuQRKgVH5G2TZrCXrLNf6sSYy/y7OTbIO3dDXabEYQONQYUQKojM8aGhoyTlySjQ/cppsHcWkSEtJZWVkW4eAsQW2jo6NRdAKf0draaklI9+QVl/KAiqD8mZPFSfJBSWJ0QPi08eTvyJe4VZeAMxKlAKG+vj7V19fL7/frwgsvjOJ9XbpkYGBAn332mTwej6ZOnRql+mLdQzdu2bLFEoGu1hwJK+0iSHaT3KQKEWeG9BbtPe0AoMFQu2CsifTdtUWegvV6pMnEo6LNKcYR+Y00SYGw+DBMoBYmHiOAl2KB1dfXq7KyUoWFhbbA2ByEUPv374/iHF09JSEfiTXCNAwySIJJl2STDY/l9/uj+Dc8KNx3bW2t0tPTbQJdBO0iRrhXPo/wj7/jXkDwdGtze6FwDxg5DDeLmqSfGya7PD9yycNRAKisu7vbKtjcMSH8Q4LnJl5cOodQ0JXGgeJcQy7J6Aicl6ubxsgRbbDJAoGAGRGSQwMDA+rr61NdXZ1iYmLseCvQNmMgTfZFdxNPGCbeD+SJw6BkfWxsTJ2dnXYSjCQ7C5KIw+fz2UGzSMFcLS/jDkWH0cIoQDuxHgjv3aSbpL9QM7kyU/aRS9PwPYoKpJ0DAwP2fEgKiVhwKK5Dpb0CRpqL5CjR6/79+5WYmGhJT/Y/uvn29nbFxsaqurpag4ODmj59uuLj4y3HwpylpqbqwIEDampqUiQS0XHHHWdJWaoeDxw4oNzcXJPJQSO6hTzYlNjYWIVCIcXExMjr9UpSFP3otk5wjyJz74nI2gUJrK8vtZFH9Ff/Fy7Xy+KBMZ7wZtKkYUBDCf/EpFJNt3nzZuXnTxRElpeXG3Kj0AKuGZlaJBKxhB5hMPw2SUakUn19fVEHrrohrHsSjCuXcjm8uro6JSQkKCsryxA+zwonfXiJsjTZOQ6ahU0Musd4+Xy+qE3IJmfscFgge77c4glpsnwfaoNGPe4FgiUUdo20NImIQXUgTAqPCFmZN1CpK4NkPHg/nh0k53L4rhGQJh2929wJFcPevXuVlJSkY489VjNmzDAtM+iIcNZNjsFRgyZxqCh9XBSM4cLwuok2d63DtbtOm4iPdU20grMjF+Lqwzs7Oy2qdDlQHDSRI/MJZcFaZEzdaICOdqxLZHlQFcjc+Fw6IWZmZkaF+QAt7p0v1sbQ0JA+//xzxcXFKTs7W+Xl5eYQyaXExcUZJ52ZmamCggLl5+fb/gRQSDJ9fmxsrEpLS80Qu9GK23sdVQzRNA6ZSJ3XY28AQa7IAMePU4mLi4tKTrIeAoGAresjvY4KQ42RdFUahJh4aFBhXFycQqGQGW7X64Ia1qxZo7KyMjU2NmrJkiX2Hiws2pTS6pTN2N/fr4MHD5oXhgPs7+/X3r17VVtbq4SEBPl8PiUnJ6uzs1OSLOED+qZwg83qcsOhUMj4wczMTEPHJJmQo3HxPb9js+GNMfAsYJwF3hwDJk0ia6/XayiABUe7RhCgK3lj0+M8QGMYDt6Xe0XB42rf2XQ4FUmWGMTwRSKTTaOQOIXDYUsi4jTgJ+G8CY8lRSUhXWfPGA4MDKizs1N79uxRWVmZRT3w9G7CiI3mfja5DDYyCgS0vUQKrGs0yRgj6AR33bpSPNe4k4fA6fp8Pnk8nihHi7NFK8xF4pEolGQWMj43UmDe3UQz0QKNrtyiKp6dee3p6VF3d7fNCVEJumVkbDgeSabGkSZomF27dllUw9FnGHXQeF9fn/XuaG1t1fTp082AM56S7MSjcDismTNnqqioSENDQ1YR7EbLRCbMLc4UPh8AiUNhfTKH3CMGPicnx+iQcDhsOS9Xlsc4Z2Rk/H0haowLmlgXtbkVUcnJyWpvb1dMTExU8xk8dUZGhjZs2KCioiIFg0F95zvf0cDAQFRXL0nq7u42DSootLGx0U7CSE5OVktLi3p6elRdXa2hoSHNnDlTgUDADC73A8UhydC0e+GNe3p61NLSorKyMpMP1dXVWTjuIiiSh/w/HA4rEAiYkqStrc02CaF8S0uLJJnxYCO4KNyV27EwGUc2jfueGBFQJDQO1ACKHHToIJbe3l5DsMnJySZHQxbGwnUVFv39/TYWGBKenapMuEEXiRG9sJl5FtYE7w/CaWxs1PDwsBYsWCBJZohAo3w2z93T0/MX8jmSgswjvCaGCdRMpSK6YyIUtyDI1c23tLRo8+bN5jzb2trMeHd2dkbVGrj6XkAO7wu15lZB9vX1/UXeAofJ2iPyQ83CegN5ouSB7yZRiRRSUhSCZC4ikUiUxJKoJRwOq6GhQfX19Ubd5ObmWmKde8zIyFB3d7epPX7/+9/r1FNPNUMHXcTXG2+8odTUVJWVlRklk5GREUV7UezlzqlL+7A+SQa6lalcrswQUITyhnEkqoDuo+VFfHx8VJ7iy66jwlC7SUOX93PDo7i4OLW3txtH63Kb0sRiq66uNsNDh7rY2FhbYKDL3t5eO2Hk0KFD2r9/v2bPnq1jjz1Wg4ODam5u1sDAxFl2FRUVCgQChiTxoGwQvCTFN2xQLqR8g4ODmjNnjkZGRpSbm2uNYFwJGguN5BPf03mM0IpqO0qPQWy8x+DgoH1JMsMoycJukB4Oko0ZHx9v59GxUTBehPcunRIOhy1EZhMwd3DXlOyySOPiJnoF04UMp4McjnsHLRLW0laVCEaSrQ2oAHh8NpVrFGpqauT1ejVjxgyLUGpqahSJTPQ0njZtmvXZkCYlfbQc4OJ+GA8MYnZ2tjmzzMxMjY2NWd9lHI00GcqzmYuKirRx40Z1dnYqIyPDEtQk2CTZiTugXeYDRwK9wjOjNefvMDBu43s020R9VIgmJiZa1SlUlCuBlGRrCz0w0RDzS9Mj5gKUic45IyNDu3btsg6MPT09WrRokTlnCr4oeElMTFRFRYU+++wzXXLJJWptbbU8FdFdRkaGdu7cqZiYGOXn58vv91vk6+5J9gsXqDcxMdGoTvJROGxAjpujIXJmDbpODNUV44m9ch06tRRHZCOP6K/+ly84NIxuTEyM6P8xOjrRQa6hoUHj4+OaOnWqDSyLndB027Ztio+faPy/aNGiqN6xhDXBYNAmECMyY8YMk351dHQoHA6rpKREU6ZMsSzv4QlHDCwcM793ez3ExcXpo48+Umdnp2WbY2JitHfvXvX29ioQCKilpcWOGML7Y/QJvbjP1NRUG6e+vj5DTci4MPw4EYwDhti9MHquVIhxpUITRAzSoGOgpCiqAr4PFQJRCgYA9NnT06Pc3Fy999572rRpU5T2nfwBPLVb6ShNSvbS09ONOsJJulrX2NhYM5I4p4SEBFVWVhrV1Nvbq8HBQR08eNASncXFxdaMn1AfLrK7u9sSeChcWJuoIkBLPHd/f78yMzMtlGbDQ+tFIhEzzBs3btTKlSs1ODio+fPn255gnMl3MG+oolBsHJ5wd/M2rEnWB9p6uOqDBw9aTQJzR96D3hnSpKoJmgrqA/oqJSXFlDydnZ0WSUEVcBI6ifGNGzcaH93R0aEzzzzTcj9QbAkJCWpqajI5am1trUq+OLuTBDOFVJmZmXr77bcVCAQ0c+ZM5ebmWj0ABhPJopsgJ7JBNuh2JGT8eWYkkzhPqDTuFwOPsokIGwqU7oyM739H9XFUGGouENzg4KAKCgqsaRBorbCw0E704PBSBryqqkrTpk3T/v37ddJJJ5kUib9JTk7WoUOHrBNXbW2tQqGQioqKNDo6qubmZn3++edqbGxUaWmpGVt4Z7dZDpRCYmKidavD4Lhh0KZNm6yrGgu2o6NDBw4c0MyZM9Xf368pU6ZoaGjIJG2STNJ0eBiJYaMgAURGQorNiVOKi4sz3hK0BV1DogyezuW0oRJ4T+gONM1wcn8NIYKEkSpyP6mpqcrPz9c777yj7OxsZWRkWGtQHAoGj2cbGxuzZlqgGjTNkiz5Jk0W8EAzkOQMh8Oqrq5Wb2+v8vPzTZVDxr+oqMi667nKFjS5JD3duUdbT9IRw8ccp6enm8SLJB/j5bYf8Hq92rZtmxYuXKjm5mYtWbLEuFSklow3iU4SYfDArt4bYwpwIcQ+XCfsIt6CggKrpqUWwdVxo6d3E5rcO42SXM03EjXWAI6antBJSUnavn27Rc6NjY2aPn26GhoajPrk3gcGBuTz+ey0oPb2dnOMRMbkSCorK5WVlWXjxv7BmUYiETtAgz3gKoxGRkb08ccfR40lEebh2n/2WV9fn0VfbmENoI99SZ7GVSlBlx7pdVTI89iU8Gt4OjLM7e3tKioqMr4uIyND7e3t1hcZigCPWVhYqFAoFFVqWl1drfz8fDubbWRkREuXLlUwGLRijGAwqPPPP996RGB48ZAYKhJKnFdIwyLkSgkJCfqv//ovdXd367LLLrNsMghg8eLFOnDggGWaed5IJGIHhmLg6PCGqqOnp8cMFl7e5/OpubnZFvrw8LACgYDq6+stnH3llVc0e/ZsTZs2zbg5ihpAR4wXiwmnAFpyUSsXnwmqcyVcbiLG6/Xqk08+0djYmILBoM466yzbuEQm/F1DQ4MpCTAaoCa6AroJIGmytBvVBxTMJ598oqSkJC1fvtzQT01NjebOnav09HTt3btX06ZNM44WmgJJGu/rOkAQv9tGoK2tTYFAwJAYnDFz60aArPnKykotWrRIdXV1mjJliskjoXJc5QW8NA4LQONqwInKcKAkCon4iL5c5QgGtq2tTTk5OVF5BO6fA17dnEIwGLQ+FxhDt/6ACjxpwrABuhgDgMSSJUuiFCjM5/79+zVlyhST5LW1tWnmzJnGoxMppqSkqKqqyqiEnJwcK3wj6isoKFBnZ6dqamrM4bhSuoKCAmVnZysrK8soT0lWSOYmuFlbyEWhOnBmcNJI/VCwkfcAfBBhH2ky8ag4M3H+/PmRl19+OSqTTM/WmpoapaamKhAIGJ+DBIgF+uyzz6qgoEDt7e362te+ZqgoPj5e7e3tGhwcVHFxsaGDmpoalZeXG3/X1NRkdIHP54sqZCFkkyZlYq6KAR4PTXN2draeeuopdXd36/rrr1d/f7956aqqKmVlZam3t1fZ2dlWuYYxoARciq6UY9NgREBrrnzO7/crGAxGJe1SU1PV3NysHTt2KDU1VcuWLbNFSkYf9AUP6Uqx4F3dXgjQPq58CT6T6MYtTAJ9bdmyxcYtOztbZWVlamlpMWMMx+gWCrnJGrTQ8M2gHBwFyS3+TUpK0rp165SYmKjjjjvOohOiKoqEUlJSTP0D5UEPGJyUOzYoXeBjUe3gIEDTGF02NPuMsLqqqkrz5s1TMBg0CgM0iWEnCez2zmZdx8XFGT3IRSk0pczZ2dlWiOM6eSg46CRkZ6Bz5jkpKUnd3d1RqJG5hdNFF0zeBjpKUlReCIe1detWQ91dXV1aunSpuru7NTQ0pKysLKWmpto+yc/PVzAYVHNzsxYuXKiWlhaLMthT+/fvV0tLiwoLC1VYWGgGkUQ5oIaxB4BhQyTZvTHP0BGgdhwJzpY9B7+PuCA+fuJ0dnqrQ5m4EloAB6qQCy+88IiO4joqEHUkErFwhSQUXHNiYqLy8vI0MjJiPSQY4OHhYXV1damoqEjSRMLFDfvgo4uKimwxHTp0SCUlJZJkmys1NdWqo6hIwxCwwZAQukL4gYEBC6+Q8j333HPKzs7WqlWr1N7eboijoaHBQs6cnBzjQgnHmEJOMHoAACAASURBVEiMMaG3q7GFi0U3ivHAYHJfbL6+vj5VVVWZbhPUAprBmLul4u5mzcjIsANQKYQhyehmx2lM4ybZXFneli1b1NfXZz0pAoGAmpubDZWyeUgqucoanonEGRtKklV5IZsC7Y2NjemNN95QfHy85s6da8/b1NRk3eQOHTpkbVbpfEc4jsyOEBiHyfMjn2Q+mSNp8rQiGiuB/txT1evq6jRv3rwoBQBz5ipCSIS7uvJwOGyUAoUbvMfo6KgVuRBJwZ+6xhRDBw9PnoV7JkLE6HC4M07CXQ8ckIFBZO4oDAFRDg0Nadu2bcrJyVE4HFZPT4+WLVummJgYa9caExNj/T2ICAcHB7VgwQJ1dHTYZxFhBINBdXd3a+7cucrLy4vqT82pQSQvcby8DkoLtAzwYc1LE4CQambGEt6ffc34w8ezJhISEiy3Bf0E1851uOb/b11HhaHGMEmy7LI00aejtLTUjAvlyixMj8ejnTt3qqCgQNu3b9eyZcvsdX6/XwUFBVGGh0SKNLHJ8eR5eXnW1wC0QbLFLajAGGLcMJos3v/8z/9Udna2lVpjQKXJwpDc3NwoeVxnZ6cVD+Tn55ue2UXUXHCIZMY9nokmT/DwJCr6+/vl9Xr14YcfGr9aXl5uDXPgFdnAoBAWJBw2C4/nY8H/tZJvOD+eC6Oxb98++f1+S9j6/X7FxsbK7/ero6PDngsFC58vTRbo8F7ImQgv3UgAvnB0dFQbN25UVlaWsrKyrPgHjnhsbEw1NTWaMWOGVeK5BUquwsXVoBOF4GChdUDLREo4GBw9c8TZgPv27VMgELDwnB4sFJOg4UbXzDp31R4oFlCusMbC4bAZf7doB4fpKhbc6kVyFUSH3DMOxKVfQMxwwOQVoEl4/cjIiGpra01KevDgQaMM+/v7NWPGDH3++efmOEG4MTExKi0t1aZNm5SamqrZs2erubnZHCYyv0hkohht6tSpFmmhgWfcWOusa56Pyko3muPEFwwwUQzAjXWBwXYrQwOBgDkFtzKX/UFuw60FYU0c6XVUGGpX9QG/RbacCZImT/Jlc/C6oaEhlZWVqampSaOjoyorK4uqCHQVAByZ097ebuEbhD/aaHhVkBjhb2pqqvUwIKkBwnzkkUdUWlqq9PR0TZkyJWoRj4+Pa+bMmXYvJL4IjQmTUXFIspJekCkLgM3D2HR1dRmaJcGZmZmpjRs3Gme2cOFCeTweNTU1KS8vz+Rvrmif0BhjBwJkjDs6OqK6spFcY0O3trbq4MGDdgr8pZdeqpaWFvn9fqNz3EY9NOlxy8YJMTEwbBIXcRLBUIiCUykoKFA4HNa7776rwsJC+f1+yyEQ/RQWFio7O9vC1+7ubvn9ftuEbOqRkckTs3HQY2NjysnJsbnjPjGgLS0tlnOQJhNOrN/09HQ1NDRYwq2jo0MFBQWG6HBKIEz6dxAp0G4TA0RiEdTtJqDdghz2CSgwPj7e1hk8KbkXZGRuGwe+oHQweiDtjIwMtbW1qaWlJarYy+/3Kycnx05BB1y0tbVp+fLlBqJIGH788cdKTk7W4sWL9emnnyo/P19er1cdHR2W+0GR1NXVpa1bt2rhwoXy+/227vv6+lRdXW1KqeOPP97WGHv9cMVYZ2enOjs7FQqFlJ+fb9LBcDhsx6QB9Fx7FYlErJ0ue1CSJWkZJ0lRRWHYtcHBwaj18mXXUaP6YJPQ7Ac0Q2KEh2dDDw8Pq66uTqmpqTp48KDy8/M1d+5c5efnW0INkt89iaS9vV0dHR0m5K+vr1dPT4+1xiRphlFERjUyMmK9cEk4+Hw+ZWRk6JVXXlFFRYXi4+O1dOlSq/jDmHGYLJuXftJsSjYBZ/qBsEBVoHvCc0JN3o/wDJ7zhRdesNBzwYIF2r9/fxSX7FIY0gRyZbNipOjIRihH8gnHA6oZHx/XU089pa1bt2poaEinnXaaKioqtG3bNvX396uxsVFTp041tHW4koV5JfLhHly+GyTG/MTETLQQwIHjhDdt2qTy8nK1t7drxowZltAEIeEomF/QK5sZhCrJOEbGgMNx3ba6boELDt91phhf1hAJ8mAwqClTpliSyZWJ7d69W1VVVWppaTEul7A9Pj5en3zyiTZv3ixpwmC4xWHMi1ucA09LNarbES8hIUGdnZ1KSUlReXl5VFSJo8SJUo4NmHJBTnZ2tmbPnq2pU6dqypQpCgQC1uAsPT1dTU1Nam1t1fDwsMrKypSfn2+tG+Lj43Xo0CF5vV5Nnz5d77//vkpLS5WdnW1zCz1DVFVVVaWZM2daPikcDquyslJbt241Z3bWWWdZQpqCN0lWmZyUlKTdu3crMTFRJSUlUUVMUB/sSdaZa6vcgi3WkCuXZJ+4wJL8B7QmQOhIrqPCUBM6ucm6xMRE5efnKxQKKRQKqaGhQaFQSF1dXWpra1Nvb6+dvD179mz7W0kWhqWnp1tbUxr2FBcXq6enR7W1tRofH9eiRYvk9/ttAbI54StBz0ywi0D7+/v1u9/9TuXl5Tpw4ICWLl1qGloSLeHwxBE+GNHh4WGTdqGVZqN3dHRYpzcav4Dw2CQYVSKQrKwsJSf/f9S9d5iV9bX+fe89ve/pjWFmYOgdERWNWECEBPVFYzRHT2IEUzQaNUISI2pQsRsNEoVEY8OIMWDXIEoEDDX0Igx1etnTZ5jZU/b7x/hZ893kvJHfe865Ln7Pdc0lTnn283zLWve6173WN0aZmZkKCwvTunXrNGDAACUnJ2v06NHq6upS//79raKTze0WwbgyJgwJ5x6y0BgDjE1MTIy++OILrVmzRpmZmRo1apTGjh1rSE3qNSRQDKgPCCnXr19v2mOQM4aBoiYWOhdJNI/HYzpxiok++eQTJSUl6fDhwzr//POtLzcREQnZpKQkKyEmWenmI4hWurt7G1zBt54c2rOxJYX0cuGZ6axH+M3hrsePH9fAgQNVV1dnCVcQ6xdffGGNlYYMGWL5ENbwxo0bNWDAAMXHx5sqh3CcHMfatWstscs6A1FjcDCi0HeBQMASeDgtwEh7e7tpwkHw8NAknd2mSiRWaZy1Zs0atbS0KCcnRy0tLRozZoypQ1jbJPO3bNmioUOHmkEDqHV397Zuramp0caNGzVx4kQlJCQoKSlJlZWV2rdvn9ra2pSXl6czzjhDdXV1dhZpU1NTSE9w5vfQoUMaMWKEcnNzVVLSexY30R/RJBW2UKDQbSByWv2mpKSE7FNXpooapqOjw6gmoueT++b8u+u0oD4wWD6fz0Jy9I5ZWVnq6Og9EJIuV15vbxcsScZpYby4QOgYo/r6eh04cEDJycnq37+/hg0bZp6Wtqc0/ybMdpMtrtSss7NTmZmZWrp0qYYMGaIDBw7osssuM++P6oLIAMTMhmTjuBlkt5cCIShGpr6+3r4fHx+vffv2adu2bRbCpqamqri4WBMmTFB6erpaWlo0bNgwe3+Pp7eEPSsryxwJIT3cLAuMhc0Ywv2BHjMyMlRXV6cPPvhAeXl5OnLkiCZPnmxG8PDhw2Z8CwsLbX6bmppUWFiotWvXWtKHMBNpE3QExlSS0SG0tJUU0jw/JSVFH3/8sTIyMlRaWqpx48YZR0rUgoPCsJJUYhxORkzuheGk0TzREs6VKA01AhFIVlaWSSZramqUnZ2t6upqtbW16dixY8rOzjZkFRcXp3fffVeZmZlqbW3Vt771LR04cMBQ5P79+9XZ2anhw4errq5O+fn59i7QN5WVlYZM3aQfkRe5jaioKCuXB/FLfWcXggwxMChC3MMgIiIiQlqyMrbQHlJvN8APP/xQubm58np7WxzMmDFD1dXVZuB5Nwz5RRddFEKrUQfA2vj00081ceJEtbf3HlK9d+9eoxHOPPNM1dTUaPv27broootC+HaAF7UVxcXFFnmvX79e0dHRGjFihJ0FSgOrtLQ005Xz3uRHML44PPYx/Dg5KlQ42BYkqeyL/6sQNRuJzckg0Cuajeqiu9LSUtuogUAgBMWhRd6zZ482b96sQ4cOqaenR+PHjzf+mHagtJbMzMy0sDUQCFirQow0mzsxMVH9+/fXkiVLlJubq7a2NhUWFpqyAhTN72/atEnbt29XXV2d8ea1tbWWQaYhE58L18UmI/NOSPfuu+9aWDpq1ChNnTpVgwcPtlPFJenSSy81Xri6ulpffPGF9u3bZ8mu5uZmS9CC1H0+n8LCek+0gRIAccGVe71e7dixQzt27JDX29tLeMaMGcZplpWVadu2bfJ6vRo1apQhIWSDGzduVFlZmRobG3XRRRdZ1hxEhlMjqYeKBA6S8J8QMzw8XKtWrbLCJnhNNgkhPhuqvb1du3btsu8RunN/jBobCGNO/xGcHgYPeiMsLEx79+61qIFT2ZHQYdRaW1tNGohT7uzsVHNzs5KTkxUfH69zzjlHfr/fQmpK3AsKCuxZCOO7urqUl5en9evXKy8vT8nJycrPz7fIByfHunWLnJKSkszgSL30F4k+HCtUE9V9oEY4e3IWfFZNTY2t3VWrViklJcXaMVApzNjGxMRo+/btqqys1CWXXGIRlSSTEYaH97bEPXDggNatW6f+/ftb0rqsrMwUMTNnzlRVVZVVdiKpq66utqZq3d3dOnLkiP7+979r4MCBCgsL0/r165WSkqIxY8aYjpyogsgCaaMkA3VE/qxP0DHgB+GAq6aB+qIHNtI/tybh39rI/7/G9X/6oi8vF/IWwlc2H+qGmpoa1dTUaNCgQeZV2ZwUYOTl5WnMmDEaPHiw8dogB0I+97w9l3/FuxIO4/kiIyOtZ0RERISqqqo0Y8YMVVZW2sLHAO7cuVMtLS2qqqqyRQffycbPzc1VeXnvIe2E8+6F0iMhIUGff/65cnNz1djYqFGjRqmoqEiBQEAVFRVKSEhQfHy8zj77bNXV1SkrK0uHDh3SwYMH5fV6lZOTY0m6jIwMGweQFl3zcDI+n8946aqqKpNaHTt2zO4zatSoEKSxdu1aFRQUaOTIkSFFG7m5udq3b585gQsuuMAoJTY6m5QWpJJCeoEgu4RH9vv9qq2ttarQxsZGnXvuuRb5YBxJsLW2turo0aM688wzjbvt7OzUvn37bMPjlNlEfr/faKHOzk61tLRoz5492rJliyorK9XV1aUNGzaovr5ePp/PnFpaWpq6u7tVWVlpnPfhw4cVERGhfv36mWqIJl+7du1SXFycioqK1NzcbNQZ0WBeXp4VYblrx+PxaPny5VbR2NDQYMk78hcYDtQbcLoocOgYSBUmjYtI4hIl4MTi4uLMGR47dsyekWirublZa9eulc/nU2trq9LS0jRx4kTjZDHejAdINiEhQbW1tbZ3kENu375dLS0tSk1N1bhx4yyxn5mZqba2Np155pnasGGDGhsbVVhYGBJJgca9Xq/WrFmjyspKTZ8+XXv37tWaNWt04YUXavjw4QbM3AOCm5ubTXaKs2Ndudw4US8gDKorGAyqrq5OqampBgqgVdFcE7GfynVaUB9weq53AUVTpo0gPzExUWvXrrUsPygY/avU17OYxYl8jYY0eMwNGzZo8ODBljkmi084DKqGRsGQrlmzRvn5+Xb/6upqZWRkWLKxqalJpaWlFjInJCQoMzPT9LpSL9KtqKhQZ2enpk6dqgMHDhjXXF9fb4YjPDxcVVVV2r9/v/Ly8lRTU6NzzjnHEq9lZWUqKSnRuHHjlJqaqpqaGos4ysvLFRsba53EOKUG5YWb3HMXJKGcy7VGRkbqvffeU2Fhofbs2aNLL71USUlJampq0rZt2+T3+1VUVKTBgwebKiE8PFyZmZl6//33lZOTo3Xr1umKK64wagLnB1cMzeD3++XxeGxDoEulq2BcXJx8Pp9WrFhhksZhw4appqbG5pb1FB0drT179ig8PFwjR45UY2OjUlNTVVJSouLiYg0YMMA2HBJOFC6VlZXy+XyWJ/H5fBo6dKi+/PJLcxRjxozR3r17NXHiRKPmuru7tWfPHmVmZiovL896qtDzmsq2/fv3q6SkRBkZGRo6dKhFOVKvnLO6ulqFhYU6evSosrKyzECGhfU2zj9y5IguuOACNTY2qqSkRGeddZZx6jhTkCHjR/+L8PBwHT582ApHiCRwevD69Ann/3fs2KGqqiqdeeaZltxDvcT6GjlypPbv36/Y2FiNGjXK2gm0t7dr/fr1ys7O1pAhQ7RlyxZLdp44ccLUFl6vVyUlJba/WlpaNGDAAKMqIyIidPjwYQ0aNEg7d+4MSVxCKRLBbty40Vou9OvXT2+99ZYGDBigmTNn6sSJE//SYx3HDmhx7RMRFkIBHBngkD73yP3chCwcPrkt7NSpqj5OC0MtyTwfE4XuEe8I34TUqqOjQzNmzLBQk5/DJYLCWbQkoOhnu27dOmVmZlqWFiOMEWEQqXTDy6ampsrv9ysvL08lJSW6/PLL7bmSk5OtkQyVUR0dHSoqKrJwp7Gx0ZAJqG7NmjUaPXq0jh8/rtTUVCUmJhoP29XVpQMHDigxMVFlZWWaPHmyGaDjx49r165dOuussxQXF2fcYzAYVElJiaGygQMHWqQAaoRuYqMyVuhIMXgk8EAanZ2dys7OVldXl3bv3m38em5uroqKiizRBK1RWVlpVNTMmTMNwdOcx41qOLGZEJtcAb9PSMnBwxyDVV1drYEDB4aEqjU1NYqPj9fRo0fV3d2tUaNGWXXnrl271NHRoby8PGVlZSkyMlLV1dUqLi5Wbm6uMjMzjX44cOCAcnJyNHjwYAUCARUXFyssLExDhw6V19vbqnbSpElqb29XYmKiDh48aN0Z8/PzVVtbq+rqakVERGjz5s0hpc6UJxcVFammpsbyDR6PR//85z+Vmpqq48ePW4l7SkqKjh07poMHD6qoqEijRo1SaWmpdu/ebVWn7v4hioyPjzdqg++Fh4erf//+IfPNGoFbJekMXYYSqKioyA4aYK36/X7Fx8crLS1N+/fvV1JSks4880xVV1dL6gUmqampOuOMMwyp4hQo8fZ6vSovL1daWppFDocPH9aoUaMMxEFbUYFMC9by8nKtX7/eqlJpvDZ69GgDNZ2dnTr//PMt9wInTxsF7BAVqtCxrs48NTXV6FLXuUHRgaixG9yXyBxax9Xrn8p12hhqjDSVapGRkdqzZ48GDBhgJ7UMHjxYL774ojo7O3XxxRersrLSuEJIfVfNwEDjGd98801deuml2rNnj+Li4qxCEUkcHlFSCBcF30xiJTc3Vy0tLZowYUKIzru7u/dswb1792rMmDHauXOn8vPzdejQIZWUlKioqEhZWVlKSUnRrl271NTUpLS0NJ1zzjnau3eveWYXDa5evVqZmZmqrq5WQUGBhakHDx7Uzp07NWzYMOPXoRIOHTqkYDCokSNHhpR0Jycn69ChQ8rMzDRlgKsPdUueiT4IoTs7e7sYNjc36zvf+Y4aGxu1fv16G0N04qgEUDxUVlYqNTVVo0ePNrSCY9y3b59VlbrVdeh9aRVJ9R9SKU5Bl3rpkdzcXCtXb2trs8KU3bt3KzIyUgMGDLA53r9/v20wDFVxcbE6Ozt1xhlnqLW1VfX19aqqqlJnZ6fGjh1ryorKykp1dnZq5MiRamlpUUVFhYYNG6bGxkY1NTWppqbG9MFZWVkqKSlRW1ubCgoKDHER/UVFRengwYPKzs42PhwgUVxcLK/Xq9TUVEsg7tu3z/prNDQ0KCcnR7t27ZLf79fUqVOtPwWIm7WE0cAYI9+D74cv5hAGdy5QfbjdED0ej4YPH65gMKja2lqtXbtW48aN08CBA61FbU5Ojj7//HNTO40ZM8Z4c7cVaFFRkVGDsbGxamho0ODBg62KMhAIKD09/V+S+Rxui0MhuQ/1gq785JOAiPRAudA6jIfbCA1Qgz3iHjgkohX2V0REb3vglJQUkzeCpAFy8fHxqqioMH3/yfrsf3edNoYaET0ebsOGDcrNzdXRo0c1YsQI+f1+bdiwQYWFhSHhLwkQJgA5EygapLh161YVFBSoq6tLfr/fpHQYJRYq4W9ubq4pUFyE2NnZaSL8gQMHmpSIzXfs2DFNnjxZa9eu1YQJEyyMGj9+vCkaDh06ZOEc1ZbBYNC6u4WFhVkDcqkv2hg7dqxOnDihTz/91BKpLOSGhgbFx8dr+/btCgaDGjFihNEocXFxKi8v1/79+zV06FAzvqAG9yLr3tjYaBlskHlaWpoqKiq0YsUKlZeXa9asWWpublZxcbHNn8fjUUpKivbs2aMDBw4oKytLcXFx8vv9am5utjPv+vXrp8GDB4dkzUHRFAsRykJLgRijo6Pt7LumpiZLXFJMUlxcrOrqavl8Pg0bNkxtbW3W32XUqFH6+OOPdfXVV2vnzp06ceKEhgwZElKe7ff7lZqaasYnOTlZmzZtUnx8vAoLC+1MydjYWO3du1c+n0/Z2dl27mFGRoZV02VlZRmVBlrD8VMD4PP5FBkZqbKyMg0aNEijR4/WRx99pJqaGutzMXLkSI0bN05btmxRamqq1q5dK4/Ho6lTp9pZflwYHCpeMc4YakJ5qVd5UF1dbQbGjZySk5ON+gsPD1e/fv3U3d2t1atXKxAIaOTIkbrooovskGJ06sFgUDNnzvwXtO7z+VRXV2dOhGfNzs5WSUmJ9SPH4dJFEQCAA4EiA5jhTJhD9jwOit/PyMiw/tduH3HXubm6aJLD0Kdw+BjimJgYcyjQNPQwiYmJMaTO/q2rq7MWvIzLv1Mcuddp0ZRp1KhRwffff19xcXHauHGjTpw4oWnTpunNN9/U5MmT5fV6VVFRIb/fr66uLp133nlWKgs3TTgP3wVaiI6O1oYNGxQXF6cxY8Zo8+bNSkpK0oABAyT19aoguYj6gcy924HPLa9duHChrr/+esXGxlrYigazqalJ/fr1s8y6m2DgGKixY8eaPpMMdnp6uo4fP67u7m4rQ1+9erXS0tI0bdo0VVVVafv27YZEysrKNGbMGFVUVKi2ttYKaQj16+vr1dLSYhIuUBuLmNDLbcjDCdJU3FEp6i5EN6zu6enRjh07rHdFRUWFYmJilJaWZmoQDBV0EIUWkmzThoeH22Yg4UKEQNUoiC8yMlItLS36/PPPNW7cOOuYBgLMzc3V/v37VVhYqO7ubqMvCgoKtH379pAioIyMDEuG+v1+lZeXKzc3Vz6fz5xYaWmpTpw4oVGjRhna83r7Wt/Gx8fb91tbW1VbW2tn+dFGlt9HMeL2MoGGIpLCSFBmTIUpWmnGLj8/38rw0Xa7vCloGXURrRncilS3aMjVk7vv5yJCjH5dXV1IAYykkDzRybQhDleSsrKyzGjRgAsHTCUmvZzdhDPJacAMhpbIAcTPZ+Oc3LEBCFDc48o30TcTPVMchcPheVC+QLu4+wknwDiTf8Fpktjmuuqqq7Rnz56vJapPC0M9evTo4IoVK9TQ0KDKykoNHz5cO3bsUGJiooYPH66GhgaTfX3jG99QdHS0VRcyEIQ6rqHu7OzUjh071NDQoCuuuEINDQ3auXOnRowYEdL3gEnAiKECAUnCPbmIo7Cw0Pg3r9er0tJSVVVVKRAIWILSLQt2Q+/zzjtPVVVVJu/Zu3ev4uPjrZMbIV1YWJgqKip04MABHT16VFOmTFFmZqYZEBYmYZ3Uu0GOHDliRTmoECorK01OhUGmUAJHAscbFxdnfQgw1K5BRU/rVjeSSEWDjc5XkuUaMFhUCqLvdZOJNJ5CrYBuldCT+2VlZenw4cPatWuXKRjOO+8820yfffaZuru7VVBQYPRMU1OTysrKlJqaqoSEBNvwINCqqirl5OSYkSI8DgaDio+Pl9/vN/oHFRLJLqgqN8FMgy0u5opxpF4AFUhTU5NFlaA7mvCTHMSRcS9UNxhC9MLh4eEhHRdxCG4/FtY0hsQ11J2dnUpNTTU1FZQUc866Ac0ixSQxB2Ikz0J05PV6rfQcgMRn8nzwuSBX5hQJK/keDCOUHU6D7xOpuVWu7vuDiol2IiMjLWEZDAZDDDWRNfPC+2OooWApZCMpDxgjKqBPjtRbwHXZZZedUve8rzXUHo8nWtLnkqLUS5X8JRgM3uvxeAol/VlSiqR/Sro+GAwGPB5PlKSXJZ0hyS/pO8Fg8Oi/+4yRI0cGn3vuOR0/flzjx49XXFycXn75ZV1++eWqr69Xc3OzioqKJMlQCouFi0RdQkKCEhMTLbv+zjvvaMaMGUpKSrJFzwRIskYsZI1ZWKhEoDTcSWeRg0Z5FrTAbFxCKgwjGxQjjUHCGOGZcQ7u5nIr43g+FiaIKSMjQ5IMyVB2zfvBpUm9pdulpaVKTU21McRAEKJHR0eb08OJwdHxnCA1jALGh2iCDciYU5rNOMPVZWRkWHmtm4V3Nyz640AgoJaWFg0aNEhVVVWGnFAXwMdjxOgTwXx4PB47oon/h0aD7nLLv1EDueNE2IoR4/ugarTv9LhmLBhfjBjyU8ba6/VagyIiRrS9FRUVys/Pt0ZHSCZZV3yhfSZhi+F1x5R1wzqlPQFKIanX2JIjcOVrrHven+pK1+HiHDCiFG5BBWLs3IZS3NPVawOW2GOokJD+UUBDTgXnBWpmrogeQOIoNyhIIdKRZMYVDTwGGm4aR0HU1dDQYHvERf9S3wk9iCM8nt5TyOvr69XR0aHrrrtOO3bs+B8x1B5JccFgsMXj8URIWifpNkl3SPprMBj8s8fjeU7SjmAw+HuPx/MTSaODweCPPB7PNZL+n2Aw+J1/9xmjR48OLlq0yJQQoAa/36/W1lbl5ORYeIXBcSkJFgUIjO+BYkEfoAd4KxaImzBhQlksLDrXSDNm/B4LgXu77TlBa3wGmxdtKhpMFjO8GoUVGAvQjpu0ILnBO7qJEDb9yQiCDl94dsaVvwMJsxnpaOYm+1ylBqE2zgZH4DYGcpNbbmMm3gXjRhtL99gw5oPkDIYMLt1VsTD+FBWgxccguc/jdkRkRdK7awAAIABJREFUHlkfrkoI5wa6dbugMUctLS1WVeseaIvBAHm5jpfeIqwv5sZtmeqOFXQIqBSE7Tof+GSQLgaH9+ACFYP+ON0lEAhYAlDqNdQAEda71Gd8+B7fB1nyuax55pOEIjw98+RSA5IswoCXpt8JGn9X0w1qhQ6j8A0NPvPN/EMtgdQxqjg8nB8Axd0PLg/OvmeNUZEKXehSMDhogA32ISEhQVOnTtXOnTu/1lB/bcox2HvRjy/iq6+gpIsk/eWr778k6Yqv/n35V/+vr35+sedrxIIkACsqKmyQDh8+LJ/PZwUCLAb4SgaKRYTBwVMzMCz04FdVVklJSSELBE6KhUyYxeaWQo0OF4iGSeF+bukui4w+GRhgmsWgJgBZMqFwZK4KxM1SZ2dnG6rEELg8s6uaINGBgcBBoX/lb1jwLD4MOmEg+tC4uDhzajg/N/NNUpafcR83a08Iy/0SExOt4OLk5ArZdbdHOFwo9+L5SQwThvv9fnV2doaEthh0FxWDIKF13LkBEFBFBl+JI2Mjtra2GprnMym4cHlW1gfrHrQLMICbxnhjwEHXUq8BRfXAs1K04xpgpKc4BL7cNcH4BYNB6++CY8LpgiBxcIwJe4QeMbwXv8faZG8CUiSFVIXyWe55kOwZoiuSh3yG286BylkX6Ph8vpDIxb1wmtgFV5boHoSLUXUpPcaTveoWFvGsvCfom2dwI3C47FOlnk9JG+LxeMI8Hs92SdWSVkk6JKkhGAwSD5ZKyv3q37mSSr4ahC5JjZJSddLl8Xhu8ng8Wzwezxa/36/k5GSNHTvWNtXQoUPNO7nhHRvNTbDgIfGqkuw+dOHCMLF5w8N7GzBxcgx6YZAAISqTgZF0ETnJHSaQEBlEA+JkYjwejx1x73p3qe94erLKcI48BxOO/pMNwN8zHlAtiO7de8AlsgHgmWlgxWd2d3cb4qMBE6XL6HGJLIhcuHB4GC3mCkRCT2wq3zBI7hFILm3Ee5EzoHyae5DchdvFWKGqgMPs6uoy+RjzC6dLaO9KLb9av/9iSHBQcMpu6M7ng/qZj+7u7pBNjJMAgMCBEpWAjOlN4faNYe4xQnw+VA33QrsOAmQ9spckWU7H6+09Wgu+3I0aW1paDAmyHpgb9gDOxs3jEAXRDVNSCI/sVj4GAgE7E5JGauwBxoT1B+3JmsQpEwERFbkNpLgAGG4+hzEj8mWMWVtEpHwG1cWgbddZsi74fUkhkXt3d7edsepSYadynZKhDgaD3cFgcKykfpImShr2X/3aV//9r9DzvzxNMBhcEgwGJwSDwQkpKSkWDjIQIK6wsN7WjO6CxXC5bQIZMCaZ0AOeihCQbC5ItqamxjYPXCYDjzEAicF5UnINsgNVcnk8HjMWGAYoClekz0bDabjeGfTD77knbLgUDGEXB52eOHHCCl8Q7tNHmwsZmtfrtbPw3D693FOSoTp3QeEAiGhAGFT9YYAx0lIfheH2hHBbi+bn50vqM/D8PZw3GmM2M2oHQnxJNj5ulMDvhIWFKT8/3+gsntE9iAEqCKPHWPCuGBUcNVQPBhxDwFoFKXd1dRkCJrLr6emxxJWrCsKIY0Bd6aebbHNVDp2dnaaGAAQQbSUnJ5uqhegBLhUuu6enx0J+jDpjyhpD8cEeAcUiT3X5XX6OIQQI4IzghfkcnoEvetIkJCQYusXwsR88Hk8I7Qc4IXpBlcEccW+ABXPOxTyFhYVZIZa7Hhk/KErWtcvRu3QTa4KLlgapqalm2/j7U7n+j3p9BIPBBklrJJ0tyefxeHBX/SSVf/XvUkl5Xz1EuKQkSXVfd28GlNDR5Xho2A4/TSIA5OKGiQ0NDfa3oK2IiAjz7NyDiaKnNMkB0DD3dWU3YWFhSkxMtBakkiwkxvCx4EmCeL29faKponPlgBgFTvvgAgmwADh+jMWGESLcw3GwaGkIz2Lo7Oy0MJQNTojv9rmApkhJSbHED/SEi5pxTBgWt3l7c3NzyJjV1tZaL2iXnoIWIRF0/PhxC//dv8e4g6CYS8qN4T3dzY6xc/MZbW1tqq6uVnJyskkvJVnFGY7VVXu4m5RNyBrgfaE5mpubrfMgPSuIPlwUTWTQ1dVl6DAQCFjbUwq0cMQu0iaaYtzdBPbJXCpz5ya1MKruBU3hgiSXmmOOACzkVtyEYHp6esiZmeHh4aaHBnFjzKHQoOv4cpOhGDqS8hh8chkACqIO1pSb3+np6bGDkNvb20MOYiDRDsgAGbsUCGPL9+DVmWv2GePGM9ADCDDAO7F/SKqzZ0/1+lpD7fF40j0ej++rf8dImiJpn6TPJF311a99T9LbX/37na/+X1/9/NPg1+B7QmjCX8IPV4rDwsUwsTElmeGV+nrtsoj4OYNKJzGSPhgPN6sMv0X4Q2gXCATk9/utFwIIhc1MyEUYiPFmcbFoXdQHIqcnNtQDqE6S9b5g0iWZZKu1tVWNjY3KyMiQ19vXXB0n5FIRjY2N1qLT5cZJrEi9i625uVk+n88QBuEySIaCAIyi23/brRSVeg1hbW2tbZLo6Gjj6aBe2tvblZeXZwjEjZLYTC4/DKIPCwszKsUNQV2eH3SLYSeMZiMhmWItwVez2V3wwL1xPhgQ3pOxi4qKMuQKh8vBA+iqUVOAwHgGHKerMgJIgFKhGNyTRHBkoHCMN/JHHKALhKBlcNisTxyluz5OnDih3Nxc47ChD5kDel9zkrjP57Me7iTmiExJtra2tqq5uTmkqtIFIjgHnh/uHfQKWANJ9/T02Lu7TobTaGJjY1VWVmb7gXXA2iJCZ/3GxcXZeqDYRZKpw3ASLg3Y0tJiSVCqdN3IBQCFeuVUr1NB1NmSPvN4PDslbZa0KhgMvidpnqQ7PB5PsXo56D9+9ft/lJT61ffvkPSLU30Y2i+6yguPx6PGxkbbrHxJffpnvC0LyOPpa9zNwnF1vVJv+N7Y2GjJA1dZ0dDQYN7ZDckSEhLMiZDgY8HhgUFhXBgUN3HIhj/Zf50sOZRkSTZXouRmwFmMUAhsfPhkxocNwkbjPiA2qAAchJuIlGR9SRgjpHDuu7kolGck9MWwuOoDSUarsFndnIQkQ4f0H5ekmpoaC9+JjKB+XN01jjM+Pt4q4lzqAc6WeWATudRDMNh79FhcXJw5ItCZO3+sWWRerDu4yYaGhhAtLxI+xoQ1DVrEUNCS16UI3HwJiTccqItG6ZcBnebmcphLfu5KCsnLREVFWfHW9u3bdfvtt2vp0qXWXgEKCxQMzYbm3OPx6KWXXrJ35BQhN1FOIpl5IIEJWGG9kFeB2+adGIvu7m5D50hZ4e/dfNGQIUNsH+JciBh4X7fwiPUOTejKWVnrvAtggTwW+8ClU93eRa7k8+uuU1F97AwGg+OCweDoYDA4MhgM/uar7x8OBoMTg8FgUTAY/HYwGOz46vvtX/1/0Vc/P/x1n4GXZOO4GuLY2FhDJWwGul7xMzYfAwXtwWZnU4eHh5u0LTU11c44hH8jdKNqCVQPeoZnRBbkht6Elq5kio3tOgCcCCoGEAOG0dWp8n24bjYVJccgbLLdoF638Q4GCwfobnoWOwYFZ0aUwM/plUxRjqtuwQCTgAGpsNjDw3t7TEdHR6uystJ4X1fh4TousvugPbhXCmSIpohGWOyZmZmSZO0F3ASe+ywk5Zg7nCDJXebRpVAwRIwZRj8sLMwiIjrkRUb2dm5jo3IPDCoSPgAIyToiDMYDw0CPcdAtcj4iNxA46xUnhOGDO05LS7N78Gzci7HhFKDu7t7TbQKBgEaNGqX58+frwQcf1Pz58zV8+HCL5hhnpHTkRZqamhQZGam5c+faWHm9XiuKgj9H0ngy1cXvSwqZb3e9hIWFWdQn9SUGXdUXv4/DJdpAWUPUAhfu0j7sB6IuooLm5mY7PYhnkWT9Z4gyXAqGOcIB43ww6qdynRb9qOGF3YsFDrcF4kXrSDgI14ehxxBAXbBJKMdNSEjQjTfeqNmzZ2vLli3GITKQXV29pwrDo9KVjk0NxwVfirHEycBbujpNkAyInA0Cd4qRQvpGAk2SIWP0oZLsiCAcXHd3t51mDVoA1bmJso6ODqOO3C+MOcoV2mmmp6ersbFR06dP1zXXXKMDBw5YmI1DcI2Q28LT1XBjuGJiYlRWVhaiK/6vLlfNIsky7CTJUPsgZwsPD7cEFGMtyYwvc+TytUgJKd4hUQaNAm+L43DRUVRUlDkON7lIRELY7wIHTgth/HGwcKU4QfhrF+VhOFx6jWgTA0a4LckoJamverWpqcnWKWuEOcfIQQ/yjoMHD9a3v/1trV27VsuXL7exw7i4UaJb4DRo0CA99NBDam9v18MPP2zjlp6ebvsAJ8WY0f7TjQhZU6iR3FPCOzs77QgvqBHaJUBDnaxfRzLIfgMR42TdCk9XAUR0Q6RMFODe393XjDmgE7rRVYnhmFmTX3edFoYag+NeroTJpSDoSSz1lam6GVo2L7yyW+Ofk5Oje++9VxkZGbr66qutHBsDRahPWMRnUnjgImQSO7RnJFknyarBUEJERUXZWWmgXlcIT3jP4oEuwHi4CgZJ5oioYOvs7LSeCVJf/1zCLUkmX0IZwhcb58SJE9YMifL9rVu36t5779XcuXP14YcfKj8/P4SGAR3gaF0kQgTS3d1tiFqSNctngTP+7vyzyRjLkxNsHOYr9S74mpoayzmA9sLCehtbNTQ0hHCPGFI+l2QRki8UNByMKykkGQRiA3Eyh65SBUSFs2WDgqzYzCTUXPUMyUZyAIwRc4SDx6DzfPDPgAOSrm6eIRjsPR3cpRBxWm4iNiys96SfCy64QJWVlbr33nuVmJio9vZ2S/AxVtANjGVaWprmzZun2NhYPf7449ZThYpgJKxww11dXeawuJd7sSfZe+x9SbZncMy8N4lfEt7kkLxerxVwobRyhQKoQZiP/6/ELfvepRCJcCjEQgQAoDs5yc6znup1Whhql5jnJRkAjgQCFZGVP7nY4WQxv+sZkfrcfPPNmjdvnhobGzVhwgR5PB5LwLiTwMSxSTCmbAyytSgSCMXgSJlYNj86Ubqu4cFxECTkCE0xEF1dXdbECORCyMkGB+nz+y7Kx2gyflygAbTUbpIsPDxchYWFOnDggJ555hndcsstGjNmjKFpv99vnDaL0Ov1mnNyhf5slEAgYDJAlBCMFxuPzQ5aR42AM6aPN++LY0WFQVUm/CBzkpaWZpIrUBHOT+rrScIYw7X6/X4Fg0FzwGwqSpZpUMVac7X3SP6gBk5ODmKUmG+eG0PPOLLGMARomLkHBSJEj9zLzdGwrnCGdXV1hljRpbvJ78jISA0ePFjXXHONxo0bp2984xs677zzVFdXZ44dx+bmRTjNfNmyZerp6VFtba0KCwvtd1l3ru4c5E5ECy3k0o4kbaEJiUqJlFjvwWDQTkpyI3TWUU1NjZKTk01C6X6eKx3FgEZERBjHf7IyhueCwoKCS05OVlZWVsj7IWckiY6TAoj+r8jz/rcuNjoGGq0yXBaGj0GkaomKKCYaNIrx4N8JCQlasGCBfvGLX+itt97STTfdFMIbg7Q6O/t6YbjyHJCjK/s6OSHAZqQyzzWMbpVXTEyMUlJSDN2S0HBVAnw+KpOTeSzQPI4EuVl3d7dpc0mKuc1iQGutra1mWNLS0lRXV2fHHWVkZKikpES/+c1vdM0112j8+PHGmYeHh1tje6RS8H+ubMoN+ckhYFy5MILQBOXl5Rai4jBd5wm1A5XCmLtJNi4OlsDonThxwhQvOBCMInwmHDvOlHJ29z6BQEBZWVnmGFgbOAGQKZIwNxJiPblAhKo6ft+V8AEUcDyJiYlGX2BYXISMAcJAkcByKQB4eSJGqAfkj+RFfvjDH2rChAk6fvy4Hn/8cfn9fiUkJOjYsWO68MILzRGwZ5mnQ4cOaffu3Tpy5IgWLlyojRs3WjtiqS8CJufEOaOS7L3chDn0A9QmDbBcJROIF5tw/PhxWxescwqiZsyYYcYR5wYlyh7DAbi0jhsBUDuBEsal2oi0eB/AAtEkclvECi6997U28pR/83/xwlBCvrOwkBZJskXr0iRwUiBgt9LJXfTr16/XlClTlJiYqE2bNmnSpEk2oMjDMKbIBNn4ZJvdezI5rqqCBAWLRPrXajHujyY6JibGuMmGhgbjzNBdw3OS6eZyk6pSn6NDq0xPCuR7IEo2A/QAmtDKykoNGjRIXV291XvPPfec7r77bo0dOzYEcZKIRDvOqdNU9oEyaWTjOh4+jw0lyRQVbCZXmginzTtCp4BuGhoaDBmdrKDh366sDi49KipKpaWlNl/MJffl710lEEY1Ojpar732mhYsWKDly5dbGE8SjWgOI5OUlGTRDmcIsjZclI1Th5MGAPD3UVFRKisrs1CbRFp7e7saGxtVXl5uVXuPPfaYJXBdwxwdHW29lYmyMOJNTU3y+/2SpJUrV9q5i/fcc4/2799vRuujjz6y5lUYa6LLUaNG6YUXXpDP59Po0aMNIJH4p1iJue/p6VFpaanNmWu02HsYRuaSgyTgoN3EY2RkpHw+n1JTU229Z2dnm0P96KOPNHHiRJOx4ixJYDL3jDFOg7HEyQSDQTU1Ndnc4FSTkpKMhsT5Y7NwGOS83LFx1+2/u04LQy3JwgEWfkREhHJycizcdSVUaIJBZUwsKAy02tXVpcOHD+vYsWMaP368/vrXv+qXv/ylSkpKjAtjUKEwCK/g4Sg7hnZhYbABMQBIltAy40UJ25koQn/e5WQ+DZoAhEyxCc9IgqKxsdHeHWOD86HIB+UHzgGDQ3FFWFiY9u3bpzPOOMNKW3/9619r+vTpGjFiREjZM/pg7tnY2Kja2lpLEpG4rK6uDpHBuUkU0BLdxuBtQXTQS0RULtWRmJho70W46ypk3HxFWlqabSTmigSkJPXv39+SPNyPTYODY2w5qsvn8+npp5/WjBkzdO+99+riiy/WBx98YNSBGzqzeRsaGixHgpHk/iSPJYW0KnX3gBvl5eXlhYCVk6WTERER2rRpk7xerxll93cSEhLsHD9oj4iICNXW1iohIcEOR/j8888VExNjh8XicNva2uykJVAnifzc3FzdcMMNGjRokEpLS/XTn/7UpHtQQBhTuFryT4AXl2p0zxsEIFAkxvtj9HkO5HlQXVJvZJWenq5nnnlGLS0tGjt2rI4cOWLzBU3V09OjjIwMo2wYN9YLx2exhwBDkmzf1tfXG6ByKVCAEQnkk6XA/1dRH26ChUIAUCehLkksjHhaWpqhMDcrjteLjY1VUlKSVq1apRtuuEF+v191dXUqKioK4crS0tL06aefWpgCRUAy0pX2wTeTiEPuFh4ebgfAIquiaIQewzxjd3e30QcgOb5ORoaSbLG4HDgnxfD3biiHAoKF69IDZP1RlrS0tGjEiBGqrKxUfHy8HnnkEX3zm9/UpEmTVF9fb3OCMcOQkGiB66YdZH19vfr162clx26JsMvFgpShaFyKwI0WCPsZq9bWVqNboEl8Pp+1K21ubjYE2dLSYhw3a4pz/ogIoEAkmdGED3V7B584cUJPP/20brvtNiUlJam1tdVOJWFzRkZGmrbavSd0h3sRFvPeJ2vLXZRHUrGqqsoQt2vMKejw+XxauXKlZs2aZdSb+/nuPsGZoAsGMLzzzjvKzMzUunXr9Pjjj6u+vl7Jyclqa2vTzp07NX369JBWCezdN954Q7Gxsfryyy81f/58S0yTgATB8+W2KXZ1xlCXKFiI/JKSkqwD5X+VfJYUso4AOU1NTXr99deVnJysmpoaffvb3w5JVqLeIlnMZ7IuXLTu9XqVmZlpc4I81t2jJEN5T4wy9waAuMnfU71OC0PN5gAN9PT02OBS5QVKIdxpaWkxMp8kB/diA//+97/XjTfeqLi4OL377ruaPHmyJfU4q+7JJ5/U22+/bXwdkjUQGJl7pHdk4EFcrh6YKjj43La2NiUmJtrGB6W7/BaJRDfJRAIR5ABXiuFE9YARdhcHyTW8dlJSko2rK1dEEtbT09vnYdu2bRo/frymTp1q7yrJjD0Gni5iJFr4TKoTKysr1dTUZAUVJOPcRAyGBvTc3t5uyaqenh41NjZaY3mcE9QCySWXX+QzeGbenUoyeHvmGP6YknmSvaB0xri+vl6NjY169dVX9eMf/9h08Dw7hxlDIyQmJhoN5a4Zog2SdujIoTiIlpADAiKYp66uLmVlZYXw6S7H6fV69cADD6ihoUFnn3228cAYiNraWjOYGD3WBE519uzZKigoUG1trb71rW+pqanJKD8O1Y2NjVVjY6Ml9gKBgHbt2qXdu3erpaVFt956q1ED8P2sUwBIbGysrQ/m3s0lkFwk8vN4PCEtF8LDw+3fjI/LFWPEPR6P8vPztXXrVh06dEhz585VfX29GXsiHtYGLVaxK0RXkozy41g7t10DoI/PZ+1Isj0GLRsIBFRbW2sRDQn4U7lOG0MtyTYpIRJVQHDBoKvIyEhTPrh0hysxW7VqlR0mu2fPHgUCAQ0YMMCOp6+urlZbW5tKS0vl8/mUkZFhIRN8GtVdcHmE/SxAV4Hg9XptEggNCd/YoNyThQuNA5fKxnEXMsoBEj1Sn2QNzhOHhcMDrbqf193dbSXMdJVj07e1temVV17RtGnTzHCxUN0uYBh5nKPbiQ4j5/P5TNoWERFhKNMtncbgoJeGWsBBpqamqrm52Q4BhXLKyspSRUWFScncBKLUp+AA9RBdsV5wZhg9SnxxboS8OICcnBw9/fTTuummm9Ta2mo8M1r9+vr6kJwJmw4DgiEGsWGE3FwH1XyuZtf9Qg3jUmdEX0QOJE9nzJhha4610tHREdKoDA6Vzxo0aJBuuOEGnXvuudaTZdasWers7LTTtlesWKHLL7/cnBMIPCcnR4sWLVJiYqImTpyorKwsO9pM6jsgFq4cXlnq45zRS+NE+B5RCslRosSEhIR/6Z/CenRPa0lLS9M999yjSZMm6bzzzrPELzQMtoQGTG5fm5SUFLMpUDHw466aib1DDgqngqF3C2kAKllZWQYUThYJ/LvrtDHUoCSv12unhvT09FZ8gbLdZCEvimHEGIB43nnnHV188cVqb2/X0qVLdcUVVygmJkYlJSUKBAJKTU3V448/rry8PA0dOlSVlZW2GAhLUlNTTaeJIerp6TFDhAcH+YKqWltbLTtMKOaiASm0n0V7e7uSkpJsY5MsoXcC6g+8eHV1tSIiIpSSkmLIPz4+3jYFxtqVAdFoCmrH1eBu3rxZTz31lJ32fbIm2N1wJPGQHBG+4TBxCPBz8JBSX/EFmxW1AI6BZ3f5ePSqYWFhqq2tVVpams0DBoeLcnroMde4uSXdIFqez0VJUDvZ2dm6+eab9dOf/jQEGaOFx4lWVFSYhJR3cscF9OkmqV3Kg3lwFQzunsAI8X6u84mPj9fgwYP1yiuvqKGhQVOmTLGG+Xw+fDuGyg3dY2JidNlll2nUqFEKBAJat26d7rvvPsuNSL1oEseGNp4e4o899pjuvPNO7d27V1dddZXNvUtx8CwUuMDHU2jEfXl30CdfkZG9vdFRt9AzxhUgxMbGmgFHPbNmzRpJ0qpVq3T55ZcrGOytafD7/UaLUq1LXgr0C0CprKy0RCD5D9YOx4nhMFywQu6MfQZlePK+c4uUvu46LU4hZ2LRnyYmJqqurk6ZmZmWGZf6eCj4I5qtEKKcOHFCycnJWrx4sR566CF1dXXps88+U1xcnIqKikwNkZSUpCVLlmjmzJlasWKFHn30UeNB4TRxCHDArkSPDQf3CT9ORADXRZIQo0GoRK9cqTc8IsyHp4MCcCVX8H0sXEql2fCcMoICRerLnmN84XDdpFQwGNTZZ59tnK6rmOjp6bFCEuYJ7pn+DEiXQGoYMKmvjakkM/gu9xsI9LV7JMPPu3m9vZ0ICwoKjHZh3KCPQFCu8eGZcOrMAwYSeSIoEz6c+SS38Jvf/EZTpkwxPpWCHjYbXfdycnKMz2dt4OBcI+U21odbRjUAbwziRNMMasORcD+cRkdHh7Zv367W1laNHTs2JKcCZcQaYz7cFp4LFy60A4B37Nih+++/32oOaHPw0Ucf6cILLzTHmZCQIL/fr7a2No0fP15bt27Vs88+a8l9V1HCfpVk5eKSDHGCVNljLr2JIWZMMIKuvDEzM1PV1dUWgdHkKDIyUhs3blR+fr4mT56sLVu2qKKiws5kraurU0NDgw4fPqyRI0cqLS1N6enpKi4u1tSpUzV48GClpqaa/LempsbUKm4hFDUd7A0iB0l2Ejn7nncBmeOwTvU6LQw1ho0QgRCWKjKSiVJfggaezk0sJCUl6aWXXtIll1yixsZGDR48WJs2bdKPf/xjQ6E0XmloaNDx48cNlbIR2ICSzJhi1FwJEZI6jBKbkAkj2djZGXo0FMiBpBcOIDEx0Q5PdWVqrjd3C0aIOJqbm5WWlmYhH9wjCTMWD4ub44K4oF8waiA47sHv8veMEUYVlINUj3uBjPh8Nh7InmhD6kue+Xw+64ZHOAw6dct7pT65X1NTk40PzgWJFQaONeIWR4CcXWkcUdH69es1YMAAnXfeeSF6dSR9tbW1ludwdfB0aHNzC64+GuoDms6VgrlyRuYQvTOqGPYFYKB///569NFH1dnZqSuvvFK1tbVqbm628nbGz+PxWIk3ZfMffPCBVXLu2bNHt912mzIzM+Xx9PZ5TkpK0kcffaTvf//7qqmpsUgBpc7ixYs1adIkTZ8+XaWlpdZAisZQOEciJjeqRO5GFONSOfx/dXW1dbGU+oADgIRcwtatWxUREWH69v79++upp55SVFSUhg0bpszMTGVkZOjcc88NKbxpaGgw9RMomNajOCWQNXSdu7+httx9BHiAEXBFCcwJ90xOTraq5lO5Tgvqg5eEi0VmFggEVFlZackZwmb6wSJB42vXrl06fvy4ioqekQ0ZAAAgAElEQVSKFB0drVWrVikyMlK5ubmKiuptWJ+SkqJHH31Ud9xxhzZs2KA77rhDR48etQo5KuDgwVyE4F5NTU0hxTbofOkDgYGJiopSfX29WlpaDM2BajBqHk9vgx6MBmoJqBKQIsoSCmbi4+OVnp5uOlg3XKZntotW3KoyEmKSbNFjCOD5iVpItpHprq2ttXaqkkJ6hmB8oTWgppCpkdxE1YPBbGhoUFVVlcLDw60v+LvvvmsRy8nFJHDzzI2b5MMouIexSn2HILhUB4aRrmnl5eVasWKFvvWtbxkal/qaInV1dSkzM1OffvqprrnmGluz5CEIy0G9aNubmprMmeKMSOTBjQJGWP8AC0n2nnFxccrIyFBycrJWrlyp+Ph4/e53v1NNTY0iI3tPdoEKwxDgfDmtfe3atdq2bZsh4KioKJ1//vnWk8Lr9WrVqlWaPHmyiouLTXKKM3zuuec0YcIESTLdMlWm0G3R0dGqq6szjh26xFVLQKGhNWY/kQ9w8zkUiZAEpCHTxIkTdf7556ugoEA+n09tbW1W3DRs2DDl5OSovb1dtbW1qqioUG1trY4cOWIUCpEXkr3ExEQTELC+oBH5cpOjXG6jLX4GEGNfuC1da2trLWI+leu0QNRMNF6NzRwM9lZewWXBISKzIgvf2dl7RNDLL7+sP/zhD5bAWr58uW677TbjEJOSkvT3v/9d//Ef/6GFCxdq0KBBkqSsrCxLkrFQ4+PjDa2xAECVYWFhtgCZRJIR0CCurjcxMdFoAFdjzGLEY7uVWfCROKfY2Fjr3sffEFVEREQoNTXVkm4Y5q6uLmv7CMLDQLDxQT2SzJHAw4K2SR4RyhGygwyJHECrkkKQKBwvRtZFehj2pKQkQyBtbW3avXu3srOzTU99/Phxcw4gVTYZPCBRAQiNk6mZk4iICENMOAqkV5I0YMAAPfPMM7r22mttHJhn/v6vf/2rRVLkD9ykMJFDdHS0MjMzrQiCxDPcpktNMF7c5+QojWT1gQMHtHnzZsXFxSk7O1vvv/++5syZo9LS0hCDQn/y9PR0e67w8N6T2Y8cOaI333xTY8eOVSAQ0D//+U+9+OKL9sxdXV3atGmTLrjgApWVlSkzM9OoobS0NL377rvq6urSsWPHdO2111qSzK0spNyd6JUxpuMltA1yNYqn3Ko/5o/1DM9PvqK5udlyGVCa8fHxuvPOOxUREaF77rlHbW1tBircfEVcXJz1xjmZVkFZRORI/w+UJS6Fxh6CasOW4ZgQJbhHrkHduk79VK7TBlGDHLj+K40hHCd9pFNSUhQbG6uCggItWrRIt99+u44cOaK6ujpt3LjRtJwY/aioKL333nvq37+/Wlpa9KMf/SgkieN+dXR0KCcnR11dXbr11lv1yiuv2BlthLtuqS8oRpLRKK64X5IZNxrbuFwlaNnl4UG4XCgUKGg4OWyC12byU1JSzKAReoEgSdy4F42n4EsJZRMSEpSVlWWIFiQA4nd1zyfTH6hICHWR1bH4cb6sAcp9P/30U02ePDkkSoHnhgJhw5BQwljA9Z+cqIH7rqysVGxsbEjj9rS0NC1YsMD6wGDUA4HeE3jq6urU3NysmpoadXR06KabbrIQGFqAdQuN4labQhswpm4lLc/LmLnac5xXXV2d+vXrp+9973v6zne+o7KyMo0ePVpjx441pEdCOS0tTe3t7XYYBfmftrY2LVy4UEOGDFFHR4eKi4t19913q6mpSbW1terp6dGaNWs0evRoeTweDRgwwP4+GAxq79692rhxo3JzczVv3jxzxCdrigEtqEh4FwrJ3M6NrhSR8ZD6kqnMJ+OEESdS6+rqbavr8/n0yiuvKCMjQ/fee6/Rfow7+58GYYmJiQbQiGxcOSEOh2cCZBDdQaOBmt3L5/OprKzMkvJErNHR0cZ9s75O9TotDLUkQ42u8gKjQZGES97Dt6WmpuqOO+7QWWedpREjRigiIkL9+vXT6tWrNWXKFEkyHviuu+7SggULNG/ePBUVFUnqq0wkicPG7Nevn2bPnq1rr71WS5cuVU5Ojpqbm603M0bWRahuqSjPSZKMvh4ej0c5OTkaMGCAvvjiC911112aPXu2HnzwQZtA2ovyTISI8LYYS9A0Rj8lJcU+B5RAXwrCVpwIVBObmZ4igUDA9MtI0eC2JRnXyRxJso5hkkxhIfWdFo5uFOeAtC01NdXQNfLDrq4uLVu2TLfddltIgorxJBwFZbEZeF/CS6RTHk9vVSa8Lo6RbmdsoqioKFVXV+uXv/yl0SLwqz09PUpJSdGbb76p5ORkXXfddTpy5Ii6u/uO78LQulQL0jKiAt4FDhfH4ZaOu7JN3pMkIODgs88+086dOzVr1iwzJgAA6EA+n7UZHR2tLVu2qKCgwJzm5MmTrU3AwIEDdezYMV166aVKSEgwhQaRYGxsrFauXCmfz6fvfve7KisrU2VlpTUdQkrHuOFwACq8h9unBiqE9eYmECMjI+X3+633CnMKWPL7/fa5gUBAR48eVXFxsSZPnqyIiAj5/X7Fx8eH9OhJS0vTW2+9pV/96lc6dOiQHYRNviQ6OtoqDkHBPD8ROQ7E7/eHFMhRgQltSHsCoiMMPBQlRXunylGfFtQHyIcN51YFoXRws/zQAmlpafrb3/6mCRMm6NJLL9W+ffsUExOj1157Ta2trZo8ebLJhTZv3qzrr79eW7Zskc/n03XXXWchbHt7uyU8MjMzFRsbq1/96ldqaGjQJ598oubm5pDucDSkQfPNYqGxDVwwYTOJwISEBCUmJmr+/PlavXq18vLy9OSTTyo3N1d/+tOfFBnZe8YgJdOEWSfrjqurq5WSkmLe3/07EJjbx0EKRdsg4kAgYKXjND1CHsmG6+joMGSekpKiqqoqc54k/ThuyZUIgg7hilGOtLe3KyMjQ/X19aYDRzMtSXv27LFObBhT1CY4arja9vZ2S2SCXFk7GGWPx2PVdZJMryspRMN95513yuv12jFtGAeMycsvv6yGhgZdffXVRkU0NzcrOjpaKSkptl7dRHBSUpIpckgkg7CkXhRPCO5GN4wbSpTu7m5lZWWZvOzPf/6zFi1aZAZdUoiyhNC7urraZGu5ubl6+eWXdfbZZ0uStm7dqnvuuUeBQECHD/ee7TF8+HDV1dUZfdTd3VtFGx4erkceeUSDBg3S5ZdfbhQGvV0kWYSH48AYuX102Ms4ocrKSqM/GDdsAYALx44ShDVD7qazs1N+v1/33Xefhg0bpnHjxhnlR1l3eHi4Vq9erQ8++EAvvviiYmJi9MYbbygvL89oNJ7L5/OFjKtro6Kjo83hI81DEsw9sFnsH8bDTfDDuQOSTuU6LRA1oRXelM3BkTqgVFfuFB4erm3btukf//iHvvnNb6qkpMQWzt69e3XNNdfYJigvL9eBAwd0ySWX6G9/+5vGjh1rg8lkx8TEGPd92223aefOnVq8eLEhAJII0ALwUixOuDUWidRX+CD19mOorKzUhRdeqC+//FIXX3yxVqxYEWJkSTiRFIMzd3XMcIWSDNGStGTs2GSEcmxceGQSsqg8qD5zVSMgWORJCQkJVi7vlr2D8En4SrKSefplQwUQafh8Ph0+fFiLFi3S73//eyvwSU5O1iuvvKI5c+ZYkgnNrduch0QiuQSQHxvaDdfRulMtxt93dXVZD4mtW7eqvb1d8+fPN1SE/PHEiRPauHGjwsPDdcstt5ik0O2jEgwGLaSuqanRtm3bdOzYMVVXV9s7wPljfMPDexvWM47uxXpva2szpxEMBpWTk6MHHnhAc+fOtQQoURx/g+FsbW1Venq6Jd7uu+8+DR06VIFAQGVlZcbDw1dnZmYaLcEa4N0+/vhjdXR06Kqrrgrp5+yuf/hkqCiiMzdB7vZvoTERuRaiKRRR5eXlmjZtWsihz26DLejJ6OhoLVmyROnp6Vq4cKESEhKM7yfX8thjj6mrq0u/+93vFBYWpscee0xTp04NacvAPmVNnIx0g8GgVUjidKC2aB0L4CNBDjWK5JZ93d3dbU78VK/TwlBzYZxoYgTP5JL9Um+mub29XW+//bZuvvlmm3xJ+uyzz1RZWakzzjjDpFEvv/yyZs+erSVLlqizs1OzZs2ysLSsrMy8YmRkpBYuXKjy8nI98MADFpY1NDToo48+Mv6VZ4yNjVX//v2Na8WjMhlIdbKysrRs2TI98cQTGj9+vAYNGqT58+eroqLCjA2hGqe8sHDY4HhfEpTQOXDhGFAMDEjBLSFHIsaGQqnAJuczGe9AIGAbhcULPcRmRFpHAyIcgcuzkviJjY3VkSNHdOGFF+qll17Sz3/+c82dO1dffPGFenp6tGzZMk2aNMk2GE4ZOoboyHVmJDld4yL1Hb+E06JgiDFw6alFixZp2LBhRh+A2BinM844Q+PGjTMVAsYXCVZeXp5uvfVWjR49Wjt27LAGYDk5Ocanur2pTy46ee655yTJoiboIjjdrKwsLV++XI899pgmTpyo/Px80x+zDkaOHKnVq1frgQce0IcffmhgAsOybds2Sb0HJXd2dmrQoEHy+/36xje+oZaWFvn9/pCqU6Kvbdu26fXXX9e8efPsBB9X743OnqiJPeIenQbFABXW09Oj9PR0bd68WU888YRKS0tNMBAWFqbdu3dr8eLFevDBB61fDgVKAIKenh4NGTJE9957rwKBgBYuXGgaadZxenq6fv3rX2vs2LG68sor1dHRoSeeeEJTp04NOb+R++Fw3bwVewxaC5omIqKvXzXRL/vfPSDBLT5yE5AY9VO9ThtDTckmoRL8kFt9hAFsa2vTvffeq7vvvlseT28z9I6ODg0aNEj79+/X1KlTTU/6+uuv65prrpHX69U//vEPXXnllaqqqjJDw0JITk7WY489pqNHj2rgwIEqLCw0dDJs2DBVVVVp9+7dFk6T0Hv77bd1//33W3LM7czl9XqVnp6u22+/XX6/X16vV+eee65+/vOf2zFCLS0tOn78uPLz843DdpstSb1JQRrvwzNDRSQlJYUU/IAkyWy/+uqrptl2kSaGgnCutrbWimc4SBYjB7LEWYLa4fHcIhv4z+7ubotoYmNjlZmZqeeff15PPPGEZs6cqeeee842Mk7l9ddf18yZM238+CySca4aBa0rEQESK6mvyg9Hj8PgfWj6Rem4JN1www2WVIOvjIiIkM/n05dffmmhLhIuFDiRkZGaOHGiVq1apWeeeUZXXHGF6cEZr46ODjU2NhpaBIXGxsZq3rx5toGRhcIPBwIBpaen66GHHlJ0dLSKi4t1ww03WATBe+fm5uoPf/iD1qxZo0AgoHPOOcdOtyE6GD9+vHp6enTw4EHdf//9ysjIsKS1Sz/ApcbExOj999/X66+/rvvuu88AiqtSIPdB+T30Htp62gr/8Y9/tKgRiuzhhx9WSkqK4uLilJ6erqSkJKWnp8vr9erVV1/V2LFjNWnSJJOaosKBRiooKNCcOXN06NAhffe737UeOSDkmJgY/eEPf9A555yjb37zm9q4caOeeOIJ/exnP1NWVpY5YrctBfO1ZMkS+x6JWjcJyvokAiDyJ6+GMIDfB3TQ+4d1/39ynRaGGhQq9ZVWsmAIcxiYzs5OPfzww/rtb39rvSaSkpLUr18/zZ8/X+vWrdOUKVMUCARUUVFhiIf+wUOGDDFkhXdLS0vT7bffrsrKSsXExGj+/PnGm4aHh2vDhg0KBoOaNm2aenp6rAAnKytLK1as0NKlS1VRUWH6ae4dDAZ11113qbCwUOnp6YqKitKll15qVARJnM8//1znn3++bWY3ASNJ119/vQ4fPmx/g+yqvr7eylylPmdXV1enpUuX6oUXXtA//vEPRUREqKamxp7JLX9+8MEH9fHHH1vSMSYmxo4ok2RVamzsEydOqLq62sJieGpCXgxqV1fv6TRJSUnKyMjQtGnT9OGHH+ob3/iGrrzySjv09ODBgxo2bJjuv/9+3XDDDYbkCXPJyjNnri4Yo+eGxCQG+TebhxAbiVRqaqpSUlL01FNPKSsryxQdHGSA7OzFF1/U7t27lZaWFlI4k5CQoOPHj+uBBx5QTEyMVblhsCjQcccRvTUG+Mknn1R0dLRmz55tnCtUCBv9Jz/5iR599FF9+umnuummm4zbl2Tvv3LlSnV0dOiyyy7T+eefr/79+8vr9SolJcUKkVhzkyZNUnNzsx3UQN7F7eseFRWl2bNnq66uzvIXcNK8E84yLCxMc+fO1cMPP2zomUK1AwcOaO/evRoxYoT69++v7u5upaSkaNGiRZoyZYoiIiJUUFCgmJgY1dTUqKKiwj6zs7NTc+bM0U9/+lM99dRT1uqYPNDixYvV3d2tSZMmady4cero6FBdXZ1yc3ONmiopKdH48eP18MMPq6CgQN///vetZWlDQ4Np50lKJyQkaOXKlcrJybF9yFcwGAwpaHILmKgadovYqDsAdAJkoKQ4/OKUbeR/38z+9y9X0yvJpEWxsbE6fPiwhVE+n08LFy7UD37wAwuxaRlKt63LL79cra2tamxs1Pvvv6+f/exn8vv92rNnj773ve8Zn4rsJiwsTH/84x8VDAZVUlKiW265xUpki4uL1b9/f91///26//77VV5ermCw98y++Ph4bd68WYMHD1Ztba3ef/99lZWV2cQPGjRI8+bNU25ururq6rR582bdfffdphDo6OhQYmKirr/+egtDmWiqL0l6jBo1ykJvlAz79+/XI488YvpSqbd7n8/n0+LFizVx4kTl5OTYMUqMIWH/zp07tWrVKj3yyCPav3+/FRAQEhLaUjVZVVVldAFFMHy54R2GFiooIiJCF110kWJjYzVt2jQ7XaesrExxcXF6/vnntXz5cnm9Xk2fPl1S3yER8NuZmZn68MMPNWvWLKtgpcIL+oZnIxzn2Sk8waFDWfGsbW1t+uEPfxhyQERTU5NSUlL017/+Ve3t7br++usVExNjlNKJEye0fPlyvfHGG2ptbdX3vvc96/8cExOjXbt2WZTiNmIqKyvTn//8Z6Wmpuqee+5R//79NWLECHMyoMaUlBQdOXJETz31lJYuXao///nPKi0t1YgRI2wOpd5I6+DBg1q7dq0qKyu1b98+TZs2LaQMvKenRwUFBfrss8/U3t6u2bNnW/FJUlKScfIgysOHD+uNN97QokWL1NDQoPvuu8+QMNQTNNO2bdu0cOFCTZkyRc8++6zlEZKSkrRp0yatWbNGUVFRuvLKK43iW7Jkia644grFxsbq3Xff1SWXXCJJysnJUWxsrJYsWaL58+dr+vTpWrZsmaZPn66ZM2dakq6rq0vr169XfX29hg8frpKSEu3YscNA3ZYtW/TSSy/ptttus/qCBQsW2D4hOY96aciQIerp6dFf/vIX3XnnnRo6dKhuueUWi1iwTzhQGlVhf9ySd2gxGsrRrQ+Omm6VJGNPlo/+u+u0UH1IfRI66AiPx6NZs2ZpzJgx+uSTT3TLLbfoZz/7mR599FEFAr3nDmIUMjIy9NJLL6mmpkZPP/20Dh48qIceekjPPvus6urqtHDhQiUlJWnQoEFqbGy0fs7Z2dl66623tH37doWFhWnQoEEaMWKEGayoqCg99NBDGjx4sDIyMmzQaRb0xhtvaPHixaqurlZHR4f69etnRu6xxx5TVlaWioqK9Oabb2rRokWWDccbo04566yzrEwX45ebm6uHHnpIFRUVevjhh61T28CBA/W73/1Oe/bs0YIFC4wjbG1tVUZGhn7xi19ozpw52rdvn4YNG6YxY8YYd9jQ0KD8/Hw9++yzGjZsmG6//XYtWbJEs2fPVklJiYXmcHDQBY2NjUpNTVVUVJRqa2vNycEFkjGHYgBh19XV6a677tLAgQM1ZMgQ3XXXXSb5mzBhgq6//noVFhaqqalJc+bMkd/vt3tDe8TGxurBBx9UMBjU1VdfHXKiM8UTKG+gPqBS4N+Jcph31AX79u1TVFSUkpOTTS+OFG3t2rUKBoO6/fbb1dLSoqqqKgvTFyxYYMh8/Pjxmj59uurr65WZmamPPvpIH374oWbOnGmVjSDRP/3pT5ozZ46uuOIKffDBB7r22mu1bNkyK8hKSUnR0aNH9fzzz+sHP/iBUWabN2/Wgw8+qPDwcFOloAx67bXX1NbWpl//+tdWQcqY0Cq4trZW1113nT755BPTvLsUVWJioj744ANVV1fr29/+ti666CJdddVVmjlzpvH75HHovPj3v/9d69evN7BAolmSSktLtXXrVmVnZ+vKK6+077/yyisaM2aMjh8/rqqqKv3iF79QaWmpMjMztWvXLr333nuaO3euFe4cOXJE+/fv18UXXyy/368BAwZo6dKlGjNmjPbs2aPFixdb/4w9e/YoKytL2dnZmj9/vmpqavT+++/rvffe08SJEzV69GhlZGSooaFB5eXlamxs1IEDB7Rq1SqL8q666ip1dnaquro6JIkPvREdHW25MDpRcgGAkEoibqA/CjYlNTXV6Bv2zynZx/8RK/vfvAi/CCm7urq0cuVKawl4xx13aNasWZo7d64kGU1CeBgZGakNGzZo5syZ2rlzp+6//349/vjjFkYVFBRo3rx5Fpb6fD6lp6crLi5Of/nLX5Sfn6/y8nLdfffd1ma0p6dHzz//vNatW2dqAHg8j8eju+66S/Pnz1dra6uWLVumqVOnWsctr9erQ4cOKSMjQ2+//bbuueceM5YUO1RXV+uLL77Q7NmzVVZWJo+n7yDf7u5uvfHGG2poaNCcOXOMAigsLNSSJUv0+eef66GHHjIDQN+J1atX66qrrtILL7ygMWPG6Pzzz1dcXJxKSkokSfn5+Xr88cd1xhlnaNiwYSouLtaXX36ps88+25QI8M3oj+El29vbbYERMsPfsWhdrvizzz7Ttddea+fi3XzzzWpsbDRpIU34f/KTn6ilpUXDhw+3cBPDW1VVpXnz5hkn/MMf/tDQYHZ2tvWVIF/gyjxRQNBqEqUCiEaS3nnnHW3atClEhxwVFaVjx47p2LFjmjlzpurr61VaWqq0tDRFR0dr6dKlVipdVlamH/3oR4akSktL9c477+jWW2/V2WefrfT0dFMX5ebmKikpSUuXLtUf//hHLV++XP/5n/9pp910dnbq6aef1rZt27RgwQIVFBQoIyNDd911lxobG/Xee++ZWiU+Pl5vvfWWvvvd76qgoECvvfaaqVuQraI2QGJ33XXX6Qc/+IFuvPFGm+empiatXLlSy5Yt0yWXXKLvf//7ysjI0K9+9StVVVVZ98mIiAjbS8FgUC+88II+/fRTPfDAA5bXQDbX0NCgJ598UhdffLFmzZqlrq4ulZeXa+fOnYqLi9OhQ4cUGxuryy+/3PrUbNy4UevWrdOPf/xjS7q2t7fr+eef14033mjR0qOPPqqbbrpJr776qn77298qEOjt79zV1duvG6RfXV2tnp4eXXvttf8vdd8dHmW5bb++TPokk8ykNwIBgtKrSFFUEBSknENVkCJF4KAgKghHRKmiFNET4KBIlSoiRaQjRYXQO5IAIYGUKZnJpLeZ3x9x7bzh3nPk/u69z+P9nicPJJnMfN9b9l577bX3KyfP2Gw2yU1FRUWhQYMG6NatGwYPHix6fhWAqEVUVEupvX/4cwIaNVfi6emJ8PBwAQhUWXGd8vlojx7lemRErWmaDsBZAA/cbvdLmqbVAbAZgAnAeQCvut3uMk3TfACsA9AKgA3AQLfbnfbv3pscGgCpEvr111+RmJgIu92O119/HcePH5fkVElJiYjZ/fz8RIjfokULzJ07F6tWrUJ2djaCg4Px3XffwW63S8IGgOiLFyxYgGbNmqGwsBCvvvoqvL29hVvasWMHioqK0KhRIwn9mA1npWJ2djZycnLkfDYK8g8cOACDwQCz2YynnnoKjRo1Qk5OjhTuZGRkYMGCBWjdujW6du0qyhOG3ydOnMDt27fRpEkT1KpVC4WFhTCZTJg+fTqsViuWLVuG3NxcGI1G0RN7e3vj0qVLuHv3LqZNmyZKEj8/P8TGxiI3Nxdbt25FcHAwDh8+jPfffx9DhgzBmjVrcOHCBWkjqRZaMIvN8/nI0bIIhIUh1IjGxcXB4XBg165dyM3NxaBBg7Bnzx4cPnwY6enp8PHxkZLlBw8e4OOPP8bx48fRu3dv5OTkyOfZbDaEhYXh8OHDqFOnDm7cuIF58+YJalu2bBlSU1Px1VdfoaCgQKIJtUSfaJqyP6o5aMio42XjJbPZjNDQUKSmpiI4OBjDhw+HzWaT6MbpdOLcuXNIS0tDeHg40tPTpV0BKz83bNiAJk2a1DgYlwfAJiUlweFwYPny5UhJScHdu3cxadIkXLx4EcePH0fz5s0xZcoUZGdnSwJtzpw50Ov1WLx4MTw9PbFu3To0aNAAXl5eGDhwIPLy8tC/f39kZmYKevf19cW5c+fQsGHDGsenMT+zfft2XL58Gd7e3mjSpAnq1asnY1hRUYGLFy/CbDZj7NixNY6Bi4+Px4EDB3D+/Hl4e3vjb3/7G6xWqzj24OBgXLx4EUePHkW/fv0kGV9QUACDwYB//vOf8PPzw/Dhw6UK0NfXF9u3b0ejRo0wZswYaZbGiNnHxwcRERH45ptvYDabMWjQICxevBj9+vWTDpZUkag5DDr7nJwc0aTzooSTr2Oy2cvLS5LM6noh6qURJzhQe4QwOcyxZh7F6XRKD3MPDw9p2UwkzrF9lOu/gqgnArihfL8AwBK3210fgB3AyN9/PhKA3e121wOw5PfX/duLCgdWJebn5yM3NxdZWVmIiorCjh07kJmZifLycjllgci2srISv/zyC8LDwzF79my8++674q2CgoJw9uxZdO3aVSYHqO6LfOnSJdhsNlgsFvTs2VNol+zsbFy5cgV2ux2RkZEoKChAbm4uMjMzkZycjOXLl8PhcCA2Nhbr16+XRjafDb8AACAASURBVOt+fn44c+YM1q1bh6CgINy+fRtDhgwRYb9er8etW7ewbds21K9fH82bNxetbV5eHpxOJ1JSUnD9+nUUFRXhlVdegU6nQ1ZWFubMmYPS0lJMmTIFaWlpgsIo43rrrbcQGBiIlStXoqSkRGR6LpcLe/fuxdmzZzFz5kycOXMGXl5e2LNnD/r374+8vDzUqlVL+huosjo6KDasUg01+5tomiaHDGdnZ8PtduPw4cOoqKjA3r17MX/+fNy9e1fQCMeqf//+8PHxwffff4+GDRsKfQJU8ZW//fYbkpOTcfPmTbzxxhs1GrRHR0ejR48ekoug0WXikck2oIoG4eZiuMnzJnNzcxEXFwcAgn7DwsIQEBAAq9Uqen7KPH/44Qe4XC5cu3YN06ZNg8VikaTz0qVLcenSJQwYMECKZUpLqw7hZb+ZoqIi/Pzzz5g3bx4yMjIwffp0xMTEYNSoUWjcuDHu378vRUa//vor0tLSsGDBAtjtdty5cwdPPPEEAgMDERMTA4fDgVatWiElJQVGoxH37t3DqVOncOjQISQmJgrPz4ZQfn5+MBqNuHr1KsLCwuDv748HDx6IgeF+OXLkCHQ6HZ5//nlBf8eOHcPixYtRq1YtzJgxQySZPj4+cDgcOHDgAI4dO4auXbuirKwMbdq0gaenJywWC3799VcsWLAAzz77LIYOHSoJ8VOnTmHLli3461//ivj4eNy+fVuiNFb0jRkzBpmZmXj22WfRv39/OZigYcOGiIqKQlBQkNRfsOgkLy9POGGVO6bum+iYPUbUz+T/1c6GrKEgUFFloTT2lGBStkn6MzY2VpA0i7ZYDk+u/1Hpj0dC1JqmxQLoAWAugMlaFfx9DsArv79kLYAPASwH0Pv3/wPAtwD+oWma5v43roMDwv/rdDqMHz8eLpcLLVu2RGpqqshbVHkQdcOlpaX46aefsGTJElmApAUyMzPRvn17fPvtt6hXrx7i4+Oh1+uxbt06xMfHo6ioCC+//DKys7MRGxsLo9GI/v37o0ePHnjyySexfv16XL16FcePH0f//v3RoUMHKVT4+eef8dRTTyEgIAAXL17E+fPn0bJlS7Rs2RIXLlzA119/LWcmFhYW4sKFC7Db7ejQoQMOHjyIxx9/XBQJQJVRWbNmDby8vPDKK6/A6XRi1apV6NSpE1577TUkJSWhVq1aMgYulwv79+/H6dOnxXjdunULgYGB8PDwwLlz53D+/Hl07twZkZGRePDgARISEhAfH4+ff/4Zn376aY0yYF5UPBBZcxGTP/f395fXMzlbUFAAk8mE8ePHIyEhAbdu3cKIESOQkJCA7OxsREREwMvLC//4xz/QuHFjdO7cGVarFYmJiTWKYciRr1+/HgaDASNHjoSPjw8SEhKQnJyM6dOnY8aMGahfv7403CkqKhLkSgPCEJZ9r6nD5aZjcpGN9pnwo+qoQYMG+OCDD9ChQwe0a9cOo0aNQsOGDVFRUYGQkBDExMQgJycHMTExGD16NAYOHIiNGzciNjYWRUVFOH/+PFJSUtCsWTPR71ssFunYGB8fj4yMDNHqq5WnOp0OH374IdavXy9OlwVNRIcBAQFo3LixKH9iYmIQFRUlf8+qytLSUoSEhIjqh4dhqI4LqEpMfvnll0IfECQMHToUPXv2FLVDUVERJkyYIMUeer1eJJWZmZno3LkzPvvsM8TGxiIsLAw9evSQXhyRkZFYtWoViouLMWLECOTl5UmJOmVrVDxxDhnleXtXnUnZpUsXeHh4iEKH6h/+HRE2GyyRxiN9R/qLaJw/Y0TPJLWfn1+No/To8Im2id5ZKs5mYSyM8ff3R25uLsLCwqS3D++JCXBVx/2HNvhRoLemad8CmA8gEMA7AIYDOPU7aoamaXEAfnS73Y01TbsK4AW3233/99/dBtDW7XZbH3rPMQDGAEB0dHSrPXv2CD9FtExP9/vrJdRQyz7ZLSw6Olq0yiw39/T0xLZt2+ByuUTaxATBoEGD0KBBA1itViQlJQlvPGPGDCxdulRKnxMSEpCbmytVeOyRQSnapUuXYLVa0b17d5SUVJ3I8sYbb+DZZ5/FoEGDpN3knj178Nhjj6Fbt26YPHkyevTogbi4OOHkvb29sXDhQtSqVUtafgYFBWHy5MkoLCxEUFAQhgwZgqSkJFitVhw/fhwGgwEDBw5Eeno6tm3bhqlTp8LpdGL//v24fPkyBg8eLOcnmkwm5OXl4fz58zh48CBmzpxZo2c1u8FRUUDlBg0YjbWKqmmogeqeKQcPHsTNmzeRm5uLRYsWCYL19/dHUlISxo4di6CgIOTm5uLKlSvw9vaWst+CggLEx8dj5cqVOHPmjDi6oKAgzJgxA8XFxUhKShIkyyhG7VrIzUk0yfuisyQaZLg6cuRI7N+/X6KzO3fuYM+ePahbty7atm0Ll8uFgIAAPP300+jbty+OHz8uyHr79u04efIk1q5di5s3b8JkMmHv3r2oVasWEhISpLCB0QdLmtX+MOSANU2TxLCHR1WbAEo6WVBF9PYwEnQ4HPD09JReFAAEyVGTTxUMQ3VGT8ydZGZmYufOnWjRogWio6PRpEkTmVe73S70F99DLQgqKSmReSJapOSuXr168PHxwZkzZyRhz8ScxWIRQ8jnYnKQigo6E46VmqBTe4PQ8PKgZQoTON9sKUAQwvehdpygj8ZaraalgaVsU600pVKI9onvySInGnBSROxVwzqGF198EVevXv1DovoPDbWmaS8B6O52u8drmvbM74Z6BIBfHzLUe91udxNN064B6PaQoX7C7Xbb/tVnNGvWzL1p06YaXBKPXGKShKEGFwmlNmxvmJGRIQkxGhByktxsasnuyZMnsXXrVnzxxReIiorCRx99hHr16qFv377QNA2//fab9HAoLy+HyWSC3W4XLpCTSF6alVWapsFut2Pq1Kno1KkT0tLSMGjQILRu3RoulwvXr1/Hxo0b8fHHH8Nms0km2eFwYPXq1RgxYgQsFgsSExORl5eHgIAASepRG8v+BgyzWIG2atUq1K9fH08++aREFGwIFRYWJqgkNjYWDx48kEXscrkE+Xt7V59yDtQ8f5BhIPtH0KlynNmVrE+fPmjTpg3efvttuFwurF27FkVFRRg1apSoDBwOB3788Uf85S9/kYWdkZGBDRs2YM6cOejWrRvGjh2LXbt2ISEhAaNGjRLqIzc3V4qAqPsFqk84ZzUjtbfs55GVlSWompvRbDbj6NGjUqTSuXNnyeAztLdarXjyySfx/PPP4969e1I8snDhwhq9RUiTkBenEySapXKC1Ymk/Eh3qGXUbKtJqkDV/asIjtpnf39/3L9/HyaTSY5UYz8adiQsKyur0TSMYCM6OhovvPACJk6ciMWLFyMpKUmoLxq4oqIihIeHS1MvqmmoL46OjkZmZqY8E9cIozDKLNn8KzIyUuoWVEOtIl6OH/eY0+mUyIn5IjoO3i/ngnaCe6ioqEjoLRprns/I8eTrmCNgRaTL5RLKRKVDKBnke9DmkBUwm81Sms9CKxbuMfLp3r07bty48T9iqOcDeBVABQBfAAYAOwB0AxDpdrsrNE1rB+BDt9vdTdO0/b///1dN0zwBZAMI+3fUR9OmTd179+6VwefDMhStqKiAw+GQXhycIKImJggo1yIfBVRX13l5ecHpdErVlZ+fH/7+97/jypUr0Ov1+Oabb6SDmlpezI3FySGKYzKEVABpGU5YZGSkbCabzYaSkhKEhoZi7ty56NmzpyQf9Xo9dDod1qxZg0GDBsnBqqwGpBohMDBQjnwiQmavXzoTSofY91jtAEfUQRka9cVEktwIQHUhBUM4JulYPk4UxUIB9mrghqtduzZ27NiBX375BQkJCejXr59sdqLawMBAXL16Fbdu3UJAQACuXbuGnj17IiEhAfn5+VImTSTKvAJLfWnci4qKpHKNiIeJRLWalYaU0RYAeR+1lSWfRTWWmqYhOzsbjz32mMgV/fz8kJKSgpiYGElIqYkrokbylbx3jhe/WEXncDhEHkgkzvtWux/yc2jIaIxY/cYqVfVEFaCqajUoKEjWKY1ZZGQkJk+eLL2lo6KiJC8DQCro1F4dLDx7GNWSw+WRZip1pvaKIern3mEkqra/5fxwLjkn/Dm76DGyo2ZfpTIYiXDcuYYI3oxGoyQv1d4lbC9RXl6OgICAGmNJxK4mL5lQZoOyvLw8sT88qILjxP3J5+natSuuXLnyh4b6Dzlqt9s9DcC0343WMwDecbvdgzVN2wagH6qUH8MA7Pz9T3b9/v2vv//+yL8z0rxU3SsRIo0sDRMNODcGPT6A/9DDgZw3EwPqBmX575IlS5CXlydFHpmZmQgPDxdNM9GXxWIRPjMwMLDGaScs+SWyoQO5d++e/D3DnhMnTojInp37vLy8sGLFCowdOxYAamxEygHDwsKQn5+PiIiIGq07mT1WM9UAJGHxn/FfalMZTgtP1eGmpvHnuKo9I9QkleqYOM4hISHIy8tDfHw8OnTogPLy8hoNoNRkS926ddG4cWMYDAb0798fWVlZUumVm5srY6lmzIncaTjU7Ls6x4wmyE1zTACIw2VZPMeKRpKnntAw8PmtVqu8T2FhIQwGgzxTUVGRJLmBqsZUTqdT7plOhYlNHx8foZtIF7DbGqMARm4qB/9wj3I2SWIxBY0jOXoaDDp6FlrQASQnJ8NgMKBFixZYvnw5OnfuDIvFAqAK5PB8SRq/h5NfRKfqRQeonn7Oz+Y+p1PjPPJ+CID4PhxLrjEaVIIURiEPjwkPiOb6IZ2qlnpTOWWxWCTRSB09UOVsWY1IBQ/vjc6KEj6iare76uALo9EITdNgMpmQmZkJo9Eo98cxzM3NrZFz+3fXf0dHPRVVicVUACEAVv3+81UAQn7/+WQA7/3RG9G7kw+i5+ei5GRQ/kJkQU0vwykaDoaKRJBEelwUNLAZGRk1pDmBgYE1wpOCggKR5an9Z8nNARBOqrS0VDarn5+fNI9h8YHBYMDly5fRp08fAJATkI8fPy7okYaJbTuZaWalHREe+Ucabf6fmmK+nhuG70v5X1ZWlowp34PFIkQdpA7Yu4DcKcfL19dXkorqpmSFXlRUlDQO8vT0xIkTJ3D+/Hno9Xp5PqfTiby8PDx48ECKDPjcRJMOh0M2BD+Tz6LKOjnmdDbh4eGyecjzMiHGcVTLpmkoabDJexOR84RqoPqILCYCadjZ7Y7rgi0IuL7YOZCVsZwnJqm4xli8w3J2GhHq7EkvUJNP8MJiJL4Hy7kZEfn5+UlUSY7/yy+/xJw5c5CdnY3u3bvDbDbLHuAaIPXAalqCKdILjH5pyBn1MopgB8D8/HzExMSIFJD3ynwQowpyvSryZIn2w9WAAKQakM5djSpUjtvT01POTqVTpjOl5I4tccvLy2UvE3CRwyZY4OG8dJDss859QZCiVoky+lZprEe5HimZ+L99NWnSxL1jxw7xtDwGi8aJG476SLXJCflhVX7Hzau2oSSNoCYd6An5uWxiwyQMnQOTEEB1hzNuSKIzolBW8ZFT9/T0FH3m8uXLMWvWLDHKpaWl2LJlCyZOnAiHwyEOihuNi4jPww3B8JyLlwoG8sZEkqRRVGkSnQw3o0ohMZkDQCow2QiJm4PPRMdAh0iUrPKfqpSP2nW+DxUMpAjoYJlMooGiISspKZFewUTQDxcicLNx7vhzHntGw1tSUiJKGzpDRgikI7y9veFwOITHZ3Mjhr2UgPJ9eP9cE6SGOJ8cD+Zb3G63KB0KCgqkpJmGiEafJ9uodKAamZDScLlckvRWDYCaBOba0DQNjRo1wuzZsxEbG4vXXnsNo0ePxpw5c8SJcS54Tw6HA2FhYTKnHAOuD1IErOLjfZJuUhE0I14aUOqt9Xo9jEajtGpgNMREMduacu2Sbw4JCZEom46Ja4q0jNpzw2q1IjIyUqJIrmtVfaQ2qeJ9co8zEUzBgwooOVe0P2oeR6WwePXu3fuRqI8/RWUiFxPRJOUvHBwOIhc8EY96Jh7lS6rhKCsrk5apqrdn3T1REZEiNx3lanyt2g+b6Eiv10u1IgChE3jUjrrxjUYj1q5di+HDhwOAVC5t2bIF/fr1k3J1PguzzA97W2bouXhUWR/1owAE/amN9pntp/GgGsRgMMi4cVwpc1LHnw6dDo0bgckmtaKQFAmjHo4njTPpCSJZRkaMFBh6UnqpaZq0k+V9EOXQ8JPrBapbsrICjGXXJSUluHPnDjIyMmo4Ht4HkRKjKZ46QxUB51SVkJE+UTXo+fn5klTkmDA6IY3CZJaXl5dECTy6jRpsNTlOKozAQ6X/eLgxtdIAZLzpmPis3t7eiIiIwNatW2G32zFo0CAcOnQIAwcORGZmpnC2BAd0iLVr1xYjxeflqUvsDkgtMRO1dJienp6yPoODg2UsuZ4B/AcFC6kyXioVSB47NDRUwIi6xykHVCm6kpIS0d1TjcEzS1W6iwlhzifXKSk/OguuC3Vc1dwBUN1XnLaJjoxoW6UY/9BGPtKr/pcvPpya4abYnh6KIX5FRYUoEohQVBqCk0JtKkuYOWgMpYgMysrKJNRh9pihk4+Pj3wWHQUpEofDIRlv6nKJDKxWq0xaaWnV2XRutxuNGzeWU2QOHz6Mbt26ITo6GgCEr6Zx0TRNDC5DJlY4kRtVe9qqaFjl4tRkIg0LDUBlZaWcFE3jQf0oFyRDNqINhvTq+YqqEoCcIOcMQI3kLg0U51VFXGFhYWIEuZF5scqM98GxpdTK07OqEb/NZpNEk06nkza2mzZtwtGjRxEfH49jx47VSKSWlJQgKytLxpLrhOuJVaXcgOR/iWzVRBW5VnYR5DwwwcRNTxUI1xWjO46Tv7+/oGauLbVqlI6A35NOUp0iq+vUjm+apsFsNks3PqfTidu3b6Nhw4YwGo0IDQ2VOWRClmohGmGVeuTv1fYK3IvMX7hcVc3TuD/IW3Pu/pWigl90Vpxv5jGY+FejQFJQFotF7oH3xbkioGGERISsSu5INRGoqSidAIhR58NUDPevCmaY7Ge+imzBo15/CkPNhcvsL+U97DxGxENDwBOkibaYyVbDG3LRbOfIvhSqd2SSiYuPG1E1Mjk5OTAajQgJCZFJsVqtCA4Olg3IMExVR1B9Eh0djSNHjqB9+/ayIG7duoXc3Fw0btxYDGFxcbFkvrlo1HJUhpMMQ4n+SMtQ/sMNQ2TBRcqNzzFS35t0g4rqaCQYzvHeafi5wYBqdMu5VLP0HF8iF1ICNPq8P7fbLc6PTpYbl602aRweRtOUndFwMBLy8/PD6dOnsX37dgwePBi9evXCrVu3xGHSGen1eqHQOEYqZRAVFSWUB5+RfClpAp4gowIAhuE8ZJlqAjXhzTGgAoIbmQhNnWc1wcs1TqOsRj18vYrIaXAMBgP27duHp59+GiEhIfjll1/QpEkTWCwWuFwuabXrdrtlLXIuAEj1MKNWXtyfjBqorqJRZFKU9+dyuURiSk4eqO5xzbHlOJLu5HphAp2RCiMjlVZgtEvgRTABQNYJE9Dcw3QSTPYGBgaKA6V6Kzg4WHIMnAOuJ1UhwvtltMH1zMiQEeCjXH8qQ00ERHSoyp4YdqkSHU6werKEpmkS1ldUVMjviLLKy8tlQdHwEFlxgXJAvb29ERQUhMGDB9do3sPiER8fH0G9np6e0jCcxo8a2gcPHqBPnz7w8PCQ46ZefvnlGmGTqjKhVpp0CJ0LDTUNqypBZL9j9pVWeVfqgRk1kOPlhmfRBVEgnRDDM+pT+UxcnAAkvFX5UzXpS36Xz8A58PCorupiaEinwIQL6RSiGyouKB1kr2WGpKrKxmg0YufOnaisrMS4ceMEVf74449o37695D6IUsmJqjpYdRNSkkfagcVCdOpmsxlAtRFWHRzvn+PNtc6/ZQtRjqdq5PPz86W9Le+RiJQRhurkKyqq+pTTgXC8WQxz7do1OBwOvPjii8jPz8fVq1fx+OOPi5RQdaZqsQwds7+/v6wvVYFCGoYKKuZg6MD5GlXRpP6O86+uFzpmGjmV/y0qKhIVDpOeHD/Vrqj9X1hzQdWQyhvT6ZD6YcUq7Q4dOte5mi/j3lQjCJUiU6Nlrl+uoUe9/hSGWn2AoqIi8f70rCo1woyyWhFENMuLemMaViJcUgFEdEA1JcKwlRvR398fly9fxt69e/HCCy8gODhYeG8iLyJsoh96bi4AHx8f/PTTT9KXQtM0rFmzBsOHD4fFYpEQiVy22+2G0+lEdna2hImqTKu0tFT4S25wLhJubIvFIuiXxpzPR5RJ461ufPZJYMhPJ8Z7U2VIRN/8niEdn1/9XLfbLTpoOjRuIFUHT0qJaJ/ZdgDCG3LOONeUu9Exm81m6PV66b3x2GOPoVOnTtJffMeOHWjRogUqKytlPnm/wcHBNeRxNP5A1YanVpvolWuFaFh1fEB1q1WiOrWBP8EAHSF5eRpKfgaBQ0BAgEgx1S6BZWVlCAgIQEhISI2zAiMjIwXUqAZMr9dj/fr16NGjByorK3HkyBG8+OKLojq5ffu27C06vodzD6R4KPdTjZNaIUpnxcQfgBrcOhO6pBE49qqkVM0Bqf02CGbIdzNvRKUKhQOsROZ4ca5oW1TJIw06aQ81ElHPGyUFyWdQpYakO9jC4WHnSwdGu/Soig/gT2KoaeRoXBg6EeXRiNEYsB8Ef0aejBNCg060pxY0UC1BB0AExY1Dqc6aNWtw9epVvPDCCzh9+jQiIyNl8akDzMQTpTlEFnl5eXC5XDh9+jQef/xxlJeX4/Tp06hVq5a8j1qOzu8pdSN1QhTMCTYajXJGGxEP70Ov14tKgPdJA89MNkNlqlKYiKHciKcs09jzYgFOcXGxqCHI6TKMo86VTqCwsFCcAzcRuUiGyuQQabA5X4yOmOBk0o18OHMHnM/g4GChuz744AP06dMHzZs3R1FREUJDQ+FyuZCcnIxnnnnmD9cjjSlPNVHPECRfr1IhAOSgC6BabUTaLj8/X5KOap6EPCUdLTc055qFTpS4ARCZHOmyysqqEm/OF50aUTvXWlBQEHbv3o3WrVsjJiYGJSUluHr1Kho2bAiXy4W33noLq1evRmRkpAAPVsQyCafy00zm8eJ+5e8Z0fn5+Yk+Xg31ySWrCVquc/Xiz9R1TtDFtcH1QXksD46NjIyUNcnIjWoide+r0ktVJ04HReqFUYtqt/hFB6LmvahZZ70H1zadHhP1j3L9KQw1PS29l8lkkgSdmm2nJCwzM1O4S3WTA5Awkhl7Vd9KzpuJF9II3Ix8z9TUVHh7e2PkyJFYunSpNIiicaEBI9+koggAgkJPnjyJdu3aIS4uDnq9Hvfu3UP79u3FmNJA87NVgw1AtMmq7I1yPy44NTHncrlEysbECjcqjQ8A0aqSQ6ZKg2jC7XYLBUXO2mazCRInyudFtGAwGIRfJo8bFBQkSIt6WSpj6ICBar05JXs0aGz0T4RLxMoxKi0tlfYAgYGBmDhxIj744APExsZKr2IPDw9pQUoEqzoNUlxqhERjyfLnnJycGlRTQUEBsrOzhUKj0aARYwc/GgoaThqesrIyGWOuayI0Ri/BwcFiYMj1sme2KofkuiQgAaoMDsP40tJS6fncs2dPeHp6Yv369fj000+Rl5eH8ePHIzExESNHjpQyezURTZqCa4w0TGVlpfRuJzgqKysTJYjD4UBRURHi4uLkzEmgOtlGZ8WoV90/RL40ppx/IlFvb2/ZByqAYjTs7e0Nm80mslUa9qysLNHUk7NmgppzzhoHABIpkb+mk+TcqlQpgaKa/FVtF2kXNTL+P6X6UKVRLpdL+kfTE5GfYoZWPT5IXVRMJnFwNE0TbpDH2dOocbLJRZGDOnXqFH799VcMHz4cN27cgK+vL5o2bSp0ifr3Hh5Vh9dy4kjFeHt7IzY2FmfPnkWnTp1gtVoxf/58DBs2DPn5+SgsLJQQkrwnk39EHf7+/rDZqtqjkAv38vKSPr1EYuQWyaUVFhbK5qUhZohOw8TDDbiJo6OjYbVa8dlnn4mT4iImVcIiDXLxpGxUnt/hcMBkMokBVhNg/BmVJKRduNHoSIhkiertdruE/6QTyGUCQEREBAoLCxEVFYV//OMfePfdd2E2m8VgxsbGYvny5Th37hxee+01aJpWg28mvWA2m4VCASAJUKJDUhNEfF5eXjCZTLKGVV23mkQlyqUBVnW5VJPQWdLA0FDx74nMGWESrXL901DxXml0qKKKiIjA8ePHMXXqVDgcDuTm5sJqteLevXsYP3489uzZg7179+Kxxx4TCozPyKZiao5B5ZDVKj6dTgc/Pz+EhIRInoBGzmaz1fh77hWVaiNgUJNxassC9tmh4VUjTyJ+om0W5/DUcO734OBgBAUFiRPgGjWbzdKylvtbzX9x3ZJSpUHnz4BqeolRjXrR0RE4cE/9nzLUAET2wgVBtKCGxtzgDF3IqRK1cNJUjayPj48gKJW7VSVVQFW4eunSJZw7dw7vvfceKioqsH37drz++uvIzMyswdsSjXPTqZuHGys5ORmhoaEICQnBqVOn0LdvX9y7d08oGm6mvLw8kduxmRA3q6p4IUJiUoLcMieaoTgNOkMtbgguFI4JUOUgTSYTVq1ahf3792PgwIFISUkRLl5V0VRUVPenoHFjgolyPBo3jgf5QtJVHC/14iGflKoxiUrDTTQOVCkOqPumUeJp84sWLUL37t1hMpkkkuARbampqZg9ezZyc3NrSKtI5agVdwBkftmHhXPGdUhUR/4UgGjametQDTWjFOrlOTZeXlU9yjmX/ByCC6fTKQ5T5VFV2o+RCBE5qxHpTIODg5GUlISQkBBpz5qUlIRPPvkE8+bNwwcffIBbt25hwoQJsFgsoi4iUGKPHZVaYetYOhzmiThfqnSTRVVqFEfZGpuk8W+Z41D3liq/JFqmAbk3UAAAIABJREFU/FF1tAaDQaoAVX5f/XuuJY4v55P7oHbt2sjNzZV1rirKSFsA1U5ZTQzS7hQUFEiRmXqxvYBaNc3I4pHs4yPa0f/VixNNg8oH4YJn2MIBYWUfwxp+MWGmbiCiTLXkmJPIBCUA2Gw2XLhwAaNGjYLZbMbXX3+NNm3aiGyKf/ufZW/5+URSpaWl2L9/P3r37o2dO6taoISFhdVoA0n+i+EUNynvy+Vy1VCvlJSUSEKJBpoGmYaSRl1Vr3B8Wdqt0+nkWCW9Xo9NmzahVq1amDBhAgIDA1G/fv0aCSugOltPvlJtVsSFTmfAnwOocR9MMBJFqfkEbgpKoVQ9q5ptZ3l8aWmp9Ljw8PDA/v37YTKZ8Nhjj8FqtcpGunDhAq5evQq32426detC07QalYSenlUnT6uJOHKG5MdVKoqcPkN8tRsj+VxSEnTGdCxUBNGw8nsiOwKPyspKSV7RoAEQ+Zj63kSdLL8n3xoQECDJ63v37uHOnTty5NmPP/6IIUOGYN68eejbty8aNGiAtWvX4plnnoHRaERgYKBEnzS4zGsQ0dLBcDxVnl1NqrOtAhNvHGPuSVZUMoLj79S8DQ0/UBXl8KxU0iiUAxIte3h4SK7o4ehXlYxyzREwETEzIiKNpK4JFeRxjfC9eP+enp4wmUxCceTn58Nut9eIOEh1qnTJH11/CkOths8PqxTI7ZDDUvlgIsaHN5hazECjRqSjUgAMY3U6HTZv3ozRo0ejvLwc2dnZSEtLwxNPPAFPT88aITAX6sMJLx5bVFpaKiGsTldVNt24ceP/oAl9eLKYXFB1lrw/Lhz+nEk4AMJ/sViH0iomRyh3opEvLy9HVFQUdDoddu/ejTZt2qBly5bIzc3Frl27EB0dLfw3oxA6AG4ObkSn0yn3wo3BDDyfi3wqK8PUJCh1vvwsonUmP4liVBTCjUWe32w2o6CgAKNGjUJeXh6MRqOcrr1t2zYEBATg3XffFe6cBozJVRpLNYJQIzlykkTINJ6qYsPX11fyHqrDpHROnVMaYX6xpBqocuZ00uTJGWFVVFRI61++njRQSEhIjeiLCVej0YjPP/8cffv2RXp6OgICApCeno7bt28jJiYGzZo1w7Fjx9C+fXtJ0qmOkrkKAIiJicH3338v45efny8JT5WuIUJW9dQ08jSSnp6eAlq4drkHiJTJ59MhkKumbFCtOOU+48+pmlFFCABEveTt7S2SOQIxOhKV++f5nCr4CA4OluiChluV5nl4VB0lx4QzUC1uYORAe/ZwruffXX8KQ03+iANFlKGW2qraZ7XCiJwQADEanHR6MPJkqkHx8KjqOGYymbBo0SKMHj1ajvlasWIFPvnkE5lI8uH0wERZbNQSGhoqiJE8+l/+8hd89tln6NixI4KCguS+GI5yIXNy09LS5J7IVzIRSi6dDo39hYHqVpCkT5gQpJGktpUhN/ntzZs3o1mzZggLC4PBYEBQUBBSUlJQv3596WJGw6tuPjWhxjJ6GlYmNqlGIAL38PAQ/p0bl0do0akC1b1MiLJp5ImkuTkYtVRWVmLNmjXo1auXOFMWZHz44Ydo3bo18vLyEBwcjOvXr4tBYRTAhDUTWjSaXHcARCrIBl1cm3w9Q12OMYAa4891yhL2h1UNcXFxNfqucNwfTkjpdDrJ3ahl/v8ZJcUCHFZitmvXDv7+/vjmm2/w/PPP49SpU+jduzeKi6tO727ZsmUNLljNbxARjhgxAqmpqTAYDMK3q7QhoyWOAYtBeHl7V52KrhZ4MZ/D3BQ/l6iVlA7nVqUYAgMD8eDBgxpUR3Fx1ak2quqGoI8UG5O8lZWV0muFSfKHaYyMjAwUFBTIvvfy8pJjzQjQHm55yi9y6UFBQUhPT69hu/ga2r5HspH/FYP6v3mxgED1OOSzGCoTnRA98otIiEaD7QnVsnBueKJaoEr9sGTJEvztb3+D0+lEQEAAvv/+e3To0EF6hJAbJophKMbTrdkvgBxnaWkpNm/ejG+++QafffZZjUMFyOsybPfx8ZFihvj4eBkHoLrfiMFgQHFxMcLCwsRIVlZWipYTqNooPBqJPCENEQAxcOzDnZGRgZCQEEELWVlZWLRoEYYMGQKbzSaGCKhuNkQEwkXJTcr3VrXNdBCUKBFBcxz4flQ7sEiCFBJ5bxpHJlpZLVZaWtWI5/vvv8fw4cNr0GKhoaFyZNnZs2cxbdo05OXlITw8vEazJ/KUpGZU1E7lAh0R6TSG2FQp+Pv7C6KiwSCfTtSlUjhE3tHR0UK7lJSUoFatWrLWaNiB6vaqTKTRwfBffjb/Tk2ElpeXY9++fRg8eDCys7ORmZmJOnXqYPny5XjnnXdQVlaGQ4cOoWPHjjIfNCTUS+t0Oty+fRtz5sxBrVq15KgvRlfkkYmS2YeanDvXjMtVVdzB9sCkJIg4CcrYD517S+XbVcqRAMpgMEirCe6D3Nxc0b3T+FdWVkrBDyO94uJiWCwWcd4UIahrMCYmRkAZDT6dDyNWRgSkrigRdblcop1v0KCB7CWn0ykN4dQc0x9dfwpDTWNLI6N6GRo0l8slsi7qD+mBH94UJpNJvLG6SXjaA6V7mzdvRqNGjeDh4YHw8HDk5+fjzp076NWrl6gY2AeDSRYinKysLBiNRknSsftdYGAgfv75Z4wZMwb37t2r4VBoBJhsoIGIiopCVFQUPD09hdMsLy/HnTt3cO/ePZl8FQHyi+OmNsFRqQ+WlZvNZmhaVQXdhg0b8Pzzz8viu3DhAsLDwxEfHy9jp1YLcuOTEiDdovZPUX//8NySb2QSSL2IWDlHQPWp9JTNkeJirsLtduPMmTOIiIhAfHy8jGNAQAD27dsnvTu6d+8u4TPDWyL/0NBQZGdnA4Dcn/oVEhIi7QeAak0tqRJ+BQcHi4FS34v0BdExk2Dbt2/Hrl27pCpw586d4pTZvVG9mIPgMV5AdU8bRmgBAQGSlNQ0DeHh4fjyyy/RoUMHCd9v3LiBo0ePYsiQIdLIKSoqCvXq1ROjT+ecn5+PunXrYtu2bTh79iw++eQT5OfnY+DAgeI4AdTIH6kXjTQjjYcv/p7VpqrOWZXJAdXFU/w8VU1RXl511iLBGCktrgcCBpXPfjhPQMdNukida6J/0l1c7xx/f39/BAcHi9aadQh05OqaVS++3uFw/N/iqBk60fAwKw5APKhOV3WyBjP19GREGCriJfdTWVl1Xh9DIR61k52djby8POTk5KBjx44ycJs2bUL//v0leUeUzIkhsvH29hZ+7MGDB4J2nE4n8vPzsWbNGgnBWIGn8tncZP7+/rh37x6GDRuG1q1bY+nSpZgxYwbS0tLg5+eH0NBQ1K5dGwBkoz7cP0FNwnCcCgsLJelCoxceHo6goCCsWbMG8+fPh91uR0REhIxlr169UFpaCpvNJpWEql5WVYuQh2dhgSpj0ul0MJlM8PDwEFTD5JGa0CQSo2aVlAWRKqOfgoIC2O12iWq8vLwQHh6O48ePo23btmIMuBmOHTsm0UTr1q1lzL28vCTU1TQNK1euREJCgnweE4N0+larFdHR0aJcoYFgnxmW2pP3djgcEs3RgLpcVX1ZyHkuXLgQAwYMQKdOnRAQEIAGDRrgiSeewMWLF+F2u2E0GqW1LfXyjCpIlXEdc92rySmCnFu3buHatWt46qmnAADr1q3D3bt30aVLF4SHh8PpdGLdunVISEgQB05E6+XlhZiYGAwaNAjR0dF47bXXMGvWLFFCkaIkPRUbGwu32y0KLDpti8Ui9AzHn2NP8QDXABs1mUwmiQb5OyJ8dRwJZCjTI5Wi5p5UvbqKclUdNtcli7yYDOb7qM6CXDmpKap/mHdR2y3TmKv1ErRB4eHhQhGp8s4/uv4UhpoPxkIBhk/e3lU9mRkiM3xn4udh2RgXEvnC8vJyacVIb0gp1qZNm9CvXz/cv38flZWVctJFREREDSkOP+fhzyJa4us1TZODOlmpyIQTEQN5V71eD7PZLGcCDhkyBGfPnsW4cePQoEEDhIWFSQKRzogcppr1Vx0bUQpbhRoMBvj7+4vsze12Y9myZejatSuAqqTInTt3cOLECfTo0UMWmKrkoBHjvTN0NBqNEiJyczJM52Km0VJVLHwvtTKLErSAgABxzkzskAv09vZGVFQUnE4n/P39sXHjRowYMULe09fXF/Hx8Rg/fjxCQ0ORn5+PSZMmiWSTqhcmow4dOoR+/frBaq06b5lonEiR75ufn4/IyEgYjUZZPwQFXEusHmSOQI34iNxZuv3mm28iJyenhpSNDp6UHmV2pF4ocVMTc3QmFRUVsFgsEiXwNd999x0+/vhjGI1G3Lp1CwUFBbBYLGjTpg2ioqJw4MABjBw5UlQeBCMEO7Nnz0bv3r3Rr18/vP/++5g3b57w6zSglMLSuDNnQmPM8m6uEfVgYVJbrOAlBWK322G1WrF9+3ZJ8pHmoNyQe4KfyT3FMyrZl4N7g6cX0aYQuDHxSwqKe5rzqsr51GpPjlF5eTlyc3Nr5AXomJjnoBKIwI/yPdqyR00kAn8SQ60aBfbIIKJg5p3ImnwWPaZK4NN4UIHBkJ1l4SUlJUhISMDGjRvx17/+FZWVlXLg5a5du/DCCy+grKxMjshhApGcLHlSoLpvwMOZYoZKNNDMWFOg7+npifnz52PLli0IDAzEpEmTULt2bZG9+fr6St+JoKAgeWZeaqJEnXgWmrDkmI6Gr7t79y4yMzPRpEkTFBcXIy8vD2fPnkXPnj3FmDGpxiQe58DHxwchISGiKVWpG6IeNfxk4QeRA4tlmHNQHR4z4nQSjIQ4tyaTCSaTSSoat23bhscff1yKm+x2O8LCwjB69Gg0bdoUhYWFePrpp8WZMGxlw6o1a9agTp06UmpM5MSkMceL95SRkSFokRufzoacf3FxMYxGo4y7KjEtLy/Htm3b8Oqrr6KsrAxGo1GoKn4O1SBEdKyWZVTn6+srhT1EaOoaczqdCA0NhcFgwKlTp+DhUdUK12KxYMeOHcjKysKnn34KTdPw1VdfyenqOp1Oyq6J5BcsWIBnn30WTZs2xZQpU7By5UpJjnJ9MEpjXx6uSwBSAMNIj5faBpW0HNcP131BQQEef/xxDB8+HH5+fjhy5AjWr1+PlJQUGI1GUdHQZjDSo6KmoKBA9jP3iBr9ERkzgiaKBqolwtyjNNZ8Hx+fqoM4AgMDa6wFVVEG1GyRy+ci5UIFVl5enuRyHvX6UxhqPiQTiCT7GWLQYALV5cr+/v6CMhkKMqFDfoqIWtOqqtyMRiMOHDiAoKAg1KtXTzjlXbt2YeDAgYJg+K/dbheDzwQTJ4KIgAuU/yfaoEyIG4GLZcmSJUhMTERRUREWLFiA4OBgREZGwmKx4Ntvv8VLL72Et99+W5wTE3D03ADkpGkAqFOnjmS7VX0pFwpRyJo1azB16lTk5ubCYrHgwIEDGDhwoCR7gGq+mI6HihkemcXFyrGlsQWqEDolSJQS0tgRybJwgIaMm40GjVSRmnvIyclBZWVVEyWz2QxfX1+hNEpLSxEeHo7Vq1ejfv36Qo+pTbCIlouLi3H8+HEkJCSgXr16gnKYtORa4vxRZRMXF4eIiAg8ePAAaWlpgtzIUZPbZXtQFuxwXPbt24cXXnhBUCDDbK7zI0eOIDExUe6Xjo7c/P3797FgwQJMmDABb7zxBgYMGID4+HhR0xC9UY2wf/9+9OvXD/7+/liyZAlKSkowfvx4lJaWYt26dahTp44cEk2OuKSkBBEREfj444/Rp08fBAcH48SJExg/fjzu3LkjzYUA1FAq1a5dW2SJ3CM0ajxomAaQ+Qs6Gf6Me7usrAyhoaFwOp0ipezcuTNGjx6N3NxcXLlyRcAcHZSaXGTyjnJBtYkX75tROueZEQijExpoImGVWqWzYhdK8vqMFtWCIAoiCJoIFMvLywXZkxZ81OtPY6hVo6SGOGqWWeWZaSgoXeNGqKioqJHAKCwslM5sGRkZ+PHHH/Hmm29KBdJPP/2EwsJCtG/fvgYqZqjC9qhqgkBF0AxbKyoqRAJEo0m5HzWe77//Pho1aoQrV65g+vTpsNvtcLlc+O2337BixQq8/vrrmDt3LsaOHStKCqIYLnomNd3uqmqsWbNm4auvvsKCBQsEvXIsdbqqVp3r16/HX//6V+h0Opw9exapqakYPXo0cnJy/oPkS9WiUsXCRc3fs0KSPX35c25EOlI6SSZ3iJYDAwOFl6SMS9XRq4k75gQKCwuxe/dudOvWDVlZWdLo6dy5c3J0k9lsxsCBAwWtuN1uhISEiMQqJSUFrVq1ElqJqDQgIKBGLoIINjQ0FGPGjMEXX3yBgwcPYs2aNZg8ebKMj6enp5yxR3REORm5WaPRiIiICEn00tAQcZaVlUnoTd6T9NIvv/yCVatWwc/PDx07dsT+/fvRrl072Gw2OJ1O9O3bV5K/JSUlSElJQZ06dVC/fn0kJSUJJVSvXj18/vnn6NChA5544gnRb5NPjomJwXvvvYeuXbvi7t27SEtLQ7du3WScVE6YOueFCxdi7NixUiiiIlAAguoZHQDVXTLZN4PIlOoHRtBcRw6HA2azGT169MDmzZtlP3J/UkXFfaKCFNUIMmdFWo5JPpaSqzRERUWF7F9Gi3QmJSUlUpTFvcXIVdOqzm5lglBVplFHT4UOULO68VGuP4Whpmejl1RPPmCoR4/MpA4nk8aOEiBNq64+AyDNYIqKipCUlIS4uDi89NJLiImJgclkwoYNGzBx4kRpLsMvAGJA1Mo0o9EoE0Ujyq501EczZKW6xN/fH7dv30ZQUBAuX76Mjz76SCREycnJuHHjBubMmYO33noLjRo1kv7ApCT4XFxwZrMZAQEBGDx4sBzIO3bsWAkpGW75+/vDYrHgzp07ePHFF/H5558jISEBTz31FDIzMyV0LygoqKGoIeJgLoAyQQDC6XFzqHQHkSI3p0pbqYkh0hhAtRRLre5iSK22vdy6dSv69OkDl8uF+Ph4lJWV4ebNm9i0aRPi4+Oh0+mQnZ2NxMREWRPl5eWw2+24f/8+Fi9ejDFjxoiTVVG7xWKBr6+v8KgGgwGTJk3Cnj170KVLF/z222+ii8/MzBQj7+HhIU6LxoNcvcFgwOLFi9GlSxfJV/CZgKoQ+Z///CfGjBkjeRM6dE9PT0yYMAGFhYWIjIxEkyZN0LZtW2RkZAia3rlzJ9q2bYu0tDTodDpERkbi888/R//+/bFp0yakpqYiLS0NM2bMwLRp0/Daa68hMjJSwBCdbEREBGbPno0GDRoI5/rEE09I8pXyS0ZTdrsdS5cuhb+/P+Lj4zFnzhzs3r1bQBWjYToC0lZff/01Lly4IJJHnU6HrVu34vXXX0dMTIzQYBwbNk6iE1KrDunUaA/YmbGyslKiQDa9YlUypb88aYYcMqN2qqZYiMO9wc9gvolRIQ283W6vUbDEBmFqQynel6qeok7/US/PP37J//5FhKgK7QGI1pK8KPsOeHt7Iy8vD0FBQTCZTDV0uZQeqUqS6OhofPHFFxg0aBC2bNmC6Oho6HQ6vPPOO+jTp48k4KiDpKEhR3r06FEcPXoUer0e3bt3R1xcnMjNSBFYrVap1gKqddAFBQW4ffs2bt68CU3TMGXKFFy4cAEpKSkIDw/Hk08+iZiYGCxduhRNmzbFsGHD4HQ6hYMlZ0p+l6hrzJgxmDt3LgoKCrBhwwZBJETTrOhct24dXn31VcyYMQPDhg2rUVVHY6tpGrKzs2WBEiXRSLtcLtGnMtmo0+lgs9lE10yuV9WdEj3T4DJcZ+jr4eEhB7hyDpxOp8jM6GSvXLmCVq1aCU957949eHl5YcWKFWjVqhUsFgvOnj2L5cuXo6KiAhEREXKwgK+vL959913Mnj1b5FaMEEgNsUsh0c7SpUvRvHlzZGdn49q1a1i9ejUsFgsyMjJQr1496PV6iciI3PPz8yWxqdPpsHHjRgwaNEhUGyyMqKioauz/7bffYvLkyTVUO76+vkhPT8fWrVvRokULZGZmIjY2Fk2bNhXpWnx8PBYuXAhPT0+MHz9e9M/79u1DixYtcPnyZTmtZfXq1XjzzTcxa9Ys2Gy2GlQJ1/vmzZtRWVmJn3/+GR9//LFwtDy5iDkh8tmffvopGjRoIJx+79698euvvwpFWFxcjMjISNy4cQO//PILvLy80LVrV7Rv3x7nz59H69at8dNPP0nZ++zZswV9MvkcGhoq4+bj44N169bhxRdflPVKI838AAAx3syjhISEIC8vD4GBgfJZ1OwTGTMnQdqJVaM6nQ45OTmyF7jeVYqOSJhAg/QIk/pE0pxfJszJqRMEPbKN/J80uP+/F29ePcWCki9yVpRDUR6lhmNA1USZTCZBTGqTnQsXLsBkMqFDhw7yeXv27IHD4UD79u2FWmGYeufOHezYsQNffvklbt++jeeffx7vv/8+mjVrBrvdLt7dw8MDy5Ytw5dffilZaPJtNLDe3t748ccfRYqXnJyMdu3aYcSIEXj66afh4+ODgwcPIiUlBW+++aYoX/jFDUGpoU6nw9ixY/HVV18hICAAa9asweLFi2tQD15eXoiMjJQGS6mpqZgwYYIsJvUipUL0oKJNKkqIINXogZpvAJJHUA9noLqFCJM0ECVNNBosPiFXyM6IKre5c+dOPP7449LzwWQy4fPPP8cTTzwBDw8PWCwWjB49GjabTTZeREQElixZgiFDhmDs2LGIioqqUV6vVocxkvD19cXChQuFVjl58iQWL16Ma9euQdM0bN++Hf369YPFYhE5HSMrHs9EB2C1WuX4NTo+o9GIq1ev4ujRoxgxYoTIIEkXBAcHY9u2bWjTpg0uXbqETp064aWXXoJer0dISAiSk5ORk5ODiIgI9OzZE5GRkcjOzobRaMTp06dRUFCAq1evori4GImJiRg9ejRGjx4tZdakoSh3CwoKwrlz52AwGLB+/XrodNUdKhmmMydjtVqxbNky6PV6dOnSBampqZg0aRI+/fRTPPXUU4iIiEBmZia+//57rFy5EgaDAa+//joGDBiA4OBg7Ny5E4mJiZg+fTpCQkJQp04dDBo0CJGRkTWkfcwzMFe0detWxMfHIzExUcAc+WGuN1KTjNwICkhx8DXM21COqeqkaeQ9PDxgtVpFZaRWRDMnwjXPRlD8fO4N0lys0qWjUwUDan+gR7KR/x0D+z91cTGQC6K2k5SImilVDYkqjGdoyfCFVXF5eXk4cuQI+vbti9zcXGRmZiI0NBTHjh3D9OnTodfrERAQgOzsbGzevBnz589HrVq10Lt3b4wePRo6nQ4XLlyAxWLB6dOn8dRTT6GyshLXrl3DO++8Aw8PD7Rv3x4A5HRuOgg/Pz8sWrQIzZo1w927d7Fs2TI0atQIDocDDx48gE6nw/bt27FlyxZMnjxZEk1qMgqAcJIGgwHvvPMO/vGPf8DhcGDOnDkYP348zGazcHc0rDabDb/88gsGDhyIpk2b1qi6o3FWk7hc5Ey4sDiETpHJwdLSUqE+6BS5IAHIazhHNA4mkwk6nU7OuuNCZmKFfLiHh4ds1IqKCnz11VeYPXu2bDK9Xo/bt2/DYDDAarXC6XTixRdfRK1atQSJ16lTB+vXr4fRaESzZs3QsmVL+V15ebk0PyKi5rNt3LgRcXFx8PPzw7fffoulS5eKbtZqteLMmTPYvn27UD4845E8vZeXl3RL7NixI8xmsySZ9Xo9PvnkE3h7e6Nv375CnZCrDwoKwvTp0xEWFob79+8jLi5OnBPHom7dukhNTYXFYsFzzz2HyspKGI1GWCwWmfMePXogIyMDLVq0wIoVKyRZyApRRg9OpxPvvvsugoODMXToUIkG8/Pz4XQ6ERgYKI3EcnNzMW/ePHTu3BmzZs2Cj48PIiIicPDgQQE2a9asQVBQEIYOHYpXX30V3t7esFqtCAsLk+fWNA1JSUno0aMHtm/fXqPdKefX07OqRcL9+/exZMkSdO7cGW3bthVqhf3ROX6qKoron7JUctoGg0HmgftTBRzk1qmtBqpyW+zEWFBQgIqKqsMqVEknK4xZKUxQQhBQXFwsSXZGAmoTMu67R7n+FNQHAJHUqUkITiIVHZTCUL/KHgE0Ttw09NCenp7YuHEjxo0bJ3zvm2++iW+//RYhISH44YcfYLPZYDKZ0KNHD/Tt2xd+fn5IT08XtFheXo64uDisXbsWvXr1kvcMCwvDmDFjsHXrVjRp0gR2u12kScHBwXjnnXdgMpnQvHlzJCcnY8mSJUhJSRGOrqKiAhs2bEBOTg7atWsnHCnVJJRw8Xh7vV6PtWvXYuLEiUhNTcUPP/yAmTNnilNiw/fAwEAsXLhQaJfBgweLYoXZclIkQNXJJOfOnUOdOnVqJA2plGA4SySq6nipcKBzAar7rfBimGi1WhEQEACj0Yj79+9LsQ2RCivE6Ah8fX2xbt06DBs2TGgXRky7du1CfHw8XC4Xbty4gVatWqGyshI5OTlITEzEu+++CwC4f/8+VqxYgfz8fNhsNpkf9qmgwQ0PD8cnn3yCmJgYZGdnIysrC4cPH4bVaoXL5cLRo0dx/vx5NGjQAFFRURJpcEPSYbFXR0pKCl566SXhwGfOnIkBAwbg9ddfl3BY1SRHRkbitddew3PPPSf9oGfOnInr168LnXTgwAFcvXoVt27dwty5c3H16lWZp/379yMtLQ1JSUl47733MHjwYDRv3lyKTvhFfffcuXPxzDPPwNPTEy+//LIg++joaEmA+vn54eLFi1i2bBmCgoLQqVMndOzYUQ6kfeONNzBt2jQkJSWhuLgYTz75JCwWi1BAdCL//Oc/UVJSgrfffhuBgYHIzMxEYWEhwsPDERoailu3bolx49o4ffo0EhIS8NFHHwklx4IuRq102swpqeX2nAtqxFXZIyM5HqvG9g9cCw/nywggyU+rvXSrKM3AAAAgAElEQVQ4f6rCBaju30EFFQ0z+W4Cokc10gCgPcqLNU1LA5APoBJAhdvtbq1pmgnAFgC1AaQBGOB2u+1a1d0uBdAdQBGA4W63+/y/e/8mTZq4f/jhBwmb9Xq9NBpXdaOkQNRz1mgw6F0BiJH74IMPMHXqVKlIiouLw+7du3H06FF89tlnMJvNkjRja0+n0ykVadTeTpo0SZrShIeHIzo6Gnq9Hn//+9+RlJSE0tJSZGVl4cyZMygpKUGPHj0QFhaGKVOmICoqCs8//zxq164tJa/fffcdTp8+jWeffRbp6el4++23YbPZYLPZ4O3tjVOnTklvBaAq4tiwYQMqKiqQmZmJJUuWoLi4WJIhJpMJaWlpWLduHcaPH4/atWtj/vz5eOONN6DT6XDv3j3h02nsPDw8kJycDIfDgb59+8r7UU/LMJTrw263ixbVYDCIXI8Ll6iPRSlqD2CG25pW1aTp5s2buHnzJi5duoRVq1bBbrcLIvf19UVkZCSmT5+OadOmITs7G6GhoRJhfP3114iMjISHhwcuXbqE/v37IyEhAUAVohozZgyWLl2Kjz76CMuWLUN5eTkyMzPFqDEi48b39/fHuHHj0LZtWwQGBuLevXuYN2+eVGYeO3YMZ86cgc1mQ9u2bdGlSxcAqLH5XC4XwsPDYTabcenSJRQXF+P8+fPo0qULOnbsiPv37wuQIAAgDaNpGr7//nukp6ejQYMGuHnzJl555RXExMTI5xw+fBhFRUW4fv06/v73v9doJUCZ19ChQ9GqVSsYDAb0799f9o2mVVXAnj17FidOnECnTp2QkJAAl8uFTZs2oaioCCNHjoSHhwc2b94s/OnAgQNRv359LF26FKWlpRg3bpwkTXfs2AGj0Yhu3bohLy9PeoKTJ66srERubi4WLVqEgQMHiu6d0RdlnIGBgfjtt9+k3wk15n5+fnjw4AFq164tp9QwKni4CpmGmp9LmaWfn58kZynlZRJQr9dLVMWiGtWm0KDS1gQGBkoFJVVnXD/kyplcVC/aJ29vb9jtdqEHVbXUX/7yF1y5cuUP68j/K4j6WbfbbVW+fw/AYbfb/bGmae/9/v1UAC8CqP/7V1sAy3//919epDnoiWgkyDcxNOVCIVpk1VhOTk4N/iogIACffvop5s6dKwaAn7F69WpMmzYN6enpsNvtgt7pdUNDQ0XeV1pailmzZiEyMhLJycno1q2bZOftdjs+/PBDzJ8/HyEhIejevTv69u0rZyVqmoa6desiMzMTzZs3lxB65cqVaNOmDUaOHIlevXph0aJFyMnJEdR88uRJ6f3BLPiZM2dQWFiIl19+GQkJCfJMJpMJly5dwvr16zFs2DBMmTIFAMTgVlRUwGazCZ3BhZqbm4uDBw+iU6dOaNWqFbKzs4UHV6vgSMEQnTB7TfTC39HwM/Kh/ItcM5PB/v7+iIqKwpIlS9CsWTM0bdoUNptNsvouV9Wp7StWrMCkSZOk2MbhcMBgMEiyp6SkBFarFfHx8QgODpZGVytXrsR3332HadOmYdiwYVJ2TF0vk5fkXln80KRJE/j5+WHPnj1Yv3497t69i4KCAtSuXRvJyckoKirCjBkzxOmwUROLSmrVqoXy8nIcOnQIt27dwsCBAzF06FBkZ2fDZrNJtABUN9CigQkODsbZs2fRuHFj7Nq1Cxs2bIDD4UBeXh68vLxw+/ZtBAQE4NChQ5gyZQqKi4vFmXp4eODixYu4d+8evvzyS2zevBmNGzcWY0On//PPP2PIkCGYOnUqrFarJOn69++PkJAQmM1m2O129OnTR1ri8hSY06dPY/ny5TAYDNi7dy+Sk5PRoUMHPPvss7BYLOKs1D1z5swZnD17FjNnzhTDSXka0a+Xlxdyc3ORkJAgFamkgigiIKfLvjNUg5AyI33GBDqlulQKMffCyJxAj9x0aGgo7Ha7fD4T4UTSAIQOYaRgNpsliUmKkPdYWlqKsLAwWK1WiZqpGOHnEoSGhoaK1PdRrv8O9dEbwDO//38tgJ9QZah7A1jnrrqDU5qmBWuaFuV2u7P+1RsRFZNv4hFULI7gwKm8bcOGDTFq1CgUFxfjrbfeQvPmzYU/WrVqFfr06VND9B4QEIDPP/8c8fHxsjiYoFSb3NAD6nQ6LF26FMXFxRg5ciQSExNx9+5dQVrkhGfOnCm6bsqbVOfSrVs3lJSUYNasWXA4HPjiiy9gNpsxY8YMjBs3DiaTCUVFRVi9ejVKS0sxZswYzJkzBxEREdLXomPHjti3bx+aNm0q5z/u3r0bOp0OHTt2xNChQ8VYUY1SWlp9GAE54crKSnz11Vdo0KABJk+ejN9++00WYFZWFkJDQ8WQ0ACzSpAJE7WKkMiGF6kRSgtZSUf1R2BgoPC6KSkpeOedd0SOBlRFDmvXrsXIkSNFJ0/uvKKiAtOnT0dsbCzKy8uRkpKCBQsWwM/PD/v27UN6ejpeeeUVZGVlSbk0nSaTfEReamvV/fv3i9a6c+fOKC6uOnOzTZs22LZtmxzrVVlZKad7s6ghKysLycnJ2Lp1K9q0aYMWLVrg+vXraNmyJbKysqTwiciW70Oaq7i4GDExMaLIaN68Ocxms4TYHh4e+Pjjj9G1a1dUVlYiKipKDOOVK1fw008/YcCAAWjQoAGcTicGDBiAqVOn4umnnxYE2r59e3Tq1AlmsxlZWVk17r+yshKZmZnw8fGRCkgPDw+YzWbZB71798a4cePgdruxfPlydO7cGTk5OXIuIpURLHl3uVx45pln0KNHD1gsFknuMhrjfqfOn7QM1x3Xgre3txhWdd8DEHRLvb6qPKL6i/SHaqj53BQbOBwOeT8qeaitZx0EETNQfdQeE+t8fton0hy8BxYWUeFBh8Cfq61i/+h6VOrjLgA7ADeAf7rd7pWapjncbnew8hq72+02apq2B8DHbrf75O8/PwxgqtvtPvvQe44BMAYAoqOjW/3www+C/DiRer1esracFFYHpqen4+TJkygoKMCcOXNgt9ulRLZz586oU6eO9BkgWp8wYQI2btwoGkdN05Ceni7N5hm6h4WFobS0FAsXLsRHH30k2eWHx4roQD07jaG1Xq/H2bNnsWrVKsTFxWHMmDE1mu189tln+OSTT5CamorvvvsOEydOFOMEQHpfsCCkrKwMCxcuRGhoKF544QXExsaKHlNtyET0SiPSo0cPpKamwmazIT4+Ho899ph4djpHVTtOJxMYGFgjo80qS8rEVP6OZfqUqXl6eiIkJEQKgBhSUgExf/58ZGdnY+vWrbh+/bpskt27d2Po0KGSiKHjrqioQK1atTB58mQkJibi8uXLePvtt2EwGLBx40a0a9cOtWvXhqenJ1atWoXExER0794d2dnZgnpVqSO7AxYWFmLXrl2IiIjAvn37MHLkSLRp0wa7du3CkSNHUFZWhokTJ+LKlSvYt2+flCc/+eSTeO6552Q+Wey0adMmdOvWDXXq1JFwnb0fWARDQ8sw2uFwIDIyEgsXLkRYWBgmTJiAEydO4O7du3A6nRg8eDAiIiIwcuRIjBw5EocOHUJsbCwaNWokBw0w6atKJA0Gg8jSWMzEBDxQfbIO0Tcr+hgdkaaglJPGlI2MysurTvlm69Ly8nIxyHxWJtMoFWVhGvMa/KLj5zqn/JbyR+5hOgLKP9V6CbfbLYlX1fETwPDZ2Kub0RqpCE/PqsZgzJXRUakOlk6fvLaqkiJNSwqQ/DVzEkxKsvEUi+d69eqFq1ev/qG1flRDHe12uzM1TQsHcBDAGwB2/QtD/QOA+Q8Z6ilut/vcv3r/Zs2aubds2SK185S3MXFAQ8uWnRyojRs34u7du5gzZw7KysrwxRdfYOjQoRJmclPy79l6Ue3BwQll+EJumjIeon0mLHlZLBahTZggoPcm6g4JCRHujAbXx8cH33zzDTp37oy7d+/W6FxHD88FwcXBijZqkFkQoiIJAJLJpsCfG42JDm4SXuTrWDFG3pWbnsaXiUgWx6iJFtX4FRUViWFiNEQDSQekaRoWLVqE/Px8zJ07F76+vtizZw/sdjtefvll2Gw2qfri37jdbhw5cgSFhYUIDg6Gw+FARkYGioqK8Pbbb0sy09Oz6nTtAQMGSOUZ0emVK1cQGRkJoLpSjRz7pEmToNfrkZGRgYYNGyImJgbnz5/H5MmTERYWJhEFUKWbvXv3rhSI0DnWrVsX8+fPx+jRowXNEpExAU6HRcPJAiB2RTx58iR++ukn1K1bF7169ZKGS5qmoXbt2njw4IFEBDQKXLeq9I5GgyCHxpjjybD+/1H33lFWV9m37zyVcziViyJKkBZpA2ZttQEbEyKoiAoKCgoGDAiIoCjmjCIKBrAbBDGBYABaATGggAooQURC5Zxz+N4/is+qXbzf7ea+1/cN+4zBsBuqzvmevddea6655lrbBRpcDnukoyarATGy767EjKyHP9gV4AbHxP5zTtweAeyR58cmQcJku3DvbjMU3wUZJCjVHV0ArUGR3C0e0vkK5UP3YWRkpLKysmyutts12dLSOhmR+gmgkEBB8RLbh8/mMwFEV199tbZv3/6f4ag9z8s5/N8Cn8/3oaRTJeVDafh8vjRJBYd/PEtSR+fXMyTl/Kv3J/ogUA8PD7eGAlIVGkAk2UjBHTt2qKSkRCNGjNDo0aN14403qra21sZvuhV5OCpkTBQI4KkTExPNSTDcJS8vz24ZJ4XhlZCQYJEaqsSN6AkJCe24VYp1hw4dUm5urtauXauePXvqhBNOMDrAHWbkdvqBJDgsdXV11vbsDvAJDQ21a4BiY2PbXZvE3Gt3zoHbFASq5rBzWBsbG+2qp7KyMhtK49YUqG7j9HluV91AASk0NFS9e/fWjz/+qN27d2vDhg265JJLlJ6eruLiYpNQYRME5vz8fIWGhmrdunUKDg7WPffco+TkZGsPRx0zcOBA/fDDD/rzn/+sHTt2aO/evWpoaFD//v2Vnp5utA46/IaGBs2dO9e48MjISOXn5+umm26y9J4AgbQxIyNDOTk5SkpKUmlpqaKjo7Vz507l5uaqqKhI33zzjfx+v3r37m0OgeCGI2JyYFhYmA2S79q1q7p27SpJxoEiqSwtLVVFRYVJzuikZaay280LbeD3+5WTk2PaaOzl8Fm2AWhFRUX/2+YL0DLqH5wj85QZUwtaJWBiU6h4CCgEcAKC1DbXmoI3SJn1JrAyr5vPc9VFACSAmSTLGqU2NRJrgGOF1kBBlpiYaDZbUlLSbiYHdsyaMM7XfR78AAHFrePgh9z3OVqO+t8iap/PFykpwPO8ysP/e62khyX1l1TsFBP9nudN9vl8F0u6Ta2qj9Mkveh53qn/6jP69u3rLVu2zBbOTTWIpEQjojc0SGZmpnr37q3CwkIrZIGWQMZHzqqluAPZD38EMuQZKioqLEWEYgCp4pBAfqRsjY2NqqioUFxcnP09jjQxMVHz5s1Tdna2pk+fLkn2bDhgN1WLjo62ewDZfFcnjjPmM6Q2TTqOFgrBTTerqqosWwkKCmqHDN2xqBwEUjeQYGVlpcLDw03+xHrwvm7A4Y/rTCIjI7Vnzx4df/zxKioqslSVLIFD39LSourqaptMFx4eroKCAiUlJRki42ASmBnMw4hSmjvc70MGJMl4d94LjS774koW2XOcDw1EwcHBeuedd1RXV6dDhw5p2LBh6tOnj10mwAF2Z3GzR5WVlXYPHy+kW2SQNGNRn3CLtBx49tnloF05GkCDv+cs8G8gYeoM7DtnCCrgyLXgRUEYG8ZxHinpJPjwHAgA+N5kngAV7Jnfod6BL3CdfmBgoPHDUttFA9gGv4fzRrePT+GMoI9mfQAxjEzGP7jZPu9DgZHnYV99hzsf+UwC15AhQ/5jqo8USR8e3pQgSW97nveZz+fbLGmZz+e7UdIhSVce/vlP1Oqkf1OrPG/0v/sADjMbAiLgRQruptksACoIuNOAgAAlJCSoqKjIqtLR0dHGj2I0fCbvT3cdcwpInUkdXYE6G81zQIuQ5qSlpamqqsqcpdRqhAcPHtSePXv05ptvKicnxw4I6AmEg2N3Cw48D2mf53nW7Ufm4cqjCBygedYGJOV2n+GQWlrarrCHj0Qt4R665ORk1dfXq6ioyNJg1pnv6g6FYvg/3Yo0QpCmupPUQMi8DwiENnZ3QBV7U19fr9raWvn9fmv+YJIiul+mGEoyhCfJ1oUABbJCcsV3Jp2H92xqarIMLTExUTk5OUpPT9djjz1mxWXenwwJ++H9GJuJQ+BF8wndtTQK0fzFd3ZpOVAnaFZqK7qxv7Q40/WLRIznwgHheECxSAqRXhK8+C6S2gV4bMid7YI0sqmpydZWarugF8UGvQOhoaFWpwFM4dAZfETAwc7QRvPerAG0IcG9sbHRbIFAy/u73dHYGiAIxM5zuHp69hPZIZw93wGayKVw/k/mffzbzkTP8373PO/Ph/8c53neo4f/vtjzvP6e5/U4/N+Sw3/veZ53q+d5x3ied/yRRcT/6YW+GG6XxcOxEhnDwlqvImpqarKmFgyXA4Xsx52+lpycrKVLl+quu+6yvnw2meIHHCSyIJAMKQs3gDCuFIMEnRP9OTBws8iTUlNTtWjRIt1///1qaWmxohtFDSI90R+jcrk/0leG5eDEMFTWx9V34nTgizksyIUkGXcOpx0fH29/j5NEDeFewUVRrra21rpJQXQgIFAGjoIAERMTY/cz8vzsH4cEWR2IBqcAUmWto6KilJaWZi2+OBsCyZEFLFd6xTqiowXJQ8FJsjVHHQSaCgoKUlRUlObNm6fCwkJde+21Ki8vN4qMzwJFEyhxBAyjwkb441I+0EwlJSX2+Tg01yHhaEDq9fX1dgeh1DYqgEFH7kQ5Gshw+BQXuWWoqqrKuNva2loLDi5lxmewb6wxWanbNMIcDUmW+Uoy0MJ3aWhovTAgJiZGcXFx9odnxnaoJYFueQaAU319vc0ugePnuRmkBeWJvfEdXcTMueYz3BdrC92DhJXvSLAjuFK3Olrq4w/RQk7UlWSojDSnoaHBRhMeWTjDWWJwlZWVVhCLiopScnKyPvvsM/Xs2VP79u3Ttddeq8cff9xQKIqHuLg4K9Id2fEI0gRtcPWTd1ivXVFRYVdMuVyaixSCg4NN4xwREaE9e/YYoomKimpXXSZldFNLghIOpLy8XJLsUEkyRw/nTPu8JHOQpKWkjfHx8e1UNRg+13hxAEGR8fHxhqZI5SheghzcmcQ8F0iP29qZ4cKtKKAcnCCyPi4Y5jsQsEDsqATcdJZZCiBdZni4SIg780DTBAj2FT23i1ahscjMCgsLlZqaaoP1TznlFAv4BG3eFzmY6xhBfwRlN9iTMpOpBAYGqkOHDsaruxmCOxcFWyCgEdABMq68EjRMwAWJUkthLV0wEhAQYA1T/xM1JsmQIzQhVBhyt+DgYKPsyBLcAhv7xGUT1dXVuvnmmzVgwABdeumluueee5Senm4ggaKcywvz2e4ahIWF2aRDRiI0NTWZfp8MmPPf3Nxs64Dz9fl8KioqUlZWlnJzcy24u8CD7JM1Za2xYSg1zo7Ls/+r1x+ihdx1GkQjjIpCCAvPxrIQ0AZUr0m76BzctWuXIiIiNHv2bAUHB2v9+vUqKiqS3++3AhdOMD4+3kaKsrhEU6lNjYEml0MlySIycwZABkFBQZo9e7ZSU1PVp08fSzuZU83vQ0eQAtM1V1FRYcVRrrhy0zS4X7cAiCMFnTO6k89jbV1JlotQCDgcRpAoTpf3cvl3nF5KSoo5x507d9rnQyMlJSXZDeBHolNeTNFzu8RcrhBkh3a3qanJ1sJFyKAppGrR0dHtJGEgNvf+yCO126TqAAQQep8+ffTggw/q7LPP1vr16zVkyJB2lX+CAUiPjEaS8eFwsQRKAhAHGOoiICDArpACpfGM0GA0IkE54eTIDEGJBAW6CbmiDOCA44ZTdykOMjDXhlAHMRCfvUAzD90FouUMsZc4azdDjImJUUtLi9auXauXXnpJH3/8sZKTk1VSUqI5c+a0U4IQpLEzvjNInoAIki4sLDS5aWBgoHHOfE/2TWobNkYtCvDG7BACDLLa4OBgu3QkPz/f/BB7yntQfyB7O5rXHwJRe56nkpIS4/FIM9xpVC5X5/f7DSVypyL8EI5+xowZ+u2331RXV6fJkyebSD8hIUGJiYkW9VNTU+V5nmJjYyW1IVMcD86IxZbaXzfkbiaoBPRXXl6uxYsXa+bMmSoqKtJpp51mCI4WYtAJPCvtqdzTh+qksLDQbrIB6eFIKQyS3sNrU7xoampSQUGBHTwQHSkjRUHej+fhgHOIQORlZWWqqKhQamqqAgMD1bFjR+3fv1+PP/64xo0bp9tvv13bt29XWFiYEhIS5PP5dN9992ny5MlGHVE0heNzD4fbfcYhQzJVV1fXTo/r3pjiNi6BPqHNaCAiJSUDCghovaYLys3lxXGA3OXHszQ1Nemtt97SoEGDJEkHDl9GDP3EGkqtWQ+F5aCgIBthi7yN7+wW9aS2e0T5dxw37eMACAYtuRkd35E9pQiGTfNc2BB7euRwe265kdpuMOLZcDLYLQVx0KRLM0EfoM9nvaEeKeLSrh0VFaU77rhDSUlJevvttxUSEqKsrCz9/PPPCgkJ0aFDh+y7uQ0yBFRo0tLSUvMx7C22Fx4ebkPUyAQDA9vmZycnJys0NNQQcmVlpQ1nCgwMNDuENgSwcD9jSEiIEhISDFgBqFzpnluM/XevPwSidrkxFoKFc4tYSO8Y3t7S0mJdPqQ+SUlJ+vTTT5Wfn69jjz1We/fu1eWXX25pyW+//WafGxoaqpycHCtgULCT2u4axKmiDEG4TurspjZUpBnbuWrVKt18881asmSJTjrppHYFR1409sBluly0z+czGiUtLc0oGIo2rj4Wx4KzJ8tAwM9ncJBBqAEBAdYR5n6+JHNS8LWklt27d9fPP/+sW265RdXV1br88st17rnnasCAASovL5fneYawSONnzZqlyMhInXnmmWKui9tBCTLkoLv6c74zaK+urs4alFwkSVWfLIAsJz09XYWFheZMGaBFjcBtXMABuNxrWFiY3a8YERGhVatWKSMjQ8cff7wWLlyo8ePH21qh5wVlUs/gAleK3lAXbkEbp+cGLf4O58toTZeWAbWzrxSceWbshv0lsDH7Gwmmy8Fjy2R8nAFXd0+QY2iWS8MR7FhbNMxkHTw3wR96JSQkRGPHjtWkSZOM2snPz1dAQID69OmjRx99VDfffLP9Lki4vr7ezgXrzOQ6bIif5QwjpYOXJhMKDw/XwYMH21FJtbW1SkhIMDDo/r3Lj1MoJRPkDIDsXWcdGxt71NTHHwZRS23zOKhCS60GTDrhXp3j6oElmRMsLy/XCy+8YHMz7r33XkO5X3/9tf70pz9Zc0ZQUFC7Gx24OZlUinkZ3M7AYeLzKSzwh8JkWFiY3nzzTY0aNUrV1dX66aefdPXVV9ugKQ4CCMpVtMBNuu22rgzP5dBwtlTG4eIwFgpWIEyMkShPsDmy+OJ+J94vPDxcOTk5evrpp7V69WrV1tZq/vz5mj9/vk488URTXJSXlysnJ6ed44uOjlZJSYnq6+vVs2dPHTp0qN37u0VNuGdSSw4YmRapJ88K8k5JSTFkfmT2gzqjqanJhvhLbcVESVbQJABScGatpFbHuXbtWhUWFuq0006zJpnTTz9dZWVltp7w5YmJieb4CDY4SpemwbHi5PkdggUFNQI3yBqJJogQWgN7xUZQUIGC3aIxn+M6MYqbZI5SW4ChQMn6ugVN1h8FCM0g9BVgq+4ee56niooK+47jxo3T8ccfb/dIsufQMccdd5wCAlqb38g+qZG4czWoF6DkgergmSlmAkJ27dplxdiGhgbFxMTYbU4hISEmj8zIyLAgxRVqbp0DGgcABQUFNYntYmtH+/rDOGr+cCg4RPA/OCO6yVyNotSKgDt06KDbb79dJ510kpqaWi8GPe6446yVdvXq1br66qvN+TU2NppsjFnWIANSMIwYlIwTJ80CzfLcsbGx+uCDDzRs2DA1NjZq7dq1Ovvss42iobpOKlleXq7ExET5fK0zOTp37mwHhv9y8EEwoEvSJ7fhQJIZJ5/jFk9Q2Lj6TgqYBD0q/A0NrbdmL1++XJdffrl++OEHPfHEE+rVq5eSk5NVVFRkLbn5+fn2TAzRdxF/ZGSkkpKSFBAQoMzMTEOr1CPCw8ON20TfTlbAIQOpgYaSk5PtZ9y76lyHCH9OHcINlDhBnIHrdCTZFU8Upw8ePKhffvlFo0aNUnFxsR5//HH16NHDkCNBHGTKwJ+Ghga78IL3Yy/cQh9ZFQGVAMv71dfX2zPhnEpLS1VZWWnZhFsQxD6hc8haoVRcmSmBws24+F78O+gfWgzqjBuTsFEoNrdIjAMl+HDWkM8lJibq1Vdf1dlnn60bb7xRJSUlJgPF7qdPn65JkyaZAot9ATWTNZKRsvau4IDMm4J7VFSU1q9fr/Xr11uRlgDm0jgAIS5bRpUDzUWdAQaAepMr6WN/mA0u6b+Lo2bDcBauGJ+0hC+LPIhiIg4yLCxMH3/8sWJiYkzfPGXKFOXk5KhTp05asWKFLrroIsXExKi0tNTQjOu0cHye59k9em5UhkMDfZIOkgH4fD5t2LBBCQkJxoVt375d5513nkpKShQVFWUFFbKB+Ph4ZWdnKzk5WY899piGDh2q5uZmq6LDt7nFLVeTy3pwuHlvDhqOyS3GkYZymFEOMPJRanVS8+fP18MPP6whQ4boww8/1JAhQ+yaJw41B5zuMhwMh9NF53TunXrqqcaj49Dhmil4uTyxz9d6cajLSVKBd5sxQFgMzCLQgNrIzHD+ZGD8HYiKgNPQ0GA8fH5+vhYuXKhbb71VTU1NSk9PV2lpqYYNG2ZdgjhDggQUCEVa7JR9gVZrbq8TFJwAACAASURBVG6222mgBvgdCsMgNzKukJAQ42Dj4+NNswuFgHN2i7S8WFMaQ1y1kFvUc7X2jEvgurHm5mYrRDJRjv135aRw06gzACj19fUqKChQXV2dkpOTtXDhQrW0tGjMmDHGlUMhhISEaNeuXfrhhx8s+AHsWD9+jrVDhYRemqwVMYLUOjd++fLl+vjjj3XVVVcpLy9PklRQUNCOJiTYke2QtbnOljXnPJGRUVeiloQzx9aOlqf+wzhqqr9uS3ZLS4vpc1nolpaWdh2HUlsL+pw5c9TY2DrF7pdfftHw4cOVmpqqxx57TBERETr++OPV2NhokjhE6aAaVBWk1BR+cEyk4VLbZD9SGkn67bffVFpaqgsvvFARERF6//33dfrpp5u+1HVeOF6GqV9xxRUaMWKE0Qy8t+d5NjvXVV8QyUlV3SE7FF3dDjZXj80zJCQkWBEWTXpISIh69uypqVOn6uabb9bUqVOtAxSnyHocKVskoBy5XxyqVatWKTk5WTExMXZ3HZlAbGxsOzUA70PTAf/Gf9GfuwoOz/PsMHAo4QRdiiApKcmcIoic93KzF76Xz+fT3Llzdffdd6usrExNTU16+eWXLVCTyrqHm+/m8pU4IO4l5LAiJSTYuuNc+VmXiwW14pQZpcp6FxUVGdpEM+y+SLnhdUndsWN3fgd27uqDcS5uo05hYaHi4+Pt+VzOmf2CIweIhISEKDk5WT/++KNWrFihqVOnmiKosbHRst6wsDBNnz5dGzZskCQLYK52nMCFo2QGtSQDKdgGPRpvvvmm5s6dq5EjR6pr165KSkpSYmKi/H6/0RX8oeaBk4W+QlUDwKyurrbCLHaArBXQBQDB5o7m9Ydw1BwwUgM4Jld2BKLAsYSHhysmJsZ0s7t27bLUeteuXVqyZIkaGho0bdo0nXjiibruuutMoiPJoj83x1CgCggIaNchyf/GuPnfbBIBo6qqSuvWrdNVV11lFeKtW7eqX79+hpJwNKhV0tLStHz5ct17771atWqVunfvboZEEOGeQZAU6JGAQWMNHWikWBhXcHBwuyKbewCqq6utMAr/WVJSouuvv16jR49WfX29rRcUjKs9Rl6FUwgICLDbQgi4XMjg9/v1ySefmASSQwu1xF5yhRKGTpYQFRVlCBRkjKTQNXomHR5JeaCKoCGKtZHaJJ8ul0kxOzExUU8++aRuv/12u7YtICBAmzZt0gsvvNCuSIRDRJIGqOD5yA5RDxB80RTjKAET6HhBhvCp2CZqDjTaIL24uNZZaQQpghnBnQwnJCSk3U3fDQ0NpqDCAcJlsx8ELwIIaxgXF9duVAPOHeoNKo651WiJy8rKdNNNN+ndd9/Vjh07LKPCdpKSkjRt2jQb9YqKyA3OdXV1JsvDxqHHXL4YearP13bJdK9evezeVEl2jkJCWq8SI1BBrxAMQeXYjyQLQOjHAwIClJycrFWrVunqq69W165drQDqqmuO5vWHcNS8fL7WNuTc3FzTQFJE4o/L61E8q6+v17x581RcXKz4+Hidc845ioqK0qhRo3TNNdfo3HPPtdseXOkfSJ5WZLeVG+ToSt7cIiDILykpSampqVqxYoVxa7GxsVqxYkW7u/qYYcBmZmRkaPbs2VqwYIE2btxo8qMxY8YYNUNgcVtfQRHwhiUlJWaULifH4SOtpsJNswbrCuIhmAQFBWnw4MFKSEgwA+TfQQXuzeK0ahMMYmJiTM2BowkKCtLKlSvV0NCgRx991IIMexgZGamDBw+a4gbHD29NMxKpvKtagW9k71BMMIZSkjkOKAo+g2ejSQKKwdV2z549WwMGDLBgEhMTo+eff14XX3yxsrOz22mBcYbYJ81bPAPBxVVr4JRc54P8C74e51BeXm6ODHDAzJWAgACrLbjUGrbqIjmKqnw+GR9AqKqqytRLgYGBOnDggDk8nC60G4iT93ZrCXC12Bq/y6iA5ORkXXHFFXrvvfeUn59v1AK1jejoaH366af69ddfdffdd+v333839RZ/oEdZY+zU1Sy75725ufXKtrKyMhUVFdl8eHdmyKFDhxQWFmYBC7ugjuQW5QGWnE1Jll3FxcXp6quv1qJFi3TTTTfp0KFDpqFH8/1fxVFLsg1loQMCAhQXF6eoqCg7NK7ovKqqyq4BSk1NVUlJiY499ljl5+erqalJ8+fP14IFC+z2aQj88vJy1dbWWkGFrkSoiebmZuP+kOK4G0WqimHn5eVp3rx5Gjp0qP1cXl6efvjhB11//fWGGNkgJE6vvPKKVq5cqUceeUSVlZWqrq7WsmXLdOqpp7Yb7woSQ9pEsYyh6oxgxHBBhDgfOrjgyOGEObxSqyOmySA6Olr79u0zLg1DooWaNJ4ZIM3NzUpJSdHEiRNNd0tVv7m52arlr7/+usaPH2+3X0hq50j8fr+1qKM5Reve0NBgDUrI8Pi+BGsOJDUFt0uypaXFUCZ719TUOtDelXby7yge1qxZo7S0NPXu3dtuns/MzFRpaakGDBhge8JsB9QOkqyhgWDhFjPhrrlSjN/BUeD4S0tLlZeXZw6J2oe7N9XV1VboDg9vvX4KJ9rU1NoERlHcre/4fL5212eB+kH2oGYkq+78EXTFaJFZeygJ6DDWmhk21AMkKSMjQxdffLHuueceQ8JkC6DbgoICzZkzR4sXLzZqjfeS2jT37l5TG+LSCPdGHwLGzTffrF27dun1119Xfn6+7Rs+gdtXpNbshuyZYiMonoYlajVQky0trX0PI0aMMN34hRdeaMVgnLQr0/13rz+EoyZCwelw4Kjm41iIjDhQHCy/Ex4eri1btmjcuHG68847FRcXZwiCzrC4uDi7+ZkquMvjMQyGF/wqVAx/KioqLJLDeUNbBAUFaejQoe0KXUx1CwkJ0TfffKPPPvtM06dPV1pamoKCWmdGdOnSxbS4UBfoaKOioixSg6IomqIZpZAHqqIACl8HDx8XF6egoCBzrKTjvN+AAQP066+/WqBoaWkxHtsdkEW6vHTpUklSUlKSUSEoKBhUFBoaqsGDB9vhhmfl/Wtra03ChgOF4yRlpq2Y/QKlslYM34qLizPaCsTMpQcEWBwbLelkFthjXl6etm7dqqFDh6qlpcWafF599VWde+65CgwMVGlpaTuJKJkNWRO0kSQLmKApAgX0Ag7U5Yv9fr8SExOVmpqqsWPH6owzzrDfB/HFxMRY3cFVE0VGRio2NlZ5eXnKy8uzrJAAC+3Ai7XjPVknHDkzcNDoszfsI/y+q3qpq6uzIjGqjMbGRhUXFyszM1NBQa2X68KTuw03cXFxGjlypF599VVVVVUpKyvLlFDQWnxfAhnSN/aas0efRFlZmW655Rb5/X7dcccdti+uYsl1ngQw6gs4e+hW1Do+n0+dOnXSgQMH1K1bN7311lu66667NHfuXG3fvl3z5s2z/SE7lWQo/2hefwhHzYHii8M1k86TZjMwPzw83DggDlpJSYk2btyojRs36thjj5Xnefrtt9/aVbOZ5eDOmGACHYUHt4gDz0gUBxlTbKyurtZrr72mYcOGmcY5Li5Os2fPVr9+/WxT4KISExO1ZcsWPf3000pPT9eZZ54pqXX2xNKlS3X11VcbCiCDoDHDdQroYeFHMc6oqCj7TkR31AuuE6MwBRcH90sRqXPnzqqoqLC1AO1IascdoxJZsGCBHn30UeNLcaQdO3bUtGnTVFxcrDVr1mjHjh1WgCOQuFpil+ODBnBbfSsrK00r6+4rfOKGDRuUnp5uv+vSJFIrgieQUA/B2ZMpUNhcunSpHnroIeXk5CgyMlIpKSn6+uuvlZCQoMsvv9yQIwjc1dmDkt3BPS5thh3jAPhdMhUkk+Hh4YqNjdWLL76oiIgIPffcc3bdHJkdFByBSZINWWJELkO2SOWPbEOny5cXmn32iOCBNNR9wdkDVMiGcZTJycmSZE7K5/OpZ8+euvbaa7Vs2TL98ssv7ZRVNTU16tKli+6++27NmjVLUVFRSkxMtPGl7BMBwVU1YZfu30HXBQcHa8yYMdb+P3jwYCt6E9zwLawNmTwFewIo83bgm/EraWlp+stf/qJOnTrpq6++0sqVK/XSSy9ZdkgQgsY7WtpD+oM4atIdl7SH93HlTBxs0n5ohPPPP9+E/ampqcrNzTU5Fu/pKgtwaG7hzpXa8Ae+kJSfiIoRLFmyROvWrdOePXsMMX399deGdtHOksqVlJRo5syZKi8v15NPPinPa51xsmbNGp122mmG2uPj4zV79mwdOHDAlCJ1dXU2nIoswi0sYWiNjY0W6BjKJMnoH5QttOxC6ZDaESjOO+885eTkmNPg+qWIiAgVFxertrb1ctfx48drxIgRhoZATsccc4ymTp2qPXv26Nlnn1V2dnY7fTVollnYVNEJvm5RF95SkgUWt1koMjJSV155pdatW6cxY8bY3rot4eh1XRmhG5ylVoQTFxenDz74wAJtc3PrkK28vDytXbtWo0ePVk5Ojv0uB9q1V7fYSoMIGnrswXUs/DcwMLBdS7zf79cNN9ygf/7zn5oxY4ZOOukkAxgEa7dQyPMSwNBcV1RU2ATJYcOG6cknn7QslWd15YmcA2yakQNQVWRTdM2ChtkjzjL0DYgZILZw4UJdc801ppYhA2xsbNSf/vQnXXfdderUqZP69+9vhXeCHyBNkoEnMjgK9diP2505dOhQ9e7dW506ddJ9991n2nayCNfBQ91JbaNiKaKS/bjKpejoaG3ZskUDBw7UCy+8YJdX7NixQ8cdd5ydX4IiKhBs52hef4gWcrhGDio3k7jOEu7SrURv2LBB2dnZ2rJli8aMGaOdO3faooK0MEKimVvoAHWB6CjAwcNx2Hi5hbyWlhZ17tzZbp2gIv3xxx/r9ttvb9e4wHySCy+8UElJSdq8ebOys7MVEBCgrVu3KjIy0jjYmJgY5eXlqaSkRC+//LKeffZZRUVFWfoJknavCeO56c5iSllCQoJxZ8HBwdYyjIYZbhHnCPJn0tif//xncz7olKuqqpSWlqaYmBg99NBDCg0N1UUXXaRFixapV69euuyyy1Rb23rhcF5enl577TWr9LMerHdjY+tc4LCwMCsSSW0ppzvYir1iH0HBPl9rV9+aNWuUlJRkSPlIaRkBHsREVoQTp5ZQUFCg6upqDRgwQEVFRUYzcQBbWlpM6se6eV7rrBoyMJCfJEvN0TnzXBR84Tn5/9znl5SUpAEDBiglJUX333+/tS8T9N0DzvuzHqg/GPebmpqqN954Q2+99ZYqKyt1yimnGBhi38mqsHdsHyToygS5zEGS0ZHh4eGmpkGmCaBCTQLN9dFHH+mjjz5SQUGBgoKCjII59thjNXLkSEVHR2vixIlWOyDgARJ4NtQu6KahIznDyGsnTpyovn37KisrS8uWLbOsEMAGZePy2O7AsoSEBMtopbY5KYxQpt60evVq+f1+BQcHa9SoUVqyZIl+//13JSQkmE/hswhc7Oe/9ZH/L/zq/5WX57VOruJWbJCUpHYNAM3NrbcxP/fcc0pOTtb555+vX375RZMnT7YoiVGBVqBP3PQTvpXgwGwNjJyA4L74vbi4OD366KM6/fTT9dVXXyk2Nlbh4eFau3atEhMTFRERoaysLEMKycnJuvjiixUVFaVLLrlE+/btU1lZmX755RcdPHhQV111lV3LRCvyrFmzNHv27HYpKcU1VBWgGPgyeDbWkwPIgaOyXVZWZjww2lyKRQQo6BbWtKSkRHl5eQoNDVVBQYG+/fZbbd26VXv37tWCBQt011136dxzz9Upp5yis846SxEREXrttdfsmTkIoB+eLTAwUMXFxTZrQpKhSlcmhnNGRgkaAjHHx8eroKD1NjhoBPh8/kRGRhoSQs4GbSS1FrgWLVqkq666SqWlpSosLJTneVqzZo0qKyt1ySWX2GQ2wAW/i7xUahvWRdrMHlEMDwgIsOKtW8wGNUZFRemNN95Qjx49NGTIEFPgoBCBlyarcO2b9SWQJSQkaPfu3SovL9fWrVuVlpamCy64wJQfFNtKS0uNdsGGoJrIwvg8CssUtxlQBB3jyvzgsjt06KBjjjlGd911l55//nnt2rVLZWVlVuDu1KmTZs6cqejoaM2aNcsUFeznjBkzbLAaVMvBgwctwLryQ56zR48emjFjhqKiovTLL79o1apV1iFM1iLJsgWUZtgdoAy1jQsaKMYuWLBAP//8s5YsWaLY2FhFRERo3Lhxev75561PgnPJM1JQ5EwczesP4aj5AhQnMDQOJx18FNfmzp2rq6++WklJSYqPj1d6erri4+N12mmnaeXKlSYrgoN1U1EOE3SIK7cDnSKLQxqG8dN2+tFHH+ncc8+1KXw4+M8++0yjRo2Sz9c23vDYY4/Vc889p+DgYGtxh1tev369/va3vyk7O9smbbGxODdSTbIKODc39S8vLzcHgqEFBQWZ/Af+n7Ug9XIRGBEfdA6lgPOUpE6dOqm+vl7HHHOMnnvuOUVFRWnOnDkaP368iouL9d5776mpqUnjx4/XzJkzjcNzjdQdcAWy5llxVhgv+9/S0mI31dAMBD/seZ7y8vJUVlZmyp7AwEArLKGMee+993TxxRdr//79pk0nq0BL/8477+jEE0805JOenq6Kigpt2rRJd999t4qKimz2jJtpuEVkPhPHiQMLC2u7G5FM4eOPP1Z6eroGDx6sdevWGfWyatUqvfHGG+rXr58GDx5se4LTo5BOxim13uHJ/lKHSUpK0saNGzVp0iTdcMMNmj9/vkaNGtXuwgKeHZTo8rZw8xEREUY1kqGACAMC2ua1cE7cNmrarLOysuzyX0lKS0tTx44dVVtbq+TkZE2bNk379u3TnDlzVFdXp5KSEoWFhSkpKUn9+/dXZWWlunfvblQmGabUNrwKySpS2jvuuMOUM2vXrjVUzFlwHTANM0ythCpDPULW7FIqs2bN0ooVK/TGG2/YOt50002aMmWKKYGgUNwLS7B33u9oXn8I6gMqwn3Bh+JEKY6EhYVp5MiR1p3Y0tKiqVOnKjw8XLNnz7bLSzm4rpqAAoeru6XrjSIb1WoOIbczI+EJDg7W559/roceesiG3aSnp+vtt9/WcccdZ5y61FpJX7NmjX766SeVlJRo1apVtmGffPKJRo8ebUaWmJhoLdA4nPr6ehtVCg+KzM9NnbiQFY0njoCuKdJadLmI+hk3SfrlpsGSzPhc2VF6eromTJignj176o477tCsWbPk8/nUoUMHXXnlldq4caOKi4uNe2atCYrQRuwr9AEHTZJSU1NN335k5yAaY2gLlBNuFx7OMCIiQgcOHLAb67t27aqWlhZzpO4s4i5dumjjxo168sknVVBQYBzv/PnzdfPNN5scDnuQZLYDhw+ixJabmpqUkJCgrKwstbS0TnpMTU3VL7/8ogsvvFDR0dH64Ycf1L17d51//vm69NJLVVJSoldeeUUTJkzQ4MGDbY4HCNgtIEtt0kocJH9XV9c6DvXBBx/U559/rpaWFr333ntavny5BQ/UC6wnjt/NRLOysgyQsHYuYIiLi1N5eXm7uejYDoVh6iO5ubm66667JElPP/20Hn74YeXk5OiNN97Qpk2b9PHHH2vv3r3t6LBdu3apQ4cOSk1NVVFRkXr06GHjRNHKu12b8fHxCg4O1gsvvKCsrCxlZ2dr2bJlBnhcmsNt/kGGWF5ebsoinhuaCduNiorSSy+9pD179mjZsmUqKiqS53m6+eabDcG7wRWaFfsvLi62G1+O9vWHcNRSm1NgMd3KPRwimtDy8nL5/X7t3btXkydP1uzZs/WPf/xD9957r/Lz8/XYY4+Z83G78kCokkyu57Z/guKRLiHmZ4RlWFiY3n33XV133XVmICEhIcrJydGXX36padOmGSddXFwsSZoyZYp69+5t/PFvv/2mr7/+WiNHjjTdMDNw0Z1CUZSXl5v+l+IV/BmG6cqu+A4cJpw4xRy4emaquPM2kL+5RV23NbdDhw4KCAjQPffco3379mnRokUKCQnRzJkzFRQUJL/fr59//lm///67RowYYWsNumJwPK3uOALmI6CXd6vjIBB40aamJh1zzDHKzMw0NE0Ahj+kSYasCCTe3NysQ4cOKSkpyWR0OPrY2FjNmzdPY8aMUW5urqRWqeGLL76os846y4Kli46gCXCgIHjWGbSJBj4qKkqpqanq27evaaK///57rV27VrGxsSoqKlJNTY0mTJigSy+9VMOGDTP1hdR2OSpdkHCnRUVFhgBx6oWFheratatuvPFGzZ8/XwEBAbrkkkv04YcfKjc319QYAB+AUGxsrI3FJQtARQPlRpDHbkDE0GJuVyoBOSEhQRdccIHefvttlZWVye/36x//+IdOPPFELV++XPPmzdNPP/3UTt6YnJyslJQUPfDAA8rJydE//vEPy4KZMZKYmGgD+mk8kaSFCxdq06ZN8vl8Wrt2rX777TcbwNTY2Gg6fGwNmhWQ1dDQYGoWOh7Ly8uVlJSk4OBgZWVl6fPPP9e7776rpKQkm7P+7LPPKigoyKgxsj+Kx1KbWgda5b+Oo4ZzpRCBg4STklqHz5SUlCg+Pl7PPPOMHn30Ub399ttauHCh+vfvrxkzZmju3Ll68sknTfmA44dTA62inMCJkTIj48MQOehU87/99lt17tzZ6IeYmBitWrVKF154oZKTk41XO+2003TnnXeqQ4cO+vnnn/XOO+/o1VdfVXl5uW644QZ7htjYWKM5eE9QIdPAUDk0NDTYdyGwubw2FXB4frhs2siltjbXlpa2extdlQ1BEn6XwFVXV6fdu3drz549WrhwoT0TM1GKi4v11FNPqa6uTmeddZY5at6DW7urqqpMf00l3dXNH9mJClKNjo5WfHy8cnNz29Ur3M+nTdjlAiMiIpSWlqbu3burvLxc7777rsLCwtSxY0dFRUUZ6svMzFR6erpCQ1uvHHv++ecVGhqqYcOGKSQkxGZxSG1NMdgLf45EaQEBrQ1RoMr09HRFRkaqT58+WrdunQoLC9WvXz8VFBRo0KBBev/99xUaGqrJkyebggftd7du3Uz1Q02CG9xZO56xY8eOeuaZZ3ThhRcqMTFRQ4cO1XvvvddOe15SUmLZJ2gf9RNUBkiTtnQQO6gZmhClhavcITgmJSVpyJAh+uCDD6yHgZ9LSUnR008/rW3btqmoqEgFBQVKTk5WRkaGvvnmG5144onq0aOHNm3apIcfflirV682VMrMaIBFXFycIiIi9P333+uLL77Qcccdpw8++MAGQbm8OV3Kbn2AYW4UyylSM50vPj7eMu7x48dr8uTJ2rlzp/72t79p1KhRuvLKK02NQ8aFrbtNWHRWk9n+V+mo/yctI0aCLpdKeVpamtasWaPffvtNc+fO1bx583TOOeeoe/fuKigoUFFRkTIyMlRVVWUFJ7SPUAH8HVpYZFMuN87sa5yo53naunWrBg4caNExLCxMmzdv1q+//qr+/furpKTE+N1Zs2aZ0uDMM8/UHXfcoauuukonn3yypcsUaiS10xVTdGNDPc+z5hQctCQLQm4XWFVVlVXDSZMbGhpMqkf2AN0DeqChgUMgyZ4NZP3888/r0ksvNZRPUAoKClJcXJz27NkjqW2OCrddQAWACKEwoDPgrl2lDH9AOW7xlMloPFtwcOtQI7dphANcWlqquro69erVS3PnztX48eP17bffaujQofr111/b1TIYxfrOO+8oPDxct912mw2tJ5BzWGkmoghFgOVQkjUkJibq4MGDGjhwoE444QRlZGTo6aefVllZmfLz81VTU6PXXntNnufp3Xff1cKFC5WdnW3fBfooNDRUeXl5mjp1qmWbcMxBQUHGt0rSihUrVFNTo/79+2vq1Kl65ZVXLIDA77u8K7I0gr07qoAgioLClTSydoyndWsqcXFxCgwM1JgxYzRjxgxTDVFXYTTClClTVFVVpc6dO2vfvn0aMWKE+vbtqy5duuj777/XqFGjFB8fr/Lycru+jjPhDn7iXL/wwgs644wz9MILL+iEE04wig+BQXl5ebsuW2oUAQEBOv300zV37lzde++99hkuHer3+/Xwww8rODhYTz31lGpqarRq1SolJiaaLwMssf+S2jVf8V936NrRvP4wjhqjR5WA6oLWUFL+AwcOaOXKlbrzzjtVV1enAwcO6OyzzzbpU0REhPx+v0JCQiwKcqnqHXfcoR9//NHQZXBwsMrKyvTuu+8aGg4JCbHCzLZt2+x9Pc/T+++/rzPOOMMKHSEhIVq9erWNusShZWRkaP369XZH3/XXX685c+aoqqpKVVVVys3NtVZgntflceGiOXhlZWVKSEhQUFCQnnjiCe3cudMafkAndPuFhbVd+Mpzw5OhbJHaZhAHBgZaQKNgK8loJ5z6nDlzlJCQoLFjx7a7xFWSUQcdO3ZUx44dDWkyjQ8+nZ8HYUMv8TxkCllZWcZdg15xfo2NjdbIAQKE6omIiLDWbZyb3+9XSUmJvvnmG51zzjmqqanRoEGDNHv2bC1cuFCSrIgbEhKiN954Q6WlpRo7dqwFN4KN+51xlHwfd0YMVF3Hjh311ltvadKkSda1+dZbb6m6utq47tDQUGVlZWn16tV64403TLLmNkR06dJFl112mWbNmmUNOKT7cOwhIW03spM9Llq0SIsWLTJ6g0yNn3fVD1BRoEGKgcjtoJSqq6tVXFxs6FOS2RUomrW67bbbdOqpp6pfv34qLCy0Ndq5c6cqKiqswWv37t1699131aFDB73zzjv6/PPPbU+7dOmiBx54QGeddZYuuugixcbGmubfVb00NDTo1ltv1QMPPKDp06drwoQJuu666+y6LahFfhfb2rZtm6655hpdd911WrlypU4//XQNHz7clF+0+oeEhOi+++5Tdna27rvvPn344Yfq2rWrKbgIFu5lvqybK6sEQOA//qt0w8ynGgAAIABJREFU1PCsGIyrU6WCLbVqUqdMmaIrr7xS3bp106RJkzR58mRrkklPT9c777yjE044wRQacXFxev/99/Xhhx8qNDRUp512mkX8hQsX6osvvlDfvn1N6tOtWzetWrVKmzdvVl1dnbp27arExEQVFhbq+OOPV6dOnbRmzRrt27dPp59+uoKCgtS7d29Dz0FBQbrvvvsUERGh7OxsPf7444qPjze1BYoEePapU6eqsbFRjz/+uKFEnBTOjcHqV1xxhRISEvTBBx+osbHRxrb6fD7TkUZHR5tml2yAg4tTbG5utsIPqZj776AtmoS2b9+u77//XkuXLrW7A0FYXJf0/vvvq6mpSa+//rpRGyhpkFD5fK0zpLt3766ioiItWLBAN9xwQ7tZCp7nqUuXLvI8TzNmzNDEiRPbTWZrampSUlKSXfb6+uuv64YbbjCURACE/gkNDdUdd9yhjz76SMXFxTYM6P7779fo0aNtzvDBgwf18ssvKy8vT4888oh+//13paamqqmpyeRwUHAgLdaO7AXOPTw8XB06dLD5Dt26ddO6detsGBByrbCwMM2ZM0cVFRU2iheumUJ3amqqzj//fKuF7NmzR7t27TJqCmleQ0ODunXrZrMxvvrqK+3cuVNZWVlG97n6XbpxKTq6VJfbNIJTRwuPMic7O1tdu3Y1515WVmbFuC5dumj8+PG68MILdc0119gUuoKCAkVGRuqvf/2rtmzZYkG8srJSJ5xwgjIzM+0WJPb61ltvVceOHTV8+HDl5ORYlo1KKDY2Vn//+9+1du1azZw5U126dNFLL72kffv2affu3erZs6fi4uLshqGWlhYtXrzYRiQfc8wxmjdvnubOnatNmzZp//79uuyyy9TY2KhPPvlEX331lZqamnTttdcqODhYF110kfr27au6urYbdqBXKPZKMo02wMu9eo2skdnuR/P6QzhqXqgtkPpQGGPoTEtLi7p3764hQ4YoPDzckBUDZObNm6dTTz1Vffv2tYtlCwsLNXPmTO3evds0m5J09913a/r06erXr58ee+wx3XDDDfL7/Xr++ecVGRmpRx99VLfccot69OihiooK/frrr7riiis0a9Ys5efnq6qqSp9++qmeeeYZNTc32/v37NlTmzdvVkpKikJDQ9WhQwebC0GXF7MUJk6cqPz8fL3++utWbJRk2umAgACtXbtW69at04YNG/TMM8/ojDPOUFhYmF555RUrTJGG001WWVlpiA1EjZPBcUZGRprmnOo9refoewMCWjsNH3zwQc2dO9eKcW7a7fP59Oc//9nma3Ts2LFdenrk/sbHx2v48OHKy8vTGWecobS0NCt84iAOHjyo6dOnq3PnzoqNjbV7G9F9h4eHa82aNZo1a5auvPJK+f1+u0sTTjAuLk5FRUWaOXOmVq5caegrPT1dX3zxhSIjI3XiiScqPz9fkvTAAw+Ysqi4uFh+v99amnGeKJHg9Ck2NzQ0qKioyBQHkZGRmjhxomJjYxUUFKStW7dq165dysvLM16S7sy9e/eqpaVFp59+ujWcgM5iYmJsRvmuXbv03Xffaf/+/aZwwaH7/X7l5eVp0KBBSkpK0ueff24UWHBwsE0xRP4XGRmp3r176+DBg8rPz2/HqbpNMJxHSVaI8/l8RrO4M+ShsTZs2KA777xTixYtUn5+vkpLS1VcXKzU1FTFx8frrLPO0lVXXaVOnTpp8+bN6tKli2UVZBIE9YaGBmVmZuqJJ56wLCslJcVkdPPnz7cb5CdMmKAePXpozpw5+uabb7RixQprlKGjMS8vT71791ZERISWLFmiV1991fzByJEj9dRTT+m2224zSmzQoEE655xzlJKSomnTpmnLli2aMmWK8vPzbdgSdCmUJUG4pKTEAAbrR2MUwRLgdjSvo3LUPp8vTtLrkvpI8iSNkbRH0juSukg6IOkqz/NKfa1YfrakiyTVSLrB87wf/tX787BU/SWZjM5t56ytrdWWLVtUVlamzZs366STTtKOHTu0fv16nXDCCRo7dqwqKir0wgsvKD093Qj+N998Uzt37rRq8Lvvvqunn35asbGxmjhxokaPHq3q6mpNmTJFM2bMULdu3TRw4EA9+OCDqqysVFxcnBYsWKDCwkL99a9/1ZNPPqkrrrjCWrJxdKmpqVq8eLEyMjK0e/duLVq0yApCIJfk5GR98cUXWrx4sbp27aohQ4YoJiZGJSUlJrWCbrnuuuuUmZmpU045RT///LMhkn79+mnRokVWsUYGBDqBRqDyjB4c/SaFS7hJlCAhISHW3XXo0CF17txZ999/v0aMGKGMjAwVFxeroKDAOiRTUlI0fvx4+f1+5ebmaufOnSooKLD0NzQ01GZq19TUaM+ePXrqqadUVVWl7777TiUlJVaTyM3NVd++ffXAAw9o+/btJrE6ePCgOa6wsDB169ZNI0eO1M6dO7Vx40ajPwoLCxUZGani4mK7Ff21117Tq6++akWzsLAw/f3vf9e2bdv07LPPqqioSHFxcaqvr1dOTo6ioqJMxx4QEGDXe0HLYYfYKxI1soB9+/YpLS1Nu3bt0rfffmtNLhdddJE5Nfjuzp07a+DAgWpoaNCmTZv0+++/WxBAoTBz5kxFREToyy+/1LZt22zvKLp27NhRubm5uummm9SjRw998sknOuecc+T3+5WdnW2pdVRUlHXXLVmyxGbi7N69W36/32pE2IHUmlUhj2WmOJ2+u3bt0rnnntuOTigsLNS9996rSZMm6dprrzU6DYVMUFCQhg0bpm7duumll17S/v37bXpfQ0ODUQbw/NCCxcXFJp31+Xz69ttv9d577+mYY47Reeedp1NPPVUTJkzQbbfdprFjxyosLEzLly/X/v37DbFT36JI/M9//lNLlixRRUWFysvLlZeXpxdeeEFz5861rJbnoD8hPT1dJ598sqKiolRSUtIuk4WWAxhBm5SVldmcdfwIxUlXOHBUPvhoyGyfz/eWpI2e573u8/lCJEVImiapxPO8J3w+31RJ8Z7nTfH5fBdJuv2woz5N0mzP8077V+/fp08f77PPPrPuPDYMRM3L7/crKytLO3fu1FtvvWX63smTJ2vNmjVqbGzUqaeeqiFDhlhhq3Pnzho+fLjGjx+vdevW6YQTTtA555yjhoYGbd++XR988IFOPPFEZWZm6pZbblFYWJg2bNigzZs368UXX9Tbb7+tDz/8UOedd56GDRume++9V4MGDdJPP/2kxx9/XFu2bFFaWpo8z7N79caOHavY2FitXr1a+/btswLa9u3btXr1al122WV69tlnFR4errffflt5eXnyPE+dOnXS+vXr9eKLL+rUU0/V5s2blZGRoXnz5kmSPv/8c91666166aWXdNxxx7VTxOC0QSXuZDocNYaEU6ao40qT+BMREaHvvvtOq1at0rPPPmsqA8/zFBcXp7KyMu3fv18vv/yympubNWjQIA0dOlQxMTHKzMw0+gY1SXNz67yFAQMGaOLEiYZkqqur1bFjR/3666+aNGmSFi9erDvvvFO33nqrOnfubOi/ublZX331lebMmaPAwEAtWrTI2un5Lmlpadq+fbtmzZqlCRMmaNCgQcrMzLTgs2/fPs2dO9cmsnFpMNSMWxij445LFuASqWOAOpFugnKjo6M1bdo0HTp0SBEREcrPz9fGjRu1f/9+a+v3PE/Dhw9XY2OjHnjgAXXr1q2dZp3gO3r0aA0fPtzqAuXl5erUqZMaGxu1YMEC/fOf/9RVV12liy66SCEhITp06JDef/995ebmauzYsUpNTVVOTo42bNigTZs2KSwsTFOmTFFqaqp1naKjJrhCP9GQBNouKytTUlKSqVVGjRqlsrIyffXVV/rkk080ePBgXXDBBTb/gmwDVVVdXZ1WrVqlK664wuyU+oerh0erTWCtq6vTwoULFRsbq169eik9Pd0G8Ofl5SkyMlK5ubmqrKzUkCFDVFVVpczMTMuo+D4tLS2Kj4/XyJEjtWzZMpMPTpw4UcnJyZo5c6Zd7QblWF5ebtRYTEyMAcPGxkYVFBTYd3RpRDItbAoHDujkefjOw4cP188///xviep/66h9Pl+MpG2SunnOD/t8vj2SzvM8L9fn86VJWu95Xi+fzzfv8P9ecuTP/StHvWzZMuNjkQbV19crISHB7i9EFVFeXq7Y2Fi7gBZpFgUOCPyIiAj9+OOPWrx4sbKysrRgwQJFRkaqqqpKGRkZuu6665Sdna1HHnlEZ5xxhnUhDRo0SL1791Z+fr5uvPFG1dXV6S9/+Yu+/PJL5eXlWXPKli1b9OSTT5pjRA0yevRohYSE6KmnnlJjY6Nee+011dXV6ZprrlHv3r2VnJysgQMH6v7779eZZ56p4OBgvfTSS/rqq6905plnaty4caqqqtLJJ5+sXr166bjjjtOmTZt03nnnadq0adYOjqMgsEltkwhdg4MKKC4uNuRSVVVls6LdjrOoqCgdOnRIvXv31k033aRZs2ZZ0QyukltYLrvsMnXq1Ek7d+7U119/raKiIptTAafq9/vV0NCgsWPH6uSTT9bNN9/cbu5BfX29Zs6cqT59+ujGG29UZGSk/vKXv+jBBx9UaGiovvvuO23YsEG9evXSE088oVmzZik8PFwPPPCASktLVVpaqm7dumn58uV67bXXdPvtt+uss84yrTnyypaWFl1//fWSpA8//FAHDx5UXFycYmNjVVZWZheaugcQ6Z/ntd0EzxhcOHqKmYdtXVVVVdq9e7ceeeQRG5WK1G7r1q1aunSpDh48aPWFp59+2hBfRESEKisrtXTpUu3du1e///67HnzwQXXs2FGHDh3Sd999p59++knJycmaPn26UlNT7Z4/bI8Mxudru6yCbIqGKqgbZHRhYWGm+mGWM3aFwwQ1Uvj+6KOPVFZWprvuukulpaW2FmjK0USD0uPi4kwOiyPGWbFHqC/cvgfkbm6fAXSDJOsFoCbBWGT2BB6ZQv6oUaNsjsvFF1+sCy64wMQMbie027laX996BVlaWprGjRunCRMmKD093b6XW2Qm4EEblZeXKyUlRTNnztSgQYPUq1evdvz/lVde+R9z1CdImi9pp6Q/S9oqaaKkbM/z4pyfK/U8L97n862S9ITneV8d/vvPJU3xPG/LEe87TtI4SUpLSzt506ZNhlbcxgyQIgiNajWpmSu3c6kA0qXU1FStXLlSgwYNUm1trQoLC63I+Oqrr2r8+PEqKCiwAhrpIlIsv9+vhx56SGPGjFFGRobuuOMOVVZW6qmnnmpX4a+pqTEOEx1ox44dVV1dLb/fb1V0Bs1kZmZq5syZqq+v1/nnn69x48ZZGo7InhbmrKwspaWlKTg42G6/wTA5DEy3Y44EjpoABlJxDZnIzqHw+Xx2acLevXv15ptvauDAgbrkkktsiFJISOs9d99++62ee+451dTUaNKkSerQoYMSExMtVY6Pj1dkZKTuuusuVVdXq7a2VhMnTlSfPn2UkJCgzz77TB988IFCQkL04osvmsOpqamxlL6pqfUSWRAZQaJ///669NJLFRkZqczMTHXq1MkCwP79+60QChr0PE/9+vXTU089paKiIqWlpWngwIGmIOnWrZs2bNigadOm6csvv1R+fr4aGhqUkJDQbqIh2ldSYqlt8iNzInw+nxITE3X77bfrk08+0XPPPafS0lJ9//33WrdunZ555hmNGDFC3bt31/vvv6/o6GglJSVpz549WrFihZqbm3XNNdcoJSXFCrx02ba0tCgxMVElJSXtBuKjtcahuCob1BioQ1AmSa3THCl+Euyhqxhpin9wnS52zr/D1eKsWHue350hg1KFzE5qu/AXR+feHgSNgMKEMwe959qxW7hzG26k1kyIOTw4+cLCQivysTb0EDBzBZqQLuVu3bqppqZGjz/+uEJDQzVw4EClpKQoJSWlndSRixUWL16szz//XCNGjNCFF16o0NBQFRYWSmpVnQ0ZMuQ/5qj7Sdok6SzP877z+XyzJVVIuv1/46g/lvT4EY56sud5W/93n9G3b19v6dKlZvxIb0jBaArBMN1UHk4JyZerDggODlZ8fLxKS0ttiDrUQFhYmLKzs+3uRYp9yN7oRJSk999/X6NHjzZp4G233Safz2cyQuRIyOh4JjrOkpOT1dTUpOLiYmvCoNhAAZF0MSUlRQcOHLCDwM9zCN2GGHfmQ1RUlAoKCowucqVaGLSkdh2fOHEQBAcHGgeOLz8/36bzkT1ER0fr0ksvVXh4uNatW2eFsJaW1tstPv30U23evFnTp0+3Bo2HH35YO3bs0JlnnqlZs2aZUgLVAfvoojoCsjuytrS0VKmpqZJab+g5cOCA4uLirPAH8ge1VFdXKz093W65KSkp0Q033KBOnToZkpswYYL69Olj856xERwE3YmsCU4Ip0J2I6ndIKaDBw/abHPPa7sN/ZRTTtG8efP0yy+/6IcfftAZZ5yh0aNH2w3YIFjUFEgPAwICFBsba7wxtZzKysp28kqX3qLAhTNC70yrNFMpJZkcFsfO+6BqwD5QkZAFcI0a6ifOMbYaHx+vsrIyo1RQ6WCPbis7tlpZWWn/G8klsjp6BNzOQn6X36OuQAdwZGSkyRixDea+kG1iY4ga+A4ECHoBCgoK1LlzZzU1Nembb75RTEyMtm3bpsLCQtXX1+tPf/qTTj75ZHXo0MEau6CYamtr7VkuvfTS/5ijTpW0yfO8Lof//zmSpkrqrv8g9bF8+fJ23XXwORgNB4I0jM3DMImsGDjOPTg4uN2h4ufcdBOeDJkfDi4+Pl4//fSTCgoKNHDgQL355psaOnSoYmNjDdGgJiBFJHUD2WBAtBpjTPX19VZYQMngjkHkBQrmoJNFuANdeHa3qSEkJMTSTJw7AZB0l79DhcDPuTMdCEQYGYGgtrZWHTp00Jw5c7Rt2zYb9xoVFaUOHTpowoQJJocC4YWGhtqsA1JWUmD2miABP4heGIdNxsRzcXMOaIimINYDPhlkRhMCDp3sCScPsgSN0SrO3BVurSdwMXOcTkgcIxkU6BXuGWeJygfkxhVYZA88I9+fiWvYndswRLChjRoKwu/32xnxPM8oRWxIkjVX8Z48Hw4PRBwQEGDB07U9vic2mZCQYD8H+OCz6QLFQdKaHhAQYM7XvcaLdmw+HydPkxbPh0yRtSKwkGFKbZJKsgJAAOedQOCeS/dWGtd2oMUAgyhVCIzQTIAh1pg6BAE3JiZGgwYN0o4dO/6to/63qg/P8/J8Pl+mz+fr5XneHkn91UqD7JR0vaQnDv93xeFf+UjSbT6fb6lai4nl/8pJS226YSreOBAcDVGZBSeNcu+oI9UChYI0QN8YKMbB5pOOETkxJgwjOztbAwYM0IoVK3TMMcdY9x+G5EZbNszl0lxBe0pKiioqKuziVlAJTh5H4XYseYc7p3AUoBeGmMOXouf0HZ4JwbrAleEIQWQERA6FO62PdlueFyfjOv3U1FRlZ2friiuu0Lhx48zAGxoajF4BjeE4WB9JFpB4T9aBNT0SKRGsmf1CRykozx2Cg9PDQbtrCmoiGykrK7MCEGkygYWDxx4QgLE9nBv0EQGN98KmJJk6ory83BAWTUbuXZE8C84a2wKNQ8/x90ga2WfmfhBUkFLinNhfnCcFzqKiIismSq1oNjExUWVlZYasAQsE9oqKCvn9/nZBCEdJHYVzQnu7G1RwpDRp8ZxuVyDdxIAQd/6LexEEdsPP47ip1+A/JNnfM7+ENUPFAdBhcia1MT6fQEUQBKyB5LFJnuvI3+PvUPEczetoOxNvl7TY5/Ntl3SCpMfU6qAH+ny+vZIGHv7/kvSJpN8l/SbpNUkTjuYDjhzmQiTngNEoAlp2pTwcIEl2zRbRLDEx0YzabU3mD7QAvf+gW9BWTU2Nfv75Z5WVlalfv34mZHeRiNvOTNR00QiyJugVuFHQVkxMjE3Lk2QNIygPKOZRKKUzEnTsDiXiIEmyZhTE/hgbn+V227ktwXT0ZWZm2mckJCRYsam5uVl5eXnWuNPY2GhzOOB0MVaQBZPOkCAyi8RtJIFzz8/PtzknODralznYOA4yEboI2UccCQ4KZ40jCAoKso4y7Ajnwd5iH9AYOG8keSB51o39YeQBToM/dK8yoqCmpsaKkmiu3Vvn2RueATvged2Mhefn+XDCrDmBDTADN52QkKBDhw6ZE2GtQkJClJ2d3e492FPADvvvNjS5z8cZIngTVNir5ORkNTY22qQ6ELHb1g9lwHPjC3CyZOEECYIxPDjr7b5iYmKsUxJakawOm2BEL/UVAAoZT11dnVJTUw0QcTaampoMHFI0pzMShw4V5ira/t3rqOR5/7dfffr08T7++GNLG10UQVTm8OAESZ0wIg4cqBFUAoXBWFNQGoZHJCWVoSMQQ1+9erV27Nih559/XocOHTK0gISNCMpBwCm7B54Xz4qRuTQPHYXw43FxcYqOjrbCiLsOLheLcft8PlVUVCgjI8PuBSSggPDg59wiYkBAgB0IDMc1bN5farvBG30oihEOA04RxMNe4Lh9Pp8hU/eFMYNeaWCi2k8qzjOWlJTY2EvUGm7aDlIvLCw0hQprIamdLI81JGujrZo/XGdVVVVlOmccCXuIg4QqAaHhYAjEoMD/id7jEJPSHynX47NZUzr0GDRGQOd2GbeOAQJ3Z3MQYBobG+2qLrcYyXiC5uZmm7HhAieyMIIIYCUmJsYuBHCpOJQzZFvsWVhYmAUc6En0/H6/v92oUBw059ftDOSFraPYAQhg72RE2B17jB90i+bw4IATngVQxPd0aQ1srL6+/v9hxwQG1E7R0dEaPHiwtm3b9v+d+vj/48VBx2lSrIDHZGFaWloMSeEAcejwb27VGxTk8/mMm+ZFAQ0eEw4T2gOndc011yg4uHW0IUYK5UDqhlFwCHkWl0NEiQJq5gVSys3NtWJQTEyMAgMDTTLkyn+gNlgLNJrV1dVKSUmxFJaAAw2CI5Ha5mow4rOmpsbact1xnqy5i2rht13+DqcWHh5uE/lAF+60QlfWRiBkf3CQKCygSwiu7mUQGRkZqqioaCeNAn0TeJqamowyYh8o9hUUFMjv95tiCHDAgaQwCXUmyQIFB821I9fm6DzkQBNQCZQ8H92YZJF8f84BHbkEt4KCAqPH3PTZpQIZJesqNahVQCF5nmfOkQDEfuPEWDOc/JH2wTnD+aF15wJi7FSS7bfrJF1tNeibAMK/u/UAMmZsjTOK7bqSPv4355EgQxB1G0ygNsgucfycOZd/dgEX2TvCAYIV64U9IU1taWlpd6k0gAa65mhef5ihTKBhorDb+MKhRgIntemF3U5G0gp+t76+3tIh0E11dbUSExPNQRAkqHpDffA8ZWVl7SgLHAKpLTRCVFSUFQtJlTg8MTExNnzdbSQgwNTU1NiYSXg2ScYLEyD4LhgsXHJAQOscEXg+RlJyMHHkGDLaVWSDPAccMc4fg4uKijKFSlhYmNEWOCRJhj6YUsjh5XdiY2NtYDpOyy0CQSnB3fNdyXJAc5KMbsIGvMPaehwT43FxSjTMIOukLZ1/Z2YJ6AlKAwTPWroXUfgOa4BramqMMuNAIyvDUZeXl9uBJfPgs2gQIQvECZDqE+hjY2PbSTw5D9BnDJVyUS7BLiCg7c7DxsZGyyak1iYyvo8rO0SJQcBlkBhnj+xHUruiP+eP75mQkGDvXV5e3q5JC2WRy2eDTHG8gCBGkXKFGZ/NumFzUDFcj8dMGPYIu2ZgEv7DHc96ZCHYHTnLbBVXZ09g5bkBLuw3Pg275WZ4xhcczesPgahZOHggKqg4I9IQohBjSd101a0uc6AlGX3AgebmCAwSGoMgAdrj/fl9kCbOwC0OgDBdhEjqi9TMzQRcfSfIHX6TjZVkBg0akmRIitQJI+BGE/hN/jfGSXbi8/nsAlWQJ06QzwHJYKigEYyatQEB86y0WuMYSBXd1P7IgpPblu0+P8HW/TmyALIQikYUfqAGCAjYAmtLIHRVCaAzngnnD90DIuTfyRpoJCFjcItVUGA4eJ6PdN21T1dhQBbkriGyPOwNKoLWapwgc7jZR1cpgr1BdfAqLS1Venq6JBmdRaG8sbHRgmhgYKD8fr8aGxuNNgIhBwYGWhAiU3MdFefKtS/3RfenK7PF2ZGJcAbdrIDCt1sXchUe7nfGRqn5YFOACzI2shECKc8PCCObJRODcmEdJFlgdekQ9sitFeBrjvb1h0DU8EKkVaQkSG9YGKI0ygxX80k0i42NbVeMdGkDUlsOPMgCJMj74PTQl+KQSXM40HR3MVeD9AznyH8lWTqPw+I9XR7MLQzxu26RBCPmPbhN2W1E8Plau+O4seV/Qmk4IZebddNSAhFOLDAw0NpxUS24PCFyM4piwcHBpkd1f5a/B82wVuwvgViSydAIei4vT8ovyRAxVENwcLDx1lAdZCNSK/qDN6QIC5qiJsJ/o6OjTb3j0mIucsexubUP7Iy9BBxQE3F/FtmjO2sDWwgMDLTGJjIn0mkcPEVF1AluzQb0BxBxFTUBAQGmA2bvS0tLjadm3Xk/zh7rhNPHtvi+bpG/paXFnDg8sUshSG0NQ9g4e4JdoOJircj6sH9oUpeLBmxxTjzPs1k6kZGR7ewAwAQQcX8HQQB0H9/RVdxgS3xvSe2yUQAnRW5XMfJ/Uh/8QzhqSe04IaqqpHCkxiwEDgZHyiJ5XtvtLEcaMVIlggKbjfGCMDFMHB88oYsEXI4XtN3Q0GAHHmNwHYTLgbrzADBuFylgcBw40l7oEjeQ8XfclxgSEmKT7EjZeF8OAfJEaB4cIpmNm7KRXVAwQnkB8qQ46CpwXBken83eEaRwQBg9RVl36htVc5w8a0OgJEAy9IaiKBV20A37zZ7GxcWZE6mtrVVxcXG7OgfIEWeKDAyaC5QLYqcG4XmeDepyqQvsBwSE4tYEAAAQCklEQVTlyrU47Mx6Rq9MwELSByBg3VyayM0C3ODn6nyhh9w6A88BQAoJCWl3601NTY1RATw7dROmCbrOl2dCL08NyJUbAgpcRCrJntOlbZj/wc9xRjij2DwZidR6aW5dXZ1RPQRXqC2oPHhr1o4sHn/gBgg3G3CDCnaBYwbVQ7W4tQEKipJUXl5uA9b+qzhql7Nl4XGoOAq3a4kDSnRz0RXvAYeJ8SckJJg6IiEhwT4b45RkqNhVVBwZKSXZ3XQYKocKNEq6h+MEGWNk8OWgNBetgIxc5PG/2juX2DivKo7/jid2GofGsWOnMpQCFRUPoQIVixZYIB7iIQSbLkBIZYHEBomHkBAVK5ZIiJeEKhCIBUIF8RCgLkCosC4PgXiVkiBQCKUwTmLXies0Ti6L7/vdOTYOZJF0JvE90sgz34xn7uPc8/if/72f2QZQqU5GE3J3NawZ83R88phOTY02PGxublYF14jlSERjazRh/3dS3WZmZurNGCwAulDtP1ALcTJmhINyEVgDKb1Kg+McARVDFmrav39/NfoePymX+tChQzVdNfqxMGlxLs+VOmHkk7OZvBvWRSx1T+aFEIL0K4291FJ1Vcdie+xf3tKd02WzI6NAcXgzP8/vUB9zf/wO9Usnp/O1rmDNxTUwOzu7DW/OWK1sCYvmUitdLzoMoP7Vcejo83rLm0ncPGWbsx4aWAAVo1dnxIzd6LOxsVEzvixCaQZNzrnBShb13Mjd/hp0Ces5ptodt5DnndLOjeeVy766EpkIQ52LicIQDpyG1MKGFelMFQIqc8AdVRpPI3Ijdg2Scu7cubpQMgvA6FtP7AT6256TsLS0BFBxtuFwWO8I4UaTzc1NhsNhVTDxPxeOC9Ho5OLFi/XO0kYuGi0VXCzNIyItYgkvZKO/Ez+z7ab2Fk/87Rxl+H35kHoZAGfPnq1pXKZvGVmrxG4wcY5vueUWSik1G3FsL168yHA4rA5FTqtOUZmfn69ppZGtBsYCnVQwjYtQisU0oxyLr3nzkVxYrxk15UW/vr5enaULcDAYVGxcw6Gj0ZhLvfNgL7McMzqxf3n0ZkI6nrxxKJ946GYX03chHCNTjdra2lqd69XV1doP+2awI0RmFL6yskJE1PYbzV+40J1LnfniOib53JkCZ0CSqaGnT5/exvjSGcAI/xXDztCGzBkdmoGZO1/VbyEwxaBPx+TcmuEqGmNZWK77DOX50OnlbNwgRv2Wsjc9Pc3Kykqd6yuRieBR33nnneXBBx+s3lLvLtVNhdfQeqYHUDFjDZncUiNVDcL8/Hzd2ZWpRQ5q3sjiYOfD803HbIsTmOl2nt7lc6OiHD2IReao99Kl0W5J6VG5MCMNybmSGpcPuJmbm6tGXVxV5RXSkKFgpJG3vAOVraBBMPrJRhyoUVlOrf0ex8PvzrdnkkHg9xmZCVv5W0JHOhYXkBzdnG4anZ07d46jR49uu8mEEW/eeep3WpRzXoQfnA8dgTi8RU/beeDAAYbDYY36YHRyWnbsOjrHSxhG4+Jn1N88J0b19tP+7CykWauRmaPuuFbUQ8d0aqo7t1wGjhmODAYjzTNnzlQjlfcn+NtmBY6LUJXFT42XTAcYZVw6D3c7DgaDmknoiBx/nbT/ZxCWaaGuFechEwNgdLqgGeltt90GUDMmx1b7Y1DierX/udivPjs3fv/y8jKnT58GqDZGqNJ1ZfZ73333XdEW8omIqGG0K81qvN45p1mZX6m4Tx9GeKhKoEF1R5eLVCWCDs5ws4mpjbeGOn/+PKdOnapGQajCKribMXysra3VomQudBox6TRysUUxMldBdQqmuOLYg8GgGhgd1NTUFCdPnqyQhBitC//SpUuV4uXBOAsLCxVGcoGIwRpxGOEYXWswcsqrovp/N93U3WPOMzByQVDHNDc3t614avrrXOg8LRKKxe9kTMDokKm8hT6fD6xDzIbNGzNkXm4uTOUCq5GR/+ucGWlmDNqHc7KxsVGj+rW1tW1tAeocCkNp1I1QM8aai8vqqUbDuoXO+ezZszVokYmTZXNzszplHZpnagtVra+vc+TIkQqtmV3kteea0lh6I4jd3teA58BQKMp5doxsv3OQjaxUwsw4EsP3s86ja9C6l9CTJxPmYE+HnzfU5HWa51f7kYv+ZkGOkTsVMyPFwMr1MDc3d31BHyr/U089VQs6YssHDhyoW4HluGZ8yeKK5PbV1dUKc+RCj/SvXBAwQtDAScOS6rS1tVX5zbZTuGF9fZ2FhYV6TdzQqDKf3TEz0x0NKtzgZOdKtjucxI+FTVxoLlqgUs5crFtbWxw9erS+JwRiepr7mavjbmSwMCIcIEadI33bqDIbSRlhmaqWUjh+/Hh1Vqb8eXOFm0KkPRk5ed2HrBaNpYtOA5/ZKUbBs7OzLC0tVTqn/5thB7nQGbsUAsqRtEbS6Cov3uXl5cps0YgZPTonU1NTLC4u1q3aQM0UNYAaWRe8enr+/Pl6r0EdiQ5XQy833wBGqMJgxGxHB6ZRsE8yJxzP4XBYjcn8/HxlJMGIFeGYZWcoNGLNwHXnWd5G8I6P6+PIkSN1rRugOBcRUQt+6giMcG4zGQ297/l5oRfbYlDh2hdW0s7ISzezdk25XuyzZ2+bnQrZSMV1P4OnAwLb6IvT09Pb1vh1VUzU4AjSZww6G13TEo3PhQsXtu2ykhrluRJTU1MsLS0xGHSbF/JmE9/PaZX/rwHQWKkUGnM9ZMbC9a7i3Zkt4aE7YuwwOhjGvrrzcWVlpToOI3Kg4mhikJklYnouDUijpSMwks/pr0bR+xsaFWToxGsyHcRjjVjss/PnQrVQkotpuSru+Iuvayi8qYNjbKTm/1lkFdYyjXf8jQyfeOKJGuE4vmYCOiPH38Wbax1GYrZbJoSZxOzsLCdOnKi3sXKxZngjY6kacdkiGo1cF7Eg6Bh6HoR4s2NmhhYR9c5AuSDm+dZmS7mouJu4rg4ePMihQ4eqI7UWJGwjU+Tw4e5kY7F1g6aMQTtmBg+DwaAe1WrEOzMzw7Fjx2qmKFxksJTPrM44b2ZlmQGqp0IKHlvs/+UjS60lOc/qktl7ZqdYL9GZQlcfMdswKDQaF/e33cK2rpFciwNq4HFFNvKKPnWNxWjC59nLeGPTU6dO1cWtJwe2RUdGijA6GObxxx+vCzzzM2GUlmmgXNgq4czMTB146VManFzAyUbJjQG2RY6nbAwVUMNvNGbF/Oabb67RgJ7a39Kw5xRPPi+MPLcRSuahi0c6xu4gs91mHhbcMj7oc42zr22DbTd6UcR8VWShCKmX/q7jmGleVu0zt942aBA11GK2GlGL0T6efvrpumNNR+HzzKM1PYXR9uvBYMDS0hIR3a2ZpMuZJXgeduaHOy7qlPOcqYvqsoZHR7Nv377K3/VmzNYHdPI5i7HY7TjoKDY2Njhz5kw1Flmcc88kyXUbI0MYnUio45Br7TowKxUOUQfUe6mt8uANIi5e7M7NMFudmZmpN1Y2+3FN6ch1qJlLD1SYU9hB3Zqbm6sQjwwWGDE+rJnYvxzs+FveP9Miqk7fI5Qz3ddMybvUZDjKuoN6at9kXF2JTIShzhS37GG8XZSHm2iwTKEtAkVEvUsLUBe93tX0EEbFR4slDrQKA1TMdXV1lcXFxeqNhTI2N7sbZbpt2aKJDiFHCZmn6vO1tbVtPGqjMavMKrvGVkjHBZ+jabE/oEIehw8frosXqKmaC9HU2r7aTqv5zkEppWLZZin+boYgdEw6ka2trW0bHYzSxfXE3vOGisXFxQqHaIA1zsJfKnhmx2hgZHvYbo2W/ZOCZrSsQ3KLuEemuqA1jNPT3SHxzmnm9ut8TeGNwo2g1cN8TUjLeff3Xdg6Nfsga8Vz083KTPGtDXhYv5GfxknDYUBh/3Mhe2e9xExydXW19itnCkI1MNqlal3H+Zb1ZMRqv9VH9VBIzDsYCb3ZTvXI4MpxzQV9v3d6erpSKDc2NlhcXOTJJ5/cxoLK3wNsu+OLY+9n828bcWdoS4cvS8h6icFLzrYyGSDTca/YRk4C6yMi1unuat4EFoGVcTdiAqSNQydtHDq5UcfheaWUpf/3oYk46wN4rJTyqnE3YhIkIn7ZxqKNg9LGoZO9Pg4TAX00adKkSZPLSzPUTZo0aTLhMimG+svjbsAESRuLTto4dNLGoZM9PQ4TUUxs0qRJkyaXl0mJqJs0adKkyWVk7IY6It4SEY9FxPGI+Pi423MtJSKeGxE/i4hHI+IPEfGh/vpCRPwkIo71f+f76xERX+jH5rcRcdd4e3B1JSIGEfHriHiof/2CiHikH4dvRcRMf31///p4//7zx9nuqykRcTgivhMRf+r14p49rA8f6dfF7yPiwYi4aS/qxG4yVkMdEQPgi8BbgZcC746Il46zTddYtoCPllJeAtwNfKDv78eBh0spdwAP96+hG5c7+sf7gQee+SZfU/kQ8Gh6/Sngs/04nAHe119/H3CmlPJC4LP9524U+Tzwo1LKi4GX043HntOHiHgO8EHgVaWUlwED4F3sTZ34b3EH1DgewD3Aj9Pr+4H7x9mmZ7j/PwDeRLfZZ7m/tkzHKwf4EvDu9Pn6uev9AdxKZ4ReDzwEBN2Ghn07dQP4MXBP/3xf/7kYdx+uwhgcAv66sy97VB+eA/wdWOjn+CHgzXtNJy73GDf04eQoJ/trN7z0qdorgUeAW0op/wTo/x7tP3Yjj8/ngI8B7l0+AqyWUjyTM/e1jkP//lr/+etdbgeGwNd6COgrEXGQPagPpZR/AJ8GTgD/pJvjX7H3dGJXGbeh3u3oqBuehhIRzwK+C3y4lPLk//roLteu+/GJiLcD/y6l/Cpf3uWj5Qreu55lH3AX8EAp5ZXAOUYwx25yo44DPQ7/TuAFwLOBg3RQz0650XViVxm3oT4JPDe9vhV4fExteUYkIqbpjPQ3Sinf6y//KyKW+/eXgX/312/U8XkN8I6I+BvwTTr443PA4YjwWIPc1zoO/ftzwOlnssHXSE4CJ0spj/Svv0NnuPeaPgC8EfhrKWVYSrkAfA94NXtPJ3aVcRvqXwB39JXdGbriwQ/H3KZrJtEdS/dV4NFSymfSWz8E3ts/fy8ddu31+/pq/93Aminx9SyllPtLKbeWUp5PN+c/LaW8B/gZcG//sZ3j4Pjc23/+uo+eSilPAH+PiBf1l94A/JE9pg+9nADujojZfp04FntKJy4r4wbJgbcBfwb+Anxi3O25xn19LV169lvgN/3jbXTY2sPAsf7vQv/5oGPF/AX4HV1FfOz9uMpj8jrgof757cDPgePAt4H9/fWb+tfH+/dvH3e7r2L/XwH8steJ7wPze1UfgE8CfwJ+D3wd2L8XdWK3R9uZ2KRJkyYTLuOGPpo0adKkyf+RZqibNGnSZMKlGeomTZo0mXBphrpJkyZNJlyaoW7SpEmTCZdmqJs0adJkwqUZ6iZNmjSZcGmGukmTJk0mXP4D3AuFBiI+Ad4AAAAASUVORK5CYII=\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"img = cv2.imread(files[7])\n",
"plt.imshow(cv2.cvtColor(img, cv2.COLOR_BGR2RGB))\n",
"plt.show()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"これくらいなら現実でもありそうな状況。これで試していきましょう。"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## 大局的閾値処理、大局的二値化\n",
"\n",
"画像全体に対して固定閾値を用いる手法を大局的閾値処理、大局的二値化などと言います。"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### threshold\n",
"\n",
"一番簡単なのは手で閾値を与えるやり方です。\n",
"輝度値は0~255なのでそのちょうど間くらいを与えてみます。"
]
},
{
"cell_type": "code",
"execution_count": 5,
"metadata": {},
"outputs": [],
"source": [
"gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)"
]
},
{
"cell_type": "code",
"execution_count": 6,
"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": [
"_, bin_threshold = cv2.threshold(gray, 127, 255, cv2.THRESH_BINARY)\n",
"plt.imshow(bin_threshold, cmap=plt.cm.gray)\n",
"plt.show()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"戻り値の第一引数は二値化閾値。ここで引数は固定値なので127であることが明らかなので捨てています。後で出てくる閾値を自動的に求める二値化では重要な情報です。\n",
"それにしてもとても読めたものじゃないので、閾値をいじってよさげにしてみます。"
]
},
{
"cell_type": "code",
"execution_count": 7,
"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": [
"_, bin_threshold = cv2.threshold(gray, 200, 255, cv2.THRESH_BINARY)\n",
"plt.imshow(bin_threshold, cmap=plt.cm.gray)\n",
"plt.show()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"いいかんじ。\n",
"若干のノイズはありますがちゃんと読めます。言語を知ってる人ならば。\n",
"問題はいい感じの閾値を手で与える必要があるということです。\n"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### 大津の二値\n",
"\n",
"[大津の二値](https://engineering.purdue.edu/kak/computervision/ECE661.08/OTSU_paper.pdf)は、白色画素と黒色画素の二クラスに分けたときにそのクラス間分散が最大になる箇所を閾値とする手法です。数学的に分かりやすく、高速で組み込みでもよくつかわれる手法です。"
]
},
{
"cell_type": "code",
"execution_count": 8,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"170.0\n"
]
},
{
"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": [
"th, bin_otsu = cv2.threshold(gray, 0, 255, cv2.THRESH_OTSU)\n",
"plt.imshow(bin_otsu, cmap=plt.cm.gray)\n",
"print(th)\n",
"plt.show()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"大津の二値がすばらしいのは、パラメータがいらないという点です。第二引数は任意でよく、閾値は画像から計算してくれます。ここでは170と求められました。\n",
"ただやはり画像の三行目が薄くなってしまっています。この画像に関しては行によって閾値が変えたほうがよさそうです。画像全体に適応できる閾値を自動的に求めるというのは結構難しいです。"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"大局的閾値処理はカメラで撮られたドキュメントなどを二値化するにはちょっと実力不足ですが、スキャナ画像やフォントから直接画像化したものに対してはこれで十分ということもよくあります。大津の二値は「とりあえず大津で」と言われるほどよく使われる二値化手法です。\n",
"何より高速なので、ターゲットがきれいな画像であれば大津の二値はまず試してみる二値化手法と言っていいと思います。"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# 適応的閾値処理"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"大局的二値化に対し、画素や小領域ごとに二値化閾値を変化させる手法を、適応的閾値処理・可変閾値処理などといいます。\n",
"個人的に局所二値と呼んでましたが、一般的な呼び方ではないかもしれません。\n",
"\n",
"OpenCV の adaptiveThreshold がこれに当たります。"
]
},
{
"cell_type": "code",
"execution_count": 9,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAWoAAAD8CAYAAABekO4JAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDMuMC4wLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvqOYd8AAAIABJREFUeJztnW3MZsV53/9XweDWiQ2YBW13oWB5ldiqhEGPXFxXlWuS1tAo8MFItqKytZD2C21JEynB7YcqUj/EUhUcpAoVhaTryI3tEqesELKL1lhVPph4iSl+wQ5rgtinEFhqTNJYqUt79cM9Bw6z83LNOTNnZs65ftKt577PmTMzZ17+c801c85DzAxFURSlXf5a7QwoiqIoYVSoFUVRGkeFWlEUpXFUqBVFURpHhVpRFKVxVKgVRVEap4hQE9FHiOh7RHSaiO4qkYaiKMpWoNz7qInoPAB/AuBnAewD+DqAjzPzd7ImpCiKshFKWNTvB3CamZ9h5h8D+ByAmwukoyiKsgnOLxDnIQBnRr/3Afyd0AWXXnopX3XVVQWyoiiK0i7PPvssXn75ZYqFKyHUrkTP8a8Q0TEAxwDgyiuvxKlTpwpkRVEUpRxEhDnu4729PVG4Eq6PfQBXjH4fBvC8HYiZ72PmPWbeO3DgQIFsrA+i6MCrKEpB7D641LuSSgj11wEcIaKriegCAB8DcKJAOptjyy/Q0kEqDBFpGRVmrvU8h+yuD2Z+jYj+GYAvAzgPwG8z87dzp6OsH1t4ht9bHrBi1BSTteMq16XKu4SPGsz8MICHS8StrJ+QIKvV6IaZXy+btYh1DwNzz64PRZlMD51TKYvtxtHBWYVaaYxBoLVzbhOtdzcq1Epz+MRaO7Gfpcqm9KIlM0ddXltsByrUmRga8BYbUQl8Yq0ukTilymhJt9Qg2GPh3rJbbDVCXUsgXeKsYh0ntYy0TP0sUTa1RdJnaW+FIrs+lqZGJx6nOW5AtfLSWyOekt/e7nEJtiDSygqEesvCuAUrc9h21kJ5t06BN2EWi1tJo3uhHliqIUlEI1deUoR4imj30Pm2MBhNpaSQqki3RddCLZmS5Zy2hUQ6t6CUEKieOlyrQtHC4mbpspnT9tRNUoYuhVrSkFIW+CSNakmRHgjtKV5zR2ixs9viWOspwNIzjKkD0VAO47JR8tGdUIcaku+cr+OnCL60webqtFvdntZaJ4/Vf836SE271AA4Hqx8A5euM8yjO6G2kQjZnAaijWs5pEKSKuZT6zA2wNdoG1Oe3Jw6+KXONF1iXLKstiT+3Qv1wNTtXsM+6KkNLLXDpOTTFfeWGueYWDnnfoHTnFlYaVLaQKkZmV0+uUQ65d621A+6E2rbBza3slxinSLSEp+c/fir1FKR5sEXTlpOU8U/Zz1I7kPqDpryANKUvfCtD5qpIu0rN1f52uU1tfwUGd0JdendEKk7SaQikCLmoU7guyYFn6XuS9+mlA9SItLD9ynWWkjQpfdpDxZLu0FK7S6yn/zzlY0knN3efWVb+0GxnuhOqAdKri6nWqexhzJC+Zyyg8UmxUK3r4uJ9hKEps1AugguMXW2RWbKjCxH2j5coumysHMskrraf8szjR7pSqiX3ppk4xMTyXUhC8WOU+JS8W0RS72HmNvAlY+cQpRi3edOe60sJZqu9jcVX3tWdnTzUiZ7ira01Rfz07ksLPt618eVznDcd43P4h/nSXqdL31JPubi8j27BoXxJ1fauVlKGEN1v+QglnN9whWPqy2sjZT760aogXasKJfFW0NMfOJZq5xSGp49NXf5SksMDrnx3fOSeV26fHx+7Ry0Xt85Sbm/LlwfLktiaiXabgKfhRI6XlsQW2VKefiswB7KtpYFW9P9o66nOjQt1NLtQanx2Y1+LLxTFl6UNFK3jbVILcFqwX9bO/0t0qxQuzrC3M5huyt8PmJlGXot66XFsoQ/eGo+eq2z3mlSqKU7JKagDa0uvU+dtyzSSj2aFOpeO7ESpmeRrpH38aJ1CyLdY72theiuDyL6bSJ6iYi+NTp2CRE9QkRPm78Xm+NERPcQ0WkiepKIriuZeaUferbIlt4WaG+1rImKdBtItuf9RwAfsY7dBeAkMx8BcNL8BoAbARwxn2MA7s2TzXJsYb9mbVqZvqdSQzBde8trof2iHaJCzcz/DcAPrMM3Azhuvh8HcMvo+Gd4x9cAXEREB3NlNgeuhwPsvbxKPnoWaWB5V4crzdrlVjt9ZfoDL5cz8wsAYP5eZo4fAnBmFG7fHKuO/TBKa51hjfQ68LUk0rXote7WSu4nE12162x5RHSMiE4R0amzZ89mzsab0hF3Anv7njKf3h4OUpHudxa0ZqYK9YuDS8P8fckc3wdwxSjcYQDPuyJg5vuYeY+Z9w4cODAxG3F6E4q14HtwqGXsx9qXpMX22WKetspUoT4B4Kj5fhTAg6Pjt5ndH9cDeHVwkSyN/e4NKT1Y1bafvTVsC7GHDl8rz6H2WaN+W21TWye6j5qIfg/AhwBcSkT7AP4NgF8H8AUiuh3AcwBuNcEfBnATgNMAfgTgEwXyHGWtUzftRGWo+Th4jFoP1yhtERVqZv6459QNjrAM4I65mZqDinQbtPCgRgq18tmSNT2ml3rbCl295jTGWkXaxxbusTS1BpPWrOk10LI7cC6rEeo1i3SPja+HPNfOY8iarumG6bH/lHBf5W4fcwaSJt/1obyBr2J76Ewt59H34i+g/suPWi63Fskt0i2K/iqEWmINpFgMrXQUV55rW4G9I20rtdwhtdte7fRTKWH1AuVEemq83bs+YoVgP5FoXxOLsxauPLT2YESIlvKYulVzqS2aLVnyLaSfiv0aiJzx5SKXS6lroZZ2pnEB5arQJfcy587/ErQw2AFvfvNdS+XY2gypdnmkUKLflRLpXPGtwvUB+K3p3A1wHKf99J0vD75zoTQGWuvQMVrJZw+zj5bz1jo5t38uIdJz4+7Wopa4PEqk6Uqr9F7YHkQHaEekB3zlFSvH1u6jJL1taRv6YG4jrJRI58pnlxb1kiLsO5/biravHa7vVaR73TnRS3nnYO69Ll1WY5HOHWeJ+NT1MSJUEFJ3SA6RLiGqvYhGayKtxMkl0kthi3Qul0cPIg2sQKjnkroDJNRQcgtU6wIN1H3jnI9eLMRazK2npR+OkRgCqXXXk0gDHfqoJY3MF0biY3aFif2eiyu/tcUipZx7ctG4cG3hnBNPKwOWi7kiu/Re79CDSTnizBG2tEgDHQo1IHsVpS2+OVwesTSnMJ7StdzBfUhFusZWRkm6OQcY1zbAlsgh0mNK36fUgEkRxykzwFSjpQRduj5iBSdZ9JNY10svkgzfW0CyMyJFpGvgs8bsTtqqsM4ht4vOFrgWRDpFdEP1nxLGl34KU8qvO6FOHQlTtu4tPa0D2nuMWcJQftKG2tp91CjbpVxDvjWVHHEuvQ5hp2cLqXS2GxqUQwPCOP3aA3t3Qg28UYB2449VpB3HmNqWbC8+3toNVkrqTKp3fPUSqy/J+XF/W2qgSZnZxgyv8Swg1C7Gx0v1x6ll2KVQA+4FQEkBhAqqVgeODTit0MtgMtBKPkNWYe74U9q2VMSXng3McQOO44iJcSxdyUwxdbFxahl2K9RjUkbcuYsRucnROJdE4ouWTEFjcc0hZGGlXJujrbjKJGcdS6b1c0Q6FGYKrnRDZSRJV2J9S404adhxvKH6zLW4vAqh7p2lRXrKwCRZWEkR8VJT6TnWX6p4xdKcK0AxJO6OGFNEPBehdJY0nOamtUReVy/UPVjT4++xnRTSzhnyU6b4MH1x+vIkyW9J/58v3hRrP2X9IkWkQ0wNP1zjy6O0jUjO+9JOYewvVuSsXqgHWhVpe9oWExuX9R1yn0jdABJrWHrcdX4piymnJR3aESApE6mVO3cm5apL126FcZ7Gi/Ep58dhpqIinc6qhTp1qlqL2KKNT4hD1mqKeKdOzV1xS0SppGsnNW5f2YWEbfzXHlRjVqZdPnN9wLGF56mzo6n5UcqyWqEOiUUrjdA1ZU2ZQkunrjEXSywticsiReBKEYp7uN9Qeceuj8UpvbecZdBKW1bKskqhdvnvBoFuqWFPWbGXiELqOanQTFlRX6q8U3cHLJmuoswl+q4PIrqCiB4loqeI6NtEdKc5fgkRPUJET5u/F5vjRET3ENFpInqSiK4rfRNWfl//PnSi1gQaCC/U+AaVmKD67nM47rKUfecURWkHyUuZXgPwy8z8HgDXA7iDiN4L4C4AJ5n5CICT5jcA3AjgiPkcA3Bv9lwH6El4xvmUWP293JeiKHmJCjUzv8DMf2y+/wWApwAcAnAzgOMm2HEAt5jvNwP4DO/4GoCLiOhg9pyviJ4GF0VRlifpNadEdBWAawE8BuByZn4B2Ik5gMtMsEMAzowu2zfHFEVRlAmIhZqIfgLA7wP4RWb+81BQx7FzTEUiOkZEp4jo1NmzZ6XZUBRF2RwioSait2An0p9l5i+awy8OLg3z9yVzfB/AFaPLDwN43o6Tme9j5j1m3jtw4MDU/CuKoqweya4PAnA/gKeY+TdGp04AOGq+HwXw4Oj4bWb3x/UAXh1cJIqiKEo6kn3UHwTwTwB8k4ieMMf+FYBfB/AFIrodwHMAbjXnHgZwE4DTAH4E4BNZczwD+2EPXbxTlLbRfrojKtTM/Idw+50B4AZHeAZwx8x8Zcfeg6xirShtU/KVA73R5T+3TWHKI76KotRF2mdDL49yxdcrqxfqARVpRemDFJFOCdczq3zXx8AaKkgpj8642kHaZ1Ot6N7rdrUW9ZoqSSnDWKBdbxNUlsWuDwm1Xsa1NKsUaqlIh16MJDk2BRWDNnAtJK+hQ/fKlFlNyjvTe2d1Qi0Vade7mF3vas5Z4brLpD7jl1+1hnRhbE1MuedY/a1NpIGV+6hD2P9xw/7tCpczTWV5Qh28tnhvTaCBtH8HN75mayINrMyiniqwkv+eMidPIVfKVjvo0vft6uCtrGOM87Y2gfExRaRj4Vr85yC5WI1Qp3Y6l1jknhaH/kvL1jrmQI2ByTdQjt8FXosttoWpIh2qpxx12LLR1IVQl6oEl7tjKZGuYVHWbog1LFhXPdgiXUsga7WFlpAu6MfcVr7j43PDb/vjy0tL9dK8j1rSkWIC4PJBl1zxl4j0kuLQgt+uFZG2f9cW6Zp5qIF0/3Osv7rii/Xp1HJuqV6at6hzFNaS27BCIj38rSHSNanp7gjVQy1qL1zWQuLySBHpcTxrL8+mLeqp1nStjiDp/LVEuqbluHT6sXpowd2xBST1MGC7gCTtZktl2bRQT6EFkS65i0RKTVfDOM2lfbCxDl67Y9dOvxT2Mwi2lStxT9rXx9ILxeNLJ5b3Vmne9RHCJwzSa1y/c+WjJkvnZ7woM57V5N5FI8lHD8R2L8w5X4uxME9dlJsj0rGFQV880rC1aVqoSxTg0BhyVdKWRdoux5SZRG6xaa0ebCRrFDlcNq2JeIpfeo5Ih+KPxdNamblYheuj1hSnljhM8YXntmwl9x6bmi6Zl5rM3bkkcQu0KDZSkQ6dt8P6xDV1fcqOp8V2M6ZboZZu8xnIvTIs7RhLDQ5L7QeNdb7Q/ZYQ1NR7K+WKCQloiuUWK8+5FulSpIj03FnCeB0ktvg4DtOLSAMdC/VAqJCXqoDa03vJ8RKkinRpMZk6bU7JT2inQiisZACLzUxy5H8JSom0z7WWKtI9CfRAl0KdS4CmNvJUaz4WJmXhww4vjSNHo5xizY/Pl3S/SMJJRc41qAzfxx09NPi40kz1rdrxh+p9StnmsPB918TKPDbI2XHN8etL8tU6XQr1wJzCziX2Kf6wUF6k/kfpgt0SftvcPsg5xDqyZKbhE8TxsZhAhtJzueJSBgv7nO+3lJzC7nLxhMpREo/rdyjvrrZmh+tNoAeaFupQo59qCS8xqtqdzNWApAImnVq7ji/pYphi0ZeetsdEOiYssWM+UbFdHqFBRCo4rrquZR3GBHgog3H+pG1mjrD2KsISmhXqkv5dIE+lSi2hmO9RmieJyEv8xHPxLcrEwtnHcs2IJC4Fe8odchlIhdtXzyF3x5iYeyUk2DVEWirAS+drCzQn1LbTP9UClcQ5F5/VJPXFhqZ3vg7oEhbXlDqU3tzOI7l+ihU1NS8ht4BPjGOzKqlwh+4nZUD0iXqrAlg7/a3SnFADYUGdI9JT44jlw+fe8OUn1LlD02RXuq70BqsnZtHnInfZpqTr8vsOpApsathQvhQlJ9EnE4norUT0R0T034no20T0a+b41UT0GBE9TUSfJ6ILzPELze/T5vxVkozY4gK8eao1xyJcQkiG/EndF65rY/GmWGlbEQtf2YSOK0pvSB4h/98APszM1wB4H4CPENH1AD4F4G5mPgLgFQC3m/C3A3iFmd8N4G4TTkTqNDA1TkVRlB6JCjXv+F/m51vMhwF8GMAD5vhxALeY7zeb3zDnbyCBY9jl9x2OK4qibBnRS5mI6DwiegLASwAeAfB9AD9k5tdMkH0Ah8z3QwDOAIA5/yqAdzriPEZEp4jo1NmzZ2HCv35eBVpRFGWHSKiZ+f8y8/sAHAbwfgDvcQUzf13W8zmqy8z3MfMeM+8dOHBAml9FUZTNkfSaU2b+IYCvArgewEVENOwaOQzgefN9H8AVAGDOvwPAD3JkVlEUZYtIdn0cIKKLzPe/DuBnADwF4FEAHzXBjgJ40Hw/YX7DnP8Kqx9DUZQGyP0g3VJI9lEfBHCciM7DTti/wMwPEdF3AHyOiP4tgG8AuN+Evx/A7xLRaews6Y8VyLeiKAsy9YGz0q8JSKWlvKQQFWpmfhLAtY7jz2Dnr7aP/xWAW7PkTlGU6kx9srdX67VFmnwysTS69S+NOY/vK30zta9oH8vL5oRaR3k5KtDbZmpfUZHOT9P/3DY3S77/ondUpLfNHJ90LdZshG1GqF1vVVPiaFltj5BIx144JglXipgPvWch34RQ91xBS2CXj05d/QwvCWu1Tc3Nl/Q9360Se/tkr6zeR+17v7Wyw/VubEBF2kXoPeItkFOk51zbUpkA/Ys0sBGLOtZw1lCRU1GRltGaKJdG8g8Vxud819Wm5bylsGqh9v2HGDuMoiIdogeRnlt/c3d4zEl7CVrOm4TVCrWr4fVeWaXR8jmXHkR6LnZfSbGmW2ZNRthqhRpw/5/BMWuqyDn02hFL00u5zLGmYyIdu7bV7a69WPpSVrmYmOryWENFzmHr9+9iC4O4RKRjg1UPg1lqXbZ4P6sTanV5KHPpyV8/9xHvWJjYAmLtMnLlY41G2CpdHxJrutUpm/IGNa1ayU6h2m0np0hP3eVRm9g/hl4Lq7KoXY3L1wBbamzKudSqn1i6rT0inUOM1rIVD2jH0s/NaoTa9+BGCGllrrXyW2fp8k6p51qPSA/k2E5nxzmcb/X+Y6y5n65CqKWNNtWanvoeXilzVtzXTE23guRdFrXrqaRfuof7n0PrMwIf3Qt1aDHBdUza2Eo2SldjUVfMjtZdHq107pwuD8nA2Nr928TyZ5/vrb+tYjHRVTnSYy6WFuktEnq5UWsuj9T2UPKlTVNnG5KF9di1tepFGi5FpHvre11b1K4Cd1Wu7fKoMb1TN8cO32yi5QVeSd7s+0q5lxSxTMlDCOmupxpGS2rZ2deHzvco0kDHFrW0wO1wEpFOOS+xnmqKdEviJxGSVn3T0nZTaj9zLP4pIi1Nd06d+PpHjraQ4q4a8iHVjNbo0qL2FXioYaVaRC6mNCiJSEuEoIQAjMOVFshY+bbum46dn+OOkNR9KB9LLHRLwk4ZAKT3FZo5h9Id0kjNW2s0L9SubXcphS6xpiUiMuUBCKlIx+INHZ8qeqV3tPjyM7XDlRxQpvimp5aZ1M3jqh9JPnJY0+M8Tp1JhNwaITeEq7+H0nXFaZNqRbfoGmlaqIfCkzSckC9qjjUSu1Yi/uN8hfIsPR/ruNLO3ZtIL8lUcZS0l1h7dh3P5c4I5W2IJ3UgkeZr3J9952KbAGJtxg4b60PDuRbFeUyzQm0X5BxLeogjxhRB9KWXmrYr/ql5ShnQpuYvRmygyjH9nUtMjKZasFNdGSEBC1ma0rbt8tOmiqb0fMrsMtTWXda4VAty98maiBcTieg8IvoGET1kfl9NRI8R0dNE9HkiusAcv9D8Pm3OXzU3k9IpmKsSp1rTUy3p2LV2mJRptcSKSbHypdPwVGKdcq5Ij+PIzRw3g+Re7AFyuJehLnwCZpfVEC6l/bgsR1+avnuIlY9k8EsZFMbxLjEDbJWUXR93Anhq9PtTAO5m5iMAXgFwuzl+O4BXmPndAO424WYxx5IunUZsYHB1Zmljy2XlhCypUJwlkFqgLeVPEi5F4G0r2SWg0pnPOG5XPU/FNTD6XAR2uhL3QyzOcXg7TG/WcA5EQk1EhwH8YwC/ZX4TgA8DeMAEOQ7gFvP9ZvMb5vwNNGMYTKmUUIXbApli/cQsifF1oQYlmTb70g4JdGjqGMp3bZeHhLnXz2FcfqmzL7vsx1axT5xtJOft9janXFyi7xJTiVXuE2+JQIfYokgDch/1pwH8CoCfNL/fCeCHzPya+b0P4JD5fgjAGQBg5teI6FUT/uVxhER0DMAxALjyyivPSTCHQI/SEvurYmIbij/FPRMKY4ePxZd6bexcLiQ+Rxc+C8wV59z8+UQ2lJZd5in5nDpALcmctGMGwVaFdi5Ri5qIfg7AS8z8+PiwIygLzr1xgPk+Zt5j5r0DBw6IMjuFmIBKLdeU+O04JVaJHV8oXle641lDbDpZsrNIXS++8ONwofLLmd9xOsOxUNmH8lS6fEuxVd9vSXKWqcSi/iCAnyeimwC8FcDbsbOwLyKi841VfRjA8yb8PoArAOwT0fkA3gHgB9lynAnbHZK7c4UsYZ+Yzc1DKwKRUra2L9rl5yxND1ZuScYLdWu9xxrkLMuoRc3Mn2Tmw8x8FYCPAfgKM/8CgEcBfNQEOwrgQfP9hPkNc/4r3GjtS32FuQhN9RstoslIyjY0e1CWQS3pPpjzro9fBfBLRHQaOx/0/eb4/QDeaY7/EoC75mVxXfgWx9ZOym4XZVlqzGKUNJIeeGHmrwL4qvn+DID3O8L8FYBbM+RtM2yhg2zhHnvDXoDWOmqXbt+e1xuujqCdY3nUst9hrx9oO2wbFepKqEgvS86HQdaCa2un0ibNvutjTWhHqEdov/lWUZdHf6hFLSDHdDn0UI1SBt/2QC17LYPeUIs6gL3Hd24cw2/tJOXxrQlsHfuBIm2LfaAWtYecD8LotHtZQgK0ZWGKva9E22e7qFA7sN/LkcuaHuJUyhF68nPLuHz1oXeWKG2hQm2Ru9H2NM3s3aqKiXTr5V+aUq8uWAOtt331UY8IWR1z4225M0je7Nc6KtJ+fOskrbfLJWm9HNSitsjlTx53hpZZg5BJXhu7dWzjQ7fo9YUKtcHVWHO7P1pjTXuMYy9/2iqx922n1HnP7aN3VKjhfqF9jleOtmyphN6n3BO6eOgn5Mobl5mkzrdYnrnuOUc8m/dRu0Q6R5xAu6Lns7Jaza8PiUj3dk+5Cb1fRlLnWxTogZZm1Ju2qH2NMOfe6TmU7CS5B6el6dUvPd5dUHKngWsBEUhrl/ripnbYvEVd4tHuKZ3BdX2JjuG7xx47YSzPofM1ZhB2mqW3bobWHmJp5nqWQMnDZi3qEi6PKXkYWOK/nKjLI3x9SZZMMzYYtyzSre9nrsUmLeraVmVNH2rvL4ea6/LYgki7fvcg0kO6dl7s41tkc0Id2q60dPq+hZ4SHaTEzpZaxF625LuvWrOmuda99P7s86nbL1MXGkszzksL+anJ5oQacI/aSzQCn0jPsWIkVof9cEMobMu4yiZVfFPvO7SGUBqXQEsfVPE9jRhLS9o+lmxHPTw4BpQd3Dblo7Yb40BLIp0jThfj+Nci0i5CwpU6AM5dQ5hjTcfaaGi9wc63VKR9aYXCS33KrnBr80eX7FebsajnuDzmCrur49hxpYqoPU2Npd3z1FHql84p0pJ4U+JIyZNUpF0D/hyRnvLgS8jA8LXpuWlukU0ItctqjQnj+Hxsm1MoHld4SceTxiHt8L2K9MAUl8eUDh4SyVTBD+1MmSLSUwROmt8UwRwPAK61jyHMnJ05rviWpiXjZhNCDbgrOiSYvg7qEu05FkspkZbkrQemujymDFISS3rK4p99fKolLXGPpbi4UtqexIpPEWfpQFuz/bbUd1Yv1CkWpy+caxHHddwX9xA2FibGFEs6Nd6W8OUrxX+bQ6SnWOaugX6Onzh0T672mMvd4QsrcavYeZPS81pKKUSLiUT0LBF9k4ieIKJT5tglRPQIET1t/l5sjhMR3UNEp4noSSK6ruQNRPIdFN/xRxrPuNO5pn2uRubqWJKO5zoWasT2Ocl91RDpId2Yb32qSEvvXxJnqr96XE+plq0vjZiwStY5xmXuc+eF6sXVzueI9Dh91/2rSL+ZlF0f/4CZ38fMe+b3XQBOMvMRACfNbwC4EcAR8zkG4N5cmU0hJtIp8Yzjc1kVsamfK18+MXHlOxR/iiCE8tESUwePsd90KrGBPZb+OOyUe5gyO4jNrsZ1bbdf12+Xy2UcVygvrjRDtNoGW2PO9rybARw3348DuGV0/DO842sALiKigzPS8eKzAKTWmCR+IO4Wkfr4bMvcd358X6F7mSK2taxoF777krp0bAEJzWJ8xKx6yfU1ytQlmnZ55BqMQ2LvQsU3P1KhZgD/lYgeJ6Jj5tjlzPwCAJi/l5njhwCcGV27b469CSI6RkSniOjU2bNnkzPuszRinSu1AeVocL4O43KnDMftTjHVeh/+5uy4pUgRO990P4c17RJBe/AcXzN8poq1b5bkqq9YPbrazhxyxqVMR7qY+EFmfp6ILgPwCBF9NxDW1VPOqWVmvg/AfQCwt7eX3ApcU9xYR1lapGNT1VSXRUp+pliXtZBOp6XXpJbTeEBzxbNE+bkG4lp5UdpDJNTM/Lz5+xIR/QGA9wN4kYgOMvMLxrXxkgm+D+CK0eWHATyfMc/nMMVHW5se85ybOWUQckW5fNU5B/AYU+9ry21BCRN1fRDR24joJ4fvAP4hgG+kjnaQAAAL0klEQVQBOAHgqAl2FMCD5vsJALfRjusBvDq4SHKTe5q3BCmui7Uypd5SrnG5kEpjW+VbrVulDBKL+nIAf2Aa4PkA/hMzf4mIvg7gC0R0O4DnANxqwj8M4CYApwH8CMAnsue6c7QTrxetW6UEUaFm5mcAXOM4/j8B3OA4zgDuyJK7jLRg6bSy20LJSwttS1k3m3gy0f5do0PN2Y2gtIvWa3l8i7y1qKEhqxZq12JSjY6lnXmdSBcrlWm4Ziot9KUadb3a91G3UKHAtEeae8S3z9g+vxbUjVUWdSe9mVVa1K1MlVzbxNZEikVpP9zTM2utz1ZYQxvJzSqFekytadPUR5pbZ+vbC12W3hbLoRS1BsHWB4fVCXXuR8in5qGmTzw3uX2xrXeKGGuq25aIuTtKtZse6nFVQj33BTul8iBtXK355Urlp5X7S8UlFL3eS2vUavut9Tkfq11MBGTv6V0iXQmtWZklXuDUg+Xiw66fnu+lVWLvein1qH8PrMqiHlNDpKdYXC2O6K0NGrXxlYeWUR5i7a2EoC65tTJHH1+NUPu2hC3VmaZYXC2KdCl6vVdfu1LyIBXpUu1mKZGey2pdHzVFeiC1AfZsya5RvHK9SlVxI20zrbzdcGo6OdJapVC3vnWsB1FL9a9LzrdcJz7sPNfcPtZDu0lljX7poa5yPui2OqGusWrs6syhLUYDrVrTOd8PvfQaQc64fCJda2fCmlirX3rcRnL26VX4qGtaOZJjLmIiXVu4pQ1NsiVy6fdBz00vdE89bx9r5d0kNWZgpe+9dFvvWqjt0asVUqzLmNDVFusQrvKvvSWyVHw12lcpkW6BJWdgNUQ6d9/tVqhdj2jXfER8OBYK76PHxarx/fiexGz9Hly04vIo0ZZzT8enIHELus5PzfcaRBroVKhjlV1zy42vkbnO1+40OfDNDlq7L4nYLu3ysNMrMdi1NOuc6iabmu+1iDTQqVC3YPFMmRqvRaR9nb8FMZjLEmsFLgFxlVuudO2ZZ01crjEV6ThdCvWYoXDG25dKNsZQZUgb2lpEevy3d1JdWXPSGXC5InL7pcfC2KLLQ3q/KXlfama35HpMt0IdW8hqwZ/oszZ7F7cWtuJNRdo2llrUKinS4+8tivSAxF0oLZslt+AN35co2y6FWjptKpWui5g1Vruz5KB3twbgdtfYLL3zIEVcUrZMtrJ4OCXs3DxPuXdJ+rUGwC6FGpjmd/N1wNC0zD4+xYdZosMv3fli6fYg4rYV63NLjcPMxbdgGMqfJB5p2i2ItHQGM3em5tt9JMnjEL9059bS5dqdUMdGtJiv0bdLwRd+7vkU6ydGrdE8JY+pFkxMnHJZmBL/cw2RlghKqfY0B0nd+fIhMYAk8fjC2P0khm+Ny3dtjcGvO6EGwpXq8/mFXBGuirWvGS9aSvIiIaUR2uktbcHmtPZSxWlOmiGRLrkbIrWdSGYquQf9pXZDuM6nkBLXFGEfvttlUmr9YAqid30Q0UVE9AARfZeIniKiDxDRJUT0CBE9bf5ebMISEd1DRKeJ6Ekiuq5ExoeCG0ZCW3iH37Yf2xV2HOf4miluDqmfa4olVWOxNPfsYVwXPmtL2tl9cYzDSUS6FimiFrtPaZtICRuKY4pvP0fZ2/197M6aKtLD8RbahA/pS5l+E8CXmPmnAVwD4CkAdwE4ycxHAJw0vwHgRgBHzOcYgHtzZjhk1boqcExsiuQ77rOyXWlIOlQo/Lgh+u5vKUpYR7H4pOU3RbiWdAuMmSJqkut97d01e4z1DSlz405Ne2xcjdPwWcOp5SkduGqLeNT1QURvB/D3AfxTAGDmHwP4MRHdDOBDJthxAF8F8KsAbgbwGd7d2deMNX6QmV/IlekUgZRaJTH/Ycx9EsInutIwKVZrbqTpzZmWh6wcOw3f4FCzjEKEBNRHaErvijd2PGd52G0zJe6p+Zg6mPmY2lakVnsozallIPFRvwvAWQC/Q0TXAHgcwJ0ALh/El5lfIKLLTPhDAM6Mrt83x94k1ER0DDuLG1deeeWkzEvwuTHG52PHXBZ1iuhPmYrFrivNeJCIDWKSeELHU8prbGFJr7HTK21tj9uJ6/5DrjVfHloafID28iNlbr5dhpakf89NW+L6OB/AdQDuZeZrAfwl3nBzOPPmOHZODpn5PmbeY+a9AwcOiDI7lRSRnhNfahyuaVwrxPJmTz1tfFPV0BR2St5Sprvjz3g6XcIl4sqjy0WR0y2hLIfdloBz69MONweJUO8D2Gfmx8zvB7AT7heJ6KDJ4EEAL43CXzG6/jCA52flsiIxS2zL2OIbE52WBqYpYr+m9JV8DHVXsj6jQs3MfwbgDBH9lDl0A4DvADgB4Kg5dhTAg+b7CQC30Y7rAbzKGf3TNQj5RrdOzGpUFGU+0n3U/xzAZ4noAgDPAPgEdiL/BSK6HcBzAG41YR8GcBOA0wB+ZMJ2zVK7BRRFUVyIhJqZnwCw5zh1gyMsA7hjZr6aQ0VaUZRadPlk4pKoQCuKUpvV/RdyRVGUtaFCrSiK0jgq1IqiKI2jQq0oitI4KtSKoiiNo0KtKIrSOCrUiqIojaNCrSiK0jgq1IqiKI2jQq0oShX0RWdyVKgVZSYqONPQ1zPIUaFWlJmo4CiloRYaGRH9BYDv1c5HI1wK4OXamWgALYcdWg471loOf4uZo//iqpW3532PmV2vUd0cRHRKy0LLYUDLYcfWy0FdH4qiKI2jQq0oitI4rQj1fbUz0BBaFju0HHZoOezYdDk0sZioKIqi+GnFolYURVE8VBdqIvoIEX2PiE4T0V2181MSIrqCiB4loqeI6NtEdKc5fgkRPUJET5u/F5vjRET3mLJ5koiuq3sHeSGi84joG0T0kPl9NRE9Zsrh8+a/3oOILjS/T5vzV9XMd06I6CIieoCIvmvaxQc23B7+pekX3yKi3yOit26xTbioKtREdB6Afw/gRgDvBfBxInpvzTwV5jUAv8zM7wFwPYA7zP3eBeAkMx8BcNL8BnblcsR8jgG4d/ksF+VOAE+Nfn8KwN2mHF4BcLs5fjuAV5j53QDuNuHWwm8C+BIz/zSAa7Arj821ByI6BOBfANhj5r8N4DwAH8M228S5MHO1D4APAPjy6PcnAXyyZp4Wvv8HAfwsdg/7HDTHDmK3rxwA/gOAj4/Cvx6u9w+Aw9iJ0IcBPASAsHug4Xy7bQD4MoAPmO/nm3BU+x4ylMHbAfypfS8bbQ+HAJwBcImp44cA/KOttQnfp7brY6icgX1zbPWYqdq1AB4DcDkzvwAA5u9lJtiay+fTAH4FwP8zv98J4IfM/Jr5Pb7X18vBnH/VhO+ddwE4C+B3jAvot4jobdhge2Dm/wHg3wF4DsAL2NXx49hem3BSW6hdb7NZ/TYUIvoJAL8P4BeZ+c9DQR3Hui8fIvo5AC8x8+Pjw46gLDjXM+cDuA7Avcx8LYC/xBtuDhdrLQcYP/zNAK4G8DcBvA07V4/N2tuEk9pCvQ/gitHvwwCer5SXRSCit2An0p9l5i+awy8S0UFz/iCAl8zxtZbPBwH8PBE9C+Bz2Lk/Pg3gIiIaXmswvtfXy8GcfweAHyyZ4ULsA9hn5sfM7wewE+6ttQcA+BkAf8rMZ5n5/wD4IoC/i+21CSe1hfrrAI6Yld0LsFs8OFE5T8Wg3fsw7wfwFDP/xujUCQBHzfej2Pmuh+O3mdX+6wG8OkyJe4aZP8nMh5n5Kuzq/CvM/AsAHgXwURPMLoehfD5qwndvPTHznwE4Q0Q/ZQ7dAOA72Fh7MDwH4Hoi+humnwxlsak24aW2kxzATQD+BMD3Afzr2vkpfK9/D7vp2ZMAnjCfm7DzrZ0E8LT5e4kJT9jtivk+gG9ityJe/T4yl8mHADxkvr8LwB8BOA3gPwO40Bx/q/l92px/V+18Z7z/9wE4ZdrEfwFw8VbbA4BfA/BdAN8C8LsALtxim3B99MlERVGUxqnt+lAURVEiqFAriqI0jgq1oihK46hQK4qiNI4KtaIoSuOoUCuKojSOCrWiKErjqFAriqI0zv8HnkEuMJHXadIAAAAASUVORK5CYII=\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"adaptive = cv2.adaptiveThreshold(gray, 255, cv2.ADAPTIVE_THRESH_MEAN_C, cv2.THRESH_BINARY, 101, 20)\n",
"plt.imshow(adaptive, cmap=plt.cm.gray)\n",
"plt.show()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"綺麗に二値化できました。なぜうまくいくのか一部拡大して調べてみます。adaptiveThreshold は画素ごとに二値化閾値が変化します。(50, 50)の座標の画素の閾値がどう決まるのかを見ていきます。"
]
},
{
"cell_type": "code",
"execution_count": 10,
"metadata": {
"scrolled": true
},
"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": [
"part_gray = gray[0:101,0:101]\n",
"plt.imshow(part_gray, cmap=plt.cm.gray)\n",
"plt.show()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"(50, 50)の画素の閾値はこの 101×101 の部分画像から閾値を求められます。\n",
"ヒストグラムを見るとこんな感じ。"
]
},
{
"cell_type": "code",
"execution_count": 11,
"metadata": {
"scrolled": false
},
"outputs": [
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAXoAAAD8CAYAAAB5Pm/hAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDMuMC4wLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvqOYd8AAAIABJREFUeJzt3Xl0XGed5vHvrxat1m55iS1vsRMnEJI4Jjhkg0BWoJNpOixNQw4TcE+fsB3oJQ0z3dDdpwk9AzQBJt3pBDph2MISsnQCBCeQBeJESbzGji07tiXLtvatpNrf+aNuybIt2bJUUqmuns85OlV166r0vir7qVe/+973mnMOERHxr0C+GyAiIlNLQS8i4nMKehERn1PQi4j4nIJeRMTnFPQiIj6noBcR8TkFvYiIzynoRUR8LpTvBgDMnTvXLVu2LN/NEBEpKC+99FKHc67+VPvNiKBftmwZjY2N+W6GiEhBMbP949lPpRsREZ9T0IuI+JyCXkTE5xT0IiI+p6AXEfE5Bb2IiM8p6EVEfE5BLyKzwkObDtI7mMh3M/JCQS8ivnewZ4hP/2gTD28+mO+m5IWCXkR873BvFIAejehFRPypvT8T9H1RBb2IiC+19ccA6BtK5rkl+aGgFxHfa+vzgl4jehERf2pT6UZExN+O9Kl0IyLia9kafb9G9CIi/nR01o1G9CIivpNMpemMxDGDvqEEzrl8N2naKehFxNc6BuI4B4trSkmmHUOJVL6bNO3GFfRmVm1mPzWznWa2w8wuMbNaM3vCzHZ7tzXevmZmd5pZk5ltMbM1U9sFEZGxZWfcrKyfA8zOA7LjHdF/A/ilc241cD6wA7gd2OCcWwVs8B4DXA+s8r7WA3fltMUiIqehtScT9GfNrwBm5xTLUwa9mVUCVwD3Ajjn4s65HuBG4D5vt/uAm7z7NwL3u4zngWozW5jzlouIjMOuI/2YwYVLqoHZOfNmPCP6FUA78F0ze8XM7jGzcmC+c+4QgHc7z9t/EdA84vtbvG0iItNu5+E+ltSWsaCqFFDpZiwhYA1wl3PuQiDC0TLNaGyUbScc5jaz9WbWaGaN7e3t42qsiMjp2nm4n9ULKqgsCQEq3YylBWhxzm30Hv+UTPAfyZZkvNu2Efs3jPj+xUDr8S/qnLvbObfWObe2vr5+ou0XERlTNJFiX0eE1QsqqSwNA5kplrPNKYPeOXcYaDazs71N7wBeBR4GbvG23QI85N1/GPiIN/tmHdCbLfGIiEyn3UcGSDtYvaCCiuER/ewr3YTGud8nge+bWRGwF/gomQ+JB8zsVuAAcLO372PADUATMOjtKyIy7XYc7gNg9cJKikNBikOBWTmiH1fQO+c2AWtHeeodo+zrgNsm2S4RkUnb3xkhGDCW1JYBUF9RzOaWHpxzmI12ONGfdGasiPhW50Cc2vIigoFMqP/3S5fz/N4ufvva7JoAoqAXEd/qGIhTV140/PjP1i1lSW0Z//70njy2avop6EXEtzojMeoriocfF4UCvOGMSjoH4nls1fQb78FYEZGC8fH7G7mgoZrOgThLvfp8Vmk4OOsWNlPQi4jvbG7uIRJL0jEQo25O8THPlRYFGYrPrqBX6UZEfCeaSLHryACD8RR1c4qOea6sKMjgLAt6jehFxHeiyfTwiVFzjx/Re6Wb2TTFUiN6EfGVdNoRT6aHH889bkRfWpQZ30YTaWYLBb2I+EoseWyA15UfO6IvKwoCMBifPUshKOhFxFdiyWPr73MrTizdALNq5o2CXkR85fiSzMgTpiAz6waYVTNvFPQi4ivRESP1OcUhSrwRfNbR0o2CXkSkIEVHlG6On1oJs7N0o+mVIuIr2dLNxy9fzvkN1Sc8PxtLNwp6EfGVbOnm7WfP460r557wfJk3vXI2jehVuhERX8kGfXF49HjLlm5UoxcRKVDZ0k1xKDjq80dLN5pHLyJSkLLz6I+fbZM1HPQq3YiIFKaYN6IvUelmmIJeRHwleooRfTBgFIcCs2rWjYJeRHwlezB2rKAHb016lW5ERApT9mBsSWjseCsLz6416ccV9Ga2z8y2mtkmM2v0ttWa2RNmttu7rfG2m5ndaWZNZrbFzNZMZQdEREaKJlIEA0YoOHa8zbarTJ3OiP7tzrkLnHNrvce3Axucc6uADd5jgOuBVd7XeuCuXDVWRORUoon0SUfzoNLN6bgRuM+7fx9w04jt97uM54FqM1s4iZ8jIjJu0WTqpPV5gLJwSOvRj8IBvzazl8xsvbdtvnPuEIB3O8/bvghoHvG9Ld62Y5jZejNrNLPG9vb2ibVeROQ40cSpg362lW7Gu9bNpc65VjObBzxhZjtPsu9oF2F0J2xw7m7gboC1a9ee8LyIyETEkukxlz/IKg0HOaTSzbGcc63ebRvwIHAxcCRbkvFu27zdW4CGEd++GGjNVYNFRE4mlkhRMsbyB1llRZp1cwwzKzeziux94BpgG/AwcIu32y3AQ979h4GPeLNv1gG92RKPiMhUiybSY54Vm1VaFDzmAiV+N57SzXzgQTPL7v8D59wvzexF4AEzuxU4ANzs7f8YcAPQBAwCH815q0VExjCuGv0sm0d/yqB3zu0Fzh9leyfwjlG2O+C2nLROROQ0RZMpKkpOHm3lxSEG4ylSaUcwMNphRX/RmbEi4iuZ0s3JR/Q1ZWEAeocS09GkvFPQi4ivjKd0U1OeuZZsVyQ+HU3KOwW9iPjKeA7GVpdlgr5nUEEvIlJwYsnUmFeXyqr1gr57UKUbEZGCExtHjb7aq9F3q3QjIlJYUmlHPHXq0k22Rt+t0o2ISGHJXi/2VKWb8qIg4aCpdCMiUmgGYpkVKecUnzzozYzqsiIdjBURKTSdA5ngrptTfMp9a8uKNL1SRKTQdAzEAKjzavAnU10WpkelGxGRwpId0c+tOPWIvqasSAdjRUQKTXZEP7d8HEFfHlbQi4gUms5InHDQqCw99cK8NWVF9AwmyKzD6G8KehHxjY7+GHXlxXjLqp9UTVkRybSjP+b/a8cq6EXENzojcermnPpALBw9O7Yn4v8Dsgp6EfGNzoHYuKZWAlSWZoK+L6qgFxEpGB0DceaOY2olZK4yBcyKSwoq6EXEF5xzdAzExjW1Ehhe+CyaSE9ls2YEBb2I+EIkniKWTI/rZClgeOGzIY3oRUQKQ2f2rNhx1uhVuhERKTAdw+vcjHdEr6A/gZkFzewVM3vUe7zczDaa2W4z+7GZFXnbi73HTd7zy6am6SIiR/UOZYK+pkxBf7zTGdF/Gtgx4vFXgK8751YB3cCt3vZbgW7n3Erg695+IiJTqm8oc+JTRcmpz4qFozV6HYz1mNli4F3APd5jA64Cfurtch9wk3f/Ru8x3vPvsPGcpiYiMgn93nz48Qd9ZkSvg7FH/Svw10D2o68O6HHOZc8dbgEWefcXAc0A3vO93v4iIlOmL5qJo8qS8Lj2DwcDhAKm0g2Amb0baHPOvTRy8yi7unE8N/J115tZo5k1tre3j6uxIiJj6Y8mKQoGKA6NvyJdEg6qdOO5FPgjM9sH/IhMyeZfgWozy/6NtBho9e63AA0A3vNVQNfxL+qcu9s5t9Y5t7a+vn5SnRAR6Y8mqCgJjWtBs6yScEClGwDn3N865xY755YBHwCedM59CHgK+BNvt1uAh7z7D3uP8Z5/0s2GdUBFJK/6oslx1+ezSsJBYgr6k/ob4LNm1kSmBn+vt/1eoM7b/lng9sk1UUTk1DIj+vHV57NKwkGiSf8H/Wl9/Dnnfgv81ru/F7h4lH2iwM05aJuIyLj1T2BEXxoOMhT3f9DrzFgR8YVsjf50lIQDOhgrIlIoMiN6lW5Go6AXEV/ojybHPYc+q0SlGxGRwpBKOwZiE5x1k1TpRkRkxhuInt46N1kloYDOjBURKQTZ676ebummtCioE6ZERApB/0RH9OGgRvQiIoXg6MqVE5h1k0jj95P3FfQiUvCGV64sPf159IDvD8gq6EWk4E14RB+aHVeZUtCLSMGbaI2+tGh2XHxEQS8iBW8glgn6OcUTK934fRkEBb2IFLxILEkoYKd10RFQ6UZEpGBEYknKioKnddERgBKVbkRECkMknjrtsg1oRC8iUjAisSRlEwj67MHYmGr0IiIzWySeonwiI3rvYKxKNyIiM1wklqTcG52fjtJwcPj7/UxBLyIFLxJLTmhEv7CqlKJQgF1H+qegVTOHgl5ECl4kPrERfVEowHmLqnjlQM8UtGrmUNCLSMEbjE2sRg9wQUM1Ww/2kkj594Csgl5ECt7ABEs3ABcuqSaWTLPzkH/LN6cMejMrMbMXzGyzmW03sy9525eb2UYz221mPzazIm97sfe4yXt+2dR2QURms2QqTSyZprxookFfA8Arzd25bNaMMp4RfQy4yjl3PnABcJ2ZrQO+AnzdObcK6AZu9fa/Feh2zq0Evu7tJyIyJSLexb3Li0+/Rg9wRlUJVaVhdh8ZyGWzZpRTBr3LyP4Gwt6XA64Cfuptvw+4ybt/o/cY7/l32OmelywiMk6D8czUyImWbsyMmrLw8OUI/WhcNXozC5rZJqANeALYA/Q457KTT1uARd79RUAzgPd8L1A3ymuuN7NGM2tsb2+fXC9EZNbKzoGfaNADVJaG6Rua5UHvnEs55y4AFgMXA+eMtpt3O9ro/YTrdDnn7nbOrXXOra2vrx9ve0VEjhGJeaWbCUyvzKosCdM724M+yznXA/wWWAdUm1n2I3Qx0OrdbwEaALznq4CuXDRWROR4uRnRh4YvR+hH45l1U29m1d79UuCdwA7gKeBPvN1uAR7y7j/sPcZ7/knn9yvvikjeDB+MneCsG8iM6P1cuhnPb2YhcJ+ZBcl8MDzgnHvUzF4FfmRm/wS8Atzr7X8v8D0zayIzkv/AFLRbRAQYOaKfROmm1N8HY08Z9M65LcCFo2zfS6Zef/z2KHBzTlonInIKkUnOugGoKg0TTaSJJVMUhyb+gTFT6cxYESloOanRexcV7/dpnV5BLyIFLTvrpiw8udIN4NuZNwp6ESlo2evFBgITPy+zsiQT9H49IKugF5GCFomnKJvEjBvITK8EfDvFUkEvIgWtP5qgomSSQa8RvYjIzNXeH6N+TvGkXiNbo/frFEsFvYgUtPb+GPWVkwv6qmzQD6l0IyIy47T1x5hXMbmgLw4FKAoGNKIXEZlpIrEkA7Ek8ypKJvU6ZkZlaUjTK0VEZpq2/hjApEf04O/1bhT0IlKw2vqiAMybZI0eoKI0rOmVIiIzzdER/eRKN5BZBkEjehGRGSaXpZsqH69gqaAXkYLV1h+lKBiguiw86dfKXE5QpRsRkRmlvS9GfUUxZhNf5yYrezDWj9dJUtCLSMFq688EfS5UloaIp9LEkumcvN5MoqAXkYLVnoOTpbL8vN6Ngl5EClbvUCIn9Xnw93o3CnoRKVh90QQVJTkKem8FzF4fHpBV0ItIQUqm0gzGU5NeojirSiN6EZGZZcC7VmzORvSls7hGb2YNZvaUme0ws+1m9mlve62ZPWFmu73bGm+7mdmdZtZkZlvMbM1Ud0JEZp/shbxzNaKf7Qdjk8DnnHPnAOuA28zsXOB2YINzbhWwwXsMcD2wyvtaD9yV81aLyKyXLbFU5mhEn/3A8ON6N6cMeufcIefcy979fmAHsAi4EbjP2+0+4Cbv/o3A/S7jeaDazBbmvOUiMqtlR/SVORrRl4SDFIcCs3ZEP8zMlgEXAhuB+c65Q5D5MADmebstAppHfFuLt01EJGeygZyrGj14yyDM5oOxZjYH+BnwGedc38l2HWXbCecUm9l6M2s0s8b29vbxNkNEBMh9jR6yK1jOwtINgJmFyYT8951zP/c2H8mWZLzbNm97C9Aw4tsXA63Hv6Zz7m7n3Frn3Nr6+vqJtl9EZqn+aHZEn7ug9+sKluOZdWPAvcAO59zXRjz1MHCLd/8W4KER2z/izb5ZB/RmSzwiIrlydESf49KND2v04/kovBT4MLDVzDZ52z4P3AE8YGa3AgeAm73nHgNuAJqAQeCjOW2xiAjQH0tSEg5QFMrd6UCVJWH2dURy9nozxSmD3jn3LKPX3QHeMcr+Drhtku0SETmp/hwuf5BVWRqandMrRURmor6hZE7r85Cp0ff6cE16Bb2IFKRcLmiWVV1aRCrthpdX8AsFvYgUpP5oMmcnS2VVeUse9/rsgKyCXkQKUqZGn9ugr/YWNusZVNCLiORdfzRJRXFuSzfZpYo1ohcRmQH6o0kqS3M8oi8rAjSiFxHJu3gyzVAilfuDsV6NvmcontPXzTcFvYgUnJbuQQDOqC7N6etWqUYvIjIzvO6dvbp8bnlOX7ckHKQkHFCNXkQk3/a2Z4L+zPrcBj1k5tL3DKp0IyKSV3s7ItSUhYcPnuZSdVlYpRsRkXzb2z7Aivo5U/La2WUQ/ERBLyIFZ29HJOf1+SwFvYhInvVHE7T3x1gxBfV5UOlGRCTv9nVkplaumKIRfXVZkebRi4jkU7M3h76htmxKXr+qNEw0kSaaSE3J6+eDgl5ECsrB7iEAFldPTdBX+3AFSwW9iBSUgz1DzCkO5Xydm6y68mIA2vpiU/L6+aCgF5GC0tI9yOKaUszGusLp5CzxSkIHugan5PXzQUEvIgWlpXuIRTle42akJXWZoN/f5Z+LhCvoRaSgHOwZYlHN1AX9nOIQdeVFNGtELyIy/XqHEvRHk1M6oofMqH5/5ywKejP7jpm1mdm2EdtqzewJM9vt3dZ4283M7jSzJjPbYmZrprLxIjK7DM+4qZmaGTdZS2vLZl2N/j+B647bdjuwwTm3CtjgPQa4Hljlfa0H7spNM0VEMmUbYEpLN5A5INvaM0Q8mZ7SnzNdThn0zrmnga7jNt8I3Ofdvw+4acT2+13G80C1mS3MVWNFZHbLXnBk6ks35aTd0Q+WQjfRGv1859whAO92nrd9EdA8Yr8Wb9sJzGy9mTWaWWN7e/sEmyEis8m+jghzikPMnZP75YlH8tsUy1wfjB1tYqsbbUfn3N3OubXOubX19fU5boaI+NHrnYMsm1s2ZXPos5Z6UywPdPpjiuVEg/5ItiTj3bZ521uAhhH7LQZaJ948EZGj9nVEWFY3NYuZjVQ/p5jiUGDWj+gfBm7x7t8CPDRi+0e82TfrgN5siUdEZDLiyTQt3YNTtg79SIGAsaTWP1MsT7lYhJn9EHgbMNfMWoC/B+4AHjCzW4EDwM3e7o8BNwBNwCDw0Slos4jMQs3dg6Qd0zKih0yd3i8j+lMGvXPug2M89Y5R9nXAbZNtlIjI8fZ1ZOrly6ZhRA+Zk6b+sLcT59yUHxOYajozVkQKwute0E9H6QYyI/rBeIrOSOFfhERBLyIF4fWOCFWlYWq89eKnWnbmjR/q9Ap6ESkI+zojLJtbPm1llCW1mb8c/LC4mYJeRArCvo5BltdN7Ro3I2XWvIe/e2gb3/jN7mn7uVNBQS8iM140kaK1d2jaDsQClISDfOGGc6gsDfP4tsKeJa6gF5EZ70DXIM5N34HYrI9dvoJ3njOf5q5BMpMKC5OCXkRmvOyMm+maQz9SQ20ZkXiK7sHCvVi4gl5EZrzXp3kO/UjZBc4K+aCsgl5EZrx9HRFqy4uoKp2eqZUjNdRmlkQu5LNkFfQiMuPtbY9Me30+q8G7mlVzt4JeRGRKNLX18+L+Lt56Zl1efn758MXCC/ciJAp6EZnRvvVkE6XhIB+9dHne2rC4tkw1ehGRqfDDFw7wi02tfPiSpdSWT+1VpU5mSW0Z+7sK9yIkCnoRmZGea+rg8w9u5e1n1/PZq8/Ka1vWLKmmuWuIrS29eW3HRCnoRWTGGYwnuf3nW1hWV87//dBFFIeCeW3Pey9aTHlRkO8+93pe2zFRCnoRmXF+sPEAzV1DfPmPz6O0KL8hD1BZEubmtQ08sqWVgz2Fd1BWQS8iM86DrxzkTYurWLciPzNtRvPxK1ZgZtzx+E5+8cpBDvUWTuAr6EVkRmlq62d7ax83XrAo3005xqLqUm69bDmPbG7lMz/exC3feYFILEkq7Wb8jJxTXkpQRGS6fP7BrTz48kECBu85f2G+m3OC296+kkQyzfzKEr78+A7++bEdLJ9bzpcf38ljn7qcsxdU5LuJo9KIXnwhnkwP30+k0qTSx640GE2kcM7x1M42vvjwdg4cd9Wgn73Uwjc37J7QCoXOOZ7e1U7v0OiLXiVS6VG3z2TP7u6Y8O9jop7Z3c4PNh7g0pV13PHHb2JeRcm0/ezxmlMc4n+++1w+fsUK3v/mBn72cgs/2HiAVNrxraea8t28MSnoZUZp7RniP597nd++1sZ3nn2dzoHYMc8nUml+9MIBjvRFh7c9srmVN/z9L/n33+3hYM8Q13/jGf7oW8/y0v4uftLYTO9QgkvveJK7freHf35sB//5+31c/fXfsaWlB4Dvb9zP536yma8+sYvvPrdvONwO9gzxhQe38uXHduCc41Dv0PBzA7EkfdFMsD+/t4uPfOcF3v3NZ3i1tQ+Arkicn73UQu9ggiv/5Sk+/+DWY0KzuWuQV1v7GIwnT/gddAzEhj8ckqk07f0xnHM8vLmVw72Zfrf1R/nltsPHfN9gPEl/dOIrLP5+Twcfv7+RZ3a38+XHd/DVJ3Zx1+/2MBBLnvA7H69YMsX21t7hdkcTKX7S2ExT2wAAf9jTyXvv+j3v/uYzfOqHr9BQW8q3P7SG9725YcL9mC4fvHgJ0USavR0RFteU8uiWVl5t7eOZ3e3sPNyX7+Ydw6biE9vMrgO+AQSBe5xzd5xs/7Vr17rGxsact0MKz8fue5Hf7GgbfvxH559BbXkRrzT3sG55La93RPj1q0eYO6eIb3zgQtatqOOdX/sdrT1DxLxRfWk4SCrtiHthefHyWl54vYuyoiCD8RSfvGolP3/5IACfvGoln39wK1eeVU/AjA0725hfWcwN5y3kgRebicRTAFxxVj1P72rn4mW1LJ9bzmNbD1FVFuaRT1zGlx7ZzoYdbZQXh4gmU/zTTW/kW082sfNwP6sXVLDzcD8At162nHe9aSEv7+/mn/5rBwChgPHJq1bx6XeuAmDXkX7e881nmVdZzNvOmsfTu9s51BvlE29fydee2EVDbSk/Xn8Jf/XTzTzX1Mn3P/YW1q2o499+t4d/++0ekmnHDectZH5lMR+/fAU15UW0dA/ym1ePsLcjQnEowJolNaxbUUeNdwJSNJHinx/bwf1/2A9krqzU0j1EXXkRnZE4AYO0g+vfuIDzG6p5tbWP/3Pz+Tzb1M7m5l6ufcMCzj2jksO9UXa39VNVGua8RVWk0o733vV7Nrf0EjC4dOVcdh7up70/xhlVJXz2mrP5X7/YRt2cIs6eX0EgYPyPK8/koqU1U/3PLCecc9xw57PsOtLPrz5zOR/8j404l/mgXlpXxobPXkkoePKx9K+3H+byVfUTnllkZi8559aecr9cB72ZBYFdwNVAC/Ai8EHn3KtjfY+CfuZwzuEcBAI25nbnHGbGUDzFKwe6qZtTzNkLKjjYM8Qf9nTy8oFuLmyoZiCWpHFfN12RODsP93H2ggreu2YxT73WxubmXi5dWcetl62gvqKYrQd76Y7E+cyPN7H+ihVcsaqep15r495nM/OWV86bw/7OCImU48+vXMGTO9rY0z7A2mWZEL/rQ2soDgd4cV8315w7n6FEihdf7+bXrx5me2sfc+cU0zEQIxQwXvjCO2npHuTP7tlIXzTJmfXlPPSJywgFjIc2HeS/th7m6V3trFlSzdfedwGf+OHLbDvYx1Wr57GnfYC+oQQXLqnh2d0dvGFRJdtb+3j/2gY+fvkK3n/3HzjUG6U4FGD1ggo2t/Ry5Vn1VJaGeWRz6/Dv89o3zOfGCxbxQGMzzzV18F+fupydh/u555m9NHcNsrSunP2dEZbUldPSNUhnJE5DbSk9kQRm0BdNEg4aS2rLqCsv5oV9XVx97nzKi4I8vbuD3qEE8yqKOXdhJb/b1U4y7agsCRFLpoc/EN+/toE3LKrk2081caQvxscuW87imlK++Ejmv+qGz13Jy/u7ee1wP12ROD9/5SBm4FzmwGR2mmFRKMCi6tLhpYQB/u7d59IfTfL13+zir687m57BBL/afphzF1Zy2aq5fOmRV4kn06xeUMH3bn0L9RXFU/rveqo07utib3uE9725gRf3dfHBu59nSW0Zezsi/PV1Z1MSCvJ6R4SPXrqMZXXlw/+vIrEkdzy+k+89v5+/uW41f/G2Myf08/MZ9JcAX3TOXes9/lsA59yXx/qe2Rr0kViStHNUlIRxznGkL0Y0kWJhdaY2ORhLDY+6sqKJFNFEiuqyImLJFL/afoTKkhBL68qpKQtTXZbZP512bNjZxv7OzPKui6pL2dOe+RPz8W2HqSsvorI0xM7D/bznTWdwsGeI3qEEDzQ2EwoYf3XtavqjCd55znyeePUIdz65m7ryIt529jz+/ek9nFFdSkvX0PCoeWFVCYe8P89LwgGiicz2JbVlVJeFOWt+Ba8c6GZPe4Rw0LjyrHp+v6eTQW/EnFVRHOLZ26+iqjTMQCzJtV9/mnMWVnL3hy8imsxc/GFRdSmD8ST/+OgOXtzXxap5c/j2n6454cMJYOPeTv70no38259dxDc27GJpbTnf/tAaAHoHE/zs5RauPnc+DbXHXot0X0eERTWlhIMBmrsG+f2eDm6+qOGYn/GLVw7ypUe20xdN8ugnL+OchZX0DiVoauvnjOpSAmZ84cFt/OW1Z7F6QSUdAzGe39tJz2CC97+5gXAwwMGeId72v5/COUimHQGDb3zgQt5z/hnDP+fxrYf49I83cfeHL2JhVSl/8f9eIhQ0bnv7Sj79o03Mryzmc9eczfvWHi13bGnp4R8eeZXeoQSXnFnHrZctZ2ldOYlUmi0tPTy65RDffW4fAG9eVsPnrjmbdSvqGIqnuOSODTTUlPHIJy8bfr3uSJzLvvIkVaVh3rZ6Hj9pbOYLN5zDNW9YwFd+uZP+aJK3nlnHGxdVcc8ze4f/KnvXeQuHf98jPdfUQcdAjHedt/CUo95CcqQvSm15Ee++81leO5L5Sy4cNEKBTB/Pb6jiirPqueeZ1+mKxPnzK1fwV9fRA3E+AAAGXklEQVScPeHfQT6D/k+A65xzH/Mefxh4i3PuE2N9z0SD/oEXm/mPZ/ZOuK35lHKOA52DpJ1jWV05g/EUh70aaHEo86bHkmmW1JYNP3Zk1sSOJ9MsrStjIJqkMxI/5nWX1ZURDgYYiCWHg/d4JeEAsWQa5xguZ2Sdu7CS9oEY7f2Z2nh2BHfOwkr2tA0QT6W5dGUdxaEgq+bN4S0ratnS0suuI/2sXVrLJWfWcdb8Cp5r6qC0KMibl9UOv3Y67XhyZxsLqkp446IqOgdiPLb1ELFkmtULKhmIJaivKOaipUe/J5pIURwKYHZiiI9XXzRBZUmYaCJFwIyiUO6CJZ129EUTwx+wE/GPj77KL7cd5st/fB6rF1aMehByKJ4a/vM+lXYkUmlKwkG6InFqysIT+v1s3NtJyjkuWVF3zPdvau6hvCjIqvnHziDZ3NxDdVmYJd4Vl+YUjz5pry+a4O9+sY2LltXy/rUNOf19F4qmtgG2Hezl4uW1OOCrv3qNcDDAw5tbGUqkuHzVXD579VlcuGRyZap8Bv3NwLXHBf3FzrlPHrffemA9wJIlSy7av3//af+sX28/zC82HZx8o/NkWV05oYDR1D5AUTDABQ3VzCkJ82prHw7H3DnF7DjUR3rEe7SwqpSasjA7DvcTChg3XbiIUMDoGIhxsHuIHYf7h0srV58zn6vOmUdL1xAHe4Y4s76cfZ0Rzl9cTc9QgqF4iuVzy3l+bydnza+guizMnOIQXZE421r7KC8K8uiWQ7z1zDquPnc+zzZ18OK+bj511UpfjcLyLft/cDIfZlIY9ndG6B5McEFDdU5eT6UbERGfG2/QT8Ww7EVglZktN7Mi4APAw1Pwc0REZBxyfmascy5pZp8AfkVmeuV3nHPbc/1zRERkfKZkCQTn3GPAY1Px2iIicnp0RE1ExOcU9CIiPqegFxHxOQW9iIjPKehFRHxuSlavPO1GmLUDp39qbMZcoCOHzZnp1F//mk19BfU3F5Y65+pPtdOMCPrJMLPG8ZwZ5hfqr3/Npr6C+judVLoREfE5Bb2IiM/5IejvzncDppn661+zqa+g/k6bgq/Ri4jIyflhRC8iIidR0EFvZteZ2Wtm1mRmt+e7PblmZvvMbKuZbTKzRm9brZk9YWa7vdvCuJLyKMzsO2bWZmbbRmwbtX+Wcaf3Xm8xsxOvTzfDjdHfL5rZQe893mRmN4x47m+9/r5mZtfmp9UTY2YNZvaUme0ws+1m9mlvuy/f35P0d2a8v5mLPhfeF5klkPcAK4AiYDNwbr7bleM+7gPmHrftX4Dbvfu3A1/Jdzsn0b8rgDXAtlP1D7gBeBwwYB2wMd/tz1F/vwj85Sj7nuv9my4Glnv/1oP57sNp9HUhsMa7XwHs8vrky/f3JP2dEe9vIY/oLwaanHN7nXNx4EfAjXlu03S4EbjPu38fcFMe2zIpzrmnga7jNo/VvxuB+13G80C1mS2cnpbmxhj9HcuNwI+cczHn3OtAE5l/8wXBOXfIOfeyd78f2AEswqfv70n6O5ZpfX8LOegXAc0jHrdw8l9sIXLAr83sJe8auwDznXOHIPOPC5iXt9ZNjbH65+f3+xNeueI7I0pxvumvmS0DLgQ2Mgve3+P6CzPg/S3koB/tSsp+m0J0qXNuDXA9cJuZXZHvBuWRX9/vu4AzgQuAQ8BXve2+6K+ZzQF+BnzGOdd3sl1H2eaH/s6I97eQg74FaBjxeDHQmqe2TAnnXKt32wY8SOZPuyPZP2m927b8tXBKjNU/X77fzrkjzrmUcy4N/AdH/3wv+P6aWZhM6H3fOfdzb7Nv39/R+jtT3t9CDnpfX4TczMrNrCJ7H7gG2Eamj7d4u90CPJSfFk6Zsfr3MPARb3bGOqA3WwIoZMfVof8bmfcYMv39gJkVm9lyYBXwwnS3b6LMzIB7gR3Oua+NeMqX7+9Y/Z0x72++j1ZP8kj3DWSObu8BvpDv9uS4byvIHJXfDGzP9g+oAzYAu73b2ny3dRJ9/CGZP2cTZEY4t47VPzJ/6n7be6+3Amvz3f4c9fd7Xn+2kPnPv3DE/l/w+vsacH2+23+afb2MTCliC7DJ+7rBr+/vSfo7I95fnRkrIuJzhVy6ERGRcVDQi4j4nIJeRMTnFPQiIj6noBcR8TkFvYiIzynoRUR8TkEvIuJz/x9jWQ6fCGybzgAAAABJRU5ErkJggg==\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"hist = cv2.calcHist([part_gray], [0], None, [256],[0,256])\n",
"plt.plot (hist)\n",
"plt.show()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"背景の平均色は220くらいでしょうか。平均文字色はこれではよくわからないので対数でプロットしてみます。"
]
},
{
"cell_type": "code",
"execution_count": 12,
"metadata": {
"scrolled": false
},
"outputs": [
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAXoAAAD8CAYAAAB5Pm/hAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDMuMC4wLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvqOYd8AAAIABJREFUeJztnXmYI1d19t9bpdKuVu/LTM/07DMebGOPG9tsBmPA2I5jtgQMYUkI/kgC2RcTkkBICE++kJCQkHwx4BASYsBAHBs72Nh4i+Nt9sWzT8909/S+aZeqVLrfH1W3VFKrl+nWWn1+zzPPdJdKpVtS661T7z33HMY5B0EQBOFcpFoPgCAIgqgsJPQEQRAOh4SeIAjC4ZDQEwRBOBwSeoIgCIdDQk8QBOFwSOgJgiAcDgk9QRCEwyGhJwiCcDiuWr44Y+x2ALeHQqGP79ixo5ZDIQiCaDj27ds3xTnvWGo/Vg8lEPr7+/nevXtrPQyCIIiGgjG2j3Pev9R+ZN0QBEE4HBJ6giAIh1NToWeM3c4YuycSidRyGARBEI6mpkLPOX+Ic35XOByu5TAIgiAcDVk3BEEQDoeEniAIwuGQR08QBOFwyKMnCMLx6DmO/3hxEJGUVuuh1ASybgiCcDzfev48/vA/j+Drz56r9VBqAgk9QRCOZng2ib9+7BQA4Pv7hqHnal8NoNqQ0BME4ViGZpJ43z+/AAbg927eidFIGg8euojcGhN7mowlCMJxfPO5ATx/dhqfffAYomkN//Hx6/HLb9yM9c0+/NZ3D+EzDxyp9RCrCk3GEgThKNRsDn/+8HH88r++jJ+emMAn3rQVV/SG4XHJeOTX34i37e7CI0fG1lRUT9YNQRCO4txUHNkcR0LV0eR14cOv7bMeC/sVvO2yLkRSGgamEzUcZXWpaT16giCIcnNyLAYA+Kv3XoktHQGEvErB41dvbAYA7L8wi60dwaqPrxZQRE8QhKM4PhqDIjO88+r1uKavdd7jWzuCCHlcODA0V4PR1QaajCUIwlGcHItia0cQilxa3iSJ4aqNzdh/YbbKI6sdNBlLEISjODkWw67u0KL7XLe5FSfGYhiNpKo0qtpC1g1BEI5hNqFiJJLGzu6mRfe77cp1AICHD49WY1g1h4SeIAjH8KMjhnC/cXv7ovttbg/givVhPHRopBrDqjkk9ARBOIbv7x3Cru4QXrVu8YgeAH7myh4cGo5gLJKuwshqCwk9QRCO4PR4DIeGI/i5/g1gjC25/xW9xtzg2cl4pYdWc0joCYJwBM+engIA3HpF97L272sLAAAuTCcrNqZ6gdIrCYJwBPsGZ7G+2YeesG9Z+3c3eeGWJVyYcf4KWUqvJAjCERy4MIs9fS3L3l+WGHpbfbgwRRE9QRBE3TMyl8JIJI09ZnmD5dLX6seFGRJ6giCIumf/oLHKdc/G5Uf0gOHTD04nwLmzK1mS0BME0fAcuRiBIjNc1rN0WqWdvjY/EqqO6YRaoZHVByT0BEE0PAOTCfS1BeB2XZqk9bX5ATg/84aEniCIhmdgKoEt7YFLft7O7iZIDPjOS4MVGFX9QEJPEERDo+c4Lkwnsbnj0oV+fbMPv/Lmrbh/3zCePDlRgdHVByT0BEE0NBdnU1D13IoiegD4jZt2oNmv4LFjY2UeWf1AC6YIgmhozk0ZJQw2t6+sW5TbJWFHVwinx51bCoEWTBEE0dAMTBkrWzevMKIHgO2dQZwajzk2zZKsG4IgGpqBqQRCXhfag+4VH2N7ZxDRdBaTsUwZR1Y/kNATBNHQnBiNYVtncFkVKxdie5fRker0hDPtGxJ6giAalrSm4+DwHPovocZNKbZ3Gv7+6fFYOYZVd5DQEwTRsBwejkDN5nDt5rZVHacj5EGT10URPUEQRL3x8vkZAFh1RM8Yw7bOIM6Q0BMEQdQXLw7MYGdXCC2BlU/ECja1BzDo0EqWJPQEQTQsxy5GcNWGSytNvBCb2gIYjaSR1vSyHK+eIKEnCKIhSWtG1cneluV1lFoKUeBsyIFRPQk9QRANyWgkDQDoaS6X0BsLrs47sJIlCT1BEA3J6FwKALCu2VuW422yShY7r4cs1bohCKIhGTEj+nXLbAa+FM1+N8I+BedJ6MsL1bohCGKljJgRfXe4PBE9YET1TmxCQtYNQRANyWgkhbaAG15FLtsx+9oCFNETBEHUCyNzafSUyZ8XrG/xYSySRi7nrCqWJPQEQTQko5FU2fx5QXeTF5rOHdcsnISeIIiGZHQujXVlSq0UdDUZdwjj0XRZj1trSOgJgmg4IikNsUwWPWWciAVgHW8sQkJPEARRU45eNFKyd/U0lfW4IoNnlCJ6giCI2rL/wiwAlK3OjaA96IEsMYxTRE8QBFFb9g/OYltnEGGfUtbjyhJDZ8hjlVdwCiT0BEE0FJxzHBiaw56N5Y3mBV1NXpqMJQiCqCUDUwnMJTXs2bi6ZiML0RP2YjSSqsixawUJPUEQDcXxUaOv6+XrK1M6xYjoMxU5dq0goScIoqEQJQo2twcqcvyesBfxTBaxtFaR49cCEnqCIBqKgakEOkMeBDyuihx/Q6tRrthJbQVJ6AmCaCjOTyWwqULRPABs7QgCAM5OOqe4GQk9QRANxfnpBDa3VU7o+9r8kBhwZiJesdeoNiT0BEE0DLG0hqm4WtGI3qvI2NDqx9lJEvpFYYy9kzH2NcbYfzHG3l6J1yAIYu1xfsrwzTe3+yv6Ols7gji7FiN6xti9jLEJxtjRou3vYIydZIydYYzdDQCc8wc45x8H8FEA7yvriAmCWLMMmBk3lYzoAWBrRwADUwnoDqlLfykR/TcBvMO+gTEmA/gqgFsA7AZwJ2Nst22XPzIfJwiCWDUXpgyh72uttNAHkcnmrHaFjc6yhZ5z/gyAmaLN1wI4wzk/xzlXAXwHwB3M4C8B/DfnfH+p4zHG7mKM7WWM7Z2cnFzp+AmCWEMMzSbREfLA5y5f+8BSbLEyb5xh36zWo18PYMj2+7C57VMA3grgvYyxT5R6Iuf8Hs55P+e8v6OjY5XDIAhiLTA0k8KGlvI2GynFevM1nFLcbLUrDliJbZxz/hUAX1nlsQmCIAoYmk3imr7K1Lix0xnygDHnCP1qI/phABtsv/cCGFnlMQmCIOaR1XMYjaSxoaWyGTcAoMgSOoIejDmkuNlqhf5lANsZY5sZY24A7wfw4HKfzBi7nTF2TyQSWeUwCIJwOqORNPQcx4bWyls3gNFtaswhxc0uJb3yPgDPA9jJGBtmjH2Mc54F8EkAjwI4DuB7nPNjyz0m5/whzvld4XBlqtARBOEchszaM9WI6AGgu8nrmIh+2R495/zOBbY/AuCRso2IIAiiBEOzptC3Vkfoe8JePH9uuiqvVWlqWgKBrBuCIJbL0EwKEss38K403WEfYuksEplsVV6vktRU6Mm6IQhiuQzPJtET9kGRqyNb3WEPAGDMAW0FqagZQRANwWQ8g64mT9Ver7vJmPQdc0CKJQk9QRANwVRMRXuwekLfY1pEx0ejDV/zhjx6giAagql4Bm1VFPrusBeyxPDnDx/HHz1wpGqvWwnIoycIou7J6jnMJFV0BN1Ve02vIuPfPnYttnQErPLIjQpZNwRB1D0zSRWcA+2h6kX0APC6re3Y0h5EJNXYjcJJ6AmCqHum4yoAVNWjF4R9Cgk9QRBEpZmKG6UIaiH0zX4Fc0m16q9bTmgyliCIukcIfVsVPXpB2KcgoerQ9FzVX7tc0GQsQRB1z1SsdtZNs18BgIa2b8i6IQii7pmKZ+CWJTR5V9tC49IJ+0joCYIgKs5kPIP2oBuMlep1VFmE0M8lSegJgiAqxnRcrepiKTv5iL5xJ2RpMpYgiLpnyozoa0Gz33hdsm5WCE3GEgSxFHqOY2AqgY1VqkNfDFk3BEEQFebkWAxJVcfVGyvfFLwUYgKYInqCIIgKcWBoFgBw9cbmmry+S5YQ8rgooicIgqgUBwbn0Bpw18y6AYCwv7HLIJDQEwRR1xwYnMWejc01Sa0UNHq9GxJ6giDqlvFoGmcnEzXz5wWNXu+G0isJgqhbfrB/GABw2xU9NR1H2KdgjiL6lUHplQRBLATnHPfvHca1m1qxqT1Q07F0hrwYi6TBeWO2FCTrhiCIuuTwcAQDUwm8t7+31kPB5vYAkqqOyVim1kNZEST0BEHUJS+fnwEAvHlHR41HYgg9AJybStR4JCuDhJ4giLrkwOAc1jf70NnkrfVQLKEfIKEnCIIoH/sHZ7Gnr7bZNoJ1zT64XRIJPUEQRLkYjaQwGknj6g21WQ1bjCwxbGrz49wkCT1BEERZODA4BwB1E9EDhn0zMBWv9TBWBAk9QRB1h7BIdnaFajySPJvbgxicSULPNV6KJS2YIgii7piKZxD0uOBzy7UeisWW9gA0nePibKrWQ7lkaMEUQRB1x1RcrVmjkYXY3CFSLBvPviHrhiCIumMqlkF7jVoHLkQjp1iS0BMEUXcYrQPrS+jbAm6EvC4SeoIgiHIwFc+gPVRf1g1jDFvaAxiYSiCt6Q1V94aEniCIuiKr5zCb1OouogcM++boxQhe84XHcf/e4VoPZ9mQ0BMEUVfMJIy67/Up9EHMJjXE0lm8ZNbiaQRI6AmCqCsm40aFyHrLugHymTeA0bS8UXDVegAEQRB2puL1G9H397VgV3cInU1evHhuGnqOQ5Zq1+JwuVBETxBEXTEVExF9/Qn9umYffvybN+BnruxBJpvD4Eyy1kNaFiT0BEHUFVPCugnVn9ALdnUbpRlOjkVxaGgOf/D9w8jVcWkEEnqCIOqGoZkkDgzOwatICNRR+YNitneGwBhwYiyGJ09O4Lt7hzBbx83DqdYNQRB1w698ex9+fGwMfa0BMFa/3rfPLWNDi1G2OJHJAshnC9UjVOuGIIi64eJsCrdd0YPv3HV9rYeyJM1+BdG0hrgp9NMk9ARBEIujmQultnUG0RKov9TKYkJeF+LpLOIZHQBF9ARBEEsihLKjjidh7QQ9LsTSWcu6oYieIAhiCSbrOK2yFCGvgngmi3jaEPpZEnqCIIjFEStiO+qsmNlCBD2uAo+erBuCqBNOjcfw4rnpedtPjEWx78JsDUZUn5yZiOHlKtdyqeeFUqUIeV2IZ7KIZTQAZN0QRN1w21eexfvueQFZPVew/QsPH8enf3i4RqOqP/7uiTP4ne8dqupr1nPpg1KEvC5wnrecZhKZGo9oYUjoiTWFphurFw8MzRVsH5hKYHQuvaJjcs5x30uDSGv6qsdXL6TULMYi6arWXJ+KZ+B3ywh4GqMEV9CjAADSmhE0zCS0Wg5nUUjoiTXFFeuNNRs/PTFhbVOzOYzMpRDL5DMoLoUXzs3g0z88gs/+17GyjbPWZLI5qHquqr5zPXaVWoyQt/CCRBE9QVSQpJrFc2emrN9PjEUxVFRs6oVz04ilNSiysdrySZvQj8ylIMqUjEUvPap3mcfcN1ja43/5/AwiyfqN9kqhZo0odTxaPfEyhL4xJmIBIGgTeq8iYSah1m3XKRJ6ouF58OAIPvj1Fy1x/9R/HMDnf/SK9Xgik8UHv/4i7t87jIwpYCfGYla2xAXbRWF8BUIvRPHC9Pxeomo2hw987QV86/nzl3zcWpKxhH5ldtZKmIxlGiaHHgCabEK/sdUPTeeIreCOsBqQ0BMNz1zKiJZPjcfAOcfgTLIgok+oWeg5jmhaK/DRRZbHoE2gi4Utk9WRyS7uvYtjCv/fTlLNQtM5RqsomKshkckil+PWxWsldziXAuccg9NJnJ2MYyLWWNaN8OgBYGOr0ZCkXnPpSeiJhidpRlGnJ+KYSajIZHO4OJeyHk+rhmilNB1pLWfZA9Omp3phOmlZOmORQqvit757EL/27QOLvr6YjAOA6Xjh8xOqXnJ7PTKXVPGqzz6Kf3r6LFS9OhH9jw6P4oa/ehI3/fXTmEtq6Al7K/p65SRUFNED9Zti2RjT2wSxCElTTM9MxDEaMYQpls4iltYQ8ipImRF3WtWRyeawvtmHqbiKyZjxpbwwk8SmtgDGIukCYcvqOTx9chLrmn2Lvr79LuHkWAyv25aPSlOqcRESqYP1zH5zjuHpU5M2j76yQn96Ig7GgL9931WQJYY37eio6OuVk2CB0Bt/IzN1+jlTRE/UFfsHZ/GlR08iqWbxxw8cxYgtMgcMUf3jB45auctAPmo+MxEviOT/5/QUvvDwK3mh13LIaDrWtxhfStHgYnA6ib42PzqbPAXCdmIshoSqI5pefCI1bbN2Tph9RAenk/izH72CqLk8frURvZ7j+PxDr1iW1KGhOXz1yTOrOmYxBwaNlNPdPU0Fk7F6juMLD7+Cgan5cxAr4cs/OYVDZnrreCSNtoAHd1y1Hj9z5TqEvMoSz64fAm6b0LcZEf1MQsW/PDdQkBxQD5DQE3XF5x96Bf/w5Bl88Osv4t9euIAf7h8uePzYSAT/9sIFPHF83NqWNKPmMxNxXJzNC/2vfHs/vvbsgCWOKc2I6NeFDaGfNqOv8VgaPWEfusPeAk96r7kyNJpafILNbt2I1nI/PjaKb/zPAM5MxAGsPqK/OJvCvc8N4LFXjPN+6NAIvvTYybJmeYiVsLLErHmJsUgaLw3M4GvPDuDPbBPcK2UimsbfPXEaDx4aMY4fTTeUXWNHlhiCZs6/8OinEyq+/JNT+MG+4cWeWnVI6Im6YltnEEA+uiyO8CbMdD97pkzCLBMbz2TnLYQCDO/Z2C8LVc8h6HWh2a9gKp5BLscRSWlo8SvoavJiPJIX+pfNkggpTbci3FII62Z9s8+q1yLuOCbMC0c8ky2weNKabl2glkPC3HciljZ/18F5PjtmtajZHA6a710mqxdYN8dHowCArqZLnyjlnCOeyVorkcXnI7oxjUfT6GpqTKEHYAl9R8gDj0vCWCSFaDpbcJdXD5Rd6BljWxhj32CMfb/cxyacT3GAKvx3waTNbsnvk4UsGZOpz5yaxIZWn/U7kJ8gi5jZOV5FRnvQg6l4BtG0Bs6BsN+NnrAXE7GMJcAHLsxCNDl6+tQkrvr8Y5a189vfPWiVTMhoOhgD1rf4MGleiCZMobfnoQur6NxkHFd+7jHs/pNHcd9LgwXnl9Z0XPcXj+OxY2MAgO+9PIQbv/SUtZBLXECE929/f37ruwdXXLbg+GjUujNJa8ZiKYkZ790LZm2glWTE/M73DuHyzz6Km//2GXDOrYuJWFcwFk2jO9w4mTbFiAnZoMeFtoAbJ8cN6y6lNqDQM8buZYxNMMaOFm1/B2PsJGPsDGPsbgDgnJ/jnH+sEoMlnE86q6Mn7MVX7rwaAOZFvfmIPu8XJ1Ud/X0taA24EUlp2NjqR7ctShQWjUjD9LgktAXcmI6rmDMFp8Wv4M07O5HNcTx4cARpTcdIJI3NbcYt+fNnpzGX1LD3/Cw453jixASOXjQi3ZSmw+OS0BnyWBG3GKfd8xf2zemJOFQ9h2a/gq8/e67AfpmKZzAezeCpU5MAgCdPTmBgKmFdrITQi3kJcQHgnOOnJybw1MmJFdk5520ppilNh6ZzvGVXJwBYdtFKSjycNq2rs5MJjEXTODiYj+jTmo65pFbwWTUaQa8LPkWGLDG0BNzWHI3dzqsHlhvRfxPAO+wbGGMygK8CuAXAbgB3MsZ2l3V0xJojo+lo9rvxs69eh4BbRlLVoek5yzMWQloc0bf43fi5/l4AwLqwD+ua8+IhlvELC8eryGgPGRG9sBCa/Qr6+1qwsyuEf3/xgjUJfNm6JgDAwJQhWEdHIrg4l0IkpVmTtGktB68iozPktSJ5cedhF3oxISsuPB9/4xacnUzgeVs1TWFDHRuJFvyft4JERG/sJyaaxZimE+qKct/FJPbGVr9VX31PXwte3Ztv85nWcsjquUVtrGISmazlwR8ejuDwsCH0cykNY6ZN1h1ePKupngl5FSv7pjXgtgKHhrRuOOfPACiuWXotgDNmBK8C+A6AO8o8PmKNkdZy8CnGn6XP7UJSzeJd//gcrvuLJwDkLZFoOmvz3nX4PTI+eG0fJAb0tfnRZ0biQD5fXnwJPS4JHUEPJuMZa1uz3w3GGH7h+o04ejGKJ08aEfXuHkPoz5kZJ0cvRqxIXlhBaU2H1yWjI+RBUtWRyGQtb76UdSME/0Ov7UPI68KDB0esfcRq3eOjUUzHM9bk7mTRBUR49iKiF2Mq/nm5DM+m0OJX0BJwWxcwtyzhF67vs/ZJazr+5MFj+Pi39i77uPFMFv2bWsEYcP/eISRUHSGvC3NJzbogNXJE3x50o81se9hma3/YqBF9KdYDGLL9PgxgPWOsjTH2/wBczRj79EJPZozdxRjbyxjbOzk5uYphEE4irenwKjIAIOAxIvqjF6OYS2oYmkliMpaxFjddMKP6pJpFwO3CxjY/Hvi11+Mjr9uEP3jHLnztw/0A8hF91ixo41VktAXciKWz1h1Ci9/4kr52axsA4FHTI99tRvQic+fYSBRHL0YAANGUBs450tkcvIph3QDA0GzSSqucjGcgpguEdTOdUNHkdaHJq6C7yVuQvimsKjWbszJTxHHEuajZXD6iV8UdQASyxCAxWOO7FC7OprC+xQePS0LUZnG9Z08v7vv49djcHkA6m8PgdLLA5lmKpKqjI+jB1o4gHj8+AUVm+NlXr8NcUrVF9I3r0d99yy780y9cAwBoDeTPI1NnlUxXI/SsxDbOOZ/mnH+Cc76Vc/7FhZ7MOb+Hc97POe/v6GicRRJEZUln80LvUwyhFxOrP9g/jIlYBpebFShF5k1CNSJ6ALiytxkhr4KOkMeqVFlcgdHjktBuivLZSUO0mn1Gdk9fWwBuWcK+C7OQJYYdXSEAsIqezSRUPG6mduZ4PpvGq8joNLNSjtkiaj3H0eRTEPK4rIh+0lalUZElqNm8p26vnvndl/NxlH3dwFQ8k4/oTaE/ejGC7Z1BbOkI4tjICoR+LoXeZj+8ioyYeZFyuyRIEsNrt7bBq8hWppB4fCk450ioWQQ9Mi43L5g37erC5vYAchw4PWH42Y2cddMZ8mJzu3H32Ba0R/TOEfphABtsv/cCGFlgX4JYFobfbfxZBjyGdSOKR/1g/zCm4xlcs7EFgFGjRnjGfmX+Im8h/sVCL7JuAKM+DmNAkyn0iixha2cQeo6ju8mLVn/+y7vO9JpPjMXglo0xRtN5oRcFuYSvLgi4XWgLui2/fjqesURBcUlWuQEAiGfmL74CCoV+IpaxInlxB3BsJIrd65pw+bom/PTEBG7666cQs90pfPO5AVz9+cfwtr95et4CMM45hmeT+Yg+LSJ62faeSabQ65aHH0lpuOOrz1kraotJmimgfo/Luji/55peNJvv6YnRGAJuuaEWSS1Gi+1vJV2mtNdysZoSCC8D2M4Y2wzgIoD3A/jApRyAMXY7gNu3bdu2imEQTkL43QDgd8tmKYMs2oMeDM0YE4Z9bX60+BWMRdNImpFTwCPPO5bfvDPIFSWheBXJEtojwxE0eZWCdMxd3SEcH41ifYsPXkWCIjMjC+WyTrQGPIgkVbQE3Pjbx08jktSQ0YR1Y1wIiiNqv1vGq9Y14alTk9D0HKbjKrZ2GOsFPLIEzSYKQrj/6LbLMDiTRGfIgy89dqpA6CdjGWvSNqUaRdcmYhlsagvgrZd1IZ7R8fjxcZyfSuKK3jA45/iX/z0PRZZweiKOx18Zx7v39FrHm0moSGtGaYiJWMbyl92ufBzodcnIaDljTYGeQ1rT8dixMRwamsPLAzPYY1587Yi7joDHhduu6EGOc9y4swNPmfMfB4fmsNE2l9LotAYaPKJnjN0H4HkAOxljw4yxj3HOswA+CeBRAMcBfI9zfkmdFzjnD3HO7wqHw0vvTKwJ0loOHiUv9LNJFdkcx3v2rIfLFOOOkBcdIQ8mYxkkTcHzu+fHLC5ZKhArgcclY1NbAMzME2/xF0aUO7sNu6a3xQfGGJrMiLMz5MVvv20H/vSOy3HtplYAMCpimnZTi1+BIjO8Ykb04q7B73Hh1it6MJfU8PzZaUwnVFtEz6AVRPSGOP7C9X34/B2XW4I8aSuhMB5NW9k2CVW3vP/OkAe71zXhk28xAicx/3BsJIoL00n85lt3oCfsxSNHRgvOV2Tc9JoRvUDctQBmRJ/Vrbz9eCZrHWfCdhGyIy5GQY+M1oAbd92wFS5ZQkvAeD+nEyq2djhH6O3WTUrT66o2/XKzbu7knPdwzhXOeS/n/Bvm9kc45ztMP/4LlR0qsRbIaLpl3fjdLsvu6G3143Xb2gEAnU0eK5UxHzXOj+iNY8zf7lUkeBUZvWbNm7C/sNmFJfRmMbOwaevYv8jC6omkNOsuhDGGjqAHsUzWyv4BjDuLG3Z0IOhx4cFDI5hNqmizefR2oU+YzxWCK+qpqNmcNdk7aFsVnFKzVrQvrCOxnxDgR46MQpYY3nF5N265vAfPnJoqsG+GzbIR4g5GUBDRKzJSqm5ZRhdnU/gfs56LeJ1ISsOPj47if83tYr6h+CLcbHu/xZ2NExARvUti4BwFllwpUqqOhw6NFNRnqhQ1LYHAGLudMXZPJHLpk0eEMymYjHXLlo0Q8rjwnj3r4ZYlbGjxG4uTootH9EDevrEjvGchMsUR/eXrwvC4JCvjJiSE3pZVES4Q+vy8wmYzQu1rC1j7BDwyvIqMt+zqxI8Oj4BzoENE9LIEVbdPxuoIeFxg5pJc+wUs7FPQGnDjvK24WELVrVROYR2JOwlxAXjm9CSu3dSK1oAbt13ZDVXPFXTYGp41Lhy9zf4CX95TJPRGRG+I9xMnJqDpHH63jEnzzuFvHjuJT/z7fnzg6y/iwnTCujsJFvWAFRPfALC10zlC39XkRcC06YClUyxHIil86r4DeHmgOHO9/NRU6Mm6Iexk9Rw0ncMn0itt0XjI68IdV63HS5+5CR0hj2Hd2LJPAiUid8CwTYrxmKK8pV0IfWFE3xHy4KU/fCtuflU3gHwnofYSEX00pSFlSwm950P9ePQ3b8ADv/p6S+DEReimyzqtL7+I6N0uCaptcU0iky0QRpcsWYLrdxtpocO2wm0pVbciapH143ZJaPErmIgZzb3PTyWtu5SrNhgriO1Cf2E6ibBPQdivLBKWnOrJAAAajElEQVTRS4imstZ8h6hkuas7hIlYBpxzPH58whrrXFKzLgrFzb7DNqHf0u4c6yboceH5P7wJ7+03clSWSrEUTUpaApVvn0hFzYi6QWQqeG0LpgRC/MRtf0fIAzWbs3KxSwk6sJB1Y0b0nYbI2IVHEPYrVlTdZFk3+Yg+5HGBMUPoC3P/XdjZHULYr1h1UERU/qYdHVZOvVhc45algs5UCTU7b8wB2wWjNeC2InDAuDBMxjJgrHDBTod5xzOTUBHPZLHBbIwhSwxv3tGBp09NQjdVe3AmadlM9ojeLvQel2wtEAPybRN3djdhMprBqXGjRPTbzYtjStOtDKJgka3mkiXrvdniII8eAJq8ihWoLBXRi2ywNhJ6winYa5lH09q8lEcgn6ngLRnRF4pxp5l7LY5bStDt2+0TiyLqzFs3i3/RxGSs3aOXJIaQx4VoOouMlrPuEuyIpfEiom/2u3FNX4t5LOHRsyKPXp9ndYgLhd8toy3othZjAUBSMyL6toAbLts5doa8mLStrO0zhR4AbtzVidmkhoNDRlrk4EzS6pBkj+iLrRs7F6aTCHlc6G3xIZbJ4mFzYvbWy/NCv5BHDxjv+fpm34KWWyMj3sOlyiDMUERPOIlnTk3ixi89hX1m2d8/fuAoPnzvi/P2s4Tell4psLdtA4AOUyhFZLmw0BvPE5kejOVFf0dXCG5ZsiZlF6K3xYfWgBuhIgFu8imYTapQ9Zw15oLHzQuEfWw3v6obbpdklfwtNRlbbHWICVmfWy6YJwCMNoqTsTQ6QoWLjsQchiX0bXmhv8Hs4vTCuRlk9RwuzqYsoS+I6OXCPHo7kZSG1qDbmvj9wb5h7OoOWXMUaTUv9MXnAxjvqfCynYb4W1gqxXLGLOHRukSgUQ5qejmlPPq1wdNmJcanT03imr4WXJxN4ejFKCZjGStTBMjf6npsWTeCYqEXfvR5swxCYKHJWFNkW/xujEcz8Lgky5JpDbjx099905K1Vj72hs147zW91vMEYZ9iFRkrjngBzPPoAeAXX78ZN7+q27pDUWSpoKZ8PJPFhoC/5HECpnVj355UdaQ1veB9BGCln56fMt6fDbaIPuxTEPS4MJNQMTKXRjbHrQtBQURv+9lX4vxaA27rzuriXAq//IbN1sI1o+aPucahxEX4qx/YA0kqtbi+8fEu17qJq/ApMnwLBCnlhCZjiYrz/FmjOuML5v+iXPCLA9MF+xVbN/ZIuDgqFJGkqLviXyK9UtgzxYLc2+IvsDxK4VXkksv0m7yKlavuK2HdFHv0gOGR20XX4yqK6NXsPGEU8w8+07oRtAfdSJnWTWcJoVf1HI5cjKCryTPvvMM+BXNJzSr3LDokFUb0C1s3gOEtd9jmLV67tQ1et/GclKYjoWbhcUkl39+WgLvk3IgTEBfL1DIi+tYq2DYAWTdEhZlLqjg+FkXALePA0CxSqm5VjBQXAIEoRWwJvSlwxurUwj/VoMcFryJhLqnBJbECUbJTbN2UslhWSpPPdckRfTFK0WRs0kyvLDxOvsib3bppD3oQNydjS0X0ALD3wgz6WudPeDb7FURS6jxrZ7Gsm2LaAh7rzkpiwGs2t9omIvV5GURrBa+yPOtmNkFCTzQw9+8dwng0jYNDc/ijB46Cc+Cjr98ETefYd2EWkZThTdrrsAP5W12vLZ0QmD8RCwCMMStv3O+W59kqguKIvtSk6UoJ+xTETB+6pNCLiH6RW3NFlqDnuJUBEy8hjsKW8hdZN+1BD0bmUsjm+LyIXrw3c0nNalxtp9lvRPSD00m4ZcmyrxbKuil1fq1BN1r9brgkhivWh9HkVaz9UqZHX8qfdzp2oU+pOr753ID1+dqZSahVmYgFaMEUUWaGZpL4ve8fxv17h/APPz2Dh4+MYntnEB993WYARgNqTecIeV04N5mY10cVgOVZiuiweBJU8PptbfApspXJUgoh9EIgyxnR2+2cUhHv9s4QtncGcVnPwpOOisu4QGm60dQjk83Nn4y17gwKrZu2oNu6OPa2FIr5jq4gus0FPK/f1jbvdcM+BXMpDcNzKaxr9lp+ubgQSgxWyQmg8AJgrRQOuCFJDDfu6sR7rzFKNSiyURtIpFeuTaE33sOMlsNDh0bwuYdewZESpaNnkmpVUiuBGk/Gcs4fAvBQf3//x2s5DqJ8iObPE7EMJmJp3LC9A//6S9eCcw6vIuGM2VpuR1cI+y7MYjKWsTxrK6K35aQD8ydiBV9895X44ruvXHQ89tRGoLwR/ZW9zdbPnhIRb0fIg5/89psWPYawnFQ9B1GheH4evS29UuTfu6SCOx17JyjASN984Q9vWvB1wz6jG9JkNGNNqAJ5QXfbJq2BwgtZV5MHkZRmXXRE3X+BKC+dLDHfsBawIvqsjuOjRgXSaEqbt99MXF0ytbdckHVDlBXRE3QimsFENO8dC6tF1CDf0WXksNsLYi2UXhlcQOiXg2X/eFxwSaysEf2rN+TFdaXHFfaIls1Z6Yjz8+jFZKzL7IRlnJcQ0Y6Qp0Csl4Pw6Cdi6QLbRwh68ZyH3boRtlBrUaqnwChdQdZNWtOtZujxTGEN/7SmI6HqaA1UZ0KahJ4oK2IRzngsjal4YTZIR8hjLXDa1mksyRd1UoB8lkK+qJkQ6ZV/GawJXbcMnyKXNaLvDC1u3SwHMcms6XzBvPN8eqXZhNrvRsDtsiyunWZzlEuh2adA0zkuzqUKJnLzEX3hhcsu9GL/hWwHnyKb1s0anYw1L94zCQ0nx4xKprGiHgAiIWGhi2W5WXufAlEx1GwOR80SvWfG4/MmCTtDHivDZLGIPl+m2PjzXFVEb+tW5XXLBV5zOZCYUe++1GTlcsgLfc7qFlVcidNvWzAFGALLkX+/dqxE6M1CbprOS16wPK7iiF6y/he1f+zzBYX7GpUuk6q+4EI2J+OSJbgkhr3nZ6zaQMVduUQfY4roiYbgt793EF954jQA4ORYDGrWaGAhslHsKzbtor+5PQBZYlaFxY/c+xK+/uwAgLyoyBKDT5FXlW9tz3wJuOWyC8+bd3YCKJy4vBRE/9sfHR7Fz//z8wDmZxkJYRV3Nu1BD4Iel1X10m4hLZewLy/SnSUi+nlC78pfMMM+BYwtXDrC585H9GvRugGMi93eC/nOW8VCP5tYQxE9rYxtbHI5jv8+MoY9fc0AtuP4qBHNv3lnB7794iCA/ApWAAUWQVvAg7aAGxPRDCIpzVo9ay9RAAB/f+fVVuXFldDf14IvvOtyXLu5FX/xrisKCpOVg797/1V45Mgotq2w3K4Q1ENDc1CzOfzezTvxatskL2CULPiLd11hlQz49K27oGZzuKynCT1hL26/ct0lv26zrTRzgXUjPPp5EX3+LuvO6zbisp6mBe9ifEq+M1iz35mLopbCq0iIZ4DuJi9iaW2eR2+VP1gLET2tjG1sBmeSSGk6Zszo5MRYDF5FQv+mfLpjoXVjRPdul2S03mvyYCKWxqnxfG9U0cBD8NbdXQUrSS8Vlyzhg9f1wSVLeN229lVdNEoR8ip432s2LpjHvxTCuplLqfAqEn7txm0lRfYD1220UiCv7G1G/6ZWBDwu3HntxhWVErALsP1i7LVl3dgRqa4+t4yesA+3XNGz4LH9btmqKlqtrJJ6Q9wZ7ewOIeRV5nn0M2bHMMq6Ieoe0bx6zoxOTo5HsaMrVJBfbo8WO0xBMW79mVVh0d4EO7NExT+nIYQ+kspWtZKj3Q6ze/SKzObdVQH2+kNLW19eRbZKQ1RrQVC9ISy5Xd0hBL2uEhG9BsYKu21VEhJ6YsWcNAV6JqGCc46TYzHs7ApZUXzQ4yoQL1EXRXQY6ggaFRZFZgIwv5G30xFCH01pJQuHVYpmX77tnb3jE2NGCmpxdpJRDK50cbNifIpsfY7F3bvWCmNm16+d3SEEPa55Hv1MIoNmX2FT+kpCQk+smJPjhkBnsjkMz6YwFVexsztkTcDOW5ZvRvTCNuhs8mAqnsHx0Rg2tC5eKtipCIskktKqmqHiVYzG6R0hzzzrx6NI8yJ6xhg8LmlZY7RXY1yr1o1Y/GdYN/OFfjahVa3ODUBCTxSR1vSS9kla06Fmc+CcW7ehJ22Wywtm3Zpd3U1o8rrgMUXETlvAA4nlMz46Qx7kOLDvwixu2N5RqVOqa4SgxjPZqpSrFTBmRPLFF2PA8OmLPXrAsGSWYy/Zo/5qilk9srUjiJBp3STVLLJmpdKZKhY0A0joiSJ+67sH8bv3H563fdcf/xg3fukp/Mtz53H5Zx/F4HQS56eT1mKdF84ZDY53dAfBmFGKt7j+iiwxrG/xoTtsiMu65nwU/6p1a3NCXtS6AZZni5ST7rB33mcEGHdczb75ItTqdy9LnCiit687kBHyGJOxu//kUfzqt/cDMAuaVfG9ofRKooDz08kFb88vzqXwv2Zp4YcOj0DPcezpa8bJ8RgODs0i6HFZPvw3PtJfMof6W790nTUR+KYdHfj6h/uhc4437ejAW3Z1Qudry6S3l1+u9uKir35gT8mVwvd8qH/eoi0AuPejr1nWmgZxwfIqUlXvUuqJZ37/RmRM+ybodVltAx97ZRyAkV5ppCVXBypqRhQQS2uLLv4RdcufPW3kvb+6txn3vTSEs5MJ7O5pstIM+9pKN33e3J7f7pIlvHV3l/V7d3jtiYK7QOir+3VcKG21VFljANjUvrxG3kLc12o0DxRmMoW8LmtFuFuWwDnHbJUjerJuiALimSzU7MIt0ER/VWHVvHpDPirZuIp897WK3Qt3SvQrFlKtZaG3Y6/30x32IprOIpvj5NETtYFzjlg6C1UvFHp7q7sCYVJkbO8MQqwV6lsgEiQWppbWTaUQ1s1an4gV2Mtsdzd5MZsQq2JJ6IkakNZy0HMcmaIWaImixR6Cja1Gv9UmszbLQrf8xMKIhTWAcyJ6ccFaq+UPirHXLvIoEqZNoa/mYjISesJCLNMujuiLc4AFQthFZFKqNymxOAURveKMAmAU0Rdit24y2ZwV0VeruxRAQk/YEBUnM9nlCX2f6cmLyI2sm0vH7UDrxmtF9CT0QKF1o2ZzVkEzmowlKsqJsSim4xnMJVUctfWyjJuCXjwZKyL94tWSVkRvNojuCV9alyMCkCRmZTk5xbqxInqybgCUEHoR0S9Qz78SUB79GuSj976M267sQcDjwr/8zwCO/OnNAPKRe8ZcAStSJcVK2OIGIKKc7vauEGaSKlwyxQ0rQZElZHPOadLR1eSFV5FW1BDFiXSaTdq1HIeq5zCX1OCWpaoukKMyxWuQuZSKSEpDJKkilslCNytQxTP5Uqoi79fYbgi9PTJ59vdvtFIrf//mnfje/3ltNYbuSMSErFOEvjXgxuHP3ozXbWuv9VDqgiavgv1/8jbcenk3MlkdaU2HV5FWXNp6JVAItsbgnCOt5ZDWdKtHq2hJF7V58fYJWbHdPqlk70AkSaxgUpG4NETKqq/KC6YqSalaOWsZj8toY6lmc6bQV/eiTp/GGkNMtKY13aqwJ4Q+bhd6m08vtodW0buVWBgx9+GUiJ4ojdsl1Uzo6Zu7xkhbUXwOEjN/NkU9toDQi8nYcjfWJgwUEdFX+ctPVJe80OesomfVgoR+jWGP4kUdciuit3n09lLFwqOvoqW4phC2l1OybojSeFwSMtkc0lmK6IkKY0X02VJCv1BEXzqPnigPClk3awK3S0I2x5FUdas3b7Ugj36Nkc7mrZuMzcYBCidjMyT0VUNMXDplZSxRGvE5R1OataisWpDQrzHs1o34OVNqMlaf79ETlcEtO2vBFFEaMekeS2fhrXJWEoUQa4zSk7HG/7G0BlliZmEzW9bNAkXNiPKgyBJcEqOURIfjsfUHpvRKoqIIoc9oeoHoA4agi0JUhRE9CX0lUeS124lpLSGy1uKZbNWzbkjo1xj2yVjxc0rNWzeiol5BHj1F9BVFkSWaiF0D2O/YKKInlo2azWHT3Q/jP14cLPn4h77xIjbd/TB+/b4DODUewxv+8qcYnk0BMEocJE2BH4+lcfXnH8NIJI2OkNHz9UeHR7Dp7ocxm1ALvHui/PjccsGqY8KZrFmhZ4zdzhi7JxKJLL0zMQ8RiX/xkeMlHz8zEQcAHL0YwfHRKIZnUzg+GrMez5o1bs5MxDGb1PDOq9bhl9+4BQDwXwdHAAAD04k117C72vz6W7bhi+++stbDICqMvfprtSdjqahZAyOb2RqxJayVaDprpU5OxTPzHp+KG2VTf/41G7CtM1jwWBOVPag427tCuHZza62HQVQYj82X96yliJ6oDvGMZtkvk7ESQm9uC3mUgmJlAOCWyTsmiHJQENGT0BPlJq3lMGd2tSkV0U+a20Je17wUPyp7QBDlodCjX0PWDVE9RiNpALAaE9sRHW+CXte8LlIEQZSHAqGnEghEOTHL2WA0YmTbiCYjdsS2oIeEniAqhb36a7XXTdC32uGEvEbfzpG59KL7uWUJXkWGJDESe4KoAB6ybohKIfKzx6OLC729HywtxSeI8kPWDVExRFeorM2ysU+wip9DJPQEUVHsd8qUXkmsiFwJ7x0o3f6vybRz7D/bV2aSdUMQ5YeybohVE1dLL5oqtbS+xa/M+7mg8XeV/wgJYi3gWaslEIjysVA9mpAteheE/e55P9v3o4ieIMqPS5asLDgSemJFLFRK2OMyap3bKRXRk0dPEJVHfLfWVK0bonzYG3vbYSwv4qIUbsirWJOwzT4SeoKoFuJumSJ6YkVEFyklLFIne8JeAEY0IdK7wr4SHj0JPUFUBJFtQ0JPrIjFasaHPIaY94R9AIw/Mq8iwe2SrCbFBR59lXN8CWKt4JYluGUJslTdIlJUg9YhLNbub15ErxirYPUctyL7ggVTNBlLEBXB45JqktVWdqFnjAUA/CMAFcBTnPNvl/s1iPks5NEDQMi0ZXqajYjep8jwKjJynFu3kCGybgii4rhdUtVtG2CZ1g1j7F7G2ARj7GjR9ncwxk4yxs4wxu42N78bwPc55x8H8LNlHi+xAItF9GKidZ0Z0XsUGR7zD04s3KDJWIKoPIbQV//7tdxX/CaAd9g3MMZkAF8FcAuA3QDuZIztBtALYMjcTS/PMImlWJZ102z36GV4XbIVXdBkLEFUHo8tEaKaLOsbzTl/BsBM0eZrAZzhnJ/jnKsAvgPgDgDDMMR+2cdfq3z5J6fw90+cBgDE0hre+0//i5u//AyePjWJH+wbxu/df2jec+57aRCf+c8j87b/cP8wvvjfpXvHionWdTaP3mdG8z5lvkdPQk8QlcFjC66qyWo8+vXIR+6AIfDXAfgKgH9gjN0G4KGFnswYuwvAXQCwcePGVQyjcfk7U+Q/ddN2DM+msPfCLADg5YEZ/MOTZwAAf/Vzry54zqd/aIj8F951hbVtY6sfajaHx18Zx6dvuWze67zzqvVo9inY2hHEp96yDW+9rAvdTV6o2Ryu29KGT7xpK3Z2haz933NNLw4OzeHQMDVtJ4hy8ktv2ISMlqv6665G6EvlB3HOeQLALy71ZM75PQDuAYD+/v7SFbmIZfGh6/twcHgOJ0ajJR/f2R3Czm5DyH/n7TsBAF1NXuvxu2/ZVbD/lb3N+NBrN+FQiTsKgiBWzlt2ddXkdVdzjz4MYIPt914AI6sbDkEQBFFuViP0LwPYzhjbzBhzA3g/gAcv5QCMsdsZY/dEImQREARBVIrlplfeB+B5ADsZY8OMsY9xzrMAPgngUQDHAXyPc37sUl6cc/4Q5/yucDh8qeMmCIIglsmyPHrO+Z0LbH8EwCNlHRFBEARRViiPjiAIwuHUVOjJoycIgqg8NRV68ugJgiAqD1k3BEEQDodxXvu1SoyxSQAXVvj0dgBTZRxOvUPn61zW0rkCdL7loI9z3rHUTnUh9KuBMbaXc95f63FUCzpf57KWzhWg860mZN0QBEE4HBJ6giAIh+MEob+n1gOoMnS+zmUtnStA51s1Gt6jJwiCIBbHCRE9QRAEsQgNLfQL9Kx1DIyx84yxI4yxg4yxvea2VsbYTxhjp83/W2o9zpVSqhfxQufHDL5iftaHGWN7ajfylbHA+X6OMXbR/IwPMsZutT32afN8TzLGbq7NqFcGY2wDY+xJxthxxtgxxthvmNsd+fkucr718flyzhvyHwAZwFkAWwC4ARwCsLvW4yrzOZ4H0F607f8CuNv8+W4Af1nrca7i/G4AsAfA0aXOD8CtAP4bRsOb6wG8WOvxl+l8Pwfgd0vsu9v8m/YA2Gz+rcu1PodLONceAHvMn0MATpnn5MjPd5HzrYvPt5Ej+oV61jqdOwD8q/nzvwJ4Zw3Hsip46V7EC53fHQC+xQ1eANDMGOupzkjLwwLnuxB3APgO5zzDOR8AcAbG33xDwDkf5ZzvN3+OwShlvh4O/XwXOd+FqOrn28hCX6pn7WJvbCPCATzGGNtn9tgFgC7O+Shg/HEB6KzZ6CrDQufn5M/7k6Zdca/NinPM+TLGNgG4GsCLWAOfb9H5AnXw+Tay0JfsWVv1UVSW13PO9wC4BcCvMcZuqPWAaohTP+9/ArAVwFUARgH8tbndEefLGAsC+AGA3+Scl25qbO5aYpsTzrcuPt9GFnrH96zlnI+Y/08A+E8Yt3bj4pbW/H+idiOsCAudnyM/b875OOdc55znAHwN+dv3hj9fxpgCQ/S+zTn/obnZsZ9vqfOtl8+3kYV+1T1r6xnGWIAxFhI/A3g7gKMwzvEj5m4fAfBftRlhxVjo/B4E8GEzO+N6ABFhATQyRT70u2B8xoBxvu9njHkYY5sBbAfwUrXHt1IYYwzANwAc55z/je0hR36+C51v3Xy+tZ6tXuVM960wZrfPAvhMrcdT5nPbAmNW/hCAY+L8ALQBeALAafP/1lqPdRXneB+M21kNRoTzsYXOD8at7lfNz/oIgP5aj79M5/tv5vkchvHl77Ht/xnzfE8CuKXW47/Ec30DDCviMICD5r9bnfr5LnK+dfH50spYgiAIh9PI1g1BEASxDEjoCYIgHA4JPUEQhMMhoScIgnA4JPQEQRAOh4SeIAjC4ZDQEwRBOBwSeoIgCIfz/wEF2BFBy2N9lwAAAABJRU5ErkJggg==\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"plt.yscale(\"log\")\n",
"plt.plot (hist)\n",
"plt.show()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"文字の線は大抵細いために背景と混ざりやすく、ヒストグラムにすると色がよく分からなくなります。これは文字画像の二値化を難しくさせる要因の一つです。\n",
"\n",
"ここでは文字色は一声平均125ってとこでしょうか。\n",
"\n",
"文字画像は文字画素より背景がそのほうが画素数が多いので、画像の平均色は背景色に近くなります。二値化だからと言って平均色を閾値にしてしまうと背景の一部がノイズとして現れてしまいます。"
]
},
{
"cell_type": "code",
"execution_count": 13,
"metadata": {
"scrolled": false
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"214.26820899911775\n"
]
},
{
"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": [
"mean = cv2.mean(part_gray) # 平均値取得\n",
"print(mean[0])\n",
"_, part_bin_threshold = cv2.threshold(part_gray, mean[0], 255, cv2.THRESH_BINARY)\n",
"plt.imshow(part_bin_threshold, cmap=plt.cm.gray)\n",
"plt.show()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"平均から閾値をどれくらいずらせばいいのか、というのがポイントになってきます。OpenCV の adaptiveThreshold は閾値を平均からいくら下げるのかを引数で与えます。"
]
},
{
"cell_type": "code",
"execution_count": 14,
"metadata": {
"scrolled": false
},
"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": [
"adaptive = cv2.adaptiveThreshold(part_gray, 255, cv2.ADAPTIVE_THRESH_MEAN_C, cv2.THRESH_BINARY, 101, 20)\n",
"plt.imshow(adaptive, cmap=plt.cm.gray)\n",
"plt.show()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"綺麗になりました。adaptiveThreshold こんなかんじで画素周囲の部分画像から画素ごとに閾値を算出しています。\n",
"\n",
"しかしこれはこれで20というパラメータが厄介です。この値への依存が高いことも明らかです。\n",
"次で紹介するNiblackタイプの二値化は、この\"20\"という値も画素周辺の統計から導き出すことで、パラメータへの依存度を下げようというタイプの二値化といえます。"
]
},
{
"cell_type": "code",
"execution_count": 15,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAWoAAAD8CAYAAABekO4JAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDMuMC4wLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvqOYd8AAAIABJREFUeJztnW+sJ1d53z9PbWxaUlgbry13d6mNWCWgSmDrii6lqlKctNiNsn6BJVBUr9BK+8ZtSRMpNe2LKlJfBKmKiaXKqoWTLhENUIfUK8uCWotRlRc4LME1fxbixbG8t+t4L8V20qA0dfP0xe/88HjumZlzZs7MnDPzfKSr+/vNnJnzzPnzPc955sz8RFUxDMMw8uWvzW2AYRiG0Y4JtWEYRuaYUBuGYWSOCbVhGEbmmFAbhmFkjgm1YRhG5owi1CLyQRH5nohcEJF7x8jDMAxjLUjqddQicgXwR8DPArvA14CPqOp3kmZkGIaxEsbwqN8LXFDVZ1X1L4HPAsdHyMcwDGMVXDnCOQ8BFyvfd4G/23bAddddpzfddNMIphiGYeTLc889xw9+8APpSjeGUPsy3RdfEZFTwCmAt73tbZw7d24EUwzDMPJlZ2cnKN0YoY9d4Ejl+2HgUj2Rqj6oqjuqunPw4MERzDAMw1gGYwj114CjInKziFwFfBg4M0I+hmFUEOmcQRuFkjz0oaqvisg/A74EXAH8pqp+O3U+xvJpEh574+N+tmUlIlY+C2SMGDWq+hjw2BjnNpbPVnR8gmNeox9VXWTZ2MCzYRShNoy+tIm0sQ7qA46JtT1CbmTGtkMu0Ts0jL6YUBvZ0STW5lk1Uy2r0gc5C3ntx4Q6ESLy4z9jOOZZ92eswWzK9q2qr/vb5r9WFiPUc1Wir/GuuUGNiXnTfqZob3PfO6gK9hpZxM3EOYSxqeGaSI+DhT3CGKOMrOznp3ihnkuk2xrulI16bk9nbLbLzpZ6fUOptv+xRNqYn+KFestUHXlq0QjtKD7B3trqO0cpwmci3cyYIj32AGDEUbRQz+FNTjkgpDquxI6W80xhbhHL2YvOud5KpkihjvUyuxjaqMbqONW73XXPeMkdIcfOXrVpzlUIY+dZP39oHWzbaE51tiSKE+quhhQrZrnG4OpikKN4jUFu15nbTeP64B3DmGWbS30tleKEuk5fD8B3rDEvoUISW299RaRLpEsSpz5tPdTR6Ro87D7DcIoX6i19GsI2nDCkIY0p9r5zr7XRd5XzWAKRo0jHXNcQRybGDp9Nfcpqre27i+KEOnWs1tfQYjy70LeW9Q3JxHo1Q84TS8p6CHljXlNsuC0s0fc+RdsrVqsPOeUsKkPDgKHLUOvp+jgvNrttpzihHqtC6w2yrYHWb5ykesVkXw+kbz4+QgRrKu+1mn91X7W8Q/Psen9EzGqZav5TC/aQ1UBdNvrqPtYj9zk8Y3r1a6E4od6SShzrxHqn1fQhDTD2hTMh19hlb9N5fB5q3zId0vnaps1t547d3jdd17E+T3To+UPzDknrE8y+bbUtj/qqj9jrH6tPL4GihHrs+FWXYPrEJLZx+byLeqfvOm/X8rAYj7m+zWffmEIUK9I5hhxysqVKjAPRh2o7TTGbqg4ouZbpXBQl1GMTIo5b6mIaO60MSdfnhlFd+GPpEvIxabp5OoctMdSFZUwbc7n+lPcn6ucZeoN/iRQj1CluWITkEUpd1MdouCE2lEzI0q7cmdLuXMoop9DOWihCqH0NdOwQSMoYnrGf2BmJsT/kNWeZWX1NS/ZCndKL6LqzX596NaUzhrGkWOTU3vTcZTZ3/mslW6Eew2sI9eCsIU5DqeU8p1iZSK+TbIV6S+rYrzW0eclh2j6EqcXKt+xtDkyk5yVbobZGsTxKFuk5BDOncIcxL52/mSgivykil0XkW5Vt14rI4yLyjPt/jdsuInK/iFwQkadF5NYxjTfKYQkivfQ8m+yAMuttSYT8uO1/Aj5Y23YvcFZVjwJn3XeA24Gj7u8U8EAaM42SKdkjm0swTRiNKp1Crar/HfhhbfNx4LT7fBq4s7L907rhq8ABEbkxlbFGecyxvjwVc3nSc9tQt6W0elsiIR61jxtU9QUA9/96t/0QcLGSbtdtmx3fkjtjXHKZvscy15NxUz8v0GXLnPkbr6evUDfhU0JvTYvIKRE5JyLn9vb2EpvhMSKDO+drprSyz0Gkt9sNo69Qv7gNabj/l932XeBIJd1h4JLvBKr6oKruqOrOwYMHe5ph5EouKxZiycWTnhPzpvOjr1CfAU64zyeARyrb73arP44Br2xDJFOzZE9kOzVf8jVOzZwvAmrKM4cYuZEHneuoReR3gJ8GrhORXeDfAr8GfF5ETgLPA3e55I8BdwAXgB8BHx3B5iBK9OZCKKEjlWCjj6W1lb5YOeRHp1Cr6kcadt3mSavAPUONGkKpU+4QShLAkupgLjtzK58lvYNlaaS+mTg7JQlEDF0vlDL6ket7O3K1K2eWHA5clFAv9YXjJTa+EmzOYY1yExabjmPpN0AXI9RLFGho7kA5X+vWtpxtrE7z639rJef6aqMEkR7atrJ9KVMMVZHumk52pckJ31N9JQhJzjaGPCm51EG/ixKvu4Q+ncLGRXjU1fdMd6ULKaychQbybpRbcrOx3lnsfeT7Ke261yLSsBChhnbvKNW56uccU9CbvOmcG2WVXAa7vh1lbPtzq8fc7Akhtc2p6zzlq3GLFuoQwRyjMqteWVdss09sqtSQB+RlZ9PAVqIoGa8x1jLClOdKbVuxQh2yXnoM0ajmVR0x297T0LfC6p507gKTk0jDsI6Xe1mnIrc662KM5yTG8qRTUqxQd8UapwgT1EW7+rmvuNYbTSkdqW5nyUJXSpkPZeh1Tr1KZow+nfqcY+lOkUI9RYw41IYt1cpJ5f2WcLMElifSJdsfytC2NXXbrNZLqjoqRaRhIcvzfEzpTZecx1DqHahk1ibScx3fJ78ukY4dOEoSaSjQow5ZB1tPlzulPh5eD/eUEEdvIqWXlnPbC+0/bcdP+UCTr401MZdIx+Tdl+KEGsLWTZeyXjpXjzTUltA17HPRJZypXztQymDVV6RzJbQdxtZ16DnHZrGhjy5ymubWvdEcOkTIWvKYu+9zlHfdG4P9yx1zaQNTMOSax4gRh1BdAlvPM9X19GXKNlScUOfuwcXS1Phyps861rkEsS4upYdoumgKo6UU6SkIiUXX94dcm295bVc4qOlmeV8t6jNIFCfU0D3KhnqDOVGKhzc0xjkV9Tqe29ax67epXqqhny4Rato/pSftm/l01WMfu+rn7KslfehzziKFGpovdgkinbsY5mhTzrSFYFKef8iNtrb+NJUTUe+bfftqqj6eUzsvVqj7klPhQ7tI50ZXB+jq0FOtt+6aNoccD2ntG8tbC/GWu+qj7/4++M7ZlE/fsFpfe/tcr++exxjltgqhzj2sUIpId+2PEfGxrjXVGuEY4es6JkSUhtgauy/EjilDNWPmE8rQ/McOs61CqHPFd5OmKx7YFhZpi1PGHuMj1FNu2j/lSoE+NrQNNrEi3ZZfijhrvd6a6iCmvkPFc0hobm5BLpXFC3Xu3nSVEJH2eaRt3qrvznb9uOqxPkI8t5hBZaz7BENimn3OGSPSvjoZQrVOfQLbtm+7vV4/vpuQvlURJfSlpbFooc49lOAT5qa7z7BfiNsEIXQK3+cGTvV43yDQdP4xB82uuu6yc/u9S5S6xNm3r76tnk/TMV2McfPQt9+EeX4WK9RNHTfHVR/wml1Dp9C+/U3eXJNwdeWTKiSTmpDyaLMlVvi254sdgHJsf0beLFKo28Q4t06SMvYZIhh1T6k6xe1bNkM8u1TMJZK5tSdjmXS+60NEjojIEyJyXkS+LSIfc9uvFZHHReQZ9/8at11E5H4RuSAiT4vIrWNfRJ0SOk9b3LhLONu2N3l+XfsMw8iXkJcyvQr8sqq+EzgG3CMi7wLuBc6q6lHgrPsOcDtw1P2dAh5IbvVCqApoPe7bdoxhGOuiU6hV9QVV/UP3+c+A88Ah4Dhw2iU7DdzpPh8HPq0bvgocEJEbk1u+MEyADcNoIuo1pyJyE3AL8CRwg6q+ABsxB653yQ4BFyuH7bpthmEYRg+ChVpEfgL4XeAXVfVP25J6tu1zF0XklIicE5Fze3t7oWYYhmGsjiChFpE3sBHpz6jqF9zmF7chDff/stu+CxypHH4YuFQ/p6o+qKo7qrpz8ODBvvYbhmEsnpBVHwI8BJxX1V+v7DoDnHCfTwCPVLbf7VZ/HANe2YZIDMMwjHhC1lG/H/inwDdF5Cm37V8DvwZ8XkROAs8Dd7l9jwF3ABeAHwEfTWrxAEp6nNwwDGNLp1Cr6u/jjzsD3OZJr8A9A+1Kjom0YRilUuSP28ZiIm0YZeF7H0pTujWwyEfIq5hIG0Z5WH99PYsW6lxfwGQYxnDW1L8XG/pYUyUaxhpZU/9epFC3vSzfMIzls7S+vzihror0mkZcYxksTWDGIKSMltb3FyfU2wpaWkUZy2btN71jBqg1ltGihLrpd+KMvAhderUm1ig+W2z2282ihDrHkIcJ0n7m+LECq4c8ya2/5sqihHooKTtz9ZdaciAnoZrSlrWHFHLH6iWMRayjTvXjqakaTW7ikNOAAdOVS06DkzEeubXvMViUR51DZZlI50Fu9WCMN3CuoY6LF+qchCg3ccipbKZk6K+qG+mp3ui3mU48xQt1LsvxchPpuZi7I651cMqd6sCZon662tjSBoPihRrmr5S5868z9aBRFee5PVl7IjVPUrdJ33lS3avKkeKFem4Pqpp/Do1j6vLo2wFTi2l1ap1DPfQhRZnkNkhVVz+NfX3bes+tDFJQvFDPydyPq1c92Tm86C1zC+Pc9ZCCFLbndv3VewVjXl9dmHMqg1QUL9RzVcpcHlw939C8p7rjHhI7TFlmuc1o+jLE9lzvj1S96NQincJRKMnzLlao575pBWENJLWdTaLUZEvqTtx2LaECnFJQljzdDSE3LxrGmW2Ftvc2m6p25VhubRQr1HPetIqp5FR2tr3HpEmkUjfGthBDW15jzT6GCkIO4j7EhjlDbm1McUM39vzVEMz2e0kUKdQ5eNNbO6ao8L4COWVjbMtr7NBE37aQQ2cdMsDMNZuYetaU8vw51HkfshbqNu9xbg8q1IMcmndfkR6Lap45DJZQbueLpak/zL3qqWl7Lu1jCWQr1E1LeoaEEqYSGJ8HOUZnmrqD1m/mdOU/VTnH5l2CgGyFzhfeGbtdhdrWlv/c6+mXRrYvZRpzudXQc87xUEUujT4mjDG2zX3DPrmUZRs525izbUslW48a9ntwQ8IHqekKe6TMx6aRfqplUy8fKzNjSXQKtYi8UUT+QET+h4h8W0R+1W2/WUSeFJFnRORzInKV2361+37B7b8p1Ji2mG7fqdTUMbyxZgDmxfjZlo1v+ZaVmbEUQjzq/wN8QFXfDbwH+KCIHAM+AdynqkeBl4CTLv1J4CVVfQdwn0sXxBixN+ushmGUTqdQ64b/7b6+wf0p8AHgYbf9NHCn+3zcfcftv01sDmoYhtGboBi1iFwhIk8Bl4HHge8DL6vqqy7JLnDIfT4EXARw+18B3uo55ykROSci5/b29oZdhWEYxoIJEmpV/X+q+h7gMPBe4J2+ZO6/z3veF39Q1QdVdUdVdw4ePBhqr2EYxuqIWvWhqi8DXwGOAQdEZLu87zBwyX3eBY4AuP1vAX6YwljDMIw1ErLq46CIHHCf/zrwM8B54AngQy7ZCeAR9/mM+47b/2W1O3qGYRi9CXng5UbgtIhcwUbYP6+qj4rId4DPisi/A74BPOTSPwT8tohcYONJf3gEuw3DmJg+r2+Y+xH3pdAp1Kr6NHCLZ/uzbOLV9e1/AdyVxDrDMGan7/t1bLFXOrJ+MnEs7Km1OKy81stQkTZvOg2rE2prQHFsp65WXuvD11dCBmzrY+lZlVBbvCwOK6/1ktN7dYwVCXXbe52N/ViHWy9tv5wT88tGuVFym16NUOfYcHLFwh3NNL2tLxeG2tUm0l3nzrVMIG/bQliFUFd/ccXEpx0ro2aqA9gc7yTPmTaBn5sl1NPihTqHXyIpBRPpZkoom6E2doltDj8WEUvOA0gMixbq+u/7+SrKRNroohSRHvP4kJ82y7mMcrYthEULdemVMyUliNEcrKFcfD/SUd8/1S8apWRJdbdYoa7/Wox50+0spUGnpJSOPsSj7RLptvNWyyfXciqlDrvI9sdthxAal7blekYTaxjEQ0S66weEc+0/9cErtD5zvBZYoFDXG06p0zZjfnLttFVSxYdjRTrnJZy+MsnRzhgWG/poo4QpmzHfQBozI8uBFCGPmPPmdO1rYVFCHepN2xrYMphDDLpEaO6HXar59xXMkJBH7DlyoYQVKH1YjFCHNto+6yrn7pxrZI7yjslzLiEY+rDNUJHOWQhztm0oi4hR+0S6bVtoI69W/FjCsZQF+SmZc2rd5U13pZmSqe3I7fp9hD7clvM1+FiEUNdpEtWYmwv1Ck1ZsT5xNo99XkIf+Mihg88R8sg9Lh1bf7lfT53iQx9tceh6uur/rnP6zpEC86BfwxdSytWbDtk/BXPGpaemz8w3ZH9pIg2Fe9Qxcelq+KLP9DblexS6bFg6TR1nzlUeXcS8LyZ2fXGq99GM5QSMKWxtD6PF3HNaskhDwR516NOG9XQhIt3Hlpj9fV9404ecQipVD7rtIYo5SDEI91lXHCrAXSG4GJGOvYk+tE5819h23XN70jn1mS1FCnWXSPd5XLyvNxKynKvKUNti7AoVgSkaZlv55uxNd5XPkDBZ6Awv1ENP+QBKTH20lVGTSIcKZtO5Q+0LnUnHnndqihPqIVPKvt5I36lpqEj39fLbOkdMSGhs2so3xMuup0tNqEeWwp7YeyUx4pIihFPPN/TBn1DHqXpu3/VVz9f3Rn69bmIGhZSDXUqyjlHHxP3apjlDOniXUIaIf9Wu0HNX9zfdGG0T/tCyGlusu0S6aV9TuqkJqbe266pvr5Z5V3w2ZMo+xKNvyzfUOYmxK1SkQ/PsCp91hW6GhKymJluhjhHparrtsb7pdUg+vn1dnnCXbX329RHp7fauxjm1F721y7e/K+zRNyQVQp9BOOS6+oYymsTNd97Ycmlqqz6x6utAVPd37QspN5+tMc5Fqlh9DgSHPkTkChH5hog86r7fLCJPisgzIvI5EbnKbb/afb/g9t801Mgh4Y6+ItDXkw6lb0gD2jtIiAfR1PlT0SZmvlBH7CA6ZhjEl19ompA67QoRtImorzxi68/nwPjO0deD7xrgYh2PbZpYkV4aMTHqjwHnK98/AdynqkeBl4CTbvtJ4CVVfQdwn0s3iJDp0PZ/TKNLYU+bZ9SUd+h0tanT+ugSgpgBLCVNM5uYsFQuHXPI7Mv3PaQdVPeFzhKH4KsP3+DadUx9f6gXXaXaVnJpA3MRJNQichj4J8Cn3HcBPgA87JKcBu50n4+777j9t0kPVdhWTkwFxcQ5Yztd0yW0pekKmbTZWReyLi+6K78pBrBtfkP219M1de6pwzdDwiTVtly1PyREMiX1623y9NsGjO01NrXLrvbaxVoFO9Sj/iTwK8Bfue9vBV5W1Vfd913gkPt8CLgI4Pa/4tK/DhE5JSLnROTc3t5eT/M3pGz0dSGImWKGCnBI/DMkjNHmqTR1hr5T5j6EiGzojKOrPFLY15a/77i6TU3hiZA8+6ZLTXUQ6WtD2/HmHfejU6hF5OeAy6r69epmT1IN2PfaBtUHVXVHVXcOHjwYZGwfurzJUM81Ns/tOWPP29ZR6gLn82R8+5rsG4PQ0Mt2uy9tk0CPYXe13NrqKtSmUkWoGgM28iNk1cf7gZ8XkTuANwJvZuNhHxCRK53XfBi45NLvAkeAXRG5EngL8MPklicipUBXafPW+oREhuQ5NaGDn88D7TOTGUpoXrmUb2rqswIjPzo9alX9uKoeVtWbgA8DX1bVXwCeAD7kkp0AHnGfz7jvuP1f1kxrf+gULxVLvZMdUra51IEx3Q1mI54hTyb+K+CXROQCmxj0Q277Q8Bb3fZfAu4dZuJyWKogG+Vi3nQZRD3woqpfAb7iPj8LvNeT5i+AuxLYtgpMvI25qLY9a4d5U9y7Pkql6WaadQ4jB6wd5o0J9YxY55iO6goci8Xu96aNvDGhnoDQpWnGODStjV8r9fa49vIoARPqAFKLqoU8piHmCdO1YuVRBibUHaRoyHWhMJEeH5vF+DFvukxMqBtI9chyyPs/jLS01duay7/tfTfVGL6RHybULWyfnBvSuW3aPS0h71FZM77leGM9nWukw4TaQ6rwRN1jyb0jlC5mIW+xWytjvrrAGB8T6hpjPQSQc2eohnlKFWsT6WZ8IY/6bHHN5VMCJtQVUop0KZ6KLV1bB743Ldo66nIwoXaMJaw5dwLfK0VLxLzpZprquM/Kj1LbxxIwocbfmFO8cjRnrzpn22Kwm4fh+MJboeVk5Tkv2f4K+VSM4VWW6MmVKNwhIl3aNaXEt2a6T3jPRHp+Vu1RNzXUFJ07Z4EoUZR9lPii/7a1zKnz6XoJWFf51J8lyLE818LqPeoqqQQs9hxTPhSzlLf4DQ15zHHNvjynsKHpUfq2vO0VqHmxWqHOofFN/S6KNYl0qAhNxZR5xohw1/6ll1UprFKo5xasXGKoJXYIE+n4vMH/RGJT+rk9aXticj+rFOo6uYi070GElPku9eVQMbOQ3EQ6pB5iQmNtj4aXINJV5s4/J1Z3MzEH7wbSifT2hk+bWC3lvQ4hZdMlRH3yrP/FMPShqa4203Zs/XuISIe2jz5lMYS1rzxZlVBvK7u+jnRq0WoT6RhiQyg5eEl9mfrmoc+LHXqTOMamet2GiLSvHYUM/n3aUfVzSB002bt2AQ5lNUI9NC49tFH5pqFbYjyZ6vlCxGPMcMqUhIh0m+j1Eekhs48hIY+2dhbTVmJFOoTYMEzV1mq5xpRt6W03BRajbqDekJo83pAG5ztuyPrt2Fhi6Q29aZCt0ibkQz3pNjv6EONJN+1vKo++s8UYT7o6APjufWzT+Mquz6BZcttNxSqEOtSbbmpkbefdpu9K05Surydd/9yVtlT6xqX7xqNDzhtSpm3H9vGkQ4kRw5Rebdu1+frAGhyMlCw+9FGv7PooX5+GhUyfQwU6VKRDCRXppcT++salY2OuvnP62kkovht5XbYMmSH4PN1Q+/reNKzn1TX49JnVmEi/RpBQi8hzIvJNEXlKRM65bdeKyOMi8oz7f43bLiJyv4hcEJGnReTWMS+gw+7Gyt6Kckyct3qsb3tT7M3XsUIaef2Y6v+Qjhx7Y2hKusQvVKTbZkopRLpOqDcdK4ZdebTVu+++R1s+vlDF9nObMIfYUs+vqX8NLeO1EeNR/0NVfY+q7rjv9wJnVfUocNZ9B7gdOOr+TgEPpDI2hraOPuTGUpVth4wJmVQbb6wtXVPLUryWEEHpY1ffOGiVIeGwpoF6SP6x+2LaR/2amhwXX6y5jbojYgxnSOjjOHDafT4N3FnZ/mnd8FXggIjcOCCfRppG/75T5qb0bZ20qwNXvZ220EX1Wto8G1/6WIHOpRPFDqRd4Ym5Bp0xB722duArj2rbSWVX7LlCBjUjjlChVuC/icjXReSU23aDqr4A4P5f77YfAi5Wjt11216HiJwSkXMicm5vb6+f9R66OmxsAxrS4KodJyT+XfWKfN5OjPden37HeIZzESO29el+0wAYk6dv4KwPtHXhrJZn38GiacDytZsu0YwJ6YXalnObWQuhqz7er6qXROR64HER+W5LWt/wv6+WVfVB4EGAnZ2dJK0gJ5FuO0dTzDu1PX3ymIMQb63uPabyFqsDWpPHPkXZNQ08c9hi5EeQR62ql9z/y8DvAe8FXtyGNNz/yy75LnCkcvhh4FIqg33MGW/ty1w38XKja7bRRNMxvhhzV1nXvdChHuSQujXv1fDRKdQi8iYR+Zvbz8A/Ar4FnAFOuGQngEfc5zPA3bLhGPDKNkSSmhKnZSUOKqmph3lijomt76naR9UrX3PdGuMQEvq4Afg91xCvBP6zqn5RRL4GfF5ETgLPA3e59I8BdwAXgB8BH01udeFYR14uVrfGGHQKtao+C7zbs/1/Abd5titwTxLrEpKDJ2ve1jLJoW0Zy2bxj5DX79DPuYzLWB5Wr+PTtixzLSxaqOsiPbcda2xgSybFAzZGM75+s9aBcbFCnUuFVjvz0mkbGJc2WJk4j4uV7+tZrFBXmavCmx6mWApND374GPpQSE60PWFqDMfKdD+LfHteDiGPemdeCj5xtk5lpGJJfSUli/Oou96PMdWa2lKeCgwhh4EvF5Y6AOdAV3hszP6buxe/OKFuYsqKqN/8CM03tzhubvbMja8urWzSMFdbK6WNLyr00bSMZ0rPp/4ipBiRzqmx9H20u+ucpVKvn5KvJVe63vWSun+UItKwYI96jps9ffLKsbHkNmjMTVN5WBmloau9jTEozuG8DWkvi/GofQU/p0iHNARfBS6985d2fb42ZN50OkL76FjtZuz2mKqtLEao6+TgSYd4CUuZTnfZXqKX3nZNpV1LjoS0iZJDHilvwi8y9JFDJ5rTSxjKWB2jRHLxpnMMkY3NmCI9JtW6SnUNi/Oo57hrHNuZ5w7TpKbN9lIFpu2abGXCcELi0mOK9JjL/LbnT3kNi/Co5/Zy+hzTtcyrFOHuWrcO0whMyk7YVPZz1EnKMsxlPXwfRyZlniWuxS7eo55T0GI7c2ynyz1kUPcemvZNwdhPSS5JpHNgyhnY2CItsv8Ho1O3l2KFul6huXeipo7StL2kR7PrT+uVPFXPZSYzRhnm8N6Zvo5M34FmCpGun3uMNlRk6KOrsqdoiDHedFNjyUUU+tC1aiW36woRvrbBdMxOvmWsB7S29s/tVZtI96dIoW66eTfncryQxrREka53hrnFYChT3Suot1lfuaUKeeS4Tt/XhkoLd9TPPWafLlKoq1S9hSkEO3Y1wBJXeED7NLrEa2safKdeeZA6Ll0dCHIMeXRdb5/ymGpmVx9kx8yrWKFuWwYzdaMMDXkQrxkZAAAIVElEQVRs05UoZFW6OlXOhLaNOVYejHXzMFeR3hIi0n3KZooby1OVbbE3E2Ge30Dse/Nw7s6SghKEuI3qIDn1ssI2kY7xAEPqYKy1vH2Izb8+M44N27StRArNO6RtTB1uLdKj7tv42jzf0EbQZ3qcusPP0fFCp6il0CRiqTtg0w3DJptCzxOa99wiHcuQm4l1TzeU0IFtztVMxQl117QjJAzRtq2+b0hcrS1N6Ll8aefqgCF5xnpPXeIUUn590uQi0rGrUVK2pzHp6j+xM9OQ8ukS6abt9XtcvvRzl2dxQt2GL1YN3Y2lHs/bHuPraCljf0M66ZRiHSKosecbmqaPl9XGmDcNh5x/zEF/qtUQvv0xxDhEbfm39R+fNx2qJVMQFKMWkQMi8rCIfFdEzovI+0TkWhF5XESecf+vcWlFRO4XkQsi8rSI3DruJfhH1G2h+25ENHnl9WPqFVXdFnJTMMYLaEtTTze1SIfuj40hNg2goZ29qw6avOa5QwJVW2D4zCzmmlJcf5vH2lYnqcSu3r9jzt90/bm0iSZCbyb+BvBFVf0p4N3AeeBe4KyqHgXOuu8AtwNH3d8p4IGUBtdHzm0B1zt4vdB9gr2lq/H6Ylh9PIPqubrS5CDSvvyHECJM1YGwzzlC0oxdfqlCHl3HN7V33xS+Sdxi6Tp3F7F5+8IS9WuIcZ7qNoTaPreIdwq1iLwZ+AfAQwCq+peq+jJwHDjtkp0G7nSfjwOf1g1fBQ6IyI2pDd9WSmglNY2ivmOrg0A1v/r2mOm3r2P6GkyTpzCHJxgT8hgyLW+7tuq1h9jbZkvfwTWWpjre2hAyS/FdS4jgNjkpQwW6fq66HWOIdD3PVHQ5dW12jOmgtRHiUb8d2AN+S0S+ISKfEpE3ATeo6gsA7v/1Lv0h4GLl+F23rW74KRE5JyLn9vb2Bl1EF22V0dbYfQ0+9JxdaauNvanBV7elbqyhhDSwkKmmL12T6DSVQXVftexiw0htU/cxaBLYrvIYU3CHkosdsQwtw3r76yI0XRchQn0lcCvwgKreAvw5r4U5vLZ5tu0rFVV9UFV3VHXn4MGDQcamZmhlpcg/5wY/xDaf6PiEtc/5+wxg9fSxQt/XxnredVKGJYzp8NVVU5tKUa8hQr0L7Krqk+77w2yE+8VtSMP9v1xJf6Ry/GHg0iArZ6Y6ilpHeo0m77ZJdHIamOaeqYSIuFEWY7apTqFW1T8BLorIT7pNtwHfAc4AJ9y2E8Aj7vMZ4G7ZcAx4ZRsiKRkTaT8+79bKyTDSErqO+p8DnxGRq4BngY+yEfnPi8hJ4HngLpf2MeAO4ALwI5e2WEygDcOYmyChVtWngB3Prts8aRW4Z6BdWWFibRjGnCzqycQxMIE2DGNuin57nmEYxhowoTYMw8gcE2rDMIzMMaE2DMPIHBNqwzCMzDGhNgzDyBwTasMwjMwxoTYMw8gcE2rDMIzMMaE2DMPIHBNqwzCMzDGhNgzDyBzJ4aVDIvJnwPfmtiMTrgN+MLcRGWDlsMHKYcNSy+Fvq2rnT1zl8va876mq7zWqq0NEzllZWDlssXLYsPZysNCHYRhG5phQG4ZhZE4uQv3g3AZkhJXFBiuHDVYOG1ZdDlncTDQMwzCaycWjNgzDMBqYXahF5IMi8j0RuSAi985tz5iIyBEReUJEzovIt0XkY277tSLyuIg84/5f47aLiNzvyuZpEbl13itIi4hcISLfEJFH3febReRJVw6fc796j4hc7b5fcPtvmtPulIjIARF5WES+69rF+1bcHv6l6xffEpHfEZE3rrFN+JhVqEXkCuA/ALcD7wI+IiLvmtOmkXkV+GVVfSdwDLjHXe+9wFlVPQqcdd9hUy5H3d8p4IHpTR6VjwHnK98/AdznyuEl4KTbfhJ4SVXfAdzn0i2F3wC+qKo/BbybTXmsrj2IyCHgXwA7qvp3gCuAD7PONrEfVZ3tD3gf8KXK948DH5/Tpomv/xHgZ9k87HOj23Yjm3XlAP8R+Egl/Y/Tlf4HHGYjQh8AHgWEzQMNV9bbBvAl4H3u85Uuncx9DQnK4M3AH9evZaXt4RBwEbjW1fGjwD9eW5to+ps79LGtnC27btvicVO1W4AngRtU9QUA9/96l2zJ5fNJ4FeAv3Lf3wq8rKqvuu/Va/1xObj9r7j0pfN2YA/4LRcC+pSIvIkVtgdV/Z/AvweeB15gU8dfZ31twsvcQi2ebYtfhiIiPwH8LvCLqvqnbUk924ovHxH5OeCyqn69utmTVAP2lcyVwK3AA6p6C/DnvBbm8LHUcsDF4Y8DNwN/C3gTm1BPnaW3CS9zC/UucKTy/TBwaSZbJkFE3sBGpD+jql9wm18UkRvd/huBy277Usvn/cDPi8hzwGfZhD8+CRwQke1rDarX+uNycPvfAvxwSoNHYhfYVdUn3feH2Qj32toDwM8Af6yqe6r6f4EvAH+P9bUJL3ML9deAo+7O7lVsbh6cmdmm0RARAR4Czqvqr1d2nQFOuM8n2MSut9vvdnf7jwGvbKfEJaOqH1fVw6p6E5s6/7Kq/gLwBPAhl6xeDtvy+ZBLX7z3pKp/AlwUkZ90m24DvsPK2oPjeeCYiPwN10+2ZbGqNtHI3EFy4A7gj4DvA/9mbntGvta/z2Z69jTwlPu7g01s7SzwjPt/rUsvbFbFfB/4Jps74rNfR+Iy+WngUff57cAfABeA/wJc7ba/0X2/4Pa/fW67E17/e4Bzrk38V+CatbYH4FeB7wLfAn4buHqNbcL3Z08mGoZhZM7coQ/DMAyjAxNqwzCMzDGhNgzDyBwTasMwjMwxoTYMw8gcE2rDMIzMMaE2DMPIHBNqwzCMzPn/rHhdnhOAK+0AAAAASUVORK5CYII=\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"# 下げ幅が大きすぎる\n",
"adaptive = cv2.adaptiveThreshold(gray, 255, cv2.ADAPTIVE_THRESH_MEAN_C, cv2.THRESH_BINARY, 101, 50)\n",
"plt.imshow(adaptive, cmap=plt.cm.gray)\n",
"plt.show()\n",
"\n",
"# 下げ幅が小さすぎる\n",
"adaptive = cv2.adaptiveThreshold(gray, 255, cv2.ADAPTIVE_THRESH_MEAN_C, cv2.THRESH_BINARY, 101, 5)\n",
"plt.imshow(adaptive, cmap=plt.cm.gray)\n",
"plt.show()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Niblackタイプとその亜流\n",
"\n",
"Niblackの手法は文字の輪郭をくっきりと出してくれるため、とくにOCR向けの文字抽出として重宝される二値化です。適応閾値処理の一種です。(Niblack, W (1986), An introduction to Digital Image Processing, Prentice-Hall.)\n",
"\n",
"課題はやはりノイズと細線の見分けにあり、これを解決するために様々な亜流を生み出しています。"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Niblack\n",
"\n",
"2018/11現在、OpenCV の contribe には梱包されていますが、正式版の OpenCV にはまだ組み込まれていません。contribe は安定とはいえない開発版のような位置づけです。\n",
"\n",
"https://github.com/opencv/opencv_contrib\n",
"\n",
"さらにpython版もインターフェースは呼べるのですがなぜか手元で動かず(opencv-3.4.0)。ただC++のソースは非常にエレガントな実装となっているのでこれを参考にして、pythonでも自作してしまいましょう。\n",
"\n",
"https://github.com/opencv/opencv_contrib/blob/master/modules/ximgproc/src/niblack_thresholding.cpp"
]
},
{
"cell_type": "code",
"execution_count": 16,
"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": [
"def niBlackThreshold(src, blockSize, k):\n",
" mean = cv2.boxFilter(src, cv2.CV_32F, (blockSize, blockSize), None, (-1, -1), True, cv2.BORDER_REPLICATE)\n",
" sqmean = cv2.sqrBoxFilter(src, cv2.CV_32F, (blockSize, blockSize), None, (-1,-1), True, cv2.BORDER_REPLICATE);\n",
" variance = sqmean - mean * mean;\n",
" stddev = cv2.sqrt(variance)\n",
" thresh = mean + k * stddev;\n",
" diff = src - thresh\n",
" diff[diff > 0.0] = 255.0\n",
" diff[diff < 0.0] = 0.0\n",
" dst = diff.astype(np.uint8)\n",
" return dst\n",
"\n",
"bin_niblack = niBlackThreshold(gray, 51, -0.2)\n",
"plt.imshow(bin_niblack, cmap=plt.cm.gray)\n",
"plt.show()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"文字はきれいです。三行目もくっきり。ただし文字のない箇所にノイズが出ています。blockサイズを増やすとノイズは消えていきますが、あまり大きすぎると大局的二値と変わらなくなり、文字サイズより大きくなれば三行目のくっきり加減も消えてしまうでしょう。\n",
" \n",
"注意点はこんな感じです。\n",
"* blockSize は3以上の奇数。\n",
"* blockSize は大体文字大きさのスケールがいい。経験的には(文字大きさ)×0.5くらい。\n",
"* k=-0.2 が基本。"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Niblack は平均から減らす値を対象画素周辺の画素から算出しています。i の画素の閾値はその周辺の平均($m$)と標準偏差($\\sigma$)から以下のように書けます。\n",
"\n",
"$$ threshold_i = m_i + k \\sigma_i $$\n",
"\n",
"$+ k \\sigma_i$ は適応的閾値処理で手で与えた`20を引く`に相当します。20の根拠は不明でしたが、これを標準偏差に求めています。ここでいう標準偏差とはおおよそ白画素と黒画素の距離と考えられます(下図)。標準偏差を基準にすることで閾値に適当なスケールを与えることができます。"
]
},
{
"cell_type": "code",
"execution_count": 17,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"[]"
]
},
"execution_count": 17,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"# 定性的な標準偏差の理解の図\n",
"plt.plot(hist)\n",
"plt.yscale(\"log\")\n",
"plt.plot([120, 220], [70, 70], 'k-', lw=2)\n",
"plt.plot([220, 210], [70, 60], 'k-', lw=2)\n",
"plt.plot([220, 210], [70, 80], 'k-', lw=2)\n",
"plt.plot([120, 130], [70, 60], 'k-', lw=2)\n",
"plt.plot([120, 130], [70, 80], 'k-', lw=2)\n",
"plt.plot()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"一方で文字のない場所に大量のノイズが現れます。Niblackパラメータと呼ばれる $k$ は白画素と黒画素の割合のようなもの(同じなら0)と解釈できますが、黒画素が存在しない領域ではこの割合は明らかに変化してしまうためです。またフォント文字より手書き文字は黒領域が少なくなりがちで、一層この変化が際立ちます。\n",
"\n",
"一見このノイズは問題に思えますが、文字位置を知りたいのであれば黒画素の連結成分(Connected Componets)の大きさや相対位置などから容易に除外することができ、文字のエッジがクリアに出ることのメリットのほうが実用的であることが多いです。"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Sauvola\n",
"\n",
"Niblack の亜流は色々ありますが、何とかしてノイズは減らしたいが文字のエッジはくっきり出したままにしたい、という目的のものがほとんどです。その代表例でよく使われるのが [Sauvolaの手法](http://www.ee.oulu.fi/mvg/files/pdf/pdf_24.pdf)。"
]
},
{
"cell_type": "code",
"execution_count": 18,
"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": [
"def sauvolaThreshold(src, blockSize, k, R):\n",
" mean = cv2.boxFilter(src, cv2.CV_32F, (blockSize,blockSize), None, (-1, -1), True, cv2.BORDER_REPLICATE)\n",
" sqmean = cv2.sqrBoxFilter(src, cv2.CV_32F, (blockSize, blockSize), None, (-1,-1), True, cv2.BORDER_REPLICATE);\n",
" variance = sqmean - mean * mean;\n",
" stddev = cv2.sqrt(variance)\n",
" thresh = mean * (1.0 + k * (stddev / R - 1.0));\n",
" diff = src - thresh\n",
" diff[diff > 0.0] = 255.0\n",
" diff[diff < 0.0] = 0.0\n",
" dst = diff.astype(np.uint8)\n",
" return dst\n",
"\n",
"bin_sauvola = sauvolaThreshold(gray, 51, 0.15, 128.0)\n",
"plt.imshow(bin_sauvola, cmap=plt.cm.gray)\n",
"plt.show()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"いいかんじ。\n",
"しかし実はこれ結構パラメータに左右されます。\n",
"元論文では k=0.5, R=128 がいいとされ、kへの依存は低いとされていますが、"
]
},
{
"cell_type": "code",
"execution_count": 19,
"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": [
"bin_sauvola = sauvolaThreshold(gray, 51, 0.5, 128.0)\n",
"plt.imshow(bin_sauvola, cmap=plt.cm.gray)\n",
"plt.show()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"実際には結構調整しないと厳しい。閾値は以下の式で決まります。\n",
"$$ threshold_i = m_i [ 1 + k (\\frac{\\sigma_i}{R} - 1) ] $$\n",
"$R$ というNiblackにはないパラメータが一つ増えてしまったのも扱いずらい点です。Niblackの亜流たちはこのようにパラメータを増やしてノイズをとれるようにする、といったものが多く残念な点です。実際にパラメータ調整していると、$R$ は画像全体の標準偏差値くらいがよく、少々動かしてもあまり結果には影響しません。一方で $k$ に関してはNiblackのそれよりかなりセンシティブです。\n",
"blockサイズはNiblackと同じく文字と同じくらいのスケールがいい感じです。"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"$R$ の貢献は文字のない領域でのノイズの抑制です。文字のエッジ付近($\\sigma \\sim R $) では平均色付近が閾値となり、文字がない箇所($\\sigma \\sim 0$)では閾値をググっと下げて背景になりやすくなりノイズを抑制します。この下げるときの幅が $k$ へ強く依存しているのが難点と感じられます。"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Nick\n",
"\n",
"使い勝手の点で近年重宝されているのが[Nickの手法](http://www.math-info.univ-paris5.fr/~vincent/articles/DRR_nick_binarization_09.pdf)です。"
]
},
{
"cell_type": "code",
"execution_count": 20,
"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": [
"def nickThreshold(src, blockSize, k):\n",
" mean = cv2.boxFilter(src, cv2.CV_32F, (blockSize,blockSize), None, (-1, -1), True, cv2.BORDER_REPLICATE)\n",
" sqmean = cv2.sqrBoxFilter(src, cv2.CV_32F, (blockSize, blockSize), None, (-1,-1), True, cv2.BORDER_REPLICATE);\n",
" variance = sqmean - mean * mean;\n",
" sqrtVarianceMeanSum = cv2.sqrt(variance + sqmean);\n",
" thresh = mean + k * sqrtVarianceMeanSum;\n",
" diff = src - thresh\n",
" diff[diff > 0.0] = 255.0\n",
" diff[diff < 0.0] = 0.0\n",
" dst = diff.astype(np.uint8)\n",
" return dst\n",
"\n",
"bin_nick = nickThreshold(gray, 51, -0.1)\n",
"plt.imshow(bin_nick, cmap=plt.cm.gray)\n",
"plt.show()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"nick は niblack とパラメータ数が同じ。扱いやすい。にもかかわらずノイズ耐性ははるかにあります。\n",
"\n",
"また Sauvola よりkへの依存が低く、安定させやすいです。\n",
"$-0.2 < k < -0.1$ とされ、低いとノイズ耐性はあるが線が細り、高いとノイズが出やすいが線は安定する。細線とノイズを見極めるためのパラメータと言っていいと思います。"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"$$\n",
"threshold_i = m_i + k \\sqrt \\frac{\\Sigma _j {P_{i,j}} ^2 - {m_i}^2}{N}\n",
"$$\n",
"$P_{i,j}$ は周辺画素の画素値、$N$ はその画素数。Niblackとの違いは ${m_i}^2$ です。画像が明るい(文字がない)と効いてきて、閾値がさがりノイズを減らせます。文字境界ではこの項は相対的に小さくなり、Niblackの文字境界を鮮明に出すというメリットが活きてきます。"
]
},
{
"cell_type": "markdown",
"metadata": {
"collapsed": true
},
"source": [
"パラメータ数の割にノイズに強く、かなり使い勝手がいい二値化です。\n",
"私は文字の二値化が必要になると昔は「とりあえず大津で」でしたが、今は「とりあえずNickで」になりました。"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## 画像処理の自動化とパラメータ数"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"画像ごとに人がパラメータを調整して二値化する、というケースは稀と思われます。\n",
"多くのクラウドサービスやFAの現場では画像処理は自動化されてなければなりません。如何にパラメータフリーな画像処理を実装できるかが求められます。\n",
"どのような二値化が選ばれるべきなのか、目的によって選択される二値化も変わってきます。私の選択は大体以下の感覚でなされます。\n",
"\n",
" * よくわからなければ Nick をまず試す。\n",
" * もしスキャナ画像のようにきれいな画像であることが明らかならば大津の二値はいい選択肢かもしれない。\n",
" * 多少のノイズが乗っても文字をきれいに切り出したいのであれば Niblack が有能なことがある。\n",
"\n",
"とりあえず Nick、という考えは悪くありませんが、blockサイズとNiblackパラメータ($k$)への依存性はしっかり実験で見定める必要があります。\n",
"これらのパラメータから解放される手法([例1](https://www.ijarcce.com/upload/2015/october-15/IJARCCE%20124.pdf)、[例2](https://github.com/KojiKobayashi/ImageBinarization))はないわけでないですが、十分とは言えないようです。"
]
}
],
"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.6.6"
}
},
"nbformat": 4,
"nbformat_minor": 2
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.