{ "cells": [ { "cell_type": "markdown", "source": [ "# **8.** Example" ], "metadata": { "name": "A slide ", "slideshow": { "slide_type": "slide" } } }, { "cell_type": "markdown", "source": [ "This is an example generated with Literate based on this\n", "source file: [`example.jl`](https://github.com/fredrikekre/Literate.jl/blob/master/examples/example.jl).\n", "You are seeing the\n", "generated notebook output. The corresponding markdown (HTML) output\n", "can be found here: [`example.html`](https://fredrikekre.github.io/Literate.jl/dev/generated/example.html),\n", "and the plain script output can be found here: [`example.jl`](./example.jl)." ], "metadata": { "name": "A slide ", "slideshow": { "slide_type": "slide" } } }, { "cell_type": "markdown", "source": [ "To view this notebook as a slideshow, install the [RISE plugin](https://rise.readthedocs.io/en/stable/installation.html)\n", "and press `alt-r` to start. Use spacebar to advance." ], "metadata": { "name": "A slide ", "slideshow": { "slide_type": "fragment" } } }, { "cell_type": "markdown", "source": [ "It is recommended to have the [source file](https://github.com/fredrikekre/Literate.jl/blob/master/examples/example.jl)\n", "available when reading this, to better understand how the syntax in the source file\n", "corresponds to the output you are seeing." ], "metadata": { "name": "A slide ", "slideshow": { "slide_type": "fragment" } } }, { "cell_type": "markdown", "source": [ "### Basic syntax\n", "The basic syntax for Literate is simple, lines starting with `# ` is interpreted\n", "as markdown, and all the other lines are interpreted as code. Here is some code:" ], "metadata": { "name": "A slide ", "slideshow": { "slide_type": "slide" } } }, { "outputs": [ { "output_type": "execute_result", "data": { "text/plain": "2//5" }, "metadata": {}, "execution_count": 1 } ], "cell_type": "code", "source": [ "x = 1//3\n", "y = 2//5" ], "metadata": { "name": "A slide ", "slideshow": { "slide_type": "fragment" } }, "execution_count": 1 }, { "cell_type": "markdown", "source": [ "In markdown sections we can use markdown syntax. For example, we can\n", "write *text in italic font*, **text in bold font** and use\n", "[links](https://www.youtube.com/watch?v=dQw4w9WgXcQ)." ], "metadata": { "name": "A slide ", "slideshow": { "slide_type": "subslide" } } }, { "cell_type": "markdown", "source": [ "It is possible to filter out lines depending on the output using the\n", "`#md`, `#nb`, `#jl` and `#src` tags (see Filtering lines):\n", "- This line starts with `#nb` and is thus only visible in the notebook output." ], "metadata": { "name": "A slide ", "slideshow": { "slide_type": "fragment" } } }, { "cell_type": "markdown", "source": [ "The source file is parsed in chunks of markdown and code. Starting a line\n", "with `#-` manually inserts a chunk break. For example, if we want to\n", "display the output of the following operations we may insert `#-` in\n", "between. These two code blocks will now end up in different\n", "`@example`-blocks in the markdown output, and two different notebook cells\n", "in the notebook output." ], "metadata": { "name": "A slide ", "slideshow": { "slide_type": "subslide" } } }, { "outputs": [ { "output_type": "execute_result", "data": { "text/plain": "11//15" }, "metadata": {}, "execution_count": 2 } ], "cell_type": "code", "source": [ "x + y" ], "metadata": { "name": "A slide ", "slideshow": { "slide_type": "subslide" } }, "execution_count": 2 }, { "outputs": [ { "output_type": "execute_result", "data": { "text/plain": "2//15" }, "metadata": {}, "execution_count": 3 } ], "cell_type": "code", "source": [ "x * y" ], "metadata": { "name": "A slide ", "slideshow": { "slide_type": "fragment" } }, "execution_count": 3 }, { "cell_type": "markdown", "source": [ "### Output capturing\n", "Code chunks are by default placed in Documenter `@example` blocks in the generated\n", "markdown. This means that the output will be captured in a block when Documenter is\n", "building the docs. In notebooks the output is captured in output cells, if the\n", "`execute` keyword argument is set to true. Output to `stdout`/`stderr` is also\n", "captured." ], "metadata": { "name": "A slide ", "slideshow": { "slide_type": "slide" } } }, { "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "This string is printed to stdout.\n" ] }, { "output_type": "execute_result", "data": { "text/plain": "4-element Vector{Int64}:\n 1\n 2\n 3\n 4" }, "metadata": {}, "execution_count": 4 } ], "cell_type": "code", "source": [ "function foo()\n", " println(\"This string is printed to stdout.\")\n", " return [1, 2, 3, 4]\n", "end\n", "\n", "foo()" ], "metadata": { "name": "A slide ", "slideshow": { "slide_type": "subslide" } }, "execution_count": 4 }, { "cell_type": "markdown", "source": [ "Just like in the REPL, outputs ending with a semicolon hides the output:" ], "metadata": {} }, { "outputs": [], "cell_type": "code", "source": [ "1 + 1;" ], "metadata": {}, "execution_count": 5 }, { "cell_type": "markdown", "source": [ "Both Documenter's `@example` block and notebooks can display images. Here is an example\n", "where we generate a simple plot using the\n", "[Plots.jl](https://github.com/JuliaPlots/Plots.jl) package" ], "metadata": { "name": "A slide ", "slideshow": { "slide_type": "subslide" } } }, { "outputs": [ { "output_type": "execute_result", "data": { "text/plain": "Plot{Plots.GRBackend() n=2}", "image/png": "iVBORw0KGgoAAAANSUhEUgAAAlgAAAGQCAIAAAD9V4nPAAAABmJLR0QA/wD/AP+gvaeTAAAgAElEQVR4nOy9d3xk1Xn4/ZzbZkYa9TKj3raobC8sLAvLUr0YMMULxpXEBoL9MTaxsZMQx4nj2AY7TlwAE3Ag9s+vscHEpoRimw4LbGGb2q56nZE0mpE0mnbLef8YrSxUZzT33ufOzP3+pXJ1z5EenfOc81RCKQUTExMTE5N0hcGegImJiYmJCSamIjQxMTExSWtMRWhiYmJiktaYitDExMTEJK0xFaGJiYmJSVpjKkITExMTk7TGVIQmJiYmJmmNqQhNTExMTNIaUxGamJiYmKQ1piI0MTExMUlrjKUIKaVf+cpXYn9eFEXtJmOyOiRJwp6CyXwkSTKLKRoNWZYVRcGehQkAADHU8pAkyWazxa7e/H6/3W7XdEom8TI9PW2z2RjGWGesNCcYDAqCwLIs9kRM/kIoFGJZlud57ImYGOxGaGJiYmJiojOmIjQxMTExSWtMRWhiYmJiktaYitDExMTEJK3hVHmL1+s9cuTI5OTk9ddfv9QzL7zwwokTJzZv3nzFFVeoMqiJiYmJiUniqHAjfOWVV5xO5xe+8IVPfepTSz3z1a9+9a677pqcnPzyl7/8ta99LfFBTUxMTExMVEGF9IlgMMiy7MmTJy+88MLp6emFD7jd7urq6tbW1urq6p6ensbGxt7e3qKiooVPmukTKYCZPmFAzPQJA2KmTxgHFXYrm80mCMIyD7z66qvr16+vrq4GgOrq6rVr17722muJj2tiYmJiYpI46vgIl2doaKikpGT205KSksHBwaUeVhTl7rvvnv30/PPP379//1IPB04elIKTfN1Gzlml1mxj5Ng4vOkm0xI05tLLSsFqHrXPEg6HGYbR9EaoTI5H2g7LUz42J1+o38HYc7UbayGSAn8eJie8IDCwqwjOLTJQSYqlCIfDlNLUuBFKg11i9yklHOIclcL6bYRf7hSuOt4wvDBE+vyQZ4HLS2l1AgapcDjMsqxZXCYOFDly5pg03GvZcC5bWBrjD/E8v+J2pIciJOQDBlhKKSFkmedzc/+yr3HccjMkBOTRgcBr/8uV1mRddweTU5D4bFekxw93HCTdfrK/jNp5eLCd3PkuuW+HcqBah8HTHSpGpl/4ZejoK0L9dja3SOw4Mf3cY9ZdV2RcdjNh9fhn/uMQ+eK7pMRGdxdDWIHHDhI7Dz87jzbpqovTFNk74v/d/bJnWKjfQSy24MH/8//+Z5lXf9a6+QIdRlco/LCZ/LCF7HXCumza7YF/PU6uKIUf7KS5uuriNCVy5pj/qQdJVq5Q0wTLapBVoMfeUVJS4nK5Zj91uVxzL4jzYBjmnnvuifHNtg3n2c+9jMrS1J+f8N1/d+Ft3+LL6hKd7rIcHKHX/VH62ib2ziaGO3vIeG+UfvJVuXmSfHdnKpy4E0SSJIvFosWNUJmeHPuvb3CFzpJ7fs5kZke/KE95fb/9ydQj3yy47V8Ya6bqg87lP08pPzypPLqXvaR0Zh1SgEdPK/v/JD96IXdlhcqLU0UURUl2H2Gkp23iv//Fvu+jWXuvBWbmF4n0nR7/5b3g7su5+q81HT0sw8dflr0ReuRatjprRtB+Ef7ukLz3BfrSfrbSHrf0o3d0dX2ER44cuffee1V8oUGQvaOS133xVdd+6a7vaPF+1WqNHjlyZF6wTF9fn91uz8/PjwbLtLW1VVVVaRcsEzz+pu939xd98QdcUVniv86inBinlz0v/c9e7kPl8//px8Nw2fPSNZXMN7ele5CIRsEyNBIe/endljWbcq7+7PzzIKW+390vDvUUfv67hNMq9OChNuUHJ5RXPsyWZ86X/rsj9Jo/Sk9cwl3oNKguTPZgGXG4Z/T+v8v/+FesjTvnfUsJTI09+A/WxnOy9y8ZtZ4gCoUDf5ZZAr/ax/IL/q//85TyQKvy9tVcoTW+12oRLPPYY4/9z//8z+c//3kV32kQjhw50tLS8vTTT2vydpowHo/nwIEDl156KcuyBw4c+MIXvhD9+u7du7///e9HP/7KV75SX19/zz331NfX33333Uu9ShRFjuNiH3pqamrup/63/8/13VuVcDD+X2JlvGFa+7j46w55qQfcAVr9uPi/PUs+kCb4/X5ZVv+P4PnF9zy/+sGS31aUsf/+9vhvfqT6uFHeGFac/y/SMaEs9cCfBpWSX0X6/Us+gEsgEIg2oEhG5MDU8L/eMn3klSUfmPINf+szgeNvajSBfz4iX/iMGF76n/rv35Mufk6U4xR+MBiMRCIJzm0ejz766C233KLuOw3C008/ffXVV2v0cnWiRg8cOHDbbbf9+te/PnDgwJVXXhn9+ve+971rr702+vEPfvCD//zP/8zNzf3Rj3503333JT7oomSet1+oXO/7/X9p8fIvvCVfVUk+VrfkX6zYBr+5mP2bN+XhgBbjpzWBwy+LQ915B7645BOE5H/8b8NnjgdPvK366JMifOo1+ecXcnXZS174LiklX2xiP/OanASRM8mG78kHrA07M7ZdtNQDjD0n/5Z/8P72J/KER/XRD47Qh9rk31zCCUtvlt/ewVIKPzhphr0kKyr4CKOKcOHXL7jgAx7sK664QoeaMjnX3+G+92/CnSctdRtVfO1z/fTwGD123Qp/rnOKyK31zJ0H5ScuSVYblAFRpicn/vBw4e3fXj4+kFhs+R//W89j37Gs26yus/CeQ/JlZWRFF+DXNjF/6FV+3q58bn26m8dVJNR6KNLX7rj7geUfEyrW2fdc5fvdAwV//Q0VR48o8LnX5Z/uZp225R5jCDy6l93xe+n6arJm6dOSiWFJtRXLWDNyr7vd97sHQL2g5LAMXzoo/3Q3a4vh2HDPFvZ9D/3ToHkxUI2J5x6zbd/Hl68cBiXUNFkbz5l64Vcqjn58nD7RrdwbQxgUS+Bn57P/eFj2RVQcP62hsuR76me5N3yeCJYVH8669CZxuCfUflTFCfykWanOguurV94nq+zk65vZu96RVRzdRDdSTRECgG3T+UxG1vR7f1TrhQ+2Ko255LKymA56VhbuO4f52nuyYqpCNRBdfcETb2df8fEYn8/58GemD/1J8rhWfjQ2vv6e/I2tbN7K+zAAwJYCck0V873j5m6oDtNvPccVlVnrt8fyMOH4nGs+O/GHh0GlAEBvGO49Lv/w3FitO3c2Ma0+eHXYXPnJRwoqQgDIueqvJl/6FZWlxF81LcG9x+Xv7IzjD3VdNSOw8Lse02GgApMv/DLr4o8ytljzlhl7rv2Ca6ZeVOdS+IaLdkzCbfVxSP+ftzEPtymuoCrjpzU0Ep76029yrvqr2H/EtnE3ESyBY6+rMoEfnJSvrWbW58Rq6hQY+NftzD2HzWNQ8pGailCobuAdlQE1LoX/1aZc4GQ25MVh9ycA/7SV/fb75p0wUURXX6TrlH3P1XH9lH3vtcHmd1W5FP7r+/I9W5iFEfPLUJpBPrGG+fcT5m6YKNMH/0+oaeJLa+L6qewrPjn10q8TvxT6IvBQq3LPlvh2yJtqmfEw/HnIXPpJRmoqQgDIuuxjUy8/meB6EBX4j5PKP8S5GABgfwVhCTzfb66HhPC//IT9go/E4h+aC2OzZ+6+0v/qUwmO/r6Htk/AJ9fELf27NzGPnlZMT2EiUFmaevV/sy+7Kd4ftDbsAJYLtbyX4AQeaFGurmKq4kyTZwh8fRNzn2kbj4F33nnnxz/+8d/93d+1tbVhzyV1FaGldgNjsweb303kJb/tUtbnwpaCuMPACMBXNjI/PGmuh9UjT3qDp97JPP+qVfys/YKPBI68ogT8iUzgP04qdzbFdx2MUpFJ9lcwP283beOrJ3j8Ta6whC9fs4qfzdp3w9Sr/5vI6BEFHmhVvrJxNdvjx9cwzT445TUPwStw1113HT58+KGHHuro6MCeS+oqQgCw773W//ofEnnDT1qULzWtMhHiQC3T4qPN5npYLdNvP2fbeiGTsZqqxmx2nrXpnOl3X1z16O4gPNevfHa1iRB3NjH3tyimcXzV+F//g/3Ca1f3s7YtF0gj/eJwz6pHf6pbqc+BuBwiswgM3F7P/LTZPAbN8OSTT/b29s5++tRTT3V3dwPAwYMHf/GLXxQU6FEgekVSWRHatlwgDfdIo0t2ulieI2PUHYRVF5AUGLh1PfOzVnM9rApFnj74fLzewbnYz796+q3nVm0b/3m78tEaZtXFlHcWkWIbvDBgasLVIA50ypMeW9Ou1f04YbnM8/ZPv/XsqifwQKvy+cbV74231TNPdCuTsVaKTHEOHz78/e9/P/qxy+X6zGc+Y8AmsnoU3caCsFzGrsunDz6fc83nVvHjD7cpt65nmASyYz9Xz2x9SrrvnJgSEE3mEmw5xOY7+ZLqVb9BqK4nFlv4zHHLui3x/qxC4ZF2JcGqCLfXM//VplxZYZZWiJvpg89nnrsfEihXm3nefve9f5Nzza3xOpgBoNVHOyfhmsrVj+6wwaVlzP/XofxNA/5N49Ao/QcdA1k/uYb5zNoP/NZ33HHHtm3b7r333szMzEceeeQjH/nIooWmcUnxHTpz1+WjP/lq9odvibdHT0CCJ7qVkzck9PepyCTnFJOnepRPxB9wkeYE3n0x87wPJfiSzHOvmH73xVUowleGaa4A2wsTKhFyYy3zlXdFV3CFoiQm86BiJHDsdcfXHkzkJWxOgVDTGDz+ZsbOS+L92UdPK59eS7jEluxn1zP/eFg2giJsyCVf36TfaaxhQT+yqqqqXbt2/eY3v7nlllt+/vOf/+IXv9BtMrGT4oqQKyrjCkvDbYetTefG9YO/71V2FZPSjESrJd2ylnm43VSE8aH4J8KdJ/M/+bUE35Ox7aLJ//uFEpqOt+La/5xWblmXqMgyObiuivlVxypjLtKW4Mm3hcp1bMK9RTPPudT/1nPxKkKZwq866MsfTlRzXFJKPhuAZi9tWpWjUUXsPFwaWzEQ7bjjjju+853vlJaWWq3WPXv24E5mUVJ/iWbsuGT60J/j/alfnlE+rYb2uqaKOTpGB6dNX1EcBI6+am06l1gSvUkxmdmWtZuDx9+M66emJXimT7l56erqsfOptcz/6zCdxPEROPxyxo64r3ELsTadKw52xVuG+0+DtMIOsSfRLwVL4BNryC9N6QMAwJVXXjk8PPz1r3/99ttvX74rOxaprwhtWy4Mtx1VQnG0hBgJwjsj9JoqFf44VhaurWJ+02UqwjgIHH0lY/s+VV6VsePiwJFX4vqRP/Qqux2kKM7ecotyoZN4QtDiM6UfK4p/ItLTYtu4O/FXEY63bTo/Xun/qkP5uBpnIAD4RB3zeKdK1d6SHJZlb7vttjNnznz605+e/eKNN95YV1fX19d366231tXVnThxAnGGqa8ImQy7Zc3G0MmDsf/Ik93KVZVMhkpm45vrmMe7zINhrEgel+xxW+N37C2KtWGnONAhT3lj/5HfdFFVroMAwBC4qZY83mlKP1aCx9+0NuxcRYTLomRs2xt8P45yayEZnu1XbqpVR/ob80kWD2+7TVUIABAKhQ4cOJCfnz/7lZ///OeHDx92u90tLS2HDx9ubGxEnF7qK0IAsG29MK7yg7/tVm6sVe3+vq+U9Plp95S5HmIieOwN26bzgVHHvU94wdq0K3j8rRif90XgtWHlI2oYA6LcWMv81rQHxEzg2Bu2rXvVepulbpM8MSp5hmN8/vl+ZVsBcagX3HRTLfNEd7ofgwYHBx988MH777//7rvvnvv1rKysvDlwHGbASlooQmvTuZHOUzFaR11BODFOLy9T7S/DEri2inmy29wNYyJ4/A3blgtWfi5mMrZcEDz+RowPP9OnXFTCZPGqjb6jiIQVODluSn9lFL9PHOywrt+m2hsZxrbp/OCxWKX/ZDe9oUbNLfGjNeR33eluHfX5fP39/b/97W83bNiAPZclSQtFyFgzhLqNodjKrf2hV9lfzlhUjTe+oYZ5ymxGEQPy+IjkcVnq1FwwlvXbxcFOxe+L5eGnuukNNWo68wnA9dXEbEUSC8ETb1sbdi7ffjlebJv2xGgPiCjw/IByXQytB2OnPpfkCPDuSFqrwqampu985zuXXKJCAJR2pIUiBADbpt3Bk2/H8uT/9ijXV6sc13RRCTkzQYcCab0eYiF46qBtw3lq2UWjEI63rN8WS9XZgASvDCtXVai8KK6vZn7fY4p+ZYKnDqoSJjMXy5qNkmc4ltjRl4doUx5RPenzumry+17zGDQfj8fzH//xHwcOHLjmmmu+973vTU9P484nbRThhnPD7e9TaYWqR5MiHHTTK8pV/rPwDOyvYJ7pM3fDFQiePGjbdJ7qr7Vt3B1LtNQfB5WdRSTGHryxc14xcQVpr9+U/nLQcDDS1Wxt2KHyexnW2nhOMAbp/6FXTd/wLB+pYp7uNUU/n3feeefo0aMHDhy47bbbnnnmmU984hO480kXRchkZnPOqvCZ48s/9uKAcr6T2NVzEc1yTRV52jwYLosSmhb7T1vWblX9zdbGneGOEzQSXv6xp3vp1QkU1loKhsCHK8zdcAVCrYeFmsbEk0cXYtuwK9T8zvLPUIBn+ug1leqnuG0vJJMinJlIX+k/+uijZ86cmf30sccea29v//CHP/zLX/7yxhtvvOqqqx544IHnnnsuEsHsW5YuihCi62GlLmXPaLMVAsAV5cybLhqQtHh3ihBqOSTUbVQrdH4ujDWTL18TPnNsmWcUCs/1K1dpsBUCwFWV5Nk+8xi0HKGW96yrrbK9PJb12yPdLTQSWuaZ98doJgfrEs6jXwgBuKqCpLM1qLOz89///d+jHw8MDHzxi18sLi6e94DT6RQENX3D8ZLiJdbmYm3aNfbQN3Jv+PxSDygUXhxUvr1Dk79JNg87isifhxSNFG0KEGp+b9UNB1bE2rQruOxWe2SMFlhIbZYmivDSMuaW12S/CFoYG1IBSkOth7M+9Ekt3s1YM/jK9aH2920bl7S6P9dPNToDAcCVFeTHzcrfIlXai/S0+X73AIBOmjhzz1WZu66Y+5Xbb79948aN9913X3Z29iOPPHLDDTfk5eXNfndsbOzLX/7yd7/7XX2mtxRppAh5ZxUQEN19vKNy0QcOjdJiK6mMsyd17FxZwTzfT69efPC0h9JQ+5Gcq/9Ko9dbG3eOPfSPyzzw/ABddcutFcni4Zxi8vKQokq5otQj0n+Gyczm8h0avd/WuDPUemgZRfh8v/KvO7SqTH1JGfOpV+UpEVRMy4kdvqw298Yv6jbcQiFWVFTs3bv38ccf/9znPvfYY4/9+te/nv2W1+u9/PLLP/WpT33yk5qcgWInjRQhAFjrd4RbDy+lCF8YoPs12woBYH8F+fCLpn1scSL9Z1h7LpurVX8W3lFJgCxzDHq+X/k3zbZCiB6DBug1VdqNkMSEWg+rHyYzB2vDzqnXf7/Ud8fD0OKjFzi1WvuZHJxbTP48pFyLcQwivCBUrNV/3Lnccccd3/jGN0pLS7Ozs887b+Y4Mjk5uX///osuuujf/u3fcKcHaeUjBABrw45Q25GlvvvCgPIhteNF59KYSxQK7WnsNl+GUNsRTbdCALDUbw8vIf3xMLT66B7NtkIAuKKcvGj26V0CraXPOSqix6BFv/vHQWVvCSNouRd+qIJ5KY2lf/nll4+Pj3/ta1+7/fbbo1+Znp6++uqrN23aNOs+xCW9FKFl7ZZITysVFwlP8oahxUvPd2hbGf3yMnM3XJxw22FL/XZNh7DWL3kM+vOQcoGTaLoVNuYSSYHT5jFoAUrQLw13C7Xalh1Z5hj00gC9XONGRZeXkRfSeOEzDHP77bf39vbOmkCffPLJ119//YknnigoKMjPz8/Pzx8cHMScIeLY+sNYM7iSmnDXqYXfenlI2eMk6haUWchlZeSlAdM6Oh8aDkYGuyxab4VrN4W7mhc9Br00oGZRvaW4tIy8NJi+u+FShM8cF2oaCaetA826fmuo/eii3/rjIL1MY0XYmEfCMnRMpq/0fT7fzTffnJOTE/305ptvHh8f7+rq6jxLSUkJ4vTSSxECgHX91vBi6+GPg/RS7bfCS8qYN1xUNFXhBwmdOS5U1atbW2shjM3Ol1RHeloWfuuPg1SH5qWXl5E/mYpwAeH29y3r1E8enYdl7ZZIVzOV5ycwtfkoQzRJnJgLAbisjPwxLaXf09Nz3333/exnP/vqV786+0VBEPI+CMNgKqO0U4SWdVtDpxfJJ/vzEL20VPOtsMACa3NImtceXEj49PtqllpeGuu6LQul3zFJJQoNuZpL/+JS5rVhRTKPQR8kpIv0mYwsrqg80tM67+t/GtLjDAQAl5SRPw+l48Kfnp6enp5+9tln6+vrseeyJGmnCIWq9fLYsDI9OfeLfX46JdIN+bqsh9I0XQ/LED59zLJusw4DWdZtC7e/P++LLw/RS7Q/AwFAsQ0q7eTImCn9vyD7RpWgny+p1mEsy/qt4QXHoJeH6MW6SP+SUvLqkKKkn/Cbmpr+5V/+ZfdulavIqkvaKULCckJtY7jz5NwvvjxE95UyeqwGgItLmZeHzEvBX1D8PnnSI5St0WEsoaZBdPcpQf/cL+q2FQLAxaXk5eH02wuXJnz6mHXtFiB6/P0tazfPK7KoUHhtWLm4VI9tsDSDFNvIcbMhlyFJO0UIAJa1W+YdDF8ZpvtKdNoK9zjJUQ8NmrXWzhI6fcxStwl08RAQlhOq6iNdzbNfoQCvDiu6Sf/iUvKKeQyaQ6jjhGXNJn3GstQ0RQY755acPeahTpv6HSeWYl8pecW0BhmStFSEazbNuxG+Okwv0msrzORgcz45aLoJzxLWcSuEaOzoHOm3eKmd17Cc0DwucDLvjtCIqQrPEu44blmrh1UcAIhgEcpq50ZLvTpM9+llDACAi0rIq6Y9wJCkoyIUyurkibHZTq1dU1SmmoeNzeWiEvLqsLkXzhDuPKmnIrSu+YB97DUdz0AAkCvA2hxyeNTcDQEApHE3SBJXXK7biJa1m8NnTsx++uow3auj9Pc6mTfdimwK33ikV4m1GRhGqGkKd56ybd4DAK8N071alhRZyN4S5tvvy3qOaFgUv0+Z8vGlNbqNyFeuE0cGlNA0Y80EgNdd9MOaVVtelL0l5DUX3a1x6YakINJxwrJmo54jWuo2Tr7wq+jHCoW33MojF+hXALTYBiU2cmKcbi3QSvocxz3zzDM7dmhbpEkVaCQELEfYWHXQxMTExo1a/bekpSIEsNRtDHeejCrCN1z0Qh1PhQCw20GOemhIBqvG+fvGJ3zmhKW2SZ9YiSiE5YSq9ZHuFmvDTgB43aXce46uq2CvkzzYqvz95nQ0xswj3HlKqNNVEQrVjZHBTipGCC+cGKcOGynWy0EYZW8JeW1YQ0V40003NTQ0aPRydRl76B/zPnYXm1MQ+4/U1Gh1Yk5bRbjB+8RPoh+/7qJ3b9J1V8rkoCmPHBrVsM5vshDuPKnzVggAltoN4c5T1oadZyYoz5AqvRyEUfY4mU+/JssU2HQXPoQ7T9j3Xa/niESw8CVVkd52y5qNr7sQFuAFTvJkN/2yZjWUeJ7fvl3bUoWqII0NjZbkl1x8OfZEZkjTYylfvkYeG1aC/qEAnYzQeu2Tqeexx0Fed5m+Agh3N1tqm3Qe1FK3Mdx5CgDecCNshfkWqMgkxzzpLn15clwJTi/VDEQ7otYgAHjDpW2Z9UW5wEnedKdhMuF8wp2nLHXallSMizRVhITl+Ip1ke7WN1z0fIdOGYRz2eMkb7jSPV5GCU1LY8N8uR4ZhHMRqhvEwU4aCb+BcSeAGemn+2YY6TxlqWnU0yoexVLbFOluBoA3XcoFuntqyzNJBkfM2uuRrmahVm9T0DKkqSIEAEttU7i7+U0XPR9lK3Qw74zQNI8fi3S1CJXrY/eWqwXhBd5ZFek//ZZb834ji7LHQd50p7fsAcLdzVp3nFgUoaYp0tPa5ZM4hlRnIUk/7Y9B4S7zRmgMhJrGSFfzW266B2MrLLRCSQY55U3r9RDubrbUNqIMbaltGj/d4gnRRt2t4gBwvoO87U53e0Cku8VSgyB9JiOLzS081tKNcgYCgPMd5K30PgYpfp/in+CdBupSnb6K0FLTGB7o6JkQtxXirYf0PhhGupuFGr0dhFGE2ibP6VPnFhMEszhAdRZhCOmaSl/p00hIdPfzSJ3ThZqm8dPNiIowze0B4a4WobpBf6v4MqSvIiQWWyin9Fq+S9N2rMuw20HeTuP6MlSWIv0dQjVOQXqhutE62HZ+MdpS3F1M3k7j3TDS28aX1Wndg3ApLDWN1sFWLEXYlEdGg3Q0hDK4IYj0tAgYxoBlSF9FCAA9+fWXK21Yo6f5VigOdnEFzmhWu/6w2XmTbOZFPFpT7N2OtJZ+uKsFyyoOAKHyxnUTLZt06TazEIbArmJyMI1t4+HuVkuNsZId01oRviXUN/rRFOH6XDIZoa4g1vjIRHpahWq0xRCW4V1rff3U/O50unFecVrXm430Ykr/kFySRcNkyoM1gfOKmbSVPpUlcahLqFyPPZEPkL6KkAI8pdQXDC/Sr1wfCKT1wTDS02LB2wrf99ChogbSi6YItxaSjknqF7HGR4XSSE+bUIUm/YOj1FNcv7BJr27sdqTvMUgc6OCKSolF34o+K5G+irDNR/1ZJUSRZd8Y1hzOK2beSdf1EOltR7wTHByhQlVDpBfNHiAwsDmfHErLJr3S6CBjy2Sz87Am8M4ItVRjSv+cInJ0jEppeQaO9LQJVYZrVZ++ivCdEXqeg1iq6xHXw7nF5N20bESg+H1KKMAVlWFN4J0RWruuRhp3K6EA1hzOLSbpeQwKo1rFKcB7o7SysQHxRpgjQKWdNE8YKGxSNyK9rYimoKVIX0X47gjdVUSEKkxFuDNdD4bh7hahaj1i/PS7I/ScYk4oqxP7TmPNYVcxeTctFWGkF/NO0O6j+RZSvGZ9ZLCLymgNss8tJu+NYg2OSaSnDcsHLc0AACAASURBVPEYtBRprAhH6a5iIlTVR3rQFGGOABWZ6ZhWH+ltR/SWu4LgF+maHCKg2gN2FZF3R9LvEBSVfhWa9N8dpbuKCLHYuHyHNNyDNY1dReSQJ+1uhDOmoMJS7InMJ00VYUCCMxN0SwERqtZHBjtBQesOuCstraOR3nbEO8F7I8o5xYQACFXrERVhpZ0QAr3+9JI+FSPSyABfVoc1gXdH6DlFBGak3441jV3F5NBY2inCSG8briloKdJUER4ZoxvyicAAsdi4vCJxuAdrJruKyXvpZh+jVOw/I1Suwxr/3dHZrbA+0oe2FQLAriLmvTQ7BokDZ3hnFVYqPQC8N0p3FRMAECrXI0q/KY8MBmAigjU+DpHedsSFvwxpqgjfG6W7imZOJUJVfQTPUbSzMO1CB0V3P5OVy2RmY03g0Cg9p4gBADa3CAgj+9B8Neek3zEo3NuOVU4IAEIytPnolgL8GyFLYHMePYKWyohDpO+0AUNGIW0V4aFRuvOsIuQr1yGuh435pHsqvfLJxD7MUyEFODz2F+kLFWsRpZ+Ox6C+0wJSiVEAOOah9bnEygIA8CXVkneEhtFKWmwvoIfRUrcwoDTSd9q8ERqIuYpQqFwX6Ue7EfIMbMwjR9OpTSvuYjgzQXMFUmSd+ZSvXI9oD9hRRN4fS69uXJG+04hxUu+dtYoDADAsX1ob6T+DNZmdhXAonRSh5BlmrBmMPRd7IouQjorQE4bxMF2Xc/ZGWForjQ7RCFoR3J1F5FA6OYoifZgho3PPQBA9BuEpwlwBSjJImy9dpK8EphT/BFdcjjWBw0aSfrrdCCO97bwhr4OQnorw0CjdUfSXuCXCcryzShzswprPziJyOG3sY1SWRFcfYtDgobE5dwIAoWKtONABFO3vvyOdjkGR/jN8xRrEoMEP3AixrUHVdogoMIxW0UFvxP4zQoWpCA3D4VG6/YM9CIXKtZj2sUJyOG22QnGomyssIYIFawJHxj4gfSYzm8mwS2NDWPPZUZhGx6AIqnt4UoShAK3P/YAiFPvQTKMAsLUAjqSR9A3qIIT0VIRHxuiODypCvmJdZABtPazLIaMh6g1jja8rYv8ZxFgJmcJxD53XiplHtY/tKCTpsxWK/WeEcjTpHx2jmwsIO0f4XGGpEphSpiexprS9AA6PpUdRBUWJDHbyFWuw57E46agIDy9QhEL5mgjewZAhsLUgXXbDSP8ZHs880uqjpRkk+4M5bEI5pj1gayE55aViemyGkb4zWF3pYYExAACAEL68DjFeZnthutwIxZF+Njsfq//oiqSdInQHISTT6qwP3glKqmTcQOq0sY9F+k4LlZhb4Y6i+Q4qoWKtiLcVZnJQbSfNaVBmT57y0kiQK3BiTeDwQkWILf3tBZAmbhHctJkVSTtFuOhiAIblS6ojg50YMwIA2JYe9jEqidLoAF9SgzWBw6PzjQEAwJeviQx2IsbLpIn0xYEOvhwzUubwKN25qPTxFGFZBlCAwenUl34kKn2jknaK8MgY3VqwyFIUKtZgHgzTZCsc6uaKyggvYE1gUekzGXbWniuNDKBMCQC2pYdhPNKHGTToi4A7+JekqVmEirWI8QEA6eIWiaBWVVyRtFOER8fmx0pE4SvWIh4M12YTT4iOp3q8DG6shEzhpJduXVz6axB3w22FaVFRQRzAjJN630M35RNmgfC5wlIaDCj+CYxJAQBsTwfpK4o41M2X1WLPY0nSUhEueiMsXyMOdOg/nygMgc0F5P1UXw+RwU6+HC2DsM1HSxZEykQRyteI/WjS31pATo2nfltKXOkvdQIGQviyWtMtoini6ACblcfY7NgTWZL0UoSjIZgSaW32IuuBc1ZJ4yOI9WW2FZKjKb8e+jsQ7wRHPYufgWDWTYiEnYcKO2lJ6foyyvQkDUxzBSVYE1jqBAzYh+BtBeRoqteXwV34sZBeivDoGN1asLiznrAc76gQh7r1ntNZthWkuIWEypLo7uVL0SJllrwTzGyFqPEyqW4PiAx08OW1iJEy7y/IH52Fj0ofieosEpapGy1iXQ/EwU4j20Uh3RThMosBotcCvPWwrZC8n9I3QsnVx+U7iGBd+VFteH/pGyFjzyEWmzTu0nlKs2wtTHFFKA50ILqHpyXo9dOG3KUUYV0E70YIAFtS/hjUf8bIIaOQhopw0ZDRKHx5HaKFpD6HDEyncj+myGAnX4a2GCjAMc9MI7pFESow7WNbC1L8GCQOdCJuhcc9tDGX8EvsdnxxhTw5roSm9Z3UX9hakNJuEUrFoS7BVITG4X3P4kGDUYSyNYgHQ46BpjxyfDxl1wOueaRrkuYIpHDp6yhfVodoD9hSQI6P41lmtSeCKv3lFz4wDF9ShegW2VpIjqXujVAadxPBythzsCeyHGmkCKdEGJqm6xckEs3Cl9VK7j4qS3rOai5bU9pCIvZ3CHiVBpe/DgIAX1Yn4sXLFFggVyCdk6kpfRoOyr4x3lGBNYFjy5qCAEAow3QTpvjCH+gw+HUQ0koRHvfQDfkfKLk7D8ILbL5TcvfrOKkPsKUgdQ+GlIpD3Xwp6p2gYLkHhPI6xK0QUno3FIe6eWclMCzWBJb3iQAAX1aLeAxal0NcQTqZom4RcajL4JEykFaKcMXFANHdEG89pLAilDwuYstkMrOxJrDijZDNK6aSKE95dZvSPFJY+pHBLsQOlKICrT66MX9ZRVheh5g/wxLYkEeOp6r0BzClHyNppAhX3AoBgC+tjeB16N2UT1p9qdmIQBzsEPCSqQHg2DhsWXYrhBnrKJr0txRAqm6F4kAHbiGFSjvJ5JZ7hi+pkdz9iG6RFD4GiYMdxleEy/53xEwwGHzwwQdPnz69ffv2v/7rv2bZ+TaQxx9/vLe3N/pxfn7+rbfeqsq4cXF8nN5av4Li58vrQn98XJ/5LCSDg0o7aVvp9JqMiEPdiBmEoyEISLQqayV7QFmtONhprd+uz6zmsTmfHBtHGVlzxKGuzF2XY41+bHzlEzDhBa7AKbn6sIx4WwrIeyMpqAiV6UkaDnH5DuyJrIA6N8IbbrjhpZdeOvfccx955JE777xz4QMPP/zwO++84/V6vV7v5CRCG0wpBvMIAAjROwFe+N6WAnIsFQNHIwNdiLkTxz10c/7Kudy4N8KqLBKQ6ChaaSPNUBTR3Y94DIpKf8XHcKOlNuenZsS4ONjJl9UgFlKIERVuhMePH3/jjTdcLldmZua+ffvq6+v/+Z//uaioaN5jn/jEJz760Y8mPtzqaJugFZkrmEcgmlgtWGTfKJtXrMu85rM5nxz30E8ZPcYqbnBzJ46N080r3QkAgC+rnfzTb3SYz6KQ6KXQQy8rM/quERfRjqzEYsOawPFx+pWNK5/4+dLayFB3hg4TWoyN+aTVRyUFuNTyVuG6h2NHhb/6W2+9de6552ZmZgJAVVVVRUXF4cOHFz727LPPfvOb33ziiSckCcEQH4uDMApfWisOITqKUtBVoASmaCiAaB455qErOggBgHNUyF43FSM6TGlRNhek4LUAve1AjGufL6tFtAdkclCRSdomUlH6eMaA2FHhRuhyuQoLC2c/LSoqGhoamvfM5s2bbTYbwzDf+ta3fvKTn7z88ssct/jQiqLccMMNs59edtlln/70p5caOhAIMExMuvyIm2nIIoFADI2Oiiumu9uVmk2xvFZ11tnIcQ8bCARQRleFQCBAKZ0rF6mrlXVWBYJo5RSPjXFfWCsHAivvMkxB6VR3G4eU9tRgZ15zkUCdrPqbg8GgJEkLnfc6EOhpY4orsf6lhwLAAJdNVx6fFpRGBjv1nGcoFGJZludn+qFsyOUODUu1lpQKlgv3n+F3fQh3QxMEYSl1M4sKilAQhLmXvEgkYrXOL+Dxwx/+MPrBV7/61XXr1j399NPXX3/9om8jhNx4442zn65bt85isSw1tCiKy3x3Ls0TyhebGItl5d9XqVgTOvFWjK9VnSoLEKJ4ZKE0I1ntY5IkWSyWDyjC0X6hvA7rTxqWoduvbC4SLDFoAaG8jowNWOqatJ/XImwvhvvblVj+S+NFURRBEFAU4bS7z7rnaizpt43CpnwlptEtxQzLccEpNrdw5YfVgFI6VxFuKaCtU4zFkqwLfyFUlpRxl628DrEXNwDEcllSYcmVlZU9++yz0Y8ppYODg2VlZUs9nJmZ2dTU1NfXt9QDhJCbbropxqFZlo1xbZ/0KlsLGXaZdPqzWCrW+F/8FcqWEWVzAT3lYytWCnE0LFGhzP3nk129QlU91p/0tI/WZtEMIabRLWW10nAP1lQ3FEDnlCITVlDbUcSeReX3xoDk6rWU12H9SU/5lC0FTIyj82W1irtXKNDJhj9PKFuL6E+aZcSdR3VEdx+X7+CsaO7h2FFhwV155ZUnTpzo6OgAgNdee02W5d27dwNAe3v7oUOHAEAUxVBoJhiut7f3vffe27x5c+Ljxo4rCKIC5Zmx+QiLyuUJDw2j2fE255MTqeUoigx2IaaRxe4ehhkPMVrNSSsLNVmkNYUaEyr+CRoJs7nzQ+d045gnpjipKHxpDaL0N+enWiKpONiJWEwqLlRQhA6H4+///u/37t17880333jjjffdd58gCADwi1/84lvf+hYAjIyMlJaW7t+//+qrr968efNnPvOZffv2JT5u7Jwcp5tiz8xjGN5RIQ73ajmj5diUYoHUiiyN9PPOKqzxT3rjyMvkS2vEYbStEM6GDSNOQF3EoW7c6Pm41j5uoFx5JokoMJJCjQnF4Z6kiJQBtRLqv/GNb3z0ox9tb2//7ne/W11dHf3il770pehFsKys7Pjx4ydPnqSU/vSnP62q0ntPPDFON8V8KoSZg2GXUF2v3ZSWYVM+ue9E6jjMxZFBNqcQsQ3hcQ/96qZYD3yMPYfwFtk7gpU/sym17AGRoS7EO0FIhh4/rV+iDeFC+NKaqT+h1dOAs9K/NFXyZ8ShbvuF12LPIiZUc8s3NDQ0NDTM/Upx8V+2koqKiooKtNrzxz10X2m8ihDtWtCYR7qnaFiGWII7jA96yd0T4zHlU88SlT6WItyYT350KoWOQUPdltoNWKM3e+nabBK7w5VzVEgeFxUjWMEdqaYIB5Og3HaU1MreXIK4jGOA7SgSGKhNIUeRONzDl1Rjje4KAgUoiSdNGvcYtCkfUulGKA5186XVWKOfHI9v4ROW44rKJPeSoXxaszGfnPSmiPQVv4/KEpuzbM8Xw5D6ilBU4PQEbYrZPALR1NrhHsRCa6lkHxMHuxD9BCficg8DALabMKUcRUnlHo7Cl9ZEMI9BKbTwkySVPkrqK8LTE7Qik9jisQEzGVlEsMgTY5pNagU2ptJ6QHWYx3snAAC+BPNGCCm0G6K7h1dzDCqpkfCk35RH2n1UTgXhQ8RUhIYivpDRs/Al1aj2MXIyJbZCJehXAlNcvhNrAifH6ca8+KQ/4yiS0Nqkpo4iHEbeCk+O04158f0IX1otDvdoMZlYyOSgNJOcTolCaxKqTyRe0kAReumGVShCVEfRxnxIDVfBjIMQMXo+fuMYYTmusBTRUbQhj5xKDemj3gncQZAUKIste3gW3PgAANiYlyKH4EjyRMpAWijCcYj3VAjRG+Fwj+qTiZGKTBKUYCz5O/KIQ5h2UZlCm482xXkjBPxjUIpsheJQD1+STFZxAGBzCqgiK36fFlOKhRQ5BCuKNDLAOyqx5xErqa8Ij8fWgmce6I6i1Igfk1w9iLESpydoWQy9txaCewzakEdaUsJRJLl6+ZJkipSJwpdUiUM9ak8nVjbmkZPJ359Z8gyzWXmIvbfiJcUV4aQI42FabY97PXDOSskzTGWEjlFRUuNaEBnsRsynPuWN20EYBVcR2nlw2kjXZHJLn4aDst/HFZZiTeDUON2wOuk7MaWfGgtfHMKMFV8FKa4IT43TxlzCxL8cCMezecXSyIAGk4qJVHAUUYp7Jzg1TjfEbxWHqD1guEfdycTFhuS3B4jDPbyjAtE9fGrVN8JSTOnXZRN3kPrRQrXUQRzqQcwfXQUprghXbR4B7GvBxjxyKskPhvLEGBEsTGY21gROemF10mfzimgoqAT8qk8pRjbkwSkv1uDqgFtIQaHQsir3MGAvfJbA+lzSkuT1NERXL++sxp5FHKS4Imz2rtI8AtjrYUM+afbipfSrgTiEHD99atXSJ4RzVoquHpUnFDMpEDqIqwi7p2ihlWTzq/lZrqRKdPWa9TQSQRzq5swboXE4uVo/AURTa4d71JxNPOQKkCOQ3qkkXg+4W2FAgsFpuiZ7tdIvrcGMmMhPesO4ONzL4Un/pHeVVnEAYKyZTEaWNO5SdUZxsCGPNCez9KkYkSfG+KIlu9IakBRXhM0JmUarcB1FTUluHxNdvRxeyGiLj67PIdxq/8H5kmrEY9C6HNLrp0G0UC0VEIcxA4ZPjcPq4qSi8CXViMegpiSPD5DcfVxhKTDJ1DQglRWhKwgA4FhtBC9XWCr7JxA79CZ7vIw43I14I1x10GAU3lklutB6UvIMrMkm7UlbYUSe8oIiIxZcPuVdpYMwCl9SLeFJf2MeJHV8gDjUjZg/ujpSWRGeGk9oMQAhfHG5iFhhJKntY4oijQzyTrSM2kS3QuwOvUl9LZCGe3GDBk+tqp7ULLjHoLJMElaSuJ6GiBorvjpSWREmEjIahUONl2lKZleB5Blms/MQCy4nuBUymdmE5eUJj4pTioum3CSWPm7QoKhA1xStz0nQNGoeg1aJOGwqQiPRktidAAB4Z5U0jHYwbMwlpyeolJxdWnEjZQCg2QurDpeIwqE6iTfmQ/IGjuJKv32CVtlJIn2tOUeF5BkGRVZvUvGR1G4RcbiHM02jxmH10fNn4UswLSQZHJRlko7krDAiDvcg3gl8EZiM0Mr4KwrNhS+pRpT+hjySvKFSoquXw7sTJJI0FYXwAptTKI4OqjWleNmQtGnESiigBP1cXjH2ROIjZRUhVeVGiGoahWS2j+FuhVH3cIJFTXhnFWLgaE0W8YTpVDJWGKFUGu7FDBlNWBHCTNgw2jGoKS9Zc+olVy/vqESsKLQ6UlYR9vlptkByhYRewuYU0khYCUypNKm4Sd4MCgk1er7ZRxsT3wqdVaILLVSKIVCfQ1qS8BgkT4wRi5XJyMKaQLMXmhKzigO2NSh5TaPoPpHVkbKKUJXFAIRwjgrE3TBJU2upLEnjbq64HGsCiRvHIBoqhVphpCmPNCfhtQB9K2xO2BQEAJyzSsS7ERZaQWBgKJCE0kc1Ba2alFWEqphHADuxOkkDR6WRATbPQbhVVbhSA1W2QsaawdjskndElSmtgiSVvjjcy+E1ogvJMDBN1662otAsfEk1Yo09mJE+4virRES1iq+alFWELV4VjGMAwDsrEVMJ1+eSbj+NJFvgqOTuw10MzV6qgj0AgHdWSnj2gKbkjJiQXL2IN8I2H63LXn1FoVm4ojJ53E0lNCdtklpHJZdpGjUSzV7alKuCIuScmDH0AgPVdnI62SqM4HZfGgtBRIHSDFWOQbiOImhG65S+ekQXcqRM4sYAACAsxxU4JbzA0WS0BygBP41E2Ox87InETWoqQoVC24RKN8KSakRXASTnehBdfTyecUwVu2gUDjViosJOpiLUF8Eaf1VQKrr7OWcF1viquIej4NbTaMxNvlAp0dXDlVQlXcgopKoi7PHTAgvJUsNFxWbngyIr/gkV3rUqmvIg6RSh5MLsPKCWMQCwKyoQgIa8JNsNJe8IY7Mz1kysCbT4oDFXnVfxjkrEiqPRDIpkkn20tF4SOgghVRWhWi6iKLyzEjFwtDGXtCSVfYxKouwd4YpKsSbQokbuRBTeWSW6+zADR5MtkRTXKg6q2gNwMyjyLJDJkYHpZJI+rlU8EVJVEYJaiwGibkLUg2FybYXK2BBXUEJYDmsCKm6FxGJj7NmIrekaky2xGjdoMCDBcIDWJRwyGgU3gwIAGvOgJakCR0VXH4dXZz8RUlMRtnhpo0rGMYhaSPACR9fmkF4/DaNVPYwbeaSfRV0MLT51pV+FGziaXMcg0Y25Fbb56NpswqokfL6oTPaNUhHNSZt00pfMG6GhUNE4BtgWEoGBmqQKHFVG+hEjZUZDIClQkqHaC3EN4015kFyGcVwvUbNPNWMAAADDcgUlmIGjSWUYV6YnqSQiNqFMhBRUhAqF9gnaoN6dwAAWkmSyj0nufsytUD27aBRcw3h5JvGL1BvGGj9OKBVH+hGz6dXKHp4FN2w4uRY+rjEgQVJQEaoYMhplJnB0elK1N8ZJcgWOyiP9LO5WqN4ZCLBz6glAfS5pTZLd8GzIqHr38Thp8alRWHEOuIGjjbmkNXkCR5M3ZBRSUhG2eKFR1cUAAJyjEvNgmDyBo1SW6MRYaoSMRkEPHG3MTZprgRFCRtU+BmEWXs+zQAYHg0kSOCq6+3jzRmgcVEwjmwXXTdiYPMlk0sgAk1eMGDKq+o2QWGxMZrY07lbxnXGRRNLHLaQQkmEoQGuzUscwDkl1CBZdmDVmEyQFFWGrjzaoeicAAN5RIbn71X1n7KzLIT1JUnFUHO5hitGqisDMjVDld/JOzLDh5LoRcnjGsVYfXatGldG5cEWlsncEseJoEgWO4taYTZAUVITqRs9HwTWNRiuOnkmGwFHJjRkr4QlDWFanyuhceAdy4GiydCEQXZjGMdUjZcAAFUeTxR6QvFVGo6SaIqQAbT41Q0aj8E7MZDIAaEiSa4Ho7mOKyrBGVz1kNArnrEK8EVbayUSEThi/4iil0kg/50CzB2hxAgYAzoFpHW1IklApyd3LOSuSscpolFRThH1+miOQnMQa0y+EzUVuVZ8sNSYkVy+LZxpt1eAMBAA8anNmArA+h7QZfjeUfaPEYmNsdqwJtHhVqzI6F95ZiegWaUqSDIokbUM4S6opQnUa0y8G56xAvBYkxcGQypLkcTEFJVgT0MI4BgBc1EeIGDiaDLuh6EJuQql6wHAUzlGBeCMssADPwHAAa/xYEVF9IomTaopQC7toFN6BGUidFBET0tgQm1uE2JheoxshY7MTi02eGFP9zTGSFB15JHcfol00LEP/NF2jUpXRufAl1YiphJAsaz+Zcycg9RRhi2aKkHNUiHgWkvU5pGOSSsYOHJVcfbhpZCq24JkHhxov05gHxrcH4N4Iz0zSGjvhNdjPuKIyyeOisqT+q2MjKeJlRFcv7zBNo4ZB9TSyWXhnFeLB0MZBWQbpnDL0ehBdfYjmkUkRJiO0wq6R9DEzKBqSIZlMdPcjVthq1sYqDgCE49ncInlsWIuXx4Lx3SJKKKAEp9m8IuyJrJ5UU4St2vgJAIBDLb4MAI15Rl8Pkhszn7rFS+tztYpaw82gqMki7iANoN1JYgJX+q0+2qCNMQCihdfNRNKlkUb6+eLy5A0ZhRRThEMBamUh36LJy7m8YiXop+GgJm+PgYZcoweOiu5+zDQybaLno3CoN0KWwNpsQweOypNeYBgmMxtrAi1e0FD6yIZxo5+Ak7cN4SwppQhbvKCRgxAAgBCuqAzRTdiQa+itECiVRge54nKs8TUKGY3COyoRRQ8ADcbeDSV3L26shEYho1F4B2YGhdMGogJjIazxVwbXGKAKKaUItSiuNhfeiVyKvtnIW6HHxdpziGDFmkCblsYxxp4DAPIU2pXc4PYx0dWHGCshKdA1RdflaGcPqBDdmIGjBncT4gYHqEKqKULtzCMw04gA7WBYn0tOT1DFqMtBciMvhhaflvYA7OpCjbnQauB4GcmNWVOmc4qWZRArq9X7eUelNDJodiBZimTPnYAUU4Ta5U5E4RyYOfVZPOQJpM9v0PWAW2cyIIE7SGtU7TwwD85RIY7gGcaNbRoV3Zi5E9qFyEUhgpWxY3YgMbJbhIoRecLDFTixJ5IQKaUINcqnngXdUdSYB4YNo8e9Ebb56NpswmoZtobrKFqbTXoN3IEEN5u+1Qf1OdoOwTtQO5AYOJVQGunnCkuB0ew+rgupowg9YRAVKNGyOTZXWCL7RqmIVv/YyK4C3JBRrd3DMJM/g+Yo4g3cgWSm80BOAdYENI2TioKbP9OQa9wTMG7+qFqkjiJs9Wp7HQQAYFiuoASzJ4uBFaHk7udQy21r6h4G7BshGPgYJLn7OCdmE0qtTUEwkz+DJv1KO/FF6BRaV8TlSIGQUUgpRaj9YoDotcAsvb0AecJDBAuTgdZ5oNUH9ZqFjEZhcwpoOKQE/NoOszQNRo2XEd39iFshBWifoPWaH4MwA0eN3IFEdJmK0EhoHSkThXdUIoYONhjVVWCAkFHNb4RACOeokPDiZeqNegyS3H2IxoA+P80VSLbGld45R5XkMu0BiyC5kz6bHlJJEWrXd2IuuKGDBRYQWHChFbdZEtHVx+PFSogK9PrpWs3SyGbBLbxu2B4UuAHDrT7QLn90FibDTnhBnhzXfKQlMGgrLkWWxt0cXi9utUgdRajPesC9EUK0/rLxdkMR9VTYMUkrM4mg/f8yj5o/U59LzkxS2XDCR7YH6OMTAezsKWMaxqWxYTanELHzmlqkiCKclmAsRKu06TwwF664XPIMgyJrPdBSGDOjSHJj3ghbdIiTAgDsmpMZHBTbSK/BEklpJCz7fVy+A2sCWicRzsKjlt03pmlURF34KpIiirDNR9fmEEb75UB4gc3KlzwuzUdaAoOuB1c/h1dhq21CD2MAzNwIcR1Fhiu8Lo0McEVlwKDtJPrdCIsxb4R1WWRgmobRTuCLIyV5Y/pZUkQR6rYYYCZwFLP0ttEUoRKYAllis/OwJqBDEmEUrqBEnhqnkbAOYy1KQy5pM1gqIfqdoNVL67V3D8NMMya0hc8xUGMnp03pa0PqKELNgwbPwjsqEEtv1xvPVYBbVQR0NI0Cw3AFJdLogB5jLUZ9Dmk1mIcYN2R0JAgAUGzTYywOtbgMANQb7xiEW2NWRVJGEWqeZ+x6iAAAIABJREFURjYL56gUR9C2wvJM4hfpBFpxm0VATyM7M0nX63InAGx7gAFb04nufsQqo20TOhkDIJpIGokgJpI25hnsEEypaCpCQ6GbwxxmboRoB0MCsN5g8TKSC/NG2DtF8wSSpVfYGm59GQMaxnHtAfoZAwAgGjiKmEhqsJx6eWKMsWYw1kzsiahAKijCaBrZmmy97gTRxYDXk6XBYD1ZRHc/op9At0iZKJyjArG0UL4FLCwMB7DGX4AiSx4XYhpZ24SuipBHlb7RUqdSoA3hLKmgCHVLI4vC2OxEsCCm1hotgwK3tESrT/PyWnPhi5EDRw1VX0YaHWJzixDTyPSoMDwHDjVseH0u6Zg0UEfSFGhDOEsqKEI9Q0aj4LrNDRUvM5NGlpf6aWRRuOJyaWwIMZHUUPYxcQTTGAAz3Zj1Gw43kTSTg0Ir6TFMImnKOAghVRShfpEyUXhHhZlaGwU9jazNp1P0fBTCC2x2AWIiqaHiZXDTyPwi+CK0IlNX0yiuPcBQ8TISapScuqSGItT9RuisQlwPdVlkMEBDxkitFd19PF70POBIHzNw1FCmUdw7QdsEXadLGY1ZZhJJ8TqS1ucYTPqoa19FUkQR6mkcAwC+GLP0djS11iA9WnGDBkdDQKlOaWSzIFcczYG2CazB5yOhFlvX/ww0k0iKlz1Vb5j4AGV6EreMhrokvSKkAKcn9Esji4JbfheMZB/DTSJs0zdSJgpuxESFnUxG6KQRerRSKo6g3gj1tYpHwe0/Y5zW3KnkIIQUUITRbmS6pZFFQU+tNU68jOTuRwwZ1acJ5Tx4B6ZplACsM0a8DHoamT4NZ+aBnEhqmI6k0kjqOAghBRRhG8ZigGj0IN7B0Cg1JxVZ8gxzhaVY4+PdCPsQE0kNci0QUQspAJ70EVMJCyzAM4boSIpbRkN1kl4R6pxGNgvnrERcDwapOSl5XGxOIeEFrAno0415HozNTnjURFJjGMalkQHEO4GoQI8u3ZjngVtYCgyTRiy6+1MmiRBSQxHqVm57LrgWEoP0aEW/E7T4oBHFHuBETSTNgTYDGMZxCy7rXEZjFq64QvIMg6LoPfBZDBIvI42kTsgopIAiRDGPwIyFBE0RZnBQZMXv0Yrbj3daAk+IVmrfjXkhfDGm9A2SSCq6e3FDRlEWPuEFNitPGk/rjqQ0EpanvIjdmFUn6RUh1nrAjaEHgIZc/GuBiJpP3a5XN+aF4AaO1mWT/mkaQbuTzCC6MKWPFRwA2NI3QiKpNDLAFZYiltFQHXV+k0OHDt14440f+tCH7r//frpYEIHH47nzzjsvu+yyL33pS16vaj22xyNEVMCpbxpZFK7AKU94MFNrDWAhkVDLbSOkkZ0Ft0crz0CVnXRMYkr/bDfmfKwJYEofNWzYECfg1AoZBVUU4fDw8GWXXbZnz5677777xz/+8QMPPLDwmZtuusnj8Xzzm98cHR296aabEh80SvsEwVoMwLBcQYk0OogzujF6UEgjA4h+grYJHGMARB1FeDHDANCI3YhAcvdzjnLECWD5RAD7RlhpJ94InUJNJEXvxa06KijC//7v/967d++dd955ySWX3HvvvT/60Y/mPXDq1KmDBw8+/PDDe/bseeSRR956662WlpbExwWA9kk8RThTehs1gwJVEcoTHiJYmAw71gRavGjGMTangIaDShAzkRT3WoDejbld9zIas3DFmBkU0UTSdtTsKdGVUtn0oIoiPHr06O7du6Mf7969+8yZM1NTU/Me2Lx5c0ZGBgBkZGRs3rz56NGjiY8LAKeniG79qRfCo2ZQoPvMcYMGAamwyAyEcMUVkhut1Ba+9FGDBvv9NFsgOUhpOzxqe14wQGNCaaQft8Kw6nCJv8LtduflzVScy8/PBwCXy5WVlbXoA9FnXK4lY65kWd62bdvsp9ddd91dd9211MNnfMze4pDfjxM2IOUUSa2HGD/OtcAKQEDoGpsutuIsiXDfGch3+hf8+oFAQJZlRmNHuqRAt99Syk4j/fkBCkr8/R1CIY55sFIgzeO83x9rZnUwGBQEgWVZtSYQHOiy7rp8ofT14X0Xsy6L9ftDKKMDMJQwk64Bxp6QRSIUCrEsy/Nxl8Wqy+BOjFB/CVLdfUWRPMOhjNwwkvQf62Rrs+iFxbFu+1arleNW0HQqKEK73R4MzizIQCAAAHO1YPSBUOgv/7KBQGDeA3NhGObhhx+e/bS0tNRuX9L49pNd0zWFmSzSrUCsXDv+1tPLTE9rGvOkfjGjthDn95d8bkt53cJfnxBis9m0VoTtE7Q8Uy7IQfvj07IaxTeCJf1tFuiYEjMy7TEGzbIsq64i9HuG7VXrOKRfvyekNOVTu92CMjoABJ1VFv+4xZnQMYjjuNUpwk1Fyq86qd2umjTjQhod9GfnZ+WhxUn9n0v6Qj5rVzVvSgVFWFlZ2dXVFf24q6vLZrMVFRUt9UD0maqqqqXeRgjZvn17jEM7bRRLC0K0ytroICgKVhhxfS5pm6B7S3D+BKK737ZpD8rQgGsXBQAAzlERePclrNHtPORbSJ+fVmch/BGoGJEnPYhpZG0TdCOeTwTOFlqzrNmEMnpDHmn1oWXP4CZNgTY1ZlXYwT/2sY/97ne/83g8APDwww8fOHAgevD87W9/G/UFXnrppX6//6WXXgKAF198MRgM7tu3L/Fx0SGChc3Kk8bdWBPAdRTh+ghRCi7PBTeGHqJh9Ej9mM6mkeHcSAAve3gW3MJSa7JJr5+KSKoQN2kqIMFIkFapXUZDhRvhvn37rrnmmsbGRofDIYriiy++GP36j370o+uuu27btm0Wi+Whhx76+Mc/XlNT09PT8/DDD1ssaDYNdYmG0XOFJSij1+eQF/pxVoMS9NNICDeNbB/SVTgKW+CUfaNUEgmnb+uTs0QTqz9UjvBHELGj5/VvQToPzlERankPa3SBgYpM0jGJk0kpufuEug36jxulfYKuzSaqGwJVUISEkAceeOCf/umfvF7v+vXrZ51Dr7zyyqxP4vrrr7/88st7enpqamoyM9H6tqgO56gQXX3WxnNQRm/Aa8YkuQe44gogaJtRm4/e0YBZ2IKwHJvvlMaGeOeSdn5NacwjR8Zw7AG45bbHwxCRccpozMKjZlDA2Q4kKIpQdPdnnrdf/3GjaGQMUG0rcTqdDQ0Nc0Mk5jnn7Xb7hg0bUkkLAgDvxLSQRFNr/RiptbgdWSlqPvUs2K3q0RJJsa3iaDVlZmHzipTgNA2j9UNCTCSVRgZwpa+FMSB1isWhwBVjtqtmCKzNxmlMKLkwCy4PTtNMHnLRuj/NwDkqRFc61pwUUaVvhDMQEMIVlaVh4XV5wkM4nslYMuxfa9p8UJ+j/mtNRZgQaducDDdyrM0H6HcCmImYQJO+wwYKhTH9U+kURfIMc0Vo9dWMcCMEbOljHYPQy2gY3TSanjCZ2cCy8qRqZcTjBav0dtqW254LbisuQJK+NO5ms/KIgBbvZhDp4xZer88l7ROL9TfQGNxy25IC3VN0nQZ5U6YiTBS+uEIaQSy1BS26uwqoJMoTY1ixsoBabnsuvKNCGh0EhO1ohkaMwuvoBZfbfFCPmjkTBbf0djYPuQLp170jqYTai7tripZkEKsGaTumIkwU3GblKKZRaXSQKyjBTCPzGuJOQAQrk5kteUewJoBiH8Mttx2UwBWkNRhlBOaBW3obkILGRfw4KU3ebCrCROEdmOthbQ7p0T21Ft1P0KLZeogX3MBRnGMQqvTbJ2idBmlkq4ArKpW9I1SWsCaAYxgfwfWJaBUcYCrCROGKMS0ks6m1eg6KGzToDUNIhtIMA+yF2G5CpDsBcsioEYwBEE0kzSuWRoewJqB/4KgSCiihAJtTqOegc9FO+qYiTBTegdmMCTAOhhJqyCh6ea258I5KxLDhKjsZC+mdSIrbjVk749gqQA8c1Tl1SnL18Q7MMhraxUmZijBR0FNrG3W/Foio5pG2CaPcCQCAQw0dZAiszSGnddwN5clxYDgmM1u3EefR6gPcYutzwZW+/jdCcQTzBKxpGQ1TESZMuqXWUiqNDnLFeGlkXuS+E3PhizF9hKC79CV3H+9EDRmdoIi9uOfBo7pFnDYQFfCE9RtRcvchnoCHtCyjYSpCFcAtRa9z6KA07mLtuUSw6jbiPFp9tDFv5cf0gbHnACGKH6kNhO7SF90DiHcCmULnJF2XbRRFyDmRA0frc0irjq3qRReuT0TDMhqmIlQB3PXQoG9qLa6DEADaJgxkHAPssGGdDeOSuw8xd6JrkpZkEJsKnQLUYSaHGDGRNE9/e0BqBgeYilAFcG+EWfqm1oqoGbVBCYYDtNYwdwIA4FDjZXS/EfZjWsWNFCkDAMRiw00k1dMwPlNGo8Cpz3AL0bSikKkIVYBDvRNAtBS9XsY5yd2PeCo8PWmUNLJZeAdm4fV1+iaSSu4+rLZToLFxbHXwqPVl9AwcxS+j4aONpiI0MlxhqewdoRJGPyQAAGjIJS16uQpEVIe5oSJlonCo9oBoImmnLomkZ9PICnQYa1EMlTkTBfcQrGciqejqRfaJ+Kh2pfVMRagCsz1asSagZ4URaaQfN43MOJEyUXhHpejqRZyAbtbRmaBB1DQy7e4EqwM3kbTaTkaDdFqX4jaSux8xYNgXgaCWZTRMRagOvKMcMYxet+LLZhrZQqKJpEoogDUB3eJlRFdfqqaRrRrc0kLRRFJ9DsGiG1P6LRqXFzYVoTpwjkrEHq26+czR08hafQZKI5uBEK6oDLUDib43QiQ0TSNbNbjFZUBP6btQfSIal9YzFaE68Kg9KIptQHXp0YqbRiYp0DVloDSyWXClr9tWiCv9Fh8YzS4KZxNJ5Sm0jqQ6uUWwuzG3mIowKeCKkXu0NuTpYR2VXL2YaWRTxkojmwXXPqZbj1bJ3ZuqaWSJwDsqJXeKdySVxl1sVj5iN2ati62bilAdeEelNDoAir79kOZQn6PHtQC9G5kB7wQAwDuqEG+EWTzkCaRP40RSKkbkCU+qppElAuesFN1o0VL63Ahxs4dhJnNGw/ebilAdiGBh7bnSuBtrAvqsB2kEsymr1oth1fDOShEvdBAA6rWPl5FGBrjCUuQ0MqO5hwEAu55GtCNpROMTOG72cEACd5BWa9mN2VSEqsE5KiW8xOrGPM1TCZWgn4aDuGlkBr0TFJbIE2OIiaQ6SF9093F4WyFETaMGCxiOwjkqEI9BAgOV2nckxQ0ZbfPRtRqX0TAVoWrwqOtBB1fBTJVRvDQyrUOoVw/DcvkOaXQQa/xG7eNlJDemMcATBlGBkgys8ZcDN1QKohVHNT4GSS7MGrM6xIqbilA1OCemo6jSTnwROqnlnUR0Y/oJKEC7kVrwzINzVCEmVusQOCq6+xCrjBr3DATA5hQqoYASmsaagOaHYEqlkX7OgVljVuvgAFMRqgbvKEcstkQA6jVOrcU9Ffb7aY5Asnms8VeAx+5AovmN0IVbZdS4ihAI4R0VUuqmEcsTY8RiY2x27YZYnhbtgwNMRaganLNKcvUh9mTRutSWiNqERYfFkAicoxJRERZagSHgDmo2gCJL4y6uqEyzAVbAsAHDUXClr7UiNEDIqOZxUqYiVA3GZieCVZ7wYE1A64gJCTt3wrh3Auyak6BxmT1pbJjNLiA8WlkXo0sf1U1Yn0vOTFBFs6WP6x6OKNDrp2s0LqNhKkI1wT0YNuaCdlshjYTlKS+Xb6aRLQ5XXC6NDYEiY01A02OQ6MI0BgBAi9fw9gC8Y1AmB0U20j2lmfRRA4Y7JmmVnQgaaypTEaoJbnOyhlyiXTKZ6O7jisqBQfuHafEaNI0sCuEFNqdA8riwJqCpfUx093J4DkK/CONhWmk3rvTxA0e1TCSVXL28A036zV49rOKmIlQTzlmF2JGnLpsMB2hQm54skrsfseQuGN5LBACcA1P6jVr2pJRcmNJv8dH6XMIYWPhcvlOe8tJIGGsCmhrGRdQGTPqU0TAVoZrg3ghZAnXZpF2bjtWiuw/xTuAKAkug0Io1fkzwTkw3YWOehoZx9BY8Bj8DAcNwRWWI9TQaNDOMK34fADB2NMO0PqYgUxGqCedE7tGqXWI1bhOWZi9tMrBdNAqP2qy8NINEFPBocSehVBodxL0RGtkqHoVHdRNqZxgXUZOmICp90zSaXLBZeXD2DIVCo2Y9KERXL6LDXOva86rAOauQK47maFJhRBp3MZlZxGJT/c0x0uqjRo6UiYIdKEdafZpkbokuzEgZmULnJF2vfWk9UxGqDPbBEFo06IxGJVH2jXKFpeq/Oja07kamCryjQhoZQEwk1egYhBs9DwAtXiN2IpwHX1Il4VmDcgTIFki/Bh1IJDfmjbBzUqfOa6YiVBnOiXww1GQrHBngCkoIi9YJ0OAho1GIxcbYs3E7kGhhHxOHexFrygQkcAVprfG6Mc8Dt/Q2ADRoEziKeyPUxy4KpiJUHdyeLOtySK8GPVlw7aKg43pIEN6BGUbflEeatTCNpnrnAVXgCktl3yhmBxKNDsFuzGNQixca8/QYyFSEKsM5K8VhNAsJz0C1nZxWO3DU7DwQI7iG8UZtii/jZtMnRaQMABCW4wpKpBG0VvVaVFRQAlM0EkHsvGbeCJMV3lkl4bWrBm3Wg+jCPBXqk1GrCpwT01FUYSeTEToRUfWlM50H8EJGk0n6mEHjWtwIce2ioKNPxFSEKsPmFFBJVKYnsSagRaE1ZD9BMjgIo/CoFRWIBoXXZe8osWbgdh7QxziWODxqI7YmDU7AEuoJWKFwekKnbsymIlQf9EBqdQNHqSzJqJ0HksVBCDOhUv2YgaNqXwtE1KBBSCrp884qRLdIvgUsLAwFVJY+4gm4e4oW2Yhdl85rpiJUH9xGBKpHTEijg2y+g3BonQCT6EbIWDMYW6bsHcWagOrSF12YVUZDMgxMa955QC04R4WIFygHM9JX84W4AcMtPtqoV/6oqQjVh0d1FazLId1+KqoXOCqhLgYAaPHRJsPnU8/CO6tEPCex6h5iCTVSpn2C1mURLkl2Ka64XB53IQeOqit93BakOuaPJsm/WFKBW3rbwkJlJjkzqdp6wO3H6w1DQILSzOS4E0BU+nj2MdUDR0V3L6L0k6K03iyE5dh8pzQ6iDUBdSsqKAE/DQfZnEK1XhgvekrfVITqw0db1eOhrn1MHMY0jkVDRv//9s47wJHiSvhV3eqWNNLknHPayZuHjcCCSQsGGxMO28TvbMD2YQw43HfmjvNx8N2duc/psw+fzySTvGBgDWYXll0254k7OeccNAqd6vtDeJidnaCRWv1ao/r9JfW0ut5uddV79d6rVwEzF0KfyJMRisdcZEqtNQkh0kC3Ae4IngDyiruBLbyu7sCXBjsNCWkIbvBpuXOGKkL1YSNiiCgo9mkoAdZEqlloDXZHbd1EIK0JEHTGBEaoUD3/mDwxjI0mJgQsZbRuHAWQVxxBpw2rbgHDpow2aJgnRRWhX4DdUVQUodp4ILIkjUKmjAaWcwy5XaODXasjcVQc6IINDwekGQQ38KNVTRyFPXlNy5RRRBWhn1g1iaPgKaMBpwhXU+IoeMpob+CkjLoxJEIqQqRq4mjwpIwiqgj9BAc6HtyJo6pUHBX7O7iEDBUe5C3145qOB1VYNf4xaaCTSwSbChsmSHZYwKSMujHEJstjg4CJoyr3PmRyANLSAg6otyxwgE0dNLIo3Yqb1ag4Cps9P+pCThklB07KqBtYRbhGvaO4YNcEAecMQHqoOKqSY1yxTxPBBVhlVOPep4rQL3CgNScRQsWRuFYNw1Ds7+ASM3x/jncE4lSIoP1j6aF4QpWKo4TAFhapGydFAVJTZi6w+QHFkbh2TI2BP9BpSEwHTBnVuMIwVYR+gQ2PJrKk2CahBCiKRKp4SGCjRAGqCLmEdAk0cXSNGv4xaXyIMVsZk0UVqbygbgIVBUiV0bnAGsFFkbhejaPqYctoyAQ1TWq6c4YqQn8B7R9TIWZOJFEeHzLEgh1MXztOigNTEcImjqqSNgwbIEQI1Y4FZu8nQoZFIo3IYsA9M772vjgAWUihdYokhGCLhgeBU0XoL2D9Y8VRakyFg92GmCTAg+kDdEWIjWbWGi6NDkAJUBSJ63wOFMF6xWcC5GD6S4EtLIUQKo5EtWO+PgQ8JqJxpXWqCP0FrH8sNwx3zRCn7NNDxIEO2DVBgCpCBD0bFqkRKIL1il+YIPnhAXAw/aVwscny5AgR1T0WcgWoYwYNdBrg0sXrxlGxtl5xqgj9BZeYIfZ3gLXOoOxQ3ODbeBD7IQfDgAMhhOLNUO37BJeYIfV3QLWuSoRY7O8AjBIFqF8UIYQY1hCbDFhmz/cIsTw9jghhw8AitLXjpDiKrghXBVxihjjQAShASZSviaOw2fMBPBVCn0CSYsEuBY04fXiEokhDvbTctndwCemARnBJJK7xzR8g9QOHh7XvfaoI/QVjCcMsJ0+OQglQ5PMOCgnUNRqgmTJuYP0ByOf9M9JoPxsWiXmTiiKtCO3XBCoCXlGhYYIoPgx9caATsIyGoKDWaY0Opp+FKkI/YkiENAx99I8Rl0OenjBEJ6oo0ooI6KnQEJ8mjfQRWYISwEczCNYvihCq0TxKpCJcEqQZZOVQrBm3TfvQ++5NhEA0TpAMKzaymjZKFaEf4RIzAA3Dkkhc40PymDjQycWnIgbsDQnoFSHmeDY8RhrugxLAx43VYl87l5ipojwrYtyFpgWSZg3U3octLIUQKvHRDOprh00Z1X7gU0XoR7iEdMCMicxQPOoi095WPRT7Ow1wg4EgVB/IUSIEnS/jo2sUdk3gDhEFbt8bohKIw6Y4bFAC+LSDghDYKqO1EAOfKkI/wiVmAnpIGIwKfdhYLYIOho5pEmnEETxU+yrAJWUCZku5U6W81oRifyfgmqBmnJQErFccIYQwNsSnwdaX8doMkseHsdHMhISqK5Ln1I6jkiitG6WK0I9wieniYDdghZGSSFztrX9M7GvnksCcY7XjJHBDRG440AhxlBFZDLjb5k3vE0mUxwcNcSmqS+UhAZ0y6ga2vkxJlPeJo2I/5MBHQDERqgj9CDaaWUsYYIWRYh92UEigpSVqxlDgBgjdcAkZYl8HoAAlUajWqzJ70mCXIToRsKJQTSDvnHEDmzZcEIHbbcTlVT0N2JoyNhEN2Em25hWFqCL0L4bETLGvHap1rzMmFNskkUXAQ1gC3jnmPppuapQIvuzm8wmvw4RiH+RUiBCqDfze5xIzxX6wgc8zKCsUN3p1EBv42VsFEQAVhagi9C9cUgbgeCiJwjVeToXQ7pHAXxMghjHEpcKeyOOdfwzWOdYzQ3gGxYLtYFQHLjkL2h/gZVhE7GvjkrNUl8dDoCxgqgj9C5cI6R9LMCOMUL99xT8U+yGz5907agsD8Cy6eXBJmYC973WgCNYMqhlDgb4cRJ/V0zAA1tPwzh9AZEka7TfEpfpDJE+A2jRFFaF/gU0dRN4uCmGTBhsmSKbmO2r9AWygaE0Ebp4iorLiH8IWFlkFXnE3XBJkWKQ0CnlhBklDPWxkPObA0rVrxuiKcDXCxaXI40OApehLvfKQiH1toGuC1TIVJmYAToVmA0qzrjhQpNinidPBRsb6SaplqR0jJYHuFUcIIWQANYNKInH1yrcSin3tXFKG+tJ4TA1Q71NF6GegS9GXRK08X4YQcbAb8Aie1bUmaAMUwIv6y2JfB5eUgeC2s1evJjMILj8gPRRPi2TctbJfif0dgDERdxAnMQSgaaoI/Q6XmCHALQu82EoojfazljDGBPE+IoQQqh4jpZrvqPUHbFgUQkie8vmYVG/xIkwo9rcDVhQSFdQ8pfWhrH4C1jWKESpe+diHLa5WM05KgWwgqgj9Dge9g6JxkkgrCRSJva2AaWMIoapRBDUeVIdLyoINFK14KuyF9Io3TJB0KzaD7WBUEy4hXRrqASy87kV+AGxMpGqUKsLVC5ecBegfMxtQigU3Ta1gPMBmyoy60IwUwAWX5wG7LCiJWnGgSOzv4AHDw6vFK47chdej4qWhHigBVpofoNhtxGk3RMX7T6SlqRkDO3CGKkK/AzsVIvd4GF2JIuxr45LgNhKNkZKoAC64PA8uCXJjdWYonhRWEigiRBzoNMBFiarHwNYE/gA6cXRlilDsazckQoaHA941WldXt2vXrszMzJtvvrm3t/fSGx577LGr/so999yjSqOBAhsWhRAGDBSteDz0tgO6RqtGSRmdClUCr3BjtTTSx1ojAMPDtPdVpDQK142v4IResa+Nhxv4ooKaJkkRUHhYBUUoy/KNN964a9eu48ePp6SkfPWrX730nrNnz1522WVPPPHEE0888cADD/jeaGABm0ZfFoWqPJ4KicshT48Dnse7apIG3XAJ6dJwL2CgaEVmkNjXzsGdvoQQqh4DOHnAf/CgijCUQ7Em3OpxWETs7wDMk4IND6vQ7P79+10u1xNPPIExfvrpp2NjY5uamvLy8ubdVlJSsmvXLt+bC0S45Cyxr91UsA6k9dKVBIrEvnYuIR3wPN7qMfJAwerx2GOOZyPjpaEeqLBraRQ+M0KQZ4a+2NfGJWf7WaJFGXEi+yoKD6PPUqUg98+URuGqMZIb7tF/qdjbatl0tb9FWowqUK+4CjNOXV3d2rVrMcYIIavVmpubW1dXd+ltTz31VGVl5b333tvS0uJ7o4EFn5Qp9oKNB/eOolHPAkUCaKVBmaALE4FfZfRi+GTI3i+Lxp77A8ReyN53BwhXU9+zkXFEdCm2CSgByjxPG1YUcaALcPdw9RgpiwbrfE9XhG+99dalF8vLyzMzM0dHR0NDPz/FMSIiYnh4eN6dDzzwQFJSEsdxL7744pYtW2pra2NjFy5dIctyZOTnJ9HdddddTz/99GJSzczMeCg/LHJkgqunxWYDO7G6KJw70WvfHrf8LgpHZzMTm+xR2ZJVAAAgAElEQVSLqHa7XZZlxqs1ZcMUTjRzyGWzrXAjsJ4hMSn2zkalYCNI61k8rhvjJqdtZiPPssuUrXP1tHJX3yUDvagn+tiiMGyzgZ3X4Q+Y+LSp1npDdumlf3I6nSzLchznv9bzQphXOlibzbHsncpwL7aG2yUFAfX+mSHuwTzZZlt5ScDlMJlMBsMyms5TRfjKK69cetFisWRmZkZERMydN6empqKi5rv5b7/9dveHysrKI0eO7N279+67716wIZZl29o+N59DQkKMRuMSglmtVs/+BZCQrELb+KDFyEMV8VsbKzfaueusyysn+1CndfNVRh/+VzHGZrPZO0XYMqiUx5CA6FPPMWQW2D55C+ofZUUoySL1K9ZS6zKKUHHYppwzYanZUHmDjTPy1gRstQb4wRMXI6XmsmP91rLLLv2TwWDwtyLcnEx+VCVbrUtNoW7sTf3G1FzAoVc/KW5K5q0WmHfPU0X4xhtvLPan7Ozs559/3v1ZEIS2trbs7KXCDBEREXb7UgcizF0Rrg4wazBEJ0qDXVxKDogAZdH48IAHHhJCxP5OwB2158dWVdKgGy4pS+htBRSgPBrXjOPS5aqHir3A2fNVY+ThotUTHnbDJWe5WqqhWs8Kw+MuMu5CkcupQrGvHXDT1IADSQSlAGlBpEqM8LrrrhsbG9uzZw9C6Be/+EVGRkZFRQVC6L333vv1r3+NEJqenj548KAkSbIsv/LKKydPnrziiit8bzew4FKyBbhAUblngSJppI+1hjMmiwYiLUjVKCkDOwzYX7jPNwY8kacsCtdMLD/FiH1tPNxUKIBmz/sPLikLMELs3j/jydgHrykDawGroAhNJtOrr776yCOPREZG/va3v33ppZfc1+vr648fP44QEgThwQcfNJvNYWFhP/nJT1599dWCggLf2w0suKQsEW5ZUBSBmyaJsJz7XewBLq52fpSUwwXM/QefnA2aL4OqPEgbhs2UuTBBMkNXSXG1uXCJGdJwL+D5M+XRuMqDehpiTyufApYwfH4UMlMGqbJ9AiF05ZVXdnZ2Op1Ok+lz//7jjz/u/hAdHV1XV6coiiRJPA920hUsfHL2VO1xqNbNBpRhxRcmljG7YN0jgw4kKigVzj3iP9xl9kxrNoC0Xh7t6YrQUnmtBvIsyHnoNYGfwAbOEJMEGRaJwkeHllGEim2CSAIbAXb21vkxcl1qgK8IZ5mrBRdoiWGCVgsi91TY24aINyeGq0J5ND6/nGEo9LYCbiMDtwr9B5cMGSZMtWBBRgNLZg4SWRIHuwDPolutzgD0WVgErPc9Gvg9rVwyWJIUQqhqlJQHumuU4gmMJQybQqSxASgByqPxueXGg9jTAugeOTtKKlbrVJicLfZA5suURS3jHZUGutjIeMyDZWyeW8W9DxomLInCTZPEJS91j9jbysNZwDMS6rSRAtDwMFWE2sGBBooqljMMFdsEkUQ2Mk4zkeZRtYrXBHEp8uQocS2/nctPlEaSpXsfts4kWdW9z6dAmkEmFmWF4vqJJXsfupBCYQTmQHURVYTawadkiz1gVXXcMfMlRoPQ3cLBLQfRql4TIIblEtIBq22VRZLzS64IhZ4WqCAWQqhjmlg5HLOqNhB+DpecI/bpOiwC2/vndTDwqSLUDi4lW4AzDGNMKJTD7dOLjgdY94hNRL0zJN+zooiBCGzvl0WhpRWh2AuZNLiabSCEmBArDrFKo/1QAlQsGRYhglOeGDbEpWgp0lz00PtUEWoHn5wDuIMCIVQRg8+OLKEIIQsunx8lxVHYsHrfRz4lB9A/lhdG+u1kcrEcfkLE3nbA3j87QtbGQDWuBXxyjtgN5g2qiFlKEYp97Vx8OmbBdq6cHSFrY6giDBrYqDgiifLUOJQAa5c0DIXuZi4Vzj0yBpw25m+4lGwBzjHOYlQUsWj9ZWm0H5tCGEuYxlLNcm71BgjdwCaOVkTjqtFFDyaEHfiigi5MwJ+8RhWhpnDJWWIvnGEYjRZbESpOuzw9zsWCuUf0YBX6FS4xUxruIZIIJUBF9KL+AFi/KNKHc8yv8Ck5gPkBETyKNeHmRQ4mhI2J1E+QdCu2QBdSoIpQU/iUHMBlwdoYfHaRFaHY08olZgAeQ3h2ZJVPhZjjDdGJYn8HlAAV0Wix3he6IXMl+u1IVFD6KjqG8FI40IGPlgyLCD0tgCtCnVjAVBFqCpcCGSpw17TtnVlgPAg9zXxqruYSfYZTRs1T8O4Rf8On5gIuC9YusSLsaeHhFOHZUbJ2VdtACCE2PBozjDwx/3w6zVis94ksSUM9XCJYldGzI7rofaoINQV2KkQIrY3GZxYaD2IP5N6JmjGSF45NyxyWF/BwKTlCdzNU60WRqG2a2KUF/gSbPa+TNYG/ge39xbxBYl+7IToR6ng45DaDdND7VBFqiiEmSXHMKLZJKAHWxSysCIXuZj41T3t53JzRh1Xob/jUXEB/AM+gwogFDiKQx4Yww7iPyADhTHAoQj41V4RThOti8NmRBXYyit3NfBrYwJcJqhnTRe9TRagtGHPJWYDRgnULGYbE5ZDHhwzxqSAiIYTOjJB1OhgM/oZLzhYHO4m80KJME9YtFCgSepo5OBsIBU/vg4YJY00ojMdtl+TLCN3NHFxMpGGCJIXgMD+eTOwpVBFqDZ+WB+gdXR+7wIpQ6G3jkjIhNxKNBsVUiHmjITpRGuiEEmD9Qv4AsbsFMDw85EAzEskMXf29z6dCDny0WO/3tPIpYL2vHxuIKkKt4VJyBDj/WKoFE4L67BeNB7GrEdAv6pRRw8SqPXdiHnxqLmCgaEHHuNDdBOgcOz1CNsTAnXqgIWxEDEJYnhiBEuDS3v/syBG4KqOnR8j6WF10PlWEWsOn5YndTYACVMTg08MXjQehpwXQPVI9RvKDIFPGDZeWJ3SB9X5xFG6dmp8vA5spo581gQZwqbkC3NhfH4tPX6wIxb52Q2wSYKaMfnqfKkKtMUQnKk67YpuAEmBDzPzxIHQ2Qq4JhvViFWoAnwKZMcEzqCjyovrL0ugANnBsWBSUSKeCqvdTc8UuHeXLCKCuIElB1WN62T1MFaHmYAybSL0+Fp+asyJUnDPy1BgXB5Yp43aOQbWuMVxyljjYDVhfZt3FZpDYBekXRQidHlHWB03v82l5gCvCaCOKMuLmybm9D5kyWjdB0iw4VAeZMogqQhB4UP/Yhljmoqmwu5lPzgasKRNUawLM8Ya4ZMDzmDZcbAYJPZBJg70zRCEobVXXlJkL544Qw53HtCEWn5zb+91NgL2vK1cQVYQA8Gn5gIowwYzM7OfnMQmdjXx6PpQwNhF12EhxpF7GgwbA9v7GeYqws9GYXgAlzMlhskE3U6EGsKGR2GiSRgegBJhrBhHBJY0OcElgNWVO6an3qSIEgE/PF+GmQnSxYQi7kejsKCmNAj6cWmP4tHyhsxGq9YII3G8nE+7zmAgRe1o5uOz5U8NkQ2ww9T1CfGq+0AXW+3MVodDTwiVAnr50cphspIowmGHDoxHDyGNDUAJcNB46G3i6JtAQWMc4i9HamM96XxzoZEIjmBArlDC6mgq1Abb318XgmnEiKgghJHRcAHQFOSTUNEnKdFNemCpCGPg0SMNw419XhPLUGBEFQ3QClCQnhoJuKuQS0uWJYcU5AyXArD9A6GoCnAoVgk6PBJ8ZlF4gdDZAtW4xoKxQ7D6WUuhu4tPAev/sKCmKxEbdbJqiihAGPj0fcDysj8XnRomkuJeDYIMBBeWaADEMn5ID6BvfFItPDLkVYSPgVNgwSWJNONoI1T4MfGqO2NcOWGZv4197XwRNDtDbwKeKEAZYRRjGoXQrrhknQkcDn14IJUa/Hdklkh2mo/GgDXxGgasDrPc3xeGTwwpyO8cywHr/xBDZFBd0XY+NZkNUvNjXDiXApjh8YpgotgnF5TDEJEGJobfep4oQBj4tX+htAzQMN8fh40NE6IK0Co8PKZtig6K81jxg/WMpFmxgcPuYQxruA0waPDFENutpKtQMPr0AMFvK7Q9wdTTwaXkIbvAdHyKb6IqQgo1mQ3QCpGEYi08NykIXZJzgxDDZHBeMbyCfUSh0XADcT7Y5DjfUNnLJWdgAtp9Zb1OhZvAZhULnBajW10TiAQeZaoV0BvTb0YxEcsJ11PvBOA3pBNhlweY4PNjRwUbEAiYNHg/WNQEbFoU5I+B+sk2xeLwVMlvYJqLWaVKuj/JaGsNnFAjtYIqQxWh9DJ5ouQDY+zp0BVFFCAafUQg4HooiccpYPUoDswpFBZ0NvqTBWfjMQqEDrPcr47C594IxE6z3Tw6TsiDbPzoLF5+m2Kfk6XEoAbbEKVx/M2hMRHeuIH1JE1QYMyCnQgajK6Sm9giwwVA1RjJCcThY4XtgjOkFQkc9VOvrYnDWRJOSDLYmODZELosPUhsIYcyn5Ytwu6d24q5hUyxjBnMFHR0ilTrrfaoIwTDEpSjOGXkKzDAsmb5wxAS2Jjg2SCqD0i/qhs9c44LzB3AT/Yhlz0oxUAIcHVSCuvczCgF7v2j6wjFjgQwUoRYUdH5Ud+FhqgjhwJjPKIRaFii2CYs49WdnCkjrCKGjQ2SLzqxCLeFScqSRPsVpB2ldaKsdSVhzdBBmLiQIHR8il8UH7+TDZ64R2sH8AYauuo7ootpxmN4/O0Jyw7BVH4dOzBK876IeMGYUQo0HV1u9Mb3w9Ahy11vSnqODQewcQwizBj45GypbytVxwZix5giQIrwwQSKNON4M0rguMGYUCj0tULunXB31xszCwwMwva/PgU8VISR8ZpGrrQ6kaaGt1pJTlBWKz40CjIcuG3HJJCf4ttLPhc8qgjKDhLba7JLio4MKyFx4eIBs1d9UqCXYaDbEJsm9AKdxyZOjRHAVZCVDmUFHBvXoCqKKEBI+PV/s7yCCS/umXR31fOaarQkYxDA8PEi2JgT7u2fMXANiBin2aXliJDErM8KIL0wA9L4+p0KNMWYWiRBhEVdrjTGzaGsCAzLwCUKHB5WtCbrr/WCfjGDBHM8lZWhffZsILrGvg0/L3xKPD0MYhocH6FSI+MwiobNBe/+Y0F7Hpxcght0ajz+FmA0/HSA6nAo1hs8qkiC21QtttXx2cW44FhTSadO695smiZnFqRbd9T5VhMAYs4pdrbUaNyp0NnDJWZg3bkvARyD8Y58OkG1BPxUyIVZDdIKouX/M1VbHZxUhhLYl4COaK8KeGTItkoKIYO99Y1ax0F6vfXUhV1ud8bPeB1gUHtarDUQVITDG7BKhXWv/mKu1xphdghBKsWCrATdo6x8bc6HuGVKum6PIADFml7jatDaDXK21xuxShND2BHwIYirclsDQvmfDoxmzVRrq0bJRxW6Txwb5lByE0PYEAH/ApwNkO1WElEvhs4qEjgsa+8dcbbXGrGL35+2JWs+Gnw4olXHYQF89txnUWqNli0Rwif0d7qoiIP6xQwNkhy6nQu3hMouENk17X2iv5TMKEcMiiIGPEDpEFSFlQRizlY1OFLtbNGuRyJLQ2chnrXF/3ZGAD/VrOh4O9pPtifTFQwghY06Jq7VWS/+Yq72OT87G3GcVfbYnMAcBel+PU6H2cJlrRG39Aa6Wz1xBCKGSSDzoIIMO7VrvshG7RPJ16RWn8xE8xpxSV0uVZs2JXY1cXCpjsri/bk/En2g8FQ6QnXQqRAghxFgjmNAIsU+7MKHQUmPMKZn9uiMRa6kIBx1owEHKqFccIYQQl1UitmlrBs3pfQajrQnMoQHt9hEfHCA7EnXqFaeKEB5jTqlLQ/+Ys7namFs6+zUrFHMMaprUaDSOu1DLJFkfo8/hAIAxp9TVUq1Zc86WamNu2ezXnYn4gIaK8GC/sjWB0elcqDlMZCxiOc3ChIpzRhzq5uYcu7YzER/o0673D/Tp1wKmihAeY3aJ0F6vWZjQ1VxlzCmde0XL2fDQgFIZH6THDiyIKafM1ayRP4AITrGvjc9YM3ulIAI7JNIxrVHvH+gnl+t1KgSBzyl1auUNElprjBmFmDXMXrlcWzNIz71PJyR4mBArG5OkTTV6IgpCVyP/10wZN1ck4Y+1Mgw/7iNXJNG37nOMuaWu1lqkaOGhcrXW8qk5swFChBBG6PIkRrPZ8OM+cnmSTqdCEPjsUleTRorQ2XR+rjMAIVQahYcdpM+uRe+3TROXrN9tM3RK0gWmvHJn03kNGhI66rnEDMYUMvfi5Un4QJ+izXbCj/vIFXQqnANjjWAjY4WeZg3acrVUGXPK5l28Igl/pIkZ1DNDxl2klAYI58DnlrlaqrQJE7qazhvzyudeYTDamcRoYwTr3ALWr2RBhTGvwqWJInQ2njPlV8y7mGrBUUZcPeb38dBvR312UhGU55IvgTG33NV4ToOGnI1nL+39K5PwR71aWEH7e8nlSTQ+eBFMWBRjDRd7W/3dkDw9Lk+O8Cm5865fmYT392qhCD/qI1fq2AKmilAXGLOKhZ4W4vJ7LrOr6Zwxd/5UiBDalYz3+X88fNSnXJ7EsPodDjCY8is08AcoM1PyyMDcXAk3maHYwuFa/5tB+/vILh1PhVCY8tc6/W8GuZrOG7NLETN/wt+VhPf7f0WoEPRRr7IrWb+9TxWhLsC8kU/L93fuqGK3SUM9fMYC55JflYz39/o9TLWvl1yl48EAhTGnVOhqJILTr624ms4Zc0rm5krMcpX/zSCC0Ee9ytUptPfnY8qvcDX5XRE6G88a89deej03HHMMqvdzbamqMRJt0mOJ0VmoItQLpoJ1zoYzfm3C1XSOzyrGhgXOxLw8iTk+RBz+TFwlCO3rVa6mivASMG/i0/JcLf41g4Sm8wtOhQihq5Pxh342g6rHSDiP06209+djzCkTOhv8ewQNIa7Gs6aCxXu/x7+K8MMeovOBTxWhXjAVrPW3InReOG0qXL/gn8I4VB6ND/qz5FL1GLFyODNU1+MBClP+Wmej382gxXr/ymTm2KB/zaAPugldDi4INpq5lBxXqx/3kor9HdjAGWKSFvzrNSn4Lz3+NYM+6FG+kKJrXaNr4YIKLimLOO3SaL+/GiDE2bCoIkQIXZPKfODP8fBBN7mGToWLYCpc76w/5b/nywOdS0yFGphB7/co1+h7KgTEVLjeeeG0/57vbDhjWrNxsb9emcwc9acZNCWisyP63Urvhr6augFjv86GYl875k2LTYUIoWtT8PvdfpwK/9ytXEunwkXgkrKI4JRG+vz0fKHxjHFxGwghdG0q8363v8ygSQGdG9HvZmpwTIUbnPUn/fd8Z/1JU+GGxf4axqGKGD/urN/fq1TG45AFYtM6gk5MOsK0xo/jwVl/0rRm0cGAECqLxjMSavZPrbVxFzo/qnerEBKMTYUbnHX+6n2x4YyxYN0SN1yXit/r8tdU+GGvsjUBm/U9FQLCJWYQSfRTrTXFYRN7WuYVk5rHdanMn/1mBu3tItel6l3R6F2+oMKYv05or/dT9qCj7oS5aNMSN2CErk/F7/lnUfiXHmVHIkOnwiUwFW30kxmk2KflgQ4+e6mpsDQKS8Rf2YN7u8j1up8KIcHYtGajo+6EP57tbDjDZxVj3rjEPTek4b3+GfgKQX/uVm5I07sFTN9OHcGYQvj0AmfjWdWfrNgmpKFuPrtk6dtuSMPvdPrFMHy3i+zW/WCAxZS/TuhsVBw21Z/srDtpyC6dW1ltQXan4Xc71Z8NZYLe7wmAqRAWc3Gls+64P57srD1hLt689D1rIrABI3+U1Dg9QqJNOEv3KXJUEeoLU0mls+aY6o911J4w5a9bcA/ZXHYlMedGyZjaidyigj7oUXan05dtKTBv5LOL/ZE04ag9zi0eIprlxnTmnS71zaCjgyQ5BKfRjRNLYswtE3vblZkpdR9LZMnZcNq0pCvIze40/Cc/mEF/6lRuDAQbiM5N+sJcXOmoO4EUWd3HOqqPmEoql2/dgHYlM++pPRse6Cf54TjBrO5TVyHmkstUN4OIKLiazhk9UIQ7E3HDBBlQu7rRWx3KFzPoPLMMmOONeRWqe0eF1hpDbBIbHr3snTdnMG/7wRv0dgcJiN4PABGDCjYixhCdqO7easVpF9pqlw4QznJzOv5jh8qG4Z525ZZM+qYtj7l4s7PhDBEFFZ/pbDjDpeTgkNBl7+QZdG0q83aHmrMhQeitTnJLRgCsCcAxl21xVB1W95mOqiPm0q2e3HlZPO6dIe2qHsjVMEGmRbQhNgB6n05PusNcttVe9amKD3TWneCzS7DRoxXZ9WnMwX5lWlStdZmgtzsVOhV6AmMN51Ky1a2r4Kg+bC7b4uHNX8rAb7arqQhPDxOeQcWRtPeXx7Rmo9Baqzjtqj1RURw1R8yll3lyL4vRF9MZdY3gN9vJzRk4IPqeKkLdYS7f5qg6rKJ31HHuYEjFDg9vjuDRtgT8rnre0YP9JNUSANFynWAu3+Y4r5oZRCTRWXfCXOLRVIgQuiaFOTtKhtTzjr7Rrnwli3a9RzCmEGNuqYq+cVdrDRses8TW4XncmsW83qamGfR6u/KVrMBQMYEhZVBhiE4wRCU4VTq1XHHYXC01puXSxuZyWxbzaqtqhuGrbcpt2fQ185SQsq3OCyfVqjzprD/FJed4EiJyYzag61OZN1RaFBKEXm8jX6FecY8xl2+3nzuo1tPs5w6ay7d7fv/ORNxtI61T6oz9+gky4UKXxQeGGUTfUT0Ssm6n48wBVR7lqD5izK+YdxLv0tyUznw6oIyqMRW7ZLSnXbmNrgk8hrFG8OkFDpUy6e1nD4Ss9dQZ4OaObOYPreoowsMDJIxHJfQkXo8xF28W2utVyR0lsuSoPrKi3mcxujWL+YNKRvDLLcptWYHhF0VUEeoTc8VOR+0xVZYF9lMfhay/YkU/CeXQtanqOEn+3K2URun6+BUdErLuCvvpj31/juKwuRrPmcu3rehXVyfjlinSpkbSxEstyl05dIZZAdhoNq3ZqMqi0Fl/iktIYyPjVvSru3KYl1pUGPgEoVdayV25AdP7ASNoUMGGRfLphY7qIz4+RxodEAc6l6i3uxhfy2X+p0mF8fD7ZvK1wBkMOsFcepnQXidPjfv4HMe5Q8b8CsZsXdGvDAy6PZv5vc+975DQH9uVv8mmNtDKCNlwpf3EPt+fYz+5L2TDrpX+amMsxhgdG/LVDDrYT8I5VBY4zgA6SekUy+arZ078xceH2E/uC1m7c9l99JdyVTLut6O6cZ/Gw4ADfTqg3Bog0XL9gHmTuWSL/fRHPj5n5vhfLJuu9uKH9+Yxv28mim+T4Z4OZWMcTqbOgBViyl8rT4+L/R2+PESeHne1VoesJEA4yz15zH83+moG/bZRuTc/kAZ+IMkaVJiKK6WBLp+OI1DkmRN/sVRe68VPWYzuzsP/5dt4+F2T8qVMxkLri64cS+W1M8feR8R7XST2tsnT46b8pQptL0ZpFI43ow99O7P+vxqV+wNqKtQLGFs2f2Hm6J99eYb95D5z6RYPd0zN42u5zJ4OnzZQjbnQ3u4A84oHkqxBBWYNIZuunjmy1+snOOpOGKLiucQM737+QAHzcosy4+0pZTJBv2lQvlFAXzBv4DMKMG9yNZ/3+gm2I+9ZKq9FjJf//39byPyy3nszqG6ctEyh3Wm0973Bsvka+9lPvC++T8jM0fctW6737tcJZrQrmXmx2fve/58m5YZUJmqpKt+6g76p+sVy2XUzJ/d5PR5sh96xbN3tdeupFrwtwfvx8F6XkmhGa2OoZ8xLrNt22w79ybvfKnab4/ynlsprvG79jizm+JDidcrMz+uV/1XAcHR28Qo2IsaYUzpzcr93P3fUnWCs4XxqntcCPFjI/LzeS9e4QtAvLygPFwVY3weYuEGFISremFM6c+JDL34r9rRKwz3mMo+qKy3G3xUzz9Uq3g2I/6hRvlNM3y7vCVl3haujQRru9eK3M0f3moo3s6GRXrduNqD785nnar0xg0ac6PU25W+pM8AHrDu+aDv4lne+cdsnf7Tu+KIvre9IxCYWeXdM9586lTgT2hgIZdXmQl9WXRN6+Zdtn+zxosrM9MdvWHfc7EWazFy2J+BwHv1p5aV4jw2Rnhn0pUAotqtbMMdbt94w/fGbK/0hEQXbp++EXv4lHwX4VhH7cosysnJ/xM/r5S9nMvG0xroPGLOKGUuoo+boSn8odDbI48MhK9wzcynfK2WeqfKmuNUz1cpjpYE38ANP4qCCzyhgoxNmVrirTBrqcTVXWS+7zncBflTO/PP5Fa8J//m88ngZY6Avl29Yt9/kqD4ijw+t6Fczxz/g0/K8jg3PkhiCbsti/qNmZbPhhIB+Wa88HoBTod4Iu+qOqQ9fWemicOrDP4RecStiWB9b/0om0+9AhwZW1vqHvWRaQDcF4IFrgSdxsBF2zVen//IykVaQxTX1/ovWnTd7lzM2j93pDIPQnpXU3Do2zDRM4nvy6KvlK0xIqHXL9VMfvOT5T4jgnN7/WtgX7lJFgB+UM//VqAyupPTov9fIu9OY7LAA84zpENOajZhhV1R4VmivF/vbQzZ/wffWDQz6hwrm70+vwAwiCP39afnJdQwTgJ1PZyu9Y8wq4hIzbJ++4+H9QkeDq73Ouu0mVVrHCD29gf3BacXl2YggCP3oPPuPazFP3yw1sF7xZeeFU2Jfu4f3T3/8pjGnlEvJVqX1VAu+O5f5hzOezoY9M+RX9cqP19K+VwOMw3ffO7n3d54awYRMvPN8+LVf8zEgMsud2cykgN7y+FiuV1sVQtCXA7O0bEAKHWyE3/TA9Eevy5Ojy9+qKBN//GX47nsxr1ry8q5kXBiB/73Go/HgrkdD64moBWOyhF3z1Yk3f+GJi0waHbAdfjf8hntUFOBHFey7XcqpYY9cZI+eUB5aw9DD6NXCmFvOJWV6GCeeObUfyXLI+ivVap3B6LlK9rsnPNpDNS2iJ04q/1nJBmjfa4kT6pQAAAvZSURBVKoIRVG9Y+6CCUNssnXr7vHXf7bsndMH3sRmS8jay9UV4P9WMs/VyhcmlpkNe2fID07Jz62XAnQw6BNL5bWEKLYj7y1zHyHjrz4XesWtKy0vuTQRPPq3Tex9n8rLugTe6lDOj5Lvl/kanaLMJeKWb9oOvS0OdC59mzw5OvXuf0fe9m2kapnryxPxtnj8w1PLuwQeOyFfk4oD5ayJS1FBEba2tn79618vKysrLi5e7J7jx4/n5eVFR0fn5+efPHnS90aDjdCrblemxpbeWCZ0Ntg+eSvq9kfUHQwIoXQrfnoDe/vHsn1x21BS0F2fyA+vYUsjVT7gPtjBOOrOR6c+eFnsbVvirumPXkeyFLrzFtXbvzObyQ/H3zux1GzYaSMPHpF/v4M100JCqsJGxIbfeP/Y759eaj+xIo+99H8sW2/gktVxic/lPyvZtzvJe11LDeo325V9veTfNgWwDaSCIpQkqaKi4pvf/GZ7+8KRDFmW77jjjscff3xqaup73/veHXfcoShqHv8YDGDWEHX3D6f3v+a8cGrBG6TR/tH/firy9r9jo9RcEMxyXz6zNgb/zQFZWqjrCEIPHZVDDOiH5dTZrj6G2OTILz80+tt/lCdGFrzBUXXY9uk7UV//gdelZJbm+W3svl7yi0VqzYy70O4P5e+XsZvjAnVBoGcsG6/i0/PHXnxm4W1UhIy/+QtsMIRdfac/Wo80oteuYO/7VDo3urAuPDFEHjwiv3ElG8b5o32tICpx+vTpkJCQBf/00UcfxcfHy7JMCJFlOT4+/pNPPlnwTlEUDQaD541OT097IWrg4uq40Puj22bOzv/fE3pa+p78qu3IXv+2LpPrPxBv+lCaEi667pTIPQelyj+J0wIhhNhsNndfU9Rl+pM9/U/dLfR3zrtuO/Fh3/++XehpWeK3drtdkiRfWm+fUtL/ID5bJSsXX++yKeV7xO8d9+nhwYnD4RAEYfn7CFEkcfg3Px7+zY8Vp/2i66Iw9of/GPzpd+ZdV523O+T4l4RP+uZ1PtnXo8S/JOztmn894NDCkdHS0lJYWMgwDEKIYZiCgoLm5uYdOxY9MXJ8/PMDaEJCQozGgCpa50/49ILYB58e/d0/O6oOW7fu5hIz5PFh+5mPZ059FHnrQ+YyX3fRLtM6g/ZcZfi7Y3LpHumHZczVKZjF6JN+8i/nldIovO86A62v7VesO25mLOHDP3/MsvmakLU72bAosa/dduhtaaQv9qFnDfGpfm09IxQf3s3e+pH8527le6Xs+hg87iJvdZLnauXvl7GP0CpC/gSzhuh7/37yrV8PPvON0F23GQvWYYZ1tVZP73vVkJgR+82nVdkrtQQ3pTNWDt95QL4hDd+Xz2SH4eZJ8nyj8pce8vqVhu0JAe8JwMSDbLTu7u5XX3310uv33ntvdHS0+/OZM2e2b98+MzNz6W3PPvvsoUOH3nvvs2j/7t27t2/f/thjj116pyRJPM+Hh4fPXrnrrruefvrpxQSbmZmxWCzLyr/KIKLgOvGBWHOUTI1gs5XLW8tfdgMTFqWZAEeHmf/XxJ4YZQhB5ZHK/Tny1UmfO83sdrvJZGL846OjKBPDriPvii1VyGnHETF86TZ+w1XYsIxbyuFw8DzPsr5GcWSC/tDBvtzONEziMA5tj1e+lS/nhdGosDc4nU6WZTluBS5FqbPBdWyv3N2MMGbi002brjbkrfWfhPMYF/Cvmph3e9heO0qzoBtSlAfz5DBO771vMpkMhmWMdI9seFEUx8bGLr0uyx5tMIqJiZmampr9Oj4+Hhe3aByLZdm5K8JlsVpXdu7o6iD0mjvRNX4JCXjC1VZ0deaif8UYm81mqgj9hdWKbvv2Sn/EsqwqihAh9I0S9I0S3x9DQQaDYaWKEBWtR0Xr/SbRMlgR+pfN6F+gmvcnHinCrKysJZZly1JYWFhbWyuKIsdxoijW1dUVFBR4/TQKhUKhUFREBbPd5XLt37//5MmTsizv37//yJEj7uuPPvroH//4R4RQZWVlSkrKU089NTIy8tRTT2VkZGzatMn3dikUCoVC8R0V0hump6efeeYZhNC2bdueeeaZhISELVu2IIQEQZCkz/ad7dmz5+GHH167dm1xcfGbb664oD6FQqFQKH7Co2QZzZAkyWw2e16A5le/+tVNN92UlJTkV6koK+J3v/vdtm3bcnJyoAWhfM5rr722Zs2akhIa3NMR77zzTlxc3ObNm6EFoQR4rdHXXnutoaEBWgrKRbz99tvV1dXQUlAuYu/evadOLVyKgQLFvn37jh5d8YmDFH8Q2IqQQqFQKBQfoYqQQqFQKEENVYQUCoVCCWr0lSwjy7LRaExPT/fw/v7+/sjISJPJ5FepKCticHAwNDQ0JCQEWhDK5wwPD5vN5uCsPqFbRkdHOY4LCwuDFmSVc+eddz711FNL36Ov6pAsy7a1tc1uulgWl8tFK5HqDUEQOI7Dah8FRfEFURRZlqXlfnSFJEkYY1XK/VCWIDExcdl79LUipFAoFApFY6iFSKFQKJSghipCCoVCoQQ1VBFSKBQKJaihipBCoVAoQY2+skZXxL59+95///34+Pj7779/9nxgCiAHDx5sbGx0f2YY5v7774eVJ2ix2Wznzp1rbGzMzc3dsWPH7HWHw/Gb3/yms7Nz8+bNt956K83s1RJBEKqrq2tqaiIiIm6++ebZ6y+88ILT6XR/zsrK2rVrF5CAQU2gKsIXXnjh+9///g9+8INTp05t2bKlqqqK7qMA58UXX2xra9u4cSNCiCaFA/LII48cO3bM5XLt2LFjriK84YYbeJ6/8cYbn3zyyfr6+ieffBJOxqDjl7/85c9+9rPw8HCWZecqwkcfffTmm2+OiopCCFksFjgBgxsSgCiKUlBQ8MYbb7g/l5eXv/TSS9BCUch999337LPPQktBIbIsE0Iee+yx++67b/bisWPHoqOjnU4nIeTs2bPh4eE2mw1MxODD3SkvvPDC+vXr516PiYlpbGwEEoryGQEZIxwaGmpoaHD7EDDGu3btOnjwILRQFIQQOnny5LPPPvvGG28IggAtS/Cy4Mb5gwcPbtu2ze04qaio4Hm+qqpKc9GClyWqGbz88svPPffc4cOHtZSHMpeAVIT9/f08z0dERLi/xsfH9/X1wYpEQQilpqbGxcVNTEz867/+64YNG2ZmZqAlonzOwMBAbGzs7Ne4uDg6avRAZWWl0+ns6Oi45ZZbvvvd70KLE6QEZIyQ4zhZlhVFcRtZoijSAKEe+PGPf+z+8E//9E/r1q17/vnnv/Od78CKRJnFYDDIsjz7VRRFnucB5aG4eeedd9wfHnzwwTVr1nzrW9/KzMyEFSkICcgVYVJSkizLg4OD7q+9vb2eVJOjaIbBYNi0aVNbWxu0IJTPSU5O7u3tdX+WZXlgYCApKQlWJMpc8vLyoqOj29vboQUJRgJSEUZGRm7duvXNN99ECDkcjr179954443QQlGQw+Fwf7DZbAcOHCguLoaVhzKX66+//vDhw27z8cMPPwwPD6+oqIAWKthx5y65Px8/fnxsbKygoABWpOAkIF2jCKGf/OQnt9xyy6lTp2pra4uKiujmGz2Qnp6+efPm0NDQgwcPlpaW3n333dASBSkvvfTSc88919PTI8vy+fPn77nnnoceeig3N/eee+7ZunXrtm3b9u7d+9Of/pRucdGS48ePP/zww6Ojo0NDQ+vXr9+2bdtPf/rTAwcOfPvb3163bp3T6fz444+fffZZukwHIYBPn+jr6zt06FBcXNzOnTvp+TJ6oLOz89y5cy6XKy8vj642ABkcHOzp6Zn9mpCQkJyc7P587Nixjo6ODRs25OTkAEkXpExNTTU3N89+DQ8Pz8nJkWW5urq6sbHRbDavW7cuJSUFUMJgJoAVIYVCoVAovkMXUhQKhUIJaqgipFAoFEpQQxUhhUKhUIIaqggpFAqFEtRQRUihUCiUoIYqQgqFQqEENVQRUigUCiWooYqQQqFQKEENVYQUCoVCCWqoIqRQKBRKUEMVIYVCoVCCmv8PW+0SWoxrhqAAAAAASUVORK5CYII=", "text/html": [ "\n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n" ], "image/svg+xml": [ "\n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n" ] }, "metadata": {}, "execution_count": 6 } ], "cell_type": "code", "source": [ "using Plots\n", "x = range(0, stop=6π, length=1000)\n", "y1 = sin.(x)\n", "y2 = cos.(x)\n", "plot(x, [y1, y2])" ], "metadata": { "name": "A slide ", "slideshow": { "slide_type": "subslide" } }, "execution_count": 6 }, { "cell_type": "markdown", "source": [ "### Custom processing\n", "\n", "It is possible to give Literate custom pre- and post-processing functions.\n", "For example, here we insert a placeholder value `y = 321` in the source, and use a\n", "preprocessing function that replaces it with `y = 321` in the rendered output." ], "metadata": { "name": "A slide ", "slideshow": { "slide_type": "slide" } } }, { "outputs": [ { "output_type": "execute_result", "data": { "text/plain": "123" }, "metadata": {}, "execution_count": 7 } ], "cell_type": "code", "source": [ "x = 123" ], "metadata": { "name": "A slide ", "slideshow": { "slide_type": "subslide" } }, "execution_count": 7 }, { "cell_type": "markdown", "source": [ "In this case the preprocessing function is defined by" ], "metadata": { "name": "A slide ", "slideshow": { "slide_type": "fragment" } } }, { "outputs": [ { "output_type": "execute_result", "data": { "text/plain": "pre (generic function with 1 method)" }, "metadata": {}, "execution_count": 8 } ], "cell_type": "code", "source": [ "function pre(s::String)\n", " s = replace(s, \"x = 123\" => \"y = 321\")\n", " return s\n", "end" ], "metadata": { "name": "A slide ", "slideshow": { "slide_type": "fragment" } }, "execution_count": 8 }, { "cell_type": "markdown", "source": [ "### Documenter.jl interaction\n", "\n", "In the source file it is possible to use Documenter.jl style references,\n", "such as `@ref` and `@id`. These will be filtered out in the notebook output.\n", "For example, here is a link, but it is only\n", "visible as a link if you are reading the markdown output. We can also\n", "use equations:" ], "metadata": { "name": "A slide ", "slideshow": { "slide_type": "slide" } } }, { "cell_type": "markdown", "source": [ "$$\n", "\\int_\\Omega \\nabla v \\cdot \\nabla u\\ \\mathrm{d}\\Omega = \\int_\\Omega v f\\ \\mathrm{d}\\Omega\n", "$$" ], "metadata": { "name": "A slide ", "slideshow": { "slide_type": "fragment" } } }, { "cell_type": "markdown", "source": [ "using Documenters math syntax. Documenters syntax is automatically changed to\n", "`\\begin{equation} ... \\end{equation}` in the notebook output to display correctly." ], "metadata": { "name": "A slide ", "slideshow": { "slide_type": "fragment" } } }, { "cell_type": "markdown", "source": [ "---\n", "\n", "*This notebook was generated using [Literate.jl](https://github.com/fredrikekre/Literate.jl).*" ], "metadata": {} } ], "nbformat_minor": 3, "metadata": { "language_info": { "file_extension": ".jl", "mimetype": "application/julia", "name": "julia", "version": "1.8.5" }, "kernelspec": { "name": "julia-1.8", "display_name": "Julia 1.8.5", "language": "julia" } }, "nbformat": 4 }