From mboxrd@z Thu Jan 1 00:00:00 1970 Content-Type: multipart/mixed; boundary="===============7871622721436132224==" MIME-Version: 1.0 From: kernel test robot Subject: Re: [RFC PATCH 3/4] ext4: factor out write end code of inline file Date: Tue, 06 Jul 2021 15:05:42 +0800 Message-ID: <202107061416.FjoRWiMy-lkp@intel.com> List-Id: To: kbuild@lists.01.org --===============7871622721436132224== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable CC: kbuild-all(a)lists.01.org In-Reply-To: <20210706024210.746788-4-yi.zhang@huawei.com> References: <20210706024210.746788-4-yi.zhang@huawei.com> TO: Zhang Yi Hi Zhang, [FYI, it's a private test report for your RFC patch.] [auto build test WARNING on ext4/dev] [also build test WARNING on v5.13 next-20210701] [If your patch is applied to the wrong git tree, kindly drop us a note. And when submitting patch, we suggest to use '--base' as documented in https://git-scm.com/docs/git-format-patch] url: https://github.com/0day-ci/linux/commits/Zhang-Yi/ext4-improve-dela= lloc-buffer-write-performance/20210706-103431 base: https://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4.git dev :::::: branch date: 5 hours ago :::::: commit date: 5 hours ago config: i386-randconfig-m021-20210705 (attached as .config) compiler: gcc-9 (Debian 9.3.0-22) 9.3.0 If you fix the issue, kindly add following tag as appropriate Reported-by: kernel test robot Reported-by: Dan Carpenter smatch warnings: fs/ext4/inline.c:793 ext4_write_inline_data_end() error: uninitialized symb= ol 'ret'. vim +/ret +793 fs/ext4/inline.c f19d5870cbf72d Tao Ma 2012-12-10 728 = f19d5870cbf72d Tao Ma 2012-12-10 729 int ext4_write_inline_data_en= d(struct inode *inode, loff_t pos, unsigned len, f19d5870cbf72d Tao Ma 2012-12-10 730 unsigned copied, st= ruct page *page) f19d5870cbf72d Tao Ma 2012-12-10 731 { b6bfc15d82616d Zhang Yi 2021-07-06 732 handle_t *handle =3D ext4_jo= urnal_current_handle(); b6bfc15d82616d Zhang Yi 2021-07-06 733 int i_size_changed =3D 0; b6bfc15d82616d Zhang Yi 2021-07-06 734 int no_expand; f19d5870cbf72d Tao Ma 2012-12-10 735 void *kaddr; f19d5870cbf72d Tao Ma 2012-12-10 736 struct ext4_iloc iloc; b6bfc15d82616d Zhang Yi 2021-07-06 737 int ret, ret2; f19d5870cbf72d Tao Ma 2012-12-10 738 = 4dfba1ee616130 Zhang Yi 2021-07-06 739 if (unlikely(copied < len) &= & !PageUptodate(page)) b6bfc15d82616d Zhang Yi 2021-07-06 740 copied =3D 0; f19d5870cbf72d Tao Ma 2012-12-10 741 = b6bfc15d82616d Zhang Yi 2021-07-06 742 if (likely(copied)) { f19d5870cbf72d Tao Ma 2012-12-10 743 ret =3D ext4_get_inode_loc(= inode, &iloc); f19d5870cbf72d Tao Ma 2012-12-10 744 if (ret) { b6bfc15d82616d Zhang Yi 2021-07-06 745 unlock_page(page); b6bfc15d82616d Zhang Yi 2021-07-06 746 put_page(page); f19d5870cbf72d Tao Ma 2012-12-10 747 ext4_std_error(inode->i_sb= , ret); b6bfc15d82616d Zhang Yi 2021-07-06 748 goto out; f19d5870cbf72d Tao Ma 2012-12-10 749 } c755e251357a0c Theodore Ts'o 2017-01-11 750 ext4_write_lock_xattr(inode= , &no_expand); f19d5870cbf72d Tao Ma 2012-12-10 751 BUG_ON(!ext4_has_inline_dat= a(inode)); f19d5870cbf72d Tao Ma 2012-12-10 752 = f19d5870cbf72d Tao Ma 2012-12-10 753 kaddr =3D kmap_atomic(page); 4dfba1ee616130 Zhang Yi 2021-07-06 754 ext4_write_inline_data(inod= e, &iloc, kaddr, pos, copied); f19d5870cbf72d Tao Ma 2012-12-10 755 kunmap_atomic(kaddr); f19d5870cbf72d Tao Ma 2012-12-10 756 SetPageUptodate(page); f19d5870cbf72d Tao Ma 2012-12-10 757 /* clear page dirty so that= writepages wouldn't work for us. */ f19d5870cbf72d Tao Ma 2012-12-10 758 ClearPageDirty(page); f19d5870cbf72d Tao Ma 2012-12-10 759 = c755e251357a0c Theodore Ts'o 2017-01-11 760 ext4_write_unlock_xattr(ino= de, &no_expand); f19d5870cbf72d Tao Ma 2012-12-10 761 brelse(iloc.bh); b6bfc15d82616d Zhang Yi 2021-07-06 762 } b6bfc15d82616d Zhang Yi 2021-07-06 763 = b6bfc15d82616d Zhang Yi 2021-07-06 764 /* b6bfc15d82616d Zhang Yi 2021-07-06 765 * It's important to update = i_size while still holding page lock: b6bfc15d82616d Zhang Yi 2021-07-06 766 * page writeout could other= wise come in and zero beyond i_size. b6bfc15d82616d Zhang Yi 2021-07-06 767 */ b6bfc15d82616d Zhang Yi 2021-07-06 768 i_size_changed =3D ext4_upda= te_inode_size(inode, pos + copied); b6bfc15d82616d Zhang Yi 2021-07-06 769 if (ext4_should_journal_data= (inode)) { b6bfc15d82616d Zhang Yi 2021-07-06 770 ext4_set_inode_state(inode,= EXT4_STATE_JDATA); b6bfc15d82616d Zhang Yi 2021-07-06 771 EXT4_I(inode)->i_datasync_t= id =3D handle->h_transaction->t_tid; b6bfc15d82616d Zhang Yi 2021-07-06 772 } b6bfc15d82616d Zhang Yi 2021-07-06 773 unlock_page(page); b6bfc15d82616d Zhang Yi 2021-07-06 774 put_page(page); b6bfc15d82616d Zhang Yi 2021-07-06 775 = b6bfc15d82616d Zhang Yi 2021-07-06 776 /* b6bfc15d82616d Zhang Yi 2021-07-06 777 * Don't mark the inode dirt= y under page lock. First, it unnecessarily b6bfc15d82616d Zhang Yi 2021-07-06 778 * makes the holding time of= page lock longer. Second, it forces lock b6bfc15d82616d Zhang Yi 2021-07-06 779 * ordering of page lock and= transaction start for journaling b6bfc15d82616d Zhang Yi 2021-07-06 780 * filesystems. b6bfc15d82616d Zhang Yi 2021-07-06 781 */ b6bfc15d82616d Zhang Yi 2021-07-06 782 if (likely(copied) || i_size= _changed) 362eca70b53389 Theodore Ts'o 2018-07-10 783 mark_inode_dirty(inode); b6bfc15d82616d Zhang Yi 2021-07-06 784 out: b6bfc15d82616d Zhang Yi 2021-07-06 785 /* b6bfc15d82616d Zhang Yi 2021-07-06 786 * If we have allocated more= blocks and copied less. We will have b6bfc15d82616d Zhang Yi 2021-07-06 787 * blocks allocated outside = inode->i_size, so truncate them. b6bfc15d82616d Zhang Yi 2021-07-06 788 */ b6bfc15d82616d Zhang Yi 2021-07-06 789 if (pos + len > inode->i_siz= e && ext4_can_truncate(inode)) b6bfc15d82616d Zhang Yi 2021-07-06 790 ext4_orphan_add(handle, ino= de); 4dfba1ee616130 Zhang Yi 2021-07-06 791 = b6bfc15d82616d Zhang Yi 2021-07-06 792 ret2 =3D ext4_journal_stop(h= andle); b6bfc15d82616d Zhang Yi 2021-07-06 @793 if (!ret) b6bfc15d82616d Zhang Yi 2021-07-06 794 ret =3D ret2; b6bfc15d82616d Zhang Yi 2021-07-06 795 if (pos + len > inode->i_siz= e) { b6bfc15d82616d Zhang Yi 2021-07-06 796 ext4_truncate_failed_write(= inode); b6bfc15d82616d Zhang Yi 2021-07-06 797 /* b6bfc15d82616d Zhang Yi 2021-07-06 798 * If truncate failed early= the inode might still be b6bfc15d82616d Zhang Yi 2021-07-06 799 * on the orphan list; we n= eed to make sure the inode b6bfc15d82616d Zhang Yi 2021-07-06 800 * is removed from the orph= an list in that case. b6bfc15d82616d Zhang Yi 2021-07-06 801 */ b6bfc15d82616d Zhang Yi 2021-07-06 802 if (inode->i_nlink) b6bfc15d82616d Zhang Yi 2021-07-06 803 ext4_orphan_del(NULL, inod= e); b6bfc15d82616d Zhang Yi 2021-07-06 804 } b6bfc15d82616d Zhang Yi 2021-07-06 805 return ret ? ret : copied; f19d5870cbf72d Tao Ma 2012-12-10 806 } f19d5870cbf72d Tao Ma 2012-12-10 807 = --- 0-DAY CI Kernel Test Service, Intel Corporation https://lists.01.org/hyperkitty/list/kbuild-all(a)lists.01.org --===============7871622721436132224== Content-Type: application/gzip MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="config.gz" H4sICGns42AAAy5jb25maWcAlDzJdty2svt8RR9nkyziaLB1nfOOFiAIkkiTBA2A3S1teGS57ehc DX4t6d74718VwAEAwY5fFo66qlCYCjWhwJ9/+nlFXl+eHm5e7m5v7u+/r77uH/eHm5f959WXu/v9 /6xSsaqFXrGU67dAXN49vv79+935h4vV+7en529Pfjvcvl+t94fH/f2KPj1+ufv6Cs3vnh5/+vkn KuqM5x2l3YZJxUXdabbTl2++3t7+9sfql3T/6e7mcfXHW2Rzdvar/euN04yrLqf08vsAyidWl3+c nJ+cjLQlqfMRNYKJMizqdmIBoIHs7Pz9ydkAL1MkTbJ0IgVQnNRBnDijpaTuSl6vJw4OsFOaaE49 XAGDIarqcqFFFMFraMoclKiVli3VQqoJyuXHbiuk02/S8jLVvGKdJknJOiWknrC6kIzAdOtMwD9A orAp7NfPq9zs/v3qef/y+m3awUSKNas72EBVNU7HNdcdqzcdkbAqvOL68vxsGmvVcOhbM+X03ZKG dwV0z2SAKQUl5bCsb954U+kUKbUDLMiGdWsma1Z2+TV3huRiEsCcxVHldUXimN31UguxhHgXR1wr jcL086rHOeNd3T2vHp9ecJlneDPqYwQ49mP43fXx1uI4+p2L9pH9jHpgyjLSltpIgbM3A7gQStek Ypdvfnl8etz/+mbqS21JfAnUldrwhkZG0AjFd131sWWtcx5cKDamupyQW6Jp0Q0txj6oFEp1FauE vOqI1oQWkf5axUqeOGqjBQUY7DORwN8gsGtSlgH5BDVnC47p6vn10/P355f9w3S2clYzyak5xY0U iTM9F6UKsXX7lylAFSxlJ5lidRpvRQv3cCAkFRXhtQ9TvIoRdQVnEid55WMzojQTfELDcOq0ZK5O cgdRES1hm2Ap4IiD6opT4TTkBnQkaJlKpCzoU0jK0l518TqfsKohUjEkcnfZ5ZyypM0z5Uvc/vHz 6ulLsCmTORF0rUQLfVoxSoXTo9l3l8ScgO+xxhtS8pRo1pWwZh29omVke42i3sxkaEAbfmzDah1Z XweJWpqklLhKNUZWwc6S9M82SlcJ1bUNDjkQdnvUaNOa4UplzMZgdox867uH/eE5JuLFddcAe5Ea +zfuUS0Qw0FyIgfQIF3qgucFCknff3Q3Z0MYrUiTBfNhAOr+NPtmRg8/Y0NHqmlnxsH0jaNKDHFt 3Ui+GXWhyLLoeP1OJxaNZKxqNCxCzaJ9DAQbUba1JvIqpjItjaMt+0ZUQJsZGM3ujDS9AhVuds0s Emz/7/rm+d+rF1jo1Q1M4vnl5uV5dXN7+/T6+HL3+HVaOXB21kZeCDUdeocWj6UR+xgyUSlqQspA TwNeL2O6zbm7KyiS6Gap2Goo7kxP8XFvUq7QR7Kmut+XH5jneNphhlyJkvQLaNZJ0nal5sKkYVU7 wM3X2QLHicDPju3gzOjITJTHwfAMQLgMhkd/rCOoGahNWQyuJaEBAhnDKpcluniVKzWIqRmoacVy mpTcaJhxUf1FGSVhbf9wZGM9Lo6gLti6jY4SLAX6h3BAC57py7OTaVV5rcHjJhkLaE7PPSXQgjtt HWRawLCNlhz2UN3+tf/8er8/rL7sb15eD/tnA+4nE8F65mFLat0laDqAb1tXpOl0mXRZ2arCMRW5 FG3jzKghObPnkzlmEpwVmgc/uzX8z1NJ5brnF5EZi7DTnBhlhMsuiqEZmBMw6lue6sKTTO02WO6p 4anyvC4Llqnvu/rYDGT52kw8bJeyDacxM9Hj4RT2miJsCYcoi6rQHo8q+Ai64irmjo7DAs/CcUUE XY8oooln7MAVBlcFVFe8u4LRdSNAbtHGgZMUm6yVUtJqYfpw2YONgi1LGSgU8LGiOyNZSRxPDuUF ltU4L9LZevObVMDN+jCOay/TINoCQBBkAaSPrSaRSZdCEkMsYkNN+7DKJcXoI0KbCIEmzdchEEML MGkVv2boOhopELIiNfVjgYBMwR+RLiAAFbIBJxeOtXT0XRhxWJ3C09OLkAa0OWXGxlqNGjpXVDVr GCVYERzmhLVGwAmffeYVGDAOoYp3ZFTOdIXOWe+3LEVauMNzikE1WJfe5Ws9wLn35Sld17QZJVxX jt21p2Xi6E877k0RcO6zNj7IVrOdo87wJ2geZ/ka4XrUiuc1Kd0Uj5mNCzA+sgtQRaBnCY9JLBdd Kz0vhqQbrtiwxI6OB34JkZK7Gn6NJFeVmkM6LyYYoWZZ8ERrvnGkCWXBuDXuFIxBwpTS1DMMqwZv H9SMw5u6uR2IqbyAyqg6A43MHviyNHUNiBVrGEwXRi4GCOPsNpWJCH2BOD3x8g/G5PbZxWZ/+PJ0 eLh5vN2v2H/2j+CPETDGFD0y8PonNyvarR1/tPPepP9gN9NoN5XtZTDYsVOhyjYZzcSkd0TVEPAP 5Dp+OEuSLPDyDnop4mQkga2W4En0Pq4jzYhDM4vOWSfhjItqCYs5BvAfvRyWKtosA3/J+CljQB/V BiLjpXcgjOIzJk65y+6nHAfi3YeL7tyxKyb+H8KRLguUKFC7BszmSFHZpoyK1D1ootVNqztjDPTl m/39l/Oz3zCdPRo59AHBjnaqbRovbQquIl1bf3iGq6o2OG8VunyyBgPJbcx9+eEYnuwuTy/iBIOw /AMfj8xjN+ZCFOlSN+85IDwnxnIlV4Nl6rKUzpuATuOJxMxG6rsVo7LBwAgV1C6CA9GA89I1OYhJ mFVTTFu3zQaPkjkDNsHFgDJKB1hJzKwUrZt39+iMrEbJ7Hh4wmRt805g4hRP3ByNIVGtahgs8QLa +PpmYUjZFS2Y3zKZcTACg7kVTPE5eikDm8qILK8o5r2Ycxqb3MYmJSgZsB9j5NLfDyhSMyuTuIiM 2sSaUZjN4el2//z8dFi9fP9m41cnhunZXAton/qumqpiwQOexYwR3Upm3Vjv4HVVYzJwXvZNlGnG VRH3+pgGs8wXMhvI0YoO+E0yZvWRgu00bAhu8uQyeSyOjgAJQA1hurtRMa2NBKSauPfxh9sJFyrr qoQvtJYpPT873fkrdX7WccnV5YOz4salFxUHnQReN+bZcGQxlVpcgUSDTwF+at56Vyew/mTDpRf+ DDBrfBZGWWzwIJcJCFG3GURoWiZWx+4CwOwF/duEaNNiKg9ks9S92zUNZhPfiHGQQS4oZlAG0iFI H5lU7z5cqF2UP6LiiPdHENoP+TxcVe0ig6sujAGaKEFdgGNecR5nNKKP4+Me8YB9F8euFya2/tcC /EMcTmWrRPyMVizL4DiIOo7d8hrvHejCQHr0ebrAuyQLfHMGtjzfnR7BduWCINAryXeL673hhJ53 8Vs3g1xYO3SgF1qBXxTfPqOdrBVdOJVGAdQ4G0pAPfSpq/cuSXm6jEP3tgGbYHMKqq18JQTS7QPA 7d/RIr94F4LFJlD0vOZVWxn1nIEfVl5dXrh4o2kg2K2U43D16VoMrlnJghQNMALLaHVxPC3SU5jt A/0ZS8X0JKCvY7yLq3xBTkfecJxIK4/SgNtXq4ppEoxhRthW9J9IrgsidjymWouGWVXorJ+BMQj0 0deS2tm71I2sa+PrKHTpwdtJWA6O4mkciZeFM9QQKYSICQAjN2PwL7uMwMHiN5zOgFzMweaWP0IO 8fMcKJkEf92mZvoSBJPtwZvP0OBXfnrQ+kFOKPfw9Hj38nTwriicQLH3ByRpnGjbxRt3QGxhax6m 2GWhA39kJcsJvYJo0Tc53uSbEv9hbupHCzjbCYHuBo/jwzpcHlwNcCBtCnnSPZzCoQP9sdAdns8H f4zGeEelthZ48QaOaRTb497FLHaPu3jnBBebSjUl+DrnXjg8QM/yaCcD+jTuF4BIiyyDsOHy5G96 Yv8LxuCvW0NYoOoaYstzlOZUBX5NBlIPLODYkEhkYFzfZbRReUOxAd5qO9LFS5SMcvD48K64ZZcn /sY0yNtK0OIGNHppp40FgJBQKMz1yHa45fO6QCFC76oaxjmRWgZLLq65sMcblu3lxTtH/LSMK1Oz JDbnsGgZVUWWQhDwl5z8FMu4OxH4CVvYJvFFuu5OT05iInrdnb0/cfkA5NwnDbjE2VwCG7eWZsei twaSqKJLWzfP1hRXiqNOBAGUKMKnvQQ78ZJJs6B4xeR/aA8BeV5D+zPvAPRZgU2qhGcdqxQjMNz7 uOEFWeXZVVemOp5GHhTgkUjTTygUDYoXJitsnIuCNp4Zq62f/rs/rECZ3nzdP+wfXww3Qhu+evqG BYVO7NoH5E5upo/QIzdIA0qteWPSnrFFrDpVMubdqAAMb1oMPN5kS9bM1Ho4u+lA+4q4U3cvPXwe H0owiKX4DVC0XHtdD8kZW77jDGv70dquzjjuHHOWs9TgvP24JssUIgs13pDowI1zcLNfg1k0cg1r JcS6bQJmFSg33ddaYZPGzUQZCMimBgVpJ4cqHFhNyblJ8yCtWcicLegmw62hsls6aJbCXxEDk2zT iQ2TkqfMTRH5vBmN1SG5FIROtt4AEqLBLlwF3SWt1r4SN+AN9B67mDDIjNQBb03SgG9qw2oXZBx9 yUB4lApQk1tPzbIvonlaLiIXG5E8lyAemI94COapC/CSSCwvZIfcKgi8ulSB4sp46d5ejtnHfgEw t9Y2uSTpfLc87LLAzM6mj24oSoyIFXHYwQqIPEANhwtRgEEu23zmQFsRTNRsUYKreB/ZLwlEL4U4 QpbkMl7P1At52mIBHl4KbIkEl6suY0VH02ElDXOOvA/3bwVdcr9XQ5sXC3fmEwnj9Z+Lx8oQYPbX XsP45yBttKPC8Nfo5XswdAT5Rgat7d+ZmsANXk+IBqTXq6eioMdSrPRbIrC+3hj8TXNsPF9pqMJa ZYf9/77uH2+/r55vb+69qGY4tU7vwznOxQZLXjEW1wvosKZnROIxDwNsgxgKqbC1c8++GAPPG+GC KxCQH2+C95ymmuLHm4g6ZTCwaM1KjB5wfUGqe8HqrZVfVRClGKY2SYiHH+fhHmmP4keGHRnuKChf QkFZfT7c/ce7LwUyO3tfJnqYSYKnbBOGDTZgboz2X/DYG3z/YBn5kj5Yl+MY+H8SnBBczlpsu/VF GMFOqHiuzqeJ5zxNam5nPMZKxFbcRCgNYyl4HTZxJHktpr2N46018WcyUXFahHOZkKpaumBo3tlM OAw0DGbt4tXmyvTMH1wp6ly2gd5BYAFy75OySXhR7RmBev7r5rD/PPfH/UF7hfM+ylwIYqUdxAEm tnSl6qOQ/OMw/mi4Edd8o6zzz/d7Xw/63scAMQemJKl3M+whK1a3obIbkZrFn1B4RMM1SNRGWtRw ZeLehk/TGEOsfwyLbP3y6/MAWP0Cjsdq/3L79le7NL1pAm8kF5gMiN/FGHRV2Z9HSFIuGY35NBZN asdjRRD26EMsBx82dOxFPwCndXJ2Amv6seUylonAS+2kdV9D2VtuTCd693UqVnioKMbLk+Db34Xs DbHrZ5U8frVQM/3+/clphHnO3IljArEOD8aVyhJ3+xd20e7w3ePN4fuKPbze3wTnr4/yTcHExGtG 7ztj4BRiUQBEcs1gMLK7w8N/4Yiv0tFGONkbCJJpZdx0LaiIuuAjjQnIxrcmAZPmB5g0y0xYGtPN GZeV8UxtmsFtkFacx5oA3BbCeUl16JzUXUVogRmSWtQmuZT196Qu32zb0ayvpYvKhm4hKlRdJXad 3OqFAjdavfvXbtfVG0mqyCA1Y11S7yCc2brymAuRl2yc9cxJhDGvfmF/v+wfn+8+3e+nreVYxvTl 5nb/60q9fvv2dHiZ5AgnuiHS8WcRwpRb6jLQoOn36scCRFhg7xNmZO3slIOoyG5ETqUuiJF4N1yx bitJ09g6cC/9h3nMUpiXhRhYyahwISEYH9ViYYUhDtkMWKNw4F8C/1IVeyOG1P0bRo+DpPxsnkbw SPo1sdowfM7Xn9//zw4OQ2rNDBrXro0gv0rKbGxfd+JD+3hRYQiNeY2SXHlrzasdxNexnBhilP+S oQd1TTqTUL3/erhZfRlmZd1St8Z+gWBAz5SVp97WGyfrj4UDLWjwa+I/c8FkwGb3/vTMA6mCnHY1 D2Fn7y9CqG5Iq0Z3e6hkuznc/nX3sr/FNOhvn/ffYLxot2de05BMQzfRsZnrsURoXMU/2wpv3xIW E2n7sNgUcuCFQ+Y/qxWNDkuO+g4wERsW0s3Kk+xbqTFr2NYmzYxV6BRzNUHCDq+e8cGu5nWX4CtP p1Ms+4kx56ArMC0cKQVbRxsscopM1WUTm6/BZ21tqwWZlJixqv9k1JcTQ+blLKYHoIZjIcQ6QKIP gnqI561oIy/3FGyp8Rbtm8ZgJU2VnJAak/B9Hf6cAKL4PpW+gLSOVucpWWfk9h24rZbstgXXrH+z 4/LC6jY1Vl6aV3+2RUB3fpZw89Ktm72TVRXeJ/Rvu8PdkSyHU4gJeqxl6+Wq9948OuXGiv7G4fvz xYbFtktgovZ1RYCrOEYjE1qZ4QREGKRj1Vora3AHYEu80u2w0jkiJ5g0w1jNvBixpXqmRYxJpP+h aFn2S+RfIE37OWmJ49hI3XhVtV1OMLfapz7xIiWKxjdeMZJe7uw5sU+v+sKScDC9AunFDu9vA4q+ na0VWMClol0oxOQN7eyT4OFjApHFUIyiz3wE1deoulq4xyxmPU1r3KESxClgPSvUnJS3D5968zC4 XCJaGFdqYd6Jxuay5Rqc2F5sTH3hTPsee4hpj4hAEWzD2n4LrkLwoBJrvBlHi4H1sJE9tuICOKzE D+99zD4aJHSApleGzUGdDBfwjMKBdJLkgGrxRgltEVhDFPZwL0Smcd6gOMS2X52IAjWNzW01v44O 3yvhDk3mDpRhVLP7rUYPt49jff1FSyzSxbADfPzU6UPgNzF43t9tns8QJDBgY4CIOhr3OzafcbLd 2kpMX1bhPsOKkwy+fjSaG+yRBqunh09JyO3OPQSLqLC53d1o8xhqmlwDcnB+Nlym+3Zo9F3AmHrO yDhv1N7uY4/oJZ7zzAZ8Oiqvmllt++SqhTp+9uB6diCWXqH59679Oxc4ccMDF4/MFNKAuTTVftZr pWLz26eb5/3n1b/tC5hvh6cvd/6dAhL1+xPZG4O1Lz5YN7yUH553HGHvrQB+2wdvvezF9ex5yD84 1QMrCXKAz8BcRWfeSil88DNVs/VaIlQb/TsTjAzd7e+RbY2IpXqJwb9ZwiMHJenwKaSll3kDJY8p +x6Jx1mit9Mr/rDxiF/82ExIuPBCMyRbeIPZk6HEbfHJrAIzMr14hSDQyKa32MYnBznVxeWb358/ 3T3+/vD0GUTj0/5NsEf2iXtYIJCU3n01vmZVVOFF5Ue/OH1455qoPAr0stXTo1jNcsl19L1sj+r0 qVc6NBDgw4roQ1V8oN3X3RgHRfrMt4kO2QGoqz7G00amNzzr0YoCsx74sqAhZcjVflVqUFHcL4+1 pTg3h5c7PFgr/f2b+2gExq25dbnTDd57eVUEAhzkkcJL+/mojrYVqeMfMQpJGVMiVnIf0vmFewGS pJk6Nh6TadTRmq2QVHJFuWug+C4+Z3wfMiJijCsw017TAaGJ5DFERWgUrFKh4mPA72WkXK2XUgdY 0Y33XUmELX7TApOXtmIywryFtibhGu1hMp1pFV+HydPN+dGVAsdCBqs8tGwXBG5NZEX+oVvMdR3r Fj9GdfEhzt85x7Eehqub4Bi5h7P6iMk/XwMADDNVXMzA0nu3h0BTJ2a/KyWmr1E4RxVacWGfF6Xg hZoPyTn5Ywe9vkqiD44GfJJ9dC3y/3H2bMtt5Lj+imofTs1WbWp1syI/5IHqZkuM+uZm6+K8dHkS n1nXJHHK9pyd+fsDkH0h2KCU3Yc4aoD3CwiAAEjrG7Rh+czRI+UtkdElyB94bo5Y7MFSzF5EVNnp w5gjM+G7YlOMZ2rnJ6lOXAJkT1CFbxWZZYkHk4hjc5jZi3eG1ex8o5uNTPA/lL1pSConrTGO7JTS Q4rBEtGq4/98/PzH2wPqcTGu4sSYjb8507VReZLVKHQMZcAHddFuE+moUi5v2YIxVgWxIyjQaicr ee1yoEGmtdnjt+eXvybZcOk4NsFkTZuHq5HWahro/IG11hosp20SZ1N3GAY0iqJo9UAYXGvrcgdt s9zAPO7MWcPTLlVrbuVWh1xyWRuu33hBLLnsbTJ0DKh9pzQjcEUBymJs1iuJy5/I23AiVMIX3FCD 2Hi8PBr9mmXc1M1quXEdMjYgnrir2rrXFe0d6UAgNXfX1F3ZGBnVxgmLqw/L6e3KudNihHumKOKC u3fmMkolMA7ovOTAqBsqfF4wreuxgUs3xI+u5BwcNF3oD++HDJ/KkBX0p82BZ/c/aRs/gL31bbX6 eLnSabfd3hmlr1kCqDre8+6Ogxu1cfOytNTqIYbrcVkZnyI/4tVwR4ieS8AMc60E1FbiIjcG/MaP gCFviDYqFneD7nF1dMq5nqCEacawJFxv+v3GevF2OmFDePLHt38/v/yOZkojigP7aS+J1yt+A/ch nC2ETAn9wgtpD0Kz1CnZGfDJhBsi6LpgLZ4S130Hv2DbbgsP5EdrMUDjAJIINsKRSQAsWoNO09H9 KK8lGgFnapO392wJlS52XiNBbnOMgUwLS6MvdU4XmM1mLzkb0K4I6FXk0GSdOQbO8GGnwTV9iksT Qkmy6hVFlo8qbfCbNtzhsLnKXjJpjPMYy9iUTZmXpDD4buJdNAYa75gRtBKVA8ShUKUaQbbmFjw7 nH1EUx9yokrp0w8jNBTBxHXE7lvfON9es8d4o1KqTGfNkXeeHfC86yJwRFBRsVeSmxnb0mOtaOMP cd9Pb9kkxSFkSoO4YYBC68Cu2KH5CJL8lbRtXLt4XaBZpX37XEw/ObQCXK6cfUZU4im9ZSTiHrVR hDHr4dEBMDyZ6ZKcgH6fCtYasU+zw332bQzWZP8N8PtNKpj0R7kVmoHnRwaIbC816+hRKdeYo3QN JXvwvRQ7BqxSOPEKxbUmjvjeRvGWG/kNobYdgwOJ2WHv8JDtAntUYV/+8qFdnR/+9vL4/flvblOy +EaTEIflceUsOvhqiRXqgRO6czucidcd2L2QxsYxQzLfxAEdJa7iFWydwDZZtWTfSw9A1PL7mk8/ jUfsLXy08bClmSpXdMetwptxxZAQUwqQG5ayA0oDP+wnB1izqtgeIDqPQXZq0Oe+vi8lnahxuxBo aTWtxJxIZdpGXWeJl0nG0Oce/LOFdPR6VIyW21WTnmyjg0OEiXaZiMZrrUzZ3C6RDit7shJWQSgb BgvGS9RMsJacuWFHS4zlr7VK7snpaPKC2GMur4CjyUorObnl2xtbXltajpHD2RdHUW8Cib8nUaTi 19FzBu5xickaTDYPOui5qRbeaTwgrmavkypqTap7XjvYyKELbTSz3cPn3+1Nzqh6RsJyi/cKcJql o5rQCfxu4s22KTYfo5wNWWtSdLTXMBJm9SFhdEcmmA5NsnjOJJTDD53spr/Wgp+quYoDNp9eAPtB 6VxzInc6p4OJ3xc8BQ366Fz4GoAiAqYByZqj81lFUm4qFW950cFwPKzN9DEVebOezmckPuAAbbbH imPFnBTZ0WWfYxkR3t5+tyei09M0Ih+u0V4tXFdYvIURJdBQA+7pdlqXnn6s5MlrHNNzEAF4XcK7 ps9vnGaJcuM4g+0K7Fj/vQJJu3RdMVtAN99DOR0i30Xj1ACEHHpcsMEkldhmMg9gdwXpmotC8s/0 z02SFRuV4q0YWzZOGFJlFnmI2Yq3gJLnutnFFbaNXYpuWijmQhsxhYoyy11drCvm1SJcUhzQa8WZ tcqtJSklLvmbJVlQPbTJ0/aHifSqcOJYdamTxYrIDjsyoEYLDCjYuHrcXKHwzXHk3IbGOdrD6QKf ZXE0jEDIhLkAHOoZYN1P4i/molOOpjgJYlFzdTV5xIIzXwPgFhU4Wp0kqIIjOtiilPlRn1QdOXKJ A2yIkH5s9RWEErawkMDY49OiKH2XAnv/06fhstMUgwKgL8MGirtUBvJw+CZRq4HpmTc3TC2uEoQ0 W12QiyOEtVs9wMXlbozzna48Pq2xIwlUOpA/XcDC1SgOeX6Hd1XN83em1khzIkEbj9twl5V7teYg LMsZ085XZ1Sa3zc0hvDmrn/QpVVWTt4eX988HsvUtq+3bAQ9c7RWBYiFRa46H/eW9RqV6SFczagz 4yKrRKwCbmmBeGob1lwrgX5X9JzsYKETYsAby2lY15retnf40H6szntiJpdgLGJHV1hXUmQjm4lE bZqKGvGcVCVTSWuPki2SQMLE2anqEN8fH7+8Tt6eJ78+wmjjldgXvA6btMRz5typthDUqaJ+fGfc VYxevo+4UiV75S4Y+92kkgbEb8EqLw/cPLTobakcrQkunFtPy3hbDnfGZPndMhx+vyJU4jgkw5cf yd7AoBTcfy7HhOCD5qIOR7LcUc/PDoI6jbq+92vosHiFyx80eUKWIXwCwdoq/oBEbB4pP0OOIRhK Puxfhz8I9p0NRO/GJepdnEajxZQ/PrxMkqfHrxgp+tu3P74/fTYS2eQXyPP3yZfH/3v6/Ej86bCs 1i8FWxFoQELZphbUqDl39YTYMr9ZLPwsBngl09yMg7PYsK81N6YWeqG4NgGMOy0uP5fsHFnwpQIX yanKb0YNseCrGdd93xxy+lPz1XPyWsC5J+nWUwlR4lzQucQYe5heeW4xQKNM/RPXPCGRuaZqiVBp cfT81OpdXRRpd46PVmNsmu94cfbnBJomK+3Ykoy/QFDDPasywhcZDLqrcRnaZVwV1GrWII0ZIDMm bXhp91Ue78OJYzTceUbK3JvDycxdrANW6DIjxRiIE++IlGVwlwNQ0GRot/JTia9EwsCETRnwCTUO 0Sw3gxjjmeiPyoULcxOGxouN5qDQdAEPzeERDZJTFcdgqbBKwjihWadbU2XrpEJHA83fYQtJ/7ks P01gKg0OHU/C440pfmpibEJZzfEPm6yL0VNS0m3NJwH2+fn728vzV3wh6MvYmRoHIanh7ywQbA4T 4AuKXKhY2tQzhtnHl9nCS+mMhQSxx0WjZRaeSDRYFrUKeLOaNgjUrfL2nH1H6t0hR9/cMhBKcpRQ RiKcEmSnHASTselq/Pj69Nv3E/qF4jREz/Bj8HMeVJwXklkTqOdfYdaeviL6MVjMhVR2uh++PGJw UIMelgQ+UTeU5Y5kJGIJK9MEXTHDERyBj+/nM8kk6QJJXK25t1LkV2u/kuX3Lz+en777bcU4ssZn jq2eZOyLev3309vnf/3E3tCnVkj0jHJJ+eHSHI71nDahsyISVUyJSBYp9nkqSGjtp9qevPv88PJl 8uvL05ffKFN3j/obXl0sSuVJaIPT8NPn9qyeFL7Vy8F6nexk6nl1O+DWjN55gvVYZyU1ee5gIHQe /Dnr5SyRxyLlFefAxJsa+zAL5mHeD37giK/PsO5ehuYnp87N/tsIZIygYnydzeEnznUl+kqcPg25 jCekPx4s2g3aMErX+TQQXMekjZ3M2471kqYwMRSPvZElEXiNH4SLDVw2o/l+XKkjezHVouWxkt5M Ihztutq8IDqhNx5nIYCJhLFnbZPaF2b7ueif88CnNg51EXiAFtHHQ4ovXBgFsHKFbmBZaQSWSm6J T5/9Ri59BNOpyjDvNx/uesH1sEyNEmaZq9LpaqruxrkjotlEG0H0KzTLL3FXEqISQ4M7X3HqizTe q338HUbKE611F9poFVWTBmKA1LNGlByDZjBnZzCy4ly7lyU7pWFG4KNJS2d872B5N3KjnEsSrVCE wShzni1ootMmi3wyOSj8dmqMc+LV9LKSc7ECclDEPwy0zd0th1/AfVRoX/iNADN8wJFDaFUlPOaw OY8QmftiNXyYLaG7eFaDgf6Ph5dXaj5fo4fpe2Phr0l5GLFltTifWxQp3fULoDG5AVlYhxDuMEK0 1W81KgOqWIutn7tF1xX7AEVt/WRLmEqmWbDOTeD0CygbKgDNoa1n1btZsAATBcK4UdLHocYJ0f3V DxTJeEd0g2/m5AA/ga9C9wL78lb98vD91YYwmqQPf41maZPugUh63fLcw5KaGqHBd8BEJoSpkrjx cN2+0vhCkmPZ2NbmznxRjlZD7zoCNMhqu0e8QSWyf1ZF9s/k68Mr8Dn/evoxDt5nVl2iaO8/ylhG HqlHONBz/43xNr+5DCnKzjGWtBTReeE/2u4l2ABHcI/Wwidq7dzhUwfPk5k24VYWmazZF40xCdLy jcj3jXmatJnRnnjY+UXscjwKasbA5qONXF/uggmNCJzMheESWax90hSZGOZC0DlD6AHEL2/biswD FBnNJzba3gIPD/CGl5MVeR5+/HACRBoduEn18BmDfHtrrsDT5IxjiqY44+W9u/djuRO8jm7m0ygO J8hlbdIEE9T65oYNx26Lx0BuGNQ4SYUmERbN4GTx+9W5KjiLDMSraHe2I0qySb2ZV4Ho9WZQ9uvp 0i/W6/Zm3pgmBWqGbr89fvUrTpfL6TbwtA0OdhR42Aa7YuJ0HivYwtx5bLKDsGkX1CDYXlkL9onk x6//+w7Fr4en749fJlBUywxwYp2pKItubrhQeYjEF3PZyeoRzalStYnroZIQfRgSE7tts/2jXTlf 7Oc3K78GXUpRBYJtGryu5zfeDtRpN2Rk1fNB3Ez1dezvWnx0oS5qjP6Pd0jG0YZigePWrefHbL6m lZkzbp7V49Ba8dPr7++K7+8inLGQMtiMVhFtHWOiDb7jBSdA3WQfZssxtP6wHJbI9dm3NyMgVNJK EdK9PUrpai5zL9QtZS7EqfETkFlUBt1xdzKKoK2/QescdYvfDkhE57WDog5iJzKqBQ8kML4NXmfc ZDCCLAvEtbC/ocBxM/1IyziuJv9j/59PyiibfLPONiw3YJLRJt+h7XB/8vdVXC/Y3ybqAhU5bDwu BADNKTVRUPSuSGN/fZsEG7lpH0qYT2ltiEXPvkunCKbZpgfJvsPXV0F5QQQbEwlPDNptQAgS2epm yZQVuy8vFcREG9j6Q67qgKMVYNE/NK43bviWxDhI1iSCEgD3xeYjAYzCgWBx1n2VwIjEWyTU1apI ustVAmtj+zn37t6bCzaQEn3oNARoqMlAB7XiGK/D7DM2iUq4pwucFObSxZX0O5w4r9fvb1dc3UAv uZns0HlhGj2UmNPnP/L2/rzJYLBBJNMjKlu+PL89f37+So45pQVk5erNS/oKRhsvwq20CyGRH2DJ wAevLGgTJTyhhP6pwJsFXU7UNGuNJ5IqF/Mzz1d0idFK6WKCuNrwLel7cwWvz3w47g5fBe4Bohg4 LTSzieJj4GGDWphl7lvD+uZW14b6Wg8rTQfRHnzHTI5DrCJ0dPj1I4VZWFMFzGU9AwRr2GsS7E7E FczAErGpSGwMC3UEVgOwzhu0vlpUW8mr90nfrPDw9PrZUYB1ExDfzG/OTVy6sR0doFEKuqZGDsoz 2+gI8SHL7g29cw0qNxlGGeT3w07kobcYa5VkZjKYimDQbhdzvZzOiGq3zoCb1pozOJB5lBYaX8nF SPwqomrbXdmolCNzRlUXFSpHcwC3VwaBJ2AVsigvY327ns4F7yin0/ntdEqMQSwsIFSBvKiLSoNg lc5BtOJUHW2KzW72/v3UUS22cNOg26kbgCuLVoubuduGWM9Wa97PEJ/ZKHfsTTUelzCkwFGVi+6m 2vVBCBGJ+NScUSYwRC94mdbdZYXcpdtLVh0n0tk50ZyehfYblig0BuSJ+exm2vOiskSxkLn2sxhY WHPutBqwxPqlBY8fhqP4TJxX6/c3TjhnC79dROcVAz2fl26IYAtWcd2sb3el1Gdi3GGxUs6m0yVL JLw+O4R78342He27Nijwnw+vE/X99e3lD3Qif+3eHHhDLSCWM/mK7PIXIDdPP/CnO5Y1KlDYtvwX 5Y43Rqp0yIrK3oCj+qakvmpG+s4kL5/32CZA94cE9ZlPcbS3cceMNSGT0Y4YBmKIEGhrhAFIQzoD TFLV+hxMsRMbkYtGcBUeMAyrw1QdS5G7/GsL6O5thk3Ywkd1dvoI93jpiYuJYEmfb/J4H6unQMvg VjYdSYImahi+ojFcLQkVm2dyHL0/pqJfDQnJYyD4gFWT9PfEptq2Pvs+3i+wvH7/x+Tt4cfjPyZR /A62B3mioeeI2OdedpVFEu/GPgsnlvVZHCvvHkbfHTEd6E8wjvZjggjVABgQ2B1yg0mL7Za3CDdo E1Pf3ESS0am73ffqTQiKmt0U0IqSyCJCNSnzl5m+RmO47wA8VRstxpUhyhilaDbuq01TlU5TO+WI 17vRaJ1SeeTDeZu1tfOWVrxrqlhEowYCHBgLfQoX1EgSd6EFivQgRu31tgjho3lawbqlG7axoZGL 6ggOEk8QRxiGjKSUAKGl5m35O4+Jtg7HB8b0q4W6S3NTsmxsi04Omgt/hx41k9nidjn5JXl6eTzB v7+PCUeiKokG5+QqtYU1xY6lxz0eGkaYoh6Rh5raJyg0f592sdXOnKHDCz4u3JoEBPxDbAgUzzp1 JLcUeext+oHxQkadxWA3tgdR8TKVvDOR+gNmdyZEBM8Nm9ANMsAGQq+PoYflVRlEHc8hDJpGBGxA N3AgHwI3G9vQ1ZGItG/qNPQLyW4RMMCrD3wDAd4czaRVhQYCF2AfeD/RVi623otDS9IsEEtPVFFo 4Vr3guBSkxhVnKirsM1HYMiBR1mABER4znTB9wLYbsmrMer7clewUbicekQsyloSFW4LMs/y4t67 UsBW0p0h69lixt3Uu5lSEeGFRkSCmWi05tChOCt91lr6ITYl8E/85FjetNbXOpGJT0R/4KLITT98 rmezWVCtUuJqWPAyHr6DdN5uwl7HYWvVHuvFqWHaC0QkrxWJKibuAuHY3HwVXQRVBMen4IcVEQ1w fPtopzjmwC0WF3lBnaLqNDA+dco7nCMi8BYpYEJTf2UN2thCdJdtlkuerkXZ8na6Bi4xsNUhwTaM zM98h6PQuq3Vtsj5DY+FBdSWW5wWaAnPsVg0XniiETivBjFvCqMkH6qa9RYiYxp5j8pucs6u1MnT 2v0SWU1E/HPmhqjDzMpYwHbwlidX9FEdMnZbRzuZasp+taCm5hdhj+bnpUfzK2hAHzkLf7dlqqro 9Uyk17d/8oorWaLqIhDygBSqI9JZn2QyWUyMRkJHthLD5vYHF9/RM5qv87g4u50GrP5jr7xxe2J6 StlwVek1+oNGacTNOE7nvMZbH/LYd40YlyezQyqJNmgj51fbLj8hpSTjbyBNXmqMAgqHKPq/j+jL uKREVHA+k1h4SQ0bIeRNkdTbMZYptpIS41pRlj7AlqHVZJIFuENElncgHwV8chFvtm44yVaJHPoZ zI6jFDVKVpy21OmUfSiO3f697SjRU6vzzS6eNz5hcRKgFB48FmFCp8sgZ7DLNYYVSYLI4PkByMXl nu4O4uS+Oe2g1Hp+cz7zKFSxkUXJrxMET/1004DabstTboAf+a6rcyhLkFdSy2DtV4haplAmKBIi Kn8MqCD3RaWunV6ZqI4yJaOYHVdLhig7+ODKz1BsCSgcjmUZuDo4i9lqHaxO7wNxbvT+/govmUHP RF4QcpelZ1jj/N4H3M1Iue1i9ekiOuGUOd7s0RW71+v1kh8WRN3wR7lFQY38/fxef4JSR1rgwGoa UfY8mq8/rgLndR6d50vA8mgY7fewdn5mDcuM3+/ZfUVef8Xv2TSwBBIp0vxKdbmo28qGs9eCeBZN rxfr+ZXjBn6iUQOhvnoe2BTHcyDMsltcVeRFxtP6nLbdOAX+Z4fuenFL6F9rehFgUef76ysnP6qY ymjm+ZU4tInTMvqJdhZ70lW8UwyRUKiIjeHslNZGGZb5VuXeha4wb8SyBd9LdAFK1BVxs5S5xheV 2Bm7S4utItzeXSqApPJyz10alKOgzLPMmxD6jg0E5DbkgDdGGZER7yLxHo6/YGyFDu/HVnAS4OVh iImosqvTXMVkbKrVdHllv1USNSGEDxYBddx6trgNBDJEVF3wm7Raz1a31xoBy0jQ+5Nd8NiqxPEK e4cKCBI0Y0BpkQE7TxxJNHIT1wUlLd23Fl0EPgqSwD/CIuuARlZjtApcO1e2AXChglLB6HY+XXCG wiQXHUWlbwMHCqBmt1cWh840WU86i25n/FaTpQpKGiZbIB9WcRm5vHZk6CJCj5EzveQAah6KR4A4 tKRn37ZxC67NgUqKrTMUUK4vlgOVH0RZ3mcyYPWHCzLgAB5hDKY8cJ6qw5VG3OdFqelDxfEpas7p dQVJLXeHmpwZFnIlF82hmlgcFYYxCRI1J02Q963xrWZgEP+fsS9rjhtX0v0reps7EdP3cF8e+oFF sqpocRPBWuQXho6tc1oxtuWQ5Jnu++svEgBJLAlWP9iS8ktiXxKJRCa4OiUWJ6uCB8e0+wqz3Gd1 x6V/TgNEOselDoqeIWReNWJmJlKyl+pzq969ccp0CW1zZWHwbx3MufmNnLgwyIG2riub93vOk103 +kTw1DXtcxvPvigshhBVb3MtBK5cdq5Nz0N7t67w8x6X7kE4T9PQosSE0YPEKBCP0wn2CGN5Nm+g UqlqS7C4vsfpRPuA5XR8ff/47f3l6/MdOIqazR+A6/n5q/CsBcjs6Sz7+vTz4/nNvF+98E1B+mu9 rmn4Po5h41Hd4I8bnlEoGtrkVDXRRvbWL0OSAh1BZ40jAs16Bws0kEo544EVgsUQvh8q0qBW63Ki 6xkdA0sqiFvbVD7hIfCQCfUihi0yFwaSCgfkUAcyfbTwf34sMoJD7CKobFUV7gVdJCVHmuK+0uK0 c5/dl7VFXbNyZWMSDXvPx5cAibGhXMGn4CZfnnu293BytsU+9izaADmxLPHc20XLB8/BFyGJ63gh Fb6nXy62i/XmCleE+Hp7+lSN5DSV+Ht04d7SpifktgtagaRlefGnpZjFFuiueZavTc7N1O9q5fgw 08wlhtuR/Pj568NqeMZc/63psz+5m0DFfhCo+z3EqgInTXhXMCYeJOve9lyGMzUZxNLTmZaH19+e 6D7x8oOux/960jwZiO+7Eyk1z50ay6fucZuhPN/C7Y1pe8zGv7wvH3ed5tVlptGJgW/vEkMfhgn+ FkFjSm8wgfNp3H595Rnvd3hBH0bXCfGpqfDEN3k816KBW3jyuiex7UyycBXCW+wQJeE2Z31/b3kr sbDw27ptHvB7eZuDuWYtb2Q35lkUuLiaSmZKAvdG1/O5c6P+TeJ7+LKm8Pg3eJrsGvvhjWHW5Ph6 sDL0g+tZtL8zD2nPZOovgxbLyWSsmht1pwz05K4HhTL52vIyWuyIFh7wuAxK8hsVFCqOG0Olq4t9 BVoW8GB0K8Wxu2SX7EYVCFtriM217sp3am/OB1owltatHJveckGztP8DiSxWEWu70pUfv5uX5oJP F7gb6YyNN43dKT/e7O3reLMF8qynS9CNHHc5LmKsg32EqKgVdtiX9q51w2V/Tj3xENKU1T3B6LvH AiODqpb+7HsMJI9t1o/KIywEnEijeFFaWfJHzVGVlG+1L3ddd49hLLoge9Wi3IQseFmDZKy/TDYL WMJBpcKHp5QbGwwV6vNiYdpD0EDd4G2Fzw37fTOJuZW0zzcemnIGHg8CCrnBRMdYmMb4/OAc+WPW Ww7lDIdG1Z+IaCxncr1es61ErLufqOsyZLYzWvk0l82mwAZxo3CDEM7CYhHh8rZggJYl+VBaLkXF DKwsy9zQVAH+IOj49PaVOWCr/tHd6S8F1DfByPtljYP9OVWJE3g6kf4vHnOt6g0G5GPi5bHlqMRZ qOBtW+MEQw6rAzKuOVxXO74MaZ8NGa7k46gw69QS1nMmHjwb3UpmyG+kkfW7bYYOLuayHg3AJ05r mGQuGv7UBtWNEnBhz8JyYjxI1oesKdUHejNlagkV4hF6HSiWXjO5bE6uc48LUgvTvkkcjUVo3bAx vFjtY2dEfu764+nt6QuoxoxnteOo2D6dsVUXIp2mydSPj9LOwR8MWol0Cp7oduGFi5uGmgVGA9eA 4DZxebvz/Pby9M10P8FXYR76NlcCtXMg8UIHJdIDNN3jmEcxyQsVwqe90pchNwpDJ5vOGSXZxDyZ fw9qNiwQmcyUc8t7S6GVF2ByKWVP1jJQXrMBR9qB3ZVKoaZldKDdUjXlwoJWiIXTLSznIZkxIz1E Zz5bHN8rVbzMocdQ8GZWw+glieXGS2LrbFoLmYmuMm5iERNlvmaMwji+yUYnSH+sLO9MZMaqPVgM RdXSEcuYbeTIIjLA3ELaGpfKIrEXW6KecT5wKIhYMnPvA68/foN0KIXNVaaFR54fi6SyZke3ktrZ 2OeAC/TgWwxNSSwnO8GwqW8QPFuHOsHCWu4mAz3K4IFm59JmV996kSuzbBbXdi5e4WVB3OKDyWi9 yppb5kgP2PiNk+A4EpgmulMPrQ+Ul3kSUVrtjFrkFhcKAv9k8b4wN+M2fB6TcLsfbi0QpNpXtitw zgGnnephM408b6/bueRuVJF4ew2iC/WuHIrM8uJKcAknopuzjQt4n8bsYDWjUVlvsYEt1C2e5kro fn+DSVyb9uR2cnBou1n8wWJAwuHBYvMpYLCGrvtbeTCuqt3X5fUWaw4mFszBc3WgA7/uNvcI5mJ5 s/ykt7x1XFJoLI+l5kY8l7vTzVbsLptrMx2Sm3lU9a6kgt4Eb2JRMVaT+rQFpMnHQQQsMpePlr8b L2yPPtvpYFkh2u5zZzOyBC9JI2qYILKFd+7cvfTyEeWHC9N2xCQ/BigxJ3tsTex72wWGeDeZb7zX rPqmoufTtqgt4WgpfE/P7Dv52baQ2IDOGBSw7amocL3q6JKj+Hg3Liie707YFPD7530mO3I4Xuhp tC3ke+6FxGLy0iNYU6KodtG9AvxRoUHeZYHvrrVbgUPZFViRmEmLVF8ZgO5Au0EqH92ghxa1mV+Z 2BTFCsUkHqxQzXiPF6q8PrYdGhFnYYEexTIDPfFIFycsv5zOPzn45opcqZxLdwdlSPR9bd/Su/bR YtfSXDLU0bxwt6qGK+vzJPajP/UgZvQ8KShLsnTcNRarsPZs8+wD3iA3nOefdXXOsbe9LMlo7x9L cCsAAxlJbczpv14xgJVGf49dNbNPKmK4QWBUxXJMMOLXhTNaefmUD6GDfQmYIZkjPHTzq1p4Nvwd Q9vTuRvloQxgS3KVMFvCKIWYE7bknw87/YvzCCGShu6KLd5Li4y+/7n3ArO8MyLch9lQHoBszbis c/BAgWRJ5Zn6UdspZho9ZqHboamfkccmHxrDiUoH4BCdB50wTmmgwDUNAzz1EXLes9hoU9cP5QF/ wgww06+Bo0/JpgBGTdf0ckhVRjtS1lKK3wrE5nSd9TvNr28fLz+/Pf9JKwdFZH5ksXJSyW3HtXM0 ybou6UlZzYkmqs3/lQoZGuR6zAPficxU+jxLw8C1AX+aSfVVCzKJCdBmVJMpSpV/3azFF019zfu6 QMfBZmPJuYigJKBMU7PP6kO3q0aTSKs2OxCDlBc9IoRdWLtD2P3dkQbof7y+f9yIsMOTr9zQx2/z FzzCb6kX/LqBN0Uc4rfuAgYPAls4PTpgKnPWkvyNojxL2AJnKGBlkFiufjjYWG43KNhX1RW/E2Lr JnuzYrG3Apw9cqHDHVdFAAupSBim9r6geGQzI+NwGuEnSYDPlcWAi2N0FTaWJVhyTO0uyytnj6DW xeuv94/n73f/hDggwlX4//lOR+C3v+6ev//z+StYfP5DcP32+uM38CH+n9oSws6u+qzjQqul/7Mx 1RYCoEykZvENpUja+gjJrteN1qBnci9R54SKUil56HJ1QQHyfafaFzL6kDdkxF5vsBUYNhZzYRT2 4XpjFCWpDi1z9LbpukDnRQ1bGdN8sNVzKg+eg+mEGdaUZ08tL5dlQ5WonwFn2sTC9okowagbaT63 D8c6gwhwag/Ds2O9tFWDawk5RjeTHvfWx/Cu9+UnwUD79DmIE0etTd3n3r226zCZX98mxii06HM4 HEcWUxwGn6PgiirtGHolaqHEkU9v5c4wmZFBJSgTo1y0zZHuN8sA05CGjuZeo7VGAfor9lIYEO7l VL4XAepQVdp0Gu79q960xM+9wMXeCDD0ODV0+6xLNSFSNWOpJQ6KGLUAZNT/pue8faDXi5PxOwWG n9qomnrvYptw5LF9ONETtTaouZp61zdaz8x3Ezh12uvlQ2M0Svil0eppvqhg1No2K691n16Njhny zJRpyz+pTPzj6RvsD//gMsmTsPG3yCLCJbe1dcesIxM9IhpZdR9/cKFL5CNtQ+oeI+Q31X0eO7La nKzAV3uCO6O0ymL6oEE92TIIdipjkPHti3tN3fiOOakFl/PmNgH+yq1vy1cWkC1vsNgifsknlqVk vuwUF4J5U4oIaqQc8y8SgKsezvktlqaC45DPYnNjmoheeZcFfiRtYdABE4X8S6ExPRa/6KZyUPP0 DmM3X0Vqw/qYeaucxRiDxnUAKjCkfqBMJ+7w8hhjz0f5F01WZJMfO45aWn4iV1MHYehElHDeCyu8 iCiU0NwMunKfm/yds4oJsQglZvIZTtAjZV+ViNORKIH9BDQ9GMWhp6FdJgfeYMTTCHrJ+lElr66T TOJSWW1IYNeQyoiZZSg1VTqA+Z2/Or4uFklLgMzX7XeNuBtdI20I9ldUg7JPs05hFtP6aDFWJwWD KxHb4+yZQzSOpeTMz8v9qe1LWa24IPC498yLJUEQyx2uWJA2163aJIjKcfTnXhsaVILT0/hkcdYO WN3EzlTXvVqguk+SwJ0GOX7H0kLVziQaIxSIhUFlMiD8lucWYJ/rpTdFRAUEAVEtPJi0tp22PIHs N+2rk9bwPfObqmq8WAOwe0+Ly3pg6OgGW7WPanIgLHqB3rtjxefqXzrr5DrOvV7dbsCVVYDRdvM9 NR1GmsiDthRQkdLTy8FpzMxGoc/e+NSEB6PIDydtlFAJMzJqS3I3oSdvRysnyJuk6vY6Vfv4SFc7 PV9+S60xgkxqUKas0L9lNxAmCVk9wV8xyQN9JDBLO0t/MAFWS30RWdUxea1yPWUmxnquw1YUSw6M x3UDbUSxLx26mojIXximey9jYNfndbXfw522dZHDTHwk+Cq8WsikWS6WaWxNURIGSyuS0R/7/oCd eIDnM22/ebooHwPQ9NPhYWt9zhozrBeTRiRtI2bOAz10MoORwKdzvBoh0WjyC/3Ho9HIa8fib7kk miwx1mXkXR29bkxAtW2FejAjEdFXSqCpwFSEmfGDahm7JJP9sNM/FLU3txgmcjzz91lBysjfXsD3 v9xgkASow7Hb4F65D6B/WkXJduwZ+xwhvCdzXqbaHNKhQxec7tyzCyc9EwEy00u8WDPLHI0JT0Df cJei/RviGD99vL6ZWuSxpwV//fLfaIB6Wkk3TJLJuEXh574fT//89nwn3rbDQ8K2HC/dcM+cGUBN yZg1ECzy7uOVfvZ8R09v9Gj4lQWBpedFlvH7/5VaSskQZrrsstws6/KdUOSv9r0ijrUApsPQneT3 HZTObz9MftD+70/0M9UmFVKiv+FZKAA/Tq1FWptTFCYjfuxZnJrNLNfec/DHYAsLlflpf6MRr2aW RjkAz+Rd4yYJplyZGYosAZvWU1+o9QdM2GRi9Wry3vOJk2ykvOzXSLEIHSioPmNhuLqhHGpmoY/N HiHDizoqYTkm0md1k0kKtpku7D7ND7q8rOWARksW8zv5iQgdqP7hpUbKGzpIoUisehtc6CnqLGMd TKA2N5MTNiCHwA6FdijCSsJOgC4qzyosPpKwcUpUADex5Bf53tZwYhyh/eMIu09SORJLkTwMYbcB E97V+eOhPZFJWVZmTA2xvFJ7+8uflcnT93ckGZ4rutJYHJLMdS0HKv9Mu0OQY7cAC1v2OA5ZhS5n +bEchsdzVeLG4cvC8UiPivA4bSMbwzXnUpG6gNiF91vLw27orqNs7LAUMGvbroWvEawssmFP9yws 16Jsz+Vge7o6c5X1/RFMebXSmXxNU41kdxoweWLZqJivYVZWpEAVXYe2G+ETzODB9j3Q91VZYyL7 wlNeKlZKs7HomWGoSGk8MZzxsTrc7KX1IkNflK8Zliac/MKt4Q8MMbb8kwYdSf1D4kSbuyZwJMi6 WfUPgeOmyL7B07QAMQ5EDl31kG2QljvxvGijgMARRY6ZKgApChRNGrmhLbtrvNUeLFU3Qls4SUPf lmoa36pEmgbWj9PbH6PN95CTwNmqzkOx966qcm39Fgz/4EyiPyu2sJKdyarPmTx2E2y7z2MPpyeU H5NyigY6HaMnQYhM1uIaYuQmcUMsmYa91cL4/RAVTOo+gzAj6pGWHQwGetx4f3q/+/ny48vH2zfs FmgRCLl3xK0GPE79HpHJON2yGVMQZHjjZnpZNPbidntrYaE8Q5LFcZoiAs2KBrYMxMdb0tvCFqdb WaDtv8IW3yEII+Zh0SwLKlCtqeA2QCbf38osjTYbN7pR9Qi/YTcZt89bK9/mwWhli2+UK/ubXYK6 MNW5/AwdY8PnbLv2lOFvDfDgRm0CzELG5PI2OjLwt0Bks13BHDvBLWjpbqHZJrpD0OFza/mGHGPP 8W0NBWiEG40ZbNsHe8EWWzx/GWy3Rzaw+Vt74swUxtaqx4llnjIMkQ4E5meW7mNl32rO2Ps7zalb JApdkW0LMjYK02XuIq/bzPaXb8FKBRNl58sFE1BU/zIVPOAmTHQzFQDcQsXbHjWC68bYEmYtAW6n qXH9nbSOdGbf5mp6N8Rtadajw1R1BT3d4M5lZjZMv88NmJ+/vjyNz/+NyBwiiRKi/cIbDVOOtRCn M7KiAb3pFBt/GYJg7ASDvFiNK70icWTxH6WwYGYCK0PiYkoXoHvIlIbSuGjdohjbjoEep6ioTpE0 3iwaLbuHVzxxo+1BASzxrbah4vJtlhvbP2PBzXElltDiVExqDD+N0eXIOjyN03eXH9vskA3IIQ4e FGSICoMEce0i3cYAXHYcm/4cx5uKxfLhVNXVblBCSYE8rVyiCwKLWg6R6qe6aqrx99D1Zo5ur8no zDIUDI7NVKrhQb3N5bp0XYpnKZBHssdWZ/44QbnZWkjT2dWoQouvUYfyoNhkMCLz0OZcZ/v85vn7 69tfd9+ffv58/nrH9HjIOYd9GdPNgBmF2IorTIn0KmZN0eNGchy2WUxL6KKY1j61GB7x2tNPd6DT A0uUq6KrZ/hsAG37HvDrgSy209rXVjNp3k3CuOe7ShXmO0ZFikvWW9MqK90ClJMbo1DgpsOWyn6E H47r4EMHsZ/l8KBaezOisGlWSPWlMKpVdZhrHQaxIBFns10RZxka7Huq2oOP6l0SkRg3Y+YMfZ7g hsoc5lYsegWaK64/EaB14rKLYEu/cQ2hMlJz5l1FTV179qysGVmThYVH17hud9L6QZhqGMsMxCrL 6YJgTVOR6Thp7KfrJXvUSktXrFzWTzMidwmi9wq3nUgwHRjHSZA4jpbUYkOsks/gkrpVvddz4JqE 2MmOgZe8EBaLMpUH4yTaBmAYUXBibS4d8Mpnr9tvLHukdUHlV9Wvbx+/CRT8KmlLrjJlYzdJ9LJX YxLrPZIffVhVtC4hYWg07qVqIfixTiVulAeJcku9VczlGQ2jPv/58+nHV7P4wi+tlldWtL2+xlwm MHLG9inHnOlAt7iL5PML3tWhYZhWODbT7fN9Em6tIGNf5V6CmvPPgzkVd5+SzbHWQnzP3Rc3Wm6o PvOnOcomkaVOGGrEuvdTWSsh2qgokek4XyVbF0GGh0jbsJtm69JRe0ludiDz/GnMVsRLp9rIhBZA Poiv5CTS5yYjp8aWJsieTn5orjRlY5G61JYYPHxuNIlvzK3LqvWfp73Zp+J9Y2X2tbGaWN8Ucllj tLmP4t1W040WNyYTI3sTpEdWiMtgORXMTCXnsigzxI5F92aLiyQ+Ijp4J1brDiaWGA9GSy0mYDda kEqmLnoZNg9r301dffDwBcY1Z0nu+5phidYaFekIbuTPdwy65wUOfprjOXTXUX/TP/sqMSvLant+ efv49fRta7fIDge6v2djp++cTZffn3p5sKKpzd9c3Pls4P72vy/ipchqerdU5eKKVwjMwXSH9/vK VBAvSPDzq5SSRd6Sk3Ev2CuTlUOVV1c6OVRyGyCVkytNvj39j+y68DI/04TwuYrkvSBE8wWh49AC TqgUTQISKwDBKAowZ1wHsMLh+rZPI7ScAHlYTFKZI7GW1Hesqfr4Iqby4BND5cGsZWSO0LnipVOe QaqAiwNJ6QQ2xI2RESNGhqSN6C4lRAwhaOg3jpJT39eK80uZvhHqRWE7XhrUMr0vMs4oLXHiWJcV +bTL4AGKZCnP97QJxpRsUS7IPKXVPUVJRp0mUpySpG+SSL7nBZvUA3gLoMKfEymr6/xRlo9JGoSW QOeCKadyGnZ4XPCL58jaopkOXS3bDsj0xEZ3LXTPTL8uD/ScffaxiiEOFw0essPkqLnVKCqPER7n crB8NCe5e/Diq2rLqEG6w2UL17F4QBqCSp2+1HBzUSndDbEG5fSl4ZgN6DqoliICPUmm/amsp0N2 QqOEzmnSrdqNqYxm5iYQD+sOhtkEkrka8wje6BR6MqBD2ffNNmCD1CTTjBPaaCZQ90nsxThdPijN dKH0MpJno0Lu7yWh0Y/Q2/GVIQ/cyKuxVK9uEMax3JJLX5cje/rOmSKLfwwpJXaM2CgGZ0l9LDNu k9LsMH3YzENHbOCGyLLDgNTBAY9dDBoZAhRbXIpIPKGLGnDJHLTXzU4EIE0sQCQ/3llWgWbnB7G5 9rBpAl3opYGLTfc5YsRGMYeRLr2h2T4k92JfWa7XmclAVHc2f33Kies4Htq6RZqmaJSvdT+A/ULR VbCNbi0k+3M6V4qGkRPF2+EjEtGtffqgki3m7bkl3UCmbFeNp8NpkF+k6ZAyQhe0oE2F1UhiCFzJ GkChJ0h2ReM6yiM6BQjxQgCEqdZUjhQrBgV8FwdcdQmQoNSzxPpaeUbaMLd5cJ8IKoeLF4JCqDW0 whE7WEsCECJ1Po4uxg82xwg3ycVzR7Nw12raZy04UaTHIZtLS857n4xlY3PZKlhc5ybPPmvc8Mj3 1u1WZ4GdUAeKa80g7iNaMeOCxmQZrz227cw4vBDuzyOWuoCmrM6Gxub9nLPm9L+sgm13wK3Ndcae 2Pwoc76C4NqwFXf5rYBOL2swKVQscxeMaek2s63Ce3BcvckDUdGumFp76XswyAz3ZuGY1tjbHzAk 9OOQmMBBdpc3E5vc9ePEhxOEOT32JD+qz3KWtOrQTQh2EJY4PIegjXegsrvN2+vCsTX/ud5ci8os sGN1jFx/q78ruMhiWw9SsSq0+3pehl2pz1k9EdDeI4l/yoOtatEZPrieh07PumrLDBWfFw7pNt78 nIkTWyONc8TmCBGAcPxnAdVXvjKYIusrBzz0CyrxoQsvQJ67PeUYj7fVxIwjQDYIBkR40zPI5ute TCMqMmvaXYTDQ0cFIJETbXUOY5Gt+RUgQoQNAFKkN5maNPaQtueI72CTimKRzUGUwuOjHkJkDjW4 jQSE9pxRqx213Cmyuzd57zvYyj7mURiY/GNPPD+J0OHXDDFdz3Ct1ip95Faf6WIoNRGmklvhGG0E Sr/xGSo8Urot0MTCgOngVjhBWhUCBCLzp0ksZUhulQE1OpdgD0833W6SNPR8RDhnQICMCQ4gKwN3 FIysYgAEHjLH2jHnCuSKjB26HLf5SGftVgWAI8a7lUJx4thcsgse/nJpKwOS+R7SvV2eT32i+q6V MJPIrlRT6VjTq6HiFr6Gu7BFTiNeFFmAODSBXQn2tKWZw67PpoFEDlKrPekn/9H8pNo1U77f90jB qpb0p2GqetIjtakGP/SwtYUCEXrKowB7eIV80ZMwcLC0SB0lVD7DRqsXOlFk2VpjZEMQAJiLnWp2 f4R96ycu0uKwmYS+ahOq7V5bB2W+SWEVpIjnxD667XIM1XOpS3+CTFpAgiCwJZxElki6C09PG2tr R+6bKI6CcUDmw7WkezUyBh/CgHxynSRDNl8y9kWRR8hXdFMKnADbsCkS+lGMSAWnvEgd/JgHkIfa Us4c16IvXSy/z3XkYnOrvzQ2YVy2zrNdayxNMBsYmI2zGwkiXhJ6pke6npKx6UfJ/p8od46Oa8Tt rX4GbEoqL8VmViU9VAUOsklSwHMtQARXHUixG5IHcYMXUWDplsTLmXY+JgyScSRxiObaRBGmRily 10uKBFdvkTjxEuwjCsSY3ovWOkHX0DbzHGRcA13xg7TSfQ/r9DGPMTnv2OQhOjvGpndv7KyMZVsO ZCzb6wtlCSzuoGUWb2v1owyhi6ouz1U25f3ppmaJ8kVJhLoImjlG13PRwXceE89yEzyzXBI/jn3U uaHEkbjIlAcgtQIeqpNg0JZMxRhCrDIcgVUMzMm3k6jphjMi8gKHIuaODssg8uLjfjtpylIe9+j3 7NJ2a9WGq+DZpAP3kL1MO3DZr10kL9h477jy5sXkWNVVtSBNbTmC7yt0CMw8ZMzGCuK3YlebM1PZ lAMtPkR5hFJ1+/3EXtdMDfndMdO0bSQz3u2x0l6GisWJncaBinQbnxcl9wR96M60+GU/XSpSYinK jHtQRJJjZnFuin0CkUFBAZhjSp35AzXttb9kfLOQwADOKtl/NzJaSyTdHPUnbAwAeT+UDzOGX6tR pqqoS4xJsBTlWU4Gq0HZgLxaWRxbzFz6i4X1AgncQdoLAI6418wlIskX+neJnjSNSb/3JZp0r88N MTfb6KEbKrQV54nZl9lg5khObVJhrTY7LdpIEgzR0U+BTuehv1ng+2q4v3RdsdWp3bk0G1X4iDXo oEqPPLOK8EJtZebGyD8+nr+BY66370/oS33mk2UiXT4VI8FKuC6PlNUPnOuN1IAFbw5hLrSZll4w iHC3MRQZz5hDVJSOrqwHxcoYrTor7e7t9enrl9fvW1UBX0ex627kLrwhmf0g3sCYHQdPZ1qC08mg zAhRCWtJWVHH5z+f3mlF3z/efn1n3uk2KjRWrJu3uuZ2etzy9On7+68f/97KjL+u3czMlsrcKLKl 1toyLJOHX0/faKNs9h8zlxhhl0a6bnUFwlJvpBP8CoEwyK/f5B6x5j0nsHh1N7qZvQQ2qPdHOslB 9Xpi16TIsnjJxvxYdKhYSHZUBCCk2ilBjclOWvgoCwEf5AoOtsvHjlmwIV/PqErk0bkAY9FFpS9X 6ctgsxRaMKmWPHQeZEiBgKwx8aLnlYV7wTEynQUaeS2xYj0iQY0mAalM3NspvkQsSRyajK5TTYvn jTQEM+H4XQ7h9K9fP76Ac8U5vrghsDb7Yo5Qtm6qQKMnczQQCoCz3aG0kVAqj+N+6Pk1p5Ia2ACg NzczqD0JZt4/4dELeqnMPspGL4kdLboaQxDf55wOvs/BNXUuj+wVOtZ5kevtQNs1TB3LlQNjKNIw dpvL2VZQZrWnFYVb8in6X6DrL3pXmo1XvRTkHTe//tX6k5ItplkLntg6HHk5vJLxszzv2SrHDous f5k55FVPkl36e3osPIwFt8RcGIwW4DLQZqroxZEA3dCoPjx9u9/5qSUyE2PhuxpzjWRJ+5CNJThJ 1YwHWB/nrq/Zo0pkvZEQDi2QHIN6L7K4jmDwlZZ2oFPYlvLVo/ILycyZcqyiwHNt7q8ERxheGYdk kTZC+A8YKPKiAVRaeCPimpQaF+UeTtlwvwQYQpnrnqZlebkDmBYWzBBz2WjNjyPs+9pk40ws8LuF zh+2f8eKzuDeEs17ZesbzBie4Q8k8ozR8SlrP9NdoysszQE891RQQZ3+AcgMeR1jtHOybYUw7df5 IrWYwqpUzRHrSpUNoVeq/IxtpapWrws9CWzTmJsTx8aUALJnXxsZjt6Pr2iiFXCMlPvMmZbGRpHL du+5WkjeVSr+zMIbYoYwbAFWzaaB1I7XUltGhnI8qZTFEFvedAVtwif/Auv+A1h6jf4kXIG3Xeix Im68eGP4GDqW9y4MzsMxtLj9YPh9YlEWM7QNx8i146TMjZg6MlwFcXSdY7yoX4r7FnvSTejY5CJy /5jQ2ePpjc1tiO3tme2uoeNsllg8KOVns7F5+fL2+vzt+cvH2+uPly/vdwxnx+G3fz1RqdEMdwMM +u7CicbOPR/e/n42mlAJcbXo+VgdweLtvEIbwWm+79MtZiQ536EkVH/fy2nsuYDWwCOEEjlZ2k74 ipaVaD2JXCfEBy9/hmsx5eVgjOmcWTnWJ7xq+Rg9tUsdjMFzcaOQuYa06r59wgmOMLIviyIXzLpl gZWXxgtVeWgsUT2cqprFKYgWXEFgdPeyXJuMlzpwfOvkEC+YkVPFpXa92EeAuvFD39iIxqrZlUOR of7LGQN/vW0Unr2stja5zUMDK8him6iebZYX8KpozskbUvTMocQwWaR+L9BTvDSh7V5vhi3TgMMb W+ylMXdYSgscx6D57hWjmUNI0JEBdGEeTjdaZnmzriyplyDR8x66Y0MPiLHuIF/G6FFmY2daErjN RI+h1+aE3X6JJd/36JTm8Sb+MiEGEL1SsMm4Bvteb+PFN4g6xsbcixzbmzkmhy6aLG3Qzg9ZJlmW Gdjb4B7dabms3LjOZIhScpRmmz5kyUKy3FmV9jNx43XpyrOvriWdqV094rbEK+e5GsZTVsM7B3LS woCsXHBjxC6MFr7NRKkgfoBV9zsK6YK9BkYONgVXJlD8JLLRggqpOiEJK0Jf9c4sYS39gcm3EgvX 9Vi+N4JnmCyaCmZF5rmJQJpoLY0BrrewILKLZQVxZdsJBfFcS5cwDN/HpOGWtaEforuCxpTIlqYr pr7yX+n8tI51dUXq1HfQUQDWdF7soqNA3qCQioB8FmOysMbioWnDe1C0sEyKQTtlEf5MhO/O+IAD MEJdma885rlXxcIkskDawVjHQrQLmbVdYCkvAyN851W5UgeXGDWuEN/kNS6Ln0aNK8W3Nb3aqOMr nSn1rW2aOJ61cSiKPv6TmIQ2TRX+VDxO8NwplKQePuKbvHdpj95szj4M3Bsl7JMktPU/xSLsiCGz PMSphw+tMfLVJ4Qahp8PVCbUR4bKElq2B65Iufl5YtkdMBecBpPplAlj2lWo4yaJI8/oBmgpyKw+ uZXLPrla3kbJTKfPpXub7UxX/JsTn3FZnPRoXJYTp8R1waPSrxzsrnToG1wbq/GB2mizxRnXieym s2L2vjLItrFjd8qPJB/KsqWSqRrwUvqCCtMofQwSxzIPhrE5oxdVKwvxmj6TrbNViLg4FDZJHKG7 yPLK3ERmtRGG1Qd6SLOJgPwgsOs6PfSyhfM8lPvdaY83CmfpL/hzWpmPnTFucrHj1XRu0Ke3EiOt vBNlaGs+JokXoEICg+IWazKwAHcjOfCmgkWeH1mak6tpLL6cdTaLvzyd7cZGyJhce2FDTz2laai2 T9jYUss53mDbFsvNEPfS0QhsRPFmtZppKiyBbZDzw/vtZaXOdtVupzSWVQucCwWxZNJHKW03VvtK dS/SlAXYDVMUHBFpIe8VHoFL52KZTE+ZtRK2fEZ3xXCestPYkbIu83ExBgB/0/Oh9+Ovn7JDLlGm rGH3yXi29JRWd4dpPEsMWqWK6lCN9DS78ljrNmTgAc9Ww2KwZzL71sWy0FiZtyWUTfbBrbbJXJJz VZTdpPiMFq3UMZcENWt64U/u6/NrUL/8+PXn3etP0C1ITcvTOQe1NCNXmqqUkujQjSXtRlU3xRmy 4ryhhuA8XAXRVC3bAttDiQkuLCdmhjLVlDunv0l7KEcvbVeUsokcVltpgK1RV6W20Boc4ZGH6HLV wIjiSuDuXy/fPp7fnr/ePb3TOsAdAvz+cfcfewbcfZc//g/ZqkuMm7zaGJV8PGZF1o+gA/tLpcP9 jnyxCZfNOm3llH3IraNVA+Yk1KcFPBF6JKnYb/gay3jGMgtjS3QRUZQsi2Mnwm625yT29FilnkwY wDXd+OgKasFUkdkOCR1aMAqpZODNqjqDzqYEQm/KppMfCkpfNFldC/fh6gSWDQ056enHl5dv357e /kLsnfhyNo5ZfpyncPbr68srXQi+vIKbyP+6+/n2+uX5/R2i40IQ2+8vfypJ8Dk2nrNTIWtOBLnI 4sA3pjslp3RPMshlFgVuaKwCjC4fyDi5Ib0fOAY5J77vJOZSkZPQR/0RrHDte5lRhfrse05W5Z6v 7H8cPRWZ66MuFjhO99dYflG6Uv3UWOx6LyZNf9W5Sdc+TrtxP3FsNQT+Wx3FQ44VZGGUlwORQZZR aSdBtwXly3WJl1PTF2QR0c1cqWMXfYC84kFiVB7IkROYLS8AkB4200wCfWrNZPhU74MdhLpAiGGk J0KJ8mtYTrwnjis7YhMDtU4iWtgoNlsFFiYXdVsk41djRoBGDqJG6YNV0LGqjec+dFWBVwIsQdIW jtixaGYEx8VL0LiCM5ym8itEiWq0IVBdY20491ffQ9aA7Jp67E5YGpsw+p+UyaGPUtassTHY8qsX 8nVJ3eLRGfD8YyNtz9bXqFGhNENio4qcHOIzwLfEF5I4LAHpVo4QtUWd8dRP0p1RpvskQUblkSSe eASsNN/SVFLzvXyn69X/PIOZ/N2XP15+Gu146osocHw3M1uSQ7qFi5Klmfy6uf2Ds3x5pTx0wYQL MLQEsC7GoXckxqprTYHbkBTD3cevH1QQ05IFYR4emc/dORuDaPx87355//JMt+0fz6+/3u/+eP72 U0pPn31HEvuWJ6JinoRejHq94LBiTysqP4LRdlUI73uzkGEvFS/W0/fntyeawQ+6D4nThLlH9GPV wuml1kfQsQrNlbZqaIsF5ihgdMz7ywqretSVjkZ0XeHUWH4o1Ze94axUP8CositETu3OjpeZ61p3 9qLAmPNADY3sgJqgvAmSHa0kwhtGptzFqIaQwqgxypuYvJHm33/ltoTYlhjsSyLAKVKy2Atds2Sx cum1UKMALVmslcxILECkmO6cJCGmdVrhCOmLNMITS3F3pgsc+4jk051dPwkxQyOxVZIo8pDvmjFt HNS+TsJNYR3IrusaO++Y9o6PkUfHQcmua0hilHx2XKMrGdn30CqcbSENxLI1OL7T56g7Ns7Rdl3r uIzHKE7YdLV+3uIyRuxOENlLg4YiyxtTKuFk1yz/8CkMWnsPkPA+ypD9jtHtojOFgzI/IKIdRcJd tt9orzzHr3o4Wo5JeW8faSTMY7/x5Q0C3wDY3lBTGvbSbJY0wgS9NpgljtjHhKDiksaoz9QVjhJ9 fFFq4sTTOVdepinlYwXcf3t6/8O6ixVwX2mI4GABFyELDqVHemBJkbGazRKcQtvzldQOxI0iZWc2 vpA0AIBlX59+LqEWFJWBgqqagfHUrrq9/Nf7x+v3l//3fDeeubxiaBIY/0SqppdflMkYPfq7aiht DU2U3dcA5Vj2Zrqxa0XTRI5vpIBMfWT7koGWLxtSKWudgo2ec7UUFrDI0gQM862YJx86Ncz1LWV5 GF0lQJuMXXPPkX2oqFjoONbvAivWXGv6oewR1ERjQ9Ut0DwISCIfFhUUpOdIfc1kjALcCFdi2+eO susYmIe3I8MsfSOytnxZBpp3JDVZKqiiT/vkmicJ8zTmIPcAogSnLMX3d3Vyem5oGc/VmLr+1VbM ga7P9luMpW99xx32tjQeGrdwaSsGFtNYnXVHKxygiya6GqkLm6n4ZOvY4e3p5x9gcf/+6+fP17cP eS/KDpjx3fmQTdkghXUTBBiO06E/kd/dSFrvKUgu1Zgfy6HDglqCs4eqP511A+piaJQ/2AFsKnbS M6uVSiqVt+in7HRl7tH5Tc1SHoYyd+YN5j53hUlZ7+GeSM3uviHTsax79epu/Ypm3NDD4tj1Xd0d Hqeh3OMiBXyyZ1c52w42gK/usmKig6GY9tXQXDKLlxNRcVwHCOChbCb2cHmugFYxGwbfkWND/8dQ Qru2mLdFsOcVCo47KvLguzZ8Bdcc+TF2nEhtYH79UbtRoDcwIO21Z9tXmmC3vAZXqKhftsrG9SFD Y8o3kOixqPNCrTUj0VbpLtOpLcphOLXacM1qOjAr0tdycEfW1B2d2ZmiRpEyVis9ZFTAsY+MrCno jLPCbXc6l5kdr1IXO27y8bDDS38+lI3aZWc6dlQKf9r6u3CwkA9jrjUoZwgD36fzJu9ava/F29im ulp8rktMVAZUTIFYnqVQsjH15+7t5eu/nxUxW/qeLh6WNhAMx6KprAXMjazJr3/+hgj20lcHD3tf KTFUfW/JcF+hRi4Sx9CNqntJCSN5VuvTdy4TyfUsz83lsMetPtiq0GQ2X91saBL8Bp7NjUN2wL0g sjEPjnCKy9zuOlKfC6IX9eGKe8sBbNflR/saDIb2EB2zxx51AUOfteXiAad4ef/57emvu/7px/M3 o3sZ65TtxumRnruvVyeKMeduEisUoBwIXf7rUp1CgoGcyPSZijngVqQPp3b0wzCN1FbhrLuunI4V WM56cao4aFN5xjMVfy8nujjUmOpmZabzYsobPCHog82Pl1MP8nFZV0U23Rd+OLo+dpBfWfdlda1a CNPgUkHB22WOh9Wdsj2Ck639oxM7XlBUXpT5ToGxVnU1lvf0R+qrjiUQlooek1zbdBO8bdvVVNLo nTj9nGdYH34qqqkeacGa0lFPECuPeOwyEifE8ao9iNWYNpyTxoVj7I+iZ8qsgNLX4z1N6+i7QXSx Dn7jE1q+Y0Eld0yRLHVu1pATbe66SJ0ALW9NwZ3jhw94fwF8CMLYx9qrBfuoOnGC5FjLmjaJoztn UGA2G1wHH6ISUxTF3vZElJhTx0XnV5O1/5+xJ1mS3Mb1VyrmMOE5TITWXA4+UBKlZJe2EpWZyr4o 2j3ldoW73Y7qcsz47x9BLckFVL1DLwmAFAiSIAGSQM+GsSpJ7sX7K419vAOaklV0GGF3AFGkzmL8 4tc1lCId45D86TQ2PbzCOW4z2/AM/og50QtTaT/GYW8pxIlS/E14U7N0vFwG38u9MKqdancq4rgW i0mkI7eMCUXSVbu9f/TxblCIDm6VP9M2ddKMXSLmShY6unUZe3yX+btsu747LQ1PJHivQroLP3iD 4+TIUaByL4AW9eFAPLFj41Ec0Bw1TfFihLwniyYXFb4jC8oemzEKr5fcL7BJBREO27F8EsOq8/mg Xki2iLgX7i/77Oqh03MlisLeL6nnmCic9aLDxZTi/X7vCMbqot5eNTTaw/HikB7cJCHpEAURecQM XZs03sXkscIE02dwOUYM3Cs/6TkcFJoWLvt4waEXc327+2fSKKx6SlAhS4q20IKFKtjuXN7m3cJ+ vD4NBcGFcGFcWJ7NAPPzGBzx4C93cqHMWipG3NC2Xhynwd7wXMz2jLFNUvlLOpYVFN3ALBhtp3UP AeDYxadZvbWHh2CMTU1Hlta7wDcGdXoS4wQeh4IlGoY6cllvBaiWifl0dClKgmIr+8PRDxK9F+7I 4863NKOOPTvS8UpKsc8SDGTUTVLRgkAjIZx01g7wGKmgY3KIvUs45leHWOpr6XCdgPHc9nUY7ayR Bcbo2PLDDts5rUg0y7d0FDCYmuywC4yaBfDoBYMN1FJITEDYVi5DRaPvT6yGsJfpLhRS870gMvAN P7GEzLeCdsEmdrvsfhN72MKq198kVqyyeRv5xi4KwivWu1h0jp5LfSnSZn7APafxPl3JFgqQ1MMu jIxvqti99sRVw2at+WWt4C5wfR1cMPNVGr1VCkK/k7XO4+qUtYc4stqsIccP+8DH7trLWXtF7fUZ bDrHLI1lqxvDY1K5DeKtzLTS1AydZn9fkwu76AKZgVioWDnvB55j2TtlR3VpW5zNEinrOmFOPtEK 9wjBuyegOw2HMN5jvC4UYBoFesZEFRVGjggbCk3kCGWx0FRMLJThE+ZiX0g62hLDEbugxMIfv/MB 2BuEMfaWSeqz0jdtj/5CA89a2i9JM8hTSEdFwhrAlt68azb8I1MywNHwvqidn2bU1gsZd/s5Pt7q p6oVk5qfXaOmhJXkZjawzzZ8QJ3vCD4hmSzwLHOT28WN4+SCh0eQs2KY3rjASyLKe47tJIQ9Rete +tTHpzPrHg2qkiXw9iGTsR6ns+3XT9+eH37569dfn18fMtMFnCdjWmWQAu5ej4DJRzw3FaT8f3bU S7e9Vippmn68UI68p4HviD85K8tueqCjI9KmvYk6iYUQY6ygScnsIh29jC0baAlZGsbk1utN4DeO fw4Q6OcAoX5u7TlgvOkoK+qR1hkjWIj45YuNmtJHADOaC5NTjHg1bKmAn2h6TvTvVwTi11G9PORY L1lx0tsAdPOJBTc4BX8bNEAoA+2xjD0Yfvv0+p//fnp9xu5qgIylTkWHssC2FXYZHoqVLZdXmb9p 9K7VBUrchFUu9A+2uRJoofHv2koOFfkYyWg2EVsw0TO44pHf570TeSkI+tQcUGI4a6KnOdOnSqTu BaBnC2LwViT4qRaI8dI55NgIawSODbkhSO5n8l2+Q1gQ09X4fA3HCLhOgmnELk4c2zsy9gpcSQ9e vMdVpBzMopOcXb5x9iMbcXMp3wnrQnHcwQEYS/FqWOYc5y5tDnKljdAWjl2RwD/eHGlmBS50LT3w yabJmgbfZwC6F2aGs6G9sB+oexqQDs+qIWe0s9KUdJVYIvAhd62EQRYbY+5a9WCrdY0jHDTMCiqU mJOZQcxI7HoH1K3lioLuOwmFmAi9N5qxjEEgRvoGdbSkuv4P0/mou6MFJPXQFxRI6FYMfRTrOyVo iTttOqwA5KDeD5JjSkZA0tpQUXDsNBU1pnuViN52zfaka0jGT5Say9XpJlYGLDazHOzm+QUAudAq jkAogK726LNm0FMVaQOteRKyXDVANgITvj7DLQH+c2iX5LCiM6yQQBmM34u4n4faZDl2xKOTtQz/ vlgR6tSBmuywpqr0Y9+ZJlpp3B+PVxpnO3mGx87V2Ue9RhqJmNFjnj6OrYzo/vizh1LxktJ2JHkv qKDlYm5wuj6wBjphqklnmDyPng+n7diZa6WwqmWisqYl4S4wRrtOMrkPthu70mJ+A5s8XTxeY3bZ lNCdUD+rRQjWV+Jol0379gwNWm0QlUV7EruYlqsnTK4a3S7X1fJ/t3cWPiownxhXY+rOEP3pt4k0 wwgK+Mrc6VJgZz1AkyfqDRHUQJnSj3z6/PvXly+/vT3880Fo9uXR+v0611wnHEjJh9zwdp2livcM MGWUe14QBb0XGoiKCzu8yD3N2peY/hLG3hOmQAE9+QgGvTbpHVDdfwDssyaIKh12KYogCgMS6eDl 1bQOJRUPd8e8UO8SzbzHnv+Ym22aHBxmexqIShLEWH+s9oUuQTW9w0oxJQyANXazosc+C2Ltifcd N8UN3SzeXpVjiDt4DUCHMda2aMjRO4UMbnEtaYZVzcmJdARvszPuhvL1DGJNeQ7WAIk+QLnTrFHE 0Ro2YygpH5rCBb5DBbfTQw/f0hpU2EG5QtIeIE7eNxQDAeYQjBKjB/moGcnervgSB96+bLGqk2zn e3usc4X5OKR1jRWaI2uijaCZqqPe0URLeektM2zzGaWvImK9aPRfozxQF/vYGkdIExXFpOW5D+bA tDO71s3XpRhvznWmDnRea85QqXZPLLN17Ilp5cRPIS2x9HS3kfcdrYseD24lCDuCX9M4w4fsDoeq 55xGyzaD//n8+eXTV8kZ4qyAEiSCWwYuFkaSdmfc4JJYU3/o2HNHHSnLpBho+chwWxbQcDu4wy3W Cc3Erw18cy4IflEQ0BVJSVluFJc3rd3oWyv2c7iJBnjRd0VTwx0OJwmt+JjjL48kuqRC9brRHx+p m/uCVgnr8DjyEp937qqLsulY4/BgAcGFXUjp2EwDXnAmr4m4CW5usVxJaQR4Nb5Nr/L6ipv9W+e+ Og0ELCUO+1liezfuA0k695jor6w+Efd3H2nNmZjvG6yVqUy36cZTd5+WtG4uroSLEO+7YJszXbpk KtHv7vZXom+6DfYrcrMSVWkEHZ0mhrsGlnYNb3LcDyMpxL6adhtjvzqXPdsef3XvHrzC6Ka4qwew YpcOZ29ihrg7oqU9KW+1W2u2QnPBYujEl6SWt1UcTw9nmhvvtwd628HdTyeaE7bV1PkmkRtPq+3y cF7lzEYrKXpK3GpIYGnJxWpG3VIQDLblhqbqKndHF3CHjfANJT85g8btOcEr0vUfmtsmHz3bmJlC 3XG6MbHhFkPhltMZ9glj63DhSpXKWNVsqLWB1ZWbvY+0azYb9/GWiV3CxjicMhmPJ/2UUd8qlKa/ c3m1iexg1lcl+oZrrRDuFEx7F0dasIWgwZffO3osmiZjA8qZyYCSDhVcmi7e5N0iQTAamzgjrahZ xfQYpcoeeD4hOPI2qxKyzt01o8UXpPaxZaPJk7E5pWyEY7GSzod498004JHYewCGGHF9x3D1AQTn smVj4hhWQCD+W7tsG8AL+0Q0lfDxlGbG1x0lpvSLUmJABE01A8gBvP3t7x8vn8WYKz/9/fyK7Zvr ppUVDillF2cDgHcZahal6Mnp0pjMauV7WnRkbE/4UrfIEEV++Bjt955ddu7rjVYaTSBZQfG1uBfK Ed+EQcGuEcNleuOH0uBxWSuxJ+5Z+qg+EZ0gRq7K52/fX//mby+ff8dCts1FzjUnOQW/67lSH1tD rtIxKRv5nTtHfIJZVp36sdP3H28P6T0iYWaPjfXzPcsrUSve/IXog9zw1GN4cOTWWQi7+IidI9T0 ClNNsZfhlxmd8Q6bIjiiGLlvEhuTpjPQSQeWfU3Bv36F95N1cX/cBztSZIbIgot7BvMGAp6Q3ofH 7PrnSB16QXwkJrg9mxCxNShNGA93WlaJCXoNtGfJU7PSahcGBwwam1Aju8ME6zzPj3w/MuC09OPA Cz3PbFh/7oRBODZVzUwGpXfPpJfAAAOaTZGhEzTv0Ao+Bk7xA9rzB6OuKQC7AeRhGkSDSVrTPjpY 0Gtni6pJhOUwPp0TajEJYdBFM11M6ukmJr4hM1dkt1aAY2c9ZRt7FqsCGMtA/fLgycapOTjuQEv6 Ariz+qk9xJ5dXPfwLUDDCTpPSnqB0CoMd6DcZRc7OxjQu9DqnzmTkTAezqaOMJOVzMDUDyLuHWK7 867Yg2mJuqfGMSZYFhjpFSR4zp/JI/xByCSpPoyPpvStbArT0OT2J8RwHRKGJbmepmdKILC2OWnL ND761six02soYItHmLTx/wxg0wee3e1wBrBDVf0kJh76eRn6R5OhGRFITg3N/PDr99eHX76+/PH7 T/6/5OLfFcnD7Ev46w842EK22Q8/3Y2PfylnRrITwa6rLOarcnCmL1wIxLhwNQ5SF5n9yNL9IRms L3HYPN4cNs3UcTIr3zy3neJsLa3Liyr0I7tj1hxTztFZVIvop3g1cHDYf3/9/JuxSGqzBK5FxAYL XX+I/Vjtx/715csXuzRssAvjJpuKmLJ0bchoJmvE4n5q8H2eRlj1mONZIzlRYQ8nlPTGlmTBI/fy NHzanp3NIakwpJl+jQmjM3OOasiM5kRsdUZ9VEhRv/z59umXr88/Ht4med/nR/38NsWUhnjUv758 efgJuuXt0+uX5zdzcqzC70jN4dapqVKWlsoQ6g4xtKRmqbMNQpVlFD1l1euAcwZzYVuFOccjdowc VMokTcU2kCXwHPamHDJ8+v2vP0EyP75/fX748efz8+ff1DBKDoqlVib+rllC6uzO6h0m1QLkL1d5 NdETY7g1fyclWTZ3y3uUVX9KcceQUGGRQvleRU3aZRVek0LF2oZhVisVa+8oFlFIKc3T7qzcJpYo 65ZQ16cyDJsGEEtktDv4Bxsz2Qka6JT2Db/hwOWQ+x+vb5+9f9xbAiQC3TcnNNtGn67mmwKqL8K4 WcaQADy8LO8sFDUHhGJrkEP1ucGUhAtbLkXAWix+FTqeGZXhVXQ0pEGYI7us3iXgydLaC7GdwFrD aPnjZgRJkvgj5aFdhCS0+XjESgwH/XR7wSRdKgxDbMisZWWiO/tbGYf7alidE2ZMhcY6d9jsVwn3 kc2ugO/2yCdPt+oQqyG7FsS6H7Z4ERup3dGVsuhO485BptK4sobdaZw5w2aSjsdpuA8wThkv/cCR LVqnwdMO6iQ7W3qDgMc2uE3zA9gif9ufkyhv58gkoxKF/x+iHXbtRKM4IH1bRX6vZRDU4OM16+02 JU9h8GgXWXMomxN2SRlslbDTBi8YLszno0fsIrnY9umvdNfOF5PQlcLmThIfHEmJlFocSeMXElqF XoBm1FzquIRaKDoVrnoK7vDDwUP6hscVAszE7D8sChBiHm4qQOjHI6LLJDxy6B2XPopRZRJGCO8S 7tRfrpxjqlrx8Udgq9COe/Qh/r0jI9HXiLBBR6iRf3VdhjRdzJ3ADzAZpu3+aMx5+VCyzuarg2sf gZHx7mKV8TAIUe01YcbTtXKc3+i8vjs4jyk6DAEzfQQZvMNuerEu29R+/fQmzNVv2w1Kq4ZjU1UM gWBTkQsC7QmqCtev3qmL2iEec1Kx8p1FcR+h4zuIPGw+TNlfbQXVP/r7nmDjKDr0WiJQBR4iNQE8 RnYVFa92QRRg8kueooO3tUx1bZzqwRsWDPTx9uSzbwRaJJCmbniHpKUEzTZ3H6jy1p8tj+m5I8Z7 3Q/UDtr1/Y9/C2N0eyASXh2DHbLMZeTC6pShI4oVk599s505L8e8r0ZSEsddnbU/KUc9HBp+vIif Nptw0xlbJBFS2h7DAdnvXrrIx+CkP/qdkI6HrMKA46Q6Yp0xX2HbaNClP8S662xl/Fzv8BMxhWJA s0Quwrog2/BOWJ8kPCCNhKtEdUptRN6L/3k+uqHgfYVmsF61v3ynZtcJp3oRIs2ynbzzGEJ6BO2V pzoMA7ZvgiNHRGMMKaJehnS8oFqE1xdHetSlaDMQRzK2laQP8JczdwJI1Yrw2u+NWBTrRhpG1pZu 24cesjTIzJRYffJQaKu+PvPBUYsUnR5zWxpHHsxPgcF1rWNPEvfLqUwMVmmm6wGgVqj93mcKrlIR +5Uz4bc6HfthpDVJSioP/2TwG3mye5eVKCxICu01NMDWlPVTOa5j4X6GDmny+28CGQuJWK2KTH8u TwYGxGgQNlEHzBLV8AAYJ74/6BGTAOrUFtkV/cqKn3Th6PLsgO6mBnJGsaoYqyyFomr3zNdCBNSR pm0maNqRuL76GJoMzYgqzSU7yhk4KxNKzj3criapdgy+YAZn4+VrFceXKoiyqndXJWZeg63Y1cBH jas6afNZ7Kps2vTklHRbunthSimLM7riqrOiHidopTHF2y4zOZqPQ12jUGrRwBtJm+gNnBC+J/vw PkJ7Vk2EK2TJdSp5SRH4YPabVG6Oxg6sZPVwD/egD4X+cTxx7esASp80KvkM5ATjc6yKqle/fEdh E/IqhWTGcZ6g2nycCdsUW51P/Gz1Qe4ahJ2QBCfG2OJyDNExIZxaUE1Fy0ijrrG/1A13XFy9z6bJ pikgfZ/VyzE+wlVXnhDlgdg0y8uJ81Utp19fnv94w9SyIRPxE5yYmG5Pzrmdb1RWkzM1FQG/Sqh2 oWoujipKiRIL+oXOsS+2yNwvTWeCJcA2Gkh0IjlR0por2wqXXmiKb5c1utTUGUvMH11Sq8DPgxX4 GAKJayGgT1kEKw/yjnXGII2CfHieYutNv0fp1Pf+F+4PBiKjwEOw8pCTAizeSIk1doeNnRgOPwfr +1RYewhPGYOnaOrkO/X+7hF9XSYIA2XVbkknQ620cwDcFTxFluwmvg1w18ghFitaWyKmm0RgnnBX iIFZxmNSiq1BjvCnEmgiVxDWlXSVC1UMZ/Su4SWHBKaiT8/yzpuauQcwYovzlGc60CCpG1lcZU/C cV03oaxHjRJMqoQYoDVpbErKgWZkKECNTo+NHZSkyoYiodtESVrlJR1kTCWbrIIDlm9GewA4HxFh 7RJ7wXFOAquJImmG4myoLaWMGv9ljsxc0VqX5gQ25GmiL1mLbxRmfAIZYx1usJmE1e0Zt1sWzvCg CfBpjeFTA+njRDPs64Yvn1+///j+69vD6e8/n1//fXn48tfzjzfkYZm8na6on+m2ujzyt6Bz29S3 bu99aKmh6OgtOStKIIVY9dr75Qliq3cTPR28S0XPPtLxMRHKKTpskFVkUCk9g7RiPFWGlI5MmlpT cjPYXCBN/KzF3M3gXAzyurW+p+Q4tnBtWu71mI8KIsCyM6n4HSJrQIS4v+1OcfDxLCIqBe4MVynw s62VogqNFpgkpGpL0U2sCTwPpORu7UTZpkG4A0JEXivFLjSrMknFfDw4ThBVCszHsIxEknqKO3uF cn9X+RhcLNA427LM1of4QXWTKaUOuqPrjtlFm6z3wUF1ZihgH2EdwBE2owGBH1qpFNixgIIPBqzq SthaZHMq5mW8PYAJLIms8YMRi3ijEDHWNaO/sxrOYACzwHtMESGnuwFctZg+X/RPm+4CTG4ke/ID 7HR+xteCpB+FKRjbvT7jGhxR6Xd2DJS/w+5n3YlKkrTpPEateUwyDJoRP0D0GSx0GPiMgOXN8qfQ qp3HDtXGRney+JnoEMSR9SEBjBHpAHjc0juP07/a9RhbJeEz3h5TnGiWpyF9i17tFs1uvON7dUt5 B3fNGYLVWSgjCKIKHelAZBQjfGHkS7UUEz3vSQHf0xyaZcnwJyxdL/rXcTGiSXva1OP/sXYtzY3j SPq+v8LHmYidbb4fhz1QJCWxTUo0QanUc1F4bHW1YspWre2K7Zpfv0gAJJFgQvJE7KEeyi+RSIB4 JF6ZJbyl3JTzBWvFe937x+PX8+tX84VO9vR0+nZ6u7ycPtCJTMYXaG7k6cfdihSgiD9Geinz9fHb 5evdx+Xu+fz1/PH4DW6q8UzNHOJEH0P4by/Bsq/J0XMa4H+c//Z8fjs9fYgAyWSefezjTAVBHAPP iDJKsanOrcxUXOLvj0+c7fXpZK2HaQe2iGNLqMbbcpQrb1CE/yNh9vP144/T+9nIJU3IhwECCPSS WsUJeZvTx/9e3v4p6uPnv05v/3lXvXw/PQsdc7LSw9T3dfmflKAa6AdvsDzl6e3rzzvRzKAZV7me QRknYaB/QEHAYaYHovzUWgO2yZc36U7vl29w6fsTX9FjrmfebFG53BIzvlYkeqq2ES48oIW0FaaG k+PM04LqKc9vl/Ozfo10IBnjEbf0sw49AVxWXfmF/znC82GLB4oVOy7bVQauV0l8t6nYb4y15GEz uMdbYj9r/PcxWzWuFwX33HKZPqPCFkUU+UGM3q0oCHwPBc7C6tZx5Inp66YaS0j6k9YZ4mKmNnhg ciOf0Ez5ZrKLlAwhKdIPTH9/E0JdsNEYgsS1JA3I6x2Koc0L3mGCWd13WZLoXtYVmUUFhByfKQ9x RFz97c9AL1s+pc0Ly9au60SEwuAc0EvoAAoai+9Yna9NLFeKLRh8ohxADwm6dHM9L58KjWHyg3ts uWNo0GuWePrdFkXf5a4R4WACbFE9Bo624GljM6QlZvoi7rVvezLWJmyscIsGAjxsdCtIAJsSHV0I ms1TtwCLqvEMGWiMVpsjwoNzt9X8bw3A4PRZz3bAaDc+AyofScxyqrcrirht4WHFHBH+ROZqddkX vb0O5H216ODNFj1iDmUVkRYK83WxwQXPszWHcou8kTUtToJ0sscHpeM+X1cP2h6jiOGsQAv3sWky tH3bVgG5h32oajjNhW+xRIunZVXWBehqvKWYjrZq0uc4Lzj/dn4UO3AOpEtkbVNxiAmQPjxdFpwh CjxXMJM8hySa9mHVqT2lRiPfBuBtb94KyzG17fVxXWcQ4GVgI4Rva74iOWzdGDmoZbtumeUW+Ypn Dc7B8vpeW4DU97AzzBvp/U7bNxsYjy147dfPB+UJiiFkpKmLZMONwfzbZXwGLl66wX2p7vT76e0E 5tkztwO/6odeVc56pBv/EIm6qDMYsZ8TqctYs4JWdrhdbqy4NJjPadYtloGNNxn6oafGw3LdUxoC 9MWCDlQhn4qtUGiF3MBSHI4Flu1MjSU297QGbNG4CXlOpvHkRV7GTkSqBljqoSarowycpR9z2ruU xiju3tXlgZHORw1Glpl74QO6Kptqc0OCvAlEfzavaRnarePE/ksdOYFDlh7uTvB/V3poNqA/bDs+ uOo6cmLNXMdLMt6V68LipkMTPbs7RTHV23y9yWxe1zRGeaH/esVIb5ZU6u1hcyvxPg/pzti0nnr4 RsGLInblg3ayVVQHPutZTnhE/efgjomZNb39whuJLSzqyBCTL0tHOEX7w6BrVt1n9bF3DXLvHvN8 B5+VBgo9powA+KQau+6x2Lem5mq+tegFU3qEroTq1OMq0/2AD9D9dpORdV/hl1wDf/7barObVSkg 686yN6zwDaMu502oRwll1GoPQC0GItn3uD0QulG+9419fISnlpYFxkR0Y9iTBodNdpwm+d6bnRVo 04dHLuPE2a6wWNA03+8WlnQUz23lF9xw1u/+w91R00SASBdJ05hfRVCp680j2BJiHgbroHr9eno9 P92xS/4+v8atwjMd89XwUhxfyptQefeWutBnMHnh4poM0qOtyZQ4NhEHlw73gXkSX2soA9Tzzi/r XHM1RVQO8fnuS3jcqV/uhGBkv7F8NNJoS6w5PZ8f+9M/IYOp0vXxGLZ++tJiOfVejN8azEA+GnM1 rrc9xVk1K/ms9Yq0fVHmn5W3rpY35ZX9+rPiFkWLXt3OOfi0dYNj5RfXVbKfpk1cURzdtEaBK6bc HBs8aWxRFyD57a4xjJ/MyqE+mLXIkqncmF+V5oaL47cKxXlSi0YAqU9uVUjwyKZzK6fE9W2GLIAR /fB1xqXaze3cohsVLjia5Spfrq5yXPmqgmH6ZjRL7F+BRvG2AifUDgDmCV3z1BGDRI3ZV4ZoiNNG QXWLRq4eX75dvvJh9rt62/aub2p/hn2cNlmfdfzv3Hd5TSATT9zCXRUsJysPUL3MgjsLfS6C3vgQ eGzAOijs3TZn8JosSV20vMUMrDiElAmZtQ/HVZ4fEyfRthCB2jQzcsXJWcsYtmtHauS4CSaD5MBx 0zlV8L6Y1MSJ0C0FoNeKTs23Y7JY05LXhaRyg0gXNtJT8hbIBPvac72Jir1DAb1WdEpYIZOlkYuG D6DXik7vCnG5suYtgkd94sAsnEoXU0v/KV0aUKVLI0xVskyyYk6M2m53JH0Qkug9hKlWoanBcnDD wql84ecgMtz3peirgfjTJHoEkQ9I2IEDp9ctuNuDfVAlijpqz1XRVFZ6+oanNpPpuNxmtYsuGlXm JEC3JZhqOYY1j3BRr9cYpNY2DvgG/a6DQ7vAoRoLMDxEjFubrfGhlHKg88//mGU4Iw+VIAGkovqy HLHUjvhAVP0chAoh3X/YJNkLyYpXJXB1t2ED0aOIfoh6/tTeXduR6sjh2TnGqnFtao4cnn4/SWxu t+CKBjZ0q/1sQlkv6QnjHoboQ44eFYj9saWqa56npc5Gq8nY5lDvMEyJZVPuSRMOkvw9c03+Lmbp 7ARcx5Ms9jPL7UaF20L9TbhVI4H6RskEMZxpKsjk6nGCiQIK+oI+c5sY8ltFKG9IiMkLeCOaknpZ nDVM+I1MSTd5ExoQFat7VZiIkUNSzTYnqfSnSS3nPRODZcCeGG5WR2pZmI0MmbV5cChaOb6HS8TW vHWbZYf3T3m7ws6iRmRVbjyAaci3QDu24KnAvS488SG7ssiTT23dNbRvaZSPRprnHH0PXTqxR1OA n0fB6PUTuOiBMmz38FTvBlt5+G2zZUefD1+fZA0sfJgrxAL1Aowc0WezDINPFyQMvM+yZl0Tfa4w sKBi4nvk+i6gQjl9u9OO5MTrStcoPcI8Oxb49OkhtIVqWe1Ls/dK6rHtyMc4YkNRuibd5nBfyNhr 1CGzdyEwQjazeFR6teaEauCrYKYvEGVfIhf1IwsvUSOfOBvVgNDkKppqqMo4Ry9vOLHaH5du7joO A5DuS7tN6FTHDJoLZjEYXDieEzkQQEdC68hCdiNCWZWiu6ZqIPK7omk1yzHiSXx3Rk442fMJNQDw fXsWgCd+TwlcW+Tt/Vn9I7woPTphF1wpawqKOJaElmTa8NvDVXhYsr/gRjy8Y7bOZ/Wqgb1s+nqE fM68v5X56O9FQesvrK02wu+7/jZzpIpHumSOGg8Yurd4oHff5IGn5jQTK5vjLjEODLWtJXb58fZ0 mh9miJdfyIWCpLTddoFP4liXH6sEYg3q1HLfE9RFXRBUkICfAAx3c4z3Z8OZn0lX/nFm5ME3zgiM 9QI+GdrFFZe2y75vOof33BmLYqgOLUz8RpbCPU5kUuHQ1SB1xawUcrSYqSoHiTWz6ypjO9gUlQ5u 5nI3bd7EQwmoxi+90Rz7Pp8nVq6KrlSg+q7F4gC5wxxAd8AhUr1VD/DsYNTUhrf8rpxrBZPkStw5 41/XXjCpWVuxPsvX2LmvwqTvhpruwNxU2ceNeB1e5dR0KyN0tnrsZEliPZWXtCot7s8Hz02zsoqL C8euZVe+AfhesKPCbrj5AX+FvSUoDC1jrcaFvLnB0PQ7eogazO4tr/TrIvqGGqRLVTm8dqvZsNIe 0FPZdeJDV2g6aoU5gnqIR0XEfqRlflVzgEZwzPsrrYxBKM5cbwg5r0tX65Bj21UnqzSZZ7TVr5oN dEQU8T94k27he8E7/tk1NGO4HxNmVb3YapcvoGwNoox3CJu1ZkZIb1ZHHwaS7gtvpyrR9HX5/CQ0 AoCopjbXK0d56QEZukcBcSlgJkHD4WKBLQdVNumRFx9xiCOFSv88MMO0RT4rhhwQOCsZaQZcnDTF wzyVMOYatqI1Ex0Q17JQq0KVIr0FZDjIsyQqj82zqb07vVw+Tt/fLk+k26cSAnjBDRnyVIpILIV+ f3n/Sjiva3n5tHkNfgqHCZo3LUHbMJNLHjOB9387AgQTHR/yTzoj3cb6hTir8HTjvwcfl5cfr89f zm8nzTmVBHhd/IX9fP84vdxtX+/yP87f/wqOxZ/Ov5+f5mHUYT5vm2PBbbxqw1SYWTzdT/CQ+XAS xy6EC0DpVi/PNnu8D6no4nZDxnYddYNY8qwOsDqsNsvtPD3HJn2sEspS1/oFgw0WPzyiIcokCyt9 kpFllRgMizB0ahs4GsA22207Q1ovk0leDIBSba6BNoX3qQuJjuSl+RFly274eou3y+Pz0+WFLtJg rxoX5EGGiAF0wMMCkK0+t1WCUdaYTIxNzYLstKR68r3aof1l+XY6vT89fjvdPVzeqgejDNO++67K c+V6jVCsaLMMNks2bKvefA4P2m5kIcMh/FdzoCsP5ppVm+893Gm0yhK3sPSPOxMmr2dxk/zPPy2Z SHP9oVnpk6skblpUHEKMEF++QjyHu/r8cZKZL36cv0E8h3GgoGJXVX0pug5UXN9t69o0t1Sun5eu AolNVwWI4UTNSGgo6CHw2Z7PeZYpjPegLkMXMoAqzmhUGCYki+UtfRVkAvEHRalnd60mVyJUyUSZ H348fuNt3NIH5Yy+ZewIC3XzBgFYS0dGNWsJs4V2FVOQ6jrPDVJbdGNMcYw8wFONEcFZ80mLjlsn UNZYXEwptID0NrW/5BvGjCFRWTad3qTJmtN7GHEE1nHTFfbbKcPlN5YLTOumgqROFtBgNwHUGa2e zqHE4eMejZ08bpxgmxL0MZDGEJEnuRruWCRHN0VTR0wanJAVkMa2DMkTGok324X0xEakCyynSxqH 5VB6YrheEv0YUqPmZPmC0iXJ+PxRAxakQ/VhnbHqluT6o9rKkYhegw5ctJmEZm4ilLGGDu4a99u6 z1YlH/V3bW3aBILJp5hQTpbA0juxozK3XsQYeTh/O7+ac+A4DlDoGFfnUzbwuG4Tj8mWXfkwWEjq 593qwhlfL/rQrKDjars/sgpcRhy3m6JsIEjPT4qJj6Ow1syQN2TEAMYRy/ba6z8dhjA+rM2sqTPG 5OkN0nxm5/PV7XCupF72qQJrOFgvOviig3JnbpZuqrxjuYeYTjMtBXnIe7PN2xssbdvsbCxj4y6W 2hxXHvpcnJ9J2+bPj6fLq1oWzStCMh8zvjL+NcOhTgfo0HoJ7Z9DcSxZlgbkJSLFgKMzKqJyVbvp /SDVtmUU2mQHNwjjeJaMA74fojlgQkRUvWuqWp8UDXi/CV18nUYhctKGuy3gTswuoeuTNPazmd6s CUPdTZQiDxGAZxXAAT5O8L99D18S5Gt8MuxOpddxBY7qdsulsYs6Uo85tUDRcORiBtOVB2cKhcCv fBWxa/QIfYDfw6Na4MJkFUaMr/OUsgiV/10yMo1m60tWkSuDAWZk8XDR2RfC7aDJodJaamdSWHbv F4u3mWk9qvzN0BbEgFKX5LPiUPuB9qxZEUzvH5I4eP/QybF3ZJbIzwMOMUEofNFktquDHKIfCXEg 0KPZyt9YXUUztF00Oe90IjobdTFs0VROkkhYFzVRTYFF5pHjUZH52OMAb85d4dDO7SRGfRqBuGiU EK2nV9r48I6cuuF2YIV2dVf8xC56JAlV2f0h//XeRYGJm9z39IiUTZNxyy6cEbCggWjUFZDpl1kc SYLQQxLSMHSP+HG+opoEXd9Dzr96iAiRpyvM8gyHQmb9feK7HiYssvD/zUkTN1dWDczg3FBDzpqc 1O1Qr4tdL8C/Uw/3tdiLqAvbAKQuSurNk6bUiQUHghg7kYqc2e9jJZ/ZZ11W13rfQPBsaOCzpEXd OEqOrslM9iQAjLLFKXKqFSdJjH6nnm+ITgPa6QlAKbWvnhVpECGplXjOzM0XJFruHXIqLR52Aa+C fCWQhYVnZ+I2kXO4CsPQVFB2Amz2iVesptY53I5xZpoNKISRUEnG0SyFYXPVGoLKzb6st23JG3df 5j3pVX+4cqXLgxPJ5uCFmLquksBHN5zXh9ilVmrVJvMOB5x6OM3CxOYQF5gkY/yZtBzeWc+I/pTL tBvX514QU1oJJNGD5wJBfzcgCVqzAuPT8VD0MCC5LvmoUkIJTu4FrpncFkUPfDtELm0gNHnL7T/y 8IsjgacPzpyQ6n4AhleTIgZK5OBq1EFuZoPrcgOHswHGRxZcz5tsFxveUNG9A0vrlXb32FQVVdjU e1h75ENsdWOTDOztihY5MewNHSeEA9Sej7yH+lu3NVvRuKCSBad2AkToKVyXItaUQRLN+9hsizG6 uXHiKEtNHvuoqBNL8QRji50C6ZhFw77hXd8omLyBIqqfSCLuX+VO4molGGh6wMCBFjBH93slya7n +smM6CTgQGLOmzAnRFOhAiKXRR41Owmcy3JDQxiLU/1RhKQlfhDMpLMkSqjJVokWwetNQa7vlk5i imr4EnQ2/E94X+dBGCAX8JFrdEB1Pe0wfKh/1zfk8u3y+nFXvj7rRyHcCO1KbkvhU5x5CnVs+f3b +ffzbMGS+BFtEK+bPDBjU47HhaOsT/uJ1AwqbNZ90jlk/sfp5fwEfhxFLCRdZF/zwaZdH1m5YVtt VSmB8u/bCdEWIWVku3yfs8QyQFfZg6UXtw0460AmD8sL37H2eq5R1VUw6q5QvHnWMv3n/u9JekDV ZdaDDBJ1fh6CRIHzxfzy8nJ51XcMaQa9KTVMVRNTC4nR6Sr4ENKqHbl5RJg8g2ftkJOmhr5wYq3K ab2jT0HnInRFWW8oSmNopWVgapxVXkdlg+Nt71F2Hbrdhk6EFgahr4f4g98JWiNySuDZNgLCIKCN cg6kSGqYep0MUGNSDYLfGbmH5GM6DkRe0Jm+YsMoiczfc540MvcjwjgMjd+JoUccUYaaAHCF8oUK /h07uJDmGsTHjn0T8G4++WHhn7zQ4yQV7bY3KCwI9NXeYIIiJm4vuhF+bQsmZER6oW0iz9fnUG7t ha5pWoaJR9UIN+nAUwhi5qSU9D+gLANd0ZFkrNh76bQ+8fiEF5rkMIxdkxb77pwW6ctzOcMVGZrM rnakcTB5/vHy8lOdWpiDCcIEuHw7/c+P0+vTz9F977+4tLuiYL+0dT1c+5F34lbg/fbx4/L2S3F+ /3g7/+MHODXWu3AaesiD79V0MvLsH4/vp7/VnO30fFdfLt/v/sLz/evd76Ne75peel7LwHioKUix Sw54/242Q7ob1YPGt68/3y7vT5fvJ561OYOKjUknQeMZkFyfIEUmycMD4aFjXmpSghDtFa7caPbb 3DsUNDQELQ8Z8/iyTOebaDi9RkcymnbnO7oyijD6ycYzhlg3zHb4Jq5+xVdstLdke8XLKfv0+O3j D21eHahvH3fd48fprrm8nj/wd1qWQYCNDEkin9hnB99x9V02RfH0LkDmp4G6ilLBHy/n5/PHT60V Tco0nm9xJFCse3IXYQ2rBvwanpM8W2z1dc88cvBc9zt9kcKqGG1Bwm8PmZ2zcijPUHy8OvOP9nJ6 fP/xdno5cSP6B6+XWW9Bm9+KFM1JcYjHAEEk99gWTWV0ioroFBXRKbYsibGXr4Fm7vibMN6Nbg6R VoXVZn+s8ibgvduhqbMuo2O2swhg4l0uUl3uJo9VjuyfNWuigh3IDnjlY+p2IXwU8bD1haJOB2ui gdTnr398kG0/b/lSsaYOArLi1+LI0KSaFTvYdMITRO0bzX4C+CCj71u3BUt91ACBkqL2x2Lf07Nc rN0Yz0hAoR1rckPCTXBoogZiwtPrJb4+9kgPOw03kUNDShSFVP9dtV7WOvregaTwcjuOfo74wCLP hYpGS61hPcBqPvW41LIfs3jISBU016M2j35lmevppk/Xdk6IhholuG780Edjc913oUNuUu75hw5y VAQ+OPOB3LblCJC2LthsM3AQPhG2bc/bA/piLVfcc4BK1Ublur5mPMNvw7FFf+/7ZHPkvW63r5in D68DCQ9XExkNNH3O/MANDELszeu05x8mjDQ9BSFBtQykOKZsZI4EoY8qZcdCN/Hoh3j7fFNbvoCE dK/T/1fZkzW3jTP5V1x52q3KfJ8ly468VXmASEhCxMs8JNkvLI+tSVQTH+VjN7O/frsBkMTRYLwP M466m7jRFxqNLU+Ti9Mzaz8pWCAqa5tchM5Yb2D2pt6hsWZiNsNRMaO33x8Pb+ocjFDmNjIZz4P1 27TRNqeXludYn8embGW5ZA1wQIyYFLaOxVbA7ewERWl0dj6lkyUqTi6LkZqWZ7Z3bRhDQwNcdLeK 1ml0Pp+dBRHOonWQVs86ZJmeWaqVDXcFo4MNibRrlrI1gz/VufuKWxdTS828WhPvP9+Ozz8PvxwH n/TsNLR8tL7R6s/dz+Ojt7IMiUrgJUH9cvz+HW2PP/Dlj8d7sP8eD7avEkOAyrIp6j5iw5lIdVdP 3xELk4wRXFfLykD1DaebpyX6I+jAYLLew3/f33/Cv5+fXo/yQRxCzksBNGuLnI56/khplln2/PQG asmRDCY5n5J8LcYX4MwDd7Y/n7leh9ncPZICEPUmG/oYrOxnCJicTWyAw0clTUhJr4sEzYxRo8jp NjkkMFNvdhB+Wly6uU6DJauvlRX/cnhFBZDU2xbF6cVpSsWBLtJiOrc0cvztauQSZjGJOFmDHDCe xogL0P6MgtaFOX0iKibaUBvGt0gmk/OggqzRIUYCaOC/oYxu5xekJYaIsy8ecy1KXvksV0JJ96vC 2PL+fGb2d11MTy+MD28KBqrlhQewi++AzsNH3tQOWvojPj/ki8fq7FIfcJsS1iLWi+bp1/EBLUTc zPfHV3VE4RUolcdz0/OYiJiV8sZIuzV35WIyPbNOwQqR0UnWyyU+pkW+5ViVSysF2v7yzJa0AAnl Fcdv6dhOVHDOTgNZnbfJ+VlyuvdXYz8HoyP1sReoeqY3rS4dvxm+SBXY9L8pVommw8MzOvhsBmCy 81MGMonbt03Qx3tJJg4FVirSFl+pS3MV8W3t3GR/eXoxIT0yEmUdsaZg81w4v409WINAs7V6CZlS t93QuzOZn19YYo/o+lBWVtOP9G1TjqHQ1CnXzrjECT+UwDWDThEYftEdsfIK/Ti2XSdRHAVu0g9U dWTY7Ajug218sJ1iXkPlQzI2kJeJsNRgCfUv+Vn4LvdBkCDekWESgOHFpXOrEKE6W0Dgm7VYbGu3 jSIND7lI9xTH16jpF3sMMBK+LlKvAhnBnaxCrdI7yR76pDi7nJ25RXXnLFVEvdakKTDux24YjHLl F4X5X8k0TQN6eDfd+lZGvQQ+lLfsRFW4M9NF0oQ+21f2AGT1nkduIZhTpo3TUGILJCkidnlhHtdI oJ0FAUHGEwSgk5In00gVmfe4JURna3AyIkiUDosJlNVlT7OK69NombBkOo+KJHbLlwE0wbXq5skx UWZiCAVIHYHaAZ2cHza64F6TMGAm2CR5+yOMFTwKpAjS6HXpcDKLYCswZX4dWsEq7UvnfhTl1cnd j+Oz//I7YHDSzCQM7VIY+QdSFmNSBqAbpu6bTArChLVCu6UBGz5C8kJQm6SngnqNi/0aink1O9Sg fugFIUumLYdqNkfzGXpJBRwObxZgL7xK13PVaOOyQHnVp5WCbsbczLwBbA7wVc2t6wUIzWowme07 JzJ+EouL8nQhskCulSTPsxWG0hXRGrQ7upMWUVpRE5/ik3LllXlV2pv5vsUFizYor6075vj6JWxu fMc6oAvKVzDh6zyqGRWHr14BwaWpbjub440YVq+/XHrAfTU5tROHSLi8DB+4jqgppOQNtkOLYKJk hdCRUCMV4GNcweIxRtXw8SqYFHirnV/nJpQeVqETBtuZWsEaraSfO3RSGvl1qdBM+TxRy8rAq8qS EgMyg5WSWZIUqr9wHfxYX5q2gyclxhA/wa/lE2TO2Krbg35bJPNOi8k5/ZCBJlLZE8MVuikSFbh/ niT4Yccq/G97JrJKGkrIKipMLmdlhlJ557r3dNwncUJ07vM6yhxdX59U73++youdA9vHJ7hKYIqA HhaUAWxTAZpBrNCD3AFEp4ThnbS8pvwfSCXf+DI/RXJMxOc89GgVreJPgTJQqM6n07fswfv88jef Y8pGvC3nfip3y3whc8sGm9clU0k8Mp9oMmWSylA8POQZKqDcHV+9cfcrif1NY5BMjgfStixjSR5Q 5/1P4rGp6LKQQDPXgZ6q17S6PtjftlWpn7PsBEuXuk9m7yWWlXpHa3wCsmoq11FMq3pYisw1yszL Oj3Yao/RTmoS+uR3eQlaAp3azKRzx5IgqYANlE67ehxLtrmNQlNOvT7lvguqduceZAw5jQaVToyF 3zv90ym1nL3ikKB4RLVlrIJKgLzL8m6tWyV0ild4RyqJ127L/RSTBHorSeNL0NzszaTyjp19OZc3 YJMGtLHS5mVygqVuQK0HhVADYw7rli+aFsqF1jS1KX5M7Fzme/ZqAyurnc4zsLMrWzG2kCOsA2n8 JqXFWQAq67FbiAn/CM6I8GZJemY0dl8RexIR6zglTQyNVkvQfvFN8tqClftz1BZjTodAyfUvryuN rUKweIt1nnF8cgRWLC0HkTCPeJLXRIUGjVQ9/cHUSdeu8ImXABaX5pSAO6lmBvjINEsCZGNVVlTt kqd1bvl7LZp1JZeNO7xDGeHB7bqFr86M7MGSyTxrBJMZErGjsArWM+QXkL/21FmtRScZBq4rr0KL YmQIbUJYfpQ6MCT1GJOjPVV9XXDS2wZE2o6LC/WahTsbGi33QugFcIPO53NdDtDGvMZuIQj22iWV HxmnXv2U3zvjYyLDs9tTjY7iYCyvaZ8atrdWLpzJGTQaxopQ4HqKmaYIFiXWs9Mv/mZVThwAww+H N0pvzORy1hbTxq04ZlqjDXYwTueT0W3E0ovzmWY/dpu+fZlOeLsTN0aGQHTkaRPZFltgbBSi4Ge+ LEWjcsN5umCwkNKU9hH4pGOd6l2zUsyHVu1AhdXag6rvJ+ns2Ob5mmV29J9g2hZg+YbfJE441PCN R2YWlLqwOF5q56FQds3hBd8zkydGDyoC1XBuDadA+Op5Gl2AGlS4GYi7po6UZNhzjOa0ML4zr3Hs 8f7l6XhvNSSLy1zEZAs6csPXIxbZNhYpZZjHzPABZNuUp87P/nTFAkoPlfBoEZxHeV0Y3j35amjL l03FXfLO+uOYQNSaJBsPBZLDpagwp7OslD5qBr1CVk50XknXpa7c7jXe5axilhpOg465q75Qdzid RlglooHgjI2uSrIZaAM3Kut5YDdwTqfV5Qev212nuzSbga+rbFvB6K4KyvNfsi3e4O9mZTjlVfdQ u953UMw7S85uSSwmaTtl25KlnTN5vTt5e7m9kyffrjsZRsaOBkwxZTxoOAtWBfyaAw2mDAykkQaa uElTSiAgrsqbMuJGckoftwbBUi84q932afyyLlko6YvkgPWa3LzEaAxfBvxNS1thhp9txmXemTbL Y7oRSJQyaehgKqDf0Th35HwC/Vj8g/115TxJYKIWHPPzuF/kZE7kmvcX5eCfVC4yE9xvgiapRZHw /RA4bQSbEXkuG7xfu/pyOWXWWboCV5PZKRXSi2g7mxJC9AsEVJSb184C+EJhnfFVgk7xnIjUcbEj SL9qWZeUA13Gu8G/M0smmlBk2mEMvnv9EEZmY8irQLGyvTk+FmlpJhZNODFelDdI6FQsQ/oimR5p 2I19nB6B6GL8FGo4/BEtv+IUT8XE+VcNi2NuuaCHNOl1tGhBHakDiZXt5Orwq41gi5qLxEmYpu6e HX8eTpTiY+bAi1i0BjUwB96L+X8qa1FsGQb/1MCFKkzUUpHnu4ATqDlaWcCm7dI63Nagds9qMi89 4M9a08zQAIxMFLBtosRJmiaRFY+aUtQU+wWSWWuqGxoQLHD2kQJlLMhQ5rdFbNk/+NuPFxnGKV3I 4TbPSgQMKmDssJMeDMQR/UBVTyKzsWCa6XGykbH/pup/MH+bo2SAu/Gxoe6oIGHNaoEvURgzsO/6 afzWueLbrfV2FGKumrymhNSebh2Cy9r+nWdgBoAGEpXNwi1e40peMEENCtLsWJm534Vmd7Wsps4s 5pGCkROzqNWsUFqeSPzCltMQOTbK1L3p8eF7HGd7QyhIu1AvAxUGbinA/kGwyMzEy2AtYEKQaxdv SN6WZ1F5DSwxp3OaAsWWB7bYssryWiyN1RW7AKEAMpWm0Vzm0nUQzdQws14qKhCHds7n0CKTcFB+ aumEknJhaeXtlARRbaaJb+p8Wc2snaRg7kxC2+mZzGFkEnZtFTHAYK3GokSRBn+sdUaQsGTHQG1d 5kmS70argt7FfB8oL8MJ3buvOVCUKYfxyAtrWnU2jbsfBytGeVlJLkiqrZpakcd/gNnw73gbS+E1 yK5B0Ff5JR4YBPZYEy89VFcPXbYK3M6rfy9Z/W++x/9ntVN7v8Jqi5ulFXxnQbaa5MH8JOZLBuok KB8xsJ4V/zo7+0LhRY6vVVS8/vrp+Po0n59f/jH5RBE29XJubmq3XQpCFPv+9tf8k2HP1R6DGfSJ sRFRfo/Xw/v908lf1EhJCeXEVSJoE0o+gshtKq/9u98osE6FibYXGRiFlHg4bu5PCcQRB5UpE5jW yEaB5pXEJc/cLwQoRmW0lhKtMcZ1w8vMHGfHu1GnhfeT4ssKIUWz2dl1swLmsyDZBJi/y7iNSjAa zTfP5B9HxIJptGVlp4t1niV/rvqiRRVJ5o7PSPHUKCkvWbbijqbA4g4wOJQUqC135JZky5AY41Js 2K3vQOiGqNjKETbrUFGAKJLGbdmCh+gXXi+CpN+WWjQ/uBCtBZ0a2mCH2YG84+riLTkoirBq0pSR 2XH7grxl0mP6lTX2OaW9IQqPDfGeA+bvyaXorvxKbhJBu2wVOrmhFVCFLdFECjYN1DOR+TVGKfDI NsvJZz9MkqIUue4XWUQlbmjnhUm0ZNu8KZ1udIJkIbwl0sFgxW8xI3ishnHkaxyjYeh76I31CvEA rurYBTMcxk5nJr7x1kePoQwboitNveYZaO3M1d86JlOy1ObkCqJ0SODKdECQoklr+qZqBcZwtSa3 29a1GVKRwTq3FKTUm5p1QYiyTnHL9rPQ5gbchVOfBjkWTklUqmALFm0wI/S1GhHKKerQpbUVUuwV k9dUpIsiQ9esuUqKqlZC0/rdC/8NPlO1uK559XVyOp0ZrGogTNDc7xgCJVsVJSzlnsqrL7mZmUi3 FkCvI7IOl3I+m36gLbhTwo0ZbcjQiW6Qxppj9ouiH2lWRx5sXk/w6X9f3+4/eVTKg+z3AZ8eG2uz 7z+28SWzLxIo6IJ8sBmUgq3LBcM7jZd5GAmm1S4vN6auQVnCiXlelBiD5OvEiO6U6haUavvDHvPl zMpfZeO+0CG9FtH8nI72cIgCWUZtIipFg0PyxTpzsXBk3muHZBLs7PziI00MpH11iKjrYQ7J+Ug/ qNxxDsllYDovzy6CBV+e/3aALs0HzW3MLFTl/MvMrRLsUFyNLX0b0fp6Mv19q4DGmzdWRYIKYTCr 9z7qEFQghok/C3VoFuxQRxFawh3euA5ogr1l3SGolPVWH8/oAs0EHBb83J7GTS7mbUnAGhuWsgiF LMvchiIi4kkdODYcSLKaNyWtFPdEZQ6aFqM9ZT3RdSmSRFDHWR3JivHEDLrr4SXnG79fYDon+MiN Ry+yRtQ+WI4DNNPH1E25EdXaRkiPhHF93BIw8DPoQ20ygXvAUGwVAGyAMmWJuJFqKeiyydJ+NlXk 7c66XmIddqg8noe79xe81Pv0jNkLDPfEhl9bygH+bkt+1XA8WfE9VZ2k5GUlQHBlNX5Rgm1KmpZD BRpSlxgWGivocNyhvKYd3PAyXLfxGqwyXjLPMEOkdHNqhT3wOpRW/dsYrGgZ21+Xgryq6NuHHcRy dHTlaRluKSXIvmq2wOgZUFg8M8JvlICfmVjAchxpUK8u7JdlSrSkYPV6AK8x7GDNyphnMJ7oKUbH ZMsS0MiZcvwMpoJLRrmlwdhCV7I6kbcOTfGUI5Lfog2pntob7y8sXthl9N3agQj2Fn3s05PUeZpf U7ZqT8GKgkGz7Pe7XCQMQEU/A+iThrZtT5nkLC5sS97FwUKH4SQV0p4UE8eQZVRsiXdK3HAlvyow RfNdhtnUfkMJy84106xT5FXQZhYpU+Xg/Ya4zct+Yy/ynNpcnRE2Oj8eUcwovg8d+/rp5+3jPWb8 /Iz/u3/6n8fP/9w+3MKv2/vn4+Pn19u/DvDJ8f7z8fHt8B153+fb5+fbl4enl8+vh5/Hx/dfn18f bqGAt6eHp3+ePv/5/NcnxSw3h5fHw8+TH7cv9weZSmJgmvqZTyjkn5Pj4xET0h3/99ZOTQobGu8+ 4UU+9N7YR/OAwuseuBn77pK+ho50CULMoLSCIeh2dOhwN/rUzK5UGBwdwI3zLtojevnn+e3p5O7p 5XDy9HLy4/DzWaZ7tYihTyv1HjYFnvpwzmIS6JNWm0gUa/PEy0H4n+C+JoE+aWme8Q0wktC3Y7uG B1vCQo3fFIVPvSkKvwQ0kn1SUErYiihXw62TeY1q6BAG+0O8KS9FGCoZlVf8ajmZztMm8RBZk9BA v+nyDzH70v8WEQ3HpoQbXonUL0w/daaXcPH+58/j3R9/H/45uZOr+fvL7fOPf7xFXFbMKyn2VxI3 34LvYbGhCQ7AihHQMiYqqtKpRwqMcMun5+eTyy5yi72//cCcSHe3b4f7E/4o+4MZqf7n+PbjhL2+ Pt0dJSq+fbv1OhhFqVfHKkr9KVqD6semp0WeXMvshP6kML4SFSyGkYnhV2JLDNSaAXfbdnOzkImb H57uD69+cxf+QEfLhQ+r/Y0Q1RUx8v63SbnzYDlRR0E1Zl9XxNCAaoqvMwfcwWr0YjAp6oaK6+va iu9hdrO+vn390Y+RW1aUknKyY3uA9duNnXFHZ5uy/q2A+Pj98PrmT0gZnU2JOZFgFZNJjIdEj42G JIARToCzjNHt967GZuMXCdvw6cLrmYL76wHqrSensVj6fI4UISPbIY0pP1CPPPcZtYCNIC8M+uNZ prGVP7jbUGs28dkG7NPzCwp8PiGE6ZqdEZyHgNWgeSzyFdHVXQEl+6EOx+cfViBozyd8KQKwtiaU BQBnol9GDjJrFoIoqoxmHnCR5LulICawQ3TPFhFrlaU8SQQVF9NToGkc/r6qKbeQgfYnKybGaCn/ UtxlzW4YZTA6vNufUhVb7ALLwnru1oa3VcWn7fmcWGCpP+41Z0SDwXrFMR/b2JoEK/IX1tPDM2aG s7TsfuDkmY3P1G9yoiFz8o3s/hO/P/KwxoPqw0mVCw3skKeHk+z94c/DS/f8ANVSllWijQpK3YzL BcY1ZA2NIRm4wlA8SmIogYgID/hN1DXH69QlmP8eFjXGltmvEDooz4YOkPVavLsAe4pSJiIK1oP6 d8S2VMiLSyqNi2A9PJP6bb7AQyVi7WCHZEypYwD9PP75cgsG18vT+9vxkdBWMMM4xe0knGJTMiW5 Ek1dngdiBAyqkdULRGrj9yVRtSkSGtWrmuMlDBophaY4GcI7yQkqtrjhXydjJGPVGxI41DtLa/WJ AvJy7WuBePUDTPWdyDLC0EJs1WRz2NWc4DUmeiSLHkU9vqMsUpqfmBT1OEVF6a8mOuj4omh1c0bL +33vCib9UoGCNBZ32oeKwQkPFLXizsUen0RfDw4O4rlvsMtlI5MaDhZtkIJXxI4f8DV9cd6jwz66 DG/AWslXPSxas2EsbpfTGQu0MopGrRwkucIAzPX88vxXRB8aObTR2X5Pe4hdwovph+hmHyyva+R2 +eFmfpAUGmpTEnSRL4g0POwA6wkIlt7htLRjCWWYOURdRb/tlPHJekRT7tu3w4ymbcKzr2A5BIrM U9xl44WJdFXzSOk91JJVd55JIYzorShrkZNfond9HxFmh1rlYAsFhk+mW6nILAXmXkqTfCUiTFQU KMeg+BDLZdMmVFR3zTyPKmlSgab+uxk1P1lHDVE3q67TlOPhmTx5w8wMw1gZyKJZJJqmahaabIiA HQjrIjWpiCr356eXIMJKfcbH9S2sodpiE1VzDIDcIhYLoyi+6ABa43ul1uGLMn9JR9rryV94wfz4 /VHl1737cbj7+/j43bhDK8N0zPPL0rod4uOrr5+MAHON5/u6ZGafQkc0eRaz8tqtjw5LwoJBQYw2 iajqYNMGCqng4r+oFpZ8m6sDVUlC3x/4wMh1tS9Ehh2BScrq5df+5Z2QKo33kljZynhrM5yNObdx FqKGlvLSvC/dpUqrQOeJiut2WcqELOZ6MEmAHQWwGWaJq4UZf9WhliKL4X8lDCM0wdqAeRmTcQrQ 9ZS3WZMuoLlDiepImyV+HUUk3EuFHcoBYwJUfR3A2IwYsA9z3C7RUaGv7wqzn5ICL+LAbgTDNMvr /ni9Zw0RcD2wDU1mGU0ubArfdwYtrJvW8iZEZ85ZBLr6uiiGAF+SJMBG+OKajiqySGjHmyRg5U65 B5wvYe7ojy4sK8222SIjrA4sCd8XGhl3UZSr0hjzJha1YdoMMa8si/M0MCaaBqOk0SS1fR03yuBy oHRwKkJjTsFnJLUZpGpTU6UEglAlmKLf3yDYHAUFafdzKhxOI2WmkoL6TDAyCk9jmRk2McDqNWxJ ojBMk0XtY41eRN+80mRAzhD00/e4Xd2YaXwNxAIQUxKT3KQsgDBWY8cQzLiObkFxEBhVnuTqXXYC igE3c/oDrNBALaK19UPG4tYoSJl5P2ZRKwWpl/JVHgngKVtQPMuSGY4l5Esit1JaKJC8CGsxN4TH 5lhksp0rBKIuuTLDXiQOEZjFByNTXIaIOBbHZVu3FzPFujsmuhN5nRgHPkgaWZMAgIKXwMI7hDoj Ofx1+/7zDR8peDt+f396fz15UGfyty+H2xN8wPO/DCcRxkyIG96mKgj91ENUeBqgkCbDMtHQCoyt A2WGZotWUYKOPrKJGJUiAUlYIlZZiq7huRGigQjMLhfQULsZWMAKW6esNOLvqlWiVqsxrlem9Ety azfi7zGemCX6vkfX5uQGg68GAGZ4LnLzVDothHXdJBap9Rt+LGNjZeQihs2xAjWoNJZwE+F9pdpW smTYVbcpt3GV+1t1xWu8wZIvY0bkd8VvWjMg10LIqy+mgF7m6Jt378JI6PyXKaclCK/iwlBaySsq TDqTCBtS5HnibBwZyrJjiTmVCIp5kdcOTKmWoAiBtjHtF3gF283a2Rj6w4y7hvniG1uZGqscXDPU 0XjgxdEcB56TTZCv5bH0MduRPJ0yL6HPL8fHt7/V+yYPh9fvflCkVFY3ctDNFanBEcMU2tSuUfcU WjDkEtBNkz5c5EuQ4qoRvP466xeoNlS8EmZDKzDCqmtKzBNGR2jF1xlLRTTiebQogk/bX6eLHO05 XpZAbjBV9Rn8B0r4ItfZkfQkBUe4P885/jz88XZ80PbCqyS9U/AXfz6WIG24Skgwn1xOzWUCxn6F ybVSJ4UEi5Xbo6JO2Ncc8+fj5W9YtSaDUJ0C80vaP6moUlabEtDFyDZhNgXr9p0qRUb6tcsmU59I dgobnMwAJPtX5PKqvVnSNpXxkshS6Tk0atpxtkH50EYFnVPtw+MuZ0keZR3vuj0UH/58//4dw8jE 4+vbyzu+v2om/WHouwAT0szlbwD7EDblNvp6+mtCUalE9nQJOsl9hbHJGdg7nz7Zs2bfzOtgUuTs 8P9kVKImwpgnSZdiVpyRcgL3MSX3l9xys4otKYa/KW9KZ6M1i4phNtxM1CiSHTedxJKT+aHpsfuJ d7bt8AwFx2vP3qGrDi7syzWYIzIovq95hldm/eIQL+U8ZQrjt/nOOk6RMFj7VZ45V5yH8mBDU/5T RVDmMatZawfF9wOsaHZ7d5ObkN7wrvFOvdE0+bv17uIrsCwncMNL1QFyDRgG5cCvkmbREdkhw4hA /ZW82o3LTE8mqNAJ7Hh/vDrMSLuUrG6qkBpZRWvUtCUVz+KRRDyqvC3FZJ0ZQN9rwzxeGwBDHzDT CkbBuqgN6pdo9HiKitKGKoNCs0alfHjj5FON9HEtVmto1fisyCHDvCBLYBaeWKGRkfRntxuGjMA/ +lRYjP9HlSjLB1YBxoxlVBtMaCk5pMmGJITkJN5Od1q9Vo+XaIsHiE7yp+fXzyfJ093f789KhKxv H79bkWkFwyTjeKM+L8jLqyYeM201fDCIFFLqyk09gPEwr8FtV8OmMg3eKl/WPtJSmKTBahLKOqgr K0Fit5V4ecKpFcXv0pwQj8IwmfuKDDJZ0UdodGMm5irFGto1ZiauWUXdYN1dgb4CWkucG7o2sk09 tGaajPGZVpeKQIe4f0fFgZASioU4N8cVUIdWmDDJ8EwNkirbXpe4PDacF7TMKDlPi9qTatgTQ1b+ x+vz8RHDT6GTD+9vh18H+Mfh7e5f//rXfxouaTxEluWupFXiGl1FCZuaygelECXbqSIyGOnQI5Hq oBpGISzl0JVb873pFdc7FMZAn5fbPJQm3+0UBkRNvrPvDumadpWV/ERB1Zm7bb+rtAeFB0D3avV1 cu6CZeRvpbEXLlbJG3ljW5NcjpFIU1PRzbyKRBk1CSvBvuJNV9rUXSWaOjjkrM7RQKoSzgn5oSdc BTdpS5VidXLgYOtjQsPOUdgXNUzGmEO8ipZWCSQf//+s7X7zy5EEBr9M2Mq6pmfC2ywV7nLwv5Fz Iz8cYNI8gkXTNhkGH8LmV95uQhorXcnbsYoP/a203Pvbt9sTVG/v8KzJEjh6TrwTK5st/AZfkS4t iVI3DdUBziBZpPrWSvUTlERMnuld+bP4aaAfbjuiEsYqq8HcqbwBgYVNauWK10RGDKGz5jrTOGpa fF2LgodWKeJAAze+I8YJicD0bKVJ3Uvv6cSqwF4eCOJXQ4KR4SlYq5Pu8IAcUxpbSRi7tntCbj4w VvCQjGo0Hp1k0XWdG0xMBgoOq9ln+FleqJ6UX23lqzf2x7GrkhVrmqZzyiydkSKQ7U7Ua3RPuiog RaYT46HryiXXZKlMCAvl4TmmQ4LZxOSkIqV0U3iFYATptQOMdGmqaIe7lDIkxOmmakpkSzPpC1QJ pAYg32JwMtJbblj4U+N0V9DryB9jrRegZ5jsi1deZxm6BWlCwgPb9chSP6X7Vn9D+X+8ddN/TS4a iksFFs7v18wHlovfGmA3mLwkcN13kNI0AT7VmC+XYyR6psIdVrqkt4l2CauJYcRE0qFcMLrjepG7 UhBYQcaKap1bbiEH1fndYN0xSp9YgNjDVyTVqHn3Qju4PorHa7Tyg8ArPYtko6Kh8jbUpw0UueBq l5gX6k0wiq4sd9ZLQ3+4KJYerFs4Ljxcgq4ebeBSmKkOxnmQjcW4BfP+XXWdwYrtq+tHCd/KgvER qxVIbWKIVKGKj/SPXdgTLNnDcJZFCb2BNxlnXg9OOVALS+S5GE5zeAmqjuOfptTOtXGCVgVTT+dU e8KlraJ82y86n2N1G6JmoA4UhMZJVBYiJkj7vNqSK8Y8AXOVZNHydMNTRoz5RvYcqtFc6j2dlewJ NCZYhG2+jsTk7HImzy7R4UTzNIaPXFLryPBzqcc7tK+Y93dEfs0vKJXNUbI9UeIr4T4NZ2Vy3Z0G WS/v7OcXrT6akSKoKeivAmXFi1XgA/nE1T42L0PypWiLVd1q76mjhGEmz6Qhg76lmtDzZr97IteL 4HQ/PzVLNhCcTojQUzThQ7KeJuDW10qkPHDrIh6GY/SChY/B5YedTuSMh5zI8Lk2Tpw+dXDe824w JwAapcF6m2yHCY1L4kRJa9b2WjRPSevD6xsajujliZ7++/By+/1gWlibJiODpjrLCI8I81KzUiFD T4ampzQZOSv5UrKucOHkVxmv1VMdv/nA1WTcVg8sV6UMNhADg2QiqRJGHuUBSh1ZOL4Sp7g+5Ypb LoiJDe8y8IQqEHlvYP1jIZboTLCLtKvtzrOo42vlaq5A8wDxoHakHW1VgvyVmqzyZMk7ayGOiGIa 2GF/ft8pYgpETuH6GtSobVc6aUaPrVXL6SDznWPGhjxqUlsTUU6JhVBTb7kdnYCB/wP3Wlb4Dd8C AA== --===============7871622721436132224==-- From mboxrd@z Thu Jan 1 00:00:00 1970 Content-Type: multipart/mixed; boundary="===============1671368229502502636==" MIME-Version: 1.0 From: Dan Carpenter To: kbuild-all@lists.01.org Subject: [kbuild] Re: [RFC PATCH 3/4] ext4: factor out write end code of inline file Date: Tue, 06 Jul 2021 12:00:00 +0300 Message-ID: <202107061416.FjoRWiMy-lkp@intel.com> In-Reply-To: <20210706024210.746788-4-yi.zhang@huawei.com> List-Id: --===============1671368229502502636== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Hi Zhang, url: https://github.com/0day-ci/linux/commits/Zhang-Yi/ext4-improve-dela= lloc-buffer-write-performance/20210706-103431 = base: https://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4.git dev config: i386-randconfig-m021-20210705 (attached as .config) compiler: gcc-9 (Debian 9.3.0-22) 9.3.0 If you fix the issue, kindly add following tag as appropriate Reported-by: kernel test robot Reported-by: Dan Carpenter smatch warnings: fs/ext4/inline.c:793 ext4_write_inline_data_end() error: uninitialized symb= ol 'ret'. vim +/ret +793 fs/ext4/inline.c f19d5870cbf72d Tao Ma 2012-12-10 729 int ext4_write_inline_data_en= d(struct inode *inode, loff_t pos, unsigned len, f19d5870cbf72d Tao Ma 2012-12-10 730 unsigned copied, st= ruct page *page) f19d5870cbf72d Tao Ma 2012-12-10 731 { b6bfc15d82616d Zhang Yi 2021-07-06 732 handle_t *handle =3D ext4_jo= urnal_current_handle(); b6bfc15d82616d Zhang Yi 2021-07-06 733 int i_size_changed =3D 0; b6bfc15d82616d Zhang Yi 2021-07-06 734 int no_expand; f19d5870cbf72d Tao Ma 2012-12-10 735 void *kaddr; f19d5870cbf72d Tao Ma 2012-12-10 736 struct ext4_iloc iloc; b6bfc15d82616d Zhang Yi 2021-07-06 737 int ret, ret2; f19d5870cbf72d Tao Ma 2012-12-10 738 = 4dfba1ee616130 Zhang Yi 2021-07-06 739 if (unlikely(copied < len) &= & !PageUptodate(page)) b6bfc15d82616d Zhang Yi 2021-07-06 740 copied =3D 0; f19d5870cbf72d Tao Ma 2012-12-10 741 = b6bfc15d82616d Zhang Yi 2021-07-06 742 if (likely(copied)) { f19d5870cbf72d Tao Ma 2012-12-10 743 ret =3D ext4_get_inode_loc(= inode, &iloc); f19d5870cbf72d Tao Ma 2012-12-10 744 if (ret) { b6bfc15d82616d Zhang Yi 2021-07-06 745 unlock_page(page); b6bfc15d82616d Zhang Yi 2021-07-06 746 put_page(page); f19d5870cbf72d Tao Ma 2012-12-10 747 ext4_std_error(inode->i_sb= , ret); b6bfc15d82616d Zhang Yi 2021-07-06 748 goto out; f19d5870cbf72d Tao Ma 2012-12-10 749 } c755e251357a0c Theodore Ts'o 2017-01-11 750 ext4_write_lock_xattr(inode= , &no_expand); f19d5870cbf72d Tao Ma 2012-12-10 751 BUG_ON(!ext4_has_inline_dat= a(inode)); f19d5870cbf72d Tao Ma 2012-12-10 752 = f19d5870cbf72d Tao Ma 2012-12-10 753 kaddr =3D kmap_atomic(page); 4dfba1ee616130 Zhang Yi 2021-07-06 754 ext4_write_inline_data(inod= e, &iloc, kaddr, pos, copied); f19d5870cbf72d Tao Ma 2012-12-10 755 kunmap_atomic(kaddr); f19d5870cbf72d Tao Ma 2012-12-10 756 SetPageUptodate(page); f19d5870cbf72d Tao Ma 2012-12-10 757 /* clear page dirty so that= writepages wouldn't work for us. */ f19d5870cbf72d Tao Ma 2012-12-10 758 ClearPageDirty(page); f19d5870cbf72d Tao Ma 2012-12-10 759 = c755e251357a0c Theodore Ts'o 2017-01-11 760 ext4_write_unlock_xattr(ino= de, &no_expand); f19d5870cbf72d Tao Ma 2012-12-10 761 brelse(iloc.bh); b6bfc15d82616d Zhang Yi 2021-07-06 762 } "ret" not initialized on else path. b6bfc15d82616d Zhang Yi 2021-07-06 763 = b6bfc15d82616d Zhang Yi 2021-07-06 764 /* b6bfc15d82616d Zhang Yi 2021-07-06 765 * It's important to update = i_size while still holding page lock: b6bfc15d82616d Zhang Yi 2021-07-06 766 * page writeout could other= wise come in and zero beyond i_size. b6bfc15d82616d Zhang Yi 2021-07-06 767 */ b6bfc15d82616d Zhang Yi 2021-07-06 768 i_size_changed =3D ext4_upda= te_inode_size(inode, pos + copied); b6bfc15d82616d Zhang Yi 2021-07-06 769 if (ext4_should_journal_data= (inode)) { b6bfc15d82616d Zhang Yi 2021-07-06 770 ext4_set_inode_state(inode,= EXT4_STATE_JDATA); b6bfc15d82616d Zhang Yi 2021-07-06 771 EXT4_I(inode)->i_datasync_t= id =3D handle->h_transaction->t_tid; b6bfc15d82616d Zhang Yi 2021-07-06 772 } b6bfc15d82616d Zhang Yi 2021-07-06 773 unlock_page(page); b6bfc15d82616d Zhang Yi 2021-07-06 774 put_page(page); b6bfc15d82616d Zhang Yi 2021-07-06 775 = b6bfc15d82616d Zhang Yi 2021-07-06 776 /* b6bfc15d82616d Zhang Yi 2021-07-06 777 * Don't mark the inode dirt= y under page lock. First, it unnecessarily b6bfc15d82616d Zhang Yi 2021-07-06 778 * makes the holding time of= page lock longer. Second, it forces lock b6bfc15d82616d Zhang Yi 2021-07-06 779 * ordering of page lock and= transaction start for journaling b6bfc15d82616d Zhang Yi 2021-07-06 780 * filesystems. b6bfc15d82616d Zhang Yi 2021-07-06 781 */ b6bfc15d82616d Zhang Yi 2021-07-06 782 if (likely(copied) || i_size= _changed) 362eca70b53389 Theodore Ts'o 2018-07-10 783 mark_inode_dirty(inode); b6bfc15d82616d Zhang Yi 2021-07-06 784 out: b6bfc15d82616d Zhang Yi 2021-07-06 785 /* b6bfc15d82616d Zhang Yi 2021-07-06 786 * If we have allocated more= blocks and copied less. We will have b6bfc15d82616d Zhang Yi 2021-07-06 787 * blocks allocated outside = inode->i_size, so truncate them. b6bfc15d82616d Zhang Yi 2021-07-06 788 */ b6bfc15d82616d Zhang Yi 2021-07-06 789 if (pos + len > inode->i_siz= e && ext4_can_truncate(inode)) b6bfc15d82616d Zhang Yi 2021-07-06 790 ext4_orphan_add(handle, ino= de); 4dfba1ee616130 Zhang Yi 2021-07-06 791 = b6bfc15d82616d Zhang Yi 2021-07-06 792 ret2 =3D ext4_journal_stop(h= andle); b6bfc15d82616d Zhang Yi 2021-07-06 @793 if (!ret) b6bfc15d82616d Zhang Yi 2021-07-06 794 ret =3D ret2; b6bfc15d82616d Zhang Yi 2021-07-06 795 if (pos + len > inode->i_siz= e) { b6bfc15d82616d Zhang Yi 2021-07-06 796 ext4_truncate_failed_write(= inode); b6bfc15d82616d Zhang Yi 2021-07-06 797 /* b6bfc15d82616d Zhang Yi 2021-07-06 798 * If truncate failed early= the inode might still be b6bfc15d82616d Zhang Yi 2021-07-06 799 * on the orphan list; we n= eed to make sure the inode b6bfc15d82616d Zhang Yi 2021-07-06 800 * is removed from the orph= an list in that case. b6bfc15d82616d Zhang Yi 2021-07-06 801 */ b6bfc15d82616d Zhang Yi 2021-07-06 802 if (inode->i_nlink) b6bfc15d82616d Zhang Yi 2021-07-06 803 ext4_orphan_del(NULL, inod= e); b6bfc15d82616d Zhang Yi 2021-07-06 804 } b6bfc15d82616d Zhang Yi 2021-07-06 805 return ret ? ret : copied; f19d5870cbf72d Tao Ma 2012-12-10 806 } --- 0-DAY CI Kernel Test Service, Intel Corporation https://lists.01.org/hyperkitty/list/kbuild-all(a)lists.01.org = _______________________________________________ kbuild mailing list -- kbuild(a)lists.01.org To unsubscribe send an email to kbuild-leave(a)lists.01.org --===============1671368229502502636==--