{"metadata":{"kernelspec":{"language":"python","display_name":"Python 3","name":"python3"},"language_info":{"pygments_lexer":"ipython3","nbconvert_exporter":"python","version":"3.6.4","file_extension":".py","codemirror_mode":{"name":"ipython","version":3},"name":"python","mimetype":"text/x-python"}},"nbformat_minor":4,"nbformat":4,"cells":[{"cell_type":"markdown","source":"# Generative Adversarial Networks\n\n\n[Generative Adversarial Networks](https://arxiv.org/abs/1406.2661), are a type of computer program that can create new images or data. They consist of two main parts: a Generator and a Discriminator.\n\nThe Generator's job is to create new images or data that look real. It starts by making random images or data, and then it gets feedback from the Discriminator. The Discriminator's job is to decide whether an image or data is real or fake. It looks at both real examples from a training set and the images or data created by the Generator. Based on this, it tries to guess whether each image or data is real or fake.\n\nThe Generator and Discriminator are trained together, but they have opposite goals. The Generator wants to create images or data that the Discriminator will think are real, while the Discriminator wants to correctly identify which images or data are real and which are fake.\n\nDuring training, the Generator keeps improving its ability to create realistic images or data. It tries to fool the Discriminator by making its creations look as real as possible. The Discriminator, on the other hand, keeps getting better at distinguishing between real and fake examples.\n\nAs training progresses, the Generator becomes so good at creating realistic images or data that the Discriminator can no longer tell the difference between real and fake. This means that the Generator has successfully learned to generate high-quality images or data that are similar to the ones it was trained on.\n\n![image.png](attachment:44e9c801-ca57-4d20-8692-ae18cc6751c2.png)","metadata":{"id":"2MbKJY38Puy9"},"attachments":{"44e9c801-ca57-4d20-8692-ae18cc6751c2.png":{"image/png":"iVBORw0KGgoAAAANSUhEUgAAAzkAAAFcCAIAAABk1ueOAAAACXBIWXMAAA7EAAAOxAGVKw4bAAAgAElEQVR4nOy9d5RlV33n+/3tfc65sXLuHNVBuZVBEYkMZgyDjW0wMM5ez55hjDG2x9iDl3l4xrwZG7zADA8DBkSyiUYYJISEcitLrW51TtWV69bN94T9+70/bqh0b3dVqxt1Pe+PlrruPXenc3pV17d+kUQEFovFYrFYLJYLEvVyH8BisVgsFovF0hKr1SwWi8VisVguXKxWs1gsFovFYrlwsVrNYrFYLBaL5cLFajWLxWKxWCyWCxer1SwWi8VisVguXKxWs1gsFovFYrlwsVrNYvn/A/v37//Xv/t7Uyqf113CoHL88FPndYvxicn/+bFPn6fFM5nKX37kp1HE52l9i8ViOR84L/cBLBbLS+WJxx8/8rV/2dndJ3IeVQhzdGT/I1EYnr8tAPzqe/841XbVeVr8T/78x2OjxfO0uMVisZwnrF3NYlnBGGMe/NHdh7789cv7Bl2tJThfQiqfHX/h6bv9Us4vnS+t8/jjz1x5zS9k89uTqVXnfPHRscK7/9O39+yZIAXbrMVisawsrFazWFYqIvLj798l9z985dDq6hUTBOdjo+nJEwf2PhSUC6XszOFnnzkfW9x//yNve8eHunrfHEv0Mp9jxZnP++9677eOHJ2pvrVSzWKxrCysD9RiWan8+Itfbjt4rKe9o3FF/HOv1SZO7n3uyQfCMCA2h55+auLEyNt+5xxv8bcf/+zn/umJDZvfYtgA51hJ7Xlh4k8/dK9fYYAAyecLbMWaxWJZUVitZrGsPEqFwuf/6qN3dPcjnZ57/dza1QK/cuC5nx7e99Te557r6e6dOH7k+L69XT3953KLIPiTP/3ru+4eHxi60ZjKORdqjz42/Id/fDeEAAIAiDHmXG9isVgs5xer1SyWFUY+n3/kk//nju4mmon9ACIgeum7TI+f+viH35dOOIcPHXK1njpyeGZkhOhcqqnJyel3vecPJjLr+weuNaZyztatc9cPDn78k7sBAAQogAEIs2GbB2qxWFYSVqtZLCuJ0aPHDtz59Q2O1/RT9v1zssupwy9+9iPvP37oQMxzs7lsezJR9AOtlIKcq2ivAwcOv+/9/yuTvzjd1s8SnZM15/LP39z7t594rP6OAKoqWBGplP1UsvkDtFgslgsQq9UslhXDC488qh9+YrCFUAPAlXNgnTr6wtN//4H35nM5VxBxlHIcEwRakYLgHAXmP7b7qV/7rY90dN8ej8dFzDlYcT7/++OPfud7+2tvagcWRWABi/iBD7Sd800tFovlPGG1msWyMjh4309591PuaaWS8QNIPTRr+bAxD9/1ja//7X8P/LISEpAWBgFzvKqCl+RANMZ845//9aN/8+2u3tcp5Z5zoRZF/MlPP/Gt77zIPPdJCUgEplqtIwzPvRnPYrFYzh9Wq1ksFzoicugHd8vze2NnGsm+j7MVa8J8z1c/881PfbTqMQQAEpy98Gt2POZP/cMXP/EPDw2uuo05POdCLQz5A3989+NPjSw+M4GFGUKAWK1msVhWFlarWSwXNJVcfuzue/ngEZqbMVC1GS2SJOz7Z6vU5PMf/cBjP/jG7Gw6lyoNQBiGf/CHH73vwfzA0CuZz71ampoqf+R/PPD4UyMLPyAALDAkACBQkdVqFotlRWG1msVy4eJnc4e/+i9uNkdLS+00lbPJLShkMx/7L790Yv9eV9MSFNrZSLjJqel3/NLvzxQv6um78nykfGZmKn/24Z88//x4i8+5FmhHCoIwslrNYrGsJKxWs1guUMrjE8e/+k13OekC0fK12tToyY/9518+duiAdpSj3TMLMVp2s5OjR0+881f/jNU16XSXifxzbK8Djhyd+ZMP3Ts8nKueb1FZkfpbUgARVBSe+2wGi8ViOX/YHlMWy4WHSG7fgROfu1MtM6+TfX9Z9c/2Pv7Ah9/z+kMH9huEvQOukTP/gyDLlFo//NH9r3vj+0Rf68U6z0dr+Rf3T/3xn/345HD+TANVzSIoiKxdzWKxrCisXc1iueA4dPf35bkTZ1HR1vjB0ovV/vQ7X/7a3314cmrGSQTX3uC6buKx+8uOcyY36HKO9Ym//38/+en7B9a8BWJE+JwmKgDAkaMz7/vDH+YLS+nWQCCCQEiiyNrVLBbLSsJqNYvlAkJMsPs7/wX727v0utONa6F5yCxJhRgT/fCLn7rri58IKuWuXux6BXZdr5982PfDMOG4gJzO4r40reZXKh//fz7xhS893Dt0u4kCpTQRmjkozxIR/OT+o3/11w/4/lJueTZhAiLR0p6SxWKxXCBYrWaxXCiUcpm9/3xrUDqSdn+dzq5r5RIq1bKJvvBXf7D77u8ySbpD3/Dq+LadvtaBEb+zK8EVUtXKFq0F4Rm3CILgA7/9e5mDk22xDg6H4Wyaf8iXal8TkUcfG/7Qh+9bziSqb87G2tUsFsuKwsarWSwXBAeefOpr//cHODoWT1Zc5Z/zLuZVpseGP/7+9+y++7sCBGG0bmtsx8VQFJKUVq3C5VfFDXOtrloLzhivdvjgwQ+869e3lt1L167u6xzm8BCwID7spXpCv3Tn8x/4k3tarbjIdkcLdrR2NYvFsrKwdjWL5eVGzPE9P/3sf/ubnv7R9iuL5cBoJ5Tw3O8zNXrykx/8jVOHXwTAzKXA7xuKi+QUGQhWr3WymShXrHS3JU8jpk4n40SOHT7y17///jsGtqbiqRGe3qAq4VQ4E0ZAoy/WS3KD+n70uX969kt3Pjf3IrV43cx+JxAYq9UsFsuKwmo1i+VlReTU0//t0W9/dnSqx2sb87zICESFIRtPk5yjRukAju177lN//BvZqXEAIsLCa9aH69ZPKyoDEIHnRqVylhy3GoPf8rytt7j3hz/82sc+/uoNF6coFkVRIiF9MScj3sx4bWKjGcLpNjgt//N/PXL3PYcBNDTfAjUm9a1k9gItGDC//ZTFYrFc6FitZrG8bAS5/Iv/9jlNn+7rLSU7THdnniNojRxXtAlj2judpmjRuqDJQObH7/nu5/7yfdKYp7B+o3vNLdLdUwKhGp+mKEil1NoNidy4OFSViQtVDiBRM6EThsE3vvS5uz7zyTdfehtHIYtXFUXxOIN4bmKpQARyFk7QUin88Efuf+jhEwAaBTiaab56q/baLk22OncC2GKxWH4WWK1msbxsPPfJz0xk7t16vT/Uz7fc4G/bSARojXJQ1KVKpxdracZajtr4/hc+8YPPf3zeJc033JYeXDMl81pJce9goqdPjxwNOxLeXBkkNUuVoEWw1x/9199cpfdetYWKzuHsdLw/NpBIJiFiTCQiQkoERDWZdhZGNcPy67/z3eHhXHWR+rFobmRdw5AmaJjXZHG/BwJZrWaxWFYWNrfAYnkZyI8+uPvTbxs9vvfY6DETVrSOdl0cdLYzCKSQK0z7QfmcbPT5j/7RP3/qY2xmo/sjI8ozHd1FQTg/ukva28RxSqVKtECoUd3hKMCCxuelUuHPP/j2dem7XnWz7t06GrXt49TYqfxwRKYqAhUpqq9jIAtl5hJk09RU+Td/53snT+bmzVu0zBytRgLNYpoZ1WjxXIvFYrnAsXY1i+VniogcffSuyrF3x7yBk6VkKRoHWEFIRywCQBHCKBea8unixk4X/F+bY8LCl//HLz1x3558IXQ7PNdRwgwiEDZv82PxKZoby0WAUFsqdNxIu7FZ0xWEISQwhpWjAmNMZTbrYXj4yG/+6lW/8y69cW3S8IkdV/mnThQcd2Ks7PgqBJEipQliDBQLIODZ3w9lduPTPK7jJ7LvfM+36mKM5tw81SLfIALUy+yyACLKRGW/PJluX9UkwYBIbLyaxWJZUVi7msXyM2X42/9636f+gpBhdax94Ng1N4S69l3IDdViuBBE5Vnv5DKkhYhhAH5xz/5H3trXe2jDVq+9WxUrhkVAAMkV18ZuuCkgCoG5MoYAOA6TY9yEsHB1WwYM81SuHHDUO+CWTViulKoTfnr/Dz7zd2/+yw/oTRsMI6+c6VgsGlhTbu8vOt3F6dKYOBSPucmYwJQFEJmTKTEr1E4Xuvb0M2Pv/+DdjROKQOpBaKSkJuCk8XgYAhJHQj8z+WwU5hQ1b2lllZrFYllZWLuaxfIzolLIj/7Ld/PPvwCVIwXPLe282KRTiholy6hWvoy56AdlWeQwPDMCYS7NPDT83NtNqbB+Uw+LW6i4Lz4dBBV24ygGwVU3pNs7jIiab1QDERgcS+jBwVhhrGaOcuLIzgQBV3Zd2tEz6JUJJyfCSqXy8IPfv+c7v/2ON/uk2RiAGADBxFzu6Cn3DU3ve8KohI53eeAMRzPktkP0nNtpqLSWd/joY8Mf+vBPyuVozpS5LwUQ4VlTW9UoKWzYH3dwNJ3cRdJ0dRuvZrFYVhhWq1ksPwty40fu/NP3b4ut6Uq1dQ+6CnA89ryAWIga0fAAqp7PEpShJadLzk0JnTr65czYBznMOoqg8+s3x6em9eQoZkaMmDAwYSKZETCI6k2fGhAEa9bGsxPu6OEglVD9qzx2/FIUXnMjXXudm8mUV2+Uz34x/OuP/OcO9fVffUtoFBtRRCClAAZDkenuDv2hXFuvnsiNbt6kNE2Dx9kMaUWAhlS7VJ1BqH37uy9+6tNP1IXaomEEIYOI6i5UhWqGKUccFDevP5Qv7suVriaFxc3i55n3LBaLZSVgfaAWy3mncPjYs1/7r5mZx0ZzJyoc9vZLNeBewRDVvI0NSBCLI5aQeimyM9CYG5po7/hTx1/8KxPmBSSASIFU8bLLow2btG9ECNffHGp3plWZWIh0dZCrK5WKWbfF2XlFavW66NY7optup87u0qo1U+1dphJNr+38yhtfFRgyNY1ItXbvJAKI54bdPf7azYJY1olF69d1pOJTfnlYUa3DOs0Tak1008hI8ROf3F0shfOH1XzEShHBSFjQREqqnk8dASasQHKX79jz9p+/r7PTg6RaSLJz3D/eYrFYzjfWrmaxnF+yzzx3/F/+NbHqyK135I48fWom6hnqDBVxo2xrjUZwmiCREhUFTFDLsQD98Ol7wr79G2OTtcIYRBARVJJpvf2y1J5n0dkdv/aGApGp+1qb1JHtbCun29xrbmy78rpYzAnXuoWefiOKhcN4gj/7Bfm939KbN4RhyFCYYyKruhsZAHOUbkOiLe+kUS7p1YND27aonzz2QuAmtRuvJZXOyxWYfwimKJIIZvbpUPVWCACROI6enDya8IzrJYjJELO4JswiKF6za99bXnV/50CW6GZCAi0Md9auZrFYVhZWq1ks5wsThke/f1fl8afzee5Yn+ntq5hgfOrYqHanqrJmFpp9IYJkOqTQZ+YlmoCKlcKPnvnRwYmjr76etA5krgwTiUyhp8+79bXpsZEgkRQAWFx2rD7a86JNW91Ld3meV1KYiSUqABmRQ8fkOz9wfuEtzqb1fhDWI/wFtXIexBDhWlVdAXGyvdw7kCgU/Z5es3Mr5SodTz57orNnCIBIze3bZHtDiwrl0lwLnAgUkiYYdpMnNBs/zGhvXaVwXEXh7Tceft2tD/a0F0tBkrlfOQnTNFoNsE5Qi8WysrBazWI5L3AQfOe//7EZndgwsH4mH7WzH4VBZ1/Gj5523OzsuEW2LRbE4waJ0Pisl9A9Mwj9rz349ZnSDLmqr7+AWqpCvSIaiWFJpyrbL0kNDuVdh1vJtCrG8NAqESoR55RTFlYssu8AfeaL+kN/lO7qKAYhKyLMW0VmvxBVI9cGB1W+HE6ccl2lEyq449aNz+0dpZpFjZs7InmBUCNAVUVtQ1wRlIn0lbuKucxDQ92lI0dHenouy+2ffsOr3Dfc/nw6lSfB2LCUy12kHBHTzHpHcjZ9EywWi+Vlw2o1i+XcE0xnRu78+pHn7kv0+4lKKpPHGkOk4Di5VGdZqXrp/6aaQRCPwXeDmWy5Ox6n08q10ZnR7+7+XqFSAODEor7+bHWF+SsTURCPT65aW5ndo/n2xMyKApGAVCSsAPzo3tTRI51/+LvU0Z4BRC2MceVG8wBSAGq+V9eLHJqEdGezBZd0zA2SqRQLFLga2lbvDlo/UBOLWuOsRLXWCUqERofHX/2q6a5kJeHt27nNLeWfv2SL/7obg1iyACih6NixoFjWIA0JAb3oFq1Qs1gsKwyr1SyWc0zhwMET//QVE0Q7dhZmYiMjk0/mK/0RQiXQijvTga6Km1ZuSIHjSEGKhUqxJxE/jVlt/6n9//rE96uToBFPGsdhEzaKccyKPJFIUUhCVdPXaW11JDC11FTG177VERYueu8vJZ30PlKBWpDtsMiV2egBRSgnkmI4V8jHU4n2yC+AkrVWoLPF1Wpnl4UWNVRTPec8lKpbVynSJIe2rjm8bWOUy5dTbTJ+aqyvnRMusTAIBBmbCIqBctzmFTsAMDevu2axWCwXJjYP1GI5l0ze98DJL38dxmSy+cGB8JKLypx4ITawP9TFqufP0dJKpTXQCr4pzWRnqHWF/Qf2PvBvT/+w9kYgLOvWRxwtMCNVvZXVb3Oa3/2zGSS1Uh6gsk8f+It06dSWW65Nem0nQZlmXRTm1zyrm6yqmaE9nQlyyhUTAfArINEAFmoygbBqalGj2eyHqjOUBEwYf/MbH920bkyx6khGrglW9xfirggbAEqEyM1kKQr1aYLSjLFazWKxrCSsXc1iOTdwpTJx7/1TDzzsB0E8FsuWylysbGwzl20pnxwficeiZbUf8P1srjzTdIZhvv+F+54+8nRDKokgm6ts3BxAmidX0jy/aAsH6Bwj2YlT+NpXVwej0re9kOw7JZgiipZW7aI2hg28OCLJazERSxgRcwBdbzYAAAxRVTfr4hUaXdmlVmcXgESVDMLvXbLjiEsBiYJADCvlAAQFVbWrkQZ3C8fqt9zkgURWq1kslhWF1WoWyzlAjDn+hS8Xjx7PF4slv5Iw8WzFlwobI0N9HI+X0kmD04udORFcGhJJsRROySJTWBAFd/70K9OFqblTjUgljNrSLPODwNCYTY3MS2kUj11IfdbR4+p//83A7Zfdckh/c8c1pa7+bD287AyJDkRUd4BCiBSCzk5xxIQVdhMcRRXtCNWUFwEkTfJcqZZKWisEwiCpRsBBOJg+vG7D/nVDBbCpXgOxqkak1Ux6QtBAB9hpFf0GEBvT4iOLxWK5ELFazWJ5qVROjQx/41v+6BgA31Qm1X6V753wS2RYACa0pZcsDhrdpqjkuAVRihp12AgTuYl7nv3xdGG6MbRWpsyhm1/d3ds/NWeFM++x+JoIfny/Orj7mt++9boD08PX3JRYv9WvGbpquy1gTnm4ugNUKSUiBCHIutXqxNFCMezqUFwsjHfELwEcIYZoNLWoNQRWzUDI1Qg3iNZkLrtk5i1vVh2JiKCqD6T+hViqEW0MghgPooUU5vbRmoOxvdstFsuKwmo1i+UlIFIZGT366X/koFaUPz2Um+JDKj81MRFubI+kYWhaXvahJGJRW1t5rgdvupD5l0e/VawUF6+kHXXVde2eN3kGg9HCplLziCJ64KHk0/dc9uu3vpYd/cDBB7fcorQT1ppCzTHNnW6HhhVPhAjtbU6+kI8gjg4dldc6gDhAU6FWE361nE8BhEQJgRU5SvSqgeNv/bnxjWuMYq5Z+ITqjlsBSVXeiZCAuL5Y81Pa+moWi2VFYbWaxXL2TD3w0PgPfyx1icTMXltpQ1chNz15eTy5eUN5QcpjS2aDs2oXYp5JdZQjRa4IIHuHX7znuR8HUdB0dmiMq8dB/pxrrcLRWtXFwDe+PlA+dPHPX7vLIbeCsHtt0NMfEEICUS1+bCktrzDbclOQSmrl+AIdc7FxtUwWp8iJkcSaTaqrN5JKJR/30kQEYULguao98eT2LU8M9kxoydeFlgLU7JFEAaaW4CChEItSaBaWRiC29dUsFsuKwmo1i+VskDAa/f6/ZR7dXXtb99gZE3S0+8TFgUHfdaPG+DNEqi26kkiYzu5CUAlI5MXhvT989p75I2jOWMmVAqAA4VkX6nKYzuAznxu4bejnw85MXBQbjFVeuOhqdHaIYmK9bKMgqr0BhAiRGzd+KdTKbFwdm9gL7TQTanMIonK+NEms4jFTKp3s64xv3XAgru/btmE64c2QNAxmqh6hJgpCWklUbUQlRAF01HIDsnY1i8WywrBazWJZNqZcPvaZL1RGRxtXiAgszGIiASOdioiYhOvNmJbGnHExTxIpUyqUHt732J7jz59mkgi8GByPjVmuqAKAXF597G/633vDO9d09D1XDmPKyfiTI+XHNrdHPR2g01rjTnsqIRHmsK8vXjhcaU+447lbnVhXi+H1hFYyIqZUzKfdiMODEjjXXOFsWHW4zRvevr4A45Hj1NsecP3uJZNBfz8FEQAoGOWUHBUQS4uk2OXk41osFssFgNVqFsvyqAyfGv7GN/2xicYVFimXygnXk7rbjQCFpUaw17Ir56sK1yXSwT1PfG90agzzvY8iMrefp9J0y82pRDIntb7oy9BVz+9J/Pi7l964at367v5soZLqaKsolZPJtTsrcS+rHWFaot9zMQKIiOrudh59JPv1kW0nJ7ubj5pzLwy4XsLV2csv3z01tufVt15y9WWVhBrpa58hUFDWXoeBqT8wYgGmJ+noftPbU3OhEjiZDFKeiRiqatpbSLM6cRaLxXIBY7WaxbIMCvsPHv/8lxY40fwgmJ7J6JTb1tmRK5Z6xDQUwpllTgvdIKy+cqfn+2PNPxWp2/KMdr2dlzpKSRPFt5B5n95zX/zww6981/U37z9yKAr8TC5TlkpUCZyh4bXbwygMlYqkVt3jLNQNAQoiRO4zJ3+vWE43u40FLwQCErNl3bFdl+1NIdq6dSpGUwk9rUiViygWuK1bYBgQBwpgUU5mSpIpLwyMUgCIxXR1+YlYKVfwoZs+DdsP1GKxrDCsVrNYloQYM3X/g5P3PbAo2klE+TJw/MUTZmOy99DwqQ2XRg0tcHaiYGQ09r27+n3/9G1FJF/y3Zjq7/O0MyMwZ+hJMOdTZnzzW53pqVe/67orXxg5tnZodTnwXzx1pK3L2X/i2Zt3ak0F12vkasqcP5eGgOAAMjrV8/nv/KcmQm2+nXD2iERscju3TV66ttKe1kqNKSmQuKRQLAeFQgSCkNECxY5xlDEqX3B2bk+QzFQL6DJ43Rq992A+my2QbgN4QTG5M9SIs1gslgsPq9UsljPDfjD2gx81MglmEWgSTuYSq472UpCn4+3d04JaPubZdQnffzD1ne/1L7hIqPk+VbXmGGR6plj2/Suv67z4sqTjnWrUBjkjvk93fnlwG73hhu3bJ4u5IyMn1g6ums5Nj0yf9KWI2Ej/gFaq7AjJbPuA2VMsCQIYY9MDn7jz/5rOLnJ9NtN+BIEorZBKT73h1miw00QCER9QUFrpqOKzH0RE2uiAwrgfc8CRMa4fOrGEDwMBE5QINq53PG+vCbscd0fz41mxZrFYVhRWq1ksZ8BUKie/+JXi4aOLPyLAGPGdYldbtvuSfDbvtLcVFfFSq1tgYfunBx7qevLp9gVD6hUwariumi5WJjPZa17h3fGGhKMiT0dqab19xyf017+04Y41P7elb9CPgiAMRybGs6WZ6fzxicyRmKevf1V7e/tYNbnSkFM74ZwvS0FE9h3d9k/ffddMvrPVTc+5o2q1WwVB5Gf6Bh7fsLrMvgKEoEAKJKQRBByZyKhofEqVC6mOfodKJY5U/xoiVaoVV4OwUDJR1s5zcW+jwXYRtfDgNlzNYrGsNKxWs1hOR+XUyPHPfznK51sNEMAP/JjrO7ocT4hWIrI8i1o1eioM6eFHu3Y/0dG0oEQ1lp4UpdJuZ3+8cKTwylfJHW/QA0OBX57WzpL6Ihw55tz97Yvfvu3netNtvglZeKacmylMTc4cmM4cQJjN51X3YJdSkSi8lKCug8e3/uM331toGqO26M5qzQoIJiiWpp7fcO0hDibrKZw1USeCbI7I5Wxp6J+/Fl17/bqnni1sWq13P1G55dUcQbQCixAI4sS88Ibr4qVC5tg4Qzm0uMyaFWsWi2VFYbWaxdKSe+++e90jT0SlcushBBAzSGKAEAnkbGLUgkB967v9x08kTrONQHr7Exu2deqYP7ghvGKXisfZRBOuu6RaHcbgmXuv+cWdr084rm/CUEzBL+b97OCAZKb2JJBNoty/qS89EEAxoKo5pWeRBfrEnl3/+M33RMZpMbNah652T9VWVABETBROXbtr3x03jglXG5vWKqFpwolhfmGvuvbmG06cuiniFzZvfu3effflyl0Hjzzav3d4bb9KJ0hCQ6Qg2oFcfUX6gQeHAw5dOE1OYVMLLBbLisJqNYulJX/4W7995y+/u9WnSikS8k0Uj6VEFBZ1RG9qYCNqUop1OuO2EmpS24tWbUhvu6yzozt04yNd3RVPQyTCkmtqKNJvuuQGKXjMxucgG5YKxamSf7i/M0xHhbjKl4FtN/R5sVMCUvVmo8syEBqjf/rkLV+/661GWjtkZ4vZNuqLCEhpVXnF1c+97bXP93QaMboe0kYiMjZlHtktXatftfmyD5w4FvziO28eWtP3+p/fNDOR+cVfuXz01JeGJ/ZtWRcADCHSUVQx8XRJK9GaQE2ELNt+oBaLZUVhtZrF0pLOjo7mHwgArZQ6cGK0s6NtBpUuU3Y9metcW1Zt/FaDG1H4Q+vbr7tlMNWedb0jibYZMMA0T/CcCYIyzGAumyBbyc/4k5npPb4/0sPTcYQCKRHaen1CqbHecnMjdj936Z13/SKxaSi9xfdT7fQpREJQLEKsQEqbSzY98qZXPdzTFXDk1kQaIIxSFO3ZH3QMvPG6Wz+YbF+3ekMm5qSNVNZs2treNZF0E/ueK2Wy/8BS1JgGVKEQZU4FW3f6MWer1q40twxaw5rFYllJLCke2WL59wmplt8gIfMh/8BPDz3r9Dz/1Nh+IngNaDcAACAASURBVH+JUVDL7W9kmDt6Yxdd0tnTl02mDsaTGTFAtSzGcirfipAIFaLSZCU/nT86MfWMqQx3makklwjMoLJCPFmkqqGOaFlKTSDM6oUDGyDCBKk3FWhxEAZEkRJiEfbc0sXr7tu17YGOtpyJXKqmvEIEMG5U0s7qTb989Y1/kG4fLJeLjuNG8A3gB0Uv7ilHdXZtcvTWiQnjOIpI7X2WpsalFGhgiBblFdRPsPQ7s1gslpcfa1ezWFqidPNvEAYOT5+a6Hhx0yXHuzYH3RmKu5WXtlWr2C7JFiqbLk71D0043ohSRQgJQYTOVE1tEULFsDxdjjKF4/mZF4hzHTztwK8KrYDdVLeOx0LQgjodS1gYtTRV1p4QC6rNDlo1p+IwqjjKBSuOium02bH2ge1rn163etpzI0AbVkpriC9CkVbp9l8ZXPO7Bqko9FVDR1ZbIkALwYt3FYo9TxwdW/OmhKOdKNDbtzuFIsphO6hFzqcVaxaLZUVhtZrF0hKlm9vVmGW8NLlp5/DaVWOO49x8hVFqYbLh8lJBm4gHAaCUVo7ZevFMd19OqQig6n/VL8tCBNlKdjw7k8vuTZmZJOU9hAIQa4CLIldd0xZzjYuIoJe2Iuq+ztr6PnsCnk3fXHREgQjMyOjRLes7R08eWb++5xWX7hnqfHbTxnxvT4WgoSQ7mezqCQE/l1cz42/YuOM3yUmLH6jqXvVwP00aSgBKt3dFUb/P7b4phUXT25seXOU/ua9cLLuAwuIk0OVKUYvFYnm5sVrNYmmJdlt+g7jEg10zMc8Im/bU+aoCwSxXXJfYumPKQSQ1fbZ8i1p1KeGR7MHp3EwHT6W4qLUBANaKnSLCUZ+v3KhiqkTEWIpWkwVvSEDG6NO0ehcREIzowB/ZvOGUFE688VZvddeB3p5sT5dfbWYlBuWCm0hW3KS67353zcabNlFnFIZUL1pSTQ5VVSFMJCJtXW29A1vbu64th/ceebHQFnNDLmUyUbFMtSe26O9GrF3NYrGsKKxWs1ha4rhu0+uEaikIEXnJKq1lHicBXK6YrTtcl5iFiCBQZx0VHxkzNj2sy+W0myciEhCUEbdiaErF00Pu2rWBS4GBbp6/2pJGUqWYiDTY1NTk/BVqgxQR2pPjO7aU7rh2ZO0QXJppSwcm0pCq9JJUUvllo9raRsZ7rr1tm2hD1WJrDXvdnLOJiCDqHVxXyG7IzYjWum91kTnMzoR+pWpBa/J8rVazWCwrC6vVLJaWOE5zrQaIQ0L1arFnUYSsvsycP5t9WglEqSLVcj7PXqgBYCPHD4+vilO503WMxBUMkDOqqBNmzYarbwra2w/I8sp00FwHqAhxyKJIMeqPpEkCpoK++rL8VdtOdHb44MjVARuqB7xBOVCOmc4a3bP2DW/+tcE1a0hQbXbV9BkTUcRhZ0+/+BuOHXQuvyjZnioTqZCFyKn2F4XMNRNWa7lZrWaxWFYSNg/UYmmJ28yuJhCGUSRcrZP/0raYlXuL9wEVA4ArAIFe6reqsKjIL5RMMfTGCxQYmo4op1OJ617nXn1re08Itax7aZynKqYARhQYQ617oxMBJFH2HW/O9nZklfhaBRBHpDqlZs0rl8snTkVT49fuvPQ2pVW1xkcrMSyAsGnv6Do5iiced9rSJMwgUZq0UqQE4AVzxWo1i8Wy0rBazWJpyYJ4NYEIBCKBiAHJadownQMxQELKVEXQS2j31EARXbYu6ULGpmSmQoezkksOtN3+1vTtv+BTXmECZAxp0GnrgEit3dWc96p2RuFSpaKgSKHJ/deaRXFh5kR3e15YCEKia3YuCKBrDT0peOxJ+GZTiYtCAjKNXRdDICMsMC/srwAm5gUQYuFYQseTLMIAL5jLthauxWJZaVitZrG0xHXdBT/VI+ZsuVARv6LzIUytytkCbXOOlAABSivC2bWtWogm6krI6naCIZCMUXv7Hb+SeMVri7G4H43EnApVDVt0+jRJAkhqxq66fYprRW6LhQLVxjSP4xMOdm4ZS8bK9Y1EhEUAKKDabkqRCt3k9tWbLjPVSm1U37bVcUAC4ynu62ZSNQ2Y7nTi8QASzTtGXfJZu5rFYllZWK1msbRkrg+0Kk0yucpMacIdeDafOkXaNAnvOisZ4DTPvGTXYWehXDxLRERx1BmnoS7Eky62XuldemOOYgXm9d2VhBOCmJZcXlcEzCIMNtUYN2aWmcyk5lpG5wKq2Qx+/tnbXnnS87jx2ARopJ1WPcpl37vm2nd3dA5BeWcQao1ZkLYUlDbMDEUMau9IpNMV4fkGSapW+NVWqVkslpWFzS2wWFriut4cG4wQVKQyq3bs1oPTG1nSyfClb1GNqGI0C4wjxBJGt0pvOIudhKAo5ZgwmTadXVkoAzcqlwfa8kLRMnIkam0FhIW0chVRZAyTG3cj4YJ2+lmaeBlFVNLdu3H1URGj6i5REQUxtWYJYBGnErSt33RxxEJQdeF4ev1IgEAhgoiqajfd15smnuBAdGxWOHJUdJ204fB8VVixWCyW84O1q1ksLXFdb86PdSqUS4nB3T0b98e9zM4N066zuM7q8pB6f/Qir23yqSgvTk6LerzL3kuqbTjFldB1yLAJCASnMDUF/zgTg6q6sVrGrNWBhcFSSygQlpj20sNjuuT3Zma8uCv57JgmTdDz1RVBtKeCN79mZqjvpKo6TdkII6okhGtV00ggBoXCmi07tlU9o62bHyy8N64mRiiCgES1pwTmpEJUd+gSR1N+4cVULFPOHSDrA7VYLCsKq9UslpZ4Ma/xWkT2nTiQi8YyedGInOULNZkbIj/ntSKUzaom44FUQruOarx9SVRbU4E1IMQg0kBY9g8+9SgHE9UN6proNFuJCLOIMcgUYj63T2TW3XOfG0Trdz9OxcJMpTQRVnJgqRX0qOYdwERBOe3tvubyKWokihJMFAsrCSJV7z+qfHgjE31GQkKrZp7NzgTS0FpICZOQAG0J4zlFBwzSAEwwzJXda4cObt96Typ+QlHh7B+jxWKx/MyxPlCLpSWO4zR8oAJxXXdisq9zMJNOBrLMomoLTTl1KUOEmWJqurQdODRvPCAEx6u1j19YeWL5iAAkBCEiETikCVTO5QsTx2OOgapJqDNUVxOwAQPTM4lsMT6QuGr/4d5Ux6B2dobCUXjC0+ORn3FSfah5dQUwRKpYHL98w550IgcoULVVFEoFFVZMuktBRBHIoUI+tmnrDcVKTlNsrkXz9LdGRAQoMiQKUMzCphxzSVGGTTIIxih49KKNJ976lvGZgteb3qpp5qU9S4vFYvmZYrWaxdKSWCzG9cIcitS2tduOlP24O84yoVVdxTUVEqdVF1qh7AMajpDrSCY7qGNrmg0UxyFR56RkR1X9GQBGiQiiwIdIWCp0qWLMbRz6tDvVzGFUyKdypd6+wdvcxBXdA3zJrjWap2+4ee1PfvJRlzMkp0DdBLdqWyNAIb5+1ck3veZEMuGj1qFTFNHJ4+WuTq2VEmYh8Q0/s8e97babIIpq6ahnvnMBFJGjEXMRRVXbJUdReMkl5Wf3jZaCHj+35xVXHfq5151YtdoUS+296ZmpoDJ3hWKxeBaPc4nE43Gtl9Zf1WKxWFpgtZrF0hLtOhyJrtmaKOnFu6P1pcIe6OnOjqilq/C0cfCkVDnqfP5oacNalctg5/pSqmdTv7O5yVhhopdcA7eBCESEwDAm4kqlEkXGFLNru5XroG6cQisHqNQ9pI6bMFg/uPYNvf2vLAXepos6EnEnCnp64xWXIDTGNIN6NZNaPwI+dPuNj25cn4Opyk5FEEejkJWeLq61ExXJF/yR8U43njDQmNsV4fS3BSGiVIp6YtqEtTkcyUXbgsicULL6hqsPvOMth/q6OTKJ9kTFtB03od+YHgRBT0/P2T/V0xxMJAzDr371q29/+9vPx/oWi+XfD1arWSytUVqEq35BAljClJM6dLh93TavsyNqPqW1UFMaDI3U5YdP7jqZfczru3zfoQcq4djgtjUxSTafQsvpzHlaBOCaoUtYBEaiMEyjvHVT+1LtPgKlUIkGOgbe2tZ1I0vMiSUBYgHpFBF5bEIOIL6CqjptRRAF4y5/dc3gqBHfqUsrBSjAlbTWVTknAqMosXHzaxhQpEGLvMat70sEGzYkVMkTDgUgKDbkUqj42Oqe+Ht++YX2uDEmpYgUomQ8KFb71gMAXNd96KGHzuJ5npFMJvPOd77zfKxssVj+vWG1msXSknQiLn6p/k4IlHJcP9NHZkRQQt1utBQ5pTR03BXvdun+fZXPXnrDjfmya9LuYy/evSPpDK1pnqnQiMQ/B4JNIFKz0omIIvJz2XhxIt3jU9WRCNQtWS0aOhENj7m54IqLLr0y4iTDITigSECAhrgkHEUhc9JBvDrFhZA5vuuK6cFB30SktbBAAYqFRGsdV7oCColA4JjTt37DVaRVtYHBMm6MJRHndCwFZAlKIKTEIXXpDkk4T3WmoihIKgVoCYocd+BhVmcT0a5du87qgZ6BiYmJpj3KLBaLZblYrWaxtMTzvKoma0CknGCDCY+G0bineCkZBiJQBKiY6nib6nxfKH0Da7OJRCJfLoTkHX6Wnz2U6h9qkVVKGkuM2zoTIlVJKUQQZnacoFjQlUmiPCmpy83aYZsSGf3I44ltl13C6DDsEqlqddlqtQwQQcQPPOJOt9b7UzxEV1wz9R/eqDlEJJ6XqEDEMYZYxHVJe1AVRwflyHNcmR6NbX7lxYbZMNdq3C7txkrFfLmU6e9xpKJAIAEUXIpdfrH2nErke0SGFI+cgvjR6lWxpZrsLBaL5cLA1uywWFriejGe/3NdAf3t3QrdpdJSLT8EZEvOsfLPUfdfRKo/MGU35hqOEsnUli1bhzbdtHbddt8vL5onRKj4YWj49F2flooAoGpPLAZB62K5Evp5cACq5knU/286WygKvZ6+GzZteaVSKaJqJsKcZp0khbIphSly00JCAJtgcuant912ojMZZie1iWpPA4YDE6tAT2YRMPYfUdmCLkX80E9UPN7Gsrx/lEhTbiZ7/PAeQqlu4hSAhJ2OVLR9GxNYKHj+uXDPs74IRYZsjymLxbKysFrNYmlJLDa3bwEBEGBVZ+fYCWdqfKmmrnJA9z/dsT//2rIk/aAozLU4fxMlE4l16zZftH3byZMnF8yqNtbMl8Io4np/85ekMESAerd5gRCUicJ0krhax18AluZqTQBBFMqjT5hXvPJX0uk+XU1DIAEZqo8ncL4c6VifE+8QYmP80ck9+dIDfW1jThjlZ3RUbUQvVCx7paD30NG1Lx7VM8Wd9z7U+eLhxMQMl6L+ku/LMrWagh49dWr3w3ezBKB6p3ZRLF4qHnhemRQXcrEHfxK4bqyzM8ZMIi+1iLHFYrH8LLFazWJpiet5zAt/rmsyY8e0RpqXUlFCMJ7BSG7D4OBqP8yJzBacJSAKTXd3Tz6fP3Ls6KKpBFA+qwKfaBnBWwu2rx2iVoa3fisMkKJU3E0ndaUcVf2j1YpuC29JACgBMnnngUe9RPuQgAmaqk5PqHodDwEoNOTEu5T2hHl8+nCpeOLVt3Sl1TQBpTxEfAFl87GZcl8uuuX5A5duu+yN2cpr1qx/x+5nBp57cf3aXbewMUsNAKwfz3O8zOREX6/iUNe6HygIkM+LcmYIPkFlpuOeq1evTjsxWVzqzmKxWC5wbLyaxdISz/V4sU7iaE33hvb0aBjlY87pfvALYEBI7njla35jzZpVi11vIkKaRKRpWyeCFGaUNHoALDdoTeZ9abziapqBJq2VIiqXw5p6IW5VYk0EBT91/S1vYyTrwkzV+4cS6mLSN+I4MXKcKKz4YWnT+s03XJXTKiT2yiUfFJWCZL7U39nz9mn/0q07S1s2bh8Zm+nrHSgUU0eODb/qjkuN8Gk6XC2+QQEcHRvoczf2r4Wcoto1JUT7Xixu3sQEiSLa+3TU00fT05XVawOFhLK/o1oslhWF1WoWS0vceT7QOsyrutYUcmkTc2KdwWItR/V6EwIMT3V2XPTBvp4rZU5B27mVw0iR1rpJwmA1SE1Ya64HWC2rTwLq5i4IqFggx5nN8mQCKSUsHHExb4QhwgRA0QLLmgDCHEZ88FjXza99m4AIjFoyQtVSp4BaFmklCpPkKtFA0Nu1dbCvsmpIkzApaAduoqMSdad7fiXe/bqOiNdubPe0WpfqcHXi9te+55nnnt665RJIuFSjWt316vtRT5dJuSEQClTVhUoEY6K2NkBQLITHD8vF1/Px47lLL3cI7jmrg2KxWCw/E+zvlxZLS1zHNYvtZiSe1tOTyVKR6LT1z8TQk3sHKXkpkW6YixYMF5ZYLNbR0bF4G5BomGXYmRowII0G5SLM05O0QIJpUNkPCyU/DI3WuuomJdQtU42BAgFKZRqbGFBOm9SaXTVKe1TD6hQAASLDCnFAK5VKJDqFM6lUCKMBM7SmrVzpKoVvjrffRrG29vYO7eiIRGkliju6ui7ecbV2ztQ4Yc75a19JSqVwdOzptvTMrJ0PAGT7dhWPi4YqFMy1NzrrNlDos0NQIurcFRi2WCyWnwH23yyLpSWu63DV4DQPcogyE6rYrAN4QxOJQDuqc+B6x3UWGOcWyL94PN6WbluwTjUTIGKWOdH7S4aYPWFdP4lo7UQRz1rnBBxFhZIvSosmpR2gLtPmH04EImo6473ill8AeYp0LQG0NkyhoXsEkYkUaUARXAibqAgOIcogNKIffGgoiK7UsSRpRUQiXJWTwiYMS0889ZNiKbOkm6vZLMlAMSGfnTp48CfGVKjxpAgC09MjJBz49OQjvOMK7TjCEYgUlC/L9SZbLBbLy4rVahZLS2LxODcLSBNQUIwlnW5pbfRiqJngyp1X/0el1Py5i3aJxVKphX0LSGBYacfEquXAlhPERUpJlGhsVq443T0J5tmyHJEfhn4YT7f1DK2Nx+OikyASqCbFQQhBKPsOJzdvvYYEgK5fxoLgNsOGILrWAlQAFiGwgVIRe/tPQPSOrqE12nMUMUhqDT8hICn7mSeevj+KoiUaEQXEUCLkEhVyk4P9PgchiKqJAyy1VwSVzeDoQRFVgBgJHRKHlUSL5bfFYrFcwFitZrG0RCnVtBaXAGs617R5vX6gF6iLxvCK8UYLNyXaVjUpwT/f1+c4jufFFm4AcT267TW6u2s5FjUBAOVAuUyKBcKGslnX9QSiqtsqEIeRKEl3dyVSHZ0dHSJeywK4RKGJQOsgCWqUUqsdaHaOiASBD4AIBFIkkEiYRRgKFWnv6rv65tf9Qkdnt1YO6sF4VQ8ykUSmePDgAWPMou2bw6BqsiiH5uSxZzdtmHMSCKhm7CNSLLJzl7huwMbR4gDKgMqVlitbLBbLBYjVahZLS+KJRFO7GpH0pHtL5fZCyWlVT6NsOpK9V+iYO1uftTa5ugI1FJtSSs9pyVndkAVrNrq33qFd93R9n+bOapxUOO54ASkGyDBGT6ooKteEVjUpgIi0SqRSsWQ6meoJfTVHfi3cSDlt6zdex0xaV/+5ULXcz9mtGTDlUrlaxYMQkQoBhkR+KRkak8lu3XXd7/YMrKnetoIoSN0yBxB8P/B933GWkepEQhpswjA7fTCdDEj0gpMrEIBEijdfRCSOo7xLLul0lCpHenp6qaLQYrFYLgSsVrNYWuI4TlOtBkjSi+dy8enpJiKqWkOtGF2R6ttRc4DOWYOI5nr6qm95fnVWFhTCsG8IyYR/hgzQuiNRMOvANFGMyAEpApkQJ444gBCFjRxPAcjR8Xhce6lk20A2uyhObe76untg1cUKTASQAqmmRdjyhYIIKTAoRM1N2ZXLdg1PeCOT1yTb1xo2BIAaDshZtaaUuuiii5ao1WanifErxTVrpxNeAKmqTCJFtQMSBHBj6OlzIK4Xi120PcXkFcuxYsm26bRYLCsJq9UslpY4rtui5Sc5Wp88prLTzuIIKxFojci5xIsnGxqoOkqRSsaThHlyjYX9wJ+zNiJBV3e0afMMcXmeslm40+yfAl0tecYiShEQM0aTSKnM0Ckvrv2oHbUkTxIipV1Wyo9IKHFyVEBO3dY3X7cZGh2X7p7tBCFIk0PUkwwSyYQCKWJmYSZIzJj+Z/cVJ3K9/UOXiYqolqcpi413sVhs/fr1c42Lp6Wqyxgizz39fGfHFIEbSR1UzYCti1LHo1TKESGXlJMoBMZ5+HEvMj1L28hisVguCKxWs1ha4lbtaosTQUEEMX4i4XWY2eoYs59PZeG1bXG9eH18/QPC0888lc/l52o1Y8zk+MTsZKJ0h3vHG5zBoeJsYNdi5uwaGRw7oqkmwzgyvPtpP5tzIu55cHcs3tEnsZuGM7vmtgQgraDo6InxmXwwMuaD6gFz8wp2SBDyoUMV0gnUot2amt8IQj09vUQUBBU2BgZKnHKgntubd2PXbNiyHUQ01yTWeCQCAK7rrl+/fol2tWruKEGU0jPT+9KpE8I1Wx2pmoe28Sgbds1YPCCvOJkzP74vzpJaykYWi8VygWC1msXSkqY9pgBUTTs9bQMx3VEpLRRSLHhqn8tOr0g0z4Qk8uBDD37ozz80k52ZdUeKlMuVFw/sr79FYHhwg7d5q5A6g/+zsW5uhh5+QENACuUKHnum9KWvTft88Xj+zS8cXLVhx+sk8W7fbEdtORIGaeV63shoZv+hw6MTJaEYhITrVXzrrZjCUHLFRFQr/9HiKAKAtOuQI35QMlElClhRZFhPZIYq/iVEmkTqLQ5ogVAD4DhOPB5fakt1IoBF+NTwkd7uRztS09XmWTWhBlDDG1xtmyWklHixkFSQKcLwLiir1SwWy0rC9i2wWFriuK5pJSCEu5NpHXUXyyqRmNVzIgCRSm5PpHoxPwrN87yvfPXO4eGTqtHZAABgIj+F0RxQbf7km2jdhiIohyYlNJqgiMolXSoyQSam5MHH9f6j2Lzjdb1r3j08kr3x1eu2XvF6onD9+m0jc1SSJsfROhA9OpFZPbgq4sABDBTV4slqCQ6R6CDsBDW8k7MRb/MeBhgMArLFk4nOYqFY8NqHtOOkEpsH12yLjFHKoVq30SaCj5mz2ew8rXaaMiUiIHFd97EHv7d9y3FVLfyram7leUJtdgkBRSHjoccTbuJqgY1Xs1gsKwmr1SyWlmjHiUxTuxoE6E23jZUS0xnp6Z6nK4jUxh2viyc7F0iaeDyeiCfb29qVUnOTCZKeGWyfykIIYPDOy2XbjhEis8RvT1JgER0z+ZL+3t2VkfHBK659/TXXviPZsa6PR9ZsvM51E4Yr7R39I9VAfhAApTQRecnOjr7NawbikxN7B3oaJW5JxAAEwwxHqw6qnaSm4hb0Jq02MygWcyKolKcBP/BLQZCIuW2vuPWSdRu3CfHipvALmJiYmK3ZcQaNSgJOdyQTsZODfQFMRCC1oOjInChBgRAiIUzk4k89m1ROt/UnWCyWlYXVahZLSxytT6MxPK0y45RMe0B57nWJKN4x5LixBaKDWa64/Irevt729vZZGxIRcbGrPQOAAUrgupt0ImmEz6gnZk/mOLJpQ2J8xkzlBm9/7Xsuu/L2eLIrjMJkulcIxgRCFEZRfVatW7wI1m6+mI5O5bP7x8Qf6NZQEUDMYlg5AAlIea7b3shfWLAvGvINJpedVBDfz3JYTsQ8w36hPL552+tFRNW8uS1volKpHDt2bKFdbeFWACAiEIQmPHbwqe0XjacSEYxQ855RVFV1gAgJOWpkqpdxExBfVgsIi8Viedmxv19aLC3xvGa926sQaSJt0gmnfUH2QbYA8rq0XviLkDHRZZdd9mvv/bVEMtlYVIEO7Hm8I5UVSCTU1ivt7RVh1UJ/NEOQbtdX7GoX94o3/YcPXHXdmxKpLmbDUi+nNtdvKYBAWIgcFhIoqeQqleDoiUDEBUiEglDKBadS1lCklNPZkSZquCTnhtBJ3dHIzMH4qT0QEvb9ci7uJUBKO8Xe3jYG07yA/7nPsPogyQ/86alpVKUYABElTXJO638XNDF8/LF7vxp3x8UErZ8LAQpggKFx/FTbQ4/covQuLEh0tVgslgseq9UslpYorRdUPpuHSNrt9qgzjGZlmVaYylM5cBfnbkZRdNFFF3V1dc296Dru5KlnU54PoKNLX399Me7ll9Rqqa6dmJFIaNdLGO8/XnzJrVrHmOt1MWY9g9SocysiJoKCS1odO/Csp8p9/V25vBZUtZoplaODh6KjJxgKjuN6MQ0IoER4oeSSmn7iSKbH94CgHSkUhlOJzkQsceXlW1LpuFCLPNbZpyhRFOXyOe24EBApMSwiaNpLQcTTXmbkUFfHgbbENNWEYNN6xZ4iLQCUHD6C//O5tXsPbgdchjmjk9VisVguKKxWs1ha4jjOaXITBWhLtLnUU67ohq5QChOZRKHgLZ4XhqHWekGwV2Z6cuvQ4bgTGZbLdyV2XlLWurU6/P/YO+8wu6qq/6+19ym33+m9p06SSUIqoaVKD0LEV34B9BUVpVqQ6quAgogUESW8KiKK8iIldEiAQBLSSe9tMpOZTO+331P2+v1x7p3cKZkEFAh4Pk+eJ3PPnL3PPvfO3Pudtdf6rn6gtaEJDI1IzKM4RhpmwmIkWXGZPBEArcYGVtxKEEoSk3go2FlR4vJ4XHn5ZYZpqTGzp0ts2RKPxmVgpinMUKQ7GUKjPo0NEiqWAHg03Jnpb0YghqKrZ3841K4qbPSoYuRAJ7CXK3O5qqpKkRVkUlyLNzU2GobeJ8UtGVFDYqamZaTtGje6RpY0TNGg/SGps4M0HQ8cFIsXw469RQb5BAKBDkPobxsbG5uTD1ur2dgcE8aYKY7d6JvA4/BoMVd3NyImxAxj0BP2GEKGQVVe3wiTYRjLl72f7m0AoqhmFpUiEfTu/h27k0DiC84kIiRCQI7KpNzcLAGid2ty4LWT3rlEgpBLCASmLecmjAAAIABJREFU1tUVqK1pdzkyurpJkGAI0RB601xp6X4El6Ybuh5CjgBAiARJMznqjU5hR0f72tX/8HvbAQDBNIzuuoZNmlZ7+hljJc4RcOg9RyR0u93Tp03v7u5hnL388ivrN2wwDAN79W9SYyJiOBzYs/OZdN9aRYlioqcVw8T7GFkpf9a/aBgbG8TO7ebbS3TNTEvLqyJ0Wd5sdlzNxsbm84Wt1WxshmKIT3UCUJgU7FYjYX60uSeAJHsBpEG35foMJzJNnaLbvUoUADw+pnhaLUlCgMeoPu3tVEBA0NaCyAgZCJ4je+a6HA4AOOr00W+7UphWTA1BEABjjAmRW1Cy4cOGWIC3Nxmd3UTIkAg5FRR7u7oMojQhdMSuYE8LAQhrv5MIBTEQyVnFrm1re7rWMmqzblGWdS1eF4hs8PkcVnDPWu7gio0ABMiykpeXd+TIkc6Ojj/87//W1NaEohHqHYEAAEKY4e7Aklf+cnD/cxzbmakzIHY0q6+fQmWaTg6Hsnm9yMxWzp5frjgIKJ7Uz3ZtgY2NzecJW6t9PhAnxom6iR4D0zTj8biRKBj8aMuLx+O6rv8rVz85OUY/UAAABOKMaWElGnT0KgUCkDg3zVhKKv+gEAC1NB6YXLHSo8aRYUG5U1YjiCmdPQeYmAEclWumgft3YTzGZEYxM8PhzRdk4DGEmjWgdxYC4pJkmqJ02Ni8vJHD8qdx8nZ26YCMgJgksrIgEo23thmmqXtdocM1mwhAWFE/IiRLRyEiCqEj7Z9+Sg9jYQBgDDg3BdQXFvmF0BM5dUP+WBKAKjvdTsf+/dvrDte2t7c1NDcJxIQLcVK96uHoznWr9259c0R5o8K7AZEddX3rfZqRrKghgsMZT/OppeVs1rmugvy4iG0CoQEADdLP1MbGxuakxvbs+Hxw2223bdu27binXXfddRdddNHHvspzzz23aNGiefPm3XnnnR9p4DvvvHPPPfeccsopjz766Me++mfI4cOHdV0vLS2V5f4uqXTs3CYryGREVQekGaIbyYBE9n5QmBEYysqWAMChOHZu+mDeyA5BgAixuGHoRx1gMSn1BviGIZBARMMAWWZ1Ne60jJ7tR9R5F/qEOKZQAwBhGkflHoGVOReLa5PHn04tjcUForl7LYICFFMVprhNBo5DtaGRY9RhJcbhlsPABAgkIaylESLjkmnE21pWjhy2L81p1tU7AcMITALiDl41bgwIYfUqOPYTD1ZvTy2uLV++dPuO1Zs2bTNNUTlmjD8zjYgQGJHgjAe72rqbWyNde87+UrCiJMxAZsAB+ulhS0sKAg5gKg7d4eGnncVUv2hrOSyBYQBDYHYRqI2NzecOW6t9Pti9e/e6det6HwohQqEQInq93tTTLr300n/lKk1NTevXry8rK/uoA9vb29evX6+q6vFPPSmZNWtWbW1tTU3NwHsfIq4GAADkd6arakE4Wu9RE/FIiYUkFkl8H8nqeN5vFgSuynKBZ59X1YBACGpqjJJJlvCwLDIGdN9MMfoA4AzKRrKGw+r7q0VQTp99btLldpAhCAAkdEoG0omISxIgdLZ39IQ6ws0dnkxH3JBJADLgEiJCWpqyaYsxtipNlcKxSGNLc31edgmAKTGJSCBn4Uhwy/q3FXy1cmQ7ohwIOhEiQJwBKE51xIiRJAQiG7Th+1ERioxMamupr6vbmJff9PTf1siSY+q0qYrqEHGDoxSLhw/X7Qw01aX79NFjt2ZkxyTGUfTt8o4AyUQ6AlWgM653e53gcIWAcTANCcHjjAaOlivYcs3GxubzhK3VPh88+eST8Xi89+GuXbvOO+88p9O5c+fO1NP6+UF8VK666qqLL77Y4/F81IFf/vKX9+7d63A4/pWrn5wMpdUQACjD5YuYvp4e7slGKxrmVMMSiwAJSuqU/lMI0jStrW3ppNJtEiZ6b8aiwJAQE0WKVkcmSlU6aG2AWr4bKKmQnklGzNnZ45t5yflEyYLLAbG4xDVNnSEgWdOQ4EwI02hvb26oFSRI9chSuqmFwYFAxAgR4i0torPDUNUIo5plb/zznAsW5OeUhkI9Xp+/tbN16esv7975xjcv05kIHazlB6p9RK3WLqTMpZLiUsvcbRCSu8UEyAENLarH6+bMDDCFdzTx5csUVXXGojEtqGWnZ2zcsnLF0hdmnlaYldUoyUckhiAS71ri6KuAJMgUJuNOHXKiUWxsbBk/1o1okomMg8KkdB+L9aCO+C/mCdjY2Nh8+tha7fNBTk5O6sOOjg4AQMTi4uITnyQWi7W3twcCASFERkZGQUFBvxPS0tLS0tKONTwejx88eDAejxcVFfVbj8fjGULh6bpeXV0dDofz8vIKCwuPdc6BAwcikUhOTk5xcfEJGYyl3Fd9fX00GvV6vcXFxZI0yE91T09PXV2dpmmZmZklJSWMnWim5hAf7JZlv8OhBjVnoBULsgEBBIHXZfhchqnHUJFBDDIBAtu6cW0GPFeVF+jdYjU1Fo0q6RBBZHDMzUzs1WIIoCimP1P/6v8bnTN8ajwec7md1P9yR4UbJdIQiRARABkzYzE5HMr2u+ubO7t7AqXlw4PhLaoCzAqucXPyZHdrm1Y5WvY7Dx/oEjs2q8a42TU19WMqhz///PMH96w/fUasMJ/Wro2tW+fKzvdZFyQSjHGv25Nq6jYoDBkIDAcOOh3vZ2X0IIvNneVmmtPQule981pR4fB4z4qVS/+QmxkZVtGsKhGEUO++sgA6ur9KIAQRcMJMSR7TWBttaW1uzVcz3FEGBASMU0GBuy2kG8Kwk3RtbGw+d9hvW18ozjnnHERcsWKFYRg/+clPcnJyHA7HokWLAODyyy93uVzFxcVjx46tqqoqLCwcNWrU9u3bU4c//fTTiHjrrbf2HpkzZw4irlu37qWXXsrLyxs3btzkyZNzc3MfeeSR1IFLlizhnF9xxRW9R6655hpEfPrpp5cvX15aWlpZWTllypSioqI77rhj4LKXLl2alZU1duzYqVOnlpaWnn/++SNHjkTE2tra497yE088UVBQMHLkyAkTJlRUVHi93ttvvz21ysEwjPvvvz8/P3/8+PFTpkwpLy+fMWNGfX299d2dO3c6nU7rQuXl5YiIiIWFhQ0NDdYJRDR0xpUqy4FObG3mVmCLBGSkcTQ7mhoOM5awae2zDYjokF0NNTvS+EEwj65TkXh7p5P3ikjsPy51CmthQugOV0tOAV+8+MVQMDCYKkppKm8kroVMCCBgoPUESjxSfpZPVijQEzAMpaUjTsQZyQjodNK4cY6uLtOpOgryaWJVFOng6rUvhLq3frjuf/fveOfcuWLOmUp3j/Odd0WGrzzDlw0EBCQECYGq4sC+Qq2f/kZAxqSmhh01+59RYIdDtDswPLyUz5vrlOIrNq9dLMHrB3Y9VFJ8+MILQ35/O8MAgmZNRFb5Z6+nB4BAIFSi8cy0tIsQT/Gnn1/X6EIOiASEHEVWNnIWZnD81l02NjY2Jxt2XO0LyNNPP71w4cLGxkbrYVdXFwDs3LkzPT196tSpRUVFALBv377Vq1fPnTv39ddfnz59+tAT/vjHP/7www/Ly8vnzJnT3Ny8bt26W2+9NT8//2tf+9rQA3/3u9/t3LkzJyfnkksu6erqWrVq1f3335+WlnbLLbdYJxDRfffdd++99+q6Pn/+/OLi4tbW1tWrVzc1NZ3Inf7gBz/47W9/O3LkyMsvv9ztdtfW1r777ru/+tWvrrrqqhEjRgCArutf/epXX3nllZkzZ5599tmyLG/atGnx4sXz5s1buXJlbm6ux+OZM2fO+++/H41GzzjjDKfTCQCZmZm9uXfCMpcdokzANEVM8mXlIB4BMA0Cj1PsOLiBZRUXV4wCQCBKuHUgIDKZKVzfP71iRYG/o3deRHA5WN0hmDxJAsNIxs9S9zNT7CsS/6MQuing/Q/2vLU0eNZZMxCPld8GACBMLWk/BjqRh/GG3QfGeMDr4tlZ/kPbGo40aGnpxCpUQkMAIhdgaFpcGLqZlcUdqtkRaBbQMapCqT7YtPCrrmEVpChGU1P2hLH5E8dNOnCoyTQJUJiGicDQWk3verHPfSAgI9y+5b3Na/4wYXSnR+qWzLgJPMPv4BXReGTT7NM6c9NrJT08ZrTweXUwEdFM9vJKtKY6ep8IJuLu3TFZySgsHVk+oujQoa1HGpchS5zMJcjKNsgMgMgA/CK+6REN7udnY/PpgDh0exKbf5Ev4tvWfzzPPPPMqaee+swzz0ydOrWrq8s0TQD485//PHny5NTYxi9+8Yuf/exnN99884oVK4bec6yurv7rX/962WWXpQ685ZZbFixYMLBwMpUDBw488MAD1113nfXwH//4x9e//vV77733u9/9rt/vB4D169fffffdHo9n+fLlU6dOtU6Lx+PFxcVtbW1D32YoFHr88cczMjJWrVqVnZ1tHRRC/OxnP7O2QYnolltuee21177zne8sWrSod2/017/+9W233XbNNde8+OKLZWVlb7zxRnl5eW1t7dNPPz2wtmDAruJAyO9KE95c3Wh2yEACVMUgrdbvaItHw6rTZRomEAECApNQovB21vPwiNwdZB79dLUCZbu2x2fOYW4nYIprR6p5f3ILNLHzh4CGKVXXBMLhsBbXBsvESlFIpnn0KIEDVZcWyXFzVeYo9Pa2dk2Pl5WjQE6oEQCS4MwsLlEN03Qomt8TEMLMygSHQ/aMMT1uMDEQi3mc6vAZ0woV7jJNk0iYpmkKcihSahEs9hOcAMIw62v3LX3zidKcXcVFXEIDkCEJIC3NZ2pye25uENBwFWicS2QQw5R7GWRnGLu65WXvh845d0TEcLv92c3ta1vbIgy5ABMAJBl8vrgWbyVWgtIXsWnB6tUQCHzWi7D5DyYnB6ZM+awX8UXG3hD4AvLwww+/++67M2fOdLlchYWFJSUlADBlypR+guz222/3eDyHDh2KRCLHmCnBX/7yl16hBgC33Xabz+cLBAJW2twQ3H333ddee23vw4ULFxYXF+u63tzcbB158cUXNU370Y9+1CvUAEBV1aEloEVtba2maQ6HI7WigjH2i1/8orS0FACampr++c9/VlVVPf7446lJbDfddFN5efnSpUvb29uPe5XjBysIXA63S8qIxSXr94kB5Ge2mdEtzbUbwTC5rBAJiXGGLNC6MlJ7jwiuISLql8plkhGX9h+UBSGQOOaF+2wqohZjR45ATk52emZGilbrtbFgvcltPGkGIgAkwkhXz7hst0/liiyFAz2tTY17dzdoUWYCkxQAQwghFFkvLJQkyQQwETS/N+BzhGXs8bg1AYGOjugHq1WnUqgqDgQhTGHteXKJKVJi97HP89S7PEEt9TU7t7xfVnRk9kzyeQzERFkGI4GCHEqIATFiDDkIKRGTTA2qpTwLBIBcbm71lVScM3rixXGQYqZeW9cW7kGw+oECcE4ed0yPdZH5RRRqNjY2X3TsuNoXkMrKyoG584Zh7NmzZ+vWrZs3b66rq2ttbW1ra4tEIl6v97jmt/3bjctyenp6V1dXamnqsQamCkREzMrKamlpicVi1pEPPvgAAM4888wTvLVURowYkZ6e3tra+j//8z+XXHJJYWFhTk6OoihWzhkAHDlypLu7e9SoUe+8806/sR6PxzCM9vb23oDcsTiuHRcieZzOCHpbWox0PxAAEqS5o011K42eHC5l5peNiATCriy1rfG99kPPFTm2mR4TjhqpAYAVdwO3U22oi44dI0lyovy0bwSp/14sImo6yjzjG1d8IysjA1ImTKlAsB5hJBhImQ3r9u069fTJMrKWxpZdm7eFuzt8XiUelYIhoSgsGpUFMZkLtzMuSwKBEQBjgjGTCATweFysWiPa2/3TxkqMEIgMw0QEzrmDM4khAgghGCICA0wRaoRGNNrZsr+gaEdxfjzDw8CAo/eVaGIlkjUUlmTHREHEYMUKyEg33Wnps+dffKXbmxfR9UOHale8u3ZaFWIyOY0BKlIsGm1zyaa9VWhjY/O5w9Zq/yn84Ac/+Nvf/hYKhYjI4/GUlZWVlpYeOnTo481mpXN9DPsDKyGsFyvAdlzBdKw13Hrrrbfddtv999//6KOPut3ujIyMyy677Ac/+IElLkOhUDweX7FixcqVK/uNJSJZlo+rNQFAHG8PlABkJgXaRCOKypHW5OB3inx/T03ze23MHQ5ud7lHemhdR+2bLmhzO0XC56zv7iYCEwbVHMDGKqgchZomRJ+254MlzSHohhg+bNQ555wTjYXI2iS1+jlhr2QDAJS53NLUoPSuGJFrcTeDI4frl7657MiBQyOyHbIqR3tEQ4Oela0QOgFCEnAm64whgKW4RKInFLB43GVqmZOqxgMxy9nMNExE9DkUr0NigIiILNE/noh6b1YBRQs3pGesy8mv5jETdAnRSIpVa7FWUt2AugoatKqUNA0PN1SUDLvMl10Y1sOH9u/7+5/+1nlwf+5ERiZYG8YEQsKIwkMMTYOOXbNhY2Njc1Jia7X/CO67775FixZVVFQ8/vjjZ555ZlFRkRV4y8zM/HgTfiRPjSHgnAPAx+hqZXHLLbfMnj371Vdf3bZt24EDB6qrq3/+85+/8sorb775ZkFBgbXIs88++6677ho4FhFHjhx53EuYwjzuORxIi0jc4UWKouWBxqCkAAKBRrfrlbaO/FznB0b7pgxZy3TqEhcEAyUHAYCpQzyI774tCvKZ22UKY9Bs3T6HTCHS01xCJHXz0eATpGo7XY/Hw40JrYZEDDOcSs3uHXvXr420Nw7LRlJlj0ftjsXqajmg6vEnPNAYUtKz1tqYFQBgGNjS7J9cNdPnzQJhJvp1kshwO7I9DsPQNUEAoMiyrhOBZQgMjCEzuBFvCwSe9/s2y2ZImARwtAe8tbSE3EzpRpBy4/2fDiH4rl3Y2jW8fExWIBrZuW3TqiVvRg5unZMRz3M5hDABkMBEIAlFRlo4KkxDyEPYiNjY2NichNha7YtPLBZ74IEHiOjtt9+uqKj4rJfTh+Li4kOHDjU0NFRVVX2M4Yg4bdq0adOmWQ+rq6tnz569bdu2u++++w9/+IPb7VYUxTTNU0899URmSzSgTIEAjAEHB1kGgMKcTinbEN0M4gQgBDAGI4o1odT7HQGv1CMM4fNAojhysPYCCChximv80CFp3Voxc6Y+oK4TBiaYMhBevyHI2iVMPT0lDke4Z/cGNA4BAAIJQECINtev2XTAIyITS3kwJLoMkelExni4h3d1gOQ0GQpGBPzoPNYiBWHtYWnrVs+8M7PBErIEAKBwnud3K8yIaYaQmBDEGBNCZ5wLIIbIAHs669ubX+SwzOftNGM6A0Q0k7rSiqVZiWsDujwMDjOE70iDPGzMVJM5lrz9+vr33/F3Nc1LF8zDC0apJOK9nimMUZpfM0KmZgIJbcjX0+azZ3tNzardu62vHYric7ny0tMnlJc7VZUzNvAHYuXOna+tX5+Xnn7TggWfwvJeWLVq/b5948rKvjF37r8+W3NX10OLF2f5fDdcdJHrE+j+QkSCKBHptvl8Ymu1Lz6RSEQIwTnv50Or67ppHj9o9Ikya9asFStWvPzyy+eee27vwfr6+lAodNyxPT09brc7tWhg2LBhv/nNby699FJrb7ekpCQ9PX39+vW7du0aO3Zsv+HRaFRVVSu+aO3MhsPhfucggHR811wEAJficmUUxeJ1TiWeSEET4HSSSczhDBAlMuQHiahZEAIAZyhzycl9dbWRznGUlaNT6m7dQKM3AlXGgnwHV1TUQmA1VkeWtFVLJH1JivNwzfoc2aogQd0gABaq3V3iModlSR7ZjAZMhZGbmTFEpoBpklOJy2haDU+Tb+/WUhgR1B1W/b48ITSOLBFjJVAYOpiBwowBkyW5u7vb6fYyQg4oyQqR0dPRtmr5n4qKdpYWdHGIMWRAhESASL2bnuyYO84Eou9DIFR1M3Pqaef7sscv+t8/vL/izUonVbpFJhddac7cchUw3ut8IjHIyY/11BpMxE3D/sQ62Xlv+/Yf/vGP/Q4qkjSsoGDOhAk/uvjiiry81G99uH//g4sXV5WVfTpa7e3Nm/+0dOklM2b8W7RaeyDw4OLFIwoKrj7vvE9Cq72+YcNPn376itmzf/yVr/zbJ7f5dLDrQL/4+Hy+nJwc0zQfeOCBjo6OSCTS1dW1Zs2a8ePH9/T0fLZrs1pa/fGPf7z++us//PDDDz/80OoBHwwGjzt2xYoVl1122b59+wKBgGmapml2dXW9/vrriDhv3jwAyMvL++Y3vxmJRGbMmLFq1apAIKDrejQabWpqeumllyorK3vF2ejRowFg6dKloVAoHA63t7f3qtjjW3YAEJHP7XFJabX1eq+gSCR2WUatfcw5Bp0hEWxTZe6Q5XjEFY1IfbIBB1sGAbicfNTI9FAkJknS0TII7DPG0IIVhdU+l24dag0SAh/mEaOyJI9iSkKXOSkycBDRUMypiuxs9LriMLAdEyIQ6jrz+srGjxlp/Y3OkgIShc6EETQoYEAoFGlsaAACw9DXrl+nqoppiN3bdkRC6wtzWzzOGEspfLD2bgkHtRxO7nv2CRkm9kfb2qGmLrts+Mzte/b+5ak/tdcdzgl25op4LKq5i2XZFQMATOTwAWeQnc2cTiMWa9D1rsFfBpuTjPnTpz9/xx3P33HHX374w58tXDijsrKtu3vR66+fdtNNH+7fn3rmaWPG3H355ddecMGntrC7L7/8spkz/y2z5fj9d19++Y0XXeRQlH/LhP3oDIW21dQ0HK9s3+Zkxo6rffGRJOmpp5760pe+dOedd/71r3/1+XzhcLi+vn7ChAkul+uzXdv48eOfe+65K6644rHHHrP6KxDRlVdeuWTJkra2tkG7RaXy4osvLlmypKyszComaGtr279//9y5c2+44QbrhDvvvLOnp+exxx4777zzSktLfT5fPB5va2trampSUt4WFy5c+Nprr911111///vfEVFV1Zdeeik/Px8ATsS1QxDJXGptM+pNMWIYHO0rjkAgjm5lnkA0BwGYKTwuJSNLJJt/Hvu6JqhOHoq0bvzwvXnnnNH3EgQIIKC1tbH50Fujivcc2UGWxOmKsGK/lO8mGQVAHIDJMuOIJKA7oA/PVP3pgjGJkANoyTpV63pAgPsPSm5XuapIKHqvBAJAN8xuA7ri1NkTU7VA9aHqKVNP3bR584O/eWj8xCpGYMS3nzot5PeEERgCALGkNy8bNBftWE+Zpe0iUVy1Jp6VV4BSzu697wmhORmUuHga6R3pbNRMB5c7ESgp8pBzKChSN2xpqq/dbOjnHf+VsDkJGFlYeOnpp/c+NIWoaW6+8x//eGb58gvuuuvde+8dX15ufWvG6NEzRo/+1BY2f/r0+cezED9xctLSfrZw4b9rNpsvJLZW+1xiue0P7JU+ceJEwzAGdnA/7bTTnn766QcffLCpqSkYDObl5X3ve9+78cYbFyxYoChKryTKy8ubM2fOsGHDegdOmjQJEX0+X78JTz311M7Ozt6izoyMjNmzZ6fuM44aNWrOnDl5ffcprAlTm4cyxs4777yNGzc+//zz9fX1mZmZ8+bNO+2009LT0xljQ5c+nHPOOU888cQLL7zQ2NjY1NTEOc/Ozl6wYMHNN9/cq0EVRXnkkUdmzZr19NNP19bWtrW1KYpSVlZ22WWXXX755b3LuPjiix9++OHnnnuuo6NDVdXS0tJeJXdczw6ARBqXFuI9IS+RDihSv5X4f2jVlczgBwBFlSoqFJeXyBw8r+3oKCDGtPq92zpbTzHNMyGxAUrW5Uwhujo6NqxdqWrvVpYGTQMJKBATkseV5UEZ4pxIkABiXJYYSQ3d4lALjtOhrS3ucUkCgIEJJCVXjgDCMKT6eufI4T4EgSABMkhuuIZ00REVXd2xQCjuFqG9e/Z0dnauW7emvaOtpaUlzcOycj7IzYmBaUXzGSSqXxGAEwLAwLzAYz5lpqm0dxBIw0ZXXdDRY65bt04CGOlTR2b6Q8E2MVLJKIaUVwHByldL492B3bHgQY4n8JranHxwxoYXFPz1Rz/SDeOFVavufuaZ52+/3Upj2Flb+9SyZRMrKq6YPds62RRiw759L6xevW7v3nAslu7xTBs1as6ECWeNG+dM/nYLIdbs2fPS2rUbDxwIRqOFmZnnTJo0e8KE0UVFnLGX1qxZvWfPZWedVVVWtvHAgQ3797d2d08fNeriGTNW79790tq1c8aPPz9pDPnkO+/sb2j4zrnnNrS3/3XZsvX79nHGzp08+fr584uzsqqbmp5dufLNDz9s6e4eXlBw9bnnzp82TU6+8cY07a5nnsnx+2+86CKJcwBYtm3bWxs3XjJjRl56+j9Xrnzjww9burpGFBZ+65xz5k+bpibtJ4nopbVr39u27VBzc2t3t2GaJTk5s8ePX3DaaaXJls1/eOutl9euBYAPdu368Z//bB2sSsm023fkyNPvv79s69a2np689PRzJk++Yvbs8tzc3qf9UHPzojfeGJaX973zz9/f0LBmz54DjY0+l+u2r371k3qlbQZga7XPJcOGDVuyZMnA4/feey8RDRqOWrBgwfnnnx+LxRhjqqpaphvPP/88APQaz86dO3fWrFmp3my/+tWvBp3wiSeeSD0+derUt956K3XgDTfccN1111llnqk89NBDAycsLy/v7ToFAK2traFQqLS0tJ/BRz9UVf3Wt771jW98Ix6PG4aBiIqiDNSvkiRdeumll1xySSwWMwyDMaYoito3KUSSpBtuuOHqq6/WNM16fnpXeOK2JEbUxfRMzmNE4X5VAccPqFFChhGAwyHlF+pkWcsONcISIXGvM3TqJE2LBznjnIMghmiaphkKRg4f2k/6njEjGyUeNwUDoLoOcGdxBTVOJiCiAOAMSDrSZtbWm7In83BtvGSEGTcCEiyLAAAgAElEQVSFk0BKtIqyol9CkN4dkFVpeJonDSGOltBKlJ9SOKa3d0bCEZ0DxmLR1ra2+vrDu/fsBiK32xMOHfR7u8A0UnY6CYAEMiKG2JtgNxj9XeaYIdxcHTb3S9/1Z4154aWXdmzeNDXDe4qfOTjsNmKFuRJhd59BRADg9ZGhN2d4ZYkf/wWxOWmROP/5lVcu27btvW3b4oZhCa8DjY0PLV78tbPO6tVqf3vvvesWLYrG436Xy+d276itXb5jx6I33lj94IPjy8qsc279y19+//rrMU2TOFckaUt19Rsfflicnb3mwQcLMzOXbdv22Ouvjyku/sWzz769eXNM0wBg/vTpF8+YsaW6+qHFi2XOe7Xay2vXLtm4cfn27dtqaqwzAWB7Tc2r69d//6KLbn/qqZ5w2HpTqG5qWr59+8s//em5kydbp8UN45GXX64sLr7uwgstrbZh376HFi/eUl29+eDBnkjEykaobm5etm3bUz/84cJZs6yBhhD3/N//bTl0CAA4Y4JoW03N6+vXP7R48YZHHinIyACAF1etemfrVgDYdPDgpoMHrYFfOf10S6ut2rXrop//vCsUcqlqSXb2poMH1+zZ8+grryy9555JyT/aGzo6Hlq8eGZVVVTT7n7mmWA0SkScMVurfZrYWu1zCSIO6uw/9Kahw+HoJ2X6TcIY62eie6wJ+x0fuB7O+UChNuiEixcvHjdu3IgRIyyLjWAw+NBDDwkhLrzwwiHuJXXC426VWutxu91Dn9MrYY+CJx6BQa/bO65wlGm2yTysG8D5R3CGOOoUC0BSpGR4eOjmVuJoshfLyych1zcdWZOWMVF1elSZdfd067ow4t1eddup47ZlpQUQUOjAgANnWUpUgoSVBnEeN/jBZrGjAcozSydUjYbMzSNHScgNjiYAT25/kiBDkLR/v8vjKGRo7WAmsL7q6omFI7oEiAwFiJ6OzhdffGHXrp0ery87K2f19henjGVMULJrYKJqgohDYqcSCRBTfNYGf6IABWEwMjy/9Dv+tFN6gpHNmzYVq9KMTE8BjwHoBZX+EZMQMdrfNhiIM51Rj0MerL7W5nNFSXZ2Xnr67rq6Vbt2femUUwaecKi5+drf/97ndr9x110zx41jjIVjsfe2b39x1So5+b70pyVLHly8eHRx8QNXXXX2pEky54fb2l5as+bZFStSS8K//4c/ZPn93zvvvMriYkHkO3beiG6aB5uabrrkkoWzZhVkZFQ3N3/rkUe21dRcu2jR/GnTrj7vvGkjR5pC3P/CC4+8/PI9zz7bq9WOxapdu/7rzDO/PnfuxIoKwzR/+8or97/wwp3/+MdlM2cms0Xx2+eeW5KdfUpFRW56Omesuqnpnmef/euyZTc98cQ/br6ZIT71ox/9Y/nyW5588r/nzftJsv2Mx+EAgI5g8NuPPqobxiNXX33V2Wd7nc6ecPjR11775T//+b3f//6DX/9aTXlXX79v35bq6gumTp0+apTb4Wj7rHOd/9OwtZrNZ8wNN9zQ2NiYlpY2btw4wzA2b96saZrT6bzxxhs/66UBwEew4spK8+i+vECAOZ3Q0orFRfSRwjdWiCqmm4xCiqrFo/1Uy1GzsV4LDUQgkhRZtPdsiYUdh7tDhWVntAZaDh46XF6ck+5al5n9rspbRNJot6WHFIfsYnEAIERkFNH5niNU3SZXFA0/s3KKmhEqmubOyjaisajMBQiwZCSiAEJdeE0jO68gk8hkybpQK9FMAGiaIVmeAAhAcKS+bv+Bg+FYLCc7W48be7atOK1KA7M3gcyy0kDTJJZo8o5Ag/n99n0KTIFbd4KBo08tGy4pysHqbTt37a70KGWSlskxBDRuVoEzqwkGWMwhEFLcocY5l09oX9vmJMalqn63GwA2HTw4qFbbVlMT0/V5I0fOHj/eOuJ2OOZPmzY/6e8DAI+9/roiSY9fe+2s5DllOTk/vPjiH3z5yyIlnD6qqOide+9NT+ZLDIEiSS/eccfMpP3Q5OHDLz3jjG01NddccMFj11zTe9od//Vfj7z88po9e6Ka5hyymOCer3/95pTKzTsvv/zBxYsPNjYebmkpz8sDAM5Yv3KK4QUFv7n66pfXrdt1+HA0Hnc7HAWZmTlpaQCQ5nYPT+TgJnh3y5Z9R45cMmPG9fPnc8YAwO923/bVry7duHH1nj1r9+6dlWKlJHP+7r33Tj0BT0qbTwJbq9l8xixcuPC99947dOjQmjVrOOfDhw+/8MILr7322oFt1E9qkDjjuiaHokpzly8eDhYXfwRBIJLCxwQxroprsQE2uAn/DeotbUSrfAAJSJd5a0n2xk27mwvytQ1rdnq8rjSlwyvt4dROZFoBS93EmnYzN5cYEEMExI4I7GnA1oBrYuWk0vLKUKhDOGp9aQajsMKsTgqQMO0gIORtbTJinsflSM0t6zVDEyYlhBoSAYRCARAoEZTkp0fD3T5vkEPETC1VSNwAIbMaG0jHLeMgwIZW57vLYzPnlmomW/HB8kd//3i4rXFKmStX0htDhp5OEzIjjMesmfqUdKDgqKf5oI3ZLUG/CFiRobiuD/rdkuxsAFi+Y8efliy5fPbsgUYYTZ2du+rq/C7X5BEj+n0LEXnKb9/18+efiFADAIao9I3x56alwYA/97L8fkWSNMPoCYeH1mrOvst2KkpJdnZNS0tnKFSeclwzjLV7926vqWno6OgIBDqDwbiu66ZpHM+S6dmVKwHgyzNm8JTtFJnz/zrrrNV79jz59tupWm3S8OG2UPsMsbWazWfMAw88YH1hGMaJ7GZ+6pxwcIwwEA9q6NbJKCoIfLScKAIAEIIUhaZOVYUIYn87nb4xJwLdYLIqhEBA4XVGHY668oIoRVvTXFrVCPIqHQziBHFM1iNoBlOcappLIDJCaAvxzbUipqdNrZo0duQ4pri2dFfn5QVlHmxs1NL9Kndo3GpzRUAAJvH9B9DBfCxhWZYQXb3LNBO92wVYn3YAjKHEpLIiTyTwflGBTmQiJtyAk/oJkEMkanLGVPU4QTUAMEnuCmaOm3BaQfGY995778m/PLl3z97zizPH+WRmSmG9p2yiIfnbgJlH3YhS7Eskrmdl8FrJTlb73GMK0R4IQFKTDcSKab28du3Vv/vddY8/flpl5dyJE8+bPHlsSYklgHbV1RmmWZab6x0yKfZfxLpWP5NtBPA6nR3BoHkCPtv9yPB6a1paeickolfWrbv+8ccbOjpkSfI6nQ5ZljjXjdQmu8dkd10dAIzq67sJAFVlZQCw9eN2ILT5JDgJPxpt/kM5KYUanKBWI4BAPFgdPDB8WDTP3+N1frRdNhJAJDQDnGnkdkT7XZOA4KglLQBALMZjUe4QJmcc5SjjQtf1/Ky2iBadNj7mdQGAhmQmC0cJEBvadKfX45A1AKm5BzcfJibnnz5+yrCiMq/q5Kq7ZIRcNtKoqQtv2RabMFbKyTbT3ZbNB4GgWBxNLbO4Ih8QEnll1Mee0SRhCTVGwAAYQwZMYqy0IBoPr87JVgRRvy6oAKDrWL1PrxjuOKYDqBVJJGIcdMNfXPyViacseO3td37zu4daW1u9DEd6mIvxuMLHnukpmxkFRQwQatZXxJGKcpVtsmH3mPq8097T0xEMypyfM2nSsc75649+9O7Wrf/75pvLtm5dsWPHih077vvnP2dWVf3j5pszvF4r/V8dLOv338ixfs4+do++fgPf3Ljx8gceAIC7r7ji/ClTfC6XS1U1w5hx000nMptmGAAgDUgstlL6jhWztPlMODk/HW1sTgoQ8UTbfBMF9aDb35jnbXVIGiKYdByfjlSsP5NVleflA8MukdqtIDXnCoiABLFISDFBajyApWUkyzEiJBIMTZfSzVQigQhGwrcsWR3RFhDFHgJizSHHvjbm8WZPHzc9NzPX63SqXDrS3pgxOtrd071pS1hSlPVbImfPZOTjBIQkSEBNtanwArfL2euF0e/mDNMAACYSbell5IyACSMvI+5Uun2KCmgZq6UIPGKBTkXXdFWVEzZtqf5wkMyJI0KiYFjqCk0fPupC1Zezcs3K5uYWxiBDYsO5rpssXiHGneXg7t4sv35ROrJCgDnZKEt2acHnnhU7dzZ3dk6oqMj2+491jktVL5o+/aLp02O6vuXgwbe3bHli6dKlmzcvXrPm2+ecY1laHGlvN0xzoFj5XEAA1z/+eCQe/+MNN3wnpe9LIBIZtJeUGFDTXpSZWdvS0tjZ2e94XVsbAJSl2HbYfObYfQtsbI7LcTWXIBCOrKbx45qcisYQ9YHWaMe7hEOV/X53YQlSH32YTLxKScAyhSTLTlXxdrWr0YAKwJINzwWCABKIppWsn9QtCAAOt8ut8oYeZ3WHNytrxOxpc0ryiv1Ot1NSOEodXY2Ko76xocPhkMZWpqWnodeLhJjYQGVKe4czzZ8uhGYtZuDtkSmYAE7AAWQucWQIKDEhq2EHj5ApGOO9SwUAAI4ggXANH5EtKQyYmZCVREAiYbybePYpFsNVq6C7a7xAX1SPNjQeYRwRoMLHfdzcEwxQgY7uGOFQm0ocKCdTMMSBH1o2nyM27Nv37d/+VjOM7553nnwCwXiHLM+orLxz4cIfL1hARGv27AGAsaWlmT5fRzB4sKnpk1/yJ0IkFqttaQGAS884Y+gzLTEaGxAns8oy3t68ud/xV9avB4DUOgybzxw7rmZjMyQplZfHgAhQR0PNqnW5dQBo7eQRUxRknmgdKBFInHvcLuaAsROjxAB7U/Ct8BAxJLQCWoaJ3R2uzAxfTIsUFsW1uDPRtT2R4JZ0y0VIfpGYikvO+i45EveVFFZUFA3L9ma7FJUhIDIGzJlpqq6uXJcETHY54IxpqkPVrToGIhHXmd+Xn5uZcXRK6n8LwhDcKnpA5FaXaAYOB5OVGAhHLBTjucwwrfQ5E4gBSD0dbqeS4UnvIdT7lGxCn5xoElJbh9neXTLxtPGBSOStV944cPAgMECCLJ8jJkkxRzxvdEygOaRNCjIkvxd1U8tJ2oT+50BE+/bt69807ATIzMw8GZ4uIuoOh/fW17+5ceMf3norqmnXz5//3/PmHev81zds2Hn48De/9CUru9+aobm7GwAqi4sBgCFeMmPGn5cuvefZZ3//ve+lJasHdtfV/XXZsh9efHHeAEfxkw2HouSmp7d0dT33wQffOfdcK5Z2qLn5kZdf7gwG01LqIfLT0wFg1a5doWjU43QCgCBiiAtnzfrtq6++sm7d1eee29sBYtWuXcu2bi3IyOh1cbM5GbC1mo3NUJzIp5sQIoq609UOCJ3d7vW72aiyOIB+PJGXmN8UENcdPrc7bHbn5MZj4dQKRgJAJAYoLOUUDvPuLmdWVkR1tmXnymQaydbnRzUa9DqIpRhXBKIcY/6RJWNK84b5nS6v6mYIgggRkDFXmomqlpetbt4UzcyU0nIEgBmOModDEFFjUwwhTeYqY4MEGYkIgIQpEAAROGcMLeWIaemSLyMK5Glp7ikfIWtkMkASwjBY3UEW6faPrDIIAwB9KkSPzgxIgMRU5MVnzLoxr7hy/4HNT//tqXAkDBy4Cblpfmc+m3Gmml3SDYkoYO/6EPq4tSEjdLuYz+udPe/s47+oXyyI6Pbbb9eSHq0nTl5e3sMPP+w/9lbjJ8rvX3vtz0uXAkA4Hrfy5RHAoao3LVhwz5VXDrF32dbTc/tTT935979/+dRTZ40fL4iWbNy4ZNOmwszMryajUHcuXPjC6tXPvP/+0k2brpwzx+dyrdmzZ9nWrRle7/Xz5386N/ivwBl76Fvf+sbDD1+7aNFzK1dWlpQcamp6Z+tWmfN+FaAzKiszvN7ddXWTv//9i6ZPr21p4Yw9e9ttw/LzvzF37qOvvnrKDTdcP3/+tFGjVu7Y8aelSxniz6+4IsPr/axuzWYgtlazsTkmJ5KvRgSaqe9v3TKtqsMwlSOtflU10jyAYDAgcbzqRiI41OA63Jjtc7kj8TYR11POT1ZMYsItFgBMQ/H5DMQ2ZKbDKTiLJ/KNk7ouufTUOQAAVIe3Mm9KflaxV5U9qosxRmQVLBgETHHHuGyAoK52ze1SiPRQCJta9WEVBIAdnWY0KLE8BgM2Ga1QTa9zB+eMc46JegBeUqr403QSgc6OKJEbgJChFsPN6/TafdKkU8OSuwdQS1knS3GSQwEIiB1tGRlZV6UXfMnho/q6A12dXciABCEB97CCMwrzJzVpTCBJKTePKWFJAEAgBsAy8mY8+dJjWTkFx3lRv7iUl5effsYZJ75DX1tbe9NNN/3kJz8pT8ZdPh1cipKTFIgS51k+n9/tHlFQMLOqamZVlRUbS0VVlBy/v9eods6ECXd87WvPLF/+/KpVz69aBQCKJH3trLNu+cpXetOwirKydjz22EOLFz+zfPlvXn4ZABBx5rhxV519drbPBwBepzPH7x+0n7pLVXP8fneKtbjf5cr2+/sVSDkUJcfvH1hqmuXzMcRe43EGkO33p2ojl8OR4/cPdPRI93hy/P5ekfr/Zs060tHxi//7v/e2b39v+3a3w/Hd887773nzvvmb3/hdrt6sNaeivPfLX173+OOrd+9+cPFiWZKuOf98637vv+qqsSUlv3zuuUdffdU6ubKk5H++9rX/OvPM3ovKkpTj96cdz0vc5hMFP0ZU3MbmPwRN0x69/BvzR1UOUV1PRF2RnpWHF1/ytQaB7sZWT1o6d/FuVQmZOkoq4iCdLo8Si8GyDRkq5Xc1uyG36ZKL2wwTEuEhy1AtRS0SYSiUJXGTKW2SAtwEBCQ2ZNZp8vf7g8XnFCvjXdzjUwFBIcYAhGXHYRJv97/jH7HO5dH27zFHjpIkWWttd0SjWmmxIKB330M0Zk6eWEVAmNxUReJEREAITBD98qEXdu6slWWJoeWzRqbuvGiB4zvXaqEe3PSBefpsVZEVQ49uWB3fuiE+cYp70hnC4TGRMFlDAGhpNdSBkEAmgIM1rL5m2oix36oYNyUQab7rp//z7vsrNCQwyM3gyrk5V32jzFOwV1AMyKrpw+Q/SHZEsI5yh3dG6aTXED+lP1Db2tomT5780EMPffVTaMWzahUEAkN8Xwjxla98xWrv9sMf/vD0lIboQ6Np2oMPPnjkyJG77747+xgGGSczTZ2dDR0dTkUZVVR0rDicKcSR9vZgNFqak/OJWnh8QoTj8a3V1V6nc3RRkTJkZWtHMBgIh/PS050D6q73NzQcaW8vzckZ1tcv90TJyYEpUz7OQJsTw64tsLH5V5FkKC5XOaIkYUaalu4zFTmq61Bdz00x1K8Y5xDToKw4kp3Z0tjRmpOXqKYEgIEJ/ARAjBkmMikWjUr19RyA0QnWqSIAihiPcYkz4MmcMGF1UAdEwwQilLgYVcm5YhgImi4XFDoAEAE58+TkpBP1EZ1EllQDgRgzdBLCSlNDIAQBQCREVhZ3qEAigsA3rjHCAXX5O5Ed20TVZHXyGbrTaaJICDVM6NOjn6YErL0HV22QmGPsqo1b9uzfcfedv3j//VUGAQggAR435Jfp3F8jIJTyVoYAgzwn6UXXlE569VMTaicnRUVFV1999e9///t33nnnBIcoinLzzTePGTPm1ltvrauv/0SX90mQn5ExZcSIsaWlQ2yYcsZKc3LGlZZ+HoUaALhV9fQxY8aXlw8t1AAg0+stz8sbKNQAYGRh4ZwJEz6mULP55LG1mo3NMUFE8wRyzhRVys1TgCEyUGRiEGHMjMYxGJX66Zt+xON46LCrolTjGCOkYRUchVXL0NsfNFV2UFOTebC6m0vxaDht6xYmCKFP0G6wpSaly+Z9W7v1ugh0IiIxA8BMBqAY43IkrBsaAqAkCVPQ7t3Y1gqKTByRgBcXl2VmpEOfbDAgq2KTse5Q6NCRRt0wOGMpNatEqLs9JoIhSyItE7q7zep9WvV+bdppjhkznQ5n7/oGiFI0LZvd1m61qHjumEnnbt+951cP3L/k3Xc1wyBgZIKi4OyzHKfNQskZBpKSb2WDCDXGnLnD7ssdfh/iJ2umdfLDOZ83b96CBQueeuqp1atXn+AoWZa/853vjBs37tf333/48OFPdIU2NjaDYms1G5tjQySGaqEOAACIDMHhEojASFM4gbBq47nX56Ehu783tig1h10KJ44ky9zriQHwhP8sDexaibt2Gi3NcYkjGRlej8MEmVjvSaltlQauEdNyIxG+rSvepEEUyIREhycA5ADU0hCMRTiRHNd4MOjdt1dWHYBkAIBpyA41TVbUZE2sFVAjE9EAbGnv3rxzf1cgqMgy59i7DCRwSqbPo5FJXrdSVEwTp4BpGmfNc06aLqtOgzDhNNJXWwlAHcBEiUCWM7PO/9LZNzS2dKz7cO269etMwyBEMgynghecnf7tb/pz84Ehg0SksJ9QS6jGkgmvZxRfd5wX8T8Gxtill1769a9//cEHH3z//fdPcJSqqjfeeGNZWdldd93V0dHxia7QxsZmILZWs7E5Noh86GwwAAAywTRBCBAAGmMxJI0BmAbzukhCccxNSgTGaczoCBOEgKapE4W4zBGht8FUivRCBDIN1elyEWFbu1k5ygOM99koPaYqJET40vk5OSWh1uAhA0yTkIgBWTuoRMJQRBrTM4/UY12tt6PV7fXkFhRyAIEA3T0QjbolJvdWWpiGeaSpNRrX9h6sf++DraZJoyrKHarST12mpfGsHNnUgTOekRvNyafh4+KVE2RkmiAdgVkbrKnrBNCsFg2BCG9pnViQ/3VTqM89/39dPV1AhABI5HVJC84ruP7beblZSGQmnsr+e8EEAFzOLJu0zOmfZjcqSAUR586de+WVVz755JMrV648wVGSJN1www2TJ0/+6U9/esjuPmRj8+liazUbm2OCyTrHoSACQd1dBglgKDiLIwiOKFDO8AfZEGE1hOwsY9TwCCIQkTCM/fuEJCvhMJNlWZjIOQcCw8DeC6kOp6Kq8Ti0tsT9aXHWR6jh4L/OBIJAM7MKC+LlI8yw1mEezQmzlJoJgnK9wxsPu5a+pR3ezw9sJofik7hpefw2t1E0yhF6/dsgEI7s3H1g45bd7yz7UFXUKRMqczPTEY8+UwKBAMqG+4tLvSSYMCVJEopMaZk6MpMgYb6A/SWUACQACkZw5TpXXcMpiN7OQPeBA/uFYVq36FDxzOk5l345PystTkaMJdRh7wboUVR35cgzap0+289zECRJWrBgwaWXXvrAAw+sW7fuBEepqvrd7363oKDgV7/6VTAY/ERXaGNjk4qt1WxshkLgceUaAkldnVyYHAgYkqnD3oP+OHoVxRhqnABFSpYeEHABm9ZLmzZQba3U0oyNjYowpeoD2BPgR3PAEAjBJCodprmc4YQt2VEztsFX1xPgh5vPJ7MFFYcm4sQkRG5pJUJEYii4U/Zv2wSth+SG7UbTPmo/0iMMjQgMgGDQiMUFAFm5dwKgqztU39j93vLNRYW5Z8+ekp3hE0a814mOAASACTBsVJrTSQAMSICQAUGIhGHdoF5qFrpwrNsi763Oyy+oMpG9u2zZkfojQMQQOGNFucrp031ZGd0gugEEgOgrhhNPgjfnkpIJLw35qtnABRdccM011zz22GMrVqw4wSGyLN98883jxo37/ve/X1NT84kuz8bGphdbq9nYDMVx09UAAQXvqPN1d6pxjcdibG+tsmlXrqkNbdYBli+ZpXAQQWIY6VDefRNqD8hvvoS11fLq93HTh6y+nhEBAiGRIDIMQ1XYsGE6okmgW/3Qk/MN0vuJy3C4UQrEqnbuF8FIWigukeQQaLUKRQBghLIkM64YAcww/Fq7ZAaVQGdEmCQEEGA4ZuXsWSluYBhi157DuiFNGj/6nDnTM9Pcph6nfp4mCFwCX1qUMApAhMl26Qk9d6ysOkYoh42stu7SM874enlZVVtbx3OLF8diUQQiQpXz0RXSuLEdPl8bAxOBBo1a+vMWFlb+UVL/c03UThBJks4///yLLrpo0aJFGzZsOMFRqqpeffXVpaWlDz74YHNz8ye6QhsbGwtbq9nYDMUJGBAimVwVmbu2+0JB77ZdWbV1viLnKMnUCah/D/F+IzHZAoqQI3MKVdLVpn1qU410ZK+8YSXrbpE3rEVLKyFgMBAP9IQ5A4ZxEqTFuBZLlt8PZlVBAITU0JxeOmzi2i2etp6izqi/tqM1CgZBQuUhQ83UDtfXSLGYYspKTIE4D/bESQAiIiIJkBjrrU2Na1pbW+eMaaPPnj0t3e/UjSiRiQN6Rfs86PNFEDQC0VsZ2u/uU1YJAEiIQnaTNGLK9FsmTznf6XLUNzS0trYIEAgAjFWOdFx8MSsvC3EUmNho7TshsryRD+WP/h2yQVwJbAZlwYIFV1111cMPP3zi0TWHw3HHHXdUVFTccccdDQ0Nn+jybGxswNZqNjZDgIgDqzEHIkt8fEklhUuDR07taCgtU08dmzk2FkIhhhRqKV8TAQdUGPPLCuhSplPVuiUHSCKqBgI86T7LtFjc42WAJpIGhNGg87hK8lCNua+muL6ptXLCpRExrrRy8ur925t6OgQJJACCrmBg5aYV+w/sYLrOTY6AgsxoTEvILwQkYMB6OyJwzk+bPq6qstTtloh0IELs13mKGGFOtlQxXALRZxe4r6Dr84jQ1AHbOx2Ec4uKT/O6HMFQ16uvvhoJhRmAQ+GTqvzXfjtz8kSGhNCvHQQBAHA5M3f4A+mF3/4PN1H7qPQaeTzxxBMnHl2TZfnaa68dPXr0fffdZxt52Nh80thazcZmSE5ArHEmZXrTKrMms1BlZdrEcsdkCeVgkJEJQzl2pF6EEAgYAiI6JHBwxhF8TklGdHs4ABEwQKwc5Txlov//s3fe8VGV2f8/57llamZSSQKBkFBClSYggooiKqAgwlrXtqKrqKhgQdevIi4IIj9dcQXURVd2V9fFirprAemI9F5DCUlIL3jlcRAAACAASURBVJNMvfd5zu+PSYYQIARICOjzfvEikzv3Pve5N5nJZ85zzucYhqJqwDljTLNYfXXUOCqqyMoW23b7XnttSr/L72zZstcV192Y0rnDriOHRXhtkvPvVy9atXEFmgEVOAKAIgjIVxFEBEIBAESAyAgBGSKQTVc7tG+lqQyAV/dxqrLUrbpfQCCwSxdnWppKRBhRecfMEyP7AgAB54q594C5dpMjv8gaCBWGjNJ5f3tn4TffCG7qDHpeFP3M42369NRQcDCxunqhZiyRpXT9Z2zKmHrdbsmxKIryu9/97tZbb50yZcrq1avreZTNZnviiScSExNfmjy5vLy8UWcokfzGkVpNIqmL+vUFICYg1h7n1u1JtuZAwDgEfEj81EdWD1AtOsKqDQCJgEBh6HAQggIABJCRoZshVlZqKynBVSsUzaorSl1ikCEE/GzDloM7d21SVVdiYkZcQtLVNw6PSoo3CTmCjwczs/dH262KCAEiIiAgCDKDghgCVvWNVxVVAAAJBKpet626NjyqxQCqqzuNEI9PUrgZQAFAR3PjqqXV0dKC8P4CISdHW7SYdEvG9h0bA/59a1b/e9XKr00RsmjY86Ko341MyUjnwEuqJdoxeW8WR6c2fdfa3f3qfbsltUHEa6+99u677547d2795ZqmaU8++WTXLl2emThRGnlIJI2H1GoSyckJO9me2rajSn3oTCUgIs4QAyElUvF4SmqWctbsuq4wcLtFRJ1oeqgg1/RXasuWKhvXMVULUF09rEgDUIRu1UKaBkIwZAyZ4oqNbtfjohJfZRB4cUVJrMsW7dBFOHwGSKCgAF6l3AgB7Q5d1VjIMCmc/xbJPzuR8SwQMqFYNC0pSTHNYNhELezidqILBgAUoAjhOHjQGt/syoxOw4jlMP59SdHy64ZodrvSOtl63eCYNmlBRRxGCBx7gQiAqiUtrfcK3d6+XjdacnLCRh433HDD9OnT161bV8+jbDbb2LFjE+LjX331VWnkIZE0ElKrSSR1Ieq3jEkA4dARUTjwo4DQqpp11kOukYBj9w0vHSJT0OHQIoErBMMdE1RUrTBfcbhVzVpCJ34JV6frI6a2tPTqYuvUViEUgohQcOJWt3vHkazdWZnL162wqKAwJAQGyACQgJECFFnXRIdD84cq/YFglXI90fWISJknIRK2axfbvIWGHMMFDFRL21WbexCQQAIFOCaktrl5yPWPa6repk2BRdlxUce8AZdbElzUKcPark2wWVw+gK/6qo6OFJUwqk3fVbJ5VAMyYsSIBx544M0331y+fHk9D7FYLM8//3z79u0fe+yxgwcPNubsJJLfKFKrSSR1Ua98s+olvhoqRpDQuTjO7fVkZ6FakjAcz0OmotNlOxp3Q0pqHnQ6AxmdIMrFGJhwguKHyPdocmoWzwb0hsfutkB14ScRKbp+pLz4p3XLikvyNCQFQAGGYclFDEAwVBlieB4xccLnL6ms8FUPy4CwerCwE3DVWQlAcBKcWrRQ3G4/nkSoYdVXAuTATJMcqn142y5jYqJTfBWHYx2VDiiwW0p2bStulYz9L+Ht2vqsuoG1BkElttUTKV3mMcVZr1ssqR+qqg4ZMmTY9dfPnj27/tE1i8Xy0EMPtWzZcsaMGUeOHGnUGUokv0GkVpNITko960BrpmIBhBf9UIQsJ7A7qx/Vi6dCVcBuC3cGpXCMT9NEVLQnsbkQwJEYO3E+XdWcuUCbNXj91aHunbCq8QCSIAoJURyoNAK+eItFCV8oMA4oEIARgYmIDBkACGDOKJG5f5/HU8lACbvxIrGqdU0iIqr6KoQwBeemw4EtUj1OR5Cx48oKCDBi3ovANO71qwUl16jWkYI7vWWenMw9Dk4ovDt2+nOyK24arl4+gOsqwXHecS26zG+W/vyZ3V5J3SDi6FGjwj1DV6xYUc+jbDbb888/36pVq+eff176rkkkDYvUahJJnRzn4nXc87W+r0r04txK9StMADjegCKcoEaKgna7Wb05nDtHiiKICFRgVfLrpJMShLpmOp2mwCACMIYIxFApKi8rKMyLttstSrgjZ9WCJwOiqoXMsPuuAoQWDQL+UpdTq2p0IKoEGNHRRD4CYZiEACnNnelp1tRUUtA8QXMCOKpDUeG5R3DxkvRyb1/BXOWlnuWLvt25bq3fA0FTMzj16alf1l+1WY73ZXOmdPlXVPwNcumz8VAUZfDgwTfddNO7775b/+iapmmPjhvXvn37SS+9JEsNJJIGRGo1iaQuBNWjtqAG1Qt8CKjX8/XFEFSlarWUjkadkAAYA02nmoG7cOFkKIAWi4ag4Em1ZDjuFR4wVFykIVYVl5qm8d9vv83NydYIUAjCqpCVAqRApFQBhSBCEAI0Bdq2dzgcYBoGUTjIh4RVITVgDBAQFETWooWza+e4tu2c3bvbEcM5bAR44u4NJSXwn39r+w+0TmnZkZti55ZfPv/4vcP78/fuCSgK69zJ2jZN1xgIATVjc0xt1v7Sba6EG+pzYyVng6IoN99886233jp58uT6+67ZbbYnnniiWULCyy+/LEsNJJKGQmo1ieSkHG/HX+8DCcEKdOrAj0WDnCLbkq3Njjk8/D8xAGBKJHAW/sp8fj0rm0VFqXTiBdpjOxgggFD37XaGU+BCIWPDug3Llv2kclMhDoi82k2DHW0wAAogYxg2EGHMbNVSO5K3x++r4FwAcVGVhIYQdvkAxTQpOdHZoW0sNyipmeawI4ZVH/KjWo1E+NYAsGDI/vMa2LdPv/KankyhzJ1rt6xfwU3vwYMVqso1C4+OVoBErcuzuQekdv9a1eJOeVclDcXgwYPHjBkze/bs+rd413X92Wef7dKly/jx4/ft29eo05NIfiNIrSaR1EWdrQdOCiIxsgKdwkDfosGBfNsP+29R7W2rNtVMyyKG1UGvagGGqOqeSkvAq6alYX3y4RCIoapDNwAgEgF/oKCgIMblsilMwaqiiGpxJwgIOIAQioKMIQAoSAqKlBQ9ZOYVlhZ5/X6DgEAQKIAqIiIoPp/34OEd0VFg1yHgDcQ340g8XKNwnFATAISK2xdK2LEdABxOl+Xzf/991+ZVOdmZbpfeoqXlop46gkBe3euzWi7b3ZemXvQfm7NjvX4AkgZCVdXhw4cPHz58xowZGzZsqOdRNpvt4YcfTkhIePXVV0tLSxt1hhLJbwGp1SSSuqh/yllNEIRKOgA7sc4jQACrDsu3xew2X5jw3JvHGI7VeESAJo+si6qKphqGfmiXrpuOZgm8XmuzDArybM1cQ4FACFJVNaNDh/Zt2sa7XQpDAlRElVQjQCBGnAQXKjJUwp2jBCA5HGardOEPefIK8kMCkCnhXDFVUb0Bz/Y9azOzdiIPghmMjsOOXRmBcdRxDQCIVy+GCqa4BCSvXxPcsFaUloXenfXv1UsW5e7fk5t1EBlcekVMXCxH4CAEhHP/AAAgpsWjqRd9JUs+m4rhw4fff//9f/nLX1auXFnPQ6xW6wsvvti+ffsJEyZIIw+J5CyRWk0iqQuTi3q0bz8BFtCQTvz6YgyIlK9/ac5Tpt734MSoqKjIKWrkZmHYAaO8hLgAAAtTrOWl+uaV2p51Kjd4nCt0jB46CQqj/GwLw8TwKSxWS1JSYp9evWKc9ioJiFitBZkQYBiG4IIDESIQCCIAwUV5QoIZ467w+Qsz92cSsLKKfKJQwPDsy9pYUHakR9/fqbZmh3N97jiMijEAjEh/gWrvXE4ggKFhRn33benHH+aWFFJpkXfjL1tiLKI8PzsU9GmaaNdRM7knnCBY3ZDU7kgYm9xuqmzH3oQoinLttddef/31s2fP3rhxYz2PslosY8eObdWq1fTp07Ozsxt1hhLJrxup1SSSk4K1OiidDipqxLSa/ZSOPiD27xXt+t/87W13PFB1oqOnPMYy1ghRUYEoLLYZ3HbkkLbmB9uuDUp+XsDrr7TqBtQ++ESXwChkRgkezh5DxpjDYU9u1swBgCioqt6AwsLQCAS4yQWRyRCQVS+/EpLhsATd0RUJyRV79+44kr89K2cLx+KCsl2lntw77ntzyKhnD+aU5+T5HO4gUwNEAiC8iCkABIIAJAHo9eGn/yn5+zsHs3ODTFWI82ZONdqugOnlppHYTM3IIKIQYrVQI2jWdlarztPP7EcgaUAQcdSoUXfeeee0adPqn7tmt9ufffbZlJSUF198MT8/v1FnKJE0FZ6gJ7ciN9/biL/hp8inkUh+45xheQGhpukAKgBWlZESAIKiQKVf/27HgEG3TevcpdvR3U8UukMEI0iHM0Xz5pbCLHX/duYpRmGIQKWJijDFiTrD03HSjSkErognLyICsB3rNljDTQiwqso1XB8qDJOIcQDTrgOrypNDAAUQVR4d79Fs9o4dQ4Wlm2Ji3Zzl6Paoex7+T6u03qUlJcVlflQhKkZUNVZHBoA1qlrVkhL+2QLjv18X+SpB1RggMDB1VVUVMENBv5e7nKBbKnkwvPYKqt48ucM8Z2z/M7n/kkaAMXb11VeXl5fPnj176dKlqlrfPx+c8+Li4hcnTZo+bZrb7W7USUp+I+wp3lPiL4l8i4gKKnbNHmOLaeZopqByLifz4/4ff9j/Q6wtdspVUxrpFFKrSSR1UbsWsX4QgKZqQBrRUa2nKlBYavnr931nvPnvuPj4mvufxHgD/T7yesXBbWpFIRo+YACq0NpEpbice7gIneCsx23ixKyGQ0EAYIgcACo8Fdn79iYDUlUyHgEA50JwE5GAyGAKRllVxc/C/T+BERIx4bD7NWb2uNiamxNs3pz5TOeNN/1L1ewAQCQMQ1gdloREC4lyPOaNhamqNTvX+ODD0OLFJjcUTUcCRCBOFBAqY4gEnIuklAohOIACAKZp6XDFVkT99O+9pBEJG3kIIVJTU/v161f/A//xz39+9K9/FRcXS60maRAWH1i8OX/zCZ9q6W55f8/7E+wJ53hKjYpcA5VI6uTMlkARLJom+FFrNl3FrQdcq4seemPOwlpCDQBOnHaGoDJ0KlpJNjN9oBAJLhQek+pu3bI1mMdJtRMS9GNC864frP6cAASRGQod2LdPCfhZdUQNAIjINAxhciAAEH5kqZ3bI+MAvGp5tKpPKNd1v6pVpLSExJbXXj70n2GhBgBCkGnw2Dh7bLQOxABZVR9VRGSWzL00793AkkVccFXXlci6sBBoUngiSlKK1jI9FF4BJr1PxgAp1M5fnE5Z5CE5L3Bb3N2SunVL6tY1sWvb2LaxtlgAOFx++LWVr2WWZjb17BoSGVeTSOpCAJ5BbQEBBAMBnzcYHYsMwabj0u2JO/wPTJr00mmNY1ERgJEZXpAUBoGbohU91LmHSccvd4Zbvtf4lim2hJYPtr/i//628n4CJRCoPJi5Z/XSn5jhR6hyZyMA0zCMoAEgBIkQQLagTklJpgk6hlvKEwFjRAxJgGBqILn1483bTqp1ZtM0dA0DfgNIEURASAopKu3Yan72j8CmrcRNVDUl0lQeAMKpcAyRczU6WlGYYExhrpFte/3jtO6SRCL5bZIWk/bHXn+sueWXnF8+2vaRJ+SZvXb21EFTdeVX8pFPajWJpE7OSKgxxIKCI7a2ISJSFPbhoqROV/6/F2+4+XTPgtUVoUAEIBxqbCvW0tRLLDYwAlgzGlfduukoui29eee59uhLg8GQzWb3VnqWL/u6NC8v4NmrQIBAJ2AIYBrcMAwAQSAAqEKYhWClkBoMaJpNBRDAVCAOpAAwZHpa53fdcbXbBpAgzoW3IuStYMgYNwWqmoH+Ncv5wgWmUW5LilPLKj3h66iRAkgIhIpCpBgG+H0susX0uBb3nN7tlkgkkmp6N++d7cn+Yf8PXsObWZLZMeHEjoyceEWwgiFz6s5w7+OTwQUP8iAiWhRL3Xs2KlKrSSR1wlhYXJyWZENUrBSKUrDSz77c3uGKW97uc8mAOo84aaMoAkQQXEDQpFRnCzdGBy0BU4CikClqHFqzVQHTo+KuS+70V6Xa4l9h7If//WfLpu97do2x4H4DNUEaAhIJblSZmYUNNvJNZjjcDmdMbp6WnKQj6kyYFpUBGRZr81ad3nbGXnmC2RMBp8qKkNfrMLhqcLcQvkU/Vv7whVlZbh3cp9XOQyUE5dUmI1h9zQRIyASwYCiktOsxrVnqI6dxlyW/LgzDEOLEHckaBF3Xz7gTieRCARE7JnT8Yf8PAFAeLK/1rCCxo3DH0kNLdxfvNrgBAE7d2SOpx1VpVyU5k2ruubdk76rDqw6UHijyFXHiAKAxLTkquW9K317JvdyWc512KbWaRFInp/nuHrYsK60oa+VAM6j+46c+L7z6eVzc8Qlqx57kRHE1ImJh5w6hlflCpKhC2IOCWxT9YCbPyOCmP5z7Jeio+gFEbNH5vahmNyKqkSuoqCjdkv9zv96+tJY+qgzt2o9CgMq4IAIeQiIFwCQIEMs0LHpMXNuMTvu3Og/mBtJS3fsyS/r1ik5sltS65yeapflJrpqEoJISo6AQNq6zt26T8MO3uxf8J2QEWdsUZ4zLRpwTAoKIBAoRqCquhqbVpr/6/77s3vvS07nTFwZSHNSfmTNn7ty5s/HGv+uuuwYNGtR440vOEwRVKX6NHdPlzxTmh5s/3Ji30RQmQxZriw2YgcpQ5fKs5ZvyNj3R74lkZ3Jk5015m37OPsabxhBGVnnW4fLDqw6vGtdnnMviOgfXEkFqNYmkLphy+rXfBFk52cFQ8JBn8MQ/T42PP5NyJKpK6mch0+EJasyitEnvyIrslT4jUMKPbBQuN8TGsOoO6uHTgiPm8uSM16zOLrVGs2ihK64IXdRRAFQa7ZRDawGKSXDBQ4YgDtWLrX7QyqwxqW53THwyWvoX5q3XLc4fl5QNvPLqtJ6TNEsSnAQiEkShECz/yWjd2vzl56xliz0VlQoyVUEUwiQAAkIkOtawDhnEJKXd98IL3X6NQk1yWpSXlxcVFUVFRSUnJ59679OEiObNm8c5v/rqqxmTRXW/WghoV+Gu8OMWrhY1n1p8YPG6I+vcFvf17a7vmdzTptkAIKs8a8GOBXtL9s5dN/ep/k85NEd452hr9GWtLkuPSW/hauG2uAmoIlixo3DHd5nf5XhyVmStGNpu6Lm8LqnVJJI6Od24CIHO1IPeCqPngOf/XF+vnWOyIKq1lyGgMmhHpZnL7erRrXdsQsvKw4UFu/dplZwXpOzbm9W1K7jd4PcjMCDEuJaPJLc/sW1sUiL17GroShlApcOhxydq/mLghilMzhEYIYIggBIT/O540Cw2R3xq2oCO7Tvv2rHh8iu797nyzVNeNQkCRT243ygrKS4pDBmCaapuCoFMMBSEVf2iIncz/MAVEz9u2sdxzU6qAiW/NVRVfe655xISGt5w4YcffvjrX/8a5XL1u+SSBh9ccp5Q4i9Zk7MGAHok9ai5rOkzfV/t/oqIbul8S/ek7pHtrdytnuj3xMQfJxb6CrPKszrGV+W3DU4fXGtkt8Wd4kop9hcvO7Rs5eGVUqtJJOcRiIj19+1AVBEX5Wal3Dx65C231P8sx6escg555aRYYi9q271DRpe42ATDEHHtYvzlHsqieDPDf4gOWI9kdGaCFIstOTljZlT8kJNdgtNh6kohkh+QNN0I+jlxAiGIgADD65FCUH4oxDU0UD2Qlds+rZPTYqS3692x66ndaImIkwAAU4SKik0AjSkKVTeYQiDEo0Zzkbt53YiRM9+bF+U6p0sJkvMZVVV79er19DPPPP3UUx07njgr/IwZPHiwoihvzZpVVlp63XXXyeXpXwHlgfJNeZsAwBCGN+TN9mRvyd9SEapIi067rettNfdcvH8xJ57sTO6a2LXWIAjYNrbthiMbDpYdjGi1E2III84WBwBlgTJB4lyWGkitJpHUCSLgiewxTrAjIsA3OYdSbxg6atSo0zqJwpAfs4EMAzRrYq9uAy/K6GW1WRBQUYEx1rJ9u7xSX5yBhw6GskN+w2/2veby1J4f1t0u06KFgHxAiMD8XigtEC5ukklABOHrA8aBSlWbUEVZhfenJSsufvDBlJbN7M56CSkiEkIY3EDiDBRgChAgiuo+VQQAyKqddxEUVe11af93PllwWndJ8qsHEceOHTt9+vTXXnvtlVdeadasWcOOf9VVV/n9/g8//DA2NrZ3795yMfRC50DZgbnr59bcojK1X0q/W7rcYlGOviUKEruLdwNAojNxd9Hu48cJ1xkU+YpqbgyawWJ/8Y7CHftK9uV788sD5X7THxmQzsgm/YyRWk0iqQtiWB+hxpAFuPn5kayRj43r3rPn6Z6l5kd8AlIQEpq17d91RIuEdE3VgQQAIKAQwhrlFNF2R75IYM3zcrDHQ/e36jn0lH3NLToihb3NVE8ZhyCAaYAgREIgAIWAfMxSZosiAk9FUNPU1umtdEv9rYnCGWsEwAgYhm3Zqi6tRov56je3+8c/OeH/XjidOyT5rWCxWCZOnDhnzpwJEya88MIL7dq1a9jxhw0bZrVaZ8yY8cADD1xzzTUNO7jkHOPUnZGCgINlBw1hWFXrdW2vqynUAMAUZsAMAMCmvE3hONwJCfGjDuMF3oIPN3+YVZ5liKrOywjo0BwMWUWoouGv5FRIrSaR1AWy6r6YJ/8UpTJW7PcvClTc/eIL6enpZ3CWqpMAAIAgCpGja8dr27buYgYNAoEQDn0RIICi6G5n+eGitJ49Bo99KbpNy1NfAqJFVwAYAPn9mJXJNFMBIcL9Oqv6F6DwATOtDgAceGnvGZNfOB2hBkRA4QGrWoBSVa/ScNiOAIDCEQyH0zVx+qt3/OG+07k9kt8Wuq7ff//9Xq/3tddemzhxYlpaWsOOP2jQoGAwOH/+fLvdfumll8ro2oVL29i2ES/cQ2WH3lr7VmWocv6W+Q/0eiBKj4rsRkTh4tCMuIzOCZ1PNlokvy2/Mn/aymkBM+CyuPon9e+S2CXZmey2uhVUVh1eNX/L/Ma8phMjtZpEUheICOGMtZNINbum7ygu/Kys6I05s8+4904k74EAfIZhYlRUVJIwzXDLzuq+6wBAKmNxsXFRo1v3vP8mpmsnHfFYdJ0hciKloBiKjqhghutMkcIuH0AcqIILYXE89vuRU8fdb7OeIlBXGyIiEQkOhrPgwlNGRKrSbAwZfrZ8ZduMjNMbXPLbw2azPfXUU6+//vqkSZOmTZvW4JWhQ4cORcSZM2ciYv/+p87IlJz/pEanjsgY8c+t/9xXsm/+5vkP9HpAZVUKR2FK+HGsLXZwm9pFA8fzS+4vATPg1J0T+0+MtkWfRspyoyE/T0gkdVIdKTohmqKsyDl8OL3Ve/+YfzZNEjWt+lMTItOiLu4xKMYZTUIcK9QAAKxRjq63X3Pxw7fUX6ghosUCgEAKVvqYRbVGXHSRkBEAACdCq/7yE/dPf+KPpy3UwoucNS3iahrzYpX/bUJy8hcr17Tr0EHmdEvqg6qqjzzySPfu3SdPnpyZ2fC9Ha+77roxY8bMmTNnyZIljerBKzln9G/Zf2i7oQoq2wu3f7X7Ky6q0oBVpiY6EgFgS8GWIA+ecpwCbwEAdIzvGGOLOR+EGkitJpHUDVatEx63HcCqqIuzD6lXXvbH8U+c5Vl0rUp4GSaPdnfs22OwrulQK1EOISolvsvvr4rPaHW649usKgDm54vDh5hFV4UQkZR/ImBAiqa/8t7cx/9wa2Qmp0dNn7dj/NMAkSFgq/Yd1h3I6tq9x5kMLvmtYrPZHn300VatWk2ZOrW8vLYH/VmCiMOGDRs1atSsWbM2b97csINLmgREHNp2aMeEjoLED/t/WHxwceSpPil9ENAb8q7NWXvCYwUJU5jhxyY34SRG1uEqhHOP1GoSSV0gY8e/YlXGTKIP9+7s8Pvbbr7t1rM/i14dJCst99tsydXvGEdRLFqrK7q2GXLxGQzOGLPZ9MJCXLXSBFLj4oRALlAAiLC8SsrIeOrLb3pedeaW7lRl3lvtb1IjxMYQU3pf93+zPz7jwSW/ZVRVHT9+/MW9ej355JONEV0bMWLEfffdN2PGjMWLF596b8l5j8KUe7rdkxGXAQD/3fvfSCVB5/jOFyVeBABf7v7yx/0/Bs2j0TVTmOtz17/1y1ub86ske3NXcwDYVrBtZ9HOSL1noa/w4+0ff7Xnq3N5ORFkvppEUieqWrOFJQAoiBWh0NdFeXdPfTntjCoJTnASJfxKJEVzde3YO2SEaupDi9uRdk0PW/wZ+pAhIlOsh3OZzW7p1s2yf1NQaEIEiRECY0nt2j700SdRZ2uOQBjJrKu5Foqs7/W3j3p8unIG7R8kEgAAsFgsY8aMmTlz5syZMydPnhwff4qObacFIg4ZMsTn87333ntxcXFdu3aVpQYXOg7dcXvX29/4+Y3SQOl7G94b3298ekw6Io7uNDrfm59fmf/pzk//t+9/bWPbRlmiin3Fe4v3mmQCwCUpVSbJPZJ6LDqwyGf4Zq2ZlehIjHPEeYKeHE8OAUUaG5xjpFaTSOpCVdVwdnwYXVGK/L6fRGjMnye3aH7i5phngEXXAKDSH3RGt0lpkW4EQxHJ06xbWtLF7RT9rF6qDPUol7N1mu6OMjIVP+ko/CAI+47+3egpr+h2+9leQGT9kzDyMVRVtRdf/8ut994r//hJzhJd15966ql33nnnqaeffmnSpFatTjsNoA4QcdSoUTabbfLkyeMee+yKyy9vwMElpwsRbdy4MRQKnfBZh8PRtWttM9vjaeZoNrb32Nd/ft1n+N7f9P74fuNjrDHx9vgJ/SYsPbT0u33feQ1vJIoGAC6L65KUS9rHtQ9/m+JKeaLvE+9tfK/IV5Tnzcvz5gFAtDV6VMdRnqDnPzv+0xAXenpIrSaR1IXdZosUgWpM2VZcuMVpe/jZ5+Li4hrwLKqqIgEXrHVKR25WaR3daWtxaYfo9AaogFM1A3kQNQAAIABJREFUe1KS22mvAO5TLdzhsoBXv+7Rx4dMeOrsB69ChENrYW9dSkhKfuyFSbfdc0+DjS/5baOq6n333RcIBGbMmDFx4sQWLVqc+ph6g4hDhw71+/3vvfuurml9+/aVHzCaCtM0p0+f3r179xM+m5iYGNZqt3e9fXSn0bV81GqS4kqZNHBSeK0zsptTdw5rN+yaNtdklmQW+Yr8ht+m2ZKiklJdqZpyTKpuanTqswOe3VqwNb8yX1O0FlEtOsR30BU9aAbDa6kKHl0ruLbNtZenXt6obQykVpNI6iIqKgoDgoCsqro0O8vXrfOfHnmkwVf0SAhCio5r3jGjj+AcEVwtE1oP7nGW4bQIVqtFM3wgPAjkilGtDmXM/I/a9x/QIINXQQDVQk1RlA8WftOh80l9jCSnxO/367ou145rYrFYxo0bN2vWrOeff/7666/X9dOwAKzn+ElJSTNmzHjuuecuvvhMckMlDUKfPn0mTJhQ9z4uy6lzQqL0qJouaxE0pnWI73DKw+2avW+LvrU2WlSLRa0tEB26w6E37tqo/OggkdSFxWplDBXE/x3Jdl5z1cOPPdYofz5JcBJWZ1yUza1alRaXZKRd27OhhBoAuBx+hZUiCEJwxrQcN/ubDpdd3qCRg6OFBRf3778u54gUamfJoUOHUlNTX3rppYKCgqaey3mEqqqDBw8uKCjYs2eP0ghcccUVwWDwiy++aOoLlUiOQcbVJJK6ICCVsXm7tl/zyEOXXXZZY51FCM4paDhsDme74X1tcSf4LHg2OOyGWSkQ0OroPuT3SxDPyJijLhAAGGM9+vX7+McfG3rw3yKqqhYVFU2aNGnGjBnvv//+8OHDLZbT9r37VRKuy+7UqdPQoUMbfHDTNGfPni3t1iTnGzKuJpHURYiL17dtvOPF5xtPqAEAJxE0WZcrr+n6+ysbXKgBAGOCIcYk3dm622eNINQAERXG/vjkk3//5psGH7wBibT2O/9RFCUsSrxe76233jpw4MCPPvqIc97U85JIJE2A1GoSSV00b5P++if/7tCpU6OexeZ03zf1nZsfGavWuxvBaYGoxLZ4MDnjLVVPbIzxVVV96c03x7/00vkc+zECRn7JBbOeqKpHFz2EED///PPtt98+aNCgTZs2BYOnNl6XSCS/JqRWk0jqYvTvfncO8rtvePTliy5v+AWdCAmtX0hqOxOxsXIeEps3/935XfLp9xtZO7LLT+wDcD4SNouptXHp0qWXXnrpLbfccujQoSaZlUQiaRJkvtr5TkUwGDCPs7GX/MrQrD6vtzFP4AbzDMdnjMVYrazOJp6IeN52+RRCeLzBwzl+RVfLuPrLL7/06dPnnJ39n//855o1awKBQCgUMgwjEAgIIXw+X/h/0zSDwWAwGDRN0+/3hzdyzjnnhmH4/f7jB/T7/d98841pmn//+98b1jhGIpGct0itdr5zsLw8u6Eb4Ukk9ceuaf1attQvNPMIIkLEt99++777788q9AZUxWK3kRDnzDfLYrFce+21FRUVRUVFdrvd4XA4nU5d18P/2+12u91usVicTqemaVFRUbquOxwOq9VqtVoRsbS0tFOnTsfLNUR8//33b7755gZ3rJBIJOctUqud79ToiS2RNAEXyq8fEe3atcvtdu/evbtXr15r1qwZPHjwyFE3F5T5dYsWZCCCQic4ZxLH5XK9++67ZzNCrVClqqp33333c889l95Anc0kEsmFgtRqEonkgoRz7vf7A4HA/v37c3JyiOjiiy+OjY298sorAWDw4MGmIC/ZrMRRQU3l6OM2halao1RvNDg189UYY2lpaZ988knPnj2bdlYSiaRJkFpNIpFcMHDON2/enJiYOH/+/DvvvPPAgQOdOnVq2bLl8SloZX6+t9AfY2WcgVBJI1J1RogWq7VJZn66RCpaoqKi/vznP99xxx0yO+084ZdffvH5fE09i8bCYrH06tVLrrCfb0itJpFIzl98Ph8i5uXlRUVFffTRR0OHDg3rs4kTJwLAyZpClgf57sKAppCiggEECKpguk5+Ag0umLiaruuDBg2aM2dOcnID9ISVNBR/+9vfsrOzm3oWjQUijhw58o7f/956Hvvv/AaRWk0ikZx3BAKBXbt25eXlud3u5ORkq9XqdDoffPBBTdPatGlT97GeIN9R5LcQ2nQSKEwARggmmESc4YUSMFBV9fvvv+/SpYv1AgkE/ta4/PLLw6vt5wzDMAzjtM2cg8GgEIKIAoEAEQWDwbCjst/vJ6JwbXJlZWVlZWVpaWlhYSHn/PPPP/d4POPGjZPtaM8fpFaTSCRNDOecMbZ+/fqePXsuXry4W7duW7duHTBgwEUXXXS6ZZuegMgqM1RAnQGiEBwVQCIMCVIBGaB2geSrAYBsH34+s3r16t69ew8cOPCcVRafA0zTzM/PX79+/dfffDNnzpx77rnH4WjcluSSevLr+SWTSCQXHN9//31eXt6ECRPKy8tbt27NGLvyyisTEhKuuuoqXddP96+gz6CCClNlYFFAVYhIIEdGSAIMAFVhCgPGzlMfOMkFBGOsRYsWb7311rZt25p6Lg2JqqotWrQYPnz4c88+u2jRojlz5jT1jCRVyLiaRCI5RxQWFhYXFxcWFrpcroKCgoyMjJYtW8bExLzxxhuRfc542cVniBIvt6igCEBBqJBBSIKQAUcSQIwhAIkLxYNEch6j6/qrr7763Xffvfrqq48++mjfvn2bekYNTKtWre699945c+aYpjl27NioqIZvUiw5LaRWk0gkjQIR+Xw+Xdd3795tGMZHH3107733IuJll13W4OeqDJE3JDQGgEQhoQNxIBJIQARoMgEoEBAJpF+h5OxBRIfDMWLEiE2bNv3lL3955JFHmrwTbrgHRq2N4W4ZAMA5Dz/LOQ8EAgAQ6ZwRCAT8fn94T5/P5/f7vV5vZWVl+JWybNkyRJwwYYLMXWtapFaTSCQNSXl5ucvleu+99+64444lS5ZcccUViNitW7cePXo00hkrA6LMK+wacAQiwQQRginIJK4ypihIghQAAMEIL6C42ooVK9LS0k5W6yppQsKr84qi3Hjjjf/3f/83ffr0P/7xj009qbpgjNlstvBjp9NZ/wO3bNmydOnSkSNHtmvXrnGmJqkXUqtJJJIzh4hCoZDH42GM7dixo3379suXLx8+fPgf/vAHRVGGDRsGAJ07d260s0N5iAcCZDEJFDCJGJEQJEiYJieFuIoqkkKACASoAAFdMPlqq1atuvXWW2fMmDFs2DCXy9XU05EcJRJkat++PSIqijJ06NCmnVIjYZrm8uXLw6WjkiZE1hZIJJIzobi4eOHChVu3bl2yZImiKLqu9+7dOyEhYfTo0bqun5sVk/xyf2mFgYIUvylM4iaRATwkDNPkIISCAoAEqAAKIwJiQEKIczCxBsE0zZycnDvvvHPgwIGrV69u6ulIjhJpKeF0OmUul+QcIONqEonk1AghNm/enJqaumTJkn79+n333XcjRozo1atX8+bNL7roonM/HyKx58DBMp8l2uGyO4FXcLAwBsS5CAZMsAliKIBIEGNECCYHoQIIcQF9QI1kGm3cuPGqq6667777Hn744Y4dOzb1vCRQM85kt9uPTxT7rVFaXu45dKhBhjJNU4bxjkdqNYlEclKK8/MrGXto6tQ/jhnj9Xo7deo0YsQIRVHuueceAIiJiWmqie3Z9r89WRXMTLO1YKZixyDTgwIAQyQ4CJUBgiBBikIKgMnBIGAkSJCJF0zCmmmakceBQOCvf/3rBx988MorrzzyyCO12rpLzjGccyIK/xRUVf4ZhQ8+++yTDRsaarSRI0c21FC/Gs7pL9nq1avDFShhGGPNmzdv06ZNk3gJbtq06f777x8wYMDrr79+7s8ukZyHcM7Li4tNw8g7fDg6Pl4IwRhzJSXNnj1bP5+qwA7v/m95/k9GjpVxMhy2clu8FV1agJuAoAnQCRiiMBmBRkScuAACMhEsgHCu6kArKytnz57t8XgiOd2KokSqBTVNi/yNt1qt4b/6jLFIlwJN03bv3l1rTK/XO27cuE8++eSZZ54ZMmSILM1rQjjn4Z+g1GoAcPWll7a++uoGGYpzvmvXrgYZ6tfEOf0lu+OOOw4cOFBrY+vWrefOnXvVVVed4994n8+3devWlJSUc3lSiaQB8ft8xukvvjDGnG53+LFpGIqqVpSVRUVH/+/f/x4wZEjmjh29Bw5sVqP20H4+Gf0Tmfk5XwbKN0ZHlZRS0K5afUZ0RYUlxeow/VxoCqgCDeQKN4lUZMSFqQAoAEAgkCGZ/BxpNa/X++abb4ZCIbvdDgBEFLELieTM1doYeRzeXllZecKRV6xYsWXLlr/97W+jR49u3GuQnISw4YUs+IjQNSOjawO12TAM41ADLaf+mmiCDwR/+MMf0tLSOOfFxcU///zz2rVrb7jhhilTpkyYMEEG9iWSehIMBJ67666SgoLTPdDucLz9zTcbV61KSU/ft21bzwEDSouKXDExg0aO1C2W3gMHNsJkGwxv0U/C3BIdXebz82bJXtOXX6QeEjzexJiKAKkqsUpDEAvygKkpiqAQcOZgoJBpCI2pQhDAOX2TmTt37o033ggAnPOIRDNNMyzLiCiy0BnZIbyRiF588cX33nvv+DFvvPHGF154oWvXrufoGiTHIYSoqKgIazXp2PergYdCwfJyALDGxLDzLFzaBLMJlzVFvn3llVdeeOGFuXPnPvLII7JLsURSH/IOH35s5EhV0xz1rkEjosIjR4xQSNP1vdu2tc7IiI6Nbda8OQCktmsHAHpTm3nWDZHwlW/n/l12mz/k9QvQNZdaSX40j3hDZQc8Lgu3t9QAQsJioYpKv+pyGoEQqJoGgIJzLkAhAkGiaWoLFEWJLFnWsydpLXtVROzZs+ef/vSnG2+8UX6sbUJcLldubu7hw4fD1ndSqzUJlUeOhLzeuveJTk1lp7MsUJqZuebNNwHgihdfdCYlndX8GpqmV453333322+/ffDgQcMwIlqtvLz8+++/X7NmzeHDh0tLSxMSEgYOHHjbbbfVNPHz+XxffPGFpmk33nhjQUHBW2+9tWrVKpvNdtttt915553H58AdPHhw5syZmzZtstlsN9xwQ6dOnU44n9LS0tdff33lypVCiF69eo0fP7558+Y1d1i1atX27dsHDhzYtm3bd999d8GCBUQ0bNiwhx9+WNM0IlqxYsWcOXMOHDiQnp7+pz/9SdZtSRqWoN//p7vvDgWD/+8//3HHxtbzqG2//PLK448DAGOsfVNUbp4lRUd2mN49KngUHgx4jIBu8QkLYNDhL97pKwgSc1lbRXFwaprLHbRVBBXDXkp+BW3IGSIxhRA5Q4AL5w9ruA40TExMzJw5c4YMGSIdIpqccePGTZgw4dNPP+3bty8ihkKhpp7Rb5E9Cxfmb9lS9z5XTJpkj48/N/NpbJpeq6mqGs5Uq+l79M477zz99NMAoGma3W73er3/+te/pk6dOn/+/AEDBoT38Xg8EydORMTNmzfPnj27pKQkvP27775bvHjxvHnzIp9iDcN45513nn/++bKysnAa7w8//GCxWI5/jf39738fN25cRUVFUlISACxdunTOnDl//vOfH3vsscgH2Y8//njWrFn33nvv6tWrd+3ahYhE9OOPP3799ddTpkyZOXPmF198EX6TXb169ccff7xgwYLwIohEcvbkZ2c/e9ddNrv9wxUroqrTzk4B0c+LFk174oke/fuvW7askSfY8BDR4UP7RCAnkLfD5ipjosIfgCCSGULdCPJQZbEnxxcMHXLHWky6qJ0WBwGrGQwEfIoS0jlonFBjQeAARIDnKl2tAQgvj8bFxd13332PP/54cnJyU89IAgDQsmXLWbNmTZ48+aWXXrrzzjvLysqaeka/RYQQgnPNbq9DjZ1v65hnQ9NbDZWVlZWVlTVv3lzX9chGm8127733btiwIRQKlZWVVVRUPPjggwcPHrzuuuv8fn/Nw7OysqZMmXLFFVdkZmYahvGPf/zD4XD84x//yMzMjOyzfPny8ePHB4PBd9991+Px+Hy+nTt3Dhs2rNY6wqpVq+69916Px7NgwYLc3Nzc3Nxly5ZpmjZhwoQ1a9bUmvb7779fUlLy448/mqa5Zs2apKSkRYsWXXLJJZ999tmTTz4ZnvOYMWOEEDNmzGiE2yb5LRLw+R4ZPry0sHDq/Pn1FWoAOQcOvPLYY2kdOjw3a9aFuHK2+sfdeSVlhpEf8mT7vcUBfygETJigCLKAiRRMMAugNHtfYfmenKKAGhT+CuENkVFuFWQJoYWjwphJJAj4BeODCwBgmuaQIUOys7OnT58uhdp5RWJi4pQpU/bu3Ttu3Lia5gaSc0xc+/YDnn32ZP+s0dFNPcEGo4m1WmZm5mOPPVZWVjZq1KiayRkPP/zwvHnzIg0ErVbrW2+91adPH6/Xu+FYE5fExMRFixYtWLAgPT1dVdXbb7/9lltuEUK8//774R2EEE8//XQoFPrrX/86ZsyYcKZIhw4dJkyYUDNrxO/3P/3004qifPHFFzfddFN444ABAz7++GMAuOmmm2rVZD366KOHDh0aNGgQY6xPnz6vvfYaY6x79+7btm2bOnWq2+12Op2TJk2y2+0bN26s6ZMkkZwZpUVFj48aFZOQMOe//3XX29js5x9/fPiGG/pceeWUDz44zzPSjkdw8b+ftpWUFZf6yk1vocIqAUImF0Ig42BRUQPmZFq67oljIbUyL0rdVx7MKSvKQeFxqMUMFMVDCjETEYAI6FxXFpwdL7zwwpdffimzeM9PoqOjZ86cmZ6e3tQTkdQLEsIMBEJeLzWC0S4JEfJ6g+XlokbeQsPSBBHCyZMnz5kzJxAIHDp0aMeOHYg4evTo6dOn18wwC0e8KioqPB5PIBDweDw5OTnhNc3IWmeYmJiYvn37Ro5FxP79+8+bN2/v3r3hLVu2bFm/fn1iYuJdd91Vx6wKCwv37dvXpk2bwYMH19x+7bXX9ujRY/369du2bbvkkksi2y+++OKa76EtW7ZUVTUlJaVDhw6RjcnJyaqqlpeXFxcXJyYmnuZ9kkiOUpSf/9CQIXan8y+ffx4dF1efQ4ho/44d0x5/PDUjY/z06TaHo7En2bCEQqGFX/yUZ/AEs8JZ6Ad3gdUiiLGAH4kAmKFoQAbqoNghlBwl2pcdSHQbedmUZC+PjncHDQxZU6MVMFQ0BNeIEaGqKCAuGEv0Nm3aNPUUJHWRlJQ0derUZ555JisrK+wO/euj1kLWBUfI4zmwZEnhzp0VOTlhIYWMOZOTW112WfOLL9br965IQuRv3nxk/XpATOnXL6FGsnuwvPzgkiVZq1aFPB4AYJqW0LlzxvXXR9WwPWoQmkCr/fTTTzW/nTZt2uOPP16rMKqiouLll1/+7rvvjhw5UlZWVjPH9pRFN7GxsQAQyUXbuHEjAFx55ZV1+0aGdWGHDh2OL9Hq2LHj+vXrDx8+XFOr1ULXdcZYrVaDjLGoqKjy8nKZfCo5G3xe75/uvttitb4yf349hRoAbFixYsrDD/cZOHD8q69a7fZGnWGDY4RCS/67tLi0WLhCblvIUVZkifErDL1+FYJACifTVJF4ALlqIlCLeF/A8FjdViN4QIkPeExPbrm1WXtTU81S0s2gUBkCqSoQmReMVpOc/0RFRb344ouvvfbarzVrTdM0l8tVz8rl8xBPdva+//635hYSoiInZ/vHH2ctW9Z77FhbPd5Rj2zYsGX+fB4KpV9zTWzbtpHtBdu2bfvoI39JCQBYXC5kLFBenr9pU8mePe1vuKF1g/ofNYFW+/bbby+77LKwe9CsWbPmzJkzatSotjWu3+/333HHHQsXLmzbtu3w4cO7du3avn37+Pj4qVOnfvHFF6ccv5anbvglFHeqnwfn3DRNXdePL4YPW1nWnZRwshJ6aSwuOUuOZGWNv/lmV3T0WwsX1j+itmXNmj+PHduhe/cnpk274ISa3+9fuWRJQWFJyCh3WZlbCVm4z2oV3lIMGKgxDkiISByEonEQNh3d0b4Kr093J7qwGBxmQX5JpXCl2UvMMmdJJdNtYNFBZSCIUEq1s0a6VNQkMTFRJiU3FcI0QyeyjGaKotpsAMA0LaZNm9g2beI7dnQkJjLGgh5PwfbtBxYtqsjN3bFgQa8//rGO8Ykof9OmzX//uzDNtEGDOtZoflV26ND6d94BIZIvvjjj+usdiYkA4C8p2f3ll7nr1u3+8su4du0aMLrWBFrNZrOFrTemTZt26NChzz77bMSIEatXr454QH/yyScLFy5s3779ypUr42uUeNQ07Kg/DocDAEpLS+veTVVVTdP8fn+t2BgAlJeXR8aRSM4lPq/32bvuCni9f/n00/pH1PZu3frygw926d37+bfftlxo2U4+n/+7/30fCpSZ5LOJ8mjTkbU3v217gwEPBBB1QoUQiYGCIEhjyNBikK4E3Gow2qlYlZDXBoqZneiOVwK5/qIEn01DVdE0BkAIgBdSxppEIqmLot27l7388vHbY9q06Xnffago0enplzz+eM2CUIvb7WrZEhVl12ef5W/ZEqyosJzcB6d4z57NH34oTLPdkCFthw6t+VTm//4nDKPVZZd1ufVWrM7CssXGdrv77lBFReHOnbnr1mU0nFZrytoCXddnz5596aWX7tix45577oksFG7duhUA7r333viGcEYJ25utXLnSqDPpLzo6OiYm5uDBg8Fjm/ZwztetWwcAModUco7Jz85+7MYbrTbbez/+2Kzer/m1S5Y8c8cd3fr1e/bNNy84oebx+X5YvDRYUcRUn90RcGseKsreuzNXVbxmkIOqqDoBAkMALohIoCBEk4MICmulYgHu9aNFE6mOkhhLRSjvoBkMCI/gIVAIAAVDQBkTOmtkXE1yniAMI+jxHP/P8HrDv6NMUY537hCmGdW8OQCQEOFGBSckf8uWdbNnm8Fg2tVXtx02rOY4/uLi/K1bASD1ssvwWDNXZCy+UycAKNyxo6EuE5rcX61Zs2Yff/zxJZdc8vnnn48bN2727NmIGDbv2L9/PxGF1xaJKC8vb+3atWdwiksvvTQ+Pv7QoUNff/31yOoAphBi9erVNdVbYmJihw4dFi1a9M4774wfPz5y3rlz52ZmZqanp3fr1q0BLlgiqR/eioqHhw8Xpjlv8eLoen9oKcjNnfLII63bt3/mjTcuuKpPj8/3/qLvosuK3WqxNcbODJOp3mBeWVKSYdfBCKGiwdE+moKQSIAwQ8gFKB6ikOIP+CjI44A7HVioADdKAxgMBoTFJBSCEIAYCKkzJJJfCXEZGR1HjTp+u2qxHK1WJOKmWbR9e8H27WWHDvmLiw2fL7KnOIlLg7ewcOO8eTwUanvddRnDh9d6Nn/rVuIcGWOa5s3Pr/UsUxQA8J5+A8A6aHqnuJYtW3700UcjR46cO3duu3btJkyYcMstt8ycOfODDz7gnPfu3dswjLVr13777bdnlrypKMrkyZMfffTRsWPHLlu2LC0tLTc3d9GiRRs2bKi53KkoyqxZs6666qpnnnlm3759w4YNY4yFpVt8fPxXX30lm7pIzhnlxcUT77zTHRPz8rx59Rdqa3/6acqjj/a98srHp0274IRaWaV3yZYtdgrZtUp3tGGPCwRLSi2xAReqMfGmAiY3GAABI0IgQmRIBiEi51woiiDV0IVqhJxk2gVj4LKBGrQYu3JD5TrXhQBgihDABR2X5CA5XWRcTXKeoNls7pYt69jBDAZ3LliQt2nT0bQ2RNVmUzQt6PGc7KiinTt3L1zIg8Hknj3bXnfd8Tv4iooAgIRY+tJLdZy6nldRH86pVrPb7Q6H4/h0+8svv/ytt9568MEHp0yZ0rt378svv3zOnDlPPvnkvHnz5s2bxxiLj48fM2ZMQUHBJ598EikdQES73W4/Lm9aURSHw1HTUOPee+9dvnz5woUL33jjDQDQdT0tLW3GjBlTp06tuVvHjh0XLFhw9913z5s3b86cOQCgqmpycvKsWbM6d+4c2c1isTgcjloVDIyxWieteclS50nqT2Fu7kNDhzrd7jc++6z+xQSZ27dPefTR1Hbtnpg+/YIrJvD4fEu3bjcqKx0U0CwhV5xp0T2IZQ4L1+KsLBgkQVxwYFSdtoFECIAEAChQAwUU0IXGhY2hGkIqVxUnHi7z7jjod6QaDq4CR0UAEAkmtZpE8pvADARWv/66JyuLaVpsu3Ypl1wSm55ui4tjmlaelbXilVdOduCOTz8NPyjZt89fWuo8znIrrMNQURq22LMOzqlW++STT0KhUM2SzwijR4/u3LmzECKcwn/XXXf169dvy5YtJSUlrVu3zsjIaNWqVXZ29rhx49LS0sKHxMbGfvrpp4wxm81Wc6j+/fuvWLEiUqkAAFar9cMPP9y6dev27ds55+3atevcubOqqoMGDaq5W/jYNWvW7Ny5MzMzUwiRnp7esWPHZs2a1dzn8ccfv+OOO1q1alVzY+fOnRctWnR8q74FCxaEQiFpriapJ36v9/k//EFR1SkffFD/YoItv/zy8oMP9rrssmdef12/0HLUyir8mzIzWciIEqIoGNCdfoe1VBVeBL+dW1AYgCzEBSGBgsAIBAIBcQBBYBKiUJgQJmeMM85UTRVew6xQQhbKzPUKEfKHgsVenaIUtAAhcfm56ayRcTXJBUH+1q2erCwA6Hb33Undu7N62zLodnuP++7b8s9/+goL18+Z0+fRR23Hdl62OJ0AQEJkjBihnBNDk3Oq1U7WLh0ANE27qEY/aUVROnToUNNXFgBSU1NTU1NrHlIz3BXB5XJ179691kZVVXv06BFphBDmhClocXFxAwYMiHQdPZ4WLVq0OC7R2263n3C0Oi5ZIqlF3uHDT912m81un/O//8XUb+kzbM8x6YEHOnbvPmHGjAv5xMZSAAAgAElEQVROqFX4Ajv253F/yG6CETKIe6O0ch1KmYkqmGpA46YIEnFGyAAYVmkEIiIAIRBQZcQ5UcDQNM44A4UFvSGuWwwFoxwQMoyDQZ8I2jmAIDKJpGXHeYvNZiMi0zTVX1EbR0kT4isoAABnUlLzXr1O68Aut90Wl5Fx0e9/v+Hddyvz8ja8+27vsWP1GrGY6NatAQCIPNnZMdXxo0al6fuBSiQSAPB7vc/cfntFWdnL8+bVU6gBwME9e15+6KGO3bu/OHeu/YxMbZqQcp9vR9aRUCCoGBz9BnEjOqrSrXssxDVOFmLAhSGEiQQqoAoAgOGgDgGBAESmo2AAHFAF3YrAANA0OIRcFkVTkt0WYoZXBJlGJpJJJhdClhact4wZM8btds+bN+944ySJ5AzghgEA7ERxr7rzVp3JyQAQ175977FjVau17NChn//yF7OGx2pC586a3Q4AOT//fLJBTla1cGZcqFrt/fffHzVq1JtvvtnUE5FIGoDC3NzHb7rJYrO98913iSkp9Txq3bJl40eP7nbJJc+//bbl2EyA85/SSt++/DwzZIAIEQ9xIwjWgMvpdVhDmgBNACNmIHGFQEdUABERAQkYEAABIAICA0IFFabaUdGYoipEYCITGlJI85ZYAyFuszDVzkIoTBIIJHNHz55GWgNt3rz5008/vXbt2o8++qhuiyWJpD7Y4+MBoCI398iGDRFxZni9WStXbpw3rz4jRLdu3fmWWxRNq8jJ2TJ/fkR+MVVtc801iJi1cuXur76qVaZQkZOzZ+HCrf/6VwNey4Uaat66desXX3xxZu64Esl5RUVZ2UNDhwLiu99/H5OQUM+jivLzpzz8cEp6+tOvv37B+aiVVfp3ZOeBMMEMAYRMCgVVA20+pvt1jTSTcZMCBEIlAGQqMoKq5c9qkYAIgCAAFQRUARVCEwCBBAkCzslfrBfl/3/2zjy8iiJr4+dUdd81N3tISEIgCRGEgILg8OEAggiuuIwKooIKgiJEWRTEBSXggOz7gI6AoCMuLOIggiwyLCKLhlX2hCSQQPbkbt1ddb4/OjDMqDOMQtj69/D4hE53pW6ZhPeeqvO+duZW3A5V2kCA5EAAwKwkkd/NxTuvlp6ePnz48KFDh+q63rNnT6sry+L3ENu06b5PPhG6vvPdd13R0SHx8YbfX3bsmDSMn5uu/TKIia1aAcCuBQtO7twpNK3Fs88i5wCQ3KHDyR9+KD9+/PBXXx1ZtSrquutCatfWq6qKDhwwPdtizznW9fu5UrXa008/3a5duzr/sVnXwuLyp6qiYuhjj7lDQ0fPm3f+Qm3npk0jn322Zbt2g99554oTaqWV3sP5JbohFN0gMCQZOkPDJoBVKRiwcYQgN6QQjAgBwMwaQCAzckCCNBUbmjkEnAEwIpIIiCQISBAENKooZz7GmWpTwGZTuY0AAAgBLa12eZOcnDxy5MiJEycahtGzZ88rN4nS4jdz6tSpH3/88Rc/5XQ6GzRocJ7j2ENDW7/88o/z5lXm5/uKikyjDcXhqHfrrRGpqTtmzz7PceJbtgyWlx/44otTe/fuX7y40cMPAwBT1dZDhuRs2HBszRp/SUnR/v1F+/eb9zNVjW7QoM4tt5zn+OdDzWk1wzCklIqiMMYCgUBJSYlhGB6PJyIi4hfv93q9ZWVlQgiXyxUZGcn+1Rr4+uuvv+66635u/+H1eisqKoQQdrs9LCzMtNU9FyKqqKiorKyUUrpcroiICCuy0+JScdaeY9Jnn0X+a7vxr0FER/fvH/Xcc0mpqVdiKHuFN5BzutgnNYAgoACQQqJEDijRqAhRgxxBABoIkiMRnaPX2NmiGiAiAQJwIFIAgUAicCQFBIEkCBrgC4KfgZToUuwxqmIDQwJIQNWq1Fz2NGzYMCMjIzMz0263P/roo1arwTWF6e0wb968X/xsYmKiqdXSu3ZteP/9yn8zkgxNTPzjsGEntm8vPXoUADwJCfEtWtjcbqnr7UaMAIBzs9sjUlLMi65/PTHMOE/t3Ln2TTeZe6AkhFlaY4qS3KFDvfbty44dKz16NFhZyVU1JC4uqkGD/5Bb9duouZ+BzMzMlStXzp49Ozs7e8yYMfn5+bquh4eHP/3004MHD/43wfTXv/515syZhYWFuq57PJ6mTZtOmTLl3CraJ598MmnSpL59+/bq1cu8YhjG+PHjP/7449LSUsMwHA5HbGxsly5d+vfvf3arlIheffXVZcuWmSrQ4/H88Y9/nDVr1s990SwsLja+ysrXnnpKEmW+//55CjUA+OnHH0f07n1Dq1avTJt2xRnelpb5T5wu1VBIFmCgVZfGiHHkuqG7pS8kRCAyAZIQJfDqahkQIBCAWVojRiChOsGAAftn3Q0AgAglSCFB0zCgCbtTifC4w1VVkhCIIMGym/j91IBnR3p6+tixY996662qqqpnnnnGkmvXDpzzN99887/e5viVKs/PYYqS2KqVuZX5z4uqGhIX9+9f2m7/+cWzuH6l5QsRI1JSIi5yCmUN9RYQ0dGjR7dt2zZgwICHH364uLi4Xr168fHx2dnZb7zxxsqVK8/eaRjGsGHDevfuXVBQcMMNN7Rt2zYqKmrZsmUdOnTYd066lhk5deLECfOvgUDgqaeeeuWVVwKBwA033NCqVauEhISDBw++/fbb2dnZZx9p27bt+PHjw8LC7rjjjnvuuScuLu7DDz9s3rx54c8yIiwsLiqFeXn97rlHCPHXb76pk5p6nk/t/v77V598Mq1Jk5cmTrzihFplZeDE6YoACSl1BTQFhCRgAAyAkAw9EGrzu+yAQIRSSpAEiIBICACAgIQIaOoyCWerbWT2GjBAVp3KTpxAoNRAVHAOrhC3U1FU5IwhAqGQzJJrVwT16tV74YUXvvvuO6vVwMKiRt+sENGOHTvmzZvXpUsXm80mhHj77bdHjx49atSou+++27xn9+7dkyZNSk5OXrt2bZ06dTjngUBg9uzZAwcOfP7557/66qtfrIGtW7du4cKFHTp0WLZsmcvlQkRd10tLSydNmnR283TMmDEbN24cPXr04MGD7XY7AASDweHDh0+cOPGjjz4aOHBgja2DxTWOr6pqSNeuFWVls1asOP8zaiePHx/57LP1GzV6fdYsxxXX9VnuO1FQ4UNhkMYgoIIhQJGAjAAkSkUQ84aFB+0qJ00XggmDV2cUIAE7UzQztZioLrEhASEBIgAwBCQABGSSG4QaiQDopQ5/vTBUHHYVVcGBCAgFgNlGeolW4mqgxrxwb7zxxjfffPPVV1/1er19+vT5t5MwFhbXDjX6rY+In3/++WOPPebxeOx2u8vlMncwt2/ffvZt0yuvvKJp2tChQ+vVq2dujDocjqeffjo9PX379u0FBQW/OLJZYKtXr15ISAhjzAyAj42NHTNmjOlGW1lZ+cEHH8THxw8YMMB+piBht9t79uwJAMuXL7/4r97CAgCguLBw8COP2Oz2GV9+GX+Ot/N/5sfNm/vfe2/TVq3e+utfrzyhVuY9WVgWRENnGrAAokC0ETHGkEhKAgMM7vQ5HKQAB41IJyIARsDNshsQVVfRzvh1ACFIJLPHwPwMA2KcOCeFgAkM6uJ0mavIHub2qKF2rjJO0iy+oVVWu4JITk4eOnTotm3b5s6dq2napZ6OhcWloUbraoj4bylMiYmJAGAYhtfrDQ8Pr6qqWrVqFSJ269bt3NvMI2u7d+/euHFjPdMv+F8xj7J98MEHN910U/fu3R0Oh6qq556BW716dWlp6f33319cXFxcXHzulADg8OHDF/J1Wlj8CuUlJc906hT0+5u3abNw8uTzf3Dr2rWJKSlDJ0264rY+S8p9J09XaCCDXEcMoDAkqAwQSCATUhJJMoRQFR1JRWkYOgjJyNzxRCB5punTdO2g6gZQqt4PrRZq5nWGqCAIJCDwanS00tE0PCQhUrHZDD2AEhAZkASg6mqcxW+jhjOmbrjhhpdffvnVV18VQvTu3bsmv7SFxWXCJT6wqaqq3W4PnomjLyoqIqKIiIiwsLB/u9OMAf01UXXrrbc+99xzc+bMef7551977bWkpKSkpKROnTr17dvXbPk+dOgQAMydO3fu3Lk/f9zr9V7AF2Vh8Wt8++WXQb+/7V133dy+/fk/9dH06Te1aXP7n/50+uTJ0ydPXpee7vf5oi77kFkiKCr2niiuEAoZIEjRmJDEVBKIkjgiIRBJhgwJbRwAUArUBdep+lganamiIWB1rhQDEGf6QZlEYkAIkqD6UBsAosIZcAgK5tOcqbFqdCgLIBkMkCGD6vNtFr+Hml/ABg0avPXWW+PHj9c0rXXr1jX+9S0sLjGXvrnm50cQfsObNpvNNmPGjG7duk2fPn3fvn2FhYV79uxZvnz5/Pnzv/rqq+joaCEEADz++OMDBgz4+eNWk5FFzWB+b6c2btz+vvvO/6nVn3/eqEWLP9x2GwCER0baHI4927dHxcZ+OmdOlx49Nq9a1bpTp4K8vLiEhLLi4sjYWKHrl9zLg4hKS32niqp0LokDgA4kiBQpASQREOMgBaEA5IoKzIZEQAaBkGiQZIhIAPJfZAFDkGS6qgEgoankJJAE5GaOATKGwBihQGCRqjM1SnFw0KUENJtI/3n4zeI385/zeS4SjRs3HjBgwNixY8+2lFlYXDtcXholJiYGESsqKoqLi6POcT0BgCNHjgDAdddd92vPImLbtm3btGnj9XpLSkpycnJ69eq1c+fOVatWde/ePS0tDQBycnJuvvnmi/0qLCwuHu7QUAAwy3IP9+lDRH/o0IFzbrPZCKCirIyIDu7eHREdXZiXF1+3rt3pjIqNdYWE1PDm6amSitOnfTpDqQhkBkgppYoSJQkGBIxQkhAgGXKuoEYgpa4JIaShS8kkM4+qMUDCc967mR9LQgRABihMoUZg/h1UqO4s5eQAJdXjSnAwJgUYgiQxAMaYyuBSFIauKi5VXmfz5s1HjRp1PoYOFhZXGZeXVnO73R07dly9evXf/va3/v37n71eUVGxe/dut9t9y68YAVdWVpon4RAxJCQkJCQkKSmpW7dumZmZubm5AHD77bd7PJ6NGzfu3bu3cePG//a41+t1u90X7WVZWFwsENGMbK+dlAQAaenpABBXpw4ANLn5Zl9VlaHrBbm5oRER2QcONGzWzBQpB7Ky6qenHz98OKl+fX9VVcjPjhz8HqSkUyW+gtIqSSAUAKYDgAAmCfFsfUtKMKQgkqgoCGAInyY0h6FpJA1gdgRggAhA/5RVVG2NRiAZoURuNhdgdd6UmRlKhEAMGFAY2ZJdqqzUdQ8IXScpSSIoyMCyWPu91PB5tXNJS0t74YUXJk+evGDBgkWLFl2qaVhY1DCXl1YDgLFjx65fv37cuHEPPvhgfHy8eXHy5Mn79u275ZZb4n7Fp+6vf/3rrl27JkyYcG4KwuHDhxljDRs2BIDw8PAePXrMmDGjZ8+eq1evPnsbEX366aerV69+9913L/Irs7CoaUwZFxoRAWcEnHmivl6DBmavtK+q6qu//a1Vx44Lp0zpMWhQzoEDzdu0UVRV/Vngx/lzuqCqoNIfAEImkQkACaBKISUYnCFjyAzBCAwhBQFHZCSZplf5NcMwDJ0YQ+R0xqPDbAEgqBZYJKv9cM16m7mpSSgBGRAAQwIkyYgTeHRbXqm3MN8bEuXUDWkAACFJQrQOrP1eLlVdzeTmm29+6623Zs2adZFM16KiomrXrn0xRraw+M1cdlotPT194MCB48aNu/HGG2+//fawsLCsrKzNmzc3aNBg2rRp9l/Zx9F1fe7cuV988UWLFi3q1q2r6/ru3bt37tzZqVOnNm3amPcMHz786NGjK1euTEpKat26da1atSoqKrKysnJycu65554afIkWl5JNX3/9/bp1F68wUCc19eE+fS7S4BcKM0I0ITkZAB559lkAGD5tWtDvV222itLSktOnHU4nEemaFhoRUVlU1NDlOpGX17RpU6/X+/O+n7MIKU+dLiorMnQHM8CwocGRC1SkQCJhHhZjKJGAiCRJJpABoC44aYhBRpKrCoGBZlGNCM/sfxIBARARVjeFmqU04ADACKHaYg0QiBFKUiVwQTmnihIrKhOFTSc0ANEwBGOcn1uss/gtXMK6mklaWtrEiRMv7RwsLGqSGtJqiBgaGhoTE/PzIN7o6OhAIIBnWuhVVR07dmyzZs2GDBnyxRdfEJGiKHfeeee8efNqnZPD43K5YmJiXGcOUD/33HOc8+nTp2/ZsmXTpk1mzWDUqFGvvPLK2Ufi4+NXrFjx/vvvjxw5cuvWrVJK00NkyJAhgwYNusgLYHHpIaJ/fPXVOwMHsouTACuFIKKGzZpd/lrtF7E7nbEJCQAQm5h47vXU1NTIqChfVRUALFy48Omnnx4+fPibb765evXqe++9NxAIuN1uTdMcDsep0lOni7xCOnTUGAYZIAObkJJACiTiBIYEIjMPioRkxMiQUhjAg3bmtyFDzsgwC2iIWF28IQKi6h1QU5YRIgEgEiIBRwBgDBknxgEIQUob42jXy5VKn/QTMh1JGIQG6dxAlVta7XdyaetqFhbXIDVXV5sxY8aMGTN+fv348eM/v9itW7f77rsvPz8/GAxGRUX9fOuzb9++ffv2PfvXkJCQQYMG9e/f//Tp016v12az1apVy/VLrXBPP/10z549T5065fP5bDZbTEyMFQZ6jfCPFSumvf56mzvv7PTwwxd88OLCwhkjRmhn3GeuPlJSUgDg+eefB4CJEycKIW6++eZgMJiVldWgQYN9+/bFxcVJBw947eTQCTUECWAnYpKEMJsJiJgkqHbiICYBiAypk6oxwx9CmoKMgGS1kiIEqv7PmYwBJJBQbYqIQIwDgARggIwxYByQARnIERQnhyi/4XEHGHKmGEJHSaCjoQj14ij1yx+PxxMMBokIf7e33CWvq1lYXGtcdnugZ3E6nfXr1/+fHrHZbAkJCf/1Ns65dRzhWmPDihXjhgy5pXPnof+LA+15cvzIkZHPPutwuf67Vrsq/pFDREVRkpKSAKBt27YAEBsbCwB7jx3WETgPSkmMGCkogQSQmbWOUkpgjAgIUBIjkEiEOue6HfwqIlMUKQyqFhKSCBHN/VIAADxbDUMw8z/RzJUiIASGYGo7BsAZgkvHSF0hlXGVCKUgG3GDSCIRXYtSgzE2ZcqUYcOGTZgwoX///r/zDeo1uIAWFpcWK17N4upnx4YN01577eb27QeOGXPBB68oLX3j6acVVe19zob7tQmBJIcuEaTBJaLByCApznqgSSJJQJKbF4gEA0TdhqBIg6k2gShJAjtz9AxAmmZqZigUmhkFZlWNkCFDZMgYIkNAQpDAJDJAzhRQDIeDhyhKrNuGEp3I7KgwuyoYF36DxLUoNSIiIl577bWsrKypU6f+TrFl7YFaWNQwllazuMrZuHLliGeeadGu3eszZ9ov9H533tGj/e6+2+FyzVqxIuG8wz2vVgSB4CRJAQSBpAMJAAQJBCSICEASSgRCIhBAJAWSZACGxIBkmjAMKUnys6lRANUBoETVe6Fm0Y1htaJj7ExquzwTQcUZSYY+4UIlsbY9zq2oiC5kDDm3c0MzQBPXrBtunTp13hk37ujRoxMmTAj8jv16S6tZWNQwllazuJrZ8Y9/jBs0KLVx4yHjx1/wwb0VFUO6dq2qqBg9b170r7jJXFPoSAYBMgSGEqQgAVKilCTMoppEQVwyBJRmU6chQBIRaoKqAkLTDSklAoGAM1KNztiqmZ0FBIwYN1UaVQs1JDO4HQEBmAA0dAN9UhVGbLTDJhUVAAmrWxVI2u3KtRwGWjsubtSoUT/++OOE8eN/s+Sy9kAtLGoYS6tZXLVs+vrrP2dktLr99imLF/MLfaK8IDf3hQcfjIiJeXfVqss/mrNmMBAlF4CCSEgSJCVKIQkkSSCJREhAwAQAgQRJYEgmGSBJklInKSRQdUpo9Yim1S2ZwezAGHAGDJEz4HjWu4OY+SEwkigNXegGGIoUOpcezlTJzTZRIAK33aY41GtcaERHR48ePfro0aOTJ0/+bXLN0moWFjWMpdUsrkKI6Pt168a88EJaevorU6Zc8PGLCwufv/fegM83ZuHCmDOOzRacMQ5EJCQBEKGk6r4CPNvMyc3iFggCoZNBwBgyyUjYJCkESAxR4hnPXoAz9TUGDIkhcATOgDGGCAAMJCIBIiADQJBCJykBEezuKptwuiLdkXbJgCsoOAhdOhVFIhPXblmtmrp1644fP3737t2jR4/WNO1/fdzaA7WwqGEsrWZxFbL9228nvPxyi3bt3pwz54IP7q2qGt6jR2h4+PhFi8IiIy/4+FcuKjAmiKREEkgEBGZjAZJECUwyAgISSALMRgMy7Ts0hQknA5UxZIKYGe2JCOd2fhJjWF0gM9OnzCRQaea1AygAKBgR56p0OI2oiCJUY+pEOUIVYCgBfEJKQ4KBGjJ5De+BniUiImLEiBE//fTTtGnT/lftZdXVLCxqmJrWaps3by4oKDA//v777/ft27dnz55Dhw4VFRURUVVVla7rubm5xcXFOTk5x48f37t3r9/vLy0tnTJlis/nKy4ufv/99ysqKtauXXvs2DEAyMrKEkKsXbtW1/Vjx47l5+cvXLjQ5/MBwNq1azds2LBly5Zjx45VVFQcOnQoLy/v1KlTuq4HAoHjx4+vXLly3bp1H3/88bfffqvr+v79+w8fPjx16tQaXhOLC8vWNWtGPvtswxtvHDF7tt3pvLCDn8zN7dmmDRFN+vxzM7XJ4ixcIukEsrqfoNonjSQIAIkgAYhAnjHxEASAQFJKTUXdrhJjTIKUZBpxYHX7JwAgMSY5ATP9PBAAEAhBEEpCQGSAjBBB5QranCIktMxjy/e73DERgSBpkqqk1IQkCRLQUNg12Qb6C9SrV2/69OkHDhwYN26c3+8//wetupqFRQ1To1rt0KFDu3btstlsw4cP37BhwxdffMEY83g8SUlJK1eu9Hq9drudMTZnzhybzXbq1KmCgoJt27YtW7bM6XTeeOONnPMhQ4bs3LnT6XR6vV5N0+bMmTNv3rxgMPjdd9+NGTPmgw8+2Lp16969e83DSZs2bfryyy+Tk5Nzc3PHjBkTFhbmcDgyMjLy8/Nnzpz54YcfBoNBl8vVsWPH1NRUwzAqKysTEhIef/zxmlwTiwtL1ubN4196qWGzZhdj6zPg87325JNSiMy5c8Ojoi74+Fc8AoSQQIQCSAIAEAlJRNJs5xQIOpEAkiBltdOtIZgUnCQyRTImyfS3JUIJgIgESByFAsjMLlACIg7EiBGiZGCeYJPmMTbFbhM2l3A7CiBgqFGG4vYFdb8QmpDVvmsKF4CW0DhLRETEG2+8sWfPnv+puiaEuKizsrCw+DdqVKvFx8e3bt168+bNrVq1Ki4ubt++fV5e3nfffXfy5MmbbrppwoQJb7311rx589q1a/fRRx9JKUNDQ5988kmfz1dSUrJgwYKioqLp06f36dMHEWNjY+12+xNPPNG5c2dEHD58eFhY2LBhw8w6nN/vHzhwYHx8fP369bdu3VpRUfHGG29s3bo1Ojq6Z8+e8fHx4eHhDzzwQOfOnQHAzJsKBoP169ffuHHjqlWr/vKXv1ykVGCLi8p3a9a83rt34xYt3vnoI8cvpVb8Hgrz8p6/5x6n271g48bY87BcvgaRREJIkkRSSglAkkigmd4uBZAhJZnn2EgK4gKIBOlSyqDEIDBdkiSUpo+a2WSACAyQEIEBmMa4jAAkAjLiHJgCjBMgASBXOXPbpc1mMOGtlMlxSRpnGgV0Ie1IdgCbioAodYBzNImu68GLg6ZpV8ReYWJi4pgxYw4fPjx58uTg+Z1ds7SahUUNU6O5BbqujxgxIj09/aWXXvL5fNHR0QAwdOjQwYMH5+bmvvLKK8Fg8OTJk5MmTXrrrbeCwWB5efk999yTkZFRu3btZs2aSSlfeuml6dOnr169Oi8v79577y0rKxNC7N27FxF79eo1YMCAGTNmKIqyefPm66+/PiwsrG3bttHR0XPnzv3hhx/27dv37rvvLl68WFGUp556avPmzYWFhe3atYuJiZk0aVJJSUl2dnZxcfGcOXOmTJny89xSi8ucfTt3vt2/f1xS0uuzZv3+FJ1/Qw8GX/zTn7RgcMqSJe7Q0As7+FWDZGSYLaCMkIgkIhAaQAwAhERDSlQRAIikAJCgC12RmkS/ASBEiJQcq38lmZ0DiAQCGTBEBiTN6HaBgnHgIBgyRgAggYBxpjqRuYlporxQV046YhNjKsgwEBQCGwPOEZCBICaBnfPd8cgjj6xYseJirAYRGYZxMUa+4CQkJIwZMyYjI+OdsWNfffVVxv7Le3hLq1lY1DA1qtXCw8OXLFkyceLEgwcPpqWlTZ06tUuXLkOGDLnjjju2bt3qcDhq1aqVl5c3efLko0ePZmVl/d///d/48eOllOXl5ffee++2bdvCw8PLyspOnDiRkpKyb9++du3apaSklJeXE9GGDRsee+yxHj16PProo7Vq1erdu3d2dnZRUdE333xTWVl58ODBPn36PPzwwwCwfPlyIjp69GivXr1KSkp27NgRFRW1efPmZ555ZvHixYsWLbrjjjuWLl16//331+TiWPwetm/YMG7QIE9ExH1PPvnN4sUXdnBhGMsXLIiIicn8619DwsIu7OBXE4ggJQlJjEkgYDpwACGBuAAESRKEQcgIQEopdJKGJAQNpC6IkwTTONdMDEVEBkhAEiQiI2JMEiiABAiMSSaIcWACiAAZZypjTJAaQK+r9CBzuMKEYgMJBik2QARUmAQkDmi38XOlfEZGxp/+9KeLtyY33XTTxRv8AhIZGZmZmTkyM3PSpEkvvvjif/a4sbSahUUNU6Na7dChQ6dPn05ISBBChIWF9evX7913323ZsqXD4cnkLQwAACAASURBVAgGg4ZhJCcnt2zZctGiRZ07d27evHlubu4nn3ySkpLy7LPPut3u7du3Dxs2TNO0Dh067Ny5c8GCBbfeeusPP/xgGEZiYuK+fftCQkKmT5/ucrlGjBgxbdq0zMzMevXqHThwoGnTpikpKSUlJampqcXFxVVVVQ0aNDCrert37/7000/ffvvtAwcO1KtX79ixY5zz8vLyAQMG1OTKWPxOMp97ThhGXFLSkvffv+CDF508qWvalCVLLB+1/wwCIwIyJONg6ACEAshgZIBUkUDqIACQSZCGIDCASEoAIYKSDBdHBYgBAbF/bn4SECABIUow+0PRAM5QCiYV5AhEyDgqDACEEEzhwmdzaB57UhTaVMVAhXM7AGOMEREwzpCUfykatW/f/hKt1mVHcnLyhPHjhwwZkpmZOWzYsP+QGWpYWs3ComapUa2Wlpa2ffv2VatW/elPf/rkk0/CwsI6derUoEGDXbt25ebmdurUKTs72+Vy1a5d2+PxmGnQU6dO/fDDD/Pz81esWPHoo48uX748PDzcbEdISEjYv39/TEzMH//4x7ffftvhcHTu3HnOnDn33Xff4MGDiWjatGnDhw+PiYlp1KhRdnb24cOHFy9e3LlzZ3OcRo0aZWZm9u3bd8qUKcePH2/UqFGdOnUGDRrUrVu3Rx555NChQ2lpaTW5OBa/BymlarO9t3r1xRg84/77j+zbx5Ua/WG5EkFgaEhiKJAFdRAgnBw0klKSDTSSOhmcuBAgpJSIwkCUzJCBIJHuZGAHSVIaxEAxvW3hTE8oSCSpVGs3w0BVAAqOBIgEnAiADIl21ZAeX7E9OirVG2F3OO1UpThVxrm5/8mkgVgdT2Xxy0RGRr7xxhuvvfbahAkTXn755V87CiKukL1dC4urhhr9teX1eoUQc+fOzcrKatasWceOHdesWbNgwQLDMI4cOVJaWoqIJSUla9eunTRpUt++ffPy8r799tvly5czxhISEmrVqtWkSZOysrIXX3xRVdX27dv/5S9/WbJkSXl5ec+ePePi4oqKijIyMkpLS/Py8jweT69evdxu92effaZpWqNGjR555JFBgwadOHHi0UcfbdWqVX5+fufOnX/88cfly5efOHGiRYsWI0eOzMvLW7ZsWUxMjCXULCz+V4gkE4YMkqGzgC6qDMNg6Je6pgsUAg0BJCRpJAQASBQCydBFMKhxNJxgoJCGjgDEq38xIQBKZAQADJnKGRNggBFENJATIgIoSIwJEowR2JzeSizPc/i0uCoWJsihcGZTGahYbaQLKAn/xWjX4mfUq1dv8uTJOcePjxo1qrKy8hfvsfZALSxqmBrVaqqqdujQ4cUXXzx8+PC6desyMzPr1q1bWlr6j3/8AwBq1apVu3btJk2a3HPPPa+++uqoUaNyc3MTEhKmTp1qt9uLi4tjY2OHDx/udrvnzp3btGnTxo0bN2zYsFevXnl5eeHh4ceOHbPb7Q8++GBxcfH333+fnZ29bt264cOH33777Z999llubu7SpUs55+3atbvjjjuEEImJiUlJSX/4wx927dpFRC+//HJERISiKFu2bPnoo49qclksLK4OEIgLggBwCQZIyYEUwdDLDckEgC4JpJACDJJSCtPGo8oQuqEoBqAQBhAAoqnCzJx2REkSOFdQUbiCAnRgXlQk5wpDRUqsjkRQbUxHVlIkSgvdp0+7he70+WykMOBIDAUHZEjIGGM2dsb5zeJXiI6OHvHGG0ePHh01alTwlyLeLa1mYVHD1Oi2jqqqcXFxGRkZ2dnZDoejd+/ec+bMeeyxxxRF2bFjR2FhYXh4eG5ubqNGjb755pu8vLxOnTpVVlaWlZXVqlWrU6dOGzZsGD169A033PD9999XVlaGhYV169Zt6tSpr7zyyty5c++8806/3z9u3LgtW7a0b98+MjLSZrP16NEjMjLy+uuvj46OTkxMPH36dHl5udvtnjZt2k033ZSbm8sYa9myZevWrevUqaNp2ldffXXgwIEXXnihJpfFwuLqgAGJoGCGgoCIUmVCFQYZQQdzASHpTEihEEoEQxokBRicDA3QMCRqTNoIkQEDQAnEgZBQApLkNmKSq2QXUlOIwMsxFJkCBpAAgWYqFTK/BqdOhlX5PBFuu1OiEJwYAQOqLtSxAKGNMzJVosV/JCEhYfTo0ZmjRo0ePfrll18OCQk597NXSn+rhcVVQ43W1fbu3btp0yav19uzZ8/jx4/ruh4RESGlXLx4cWRkpBlg8MUXXxw/flxRlLS0tJMnT5aXl3s8nsOHD5eVlQWDQbM3c//+/R6PJzs7+/777+/WrZsQIjIy8pZbbunQoUPTpk379OmTn5+/cuXKBx98MD8/v1atWgUFBW632+l0xsTE1K9fPz4+/rnnnuvYsWO/fv3279/frVu3nJyc2bNnp6WlRUVFNW3a1HWhrbksLK4FSFBlhdANCgBJ8ilGuc3nc/mYK0jCkFKgEQDDAB2lYRhCCgRDUiAYQF8ADABBgEAoESQISWZOFVOkAgaV2qXmCIJKDH1+G9rsZKhSVIdUAShCssoye1FBnAxxRkaojDFmR+JEEpgEFRgBCkBCEPTPQASL/0BSUtI7Y8ceOXJk0KBB/5ZqYOUWWFjUMDWq1dLT09u0aSOEOHbs2I033rhnz56kpKTCwsI77rjj008/ve6666qqqh5//PFAILB48eLly5dHR0e3bNly/vz5iNioUSO3252VlTV58uR27dqtXbu2vLy8U6dOX3zxxeLFi+vUqXPvvffOnTt3/fr1mzdvTk5ODg0NNQwDEZ9//vmGDRvm5eWZv1/y8/OXLFkyduzYefPmrVmzpnXr1qWlpT/++GNhYeE777xz2223SSntdntNLouFxdVBUBOVAUNHoWGZMLJVXxkrN+w6gi9oABoA0iADSAgAQ3ABTOiaH6oquTAAEYUEEgASSBAIBMGYQgzJf9KulYSX+F1VzHNchvsgRJLd0BRivLrXVGeaT/orbEbQBrVsug0MzpiNIwOUqBBDhgTAEQiAAXKru+D8iIiIyMzMDAaDo0aNqqqqOnvdsgq3sKhhanQP1DCM3NzcAwcOKIqyc+fOkpKS66+/fv78+a1atcrJyYmJifn4448PHjzYunXrtLS0u++++8svv3z++ecffPDBqKionTt3xsfHh4aGdurUafv27V26dCkvL7/tttsCgYCiKLquL1u2zMz0dDgcLpfrvffey87O7t+//4EDB44dO7Zr166ioqJbb731yy+/zMjIMLOtQkJCVq5c+fnnn2dnZ7/wwgsfffTRjz/+2LZt26ysrOTk5JpcGQuLqwBhSIMZaKtSlWy7OGn3Jwhpd7qYYQSBuZHpjHMihQxgRIpA3S/8PkXqxKU0E96BASEiAQhGTDIFtBL0FUW4ExO8JFwhMScrgomhUpcl0ggiYxhEYFLzS+AogkxF0MJUnwA7U5ArKJAJxhQEBbkBDgUZAlfMYASL8yIlJWXy5MlDhgwZOHDg6NGja9WqBQC/eIjNwsLi4lGjbzBLSko+/fTTnJycQCCwatUqwzBcLte4ceM6d+7cvXt3Xddvuummjh07Hj169Jlnnjlw4AARffvtt5s2bdq+fbvL5QoEAmVlZZs3b167du22bdvy8/PnzZu3efNmv99vRr9v2bIlMTHR7XaHhYW99tpr3bt3NwwjKiqqtLT0lltuqV27dsuWLXv27LlixYpTp04tXrxYStmyZct58+a1atXK5XI99thjGzdudLvd6enpNbksFhZXBxxIVQPhoUVOyq+FfgWqNJff7pFqiEFSs6HfpqKCqmoQJ5QBClRKkoyBBqSjFIjEAAEZgAKIyIhJNehziZi6PDk1LK6JO7xJiDPNHhruFVKiwQxkOmMGkKEzOxFIu6qS26k6FbuqEjKSyBVknCEhZwwZMAQkuCKiny4fIiIiXn/9db/f/+abb+bl5YGl1Swsapwarat5PJ7evXuvWrXKDAa99957y8vLAYCI0tPT165de999933++ec33HDDsmXL6tSp06BBg/379z/yyCNLly4tLCzs0aMHAHTo0KFnz56ff/55VVVV/fr1IyIicnJyQkJCzB7Po0ePlpaWTpky5c9//vPf//53IYR5z4kTJ2677baKior4+Pjrrrvu8OHDN99887Jly+Lj45955pm6detu3749LS3trbfemjlzZmpqav369WtyZX4/hq7nHDp0FfdnOZzOpCvtf8q1BjMCTihxOyqZ3+fgWqFSaqCD29xQqRD6FYWQcRCEwiCNgn6hC4kkpPADaVwRqkLIkZAhEQFIjlJ3kDtaqZWixtT1OMKlZkQ5Sk77fGG66lEQDQZSMIaKjdmczCDN4VRZuNsdtCkOQ2Oo2hSuMAQAQmREAMCAyGot+J+pV6/e+PHj33jjjddff33w4MHn7odaWFjUADXdB7ps2bJu3bqVlJR069Zt5cqVXbt29Xq9FRUVKSkpDofD7/d37NhR07R27dodP348MTGxSZMm5eXlDzzwgKIo8+fPj4qKatGiRUZGxujRo82Q9bFjxxYXF586daq4uPgPf/jD4cOHGzZsmJCQoKrq7bffPn36dPNYW9OmTUtKSmrXrr179+6CgoJOnTotWrSoX79+H3/8cXFx8datW/v16xcZGfn111/369evtLS0JpflgjBr5Mj1y5fT1XvmNzYxcdbFyW20uFBgsMoFxYood7MKxS6ZT2LAWVXm1E9HQlSQc4V0wZEFhdT8QtOlQI3JIEi/ouiKnbiCjJMupSIFIBlS0RU3RtRzRtZT7TGc21FwVTGKjAhVRjJXGScSKJExm41xJEMJhoQrQbeTqYrdARxRIYaIKBlTQCIhA0T4b1mXFr9MXFzcm2+++fLLL48YMSIQCFzq6VhYXFvUqFZTFKVbt26ffvppdHT0jz/+mJKSMn36dI/H89BDD2madvjw4ebNm/t8vh07dvz0008FBQVPPPFEeXm5qqq6ru/YsYNz3rlz540bN86aNWvv3r1Hjhx5/fXXjx07lpOTYxjG0aNHDx06hIgHDx70eDyVlZUrVqzo27fviRMnvvvuu+TkZLPtfN++fc2bN1+xYsU999xz8ODBFi1a1KlT58knn7Tb7Rs2bACApUuXlpaWdu3a9aJ2g2qaZrPZLtRoM998c+WiRebHyBjnXFEURVUVmw0RGWOKqgKAqqqIiIzZ7HYAsDkc559xzhiz/XrmzEXlQFZWVXl58F870SwuQxyK4bFXOJRSt62UmMdZXKnogYpTpz1KiE0JMkOghqRwf1AGg1JIg8kACj+3aS4HqYyjAjoFNQkgJUMIBDl4Ym3uFJe7lkI2oQEiUxQ7x9pIBUw/IpjQUHKmMo4K6uCSqrRVcjvaFTsSZ4iSgUACYgzJTKhCVBCldVztNxEfH//222+PHDny5MmTubm5oaGh5//s6VOnLt7ELCyuempUqxEREe3evdvv9zdp0uTgwYMvvfRS586dv/vuO13X33vvvZkzZz711FPvvPPOtGnToqKi9u3bd/fdd+/fvz8tLW3gwIE5OTmlpaXPP/98ZGTk999/X1BQsHDhwtGjRzPGHnzwwdGjR2dmZpo2tlLKsWPHmsIuKysrPT29efPmBQUFRFS7du3U1NTCwsLExETG2MyZM/v06aNp2ocffvjee+8NHTr00UcfzcrKuti2HcOGDRs/fjz73e/xieitvn23f/ttrYSEu7t3b3PnnbGJiRdkhpcJa5cu3bFhw6WehcV54QrBELc3JMTrYIYAxaUwXacglIeECbT5eZUPVKdfE95KQ9N1G/qZHtRJOjwixA0qY4i6IaVmEEmOjAeCIY7IVNWV6GBOJpAEMiSn0xXmjHHJMOk1Aja/AaqdGANEm86djLxOAJvdxjggERMCpQ0VDoQAALI6vACt42q/maSkpIkTJ/bv33/+/PmXei4WFtcQNarVsrOzs7Oz/X7/n//855UrV/bo0aOqqurrr7/+4IMPnE7n+vXrw8LCdu7c2bdv3/j4+G3btkkp9+zZ43Q6P//88169et122215eXmzZ8/esWPHxo0b+/btu2HDhvnz5z/++OOZmZnJycl33333oUOHsrOzTdPdsrKynTt3pqenFxQUVFRUaJpWWFi4ePHinJyc1NTU999/v3v37iEhIcFgMDMzU9f155577pNPPsnIyJg1a9bFXgrOed++fYcNG5aamvp7xpk0dOi29euff/PNu7p3v1Bzu3zYtn797FGjuKJY+YNXBHYHOUK8TqdQwaGVGwq4i0FIRTgVrgufpiO3obdUD2oag4BKAY4swNAdpoc6FJWkpnNDdwQCig/sKDhXkuz2em6bx46qoQvJgDFw2NWYCGeI5tYqyWcE0EDBpco4crAxu8ZcYU67ItCQDBSmcbIxQmBIAAwBwawjW2W130NoaGhmZuaWLVt+w7MREREXfD4WFtcCNarV6tatu2DBgjFjxmzevDklJaVjx46ffPLJgQMHUlNTb7zxxuzs7I8++mjZsmWffPJJYWHhjh07TN/aTZs2JSQkpKenT5o0qUOHDi1btlyzZk1oaKjD4WjcuHG7du0yMjIeeeSRlJSUCRMmJCcnx8XFZWVllZeXm8lRK1aseOaZZ2bMmJGWlnbbbbfdcMMNwWCwsrLygQcecLlcd91118iRI83S2u7du3v06NG+fftgMHixLda6dOlyww03DB48eODAgddff/3570WeRQsE3s7I2LZ+/d2PPXZVCrVdW7eOfPbZBjfe2HvYsFeffPJST8fiv6PYwR1SpXIQXgwWB7VyZyEFeRlXQmTV6RJFiSGfDFZpYNNVQ1M0DoyhoyrUrbkYiiDTA7agkFU+u5czqXmS4uu6PBFOu51zZhhCqMCJVJWFebjNaw/aFKET0wkFMQSBKpKi2dVom0p+0IkzDsbZVFEEBFKAzJ8zklZh7XdRt27dunXrXupZWFhcQ9T0Hmi3bt0QsU2bNvv37x86dOiQIUNefPHFQCBw9OjRoqKiIUOG5Obmapq2ZcsWU379/e9/b9269WuvvTZixIju3bsnJydnZmaOGDFi6tSpXq930aJFDodj0KBBq1evHjdu3EMPPTRq1KjHHntMSvnQQw8BgKZptWvX3r59e1JSUlxc3KFDh9LT0xs0aBAaGpqVlbVjx44mTZo89NBDa9asefzxx4nos88+O3jwYPfu3evVq3exVyM0NHTixIkLFy4007T+p2eJaMyLL5qbgwd37Xq1Z0+uKOYfVVW5oiiqarPbbQ6HarPZbDauqgBgs9nMM2eKqjpdLgBgnLs9np+Pb3c4HJc0vMFbUfHOwIGxdeq89e67FaWl5nk7i8sc1QZOe0Dq9kCp1AtZoEKrYMJe7JGJBb6y0vDoMJ9XA5tqV3RVA0GKxgzuqHKrBgWd3iruI3eV9AV9eJqEyx7hiqxts7k5clRIAklOJEBh3OUE0NWgO4RX2MyUd4mcIfiCwo+cCU6AwJlkQIaZLErMNCfi1aLtUq+ThYWFxf9GjWo1r9cbHh6+devWnJyc2rVrt2/fXghRXl7esmXLQ4cOzZ8/v1OnTg899NCBAwcaNGhQXl7OOV+yZAkR9e7de+XKlXXq1Fm2bFnv3r23bdt2++23Hzp06OWXXzYVT69evYqKiubPn9+3b9+NGze2b9/+66+/Li8vT0tLa9++fXFxcVZWVoMGDbKzs++4444ZM2YcO3Zsz5493bp127dvX35+fvfu3devX9+kSRMhxJAhQ3744Qdd19PS0i7eUpjmGh6Pp0+fPrNmzSotLX3kkUfOv7q2aNasrWvX1kpICI2IIKKqysqLN9WaRw8Gcw4dAoCXhw93ezzeiorfUHe0qHkUjiox3UtahSL8HFyEXi08UhAUO0NBiiCphoMrWkCQznxIhH6XWsZ18pc5NIgoI5fEItLLiJxhcTGOkAgpFUHAQaICKBGRFIZMYTpjTFWczElMok0FBYj5C/KD0s4ogSGh5JKAOCPOgSEDAI6MUAICAAnrwJqFhcUVRY1qNafTabPZ8vPzw8LCGjZsqCjKzTffjIgFBQW1atVq3bp1cnLye++9t2XLlszMzKSkpNdff33EiBH79u1LS0tbtGiR3+//wx/+MHbs2Ouuuy48PPyOO+7YsGHDyZMnmzVrtmnTpjVr1vTv37927dpt27aNjo6eN29eixYtELFOnTqLFy9es2ZNr169Pvvss7Vr1w4cOHDYsGEffvihqqpLlizp1auXrusNGzbUdf1vf/vbAw88EAgE4uLiLt46CCHOhrRwzvv377958+aMjIzJkydzzs9nhIDfDwAP9+lz2/33X7x5XipOHD8+4L77EKDNXXcBACJaWu2KgAEjQ9H8ZGiqdDqkTUb6MTwMpF2BAPNVCNUNHj+WBJhXl5qqO6HUZnip0kYiVnUncaYwkLKiKsYeHu6O4eBAYAYQA1AIAUlBYAwJVV0GVUNDVAyGyBDtEjQj96AR10BlgIyBBqAwUBA4M793EIGQMdMJV1qlNQsLiyuKGtVqhYWFb7/9tqZpLVu2jIyMzMvLKywsLCkpSUlJ8Xg8d911V3l5eVJS0oMPPhgXF1dVVXXLLbc0bNhwxYoV8fHx06ZN+8c//pGamnr77beXlZWlpqZ6PJ7Y2NjS0lJN0x5//PEuXbosWbJk7ty5zz33XHZ29urVqw8ePJicnGxaeAwcOHDXrl0PP/zwN998s379+mHDhv35z3+uX79+48aNFy5cGBoa2qJFi1q1anXt2tVms1VVVXk8HgAYOnRogwYNwsPDL+w6EFHz5s3PvdK6devIyMhZs2Y98cQTYWFh5zmOqqp2p/PCzu1ywDws6HC5zD5ZtByxrhSIGzoTQUKbXed2vTLoMRx6uVqp4smjvsgwcDq51Lmu8aDuBeZVhFfxC1QiXJEpEF4X7byqKugrC7jUaDeGKoqCKhADJOCSkFUXyABI18uZbnCUClMkGJwrrExBwxlZ281tiAwYQxVIIpl7nsgAEAgIzdx2S6pZWFhcUdSoVktMTJwyZcqpU6cSEhI+/vjjO++8Mzc395tvvklMTGzXrl3jxo1Xr17drVu3oqKi3r17nzhxomvXrkQ0aNCgUaNGAUBKSsrrr7/eokWLYcOGmeGeqamp/fr1CwsLa9q06c6dO++6666tW7fOmTOnX79+mqapqvraa6+1bt26WbNmiqLs37//0UcfLSoqSk9PHz9+/Pjx4xctWlRaWvrUU0+tW7fO6/UeOHDg/vvvDwaD8+bNu/vuuwGgvLy8Y8eOSUlJNbA4DRs2jI+Pf+GFFyZMmBAZGVkDX/EyxxUSYn5gJQJdKZBkwkCQHNDhLbfrVaDI6BI/oS8oygLu2sBBNYAZUiNRoQaCKgUVptoi4kOiUnhcvMcGpwsrlTCDRHiI2+VwIuMIiAyJJBBDBgRSMkNUeIs8UoaogFIQSJR2bqgJ8ZGh0W7FBgzIxoATY2Q2fwKZfwiAAJiVB2phYXGFUaNaraysbNOmTQcPHjx27FhmZubatWuDweCYMWMYY7m5uRs3buzUqRPn/MCBA506dbr++utTU1MRce3atS1atCgvL0fEd999d8+ePUOGDPnpp586duzYp0+fffv2SSkXLFhguuk6nc4HHnigsrKyoqLi5MmTb7zxxv79+5OTk8vKyuLj4wEgMjLyu+++u/POO3fv3t21a9cjR46sW7fu1KlTPp+vY8eOW7duPXLkyMiRI2tyWc4SGho6adKkDz74oGPHjo0aNbokc7h84Er1N6cwjKs4j+FqApExhRuGI+hzBSsZCFcQY08FZBjk141SbapiIBjSK0UpBvw2JjiQ6vA4HMnOqAR7ZJhkRrAyxhZr6H6HJ0rlCkcAzhFREjBABGGQIf2nykpLCyPcBmNMaoSEDBRmR7szFLhqBMmGhDZEAIUjMJLMdMEFrLbF5VbKlIWFxZVFje4uVVRUREREPP300xkZGbt37+7SpUv79u0dDofdbne5XJWVlVu2bNm0aVNkZGTbtm3XrFnz4YcfTp06NSoqqnnz5t9//z0RZWRkxMbGDhgwoFGjRsuXL8/KygoNDW3SpEkgEJg8efK6desmTJgwZcqU2NjYiIiI4uLigoKC06dPm7HuYWFh77zzTu3atRExMjLSbErYs2ePpmnh4eEbN270+/0//PDDsmXLjh07VpPLci7h4eEZGRnbtm0zM5KvZc7VatIqrV0RcERQDM0tdAdJlSCqksUEg2GR4fYYt93Q1YDhNYwS1APMK8EfFEEkW7wjItUREa66VFVVHbYQZ1i0Oyqc2+3c4AqCAggMgTEgKTVdGoHykwUQ8Ie4dQFMIEOSHLlhkB50uFRVq5AgSTcACVAB4kQAprMamYKfIVieHRYWFlcUNarVhBCBQCAnJ8e0rp03b57dbl+6dOnXX39ts9kaNWq0ceNGt9ut63ppaekTTzzhdDqJaObMmbNnz27Tps1PP/00ZsyYXbt2zZ49e9WqVXPnzl2zZk1UVJTD4cjPz8/OzjY3Lh0OR1hY2Lp163744Ydt27YdPHhQ07Rt27ZVVFRs2bLl6NGjUkq32/3TTz81bNhw6tSpcXFx//d//zdy5MghQ4a43e4BAwbMnDmzJpfl5zzwwANHjhy5tHO45LAz/QQBv9/ywr0iIIZCt0nh4qqNKR6mRqB0hessIgxt0iEM5veXgfRBAMgnjGDQq7kxvH5IXKwaqjKOIJHbOLe7uNMphZMJrgAwBEAmAcjQ/X7NkJWacdptRy4p6FcZExwFAHi9IsztiAnhKqGiIhExRRJHQWQeU0MCQSDNFmyrTGthYXFFUaNarV69eqGhocnJyQ8//LDZMbBw4cL09PQmTZrs2bMnISGha9eue/bs+emnn9LS0g4fPuzz+f74xz8OHDiwQYMGVVVV27ZtW758eevWrR999NGysrKoqKh77rln/fr1gPqQ4gAAIABJREFUb775pqkCP/zww/bt2xuGYYaHulyuLl263HrrrUeOHGnWrNmJEyeWLFkSFxfn8/mWLl0aGRl5+vTppUuX7t279+TJk+++++7gwYNvueWW8vLy6dOn1+Sy/BvFxcX79++/5ZZbLuEcLgfOlj58VVXGmbZZi8sZAhAGZ6pNsYXYbBEObgs3WFwYOEKEGhqGBCAMELpRZehCK9d03RETnVLfXduDCoIEQpIcJbcLRUWpMME5mm2cTEgK6KLKXwVGDnMVu7mQfsYJFUUyhUsyDAnxcQ63nTscAEAMJDFpMCAwe0CBJCCCRAkADCytZmFhcSVRo1qtvLw8LCzs0KFD33///XXXXff/7N15mBXFuT/w962q7j7r7AsMDPuOIIuIICIuKODCIhoDiCAqCYK4Ji4gaATRqMGg0Yio0QQVMRJZVBYFRLzIrrLDwAAzDLPPnJlzeqmq9/fHGH9er9cYI4Pj7c8fPod++vR5Tz3PtN9T1VXVq1evUaNG2bZdXV1tWdabb7559tlnjxgxolWrViNGjNi1a1ebNm169Ohx4MCBhQsXnnPOOU899dTSpUsty+rWrVtWVpbnecnJyWefffbUqVOLi4ufe+654cOHz507t6ioqFu3bh988MGUKVM2btxYVVXVu3fvjIyMV155hYj27dtXVlaWlZXVunXrzMzMDz/88IYbbmjatOmvf/3ro0ePduzYMSsra9OmTfXZLF9XUVGxbt26Hj16CFGvjxL+BH31jJqf1RoMjZyYMMPcTLPMYJR0o4jZKAPRYFZ2BhqmwYQdl/G4Wx6SCSGatm+f276ZETE0gUYgBBeEBiEMQODEBDJED7lmSqPjSWJFzNudxMqi6HACK4DCMpBb2nWIsWCEEceEBNfV4GmpIQEaCBGwbvRTcEaMGCN/OVyfz9ew1GsgSElJWbp0acuWLfv06XPixImsrKyOHTsGAgHP88LhcKNGjXbv3t2pU6dgMDh//nzDMFJSUpYtW5ZIJBYsWHD48OE1a9Zce+21WuvJkyeXl5dnZmbatt2sWbODBw+2atXK87xYLJafnz99+vRXXnnlgQce2L17d3JycqNGjQoKCi6//PKLLrpo165dzZo1S01Nra2t/eKLL5o1axYKhVasWBGLxYYNG9aqVasFCxbcdNNN7733Xn5+fv1vorJ9+/b8/PzLLrvM8Jfp/+dywXYi8cqTTzLOR02Zcror8v0LSIyxgDAjyglZ3A4HjWDAOJknZTPDDIR0ALyEnZBuTZqqDYjOSS069ugSSgoDAREhA0WgtTCYMjgoJjRj2iEAYJxIo0DX9Y4wfjSVmcpwOGPMYMBM8Ei7NnCmuSIFZVVaGJppJCJb6SgKRcDqnnsDIAJA8veY8vl8DUt9d95ccsklnudlZGS89tprmZmZS5YsKSgoaNKkyeWXX/7cc89df/31tbW14XAYEfPz84uLi+uWqP3LX/4yZcqUJ598ctKkSWvWrKmqqsrNzb322mvvvvvu9PT0WCx2xhlntG7d+o033ujZs6dlWXXr63bp0uWqq656/fXXlVI33HBD//79r7nmmr179y5atOjmm2/etWtXeXl5cnLyJZdcMn369BEjRjz00EOzZ88GgE8++WTQoEEAEIvFLr744lPRxVX3BN5X/6zr8Dt48ODVV1/9o39WAxWvqUnU1v7u178+fvjwrJde6nrOOae7It+/xBgPkrQYGcGADCnLtNE9LnlXrlxOAhwtMcWzgyxVpXfo1DmtUSYhakkEiIxIAydpMmKMaY1aKpcRM5ADGCideHlF3sHMMypDQeE4LgEjZIpQey5IIIGSUHnadkiTDhgcCUlrYkBEdat0aCIiJAJd98pfYNnn8zUQ9Z3V0tLSpk2bFg6Hb7/99v3792dlZfXp0+ell16qqalp1arVnj17Pvnkk6lTp8Zisc6dOy9ZsqRr165r164dO3bsjBkzbrnllo8//vjiiy/euXPnokWLbr311sGDB+/bt880zcWLF7/zzjtt2rQpKioKhULZ2dmNGzd+8803586du2/fPq01ERUUFGzbtm3nzp3Dhg177bXXcnJyrr766pMnT3LOOecnTpyIRqNt2rSZNGnSV9U+/vjjNTU1p6Idjhw58vV/LlmyJBQKjRgx4lR8VgNVU1V1+8iRJ44e/c2TT3Y5++zTXY7vX0NC0gyBG6YJ6PA4okOhCAtwpiV5SAQVZqqMFCS3TMrNys1lnCnSpBA5kQZUEqX2LC3BMx3HA7DDaHEIcUSqKvrss9JjRzt0JR6w0eVSMdeTXEvL04TcZuDqoHQU0ySAokFmMzIBEAkZAoIG0gRIABr85dV8Pl/DUq9ZTUoJABMmTDBN86WXXurevfvGjRu3bNkyceLEl19+eeTIkdXV1YyxkpKSAwcOJBKJ5OTk9u3bz5kzZ+PGjdOnT68LcDfddNPkyZN79Ohx5MiRpUuX9u/fv23bthkZGc8888yll17arFmzhx9+ePLkyTt27Bg+fPhFF100b948zvkLL7xw/Pjxv//977169Vq4cOGMGTNc1z18+HBBQcGUKVMmT55cXV19++23r1u37plnnnnqqafqCm7cuPEpaor8/Py6F/F4fOHCha1bt77gggtO0Wc1UERUUlg47Zlneg0YcLpr8X0/RCA1Cgskp5MekuAZKqURM0naSLWilutqAYFGgfSWHVqEM5OJk9YKkYgQNGqpqmNUYlfXQkU7J82NGBUONLKiKRzs2uPH9+4WyQnBwlo7SnEXpSt1gEgrcFE7mtme5boaPMUkcAMZQQAQEVjdsCcCEBIBCEauP63Y5/M1JPXdr1ZWVlZdXd2kSZNu3bqdeeaZR48e7datW92ia5ZlrVy5sm3btm+//Xbv3r23bt26atWqd955Z9y4cUKI48ePn3nmmddff/1ll12mlELEukkDWut9+/YVFBQ88sgjGzZsOHHixODBg7dv396uXbuPPvpo5MiRSqloNFpRUVFaWnr77bcfPXp0+vTpFRUV77333ogRI7Kzs996662lS5eOHDly7ty5X3zxxcGDB+tWzT2l6vYDTSQSc+bMGTt2bJs2bX7ARRbPn79myZIfu7TTz7Vt0towzYcWLOjUs+fpLsf3/REwU7vCO1LLqhzRxhJRGTqSYKRdg9fEVLIbigTTks9sk9E+hwW5RoWEoLUGxpAlpN5+oHarPtQouzri1ZQrY0+hM7B5bqrplscOn6TK9o1NrgKO43oapKGYBwrAQ+aRAopIO4BKgyvJ5RIBiQwmEIGRBvhyQgEhEJHyn1fz+XwNSr1mNSGE67qWZc2dO3fYsGGff/75wIEDCwsLb7jhhjlz5ixfvvyqq67auHHj2LFjy8vLzz///EmTJq1du9Y0zbon7hOJhGmaQ4cOff311wGgoqKif//+J0+efPvtt/v37x+LxZYsWfLkk09Go9GVK1f26tXr5ZdfvvTSS/fu3ZtIJDZv3nzFFVfU1tZmZGRUVVWtW7duwoQJQoh//OMfI0eOHDx4cK9evXbs2DF69Og///nPXx8GPUUcxzlw4MAbb7wxceLEJk2a/Ltv55wjYsGRIwX/fSz1Z8MKBu956qnOZ511ugvx/RsIOXhmosCjk15SDjOyFCuP80QczGBCo1eUxFijzFatzCbN0BRKOVxyBNQegIGAtCe/cuEHR5zcQ0mCF6v456XyZEyqiKoNJEqrD1NUpoaFllxKUIAcSSlyOeMcGbmmGzaVxRmAR1qRp1Td+rdAhBqBAwEoBEVEROrnt75ap06g1Okuwvd/mGme7gp+5uq7X23r1q3RaPQ3v/nNG2+80ahRo969excWFj777LOfffbZnj17evToceaZZz7zzDN33HFHPB5njF100UW2bU+bNu3CCy986KGH2rVrFwqFpk6dum7duq1bt3br1i0jIwMRu3Tpcvnlly9durTuEbdLLrkEEcePH3/nnXeef/75hw4dcl23qKgoKysrkUhorXv16lVSUlJeXu553nnnnffoo4+eOHEiOzt7w4YNEyZM+OSTT4YOHXpK2+Gll15q2rTp448/HvxBm6//4te/Hj5+/I9e1U8HIoaTkk53Fb5/EyGVgqyQ4QwrkOmJWIJiGgKKgkGn3BE1abqFldykjWeEZMJ2JbFokIFWLrIAxGuqVqw9eDBv/wUtT6Y5Qa0xVlTbzBVWTGm3WlWfaBp2osxwbVcRI2GiVkppjwmDe6YkS0WD3BQmE4yYqZRGxlAhCU1IWLceriZNgECg6Wf3wJq/g7DP97NWr1mtoKCgcePGBQUFiUSiXbt2Bw8efOWVV8aOHcs5j8ViXbt2XblyZVpaWvv27ffs2dOuXbudO3f+4x//GDRo0BNPPPGPf/zjuuuu69mz52OPPXb//fdv3rz59ttvf+KJJ6LRaHp6+h//+MfBgwc//vjjY8eOXbBgwYABA/r37z937twBAwYcOXKkadOm77//ft0GoyUlJe+9996VV15p23a3bt2OHTv20ksvLVu2bNSoUVprrfWf//zn2267bc+ePR07djx1TXHNNdeMGjXqB89EMy3LtKwftyTfT1qD2GXLA0iwUJYRQs1PxEmTMqWKILMIgk5aEx5olqNFVMfjEKtSPCIjDDSRQuXZJ47nVZXtHtHleOfGsSaROHpWTyMeArR4tZGwI/GqkMFdKRxbSgxpYijB80ByCUwyjzFlYRJKTeFk5FEJiAioFRGBqutgAwBAIGIIP7+o5vP5ft7qdS1cACgvLyci0zTbt2//yCOPnHnmmfv379+3b98nn3zSu3fvWCxWW1vbo0ePVatWHTt2zDTNJk2avPXWW7fddlt1dfWYMWOKioqaNWvmOM6UKVM2b97cvXv3Fi1aXHrppXfdddekSZOaNm169tlnX3311UTUvXt3rXW/fv0OHz48YMCAp59+uk2bNlrr6urqcePGzZw58+jRoydPniwpKcnPz8/Ly3v//fcR8dChQ7/97W8ZY6c0qAHA6NGj/SUDfD87jKVYoVTG82soPyYrXZdsz+BoSSMLM5tHcprkKEm8phLjUouQBOYh86SsKiu3a3f1O+PIZd2KuzZyWidXt0jzzshwc5rFQ4EyK1ElHBeYcIhLN+BS0HWltIEkZ1oLD8DhHqcqcIuLPSOJHKE4KNSgtNaMNIKGL/fBQCIgAtYgkq/P5/N9qV6zWpMmTYioT58+nHMp5ZgxY7TWdUtmdOnSZcyYMSdPnvzlL3954sSJbt26bdu27dixYzfeeOPDDz+8cuXKpKSkRYsWrVq16txzzx08eHBeXl4wGNy2bds555xz9OjRv//978XFxcOGDZs4ceLOnTvj8fjOnTs7dOiwatWqrl27vvnmm1JKKaXneampqXv27PnTn/4UCoWEEKZpVlVV9enTJykpaffu3ZzzcDh8zTXX1Gez+Hw/E5xzi4sKm4qrXcexPRmXnkLFhU1WJK1Rs0hyEkFc13pKhVXAdJEQtSeraxIF6Wl7z2pXnpPhpYdlwNKRiBNqZKc1prBJ6PFqZmkjxFjE9sI1LtoJrRMGV8wiQEcoh9voHC6sLiqya7XrkCSJWiMxIgaKAOjLlMYANAD5P5N8Pl+DUq9ZrbS0tGvXrh9//HFpaWlFRcWMGTPi8Xj79u3btm07cODA5s2bT5w4sbq6ukuXLv379w8Gg5WVldddd93KlSvnzp2bnZ2dm5u7Y8eOnTt3jhs3bs2aNWeddVbTpk3j8fi0adNSU1MnTZpUUFAwfPjwwYMH9+zZ84UXXigvL2/VqtW4ceOKi4urqqrS0tLmzJnjed6JEyeee+65Tp06FRQUXH311V27dh02bFhKSkqnTp3qotuNN95Yn83i8/08oEZWrSge04FaV0jXQq0lZzYZjuNkBFMyHGAktW1bjhFyDVQSBHmOLHFYXjhUlh7GgKW51FqAa8aNVBkNm8giDk+iYFIkmuJRSo0XTdhMJkxSliGEAVzFDamE9BKVpZWutl1PMwlKgmaAdbc3AiKCupsdaULQ4Ic1n8/XkNRrVovH44WFhevWrdu8eXNBQcEzzzzToUMHrbXjOJs2bbryyiv37t1r2/abb75ZUVHRtWvXVq1aPfbYY127dh01alSLFi1eeumladOmRSKRsWPHDh8+fMKECePHj8/Ly8vNzc3MzKwbA33rrbfGjh27adOmvn37dunSZf369fPmzevVq5dpmhs3brzwwgs3bdpUVFR0ySWXMMYKCgoOHz78xBNPIOK7776bnZ39yCOPxOPxyy+/fPny5fXZMj7fzwBKAieugpVuyHZMUBFPGAqDngcYCmQFwoaWmhKmFwjWRnhZTHoJStTGE16h9vK0J0w0OYFG7XAgrkIWS5BZA5kOpqVG0wwrucZJcu0AuBZiiAVDAiySpvRM4FygiogYM50oY4bLJEPNkBQAACHV7S8FQKquX035Y6A+n68hqdes1qxZs82bNz/++OM5OTlHjhzZuHFjdnZ2WVnZrFmziMiyrMzMzKuvvlpK+emnn27YsOHAgQOWZR07diwUCoXD4QsvvPDIkSMtW7Y8evRoo0aNhg0bBgAvvPBCZmZmaWlpp06dtmzZct111w0dOnTo0KGvvfZaSUlJWVlZSUlJu3btjh492qVLl7/+9a+RSCQzM3Pnzp3vvPNO06ZNly9f/vTTT//hD3+4++67S0tLly1btnr16vnz53fr1q0+W8bn+zlApQMxadXY4Mqgw8K1PGTEmXZjkaysTM51QJEmSyUFi2zveKEsiTllpRUgC814PtMcAIBpCoBGbgjTZdYJ24rLTA1pQSNTUbKSSehYHCwjFEQWIjeotQGmwKARtlhU266jDc3jNrgM1Zd7f9KXHWtEAKABtCat/eUtfD5fQ1KvWe3w4cNPPfXUzp07u3bt6jjOsmXLVq1axTm/9dZb+/fvn5OTs2rVquXLl69atSo7O/u2225r3bp1mzZtSkpKUlNTW7Ro0aVLl5tvvrl58+azZ8+eMWNGJBKJxWITJkyYPXt28+bN09PTGzdu3LZt29GjR997772///3vzzvvvGg0OnXq1EOHDn300UdHjhx57bXX0tLSLr744muuueb8889v1apV3759Fy1aVFNTo5Tatm3bk08+OXbs2J07d9bW1tZny/h8PwPEFQXjChxJtcyoAQNlKJKfl3CL08PhCJOaEXqCK4udrLAl2aXx2kR1tUUnw15lADSgp00CbqG2tJFcTklxN12r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"}}},{"cell_type":"code","source":"from glob import glob\nfrom PIL import Image\nfrom IPython import display\nimport tensorflow.keras as kr\nimport tensorflow as tf\nimport matplotlib.pyplot as plt\nimport numpy as np\nimport imageio\nimport os","metadata":{"id":"YfIk2es3hJEd","execution":{"iopub.status.busy":"2023-07-05T21:01:53.226592Z","iopub.execute_input":"2023-07-05T21:01:53.227161Z","iopub.status.idle":"2023-07-05T21:01:54.203875Z","shell.execute_reply.started":"2023-07-05T21:01:53.226913Z","shell.execute_reply":"2023-07-05T21:01:54.203063Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"BATCH_SIZE = 128\nLATENT_DIM = 100\nSAMPLE_INTERVAL = 200\nEPOCHS = 10000","metadata":{"id":"xSzYytsVd9Hf","execution":{"iopub.status.busy":"2023-07-05T21:01:54.205578Z","iopub.execute_input":"2023-07-05T21:01:54.206059Z","iopub.status.idle":"2023-07-05T21:01:54.210437Z","shell.execute_reply.started":"2023-07-05T21:01:54.205831Z","shell.execute_reply":"2023-07-05T21:01:54.209450Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"**Utility Functions**","metadata":{"id":"yv6y-Spcd9Hr"}},{"cell_type":"code","source":"def generate_gif(gif_name='mnist_gan.gif', pattern='image*.png'):\n    with imageio.get_writer(gif_name, mode='I') as writer:\n        filenames = glob(pattern)\n        filenames = sorted(filenames)\n        last = -1\n        for i,filename in enumerate(filenames):\n            frame = 2*(i**0.5)\n            if round(frame) > round(last):\n                last = frame\n            else:\n                continue\n            image = imageio.imread(filename)\n            writer.append_data(image)\n            \n        image = imageio.imread(filename)\n        writer.append_data(image)\n\n    # this is a hack to display the gif inside the notebook\n    os.system('cp {} {}.png'.format(gif_name, gif_name))","metadata":{"id":"QqMtD4jpd9Hu","execution":{"iopub.status.busy":"2023-07-05T21:01:54.211828Z","iopub.execute_input":"2023-07-05T21:01:54.212341Z","iopub.status.idle":"2023-07-05T21:01:54.222681Z","shell.execute_reply.started":"2023-07-05T21:01:54.212141Z","shell.execute_reply":"2023-07-05T21:01:54.221070Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"def sample_images(generator, epoch, save=True, name='mnist'):\n    \"\"\" Sample images from generator, plot them and save as png\"\"\"\n\n    noise = np.random.normal(size=(5 * 5, LATENT_DIM))\n    gen_imgs = generator.predict(noise)\n    gen_imgs = 0.5 * gen_imgs + 0.5     # Rescale images 0-1\n\n    fig, axs = plt.subplots(5, 5)\n    c = 0\n    for i in range(5):\n        for j in range(5):\n            axs[i,j].imshow(gen_imgs[c, :,:,0], cmap='gray')\n            axs[i,j].axis('off')\n            c += 1\n            \n    if save:\n        fig.savefig(\"{}_{}.png\".format(name, epoch))\n        plt.close()\n    else:\n        plt.show()","metadata":{"id":"vjZv8b1Ud9H4","execution":{"iopub.status.busy":"2023-07-05T21:01:54.223987Z","iopub.execute_input":"2023-07-05T21:01:54.224497Z","iopub.status.idle":"2023-07-05T21:01:54.232617Z","shell.execute_reply.started":"2023-07-05T21:01:54.224384Z","shell.execute_reply":"2023-07-05T21:01:54.231719Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"### Starting with MNIST\n\nWe are going start with MNIST dataset to train the generator and the discriminator. The generator will generate handwritten digits resembling the MNIST data.","metadata":{"id":"iYn4MdZnKCey"}},{"cell_type":"code","source":"(X, _), (_, _) = kr.datasets.mnist.load_data()\n\nX = X.reshape(X.shape[0], 28, 28, 1).astype('float32')\nX = (X - 127.5) / 127.5 # Normalize the images to [-1, 1]","metadata":{"id":"NFC2ghIdiZYE","execution":{"iopub.status.busy":"2023-07-05T21:01:54.234177Z","iopub.execute_input":"2023-07-05T21:01:54.234604Z","iopub.status.idle":"2023-07-05T21:01:54.907316Z","shell.execute_reply.started":"2023-07-05T21:01:54.234426Z","shell.execute_reply":"2023-07-05T21:01:54.906538Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"### The Generator Model\n\nThe generator will try to create images that are good enough to fool the discriminator. First, we are going to start with a simple model - with Dense layers -.","metadata":{"id":"XoGgYQaQd9IN"}},{"cell_type":"code","source":"def build_generator(output_shape=(28, 28, 1)): \n    model = kr.Sequential(name='generator')\n    \n    model.add(kr.layers.Dense(256, input_shape=(LATENT_DIM, )))\n    model.add(kr.layers.LeakyReLU(alpha=0.2))\n    model.add(kr.layers.BatchNormalization(momentum=0.8))\n\n    model.add(kr.layers.Dense(512))\n    model.add(kr.layers.LeakyReLU(alpha=0.2))\n    model.add(kr.layers.BatchNormalization(momentum=0.8))\n\n    model.add(kr.layers.Dense(1024))\n    model.add(kr.layers.LeakyReLU(alpha=0.2))\n    model.add(kr.layers.BatchNormalization(momentum=0.8))\n\n    model.add(kr.layers.Dense(np.prod(output_shape), activation='tanh'))\n    model.add(kr.layers.Reshape(output_shape))\n\n    return model\n\n\ngenerator = build_generator()\ngenerator.summary()","metadata":{"id":"IUdGOqIAd9IR","outputId":"29b1a52b-6cf0-47bc-a968-e68a767ddc9d","execution":{"iopub.status.busy":"2023-07-05T21:01:54.908810Z","iopub.execute_input":"2023-07-05T21:01:54.909120Z","iopub.status.idle":"2023-07-05T21:01:55.237290Z","shell.execute_reply.started":"2023-07-05T21:01:54.909072Z","shell.execute_reply":"2023-07-05T21:01:55.235696Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"### The Discriminator model\n\nThe discriminator will try to distinguish fake images from real images. ","metadata":{"id":"DUdqzJ8Id9Ic"}},{"cell_type":"code","source":"def build_discriminator(input_shape=(28, 28, 1)):\n    model = kr.Sequential(name='discriminator')\n\n    model.add(kr.layers.Flatten(input_shape=input_shape))\n    model.add(kr.layers.Dense(512))\n    model.add(kr.layers.LeakyReLU(alpha=0.2))\n\n    model.add(kr.layers.Dense(256))\n    model.add(kr.layers.LeakyReLU(alpha=0.2))\n\n    model.add(kr.layers.Dense(1, activation='sigmoid'))\n\n    return model\n\n\ndiscriminator = build_discriminator()\ndiscriminator.summary()","metadata":{"id":"DfIJVffJd9Ie","outputId":"0d72fadf-5b50-407f-a17f-dd6f243e5408","execution":{"iopub.status.busy":"2023-07-05T21:01:55.238610Z","iopub.execute_input":"2023-07-05T21:01:55.238890Z","iopub.status.idle":"2023-07-05T21:01:55.311528Z","shell.execute_reply.started":"2023-07-05T21:01:55.238832Z","shell.execute_reply":"2023-07-05T21:01:55.310256Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"optimizer = kr.optimizers.Adam(0.0002, 0.5)\n\ndiscriminator.compile(loss='binary_crossentropy', optimizer=optimizer,  metrics=['acc'])\ndiscriminator.trainable = False    # For GAN we will only train the generator\n\nz = kr.Input(shape=(LATENT_DIM,)) \nvalid = discriminator(generator(z))\n\nmodel = kr.Model(z, valid)\nmodel.compile(loss='binary_crossentropy', optimizer=optimizer)\nmodel.summary()","metadata":{"id":"KJLdRQNHd9Im","outputId":"d248248e-7d54-4607-fac5-548402d10093","execution":{"iopub.status.busy":"2023-07-05T21:01:55.313509Z","iopub.execute_input":"2023-07-05T21:01:55.313991Z","iopub.status.idle":"2023-07-05T21:01:55.690656Z","shell.execute_reply.started":"2023-07-05T21:01:55.313782Z","shell.execute_reply":"2023-07-05T21:01:55.690001Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"# Adversarial ground truths\nvalid_labels = np.ones((BATCH_SIZE, 1))\nfake_labels = np.zeros((BATCH_SIZE, 1))\n\nfor epoch in range(EPOCHS):\n    noise = np.random.normal(size=(BATCH_SIZE, LATENT_DIM))\n    \n    # Shuffle and batch data \n    imgs = X[np.random.randint(0, X.shape[0], BATCH_SIZE)] \n    \n    loss_real = discriminator.train_on_batch(imgs, valid_labels)\n    loss_fake = discriminator.train_on_batch(generator.predict(noise), fake_labels)\n    d_loss, d_acc = 0.5 * np.add(loss_real, loss_fake)\n    \n    noise = np.random.normal(size=(BATCH_SIZE, LATENT_DIM))\n    g_loss = model.train_on_batch(noise, valid_labels)\n    display.clear_output(wait=True)\n    print (\"Epoch : %d [D loss: %f, acc.: %.2f%%] [G loss: %f]\" % (epoch, d_loss, 100*d_acc, g_loss))\n\n    # If at save interval => save generated image samples\n    if epoch % SAMPLE_INTERVAL == 0:\n        sample_images(generator, epoch, name='../working/mnist')","metadata":{"id":"Z0wn69SWd9I2","outputId":"4dd5d78d-cf54-477e-b34f-19049fd16210","execution":{"iopub.status.busy":"2023-07-05T21:01:55.693811Z","iopub.execute_input":"2023-07-05T21:01:55.694095Z","iopub.status.idle":"2023-07-05T21:06:37.899774Z","shell.execute_reply.started":"2023-07-05T21:01:55.694044Z","shell.execute_reply":"2023-07-05T21:06:37.898991Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"sample_images(generator, None, save=False)","metadata":{"id":"DXh66ULQd9I-","outputId":"1854e940-693e-4f12-8aa1-19b0e825efe0","execution":{"iopub.status.busy":"2023-07-05T21:06:37.901992Z","iopub.execute_input":"2023-07-05T21:06:37.902472Z","iopub.status.idle":"2023-07-05T21:06:39.153895Z","shell.execute_reply.started":"2023-07-05T21:06:37.902418Z","shell.execute_reply":"2023-07-05T21:06:39.152989Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"generate_gif(gif_name='../working/mnist_gan.gif', pattern='../working/mnist*.png')\ndisplay.Image(filename=\"../working/mnist_gan.gif.png\")","metadata":{"id":"IDVQmrpHd9JF","outputId":"5a6f14db-0ec7-4aa2-8596-08d4a167b399","execution":{"iopub.status.busy":"2023-07-05T21:06:39.155448Z","iopub.execute_input":"2023-07-05T21:06:39.155907Z","iopub.status.idle":"2023-07-05T21:06:39.498404Z","shell.execute_reply.started":"2023-07-05T21:06:39.155850Z","shell.execute_reply":"2023-07-05T21:06:39.496117Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"It doesn't look bad for a starter model, does it?.","metadata":{"id":"qKq3agV4d9JM"}},{"cell_type":"markdown","source":"## DC-GAN with Fashion MNIST\n\nNow, let's change our data to Fashion MNIST to generate clothes meanwhile using the Deep Convolutional GAN model.","metadata":{"id":"OqhDxtQvd9JP"}},{"cell_type":"code","source":"(X, _), (_, _) = kr.datasets.fashion_mnist.load_data()\n\nX = X.reshape(X.shape[0], 28, 28, 1).astype('float32')\nX = (X - 127.5) / 127.5 # Normalize the images to [-1, 1]","metadata":{"id":"3es9LJjLd9JS","execution":{"iopub.status.busy":"2023-07-05T21:06:39.499749Z","iopub.execute_input":"2023-07-05T21:06:39.500158Z","iopub.status.idle":"2023-07-05T21:06:40.584125Z","shell.execute_reply.started":"2023-07-05T21:06:39.500092Z","shell.execute_reply":"2023-07-05T21:06:40.583343Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"### The Generator Model","metadata":{"id":"-tEyxE-GMC48"}},{"cell_type":"code","source":"def generator_model():\n    model = kr.Sequential()\n    \n    model.add(kr.layers.Dense(7 * 7 * 128, activation=\"relu\", input_shape=(LATENT_DIM,)))\n    model.add(kr.layers.Reshape((7, 7, 128)))\n    \n    model.add(kr.layers.UpSampling2D())\n    model.add(kr.layers.Conv2D(128, (3, 3), padding='same'))\n    model.add(kr.layers.BatchNormalization(momentum=0.8))\n    model.add(kr.layers.ReLU())\n\n    model.add(kr.layers.UpSampling2D())\n    model.add(kr.layers.Conv2D(64, (3, 3), padding='same'))\n    model.add(kr.layers.BatchNormalization(momentum=0.8))\n    model.add(kr.layers.ReLU())\n\n    model.add(kr.layers.Conv2D(1, (3, 3), padding='same', activation='tanh'))\n  \n    return model\n\n\ngenerator = generator_model()\ngenerator.summary()","metadata":{"id":"6bpTcDqoLWjY","outputId":"9244696e-a710-464d-c867-b46678d7515f","execution":{"iopub.status.busy":"2023-07-05T21:06:40.585715Z","iopub.execute_input":"2023-07-05T21:06:40.586038Z","iopub.status.idle":"2023-07-05T21:06:40.809509Z","shell.execute_reply.started":"2023-07-05T21:06:40.585987Z","shell.execute_reply":"2023-07-05T21:06:40.808338Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"### The Discriminator model\n\nIt's similar to a regular CNN-based image classifier.","metadata":{"id":"D0IKnaCtg6WE"}},{"cell_type":"code","source":"def discriminator_model():\n    model = kr.Sequential()\n    \n    model.add(kr.layers.Conv2D(32, (3, 3), strides=(2, 2), padding='same', input_shape=(28, 28, 1)))\n    model.add(kr.layers.LeakyReLU(alpha=0.2))\n    model.add(kr.layers.Dropout(0.25))\n      \n    model.add(kr.layers.Conv2D(64, (3, 3), strides=(2, 2), padding='same'))\n    # model.add(kr.layers.ZeroPadding2D(padding=((0,1),(0,1))))\n    model.add(kr.layers.BatchNormalization(momentum=0.8))\n    model.add(kr.layers.LeakyReLU(alpha=0.2))\n    model.add(kr.layers.Dropout(0.25))\n    \n    model.add(kr.layers.Conv2D(128, (3, 3), strides=(2, 2), padding='same'))\n    model.add(kr.layers.BatchNormalization(momentum=0.8))\n    model.add(kr.layers.LeakyReLU(alpha=0.2))\n    model.add(kr.layers.Dropout(0.25))\n    \n    model.add(kr.layers.Conv2D(256, (3, 3), strides=(2, 2), padding='same'))\n    model.add(kr.layers.BatchNormalization(momentum=0.8))\n    model.add(kr.layers.LeakyReLU(alpha=0.2))\n    model.add(kr.layers.Dropout(0.25))\n       \n    model.add(kr.layers.Flatten())\n    model.add(kr.layers.Dense(1, activation='sigmoid'))\n     \n    return model\n\n\ndiscriminator = discriminator_model()\ndiscriminator.summary()","metadata":{"id":"dw2tPLmk2pEP","outputId":"eb6caf35-2d08-43f8-e961-613675197eff","execution":{"iopub.status.busy":"2023-07-05T21:06:40.811685Z","iopub.execute_input":"2023-07-05T21:06:40.812311Z","iopub.status.idle":"2023-07-05T21:06:41.165447Z","shell.execute_reply.started":"2023-07-05T21:06:40.812080Z","shell.execute_reply":"2023-07-05T21:06:41.164565Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"**Compile our DC-GAN Model**","metadata":{"id":"Aak4cIMYd9Js"}},{"cell_type":"code","source":"optimizer = kr.optimizers.Adam(0.0002, 0.5)\n\ndiscriminator.compile(loss='binary_crossentropy', optimizer=optimizer,  metrics=['acc'])\ndiscriminator.trainable = False    # For GAN we will only train the generator\n\nz = kr.Input(shape=(LATENT_DIM,)) \nvalid = discriminator(generator(z))\n\nmodel = kr.Model(z, valid)\nmodel.compile(loss='binary_crossentropy', optimizer=optimizer)\nmodel.summary()","metadata":{"id":"kwTx7Csxd9Jv","outputId":"204fd20f-7c22-4bc1-b6ae-e1914dc04add","execution":{"iopub.status.busy":"2023-07-05T21:06:41.169591Z","iopub.execute_input":"2023-07-05T21:06:41.169832Z","iopub.status.idle":"2023-07-05T21:06:41.653117Z","shell.execute_reply.started":"2023-07-05T21:06:41.169783Z","shell.execute_reply":"2023-07-05T21:06:41.652403Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"# Adversarial ground truths\nvalid_labels = np.ones((BATCH_SIZE, 1))\nfake_labels = np.zeros((BATCH_SIZE, 1))\n\nfor epoch in range(EPOCHS):\n    noise = np.random.normal(size=(BATCH_SIZE, LATENT_DIM))\n    \n    # Shuffle and batch data \n    imgs = X[np.random.randint(0, X.shape[0], BATCH_SIZE)] \n    \n    loss_real = discriminator.train_on_batch(imgs, valid_labels)\n    loss_fake = discriminator.train_on_batch(generator.predict(noise), fake_labels)\n    d_loss, d_acc = 0.5 * np.add(loss_real, loss_fake)\n    \n    noise = np.random.normal(size=(BATCH_SIZE, LATENT_DIM))\n    g_loss = model.train_on_batch(noise, valid_labels)\n    display.clear_output(wait=True)\n    print (\"Epoch : %d [D loss: %f, acc.: %.2f%%] [G loss: %f]\" % (epoch, d_loss, 100*d_acc, g_loss))\n\n    # If at save interval => save generated image samples\n    if epoch % SAMPLE_INTERVAL == 0:\n        sample_images(generator, epoch, name='../working/fmnist')","metadata":{"id":"jbp7DEl3d9J3","outputId":"76798198-3aa6-49d0-fd65-c7491fddc0dc","execution":{"iopub.status.busy":"2023-07-05T21:06:41.654610Z","iopub.execute_input":"2023-07-05T21:06:41.654885Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"sample_images(generator, None, save=False, name='../working/fmnist')","metadata":{"id":"BRxBKX30d9J8","outputId":"56055b7f-bba6-4287-bfdf-ef8817d9b2f7","trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"generate_gif(gif_name='../working/fmnist_gan.gif', pattern='../working/fmnist*.png')\ndisplay.Image(filename=\"../working/fmnist_gan.gif.png\")","metadata":{"id":"lvR0CkqSd9KD","outputId":"2bfcea93-ea4e-4755-946f-138160f4b8b3","trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"## End\n\nI would like to mention that training GAN is really hard as they are so sensetive to hyperparameters. Sometimes it is possible that the generation loss will became 0 and discriminator loss will keep increasing. Before starting to train a model of your own, it may save your time to find a proven to be working models. Lastly, don't forget to upvote if you like my kernel!","metadata":{}},{"cell_type":"code","source":"","metadata":{"trusted":true},"execution_count":null,"outputs":[]}]}