From mboxrd@z Thu Jan 1 00:00:00 1970 Content-Type: multipart/mixed; boundary="===============7508883253809405530==" MIME-Version: 1.0 From: kernel test robot To: kbuild-all@lists.01.org Subject: Re: [RFC PATCH v3 1/1] mmap_lock: add tracepoints around mmap_lock acquisition Date: Sat, 20 Jun 2020 03:17:07 +0800 Message-ID: <202006200350.dqXAc7Tv%lkp@intel.com> In-Reply-To: <20200618222225.102337-2-axelrasmussen@google.com> List-Id: --===============7508883253809405530== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Hi Axel, [FYI, it's a private test report for your RFC patch.] [auto build test ERROR on tip/locking/core] [also build test ERROR on tip/perf/core linux/master linus/master v5.8-rc1 = next-20200618] [If your patch is applied to the wrong git tree, kindly drop us a note. And when submitting patch, we suggest to use as documented in https://git-scm.com/docs/git-format-patch] url: https://github.com/0day-ci/linux/commits/Axel-Rasmussen/Add-rwsem-c= ontended-hook-API-and-mmap_lock-histograms/20200619-062340 base: https://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git c935cd6= 2d3fe985d7f0ebea185d2759e8992e96f config: s390-randconfig-r005-20200619 (attached as .config) compiler: clang version 11.0.0 (https://github.com/llvm/llvm-project 487ca0= 7fcc75d52755c9fe2ee05bcb3b6eeeec44) reproduce (this is a W=3D1 build): wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/= make.cross -O ~/bin/make.cross chmod +x ~/bin/make.cross # install s390 cross compiling tool for clang build # apt-get install binutils-s390-linux-gnu # save the attached .config to linux build tree COMPILER_INSTALL_PATH=3D$HOME/0day COMPILER=3Dclang make.cross ARCH= =3Ds390 = If you fix the issue, kindly add following tag as appropriate Reported-by: kernel test robot All errors (new ones prefixed by >>): In file included from arch/s390/include/asm/io.h:72: include/asm-generic/io.h:490:45: warning: performing pointer arithmetic = on a null pointer has undefined behavior [-Wnull-pointer-arithmetic] val =3D __le32_to_cpu(__raw_readl(PCI_IOBASE + addr)); ~~~~~~~~~~ ^ include/uapi/linux/byteorder/big_endian.h:34:59: note: expanded from mac= ro '__le32_to_cpu' #define __le32_to_cpu(x) __swab32((__force __u32)(__le32)(x)) ^ include/uapi/linux/swab.h:119:21: note: expanded from macro '__swab32' ___constant_swab32(x) : \ ^ include/uapi/linux/swab.h:20:12: note: expanded from macro '___constant_= swab32' (((__u32)(x) & (__u32)0x0000ff00UL) << 8) | \ ^ In file included from kernel/trace/trace_events_hist.c:22: In file included from kernel/trace/trace_synth.h:5: In file included from kernel/trace/trace_dynevent.h:14: In file included from kernel/trace/trace.h:9: In file included from include/linux/clocksource.h:21: In file included from arch/s390/include/asm/io.h:72: include/asm-generic/io.h:490:45: warning: performing pointer arithmetic = on a null pointer has undefined behavior [-Wnull-pointer-arithmetic] val =3D __le32_to_cpu(__raw_readl(PCI_IOBASE + addr)); ~~~~~~~~~~ ^ include/uapi/linux/byteorder/big_endian.h:34:59: note: expanded from mac= ro '__le32_to_cpu' #define __le32_to_cpu(x) __swab32((__force __u32)(__le32)(x)) ^ include/uapi/linux/swab.h:119:21: note: expanded from macro '__swab32' ___constant_swab32(x) : \ ^ include/uapi/linux/swab.h:21:12: note: expanded from macro '___constant_= swab32' (((__u32)(x) & (__u32)0x00ff0000UL) >> 8) | \ ^ In file included from kernel/trace/trace_events_hist.c:22: In file included from kernel/trace/trace_synth.h:5: In file included from kernel/trace/trace_dynevent.h:14: In file included from kernel/trace/trace.h:9: In file included from include/linux/clocksource.h:21: In file included from arch/s390/include/asm/io.h:72: include/asm-generic/io.h:490:45: warning: performing pointer arithmetic = on a null pointer has undefined behavior [-Wnull-pointer-arithmetic] val =3D __le32_to_cpu(__raw_readl(PCI_IOBASE + addr)); ~~~~~~~~~~ ^ include/uapi/linux/byteorder/big_endian.h:34:59: note: expanded from mac= ro '__le32_to_cpu' #define __le32_to_cpu(x) __swab32((__force __u32)(__le32)(x)) ^ include/uapi/linux/swab.h:119:21: note: expanded from macro '__swab32' ___constant_swab32(x) : \ ^ include/uapi/linux/swab.h:22:12: note: expanded from macro '___constant_= swab32' (((__u32)(x) & (__u32)0xff000000UL) >> 24))) ^ In file included from kernel/trace/trace_events_hist.c:22: In file included from kernel/trace/trace_synth.h:5: In file included from kernel/trace/trace_dynevent.h:14: In file included from kernel/trace/trace.h:9: In file included from include/linux/clocksource.h:21: In file included from arch/s390/include/asm/io.h:72: include/asm-generic/io.h:490:45: warning: performing pointer arithmetic = on a null pointer has undefined behavior [-Wnull-pointer-arithmetic] val =3D __le32_to_cpu(__raw_readl(PCI_IOBASE + addr)); ~~~~~~~~~~ ^ include/uapi/linux/byteorder/big_endian.h:34:59: note: expanded from mac= ro '__le32_to_cpu' #define __le32_to_cpu(x) __swab32((__force __u32)(__le32)(x)) ^ include/uapi/linux/swab.h:120:12: note: expanded from macro '__swab32' __fswab32(x)) ^ In file included from kernel/trace/trace_events_hist.c:22: In file included from kernel/trace/trace_synth.h:5: In file included from kernel/trace/trace_dynevent.h:14: In file included from kernel/trace/trace.h:9: In file included from include/linux/clocksource.h:21: In file included from arch/s390/include/asm/io.h:72: include/asm-generic/io.h:501:33: warning: performing pointer arithmetic = on a null pointer has undefined behavior [-Wnull-pointer-arithmetic] __raw_writeb(value, PCI_IOBASE + addr); ~~~~~~~~~~ ^ include/asm-generic/io.h:511:46: warning: performing pointer arithmetic = on a null pointer has undefined behavior [-Wnull-pointer-arithmetic] __raw_writew(cpu_to_le16(value), PCI_IOBASE + addr); ~~~~~~~~~~ ^ include/asm-generic/io.h:521:46: warning: performing pointer arithmetic = on a null pointer has undefined behavior [-Wnull-pointer-arithmetic] __raw_writel(cpu_to_le32(value), PCI_IOBASE + addr); ~~~~~~~~~~ ^ include/asm-generic/io.h:609:20: warning: performing pointer arithmetic = on a null pointer has undefined behavior [-Wnull-pointer-arithmetic] readsb(PCI_IOBASE + addr, buffer, count); ~~~~~~~~~~ ^ include/asm-generic/io.h:617:20: warning: performing pointer arithmetic = on a null pointer has undefined behavior [-Wnull-pointer-arithmetic] readsw(PCI_IOBASE + addr, buffer, count); ~~~~~~~~~~ ^ include/asm-generic/io.h:625:20: warning: performing pointer arithmetic = on a null pointer has undefined behavior [-Wnull-pointer-arithmetic] readsl(PCI_IOBASE + addr, buffer, count); ~~~~~~~~~~ ^ include/asm-generic/io.h:634:21: warning: performing pointer arithmetic = on a null pointer has undefined behavior [-Wnull-pointer-arithmetic] writesb(PCI_IOBASE + addr, buffer, count); ~~~~~~~~~~ ^ include/asm-generic/io.h:643:21: warning: performing pointer arithmetic = on a null pointer has undefined behavior [-Wnull-pointer-arithmetic] writesw(PCI_IOBASE + addr, buffer, count); ~~~~~~~~~~ ^ include/asm-generic/io.h:652:21: warning: performing pointer arithmetic = on a null pointer has undefined behavior [-Wnull-pointer-arithmetic] writesl(PCI_IOBASE + addr, buffer, count); ~~~~~~~~~~ ^ In file included from kernel/trace/trace_events_hist.c:22: In file included from kernel/trace/trace_synth.h:5: In file included from kernel/trace/trace_dynevent.h:14: >> kernel/trace/trace.h:682:30: error: no member named 'trace_recursion' in= 'struct task_struct' unsigned int val =3D current->trace_recursion; ~~~~~~~ ^ kernel/trace/trace.h:694:11: error: no member named 'trace_recursion' in= 'struct task_struct' current->trace_recursion =3D val; ~~~~~~~ ^ kernel/trace/trace.h:702:30: error: no member named 'trace_recursion' in= 'struct task_struct' unsigned int val =3D current->trace_recursion; ~~~~~~~ ^ kernel/trace/trace.h:711:11: error: no member named 'trace_recursion' in= 'struct task_struct' current->trace_recursion =3D val; ~~~~~~~ ^ >> kernel/trace/trace_events_hist.c:834:3: error: implicit declaration of f= unction 'trace_array_put' [-Werror,-Wimplicit-function-declaration] trace_array_put(tr); ^ kernel/trace/trace_events_hist.c:834:3: note: did you mean 'trace_array_= get'? kernel/trace/trace.h:384:12: note: 'trace_array_get' declared here extern int trace_array_get(struct trace_array *tr); ^ kernel/trace/trace_events_hist.c:860:2: error: implicit declaration of f= unction 'trace_array_put' [-Werror,-Wimplicit-function-declaration] trace_array_put(tr); ^ 20 warnings and 6 errors generated. vim +682 kernel/trace/trace.h edc15cafcbfa3d7 Steven Rostedt 2012-11-02 679 = edc15cafcbfa3d7 Steven Rostedt 2012-11-02 680 static __always_inline int = trace_test_and_set_recursion(int start, int max) edc15cafcbfa3d7 Steven Rostedt 2012-11-02 681 { edc15cafcbfa3d7 Steven Rostedt 2012-11-02 @682 unsigned int val =3D curre= nt->trace_recursion; edc15cafcbfa3d7 Steven Rostedt 2012-11-02 683 int bit; edc15cafcbfa3d7 Steven Rostedt 2012-11-02 684 = edc15cafcbfa3d7 Steven Rostedt 2012-11-02 685 /* A previous recursion ch= eck was made */ edc15cafcbfa3d7 Steven Rostedt 2012-11-02 686 if ((val & TRACE_CONTEXT_M= ASK) > max) edc15cafcbfa3d7 Steven Rostedt 2012-11-02 687 return 0; edc15cafcbfa3d7 Steven Rostedt 2012-11-02 688 = edc15cafcbfa3d7 Steven Rostedt 2012-11-02 689 bit =3D trace_get_context_= bit() + start; edc15cafcbfa3d7 Steven Rostedt 2012-11-02 690 if (unlikely(val & (1 << b= it))) edc15cafcbfa3d7 Steven Rostedt 2012-11-02 691 return -1; edc15cafcbfa3d7 Steven Rostedt 2012-11-02 692 = edc15cafcbfa3d7 Steven Rostedt 2012-11-02 693 val |=3D 1 << bit; edc15cafcbfa3d7 Steven Rostedt 2012-11-02 694 current->trace_recursion = =3D val; edc15cafcbfa3d7 Steven Rostedt 2012-11-02 695 barrier(); edc15cafcbfa3d7 Steven Rostedt 2012-11-02 696 = edc15cafcbfa3d7 Steven Rostedt 2012-11-02 697 return bit; edc15cafcbfa3d7 Steven Rostedt 2012-11-02 698 } edc15cafcbfa3d7 Steven Rostedt 2012-11-02 699 = --- 0-DAY CI Kernel Test Service, Intel Corporation https://lists.01.org/hyperkitty/list/kbuild-all(a)lists.01.org --===============7508883253809405530== Content-Type: application/gzip MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="config.gz" H4sICNb87F4AAy5jb25maWcAjDzZktu2su/5CpVTdercB8ezJ3NPzQNIghIikqABUhrNC0rWyI5u ZitJk8Tn6283wAUgQcqu8njY3dgajd7Q8M8//Twh78fX5/Vxt1k/PX2ffNu+bPfr4/Zx8nX3tP3P JOKTjBcTGrHiFyBOdi/v/3w6XN6eTa5/+e2Xs4/7zflkvt2/bJ8m4evL1923d2i9e3356eefQp7F bKrCUC2okIxnqqD3xd2HzdP65dvkr+3+AHST8/Nfzn45m/z72+74v58+wc/n3X7/uv/09PTXs3rb v/7fdnOcXP3262Z99uvXzebX68fri1+vrze3X7cX2+3Z9ZfNl8svN1v4s7m6+p8P9ajTdti7sxqY RA3s4vLqTP+xpsmkChOSTe++N0D8bNqcn3cahCRTCcvmVoMWqGRBChY6uBmRishUTXnBBxGKl0Ve Fl48y6BraqF4JgtRhgUXsoUy8VktubDmFZQsiQqWUlWQIKFKcmENUMwEJRF0HnP4ASQSm8IW/jyZ anl4mhy2x/e3dlNZxgpFs4UiAtjKUlbcXV4AeTOtNGcwTEFlMdkdJi+vR+yhJShJztQMBqWiR1Rv Fg9JUrP+wwcfWJHS5qNepJIkKSz6GVlQNacio4maPrC8JbcxAWAu/KjkISV+zP3DUAs+hLjyI8oM OSaolDQCioZN1ry9bLRnP0aAaxjD3z+Mt+bj6CvP9vlXViEjGpMyKbQYWXtVg2dcFhlJ6d2Hf7+8 vmzbUy1XcsFy60xVAPw3LBKbdTmX7F6ln0taUu/sl6QIZ2oYHwoupUppysVKkaIg4cwvypImLPCi SAlq08MbvfVEwPCaAidPkqQ+cnB6J4f3L4fvh+P22TpycKgjnhKWuQddstQFGCI1Y1TgGKsWO6UZ FSxUqWRIOYjojSNzIiSt2jTLq1vpFjQop7F02bB9eZy8fu0sqDum1kqLlgcddAgHfk4XNCtkzaBi 9wzGw8cj0LdzxTMqZ9xSbxlXswfUSSnP7PkDMIcxeMRCzyaZVixKqN1GQ72bPWPTmQJB1wsSfk70 Zm7Jq6A0zQsYIPPLY02w4EmZFUSsPHOuaNql141CDm16YKb5oXka5uWnYn34c3KEKU7WMN3DcX08 TNabzev7y3H38q3l8oIJ6DEvFQl1v8w2mR6kysAQLiyrJcMZjcDqUJGSRGntUAoLH8gIoDwEOHZT 2BvQxanFpZddaMTQAksfmyRzVAVIfa16IibRQEbe7fsBJln6A3jAJE8IstnuTvNbhOVEegQYNkYB rr+DDhA+FL0H4bX2VDoUuqMOCDmim1Zny4PqgcqI+uCFICHtzwkYniTtSbMwGYUdl3QaBgmThYuL SQYuz93NVR+oEkriu/Oblq0GJ4v+SbQIAs67g2gQbHNCVnfXrRen58bDALdrcJFKu0dpoIWmkgV3 Axv9Oze/WBp53mwkD22w8X7k3XPr2aALEys5Y3Fxd3Fmw1GYUnJv4c8vWglhWQHuJolpp4/zSyNs cvPH9vH9abuffN2uj+/77UGDq5V4sHXX2kbJMs/BXZQqK1OiAgI+cegc+co/hVmcX/xmgaeCl7m0 TxpY03Dqt7aa2GiGMYKcRXIML6IBT6fCx3AuHqgYI5mVU1okfosO+yBpMTqDiC5YOOBSGAroBDXX 6DKpiMcHAXPrM1rgNYGxBu1os73EzfMpQnSdMpdUgkfupQXOG9p6KFp02sLehfOcgxygHYSQxM8F o/3Rdddr8dOsZCxhlaD9QlIMiITAw+yZaZDMcRe0dyksr1N/kxQ6lrwUIbU8TxF1ggMAdGICgLih AADsCEDjuc0PDfH5xqCL0CS7igJOEQeTnLIHqmIutAhwMJBZ6DggXTIJv3iGaBxi5xuMRki13TfK zTK5edx+dE1LCpaRoWRY/cEZSUFLqtZx62xehfDMLZ6RzLhVjq9u/Cbb8qFe636rLGV2yGdxMCDg o8al7UXGZUHvO58gyZ0ozIDDNL8PZ1Z/NOd2X5JNM5LElkDpGdsA7afaADkDlWfzhjDuO4dclcLo 1JYyWjBYT8VG34mErgMiBLP3ZY60q1T2IcpxrxuoZhqepMpFax2tPB7ZQ20ZliQrGs8J6X9njq+G IqORceQz1JI64YTWaRrqPe2wWBpF1NeT3kQ8L6oJFFrnLjw/u+q5X1XKKt/uv77un9cvm+2E/rV9 AV+OgFEM0ZsDR731ywY6N1PWSFirWoA7C+GK13f8wREbNzo1wxnP3TkXGFAT4Led35EJCZwjmJR+ AyYTPoQgAUiUmNJ6R31aBYnQhKITpwQcY+5It5yVcZzAXhDoRvOCgBkYCGd4zBKQeS+33LRTI/Cp 5aM9QKCkIlsho5MUoKRkESOW/4kRJJiS2pGxuAZB/dx4eT1cHX/OlhQCOw/CUT0WsDlMSptCV6VN ZWHpPde9qoQJWKc5Z5FhkkATOzEt49gO3ELLbOUhU59LJuZyaJQSGB9QRz9IksHOkYgvFY9j8G/u zv65PGv+NNy6vD3rxnA8hZnFYFSb1dqLNbnGBAQ5kXfXzmlNgEE5ZmDqADTfv262h8PrfnL8/maC K8tZtZumekEPt2dnKqakgMjRWo1DcXuSQp2f3Z6gOT/VyfntzQkKGp5fnOrk8hTB1SmCa5ugdbnr VXhPYbuEMTTOf7S5PwRvZu6zXfWkLS+jWWhRZo4pwm+fVnIJUCLGsLejWJSEEfwA/yrkAPsMdpB7 VeNLD3sq1FWPC8AxD/nNVeBaXmMjfBo8tbRFJnRAY0XeM17kSTmtouE261W6UVWjhCIq61jTVQwy Lbq6Ig27EPCD511YJMjScTRNrgh0HcS2q0767nxgxwF1cT2IunRbOd1ZGm72cHduqb85vaeh46Ch uBobOJYez3iQe4YDH5tXdzmti1PBUA37faCaAKOnkU5rL9gOldAWoz722tsx7avVc7p9ft1/714D GdOik8PgjILhxQG6lqdBVye4gzeN6kR7JYCnaAT8tuiOVFHJPAGjlKeRygs0/Zb7zyHq03kUdB64 iEDQblv1A5HBbCVxpnCa5N2VlXWCkHpu3AUP15dEZCpaQewNHoAmshNFDudMgv8T9yWvP0eMt9kg tORwPuMyCzFek3fnF7+1al+C9TeRRX3gZzLEswIdWIE2rKQcyMk7c9DTit6f3wD29va6P1rXt4LI mYpKrTea5g5tc1RpiHrHDmmXHVuVZ7Rg0V014mK3P76vn3b/7VwZg4tS0BDCfp1NLknCHnQWVU1L auf18o48hWnaMhA+FCvDhXNk8zyJ4BjoqMenHcHFUbNVDuFr3DWz80Xah+DdRzjr3yoajB0J2nAl eOlmzRtsL4JEIJGrLFR2hG5DFf7r6QrdYfRF75V2zDDwdztYxKx3UYkTzBbA8QjEek5N/q5LsdD5 fT08406aoSEB/9SNnt2ddCZiyyy21btQAqAQ3Bd7anwtCo1IdoTJJD63T1+P28PR5Dvt5mW2ZBlm pJO4f0ldJ0ab1s5V+Hq/+WN33G5QO3583L4BNcRxk9c3HPfQPTkht282tBHpwDTPuImHHHMwN666 hwO/w3FUEItRN++iCw5gjJX0Lswej8YxCxkGmGUGuzLNMCUX4q1KR6liXIsX6yCvKpBL0hP1bjxh oIIWfoSBKjjMcScFpfFOdqe9J9WkM8dd0EiI/zCRVrBpyUtrrDoeA3dHX+FVJQ6dtaEeBZtQsHhV pwT7BBAPVYang8Tsh2z0fqGTYboWo7sAmaqUR1XNQpchgk6lIiiKaDiqPQBF1WVDlS1xlCnmHbC9 D64TuabPSnn3mOpI0QjWTg/VxjIt1ZTgDV5VUIJJAS8ar09OkICuML/1uG8Ewlxt9NJzGl1BTVnI AC7iZd8t0bkrzH+bq+260MTDiMqsKTieTnw7BK+uQzTvK0vGhb7X7fQ+eo/ayh8sDA4n0GG68XQX KPsDRyhDXwzPPF5xYKLBu1we4zWoKFYdLMhw7dHRkMX2/SGgygRONSoLUDxaYDxL0SjtMLOH7tgh z1d1IVKR9E9Jwoxz16RsLIYnmAoKAAGeWCStnD3HeiA2lSVMOYsuewgSusaoSq1dXoADqDzs1itZ pCRv3Lzaunlg7Q4WoIqKOh4QSyshPYLqNjc89jZ3UI05QN/XTiL6DEkziHHfQ7HSToKxdyFffPyy PmwfJ3+a5OXb/vXr7snUArRVIEBWLWBsAE1WGTlVXxjU2b6RkRz+Y1UfhgesunjqZAtPWOa6K0ya YcbfNk46DS4xf9uWC1ZS7WRTDKdNIJFw4r+YqqjKbIyitgdjPUgRNqVubhq+R8n896oVui7CGqPB rONSpUxKU7NR3SQqlurMoWdzywwOPBykVRpw+8jW6kAXISRgtcvcZmKAkjlcvQKqEiwycxOnBN12 63DI7Lx19bWQmdJIUE5YwShWbuQ3RKGC2QjRiT5+rAO30mqQRJJePGuToSyNTsYQjE+nohmfUEtU XeL6aY2iHuOzpvgB9OCcW4rBGTskwyzUZGMstAjGp3OKhR2iURYuBSvoOA8NyY/gB6dtkQzO2qUZ 5qOhG2OkTXFiSqdY2aXq8bLMTp6Q5tqDFBy9dJFaGQltBExjULB8mdlenFhKMIkDSD2lAVxrt83l KayD5Lmm0GaT/rPdvB/XX562usR+oq8Dj1bcGLAsTgt0ljqdtggd6lmcAJAbU1akMhQsd8vnDAK0 fOi1BdgNxgvegHho6naGMF2/rL9tn70RcZMK7HqWJq+HForaZYpWZvEeU37Uh1rAD/S+usnHHkV/ UG2IdNJP9fG6yGxa5p1NmFOaN20d18BJYPrSFiYvqXOSJu/epN2rtgGaYNsfrQDGL/X5qh2YvncV FEXeCSZSNhWdvIteNYkiCOCa64MKNZfWBtXX+5rHKUg8trm7Oru1sqO+0MIvXQklWUjC2QB6oHbr Iefc7/08BKWvIOBBpvUdaktawZp7SVhQ3rl/7pLiMbtz7vtjKgS6PDrQN/zGsiLv5HTiQZNgwDL3 j6X5qkVCRzX6FtV2fKjA8E5XslrpjTJXAbjrs5QIX8SRF9REacTxs4ePaN1DRhv3P9se/37d/wk+ uHWQnYQ49WWXQClbAQp+YR7aZqKGRYz4HdYi8Tup97FIdVLDi8VitDn1FYNVKeCaQ7H+bjxHZhbc blluip1CMvBwBQhItMCirEhncd35tER5ZikO862iWZh3BkMwVoP5q+AqAkGEH4+rZvnA2xCDnAq8 OU3Le9/1nabAe8Wsk0hcocrhc0b9e2EaLgo2iI15OYZrh/UPgNuiiP+9hcZBaDKMZDnqRt++ILZZ rg1EceyAijCvwW73ZZQPi6+mEGR5ggKxsC+gRvjKfwxgdPh12kib75K4pgnLwM7G1Cq7xt992Lx/ 2W0+uL2n0XUnaGykbnHjiunippJ1NNH+m0lNZAoTJSaho4HAF1d/M7a1N6N7e+PZXHcOKcv9l/Ea 25FZGyVZ0Vs1wNSN8PFeo7MI3Ch9C16sctprbSRtZKqoafKkepM3cBI0oeb+MF7S6Y1KlqfG02Rg Mvyen9nmPBnvCOLzcFDf4JtDTIuiVRqlAedDp9fArKVdG2wTm9SqFxvkI0hQL1E4ME+GVeYDClcM FJfDNvmZRgr/3X9yMTBCIFg04BwtEpKp384uzv31jxENM+o3SkkS+itMSEES/07cX1z7uyK5vz4w n/Gh4W8SvsxJ5uc2pRTXdH01tMcjNf9RGHiOXpRJrC/n+ArUvjoMYDMI+qcLb2c8p9lCLlkx8I5v IfGh2UBtP8xTv+kd1OppPmDKTJm8f8iZHPZmzEwj6l8MUiSX4MJK1MpDVJ9FMTxAFkqfLhT2ja+I 9SMr21zeuy86qvcI2GEumP+dqEUTJkRK5lOo2m7iAxe56twcB5+tD+1AYJ7SPDp2fdUJ3tZ20tN6 ZvNiSjvyWbnEvZYdhO3+WisakHYSwxrEkK6I1Tz0q4slS8m9FyPiOfMWYOO6bnOXMbe5vhBiziuE CtF7MWIthg28NaH5TA29bc1i/ypzCSq9W2Vk+42xH+ezOvWBh0BcB41WACQ4TC9JHFmMCUv4wuuR 02JWQAxZn+NabqLtX7vNdhLtd3855d7mGjW07mC7H9UT2U6pOdOhd6fmxsISmadONxpiFUY5fWlc zpdUYEbOz22HDNNdP0TcPi0ZJIQYMvWvAl8Ju7zoPRu2exqRPMTKYqBSHZGM+xUb4kDdDONIR8m0 KrcqcAQqG29KkAG2eX057l+f8DXcYyMVTt9xAT+HCg+RAF+v1wUIw+y9x+L3+94cou1h9+1lud5v 9XTCV/hFNjVZbhfRUuUJMc/lB2cDThb3q76xoUxG7/ULcGD3hOhtfyp1UmGYysx4/bjF1w4a3bL3 YJWaucsKSURBMofWVr/FPdltU9vo39Zmy+nL49vr7qU7EXxGoLMx3uGdhk1Xh793x80fPyBEclkZ +IL6n4uM99YevpCIyD1wach8tbpIGJTNG/o8/LhZ7x8nX/a7x29bZ34rmhX+PJwgOYtcI99WRu02 lR6d8H66qDT30DOa5F79DB5MkeZx53GNgakUb6+9E4L4IYtI0nkyX7NCmEFjJtIlEaaMKaoZEO/2 z3+j7D+9giTtW90fL/XFrp3Sb0A6mxfhC1sr935fCNIMYr0pbFvpWhyzdsde+QjAiiVJ0Ck09TTx 3+hW0tNdnOWE6EtefB3pz/Q3vMe3KJFgi4EIqyKgCzEQuBoCLEGrulGmZteXx0AiU05YkeoisTZL J1cSqzKpWDDJrX1p/o8ILIApC26aedGLMoEPEoDWLZh98S/o1Mn9m2/FLsIeLE3tesmasPo/MexS hP5R0CIXvB8mj9rjsFyNdMaUOZdNHzad5Y1xcI/CznOqeqWZdI4OfqsUH4UDA4jPp9IUkom4Ium1 LoP74dZp4Sgd+NSbKPsmdb0/7pAFk7f1/tBRhNiMiF+xAstbXoD4MI30FZ+msS40AMXjCvrsdgli rR/Y9rptlWtvVnpaJfwK5gzfwptXecV+/XJ40vWkk2T93XER9Qx43pkTjsnwogXfO+jgrNY3gqSf BE8/xU/rA+j0P3Zvlm2wFxwzt8vfKUT+HclGOEi3qsHO+qEHDIJ1No57n3IjFcpuQCCkXbKomKlz t/MO9mIUe+VicXx27oFdeGBZQRP8X8GeuxiSgtvfkzLEgNL3GbgaXRYscQcC1nf7Edzn3GqBDPQd 5HMrLSM7Z9yk9dsbhokVEG9FDdV6g28quhKPihuWXF8/DZTkoCzhYwTi18+I17xTCywt9Oto3Qk4 UbAA7zE4NfGmhPojuiDr3cv2cQJ9VrrJ59roEdPw+vp8cEIy6U3HWfMYFv520MZn3h3+/MhfPoY4 915I5/QQ8XB66WXG6XXaUpJhxW515e4MACcfcQPCpZvRMET/b0bAnjiXtH4CJe2HU0ael5pwuGnQ vqsU678/gZZbg//4NNFT+2rkuHWZu0zSPYEPThLWjZP6dCEZCOgbivR+IA5qKKb5QOaooUAxxpD1 1Fx05DBORAQ+eO0JUbo7bLyMwB+SnRgZ3Azuz/G1DGVyzjN8LNIbO8mjSEz+Zf69AN88nTybq9qB M2Ya+MT4dFe2zJRBx9gAQC0TXYcrZxy8ZX3R3yEIaFCl39r/pKbGYdWE40/ViGlSUhitY6u1V+fP l0SFJfY8tg8aWP4yY8XA+4b/5+xKmuTGdfRfqWP3oae1pLbDOygpZaZcoqSSlEv5klGvXS/sGG9h V0f0/PsBqI2UAMkzBy9JfFzEBQRIAATqAaZLa5ibQ+JjuX9nJPSm+0YaWjcYThCQZlgowe/uznj6 3R9GG2l4DoWhhnTVLK7xdGgx+sVFppRibaSPc3QpQcJ+BVJxA0PSuPnFchK9k+PEc7zbHTRZqqtA /pfP6vu0LNUpLlrGp7HNDlLxPepKTDSR6zQ7S7PMhOWYlxjcC2XJS4ZxabSaTiA+55QfY1wlTRRa Tmwe8GVN7kSWRTnMdiRHd1Dvu6UFiudZmjbRE/YnOwiIdFV5ZN0mykkK3/WcKSFpbD90jCtzbt/S TxL4eJjdadC9SQ7z84ChmEsVFxkVp044KnBB71KXphXKNgs3vi79HreO4VPcJ+fpMRaU9URPl/HN DwNPG9cuPXLFzddU4S4VhMJ7GJ2qtLktaGlqW9ZO13ZmLdYUnn1gW4vJ1kUAfP3n5edD9vXn24+/ v6ggGj8/grr74eENJXYs5+EzbOMPH2DBfPqO/9U5aIsyJMk9/x/lUqtQaY+TdTJeU8YotlZTjMev b7AdA/MBVv3j9bMKuLsYs0tZjarhlEQ2fK08TbFLi+sTtXRTcTLuDNA8ENotMAwRJwAgBBSsG4s4 xaAjxPeYumXCAFipYZqks7ZO8MT7qV4EW3QNEtHMXC+CyqCdnJwbKg4f3k8+2G60e/jt8OnH6xX+ /E6dTB6yOr1mTESrgQiSePNMj89aNdoVThc8bBZlay5n7ssi4S7NFUdn7pjq9HiOa/pcPH1Szpkr 5lVtyknmscCra/r6t2JJlxtHwXMb5gpjH9fpOaF1oiNz5Q7taxiuCt8F/4Pdm66tPdMNhPT7RY2M ihHL5L6kLXPTrO7o7tx1epHL+Yn9wEnquQnAMHroPWeIJdi6C+w7sIJdYQbpaZ+rU2nWsMwUJ3HV zuIddEnIyOpDRooAegHH1Jy1aWu7NmeGNmTKY4FW30p9mfbWHKTrhpIRjaxtaoZ3jUU62zG1U1DF klvSCVwvVMbvdaNZg2QcTsDP0LbtOzfmFY6c62xUB4uwaLOYrrAWdDqOfWnsEnGbc/YgOa2ZI4Ge xUjhOnFrNM91WcdGw1TKvdiHIRmDQ8u8r8s4mc3c/Y62ItkLiTyDXk774kZ3huBmR5sdy4IOaYOF 0Rf1zXPTpnIu4OsZqYVrfjDqr8b3FmTUlSlPr/CS80LEl+xsLvzTucCrA/jue0Vf+euQyzZkf6Q7 Q8fUDCbPns7z26QFcdYI4itPad6YBg990r2lp/pIpkd4JNNTbSJvtgwEJKNdc25EZFF2+8aKOaYy K7KRwdN7Pr0paAUnJifvzGDzjLKR1XP1phJTRblDX0s1MNxza4Jleak856nhorpPnc22p+/7ABtT R6qUe1Gh20YBG43Ea745A1iWdCzLoxlh4UjeR2lZTuf4mmbk+spCUKxvNAlPZo0W2yS7S/uAQwbO Ygw9j7SZBKQzCzW7cVmAwFSCFK64HdcyIHB5mMO4g7QteiZlR5onv5MbIyXj+pKaQY/kRXL8pXlk jDCbx+eNTVpCLXFRGvNY5rfdfW5hNtG8hRarU5vrKvlw3WhPJmpztj02Ybhj3oMAkmdDsbR172Pz HrIuVDq60nK+LqFbgp27IRSonE0q6UUln2sjNDv+ti1mrA5pnBcb1RVx21c2cb8uiZa9m9ANnQ3R BP6LzwYYwmbjMDPtcjtuzFz4b10WpTTfGThsMOfC/KbsDvX839hh2MVz1HYF53F75IsL7MvGFqWc 4ZOZ4LvMWD4aLQZ8ubEddj5G8CXHrDDd8E8gmMPsIzv8OUUTh0O2oeBUadFgKArjfLHc3KKf8vKY GZvpUx67txst4zzlrJAJZd7S4s6Rn0iPD70hZzyfkYaA9yTiADaQO2j5tKTwJPAIjvMAqOXmnKkT 49tr39ptLJY6RWXLECNC240Y43wktSW9kurQ9qOtymCixA3JWmo0765JUhNLkGAMT58Gd8K5Nkfk TPWoPDqhzEFLhj/Gqm4Yo1lIR7sfsaWVN1kem2xHRI7l2lu5jMUDP7lImUCyo40BbWRjzIG0ygRn DonYyLYZjQmJuy1m25QCzSlu9NlG06r9xPi8VsIE/4WhO5uPwcRV9SzTmN4YcXqk9PGXQIv2gtlO svNGI56LsgLV0ZCyr+J+y4+zVbrM26anc2vw1C5lI5eZI7uLCgQQdMhpGJefdnZOtyzzYm4I8PNe nzLmHRukXjAcZdZSNw5asdfs/cw9s0u5Xz1uwo0AOsanVnh346IX3t/BxLeMZ5E9Js+hrznMIUmY A/GsqpjDdFR1Vx6OgOHh7PCrinlBIScumps/8eW+r73Pw8KOY5DjhPYqiWiFFlQROtB0oIVFfKRT utBDWkHiqvxAdNOa1faoFp++/Xz74+enD68P52Y/nJir73p9/YCvFH77oSiDH0f84eX72+sP7Qi/ uxb7qqIWXD+hn8VvS9+O3x/evkE3vT68fRxQxNX7lTvKljc83eP2eRhYzoBAubMQbgv9JdH3v9/Y K5Cs6B4JnKQXTLjnaUKdlHbEwwFDDeR4wf1lnhGdbmaORAa9i6fwiJf7X0yKjNs6u/WU0ZLuMwaR /YRR7f/zYtxX95lKjB2UXhaF9enoSHLW1OsZtQGlB8Sn279sy9mtY57/FfihCXlXPhNVpxcyEQO9 f9FHhPMa6TI8ps/7cmaVPaTd46TyvDAkOnkGiaZ2TJT2ca9HBh3Sn1rb0i+4DUJAExzbt4y4mwMp 6f3caj+kPQRHZP4IzVn7EjTrISrHZDXb0oSgtiL2d7ZPU8KdHRKUbgKSn5PL0HUogwED4bpkqbfA 9aiBkDqDnFKr2nZsshVFem2ZO50Rg/6JeA5Ard4R1LTlNb7Gz0T1IKLg9FgSSliYO6o/pXNvy7M4 QQpBvrVdccuWirgCmY5SvLUFqFkA4U9Yzo5h/DMk3uO84sKSDZD9MxdFbUCgVgb/MnvhhAN5K67a TGzVOOJgO6PNkyaseK56kyGiIBX5Y+FGsoClIGP1114srWsKXQ3arKY5o0tqrVHDzYQrmWAHDKaJ Va62eWiOQeityRcjjZGXU1X9St17Ib0oIJ8LUHTxHFfxsmzsIDS5WCn50oCKTpsNK3rPqma5plmw XvqEQ1GEPNYcth0MjsCcfCqICgXAhB7pANiH3c7GL8DMVNG61DgJ7B2tivWAVqY5ru7FOBmwvYxt fbvp90n3Zt335xb43GJLl8C4PWspcqidYJ+mtE+QhklSUSamt7dGvWT7mnZYGr4rU84nbUofio77 Nog4RY9cA97ad/RTEYMgdcWHLVfLeAZFE/bZFYSQswcpDCqacuT4tg7qrfjK9KJnzuoftoBKHEIv 2M2HqrrKfkAoiuroOUENQV3ii6Ro7teP02zm3XJ3d1s2sifMl5eByZ4ax48W1QoZ4xs1TLJpgdWR kvri+Nat77GGJPueRp41tgMEA4BocC2zXWet88VIMhqjUoB3zlIOlhaedkhR7LScIZ2kNzab4217 keLMU1zjyLdPozhuR/K8wWLt9PLjg3Ipw5cDUBMxLFBr3TNK/cS/e8PESSdVhErgVk1U2ZFB0a0a 07ZSpdfxlVwuHbW36JgVPK+5cST3hExfTC3mZZj0aj8TZLr0TqYlM55nY3iMZTrvmCHtXjQg+5Pt GyE5fTE90lN5tq1H+u57BB1kaM0gvUpOjfNkZUgopJ2C/PHlx8tfqHgvzJPb1rCCvnBBw6LwXrXm SVhnlqqSyc/JVfwd9PybB9rtXVd+fHr5rCnynbn1t69/hPg6zM+OrA4UCIu/TpJRZ+l5xjDzHvOu obX7ntxkh4yxZxsQQhQ35hxnQNh+1gTMPUMP6hfBuzY+slcAJnQL1p93Vc0mElbOGrlmHqjvyYcm v+fVVh0KlRWHPL1tQQWeGavnCbNjJmB+0O4SsymyKKYoi87HmDGbLO5HZuyL8n0pybPYM54emoui f2mYiyfXP1GH1hiTTfpl8JadGC+mmfHu+s/A0xBDWNfSRVur9vTP301tap/7JzeJFvUmjKIznjRk zUpm9+6BTy42k9z3Z53dwySHmDQcOV2JBwbHxO7tTfUIzlreKR7KgqKes/tCFS2gSxjzWlRjYDrR Qw4fJZlLAiA90k0FyrznofeO6i3d7iPpQ3kBf6qlL1x3ovrXjB0vz3jbwnUCQxboUnDY6Qo78oGS e5Cmv+TW/dZmR58uxHWZ2Ii86teDnkJMLZV+aR2Hb+VJ4qqgg4ao7OWBCimlnoRp4yodDvq6bnx7 +f768HHYEJdG6EOuO8iwmruIlu5FmoR6kXl5rBNDjblIQV30y7Ko1fvgplJaqJjIFItQdV7kWZO9 gXfnz7jqtSKGNBVpgyhmpJcH/Zx+ub1rMmS/Hutz06pYll2AguVpNsj4y0Ns3c0eftzVCROw+NJM 7h5mMPgMpp4ATB9ZA1Web8Nwyr8/v336/vn1H/gCbIfyFKUaA9vYvhPmoOw8T4ujJsv3hc7ONafU rsJZct6KnWv5S0Il4sjb2RzhH0MB6Umg9vEfi8ZCosoTfeBWP1zP3wefQFnK7PnulOfLNIajgIhh CmbXLJV4ADykf/z2820jDIrq7TyzPZc+Zx7pPn2xMtJvK3SZBB4TDrIjo9E2S88WQrJObJizLCRW WXaj5XSkFspkhjmMQLqysYEZRQdRVcOSgaYQ8T0HdN+l70h7cuQzZ0FAvmTMeUpHq+plDBi1vNVr cg//xvgVvU/5b19gJnz+n4fXL/9+/YAXdn/2qD9ADEdn89/nc0Ig+2E9ghGRpPgUtwrpsuoXPMcy fkoIW62vXBzLm2Mt4u12NJlchPrRyEw0qPQf4LlfQUAFzJ/dynrpLziZFdXGZXMHOWRRVPn2seMB fTnaIM3LODSzjhrUP271zz51FtFLJ+XG0wJjUu8dOGd5XQwZ1jhygsT5cW26IIR9CFHblsZ2ucbx qcCIk5DWR/SgBbzrFqKpKG2gAXFZE+ob84exHXbHME02c92fkj9/QpdFLYodFIBbpOHcWxFBWtoK Mn/767/JkFxtdbe9MMRXlsyTa/1ivTdQwCtfNsardsP+8uGDir8CM1tV/PO/dMfnZXu05mQFKixE T+IShjZMs6tPUC7pIDycep91z3YGRHno9vJFlulVR02Cx1k05xNaPvQAOYzxtfpQ619evn8Hpqey EatN5QtAeFSxhegjm2o83eLpa4EPugP0KxfXVZEPLf5jMY8cK8gQTGmV03XImuWmin7Kr7QyrajK vvJCc0oFkPvQbwJ67+rGIZaxlzgwVco9vYF2MP5UpqeXa5U8N4K50VX0JUOfjahM7oe5AGGG6afm zrjVqtTXf77DijP0uq7wzsrA8HTQ0nF6r7QsKRj/SjW4GHNwZfjUpTlpezWRHeMmoDs6RZmXNB3v yXhboUnXKrWtMuGEtqULvETfdOvxkCz7bOrxJXWM6Ufk0huxb0PmUK5veXZXjkw2LYYOoLRDOczh rrpjSQSo1TdyyhANNWfE8Qi6A14YmcwOdEoxe53rSou8XYDR+ELLQR0V32+hjnfH4KRVbkbE0NKX YUIp0OkqTbt7FTtOQch24fZ3xHbDzLd8+sv2cQvc9fkuro5l0xL1AEkaJwhpJmlAKINcA6DFkhjS m71udde320jsrPtniUP2/ZMT3HR/pBmhV7UX7R3ISXs/V0kM/QnqB3VQNWSAJWwH1s5a1tRTtDun 4TOAEkbqgmsxMnkVBk5A1DcAzB16KlH1xbLH8tb1PXuZIUn7hzixlTvf86nGQGfsQKFcnUoKE9GT QMc4XrCJCUzdd4nwQtNHY5wXcu/uqF4bxuIYn48pHj440Y7ojbqNdp6ns+GBchaNbVmMx+zQsCSK Io+6NVysT5UwCPJU7KPi5Q22Nko4GuOxJMHOpvmiAaHvzSaItC2H5gAmhmYBJoZm5iaGthEwMO52 e+yAnkYaJnJ2jPn9iGmhf34Fs9UewPjcRY6GCX6hrmCjnxt3q5RGBP7WiN4wJFWh3oiumTekpvKq lHmIYIS0t2q9wqTxnfVmY+ygjVZn3iMIiLS8PmAOgR1aHu12qWNC50BfZUwgzw08elsfMMfcs0P2 knPEONYWJvAtWo3REOvzq9NXGEPsAXTKTr7NHH+NndyG6yvrnWCcKAcAiB217WwMN0Yv5Z5DGzGK Ta+vhw4TsJZoBo7ZnjQMbHPrcxAxDiMOGRhnvZMUZvvbdo6/3WaHkeAGDG7tvuWvV6ZA9jpzVhh/ fUNBTLQ+gwDi2sHGPMTYWlsMQWHczTb7/saMVRjvF9rzSx+2McukqNytHbcVPvMyzDjukjn/nwDB JmBj+smNPRYA63Mhl4xWoAG2GsmY22uArUZurXoQFLYAW42MPMfdGi/A7DZ4i8Ksf28lwsDd4AmI 2Tnr3VK04o7BM/BdMiZO7ggVLSz69S5ATLAxnwADWuJ6XxeVkLw1z/B5h9CLGHV8bpa+zH2Vm/tk c2o3WDwgNpYwINx/thBio4yV26xRbpIp8NL1wU6lsHfW+ggCxrG3MT6eBqw3WjZiF8hfA20svQ62 dzf4btO2TbCxcTdS+htbYJwI2wmTcFNlaoLQ2cBAT4Vb4mwRO9b65oWQjdUAENfZ3E6Cde7UnqTY 2P9aWdkbi1dB1meQgqx3HUB2G1MMIVufLCvPXm/LJYv90F+Xuy+t7Wxof5c2dDYU1mvoBoG7rm8g JrTX9SzERL+CcX4Bs945CrK+XACSB6HHPA1nonzGcExD+U5wWtfbOlDKoNRuxvipX2N8NK4kn59u 9qCxNE22n1lVNdRt7V7ImITvZ480T/Y1//n761/qqYSV+PCH5B6LNgRlh56OCgCaPzMVBzKjc1T4 xLu65GCUMpU/bp0wWAaWNUHKFQYNTTljvwl1ykXCeAcBRvk0WQxvU4Ak8gJbXmmjNVXNrXKshZOE AZFockV3qeqUJI4sl28Dkj1ntQYFodfJQGY095FML8SebDNsGcnHuE3xThm0f+bZetUHwnb7g24e Uzk+czCH5FMGGpStuozEgCCj3hYT9KcgGWrnLsjyCsiM0RDSOIMibFn21PhM5EEkv4uL93chSy7e FWIeU8m1DMlhWMmQCasw0fkZoOi+xbdRHbx7jKrVA4KAOz6bACsTpQOE9OnsBGC2hBEQ7lYBYWSt fkQYMWfII50R8yY6LTkoeutzatFAXis9LQ6OvZf8CqnTlr40RyJoJB6sY753yDtKnd561lp24bUe o4Ep+mPICFWKWnitz8i0SG9Ssc71m2wX+LcNjPQYoU1RH59DmOQ8I0RBnyTG+5tnbexKDQh7lNWu oimDBMM7GFJbfEjHdb3bvW1EvLJN5ZUbrcx6vKUL+Z6FanK5Mm3iXMbMy8pV49sWc+WGRI+zSumI jCGIapQCrDCDDsCcmowAx+aXE3439MzKztojPEYj02pZ6V0EhIy55giImH7SAOs7PICA/zMSfnvN QbFemZ8AwGBg6xP4mttO4K5jcul6KyyiFa4XRit98SRvK2N+uYUrUkxeilMRH2PmPSWUxersfVnE qx15leFuZSMFsmuviykI8awtSBTRyq7iheVJgmgZ2Jx1ig4C2W+Fq44lrYCaFmWmFb7YygPfjqtI IpdxTa/RPLSpiDmjm7hzusfozTr4S2v+sKMLtbqdNtxiR9Ihu6Uwacq8jckwjhMSHY3OneNZc5a6 ZcKEQVfQpkJfrhFFNAcEqSOsdoqEulPoe1TZceK5Uajf6GsfGEcOwx1mIHoEtf6IC8/1mBU0wRgz yQmQNXnkWh7d6UAE9ddm3iAdYbhlBZSlzQziUD2pzE7IPlbsmuzivOM9dKOR6Ac045lQKAN7Jnui MKG/i6i2KZIZuMckRh7lgmxgQLx1fLJwUdmwHzpM6ZW3szcaXoWhx3QP0swdjIA8BZFjUT2PUq1t U5TqcH6PUZNJ2iUMLZ8nhRbdVkUkwyBqmKukylUBNk2b7onY5EfPtui2NiA3Wn5MjQuQQmdHzlXY sj3bd8kZjnu+49Kf30k+jkt/PyVZ0SCbrvqCJtoaQcyDIqChfKXPszyrqQgQtRhCf2i+qxmGzBVa TJApHfQHMlYIUvyBQtQDgHcXusimLJ5pQlw8lzTlFNcV0w4JzP9xn6y35SYrsuCss6Wiv0/KlUJV R176p2WmIRdabBSSc0HJp+zmnRLGWalr0xqNjdvQdQYbMOd/Gbuy5jZyXf1XXHmaUzVzJ5aXsR/y QLG7JUa9uRctfulSFMVRxbZcklxncn79BcheuIC2H7IIAJfmCoLgB/QmDQrmQdXDVq6KkCX3ngCZ WPokKzDW+xtFiEnNUs9TJxjiFSQVnuaMsyzHMM1WPyh3fOF5+lw03pC6yBNGr0Ihy3G2bIK5x2gT 4iMxjhFZ6twbeEJJERIqcvdh/fJztyGDsQeF+4qIAW1AeOh1MJ2somsf1k/bs2+vP35sDy1enmEI jqwu6eJWU8lU7OT15tfj7uHnCWMb8sBFRRyWEh40PGZl+RagJvZcLCbT6g3RLhrzOyX3kZ/tphxK K7M6deEppiJw36ACUXsBJILBPRiGezqpjMA4wLdmV8uonWza5xv9++aX7QaBD7AOhJ0eU7BLDwKY ZPJCf+zak5pIi4wuqYj7ZQnWiAltfWUYz0RqPMcHKp+GRUGBxCqmgF8rMx+e1RNWmLSEcRbHKydz OTN8mbeYbkZG0NiTLC1EGep5DVT4eE92YVJiyxi5hXHIs8Si3SssPqOikzCBVYheAyQ/8rzGkcw4 K0RGItghG4qTYF9mNWar0K7EgsWVHXtOY89FuCg96OmyGitYyoUODYZUIQPemKTKInxlBuYUkqqF SKfMymsWpqWACWKXEXP5OsAihoFNSLN5ZtGyiQpFRVLxR65Bofb0yAhViuSiTsZxmLNgRI8QlJnc Xn4mki6mYRiXVjKj5RM2EVzC0HmaPoGeK+xWSdgqgoXP+ja5404cWRmxIYsqi5wheEdoTUDEVxLE kEorYRJgNwpnJilnKd5twog1cCc1sn+G5WHF4lVqrUk5Qr/wgCRKpFxrNe15vh1cyiAeY4GDnTZp SplCIIYwXdeSCefbOwh6a9pJl2QbKU7nY1Q+K6cKhwws9lasVSEhQkEh8q0FRWJ10QRBBlkpDMjF nujvizJhRfU1W2FZGiqGRnW2iUrYsw9WmzK0p2k1hSme2DREnlAPbweOTnVKq3HbbPLywsxpIQQq wnarLUWa0LdqyL0Pi8xuVFNgFcDW6FGSZXPJW/9mSr6alhtmnJf6Gzdq8x7gGSitQiI8CAMZwpHt AcA0Yq9PlOMmm3IB57SqikMMaCuYFhcP+a2Kqc8oJMMsa6pC0F4RKFDHuXBfZ2sC8N/UZ1FCPitw NWZlM+WBVbonRc5F904XhSQCmIUShvT85+/jbgMNHa9/0y/u0yyXGS55KOj7e+QqkErfA/Q3SrKy YcHEAw1arXIPuAAmLDLosnIhKt/9ckJt2wkoLQhWqr0/aym9wVR76VyedptfLsxQn6ROSxaF+EKw loFunKQI9H7GB8SQgPAe6TKTUagTD4ZvJ/RV7ltpc3HjMTx3gsXVLWU0S8NFt0V0GzL8UucFbdvv aU23oQ4bOPLGBR4zUlAmEWGKI7ZT6J4FQJTA4cf0LL34PLrS8S8Vuby4vrxyqOi0eOHWgSfXFx7r /SDgAR6UAvJShrYgD3yqFTvu9eXIqisSb0dLgvr5fOl8gnog7C3Bxu9VeeGdJvVKredeOZXKr66W eAOcJLoa1PNMfO+BTCGM99zrEZHoxrpGtrg3ppV3aIMrSqvo2dcXRNMtqOeckjVci5ifOg5GN5+d tqkurm7dwYWA7VcehwglEPOrWxovvB87V/9ahc2qYATDw6KK8uI8ii/Ob+1h0zJGyx7yaZhRMkbE t8fd868/zv8jl9tiMpZ8qNArPpamdtSzPwaF4z/WnByjRpZYVUjiJTSnRcQbH4uk7sqHIeZMJOvx hc4tJ8nF+eVn/Rurw+7hwV02cMudGGZTnayA5Ty8DBaraVbZ1W65SRV40k1DUPDGoQnTZUj0Vhff 93WCPK89hTAOqqIw0RMNAY+iYMgEYcTgnNJIfwnZkruXE+KYHM9OqjmHoZFuTz92j4i4s9k//9g9 nP2BrX5aHx62JwO7yGzfgsFxNEzf/1IGHcE8HwsnHzPWmMFVkUXeKyCX9iN7Leubsw7MhRPjsqPT p4iFB2JPwN+pGLOUiv0QoCOiY2ceqO4rf9mEIKBZCYdUbey3oXmQ1t+0wl6awlHH5Gaart+CnCbl BDhmiCX5MjSgYywhzGiIKTSE6CqMGwG060sDwCBeYiZEHvIiaIopmmSSaMGrBsaQPVQHq9IFejep Vr2loA/KCvihVR+b50P+K6MmV63U9wjvAYWG4VGuUt5Uvq8OEPa8rMweUX3YFEwEWu7jOuqC7xiP vjH/SHhCqqt0TZLNQ9C9QQ2kh2grBguSHVqi1bmt8vvxUi8DUcL53lhepsHlpQ/1QSTYJlwINDuT EvhmHi0K4xiGJm3G0UUoUH+Nr3TM4dxlRj6u5d0DdSxHTh4Uc7QDi+LOyAFf1iQd48nMjfmOFQrg m2clfT9Tt9AnrdnZK4NREP0ZwBHecyxE5JLo2oOWMo98sThh5WhBcykjiI0V24LcJmFam+HNJNk3 B1v2PMipGdJyxyyOM3P7bzkObL8tYCNFddzADI0hIk5GqJ5Ps7JqRFbFGgK9JFo/3e+WVDpEpOK1 dTBoaDssW4NBC+jdH/92m8P+uP9xOpv+ftke/pqfPbxu4RSoX+p0Tj7viBr2qRUdsaWsGCxEhqMP rMWhGaytux1Z/3p9wR3/uH/cnh1fttvNT70+HgmrKHX51n0ue/5+2O++G/dmLUmrPpwj8wlDHFVq GqeiXJUYiUuPu4KtnCU56G1pVdoMFdJqOPUSfWgyA5F43FflwDFd0tQl4vr4a3ui7gUtzpDXUsS4 A8PHioieq5EI4wChIC0dpxeY5Xz02eNmdxd7XtxPsjiIREnbQZRKDqd5Oi7HdFHmIiVR8LhEqyv3 rwcSaxmVbUMxUZS8yMY6OnI8K9EzItHXoD7QcpOL6vpyLEdvh8pLldonZCIem1GqO+i2JpnSvrqd vjT2IJ+1eUrQJeoKG9qvbliuhXZWpME0qMbL9nl72G3OJPMsX4MmLUEES3fevydqliOVy8hQPTuG UvhzVpbVtMjqCXWxmUVKXEOiRlRlioZI1h1d1rfYPu1P25fDfkPZCZWHBfS3tRO2X0kkVpm+PB0f 3PFU5KDRGn4cSJBqAtltii0Vz4mM7lbklEVAifWb4FA7oxaaqoa32gthumWq9RO+849SgcFmzxJ0 +D+4RG52P6AvA9PSyp4e9w9ALvfcaLpuiSTYKh2uud+9yVyu8iM47NffN/snXzqSr4CKlvnf0WG7 PW7WMADv9gdx58vkPVF15Py/ZOnLwOFJ5t3r+hGq5q07ye+HbcZV7FeZYrl73D3/62Q0rM4Y9WHO a3K4Uon7jfFDXd9VKkefpXlUyCDK6mSgfp5N9iD4vNeHfcuCNXyOcLp5HIK6HIQJnESN+3hNLA8L XPBYSkYYMCTxkrhU6LRkVr3v7nsZYTjgeQ8k332PEyxy+PQ2UGq/wITLig+WifDfEygZ3piTShiO rOz28sYwGbYcLxZny0coj4srCoasFcir9Arjff12khbVze0/F5SW2wqUydWVbkZsyd2diHGzkBXG oUt4ap1WtDPXPAntS6SuoRfJ0LYIitDhtA774iJx7RIGFy0CUUUtmsiVhtebq67LEV1zQwPMu7Cy GNXEPh91N3R2PlrrwECceb5XgjB2gFextPJp+xDyxgVPymqMv7jnHbESVGaPCe2/p0QqQUChKuzM 6Qq26W8K7VsDKO1wZKdGf4950szwYQUMjhEy6b6Yrjqs26bKisIysJFywUcyK0VY+N7P6mIsntPj EqVwlIhkeZPceeMAolgiltCqicjF23XLl6wZ3aQJ4jjTJ2hDChvOXybL8ykcEJokSK6vSXxWFMt4 GGcVnuyD1oLX4Ysananljcsm9/hgJnzsjort4cf+8LR+hsXsaf+8O+0P1HnvLTFtCHoelUFTXDol 68evbvKlQZGJgJx97tEsIB06Uoz5Miww8me/xJhEjIxTBtJfQzkALs5Oh/UGw1C7sUUqLVP4gYeF Cu0GpeAUA0psDMM7soI6SSj3OeSB9la0D1HMcCwDjzToqzWhopGLiS/qjapwqh0W/C5cWwFLWecc bh9DBqY8udCnRMi1SSZFl4bPqWgqUmpciGBClQN7cHgftnyylC4KViE9rOs8Jn2sZSlFODHc3OBM YdLNqgcR5Qsc6TDw8EPeRWOspjQLDAUFea2Pi3ef12QsFxNK5A0QRJQqfXAIkjkO7eN8txKgVxg0 21LehjkhWSikiHrZsGDyz+2IDNrqRGGR8U+S9i6DCH5iq8OgfmV5rg17kS3NX00Xh0Ijx8IOwYsk dbTywNLLEFfw/zTkmo4HowjpRl/CxLurWRCEpDdGVlb6gmzpg8rpeoeWKLlEG205Z7FAZF/opEYG cSdHL+IZlgJance6LooHd1Nd6mjNGG0h0IyUFoImfHxOOVMWt96AkAZ43bzy8CO0FPJilUtfUWOg N3NQGypqNYtKdRVgaO7u7UDfH5Kjbmb1EtgbFwp3dVZR4xDD5UTlJVRBW9okrTHbLMIwwWTsrAy+ K2YrI4uBhi6ZcMLmaJYzqkuJsHjBYBuIQO3LKK9wLY2Ag5M23jVOin2wbM01LnsJ7ddFCaIqk4QV 41m+crZfvt781G/3ItA9+dRYj1sSWk89WDudxBTB3CYF861FSsqv03cS2fgrNlwsyorcz9pKK83l uH39vj/7AZNsmGPdalJk3OpxSZrZr1Z15jxp7/vMNIrcRciDLZza0aQkKt6VNlklMWeTEH1zhfHY VbLg7BEHoDMP5FlYpLqiYuktVZI7P6lVQjGWrKr0YIT1JKzisZ5BS5J11BaFEN8A8wIUDY3ae/VN xISlleBWKvXPMNE6xdHtJW1TwXChuPLAd1ZhQk3HLnqJJqXpcV1x2u/5yPptPKpTFGwtqixkXuoz QFEazyvcDFTzNKJnBqbENaYNmRqk5Me1QtjtoMSBkFn3QJQYfrypg5xy5wQR6s5/IqNT5hiNUXcN gbXd/olfaxTYOsEM469Oi5zbv5tJabgyt1T/9OZhPqVXWy4iIyv8rdYbyrVMcvGmbgELZhnyugiH Kywzj0XIZk2+wBHruVxAqTrHpyh+vpxCvoo4z9QHqgeuvefLZURGOH9D8AP1a9dNz+1JwBrP6GQy Lcm6zemeSmNtQ4QfnQ3/y6fdcY/vjP86/6QNzRgHUxDK1e/SgxJpCPmgJE0hD9KnIXTjASSyhOg+ soQ+VNwHKn7jgQiyhOiFxhL6SMU92F6WEH1dbwl9pAmu6Xf2lhCN82UI3V58IKfbj3Tw7cUH2un2 8gN1uvFgWKKQKDMc+w3tqmtkcz76SLVByj8IpGfLu3Xxp+8k/C3TSfiHTyfxfpv4B04n4e/rTsI/ tToJfwf27fH+x3jCWRgi/s+ZZeKmoa/6ejZ9wYts9B8rssSDDNxJ8BBO7LTVcRCBI2xdeOz0nVCR sUq8V9iqEHH8TnETFr4rUoQhfXffSYBKHVuei65MWgva2mQ033sfVdXFzOdpgDJ1FdGzOIjpY02d Cpy21Jk2axZ3uhZsWALUlex283rYnX5rPnf9GWBlHFzwN5wp72qMrOTf7kHfK+HYBGMAUxRwjKd2 8fFQQEtpz/dhoOhPWjWaYNpkkK98KWoEKwfNC87+6KhWyouHqhDctHa2ImRVOyapZ0wRX0jGEU6h TrV0astXUuvjJmCQI2Q4CTo5RJAFOjyTVXLFcTUuc0b5/0Wgh6PJQplldVMtw3MRZpHAwFAhfN9h oz/w9Munv4/fds9/vx63h6f99+1fP7ePL9uDpk+JhDWtwgvTpUG8D3xPBxX2eCZ1HhZDXzFNj4/L 5Msn9Fb5vv/v85+/10/rPx/36+8vu+c/j+sfW8hn9/3P3fNp+4Bj9M9vLz8+qWE72x6et48yBvf2 Gc3Kw/DVwyzunnen3fpx9781coexzbk8QqK9opmzAqa20Mwa+Atbic+aNEvNKPYDy6cQS5EsVSNF cyl/UxhtzV5ZM/yf/U0d298k/R28Pdf75sCZ14cS5YffL6f92WZ/2J7tD2dqDGhtJ4UxtKrh0WOQ Ry49ZAFJdEXLGRf5VB+xFsNNMjW8XzWiK1rodsWBRgr2Zwun4t6adJxhAWsZszx3pWe6qbnLAX32 XNEusJmHPjIOgIpV0xZdM2F/uEfnrdLJfhKdj26SOnYYaR3TRLfqufzXIct/AqehYFJOYTNw6NKB vL0kyF+/Pe42f/3a/j7byNH6gCAbv3XjdteLJWWfbZmBO2hCzg07QEcNKMewnlsEJXMqDAvePBxd XZ3f9p6er6ef2+fTbrM+bb+fhc+y7ohO99/d6ecZOx73m51kBevT2plxnCdOGROCxqewObPR5zyL V+cIpua0cDgRJXQr8aFleCeopyP9l04ZLFnz7oPG0tMQt4qjW92x24c8Gru0yh3UnBiJIR8TFY4L yqLdMjOiuJyq17Iq3QkbrhYFc+dnOu0b1pm66Mxc1QkxF/HxjNGw6qZ3ffzpa75E3yi7JY0iLvGL bOJcSSpfo93D9nhySyj4xchNKcluIcupAQvRkscxm4WjsSOu6G4nQubV+edARO5IJtdw7xhOgkuC dkWMkETAoJWOFdT9WbdMJIGaEC75+jPRncAYXVGodwP/YvTZ+Zxyys6dQoA4urqmZK/OR5T0hUtM CFoFOsU4mxBNUk2Kc/Jtc8tf5Fhypw7sXn4armX9KuJ2L9AaHdCjI6f1WJREM7KC0yfefhhlC9st 2xpQLAnhiMiIzDkrK/qwrAm80YcB8YGR2sqctWLK7llA1KFkcclGlFuNtVi73Y8gF0SGYZHTzwf7 oeBOjCpkTv7VIsOWdWUVfXiHqgbB/unlsD0elRZtVwrUpJhV1Am0W6XvM6cCN5cjaj2/px5mD8yp u2Ddl1KLUJ7R6+fv+6ez9PXp2/agvMRt1b8bkqVoeE5pg0ExnnSPXAgOuQYrDrWCSQ61xyHDIX4V +CozRB898xypqXToSf/GfYIl2CnNHxIuPFFKbDlU3N2bXHVueNx9O6zhnHLYv552z8TOFosxuXhI OiwIzpBERruh9HhlbtNoUm+MIBBSU07LySdCs3qt7p26DIJvV4daZpDebX2gwor78Mv5WyJvfYtX Wxk+VNMVKaF+g7I/c0p7gLJylSQh2mKk9QZBSNzBsj2c0PUb1N2jfIh/3D08r0+vcObc/NxufsEB VnN6kxeu2Lv4TrzsLUvGBbUpgfND3t9/+fRpOAF/pFT1gt47iGXczqIpEK/DvNhn0mmFNHbBVoxv CzUbTefumoZVU1dCf63csSKRBvBXAV8zFoZVi2dF4DF5IsBUCOewZEy/ZZTX53jXy5N8yafqArYI I73jORw1YB3S5yE/vzYlXC2ON6KqGzPVhXUsBQLsYHFkPxSyRWLBw/GKNoMaIj7tQYqwYuHblZA/ FsaZlF9fGj+NdYj/oxmtxLhXnfUib4iSWrW5TwvDJsgSrRUGFuyH8rmeiS+IVHQutOn3ODFFKvfd IQ9JDaK44rqR7T4bMjaoWsYaHfZYUv6SlMfdl6i3JFMVX94jeUivfjfLG2OBaanSjTin9PZWQDC9 11oiKxIiL6BW0zqhsJ9aCXw/6dZszL86tNYW0RKHz2wm90I7MWqMMTBGJCe+TxjJWN575DN3rSDM 0mOujTtWlhkXrBLzEBqikA/ZWxYaQgO9Cilonk2p3ujHHbaozpPgBSyXhmTbMwd5LAiKpmquL40Z 1jvuRBk6EaNgnfZWf20pX6hHyCZOhFQ7HM+OLskkVi2g2XDl+z7b9M3zGo5m+qE+uNOsWGlsuirx +L6pmHa6FcUd7qdakiQXMOeMxSEKdBc5CZ84gY2o0BARZVtIM/KCxTPDNM9nQZhnlU7DrW5YMDRH VmeXMm3j3S4qqS+H3fPp1xnox2ffn7bHB/fCB7aOtJrJN6jGvqbI6ABCmxOVpzjCUsawy8W90fQf r8RdLcLqy2XfhjCs8c7ZyeFSGwKrlMmAZV7nHkPCCQvR6wnJOIOtowmLAsR1VA2ZDP7ARj3OStUE bTt7264/G+0et3+ddk+tGnGUohtFP7gtrcqC1Tuzy0caOm7W3Dz9adwyjz3XkJpQsGBFRG+OkwA0 Ol6IvKL0gzCVxuCkxku+aci1wRkV0GANZJx+uTm/HWn3aDBCc1hi8H2DB32tgAODzJiV1GupaYhx 6tD9FGaAPr3UJ5Uhx6s/9NNLMJChNjksjqze/1d2Lb1twzD4r/S4w1C0w649uInbeHFs15aX5mRk bRAMRR9YEqA/f/xI2dbTbW+JSOtBSxRJUZ+7ssg3bh2idSQda0ASGg3Dz75D66KyXmnz3Z/Tfo8j l+zlcPx3etboKP30BhIrLFQTX8MoHM59RPZXF++XIS5BCA/XIDREb1vcR4LNaw++Cejh9rpJCsDV Z4ocjM6SO9OcvwAvqtyya1z2bdxSJFSa09dvKjAJoN10w4aO+5Ss7dFKGqM7AXSfzOPBoTIzpsHp L+m9Am5wEHZFqgNbv+c4K3Ag9atJv+CwwY7mynUR1K1MrMoMEMqmu2OXd0UpsrUiBg4P8EgntEZd zhOVxG7wC49kRTf+gDUhaNoHGXHc6b6fnsYYCE2MiiTceAfqWcu65MMOkAqALTBetwhy2a+PXHCn 2SZPgtisSB3QU3GVrnLSOX6Xe8rEO5Fz5rYJf2KoIfU81zxpMXe19bDMpa7fq666VYnz0daeFpXX 1GNyOZePsCcGoZUtDMZomgX3dZlYKsch4EDDtvD0Gb5QvQCIU5vLNWa1MKFsFfz6QP+EnhV5ZicC SHkvfQgo+jAzXV14zwIv4mcnFk/FuDDRKsbBD5WwtmTqVLLAqOGcHXUhaE9yPgSms/L17fD9LH99 eDq9yea32L7sTfsQqHNIVijLqjF1kVGMO0WtEawSIpY0idiUwTxVuGGxaEk1qaQJL4P1XfDDxbYM EMBoq6AQpgcm+U+02T+eGFjW2AysJeblV3Nx4DJKn2YRqNKWPuSxTNPK0ul6uZBmXFUDJAp6bex5 3w5vf19w5koDej4dd+87+rE7Ppyfn5tYlGWPxctgQ4GM/aoGUpq+ZhUULdeBMUZVQ63ISlTpferp 6h4Ox9uBB3ZHR6zXQiOFWq6RiBRvdN1YNy+klDvrqAe+WJBWfmOaEG2CvGi4EU2exp6GUDm0rre7 sMnLnSKPXCFZKrIrjgMPeXdfePeWA6lw8cLsOhvFJB+gLZMDT3Na4lATanspe+DHHGTa0zbW+BFe WXxPYrY9bo/bM9hrDwi2eq4QB2p9O8q/f2XPs4gjyES+tZc5QdCBh3f5omObh1zFuuWbhRNKJDIO t9UZ+W5pocgYbzyBkHESUjLmFDEChWTJAKXECTWhOP4A9ll2oAaN++PSetKdGChM7wLomyPIj9Vp +62RehavqnaQWdGPRanwkSUJEvWwE2bbiFwWs43z9RBz979pC/HuuN+1YxsM1FtySxZhnj4mcNOP PE7s1plaIFTTuO0IecW2IjEg+O6w4MIdSx2cZHJbcGtSCY70Nk4hUOKl2pEgjc1s9YnCiCaX3oUk iFMQA+133L0SQOREzwbEZGRggkxfcrJDEZJkq3m8SX4gqyY4y3lcZHTc5MltExoJ20OVilxsTJM6 3+hYlOm4O+2ZATC1OxyhOLHjzwAbtN3vjPTmFjmfxgE0F/RQYSFLjOn2cpSy9J5F2g0K3KLyxHB3 Cc3RKymEo/CBy+KXxDPMWsobnnRx/nAmOYMAf+EBCUEMPZiaHstZ+duzw8kQpWL9nivbxiZCOCpE Ux/HVRCPwCIWkY9Fpyv/yMjOew2/bS85VmKi/wHaRbSw4C4BAA== --===============7508883253809405530==--