{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Rat weight gain data in lmer, lmm, Stan and Mamba\n", "\n", "The `rats` data are described in the `RatWeightData` notebook where they are converted from a matrix to a saved R data frame. We could do the initial data manipulation in [R](http://R-project.org) through the [RCall](https://github.com/JuliaStats/RCall.jl) package for [Julia](https://julialang.org) but we chose to use packages from the \"Hadleyverse\" that cannot easily be installed on (https://juliabox.org)" ] }, { "cell_type": "code", "execution_count": 1, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Environment variable JULIA_SVG_BROWSER not found.\n" ] } ], "source": [ "using DataFrames, MixedModels, Mamba, RCall, Stan" ] }, { "cell_type": "code", "execution_count": 2, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Julia Version 0.4.3\n", "Commit a2f713d (2016-01-12 21:37 UTC)\n", "Platform Info:\n", " System: Linux (x86_64-unknown-linux-gnu)\n", " CPU: Intel(R) Xeon(R) CPU E5-2670 v2 @ 2.50GHz\n", " WORD_SIZE: 64\n", " Ubuntu 14.04.3 LTS\n", " uname: Linux 3.13.0-57-generic #95-Ubuntu SMP Fri Jun 19 09:28:15 UTC 2015 x86_64 x86_64\n", "Memory: 120.07188034057617 GB (108985.25 MB free)\n", "Uptime: 35740.0 sec\n", "Load Avg: 0.203125 0.19384765625 0.2001953125\n", "Intel(R) Xeon(R) CPU E5-2670 v2 @ 2.50GHz: \n", " speed user nice sys idle irq\n", "#1-16 2500 MHz 508466 s 1205 s 147357 s 56364318 s 7 s\n", "\n", " BLAS: libopenblas (USE64BITINT DYNAMIC_ARCH NO_AFFINITY Sandybridge)\n", " LAPACK: libopenblas64_\n", " LIBM: libopenlibm\n", " LLVM: libLLVM-3.3\n", "Environment:\n", " CMDSTAN_HOME = /usr/share/cmdstan\n", " HOME = /home/juser\n", " PATH = /usr/local/texlive/2014/bin/x86_64-linux:/usr/local/bin:/usr/bin:/bin:/sbin:/usr/sbin:/opt/julia/bin\n", " R_HOME = /usr/lib/R\n", "\n", "Package Directory: /home/juser/.julia/v0.4\n", "11 required packages:\n", " - DataFrames 0.6.10\n", " - Distributions 0.8.10\n", " - GLM 0.5.0\n", " - Gadfly 0.4.2\n", " - MLBase 0.5.2\n", " - Mamba 0.9.0\n", " - MixedModels 0.4.5+ master\n", " - Polynomials 0.0.5\n", " - ProfileView 0.1.1\n", " - RCall 0.3.2+ master\n", " - Stan 0.3.2\n", "43 additional packages:\n", " - ArrayViews 0.6.4\n", " - BinDeps 0.3.21\n", " - Cairo 0.2.31\n", " - Calculus 0.1.14\n", " - Codecs 0.1.5\n", " - ColorTypes 0.2.1\n", " - Colors 0.6.3\n", " - Compat 0.7.12\n", " - Compose 0.4.2\n", " - Contour 0.1.0\n", " - DataArrays 0.2.20\n", " - DataStructures 0.4.3\n", " - Dates 0.4.4\n", " - Distances 0.3.0\n", " - Docile 0.5.23\n", " - DualNumbers 0.2.2\n", " - FixedPointNumbers 0.1.2\n", " - FixedSizeArrays 0.0.10\n", " - GZip 0.2.18\n", " - Graphics 0.1.3\n", " - Graphs 0.6.0\n", " - Grid 0.4.0\n", " - Gtk 0.9.3\n", " - GtkUtilities 0.0.8\n", " - Hexagons 0.0.4\n", " - Iterators 0.1.9\n", " - JSON 0.5.0\n", " - KernelDensity 0.1.2\n", " - Loess 0.0.6\n", " - MathProgBase 0.4.2\n", " - Measures 0.0.2\n", " - NLopt 0.3.1\n", " - NaNMath 0.2.1\n", " - Optim 0.4.4\n", " - PDMats 0.4.0\n", " - Reexport 0.0.3\n", " - SHA 0.1.2\n", " - Showoff 0.0.6\n", " - SortingAlgorithms 0.0.6\n", " - StatsBase 0.8.0\n", " - StatsFuns 0.2.0\n", " - URIParser 0.1.3\n", " - WoodburyMatrices 0.1.5\n" ] } ], "source": [ "versioninfo(true)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We retrieve the data as an `R` object, and copy it under the same name into Julia." ] }, { "cell_type": "code", "execution_count": 4, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/html": [ "
iddayy
118151
228145
338147
448155
558135
668159
778141
888159
998177
10108134
11118160
12128143
13138154
14148171
15158163
16168160
17178142
18188156
19198157
20208152
21218154
22228139
23238146
24248157
25258132
26268160
27278169
28288157
29298137
30308153
" ], "text/plain": [ "150x3 DataFrames.DataFrame\n", "| Row | id | day | y |\n", "|-----|----|-----|-----|\n", "| 1 | 1 | 8 | 151 |\n", "| 2 | 2 | 8 | 145 |\n", "| 3 | 3 | 8 | 147 |\n", "| 4 | 4 | 8 | 155 |\n", "| 5 | 5 | 8 | 135 |\n", "| 6 | 6 | 8 | 159 |\n", "| 7 | 7 | 8 | 141 |\n", "| 8 | 8 | 8 | 159 |\n", "| 9 | 9 | 8 | 177 |\n", "| 10 | 10 | 8 | 134 |\n", "| 11 | 11 | 8 | 160 |\n", "⋮\n", "| 139 | 19 | 36 | 336 |\n", "| 140 | 20 | 36 | 321 |\n", "| 141 | 21 | 36 | 334 |\n", "| 142 | 22 | 36 | 302 |\n", "| 143 | 23 | 36 | 302 |\n", "| 144 | 24 | 36 | 323 |\n", "| 145 | 25 | 36 | 331 |\n", "| 146 | 26 | 36 | 345 |\n", "| 147 | 27 | 36 | 333 |\n", "| 148 | 28 | 36 | 316 |\n", "| 149 | 29 | 36 | 291 |\n", "| 150 | 30 | 36 | 324 |" ] }, "execution_count": 4, "metadata": {}, "output_type": "execute_result" } ], "source": [ "R\"\"\"\n", "rats <- readRDS(\"./rats.rds\")\n", "\"\"\";\n", "@rget rats" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Plot the data\n", "\n", "At this point we do something radical and plot the data. I have never seen a data plot in any of the MCMC exampes that use these data. The panels are ordered (bottom to top, left to right) according to increasing average weight of the rat. The aspect ratio is chosen so that a typical slope of the within-rat least squares line is approximately 45 degrees on the plotting surface." ] }, { "cell_type": "code", "execution_count": 5, "metadata": { "collapsed": false }, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAeAAAAHgCAIAAADytinCAAAgAElEQVR4nOydd3gUVdvG75ntm01PINQkdCFCQKQTASlK71VQBHxBI4Lia+9RxJemfoqFKqj03kRI6IYQivReEkqAtN1sm532/TG6TGaTUCSzwZzfxcW1c+fMnGfOOfPs7Mx5nkOJoggCgUAglD1ofxtAIBAIhKIhDppAIBDKKMRBEwgEQhmFOGgCgUAooxAHTSAQCGUU4qAJBAKhjEIcNIFAIJRRiIMmEAiEMgpx0AQCgVBGIQ6aQCAQyijEQRMIBEIZhThoAoFAKKMQB00gEAhlFOKgCQQCoYxCHDSBQCCUUYiDJhAIhDIKcdAEAoFQRiEOmkAgEMooxEETCARCGYU4aAKBQCijEAdNIBAIZRTioAkEAqGMQhw0gUAglFGIg/7XkpSUtHz5cgCiKL700ksdOnTo1q3bzZs35WUYhhk5cmSHDh2aNGmSlpZWQkm73d6zZ88nnniidevWFy9eLKFkGYQ0hRfSFA8Xmg8//NDfNhAeMDzPt2/ffuHChf37969fv35KSsrOnTvXr1/PMMz69es7duzoLblp06bMzMwlS5Y0bdp0/PjxNWrUKK7knDlzQkND582bR9P0qlWrjEZjcSXLFKQpvJCmeBghd9D/Qmia3rZt23//+19pc/fu3S1btgTQokWLvXv3yktWrVo1MTERQHh4OEVRJZRMSEgYNWqUdPDg4OASSpYpSFN4IU3xMEIc9L8QiqK0Wi1N/9W52dnZ0dHRAKKjo7Ozs+UlGzduXLdu3f379/fr1++9994roWSDBg0qV67cr1+/iRMnjhw5soSSZQrSFF5IUzyMaP1tAKHUCQ0NvXz5MoDLly+HhYXJ/ySK4rvvvrtr1665c+c2atQoNTW1uJI2m81sNq9YsSIlJWXcuHEtWrQormRZhjSFF9IUDwXkDvrfT0JCQlpaGoD09PQ2bdrI/7Rs2bLz588nJyc3atSo5JJJSUkLFy4EYDQaPR5PCSXLMqQpvJCmeCggd9D/ftq3b79mzZpu3bpptdo5c+bI/7Rly5bU1NSmTZsCqFat2po1a4orOXHixOHDh8+ePZvjuFmzZsXHxxdXsixDmsILaYqHAkoURX/bQCAQCIQiII84CAQCoYxCHDSBQCCUUYiDJhAIhDIKcdClCMdxfhRL7+CiKPI8rxAFQRAEQTUb7kkswUKe531fwzxc3XEfZpQFGwh3A3HQpcinn366f/9+hfjWW2+dPHlSIY4fPz4zM1MhPv/883l5eQpx0KBBDMMoxN69exdnQ0ZGxvjx4xXiyZMn33rrLYW4f//+Tz/9VCGmpKR8+eWXCnHdunW+7+gXL168ePHi4swo0kLVRImlS5f+8ssvCnHu3Llr165ViF9//fW2bdsU4uTJk/ft26cQ33nnnePHjyvECRMmSNOBi8TXQo/HM3DgQIWYl5c3cuRIhXjlyhUpxk/O6dOn33jjDYV44MCBTz75pDgbJk6ceOnSJYU4ZsyYW7duKcRhw4Y5nU6F2KdPH99vtXvtDsLdQKbZlSIsy3o8nrsRPR6Pr8gwDMuyCtHtdvvevTocjnuywePx+B65OPEurfVV7mihaqLXQt8burs/wX/YmyVYKAiCy+VSiBzH+X4T/8PeLNnCIndxu92+jfZAuoNwN5A7aAKBQCijEAdNIBAIZRTioAkEAqGMQp5BP0h++uknt9vt3Tx06BDLsoqXSMeOHVuxYoXiddOpU6cWL14cGRkpFy9cuLBw4cLAwEC5mJGRMXfuXL1eLxevXbv2ww8/eAtUrVrVm7Ts1q1bp06d8v5V4sqVK8eOHVOI58+f9xWPHz+ekZGhEA8ePGi1WhU2SOklpSebTqfTZrNFRUUVaaFq4qVLl2JiYrx/Sk1N5Xle8UR1z549gYGBipexaWlpV69eVby2PXjwoMvlUrzgPXr06MqVKxWvgk+dOrVkyZIKFSoAyMrKCgoKMpvNJZjNsmxmZqZCLCgouHDhgkLMzs4+ffq0Qrx69apvx124cOHIkSOSyPP8lStXpDxzEidPnlyyZEnFihXlu5w7d27RokUhISFy8fLly/PnzzcajXJROgWKonxFFEYuGo3GESNGgHAvkFDvBwbDMM0fa/TOeOWbd5V5/3/fvTJ6SHhosB9tWPf7LpfLPbBnJz/aAOCDqd9/NOk//rVh6qyFT7VvFVevph9tOHfpytrfdrz6n2F+tAFA0sw5+w8d1RsM/jXj4YLcQT9IoipEDuju51UkJn89r3vHtlUrVfCjDRlXs/Jt9rLQFH63Yd7itU+0bNKh9eN+tGH/nyfS/zzh96aY/ctq/xrwMEKeQRMIBEIZhTjoMkHX4eNPnbvk3Vy1KaVeQr+w+h1GvPK+w6mcIfvA2borLb7T0IBabdr0HnX89AVJvH4zu+vw8UF1E1p0f+70+WLDLkrPhqnfLaSqNJX/2512uLTNkFB0RwmiyjacOnfJUrutajZIqDwaCXKIg/Yz23anjXk9aVPy7QXcTp279PyrH3835e0zu1faHa53pnxbqgZcv5ndZ9Skd155/tqhze1bNR049k0Aoih2HzHhyTbNzuxa1appw7FvfKa+DWOG9bmYulb6t3Plj/Xr1His4SOlagaK6o7iRJVtAMDzwvOvfuz2iV4pVVQejQQFxEH7mUPHThv0erPp9lvy9Vt39X6qXbuWj0WEhUx+K3HRio2lasDO1INxdWsO6N4xONDy3sTRJ89ezLPa0v886XS5X31hWFSF8MlvJ375yST1bQgOtMRUqyz9+37RylmT3zQZS/39km93FCeqbAOAr+cuVv/VgsqjkaCAvCT0M5PGDgewevN2r8J4WK1WI33W63Q5eVaH0xVgNpWSAV07tGnfqqn0OfXA0ZhqlUKCAo+fOV+3ZvR/3vhs+94DDevXmvHha6VUewk2eP+aevCox8MmtGhSqjZI+HZHcaLKNpy/fOW7hSs2Lvxq5aZkdcyQUHk0EhSQO+gyR6eE5is2JO8/fCInz/rmZ18DcLrcd9zrvgm0mCtEhImiuOa3HUNfevfLjydRFHUrJ2/tlp2N4+qu/2lmxYjwQWOVmZVUsEH6kyiKr300472Jo0vVgDKOIAhjJiVN+2BiUGCAylWrPBoJCsgddJmjWXyDz956qc+oSRzPjX9+8IqN28JCSndSc06edczrSRlXs1bPndq0UX0AZpMxoUXjcSP6A5j6/oTAOm2zc/MjwkLudKQHaYPEztRDOp320Xq1Sq/qss/sX1ZXjors9mSb7Nx8latWfzQS5JA76DJHgd3Zo1PbKwc2Zh3e0r510/q1a2g0pdhNjMfTechLj9SO3bd+gdczRlet5C1A0xRFUd7fuarZILFqc8qwPk+XXtUPBcl70tdu2RER92SdNn15XoiIezL14FF1qlZ5NBIUkLYuc1y5fqNu23670w5nXM1687P/G/ds/1KtbvXm7TwvjBnaO/Na1qXMa5cyr/G80Cmh+alzl35euSknz/rWZ//X+vFG8ofC6tgAQBTF1Zu3d2nXsvSqfij45rM3Tmxffvj3X7ev+J6m6cO//9o4rq46Vas8GgkKyCOOMscjtWOnvPNy39Gv63W6McN6jx3er1SrO3j01J8nzsS26OlVbh3dGhEWsnb+jHFvTh775uS2zeMXfZ3kFxv+PHGWZblqlSuWsG95wBu4bzToKQpqzuVQeTQSFBAHXSa4cqDQ7KWXnhv40nPKJTZKiSnvjJ/yjnLJFQDN4hsc2LzIvzbEN6hz9eAmdWyQo+iOEkSVbYgIC+Ey0tQ0A+qORoIC8oiDQCAQyigkm90Dg2GYhg3qhgYHeRVRROGMjGqIuXnW0JAgeSpI1czwcisnz2I2mWShFn5pinyrLUTWHXfPA7Thxq2ciLAQjUZz97s8cNHtdrsYjx9HpiCCAiAKO1PTDQaV4n3+JYiEB4Tb7e7SpYtcsdlsDMMoilmtVo/HoxDz8/M5jlOIubm50prTcnJycgRBUIjZ2dnez7Gxsfv37/duchyXn5+vKO/xeKxWq0JkGMZms/meVEFBgUJ0uVx2u10hOp1Op9MpfZ46dWr79u2Ls1A1MSQkRGGhw+FQlHc4HC6XSyEWFBS43W6FeE+9ybKs9Ll9+/ZTp04t2WxBEHJychQiz/O5ubkKscjeZFm25N5MS0uLjY0tzkIveXl5RQ7CksdbyWLa+bwBS8UOC8Rcl9i5c2ffBiSUDHkGTSAQSoXUK3h+Y2CQES81R5eFMCnXniXcGeKgCYR/OVl22Etacr20eC8FATrx9xEI1CM6CM997wcbHnaIgyYQ/s3ccOC9FBhVv9Dz3Nh/DSkDCwL1oQBiQ+Hm1bbhXwCZxUEglCIX8pHrpxTKR2/R36ej5694ozW06l7oHh6DluHpmtifpZOUHw8gjGRYunfIHTSBUFp8ugui6B/H9OFOzeU86kQuYkKw6uSdyz9Yxm3AsIYYUB/Dl+l+Pg0PjzbVUaUUY1H/tZR3B22324cOHWq1WjmOW7RoUeXKlStWrCgtBT1s2LBJkyYlJiaePHnSZDLNmzdPWqeZcEcybcgrxynPvthn2JahsTJwsqjuj8xCuS4cuEaFGvFmGwxqgC5TwAmlVdcNB344gFwXOlTW9QgHgC/3IdyEZxsBwA9d7OHhf2Xx7jK1tGz4F1PeH3EsXLjw8ccf37Fjx+jRo2fMmHHhwoVevXodPnz48OHDr7/+ekpKyq1bt5KTk/v16zd9+nR/G3tnnCxuOMD443W5KGLzBc2MVCw9jlUnEaDzgw1lgVWnYGOoD58QYkIwpxfO5/rBhkwbctxUs0r8oAYAEBtaWg46y47+S9GiKoY9il9PGuYfxroz2HEJn/t5fdp/D+X9DjohISE0NBQATdPBwcFnz549depU79699Xr9tGnTdu/e3bJlSwAtWrSYP3++Yt+LFy+eP3/eu8myrMvlYmQrEvE8L802le/F87zH4xEEwVek6ULfl4IgeDweqvDsf0EQGIYpUnRxGLZaFxmoM2jhNUMQBJ7nmcLrJHEcd5ciy7Icx/mKUo1eRRQxYq2uQQQfZOISN2riQgWL2yIvoCivjmgwGOQFpEm+vmdNUZSiPTmuiK+4u+zNlAvaxhXYj3foVg9kgg0QKI3RaCy5KURRvEuxyN7keV4hbjqtuVqgGVCXYRjKxSE1UwixmBUj0+Px8Hyh13bSePMdhMWNNwDzD2omNhMTqggAprez9Vgdrtdg7UCW9ShLAnC5XMnJyVrtbZ9Ts2bN2NhYEIqnvDvoBg0aAOjXr19KSkp6evqNGzcmTZo0YMCAxYsXJyYmRkdHx8XFAYiOjs7Ozlbse+DAgfT0dO8mz/Mul8vj8cgVAL6+WHJwclEQBJZlfS+DIh00y7IKS3Ld1PLz4ncH9a+3YKZaTBRFec2QrnO5Vfj7kr5vUfJ0cnHfNU2UWRzyCPPsBsuWwc6+k6jmARZ5AUV5FUQrQ+mNZnkByWxfX0z5BMBJHefri3EXvWmgqU/2mtb2d5go5DmokACj0WgsuSmK7KO7FyWv7RVXndEev0l/29HRc0VAtSBk2KgBddnVASb5XtIoUjjo4u4SfMeb9xTyXIYADefx8AByXdSZHGr/cw49RG9V8pNlGCY5OVl+fLvdThx0yZR3B22z2cxm84oVK1JSUsaNG/fbb79Jeq9evd5+++34+PjLly8DuHz5clhYmGLf/v379+9/O/siwzC9evUKDLz9KqSgoMBgMOj1evleoiiaTCadrtAjAEEQAgIC5AHBADiOs1gsiguGZVmLxSL3KWdzMWi9SafVtorGlwdMOfk2URS9ZkixiHKr8PfNvkL0eDwMwyhEhmGkGuWi2+3meT4g4PbqHvk8KgWxz20M/L/udHzlgFATlXExS34oj8ejOHJpiKyAb9PpPVkBAXqczkZ+Xp68gBQxaDab5bs4nU6apo3GQvHHdrtdp9MZDIWWQLyb3sx3IyUDwUY+7VbARSf97X6Y4cjPzy+5KURR5DhOIUpuVyEW2ZscxzmdTkn8/QKWn8GKQRA5sWMNF68LDDYgPd0wJydHvpc03uQ3s9LBLRZLkYNQ8R3mPYXeDTAzVZ9QCzSFAQvMnWtRdSpZiiwJICQkJCkpSdGAhJIp78+gk5KSFi5cCEC6zZkyZcq3334LIDU1NS4uLiEhIS0tDUB6enqbNm38bGsxfLEHlQKE8c0xqxt+7AGrP97OPRqFaft077ZhH6+MLDtyXTCUYn7/YnkvGU6O+qITzuSApkrKFlIaMDwGLsMnHbB5oIOGmGnDrO4IKc3ME7yITBty/p7GdzgLn+3Cz/2g+/uyDjGWbiO0rIp+j+DJBag6DVEBwvzepVhX+aS830FPnDhx+PDhs2fP5jhu1qxZMTExo0aNWrx4sdFonDVrVmxs7Jo1a7p166bVaufMmeNvY4vm9/N4oSE7vKEeQL2IUnxfXxweHhM2YXQ898FO3bQ0iCL618eBHWqbASDtKj5v4xm11vxLP5zOxmAVm0IU8fwaDIrD07VgtYrDG4raUr62zuVixCrUDsf1Ak10oPHtJzBhM5YNRKC6d6gDG+B8HlwsXmloC9CFq1p3OaC8O+hKlSpt3bpVrqxatUq++dVXX6lr0b3x9jbUjUCg/q+npUuOqx0zJoh4fg2GxGFAHfajBAhaU4AO06apaoMXmwfjt1mWDEJ0MM7kAComavxgO2qGYlRj9Wp89TfM7YV6EeA4/uUN6PoL1g9FpPnOOz5YlhzHsZtY1Ae5/piv8q+nvDvoh5rJuwFg7RAMWaJf8xMAhJsRbCh5pwfMy5vwaEWMaASXC4A/Z9f9cQVZdgyqw0ZZtGdz8cUe6ErzMcsNB7LsiNLBBHy7H5k2zO15570eIAUe1IsAAAeL1OuaFlVRM1RVAwCkXcV36dg4TO2nSeUH4qAfVqb9gRwnpnYGgB+7FJiDwwGYtKjxX/Vs+HgHAnR4o7V6NRbH1guYvBsH/4Nv9oh9FiPQgBld0KnUvMa0P7DpLOKjkJoZ0KY6deQm1gxR20npNch1IciAkWs1LSqzzaqr/dT/ig0vb8LqwTARL1JqkKZ9ONidgU92wuFBfIR5chcsPo4zOfiu2+0C6l8kM1ORacMP3dWu15c1p/H1PqwchGADxjdxhYeX7u/8S/nYeRlbRwBA8hl3nxUBlybefi+nGu8loNdiCCLCjDibS3/Z7c67PEAcLIauwHfdUXjWBuEBU94dtCLUOyYmRh7bHRkZWRZCvc/nIWknFvVFpBk/H+C6/2qsGoSf+qh9y3bZipc3wsHC5dG3rMJfdeDnfv7/bbvsBH76E2uHwKzW05WjN9EuBgAuW/FGirFbbSHbSYeqvk5Im+poXQ1ZDoyOFx4Nceo197N2zP0hiHhuNSa2ROMo1eosp5T3aXaKUG9FbHcZCfXefA5jHvvr/Q8F8eQtzOkFjeqecdx6fNwe20bg5ce5BUe0k5/0gw0S+e6/UsTNPYRlx7FioHreGUDtMPyRiTw3hq7AV51cF/Kpaur5xtv8XxoYHvN7oUUVUeWvySlp5sZR6FNP1UrLJ+X9DloR6q2I7TabzSWEequGSQsbAwC/ncecI8Y64TCo/sVqY6DTID4KuzPwTbr27TaePZmGWNXfSnl4jFkHhwdaGsdvhMRXxq/91f6eqBeBGmGo9zV61MOb241jGgtGrdrPf1eexJ5M/NxX5WoBYNERXCmgp3b1Q9XlkPLuoBWh3jNnzpTHdmdnZ5cQ6j1z5swNGzZ4NwVByM/Pz5XNNpKyWChCATmO8w2o5TjON+aYZdn8/HwACRWpZ9YHXsnxbDivb1LBE6Dn8vJcipLeesPDw2ma9m6Kf69uJy8vCIIgCIqME5KoiOuV1qPzeDysgGx70I7TjknbA37uZltwzFDJ6MnNZeUlAbhcLgBOpzM2NlZeqdzCfyJ+dcDYsqI4sC4zZZ8p30KHaVlrnrO43aOiouSHks7F7S4UySOZ7XQWOgjHcTRNOxwOhSj1piDi7E3LK49x9SP42DimSiByc4vtTYvFUqFChftoCim80FfkeX7jMduPB03zni7Iz7stltCbNputSpUqipHpO96kBQ99B2FeXp53c3+Wdt4B0/wu+bm5yt8sdzwvq9XatWtX+fG7des2YcIEEIqnvDtoRah3ixYt5LHdoaGhJYR6T5gwQT68pFBvebEig4NtNptvqLfVavWNss3LywsODqZpOgz46Em8sE7bqhriK7pHNzfSdKEcwzk5Od56pVVlvZs8z9vt9uDgQlkvpVDvoKBCv8zvGOr9aCUMWR/8XXdsuxq44yr9XkeNfM615JpNJhMAs9l88eJFeVPILfwn4pFcTGiLz3cHCFr81DVnyKbwsDBjcbtnZWXJD/WgQr3f2Iqm1fBWGz0Am62IwH2r1eoNpLbb7Tdv3iy5KURRzMvLU4iCIFitVunnnRee5w9kOKcdDFw1CEGGv8pLod4l9GZQUNDVq1flx5db6EUKSfcdhLeEkA+3U9lOBBlxIRe/jwCc2vvozeDg4HXr1pFQ73uivD+DVoR6K2K7y0io94lb+HQn0l/Ar/3Qv67HL+/lsuw4egPvJGDfVThZrOznVn8VJQDVQ/DsaoSa8L9OOJWrqar6w9+v0+Bk8ZafxkKGFa9sNS/sgyC1Zru7OGrMOurTJ7FsIM7lQK+B+q9DyzPl/Q5aEeodHx8vj+0OCwvze6j3hTz8Zz1+7eeHIDEveW70W4ovn0LTygDgdivyoKkEJ+CKDX/eQPMq+N9e/PKnZflgVQ1Yc4befglLB6haqZc8N0aupb/tbK/skzeq9Dh8U9MuBtWD0XsxPu+I1adwLhckoFs1yruD9g31VsR2+zfUO8OKYSuxqC/Uv1X04uSowSuQ1OEv7+wvGB5DluPp2vipN5IvQgRW9bbFhCp/U5ceadc13+ynNw1X9Z1knhurToLh0bkGXt6Ez58UawSpmmzFpBWtbvz3d3SIxVO1sOBPmHWAMv8oobQo7484yjI3nfTw1fT83n4I4fXCCRi1wfBKC7SP8ZsNANw8NXAZBjbAmCYw69C9DnrUuZ2BRAXO5uLt7YZf+nBqBgRdKaC7LIRRi0gzms9Gxxp4vLKK6UUAAHER/G/ncCgL3Wrj6zQwnD/vFcohxEGXUXJdGLUp4KunhLr++z0piHhhg7ZHLa5XXVXr5UWsOY05h3D0JgDYGAzfEPjCYxgcp6oZR25gziGsOY3rdoxYhR+7uiPUfcr045+G6V0w9FFsu4i32mJ3hqq1S+y5qq0ahE41MP0PAPi1/512IDxQyvsjjrLDkZvUf7ci3w2zDh88gc924f3WrkYVA+685wPlbC6WHYdBi+EN8clO1I8UhzZQdYlDVkDPXyGl/vlwO9rFYOVJTHzM1a22qnmY5v2p2XoJfR9B+lWMWot1gxEbrHYi1ywHHRuKybtRMQCvtsCGMyrXjzM5SNpr+m2EGG72d8BoeaW8O2iGYcaOHXv58uX8/PzvvvuuUaNGflnVmxXw4gZq5WBUsuB6ARp8i/m98XgFtRd/3XtVMyMdb7aBk0XzH9GlNia14H0WPCpdtl7Wt6qGd9oCQJvqiJuFbSNQw6D2U895f9J7RwNA/6V4qhayXUCIyiagVRXupQ366sH46mn8fFTtdwB5bjy7GrO6OMNM6r2TJCgo7w56y5YtFoslOTn5wIEDiYmJc+fO7dWr14IFC6S/JicnS6Hec+fOnT59+ueff15KZpzL0zxWGZUsYHiMWYcutdSbRyXny/36Xwcg1Iiv9qFhFCz+GB1ZDrpOJABk2jB0BR6tgEcrwGFV1QYXh1AjNBQm/oYnolEpEFdtQCVVbQBQySKcykaWA0/MR7Ug/NBDvao9PAYsxcftUSvEH/N1CH9T3p9BV61aNTExEUB4eDhFUd5VvQcOHJiZmSmP/N67d2/pmRFmFK4XgBPwzEoMeRRBBkSq/WwDABwsFWzAkuPYm4mZT+GW6867PHCaRbErT+J0DgYvx4ftEWxQewkCACYtBBEfbAeA8c2x8iTaVFfbhj+u4LtDhkNjkToKO57Dor6q5ht5cQOGPIpONdSrkVAk5f0OunHjxgD2798/duzYpKSkkJCQu1/Ve8GCBXKvzfN8Tk6O1Xr7Zo9lWZZlFaFZ0nL3ilDvUJ0nWGd47HvtE9W4y9linkNTVe9kGNZms/nG49psNoUlHMd56w0JCaEoyrspiiLLsnKrAEhx3gqR5/nHKhhf2aA9l0cv6Or4fK+xTSXe4XBLq5cqSvpGiktlpCWc3W53lSpV5Mf3ra44sW4IUzOQafaDvmkl/n+78EU7l9VahLV3c8yIiAh5AWnFVUUsuxTxzDCMXGRZtmN1enq66bEoLmEONTyOrWbwMAzLcZwUMOmlyN70eDyCIEii2WwOCwsruSmkqG65eDaPfv130/ynrB6HzlO4pG9v+u6Ov/tICmS32+2RkZHyAnIL5WddUFBAUdR3h/RaUdO/hstqBcuyJY+3uxfz8/MTExPl47lVq1bPPvssCMVT3h20KIrvvvvurl275s6d26hRI69+N6t6d+vWrW3btt5Nj8fz4osvyhfAdjgcer1eEQdst9uNRqMiyragoMCo1z5ehQ4262tEiK+3FWnKIq2c7Zu1IyAgwDdhgrfegoICAN5NnuedTqdiWW6O49xut0JkWfbJGvyYzfqKAeLTy4P61BOfb6r1eCiWZeULeANgGIbneUXMtJTjQoqZNhgMt27dkh/fd2nw4sQ/MsUdV/THxwlBRipAB8B8T7vLxfz8fHkBt9stLcItL+9yuWiaVkR1bz3j/u2y8fzLAi/SAToAekB/T71pMpkk0e12FxQUlNwUoihKsf7SZpYdr6XQv/bnA0VaUbLI3uR53uVy+famx+OROs5kMimaQm4hADeHqX9Quy7xEQGaVtWoPdexfICgoSzSwUseb3cvms3m1157Td6AivB0gi/l3Z4vP6UAACAASURBVEEvW7bs/PnzycnJ0mCdMmVKYGDgiy++6F3Ve/bs2Sgm1DsiIiIiIsK7yTCMXq+X3y9TFEXTtOIOukgx6Q9TRAD9cXvpMqC8JTUajcJBS6LigpFE6bN0n6gwQ1GdIAi+4rEbwqd7dUfGIsJ82wyapn2tpWlaUYUkApBEiqI8Hk/JNhQpbruIz/YFrBlKhZmUjXY3uytEjuPkBYozW3GCp3PwwW7jqoFcgKFQ1oi7703JBkmUMhaV3BSiKHrFfDeGrsK33VEtmLZa7+qs5bt74XneK2o0miJt8CoTN6J5VfzSw/bHraARq6l9Y6D/Oz/fHcfb3Yt6vT42Npbk4rgnyruD3rJlS2pqatOmTQFUq1ZtwYIF6q/qPXk3WB4fJAiA2lkrvVzKx7hN2nndHBFmv62Qsfkcpv2BBV0LwkzqxQcquOHAyNWY040JM/qhLxgeQ1fgk/ZoEAlBrUl9gohzufihB85eo5J2Up90wI5LqEeiucsG5d1BSzfIclRe1Xv6H7icj8/buAG/ecYbDjyzErO7c5XNageqeVl+Agv+xJrBcNn8ZoODxaBl+LorogNV/bLcnYGLN/UtgY+2Y2xTJESrVjMAUABFgeExenPAtM5iZgHlIpHcZYbyPovDv8w+iIPX8W03fy4cle/GwGX4phtqharqGfPcOHJLe8MBAPMOY6nqC6Mo4AQMXYH/tsZjKk6nE0U8sxLLT1I3nPRTC6HXoKe6QZsAKAoNKyJhHvrX9YQaxR8PoIfqNhCKo7zfQatMnhtbL2qjgqk20VhyHFsv4Od+oP3nnd0chqzAh+3QqCI8njuXf1AsPY5Z6agfoj+fDpMOIUY/LIyi4KWN6FEHXWurWmnKJVQKxBcdxU+TMaABtl+CKPrh2zrSjEA91p/THc2l5/SC6uGrhGIhDlo9dmXg7W3oUYNOv0lP+A2Vg7BioH+80nU7bljphgEYthLjmqqdCInhMSMVu0bCmuf85php7iFsHeGfdrjhwLoTWg1NXbYj3ITRTdQ24FI+GlbET3/idK7mp/7ouxRWBiHqJlxechz7r2HLcNisDt+E/QT/Qhy0eiTtxJrB0LKefTe1687Q3etAr/q1IIgYuQZuVhOm169cjtda+uE39aV8NKoILY2P95p1BiQ2w6ls1FL9veDRmxi1BiMbYnsGvfk8DrygtgEAmlXBy5sQqKd+7OTIcRny3Wp75/3XMDMVvw/35884QgmU92fQDMOMHDmyQ4cOTZo0SUtLE0XxpZde6tChQ7du3W7evKnY/Id1eXiEmfDHVc0nuzRfd8Wl/AdyBvfGshOoF4FFvXkRGBmPvZl+sCEmBMdv4cWNCDGKUztj31XUj/SDGZ/uxC/9UD1IzHFRKwZjeqofbPDwuOGAlcGryQEDlmFGF1Vrv2LDixuwYiAsZOZbWaW8O2hvLo4ff/zxlVdeSUlJkZJv9OvXb/r06YrNf1iXRY9Vp/DBbuOSvty2C6q+jPJy6Do6xOJ/f9AmHT7vCCtz510eOBoKNIUdl8AJ6LcULauihj8SXmc7Yfdg8l7dgh6euEhcVYbLlTpnc/HKZux8DlueEd9q4Up5FvFR6tXuYDFkBb7rjsokFVIZprw/4lDk4pAn35g/f77ZbJZvKvY9c+ZMRsbtHL0syzqdTnnQMM/zLMuK4l+zI16Ip4eu1D0ZIwxfTdcK47vX4LxleZ73XepbEASPx6OIERAEgWGYIkXpsxQI4N2UArW9m7HBmql76CC9+L8Ex6UcaCktw/w1qYrjOHlJ70lJq1krRHmN3t299XIcZ7FY5AW85VkBo9brBj0i9Kkn7L/kGdNUW8kiyo/ke+T7Fo1Go7wAx3GiKHqVeuHagUvpdf0dJhpzD2vbVAXD8PJzUaDoTa8ohU37ilLsu0ajMRgMvk1x00k9u1I7rycXqBFFTowyKxtZFEXfE1T0prc6X1HemyzLms1meQGW41/YRI1rwsaFCV5ZGm++g7Dk8Xb3otPp9EaESVSvXr1OnTogFE95d9CKXBybNm2SJ9/Izs4uIRfH6dOnT5w44d2U4qflqR6kaC7pkr5soz/drf3jWYfAeQKNmsgAWu4EpNQWvpcBy7IKUcrGUKQofZYctHdTus69mwZa3JNpeKqGMGWfcVuGZkZHN8sKXmslHyQ/Msdx8t29JYsUvfXyPG80GuUFJAtdHEauN/av5+lfjwPQopLHbNAq0pn6psu4b1Fhg+R2JcXmodKvaeuG8+N/N/IiVSdc/Lwd4y3rm2kEhXvTi1SySFHy2jqdTq/XK5oi38k9u8Y4o6O7illgWYii6Hsuio4rQZRybvh2h7c3WZZV2PB5qrFOKNezZqGdpIP4Omjfpri/7mBZ9uDBg/KXkC6XizjokinvDlqRiyM1NVWefCM0NLSEXBw9evTo0eN2CkiGYXbt2iVPRyCKosFg0Ov11wrwwmYs7IfaYQE2G28ymRQpHaTUFooX6FISDN9EPBaLReGgGYbx1mu321E4F4cgCNLmb+ex8gwuvoJD1+hcO/tWe02I0Sw/svw43iP75lhwu91Siga5KGURkjJdGAyG7Oxs+V4Mwwg6y/DVSGyG7nW0vmYXeS7/UFQkoHC5XKIoms1mTsCw9fi8E9rFIK/AqdXQgWYjcLtH7Ha7TqdTJOjw9qZcFAShuN4sLheHw8WM2xLwXjs0jzF7j+zbyJJn9E274e1NLxzH+SbokPem2WyWN8WiI8iwsz/3pXQ6g+I4AQEBRQ7CEsbb3YvBwcGTJk0iod73RHl30IpcHIrkGyXn4rhLbjjQbym+747afgtgBoD0a5jxB1YOgkGLxyqJLhcfpOKEgVw39Z/1eP8JtItRr9LiGLseg+P+ssSgAa3iixhRxPhtloFxfljjMduJjWeRacPmc1jey0VR/lslnnDXlHcHrcjFsWbNGnnyjbCwsH+YiyPXhf4rMPMpNKz4oE2/F05m49XfsHKQf0L1rhVg2Pqg6U/7IauyLx/vQHQIhqi7vCEAB4sAHd5NQYMIXuXFFQGwtPHpn9HnEXyfjggzbjmpcJJI7mGgvDto31wciuQb/yQXh4OlBq3RftIBzavc9zEeAJkF9NgtWDIAKq95ujsDK08CFHZfxpQnHG2qB6tafVEsPKa94cA3XVWt9Jrb1G4+KAqZNsRVwJyOLimHqppY9VWXPIUJm7FmCHgBX6YZZnVX2QTC/VDep9mVHm4OI9YZ32gltI/xpxk3HBizyTS/N6qoO5vqBip+fwAda2LLeQgiIs1qr7jqy9aL9Obzmq+eVrveVVerLh2AFx9Hm2pwMLju8MNFx9GGT3birbZoHIVHIpFhIxf+w0F5v4MuJRge/Zfi2UfZjrF+CJzlBOrHg7iQh5qhWHyMntrBUStM7VR51xH1WkskbsT6ITidg19PGj71x/ONbCfmHkKBB9WCsOSYbklvt0bdZ68MDGF6z9Gb+OlPrByE79JxIEsbp3pTiKBNWvSpBwCLj+HxKI5c+w8F5Iv0AfPNfiTMR7Xp0NDoVkvtZbkBiMCkXSEOD7rWxhd7QFOIi/DDup8ctOM3YdlAxIQgzAQb44dQYpHSdv0ZMSFoEoV3ktEhmlf/EbwObBZjTNqJX/pBR+NMDipZ/PBjIpC9oaHQaSGe/AnbLmB8U39EKBHuHeKgASApKWn58uUAGIYJCQmJj4+Pj4//3//+d6+h3jcdOJSFmGC8l4BmVfDdIT/MKGLpgEpmPrEZvkzF1M6w6JHl8INz5KAdGIdKFrg5zExFl1g/5Bj26EMmtECnmpieipRnsem8P37NQOfitJFmrD+Dt7Yh14UmFfzwtW1hby4biLVDsGEofukHA0mI9JBQ3h00z/NPPPHEhx9+KG1euHChV69ehw8fPnz48Ouvv36vod43HWB51AnHy83xRmtsueCH60CgtKFGYfRa9KqHnnVRMQBWf9y9Po70szlovwBdFqFbbbSs7AcHLVKaMDOGLMdnTyKuAjT+GOwuGEfFnn+tFbLsaFMdi/r4M/e3SeuHJdIJ/4Ty3l00TW/btu3999+XNs+ePXvq1KnevXvr9fpp06YpIr/veDQnC07Auwl/fVY/WR0AvWBfc9H0Sm0Mb4iL+Th6E7Xa+OE3tQb8l0/d3szJUd8E6NiC/6zD5I5oWx2bzyEm2A9rtQTDWtHgbl7FzzN5CA8p5d1BUxSl1Wq90XqRkZGTJk0aMGDA4sWLExMTo6OjSwj1njZt2ubNm72bgiAEwn0hm9tywmnQiJ+lmp9r4LDZON9luX0zHnAc5xvqzbJsfr4y5R3Lsnl5eb5ibm7uX2cUEtMogt15gf39DCx6cUpbJ+fxeP/qNdU3hLfIiGFBEERR9BRO5i+Jvmki8Hc8odPpjI2NlVcqt1A10RBaKT7S82MaNXs/qliE91vaHQ5BWn1cYbbT6ZSLHMfRNO1wOBQiwzD32psWi6VChQr30RSiKHIc5yvyPF+kWEJv2my2KlWqyPcqcrxxHJefn+87CEseb3cvWq3Wrl27yo//1FNPvfbaayAUT3l30Aqk+2UAvXr1evvtt+Pj40sI9X7ttdfkw4thmF69en3RSzv/cBAn4O12aBKmMRjMithWm83mGxxstVotFosiyjYvLy84OFhx8efm5oaGhiquopycHK95fH5mUsv8Zo/X+muT19jt9uDgQnOQWZZ1uVyKRe+l4ODAwELT8e4v1NtsNl+8eFHeYnILVRPd+TfXDLvd+C6XIIV6y8s7nU6apo3GQlGVRYZ6FxQU+IZ6F9ebAQEBUmyq3W6/efNmyU0himJeXp5CFATBarWGhhZK9MfzvG9vSqHeJfRmUFDQ1atX5ceXW+glPz/fN2F/Xl5eSEhICePt7sXg4OB169aRUO97gjjoQkyZMiUwMPDFF19MTU2Ni4u7j1DvhhUx/e+svgUFpWdpsWhFD0m+LqHl/NEBBMKDgzjoQowZM2bUqFGLFy82Go2zZs2KjY39h6HeBAKBcN8QBw0ASUlJ0oewsLBVq1bJ//RPQr0JBALhn1Dep9kRCARCmYU4aAKBQCijEAdNIBAIZRTlEj6E+4ZhmODgoACzyauEhIS6nE7GU2i+cGhouN1ewLKFZhaHh0dYrfmKqawRERVyc3MEoVAmjcgKFbNv3RLFQrEnFSpE3byZJX12uxmdTuudLKXVaIODQ3JyC03i1ul0FktgXl6hWasGvcFkNufnF5r0ajQa9XqDzWaVi2aTWaPVFhQUWmY1IMACwOGwA3A63bzAB1puz8OTW6iaaHc4LQG3J9UFBAQAlGShl0BLIM/zTlehedBBQcEeD6OYMR0SEuJyunx6M8xutyt6Myws3Gaz/r3CFicIgsFwe25ZhQoVb968IS9PgYqoUOFWYZGm6bCw8OzsW3JRq9EGh4Tk5BTuTa3OEhiUl1coFkiv15vNAVJvcizncLmDg27PlQwLj7BZrRxXaM57RERkXm4urxhvkRWzs0sab3cvOpwuq9VqMKi4TsTDD3lJ+CBp16rZ5kUz/WvDU0MTZ097v2qlCn60Ydr3i/Jt9k9eH+tHGwC07vX8njVz/WvD869+9Ey/rh1aP+5HG/b/eeLz/5u/4scv/GgDgC5DEymQGaD3BnnEQSAQCGUU4qDLBF2Hjz917pJ38/rN7K7DxwfVTWjR/bnT5y+rZsbWXWnxnYYG1GrTpveo46cvqFavgu8XrYxp3sNcs3W7/i/Im0UFSmgBRR+pg79GghdRFD+Y+n3lxk+Za7Zu22f0iTN+GxXlE+Kg/cy23WljXk/alLzXq4ii2H3EhCfbNDuza1Wrpg3HvvGZOpZcv5ndZ9Skd155/tqhze1bNR049k116lVw7lLmy+98MWfaexf+WBtXt9aLb32uWtXFtYBvH6mDv0aCnOQ9++cvXbdt6azLaevr1Kg+6RM/P8Erb5Bn0H7m0LHTBr3ebLr95iT9z5NOl/vVF4ZRFDX57UTV7pt2ph6Mq1tzQPeOAN6bOPrTr+bmWW2hwWqvLRpgNhmNekuAOcBsMhkNYaHqGVBcC/j2kTr4ayTIqVG96vIfvqhXK8Zmd0RViOB5/y9dVq4gDtrPTBo7HMDqzdu9yvEz5+vWjP7PG59t33ugYf1aMz5UKd1X1w5t2rdqKn1OPXA0plqlkCB11zEEAFSqEDHlnfEtuj9HUVRYSNDpXStVq7q4FvDtI3Xw10iQE1u9cmz1ykvWbhk87u2IsJD9G39S34byDHnEUea4lZO3dsvOxnF11/80s2JE+KCxb6lTb6DFXCEiTBTFNb/tGPrSu19+PInyR275U+cufTJj9t61cx3ndj8/uNfIiR+pVnUZaQEv/hoJvgzq2dlxbvdzA3uo2R0EkDvoMojZZExo0XjciP4Apr4/IbBO2+zc/IiwEBWqzsmzjnk9KeNq1uq5U5s2qq9Cjb6s+31n1ydbt3ysIYBP/js2uG47a4E9OFClRW/LQgt48eNI8HLmQobRoK9eJcpsMr6Z+Fzlxk8xHo+BpAxVC3IHXeaIrlrJ+5mmKYqitFo1lmZhPJ7OQ156pHbsvvUL/OibeF7wPugURfACr1osVRlpAS/+GglyVm/ePv2Hn6XPTpebpimthtzVqQdx0GWOTgnNT5279PPKTTl51rc++7/WjzdS51nw6s3beV4YM7R35rWsS5nXLmVe88sboR6dElZtStm6Ky0nz/rfpC/bNmus2qPwMtICXvw1EuR0aN3019W/pR0+np2b/+6Ub3t2fkLjl7Udyyvky7DMYdDr186fMe7NyWPfnNy2efyir5PUqffg0VN/njgT26KnV7l1dKvKP6gBNKhbY+709xPfmXLtxq12LZsu/Ppj1aouIy3gxV8jQU7TRvU/fztx5MSPrl6/2aVdy28+e0N9G8ozxEGXCa4c2CjfbBbf4MDmRSrbMOWd8VPeGa9ypUXSt2uHvl07qF9vyS2g6CN18MtIUDByUM+Rg3reuRyhFCC/VggEAqGMQrLZPTDcbnfN2OrdO7b1rxmnzl2qVrmiPKme+qT/eQKA39+z7U473KZZvH9tuHLtBk3TlaMi/WhD1q2cYyfPdUxo7kcbAGzctvv8xQx94aV4CSVDHnE8MCiKatAgbsSYRK/icrt0Wq1WW2jJZ6fLqdfrFa/CHU6H0WjU0IXe0TscDpPZRFOFfuXY7faAgADF/Fy73e5deHvcuHGj/tO3Zo2a0iYv8G63O8BcaAVujuc8Ho/ZVGh9a45jWY4zGQt5dpZleZ5XLHrt8XgEQfAVAUhrNpuWLz9+/Li8KeQWqiYm7xkpt8Hj8YiiqFirm2EYiqIUS0273W6NRqNYq/v+evO9995t3qxp9x49SjBbFEWHw6EQBVFwOV2KpdOL7E1e4BmGKaE3T585c3HGTHlTFDfejKYiRLPZXMJ4u3vxyq0C+HVe+cMIcdAPElqrb53Q3rtZUFBgMBgUF7/NZjOZTIqL32q1WiwW3xXvg4ODabqQg87NzQ0NDVVcMDk5OeHh4dJnu8tTPy6+adO/IuJ4nrfb7cHBwfLyLMu6XK6goEJR1B6Ph2GYwMBC8wQYhmFZVnHhud1unucVvsPlcgEwmUwAUvcfPHLspLwp5BaqJmbnWeU2uFwuURTN5kKOzOl00jSt+LKx2+06nU7hyu+pNwMCArRaLQBoDBFRVUpuClEU8/LywsLC5KIgCFarNTQ0VC4W2ZscxzmdzhJ6U2+y2F2M3IZCFv5Nfn5+YGCg7yAMCQkpYbzdvch9ql5alX8N5Bk0gUAglFGIgyYQCIQyCnHQBAKBUEYhDprwwBBEWBkAEEUIZHIQgfCPIS8JCQ+GRcc03x/UVg/BdTtsf0LrvvMuBIICu90+dOhQq9XKcdyiRYsqV65csWLFmJgYAMOGDZs0aVJiYuLJkydNJtO8efMqVPDnwpvqQO6gCQ+AC3lYcUqzYzizchA6xOJaAcL9OQ+bUBa5YsMdgy4WLlz4+OOP79ixY/To0TNmzLhw4UKvXr0OHz58+PDh119/PSUl5datW8nJyf369Zs+fboqVvsZcgdNeAAcuI6nawo0hV+PIdOKGiFg8vxtE8CXgccsHh4cWYQE+HgHnOydp0EnJCRIMwtpmg4ODj579uypU6d69+6t1+unTZu2e/fuli1bAmjRosX8+fNL32r/Qxz0/TN16tTFixd7N0VRpGk6Ozvbq/A873a7FXNIeZ6XgiMUIsuyiuNzHJebm+sr5uTk+IreesPDwymKUpihOLgoioIgSKElCpFhGF/R7Xb7itLEZ4kQaH/LMuy8wPyYplnY1db6F75TnVpyG+QWlqqYfp3af8hRMUDIddFRUZXkBQRBAOB0OuXlBUGgKMput8tFnudpmvbto7vvTY/HQ1FURoHGiuDKlaIeYFMUOVSkGhXnBUDqzSu3rJWqVFMMCclC3yP7iiWPt7sRvz5ouumkK2qtrVq1kv/1mWeemTBhglxp0KABgH79+qWkpKSnp9+4cWPSpEkDBgxYvHhxYmJidHR0XFwcgOjoaN+6/p2IhAeE2+3u0qWLXLHZbAzDKIpZrVYppE1Ofn4+x3EKMTc3l+d5hZiTkyMIgkLMzs72fo6Njd2/f793k+O4/Px8RXmPx2O1WhUiwzA2m833pAoKChSiy+Wy2+0KceAStvJU4ft0cfBysf+Eqe3bty/OwtITfz4idp7PrD8jDl0hRn4hBoeEyP/qdDodDodiF4fDIQWwyCkoKHC73Qrx7nvz1FXbJ9v5lzeKj/yf2KJt+6lTp5ZstiAIOTk5CpHn+dzcXIVYZG+yLFtCb+a6xCbvp1WqFiv/a35+Psuyil3y8vKKHIQlj7c7it+ni8+vEQVB7Ny5s28DKrBarZJhycnJnTt39upOpzM2Nvb999+fPn26KIrHjx9v3bp1yYf6d0CeQf/bYAU/zKBwsMhy0EntWL0GH7ZDi6pqGyDx40HMf7rAxsDhwScdwPJ+sCHThmc3mCsHitsuolowbMyddykNzuVRw9aa2sxFra/Qqx6MfvqpvOy0YeUpvJtwtzHeSUlJCxcuBGA0Gj0ez5QpU7799lsAqampcXFxCQkJaWlpANLT09u0aVOahpcVyCOOfwMeHnsyIYqwe3DLAU5dxySIeG41XmvOdYrlTSYAWK9q/YVIydT/egYrBmJ3hn+m+s0/jP/EM3MPm37ui0ciUekzP9jAixi1TvtRW9cne7U/9MBHv9z57VxpsOgI3toZMPhRfLwDua676o6JEycOHz589uzZHMfNmjUrJiZm1KhRixcvNhqNs2bNio2NXbNmTbdu3bRa7Zw5c0r/DPwPcdAPPTcc6LcmKCEWp3Kw4xIiA6BXt1ffTUaLqugU64/71cKwAv6XZtozGhoacw9B64/fhzccWHbM8G03IT5KA8Av7ylPZ6NepPjRLsPUp9CyKjZVxkbVO2fnZbz+OxZ0LejZMAjAT3/iU+ud96pUqdLWrVvlyqpVq+SbX3311QM1s6xDHnE89Hy2C2+3cNUJh4fD0gGwqTsBefZB5LrwWktVKy2SXRngeIQYxR6/ouVsNK/qBwdt92BPBiqYxaaVRABLjyPQH8k1BWDDGfqjtkzLqgBg84BWN4vcwet4cytqhqF1lb/eZ3asgQI/Pe15qCF30A89Z3IQptUeycXqwQDAqjipa/slLD+BdUPVq7E4Dl7Hf3/HuqGgXTZv+rT31bWB4TFgGT5shxt5nu6LTRoa9SNRQ/UFs3JceHE9GkQKf96kq0dgTyau2qAvtcVmbzjwwwHkutChsq5HOACcysa4DVg1CJO24GSOpk04AOzNhJksBX7vEAf90ONkkZyhSx4JDYVN52BQa93nc7l4axs2DIXO3z/DTmZj3AasHIRIM3Jcdy5fGnAChq7AMw3Rqy6sVvb5pnopmWeHKaqakeNCn8WY3BGNIrifDuPrNNSPxJROGDGvVKrLsmPAMrz/BEKNmL7bkMOjXQyeXY1f+6FyIJI6oP9iS9crcLI4eB3RwXc+IEEBcdAPN29uRUwIbtjEcesBIMuOYOOd9nkQWBlqxCrM740wf0cMXszHs6vwa39UUXvB69sIIp5fg+51MOxRv9kAIPdv79y6GjweDI9jAwONAPbvL60aFx3Bf1ujUw0AmNnB3net4bt0zOmJGqEAUCMUa/vaLjJhWhr/64yuv975gIpQ75iYGHlsd2RkZHkL9SYO+mFFFPHyJug1mN8LubkFVjocQI1Q1Hin1KvmBIzaYPioPeoq87OrxKV88CKCRVwrwDMrsagvaobeea8HiCji9wu4bEVNi6ZNDMasQ9PKGKn66lrncrErA0aa6lgNuS70/ts7q4aVQcjfNwQFHurYTWwZjjiZ2zRpxbYV7+GAUqj3e++9N2/evBkzZvTu3VuK7Z47d+706dM7d+4s3/z883//CgDEQT+UCCLGrkfNMLzR+i+lhioeKsuOk9mYna7rXIPvVEOthykyXByGrUCgARoK53OCnBxm90Id1b8nnluDcBMer4LvDunf3ql9ujbGq77g32/nMXkXRjXBZSvVLTVAr8PnT6rqnQF0rY2ZqWhaGYKI7iuCn4hBsyr/6ICKUG9FbLfZbCah3oS7ZeXKldK0eQkp9KugoMCreDweKRRYvpe0oJ9iYSGWZR0OhyLKluM4u93uFa0MVeChgmgONvt/NhkfrSC82NAj1cbzvLfewMBAiqK8m6Iosiwrt0oqz3Gcryg/jlwURRHA2rPabw/qgw3i6RzKRAuKkhzHef9nGCYqKkpewPfI9ydOSdX3qy30rM3lM1TnX431I9gaZre8uHz30NBQ+aGkMDmeLzTjTApuVgRPezwejuMUwdPe3jyeTVOC/qNWbgBHrmj2XtWMbegoKBDlx3Q4HNJaZUajMSQkpOSmEEXRtzuKE729OWWX+deeLotOzHGKsw8GdK3saRTKeIvLe9PhcISHh8sPJbdQLtrtdoUo0R3PsAAAIABJREFUDUIUxnvkuGB0jdE+MVd/OoduFsX/0MUlbwfFyVqt1nfffVd+/GbNmvXt21deXhHqPXPmTHlsd3Z2dnkL9SYO+v557LHHoqOjvZsejyctLU2+up0gCDqdTrFgHc/zBoNBsRwcx3EGg0FxbXg8Hq/43nbNvqtU9WDxSJYhyEgPrC++0ATAX3UxDOOtV4pR9m4KguC76qvkRhUiy7Isy/ouBUtRlCR+eUD7bht+9iH60GjXK1t0h7JNLavevhql7yFpHT+tVmu1WuWHklv4T8Sj2ZpXWvAcrR2xXvtJG9u3R4IUheW7OxwOhQ3ylvFC07RipUFBELRara8o9WaWi2pQgTIajdNT6RtOrlOMkMcawyy3m0LqTek7WHKFJTeF5HYVoiAIRYre3hRARwQa8twYvkHz0mPMDZfBaLz9BS/vTaPRaLfb5YeSWyjfxWg0FjkIFbcO8lMY1BBrzlEvPS50q2YLtijfA8pL6vX6vn37yi+HiIgIRXmbzWY2m1esWJGSkjJu3LgWLVpcvnwZwOXLl8PCwkJDQ+WbKAcQB33/REdHyx00wzCK9UNpmtZqtQoHXYKouGBomtbpdDRNp1xCHoOU52D3UJ0XCNlu+qXmAG4XpijKe0DpZtC7KeX9UVQnFVOI0t2lQpTyMOh0ulwXQk2YmqpdPxR6UdOqqnjeqk2IvV1ScvrS7hqNxuVyyQ8lt/CfiPUise86/c1+TGgJi4AaocrC8t09Ho/8r9IdtKI8y7K+7aPRaErouObV8c0BBBg0Z/PwXmvnM+stdSIp+URjqaT0HSxlICq5KURR9BUFQfA1TN6blQKx55rugxR80p5ffETTJ47WyebTyHtTo9EwDOM7MhV3CSUMQoWD9lorinhhLTrWxLONkZNzh940mUxNmjRRfO0pSEpKeuSRR0aOHCmFeickJMyePRt/x3YrNks4zr8G4qAfAg5eR486sDHotxQvNXHPO27hRWjUDT0QRPyRib2jEWSA243tGZrX/XGBvNoScd+ieRXsu4KUCwHLBvnBhkoWPBKJd1PwRDT6rzJP78LTlB+uow/aodUcPBKBN7fRCVW5LjXVNwFvbUNsCF58/IEdUBHqHR8fL4/tDgsLI6HehDJHrTDszcSUPXirDRoGsz8cVds7e3gMWYGP2mP0GrSujmM39E0q8vFRqtoAQBDx+hZ89iRqhEIQkfiorXKQH37nrjuDjHxcfxUuDrTHYTL5YaahjcFLG7C0P1pUhQY862YAtWMWp+wBL+L9Jx7kMX1DvRWx3eUt1Js46IeAxyph5Go8WRMX8vDpjsC3EkRAVQ89bgOGPYrn4jGqMS7kIUjLVjRxgPL3bKkiikjciMcqY0yTv5ScHD8kuth8Dl/vw5ohMGhh0MLmufMuDxwbgz5L8GYbdKwBABwHZX7o0uf7Azifi++7q15xOYM46LJOpg2DluG3Z2Bnke/GrE72R6urGpL1zQFdqBHPxQNAkAHxUXC7RV715DuvbkG4Ga+oPptNzu5M6vPdWDsEJv9dN3aWGrEGb7b5KzxEBQQRq07iQh4aVEC32gCw6qxhx1Us7Hu3SUQJ9w1x0GWas7l4ZhV+7AHv84TcXFUXUNpwjt5zhVrt72wb0/abtBp80t6fNhy+qflop2bNEAT5I/+RRIEHw9aa335CPe8sihiygnokEi2r4rfz2HgWXWtjxRn9mmFqP2crnxAHXXY5kaN5JZle1Bf1lJORVOLIDUz9Q7Oqn8svL8G8TN2LKwX0gv5q11vgwflchJtRLQgnbuGNFMOy/nyI0W+ZRwo86LeUfqWps3NN9brjVK4m0ICP2gHAU7XQag5O3MLCp+x6TbmY5eZ3iIMuW+S7EWwARSHtKl7+3bx8kFAjTFWP4GSxKwMGDepEYMw6LOrFBej88KiXF+HwIMiAHw/i4HXMbO+gKFWSjPzNzgz6vR1oXR2nsxFlwalszO3qilQ9IVvSTmy/BJpCbBjOZuO/rcSWFTg1Dch2UdHBf73zOHAdGVasGASTtrSGBMMwY8eOvXz5cn5+/nfffdeoUaOKFSvGxMQAGDZs2KRJk0guDoJ/2HaReicF1YJw2YoB9bH+DH7t6YgJUTUD0EUr/fIKdKkJB4t+S7G4P6oHiT4rlJY6X+7Dz0dQJQjHb6JaEDYPh031NcLf36HZ9AxCjciw4vEfMbMLqgSq/UW1+KSeE7B1BAo8aDkbjaLQqYboE9ZXujSqwE87QE1ogasFeGkDqgThsUqwllp3bNmyxWKxJCcnHzhwIDExce7cub169VqwYIH01+TkZJKLg3C3XL16NSsry7vp8Xjcbrc8aFgQBI7jFJP8JVFxKBcrvptCbR7CBhmw8Rw1Yo1297NshJ6TwijkJaWoM8UxJVH6LEUfeDcFQZBi0uTlOY4rUvx4t/77rlyNEPGZ1Zrn47H7ktiqIue7jLQURuwreuvled5kMskLyC0sWTx0Q7P7srDrWX7TOWraPg0nADx397vLRb1eLy8gxaz7mu0rOjxCkF60aNgr+Ri0XDuppZjtEO++NyVRio+XwhRLbgppeVCFKAhCSob2i85cnkMcsEI7uQM/Y5+myI7jeb7kLpaCV31Hplh4ISxJlJYD92LR8m+35rr+rDl+k2oUJU7uwIt8EdYWeV4KkWGYgwcPyoNZoqKiqlQplLyjatWqiYmJ+Htx+rNnz546dap37956vX7atGmK1BwoBxAHff/s2rXr8OHD3k2e5x0Oh9t9e0WTIpM/yHNWeDmdg6YVWb3ILD+mnXVIP6YRcymXj6ogMAyj8Ai+yT0ACILgrddsNlMU5d2UDJBbhb9zcfiKWXZdFZPr05366CBxzKOed3caWJb13V06L19Rqk76HBwcLC8gt7BkMT1L06Mms/Wc+NU+/YrejmFrjfl2t3jXu8tFi8Xi2x2K8tK3ncIraUW2gBEvZHtGbzRObe/8+biuZ23u7ntT6iPpm9VgMJjN5pKbosg+EkUx3Kg7ep2fsd/w8mPu+qG8SWNkGMa3pORYfXvTW9LtdiuaQm6hXHS73QpREISagW6eN6UMc9cMEQC43ffQm3LR5XKtXLlSfvz4+PjBgwfLyzdu3BjA/v37x44dm5SUFBISMmnSpAEDBixevDgxMTE6Oprk4iDcLYMHD5YPL4ZhevXqFRh4+6FEQUGBwWBQxLaKoqiICAcQHWK7YNNtytAvOolNwzFmraZBZWjBWCwW34w2FotF4bU9Ho+3XpvNJoqid1O6Q5RbJR3E5XIpRI/HUysMMw8FnrXi576Yd1jfojqkG2GL5f/ZO+/wKMqujd+zvSabCqGFAKGX0EGQKl0IEJogSlUEFBVQP+zIq6BUG/rKizQF6T10pCihhyItkEBCAqRur1O+PwaXyWwIAckMwfldXFw7d56ZOTtn5uzs7HPOMXBHut1uiqL0ej1XdLlcANisDbVaffv2be72uRYWL1Y12fZkai/nYutQ6JQGF4WIEGNeXklX54r5+fncAS6Xi2EYnU7HHe90OmUyGa/khd1uf6sV02qZfmBd/HBWb1Chex2VzUaV0Js0Tev1evarjMvlMpvNxR8Kti4ST6Rp+sX69ufXBb3aFFBqX9mJ6R2h1+sDvUmSpNPpDPSmx+NhRb1en5eXxx3AtdAPRVEGg4GX6p3roEbvMPzQB43K3XN3yb3JFU0m04wZM4pP9WYY5oMPPjh06NDixYsbNWrk1+Pj46dNmxYXFyfV4pAQgRANo5ThnT2Y3hHv7kaoFtVCUCD4g9e+NclR25RdqqP/aqjlWNYPjKC/SAFAuJZedwFjmmDbFaw8j1ebCW0AADeJxWfkS/vBpEblYMQI3rYKgN2L9w9qv++FPCdumPHj86gRCoGnnzt8GLld/0UXplE5gabUrVmz5tq1a/v27WM/PGbNmmU0GsePH5+UlFS/fn2pFoeEOCw8rdYqsWYg/srGS43+aVHdRyPTRnx2WHVuPJw+qOVgs2E8wgboi7l494D+zDik5OOmFQu6C1TnmouPxujtmtFxVJ+aos2os3uRsJqY0MQzsL6g6ZpcPBQGr8GkZp7WlYSLErt27UpKSmrWrBmAypUrL126dPTo0atWrdJoNAsXLoyJiZFqcUgIzfQDSMmVrehHqxTy5hXEscHhw0ubFAu6uCoadQ8eXTqwzav+281eJdgkbLLkPSgGw9ahdw2yd6xoaRgOH/r/hjdb4ZkI4VO470LSeHE9RjVGh/KC2sDeIHPZsGEDd/HfVotD7H6f/3re24MCN755ziViXhbNYMRGvN6cahQpeAb332TZMGQtFsejapBoNjAMxm5Gj1gMqSv4k52/cZEYvAZvtkKPGoLO6rthwcqLqr1pBMOAYTB2C3rFon8dIU2QKALpDlo0aAavJyJch5nPwWIR05KPf0fDcuhbiw6YHiIQeS4MXosfn0f9SOTliWMDgEk70Kg8RsZByLnGXgorz+FGrqZdDbSshAGrMaYJesaCFjClf8Ml/HwanSrhjwziv6dQIQhx5e9WX5EQFylAC4eHwtwj2HtVZ9TIJrTAsjOoF3mvqaBYrDiL62Ys6wvhE1JYzG7Er8RXXSF8/VKLB7uvyeUyonstzDyMEK3QxZh8NHr+gm7VUTuM+u8pjNuGzzuhX21BbQAw7wj2vASnzWs0qnutlGda8XV3oW2QKBLpEYdwfLgPBhXW9XMu6EYN34Bok/jR+chN/O80fuotQlmyPzOwMFmz8TL6/4ZPOqB1JaENSMnHc8uQki87my2r9S1ynXcrTgjJnlQ8G40pz6BtJdLqBoC+gkdnkoZKDpUcABYcJQhC6M6zXDwez8iRIzt16tSkSZNjx44xDDNhwoROnTr16tUrOzubtyialQIiBWjhOJGF11vAQ2FionxEHNQiNMUGgP+eRLdfFf3W6/qvxmvbsGoANIJ/j/rkd/ycjHAdM3UXgLt1jQVm+gH8HI9JzX0hGqZROejE+DJ5x46qJrhJjNxuGNkYtcNgE7zAtEIGgkCGFeuuqE7eIsoZ0Fq8AO1P9f7pp58mTZq0f/9+Nrc7ISFh7ty5vEXRrBQQKUALB8XA5sELm3VD6jPtoiEX49j/fh3Hs5D4Arn0edflXNQIQTn9g9d6vNi8OHITC3th2zXVx+1RPRRn7ghtA4BMK+pFYNk5RVKm7Od4XBN81jmAZ6Ox6jz6ryaG1vU0iISLRLAYtUy/6YHuK/DBAU1KPhpEivBtxg8v1Zub2/3nn3/yFkWzUkCkZ9CPzpw5c3bs2OFfpGnabDbn5+f7FZIkuQm1Lcpp636nfq+Fs7ySfm+vYWFXu7+4M0mSgXUefD6f2Wzm7dTn8xUEZLD4fD7/fsPCwmQymX+RTSP2L27+S5tQzWe2eEdtC/q4te3rk5r8fJvf/sCSDmzTWK/XGyjyMs7ZbGk2n9DpdMbExHAPBdfCVIu8nEYzbDXaRHl6VrKnZmsuZVKVlb7AkUWuXnKxfPny3AGs2f7M4zohusnbmesW2cIuBauTtY3CiPz8u38iSVImkzkcDu6Wed70i16vN1D0e9NgMERGRt7vUOgoIstitHmJRS7VojO+uZ2c+fl3J7Gw6YW8N8jzJlfkpZtzvWm1WitWrMg7M7nnW8otRZRO+3NXa6UgQqMAd/MPPN9KLloslp49e3JP8u7du0+ePJk7npfqnZiYyM3tzs3NlVK9JUrK5MmTuacXm+rNzUDlpnrnOnH8DoY2wIFM7ek8+c/9ZfUi7iWoWSyWwCzbgoKC4OBg3sWfn58fEhLCC+V5eXn+/ebl5dE07V+kKMputwcH351XXCUMFmhnnqSfreLt3cD4/Rn4R3KTg7lv6hFSvXU6XVpaGvdQcC0MDsGeDZjYAmPr2PXBYYdvYVxrhOqLGFnk6iUXb9++zR3AS/XuUAMTtuHZytQru0MImfy3gVDL7/7JbrcrlUq1utDdbJGJ+1arNTDV22Kx+BOp7XZ7dnZ2kYfCTeLlNfiwAxLqMAUFltDQUODe9G+api0WS0hIoUQdnjdZ2FTvoKAgrsj1ZlBQUGZmJtcGroUnsjD/NDa8ANolNxqNgSehyWQq5nwruRgcHLxly5aHSvVOSkri5naHhIRIqd4Sj58sGwatwbzuaF4BVqtLq9UqleI8XHqpEVouQgUDMb4xPWQtXhejg9SUXehRA/tSsetKEGR4ty0iBX/McuAGFp9G2iTcNnsVcll0mNA/CLhJDFyDlxphQF0EVHASjgs5mLwL6wYhSA2zSzQz/PBSvXm53VKqt8TjJ82MIWuxsBeaRIltCpB8G1WC0bMGfTZb/mkHEWa2fX4IcgL/6wMAGXdslcuJcB90PAvTD2DDYOhViDIwMpnQAdJD3Y3OA+sKvOdCXDfj1a1YNQDhomWP8uGlem/atImb2x0aGiqleks8Tq4WEGO2Yklf1BGpbRWXlHz8315sH4YgBe1yeYIEb6435wium++1gtaVWmOOYvgrB1N3Ye0g0VoLemli4GoMbyhydL5tx/ANWNIXFQXtCfEAAlO9ebndUqq3xGPjr1zZmK2KXxKeiOhc4Mbw9VjaF2FacQxYdAonsrDweTFbQacUyMZvw+qBot0zeiiM3G54sSEG1RPHAJYCNzFsg/z7XqgueC0qiYdCuoN+/NxxgKRx04LXd2l+G0DGmEQrSOaHpDF0HaZ3FK3/7IYU9ZbrWDtIzFbQNyzEhB2qlQNFeOTN4qEwcDUG1PIMqid0b0Mudi9Gbtd90ZluECnSVHyJEiMF6McJzSBhNWgGdi9OZGHPC+5KRvGjM4BxW9EzFl2rC7dHGrI3d+BiLmgGceVx8qZ623CI9MsoANyyY8w21cLunspBQn+DMPtUQ9ch24nzd/B6S/SLFTwXhYOHwpC1eLu5p0UFkR7xSDwM0iOOx0m6Bd2qY3xzMAyW9MX3J8W8UfLzY7JKrcDrLQTd6TVUa1sFO1/Eu23wyzmMb+zWinEzcPAGBqxGp6VosxizOvmqh4jw1Pu3m1WmPYsQDT5qj31pyHOJ9iWCpDF8PcY2RbvKopXrKwkzZsxYu3YtAI/HYzKZ4uLi4uLivvrqKynVW+IfYfVAIce8I9g4BPG1kFIg/uHdlkLsSlMuELz2jQOGAXXxRwY+PYBf+uNAugjhmZarpx/AV90gl2FQXay6IMI3ei9UBgX56QH0isX45uhdE8dui/OliqIxcA2aVEDvmqLsv0RQFNW+fftPPvmEXUxNTY2Pj09OTk5OTp46daqU6i3xj2CA745h9UAYVLichyi9gCUjOeS45OO2outyDN+I6QeJJb2cCjH8fDQTU3Zh/WA4vAhSi3Dr6lMET2yJcVvwaQfMfA7nskU4CjLQV+3GXrF3q3fecSBYjENBE8oq85HjwLV8dF4Gq1e8nwKKRSaT7d2795133mEX/V29Bw0alJGRIaV6SzwEa9euPXHihH+RoigN7VAQ1KwDpEaBjVcU33dxOJ3gpUR7vV6apnn5Wj6fz+Fw8PK1SJK02+1FijxLKIqy2e5mbBuCgqf9YZqb4KxooJ9fowvTMWp4/X/1jydJMlDkbocr8pphs/2teZ2wuf2tPR5PtNHbfQXzXRf37suYc1S1uJvTZuNX4g/c3eMVtTrdZ79TH7f1NjCRVit8lJbNgeSOZ7t68xLcvV4vm8PNEwNbqhfjTTYF1K4qH6Unz93y7teTp2/LktKVE+u5bbZCPmWzunnv5X6iz+fjiWxKdzHedDgc+UH1u0SRS553AUhMVXyVpPysnSOwH7Hdbg9MWy/+fCu5aLFYPvjgA+72mzVrNmDAAO54giAUCoV/TEREhNTVW+IRad68eUxMjH/R6/UeO3Ys8SX6jwy5l8LEljR8hFKp5OUBUxSlVqt5DZVJklSr1bxrw+v13k/kRW2Px+PvS212yzpHeJpXVvZepfjxeWrpGSLDoWxgKtS1mg2jvFbWPp/P5/PxRK/XSxBEoEhRFE9kIxebHq1QKDId6vld6Qv5arWc2TCY1lH83fHMLg3RScqsXlmkUWkmFQuOydtXIZVKZeAqMpmMl39M07RCoQgUH8qbbNQOo26NqH41vGK3ndcVFY3M5iG0x8FvIs6GXZ7Iht1AMfDIs5+gxXhTo9F4KWJZP0Yl1wDoFoufTkOtJgI/VzQazcOebyUXVSpV//79uQcwPPwBk4rY+2VIXb0lHoHo6Ojo6Gj/osfj0Wq1OrWyS427is0mUygUvEtaJruvyLtgZDKZUqnkXTAEQSiVSt4Fw4rsa4ry0Qwm7lC+FIeO1RRLzzJKuYy3OwA+n48nsjV3eCJbYCgwKgHgiWzQZ0W5XF6T/uvlxv63I8/LIwJt4JpdGqLKcXPzC8T8JIXdiw5VMbQ2RUDOW8Xn87HHmSvK5fKHclyRIhu1KYry+XxDG8qH/r1tr5NvNsMwge+FpulAwyiKChQJgggUud6Uy+Vq0nwqW/lsFQA4noE64R6/hTyzizwJiznfSi5qtdomTZoUX4uDh9TVWwrQTxsqyrEvQ/OMCcMbYlsKcp2oEiTCo3AVxJxMxiKjvXXC7yUuulxiVr0QF5MnY9petKkMmsHRTCzp4QGemPzu+zN27Fipq7fEU4VLHlxFT1cOQvwqNK+AX/rRT0ColBAZOeP7fQRO3wJBYOZzsFmf6E+qGTNmsC9CQ0P/5V29pQD9tCEDPetZc8e7z+5AUbBLAVoCkBNoVkFsIyQeEmma3dOGhrIaleJM75OQkHi8SAFaQkJC4gmFYP61v5s8btxud2RERKVKFf1KhYoVLRaLo/A00sqVq+Tm5rD9R/xEV616+9Yt3hzbatWqp6enk2ShKbo1asReS73GFJ6DHFuzVsqVy+zrq9dSK0aV0/49t0mt0ZSPqnAjLZU7XqvThYdHZqRf54p6gzHYZMq6mcEVg4KDtTr9nVtZXNEUGqpUqnLu3OaKYeERAPJycwDk5OXbHc6YqvemuHAtFEy8knK1ZvV78yBDw8MJgsjLyeGOj4gsR5K+gsK9mspFVXC5nNbC/caiKlayWS32wlN9K1WJzsvNcTmdXDG6arXbt7M8bjeA9JuZOp0uPPRe1bjY2nVSLl3kjidksuo1al69cokrKhSKylVj0q6mcEWVWh1VsdKN1GtcUavThUdEZty4zhX1BoPJFJJ5MwOA0+3OzLoVW6OG/69VoqveuX3b43FzV4mpVu1mRgZvSnj1GrHX01J5k8dr1qx15coVoFDoeKA7Mm5m5uXlPdQsDgnpGfRjgyCIOrExX74/kSPJwdC88xiEAgwVIMrB8PM47iMqwAQUUuCI733+7duvDosM49SRLGI7BAh5wHYIELKAkTIQRBGrgwBo/kiAFVdt3Gm2O8e92K/kZpeGOOH9L7/7z9QiLSwsMkW5I9Bxj+LNOT+saN+6SbNGdQuv8jx4FP1eSnhWFOm4e+LFqzeWrdn6xf9NePgtP053TP1swb93Gs2jIgXox0mIKbh966bi2hBs1Ldu2rBSVKSINpw4e9FstT8Jh0J0G5au2dq4QW1xzdDptLsPJol+KEJMQQ8eJFEY6Rm0hISExBOKFKDFhGGYj2f/WKFxd131Ns/2G3Phyt0nxSfOXGjSbVhInY4j3/rU5fYUv5F/zp5Dx+K6DNXXaNu27+i/LotjA0vP4W9cunqdfX2/gyOwGQDaJ7xCVGzG/us+7PXS3nuR7vhxxfqqLXvrqrfpMOAVrm1C2sBy6ep1Q+yzpW2ABIsUoMVk3x/Hl6zesnf1whvHttasVmXKZ/MBkCQ14JV3x7888Pz+3zKy7sz77y+lasOt7Nx+o6e8P2lU1ukdHZ9pNmjce8LbAGDv4WNjp85I3HevRFmRB0d4MwCkpWf+sWlxWtLmtKTNS+d/WqoGFOmOq9czXn//y//N+TD1yOb6tWqM/7+ZwtvAQlH0qLenuz0CfWBLSAFaTKpVqbT2v1/WrlFVpVKWjwyPDAsFcCDppFajHjO0b8XykR+8OXrJ6q2lasPBpFP1a1Uf+PxzwUbDh2+NuZiSVmCxCmwDgNPnL6tVKp32XrWdIg+O8GZ4fb7s3IKWjetXrVyhauUK5SJK14wi3aHXaTUalUGv0+u0Wo06NKR0H+YWaQP7p28WrxL3541/G9KPhGISU6VCTJUKv23eNeS1aeGhpuPblwG4nnGrQe27M6Ia1K5x4+YttphOKdnQs1Pbjs80Y18nnTxXtXKUKcgosA0ApowbDmDjjt/9SpEHp7QJNCM987ZWo+43esqFK6ktGtf76sNJFcuXYoQq0h0EQcx6/41Wz48gCCLUFHT50PrSM+B+NgC4duPmD8vXbV/+9frEfaVqgIQf6Q5afAb36eq4enjEoN4j3/oUQG6+2Wi4W8gmyKj3+nw2u7PYDfwjjAZdZHgowzCbdh4YOuGDBdOnEAQhsA3FwDs4wpOTVxBdKeq1lwZsXTZfLpcPHvd/pbq7It1x6er1z+Yt+nPzYsfVw6OGxJf2oSjSBpqmx06ZMefjt4KMIvXc/Vci3UGLyZXUdI1aVaVieZ1W897EERUad/d4vSHBRrvjbhqL1eZQKOQGfen2Oc0rsIydOiM98/bGxbPZGbvC2xBIkQdHLXiaQ+umDZN3/8q+XvjFe8G1O+Tmm8NDTaW3x0B3bNl9sGfnNq2bNgTw2Tvjgmt1sNjswUaDkDYs+nVjhfIRvTq3zc03P3B1iceFdActJht3/D7379/fnC63TEYo5Ipq0ZX+unI3VexiSlrVShV4JaEfLx6vt+sLE+rExhzdutSfTyGwDUVS5MER2AYAx5MvHEw6xb5WqZRymUyhKMXehkW6g6JoirqbX8MwoGh+jxsBbNj3x4nNuw6E1+9cs21/iqLD63dOOnWu9GyQYJECtJh0atNs5cadx5L/ys03fzDr+z5d28vlsg6tmxaYbWu37bU7nF8tXPZiQo9StWHjjt8pih47tG9G1u3rGVnXM7IoihZ20TviAAAgAElEQVTYhiIp8uAIb4bH640fOflg0qm8Asu0L75r16oJ+0C2lCjSHb27tNuQuH/PoWN5BZZ3Zix4tkVj4W347vN3L/y+Nnn3yt/X/SiTyZJ3r2xcv1bp2SDBIj3iEJNmjerOnDZx5FufZt7K7tah9XefvwtAoZBv+nnOmCkzXn3nP326tn9v4ohSteHUuUtnLlyJadXHr+Sc2xMeahLShiIp8uAIT5vmjWa+//qYKTPu5OZ1btti+TfTS3V3RbqjXq1qi+d+NPH9WVl3cjq0biaKDf6nOhq1iiAgzeUQBqlY0mPD4/HE93huxwohpusWQ/ehExfN+Ujc62fOjyvMVvtnU8eJaAOANvGj/ti0WFwbRr396YsJPTu1aS6iDcfPXJj57ZJ1P30pog0Aug2duGXn7yq1WlwzyhbSHfTjxGy1njx78cHjShOSps9dvHonJ09EG9IzbztdHtEPhdfnE90Gt9t7JTW9VH/QeyAXr6QVWMQ/M602h7gGlEWkO+jHhtvtbvdM89hq9+pb0gxDBEwe/qciTQf+XscVs7OzTaZglerufQoDMAwjK7yZhxAZBgDxkOK1tBsatbJihXsNPB5odmmId+7cKVeu3D98L/e2/EiOy83NVavVRuO9R8YlfC//1HEc0Wy1Zmfn1KxR/VHey+NzR15+/qbEvWrpDvqhYCQeE263u1u3blzFarV6PB7eMIvF4vV6eaLZbCZJkifm5+dTFMUT8/Ly2E7bXHJzc/2vY2Jijh8/7l8kSdJsNvPGe71ei8XCEz0ej9VqDXxTNpuNJ7pcLrvdzhOdTqfT6WRfz549u2PHjvezUDDRZDLxLHQ4HLzxDofD5XLxRJvN5na7eeJDedPn87GvO3bsOHv27OLNpmk6Ly+PJ1IUlZ+fzxOL9KbP5yvem8eOHYuJibmfhX4KCgqKPAmLP99KLnbt2jXwAEoUz9M2i8PlcvFq4UtISEiUUZ6GAO1wOBYtWtS7d++wsLCQkJCQkJDQ0NDevXsvWrTI4ZAee0lISJRVynyAXrhwYYsWLdLT099+++3Tp0+zX7TPnDkzefLkjIyMli1b/vDDD2LbKCEhIfEolPlZHKGhoadPn+Y1OqtcuXLlypU7dOjw/vvvb9iwQSzbJCQkJP4JZf4OevDgwYFtKDMzM7du3QpApVINHjy4mNXtdnufPn3at2/fpk2btLQ0j8djMpni4uLi4uK++uorhmEmTJjQqVOnXr16ZWdnl+LbkJCQkAigzAfoIjly5MiQIUNKMnL58uXNmzc/cODAmDFj5s2bl5qaGh8fn5ycnJycPHXq1P379+fk5Ozbty8hIWHu3LmlbbaEhIQEl6czQA8YMMBut5dkZLt27UaPHg1AJpMFBwenpKRcunSpb9++gwYNysjIOHz4cOvWrQG0atXqzz//fNDGJCQkJB4nZf4Z9D+kXr16ABISEvbv33/ixIk7d+5MmTJl4MCBq1atmjhxYnR0dP369QFER0fn5uby1t27d++JEyf8i+wcVe4Hg9frpWna6/Vy12Lnn8rlcp7odDp5WQIkSTocDp5IUZTdbi9SZF/r9XqCIPyLDMP4fD7exxVFUSRJlkQkSZKm6SJFpnCKE0mS7EYAeDyeiIgI7lpcCwUTg4KCuAN8Ph8Amqa5430+H0EQrPF+vF4vSZLseK74UN5kEzRUKpXRaCz+UDAMU6QY6I4ivUnTdPEudjqdJpOJdyj8Fvphz7ciRRTm0dxhtVpnz57NPVbNmjXr3LkzJO7PUxKgq1atylMMBkNERESvXr3Gjx+v0+nut6LVatXpdOvWrdu/f/9rr722c+dOVo+Pj582bVpcXNyNGzcA3LhxIzSU3+soKiqqadN7rex9Pt+OHTuUSqVfIUlSoVAoFIUOss/nCxS9Xq9CoeBdGx6PR6lU8mKx2+0OFAmC8O+XDRn+Rfbq5VrFjqdpOlDkrsh9FzyRYRjuHv0iAFaUy+VOp5M7IHC8ACLvjbMz/3mr0DQduB3WcUWKJfcmG4nYmF78oWAYhvU1T+StiPt4k6IoiqKK8aZSqeRtimshV1QqlYEnoUKhKOZ8K7kol8ubNGnCPVZRUVGQKJanJEB/8sknixcvnjp1auXKlTMyMmbPnj106NCqVat+8803KSkpP/744/1WnDFjRp06dUaOHKnRaLxe76xZs4xG4/jx45OSkurXr9+uXbtFixYBOHHiRNu2bXnr1q1bt27duv5Fj8ezYMECbiYre8bzfsP0eDwqlYp3KrvdbpVKxbtgnE6nSqXiXTAOh0OtVvMuGJlM5t8ve4vnX6Qoyuv18vJrZTIZRVE8kY3aRWbi8kT2jo8nsnemrKhQKFg7i7RQMNHudHEHsHf9vFUoigrcDhsEeeLDepONRCRJejye4g8FwzBOpzPweLpcrkBrA71JkiRJksV4U6lU8rbPtdCPy+Uq8iQs/nwruajX6zt16hT4k75EMTwlAfrjjz9OSkpiP5Dj4uKaNm3asWPHy5cvt2vXLjY2tpgV33rrreHDhy9atIgkyYULF1atWnX06NGrVq3SaDQLFy6MiYnZtGlTr169FArF//73P6HezaNT4MYdOzzkg0eWKjetMLtF2/stO0wa/PckvGIfBwk/PhrX8iEV/nlYnpIADSAzM9P/jSkzM9NmswFg/y+GqKioPXv2cBXevOmvv/76sZr5+GEYfH1K+3smvBRu2WHSQi2SV287CLMFuS5suoyKYtwnpZkxalNQdCj+zECoFlr+F+5/KduvwuIRZ9fbUlW7D4IgkJoPlRyl2Xb46eQpCdCffvppz549R4wYER0dfePGjSVLlnz22WcHDhx44YUX3nzzTbGtK11+OgW7l1iZgIFr0KUaNoh02/jFn4o/b8pDdNh9DX0q46YYs8bf3IHZHR07bpoMKqhk+It+8CpPN2Y3fjyB07cQLEYJud/+wqYU1cedMXIjvDSCNSLYUNZ5SqbZjRgxYu/evUql8vjx43K5PDEx8dVXXy1Xrty6deveeecdsa0rXbalYHBtz8A1+KYH5naDy/fgVR47f+XgfI7staakzYOrk/D7dYjyXdbqwforqiwbvumB3rVBihegs2y4nAeHD5fyxHnas++6rP0vupY/Yd5RtKkkggEAlibj47bO17bhs074NQFZD/g2K1EEZf4OeufOnV26dJHJZA0aNGjQoAH3T7Vr16ZpeufOnd26dRPLPAFQyfHKLsPivmgShQwrZGJ8i/wrG2E6/HhKvuEF6JWINMB7RwQzrptRSS9flgCCwOlb4hwKmsHru7UeRi6XY0cKojQwCX7n6Cbx0QF5/QiyXnn5Gy3xzGegxfjAtHsxYrtxfg+0i8a1AlDSA+iHp8zfQZ88ebJJkyZz585NTk62Wq2saLVak5OT586d26RJk1OnTolrYalyy44reVDKQDM4kYUxmxEkxpfZ2w5svypb2derV8JLIc8JleAf/Z8fQoNIpOTJvz2OqbuxOxWqUuy+fV+Wn0XdcPrtVvQtG34bhFynCDb8lQOrG3GR1LttoFWgZUV4KaFtuJqPG2bUDKGeqQyHD9P2IkrMrjJllTJ/Bz1t2rRXXnllyZIlr7/++rFjx4KDgwFYLJYWLVrEx8fv2bMnPDy8mNXtdvvQoUMtFgtJkitWrKhaterEiRMvXryo1Wp//vnniIgI7mJk5JPVKDPLhoFrsKQv3Hb72gsmAPO7o9dHQpvx6znsvIpBdamx21VNK2J/Gp6tgps5gtrw+SFk2rBpCM6n2665QupGYNZzCJsoqA0sp26hvAafHpStHYQwrQiR0UXio/1QKTA2zgdoAKQVQCHsndi5bIzciMQXse4s1W0FCGBME/ysFdSGp4MyH6ABhIeHT5kyZcqUKRRF5eXlAQgLC+NN57wfbC2ODz/88Oeff543b17fvn3Z4huLFy+eO3du165duYszZ84s5bfyELDR+dueaFweeXnUzBrimLH8LDZewobBoLy+TBuR5ZKPb47FObgpoA1sdP62BwgCFQx0g2gB9x1ASh6OOpX7XqJ0akWmDXJhH7NYPRi0BhNa4Eg6PX6npmdt/JGOYLWgAfpoJiZux5pBiDGhXJzrw85308R+Fs6Ep4enIUD7kcvlD3uT265du5CQEPxdi4NbfGPJkiU6nY67yFvXbDbn5+f7F71er8/nY3OdWRiGoWmaqxQj8hS/yMuoZsVbdmLQWtl3PZmGEQxFFVpdLpcTBOFfZLfA2zibslFCMdBav7jsLLEthVjRl5YDPpqO0iMmjGKNVKlUvENxvzf4D8WZfxCZNuLrbndTuLkjFQoFd637vUH8naFe/Lt+oDe9FCYmyjpWZfZcpafuloXpmb2piA2TKZXK4g8Fm+JYEncU780cJ15YJ/uwHdM+mulSxXcyk7pskb/YAAilXl5YhA2BnRjvd5BLPnL/deKD/cSGQXSUAbwz0+fzpaWlcZN6QkNDTSYTJO7PUxWgHwFeLY758+dzi2/k5uYWU4tj/fr1R48e9S9SFGWxWHgVD0iSDEyoDWyvWZJaHOdz5WY3Ud3I5HpcL23VzenkqK6n2L1xKx6w/UmLr8VB03SRtTgCK2zwxDsO4kqBPExNxpp8y88rdqcpfurh9Lrg/TvGsUUtSq8WB8PgiyTNrjQFQaBFOV2EwXfLLpvd0eUvF8FdnVeAosjoRpIkQRC8shus4wLLblAU5fEUmlHs92auixibqBvZ0NWnhu/lWO/JHI2DlL1Snxq3QVNKtTgsHmLqfu3VAhkD+cv15F2rOUdt137R3tE4jLLbQVFUrWC6fjgJ4NRVV2AtDoZhAstu3O8kRGF41vpoUAwBitp43v3VMc2K5+1GMIFnpsPhmDNnDnf7LVu2HDVqFCTuz1MSoB0Oh16vL14pEl4tjlatWnGLb4SEhBRTi2PUqFHc08vj8cTHx7MPwVlsNptarebltlqtVq1Wy0sOtlgsBoOBF8oLCgqCgoJkMhnN4OWNUMsRbcKnh9UOUvFLAuLK3/vNhSRJ/37ZpqL+RfYK4VoFwOfzuVyuoKAgruj1ej0eD7f/NPumfD6fwWAAsP4ivj+ODlXx1x3qpg0xIfK1L0BO3N0y2wpSq9UC0Gg0mZmZ3J1yLfwn4o8nYdDh9GsA0GOZIjlPdWQ0CEJV5Oq5ubncTbHNYXmFWdiaQRpNoZkWdrs9MNWb502HD9kOGBRWg0F71aJ8bQfm90BceQUAi8XSpZaWTaR2Op35+fnFHwqGYQoKCngiTdMWi4Uncr05aSPGNsdz1eD2kgPXaP53XrFqAOpG3D0ruN40GAw5OTncTVksFr1ez0v1NpvNRqOxyJMwMGr7tzZtLw7cQIQOafk6g0axYzhMmqAiR5pMpm+//VZK9X4oyvwsDrYQQd26dUkOZrO5hHVYZsyYsXz5cgBsLY527dodO3YMfxff4C2W6hsphq1XEGPCoj4Y1RgUA7UCceWFtoFh8OUf2DYMH7RDsyg620G80lToB6wAdl/Da80A4IvDKKejg1TiJKf9eBI9VmDGQTy/Rv/VEdkbifg1QWin3LDguWoAcDGXSDMT7aqiboSgBgDYngKnD3+MQp9a0ChQySjCnMKnmzJ/B83e+1AUxbsJGjBgQElW59XiiIuL4xbfCA0NfRJqcaTko0VFZNowcDXmdXJMTwqmGKGDY4EbFYOglmN+Es5myya38KXkq9tWEdQGABF63LZj0SlkWDCluWv6MRHiwXUzNl/GwZEAMPOA76skTeokEVL1CMBH40QW3t0te6WxByX7VfzxcjgdQ+pjfhL+yMDGvpahiWHC2/B0U+YDNPvQs2vXrrt27XqE1QNrcfCKbzwJtTiaRGHleXx+CAufh5akZYQIt66hWmQ78NHvyHfihx6+sdsUU58V2gYAb7ZCjxWoHY6JLTBhj2FODxFsOJeNzjGgGEzeCS1B9KtJZztkwgfocc3w3DLYPBjXlF52RrllmNAGAKhgxGcHUU6PVQOQcVsqtPH4KfOPOFgeLTqXFWqGYfsVaJVYmoxRiYYvu4iTklUrDItPQS1HwjpVnXC6UTkRbNhwEW2j0T4aZ+9gXid7swoi2BAbiuOZ6LcKDcvh3VaeKwVE5aAHr/XYkcvAMOgZCzdJrO7rDBH8uwTDILUAybdQOxy/nsPQrcZ32whtw1NPmb+DZtm7d+8nn3xSUFDAFc+fPy+WPY+Rm1YMWoPtwxBlRLYD7za1RYaFCG/Ge3tgVOPqG0jJR4TaZ1SQgNC/9sw8jBsWLI2/+9w5L0+cWhtaJZIyUS8CbhLDt+pebkhrFEI/Xvg5GdtTsPslqOUgSdrpFPozm2YwYTvK6XFtEjZfhsOHrzs7mlWT5sw9Zp6SAD1q1KixY8f279+fN3OorHPdjGEbsDgedcIBIEIHzsRr4Xh3D5QyzHwOABpEwu1mAmbBljqz/sANC77vKXLJymOZeG8P9rwEH4XLefiyo7tGhBoQNEDPS8LZO1g1QIQnXSw+GsM3oGE5sLfMg+oBQF6e4OfEv4CnJEC73e4pU6bwficsCR6PZ9y4cTdu3DCbzT/88EOjRo3KlSvHNtAaNmzYlClTREz1TrfKxu2R+aOzWHxwUB2kxfSOYtrw9Slttlf86LzyL9nqi1g3GOzzhNrhsFqFvov/5LCGkWNxH0EPhdOHOw5EGaBRwE1iVKKxT12MayacAf9anpL7zYkTJy5YsCAwu+mB7Nq1y2Aw7Nu376effpo0aVJqamp8fHxycnJycvLUqVP379/PpnonJCTMnTu3NCy/H2lmjNmh/19vWuDo7KNxPhuXcsEwYBi8sVMRpmXEjc4LjiLdKhM3OjMMvjiiTrpJbBoCIZ/2Hk7HyE0YvgEbL4FhMGmnTKPA/O6CHoplZ9B5GWYcRPsl+O0v9FmJvrFeKToLQ5m/g65duzYAhmFSUlI+//zz8uXL+yfVX7p06YGrV6pUaeLEiQDCwsIIgkhJSbl06VLfvn1VKtWcOXN4md+l+DaAXCf+cxgnslA/EqOa4K0d+K6Ls3a4oBXAMm3Eq+vQIBJOH7KdKK9HTDAzqalX4MfN57Pxn0NIt6BLNRjUuJaPr9o7CELoX8HuOJB0E1WCUTscozchLoL5pAOlkAn3NOPYLcVXJ/BdL2gUeHc35h5BjxrM+IZuQLgpI7kuYsU54tBIKGTIsqH2d/g5Hh0iPYBUm04IynyA3rhx4z9ZvXHjxgCOHz8+bty4GTNmmEymKVOmDBw4cNWqVRMnToyOji4m1XvOnDk7duzwL9I0zavOwTYMDUyo9Xq9Aane5JBtuv9r5fikJbnnhrLrMsO2BGu03m028/uj+Hw+3m+hrOjfb1hYmEwm8y+yacT5hR9ds7Um2BmKXPGjA4ZPW1saRlA0g/4bjB4PZj5jcbkYXtIzm/zNS3pmi1qw+YROpzMmJoa7U66FxYs3LdSEfb4fujoqGOiJe/RHbymOvmghS7w6Vyxfvjx3AGu2212ofj5rttNZqCooSZLb0rTL/pL1rO5bc1a+57pyQWdHx0ouq1VWEm+y2VLsjYLBYIiMjHyEQ8EwzK9/6Wa0sUQQlMdLWJyGbLvslbpmj4fvTdbFgd5kW4ADsFqtFStW5J2Zfgu5otls5onJt4iW5VxWsyvXRYxMNLavREfKXSX3Jle0WCw9e/bkbr979+6TJ0+GxP0p8wGavYN+ZBiG+eCDDw4dOrR48eJGjRr59fj4+GnTpsXFxRWT6j158mTu6cWmenOHlTzV+9QNW2yEomvdoDQz5p3CCw2g1AWrVHRwcDDv4s/Pzw8JCeFdRXl5ef795uXl0TTtX3yoVO/bLnmHWhqawStb0KkGUvJhNBr9qd5+3G43RVG8THpuqrdOp0tLS+MeCq6FxYu/XLC/2kJZv4rp66NQq1E9DMEhodaCkq7OFW/fvs0d8FCp3j+d0+0bIbtWoNx+Hc/XRpjJqNWi5In7/kRqu92enZ1d/KFgU715Ik3TDOGLDA1W6TF0NYY3xrIzd6uL8LzJ1tAoJnE/KCgoMzOTu/2Sp3rH2ixrUrVOhXbkTsztjmn70Cha5bOTj+CO4ODgLVu2SKneD0WZD9As7M96XAwGQ0RERK9evcaPH8+7JrmsWbPm2rVr+/btY0/WWbNmGY3G8ePHJyUl1a9fv127dosWLULpp3rLCXhIpBZg2Hos6Yv/noRcjF8HKhros3fks/5Au2iEaqER4+xQyOAh8fVRnL6N//XBc8tEaIziIhGkxp5UzEvCrwk4nI4reWgpeCJ1/5red3ars52Y+gwO3cCAukIbACA6iDZpEfcDxjbFzD/QMxZBauTxi1lJlBZPSYD+5JNPFi9ePHXq1MqVK2dkZMyePXvo0KFVq1b95ptvUlJSfvzxx/utuGvXrqSkpGbNmgGoXLny0qVLR48evWrVKo1Gs3DhwpiYGGFSvaOD6Otm9PgFS/rhWj5O38LM52C3lN4Oi+bDNp6Oy5XNKuByLq7m47eBgOBTpzpX8fZYjzrhWNQH3xxDnQgRJpNpFbiSTyw7g21DoVFgy2VMaCG0DQBqhdIXchGiwcLjGFgPI+Mg/OzGC3ny07fw396gGbzYEPUE/5T6l/OUBOiPP/44KSmJLZAUFxfXtGnTjh07Xr58uV27drGxscWsyN4gc9mwYQN3UZhU7xtWmZPEc9Uw4wDqR2LtICgFv4P20fjwkGZGJzQqB7UCDSNBEPAIHhHWXVE3Lo9wPcZsRpfqmN9daAN8NCbtVneIps9ny8dvw7UCdKmGlhVhE7bnaWoBhm/Vr+iHJiWq+lUqHM3EG3t064YwVU1SGrc4PCUBGkBmZqa/gl1mZqbNZgNgE/iqeiSuFWDsDt2yvnSdSDGa6AEAPBReWK/oV9M7somYp8Q3x3A2R7F6kECPNe448NsZhVJOvNDobhk2sxsvb0T/WGpIfZpQyG/ZYdKIUAjpch5GbZJ939XeJEqMLHIAwL40fLgfv/Z2RAeLZoPEUxKgP/300549e44YMSI6OvrGjRtLliz57LPPDhw48MILL7z55ptiW1cc1wrw4nos7OqsGXbfB+WljZvEoDUYXI/uU+1uFztR+OYYTmbh6852GSFERDyXjfHbMLQuVHL0Xolf+sNNYvRmfNkFDUwkoFTJEc0vTC0Ep2/jjUSs6EebBHzAlOvE7lRljXJE84oAsOMqvvoTW4cCLnHy6SVYnpIAPWLEiKZNm65ater48eNRUVGJiYlNmza9dOnSunXr2InMTyZsdF7aF+UUol0GLhKD1uDlRuhTgy48cU5Q2Oj8v3iYhcpl/89B/NIf4UpSJpPVKad8exey7VjWDzEmBHR0EY7D6fhgH9YOQoQWFqF+hNh1DV8cxjNR8iN3iO+Oo1csfk7GpiEwqFDgEsgGiSJ5SgI0gAYNGjRo0ICrlGQGHi/Vu3nz5oJ19b6aj+EbsKwfYkOFuxQBWD1YcUZmdqh61kGNUCSsxust8HxNFJ7rLCjfHMOJLCyOF/T3wFwnKgbB4wKA5NtIysDFiTAKPgds6xXMPEzIGKNJhwF1seIsNg6BSQNawI/s/xxC4jB4HW6jUdl3tXz+Uex7GWrRnrdJ3KPMB+hmzZpNnz79o48+CvzTiRMnHri6P9X75MmTEydO/M9//lN6Xb3dJGYcxKHrOrVSPrQBfjx5NzoLSb4LfVbi5YaoHkK/vw+ZVnzxHHoI3hH8lh3v70VKTlD5YNQJxw2L0NEZQKtK2HAR3aPxzl7lX7l4p60I0Tm1APOSsG0oQzltP10InbILaW9Cr3zwio8RkoZKDp0SXmDBUcLsRt9aUnR+UijzAfqHH36IiYn54YcfHm11Xqr3Q3X1flje24Pqodic4Lxg1vVYpVjWV+joDGDZGUxsgYRadLaF+u9Z0IwI0RnA0HX4tAPqGazzzoT9cBJXXhdhLt0H7TB2CyZs15rU6B6Lic2FNgDAoXQMb4ggNRYcV5++gxYVQQn+rEshA0Uj24F5RzXZbqJBObSoJLQNEvejzAdodgpzWFgYAIqisrOzueU4Hggv1TsxMbHkXb0TExPPnj3rXyRJsqCggNvtmG357M+TPpWlndHWdSmbfnsv5nV2H02Xdap4908l6erNwmYGFimyr9msv/t19c40qxqEUpn5vmGbtR8+6/r8T5Xd7vJvJLCNNEmSNE0XKfL6f7Opxmy9Ko/HEx4efr9W1ulWooJe3STM/c1RVVoB+Wocfegq1TGaChxZ5OolF4ODg3mtrPF3bjeATBtxo0DzdSdXp6qkVqVwclpXe71ekiR5rb553vRvk2EYXvYd6002BVStVhfT1dtAyM/nyT//nbmUK/+xu73Xai3jddl9QAm6evthU7oDe7T7V3c6nYFdvf0WAvjsWVnjH7RGlaK8jmpZiW4a5vWPLUlX7xKKFotl9uzZ3GPVsGHDHj3EaIpTdijzAZolMzPzxRdfPHbsmEql2r1791tvvbVs2bKYmJgHrshL9U5KSip5V+/o6Ghujq/P59uxYwdXIUlSoVD4E2plBHHVonptt2Zpb+8Vs9LgJPyDvV6vQqHgZXV7PB6lUsmLxW63O1AkiEKbAuBfZK9e/2LX6sTis6p0s+r9Z5wyuaZ6yL2RBEEwDMPLWmbfBU9kGIa7R7/o369cLne5XNwB3PHBOsJDyRad1STnkD/3paYfUgRpCeXfE78Dt/zIotfr5Q5gGMb/Bk/dJibvVnzXg6xupAlCztsO67giRV56tM/nCxRZb7KRiKIonhlcC7vWwFt7lbXCmLcbW//vgLFjVWhUSr+1vBUR4E0WiqIoiuKJXG8qlUreprgW0gyWnVeMa0p1quiIDlNH6Ang3kiPx6NQKIo530ouKhSKJk2acI9VhQpidMQpUzwlAXrkyJH169dPTEysXbt2XFxcq1atxo4dy2s2WCS8VG9ebnfxqd5169atW/de+q3H41mwYIFafW+KGHtV+IsPNKiy8X8AACAASURBVKuEnqtUv/Zx2Cn1V0mKlQlQq+8ef7fbrVKpeDdiTqdTpVLxorbD4VCr1bwLRiaT+ffLBmj/Ihsg/IuNK2LCThiUzJzj2komxdc9of77cSNBEDRNc+33wxPZ6jw8kb0zZUWFQsHaWaSFFdW4ZsZth+ynrrZ96SFJmfiss9yfmMMdWeTqJRddLhd3AHvXr1arN13Gf09iyzCEaVVOJxm4HTYI8kSeN1k8Ho9KpeIFJtab7BnFFswq8lDQDN5OxCvNEKXHvgx1/7ry56rBX/ufpmme/QjwJgtb+Ygncr2pVCqdTid3gN9CksaYTWhZERNbwGxmjEZl4ElY/PlWclGv13fq1EmqxfFQPCUB+vDhw6tXr2ZL3igUinfffTc6OrokK/JSvTdt2lRKXb0v5OCPdLzfDj8lqyIMssXxqCL4HNscJxJ+w5J4NC9PBhZLEozvjqNOOJpVxEeHdA0rYt1gQdMmP/kd181YP1jk38F8NEZtQqtKmNAcDIOCAldoqFZgG9wkXliHHjXwSlOB9yxRUp6SAB0bG3v48OHnn3+eXTx69Gi1atVKsmJgqndpdPW+kIPRm7FqAKKDMbyWS6vVKgVP5c6yYdAaLOiBplEo/HBVUL47jqM3sbw/5ATyYu1hYcJl6flovLlLVSsSP8eL3JnFRWLYOvSvgxcbimaD3YvB6zEyDkPqi2aDxAN5SgL0119/nZCQ0KFDh/z8/ISEhEOHDq1YsUJso+7Cjc5ikWnDoDX4ticalxfNBvwdnX/uK8KcjRwnhq5Tj2jgG9ZY5HPe5iWGrcL45uhTSzQbrF5i1Cb5m63Rq7hCNRLiU+YDtMPh0Ov17du3v3z58pYtW+Li4qKior777rvy5UUNRX9zIZd4LRG/DRDhgYafLLtszE583wuNyolmA4DvxYjOXgrrLuJ8NnZcxbznfM3Ki9zYNNeJ4duM059Dx6qi2ZDjxNDNuk870p2qSbOdn3TKfIAOCQlp3rx5+/bt27dvn5CQwFYof0K4mCd7Y49i9UAxo3OaGSO26Zb0F7nz7OJzmrMFWCJsdGYIWY9fEBuGw+mI1OOOQ8znGhYPrB4MW4eP2zg7VhXnhHCRyLJixCZ89qy7bRXRiq5IlJwyH6D/+OOPpKSkI0eOrFq1Kj09vWnTpu3bt+/QoUObNm14jScEI90CDwUPiYm7NCv7k1WChc0M43CtAMM3yL7raq8TLsLn1i079qUhSI20Ahy/rVg5WOgnGz5lSHkDchxIGg25DF2XKXpV57cQE4DrTn3LRTCp8WcGPmiPxpEi2MAQsoFrcMuG8zloUxl1w0X+JiFRQsp8gG7evHnz5s1ff/11AHfu3ElKStqyZUvfvn3ZyaEl3MiMGTNq1649YMAAj8dTrlw5tj/LsGHDpkyZ8lC1OGgGg9aApOEh8cdNJA50Vw4SITqfzVG+sxQuHy7lYmk/JjZEhEpMZpiGrMXoxliSjMPpSBrmkAtSo46LV2VyeLF2EBQyACJ0ZmHZfKvSspfw/l6cGocJ29CtoiwsTGgbzKpKjaOQZcPpV7EvDd+cVH8saqd2iRIiRmOlUsDj8ezfv3/+/PnTp0//7bffunTpMnfu3JKsSFFU+/btP/nkE3YxNTU1Pj4+OTk5OTl56tSp+/fvZ2txJCQklGSD6Rb0jMX0jihwY1EfLDojwpRPmpDPTw76tCMIApuH4j8HCVKMSnk3UGXTENi90CkxpxtWXhS8pjKg8pkrGO/etp+9gwgd86A1Hj8eqHUy8sN9WDMIsaHoUwvJ2SLcFbnkpk2XsDIBMSYMqY/jt8r8ndm/hDLvpwULFuzatevgwYM1a9bs2rXr7Nmzn3nmmSKzLYpEJpPt3bvXX2spJSXl0qVLffv2ValUc+bM4ZXm4K3L6+Ht9XrNLrpSED12M7Eyga4chAV/EjTNv5FnGIam6UAx8H6fFXkZ1azISxzgrk4qgmqH+N7Zxfzan64SjMbliasFMlNQoY2zKRu8Pd5PDLT2fiL+TvVmGAaEfMUZOimTWNyHPp9NHL4mu98bLD1RR1liQ+n2Swi1HDol5nX2FG928W/wfo67nzdZH3kIzXWnflc/KlILisKFHFn/mCJOiRK6gz0fSug4v0hRFCNTzOhEVzQwFIUL2URFA0VRKOYsKvK9lGRkMaLP50tLS+Mm9YSGhppMJkjcnzIfoCdPnqxSqSZNmjR48OCGDRvy8u4eCEEQ3BzriIiIKVOmDBw4cNWqVRMnToyOji6mFsf69euPHj3qX6Qoiia9E7ZiQ4I9REafzpCV16mcTicvNYst6cCz86FqcRRfG0GtM+zL0Ox91R4qp+12ZFl1RoXXbi90F03TdGCdB4qiAitsFCPShQtistchW5HD4/FAod54iV4d73A5sOy0pmmk127n1zN9jGU3ihRNJtOourYRdeClCY2coSjK4+EHEZIkCYLgld3w+XwkSQaW3aAoylO4Zvb9vMkwDCuaNETPKra3dtA9qvmS78jzXbIGYR67vYh4F1h2o4S1OIocyXWcy+Wqo7nzf7uZ4fW8NINfLqh+6upwOgme2Wx38CJPQhTm0dzhcDjmzJnD3X7Lli1HjRoFiftT5gN0Xl7egQMH9uzZM3To0JycnM5/U8JEFR7+6v7x8fHTpk2Li4srphbHqFGjuKeXx+PZ0yY+wiBbdcWoVmDXNXzfxWEwGHi5rVarVavV8pKDLRaLwWDghfKCgoKgoCDeVZSfnx8UFBR4Ffl/EbU7XDVM5P4sY2s5dl5FuIGpGKzg/V7q8/kCMwm9Xq/H4+FNg/F4PD6fjy3A5MftdlMUpdfruaLL5QKg1WoBaDQate8mBcXLicH5LjxTGf1r2YOD+U9euWaXhpibm8sd4HK5GIbhtXhnawaxOah+7HZ7YKq3zWZTq9Ul9KZer2dTvWmX+RljWo/OymOZyiFxaFMZeXl8dzAMU1BQwBNpmrZYLDyRjXc8kQ2sxXjTYDBYczNPj5DvvKolCOwfCdol91vox2w2G43GIk/CYs63kosmk+nbb7+VUr0fijIfoIODg/v06dOnTx8AmZmZe/fu3bFjx4QJEypVqpSamvqwW5s1a5bRaBw/fnxSUlL9+vWLr8URSO1wbB2BQ+nwUnirFSi3CE9/9WTu/Pb5abpq266gSRT+rw3t5N8ACUFtXN73Mhw+KGVQyZGXJ4INTw51I1BX7H7YwWoMqnf3tUXqk1JGKPMBmiUnJ4edbPfnn38eP368SpUqHTp0eITtjB07dvTo0atWrdJoNAsXLoyJiXnYWhwK2b0cBJv7EUx4DChkeOHv/N0Sz2QpFQSuPS8h8ZRR5gP0yy+/fOTIkZSUlOrVq3fo0GHMmDHLly+vXLnyQ21kxowZ7IvQ0NANGzZw//RYanFISEhIPAJlPkArlcqPPvqoffv2DxuUJSQkJJ5wynyADixHJyEhIfF0UOYD9BPF7du3uVX09Hq91+vlTeEyGAwul4s32ctoNDqdTp4YFBRkt9t5s9mCg4OtVitv3ltwcLDl78bgVqs1MTHx0qVL7KJcLtfpdDabjTteLpdrtVrepCi2Gj1vThVb1t3pdHJFtVotk8nYaRt+2IkQbrcbwPHjx7OysriHgmuhYKLH4+HawLXQj1arpWmaN3lOp9MFzqgr0pt6vd7j8bCTC/1wvZmVlXXixIniDwVBEEFBQTxRJpMZDAar1coV5XK5Xq/niQqFQqPR8LypUCjUajXrzdTUVKvVyrXhoc43m80WKD6CO27fvg2Jh4TgXeoSj4zb7Y4qX6529ap+xRhscrucvsLTaYNMIQ6HjfIVuqSDQ0JtVgtd+IIxhYVbCvIYupCDQsIjCvJyUNhpoeER+bk57Otzl1JqxFTR/j1FTCaXG4OCLQX53PFypUKvN1rNBVxRqVJptDqbxcwVVWqNUqVy2ApFBLVWK5fLnYUjglavB+ByOABk3Lrt8XhrVK1SpIWCiecupjSoc6+epkanIwi4HIU+bHQGA0VRnsIfNnpjEOnzegqHcmNwsNvlCvSm02Ejed4MDbVZLTRJAbiQci0yLDQ8NKQ4swmEhEUUFBYJGWEKCSvIKzT7XiaXG4ODLfmFvalQ6I1Ga8F9vWm1O9Izb9Wvda89cHBoqN1qoUje+RZmKShgCsfikPCIgrxcFI4Sj+aOS1fT7mTnqEqcRCYB6Q76MUIQRMsmDXesmC+uGU26Ddu8ZF6lqAeUDSlV5vy4wmy1fzZ1nIg2AGjSbdiRLYvFtaHni29MeW14pzZi9Az/m+NnLsz8dsm6n74U0QYA3YZOFNeAsshTUotDQkJC4ulDCtBPCu0TXiEqNmP/dR/2uvAG9Bz+xqWr19nXs39Y7jeG/Xf4WLLA9ly6et0Q+6zAO91z6Fhcl6H6Gm3b9h391+W7iU5PlGtE3O+PK9ZXbdlbV71NhwGviGLPvxApQD8ppKVn/rFpcVrS5rSkzUvnfyrkrvcePjZ26ozEfX/6lbHD+rGWpCVtPrj+p7o1qzVtWEdIkyiKHvX2dHfhn+lKm1vZuf1GT3l/0qis0zs6PtNs0Lj3WP2Jco1Y+716PeP197/835wPU49srl+rxvj/mymwSf9OpGfQTwReny87t6Bl4/pyuQgfmafPX1arVDrtvXoUwUZDsPFu/Y0Pvly48Iv3tBpBf9v5ZvGqSlGRAt+1H0w6Vb9W9YHPPwfgw7fG/OfrxQUWq16nfaJcI9Z+9TqtRqMy6HV6nVarUYeGiNMS/t+GFKCfCNIzb2s16n6jp1y4ktqicb2vPpxUsbxwv/JNGTccwMYdvwf+KenUOa/X165VE8GMAXDtxs0flq/bvvzr9Yn7hNxvz05tOz7TjH2ddPJc1cpRpiDjtRs3n0zXCLzfqMjwWe+/0er5EQRBhJqCLh9aL7BJ/06kRxxPBDl5BdGVol57acDWZfPlcvngcf8ntkUAwDDM5E/nffjWGCF3StP02Ckz5nz8VpBR/+DRjxWjQRcZHsowzKadB4ZO+GDB9CkEQTyZrhGeS1evfzZv0Z+bFzuuHh41JH7kW4I+6vnXIt1BPxG0btowefev7OuFX7wXXLtDbr45PFTkWuYHk04rlYoGtWs8eOjjY9GvGyuUj+jVuW1uvvnBox83eQWWsVNnpGfe3rh4drNGdfGkukZ4tuw+2LNzm9ZNGwL47J1xwbU6WGx2/3MwiVJCuoN+IjiefOFg0in2tUqllMtkCoW8+FUEYMOO/cP69RB4p/v+OLF514Hw+p1rtu1PUXR4/c5Jp84Js2uP19v1hQl1YmOObl3KRmc8qa4RHoqiKepuDgvDgKL5vX4kSgMpQD8ReLze+JGTDyadyiuwTPviu3atmpiCROjDzYVhmI07fu/WobXA+/3u83cv/L42effK39f9KJPJknevbFy/ljC73rjjd4qixw7tm5F1+3pG1vWMLIqin0DXiELvLu02JO7fc+hYXoHlnRkLnm3R+N95HARGesTxRNCmeaOZ778+ZsqMO7l5ndu2WP7NdLEtwpkLKT4fWblCOYH3GxZytwGHRq0iCAiZEnnq3KUzF67EtOrjV3LO7XkCXSMK9WpVWzz3o4nvz8q6k9OhdbN/7XEQGClAPxEQBPHqi/1ffbG/iDbcPLmduxhXr2bmqUSxjAEQHmoi048JucdZ778x6/03AvUnzTVi7bd/z079e3YSxZJ/LdIjDgkJCYknFKma3WPD4/HUqhETGyNy34BrN25WrlBepRTzu9H1jFsqpaJCeZHb8N3Ozisfye9UKzBXUtOjIsONBt2Dh5YaFpsjN6+getVKItoAIC0966/LKWq10Ek3ZRtG4jHhdru7devGVaxWq8fj4Q2zWCxer5cnms1mkiR5Yn5+PkVRPDEvL4+maZ6Ym5vrfx0TE3P8+HH/IkmSZrOZN97r9VosFp7o8XjYStO8N2Wz2Xiiy+Wy2+080el0Op1O9vXs2bM7dux4PwsFE00mE89Ch8PBG+9wONhu31xsNpvb7eaJD+VNn8/Hvu7YsePs2bOLN5um6by8PJ5IUVR+fj5PLNKbPp+veG8eO3YsJibmfhb6KSgoKPIkLP58K7nYtWvXwAMoUTzSIw4JCQmJJxQpQEtISEg8oUgBWkJCQuIJRQrQEhISEk8oUoCWkJCQeEKRArSEhMSTgt1u79OnT/v27du0aZOWlubxeEwmU1xcXFxc3FdffcUwzIQJEzp16tSrV6/s7GyxjRUCKUBLSEg8KSxfvrx58+YHDhwYM2bMvHnzUlNT4+Pjk5OTk5OTp06dun///pycnH379iUkJMydO1dsY4VASvV+dHw+n91u9y96PB6apmlO13qGYXhK8SJBEIEib6cPHMn+yb/ITmLlbafkIjsZs4Sif78Mw8jl8sBDUeR7KT1RJpPxbPiHb/ChvFmMGSXZ3T90HFekabpId5T8JCz5mVmMSNN0QUGBSqXy/9VgMCiVSu74du3ahYSEAJDJZMHBwSkpKZcuXerbt69KpZozZ87hw4dbt24NoFWrVkuWLMG/AClAPzqLFy/eu3evf5Gm6fz8fIvF4ldIkvT5fC6Xi7sWSZIkScpkhb67+Hy+wMvA5/NZrVaeSJKk1WrlWUJRlH+/JpOJIAj/IsMwJElyrWJNpWm6SJGiqECRJMlA0efz8WwA4PF4ALhcrgoVKnC3z7VQMDE8PJxnAwCv18sbTxCE2+3miiRJer3eQMcFetPn8xXpTYqiWJFSGAzBIQ88FIE+Yv7OQPl/9s47vooq7eO/mdvvzU2FEGoIRaSHDoI0FRCUABGEAAoCK0LsyCrruquiKyJY1hdcBRREDL1XISDN0FF6CS0QQkhye5n+/jHsdTI3JMElM2Dm+8kfd56cmfPMOWeee+6Z8zyPTBh+eolCaW/6fL6qVatKC9xuvHk8njsdb+UXut3u9PR06fUfeeSR559/Xlq+adOmAFJTU7dv337w4MEbN25MmjRp8ODBGRkZ6enpiYmJzZo1A5CYmFhQUIDKwN3xd9HQPAk1T8L/4nQ6fUHGSwu7LgtxTXpMm655EgpC+TwJXS6XqFhmZmavXr1Ccr/fn5SU9M4778ycOVMQhBMnTnTu3Ln0S/050GbQfzYYHrwWXkU9BAFTfjb/VqAjSRy7gUZx0BFln6UhMnXq1MaNG48ePdpsNtM0PW3aNLvdPmHChKysrGbNmnXt2nXOnDkADh482KVLF7WVVQLNQP8ZoDnsyYEggCRR4AMnXwlUgUr7HbH4BCJNyEjlhq3QL3oKo35QWyFg9xW4KbWVKB+vvvrqyJEj58yZw7Ls7Nmz69atO2bMmIyMDLPZPHv27KSkpNWrV/fr10+v18+dO1dtZZVAM9D3PTd86L8y6pH6uOHDspOIs8KgdkqmdWeR71NZB7XIuoon67HDVxo/fxytEkCxZZ9SEdAcvj9uOOWEl0b2GdhN6qgR4ooLB3NRZujM6tWrb926VSpZuXKl9PCLL76467rdy2gG+r7nw134W0d/y8TItOWYm4Jxn6ujRp6P+Hy/Ps+Pqx6YSVRTOiX3vUKdKLy1w/z3rnyrBJ0jCFKl9Y1n1+gfqkHXjsSSEzCwUEULlseHWdaDN+Gj4QyiaTwIbbXnDtH2Qd/3nC1E3Sj+6aWY0x8DGoFRY33Dx2DEamOf+lysFbEWFPhV0OEe4YoLN/3EmUJi/q9I+RF11Uj/fc0DAwmbAQdysXcMakeB5so+664zbQ+qR/AfPQqbET2S7ptllnsKzUDf9zxYBU+vtX/ZF02rYttFGNVY39h9Bb2SuN05ukgj1gwFw4G9B9bBlef/DkAA9j/jaRArGEgsGYwoNdYWXEHkeontl3UZT8GoQ6RRnffG2y8i0c69nYmVT+PtrrhZWVe9/he0JY77myCL327AQAhzDmPOYZwtRLQaCStYHnuvkUlRwuwnAUBPqv+S8JoHQWXXf9eexfaLWDIYHjeeaCjo1Xu2tl3EqQLi46doHWG44MD+XJjU+Np2BjHrqGXtCEQYcb4I+nLMBr1eb1pamsvlYll24cKFdevWTU9PP3XqlMVi+fbbb6tWrSo9jI9XLqGwWmgz6PsYlsew5RjbGtuHul7uiJc7IvNZdRY9D17DsXxyQhuWIPDTBfCAQaWRdd1Hfv8bPt6DARmKviz99Qa+2IfvB6m26Bzii304lIvMkcwHe0095uOljXiriwqLv/OOwGqAjhQO5mLjeUzagtpRZZ8lc/WW+XZrrt4a9w2CgOdW47F6GNYMhYVoWkU1TabvRa4XPw2j/vWLId+P5AQMa4qtV1XQZHM2pu+KSIrDz5eQFKvcBuSrbrywDsufhkXt5+mzLPx2A/NSwDLCov5Bu90O4MABpdWY+QuO5SPzWew6G1h/zmjSYcFAPJ9R9okyV2+Zb7fVatVcvTXKy4wZMzZt2hQ65Hne6XQWFRWFJCzLUhQl8wMW3YjDhSzLhrveOp1OWaUMwzgcDgDv7bVWMwlD6weKisAwTKjeuLg4kiRDh8J/fdKkFym/A7foRSZzjxaFolf33N9MB28Y/u9RLwT+s24Q7+v/svxJSUnSSqUaVpzw/e32OnZWYLjdw/zzT5gvVkuQFhDVlnl1i5Ei/P5irzVF722fzycTltibDh8zYn3kjO5+E82JtUl7MyIiIj4+/g80hSAILMuGC8N7UxSyLPvpQct1Hzm9q8/pKNabbre7Zs2aspEZPt5EN8XwQSiOt9K1lQrf22sNsvjkYb/bicbRdMt4DgB4uFyuvn37Sq/fp0+f119/XXoRmav3Z599JvXtLigoqGyu3pqB/uO8/vrr0uFFUVRKSkpsbGxI4vF4TCaTNDoMALfbbbFYZDFiXC5XRESETlfsN7nD4YiKipJZhKKiopiYmBm/ENBjeh8AFgCFhYWhekVf8NAhx3FerzcqqtjPSzGmRGRkpFRI0zRFUeKcS3pTDMNERERIhcFgkOM4m832n0M4WoRFQ6AjYsUgFRaLBYDVar148aK0KaQaVpDQGcTpIqQ+QL/a1QaY2ybinWt50gKiS7fVWizBtt/vJ0nSbC62cu/1eg0Gg8lU7AWftDcP5uLv20GxsOsZH6d/uwfRqf7vLexyuWw2m16vFy+Vn59felMIguBwOGRCMViKOJ0MIevNAItzhTDruASz74ujkU4O3wwAQZhQvDcjIyOvXbsmvb5Uw98b0Om02+3hg1CM7iIVym4h2wEfjTiyKDom9qWNqBKBf3YHYJaVjIqKWrt2rexxkOF2u61W6/Lly7dv3/7CCy907Njx8uXLAC5fvhwbGxsTEyM9LOU6fxo0A31/4Axi7hE4AmgRY3BfwqHr+GGQCmqsOIVD1xFr1I1sxq38DVuykfHUPeHKfLoAz6xEg1h0qXXrF8CKU+V6K/UHcATx6mYsG4JqNgz6EVcc6FWvQioqnWP5GLsGnWoh10OezLf1rI8v+ii91swJGLECgoCECOy8FFkrCp3r4K+d//gFZa7eMt9uzdVb417Ex6DvD5jYHg/VxuTN5iKKODpehZdRb2fCQ2NYMxy5hq4LLY2qYOlg1V4GStl6Af/YgUWp0JEYsdRWZT9u+vB4w4oy0Puu4okHUM2Gz/chMUqIMAmXXYTy+50n/4Qlg5EYhclbhCtOdKihwpvARcfQohre6oIgi77fCxedWDPsf7qgzNU7OTlZ6tsdGxuruXpr3HOsOo1nWmJ4c+y8DBKIMatgFjkBu69gxygAOF8AQcC41ursud5xCV8dBCcgtb5xaBym7cGOS1iXhhgzAKwZ5DbZ40x6GEhU0Gv+KDMcAaw6jYO5+LJncOT6iCg1tjYGWSRG4a9boSfxQdfg1qsq+G6eyMfAxvDQeGoJ0hpTP5wxlH1OqYS7est8uyubq/c9MP/RKIubPlS34/B1TP4Jcx/3mvTgFN9m7KVv7bBecwYLftNNbMMUBco6pwLIvIgv9+PLvpjTHyvPGXsthCPwu3UWiTBW7BdYuxrYdQVvZ2JyZ3x52FgtoljtimE1YMIGmHR4rzuflatrpsae4Kbx2HoBTyzCSx3wUE3G+r/aZw05moG+D+iRhM+yMG4tlj+N04W6SJMKy75RJnhp/Hs/vtyPr/vRy0/ruyYqrQOA+b/i0z6oYgXN4aqHvOHFR48q3RrXPCCAkS3x9SFUswlf9lHBjVoQEG3GujPQkZiwgdyfqxvaTHkt0DURM39BjBkHczF6o31qTxV0+HOjLXHcB8TbcM0DuxHPrISNNH89QIAa0W+ea4VXNqNJVaStNE7qQNeNVmGBg+NBACduYuwaTGobmHdS6TmbM4jhyzGnPx6sAgBuN0MSSj9EgoAJG9CiGub0x5HriDIKtS0BHaF0U2Q7kLYcW0bCaoAjgLGN3TXjK8XOCiXRDPS9jiOI1MX4YRDa1QCAoiJvjC2mrJPuPjsu4etDOPciokwIBmlZZizFGNYcQ5aC4TGnPz7aYRqm7LSR5fHMSnz4yC3rrAq8gPHr0SAWbzwEAA/VBssKfsWjUx3Lx5jVWDDw96YoLFTdvf9PiLbEcU/jYzAwA1N73rLOarHzMv6xA6uGqhP6R8rxfAhAVSvezkT3OsyIForW/uJmfVpzqLK2I8ILeGWb5YG4W9ZZLQ7m6cetwdIhd/+LiqKo0aNH9+zZs3Xr1vv376coKjo6Ojk5OTk5efr06YIgTJw4sWfPnv369cvPz7/Ldd+TaDPoexeWx6gVxCsd0TNJTTUO5emm7MTqoeqEYQoRYDF2DRrGYu9zt/aTFRZSQERZ5901PjtgTLAJCi/1LjqG2QfB8hjcBC91wKjVZJt4+rVOiuoAwM/ghg/VI2DWY+sF/GOPbfXwCgn5vWXLloiIiMzMzEOHDqWnp8+bNy8lJWX+/PnifzMzM8VYHPPmzZs5c+ZHH3109zW4x9AM9B9n165dp06dCh2KiZmlTsNi+kuZRzXLssFgUOZRzbJsIBCQOg3ye4nVCQAAIABJREFUAib+ZH0kke5Vh5P+gOU4zu/3yzy7RKH42Wq1EgQROhRdumWuzKJncLh/c7jwwDVh8nbTkkEBK37/HX27nNAABEEQP8fExEgvJdXwDwive4T0NdyoFuyQxlworXaZp9vt9vDukJWnaZogCNHhW1pSluB8ySn9iZv4Tx+f31/skSmlN0WXPKPRGBERUXpTiL7a4cKN2boNl9hVqbSBxId7De2/1o1qwQxv5Pf7i91FiV0s7c1gMBgVFSUtINVQJpR5rnIc980B5rvf9A1j+TOFZJfa3IFc8vvHHXbCJmv7MrvD4/HMmTNH6r7YuHHjhx9+WFq+Vq1a6enpAOLi4giCOHfu3OnTpwcMGGA0GmfMmCELzYFKgGag/zgmk0nqicswDEEQ0vEtHspGPEEQsmIllpy01VA/mhrXiiCIEkrKjKP0gqKtCVdDWl40rzKheFmSJAsDhIEUIk04fpN462f99094q0WYpK8lSZIUBCH8FkL1iiavdB1KER66of/XHj3NoW11/rUObLaTfGFD9Od9uA41BOmiXJnXDNdB1jK4fR95GPLDnaaTBURVq9CrHr/8tO67Pi6dzhBeY4mnS4VlNoUgCCUK12Xr3unO2YwkyyPbSQY4YmwyFwyW6/RQb4qfOY4rz8gMF+YHdItP6bcNpwkC3/6mm7Jdf/x5ysjIm7HE+woXxsTESA20zJkeQKtWrQAcOHBg/PjxU6dOjY6OnjRp0uDBgzMyMtLT0xMTE7VYHBrlpX379u3btw8dUhS1YMECaVQHhmGMRqMs+ABN0yaTSRaLg6Iok8nkonWXnKgdhTmHYTZgcnvKZJLH4vD7/WazWWagfT5fqN5gMCgIQuiQ4ziGYWSxJsQZokxI07QziOdWmy16BFjoSVxx4ccBdLxZJysJIDx+hTg5FYV6vd7lckkLSDUsXZidH/jbDuOiVNSKxJIT5NOr9IKAhU84mtWRvxot85qyAmIee9kpovWUCVmWnfSTJbWp7v+ewK4reGKRbt9YWE36EnvTaDSW2JuiJaJpWuyyUtQWBCEQCIQrZjUyHGnSGTFqBXrWg5+FyWQK702WZTmOC+/N0M0ajUav1ystINUwRDAYNJlMsmn1WQfbI4mwWMyfZWFvDoa3QCFlrqkvb29KhXa7PTU1tfRYHIIgvP3227t27Zo3b17Lli1D8pSUlClTpiQnJ2uxODTUYeExYs4RdKiJtWcRa8He5xAWya7CeX+P6ZWO6JaIUwXo9wOea4WadqH4z/cKJ/OKYVwb1IqEIODwdZwqwOl0cF5FE7QwPAoCxFNN4Aji7Uz8vSv2XcMgxQNujGhCvbLZBAH9G2HXZfyljdIKAEiK4hadId7cipt+LEpF74VIigHtqajqli5dmp2dnZmZKX55TJs2zW63T5gwISsrq1mzZlosDg118DHEfw4RO0dj5WmcKUSQRa4X1rLPu8ucKiS7JSLbgVGr8P0gzFY8jjAAPQmKhZ/Bc6vRqjqaxMFuhMJfVQTAcKA4DF2GD3ri5E11AkI9GMezHAwkfs3DX9qge10ov7mxtp3PceHETUxoi2HLMbgJ7EYUVlh1W7ZsycrKatu2LYDatWvPnz9/zJgxGRkZZrN59uzZSUlJWiwODRW44CTb10TmRXx1EOvSMGMvThegteLxd2LNws4rmLwFCwfhXCGSVNhvjUfq0EPX4/N9eLkjCnxoHK+CcdSTaBgjdJyDie3BC5h3BOuHA8om0AqyGL3B9kJbDGmqaL1SWB4TfrKlPCgMakycKsAnvZBYjqwo/wviBFnKypUrpYeVLRaHZqDvCepF87uu4PB1rE2DRY991zC6ldIWAcBzLel+P+gntsfi4/jpAlY8rbQCAC67dQCaxWPbBXSshc/6qKADgAS7UMOPbRfwax4WD0acBZ4K+10fToDFkGXE0Mb0kKaqhbcIskhbjk4J7KTOBoLAA3FqKVKp0Qz0PcE1D1HoJ6Ji8OV+7L+Gh+ugph1hiSwqluteYuoe04bhuOaGSY9JD8GsB0UpqsOCX/HVfuv64aiu3P7mEvjxpP6Gj1ifpk7tXhqpS/Bie3SuSgMqxKgDbgWoG9kC/WpTYlIIDVXQDLT6XHHh+c3WLSO4GKvu1E2MaYUExc1TnhdPr9B/+oi/cx11LAIvYMo25HmxfICneoSaL+gzL2L5GcOyp1hAhWAjHhqpi/FKR/SpL7hcilbtZQgLD50OhQEMWozXO6F/I6VnCRoyNAOtMkUBpC3Hl48F6sdYdDpUVcONuMCPp5bgk0fZFnHKbZbIuoqsi+amNfFYPbgpDF+BR+vho0dVDulwphDv/Ywf+wcNpHKPhiOIk4W69lGguFuWsU8D8AruWzldgL+shV1vLQiSfRpiSzY+fAQ96iqnQAiKosaPH3/58mWn0/nVV1+1a9cuPT391KlTFovl22+/rVq1qvQwPl6NEKvKohloNfHSGLgYU3uiaYw6sYcAFAUwcDGm90KbeEGxBY1/7kC2A12rC+vP4quDyPfhrS7o21Ch2m9Hvg+jV2FRKux65b4kPtqNvTlEbZvprd0IsvigJ3rVV6zyW7y4EQsHIVLw5bP2zt/qpj2mjnVGmKv3Bx98IPXt7tWrl+bqrVFeKIqS+rZSFMVxnNRpWBAEMbmy9KyQkOKQuph4rSO61hHcbiHceVosKatUFJZSUvxX6FBMZS27TkjoCGLgYvKDHnyHGqDpEkqKzh3lFIbqFQRBp9OFN4X42UNjxyUi8xmhqChY3219ejk5qy/fp/6tOWMpd32nQpIkZTqUci9BFiNWEJ/3EepEwucruWQpvXk7oehKd7umOJKHMwXEyiH8xTz/qM1mmsOjSbf+WXrH3ZGQ5/kSu0OUsDx4nqhlF7IukC9uI9/pJjgD4HlBWrL8I7MUIc/zDodD6qhitVplzoQyV2+Zb7fVatVcvTXKy5w5c37++efQIc/zRUVFLsnCIcuyYv7sWwUE/HjKtD7bEmMWJrb2fnbQPKA+07Ua7XLdNrqF2+2WCVmWdbvdMk04jgvVGxMTQxBE6FAMBiLVykMTy84YvJSufU3fh79YXmvnbx7FuFwQn1hZHFFRKAsnIgplASjEEymKAhAIBGrUqCGtVKphtpNMjDC7XP6FJ4xrL3BjW9ACzbpcTHjJEk8vv7BKlSoyHQDQNC0rTxCEPxD8y2bbc03pBlbG5QLLsjRNhzpORNabIgzDsCwr8/ZkGCbkWm2z2WJiYm7XFL9cNHWoJlzKZ0auj/h7Z8+sI+Yr+b4okwBAEASGYWQ3KEbtKI9Q2ps+n69q1arSArLxFqDtm08Fpuy0znvcteqcqUEMF+qOMsdb+YUejyc9PV06nrt16zZx4kRpeZmr98aNG6W+3QUFBZqrt0Z5mThxonR4URSVkpIijc7h8XhMJlNoyvDBLvgZfP6Yx81ZUpZEpjXHCw8Zxdf0LpcrIiIiPON9VJTc1buoqCg6OlpmtQsLC0P1FhUVCYIQOuQ4zuv1RkXd2r9aFMDg5XiuJRdnpYavs05shwEtbr2RpGmaoii73S69MkVRDMNERBR7axkMBjmOs9mKvU4ULZfFYgFgtVpzcnKkTSHVsFU0zm3HqztNLE2tGm4YmGF4tQtibCWULPH08gvz8/OlBQKBgCAIVustB6Agi/HrkF3Eszw4gRzcBENb3+opr9drMBhkkztZb4q43W6LxSJz9Xa5XDabTfSF83q9Mj2lhy1r49sj+PEM3uns7t4o8t1fUDfh1u53nuddLpfsBmW9KSIGRYqMjJQKpb1pt9vz8vKkl5JqCKBPIwxfZ5/SKbDqYuQJB/mOJEmNw+EofbyVXxgVFfXDDz/ckat3VlaW1Lc7Jiamsrl6a/GgleOnbEztgQSbsPYs0ak2YtXYvPT9b3i5A4Y14xedNM7tj11XVNDBQwECsnLgDBL9fsAL7RCvxs6RqTvRqz42Dw2mNeVMOljU2HD8YBVsOg+jDruvGnp9jykPl33KXWfVaWy7gO2jYDMInWtj6WB13CZFQq7eYiCOrl277t+/H//17ZYdqqalgmgzaOUgCRAEZh8x5riJF9rgl6sq6HDDi+QEDF2hH9k0MOBB/ef7lFbgdAGeWYmpPdGrPnJueGtXU20elHUV7/bAxtO6bZfIZU9j4nqkty/7rLvIdS8GL8HaNJh0woUb7EtdKiTCcunM/xWLjmF9GiKMSDTRdruJUM86I8zVe/Xq1VLf7tjYWM3VW6Oi6FgLo1fD6dP9uy83bj05s7cKOnSri2dW4qOefL+67PZLSFLWm3zbRbyzHT+komEsAFgV3CwRThUrtl3EtF8MK56iL7l0NSPLPuUukuvB4KX4si9aJUAQUEPPxCpunT/fh58vYc0wmFTY8F0y4a7eMt9uzdVbo6LoXAevbkKtCOLFTeQ/uqGx4nntGB7fHEKn2piZRc4+YI22Yl6KcrV/vg+bzmNdGmJUzcwSYnw7DPgRH3RnN2br5hzFwkHKVX3NgyFL8X99kZygXKUy3ttJni3C4sEwaMuc9zCagVaIvTn41y4c/AtA+S0Wi0Hxx4LlMXw5+j2A0clgGDYQCMheK1UcDI/XttuqR2Ndmprrm1J8DN7dgWVDcDIPPhprhimX0OuKm5yYibkpKnxDiwgC/rnb7OXwQ+q90h0at0Mz0Epw8iYmbcHqYYg0wa1sdAsRXsCYNehVH6OTlas0yOJcEfwMpmzDk0ncK2q8ASsRTsDw5ZjcGY/Ww0MJLEmSZrNCrwgvOPD8FvuCVBXyghf4seIUBAFZVxFlwKzHeR2hTZ7vdbQeqnAuu/DsKiwchKrKB3gGAPACxq5B6+oY21q5Sv2wPvY9pu3BE4tAEBj2YFC5usviza3o2xCPN1CuxmserD6DzdkYvgL/ftSrvHVmSMugxYgyY8Fv+PkyRjWn1X0ZWDpTp05dtmwZAC2rt2agK5Z8PzFkKealoJ4asZUBCAJe3mppXg0vd1C03mzUf7YlsouwbyyefAAZp+XZ59Ti/w6A5RXNTnLIGTtxPY5exzMr0TweDaJVcOt3GWv9uy8W/oaRLbB6GD4/eK90hwyO47p16/bPf/5TPLxw4UJKSsrRo0ePHj36xhtvbN++XXT1Tk1NnTlzpqqaKoRmoCsQL0MMX6n7vA+aKx7UJduBbReR48ZrP5G17PyrHZVWwA/L8lNYn4Z6MeheF6cK74nFtA3Zuu0XMaOXcjUKILIKq7zfE5uzsW8sOAEnClTYM8GSplc2Ia05xrdFUjSue+/RB58kyW3btk2ePFk8DGX1HjJkSE5OjtTze+/evapqqhD3xGNznzJjxoxNmzaFDnmedzqdRUVF4iHFIW1txPMtvA9Y2f/KANxyI5b5B7Isy7JsuKu3MywvIcMwjrAQkAzDhOqNi4ubeyLi0kmmTQI7aqXpwVjuh77uoiK/tHz5HbjFkA4y92hRSBUPrSSGXBD9Cf1+v9Fg+KizEwG+KIAtp0wPRLMyHWRqV4QwISFBWuC3fPLf+60/9nc4Hb9v7xPVlsZUASB6b/t8PpmQoqjwjiu9N/W2mBibbsxK9ps+3kiefzDKfLYQzcpxL6KPfriQ47gShaX0ptvt1hkt9exU7xq+oiLMO2bqmCC4XFR4FAGn0xk+CEsfb+UXulyuvn37Sq/fp0+f119/XVqeIAi9Xh9qz6pVq2pZvTX+IK+//rp0eImu3ie9sXOPgOGRXYgxLYJPtTCX0zm4/K7eYrQNqbCwsDDk+XrD4T1RaNj5muGNnwwjWmLXZYIhzfGxxTZsiDElSnEOlt7UH3P1bsTse+Xn6G6JuOlHUQCfdS2MjZXn5JCqXRHCvLy80OccN97cxf84gKpRtdhik9/vD8/qfTddvX3BE4XGg5P1zapGA9hzHW+3p2VqC4LgcDhkwrvo6h0ZGRnr/o00mFJWmwQBzath6kOuKHuULKu30+m02+3hg7BEV+8/0B1RUVFr164t3dVbhjhfhpbVW+Ou4Azio92Y2Rvv/QwB0KnxO5IhLM3jmPd3ggD+9Qhe2ojLLrKm4m+lrPBvGI4jeYgyoUlVFFZcntFS+SwLPx6HWYcTN/HjAKaaTWnXGB5Eaq2cv6xB46o4V4ihzZAUpcIatI6nvnny90OFUwH8YbSs3pqBvpvkevBtL3z/G2pH4esnkbJIP7yFgnHXAQBG3r/2gvnJqvjycTA8Dl/H3zoorYOIWY9OtVSp+RasPuLwdewcjcFL8HZXzD6s71xLaeNog691VNG8UbjuQRUrIoyqfVfdj4wbN07L6q1x1xCAhb/hpg//eQKsAF4NT+aAPireJJwpxBs/4dB1TGwnmHVqelSrCKuPGN0KL21EyoMY0worTqq2s8ykQ13Fc7Tfv0ydOlX8EBsbq2X11rhrmHWYfxTHJ4ITMGUbBj7AKr9Pxsy65j5W2KRl0iUn3usBEyl4vQqrcK9A8sw3h1AnCmNageJwL+/81dAokXt0t819ilmPLx7HyBXo/yOaVMWzzZmyz7nb6AVaR8BuRPN4WNUIoXnvQIDfehF1o7H+HFIXY1wyW/Y5Ghr3EtoM+m5SMxKDGmNQ41uHHo+q2lR6ONJ0ciK2nEd2Eab3Ql0bJ1TSxR6N+xVC0MbsXYKiqJjoaHGfmUiVqlW8Xm8wUMzLOT4+3uVyUlSxncUJCQmFhQUMU2yKV6NGjRs38jiu2Cu+mrVq5V67Juu1WrVrX83JET97PB6rxazT39osZdAb4qpUzcvLlZY3GU1R0TH5+XlSodlsiYiwFxQU86C1Wm1mi6WosNie04iISL1B73QU2/QaFRktQHC7XQACQYplWOmOPamGigndbndk5O8bBCMjowiCcLmKbS2Pjo7lONbjKZbVKTY2jqIon6/Y2lCVKvE+nzcQKLZjOj6+msvloqhiXVwtoXpRYSHD0AD8/gBJ6szm3/eW1aqdeDXnsrQ8QZA1a9a6erVY9gQdqauWUD03t1jUcL3eUCWsN41GU3RMTP6NsN602wtu5gNgWc7r80dLNudVS0goKiyU7XmvXqN6fn4+xxZ7j1qzVq3rudd4Pmy8Xc1BcctRZncEAgGH02Ey3RvBDO8TtBn03aRrp7abFn6mrg590tLnzHinVnU1M9LP+M9Cp9v7/hvjVdQBQOeU5/asnqeuDs+99u6I1L49O7dTUYcDv5786Mvvln/zsYo6AOidlk5Aew9wZ2hr0BoaGhr3KJqBVpmtu/YnP5Zma9Cly4AxJ85cEIUrN25/sGtqbJOez7z8js8fKP0Kd4u+I186ff5S6PDgrydb9x4e07jH6FffDQQrPEZqie1QolABZE2hsBrh1QmC8I9P/lOjVR9r/c4PDxx78qxyTfHJV98TNdtK/3bvP6pY7RqagVaT6/kFA8dM+tvLz+Ue2dTjobZDxr8J4PT5S8+99t5X06ac3b3C6wv8bdqsilZj2+79496YujHz9+gzLMs99Ze/Tnh28PHti3Nyb3z69Q8VqkCJ7VCisKIJbwqF1Sixusw9B75bsnbbktmX9697oF6dSe8rt4w2bvjAi1lrxL+dK75p8kC9Ni0al32axl1CM9BqsjPrcLNG9Qc/8WiUPeLvr449de6iw+Vet3XXgD7du3dqUyU2+l9vpS9cvqGi1Thy/IzJaLRafn9783PWIYvZNDZtQM2E+LdfGfPdknUVqkCJ7VCisELVQElNobAaJVZXr06tZV9//GCDukajISG+SnyccmEoouwRdWvXEP/+s3DF7H+9aTHfo6FK/5RoLwnVpG/PLj0eait+zjp0rG7t6tGRdopm9P/dg2E0GAodLp8/YLNabn+Z/5VJ40cCWLVpR0hyKed68wdvBbRv/mCDy1evC4JAVJinR4ntUKKwghQIEd4UCqtRYnUxUZFJdWosXrNl6AtTqsRGH9iwoOIUuB1Zh4/RNNO1o4JJHzS0GbS62COs8VViBUFYvfnntIlvf/7eJIIgHuvaYfn6zANHTxY6XG9++G8A/oDS6UgKipz2iFsJYCLtNpphPF55sNC7SIntUKKw4nS4I91Uqe7p/r1853ePGvLk6FffrTgFSkQQhNff/fTvr45VuF4NbQatMoUO17g3pl65lrdq3idtWzYB0D656YdvTRw4ZhLLsS89N3T5hm2x0VFlXufuEhNl9/puvZx0e3x6vS7CVoFTeJTUDrcTKo/CaoRXd/bCFbPJWKdmgtVifjN9VI1WfSiaNt1J3M7/kZ1ZRwwGfehHlYZiaDNoNaFoutewiY0bJu1bNz/05Hu8/icfe/jqoQ15R7f06Ny2ScN6OsXjltZLrHXibLb4+dS5i3Vr1ZCFpb67lNgOJQqVR2E1Sqxu1aYdM//7ntYfCJIkodcpOrVauWn78IGPK1mjhohmoNVk1aYdHMePSxuQk5t3KSf3Uk4ux/FXr99o9HDq7v1Hr1zLe/PDL1949inlFeveqY3D6Vm2fpvX558+e8GI1Ip9OEtshxKFFapG+XVTuLqendv+uGrz/qMnCoqcb0+b1b9XNyW/swVBWLVpR+/unRSrUSOEtsShJoePnf715Nmkjv1DkpvHtjZumDTtby8OGvuG0WAYN3zA+JGpyium1+tWfztj7KSpz0/+oH+vbm+mj6rQ6kpshxKFVWKVjtqpsBolVte2ZZOPpqSPfvXda9fze3fv9H8f/rWCai+RX0+eYxi2do1qSlaqIaLF4rhrUBSV8vijmqs3NFdvCZqrd4jeaelrN+8wmrRdeneAtsShoaGhcY+iLXHcNQRBuJRz9euFK9RVg6KZH1ZsjImq8C3DpbAr6wjL86o3hc8fUF0Hh8uzfuvu8xflYd6UJPvKtYtXclVviqvX88supFEczUDfNQiCSKhW7abv9yUjlmV1OpIgiv1Mub1QF57xXpYuGgDD0AaDfH+VVMhwXIGXYfW31BAEgeM4Wf5mQeA5ji+PkOd5QeB1unChIEv/zHEcgFtCvYnx+6RNUabaFSGMsFmlOhTTUCIkCEK2R4XjWIIgZcI77M1bQrcvWOSl/2hTyAfAH+tNP6s3GAxljkyGYfR6/V0ZhCUK6yXV1bLa3DGCxl0iGAz27t1bKnG73RRFyYq5XC6apmVCp9PJsqxMWFRUxHGcTFhYWCjaRykFBQWhz0lJSQcOHAgdsizrdDpl5WmadrlcMiFFUW63O/ymPB6PTBgIBLxer0zo9/v9fr/4+ZNPPunRo8ftNFRMGB0dLdPQ5/PJyvt8vkAgIBN6PJ5gMCgT3lFvMgwjfu7Ro8cnn3xSuto8zxcWFsqEHMcVFRXJhCX2JsMwpffm/v37k5KSbqdhCIfDUeIgLH28lV/Yq1ev8AbUKB1tDVpDQ0PjHkUz0BoaGhr3KJqB1tDQ0LhH0Qy0hoaGxj1KZTfQXq+3f//+3bp169y588WLFymKio6OTk5OTk5Onj59uiAIEydO7NmzZ79+/fLztU1CGhoailLZDfT333/frl27n3/+eezYsZ9++umFCxdSUlKOHj169OjRN954Y/v27Tdv3szMzExNTZ05c6baympoaFQuKvs+6K5du8bExAAgSTIqKurcuXOnT58eMGCA0WicMWPG7t27O3XqBKBjx47fffedyrpqaGhUMiq7gW7atCmA1NTU7du3Hzx48MaNG5MmTRo8eHBGRkZ6enpiYmKzZs0AJCYmFhQUyM6dNWvWjh07Qoc8zxcUFDgcjpCEZVmapsP9HRiGkQkZhhE9JqRCmqadTme444DT6ZRpwrJsqN7Y2FiCIEKHgiBI/xtSlef5EoUsy4YLGYYJF9I0LRWKbiDBYBCA3++vXbu2rClk1SkgjI+PlxYQNaSoYglwxWYPBAKyi1AU5ff7ZcLw3mQYpsTeZFlWFNpstri4uDKbgmEYmVAQhBKFHMeVRyjtTY/Hk5CQIC1Q4ngT91Pf6Xgrv9DpdA4fPlx6/e7du0+YMAEat6eyG2i32221WpcvX759+/YXXnhh8+bNojwlJWXKlCnJycmXL18GcPny5dhYeSK40aNHDxs2LHRIUdTIkSOjon4Pru/1eo1Go7F4YHWPx2M2m2XeWW6322azyZzcnE5nZGSk7OF3OByRkZGyp6ioqChUr8PhEAQhdMhxnM/ni4yMlJZnGCYYDNrtxdzBaZqmaToiIkImZBjGZrNJhRRFcRxntVqlQtE0m81mABaLJTc3V9oUUg0VExYUFEgLiL4nFkuxzAOBQIAkSVPxCD4+n89gMMg67o5602q13vLi8/sdDkfpTSEIgtPplAl5nne73TJhib3JsmwgECilN202282bN6WXkmoYwuVyRURElDgISxlv5RdGRkZ++eWX0gYUR4tGKVR2Az116tTGjRuPHj3abDbTND1t2jS73T5hwoSsrKxmzZp17dp1zpw5AA4ePNilSxfZuRaLRfq0UxSl0+mk9lT0IZZZ2LsilD0wUmdlQRAASA/DXZnFK5RHSBBE+YWhegmC4DguvClQnIoW8jwv0wGSlvkDN/gHOk4QhHA1ZOVL7KPylyyzN0mSLLE77sp4K7+QJMmYmBijgolg/gRUdgP96quvjhw5cs6cOSzLzp49u27dumPGjMnIyDCbzbNnz05KSlq9enW/fv30ev3cuXPVVlZDQ6NyUdkNdPXq1bdu3SqVrFy5Unr4xRdfKKuRhoaGxi0q+zY7DQ0NjXuWyj6D1tC462y6aJh1REdx6F0fx/LRKVD2KZUBRwBa+qY7RTPQGhp3k1+uYuFxw6qnOaNB3/4bEECspeyzKhROAKtCut1ifJqFXI8WDvqO0ZY4NP5sXPciwGLnZfiYsgvfdVadxqvtKAIYmIGPHwPDqaCDCC/gqhteGn/bBootu3xFKDDrqOWRBWj4BbZfQlM102Ter1T2GbTX601LS3O5XCzLLly4sG7duunp6adOnbJYLN9++23VqlWlh/Hx2hArFzluOIMq1HvRiedWRybG4tc8+FlY5ZlAlMDhX5x/AAAgAElEQVSih4MiBy/TvdIJjzdQbc6YeYn8YJe1Tgw2nMOQOFxUY2/b7IO46SMaxaFjLZwvwnVtqefOqewzaFksDlnwjfsxFoefAavGrO2ik3hhk7H3QgxdjuUnYVHDOL6yCZ/08HVNRMM49GkATo3f9YMaY+wGS7+GQqM4TNyA+IiyT7nrBFlM3a37olcgx4WNw3H0Ong1Fn9XnYaLJhKj8UFPfNATeV4VdLjfqewzaFksDlnwDavVWkosjiNHjpw/fz50yDCMmCopJGFZliAIni9mJziOEz3xwoVhmfE4iqJkPgI8zweDQZnwUB65NosTAIoFoTfrdERIDZ7nOY6TaiUqVqKQZVmZUPQJLlPopjBmneGTnsHzLuMnWTqbUYiPjZIWENVGce660Bkwrj+vz/Zw3z7B7M4hf7TapAXEJE/h9xLuXhHK/CQThvem6P8d6k0vjVc3Gd/rEjhVYHz/ujCgEXchxmC1WktvCtGZJVwY3vIl9ibHcTLhb/lELbtu3HrznCepB+OElvHcTmuEtIA4tGRu/SUOwhLHW3m6g+VxIt/ULZl9uU0wGITbT7AMs3z5cqn7YoMGDVq1agWN21PZDbQsFsdnn30mDb5RUFBQSiwOp9Mpi7HAcZz0ARYfPNkjLT754UKZRITnedmzIZaUCnflkNP32/7ejflor+FcERlp0RH4/WpiQrny6PC/lNydo+tbnzmUR264QG4fHuy+BwJBhjeF7O7uuvCCg2gQqZvVhyIE/JpHGvQ6mQ63a/ny91G4GqHu8DLE0JXGl9sxXRKCRiMv+kx/TZIkWUZT3K468eKyuspz+nWPbnO2bs9wV90YI8/jnAPhTXG7oSW7u1ByvPKUDAkZHuM2mB5L4g7n6S87hQBLvPaTPs5EOxwOqYEOj/KhIaOyG2hZLI6OHTtKg2/ExMSUEoujR48ePXr0CB1SFLVmzRpphAqO40wmk8y3lWXZ8OgNDMNYLBZZGASKoiwWi2xGEwwGrVar9NGafxzvd3W+uzf6iQcwsDEafeADEFJDnF7J4maIc0mZkKZpiqJkQoqiGIYJD7shu6bNgt3XOLsRa9J0Rp2V0BFFRQ5pgUAgILvI3RXyAl7ehN4NcPamft4JwzU3TtyE3+uW6RB+1wBIkpQFheB53mAwyAJ0lN6bHhrDl2NyF/RpoHO5ghaLRbREFEV5vd7Sm0IQhPCWF8NRyYQl9ibLsjzPh4Qbz+PLw5jQlvvHHluP+oaDuagdpbvscUnPEsebLBYHTdO3G4QyU156dwRZPLsMQ5oirTkWHAhM/cWuJ/Hho3g3wzZ27FjN1fuOqOwGWhaLQxZ8o/RYHPcITgqvbIt4sysGPgg3BVV2mm7Jxm/5ZMYAmiR0S07AQECv4NsNlsdzq9E0Hn/tjGOXvdmBmCZV8eEjiFMqUJqHxsAMvNEZvesrVOPt+PE4Mo5j1VAYBO7INSYnYHixA9ga2K2UAgEWTy/FiBYY0hQA+tWjn2mnVN1/Riq7gZbF4khOTpYG34iNjb3HY3GcL8Kpm2hZhevfSM8JeH8nbMq+neMFTNyACCP2PEPN3Kf/eB+61MGQZtiSo5ACQRZpy9G7AZ5vAwA1IvjmiUpU+t1RXHahYaThyQcxbCUmd0Yvxa2zI4i9OYgyEs2jAWDGLziUi6WDYdSBptGkCt/BDgAHKrIvpu/FspOwGWCEffYAjF+LF9vjiQcqsMZKRWU30OGxOGTBN+7lWBxH8vCXtViXhi2n2L4/mACkNkaEgr8gGR6jVqFFNfy1MwIBYfojjMWiBzBjX8XWe8kJTkCUAC+Np5ZgVDKGNqvYGqWwPPr/iP6NMOBBLDpC/n2n/tsBKljn3Vfw1jYMboJrbuKfV62taoEX8MMgRTf2ZV7E2UL8MgYkgYzD1ENzjN+moE8D5RT401PZDfT9y+ZsvJ2JZUOQGIUEMvhq11shmz9SSoEAi6HL0KcBXmirVJWAl8bgpahph0GHo9cidQZM6YK+DZVTAMCBXDSvhvT2cFM4dlNXOwrtaiqqgMj7O7F6KGItCNJ81++IS04sHay0DtsuYnQySAIFfvz7kDkhQrPOdxnNQN83OINwUzDxAPDjccw5jC0jEaNgxHNOwHdHcSgXcWb98CbCi1sxOhlpzZVTAMDMXzCuNQY1Rr4Pj3xHNopR2joDcAVRzYaiAAYuxpsdqIwzFleQULIjRGgOsRYEWKSt0D1Uk7GYdWWfc7epZsNlF5JikLoYkzsE/n1Ujd3vf2o0A31/MGUbDuaiZiRO3oh8KBHZRVg7TGlPudc3I9qMlzti50Wh/XeWeSl4qomiCgA4koeXOiDHjbTl+LSn918H5Ck8FKBDLUzdhVVn8NEjiICQ4yYSVdACdiMO5OLvmRjXit97WWhTXQUdnk1Gj/l4JxPp7fHvQ5aXHlJBhz83ld2TkKKo0aNH9+zZs3Xr1vv376coKjo6Ojk5OTk5efr06YIgTJw4sWfPnv369cvPz1dLycyL8NDYMhJz+6NRLLf0BLFyqNLWmeFxPB//7A6bAd8c1g1pzBhVmLHhgTgsO4mhy/DNk+AFJEWroIMgIMCAAKbuxAd7Td88waniz/1mFzwyHwLwn8OkmyZSG6ugQ6EfBgLDW4AT8M5D/pRGKujw56ayz6C3bNkSERGRmZl56NCh9PT0efPmpaSkzJ8/X/xvZmam6Oo9b968mTNnfvSRYgu8xTiSh971wfB4bjXqRXEPVlFBhyALmxHnizBsOb7ozR7OFTx02Wfddfo2RP9FGNocC37F5nO21WlKK1AYwKDF+LwPutQBALc7IEtyqAznivDaZmx9BtXtMBKcRQgShNL7i88V4dmVWDAIjeIAoLBQjYBMf3Yq+wy6Vq1a6enpAOLi4giCOHfu3OnTpwcMGDBkyJCcnByp5/fevXvVUrJhLLKu4slF6FEX41pSLA+d4lM2uxFuCk/+iAUDUdMuZJzUP5KktA57cvDOdhyfiGdaom9DrB3krhVZ9ll3kcIABmbgg563rLNaHM3D6FVYlIr2NVE7EnFqhDM9no9Rq7Ao9ZZ11qggKvsMWgwFcODAgfHjx0+dOjU6OnrSpEmDBw/OyMhIT09PTEwsxdV7xowZmzZtCh3yPO90OouKikISlmXDgxuI0RvChWKoB6kwlPH+ARs59mBkmwS2wMWOOGx7pZ2nqIiRlQzVGxcXR5Jk6FAM6SDVSlSV53lZKAZRyDCMTCgIAk3TB/L0hV5bUiT//GoQIP/azmOkeelVRTffQCAAwO/3JyUlSSuVavjHhMuOer48bP72ca+NFRrbAICm6dJPT0hIkBYQ7yU8uoWosFTIsixJkj6fTyq86eNHbTS/09ndJIINXbXM3oyIiIiPj/8DTSEIAsuy4cLdOeTHB9k5fbzRwq32F7u4lN50u901a9aUjczw8cayrNPpDB+E0ngGIkfzhCl72G96eyP538dAmfflcrn69u0rvX6fPn1ef/11aJSCULnheX7KlCkPP/zw0aNHpXLRxLzzzjszZ84UBOHEiROdO3cu/VLBYLB3795SidvtpihKVszlctE0LRM6nc5QgJ4QRUVFHMedLRTafS38kiMcuCasOSOcvVokGhopBQUFoc9JSUkHDhwIHYpPnaw8TdMul0smpCjK7XaH35TH49mSLTw0V7juuSUMBAJer1dW0u/3+/1+8fMnn3zSo0eP22n4B4TzstxPLBK8dNklpcLo6GiZhj6fT1be5/OJLuBSxKBXUslNn/DQN+yObHnH3a43RWd6QRB69OjxySeflK42z/OFhYUyofi1KhMuPsZ1m8sUFdeXYZjSe3P//v1JSUm30zCEw+EocRCK4y3U+FlXhY5fM6HBUMp9yYS9evUKfxw0Sqeyz6CXLl2anZ2dmZkpxiWYNm2a3W6fMGFCVlZWs2bNVHf1PnQdEzZg/gA0qXpLUlSktC/3mnP6b37DujRFt/RJmXsEa8+blg2FSY3XkgAK/Bi0GO8+THWqpfTzctGJuYdBcUhrjoO5WHOayEjxx5gVXdnZko1/7LjlAPV0Myz8Dd897kmIiFFSh0pLZTfQW7ZsycrKatu2LYDatWvPnz9/zJgxGRkZZrN59uzZSUlJKrp6b71s+OwwuXooatgVrvl3FhzTLTtJrEtT1IP8ohMzf0GBHx1rgeZwugBf9/aYdOosdt70Y9BifPwYmkVxCj8vZ4p0b+3Gvx6BWY+hy5AUg9VP8wGfot/QjiDx8V5i+yhY9Fh9Bs+sxPmXQAbUzqBVaajsBlqcIEtZuXKl9FBJV+9LTvx6A02qomEsfjiGbw6b1wzl46yKvsg9fB2rz0BPYmQLrDyNPZfJH1P8NoNyYecLA8TITZjRCw/EYchSOIM48jzC1jaVYM0ZZF7E6jNYMBCdasHjUVqB746bPu2NFtXwyib0aYDsIhVeDv92U9c9UbDoiTVn8MU+DG2GG15UV+mnTCWksu/iuHeYdZCY/BOuufHez3hkAdacQUZ/j8KrClsv6Sf/hB510aY6HpqLPVewIEXp/c7brhjHtcZDtfH+TjzeELEWqDJbm7pbv/wUMi/h2WS8tVWd9IYuirCb8Owq1I/FjN7wq7GNrXqEcK6IWHEK/zmEtcNw2Ynq6v2eq4RU9hn0PYKbJlafIX4aCQE4U4i9OZjTHybFI4d+dcSwdAiiTXh5E7onId4CHaG0fWR5WHQYvRptquOlDsi8qEK6Jl7AxmzCpMd3KWhdHVEmbDiHPrWVVqNbHfaR+cZ/dMeolvg0C4/WU1oBAA/EcFdceHMr3u6G1zajTQ3EWVDoL/tEjbuCNoO+J7jiJptWBcVhyFLUsGN0Mi7ItzYpAc0RNgOeXYWakfjXI3Cp4YrSuSb7xhY0qYqXOmDJCSREwKD4IM3xENkO8su+aF0dAKrZVMiBW+DHwuPGPg3w7RH0mA9HEJM7K60DgB9OmuJt+KwPCv0Y0QIf9FRBh8pMZZ9BUxQ1fvz4y5cvO53Or776ql27dqpk9a4fzWddQ/8fkdYcz7bEY99jXBtAcfvYvjrb4Rvd2DZ4oS1e26xCHCIvjTd22F7tiKN56PU92tfEvx9XWodcD8asN7eI5xmOFFVa8Ctm9VNUhxw3hiwl/9bR90SzYgsKCmcD/mIfsq7pFz0l6ElC+cGgAc1Ay1y9P/jgA6lvd69evZRx9XZShCNAuGnsuoI5h/F8W1SzwaGsgfbSOJCnq27H6tNYeQqPN8TgJqAo5RQoCiB1Cca3DD7dWrWgaLkePLUEMx+hqkfp39lpvOEFSSC9PerFKPeS8HQBnluN//Tja5vUdJ6e8QtO3cQXj/p0hBoRTzQAaAZa5up9R1m97xZnCjF8jXXBAD65Onndi2o2pQMhASgKYOBSw8TWwSEt1RkSuR4MXoqPHkUTmxoLKwCAax4MXoJZ/dAggjcYhO8HqqDD3hy8uhkZTyExEi6XCgqIvLkVARbfPAktrau6VHYDLXP13rhxY/mzes+aNWvHjh2hQ57nCwoKZHm+S/QDZhgmJNx/XT95h3XWo64HbAh4iGiA8kKcttI0XaLrbXguZJZlQ/XGxsYSBBE6FARB+t+QqjzPh4Q3/cTojRF/be/vVJ1yOOSe0CX6f4spTaVCjuMAiI7Ufr+/du3asqaQHjqCxIwD5hM37YlR1KT2QQB/2Wz7V1d/MztH03Jtw08vpzA+Pl5aQNSQkvwooDhi1xXCoCM61wrcDJCj1ttm9PQnmrhAgKUoKtz/O7w3GYaR9mZIKDqLA7DZbHFxcaU0xeaLhq+Omn20vbqd6ZtEf3fctKCfL1rgnU4h3M1aEASO48ojlHrzezyehIQEaQGGYTiOkw6tvdf02y8batqDgx9kPtlvZnm81yXgdJY93sovdDqdw4cPl1bavXv3CROUShx5f1LZDbQgCG+//fauXbvmzZvXsmXLrKys8mf1Hj169LBhw0KHFEWNHDkyKur32MBer9doNMrSGHs8nlBW7w3niY+yiA0jeBtP2mw2WUJlp9MZGRkpe/gdDkdkZKTMahcVFYXqdTgcgiCEDjmO8/l8kZHFfM8YhgkGg3a7HcAVF57bTM7sw7esYqRpREQU2/JM0zTDMDabTSqkKCo8t7RomsX02BaLJTc3V9oUUg0BDF1HvNoJf48svEzHjt5g0pOYl8I/WCUivGSJp5dTWFBQIC0gem+Hgs/luDFiLdmpBsPwxMcHdSxP/Kc/37JaBACfz2cwGGQdV2ZvhhBTxYu+qX6/3+Fw3K4pLjjw/Sli/XA+6HXNPxP79m7D2XQ+2mwHwPO82+2W3WCJvcmybCAQEHszBE3TNE2LvWmz2W7evCm9lFRDAJ9mESduYugD3msBa/vvbS+0Ff72sAAY8d9BWMp4K78wMjLyyy+/lDagLJm6RjiV3UDLXL3vKKu3xWKRhpqkKEqn00ntKUEQJElKJUfysPGUKdqmH5lMZhzH4uNYl4ZoM+lyyUuWeHpIKHtgRKH4WRAEANJD6X8BfH0I3x016qFLjCVf7oiXNmBOfzSpStI0KSspXrn8wlC9BEFwHBfeFOLnq25UtaFPAxQWEiY9edOHab3QJJ4ML1ni6eUX8jwv00HaMu/+jC8eR6NIJsej23RB/3AiWlX/XYcSb/CO+kgUCoIQrkbocM9VDGkGq5GcedRyrIjoVBt6yQgK1yG8N8U7Kl1IkmSJ3RGSrD6DHaPgdHLLdpPta6FBHEGShLRkKeOt/EKSJGNiYmTfcBqlU9kNtMzVe/Xq1RWX1XvxCWQcx7BGvJNFs1loWwPrhysdX2LHJWy/hK0jWJYKzDsZ2e8HZI1VOuy9jry1tXnfdf20gxjcDDWUc1T8nUtOJFfDqTxi9DrD/AH4aLcKOlS14tB1vLWNuO7ULUpFt+9gU9x8sTyMOvACxm+2dk0SakYRV9Rb+9aQUdkNdLird8Vl9Z59AJtHIuBl/7bb3CweXeuoEP1n6wWkt4eBxK5ruhWn0CBWhaQk1SMQYPHPn7H9vPWt7vh4tzq7a5vFY+kpzNhj+rovc9ZlalNDBR16JOEva9EsXhjdhH5hval/IxWcufUkLEb0+QFP1GWfbakbugLTHlVaB43boTmqKAdJgBfwzDpL/RhhysO4qYY7VqwFN7zYnE386xfT0iGqxYd7qgl+PAYdKWzNxuLB6qgxuhWeX4sEm/DxL/rFx/F6J6UVCLAYvhyvd8KQpjiYpx/eHH9VwxUlyIJh4Q5i5Tlj7x/IUcloVlHb/TXumMo+g1aS6pHo+i3GNmdHtdZP2KR7tqUKOjzTEp3mItKoe6ez/4V1+rGtVdBh7hFsycaxF+BxeuLi1IlRd8GBCevxyxgwFG3Uk42qKf0V4aIweAmeaYkRLSAIcCQGYmNVyIwSYPH0UjzXCkOawun02u122ZtqDXXRDLRCXHXjbAGizVhy2pBxWjeiJbomqqDGqtNoWhVd6vD7c/VTHkZbxX/Xz/gFJ29iUaoKv+VDZDswYgW+G4BGcfD7BZJUOthHvg+pS/DXznjiAYVrLoaHxlNL8FIH9NO8BO9VNAOtBKcL8MxKzOqHdjXgdvstFotsY5YyfLIXJ29i+dPgWT4QoCIjTQor8OZWUBzmPAlV0mCLiNZ5/gA8oFIyvYsu3YQV+HdfdKipjgIiRQEMXo63uqBPAzXV0CgdbQ0aAKZOnbps2TIAFEVFR0cnJycnJydPnz5dEISJEyf27NmzX79++fn5f+ziu6/g2VXIeArt1HgNFeLNrbjmwdz+6kxdeQHpGxBjwae91bXOxIgVWDBQNet8NA/jNkd8N0Bl61wYIAYv073fQ7PO9zqVfQbNcVzPnj337NmTkZEB4MKFCykpKfPnzxf/m5mZ+T/G4thwnpyxD6uHIkGNnWQivIAJ65EYrc47KAAsj/StEV3q4cX2KtTuZ+CiUD0C2Q5i7AbjwlQ0lLscVSxBXvfGT/g1DzoS17347nFPk6pq5ovK9WD4WtunffiOtbXl5nudym6gSZLctm3bO++8Ix6eO3fu9OnTAwYMMBqNM2bMkIXmkJ17+PDh7Ozs0CHDMGKy0ZBkzlHd5kvEytRghB4hMcdxoiee9FKiULbPXxTKfAR4ng8GgyUKxc9ms5kgiNAhxfLjN1s61GImtOFCOrAsy3GcLL+1mOlZJhR9gsspxH+dQViWjYqKcnqD5x0EQeD9XfrHatNjWgjFzyimdkUIrVbr21vZfblkpFHI9RIeyrjgCV9tq0F6Urijtqi/mLJTJiQIQswCLhXSNF1ib4pu1gaDYUluvY/6022qETOydFYdoozyphOdWcKF4Y3M83y4kOO40ntTdCnceYFecEznY3DyJvl5T1/zWF0wqJNdJ3wQljneyi/0er3Lly8PuS8CqF+/fuvWarynvn+o7AaaIAi9Xh8alFWrVp00adLgwYMzMjLS09MTExNLicXh8XhkMRY4jttwnvj2Vz3LQwAi9NzCJ3xWvV76UItPvuw5D5eI8DwvezbEkiUKxc/ivXAc76YJo04YtdbYNyn4bDJZpg5i8uZwxcpfUvyX+NkP62OLjK0S+LVndbWjhIENAjwvn6+VeNd3Ucjo7R5KWP1U8HQhOXqdsZqNrxfFydQQy5fnrkssibL6iCWMekK44MCas+T6IcE5vxqycvUp0eWqDv9tT2ldf6CPeJ73k5HTf9G92JaZnGmMMvM+5rZqy+4ulF66PCVLF4rhX6QG2qN8GrH7jcpuoGWI82UAKSkpU6ZMSU5OLiUWR7du3bp16xY6pCjq28Vrvj1m+k9/vLkVv93AmOZMpM0s821lWTY8egPDMBaLRbbDiaIoi8Uim9EEg0Gr1Sp7tAKBQCgyht/v355jev6QtYYdP1/G652EtKac1VpshYVhGEEQZME0aJqmKEompCiKYZjwsBvhsTgCgQAA0ffdYDAcccVueIKctIWcm4JTBcTSc9aXHy5WXqZ2RQg9NDGomeGSzzBxC9ak4ZkVMBqN4aeQJCkLCsHzvMFgMJmKvUTlOM5kMpW/N0VLxNBUjs+466px7XAYdVaegEFHynQQBCG85cVwVDKhOFmWCVmW5Xm+lN40m815TOTC7rrXNukWD4HNgNc3Wno/SEhtpXjK7QZhKeOt/MLIyMixY8dqrt53hPaSsBjTpk2bNWsWgKysrGbNmnXt2nX//v24TSyOcPK8+PBRpG9AmxrYNw6rzqnw/ccT+owz1tVD4aWxcBDWnQWlcJh3AAAN48ub8H5P9G2IR+vhVKEKTUHy9OZsjFmDjKcQa4GgeOosAEWIZXmiRxJcFDadx8bz6FhDhSjPHGF4ZSMWpaJRHKwG+NVIsajxB9Bm0MUYN27cmDFjMjIyzGbz7Nmzk5KS7igWBy/guZV4uSNGtECQBanGdgWKtDWJo4cux4xeaF8TW84j26mLV/a1GIAALJM74+E6ALA3Bw/GqfAtoeMCsw8grTnWnMHKU/hrJxXMUjzyRzQ6VRTo8+IG1IrE8iEwUGp8UUCoH4sadgRZTP4JAx5gxGB1Gvc4moH+//buNaaJNY0D+AMUWm5CObCbRdDASdYoq6jLelgwKC4ajxASBU0gYRNk1RgQQnaDMcglyhoTE7+gMSqXEOIHJQRJuCiiGEqgCFEWdg0gFwWpUorQcrPl0v0wJ92eF1rKCnSK/9+n6b8v8PAOeTJMZ+YlIsrJyeE23NzcysrK9N9a0bM45hfIxoaO/EgqNf2jhmL95szxP4pVRZ+DJJX8PIiIukfJ08kM62L70dt/1tObTzQyTf1jVHDkK5Hj8l+2qtRCj46/Ue8YKaap+AS5CRbMchBta7Xwd73/vkbXcZEand/N/Gf/Fvr5ARFRzB8o+kc0aMuABr2adv6Wsg5TyhPSzFPcLvrL5lmi9b4ZZN7aLuA3mrut9GdvetpDP3mR6/ovD07kSuNlf6V/fSaRgP7kSV++rH8J5DA98Psf/nfJ88yMGWrgC632fACdD/jllRnXaoEVQYNeTTZWtH8L7d/yy0uzfEbtNCu/tn9c+QP1jdHZP9JPnguTk2Yog4hchOa5nR1gw0CDXk2Dg4P37t3TvVQoFA4ODsxH2wqFwsnJiblsgFv7g7kYYGRkxM3NjflUXaFQcMsnMqG7uzu3rVKpysrKtm59TUT/JnozO6tUKnXvcr5+/To5OcmE09PT09PTTDgxMaHRaJhHGqlUqrm5OeayFm5hJFdXVyKSSqUymYyZCuY7r0Oo0Wj0axgfH9dqtWLxr24SGRsbs7GxYdYoGR0dtbOzY9YoMX1vcsuXcJcryGQyqVRqfCq0Wu3o6CgTzs/Pf/nyxcPDQz+cXWpvqtVqlUrFjNTfm+/fv5+YmNCvYWRkZNOmTcxlKiMjI2KxmLm0Q6FQuLm5MZcS/X+74+PHjwQrhKs4Vo1QKMzJyRHr6ezsnJqaEv9ae3u7RqNhwtbWVq536GtqarK1tWXC+vp6R0dHJqytrdVtX7x4cefOnbqXWq22tbWVGa/RaNrb25lwamqqs7OTCZVKZU9PDxPK5fKBgQEmlMlkMpmM2w4PD09MTDRU4bqFmZmZ+m99+vRpaGiIGf/hwwe5XM6Evb29Y2NjTNjZ2Tk5OcmEHR0darWaCd+8ebOwsMBtJyYmhoeHGy/b2dn55cuXTGhnZ9fU1MSERNTS0sKEs7OzHR0dTDg9Pf327Vtue9euXWlpaUyFi//empubBQIBE0okEgcHByZ8/vy5q6srEy67O3JycnCN3YppYc2kp6c3NDQwYUpKSltbGxMmJCT09PQw4alTp4aHh5nw2LFjU1NTTHjw4EFDNfT09CQkJDBhW1tbSkoKEzY0NKSnpzPhkydPrl27xoQlJSW5ublMWFhYWFhYaKiMJStct5BTVFSUn5/PhLdu3Xr06BETXr9+vaqqigkzMjLq6+uZMDU19fXr10x45syZ7u5uQ2UsrnBmZubo0aNMKJfLT548yW1FN0AAAAUASURBVIR9fX3x8fFM2N7efuHCBSZsbGy8dOmSoRrOnj3b1dXFhLGxsUNDQ0wYGRmpVCqZMDQ0lLsRRt9KdweYAkfQAAA8hQYNAMBTaNAAADyFqzjWkK2t7eJPRZYM7ezsFodCoXDxc/1FItHiRYkcHQ3eA2Loxy3+zoZCE6s1/vnPkhWuW6ircPGD60z/Bb9xbxqp0NramnuGiT6BQMBcZWHkx5m4N41XuOSXiEQi5rqOJX+FFYVgOiutWW6uAgCA5eAUBwAAT6FBAwDwFBo0AABPoUEDAPAUGvSa0C0TrjW8LrharY6Pjz906NDevXtfvXplZOTk5GRkZOSBAweCg4P7+/uNjOShVZwKzIOORU8FmM4mOzvb3DVsKPPz86GhocXFxdHR0Tt27Kirq6uvr6+oqFCr1RUVFWFhYbqR1dXVg4ODDx8+DAgISE5O9vX1NTQyPz9fLBYXFhZaW1uXlZWJRCJDI3ll1acC86AbaaFTASuFI+hVxi0TnpaWxr3UXxe8sbFRf6SXl1dSUhIRcU+nMzIyJCQkISGB++YuLi5GRvLKqk8F5kHHQqcCVgoNepUxy4QrFIqtW7fSUuuC79mzZ9u2bS0tLVFRURkZGUZG+vn5eXp6RkVFpaamxsfHGxnJK6s+FZgHHQudClgp3Em4tsRisaF1wbVa7eXLlyUSSUFBgb+/v1QqNTRSpVI5ODiUlpbW1dWdP38+MDDQyFrjvPXtU4F50NkYUwHLwhH02jKyLnhJSUlvb++LFy/8/f2Nj8zJySkuLiYikUik0WhWutY4T3z7VGAedDbGVMCycAS9tkJDQw2tC15TUyOVSgMCAojI29u7vLzc0MjU1NS4uLi8vLy5ubk7d+7s3r17RWuN88S3TwXmQWdjTAUsC8/iAADgKZziAADgKTRoAACeQoMGAOApNGgAAJ5CgwYA4Ck0aAAAnkKDBgDgKTRoAACeQoMGAOApNGgAAJ5CgwYA4Ck0aNg4xsfHXV1dzV0FwKpBgwYA4Ck0aLB4ubm53t7e3t7eBQUFuvD+/fs+Pj729vaBgYFdXV1EdPr06Rs3bnDvZmVlJScnm6dcAJOhQYNlk0gkWVlZDx48kEqllZWVXDg4OJiUlFRUVDQ4OLh9+/abN28SUURERFVVFTfg8ePH0dHRZisawDRo0GDZSktLz507FxISsnnz5qtXr3Khh4fHu3fvQkJC7O3t3d3dlUolER0+fLilpUWpVPb19Q0PDwcHB5u1cIDlYUUVsGyfP38OCwvjtn19fbkNgUCQl5dXXV3t4uIiFAqdnZ2JyNnZOTg4+NmzZwMDAydOnLCxsTFb0QCmwRE0WDZPT8/e3l5uu7+/n9soKSmprKx8+vRpbW1tTEyMbnBERERlZSXOb4ClQIMGyxYdHX337l2JRCKTyTIzM62srIhodHTUycnJ3t5eLpfn5ubOzMxwgyMiIsrLy7u7u0NCQsxaNYBJ0KDBsgUFBV25ciU2Nnbfvn2xsbGOjo5EFBcXJxQKvby8jh8/npGR0dzczK2B7ePj4+npGRkZKRDg5B5YACwaC9+XoKCg7OzsI0eOmLsQgOXhOAK+F1NTUy0tLQMDA6GhoeauBcAkOMUB34uampqYmJjbt2/b2tqauxYAk+AUBwAAT+EIGgCAp9CgAQB4Cg0aAICn0KABAHgKDRoAgKfQoAEAeAoNGgCAp9CgAQB46r81+MywdBEzlAAAAABJRU5ErkJggg==" }, "metadata": {}, "output_type": "display_data" } ], "source": [ "R\"\"\"\n", "library(lattice)\n", "print(xyplot(y ~ day | reorder(id, y), rats, type = c('p','g','r'),\n", " aspect = 'xy', ylab = \"Weight (g.)\"))\n", "\"\"\";" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "There is an overall linear trend in the weight with respect to time but there is also noticeable downward curvature for many of the rats. Nevertheless we will start with a model with linear model with vector-valued random effects for slope and intercept by rat.\n", "\n", "## Fitting the vector-valued random effects in lme4\n", "\n", "The simplest way to write the model is `weight ~ 1 + day + (1 + day|id)` which allows for correlated random effects for slope and intercept for each rat." ] }, { "cell_type": "code", "execution_count": 6, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "RCall.RObject{RCall.VecSxp}\n", "Linear mixed model fit by maximum likelihood ['lmerMod']\n", "Formula: y ~ 1 + day + (1 + day | id)\n", " Data: rats\n", "\n", " AIC BIC logLik deviance df.resid \n", " 1108.1 1126.1 -548.0 1096.1 144 \n", "\n", "Scaled residuals: \n", " Min 1Q Median 3Q Max \n", "-2.6317 -0.5422 0.1154 0.4948 2.6188 \n", "\n", "Random effects:\n", " Groups Name Variance Std.Dev. Corr \n", " id (Intercept) 110.1392 10.4947 \n", " day 0.2495 0.4995 -0.15\n", " Residual 36.1756 6.0146 \n", "Number of obs: 150, groups: id, 30\n", "\n", "Fixed effects:\n", " Estimate Std. Error t value\n", "(Intercept) 106.5676 2.2591 47.17\n", "day 6.1857 0.1038 59.58\n", "\n", "Correlation of Fixed Effects:\n", " (Intr)\n", "day -0.343\n" ] }, "execution_count": 6, "metadata": {}, "output_type": "execute_result" } ], "source": [ "R\"\"\"\n", "suppressPackageStartupMessages(library(lme4))\n", "m1 <- lmer(y ~ 1 + day + (1 + day | id), rats, REML = FALSE)\n", "summary(m1)\n", "\"\"\"" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Because `day` is days past birth, the estimate of a typical birth weight is 106.6 g. and the typical weight gain per day after birth is 6.2 g./day. As is common in linear regression models where `x = 0` is to the left of the observed data, there is a negative correlation, -0.343, between these estimates. The standard deviation of the random effects for the intercept (i.e. the birth weight) is 10.5 g. and the standard deviation of the random effects for the slope is 0.50 g./day. There is a slight negative within-rat correlation, -0.15, of these random effects. We can check the conditional means of these random effects" ] }, { "cell_type": "code", "execution_count": 7, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "RCall.RObject{RCall.VecSxp}\n", "$id\n", " (Intercept) day\n", "1 -0.05553214 -0.12578651\n", "2 -11.28871381 0.78307023\n", "3 2.56173870 0.33371487\n", "4 6.95772594 -0.80488489\n", "5 -15.66765773 0.23713605\n", "6 5.86444226 0.04898243\n", "7 -7.44611157 -0.29292676\n", "8 0.49139122 0.24410473\n", "9 17.10933172 1.07538535\n", "10 -12.66716696 -0.48326773\n", "11 1.53330811 0.65324070\n", "12 -10.44571308 -0.17582192\n", "13 0.19475081 -0.02076168\n", "14 11.51006572 0.64210468\n", "15 13.77174164 -0.65506265\n", "16 6.80249948 -0.20317462\n", "17 -9.93634401 -0.01121433\n", "18 4.30992548 -0.30851412\n", "19 5.00795524 0.27921279\n", "20 1.52862500 -0.12086316\n", "21 0.84085073 0.23631872\n", "22 -8.07783593 -0.42464430\n", "23 -3.50288046 -0.49138374\n", "24 7.23352917 -0.23288734\n", "25 -19.40139098 0.55158120\n", "26 2.62570253 0.40267231\n", "27 14.44659266 -0.14725654\n", "28 6.31630913 -0.28786142\n", "29 -10.62557058 -0.64438331\n", "30 0.00843169 -0.05682907\n", "\n" ] }, "execution_count": 7, "metadata": {}, "output_type": "execute_result" } ], "source": [ "rcall(:ranef, :m1)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "or, a better choice, plot these conditional modes." ] }, { "cell_type": "code", "execution_count": 8, "metadata": { "collapsed": false }, "outputs": [ { "data": { "image/png": "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" }, "metadata": {}, "output_type": "display_data" } ], "source": [ "R\"\"\"\n", "re1 <- ranef(m1, condVar = TRUE)\n", "print(dotplot(re1, scales = list(x = list(relation = 'free'))))[[1]]\n", "\"\"\";" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We can check for non-negligible correlation of the random effects by fitting a model with uncorrelated random effects and comparing the fits." ] }, { "cell_type": "code", "execution_count": 9, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "RCall.RObject{RCall.VecSxp}\n", "$id\n", "\n", "Data: rats\n", "Models:\n", "m2: y ~ 1 + day + (1 | id) + (0 + day | id)\n", "m1: y ~ 1 + day + (1 + day | id)\n", " Df AIC BIC logLik deviance Chisq Chi Df Pr(>Chisq)\n", "m2 5 1106.4 1121.5 -548.21 1096.4 \n", "m1 6 1108.1 1126.1 -548.03 1096.1 0.3645 1 0.546\n" ] }, "execution_count": 9, "metadata": {}, "output_type": "execute_result" } ], "source": [ "R\"\"\"\n", "m2 <- lmer(y ~ 1 + day + (1|id) + (0 + day|id), rats, REML = FALSE)\n", "options(show.signif.stars = FALSE)\n", "anova(m2, m1)\n", "\"\"\"" ] }, { "cell_type": "code", "execution_count": 10, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "RCall.RObject{RCall.VecSxp}\n", "Linear mixed model fit by maximum likelihood ['lmerMod']\n", "Formula: y ~ 1 + day + (1 | id) + (0 + day | id)\n", " Data: rats\n", "\n", " AIC BIC logLik deviance df.resid \n", " 1106.4 1121.5 -548.2 1096.4 145 \n", "\n", "Scaled residuals: \n", " Min 1Q Median 3Q Max \n", "-2.5962 -0.5331 0.1162 0.5036 2.5868 \n", "\n", "Random effects:\n", " Groups Name Variance Std.Dev.\n", " id (Intercept) 101.6460 10.0820 \n", " id.1 day 0.2319 0.4815 \n", " Residual 36.8273 6.0686 \n", "Number of obs: 150, groups: id, 30\n", "\n", "Fixed effects:\n", " Estimate Std. Error t value\n", "(Intercept) 106.5676 2.2014 48.41\n", "day 6.1857 0.1012 61.14\n", "\n", "Correlation of Fixed Effects:\n", " (Intr)\n", "day -0.247\n" ] }, "execution_count": 10, "metadata": {}, "output_type": "execute_result" } ], "source": [ "rcall(:summary, :m2)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Fitting the same models with lmm in Julia" ] }, { "cell_type": "code", "execution_count": 11, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "Linear mixed model fit by maximum likelihood\n", " logLik: -548.028661, deviance: 1096.057323, AIC: 1108.057323, BIC: 1126.121134\n", "\n", "Variance components:\n", " Variance Std.Dev. Corr.\n", " id 110.13955819 10.49473955\n", " 0.24951838 0.49951815 -0.15\n", " Residual 36.17558280 6.01461410\n", " Number of obs: 150; levels of grouping factors: 30\n", "\n", " Fixed-effects parameters:\n", " Estimate Std.Error z value\n", "(Intercept) 106.568 2.25911 47.1724\n", "day 6.18571 0.103818 59.5822\n" ] }, "execution_count": 11, "metadata": {}, "output_type": "execute_result" } ], "source": [ "m1 = fit!(lmm(y ~ 1 + day + (1 + day | id), rats))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The two mixed-models packages agree on the fit. The amount of time required for the `lmm` fit is" ] }, { "cell_type": "code", "execution_count": 12, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ " 0.006234 seconds (86.60 k allocations: 3.417 MB)\n" ] } ], "source": [ "@time fit!(lmm(y ~ 1 + day + (1 + day | id), rats));" ] }, { "cell_type": "code", "execution_count": 13, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "Linear mixed model fit by maximum likelihood\n", " logLik: -548.210888, deviance: 1096.421776, AIC: 1106.421776, BIC: 1121.474952\n", "\n", "Variance components:\n", " Variance Std.Dev. \n", " id 101.64629290 10.08197862\n", " id 0.23188824 0.48154776\n", " Residual 36.82725545 6.06854640\n", " Number of obs: 150; levels of grouping factors: 30, 30\n", "\n", " Fixed-effects parameters:\n", " Estimate Std.Error z value\n", "(Intercept) 106.568 2.20142 48.4085\n", "day 6.18571 0.101168 61.1433\n" ] }, "execution_count": 13, "metadata": {}, "output_type": "execute_result" } ], "source": [ "m2 = fit!(lmm(y ~ 1 + day + (1 | id) + (0 + day | id), rats))" ] }, { "cell_type": "code", "execution_count": 14, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/html": [ "
DfDevianceChisqpval
151096.4217755749055NaNNaN
261096.0573227022830.364452872622450740.5460435643032959
" ], "text/plain": [ "2x4 DataFrames.DataFrame\n", "| Row | Df | Deviance | Chisq | pval |\n", "|-----|----|----------|----------|----------|\n", "| 1 | 5 | 1096.42 | NaN | NaN |\n", "| 2 | 6 | 1096.06 | 0.364453 | 0.546044 |" ] }, "execution_count": 14, "metadata": {}, "output_type": "execute_result" } ], "source": [ "MixedModels.lrt(m2, m1) # print format is still a bit primitive" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## A Stan analysis of the independent r.e. model\n", "\n", "The independent random effects model, `m2`, has been a standard example for MCMC methods since the original [BUGS](http://www.openbugs.org) system. The Stan examples respository, https://github.com/stan-dev/example-models, contains links to this example in OpenBUGS and in Stan, under `bugs-examples/vol1/rats/`.\n", "\n", "The [Stan package](https://github.com/goedman/Stan.jl) for Julia is similar to [rstan](https:://mc-stan.org/interfaces/rstan/) in that the interactive language is used to marshall the data which is then passed to a stan program. The initial version of the model uses the data in the form of a matrix of response values, `y`, and a separate vector of times called `x`. Because Stan is a statically-typed language (it is transformed to C++ code), the sizes of all arrays must be given explicitly. The data should be available as a `Dict{ASCIIString,Any}` type." ] }, { "cell_type": "code", "execution_count": 14, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "Dict{ASCIIString,Any} with 5 entries:\n", " \"T\" => 5\n", " \"N\" => 30\n", " \"x\" => [8.0,15.0,22.0,29.0,36.0]\n", " \"xbar\" => 22.0\n", " \"y\" => 30x5 Array{Float64,2}:…" ] }, "execution_count": 14, "metadata": {}, "output_type": "execute_result" } ], "source": [ "const ratsdict = Dict(\n", "\"N\" => 30, \n", "\"T\" => 5, \n", "\"x\" => [8.,15,22,29,36],\n", "\"xbar\" => 22.,\n", "\"y\" => reshape(convert(Vector{Float64}, rats[:y]), (30, 5)))" ] }, { "cell_type": "code", "execution_count": 15, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "\n", "File /home/juser/JuliaWork/tmp/rats.stan will be updated.\n", "\n", " name = \"rats\"\n", " nchains = 4\n", " update = 1000\n", " adapt = 1000\n", " thin = 1\n", " monitors = ASCIIString[\"mu_alpha\",\"mu_beta\",\"sigma_y\",\"sigma_alpha\",\"sigma_beta\"]\n", " model_file = \"rats.stan\"\n", " data_file = \"\"\n", " output = Output()\n", " file = \"\"\n", " diagnostics_file = \"\"\n", " refresh = 100\n", " method = Sample()\n", " num_samples = 1000\n", " num_warmup = 1000\n", " save_warmup = false\n", " thin = 1\n", " algorithm = HMC()\n", " engine = NUTS()\n", " max_depth = 10\n", " metric = Stan.diag_e\n", " stepsize = 1.0" ] }, { "data": { "text/plain": [] }, "execution_count": 15, "metadata": {}, "output_type": "execute_result" }, { "name": "stdout", "output_type": "stream", "text": [ "\n", " stepsize_jitter = 1.0\n", " adapt = Adapt()\n", " gamma = 0.05\n", " delta = 0.8\n", " kappa = 0.75\n", " t0 = 10.0\n", " init_buffer = 75\n", " term_buffer = 50\n", " window = 25\n" ] } ], "source": [ "ratstan = Stanmodel(name = \"rats\", model = \"\"\"\n", "# http://www.mrc-bsu.cam.ac.uk/bugs/winbugs/Vol1.pdf\n", "# Page 3: Rats\n", "data {\n", " int N;\n", " int T;\n", " real x[T];\n", " real y[N,T];\n", " real xbar;\n", "}\n", "parameters {\n", " real alpha[N];\n", " real beta[N];\n", "\n", " real mu_alpha;\n", " real mu_beta; // beta.c in original bugs model\n", "\n", " real sigmasq_y;\n", " real sigmasq_alpha;\n", " real sigmasq_beta;\n", "}\n", "transformed parameters {\n", " real sigma_y; // sigma in original bugs model\n", " real sigma_alpha;\n", " real sigma_beta;\n", "\n", " sigma_y <- sqrt(sigmasq_y);\n", " sigma_alpha <- sqrt(sigmasq_alpha);\n", " sigma_beta <- sqrt(sigmasq_beta);\n", "}\n", "model {\n", " mu_alpha ~ normal(0, 100);\n", " mu_beta ~ normal(0, 100);\n", " sigmasq_y ~ inv_gamma(0.001, 0.001);\n", " sigmasq_alpha ~ inv_gamma(0.001, 0.001);\n", " sigmasq_beta ~ inv_gamma(0.001, 0.001);\n", " alpha ~ normal(mu_alpha, sigma_alpha); // vectorized\n", " beta ~ normal(mu_beta, sigma_beta); // vectorizedsim1 = stan(ratstan);\n", " for (n in 1:N)\n", " for (t in 1:T) \n", " y[n,t] ~ normal(alpha[n] + beta[n] * (x[t] - xbar), sigma_y);\n", "\n", "}\n", "generated quantities {\n", " real alpha0;\n", " alpha0 <- mu_alpha - xbar * mu_beta;\n", "}\n", "\"\"\", \n", "data = [ratsdict], \n", "monitors = [\"mu_alpha\", \"mu_beta\", \"sigma_y\", \"sigma_alpha\", \"sigma_beta\"])" ] }, { "cell_type": "code", "execution_count": 16, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "Dict{ASCIIString,Any} with 5 entries:\n", " \"T\" => 5\n", " \"N\" => 30\n", " \"x\" => [8.0,15.0,22.0,29.0,36.0]\n", " \"xbar\" => 22.0\n", " \"y\" => 30x5 Array{Float64,2}:…" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "display(ratsdict)" ] }, { "cell_type": "code", "execution_count": 17, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "\n", "\n", "--- Translating Stan model to C++ code ---\n", "bin/stanc /home/juser/JuliaWork/tmp/rats.stan --o=/home/juser/JuliaWork/tmp/rats.cpp --no_main\n", "Model name=rats_model\n", "Input file=/home/juser/JuliaWork/tmp/rats.stan\n", "Output file=/home/juser/JuliaWork/tmp/rats.cpp\n", "\n", "--- Linking C++ model ---\n", "g++ -DBOOST_RESULT_OF_USE_TR1 -DBOOST_NO_DECLTYPE -DBOOST_DISABLE_ASSERTS -I src -I stan/src -isystem stan/lib/eigen_3.2.0 -isystem stan/lib/boost_1.54.0 -Wall -pipe -DEIGEN_NO_DEBUG -Wno-unused-local-typedefs -lpthread -O3 -o /home/juser/JuliaWork/tmp/rats src/cmdstan/main.cpp -include /home/juser/JuliaWork/tmp/rats.cpp -Lbin -lstan\n", "\n", "could not spawn `/usr/share/cmdstan/bin/stansummary rats_samples_1.csv rats_samples_2.csv rats_samples_3.csv rats_samples_4.csv`: no such file or directory (ENOENT)\n" ] }, { "data": { "text/plain": [ "Object of type \"Mamba.Chains\"\n", "\n", "Iterations = 1:1000\n", "Thinning interval = 1\n", "Chains = 1,2,3,4\n", "Samples per chain = 1000\n", "\n", "1000x5x4 Array{Float64,3}:\n", "[:, :, 1] =\n", " 238.442 6.1173 6.26387 13.3017 0.553701\n", " 246.22 6.09473 6.0112 17.1001 0.583894\n", " 241.1 6.07312 6.27783 13.5037 0.597288\n", " 241.262 6.23046 5.86927 16.5626 0.486395\n", " 243.702 6.17451 5.91231 14.3127 0.539943\n", " 247.894 6.37356 5.37786 13.0379 0.542411\n", " 241.799 6.19891 5.61148 13.7274 0.525273\n", " 243.582 6.19857 6.63846 13.8559 0.539884\n", " 244.771 6.04871 6.53074 16.4842 0.37712 \n", " 241.465 6.32227 6.25922 13.6608 0.490879\n", " 240.064 6.18874 6.26414 13.9318 0.3716 \n", " 241.472 6.31356 6.45424 18.3394 0.530592\n", " 241.733 6.33614 6.08342 14.2244 0.409026\n", " ⋮ \n", " 244.35 6.25192 5.66353 17.3207 0.598309\n", " 240.541 6.24054 6.26025 11.1571 0.605388\n", " 244.535 6.07965 5.87173 17.882 0.33817 \n", " 242.096 6.19515 6.05332 16.3744 0.355072\n", " 242.198 6.13139 5.45537 15.3873 0.410866\n", " 245.725 6.10212 5.31721 14.5797 0.437369\n", " 238.467 6.36581 6.12217 13.3685 0.481256\n", " 245.237 6.44202 5.82621 11.1198 0.525357\n", " 240.108 6.15748 6.10492 13.2741 0.433271\n", " 239.661 6.30364 6.47074 17.8468 0.508335\n", " 243.763 6.10053 5.84271 10.7587 0.445435\n", " 241.48 6.22142 6.00735 17.7684 0.681168\n", "\n", "[:, :, 2] =\n", " 239.188 6.28827 5.16483 16.1478 0.436708\n", " 241.941 6.12276 6.46478 13.8488 0.688059\n", " 241.43 6.01767 6.77199 13.9485 0.547586\n", " 240.238 6.08566 5.80294 17.8206 0.739453\n", " 242.234 6.01572 6.46306 14.6466 0.52959 \n", " 242.177 6.48374 6.41958 15.7178 0.506893\n", " 241.132 6.44786 6.2826 15.2212 0.48323 \n", " 245.964 6.1491 5.83942 12.2214 0.609729\n", " 243.164 6.23693 5.31599 16.8696 0.500292\n", " 242.212 6.24881 5.46443 18.2724 0.471268\n", " 242.294 6.26655 5.36948 16.2365 0.443469\n", " 240.487 6.07944 6.13721 16.4424 0.486554\n", " 240.415 5.97536 6.45168 17.5665 0.424654\n", " ⋮ \n", " 241.256 6.06378 5.7663 13.2327 0.488669\n", " 240.656 6.33279 6.38822 15.6067 0.42495 \n", " 241.633 6.31681 6.16073 13.4059 0.434759\n", " 244.929 6.13806 6.36969 14.9018 0.501259\n", " 240.047 6.24367 5.95272 14.5731 0.486118\n", " 240.682 6.13849 6.38657 14.7833 0.545324\n", " 238.41 6.1532 6.24548 16.4656 0.517595\n", " 241.313 6.14319 6.26415 13.958 0.444331\n", " 245.64 6.09244 5.67499 14.6212 0.627077\n", " 245.076 6.11896 6.24296 12.8562 0.658991\n", " 240.688 6.18498 5.94605 14.5983 0.561564\n", " 242.668 6.17926 6.07016 15.2888 0.579827\n", "\n", "[:, :, 3] =\n", " 246.142 6.41452 6.73634 13.3255 0.455848\n", " 239.212 6.12056 6.52329 14.9832 0.459321\n", " 243.43 6.05594 6.19796 14.4507 0.41131 \n", " 241.224 6.19107 5.75368 15.0831 0.423468\n", " 241.141 6.20492 6.09537 14.6038 0.398369\n", " 242.741 5.98782 5.97665 12.9866 0.506902\n", " 244.682 6.01052 6.32138 12.3759 0.581079\n", " 242.281 6.2701 5.85995 18.294 0.612816\n", " 243.461 6.25355 5.29126 13.9484 0.648681\n", " 241.988 6.38428 5.95233 18.7079 0.626804\n", " 241.7 6.33507 6.09726 19.8162 0.566163\n", " 242.959 6.07234 5.77657 12.258 0.484831\n", " 241.236 6.25817 6.83663 15.0828 0.609545\n", " ⋮ \n", " 238.897 6.05567 5.81745 15.6572 0.582914\n", " 241.758 6.146 5.85718 13.718 0.439793\n", " 244.188 6.1322 5.89934 13.7196 0.417136\n", " 245.421 6.2053 5.92613 12.5038 0.6136 \n", " 238.473 6.26889 5.91509 14.9307 0.513361\n", " 241.29 6.36149 6.06458 13.7024 0.601478\n", " 241.812 6.22263 6.25263 13.2986 0.539259\n", " 240.905 6.22595 6.28596 13.1702 0.62288 \n", " 240.384 6.16246 5.80027 12.594 0.60448 \n", " 244.307 6.11253 6.14515 15.0776 0.479269\n", " 241.394 6.21528 5.80145 12.5441 0.726912\n", " 243.068 6.13408 5.94913 16.7022 0.420146\n", "\n", "[:, :, 4] =\n", " 244.745 5.98287 6.97489 13.1359 0.401861\n", " 236.463 6.3651 6.30291 15.3108 0.626886\n", " 244.097 6.24495 5.70389 15.007 0.464886\n", " 242.248 6.26472 5.88733 15.848 0.673209\n", " 245.484 6.33856 5.84766 14.6417 0.476976\n", " 244.839 6.27497 5.39433 14.464 0.525073\n", " 241.857 6.31813 5.70595 13.4278 0.534841\n", " 242.459 6.25125 6.48557 13.8664 0.481836\n", " 240.635 6.07921 6.18435 15.775 0.480487\n", " 240.404 6.18129 6.56978 16.7374 0.40215 \n", " 242.181 6.32488 6.65875 18.6138 0.428096\n", " 240.373 6.37011 6.42102 18.3176 0.406716\n", " 237.197 6.32562 6.14659 12.9737 0.510955\n", " ⋮ \n", " 244.399 6.20576 6.40929 12.38 0.57658 \n", " 242.734 6.16694 6.04293 14.079 0.614879\n", " 242.868 6.08212 6.74391 15.1517 0.481834\n", " 242.647 6.17209 6.45661 12.1666 0.493522\n", " 243.052 6.20587 6.49917 14.4706 0.513421\n", " 245.41 6.22523 6.10593 14.3795 0.545967\n", " 241.06 6.2438 6.34011 16.5734 0.580858\n", " 244.837 6.3557 6.50065 12.2019 0.601344\n", " 234.892 6.11631 6.5786 15.8407 0.594522\n", " 243.886 6.06573 6.73004 16.1938 0.545307\n", " 236.373 6.18949 6.8541 12.611 0.416945\n", " 242.952 6.22139 6.57843 15.1728 0.434887" ] }, "execution_count": 17, "metadata": {}, "output_type": "execute_result" } ], "source": [ "sim1 = stan(ratstan, ratsdict)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Using Mamba like OpenBUGS" ] }, { "cell_type": "code", "execution_count": 18, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "Dict{Symbol,Any} with 5 entries:\n", " :y => [151.0,145.0,147.0,155.0,135.0,159.0,141.0,159.0,177.0,134.0 … 334…\n", " :X => Int32[8,8,8,8,8,8,8,8,8,8 … 36,36,36,36,36,36,36,36,36,36]\n", " :Xm => [-14.0,-14.0,-14.0,-14.0,-14.0,-14.0,-14.0,-14.0,-14.0,-14.0 … 14.…\n", " :rat => [1,2,3,4,5,6,7,8,9,10 … 21,22,23,24,25,26,27,28,29,30]\n", " :xbar => 22.0" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "## Data\n", "rats1 = Dict{Symbol, Any}(\n", ":y => convert(Vector{Float64}, rats[:y]),\n", ":rat => convert(Vector{Int}, rats[:id]),\n", ":X => convert(Vector, rats[:day])\n", ")\n", "rats1[:xbar] = mean(rats1[:X])\n", "rats1[:Xm] = rats1[:X] - rats1[:xbar]\n", "display(rats1)" ] }, { "cell_type": "code", "execution_count": 19, "metadata": { "collapsed": false }, "outputs": [], "source": [ "## Model Specification\n", "model = Model(\n", "\n", " y = Stochastic(1,\n", " (alpha, beta, rat, Xm, s2_c) ->\n", " begin\n", " mu = alpha[rat] + beta[rat] .* Xm\n", " MvNormal(mu, sqrt(s2_c))\n", " end,\n", " false\n", " ),\n", "\n", " alpha = Stochastic(1,\n", " (mu_alpha, s2_alpha) -> Normal(mu_alpha, sqrt(s2_alpha)),\n", " false\n", " ),\n", "\n", " alpha0 = Logical(\n", " (mu_alpha, xbar, mu_beta) -> mu_alpha - xbar * mu_beta\n", " ),\n", "\n", " mu_alpha = Stochastic(\n", " () -> Normal(0.0, 1000),\n", " false\n", " ),\n", "\n", " s2_alpha = Stochastic(\n", " () -> InverseGamma(0.001, 0.001),\n", " false\n", " ),\n", "\n", " beta = Stochastic(1,\n", " (mu_beta, s2_beta) -> Normal(mu_beta, sqrt(s2_beta)),\n", " false\n", " ),\n", "\n", " mu_beta = Stochastic(\n", " () -> Normal(0.0, 1000)\n", " ),\n", "\n", " s2_beta = Stochastic(\n", " () -> InverseGamma(0.001, 0.001),\n", " false\n", " ),\n", "\n", " s2_c = Stochastic(\n", " () -> InverseGamma(0.001, 0.001)\n", " )\n", "\n", ");" ] }, { "cell_type": "code", "execution_count": 20, "metadata": { "collapsed": false }, "outputs": [], "source": [ "inits = [\n", " Dict(:y => rats1[:y], :alpha => fill(250, 30), :beta => fill(6, 30),\n", " :mu_alpha => 150, :mu_beta => 10, :s2_c => 1, :s2_alpha => 1,\n", " :s2_beta => 1),\n", " Dict(:y => rats1[:y], :alpha => fill(20, 30), :beta => fill(0.6, 30),\n", " :mu_alpha => 15, :mu_beta => 1, :s2_c => 10, :s2_alpha => 10,\n", " :s2_beta => 10)\n", "];" ] }, { "cell_type": "code", "execution_count": 21, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "Object of type \"Mamba.Model\"\n", "-------------------------------------------------------------------------------\n", "alpha:\n", "An unmonitored node of type \"0-element Mamba.ArrayStochastic{1}\"\n", "Float64[]\n", "-------------------------------------------------------------------------------\n", "y:\n", "An unmonitored node of type \"0-element Mamba.ArrayStochastic{1}\"\n", "Float64[]\n", "-------------------------------------------------------------------------------\n", "s2_beta:\n", "An unmonitored node of type \"Mamba.ScalarStochastic\"\n", "NaN\n", "-------------------------------------------------------------------------------\n", "mu_alpha:\n", "An unmonitored node of type \"Mamba.ScalarStochastic\"\n", "NaN\n", "-------------------------------------------------------------------------------\n", "s2_alpha:\n", "An unmonitored node of type \"Mamba.ScalarStochastic\"\n", "NaN\n", "-------------------------------------------------------------------------------\n", "beta:\n", "An unmonitored node of type \"0-element Mamba.ArrayStochastic{1}\"\n", "Float64[]\n", "-------------------------------------------------------------------------------\n", "mu_beta:\n", "A monitored node of type \"Mamba.ScalarStochastic\"\n", "NaN\n", "-------------------------------------------------------------------------------\n", "alpha0:\n", "A monitored node of type \"Mamba.ScalarLogical\"\n", "NaN\n", "-------------------------------------------------------------------------------\n", "s2_c:\n", "A monitored node of type \"Mamba.ScalarStochastic\"\n", "NaN\n" ] }, "execution_count": 21, "metadata": {}, "output_type": "execute_result" } ], "source": [ "scheme = [Slice(:s2_c, 10.0),\n", " AMWG(:alpha, 100.0),\n", " Slice([:mu_alpha, :s2_alpha], [100.0, 10.0], Univariate),\n", " AMWG(:beta, 1.0),\n", " Slice([:mu_beta, :s2_beta], 1.0, Univariate)]\n", "setsamplers!(model, scheme)" ] }, { "cell_type": "code", "execution_count": 22, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "MCMC Simulation of 10000 Iterations x 2 Chains...\n", "\n", "Chain 1: 0% [0:26:20 of 0:26:22 remaining]\n", "Chain 1: 10% [0:00:33 of 0:00:37 remaining]\n", "Chain 1: 20% [0:00:23 of 0:00:29 remaining]\n", "Chain 1: 30% [0:00:19 of 0:00:27 remaining]\n", "Chain 1: 40% [0:00:16 of 0:00:26 remaining]\n", "Chain 1: 50% [0:00:13 of 0:00:25 remaining]\n", "Chain 1: 60% [0:00:10 of 0:00:25 remaining]\n", "Chain 1: 70% [0:00:07 of 0:00:24 remaining]\n", "Chain 1: 80% [0:00:05 of 0:00:24 remaining]\n", "Chain 1: 90% [0:00:02 of 0:00:24 remaining]\n", "Chain 1: 100% [0:00:00 of 0:00:24 remaining]\n", "\n", "Chain 2: 0% [0:00:26 of 0:00:26 remaining]\n", "Chain 2: 10% [0:00:19 of 0:00:21 remaining]\n", "Chain 2: 20% [0:00:17 of 0:00:21 remaining]\n", "Chain 2: 30% [0:00:15 of 0:00:21 remaining]\n", "Chain 2: 40% [0:00:13 of 0:00:22 remaining]\n", "Chain 2: 50% [0:00:11 of 0:00:22 remaining]\n", "Chain 2: 60% [0:00:09 of 0:00:22 remaining]\n", "Chain 2: 70% [0:00:07 of 0:00:22 remaining]\n", "Chain 2: 80% [0:00:04 of 0:00:22 remaining]\n", "Chain 2: 90% [0:00:02 of 0:00:22 remaining]\n", "Chain 2: 100% [0:00:00 of 0:00:22 remaining]\n", "\n", "Iterations = 2502:10000\n", "Thinning interval = 2\n", "Chains = 1,2\n", "Samples per chain = 3750\n", "\n", "Empirical Posterior Estimates:\n", " Mean SD Naive SE MCSE ESS \n", " s2_c 37.0948267 5.62209773 0.064918393 0.2246133828 626.5064\n", "mu_beta 6.1858525 0.10692677 0.001234684 0.0015619790 3750.0000\n", " alpha0 106.4982873 3.56423757 0.041156270 0.0546899425 3750.0000\n", "\n", "Quantiles:\n", " 2.5% 25.0% 50.0% 75.0% 97.5% \n", " s2_c 27.8385055 33.087450 36.545510 40.465363 49.5416624\n", "mu_beta 5.9752271 6.114618 6.185435 6.256202 6.3984354\n", " alpha0 99.4884844 104.173200 106.472326 108.843554 113.6338634\n", "\n" ] } ], "source": [ "sim = mcmc(model, rats1, inits, 10000, burnin=2500, thin=2, chains=2);\n", "describe(sim)" ] } ], "metadata": { "kernelspec": { "display_name": "Julia 0.4.3", "language": "julia", "name": "julia-0.4" }, "language": "Julia", "language_info": { "file_extension": ".jl", "mimetype": "application/julia", "name": "julia", "version": "0.4.3" } }, "nbformat": 4, "nbformat_minor": 0 }