From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-10.3 required=3.0 tests=BAYES_00, HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,MENTIONS_GIT_HOSTING, SPF_HELO_NONE,SPF_PASS,USER_AGENT_SANE_1 autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id D1FF0C4338F for ; Thu, 19 Aug 2021 19:47:43 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id A9E2E60E76 for ; Thu, 19 Aug 2021 19:47:43 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S234822AbhHSTsT (ORCPT ); Thu, 19 Aug 2021 15:48:19 -0400 Received: from mga04.intel.com ([192.55.52.120]:54554 "EHLO mga04.intel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S234640AbhHSTsR (ORCPT ); Thu, 19 Aug 2021 15:48:17 -0400 X-IronPort-AV: E=McAfee;i="6200,9189,10081"; a="214792021" X-IronPort-AV: E=Sophos;i="5.84,335,1620716400"; d="gz'50?scan'50,208,50";a="214792021" Received: from fmsmga005.fm.intel.com ([10.253.24.32]) by fmsmga104.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 19 Aug 2021 12:47:39 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.84,335,1620716400"; d="gz'50?scan'50,208,50";a="681899666" Received: from lkp-server01.sh.intel.com (HELO d053b881505b) ([10.239.97.150]) by fmsmga005.fm.intel.com with ESMTP; 19 Aug 2021 12:47:37 -0700 Received: from kbuild by d053b881505b with local (Exim 4.92) (envelope-from ) id 1mGo0m-000UEY-Tn; Thu, 19 Aug 2021 19:47:36 +0000 Date: Fri, 20 Aug 2021 03:46:42 +0800 From: kernel test robot To: David Howells Cc: kbuild-all@lists.01.org, linux-kernel@vger.kernel.org Subject: [dhowells-fs:netfs-folio-regions 22/28] fs/netfs/write_back.c:763:17: warning: enumeration value 'NETFS_REGION_IS_PENDING' not handled in switch Message-ID: <202108200334.1MORkGXI-lkp@intel.com> MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="r5Pyd7+fXNt84Ff3" Content-Disposition: inline User-Agent: Mutt/1.10.1 (2018-07-13) Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org --r5Pyd7+fXNt84Ff3 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline tree: https://git.kernel.org/pub/scm/linux/kernel/git/dhowells/linux-fs.git netfs-folio-regions head: 215a4ee495a95cc73256ed76f91cb78bcabd6b8e commit: 1e4f2a70cbedd75d80440425727faa78e2dccb93 [22/28] netfs: Cut out region to be written from dirty regions config: alpha-randconfig-r011-20210819 (attached as .config) compiler: alpha-linux-gcc (GCC) 11.2.0 reproduce (this is a W=1 build): wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross chmod +x ~/bin/make.cross # https://git.kernel.org/pub/scm/linux/kernel/git/dhowells/linux-fs.git/commit/?id=1e4f2a70cbedd75d80440425727faa78e2dccb93 git remote add dhowells-fs https://git.kernel.org/pub/scm/linux/kernel/git/dhowells/linux-fs.git git fetch --no-tags dhowells-fs netfs-folio-regions git checkout 1e4f2a70cbedd75d80440425727faa78e2dccb93 # save the attached .config to linux build tree COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-11.2.0 make.cross ARCH=alpha If you fix the issue, kindly add following tag as appropriate Reported-by: kernel test robot All warnings (new ones prefixed by >>): fs/netfs/write_back.c: In function 'netfs_flush_dirty': >> fs/netfs/write_back.c:763:17: warning: enumeration value 'NETFS_REGION_IS_PENDING' not handled in switch [-Wswitch] 763 | switch (READ_ONCE(r->state)) { | ^~~~~~ >> fs/netfs/write_back.c:763:17: warning: enumeration value 'NETFS_REGION_IS_RESERVED' not handled in switch [-Wswitch] >> fs/netfs/write_back.c:763:17: warning: enumeration value 'NETFS_REGION_IS_COMPLETE' not handled in switch [-Wswitch] vim +/NETFS_REGION_IS_PENDING +763 fs/netfs/write_back.c 623 624 /* 625 * Flush some of the dirty queue, transforming a part of a sequence of dirty 626 * regions into a block we can flush. 627 * 628 * A number of things constrain us: 629 * - The region we write out should not be undergoing modification 630 * - We may need to expand or split the region for a number of reasons: 631 * - Filesystem storage block/object size 632 * - Filesystem RPC size (wsize) 633 * - Cache block size 634 * - Cache DIO block size 635 * - Crypto/compression block size 636 */ 637 static int netfs_flush_dirty(struct address_space *mapping, 638 struct writeback_control *wbc, 639 struct netfs_range *requested, 640 loff_t *next) 641 { 642 struct netfs_i_context *ctx = netfs_i_context(mapping->host); 643 struct netfs_dirty_region *spares[2] = {}; 644 struct netfs_dirty_region *head = NULL, *tail = NULL, *r, *q; 645 struct netfs_range block; 646 unsigned long long dirty_start, dirty_to, active_from, limit; 647 unsigned int wsize = ctx->wsize; 648 unsigned int min_bsize = 1U << ctx->min_bshift; 649 int ret; 650 651 kenter("%llx-%llx", requested->start, requested->end); 652 653 BUG_ON(!wsize); 654 655 /* For the moment, place certain restrictions when content crypto is in 656 * use so that we don't write a partial block and corrupt part of the 657 * file into unreadability. 658 */ 659 if (ctx->crypto_bshift) { 660 /* If object storage is in use, we don't want a crypto block to 661 * be split across multiple objects. 662 */ 663 if (ctx->obj_bshift && 664 ctx->crypto_bshift > ctx->obj_bshift) { 665 pr_err_ratelimited("Crypto blocksize (2^%u) > objsize (2^%u)\n", 666 ctx->crypto_bshift, ctx->obj_bshift); 667 return -EIO; 668 } 669 670 /* We must be able to write a crypto block in its entirety in a 671 * single RPC call if we're going to do the write atomically. 672 */ 673 if ((1U << ctx->crypto_bshift) > wsize) { 674 pr_err_ratelimited("Crypto blocksize (2^%u) > wsize (%u)\n", 675 ctx->crypto_bshift, wsize); 676 return -EIO; 677 } 678 } 679 680 /* Round the requested region out to the minimum block size (eg. for 681 * crypto purposes). 682 */ 683 requested->start = round_down(requested->start, min_bsize); 684 requested->end = round_up (requested->end, min_bsize); 685 686 retry: 687 ret = 0; 688 689 spin_lock(&ctx->lock); 690 691 /* Find the first dirty region that overlaps the requested flush region */ 692 list_for_each_entry(r, &ctx->dirty_regions, dirty_link) { 693 kdebug("query D=%x", r->debug_id); 694 if (r->dirty.end <= requested->start || 695 r->dirty.end == r->dirty.start) 696 continue; 697 if (READ_ONCE(r->state) == NETFS_REGION_IS_FLUSHING) 698 continue; 699 if (r->dirty.start >= requested->end) 700 goto out; 701 head = r; 702 break; 703 } 704 705 if (!head || head->dirty.start >= requested->end) 706 goto out; 707 708 /* Determine where we're going to start and the limits on where we 709 * might end. 710 */ 711 dirty_start = round_down(head->dirty.start, min_bsize); 712 kdebug("dirty D=%x start %llx", head->debug_id, dirty_start); 713 714 if (ctx->obj_bshift) { 715 /* Handle object storage - we limit the write to one object, 716 * but we round down the start if there's more dirty data that 717 * way. 718 */ 719 unsigned long long obj_start; 720 unsigned long long obj_size = 1ULL << ctx->obj_bshift; 721 unsigned long long obj_end; 722 723 obj_start = max(requested->start, dirty_start); 724 obj_start = round_down(obj_start, obj_size); 725 obj_end = obj_start + obj_size; 726 kdebug("object %llx-%llx", obj_start, obj_end); 727 728 block.start = max(dirty_start, obj_start); 729 limit = min(requested->end, obj_end); 730 kdebug("limit %llx", limit); 731 if (limit - block.start > wsize) { 732 kdebug("size %llx", limit - block.start); 733 block.start = max(block.start, requested->start); 734 limit = min(requested->end, 735 block.start + round_down(wsize, min_bsize)); 736 } 737 kdebug("object %llx-%llx", block.start, limit); 738 } else if (min_bsize > 1) { 739 /* There's a block size (cache DIO, crypto). */ 740 block.start = max(dirty_start, requested->start); 741 if (wsize > min_bsize) { 742 /* A single write can encompass several blocks. */ 743 limit = block.start + round_down(wsize, min_bsize); 744 limit = min(limit, requested->end); 745 } else { 746 /* The block will need several writes to send it. */ 747 limit = block.start + min_bsize; 748 } 749 kdebug("block %llx-%llx", block.start, limit); 750 } else { 751 /* No blocking factors and no object division. */ 752 block.start = max(dirty_start, requested->start); 753 limit = min(block.start + wsize, requested->end); 754 kdebug("plain %llx-%llx", block.start, limit); 755 } 756 757 /* Determine the subset of dirty regions that are going to contribute. */ 758 r = head; 759 list_for_each_entry_from(r, &ctx->dirty_regions, dirty_link) { 760 kdebug("- maybe D=%x", r->debug_id); 761 if (r->dirty.start >= limit) 762 break; > 763 switch (READ_ONCE(r->state)) { 764 case NETFS_REGION_IS_DIRTY: 765 tail = r; 766 continue; 767 case NETFS_REGION_IS_FLUSHING: 768 limit = round_down(r->dirty.start, min_bsize); 769 goto determined_tail; 770 case NETFS_REGION_IS_ACTIVE: 771 /* We can break off part of a region undergoing active 772 * modification, but assume, for now, that we don't 773 * want to include anything that will change under us 774 * or that's only partially uptodate - especially if 775 * we're going to be encrypting or compressing from it. 776 */ 777 dirty_to = READ_ONCE(r->dirty.end); 778 active_from = round_down(dirty_to, min_bsize); 779 kdebug("active D=%x from %llx", r->debug_id, active_from); 780 if (active_from > limit) { 781 kdebug(" - >limit"); 782 tail = r; 783 goto determined_tail; 784 } 785 786 limit = active_from; 787 if (r->dirty.start < limit) { 788 kdebug(" - reduce limit"); 789 tail = r; 790 goto determined_tail; 791 } 792 793 if (limit == block.start || r == head) 794 goto wait_for_active_region; 795 796 if (limit == r->dirty.start) { 797 kdebug("- active contig"); 798 goto determined_tail; 799 } 800 801 /* We may need to rewind the subset we're collecting. */ 802 q = r; 803 list_for_each_entry_continue_reverse(q, &ctx->dirty_regions, 804 dirty_link) { 805 kdebug(" - rewind D=%x", q->debug_id); 806 tail = q; 807 if (q->dirty.start < limit) 808 goto determined_tail; 809 if (q == head) { 810 kdebug("over rewound"); 811 ret = -EAGAIN; 812 goto out; 813 } 814 } 815 goto wait_for_active_region; 816 } 817 } 818 819 determined_tail: 820 if (!tail) { 821 kdebug("netfs: no tail\n"); 822 ret = -EAGAIN; 823 goto out; 824 } 825 dirty_to = round_up(tail->dirty.end, min_bsize); 826 kdebug("dto %llx", dirty_to); 827 block.end = min(dirty_to, limit); 828 kdebug("block %llx-%llx", block.start, block.end); 829 830 /* If the leading and/or trailing edges of the selected regions overlap 831 * the ends of the block, we will need to split those blocks. 832 */ 833 if ((dirty_start < block.start && !spares[0]) || 834 (tail->dirty.end > block.end && !spares[1])) { 835 spin_unlock(&ctx->lock); 836 kdebug("need spares"); 837 goto need_spares; 838 } 839 840 if (dirty_start < block.start) { 841 kdebug("eject front"); 842 netfs_split_off_front(ctx, head, &spares[0], block.start); 843 } 844 845 if (tail->dirty.end > block.end) { 846 kdebug("eject back"); 847 r = netfs_split_off_front(ctx, tail, &spares[1], block.end); 848 if (head == tail) 849 head = r; 850 tail = r; 851 } 852 853 /* Flip all the regions to flushing */ 854 r = head; 855 kdebug("mark from D=%x", r->debug_id); 856 list_for_each_entry_from(r, &ctx->dirty_regions, dirty_link) { 857 kdebug("- flush D=%x", r->debug_id); 858 set_bit(NETFS_REGION_FLUSH_Q, &r->flags); 859 smp_store_release(&r->state, NETFS_REGION_IS_FLUSHING); 860 trace_netfs_dirty(ctx, r, NULL, netfs_dirty_trace_flushing); 861 wake_up_var(&r->state); 862 list_move_tail(&r->flush_link, &ctx->flush_queue); 863 if (r == tail) 864 break; 865 } 866 867 requested->start = block.end; 868 out: 869 spin_unlock(&ctx->lock); 870 871 out_unlocked: 872 netfs_free_dirty_region(ctx, spares[0]); 873 netfs_free_dirty_region(ctx, spares[1]); 874 kleave(" = %d", ret); 875 return ret; 876 877 wait_for_active_region: 878 /* We have to wait for an active region to progress */ 879 kdebug("- wait for active %x", r->debug_id); 880 set_bit(NETFS_REGION_FLUSH_Q, &r->flags); 881 882 if (wbc->sync_mode == WB_SYNC_NONE) { 883 ret = -EBUSY; 884 goto out; 885 } 886 887 netfs_get_dirty_region(ctx, r, netfs_region_trace_get_wait_active); 888 spin_unlock(&ctx->lock); 889 890 wait_var_event(&r->state, (READ_ONCE(r->state) != NETFS_REGION_IS_ACTIVE || 891 READ_ONCE(r->dirty.end) != dirty_to)); 892 netfs_put_dirty_region(ctx, r, netfs_region_trace_put_wait_active); 893 894 need_spares: 895 ret = -ENOMEM; 896 spares[0] = netfs_alloc_dirty_region(); 897 if (!spares[0]) 898 goto out_unlocked; 899 spares[1] = netfs_alloc_dirty_region(); 900 if (!spares[1]) 901 goto out_unlocked; 902 goto retry; 903 } 904 --- 0-DAY CI Kernel Test Service, Intel Corporation https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org --r5Pyd7+fXNt84Ff3 Content-Type: application/gzip Content-Disposition: attachment; filename=".config.gz" Content-Transfer-Encoding: base64 H4sICKqxHmEAAy5jb25maWcAnDzbjuO2ku/5CiMBFglwJvGlr1j0A0VRFo9FSS1SvvSL4HR7 Zoz0uBu2O8n8/RZJXUiJkge7ONiMq4rFYrFYN1L9y0+/jNDH+e3b9rx/3r6+fh992R12x+15 9zL6vH/d/e/IT0ZxIkbEp+J3II72h49//9i+vn/djq5/n1z9Pv50fJ6MFrvjYfc6wm+Hz/sv HzB+/3b46ZefcBIHdF5gXCxJxmkSF4KsxcPPavynV8nr05fn59Gvc4x/G00mv09/H/9sjKK8 AMzD9wo0bzg9TCbj6XhcE0conte4Goy44hHnDQ8AVWTT2W3DIfIlqRf4DSmA3KQGYmyIGwJv xFkxT0TScDEQNI5oTDqoOCnSLAloRIogLpAQWUNCs8dilWQLgIBCfxnN1f68jk6788d7o2Ia U1GQeFmgDOSjjIqH2bSeJmGpZC4IF8bqEoyiahk/12r3cgrL4ygSBtAnAcojoaZxgMOEixgx 8vDzr4e3w+63n0HQkoSvUDran0aHt7OU2UBs+JKm2IlbIYHD4jEnOTHx1XKyhPOCEZZkG6kt hMNmVTknEfWa3yFaElAKsEM52DDMCquOKm2Cdkenjz9P30/n3bdGm3MSk4xipXzYGc/YMhPF w2RlGFYuEgVGQSD1tLE30U8YorEN45S5iIqQkkzKvOnOyziVlL2IZp5am6bIPvHyecBtre8O L6O3zy1ltPljsJcFWZJYcJO5oIwUi1yanzQvk7HSsNh/2x1PLiULihdFEhPQomGVcBbCJ2mx LLEWAcAU5Eh8ih0moUdRPyItThYLOg+LjHAlc+bWQUdctQgvDawV1CwBUZQm5WRnD6wkSzNC WCpAQuUMNMM0/0NsT3+NziDBaAvDT+ft+TTaPj+/fRzO+8OXluZgQIEwTvJY0HhurtPjvrRa TOCUAIVwHrGUU6fEPyBHw0TKQHkSIQE+pLP1Gc5H3LHvsPoCcKbI8LMga9hg4dhcronN4TZI juYC9qCxGwMTEwL+jMyxF1Hl/+q12gLW53Ch/2HKV8GUXh0i0kVIkA9GZbpX6UvBPEIaiIfJ rQmXemNobeKnjXHQWCzAAQekzWOm9cqfv+5ePl53x9Hn3fb8cdydFLhclAPbCjfAfzK9M6LQ PEvy1DrV4Fzx3Gk3XrQoB7g8s0IUHIfEN9kFiGaFgXNyzkQfic09pT5vC19kPkMdYACm8kSM YAp658T2X3JDJcsS55SsZOeTJcXOgKTxwEEet44YjHIjh5FxkqcITqcRtAQkAeZvTjILIAWM LblBR3iRJrCX0qWJJCPuKCt1qUJTZ8/MSBxwWB24JYxE3+6QCG0ca5f2AIpRmUFm5E7qN2LA mCd5honMGhpmfjF/oi4LAowHmKlxhP0ielKbaw5fP7mllMRJP+qqD/XEhXvdXpKIQv/btfO4 SFIIJ/QJUrckkyEK/sNQjIm1WS0yDv9wOTqIJCJq5S4p5ukCOIOTlaxNtr0ek0FSRqURNbz0 JjfpT3UyQxRbUTNNOF2XEdKAKqfU/IYkovlBogA0lJlMOjJX4xAHDeSWBDnUBK2fYO8G+zQx 6Tmdxygy03QlrAlQWYoJ4CE4NCNTo0Z6TpMiz3QErdD+koKYpa4MLQATD2UZNfW6kCQbxrsQ vVh5bgRdEvtwq7Q5sHwk8Ca+73R82g5gVFHnX8rjl1VXujt+fjt+2x6edyPy9+4A0RpBLMAy XkMyY+YrBhNn9P9BjpVgS6aZFSoNsSyGR7mns03DH0IdgkThqWqmcT8R8lyHARi0yWAHsjmp yg7nICCSbl+G+iID205Yh0mND1HmQ3brPvg8zIMAiqYUwYywpVAtgZd1k8q1ypieokxQFLmP tiCs8JFAsnSkAcUqaTKPmKwAq1Su3A+72qsNNEpDI9rdXHnUiDqMGalRnb0jqIoy8O6gPHDk jnqGo8KKoelcIA/WH8EOwyGYNWUOlFGqoqrMkKv8qa5Ia7UoMasJnIrTFCjCPYrV+HU0gAT/ vJgMMV8iSJAhXA7QYORBZRH1RH9N46fTG3f00HjiTS7gb67SYTGA5OYC2h3ASzydkyE1Ruth CaNNvHZYrkYylIEZmEephFOw6AGmjC4QHyKIITehUc6HSBKZMw3rLk4yKtDCnQRpkhQPrz+d LgawGVqF1B/in4G/oCgeoriwA/wSXh7IITw4tKE1gIJQNrQZAnQ4tIAVjfyAZq7cBfyHEVO1 MymQGcdLK13eOEC3DWw5R7KfRLq29khY3mug3EwzVL+HoU2VQRWBb2TgnKVGOp6pzF92y5rp 5HDI0TNOIOQXJL6g9xVU4G7fAa7eg7UUTKXrTpLwqZhNXUH/CRx7qwMCZVsfj+m123fIUeOp 26oUx/HYOfnDzVVTf0sdLM24ZLn8uhuYM7aRuTJPorqvUUWw7fH56/68e5YV6aeX3Tswgrxi 9PYuW8WnpjsANVgRGHmE2kEV4UDZkPrJagbL1kY3hMG+qhZQIcIMqvGWOcymkkfOBWQgAVh6 nPikNY1s0bLEL3ui3AqpxRyJUFZliUwr5qTFXY2PGdV1O2bpGofzFs0KIlFBwRqVZdUd5KZj IJKqJWRKtaRQGdvdHrnkFhXIXdktwTK9MKRP/DwiXCaeKleXKal9Vr2c22c18X1Zj0OujbCd piSyOUznPId5YkPHZW6ntSwz8tbiVY9btb1Mm5Y9RTOFtMKAth+cLD/9uT3tXkZ/6eT0/fj2 ef+qG2JNjxPIigXJYuJuxA2yaWdbF2y1rkwFFFpQrZiVvMr5OZM11thop+gdcJbPoAFjOFTT HHMKe/SYW936qs72+NwJtJreTVEuyDyzWtEdVCEm4y76CezQt8GY+fL2QltvZuNWnugACvZo dSUVZ6gHinb72Vw7HO8kRe6ETxLoGxRwRzjbpM6uY7o9nvdyo0bi+/vOrn5kei4HyRJP1uiu YivhQUNoGDGDs+BCMO4n3IUgAbXAtZm1JTT1xh4hXFFblwCTPkAVrfrWImm6fIbrBDqa6IaP D/7PvmoykIuNp/av6W6WCC94dF8MWPPVBQKS1YyhIR5PzP6P2iie0rjIY3XOrWuLEi8ddYkf wjnHrsB8Sd9gE2mPbrqCSpnk393zx3n75+tO3XiOVOF7tuzGo3HAhPSdrhOskRxnNDUOgQ4o SW6eC01pA8HcrkrnaZ2Wckp2d9M/p91YlC0YCMGpaWp9i1OrY7tvb8fvI7Y9bL/svjmjcRAh YbVOylu3uulvZFVpBJ4/FUrhKqW6aiSD5eH6GNT2M5d7nCaZDGmuLhadZ61J4D9CpV0wi1Gq hhuIX76fFaJdDKvgCXEVIpw594Izx4TVdSZjSHZtY8Xz4Wp8f1PPHxHwGwhOiyGT3ZyEn65b NgOrWnHWeAiRBPGH24bLU5okrj7Ck4ot5uIriLwBsUxIpUJKySJDeOHWsfTzZd1vNolkuiH5 uZYwz9PqJrm2s35TatjGpHs76O/+3j/vRv5x/7flysq83XCEQZLhFqj9o7z65DawaXk2C8RU mZ2Xu9YnsYinrD1Cwlytpy5Rmqwgt4Ml/ABZwfO0S9whtfrKBhYOHLPXyzjtAJwX0BL3mNNs 0VaYyD0bglpXJgCiydItr2wVt4lTxKm7yRYmIo1yRdUN5AB7fjucj2+v8jbrpbYRS5PFWjbN 1kW8cicNcn6Z6bjLXsUhwyhTTxgukBB398WQ4hIe/CLrlVLWA+DueipNxQVFggythBGfIkEW sj6YOQ7baf/lsNoed0q3+A3+wT/e39+O5+bkKT7+qmVl/kopqH0kJFw2+S9or6LqV2BB1ps4 ceeFytzY2l3eKv5QiqBsMlv36h8qgw0X0tUNCdpQDe00gmPoo+LOXc2XJAKKsJsLWqmohiYL KZcH0tUfV0eb8FZMlYOUuU/ury7MX5MNCRDkt1djG126/CFr0unF259wYvevEr1rW5s9S4Q2 YPwYpURa7pVzvgF2mt8WirTnnUY3fkO+5WgmrR45XKStc3W3E6odFDm8vL/tD/YBgvLEV1ez bUdYwcsLRWeGoOjSoAmxLXhsW4MlaS1NLd/pn/35+avbj5o+fwX/owKHgmCrVBlkUWcw66id YEkQ5IrO9YEv9U3/wjBF7d9FlEDyj6mZJ8EwPUu5uk/P2+PL6M/j/uWLXedtSNzTlE79m9vp vat9eTcd3xu3zvB7dnNtrkhg6nr5UYrbeiWmFym7OTKLMpsxGUqpb94/loDCh2ReNU5keTAz mgcVgW5DFtm6EOtCpi8u66m52TdvDY+cyR6FQ6ICh5BfmCuuEExOVmCfLDshJdu+719keaht xBGjKyaC0+tb1/1CPX3Ki/W6K5YceHPnEBfowVlMu5hsrTAz05B7BG1alPvnMgsdJe0iKNcN qpBEqdn3sMCQ44jQeuMA6hIsdR5xsInYR5Fu9RkvUTTDgGZsBQWBfonZUXmwP377R3rd1zfw YkejVlupQ2OKWINUHeDLt0RGf2INdUE9myV7M069RNFLdCykoZMlXqa7srXO25I2DfsoWaku k1GyVkpgxWPCjQeFDcrP6FKuhDix9UUnVC7LPIIfyIOcS1CzO5eROZR27d8FneIODLJu2gGu Jh0QY9ZhLhma/QZ5ESJvZrT+A7v1IpEBgbReFWnE6dl77FO/TPw4jV5UEWWdOkhSyg6fvLQu InfW6YlJgVKvH7emTtwj7HZBPOq6tmAhbceCEqR9Uv8QFYjKbTTNyFxivdsxt6aQvwsmn83B aOcFvKLgNAtKks7o3Fv3j2bCr+NO3b173x5PLW8HdKD7W9X3c2ezksLD7Aay1QtURr91gEp3 YyFBhgMukPvNnkEnMneSLEmkkaY8ujAh2LF6E+Wg6vQ3Kw0pFeXwT8jiZBdRPycRx+3h9Kq+ FRhF2+92L1OqKVqAkzCvYRTQ6vYF5nupuPOryIxKhtr4LPDt4Zy3rglttJw9SVrvJLVmdY8X DjhDXNieUodJxP7IEvZH8Lo9QSb1df/eTcPUlgfUnu+/xCe4lVtIOByTdspRjpetbfXYzL7A KpFQY61Q2l6BxHgQbzaC9L/XrwijHsIW2ZwkjIhsY8sgnaOH4kWxor4Ii8kgdjqIvRrE3rXX 2J7Z1VZ10M2mLmXRycDK6bSrd3rlZOO+zVWGJoZ3QTr3CCL4gByI+Vz4rnkh/0ADA+WDDHsJ YL8tQNICII+T2H5c3W/zujzcvr/vD18qoGxNa6rtM3j69sGA9AKWK3cnpfG8Zdmy/8u6Zl2C y+56z4IronkKmaPq97a4cHw9HWO/fztiIhRNL4Hg19fOW3Y1P6YduVVJ0UOvNr5Yyovojqiy yQJqd5fPF9StX3LtXj9/koXedn/YvYyAZxl5XZm9mpHh6+u+w6DaMuBGWz6NR9qcWnvVEdw8 lMIfQquYMGWimyz7+9Nfn5LDJyxX2tdsliz8BM9nxlUNDtVDBlGwh8lVFyoerhrVXtaakiWG pN+eVEJaL2fV2Y+JxLRVVIL188GNvuDq0XxFamZTDjRHjOfuqxeDClxRH4PpWkaheWtvLMex Ksq1lPXiP39AUrB9fd29KoWMPmv30PRgHCryYbaoZUUGwr4IqJGwOPnYUaC29HpVcOin/Wda qUfnQz1L05uHAuJkL6/N3A3pmkQ/qbtAxCNcRCmeTXuamw23HyX0MsyU5gepknWM+nNARRJA qkgD98POmmgZ3EzGkIpdIONhEURYXFCGj5Y0xu6apCYS6/V97Afs0ox53FPd1CSy+Xo9dj+d qolkLXRhZ8RiyITYuntA9UJ6by2aRQg2mxaw1guWrPrEQ0LI6Oc4Qq6PDgzb92XhOsQWZYjb PaUapeNYNGcdn832p2fbCUAm3v6wq+Yj/5/1GWWNAceXhC6nQfkiiXFI00Gkzq/rlyI/Ruur HsjYZbttYvk14gVzb4Z4nuj4e/16AWMIQ18g8Bh97jYjYn5DbUJl3zdEjFmfP/QQwC647bQk 89rvc6snCA4JK5wKiWodUQq6G/2P/u90BCnQ6Ju+U3YWSorMFvkRyrukLorqKS4ztpeUe7TH osNNSrJWayP0GIZAc3Pt9hKJ68GIfpwKuy/q56lQQsoeq9EG6wEAcRfWbWg01EVAg8QhhEGh LqDV8XeN701GKxq0vru7vb9xDZ9M764GRsZJaz2xlWjAz/LBGLgvjuak+zgwPb6d357fXq28 lHIEQ3tfkLna2PGSke5VqIS20rPqeZxEGZ0GSai+uVJdYBserizHpWCB/OAAW5ak4c5vmyVG oGxORGeABssLdi7CzPU62iSLkiTtY9GO0NUJNTVTu2dny9G/nl6vCz9NXKWWfhus+6LNDoco Fj3hU9CAKeW7Lmswv59N+dV4YnJTKVfBuUuHEKiihOcZkYdFfsVpn+K0oJH7q0HV6sQJpB19 qZqiCBAXWeqaGaU+v78bT1FkTUl5NL0fj2eu1SnU1HiUCaU1TzIOhWQ0hVKyi/DCye2tA64m vx+vrcUyfDO7dicMPp/c3LlRKTitNMzdzWLurgD8VbFWXzzJS97eu9D2nw2oqco3E9wPiEuz 8vVbkQlur05emId0QTZFzt3C4qn0Pt1ISiB2sG4U1XCwrqnVwynBEZkjvHHOU1IwtL65u712 GaUmuJ/htfFNRAmlviju7sOU8HUHR8hkPL4yo1xLeGOx3i3k3+1zpP8yw+7f7WlED6fz8eOb +sbv9HV7hAL2LPuyks/oVUbtFzjw+3f5T/MK/f8x2rCX0j4jymfy9sWpP/3YRTarUvfJg+p2 9ejyDwSHVjjzMCuWziRcmpD6/KxVQ1am1QcG22rAIfJQjApkUMoPwW2LX6Yopm4fa3lU3YfB nFY9hI5BqvfhLDEy0gxRX/3ZGPP7S2y+A1NjWs/8FEx9/h50I6uSoJx6dP7+vhv9Cjv5139G 5+377j8j7H8Ce/utEaoKjNz8JCDMNEw4YHMHTH1SaMtXO27XNaokwOqKvfVHSRQmSuZz96NH heYYxQXimxhXzQm1ZlGZ76mlcZ5Sl44LLv+2Tw88oh78pyOZHuKu7WoC+XhHftLSK3+W1vM2 rajWEn6yFbJSH3PacUhi1IWOepbqmK3a2hl4c/g/ZW2ttYap+fWXAgH1/dq8z6+gWiEmENkP QjQsRJPraXu4gl5N21CEHTIhim8tAUqAvFfj8kFl+fccjL+TVFFAEQcZkfpQtmD84Xo8Niq6 ikj/naTq+twV+UtCncPq1xtdacoMF/HFg2OSjKh3AUJs9Cf4fcYg6e/bi72/uNj7H1ns/Y8u 9n5wsfftxXbksJfa3c77q7UV60tQ917ZPkz6DR1yPsRQrnTpOqMKeom1JhKwntbHwzZRzjqu OBUQ95L2GmWvAY5hRxgoGRnv+fZceUkQY+rGM0hQVHyIyQoCpisIVhQ6l7Fq/Ao1pL5UzLpn GqBTqRv5V274nDxAKegaNYSfurjSGcvajpbJl5SPbRXnAQ9x2yloYPvSpUJBwooLgduvkV0M HI2xmgv2Y15T9G+aOeEPEUtDHpCr/DSsO677tvb/GLuW7rZxZP1XvJxZ9G2+H4ssKJKSEPMV grJob3jciee2T7uTnMQ90/PvBwWQFB4FSovkWPUVC2+gUCgU1Ll7IG2n1dPuRNnyqRomObCv MnrkevvGqHjs0YAOM4ash4ZmpKoto++mLnZXS2TJjHgm07dac2EhxvK1uBM1eR/6iaOhpNN7 JoS7UW0oCzlzHfxoUOhf3YYaQGpsVyWqTAmaIkiPdejnCZsQ9QXygvBL2cJKCSa9Gu7Aujbe +TbMkB3oBzeycMEA5hxRoLfqhacmmA1qrkp9PDOKcIYya5Mh4C5mr7FPvNfCdtyW3szB5hvH kF/kfhr+bZeeQYHSGLNpcfxcxG46mmK3F5GuThwHO0Pl6HrzD9PkLs6zWoq4KRbbVqzLsHyV j8KmfXb4XzYwQIIQRuL0XbK6ZOst97LvW8xNEHj4/R0thY57/gkjkuSE/Z/X99+ZiK+/0P3+ 7uvz++u/X+5eIfDMv54/v0haOYjIjvIGjZPqdgfBLit+w6YibEVzjE/QCZwDpMbPz/inh5KV H51NAGVQ7kaK0srT467ASEYpqTzJi4WT9vt1N8IK/1mvlc9//Xz/9ucdG8ZYjXQF280qQVx4 Op8gPJie9hjorbiruVjdxEraX759ffuvnh8pVfiY6ZlR4OgLK4fI2IGWlmO2cM7AVnUyGp81 NIkDF586OQM4OdlEGk7lvB4KolH6JzY5O0bSZ9LsWji8rHZGfSzOmP96fnv77fnzH3e/3r29 /P/zZ+SggstalapFpdJuVcPOqlbP+kW8tqIcyhz1WmGaGmnKTD7/KPiuzDEorkkxmYIwUmiI JZtR+WKgaIc7fhFyY8dY1HzjMMi3zi6YLKqord6hXMheXVsXduH5wdagJjuwPQ78wHf8IITA 6RChsjG+4DfrKGGraTNM6nVmhp0aOvSkkw//GJXfPNdyQ5usgzimeNLDkXB3vQcCAR+0aJ0g 0VKPDOKnftqF0wKcb6kmQ7sXJgmvlJASjFITmKcV0rx/lgU+lT22aMP3Zv+QqWyJtQCKN7cM HKleoReMtLiGxPsAHpMQoJOWGI9crKYhHPhtwpmme19apIMLjhxUYSUtzjl92w5HpilDqIwb 2SZaMrYi6x/hHlpv9pL5U80YrvRCfoUHzzKEEuWdiWrVYkSIgLZXoz/MR0TqUdiQs68Xb9zL sQ2jQiBrVOEDsFMNk3AktcvYGDYPuOium6mIqP1JjZ0ifoORzqTJ28iZJm871wRnzOaGMsOI WVEEZSjL8s710+DuH/vXHy9n9u+fpvEWoiediVyPC2VqFQ1hJbNq8BAy29E9ypa/zeSXr5sH yVGC/Zg6Nh3Ldb7QzNlYlPHr97/erYZp0nRyZAP+k61/crRWQdvv4W5YpQTxEYgIunSvOXMK rM7YZDwCZuQLXMvfIFbxqhT91LLFtMITLdnCo6e40FnHzE6jFaV5X5bNNH6AYErbPI8f4ihR WT62j0jS5QNKFBe3pPo2/Ba1imHTxa5lOibaa6U8YmeNS/YoxJS+5GWhTGxlZR0eA3xlwbjQ C9yramXI2x26VK0Mh72H5YTNUp2FPNUowlSPqqzl4OIrBtMe22JiECUFG2FNod7TWeGhLvD5 9yKbb3W2SniGIKLyCrwicIujqlSXqUvOIGpw2+OnmirXzghIbrBB0A30UtelqGdSsB9INp+O ZXM8ZWgui126nfIhq2Gl20z5xDaUhz7bj1jPo6HjuggAo+yEdoWxk8OBKeRpv7ch6tS1Yt3Y 5wj505mo9rIV2VOSRXirifHHA21iq9wMt6f8KCYXafm9EKck6eokUo/5ZTwr4iTGW0Vh4w4U 9YirRArnienSZMwJ1n9kxt3Jcx3Xt2WMw+h9XJkrf0zyoc7cwLHJERwH17JdVFmHgXY2zxKT M1jUng1pgX6GjXAWj2yL0Lc2QcesZhsIPLSizFeWA8E7AdtnVtl4cQbDWMbcF/tdBNyfPpKB nmwZPLRtQXDTiFIONnuW2JmlwvTIiOz/IJKPrGQOUhHWM+zgUN7bMkosIfplHhrRxzhycfGH U/NUWirwfth7rhdbUDFxo0iLA+cMvIfOYAC0lUew2JwkZE6m1Lpu4uDRcBXGnMIx33W+mrou Zu1UmMpqDwc5pAtsRajpwYv85Jog/sParPUYnappoNfrgTTliO8/5NTuY9fDG+U45J1tqmVA DYEKLe1cMOV2CEcnslYFOaAmUpmH/92DgyieCv/7rJ54KDhYqn0/HPXawsrDZ3FL5yyGJB5H 9Xq0wlAnvmtddU50x69etRS/qGIUiQye61uKTHM+s1mGEYM9xxn1HarBEWyBllHd19NAcYiy jW5W2MpPCb1hXaCD6/mWjkiHeq+9tiOjpybADKAKz5hEoXVcDh2NQgeNyiCzPZVD5HmWlnnS DPtK1bXHel7jrSoA+UTD8WoO+PGauTtT4t8J2qILTW3D9kUoagOZmuQGRiKCqg6CGRlyT05J 0+qEOpVnHS+JVbvbMc1G9umct4H+6LCqGwbZyCEg8biCURd1lgSmHH6tcceWZC3i4wUsmDJe oBsBiekBgseb5Yc4pWyDVXqmbIil1GXNzLCh/N6Pw0dcN52LC1HS2N7fvn19LLOKNPdmHvLa ddBgLxzty8Op4uERjqyNiNG8fTmcpu7c462QjZ3H2r4r73VkOFeB4zv2TxcGtFJPqBWly/eh E/n+1NUns5wMTUL0WHLGz/WlDxgImg3e6n07gDmybHgPMdMtsthLnLn6sBPXhS1lecfHnFhC JjWK1TLwxsoPsKlB4KSGkBEnXSKbULwozUx5DIi8CDM9LL0l87XTIAWw6mCz+KLMYNdIK/bX LrMPqKJ/4NPGXG16/jkchRKs1zpniLFq1zi55xMfP7gle+7ncAmFbYnk/qoJYusjKAK8pyBy +pqY2yROxNc/DtFacqHllL3jmxR92ed0r5hdiHV+2S4wUzyd4jsGJTAomU4Jw8Uod3z+8YWH tSG/tne6p6iaWeSqj8bBf04kcRSvRk5k/6t3gAS5y/r7XWFQc9JRZRoW9IrsGB07seZwn53N b2bHa+07jYmhteUNFiGkzyc0R23FaiHrqMWLQxQdVBs9AwoHn5+E/Jl+0moWzExq/S2UqaFh qASIWJEKv8e14mV9ch3LeyMr0742NmGzkR7rOqsBH7OtC2Pv788/nj+/Q+C19drNoiTJBzcP sp+1iMIPjjQNFaF6qcwphemfacezRFsLxTgvAMQdLvAD1lNDxjSZuuFRfgKPn31biSLk+wcv XH2LKh4EDU6/IazUMuDoy4/X5zfzfF2YOqYy6yswKKhDggGJFzp6/5vJ0mtnS7AUS1dbPtAu p8mQG4Whk00PGSMZDysh/HuwPuPhI2W2udKv5UtxK5GAcpQ9BBTBFKc3/XSCoD6XwM0y2sPT A3W5xVKOQ9kU6tN/Ml5nzaM1cp3MyMNl6bfF1OYD5wjguFqNPcWWLEXYWQTPRz/f5bWX+GF2 whQRVYpNRD94SWLxKpLY2tr2Uq5chUMUxvFVNjYcO3hE9kqeq45a+kJNChzgt9I3Kiv2YmXu E/crv339BRgYhQ9lfqvkpxkMdJaV1Tu2/FSOxZy7cFlDLMwMxq13nSFn5Y9dd7NpkBgZOov9 ov7MoPmUqSCMJzBoGtW9AOZUrTOsA9c1s39kyhvqsTZXgWIxkYjYYrAUxxbyYMY/0k243oYf hiS0ecwKjmsDpYIXvz7Zy0zzvBmx2VwA1ydemrsRobF6G0HHrNuFpdeQelf2RbaV0Bwozmig JYCcvY1mHe7jkB2ga9iTmBmByUhGwsC4zGduY+aXmXbZqYBH5j64big9zo5w2nMOF031LBtd aKRMS7jGxNRDQ5KWI/kk70KzjjjA2GATFWEOtt4SUWaGIWBK1W3niPOQZl+V49wkqJQLB9Zb jT7JNtOoJXjBu96c7YG40Uw89Mhm9T+Uu9PVlmwtYduXGi20iXUNuaSohFrW63zoKy2myQyJ iLzgZqX6XLZjJkKSVAS/CM45+FUT3Jf9scnBCDUd1Ev607Go8AfLn9pa8ZVtTlUF+jzCfHzI 5+inRnn46z9qTAoJ4fXAZOoXnmdOfs9KFlp1ZtfvOsVLRfijYx2DdDWZxHOylmcIaQdPcd/n VPDuLDF6mo6pEWx2u8o4C9wN22wM3M3334Tjx96ItHrZA4k3QzEfuqGSTH1Z11WwDn5Yo1Hz MBmf7Vu1tYfI6je4hjOteAqUY9kLNVBunvReIJacNTq3JdFLiVixtTDcMmTpF0PO/nWSqxgn iOOMKe9lK7OMcIVMsfNLIJuxSFOibh8yW3N6aDUTFMCGridhi2T9m4cBbgD07YgNqSVNOvj+ Uye74evIbPlfRY+kqh53lgcrOWgEHliizpvtNH8mOh3brJ/YVA2XcddAzsINjGkSpredciDB qo77gEEQHJW8vi0k0/jLtw8qsebubyLGx19v76/f317+ZnmFxHn4PERf563e74Q1hgmtqrI5 oIZ6IX+ZkxUBgl6jG6wFr4Y88J3IyDDTFrI0DFxMpoDw6zwrD2lgjtxIuS8PZqp1NeZdVchj cbPK5O/neOFg5FAF01pM5HLdVodWec5oIbKyyZ1jtStBrORLO80z0x2TzOi/f/v5fuVBFSGe uKGPxatY0cjXc8SIo06siziMDFriukZrHckYHgvM2MdnjsRxVTFERAqQKHCDJFBJDT+Y9DTi AylIxrrbSat7QsMwDQ1iJBuLZ1oajXoBHtAISTMivH4uA1k8nfkbRLWeY3H+40/WNG//vXv5 87eXL19evtz9OnP9wvbNEKTzn0Yj8ZXP2rWzIcVtlBwcR4JvV/ksIuwdW7jpYmNw3LeNrUYg /iAddnoV5hABHKYHq1wk+p+MlvAwPI+br+5pNZBW2YMdNV+s1xnUC04cJQemCVSWJ6yBozx4 DureB1hdPmidFJsk+Qwr7mOS5mOZ254iF8PpcGR74MKihgkWirvp8uFV4+YOgbHJuLOehAFH 29le4gH441MQJ1gwXADvy3qZVuUZ12rH4egQhRvp1UMcefbBUD9Ewbj1+Wg5YIPJROipVryF jmj/3GrG4KBlX8QnuzzbvjHOmWo2zOzyO8tjVRwb7dODiIdlicEJDD0h9r5B/dyz3enj+HG+ vWnpH5TUywM1MrWz+b4DiG8/BcS2sHv8xOeC48ZWjp+aiEydd7bXBlP6P53YbsM+ErnxcNp1 llvNwIIZc1GGaW9l2X5cDDjOtb2mhuMJphN7l9l4/ozDlT3zY9WlG4MIXl4z7Mnl30yL/vr8 Bgvqr0K7ef7y/P0de95ITNEtmxCnk64y550Xudqqfwm9qOaj3bXD/vT0NLWUYFdZeT1lLZ3K h1r/eCCNEY9MURIgsmQrbBK8gO3770KPnEsnaQu6KjDrohbRMFeI6AaXg0abwqiMNHOZ5KQ5 BJkxBDkGkdzgaRbrEg1XNnU/gQsCiu3mp4uhQyqIGfGM+Baza4eawTvVCkO5EYOtjn4UW4zQ wFFTtrWsCd/9YAYb+YrbkQdYuuzNhBMBJdpt6gv57RXiqUmPYUKYq2OmOOB0HRINc+jYx98+ /6FvAcqv/AXY7vhYkd0d3JNqyuHc9vcQ/Z6/OUWHrIbA+nfv35i8lzvW/diI+sJf8WDDjEv9 +X9y/DczsdVgJPZUkgWJNLV8tQoY2F/SwfwcbOMCXMophMHOAW2NBec+RtgOYmGo2Vj3qZOo +2YdxZKmoxs6lqcFZxa2YnrhdZZ4m8V2MLLgFYT5BO3LaPn+5evLz+efd99fv35+//GGvpU5 C+lZXVNLaO81r/tZL73K1SdZHKcpvl0wGfG1FhFoufavM1outZgCb5SXhjcz4iqlmUP8iQ9T oH8j343pptGtbRLdWuTo1qRv7TbJrSlbZmKTMbuRUX/S0sLnZzd22ODWHAY3tkpwYx0GN3ab 4NaC5LcWpLyxNwTZrYy764z0GHvO9SIDW3S9xJzt+gzC2GLL6y4G2/VmAzb/przFIb710NmS 632Ks1ke0FXZ/BuGEC/pTa0Qe7eUdNRkLQ8IWRa1+e36L6/Pw8sfW0teCdGFtdcXpBfLLQIM 1QAs8ZmpMuQ0iCs/tACpZDcE243wMFIJPGo0j3FRkZoMH0LX0zlI/0l9qEBY2hXb/UqaHlyN enn/Za40Hvj+z+fv31++3HFjG1Jt4iWk4WhZXEVyiOeMjBfnrFNMfJwKLmm2L1YdEAnMxBms JiuOkhbfP3Ow3iURtShfgqGDOGVbDCO+qZhBXJ0SPqoWY4pwsM/tFUJJOxqVsLkRFzc1xiTE JwQOj1DPkyUytmh5iPWjv+WgVHUx+F7gj5ZhZe1iqwWcU1/+/s42IspOfX6CqwvDJNE68kzV XQJF9Wdj7Fs8hi4MnrWv8nMi36zrma47GRossYN8ChcyNlpp6EjuJRZLmOCgQaoXStr3anUo hve+uFK3PXlqm0yr213ByuDW5wejGB+z5mkaBvQ5TcBXc61MrDo/DXyDmMT+qBHXmVVNlVZe ols09NqDe2sJ9oTfBU9dbQpeyJ5O/lSPSaQTxR0djbpeeNSIaapEY0caYn2Q22ggY/TBCZmt ZLshGc2eWlfjDjf9XWBcM5lxNn1uDPgOvb02Q2Tiby67ETIISClAD7uaJCbAIvc9V3NqMCpJ xHhhk9Zm71asaKs45DMu7uH1x/tfz2/6Kqi0xeHQl4dMCZ4nKqzN70+dnAoqbfmGvxrME3V/ +c/rbHSrn3++K0me3fn1UB7oppV62QUpqBfImoWKJMptC0neiHkgyd+65xr/1Hogd2GhB4LO UkhZ5Tqgb8//flGLPxsRj6V8/rbSaV1iZCi4E9qARCuWDE19mRUQewqvnAurfClZlRFZAM/y ReKE1gz52KGYyuFakvN9u1R/yntL80tcCS45dEYciNXoqSqE7+OUeigdbEpQWdxYHmFqt5G2 EnC9TQQxx6x/HKWnrqukizIyVZiWFbufjPLXe/A9TJEJVqwg4lYjdK6TpLzPZP6V5HBU0mGl reJ32cBG1+N6nxnNA1iFIfAhqEeOxT6zCMryIUmDEDuWX1jys+fIxyELHVo1cnC62hEUZDs/ nAVflRYWusMV66XYGj6jSzRIqsZIXITuPsFdRrw+17xlqRti43FhgFAbseKdpyGeBfFk9WEp x3K710QI7UCaCTBhSeogX4Cm5cVywRdEn8sNibzaEImDH4UuJhG8stzIw/RDKZ9uEMaxpQRp YgKsgQI3HLEEOZRiDSNzeCGSHACxvF2XgFAkhwBJ6ljyEaaoF4PMoUS3WftsvfMDJH9Cp03R 0XTITocSattLg+1BdWirYk8opq8tLP0QOlhX6wc2O4RYaeH2r4+ppGthizRNQ6mXam+e8Z9M Pyt00nwiKCwc4qaQCPeM3PWbX7Qq4sCVUlLoCUavXcdzbYBSXhXCzWUqD24hUXjQipM5XHlw SEDqBQ6eu8EaF1nlwbuKwoMemSkc6LNiHAgR4Di4eKapH2PD5YLn4KaDSBzJtM8a8DdnSnGF MHBPODTNYey2q2A3uFP3gN/GEBw5+y8j/ZQLJz4L2qlhsxaYu+wPpS1e/cJFI2+rauBNNs/F 5JPwHq7KbUqHgJoj5sy5MOxjl2mle0w+QIm3R19QWllCPw4p9vWhCt3EetVr5fEcij5ysHAw xSMza56RPZN6JMfI9ZEOS4YEGWQf8wARwjSx3vWw5/d41O1DiRVWzM1b9Sw4kFzMgHourYAp OqQEtDV++fIcol0HIM+9kt/A8zzrx5aTLIUn2urXggMZ8qAyqBqMjEROtJVtzuKm1q8jLAqZ zJHaUvbdGN2iSSyRZaByyMci0SgcAVrbHEKVUYUjRbqWyHWKdOU673wHz+yQa6/Z6nhHPT9B G65s9p4LL+Jq6//K0MdsvPton6oj7C3MCxz7yOioY3QBZ/R4W1iCf4aqdBKM5iFBFkJGRftR VaPaqwTjI65Ot2snDT0/sHwZehalUeXZHs9dnsT+5ngGjsBDemEz5MKoQ7R3KBY8H9iwRKoW gBhTMxjA9p1oTSE+uTrH0zhM9312XzaohDbPpy6xRK65FHafhKk0Bjr18sbKh5NB7/OiCEue Q+hzoavWAu++7EtT6q7Lpp5GDjLe97Sb/EcsPbKrp3y/72xhK2YlpKOp52Tos06LoIZ2px6e RupQfYD0fuhZPLElnsjxtjRmxpE4EbIBIH1Hw8BBpiVCqyhx/8fYky23jSv7K3o6Nefh1kik SNH31jyQICUhJkiGICU5LypPoiSu48Q5Xqpm/v6iAVLE0qDnJZG7m9iX7kYvIXb1skDI3TGC gLvVc0go1BQ97L1rMExW81sLbp0oxDMAmRcf0m11qS19106wtC4tD5HHnMm8SDyGBjrRer1+ 56ZK4gQR01gTJAk63gJzM7sdGsrWYYCU2bB4E6+7Fiu1ORWCTZgfmY/Rmn9YLZN0jsfiXZPn JEa2nLgn18t1gHCYAhOF8QZlUnqS31ihWRGKYImyhKe8KVbBXHM/laLX6LcQCU4IWrMj0gph Kyva9q6hM4rR69Ag73g2SdYZWWpHsBAjkWNfgHGWRSDCv+aq2Xfrvzwfkrl957iFXc9DVgh2 EL3iC0ZWazSxt0YRrJbIhScQMahgka4zTtYbhvd+wM3KAoooC3H2lncdt84A53smuFDsJiOr IMkTXPfCNwm2M1PRzwST9mmVBssbHG6GwbjCwwArqCMblB3q9ozM8tIda1ZLbM8CHJkyCUcP LoFZzx7qQIC2nTXRCqnqQNM4iRFh+NCtghW6NA5dEoTzR/sxCTeb0BffZqJJ8ASMGsXNClXD SFSAv+YbNHNbRhIgy0/B4eAyTc41fCnurQ7hwRQqrnYoKg42e1QponDFHn9vv1LJlx6kQ5IR NuKzKwCkOe8oNwNCjriCFe2uqCBqGjwT1dvtlK9XS9Y7kjtHs4WHNECQceAMya2Q6sbEj7sa cncXzflIuRkBHyHcgiJMxu1CBwb7BCL2qXQVs5/4S0cI9fYi6CytdvIfHD21SO9uXhy2bfFx pJxpQcF6FWsPGy07C+aV4DbEir6i25rcgop8noik7UwDWXerLb0ht8zr5REcPZ5/GMH1JDIl DV3QqgvXyxNCc32VnaebQhtiVclysuen+y+fn36glQyNHzyGZ/sPTscVf5eEo4N0bai3NbI5 3eWv+xfRmZfX57cf4KIz1+iOnnlNZmt7vzwV/vD+x8vbz29z0+AjkTQf3+4fRZ/wIR4K8NJo RxvEA5ob32PakX1eo+pinomji3OaWbGEUJc4MVGpTq6Bzb9kilJpg4QVblD4VsRAwdGUERKv Au/Yjt86ilGP9KwT7VhKzoRh57JBZgQtUphCywglw0x8ffv5GTyzxmihzmsZ2+aOnx3AVFzV XZPmWHeBAh5qTF5CubmB/aXHCF5+lnZBslk6aVVMou5mJY5YPP4VEIjuRjdLndGTUM0+US9N BuDGYKYqHeCupeEE9cZpk4MIttyonvyKDSO7XAlOZj8yVfoTGLeHUBNDicfmHiYI/N9sk1zt a0BHwWxXJYmv0cq9zhxUFdbbga0ip295Wfk7BvbIt0Iw8egpJIlMYK7837xEQuwKTzNh9yRN E8SeR1uJPolK2tST4EtRBNG54z6SPeRyd2ZKQ4rGGRazEAuZ6sFMAGBEN4FaZWAyMc+dBYaA 5tYOkCa7hNW5fowAwrbVBZjKhrDEgBECjO3tphl3WBvrtNnEM8eFIvA4200EHpeVicDjNXcl SNbYRAzo5GaJtTy5CXA91xV/gz0uTNjEKbSLQ4+X3Yj2Fzm+qZgjb9m6apiqOxW+wx0yGpjl uJZH10wDYo0jUDs2iSyE2c4Tep1XC18d2K0T3ZpRwQa7FKPslkRdlPinmRfEl8tLoul6E5/w u9CvnpJoFi2tFkoQOgL89i4ROwE/5NLsFC3dq9G8liGQhGBzrQrvONHf0QBmJPcx5giwV+N7 o3lgE5ZgD59DgaWZVELOaVoyj5cwWCqtlh53Z2XGtMJULGO2Gas/gy0/Br1ZOn2/OhIYrZXk Sexbg64/gAYNcKjLRAiMOCz1ZTsm8jADDknaAZP2ublaBCJert9hlI7lKtiEcyumZGHkbpbZ kLKSYHR1MD5zXIZ0tsN2GdGA7hBJJiZY2xUcWbRa+jkAQHt08QptH7ku2re4BXJtX3C2E8cE s0P9jZjIyf1h1+90mXfHdeKJLK3wLAzEaobgC/gT0kQlafyMD2SJ8q38IUWRNX1D3iKkt7f7 NIdkbqT3M6IEDI7hREPvmTGbyPXI1ePj+QSX68fjo9rU4ClLzygHOYgtPRViFddlZ1nnTCQQ tbSXka0r3vtGfCIHPZBUA6EfOOSCO9olZlQ4AwlM1nsFAHu1wXoHdttJHOGFp3kU3uAhBjSi SvyHG6FpRFLwm23ltJiw76Xo9U4lo4A3Ww0i72mLwBJEDEygH/EWZoWunLSKwijyDK7EJp4o BROZx656IqC8FNJNhDUA3qaDzSrFGyBO+dgj1GlE4srfzE+cJEEHTVqLn3wY38DAq3aUYPZM Jk28ifECRsFhtgT5Lp74S/CLGDYZ+uJjECXx+gYbBYmK0VUFqOQm9KFu8N0sURE6F4j0YHfE IxDZZB6xyCJLltiDoU0UxGhbmySJbjxNFTiUFdNIhMiD70iJ8Sy7JqMellSjIenN2iNY6lRK nHmP7CB2P2r0ZNEk6AqRqBscZTrcTQgZX69tGGbBb1ENoatwJCTfPBi2RxOB/oxv5n+GOGXo F0JeW6LzZUtyOsb0M9Ax8QrfUwITrD2z33bs8O5+5wFrUk8GXJOKe8zjNaqIJZsYZzw1Ksc5 AiMqd4ID9vioa2SS3cvqGhwr/xHtoS22WY+/Rdq0zfH9MiXTej4wTyR1jVQIvMsYD21gUCXB +r0bTFJtMM34RAM2M6s4RA9OENmCEF9RSpAM0HXoCqQ2LkEPP1c4tXArfztNMdTBBfjaH0XP +SGyXdYnlC3yGJi1aRBk4G5uMFNg66wp04xmejI/YknEAsBSI+FKSVGn1JaM6Uj1QNjtuSqu CAPekkiDX0uXmHgus2l7/nDAi+R1dYcj0uqu9tQGL9PNfH2MgJo7R4s+sQaFU+UjhfWbMRch R+9ASWHYX7ZES9SKt62oCqtDSERuHU19tl9jo9v06B0GcTWZvYQUR9TsoEqRZjVqJg5wa8f5 0daOm1EARrCARDWYdhims2uLlH0yl6yAH2mV1VUOrcU/hOTeTdnvVBeNUdn1KR4SW2zcTtBT ZwWfPEaZcoxxgx0x12VdN7ZTu/6pCt9DPVeBP14ueERXJzT6tkDJlCPmdhmyHEH+QUa7zt5N 1Fy4p6w+nfNDbhB1tcaNkIK4etwCorkDBj1OJjR4cxu5IGVp+01oergAVK6yc4qbagCBNyaC rEilCxPMAy5wS5oOf45WOF9aHcD6M40Bv9f0JS8SIPSStCmtxGGV10cvmRq0YcB0Cvn+vHu+ //X94fMLlg0i3TXIJBx2KURJnYZ+AIB8AYH4+R+rWFtn7HSmTX9wtZ9XktyMeq3sVQRsyrgy madoYAnfPt//uCz+fPv69fK8yLUPhrK3uDcdgwOa2uG0h0rQMpVxy/3n/zw+fPv+uvjXoiS5 ndzz+lwvcGdSQnBPdX4bN6XAYcG+BzRs9VImmPUVMFHcdnkQYUfeROLqlSeckFnQwZkoJDdw LAvsTWWiskWGCWOzKRMmzUGoXHpRGxTlvlpqvXFevoxRiMNlig+DRGK6D42kSSLTgV2rF1K9 oFmUtS45RhgTzqNt0io/RMFyUzZYx7I8Xul6Ca3KlpxIVWGoQaOrK3PfWdhqRz39fHl6vCy+ PLz8erz/e9D1uosfjgNiJ51iOQLMe8burrloSV32rOJ/JEsc39ZH/kcQTY1+r0EjnXPETdPA 677KncNnT3O3W3tqPM2KP6ewFoK9qHYdHnFJEFrM03SAQ0WIXYEo2gr0x39dPkN+NPgAsU2D L9J1V3iivEk0Ib3UDcxQtD0u2Uls06CvUFecfv9LIDezmElYL/gwzJxRjmZR3tLKLCQruro5 b7fOyNNdVlQC4SmL7EEdYpZF9lT8ZQNr6fFtl0/qfodG8gMkS0lalnZB8pq1YKK3HYXNli0j PbaIRN41baFnawWgWCq7umoNc9cJpgZCIy8Yd2FlWtmQQiU2M2C13efiE55UXi1HJhja3Cxj t22tUndl3dLanfd9XVoJkjXkgR7SMqdWSV2chNaKEs2TK9iC3hUmoCdlvaPEbsMxLX2PJqoV xVHwidRjBwRNumulKbCnG5SkeWFXSlEJDTAf0sw0YANgJwSSfeqr4baoOBXnTG3Nb0msAEQS WOQ2oKoPzqTDUNnnhrHUxUgyMaPWGDMxmK3dDpbebQXPsrfrkKLZzjtwjJK25vW2s0qrIbNf YW0zSFFPx1Vg1FJ1mCyjMC3d2eSCF/ak7AasuNTBMlYsZ98B3RQVk9nOrXKbokvLuwpTl0s0 ZBYi1tQMwOmKxtHe78RccxxD3KOtgWy6Lax0LNbSQHEnvRdMIVsD+w/epqVCDDAb0xaivtxa QW1NSGp1VJzESklgwKT8ZQELRi11ggSL4907pTKsCORr9FN0RYpzxAO2KEEI9mQAkjR91ZS9 b1xbZh9yoKVPuX5tXEHOuS5TlX6o76ACveM63D8v4hqqzfLEYcitQCsSvBdHDCaYKCQkNFRx AqfSdKjTbMgffDw3PDTBx9S5ko6UgkbLBJ6o2GZ2Gz8VbW2Ps0lwlwtuxnviKKee877P7GUl 4UT0Bp5j5F8OC1M2vvmFnBPB4NA42vEjfNs1+CXKZoJQv6fORtcAA4UKGW2ExdQLnFIJGrWY SWMceunXAeGmfF+hBEpiZ/mCbxWCI7oEJsZ3uz9bLO8k2WOfj0ijMm0Y6j2h55J2nRAPikrw X5U5TI6WCIBi4RnBLAAmTtDzcEto0L5s6Nl4c1PfV5Vl1g9gIXCJ3qX8vCfmZJlkyu1A/66q xD1CinNVHDV1r3IOeHj5fHl8vP95eXp7kVP89AvMbV7M9TL6YDVFyyk3riRAb0XBtKKdPIit 40sv5a5KwfKc0apuuV1I3UF64TrvSVdSjhn8D+PI5UBCFDEBcEcf0mQKyUBcn7nyefsj0NFq ZqYtAikuyZTiMndlHzkl8ea0XMLIexVlJ1gqcwSDU5IXXyAF6ONz6oPVct8M0298CkH/VvFp tnqgCeNgpoatmAJRhbO+1C5Aqh3hcPWluH7YJJtJ5mYQQqI7/KndIEPyO+KEPneeKxHHpdYr XvkTeGlIxaUnAdD6pu/aFiRcvTwL5qe/X4WBOzO8TFarGbCY9RpDEevIaZM0jqObjVsUFGL6 UY1QGYWU1aZMIgtTCYPg997NOQW7Tuk8F+Tx/uXF9UWSu1i3bJbHmp15HIDH3BnGznyIViEC xa3/vwvZ+64WkkKx+HL5JU7+l8XTzwUnnC7+fHtdZOWtTIHO88WP+79Hv8b7x5enxZ+Xxc/L 5cvly/8tINeVXtL+8vhr8fXpefHj6fmyePj59cnsyEBnTYIC2gaKOgr0GAavanyXduk2zXDk VnB4Bu+jIynPrVAQOlb8Tn0n70jD87zVPe5tnGkCpmM/9Kzh+xp/LtIJ0zLtc0zhqRPVVeGI aTr+Nm2Z/+VjpBqUJGcxoATzLNRpwe+oz+JAz2Yut2bK9SuF/rj/9vDzm/G6oF9AOcGNOyUS RFVn2klecQ+rITAhAjrv0nxXOBe1woH/oqd+RdBRrEjKTnZ5rOv9xzSTB0WOvrNJduBIQrtA gEmuyFuqpLB74FKo/s/UfM7BurdV6mIVa//x/lVs5B+L3ePbZWAEMEZzakWKcupX/G0hxNm6 sva+QAVItwOnU+r17P7Lt8vr7/nb/eP/PIMu+sfTl8vi+fLft4fni+LYFMnIvkI+PnFcXWQC vy8WGwfVCB6ONvuila+vbiuuw+LvWWC7tk4fw3k2NzEBPO+SW7HOOS9Ant76RhD812leWPfO CBVSH/FgHP73imGceTCTMtximIwg1hrQvScVYjU0zOG85DfgN2wPLUqpVu/cNIyUziqGFSHX AXqt9pxvAqtL9lP8BHMfVDTcNGbmwaqwnLJmpqMDVUpbAnEl3qVrb0PB4PrOZ0Vkq/f1fuzD 9QrFHPe0K/ZF2qFYSNQNDxtFWdgZXvXSG8E1Y/o4nWa4Z1jiKaRgTYE5wmsk2y6nkOQHbeqB 8rpFMbRJP+IInL4Qa2+mtyP6jKpD9eYmqyB0jroJGYXvjNlO3OCeCaXN0VMw7fv5UuFUbtIK ovGjRQ94HFdyiiMgB/WZE9+gMdKd+yDEzKd1KtBjouWzmm88G1fhVpGWhhinSdae70+997sq PTDPWDRlEC6dC3xA1h2NkwjzsdKIPpJUT/KqY8SpBloU3+HSkCZBYxTrROkWP7gAIQYrzwtH oL0eXkXbpkfain3v8R/Xqe9YVuMBLjSq93YLucuK9oO4G/Fj6phWvqFu7DcjlIpVtCpmWO+p MPJ+aSdQXZ6ZV1QYGk35PnP4n3HUeL9a4gvyYxeg8L7JN8kW4hOi6BN+nBnBMOB2NHVeyGM3 fFwwikY6H3C6j4MUV/O+c9fygReWdFcWu7oz39Ik2OYmxuuC3G1IbDP4d1bCG8kP5NYjGgDl hWE+18rGwms6GCeBcuyKkdAz21KZZFAF6rdaaTUSLPVIcaBZOzjgmbxMfUzbltbYI7f8uuDW mVPsuWB6pFphS09d31r1Uw5PV9ujCb0TdNbIF59k70/WMtr3wABlQbQ6ZXZr95wS+BFGnmyh OtE6RpPRyDGi1e1ZjCvkZyhMTSno/yQNZLdOG4fVh7XZfP/75eHz/eOivP8bS00vP98bYVlH KWPEIQ2r6kZiT6SgRs62wS8ccnr3ngx/8J1KlpWh705duj/UQKWXewUqnje7GzXI89pJjxuG Wi27NrW7Z+rPfFLjh0/rzWbpfqu9a3iGXR91XKAeGHWVlWJLS6/u2yS0tG8DEkYYjDGOpsZ6 wI5aiKpn56zfbsHiPdBaY/Hs+PK6PD/8+n55Fj2ddN720Vc2JAxQj0u5qwYlsSOA7VpM9hkV i3770klZiBkaykUtE6GbtbGD2wKAhbYmtGocG2BJC63yHfBZTtzSU5ZHURg7cHGrBsHG4XMH 8DmfUUJJGo+3qBzS+tbHzBa7YOlbjScqTiHc0Ep2RD5Unw/iOPTJ+NIsblT46/sEXT/m+ZcJ xq2pOe3sy8jV6W7PkJ3eUmOOC9khRaF1Zh/+W0gzx3G969Z8+VQgVLO8PXd2a9VPe++O0Kl9 psZtRIvO+zQdI8nQF/x7vVP+d4iReiuG9TzDumqE239EhRsSWkToSGp4NaRTbkaluPr1fPn8 9OPX08vly+Lz08+vD9/enu+RR0h4lMfOza3zlLjtKwJMsVe55F8hwxbqgPux2JMdugR3Wq/N zQhTfmbeC8Fdirtznu0atxyAqlowCzeNBmsfGEdod5ee4/Ld4dcu9LsGjd0gawDbWX6knRGE ipmRIhg5Z2WNZk7kkPCzT02FA3wADJRzjQnE7zz/HT76J4+3UI6jldRwPN/r+sIr6AzZPAkR PHite5ZN+Mb+rBWC0x7r90Bfdlvc9mei4aHHwYKNTiY7T3wQIKhPVpw8Aw1Pque9JyaIwB8z jr8dAxKkcU/MEZgnumXnma/nnmll52e6zXM1rsTf8s4XJXUYWH/FJNv4osgI7AGcWnKfY6vs GG51LeuVS4Fi1lKy7D4LzWc4gPZ8jzolSZToSCy22tJadeqZEFmOA8LizGXbPG5Zckg+Ovth zz86O7Pme5ql3nd1ud0JC5IQjRIEq7W7tQutj7gShRUMohxjRwdYtJi2idI+RDq2YLDzaD7q YqTdJ6lLU5CVBFkLcmcF8vj+CCnsql3h2vSDE4sjr8nvNacSs+C0pQXeZ4XmYYyn35Ro6Xmz tDojgYFTk/LS8VcFLipr3Ivsil96ghNJAmna4cmRqUa5zsSCPH/sM5x90YnaFMufLilUivXA 6vUAtYymJMoOvqa6A0HP1jPdFXhPbLYBHy3nOivbE2Ei1BUd68nNJXSIKAUWsL29elX0Bx2C BD5SizUPkqU9PmUXRnrgEQmsuE3WkRTc221oSaKb1cldvrCoor/8o1B3AfrQLZF6mEJr/0hz ij8fH37+57fVvyWr0u6yxeAk9gYZuTGzx8Vvk3Xpv60dmIFaxh5BVp5aXT8ngRDHye6/DHfn WPVd90VgJg6QcNqgmb/UVtmxcCV18crB8PH+5fviXvBl3dPz5+8z50jbJZGMdHIdr+754ds3 l3Cwj+NOs0bDOSeGGEZUixNvX3feQnLKsTPZoGFdbo/mgNkXglvJjIc3A6+bquP1kwYPOWYQ pUIQONAO04oZdOgxce3pYP5oKsblLDz8eoWH9pfFq5qKaYlWl9evD4+v4pfiqhe/wYy93j8L ptten9d5Ad9nWlS+QSEpU1GJMWSTVvoTtoUDRzJ79V4Hqc+dc/P/K7uS5raRZP1XFH16E9E9 La6iDj6AAEiihU0ASFG6INQy22a0LSq0xLTn17/MWoBaMkHPxTIzPxSqCrVkZeXSVamxtI1S Jk6WSUp3atWEqAPoC0OC3o+7UpC4CUGKuGei8wC/RrXmhokq0vBSPfLynUz9Lj4REC6Oz/Ah /np0zHEQCqeqFb6LOQZ3kLIiA353fGktTVDbbRKLMP82O6p2WkPcWVJjTb2pr8G+a6rFoRjB cjl7iE0DoZ4TFw/XFH2/cOK1KQ5hveogono0sePj2pw2hIG9rWgNrgm9IiOI9IC5FZlM0TGl 4bV5oWQw3Li9FosLhtdjBsJoKVBVz8LJFRkcSyGSOh2NLxd+9STDDirg8Ci7Bw3ZA2Dmlyqy zY2JDy8YVhBuizNhOSxjMSG7djpqyNyI3Xi6nYxviCnhR7zpOU4wVc2pQba9NnO+asYKNtoJ UVQFg9zOOmxwZgsyaI7x6Jjo8DibXI7JQVbtgDM8xhBC2gb0gMXikuznekapFTtuBPNuoZeY ukz4JQbWnzbI0ZQ7MfEol5xdmqJ64lh62Bw2v4wxkMYjMxOk1XnXIVm25J0tu9rPR6NO2uqM /OwGeYUHablhYlX1C9F4MTQ1ATCzffJNDhlWwVzkFpikKEvSe6aEOZNcz4LQkesNyNWYTDtg IqaLGVOFq8X5h4mlOqrH08spQXfSA3SjuLkZXTUBsXhm00VjRdwy6BNiliJ9Rmx7WZ3Nx1Ny lC1vpwsmEnE3wspZSObt0gAcqMQy1AWv8Gd1OKZTknYAdLggF2QdokIM6tPzbyglnxvrdXY9 ZsLN99+G1+F1mGQtNSiDqFWNlmwZGnlXtEK0+yps9CYL0e6EhDcA4xSM3eJdXk+Y43z3Cavp 6AxEGUQOFwNHOC6on64shnY/h9gPI7Ld8Cdo4H+XjOqzn3VMGnoNIO6JPYwf6N+D8BGKutbw mu0O0oyvRsOz1E+aQECu5uPhUvb4lc/1GxOPqVsvmmg0urZ6pYsKUh+e306vw9vtukijVWK7 wUeYmka49nnFAgsDPnqOffV9HgqbhX4dqe8E1bqCUo/7a5FkwNfZxW1eNMnKMCZSPMe/RVHr OF3h0ad2GoC8TRy4qZHUlZXTDF1msN17pkxovJTa7mqbaDq9WlwqLQ75eRSE5N3UMF0oc8Yk gyrUYZLYNlzwY2w1Txln4iE9puKTCLrSLeOyVls3k5K7LIqm4/3yS1+4am+7TNtiRYf2NCGU tGTwvRALXp37wUFGFtqtTG0C/oLxkUDHWzkjBJ27QJBMPoiV4GfaQ1kTE+hgmRWLunVFtq3k kRRURdKapJ2wXnLZynH26fX0dvrr/WLz4+Xw+tvu4svH4e2dcmk+B9X1W1fxveULrAhtXNsh 5wqMBENdpDbBOjEjGVRNPRtfehbncUanO5ePtzrOjHS6fv78ejp+thyt600WZ+Qc1Whd5Cqp YjSj9W6mV3dNcy/iuTVFg8bEMDfqT/Opzw+DKlLsSWcWta7bVbkOcEL0ZW7zpL6v69IUjDL8 gMIgJY9zM6enYDjpDHR/Y7FVQQ07jXBCNWmy0FeSI6lDkMnueq6MxOgPASf+iiajrRhRD22S OfCqZZVE6zhSxoQO075G0VQrd0dXMfNiQhPriHpeXfG7VPt+UpPR2Z3eZ1dJnEbCUi6mpRy9 PTLrIHzZuFtamFvlOE2DvNiTK1CHKjDz1r4YkbnGNxgCLUzNWCOK0pZVDGPUWN3lnqTQ5jRX VCI3rJyP305Pf5t3JihQV4e/Dq+HZ0yVcXg7fjE3/CS0DVKx6LpcuHKgDn72c6XbxW3qiA5/ YrRmUKNm466nzCHXgNVhxgTHNDGMbaiJSWaTKW2A6qDItNc2ZjplPuUyG3H5IQxUGIXx1SWl XDBB9fgSs0SVzKvEQSuN9/X5tiO0Ds7C1nGW5GdR0r7wbEcORFRHflqPLseLAKZgCufKc6Xx YrkB4sJRGpBinzMJA8yBmZVjeWfC1j4Q9mdMSTgMguQGnUL49qP5xNVo1EY7JiyswjgmFi6/ nXMnWxPQroOG6T6Fuily+pCmAeH9OmcC5mjIpmLi1Cp+7oZL9fjDz9e04gHZRgKDc193k8AE n4e7CXNOd6G0is1Bza6Z3rNgc0YJ46CufgZ1db0Id+OfaQMcebk0A+iPsUnqs322LNAFgd5L 93j/x2wK8GiS7RcZMy81my65Y/OjRrAtWxIVhejL4fn4dFGfQtIBCKTgOE+g3uut8B6Y0v3j wsYz2oXCxTFf2YUxn9mFMbuJCduzmSRs1ILJqKpRTbj1v2UXuIno074ITG4tchO6BdCSTHb4 fHxsDn9jceaXMVfhZnzFOIw4KEYxZKHmV/Ozkgairs5Od0QxeiYLxaqaXNRPvHEx4nYBG8Xk JvFQuLtxd/M+OMnWPw/OVutwdXY/1+Ds5wveRXH4k+gr2hLOQTE5RG3UbDQnp8PwiDYGvQ7b ICTs799OX2AOvahLKisy+c/AjWUXTvMV/BtORpM2AyGKXSPFGOPlEOWfc1ack1EUSZgK+2TA B2Djn4JNJ+dgUhBfJTterpFJkusiRF0C/S7MYE+/yHwN6uON45wmwf+K8KamOJi5VWr6h7iL Qe61FYNDvZFJw2h8KUwHGzkDQqGk41C7C7fMkeLhPr+1t1t9uL2DU0aOzbWUrh1VmJ/TWtce g8Hgz2Hwi5zFsBp4E8Res2zqOGu37j2NMWXr08erkYqyP18vxrNJqzqh/2zLNJIss2uU6O5b 4pkIIXUPQNSl3BBCX8kNYe7aoFwOAFZNk1WXMIF5SLIvp3CMGMhNijd18wFAcZcOcKtoqB/g W06HegH4swS+K4+Q7qU8X97bDQDyMsyuBnsAozdjFMamCQdQ6i52qJz0psa8PTJHNC4GzJRP yxoOkIMfZV8PNQnmShUPffRcdJvI5Vmer3GZwJ4UbvhTc12FXZZbunOqbHeVCcvAhMlXEzQZ Jr5PaDWs5DKxo3QNVD4WTlug768HhjIqEdqqHOrcrLkZGrAbyWzDjK5rB8iaLXPZqPxq4WRG t6MromEGUKzayGefUd91T2+eGzhOwEDOKtr4qWO7EpTNZ4x8Zc0w9wuMhjZsBkdejQk26Iv5 oAlhsIwG53Z3/DmLgLpwkck0hOOLyG8YkAoH73zqnCQtGdDZf4wygiRdFtTdjrh9g1lqCBSS 1EeVk+HGDs+HVxApBfOifPxyEObNVBg0+Txe060bjOEEXRzQspaHFPOYvuU9VwG79uJ+2fTI 1WQVrjao62ZTFdu1dZ8pXOHkC8iZAxu4+BA8BDeUy2QAIOOFDgCSEiu6y2p67kAPtTX79sk1 CNPh3VAFETLYSlyAeK7IyzNQPMrFHltaWx++n94PL6+nJ9LkSOSUc22pu69PPCwLffn+9oUw iCiz2rzuxJ+wbbkU4+JXv8cqTxo7QpX+r/7x9n74flE8X4Rfjy//unhDN5O/YDj2nqXyVlSd vOAsR7VSmiWFQb5jDk4KgKevOKi3TNoq7fKJR5QkXzFOjgKUMSB9L0vUVzZE6uqZdqhIAXjP BSssfYQ0MHVeMPkvFKgcB2cLGmyGX1tzJb8e4dOtG//b5deryhu1y9fT4+en03euJ/A5EMhZ ZbrgU/GddfojqnwZm3Zf/r56PRzenh5hmbs9vSa3XiVUIeeg0iHl39l+qBVCJUrW0XtS6kpB sv/nH65EJfffZuvBc0FexuQricJF6bGIXnmRHt8PskrLj+M3dKrpJiRRlzRpYjENMORAUxVp 6u7W6q0/X7o09TA0N+Rsh5U0zKJbdpmN4l3AiB9iFc5XVcDpxBBQYtD0u4o5QCOiDktO9YVs Qo2mbVOotonG3X48foMBy84IsUOgSNPW9OolAfWSlh1lGtg0pLuFzGltc2vPBsXmRvg8D7gL 87omFiPVL2Tr7YlEKMZcAWJdWXmlxOIzpCcrVL7G8WW7K9JGxCcutqU3jl385H/AM5F1xWHS Xz3FF98fvx2f/SVAdRXF7bJT/NSm2lm5YYba3aqKb7U4qn5erE8AfD6Ze79itetip4KNtkUe xVmQG2Z4JqiMKzTlwJBlDABtbOpgZ8UKMgHoG1qXQUjFZLUKArEz2cVuI4joFCjmKVFRWbQI JCcR4nHnZ3BSm0GgvI5u411spxiyGLpyeRHSiw+JLktGbLTR3TSJVpQ1W7xvwj5XQ/zP+9Pp WQeOJ7pSwuF0HlxPSccjBXAdPRU5C/aj6ezqin8QEJOJHdxcccomn41m9NWZgshFCRZyjHxM +REqXNUsrq8mhiuTotfZbGZ6dSuyDs5GMWCuY0ytsR1lAuRvxgMvYRQzOZOyYpfFLR0SzrIJ gx/SvdKyKAUi6jcT/yTgIFi7AwVg7R8EP67ShL48FuyBhBzI1xo0uokYztpt04AjAbI3yXJH n/6Ry6Volrw9fUWjmGP6Yk9x24bZCgVf3IKkZEomwb+t52PTuw6JIoDCxG0+HAJGCxD36pBv 5ZDXgOTXNWsW3AOGDPMQxfuOCC5KZV52XuvxKAnojILIFgEcbLcoQWY0YcgzLFBgp6FFJoEL mUwqgqmUepxWTGDUssoChkQQwU/Hi7BM6VOUAHB3MILJXr50XE69KwCoyme5vK+I4CZxyAjJ ir2pHK2uyb5L7TEOBJXk0Cpml6AZAyNHCYDn4yMPUtXtxRMIQGQe7LRdJWTonyCKYSuHZy03 MTUMYOqGyCuZRa7DVbeMW5ICVA/BiEfpASHeR2tja9hzL7GEYQVquGUxuiqbRc2/Bx5GM+9y k2DUgiRiAhqLlODVLSbUY46lCMibjElHq7V38DbYt5dJzhSTFkW+RvVLGW4wI+J5UMbYUmVo je72jD4kuwOnU3aWmEphaWfrWxZoMN/ACkoHX+kCqBdhY1rkS2Ov/uRsjzfkBc2GsX5R/H3t hMF3AEKBMmW8ViWC37AVYGDLthD4KwxoTZOya+NMlSUbhgjjLCbYmOMy4UayAMi9cACRhZuy RXeF/VCXDDhB9nxpjQqy/1DP4BXlAHv4ek5ihBgbFExgSQNTRtyCgxDWZFux+dwRCjBgsqEQ vIuk4HfmaAMYNHYg2cogQptHnjPb1DjXzlL6o2/uL+qPP9/EGbk/3SpfUjfWs4iwus7YOMgY yDkMchlHBoM9MwsX4uSlORf2WSHmeGABiSUaeqOwRRksSalOEUOrdDpjB4zPPdg82Y+Db5Of 5Czk6hwElxFc/4erUyewleQi2jUj9wBM74DOCw0EyI7teJFnIsi4JXOYzMGXIGqoRVlWTs4D 8P1MHcXUloHQ3RoaLGYfFC8Qtma8eA+QKhAh1IeqiSIyzpCJFzTahnX6BfFrT09SCwkVYyRz QCmpQMyHHcgelOujmA7KgAC/ldtN9azciejZQ98RZAHh3z+aABJeNzT1Ouj0PDTZTC+vhme8 EM8BAT/4ryik8NH1tC3HzDEEQFGwkBOeR2QLzFk5BAmy+WyKIkvE5EQWV7lKaGGXDVjsy6SM qYAbojlQg9HYjgcj5ywejG/iOFsG8PW5QKA+dKhF3Wl7uEBliefb23VSob1xGE+jFpM7BmUh IyCQemzMdODsPlN95d7eVQnjMiJgN1vMB+tG8HWKygI6xm/vdKrPR3lUFbbPpSK1IJ1HaAni XrAwHqmRmTtchwkzf/rKKkkWR4aEFqB6RBEWDd31EqM1JDHegQ8VpoHDxaEBF/9K1HLEq+3Q /cztyq2H3ReosayjwErE062WfNkdZLj6uOuf6zG5JKHTJt1d3XGQr40saLeaw3I60Fv6Iv1c QXW+wwig65Lyr63Qy7Mu1Qe2bn9ETJeB0oVRhce2Xl3J8ep2IxoE57vKzi0vQ0rcXby/Pj5h OkovETj0rBH5ockwxF1TtMugNsMI9gw0tLKuCpAlUgVQx0zg1cW2CmMjiZz1pOJ2cSCJQuRi 2RgBezXFzUDY0dfNZqAgeDFVGOzXZGElo+XpAES+Q51Q3O/4zrcdji7m6/B3m62rwWONC2qD EXW6x5jPmCcFF0Sd98ItQWHCXUnWAvec1q2HCZKu433BqjxMO/sQ99yuZLWXlRhHc+h6UhRe xWsum5XgRyv6TG9VPyu9BvTCQExNrxIWorI0Rn1S7O1freEYb2jGkoy+AxEpAeD/eWznhDPp uGOw46sDiXW6qGFLoEVdC0zodrvD6NbNUiCerLZl04Y5Y2YqFl9lijqIScthFMhg8W1MuQ7I yQQ8OziDE6pBHC2izKGGOgKIjhFjXw/K+LrHb4cLKSZZF4Y7OGhEQRO3IMyUQVWTAXFXwoYv sGZKvG/GXNYM4E1aMu0EcKatLVgIEiz37aqoRKlckVNRx6JO9m0Q0uNfo+o43FZOaFYbxMVN FcxebDOs6P5YRtZBBn+zxWCqkmUYhBtrDajiBDoYk4DQ/fYHz9p7LMUAKXRspVJaNvINPqXv PIIHVQ1vlDF70twTiGqbw8yCnrl3u0ZCdJijXp0hyEENbaanQ190vGp3cZWsyLxdSeq2cTV2 migIGDOcgrX7oGmsOa8Zw6NJowZHkwDJzmM+nSxGmOIm+R9x6CYqdN6GcVow611ihtnWzPSh oNqRPtBh3DX/oW7ouyqj3IrMsvtQ5LHu6/6pGk8Q9LAnxli8R+Nqd9ZLmsyHAtsONbYxLJfw JLLi+aBxC7pb3DN8KDTOw+peZIRkyLBdr90m4QAkozmvai+wV0cwthFBEuYxVBmBW8bttmjM +2TMbCOJ7V1Q5bJJ/TlFMLjl5naVNe3OirIpSVQ4VVFU2FhJmoJtU6zqKTeEJZsd4GL1pj5g AX2aBvfO8OmpMPGjpMItG/4MPt8jg/QuABl8VaRpcccUi6dhWqgwQHv4ZKJl54BZDP1VlNbQ kHvo49PXg2GNlWMaJj9FvSLD6mSuTbXeHmxChzOGpmSgKrZYO+cbB+OtwZpRLHHladOETHov MCJxn+Xy2FEHUpobILKCvdeG7CzZcdFvcC78PdpFQjAh5JKkLq5Rfc3l5Yr8lF36PXTZ0git qH9fBc3v8R7/BSGNeXtWA5J7924lthlSeFg5O5CkaE+MpMAAc3XcfPrl4/2vhRG7Lm+I6aXF uaFKy+uTt8PH59PFX1ZjunWlCJ35J0g3eC6izgDIxFuhxjQEQGKJlpVZAQKAmW5DsMJNkkZV bKy2N3GVmx3h6ZOarCT7UP7ptxyt6POb2O0HSS0jOKJHXJwZLy0qDCToiApBRBPaykipGqwc UCx2DpqkohFam9DG2zSBUqZbdlQtY07CW7pV8Yr+YyUFJKo7YTqaD8vfctd1AgcqVsaICvXt Nqg35Et2e6eKGCBpb1GKzIFsSodwm++nPmlOk5yQmpVXvKRgGLk4wsyrS9cr2wVwzfYKKkjd ioSBYLG0PZ9LzK8Xu7+7FeEGPXOW9yBPfxpdjqeXPizFw5mWCa1ZLCEguXVsajpr1NQsxGNu Qp69mI6HKoCy5U/UYKAEt5VUmly+ORpN9o3ZsMHsu0Rbz1fDq8Iv3/47/cUDeYo/xUG3LL7w KjAVk/f1zpn0W269iKvCWyE0bWAj7yDitDQMeUgoHUaeGoMHfvTdcnw7LRaz699G5paX4lkn isW2Mp3QZiYW6GpCGSbbkKuZXYWOs5hdspwxy7GMGx3e2cos5uwr5yOWM+ZfOad1Xw6Iyhvi QAaaNafi7TmQa6by15M5x2F7/3rC9f71lHvP4mpqc0BaxPHVLth2jcYzSlPsYpzPImIau2Xq l9GmyCaCOn2Z/Andiin3RirEpsmfcw9yQ1Xzr+mKjCZs27lB1gGceXhTJIu2cosTVCq5MzKz IMRtNcjtkpAcxpimkKLnTbytCvc9glcVQZMElOqlg9xXSZrahieatw5i4Aw8vK7i+MavUgJ1 tbxxOka+TRqfLFqcUI1uttVNYuZtRMa2WdmRjfMExzOlYS7au1tTpLZUwtL79/D08Xp8/+FH Sb+J7639BH/Dkfx2G6P+OeCi1JZxVcOhEP1c4IkKJGRa+G2qLaAiUSy980jNDQHpK9RGm7aA NwYi6KSxdyr1XRuBnC7M2poqse8jBjV8mklutiKeLRzqojiHyqHyBzUFbZCCGGjnJfRAA6x2 BQXYMZBRLSBMp+Iqgw+8idPSjIVMsjHh2ebTL7+//Xl8/v3j7fD6/fT58NvXw7eXw2snpmhR tO+mwMyfVmcg1Tw+f8aYC7/iP59P/3n+9cfj90f49fj55fj869vjXwfokuPnXzHB2BccQb/+ +fLXL3JQ3Rxenw/fLr4+vn4+PONNYD+4lGPp99Prj4vj8/H9+Pjt+F+RddkIJ4SqeLTJvGnz IjckacEQmjzoaiM5na2Ukxi8lWPy1xlOoGQ9NJtvRufm584eXdN9UcljgXnoFHkH7LtJScvi LDQHh6TuzaEkSeWtS6mCJJrDAA8LIwubmDi4IkoFx+uPl/fTxdPp9XBxer2QY6HvbQlG7agV JcMij316HEQk0YfWN2FSbsyR6zD8RzZWslqD6EMr8wje00igcW5wKs7WJOAqf1OWPvrGvErV JeCRwYfCkg8CiF+uorMPoPuOiCXiXMgo1Ho1Gi+snHuKkW9Tmui/qRR/bT2BYIg/EbEk6qZu m02cd4lNy48/vx2ffvv78OPiSYzBL6+PL19/eEOvqgOvDpH//eMwJGjRhqgokGvqGr9jV1Ed EM/VGSW/6dZvq108ns1G17qBwcf718Pz+/Hp8f3w+SJ+Fq2EdeDiP8f3rxfB29vp6ShY0eP7 o9fsMMyIKqxDStmrH9nAvhuML8sivR9NzPx33QxcJ5iei2pbfJvQceO7XtkEsHpaGBkjQgTf wY3kzW/EMqQGyoqy9tXMxh/1ITGU43BJFJ1WdO5xxS5WtKFfN7SXtO2h4u8bWqMmZ3d8j8EI /Fm04b9HBHJds838xqGntB5HG0yEq/vX60sQBPk6bbLAnxV7+qvsnJKkfvz45fD27n/XKpyM /ZIF2X/fnlywl2lwE4+XDN3/4FB4M7qMkpW/qpHls72eRVOCRuASGPJxin/97SKLRvNLah5t AjIMfscdz+ZeaUCejcZ0aZR5brceTfyiGpBslsWaKOyunNkhf+VwOr58taIHdWuF/wmA1jYJ UTQIM3dubgnn6wWYPSLxl/IwkKlIMltQM7jUIddgz4nHHLtom7nSGxi9evpdGlelEw2g+wDU qVcxm7tilRDjUtH7NsvPcPr+8np4e7NE3a41Qh1KLXcPlLW9Yi6m/lxMH/yxL5SiHhW1uLpy FYj7p+8X+cf3Pw+vMhaZFsrdGmGi5jYsK9rYSrWnWq5F+iB/X0cOuWhJDjXPBYfaNZDhEf9I MONzjJbxpkxtCJEYeMaVjr8d/3x9hLPA6+nj/fhMbHRpsiRnDNLVgqadl6jP2KP4XkOQHKNG SRyEZnUiynAJpiTjs/W6CoJZ8hB/Gg1Bhl7Drs99KwZEGQR1q6nbn5s7ohvhRJRlMZ70hW6g uS/tk5ZmlttlqjD1dmnD9rPL6zaMqyZZJSHeUEgLuR5Q3oT1Ak03dsjFMijElU5XxnBReMeH jdN8skZ1QBlLExdhGoU1SIwV5PD6jvFjQKR8E3GwMRHN4/sHnOuevh6e/oYjqpnkDm9GTTVL Zd1W+vwaU6vZ3HjfoMFs3x3e8x6iFWNmenk9N5QxRR4F1T1RmV7jIouDORLeoMWCxtD3/T/R EaLHUnZWy3OzeZ7WlHYJRxhYoSpDE5MmeRxUrbhbdrLbCUsk6go3gX0aE7IZfaadG2ELz0NU +VTCd8xKcGVA0jjX3H78F1VE6iRhRGYxHOiyJbzTbBWOINPfufOwDJPOxFPPkSrcCLvMMCv3 4WYtDK2q2JLHQji3wAprkUZzG+FLcWGbNNvWfmriyENA6DIkkoukAMDMjZf3C+JRyaGt4hQk qO7YfC8CsWTi5wJ3zpZMiwjhlTl+lr5AHRp5fTsJur+EDvKoyIa7xLmmNahocO7SH3BFha0v teaxoPbyh66wccVsU6mS6atm7o4Z0WT9zFtlh0zh9w9Idn+3ezMvsqIJ37DSxybBfOoRgyqj aM0G5pbHQDd2v9xl+IdHw2/YE/sGtcuHxNQPGZz0ITP2eT1xCUVzJQNIpkVmmj+aVFSnLxgW vHGAZU7uZbixfoibbgw3WwWZpenEYJaw8uww5G0VWHpvYVhuep9JkkgSaq1GSI/MDkC3uaI0 L5xFVSUDFsu16eMieMhAR0lUlZuyAK5zyAuiqGqbdj5dmvcygoO+365lncVoa/pSXb+z20aI iVuvU/kZjfVA2BOjFBA0W1NFvE6Lpf2rWxKMp9OHtgkMHIbwANHKWPezMoGp3v9GH0J0OoGd xhRD0JGySJ2+ygtkCP2QAYVOczwEYCBkAe3EUiz/CNZM+L8Gd3pyoeu2fG8nty8atPAjqC+v x+f3vy/gSHPx+fvhzbx+MAziklxFIqc3U+SGgRsQRNxKgMQTYgiwBCPDkOpQaf+BSS9TkAHS Tu98xSJut0ncfOrSgGrp0SuhQ0T3eYDhMd1MwybZuWwACXhZoOQbVxWg5HFT9S/bZ93Z9fjt 8Nv78bsSsd4E9EnSX/3bwxWsCLGwav40vpwu7I9dYrR/rA55vRZj6B806IXONgewmnXSmh5N ALOgMdcjlyPe3hZ5em829KebYoUFVwMtOvz58eULXgUlz2/vrx/fD8/vRqOzYC1joVeGXGkQ u/uoOEcV/qfLf0YUys0Z6/NQmbvFpAqGyC67x7YB0jSx2Nzhv/SSpWF4tyCQGTpNER/HKVBd z/VX0cuavG0XV6Zw8AlyscEnelY5sc8He9mtLpqb2tmZzbvFrgxr0uOUghNLnNecr52AlEVS F7l3+tDjLN0uVR1Irw7Bd0y/JVwGIRRXlMbSHYqd7q6o8CQBXSocbuAQJXYnbT5n31j2rZM6 XPx5UZxe3n69SE9Pf3+8yDG9eXz+YtoFByIOP8wJaxe1yOgdtjXO/JKJy2SxbT5dGibKg++U tgUwvT5/4Jyyv4a+PCXY7kfGF9/Ecel8C3m4w1uJfqz839vL8RlvKqBC3z/eD/8c4D+H96d/ //vf/+r74A7G9laES+730H6T+R9KdGsKGy7I0Iyxg1iJYMq027wGuQQkEyne+9p40at/y3nw +fH98QInwBMeba3tSw6+NgqaABd59GX0RrT1oZgipfIv3FpfSAuCmPSu3LZiGe6GwHjUF20/ aMyQAOMY0V0hLTEwIqrj2C6q8vjt5esjVRk4fqf3al82V8ZmE6vs6qpObgmmnNAc3t7xw+I4 DTGy7uOXg2HwspXzsrd4ET6BKu4DZYDS+Qz2NZK0eC96oO0GmMUV3Ym3t5ToIFcDWAPCYtdK ScM8uFSwLuNBH5+XOctNJWt6EzXWpaLQMwl9Sl1U1IIO5wgQF+ZTQqY0DQxsjih1E++jbVZ6 b1PSnDRHoZqoUbVl8yA1YkBuTAdkQRVffeUQ6zDIV97LpUjKvXS7tUNpCOJenFBoGyXko1fQ CjY7rtAKT+4ivYfbQZYuW5CSyHaAT3KM49HQZwW7GqukymAZoaRV2R+O/wYUKxKGd8O6O96p +APW6DX1cFAME8VEjzKhnyMGv6Um84oOswgBw2VDtf0nxY46+JhWc5HVkt8+itPAHW9oeBPA AHPHViPUevZqoB9A+sBnQrMjFCJox56hhcjZLkCMrXEiRUW4hVneDO0sywRl+qIafKk+Jf0/ xUnNJcm2AQA= --r5Pyd7+fXNt84Ff3--