Created
September 17, 2017 18:07
-
-
Save lnksz/70544c0f5e3d722de2f072ecd1d95550 to your computer and use it in GitHub Desktop.
Compare grid generation using UTM and WGS84 based calculation methods
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
{ | |
"cells": [ | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"# Compare difference between UTM and LatLng grid creation" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 2, | |
"metadata": {}, | |
"outputs": [], | |
"source": [ | |
"%matplotlib inline\n", | |
"from rivus.gridder.create_grid import create_square_grid\n", | |
"import matplotlib.pyplot as plt" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"## Generate grid based on the UTM zone and planar coordinates" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 3, | |
"metadata": { | |
"collapsed": true | |
}, | |
"outputs": [], | |
"source": [ | |
"uVer, uEdg = create_square_grid(num_edge_x=2, dx=1000, match=0, epsg=32632)" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"## Generate grid based on the WGS84 coordinates" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 4, | |
"metadata": { | |
"collapsed": true | |
}, | |
"outputs": [], | |
"source": [ | |
"lVer, lEdg = create_square_grid(num_edge_x=2, dx=1000, match=0)" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"### Import rivus's line length function wich is used during model solution" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 5, | |
"metadata": { | |
"collapsed": true | |
}, | |
"outputs": [], | |
"source": [ | |
"from rivus.main.rivus import line_length\n", | |
"import pandas as pd" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"## Calculate the street lengths, and compare them" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 6, | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"data": { | |
"text/html": [ | |
"<div>\n", | |
"<style>\n", | |
" .dataframe thead tr:only-child th {\n", | |
" text-align: right;\n", | |
" }\n", | |
"\n", | |
" .dataframe thead th {\n", | |
" text-align: left;\n", | |
" }\n", | |
"\n", | |
" .dataframe tbody tr th {\n", | |
" vertical-align: top;\n", | |
" }\n", | |
"</style>\n", | |
"<table border=\"1\" class=\"dataframe\">\n", | |
" <thead>\n", | |
" <tr style=\"text-align: right;\">\n", | |
" <th></th>\n", | |
" <th>utm_length</th>\n", | |
" <th>wgs_length</th>\n", | |
" <th>diff</th>\n", | |
" </tr>\n", | |
" </thead>\n", | |
" <tbody>\n", | |
" <tr>\n", | |
" <th>0</th>\n", | |
" <td>999.92</td>\n", | |
" <td>1000.0</td>\n", | |
" <td>-0.08</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>1</th>\n", | |
" <td>999.91</td>\n", | |
" <td>1000.0</td>\n", | |
" <td>-0.09</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>2</th>\n", | |
" <td>999.92</td>\n", | |
" <td>1000.0</td>\n", | |
" <td>-0.08</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>3</th>\n", | |
" <td>999.91</td>\n", | |
" <td>1000.0</td>\n", | |
" <td>-0.09</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>4</th>\n", | |
" <td>999.92</td>\n", | |
" <td>1000.0</td>\n", | |
" <td>-0.08</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>5</th>\n", | |
" <td>999.91</td>\n", | |
" <td>1000.0</td>\n", | |
" <td>-0.09</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>6</th>\n", | |
" <td>999.92</td>\n", | |
" <td>1000.0</td>\n", | |
" <td>-0.08</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>7</th>\n", | |
" <td>999.92</td>\n", | |
" <td>1000.0</td>\n", | |
" <td>-0.08</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>8</th>\n", | |
" <td>999.91</td>\n", | |
" <td>1000.0</td>\n", | |
" <td>-0.09</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>9</th>\n", | |
" <td>999.91</td>\n", | |
" <td>1000.0</td>\n", | |
" <td>-0.09</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>10</th>\n", | |
" <td>999.91</td>\n", | |
" <td>1000.0</td>\n", | |
" <td>-0.09</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>11</th>\n", | |
" <td>999.91</td>\n", | |
" <td>1000.0</td>\n", | |
" <td>-0.09</td>\n", | |
" </tr>\n", | |
" </tbody>\n", | |
"</table>\n", | |
"</div>" | |
], | |
"text/plain": [ | |
" utm_length wgs_length diff\n", | |
"0 999.92 1000.0 -0.08\n", | |
"1 999.91 1000.0 -0.09\n", | |
"2 999.92 1000.0 -0.08\n", | |
"3 999.91 1000.0 -0.09\n", | |
"4 999.92 1000.0 -0.08\n", | |
"5 999.91 1000.0 -0.09\n", | |
"6 999.92 1000.0 -0.08\n", | |
"7 999.92 1000.0 -0.08\n", | |
"8 999.91 1000.0 -0.09\n", | |
"9 999.91 1000.0 -0.09\n", | |
"10 999.91 1000.0 -0.09\n", | |
"11 999.91 1000.0 -0.09" | |
] | |
}, | |
"execution_count": 6, | |
"metadata": {}, | |
"output_type": "execute_result" | |
} | |
], | |
"source": [ | |
"utm_length = uEdg.geometry.apply(line_length); utm_length.name = 'utm_length'\n", | |
"wgs_length = lEdg.geometry.apply(line_length); wgs_length.name = 'wgs_length'\n", | |
"lengths = pd.concat([utm_length, wgs_length], axis=1)\n", | |
"lengths['diff'] = lengths['utm_length'] - lengths['wgs_length']\n", | |
"lengths" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"### Plot the networks in both CRS" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 24, | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"data": { | |
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAuIAAAF1CAYAAACtaI9ZAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzs3Xu8XHV97//XZy57z+TOJXghYNQEW0GJNT9EOG0VCqUR\nE8/B2qA9wFFBUVqrtrY5AlqE/rwdilWLUsSqLYI/MZojlEulCFilJoSCCJagKCEgCYQQ2LMvs+fz\n+2OtyZ699nff9571Hfb7+XjkMTPfdZk1m8XMZ32+n+93mbsjIiIiIiLtVcj7AERERERE5iIF4iIi\nIiIiOVAgLiIiIiKSAwXiIiIiIiI5UCAuIiIiIpIDBeIiIiIiIjlQIC4iIiIikgMF4iKjMDM3sxWZ\nto+a2T+Z2dvM7Jn0X83MGi2vn0nXfcjM+s3swMw+7kr3vbx9n0ZEpDOZ2QYzuy7T9sAobestcY6Z\n3W1mPWb2mJndYmbrW9Y93MxuNLPdZvaUmW0xszUty99iZveZ2V4z+6mZvWmUY7s5/T4vzfTnlrlB\ngbjIFLj7P7v7AndfAPwBsKP5Om1r+gVwavOFmb0CqLb5cEVEOtmtwLFmVgQws+cDZeC3Mm0r0nX/\nDvgz4IPAAcDBwLnASS37/L/ATcDzgIOAPwWeTvd1MPBPwAeARcBfAFea2UGtB2VmbwMUgMu0KBAX\nmV1fA05reX068NWcjkVEpBP9mCTwXpW+/h3g34CfZdoeBBYA7wHWu/tN7l5z90F3v93dzwBIeylf\nDPyDu/en/37g7ren+1oGPOXu/+KJa4FngZc2D8jMFgMfAT40ex9b5gIF4iKz60fAIjP7zTRz80ck\nmRYREZkAd+8H7iAJtkkfbwNuz7TdChwHPOzum8fY5RPANuCfzOxNZva8zPLNwH1mttbMimlZSh9w\nd8s6fwNcCjw29U8mokBcpB2aWfETgPuBR/I9HBGRjvN9hoLu3yYJxG/LtH0fOJBMcGxm29M68F4z\ne5G7O/B64CHg/wCPmtmtZrYSwN0HSXouryQJwK8E3uXuz6b7Ww0cC3x2lj6rzCEKxEVGN0jSHdqq\nDAxMcj9fA94KnIHKUkREpuJW4L+Z2X7AUnd/APh34Ji07Yh0nSeAF7Ru6O7LSAL0bsDStu3ufo67\nvxR4EUnpyVcBzOz3gE8CrwO6gN8FLjezVWZWAP4eeJ+712f3I8tcoEBcZHS/ApZn2l4M/HIyO3H3\nX5IM2lwDfGtGjkxEZG75IbAYOAv4AYC7Pw3sSNt2uPsvgJuBZWnWekLc/WHg8yTBPCR157e6+2Z3\nb7j7j0lKY36PZPDmauBqM3uMpH4dYLuZ/fY0P6PMQQrERUZ3NXCumS0zs0KaJXkj8M0p7OsdwHHN\nrk0REZk4d6+R1G5/gKQkpen2tO3WdL2fAV8ErjKzE8ysmo7POaa5gZntZ2Z/bWYr0u/2A4G3k4zp\ngSS4/m0zW5Wu/yqS0pe7gT3AC0mC9VUkCRaAV5ME6yKToml3REZ3QfrvdmA/khH5b3P3n0x2R+7+\n4Awfm4jIXPN94LUk38lNtwHnkAbiqfcCfwJcTDKl4VPAf5EMlv8VyRSyy4F/JSlZeYZkFpY/AXD3\n75vZR4FvpgM5dwJ/4+43pvvfV4NuZpX06a9VqiJTYcmYBRERERERaSeVpoiIiIiI5ECBuIiIiIhI\nDhSIi4iIiIjkQIG4iIiIiEgOFIiLiIiIiORgzkxfeOCBB/ry5cvzPgwRkSnZsmXLLndfmvdxtJO+\nt0WkU030O3vOBOLLly9n8+bNeR+GiMiUmNmk7uj6XKDvbRHpVBP9zlZpioiIiIhIDhSIi4iIiIjk\nQIG4iIiIiEgOFIiLiIiIiORAgbiIiIiISA4UiIuIiIiI5ECBuIiIiIhIDhSIi4iIiIjkQIG4iIiI\niEgOFIiLiIiIiORAgbiIiIiISA5KeR+AiEinazSc3c8OsN/8EoWC8ht5qvUP5n0Ik2aW9xFMntE5\nB12vN+hvNJjfnX/IE8tfLYZzznI+CHcHh1Ip3+/s/M9KEZFZ4O70153awCA9/Q1q/cljT/8gtYH0\nMX3d098Yahtoadu3rGXb/pHr9dUbuMOvP/3fOGhRV94ffU476IO380zfIJXy6D+ufVe/A+/vwebt\nj5W6oeWflSpQ6oJSBSt2QzltL3ZDuQLFLiiny/Zt0w2lSvK6WJ5UgOE+E5+6vZzOOujBhjPYgHIx\n78Av17ffJ4bD8Aj+GO7wsufP474Ljs71OCYUiJvZQ8BeYBCou/tqM/sYsA5oAI8DZ7j7DjN7HfAd\n4Bfp5t9y9wvS/VwBnAw87u5HtOz/o8CZwM606X+7+3Xpsg3AO9L3/lN3vyFtPwn4DFAELnf3j0/l\nDyAi7VUfbAa9Ew90a5lgeeR64QC7WDCq5QLzuorM6ypQbT6Wk8d5XUWqzceW9RYv7k7Xa7aly7ub\n6w3fplIusPSDt1GIIMs01+397O9iZ91M7fOvG3Wd4+9fzrp161i9ejW1Wo2enp59j63Phx6fpadn\n59A6T4XWSR4HBgaoVqvMmzdv32Pr8xHL5o++bLzty+XJBf1z1dZf7eXtX7mPrecdlfehSES++P1H\nuPNXe/M+jEllxF/v7rtaXn/K3c8DMLM/Bc4H3p0uu83dTw7s4x+BzwFfDSz7W3f/dGuDmb0cWA8c\nDrwQ+FczOyxd/HngBGA78GMz2+TuP53E5xGRVKPh9GYywvsC3L5s28SzxaGM82DDWwLiTKDbEiy3\nBrrVrgIHLCgPC6JHW29ey75LxfZ1OVbKBXrrjba9n0zP4YcfzjHHHDPj+x0cHBw1SB8r2H/qqafY\nsWPHmNu1bt/T0wMwZgA/kQuBia5TKqkDXWQ2TPn/LHd/uuXlfCbQ2+Hut5rZ8km8zTrgKnfvA35h\nZtuA5iXtNnf/OYCZXZWuq0BcnjOypRWTyhZnMs6jB8dDpRXdpcKEssWtQfTCSpHnLeoaN4ie15KJ\n7irZczKLVy0X6R2IMxA3syKwGXjE3U82s+OBT5EM2H+GpEdzW2abE4CPA11AP/AX7n5zuuxU4H+T\nfO/vAP7Y3XdNpXczD7VajUqlMiv7LhaLLFiwgAULFszK/lsNDAxMMKM//HHnzp2Tukio1WoUi8Up\nB/KTuRCoVqsaZyFzykQDcQduNDMHvujulwGY2UXAacAe4PUt67/WzP6T5Av6z9393gm8xzlmdhrJ\nj8UH3X03cDDwo5Z1tqdtAA9n2l8zwc8iMi3P1AaoDTRoYBPIAk+vPrlYsAlli+dlSi6WzCuPXC8t\nrWjNRLeWVhRUVzEtlXIh2kAceB9wH7AofX0psM7d7zOz9wDnAmdkttkFvDEtOTwCuAE42MxKJGWB\nL0+D708C5wAfTbebcO+mu+cysrK3t3fWAvF2KpfLlMtlFi1aNP7K0+Du9Pf3TyjYz7Y9+uijk7pY\n6O3tpaura0Yz+g8/7dQee5QHHthv2LJKpfKcTApIZ5loIH5s+mV8EHCTmd3v7re6+4eBD6eZjnOA\njwB3Ai9y92fMbA3wbWDlOPu/FPgYScD/MeD/AG8nPMDYCU+7OCIjb2ZnAWcBHHrooRP4mNKpGg0f\nEeCO9npY4DuRdTPbDAw6pQLsN788Mls8IjgeCqIPWFDmkK7uSWWc21laIdNTKReoRRiIm9ky4A3A\nRcAH0mZnKChfTJI0Gcbdt7a8vBeomFk3ybggA+ab2RPpfrZlt88YrXfzh1P6UNPU29tLtVrN4607\nkpnR3d1Nd3c3S5YsmdX3cnd6e3snXdrT09PDrl27gst27XmGX+54ijU3Mmz7/v5+KpXKvkB++/bt\nHHHEESxYsGDcYH+iFwOq55fxTCgQd/cd6ePjZraR5Av01pZVrgSuBT7SWrLi7teZ2d+b2YGZ+vLs\n/n/dfG5m/wB8N325HTikZdVlDP1gjNbeut/LgMsAVq9enf8Q3TnGvVl3PLE64uGvx1kns27/YINK\nKRTcjp1FnkxpRfP1X31rG4fsX+EDJ+jiToZUStFmxC8BPgQsbGl7J3CdmdWAp4Hxpg04BdiaBtKY\n2dnAPcCzwAPAe1vWnWzv5jDtSKDMZmmKTI+Z7StRmSmjDdYcHBzcF/Tv3buXFStW8OUvf5ne3t4x\ng/49e/bw2GOPjXpxkN3m2WefBcL1/FNpG6+0p1gsztjfTmbfuIG4mc0HCu6+N31+InCBma109wfS\n1dYC96frPx/4tbu7mR1Fkr1+Ypz3eIG7P5q+/O/AT9Lnm4Arzexiku7MlcB/kGRjVprZi4FHSLo8\n3zrRDz2XuTt99ca+ADZbOjFmwDyJmS5q/Q1607rjcEA79qC7ZGBeNhgevX65Ui60LdtQ7SpS648y\n4JIcVbviC8TNrDlL1ZZ0Rqum9wNr3P0OM/sL4GKS4Dy0j8OBT5B892NmZeBs4FXAz4HPAhuAC5l8\n7+bIxjYkUJ4rpSkyPcVikfnz5zN//vx9geyrX/3qWXmv8er5R8vy79y5c1Lb1Go1yuXytDP4E1ne\n3d2tLP8MmEhG/HnAxvSPXQKudPfrzewaM3sZSTflLxmaMeXNwNlmVgdqwHpPJ4w0s68DrwMONLPt\nJBn0LwGfNLNVJF/MDwHvAnD3e83sGySDMOvAe5s1hWZ2DknNYhG4YoJ16FFydwYGvaVmePSgd/ya\n43GC64EG5aINBcGts1aMkkmeSN1xKLiuPkfrjjU7hoRUyoUYbyZzLLA2LROsAIvM7FrgN9z9jnSd\nq4HrQxunZS0bgdPc/cG0eRVA83X6Hf1XadtUejfbTqUpkjXbvSTtrOfv6+ubdMBfq9V44oknJrXN\nRKfqnImLgHK5PKt/tzyNG4inM5McGWg/ZZT1P0cyRWFo2amjtP/PMd7/IpLaxmz7dcB1o203E+r1\nBrueHcAsPCgvGCiHBt/1ZYLrwLoGweB37BriZlnFaOuOzCRXu4oUn4PBcTtVywX29g7kfRgSmUop\nvgs0d99Akq0mzYj/OfAm4LF0sOR/kUwDe192WzNbQlJyuMHdf9Cy6BHg5Wa21N13tm4/hd7NXCgj\nLlnPlYszM6NSqbTl/G5O1TnZgH/37t37puocbwxA81+hUJjxuv1fPfAMTz3Z4Fe/ynfWHk0MOoav\n/ugxzvza/fvKJIYFtJlyiyvOePm03+/p9J90hk+Pv4rMMd8E/mgC6+V5Vzl3r5vZmcA1ZtYAdpOU\nj2Bma4HV7n4+yQD8FcB5ZnZeuvmJ6cD9vwZuNbMBkh7RM9Llk+7dbLdmxrC7uzuPt5dI6eJs8to1\nVae7DyvtmUjw3nzerOUPbfPw43vY+2wP//7Z+r723t5euru79wXtAIsXL+bee2ev6EKB+Bhe/aKF\nHP7C+dz9kfFnRrzijDhu2Sqz7x9ue4Q7fvE0l5/2m2OuZ2Y6J+aQs752P68+dCHv+t3gGMR98qqp\ndPdbgFvS5xtJSk6y62wiyV7j7heS1H2H9vUF4AuB9kn3brZbX18fXV1dmqtahtEA3niZGV1dXXR1\ndbF48eIZ22/zzppf/J+/sa+t0WjsK+3p6elh06ZNfOc735mx9wxRID6GyOcFlpzEfOMWyY/GDnQG\nZT4l5LlSmiITF0qTFQqFfSUqBxxwAPvvvz8HHHDArB6HUgJjUMAlIcmgPJ0XMlxVF+4dQZlPCdF5\nMTeN10HZjvNCgfgYYr1Bh+RLPSUSovOiMyjzKSHqKZGQdpwXCsTHoB9WCamqBEECkgv36KYvlAwF\nXBKiCzQJqdVqs35eKBAfg7qaJSTS+aIlZypl6wwqQZAQnRcSoox4zkpFo+FOfVA/rjJEPSUSovOi\nMyjzKSHqKZGQdnxfKBAfg5npx1VGqJaLKk2RETSmpDMo4JIQXaBJiAZrRkCBuGTpnJCQSknnRSdQ\nCYKE6LyQEGXEI6Dsp2Rp+kIJqXYpEO8EyohLiM4LCVFGPAIKuiRLN26REA3i7QwqQZAQnRcSosGa\nEVAZgmRpNh0JqZR0gdYJVIIgITovJESlKRHQnNGS1Z3WAruHbpArc1W1S9MXdgKVIEiIMuISotKU\nCKi7WbIKBaOrZPTpAk1aqIytMyjgmnsmkjNRRnzumUgyTRnxCKg0RUJ08xbJ0tiBzqCAa26ycZar\np2RuMhv7zFBGPAIKuCRE2U/J0tiBzqCAS0LUUyIhGqwZAWW5JETnhWSp96wzKOCSEPWUSIhKUyKg\nzKeEKPspWbqzZmdQwCUh6imREJWmREBZLgnReSFZurNmZ1DAJSHqKZEQZcQjoOkLJUTZT8kql5Kv\n0/qgzouYKeCSEPWUSIgy4hHQ9IUSkmQ/dV7IcLpAi58y4hKi80JCNFgzAipBkBDdvEVCVJ4SP2U+\nJUQ9JZLVaDQYGBigu7t7Vt9Hgfg4VJoiIRrEKyHVLgXisVPAJSG6QJOs3t5euru7x51rfLoUiI+j\nUi4q4JIRNH2hhKg0JX4qQZAQnReS1a6LdgXi41BpioRo+kIJUWlK/JT5lBD1lEhWu74rFIiPQ6Up\nEqLSFAlRaUr8FHBJlrvrAm0O8nGWt6uXRIH4OBRwSYhKUyQk6UHTbDoxUwmCZA0MDFAqlSgWi3kf\nirTZWNXfKk2JhEpTJKSqgEsCKiXViMdOmU/J0jkhISpNiYQCLglRT4mEaFrL+Kk0RbLUSyIhyohH\nQiUIElIpF3VeyAjqQYufgi7J0sWZhCgjHglNXyghmjVFQjR9YdwGBwcZGBigq6sr70ORiKg0RUI0\nWDMSynBJiM4LCdH0hXHr6+ujUqnM+g06pLOol0RCVJoSCU1fKCHKfEpIrNMXmlnRzLaa2XfT18eb\n2Z1mdpeZ3W5mKwLbnGBmW8zsnvTxuJZlp6btd5vZ9WZ2YNr+KTO7P23faGZL0vblZlZL3+8uM/tC\nuz57KwVcEqLSFAlRaUokNChPQpT5lJDkAi3Kwd3vA+5reX0p8DZ3XwVcCZwb2GYX8EZ3fwVwOvA1\nADMrAZ8BXu/urwTuBs5Jt7kJOCJt/y9gQ8v+HnT3Vem/d8/cR5s4lSBIiM4LCVFGPBIqQZCQWDOf\nkq8YL9DMbBnwBuDylmYHFqXPFwM7stu5+1Z3b7bfC1TMrJtk6l0D5ltS47Goub273+ju9XSbHwHL\nZvjjTIsynxKinhIJadcFWmnW36HDqTRFQpKekigzn5KjaleRJ58dyPswsi4BPgQsbGl7J3CdmdWA\np4Gjx9nHKcBWd+8DMLOzgXuAZ4EHgPcGtnk7cHXL6xeb2db0/c5199tCb2RmZwFnARx66KHjHNbk\nKOCSEF2gSYgGa0aiGXC5j3czVJlLNH2hhMQ2dsDMTgYed/ctmUXvB9a4+zLgy8DFY+zjcOATwLvS\n12XgbOBVwAtJSlM2ZLb5MFAH/jltehQ41N1fBXwAuNLMFhHg7pe5+2p3X7106dLJfNxxqQRBQnRe\nSIhKUyJRKhYwM+qDCsRliKYvlJAIS1OOBdaa2UPAVcBxZnYtcKS735GuczVwTGjjtKxlI3Cauz+Y\nNq8CcPcHPclQfKN1ezM7HTiZpAbd03X73P2J9PkW4EHgsJn8oBOhzOfc5Iz9+63zYm4aL7+qwZoR\nUXmKZGkQr4TENnbA3Te4+zJ3Xw6sB24G1gGLzawZCJ/A8IGcAKQznlwLbHD3H7QsegR4uZktzW5v\nZicBfwmsdfeeln0tNbNi+vwlwErg5zP2QSdIpSlz11hTVuq8mLvGmsm0XRdoqhGfgOaAzYX6/1RS\nuuOqhHTC4G53r5vZmcA1ZtYAdpPUc2Nma4HV7n4+yUwoK4DzzOy8dPMT3X2Hmf01cKuZDQC/BM5I\nl38O6AZuSgOfH6UzpPwOcIGZ1YFB4N3u/mQbPu4wCrgkRKUpEqLBmhFR9lOyVJoiIZVStNMX4u63\nALekzzeSlJxk19kEbEqfXwhcOMq+vgCMmAvc3UfMR562XwNcM7Ujnzm1Wk0lCDKCSlMkRIM1I6Ls\np2R1QuZT2k/nRdyUEZcQZcQlRIM1I6Lsp2RFfOMWyVG1q6jviogpEJcQnRcSosGaEdGc0ZLVXSrQ\nX3caDc2mI0Nim75QhlNpioSoNEVClBGPiLqbJcvMqJQL9KlkSVpEOH2htFDmU0JUmiIhyohHpKqb\nt0iAsp+SFdv0hTKcAnEJ0XkhIRqsGRHNmiIhyn5KlsYOxE2lKRKi0hQJUWlKRFSaIiHKfkqWLs7i\npsynhKg0RUJUmhIR3VlTQpT9lCzNmhI3BeISovNCQpQRj4hmTZEQZT8lq7tk1AYauGs2nRgp8ykh\nKk2Zm8b7mlZGPCIqTZEQZT8lq1QsUDRjYFCBeIwUcEmILtDmLhtjmQZrRkSzpkiIBvFKiMYOxEsl\nCBKiCzTJcncF4jFRRlxCKiWNHZCR9H0RL2U+JUTnhWQNDAxQKBQolUqz/l4KxCdAmU8JUeZTQiol\nDeKNlTKfEqKeEslq53eFAvEJqGjWFAlQ5lNCdF7ESwGXhOgCTbLa2UuiQHwCqvphlQBNXyghGsQb\nL5UgSIjOC8lq50W7AvEJ0PSFEqLpCyUkKU3ReREjZT4lq9Fo0N/fT3d3d96HIhFRaUpk1NUsIcp8\nSoi+L+Kl0hTJ6uvro1KpYDbWRHYy16g0JTKavlBCktIUnRcynAbxxkslCJKlc0JClBGPjGZNkRCV\npkiISlPipdIUyVIviYQoIx4ZdTVLiDKfEpJ8X2hMSYwUdEmWLs4kRIM1I1PV9IUSoNIUCdEFWpzq\n9TqNRqMtN+iQuLiPvkylKXOXM/qJEV1pipk9ZGb3mNldZrY5bfuYmd2dtt1oZi9M219nZnvS9rvM\n7PyW/VxhZo+b2U8y+9/fzG4yswfSx/3SdjOzvzOzbel7/VbLNqen6z9gZqfPxB9jNMqIS0hSmqLM\npwxXKWsQb4yaP6walDc3jfafXb0kc9to3wexlqa83t1Xufvq9PWn3P2V7r4K+C5wfsu6t6XrrnL3\nC1ra/xE4KbDvvwK+5+4rge+lrwH+AFiZ/jsLuBSSwB34CPAa4CjgI83gfTZo+kIJUeZTQlQjHicF\nXBKi0hQJiS4jHuLuT7e8nA9j5PiHtrkVeDKwaB3wlfT5V4A3tbR/1RM/ApaY2QuA3wducvcn3X03\ncBPhAH9G6M6aEqLMp4SoBy1OCsQlRKUpEhJjRtyBG81si5md1Ww0s4vM7GHgbQzPiL/WzP7TzP7F\nzA6fwP6f5+6PAqSPB6XtBwMPt6y3PW0brX1WVBVwSYAynxKinpI41Wo1ZT5lBGXEJSTGwZrHuvtv\nkZSKvNfMfgfA3T/s7ocA/wyck657J/Aidz8S+Czw7WkcX6h4x8doH76x2VlmttnMNu/cuXPKB6Hp\nCyVEmU8J0QVanJQRlxBlxCUkutIUd9+RPj4ObCSpy251JXBKus7T7v5M+vw6oGxmB47zFr9OS05I\nHx9P27cDh7SstwzYMUZ79rgvc/fV7r566dKl437O0TRLU3ysodcy5yjzKSG6QIuTAnEJ0XkhIVGV\nppjZfDNb2HwOnAj8xMxWtqy2Frg/Xef5lg5DNbOj0vd4Ypy32QQ0Zz45HfhOS/tp6ewpRwN70tKV\nG4ATzWy/dJDmiWnbrCgWjFLBGBhUIC5DNH2hhCQXaBrcHRuVpkiISlMkpJ3nxUQmVH0esDGNrUvA\nle5+vZldY2YvAxrAL4F3p+u/GTjbzOpADVjvaSrZzL4OvA440My2Ax9x9y8BHwe+YWbvAH4F/GG6\nr+uANcA2oAf4XwDu/qSZfQz4cbreBe4eGgQ6Y5rlKV0lTb0uCd1ZU0JUmhInZT4lRKUpEtLO82Lc\nQNzdfw4cGWg/ZZT1Pwd8bpRlp47S/gRwfKDdgfeOss0VwBWjHvgMa5anLG7XG0r0lPmUEM2mEycF\n4hKi80JCYhysOedVddtqyaiUi8p8yggaOxAnlaZIiEpTJCS6wZqSBl2aOUVaqDRFQmIsTTGzoplt\nNbPvpq+PN7M707sf325mKwLbnJBOWXtP+nhcy7JT0/a7zez65oD8qdwluV2U+ZQQlaZISFSDNSWh\nm/pIljKfEhLprCnvA+5reX0p8Lb0zshXAucGttkFvNHdX0EyiP5rAGZWAj5DcrflVwJ3MzR97aTu\nktxOCsQlROfF3DXWRHjKiEeoGuePq+SoXDTqDWewodl0ZEhsF2hmtgx4A3B5S7MDi9LniwlP/7q1\nOXUtcC9QMbNukvs4GDA/nSFrUcv2k71LctuoNEVCVJoyt1norjRENlhTEpFmuSRHZravPGV+dzHv\nw5FIRPhdcQnwIWBhS9s7gevMrAY8DRw9zj5OAba6ex+AmZ0N3AM8CzzA0KD6YXdJNrPx7pL8aPaN\n0rs3nwVw6KGHTvAjjk+ZTwlRaYqEaLBmhHR3TQmJLfsp+UtqxOMY2G1mJwOPu/uWzKL3A2vcfRnw\nZeDiMfZxOPAJ4F3p6zJwNvAq4IUkpSkbxjuUQFuwK2mmbsSWpUBcQpQRlxCVpkSoUlKNuIwUYfZT\nchbZ9IXHAmvN7CHgKuA4M7sWONLd70jXuRo4JrRxWtayETjN3R9Mm1cBuPuD6RSz32jZfrJ3SW4b\nlaZIiDLiEqLBmhHSnNESElP2U+IQUy+Ju29w92XuvhxYD9xMUq+92MwOS1c7geEDOQEwsyXAtcAG\nd/9By6JHgJeb2dLA9pO9S3LbKCMuITovJCS2O2sKKk2RsMiynxKBGKcvbOXudTM7E7jGzBrAbuDt\nAGa2Fljt7ueTzISyAjjPzM5LNz/R3XeY2V8Dt5rZAMmdlc9Il0/qLsntpIBLQlSaIiEarBmhSrmo\n0hQZIabsp8ShUi7QV2/g7thoQ/Jz4O63ALekzzeSlJxk19lEkr3G3S8ELhxlX18AvhBon/RdkttF\npSkSotIUCdFgzQhp+kIJiT37Ke1XKBjlotFf17SWMVFGXEJ0XkiIBmtGSKUpEqLBmhKisQPxUcAl\nISpNkazBwUEGBgbo6upqy/spEJ8g3VlTQlSaIiG6QIuPAi4JUWmKZPX19VGpVNpWWqhAfIJUmiIh\nynxKSLVLg3hjo4BLQtRTIlnt/q5QID5BynBJiM4LCWnecVXioYBr7hprtIZ6Suau0c6Ldn9XKBCf\noEpZmU8h/CzbAAAgAElEQVQZSZlPCUm+L3RexESB+Nw2WpGBekrmttB50e6LMwXiE6QMl4QoIy4h\nOi/io+kLJater+PulEqayVmGqDQlUsp8SoimL5QQjSmJjzLiktXMfMY037/kTxnxSGn6QglR5lNC\nVMoWHwXikqWyFAlRRjxSlZKmL5SRNH2hhOgCLT4qTZEsDdSUEA3WjJQCLgnR9IUSolK2uLg7vb29\ndHd3530oEhFlxCVEpSmRSkpTFHDJcMp8SojGDsSlXq9TKBQ0KE+GUbmShKg0JVK6s6aEKPMpIbpA\ni4vKUiREpSkSoox4pKplBVwykjKfEqJStrgo8ykhKk2REGXEI6VZUyREmU8J0diBuCgQlxCdFxKi\nwZqRUmmKhCjzKSG6QIuLSlMkRKUpEqLSlEjpBh0SosynhGjsQFyU+ZQQlabMbe7hdpWmRKq7VKCv\n3sBH+y8nc5IynxJSKem8iIkCcQnReSGhm6oqIx6pQsEoF40+ladIC2U+JSS5s6bOi1ioNEVCVJoi\nIcqIR0xZLslSRlxCdF7ERZlPCVFpioRosGbElP2ULE1fKCEaUxIXBeISovNCQlSaEjF1N0uWMp8S\nou+KuKg0RUJ0XkiISlMiptIUydL0hRKSXKBpNp1YKPMpITovJEQZ8Ygp6JIslaZIiMrY4qKAS0I0\nWFNClBGPmLqbJatUNNyd+qDOCxmiC7S4KOCSEA3WlBAN1oxYUpqi7mYZYmbKfsoIGjsQFwVcEqKe\nEglRaUrEFHBJiLKfkqUytrgo4JIQ9ZRIiEpTIqYsl4TovJAsDeyOiwIuCVFPiYQoIx4x1YhLiLKf\nkqXvirgo4Jrb3MPt6imZ23yUE0MZ8YjpJh0SouynZKmXJC4KuMRsZJt6SsQYeWJosGbE9OMqIcp+\nSlalXKB/sDFqxqXdzKxoZlvN7Lvp6+PN7E4zu8vMbjezFYFtTjCzLWZ2T/p4XNq+MN2u+W+XmV2S\nLvvblvb/MrOnWvY32LJsU7s+OyjgkjD1lEhIu78vSm17p+cABVwSkpSmaDYdGWJmdBWTC/dqVzHv\nwwF4H3AfsCh9fSmwzt3vM7P3AOcCZ2S22QW80d13mNkRwA3Awe6+F1jVXMnMtgDfAnD397e0/wnw\nqpb91dx9FTlQwCUh6imRLHdXaUrMNH2hhKg0RUJi6UEzs2XAG4DLW5qdoaB8MbAju527b3X3Zvu9\nQMXMujP7XgkcBNwWeOtTga9P7+hnhgIuCVFPiWQNDAxQKpUoFtuXQFFGfBI0KE9CKuWiekpkhIjG\nlFwCfAhY2NL2TuA6M6sBTwNHj7OPU4Ct7t6XaT8VuNozNThm9iLgxcDNLc0VM9sM1IGPu/u3J/1J\npkgBl4Sop0Sy8jgnlBGfBAVcEhJL5lPiEkMpm5mdDDzu7lsyi94PrHH3ZcCXgYvH2MfhwCeAdwUW\nryec9V4PfNPdW7sQD3X31cBbgUvM7KWjvN9ZZrbZzDbv3LlztMOaFAVcEqILNMnKo/dMgfgkqARB\nQtRTIiGRXKAdC6w1s4eAq4DjzOxa4Eh3vyNd52rgmNDGaVnLRuA0d38ws+xIoBQI8iEQoDfLXNz9\n58AtDK8fb13vMndf7e6rly5dOqEPOR6VpkiILtAkK4+LMwXik6CAS0J0Z00JiaE0xd03uPsyd19O\nEhzfDKwDFpvZYelqJ5AM5BzGzJYA1wIb3P0Hgd0Ha8DN7GXAfsAPW9r2a9aXm9mBJBcIP53GR5sU\nZT4ly93p6+tTIC7D5HFxphrxSYihq1niE0nmUyKTfF/EN7jb3etmdiZwjZk1gN3A2wHMbC2w2t3P\nB84BVgDnmdl56eYnuvvj6fO3AGsCb3EqcFWmbvw3gS+m71cgqRFvWyCuzKdk9ff3Uy6XKRSUj5Qh\neVy0KxCfBJWmSIimL5SQ2C7Q3P0WkpIQ3H0jSclJdp1NwKb0+YXAhWPs7yWjtH800PbvwCsmf9Qz\nQ6UpkqWLMwnRYM3IqTRFQlSaIiHVclHfF5FQaYpk6eJMQjRYM3JJhkuZTxkutsynxEHnRTyU/ZQs\nXZxJ6L7HGqwZOU1fKCHVLmU+ZSSNKYlDc1Bed3f3+CvLnKGLMwEwG/5apSmRU424hOi8kBBlxOOg\nQXkSotIUCVFGPHKqEZcQZT4lJIbpC0UlCBKm80JClBGPnAIuCVHmU0Jinb5wrlEJgoTovJAQDdaM\nnEoQJESZTwnRBVocVIIgITovJESlKZFTaYqEKPMpIZq+MA4qQZAQnRcSotKUyCngkhBlPiVEpWxx\nUAmChOi8kBBlxCPXXSrQX3cajdDskzJXafpCCdEFWhxUgiAhyohLiDLikTMzKuUCfXX9uMoQ3VlT\nQjR2IA4KuCREGXEJ0WDNDqAsl2TpnJCQSrlAry7ac6eAS0LUUyIheVy4l9r6bs8BzeznfnkfiERD\ng3ifGxoNp3egQU//ILX0sae/kTzva21rPm9Q27dO8tjTP0gtfbzvsR721Op5f6w555iPbwbgNX+T\nPP5i4z/wxD3f58BXraFQ6qbQVUkeyxUK5fQx1DbieYVCqQubhRsDZe/u1wk66ZgfeaqP7bv79p0b\nANtvfpBGvZ8ftrS1g0Xyh4vhKPL+U/zssWdZMq/MxW9Zua8tjwt3BeKTpKBLsjSt5exxd/rrPiw4\nbga6rQFwMyAetl4aLLduMyzAzuyjr96gUipQ7Sowr6tItZw+pq/ndRWoltPH9PW8riILK0Wet6gr\nXX9omx/9fA/X3fNE3n/COeeSPzqM1/y/m/m79cmP65d2vpx/e2Ybb/vjdfTWavT11eit1Vqe76Kv\nt0bf3hq9vTX6auljb7pOby+9vT309fbS39dLV1c33ZUK3dV5dHdXqFSrVPY9n0d3pUKlUqW7UqW7\nWqVSSduqSVtzWaVapbs72U/yPFm/uayrqzuaoC3LO2yY1O0PPMVnbn6YT//hUMD1xV/Np7tyAGe0\ntM02j+QPF8NhRHAIXH7bDnr6h0/AEW1G3MweAvYCg0Dd3Veb2ceAdUADeBw4w913mNnrgO8Av0g3\n/5a7X5Du5yTgM0ARuNzdP562/yPwu8CedJsz3P0uS76FPgOsAXrS9jvTbU4Hzk3Xv9DdvzKlv8Ak\nqQxBsubibDr1wcZQtnhYcDyxbHE4IA7vo1S0oQC43AyKi5mAeXhwXC0X2G9eedwgel+wXS5QKRco\nFGYu8KmWi9z6wJ7xV5QZddSLFwHwmpcsBuAnR7yE+p7/h49+8F3T3nej0aCvr4+enh56enqo1Wpj\nPg5re3YnT+0cZ52Wx/7+fqrVKvPmzRv3cbrLyuVytEH/TCgYfPPOnRzz0sX72q6pOi94wZJhbTK3\n/McvnmbHnr5hbbFnxF/v7rtaXn/K3c8DMLM/Bc4H3p0uu83dT27d2MyKwOeBE4DtwI/NbJO7/zRd\n5S/c/ZuZ9/wDYGX67zXApcBrzGx/4CPAapILqy3pvnZP4vNMSVKaMreCLhlb8+LM3XP9MWstrRiW\nLU5LK6aTLc6uN9jwoQB3lMB2XncmAC4XOHBBmXldlTRAHic4TrcpFTtzKIsu2uMwkxmuQqFAtVql\nWq1ywAEHzMg+RzM4OEhvb++kg/49e/bw2GOPjX9h0PLYaDRmPMgfbZ1SKY6OeA3ilZA8xg5M+f8I\nd3+65eV8xu9pOArY5u4/BzCzq0gy6j8dY5t1wFc96c/5kZktMbMXAK8DbnL3J9N93QScBHx9Kp9l\nMvTjKlmlYoGCGfVBp1waHoiHSismlS2eQMa52dYsrcgGyOOVWCyqFnn+4q7hQfQ4+ygX7TmdQZsJ\nKmOLQ6cO1iwWi8yfP5/58+fP+nvV6/Vxg/VQQL9r166J9Qa0tBWLxVkL8rOPhTHq+Tv1vJDZVavV\n4ixNIQmybzQzB77o7pcBmNlFwGkkJSWvb1n/tWb2n8AO4M/d/V7gYODhlnW2k2S5my4ys/OB7wF/\n5e59o2xz8Bjtw5jZWcBZAIceeugEP+rYNGd053N3BgZ9ROA7clDeyBrkbGDcfF1vOEde8B847GsH\nKL373ygVbWQAXG7JAHeFAuAC+88vT7hOuVlaoeA4HprWMg6aHWN8pVKJhQsXsnDhwll9H3dnYGBg\n8mU9tRqPPfbYhDP8PT099Pb2Ui6XmTdvHqWuCk/XS7zyqiX7gvQf/vCHfO973+P73//+mIH9eIH/\nvHnz6O6Ot55fJifmjPixaf33QcBNZna/u9/q7h8GPmxmG4BzSMpF7gRe5O7PmNka4NskpSWhs7SZ\nRd8APAZ0AZcBfwlcMMY2Y+1rqCG5YLgMYPXq1TMyNkA/rrNntLrj0V4HA+RMMD3ausCIUohmABwa\nqNd8vTQtrciu++/b9vDJ//FSXvq8efv2e9DF0H/p6ynOYN2xdI6k90xlbHlTCUI8zIyuri66urpY\nsmTJrL6Xu++r5//B/b/m3G/ex9fOWLEvWD/zzDM5+uijOf7440cE8U888cSYQf9o9fwTDegnE+Rn\n28rl8qz+3ea6aAdruvuO9PFxM9tIUmZya8sqVwLXAh9pLVlx9+vM7O/N7ECSrPUhLdssI8mY4+6P\npm19ZvZl4M/T16Nts52kPKW1/ZaJfJbpmmulKYMNpzYiGB47QA7PbjF+cN2sOx4RDGdmo8gGygcs\nGJk5HnObcoFyaWbrjg9YUOYVhyzgRQcM/x9YQfjcpd6zONRqtVkP+iQ+ZkalUqFSqXDQ84tUDnyW\nV77ylfuWH3bYYbz1rW9lzZo1036vwcFBarXahMtzms+feuopduzYMe56rc/NbNaC/MmU9jxXRTlY\n08zmAwV335s+PxG4wMxWuvsD6WprgfvT9Z8P/Nrd3cyOIrlp0BPAU8BKM3sx8AiwHnhrus0L3P3R\ndJaUNwE/Sfe7CTgnrSd/DbAnXe8G4G/MrDmd94kkWfVZF0PdZ2i+48nMVDH89VhTvw0yMOgjaofD\nWePh5RaLqyVesDgbTI8dKHdy3fFcu0CT8an3LA4qTZGQmcx8FotFFixYwIIFC2Zkf2NplvZMpi6/\nVqvx61//elLb9Pb20tXVNWtBfmtbTKU9sZamPA/YmP6RSsCV7n69mV1jZi8jmb7wlwzNmPJm4Gwz\nqwM1YH062LJuZucAN5BMX3hFWjsO8M9mtpSk5OSuln1dRzJ14TaS6Qv/F4C7P5lOn/jjdL0LmgM3\nZ9tYU9X17qsnzg6sG8okj6w5zgTBI8oqwvMdd5cmNutEa9A7Py2tGH/doeC6u6S644lQ9lOydHEW\nB5WmSEinDtYsl8ssXryYxYtnd9pFd6e3t3fC2f3m82effZZdu3ZN6mJhYGBgRgL6ibSNN2tPlIM1\n01lOjgy0nzLK+p8DPjfKsutIguts+3GjrO/Ae0dZdgVwxagHPku+d9+TfOvOnXz6xoeHBcgAS953\n28hp2crh2Sdag9395pUz67R3vmOZPmU/JaurZNQbzmDDVaKUo04NuGR26QJtbM0SmGq1yv777z+r\n79Us7ZlMWU9PTw+7d+/mkUcemdQ2hUJhX1DeTxkrV7j1k4v3te3du3dWP2tIHBN6dpCjX7KIBV0l\nPnjiocOyyAs/D32Xvp4+khocmXte++GRbepNkNJleR/B3KbSFAnRBVo82lXak5215+9u2MYjT+zh\nnN8+iJ6eHp555hmuv/76tpQYtVIgPkkrDppPuWj8xgtGzu0ay+1rpf1O+sxd/Nnxh3DSEUM3+TAz\nnRNz3P5/disPXPhaDlgwNNOBLs7aS5lPCdEF2tyTnbXngBcO0D+/j6OOWglAT08P1WqVYrHY1uOa\ne0Nip6lSUt2njKTzQkJUJ54/BVwSogs0geFzYedRHw4KxCcthllTJD5jDeKVuauqucRzpxIECdF5\nIVl5XbQrEJ+kJOBSIC7DKfMpIZVyUd8XOVPmU0LUUyJZeX1XKBCfpKQEQRkuGU7TF0qILtDyp4BL\nshqNBgMDA3R1deV9KBKRvHpJFIhPkkpTJETTF0pIVYF47lSCIFnNizMNnJZWKk3pEJVykVq/flhl\nOGU+JUSlbPlTRlyydE5IiAZrdohKqUBvXT+sMpx6SiQklgs0Myua2VYz+276+ngzu9PM7jKz281s\nRWCbE8xsi5ndkz4el7YvTLdr/ttlZpeky84ws50ty97Zsr/TzeyB9N/p7frsqhGXLJ0TEpLXBZrm\nEZ8kBVwSUikV2Nk7kPdhSGQiKk15H3AfsCh9fSmwzt3vM7P3AOcCZ2S22QW80d13mNkRwA3Awe6+\nF1jVXMnMtgDfatnuanc/p3VHZrY/8BFgNeDAFjPb5O67Z+oDjkalKZKlc0JCNFizQ1TKBZWmyAix\nZD4lLpUIpi80s2XAG4DLW5qdoaB8MbAju527b3X3Zvu9QMXMujP7XgkcBNw2zmH8PnCTuz+ZBt83\nASdN9rNMVqPRoL+/n+7u7vFXljlDpSkSktcFmjLik1QpqzRFRkp6SjSbjgwXSY34JcCHgIUtbe8E\nrjOzGvA0cPQ4+zgF2OrufZn2U0ky4K23kD3FzH4H+C/g/e7+MHAw8HDLOtvTtlnV19enQXkyQl61\nwBI3DdbsEBF1NUtEdGdNCamU853W0sxOBh539y2ZRe8H1rj7MuDLwMVj7ONw4BPAuwKL1wNfb3n9\nf4Hl7v5K4F+BrzR3E9jWA22Y2VlmttnMNu/cuXO0w5oQlSBIiDLiEqLBmh0ihq5miY9u3CIhEVy4\nHwusNbOHgKuA48zsWuBId78jXedq4JjQxmlZy0bgNHd/MLPsSKDUGuS7+xMtWfN/AF6dPt8OHNKy\n+TIC5TDpPi5z99Xuvnrp0qUT/6QBCrgERl7x6bwQgOEdecqIdwwFXBKiQbwSkndpirtvcPdl7r6c\nJHt9M7AOWGxmh6WrnUAykHMYM1sCXAtscPcfBHZ/KsOz4ZjZC1perm3Z7w3AiWa2n5ntB5yYts0q\nzY4hTa3VSSpNkabWsrW8vi9UIz5JKkGQEJ0XElIpF9jbG1cPmrvXzexM4BozawC7gbcDmNlaYLW7\nnw+cA6wAzjOz89LNT3T3x9PnbwHWZHb/p+k+6sCTpDOxuPuTZvYx4Mfpehe4+5Oz8gFbqDRFQpQR\nlxAN1uwQynxKSN6ZT4lTtVxg5944prV091uAW9LnG0lKTrLrbAI2pc8vBC4cY38vCbRtADaMsv4V\nwBWTP/KpU8AlIeopkZDe3l6WLFnS9vdVacoklYtGveEMNoLjjGSO0vSFEpJcoMWVEZ9LFHBJiHpK\nJESDNTuEmakMQUZQT4mE6AItXwq4JEQ9JRKiwZodREGXZFVKynzKSNWcpy+c6xRwSYh6SiREgXgH\nUXezZOU9X7TESWMH8qWAS0LUUyIhKk3pICpNkSz1kkiISlPypYBLQtRTIiHKiHeQapeynzJcUpqi\nc0KGi+CGPnOaAi4JUU+JhCgj3kGU5ZKsSrlAX70x4k5dMrfpuyJfCrgkRD0lEqKMeAdR9lOyCgWj\nXDT66wrEZYjGk+RLGXEJ0XkhIQrEO4iyXBKisQOSpe+KfCnzKSG6xb0AZDuwVZrSQTQwT0KU/ZQs\nTV+YL2U+JUTnhTRZy3NlxDuI5oyWEGU/JUvTF+ZLNeISokBcQpQR7yAKuCRE2U/J0ndFvlSaIiEq\nTZEQZcQ7iKYvlBBlPyVL0xfmS5lPCdF5ISEKxDuIAi4JUfZTskpFo+FOfVDnRR5UmiIhCsQly91z\n60FTID4Fmh1DQpT9lCwz0wVajlSaIiEqTZGsgYEBSqUSxWKx7e+tQHwKNGuKhGjWFAnR2IH8KPMp\nITovJCvPizMF4lOggEtClPmUkEq5QG9d50UeVJoiITovJCvPizMF4lOg0hQJ0SBeCamUC9T6dV7k\nQaUpEqLzQrIUiHcYBVwSogs0CVFPSX5UgiAhOi8kS6UpHUY/rBKi2XQkpKrSlNyoBEGyBgYGMDNK\npVLehyIRUUa8wyR31tQPqwynQbwSkpSmaExJHlSCIADuQ8+VDZemltNCGfFOo4y4hKg0RUL0fZEf\nBV3SZJY86pyQVjGcFwrEp0CZTwnRbDoSoukL86PSFMnSHOISokC8wySlKQq4ZDhlPiVEYwfyo9IU\nyVJGXEJUmtJhFHBJiDKfEqLvi3zU63UGBwcpl8t5H4pERIG4hCgj3mE0faGEKPMpIVUF4rno6+uj\nWq1izSJQEVSaImHKiHcYBVwSosynhOj7Ih/KfEqIzgsJUUa8w2h2DAlR5lNCkgs0jSlpN9WHS4gC\ncQlRIN5hNGuKhCjzKSG6QMuHZkyREJWmSIhKUzqMShAkRJlPCanozpq5UOZTQnReSIgy4h1Gd9aU\nEA3ilZBKuUitX+dFu6k0RUIUiEuIMuIdplQ03J36oH5cZYjGDkhIDD1oZlY0s61m9t309fFmdqeZ\n3WVmt5vZisA2J5jZFjO7J308Lm1fmG7X/LfLzC5Jl33AzH5qZneb2ffM7EUt+xts2WbTbH9mBVwS\notIUCcnz+6KUy7t2ODPbl/1cUNS1jCRUIy4h1ThKU94H3AcsSl9fCqxz9/vM7D3AucAZmW12AW90\n9x1mdgRwA3Cwu+8FVjVXMrMtwLfSl1uB1e7eY2ZnA58E/ihdVnP3VbSJasQlRBdo0uTu+56rNKUD\nqTxFsmLIfEp8KuVCrqUpZrYMeANweUuzMxSULwZ2ZLdz963u3my/F6iYWXdm3yuBg4Db0m3+zd17\n0sU/ApbN1OeYLJWmSIgy4tKqeZuBPM8LZcSnSEGXZGl2DAmJ4LviEuBDwMKWtncC15lZDXgaOHqc\nfZwCbHX3vkz7qcDV3ppaGvIO4F9aXlfMbDNQBz7u7t+exGeYNGU+JUTnhYQoI96BNIWhZKk0RUKq\nOc6mY2YnA4+7+5bMovcDa9x9GfBl4OIx9nE48AngXYHF64GvB7b5Y2A18KmW5kPdfTXwVuASM3vp\nKO93lpltNrPNO3fuHP3DjUOlKRKiQFxCNFizA6k0RbIiyHxKhHK+QDsWWGtmDwFXAceZ2bXAke5+\nR7rO1cAxoY3TspaNwGnu/mBm2ZFAKRvkm9nvAR8G1rZm0JtlLu7+c+AW4FWh93T3y9x9tbuvXrp0\n6SQ/7hCVpkiISlMkRBnxDqSgS7Iq5QL9gw3CvfQyV1XK+U1r6e4b3H2Zuy8nyV7fDKwDFpvZYelq\nJ5AM5BzGzJYA1wIb3P0Hgd2fSiYbbmavAr5IEoQ/3tK+X7O+3MwOJLlA+Ok0P96YlPmUEJ0XEqJZ\nUzpQUpqim7fIEDOjq5hcoFW7inkfjkQitrED7l43szOBa8ysAewG3g5gZmtJZj05HzgHWAGcZ2bn\npZuf2BJgvwVYk9n9p4AFwP9nySioX7n7WuA3gS+m71cgqRGf9UBcmU/JUiAuIRqs2YFUmiIhzZ4S\nBeLSFMudNd39FpKSENx9I0nJSXadTcCm9PmFwIVj7O8lgbbfG2XdfwdeMYXDnjKVpkiISlMkRKUp\nHSjP7maJV2zZT8lf3tMXzlXKfEqIzgsJyfPCXYH4FGnWFAmJJfsp8dDFWT5UmiIhCsQlJM/vCwXi\nU6TBmhKi7Kdk6eIsHypNkRCVpkiISlM6kGrEJUTZT8lKLs4GNZtOmynzKSE6LyRE84h3IGXEJUTZ\nT8kqFQuYGfVBBeLtpNIUaWr9P0+BuDQ1z4vBwUHq9TrlcjmX45hQIG5mD5nZPWZ2V3qLYszsY2Z2\nd9p2o5m9MG1/nZntSdvvMrPzW/Zzkpn9zMy2mdlftbS/2MzuMLMHzOxqM+tK27vT19vS5ctbttmQ\ntv/MzH5/Zv4cE6fpCyWkmf0UaVXVBVrbqTRFWln6qNIUaWXYvouzdMrVtptMRvz17r4qvUUxwKfc\n/ZXuvgr4LnB+y7q3peuucvcLAMysCHwe+APg5cCpZvbydP1PAH/r7itJ5rR9R9r+DmC3u68A/jZd\nj3S79cDhwEnA36f7bxuVpkiIZtOREI0daD9lPiVE54Vk5d17NuXSFHd/uuXlfIb3/oQcBWxz95+7\nez/J7ZbXWXIJchzwzXS9rwBvSp+vS1+TLj8+XX8dcJW797n7L4Bt6f7bRqUpEqIacQnR90X75f3j\nKnFST4lk5X1xNtFA3IEbzWyLmZ3VbDSzi8zsYeBtDM+Iv9bM/tPM/sXMDk/bDgYebllne9p2APCU\nu9cz7cO2SZfvSdcfbV9tU+1S5lNGqpTVUyIjqTSl/fL+cZU46QJNsvIuV5poIH6su/8WSVnJe83s\ndwDc/cPufgjwzyS3Qwa4E3iRux8JfBb4dtoeKr7xMdqnus0+ZnaWmW02s807d+4Mf7IpUmmKhCjz\nKSEaO9B+ynxKlrvT19dHd3d33ociEcn7on1Cgbi770gfHye5LXK2DORK4JR0nafd/Zn0+XVA2cwO\nJMlaH9KyzTJgB7ALWGJmpUw7rdukyxcDT46xr+xxX+buq9199dKlSyfyUSdMAZeEqDRFQvR90X7K\nfEpWX18fXV1dFAqaME6G5H3RPu7ZaGbzzWxh8zlwIvATM1vZstpa4P50neenddyY2VHpezwB/BhY\nmc6Q0kUy2HKTJ5Pr/hvw5nRfpwPfSZ9vSl+TLr85XX8TsD6dVeXFwErgP6byB5gq3VlTQpLSFGU+\nZbiqBvG2Xd5ZLomPzgkJyfuivTT+KjwP2JjG1iXgSne/3syuMbOXAQ3gl8C70/XfDJxtZnWgBqxP\ng+e6mZ0D3AAUgSvc/d50m78ErjKzC4GtwJfS9i8BXzOzbSSZ8PUA7n6vmX0D+ClQB97r7m2Nfiol\nBeIykjKfEqL55dsv7yyXxEeBuITkfV6MG4i7+8+BIwPtp4yy/ueAz42y7DrgulHeY8SsJ+7eC/zh\nKPu6CLhorGOfTcp8Ski1XKRHtcCSoekL2y/vH1eJT96D8iROeZ8XKpSaImU+JUSZTwnR90X75d3d\nLPHRxZmE5H1eKBCfIk1fKCHKfEqIpi9ss0YyG26pNJHqS5kr8g64JE55l7EpEJ8iTV8oIcp8Soim\nL4NXQS0AAB2LSURBVGyzer8CLhkh7xIEiYunk17n3XumQHyKFHBJiDKfEqLvizYb7FfAJSMoIy5Z\nZvmfFwrEp0jTF0qIMp8SUi0XdYHWToN9CrhkhLxLECROefeUKBCfoqQ0RQGXDKfMp4Ro7ECbqTRF\nAvIuQZA4KSPeoRRwSYhu3CIh+r5oM5WmSEDeAZfEKe+eEgXiU9T8YfVmtb8IzfnlFXDJcBo70GaD\nyojLSHkHXBKnvHtKFIhPUalYoGDGwKACcRmizKeE6LxoMwXiEpB3wCVxyrunRIH4NOjHVbKqOick\nQIN426yu0hQZKe+AS+KkwZodTDOnSJburCkhGjvQZpo1RQJUmiIheV+gKRCfhkpJgbgMp8ynhOgC\nrc1UmiIBKk2RkLwv0BSIT0MyME9BlwxR5lNCNH1hm2nWFAnIO/Mpccr7Ak2B+DSoRlyylPmUEH1X\ntJnmEZeAvGuBJU55X6ApEJ8GZT8lq6uUzKQz2NBsOjJE0xe2mUpTpEVzmuG8Ay6JS3P26bwv0BSI\nT4PmjJYsM6O7VKBP54W0UGlKm6k0RTLMTIG4jGDkf4GmQHwa1N0sIcp+SlbyXaHxJG2jjLgE5J35\nlDhpsGYH05zREqLsp2RVy8VcL87MrGhmW83su+nr483sTjO7y8xuN7MVgW1OMLMtZnZP+nhc2r4w\n3a75b5eZXZIu6zazq81sm5ndYWbLW/a3IW3/mZn9/qx+4LqmL5SR8s58SpzyHqxZyu2dnwM0a4qE\nKPspWRFcnL0PuA9YlL6+FFjn7veZ2XuAc4EzMtvsAt7o7jvM7AjgBuBgd98LrGquZGZbgG+lL98B\n7Hb3FWa2HvgE8Edm9nJgPXA48ELgX83sMHefnf9RBgcUcMkIeWc+JU55X6ApIz4NKk2RkLyznxKf\nPL8rzGwZ8Abg8pZmZygoXwzsyG7n7lvdvdl+L1Axs+7MvlcCBwG3pU3rgK+kz78JHG9mlrZf5e59\n7v4LYBtw1HQ/26hUIy4BeWc+JU55X6ApIz4N1S7NmiIjRZD9lMg0p7Vszt7QZpcAHwIWtrS9E7jO\nzGrA08DR4+zjFGCru/dl2k8FrvahD3Yw8DCAu9fNbA9wQNr+o5bttqdtI5jZWcBZAIceeug4hzUK\nlaZIQN6ZT4mPu+d+XigjPg26s6aEqKdEsooFo1RIprZsJzM7GXjc3bdkFr0fWOPuy4AvAxePsY/D\nSUpM3hVYvB74euvqgXV8jPaRje6Xuftqd1+9dOnS0Q5rbBqsKQF5Zz4lPoP1fkqlEsViMbdjUEZ8\nGjR9oYRoEK+E5NRTciyw1szWABVgkZldC/yGu9+RrnM1cH1o47SsZSNwmrs/mFl2JFDKBPnbgUOA\n7WZWIil7ebKlvWkZgXKYGaPSFAlQaYpk1fvz/65QRnwalPmUEN1dU0LyOC/cfYO7L3P35STZ65tJ\n6rUXm9lh6WonkAzkHMbMlgDXAhvc/QeB3Z/K8Gw4wCbg9PT5m4Gb07KVTcD6dFaVFwMrgf+Y1ocb\ni+6sKQF5lyBIfOoD+ZexKSM+DdVygV3PDOR9GBIZ1YhLSDWS2XTS2u0zgWvMrAHsBt4OYGZrgdXu\nfj5wDrACOM/Mzks3P9HdH0+fvwVYk9n9l4Cvmdk2kkz4+vQ97zWzbwA/BerAe2dtxhRQaYoEqTRF\nsur9+V+cKRCfBpWmSIimL5SQSrmY6wWau98C3JI+30hScpJdZxNJ9hp3vxC4cIz9vSTQ1gv84Sjr\nXwRcNPkjnwKVpkiASlMkq97fl/s5odKUaVDAJSG6s6aEqGSpjTRrimR4Y5D6/9/enUdJVpZ3HP8+\ntXbPDMzCiEEBgSMYJSLCuBCDIgYiqKAxHsEo4EZcMIqJkTkI5oAkbjGa5SjEgMYTFEUxo4JA1NEE\nZZRlkG3GAURFlmEYGSZ0dXdV15M/7tv07eq3erq6u+6t6v59zqlTt9671H3vUvXUe5/3VqNBuVzO\ne1WkRzjeEy3iCsTnQJ3yJCbvlk/pTfq8yJBSU6RFM/QbSG5rL5IYq6tFvK8NlItKTZEp1IlXYtR3\nIENKTZEWzR4IuKT39EJnTQXic6CAS2KUmiIx+rzIkFrEpUVT6UoS0RjN/7hQID4HutQsMWr5lBj9\nQMuQbl8oLZp1XSWRqdRZs8/prikSo5ZPiVHn7my4u1rEZQq1iEuMOmv2OQVcEqOWT4nRlZJsjI6O\nQqGY619WS+9p9kAusPSeRg/0HVAgPgeDFQXiMpVaPiVmsFzUD7QMDA8PQ7GS92pIj/GGUlNkKuWI\n97mBkgIumUotnxKjK2jZGB4ehpICcZlMqSkSo0C8z+n2hRIzWC4q4JIp9AMtG7VaTS3iMoVSUyRG\nqSl9Ti1cEqN/UJQYHRfZUGqKxDSVmiIR9RF11uxrun2hxKjlU2L0eZGNJBCv5r0a0mPUIi4x+mfN\nPlcNLVzunveqSA/RlRKJSX6gqU9JtylHXFq5K0dcpnJXjnjfKxaMUsEYbSgQlwm6faHEKDUlG8oR\nlxjXH/pIhP7ifgHQ5WZppZZPiVEn3mwoR1xi1CIuMfpnzQUg+XdNBV0yQakpEqO+A9lQIC4xyhGX\nGP2z5gKgoEta6Y9bJEafFdmo1WrKEZcpdNcUidHtCxcAXW6WVmr5lBj1HciGWsQlRi3iEqPOmguA\nOmBJK7V8SoyOi2zo9oUSoxxxiVEgvgCo9VNalYtGU7e0lBbqxJuN5K4p5bxXQ3qMUlMkRp01FwC1\nckkrM2OgrFNLJtPVs2zoPuISo9QUiamrs2b/0+0LJUaBuLRSf5JsKDVFYpqN/Fs+pfeos+YCoNsX\nSowCcWmlNLZs6A99JMYbo7m3fErvGVOOeP9TaorEDJaLea+C9BilpmRDd02RGKWmSExdgXj/0+Vm\niVGLuLRSGls2lCMuMeqsKa0cpaYsCElqir5cZTIF4tKqWlIgngWlpkiMWsSlVXNsjOZYg3I537ss\nKVqYI6WmSMygAnFpUSgYlZLlvRoLnlJTJEb3EZdWjfoIpXIVs3w/lxUtzJEuN0uMWsQlRn0Hui9J\nTdFdU2SyZl2pKTJZY3SEcjX/H2eKFuZId02RGAXiEqPjovuUmiIxahGXVvXRYUrl/H+061thjpSa\nIjFq+ZQYBeLdp9QUiVGOuLRqjI5QqigQ73u6a4rEKOCSGPUd6D7dNUVauTtN3UdcWjRGhxWILwS6\nN7DEKBCXmLyOCzMrmtnNZvbt8PplZnaTmW00s/81s6dH5jnGzG40s1vD89GpcRUzu8jMfmFmm8zs\ntaH8H8MyN4Zxj6bmGUuNW9etuqpFXFo16nXMjFKplPeqSA9pjI70RGqKjso50r/lSYxaPiUmxx9o\n7wXuBHYPrz8LnOjud5rZu4APAae1zLMNeJW7329mfwBcDTw1jDsb2OruB5lZAVgF4O5njs9sZu8B\nnptaXs3dD53fak2lHHFpNTo6jKkDr7Ro1EcoVfK/SqJoYY6UIy4xahGXmIFS9seFme0NvAL4fKrY\nmQjKlwP3t87n7je7+3j57cCAmY1HM28B/j5M13T3bZG3Phn48txr0BndNUVajY6MUOyBlk/pLfUR\n5YgvCLp9ocQoEJeYwUounXg/DfwNkP6gehtwpZndB7wJ+OgulvFa4GZ3HzGzFaHs/JDe8jUze3J6\nYjN7GrA/8P1U8YCZ3WBm15vZq9u9kZmdHqa74eGHH55ZDVOUmiKtRoZrmPoNSIteaRFXasoc6faF\nEqNAfOGrN5oMjTap1ccmPQ+NjFGrNxkanXgeGm1SGx3jnodrma6jmb2SJIXkRjM7KjXqTOB4d99g\nZh8APkUSnMeWcTDwMeDYUFQC9gauc/f3m9n7gU+SBPTjTgIud/f0h+O+Ic3lAOD7Znaru9/d+n7u\nfhFwEcCaNWu80zrveGwn/PyrHPWm6yhVBihXBylVquF5IF5WHaBcGaBQnL+vxJz/I+QJRm+sSJ7b\n46cb76VhZc6+Ysrh1tN65RjqRN5/jtOJm3/5CCOefxic/xr0OaWmSIxuX5iPsaZTSwXAtdEkWB6a\nUjYWD6JT4ycH0VOX4cCSSoHBcoEllSJLKkUGK4VQVmRJpZAqKzJYLvCcfZaxOdtN8iLgBDM7HhgA\ndjez7wC/7+4bwjSXAd+NzRzSWq4ATkkFzY8AQ6Ec4GvAW1tmPQl4d7pgPM3F3e8xs/Uk+ePzHhkd\ndNiRbB4r4LUdDO14iNHhGo3RYUZHajRGRpLn8Lo+MhweNeqjwxQKRcohKC9XB5Ph6iDlSpXywGAY\nHqBSHaRUrSbP4XUy7USQ/8S4gfFpkoB/vLxQ6P6P9Y5/xXSJ57wiKytNqgMDLMnnitSseM/svZnL\nez93avVAk+EVS/NejZkF4mZ2L7ATGAMa7r7GzM4HTiS53LkVOC2VT4iZPQ+4Hni9u18eyj5GkqsI\ncL67XxbKvwC8BNgRxp3m7hst+Wn1GeB4kg/+09z9pjDPqSQdjAA+4u5f7Lz6c6fbF0qMWsQnuDsj\njWZHgW46iN5lkFyfWMboWJPBcvtAOAmYC1PKVgyW2Gt5cWoQXS6wpNoybxhfnmW+91f/Yp438DTc\nfS2wFiC0iP818GrgQTM7yN1/ARxD0pFzkpCC8h1grbtfl1qmm9m3gKNIUk9eBtyRmu8ZwErgJ6my\nlcBQSG1ZTfID4ePzWtlg089+MKv53J3R0VFqtRpDQ0MMDQ09MdzueXLZ7xjanrze2Xaa5Hl4eJhK\npcKSJUsYHByMPs92XOs0AwMDfdVK2Q3Xr3qQX69bxdmv2C/vVZEesudv9+Cm4uq8V6OjFvGXtnTI\n+YS7nwNgZn8JnAu8I7wuklzKvHp8YjN7BXAYcChQBX5oZle5+2Nhkg+MB+wpxwEHhscLSHr6v8DM\nVgEfBtaQ/Oi/0czWufvvOqjPvEhSUxSIy2T9EIjXG5HW4nqSWjHT1uKZtDjX6k0qxUK8tbg8OVhO\njx+sFNhjWTkyXft5q6XCog86dsXdG2b2duDrZtYEfkfS+RIzOwFY4+7nAmcATwfOMbNzwuzHuvtW\n4IPAl8zs08DDwJtTb3Ey8BX3Se1jzwQuDO9XAD7q7nfQQ8yMarVKtVplxYoVu55hDtyd4eHhWQT7\nNR555JFdTpN+Hh1N7p8914B+JtNUKpWePP+Gh4d1D3GZolar9cRxMevUlFQADbCUyVfB3gN8HXhe\nquxZwA/dvQE0zOwW4OXAV6d5mxOB/wgf6Neb2Qoz24ukJeZad98OYGbXhmVl3kNfqSkSM9vbF7am\nVnTUWjxd6sVoat56Mi8wJaiNtRYnZRNB8pN3r8woiB6fZrBSpFjovS/nxcbd1wPrw/AVTKSWpKdZ\nB6wLwx8BPtJmWb8CXtxm3N9Gyn4MPHtWK74AmRmDg4MMDg52/b3GxsZmFfTv3LmThx56qKOgf2xs\nrOvB/vhzuVye8TYYHh7OZFtLf+mV42KmgbgD15iZAxeGzjSY2QXAKSQpJS8NZU8FXgMczeRA/Bbg\nw2b2KWBJmD7dInKBmZ0LfA84y91HSO5Z+5vUNPeFsnblmdNdUxa+ZtMZrjfbdsCbHPAmzz/YvB2A\nMy/b0lF+cn3MJwLcGQS649OtXFLiKZVIS3NIrZg07xxTK0SkfxSLRZYuXcrSpd3PhW00Gh238A8N\nDbF9+/YZB/u1Wo3HH3+cQqEw44B+8+bNbNmyhfPOO29G87SWZZHPL9nrtxbxF4Xe7nsC15rZJnf/\nkbufDZxtZmtJLmN+mORWWR9097H0JSp3vybkjf+Y5FLmT4BGGL0WeBCokPSW/yBwHkS7e/s05ZOY\n2enA6QD77rvvDKvaGf2zZj7SecfxdIldBMwdTDvSaFItFVoC4fGgNp5LvPtAcmrts6o6gxbniZQL\npVaISL8qlUrstttu7Lbbbl19H3enXq/POOgvFouUSiXGxsbYunXrLoP+1nz+crnccfA+m7JqtarP\n/wwNDw+zcuXKvFdjZoF4qrf7VjO7Ang+8KPUJJeSdOoZz9v+SjiYVgPHm1nD3b/p7hcAFwCY2aXA\nlrDcB8JyRszsEpIORZC0dO+Tep+9Sf544j6S9JR0+frIes/pNlgzoX/WnODu1Mc8EtC2yS+etmV5\n13nH5aJNbf2dkkoxtcPeyiXlNq3MkeC6UmSgXKAwi9SKL58O7z+mOz8ARUQWKzOjUqlQqVRYvnz5\nLqd/+9vfPuv3cndGRkZ2GbDHxm/btm1GVwTGh+v1+hP5/N0K9meT2rNQ9U1qipktBQruvjMMHwuc\nZ2YHuvuWMNkJwCYAd98/Ne8XgG+7+zdDB84V7v6ImR0CHAJcE6bby90fCHdJeTVwW1jEOuAMM/sK\nSWfNHWG6q4G/Cz3xCeu0dg7bYdaqpQIjPd4iXm9MTauYHNhO1xGvXcAcn7ZYsGjwOzXFYnLZ7so7\nFhGRHmNmDAwMZJLCkM7n76TV/tFHH+X+++/v6MeCmc0qiO90nl5O7emn1JQnA1eEFu4ScKm7f9fM\nvh5uU9UEfkW4Y8o0ysD/hOU8BrwxdNwE+E8zexJJysnG1LKuJLl14V0kty98M4C7bw+3T/xZmO68\n8Y6bWSsULAnGO5xvrOkzCn6jd6XoZNrRJk33J4LaaIDcklaRPBdYvazMYKUaDZDbBdelYm+ecCIi\nIr0sy3z+er0+oyC/tezBBx/saJ70rTq73crfaWpP37SIu/s9wHMi5a+dwbynpYaHSe6cEpvu6Dbl\nTsufQqTGXQxcvKt1yML4bj/9S5tmEFwnqRX1MZ8U9LamR7QLftOd8qa733F63nLRlHcmIiIiAJTL\nZZYvXz6j1J65GL9V50xb99Mdcrdt29bRj4V6vd5REL9hwwYOOeSQrtZ/JvTPmvPguGev4grg3055\nZkfzPR4esnDpB5CIiCxW6Vt1rlq1qqvvNTY2NuOAv1arsWPHDg4++OCurtNMKBCfB9945yHwzj77\nb1cRERGRBaJYLLJs2TKWLVs2o+nPOOOMLq/RzCihV0REREQkBwrERURERERyoEBcRERERCQHCsRF\nRERERHKgQFxEREREJAcKxEVEREREcqBAXEREREQkBwrERURERERyoEBcRERERCQHCsRFRERERHKg\nQFxEREREJAcKxEVEREREcqBAXEREREQkB+buea9DJszsYeBXXVj0amBbF5bbj7QtJmhbJLQdJsx1\nWzzN3Z80XyvTD7r4uT2dhXLMLoR6LIQ6gOrRS7Ksw4w+sxdNIN4tZnaDu6/Jez16gbbFBG2LhLbD\nBG2L/rBQ9tNCqMdCqAOoHr2kF+ug1BQRERERkRwoEBcRERERyYEC8bm7KO8V6CHaFhO0LRLaDhO0\nLfrDQtlPC6EeC6EOoHr0kp6rg3LERURERERyoBZxEREREZEcLOpA3MxWmNnlZrbJzO40syPM7Dlm\n9hMzu9XMvmVmu4dpy2b2xVB+p5mtTS3n5Wa22czuMrOzUuX7m9kGM9tiZpeZWSWUV8Pru8L4/bKu\ne9o8bod7Q/lGM7shVb7KzK4N2+FaM1sZys3M/ilsh5+b2WHZ136yDrdFxcwuCeW3mNlRqeUcHsrv\nCnW0UL4Yt8X6cH5sDI89Q3nb88DM1obyzWb2JxlXfRIze0Zq3Tea2WNm9r7Z7EszOzVMv8XMTk2V\nd3S8SHtmdrGZbTWz21JlrzOz282saWZt75gQO+ZD+WWp/X+vmW1MzTPvx2qWdTCz/cyslhr3ufmo\nQxfrcaiZXR/W9QYze34ob3ve9Vk9jjKzHan9cW4P1yH6fRDGdeUzPMt6dPPcmMTdF+0D+CLwtjBc\nAVYAPwNeEsreApwfht8AfCUMLwHuBfYDisDdwAFhGbcAzwrTfRU4KQx/DnhnGH4X8LkwfBJwWb9v\nh/D6XmB1ZPkfB84Kw2cBHwvDxwNXAQa8ENjQZ8fEu4FLwvCewI1AIbz+KXBEqNtVwHGLeFusB9ZE\nlh89D4BnhfOoCuwfzq9i3tsjrFsReBB4Wqf7ElgF3BOeV4bhlbM5XvSYdh+9GDgMuC1V9kzgGe2O\nxdR0U475yDT/AJzbzWM14zrsl36fXt8XwDWp8+N4YH1quCufoRnX4yjg232yL9p9H3TtMzzjenTt\n3Ji0Xt1+g159ALsDvyTkyafKHxsvA/YB7gjDJwPfAkrAHsAvSL5QjwCuTs2/NjyM5KbxpVD+xHTA\n1cARYbgUprNu1TWL7RDG3Us8EN8M7BWG9wI2h+ELgZNj0/XJtvhX4I2p6b4HPD/UcVOq/GTgwsW4\nLcLweuKBePQ8GD+HYtPl/QCOBa6bzb5MHwfp6WZzvOixy/20H5Ev0HbHYhgXPeZbpjHgN8CB4XXX\njtUM6xB9n17dF2Ebvz4MnwxcGoa7+hmaYT2OoguBeJfq0O77oKuf4RnWo6vnxvhjMaemHAA8DFxi\nZjeb2efNbClwG3BCmOZ1JDsF4HLgceAB4NfAJ919O/BUkg+1cfeFsj2AR9290VJOep4wfkeYPg/z\ntR0AHLjGzG40s9NT7/Fkd38AIDzvGcrbbbu8dLotbgFONLOSme0PHB7GPZWkLuPS9Vps22LcJeHS\n3jlmSdoF7c+DXtsWaScBXw7Dne7L6co7PV5k/rU75tOOBB5y9y3hda8dq7OpA8D+YfofmtmRma1t\ne9PV433AJ8zsN8AnSYI+6L19AbOrB8ARlqT4XWVmB2e8zq2mq0O774N+2xft6gEZnBuLORAvkVze\n+Ky7P5ckuDyL5LLEu83sRmA3YDRM/3xgDHgKyaWWvzKzA0haF1r5NOXsYlzW5ms7ALzI3Q8Djgvz\nvngX791L2wE63xYXk3zA3AB8Gvgx0GB29Vqo2wLgz9392SQBwJHAm0L5bM6d3FjSx+ME4Gu7mjRS\nNl29erK+i1C7Yz7tZCZ+iEHv7bvZ1OEBYN8w/fuBS9O5vjmZrh7vBM50932AM4F/D+W9ti9gdvW4\nieSv0Z8D/DPwzWxXeYrp6tDu+6Df9kW7emRybizmQPw+4D533xBeXw4c5u6b3P1Ydz+c5MPq7jD+\nDcB33b3u7luB64A1YTnpX097A/eTXGZfYWallnLS84Txy4Ht5GO+tgPufn943gpcQRK0AzxkZnsB\nhOetqfeObbu8dLQt3L3h7me6+6HufiJJDvWWsJy9U8tN12uxbQvc/bfheSdwKRPHRbvzoNe2xbjj\ngJvc/aHwutN9OV15p8eLzL/oMT8+Mhyjfwpc1jJPLx2rHdfB3Ufc/ZEwfCPJOX1QZmscN109TgW+\nEYa/RuTzJMh7X8As6uHuj7n7/4XhK4Gyma3ObpWnaFuHaeKEvtoX03yvZXJuLNpA3N0fBH5jZs8I\nRS8D7rCJOzoUgA+RdLKEJA3jaEssJekMsokkyf9AS+6QUiG5dL3OkwSjHwB/FuY/FfivMLwuvCaM\n/36YPnPztR3MbKmZ7RbmWUqSSzveqzld39btcEpY1guBHeOX4fPQ6bYwsyXjl7bM7Big4e53hDrs\nNLMXhjSMU4jv+wW/LUKqyupQXgZeSfy4SJ8H64CTLLmryv7AgSSdGfPW2pLY6b68GjjWzFZacveT\nY0n6jczmeJF51u6YT03yxyS5/Ok0op46VmdTBzN7kpkVw/ABJHW4J6NVjtpFPe4HXhKGjyb84KfH\nPkNhdvUws98LnwNYcieVAvBIZivdYro6TBMn9NR5AbOrR2bnxlwSzPv9ARxKcin95ySXf1YC7yXp\ngPgL4KNMJPAvI/nVenvYeR9ILef4MP3dwNmp8gNIDr67wrzVUD4QXt8Vxh/Q79sh1PWW8Li9ZTvs\nQdJ5b0t4Hu/caSSd/O4GbmWa3s49ui32I+kQdCfw3ySXE8eXs4Yk4Lwb+JfUPItqWwBLSe6g8vNw\nXHyG0Ht+uvMAODtsi82EOwvkvC2WkHwZLp/LcU1yCfSu8HjzbI8XPabdV18muaRcJ2kFeyvwmjA8\nAjzERMf5pwBXTnfMp8Z9AXhH5P3m/VjNsg7Aa8O5eQtJWsSrenlfAH9E8plyC7ABODyUd+0zNON6\nnJHaH9cDf9jDdYh+H3TrvMi6Ht08N9IP/bOmiIiIiEgOFm1qioiIiIhInhSIi4iIiIjkQIG4iIiI\niEgOFIiLiIiIiORAgbiIiIiISA4UiIuIiIiI5ECBuIiIiIhIDhSIi4iIiIjk4P8Bp6zo59LMqoEA\nAAAASUVORK5CYII=\n", | |
"text/plain": [ | |
"<matplotlib.figure.Figure at 0xd8614e0>" | |
] | |
}, | |
"metadata": {}, | |
"output_type": "display_data" | |
} | |
], | |
"source": [ | |
"def _rgb(rgb):\n", | |
" return [c/255 for c in rgb]\n", | |
"tumBlue = _rgb([0,101,189])\n", | |
"\n", | |
"fig, axes = plt.subplots(1, 2, figsize=(12,6))\n", | |
"ax.set_aspect('equal')\n", | |
"axes[0].set_title(\"UTM\")\n", | |
"lEdg.to_crs({'init': 'epsg:32632'}).plot(ax=axes[0], color=tumBlue)\n", | |
"uEdg.to_crs({'init': 'epsg:32632'}).plot(ax=axes[0], color='black')\n", | |
"axes[1].set_title(\"WGS84\")\n", | |
"lEdg.plot(ax=axes[1], color=tumBlue)\n", | |
"uEdg.plot(ax=axes[1], color='black')\n", | |
"plt.show()" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"Save a high resolution version of this plot." | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 25, | |
"metadata": {}, | |
"outputs": [], | |
"source": [ | |
"if False:\n", | |
" fig.savefig('utm-lotlan.png', dpi=600, bbox_inches='tight', transparent=True)" | |
] | |
} | |
], | |
"metadata": { | |
"kernelspec": { | |
"display_name": "Python [conda env:fion]", | |
"language": "python", | |
"name": "conda-env-fion-py" | |
}, | |
"language_info": { | |
"codemirror_mode": { | |
"name": "ipython", | |
"version": 3 | |
}, | |
"file_extension": ".py", | |
"mimetype": "text/x-python", | |
"name": "python", | |
"nbconvert_exporter": "python", | |
"pygments_lexer": "ipython3", | |
"version": "3.5.3" | |
} | |
}, | |
"nbformat": 4, | |
"nbformat_minor": 2 | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment