pax_global_header00006660000000000000000000000064124641726770014532gustar00rootroot0000000000000052 comment=26229a368e3045a827f04fc03f3879e25f110ba3 htslib-1.2.1/000077500000000000000000000000001246417267700130205ustar00rootroot00000000000000htslib-1.2.1/INSTALL000066400000000000000000000065501246417267700140570ustar00rootroot00000000000000Basic Installation ================== To build and install HTSlib, 'cd' to the htslib-1.x directory containing the package's source and type the following commands: ./configure make make install The './configure' command checks your build environment and allows various optional functionality to be enabled (see Configuration below). If you don't want to select any optional functionality, you may wish to omit configure and just type 'make; make install' as for previous versions of HTSlib. However if the build fails you should run './configure' as it can diagnose the common reasons for build failures. The 'make' command builds the HTSlib library and and various useful utilities: bgzip, htsfile, and tabix. If compilation fails you should run './configure' as it can diagnose problems with your build environment that cause build failures. The 'make install' command installs the libraries, library header files, utilities, several manual pages, and a pkgconfig file to /usr/local. The installation location can be changed by configuring with --prefix=DIR or via 'make prefix=DIR install' (see Installation Locations below). Configuration ============= By default, './configure' examines your build environment, checking for requirements such as the zlib development files, and arranges for a plain HTSlib build. The following configure options can be used to enable various features and specify further optional external requirements: --with-irods[=DIR] Specifies the location of the iRODS client library to use to enable access to data objects stored in iRODS () via file paths like 'irods:DATAOBJ'. DIR is the base of an iRODS source tree such that the library is present as DIR/lib/core/obj/libRodsAPI.* and headers are present under DIR/lib/api/include and so on. If '=DIR' is omitted, $IRODS_HOME will be used as a base directory. The configure script also accepts the usual options and environment variables for tuning installation locations and compilers: type './configure --help' for details. For example, ./configure CC=icc --prefix=/opt/icc-compiled would specify that HTSlib is to be built with icc and installed into bin, lib, etc subdirectories under /opt/icc-compiled. Installation Locations ====================== By default, 'make install' installs HTSlib libraries under /usr/local/lib, HTSlib header files under /usr/local/include, utility programs under /usr/local/bin, etc. (To be precise, the header files are installed within a fixed 'htslib' subdirectory under the specified .../include location.) You can specify a different location to install HTSlib by configuring with --prefix=DIR or specify locations for particular parts of HTSlib by configuring with --libdir=DIR and so on. Type './configure --help' for the full list of such install directory options. Alternatively you can specify different locations at install time by typing 'make prefix=DIR install' or 'make libdir=DIR install' and so on. Consult the list of prefix/exec_prefix/etc variables near the top of the Makefile for the full list of such variables that can be overridden. You can also specify a staging area by typing 'make DESTDIR=DIR install', possibly in conjunction with other --prefix or prefix=DIR settings. For example, make DESTDIR=/tmp/staging prefix=/opt would install into bin, lib, etc subdirectories under /tmp/staging/opt. htslib-1.2.1/LICENSE000066400000000000000000000067241246417267700140360ustar00rootroot00000000000000[Files in this distribution outwith the cram/ subdirectory are distributed according to the terms of the following MIT/Expat license.] The MIT/Expat License Copyright (C) 2012-2014 Genome Research Ltd. Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. [Files within the cram/ subdirectory in this distribution are distributed according to the terms of the following Modified 3-Clause BSD license.] The Modified-BSD License Copyright (C) 2012-2014 Genome Research Ltd. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. 3. Neither the names Genome Research Ltd and Wellcome Trust Sanger Institute nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY GENOME RESEARCH LTD AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL GENOME RESEARCH LTD OR ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. [The use of a range of years within a copyright notice in this distribution should be interpreted as being equivalent to a list of years including the first and last year specified and all consecutive years between them. For example, a copyright notice that reads "Copyright (C) 2005, 2007-2009, 2011-2012" should be interpreted as being identical to a notice that reads "Copyright (C) 2005, 2007, 2008, 2009, 2011, 2012" and a copyright notice that reads "Copyright (C) 2005-2012" should be interpreted as being identical to a notice that reads "Copyright (C) 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012".] htslib-1.2.1/Makefile000066400000000000000000000363771246417267700145000ustar00rootroot00000000000000# Makefile for htslib, a C library for high-throughput sequencing data formats. # # Copyright (C) 2013-2015 Genome Research Ltd. # # Author: John Marshall # # Permission is hereby granted, free of charge, to any person obtaining a copy # of this software and associated documentation files (the "Software"), to deal # in the Software without restriction, including without limitation the rights # to use, copy, modify, merge, publish, distribute, sublicense, and/or sell # copies of the Software, and to permit persons to whom the Software is # furnished to do so, subject to the following conditions: # # The above copyright notice and this permission notice shall be included in # all copies or substantial portions of the Software. # # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL # THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER # LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING # FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER # DEALINGS IN THE SOFTWARE. CC = gcc AR = ar RANLIB = ranlib CPPFLAGS = -I. # TODO: probably update cram code to make it compile cleanly with -Wc++-compat CFLAGS = -g -Wall -O2 EXTRA_CFLAGS_PIC = -fpic LDFLAGS = LDLIBS = # For now these don't work too well as samtools also needs to know to # add -lbz2 and -llzma if linking against the static libhts.a library. # TODO This needs configury and adding to htslib.pc.in. # # # Bzip2 support; optionally used by CRAM. # HAVE_LIBBZ2 := $(shell echo -e "\#include \012int main(void){return 0;}" > .test.c && $(CC) $(CFLAGS) $(CPPFLAGS) -o .test .test.c -lbz2 2>/dev/null && echo yes) # ifeq "$(HAVE_LIBBZ2)" "yes" # CPPFLAGS += -DHAVE_LIBBZ2 # LDLIBS += -lbz2 # endif # # # Lzma support; optionally used by CRAM. # HAVE_LIBLZMA := $(shell echo -e "\#include \012int main(void){return 0;}" > .test.c && $(CC) $(CFLAGS) $(CPPFLAGS) -o .test .test.c -llzma 2>/dev/null && echo yes) # ifeq "$(HAVE_LIBLZMA)" "yes" # CPPFLAGS += -DHAVE_LIBLZMA # LDLIBS += -llzma # endif prefix = /usr/local exec_prefix = $(prefix) bindir = $(exec_prefix)/bin includedir = $(prefix)/include libdir = $(exec_prefix)/lib datarootdir = $(prefix)/share mandir = $(datarootdir)/man man1dir = $(mandir)/man1 man5dir = $(mandir)/man5 pkgconfigdir= $(libdir)/pkgconfig MKDIR_P = mkdir -p INSTALL = install -p INSTALL_PROGRAM = $(INSTALL) INSTALL_DATA = $(INSTALL) -m 644 INSTALL_DIR = $(MKDIR_P) -m 755 BUILT_PROGRAMS = \ bgzip \ htsfile \ tabix BUILT_TEST_PROGRAMS = \ test/fieldarith \ test/hfile \ test/sam \ test/test-regidx \ test/test_view \ test/test-vcf-api \ test/test-vcf-sweep all: lib-static lib-shared $(BUILT_PROGRAMS) $(BUILT_TEST_PROGRAMS) HTSPREFIX = include htslib_vars.mk lib-static: libhts.a # $(shell), :=, and ifeq/.../endif are GNU Make-specific. If you don't have # GNU Make, comment out the parts of this conditional that don't apply. PLATFORM := $(shell uname -s) ifeq "$(PLATFORM)" "Darwin" SHLIB_FLAVOUR = dylib lib-shared: libhts.dylib else SHLIB_FLAVOUR = so lib-shared: libhts.so endif PACKAGE_VERSION = 1.2.1 LIBHTS_SOVERSION = 1 # $(NUMERIC_VERSION) is for items that must have a numeric X.Y.Z string # even if this is a dirty or untagged Git working tree. NUMERIC_VERSION = $(PACKAGE_VERSION) # If building from a Git repository, replace $(PACKAGE_VERSION) with the Git # description of the working tree: either a release tag with the same value # as $(PACKAGE_VERSION) above, or an exact description likely based on a tag. # Much of this is also GNU Make-specific. If you don't have GNU Make and/or # are not building from a Git repository, comment out this conditional. ifneq "$(wildcard .git)" "" original_version := $(PACKAGE_VERSION) PACKAGE_VERSION := $(shell git describe --always --dirty) # Unless the Git description matches /\d*\.\d*(\.\d*)?/, i.e., is exactly a tag # with a numeric name, revert $(NUMERIC_VERSION) to the original version number # written above, but with the patchlevel field bumped to 255. ifneq "$(subst ..,.,$(subst 0,,$(subst 1,,$(subst 2,,$(subst 3,,$(subst 4,,$(subst 5,,$(subst 6,,$(subst 7,,$(subst 8,,$(subst 9,,$(PACKAGE_VERSION))))))))))))" "." empty := NUMERIC_VERSION := $(subst $(empty) ,.,$(wordlist 1,2,$(subst ., ,$(original_version))) 255) endif # Force version.h to be remade if $(PACKAGE_VERSION) has changed. version.h: $(if $(wildcard version.h),$(if $(findstring "$(PACKAGE_VERSION)",$(shell cat version.h)),,force)) endif version.h: echo '#define HTS_VERSION "$(PACKAGE_VERSION)"' > $@ print-version: @echo $(PACKAGE_VERSION) .SUFFIXES: .c .o .pico .c.o: $(CC) $(CFLAGS) $(CPPFLAGS) -c -o $@ $< .c.pico: $(CC) $(CFLAGS) $(CPPFLAGS) $(EXTRA_CFLAGS_PIC) -c -o $@ $< LIBHTS_OBJS = \ kfunc.o \ knetfile.o \ kstring.o \ bgzf.o \ faidx.o \ hfile.o \ hfile_net.o \ hts.o \ regidx.o \ sam.o \ synced_bcf_reader.o \ vcf_sweep.o \ tbx.o \ vcf.o \ vcfutils.o \ cram/cram_codecs.o \ cram/cram_decode.o \ cram/cram_encode.o \ cram/cram_index.o \ cram/cram_io.o \ cram/cram_samtools.o \ cram/cram_stats.o \ cram/files.o \ cram/mFILE.o \ cram/md5.o \ cram/open_trace_file.o \ cram/pooled_alloc.o \ cram/rANS_static.o \ cram/sam_header.o \ cram/string_alloc.o \ cram/thread_pool.o \ cram/vlen.o \ cram/zfio.o cram_h = cram/cram.h $(cram_samtools_h) $(cram_sam_header_h) $(cram_structs_h) $(cram_io_h) cram/cram_encode.h cram/cram_decode.h cram/cram_stats.h cram/cram_codecs.h cram/cram_index.h cram_io_h = cram/cram_io.h $(cram_misc_h) cram_misc_h = cram/misc.h cram/os.h cram_sam_header_h = cram/sam_header.h cram/string_alloc.h cram/pooled_alloc.h htslib/khash.h htslib/kstring.h cram_samtools_h = cram/cram_samtools.h $(htslib_sam_h) $(cram_sam_header_h) cram_structs_h = cram/cram_structs.h cram/thread_pool.h cram/string_alloc.h htslib/khash.h cram_open_trace_file_h = cram/open_trace_file.h cram/mFILE.h hfile_internal_h = hfile_internal.h $(htslib_hfile_h) # To be effective, config.mk needs to appear after most Makefile variables are # set but before most rules appear, so that it can both use previously-set # variables in its own rules' prerequisites and also update variables for use # in later rules' prerequisites. # sinclude is GNU Make-specific. If you don't have GNU Make or another make # that understands sinclude, change this to 'include' if you are using the # configure script or just comment the line out if you are not. sinclude config.mk libhts.a: $(LIBHTS_OBJS) @-rm -f $@ $(AR) -rc $@ $(LIBHTS_OBJS) -$(RANLIB) $@ # The target here is libhts.so, as that is the built file that other rules # depend upon and that is used when -lhts appears in other program's recipes. # As a byproduct invisible to make, libhts.so.NN is also created, as it is the # file used at runtime (when $LD_LIBRARY_PATH includes the build directory). libhts.so: $(LIBHTS_OBJS:.o=.pico) $(CC) -shared -Wl,-soname,libhts.so.$(LIBHTS_SOVERSION) -pthread $(LDFLAGS) -o $@ $(LIBHTS_OBJS:.o=.pico) $(LDLIBS) -lz -lm ln -sf $@ libhts.so.$(LIBHTS_SOVERSION) # Similarly this also creates libhts.NN.dylib as a byproduct, so that programs # when run can find this uninstalled shared library (when $DYLD_LIBRARY_PATH # includes this project's build directory). libhts.dylib: $(LIBHTS_OBJS) $(CC) -dynamiclib -install_name $(libdir)/libhts.$(LIBHTS_SOVERSION).dylib -current_version $(NUMERIC_VERSION) -compatibility_version $(LIBHTS_SOVERSION) $(LDFLAGS) -o $@ $(LIBHTS_OBJS) $(LDLIBS) -lz ln -sf $@ libhts.$(LIBHTS_SOVERSION).dylib bgzf.o bgzf.pico: bgzf.c $(htslib_hts_h) $(htslib_bgzf_h) $(htslib_hfile_h) htslib/khash.h kstring.o kstring.pico: kstring.c htslib/kstring.h knetfile.o knetfile.pico: knetfile.c htslib/knetfile.h hfile.o hfile.pico: hfile.c $(htslib_hfile_h) $(hfile_internal_h) hfile_irods.o hfile_irods.pico: hfile_irods.c $(hfile_internal_h) hfile_net.o hfile_net.pico: hfile_net.c $(hfile_internal_h) htslib/knetfile.h hts.o hts.pico: hts.c version.h $(htslib_hts_h) $(htslib_bgzf_h) $(cram_h) $(htslib_hfile_h) htslib/khash.h htslib/kseq.h htslib/ksort.h vcf.o vcf.pico: vcf.c $(htslib_vcf_h) $(htslib_bgzf_h) $(htslib_tbx_h) $(htslib_hfile_h) htslib/khash.h htslib/kseq.h htslib/kstring.h sam.o sam.pico: sam.c $(htslib_sam_h) $(htslib_bgzf_h) $(cram_h) $(htslib_hfile_h) htslib/khash.h htslib/kseq.h htslib/kstring.h tbx.o tbx.pico: tbx.c $(htslib_tbx_h) $(htslib_bgzf_h) htslib/khash.h faidx.o faidx.pico: faidx.c $(htslib_bgzf_h) $(htslib_faidx_h) $(htslib_hfile_h) htslib/khash.h synced_bcf_reader.o synced_bcf_reader.pico: synced_bcf_reader.c $(htslib_synced_bcf_reader_h) htslib/kseq.h htslib/khash_str2int.h vcf_sweep.o vcf_sweep.pico: vcf_sweep.c $(htslib_vcf_sweep_h) $(htslib_bgzf_h) vcfutils.o vcfutils.pico: vcfutils.c $(htslib_vcfutils_h) kfunc.o kfunc.pico: kfunc.c htslib/kfunc.h regidx.o regidx.pico: regidx.c $(htslib_hts_h) $(HTSPREFIX)htslib/kstring.h $(HTSPREFIX)htslib/kseq.h $(HTSPREFIX)htslib/khash_str2int.h $(htslib_regidx_h) cram/cram_codecs.o cram/cram_codecs.pico: cram/cram_codecs.c $(cram_h) cram/cram_decode.o cram/cram_decode.pico: cram/cram_decode.c $(cram_h) cram/os.h cram/md5.h cram/cram_encode.o cram/cram_encode.pico: cram/cram_encode.c $(cram_h) cram/os.h cram/md5.h cram/cram_index.o cram/cram_index.pico: cram/cram_index.c $(htslib_hfile_h) $(cram_h) cram/os.h cram/zfio.h cram/cram_io.o cram/cram_io.pico: cram/cram_io.c $(cram_h) cram/os.h cram/md5.h $(cram_open_trace_file_h) cram/rANS_static.h $(htslib_hfile_h) cram/cram_samtools.o cram/cram_samtools.pico: cram/cram_samtools.c $(cram_h) $(htslib_sam_h) cram/cram_stats.o cram/cram_stats.pico: cram/cram_stats.c $(cram_h) cram/os.h cram/files.o cram/files.pico: cram/files.c $(cram_misc_h) cram/mFILE.o cram/mFILE.pico: cram/mFILE.c cram/os.h cram/mFILE.h cram/vlen.h cram/md5.o cram/md5.pico: cram/md5.c cram/md5.h cram/open_trace_file.o cram/open_trace_file.pico: cram/open_trace_file.c $(cram_open_trace_file_h) $(cram_misc_h) $(htslib_hfile_h) cram/pooled_alloc.o cram/pooled_alloc.pico: cram/pooled_alloc.c cram/pooled_alloc.h cram/rANS_static.o cram/rANS_static.pico: cram/rANS_static.c cram/rANS_static.h cram/rANS_byte.h cram/sam_header.o cram/sam_header.pico: cram/sam_header.c $(cram_sam_header_h) cram/string_alloc.h cram/string_alloc.o cram/string_alloc.pico: cram/string_alloc.c cram/string_alloc.h cram/thread_pool.o cram/thread_pool.pico: cram/thread_pool.c cram/thread_pool.h cram/vlen.o cram/vlen.pico: cram/vlen.c cram/vlen.h cram/os.h cram/zfio.o cram/zfio.pico: cram/zfio.c cram/os.h cram/zfio.h bgzip: bgzip.o libhts.a $(CC) -pthread $(LDFLAGS) -o $@ bgzip.o libhts.a $(LDLIBS) -lz htsfile: htsfile.o libhts.a $(CC) -pthread $(LDFLAGS) -o $@ htsfile.o libhts.a $(LDLIBS) -lz tabix: tabix.o libhts.a $(CC) -pthread $(LDFLAGS) -o $@ tabix.o libhts.a $(LDLIBS) -lz bgzip.o: bgzip.c $(htslib_bgzf_h) $(htslib_hts_h) htsfile.o: htsfile.c $(htslib_hfile_h) $(htslib_hts_h) $(htslib_sam_h) $(htslib_vcf_h) tabix.o: tabix.c $(htslib_tbx_h) $(htslib_sam_h) $(htslib_vcf_h) htslib/kseq.h $(htslib_bgzf_h) $(htslib_hts_h) # For tests that might use it, set $REF_PATH explicitly to use only reference # areas within the test suite (or set it to ':' to use no reference areas). check test: $(BUILT_TEST_PROGRAMS) test/fieldarith test/fieldarith.sam test/hfile test/sam test/ce.fa test/test-regidx cd test && REF_PATH=: ./test_view.pl cd test && ./test.pl test/fieldarith: test/fieldarith.o libhts.a $(CC) -pthread $(LDFLAGS) -o $@ test/fieldarith.o libhts.a $(LDLIBS) -lz test/hfile: test/hfile.o libhts.a $(CC) $(LDFLAGS) -o $@ test/hfile.o libhts.a $(LDLIBS) -lz test/sam: test/sam.o libhts.a $(CC) -pthread $(LDFLAGS) -o $@ test/sam.o libhts.a $(LDLIBS) -lz test/test-regidx: test/test-regidx.o libhts.a $(CC) -pthread $(LDFLAGS) -o $@ test/test-regidx.o libhts.a $(LDLIBS) -lz test/test_view: test/test_view.o libhts.a $(CC) -pthread $(LDFLAGS) -o $@ test/test_view.o libhts.a $(LDLIBS) -lz test/test-vcf-api: test/test-vcf-api.o libhts.a $(CC) -pthread $(LDFLAGS) -o $@ test/test-vcf-api.o libhts.a $(LDLIBS) -lz test/test-vcf-sweep: test/test-vcf-sweep.o libhts.a $(CC) -pthread $(LDFLAGS) -o $@ test/test-vcf-sweep.o libhts.a $(LDLIBS) -lz test/fieldarith.o: test/fieldarith.c $(htslib_sam_h) test/hfile.o: test/hfile.c $(htslib_hfile_h) $(htslib_hts_defs_h) test/test-regidx.o: test/test-regidx.c $(htslib_regidx_h) test/sam.o: test/sam.c $(htslib_sam_h) $(htslib_faidx_h) htslib/kstring.h test/test_view.o: test/test_view.c $(cram_h) $(htslib_sam_h) test/test-vcf-api.o: test/test-vcf-api.c $(htslib_hts_h) $(htslib_vcf_h) htslib/kstring.h test/test-vcf-sweep.o: test/test-vcf-sweep.c $(htslib_vcf_sweep_h) install: libhts.a $(BUILT_PROGRAMS) installdirs install-$(SHLIB_FLAVOUR) install-pkgconfig $(INSTALL_PROGRAM) $(BUILT_PROGRAMS) $(DESTDIR)$(bindir) $(INSTALL_DATA) htslib/*.h $(DESTDIR)$(includedir)/htslib $(INSTALL_DATA) libhts.a $(DESTDIR)$(libdir)/libhts.a $(INSTALL_DATA) htsfile.1 tabix.1 $(DESTDIR)$(man1dir) $(INSTALL_DATA) faidx.5 sam.5 vcf.5 $(DESTDIR)$(man5dir) installdirs: $(INSTALL_DIR) $(DESTDIR)$(bindir) $(DESTDIR)$(includedir) $(DESTDIR)$(includedir)/htslib $(DESTDIR)$(libdir) $(DESTDIR)$(man1dir) $(DESTDIR)$(man5dir) $(DESTDIR)$(pkgconfigdir) # After installation, the real file in $(libdir) will be libhts.so.X.Y.Z, # with symlinks libhts.so (used via -lhts during linking of client programs) # and libhts.so.NN (used by client executables at runtime). install-so: libhts.so installdirs $(INSTALL_DATA) libhts.so $(DESTDIR)$(libdir)/libhts.so.$(PACKAGE_VERSION) ln -sf libhts.so.$(PACKAGE_VERSION) $(DESTDIR)$(libdir)/libhts.so ln -sf libhts.so.$(PACKAGE_VERSION) $(DESTDIR)$(libdir)/libhts.so.$(LIBHTS_SOVERSION) install-dylib: libhts.dylib installdirs $(INSTALL_PROGRAM) libhts.dylib $(DESTDIR)$(libdir)/libhts.$(PACKAGE_VERSION).dylib ln -sf libhts.$(PACKAGE_VERSION).dylib $(DESTDIR)$(libdir)/libhts.dylib ln -sf libhts.$(PACKAGE_VERSION).dylib $(DESTDIR)$(libdir)/libhts.$(LIBHTS_SOVERSION).dylib # Substitute these pseudo-autoconf variables only at install time # so that "make install prefix=/prefix/path" etc continue to work. install-pkgconfig: installdirs sed -e 's#@includedir@#$(includedir)#g;s#@libdir@#$(libdir)#g;s#@PACKAGE_VERSION@#$(PACKAGE_VERSION)#g' htslib.pc.in > $(DESTDIR)$(pkgconfigdir)/htslib.pc chmod 644 $(DESTDIR)$(pkgconfigdir)/htslib.pc # A pkg-config file (suitable for copying to $PKG_CONFIG_PATH) that provides # flags for building against the uninstalled library in this build directory. htslib-uninstalled.pc: htslib.pc.in sed -e 's#@includedir@#'`pwd`'#g;s#@libdir@#'`pwd`'#g' htslib.pc.in > $@ testclean: -rm -f test/*.tmp test/*.tmp.* mostlyclean: testclean -rm -f *.o *.pico cram/*.o cram/*.pico test/*.o test/*.dSYM version.h clean: mostlyclean clean-$(SHLIB_FLAVOUR) -rm -f libhts.a $(BUILT_PROGRAMS) $(BUILT_TEST_PROGRAMS) distclean: clean -rm -f config.cache config.log config.mk config.status -rm -f TAGS *-uninstalled.pc clean-so: -rm -f libhts.so libhts.so.* clean-dylib: -rm -f libhts.dylib libhts.*.dylib tags: ctags -f TAGS *.[ch] cram/*.[ch] htslib/*.h force: .PHONY: all check clean distclean force install install-pkgconfig installdirs .PHONY: lib-shared lib-static mostlyclean print-version tags test testclean .PHONY: clean-so install-so .PHONY: clean-dylib install-dylib htslib-1.2.1/NEWS000066400000000000000000000042331246417267700135210ustar00rootroot00000000000000Noteworthy changes in release 1.2.1 (3 February 2015) * Reinstated hts_file_type() and FT_* macros, which were available until 1.1 but briefly removed in 1.2. This function is deprecated and will be removed in a future release -- you should use hts_detect_format() etc instead Noteworthy changes in release 1.2 (2 February 2015) * HTSlib now has a configure script which checks your build environment and allows for selection of optional extras. See INSTALL for details * By default, reference sequences are fetched from the EBI CRAM Reference Registry and cached in your $HOME cache directory. This behaviour can be controlled by setting REF_PATH and REF_CACHE enviroment variables (see the samtools(1) man page for details) * Numerous CRAM improvements: - Support for CRAM v3.0, an upcoming revision to CRAM supporting better compression and per-container checksums - EOF checking for v2.1 and v3.0 (similar to checking BAM EOF blocks) - Non-standard values for PNEXT and TLEN fields are now preserved - hts_set_fai_filename() now provides a reference file when encoding - Generated read names are now numbered from 1, rather than being labelled 'slice:record-in-slice' - Multi-threading and speed improvements * New htsfile command for identifying file formats, and corresponding file format detection APIs * New tabix --regions FILE, --targets FILE options for filtering via BED files * Optional iRODS file access, disabled by default. Configure with --with-irods to enable accessing iRODS data objects directly via 'irods:DATAOBJ' * All occurences of 2^29 in the source have been eliminated, so indexing and querying against reference sequences larger than 512Mbp works (when using CSI indices) * Support for plain GZIP compression in various places * VCF header editing speed improvements * Added seq_nt16_int[] (equivalent to the samtools API's bam_nt16_nt4_table) * Reinstated faidx_fetch_nseq(), which was accidentally removed from 1.1. Now faidx_fetch_nseq() and faidx_nseq() are equivalent; eventually faidx_fetch_nseq() will be deprecated and removed [#156] * Fixed bugs #141, #152, #155, #158, #159, and various memory leaks htslib-1.2.1/README000066400000000000000000000004211246417267700136750ustar00rootroot00000000000000HTSlib is an implementation of a unified C library for accessing common file formats, such as SAM, CRAM, VCF, and BCF, used for high-throughput sequencing data. It is the core library used by samtools and bcftools. See INSTALL for building and installation instructions. htslib-1.2.1/bgzf.c000066400000000000000000001041631246417267700141210ustar00rootroot00000000000000/* The MIT License Copyright (c) 2008 Broad Institute / Massachusetts Institute of Technology 2011, 2012 Attractive Chaos Copyright (C) 2009, 2013, 2014 Genome Research Ltd Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ #include #include #include #include #include #include #include #include #include #include "htslib/hts.h" #include "htslib/bgzf.h" #include "htslib/hfile.h" #define BGZF_CACHE #define BGZF_MT #define BLOCK_HEADER_LENGTH 18 #define BLOCK_FOOTER_LENGTH 8 /* BGZF/GZIP header (speciallized from RFC 1952; little endian): +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+ | 31|139| 8| 4| 0| 0|255| 6| 66| 67| 2|BLK_LEN| +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+ BGZF extension: ^ ^ ^ ^ | | | | FLG.EXTRA XLEN B C BGZF format is compatible with GZIP. It limits the size of each compressed block to 2^16 bytes and adds and an extra "BC" field in the gzip header which records the size. */ static const uint8_t g_magic[19] = "\037\213\010\4\0\0\0\0\0\377\6\0\102\103\2\0\0\0"; #ifdef BGZF_CACHE typedef struct { int size; uint8_t *block; int64_t end_offset; } cache_t; #include "htslib/khash.h" KHASH_MAP_INIT_INT64(cache, cache_t) #endif typedef struct { uint64_t uaddr; // offset w.r.t. uncompressed data uint64_t caddr; // offset w.r.t. compressed data } bgzidx1_t; struct __bgzidx_t { int noffs, moffs; // the size of the index, n:used, m:allocated bgzidx1_t *offs; // offsets uint64_t ublock_addr; // offset of the current block (uncompressed data) }; void bgzf_index_destroy(BGZF *fp); int bgzf_index_add_block(BGZF *fp); static inline void packInt16(uint8_t *buffer, uint16_t value) { buffer[0] = value; buffer[1] = value >> 8; } static inline int unpackInt16(const uint8_t *buffer) { return buffer[0] | buffer[1] << 8; } static inline void packInt32(uint8_t *buffer, uint32_t value) { buffer[0] = value; buffer[1] = value >> 8; buffer[2] = value >> 16; buffer[3] = value >> 24; } static BGZF *bgzf_read_init(hFILE *hfpr) { BGZF *fp; uint8_t magic[18]; ssize_t n = hpeek(hfpr, magic, 18); if (n < 0) return NULL; fp = (BGZF*)calloc(1, sizeof(BGZF)); if (fp == NULL) return NULL; fp->is_write = 0; fp->is_compressed = (n==2 && magic[0]==0x1f && magic[1]==0x8b); fp->uncompressed_block = malloc(BGZF_MAX_BLOCK_SIZE); fp->compressed_block = malloc(BGZF_MAX_BLOCK_SIZE); fp->is_compressed = (n==18 && magic[0]==0x1f && magic[1]==0x8b) ? 1 : 0; fp->is_gzip = ( !fp->is_compressed || ((magic[3]&4) && memcmp(&magic[12], "BC\2\0",4)==0) ) ? 0 : 1; #ifdef BGZF_CACHE fp->cache = kh_init(cache); #endif return fp; } // get the compress level from the mode string: compress_level==-1 for the default level, -2 plain uncompressed static int mode2level(const char *__restrict mode) { int i, compress_level = -1; for (i = 0; mode[i]; ++i) if (mode[i] >= '0' && mode[i] <= '9') break; if (mode[i]) compress_level = (int)mode[i] - '0'; if (strchr(mode, 'u')) compress_level = -2; return compress_level; } static BGZF *bgzf_write_init(const char *mode) { BGZF *fp; fp = (BGZF*)calloc(1, sizeof(BGZF)); fp->is_write = 1; int compress_level = mode2level(mode); if ( compress_level==-2 ) { fp->is_compressed = 0; return fp; } fp->is_compressed = 1; fp->uncompressed_block = malloc(BGZF_MAX_BLOCK_SIZE); fp->compressed_block = malloc(BGZF_MAX_BLOCK_SIZE); fp->compress_level = compress_level < 0? Z_DEFAULT_COMPRESSION : compress_level; // Z_DEFAULT_COMPRESSION==-1 if (fp->compress_level > 9) fp->compress_level = Z_DEFAULT_COMPRESSION; if ( strchr(mode,'g') ) { // gzip output fp->is_gzip = 1; fp->gz_stream = (z_stream*)calloc(1,sizeof(z_stream)); fp->gz_stream->zalloc = NULL; fp->gz_stream->zfree = NULL; if ( deflateInit2(fp->gz_stream, fp->compress_level, Z_DEFLATED, 15|16, 8, Z_DEFAULT_STRATEGY)!=Z_OK ) return NULL; } return fp; } BGZF *bgzf_open(const char *path, const char *mode) { BGZF *fp = 0; assert(compressBound(BGZF_BLOCK_SIZE) < BGZF_MAX_BLOCK_SIZE); if (strchr(mode, 'r')) { hFILE *fpr; if ((fpr = hopen(path, mode)) == 0) return 0; fp = bgzf_read_init(fpr); if (fp == 0) { hclose_abruptly(fpr); return NULL; } fp->fp = fpr; } else if (strchr(mode, 'w') || strchr(mode, 'a')) { hFILE *fpw; if ((fpw = hopen(path, mode)) == 0) return 0; fp = bgzf_write_init(mode); fp->fp = fpw; } else { errno = EINVAL; return 0; } fp->is_be = ed_is_big(); return fp; } BGZF *bgzf_dopen(int fd, const char *mode) { BGZF *fp = 0; assert(compressBound(BGZF_BLOCK_SIZE) < BGZF_MAX_BLOCK_SIZE); if (strchr(mode, 'r')) { hFILE *fpr; if ((fpr = hdopen(fd, mode)) == 0) return 0; fp = bgzf_read_init(fpr); if (fp == 0) { hclose_abruptly(fpr); return NULL; } // FIXME this closes fd fp->fp = fpr; } else if (strchr(mode, 'w') || strchr(mode, 'a')) { hFILE *fpw; if ((fpw = hdopen(fd, mode)) == 0) return 0; fp = bgzf_write_init(mode); fp->fp = fpw; } else { errno = EINVAL; return 0; } fp->is_be = ed_is_big(); return fp; } BGZF *bgzf_hopen(hFILE *hfp, const char *mode) { BGZF *fp = NULL; assert(compressBound(BGZF_BLOCK_SIZE) < BGZF_MAX_BLOCK_SIZE); if (strchr(mode, 'r')) { fp = bgzf_read_init(hfp); if (fp == NULL) return NULL; } else if (strchr(mode, 'w') || strchr(mode, 'a')) { fp = bgzf_write_init(mode); } else { errno = EINVAL; return 0; } fp->fp = hfp; fp->is_be = ed_is_big(); return fp; } static int bgzf_compress(void *_dst, int *dlen, void *src, int slen, int level) { uint32_t crc; z_stream zs; uint8_t *dst = (uint8_t*)_dst; // compress the body zs.zalloc = NULL; zs.zfree = NULL; zs.next_in = (Bytef*)src; zs.avail_in = slen; zs.next_out = dst + BLOCK_HEADER_LENGTH; zs.avail_out = *dlen - BLOCK_HEADER_LENGTH - BLOCK_FOOTER_LENGTH; if (deflateInit2(&zs, level, Z_DEFLATED, -15, 8, Z_DEFAULT_STRATEGY) != Z_OK) return -1; // -15 to disable zlib header/footer if (deflate(&zs, Z_FINISH) != Z_STREAM_END) return -1; if (deflateEnd(&zs) != Z_OK) return -1; *dlen = zs.total_out + BLOCK_HEADER_LENGTH + BLOCK_FOOTER_LENGTH; // write the header memcpy(dst, g_magic, BLOCK_HEADER_LENGTH); // the last two bytes are a place holder for the length of the block packInt16(&dst[16], *dlen - 1); // write the compressed length; -1 to fit 2 bytes // write the footer crc = crc32(crc32(0L, NULL, 0L), (Bytef*)src, slen); packInt32((uint8_t*)&dst[*dlen - 8], crc); packInt32((uint8_t*)&dst[*dlen - 4], slen); return 0; } static int bgzf_gzip_compress(BGZF *fp, void *_dst, int *dlen, void *src, int slen, int level) { uint8_t *dst = (uint8_t*)_dst; z_stream *zs = fp->gz_stream; int flush = slen ? Z_NO_FLUSH : Z_FINISH; zs->next_in = (Bytef*)src; zs->avail_in = slen; zs->next_out = dst; zs->avail_out = *dlen; if ( deflate(zs, flush) == Z_STREAM_ERROR ) return -1; *dlen = *dlen - zs->avail_out; return 0; } // Deflate the block in fp->uncompressed_block into fp->compressed_block. Also adds an extra field that stores the compressed block length. static int deflate_block(BGZF *fp, int block_length) { int comp_size = BGZF_MAX_BLOCK_SIZE; int ret; if ( !fp->is_gzip ) ret = bgzf_compress(fp->compressed_block, &comp_size, fp->uncompressed_block, block_length, fp->compress_level); else ret = bgzf_gzip_compress(fp, fp->compressed_block, &comp_size, fp->uncompressed_block, block_length, fp->compress_level); if ( ret != 0 ) { fp->errcode |= BGZF_ERR_ZLIB; return -1; } fp->block_offset = 0; return comp_size; } // Inflate the block in fp->compressed_block into fp->uncompressed_block static int inflate_block(BGZF* fp, int block_length) { z_stream zs; zs.zalloc = NULL; zs.zfree = NULL; zs.next_in = (Bytef*)fp->compressed_block + 18; zs.avail_in = block_length - 16; zs.next_out = (Bytef*)fp->uncompressed_block; zs.avail_out = BGZF_MAX_BLOCK_SIZE; if (inflateInit2(&zs, -15) != Z_OK) { fp->errcode |= BGZF_ERR_ZLIB; return -1; } if (inflate(&zs, Z_FINISH) != Z_STREAM_END) { inflateEnd(&zs); fp->errcode |= BGZF_ERR_ZLIB; return -1; } if (inflateEnd(&zs) != Z_OK) { fp->errcode |= BGZF_ERR_ZLIB; return -1; } return zs.total_out; } static int inflate_gzip_block(BGZF *fp, int cached) { int ret = Z_OK; do { if ( !cached && fp->gz_stream->avail_out!=0 ) { fp->gz_stream->avail_in = hread(fp->fp, fp->compressed_block, BGZF_BLOCK_SIZE); if ( fp->gz_stream->avail_in<=0 ) return fp->gz_stream->avail_in; if ( fp->gz_stream->avail_in==0 ) break; fp->gz_stream->next_in = fp->compressed_block; } else cached = 0; do { fp->gz_stream->next_out = (Bytef*)fp->uncompressed_block + fp->block_offset; fp->gz_stream->avail_out = BGZF_MAX_BLOCK_SIZE - fp->block_offset; ret = inflate(fp->gz_stream, Z_NO_FLUSH); if ( ret==Z_BUF_ERROR ) continue; // non-critical error if ( ret<0 ) return -1; unsigned int have = BGZF_MAX_BLOCK_SIZE - fp->gz_stream->avail_out; if ( have ) return have; } while ( fp->gz_stream->avail_out == 0 ); } while (ret != Z_STREAM_END); return BGZF_MAX_BLOCK_SIZE - fp->gz_stream->avail_out; } // Returns: 0 on success (BGZF header); -1 on non-BGZF GZIP header; -2 on error static int check_header(const uint8_t *header) { if ( header[0] != 31 || header[1] != 139 || header[2] != 8 ) return -2; return ((header[3] & 4) != 0 && unpackInt16((uint8_t*)&header[10]) == 6 && header[12] == 'B' && header[13] == 'C' && unpackInt16((uint8_t*)&header[14]) == 2) ? 0 : -1; } #ifdef BGZF_CACHE static void free_cache(BGZF *fp) { khint_t k; khash_t(cache) *h = (khash_t(cache)*)fp->cache; if (fp->is_write) return; for (k = kh_begin(h); k < kh_end(h); ++k) if (kh_exist(h, k)) free(kh_val(h, k).block); kh_destroy(cache, h); } static int load_block_from_cache(BGZF *fp, int64_t block_address) { khint_t k; cache_t *p; khash_t(cache) *h = (khash_t(cache)*)fp->cache; k = kh_get(cache, h, block_address); if (k == kh_end(h)) return 0; p = &kh_val(h, k); if (fp->block_length != 0) fp->block_offset = 0; fp->block_address = block_address; fp->block_length = p->size; memcpy(fp->uncompressed_block, p->block, BGZF_MAX_BLOCK_SIZE); if ( hseek(fp->fp, p->end_offset, SEEK_SET) < 0 ) { // todo: move the error up fprintf(stderr,"Could not hseek to %"PRId64"\n", p->end_offset); exit(1); } return p->size; } static void cache_block(BGZF *fp, int size) { int ret; khint_t k; cache_t *p; khash_t(cache) *h = (khash_t(cache)*)fp->cache; if (BGZF_MAX_BLOCK_SIZE >= fp->cache_size) return; if ((kh_size(h) + 1) * BGZF_MAX_BLOCK_SIZE > (uint32_t)fp->cache_size) { /* A better way would be to remove the oldest block in the * cache, but here we remove a random one for simplicity. This * should not have a big impact on performance. */ for (k = kh_begin(h); k < kh_end(h); ++k) if (kh_exist(h, k)) break; if (k < kh_end(h)) { free(kh_val(h, k).block); kh_del(cache, h, k); } } k = kh_put(cache, h, fp->block_address, &ret); if (ret == 0) return; // if this happens, a bug! p = &kh_val(h, k); p->size = fp->block_length; p->end_offset = fp->block_address + size; p->block = (uint8_t*)malloc(BGZF_MAX_BLOCK_SIZE); memcpy(kh_val(h, k).block, fp->uncompressed_block, BGZF_MAX_BLOCK_SIZE); } #else static void free_cache(BGZF *fp) {} static int load_block_from_cache(BGZF *fp, int64_t block_address) {return 0;} static void cache_block(BGZF *fp, int size) {} #endif int bgzf_read_block(BGZF *fp) { uint8_t header[BLOCK_HEADER_LENGTH], *compressed_block; int count, size = 0, block_length, remaining; // Reading an uncompressed file if ( !fp->is_compressed ) { count = hread(fp->fp, fp->uncompressed_block, BGZF_MAX_BLOCK_SIZE); if ( count==0 ) { fp->block_length = 0; return 0; } if (fp->block_length != 0) fp->block_offset = 0; fp->block_address += count; fp->block_length = count; return 0; } // Reading compressed file int64_t block_address; block_address = htell(fp->fp); if ( fp->is_gzip && fp->gz_stream ) // is this is a initialized gzip stream? { count = inflate_gzip_block(fp, 0); if ( count<0 ) { fp->errcode |= BGZF_ERR_ZLIB; return -1; } fp->block_length = count; fp->block_address = block_address; return 0; } if (fp->cache_size && load_block_from_cache(fp, block_address)) return 0; count = hread(fp->fp, header, sizeof(header)); if (count == 0) { // no data read fp->block_length = 0; return 0; } int ret; if ( count != sizeof(header) || (ret=check_header(header))==-2 ) { fp->errcode |= BGZF_ERR_HEADER; return -1; } if ( ret==-1 ) { // GZIP, not BGZF uint8_t *cblock = (uint8_t*)fp->compressed_block; memcpy(cblock, header, sizeof(header)); count = hread(fp->fp, cblock+sizeof(header), BGZF_BLOCK_SIZE - sizeof(header)) + sizeof(header); int nskip = 10; // Check optional fields to skip: FLG.FNAME,FLG.FCOMMENT,FLG.FHCRC,FLG.FEXTRA // Note: Some of these fields are untested, I did not have appropriate data available if ( header[3] & 0x4 ) // FLG.FEXTRA { nskip += unpackInt16(&cblock[nskip]) + 2; } if ( header[3] & 0x8 ) // FLG.FNAME { while ( nskiperrcode |= BGZF_ERR_HEADER; return -1; } nskip++; } if ( header[3] & 0x10 ) // FLG.FCOMMENT { while ( nskiperrcode |= BGZF_ERR_HEADER; return -1; } nskip++; } if ( header[3] & 0x2 ) nskip += 2; // FLG.FHCRC fp->is_gzip = 1; fp->gz_stream = (z_stream*) calloc(1,sizeof(z_stream)); int ret = inflateInit2(fp->gz_stream, -15); if (ret != Z_OK) { fp->errcode |= BGZF_ERR_ZLIB; return -1; } fp->gz_stream->avail_in = count - nskip; fp->gz_stream->next_in = cblock + nskip; count = inflate_gzip_block(fp, 1); if ( count<0 ) { fp->errcode |= BGZF_ERR_ZLIB; return -1; } fp->block_length = count; fp->block_address = block_address; if ( fp->idx_build_otf ) return -1; // cannot build index for gzip return 0; } size = count; block_length = unpackInt16((uint8_t*)&header[16]) + 1; // +1 because when writing this number, we used "-1" compressed_block = (uint8_t*)fp->compressed_block; memcpy(compressed_block, header, BLOCK_HEADER_LENGTH); remaining = block_length - BLOCK_HEADER_LENGTH; count = hread(fp->fp, &compressed_block[BLOCK_HEADER_LENGTH], remaining); if (count != remaining) { fp->errcode |= BGZF_ERR_IO; return -1; } size += count; if ((count = inflate_block(fp, block_length)) < 0) return -1; if (fp->block_length != 0) fp->block_offset = 0; // Do not reset offset if this read follows a seek. fp->block_address = block_address; fp->block_length = count; if ( fp->idx_build_otf ) { bgzf_index_add_block(fp); fp->idx->ublock_addr += count; } cache_block(fp, size); return 0; } ssize_t bgzf_read(BGZF *fp, void *data, size_t length) { ssize_t bytes_read = 0; uint8_t *output = (uint8_t*)data; if (length <= 0) return 0; assert(fp->is_write == 0); while (bytes_read < length) { int copy_length, available = fp->block_length - fp->block_offset; uint8_t *buffer; if (available <= 0) { if (bgzf_read_block(fp) != 0) return -1; available = fp->block_length - fp->block_offset; if (available <= 0) break; } copy_length = length - bytes_read < available? length - bytes_read : available; buffer = (uint8_t*)fp->uncompressed_block; memcpy(output, buffer + fp->block_offset, copy_length); fp->block_offset += copy_length; output += copy_length; bytes_read += copy_length; } if (fp->block_offset == fp->block_length) { fp->block_address = htell(fp->fp); fp->block_offset = fp->block_length = 0; } fp->uncompressed_address += bytes_read; return bytes_read; } ssize_t bgzf_raw_read(BGZF *fp, void *data, size_t length) { return hread(fp->fp, data, length); } #ifdef BGZF_MT typedef struct { struct bgzf_mtaux_t *mt; void *buf; int i, errcode, toproc, compress_level; } worker_t; typedef struct bgzf_mtaux_t { int n_threads, n_blks, curr, done; volatile int proc_cnt; void **blk; int *len; worker_t *w; pthread_t *tid; pthread_mutex_t lock; pthread_cond_t cv; } mtaux_t; static int worker_aux(worker_t *w) { int i, stop = 0; // wait for condition: to process or all done pthread_mutex_lock(&w->mt->lock); while (!w->toproc && !w->mt->done) pthread_cond_wait(&w->mt->cv, &w->mt->lock); if (w->mt->done) stop = 1; w->toproc = 0; pthread_mutex_unlock(&w->mt->lock); if (stop) return 1; // to quit the thread w->errcode = 0; for (i = w->i; i < w->mt->curr; i += w->mt->n_threads) { int clen = BGZF_MAX_BLOCK_SIZE; if (bgzf_compress(w->buf, &clen, w->mt->blk[i], w->mt->len[i], w->compress_level) != 0) w->errcode |= BGZF_ERR_ZLIB; memcpy(w->mt->blk[i], w->buf, clen); w->mt->len[i] = clen; } __sync_fetch_and_add(&w->mt->proc_cnt, 1); return 0; } static void *mt_worker(void *data) { while (worker_aux((worker_t*)data) == 0); return 0; } int bgzf_mt(BGZF *fp, int n_threads, int n_sub_blks) { int i; mtaux_t *mt; pthread_attr_t attr; if (!fp->is_write || fp->mt || n_threads <= 1) return -1; mt = (mtaux_t*)calloc(1, sizeof(mtaux_t)); mt->n_threads = n_threads; mt->n_blks = n_threads * n_sub_blks; mt->len = (int*)calloc(mt->n_blks, sizeof(int)); mt->blk = (void**)calloc(mt->n_blks, sizeof(void*)); for (i = 0; i < mt->n_blks; ++i) mt->blk[i] = malloc(BGZF_MAX_BLOCK_SIZE); mt->tid = (pthread_t*)calloc(mt->n_threads, sizeof(pthread_t)); // tid[0] is not used, as the worker 0 is launched by the master mt->w = (worker_t*)calloc(mt->n_threads, sizeof(worker_t)); for (i = 0; i < mt->n_threads; ++i) { mt->w[i].i = i; mt->w[i].mt = mt; mt->w[i].compress_level = fp->compress_level; mt->w[i].buf = malloc(BGZF_MAX_BLOCK_SIZE); } pthread_attr_init(&attr); pthread_attr_setdetachstate(&attr, PTHREAD_CREATE_JOINABLE); pthread_mutex_init(&mt->lock, 0); pthread_cond_init(&mt->cv, 0); for (i = 1; i < mt->n_threads; ++i) // worker 0 is effectively launched by the master thread pthread_create(&mt->tid[i], &attr, mt_worker, &mt->w[i]); fp->mt = mt; return 0; } static void mt_destroy(mtaux_t *mt) { int i; // signal all workers to quit pthread_mutex_lock(&mt->lock); mt->done = 1; mt->proc_cnt = 0; pthread_cond_broadcast(&mt->cv); pthread_mutex_unlock(&mt->lock); for (i = 1; i < mt->n_threads; ++i) pthread_join(mt->tid[i], 0); // worker 0 is effectively launched by the master thread // free other data allocated on heap for (i = 0; i < mt->n_blks; ++i) free(mt->blk[i]); for (i = 0; i < mt->n_threads; ++i) free(mt->w[i].buf); free(mt->blk); free(mt->len); free(mt->w); free(mt->tid); pthread_cond_destroy(&mt->cv); pthread_mutex_destroy(&mt->lock); free(mt); } static void mt_queue(BGZF *fp) { mtaux_t *mt = fp->mt; assert(mt->curr < mt->n_blks); // guaranteed by the caller memcpy(mt->blk[mt->curr], fp->uncompressed_block, fp->block_offset); mt->len[mt->curr] = fp->block_offset; fp->block_offset = 0; ++mt->curr; } static int mt_flush_queue(BGZF *fp) { int i; mtaux_t *mt = fp->mt; // signal all the workers to compress pthread_mutex_lock(&mt->lock); for (i = 0; i < mt->n_threads; ++i) mt->w[i].toproc = 1; mt->proc_cnt = 0; pthread_cond_broadcast(&mt->cv); pthread_mutex_unlock(&mt->lock); // worker 0 is doing things here worker_aux(&mt->w[0]); // wait for all the threads to complete while (mt->proc_cnt < mt->n_threads); // dump data to disk for (i = 0; i < mt->n_threads; ++i) fp->errcode |= mt->w[i].errcode; for (i = 0; i < mt->curr; ++i) if (hwrite(fp->fp, mt->blk[i], mt->len[i]) != mt->len[i]) { fp->errcode |= BGZF_ERR_IO; break; } mt->curr = 0; return (fp->errcode == 0)? 0 : -1; } static int lazy_flush(BGZF *fp) { if (fp->mt) { if (fp->block_offset) mt_queue(fp); return (fp->mt->curr < fp->mt->n_blks)? 0 : mt_flush_queue(fp); } else return bgzf_flush(fp); } #else // ~ #ifdef BGZF_MT int bgzf_mt(BGZF *fp, int n_threads, int n_sub_blks) { return 0; } static inline int lazy_flush(BGZF *fp) { return bgzf_flush(fp); } #endif // ~ #ifdef BGZF_MT int bgzf_flush(BGZF *fp) { if (!fp->is_write) return 0; #ifdef BGZF_MT if (fp->mt) { if (fp->block_offset) mt_queue(fp); // guaranteed that assertion does not fail return mt_flush_queue(fp); } #endif while (fp->block_offset > 0) { if ( fp->idx_build_otf ) { bgzf_index_add_block(fp); fp->idx->ublock_addr += fp->block_offset; } int block_length = deflate_block(fp, fp->block_offset); if (block_length < 0) return -1; if (hwrite(fp->fp, fp->compressed_block, block_length) != block_length) { fp->errcode |= BGZF_ERR_IO; // possibly truncated file return -1; } fp->block_address += block_length; } return 0; } int bgzf_flush_try(BGZF *fp, ssize_t size) { if (fp->block_offset + size > BGZF_BLOCK_SIZE) return lazy_flush(fp); return 0; } ssize_t bgzf_write(BGZF *fp, const void *data, size_t length) { if ( !fp->is_compressed ) return hwrite(fp->fp, data, length); const uint8_t *input = (const uint8_t*)data; ssize_t remaining = length; assert(fp->is_write); while (remaining > 0) { uint8_t* buffer = (uint8_t*)fp->uncompressed_block; int copy_length = BGZF_BLOCK_SIZE - fp->block_offset; if (copy_length > remaining) copy_length = remaining; memcpy(buffer + fp->block_offset, input, copy_length); fp->block_offset += copy_length; input += copy_length; remaining -= copy_length; if (fp->block_offset == BGZF_BLOCK_SIZE) { if (lazy_flush(fp) != 0) return -1; } } return length - remaining; } ssize_t bgzf_raw_write(BGZF *fp, const void *data, size_t length) { return hwrite(fp->fp, data, length); } int bgzf_close(BGZF* fp) { int ret, block_length; if (fp == 0) return -1; if (fp->is_write && fp->is_compressed) { if (bgzf_flush(fp) != 0) return -1; fp->compress_level = -1; block_length = deflate_block(fp, 0); // write an empty block if (hwrite(fp->fp, fp->compressed_block, block_length) < 0 || hflush(fp->fp) != 0) { fp->errcode |= BGZF_ERR_IO; return -1; } #ifdef BGZF_MT if (fp->mt) mt_destroy(fp->mt); #endif } if ( fp->is_gzip ) { if (!fp->is_write) (void)inflateEnd(fp->gz_stream); else (void)deflateEnd(fp->gz_stream); free(fp->gz_stream); } ret = hclose(fp->fp); if (ret != 0) return -1; bgzf_index_destroy(fp); free(fp->uncompressed_block); free(fp->compressed_block); free_cache(fp); free(fp); return 0; } void bgzf_set_cache_size(BGZF *fp, int cache_size) { if (fp) fp->cache_size = cache_size; } int bgzf_check_EOF(BGZF *fp) { uint8_t buf[28]; off_t offset = htell(fp->fp); if (hseek(fp->fp, -28, SEEK_END) < 0) { if (errno == ESPIPE) { hclearerr(fp->fp); return 2; } else return -1; } if ( hread(fp->fp, buf, 28) != 28 ) return -1; if ( hseek(fp->fp, offset, SEEK_SET) < 0 ) return -1; return (memcmp("\037\213\010\4\0\0\0\0\0\377\6\0\102\103\2\0\033\0\3\0\0\0\0\0\0\0\0\0", buf, 28) == 0)? 1 : 0; } int64_t bgzf_seek(BGZF* fp, int64_t pos, int where) { int block_offset; int64_t block_address; if (fp->is_write || where != SEEK_SET) { fp->errcode |= BGZF_ERR_MISUSE; return -1; } block_offset = pos & 0xFFFF; block_address = pos >> 16; if (hseek(fp->fp, block_address, SEEK_SET) < 0) { fp->errcode |= BGZF_ERR_IO; return -1; } fp->block_length = 0; // indicates current block has not been loaded fp->block_address = block_address; fp->block_offset = block_offset; return 0; } int bgzf_is_bgzf(const char *fn) { uint8_t buf[16]; int n; hFILE *fp; if ((fp = hopen(fn, "r")) == 0) return 0; n = hread(fp, buf, 16); if ( hclose(fp) < 0 ) return -1; if (n != 16) return 0; return memcmp(g_magic, buf, 16) == 0? 1 : 0; } int bgzf_getc(BGZF *fp) { int c; if (fp->block_offset >= fp->block_length) { if (bgzf_read_block(fp) != 0) return -2; /* error */ if (fp->block_length == 0) return -1; /* end-of-file */ } c = ((unsigned char*)fp->uncompressed_block)[fp->block_offset++]; if (fp->block_offset == fp->block_length) { fp->block_address = htell(fp->fp); fp->block_offset = 0; fp->block_length = 0; } fp->uncompressed_address++; return c; } #ifndef kroundup32 #define kroundup32(x) (--(x), (x)|=(x)>>1, (x)|=(x)>>2, (x)|=(x)>>4, (x)|=(x)>>8, (x)|=(x)>>16, ++(x)) #endif int bgzf_getline(BGZF *fp, int delim, kstring_t *str) { int l, state = 0; unsigned char *buf = (unsigned char*)fp->uncompressed_block; str->l = 0; do { if (fp->block_offset >= fp->block_length) { if (bgzf_read_block(fp) != 0) { state = -2; break; } if (fp->block_length == 0) { state = -1; break; } } for (l = fp->block_offset; l < fp->block_length && buf[l] != delim; ++l); if (l < fp->block_length) state = 1; l -= fp->block_offset; if (str->l + l + 1 >= str->m) { str->m = str->l + l + 2; kroundup32(str->m); str->s = (char*)realloc(str->s, str->m); } memcpy(str->s + str->l, buf + fp->block_offset, l); str->l += l; fp->block_offset += l + 1; if (fp->block_offset >= fp->block_length) { fp->block_address = htell(fp->fp); fp->block_offset = 0; fp->block_length = 0; } } while (state == 0); if (str->l == 0 && state < 0) return state; fp->uncompressed_address += str->l; if ( delim=='\n' && str->l>0 && str->s[str->l-1]=='\r' ) str->l--; str->s[str->l] = 0; return str->l; } void bgzf_index_destroy(BGZF *fp) { if ( !fp->idx ) return; free(fp->idx->offs); free(fp->idx); fp->idx = NULL; fp->idx_build_otf = 0; } int bgzf_index_build_init(BGZF *fp) { bgzf_index_destroy(fp); fp->idx = (bgzidx_t*) calloc(1,sizeof(bgzidx_t)); if ( !fp->idx ) return -1; fp->idx_build_otf = 1; // build index on the fly return 0; } int bgzf_index_add_block(BGZF *fp) { fp->idx->noffs++; if ( fp->idx->noffs > fp->idx->moffs ) { fp->idx->moffs = fp->idx->noffs; kroundup32(fp->idx->moffs); fp->idx->offs = (bgzidx1_t*) realloc(fp->idx->offs, fp->idx->moffs*sizeof(bgzidx1_t)); if ( !fp->idx->offs ) return -1; } fp->idx->offs[ fp->idx->noffs-1 ].uaddr = fp->idx->ublock_addr; fp->idx->offs[ fp->idx->noffs-1 ].caddr = fp->block_address; return 0; } int bgzf_index_dump(BGZF *fp, const char *bname, const char *suffix) { if (bgzf_flush(fp) != 0) return -1; assert(fp->idx); char *tmp = NULL; if ( suffix ) { int blen = strlen(bname); int slen = strlen(suffix); tmp = (char*) malloc(blen + slen + 1); if ( !tmp ) return -1; memcpy(tmp,bname,blen); memcpy(tmp+blen,suffix,slen+1); } FILE *idx = fopen(tmp?tmp:bname,"wb"); if ( tmp ) free(tmp); if ( !idx ) return -1; // Note that the index contains one extra record when indexing files opened // for reading. The terminating record is not present when opened for writing. // This is not a bug. int i; if ( fp->is_be ) { uint64_t x = fp->idx->noffs - 1; fwrite(ed_swap_8p(&x), 1, sizeof(x), idx); for (i=1; iidx->noffs; i++) { x = fp->idx->offs[i].caddr; fwrite(ed_swap_8p(&x), 1, sizeof(x), idx); x = fp->idx->offs[i].uaddr; fwrite(ed_swap_8p(&x), 1, sizeof(x), idx); } } else { uint64_t x = fp->idx->noffs - 1; fwrite(&x, 1, sizeof(x), idx); for (i=1; iidx->noffs; i++) { fwrite(&fp->idx->offs[i].caddr, 1, sizeof(fp->idx->offs[i].caddr), idx); fwrite(&fp->idx->offs[i].uaddr, 1, sizeof(fp->idx->offs[i].uaddr), idx); } } fclose(idx); return 0; } int bgzf_index_load(BGZF *fp, const char *bname, const char *suffix) { char *tmp = NULL; if ( suffix ) { int blen = strlen(bname); int slen = strlen(suffix); tmp = (char*) malloc(blen + slen + 1); if ( !tmp ) return -1; memcpy(tmp,bname,blen); memcpy(tmp+blen,suffix,slen+1); } FILE *idx = fopen(tmp?tmp:bname,"rb"); if ( tmp ) free(tmp); if ( !idx ) return -1; fp->idx = (bgzidx_t*) calloc(1,sizeof(bgzidx_t)); uint64_t x; if ( fread(&x, 1, sizeof(x), idx) != sizeof(x) ) return -1; fp->idx->noffs = fp->idx->moffs = 1 + (fp->is_be ? ed_swap_8(x) : x); fp->idx->offs = (bgzidx1_t*) malloc(fp->idx->moffs*sizeof(bgzidx1_t)); fp->idx->offs[0].caddr = fp->idx->offs[0].uaddr = 0; int i; if ( fp->is_be ) { int ret = 0; for (i=1; iidx->noffs; i++) { ret += fread(&x, 1, sizeof(x), idx); fp->idx->offs[i].caddr = ed_swap_8(x); ret += fread(&x, 1, sizeof(x), idx); fp->idx->offs[i].uaddr = ed_swap_8(x); } if ( ret != sizeof(x)*2*(fp->idx->noffs-1) ) return -1; } else { int ret = 0; for (i=1; iidx->noffs; i++) { ret += fread(&x, 1, sizeof(x), idx); fp->idx->offs[i].caddr = x; ret += fread(&x, 1, sizeof(x), idx); fp->idx->offs[i].uaddr = x; } if ( ret != sizeof(x)*2*(fp->idx->noffs-1) ) return -1; } fclose(idx); return 0; } int bgzf_useek(BGZF *fp, long uoffset, int where) { if ( !fp->is_compressed ) { if (hseek(fp->fp, uoffset, SEEK_SET) < 0) { fp->errcode |= BGZF_ERR_IO; return -1; } fp->block_length = 0; // indicates current block has not been loaded fp->block_address = uoffset; fp->block_offset = 0; bgzf_read_block(fp); fp->uncompressed_address = uoffset; return 0; } if ( !fp->idx ) { fp->errcode |= BGZF_ERR_IO; return -1; } // binary search int ilo = 0, ihi = fp->idx->noffs - 1; while ( ilo<=ihi ) { int i = (ilo+ihi)*0.5; if ( uoffset < fp->idx->offs[i].uaddr ) ihi = i - 1; else if ( uoffset >= fp->idx->offs[i].uaddr ) ilo = i + 1; else break; } int i = ilo-1; if (hseek(fp->fp, fp->idx->offs[i].caddr, SEEK_SET) < 0) { fp->errcode |= BGZF_ERR_IO; return -1; } fp->block_length = 0; // indicates current block has not been loaded fp->block_address = fp->idx->offs[i].caddr; fp->block_offset = 0; if ( bgzf_read_block(fp) < 0 ) return -1; if ( uoffset - fp->idx->offs[i].uaddr > 0 ) { fp->block_offset = uoffset - fp->idx->offs[i].uaddr; assert( fp->block_offset <= fp->block_length ); // todo: skipped, unindexed, blocks } fp->uncompressed_address = uoffset; return 0; } long bgzf_utell(BGZF *fp) { return fp->uncompressed_address; // currently maintained only when reading } htslib-1.2.1/bgzip.c000066400000000000000000000237611246417267700143100ustar00rootroot00000000000000/* bgzip.c -- Block compression/decompression utility. Copyright (C) 2008, 2009 Broad Institute / Massachusetts Institute of Technology Copyright (C) 2010, 2013, 2014 Genome Research Ltd. Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notices and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ #include #include #include #include #include #include #include #include #include #include #include "htslib/bgzf.h" #include "htslib/hts.h" static const int WINDOW_SIZE = 64 * 1024; static void error(const char *format, ...) { va_list ap; va_start(ap, format); vfprintf(stderr, format, ap); va_end(ap); exit(EXIT_FAILURE); } static int write_open(const char *fn, int is_forced) { int fd = -1; char c; if (!is_forced) { if ((fd = open(fn, O_WRONLY | O_CREAT | O_TRUNC | O_EXCL, 0666)) < 0 && errno == EEXIST) { fprintf(stderr, "[bgzip] %s already exists; do you wish to overwrite (y or n)? ", fn); if ( scanf("%c", &c) != 1 ) c = 'n'; if (c != 'Y' && c != 'y') { fprintf(stderr, "[bgzip] not overwritten\n"); exit(EXIT_FAILURE); } } } if (fd < 0) { if ((fd = open(fn, O_WRONLY | O_CREAT | O_TRUNC, 0666)) < 0) { fprintf(stderr, "[bgzip] %s: Fail to write\n", fn); exit(EXIT_FAILURE); } } return fd; } static int bgzip_main_usage(void) { fprintf(stderr, "\n"); fprintf(stderr, "Version: %s\n", hts_version()); fprintf(stderr, "Usage: bgzip [OPTIONS] [FILE] ...\n"); fprintf(stderr, "Options:\n"); fprintf(stderr, " -b, --offset INT decompress at virtual file pointer (0-based uncompressed offset)\n"); fprintf(stderr, " -c, --stdout write on standard output, keep original files unchanged\n"); fprintf(stderr, " -d, --decompress decompress\n"); fprintf(stderr, " -f, --force overwrite files without asking\n"); fprintf(stderr, " -h, --help give this help\n"); fprintf(stderr, " -i, --index compress and create BGZF index\n"); fprintf(stderr, " -I, --index-name FILE name of BGZF index file [file.gz.gzi]\n"); fprintf(stderr, " -r, --reindex (re)index compressed file\n"); fprintf(stderr, " -s, --size INT decompress INT bytes (uncompressed size)\n"); fprintf(stderr, "\n"); return 1; } int main(int argc, char **argv) { int c, compress, pstdout, is_forced, index = 0, reindex = 0; BGZF *fp; void *buffer; long start, end, size; char *index_fname = NULL; static struct option loptions[] = { {"help",0,0,'h'}, {"offset",1,0,'b'}, {"stdout",0,0,'c'}, {"decompress",0,0,'d'}, {"force",0,0,'f'}, {"index",0,0,'i'}, {"index-name",1,0,'I'}, {"reindex",0,0,'r'}, {"size",1,0,'s'}, {0,0,0,0} }; compress = 1; pstdout = 0; start = 0; size = -1; end = -1; is_forced = 0; while((c = getopt_long(argc, argv, "cdh?fb:s:iI:r",loptions,NULL)) >= 0){ switch(c){ case 'd': compress = 0; break; case 'c': pstdout = 1; break; case 'b': start = atol(optarg); compress = 0; pstdout = 1; break; case 's': size = atol(optarg); pstdout = 1; break; case 'f': is_forced = 1; break; case 'i': index = 1; break; case 'I': index_fname = optarg; break; case 'r': reindex = 1; compress = 0; break; case 'h': case '?': return bgzip_main_usage(); } } if (size >= 0) end = start + size; if (end >= 0 && end < start) { fprintf(stderr, "[bgzip] Illegal region: [%ld, %ld]\n", start, end); return 1; } if (compress == 1) { struct stat sbuf; int f_src = fileno(stdin); int f_dst = fileno(stdout); if ( argc>optind ) { if ( stat(argv[optind],&sbuf)<0 ) { fprintf(stderr, "[bgzip] %s: %s\n", strerror(errno), argv[optind]); return 1; } if ((f_src = open(argv[optind], O_RDONLY)) < 0) { fprintf(stderr, "[bgzip] %s: %s\n", strerror(errno), argv[optind]); return 1; } if (pstdout) f_dst = fileno(stdout); else { char *name = malloc(strlen(argv[optind]) + 5); strcpy(name, argv[optind]); strcat(name, ".gz"); f_dst = write_open(name, is_forced); free(name); if (f_dst < 0) return 1; } } else if (!pstdout && isatty(fileno((FILE *)stdout)) ) return bgzip_main_usage(); else if ( index && !index_fname ) { fprintf(stderr, "[bgzip] Index file name expected when writing to stdout\n"); return 1; } fp = bgzf_fdopen(f_dst, "w"); if ( index ) bgzf_index_build_init(fp); buffer = malloc(WINDOW_SIZE); while ((c = read(f_src, buffer, WINDOW_SIZE)) > 0) if (bgzf_write(fp, buffer, c) < 0) error("Could not write %d bytes: Error %d\n", c, fp->errcode); // f_dst will be closed here if ( index ) { if ( index_fname ) bgzf_index_dump(fp, index_fname, NULL); else bgzf_index_dump(fp, argv[optind], ".gz.gzi"); } if (bgzf_close(fp) < 0) error("Close failed: Error %d", fp->errcode); if (argc > optind && !pstdout) unlink(argv[optind]); free(buffer); close(f_src); return 0; } else if ( reindex ) { if ( argc>optind ) { fp = bgzf_open(argv[optind], "r"); if ( !fp ) error("[bgzip] Could not open file: %s\n", argv[optind]); } else { if ( !index_fname ) error("[bgzip] Index file name expected when reading from stdin\n"); fp = bgzf_fdopen(fileno(stdin), "r"); if ( !fp ) error("[bgzip] Could not read from stdin: %s\n", strerror(errno)); } buffer = malloc(BGZF_BLOCK_SIZE); bgzf_index_build_init(fp); int ret; while ( (ret=bgzf_read(fp, buffer, BGZF_BLOCK_SIZE))>0 ) ; free(buffer); if ( ret<0 ) error("Is the file gzipped or bgzipped? The latter is required for indexing.\n"); if ( index_fname ) bgzf_index_dump(fp, index_fname, NULL); else bgzf_index_dump(fp, argv[optind], ".gzi"); if ( bgzf_close(fp)<0 ) error("Close failed: Error %d\n",fp->errcode); return 0; } else { struct stat sbuf; int f_dst; if ( argc>optind ) { if ( stat(argv[optind],&sbuf)<0 ) { fprintf(stderr, "[bgzip] %s: %s\n", strerror(errno), argv[optind]); return 1; } char *name; int len = strlen(argv[optind]); if ( strcmp(argv[optind]+len-3,".gz") ) { fprintf(stderr, "[bgzip] %s: unknown suffix -- ignored\n", argv[optind]); return 1; } fp = bgzf_open(argv[optind], "r"); if (fp == NULL) { fprintf(stderr, "[bgzip] Could not open file: %s\n", argv[optind]); return 1; } if (pstdout) { f_dst = fileno(stdout); } else { name = strdup(argv[optind]); name[strlen(name) - 3] = '\0'; f_dst = write_open(name, is_forced); free(name); } } else if (!pstdout && isatty(fileno((FILE *)stdin)) ) return bgzip_main_usage(); else { f_dst = fileno(stdout); fp = bgzf_fdopen(fileno(stdin), "r"); if (fp == NULL) { fprintf(stderr, "[bgzip] Could not read from stdin: %s\n", strerror(errno)); return 1; } } buffer = malloc(WINDOW_SIZE); if ( start>0 ) { if ( bgzf_index_load(fp, argv[optind], ".gzi") < 0 ) error("Could not load index: %s.gzi\n", argv[optind]); if ( bgzf_useek(fp, start, SEEK_SET) < 0 ) error("Could not seek to %d-th (uncompressd) byte\n", start); } while (1) { if (end < 0) c = bgzf_read(fp, buffer, WINDOW_SIZE); else c = bgzf_read(fp, buffer, (end - start > WINDOW_SIZE)? WINDOW_SIZE:(end - start)); if (c == 0) break; if (c < 0) error("Could not read %d bytes: Error %d\n", (end - start > WINDOW_SIZE)? WINDOW_SIZE:(end - start), fp->errcode); start += c; if ( write(f_dst, buffer, c) != c ) error("Could not write %d bytes\n", c); if (end >= 0 && start >= end) break; } free(buffer); if (bgzf_close(fp) < 0) error("Close failed: Error %d\n",fp->errcode); if (!pstdout) unlink(argv[optind]); return 0; } return 0; } htslib-1.2.1/config.mk.in000066400000000000000000000047361246417267700152350ustar00rootroot00000000000000# Optional configure Makefile overrides for htslib. # # Copyright (C) 2015 Genome Research Ltd. # # Author: John Marshall # # Permission is hereby granted, free of charge, to any person obtaining a copy # of this software and associated documentation files (the "Software"), to deal # in the Software without restriction, including without limitation the rights # to use, copy, modify, merge, publish, distribute, sublicense, and/or sell # copies of the Software, and to permit persons to whom the Software is # furnished to do so, subject to the following conditions: # # The above copyright notice and this permission notice shall be included in # all copies or substantial portions of the Software. # # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL # THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER # LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING # FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER # DEALINGS IN THE SOFTWARE. # This is @configure_input@ # # If you use configure, this file overrides variables and augments rules # in the Makefile to reflect your configuration choices. If you don't run # configure, the main Makefile contains suitable conservative defaults. prefix = @prefix@ exec_prefix = @exec_prefix@ bindir = @bindir@ includedir = @includedir@ libdir = @libdir@ datarootdir = @datarootdir@ mandir = @mandir@ CC = @CC@ RANLIB = @RANLIB@ CFLAGS = @CFLAGS@ LDFLAGS = @LDFLAGS@ LDLIBS = @LIBS@ # ifeq/.../endif, +=, and target-specific variables are GNU Make-specific. # If you don't have GNU Make, comment out this conditional and note that # to enable iRODS you will need to implement the following elsewhere. ifeq "iRODS-@irods@" "iRODS-enabled" @define_IRODS_HOME@ EXTRA_CPPFLAGS_IRODS = \ -I$(IRODS_HOME)/lib/api/include \ -I$(IRODS_HOME)/lib/core/include \ -I$(IRODS_HOME)/lib/md5/include \ -I$(IRODS_HOME)/lib/sha1/include \ -I$(IRODS_HOME)/server/core/include \ -I$(IRODS_HOME)/server/drivers/include \ -I$(IRODS_HOME)/server/icat/include LDFLAGS += -L$(IRODS_HOME)/lib/core/obj LDLIBS += -lRodsAPIs -lgssapi_krb5 LIBHTS_OBJS += hfile_irods.o hfile.o hfile.pico: CPPFLAGS += -DHAVE_IRODS hfile_irods.o hfile_irods.pico: CPPFLAGS += $(EXTRA_CPPFLAGS_IRODS) endif htslib-1.2.1/configure.ac000066400000000000000000000073641246417267700153200ustar00rootroot00000000000000# Configure script for htslib, a C library for high-throughput sequencing data. # # Copyright (C) 2015 Genome Research Ltd. # # Author: John Marshall # # Permission is hereby granted, free of charge, to any person obtaining a copy # of this software and associated documentation files (the "Software"), to deal # in the Software without restriction, including without limitation the rights # to use, copy, modify, merge, publish, distribute, sublicense, and/or sell # copies of the Software, and to permit persons to whom the Software is # furnished to do so, subject to the following conditions: # # The above copyright notice and this permission notice shall be included in # all copies or substantial portions of the Software. # # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL # THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER # LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING # FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER # DEALINGS IN THE SOFTWARE. dnl Process this file with autoconf to produce a configure script AC_INIT([HTSlib], m4_esyscmd_s([make print-version]), [samtools-help@lists.sourceforge.net], [], [http://www.htslib.org/]) AC_PREREQ(2.63) dnl This version introduced 4-argument AC_CHECK_HEADER AC_CONFIG_SRCDIR(hts.c) dnl Copyright notice to be copied into the generated configure script AC_COPYRIGHT([Portions copyright (C) 2015 Genome Research Ltd. This configure script is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law.]) AC_PROG_CC AC_PROG_RANLIB AC_ARG_WITH([irods], [AS_HELP_STRING([[--with-irods[=DIR]]], [use RodsAPIs library (in DIR) to support iRODS URLs])], [case $withval in no) irods=disabled ;; yes) irods=enabled ;; *) irods=enabled; IRODS_HOME=$withval ;; esac], [irods=disabled]) save_LIBS=$LIBS zlib_devel=ok dnl Set a trivial non-empty INCLUDES to avoid excess default includes tests AC_CHECK_HEADER([zlib.h], [], [zlib_devel=missing], [;]) AC_CHECK_LIB(z, inflate, [], [zlib_devel=missing]) LIBS=$save_LIBS if test $zlib_devel != ok; then AC_MSG_ERROR([zlib development files not found HTSlib uses compression routines from the zlib library . Building HTSlib requires zlib development files to be installed on the build machine; you may need to ensure a package such as zlib1g-dev (on Debian or Ubuntu Linux) or zlib-devel (on RPM-based Linux distributions) is installed. FAILED. This error must be resolved in order to build HTSlib successfully.]) fi if test $irods = enabled; then # TODO Also test whether we require libgssapi_krb5 and AC_CHECK_LIB it save_LDFLAGS=$LDFLAGS LDFLAGS="$LDFLAGS -L$IRODS_HOME/lib/core/obj" AC_CHECK_LIB([RodsAPIs], [getRodsEnvFileName], [case $with_irods in yes) define_IRODS_HOME='# Uses $(IRODS_HOME) from the environment' ;; *) define_IRODS_HOME="IRODS_HOME = $with_irods" ;; esac], [AC_MSG_ERROR([iRODS development files not found Support for iRODS URLs requires the libRodsAPI client library and headers. Configure with --with-irods=DIR (or just --with-irods if \$IRODS_HOME has been exported with a suitable value), where DIR is the base of an iRODS tree such that the library is present as DIR/lib/core/obj/libRodsAPI.* and headers are present under DIR/lib/api/include and so on.])], [-lgssapi_krb5 -lpthread]) LDFLAGS=$save_LDFLAGS else define_IRODS_HOME='IRODS_HOME ?= /disabled' fi AC_SUBST([irods]) AC_SUBST([define_IRODS_HOME]) AC_CONFIG_FILES(config.mk) AC_OUTPUT htslib-1.2.1/cram/000077500000000000000000000000001246417267700137425ustar00rootroot00000000000000htslib-1.2.1/cram/cram.h000066400000000000000000000043671246417267700150470ustar00rootroot00000000000000/* Copyright (c) 2012-2013 Genome Research Ltd. Author: James Bonfield Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. 3. Neither the names Genome Research Ltd and Wellcome Trust Sanger Institute nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY GENOME RESEARCH LTD AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL GENOME RESEARCH LTD OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ /*! \file * CRAM interface. * * Consider using the higher level hts_*() API for programs that wish to * be file format agnostic (see htslib/hts.h). * * This API should be used for CRAM specific code. The specifics of the * public API are implemented in cram_io.h, cram_encode.h and cram_decode.h * although these should not be included directly (use this file instead). */ #ifdef __cplusplus extern "C" { #endif #ifndef _CRAM_H_ #define _CRAM_H_ #include "cram/cram_samtools.h" #include "cram/sam_header.h" #include "cram_structs.h" #include "cram_io.h" #include "cram_encode.h" #include "cram_decode.h" #include "cram_stats.h" #include "cram_codecs.h" #include "cram_index.h" #endif #ifdef __cplusplus } #endif htslib-1.2.1/cram/cram_codecs.c000066400000000000000000001302061246417267700163520ustar00rootroot00000000000000/* Copyright (c) 2012-2013 Genome Research Ltd. Author: James Bonfield Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. 3. Neither the names Genome Research Ltd and Wellcome Trust Sanger Institute nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY GENOME RESEARCH LTD AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL GENOME RESEARCH LTD OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ /* * FIXME: add checking of cram_external_type to return NULL on unsupported * {codec,type} tuples. */ #ifdef HAVE_CONFIG_H #include "io_lib_config.h" #endif #include #include #include #include #include "cram/cram.h" static char *codec2str(enum cram_encoding codec) { switch (codec) { case E_NULL: return "NULL"; case E_EXTERNAL: return "EXTERNAL"; case E_GOLOMB: return "GOLOMB"; case E_HUFFMAN: return "HUFFMAN"; case E_BYTE_ARRAY_LEN: return "BYTE_ARRAY_LEN"; case E_BYTE_ARRAY_STOP: return "BYTE_ARRAY_STOP"; case E_BETA: return "BETA"; case E_SUBEXP: return "SUBEXP"; case E_GOLOMB_RICE: return "GOLOMB_RICE"; case E_GAMMA: return "GAMMA"; } return "(unknown)"; } /* * --------------------------------------------------------------------------- * Block bit-level I/O functions. * All defined static here to promote easy inlining by the compiler. */ #if 0 /* Get a single bit, MSB first */ static signed int get_bit_MSB(cram_block *block) { unsigned int val; if (block->byte > block->alloc) return -1; val = block->data[block->byte] >> block->bit; if (--block->bit == -1) { block->bit = 7; block->byte++; //printf("(%02X)", block->data[block->byte]); } //printf("-B%d-", val&1); return val & 1; } #endif /* * Count number of successive 0 and 1 bits */ static int get_one_bits_MSB(cram_block *block) { int n = 0, b; do { b = block->data[block->byte] >> block->bit; if (--block->bit == -1) { block->bit = 7; block->byte++; } n++; } while (b&1); return n-1; } static int get_zero_bits_MSB(cram_block *block) { int n = 0, b; do { b = block->data[block->byte] >> block->bit; if (--block->bit == -1) { block->bit = 7; block->byte++; } n++; } while (!(b&1)); return n-1; } #if 0 /* Stores a single bit */ static void store_bit_MSB(cram_block *block, unsigned int bit) { if (block->byte >= block->alloc) { block->alloc = block->alloc ? block->alloc*2 : 1024; block->data = realloc(block->data, block->alloc); } if (bit) block->data[block->byte] |= (1 << block->bit); if (--block->bit == -1) { block->bit = 7; block->byte++; block->data[block->byte] = 0; } } #endif #if 0 /* Rounds to the next whole byte boundary first */ static void store_bytes_MSB(cram_block *block, char *bytes, int len) { if (block->bit != 7) { block->bit = 7; block->byte++; } while (block->byte + len >= block->alloc) { block->alloc = block->alloc ? block->alloc*2 : 1024; block->data = realloc(block->data, block->alloc); } memcpy(&block->data[block->byte], bytes, len); block->byte += len; } #endif /* Local optimised copy for inlining */ static inline unsigned int get_bits_MSB(cram_block *block, int nbits) { unsigned int val = 0; int i; #if 0 // Fits within the current byte */ if (nbits <= block->bit+1) { val = (block->data[block->byte]>>(block->bit-(nbits-1))) & ((1<bit -= nbits) == -1) { block->bit = 7; block->byte++; } return val; } // partial first byte val = block->data[block->byte] & ((1<<(block->bit+1))-1); nbits -= block->bit+1; block->bit = 7; block->byte++; // whole middle bytes while (nbits >= 8) { val = (val << 8) | block->data[block->byte++]; nbits -= 8; } val <<= nbits; val |= (block->data[block->byte]>>(block->bit-(nbits-1))) & ((1<bit -= nbits; return val; #endif #if 0 /* Inefficient implementation! */ //printf("{"); for (i = 0; i < nbits; i++) //val = (val << 1) | get_bit_MSB(block); GET_BIT_MSB(block, val); #endif #if 1 /* Combination of 1st two methods */ if (nbits <= block->bit+1) { val = (block->data[block->byte]>>(block->bit-(nbits-1))) & ((1<bit -= nbits) == -1) { block->bit = 7; block->byte++; } return val; } switch(nbits) { // case 15: GET_BIT_MSB(block, val); // case 14: GET_BIT_MSB(block, val); // case 13: GET_BIT_MSB(block, val); // case 12: GET_BIT_MSB(block, val); // case 11: GET_BIT_MSB(block, val); // case 10: GET_BIT_MSB(block, val); // case 9: GET_BIT_MSB(block, val); case 8: GET_BIT_MSB(block, val); case 7: GET_BIT_MSB(block, val); case 6: GET_BIT_MSB(block, val); case 5: GET_BIT_MSB(block, val); case 4: GET_BIT_MSB(block, val); case 3: GET_BIT_MSB(block, val); case 2: GET_BIT_MSB(block, val); case 1: GET_BIT_MSB(block, val); break; default: for (i = 0; i < nbits; i++) //val = (val << 1) | get_bit_MSB(block); GET_BIT_MSB(block, val); } #endif //printf("=0x%x}", val); return val; } /* * Can store up to 24-bits worth of data encoded in an integer value * Possibly we'd want to have a less optimal store_bits function when dealing * with nbits > 24, but for now we assume the codes generated are never * that big. (Given this is only possible with 121392 or more * characters with exactly the correct frequency distribution we check * for it elsewhere.) */ static int store_bits_MSB(cram_block *block, unsigned int val, int nbits) { /* fprintf(stderr, " store_bits: %02x %d\n", val, nbits); */ /* * Use slow mode until we tweak the huffman generator to never generate * codes longer than 24-bits. */ unsigned int mask; if (block->byte+4 >= block->alloc) { if (block->byte) { block->alloc *= 2; block->data = realloc(block->data, block->alloc + 4); if (!block->data) return -1; } else { block->alloc = 1024; block->data = realloc(block->data, block->alloc + 4); if (!block->data) return -1; block->data[0] = 0; // initialise first byte of buffer } } /* fits in current bit-field */ if (nbits <= block->bit+1) { block->data[block->byte] |= (val << (block->bit+1-nbits)); if ((block->bit-=nbits) == -1) { block->bit = 7; block->byte++; block->data[block->byte] = 0; } return 0; } block->data[block->byte] |= (val >> (nbits -= block->bit+1)); block->bit = 7; block->byte++; block->data[block->byte] = 0; mask = 1<<(nbits-1); do { if (val & mask) block->data[block->byte] |= (1 << block->bit); if (--block->bit == -1) { block->bit = 7; block->byte++; block->data[block->byte] = 0; } mask >>= 1; } while(--nbits); return 0; } /* * Returns the next 'size' bytes from a block, or NULL if insufficient * data left.This is just a pointer into the block data and not an * allocated object, so do not free the result. */ static char *cram_extract_block(cram_block *b, int size) { char *cp = (char *)b->data + b->idx; b->idx += size; if (b->idx > b->uncomp_size) return NULL; return cp; } /* * --------------------------------------------------------------------------- * EXTERNAL */ int cram_external_decode_int(cram_slice *slice, cram_codec *c, cram_block *in, char *out, int *out_size) { int i; char *cp; cram_block *b = NULL; /* Find the external block */ if (slice->block_by_id) { if (!(b = slice->block_by_id[c->external.content_id])) return *out_size?-1:0; } else { for (i = 0; i < slice->hdr->num_blocks; i++) { b = slice->block[i]; if (b && b->content_type == EXTERNAL && b->content_id == c->external.content_id) { break; } } if (i == slice->hdr->num_blocks || !b) return -1; } cp = (char *)b->data + b->idx; // E_INT and E_LONG are guaranteed single item queries b->idx += itf8_get(cp, (int32_t *)out); *out_size = 1; return 0; } int cram_external_decode_char(cram_slice *slice, cram_codec *c, cram_block *in, char *out, int *out_size) { int i; char *cp; cram_block *b = NULL; /* Find the external block */ if (slice->block_by_id) { if (!(b = slice->block_by_id[c->external.content_id])) return *out_size?-1:0; } else { for (i = 0; i < slice->hdr->num_blocks; i++) { b = slice->block[i]; if (b && b->content_type == EXTERNAL && b->content_id == c->external.content_id) { break; } } if (i == slice->hdr->num_blocks || !b) return -1; } cp = cram_extract_block(b, *out_size); if (!cp) return -1; memcpy(out, cp, *out_size); return 0; } static int cram_external_decode_block(cram_slice *slice, cram_codec *c, cram_block *in, char *out_, int *out_size) { int i; char *cp; cram_block *b = NULL; cram_block *out = (cram_block *)out_; /* Find the external block */ if (slice->block_by_id) { if (!(b = slice->block_by_id[c->external.content_id])) return *out_size?-1:0; } else { for (i = 0; i < slice->hdr->num_blocks; i++) { b = slice->block[i]; if (b && b->content_type == EXTERNAL && b->content_id == c->external.content_id) { break; } } if (i == slice->hdr->num_blocks || !b) return -1; } cp = cram_extract_block(b, *out_size); if (!cp) return -1; BLOCK_APPEND(out, cp, *out_size); return 0; } void cram_external_decode_free(cram_codec *c) { if (c) free(c); } cram_codec *cram_external_decode_init(char *data, int size, enum cram_external_type option, int version) { cram_codec *c; char *cp = data; if (!(c = malloc(sizeof(*c)))) return NULL; c->codec = E_EXTERNAL; if (option == E_INT || option == E_LONG) c->decode = cram_external_decode_int; else if (option == E_BYTE_ARRAY || option == E_BYTE) c->decode = cram_external_decode_char; else c->decode = cram_external_decode_block; c->free = cram_external_decode_free; cp += itf8_get(cp, &c->external.content_id); if (cp - data != size) { fprintf(stderr, "Malformed external header stream\n"); free(c); return NULL; } c->external.type = option; return c; } int cram_external_encode_int(cram_slice *slice, cram_codec *c, char *in, int in_size) { uint32_t *i32 = (uint32_t *)in; itf8_put_blk(c->out, *i32); return 0; } int cram_external_encode_char(cram_slice *slice, cram_codec *c, char *in, int in_size) { BLOCK_APPEND(c->out, in, in_size); return 0; } void cram_external_encode_free(cram_codec *c) { if (!c) return; free(c); } int cram_external_encode_store(cram_codec *c, cram_block *b, char *prefix, int version) { char tmp[99], *tp = tmp; int len = 0; if (prefix) { size_t l = strlen(prefix); BLOCK_APPEND(b, prefix, l); len += l; } tp += itf8_put(tp, c->e_external.content_id); len += itf8_put_blk(b, c->codec); len += itf8_put_blk(b, tp-tmp); BLOCK_APPEND(b, tmp, tp-tmp); len += tp-tmp; return len; } cram_codec *cram_external_encode_init(cram_stats *st, enum cram_external_type option, void *dat, int version) { cram_codec *c; c = malloc(sizeof(*c)); if (!c) return NULL; c->codec = E_EXTERNAL; c->free = cram_external_encode_free; if (option == E_INT || option == E_LONG) c->encode = cram_external_encode_int; else if (option == E_BYTE_ARRAY || option == E_BYTE) c->encode = cram_external_encode_char; else abort(); c->store = cram_external_encode_store; c->e_external.content_id = (size_t)dat; return c; } /* * --------------------------------------------------------------------------- * BETA */ int cram_beta_decode_int(cram_slice *slice, cram_codec *c, cram_block *in, char *out, int *out_size) { int32_t *out_i = (int32_t *)out; int i, n; if (c->beta.nbits) { for (i = 0, n = *out_size; i < n; i++) out_i[i] = get_bits_MSB(in, c->beta.nbits) - c->beta.offset; } else { for (i = 0, n = *out_size; i < n; i++) out_i[i] = -c->beta.offset; } return 0; } int cram_beta_decode_char(cram_slice *slice, cram_codec *c, cram_block *in, char *out, int *out_size) { int i, n; if (c->beta.nbits) { for (i = 0, n = *out_size; i < n; i++) out[i] = get_bits_MSB(in, c->beta.nbits) - c->beta.offset; } else { for (i = 0, n = *out_size; i < n; i++) out[i] = -c->beta.offset; } return 0; } void cram_beta_decode_free(cram_codec *c) { if (c) free(c); } cram_codec *cram_beta_decode_init(char *data, int size, enum cram_external_type option, int version) { cram_codec *c; char *cp = data; if (!(c = malloc(sizeof(*c)))) return NULL; c->codec = E_BETA; if (option == E_INT || option == E_LONG) c->decode = cram_beta_decode_int; else if (option == E_BYTE_ARRAY || option == E_BYTE) c->decode = cram_beta_decode_char; else abort(); c->free = cram_beta_decode_free; cp += itf8_get(cp, &c->beta.offset); cp += itf8_get(cp, &c->beta.nbits); if (cp - data != size) { fprintf(stderr, "Malformed beta header stream\n"); free(c); return NULL; } return c; } int cram_beta_encode_store(cram_codec *c, cram_block *b, char *prefix, int version) { int len = 0; if (prefix) { size_t l = strlen(prefix); BLOCK_APPEND(b, prefix, l); len += l; } len += itf8_put_blk(b, c->codec); len += itf8_put_blk(b, itf8_size(c->e_beta.offset) + itf8_size(c->e_beta.nbits)); // codec length len += itf8_put_blk(b, c->e_beta.offset); len += itf8_put_blk(b, c->e_beta.nbits); return len; } int cram_beta_encode_int(cram_slice *slice, cram_codec *c, char *in, int in_size) { int *syms = (int *)in; int i, r = 0; for (i = 0; i < in_size; i++) r |= store_bits_MSB(c->out, syms[i] + c->e_beta.offset, c->e_beta.nbits); return r; } int cram_beta_encode_char(cram_slice *slice, cram_codec *c, char *in, int in_size) { unsigned char *syms = (unsigned char *)in; int i, r = 0; for (i = 0; i < in_size; i++) r |= store_bits_MSB(c->out, syms[i] + c->e_beta.offset, c->e_beta.nbits); return r; } void cram_beta_encode_free(cram_codec *c) { if (c) free(c); } cram_codec *cram_beta_encode_init(cram_stats *st, enum cram_external_type option, void *dat, int version) { cram_codec *c; int min_val, max_val, len = 0; c = malloc(sizeof(*c)); if (!c) return NULL; c->codec = E_BETA; c->free = cram_beta_encode_free; if (option == E_INT) c->encode = cram_beta_encode_int; else c->encode = cram_beta_encode_char; c->store = cram_beta_encode_store; if (dat) { min_val = ((int *)dat)[0]; max_val = ((int *)dat)[1]; } else { min_val = INT_MAX; max_val = INT_MIN; int i; for (i = 0; i < MAX_STAT_VAL; i++) { if (!st->freqs[i]) continue; if (min_val > i) min_val = i; max_val = i; } if (st->h) { khint_t k; for (k = kh_begin(st->h); k != kh_end(st->h); k++) { if (!kh_exist(st->h, k)) continue; i = kh_key(st->h, k); if (min_val > i) min_val = i; if (max_val < i) max_val = i; } } } assert(max_val >= min_val); c->e_beta.offset = -min_val; max_val -= min_val; while (max_val) { len++; max_val >>= 1; } c->e_beta.nbits = len; return c; } /* * --------------------------------------------------------------------------- * SUBEXP */ int cram_subexp_decode(cram_slice *slice, cram_codec *c, cram_block *in, char *out, int *out_size) { int32_t *out_i = (int32_t *)out; int n, count; int k = c->subexp.k; for (count = 0, n = *out_size; count < n; count++) { int i = 0, tail; int val; /* Get number of 1s */ //while (get_bit_MSB(in) == 1) i++; i = get_one_bits_MSB(in); /* * Val is * i > 0: 2^(k+i-1) + k+i-1 bits * i = 0: k bits */ if (i) { tail = i + k-1; val = 0; while (tail) { //val = val<<1; val |= get_bit_MSB(in); GET_BIT_MSB(in, val); tail--; } val += 1 << (i + k-1); } else { tail = k; val = 0; while (tail) { //val = val<<1; val |= get_bit_MSB(in); GET_BIT_MSB(in, val); tail--; } } out_i[count] = val - c->subexp.offset; } return 0; } void cram_subexp_decode_free(cram_codec *c) { if (c) free(c); } cram_codec *cram_subexp_decode_init(char *data, int size, enum cram_external_type option, int version) { cram_codec *c; char *cp = data; if (!(c = malloc(sizeof(*c)))) return NULL; c->codec = E_SUBEXP; c->decode = cram_subexp_decode; c->free = cram_subexp_decode_free; cp += itf8_get(cp, &c->subexp.offset); cp += itf8_get(cp, &c->subexp.k); if (cp - data != size) { fprintf(stderr, "Malformed subexp header stream\n"); free(c); return NULL; } return c; } /* * --------------------------------------------------------------------------- * GAMMA */ int cram_gamma_decode(cram_slice *slice, cram_codec *c, cram_block *in, char *out, int *out_size) { int32_t *out_i = (int32_t *)out; int i, n; for (i = 0, n = *out_size; i < n; i++) { int nz = 0; int val; //while (get_bit_MSB(in) == 0) nz++; nz = get_zero_bits_MSB(in); val = 1; while (nz > 0) { //val <<= 1; val |= get_bit_MSB(in); GET_BIT_MSB(in, val); nz--; } out_i[i] = val - c->gamma.offset; } return 0; } void cram_gamma_decode_free(cram_codec *c) { if (c) free(c); } cram_codec *cram_gamma_decode_init(char *data, int size, enum cram_external_type option, int version) { cram_codec *c; char *cp = data; if (!(c = malloc(sizeof(*c)))) return NULL; c->codec = E_GAMMA; c->decode = cram_gamma_decode; c->free = cram_gamma_decode_free; cp += itf8_get(cp, &c->gamma.offset); if (cp - data != size) { fprintf(stderr, "Malformed gamma header stream\n"); free(c); return NULL; } return c; } /* * --------------------------------------------------------------------------- * HUFFMAN */ static int code_sort(const void *vp1, const void *vp2) { const cram_huffman_code *c1 = (const cram_huffman_code *)vp1; const cram_huffman_code *c2 = (const cram_huffman_code *)vp2; if (c1->len != c2->len) return c1->len - c2->len; else return c1->symbol - c2->symbol; } void cram_huffman_decode_free(cram_codec *c) { if (!c) return; if (c->huffman.codes) free(c->huffman.codes); free(c); } int cram_huffman_decode_char0(cram_slice *slice, cram_codec *c, cram_block *in, char *out, int *out_size) { int i, n; /* Special case of 0 length codes */ for (i = 0, n = *out_size; i < n; i++) { out[i] = c->huffman.codes[0].symbol; } return 0; } int cram_huffman_decode_char(cram_slice *slice, cram_codec *c, cram_block *in, char *out, int *out_size) { int i, n, ncodes = c->huffman.ncodes; const cram_huffman_code * const codes = c->huffman.codes; for (i = 0, n = *out_size; i < n; i++) { int idx = 0; int val = 0, len = 0, last_len = 0; for (;;) { int dlen = codes[idx].len - last_len; if (dlen <= 0 || (in->alloc - in->byte)*8 + in->bit + 7 < dlen) return -1; //val <<= dlen; //val |= get_bits_MSB(in, dlen); //last_len = (len += dlen); last_len = (len += dlen); for (; dlen; dlen--) GET_BIT_MSB(in, val); idx = val - codes[idx].p; if (idx >= ncodes || idx < 0) return -1; if (codes[idx].code == val && codes[idx].len == len) { out[i] = codes[idx].symbol; break; } } } return 0; } int cram_huffman_decode_int0(cram_slice *slice, cram_codec *c, cram_block *in, char *out, int *out_size) { int32_t *out_i = (int32_t *)out; int i, n; const cram_huffman_code * const codes = c->huffman.codes; /* Special case of 0 length codes */ for (i = 0, n = *out_size; i < n; i++) { out_i[i] = codes[0].symbol; } return 0; } int cram_huffman_decode_int(cram_slice *slice, cram_codec *c, cram_block *in, char *out, int *out_size) { int32_t *out_i = (int32_t *)out; int i, n, ncodes = c->huffman.ncodes; const cram_huffman_code * const codes = c->huffman.codes; for (i = 0, n = *out_size; i < n; i++) { int idx = 0; int val = 0, len = 0, last_len = 0; // Now one bit at a time for remaining checks for (;;) { int dlen = codes[idx].len - last_len; if (dlen <= 0 || (in->alloc - in->byte)*8 + in->bit + 7 < dlen) return -1; //val <<= dlen; //val |= get_bits_MSB(in, dlen); //last_len = (len += dlen); last_len = (len += dlen); for (; dlen; dlen--) GET_BIT_MSB(in, val); idx = val - codes[idx].p; if (idx >= ncodes || idx < 0) return -1; if (codes[idx].code == val && codes[idx].len == len) { out_i[i] = codes[idx].symbol; break; } } } return 0; } /* * Initialises a huffman decoder from an encoding data stream. */ cram_codec *cram_huffman_decode_init(char *data, int size, enum cram_external_type option, int version) { int32_t ncodes, i, j; char *cp = data, *data_end = &data[size]; cram_codec *h; cram_huffman_code *codes; int32_t val, last_len, max_len = 0; cp += itf8_get(cp, &ncodes); h = calloc(1, sizeof(*h)); if (!h) return NULL; h->free = cram_huffman_decode_free; h->huffman.ncodes = ncodes; codes = h->huffman.codes = malloc(ncodes * sizeof(*codes)); if (!codes) { free(h); return NULL; } /* Read symbols and bit-lengths */ for (i = 0; i < ncodes && cp < data_end; i++) { cp += itf8_get(cp, &codes[i].symbol); } if (cp >= data_end) { fprintf(stderr, "Malformed huffman header stream\n"); free(h); return NULL; } cp += itf8_get(cp, &i); if (i != ncodes) { fprintf(stderr, "Malformed huffman header stream\n"); free(h); return NULL; } if (ncodes == 0) { /* NULL huffman stream */ return h; } for (i = 0; i < ncodes && cp < data_end; i++) { cp += itf8_get(cp, &codes[i].len); if (max_len < codes[i].len) max_len = codes[i].len; } if (cp - data != size || max_len >= ncodes) { fprintf(stderr, "Malformed huffman header stream\n"); free(h); return NULL; } /* Sort by bit length and then by symbol value */ qsort(codes, ncodes, sizeof(*codes), code_sort); /* Assign canonical codes */ val = -1, last_len = 0; for (i = 0; i < ncodes; i++) { val++; if (codes[i].len > last_len) { while (codes[i].len > last_len) { val <<= 1; last_len++; } } codes[i].code = val; } /* * Compute the next starting point, offset by the i'th value. * For example if codes 10, 11, 12, 13 are 30, 31, 32, 33 then * codes[10..13].p = 30 - 10. */ last_len = 0; for (i = j = 0; i < ncodes; i++) { if (codes[i].len > last_len) { j = codes[i].code - i; last_len = codes[i].len; } codes[i].p = j; } // puts("==HUFF LEN=="); // for (i = 0; i <= last_len+1; i++) { // printf("len %d=%d prefix %d\n", i, h->huffman.lengths[i], h->huffman.prefix[i]); // } // puts("===HUFFMAN CODES==="); // for (i = 0; i < ncodes; i++) { // int j; // printf("%d: %d %d %d ", i, codes[i].symbol, codes[i].len, codes[i].code); // j = codes[i].len; // while (j) { // putchar(codes[i].code & (1 << --j) ? '1' : '0'); // } // printf(" %d\n", codes[i].code); // } h->codec = E_HUFFMAN; if (option == E_BYTE || option == E_BYTE_ARRAY) { if (h->huffman.codes[0].len == 0) h->decode = cram_huffman_decode_char0; else h->decode = cram_huffman_decode_char; } else if (option == E_BYTE_ARRAY_BLOCK) { abort(); } else { if (h->huffman.codes[0].len == 0) h->decode = cram_huffman_decode_int0; else h->decode = cram_huffman_decode_int; } return (cram_codec *)h; } int cram_huffman_encode_char0(cram_slice *slice, cram_codec *c, char *in, int in_size) { return 0; } int cram_huffman_encode_char(cram_slice *slice, cram_codec *c, char *in, int in_size) { int i, code, len, r = 0; unsigned char *syms = (unsigned char *)in; do { int sym = *syms++; if (sym >= -1 && sym < MAX_HUFF) { i = c->e_huffman.val2code[sym+1]; assert(c->e_huffman.codes[i].symbol == sym); code = c->e_huffman.codes[i].code; len = c->e_huffman.codes[i].len; } else { /* Slow - use a lookup table for when sym < MAX_HUFF? */ for (i = 0; i < c->e_huffman.nvals; i++) { if (c->e_huffman.codes[i].symbol == sym) break; } if (i == c->e_huffman.nvals) return -1; code = c->e_huffman.codes[i].code; len = c->e_huffman.codes[i].len; } r |= store_bits_MSB(c->out, code, len); } while (--in_size); return r; } int cram_huffman_encode_int0(cram_slice *slice, cram_codec *c, char *in, int in_size) { return 0; } int cram_huffman_encode_int(cram_slice *slice, cram_codec *c, char *in, int in_size) { int i, code, len, r = 0; int *syms = (int *)in; do { int sym = *syms++; if (sym >= -1 && sym < MAX_HUFF) { i = c->e_huffman.val2code[sym+1]; assert(c->e_huffman.codes[i].symbol == sym); code = c->e_huffman.codes[i].code; len = c->e_huffman.codes[i].len; } else { /* Slow - use a lookup table for when sym < MAX_HUFFMAN_SYM? */ for (i = 0; i < c->e_huffman.nvals; i++) { if (c->e_huffman.codes[i].symbol == sym) break; } if (i == c->e_huffman.nvals) return -1; code = c->e_huffman.codes[i].code; len = c->e_huffman.codes[i].len; } r |= store_bits_MSB(c->out, code, len); } while (--in_size); return r; } void cram_huffman_encode_free(cram_codec *c) { if (!c) return; if (c->e_huffman.codes) free(c->e_huffman.codes); free(c); } /* * Encodes a huffman tree. * Returns number of bytes written. */ int cram_huffman_encode_store(cram_codec *c, cram_block *b, char *prefix, int version) { int i, len = 0; cram_huffman_code *codes = c->e_huffman.codes; /* * Up to code length 127 means 2.5e+26 bytes of data required (worst * case huffman tree needs symbols with freqs matching the Fibonacci * series). So guaranteed 1 byte per code. * * Symbols themselves could be 5 bytes (eg -1 is 5 bytes in itf8). * * Therefore 6*ncodes + 5 + 5 + 1 + 5 is max memory */ char *tmp = malloc(6*c->e_huffman.nvals+16); char *tp = tmp; if (!tmp) return -1; if (prefix) { size_t l = strlen(prefix); BLOCK_APPEND(b, prefix, l); len += l; } tp += itf8_put(tp, c->e_huffman.nvals); for (i = 0; i < c->e_huffman.nvals; i++) { tp += itf8_put(tp, codes[i].symbol); } tp += itf8_put(tp, c->e_huffman.nvals); for (i = 0; i < c->e_huffman.nvals; i++) { tp += itf8_put(tp, codes[i].len); } len += itf8_put_blk(b, c->codec); len += itf8_put_blk(b, tp-tmp); BLOCK_APPEND(b, tmp, tp-tmp); len += tp-tmp; free(tmp); return len; } cram_codec *cram_huffman_encode_init(cram_stats *st, enum cram_external_type option, void *dat, int version) { int *vals = NULL, *freqs = NULL, vals_alloc = 0, *lens, code, len; int nvals, i, ntot = 0, max_val = 0, min_val = INT_MAX, k; cram_codec *c; cram_huffman_code *codes; c = malloc(sizeof(*c)); if (!c) return NULL; c->codec = E_HUFFMAN; /* Count number of unique symbols */ for (nvals = i = 0; i < MAX_STAT_VAL; i++) { if (!st->freqs[i]) continue; if (nvals >= vals_alloc) { vals_alloc = vals_alloc ? vals_alloc*2 : 1024; vals = realloc(vals, vals_alloc * sizeof(int)); freqs = realloc(freqs, vals_alloc * sizeof(int)); if (!vals || !freqs) { if (vals) free(vals); if (freqs) free(freqs); free(c); return NULL; } } vals[nvals] = i; freqs[nvals] = st->freqs[i]; assert(st->freqs[i] > 0); ntot += freqs[nvals]; if (max_val < i) max_val = i; if (min_val > i) min_val = i; nvals++; } if (st->h) { khint_t k; for (k = kh_begin(st->h); k != kh_end(st->h); k++) { if (!kh_exist(st->h, k)) continue; if (nvals >= vals_alloc) { vals_alloc = vals_alloc ? vals_alloc*2 : 1024; vals = realloc(vals, vals_alloc * sizeof(int)); freqs = realloc(freqs, vals_alloc * sizeof(int)); if (!vals || !freqs) return NULL; } vals[nvals]= kh_key(st->h, k); freqs[nvals] = kh_val(st->h, k); assert(freqs[nvals] > 0); ntot += freqs[nvals]; if (max_val < i) max_val = i; if (min_val > i) min_val = i; nvals++; } } assert(nvals > 0); freqs = realloc(freqs, 2*nvals*sizeof(*freqs)); lens = calloc(2*nvals, sizeof(*lens)); if (!lens || !freqs) return NULL; /* Inefficient, use pointers to form chain so we can insert and maintain * a sorted list? This is currently O(nvals^2) complexity. */ for (;;) { int low1 = INT_MAX, low2 = INT_MAX; int ind1 = 0, ind2 = 0; for (i = 0; i < nvals; i++) { if (freqs[i] < 0) continue; if (low1 > freqs[i]) low2 = low1, ind2 = ind1, low1 = freqs[i], ind1 = i; else if (low2 > freqs[i]) low2 = freqs[i], ind2 = i; } if (low2 == INT_MAX) break; freqs[nvals] = low1 + low2; lens[ind1] = nvals; lens[ind2] = nvals; freqs[ind1] *= -1; freqs[ind2] *= -1; nvals++; } nvals = nvals/2+1; /* Assign lengths */ for (i = 0; i < nvals; i++) { int code_len = 0; for (k = lens[i]; k; k = lens[k]) code_len++; lens[i] = code_len; freqs[i] *= -1; //fprintf(stderr, "%d / %d => %d\n", vals[i], freqs[i], lens[i]); } /* Sort, need in a struct */ if (!(codes = malloc(nvals * sizeof(*codes)))) return NULL; for (i = 0; i < nvals; i++) { codes[i].symbol = vals[i]; codes[i].len = lens[i]; } qsort(codes, nvals, sizeof(*codes), code_sort); /* * Generate canonical codes from lengths. * Sort by length. * Start with 0. * Every new code of same length is +1. * Every new code of new length is +1 then <<1 per extra length. * * /\ * a/\ * /\/\ * bcd/\ * ef * * a 1 0 * b 3 4 (0+1)<<2 * c 3 5 * d 3 6 * e 4 14 (6+1)<<1 * f 5 15 */ code = 0; len = codes[0].len; for (i = 0; i < nvals; i++) { while (len != codes[i].len) { code<<=1; len++; } codes[i].code = code++; if (codes[i].symbol >= -1 && codes[i].symbol < MAX_HUFF) c->e_huffman.val2code[codes[i].symbol+1] = i; //fprintf(stderr, "sym %d, code %d, len %d\n", // codes[i].symbol, codes[i].code, codes[i].len); } free(lens); free(vals); free(freqs); c->e_huffman.codes = codes; c->e_huffman.nvals = nvals; c->free = cram_huffman_encode_free; if (option == E_BYTE || option == E_BYTE_ARRAY) { if (c->e_huffman.codes[0].len == 0) c->encode = cram_huffman_encode_char0; else c->encode = cram_huffman_encode_char; } else { if (c->e_huffman.codes[0].len == 0) c->encode = cram_huffman_encode_int0; else c->encode = cram_huffman_encode_int; } c->store = cram_huffman_encode_store; return c; } /* * --------------------------------------------------------------------------- * BYTE_ARRAY_LEN */ int cram_byte_array_len_decode(cram_slice *slice, cram_codec *c, cram_block *in, char *out, int *out_size) { /* Fetch length */ int32_t len, one = 1; c->byte_array_len.len_codec->decode(slice, c->byte_array_len.len_codec, in, (char *)&len, &one); //printf("ByteArray Len=%d\n", len); if (c->byte_array_len.value_codec) { c->byte_array_len.value_codec->decode(slice, c->byte_array_len.value_codec, in, out, &len); } else { return -1; } *out_size = len; return 0; } void cram_byte_array_len_decode_free(cram_codec *c) { if (!c) return; if (c->byte_array_len.len_codec) c->byte_array_len.len_codec->free(c->byte_array_len.len_codec); if (c->byte_array_len.value_codec) c->byte_array_len.value_codec->free(c->byte_array_len.value_codec); free(c); } cram_codec *cram_byte_array_len_decode_init(char *data, int size, enum cram_external_type option, int version) { cram_codec *c; char *cp = data; int32_t encoding; int32_t sub_size; if (!(c = malloc(sizeof(*c)))) return NULL; c->codec = E_BYTE_ARRAY_LEN; c->decode = cram_byte_array_len_decode; c->free = cram_byte_array_len_decode_free; cp += itf8_get(cp, &encoding); cp += itf8_get(cp, &sub_size); c->byte_array_len.len_codec = cram_decoder_init(encoding, cp, sub_size, E_INT, version); cp += sub_size; cp += itf8_get(cp, &encoding); cp += itf8_get(cp, &sub_size); c->byte_array_len.value_codec = cram_decoder_init(encoding, cp, sub_size, option, version); cp += sub_size; if (cp - data != size) { fprintf(stderr, "Malformed byte_array_len header stream\n"); free(c); return NULL; } return c; } int cram_byte_array_len_encode(cram_slice *slice, cram_codec *c, char *in, int in_size) { int32_t i32 = in_size; int r = 0; r |= c->e_byte_array_len.len_codec->encode(slice, c->e_byte_array_len.len_codec, (char *)&i32, 1); r |= c->e_byte_array_len.val_codec->encode(slice, c->e_byte_array_len.val_codec, in, in_size); return r; } void cram_byte_array_len_encode_free(cram_codec *c) { if (!c) return; if (c->e_byte_array_len.len_codec) c->e_byte_array_len.len_codec->free(c->e_byte_array_len.len_codec); if (c->e_byte_array_len.val_codec) c->e_byte_array_len.val_codec->free(c->e_byte_array_len.val_codec); free(c); } int cram_byte_array_len_encode_store(cram_codec *c, cram_block *b, char *prefix, int version) { int len = 0, len2, len3; cram_codec *tc; cram_block *b_len, *b_val; if (prefix) { size_t l = strlen(prefix); BLOCK_APPEND(b, prefix, l); len += l; } tc = c->e_byte_array_len.len_codec; b_len = cram_new_block(0, 0); len2 = tc->store(tc, b_len, NULL, version); tc = c->e_byte_array_len.val_codec; b_val = cram_new_block(0, 0); len3 = tc->store(tc, b_val, NULL, version); len += itf8_put_blk(b, c->codec); len += itf8_put_blk(b, len2+len3); BLOCK_APPEND(b, BLOCK_DATA(b_len), BLOCK_SIZE(b_len)); BLOCK_APPEND(b, BLOCK_DATA(b_val), BLOCK_SIZE(b_val)); cram_free_block(b_len); cram_free_block(b_val); return len + len2 + len3; } cram_codec *cram_byte_array_len_encode_init(cram_stats *st, enum cram_external_type option, void *dat, int version) { cram_codec *c; cram_byte_array_len_encoder *e = (cram_byte_array_len_encoder *)dat; c = malloc(sizeof(*c)); if (!c) return NULL; c->codec = E_BYTE_ARRAY_LEN; c->free = cram_byte_array_len_encode_free; c->encode = cram_byte_array_len_encode; c->store = cram_byte_array_len_encode_store; c->e_byte_array_len.len_codec = cram_encoder_init(e->len_encoding, NULL, E_INT, e->len_dat, version); c->e_byte_array_len.val_codec = cram_encoder_init(e->val_encoding, NULL, E_BYTE_ARRAY, e->val_dat, version); return c; } /* * --------------------------------------------------------------------------- * BYTE_ARRAY_STOP */ static int cram_byte_array_stop_decode_char(cram_slice *slice, cram_codec *c, cram_block *in, char *out, int *out_size) { int i; cram_block *b = NULL; char *cp, ch; if (slice->block_by_id) { if (!(b = slice->block_by_id[c->byte_array_stop.content_id])) return *out_size?-1:0; } else { for (i = 0; i < slice->hdr->num_blocks; i++) { b = slice->block[i]; if (b && b->content_type == EXTERNAL && b->content_id == c->byte_array_stop.content_id) { break; } } if (i == slice->hdr->num_blocks || !b) return -1; } if (b->idx >= b->uncomp_size) return -1; cp = (char *)b->data + b->idx; while ((ch = *cp) != (char)c->byte_array_stop.stop) { if (cp - (char *)b->data >= b->uncomp_size) return -1; *out++ = ch; cp++; } *out_size = cp - (char *)(b->data + b->idx); b->idx = cp - (char *)b->data + 1; return 0; } int cram_byte_array_stop_decode_block(cram_slice *slice, cram_codec *c, cram_block *in, char *out_, int *out_size) { cram_block *b = NULL; cram_block *out = (cram_block *)out_; char *cp, *out_cp, *cp_end; char stop; if (slice->block_by_id) { if (!(b = slice->block_by_id[c->byte_array_stop.content_id])) return *out_size?-1:0; } else { int i; for (i = 0; i < slice->hdr->num_blocks; i++) { b = slice->block[i]; if (b && b->content_type == EXTERNAL && b->content_id == c->byte_array_stop.content_id) { break; } } if (i == slice->hdr->num_blocks || !b) return -1; } if (b->idx >= b->uncomp_size) return -1; cp = (char *)b->data + b->idx; cp_end = (char *)b->data + b->uncomp_size; out_cp = (char *)BLOCK_END(out); stop = c->byte_array_stop.stop; if (cp_end - cp < out->alloc - out->byte) { while (*cp != stop && cp != cp_end) *out_cp++ = *cp++; BLOCK_SIZE(out) = out_cp - (char *)BLOCK_DATA(out); } else { char *cp_start; for (cp_start = cp; *cp != stop && cp != cp_end; cp++) ; BLOCK_APPEND(out, cp_start, cp - cp_start); BLOCK_GROW(out, cp - cp_start); } *out_size = cp - (char *)(b->data + b->idx); b->idx = cp - (char *)b->data + 1; return 0; } void cram_byte_array_stop_decode_free(cram_codec *c) { if (!c) return; free(c); } cram_codec *cram_byte_array_stop_decode_init(char *data, int size, enum cram_external_type option, int version) { cram_codec *c; unsigned char *cp = (unsigned char *)data; if (!(c = malloc(sizeof(*c)))) return NULL; c->codec = E_BYTE_ARRAY_STOP; c->decode = (option == E_BYTE_ARRAY_BLOCK) ? cram_byte_array_stop_decode_block : cram_byte_array_stop_decode_char; c->free = cram_byte_array_stop_decode_free; c->byte_array_stop.stop = *cp++; if (CRAM_MAJOR_VERS(version) == 1) { c->byte_array_stop.content_id = cp[0] + (cp[1]<<8) + (cp[2]<<16) + (cp[3]<<24); cp += 4; } else { cp += itf8_get(cp, &c->byte_array_stop.content_id); } if ((char *)cp - data != size) { fprintf(stderr, "Malformed byte_array_stop header stream\n"); free(c); return NULL; } return c; } int cram_byte_array_stop_encode(cram_slice *slice, cram_codec *c, char *in, int in_size) { BLOCK_APPEND(c->out, in, in_size); BLOCK_APPEND_CHAR(c->out, c->e_byte_array_stop.stop); return 0; } void cram_byte_array_stop_encode_free(cram_codec *c) { if (!c) return; free(c); } int cram_byte_array_stop_encode_store(cram_codec *c, cram_block *b, char *prefix, int version) { int len = 0; char buf[20], *cp = buf; if (prefix) { size_t l = strlen(prefix); BLOCK_APPEND(b, prefix, l); len += l; } cp += itf8_put(cp, c->codec); if (CRAM_MAJOR_VERS(version) == 1) { cp += itf8_put(cp, 5); *cp++ = c->e_byte_array_stop.stop; *cp++ = (c->e_byte_array_stop.content_id >> 0) & 0xff; *cp++ = (c->e_byte_array_stop.content_id >> 8) & 0xff; *cp++ = (c->e_byte_array_stop.content_id >> 16) & 0xff; *cp++ = (c->e_byte_array_stop.content_id >> 24) & 0xff; } else { cp += itf8_put(cp, 1 + itf8_size(c->e_byte_array_stop.content_id)); *cp++ = c->e_byte_array_stop.stop; cp += itf8_put(cp, c->e_byte_array_stop.content_id); } BLOCK_APPEND(b, buf, cp-buf); len += cp-buf; return len; } cram_codec *cram_byte_array_stop_encode_init(cram_stats *st, enum cram_external_type option, void *dat, int version) { cram_codec *c; c = malloc(sizeof(*c)); if (!c) return NULL; c->codec = E_BYTE_ARRAY_STOP; c->free = cram_byte_array_stop_encode_free; c->encode = cram_byte_array_stop_encode; c->store = cram_byte_array_stop_encode_store; c->e_byte_array_stop.stop = ((int *)dat)[0]; c->e_byte_array_stop.content_id = ((int *)dat)[1]; return c; } /* * --------------------------------------------------------------------------- */ char *cram_encoding2str(enum cram_encoding t) { switch (t) { case E_NULL: return "NULL"; case E_EXTERNAL: return "EXTERNAL"; case E_GOLOMB: return "GOLOMB"; case E_HUFFMAN: return "HUFFMAN"; case E_BYTE_ARRAY_LEN: return "BYTE_ARRAY_LEN"; case E_BYTE_ARRAY_STOP: return "BYTE_ARRAY_STOP"; case E_BETA: return "BETA"; case E_SUBEXP: return "SUBEXP"; case E_GOLOMB_RICE: return "GOLOMB_RICE"; case E_GAMMA: return "GAMMA"; } return "?"; } static cram_codec *(*decode_init[])(char *data, int size, enum cram_external_type option, int version) = { NULL, cram_external_decode_init, NULL, cram_huffman_decode_init, cram_byte_array_len_decode_init, cram_byte_array_stop_decode_init, cram_beta_decode_init, cram_subexp_decode_init, NULL, cram_gamma_decode_init, }; cram_codec *cram_decoder_init(enum cram_encoding codec, char *data, int size, enum cram_external_type option, int version) { if (decode_init[codec]) { return decode_init[codec](data, size, option, version); } else { fprintf(stderr, "Unimplemented codec of type %s\n", codec2str(codec)); return NULL; } } static cram_codec *(*encode_init[])(cram_stats *stx, enum cram_external_type option, void *opt, int version) = { NULL, cram_external_encode_init, NULL, cram_huffman_encode_init, cram_byte_array_len_encode_init, cram_byte_array_stop_encode_init, cram_beta_encode_init, NULL, //cram_subexp_encode_init, NULL, NULL, //cram_gamma_encode_init, }; cram_codec *cram_encoder_init(enum cram_encoding codec, cram_stats *st, enum cram_external_type option, void *dat, int version) { if (st && !st->nvals) return NULL; if (encode_init[codec]) { cram_codec *r; if ((r = encode_init[codec](st, option, dat, version))) r->out = NULL; return r; } else { fprintf(stderr, "Unimplemented codec of type %s\n", codec2str(codec)); abort(); } } /* * Returns the content_id used by this codec, also in id2 if byte_array_len. * Returns -1 for the CORE block and -2 for unneeded. * id2 is only filled out for BYTE_ARRAY_LEN which uses 2 codecs. */ int cram_codec_to_id(cram_codec *c, int *id2) { int bnum1, bnum2 = -2; switch (c->codec) { case E_HUFFMAN: bnum1 = c->huffman.ncodes == 1 ? -2 : -1; break; case E_GOLOMB: case E_BETA: case E_SUBEXP: case E_GOLOMB_RICE: case E_GAMMA: bnum1 = -1; break; case E_EXTERNAL: bnum1 = c->external.content_id; break; case E_BYTE_ARRAY_LEN: bnum1 = cram_codec_to_id(c->byte_array_len.len_codec, NULL); bnum2 = cram_codec_to_id(c->byte_array_len.value_codec, NULL); break; case E_BYTE_ARRAY_STOP: bnum1 = c->byte_array_stop.content_id; break; case E_NULL: bnum1 = -2; break; default: fprintf(stderr, "Unknown codec type %d\n", c->codec); bnum1 = -1; } if (id2) *id2 = bnum2; return bnum1; } htslib-1.2.1/cram/cram_codecs.h000066400000000000000000000121051246417267700163540ustar00rootroot00000000000000/* Copyright (c) 2012-2013 Genome Research Ltd. Author: James Bonfield Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. 3. Neither the names Genome Research Ltd and Wellcome Trust Sanger Institute nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY GENOME RESEARCH LTD AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL GENOME RESEARCH LTD OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ #ifndef _CRAM_ENCODINGS_H_ #define _CRAM_ENCODINGS_H_ #ifdef __cplusplus extern "C" { #endif #include struct cram_codec; /* * Slow but simple huffman decoder to start with. * Read a bit at a time, keeping track of {length, value} * eg. 1 1 0 1 => {1,1}, {2,3}, {3,6}, {4,13} * * Keep track of this through the huffman code table. * For fast scanning we have an index of where the first code of length X * appears. */ typedef struct { int32_t symbol; int32_t p; // next code start value, minus index to codes[] int32_t code; int32_t len; } cram_huffman_code; typedef struct { int ncodes; cram_huffman_code *codes; } cram_huffman_decoder; #define MAX_HUFF 128 typedef struct { cram_huffman_code *codes; int nvals; int val2code[MAX_HUFF+1]; // value to code lookup for small values } cram_huffman_encoder; typedef struct { int32_t offset; int32_t nbits; } cram_beta_decoder; typedef struct { int32_t offset; } cram_gamma_decoder; typedef struct { int32_t offset; int32_t k; } cram_subexp_decoder; typedef struct { int32_t content_id; enum cram_external_type type; } cram_external_decoder; typedef struct { struct cram_codec *len_codec; struct cram_codec *value_codec; } cram_byte_array_len_decoder; typedef struct { unsigned char stop; int32_t content_id; } cram_byte_array_stop_decoder; typedef struct { enum cram_encoding len_encoding; enum cram_encoding val_encoding; void *len_dat; void *val_dat; struct cram_codec *len_codec; struct cram_codec *val_codec; } cram_byte_array_len_encoder; /* * A generic codec structure. */ typedef struct cram_codec { enum cram_encoding codec; cram_block *out; void (*free)(struct cram_codec *codec); int (*decode)(cram_slice *slice, struct cram_codec *codec, cram_block *in, char *out, int *out_size); int (*encode)(cram_slice *slice, struct cram_codec *codec, char *in, int in_size); int (*store)(struct cram_codec *codec, cram_block *b, char *prefix, int version); union { cram_huffman_decoder huffman; cram_external_decoder external; cram_beta_decoder beta; cram_gamma_decoder gamma; cram_subexp_decoder subexp; cram_byte_array_len_decoder byte_array_len; cram_byte_array_stop_decoder byte_array_stop; cram_huffman_encoder e_huffman; cram_external_decoder e_external; cram_byte_array_stop_decoder e_byte_array_stop; cram_byte_array_len_encoder e_byte_array_len; cram_beta_decoder e_beta; }; } cram_codec; char *cram_encoding2str(enum cram_encoding t); cram_codec *cram_decoder_init(enum cram_encoding codec, char *data, int size, enum cram_external_type option, int version); cram_codec *cram_encoder_init(enum cram_encoding codec, cram_stats *st, enum cram_external_type option, void *dat, int version); //int cram_decode(void *codes, char *in, int in_size, char *out, int *out_size); //void cram_decoder_free(void *codes); //#define GET_BIT_MSB(b,v) (void)(v<<=1, v|=(b->data[b->byte] >> b->bit)&1, (--b->bit == -1) && (b->bit = 7, b->byte++)) #define GET_BIT_MSB(b,v) (void)(v<<=1, v|=(b->data[b->byte] >> b->bit)&1, b->byte += (--b->bit<0), b->bit&=7) /* * Returns the content_id used by this codec, also in id2 if byte_array_len. * Returns -1 for the CORE block and -2 for unneeded. * id2 is only filled out for BYTE_ARRAY_LEN which uses 2 codecs. */ int cram_codec_to_id(cram_codec *c, int *id2); #ifdef __cplusplus } #endif #endif /* _CRAM_ENCODINGS_H_ */ htslib-1.2.1/cram/cram_decode.c000066400000000000000000002142241246417267700163400ustar00rootroot00000000000000/* Copyright (c) 2012-2014 Genome Research Ltd. Author: James Bonfield Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. 3. Neither the names Genome Research Ltd and Wellcome Trust Sanger Institute nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY GENOME RESEARCH LTD AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL GENOME RESEARCH LTD OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ /* * - In-memory decoding of CRAM data structures. * - Iterator for reading CRAM record by record. */ #ifdef HAVE_CONFIG_H #include "io_lib_config.h" #endif #include #include #include #include #include #include #include #include #include #include #include "cram/cram.h" #include "cram/os.h" #include "cram/md5.h" //Whether CIGAR has just M or uses = and X to indicate match and mismatch //#define USE_X /* ---------------------------------------------------------------------- * CRAM compression headers */ /* * Decodes the Tag Dictionary record in the preservation map * Updates the cram compression header. * * Returns number of bytes decoded on success * -1 on failure */ int cram_decode_TD(char *cp, cram_block_compression_hdr *h) { char *op = cp; unsigned char *dat; cram_block *b; int32_t blk_size; int nTL, i, sz; if (!(b = cram_new_block(0, 0))) return -1; h->TD_blk = b; /* Decode */ cp += itf8_get(cp, &blk_size); if (!blk_size) { h->nTL = 0; h->TL = NULL; cram_free_block(b); return cp - op; } BLOCK_APPEND(b, cp, blk_size); cp += blk_size; sz = cp - op; // Force nul termination if missing if (BLOCK_DATA(b)[BLOCK_SIZE(b)-1]) BLOCK_APPEND_CHAR(b, '\0'); /* Set up TL lookup table */ dat = BLOCK_DATA(b); // Count for (nTL = i = 0; i < BLOCK_SIZE(b); i++) { nTL++; while (dat[i]) i++; } // Copy h->nTL = nTL; if (!(h->TL = calloc(h->nTL, sizeof(unsigned char *)))) return -1; for (nTL = i = 0; i < BLOCK_SIZE(b); i++) { h->TL[nTL++] = &dat[i]; while (dat[i]) i++; } return sz; } /* * Decodes a CRAM block compression header. * Returns header ptr on success * NULL on failure */ cram_block_compression_hdr *cram_decode_compression_header(cram_fd *fd, cram_block *b) { char *cp, *cp_copy; cram_block_compression_hdr *hdr = calloc(1, sizeof(*hdr)); int i; int32_t map_size, map_count; if (!hdr) return NULL; if (b->method != RAW) { if (cram_uncompress_block(b)) { free(hdr); return NULL; } } cp = (char *)b->data; if (CRAM_MAJOR_VERS(fd->version) == 1) { cp += itf8_get(cp, &hdr->ref_seq_id); cp += itf8_get(cp, &hdr->ref_seq_start); cp += itf8_get(cp, &hdr->ref_seq_span); cp += itf8_get(cp, &hdr->num_records); cp += itf8_get(cp, &hdr->num_landmarks); if (!(hdr->landmark = malloc(hdr->num_landmarks * sizeof(int32_t)))) { free(hdr); return NULL; } for (i = 0; i < hdr->num_landmarks; i++) { cp += itf8_get(cp, &hdr->landmark[i]); } } hdr->preservation_map = kh_init(map); memset(hdr->rec_encoding_map, 0, CRAM_MAP_HASH * sizeof(hdr->rec_encoding_map[0])); memset(hdr->tag_encoding_map, 0, CRAM_MAP_HASH * sizeof(hdr->tag_encoding_map[0])); if (!hdr->preservation_map) { cram_free_compression_header(hdr); return NULL; } /* Initialise defaults for preservation map */ hdr->mapped_qs_included = 0; hdr->unmapped_qs_included = 0; hdr->unmapped_placed = 0; hdr->qs_included = 0; hdr->read_names_included = 0; hdr->AP_delta = 1; memcpy(hdr->substitution_matrix, "CGTNAGTNACTNACGNACGT", 20); /* Preservation map */ cp += itf8_get(cp, &map_size); cp_copy = cp; cp += itf8_get(cp, &map_count); for (i = 0; i < map_count; i++) { pmap_t hd; khint_t k; int r; cp += 2; switch(CRAM_KEY(cp[-2],cp[-1])) { case CRAM_KEY('M','I'): hd.i = *cp++; k = kh_put(map, hdr->preservation_map, "MI", &r); if (-1 == r) { cram_free_compression_header(hdr); return NULL; } kh_val(hdr->preservation_map, k) = hd; hdr->mapped_qs_included = hd.i; break; case CRAM_KEY('U','I'): hd.i = *cp++; k = kh_put(map, hdr->preservation_map, "UI", &r); if (-1 == r) { cram_free_compression_header(hdr); return NULL; } kh_val(hdr->preservation_map, k) = hd; hdr->unmapped_qs_included = hd.i; break; case CRAM_KEY('P','I'): hd.i = *cp++; k = kh_put(map, hdr->preservation_map, "PI", &r); if (-1 == r) { cram_free_compression_header(hdr); return NULL; } kh_val(hdr->preservation_map, k) = hd; hdr->unmapped_placed = hd.i; break; case CRAM_KEY('R','N'): hd.i = *cp++; k = kh_put(map, hdr->preservation_map, "RN", &r); if (-1 == r) { cram_free_compression_header(hdr); return NULL; } kh_val(hdr->preservation_map, k) = hd; hdr->read_names_included = hd.i; break; case CRAM_KEY('A','P'): hd.i = *cp++; k = kh_put(map, hdr->preservation_map, "AP", &r); if (-1 == r) { cram_free_compression_header(hdr); return NULL; } kh_val(hdr->preservation_map, k) = hd; hdr->AP_delta = hd.i; break; case CRAM_KEY('R','R'): hd.i = *cp++; k = kh_put(map, hdr->preservation_map, "RR", &r); if (-1 == r) { cram_free_compression_header(hdr); return NULL; } kh_val(hdr->preservation_map, k) = hd; fd->no_ref = !hd.i; break; case CRAM_KEY('S','M'): hdr->substitution_matrix[0][(cp[0]>>6)&3] = 'C'; hdr->substitution_matrix[0][(cp[0]>>4)&3] = 'G'; hdr->substitution_matrix[0][(cp[0]>>2)&3] = 'T'; hdr->substitution_matrix[0][(cp[0]>>0)&3] = 'N'; hdr->substitution_matrix[1][(cp[1]>>6)&3] = 'A'; hdr->substitution_matrix[1][(cp[1]>>4)&3] = 'G'; hdr->substitution_matrix[1][(cp[1]>>2)&3] = 'T'; hdr->substitution_matrix[1][(cp[1]>>0)&3] = 'N'; hdr->substitution_matrix[2][(cp[2]>>6)&3] = 'A'; hdr->substitution_matrix[2][(cp[2]>>4)&3] = 'C'; hdr->substitution_matrix[2][(cp[2]>>2)&3] = 'T'; hdr->substitution_matrix[2][(cp[2]>>0)&3] = 'N'; hdr->substitution_matrix[3][(cp[3]>>6)&3] = 'A'; hdr->substitution_matrix[3][(cp[3]>>4)&3] = 'C'; hdr->substitution_matrix[3][(cp[3]>>2)&3] = 'G'; hdr->substitution_matrix[3][(cp[3]>>0)&3] = 'N'; hdr->substitution_matrix[4][(cp[4]>>6)&3] = 'A'; hdr->substitution_matrix[4][(cp[4]>>4)&3] = 'C'; hdr->substitution_matrix[4][(cp[4]>>2)&3] = 'G'; hdr->substitution_matrix[4][(cp[4]>>0)&3] = 'T'; hd.p = cp; cp += 5; k = kh_put(map, hdr->preservation_map, "SM", &r); if (-1 == r) { cram_free_compression_header(hdr); return NULL; } kh_val(hdr->preservation_map, k) = hd; break; case CRAM_KEY('T','D'): { int sz = cram_decode_TD(cp, hdr); // tag dictionary if (sz < 0) { cram_free_compression_header(hdr); return NULL; } hd.p = cp; cp += sz; k = kh_put(map, hdr->preservation_map, "TD", &r); if (-1 == r) { cram_free_compression_header(hdr); return NULL; } kh_val(hdr->preservation_map, k) = hd; break; } default: fprintf(stderr, "Unrecognised preservation map key %c%c\n", cp[-2], cp[-1]); // guess byte; cp++; break; } } if (cp - cp_copy != map_size) { cram_free_compression_header(hdr); return NULL; } /* Record encoding map */ cp += itf8_get(cp, &map_size); cp_copy = cp; cp += itf8_get(cp, &map_count); for (i = 0; i < map_count; i++) { char *key = cp; int32_t encoding; int32_t size; cram_map *m = malloc(sizeof(*m)); // FIXME: use pooled_alloc if (!m) { cram_free_compression_header(hdr); return NULL; } cp += 2; cp += itf8_get(cp, &encoding); cp += itf8_get(cp, &size); // Fill out cram_map purely for cram_dump to dump out. m->key = (key[0]<<8)|key[1]; m->encoding = encoding; m->size = size; m->offset = cp - (char *)b->data; m->codec = NULL; if (m->encoding == E_NULL) continue; //printf("%s codes for %.2s\n", cram_encoding2str(encoding), key); /* * For CRAM1.0 CF and BF are Byte and not Int. * Practically speaking it makes no difference unless we have a * 1.0 format file that stores these in EXTERNAL as only then * does Byte vs Int matter. * * Neither this C code nor Java reference implementations did this, * so we gloss over it and treat them as int. */ if (key[0] == 'B' && key[1] == 'F') { if (!(hdr->codecs[DS_BF] = cram_decoder_init(encoding, cp, size, E_INT, fd->version))) { cram_free_compression_header(hdr); return NULL; } } else if (key[0] == 'C' && key[1] == 'F') { if (!(hdr->codecs[DS_CF] = cram_decoder_init(encoding, cp, size, E_INT, fd->version))) { cram_free_compression_header(hdr); return NULL; } } else if (key[0] == 'R' && key[1] == 'I') { if (!(hdr->codecs[DS_RI] = cram_decoder_init(encoding, cp, size, E_INT, fd->version))) { cram_free_compression_header(hdr); return NULL; } } else if (key[0] == 'R' && key[1] == 'L') { if (!(hdr->codecs[DS_RL] = cram_decoder_init(encoding, cp, size, E_INT, fd->version))) { cram_free_compression_header(hdr); return NULL; } } else if (key[0] == 'A' && key[1] == 'P') { if (!(hdr->codecs[DS_AP] = cram_decoder_init(encoding, cp, size, E_INT, fd->version))) { cram_free_compression_header(hdr); return NULL; } } else if (key[0] == 'R' && key[1] == 'G') { if (!(hdr->codecs[DS_RG] = cram_decoder_init(encoding, cp, size, E_INT, fd->version))) { cram_free_compression_header(hdr); return NULL; } } else if (key[0] == 'M' && key[1] == 'F') { if (!(hdr->codecs[DS_MF] = cram_decoder_init(encoding, cp, size, E_INT, fd->version))) { cram_free_compression_header(hdr); return NULL; } } else if (key[0] == 'N' && key[1] == 'S') { if (!(hdr->codecs[DS_NS] = cram_decoder_init(encoding, cp, size, E_INT, fd->version))) { cram_free_compression_header(hdr); return NULL; } } else if (key[0] == 'N' && key[1] == 'P') { if (!(hdr->codecs[DS_NP] = cram_decoder_init(encoding, cp, size, E_INT, fd->version))) { cram_free_compression_header(hdr); return NULL; } } else if (key[0] == 'T' && key[1] == 'S') { if (!(hdr->codecs[DS_TS] = cram_decoder_init(encoding, cp, size, E_INT, fd->version))) { cram_free_compression_header(hdr); return NULL; } } else if (key[0] == 'N' && key[1] == 'F') { if (!(hdr->codecs[DS_NF] = cram_decoder_init(encoding, cp, size, E_INT, fd->version))) { cram_free_compression_header(hdr); return NULL; } } else if (key[0] == 'T' && key[1] == 'C') { if (!(hdr->codecs[DS_TC] = cram_decoder_init(encoding, cp, size, E_BYTE, fd->version))) { cram_free_compression_header(hdr); return NULL; } } else if (key[0] == 'T' && key[1] == 'N') { if (!(hdr->codecs[DS_TN] = cram_decoder_init(encoding, cp, size, E_INT, fd->version))) { cram_free_compression_header(hdr); return NULL; } } else if (key[0] == 'F' && key[1] == 'N') { if (!(hdr->codecs[DS_FN] = cram_decoder_init(encoding, cp, size, E_INT, fd->version))) { cram_free_compression_header(hdr); return NULL; } } else if (key[0] == 'F' && key[1] == 'C') { if (!(hdr->codecs[DS_FC] = cram_decoder_init(encoding, cp, size, E_BYTE, fd->version))) { cram_free_compression_header(hdr); return NULL; } } else if (key[0] == 'F' && key[1] == 'P') { if (!(hdr->codecs[DS_FP] = cram_decoder_init(encoding, cp, size, E_INT, fd->version))) { cram_free_compression_header(hdr); return NULL; } } else if (key[0] == 'B' && key[1] == 'S') { if (!(hdr->codecs[DS_BS] = cram_decoder_init(encoding, cp, size, E_BYTE, fd->version))) { cram_free_compression_header(hdr); return NULL; } } else if (key[0] == 'I' && key[1] == 'N') { if (!(hdr->codecs[DS_IN] = cram_decoder_init(encoding, cp, size, E_BYTE_ARRAY, fd->version))) { cram_free_compression_header(hdr); return NULL; } } else if (key[0] == 'S' && key[1] == 'C') { if (!(hdr->codecs[DS_SC] = cram_decoder_init(encoding, cp, size, E_BYTE_ARRAY, fd->version))) { cram_free_compression_header(hdr); return NULL; } } else if (key[0] == 'D' && key[1] == 'L') { if (!(hdr->codecs[DS_DL] = cram_decoder_init(encoding, cp, size, E_INT, fd->version))) { cram_free_compression_header(hdr); return NULL; } } else if (key[0] == 'B' && key[1] == 'A') { if (!(hdr->codecs[DS_BA] = cram_decoder_init(encoding, cp, size, E_BYTE, fd->version))) { cram_free_compression_header(hdr); return NULL; } } else if (key[0] == 'B' && key[1] == 'B') { if (!(hdr->codecs[DS_BB] = cram_decoder_init(encoding, cp, size, E_BYTE_ARRAY, fd->version))) { cram_free_compression_header(hdr); return NULL; } } else if (key[0] == 'R' && key[1] == 'S') { if (!(hdr->codecs[DS_RS] = cram_decoder_init(encoding, cp, size, E_INT, fd->version))) { cram_free_compression_header(hdr); return NULL; } } else if (key[0] == 'P' && key[1] == 'D') { if (!(hdr->codecs[DS_PD] = cram_decoder_init(encoding, cp, size, E_INT, fd->version))) { cram_free_compression_header(hdr); return NULL; } } else if (key[0] == 'H' && key[1] == 'C') { if (!(hdr->codecs[DS_HC] = cram_decoder_init(encoding, cp, size, E_INT, fd->version))) { cram_free_compression_header(hdr); return NULL; } } else if (key[0] == 'M' && key[1] == 'Q') { if (!(hdr->codecs[DS_MQ] = cram_decoder_init(encoding, cp, size, E_INT, fd->version))) { cram_free_compression_header(hdr); return NULL; } } else if (key[0] == 'R' && key[1] == 'N') { if (!(hdr->codecs[DS_RN] = cram_decoder_init(encoding, cp, size, E_BYTE_ARRAY_BLOCK, fd->version))) { cram_free_compression_header(hdr); return NULL; } } else if (key[0] == 'Q' && key[1] == 'S') { if (!(hdr->codecs[DS_QS] = cram_decoder_init(encoding, cp, size, E_BYTE, fd->version))) { cram_free_compression_header(hdr); return NULL; } } else if (key[0] == 'Q' && key[1] == 'Q') { if (!(hdr->codecs[DS_QQ] = cram_decoder_init(encoding, cp, size, E_BYTE_ARRAY, fd->version))) { cram_free_compression_header(hdr); return NULL; } } else if (key[0] == 'T' && key[1] == 'L') { if (!(hdr->codecs[DS_TL] = cram_decoder_init(encoding, cp, size, E_INT, fd->version))) { cram_free_compression_header(hdr); return NULL; } } else if (key[0] == 'T' && key[1] == 'M') { } else if (key[0] == 'T' && key[1] == 'V') { } else fprintf(stderr, "Unrecognised key: %.2s\n", key); cp += size; m->next = hdr->rec_encoding_map[CRAM_MAP(key[0], key[1])]; hdr->rec_encoding_map[CRAM_MAP(key[0], key[1])] = m; } if (cp - cp_copy != map_size) { cram_free_compression_header(hdr); return NULL; } /* Tag encoding map */ cp += itf8_get(cp, &map_size); cp_copy = cp; cp += itf8_get(cp, &map_count); for (i = 0; i < map_count; i++) { int32_t encoding; int32_t size; cram_map *m = malloc(sizeof(*m)); // FIXME: use pooled_alloc char *key = cp+1; if (!m) { cram_free_compression_header(hdr); return NULL; } m->key = (key[0]<<16)|(key[1]<<8)|key[2]; cp += 4; // Strictly ITF8, but this suffices cp += itf8_get(cp, &encoding); cp += itf8_get(cp, &size); m->encoding = encoding; m->size = size; m->offset = cp - (char *)b->data; if (!(m->codec = cram_decoder_init(encoding, cp, size, E_BYTE_ARRAY_BLOCK, fd->version))) { cram_free_compression_header(hdr); free(m); return NULL; } cp += size; m->next = hdr->tag_encoding_map[CRAM_MAP(key[0],key[1])]; hdr->tag_encoding_map[CRAM_MAP(key[0],key[1])] = m; } if (cp - cp_copy != map_size) { cram_free_compression_header(hdr); return NULL; } return hdr; } /* * Note we also need to scan through the record encoding map to * see which data series share the same block, either external or * CORE. For example if we need the BF data series but MQ and CF * are also encoded in the same block then we need to add those in * as a dependency in order to correctly decode BF. * * Returns 0 on success * -1 on failure */ int cram_dependent_data_series(cram_fd *fd, cram_block_compression_hdr *hdr, cram_slice *s) { int *block_used; int core_used = 0; int i; static int i_to_id[] = { DS_BF, DS_AP, DS_FP, DS_RL, DS_DL, DS_NF, DS_BA, DS_QS, DS_FC, DS_FN, DS_BS, DS_IN, DS_RG, DS_MQ, DS_TL, DS_RN, DS_NS, DS_NP, DS_TS, DS_MF, DS_CF, DS_RI, DS_RS, DS_PD, DS_HC, DS_SC, DS_BB, DS_QQ, }; uint32_t orig_ds; /* * Set the data_series bit field based on fd->required_fields * contents. */ if (fd->required_fields && fd->required_fields != INT_MAX) { hdr->data_series = 0; if (fd->required_fields & SAM_QNAME) hdr->data_series |= CRAM_RN; if (fd->required_fields & SAM_FLAG) hdr->data_series |= CRAM_BF; if (fd->required_fields & SAM_RNAME) hdr->data_series |= CRAM_RI | CRAM_BF; if (fd->required_fields & SAM_POS) hdr->data_series |= CRAM_AP | CRAM_BF; if (fd->required_fields & SAM_MAPQ) hdr->data_series |= CRAM_MQ; if (fd->required_fields & SAM_CIGAR) hdr->data_series |= CRAM_CIGAR; if (fd->required_fields & SAM_RNEXT) hdr->data_series |= CRAM_CF | CRAM_NF | CRAM_RI | CRAM_NS |CRAM_BF; if (fd->required_fields & SAM_PNEXT) hdr->data_series |= CRAM_CF | CRAM_NF | CRAM_AP | CRAM_NP | CRAM_BF; if (fd->required_fields & SAM_TLEN) hdr->data_series |= CRAM_CF | CRAM_NF | CRAM_AP | CRAM_TS | CRAM_BF | CRAM_MF | CRAM_RI | CRAM_CIGAR; if (fd->required_fields & SAM_SEQ) hdr->data_series |= CRAM_SEQ; if (!(fd->required_fields & SAM_AUX)) // No easy way to get MD/NM without other tags at present fd->decode_md = 0; if (fd->required_fields & SAM_QUAL) hdr->data_series |= CRAM_SEQ; if (fd->required_fields & SAM_AUX) hdr->data_series |= CRAM_RG | CRAM_TL | CRAM_aux; if (fd->required_fields & SAM_RGAUX) hdr->data_series |= CRAM_RG | CRAM_BF; // Always uncompress CORE block if (cram_uncompress_block(s->block[0])) return -1; } else { hdr->data_series = CRAM_ALL; for (i = 0; i < s->hdr->num_blocks; i++) { if (cram_uncompress_block(s->block[i])) return -1; } return 0; } block_used = calloc(s->hdr->num_blocks+1, sizeof(int)); if (!block_used) return -1; do { /* * Also set data_series based on code prerequisites. Eg if we need * CRAM_QS then we also need to know CRAM_RL so we know how long it * is, or if we need FC/FP then we also need FN (number of features). * * It's not reciprocal though. We may be needing to decode FN * but have no need to decode FC, FP and cigar ops. */ if (hdr->data_series & CRAM_RS) hdr->data_series |= CRAM_FC|CRAM_FP; if (hdr->data_series & CRAM_PD) hdr->data_series |= CRAM_FC|CRAM_FP; if (hdr->data_series & CRAM_HC) hdr->data_series |= CRAM_FC|CRAM_FP; if (hdr->data_series & CRAM_QS) hdr->data_series |= CRAM_FC|CRAM_FP; if (hdr->data_series & CRAM_IN) hdr->data_series |= CRAM_FC|CRAM_FP; if (hdr->data_series & CRAM_SC) hdr->data_series |= CRAM_FC|CRAM_FP; if (hdr->data_series & CRAM_BS) hdr->data_series |= CRAM_FC|CRAM_FP; if (hdr->data_series & CRAM_DL) hdr->data_series |= CRAM_FC|CRAM_FP; if (hdr->data_series & CRAM_BA) hdr->data_series |= CRAM_FC|CRAM_FP; if (hdr->data_series & CRAM_BB) hdr->data_series |= CRAM_FC|CRAM_FP; if (hdr->data_series & CRAM_QQ) hdr->data_series |= CRAM_FC|CRAM_FP; // cram_decode_seq() needs seq[] array if (hdr->data_series & (CRAM_SEQ|CRAM_CIGAR)) hdr->data_series |= CRAM_RL; if (hdr->data_series & CRAM_FP) hdr->data_series |= CRAM_FC; if (hdr->data_series & CRAM_FC) hdr->data_series |= CRAM_FN; if (hdr->data_series & CRAM_aux) hdr->data_series |= CRAM_TL; if (hdr->data_series & CRAM_MF) hdr->data_series |= CRAM_CF; if (hdr->data_series & CRAM_MQ) hdr->data_series |= CRAM_BF; if (hdr->data_series & CRAM_BS) hdr->data_series |= CRAM_RI; if (hdr->data_series & (CRAM_MF |CRAM_NS |CRAM_NP |CRAM_TS |CRAM_NF)) hdr->data_series |= CRAM_CF; if (!hdr->read_names_included && hdr->data_series & CRAM_RN) hdr->data_series |= CRAM_CF | CRAM_NF; if (hdr->data_series & (CRAM_BA | CRAM_QS | CRAM_BB | CRAM_QQ)) hdr->data_series |= CRAM_BF | CRAM_CF | CRAM_RL; orig_ds = hdr->data_series; // Find which blocks are in use. for (i = 0; i < sizeof(i_to_id)/sizeof(*i_to_id); i++) { int bnum1, bnum2, j; cram_codec *c = hdr->codecs[i_to_id[i]]; if (!(hdr->data_series & (1<hdr->num_blocks; j++) { if (s->block[j]->content_type == EXTERNAL && s->block[j]->content_id == bnum1) { block_used[j] = 1; if (cram_uncompress_block(s->block[j])) { free(block_used); return -1; } } } break; } if (bnum2 == -2 || bnum1 == bnum2) break; bnum1 = bnum2; // 2nd pass } } // Tags too if ((fd->required_fields & SAM_AUX) || (hdr->data_series & CRAM_aux)) { for (i = 0; i < CRAM_MAP_HASH; i++) { int bnum1, bnum2, j; cram_map *m = hdr->tag_encoding_map[i]; while (m) { cram_codec *c = m->codec; if (!c) continue; bnum1 = cram_codec_to_id(c, &bnum2); for (;;) { switch (bnum1) { case -2: break; case -1: core_used = 1; break; default: for (j = 0; j < s->hdr->num_blocks; j++) { if (s->block[j]->content_type == EXTERNAL && s->block[j]->content_id == bnum1) { block_used[j] = 1; if (cram_uncompress_block(s->block[j])) { free(block_used); return -1; } } } break; } if (bnum2 == -2 || bnum1 == bnum2) break; bnum1 = bnum2; // 2nd pass } m = m->next; } } } // We now know which blocks are in used, so repeat and find // which other data series need to be added. for (i = 0; i < sizeof(i_to_id)/sizeof(*i_to_id); i++) { int bnum1, bnum2, j; cram_codec *c = hdr->codecs[i_to_id[i]]; if (!c) continue; bnum1 = cram_codec_to_id(c, &bnum2); for (;;) { switch (bnum1) { case -2: break; case -1: if (core_used) { //printf(" + data series %08x:\n", 1<data_series |= 1<hdr->num_blocks; j++) { if (s->block[j]->content_type == EXTERNAL && s->block[j]->content_id == bnum1) { if (block_used[j]) { //printf(" + data series %08x:\n", 1<data_series |= 1<tag_encoding_map[i]; while (m) { cram_codec *c = m->codec; if (!c) continue; bnum1 = cram_codec_to_id(c, &bnum2); for (;;) { switch (bnum1) { case -2: break; case -1: //printf(" + data series %08x:\n", CRAM_aux); hdr->data_series |= CRAM_aux; break; default: for (j = 0; j < s->hdr->num_blocks; j++) { if (s->block[j]->content_type && s->block[j]->content_id == bnum1) { if (block_used[j]) { //printf(" + data series %08x:\n", // CRAM_aux); hdr->data_series |= CRAM_aux; } } } break; } if (bnum2 == -2 || bnum1 == bnum2) break; bnum1 = bnum2; // 2nd pass } m = m->next; } } } while (orig_ds != hdr->data_series); free(block_used); return 0; } /* ---------------------------------------------------------------------- * CRAM slices */ /* * Decodes a CRAM (un)mapped slice header block. * Returns slice header ptr on success * NULL on failure */ cram_block_slice_hdr *cram_decode_slice_header(cram_fd *fd, cram_block *b) { cram_block_slice_hdr *hdr; char *cp = (char *)b->data; int i; if (b->content_type != MAPPED_SLICE && b->content_type != UNMAPPED_SLICE) return NULL; if (!(hdr = calloc(1, sizeof(*hdr)))) return NULL; hdr->content_type = b->content_type; if (b->content_type == MAPPED_SLICE) { cp += itf8_get(cp, &hdr->ref_seq_id); cp += itf8_get(cp, &hdr->ref_seq_start); cp += itf8_get(cp, &hdr->ref_seq_span); } cp += itf8_get(cp, &hdr->num_records); hdr->record_counter = 0; if (CRAM_MAJOR_VERS(fd->version) == 2) { int32_t i32; cp += itf8_get(cp, &i32); hdr->record_counter = i32; } else if (CRAM_MAJOR_VERS(fd->version) >= 3) { cp += ltf8_get(cp, &hdr->record_counter); } cp += itf8_get(cp, &hdr->num_blocks); cp += itf8_get(cp, &hdr->num_content_ids); hdr->block_content_ids = malloc(hdr->num_content_ids * sizeof(int32_t)); if (!hdr->block_content_ids) { free(hdr); return NULL; } for (i = 0; i < hdr->num_content_ids; i++) { cp += itf8_get(cp, &hdr->block_content_ids[i]); } if (b->content_type == MAPPED_SLICE) { cp += itf8_get(cp, &hdr->ref_base_id); } if (CRAM_MAJOR_VERS(fd->version) != 1) { memcpy(hdr->md5, cp, 16); } else { memset(hdr->md5, 0, 16); } return hdr; } #if 0 /* Returns the number of bits set in val; it the highest bit used */ static int nbits(int v) { static const int MultiplyDeBruijnBitPosition[32] = { 1, 10, 2, 11, 14, 22, 3, 30, 12, 15, 17, 19, 23, 26, 4, 31, 9, 13, 21, 29, 16, 18, 25, 8, 20, 28, 24, 7, 27, 6, 5, 32 }; v |= v >> 1; // first up to set all bits 1 after the first 1 */ v |= v >> 2; v |= v >> 4; v |= v >> 8; v |= v >> 16; // DeBruijn magic to find top bit return MultiplyDeBruijnBitPosition[(uint32_t)(v * 0x07C4ACDDU) >> 27]; } #endif #if 0 static int sort_freqs(const void *vp1, const void *vp2) { const int i1 = *(const int *)vp1; const int i2 = *(const int *)vp2; return i1-i2; } #endif /* ---------------------------------------------------------------------- * Primary CRAM sequence decoder */ /* * Internal part of cram_decode_slice(). * Generates the sequence, quality and cigar components. */ static int cram_decode_seq(cram_fd *fd, cram_container *c, cram_slice *s, cram_block *blk, cram_record *cr, SAM_hdr *bfd, int cf, char *seq, char *qual) { int prev_pos = 0, f, r = 0, out_sz = 1; int seq_pos = 1; int cig_len = 0, ref_pos = cr->apos; int32_t fn, i32; enum cigar_op cig_op = BAM_CMATCH; uint32_t *cigar = s->cigar; uint32_t ncigar = s->ncigar; uint32_t cigar_alloc = s->cigar_alloc; uint32_t nm = 0, md_dist = 0; int orig_aux = 0; int decode_md = fd->decode_md && s->ref; uint32_t ds = c->comp_hdr->data_series; if ((ds & CRAM_QS) && !(cf & CRAM_FLAG_PRESERVE_QUAL_SCORES)) { memset(qual, 30, cr->len); } if (decode_md) { orig_aux = BLOCK_SIZE(s->aux_blk); BLOCK_APPEND(s->aux_blk, "MDZ", 3); } if (ds & CRAM_FN) { if (!c->comp_hdr->codecs[DS_FN]) return -1; r |= c->comp_hdr->codecs[DS_FN]->decode(s,c->comp_hdr->codecs[DS_FN], blk, (char *)&fn, &out_sz); } else { fn = 0; } ref_pos--; // count from 0 cr->cigar = ncigar; if (!(ds & (CRAM_FC | CRAM_FP))) goto skip_cigar; for (f = 0; f < fn; f++) { int32_t pos = 0; char op; if (ncigar+2 >= cigar_alloc) { cigar_alloc = cigar_alloc ? cigar_alloc*2 : 1024; s->cigar = cigar; if (!(cigar = realloc(cigar, cigar_alloc * sizeof(*cigar)))) return -1; } if (ds & CRAM_FC) { if (!c->comp_hdr->codecs[DS_FC]) return -1; r |= c->comp_hdr->codecs[DS_FC]->decode(s, c->comp_hdr->codecs[DS_FC], blk, &op, &out_sz); } if (!(ds & CRAM_FP)) continue; if (!c->comp_hdr->codecs[DS_FP]) return -1; r |= c->comp_hdr->codecs[DS_FP]->decode(s, c->comp_hdr->codecs[DS_FP], blk, (char *)&pos, &out_sz); pos += prev_pos; if (pos > seq_pos) { if (pos > cr->len+1) return -1; if (s->ref && cr->ref_id >= 0) { if (ref_pos + pos - seq_pos > bfd->ref[cr->ref_id].len) { static int whinged = 0; if (!whinged) fprintf(stderr, "Ref pos outside of ref " "sequence boundary\n"); whinged = 1; } else { memcpy(&seq[seq_pos-1], &s->ref[ref_pos - s->ref_start +1], pos - seq_pos); } } #ifdef USE_X if (cig_len && cig_op != BAM_CBASE_MATCH) { cigar[ncigar++] = (cig_len<<4) + cig_op; cig_len = 0; } cig_op = BAM_CBASE_MATCH; #else if (cig_len && cig_op != BAM_CMATCH) { cigar[ncigar++] = (cig_len<<4) + cig_op; cig_len = 0; } cig_op = BAM_CMATCH; #endif cig_len += pos - seq_pos; ref_pos += pos - seq_pos; md_dist += pos - seq_pos; seq_pos = pos; } prev_pos = pos; if (!(ds & CRAM_FC)) goto skip_cigar; if (!(ds & CRAM_FC)) continue; switch(op) { case 'S': { // soft clip: IN int32_t out_sz2 = 1; if (cig_len) { cigar[ncigar++] = (cig_len<<4) + cig_op; cig_len = 0; } if (ds & CRAM_IN) { switch (CRAM_MAJOR_VERS(fd->version)) { case 1: r |= c->comp_hdr->codecs[DS_IN] ? c->comp_hdr->codecs[DS_IN] ->decode(s, c->comp_hdr->codecs[DS_IN], blk, &seq[pos-1], &out_sz2) : (seq[pos-1] = 'N', out_sz2 = 1, 0); break; case 2: default: r |= c->comp_hdr->codecs[DS_SC] ? c->comp_hdr->codecs[DS_SC] ->decode(s, c->comp_hdr->codecs[DS_SC], blk, &seq[pos-1], &out_sz2) : (seq[pos-1] = 'N', out_sz2 = 1, 0); break; // default: // r |= c->comp_hdr->codecs[DS_BB] // ? c->comp_hdr->codecs[DS_BB] // ->decode(s, c->comp_hdr->codecs[DS_BB], // blk, &seq[pos-1], &out_sz2) // : (seq[pos-1] = 'N', out_sz2 = 1, 0); } cigar[ncigar++] = (out_sz2<<4) + BAM_CSOFT_CLIP; cig_op = BAM_CSOFT_CLIP; seq_pos += out_sz2; } break; } case 'X': { // Substitution; BS unsigned char base; #ifdef USE_X if (cig_len && cig_op != BAM_CBASE_MISMATCH) { cigar[ncigar++] = (cig_len<<4) + cig_op; cig_len = 0; } if (ds & CRAM_BS) { if (!c->comp_hdr->codecs[DS_BS]) return -1; r |= c->comp_hdr->codecs[DS_BS] ->decode(s, c->comp_hdr->codecs[DS_BS], blk, (char *)&base, &out_sz); seq[pos-1] = 'N'; // FIXME look up BS=base value } cig_op = BAM_CBASE_MISMATCH; #else int ref_base; if (cig_len && cig_op != BAM_CMATCH) { cigar[ncigar++] = (cig_len<<4) + cig_op; cig_len = 0; } if (ds & CRAM_BS) { if (!c->comp_hdr->codecs[DS_BS]) return -1; r |= c->comp_hdr->codecs[DS_BS] ->decode(s, c->comp_hdr->codecs[DS_BS], blk, (char *)&base, &out_sz); if (ref_pos >= bfd->ref[cr->ref_id].len || !s->ref) { seq[pos-1] = 'N'; } else { ref_base = fd->L1[(uc)s->ref[ref_pos - s->ref_start +1]]; seq[pos-1] = c->comp_hdr-> substitution_matrix[ref_base][base]; if (decode_md) { BLOCK_APPEND_UINT(s->aux_blk, md_dist); BLOCK_APPEND_CHAR(s->aux_blk, s->ref[ref_pos-s->ref_start +1]); md_dist = 0; } } } cig_op = BAM_CMATCH; #endif nm++; cig_len++; seq_pos++; ref_pos++; break; } case 'D': { // Deletion; DL if (cig_len && cig_op != BAM_CDEL) { cigar[ncigar++] = (cig_len<<4) + cig_op; cig_len = 0; } if (ds & CRAM_DL) { if (!c->comp_hdr->codecs[DS_DL]) return -1; r |= c->comp_hdr->codecs[DS_DL] ->decode(s, c->comp_hdr->codecs[DS_DL], blk, (char *)&i32, &out_sz); if (decode_md) { BLOCK_APPEND_UINT(s->aux_blk, md_dist); BLOCK_APPEND_CHAR(s->aux_blk, '^'); BLOCK_APPEND(s->aux_blk, &s->ref[ref_pos - s->ref_start +1], i32); md_dist = 0; } cig_op = BAM_CDEL; cig_len += i32; ref_pos += i32; nm += i32; //printf(" %d: DL = %d (ret %d)\n", f, i32, r); } break; } case 'I': { // Insertion (several bases); IN int32_t out_sz2 = 1; if (cig_len && cig_op != BAM_CINS) { cigar[ncigar++] = (cig_len<<4) + cig_op; cig_len = 0; } if (ds & CRAM_IN) { if (!c->comp_hdr->codecs[DS_IN]) return -1; r |= c->comp_hdr->codecs[DS_IN] ->decode(s, c->comp_hdr->codecs[DS_IN], blk, &seq[pos-1], &out_sz2); cig_op = BAM_CINS; cig_len += out_sz2; seq_pos += out_sz2; nm += out_sz2; //printf(" %d: IN(I) = %.*s (ret %d, out_sz %d)\n", f, out_sz2, dat, r, out_sz2); } break; } case 'i': { // Insertion (single base); BA if (cig_len && cig_op != BAM_CINS) { cigar[ncigar++] = (cig_len<<4) + cig_op; cig_len = 0; } if (ds & CRAM_BA) { if (!c->comp_hdr->codecs[DS_BA]) return -1; r |= c->comp_hdr->codecs[DS_BA] ->decode(s, c->comp_hdr->codecs[DS_BA], blk, (char *)&seq[pos-1], &out_sz); } cig_op = BAM_CINS; cig_len++; seq_pos++; nm++; break; } case 'b': { // Several bases int32_t len = 1; if (cig_len && cig_op != BAM_CMATCH) { cigar[ncigar++] = (cig_len<<4) + cig_op; cig_len = 0; } if (ds & CRAM_BB) { if (!c->comp_hdr->codecs[DS_BB]) return -1; r |= c->comp_hdr->codecs[DS_BB] ->decode(s, c->comp_hdr->codecs[DS_BB], blk, (char *)&seq[pos-1], &len); } cig_op = BAM_CMATCH; cig_len+=len; seq_pos+=len; ref_pos+=len; //prev_pos+=len; break; } case 'q': { // Several quality values int32_t len = 1; if (cig_len && cig_op != BAM_CMATCH) { cigar[ncigar++] = (cig_len<<4) + cig_op; cig_len = 0; } if (ds & CRAM_QQ) { if (!c->comp_hdr->codecs[DS_QQ]) return -1; r |= c->comp_hdr->codecs[DS_QQ] ->decode(s, c->comp_hdr->codecs[DS_QQ], blk, (char *)&qual[pos-1], &len); } cig_op = BAM_CMATCH; cig_len+=len; seq_pos+=len; ref_pos+=len; //prev_pos+=len; break; } case 'B': { // Read base; BA, QS #ifdef USE_X if (cig_len && cig_op != BAM_CBASE_MISMATCH) { cigar[ncigar++] = (cig_len<<4) + cig_op; cig_len = 0; } #else if (cig_len && cig_op != BAM_CMATCH) { cigar[ncigar++] = (cig_len<<4) + cig_op; cig_len = 0; } #endif if (ds & CRAM_BA) { if (!c->comp_hdr->codecs[DS_BA]) return -1; r |= c->comp_hdr->codecs[DS_BA] ->decode(s, c->comp_hdr->codecs[DS_BA], blk, (char *)&seq[pos-1], &out_sz); } if (ds & CRAM_QS) { if (!c->comp_hdr->codecs[DS_QS]) return -1; r |= c->comp_hdr->codecs[DS_QS] ->decode(s, c->comp_hdr->codecs[DS_QS], blk, (char *)&qual[pos-1], &out_sz); } #ifdef USE_X cig_op = BAM_CBASE_MISMATCH; #else cig_op = BAM_CMATCH; #endif cig_len++; seq_pos++; ref_pos++; //printf(" %d: BA/QS(B) = %c/%d (ret %d)\n", f, i32, qc, r); break; } case 'Q': { // Quality score; QS if (ds & CRAM_QS) { if (!c->comp_hdr->codecs[DS_QS]) return -1; r |= c->comp_hdr->codecs[DS_QS] ->decode(s, c->comp_hdr->codecs[DS_QS], blk, (char *)&qual[pos-1], &out_sz); //printf(" %d: QS = %d (ret %d)\n", f, qc, r); } break; } case 'H': { // hard clip; HC if (cig_len && cig_op != BAM_CHARD_CLIP) { cigar[ncigar++] = (cig_len<<4) + cig_op; cig_len = 0; } if (ds & CRAM_HC) { if (!c->comp_hdr->codecs[DS_HC]) return -1; r |= c->comp_hdr->codecs[DS_HC] ->decode(s, c->comp_hdr->codecs[DS_HC], blk, (char *)&i32, &out_sz); cig_op = BAM_CHARD_CLIP; cig_len += i32; nm += i32; } break; } case 'P': { // padding; PD if (cig_len && cig_op != BAM_CPAD) { cigar[ncigar++] = (cig_len<<4) + cig_op; cig_len = 0; } if (ds & CRAM_PD) { if (!c->comp_hdr->codecs[DS_PD]) return -1; r |= c->comp_hdr->codecs[DS_PD] ->decode(s, c->comp_hdr->codecs[DS_PD], blk, (char *)&i32, &out_sz); cig_op = BAM_CPAD; cig_len += i32; nm += i32; } break; } case 'N': { // Ref skip; RS if (cig_len && cig_op != BAM_CREF_SKIP) { cigar[ncigar++] = (cig_len<<4) + cig_op; cig_len = 0; } if (ds & CRAM_RS) { if (!c->comp_hdr->codecs[DS_RS]) return -1; r |= c->comp_hdr->codecs[DS_RS] ->decode(s, c->comp_hdr->codecs[DS_RS], blk, (char *)&i32, &out_sz); cig_op = BAM_CREF_SKIP; cig_len += i32; ref_pos += i32; nm += i32; } break; } default: abort(); } } if (!(ds & CRAM_FC)) goto skip_cigar; /* An implement match op for any unaccounted for bases */ if ((ds & CRAM_FN) && cr->len >= seq_pos) { if (s->ref) { if (ref_pos + cr->len - seq_pos + 1 > bfd->ref[cr->ref_id].len) { static int whinged = 0; if (!whinged) fprintf(stderr, "Ref pos outside of ref sequence boundary\n"); whinged = 1; } else { memcpy(&seq[seq_pos-1], &s->ref[ref_pos - s->ref_start +1], cr->len - seq_pos + 1); ref_pos += cr->len - seq_pos + 1; md_dist += cr->len - seq_pos + 1; } } if (ncigar+1 >= cigar_alloc) { cigar_alloc = cigar_alloc ? cigar_alloc*2 : 1024; s->cigar = cigar; if (!(cigar = realloc(cigar, cigar_alloc * sizeof(*cigar)))) return -1; } #ifdef USE_X if (cig_len && cig_op != BAM_CBASE_MATCH) { cigar[ncigar++] = (cig_len<<4) + cig_op; cig_len = 0; } cig_op = BAM_CBASE_MATCH; #else if (cig_len && cig_op != BAM_CMATCH) { cigar[ncigar++] = (cig_len<<4) + cig_op; cig_len = 0; } cig_op = BAM_CMATCH; #endif cig_len += cr->len - seq_pos+1; } skip_cigar: if ((ds & CRAM_FN) && decode_md) { BLOCK_APPEND_UINT(s->aux_blk, md_dist); } if (cig_len) { if (ncigar >= cigar_alloc) { cigar_alloc = cigar_alloc ? cigar_alloc*2 : 1024; s->cigar = cigar; if (!(cigar = realloc(cigar, cigar_alloc * sizeof(*cigar)))) return -1; } cigar[ncigar++] = (cig_len<<4) + cig_op; } cr->ncigar = ncigar - cr->cigar; cr->aend = ref_pos; //printf("2: %.*s %d .. %d\n", cr->name_len, DSTRING_STR(name_ds) + cr->name, cr->apos, ref_pos); if (ds & CRAM_MQ) { if (!c->comp_hdr->codecs[DS_MQ]) return -1; r |= c->comp_hdr->codecs[DS_MQ] ->decode(s, c->comp_hdr->codecs[DS_MQ], blk, (char *)&cr->mqual, &out_sz); } else { cr->mqual = 40; } if ((ds & CRAM_QS) && (cf & CRAM_FLAG_PRESERVE_QUAL_SCORES)) { int32_t out_sz2 = cr->len; if (ds & CRAM_QS) { if (!c->comp_hdr->codecs[DS_QS]) return -1; r |= c->comp_hdr->codecs[DS_QS] ->decode(s, c->comp_hdr->codecs[DS_QS], blk, qual, &out_sz2); } } s->cigar = cigar; s->cigar_alloc = cigar_alloc; s->ncigar = ncigar; if (decode_md) { char buf[7]; BLOCK_APPEND_CHAR(s->aux_blk, '\0'); // null terminate MD:Z: cr->aux_size += BLOCK_SIZE(s->aux_blk) - orig_aux; buf[0] = 'N'; buf[1] = 'M'; buf[2] = 'I'; buf[3] = (nm>> 0) & 0xff; buf[4] = (nm>> 8) & 0xff; buf[5] = (nm>>16) & 0xff; buf[6] = (nm>>24) & 0xff; BLOCK_APPEND(s->aux_blk, buf, 7); cr->aux_size += 7; } return r; } /* * Quick and simple hash lookup for cram_map arrays */ static cram_map *map_find(cram_map **map, unsigned char *key, int id) { cram_map *m; m = map[CRAM_MAP(key[0],key[1])]; while (m && m->key != id) m= m->next; return m; } //#define map_find(M,K,I) M[CRAM_MAP(K[0],K[1])];while (m && m->key != I);m= m->next static int cram_decode_aux_1_0(cram_container *c, cram_slice *s, cram_block *blk, cram_record *cr) { int i, r = 0, out_sz = 1; unsigned char ntags; if (!c->comp_hdr->codecs[DS_TC]) return -1; r |= c->comp_hdr->codecs[DS_TC]->decode(s, c->comp_hdr->codecs[DS_TC], blk, (char *)&ntags, &out_sz); cr->ntags = ntags; //printf("TC=%d\n", cr->ntags); cr->aux_size = 0; cr->aux = BLOCK_SIZE(s->aux_blk); for (i = 0; i < cr->ntags; i++) { int32_t id, out_sz = 1; unsigned char tag_data[3]; cram_map *m; //printf("Tag %d/%d\n", i+1, cr->ntags); if (!c->comp_hdr->codecs[DS_TN]) return -1; r |= c->comp_hdr->codecs[DS_TN]->decode(s, c->comp_hdr->codecs[DS_TN], blk, (char *)&id, &out_sz); if (out_sz == 3) { tag_data[0] = ((char *)&id)[0]; tag_data[1] = ((char *)&id)[1]; tag_data[2] = ((char *)&id)[2]; } else { tag_data[0] = (id>>16) & 0xff; tag_data[1] = (id>>8) & 0xff; tag_data[2] = id & 0xff; } m = map_find(c->comp_hdr->tag_encoding_map, tag_data, id); if (!m) return -1; BLOCK_APPEND(s->aux_blk, (char *)tag_data, 3); if (!m->codec) return -1; r |= m->codec->decode(s, m->codec, blk, (char *)s->aux_blk, &out_sz); cr->aux_size += out_sz + 3; } return r; } static int cram_decode_aux(cram_container *c, cram_slice *s, cram_block *blk, cram_record *cr) { int i, r = 0, out_sz = 1; int32_t TL = 0; unsigned char *TN; uint32_t ds = c->comp_hdr->data_series; if (!(ds & (CRAM_TL|CRAM_aux))) { cr->aux = 0; cr->aux_size = 0; return 0; } if (!c->comp_hdr->codecs[DS_TL]) return -1; r |= c->comp_hdr->codecs[DS_TL]->decode(s, c->comp_hdr->codecs[DS_TL], blk, (char *)&TL, &out_sz); if (r || TL < 0 || TL >= c->comp_hdr->nTL) return -1; TN = c->comp_hdr->TL[TL]; cr->ntags = strlen((char *)TN)/3; // optimise to remove strlen //printf("TC=%d\n", cr->ntags); cr->aux_size = 0; cr->aux = BLOCK_SIZE(s->aux_blk); if (!(ds & CRAM_aux)) return 0; for (i = 0; i < cr->ntags; i++) { int32_t id, out_sz = 1; unsigned char tag_data[3]; cram_map *m; //printf("Tag %d/%d\n", i+1, cr->ntags); tag_data[0] = *TN++; tag_data[1] = *TN++; tag_data[2] = *TN++; id = (tag_data[0]<<16) | (tag_data[1]<<8) | tag_data[2]; m = map_find(c->comp_hdr->tag_encoding_map, tag_data, id); if (!m) return -1; BLOCK_APPEND(s->aux_blk, (char *)tag_data, 3); if (!m->codec) return -1; r |= m->codec->decode(s, m->codec, blk, (char *)s->aux_blk, &out_sz); cr->aux_size += out_sz + 3; } return r; } /* Resolve mate pair cross-references between recs within this slice */ static void cram_decode_slice_xref(cram_slice *s, int required_fields) { int rec; if (!(required_fields & (SAM_RNEXT | SAM_PNEXT | SAM_TLEN))) { for (rec = 0; rec < s->hdr->num_records; rec++) { cram_record *cr = &s->crecs[rec]; cr->tlen = 0; cr->mate_pos = 0; cr->mate_ref_id = -1; } return; } for (rec = 0; rec < s->hdr->num_records; rec++) { cram_record *cr = &s->crecs[rec]; if (cr->mate_line >= 0) { if (cr->mate_line < s->hdr->num_records) { /* * On the first read, loop through computing lengths. * It's not perfect as we have one slice per reference so we * cannot detect when TLEN should be zero due to seqs that * map to multiple references. * * We also cannot set tlen correct when it spans a slice for * other reasons. This may make tlen too small. Should we * fix this by forcing TLEN to be stored verbatim in such cases? * * Or do we just admit defeat and output 0 for tlen? It's the * safe option... */ if (cr->tlen == INT_MIN) { int id1 = rec, id2 = rec; int aleft = cr->apos, aright = cr->aend; int tlen; int ref = cr->ref_id; // number of segments starting at the same point. int left_cnt = 0; do { if (aleft > s->crecs[id2].apos) aleft = s->crecs[id2].apos, left_cnt = 1; else if (aleft == s->crecs[id2].apos) left_cnt++; if (aright < s->crecs[id2].aend) aright = s->crecs[id2].aend; if (s->crecs[id2].mate_line == -1) { s->crecs[id2].mate_line = rec; break; } assert(s->crecs[id2].mate_line > id2); id2 = s->crecs[id2].mate_line; if (s->crecs[id2].ref_id != ref) ref = -1; } while (id2 != id1); if (ref != -1) { tlen = aright - aleft + 1; id1 = id2 = rec; /* * When we have two seqs with identical start and * end coordinates, set +/- tlen based on 1st/last * bit flags instead, as a tie breaker. */ if (s->crecs[id2].apos == aleft) { if (left_cnt == 1 || (s->crecs[id2].flags & BAM_FREAD1)) s->crecs[id2].tlen = tlen; else s->crecs[id2].tlen = -tlen; } else { s->crecs[id2].tlen = -tlen; } id2 = s->crecs[id2].mate_line; while (id2 != id1) { if (s->crecs[id2].apos == aleft) { if (left_cnt == 1 || (s->crecs[id2].flags & BAM_FREAD1)) s->crecs[id2].tlen = tlen; else s->crecs[id2].tlen = -tlen; } else { s->crecs[id2].tlen = -tlen; } id2 = s->crecs[id2].mate_line; } } else { id1 = id2 = rec; s->crecs[id2].tlen = 0; id2 = s->crecs[id2].mate_line; while (id2 != id1) { s->crecs[id2].tlen = 0; id2 = s->crecs[id2].mate_line; } } } cr->mate_pos = s->crecs[cr->mate_line].apos; cr->mate_ref_id = s->crecs[cr->mate_line].ref_id; // paired cr->flags |= BAM_FPAIRED; // set mate unmapped if needed if (s->crecs[cr->mate_line].flags & BAM_FUNMAP) { cr->flags |= BAM_FMUNMAP; cr->tlen = 0; } if (cr->flags & BAM_FUNMAP) { cr->tlen = 0; } // set mate reversed if needed if (s->crecs[cr->mate_line].flags & BAM_FREVERSE) cr->flags |= BAM_FMREVERSE; } else { fprintf(stderr, "Mate line out of bounds: %d vs [0, %d]\n", cr->mate_line, s->hdr->num_records-1); } /* FIXME: construct read names here too if needed */ } else { if (cr->mate_flags & CRAM_M_REVERSE) { cr->flags |= BAM_FPAIRED | BAM_FMREVERSE; } if (cr->mate_flags & CRAM_M_UNMAP) { cr->flags |= BAM_FMUNMAP; //cr->mate_ref_id = -1; } if (!(cr->flags & BAM_FPAIRED)) cr->mate_ref_id = -1; } if (cr->tlen == INT_MIN) cr->tlen = 0; // Just incase } } static char *md5_print(unsigned char *md5, char *out) { int i; for (i = 0; i < 16; i++) { out[i*2+0] = "0123456789abcdef"[md5[i]>>4]; out[i*2+1] = "0123456789abcdef"[md5[i]&15]; } out[32] = 0; return out; } /* * Decode an entire slice from container blocks. Fills out s->crecs[] array. * Returns 0 on success * -1 on failure */ int cram_decode_slice(cram_fd *fd, cram_container *c, cram_slice *s, SAM_hdr *bfd) { cram_block *blk = s->block[0]; int32_t bf, ref_id; unsigned char cf; int out_sz, r = 0; int rec; char *seq = NULL, *qual = NULL; int unknown_rg = -1; int embed_ref; char **refs = NULL; uint32_t ds; if (cram_dependent_data_series(fd, c->comp_hdr, s) != 0) return -1; ds = c->comp_hdr->data_series; blk->bit = 7; // MSB first /* Look for unknown RG, added as last by Java CRAM? */ if (bfd->nrg > 0 && !strcmp(bfd->rg[bfd->nrg-1].name, "UNKNOWN")) unknown_rg = bfd->nrg-1; if (blk->content_type != CORE) return -1; if (s->crecs) free(s->crecs); if (!(s->crecs = malloc(s->hdr->num_records * sizeof(*s->crecs)))) return -1; ref_id = s->hdr->ref_seq_id; embed_ref = s->hdr->ref_base_id >= 0 ? 1 : 0; if (ref_id >= 0) { if (embed_ref) { cram_block *b; if (s->hdr->ref_base_id < 0) { fprintf(stderr, "No reference specified and " "no embedded reference is available.\n"); return -1; } if (!s->block_by_id || !(b = s->block_by_id[s->hdr->ref_base_id])) return -1; cram_uncompress_block(b); s->ref = (char *)BLOCK_DATA(b); s->ref_start = s->hdr->ref_seq_start; s->ref_end = s->hdr->ref_seq_start + s->hdr->ref_seq_span-1; } else if (!fd->no_ref) { //// Avoid Java cramtools bug by loading entire reference seq //s->ref = cram_get_ref(fd, s->hdr->ref_seq_id, 1, 0); //s->ref_start = 1; if (fd->required_fields & SAM_SEQ) s->ref = cram_get_ref(fd, s->hdr->ref_seq_id, s->hdr->ref_seq_start, s->hdr->ref_seq_start + s->hdr->ref_seq_span -1); s->ref_start = s->hdr->ref_seq_start; s->ref_end = s->hdr->ref_seq_start + s->hdr->ref_seq_span-1; /* Sanity check */ if (s->ref_start < 0) { fprintf(stderr, "Slice starts before base 1.\n"); s->ref_start = 0; } pthread_mutex_lock(&fd->ref_lock); pthread_mutex_lock(&fd->refs->lock); if ((fd->required_fields & SAM_SEQ) && s->ref_end > fd->refs->ref_id[ref_id]->length) { fprintf(stderr, "Slice ends beyond reference end.\n"); s->ref_end = fd->refs->ref_id[ref_id]->length; } pthread_mutex_unlock(&fd->refs->lock); pthread_mutex_unlock(&fd->ref_lock); } } if ((fd->required_fields & SAM_SEQ) && s->ref == NULL && s->hdr->ref_seq_id >= 0 && !fd->no_ref) { fprintf(stderr, "Unable to fetch reference #%d %d..%d\n", s->hdr->ref_seq_id, s->hdr->ref_seq_start, s->hdr->ref_seq_start + s->hdr->ref_seq_span-1); return -1; } if (CRAM_MAJOR_VERS(fd->version) != 1 && (fd->required_fields & SAM_SEQ) && s->hdr->ref_seq_id >= 0 && !fd->ignore_md5 && memcmp(s->hdr->md5, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0", 16)) { MD5_CTX md5; unsigned char digest[16]; if (s->ref && s->hdr->ref_seq_id >= 0) { int start, len; if (s->hdr->ref_seq_start >= s->ref_start) { start = s->hdr->ref_seq_start - s->ref_start; } else { fprintf(stderr, "Slice starts before base 1.\n"); start = 0; } if (s->hdr->ref_seq_span <= s->ref_end - s->ref_start + 1) { len = s->hdr->ref_seq_span; } else { fprintf(stderr, "Slice ends beyond reference end.\n"); len = s->ref_end - s->ref_start + 1; } MD5_Init(&md5); if (start + len > s->ref_end - s->ref_start + 1) len = s->ref_end - s->ref_start + 1 - start; if (len >= 0) MD5_Update(&md5, s->ref + start, len); MD5_Final(digest, &md5); } else if (!s->ref && s->hdr->ref_base_id >= 0) { cram_block *b; if (s->block_by_id && (b = s->block_by_id[s->hdr->ref_base_id])) { MD5_Init(&md5); MD5_Update(&md5, b->data, b->uncomp_size); MD5_Final(digest, &md5); } } if ((!s->ref && s->hdr->ref_base_id < 0) || memcmp(digest, s->hdr->md5, 16) != 0) { char M[33]; fprintf(stderr, "ERROR: md5sum reference mismatch for ref " "%d pos %d..%d\n", ref_id, s->ref_start, s->ref_end); fprintf(stderr, "CRAM: %s\n", md5_print(s->hdr->md5, M)); fprintf(stderr, "Ref : %s\n", md5_print(digest, M)); return -1; } } if (ref_id == -2) { pthread_mutex_lock(&fd->ref_lock); pthread_mutex_lock(&fd->refs->lock); refs = calloc(fd->refs->nref, sizeof(char *)); pthread_mutex_unlock(&fd->refs->lock); pthread_mutex_unlock(&fd->ref_lock); if (!refs) return -1; } for (rec = 0; rec < s->hdr->num_records; rec++) { cram_record *cr = &s->crecs[rec]; //fprintf(stderr, "Decode seq %d, %d/%d\n", rec, blk->byte, blk->bit); cr->s = s; out_sz = 1; /* decode 1 item */ if (ds & CRAM_BF) { if (!c->comp_hdr->codecs[DS_BF]) return -1; r |= c->comp_hdr->codecs[DS_BF] ->decode(s, c->comp_hdr->codecs[DS_BF], blk, (char *)&bf, &out_sz); if (bf < 0 || bf >= sizeof(fd->bam_flag_swap)/sizeof(*fd->bam_flag_swap)) return -1; bf = fd->bam_flag_swap[bf]; cr->flags = bf; } else { cr->flags = bf = 0x4; // unmapped } if (ds & CRAM_CF) { if (CRAM_MAJOR_VERS(fd->version) == 1) { /* CF is byte in 1.0, int32 in 2.0 */ if (!c->comp_hdr->codecs[DS_CF]) return -1; r |= c->comp_hdr->codecs[DS_CF] ->decode(s, c->comp_hdr->codecs[DS_CF], blk, (char *)&cf, &out_sz); cr->cram_flags = cf; } else { if (!c->comp_hdr->codecs[DS_CF]) return -1; r |= c->comp_hdr->codecs[DS_CF] ->decode(s, c->comp_hdr->codecs[DS_CF], blk, (char *)&cr->cram_flags, &out_sz); cf = cr->cram_flags; } } if (CRAM_MAJOR_VERS(fd->version) != 1 && ref_id == -2) { if (ds & CRAM_RI) { if (!c->comp_hdr->codecs[DS_RI]) return -1; r |= c->comp_hdr->codecs[DS_RI] ->decode(s, c->comp_hdr->codecs[DS_RI], blk, (char *)&cr->ref_id, &out_sz); if ((fd->required_fields & (SAM_SEQ|SAM_TLEN)) && cr->ref_id >= 0) { if (!fd->no_ref) { if (!refs[cr->ref_id]) refs[cr->ref_id] = cram_get_ref(fd, cr->ref_id, 1, 0); s->ref = refs[cr->ref_id]; } s->ref_start = 1; pthread_mutex_lock(&fd->ref_lock); pthread_mutex_lock(&fd->refs->lock); s->ref_end = fd->refs->ref_id[cr->ref_id]->length; pthread_mutex_unlock(&fd->refs->lock); pthread_mutex_unlock(&fd->ref_lock); } } else { cr->ref_id = 0; } } else { cr->ref_id = ref_id; // Forced constant in CRAM 1.0 } if (ds & CRAM_RL) { if (!c->comp_hdr->codecs[DS_RL]) return -1; r |= c->comp_hdr->codecs[DS_RL] ->decode(s, c->comp_hdr->codecs[DS_RL], blk, (char *)&cr->len, &out_sz); } if (ds & CRAM_AP) { if (!c->comp_hdr->codecs[DS_AP]) return -1; r |= c->comp_hdr->codecs[DS_AP] ->decode(s, c->comp_hdr->codecs[DS_AP], blk, (char *)&cr->apos, &out_sz); if (c->comp_hdr->AP_delta) cr->apos += s->last_apos; s->last_apos= cr->apos; } else { cr->apos = c->ref_seq_start; } if (ds & CRAM_RG) { if (!c->comp_hdr->codecs[DS_RG]) return -1; r |= c->comp_hdr->codecs[DS_RG] ->decode(s, c->comp_hdr->codecs[DS_RG], blk, (char *)&cr->rg, &out_sz); if (cr->rg == unknown_rg) cr->rg = -1; } else { cr->rg = -1; } cr->name_len = 0; if (c->comp_hdr->read_names_included) { int32_t out_sz2 = 1; // Read directly into name cram_block cr->name = BLOCK_SIZE(s->name_blk); if (ds & CRAM_RN) { if (!c->comp_hdr->codecs[DS_RN]) return -1; r |= c->comp_hdr->codecs[DS_RN] ->decode(s, c->comp_hdr->codecs[DS_RN], blk, (char *)s->name_blk, &out_sz2); cr->name_len = out_sz2; } } cr->mate_pos = 0; cr->mate_line = -1; cr->mate_ref_id = -1; if ((ds & CRAM_CF) && (cf & CRAM_FLAG_DETACHED)) { if (ds & CRAM_MF) { if (CRAM_MAJOR_VERS(fd->version) == 1) { /* MF is byte in 1.0, int32 in 2.0 */ unsigned char mf; if (!c->comp_hdr->codecs[DS_MF]) return -1; r |= c->comp_hdr->codecs[DS_MF] ->decode(s, c->comp_hdr->codecs[DS_MF], blk, (char *)&mf, &out_sz); cr->mate_flags = mf; } else { if (!c->comp_hdr->codecs[DS_MF]) return -1; r |= c->comp_hdr->codecs[DS_MF] ->decode(s, c->comp_hdr->codecs[DS_MF], blk, (char *)&cr->mate_flags, &out_sz); } } else { cr->mate_flags = 0; } if (!c->comp_hdr->read_names_included) { int32_t out_sz2 = 1; // Read directly into name cram_block cr->name = BLOCK_SIZE(s->name_blk); if (ds & CRAM_RN) { if (!c->comp_hdr->codecs[DS_RN]) return -1; r |= c->comp_hdr->codecs[DS_RN] ->decode(s, c->comp_hdr->codecs[DS_RN], blk, (char *)s->name_blk, &out_sz2); cr->name_len = out_sz2; } } if (ds & CRAM_NS) { if (!c->comp_hdr->codecs[DS_NS]) return -1; r |= c->comp_hdr->codecs[DS_NS] ->decode(s, c->comp_hdr->codecs[DS_NS], blk, (char *)&cr->mate_ref_id, &out_sz); } // Skip as mate_ref of "*" is legit. It doesn't mean unmapped, just unknown. // if (cr->mate_ref_id == -1 && cr->flags & 0x01) { // /* Paired, but unmapped */ // cr->flags |= BAM_FMUNMAP; // } if (ds & CRAM_NP) { if (!c->comp_hdr->codecs[DS_NP]) return -1; r |= c->comp_hdr->codecs[DS_NP] ->decode(s, c->comp_hdr->codecs[DS_NP], blk, (char *)&cr->mate_pos, &out_sz); } if (ds & CRAM_TS) { if (!c->comp_hdr->codecs[DS_TS]) return -1; r |= c->comp_hdr->codecs[DS_TS] ->decode(s, c->comp_hdr->codecs[DS_TS], blk, (char *)&cr->tlen, &out_sz); } else { cr->tlen = INT_MIN; } } else if ((ds & CRAM_CF) && (cf & CRAM_FLAG_MATE_DOWNSTREAM)) { if (ds & CRAM_NF) { if (!c->comp_hdr->codecs[DS_NF]) return -1; r |= c->comp_hdr->codecs[DS_NF] ->decode(s, c->comp_hdr->codecs[DS_NF], blk, (char *)&cr->mate_line, &out_sz); cr->mate_line += rec + 1; //cr->name_len = sprintf(name, "%d", name_id++); //cr->name = DSTRING_LEN(name_ds); //dstring_nappend(name_ds, name, cr->name_len); cr->mate_ref_id = -1; cr->tlen = INT_MIN; cr->mate_pos = 0; } else { cr->mate_flags = 0; cr->tlen = INT_MIN; } } else { cr->mate_flags = 0; cr->tlen = INT_MIN; } /* else if (!name[0]) { //name[0] = '?'; name[1] = 0; //cr->name_len = 1; //cr->name= DSTRING_LEN(s->name_ds); //dstring_nappend(s->name_ds, "?", 1); cr->mate_ref_id = -1; cr->tlen = 0; cr->mate_pos = 0; } */ /* Auxiliary tags */ if (CRAM_MAJOR_VERS(fd->version) == 1) r |= cram_decode_aux_1_0(c, s, blk, cr); else r |= cram_decode_aux(c, s, blk, cr); /* Fake up dynamic string growth and appending */ if (ds & CRAM_RL) { cr->seq = BLOCK_SIZE(s->seqs_blk); BLOCK_GROW(s->seqs_blk, cr->len); seq = (char *)BLOCK_END(s->seqs_blk); BLOCK_SIZE(s->seqs_blk) += cr->len; if (!seq) return -1; cr->qual = BLOCK_SIZE(s->qual_blk); BLOCK_GROW(s->qual_blk, cr->len); qual = (char *)BLOCK_END(s->qual_blk); BLOCK_SIZE(s->qual_blk) += cr->len; if (!s->ref) memset(seq, '=', cr->len); } if (!(bf & BAM_FUNMAP)) { /* Decode sequence and generate CIGAR */ if (ds & (CRAM_SEQ | CRAM_MQ)) { r |= cram_decode_seq(fd, c, s, blk, cr, bfd, cf, seq, qual); } else { cr->cigar = 0; cr->ncigar = 0; cr->aend = cr->apos; cr->mqual = 0; } } else { int out_sz2 = cr->len; //puts("Unmapped"); cr->cigar = 0; cr->ncigar = 0; cr->aend = cr->apos; cr->mqual = 0; if (ds & CRAM_BA) { if (!c->comp_hdr->codecs[DS_BA]) return -1; r |= c->comp_hdr->codecs[DS_BA] ->decode(s, c->comp_hdr->codecs[DS_BA], blk, (char *)seq, &out_sz2); } if ((ds & CRAM_CF) && (cf & CRAM_FLAG_PRESERVE_QUAL_SCORES)) { out_sz2 = cr->len; if (ds & CRAM_QS) { if (!c->comp_hdr->codecs[DS_QS]) return -1; r |= c->comp_hdr->codecs[DS_QS] ->decode(s, c->comp_hdr->codecs[DS_QS], blk, qual, &out_sz2); } } else { if (ds & CRAM_RL) memset(qual, 30, cr->len); } } } pthread_mutex_lock(&fd->ref_lock); if (refs) { int i; for (i = 0; i < fd->refs->nref; i++) { if (refs[i]) cram_ref_decr(fd->refs, i); } free(refs); } else if (ref_id >= 0 && s->ref != fd->ref_free) { cram_ref_decr(fd->refs, ref_id); } pthread_mutex_unlock(&fd->ref_lock); /* Resolve mate pair cross-references between recs within this slice */ cram_decode_slice_xref(s, fd->required_fields); return r; } typedef struct { cram_fd *fd; cram_container *c; cram_slice *s; SAM_hdr *h; int exit_code; } cram_decode_job; void *cram_decode_slice_thread(void *arg) { cram_decode_job *j = (cram_decode_job *)arg; j->exit_code = cram_decode_slice(j->fd, j->c, j->s, j->h); return j; } /* * Spawn a multi-threaded version of cram_decode_slice(). */ int cram_decode_slice_mt(cram_fd *fd, cram_container *c, cram_slice *s, SAM_hdr *bfd) { cram_decode_job *j; int nonblock; if (!fd->pool) return cram_decode_slice(fd, c, s, bfd); if (!(j = malloc(sizeof(*j)))) return -1; j->fd = fd; j->c = c; j->s = s; j->h = bfd; nonblock = t_pool_results_queue_sz(fd->rqueue) ? 1 : 0; if (-1 == t_pool_dispatch2(fd->pool, fd->rqueue, cram_decode_slice_thread, j, nonblock)) { /* Would block */ fd->job_pending = j; } else { fd->job_pending = NULL; } // flush too return 0; } /* ---------------------------------------------------------------------- * CRAM sequence iterators. */ /* * Converts a cram in-memory record into a bam in-memory record. We * pass a pointer to a bam_seq_t pointer along with the a pointer to * the allocated size. These can initially be pointers to NULL and zero. * * This function will reallocate the bam buffer as required and update * (*bam)->alloc accordingly, allowing it to be used within a loop * efficiently without needing to allocate new bam objects over and * over again. * * Returns the used size of the bam record on success * -1 on failure. */ static int cram_to_bam(SAM_hdr *bfd, cram_fd *fd, cram_slice *s, cram_record *cr, int rec, bam_seq_t **bam) { int bam_idx, rg_len; char name_a[1024], *name; int name_len; char *aux, *aux_orig; char *seq, *qual; /* Assign names if not explicitly set */ if (fd->required_fields & SAM_QNAME) { if (cr->name_len) { name = (char *)BLOCK_DATA(s->name_blk) + cr->name; name_len = cr->name_len; } else { name = name_a; name_len = strlen(fd->prefix); memcpy(name, fd->prefix, name_len); name += name_len; *name++ = ':'; if (cr->mate_line >= 0 && cr->mate_line < rec) name = (char *)append_uint64((unsigned char *)name, s->hdr->record_counter + cr->mate_line + 1); else name = (char *)append_uint64((unsigned char *)name, s->hdr->record_counter + rec + 1); name_len = name - name_a; name = name_a; } } else { name = "?"; name_len = 1; } /* Generate BAM record */ if (cr->rg < -1 || cr->rg >= bfd->nrg) return -1; rg_len = (cr->rg != -1) ? bfd->rg[cr->rg].name_len + 4 : 0; if (fd->required_fields & (SAM_SEQ | SAM_QUAL)) { if (!BLOCK_DATA(s->seqs_blk)) return -1; seq = (char *)BLOCK_DATA(s->seqs_blk) + cr->seq; } else { seq = "*"; cr->len = 1; } if (fd->required_fields & SAM_QUAL) { if (!BLOCK_DATA(s->qual_blk)) return -1; qual = (char *)BLOCK_DATA(s->qual_blk) + cr->qual; } else { qual = NULL; } bam_idx = bam_construct_seq(bam, cr->aux_size + rg_len, name, name_len, cr->flags, cr->ref_id, cr->apos, cr->aend, cr->mqual, cr->ncigar, &s->cigar[cr->cigar], cr->mate_ref_id, cr->mate_pos, cr->tlen, cr->len, seq, qual); if (bam_idx == -1) return -1; aux = aux_orig = (char *)bam_aux(*bam); /* Auxiliary strings */ if (cr->aux_size != 0) { memcpy(aux, BLOCK_DATA(s->aux_blk) + cr->aux, cr->aux_size); aux += cr->aux_size; } /* RG:Z: */ if (cr->rg != -1) { int len = bfd->rg[cr->rg].name_len; *aux++ = 'R'; *aux++ = 'G'; *aux++ = 'Z'; memcpy(aux, bfd->rg[cr->rg].name, len); aux += len; *aux++ = 0; } return bam_idx + (aux - aux_orig); } /* * Here be dragons! The multi-threading code in this is crufty beyond belief. */ static cram_slice *cram_next_slice(cram_fd *fd, cram_container **cp) { cram_container *c; cram_slice *s = NULL; if (!(c = fd->ctr)) { // Load first container. do { if (!(c = fd->ctr = cram_read_container(fd))) return NULL; } while (c->length == 0); /* * The first container may be a result of a sub-range query. * In which case it may still not be the optimal starting point * due to skipped containers/slices in the index. */ if (fd->range.refid != -2) { while (c->ref_seq_id != -2 && (c->ref_seq_id < fd->range.refid || c->ref_seq_start + c->ref_seq_span-1 < fd->range.start)) { if (0 != cram_seek(fd, c->length, SEEK_CUR)) return NULL; cram_free_container(fd->ctr); do { if (!(c = fd->ctr = cram_read_container(fd))) return NULL; } while (c->length == 0); } if (c->ref_seq_id != -2 && c->ref_seq_id != fd->range.refid) return NULL; } if (!(c->comp_hdr_block = cram_read_block(fd))) return NULL; if (c->comp_hdr_block->content_type != COMPRESSION_HEADER) return NULL; c->comp_hdr = cram_decode_compression_header(fd, c->comp_hdr_block); if (!c->comp_hdr) return NULL; if (!c->comp_hdr->AP_delta) { pthread_mutex_lock(&fd->ref_lock); fd->unsorted = 1; pthread_mutex_unlock(&fd->ref_lock); } } if ((s = c->slice)) { c->slice = NULL; cram_free_slice(s); s = NULL; } if (c->curr_slice == c->max_slice) { cram_free_container(c); c = NULL; } /* Sorry this is so contorted! */ for (;;) { if (fd->job_pending) { cram_decode_job *j = (cram_decode_job *)fd->job_pending; c = j->c; s = j->s; free(fd->job_pending); fd->job_pending = NULL; } else if (!fd->ooc) { empty_container: if (!c || c->curr_slice == c->max_slice) { // new container do { if (!(c = fd->ctr = cram_read_container(fd))) { if (fd->pool) { fd->ooc = 1; break; } return NULL; } } while (c->length == 0); if (fd->ooc) break; /* Skip containers not yet spanning our range */ if (fd->range.refid != -2 && c->ref_seq_id != -2) { fd->required_fields |= SAM_POS; if (c->ref_seq_id != fd->range.refid) { cram_free_container(c); fd->ctr = NULL; fd->ooc = 1; fd->eof = 1; break; } if (c->ref_seq_start > fd->range.end) { cram_free_container(c); fd->ctr = NULL; fd->ooc = 1; fd->eof = 1; break; } if (c->ref_seq_start + c->ref_seq_span-1 < fd->range.start) { c->curr_rec = c->max_rec; c->curr_slice = c->max_slice; cram_seek(fd, c->length, SEEK_CUR); cram_free_container(c); c = NULL; continue; } } if (!(c->comp_hdr_block = cram_read_block(fd))) return NULL; if (c->comp_hdr_block->content_type != COMPRESSION_HEADER) return NULL; c->comp_hdr = cram_decode_compression_header(fd, c->comp_hdr_block); if (!c->comp_hdr) return NULL; if (!c->comp_hdr->AP_delta) { pthread_mutex_lock(&fd->ref_lock); fd->unsorted = 1; pthread_mutex_unlock(&fd->ref_lock); } } if (c->num_records == 0) { cram_free_container(c); c = NULL; goto empty_container; } if (!(s = c->slice = cram_read_slice(fd))) return NULL; c->curr_slice++; c->curr_rec = 0; c->max_rec = s->hdr->num_records; s->last_apos = s->hdr->ref_seq_start; /* Skip slices not yet spanning our range */ if (fd->range.refid != -2 && s->hdr->ref_seq_id != -2) { if (s->hdr->ref_seq_id != fd->range.refid) { fd->eof = 1; cram_free_slice(s); c->slice = NULL; return NULL; } if (s->hdr->ref_seq_start > fd->range.end) { fd->eof = 1; cram_free_slice(s); c->slice = NULL; return NULL; } if (s->hdr->ref_seq_start + s->hdr->ref_seq_span-1 < fd->range.start) { cram_free_slice(s); c->slice = NULL; cram_free_container(c); c = NULL; continue; } } } /* Test decoding of 1st seq */ if (!c || !s) break; if (cram_decode_slice_mt(fd, c, s, fd->header) != 0) { // if (cram_decode_slice(fd, c, s, fd->header) != 0) { fprintf(stderr, "Failure to decode slice\n"); cram_free_slice(s); c->slice = NULL; return NULL; } if (!fd->pool || fd->job_pending) break; // Push it a bit far, to qsize in queue rather than pending arrival, // as cram tends to be a bit bursty in decode timings. if (t_pool_results_queue_len(fd->rqueue) > fd->pool->qsize) break; } if (fd->pool) { t_pool_result *res; cram_decode_job *j; // fprintf(stderr, "Thread pool len = %d, %d\n", // t_pool_results_queue_len(fd->rqueue), // t_pool_results_queue_sz(fd->rqueue)); if (fd->ooc && t_pool_results_queue_empty(fd->rqueue)) return NULL; res = t_pool_next_result_wait(fd->rqueue); if (!res || !res->data) { fprintf(stderr, "t_pool_next_result failure\n"); return NULL; } j = (cram_decode_job *)res->data; c = j->c; s = j->s; fd->ctr = c; t_pool_delete_result(res, 1); } *cp = c; return s; } /* * Read the next cram record and return it. * Note that to decode cram_record the caller will need to look up some data * in the current slice, pointed to by fd->ctr->slice. This is valid until * the next call to cram_get_seq (which may invalidate it). * * Returns record pointer on success (do not free) * NULL on failure */ cram_record *cram_get_seq(cram_fd *fd) { cram_container *c; cram_slice *s; for (;;) { c = fd->ctr; if (c && c->slice && c->curr_rec < c->max_rec) { s = c->slice; } else { if (!(s = cram_next_slice(fd, &c))) return NULL; } if (fd->range.refid != -2) { if (s->crecs[c->curr_rec].ref_id < fd->range.refid) { c->curr_rec++; continue; } if (s->crecs[c->curr_rec].ref_id != fd->range.refid) { fd->eof = 1; cram_free_slice(s); c->slice = NULL; return NULL; } if (s->crecs[c->curr_rec].apos > fd->range.end) { fd->eof = 1; cram_free_slice(s); c->slice = NULL; return NULL; } if (s->crecs[c->curr_rec].aend < fd->range.start) { c->curr_rec++; continue; } } break; } fd->ctr = c; c->slice = s; return &s->crecs[c->curr_rec++]; } /* * Read the next cram record and convert it to a bam_seq_t struct. * * Returns 0 on success * -1 on EOF or failure (check fd->err) */ int cram_get_bam_seq(cram_fd *fd, bam_seq_t **bam) { cram_record *cr; cram_container *c; cram_slice *s; if (!(cr = cram_get_seq(fd))) return -1; c = fd->ctr; s = c->slice; return cram_to_bam(fd->header, fd, s, cr, c->curr_rec-1, bam); } htslib-1.2.1/cram/cram_decode.h000066400000000000000000000066731246417267700163540ustar00rootroot00000000000000/* Copyright (c) 2012-2013 Genome Research Ltd. Author: James Bonfield Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. 3. Neither the names Genome Research Ltd and Wellcome Trust Sanger Institute nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY GENOME RESEARCH LTD AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL GENOME RESEARCH LTD OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ /*! \file * Include cram.h instead. * * This is an internal part of the CRAM system and is automatically included * when you #include cram.h. * * Implements the decoding portion of CRAM I/O. Also see * cram_codecs.[ch] for the actual encoding functions themselves. */ #ifndef _CRAM_READ_H_ #define _CRAM_READ_H_ #ifdef __cplusplus extern "C" { #endif /* ---------------------------------------------------------------------- * CRAM sequence iterators. */ /*! Read the next cram record and return it as a cram_record. * * Note that to decode cram_record the caller will need to look up some data * in the current slice, pointed to by fd->ctr->slice. This is valid until * the next call to cram_get_seq (which may invalidate it). * * @return * Returns record pointer on success (do not free); * NULL on failure */ cram_record *cram_get_seq(cram_fd *fd); /*! Read the next cram record and convert it to a bam_seq_t struct. * * @return * Returns 0 on success; * -1 on EOF or failure (check fd->err) */ int cram_get_bam_seq(cram_fd *fd, bam_seq_t **bam); /* ---------------------------------------------------------------------- * Internal functions */ /*! INTERNAL: * Decodes a CRAM block compression header. * * @return * Returns header ptr on success; * NULL on failure */ cram_block_compression_hdr *cram_decode_compression_header(cram_fd *fd, cram_block *b); /*! INTERNAL: * Decodes a CRAM (un)mapped slice header block. * * @return * Returns slice header ptr on success; * NULL on failure */ cram_block_slice_hdr *cram_decode_slice_header(cram_fd *fd, cram_block *b); /*! INTERNAL: * Decode an entire slice from container blocks. Fills out s->crecs[] array. * * @return * Returns 0 on success; * -1 on failure */ int cram_decode_slice(cram_fd *fd, cram_container *c, cram_slice *s, SAM_hdr *hdr); #ifdef __cplusplus } #endif #endif htslib-1.2.1/cram/cram_encode.c000066400000000000000000002506401246417267700163540ustar00rootroot00000000000000/* Copyright (c) 2012-2013 Genome Research Ltd. Author: James Bonfield Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. 3. Neither the names Genome Research Ltd and Wellcome Trust Sanger Institute nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY GENOME RESEARCH LTD AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL GENOME RESEARCH LTD OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ #ifdef HAVE_CONFIG_H #include "io_lib_config.h" #endif #include #include #include #include #include #include #include #include #include #include #include "cram/cram.h" #include "cram/os.h" #include "cram/md5.h" #define Z_CRAM_STRAT Z_FILTERED //#define Z_CRAM_STRAT Z_RLE //#define Z_CRAM_STRAT Z_HUFFMAN_ONLY //#define Z_CRAM_STRAT Z_DEFAULT_STRATEGY static int process_one_read(cram_fd *fd, cram_container *c, cram_slice *s, cram_record *cr, bam_seq_t *b, int rnum); /* * Returns index of val into key. * Basically strchr(key, val)-key; */ static int sub_idx(char *key, char val) { int i; for (i = 0; *key && *key++ != val; i++); return i; } /* * Encodes a compression header block into a generic cram_block structure. * * Returns cram_block ptr on success * NULL on failure */ cram_block *cram_encode_compression_header(cram_fd *fd, cram_container *c, cram_block_compression_hdr *h) { cram_block *cb = cram_new_block(COMPRESSION_HEADER, 0); cram_block *map = cram_new_block(COMPRESSION_HEADER, 0); int i, mc; if (!cb || !map) return NULL; /* * This is a concatenation of several blocks of data: * header + landmarks, preservation map, read encoding map, and the tag * encoding map. * All 4 are variable sized and we need to know how large these are * before creating the compression header itself as this starts with * the total size (stored as a variable length string). */ // Duplicated from container itself, and removed in 1.1 if (CRAM_MAJOR_VERS(fd->version) == 1) { itf8_put_blk(cb, h->ref_seq_id); itf8_put_blk(cb, h->ref_seq_start); itf8_put_blk(cb, h->ref_seq_span); itf8_put_blk(cb, h->num_records); itf8_put_blk(cb, h->num_landmarks); for (i = 0; i < h->num_landmarks; i++) { itf8_put_blk(cb, h->landmark[i]); } } /* Create in-memory preservation map */ /* FIXME: should create this when we create the container */ { khint_t k; int r; if (!(h->preservation_map = kh_init(map))) return NULL; k = kh_put(map, h->preservation_map, "RN", &r); if (-1 == r) return NULL; kh_val(h->preservation_map, k).i = 1; if (CRAM_MAJOR_VERS(fd->version) == 1) { k = kh_put(map, h->preservation_map, "PI", &r); if (-1 == r) return NULL; kh_val(h->preservation_map, k).i = 0; k = kh_put(map, h->preservation_map, "UI", &r); if (-1 == r) return NULL; kh_val(h->preservation_map, k).i = 1; k = kh_put(map, h->preservation_map, "MI", &r); if (-1 == r) return NULL; kh_val(h->preservation_map, k).i = 1; } else { // Technically SM was in 1.0, but wasn't in Java impl. k = kh_put(map, h->preservation_map, "SM", &r); if (-1 == r) return NULL; kh_val(h->preservation_map, k).i = 0; k = kh_put(map, h->preservation_map, "TD", &r); if (-1 == r) return NULL; kh_val(h->preservation_map, k).i = 0; k = kh_put(map, h->preservation_map, "AP", &r); if (-1 == r) return NULL; kh_val(h->preservation_map, k).i = c->pos_sorted; if (fd->no_ref || fd->embed_ref) { // Reference Required == No k = kh_put(map, h->preservation_map, "RR", &r); if (-1 == r) return NULL; kh_val(h->preservation_map, k).i = 0; } } } /* Encode preservation map; could collapse this and above into one */ mc = 0; BLOCK_SIZE(map) = 0; if (h->preservation_map) { khint_t k; for (k = kh_begin(h->preservation_map); k != kh_end(h->preservation_map); k++) { const char *key; khash_t(map) *pmap = h->preservation_map; if (!kh_exist(pmap, k)) continue; key = kh_key(pmap, k); BLOCK_APPEND(map, key, 2); switch(CRAM_KEY(key[0], key[1])) { case CRAM_KEY('M','I'): BLOCK_APPEND_CHAR(map, kh_val(pmap, k).i); break; case CRAM_KEY('U','I'): BLOCK_APPEND_CHAR(map, kh_val(pmap, k).i); break; case CRAM_KEY('P','I'): BLOCK_APPEND_CHAR(map, kh_val(pmap, k).i); break; case CRAM_KEY('A','P'): BLOCK_APPEND_CHAR(map, kh_val(pmap, k).i); break; case CRAM_KEY('R','N'): BLOCK_APPEND_CHAR(map, kh_val(pmap, k).i); break; case CRAM_KEY('R','R'): BLOCK_APPEND_CHAR(map, kh_val(pmap, k).i); break; case CRAM_KEY('S','M'): { char smat[5], *mp = smat; *mp++ = (sub_idx("CGTN", h->substitution_matrix[0][0]) << 6) | (sub_idx("CGTN", h->substitution_matrix[0][1]) << 4) | (sub_idx("CGTN", h->substitution_matrix[0][2]) << 2) | (sub_idx("CGTN", h->substitution_matrix[0][3]) << 0); *mp++ = (sub_idx("AGTN", h->substitution_matrix[1][0]) << 6) | (sub_idx("AGTN", h->substitution_matrix[1][1]) << 4) | (sub_idx("AGTN", h->substitution_matrix[1][2]) << 2) | (sub_idx("AGTN", h->substitution_matrix[1][3]) << 0); *mp++ = (sub_idx("ACTN", h->substitution_matrix[2][0]) << 6) | (sub_idx("ACTN", h->substitution_matrix[2][1]) << 4) | (sub_idx("ACTN", h->substitution_matrix[2][2]) << 2) | (sub_idx("ACTN", h->substitution_matrix[2][3]) << 0); *mp++ = (sub_idx("ACGN", h->substitution_matrix[3][0]) << 6) | (sub_idx("ACGN", h->substitution_matrix[3][1]) << 4) | (sub_idx("ACGN", h->substitution_matrix[3][2]) << 2) | (sub_idx("ACGN", h->substitution_matrix[3][3]) << 0); *mp++ = (sub_idx("ACGT", h->substitution_matrix[4][0]) << 6) | (sub_idx("ACGT", h->substitution_matrix[4][1]) << 4) | (sub_idx("ACGT", h->substitution_matrix[4][2]) << 2) | (sub_idx("ACGT", h->substitution_matrix[4][3]) << 0); BLOCK_APPEND(map, smat, 5); break; } case CRAM_KEY('T','D'): { itf8_put_blk(map, BLOCK_SIZE(h->TD_blk)); BLOCK_APPEND(map, BLOCK_DATA(h->TD_blk), BLOCK_SIZE(h->TD_blk)); break; } default: fprintf(stderr, "Unknown preservation key '%.2s'\n", key); break; } mc++; } } itf8_put_blk(cb, BLOCK_SIZE(map) + itf8_size(mc)); itf8_put_blk(cb, mc); BLOCK_APPEND(cb, BLOCK_DATA(map), BLOCK_SIZE(map)); /* rec encoding map */ mc = 0; BLOCK_SIZE(map) = 0; if (h->codecs[DS_BF]) { if (-1 == h->codecs[DS_BF]->store(h->codecs[DS_BF], map, "BF", fd->version)) return NULL; mc++; } if (h->codecs[DS_CF]) { if (-1 == h->codecs[DS_CF]->store(h->codecs[DS_CF], map, "CF", fd->version)) return NULL; mc++; } if (h->codecs[DS_RL]) { if (-1 == h->codecs[DS_RL]->store(h->codecs[DS_RL], map, "RL", fd->version)) return NULL; mc++; } if (h->codecs[DS_AP]) { if (-1 == h->codecs[DS_AP]->store(h->codecs[DS_AP], map, "AP", fd->version)) return NULL; mc++; } if (h->codecs[DS_RG]) { if (-1 == h->codecs[DS_RG]->store(h->codecs[DS_RG], map, "RG", fd->version)) return NULL; mc++; } if (h->codecs[DS_MF]) { if (-1 == h->codecs[DS_MF]->store(h->codecs[DS_MF], map, "MF", fd->version)) return NULL; mc++; } if (h->codecs[DS_NS]) { if (-1 == h->codecs[DS_NS]->store(h->codecs[DS_NS], map, "NS", fd->version)) return NULL; mc++; } if (h->codecs[DS_NP]) { if (-1 == h->codecs[DS_NP]->store(h->codecs[DS_NP], map, "NP", fd->version)) return NULL; mc++; } if (h->codecs[DS_TS]) { if (-1 == h->codecs[DS_TS]->store(h->codecs[DS_TS], map, "TS", fd->version)) return NULL; mc++; } if (h->codecs[DS_NF]) { if (-1 == h->codecs[DS_NF]->store(h->codecs[DS_NF], map, "NF", fd->version)) return NULL; mc++; } if (h->codecs[DS_TC]) { if (-1 == h->codecs[DS_TC]->store(h->codecs[DS_TC], map, "TC", fd->version)) return NULL; mc++; } if (h->codecs[DS_TN]) { if (-1 == h->codecs[DS_TN]->store(h->codecs[DS_TN], map, "TN", fd->version)) return NULL; mc++; } if (h->codecs[DS_TL]) { if (-1 == h->codecs[DS_TL]->store(h->codecs[DS_TL], map, "TL", fd->version)) return NULL; mc++; } if (h->codecs[DS_FN]) { if (-1 == h->codecs[DS_FN]->store(h->codecs[DS_FN], map, "FN", fd->version)) return NULL; mc++; } if (h->codecs[DS_FC]) { if (-1 == h->codecs[DS_FC]->store(h->codecs[DS_FC], map, "FC", fd->version)) return NULL; mc++; } if (h->codecs[DS_FP]) { if (-1 == h->codecs[DS_FP]->store(h->codecs[DS_FP], map, "FP", fd->version)) return NULL; mc++; } if (h->codecs[DS_BS]) { if (-1 == h->codecs[DS_BS]->store(h->codecs[DS_BS], map, "BS", fd->version)) return NULL; mc++; } if (h->codecs[DS_IN]) { if (-1 == h->codecs[DS_IN]->store(h->codecs[DS_IN], map, "IN", fd->version)) return NULL; mc++; } if (h->codecs[DS_DL]) { if (-1 == h->codecs[DS_DL]->store(h->codecs[DS_DL], map, "DL", fd->version)) return NULL; mc++; } if (h->codecs[DS_BA]) { if (-1 == h->codecs[DS_BA]->store(h->codecs[DS_BA], map, "BA", fd->version)) return NULL; mc++; } if (h->codecs[DS_BB]) { if (-1 == h->codecs[DS_BB]->store(h->codecs[DS_BB], map, "BB", fd->version)) return NULL; mc++; } if (h->codecs[DS_MQ]) { if (-1 == h->codecs[DS_MQ]->store(h->codecs[DS_MQ], map, "MQ", fd->version)) return NULL; mc++; } if (h->codecs[DS_RN]) { if (-1 == h->codecs[DS_RN]->store(h->codecs[DS_RN], map, "RN", fd->version)) return NULL; mc++; } if (h->codecs[DS_QS]) { if (-1 == h->codecs[DS_QS]->store(h->codecs[DS_QS], map, "QS", fd->version)) return NULL; mc++; } if (h->codecs[DS_QQ]) { if (-1 == h->codecs[DS_QQ]->store(h->codecs[DS_QQ], map, "QQ", fd->version)) return NULL; mc++; } if (h->codecs[DS_RI]) { if (-1 == h->codecs[DS_RI]->store(h->codecs[DS_RI], map, "RI", fd->version)) return NULL; mc++; } if (CRAM_MAJOR_VERS(fd->version) != 1) { if (h->codecs[DS_SC]) { if (-1 == h->codecs[DS_SC]->store(h->codecs[DS_SC], map, "SC", fd->version)) return NULL; mc++; } if (h->codecs[DS_RS]) { if (-1 == h->codecs[DS_RS]->store(h->codecs[DS_RS], map, "RS", fd->version)) return NULL; mc++; } if (h->codecs[DS_PD]) { if (-1 == h->codecs[DS_PD]->store(h->codecs[DS_PD], map, "PD", fd->version)) return NULL; mc++; } if (h->codecs[DS_HC]) { if (-1 == h->codecs[DS_HC]->store(h->codecs[DS_HC], map, "HC", fd->version)) return NULL; mc++; } } if (h->codecs[DS_TM]) { if (-1 == h->codecs[DS_TM]->store(h->codecs[DS_TM], map, "TM", fd->version)) return NULL; mc++; } if (h->codecs[DS_TV]) { if (-1 == h->codecs[DS_TV]->store(h->codecs[DS_TV], map, "TV", fd->version)) return NULL; mc++; } itf8_put_blk(cb, BLOCK_SIZE(map) + itf8_size(mc)); itf8_put_blk(cb, mc); BLOCK_APPEND(cb, BLOCK_DATA(map), BLOCK_SIZE(map)); /* tag encoding map */ #if 0 mp = map; mc = 0; if (h->tag_encoding_map) { HashItem *hi; HashIter *iter = HashTableIterCreate(); if (!iter) return NULL; while ((hi = HashTableIterNext(h->tag_encoding_map, iter))) { cram_map *m = hi->data.p; int sz; mp += itf8_put(mp, (hi->key[0]<<16)|(hi->key[1]<<8)|hi->key[2]); if (-1 == (sz = m->codec->store(m->codec, mp, NULL, fd->version))) return NULL; mp += sz; mc++; } HashTableIterDestroy(iter); } #else mc = 0; BLOCK_SIZE(map) = 0; if (c->tags_used) { khint_t k; #define TAG_ID(a) ((#a[0]<<8)+#a[1]) for (k = kh_begin(c->tags_used); k != kh_end(c->tags_used); k++) { int key; if (!kh_exist(c->tags_used, k)) continue; mc++; itf8_put_blk(map, kh_key(c->tags_used, k)); // use block content id 4 switch((key = kh_key(c->tags_used, k)) & 0xff) { case 'Z': case 'H': // string as byte_array_stop if (CRAM_MAJOR_VERS(fd->version) == 1) { BLOCK_APPEND(map, "\005" // BYTE_ARRAY_STOP "\005" // len "\t" // stop-byte is also SAM separator DS_aux_S "\000\000\000", 7); } else { if (key>>8 == TAG_ID(OQ)) BLOCK_APPEND(map, "\005" // BYTE_ARRAY_STOP "\002" // len "\t" // stop-byte is also SAM separator DS_aux_OQ_S, 4); else if (key>>8 == TAG_ID(BQ)) BLOCK_APPEND(map, "\005" // BYTE_ARRAY_STOP "\002" // len "\t" // stop-byte is also SAM separator DS_aux_BQ_S, 4); else if (key>>8 == TAG_ID(BD)) BLOCK_APPEND(map, "\005" // BYTE_ARRAY_STOP "\002" // len "\t" // stop-byte is also SAM separator DS_aux_BD_S, 4); else if (key>>8 == TAG_ID(BI)) BLOCK_APPEND(map, "\005" // BYTE_ARRAY_STOP "\002" // len "\t" // stop-byte is also SAM separator DS_aux_BI_S, 4); else if ((key>>8 == TAG_ID(Q2)) || (key>>8 == TAG_ID(U2)) || (key>>8 == TAG_ID(QT)) || (key>>8 == TAG_ID(CQ))) BLOCK_APPEND(map, "\005" // BYTE_ARRAY_STOP "\002" // len "\t" // stop-byte is also SAM separator DS_aux_oq_S, 4); else if ((key>>8 == TAG_ID(R2)) || (key>>8 == TAG_ID(E2)) || (key>>8 == TAG_ID(CS)) || (key>>8 == TAG_ID(BC)) || (key>>8 == TAG_ID(RT))) BLOCK_APPEND(map, "\005" // BYTE_ARRAY_STOP "\002" // len "\t" // stop-byte is also SAM separator DS_aux_os_S, 4); else BLOCK_APPEND(map, "\005" // BYTE_ARRAY_STOP "\002" // len "\t" // stop-byte is also SAM separator DS_aux_oz_S, 4); } break; case 'A': case 'c': case 'C': // byte array len, 1 byte BLOCK_APPEND(map, "\004" // BYTE_ARRAY_LEN "\011" // length "\003" // HUFFMAN (len) "\004" // huffman-len "\001" // 1 symbol "\001" // symbol=1 byte value "\001" // 1 length "\000" // length=0 "\001" // EXTERNAL (val) "\001" // external-len DS_aux_S,// content-id 11); break; case 's': case 'S': // byte array len, 2 byte BLOCK_APPEND(map, "\004" // BYTE_ARRAY_LEN "\011" // length "\003" // HUFFMAN (len) "\004" // huffman-len "\001" // 1 symbol "\002" // symbol=2 byte value "\001" // 1 length "\000" // length=0 "\001" // EXTERNAL (val) "\001" // external-len DS_aux_S,// content-id 11); break; case 'i': case 'I': case 'f': // byte array len, 4 byte BLOCK_APPEND(map, "\004" // BYTE_ARRAY_LEN "\011" // length "\003" // HUFFMAN (len) "\004" // huffman-len "\001" // 1 symbol "\004" // symbol=4 byte value "\001" // 1 length "\000" // length=0 "\001" // EXTERNAL (val) "\001" // external-len DS_aux_S,// content-id 11); break; case 'B': // Byte array of variable size, but we generate our tag // byte stream at the wrong stage (during reading and not // after slice header construction). So we use // BYTE_ARRAY_LEN with the length codec being external // too. if ((key>>8 == TAG_ID(FZ)) || (key>>8 == TAG_ID(ZM))) BLOCK_APPEND(map, "\004" // BYTE_ARRAY_LEN "\006" // length "\001" // EXTERNAL (len) "\001" // external-len DS_aux_FZ_S // content-id "\001" // EXTERNAL (val) "\001" // external-len DS_aux_FZ_S,// content-id 8); else BLOCK_APPEND(map, "\004" // BYTE_ARRAY_LEN "\006" // length "\001" // EXTERNAL (len) "\001" // external-len DS_aux_S // content-id "\001" // EXTERNAL (val) "\001" // external-len DS_aux_S,// content-id 8); break; default: fprintf(stderr, "Unsupported SAM aux type '%c'\n", kh_key(c->tags_used, k) & 0xff); } //mp += m->codec->store(m->codec, mp, NULL, fd->version); } } #endif itf8_put_blk(cb, BLOCK_SIZE(map) + itf8_size(mc)); itf8_put_blk(cb, mc); BLOCK_APPEND(cb, BLOCK_DATA(map), BLOCK_SIZE(map)); if (fd->verbose) fprintf(stderr, "Wrote compression block header in %d bytes\n", (int)BLOCK_SIZE(cb)); BLOCK_UPLEN(cb); cram_free_block(map); return cb; } /* * Encodes a slice compression header. * * Returns cram_block on success * NULL on failure */ cram_block *cram_encode_slice_header(cram_fd *fd, cram_slice *s) { char *buf; char *cp; cram_block *b = cram_new_block(MAPPED_SLICE, 0); int j; if (!b) return NULL; if (NULL == (cp = buf = malloc(16+5*(8+s->hdr->num_blocks)))) { cram_free_block(b); return NULL; } cp += itf8_put(cp, s->hdr->ref_seq_id); cp += itf8_put(cp, s->hdr->ref_seq_start); cp += itf8_put(cp, s->hdr->ref_seq_span); cp += itf8_put(cp, s->hdr->num_records); if (CRAM_MAJOR_VERS(fd->version) == 2) cp += itf8_put(cp, s->hdr->record_counter); else if (CRAM_MAJOR_VERS(fd->version) >= 3) cp += ltf8_put(cp, s->hdr->record_counter); cp += itf8_put(cp, s->hdr->num_blocks); cp += itf8_put(cp, s->hdr->num_content_ids); for (j = 0; j < s->hdr->num_content_ids; j++) { cp += itf8_put(cp, s->hdr->block_content_ids[j]); } if (s->hdr->content_type == MAPPED_SLICE) cp += itf8_put(cp, s->hdr->ref_base_id); if (CRAM_MAJOR_VERS(fd->version) != 1) { memcpy(cp, s->hdr->md5, 16); cp += 16; } assert(cp-buf <= 16+5*(8+s->hdr->num_blocks)); b->data = (unsigned char *)buf; b->comp_size = b->uncomp_size = cp-buf; return b; } /* * Encodes a single read. * * Returns 0 on success * -1 on failure */ static int cram_encode_slice_read(cram_fd *fd, cram_container *c, cram_block_compression_hdr *h, cram_slice *s, cram_record *cr, int *last_pos) { int r = 0; int32_t i32; unsigned char uc; //fprintf(stderr, "Encode seq %d, %d/%d FN=%d, %s\n", rec, core->byte, core->bit, cr->nfeature, s->name_ds->str + cr->name); //printf("BF=0x%x\n", cr->flags); // bf = cram_flag_swap[cr->flags]; i32 = fd->cram_flag_swap[cr->flags & 0xfff]; r |= h->codecs[DS_BF]->encode(s, h->codecs[DS_BF], (char *)&i32, 1); i32 = cr->cram_flags; r |= h->codecs[DS_CF]->encode(s, h->codecs[DS_CF], (char *)&i32, 1); if (CRAM_MAJOR_VERS(fd->version) != 1 && s->hdr->ref_seq_id == -2) r |= h->codecs[DS_RI]->encode(s, h->codecs[DS_RI], (char *)&cr->ref_id, 1); r |= h->codecs[DS_RL]->encode(s, h->codecs[DS_RL], (char *)&cr->len, 1); if (c->pos_sorted) { i32 = cr->apos - *last_pos; r |= h->codecs[DS_AP]->encode(s, h->codecs[DS_AP], (char *)&i32, 1); *last_pos = cr->apos; } else { i32 = cr->apos; r |= h->codecs[DS_AP]->encode(s, h->codecs[DS_AP], (char *)&i32, 1); } r |= h->codecs[DS_RG]->encode(s, h->codecs[DS_RG], (char *)&cr->rg, 1); if (c->comp_hdr->read_names_included) { // RN codec: Already stored in block[3]. } if (cr->cram_flags & CRAM_FLAG_DETACHED) { i32 = cr->mate_flags; r |= h->codecs[DS_MF]->encode(s, h->codecs[DS_MF], (char *)&i32, 1); if (!c->comp_hdr->read_names_included) { // RN codec: Already stored in block[3]. } r |= h->codecs[DS_NS]->encode(s, h->codecs[DS_NS], (char *)&cr->mate_ref_id, 1); r |= h->codecs[DS_NP]->encode(s, h->codecs[DS_NP], (char *)&cr->mate_pos, 1); r |= h->codecs[DS_TS]->encode(s, h->codecs[DS_TS], (char *)&cr->tlen, 1); } else if (cr->cram_flags & CRAM_FLAG_MATE_DOWNSTREAM) { r |= h->codecs[DS_NF]->encode(s, h->codecs[DS_NF], (char *)&cr->mate_line, 1); } /* Aux tags */ if (CRAM_MAJOR_VERS(fd->version) == 1) { int j; uc = cr->ntags; r |= h->codecs[DS_TC]->encode(s, h->codecs[DS_TC], (char *)&uc, 1); for (j = 0; j < cr->ntags; j++) { uint32_t i32 = s->TN[cr->TN_idx + j]; // id r |= h->codecs[DS_TN]->encode(s, h->codecs[DS_TN], (char *)&i32, 1); } } else { r |= h->codecs[DS_TL]->encode(s, h->codecs[DS_TL], (char *)&cr->TL, 1); } // qual // QS codec : Already stored in block[2]. // features (diffs) if (!(cr->flags & BAM_FUNMAP)) { int prev_pos = 0, j; r |= h->codecs[DS_FN]->encode(s, h->codecs[DS_FN], (char *)&cr->nfeature, 1); for (j = 0; j < cr->nfeature; j++) { cram_feature *f = &s->features[cr->feature + j]; uc = f->X.code; r |= h->codecs[DS_FC]->encode(s, h->codecs[DS_FC], (char *)&uc, 1); i32 = f->X.pos - prev_pos; r |= h->codecs[DS_FP]->encode(s, h->codecs[DS_FP], (char *)&i32, 1); prev_pos = f->X.pos; switch(f->X.code) { //char *seq; case 'X': //fprintf(stderr, " FC=%c FP=%d base=%d\n", f->X.code, i32, f->X.base); uc = f->X.base; r |= h->codecs[DS_BS]->encode(s, h->codecs[DS_BS], (char *)&uc, 1); break; case 'S': // Already done // r |= h->codecs[DS_SC]->encode(s, h->codecs[DS_SC], // BLOCK_DATA(s->soft_blk) + f->S.seq_idx, // f->S.len); // if (IS_CRAM_3_VERS(fd)) { // r |= h->codecs[DS_BB]->encode(s, h->codecs[DS_BB], // BLOCK_DATA(s->seqs_blk) + f->S.seq_idx, // f->S.len); // } break; case 'I': //seq = DSTRING_STR(s->seqs_ds) + f->S.seq_idx; //r |= h->codecs[DS_IN]->encode(s, h->codecs[DS_IN], // seq, f->S.len); // if (IS_CRAM_3_VERS(fd)) { // r |= h->codecs[DS_BB]->encode(s, h->codecs[DS_BB], // BLOCK_DATA(s->seqs_blk) + f->I.seq_idx, // f->I.len); // } break; case 'i': uc = f->i.base; r |= h->codecs[DS_BA]->encode(s, h->codecs[DS_BA], (char *)&uc, 1); //seq = DSTRING_STR(s->seqs_ds) + f->S.seq_idx; //r |= h->codecs[DS_IN]->encode(s, h->codecs[DS_IN], // seq, 1); break; case 'D': i32 = f->D.len; r |= h->codecs[DS_DL]->encode(s, h->codecs[DS_DL], (char *)&i32, 1); break; case 'B': // // Used when we try to store a non ACGTN base or an N // // that aligns against a non ACGTN reference uc = f->B.base; r |= h->codecs[DS_BA]->encode(s, h->codecs[DS_BA], (char *)&uc, 1); // Already added // uc = f->B.qual; // r |= h->codecs[DS_QS]->encode(s, h->codecs[DS_QS], // (char *)&uc, 1); break; case 'b': // string of bases r |= h->codecs[DS_BB]->encode(s, h->codecs[DS_BB], (char *)BLOCK_DATA(s->seqs_blk) + f->b.seq_idx, f->b.len); break; case 'Q': // Already added // uc = f->B.qual; // r |= h->codecs[DS_QS]->encode(s, h->codecs[DS_QS], // (char *)&uc, 1); break; case 'N': i32 = f->N.len; r |= h->codecs[DS_RS]->encode(s, h->codecs[DS_RS], (char *)&i32, 1); break; case 'P': i32 = f->P.len; r |= h->codecs[DS_PD]->encode(s, h->codecs[DS_PD], (char *)&i32, 1); break; case 'H': i32 = f->H.len; r |= h->codecs[DS_HC]->encode(s, h->codecs[DS_HC], (char *)&i32, 1); break; default: fprintf(stderr, "unhandled feature code %c\n", f->X.code); return -1; } } r |= h->codecs[DS_MQ]->encode(s, h->codecs[DS_MQ], (char *)&cr->mqual, 1); } else { char *seq = (char *)BLOCK_DATA(s->seqs_blk) + cr->seq; r |= h->codecs[DS_BA]->encode(s, h->codecs[DS_BA], seq, cr->len); } return r ? -1 : 0; } /* * Applies various compression methods to specific blocks, depending on * known observations of how data series compress. * * Returns 0 on success * -1 on failure */ static int cram_compress_slice(cram_fd *fd, cram_slice *s) { int level = fd->level, i; int method = 1< 5 && s->block[0]->uncomp_size > 500) cram_compress_block(fd, s->block[0], NULL, GZIP, 1); if (fd->use_bz2) method |= 1<use_rans) method |= (1<use_lzma) method |= (1<= 6) methodF = method; /* Specific compression methods for certain block types */ if (cram_compress_block(fd, s->block[DS_IN], fd->m[DS_IN], //IN (seq) method, level)) return -1; if (fd->level == 0) { /* Do nothing */ } else if (fd->level == 1) { if (cram_compress_block(fd, s->block[DS_QS], fd->m[DS_QS], methodF, 1)) return -1; for (i = DS_aux; i <= DS_aux_oz; i++) { if (s->block[i]) if (cram_compress_block(fd, s->block[i], fd->m[i], method, 1)) return -1; } } else if (fd->level < 3) { if (cram_compress_block(fd, s->block[DS_QS], fd->m[DS_QS], method, 1)) return -1; if (cram_compress_block(fd, s->block[DS_BA], fd->m[DS_BA], method, 1)) return -1; if (s->block[DS_BB]) if (cram_compress_block(fd, s->block[DS_BB], fd->m[DS_BB], method, 1)) return -1; for (i = DS_aux; i <= DS_aux_oz; i++) { if (s->block[i]) if (cram_compress_block(fd, s->block[i], fd->m[i], method, level)) return -1; } } else { if (cram_compress_block(fd, s->block[DS_QS], fd->m[DS_QS], method, level)) return -1; if (cram_compress_block(fd, s->block[DS_BA], fd->m[DS_BA], method, level)) return -1; if (s->block[DS_BB]) if (cram_compress_block(fd, s->block[DS_BB], fd->m[DS_BB], method, level)) return -1; for (i = DS_aux; i <= DS_aux_oz; i++) { if (s->block[i]) if (cram_compress_block(fd, s->block[i], fd->m[i], method, level)) return -1; } } // NAME: best is generally xz, bzip2, zlib then rans1 // It benefits well from a little bit extra compression level. if (cram_compress_block(fd, s->block[DS_RN], fd->m[DS_RN], method & ~(1<block[DS_NS] != s->block[0]) if (cram_compress_block(fd, s->block[DS_NS], fd->m[DS_NS], method, level)) return -1; /* * Minimal compression of any block still uncompressed, bar CORE */ { int i; for (i = 1; i < DS_END; i++) { if (!s->block[i] || s->block[i] == s->block[0]) continue; // fast methods only if (s->block[i]->method == RAW) { cram_compress_block(fd, s->block[i], fd->m[i], methodF, level); } } } return 0; } /* * Encodes a single slice from a container * * Returns 0 on success * -1 on failure */ static int cram_encode_slice(cram_fd *fd, cram_container *c, cram_block_compression_hdr *h, cram_slice *s) { int rec, r = 0, last_pos; int embed_ref; enum cram_DS_ID id; embed_ref = fd->embed_ref && s->hdr->ref_seq_id != -1 ? 1 : 0; /* * Slice external blocks: * ID 0 => base calls (insertions, soft-clip) * ID 1 => qualities * ID 2 => names * ID 3 => TS (insert size), NP (next frag) * ID 4 => tag values * ID 6 => tag IDs (TN), if CRAM_V1.0 * ID 7 => TD tag dictionary, if !CRAM_V1.0 */ /* Create cram slice header */ s->hdr->ref_base_id = embed_ref ? DS_ref : -1; s->hdr->record_counter = c->num_records + c->record_counter; c->num_records += s->hdr->num_records; s->block = calloc(DS_END, sizeof(s->block[0])); s->hdr->block_content_ids = malloc(DS_END * sizeof(int32_t)); if (!s->block || !s->hdr->block_content_ids) return -1; // Create first fixed blocks, always external. // CORE if (!(s->block[0] = cram_new_block(CORE, 0))) return -1; // TN block for CRAM v1 if (CRAM_MAJOR_VERS(fd->version) == 1) { if (h->codecs[DS_TN]->codec == E_EXTERNAL) { if (!(s->block[DS_TN] = cram_new_block(EXTERNAL,DS_TN))) return -1; h->codecs[DS_TN]->external.content_id = DS_TN; } else { s->block[DS_TN] = s->block[0]; } s->block[DS_TN] = s->block[DS_TN]; } // Embedded reference if (embed_ref) { if (!(s->block[DS_ref] = cram_new_block(EXTERNAL, DS_ref))) return -1; s->ref_id = DS_ref; // needed? BLOCK_APPEND(s->block[DS_ref], c->ref + c->first_base - c->ref_start, c->last_base - c->first_base + 1); } /* * All the data-series blocks if appropriate. */ for (id = DS_BF; id < DS_TN; id++) { if (h->codecs[id] && (h->codecs[id]->codec == E_EXTERNAL || h->codecs[id]->codec == E_BYTE_ARRAY_STOP || h->codecs[id]->codec == E_BYTE_ARRAY_LEN)) { switch (h->codecs[id]->codec) { case E_EXTERNAL: if (!(s->block[id] = cram_new_block(EXTERNAL, id))) return -1; h->codecs[id]->external.content_id = id; break; case E_BYTE_ARRAY_STOP: if (!(s->block[id] = cram_new_block(EXTERNAL, id))) return -1; h->codecs[id]->byte_array_stop.content_id = id; break; case E_BYTE_ARRAY_LEN: { cram_codec *cc; cc = h->codecs[id]->e_byte_array_len.len_codec; if (cc->codec == E_EXTERNAL) { int eid = cc->external.content_id; if (!(s->block[eid] = cram_new_block(EXTERNAL, eid))) return -1; cc->external.content_id = eid; cc->out = s->block[eid]; } cc = h->codecs[id]->e_byte_array_len.val_codec; if (cc->codec == E_EXTERNAL) { int eid = cc->external.content_id; if (!s->block[eid]) if (!(s->block[eid] = cram_new_block(EXTERNAL, eid))) return -1; cc->external.content_id = eid; cc->out = s->block[eid]; } break; } default: break; } } else { if (!(id == DS_BB && !h->codecs[DS_BB])) s->block[id] = s->block[0]; } if (h->codecs[id]) h->codecs[id]->out = s->block[id]; } /* Encode reads */ last_pos = s->hdr->ref_seq_start; for (rec = 0; rec < s->hdr->num_records; rec++) { cram_record *cr = &s->crecs[rec]; if (cram_encode_slice_read(fd, c, h, s, cr, &last_pos) == -1) return -1; } s->block[0]->uncomp_size = s->block[0]->byte + (s->block[0]->bit < 7); s->block[0]->comp_size = s->block[0]->uncomp_size; // Make sure the fixed blocks point to the correct sources s->block[DS_IN] = s->base_blk; s->base_blk = NULL; s->block[DS_QS] = s->qual_blk; s->qual_blk = NULL; s->block[DS_RN] = s->name_blk; s->name_blk = NULL; s->block[DS_SC] = s->soft_blk; s->soft_blk = NULL; s->block[DS_aux]= s->aux_blk; s->aux_blk = NULL; s->block[DS_aux_OQ]= s->aux_OQ_blk; s->aux_OQ_blk = NULL; s->block[DS_aux_BQ]= s->aux_BQ_blk; s->aux_BQ_blk = NULL; s->block[DS_aux_BD]= s->aux_BD_blk; s->aux_BD_blk = NULL; s->block[DS_aux_BI]= s->aux_BI_blk; s->aux_BI_blk = NULL; s->block[DS_aux_FZ]= s->aux_FZ_blk; s->aux_FZ_blk = NULL; s->block[DS_aux_oq]= s->aux_oq_blk; s->aux_oq_blk = NULL; s->block[DS_aux_os]= s->aux_os_blk; s->aux_os_blk = NULL; s->block[DS_aux_oz]= s->aux_oz_blk; s->aux_oz_blk = NULL; // Ensure block sizes are up to date. for (id = 1; id < DS_END; id++) { if (!s->block[id] || s->block[id] == s->block[0]) continue; if (s->block[id]->uncomp_size == 0) BLOCK_UPLEN(s->block[id]); } // Compress it all if (cram_compress_slice(fd, s) == -1) return -1; // Collapse empty blocks and create hdr_block { int i, j; for (i = j = 1; i < DS_END; i++) { if (!s->block[i] || s->block[i] == s->block[0]) continue; if (s->block[i]->uncomp_size == 0) { cram_free_block(s->block[i]); s->block[i] = NULL; continue; } s->block[j] = s->block[i]; s->hdr->block_content_ids[j-1] = s->block[i]->content_id; j++; } s->hdr->num_content_ids = j-1; s->hdr->num_blocks = j; if (!(s->hdr_block = cram_encode_slice_header(fd, s))) return -1; } return r ? -1 : 0; } /* * Encodes all slices in a container into blocks. * Returns 0 on success * -1 on failure */ int cram_encode_container(cram_fd *fd, cram_container *c) { int i, j, slice_offset; cram_block_compression_hdr *h = c->comp_hdr; cram_block *c_hdr; int multi_ref = 0; int r1, r2, sn, nref; spare_bams *spares; /* Cache references up-front if we have unsorted access patterns */ pthread_mutex_lock(&fd->ref_lock); nref = fd->refs->nref; pthread_mutex_unlock(&fd->ref_lock); if (!fd->no_ref && c->refs_used) { for (i = 0; i < nref; i++) { if (c->refs_used[i]) cram_get_ref(fd, i, 1, 0); } } /* To create M5 strings */ /* Fetch reference sequence */ if (!fd->no_ref) { bam_seq_t *b = c->bams[0]; char *ref; ref = cram_get_ref(fd, bam_ref(b), 1, 0); if (!ref && bam_ref(b) >= 0) { fprintf(stderr, "Failed to load reference #%d\n", bam_ref(b)); return -1; } if ((c->ref_id = bam_ref(b)) >= 0) { c->ref_seq_id = c->ref_id; c->ref = fd->refs->ref_id[c->ref_seq_id]->seq; c->ref_start = 1; c->ref_end = fd->refs->ref_id[c->ref_seq_id]->length; } else { c->ref_seq_id = c->ref_id; // FIXME remove one var! } } else { c->ref_id = bam_ref(c->bams[0]); cram_ref_incr(fd->refs, c->ref_id); c->ref_seq_id = c->ref_id; } /* Turn bams into cram_records and gather basic stats */ for (r1 = sn = 0; r1 < c->curr_c_rec; sn++) { cram_slice *s = c->slices[sn]; int first_base = INT_MAX, last_base = INT_MIN; assert(sn < c->curr_slice); /* FIXME: we could create our slice objects here too instead of * in cram_put_bam_seq. It's more natural here and also this is * bit is threaded so it's less work in the main thread. */ for (r2 = 0; r1 < c->curr_c_rec && r2 < c->max_rec; r1++, r2++) { cram_record *cr = &s->crecs[r2]; bam_seq_t *b = c->bams[r1]; /* If multi-ref we need to cope with changing reference per seq */ if (c->multi_seq && !fd->no_ref) { if (bam_ref(b) != c->ref_seq_id && bam_ref(b) >= 0) { if (c->ref_seq_id >= 0) cram_ref_decr(fd->refs, c->ref_seq_id); if (!cram_get_ref(fd, bam_ref(b), 1, 0)) { fprintf(stderr, "Failed to load reference #%d\n", bam_ref(b)); return -1; } c->ref_seq_id = bam_ref(b); // overwritten later by -2 assert(fd->refs->ref_id[c->ref_seq_id]->seq); c->ref = fd->refs->ref_id[c->ref_seq_id]->seq; c->ref_start = 1; c->ref_end = fd->refs->ref_id[c->ref_seq_id]->length; } } process_one_read(fd, c, s, cr, b, r2); if (first_base > cr->apos) first_base = cr->apos; if (last_base < cr->aend) last_base = cr->aend; } if (c->multi_seq) { s->hdr->ref_seq_id = -2; s->hdr->ref_seq_start = 0; s->hdr->ref_seq_span = 0; } else { s->hdr->ref_seq_id = c->ref_id; s->hdr->ref_seq_start = first_base; s->hdr->ref_seq_span = last_base - first_base + 1; } s->hdr->num_records = r2; } if (c->multi_seq && !fd->no_ref) { if (c->ref_seq_id >= 0) cram_ref_decr(fd->refs, c->ref_seq_id); } /* Link our bams[] array onto the spare bam list for reuse */ spares = malloc(sizeof(*spares)); pthread_mutex_lock(&fd->bam_list_lock); spares->bams = c->bams; spares->next = fd->bl; fd->bl = spares; pthread_mutex_unlock(&fd->bam_list_lock); c->bams = NULL; /* Detect if a multi-seq container */ cram_stats_encoding(fd, c->stats[DS_RI]); multi_ref = c->stats[DS_RI]->nvals > 1; if (multi_ref) { if (fd->verbose) fprintf(stderr, "Multi-ref container\n"); c->ref_seq_id = -2; c->ref_seq_start = 0; c->ref_seq_span = 0; } /* Compute MD5s */ for (i = 0; i < c->curr_slice; i++) { cram_slice *s = c->slices[i]; if (CRAM_MAJOR_VERS(fd->version) != 1) { if (s->hdr->ref_seq_id >= 0 && c->multi_seq == 0 && !fd->no_ref) { MD5_CTX md5; MD5_Init(&md5); MD5_Update(&md5, c->ref + s->hdr->ref_seq_start - c->ref_start, s->hdr->ref_seq_span); MD5_Final(s->hdr->md5, &md5); } else { memset(s->hdr->md5, 0, 16); } } } c->num_records = 0; c->num_blocks = 0; c->length = 0; //fprintf(stderr, "=== BF ===\n"); h->codecs[DS_BF] = cram_encoder_init(cram_stats_encoding(fd, c->stats[DS_BF]), c->stats[DS_BF], E_INT, NULL, fd->version); //fprintf(stderr, "=== CF ===\n"); h->codecs[DS_CF] = cram_encoder_init(cram_stats_encoding(fd, c->stats[DS_CF]), c->stats[DS_CF], E_INT, NULL, fd->version); // fprintf(stderr, "=== RN ===\n"); // h->codecs[DS_RN] = cram_encoder_init(cram_stats_encoding(fd, c->stats[DS_RN]), // c->stats[DS_RN], E_BYTE_ARRAY, NULL, // fd->version); //fprintf(stderr, "=== AP ===\n"); if (c->pos_sorted) { h->codecs[DS_AP] = cram_encoder_init(cram_stats_encoding(fd, c->stats[DS_AP]), c->stats[DS_AP], E_INT, NULL, fd->version); } else { int p[2] = {0, c->max_apos}; h->codecs[DS_AP] = cram_encoder_init(E_BETA, NULL, E_INT, p, fd->version); } //fprintf(stderr, "=== RG ===\n"); h->codecs[DS_RG] = cram_encoder_init(cram_stats_encoding(fd, c->stats[DS_RG]), c->stats[DS_RG], E_INT, NULL, fd->version); //fprintf(stderr, "=== MQ ===\n"); h->codecs[DS_MQ] = cram_encoder_init(cram_stats_encoding(fd, c->stats[DS_MQ]), c->stats[DS_MQ], E_INT, NULL, fd->version); //fprintf(stderr, "=== NS ===\n"); h->codecs[DS_NS] = cram_encoder_init(cram_stats_encoding(fd, c->stats[DS_NS]), c->stats[DS_NS], E_INT, NULL, fd->version); //fprintf(stderr, "=== MF ===\n"); h->codecs[DS_MF] = cram_encoder_init(cram_stats_encoding(fd, c->stats[DS_MF]), c->stats[DS_MF], E_INT, NULL, fd->version); //fprintf(stderr, "=== TS ===\n"); h->codecs[DS_TS] = cram_encoder_init(cram_stats_encoding(fd, c->stats[DS_TS]), c->stats[DS_TS], E_INT, NULL, fd->version); //fprintf(stderr, "=== NP ===\n"); h->codecs[DS_NP] = cram_encoder_init(cram_stats_encoding(fd, c->stats[DS_NP]), c->stats[DS_NP], E_INT, NULL, fd->version); //fprintf(stderr, "=== NF ===\n"); h->codecs[DS_NF] = cram_encoder_init(cram_stats_encoding(fd, c->stats[DS_NF]), c->stats[DS_NF], E_INT, NULL, fd->version); //fprintf(stderr, "=== RL ===\n"); h->codecs[DS_RL] = cram_encoder_init(cram_stats_encoding(fd, c->stats[DS_RL]), c->stats[DS_RL], E_INT, NULL, fd->version); //fprintf(stderr, "=== FN ===\n"); h->codecs[DS_FN] = cram_encoder_init(cram_stats_encoding(fd, c->stats[DS_FN]), c->stats[DS_FN], E_INT, NULL, fd->version); //fprintf(stderr, "=== FC ===\n"); h->codecs[DS_FC] = cram_encoder_init(cram_stats_encoding(fd, c->stats[DS_FC]), c->stats[DS_FC], E_BYTE, NULL, fd->version); //fprintf(stderr, "=== FP ===\n"); h->codecs[DS_FP] = cram_encoder_init(cram_stats_encoding(fd, c->stats[DS_FP]), c->stats[DS_FP], E_INT, NULL, fd->version); //fprintf(stderr, "=== DL ===\n"); h->codecs[DS_DL] = cram_encoder_init(cram_stats_encoding(fd, c->stats[DS_DL]), c->stats[DS_DL], E_INT, NULL, fd->version); //fprintf(stderr, "=== BA ===\n"); h->codecs[DS_BA] = cram_encoder_init(cram_stats_encoding(fd, c->stats[DS_BA]), c->stats[DS_BA], E_BYTE, NULL, fd->version); if (CRAM_MAJOR_VERS(fd->version) >= 3) { cram_byte_array_len_encoder e; e.len_encoding = E_EXTERNAL; e.len_dat = (void *)DS_BB_len; //e.len_dat = (void *)DS_BB; e.val_encoding = E_EXTERNAL; e.val_dat = (void *)DS_BB; h->codecs[DS_BB] = cram_encoder_init(E_BYTE_ARRAY_LEN, NULL, E_BYTE_ARRAY, (void *)&e, fd->version); } else { h->codecs[DS_BB] = NULL; } //fprintf(stderr, "=== BS ===\n"); h->codecs[DS_BS] = cram_encoder_init(cram_stats_encoding(fd, c->stats[DS_BS]), c->stats[DS_BS], E_BYTE, NULL, fd->version); if (CRAM_MAJOR_VERS(fd->version) == 1) { h->codecs[DS_TL] = NULL; h->codecs[DS_RI] = NULL; h->codecs[DS_RS] = NULL; h->codecs[DS_PD] = NULL; h->codecs[DS_HC] = NULL; h->codecs[DS_SC] = NULL; //fprintf(stderr, "=== TC ===\n"); h->codecs[DS_TC] = cram_encoder_init(cram_stats_encoding(fd, c->stats[DS_TC]), c->stats[DS_TC], E_BYTE, NULL, fd->version); //fprintf(stderr, "=== TN ===\n"); h->codecs[DS_TN] = cram_encoder_init(cram_stats_encoding(fd, c->stats[DS_TN]), c->stats[DS_TN], E_INT, NULL, fd->version); } else { h->codecs[DS_TC] = NULL; h->codecs[DS_TN] = NULL; //fprintf(stderr, "=== TL ===\n"); h->codecs[DS_TL] = cram_encoder_init(cram_stats_encoding(fd, c->stats[DS_TL]), c->stats[DS_TL], E_INT, NULL, fd->version); //fprintf(stderr, "=== RI ===\n"); h->codecs[DS_RI] = cram_encoder_init(cram_stats_encoding(fd, c->stats[DS_RI]), c->stats[DS_RI], E_INT, NULL, fd->version); //fprintf(stderr, "=== RS ===\n"); h->codecs[DS_RS] = cram_encoder_init(cram_stats_encoding(fd, c->stats[DS_RS]), c->stats[DS_RS], E_INT, NULL, fd->version); //fprintf(stderr, "=== PD ===\n"); h->codecs[DS_PD] = cram_encoder_init(cram_stats_encoding(fd, c->stats[DS_PD]), c->stats[DS_PD], E_INT, NULL, fd->version); //fprintf(stderr, "=== HC ===\n"); h->codecs[DS_HC] = cram_encoder_init(cram_stats_encoding(fd, c->stats[DS_HC]), c->stats[DS_HC], E_INT, NULL, fd->version); //fprintf(stderr, "=== SC ===\n"); if (1) { int i2[2] = {0, DS_SC}; h->codecs[DS_SC] = cram_encoder_init(E_BYTE_ARRAY_STOP, NULL, E_BYTE_ARRAY, (void *)i2, fd->version); } else { // Appears to be no practical benefit to using this method, // but it may work better if we start mixing SC, IN and BB // elements into the same external block. cram_byte_array_len_encoder e; e.len_encoding = E_EXTERNAL; e.len_dat = (void *)DS_SC_len; e.val_encoding = E_EXTERNAL; e.val_dat = (void *)DS_SC; h->codecs[DS_SC] = cram_encoder_init(E_BYTE_ARRAY_LEN, NULL, E_BYTE_ARRAY, (void *)&e, fd->version); } } //fprintf(stderr, "=== IN ===\n"); { int i2[2] = {0, DS_IN}; h->codecs[DS_IN] = cram_encoder_init(E_BYTE_ARRAY_STOP, NULL, E_BYTE_ARRAY, (void *)i2, fd->version); } h->codecs[DS_QS] = cram_encoder_init(E_EXTERNAL, NULL, E_BYTE, (void *)DS_QS, fd->version); { int i2[2] = {0, DS_RN}; h->codecs[DS_RN] = cram_encoder_init(E_BYTE_ARRAY_STOP, NULL, E_BYTE_ARRAY, (void *)i2, fd->version); } /* Encode slices */ for (i = 0; i < c->curr_slice; i++) { if (fd->verbose) fprintf(stderr, "Encode slice %d\n", i); if (cram_encode_slice(fd, c, h, c->slices[i]) != 0) return -1; } /* Create compression header */ { h->ref_seq_id = c->ref_seq_id; h->ref_seq_start = c->ref_seq_start; h->ref_seq_span = c->ref_seq_span; h->num_records = c->num_records; h->mapped_qs_included = 0; // fixme h->unmapped_qs_included = 0; // fixme // h->... fixme memcpy(h->substitution_matrix, CRAM_SUBST_MATRIX, 20); if (!(c_hdr = cram_encode_compression_header(fd, c, h))) return -1; } /* Compute landmarks */ /* Fill out slice landmarks */ c->num_landmarks = c->curr_slice; c->landmark = malloc(c->num_landmarks * sizeof(*c->landmark)); if (!c->landmark) return -1; /* * Slice offset starts after the first block, so we need to simulate * writing it to work out the correct offset */ { slice_offset = c_hdr->method == RAW ? c_hdr->uncomp_size : c_hdr->comp_size; slice_offset += 2 + 4*(CRAM_MAJOR_VERS(fd->version) >= 3) + itf8_size(c_hdr->content_id) + itf8_size(c_hdr->comp_size) + itf8_size(c_hdr->uncomp_size); } c->ref_seq_id = c->slices[0]->hdr->ref_seq_id; c->ref_seq_start = c->slices[0]->hdr->ref_seq_start; c->ref_seq_span = c->slices[0]->hdr->ref_seq_span; for (i = 0; i < c->curr_slice; i++) { cram_slice *s = c->slices[i]; c->num_blocks += s->hdr->num_blocks + 2; c->landmark[i] = slice_offset; if (s->hdr->ref_seq_start + s->hdr->ref_seq_span > c->ref_seq_start + c->ref_seq_span) { c->ref_seq_span = s->hdr->ref_seq_start + s->hdr->ref_seq_span - c->ref_seq_start; } slice_offset += s->hdr_block->method == RAW ? s->hdr_block->uncomp_size : s->hdr_block->comp_size; slice_offset += 2 + 4*(CRAM_MAJOR_VERS(fd->version) >= 3) + itf8_size(s->hdr_block->content_id) + itf8_size(s->hdr_block->comp_size) + itf8_size(s->hdr_block->uncomp_size); for (j = 0; j < s->hdr->num_blocks; j++) { slice_offset += 2 + 4*(CRAM_MAJOR_VERS(fd->version) >= 3) + itf8_size(s->block[j]->content_id) + itf8_size(s->block[j]->comp_size) + itf8_size(s->block[j]->uncomp_size); slice_offset += s->block[j]->method == RAW ? s->block[j]->uncomp_size : s->block[j]->comp_size; } } c->length += slice_offset; // just past the final slice c->comp_hdr_block = c_hdr; if (c->ref_seq_id >= 0) { cram_ref_decr(fd->refs, c->ref_seq_id); } /* Cache references up-front if we have unsorted access patterns */ if (!fd->no_ref && c->refs_used) { for (i = 0; i < fd->refs->nref; i++) { if (c->refs_used[i]) cram_ref_decr(fd->refs, i); } } return 0; } /* * Adds a feature code to a read within a slice. For purposes of minimising * memory allocations and fragmentation we have one array of features for all * reads within the slice. We return the index into this array for this new * feature. * * Returns feature index on success * -1 on failure. */ static int cram_add_feature(cram_container *c, cram_slice *s, cram_record *r, cram_feature *f) { if (s->nfeatures >= s->afeatures) { s->afeatures = s->afeatures ? s->afeatures*2 : 1024; s->features = realloc(s->features, s->afeatures*sizeof(*s->features)); if (!s->features) return -1; } if (!r->nfeature++) { r->feature = s->nfeatures; cram_stats_add(c->stats[DS_FP], f->X.pos); } else { cram_stats_add(c->stats[DS_FP], f->X.pos - s->features[r->feature + r->nfeature-2].X.pos); } cram_stats_add(c->stats[DS_FC], f->X.code); s->features[s->nfeatures++] = *f; return 0; } static int cram_add_substitution(cram_fd *fd, cram_container *c, cram_slice *s, cram_record *r, int pos, char base, char qual, char ref) { cram_feature f; // seq=ACGTN vs ref=ACGT or seq=ACGT vs ref=ACGTN if (fd->L2[(uc)base]<4 || (fd->L2[(uc)base]<5 && fd->L2[(uc)ref]<4)) { f.X.pos = pos+1; f.X.code = 'X'; f.X.base = fd->cram_sub_matrix[ref&0x1f][base&0x1f]; cram_stats_add(c->stats[DS_BS], f.X.base); } else { f.B.pos = pos+1; f.B.code = 'B'; f.B.base = base; f.B.qual = qual; cram_stats_add(c->stats[DS_BA], f.B.base); cram_stats_add(c->stats[DS_QS], f.B.qual); BLOCK_APPEND_CHAR(s->qual_blk, qual); } return cram_add_feature(c, s, r, &f); } static int cram_add_bases(cram_fd *fd, cram_container *c, cram_slice *s, cram_record *r, int pos, int len, char *base) { cram_feature f; f.b.pos = pos+1; f.b.code = 'b'; f.b.seq_idx = base - (char *)BLOCK_DATA(s->seqs_blk); f.b.len = len; return cram_add_feature(c, s, r, &f); } static int cram_add_base(cram_fd *fd, cram_container *c, cram_slice *s, cram_record *r, int pos, char base, char qual) { cram_feature f; f.B.pos = pos+1; f.B.code = 'B'; f.B.base = base; f.B.qual = qual; cram_stats_add(c->stats[DS_BA], base); cram_stats_add(c->stats[DS_QS], qual); BLOCK_APPEND_CHAR(s->qual_blk, qual); return cram_add_feature(c, s, r, &f); } static int cram_add_quality(cram_fd *fd, cram_container *c, cram_slice *s, cram_record *r, int pos, char qual) { cram_feature f; f.Q.pos = pos+1; f.Q.code = 'Q'; f.Q.qual = qual; cram_stats_add(c->stats[DS_QS], qual); BLOCK_APPEND_CHAR(s->qual_blk, qual); return cram_add_feature(c, s, r, &f); } static int cram_add_deletion(cram_container *c, cram_slice *s, cram_record *r, int pos, int len, char *base) { cram_feature f; f.D.pos = pos+1; f.D.code = 'D'; f.D.len = len; cram_stats_add(c->stats[DS_DL], len); return cram_add_feature(c, s, r, &f); } static int cram_add_softclip(cram_container *c, cram_slice *s, cram_record *r, int pos, int len, char *base, int version) { cram_feature f; f.S.pos = pos+1; f.S.code = 'S'; f.S.len = len; switch (CRAM_MAJOR_VERS(version)) { case 1: f.S.seq_idx = BLOCK_SIZE(s->base_blk); BLOCK_APPEND(s->base_blk, base, len); BLOCK_APPEND_CHAR(s->base_blk, '\0'); break; case 2: default: f.S.seq_idx = BLOCK_SIZE(s->soft_blk); if (base) { BLOCK_APPEND(s->soft_blk, base, len); } else { int i; for (i = 0; i < len; i++) BLOCK_APPEND_CHAR(s->soft_blk, 'N'); } BLOCK_APPEND_CHAR(s->soft_blk, '\0'); break; // default: // // v3.0 onwards uses BB data-series // f.S.seq_idx = BLOCK_SIZE(s->soft_blk); } return cram_add_feature(c, s, r, &f); } static int cram_add_hardclip(cram_container *c, cram_slice *s, cram_record *r, int pos, int len, char *base) { cram_feature f; f.S.pos = pos+1; f.S.code = 'H'; f.S.len = len; cram_stats_add(c->stats[DS_HC], len); return cram_add_feature(c, s, r, &f); } static int cram_add_skip(cram_container *c, cram_slice *s, cram_record *r, int pos, int len, char *base) { cram_feature f; f.S.pos = pos+1; f.S.code = 'N'; f.S.len = len; cram_stats_add(c->stats[DS_RS], len); return cram_add_feature(c, s, r, &f); } static int cram_add_pad(cram_container *c, cram_slice *s, cram_record *r, int pos, int len, char *base) { cram_feature f; f.S.pos = pos+1; f.S.code = 'P'; f.S.len = len; cram_stats_add(c->stats[DS_PD], len); return cram_add_feature(c, s, r, &f); } static int cram_add_insertion(cram_container *c, cram_slice *s, cram_record *r, int pos, int len, char *base) { cram_feature f; f.I.pos = pos+1; if (len == 1) { char b = base ? *base : 'N'; f.i.code = 'i'; f.i.base = b; cram_stats_add(c->stats[DS_BA], b); } else { f.I.code = 'I'; f.I.len = len; f.S.seq_idx = BLOCK_SIZE(s->base_blk); if (base) { BLOCK_APPEND(s->base_blk, base, len); } else { int i; for (i = 0; i < len; i++) BLOCK_APPEND_CHAR(s->base_blk, 'N'); } BLOCK_APPEND_CHAR(s->base_blk, '\0'); } return cram_add_feature(c, s, r, &f); } /* * Encodes auxiliary data. * Returns the read-group parsed out of the BAM aux fields on success * NULL on failure or no rg present (FIXME) */ static char *cram_encode_aux_1_0(cram_fd *fd, bam_seq_t *b, cram_container *c, cram_slice *s, cram_record *cr) { char *aux, *tmp, *rg = NULL; int aux_size = bam_blk_size(b) - ((char *)bam_aux(b) - (char *)&bam_ref(b)); /* Worst case is 1 nul char on every ??:Z: string, so +33% */ BLOCK_GROW(s->aux_blk, aux_size*1.34+1); tmp = (char *)BLOCK_END(s->aux_blk); aux = (char *)bam_aux(b); cr->TN_idx = s->nTN; while (aux[0] != 0) { int32_t i32; int r; if (aux[0] == 'R' && aux[1] == 'G' && aux[2] == 'Z') { rg = &aux[3]; while (*aux++); continue; } if (aux[0] == 'M' && aux[1] == 'D' && aux[2] == 'Z') { while (*aux++); continue; } if (aux[0] == 'N' && aux[1] == 'M') { switch(aux[2]) { case 'A': case 'C': case 'c': aux+=4; break; case 'I': case 'i': case 'f': aux+=7; break; default: fprintf(stderr, "Unhandled type code for NM tag\n"); return NULL; } continue; } cr->ntags++; i32 = (aux[0]<<16) | (aux[1]<<8) | aux[2]; kh_put(s_i2i, c->tags_used, i32, &r); if (-1 == r) return NULL; if (s->nTN >= s->aTN) { s->aTN = s->aTN ? s->aTN*2 : 1024; if (!(s->TN = realloc(s->TN, s->aTN * sizeof(*s->TN)))) return NULL; } s->TN[s->nTN++] = i32; cram_stats_add(c->stats[DS_TN], i32); switch(aux[2]) { case 'A': case 'C': case 'c': aux+=3; //*tmp++=*aux++; *tmp++=*aux++; *tmp++=*aux++; *tmp++=*aux++; break; case 'S': case 's': aux+=3; //*tmp++=*aux++; *tmp++=*aux++; *tmp++=*aux++; *tmp++=*aux++; *tmp++=*aux++; break; case 'I': case 'i': case 'f': aux+=3; //*tmp++=*aux++; *tmp++=*aux++; *tmp++=*aux++; *tmp++=*aux++; *tmp++=*aux++; *tmp++=*aux++; *tmp++=*aux++; break; case 'd': aux+=3; //*tmp++=*aux++; *tmp++=*aux++; *tmp++=*aux++; *tmp++=*aux++; *tmp++=*aux++; *tmp++=*aux++; *tmp++=*aux++; *tmp++=*aux++; *tmp++=*aux++; *tmp++=*aux++; *tmp++=*aux++; break; case 'Z': case 'H': aux+=3; //*tmp++=*aux++; *tmp++=*aux++; *tmp++=*aux++; while ((*tmp++=*aux++)); *tmp++ = '\t'; // stop byte break; case 'B': { int type = aux[3], blen; uint32_t count = (uint32_t)((((unsigned char *)aux)[4]<< 0) + (((unsigned char *)aux)[5]<< 8) + (((unsigned char *)aux)[6]<<16) + (((unsigned char *)aux)[7]<<24)); // skip TN field aux+=3; //*tmp++=*aux++; *tmp++=*aux++; *tmp++=*aux++; // We use BYTE_ARRAY_LEN with external length, so store that first switch (type) { case 'c': case 'C': blen = count; break; case 's': case 'S': blen = 2*count; break; case 'i': case 'I': case 'f': blen = 4*count; break; default: fprintf(stderr, "Unknown sub-type '%c' for aux type 'B'\n", type); return NULL; } tmp += itf8_put(tmp, blen+5); *tmp++=*aux++; // sub-type & length *tmp++=*aux++; *tmp++=*aux++; *tmp++=*aux++; *tmp++=*aux++; // The tag data itself memcpy(tmp, aux, blen); tmp += blen; aux += blen; //cram_stats_add(c->aux_B_stats, blen); break; } default: fprintf(stderr, "Unknown aux type '%c'\n", aux[2]); return NULL; } } cram_stats_add(c->stats[DS_TC], cr->ntags); cr->aux = BLOCK_SIZE(s->aux_blk); cr->aux_size = (uc *)tmp - (BLOCK_DATA(s->aux_blk) + cr->aux); BLOCK_SIZE(s->aux_blk) = (uc *)tmp - BLOCK_DATA(s->aux_blk); assert(s->aux_blk->byte <= s->aux_blk->alloc); return rg; } /* * Encodes auxiliary data. Largely duplicated from above, but done so to * keep it simple and avoid a myriad of version ifs. * * Returns the read-group parsed out of the BAM aux fields on success * NULL on failure or no rg present (FIXME) */ static char *cram_encode_aux(cram_fd *fd, bam_seq_t *b, cram_container *c, cram_slice *s, cram_record *cr) { char *aux, *orig, *tmp, *rg = NULL; int aux_size = bam_get_l_aux(b); cram_block *td_b = c->comp_hdr->TD_blk; int TD_blk_size = BLOCK_SIZE(td_b), new; char *key; khint_t k; /* Worst case is 1 nul char on every ??:Z: string, so +33% */ BLOCK_GROW(s->aux_blk, aux_size*1.34+1); tmp = (char *)BLOCK_END(s->aux_blk); orig = aux = (char *)bam_aux(b); // Copy aux keys to td_b and aux values to s->aux_blk while (aux - orig < aux_size && aux[0] != 0) { uint32_t i32; int r; if (aux[0] == 'R' && aux[1] == 'G' && aux[2] == 'Z') { rg = &aux[3]; while (*aux++); continue; } if (aux[0] == 'M' && aux[1] == 'D' && aux[2] == 'Z') { while (*aux++); continue; } if (aux[0] == 'N' && aux[1] == 'M') { switch(aux[2]) { case 'A': case 'C': case 'c': aux+=4; break; case 'S': case 's': aux+=5; break; case 'I': case 'i': case 'f': aux+=7; break; default: fprintf(stderr, "Unhandled type code for NM tag\n"); return NULL; } continue; } BLOCK_APPEND(td_b, aux, 3); i32 = (aux[0]<<16) | (aux[1]<<8) | aux[2]; kh_put(s_i2i, c->tags_used, i32, &r); if (-1 == r) return NULL; // BQ:Z if (aux[0] == 'B' && aux[1] == 'Q' && aux[2] == 'Z') { char *tmp; if (!s->aux_BQ_blk) if (!(s->aux_BQ_blk = cram_new_block(EXTERNAL, DS_aux_BQ))) return NULL; BLOCK_GROW(s->aux_BQ_blk, aux_size*1.34+1); tmp = (char *)BLOCK_END(s->aux_BQ_blk); aux += 3; while ((*tmp++=*aux++)); *tmp++ = '\t'; BLOCK_SIZE(s->aux_BQ_blk) = (uc *)tmp - BLOCK_DATA(s->aux_BQ_blk); continue; } // BD:Z if (aux[0] == 'B' && aux[1]=='D' && aux[2] == 'Z') { char *tmp; if (!s->aux_BD_blk) if (!(s->aux_BD_blk = cram_new_block(EXTERNAL, DS_aux_BD))) return NULL; BLOCK_GROW(s->aux_BD_blk, aux_size*1.34+1); tmp = (char *)BLOCK_END(s->aux_BD_blk); aux += 3; while ((*tmp++=*aux++)); *tmp++ = '\t'; BLOCK_SIZE(s->aux_BD_blk) = (uc *)tmp - BLOCK_DATA(s->aux_BD_blk); continue; } // BI:Z if (aux[0] == 'B' && aux[1]=='I' && aux[2] == 'Z') { char *tmp; if (!s->aux_BI_blk) if (!(s->aux_BI_blk = cram_new_block(EXTERNAL, DS_aux_BI))) return NULL; BLOCK_GROW(s->aux_BI_blk, aux_size*1.34+1); tmp = (char *)BLOCK_END(s->aux_BI_blk); aux += 3; while ((*tmp++=*aux++)); *tmp++ = '\t'; BLOCK_SIZE(s->aux_BI_blk) = (uc *)tmp - BLOCK_DATA(s->aux_BI_blk); continue; } // OQ:Z: if (aux[0] == 'O' && aux[1] == 'Q' && aux[2] == 'Z') { char *tmp; if (!s->aux_OQ_blk) if (!(s->aux_OQ_blk = cram_new_block(EXTERNAL, DS_aux_OQ))) return NULL; BLOCK_GROW(s->aux_OQ_blk, aux_size*1.34+1); tmp = (char *)BLOCK_END(s->aux_OQ_blk); aux += 3; while ((*tmp++=*aux++)); *tmp++ = '\t'; BLOCK_SIZE(s->aux_OQ_blk) = (uc *)tmp - BLOCK_DATA(s->aux_OQ_blk); continue; } // FZ:B or ZM:B if ((aux[0] == 'F' && aux[1] == 'Z' && aux[2] == 'B') || (aux[0] == 'Z' && aux[1] == 'M' && aux[2] == 'B')) { int type = aux[3], blen; uint32_t count = (uint32_t)((((unsigned char *)aux)[4]<< 0) + (((unsigned char *)aux)[5]<< 8) + (((unsigned char *)aux)[6]<<16) + (((unsigned char *)aux)[7]<<24)); char *tmp; if (!s->aux_FZ_blk) if (!(s->aux_FZ_blk = cram_new_block(EXTERNAL, DS_aux_FZ))) return NULL; BLOCK_GROW(s->aux_FZ_blk, aux_size*1.34+1); tmp = (char *)BLOCK_END(s->aux_FZ_blk); // skip TN field aux+=3; // We use BYTE_ARRAY_LEN with external length, so store that first switch (type) { case 'c': case 'C': blen = count; break; case 's': case 'S': blen = 2*count; break; case 'i': case 'I': case 'f': blen = 4*count; break; default: fprintf(stderr, "Unknown sub-type '%c' for aux type 'B'\n", type); return NULL; } blen += 5; // sub-type & length tmp += itf8_put(tmp, blen); // The tag data itself memcpy(tmp, aux, blen); tmp += blen; aux += blen; BLOCK_SIZE(s->aux_FZ_blk) = (uc *)tmp - BLOCK_DATA(s->aux_FZ_blk); continue; } // Other quality data - {Q2,E2,U2,CQ}:Z and similar if (((aux[0] == 'Q' && aux[1] == '2') || (aux[0] == 'U' && aux[1] == '2') || (aux[0] == 'Q' && aux[1] == 'T') || (aux[0] == 'C' && aux[1] == 'Q')) && aux[2] == 'Z') { char *tmp; if (!s->aux_oq_blk) if (!(s->aux_oq_blk = cram_new_block(EXTERNAL, DS_aux_oq))) return NULL; BLOCK_GROW(s->aux_oq_blk, aux_size*1.34+1); tmp = (char *)BLOCK_END(s->aux_oq_blk); aux += 3; while ((*tmp++=*aux++)); *tmp++ = '\t'; BLOCK_SIZE(s->aux_oq_blk) = (uc *)tmp - BLOCK_DATA(s->aux_oq_blk); continue; } // Other sequence data - {R2,E2,CS,BC,RT}:Z and similar if (((aux[0] == 'R' && aux[1] == '2') || (aux[0] == 'E' && aux[1] == '2') || (aux[0] == 'C' && aux[1] == 'S') || (aux[0] == 'B' && aux[1] == 'C') || (aux[0] == 'R' && aux[1] == 'T')) && aux[2] == 'Z') { char *tmp; if (!s->aux_os_blk) if (!(s->aux_os_blk = cram_new_block(EXTERNAL, DS_aux_os))) return NULL; BLOCK_GROW(s->aux_os_blk, aux_size*1.34+1); tmp = (char *)BLOCK_END(s->aux_os_blk); aux += 3; while ((*tmp++=*aux++)); *tmp++ = '\t'; BLOCK_SIZE(s->aux_os_blk) = (uc *)tmp - BLOCK_DATA(s->aux_os_blk); continue; } switch(aux[2]) { case 'A': case 'C': case 'c': aux+=3; *tmp++=*aux++; break; case 'S': case 's': aux+=3; *tmp++=*aux++; *tmp++=*aux++; break; case 'I': case 'i': case 'f': aux+=3; *tmp++=*aux++; *tmp++=*aux++; *tmp++=*aux++; *tmp++=*aux++; break; case 'd': aux+=3; //*tmp++=*aux++; *tmp++=*aux++; *tmp++=*aux++; *tmp++=*aux++; *tmp++=*aux++; *tmp++=*aux++; *tmp++=*aux++; *tmp++=*aux++; *tmp++=*aux++; *tmp++=*aux++; *tmp++=*aux++; break; case 'Z': case 'H': { char *tmp; if (!s->aux_oz_blk) if (!(s->aux_oz_blk = cram_new_block(EXTERNAL, DS_aux_oz))) return NULL; BLOCK_GROW(s->aux_oz_blk, aux_size*1.34+1); tmp = (char *)BLOCK_END(s->aux_oz_blk); aux += 3; while ((*tmp++=*aux++)); *tmp++ = '\t'; BLOCK_SIZE(s->aux_oz_blk) = (uc *)tmp - BLOCK_DATA(s->aux_oz_blk); } break; case 'B': { int type = aux[3], blen; uint32_t count = (uint32_t)((((unsigned char *)aux)[4]<< 0) + (((unsigned char *)aux)[5]<< 8) + (((unsigned char *)aux)[6]<<16) + (((unsigned char *)aux)[7]<<24)); // skip TN field aux+=3; // We use BYTE_ARRAY_LEN with external length, so store that first switch (type) { case 'c': case 'C': blen = count; break; case 's': case 'S': blen = 2*count; break; case 'i': case 'I': case 'f': blen = 4*count; break; default: fprintf(stderr, "Unknown sub-type '%c' for aux type 'B'\n", type); return NULL; } blen += 5; // sub-type & length tmp += itf8_put(tmp, blen); // The tag data itself memcpy(tmp, aux, blen); tmp += blen; aux += blen; //cram_stats_add(c->aux_B_stats, blen); break; } default: fprintf(stderr, "Unknown aux type '%c'\n", aux[2]); return NULL; } } // FIXME: sort BLOCK_DATA(td_b) by char[3] triples // And and increment TD hash entry BLOCK_APPEND_CHAR(td_b, 0); // Duplicate key as BLOCK_DATA() can be realloced to a new pointer. key = string_ndup(c->comp_hdr->TD_keys, (char *)BLOCK_DATA(td_b) + TD_blk_size, BLOCK_SIZE(td_b) - TD_blk_size); k = kh_put(m_s2i, c->comp_hdr->TD_hash, key, &new); if (new < 0) { return NULL; } else if (new == 0) { BLOCK_SIZE(td_b) = TD_blk_size; } else { kh_val(c->comp_hdr->TD_hash, k) = c->comp_hdr->nTL; c->comp_hdr->nTL++; } cr->TL = kh_val(c->comp_hdr->TD_hash, k); cram_stats_add(c->stats[DS_TL], cr->TL); cr->aux = BLOCK_SIZE(s->aux_blk); cr->aux_size = (uc *)tmp - (BLOCK_DATA(s->aux_blk) + cr->aux); BLOCK_SIZE(s->aux_blk) = (uc *)tmp - BLOCK_DATA(s->aux_blk); assert(s->aux_blk->byte <= s->aux_blk->alloc); return rg; } /* * Handles creation of a new container or new slice, flushing any * existing containers when appropriate. * * Really this is next slice, which may or may not lead to a new container. * * Returns cram_container pointer on success * NULL on failure. */ static cram_container *cram_next_container(cram_fd *fd, bam_seq_t *b) { cram_container *c = fd->ctr; cram_slice *s; int i; /* First occurence */ if (c->curr_ref == -2) c->curr_ref = bam_ref(b); if (c->slice) { s = c->slice; if (c->multi_seq) { s->hdr->ref_seq_id = -2; s->hdr->ref_seq_start = 0; s->hdr->ref_seq_span = 0; } else { s->hdr->ref_seq_id = c->curr_ref; s->hdr->ref_seq_start = c->first_base; s->hdr->ref_seq_span = c->last_base - c->first_base + 1; } s->hdr->num_records = c->curr_rec; if (c->curr_slice == 0) { if (c->ref_seq_id != s->hdr->ref_seq_id) c->ref_seq_id = s->hdr->ref_seq_id; c->ref_seq_start = c->first_base; } c->curr_slice++; } /* Flush container */ if (c->curr_slice == c->max_slice || (bam_ref(b) != c->curr_ref && !c->multi_seq)) { c->ref_seq_span = fd->last_base - c->ref_seq_start + 1; if (fd->verbose) fprintf(stderr, "Flush container %d/%d..%d\n", c->ref_seq_id, c->ref_seq_start, c->ref_seq_start + c->ref_seq_span -1); /* Encode slices */ if (fd->pool) { if (-1 == cram_flush_container_mt(fd, c)) return NULL; } else { if (-1 == cram_flush_container(fd, c)) return NULL; // Move to sep func, as we need cram_flush_container for // the closing phase to flush the partial container. for (i = 0; i < c->max_slice; i++) { cram_free_slice(c->slices[i]); c->slices[i] = NULL; } c->slice = NULL; c->curr_slice = 0; /* Easy approach for purposes of freeing stats */ cram_free_container(c); } c = fd->ctr = cram_new_container(fd->seqs_per_slice, fd->slices_per_container); if (!c) return NULL; c->record_counter = fd->record_counter; c->curr_ref = bam_ref(b); } c->last_pos = c->first_base = c->last_base = bam_pos(b)+1; /* New slice */ c->slice = c->slices[c->curr_slice] = cram_new_slice(MAPPED_SLICE, c->max_rec); if (!c->slice) return NULL; if (c->multi_seq) { c->slice->hdr->ref_seq_id = -2; c->slice->hdr->ref_seq_start = 0; c->slice->last_apos = 1; } else { c->slice->hdr->ref_seq_id = bam_ref(b); // wrong for unsorted data, will fix during encoding. c->slice->hdr->ref_seq_start = bam_pos(b)+1; c->slice->last_apos = bam_pos(b)+1; } c->curr_rec = 0; return c; } /* * Converts a single bam record into a cram record. * Possibly used within a thread. * * Returns 0 on success; * -1 on failure */ static int process_one_read(cram_fd *fd, cram_container *c, cram_slice *s, cram_record *cr, bam_seq_t *b, int rnum) { int i, fake_qual = -1; char *cp, *rg; char *ref, *seq, *qual; // FIXME: multi-ref containers ref = c->ref; cr->len = bam_seq_len(b); cram_stats_add(c->stats[DS_RL], cr->len); //fprintf(stderr, "%s => %d\n", rg ? rg : "\"\"", cr->rg); // Fields to resolve later //cr->mate_line; // index to another cram_record //cr->mate_flags; // MF //cr->ntags; // TC cr->ntags = 0; //cram_stats_add(c->stats[DS_TC], cr->ntags); if (CRAM_MAJOR_VERS(fd->version) == 1) rg = cram_encode_aux_1_0(fd, b, c, s, cr); else rg = cram_encode_aux(fd, b, c, s, cr); //cr->aux_size = b->blk_size - ((char *)bam_aux(b) - (char *)&bam_ref(b)); //cr->aux = DSTRING_LEN(s->aux_ds); //dstring_nappend(s->aux_ds, bam_aux(b), cr->aux_size); /* Read group, identified earlier */ if (rg) { SAM_RG *brg = sam_hdr_find_rg(fd->header, rg); cr->rg = brg ? brg->id : -1; } else if (CRAM_MAJOR_VERS(fd->version) == 1) { SAM_RG *brg = sam_hdr_find_rg(fd->header, "UNKNOWN"); assert(brg); } else { cr->rg = -1; } cram_stats_add(c->stats[DS_RG], cr->rg); cr->ref_id = bam_ref(b); cram_stats_add(c->stats[DS_RI], cr->ref_id); cr->flags = bam_flag(b); if (bam_cigar_len(b) == 0) cr->flags |= BAM_FUNMAP; cram_stats_add(c->stats[DS_BF], fd->cram_flag_swap[cr->flags & 0xfff]); // Non reference based encoding means storing the bases verbatim as features, which in // turn means every base also has a quality already stored. if (!fd->no_ref || CRAM_MAJOR_VERS(fd->version) >= 3) cr->cram_flags = CRAM_FLAG_PRESERVE_QUAL_SCORES; else cr->cram_flags = 0; //cram_stats_add(c->stats[DS_CF], cr->cram_flags); c->num_bases += cr->len; cr->apos = bam_pos(b)+1; if (c->pos_sorted) { if (cr->apos < s->last_apos) { c->pos_sorted = 0; } else { cram_stats_add(c->stats[DS_AP], cr->apos - s->last_apos); s->last_apos = cr->apos; } } else { //cram_stats_add(c->stats[DS_AP], cr->apos); } c->max_apos += (cr->apos > c->max_apos) * (cr->apos - c->max_apos); cr->name = BLOCK_SIZE(s->name_blk); cr->name_len = bam_name_len(b); cram_stats_add(c->stats[DS_RN], cr->name_len); BLOCK_APPEND(s->name_blk, bam_name(b), bam_name_len(b)); /* * This seqs_ds is largely pointless and it could reuse the same memory * over and over. * s->base_blk is what we need for encoding. */ cr->seq = BLOCK_SIZE(s->seqs_blk); cr->qual = BLOCK_SIZE(s->qual_blk); BLOCK_GROW(s->seqs_blk, cr->len+1); BLOCK_GROW(s->qual_blk, cr->len); seq = cp = (char *)BLOCK_END(s->seqs_blk); *seq = 0; #ifdef ALLOW_UAC { // Convert seq 2 bases at a time for speed. static const uint16_t code2base[256] = { 15677, 16701, 17213, 19773, 18237, 21053, 21309, 22077, 21565, 22333, 22845, 18493, 19261, 17469, 16957, 20029, 15681, 16705, 17217, 19777, 18241, 21057, 21313, 22081, 21569, 22337, 22849, 18497, 19265, 17473, 16961, 20033, 15683, 16707, 17219, 19779, 18243, 21059, 21315, 22083, 21571, 22339, 22851, 18499, 19267, 17475, 16963, 20035, 15693, 16717, 17229, 19789, 18253, 21069, 21325, 22093, 21581, 22349, 22861, 18509, 19277, 17485, 16973, 20045, 15687, 16711, 17223, 19783, 18247, 21063, 21319, 22087, 21575, 22343, 22855, 18503, 19271, 17479, 16967, 20039, 15698, 16722, 17234, 19794, 18258, 21074, 21330, 22098, 21586, 22354, 22866, 18514, 19282, 17490, 16978, 20050, 15699, 16723, 17235, 19795, 18259, 21075, 21331, 22099, 21587, 22355, 22867, 18515, 19283, 17491, 16979, 20051, 15702, 16726, 17238, 19798, 18262, 21078, 21334, 22102, 21590, 22358, 22870, 18518, 19286, 17494, 16982, 20054, 15700, 16724, 17236, 19796, 18260, 21076, 21332, 22100, 21588, 22356, 22868, 18516, 19284, 17492, 16980, 20052, 15703, 16727, 17239, 19799, 18263, 21079, 21335, 22103, 21591, 22359, 22871, 18519, 19287, 17495, 16983, 20055, 15705, 16729, 17241, 19801, 18265, 21081, 21337, 22105, 21593, 22361, 22873, 18521, 19289, 17497, 16985, 20057, 15688, 16712, 17224, 19784, 18248, 21064, 21320, 22088, 21576, 22344, 22856, 18504, 19272, 17480, 16968, 20040, 15691, 16715, 17227, 19787, 18251, 21067, 21323, 22091, 21579, 22347, 22859, 18507, 19275, 17483, 16971, 20043, 15684, 16708, 17220, 19780, 18244, 21060, 21316, 22084, 21572, 22340, 22852, 18500, 19268, 17476, 16964, 20036, 15682, 16706, 17218, 19778, 18242, 21058, 21314, 22082, 21570, 22338, 22850, 18498, 19266, 17474, 16962, 20034, 15694, 16718, 17230, 19790, 18254, 21070, 21326, 22094, 21582, 22350, 22862, 18510, 19278, 17486, 16974, 20046 }; int l2 = cr->len / 2; unsigned char *from = (unsigned char *)bam_seq(b); uint16_t *cpi = (uint16_t *)cp; cp[0] = 0; for (i = 0; i < l2; i++) cpi[i] = le_int2(code2base[from[i]]); if ((i *= 2) < cr->len) cp[i] = seq_nt16_str[bam_seqi(bam_seq(b), i)]; } #else for (i = 0; i < cr->len; i++) cp[i] = seq_nt16_str[bam_seqi(bam_seq(b), i)]; #endif BLOCK_SIZE(s->seqs_blk) += cr->len; qual = cp = (char *)bam_qual(b); /* Copy and parse */ if (!(cr->flags & BAM_FUNMAP)) { int32_t *cig_to, *cig_from; int apos = cr->apos-1, spos = 0; cr->cigar = s->ncigar; cr->ncigar = bam_cigar_len(b); while (cr->cigar + cr->ncigar >= s->cigar_alloc) { s->cigar_alloc = s->cigar_alloc ? s->cigar_alloc*2 : 1024; s->cigar = realloc(s->cigar, s->cigar_alloc * sizeof(*s->cigar)); if (!s->cigar) return -1; } cig_to = (int32_t *)s->cigar; cig_from = (int32_t *)bam_cigar(b); cr->feature = 0; cr->nfeature = 0; for (i = 0; i < cr->ncigar; i++) { enum cigar_op cig_op = cig_from[i] & BAM_CIGAR_MASK; int cig_len = cig_from[i] >> BAM_CIGAR_SHIFT; cig_to[i] = cig_from[i]; /* Can also generate events from here for CRAM diffs */ switch (cig_op) { int l; // Don't trust = and X ops to be correct. case BAM_CMATCH: case BAM_CBASE_MATCH: case BAM_CBASE_MISMATCH: //fprintf(stderr, "\nBAM_CMATCH\nR: %.*s\nS: %.*s\n", // cig_len, &ref[apos], cig_len, &seq[spos]); l = 0; if (!fd->no_ref && cr->len) { int end = cig_len+apos < c->ref_end ? cig_len : c->ref_end - apos; char *sp = &seq[spos]; char *rp = &ref[apos]; char *qp = &qual[spos]; for (l = 0; l < end; l++) { if (rp[l] != sp[l]) { if (!sp[l]) break; if (0 && CRAM_MAJOR_VERS(fd->version) >= 3) { // Disabled for the time being as it doesn't // seem to gain us much. int ol=l; while (l 1) { if (cram_add_bases(fd, c, s, cr, spos+ol, l-ol, &seq[spos+ol])) return -1; l--; } else { l = ol; if (cram_add_substitution(fd, c, s, cr, spos+l, sp[l], qp[l], rp[l])) return -1; } } else { if (cram_add_substitution(fd, c, s, cr, spos+l, sp[l], qp[l], rp[l])) return -1; } } } spos += l; apos += l; } if (l < cig_len && cr->len) { if (fd->no_ref) { if (CRAM_MAJOR_VERS(fd->version) == 3) { if (cram_add_bases(fd, c, s, cr, spos, cig_len-l, &seq[spos])) return -1; spos += cig_len-l; } else { for (; l < cig_len && seq[spos]; l++, spos++) { if (cram_add_base(fd, c, s, cr, spos, seq[spos], qual[spos])) return -1; } } } else { /* off end of sequence or non-ref based output */ for (; l < cig_len && seq[spos]; l++, spos++) { if (cram_add_base(fd, c, s, cr, spos, seq[spos], qual[spos])) return -1; } } apos += cig_len; } else if (!cr->len) { /* Seq "*" */ apos += cig_len; spos += cig_len; } break; case BAM_CDEL: if (cram_add_deletion(c, s, cr, spos, cig_len, &seq[spos])) return -1; apos += cig_len; break; case BAM_CREF_SKIP: if (cram_add_skip(c, s, cr, spos, cig_len, &seq[spos])) return -1; apos += cig_len; break; case BAM_CINS: if (cram_add_insertion(c, s, cr, spos, cig_len, cr->len ? &seq[spos] : NULL)) return -1; if (fd->no_ref && cr->len) { for (l = 0; l < cig_len; l++, spos++) { cram_add_quality(fd, c, s, cr, spos, qual[spos]); } } else { spos += cig_len; } break; case BAM_CSOFT_CLIP: if (cram_add_softclip(c, s, cr, spos, cig_len, cr->len ? &seq[spos] : NULL, fd->version)) return -1; if (fd->no_ref && !(cr->cram_flags & CRAM_FLAG_PRESERVE_QUAL_SCORES)) { if (cr->len) { for (l = 0; l < cig_len; l++, spos++) { cram_add_quality(fd, c, s, cr, spos, qual[spos]); } } else { for (l = 0; l < cig_len; l++, spos++) { cram_add_quality(fd, c, s, cr, spos, -1); } } } else { spos += cig_len; } break; case BAM_CHARD_CLIP: if (cram_add_hardclip(c, s, cr, spos, cig_len, &seq[spos])) return -1; break; case BAM_CPAD: if (cram_add_pad(c, s, cr, spos, cig_len, &seq[spos])) return -1; break; } } fake_qual = spos; cr->aend = MIN(apos, c->ref_end); cram_stats_add(c->stats[DS_FN], cr->nfeature); } else { // Unmapped cr->cram_flags |= CRAM_FLAG_PRESERVE_QUAL_SCORES; cr->cigar = 0; cr->ncigar = 0; cr->nfeature = 0; cr->aend = cr->apos; for (i = 0; i < cr->len; i++) cram_stats_add(c->stats[DS_BA], seq[i]); } /* * Append to the qual block now. We do this here as * cram_add_substitution() can generate BA/QS events which need to * be in the qual block before we append the rest of the data. */ if (cr->cram_flags & CRAM_FLAG_PRESERVE_QUAL_SCORES) { /* Special case of seq "*" */ if (cr->len == 0) { cram_stats_add(c->stats[DS_RL], cr->len = fake_qual); BLOCK_GROW(s->qual_blk, cr->len); cp = (char *)BLOCK_END(s->qual_blk); memset(cp, 255, cr->len); } else { BLOCK_GROW(s->qual_blk, cr->len); cp = (char *)BLOCK_END(s->qual_blk); char *from = (char *)&bam_qual(b)[0]; char *to = &cp[0]; memcpy(to, from, cr->len); //for (i = 0; i < cr->len; i++) cp[i] = from[i]; } BLOCK_SIZE(s->qual_blk) += cr->len; } else { if (cr->len == 0) { cr->len = fake_qual >= 0 ? fake_qual : cr->aend - cr->apos + 1; cram_stats_add(c->stats[DS_RL], cr->len); } } /* Now we know apos and aend both, update mate-pair information */ { int new; khint_t k; int sec = (cr->flags & BAM_FSECONDARY) ? 1 : 0; //fprintf(stderr, "Checking %"PRId64"/%.*s\t", rnum, // cr->name_len, DSTRING_STR(s->name_ds)+cr->name); if (cr->flags & BAM_FPAIRED) { char *key = string_ndup(s->pair_keys, (char *)BLOCK_DATA(s->name_blk)+cr->name, cr->name_len); if (!key) return -1; k = kh_put(m_s2i, s->pair[sec], key, &new); if (-1 == new) return -1; else if (new > 0) kh_val(s->pair[sec], k) = rnum; } else { new = 1; } if (new == 0) { cram_record *p = &s->crecs[kh_val(s->pair[sec], k)]; int aleft, aright, sign; aleft = MIN(cr->apos, p->apos); aright = MAX(cr->aend, p->aend); if (cr->apos < p->apos) { sign = 1; } else if (cr->apos > p->apos) { sign = -1; } else if (cr->flags & BAM_FREAD1) { sign = 1; } else { sign = -1; } //fprintf(stderr, "paired %"PRId64"\n", kh_val(s->pair[sec], k)); // This vs p: tlen, matepos, flags if (bam_ins_size(b) != sign*(aright-aleft+1)) goto detached; if (MAX(bam_mate_pos(b)+1, 0) != p->apos) goto detached; if (((bam_flag(b) & BAM_FMUNMAP) != 0) != ((p->flags & BAM_FUNMAP) != 0)) goto detached; if (((bam_flag(b) & BAM_FMREVERSE) != 0) != ((p->flags & BAM_FREVERSE) != 0)) goto detached; // p vs this: tlen, matepos, flags if (p->tlen != -sign*(aright-aleft+1)) goto detached; if (p->mate_pos != cr->apos) goto detached; if (((p->flags & BAM_FMUNMAP) != 0) != ((p->mate_flags & CRAM_M_UNMAP) != 0)) goto detached; if (((p->flags & BAM_FMREVERSE) != 0) != ((p->mate_flags & CRAM_M_REVERSE) != 0)) goto detached; // Supplementary reads are just too ill defined if ((cr->flags & BAM_FSUPPLEMENTARY) || (p->flags & BAM_FSUPPLEMENTARY)) goto detached; /* * The fields below are unused when encoding this read as it is * no longer detached. In theory they may get referred to when * processing a 3rd or 4th read in this template?, so we set them * here just to be sure. * * They do not need cram_stats_add() calls those as they are * not emitted. */ cr->mate_pos = p->apos; cr->tlen = sign*(aright-aleft+1); cr->mate_flags = ((p->flags & BAM_FMUNMAP) == BAM_FMUNMAP) * CRAM_M_UNMAP + ((p->flags & BAM_FMREVERSE) == BAM_FMREVERSE) * CRAM_M_REVERSE; // Decrement statistics aggregated earlier cram_stats_del(c->stats[DS_NP], p->mate_pos); cram_stats_del(c->stats[DS_MF], p->mate_flags); cram_stats_del(c->stats[DS_TS], p->tlen); cram_stats_del(c->stats[DS_NS], p->mate_ref_id); /* Similarly we could correct the p-> values too, but these will no * longer have any code that refers back to them as the new 'p' * for this template is our current 'cr'. */ //p->mate_pos = cr->apos; //p->mate_flags = // ((cr->flags & BAM_FMUNMAP) == BAM_FMUNMAP) * CRAM_M_UNMAP + // ((cr->flags & BAM_FMREVERSE) == BAM_FMREVERSE)* CRAM_M_REVERSE; //p->tlen = p->apos - cr->aend; // Clear detached from cr flags cr->cram_flags &= ~CRAM_FLAG_DETACHED; cram_stats_add(c->stats[DS_CF], cr->cram_flags); // Clear detached from p flags and set downstream cram_stats_del(c->stats[DS_CF], p->cram_flags); p->cram_flags &= ~CRAM_FLAG_DETACHED; p->cram_flags |= CRAM_FLAG_MATE_DOWNSTREAM; cram_stats_add(c->stats[DS_CF], p->cram_flags); p->mate_line = rnum - (kh_val(s->pair[sec], k) + 1); cram_stats_add(c->stats[DS_NF], p->mate_line); kh_val(s->pair[sec], k) = rnum; } else { detached: //fprintf(stderr, "unpaired\n"); /* Derive mate flags from this flag */ cr->mate_flags = 0; if (bam_flag(b) & BAM_FMUNMAP) cr->mate_flags |= CRAM_M_UNMAP; if (bam_flag(b) & BAM_FMREVERSE) cr->mate_flags |= CRAM_M_REVERSE; cram_stats_add(c->stats[DS_MF], cr->mate_flags); cr->mate_pos = MAX(bam_mate_pos(b)+1, 0); cram_stats_add(c->stats[DS_NP], cr->mate_pos); cr->tlen = bam_ins_size(b); cram_stats_add(c->stats[DS_TS], cr->tlen); cr->cram_flags |= CRAM_FLAG_DETACHED; cram_stats_add(c->stats[DS_CF], cr->cram_flags); cram_stats_add(c->stats[DS_NS], bam_mate_ref(b)); } } cr->mqual = bam_map_qual(b); cram_stats_add(c->stats[DS_MQ], cr->mqual); cr->mate_ref_id = bam_mate_ref(b); if (!(bam_flag(b) & BAM_FUNMAP)) { if (c->first_base > cr->apos) c->first_base = cr->apos; if (c->last_base < cr->aend) c->last_base = cr->aend; } return 0; } /* * Write iterator: put BAM format sequences into a CRAM file. * We buffer up a containers worth of data at a time. * * Returns 0 on success * -1 on failure */ int cram_put_bam_seq(cram_fd *fd, bam_seq_t *b) { cram_container *c; if (!fd->ctr) { fd->ctr = cram_new_container(fd->seqs_per_slice, fd->slices_per_container); if (!fd->ctr) return -1; fd->ctr->record_counter = fd->record_counter; } c = fd->ctr; if (!c->slice || c->curr_rec == c->max_rec || (bam_ref(b) != c->curr_ref && c->curr_ref >= -1)) { int slice_rec, curr_rec, multi_seq = fd->multi_seq == 1; int curr_ref = c->slice ? c->curr_ref : bam_ref(b); /* * Start packing slices when we routinely have under 1/4tr full. * * This option isn't available if we choose to embed references * since we can only have one per slice. */ if (fd->multi_seq == -1 && c->curr_rec < c->max_rec/4+10 && fd->last_slice && fd->last_slice < c->max_rec/4+10 && !fd->embed_ref) { if (fd->verbose && !c->multi_seq) fprintf(stderr, "Multi-ref enabled for this container\n"); multi_seq = 1; } slice_rec = c->slice_rec; curr_rec = c->curr_rec; if (CRAM_MAJOR_VERS(fd->version) == 1 || c->curr_rec == c->max_rec || fd->multi_seq != 1 || !c->slice) { if (NULL == (c = cram_next_container(fd, b))) { if (fd->ctr) { // prevent cram_close attempting to flush cram_free_container(fd->ctr); fd->ctr = NULL; } return -1; } } /* * Due to our processing order, some things we've already done we * cannot easily undo. So when we first notice we should be packing * multiple sequences per container we emit the small partial * container as-is and then start a fresh one in a different mode. */ if (multi_seq) { fd->multi_seq = 1; c->multi_seq = 1; c->pos_sorted = 0; // required atm for multi_seq slices if (!c->refs_used) { pthread_mutex_lock(&fd->ref_lock); c->refs_used = calloc(fd->refs->nref, sizeof(int)); pthread_mutex_unlock(&fd->ref_lock); if (!c->refs_used) return -1; } } fd->last_slice = curr_rec - slice_rec; c->slice_rec = c->curr_rec; // Have we seen this reference before? if (bam_ref(b) >= 0 && bam_ref(b) != curr_ref && !fd->embed_ref && !fd->unsorted && multi_seq) { if (!c->refs_used) { pthread_mutex_lock(&fd->ref_lock); c->refs_used = calloc(fd->refs->nref, sizeof(int)); pthread_mutex_unlock(&fd->ref_lock); if (!c->refs_used) return -1; } else if (c->refs_used && c->refs_used[bam_ref(b)]) { fprintf(stderr, "Unsorted mode enabled\n"); pthread_mutex_lock(&fd->ref_lock); fd->unsorted = 1; pthread_mutex_unlock(&fd->ref_lock); fd->multi_seq = 1; } } c->curr_ref = bam_ref(b); if (c->refs_used && c->curr_ref >= 0) c->refs_used[c->curr_ref]++; } if (!c->bams) { /* First time through, allocate a set of bam pointers */ pthread_mutex_lock(&fd->bam_list_lock); if (fd->bl) { spare_bams *spare = fd->bl; c->bams = spare->bams; fd->bl = spare->next; free(spare); } else { c->bams = calloc(c->max_c_rec, sizeof(bam_seq_t *)); if (!c->bams) return -1; } pthread_mutex_unlock(&fd->bam_list_lock); } /* Copy or alloc+copy the bam record, for later encoding */ if (c->bams[c->curr_c_rec]) bam_copy1(c->bams[c->curr_c_rec], b); else c->bams[c->curr_c_rec] = bam_dup(b); c->curr_rec++; c->curr_c_rec++; fd->record_counter++; return 0; } htslib-1.2.1/cram/cram_encode.h000066400000000000000000000063631246417267700163620ustar00rootroot00000000000000/* Copyright (c) 2012-2013 Genome Research Ltd. Author: James Bonfield Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. 3. Neither the names Genome Research Ltd and Wellcome Trust Sanger Institute nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY GENOME RESEARCH LTD AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL GENOME RESEARCH LTD OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ /*! \file * Include cram.h instead. * * This is an internal part of the CRAM system and is automatically included * when you #include cram.h. * * Implements the encoding portion of CRAM I/O. Also see * cram_codecs.[ch] for the actual encoding functions themselves. */ #ifndef _CRAM_WRITE_H_ #define _CRAM_WRITE_H_ #ifdef __cplusplus extern "C" { #endif /* ---------------------------------------------------------------------- * CRAM sequence iterators. */ /*! Write iterator: put BAM format sequences into a CRAM file. * * We buffer up a containers worth of data at a time. * * FIXME: break this into smaller pieces. * * @return * Returns 0 on success; * -1 on failure */ int cram_put_bam_seq(cram_fd *fd, bam_seq_t *b); /* ---------------------------------------------------------------------- * Internal functions */ /*! INTERNAL: * Encodes a compression header block into a generic cram_block structure. * * @return * Returns cram_block ptr on success; * NULL on failure */ cram_block *cram_encode_compression_header(cram_fd *fd, cram_container *c, cram_block_compression_hdr *h); /*! INTERNAL: * Encodes a slice compression header. * * @return * Returns cram_block on success; * NULL on failure */ cram_block *cram_encode_slice_header(cram_fd *fd, cram_slice *s); /*! INTERNAL: * Encodes all slices in a container into blocks. * * @return * Returns 0 on success; * -1 on failure * * FIXME: separate into encode_container and write_container. Ideally * we should be able to do read_container / write_container or * decode_container / encode_container. */ int cram_encode_container(cram_fd *fd, cram_container *c); #ifdef __cplusplus } #endif #endif htslib-1.2.1/cram/cram_index.c000066400000000000000000000334141246417267700162240ustar00rootroot00000000000000/* Copyright (c) 2013-2014 Genome Research Ltd. Author: James Bonfield Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. 3. Neither the names Genome Research Ltd and Wellcome Trust Sanger Institute nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY GENOME RESEARCH LTD AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL GENOME RESEARCH LTD OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ /* * The index is a gzipped tab-delimited text file with one line per slice. * The columns are: * 1: reference number (0 to N-1, as per BAM ref_id) * 2: reference position of 1st read in slice (1..?) * 3: number of reads in slice * 4: offset of container start (relative to end of SAM header, so 1st * container is offset 0). * 5: slice number within container (ie which landmark). * * In memory, we hold this in a nested containment list. Each list element is * a cram_index struct. Each element in turn can contain its own list of * cram_index structs. * * Any start..end range which is entirely contained within another (and * earlier as it is sorted) range will be held within it. This ensures that * the outer list will never have containments and we can safely do a * binary search to find the first range which overlaps any given coordinate. */ #ifdef HAVE_CONFIG_H #include "io_lib_config.h" #endif #include #include #include #include #include #include #include #include #include #include #include "htslib/hfile.h" #include "cram/cram.h" #include "cram/os.h" #include "cram/zfio.h" #if 0 static void dump_index_(cram_index *e, int level) { int i, n; n = printf("%*s%d / %d .. %d, ", level*4, "", e->refid, e->start, e->end); printf("%*soffset %"PRId64"\n", MAX(0,50-n), "", e->offset); for (i = 0; i < e->nslice; i++) { dump_index_(&e->e[i], level+1); } } static void dump_index(cram_fd *fd) { int i; for (i = 0; i < fd->index_sz; i++) { dump_index_(&fd->index[i], 0); } } #endif static int kget_int32(kstring_t *k, size_t *pos, int32_t *val_p) { int sign = 1; int32_t val = 0; size_t p = *pos; while (p < k->l && (k->s[p] == ' ' || k->s[p] == '\t')) p++; if (p < k->l && k->s[p] == '-') sign = -1, p++; if (p >= k->l || !(k->s[p] >= '0' && k->s[p] <= '9')) return -1; while (p < k->l && k->s[p] >= '0' && k->s[p] <= '9') val = val*10 + k->s[p++]-'0'; *pos = p; *val_p = sign*val; return 0; } static int kget_int64(kstring_t *k, size_t *pos, int64_t *val_p) { int sign = 1; int64_t val = 0; size_t p = *pos; while (p < k->l && (k->s[p] == ' ' || k->s[p] == '\t')) p++; if (p < k->l && k->s[p] == '-') sign = -1, p++; if (p >= k->l || !(k->s[p] >= '0' && k->s[p] <= '9')) return -1; while (p < k->l && k->s[p] >= '0' && k->s[p] <= '9') val = val*10 + k->s[p++]-'0'; *pos = p; *val_p = sign*val; return 0; } /* * Loads a CRAM .crai index into memory. * * Returns 0 for success * -1 for failure */ int cram_index_load(cram_fd *fd, const char *fn) { char fn2[PATH_MAX]; char buf[65536]; ssize_t len; kstring_t kstr = {0}; hFILE *fp; cram_index *idx; cram_index **idx_stack = NULL, *ep, e; int idx_stack_alloc = 0, idx_stack_ptr = 0; size_t pos = 0; /* Check if already loaded */ if (fd->index) return 0; fd->index = calloc((fd->index_sz = 1), sizeof(*fd->index)); if (!fd->index) return -1; idx = &fd->index[0]; idx->refid = -1; idx->start = INT_MIN; idx->end = INT_MAX; idx_stack = calloc(++idx_stack_alloc, sizeof(*idx_stack)); idx_stack[idx_stack_ptr] = idx; sprintf(fn2, "%s.crai", fn); if (!(fp = hopen(fn2, "r"))) { perror(fn2); free(idx_stack); return -1; } // Load the file into memory while ((len = hread(fp, buf, 65536)) > 0) kputsn(buf, len, &kstr); if (len < 0 || kstr.l < 2) { if (kstr.s) free(kstr.s); free(idx_stack); return -1; } if (hclose(fp)) { if (kstr.s) free(kstr.s); free(idx_stack); return -1; } // Uncompress if required if (kstr.s[0] == 31 && (uc)kstr.s[1] == 139) { size_t l; char *s = zlib_mem_inflate(kstr.s, kstr.l, &l); free(kstr.s); if (!s) { free(idx_stack); return -1; } kstr.s = s; kstr.l = l; kstr.m = l; // conservative estimate of the size allocated kputsn("", 0, &kstr); // ensure kstr.s is NUL-terminated } // Parse it line at a time do { /* 1.1 layout */ if (kget_int32(&kstr, &pos, &e.refid) == -1) { free(kstr.s); free(idx_stack); return -1; } if (kget_int32(&kstr, &pos, &e.start) == -1) { free(kstr.s); free(idx_stack); return -1; } if (kget_int32(&kstr, &pos, &e.end) == -1) { free(kstr.s); free(idx_stack); return -1; } if (kget_int64(&kstr, &pos, &e.offset) == -1) { free(kstr.s); free(idx_stack); return -1; } if (kget_int32(&kstr, &pos, &e.slice) == -1) { free(kstr.s); free(idx_stack); return -1; } if (kget_int32(&kstr, &pos, &e.len) == -1) { free(kstr.s); free(idx_stack); return -1; } e.end += e.start-1; //printf("%d/%d..%d\n", e.refid, e.start, e.end); if (e.refid < -1) { free(kstr.s); free(idx_stack); fprintf(stderr, "Malformed index file, refid %d\n", e.refid); return -1; } if (e.refid != idx->refid) { if (fd->index_sz < e.refid+2) { size_t index_end = fd->index_sz * sizeof(*fd->index); fd->index_sz = e.refid+2; fd->index = realloc(fd->index, fd->index_sz * sizeof(*fd->index)); memset(((char *)fd->index) + index_end, 0, fd->index_sz * sizeof(*fd->index) - index_end); } idx = &fd->index[e.refid+1]; idx->refid = e.refid; idx->start = INT_MIN; idx->end = INT_MAX; idx->nslice = idx->nalloc = 0; idx->e = NULL; idx_stack[(idx_stack_ptr = 0)] = idx; } while (!(e.start >= idx->start && e.end <= idx->end)) { idx = idx_stack[--idx_stack_ptr]; } // Now contains, so append if (idx->nslice+1 >= idx->nalloc) { idx->nalloc = idx->nalloc ? idx->nalloc*2 : 16; idx->e = realloc(idx->e, idx->nalloc * sizeof(*idx->e)); } e.nalloc = e.nslice = 0; e.e = NULL; *(ep = &idx->e[idx->nslice++]) = e; idx = ep; if (++idx_stack_ptr >= idx_stack_alloc) { idx_stack_alloc *= 2; idx_stack = realloc(idx_stack, idx_stack_alloc*sizeof(*idx_stack)); } idx_stack[idx_stack_ptr] = idx; while (pos < kstr.l && kstr.s[pos] != '\n') pos++; pos++; } while (pos < kstr.l); free(idx_stack); free(kstr.s); // dump_index(fd); return 0; } static void cram_index_free_recurse(cram_index *e) { if (e->e) { int i; for (i = 0; i < e->nslice; i++) { cram_index_free_recurse(&e->e[i]); } free(e->e); } } void cram_index_free(cram_fd *fd) { int i; if (!fd->index) return; for (i = 0; i < fd->index_sz; i++) { cram_index_free_recurse(&fd->index[i]); } free(fd->index); fd->index = NULL; } /* * Searches the index for the first slice overlapping a reference ID * and position, or one immediately preceeding it if none is found in * the index to overlap this position. (Our index may have missing * entries, but we require at least one per reference.) * * If the index finds multiple slices overlapping this position we * return the first one only. Subsequent calls should specifying * "from" as the last slice we checked to find the next one. Otherwise * set "from" to be NULL to find the first one. * * Returns the cram_index pointer on sucess * NULL on failure */ cram_index *cram_index_query(cram_fd *fd, int refid, int pos, cram_index *from) { int i, j, k; cram_index *e; if (refid+1 < 0 || refid+1 >= fd->index_sz) return NULL; i = 0, j = fd->index[refid+1].nslice-1; if (!from) from = &fd->index[refid+1]; for (k = j/2; k != i; k = (j-i)/2 + i) { if (from->e[k].refid > refid) { j = k; continue; } if (from->e[k].refid < refid) { i = k; continue; } if (from->e[k].start >= pos) { j = k; continue; } if (from->e[k].start < pos) { i = k; continue; } } // i==j or i==j-1. Check if j is better. if (from->e[j].start < pos && from->e[j].refid == refid) i = j; /* The above found *a* bin overlapping, but not necessarily the first */ while (i > 0 && from->e[i-1].end >= pos) i--; /* Special case for matching a start pos */ if (i+1 < from->nslice && from->e[i+1].start == pos && from->e[i+1].refid == refid) i++; e = &from->e[i]; return e; } /* * Skips to a container overlapping the start coordinate listed in * cram_range. * * In theory we call cram_index_query multiple times, once per slice * overlapping the range. However slices may be absent from the index * which makes this problematic. Instead we find the left-most slice * and then read from then on, skipping decoding of slices and/or * whole containers when they don't overlap the specified cram_range. * * Returns 0 on success * -1 on failure */ int cram_seek_to_refpos(cram_fd *fd, cram_range *r) { cram_index *e; // Ideally use an index, so see if we have one. if ((e = cram_index_query(fd, r->refid, r->start, NULL))) { if (0 != cram_seek(fd, e->offset, SEEK_SET)) if (0 != cram_seek(fd, e->offset - fd->first_container, SEEK_CUR)) return -1; } else { fprintf(stderr, "Unknown reference ID. Missing from index?\n"); return -1; } if (fd->ctr) { cram_free_container(fd->ctr); fd->ctr = NULL; fd->ooc = 0; } return 0; } /* * A specialised form of cram_index_build (below) that deals with slices * having multiple references in this (ref_id -2). In this scenario we * decode the slice to look at the RI data series instead. * * Returns 0 on success * -1 on failure */ static int cram_index_build_multiref(cram_fd *fd, cram_container *c, cram_slice *s, zfp *fp, off_t cpos, int32_t landmark, int sz) { int i, ref = -2, ref_start = 0, ref_end; char buf[1024]; if (0 != cram_decode_slice(fd, c, s, fd->header)) return -1; ref_end = INT_MIN; for (i = 0; i < s->hdr->num_records; i++) { if (s->crecs[i].ref_id == ref) { if (ref_end < s->crecs[i].aend) ref_end = s->crecs[i].aend; continue; } if (ref != -2) { sprintf(buf, "%d\t%d\t%d\t%"PRId64"\t%d\t%d\n", ref, ref_start, ref_end - ref_start + 1, (int64_t)cpos, landmark, sz); zfputs(buf, fp); } ref = s->crecs[i].ref_id; ref_start = s->crecs[i].apos; ref_end = INT_MIN; } if (ref != -2) { sprintf(buf, "%d\t%d\t%d\t%"PRId64"\t%d\t%d\n", ref, ref_start, ref_end - ref_start + 1, (int64_t)cpos, landmark, sz); zfputs(buf, fp); } return 0; } /* * Builds an index file. * * fd is a newly opened cram file that we wish to index. * fn_base is the filename of the associated CRAM file. Internally we * add ".crai" to this to get the index filename. * * Returns 0 on success * -1 on failure */ int cram_index_build(cram_fd *fd, const char *fn_base) { cram_container *c; off_t cpos, spos, hpos; zfp *fp; char fn_idx[PATH_MAX]; if (strlen(fn_base) > PATH_MAX-6) return -1; sprintf(fn_idx, "%s.crai", fn_base); if (!(fp = zfopen(fn_idx, "wz"))) { perror(fn_idx); return -1; } cpos = htell(fd->fp); while ((c = cram_read_container(fd))) { int j; if (fd->err) { perror("Cram container read"); return 1; } hpos = htell(fd->fp); if (!(c->comp_hdr_block = cram_read_block(fd))) return 1; assert(c->comp_hdr_block->content_type == COMPRESSION_HEADER); c->comp_hdr = cram_decode_compression_header(fd, c->comp_hdr_block); if (!c->comp_hdr) return -1; // 2.0 format for (j = 0; j < c->num_landmarks; j++) { char buf[1024]; cram_slice *s; int sz; spos = htell(fd->fp); assert(spos - cpos - c->offset == c->landmark[j]); if (!(s = cram_read_slice(fd))) { zfclose(fp); return -1; } sz = (int)(htell(fd->fp) - spos); if (s->hdr->ref_seq_id == -2) { cram_index_build_multiref(fd, c, s, fp, cpos, c->landmark[j], sz); } else { sprintf(buf, "%d\t%d\t%d\t%"PRId64"\t%d\t%d\n", s->hdr->ref_seq_id, s->hdr->ref_seq_start, s->hdr->ref_seq_span, (int64_t)cpos, c->landmark[j], sz); zfputs(buf, fp); } cram_free_slice(s); } cpos = htell(fd->fp); assert(cpos == hpos + c->length); cram_free_container(c); } if (fd->err) { zfclose(fp); return -1; } return zfclose(fp); } htslib-1.2.1/cram/cram_index.h000066400000000000000000000062131246417267700162260ustar00rootroot00000000000000/* Copyright (c) 2013 Genome Research Ltd. Author: James Bonfield Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. 3. Neither the names Genome Research Ltd and Wellcome Trust Sanger Institute nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY GENOME RESEARCH LTD AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL GENOME RESEARCH LTD OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ #ifndef _CRAM_INDEX_H_ #define _CRAM_INDEX_H_ #ifdef __cplusplus extern "C" { #endif /* * Loads a CRAM .crai index into memory. * Returns 0 for success * -1 for failure */ int cram_index_load(cram_fd *fd, const char *fn); void cram_index_free(cram_fd *fd); /* * Searches the index for the first slice overlapping a reference ID * and position. * * Returns the cram_index pointer on sucess * NULL on failure */ cram_index *cram_index_query(cram_fd *fd, int refid, int pos, cram_index *frm); /* * Skips to a container overlapping the start coordinate listed in * cram_range. * * Returns 0 on success * -1 on failure */ int cram_seek_to_refpos(cram_fd *fd, cram_range *r); void cram_index_free(cram_fd *fd); /* * Skips to a container overlapping the start coordinate listed in * cram_range. * * In theory we call cram_index_query multiple times, once per slice * overlapping the range. However slices may be absent from the index * which makes this problematic. Instead we find the left-most slice * and then read from then on, skipping decoding of slices and/or * whole containers when they don't overlap the specified cram_range. * * Returns 0 on success * -1 on failure */ int cram_seek_to_refpos(cram_fd *fd, cram_range *r); /* * Builds an index file. * * fd is a newly opened cram file that we wish to index. * fn_base is the filename of the associated CRAM file. Internally we * add ".crai" to this to get the index filename. * * Returns 0 on success * -1 on failure */ int cram_index_build(cram_fd *fd, const char *fn_base); #ifdef __cplusplus } #endif #endif htslib-1.2.1/cram/cram_io.c000066400000000000000000003100521246417267700155200ustar00rootroot00000000000000/* Copyright (c) 2012-2014 Genome Research Ltd. Author: James Bonfield Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. 3. Neither the names Genome Research Ltd and Wellcome Trust Sanger Institute nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY GENOME RESEARCH LTD AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL GENOME RESEARCH LTD OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ /* * CRAM I/O primitives. * * - ITF8 encoding and decoding. * - Block based I/O * - Zlib inflating and deflating (memory) * - CRAM basic data structure reading and writing * - File opening / closing * - Reference sequence handling */ /* * TODO: BLOCK_GROW, BLOCK_RESIZE, BLOCK_APPEND and itf8_put_blk all need * a way to return errors for when malloc fails. */ #ifdef HAVE_CONFIG_H #include "io_lib_config.h" #endif #include #include #include #include #include #include #ifdef HAVE_LIBBZ2 #include #endif #ifdef HAVE_LIBLZMA #include #endif #include #include #include #include #include "cram/cram.h" #include "cram/os.h" #include "cram/md5.h" #include "cram/open_trace_file.h" #include "cram/rANS_static.h" //#define REF_DEBUG #ifdef REF_DEBUG #include #define gettid() (int)syscall(SYS_gettid) #define RP(...) fprintf (stderr, __VA_ARGS__) #else #define RP(...) #endif #include "htslib/hfile.h" #include "htslib/bgzf.h" #include "htslib/faidx.h" #define TRIAL_SPAN 50 #define NTRIALS 3 /* ---------------------------------------------------------------------- * ITF8 encoding and decoding. * * Also see the itf8_get and itf8_put macros in cram_io.h */ /* * Reads an integer in ITF-8 encoding from 'cp' and stores it in * *val. * * Returns the number of bytes read on success * -1 on failure */ int itf8_decode(cram_fd *fd, int32_t *val_p) { static int nbytes[16] = { 0,0,0,0, 0,0,0,0, // 0000xxxx - 0111xxxx 1,1,1,1, // 1000xxxx - 1011xxxx 2,2, // 1100xxxx - 1101xxxx 3, // 1110xxxx 4, // 1111xxxx }; static int nbits[16] = { 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, // 0000xxxx - 0111xxxx 0x3f, 0x3f, 0x3f, 0x3f, // 1000xxxx - 1011xxxx 0x1f, 0x1f, // 1100xxxx - 1101xxxx 0x0f, // 1110xxxx 0x0f, // 1111xxxx }; int32_t val = hgetc(fd->fp); if (val == -1) return -1; int i = nbytes[val>>4]; val &= nbits[val>>4]; switch(i) { case 0: *val_p = val; return 1; case 1: val = (val<<8) | (unsigned char)hgetc(fd->fp); *val_p = val; return 2; case 2: val = (val<<8) | (unsigned char)hgetc(fd->fp); val = (val<<8) | (unsigned char)hgetc(fd->fp); *val_p = val; return 3; case 3: val = (val<<8) | (unsigned char)hgetc(fd->fp); val = (val<<8) | (unsigned char)hgetc(fd->fp); val = (val<<8) | (unsigned char)hgetc(fd->fp); *val_p = val; return 4; case 4: // really 3.5 more, why make it different? val = (val<<8) | (unsigned char)hgetc(fd->fp); val = (val<<8) | (unsigned char)hgetc(fd->fp); val = (val<<8) | (unsigned char)hgetc(fd->fp); val = (val<<4) | (((unsigned char)hgetc(fd->fp)) & 0x0f); *val_p = val; } return 5; } /* * Encodes and writes a single integer in ITF-8 format. * Returns 0 on success * -1 on failure */ int itf8_encode(cram_fd *fd, int32_t val) { char buf[5]; int len = itf8_put(buf, val); return hwrite(fd->fp, buf, len) == len ? 0 : -1; } #ifndef ITF8_MACROS /* * As above, but decoding from memory */ int itf8_get(char *cp, int32_t *val_p) { unsigned char *up = (unsigned char *)cp; if (up[0] < 0x80) { *val_p = up[0]; return 1; } else if (up[0] < 0xc0) { *val_p = ((up[0] <<8) | up[1]) & 0x3fff; return 2; } else if (up[0] < 0xe0) { *val_p = ((up[0]<<16) | (up[1]<< 8) | up[2]) & 0x1fffff; return 3; } else if (up[0] < 0xf0) { *val_p = ((up[0]<<24) | (up[1]<<16) | (up[2]<<8) | up[3]) & 0x0fffffff; return 4; } else { *val_p = ((up[0] & 0x0f)<<28) | (up[1]<<20) | (up[2]<<12) | (up[3]<<4) | (up[4] & 0x0f); return 5; } } /* * Stores a value to memory in ITF-8 format. * * Returns the number of bytes required to store the number. * This is a maximum of 5 bytes. */ int itf8_put(char *cp, int32_t val) { if (!(val & ~0x00000007f)) { // 1 byte *cp = val; return 1; } else if (!(val & ~0x00003fff)) { // 2 byte *cp++ = (val >> 8 ) | 0x80; *cp = val & 0xff; return 2; } else if (!(val & ~0x01fffff)) { // 3 byte *cp++ = (val >> 16) | 0xc0; *cp++ = (val >> 8 ) & 0xff; *cp = val & 0xff; return 3; } else if (!(val & ~0x0fffffff)) { // 4 byte *cp++ = (val >> 24) | 0xe0; *cp++ = (val >> 16) & 0xff; *cp++ = (val >> 8 ) & 0xff; *cp = val & 0xff; return 4; } else { // 5 byte *cp++ = 0xf0 | ((val>>28) & 0xff); *cp++ = (val >> 20) & 0xff; *cp++ = (val >> 12) & 0xff; *cp++ = (val >> 4 ) & 0xff; *cp = val & 0x0f; return 5; } } #endif /* 64-bit itf8 variant */ int ltf8_put(char *cp, int64_t val) { if (!(val & ~((1LL<<7)-1))) { *cp = val; return 1; } else if (!(val & ~((1LL<<(6+8))-1))) { *cp++ = (val >> 8 ) | 0x80; *cp = val & 0xff; return 2; } else if (!(val & ~((1LL<<(5+2*8))-1))) { *cp++ = (val >> 16) | 0xc0; *cp++ = (val >> 8 ) & 0xff; *cp = val & 0xff; return 3; } else if (!(val & ~((1LL<<(4+3*8))-1))) { *cp++ = (val >> 24) | 0xe0; *cp++ = (val >> 16) & 0xff; *cp++ = (val >> 8 ) & 0xff; *cp = val & 0xff; return 4; } else if (!(val & ~((1LL<<(3+4*8))-1))) { *cp++ = (val >> 32) | 0xf0; *cp++ = (val >> 24) & 0xff; *cp++ = (val >> 16) & 0xff; *cp++ = (val >> 8 ) & 0xff; *cp = val & 0xff; return 5; } else if (!(val & ~((1LL<<(2+5*8))-1))) { *cp++ = (val >> 40) | 0xf8; *cp++ = (val >> 32) & 0xff; *cp++ = (val >> 24) & 0xff; *cp++ = (val >> 16) & 0xff; *cp++ = (val >> 8 ) & 0xff; *cp = val & 0xff; return 6; } else if (!(val & ~((1LL<<(1+6*8))-1))) { *cp++ = (val >> 48) | 0xfc; *cp++ = (val >> 40) & 0xff; *cp++ = (val >> 32) & 0xff; *cp++ = (val >> 24) & 0xff; *cp++ = (val >> 16) & 0xff; *cp++ = (val >> 8 ) & 0xff; *cp = val & 0xff; return 7; } else if (!(val & ~((1LL<<(7*8))-1))) { *cp++ = (val >> 56) | 0xfe; *cp++ = (val >> 48) & 0xff; *cp++ = (val >> 40) & 0xff; *cp++ = (val >> 32) & 0xff; *cp++ = (val >> 24) & 0xff; *cp++ = (val >> 16) & 0xff; *cp++ = (val >> 8 ) & 0xff; *cp = val & 0xff; return 8; } else { *cp++ = 0xff; *cp++ = (val >> 56) & 0xff; *cp++ = (val >> 48) & 0xff; *cp++ = (val >> 40) & 0xff; *cp++ = (val >> 32) & 0xff; *cp++ = (val >> 24) & 0xff; *cp++ = (val >> 16) & 0xff; *cp++ = (val >> 8 ) & 0xff; *cp = val & 0xff; return 9; } } int ltf8_get(char *cp, int64_t *val_p) { unsigned char *up = (unsigned char *)cp; if (up[0] < 0x80) { *val_p = up[0]; return 1; } else if (up[0] < 0xc0) { *val_p = (((uint64_t)up[0]<< 8) | (uint64_t)up[1]) & (((1LL<<(6+8)))-1); return 2; } else if (up[0] < 0xe0) { *val_p = (((uint64_t)up[0]<<16) | ((uint64_t)up[1]<< 8) | (uint64_t)up[2]) & ((1LL<<(5+2*8))-1); return 3; } else if (up[0] < 0xf0) { *val_p = (((uint64_t)up[0]<<24) | ((uint64_t)up[1]<<16) | ((uint64_t)up[2]<< 8) | (uint64_t)up[3]) & ((1LL<<(4+3*8))-1); return 4; } else if (up[0] < 0xf8) { *val_p = (((uint64_t)up[0]<<32) | ((uint64_t)up[1]<<24) | ((uint64_t)up[2]<<16) | ((uint64_t)up[3]<< 8) | (uint64_t)up[4]) & ((1LL<<(3+4*8))-1); return 5; } else if (up[0] < 0xfc) { *val_p = (((uint64_t)up[0]<<40) | ((uint64_t)up[1]<<32) | ((uint64_t)up[2]<<24) | ((uint64_t)up[3]<<16) | ((uint64_t)up[4]<< 8) | (uint64_t)up[5]) & ((1LL<<(2+5*8))-1); return 6; } else if (up[0] < 0xfe) { *val_p = (((uint64_t)up[0]<<48) | ((uint64_t)up[1]<<40) | ((uint64_t)up[2]<<32) | ((uint64_t)up[3]<<24) | ((uint64_t)up[4]<<16) | ((uint64_t)up[5]<< 8) | (uint64_t)up[6]) & ((1LL<<(1+6*8))-1); return 7; } else if (up[0] < 0xff) { *val_p = (((uint64_t)up[1]<<48) | ((uint64_t)up[2]<<40) | ((uint64_t)up[3]<<32) | ((uint64_t)up[4]<<24) | ((uint64_t)up[5]<<16) | ((uint64_t)up[6]<< 8) | (uint64_t)up[7]) & ((1LL<<(7*8))-1); return 8; } else { *val_p = (((uint64_t)up[1]<<56) | ((uint64_t)up[2]<<48) | ((uint64_t)up[3]<<40) | ((uint64_t)up[4]<<32) | ((uint64_t)up[5]<<24) | ((uint64_t)up[6]<<16) | ((uint64_t)up[7]<< 8) | (uint64_t)up[8]); return 9; } } int ltf8_decode(cram_fd *fd, int64_t *val_p) { int c = hgetc(fd->fp); int64_t val = (unsigned char)c; if (c == -1) return -1; if (val < 0x80) { *val_p = val; return 1; } else if (val < 0xc0) { val = (val<<8) | (unsigned char)hgetc(fd->fp); *val_p = val & (((1LL<<(6+8)))-1); return 2; } else if (val < 0xe0) { val = (val<<8) | (unsigned char)hgetc(fd->fp); val = (val<<8) | (unsigned char)hgetc(fd->fp); *val_p = val & ((1LL<<(5+2*8))-1); return 3; } else if (val < 0xf0) { val = (val<<8) | (unsigned char)hgetc(fd->fp); val = (val<<8) | (unsigned char)hgetc(fd->fp); val = (val<<8) | (unsigned char)hgetc(fd->fp); *val_p = val & ((1LL<<(4+3*8))-1); return 4; } else if (val < 0xf8) { val = (val<<8) | (unsigned char)hgetc(fd->fp); val = (val<<8) | (unsigned char)hgetc(fd->fp); val = (val<<8) | (unsigned char)hgetc(fd->fp); val = (val<<8) | (unsigned char)hgetc(fd->fp); *val_p = val & ((1LL<<(3+4*8))-1); return 5; } else if (val < 0xfc) { val = (val<<8) | (unsigned char)hgetc(fd->fp); val = (val<<8) | (unsigned char)hgetc(fd->fp); val = (val<<8) | (unsigned char)hgetc(fd->fp); val = (val<<8) | (unsigned char)hgetc(fd->fp); val = (val<<8) | (unsigned char)hgetc(fd->fp); *val_p = val & ((1LL<<(2+5*8))-1); return 6; } else if (val < 0xfe) { val = (val<<8) | (unsigned char)hgetc(fd->fp); val = (val<<8) | (unsigned char)hgetc(fd->fp); val = (val<<8) | (unsigned char)hgetc(fd->fp); val = (val<<8) | (unsigned char)hgetc(fd->fp); val = (val<<8) | (unsigned char)hgetc(fd->fp); val = (val<<8) | (unsigned char)hgetc(fd->fp); *val_p = val & ((1LL<<(1+6*8))-1); return 7; } else if (val < 0xff) { val = (val<<8) | (unsigned char)hgetc(fd->fp); val = (val<<8) | (unsigned char)hgetc(fd->fp); val = (val<<8) | (unsigned char)hgetc(fd->fp); val = (val<<8) | (unsigned char)hgetc(fd->fp); val = (val<<8) | (unsigned char)hgetc(fd->fp); val = (val<<8) | (unsigned char)hgetc(fd->fp); val = (val<<8) | (unsigned char)hgetc(fd->fp); *val_p = val & ((1LL<<(7*8))-1); return 8; } else { val = (val<<8) | (unsigned char)hgetc(fd->fp); val = (val<<8) | (unsigned char)hgetc(fd->fp); val = (val<<8) | (unsigned char)hgetc(fd->fp); val = (val<<8) | (unsigned char)hgetc(fd->fp); val = (val<<8) | (unsigned char)hgetc(fd->fp); val = (val<<8) | (unsigned char)hgetc(fd->fp); val = (val<<8) | (unsigned char)hgetc(fd->fp); val = (val<<8) | (unsigned char)hgetc(fd->fp); *val_p = val; } return 9; } /* * Pushes a value in ITF8 format onto the end of a block. * This shouldn't be used for high-volume data as it is not the fastest * method. * * Returns the number of bytes written */ int itf8_put_blk(cram_block *blk, int val) { char buf[5]; int sz; sz = itf8_put(buf, val); BLOCK_APPEND(blk, buf, sz); return sz; } /* * Decodes a 32-bit little endian value from fd and stores in val. * * Returns the number of bytes read on success * -1 on failure */ int int32_decode(cram_fd *fd, int32_t *val) { int32_t i; if (4 != hread(fd->fp, &i, 4)) return -1; *val = le_int4(i); return 4; } /* * Encodes a 32-bit little endian value 'val' and writes to fd. * * Returns the number of bytes written on success * -1 on failure */ int int32_encode(cram_fd *fd, int32_t val) { val = le_int4(val); if (4 != hwrite(fd->fp, &val, 4)) return -1; return 4; } /* As int32_decoded/encode, but from/to blocks instead of cram_fd */ int int32_get(cram_block *b, int32_t *val) { if (b->uncomp_size - BLOCK_SIZE(b) < 4) return -1; *val = b->data[b->byte ] | (b->data[b->byte+1] << 8) | (b->data[b->byte+2] << 16) | (b->data[b->byte+3] << 24); BLOCK_SIZE(b) += 4; return 4; } /* As int32_decoded/encode, but from/to blocks instead of cram_fd */ int int32_put(cram_block *b, int32_t val) { unsigned char cp[4]; cp[0] = ( val & 0xff); cp[1] = ((val>>8) & 0xff); cp[2] = ((val>>16) & 0xff); cp[3] = ((val>>24) & 0xff); BLOCK_APPEND(b, cp, 4); return b->data ? 0 : -1; } /* ---------------------------------------------------------------------- * zlib compression code - from Gap5's tg_iface_g.c * They're static here as they're only used within the cram_compress_block * and cram_uncompress_block functions, which are the external interface. */ char *zlib_mem_inflate(char *cdata, size_t csize, size_t *size) { z_stream s; unsigned char *data = NULL; /* Uncompressed output */ int data_alloc = 0; int err; /* Starting point at uncompressed size, and scale after that */ data = malloc(data_alloc = csize*1.2+100); if (!data) return NULL; /* Initialise zlib stream */ s.zalloc = Z_NULL; /* use default allocation functions */ s.zfree = Z_NULL; s.opaque = Z_NULL; s.next_in = (unsigned char *)cdata; s.avail_in = csize; s.total_in = 0; s.next_out = data; s.avail_out = data_alloc; s.total_out = 0; //err = inflateInit(&s); err = inflateInit2(&s, 15 + 32); if (err != Z_OK) { fprintf(stderr, "zlib inflateInit error: %s\n", s.msg); free(data); return NULL; } /* Decode to 'data' array */ for (;s.avail_in;) { unsigned char *data_tmp; int alloc_inc; s.next_out = &data[s.total_out]; err = inflate(&s, Z_NO_FLUSH); if (err == Z_STREAM_END) break; if (err != Z_OK) { fprintf(stderr, "zlib inflate error: %s\n", s.msg); break; } /* More to come, so realloc based on growth so far */ alloc_inc = (double)s.avail_in/s.total_in * s.total_out + 100; data = realloc((data_tmp = data), data_alloc += alloc_inc); if (!data) { free(data_tmp); return NULL; } s.avail_out += alloc_inc; } inflateEnd(&s); *size = s.total_out; return (char *)data; } static char *zlib_mem_deflate(char *data, size_t size, size_t *cdata_size, int level, int strat) { z_stream s; unsigned char *cdata = NULL; /* Compressed output */ int cdata_alloc = 0; int cdata_pos = 0; int err; cdata = malloc(cdata_alloc = size*1.05+100); if (!cdata) return NULL; cdata_pos = 0; /* Initialise zlib stream */ s.zalloc = Z_NULL; /* use default allocation functions */ s.zfree = Z_NULL; s.opaque = Z_NULL; s.next_in = (unsigned char *)data; s.avail_in = size; s.total_in = 0; s.next_out = cdata; s.avail_out = cdata_alloc; s.total_out = 0; s.data_type = Z_BINARY; err = deflateInit2(&s, level, Z_DEFLATED, 15|16, 9, strat); if (err != Z_OK) { fprintf(stderr, "zlib deflateInit2 error: %s\n", s.msg); return NULL; } /* Encode to 'cdata' array */ for (;s.avail_in;) { s.next_out = &cdata[cdata_pos]; s.avail_out = cdata_alloc - cdata_pos; if (cdata_alloc - cdata_pos <= 0) { fprintf(stderr, "Deflate produced larger output than expected. Abort\n"); return NULL; } err = deflate(&s, Z_NO_FLUSH); cdata_pos = cdata_alloc - s.avail_out; if (err != Z_OK) { fprintf(stderr, "zlib deflate error: %s\n", s.msg); break; } } if (deflate(&s, Z_FINISH) != Z_STREAM_END) { fprintf(stderr, "zlib deflate error: %s\n", s.msg); } *cdata_size = s.total_out; if (deflateEnd(&s) != Z_OK) { fprintf(stderr, "zlib deflate error: %s\n", s.msg); } return (char *)cdata; } #ifdef HAVE_LIBLZMA /* ------------------------------------------------------------------------ */ /* * Data compression routines using liblzma (xz) * * On a test set this shrunk the main db from 136157104 bytes to 114796168, but * caused tg_index to grow from 2m43.707s to 15m3.961s. Exporting as bfastq * went from 18.3s to 36.3s. So decompression suffers too, but not as bad * as compression times. * * For now we disable this functionality. If it's to be reenabled make sure you * improve the mem_inflate implementation as it's just a test hack at the * moment. */ static char *lzma_mem_deflate(char *data, size_t size, size_t *cdata_size, int level) { char *out; size_t out_size = lzma_stream_buffer_bound(size); *cdata_size = 0; out = malloc(out_size); /* Single call compression */ if (LZMA_OK != lzma_easy_buffer_encode(level, LZMA_CHECK_CRC32, NULL, (uint8_t *)data, size, (uint8_t *)out, cdata_size, out_size)) return NULL; return out; } static char *lzma_mem_inflate(char *cdata, size_t csize, size_t *size) { lzma_stream strm = LZMA_STREAM_INIT; size_t out_size = 0, out_pos = 0; char *out = NULL; int r; /* Initiate the decoder */ if (LZMA_OK != lzma_stream_decoder(&strm, 50000000, 0)) return NULL; /* Decode loop */ strm.avail_in = csize; strm.next_in = (uint8_t *)cdata; for (;strm.avail_in;) { if (strm.avail_in > out_size - out_pos) { out_size += strm.avail_in * 4 + 32768; out = realloc(out, out_size); } strm.avail_out = out_size - out_pos; strm.next_out = (uint8_t *)&out[out_pos]; r = lzma_code(&strm, LZMA_RUN); if (LZMA_OK != r && LZMA_STREAM_END != r) { fprintf(stderr, "r=%d\n", r); fprintf(stderr, "mem=%"PRId64"d\n", (int64_t)lzma_memusage(&strm)); return NULL; } out_pos = strm.total_out; if (r == LZMA_STREAM_END) break; } /* finish up any unflushed data; necessary? */ r = lzma_code(&strm, LZMA_FINISH); if (r != LZMA_OK && r != LZMA_STREAM_END) { fprintf(stderr, "r=%d\n", r); return NULL; } out = realloc(out, strm.total_out); *size = strm.total_out; lzma_end(&strm); return out; } #endif /* ---------------------------------------------------------------------- * CRAM blocks - the dynamically growable data block. We have code to * create, update, (un)compress and read/write. * * These are derived from the deflate_interlaced.c blocks, but with the * CRAM extension of content types and IDs. */ /* * Allocates a new cram_block structure with a specified content_type and * id. * * Returns block pointer on success * NULL on failure */ cram_block *cram_new_block(enum cram_content_type content_type, int content_id) { cram_block *b = malloc(sizeof(*b)); if (!b) return NULL; b->method = b->orig_method = RAW; b->content_type = content_type; b->content_id = content_id; b->comp_size = 0; b->uncomp_size = 0; b->data = NULL; b->alloc = 0; b->byte = 0; b->bit = 7; // MSB return b; } /* * Reads a block from a cram file. * Returns cram_block pointer on success. * NULL on failure */ cram_block *cram_read_block(cram_fd *fd) { cram_block *b = malloc(sizeof(*b)); if (!b) return NULL; //fprintf(stderr, "Block at %d\n", (int)ftell(fd->fp)); if (-1 == (b->method = hgetc(fd->fp))) { free(b); return NULL; } if (-1 == (b->content_type= hgetc(fd->fp))) { free(b); return NULL; } if (-1 == itf8_decode(fd, &b->content_id)) { free(b); return NULL; } if (-1 == itf8_decode(fd, &b->comp_size)) { free(b); return NULL; } if (-1 == itf8_decode(fd, &b->uncomp_size)) { free(b); return NULL; } // fprintf(stderr, " method %d, ctype %d, cid %d, csize %d, ucsize %d\n", // b->method, b->content_type, b->content_id, b->comp_size, b->uncomp_size); if (b->method == RAW) { b->alloc = b->uncomp_size; if (!(b->data = malloc(b->uncomp_size))){ free(b); return NULL; } if (b->uncomp_size != hread(fd->fp, b->data, b->uncomp_size)) { free(b->data); free(b); return NULL; } } else { b->alloc = b->comp_size; if (!(b->data = malloc(b->comp_size))) { free(b); return NULL; } if (b->comp_size != hread(fd->fp, b->data, b->comp_size)) { free(b->data); free(b); return NULL; } } if (CRAM_MAJOR_VERS(fd->version) >= 3) { unsigned char dat[100], *cp = dat;; uint32_t crc; if (-1 == int32_decode(fd, (int32_t *)&b->crc32)) { free(b); return NULL; } *cp++ = b->method; *cp++ = b->content_type; cp += itf8_put(cp, b->content_id); cp += itf8_put(cp, b->comp_size); cp += itf8_put(cp, b->uncomp_size); crc = crc32(0L, dat, cp-dat); crc = crc32(crc, b->data ? b->data : (uc *)"", b->alloc); if (crc != b->crc32) { fprintf(stderr, "Block CRC32 failure\n"); free(b->data); free(b); return NULL; } } b->orig_method = b->method; b->idx = 0; b->byte = 0; b->bit = 7; // MSB return b; } /* * Writes a CRAM block. * Returns 0 on success * -1 on failure */ int cram_write_block(cram_fd *fd, cram_block *b) { assert(b->method != RAW || (b->comp_size == b->uncomp_size)); if (hputc(b->method, fd->fp) == EOF) return -1; if (hputc(b->content_type, fd->fp) == EOF) return -1; if (itf8_encode(fd, b->content_id) == -1) return -1; if (itf8_encode(fd, b->comp_size) == -1) return -1; if (itf8_encode(fd, b->uncomp_size) == -1) return -1; if (b->method == RAW) { if (b->uncomp_size != hwrite(fd->fp, b->data, b->uncomp_size)) return -1; } else { if (b->comp_size != hwrite(fd->fp, b->data, b->comp_size)) return -1; } if (CRAM_MAJOR_VERS(fd->version) >= 3) { unsigned char dat[100], *cp = dat;; uint32_t crc; *cp++ = b->method; *cp++ = b->content_type; cp += itf8_put(cp, b->content_id); cp += itf8_put(cp, b->comp_size); cp += itf8_put(cp, b->uncomp_size); crc = crc32(0L, dat, cp-dat); if (b->method == RAW) { b->crc32 = crc32(crc, b->data ? b->data : (uc*)"", b->uncomp_size); } else { b->crc32 = crc32(crc, b->data ? b->data : (uc*)"", b->comp_size); } if (-1 == int32_encode(fd, b->crc32)) return -1; } return 0; } /* * Frees a CRAM block, deallocating internal data too. */ void cram_free_block(cram_block *b) { if (!b) return; if (b->data) free(b->data); free(b); } /* * Uncompresses a CRAM block, if compressed. */ int cram_uncompress_block(cram_block *b) { char *uncomp; size_t uncomp_size = 0; if (b->uncomp_size == 0) { // blank block b->method = RAW; return 0; } switch (b->method) { case RAW: return 0; case GZIP: uncomp = zlib_mem_inflate((char *)b->data, b->comp_size, &uncomp_size); if (!uncomp) return -1; if ((int)uncomp_size != b->uncomp_size) { free(uncomp); return -1; } free(b->data); b->data = (unsigned char *)uncomp; b->alloc = uncomp_size; b->method = RAW; break; #ifdef HAVE_LIBBZ2 case BZIP2: { unsigned int usize = b->uncomp_size; if (!(uncomp = malloc(usize))) return -1; if (BZ_OK != BZ2_bzBuffToBuffDecompress(uncomp, &usize, (char *)b->data, b->comp_size, 0, 0)) { free(uncomp); return -1; } free(b->data); b->data = (unsigned char *)uncomp; b->alloc = usize; b->method = RAW; b->uncomp_size = usize; // Just incase it differs break; } #else case BZIP2: fprintf(stderr, "Bzip2 compression is not compiled into this " "version.\nPlease rebuild and try again.\n"); return -1; #endif #ifdef HAVE_LIBLZMA case LZMA: uncomp = lzma_mem_inflate((char *)b->data, b->comp_size, &uncomp_size); if (!uncomp) return -1; if ((int)uncomp_size != b->uncomp_size) return -1; free(b->data); b->data = (unsigned char *)uncomp; b->alloc = uncomp_size; b->method = RAW; break; #else case LZMA: fprintf(stderr, "Lzma compression is not compiled into this " "version.\nPlease rebuild and try again.\n"); return -1; break; #endif case RANS: { unsigned int usize = b->uncomp_size, usize2; uncomp = (char *)rans_uncompress(b->data, b->comp_size, &usize2); assert(usize == usize2); free(b->data); b->data = (unsigned char *)uncomp; b->alloc = usize2; b->method = RAW; b->uncomp_size = usize2; // Just incase it differs //fprintf(stderr, "Expanded %d to %d\n", b->comp_size, b->uncomp_size); break; } default: return -1; } return 0; } static char *cram_compress_by_method(char *in, size_t in_size, size_t *out_size, enum cram_block_method method, int level, int strat) { switch (method) { case GZIP: return zlib_mem_deflate(in, in_size, out_size, level, strat); case BZIP2: { #ifdef HAVE_LIBBZ2 unsigned int comp_size = in_size*1.01 + 600; char *comp = malloc(comp_size); if (!comp) return NULL; if (BZ_OK != BZ2_bzBuffToBuffCompress(comp, &comp_size, in, in_size, level, 0, 30)) { free(comp); return NULL; } *out_size = comp_size; return comp; #else return NULL; #endif } case LZMA: #ifdef HAVE_LIBLZMA return lzma_mem_deflate(in, in_size, out_size, level); #else return NULL; #endif case RANS0: { unsigned int out_size_i; unsigned char *cp; cp = rans_compress((unsigned char *)in, in_size, &out_size_i, 0); *out_size = out_size_i; return (char *)cp; } case RANS1: { unsigned int out_size_i; unsigned char *cp; cp = rans_compress((unsigned char *)in, in_size, &out_size_i, 1); *out_size = out_size_i; return (char *)cp; } case RAW: break; default: return NULL; } return NULL; } /* * Compresses a block using one of two different zlib strategies. If we only * want one choice set strat2 to be -1. * * The logic here is that sometimes Z_RLE does a better job than Z_FILTERED * or Z_DEFAULT_STRATEGY on quality data. If so, we'd rather use it as it is * significantly faster. */ int cram_compress_block(cram_fd *fd, cram_block *b, cram_metrics *metrics, int method, int level) { char *comp = NULL; size_t comp_size = 0; int strat; //fprintf(stderr, "IN: block %d, sz %d\n", b->content_id, b->uncomp_size); if (method == RAW || level == 0 || b->uncomp_size == 0) { b->method = RAW; b->comp_size = b->uncomp_size; //fprintf(stderr, "Skip block id %d\n", b->content_id); return 0; } if (metrics) { pthread_mutex_lock(&fd->metrics_lock); if (metrics->trial > 0 || --metrics->next_trial <= 0) { size_t sz_best = INT_MAX; size_t sz_gz_rle = 0; size_t sz_gz_def = 0; size_t sz_rans0 = 0; size_t sz_rans1 = 0; size_t sz_bzip2 = 0; size_t sz_lzma = 0; int method_best = 0; char *c_best = NULL, *c = NULL; if (metrics->revised_method) method = metrics->revised_method; else metrics->revised_method = method; if (metrics->next_trial == 0) { metrics->next_trial = TRIAL_SPAN; metrics->trial = NTRIALS; metrics->sz_gz_rle /= 2; metrics->sz_gz_def /= 2; metrics->sz_rans0 /= 2; metrics->sz_rans1 /= 2; metrics->sz_bzip2 /= 2; metrics->sz_lzma /= 2; } pthread_mutex_unlock(&fd->metrics_lock); if (method & (1<data, b->uncomp_size, &sz_gz_rle, GZIP, 1, Z_RLE); if (c && sz_best > sz_gz_rle) { sz_best = sz_gz_rle; method_best = GZIP_RLE; if (c_best) free(c_best); c_best = c; } else if (c) { free(c); } else { sz_gz_rle = b->uncomp_size*2+1000; } //fprintf(stderr, "Block %d; %d->%d\n", b->content_id, b->uncomp_size, sz_gz_rle); } if (method & (1<data, b->uncomp_size, &sz_gz_def, GZIP, level, Z_FILTERED); if (c && sz_best > sz_gz_def) { sz_best = sz_gz_def; method_best = GZIP; if (c_best) free(c_best); c_best = c; } else if (c) { free(c); } else { sz_gz_def = b->uncomp_size*2+1000; } //fprintf(stderr, "Block %d; %d->%d\n", b->content_id, b->uncomp_size, sz_gz_def); } if (method & (1<data, b->uncomp_size, &sz_rans0, RANS0, 0, 0); if (c && sz_best > sz_rans0) { sz_best = sz_rans0; method_best = RANS0; if (c_best) free(c_best); c_best = c; } else if (c) { free(c); } else { sz_rans0 = b->uncomp_size*2+1000; } } if (method & (1<data, b->uncomp_size, &sz_rans1, RANS1, 0, 0); if (c && sz_best > sz_rans1) { sz_best = sz_rans1; method_best = RANS1; if (c_best) free(c_best); c_best = c; } else if (c) { free(c); } else { sz_rans1 = b->uncomp_size*2+1000; } } if (method & (1<data, b->uncomp_size, &sz_bzip2, BZIP2, level, 0); if (c && sz_best > sz_bzip2) { sz_best = sz_bzip2; method_best = BZIP2; if (c_best) free(c_best); c_best = c; } else if (c) { free(c); } else { sz_bzip2 = b->uncomp_size*2+1000; } } if (method & (1<data, b->uncomp_size, &sz_lzma, LZMA, level, 0); if (c && sz_best > sz_lzma) { sz_best = sz_lzma; method_best = LZMA; if (c_best) free(c_best); c_best = c; } else if (c) { free(c); } else { sz_lzma = b->uncomp_size*2+1000; } } //fprintf(stderr, "sz_best = %d\n", sz_best); free(b->data); b->data = (unsigned char *)c_best; //printf("method_best = %s\n", cram_block_method2str(method_best)); b->method = method_best == GZIP_RLE ? GZIP : method_best; b->comp_size = sz_best; pthread_mutex_lock(&fd->metrics_lock); metrics->sz_gz_rle += sz_gz_rle; metrics->sz_gz_def += sz_gz_def; metrics->sz_rans0 += sz_rans0; metrics->sz_rans1 += sz_rans1; metrics->sz_bzip2 += sz_bzip2; metrics->sz_lzma += sz_lzma; if (--metrics->trial == 0) { int best_method = RAW; int best_sz = INT_MAX; // Scale methods by cost if (fd->level <= 3) { metrics->sz_rans1 *= 1.02; metrics->sz_gz_def *= 1.04; metrics->sz_bzip2 *= 1.08; metrics->sz_lzma *= 1.10; } else if (fd->level <= 6) { metrics->sz_rans1 *= 1.01; metrics->sz_gz_def *= 1.02; metrics->sz_bzip2 *= 1.03; metrics->sz_lzma *= 1.05; } if (method & (1< metrics->sz_gz_rle) best_sz = metrics->sz_gz_rle, best_method = GZIP_RLE; if (method & (1< metrics->sz_gz_def) best_sz = metrics->sz_gz_def, best_method = GZIP; if (method & (1< metrics->sz_rans0) best_sz = metrics->sz_rans0, best_method = RANS0; if (method & (1< metrics->sz_rans1) best_sz = metrics->sz_rans1, best_method = RANS1; if (method & (1< metrics->sz_bzip2) best_sz = metrics->sz_bzip2, best_method = BZIP2; if (method & (1< metrics->sz_lzma) best_sz = metrics->sz_lzma, best_method = LZMA; if (best_method == GZIP_RLE) { metrics->method = GZIP; metrics->strat = Z_RLE; } else { metrics->method = best_method; metrics->strat = Z_FILTERED; } // If we see at least MAXFAIL trials in a row for a specific // compression method with more than MAXDELTA aggregate // size then we drop this from the list of methods used // for this block type. #define MAXDELTA 0.20 #define MAXFAILS 4 if (best_method == GZIP_RLE) { metrics->gz_rle_cnt = 0; metrics->gz_rle_extra = 0; } else if (best_sz < metrics->sz_gz_rle) { double r = (double)metrics->sz_gz_rle / best_sz - 1; if (++metrics->gz_rle_cnt >= MAXFAILS && (metrics->gz_rle_extra += r) >= MAXDELTA) method &= ~(1<gz_def_cnt = 0; metrics->gz_def_extra = 0; } else if (best_sz < metrics->sz_gz_def) { double r = (double)metrics->sz_gz_def / best_sz - 1; if (++metrics->gz_def_cnt >= MAXFAILS && (metrics->gz_def_extra += r) >= MAXDELTA) method &= ~(1<rans0_cnt = 0; metrics->rans0_extra = 0; } else if (best_sz < metrics->sz_rans0) { double r = (double)metrics->sz_rans0 / best_sz - 1; if (++metrics->rans0_cnt >= MAXFAILS && (metrics->rans0_extra += r) >= MAXDELTA) method &= ~(1<rans1_cnt = 0; metrics->rans1_extra = 0; } else if (best_sz < metrics->sz_rans1) { double r = (double)metrics->sz_rans1 / best_sz - 1; if (++metrics->rans1_cnt >= MAXFAILS && (metrics->rans1_extra += r) >= MAXDELTA) method &= ~(1<bzip2_cnt = 0; metrics->bzip2_extra = 0; } else if (best_sz < metrics->sz_bzip2) { double r = (double)metrics->sz_bzip2 / best_sz - 1; if (++metrics->bzip2_cnt >= MAXFAILS && (metrics->bzip2_extra += r) >= MAXDELTA) method &= ~(1<lzma_cnt = 0; metrics->lzma_extra = 0; } else if (best_sz < metrics->sz_lzma) { double r = (double)metrics->sz_lzma / best_sz - 1; if (++metrics->lzma_cnt >= MAXFAILS && (metrics->lzma_extra += r) >= MAXDELTA) method &= ~(1<revised_method) // fprintf(stderr, "%d: method from %x to %x\n", // b->content_id, metrics->revised_method, method); metrics->revised_method = method; } pthread_mutex_unlock(&fd->metrics_lock); } else { strat = metrics->strat; method = metrics->method; pthread_mutex_unlock(&fd->metrics_lock); comp = cram_compress_by_method((char *)b->data, b->uncomp_size, &comp_size, method, level, strat); if (!comp) return -1; free(b->data); b->data = (unsigned char *)comp; b->comp_size = comp_size; b->method = method; } } else { // no cached metrics, so just do zlib? comp = cram_compress_by_method((char *)b->data, b->uncomp_size, &comp_size, GZIP, level, Z_FILTERED); if (!comp) { fprintf(stderr, "Compression failed!\n"); return -1; } free(b->data); b->data = (unsigned char *)comp; b->comp_size = comp_size; b->method = GZIP; } if (fd->verbose) fprintf(stderr, "Compressed block ID %d from %d to %d by method %s\n", b->content_id, b->uncomp_size, b->comp_size, cram_block_method2str(b->method)); if (b->method == RANS1) b->method = RANS0; // Spec just has RANS (not 0/1) with auto-sensing return 0; } cram_metrics *cram_new_metrics(void) { cram_metrics *m = calloc(1, sizeof(*m)); if (!m) return NULL; m->trial = NTRIALS-1; m->next_trial = TRIAL_SPAN; m->method = RAW; m->strat = 0; m->revised_method = 0; return m; } char *cram_block_method2str(enum cram_block_method m) { switch(m) { case RAW: return "RAW"; case GZIP: return "GZIP"; case BZIP2: return "BZIP2"; case LZMA: return "LZMA"; case RANS0: return "RANS0"; case RANS1: return "RANS1"; case GZIP_RLE: return "GZIP_RLE"; case ERROR: break; } return "?"; } char *cram_content_type2str(enum cram_content_type t) { switch (t) { case FILE_HEADER: return "FILE_HEADER"; case COMPRESSION_HEADER: return "COMPRESSION_HEADER"; case MAPPED_SLICE: return "MAPPED_SLICE"; case UNMAPPED_SLICE: return "UNMAPPED_SLICE"; case EXTERNAL: return "EXTERNAL"; case CORE: return "CORE"; case CT_ERROR: break; } return "?"; } /* * Extra error checking on fclose to really ensure data is written. * Care needs to be taken to handle pipes vs real files. * * Returns 0 on success * -1 on failure. */ int paranoid_fclose(FILE *fp) { if (-1 == fflush(fp) && errno != EBADF) { fclose(fp); return -1; } errno = 0; if (-1 == fsync(fileno(fp))) { if (errno != EINVAL) { // eg pipe fclose(fp); return -1; } } return fclose(fp); } /* ---------------------------------------------------------------------- * Reference sequence handling * * These revolve around the refs_t structure, which may potentially be * shared between multiple cram_fd. * * We start with refs_create() to allocate an empty refs_t and then * populate it with @SQ line data using refs_from_header(). This is done on * cram_open(). Also at start up we can call cram_load_reference() which * is used with "scramble -r foo.fa". This replaces the fd->refs with the * new one specified. In either case refs2id() is then called which * maps ref_entry names to @SQ ids (refs_t->ref_id[]). * * Later, possibly within a thread, we will want to know the actual ref * seq itself, obtained by calling cram_get_ref(). This may use the * UR: or M5: fields or the filename specified in the original * cram_load_reference() call. * * Given the potential for multi-threaded reference usage, we have * reference counting (sorry for the confusing double use of "ref") to * track the number of callers interested in any specific reference. */ void refs_free(refs_t *r) { RP("refs_free()\n"); if (--r->count > 0) return; if (!r) return; if (r->pool) string_pool_destroy(r->pool); if (r->h_meta) { khint_t k; for (k = kh_begin(r->h_meta); k != kh_end(r->h_meta); k++) { ref_entry *e; if (!kh_exist(r->h_meta, k)) continue; if (!(e = kh_val(r->h_meta, k))) continue; if (e->seq) free(e->seq); free(e); } kh_destroy(refs, r->h_meta); } if (r->ref_id) free(r->ref_id); if (r->fp) bgzf_close(r->fp); pthread_mutex_destroy(&r->lock); free(r); } static refs_t *refs_create(void) { refs_t *r = calloc(1, sizeof(*r)); RP("refs_create()\n"); if (!r) return NULL; if (!(r->pool = string_pool_create(8192))) goto err; r->ref_id = NULL; // see refs2id() to populate. r->count = 1; r->last = NULL; r->last_id = -1; if (!(r->h_meta = kh_init(refs))) goto err; pthread_mutex_init(&r->lock, NULL); return r; err: refs_free(r); return NULL; } /* * Opens a reference fasta file as a BGZF stream, allowing for * compressed files. It automatically builds a .fai file if * required and if compressed a .gzi bgzf index too. * * Returns a BGZF handle on success; * NULL on failure. */ static BGZF *bgzf_open_ref(char *fn, char *mode) { BGZF *fp; char fai_file[PATH_MAX]; snprintf(fai_file, PATH_MAX, "%s.fai", fn); if (access(fai_file, R_OK) != 0) if (fai_build(fn) != 0) return NULL; if (!(fp = bgzf_open(fn, mode))) { perror(fn); return NULL; } if (fp->is_compressed == 1 && bgzf_index_load(fp, fn, ".gzi") < 0) { fprintf(stderr, "Unable to load .gzi index '%s.gzi'\n", fn); bgzf_close(fp); return NULL; } return fp; } /* * Loads a FAI file for a reference.fasta. * "is_err" indicates whether failure to load is worthy of emitting an * error message. In some cases (eg with embedded references) we * speculatively load, just incase, and silently ignore errors. * * Returns the refs_t struct on success (maybe newly allocated); * NULL on failure */ static refs_t *refs_load_fai(refs_t *r_orig, char *fn, int is_err) { struct stat sb; FILE *fp = NULL; char fai_fn[PATH_MAX]; char line[8192]; refs_t *r = r_orig; size_t fn_l = strlen(fn); int id = 0, id_alloc = 0; RP("refs_load_fai %s\n", fn); if (!r) if (!(r = refs_create())) goto err; /* Open reference, for later use */ if (stat(fn, &sb) != 0) { if (is_err) perror(fn); goto err; } if (r->fp) if (bgzf_close(r->fp) != 0) goto err; r->fp = NULL; if (!(r->fn = string_dup(r->pool, fn))) goto err; if (fn_l > 4 && strcmp(&fn[fn_l-4], ".fai") == 0) r->fn[fn_l-4] = 0; if (!(r->fp = bgzf_open_ref(r->fn, "r"))) goto err; /* Parse .fai file and load meta-data */ sprintf(fai_fn, "%.*s.fai", PATH_MAX-5, r->fn); if (stat(fai_fn, &sb) != 0) { if (is_err) perror(fai_fn); goto err; } if (!(fp = fopen(fai_fn, "r"))) { if (is_err) perror(fai_fn); goto err; } while (fgets(line, 8192, fp) != NULL) { ref_entry *e = malloc(sizeof(*e)); char *cp; int n; khint_t k; if (!e) return NULL; // id for (cp = line; *cp && !isspace(*cp); cp++) ; *cp++ = 0; e->name = string_dup(r->pool, line); // length while (*cp && isspace(*cp)) cp++; e->length = strtoll(cp, &cp, 10); // offset while (*cp && isspace(*cp)) cp++; e->offset = strtoll(cp, &cp, 10); // bases per line while (*cp && isspace(*cp)) cp++; e->bases_per_line = strtol(cp, &cp, 10); // line length while (*cp && isspace(*cp)) cp++; e->line_length = strtol(cp, &cp, 10); // filename e->fn = r->fn; e->count = 0; e->seq = NULL; k = kh_put(refs, r->h_meta, e->name, &n); if (-1 == n) { free(e); return NULL; } if (n) { kh_val(r->h_meta, k) = e; } else { ref_entry *re = kh_val(r->h_meta, k); if (re && (re->count != 0 || re->length != 0)) { /* Keep old */ free(e); } else { /* Replace old */ if (re) free(re); kh_val(r->h_meta, k) = e; } } if (id >= id_alloc) { int x; id_alloc = id_alloc ?id_alloc*2 : 16; r->ref_id = realloc(r->ref_id, id_alloc * sizeof(*r->ref_id)); for (x = id; x < id_alloc; x++) r->ref_id[x] = NULL; } r->ref_id[id] = e; r->nref = ++id; } return r; err: if (fp) fclose(fp); if (!r_orig) refs_free(r); return NULL; } /* * Indexes references by the order they appear in a BAM file. This may not * necessarily be the same order they appear in the fasta reference file. * * Returns 0 on success * -1 on failure */ int refs2id(refs_t *r, SAM_hdr *h) { int i; if (r->ref_id) free(r->ref_id); if (r->last) r->last = NULL; r->ref_id = calloc(h->nref, sizeof(*r->ref_id)); if (!r->ref_id) return -1; r->nref = h->nref; for (i = 0; i < h->nref; i++) { khint_t k = kh_get(refs, r->h_meta, h->ref[i].name); if (k != kh_end(r->h_meta)) { r->ref_id[i] = kh_val(r->h_meta, k); } else { fprintf(stderr, "Unable to find ref name '%s'\n", h->ref[i].name); } } return 0; } /* * Generates refs_t entries based on @SQ lines in the header. * Returns 0 on success * -1 on failure */ static int refs_from_header(refs_t *r, cram_fd *fd, SAM_hdr *h) { int i, j; if (!h || h->nref == 0) return 0; //fprintf(stderr, "refs_from_header for %p mode %c\n", fd, fd->mode); /* Existing refs are fine, as long as they're compatible with the hdr. */ if (!(r->ref_id = realloc(r->ref_id, (r->nref + h->nref) * sizeof(*r->ref_id)))) return -1; /* Copy info from h->ref[i] over to r */ for (i = 0, j = r->nref; i < h->nref; i++) { SAM_hdr_type *ty; SAM_hdr_tag *tag; khint_t k; int n; k = kh_get(refs, r->h_meta, h->ref[i].name); if (k != kh_end(r->h_meta)) // Ref already known about continue; if (!(r->ref_id[j] = calloc(1, sizeof(ref_entry)))) return -1; if (!h->ref[j].name) return -1; r->ref_id[j]->name = string_dup(r->pool, h->ref[i].name); r->ref_id[j]->length = 0; // marker for not yet loaded /* Initialise likely filename if known */ if ((ty = sam_hdr_find(h, "SQ", "SN", h->ref[i].name))) { if ((tag = sam_hdr_find_key(h, ty, "M5", NULL))) { r->ref_id[j]->fn = string_dup(r->pool, tag->str+3); //fprintf(stderr, "Tagging @SQ %s / %s\n", r->ref_id[h]->name, r->ref_id[h]->fn); } } k = kh_put(refs, r->h_meta, r->ref_id[j]->name, &n); if (n <= 0) // already exists or error return -1; kh_val(r->h_meta, k) = r->ref_id[j]; j++; } r->nref = j; return 0; } /* * Attaches a header to a cram_fd. * * This should be used when creating a new cram_fd for writing where * we have an SAM_hdr already constructed (eg from a file we've read * in). */ int cram_set_header(cram_fd *fd, SAM_hdr *hdr) { if (fd->header) sam_hdr_free(fd->header); fd->header = hdr; return refs_from_header(fd->refs, fd, hdr); } /* * Converts a directory and a filename into an expanded path, replacing %s * in directory with the filename and %[0-9]+s with portions of the filename * Any remaining parts of filename are added to the end with /%s. */ void expand_cache_path(char *path, char *dir, char *fn) { char *cp; while ((cp = strchr(dir, '%'))) { strncpy(path, dir, cp-dir); path += cp-dir; if (*++cp == 's') { strcpy(path, fn); path += strlen(fn); fn += strlen(fn); cp++; } else if (*cp >= '0' && *cp <= '9') { char *endp; long l; l = strtol(cp, &endp, 10); l = MIN(l, strlen(fn)); if (*endp == 's') { strncpy(path, fn, l); path += l; fn += l; *path = 0; cp = endp+1; } else { *path++ = '%'; *path++ = *cp++; } } else { *path++ = '%'; *path++ = *cp++; } dir = cp; } strcpy(path, dir); path += strlen(dir); if (*fn && path[-1] != '/') *path++ = '/'; strcpy(path, fn); } /* * Make the directory containing path and any prefix directories. */ void mkdir_prefix(char *path, int mode) { char *cp = strrchr(path, '/'); if (!cp) return; *cp = 0; if (is_directory(path)) { *cp = '/'; return; } if (mkdir(path, mode) == 0) { chmod(path, mode); *cp = '/'; return; } mkdir_prefix(path, mode); mkdir(path, mode); chmod(path, mode); *cp = '/'; } /* * Return the cache directory to use, based on the first of these * environment variables to be set to a non-empty value. */ static const char *get_cache_basedir(const char **extra) { char *base; *extra = ""; base = getenv("XDG_CACHE_HOME"); if (base && *base) return base; base = getenv("HOME"); if (base && *base) { *extra = "/.cache"; return base; } base = getenv("TMPDIR"); if (base && *base) return base; base = getenv("TEMP"); if (base && *base) return base; return "/tmp"; } /* * Queries the M5 string from the header and attempts to populate the * reference from this using the REF_PATH environment. * * Returns 0 on sucess * -1 on failure */ static int cram_populate_ref(cram_fd *fd, int id, ref_entry *r) { char *ref_path = getenv("REF_PATH"); SAM_hdr_type *ty; SAM_hdr_tag *tag; char path[PATH_MAX], path_tmp[PATH_MAX], cache[PATH_MAX]; char *local_cache = getenv("REF_CACHE"); mFILE *mf; if (fd->verbose) fprintf(stderr, "cram_populate_ref on fd %p, id %d\n", fd, id); if (!ref_path || *ref_path == '\0') { /* * If we have no ref path, we use the EBI server. * However to avoid spamming it we require a local ref cache too. */ ref_path = "http://www.ebi.ac.uk:80/ena/cram/md5/%s"; if (!local_cache || *local_cache == '\0') { const char *extra; const char *base = get_cache_basedir(&extra); snprintf(cache,PATH_MAX, "%s%s/hts-ref/%%2s/%%2s/%%s", base, extra); local_cache = cache; if (fd->verbose) fprintf(stderr, "Populating local cache: %s\n", local_cache); } } if (!r->name) return -1; if (!(ty = sam_hdr_find(fd->header, "SQ", "SN", r->name))) return -1; if (!(tag = sam_hdr_find_key(fd->header, ty, "M5", NULL))) goto no_M5; if (fd->verbose) fprintf(stderr, "Querying ref %s\n", tag->str+3); /* Use cache if available */ if (local_cache && *local_cache) { struct stat sb; BGZF *fp; expand_cache_path(path, local_cache, tag->str+3); if (0 == stat(path, &sb) && (fp = bgzf_open(path, "r"))) { r->length = sb.st_size; r->offset = r->line_length = r->bases_per_line = 0; r->fn = string_dup(fd->refs->pool, path); if (fd->refs->fp) if (bgzf_close(fd->refs->fp) != 0) return -1; fd->refs->fp = fp; fd->refs->fn = r->fn; // Fall back to cram_get_ref() where it'll do the actual // reading of the file. return 0; } } /* Otherwise search */ if ((mf = open_path_mfile(tag->str+3, ref_path, NULL))) { size_t sz; r->seq = mfsteal(mf, &sz); r->length = sz; } else { refs_t *refs; char *fn; no_M5: /* Failed to find in search path or M5 cache, see if @SQ UR: tag? */ if (!(tag = sam_hdr_find_key(fd->header, ty, "UR", NULL))) return -1; fn = (strncmp(tag->str+3, "file:", 5) == 0) ? tag->str+8 : tag->str+3; if (fd->refs->fp) { if (bgzf_close(fd->refs->fp) != 0) return -1; fd->refs->fp = NULL; } if (!(refs = refs_load_fai(fd->refs, fn, 0))) return -1; fd->refs = refs; if (fd->refs->fp) { if (bgzf_close(fd->refs->fp) != 0) return -1; fd->refs->fp = NULL; } if (!fd->refs->fn) return -1; if (-1 == refs2id(fd->refs, fd->header)) return -1; if (!fd->refs->ref_id || !fd->refs->ref_id[id]) return -1; // Local copy already, so fall back to cram_get_ref(). return 0; } /* Populate the local disk cache if required */ if (local_cache && *local_cache) { FILE *fp; int i; expand_cache_path(path, local_cache, tag->str+3); if (fd->verbose) fprintf(stderr, "Path='%s'\n", path); mkdir_prefix(path, 01777); i = 0; do { sprintf(path_tmp, "%s.tmp_%d", path, /*getpid(),*/ i); i++; fp = fopen(path_tmp, "wx"); } while (fp == NULL && errno == EEXIST); if (!fp) { perror(path_tmp); // Not fatal - we have the data already so keep going. return 0; } if (r->length != fwrite(r->seq, 1, r->length, fp)) { perror(path); } if (-1 == paranoid_fclose(fp)) { unlink(path_tmp); } else { if (0 == chmod(path_tmp, 0444)) rename(path_tmp, path); else unlink(path_tmp); } } return 0; } static void cram_ref_incr_locked(refs_t *r, int id) { RP("%d INC REF %d, %d %p\n", gettid(), id, (int)(id>=0?r->ref_id[id]->count+1:-999), id>=0?r->ref_id[id]->seq:(char *)1); if (id < 0 || !r->ref_id[id]->seq) return; if (r->last_id == id) r->last_id = -1; ++r->ref_id[id]->count; } void cram_ref_incr(refs_t *r, int id) { pthread_mutex_lock(&r->lock); cram_ref_incr_locked(r, id); pthread_mutex_unlock(&r->lock); } static void cram_ref_decr_locked(refs_t *r, int id) { RP("%d DEC REF %d, %d %p\n", gettid(), id, (int)(id>=0?r->ref_id[id]->count-1:-999), id>=0?r->ref_id[id]->seq:(char *)1); if (id < 0 || !r->ref_id[id]->seq) { assert(r->ref_id[id]->count >= 0); return; } if (--r->ref_id[id]->count <= 0) { assert(r->ref_id[id]->count == 0); if (r->last_id >= 0) { if (r->ref_id[r->last_id]->count <= 0 && r->ref_id[r->last_id]->seq) { RP("%d FREE REF %d (%p)\n", gettid(), r->last_id, r->ref_id[r->last_id]->seq); free(r->ref_id[r->last_id]->seq); r->ref_id[r->last_id]->seq = NULL; r->ref_id[r->last_id]->length = 0; } } r->last_id = id; } } void cram_ref_decr(refs_t *r, int id) { pthread_mutex_lock(&r->lock); cram_ref_decr_locked(r, id); pthread_mutex_unlock(&r->lock); } /* * Used by cram_ref_load and cram_ref_get. The file handle will have * already been opened, so we can catch it. The ref_entry *e informs us * of whether this is a multi-line fasta file or a raw MD5 style file. * Either way we create a single contiguous sequence. * * Returns all or part of a reference sequence on success (malloced); * NULL on failure. */ static char *load_ref_portion(BGZF *fp, ref_entry *e, int start, int end) { off_t offset, len; char *seq; if (end < start) end = start; /* * Compute locations in file. This is trivial for the MD5 files, but * is still necessary for the fasta variants. */ offset = e->line_length ? e->offset + (start-1)/e->bases_per_line * e->line_length + (start-1) % e->bases_per_line : start-1; len = (e->line_length ? e->offset + (end-1)/e->bases_per_line * e->line_length + (end-1) % e->bases_per_line : end-1) - offset + 1; if (bgzf_useek(fp, offset, SEEK_SET) < 0) { perror("bgzf_useek() on reference file"); return NULL; } if (len == 0 || !(seq = malloc(len))) { return NULL; } if (len != bgzf_read(fp, seq, len)) { perror("bgzf_read() on reference file"); free(seq); return NULL; } /* Strip white-space if required. */ if (len != end-start+1) { int i, j; char *cp = seq; char *cp_to; for (i = j = 0; i < len; i++) { if (cp[i] >= '!' && cp[i] <= '~') cp[j++] = cp[i] & ~0x20; } cp_to = cp+j; if (cp_to - seq != end-start+1) { fprintf(stderr, "Malformed reference file?\n"); free(seq); return NULL; } } else { int i; for (i = 0; i < len; i++) { seq[i] = seq[i] & ~0x20; // uppercase in ASCII } } return seq; } /* * Load the entire reference 'id'. * This also increments the reference count by 1. * * Returns ref_entry on success; * NULL on failure */ ref_entry *cram_ref_load(refs_t *r, int id) { ref_entry *e = r->ref_id[id]; int start = 1, end = e->length; char *seq; if (e->seq) { return e; } assert(e->count == 0); if (r->last) { #ifdef REF_DEBUG int idx = 0; for (idx = 0; idx < r->nref; idx++) if (r->last == r->ref_id[idx]) break; RP("%d cram_ref_load DECR %d\n", gettid(), idx); #endif assert(r->last->count > 0); if (--r->last->count <= 0) { RP("%d FREE REF %d (%p)\n", gettid(), id, r->ref_id[id]->seq); if (r->last->seq) { free(r->last->seq); r->last->seq = NULL; } } } /* Open file if it's not already the current open reference */ if (strcmp(r->fn, e->fn) || r->fp == NULL) { if (r->fp) if (bgzf_close(r->fp) != 0) return NULL; r->fn = e->fn; if (!(r->fp = bgzf_open_ref(r->fn, "r"))) return NULL; } RP("%d Loading ref %d (%d..%d)\n", gettid(), id, start, end); if (!(seq = load_ref_portion(r->fp, e, start, end))) { return NULL; } RP("%d Loaded ref %d (%d..%d) = %p\n", gettid(), id, start, end, seq); RP("%d INC REF %d, %d\n", gettid(), id, (int)(e->count+1)); e->seq = seq; e->count++; /* * Also keep track of last used ref so incr/decr loops on the same * sequence don't cause load/free loops. */ RP("%d cram_ref_load INCR %d => %d\n", gettid(), id, e->count+1); r->last = e; e->count++; return e; } /* * Returns a portion of a reference sequence from start to end inclusive. * The returned pointer is owned by either the cram_file fd or by the * internal refs_t structure and should not be freed by the caller. * * The difference is whether or not this refs_t is in use by just the one * cram_fd or by multiples, or whether we have multiple threads accessing * references. In either case fd->shared will be true and we start using * reference counting to track the number of users of a specific reference * sequence. * * Otherwise the ref seq returned is allocated as part of cram_fd itself * and will be freed up on the next call to cram_get_ref or cram_close. * * To return the entire reference sequence, specify start as 1 and end * as 0. * * To cease using a reference, call cram_ref_decr(). * * Returns reference on success, * NULL on failure */ char *cram_get_ref(cram_fd *fd, int id, int start, int end) { ref_entry *r; char *seq; int ostart = start; if (id == -1) return NULL; /* FIXME: axiomatic query of r->seq being true? * Or shortcut for unsorted data where we load once and never free? */ //fd->shared_ref = 1; // hard code for now to simplify things pthread_mutex_lock(&fd->ref_lock); RP("%d cram_get_ref on fd %p, id %d, range %d..%d\n", gettid(), fd, id, start, end); /* * Unsorted data implies we want to fetch an entire reference at a time. * We just deal with this at the moment by claiming we're sharing * references instead, which has the same requirement. */ if (fd->unsorted) fd->shared_ref = 1; /* Sanity checking: does this ID exist? */ if (id >= fd->refs->nref) { fprintf(stderr, "No reference found for id %d\n", id); pthread_mutex_unlock(&fd->ref_lock); return NULL; } if (!fd->refs || !fd->refs->ref_id[id]) { fprintf(stderr, "No reference found for id %d\n", id); pthread_mutex_unlock(&fd->ref_lock); return NULL; } if (!(r = fd->refs->ref_id[id])) { fprintf(stderr, "No reference found for id %d\n", id); pthread_mutex_unlock(&fd->ref_lock); return NULL; } /* * It has an entry, but may not have been populated yet. * Any manually loaded .fai files have their lengths known. * A ref entry computed from @SQ lines (M5 or UR field) will have * r->length == 0 unless it's been loaded once and verified that we have * an on-disk filename for it. * * 19 Sep 2013: Moved the lock here as the cram_populate_ref code calls * open_path_mfile and libcurl, which isn't multi-thread safe unless I * rewrite my code to have one curl handle per thread. */ pthread_mutex_lock(&fd->refs->lock); if (r->length == 0) { if (cram_populate_ref(fd, id, r) == -1) { fprintf(stderr, "Failed to populate reference for id %d\n", id); pthread_mutex_unlock(&fd->refs->lock); pthread_mutex_unlock(&fd->ref_lock); return NULL; } r = fd->refs->ref_id[id]; if (fd->unsorted) cram_ref_incr_locked(fd->refs, id); } /* * We now know that we the filename containing the reference, so check * for limits. If it's over half the reference we'll load all of it in * memory as this will speed up subsequent calls. */ if (end < 1) end = r->length; if (end >= r->length) end = r->length; assert(start >= 1); if (end - start >= 0.5*r->length || fd->shared_ref) { start = 1; end = r->length; } /* * Maybe we have it cached already? If so use it. * * Alternatively if we don't have the sequence but we're sharing * references and/or are asking for the entire length of it, then * load the full reference into the refs structure and return * a pointer to that one instead. */ if (fd->shared_ref || r->seq || (start == 1 && end == r->length)) { char *cp; if (id >= 0) { if (r->seq) { cram_ref_incr_locked(fd->refs, id); } else { ref_entry *e; if (!(e = cram_ref_load(fd->refs, id))) { pthread_mutex_unlock(&fd->refs->lock); pthread_mutex_unlock(&fd->ref_lock); return NULL; } /* unsorted data implies cache ref indefinitely, to avoid * continually loading and unloading. */ if (fd->unsorted) cram_ref_incr_locked(fd->refs, id); } fd->ref = NULL; /* We never access it directly */ fd->ref_start = 1; fd->ref_end = r->length; fd->ref_id = id; cp = fd->refs->ref_id[id]->seq + ostart-1; } else { fd->ref = NULL; cp = NULL; } RP("%d cram_get_ref returning for id %d, count %d\n", gettid(), id, (int)r->count); pthread_mutex_unlock(&fd->refs->lock); pthread_mutex_unlock(&fd->ref_lock); return cp; } /* * Otherwise we're not sharing, we don't have a copy of it already and * we're only asking for a small portion of it. * * In this case load up just that segment ourselves, freeing any old * small segments in the process. */ /* Unmapped ref ID */ if (id < 0) { if (fd->ref_free) { free(fd->ref_free); fd->ref_free = NULL; } fd->ref = NULL; fd->ref_id = id; pthread_mutex_unlock(&fd->refs->lock); pthread_mutex_unlock(&fd->ref_lock); return NULL; } /* Open file if it's not already the current open reference */ if (strcmp(fd->refs->fn, r->fn) || fd->refs->fp == NULL) { if (fd->refs->fp) if (bgzf_close(fd->refs->fp) != 0) return NULL; fd->refs->fn = r->fn; if (!(fd->refs->fp = bgzf_open_ref(fd->refs->fn, "r"))) { pthread_mutex_unlock(&fd->refs->lock); pthread_mutex_unlock(&fd->ref_lock); return NULL; } } if (!(fd->ref = load_ref_portion(fd->refs->fp, r, start, end))) { pthread_mutex_unlock(&fd->refs->lock); pthread_mutex_unlock(&fd->ref_lock); return NULL; } if (fd->ref_free) free(fd->ref_free); fd->ref_id = id; fd->ref_start = start; fd->ref_end = end; fd->ref_free = fd->ref; seq = fd->ref; pthread_mutex_unlock(&fd->refs->lock); pthread_mutex_unlock(&fd->ref_lock); return seq + ostart - start; } /* * If fd has been opened for reading, it may be permitted to specify 'fn' * as NULL and let the code auto-detect the reference by parsing the * SAM header @SQ lines. */ int cram_load_reference(cram_fd *fd, char *fn) { if (fn) { fd->refs = refs_load_fai(fd->refs, fn, !(fd->embed_ref && fd->mode == 'r')); fn = fd->refs ? fd->refs->fn : NULL; } fd->ref_fn = fn; if ((!fd->refs || (fd->refs->nref == 0 && !fn)) && fd->header) { if (fd->refs) refs_free(fd->refs); if (!(fd->refs = refs_create())) return -1; if (-1 == refs_from_header(fd->refs, fd, fd->header)) return -1; } if (fd->header) if (-1 == refs2id(fd->refs, fd->header)) return -1; return fn ? 0 : -1; } /* ---------------------------------------------------------------------- * Containers */ /* * Creates a new container, specifying the maximum number of slices * and records permitted. * * Returns cram_container ptr on success * NULL on failure */ cram_container *cram_new_container(int nrec, int nslice) { cram_container *c = calloc(1, sizeof(*c)); enum cram_DS_ID id; if (!c) return NULL; c->curr_ref = -2; c->max_c_rec = nrec * nslice; c->curr_c_rec = 0; c->max_rec = nrec; c->record_counter = 0; c->num_bases = 0; c->max_slice = nslice; c->curr_slice = 0; c->pos_sorted = 1; c->max_apos = 0; c->multi_seq = 0; c->bams = NULL; if (!(c->slices = (cram_slice **)calloc(nslice, sizeof(cram_slice *)))) goto err; c->slice = NULL; if (!(c->comp_hdr = cram_new_compression_header())) goto err; c->comp_hdr_block = NULL; for (id = DS_RN; id < DS_TN; id++) if (!(c->stats[id] = cram_stats_create())) goto err; //c->aux_B_stats = cram_stats_create(); if (!(c->tags_used = kh_init(s_i2i))) goto err; c->refs_used = 0; return c; err: if (c) { if (c->slices) free(c->slices); free(c); } return NULL; } void cram_free_container(cram_container *c) { enum cram_DS_ID id; int i; if (!c) return; if (c->refs_used) free(c->refs_used); if (c->landmark) free(c->landmark); if (c->comp_hdr) cram_free_compression_header(c->comp_hdr); if (c->comp_hdr_block) cram_free_block(c->comp_hdr_block); if (c->slices) { for (i = 0; i < c->max_slice; i++) if (c->slices[i]) cram_free_slice(c->slices[i]); free(c->slices); } for (id = DS_RN; id < DS_TN; id++) if (c->stats[id]) cram_stats_free(c->stats[id]); //if (c->aux_B_stats) cram_stats_free(c->aux_B_stats); if (c->tags_used) kh_destroy(s_i2i, c->tags_used); free(c); } /* * Reads a container header. * * Returns cram_container on success * NULL on failure or no container left (fd->err == 0). */ cram_container *cram_read_container(cram_fd *fd) { cram_container c2, *c; int i, s; size_t rd = 0; fd->err = 0; fd->eof = 0; memset(&c2, 0, sizeof(c2)); if (CRAM_MAJOR_VERS(fd->version) == 1) { if ((s = itf8_decode(fd, &c2.length)) == -1) { fd->eof = fd->empty_container ? 1 : 2; return NULL; } else { rd+=s; } } else { if ((s = int32_decode(fd, &c2.length)) == -1) { if (CRAM_MAJOR_VERS(fd->version) == 2 && CRAM_MINOR_VERS(fd->version) == 0) fd->eof = 1; // EOF blocks arrived in v2.1 else fd->eof = fd->empty_container ? 1 : 2; return NULL; } else { rd+=s; } } if ((s = itf8_decode(fd, &c2.ref_seq_id)) == -1) return NULL; else rd+=s; if ((s = itf8_decode(fd, &c2.ref_seq_start))== -1) return NULL; else rd+=s; if ((s = itf8_decode(fd, &c2.ref_seq_span)) == -1) return NULL; else rd+=s; if ((s = itf8_decode(fd, &c2.num_records)) == -1) return NULL; else rd+=s; if (CRAM_MAJOR_VERS(fd->version) == 1) { c2.record_counter = 0; c2.num_bases = 0; } else { if (CRAM_MAJOR_VERS(fd->version) >= 3) { if ((s = ltf8_decode(fd, &c2.record_counter)) == -1) return NULL; else rd += s; } else { int32_t i32; if ((s = itf8_decode(fd, &i32)) == -1) return NULL; else rd += s; c2.record_counter = i32; } if ((s = ltf8_decode(fd, &c2.num_bases))== -1) return NULL; else rd += s; } if ((s = itf8_decode(fd, &c2.num_blocks)) == -1) return NULL; else rd+=s; if ((s = itf8_decode(fd, &c2.num_landmarks))== -1) return NULL; else rd+=s; if (!(c = calloc(1, sizeof(*c)))) return NULL; *c = c2; if (!(c->landmark = malloc(c->num_landmarks * sizeof(int32_t))) && c->num_landmarks) { fd->err = errno; cram_free_container(c); return NULL; } for (i = 0; i < c->num_landmarks; i++) { if ((s = itf8_decode(fd, &c->landmark[i])) == -1) { cram_free_container(c); return NULL; } else { rd += s; } } if (CRAM_MAJOR_VERS(fd->version) >= 3) { uint32_t crc, i; unsigned char *dat = malloc(50 + 5*(c->num_landmarks)), *cp = dat; if (!dat) { cram_free_container(c); return NULL; } if (-1 == int32_decode(fd, (int32_t *)&c->crc32)) return NULL; else rd+=4; /* Reencode first as we can't easily access the original byte stream. * * FIXME: Technically this means this may not be fool proof. We could * create a CRAM file using a 2 byte ITF8 value that can fit in a * 1 byte field, meaning the encoding is different to the original * form and so has a different CRC. * * The correct implementation would be to have an alternative form * of itf8_decode which also squirrels away the raw byte stream * during decoding so we can then CRC that. */ *(unsigned int *)cp = le_int4(c->length); cp += 4; cp += itf8_put(cp, c->ref_seq_id); cp += itf8_put(cp, c->ref_seq_start); cp += itf8_put(cp, c->ref_seq_span); cp += itf8_put(cp, c->num_records); cp += ltf8_put((char *)cp, c->record_counter); cp += itf8_put(cp, c->num_bases); cp += itf8_put(cp, c->num_blocks); cp += itf8_put(cp, c->num_landmarks); for (i = 0; i < c->num_landmarks; i++) { cp += itf8_put(cp, c->landmark[i]); } crc = crc32(0L, dat, cp-dat); if (crc != c->crc32) { fprintf(stderr, "Container header CRC32 failure\n"); cram_free_container(c); return NULL; } } c->offset = rd; c->slices = NULL; c->curr_slice = 0; c->max_slice = c->num_landmarks; c->slice_rec = 0; c->curr_rec = 0; c->max_rec = 0; if (c->ref_seq_id == -2) { c->multi_seq = 1; fd->multi_seq = 1; } fd->empty_container = (c->num_records == 0 && c->ref_seq_id == -1 && c->ref_seq_start == 0x454f46 /* EOF */) ? 1 : 0; return c; } /* * Writes a container structure. * * Returns 0 on success * -1 on failure */ int cram_write_container(cram_fd *fd, cram_container *c) { char buf_a[1024], *buf = buf_a, *cp; int i; if (55 + c->num_landmarks * 5 >= 1024) buf = malloc(55 + c->num_landmarks * 5); cp = buf; if (CRAM_MAJOR_VERS(fd->version) == 1) { cp += itf8_put(cp, c->length); } else { *(int32_t *)cp = le_int4(c->length); cp += 4; } if (c->multi_seq) { cp += itf8_put(cp, -2); cp += itf8_put(cp, 0); cp += itf8_put(cp, 0); } else { cp += itf8_put(cp, c->ref_seq_id); cp += itf8_put(cp, c->ref_seq_start); cp += itf8_put(cp, c->ref_seq_span); } cp += itf8_put(cp, c->num_records); if (CRAM_MAJOR_VERS(fd->version) == 2) { cp += itf8_put(cp, c->record_counter); cp += ltf8_put(cp, c->num_bases); } else if (CRAM_MAJOR_VERS(fd->version) >= 3) { cp += ltf8_put(cp, c->record_counter); cp += ltf8_put(cp, c->num_bases); } cp += itf8_put(cp, c->num_blocks); cp += itf8_put(cp, c->num_landmarks); for (i = 0; i < c->num_landmarks; i++) cp += itf8_put(cp, c->landmark[i]); if (CRAM_MAJOR_VERS(fd->version) >= 3) { c->crc32 = crc32(0L, (uc *)buf, cp-buf); cp[0] = c->crc32 & 0xff; cp[1] = (c->crc32 >> 8) & 0xff; cp[2] = (c->crc32 >> 16) & 0xff; cp[3] = (c->crc32 >> 24) & 0xff; cp += 4; } if (cp-buf != hwrite(fd->fp, buf, cp-buf)) { if (buf != buf_a) free(buf); return -1; } if (buf != buf_a) free(buf); return 0; } // common component shared by cram_flush_container{,_mt} static int cram_flush_container2(cram_fd *fd, cram_container *c) { int i, j; //fprintf(stderr, "Writing container %d, sum %u\n", c->record_counter, sum); /* Write the container struct itself */ if (0 != cram_write_container(fd, c)) return -1; /* And the compression header */ if (0 != cram_write_block(fd, c->comp_hdr_block)) return -1; /* Followed by the slice blocks */ for (i = 0; i < c->curr_slice; i++) { cram_slice *s = c->slices[i]; if (0 != cram_write_block(fd, s->hdr_block)) return -1; for (j = 0; j < s->hdr->num_blocks; j++) { if (0 != cram_write_block(fd, s->block[j])) return -1; } } return hflush(fd->fp) == 0 ? 0 : -1; } /* * Flushes a completely or partially full container to disk, writing * container structure, header and blocks. This also calls the encoder * functions. * * Returns 0 on success * -1 on failure */ int cram_flush_container(cram_fd *fd, cram_container *c) { /* Encode the container blocks and generate compression header */ if (0 != cram_encode_container(fd, c)) return -1; return cram_flush_container2(fd, c); } typedef struct { cram_fd *fd; cram_container *c; } cram_job; void *cram_flush_thread(void *arg) { cram_job *j = (cram_job *)arg; /* Encode the container blocks and generate compression header */ if (0 != cram_encode_container(j->fd, j->c)) { fprintf(stderr, "cram_encode_container failed\n"); return NULL; } return arg; } static int cram_flush_result(cram_fd *fd) { int i, ret = 0; t_pool_result *r; while ((r = t_pool_next_result(fd->rqueue))) { cram_job *j = (cram_job *)r->data; cram_container *c; if (!j) { t_pool_delete_result(r, 0); return -1; } fd = j->fd; c = j->c; if (0 != cram_flush_container2(fd, c)) return -1; /* Free the container */ for (i = 0; i < c->max_slice; i++) { cram_free_slice(c->slices[i]); c->slices[i] = NULL; } c->slice = NULL; c->curr_slice = 0; cram_free_container(c); ret |= hflush(fd->fp) == 0 ? 0 : -1; t_pool_delete_result(r, 1); } return ret; } int cram_flush_container_mt(cram_fd *fd, cram_container *c) { cram_job *j; if (!fd->pool) return cram_flush_container(fd, c); if (!(j = malloc(sizeof(*j)))) return -1; j->fd = fd; j->c = c; t_pool_dispatch(fd->pool, fd->rqueue, cram_flush_thread, j); return cram_flush_result(fd); } /* ---------------------------------------------------------------------- * Compression headers; the first part of the container */ /* * Creates a new blank container compression header * * Returns header ptr on success * NULL on failure */ cram_block_compression_hdr *cram_new_compression_header(void) { cram_block_compression_hdr *hdr = calloc(1, sizeof(*hdr)); if (!hdr) return NULL; if (!(hdr->TD_blk = cram_new_block(CORE, 0))) { free(hdr); return NULL; } if (!(hdr->TD_hash = kh_init(m_s2i))) { cram_free_block(hdr->TD_blk); free(hdr); return NULL; } if (!(hdr->TD_keys = string_pool_create(8192))) { kh_destroy(m_s2i, hdr->TD_hash); cram_free_block(hdr->TD_blk); free(hdr); return NULL; } return hdr; } void cram_free_compression_header(cram_block_compression_hdr *hdr) { int i; if (hdr->landmark) free(hdr->landmark); if (hdr->preservation_map) kh_destroy(map, hdr->preservation_map); for (i = 0; i < CRAM_MAP_HASH; i++) { cram_map *m, *m2; for (m = hdr->rec_encoding_map[i]; m; m = m2) { m2 = m->next; if (m->codec) m->codec->free(m->codec); free(m); } } for (i = 0; i < CRAM_MAP_HASH; i++) { cram_map *m, *m2; for (m = hdr->tag_encoding_map[i]; m; m = m2) { m2 = m->next; if (m->codec) m->codec->free(m->codec); free(m); } } for (i = 0; i < DS_END; i++) { if (hdr->codecs[i]) hdr->codecs[i]->free(hdr->codecs[i]); } if (hdr->TL) free(hdr->TL); if (hdr->TD_blk) cram_free_block(hdr->TD_blk); if (hdr->TD_hash) kh_destroy(m_s2i, hdr->TD_hash); if (hdr->TD_keys) string_pool_destroy(hdr->TD_keys); free(hdr); } /* ---------------------------------------------------------------------- * Slices and slice headers */ void cram_free_slice_header(cram_block_slice_hdr *hdr) { if (!hdr) return; if (hdr->block_content_ids) free(hdr->block_content_ids); free(hdr); return; } void cram_free_slice(cram_slice *s) { if (!s) return; if (s->hdr_block) cram_free_block(s->hdr_block); if (s->block) { int i; if (s->hdr) { for (i = 0; i < s->hdr->num_blocks; i++) { cram_free_block(s->block[i]); } } free(s->block); } if (s->block_by_id) free(s->block_by_id); if (s->hdr) cram_free_slice_header(s->hdr); if (s->seqs_blk) cram_free_block(s->seqs_blk); if (s->qual_blk) cram_free_block(s->qual_blk); if (s->name_blk) cram_free_block(s->name_blk); if (s->aux_blk) cram_free_block(s->aux_blk); if (s->aux_OQ_blk) cram_free_block(s->aux_OQ_blk); if (s->aux_BQ_blk) cram_free_block(s->aux_BQ_blk); if (s->aux_FZ_blk) cram_free_block(s->aux_FZ_blk); if (s->aux_oq_blk) cram_free_block(s->aux_oq_blk); if (s->aux_os_blk) cram_free_block(s->aux_os_blk); if (s->aux_oz_blk) cram_free_block(s->aux_oz_blk); if (s->base_blk) cram_free_block(s->base_blk); if (s->soft_blk) cram_free_block(s->soft_blk); if (s->cigar) free(s->cigar); if (s->crecs) free(s->crecs); if (s->features) free(s->features); if (s->TN) free(s->TN); if (s->pair_keys) string_pool_destroy(s->pair_keys); if (s->pair[0]) kh_destroy(m_s2i, s->pair[0]); if (s->pair[1]) kh_destroy(m_s2i, s->pair[1]); free(s); } /* * Creates a new empty slice in memory, for subsequent writing to * disk. * * Returns cram_slice ptr on success * NULL on failure */ cram_slice *cram_new_slice(enum cram_content_type type, int nrecs) { cram_slice *s = calloc(1, sizeof(*s)); if (!s) return NULL; if (!(s->hdr = (cram_block_slice_hdr *)calloc(1, sizeof(*s->hdr)))) goto err; s->hdr->content_type = type; s->hdr_block = NULL; s->block = NULL; s->block_by_id = NULL; s->last_apos = 0; if (!(s->crecs = malloc(nrecs * sizeof(cram_record)))) goto err; s->cigar = NULL; s->cigar_alloc = 0; s->ncigar = 0; if (!(s->seqs_blk = cram_new_block(EXTERNAL, 0))) goto err; if (!(s->qual_blk = cram_new_block(EXTERNAL, DS_QS))) goto err; if (!(s->name_blk = cram_new_block(EXTERNAL, DS_RN))) goto err; if (!(s->aux_blk = cram_new_block(EXTERNAL, DS_aux))) goto err; if (!(s->base_blk = cram_new_block(EXTERNAL, DS_IN))) goto err; if (!(s->soft_blk = cram_new_block(EXTERNAL, DS_SC))) goto err; s->features = NULL; s->nfeatures = s->afeatures = 0; #ifndef TN_external s->TN = NULL; s->nTN = s->aTN = 0; #endif // Volatile keys as we do realloc in dstring if (!(s->pair_keys = string_pool_create(8192))) goto err; if (!(s->pair[0] = kh_init(m_s2i))) goto err; if (!(s->pair[1] = kh_init(m_s2i))) goto err; #ifdef BA_external s->BA_len = 0; #endif return s; err: if (s) cram_free_slice(s); return NULL; } /* * Loads an entire slice. * FIXME: In 1.0 the native unit of slices within CRAM is broken * as slices contain references to objects in other slices. * To work around this while keeping the slice oriented outer loop * we read all slices and stitch them together into a fake large * slice instead. * * Returns cram_slice ptr on success * NULL on failure */ cram_slice *cram_read_slice(cram_fd *fd) { cram_block *b = cram_read_block(fd); cram_slice *s = calloc(1, sizeof(*s)); int i, n, max_id, min_id; if (!b || !s) goto err; s->hdr_block = b; switch (b->content_type) { case MAPPED_SLICE: case UNMAPPED_SLICE: if (!(s->hdr = cram_decode_slice_header(fd, b))) goto err; break; default: fprintf(stderr, "Unexpected block of type %s\n", cram_content_type2str(b->content_type)); goto err; } s->block = calloc(n = s->hdr->num_blocks, sizeof(*s->block)); if (!s->block) goto err; for (max_id = i = 0, min_id = INT_MAX; i < n; i++) { if (!(s->block[i] = cram_read_block(fd))) goto err; if (s->block[i]->content_type == EXTERNAL) { if (max_id < s->block[i]->content_id) max_id = s->block[i]->content_id; if (min_id > s->block[i]->content_id) min_id = s->block[i]->content_id; } } if (min_id >= 0 && max_id < 1024) { if (!(s->block_by_id = calloc(1024, sizeof(s->block[0])))) goto err; for (i = 0; i < n; i++) { if (s->block[i]->content_type != EXTERNAL) continue; s->block_by_id[s->block[i]->content_id] = s->block[i]; } } /* Initialise encoding/decoding tables */ s->cigar = NULL; s->cigar_alloc = 0; s->ncigar = 0; if (!(s->seqs_blk = cram_new_block(EXTERNAL, 0))) goto err; if (!(s->qual_blk = cram_new_block(EXTERNAL, DS_QS))) goto err; if (!(s->name_blk = cram_new_block(EXTERNAL, DS_RN))) goto err; if (!(s->aux_blk = cram_new_block(EXTERNAL, DS_aux))) goto err; if (!(s->base_blk = cram_new_block(EXTERNAL, DS_IN))) goto err; if (!(s->soft_blk = cram_new_block(EXTERNAL, DS_SC))) goto err; s->crecs = NULL; s->last_apos = s->hdr->ref_seq_start; return s; err: if (b) cram_free_block(b); if (s) { s->hdr_block = NULL; cram_free_slice(s); } return NULL; } /* ---------------------------------------------------------------------- * CRAM file definition (header) */ /* * Reads a CRAM file definition structure. * Returns file_def ptr on success * NULL on failure */ cram_file_def *cram_read_file_def(cram_fd *fd) { cram_file_def *def = malloc(sizeof(*def)); if (!def) return NULL; if (26 != hread(fd->fp, &def->magic[0], 26)) { free(def); return NULL; } if (memcmp(def->magic, "CRAM", 4) != 0) { free(def); return NULL; } if (def->major_version > 3) { fprintf(stderr, "CRAM version number mismatch\n" "Expected 1.x, 2.x or 3.x, got %d.%d\n", def->major_version, def->minor_version); free(def); return NULL; } fd->first_container += 26; fd->last_slice = 0; return def; } /* * Writes a cram_file_def structure to cram_fd. * Returns 0 on success * -1 on failure */ int cram_write_file_def(cram_fd *fd, cram_file_def *def) { return (hwrite(fd->fp, &def->magic[0], 26) == 26) ? 0 : -1; } void cram_free_file_def(cram_file_def *def) { if (def) free(def); } /* ---------------------------------------------------------------------- * SAM header I/O */ /* * Reads the SAM header from the first CRAM data block. * Also performs minimal parsing to extract read-group * and sample information. * Returns SAM hdr ptr on success * NULL on failure */ SAM_hdr *cram_read_SAM_hdr(cram_fd *fd) { int32_t header_len; char *header; SAM_hdr *hdr; /* 1.1 onwards stores the header in the first block of a container */ if (CRAM_MAJOR_VERS(fd->version) == 1) { /* Length */ if (-1 == int32_decode(fd, &header_len)) return NULL; /* Alloc and read */ if (NULL == (header = malloc(header_len+1))) return NULL; *header = 0; if (header_len != hread(fd->fp, header, header_len)) return NULL; fd->first_container += 4 + header_len; } else { cram_container *c = cram_read_container(fd); cram_block *b; int i, len; if (!c) return NULL; if (c->num_blocks < 1) { cram_free_container(c); return NULL; } if (!(b = cram_read_block(fd))) { cram_free_container(c); return NULL; } cram_uncompress_block(b); len = b->comp_size + 2 + 4*(CRAM_MAJOR_VERS(fd->version) >= 3) + itf8_size(b->content_id) + itf8_size(b->uncomp_size) + itf8_size(b->comp_size); /* Extract header from 1st block */ if (-1 == int32_get(b, &header_len) || b->uncomp_size - 4 < header_len) { cram_free_container(c); cram_free_block(b); return NULL; } if (NULL == (header = malloc(header_len+1))) { cram_free_container(c); cram_free_block(b); return NULL; } memcpy(header, BLOCK_END(b), header_len); header[header_len]='\0'; cram_free_block(b); /* Consume any remaining blocks */ for (i = 1; i < c->num_blocks; i++) { if (!(b = cram_read_block(fd))) { cram_free_container(c); return NULL; } len += b->comp_size + 2 + 4*(CRAM_MAJOR_VERS(fd->version) >= 3) + itf8_size(b->content_id) + itf8_size(b->uncomp_size) + itf8_size(b->comp_size); cram_free_block(b); } if (c->length && c->length > len) { // Consume padding char *pads = malloc(c->length - len); if (!pads) { cram_free_container(c); return NULL; } if (c->length - len != hread(fd->fp, pads, c->length - len)) { cram_free_container(c); return NULL; } free(pads); } cram_free_container(c); } /* Parse */ hdr = sam_hdr_parse_(header, header_len); free(header); return hdr; } /* * Converts 'in' to a full pathname to store in out. * Out must be at least PATH_MAX bytes long. */ static void full_path(char *out, char *in) { if (*in == '/') { strncpy(out, in, PATH_MAX); out[PATH_MAX-1] = 0; } else { int len; // unable to get dir or out+in is too long if (!getcwd(out, PATH_MAX) || (len = strlen(out))+1+strlen(in) >= PATH_MAX) { strncpy(out, in, PATH_MAX); out[PATH_MAX-1] = 0; return; } sprintf(out+len, "/%.*s", PATH_MAX - len, in); // FIXME: cope with `pwd`/../../../foo.fa ? } } /* * Writes a CRAM SAM header. * Returns 0 on success * -1 on failure */ int cram_write_SAM_hdr(cram_fd *fd, SAM_hdr *hdr) { int header_len; int blank_block = (CRAM_MAJOR_VERS(fd->version) >= 3); /* Write CRAM MAGIC if not yet written. */ if (fd->file_def->major_version == 0) { fd->file_def->major_version = CRAM_MAJOR_VERS(fd->version); fd->file_def->minor_version = CRAM_MINOR_VERS(fd->version); if (0 != cram_write_file_def(fd, fd->file_def)) return -1; } /* 1.0 requires and UNKNOWN read-group */ if (CRAM_MAJOR_VERS(fd->version) == 1) { if (!sam_hdr_find_rg(hdr, "UNKNOWN")) if (sam_hdr_add(hdr, "RG", "ID", "UNKNOWN", "SM", "UNKNOWN", NULL)) return -1; } /* Fix M5 strings */ if (fd->refs && !fd->no_ref) { int i; for (i = 0; i < hdr->nref; i++) { SAM_hdr_type *ty; char *ref; if (!(ty = sam_hdr_find(hdr, "SQ", "SN", hdr->ref[i].name))) return -1; if (!sam_hdr_find_key(hdr, ty, "M5", NULL)) { char unsigned buf[16], buf2[33]; int j, rlen; MD5_CTX md5; if (!fd->refs || !fd->refs->ref_id || !fd->refs->ref_id[i]) { return -1; } rlen = fd->refs->ref_id[i]->length; MD5_Init(&md5); ref = cram_get_ref(fd, i, 1, rlen); if (NULL == ref) return -1; rlen = fd->refs->ref_id[i]->length; /* In case it just loaded */ MD5_Update(&md5, ref, rlen); MD5_Final(buf, &md5); cram_ref_decr(fd->refs, i); for (j = 0; j < 16; j++) { buf2[j*2+0] = "0123456789abcdef"[buf[j]>>4]; buf2[j*2+1] = "0123456789abcdef"[buf[j]&15]; } buf2[32] = 0; if (sam_hdr_update(hdr, ty, "M5", buf2, NULL)) return -1; } if (fd->ref_fn) { char ref_fn[PATH_MAX]; full_path(ref_fn, fd->ref_fn); if (sam_hdr_update(hdr, ty, "UR", ref_fn, NULL)) return -1; } } } if (sam_hdr_rebuild(hdr)) return -1; /* Length */ header_len = sam_hdr_length(hdr); if (CRAM_MAJOR_VERS(fd->version) == 1) { if (-1 == int32_encode(fd, header_len)) return -1; /* Text data */ if (header_len != hwrite(fd->fp, sam_hdr_str(hdr), header_len)) return -1; } else { /* Create block(s) inside a container */ cram_block *b = cram_new_block(FILE_HEADER, 0); cram_container *c = cram_new_container(0, 0); int padded_length; char *pads; int is_cram_3 = (CRAM_MAJOR_VERS(fd->version) >= 3); if (!b || !c) { if (b) cram_free_block(b); if (c) cram_free_container(c); return -1; } int32_put(b, header_len); BLOCK_APPEND(b, sam_hdr_str(hdr), header_len); BLOCK_UPLEN(b); // Compress header block if V3.0 and above if (CRAM_MAJOR_VERS(fd->version) >= 3 && fd->level > 0) { int method = 1<use_bz2) method |= 1<use_lzma) method |= 1<level); } if (blank_block) { c->length = b->comp_size + 2 + 4*is_cram_3 + itf8_size(b->content_id) + itf8_size(b->uncomp_size) + itf8_size(b->comp_size); c->num_blocks = 2; c->num_landmarks = 2; if (!(c->landmark = malloc(2*sizeof(*c->landmark)))) { cram_free_block(b); cram_free_container(c); return -1; } c->landmark[0] = 0; c->landmark[1] = c->length; // Plus extra storage for uncompressed secondary blank block padded_length = MIN(c->length*.5, 10000); c->length += padded_length + 2 + 4*is_cram_3 + itf8_size(b->content_id) + itf8_size(padded_length)*2; } else { // Pad the block instead. c->num_blocks = 1; c->num_landmarks = 1; if (!(c->landmark = malloc(sizeof(*c->landmark)))) return -1; c->landmark[0] = 0; padded_length = MAX(c->length*1.5, 10000) - c->length; c->length = b->comp_size + padded_length + 2 + 4*is_cram_3 + itf8_size(b->content_id) + itf8_size(b->uncomp_size) + itf8_size(b->comp_size); if (NULL == (pads = calloc(1, padded_length))) { cram_free_block(b); cram_free_container(c); return -1; } BLOCK_APPEND(b, pads, padded_length); BLOCK_UPLEN(b); free(pads); } if (-1 == cram_write_container(fd, c)) { cram_free_block(b); cram_free_container(c); return -1; } if (-1 == cram_write_block(fd, b)) { cram_free_block(b); cram_free_container(c); return -1; } if (blank_block) { BLOCK_RESIZE(b, padded_length); memset(BLOCK_DATA(b), 0, padded_length); BLOCK_SIZE(b) = padded_length; BLOCK_UPLEN(b); b->method = RAW; if (-1 == cram_write_block(fd, b)) { cram_free_block(b); cram_free_container(c); return -1; } } cram_free_block(b); cram_free_container(c); } if (-1 == refs_from_header(fd->refs, fd, fd->header)) return -1; if (-1 == refs2id(fd->refs, fd->header)) return -1; if (0 != hflush(fd->fp)) return -1; RP("=== Finishing saving header ===\n"); return 0; } /* ---------------------------------------------------------------------- * The top-level cram opening, closing and option handling */ /* * Initialises the lookup tables. These could be global statics, but they're * clumsy to setup in a multi-threaded environment unless we generate * verbatim code and include that. */ static void cram_init_tables(cram_fd *fd) { int i; memset(fd->L1, 4, 256); fd->L1['A'] = 0; fd->L1['a'] = 0; fd->L1['C'] = 1; fd->L1['c'] = 1; fd->L1['G'] = 2; fd->L1['g'] = 2; fd->L1['T'] = 3; fd->L1['t'] = 3; memset(fd->L2, 5, 256); fd->L2['A'] = 0; fd->L2['a'] = 0; fd->L2['C'] = 1; fd->L2['c'] = 1; fd->L2['G'] = 2; fd->L2['g'] = 2; fd->L2['T'] = 3; fd->L2['t'] = 3; fd->L2['N'] = 4; fd->L2['n'] = 4; if (CRAM_MAJOR_VERS(fd->version) == 1) { for (i = 0; i < 0x200; i++) { int f = 0; if (i & CRAM_FPAIRED) f |= BAM_FPAIRED; if (i & CRAM_FPROPER_PAIR) f |= BAM_FPROPER_PAIR; if (i & CRAM_FUNMAP) f |= BAM_FUNMAP; if (i & CRAM_FREVERSE) f |= BAM_FREVERSE; if (i & CRAM_FREAD1) f |= BAM_FREAD1; if (i & CRAM_FREAD2) f |= BAM_FREAD2; if (i & CRAM_FSECONDARY) f |= BAM_FSECONDARY; if (i & CRAM_FQCFAIL) f |= BAM_FQCFAIL; if (i & CRAM_FDUP) f |= BAM_FDUP; fd->bam_flag_swap[i] = f; } for (i = 0; i < 0x1000; i++) { int g = 0; if (i & BAM_FPAIRED) g |= CRAM_FPAIRED; if (i & BAM_FPROPER_PAIR) g |= CRAM_FPROPER_PAIR; if (i & BAM_FUNMAP) g |= CRAM_FUNMAP; if (i & BAM_FREVERSE) g |= CRAM_FREVERSE; if (i & BAM_FREAD1) g |= CRAM_FREAD1; if (i & BAM_FREAD2) g |= CRAM_FREAD2; if (i & BAM_FSECONDARY) g |= CRAM_FSECONDARY; if (i & BAM_FQCFAIL) g |= CRAM_FQCFAIL; if (i & BAM_FDUP) g |= CRAM_FDUP; fd->cram_flag_swap[i] = g; } } else { /* NOP */ for (i = 0; i < 0x1000; i++) fd->bam_flag_swap[i] = i; for (i = 0; i < 0x1000; i++) fd->cram_flag_swap[i] = i; } memset(fd->cram_sub_matrix, 4, 32*32); for (i = 0; i < 32; i++) { fd->cram_sub_matrix[i]['A'&0x1f]=0; fd->cram_sub_matrix[i]['C'&0x1f]=1; fd->cram_sub_matrix[i]['G'&0x1f]=2; fd->cram_sub_matrix[i]['T'&0x1f]=3; fd->cram_sub_matrix[i]['N'&0x1f]=4; } for (i = 0; i < 20; i+=4) { int j; for (j = 0; j < 20; j++) { fd->cram_sub_matrix["ACGTN"[i>>2]&0x1f][j]=3; fd->cram_sub_matrix["ACGTN"[i>>2]&0x1f][j]=3; fd->cram_sub_matrix["ACGTN"[i>>2]&0x1f][j]=3; fd->cram_sub_matrix["ACGTN"[i>>2]&0x1f][j]=3; } fd->cram_sub_matrix["ACGTN"[i>>2]&0x1f][CRAM_SUBST_MATRIX[i+0]&0x1f]=0; fd->cram_sub_matrix["ACGTN"[i>>2]&0x1f][CRAM_SUBST_MATRIX[i+1]&0x1f]=1; fd->cram_sub_matrix["ACGTN"[i>>2]&0x1f][CRAM_SUBST_MATRIX[i+2]&0x1f]=2; fd->cram_sub_matrix["ACGTN"[i>>2]&0x1f][CRAM_SUBST_MATRIX[i+3]&0x1f]=3; } } // Default version numbers for CRAM static int major_version = 2; static int minor_version = 1; /* * Opens a CRAM file for read (mode "rb") or write ("wb"). * The filename may be "-" to indicate stdin or stdout. * * Returns file handle on success * NULL on failure. */ cram_fd *cram_open(const char *filename, const char *mode) { hFILE *fp; cram_fd *fd; char fmode[3]= { mode[0], '\0', '\0' }; if (strlen(mode) > 1 && (mode[1] == 'b' || mode[1] == 'c')) { fmode[1] = 'b'; } fp = hopen(filename, fmode); if (!fp) return NULL; fd = cram_dopen(fp, filename, mode); if (!fd) hclose_abruptly(fp); return fd; } /* Opens an existing stream for reading or writing. * * Returns file handle on success; * NULL on failure. */ cram_fd *cram_dopen(hFILE *fp, const char *filename, const char *mode) { int i; char *cp; cram_fd *fd = calloc(1, sizeof(*fd)); if (!fd) return NULL; fd->level = 5; for (i = 0; mode[i]; i++) { if (mode[i] >= '0' && mode[i] <= '9') { fd->level = mode[i] - '0'; break; } } fd->fp = fp; fd->mode = *mode; fd->first_container = 0; if (fd->mode == 'r') { /* Reader */ if (!(fd->file_def = cram_read_file_def(fd))) goto err; fd->version = fd->file_def->major_version * 256 + fd->file_def->minor_version; if (!(fd->header = cram_read_SAM_hdr(fd))) goto err; } else { /* Writer */ cram_file_def *def = calloc(1, sizeof(*def)); if (!def) return NULL; fd->file_def = def; def->magic[0] = 'C'; def->magic[1] = 'R'; def->magic[2] = 'A'; def->magic[3] = 'M'; def->major_version = 0; // Indicator to write file def later. def->minor_version = 0; memset(def->file_id, 0, 20); strncpy(def->file_id, filename, 20); fd->version = major_version * 256 + minor_version; /* SAM header written later along with this file_def */ } cram_init_tables(fd); fd->prefix = strdup((cp = strrchr(filename, '/')) ? cp+1 : filename); if (!fd->prefix) goto err; fd->first_base = fd->last_base = -1; fd->record_counter = 0; fd->ctr = NULL; fd->refs = refs_create(); if (!fd->refs) goto err; fd->ref_id = -2; fd->ref = NULL; fd->decode_md = 0; fd->verbose = 0; fd->seqs_per_slice = SEQS_PER_SLICE; fd->slices_per_container = SLICE_PER_CNT; fd->embed_ref = 0; fd->no_ref = 0; fd->ignore_md5 = 0; fd->use_bz2 = 0; fd->use_rans = (CRAM_MAJOR_VERS(fd->version) >= 3); fd->use_lzma = 0; fd->multi_seq = -1; fd->unsorted = 0; fd->shared_ref = 0; fd->index = NULL; fd->own_pool = 0; fd->pool = NULL; fd->rqueue = NULL; fd->job_pending = NULL; fd->ooc = 0; fd->required_fields = INT_MAX; for (i = 0; i < DS_END; i++) fd->m[i] = cram_new_metrics(); fd->range.refid = -2; // no ref. fd->eof = 1; // See samtools issue #150 fd->ref_fn = NULL; fd->bl = NULL; /* Initialise dummy refs from the @SQ headers */ if (-1 == refs_from_header(fd->refs, fd, fd->header)) goto err; return fd; err: if (fd) free(fd); return NULL; } /* * Seek within a CRAM file. * * Returns 0 on success * -1 on failure */ int cram_seek(cram_fd *fd, off_t offset, int whence) { char buf[65536]; fd->ooc = 0; if (hseek(fd->fp, offset, whence) >= 0) return 0; if (!(whence == SEEK_CUR && offset >= 0)) return -1; /* Couldn't fseek, but we're in SEEK_CUR mode so read instead */ while (offset > 0) { int len = MIN(65536, offset); if (len != hread(fd->fp, buf, len)) return -1; offset -= len; } return 0; } /* * Flushes a CRAM file. * Useful for when writing to stdout without wishing to close the stream. * * Returns 0 on success * -1 on failure */ int cram_flush(cram_fd *fd) { if (!fd) return -1; if (fd->mode == 'w' && fd->ctr) { if(fd->ctr->slice) fd->ctr->curr_slice++; if (-1 == cram_flush_container_mt(fd, fd->ctr)) return -1; } return 0; } /* * Closes a CRAM file. * Returns 0 on success * -1 on failure */ int cram_close(cram_fd *fd) { spare_bams *bl, *next; int i; if (!fd) return -1; if (fd->mode == 'w' && fd->ctr) { if(fd->ctr->slice) fd->ctr->curr_slice++; if (-1 == cram_flush_container_mt(fd, fd->ctr)) return -1; } if (fd->pool) { t_pool_flush(fd->pool); if (0 != cram_flush_result(fd)) return -1; pthread_mutex_destroy(&fd->metrics_lock); pthread_mutex_destroy(&fd->ref_lock); pthread_mutex_destroy(&fd->bam_list_lock); fd->ctr = NULL; // prevent double freeing //fprintf(stderr, "CRAM: destroy queue %p\n", fd->rqueue); t_results_queue_destroy(fd->rqueue); } if (fd->mode == 'w') { /* Write EOF block */ if (CRAM_MAJOR_VERS(fd->version) == 3) { if (38 != hwrite(fd->fp, "\x0f\x00\x00\x00\xff\xff\xff\xff" // Cont HDR "\x0f\xe0\x45\x4f\x46\x00\x00\x00" // Cont HDR "\x00\x01\x00" // Cont HDR "\x05\xbd\xd9\x4f" // CRC32 "\x00\x01\x00\x06\x06" // Comp.HDR blk "\x01\x00\x01\x00\x01\x00" // Comp.HDR blk "\xee\x63\x01\x4b", // CRC32 38)) return -1; } else { if (30 != hwrite(fd->fp, "\x0b\x00\x00\x00\xff\xff\xff\xff" "\x0f\xe0\x45\x4f\x46\x00\x00\x00" "\x00\x01\x00\x00\x01\x00\x06\x06" "\x01\x00\x01\x00\x01\x00", 30)) return -1; } } for (bl = fd->bl; bl; bl = next) { int i, max_rec = fd->seqs_per_slice * fd->slices_per_container; next = bl->next; for (i = 0; i < max_rec; i++) { if (bl->bams[i]) bam_free(bl->bams[i]); } free(bl->bams); free(bl); } if (hclose(fd->fp) != 0) return -1; if (fd->file_def) cram_free_file_def(fd->file_def); if (fd->header) sam_hdr_free(fd->header); free(fd->prefix); if (fd->ctr) cram_free_container(fd->ctr); if (fd->refs) refs_free(fd->refs); if (fd->ref_free) free(fd->ref_free); for (i = 0; i < DS_END; i++) if (fd->m[i]) free(fd->m[i]); if (fd->index) cram_index_free(fd); if (fd->own_pool && fd->pool) t_pool_destroy(fd->pool, 0); free(fd); return 0; } /* * Returns 1 if we hit an EOF while reading. */ int cram_eof(cram_fd *fd) { return fd->eof; } /* * Sets options on the cram_fd. See CRAM_OPT_* definitions in cram_structs.h. * Use this immediately after opening. * * Returns 0 on success * -1 on failure */ int cram_set_option(cram_fd *fd, enum cram_option opt, ...) { int r; va_list args; va_start(args, opt); r = cram_set_voption(fd, opt, args); va_end(args); return r; } /* * Sets options on the cram_fd. See CRAM_OPT_* definitions in cram_structs.h. * Use this immediately after opening. * * Returns 0 on success * -1 on failure */ int cram_set_voption(cram_fd *fd, enum cram_option opt, va_list args) { refs_t *refs; if (!fd) return -1; switch (opt) { case CRAM_OPT_DECODE_MD: fd->decode_md = va_arg(args, int); break; case CRAM_OPT_PREFIX: if (fd->prefix) free(fd->prefix); if (!(fd->prefix = strdup(va_arg(args, char *)))) return -1; break; case CRAM_OPT_VERBOSITY: fd->verbose = va_arg(args, int); break; case CRAM_OPT_SEQS_PER_SLICE: fd->seqs_per_slice = va_arg(args, int); break; case CRAM_OPT_SLICES_PER_CONTAINER: fd->slices_per_container = va_arg(args, int); break; case CRAM_OPT_EMBED_REF: fd->embed_ref = va_arg(args, int); break; case CRAM_OPT_NO_REF: fd->no_ref = va_arg(args, int); break; case CRAM_OPT_IGNORE_MD5: fd->ignore_md5 = va_arg(args, int); break; case CRAM_OPT_USE_BZIP2: fd->use_bz2 = va_arg(args, int); break; case CRAM_OPT_USE_RANS: fd->use_rans = va_arg(args, int); break; case CRAM_OPT_USE_LZMA: fd->use_lzma = va_arg(args, int); break; case CRAM_OPT_SHARED_REF: fd->shared_ref = 1; refs = va_arg(args, refs_t *); if (refs != fd->refs) { if (fd->refs) refs_free(fd->refs); fd->refs = refs; fd->refs->count++; } break; case CRAM_OPT_RANGE: fd->range = *va_arg(args, cram_range *); return cram_seek_to_refpos(fd, &fd->range); case CRAM_OPT_REFERENCE: return cram_load_reference(fd, va_arg(args, char *)); case CRAM_OPT_VERSION: { int major, minor; char *s = va_arg(args, char *); if (2 != sscanf(s, "%d.%d", &major, &minor)) { fprintf(stderr, "Malformed version string %s\n", s); return -1; } if (!((major == 1 && minor == 0) || (major == 2 && (minor == 0 || minor == 1)) || (major == 3 && minor == 0))) { fprintf(stderr, "Unknown version string; " "use 1.0, 2.0, 2.1 or 3.0\n"); return -1; } fd->version = major*256 + minor; if (CRAM_MAJOR_VERS(fd->version) >= 3) fd->use_rans = 1; break; } case CRAM_OPT_MULTI_SEQ_PER_SLICE: fd->multi_seq = va_arg(args, int); break; case CRAM_OPT_NTHREADS: { int nthreads = va_arg(args, int); if (nthreads > 1) { if (!(fd->pool = t_pool_init(nthreads*2, nthreads))) return -1; fd->rqueue = t_results_queue_init(); pthread_mutex_init(&fd->metrics_lock, NULL); pthread_mutex_init(&fd->ref_lock, NULL); pthread_mutex_init(&fd->bam_list_lock, NULL); fd->shared_ref = 1; fd->own_pool = 1; } break; } case CRAM_OPT_THREAD_POOL: fd->pool = va_arg(args, t_pool *); if (fd->pool) { fd->rqueue = t_results_queue_init(); pthread_mutex_init(&fd->metrics_lock, NULL); pthread_mutex_init(&fd->ref_lock, NULL); pthread_mutex_init(&fd->bam_list_lock, NULL); } fd->shared_ref = 1; // Needed to avoid clobbering ref between threads fd->own_pool = 0; //fd->qsize = 1; //fd->decoded = calloc(fd->qsize, sizeof(cram_container *)); //t_pool_dispatch(fd->pool, cram_decoder_thread, fd); break; case CRAM_OPT_REQUIRED_FIELDS: fd->required_fields = va_arg(args, int); break; default: fprintf(stderr, "Unknown CRAM option code %d\n", opt); return -1; } return 0; } htslib-1.2.1/cram/cram_io.h000066400000000000000000000412011246417267700155220ustar00rootroot00000000000000/* Copyright (c) 2012-2014 Genome Research Ltd. Author: James Bonfield Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. 3. Neither the names Genome Research Ltd and Wellcome Trust Sanger Institute nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY GENOME RESEARCH LTD AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL GENOME RESEARCH LTD OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ /*! \file * Include cram.h instead. * * This is an internal part of the CRAM system and is automatically included * when you #include cram.h. * * Implements the low level CRAM I/O primitives. * This includes basic data types such as byte, int, ITF-8, * maps, bitwise I/O, etc. */ #ifndef _CRAM_IO_H_ #define _CRAM_IO_H_ #ifdef __cplusplus extern "C" { #endif #define ITF8_MACROS #include #include /**@{ ---------------------------------------------------------------------- * ITF8 encoding and decoding. * * Also see the itf8_get and itf8_put macros. */ /*! INTERNAL: Converts two characters into an integer for use in switch{} */ #define CRAM_KEY(a,b) (((a)<<8)|((b))) /*! Reads an integer in ITF-8 encoding from 'fd' and stores it in * *val. * * @return * Returns the number of bytes read on success; * -1 on failure */ int itf8_decode(cram_fd *fd, int32_t *val); #ifndef ITF8_MACROS /*! Reads an integer in ITF-8 encoding from 'cp' and stores it in * *val. * * @return * Returns the number of bytes read on success; * -1 on failure */ int itf8_get(char *cp, int32_t *val_p); /*! Stores a value to memory in ITF-8 format. * * @return * Returns the number of bytes required to store the number. * This is a maximum of 5 bytes. */ int itf8_put(char *cp, int32_t val); #else /* * Macro implementations of the above */ #define itf8_get(c,v) (((uc)(c)[0]<0x80)?(*(v)=(uc)(c)[0],1):(((uc)(c)[0]<0xc0)?(*(v)=(((uc)(c)[0]<<8)|(uc)(c)[1])&0x3fff,2):(((uc)(c)[0]<0xe0)?(*(v)=(((uc)(c)[0]<<16)|((uc)(c)[1]<<8)|(uc)(c)[2])&0x1fffff,3):(((uc)(c)[0]<0xf0)?(*(v)=(((uc)(c)[0]<<24)|((uc)(c)[1]<<16)|((uc)(c)[2]<<8)|(uc)(c)[3])&0x0fffffff,4):(*(v)=(((uc)(c)[0]&0x0f)<<28)|((uc)(c)[1]<<20)|((uc)(c)[2]<<12)|((uc)(c)[3]<<4)|((uc)(c)[4]&0x0f),5))))) #define itf8_put(c,v) ((!((v)&~0x7f))?((c)[0]=(v),1):(!((v)&~0x3fff))?((c)[0]=((v)>>8)|0x80,(c)[1]=(v)&0xff,2):(!((v)&~0x1fffff))?((c)[0]=((v)>>16)|0xc0,(c)[1]=((v)>>8)&0xff,(c)[2]=(v)&0xff,3):(!((v)&~0xfffffff))?((c)[0]=((v)>>24)|0xe0,(c)[1]=((v)>>16)&0xff,(c)[2]=((v)>>8)&0xff,(c)[3]=(v)&0xff,4):((c)[0]=0xf0|(((v)>>28)&0xff),(c)[1]=((v)>>20)&0xff,(c)[2]=((v)>>12)&0xff,(c)[3]=((v)>>4)&0xff,(c)[4]=(v)&0xf,5)) #define itf8_size(v) ((!((v)&~0x7f))?1:(!((v)&~0x3fff))?2:(!((v)&~0x1fffff))?3:(!((v)&~0xfffffff))?4:5) #endif int ltf8_get(char *cp, int64_t *val_p); int ltf8_put(char *cp, int64_t val); /*! Pushes a value in ITF8 format onto the end of a block. * * This shouldn't be used for high-volume data as it is not the fastest * method. * * @return * Returns the number of bytes written */ int itf8_put_blk(cram_block *blk, int val); /**@}*/ /**@{ ---------------------------------------------------------------------- * CRAM blocks - the dynamically growable data block. We have code to * create, update, (un)compress and read/write. * * These are derived from the deflate_interlaced.c blocks, but with the * CRAM extension of content types and IDs. */ /*! Allocates a new cram_block structure with a specified content_type and * id. * * @return * Returns block pointer on success; * NULL on failure */ cram_block *cram_new_block(enum cram_content_type content_type, int content_id); /*! Reads a block from a cram file. * * @return * Returns cram_block pointer on success; * NULL on failure */ cram_block *cram_read_block(cram_fd *fd); /*! Writes a CRAM block. * * @return * Returns 0 on success; * -1 on failure */ int cram_write_block(cram_fd *fd, cram_block *b); /*! Frees a CRAM block, deallocating internal data too. */ void cram_free_block(cram_block *b); /*! Uncompress a memory block using Zlib. * * @return * Returns 0 on success; * -1 on failure */ char *zlib_mem_inflate(char *cdata, size_t csize, size_t *size); /*! Uncompresses a CRAM block, if compressed. * * @return * Returns 0 on success; * -1 on failure */ int cram_uncompress_block(cram_block *b); /*! Compresses a block. * * Compresses a block using one of two different zlib strategies. If we only * want one choice set strat2 to be -1. * * The logic here is that sometimes Z_RLE does a better job than Z_FILTERED * or Z_DEFAULT_STRATEGY on quality data. If so, we'd rather use it as it is * significantly faster. * * @return * Returns 0 on success; * -1 on failure */ int cram_compress_block(cram_fd *fd, cram_block *b, cram_metrics *metrics, int method, int level); cram_metrics *cram_new_metrics(void); char *cram_block_method2str(enum cram_block_method m); char *cram_content_type2str(enum cram_content_type t); /* --- Accessor macros for manipulating blocks on a byte by byte basis --- */ /* Block size and data pointer. */ #define BLOCK_SIZE(b) ((b)->byte) #define BLOCK_DATA(b) ((b)->data) /* Returns the address one past the end of the block */ #define BLOCK_END(b) (&(b)->data[(b)->byte]) /* Request block to be at least 'l' bytes long */ #define BLOCK_RESIZE(b,l) \ do { \ while((b)->alloc <= (l)) { \ (b)->alloc = (b)->alloc ? (b)->alloc*1.5 : 1024; \ (b)->data = realloc((b)->data, (b)->alloc); \ } \ } while(0) /* Ensure the block can hold at least another 'l' bytes */ #define BLOCK_GROW(b,l) BLOCK_RESIZE((b), BLOCK_SIZE((b)) + (l)) /* Append string 's' of length 'l' */ #define BLOCK_APPEND(b,s,l) \ do { \ BLOCK_GROW((b),(l)); \ memcpy(BLOCK_END((b)), (s), (l)); \ BLOCK_SIZE((b)) += (l); \ } while (0) /* Append as single character 'c' */ #define BLOCK_APPEND_CHAR(b,c) \ do { \ BLOCK_GROW((b),1); \ (b)->data[(b)->byte++] = (c); \ } while (0) /* Append a single unsigned integer */ #define BLOCK_APPEND_UINT(b,i) \ do { \ unsigned char *cp; \ BLOCK_GROW((b),11); \ cp = &(b)->data[(b)->byte]; \ (b)->byte += append_uint32(cp, (i)) - cp; \ } while (0) static inline unsigned char *append_uint32(unsigned char *cp, uint32_t i) { uint32_t j; if (i == 0) { *cp++ = '0'; return cp; } if (i < 100) goto b1; if (i < 10000) goto b3; if (i < 1000000) goto b5; if (i < 100000000) goto b7; if ((j = i / 1000000000)) {*cp++ = j + '0'; i -= j*1000000000; goto x8;} if ((j = i / 100000000)) {*cp++ = j + '0'; i -= j*100000000; goto x7;} b7:if ((j = i / 10000000)) {*cp++ = j + '0'; i -= j*10000000; goto x6;} if ((j = i / 1000000)) {*cp++ = j + '0', i -= j*1000000; goto x5;} b5:if ((j = i / 100000)) {*cp++ = j + '0', i -= j*100000; goto x4;} if ((j = i / 10000)) {*cp++ = j + '0', i -= j*10000; goto x3;} b3:if ((j = i / 1000)) {*cp++ = j + '0', i -= j*1000; goto x2;} if ((j = i / 100)) {*cp++ = j + '0', i -= j*100; goto x1;} b1:if ((j = i / 10)) {*cp++ = j + '0', i -= j*10; goto x0;} if (i) *cp++ = i + '0'; return cp; x8: *cp++ = i / 100000000 + '0', i %= 100000000; x7: *cp++ = i / 10000000 + '0', i %= 10000000; x6: *cp++ = i / 1000000 + '0', i %= 1000000; x5: *cp++ = i / 100000 + '0', i %= 100000; x4: *cp++ = i / 10000 + '0', i %= 10000; x3: *cp++ = i / 1000 + '0', i %= 1000; x2: *cp++ = i / 100 + '0', i %= 100; x1: *cp++ = i / 10 + '0', i %= 10; x0: *cp++ = i + '0'; return cp; } static inline unsigned char *append_sub32(unsigned char *cp, uint32_t i) { *cp++ = i / 100000000 + '0', i %= 100000000; *cp++ = i / 10000000 + '0', i %= 10000000; *cp++ = i / 1000000 + '0', i %= 1000000; *cp++ = i / 100000 + '0', i %= 100000; *cp++ = i / 10000 + '0', i %= 10000; *cp++ = i / 1000 + '0', i %= 1000; *cp++ = i / 100 + '0', i %= 100; *cp++ = i / 10 + '0', i %= 10; *cp++ = i + '0'; return cp; } static inline unsigned char *append_uint64(unsigned char *cp, uint64_t i) { uint64_t j; if (i <= 0xffffffff) return append_uint32(cp, i); if ((j = i/1000000000) > 1000000000) { cp = append_uint32(cp, j/1000000000); j %= 1000000000; cp = append_sub32(cp, j); } else { cp = append_uint32(cp, i / 1000000000); } cp = append_sub32(cp, i % 1000000000); return cp; } #define BLOCK_UPLEN(b) \ (b)->comp_size = (b)->uncomp_size = BLOCK_SIZE((b)) /**@}*/ /**@{ ---------------------------------------------------------------------- * Reference sequence handling */ /*! Loads a reference set from fn and stores in the cram_fd. * * @return * Returns 0 on success; * -1 on failure */ int cram_load_reference(cram_fd *fd, char *fn); /*! Generates a lookup table in refs based on the SQ headers in SAM_hdr. * * Indexes references by the order they appear in a BAM file. This may not * necessarily be the same order they appear in the fasta reference file. * * @return * Returns 0 on success; * -1 on failure */ int refs2id(refs_t *r, SAM_hdr *bfd); void refs_free(refs_t *r); /*! Returns a portion of a reference sequence from start to end inclusive. * * The returned pointer is owned by the cram_file fd and should not be freed * by the caller. It is valid only until the next cram_get_ref is called * with the same fd parameter (so is thread-safe if given multiple files). * * To return the entire reference sequence, specify start as 1 and end * as 0. * * @return * Returns reference on success; * NULL on failure */ char *cram_get_ref(cram_fd *fd, int id, int start, int end); void cram_ref_incr(refs_t *r, int id); void cram_ref_decr(refs_t *r, int id); /**@}*/ /**@{ ---------------------------------------------------------------------- * Containers */ /*! Creates a new container, specifying the maximum number of slices * and records permitted. * * @return * Returns cram_container ptr on success; * NULL on failure */ cram_container *cram_new_container(int nrec, int nslice); void cram_free_container(cram_container *c); /*! Reads a container header. * * @return * Returns cram_container on success; * NULL on failure or no container left (fd->err == 0). */ cram_container *cram_read_container(cram_fd *fd); /*! Writes a container structure. * * @return * Returns 0 on success; * -1 on failure */ int cram_write_container(cram_fd *fd, cram_container *h); /*! Flushes a container to disk. * * Flushes a completely or partially full container to disk, writing * container structure, header and blocks. This also calls the encoder * functions. * * @return * Returns 0 on success; * -1 on failure */ int cram_flush_container(cram_fd *fd, cram_container *c); int cram_flush_container_mt(cram_fd *fd, cram_container *c); /**@}*/ /**@{ ---------------------------------------------------------------------- * Compression headers; the first part of the container */ /*! Creates a new blank container compression header * * @return * Returns header ptr on success; * NULL on failure */ cram_block_compression_hdr *cram_new_compression_header(void); /*! Frees a cram_block_compression_hdr */ void cram_free_compression_header(cram_block_compression_hdr *hdr); /**@}*/ /**@{ ---------------------------------------------------------------------- * Slices and slice headers */ /*! Frees a slice header */ void cram_free_slice_header(cram_block_slice_hdr *hdr); /*! Frees a slice */ void cram_free_slice(cram_slice *s); /*! Creates a new empty slice in memory, for subsequent writing to * disk. * * @return * Returns cram_slice ptr on success; * NULL on failure */ cram_slice *cram_new_slice(enum cram_content_type type, int nrecs); /*! Loads an entire slice. * * FIXME: In 1.0 the native unit of slices within CRAM is broken * as slices contain references to objects in other slices. * To work around this while keeping the slice oriented outer loop * we read all slices and stitch them together into a fake large * slice instead. * * @return * Returns cram_slice ptr on success; * NULL on failure */ cram_slice *cram_read_slice(cram_fd *fd); /**@}*/ /**@{ ---------------------------------------------------------------------- * CRAM file definition (header) */ /*! Reads a CRAM file definition structure. * * @return * Returns file_def ptr on success; * NULL on failure */ cram_file_def *cram_read_file_def(cram_fd *fd); /*! Writes a cram_file_def structure to cram_fd. * * @return * Returns 0 on success; * -1 on failure */ int cram_write_file_def(cram_fd *fd, cram_file_def *def); /*! Frees a cram_file_def structure. */ void cram_free_file_def(cram_file_def *def); /**@}*/ /**@{ ---------------------------------------------------------------------- * SAM header I/O */ /*! Reads the SAM header from the first CRAM data block. * * Also performs minimal parsing to extract read-group * and sample information. * * @return * Returns SAM hdr ptr on success; * NULL on failure */ SAM_hdr *cram_read_SAM_hdr(cram_fd *fd); /*! Writes a CRAM SAM header. * * @return * Returns 0 on success; * -1 on failure */ int cram_write_SAM_hdr(cram_fd *fd, SAM_hdr *hdr); /**@}*/ /**@{ ---------------------------------------------------------------------- * The top-level cram opening, closing and option handling */ /*! Opens a CRAM file for read (mode "rb") or write ("wb"). * * The filename may be "-" to indicate stdin or stdout. * * @return * Returns file handle on success; * NULL on failure. */ cram_fd *cram_open(const char *filename, const char *mode); /*! Opens an existing stream for reading or writing. * * @return * Returns file handle on success; * NULL on failure. */ cram_fd *cram_dopen(struct hFILE *fp, const char *filename, const char *mode); /*! Closes a CRAM file. * * @return * Returns 0 on success; * -1 on failure */ int cram_close(cram_fd *fd); /* * Seek within a CRAM file. * * Returns 0 on success * -1 on failure */ int cram_seek(cram_fd *fd, off_t offset, int whence); /* * Flushes a CRAM file. * Useful for when writing to stdout without wishing to close the stream. * * Returns 0 on success * -1 on failure */ int cram_flush(cram_fd *fd); /*! Checks for end of file on a cram_fd stream. * * @return * Returns 0 if not at end of file * 1 if we hit an expected EOF (end of range or EOF block) * 2 for other EOF (end of stream without EOF block) */ int cram_eof(cram_fd *fd); /*! Sets options on the cram_fd. * * See CRAM_OPT_* definitions in cram_structs.h. * Use this immediately after opening. * * @return * Returns 0 on success; * -1 on failure */ int cram_set_option(cram_fd *fd, enum cram_option opt, ...); /*! Sets options on the cram_fd. * * See CRAM_OPT_* definitions in cram_structs.h. * Use this immediately after opening. * * @return * Returns 0 on success; * -1 on failure */ int cram_set_voption(cram_fd *fd, enum cram_option opt, va_list args); /*! * Attaches a header to a cram_fd. * * This should be used when creating a new cram_fd for writing where * we have an SAM_hdr already constructed (eg from a file we've read * in). * * @return * Returns 0 on success; * -1 on failure */ int cram_set_header(cram_fd *fd, SAM_hdr *hdr); #ifdef __cplusplus } #endif #endif /* _CRAM_IO_H_ */ htslib-1.2.1/cram/cram_samtools.c000066400000000000000000000114311246417267700167510ustar00rootroot00000000000000/* Copyright (c) 2010-2013 Genome Research Ltd. Author: James Bonfield Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. 3. Neither the names Genome Research Ltd and Wellcome Trust Sanger Institute nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY GENOME RESEARCH LTD AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL GENOME RESEARCH LTD OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ #include #include #include #include "cram/cram.h" #include "htslib/sam.h" /*--------------------------------------------------------------------------- * Samtools compatibility portion */ int bam_construct_seq(bam_seq_t **bp, size_t extra_len, const char *qname, size_t qname_len, int flag, int rname, // Ref ID int pos, int end, // aligned start/end coords int mapq, uint32_t ncigar, const uint32_t *cigar, int mrnm, // Mate Ref ID int mpos, int isize, int len, const char *seq, const char *qual) { static const char L[256] = { 15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15, 15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15, 15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15, 15,15,15,15,15,15,15,15,15,15,15,15,15, 0,15,15, 15, 1,14, 2,13,15,15, 4,11,15,15,12,15, 3,15,15, 15,15, 5, 6, 8,15, 7, 9,15,10,15,15,15,15,15,15, 15, 1,14, 2,13,15,15, 4,11,15,15,12,15, 3,15,15, 15,15, 5, 6, 8,15, 7, 9,15,10,15,15,15,15,15,15, 15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15, 15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15, 15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15, 15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15, 15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15, 15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15, 15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15, 15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15 }; bam1_t *b = (bam1_t *)*bp; uint8_t *cp; int i, bam_len; //b->l_aux = extra_len; // we fill this out later bam_len = qname_len + 1 + ncigar*4 + (len+1)/2 + len + extra_len; if (b->m_data < bam_len) { b->m_data = bam_len; kroundup32(b->m_data); b->data = (uint8_t*)realloc(b->data, b->m_data); if (!b->data) return -1; } b->l_data = bam_len; b->core.tid = rname; b->core.pos = pos-1; b->core.bin = bam_reg2bin(pos, end); b->core.qual = mapq; b->core.l_qname = qname_len+1; b->core.flag = flag; b->core.n_cigar = ncigar; b->core.l_qseq = len; b->core.mtid = mrnm; b->core.mpos = mpos-1; b->core.isize = isize; cp = b->data; strncpy((char *)cp, qname, qname_len); cp[qname_len] = 0; cp += qname_len+1; memcpy(cp, cigar, ncigar*4); cp += ncigar*4; for (i = 0; i+1 < len; i+=2) { *cp++ = (L[(uc)seq[i]]<<4) + L[(uc)seq[i+1]]; } if (i < len) *cp++ = L[(uc)seq[i]]<<4; if (qual) memcpy(cp, qual, len); else memset(cp, '\xff', len); return 0; } bam_hdr_t *cram_header_to_bam(SAM_hdr *h) { int i; bam_hdr_t *header = bam_hdr_init(); header->l_text = ks_len(&h->text); header->text = malloc(header->l_text+1); memcpy(header->text, ks_str(&h->text), header->l_text); header->text[header->l_text] = 0; header->n_targets = h->nref; header->target_name = (char **)calloc(header->n_targets, sizeof(char *)); header->target_len = (uint32_t *)calloc(header->n_targets, 4); for (i = 0; i < h->nref; i++) { header->target_name[i] = strdup(h->ref[i].name); header->target_len[i] = h->ref[i].len; } return header; } SAM_hdr *bam_header_to_cram(bam_hdr_t *h) { return sam_hdr_parse_(h->text, h->l_text); } htslib-1.2.1/cram/cram_samtools.h000066400000000000000000000066411246417267700167650ustar00rootroot00000000000000/* Copyright (c) 2010-2013 Genome Research Ltd. Author: James Bonfield Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. 3. Neither the names Genome Research Ltd and Wellcome Trust Sanger Institute nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY GENOME RESEARCH LTD AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL GENOME RESEARCH LTD OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ #ifndef _CRAM_SAMTOOLS_H_ #define _CRAM_SAMTOOLS_H_ /* Samtools compatible API */ #define bam_blk_size(b) ((b)->l_data) #define bam_set_blk_size(b,v) ((b)->data_len = (v)) #define bam_ref(b) (b)->core.tid #define bam_pos(b) (b)->core.pos #define bam_mate_pos(b) (b)->core.mpos #define bam_mate_ref(b) (b)->core.mtid #define bam_ins_size(b) (b)->core.isize #define bam_seq_len(b) (b)->core.l_qseq #define bam_cigar_len(b) (b)->core.n_cigar #define bam_flag(b) (b)->core.flag #define bam_bin(b) (b)->core.bin #define bam_map_qual(b) (b)->core.qual #define bam_name_len(b) (b)->core.l_qname #define bam_name(b) bam_get_qname((b)) #define bam_qual(b) bam_get_qual((b)) #define bam_seq(b) bam_get_seq((b)) #define bam_cigar(b) bam_get_cigar((b)) #define bam_aux(b) bam_get_aux((b)) #define bam_dup(b) bam_copy1(bam_init1(), (b)) #define bam_free(b) bam_destroy1((b)) #define bam_reg2bin(beg,end) hts_reg2bin((beg),(end),14,5) #include "htslib/sam.h" enum cigar_op { BAM_CMATCH_=BAM_CMATCH, BAM_CINS_=BAM_CINS, BAM_CDEL_=BAM_CDEL, BAM_CREF_SKIP_=BAM_CREF_SKIP, BAM_CSOFT_CLIP_=BAM_CSOFT_CLIP, BAM_CHARD_CLIP_=BAM_CHARD_CLIP, BAM_CPAD_=BAM_CPAD, BAM_CBASE_MATCH=BAM_CEQUAL, BAM_CBASE_MISMATCH=BAM_CDIFF }; typedef bam1_t bam_seq_t; #include "cram/sam_header.h" bam_hdr_t *cram_header_to_bam(SAM_hdr *h); SAM_hdr *bam_header_to_cram(bam_hdr_t *h); int bam_construct_seq(bam_seq_t **bp, size_t extra_len, const char *qname, size_t qname_len, int flag, int rname, // Ref ID int pos, int end, // aligned start/end coords int mapq, uint32_t ncigar, const uint32_t *cigar, int mrnm, // Mate Ref ID int mpos, int isize, int len, const char *seq, const char *qual); #endif /* _CRAM_SAMTOOLS_H_ */ htslib-1.2.1/cram/cram_stats.c000066400000000000000000000276321246417267700162600ustar00rootroot00000000000000/* Copyright (c) 2012-2013 Genome Research Ltd. Author: James Bonfield Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. 3. Neither the names Genome Research Ltd and Wellcome Trust Sanger Institute nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY GENOME RESEARCH LTD AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL GENOME RESEARCH LTD OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ #ifdef HAVE_CONFIG_H #include "io_lib_config.h" #endif #include #include #include #include #include #include #include #include #include #include #include "cram/cram.h" #include "cram/os.h" cram_stats *cram_stats_create(void) { return calloc(1, sizeof(cram_stats)); } void cram_stats_add(cram_stats *st, int32_t val) { st->nsamp++; //assert(val >= 0); if (val < MAX_STAT_VAL && val >= 0) { st->freqs[val]++; } else { khint_t k; int r; if (!st->h) { st->h = kh_init(m_i2i); } k = kh_put(m_i2i, st->h, val, &r); if (r == 0) kh_val(st->h, k)++; else if (r != -1) kh_val(st->h, k) = 1; else ; // FIXME: handle error } } void cram_stats_del(cram_stats *st, int32_t val) { st->nsamp--; //assert(val >= 0); if (val < MAX_STAT_VAL && val >= 0) { st->freqs[val]--; assert(st->freqs[val] >= 0); } else if (st->h) { khint_t k = kh_get(m_i2i, st->h, val); if (k != kh_end(st->h)) { if (--kh_val(st->h, k) == 0) kh_del(m_i2i, st->h, k); } else { fprintf(stderr, "Failed to remove val %d from cram_stats\n", val); st->nsamp++; } } else { fprintf(stderr, "Failed to remove val %d from cram_stats\n", val); st->nsamp++; } } void cram_stats_dump(cram_stats *st) { int i; fprintf(stderr, "cram_stats:\n"); for (i = 0; i < MAX_STAT_VAL; i++) { if (!st->freqs[i]) continue; fprintf(stderr, "\t%d\t%d\n", i, st->freqs[i]); } if (st->h) { khint_t k; for (k = kh_begin(st->h); k != kh_end(st->h); k++) { if (!kh_exist(st->h, k)) continue; fprintf(stderr, "\t%d\t%d\n", kh_key(st->h, k), kh_val(st->h, k)); } } } #if 1 /* Returns the number of bits set in val; it the highest bit used */ static int nbits(int v) { static const int MultiplyDeBruijnBitPosition[32] = { 1, 10, 2, 11, 14, 22, 3, 30, 12, 15, 17, 19, 23, 26, 4, 31, 9, 13, 21, 29, 16, 18, 25, 8, 20, 28, 24, 7, 27, 6, 5, 32 }; v |= v >> 1; // first up to set all bits 1 after the first 1 */ v |= v >> 2; v |= v >> 4; v |= v >> 8; v |= v >> 16; // DeBruijn magic to find top bit return MultiplyDeBruijnBitPosition[(uint32_t)(v * 0x07C4ACDDU) >> 27]; } #endif /* * Computes entropy from integer frequencies for various encoding methods and * picks the best encoding. * * FIXME: we could reuse some of the code here for the actual encoding * parameters too. Eg the best 'k' for SUBEXP or the code lengths for huffman. * * Returns the best codec to use. */ enum cram_encoding cram_stats_encoding(cram_fd *fd, cram_stats *st) { enum cram_encoding best_encoding = E_NULL; int best_size = INT_MAX, bits; int nvals, i, ntot = 0, max_val = 0, min_val = INT_MAX, k; int *vals = NULL, *freqs = NULL, vals_alloc = 0, *codes; //cram_stats_dump(st); /* Count number of unique symbols */ for (nvals = i = 0; i < MAX_STAT_VAL; i++) { if (!st->freqs[i]) continue; if (nvals >= vals_alloc) { vals_alloc = vals_alloc ? vals_alloc*2 : 1024; vals = realloc(vals, vals_alloc * sizeof(int)); freqs = realloc(freqs, vals_alloc * sizeof(int)); if (!vals || !freqs) { if (vals) free(vals); if (freqs) free(freqs); return E_HUFFMAN; // Cannot do much else atm } } vals[nvals] = i; freqs[nvals] = st->freqs[i]; ntot += freqs[nvals]; if (max_val < i) max_val = i; if (min_val > i) min_val = i; nvals++; } if (st->h) { khint_t k; int i; for (k = kh_begin(st->h); k != kh_end(st->h); k++) { if (!kh_exist(st->h, k)) continue; if (nvals >= vals_alloc) { vals_alloc = vals_alloc ? vals_alloc*2 : 1024; vals = realloc(vals, vals_alloc * sizeof(int)); freqs = realloc(freqs, vals_alloc * sizeof(int)); if (!vals || !freqs) return E_HUFFMAN; // Cannot do much else atm } i = kh_key(st->h, k); vals[nvals]=i; freqs[nvals] = kh_val(st->h, k); ntot += freqs[nvals]; if (max_val < i) max_val = i; if (min_val > i) min_val = i; nvals++; } } st->nvals = nvals; assert(ntot == st->nsamp); if (nvals <= 1) { free(vals); free(freqs); return E_HUFFMAN; } if (fd->verbose > 1) fprintf(stderr, "Range = %d..%d, nvals=%d, ntot=%d\n", min_val, max_val, nvals, ntot); /* Theoretical entropy */ // if (fd->verbose > 1) { // double dbits = 0; // for (i = 0; i < nvals; i++) { // dbits += freqs[i] * log((double)freqs[i]/ntot); // } // dbits /= -log(2); // if (fd->verbose > 1) // fprintf(stderr, "Entropy = %f\n", dbits); // } if (nvals > 1 && ntot > 256) { #if 0 /* * CRUDE huffman estimator. Round to closest and round up from 0 * to 1 bit. * * With and without ITF8 incase we have a few discrete values but with * large magnitude. * * Note rans0/arith0 and Z_HUFFMAN_ONLY vs internal huffman can be * compared in this way, but order-1 (eg rans1) or maybe LZ77 modes * may detect the correlation of high bytes to low bytes in multi- * byte values. So this predictor breaks down. */ double dbits = 0; // entropy + ~huffman double dbitsH = 0; double dbitsE = 0; // external entropy + ~huffman double dbitsEH = 0; int F[256] = {0}, n = 0; double e = 0; // accumulated error bits for (i = 0; i < nvals; i++) { double x; int X; unsigned int v = vals[i]; //Better encoding would cope with sign. //v = ABS(vals[i])*2+(vals[i]<0); if (!(v & ~0x7f)) { F[v] += freqs[i], n+=freqs[i]; } else if (!(v & ~0x3fff)) { F[(v>>8) |0x80] += freqs[i]; F[ v &0xff] += freqs[i], n+=2*freqs[i]; } else if (!(v & ~0x1fffff)) { F[(v>>16)|0xc0] += freqs[i]; F[(v>>8 )&0xff] += freqs[i]; F[ v &0xff] += freqs[i], n+=3*freqs[i]; } else if (!(v & ~0x0fffffff)) { F[(v>>24)|0xe0] += freqs[i]; F[(v>>16)&0xff] += freqs[i]; F[(v>>8 )&0xff] += freqs[i]; F[ v &0xff] += freqs[i], n+=4*freqs[i]; } else { F[(v>>28)|0xf0] += freqs[i]; F[(v>>20)&0xff] += freqs[i]; F[(v>>12)&0xff] += freqs[i]; F[(v>>4 )&0xff] += freqs[i]; F[ v &0x0f] += freqs[i], n+=5*freqs[i]; } x = -log((double)freqs[i]/ntot)/.69314718055994530941; X = x+0.5; if ((int)(x+((double)e/freqs[i])+.5)>X) { X++; } else if ((int)(x+((double)e/freqs[i])+.5) 1.1) { //fprintf(stderr, "=> %d < 200 ? E_HUFFMAN : E_BETA\n", nvals); free(vals); free(freqs); return nvals < 200 ? E_HUFFMAN : E_BETA; } #endif free(vals); free(freqs); return E_EXTERNAL; } /* * Avoid complex stats for now, just do heuristic of HUFFMAN for small * alphabets and BETA for anything large. */ free(vals); free(freqs); return nvals < 200 ? E_HUFFMAN : E_BETA; //return E_HUFFMAN; //return E_EXTERNAL; /* We only support huffman now anyway... */ //free(vals); free(freqs); return E_HUFFMAN; /* Beta */ bits = nbits(max_val - min_val) * ntot; if (fd->verbose > 1) fprintf(stderr, "BETA = %d\n", bits); if (best_size > bits) best_size = bits, best_encoding = E_BETA; #if 0 /* Unary */ if (min_val >= 0) { for (bits = i = 0; i < nvals; i++) bits += freqs[i]*(vals[i]+1); if (fd->verbose > 1) fprintf(stderr, "UNARY = %d\n", bits); if (best_size > bits) best_size = bits, best_encoding = E_NULL; //E_UNARY; } /* Gamma */ for (bits = i = 0; i < nvals; i++) bits += ((nbits(vals[i]-min_val+1)-1) + nbits(vals[i]-min_val+1)) * freqs[i]; if (fd->verbose > 1) fprintf(stderr, "GAMMA = %d\n", bits); if (best_size > bits) best_size = bits, best_encoding = E_GAMMA; /* Subexponential */ for (k = 0; k < 10; k++) { for (bits = i = 0; i < nvals; i++) { if (vals[i]-min_val < (1<verbose > 1) fprintf(stderr, "SUBEXP%d = %d\n", k, bits); if (best_size > bits) best_size = bits, best_encoding = E_SUBEXP; } #endif /* byte array len */ /* byte array stop */ /* External? Guesswork! */ /* Huffman */ // qsort(freqs, nvals, sizeof(freqs[0]), sort_freqs); // for (i = 0; i < nvals; i++) { // fprintf(stderr, "%d = %d\n", i, freqs[i]); // vals[i] = 0; // } /* Grow freqs to 2*freqs, to store sums */ /* Vals holds link data */ freqs = realloc(freqs, 2*nvals*sizeof(*freqs)); codes = calloc(2*nvals, sizeof(*codes)); if (!freqs || !codes) return E_HUFFMAN; // Cannot do much else atm /* Inefficient, use pointers to form chain so we can insert and maintain * a sorted list? This is currently O(nvals^2) complexity. */ for (;;) { int low1 = INT_MAX, low2 = INT_MAX; int ind1 = 0, ind2 = 0; for (i = 0; i < nvals; i++) { if (freqs[i] < 0) continue; if (low1 > freqs[i]) low2 = low1, ind2 = ind1, low1 = freqs[i], ind1 = i; else if (low2 > freqs[i]) low2 = freqs[i], ind2 = i; } if (low2 == INT_MAX) break; //fprintf(stderr, "Merge ind %d (%d), %d (%d) = %d+%d, => %d=%d\n", // ind1, vals[ind1], ind2, vals[ind2], low1, low2, // nvals, low1+low2); freqs[nvals] = low1 + low2; codes[ind1] = nvals; codes[ind2] = nvals; freqs[ind1] *= -1; freqs[ind2] *= -1; nvals++; } nvals = nvals/2+1; for (i = 0; i < nvals; i++) { int code_len = 0; for (k = codes[i]; k; k = codes[k]) code_len++; codes[i] = code_len; freqs[i] *= -1; //fprintf(stderr, "%d / %d => %d\n", vals[i], freqs[i], codes[i]); } for (bits = i = 0; i < nvals; i++) { bits += freqs[i] * codes[i]; } if (fd->verbose > 1) fprintf(stderr, "HUFFMAN = %d\n", bits); if (best_size >= bits) best_size = bits, best_encoding = E_HUFFMAN; free(codes); free(vals); free(freqs); return best_encoding; } void cram_stats_free(cram_stats *st) { if (st->h) kh_destroy(m_i2i, st->h); free(st); } htslib-1.2.1/cram/cram_stats.h000066400000000000000000000043471246417267700162630ustar00rootroot00000000000000/* Copyright (c) 2012-2013 Genome Research Ltd. Author: James Bonfield Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. 3. Neither the names Genome Research Ltd and Wellcome Trust Sanger Institute nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY GENOME RESEARCH LTD AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL GENOME RESEARCH LTD OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ #ifndef _CRAM_STATS_H_ #define _CRAM_STATS_H_ #ifdef __cplusplus extern "C" { #endif cram_stats *cram_stats_create(void); void cram_stats_add(cram_stats *st, int32_t val); void cram_stats_del(cram_stats *st, int32_t val); void cram_stats_dump(cram_stats *st); void cram_stats_free(cram_stats *st); /* * Computes entropy from integer frequencies for various encoding methods and * picks the best encoding. * * FIXME: we could reuse some of the code here for the actual encoding * parameters too. Eg the best 'k' for SUBEXP or the code lengths for huffman. * * Returns the best codec to use. */ enum cram_encoding cram_stats_encoding(cram_fd *fd, cram_stats *st); #ifdef __cplusplus } #endif #endif htslib-1.2.1/cram/cram_structs.h000066400000000000000000000534221246417267700166320ustar00rootroot00000000000000/* Copyright (c) 2012-2013 Genome Research Ltd. Author: James Bonfield Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. 3. Neither the names Genome Research Ltd and Wellcome Trust Sanger Institute nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY GENOME RESEARCH LTD AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL GENOME RESEARCH LTD OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ #ifndef _CRAM_STRUCTS_H_ #define _CRAM_STRUCTS_H_ #ifdef __cplusplus extern "C" { #endif /* * Defines in-memory structs for the basic file-format objects in the * CRAM format. * * The basic file format is: * File-def SAM-hdr Container Container ... * * Container: * Service-block data-block data-block ... * * Multiple blocks in a container are grouped together as slices, * also sometimes referred to as landmarks in the spec. */ #include #include "cram/thread_pool.h" #include "cram/string_alloc.h" #include "htslib/khash.h" // Generic hash-map integer -> integer KHASH_MAP_INIT_INT(m_i2i, int) // Generic hash-set integer -> (existance) KHASH_SET_INIT_INT(s_i2i) // For brevity typedef unsigned char uc; /* * A union for the preservation map. Required for khash. */ typedef union { int i; char *p; } pmap_t; // Generates static functions here which isn't ideal, but we have no way // currently to declare the kh_map_t structure here without also declaring a // duplicate in the .c files due to the nature of the KHASH macros. KHASH_MAP_INIT_STR(map, pmap_t) struct hFILE; #define SEQS_PER_SLICE 10000 #define SLICE_PER_CNT 1 #define CRAM_SUBST_MATRIX "CGTNAGTNACTNACGNACGT" #define MAX_STAT_VAL 1024 //#define MAX_STAT_VAL 16 typedef struct { int freqs[MAX_STAT_VAL]; khash_t(m_i2i) *h; int nsamp; // total number of values added int nvals; // total number of unique values added } cram_stats; /* NB: matches java impl, not the spec */ enum cram_encoding { E_NULL = 0, E_EXTERNAL = 1, E_GOLOMB = 2, E_HUFFMAN = 3, E_BYTE_ARRAY_LEN = 4, E_BYTE_ARRAY_STOP = 5, E_BETA = 6, E_SUBEXP = 7, E_GOLOMB_RICE = 8, E_GAMMA = 9 }; enum cram_external_type { E_INT = 1, E_LONG = 2, E_BYTE = 3, E_BYTE_ARRAY = 4, E_BYTE_ARRAY_BLOCK = 5, }; /* External IDs used by this implementation (only assumed during writing) */ enum cram_DS_ID { DS_CORE = 0, DS_aux = 1, // aux_blk DS_aux_OQ = 2, DS_aux_BQ = 3, DS_aux_BD = 4, DS_aux_BI = 5, DS_aux_FZ = 6, // also ZM:B DS_aux_oq = 7, // other qualities DS_aux_os = 8, // other sequences DS_aux_oz = 9, // other strings DS_ref, DS_RN, // name_blk DS_QS, // qual_blk DS_IN, // base_blk DS_SC, // soft_blk DS_BF, // start loop DS_CF, DS_AP, DS_RG, DS_MQ, DS_NS, DS_MF, DS_TS, DS_NP, DS_NF, DS_RL, DS_FN, DS_FC, DS_FP, DS_DL, DS_BA, DS_BS, DS_TL, DS_RI, DS_RS, DS_PD, DS_HC, DS_BB, DS_QQ, DS_TN, // end loop DS_RN_len, DS_SC_len, DS_BB_len, DS_QQ_len, DS_TC, // CRAM v1.0 tags DS_TM, // test DS_TV, // test DS_END, }; /* "File Definition Structure" */ typedef struct { char magic[4]; uint8_t major_version; uint8_t minor_version; char file_id[20]; // Filename or SHA1 checksum } cram_file_def; #define CRAM_MAJOR_VERS(v) ((v) >> 8) #define CRAM_MINOR_VERS(v) ((v) & 0xff) struct cram_slice; enum cram_block_method { ERROR = -1, RAW = 0, GZIP = 1, BZIP2 = 2, LZMA = 3, RANS = 4, // Generic; either order RANS0 = 4, RANS1 = 10, // Not externalised; stored as RANS (generic) GZIP_RLE = 11, // NB: not externalised in CRAM }; enum cram_content_type { CT_ERROR = -1, FILE_HEADER = 0, COMPRESSION_HEADER = 1, MAPPED_SLICE = 2, UNMAPPED_SLICE = 3, // CRAM V1.0 only EXTERNAL = 4, CORE = 5, }; /* Compression metrics */ typedef struct { // number of trials and time to next trial int trial; int next_trial; // aggregate sizes during trials int sz_gz_rle; int sz_gz_def; int sz_rans0; int sz_rans1; int sz_bzip2; int sz_lzma; // resultant method from trials int method; int strat; // Revisions of method, to allow culling of continually failing ones. int gz_rle_cnt; int gz_def_cnt; int rans0_cnt; int rans1_cnt; int bzip2_cnt; int lzma_cnt; int revised_method; double gz_rle_extra; double gz_def_extra; double rans0_extra; double rans1_extra; double bzip2_extra; double lzma_extra; } cram_metrics; /* Block */ typedef struct { enum cram_block_method method, orig_method; enum cram_content_type content_type; int32_t content_id; int32_t comp_size; int32_t uncomp_size; uint32_t crc32; int32_t idx; /* offset into data */ unsigned char *data; // For bit I/O size_t alloc; size_t byte; int bit; } cram_block; struct cram_codec; /* defined in cram_codecs.h */ struct cram_map; #define CRAM_MAP_HASH 32 #define CRAM_MAP(a,b) (((a)*3+(b))&(CRAM_MAP_HASH-1)) /* Compression header block */ typedef struct { int32_t ref_seq_id; int32_t ref_seq_start; int32_t ref_seq_span; int32_t num_records; int32_t num_landmarks; int32_t *landmark; /* Flags from preservation map */ int mapped_qs_included; int unmapped_qs_included; int unmapped_placed; int qs_included; int read_names_included; int AP_delta; // indexed by ref-base and subst. code char substitution_matrix[5][4]; // TD Dictionary as a concatenated block cram_block *TD_blk; // Tag Dictionary int nTL; // number of TL entries in TD unsigned char **TL; // array of size nTL, pointer into TD_blk. khash_t(m_s2i) *TD_hash; // Keyed on TD strings, map to TL[] indices string_alloc_t *TD_keys; // Pooled keys for TD hash. khash_t(map) *preservation_map; struct cram_map *rec_encoding_map[CRAM_MAP_HASH]; struct cram_map *tag_encoding_map[CRAM_MAP_HASH]; struct cram_codec *codecs[DS_END]; char *uncomp; // A single block of uncompressed data size_t uncomp_size, uncomp_alloc; unsigned int data_series; // See cram_fields enum below } cram_block_compression_hdr; typedef struct cram_map { int key; /* 0xe0 + 3 bytes */ enum cram_encoding encoding; int offset; /* Offset into a single block of memory */ int size; /* Size */ struct cram_codec *codec; struct cram_map *next; // for noddy internal hash } cram_map; /* Mapped or unmapped slice header block */ typedef struct { enum cram_content_type content_type; int32_t ref_seq_id; /* if content_type == MAPPED_SLICE */ int32_t ref_seq_start; /* if content_type == MAPPED_SLICE */ int32_t ref_seq_span; /* if content_type == MAPPED_SLICE */ int32_t num_records; int64_t record_counter; int32_t num_blocks; int32_t num_content_ids; int32_t *block_content_ids; int32_t ref_base_id; /* if content_type == MAPPED_SLICE */ unsigned char md5[16]; } cram_block_slice_hdr; struct ref_entry; /* * Container. * * Conceptually a container is split into slices, and slices into blocks. * However on disk it's just a list of blocks and we need to query the * block types to identify the start/end points of the slices. * * OR... are landmarks the start/end points of slices? */ typedef struct { int32_t length; int32_t ref_seq_id; int32_t ref_seq_start; int32_t ref_seq_span; int64_t record_counter; int64_t num_bases; int32_t num_records; int32_t num_blocks; int32_t num_landmarks; int32_t *landmark; /* Size of container header above */ size_t offset; /* Compression header is always the first block? */ cram_block_compression_hdr *comp_hdr; cram_block *comp_hdr_block; /* For construction purposes */ int max_slice, curr_slice; // maximum number of slices int max_rec, curr_rec; // current and max recs per slice int max_c_rec, curr_c_rec; // current and max recs per container int slice_rec; // rec no. for start of this slice int curr_ref; // current ref ID. -2 for no previous int last_pos; // last record position struct cram_slice **slices, *slice; int pos_sorted; // boolean, 1=>position sorted data int max_apos; // maximum position, used if pos_sorted==0 int last_slice; // number of reads in last slice (0 for 1st) int multi_seq; // true if packing multi seqs per cont/slice int unsorted; // true is AP_delta is 0. /* Copied from fd before encoding, to allow multi-threading */ int ref_start, first_base, last_base, ref_id, ref_end; char *ref; //struct ref_entry *ref; /* For multi-threading */ bam_seq_t **bams; /* Statistics for encoding */ cram_stats *stats[DS_END]; khash_t(s_i2i) *tags_used; // set of tag types in use, for tag encoding map int *refs_used; // array of frequency of ref seq IDs uint32_t crc32; // CRC32 } cram_container; /* * A single cram record */ typedef struct { struct cram_slice *s; // Filled out by cram_decode only int32_t ref_id; // fixed for all recs in slice? int32_t flags; // BF int32_t cram_flags; // CF int32_t len; // RL int32_t apos; // AP int32_t rg; // RG int32_t name; // RN; idx to s->names_blk int32_t name_len; int32_t mate_line; // index to another cram_record int32_t mate_ref_id; int32_t mate_pos; // NP int32_t tlen; // TS // Auxiliary data int32_t ntags; // TC int32_t aux; // idx to s->aux_blk int32_t aux_size; // total size of packed ntags in aux_blk #ifndef TN_external int32_t TN_idx; // TN; idx to s->TN; #else int32_t tn; // idx to s->tn_blk #endif int TL; int32_t seq; // idx to s->seqs_blk int32_t qual; // idx to s->qual_blk int32_t cigar; // idx to s->cigar int32_t ncigar; int32_t aend; // alignment end int32_t mqual; // MQ int32_t feature; // idx to s->feature int32_t nfeature; // number of features int32_t mate_flags; // MF } cram_record; // Accessor macros as an analogue of the bam ones #define cram_qname(c) (&(c)->s->name_blk->data[(c)->name]) #define cram_seq(c) (&(c)->s->seqs_blk->data[(c)->seq]) #define cram_qual(c) (&(c)->s->qual_blk->data[(c)->qual]) #define cram_aux(c) (&(c)->s->aux_blk->data[(c)->aux]) #define cram_seqi(c,i) (cram_seq((c))[(i)]) #define cram_name_len(c) ((c)->name_len) #define cram_strand(c) (((c)->flags & BAM_FREVERSE) != 0) #define cram_mstrand(c) (((c)->flags & BAM_FMREVERSE) != 0) #define cram_cigar(c) (&((cr)->s->cigar)[(c)->cigar]) /* * A feature is a base difference, used for the sequence reference encoding. * (We generate these internally when writing CRAM.) */ typedef struct { union { struct { int pos; int code; int base; // substitution code } X; struct { int pos; int code; int base; // actual base & qual int qual; } B; struct { int pos; int code; int seq_idx; // index to s->seqs_blk int len; } b; struct { int pos; int code; int qual; } Q; struct { int pos; int code; int len; int seq_idx; // soft-clip multiple bases } S; struct { int pos; int code; int len; int seq_idx; // insertion multiple bases } I; struct { int pos; int code; int base; // insertion single base } i; struct { int pos; int code; int len; } D; struct { int pos; int code; int len; } N; struct { int pos; int code; int len; } P; struct { int pos; int code; int len; } H; }; } cram_feature; /* * A slice is really just a set of blocks, but it * is the logical unit for decoding a number of * sequences. */ typedef struct cram_slice { cram_block_slice_hdr *hdr; cram_block *hdr_block; cram_block **block; cram_block **block_by_id; /* State used during encoding/decoding */ int last_apos, max_apos; /* Array of decoded cram records */ cram_record *crecs; /* An dynamically growing buffers for data pointed * to by crecs[] array. */ uint32_t *cigar; uint32_t cigar_alloc; uint32_t ncigar; cram_feature *features; int nfeatures; int afeatures; // allocated size of features #ifndef TN_external // TN field (Tag Name) uint32_t *TN; int nTN, aTN; // used and allocated size for TN[] #else cram_block *tn_blk; int tn_id; #endif // For variable sized elements which are always external blocks. cram_block *name_blk; cram_block *seqs_blk; cram_block *qual_blk; cram_block *base_blk; cram_block *soft_blk; cram_block *aux_blk; cram_block *aux_OQ_blk; cram_block *aux_BQ_blk; cram_block *aux_BD_blk; cram_block *aux_BI_blk; cram_block *aux_FZ_blk; cram_block *aux_oq_blk; cram_block *aux_os_blk; cram_block *aux_oz_blk; string_alloc_t *pair_keys; // Pooled keys for pair hash. khash_t(m_s2i) *pair[2]; // for identifying read-pairs in this slice. char *ref; // slice of current reference int ref_start; // start position of current reference; int ref_end; // end position of current reference; int ref_id; } cram_slice; /*----------------------------------------------------------------------------- * Consider moving reference handling to cram_refs.[ch] */ // from fa.fai / samtools faidx files typedef struct ref_entry { char *name; char *fn; int64_t length; int64_t offset; int bases_per_line; int line_length; int64_t count; // for shared references so we know to dealloc seq char *seq; } ref_entry; KHASH_MAP_INIT_STR(refs, ref_entry*) // References structure. typedef struct { string_alloc_t *pool; // String pool for holding filenames and SN vals khash_t(refs) *h_meta; // ref_entry*, index by name ref_entry **ref_id; // ref_entry*, index by ID int nref; // number of ref_entry char *fn; // current file opened BGZF *fp; // and the hFILE* to go with it. int count; // how many cram_fd sharing this refs struct pthread_mutex_t lock; // Mutex for multi-threaded updating ref_entry *last; // Last queried sequence int last_id; // Used in cram_ref_decr_locked to delay free } refs_t; /*----------------------------------------------------------------------------- * CRAM index * * Detect format by number of entries per line. * 5 => 1.0 (refid, start, nseq, C offset, slice) * 6 => 1.1 (refid, start, span, C offset, S offset, S size) * * Indices are stored in a nested containment list, which is trivial to set * up as the indices are on sorted data so we're appending to the nclist * in sorted order. Basically if a slice entirely fits within a previous * slice then we append to that slices list. This is done recursively. * * Lists are sorted on two dimensions: ref id + slice coords. */ typedef struct cram_index { int nslice, nalloc; // total number of slices struct cram_index *e; // array of size nslice int refid; // 1.0 1.1 int start; // 1.0 1.1 int end; // 1.1 int nseq; // 1.0 - undocumented int slice; // 1.0 landmark index, 1.1 landmark value int len; // 1.1 - size of slice in bytes int64_t offset; // 1.0 1.1 } cram_index; typedef struct { int refid; int start; int end; } cram_range; /*----------------------------------------------------------------------------- */ /* CRAM File handle */ typedef struct spare_bams { bam_seq_t **bams; struct spare_bams *next; } spare_bams; typedef struct cram_fd { struct hFILE *fp; int mode; // 'r' or 'w' int version; cram_file_def *file_def; SAM_hdr *header; char *prefix; int64_t record_counter; int err; // Most recent compression header decoded //cram_block_compression_hdr *comp_hdr; //cram_block_slice_hdr *slice_hdr; // Current container being processed. cram_container *ctr; // positions for encoding or decoding int first_base, last_base; // cached reference portion refs_t *refs; // ref meta-data structure char *ref, *ref_free; // current portion held in memory int ref_id; int ref_start; int ref_end; char *ref_fn; // reference fasta filename // compression level and metrics int level; cram_metrics *m[DS_END]; // options int decode_md; // Whether to export MD and NM tags int verbose; int seqs_per_slice; int slices_per_container; int embed_ref; int no_ref; int ignore_md5; int use_bz2; int use_rans; int use_lzma; int shared_ref; unsigned int required_fields; cram_range range; // lookup tables, stored here so we can be trivially multi-threaded unsigned int bam_flag_swap[0x1000]; // cram -> bam flags unsigned int cram_flag_swap[0x1000];// bam -> cram flags unsigned char L1[256]; // ACGT{*} ->0123{4} unsigned char L2[256]; // ACGTN{*}->01234{5} char cram_sub_matrix[32][32]; // base substituion codes int index_sz; cram_index *index; // array, sizeof index_sz off_t first_container; int eof; int last_slice; // number of recs encoded in last slice int multi_seq; int unsorted; int empty_container; // Marker for EOF block // thread pool int own_pool; t_pool *pool; t_results_queue *rqueue; pthread_mutex_t metrics_lock; pthread_mutex_t ref_lock; spare_bams *bl; pthread_mutex_t bam_list_lock; void *job_pending; int ooc; // out of containers. } cram_fd; // Translation of required fields to cram data series enum cram_fields { CRAM_BF = 0x00000001, CRAM_AP = 0x00000002, CRAM_FP = 0x00000004, CRAM_RL = 0x00000008, CRAM_DL = 0x00000010, CRAM_NF = 0x00000020, CRAM_BA = 0x00000040, CRAM_QS = 0x00000080, CRAM_FC = 0x00000100, CRAM_FN = 0x00000200, CRAM_BS = 0x00000400, CRAM_IN = 0x00000800, CRAM_RG = 0x00001000, CRAM_MQ = 0x00002000, CRAM_TL = 0x00004000, CRAM_RN = 0x00008000, CRAM_NS = 0x00010000, CRAM_NP = 0x00020000, CRAM_TS = 0x00040000, CRAM_MF = 0x00080000, CRAM_CF = 0x00100000, CRAM_RI = 0x00200000, CRAM_RS = 0x00400000, CRAM_PD = 0x00800000, CRAM_HC = 0x01000000, CRAM_SC = 0x02000000, CRAM_BB = 0x04000000, CRAM_BB_len = 0x08000000, CRAM_QQ = 0x10000000, CRAM_QQ_len = 0x20000000, CRAM_aux= 0x40000000, CRAM_ALL= 0x7fffffff, }; // A CIGAR opcode, but not necessarily the implications of it. Eg FC/FP may // encode a base difference, but we don't need to know what it is for CIGAR. // If we have a soft-clip or insertion, we do need SC/IN though to know how // long that array is. #define CRAM_CIGAR (CRAM_FN | CRAM_FP | CRAM_FC | CRAM_DL | CRAM_IN | \ CRAM_SC | CRAM_HC | CRAM_PD | CRAM_RS | CRAM_RL | CRAM_BF) #define CRAM_SEQ (CRAM_CIGAR | CRAM_BA | CRAM_QS | CRAM_BS | \ CRAM_RL | CRAM_AP | CRAM_BB | CRAM_QQ) /* BF bitfields */ /* Corrected in 1.1. Use bam_flag_swap[bf] and BAM_* macros for 1.0 & 1.1 */ #define CRAM_FPAIRED 256 #define CRAM_FPROPER_PAIR 128 #define CRAM_FUNMAP 64 #define CRAM_FREVERSE 32 #define CRAM_FREAD1 16 #define CRAM_FREAD2 8 #define CRAM_FSECONDARY 4 #define CRAM_FQCFAIL 2 #define CRAM_FDUP 1 #define DS_aux_S "\001" #define DS_aux_OQ_S "\002" #define DS_aux_BQ_S "\003" #define DS_aux_BD_S "\004" #define DS_aux_BI_S "\005" #define DS_aux_FZ_S "\006" #define DS_aux_oq_S "\007" #define DS_aux_os_S "\010" #define DS_aux_oz_S "\011" #define CRAM_M_REVERSE 1 #define CRAM_M_UNMAP 2 /* CF bitfields */ #define CRAM_FLAG_PRESERVE_QUAL_SCORES (1<<0) #define CRAM_FLAG_DETACHED (1<<1) #define CRAM_FLAG_MATE_DOWNSTREAM (1<<2) #ifdef __cplusplus } #endif #endif /* _CRAM_STRUCTS_H_ */ htslib-1.2.1/cram/files.c000066400000000000000000000047141246417267700152160ustar00rootroot00000000000000/* Copyright (c) 1994, 1996-1997, 2000, 2003 MEDICAL RESEARCH COUNCIL All rights reserved Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: 1 Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. 2 Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. 3 Neither the name of the MEDICAL RESEARCH COUNCIL, THE LABORATORY OF MOLECULAR BIOLOGY nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ #ifdef HAVE_CONFIG_H #include "io_lib_config.h" #endif #include "cram/misc.h" #include #include /* Alliant's Concentrix is hugely deficient */ /* Define things we require in this program */ /* Methinks S_IFMT and S_IFDIR aren't defined in POSIX */ #ifndef S_ISDIR #define S_ISDIR(m) (((m)&S_IFMT) == S_IFDIR) #endif /*!S_ISDIR*/ #ifndef S_ISREG #define S_ISREG(m) (((m)&S_IFMT) == S_IFREG) #endif /*!S_ISREG*/ int is_directory(char * fn) { struct stat buf; if ( stat(fn,&buf) ) return 0; return S_ISDIR(buf.st_mode); } int is_file(char * fn) { struct stat buf; if ( stat(fn,&buf) ) return 0; return S_ISREG(buf.st_mode); } int file_exists(char * fn) { struct stat buf; return ( stat(fn,&buf) == 0); } int file_size(char * fn) { struct stat buf; if ( stat(fn,&buf) != 0) return 0; return buf.st_size; } htslib-1.2.1/cram/mFILE.c000066400000000000000000000365061246417267700150140ustar00rootroot00000000000000/* Copyright (c) 2005-2006, 2008-2009, 2013 Genome Research Ltd. Author: James Bonfield Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. 3. Neither the names Genome Research Ltd and Wellcome Trust Sanger Institute nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY GENOME RESEARCH LTD AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL GENOME RESEARCH LTD OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ #ifdef HAVE_CONFIG_H #include "io_lib_config.h" #endif #include #include #include #include #include #include #include #include #include #include "cram/os.h" #include "cram/mFILE.h" #include "cram/vlen.h" /* * This file contains memory-based versions of the most commonly used * (by io_lib) stdio functions. * * Actual file IO takes place either on opening or closing an mFILE. * * Coupled to this are a bunch of rather scary macros which can be obtained * by including stdio_hack.h. It is recommended though that you use mFILE.h * instead and replace fopen with mfopen (etc). This is more or less * mandatory if you wish to use both FILE and mFILE structs in a single file. */ static mFILE *m_channel[3]; /* stdin, stdout and stderr fakes */ /* * Reads the entirety of fp into memory. If 'fn' exists it is the filename * associated with fp. This will be used for more optimal reading (via a * stat to identify the size and a single read). Otherwise we use successive * reads until EOF. * * Returns a malloced buffer on success of length *size * NULL on failure */ static char *mfload(FILE *fp, const char *fn, size_t *size, int binary) { struct stat sb; char *data = NULL; size_t allocated = 0, used = 0; int bufsize = 8192; #ifdef _WIN32 if (binary) _setmode(_fileno(fp), _O_BINARY); else _setmode(_fileno(fp), _O_TEXT); #endif if (fn && -1 != stat(fn, &sb)) { data = malloc(allocated = sb.st_size); bufsize = sb.st_size; } else { fn = NULL; } do { size_t len; if (used + bufsize > allocated) { allocated += bufsize; data = realloc(data, allocated); } len = fread(data + used, 1, allocated - used, fp); if (len > 0) used += len; } while (!feof(fp) && (fn == NULL || used < sb.st_size)); *size = used; return data; } /* * Creates and returns m_channel[0]. * We initialise this on the first attempted read, which then slurps in * all of stdin until EOF is met. */ mFILE *mstdin(void) { if (m_channel[0]) return m_channel[0]; m_channel[0] = mfcreate(NULL, 0); if (NULL == m_channel[0]) return NULL; m_channel[0]->fp = stdin; return m_channel[0]; } static void init_mstdin(void) { static int done_stdin = 0; if (done_stdin) return; m_channel[0]->data = mfload(stdin, NULL, &m_channel[0]->size, 1); m_channel[0]->mode = MF_READ; done_stdin = 1; } /* * Creates and returns m_channel[1]. This is the fake for stdout. It starts as * an empty buffer which is physically written out only when mfflush or * mfclose are called. */ mFILE *mstdout(void) { if (m_channel[1]) return m_channel[1]; m_channel[1] = mfcreate(NULL, 0); if (NULL == m_channel[1]) return NULL; m_channel[1]->fp = stdout; m_channel[1]->mode = MF_WRITE; return m_channel[1]; } /* * Stderr as an mFILE. * The code handles stderr by returning m_channel[2], but also checking * for stderr in fprintf (the common usage of it) to auto-flush. */ mFILE *mstderr(void) { if (m_channel[2]) return m_channel[2]; m_channel[2] = mfcreate(NULL, 0); if (NULL == m_channel[2]) return NULL; m_channel[2]->fp = stderr; m_channel[2]->mode = MF_WRITE; return m_channel[2]; } /* * For creating existing mFILE pointers directly from memory buffers. */ mFILE *mfcreate(char *data, int size) { mFILE *mf = (mFILE *)malloc(sizeof(*mf)); if (NULL == mf) return NULL; mf->fp = NULL; mf->data = data; mf->alloced = size; mf->size = size; mf->eof = 0; mf->offset = 0; mf->flush_pos = 0; mf->mode = MF_READ | MF_WRITE; return mf; } /* * Recreate an existing mFILE to house new data/size. * It also rewinds the file. */ void mfrecreate(mFILE *mf, char *data, int size) { if (mf->data) free(mf->data); mf->data = data; mf->size = size; mf->alloced = size; mf->eof = 0; mf->offset = 0; mf->flush_pos = 0; } /* * Creates a new mFILE to contain the contents of the FILE pointer. * This mFILE is purely for in-memory operations and has no links to the * original FILE* it came from. It also doesn't close the FILE pointer. * Consider using mfreopen() is you need different behaviour. * * Returns mFILE * on success * NULL on failure. */ mFILE *mfcreate_from(const char *path, const char *mode_str, FILE *fp) { mFILE *mf; /* Open using mfreopen() */ if (NULL == (mf = mfreopen(path, mode_str, fp))) return NULL; /* Disassociate from the input stream */ mf->fp = NULL; return mf; } /* * Converts a FILE * to an mFILE *. * Use this for wrapper functions to turn external prototypes requring * FILE * as an argument into internal code using mFILE *. */ mFILE *mfreopen(const char *path, const char *mode_str, FILE *fp) { mFILE *mf; int r = 0, w = 0, a = 0, b = 0, x = 0, mode = 0; /* Parse mode: * r = read file contents (if truncated => don't read) * w = write on close * a = position at end of buffer * x = position at same location as the original fp, don't seek on flush */ if (strchr(mode_str, 'r')) r = 1, mode |= MF_READ; if (strchr(mode_str, 'w')) w = 1, mode |= MF_WRITE | MF_TRUNC; if (strchr(mode_str, 'a')) w = a = 1, mode |= MF_WRITE | MF_APPEND; if (strchr(mode_str, 'b')) b = 1, mode |= MF_BINARY; if (strchr(mode_str, 'x')) x = 1; if (strchr(mode_str, '+')) { w = 1, mode |= MF_READ | MF_WRITE; if (a) r = 1; } if (r) { mf = mfcreate(NULL, 0); if (NULL == mf) return NULL; if (!(mode & MF_TRUNC)) { mf->data = mfload(fp, path, &mf->size, b); mf->alloced = mf->size; if (!a) fseek(fp, 0, SEEK_SET); } } else if (w) { /* Write - initialise the data structures */ mf = mfcreate(NULL, 0); if (NULL == mf) return NULL; } else { fprintf(stderr, "Must specify either r, w or a for mode\n"); return NULL; } mf->fp = fp; mf->mode = mode; if (x) { mf->mode |= MF_MODEX; } if (a) { mf->flush_pos = mf->size; fseek(fp, 0, SEEK_END); } return mf; } /* * Opens a file. If we have read access (r or a+) then it loads the entire * file into memory. If We have write access then the pathname is stored. * We do not actually write until an mfclose, which then checks this pathname. */ mFILE *mfopen(const char *path, const char *mode) { FILE *fp; if (NULL == (fp = fopen(path, mode))) return NULL; return mfreopen(path, mode, fp); } /* * Closes an mFILE. If the filename is known (implying write access) then this * also writes the data to disk. * * Stdout is handled by calling mfflush which writes to stdout if appropriate. */ int mfclose(mFILE *mf) { if (!mf) return -1; mfflush(mf); if (mf->fp) fclose(mf->fp); mfdestroy(mf); return 0; } /* * Closes the file pointer contained within the mFILE without destroying * the in-memory data. */ int mfdetach(mFILE *mf) { if (!mf) return -1; mfflush(mf); if (mf->fp) { fclose(mf->fp); mf->fp = NULL; } return 0; } /* * Destroys an mFILE structure but does not flush or close it */ int mfdestroy(mFILE *mf) { if (!mf) return -1; if (mf->data) free(mf->data); free(mf); return 0; } /* * Steals that data out of an mFILE. The mFILE itself will be closed. * It is up to the caller to free the stolen buffer. If size_out is * not NULL, mf->size will be stored in it. * This is more-or-less the opposite of mfcreate(). */ void *mfsteal(mFILE *mf, size_t *size_out) { void *data; if (!mf) return NULL; data = mf->data; if (NULL != size_out) *size_out = mf->size; mfdetach(mf); mf->data = NULL; mfdestroy(mf); return data; } /* * Seek/tell functions. Nothing more than updating and reporting an * in-memory index. NB we can seek on stdin or stdout even provided we * haven't been flushing. */ int mfseek(mFILE *mf, long offset, int whence) { switch (whence) { case SEEK_SET: mf->offset = offset; break; case SEEK_CUR: mf->offset += offset; break; case SEEK_END: mf->offset = mf->size + offset; break; default: errno = EINVAL; return -1; } mf->eof = 0; return 0; } long mftell(mFILE *mf) { return mf->offset; } void mrewind(mFILE *mf) { mf->offset = 0; mf->eof = 0; } /* * mftruncate is not directly a translation of ftruncate as the latter * takes a file descriptor instead of a FILE *. It performs the analogous * role though. * * If offset is -1 then the file is truncated to be the current file * offset. */ void mftruncate(mFILE *mf, long offset) { mf->size = offset != -1 ? offset : mf->offset; if (mf->offset > mf->size) mf->offset = mf->size; } int mfeof(mFILE *mf) { return mf->eof; } /* * mFILE read/write functions. Basically these turn fread/fwrite syntax * into memcpy statements, with appropriate memory handling for writing. */ size_t mfread(void *ptr, size_t size, size_t nmemb, mFILE *mf) { size_t len; char *cptr = (char *)ptr; if (mf == m_channel[0]) init_mstdin(); if (mf->size <= mf->offset) return 0; len = size * nmemb <= mf->size - mf->offset ? size * nmemb : mf->size - mf->offset; if (!size) return 0; memcpy(cptr, &mf->data[mf->offset], len); mf->offset += len; if (len != size * nmemb) { mf->eof = 1; } return len / size; } size_t mfwrite(void *ptr, size_t size, size_t nmemb, mFILE *mf) { if (!(mf->mode & MF_WRITE)) return 0; /* Append mode => forced all writes to end of file */ if (mf->mode & MF_APPEND) mf->offset = mf->size; /* Make sure we have enough room */ while (size * nmemb + mf->offset > mf->alloced) { size_t new_alloced = mf->alloced ? mf->alloced * 2 : 1024; void * new_data = realloc(mf->data, new_alloced); if (NULL == new_data) return 0; mf->alloced = new_alloced; mf->data = new_data; } /* Record where we need to reflush from */ if (mf->offset < mf->flush_pos) mf->flush_pos = mf->offset; /* Copy the data over */ memcpy(&mf->data[mf->offset], ptr, size * nmemb); mf->offset += size * nmemb; if (mf->size < mf->offset) mf->size = mf->offset; return nmemb; } int mfgetc(mFILE *mf) { if (mf == m_channel[0]) init_mstdin(); if (mf->offset < mf->size) { return (unsigned char)mf->data[mf->offset++]; } mf->eof = 1; return -1; } int mungetc(int c, mFILE *mf) { if (mf->offset > 0) { mf->data[--mf->offset] = c; return c; } mf->eof = 1; return -1; } char *mfgets(char *s, int size, mFILE *mf) { int i; if (mf == m_channel[0]) init_mstdin(); *s = 0; for (i = 0; i < size-1;) { if (mf->offset < mf->size) { s[i] = mf->data[mf->offset++]; if (s[i++] == '\n') break; } else { mf->eof = 1; break; } } s[i] = 0; return i ? s : NULL; } /* * Flushes an mFILE. If this is a real open of a file in write mode then * mFILE->fp will be set. We then write out any new data in mFILE since the * last flush. We cannot tell what may have been modified as we don't keep * track of that, so we typically rewrite out the entire file contents between * the last flush_pos and the end of file. * * For stderr/stdout we also reset the offsets so we cannot modify things * we've already output. */ int mfflush(mFILE *mf) { if (!mf->fp) return 0; /* FIXME: only do this when opened in write mode */ if (mf == m_channel[1] || mf == m_channel[2]) { if (mf->flush_pos < mf->size) { size_t bytes = mf->size - mf->flush_pos; if (fwrite(mf->data + mf->flush_pos, 1, bytes, mf->fp) < bytes) return -1; if (0 != fflush(mf->fp)) return -1; } /* Stdout & stderr are non-seekable streams so throw away the data */ mf->offset = mf->size = mf->flush_pos = 0; } /* only flush when opened in write mode */ if (mf->mode & MF_WRITE) { if (mf->flush_pos < mf->size) { size_t bytes = mf->size - mf->flush_pos; if (!(mf->mode & MF_MODEX)) { fseek(mf->fp, mf->flush_pos, SEEK_SET); } if (fwrite(mf->data + mf->flush_pos, 1, bytes, mf->fp) < bytes) return -1; if (0 != fflush(mf->fp)) return -1; } if (ftell(mf->fp) != -1 && ftruncate(fileno(mf->fp), ftell(mf->fp)) == -1) return -1; mf->flush_pos = mf->size; } return 0; } /* * A wrapper around vsprintf() to write to an mFILE. This also uses vflen() to * estimate how many additional bytes of storage will be required for the * vsprintf to work. */ int mfprintf(mFILE *mf, char *fmt, ...) { int ret; size_t est_length; va_list args; va_start(args, fmt); est_length = vflen(fmt, args); va_end(args); while (est_length + mf->offset > mf->alloced) { size_t new_alloced = mf->alloced ? mf->alloced * 2 : 1024; void * new_data = realloc(mf->data, new_alloced); if (NULL == new_data) return -1; mf->alloced = new_alloced; mf->data = new_data; } va_start(args, fmt); ret = vsprintf(&mf->data[mf->offset], fmt, args); va_end(args); if (ret > 0) { mf->offset += ret; if (mf->size < mf->offset) mf->size = mf->offset; } if (mf->fp == stderr) { /* Auto-flush for stderr */ if (0 != mfflush(mf)) return -1; } return ret; } /* * Converts an mFILE from binary to ascii mode by replacing all * cr-nl with nl. * * Primarily used on windows when we've uncompressed a binary file which * happens to be a text file (eg Experiment File). Previously we would have * seeked back to the start and used _setmode(fileno(fp), _O_TEXT). * * Side effect: resets offset and flush_pos back to the start. */ void mfascii(mFILE *mf) { size_t p1, p2; for (p1 = p2 = 1; p1 < mf->size; p1++, p2++) { if (mf->data[p1] == '\n' && mf->data[p1-1] == '\r') { p2--; /* delete the \r */ } mf->data[p2] = mf->data[p1]; } mf->size = p2; mf->offset = mf->flush_pos = 0; } htslib-1.2.1/cram/mFILE.h000066400000000000000000000056671246417267700150250ustar00rootroot00000000000000/* Copyright (c) 2005-2006, 2008-2009 Genome Research Ltd. Author: James Bonfield Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. 3. Neither the names Genome Research Ltd and Wellcome Trust Sanger Institute nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY GENOME RESEARCH LTD AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL GENOME RESEARCH LTD OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ #ifndef _MFILE_H_ #define _MFILE_H_ #include #ifdef __cplusplus extern "C" { #endif typedef struct { FILE *fp; char *data; size_t alloced; int eof; int mode; /* open mode in MF_?? define bit pattern */ size_t size; size_t offset; size_t flush_pos; } mFILE; #define MF_READ 1 #define MF_WRITE 2 #define MF_APPEND 4 #define MF_BINARY 8 #define MF_TRUNC 16 #define MF_MODEX 32 mFILE *mfreopen(const char *path, const char *mode, FILE *fp); mFILE *mfopen(const char *path, const char *mode); int mfdetach(mFILE *mf); int mfclose(mFILE *mf); int mfdestroy(mFILE *mf); int mfseek(mFILE *mf, long offset, int whence); long mftell(mFILE *mf); void mrewind(mFILE *mf); void mftruncate(mFILE *mf, long offset); int mfeof(mFILE *mf); size_t mfread(void *ptr, size_t size, size_t nmemb, mFILE *mf); size_t mfwrite(void *ptr, size_t size, size_t nmemb, mFILE *mf); int mfgetc(mFILE *mf); int mungetc(int c, mFILE *mf); mFILE *mfcreate(char *data, int size); mFILE *mfcreate_from(const char *path, const char *mode_str, FILE *fp); void mfrecreate(mFILE *mf, char *data, int size); void *mfsteal(mFILE *mf, size_t *size_out); char *mfgets(char *s, int size, mFILE *mf); int mfflush(mFILE *mf); int mfprintf(mFILE *mf, char *fmt, ...); mFILE *mstdin(void); mFILE *mstdout(void); mFILE *mstderr(void); void mfascii(mFILE *mf); #ifdef __cplusplus } #endif #endif /* _MFILE_H_ */ htslib-1.2.1/cram/md5.c000066400000000000000000000204151246417267700145750ustar00rootroot00000000000000/* * This is an OpenSSL-compatible implementation of the RSA Data Security, Inc. * MD5 Message-Digest Algorithm (RFC 1321). * * Homepage: * http://openwall.info/wiki/people/solar/software/public-domain-source-code/md5 * * Author: * Alexander Peslyak, better known as Solar Designer * * This software was written by Alexander Peslyak in 2001. No copyright is * claimed, and the software is hereby placed in the public domain. * In case this attempt to disclaim copyright and place the software in the * public domain is deemed null and void, then the software is * Copyright (c) 2001 Alexander Peslyak and it is hereby released to the * general public under the following terms: * * Redistribution and use in source and binary forms, with or without * modification, are permitted. * * There's ABSOLUTELY NO WARRANTY, express or implied. * * (This is a heavily cut-down "BSD license".) * * This differs from Colin Plumb's older public domain implementation in that * no exactly 32-bit integer data type is required (any 32-bit or wider * unsigned integer data type will do), there's no compile-time endianness * configuration, and the function prototypes match OpenSSL's. No code from * Colin Plumb's implementation has been reused; this comment merely compares * the properties of the two independent implementations. * * The primary goals of this implementation are portability and ease of use. * It is meant to be fast, but not as fast as possible. Some known * optimizations are not included to reduce source code size and avoid * compile-time configuration. */ #ifndef HAVE_OPENSSL #include #include "md5.h" /* * The basic MD5 functions. * * F and G are optimized compared to their RFC 1321 definitions for * architectures that lack an AND-NOT instruction, just like in Colin Plumb's * implementation. */ #define F(x, y, z) ((z) ^ ((x) & ((y) ^ (z)))) #define G(x, y, z) ((y) ^ ((z) & ((x) ^ (y)))) #define H(x, y, z) ((x) ^ (y) ^ (z)) #define I(x, y, z) ((y) ^ ((x) | ~(z))) /* * The MD5 transformation for all four rounds. */ #define STEP(f, a, b, c, d, x, t, s) \ (a) += f((b), (c), (d)) + (x) + (t); \ (a) = (((a) << (s)) | (((a) & 0xffffffff) >> (32 - (s)))); \ (a) += (b); /* * SET reads 4 input bytes in little-endian byte order and stores them * in a properly aligned word in host byte order. * * The check for little-endian architectures that tolerate unaligned * memory accesses is just an optimization. Nothing will break if it * doesn't work. */ #if defined(__i386__) || defined(__x86_64__) || defined(__vax__) #define SET(n) \ (*(MD5_u32plus *)&ptr[(n) * 4]) #define GET(n) \ SET(n) #else #define SET(n) \ (ctx->block[(n)] = \ (MD5_u32plus)ptr[(n) * 4] | \ ((MD5_u32plus)ptr[(n) * 4 + 1] << 8) | \ ((MD5_u32plus)ptr[(n) * 4 + 2] << 16) | \ ((MD5_u32plus)ptr[(n) * 4 + 3] << 24)) #define GET(n) \ (ctx->block[(n)]) #endif /* * This processes one or more 64-byte data blocks, but does NOT update * the bit counters. There are no alignment requirements. */ static void *body(MD5_CTX *ctx, void *data, unsigned long size) { unsigned char *ptr; MD5_u32plus a, b, c, d; MD5_u32plus saved_a, saved_b, saved_c, saved_d; ptr = data; a = ctx->a; b = ctx->b; c = ctx->c; d = ctx->d; do { saved_a = a; saved_b = b; saved_c = c; saved_d = d; /* Round 1 */ STEP(F, a, b, c, d, SET(0), 0xd76aa478, 7) STEP(F, d, a, b, c, SET(1), 0xe8c7b756, 12) STEP(F, c, d, a, b, SET(2), 0x242070db, 17) STEP(F, b, c, d, a, SET(3), 0xc1bdceee, 22) STEP(F, a, b, c, d, SET(4), 0xf57c0faf, 7) STEP(F, d, a, b, c, SET(5), 0x4787c62a, 12) STEP(F, c, d, a, b, SET(6), 0xa8304613, 17) STEP(F, b, c, d, a, SET(7), 0xfd469501, 22) STEP(F, a, b, c, d, SET(8), 0x698098d8, 7) STEP(F, d, a, b, c, SET(9), 0x8b44f7af, 12) STEP(F, c, d, a, b, SET(10), 0xffff5bb1, 17) STEP(F, b, c, d, a, SET(11), 0x895cd7be, 22) STEP(F, a, b, c, d, SET(12), 0x6b901122, 7) STEP(F, d, a, b, c, SET(13), 0xfd987193, 12) STEP(F, c, d, a, b, SET(14), 0xa679438e, 17) STEP(F, b, c, d, a, SET(15), 0x49b40821, 22) /* Round 2 */ STEP(G, a, b, c, d, GET(1), 0xf61e2562, 5) STEP(G, d, a, b, c, GET(6), 0xc040b340, 9) STEP(G, c, d, a, b, GET(11), 0x265e5a51, 14) STEP(G, b, c, d, a, GET(0), 0xe9b6c7aa, 20) STEP(G, a, b, c, d, GET(5), 0xd62f105d, 5) STEP(G, d, a, b, c, GET(10), 0x02441453, 9) STEP(G, c, d, a, b, GET(15), 0xd8a1e681, 14) STEP(G, b, c, d, a, GET(4), 0xe7d3fbc8, 20) STEP(G, a, b, c, d, GET(9), 0x21e1cde6, 5) STEP(G, d, a, b, c, GET(14), 0xc33707d6, 9) STEP(G, c, d, a, b, GET(3), 0xf4d50d87, 14) STEP(G, b, c, d, a, GET(8), 0x455a14ed, 20) STEP(G, a, b, c, d, GET(13), 0xa9e3e905, 5) STEP(G, d, a, b, c, GET(2), 0xfcefa3f8, 9) STEP(G, c, d, a, b, GET(7), 0x676f02d9, 14) STEP(G, b, c, d, a, GET(12), 0x8d2a4c8a, 20) /* Round 3 */ STEP(H, a, b, c, d, GET(5), 0xfffa3942, 4) STEP(H, d, a, b, c, GET(8), 0x8771f681, 11) STEP(H, c, d, a, b, GET(11), 0x6d9d6122, 16) STEP(H, b, c, d, a, GET(14), 0xfde5380c, 23) STEP(H, a, b, c, d, GET(1), 0xa4beea44, 4) STEP(H, d, a, b, c, GET(4), 0x4bdecfa9, 11) STEP(H, c, d, a, b, GET(7), 0xf6bb4b60, 16) STEP(H, b, c, d, a, GET(10), 0xbebfbc70, 23) STEP(H, a, b, c, d, GET(13), 0x289b7ec6, 4) STEP(H, d, a, b, c, GET(0), 0xeaa127fa, 11) STEP(H, c, d, a, b, GET(3), 0xd4ef3085, 16) STEP(H, b, c, d, a, GET(6), 0x04881d05, 23) STEP(H, a, b, c, d, GET(9), 0xd9d4d039, 4) STEP(H, d, a, b, c, GET(12), 0xe6db99e5, 11) STEP(H, c, d, a, b, GET(15), 0x1fa27cf8, 16) STEP(H, b, c, d, a, GET(2), 0xc4ac5665, 23) /* Round 4 */ STEP(I, a, b, c, d, GET(0), 0xf4292244, 6) STEP(I, d, a, b, c, GET(7), 0x432aff97, 10) STEP(I, c, d, a, b, GET(14), 0xab9423a7, 15) STEP(I, b, c, d, a, GET(5), 0xfc93a039, 21) STEP(I, a, b, c, d, GET(12), 0x655b59c3, 6) STEP(I, d, a, b, c, GET(3), 0x8f0ccc92, 10) STEP(I, c, d, a, b, GET(10), 0xffeff47d, 15) STEP(I, b, c, d, a, GET(1), 0x85845dd1, 21) STEP(I, a, b, c, d, GET(8), 0x6fa87e4f, 6) STEP(I, d, a, b, c, GET(15), 0xfe2ce6e0, 10) STEP(I, c, d, a, b, GET(6), 0xa3014314, 15) STEP(I, b, c, d, a, GET(13), 0x4e0811a1, 21) STEP(I, a, b, c, d, GET(4), 0xf7537e82, 6) STEP(I, d, a, b, c, GET(11), 0xbd3af235, 10) STEP(I, c, d, a, b, GET(2), 0x2ad7d2bb, 15) STEP(I, b, c, d, a, GET(9), 0xeb86d391, 21) a += saved_a; b += saved_b; c += saved_c; d += saved_d; ptr += 64; } while (size -= 64); ctx->a = a; ctx->b = b; ctx->c = c; ctx->d = d; return ptr; } void MD5_Init(MD5_CTX *ctx) { ctx->a = 0x67452301; ctx->b = 0xefcdab89; ctx->c = 0x98badcfe; ctx->d = 0x10325476; ctx->lo = 0; ctx->hi = 0; } void MD5_Update(MD5_CTX *ctx, void *data, unsigned long size) { MD5_u32plus saved_lo; unsigned long used, free; saved_lo = ctx->lo; if ((ctx->lo = (saved_lo + size) & 0x1fffffff) < saved_lo) ctx->hi++; ctx->hi += size >> 29; used = saved_lo & 0x3f; if (used) { free = 64 - used; if (size < free) { memcpy(&ctx->buffer[used], data, size); return; } memcpy(&ctx->buffer[used], data, free); data = (unsigned char *)data + free; size -= free; body(ctx, ctx->buffer, 64); } if (size >= 64) { data = body(ctx, data, size & ~(unsigned long)0x3f); size &= 0x3f; } memcpy(ctx->buffer, data, size); } void MD5_Final(unsigned char *result, MD5_CTX *ctx) { unsigned long used, free; used = ctx->lo & 0x3f; ctx->buffer[used++] = 0x80; free = 64 - used; if (free < 8) { memset(&ctx->buffer[used], 0, free); body(ctx, ctx->buffer, 64); used = 0; free = 64; } memset(&ctx->buffer[used], 0, free - 8); ctx->lo <<= 3; ctx->buffer[56] = ctx->lo; ctx->buffer[57] = ctx->lo >> 8; ctx->buffer[58] = ctx->lo >> 16; ctx->buffer[59] = ctx->lo >> 24; ctx->buffer[60] = ctx->hi; ctx->buffer[61] = ctx->hi >> 8; ctx->buffer[62] = ctx->hi >> 16; ctx->buffer[63] = ctx->hi >> 24; body(ctx, ctx->buffer, 64); result[0] = ctx->a; result[1] = ctx->a >> 8; result[2] = ctx->a >> 16; result[3] = ctx->a >> 24; result[4] = ctx->b; result[5] = ctx->b >> 8; result[6] = ctx->b >> 16; result[7] = ctx->b >> 24; result[8] = ctx->c; result[9] = ctx->c >> 8; result[10] = ctx->c >> 16; result[11] = ctx->c >> 24; result[12] = ctx->d; result[13] = ctx->d >> 8; result[14] = ctx->d >> 16; result[15] = ctx->d >> 24; memset(ctx, 0, sizeof(*ctx)); } #endif htslib-1.2.1/cram/md5.h000066400000000000000000000027071246417267700146060ustar00rootroot00000000000000#ifdef __cplusplus extern "C" { #endif /* * This is an OpenSSL-compatible implementation of the RSA Data Security, Inc. * MD5 Message-Digest Algorithm (RFC 1321). * * Homepage: * http://openwall.info/wiki/people/solar/software/public-domain-source-code/md5 * * Author: * Alexander Peslyak, better known as Solar Designer * * This software was written by Alexander Peslyak in 2001. No copyright is * claimed, and the software is hereby placed in the public domain. * In case this attempt to disclaim copyright and place the software in the * public domain is deemed null and void, then the software is * Copyright (c) 2001 Alexander Peslyak and it is hereby released to the * general public under the following terms: * * Redistribution and use in source and binary forms, with or without * modification, are permitted. * * There's ABSOLUTELY NO WARRANTY, express or implied. * * See md5.c for more information. */ #ifdef HAVE_OPENSSL #include #elif !defined(_MD5_H) #define _MD5_H /* Any 32-bit or wider unsigned integer data type will do */ typedef unsigned int MD5_u32plus; typedef struct { MD5_u32plus lo, hi; MD5_u32plus a, b, c, d; unsigned char buffer[64]; MD5_u32plus block[16]; } MD5_CTX; extern void MD5_Init(MD5_CTX *ctx); extern void MD5_Update(MD5_CTX *ctx, void *data, unsigned long size); extern void MD5_Final(unsigned char *result, MD5_CTX *ctx); #endif #ifdef __cplusplus } #endif htslib-1.2.1/cram/misc.h000066400000000000000000000103221246417267700150440ustar00rootroot00000000000000/* Copyright (c) 1994-1997, 2001-2002 MEDICAL RESEARCH COUNCIL All rights reserved Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: 1 Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. 2 Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. 3 Neither the name of the MEDICAL RESEARCH COUNCIL, THE LABORATORY OF MOLECULAR BIOLOGY nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ /* Copyright (c) 2003-2013 Genome Research Ltd. Author: James Bonfield Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. 3. Neither the names Genome Research Ltd and Wellcome Trust Sanger Institute nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY GENOME RESEARCH LTD AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL GENOME RESEARCH LTD OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ #ifndef _misc_h #define _misc_h #include "cram/os.h" #include #include /* varargs needed for v*printf() prototypes */ #include #ifdef __cplusplus extern "C" { #endif /* * This informs gcc that crash() doesn't return, so it doesn't need to * concern itself that code paths going via crash could mean some variables * being undefined and then issuing uninitialised variable warnings. * This particularly affected convert. */ #ifdef __GNUC__ # define __NORETURN__ __attribute__ ((__noreturn__)) #else # define __NORETURN__ #endif /* * Used for printf style argument checking. We can request a function such * as vTcl_SetResult does argument checking, avoiding bugs with using * %d and passing in a 64-bit record. */ #ifdef __GNUC__ # define __PRINTF_FORMAT__(a,b) __attribute__ ((format (printf, a, b))) #else # define __PRINTF_FORMAT__(a,b) #endif extern int is_directory(char * fn); extern int is_file(char * fn); extern int file_size(char * fn); #define MIN(A,B) ( ( (A) < (B) ) ? (A) : (B) ) #define MAX(A,B) ( ( (A) > (B) ) ? (A) : (B) ) #ifdef __cplusplus } #endif #endif /*_misc_h*/ htslib-1.2.1/cram/open_trace_file.c000066400000000000000000000241501246417267700172260ustar00rootroot00000000000000/* Author: James Bonfield Copyright (c) 2000-2001 MEDICAL RESEARCH COUNCIL All rights reserved Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. 3. Neither the name of the MEDICAL RESEARCH COUNCIL, THE LABORATORY OF MOLECULAR BIOLOGY nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ /* Copyright (c) 2008, 2009, 2013, 2014 Genome Research Ltd. Author: James Bonfield Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. 3. Neither the names Genome Research Ltd and Wellcome Trust Sanger Institute nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY GENOME RESEARCH LTD AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL GENOME RESEARCH LTD OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ #include #include #include #include #include #include #include #include #include "cram/os.h" #ifndef PATH_MAX # define PATH_MAX 1024 #endif #include "cram/open_trace_file.h" #include "cram/misc.h" #include "htslib/hfile.h" /* * Tokenises the search path splitting on colons (unix) or semicolons * (windows). * We also explicitly add a "./" to the end of the search path * * Returns: A new search path with items separated by nul chars. Two nul * chars in a row represent the end of the tokenised path. * Returns NULL for a failure. * * The returned data has been malloced. It is up to the caller to free this * memory. */ char *tokenise_search_path(char *searchpath) { char *newsearch; unsigned int i, j; size_t len; #ifdef _WIN32 char path_sep = ';'; #else char path_sep = ':'; #endif if (!searchpath) searchpath=""; newsearch = (char *)malloc((len = strlen(searchpath))+5); if (!newsearch) return NULL; for (i = 0, j = 0; i < len; i++) { /* "::" => ":". Used for escaping colons in http://foo */ if (i < len-1 && searchpath[i] == ':' && searchpath[i+1] == ':') { newsearch[j++] = ':'; i++; continue; } /* Handle http:// and ftp:// too without :: */ if (path_sep == ':') { if ((i == 0 || (i > 0 && searchpath[i-1] == ':')) && (!strncmp(&searchpath[i], "http:", 5) || !strncmp(&searchpath[i], "ftp:", 4) || !strncmp(&searchpath[i], "|http:", 6) || !strncmp(&searchpath[i], "|ftp:", 5) || !strncmp(&searchpath[i], "URL=http:", 9) || !strncmp(&searchpath[i], "URL=ftp:", 8))) { do { newsearch[j++] = searchpath[i]; } while (i 0) { if (mfwrite(buf, len, 1, mf) <= 0) { hclose_abruptly(hf); mfdestroy(mf); return NULL; } } if (hclose(hf) < 0) { mfdestroy(mf); return NULL; } mrewind(mf); return mf; } /* * Searches for file in the directory 'dirname'. If it finds it, it opens * it. This also searches for compressed versions of the file in dirname * too. * * Returns mFILE pointer if found * NULL if not */ static mFILE *find_file_dir(char *file, char *dirname) { char path[PATH_MAX+1]; size_t len = strlen(dirname); char *cp; if (dirname[len-1] == '/') len--; /* Special case for "./" or absolute filenames */ if (*file == '/' || (len==1 && *dirname == '.')) { sprintf(path, "%s", file); } else { /* Handle %[0-9]*s expansions, if required */ char *path_end = path; *path = 0; while ((cp = strchr(dirname, '%'))) { char *endp; long l = strtol(cp+1, &endp, 10); if (*endp != 's') { strncpy(path_end, dirname, (endp+1)-dirname); path_end += (endp+1)-dirname; dirname = endp+1; continue; } strncpy(path_end, dirname, cp-dirname); path_end += cp-dirname; if (l) { strncpy(path_end, file, l); path_end += MIN(strlen(file), l); file += MIN(strlen(file), l); } else { strcpy(path_end, file); path_end += strlen(file); file += strlen(file); } len -= (endp+1) - dirname; dirname = endp+1; } strncpy(path_end, dirname, len); path_end += MIN(strlen(dirname), len); *path_end = 0; if (*file) { *path_end++ = '/'; strcpy(path_end, file); } //fprintf(stderr, "*PATH=\"%s\"\n", path); } if (is_file(path)) { return mfopen(path, "rb"); } return NULL; } /* * ------------------------------------------------------------------------ * Public functions below. */ /* * Opens a trace file named 'file'. This is initially looked for as a * pathname relative to a file named "relative_to". This may (for * example) be the name of an experiment file referencing the trace * file. In this case by passing relative_to as the experiment file * filename the trace file will be picked up in the same directory as * the experiment file. Relative_to may be supplied as NULL. * * 'file' is looked for at relative_to, then the current directory, and then * all of the locations listed in 'path' (which is a colon separated list). * If 'path' is NULL it uses the RAWDATA environment variable instead. * * Returns a mFILE pointer when found. * NULL otherwise. */ mFILE *open_path_mfile(char *file, char *path, char *relative_to) { char *newsearch; char *ele; mFILE *fp; /* Use path first */ if (!path) path = getenv("RAWDATA"); if (NULL == (newsearch = tokenise_search_path(path))) return NULL; /* * Step through the search path testing out each component. * We now look through each path element treating some prefixes as * special, otherwise we treat the element as a directory. */ for (ele = newsearch; *ele; ele += strlen(ele)+1) { char *ele2; /* * '|' prefixing a path component indicates that we do not * wish to perform the compression extension searching in that * location. * * NB: this has been removed from the htslib implementation. */ if (*ele == '|') { ele2 = ele+1; } else { ele2 = ele; } if (0 == strncmp(ele2, "URL=", 4)) { if ((fp = find_file_url(file, ele2+4))) { free(newsearch); return fp; } } else if (!strncmp(ele2, "http:", 5) || !strncmp(ele2, "ftp:", 4)) { if ((fp = find_file_url(file, ele2))) { free(newsearch); return fp; } } else if ((fp = find_file_dir(file, ele2))) { free(newsearch); return fp; } } free(newsearch); /* Look in the same location as the incoming 'relative_to' filename */ if (relative_to) { char *cp; char relative_path[PATH_MAX+1]; strcpy(relative_path, relative_to); if ((cp = strrchr(relative_path, '/'))) *cp = 0; if ((fp = find_file_dir(file, relative_path))) return fp; } return NULL; } htslib-1.2.1/cram/open_trace_file.h000066400000000000000000000112061246417267700172310ustar00rootroot00000000000000/* Author: James Bonfield Copyright (c) 2000-2001 MEDICAL RESEARCH COUNCIL All rights reserved Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: . Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. . Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. . Neither the name of the MEDICAL RESEARCH COUNCIL, THE LABORATORY OF MOLECULAR BIOLOGY nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ /* Copyright (c) 2008, 2009, 2013 Genome Research Ltd. Author: James Bonfield Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. 3. Neither the names Genome Research Ltd and Wellcome Trust Sanger Institute nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY GENOME RESEARCH LTD AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL GENOME RESEARCH LTD OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ #ifndef _OPEN_TRACE_FILE_H_ #define _OPEN_TRACE_FILE_H_ #include "cram/mFILE.h" #ifdef __cplusplus extern "C" { #endif /* * Tokenises the search path splitting on colons (unix) or semicolons * (windows). * We also explicitly add a "./" to the end of the search path * * Returns: A new search path with items separated by nul chars. Two nul * chars in a row represent the end of the tokenised path. * Returns NULL for a failure. * * The returned data has been malloced. It is up to the caller to free this * memory. */ char *tokenise_search_path(char *searchpath); /* * Opens a trace file named 'file'. This is initially looked for as a * pathname relative to a file named "relative_to". This may (for * example) be the name of an experiment file referencing the trace * file. In this case by passing relative_to as the experiment file * filename the trace file will be picked up in the same directory as * the experiment file. Relative_to may be supplied as NULL. * * 'file' is looked for at relative_to, then the current directory, and then * all of the locations listed in 'path' (which is a colon separated list). * If 'path' is NULL it uses the RAWDATA environment variable instead. * * Returns a mFILE pointer when found. * NULL otherwise. */ mFILE *open_path_mfile(char *file, char *path, char *relative_to); /* * Returns a mFILE containing the entire contents of the url; * NULL on failure. */ mFILE *find_file_url(char *file, char *url); #ifdef __cplusplus } #endif #endif /* _OPEN_TRACE_FILE_H_ */ htslib-1.2.1/cram/os.h000066400000000000000000000222541246417267700145410ustar00rootroot00000000000000/* Copyright (c) 1993, 1995-2002 MEDICAL RESEARCH COUNCIL All rights reserved Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: 1 Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. 2 Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. 3 Neither the name of the MEDICAL RESEARCH COUNCIL, THE LABORATORY OF MOLECULAR BIOLOGY nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ /* Copyright (c) 2004, 2006, 2009-2011, 2013 Genome Research Ltd. Author: James Bonfield Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. 3. Neither the names Genome Research Ltd and Wellcome Trust Sanger Institute nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY GENOME RESEARCH LTD AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL GENOME RESEARCH LTD OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ /* * File: os.h * * Author: * MRC Laboratory of Molecular Biology * Hills Road * Cambridge CB2 2QH * United Kingdom * * Description: operating system specific type definitions * */ #ifndef _OS_H_ #define _OS_H_ #include #include #ifdef __cplusplus extern "C" { #endif /*----------------------------------------------------------------------------- * Detection of endianness. The main part of this is done in autoconf, but * for the case of MacOS FAT binaries we fall back on auto-sensing based on * processor type too. */ /* Set by autoconf */ #define SP_LITTLE_ENDIAN /* Mac FAT binaries or unknown. Auto detect based on CPU type */ #if !defined(SP_BIG_ENDIAN) && !defined(SP_LITTLE_ENDIAN) /* * x86 equivalents */ #if defined(__i386__) || defined(__i386) || defined(__amd64__) || defined(__amd64) || defined(__x86_64__) || defined(__x86_64) || defined(__i686__) || defined(__i686) # if defined(SP_BIG_ENDIAN) # undef SP_BIG_ENDIAN # endif # define SP_LITTLE_ENDIAN #endif /* * DEC Alpha */ #if defined(__alpha__) || defined(__alpha) # if defined(SP_LITTLE_ENDIAN) # undef SP_LITTLE_ENDIAN # endif # define SP_BIG_ENDIAN #endif /* * SUN Sparc */ #if defined(__sparc__) || defined(__sparc) # if defined(SP_LITTLE_ENDIAN) # undef SP_LITTLE_ENDIAN # endif # define SP_BIG_ENDIAN #endif /* * PowerPC */ #if defined(__ppc__) || defined(__ppc) # if defined(SP_LITTLE_ENDIAN) # undef SP_LITTLE_ENDIAN # endif # define SP_BIG_ENDIAN #endif /* Some catch-alls */ #if defined(__LITTLE_ENDIAN__) || defined(__LITTLEENDIAN__) # define SP_LITTLE_ENDIAN #endif #if defined(__BIG_ENDIAN__) || defined(__BIGENDIAN__) # define SP_BIG_ENDIAN #endif #if defined(SP_BIG_ENDIAN) && defined(SP_LITTLE_ENDIAN) # error Both BIG and LITTLE endian defined. Fix os.h and/or Makefile #endif #if !defined(SP_BIG_ENDIAN) && !defined(SP_LITTLE_ENDIAN) # error Neither BIG nor LITTLE endian defined. Fix os.h and/or Makefile #endif #endif /*----------------------------------------------------------------------------- * Allow for unaligned memory access. This is used in BAM code as the packed * structure has 4-byte cigar ints after the variable length name. * * Consider using AX_CHECK_ALIGNED_ACCESS_REQUIRED in autoconf. */ #if defined(__i386__) || defined(__i386) || defined(__amd64__) || defined(__amd64) || defined(__x86_64__) || defined(__x86_64) || defined(__i686__) || defined(__i686) # define ALLOW_UAC #endif /*----------------------------------------------------------------------------- * Byte swapping macros */ /* * Our new swap runs at the same speed on Ultrix, but substantially faster * (300% for swap_int4, ~50% for swap_int2) on an Alpha (due to the lack of * decent 'char' support). * * They also have the ability to swap in situ (src == dst). Newer code now * relies on this so don't change back! */ #define iswap_int8(x) \ (((x & 0x00000000000000ffLL) << 56) + \ ((x & 0x000000000000ff00LL) << 40) + \ ((x & 0x0000000000ff0000LL) << 24) + \ ((x & 0x00000000ff000000LL) << 8) + \ ((x & 0x000000ff00000000LL) >> 8) + \ ((x & 0x0000ff0000000000LL) >> 24) + \ ((x & 0x00ff000000000000LL) >> 40) + \ ((x & 0xff00000000000000LL) >> 56)) #define iswap_int4(x) \ (((x & 0x000000ff) << 24) + \ ((x & 0x0000ff00) << 8) + \ ((x & 0x00ff0000) >> 8) + \ ((x & 0xff000000) >> 24)) #define iswap_int2(x) \ (((x & 0x00ff) << 8) + \ ((x & 0xff00) >> 8)) /* * Linux systems may use byteswap.h to get assembly versions of byte-swap * on intel systems. This can be as trivial as the bswap opcode, which works * out at over 2-times faster than iswap_int4 above. */ #if 0 #if defined(__linux__) # include # undef iswap_int8 # undef iswap_int4 # undef iswap_int2 # define iswap_int8 bswap_64 # define iswap_int4 bswap_32 # define iswap_int2 bswap_16 #endif #endif /* * Macros to specify that data read in is of a particular endianness. * The macros here swap to the appropriate order for the particular machine * running the macro and return the new answer. These may also be used when * writing to a file to specify that we wish to write in (eg) big endian * format. * * This leads to efficient code as most of the time these macros are * trivial. */ #ifdef SP_BIG_ENDIAN #define le_int4(x) iswap_int4((x)) #define le_int2(x) iswap_int2((x)) #endif #ifdef SP_LITTLE_ENDIAN #define le_int4(x) (x) #define le_int2(x) (x) #endif /*----------------------------------------------------------------------------- * definitions, incase they're not present */ #ifndef PRId64 #define __PRI64__ "l" #define PRId64 __PRI64__ "d" #define PRId32 "d" #define PRId16 "d" #define PRId8 "d" #define PRIu64 __PRI64__ "u" #define PRIu32 "u" #define PRIu16 "u" #define PRIu8 "u" #endif /*----------------------------------------------------------------------------- * Operating system specifics. * These ought to be done by autoconf, but are legacy code. */ /* * SunOS 4.x * Even though we use the ANSI gcc, we make use the the standard SunOS 4.x * libraries and include files, which are non-ansi */ #if defined(__sun__) && !defined(__svr4__) #define SEEK_SET 0 #define SEEK_CUR 1 #define SEEK_END 2 #endif /* * Microsoft Visual C++ * Windows */ #if defined(_MSC_VER) #define popen _popen #define pclose _pclose #define ftruncate(fd,len) _chsize(fd,len) #endif /* * Microsoft Windows running MinGW */ #if defined(__MINGW32__) /* #define mkdir(filename,mode) mkdir((filename)) */ #define sysconf(x) 512 #define ftruncate(fd,len) _chsize(fd,len) #endif /* Generic WIN32 API issues */ #ifdef _WIN32 # ifndef HAVE_FSEEKO # if __MSVCRT_VERSION__ >= 0x800 /* if you have MSVCR80 installed then you can use these definitions: */ # define off_t __int64 # define fseeko _fseeki64 # define ftello _ftelli64 # else /* otherwise we're stuck with 32-bit file support */ # define off_t long # define fseeko fseek # define ftello ftell # endif # endif /* !HAVE_FSEEKO */ #endif /* _WIN32 */ #ifdef __cplusplus } #endif #endif /*_OS_H_*/ htslib-1.2.1/cram/pooled_alloc.c000066400000000000000000000100731246417267700165430ustar00rootroot00000000000000/* Copyright (c) 2009 Genome Research Ltd. Author: Rob Davies Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. 3. Neither the names Genome Research Ltd and Wellcome Trust Sanger Institute nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY GENOME RESEARCH LTD AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL GENOME RESEARCH LTD OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ #ifdef HAVE_CONFIG_H #include "io_lib_config.h" #endif #include #include #include #include "cram/pooled_alloc.h" //#define TEST_MAIN #define PSIZE 1024*1024 pool_alloc_t *pool_create(size_t dsize) { pool_alloc_t *p; if (NULL == (p = (pool_alloc_t *)malloc(sizeof(*p)))) return NULL; /* Minimum size is a pointer, for free list */ dsize = (dsize + sizeof(void *) - 1) & ~(sizeof(void *)-1); if (dsize < sizeof(void *)) dsize = sizeof(void *); p->dsize = dsize; p->npools = 0; p->pools = NULL; p->free = NULL; return p; } static pool_t *new_pool(pool_alloc_t *p) { size_t n = PSIZE / p->dsize; pool_t *pool; pool = realloc(p->pools, (p->npools + 1) * sizeof(*p->pools)); if (NULL == pool) return NULL; p->pools = pool; pool = &p->pools[p->npools]; pool->pool = malloc(n * p->dsize); if (NULL == pool->pool) return NULL; pool->used = 0; p->npools++; return pool; } void pool_destroy(pool_alloc_t *p) { size_t i; for (i = 0; i < p->npools; i++) { free(p->pools[i].pool); } free(p->pools); free(p); } void *pool_alloc(pool_alloc_t *p) { pool_t *pool; void *ret; /* Look on free list */ if (NULL != p->free) { ret = p->free; p->free = *((void **)p->free); return ret; } /* Look for space in the last pool */ if (p->npools) { pool = &p->pools[p->npools - 1]; if (pool->used + p->dsize < PSIZE) { ret = ((char *) pool->pool) + pool->used; pool->used += p->dsize; return ret; } } /* Need a new pool */ pool = new_pool(p); if (NULL == pool) return NULL; pool->used = p->dsize; return pool->pool; } void pool_free(pool_alloc_t *p, void *ptr) { *(void **)ptr = p->free; p->free = ptr; } #ifdef TEST_MAIN typedef struct { int x, y, z; } xyz; #define NP 10000 int main(void) { int i; xyz *item; xyz **items; pool_alloc_t *p = pool_create(sizeof(xyz)); items = (xyz **)malloc(NP * sizeof(*items)); for (i = 0; i < NP; i++) { item = pool_alloc(p); item->x = i; item->y = i+1; item->z = i+2; items[i] = item; } for (i = 0; i < NP; i++) { item = items[i]; if (i % 3) pool_free(p, item); } for (i = 0; i < NP; i++) { item = pool_alloc(p); item->x = 1000000+i; item->y = 1000000+i+1; item->z = 1000000+i+2; } for (i = 0; i < NP; i++) { item = items[i]; printf("%d\t%d\t%d\t%d\n", i, item->x, item->y, item->z); pool_free(p, item); } return 0; } #endif htslib-1.2.1/cram/pooled_alloc.h000066400000000000000000000040351246417267700165510ustar00rootroot00000000000000/* Copyright (c) 2009 Genome Research Ltd. Author: Rob Davies Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. 3. Neither the names Genome Research Ltd and Wellcome Trust Sanger Institute nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY GENOME RESEARCH LTD AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL GENOME RESEARCH LTD OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ #ifndef _POOLED_ALLOC_H_ #define _POOLED_ALLOC_H_ /* * Implements a pooled block allocator where all items are the same size, * but we need many of them. */ typedef struct { void *pool; size_t used; } pool_t; typedef struct { size_t dsize; size_t npools; pool_t *pools; void *free; } pool_alloc_t; pool_alloc_t *pool_create(size_t dsize); void pool_destroy(pool_alloc_t *p); void *pool_alloc(pool_alloc_t *p); void pool_free(pool_alloc_t *p, void *ptr); #endif /*_POOLED_ALLOC_H_*/ htslib-1.2.1/cram/rANS_byte.h000066400000000000000000000270641246417267700157520ustar00rootroot00000000000000/* rans_byte.h originally from https://github.com/rygorous/ryg_rans * * This is a public-domain implementation of several rANS variants. rANS is an * entropy coder from the ANS family, as described in Jarek Duda's paper * "Asymmetric numeral systems" (http://arxiv.org/abs/1311.2540). */ /*-------------------------------------------------------------------------- */ // Simple byte-aligned rANS encoder/decoder - public domain - Fabian 'ryg' Giesen 2014 // // Not intended to be "industrial strength"; just meant to illustrate the general // idea. #ifndef RANS_BYTE_HEADER #define RANS_BYTE_HEADER #include #ifdef assert #define RansAssert assert #else #define RansAssert(x) #endif // READ ME FIRST: // // This is designed like a typical arithmetic coder API, but there's three // twists you absolutely should be aware of before you start hacking: // // 1. You need to encode data in *reverse* - last symbol first. rANS works // like a stack: last in, first out. // 2. Likewise, the encoder outputs bytes *in reverse* - that is, you give // it a pointer to the *end* of your buffer (exclusive), and it will // slowly move towards the beginning as more bytes are emitted. // 3. Unlike basically any other entropy coder implementation you might // have used, you can interleave data from multiple independent rANS // encoders into the same bytestream without any extra signaling; // you can also just write some bytes by yourself in the middle if // you want to. This is in addition to the usual arithmetic encoder // property of being able to switch models on the fly. Writing raw // bytes can be useful when you have some data that you know is // incompressible, and is cheaper than going through the rANS encode // function. Using multiple rANS coders on the same byte stream wastes // a few bytes compared to using just one, but execution of two // independent encoders can happen in parallel on superscalar and // Out-of-Order CPUs, so this can be *much* faster in tight decoding // loops. // // This is why all the rANS functions take the write pointer as an // argument instead of just storing it in some context struct. // -------------------------------------------------------------------------- // L ('l' in the paper) is the lower bound of our normalization interval. // Between this and our byte-aligned emission, we use 31 (not 32!) bits. // This is done intentionally because exact reciprocals for 31-bit uints // fit in 32-bit uints: this permits some optimizations during encoding. #define RANS_BYTE_L (1u << 23) // lower bound of our normalization interval // State for a rANS encoder. Yep, that's all there is to it. typedef uint32_t RansState; // Initialize a rANS encoder. static inline void RansEncInit(RansState* r) { *r = RANS_BYTE_L; } // Renormalize the encoder. Internal function. static inline RansState RansEncRenorm(RansState x, uint8_t** pptr, uint32_t freq, uint32_t scale_bits) { uint32_t x_max = ((RANS_BYTE_L >> scale_bits) << 8) * freq; // this turns into a shift. if (x >= x_max) { uint8_t* ptr = *pptr; do { *--ptr = (uint8_t) (x & 0xff); x >>= 8; } while (x >= x_max); *pptr = ptr; } return x; } // Encodes a single symbol with range start "start" and frequency "freq". // All frequencies are assumed to sum to "1 << scale_bits", and the // resulting bytes get written to ptr (which is updated). // // NOTE: With rANS, you need to encode symbols in *reverse order*, i.e. from // beginning to end! Likewise, the output bytestream is written *backwards*: // ptr starts pointing at the end of the output buffer and keeps decrementing. static inline void RansEncPut(RansState* r, uint8_t** pptr, uint32_t start, uint32_t freq, uint32_t scale_bits) { // renormalize RansState x = RansEncRenorm(*r, pptr, freq, scale_bits); // x = C(s,x) *r = ((x / freq) << scale_bits) + (x % freq) + start; } // Flushes the rANS encoder. static inline void RansEncFlush(RansState* r, uint8_t** pptr) { uint32_t x = *r; uint8_t* ptr = *pptr; ptr -= 4; ptr[0] = (uint8_t) (x >> 0); ptr[1] = (uint8_t) (x >> 8); ptr[2] = (uint8_t) (x >> 16); ptr[3] = (uint8_t) (x >> 24); *pptr = ptr; } // Initializes a rANS decoder. // Unlike the encoder, the decoder works forwards as you'd expect. static inline void RansDecInit(RansState* r, uint8_t** pptr) { uint32_t x; uint8_t* ptr = *pptr; x = ptr[0] << 0; x |= ptr[1] << 8; x |= ptr[2] << 16; x |= ptr[3] << 24; ptr += 4; *pptr = ptr; *r = x; } // Returns the current cumulative frequency (map it to a symbol yourself!) static inline uint32_t RansDecGet(RansState* r, uint32_t scale_bits) { return *r & ((1u << scale_bits) - 1); } // Advances in the bit stream by "popping" a single symbol with range start // "start" and frequency "freq". All frequencies are assumed to sum to "1 << scale_bits", // and the resulting bytes get written to ptr (which is updated). static inline void RansDecAdvance(RansState* r, uint8_t** pptr, uint32_t start, uint32_t freq, uint32_t scale_bits) { uint32_t mask = (1u << scale_bits) - 1; // s, x = D(x) uint32_t x = *r; x = freq * (x >> scale_bits) + (x & mask) - start; // renormalize if (x < RANS_BYTE_L) { uint8_t* ptr = *pptr; do x = (x << 8) | *ptr++; while (x < RANS_BYTE_L); *pptr = ptr; } *r = x; } // -------------------------------------------------------------------------- // That's all you need for a full encoder; below here are some utility // functions with extra convenience or optimizations. // Encoder symbol description // This (admittedly odd) selection of parameters was chosen to make // RansEncPutSymbol as cheap as possible. typedef struct { uint32_t x_max; // (Exclusive) upper bound of pre-normalization interval uint32_t rcp_freq; // Fixed-point reciprocal frequency uint32_t bias; // Bias uint16_t cmpl_freq; // Complement of frequency: (1 << scale_bits) - freq uint16_t rcp_shift; // Reciprocal shift } RansEncSymbol; // Decoder symbols are straightforward. typedef struct { uint16_t start; // Start of range. uint16_t freq; // Symbol frequency. } RansDecSymbol; // Initializes an encoder symbol to start "start" and frequency "freq" static inline void RansEncSymbolInit(RansEncSymbol* s, uint32_t start, uint32_t freq, uint32_t scale_bits) { RansAssert(scale_bits <= 16); RansAssert(start <= (1u << scale_bits)); RansAssert(freq <= (1u << scale_bits) - start); // Say M := 1 << scale_bits. // // The original encoder does: // x_new = (x/freq)*M + start + (x%freq) // // The fast encoder does (schematically): // q = mul_hi(x, rcp_freq) >> rcp_shift (division) // r = x - q*freq (remainder) // x_new = q*M + bias + r (new x) // plugging in r into x_new yields: // x_new = bias + x + q*(M - freq) // =: bias + x + q*cmpl_freq (*) // // and we can just precompute cmpl_freq. Now we just need to // set up our parameters such that the original encoder and // the fast encoder agree. s->x_max = ((RANS_BYTE_L >> scale_bits) << 8) * freq; s->cmpl_freq = (uint16_t) ((1 << scale_bits) - freq); if (freq < 2) { // freq=0 symbols are never valid to encode, so it doesn't matter what // we set our values to. // // freq=1 is tricky, since the reciprocal of 1 is 1; unfortunately, // our fixed-point reciprocal approximation can only multiply by values // smaller than 1. // // So we use the "next best thing": rcp_freq=0xffffffff, rcp_shift=0. // This gives: // q = mul_hi(x, rcp_freq) >> rcp_shift // = mul_hi(x, (1<<32) - 1)) >> 0 // = floor(x - x/(2^32)) // = x - 1 if 1 <= x < 2^32 // and we know that x>0 (x=0 is never in a valid normalization interval). // // So we now need to choose the other parameters such that // x_new = x*M + start // plug it in: // x*M + start (desired result) // = bias + x + q*cmpl_freq (*) // = bias + x + (x - 1)*(M - 1) (plug in q=x-1, cmpl_freq) // = bias + 1 + (x - 1)*M // = x*M + (bias + 1 - M) // // so we have start = bias + 1 - M, or equivalently // bias = start + M - 1. s->rcp_freq = ~0u; s->rcp_shift = 0; s->bias = start + (1 << scale_bits) - 1; } else { // Alverson, "Integer Division using reciprocals" // shift=ceil(log2(freq)) uint32_t shift = 0; while (freq > (1u << shift)) shift++; s->rcp_freq = (uint32_t) (((1ull << (shift + 31)) + freq-1) / freq); s->rcp_shift = shift - 1; // With these values, 'q' is the correct quotient, so we // have bias=start. s->bias = start; } s->rcp_shift += 32; // Avoid the extra >>32 in RansEncPutSymbol } // Initialize a decoder symbol to start "start" and frequency "freq" static inline void RansDecSymbolInit(RansDecSymbol* s, uint32_t start, uint32_t freq) { RansAssert(start <= (1 << 16)); RansAssert(freq <= (1 << 16) - start); s->start = (uint16_t) start; s->freq = (uint16_t) freq; } // Encodes a given symbol. This is faster than straight RansEnc since we can do // multiplications instead of a divide. // // See RansEncSymbolInit for a description of how this works. static inline void RansEncPutSymbol(RansState* r, uint8_t** pptr, RansEncSymbol const* sym) { RansAssert(sym->x_max != 0); // can't encode symbol with freq=0 // renormalize uint32_t x = *r; uint32_t x_max = sym->x_max; if (x >= x_max) { uint8_t* ptr = *pptr; do { *--ptr = (uint8_t) (x & 0xff); x >>= 8; } while (x >= x_max); *pptr = ptr; } // x = C(s,x) // NOTE: written this way so we get a 32-bit "multiply high" when // available. If you're on a 64-bit platform with cheap multiplies // (e.g. x64), just bake the +32 into rcp_shift. //uint32_t q = (uint32_t) (((uint64_t)x * sym->rcp_freq) >> 32) >> sym->rcp_shift; // The extra >>32 has already been added to RansEncSymbolInit uint32_t q = (uint32_t) (((uint64_t)x * sym->rcp_freq) >> sym->rcp_shift); *r = x + sym->bias + q * sym->cmpl_freq; } // Equivalent to RansDecAdvance that takes a symbol. static inline void RansDecAdvanceSymbol(RansState* r, uint8_t** pptr, RansDecSymbol const* sym, uint32_t scale_bits) { RansDecAdvance(r, pptr, sym->start, sym->freq, scale_bits); } // Advances in the bit stream by "popping" a single symbol with range start // "start" and frequency "freq". All frequencies are assumed to sum to "1 << scale_bits". // No renormalization or output happens. static inline void RansDecAdvanceStep(RansState* r, uint32_t start, uint32_t freq, uint32_t scale_bits) { uint32_t mask = (1u << scale_bits) - 1; // s, x = D(x) uint32_t x = *r; *r = freq * (x >> scale_bits) + (x & mask) - start; } // Equivalent to RansDecAdvanceStep that takes a symbol. static inline void RansDecAdvanceSymbolStep(RansState* r, RansDecSymbol const* sym, uint32_t scale_bits) { RansDecAdvanceStep(r, sym->start, sym->freq, scale_bits); } // Renormalize. static inline void RansDecRenorm(RansState* r, uint8_t** pptr) { // renormalize uint32_t x = *r; if (x < RANS_BYTE_L) { uint8_t* ptr = *pptr; do x = (x << 8) | *ptr++; while (x < RANS_BYTE_L); *pptr = ptr; } *r = x; } #endif // RANS_BYTE_HEADER htslib-1.2.1/cram/rANS_static.c000066400000000000000000000474251246417267700162740ustar00rootroot00000000000000/* * Copyright (c) 2014 Genome Research Ltd. * Author(s): James Bonfield * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: * * 1. Redistributions of source code must retain the above copyright notice, * this list of conditions and the following disclaimer. * * 2. Redistributions in binary form must reproduce the above * copyright notice, this list of conditions and the following * disclaimer in the documentation and/or other materials provided * with the distribution. * * 3. Neither the names Genome Research Ltd and Wellcome Trust Sanger * Institute nor the names of its contributors may be used to endorse * or promote products derived from this software without specific * prior written permission. * * THIS SOFTWARE IS PROVIDED BY GENOME RESEARCH LTD AND CONTRIBUTORS "AS * IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A * PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL GENOME RESEARCH * LTD OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ /* * Author: James Bonfield, Wellcome Trust Sanger Institute. 2014 */ #include #include #include #include #include #include #include #include "cram/rANS_static.h" #include "cram/rANS_byte.h" #define TF_SHIFT 12 #define TOTFREQ (1<0?(a):-(a)) #ifndef BLK_SIZE # define BLK_SIZE 1024*1024 #endif // Room to allow for expanded BLK_SIZE on worst case compression. #define BLK_SIZE2 ((int)(1.05*BLK_SIZE)) /*----------------------------------------------------------------------------- * Memory to memory compression functions. * * These are original versions without any manual loop unrolling. They * are easier to understand, but can be up to 2x slower. */ unsigned char *rans_compress_O0(unsigned char *in, unsigned int in_size, unsigned int *out_size) { unsigned char *out_buf = malloc(1.05*in_size + 257*257*3 + 9); unsigned char *cp, *out_end; RansEncSymbol syms[256]; RansState rans0, rans1, rans2, rans3; uint8_t* ptr; int F[256] = {0}, i, j, tab_size, rle, x, fsum = 0; int m = 0, M = 0; uint64_t tr; if (!out_buf) return NULL; ptr = out_end = out_buf + (int)(1.05*in_size) + 257*257*3 + 9; // Compute statistics for (i = 0; i < in_size; i++) { F[in[i]]++; } tr = ((uint64_t)TOTFREQ<<31)/in_size + (1<<30)/in_size; // Normalise so T[i] == TOTFREQ for (m = M = j = 0; j < 256; j++) { if (!F[j]) continue; if (m < F[j]) m = F[j], M = j; if ((F[j] = (F[j]*tr)>>31) == 0) F[j] = 1; fsum += F[j]; } fsum++; if (fsum < TOTFREQ) F[M] += TOTFREQ-fsum; else F[M] -= fsum-TOTFREQ; //printf("F[%d]=%d\n", M, F[M]); assert(F[M]>0); // Encode statistics. cp = out_buf+9; for (x = rle = j = 0; j < 256; j++) { if (F[j]) { // j if (rle) { rle--; } else { *cp++ = j; if (!rle && j && F[j-1]) { for(rle=j+1; rle<256 && F[rle]; rle++) ; rle -= j+1; *cp++ = rle; } //fprintf(stderr, "%d: %d %d\n", j, rle, N[j]); } // F[j] if (F[j]<128) { *cp++ = F[j]; } else { *cp++ = 128 | (F[j]>>8); *cp++ = F[j]&0xff; } RansEncSymbolInit(&syms[j], x, F[j], TF_SHIFT); x += F[j]; } } *cp++ = 0; //write(1, out_buf+4, cp-(out_buf+4)); tab_size = cp-out_buf; RansEncInit(&rans0); RansEncInit(&rans1); RansEncInit(&rans2); RansEncInit(&rans3); switch (i=(in_size&3)) { case 3: RansEncPutSymbol(&rans2, &ptr, &syms[in[in_size-(i-2)]]); case 2: RansEncPutSymbol(&rans1, &ptr, &syms[in[in_size-(i-1)]]); case 1: RansEncPutSymbol(&rans0, &ptr, &syms[in[in_size-(i-0)]]); case 0: break; } for (i=(in_size &~3); i>0; i-=4) { RansEncSymbol *s3 = &syms[in[i-1]]; RansEncSymbol *s2 = &syms[in[i-2]]; RansEncSymbol *s1 = &syms[in[i-3]]; RansEncSymbol *s0 = &syms[in[i-4]]; RansEncPutSymbol(&rans3, &ptr, s3); RansEncPutSymbol(&rans2, &ptr, s2); RansEncPutSymbol(&rans1, &ptr, s1); RansEncPutSymbol(&rans0, &ptr, s0); } RansEncFlush(&rans3, &ptr); RansEncFlush(&rans2, &ptr); RansEncFlush(&rans1, &ptr); RansEncFlush(&rans0, &ptr); // Finalise block size and return it *out_size = (out_end - ptr) + tab_size; cp = out_buf; *cp++ = 0; // order *cp++ = ((*out_size-9)>> 0) & 0xff; *cp++ = ((*out_size-9)>> 8) & 0xff; *cp++ = ((*out_size-9)>>16) & 0xff; *cp++ = ((*out_size-9)>>24) & 0xff; *cp++ = (in_size>> 0) & 0xff; *cp++ = (in_size>> 8) & 0xff; *cp++ = (in_size>>16) & 0xff; *cp++ = (in_size>>24) & 0xff; memmove(out_buf + tab_size, ptr, out_end-ptr); return out_buf; } typedef struct { struct { int F; int C; } fc[256]; unsigned char *R; } ari_decoder; unsigned char *rans_uncompress_O0(unsigned char *in, unsigned int in_size, unsigned int *out_size) { /* Load in the static tables */ unsigned char *cp = in + 9; int i, j, x, out_sz, in_sz, rle; char *out_buf; ari_decoder D; RansDecSymbol syms[256]; memset(&D, 0, sizeof(D)); if (*in++ != 0) // Order-0 check return NULL; in_sz = ((in[0])<<0) | ((in[1])<<8) | ((in[2])<<16) | ((in[3])<<24); out_sz = ((in[4])<<0) | ((in[5])<<8) | ((in[6])<<16) | ((in[7])<<24); if (in_sz != in_size-9) return NULL; out_buf = malloc(out_sz); if (!out_buf) return NULL; //fprintf(stderr, "out_sz=%d\n", out_sz); // Precompute reverse lookup of frequency. rle = x = 0; j = *cp++; do { if ((D.fc[j].F = *cp++) >= 128) { D.fc[j].F &= ~128; D.fc[j].F = ((D.fc[j].F & 127) << 8) | *cp++; } D.fc[j].C = x; RansDecSymbolInit(&syms[j], D.fc[j].C, D.fc[j].F); /* Build reverse lookup table */ if (!D.R) D.R = (unsigned char *)malloc(TOTFREQ); memset(&D.R[x], j, D.fc[j].F); x += D.fc[j].F; if (!rle && j+1 == *cp) { j = *cp++; rle = *cp++; } else if (rle) { rle--; j++; } else { j = *cp++; } } while(j); assert(x < TOTFREQ); RansState rans0, rans1, rans2, rans3; uint8_t *ptr = cp; RansDecInit(&rans0, &ptr); RansDecInit(&rans1, &ptr); RansDecInit(&rans2, &ptr); RansDecInit(&rans3, &ptr); int out_end = (out_sz&~3); RansState R[4]; R[0] = rans0; R[1] = rans1; R[2] = rans2; R[3] = rans3; uint32_t mask = (1u << TF_SHIFT)-1; for (i=0; i < out_end; i+=4) { uint32_t m[4] = {R[0] & mask, R[1] & mask, R[2] & mask, R[3] & mask}; uint8_t c[4] = {D.R[m[0]], D.R[m[1]], D.R[m[2]], D.R[m[3]]}; out_buf[i+0] = c[0]; out_buf[i+1] = c[1]; out_buf[i+2] = c[2]; out_buf[i+3] = c[3]; // RansDecAdvanceSymbolStep(&R[0], &syms[c[0]], TF_SHIFT); // RansDecAdvanceSymbolStep(&R[1], &syms[c[1]], TF_SHIFT); // RansDecAdvanceSymbolStep(&R[2], &syms[c[2]], TF_SHIFT); // RansDecAdvanceSymbolStep(&R[3], &syms[c[3]], TF_SHIFT); R[0] = syms[c[0]].freq * (R[0]>>TF_SHIFT); R[1] = syms[c[1]].freq * (R[1]>>TF_SHIFT); R[2] = syms[c[2]].freq * (R[2]>>TF_SHIFT); R[3] = syms[c[3]].freq * (R[3]>>TF_SHIFT); R[0] += m[0] - syms[c[0]].start; R[1] += m[1] - syms[c[1]].start; R[2] += m[2] - syms[c[2]].start; R[3] += m[3] - syms[c[3]].start; RansDecRenorm(&R[0], &ptr); RansDecRenorm(&R[1], &ptr); RansDecRenorm(&R[2], &ptr); RansDecRenorm(&R[3], &ptr); } rans0 = R[0]; rans1 = R[1]; rans2 = R[2]; rans3 = R[3]; switch(out_sz&3) { unsigned char c; case 0: break; case 1: c = D.R[RansDecGet(&rans0, TF_SHIFT)]; RansDecAdvanceSymbol(&rans0, &ptr, &syms[c], TF_SHIFT); out_buf[out_end] = c; break; case 2: c = D.R[RansDecGet(&rans0, TF_SHIFT)]; RansDecAdvanceSymbol(&rans0, &ptr, &syms[c], TF_SHIFT); out_buf[out_end] = c; c = D.R[RansDecGet(&rans1, TF_SHIFT)]; RansDecAdvanceSymbol(&rans1, &ptr, &syms[c], TF_SHIFT); out_buf[out_end+1] = c; break; case 3: c = D.R[RansDecGet(&rans0, TF_SHIFT)]; RansDecAdvanceSymbol(&rans0, &ptr, &syms[c], TF_SHIFT); out_buf[out_end] = c; c = D.R[RansDecGet(&rans1, TF_SHIFT)]; RansDecAdvanceSymbol(&rans1, &ptr, &syms[c], TF_SHIFT); out_buf[out_end+1] = c; c = D.R[RansDecGet(&rans2, TF_SHIFT)]; RansDecAdvanceSymbol(&rans2, &ptr, &syms[c], TF_SHIFT); out_buf[out_end+2] = c; break; } *out_size = out_sz; if (D.R) free(D.R); return (unsigned char *)out_buf; } unsigned char *rans_compress_O1(unsigned char *in, unsigned int in_size, unsigned int *out_size) { unsigned char *out_buf, *out_end, *cp; unsigned int last_i, tab_size, rle_i, rle_j; RansEncSymbol syms[256][256]; if (in_size < 4) return rans_compress_O0(in, in_size, out_size); out_buf = malloc(1.05*in_size + 257*257*3 + 9); if (!out_buf) return NULL; out_end = out_buf + (int)(1.05*in_size) + 257*257*3 + 9; cp = out_buf+9; int F[256][256], T[256], i, j; unsigned char c; memset(F, 0, 256*256*sizeof(int)); memset(T, 0, 256*sizeof(int)); //for (last = 0, i=in_size-1; i>=0; i--) { // F[last][c = in[i]]++; // T[last]++; // last = c; //} for (last_i=i=0; i>2)]]++; F[0][in[2*(in_size>>2)]]++; F[0][in[3*(in_size>>2)]]++; T[0]+=3; // Normalise so T[i] == TOTFREQ for (rle_i = i = 0; i < 256; i++) { int t2, m, M; unsigned int x; if (T[i] == 0) continue; //uint64_t p = (TOTFREQ * TOTFREQ) / t; double p = ((double)TOTFREQ)/T[i]; for (t2 = m = M = j = 0; j < 256; j++) { if (!F[i][j]) continue; if (m < F[i][j]) m = F[i][j], M = j; //if ((F[i][j] = (F[i][j] * p) / TOTFREQ) == 0) if ((F[i][j] *= p) == 0) F[i][j] = 1; t2 += F[i][j]; } t2++; if (t2 < TOTFREQ) F[i][M] += TOTFREQ-t2; else F[i][M] -= t2-TOTFREQ; // Store frequency table // i if (rle_i) { rle_i--; } else { *cp++ = i; // FIXME: could use order-0 statistics to observe which alphabet // symbols are present and base RLE on that ordering instead. if (i && T[i-1]) { for(rle_i=i+1; rle_i<256 && T[rle_i]; rle_i++) ; rle_i -= i+1; *cp++ = rle_i; } } int *F_i_ = F[i]; x = 0; rle_j = 0; for (j = 0; j < 256; j++) { if (F_i_[j]) { //fprintf(stderr, "F[%d][%d]=%d, x=%d\n", i, j, F_i_[j], x); // j if (rle_j) { rle_j--; } else { *cp++ = j; if (!rle_j && j && F_i_[j-1]) { for(rle_j=j+1; rle_j<256 && F_i_[rle_j]; rle_j++) ; rle_j -= j+1; *cp++ = rle_j; } } // F_i_[j] if (F_i_[j]<128) { *cp++ = F_i_[j]; } else { *cp++ = 128 | (F_i_[j]>>8); *cp++ = F_i_[j]&0xff; } RansEncSymbolInit(&syms[i][j], x, F_i_[j], TF_SHIFT); x += F_i_[j]; } } *cp++ = 0; } *cp++ = 0; //write(1, out_buf+4, cp-(out_buf+4)); tab_size = cp - out_buf; assert(tab_size < 257*257*3); RansState rans0, rans1, rans2, rans3; RansEncInit(&rans0); RansEncInit(&rans1); RansEncInit(&rans2); RansEncInit(&rans3); uint8_t* ptr = out_end; int isz4 = in_size>>2; int i0 = 1*isz4-2; int i1 = 2*isz4-2; int i2 = 3*isz4-2; int i3 = 4*isz4-2; unsigned char l0 = in[i0+1]; unsigned char l1 = in[i1+1]; unsigned char l2 = in[i2+1]; unsigned char l3 = in[i3+1]; // Deal with the remainder l3 = in[in_size-1]; for (i3 = in_size-2; i3 > 4*isz4-2; i3--) { unsigned char c3 = in[i3]; RansEncPutSymbol(&rans3, &ptr, &syms[c3][l3]); l3 = c3; } for (; i0 >= 0; i0--, i1--, i2--, i3--) { unsigned char c0, c1, c2, c3; RansEncSymbol *s3 = &syms[c3 = in[i3]][l3]; RansEncSymbol *s2 = &syms[c2 = in[i2]][l2]; RansEncSymbol *s1 = &syms[c1 = in[i1]][l1]; RansEncSymbol *s0 = &syms[c0 = in[i0]][l0]; RansEncPutSymbol(&rans3, &ptr, s3); RansEncPutSymbol(&rans2, &ptr, s2); RansEncPutSymbol(&rans1, &ptr, s1); RansEncPutSymbol(&rans0, &ptr, s0); l0 = c0; l1 = c1; l2 = c2; l3 = c3; } RansEncPutSymbol(&rans3, &ptr, &syms[0][l3]); RansEncPutSymbol(&rans2, &ptr, &syms[0][l2]); RansEncPutSymbol(&rans1, &ptr, &syms[0][l1]); RansEncPutSymbol(&rans0, &ptr, &syms[0][l0]); RansEncFlush(&rans3, &ptr); RansEncFlush(&rans2, &ptr); RansEncFlush(&rans1, &ptr); RansEncFlush(&rans0, &ptr); *out_size = (out_end - ptr) + tab_size; cp = out_buf; *cp++ = 1; // order *cp++ = ((*out_size-9)>> 0) & 0xff; *cp++ = ((*out_size-9)>> 8) & 0xff; *cp++ = ((*out_size-9)>>16) & 0xff; *cp++ = ((*out_size-9)>>24) & 0xff; *cp++ = (in_size>> 0) & 0xff; *cp++ = (in_size>> 8) & 0xff; *cp++ = (in_size>>16) & 0xff; *cp++ = (in_size>>24) & 0xff; memmove(out_buf + tab_size, ptr, out_end-ptr); return out_buf; } unsigned char *rans_uncompress_O1(unsigned char *in, unsigned int in_size, unsigned int *out_size) { /* Load in the static tables */ unsigned char *cp = in + 9; int i, j = -999, x, out_sz, in_sz, rle_i, rle_j; char *out_buf; ari_decoder D[256]; RansDecSymbol syms[256][256]; memset(D, 0, 256*sizeof(*D)); if (*in++ != 1) // Order-1 check return NULL; in_sz = ((in[0])<<0) | ((in[1])<<8) | ((in[2])<<16) | ((in[3])<<24); out_sz = ((in[4])<<0) | ((in[5])<<8) | ((in[6])<<16) | ((in[7])<<24); if (in_sz != in_size-9) return NULL; out_buf = malloc(out_sz); if (!out_buf) return NULL; //fprintf(stderr, "out_sz=%d\n", out_sz); //i = *cp++; rle_i = 0; i = *cp++; do { rle_j = x = 0; j = *cp++; do { if ((D[i].fc[j].F = *cp++) >= 128) { D[i].fc[j].F &= ~128; D[i].fc[j].F = ((D[i].fc[j].F & 127) << 8) | *cp++; } D[i].fc[j].C = x; //fprintf(stderr, "i=%d j=%d F=%d C=%d\n", i, j, D[i].fc[j].F, D[i].fc[j].C); if (!D[i].fc[j].F) D[i].fc[j].F = TOTFREQ; RansDecSymbolInit(&syms[i][j], D[i].fc[j].C, D[i].fc[j].F); /* Build reverse lookup table */ if (!D[i].R) D[i].R = (unsigned char *)malloc(TOTFREQ); memset(&D[i].R[x], j, D[i].fc[j].F); x += D[i].fc[j].F; assert(x <= TOTFREQ); if (!rle_j && j+1 == *cp) { j = *cp++; rle_j = *cp++; } else if (rle_j) { rle_j--; j++; } else { j = *cp++; } } while(j); if (!rle_i && i+1 == *cp) { i = *cp++; rle_i = *cp++; } else if (rle_i) { rle_i--; i++; } else { i = *cp++; } } while (i); // Precompute reverse lookup of frequency. RansState rans0, rans1, rans2, rans3; uint8_t *ptr = cp; RansDecInit(&rans0, &ptr); RansDecInit(&rans1, &ptr); RansDecInit(&rans2, &ptr); RansDecInit(&rans3, &ptr); int isz4 = out_sz>>2; int l0 = 0; int l1 = 0; int l2 = 0; int l3 = 0; int i4[] = {0*isz4, 1*isz4, 2*isz4, 3*isz4}; RansState R[4]; R[0] = rans0; R[1] = rans1; R[2] = rans2; R[3] = rans3; for (; i4[0] < isz4; i4[0]++, i4[1]++, i4[2]++, i4[3]++) { uint32_t m[4] = {R[0] & ((1u << TF_SHIFT)-1), R[1] & ((1u << TF_SHIFT)-1), R[2] & ((1u << TF_SHIFT)-1), R[3] & ((1u << TF_SHIFT)-1)}; uint8_t c[4] = {D[l0].R[m[0]], D[l1].R[m[1]], D[l2].R[m[2]], D[l3].R[m[3]]}; out_buf[i4[0]] = c[0]; out_buf[i4[1]] = c[1]; out_buf[i4[2]] = c[2]; out_buf[i4[3]] = c[3]; //RansDecAdvanceSymbolStep(&R[0], &syms[l0][c[0]], TF_SHIFT); //RansDecAdvanceSymbolStep(&R[1], &syms[l1][c[1]], TF_SHIFT); //RansDecAdvanceSymbolStep(&R[2], &syms[l2][c[2]], TF_SHIFT); //RansDecAdvanceSymbolStep(&R[3], &syms[l3][c[3]], TF_SHIFT); R[0] = syms[l0][c[0]].freq * (R[0]>>TF_SHIFT); R[1] = syms[l1][c[1]].freq * (R[1]>>TF_SHIFT); R[2] = syms[l2][c[2]].freq * (R[2]>>TF_SHIFT); R[3] = syms[l3][c[3]].freq * (R[3]>>TF_SHIFT); R[0] += m[0] - syms[l0][c[0]].start; R[1] += m[1] - syms[l1][c[1]].start; R[2] += m[2] - syms[l2][c[2]].start; R[3] += m[3] - syms[l3][c[3]].start; RansDecRenorm(&R[0], &ptr); RansDecRenorm(&R[1], &ptr); RansDecRenorm(&R[2], &ptr); RansDecRenorm(&R[3], &ptr); l0 = c[0]; l1 = c[1]; l2 = c[2]; l3 = c[3]; } rans0 = R[0]; rans1 = R[1]; rans2 = R[2]; rans3 = R[3]; // Remainder for (; i4[3] < out_sz; i4[3]++) { unsigned char c3 = D[l3].R[RansDecGet(&rans3, TF_SHIFT)]; out_buf[i4[3]] = c3; RansDecAdvanceSymbol(&rans3, &ptr, &syms[l3][c3], TF_SHIFT); l3 = c3; } *out_size = out_sz; for (i = 0; i < 256; i++) if (D[i].R) free(D[i].R); return (unsigned char *)out_buf; } /*----------------------------------------------------------------------------- * Simple interface to the order-0 vs order-1 encoders and decoders. */ unsigned char *rans_compress(unsigned char *in, unsigned int in_size, unsigned int *out_size, int order) { return order ? rans_compress_O1(in, in_size, out_size) : rans_compress_O0(in, in_size, out_size); } unsigned char *rans_uncompress(unsigned char *in, unsigned int in_size, unsigned int *out_size) { return in[0] ? rans_uncompress_O1(in, in_size, out_size) : rans_uncompress_O0(in, in_size, out_size); } #ifdef TEST_MAIN /*----------------------------------------------------------------------------- * Main. * * This is a simple command line tool for testing order-0 and order-1 * compression using the rANS codec. Simply compile with * * gcc -DTEST_MAIN -O3 -I. cram/rANS_static.c -o cram/rANS_static * * Usage: cram/rANS_static -o0 < file > file.o0 * cram/rANS_static -d < file.o0 > file2 * * cram/rANS_static -o1 < file > file.o1 * cram/rANS_static -d < file.o1 > file2 */ int main(int argc, char **argv) { int opt, order = 0; unsigned char in_buf[BLK_SIZE2+257*257*3]; int decode = 0; FILE *infp = stdin, *outfp = stdout; struct timeval tv1, tv2; size_t bytes = 0; extern char *optarg; extern int optind; while ((opt = getopt(argc, argv, "o:d")) != -1) { switch (opt) { case 'o': order = atoi(optarg); break; case 'd': decode = 1; break; } } order = order ? 1 : 0; // Only support O(0) and O(1) if (optind < argc) { if (!(infp = fopen(argv[optind], "rb"))) { perror(argv[optind]); return 1; } optind++; } if (optind < argc) { if (!(outfp = fopen(argv[optind], "wb"))) { perror(argv[optind]); return 1; } optind++; } gettimeofday(&tv1, NULL); if (decode) { // Only used in some test implementations of RC_GetFreq() //RC_init(); //RC_init2(); for (;;) { uint32_t in_size, out_size; unsigned char *out; if (4 != fread(&in_size, 1, 4, infp)) break; if (in_size != fread(in_buf, 1, in_size, infp)) { fprintf(stderr, "Truncated input\n"); exit(1); } out = rans_uncompress(in_buf, in_size, &out_size); if (!out) abort(); fwrite(out, 1, out_size, outfp); free(out); bytes += out_size; } } else { for (;;) { uint32_t in_size, out_size; unsigned char *out; in_size = fread(in_buf, 1, BLK_SIZE, infp); if (in_size <= 0) break; out = rans_compress(in_buf, in_size, &out_size, order); fwrite(&out_size, 1, 4, outfp); fwrite(out, 1, out_size, outfp); free(out); bytes += in_size; } } gettimeofday(&tv2, NULL); fprintf(stderr, "Took %ld microseconds, %5.1f MB/s\n", (long)(tv2.tv_sec - tv1.tv_sec)*1000000 + tv2.tv_usec - tv1.tv_usec, (double)bytes / ((long)(tv2.tv_sec - tv1.tv_sec)*1000000 + tv2.tv_usec - tv1.tv_usec)); return 0; } #endif htslib-1.2.1/cram/rANS_static.h000066400000000000000000000036551246417267700162760ustar00rootroot00000000000000/* * Copyright (c) 2014 Genome Research Ltd. * Author(s): James Bonfield * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: * * 1. Redistributions of source code must retain the above copyright notice, * this list of conditions and the following disclaimer. * * 2. Redistributions in binary form must reproduce the above * copyright notice, this list of conditions and the following * disclaimer in the documentation and/or other materials provided * with the distribution. * * 3. Neither the names Genome Research Ltd and Wellcome Trust Sanger * Institute nor the names of its contributors may be used to endorse * or promote products derived from this software without specific * prior written permission. * * THIS SOFTWARE IS PROVIDED BY GENOME RESEARCH LTD AND CONTRIBUTORS "AS * IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A * PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL GENOME RESEARCH * LTD OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ #ifndef RANS_STATIC_H #define RANS_STATIC_H unsigned char *rans_compress(unsigned char *in, unsigned int in_size, unsigned int *out_size, int order); unsigned char *rans_uncompress(unsigned char *in, unsigned int in_size, unsigned int *out_size); #endif /* RANS_STATIC_H */ htslib-1.2.1/cram/sam_header.c000066400000000000000000000666361246417267700162170ustar00rootroot00000000000000/* Copyright (c) 2013 Genome Research Ltd. Author: James Bonfield Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. 3. Neither the names Genome Research Ltd and Wellcome Trust Sanger Institute nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY GENOME RESEARCH LTD AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL GENOME RESEARCH LTD OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ #ifdef HAVE_CONFIG_H #include "io_lib_config.h" #endif #include #include #include "cram/sam_header.h" #include "cram/string_alloc.h" static void sam_hdr_error(char *msg, char *line, int len, int lno) { int j; for (j = 0; j < len && line[j] != '\n'; j++) ; fprintf(stderr, "%s at line %d: \"%.*s\"\n", msg, lno, j, line); } void sam_hdr_dump(SAM_hdr *hdr) { khint_t k; int i; printf("===DUMP===\n"); for (k = kh_begin(hdr->h); k != kh_end(hdr->h); k++) { SAM_hdr_type *t1, *t2; char c[2]; if (!kh_exist(hdr->h, k)) continue; t1 = t2 = kh_val(hdr->h, k); c[0] = kh_key(hdr->h, k)>>8; c[1] = kh_key(hdr->h, k)&0xff; printf("Type %.2s, count %d\n", c, t1->prev->order+1); do { SAM_hdr_tag *tag; printf(">>>%d ", t1->order); for (tag = t1->tag; tag; tag=tag->next) { printf("\"%.2s\":\"%.*s\"\t", tag->str, tag->len-3, tag->str+3); } putchar('\n'); t1 = t1->next; } while (t1 != t2); } /* Dump out PG chains */ printf("\n@PG chains:\n"); for (i = 0; i < hdr->npg_end; i++) { int j; printf(" %d:", i); for (j = hdr->pg_end[i]; j != -1; j = hdr->pg[j].prev_id) { printf("%s%d(%.*s)", j == hdr->pg_end[i] ? " " : "->", j, hdr->pg[j].name_len, hdr->pg[j].name); } printf("\n"); } puts("===END DUMP==="); } /* Updates the hash tables in the SAM_hdr structure. * * Returns 0 on success; * -1 on failure */ static int sam_hdr_update_hashes(SAM_hdr *sh, int type, SAM_hdr_type *h_type) { /* Add to reference hash? */ if ((type>>8) == 'S' && (type&0xff) == 'Q') { SAM_hdr_tag *tag; int nref = sh->nref; sh->ref = realloc(sh->ref, (sh->nref+1)*sizeof(*sh->ref)); if (!sh->ref) return -1; tag = h_type->tag; sh->ref[nref].name = NULL; sh->ref[nref].len = 0; sh->ref[nref].ty = h_type; sh->ref[nref].tag = tag; while (tag) { if (tag->str[0] == 'S' && tag->str[1] == 'N') { if (!(sh->ref[nref].name = malloc(tag->len))) return -1; strncpy(sh->ref[nref].name, tag->str+3, tag->len-3); sh->ref[nref].name[tag->len-3] = 0; } else if (tag->str[0] == 'L' && tag->str[1] == 'N') { sh->ref[nref].len = atoi(tag->str+3); } tag = tag->next; } if (sh->ref[nref].name) { khint_t k; int r; k = kh_put(m_s2i, sh->ref_hash, sh->ref[nref].name, &r); if (-1 == r) return -1; kh_val(sh->ref_hash, k) = nref; } sh->nref++; } /* Add to read-group hash? */ if ((type>>8) == 'R' && (type&0xff) == 'G') { SAM_hdr_tag *tag; int nrg = sh->nrg; sh->rg = realloc(sh->rg, (sh->nrg+1)*sizeof(*sh->rg)); if (!sh->rg) return -1; tag = h_type->tag; sh->rg[nrg].name = NULL; sh->rg[nrg].name_len = 0; sh->rg[nrg].ty = h_type; sh->rg[nrg].tag = tag; sh->rg[nrg].id = nrg; while (tag) { if (tag->str[0] == 'I' && tag->str[1] == 'D') { if (!(sh->rg[nrg].name = malloc(tag->len))) return -1; strncpy(sh->rg[nrg].name, tag->str+3, tag->len-3); sh->rg[nrg].name[tag->len-3] = 0; sh->rg[nrg].name_len = strlen(sh->rg[nrg].name); } tag = tag->next; } if (sh->rg[nrg].name) { khint_t k; int r; k = kh_put(m_s2i, sh->rg_hash, sh->rg[nrg].name, &r); if (-1 == r) return -1; kh_val(sh->rg_hash, k) = nrg; } sh->nrg++; } /* Add to program hash? */ if ((type>>8) == 'P' && (type&0xff) == 'G') { SAM_hdr_tag *tag; int npg = sh->npg; sh->pg = realloc(sh->pg, (sh->npg+1)*sizeof(*sh->pg)); if (!sh->pg) return -1; tag = h_type->tag; sh->pg[npg].name = NULL; sh->pg[npg].name_len = 0; sh->pg[npg].ty = h_type; sh->pg[npg].tag = tag; sh->pg[npg].id = npg; sh->pg[npg].prev_id = -1; while (tag) { if (tag->str[0] == 'I' && tag->str[1] == 'D') { if (!(sh->pg[npg].name = malloc(tag->len))) return -1; strncpy(sh->pg[npg].name, tag->str+3, tag->len-3); sh->pg[npg].name[tag->len-3] = 0; sh->pg[npg].name_len = strlen(sh->pg[npg].name); } else if (tag->str[0] == 'P' && tag->str[1] == 'P') { // Resolve later if needed khint_t k; char tmp = tag->str[tag->len]; tag->str[tag->len] = 0; k = kh_get(m_s2i, sh->pg_hash, tag->str+3); tag->str[tag->len] = tmp; if (k != kh_end(sh->pg_hash)) { int p_id = kh_val(sh->pg_hash, k); sh->pg[npg].prev_id = sh->pg[p_id].id; /* Unmark previous entry as a PG termination */ if (sh->npg_end > 0 && sh->pg_end[sh->npg_end-1] == p_id) { sh->npg_end--; } else { int i; for (i = 0; i < sh->npg_end; i++) { if (sh->pg_end[i] == p_id) { memmove(&sh->pg_end[i], &sh->pg_end[i+1], (sh->npg_end-i-1)*sizeof(*sh->pg_end)); sh->npg_end--; } } } } else { sh->pg[npg].prev_id = -1; } } tag = tag->next; } if (sh->pg[npg].name) { khint_t k; int r; k = kh_put(m_s2i, sh->pg_hash, sh->pg[npg].name, &r); if (-1 == r) return -1; kh_val(sh->pg_hash, k) = npg; } /* Add to npg_end[] array. Remove later if we find a PP line */ if (sh->npg_end >= sh->npg_end_alloc) { sh->npg_end_alloc = sh->npg_end_alloc ? sh->npg_end_alloc*2 : 4; sh->pg_end = realloc(sh->pg_end, sh->npg_end_alloc * sizeof(int)); if (!sh->pg_end) return -1; } sh->pg_end[sh->npg_end++] = npg; sh->npg++; } return 0; } /* * Appends a formatted line to an existing SAM header. * Line is a full SAM header record, eg "@SQ\tSN:foo\tLN:100", with * optional new-line. If it contains more than 1 line then multiple lines * will be added in order. * * Len is the length of the text data, or 0 if unknown (in which case * it should be null terminated). * * Returns 0 on success * -1 on failure */ int sam_hdr_add_lines(SAM_hdr *sh, const char *lines, int len) { int i, lno = 1, text_offset; char *hdr; if (!len) len = strlen(lines); text_offset = ks_len(&sh->text); if (EOF == kputsn(lines, len, &sh->text)) return -1; hdr = ks_str(&sh->text) + text_offset; for (i = 0; i < len; i++) { khint32_t type; khint_t k; int l_start = i, new; SAM_hdr_type *h_type; SAM_hdr_tag *h_tag, *last; if (hdr[i] != '@') { int j; for (j = i; j < len && hdr[j] != '\n'; j++) ; sam_hdr_error("Header line does not start with '@'", &hdr[l_start], len - l_start, lno); return -1; } type = (hdr[i+1]<<8) | hdr[i+2]; if (hdr[i+1] < 'A' || hdr[i+1] > 'z' || hdr[i+2] < 'A' || hdr[i+2] > 'z') { sam_hdr_error("Header line does not have a two character key", &hdr[l_start], len - l_start, lno); return -1; } i += 3; if (hdr[i] == '\n') continue; // Add the header line type if (!(h_type = pool_alloc(sh->type_pool))) return -1; if (-1 == (k = kh_put(sam_hdr, sh->h, type, &new))) return -1; // Form the ring, either with self or other lines of this type if (!new) { SAM_hdr_type *t = kh_val(sh->h, k), *p; p = t->prev; assert(p->next = t); p->next = h_type; h_type->prev = p; t->prev = h_type; h_type->next = t; h_type->order = p->order+1; } else { kh_val(sh->h, k) = h_type; h_type->prev = h_type->next = h_type; h_type->order = 0; } // Parse the tags on this line last = NULL; if ((type>>8) == 'C' && (type&0xff) == 'O') { int j; if (hdr[i] != '\t') { sam_hdr_error("Missing tab", &hdr[l_start], len - l_start, lno); return -1; } for (j = ++i; j < len && hdr[j] != '\n'; j++) ; if (!(h_type->tag = h_tag = pool_alloc(sh->tag_pool))) return -1; h_tag->str = string_ndup(sh->str_pool, &hdr[i], j-i); h_tag->len = j-i; h_tag->next = NULL; if (!h_tag->str) return -1; i = j; } else { do { int j; if (hdr[i] != '\t') { sam_hdr_error("Missing tab", &hdr[l_start], len - l_start, lno); return -1; } for (j = ++i; j < len && hdr[j] != '\n' && hdr[j] != '\t'; j++) ; if (!(h_tag = pool_alloc(sh->tag_pool))) return -1; h_tag->str = string_ndup(sh->str_pool, &hdr[i], j-i); h_tag->len = j-i; h_tag->next = NULL; if (!h_tag->str) return -1; if (h_tag->len < 3 || h_tag->str[2] != ':') { sam_hdr_error("Malformed key:value pair", &hdr[l_start], len - l_start, lno); return -1; } if (last) last->next = h_tag; else h_type->tag = h_tag; last = h_tag; i = j; } while (i < len && hdr[i] != '\n'); } /* Update RG/SQ hashes */ if (-1 == sam_hdr_update_hashes(sh, type, h_type)) return -1; } return 0; } /* * Adds a single line to a SAM header. * Specify type and one or more key,value pairs, ending with the NULL key. * Eg. sam_hdr_add(h, "SQ", "ID", "foo", "LN", "100", NULL). * * Returns index for specific entry on success (eg 2nd SQ, 4th RG) * -1 on failure */ int sam_hdr_add(SAM_hdr *sh, const char *type, ...) { va_list args; va_start(args, type); return sam_hdr_vadd(sh, type, args, NULL); } int sam_hdr_vadd(SAM_hdr *sh, const char *type, va_list ap, ...) { va_list args; SAM_hdr_type *h_type; SAM_hdr_tag *h_tag, *last; int new; khint32_t type_i = (type[0]<<8) | type[1], k; #if defined(HAVE_VA_COPY) va_list ap_local; #endif if (EOF == kputc_('@', &sh->text)) return -1; if (EOF == kputsn(type, 2, &sh->text)) return -1; if (!(h_type = pool_alloc(sh->type_pool))) return -1; if (-1 == (k = kh_put(sam_hdr, sh->h, type_i, &new))) return -1; kh_val(sh->h, k) = h_type; // Form the ring, either with self or other lines of this type if (!new) { SAM_hdr_type *t = kh_val(sh->h, k), *p; p = t->prev; assert(p->next = t); p->next = h_type; h_type->prev = p; t->prev = h_type; h_type->next = t; h_type->order = p->order + 1; } else { h_type->prev = h_type->next = h_type; h_type->order = 0; } last = NULL; // Any ... varargs va_start(args, ap); for (;;) { char *k, *v; int idx; if (!(k = (char *)va_arg(args, char *))) break; v = va_arg(args, char *); if (EOF == kputc_('\t', &sh->text)) return -1; if (!(h_tag = pool_alloc(sh->tag_pool))) return -1; idx = ks_len(&sh->text); if (EOF == kputs(k, &sh->text)) return -1; if (EOF == kputc_(':', &sh->text)) return -1; if (EOF == kputs(v, &sh->text)) return -1; h_tag->len = ks_len(&sh->text) - idx; h_tag->str = string_ndup(sh->str_pool, ks_str(&sh->text) + idx, h_tag->len); h_tag->next = NULL; if (!h_tag->str) return -1; if (last) last->next = h_tag; else h_type->tag = h_tag; last = h_tag; } va_end(args); #if defined(HAVE_VA_COPY) va_copy(ap_local, ap); # define ap ap_local #endif // Plus the specified va_list params for (;;) { char *k, *v; int idx; if (!(k = (char *)va_arg(ap, char *))) break; v = va_arg(ap, char *); if (EOF == kputc_('\t', &sh->text)) return -1; if (!(h_tag = pool_alloc(sh->tag_pool))) return -1; idx = ks_len(&sh->text); if (EOF == kputs(k, &sh->text)) return -1; if (EOF == kputc_(':', &sh->text)) return -1; if (EOF == kputs(v, &sh->text)) return -1; h_tag->len = ks_len(&sh->text) - idx; h_tag->str = string_ndup(sh->str_pool, ks_str(&sh->text) + idx, h_tag->len); h_tag->next = NULL; if (!h_tag->str) return -1; if (last) last->next = h_tag; else h_type->tag = h_tag; last = h_tag; } va_end(ap); if (EOF == kputc('\n', &sh->text)) return -1; int itype = (type[0]<<8) | type[1]; if (-1 == sam_hdr_update_hashes(sh, itype, h_type)) return -1; return h_type->order; } /* * Returns the first header item matching 'type'. If ID is non-NULL it checks * for the tag ID: and compares against the specified ID. * * Returns NULL if no type/ID is found */ SAM_hdr_type *sam_hdr_find(SAM_hdr *hdr, char *type, char *ID_key, char *ID_value) { SAM_hdr_type *t1, *t2; int itype = (type[0]<<8)|(type[1]); khint_t k; /* Special case for types we have prebuilt hashes on */ if (ID_key) { if (type[0] == 'S' && type[1] == 'Q' && ID_key[0] == 'S' && ID_key[1] == 'N') { k = kh_get(m_s2i, hdr->ref_hash, ID_value); return k != kh_end(hdr->ref_hash) ? hdr->ref[kh_val(hdr->ref_hash, k)].ty : NULL; } if (type[0] == 'R' && type[1] == 'G' && ID_key[0] == 'I' && ID_key[1] == 'D') { k = kh_get(m_s2i, hdr->rg_hash, ID_value); return k != kh_end(hdr->rg_hash) ? hdr->rg[kh_val(hdr->rg_hash, k)].ty : NULL; } if (type[0] == 'P' && type[1] == 'G' && ID_key[0] == 'I' && ID_key[1] == 'D') { k = kh_get(m_s2i, hdr->pg_hash, ID_value); return k != kh_end(hdr->pg_hash) ? hdr->pg[kh_val(hdr->pg_hash, k)].ty : NULL; } } k = kh_get(sam_hdr, hdr->h, itype); if (k == kh_end(hdr->h)) return NULL; if (!ID_key) return kh_val(hdr->h, k); t1 = t2 = kh_val(hdr->h, k); do { SAM_hdr_tag *tag; for (tag = t1->tag; tag; tag = tag->next) { if (tag->str[0] == ID_key[0] && tag->str[1] == ID_key[1]) { char *cp1 = tag->str+3; char *cp2 = ID_value; while (*cp1 && *cp1 == *cp2) cp1++, cp2++; if (*cp2 || *cp1) continue; return t1; } } t1 = t1->next; } while (t1 != t2); return NULL; } /* * As per SAM_hdr_type, but returns a complete line of formatted text * for a specific head type/ID combination. If ID is NULL then it returns * the first line of the specified type. * * The returned string is malloced and should be freed by the calling * function with free(). * * Returns NULL if no type/ID is found. */ char *sam_hdr_find_line(SAM_hdr *hdr, char *type, char *ID_key, char *ID_value) { SAM_hdr_type *ty = sam_hdr_find(hdr, type, ID_key, ID_value); kstring_t ks = KS_INITIALIZER; SAM_hdr_tag *tag; int r = 0; if (!ty) return NULL; // Paste together the line from the hashed copy r |= (kputc_('@', &ks) == EOF); r |= (kputs(type, &ks) == EOF); for (tag = ty->tag; tag; tag = tag->next) { r |= (kputc_('\t', &ks) == EOF); r |= (kputsn(tag->str, tag->len, &ks) == EOF); } if (r) { KS_FREE(&ks); return NULL; } return ks_str(&ks); } /* * Looks for a specific key in a single sam header line. * If prev is non-NULL it also fills this out with the previous tag, to * permit use in key removal. *prev is set to NULL when the tag is the first * key in the list. When a tag isn't found, prev (if non NULL) will be the last * tag in the existing list. * * Returns the tag pointer on success * NULL on failure */ SAM_hdr_tag *sam_hdr_find_key(SAM_hdr *sh, SAM_hdr_type *type, char *key, SAM_hdr_tag **prev) { SAM_hdr_tag *tag, *p = NULL; for (tag = type->tag; tag; p = tag, tag = tag->next) { if (tag->str[0] == key[0] && tag->str[1] == key[1]) { if (prev) *prev = p; return tag; } } if (prev) *prev = p; return NULL; } /* * Adds or updates tag key,value pairs in a header line. * Eg for adding M5 tags to @SQ lines or updating sort order for the * @HD line (although use the sam_hdr_sort_order() function for * HD manipulation, which is a wrapper around this funuction). * * Specify multiple key,value pairs ending in NULL. * * Returns 0 on success * -1 on failure */ int sam_hdr_update(SAM_hdr *hdr, SAM_hdr_type *type, ...) { va_list ap; va_start(ap, type); for (;;) { char *k, *v; int idx; SAM_hdr_tag *tag, *prev; if (!(k = (char *)va_arg(ap, char *))) break; v = va_arg(ap, char *); tag = sam_hdr_find_key(hdr, type, k, &prev); if (!tag) { if (!(tag = pool_alloc(hdr->tag_pool))) return -1; if (prev) prev->next = tag; else type->tag = tag; tag->next = NULL; } idx = ks_len(&hdr->text); if (ksprintf(&hdr->text, "%2.2s:%s", k, v) < 0) return -1; tag->len = ks_len(&hdr->text) - idx; tag->str = string_ndup(hdr->str_pool, ks_str(&hdr->text) + idx, tag->len); if (!tag->str) return -1; } va_end(ap); return 0; } #define K(a) (((a)[0]<<8)|((a)[1])) /* * Reconstructs the kstring from the header hash table. * Returns 0 on success * -1 on failure */ int sam_hdr_rebuild(SAM_hdr *hdr) { /* Order: HD then others */ kstring_t ks = KS_INITIALIZER; khint_t k; k = kh_get(sam_hdr, hdr->h, K("HD")); if (k != kh_end(hdr->h)) { SAM_hdr_type *ty = kh_val(hdr->h, k); SAM_hdr_tag *tag; if (EOF == kputs("@HD", &ks)) return -1; for (tag = ty->tag; tag; tag = tag->next) { if (EOF == kputc_('\t', &ks)) return -1; if (EOF == kputsn_(tag->str, tag->len, &ks)) return -1; } if (EOF == kputc('\n', &ks)) return -1; } for (k = kh_begin(hdr->h); k != kh_end(hdr->h); k++) { SAM_hdr_type *t1, *t2; if (!kh_exist(hdr->h, k)) continue; if (kh_key(hdr->h, k) == K("HD")) continue; t1 = t2 = kh_val(hdr->h, k); do { SAM_hdr_tag *tag; char c[2]; if (EOF == kputc_('@', &ks)) return -1; c[0] = kh_key(hdr->h, k)>>8; c[1] = kh_key(hdr->h, k)&0xff; if (EOF == kputsn_(c, 2, &ks)) return -1; for (tag = t1->tag; tag; tag=tag->next) { if (EOF == kputc_('\t', &ks)) return -1; if (EOF == kputsn_(tag->str, tag->len, &ks)) return -1; } if (EOF == kputc('\n', &ks)) return -1; t1 = t1->next; } while (t1 != t2); } if (ks_str(&hdr->text)) KS_FREE(&hdr->text); hdr->text = ks; return 0; } /* * Creates an empty SAM header, ready to be populated. * * Returns a SAM_hdr struct on success (free with sam_hdr_free()) * NULL on failure */ SAM_hdr *sam_hdr_new() { SAM_hdr *sh = calloc(1, sizeof(*sh)); if (!sh) return NULL; sh->h = kh_init(sam_hdr); if (!sh->h) goto err; sh->ID_cnt = 1; sh->ref_count = 1; sh->nref = 0; sh->ref = NULL; if (!(sh->ref_hash = kh_init(m_s2i))) goto err; sh->nrg = 0; sh->rg = NULL; if (!(sh->rg_hash = kh_init(m_s2i))) goto err; sh->npg = 0; sh->pg = NULL; sh->npg_end = sh->npg_end_alloc = 0; sh->pg_end = NULL; if (!(sh->pg_hash = kh_init(m_s2i))) goto err; KS_INIT(&sh->text); if (!(sh->tag_pool = pool_create(sizeof(SAM_hdr_tag)))) goto err; if (!(sh->type_pool = pool_create(sizeof(SAM_hdr_type)))) goto err; if (!(sh->str_pool = string_pool_create(8192))) goto err; return sh; err: if (sh->h) kh_destroy(sam_hdr, sh->h); if (sh->tag_pool) pool_destroy(sh->tag_pool); if (sh->type_pool) pool_destroy(sh->type_pool); if (sh->str_pool) string_pool_destroy(sh->str_pool); free(sh); return NULL; } /* * Tokenises a SAM header into a hash table. * Also extracts a few bits on specific data types, such as @RG lines. * * Returns a SAM_hdr struct on success (free with sam_hdr_free()) * NULL on failure */ SAM_hdr *sam_hdr_parse_(const char *hdr, int len) { /* Make an empty SAM_hdr */ SAM_hdr *sh; sh = sam_hdr_new(); if (NULL == sh) return NULL; if (NULL == hdr) return sh; // empty header is permitted /* Parse the header, line by line */ if (-1 == sam_hdr_add_lines(sh, hdr, len)) { sam_hdr_free(sh); return NULL; } //sam_hdr_dump(sh); //sam_hdr_add(sh, "RG", "ID", "foo", "SM", "bar", NULL); //sam_hdr_rebuild(sh); //printf(">>%s<<", ks_str(sh->text)); //parse_references(sh); //parse_read_groups(sh); sam_hdr_link_pg(sh); //sam_hdr_dump(sh); return sh; } /* * Produces a duplicate copy of hdr and returns it. * Returns NULL on failure */ SAM_hdr *sam_hdr_dup(SAM_hdr *hdr) { if (-1 == sam_hdr_rebuild(hdr)) return NULL; return sam_hdr_parse_(sam_hdr_str(hdr), sam_hdr_length(hdr)); } /*! Increments a reference count on hdr. * * This permits multiple files to share the same header, all calling * sam_hdr_free when done, without causing errors for other open files. */ void sam_hdr_incr_ref(SAM_hdr *hdr) { hdr->ref_count++; } /*! Increments a reference count on hdr. * * This permits multiple files to share the same header, all calling * sam_hdr_free when done, without causing errors for other open files. * * If the reference count hits zero then the header is automatically * freed. This makes it a synonym for sam_hdr_free(). */ void sam_hdr_decr_ref(SAM_hdr *hdr) { sam_hdr_free(hdr); } /*! Deallocates all storage used by a SAM_hdr struct. * * This also decrements the header reference count. If after decrementing * it is still non-zero then the header is assumed to be in use by another * caller and the free is not done. * * This is a synonym for sam_hdr_dec_ref(). */ void sam_hdr_free(SAM_hdr *hdr) { if (!hdr) return; if (--hdr->ref_count > 0) return; if (ks_str(&hdr->text)) KS_FREE(&hdr->text); if (hdr->h) kh_destroy(sam_hdr, hdr->h); if (hdr->ref_hash) kh_destroy(m_s2i, hdr->ref_hash); if (hdr->ref) { int i; for (i = 0; i < hdr->nref; i++) if (hdr->ref[i].name) free(hdr->ref[i].name); free(hdr->ref); } if (hdr->rg_hash) kh_destroy(m_s2i, hdr->rg_hash); if (hdr->rg) { int i; for (i = 0; i < hdr->nrg; i++) if (hdr->rg[i].name) free(hdr->rg[i].name); free(hdr->rg); } if (hdr->pg_hash) kh_destroy(m_s2i, hdr->pg_hash); if (hdr->pg) { int i; for (i = 0; i < hdr->npg; i++) if (hdr->pg[i].name) free(hdr->pg[i].name); free(hdr->pg); } if (hdr->pg_end) free(hdr->pg_end); if (hdr->type_pool) pool_destroy(hdr->type_pool); if (hdr->tag_pool) pool_destroy(hdr->tag_pool); if (hdr->str_pool) string_pool_destroy(hdr->str_pool); free(hdr); } int sam_hdr_length(SAM_hdr *hdr) { return ks_len(&hdr->text); } char *sam_hdr_str(SAM_hdr *hdr) { return ks_str(&hdr->text); } /* * Looks up a reference sequence by name and returns the numerical ID. * Returns -1 if unknown reference. */ int sam_hdr_name2ref(SAM_hdr *hdr, const char *ref) { khint_t k = kh_get(m_s2i, hdr->ref_hash, ref); return k == kh_end(hdr->ref_hash) ? -1 : kh_val(hdr->ref_hash, k); } /* * Looks up a read-group by name and returns a pointer to the start of the * associated tag list. * * Returns NULL on failure */ SAM_RG *sam_hdr_find_rg(SAM_hdr *hdr, const char *rg) { khint_t k = kh_get(m_s2i, hdr->rg_hash, rg); return k == kh_end(hdr->rg_hash) ? NULL : &hdr->rg[kh_val(hdr->rg_hash, k)]; } /* * Fixes any PP links in @PG headers. * If the entries are in order then this doesn't need doing, but incase * our header is out of order this goes through the sh->pg[] array * setting the prev_id field. * * Note we can have multiple complete chains. This code should identify the * tails of these chains as these are the entries we have to link to in * subsequent PP records. * * Returns 0 on sucess * -1 on failure (indicating broken PG/PP records) */ int sam_hdr_link_pg(SAM_hdr *hdr) { int i, j, ret = 0; hdr->npg_end_alloc = hdr->npg; hdr->pg_end = realloc(hdr->pg_end, hdr->npg * sizeof(*hdr->pg_end)); if (!hdr->pg_end) return -1; for (i = 0; i < hdr->npg; i++) hdr->pg_end[i] = i; for (i = 0; i < hdr->npg; i++) { khint_t k; SAM_hdr_tag *tag; char tmp; for (tag = hdr->pg[i].tag; tag; tag = tag->next) { if (tag->str[0] == 'P' && tag->str[1] == 'P') break; } if (!tag) { /* Chain start points */ continue; } tmp = tag->str[tag->len]; tag->str[tag->len] = 0; k = kh_get(m_s2i, hdr->pg_hash, tag->str+3); tag->str[tag->len] = tmp; if (k == kh_end(hdr->pg_hash)) { ret = -1; continue; } hdr->pg[i].prev_id = hdr->pg[kh_val(hdr->pg_hash, k)].id; hdr->pg_end[kh_val(hdr->pg_hash, k)] = -1; } for (i = j = 0; i < hdr->npg; i++) { if (hdr->pg_end[i] != -1) hdr->pg_end[j++] = hdr->pg_end[i]; } hdr->npg_end = j; return ret; } /* * Returns a unique ID from a base name. * * The value returned is valid until the next call to * this function. */ const char *sam_hdr_PG_ID(SAM_hdr *sh, const char *name) { khint_t k = kh_get(m_s2i, sh->pg_hash, name); if (k == kh_end(sh->pg_hash)) return name; do { sprintf(sh->ID_buf, "%.1000s.%d", name, sh->ID_cnt++); k = kh_get(m_s2i, sh->pg_hash, sh->ID_buf); } while (k == kh_end(sh->pg_hash)); return sh->ID_buf; } /* * Add an @PG line. * * If we wish complete control over this use sam_hdr_add() directly. This * function uses that, but attempts to do a lot of tedious house work for * you too. * * - It will generate a suitable ID if the supplied one clashes. * - It will generate multiple @PG records if we have multiple PG chains. * * Call it as per sam_hdr_add() with a series of key,value pairs ending * in NULL. * * Returns 0 on success * -1 on failure */ int sam_hdr_add_PG(SAM_hdr *sh, const char *name, ...) { va_list args; va_start(args, name); if (sh->npg_end) { /* Copy ends array to avoid us looping while modifying it */ int *end = malloc(sh->npg_end * sizeof(int)); int i, nends = sh->npg_end; if (!end) return -1; memcpy(end, sh->pg_end, nends * sizeof(*end)); for (i = 0; i < nends; i++) { if (-1 == sam_hdr_vadd(sh, "PG", args, "ID", sam_hdr_PG_ID(sh, name), "PN", name, "PP", sh->pg[end[i]].name, NULL)) { free(end); return -1; } } free(end); } else { if (-1 == sam_hdr_vadd(sh, "PG", args, "ID", sam_hdr_PG_ID(sh, name), "PN", name, NULL)) return -1; } //sam_hdr_dump(sh); return 0; } /* * A function to help with construction of CL tags in @PG records. * Takes an argc, argv pair and returns a single space-separated string. * This string should be deallocated by the calling function. * * Returns malloced char * on success * NULL on failure */ char *stringify_argv(int argc, char *argv[]) { char *str, *cp; size_t nbytes = 1; int i, j; /* Allocate */ for (i = 0; i < argc; i++) { nbytes += strlen(argv[i]) + 1; } if (!(str = malloc(nbytes))) return NULL; /* Copy */ cp = str; for (i = 0; i < argc; i++) { j = 0; while (argv[i][j]) { if (argv[i][j] == '\t') *cp++ = ' '; else *cp++ = argv[i][j]; j++; } *cp++ = ' '; } *cp++ = 0; return str; } htslib-1.2.1/cram/sam_header.h000066400000000000000000000322301246417267700162030ustar00rootroot00000000000000/* Copyright (c) 2013-2014 Genome Research Ltd. Author: James Bonfield Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. 3. Neither the names Genome Research Ltd and Wellcome Trust Sanger Institute nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY GENOME RESEARCH LTD AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL GENOME RESEARCH LTD OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ /*! \file * SAM header parsing. * * These functions can be shared between SAM, BAM and CRAM file * formats as all three internally use the same string encoding for * header fields. */ /* * TODO. * * - Sort order (parse to struct, enum type, updating funcs) * - Removal of lines. * - Updating of lines */ #ifndef _SAM_HDR_H_ #define _SAM_HDR_H_ #ifdef __cplusplus extern "C" { #endif #ifdef HAVE_CONFIG_H #include "io_lib_config.h" #endif #include #include "cram/string_alloc.h" #include "cram/pooled_alloc.h" #include "htslib/khash.h" #include "htslib/kstring.h" // For structure assignment. Eg kstring_t s = KS_INITIALIZER; #define KS_INITIALIZER {0,0,0} // For initialisation elsewhere. Eg KS_INIT(x->str); #define KS_INIT(ks) ((ks)->l = 0, (ks)->m = 0, (ks)->s = NULL) // Frees the string subfield only. Assumes 's' itself is static. #define KS_FREE(ks) do { if ((ks)->s) free((ks)->s); } while(0) /* * Proposed new SAM header parsing 1 @SQ ID:foo LN:100 2 @SQ ID:bar LN:200 3 @SQ ID:ram LN:300 UR:xyz 4 @RG ID:r ... 5 @RG ID:s ... Hash table for 2-char @keys without dup entries. If dup lines, we form a circular linked list. Ie hash keys = {RG, SQ}. HASH("SQ")--\ | (3) <-> 1 <-> 2 <-> 3 <-> (1) HASH("RG")--\ | (5) <-> 4 <-> 5 <-> (4) Items stored in the hash values also form their own linked lists: Ie SQ->ID(foo)->LN(100) SQ->ID(bar)->LN(200) SQ->ID(ram)->LN(300)->UR(xyz) RG->ID(r) */ /*! A single key:value pair on a header line * * These form a linked list and hold strings. The strings are * allocated from a string_alloc_t pool referenced in the master * SAM_hdr structure. Do not attempt to free, malloc or manipulate * these strings directly. */ typedef struct SAM_hdr_tag_s { struct SAM_hdr_tag_s *next; char *str; int len; } SAM_hdr_tag; /*! The parsed version of the SAM header string. * * Each header type (SQ, RG, HD, etc) points to its own SAM_hdr_type * struct via the main hash table h in the SAM_hdr struct. * * These in turn consist of circular bi-directional linked lists (ie * rings) to hold the multiple instances of the same header type * code. For example if we have 5 \@SQ lines the primary hash table * will key on \@SQ pointing to the first SAM_hdr_type and that in turn * will be part of a ring of 5 elements. * * For each SAM_hdr_type structure we also point to a SAM_hdr_tag * structure which holds the tokenised attributes; the tab separated * key:value pairs per line. */ typedef struct SAM_hdr_item_s { struct SAM_hdr_item_s *next; // cirular struct SAM_hdr_item_s *prev; SAM_hdr_tag *tag; // first tag int order; // 0 upwards } SAM_hdr_type; /*! Parsed \@SQ lines */ typedef struct { char *name; uint32_t len; SAM_hdr_type *ty; SAM_hdr_tag *tag; } SAM_SQ; /*! Parsed \@RG lines */ typedef struct { char *name; SAM_hdr_type *ty; SAM_hdr_tag *tag; int name_len; int id; // numerical ID } SAM_RG; /*! Parsed \@PG lines */ typedef struct { char *name; SAM_hdr_type *ty; SAM_hdr_tag *tag; int name_len; int id; // numerical ID int prev_id; // -1 if none } SAM_PG; KHASH_MAP_INIT_INT(sam_hdr, SAM_hdr_type*) KHASH_MAP_INIT_STR(m_s2i, int) /*! Primary structure for header manipulation * * The initial header text is held in the text kstring_t, but is also * parsed out into SQ, RG and PG arrays. These have a hash table * associated with each to allow lookup by ID or SN fields instead of * their numeric array indices. Additionally PG has an array to hold * the linked list start points (the last in a PP chain). * * Use the appropriate sam_hdr_* functions to edit the header, and * call sam_hdr_rebuild() any time the textual form needs to be * updated again. */ typedef struct { kstring_t text; //!< concatenated text, indexed by SAM_hdr_tag khash_t(sam_hdr) *h; string_alloc_t *str_pool; //!< Pool of SAM_hdr_tag->str strings pool_alloc_t *type_pool;//!< Pool of SAM_hdr_type structs pool_alloc_t *tag_pool; //!< Pool of SAM_hdr_tag structs // @SQ lines / references int nref; //!< Number of \@SQ lines SAM_SQ *ref; //!< Array of parsed \@SQ lines khash_t(m_s2i) *ref_hash; //!< Maps SQ SN field to sq[] index // @RG lines / read-groups int nrg; //!< Number of \@RG lines SAM_RG *rg; //!< Array of parsed \@RG lines khash_t(m_s2i) *rg_hash; //!< Maps RG ID field to rg[] index // @PG lines / programs int npg; //!< Number of \@PG lines int npg_end; //!< Number of terminating \@PG lines int npg_end_alloc; //!< Size of pg_end field SAM_PG *pg; //!< Array of parsed \@PG lines khash_t(m_s2i) *pg_hash; //!< Maps PG ID field to pg[] index int *pg_end; //!< \@PG chain termination IDs // @cond internal char ID_buf[1024]; // temporary buffer int ID_cnt; int ref_count; // number of uses of this SAM_hdr // @endcond } SAM_hdr; /*! Creates an empty SAM header, ready to be populated. * * @return * Returns a SAM_hdr struct on success (free with sam_hdr_free()) * NULL on failure */ SAM_hdr *sam_hdr_new(void); /*! Tokenises a SAM header into a hash table. * * Also extracts a few bits on specific data types, such as @RG lines. * * @return * Returns a SAM_hdr struct on success (free with sam_hdr_free()); * NULL on failure */ SAM_hdr *sam_hdr_parse_(const char *hdr, int len); /*! Produces a duplicate copy of hdr and returns it. * @return * Returns NULL on failure */ SAM_hdr *sam_hdr_dup(SAM_hdr *hdr); /*! Increments a reference count on hdr. * * This permits multiple files to share the same header, all calling * sam_hdr_free when done, without causing errors for other open files. */ void sam_hdr_incr_ref(SAM_hdr *hdr); /*! Increments a reference count on hdr. * * This permits multiple files to share the same header, all calling * sam_hdr_free when done, without causing errors for other open files. * * If the reference count hits zero then the header is automatically * freed. This makes it a synonym for sam_hdr_free(). */ void sam_hdr_decr_ref(SAM_hdr *hdr); /*! Deallocates all storage used by a SAM_hdr struct. * * This also decrements the header reference count. If after decrementing * it is still non-zero then the header is assumed to be in use by another * caller and the free is not done. * * This is a synonym for sam_hdr_dec_ref(). */ void sam_hdr_free(SAM_hdr *hdr); /*! Returns the current length of the SAM_hdr in text form. * * Call sam_hdr_rebuild() first if editing has taken place. */ int sam_hdr_length(SAM_hdr *hdr); /*! Returns the string form of the SAM_hdr. * * Call sam_hdr_rebuild() first if editing has taken place. */ char *sam_hdr_str(SAM_hdr *hdr); /*! Appends a formatted line to an existing SAM header. * * Line is a full SAM header record, eg "@SQ\tSN:foo\tLN:100", with * optional new-line. If it contains more than 1 line then multiple lines * will be added in order. * * Len is the length of the text data, or 0 if unknown (in which case * it should be null terminated). * * @return * Returns 0 on success; * -1 on failure */ int sam_hdr_add_lines(SAM_hdr *sh, const char *lines, int len); /*! Adds a single line to a SAM header. * * Specify type and one or more key,value pairs, ending with the NULL key. * Eg. sam_hdr_add(h, "SQ", "ID", "foo", "LN", "100", NULL). * * @return * Returns 0 on success; * -1 on failure */ int sam_hdr_add(SAM_hdr *sh, const char *type, ...); /*! Adds a single line to a SAM header. * * This is much like sam_hdr_add() but with the additional va_list * argument. This is followed by specifying type and one or more * key,value pairs, ending with the NULL key. * * Eg. sam_hdr_vadd(h, "SQ", args, "ID", "foo", "LN", "100", NULL). * * The purpose of the additional va_list parameter is to permit other * varargs functions to call this while including their own additional * parameters; an example is in sam_hdr_add_PG(). * * @return * Returns 0 on success; * -1 on failure */ int sam_hdr_vadd(SAM_hdr *sh, const char *type, va_list ap, ...); /*! * @return * Returns the first header item matching 'type'. If ID is non-NULL it checks * for the tag ID: and compares against the specified ID. * * Returns NULL if no type/ID is found */ SAM_hdr_type *sam_hdr_find(SAM_hdr *hdr, char *type, char *ID_key, char *ID_value); /*! * * As per SAM_hdr_type, but returns a complete line of formatted text * for a specific head type/ID combination. If ID is NULL then it returns * the first line of the specified type. * * The returned string is malloced and should be freed by the calling * function with free(). * * @return * Returns NULL if no type/ID is found. */ char *sam_hdr_find_line(SAM_hdr *hdr, char *type, char *ID_key, char *ID_value); /*! Looks for a specific key in a single sam header line. * * If prev is non-NULL it also fills this out with the previous tag, to * permit use in key removal. *prev is set to NULL when the tag is the first * key in the list. When a tag isn't found, prev (if non NULL) will be the last * tag in the existing list. * * @return * Returns the tag pointer on success; * NULL on failure */ SAM_hdr_tag *sam_hdr_find_key(SAM_hdr *sh, SAM_hdr_type *type, char *key, SAM_hdr_tag **prev); /*! Adds or updates tag key,value pairs in a header line. * * Eg for adding M5 tags to @SQ lines or updating sort order for the * @HD line (although use the sam_hdr_sort_order() function for * HD manipulation, which is a wrapper around this funuction). * * Specify multiple key,value pairs ending in NULL. * * @return * Returns 0 on success; * -1 on failure */ int sam_hdr_update(SAM_hdr *hdr, SAM_hdr_type *type, ...); /*! Reconstructs the kstring from the header hash table. * @return * Returns 0 on success; * -1 on failure */ int sam_hdr_rebuild(SAM_hdr *hdr); /*! Looks up a reference sequence by name and returns the numerical ID. * @return * Returns -1 if unknown reference. */ int sam_hdr_name2ref(SAM_hdr *hdr, const char *ref); /*! Looks up a read-group by name and returns a pointer to the start of the * associated tag list. * * @return * Returns NULL on failure */ SAM_RG *sam_hdr_find_rg(SAM_hdr *hdr, const char *rg); /*! Fixes any PP links in @PG headers. * * If the entries are in order then this doesn't need doing, but incase * our header is out of order this goes through the sh->pg[] array * setting the prev_id field. * * @return * Returns 0 on sucess; * -1 on failure (indicating broken PG/PP records) */ int sam_hdr_link_pg(SAM_hdr *hdr); /*! Add an @PG line. * * If we wish complete control over this use sam_hdr_add() directly. This * function uses that, but attempts to do a lot of tedious house work for * you too. * * - It will generate a suitable ID if the supplied one clashes. * - It will generate multiple @PG records if we have multiple PG chains. * * Call it as per sam_hdr_add() with a series of key,value pairs ending * in NULL. * * @return * Returns 0 on success; * -1 on failure */ int sam_hdr_add_PG(SAM_hdr *sh, const char *name, ...); /*! * A function to help with construction of CL tags in @PG records. * Takes an argc, argv pair and returns a single space-separated string. * This string should be deallocated by the calling function. * * @return * Returns malloced char * on success; * NULL on failure */ char *stringify_argv(int argc, char *argv[]); #ifdef __cplusplus } #endif #endif /* _SAM_HDR_H_ */ htslib-1.2.1/cram/string_alloc.c000066400000000000000000000100701246417267700165640ustar00rootroot00000000000000/* Copyright (c) 2010 Genome Research Ltd. Author: Andrew Whitwham Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. 3. Neither the names Genome Research Ltd and Wellcome Trust Sanger Institute nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY GENOME RESEARCH LTD AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL GENOME RESEARCH LTD OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ /* A pooled string allocator intended to cut down on the memory overhead of many small string allocations. Andrew Whitwham, September 2010. */ #include #include #include #include "string_alloc.h" #define MIN_STR_SIZE 1024 /* creates the string pool. max_length is the initial size a single string can be. Tha max_length can grow as needed */ string_alloc_t *string_pool_create(size_t max_length) { string_alloc_t *a_str; if (NULL == (a_str = (string_alloc_t *)malloc(sizeof(*a_str)))) { return NULL; } if (max_length < MIN_STR_SIZE) max_length = MIN_STR_SIZE; a_str->nstrings = 0; a_str->max_length = max_length; a_str->strings = NULL; return a_str; } /* internal function to do the actual memory allocation */ static string_t *new_string_pool(string_alloc_t *a_str) { string_t *str; str = realloc(a_str->strings, (a_str->nstrings + 1) * sizeof(*a_str->strings)); if (NULL == str) return NULL; a_str->strings = str; str = &a_str->strings[a_str->nstrings]; str->str = malloc(a_str->max_length);; if (NULL == str->str) return NULL; str->used = 0; a_str->nstrings++; return str; } /* free allocated memory */ void string_pool_destroy(string_alloc_t *a_str) { size_t i; for (i = 0; i < a_str->nstrings; i++) { free(a_str->strings[i].str); } free(a_str->strings); free(a_str); } /* allocate space for a string */ char *string_alloc(string_alloc_t *a_str, size_t length) { string_t *str; char *ret; if (length <= 0) return NULL; // add to last string pool if we have space if (a_str->nstrings) { str = &a_str->strings[a_str->nstrings - 1]; if (str->used + length < a_str->max_length) { ret = str->str + str->used; str->used += length; return ret; } } // increase the max length if needs be if (length > a_str->max_length) a_str->max_length = length; // need a new string pool str = new_string_pool(a_str); if (NULL == str) return NULL; str->used = length; return str->str; } /* equivalent to strdup */ char *string_dup(string_alloc_t *a_str, char *instr) { return string_ndup(a_str, instr, strlen(instr)); } char *string_ndup(string_alloc_t *a_str, char *instr, size_t len) { char *str = string_alloc(a_str, len + 1); if (NULL == str) return NULL; strncpy(str, instr, len); str[len] = 0; return str; } htslib-1.2.1/cram/string_alloc.h000066400000000000000000000044211246417267700165740ustar00rootroot00000000000000/* Copyright (c) 2010 Genome Research Ltd. Author: Andrew Whitwham Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. 3. Neither the names Genome Research Ltd and Wellcome Trust Sanger Institute nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY GENOME RESEARCH LTD AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL GENOME RESEARCH LTD OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ #ifndef _STRING_ALLOC_H_ #define _STRING_ALLOC_H_ #ifdef __cplusplus extern "C" { #endif #include /* * A pooled string allocator intended to cut down on the * memory overhead of many small string allocations. * * Andrew Whitwham, September 2010. */ typedef struct { char *str; size_t used; } string_t; typedef struct { size_t max_length; size_t nstrings; string_t *strings; } string_alloc_t; string_alloc_t *string_pool_create(size_t max_length); void string_pool_destroy(string_alloc_t *a_str); char *string_alloc(string_alloc_t *a_str, size_t length); char *string_dup(string_alloc_t *a_str, char *instr); char *string_ndup(string_alloc_t *a_str, char *instr, size_t len); #endif #ifdef __cplusplus } #endif htslib-1.2.1/cram/thread_pool.c000066400000000000000000000451161246417267700164150ustar00rootroot00000000000000/* Copyright (c) 2013 Genome Research Ltd. Author: James Bonfield Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. 3. Neither the names Genome Research Ltd and Wellcome Trust Sanger Institute nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY GENOME RESEARCH LTD AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL GENOME RESEARCH LTD OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ #include #include #include #include #include #include #include #include "cram/thread_pool.h" //#define DEBUG //#define DEBUG_TIME #define IN_ORDER #ifdef DEBUG static int worker_id(t_pool *p) { int i; pthread_t s = pthread_self(); for (i = 0; i < p->tsize; i++) { if (pthread_equal(s, p->t[i].tid)) return i; } return -1; } #endif /* ---------------------------------------------------------------------------- * A queue to hold results from the thread pool. * * Each thread pool may have jobs of multiple types being queued up and * interleaved, so we allow several results queue per pool. * * The jobs themselves are expected to push their results onto their * appropriate results queue. */ /* * Adds a result to the end of the result queue. * * Returns 0 on success; * -1 on failure */ static int t_pool_add_result(t_pool_job *j, void *data) { t_results_queue *q = j->q; t_pool_result *r; #ifdef DEBUG fprintf(stderr, "%d: Adding resulting to queue %p, serial %d\n", worker_id(j->p), q, j->serial); #endif /* No results queue is fine if we don't want any results back */ if (!q) return 0; if (!(r = malloc(sizeof(*r)))) return -1; r->next = NULL; r->data = data; r->serial = j->serial; pthread_mutex_lock(&q->result_m); if (q->result_tail) { q->result_tail->next = r; q->result_tail = r; } else { q->result_head = q->result_tail = r; } q->queue_len++; q->pending--; #ifdef DEBUG fprintf(stderr, "%d: Broadcasting result_avail (id %d)\n", worker_id(j->p), r->serial); #endif pthread_cond_signal(&q->result_avail_c); #ifdef DEBUG fprintf(stderr, "%d: Broadcast complete\n", worker_id(j->p)); #endif pthread_mutex_unlock(&q->result_m); return 0; } /* Core of t_pool_next_result() */ static t_pool_result *t_pool_next_result_locked(t_results_queue *q) { t_pool_result *r, *last; for (last = NULL, r = q->result_head; r; last = r, r = r->next) { if (r->serial == q->next_serial) break; } if (r) { if (q->result_head == r) q->result_head = r->next; else last->next = r->next; if (q->result_tail == r) q->result_tail = last; if (!q->result_head) q->result_tail = NULL; q->next_serial++; q->queue_len--; } return r; } /* * Pulls a result off the head of the result queue. Caller should * free it (and any internals as appropriate) after use. This doesn't * wait for a result to be present. * * Results will be returned in strict order. * * Returns t_pool_result pointer if a result is ready. * NULL if not. */ t_pool_result *t_pool_next_result(t_results_queue *q) { t_pool_result *r; #ifdef DEBUG fprintf(stderr, "Requesting next result on queue %p\n", q); #endif pthread_mutex_lock(&q->result_m); r = t_pool_next_result_locked(q); pthread_mutex_unlock(&q->result_m); #ifdef DEBUG fprintf(stderr, "(q=%p) Found %p\n", q, r); #endif return r; } t_pool_result *t_pool_next_result_wait(t_results_queue *q) { t_pool_result *r; #ifdef DEBUG fprintf(stderr, "Waiting for result %d...\n", q->next_serial); #endif pthread_mutex_lock(&q->result_m); while (!(r = t_pool_next_result_locked(q))) { /* Possible race here now avoided via _locked() call, but incase... */ struct timeval now; struct timespec timeout; gettimeofday(&now, NULL); timeout.tv_sec = now.tv_sec + 10; timeout.tv_nsec = now.tv_usec * 1000; pthread_cond_timedwait(&q->result_avail_c, &q->result_m, &timeout); } pthread_mutex_unlock(&q->result_m); return r; } /* * Returns true if there are no items on the finished results queue and * also none still pending. */ int t_pool_results_queue_empty(t_results_queue *q) { int empty; pthread_mutex_lock(&q->result_m); empty = q->queue_len == 0 && q->pending == 0; pthread_mutex_unlock(&q->result_m); return empty; } /* * Returns the number of completed jobs on the results queue. */ int t_pool_results_queue_len(t_results_queue *q) { int len; pthread_mutex_lock(&q->result_m); len = q->queue_len; pthread_mutex_unlock(&q->result_m); return len; } int t_pool_results_queue_sz(t_results_queue *q) { int len; pthread_mutex_lock(&q->result_m); len = q->queue_len + q->pending; pthread_mutex_unlock(&q->result_m); return len; } /* * Frees a result 'r' and if free_data is true also frees * the internal r->data result too. */ void t_pool_delete_result(t_pool_result *r, int free_data) { if (!r) return; if (free_data && r->data) free(r->data); free(r); } /* * Initialises a results queue. * * Results queue pointer on success; * NULL on failure */ t_results_queue *t_results_queue_init(void) { t_results_queue *q = malloc(sizeof(*q)); pthread_mutex_init(&q->result_m, NULL); pthread_cond_init(&q->result_avail_c, NULL); q->result_head = NULL; q->result_tail = NULL; q->next_serial = 0; q->curr_serial = 0; q->queue_len = 0; q->pending = 0; return q; } /* Deallocates memory for a results queue */ void t_results_queue_destroy(t_results_queue *q) { #ifdef DEBUG fprintf(stderr, "Destroying results queue %p\n", q); #endif if (!q) return; pthread_mutex_destroy(&q->result_m); pthread_cond_destroy(&q->result_avail_c); memset(q, 0xbb, sizeof(*q)); free(q); #ifdef DEBUG fprintf(stderr, "Destroyed results queue %p\n", q); #endif } /* ---------------------------------------------------------------------------- * The thread pool. */ #define TDIFF(t2,t1) ((t2.tv_sec-t1.tv_sec)*1000000 + t2.tv_usec-t1.tv_usec) /* * A worker thread. * * Each thread waits for the pool to be non-empty. * As soon as this applies, one of them succeeds in getting the lock * and then executes the job. */ static void *t_pool_worker(void *arg) { t_pool_worker_t *w = (t_pool_worker_t *)arg; t_pool *p = w->p; t_pool_job *j; #ifdef DEBUG_TIME struct timeval t1, t2, t3; #endif for (;;) { // Pop an item off the pool queue #ifdef DEBUG_TIME gettimeofday(&t1, NULL); #endif pthread_mutex_lock(&p->pool_m); #ifdef DEBUG_TIME gettimeofday(&t2, NULL); p->wait_time += TDIFF(t2,t1); w->wait_time += TDIFF(t2,t1); #endif // If there is something on the job list and a higher priority // thread waiting, let it handle this instead. // while (p->head && p->t_stack_top != -1 && p->t_stack_top < w->idx) { // pthread_mutex_unlock(&p->pool_m); // pthread_cond_signal(&p->t[p->t_stack_top].pending_c); // pthread_mutex_lock(&p->pool_m); // } while (!p->head && !p->shutdown) { p->nwaiting++; if (p->njobs == 0) pthread_cond_signal(&p->empty_c); #ifdef DEBUG_TIME gettimeofday(&t2, NULL); #endif #ifdef IN_ORDER // Push this thread to the top of the waiting stack if (p->t_stack_top == -1 || p->t_stack_top > w->idx) p->t_stack_top = w->idx; p->t_stack[w->idx] = 1; pthread_cond_wait(&w->pending_c, &p->pool_m); p->t_stack[w->idx] = 0; /* Find new t_stack_top */ { int i; p->t_stack_top = -1; for (i = 0; i < p->tsize; i++) { if (p->t_stack[i]) { p->t_stack_top = i; break; } } } #else pthread_cond_wait(&p->pending_c, &p->pool_m); #endif #ifdef DEBUG_TIME gettimeofday(&t3, NULL); p->wait_time += TDIFF(t3,t2); w->wait_time += TDIFF(t3,t2); #endif p->nwaiting--; } if (p->shutdown) { #ifdef DEBUG_TIME p->total_time += TDIFF(t3,t1); #endif #ifdef DEBUG fprintf(stderr, "%d: Shutting down\n", worker_id(p)); #endif pthread_mutex_unlock(&p->pool_m); pthread_exit(NULL); } j = p->head; if (!(p->head = j->next)) p->tail = NULL; if (p->njobs-- >= p->qsize) pthread_cond_signal(&p->full_c); if (p->njobs == 0) pthread_cond_signal(&p->empty_c); pthread_mutex_unlock(&p->pool_m); // We have job 'j' - now execute it. t_pool_add_result(j, j->func(j->arg)); #ifdef DEBUG_TIME pthread_mutex_lock(&p->pool_m); gettimeofday(&t3, NULL); p->total_time += TDIFF(t3,t1); pthread_mutex_unlock(&p->pool_m); #endif memset(j, 0xbb, sizeof(*j)); free(j); } return NULL; } /* * Creates a worker pool of length qsize with tsize worker threads. * * Returns pool pointer on success; * NULL on failure */ t_pool *t_pool_init(int qsize, int tsize) { int i; t_pool *p = malloc(sizeof(*p)); p->qsize = qsize; p->tsize = tsize; p->njobs = 0; p->nwaiting = 0; p->shutdown = 0; p->head = p->tail = NULL; p->t_stack = NULL; #ifdef DEBUG_TIME p->total_time = p->wait_time = 0; #endif p->t = malloc(tsize * sizeof(p->t[0])); pthread_mutex_init(&p->pool_m, NULL); pthread_cond_init(&p->empty_c, NULL); pthread_cond_init(&p->full_c, NULL); pthread_mutex_lock(&p->pool_m); #ifdef IN_ORDER if (!(p->t_stack = malloc(tsize * sizeof(*p->t_stack)))) return NULL; p->t_stack_top = -1; for (i = 0; i < tsize; i++) { t_pool_worker_t *w = &p->t[i]; p->t_stack[i] = 0; w->p = p; w->idx = i; w->wait_time = 0; pthread_cond_init(&w->pending_c, NULL); if (0 != pthread_create(&w->tid, NULL, t_pool_worker, w)) return NULL; } #else pthread_cond_init(&p->pending_c, NULL); for (i = 0; i < tsize; i++) { t_pool_worker_t *w = &p->t[i]; w->p = p; w->idx = i; pthread_cond_init(&w->pending_c, NULL); if (0 != pthread_create(&w->tid, NULL, t_pool_worker, w)) return NULL; } #endif pthread_mutex_unlock(&p->pool_m); return p; } /* * Adds an item to the work pool. * * FIXME: Maybe return 1,0,-1 and distinguish between job dispathed vs * result returned. Ie rather than blocking on full queue we're permitted * to return early on "result available" event too. * Caller would then have a while loop around t_pool_dispatch. * Or, return -1 and set errno to EAGAIN to indicate job not yet submitted. * * Returns 0 on success * -1 on failure */ int t_pool_dispatch(t_pool *p, t_results_queue *q, void *(*func)(void *arg), void *arg) { t_pool_job *j = malloc(sizeof(*j)); if (!j) return -1; j->func = func; j->arg = arg; j->next = NULL; j->p = p; j->q = q; if (q) { pthread_mutex_lock(&q->result_m); j->serial = q->curr_serial++; q->pending++; pthread_mutex_unlock(&q->result_m); } else { j->serial = 0; } #ifdef DEBUG fprintf(stderr, "Dispatching job %p for queue %p, serial %d\n", j, q, j->serial); #endif pthread_mutex_lock(&p->pool_m); // Check if queue is full while (p->njobs >= p->qsize) pthread_cond_wait(&p->full_c, &p->pool_m); p->njobs++; if (p->tail) { p->tail->next = j; p->tail = j; } else { p->head = p->tail = j; } // Let a worker know we have data. #ifdef IN_ORDER if (p->t_stack_top >= 0 && p->njobs > p->tsize - p->nwaiting) pthread_cond_signal(&p->t[p->t_stack_top].pending_c); #else pthread_cond_signal(&p->pending_c); #endif pthread_mutex_unlock(&p->pool_m); #ifdef DEBUG fprintf(stderr, "Dispatched (serial %d)\n", j->serial); #endif return 0; } /* * As above but optional non-block flag. * * nonblock 0 => block if input queue is full * nonblock +1 => don't block if input queue is full, but do not add task * nonblock -1 => add task regardless of whether queue is full (over-size) */ int t_pool_dispatch2(t_pool *p, t_results_queue *q, void *(*func)(void *arg), void *arg, int nonblock) { t_pool_job *j; #ifdef DEBUG fprintf(stderr, "Dispatching job for queue %p, serial %d\n", q, q->curr_serial); #endif pthread_mutex_lock(&p->pool_m); if (p->njobs >= p->qsize && nonblock == 1) { pthread_mutex_unlock(&p->pool_m); errno = EAGAIN; return -1; } if (!(j = malloc(sizeof(*j)))) return -1; j->func = func; j->arg = arg; j->next = NULL; j->p = p; j->q = q; if (q) { pthread_mutex_lock(&q->result_m); j->serial = q->curr_serial; pthread_mutex_unlock(&q->result_m); } else { j->serial = 0; } if (q) { pthread_mutex_lock(&q->result_m); q->curr_serial++; q->pending++; pthread_mutex_unlock(&q->result_m); } // Check if queue is full if (nonblock == 0) while (p->njobs >= p->qsize) pthread_cond_wait(&p->full_c, &p->pool_m); p->njobs++; // if (q->curr_serial % 100 == 0) // fprintf(stderr, "p->njobs = %d p->qsize = %d\n", p->njobs, p->qsize); if (p->tail) { p->tail->next = j; p->tail = j; } else { p->head = p->tail = j; } #ifdef DEBUG fprintf(stderr, "Dispatched (serial %d)\n", j->serial); #endif // Let a worker know we have data. #ifdef IN_ORDER // Keep incoming queue at 1 per running thread, so there is always // something waiting when they end their current task. If we go above // this signal to start more threads (if available). This has the effect // of concentrating jobs to fewer cores when we are I/O bound, which in // turn benefits systems with auto CPU frequency scaling. if (p->t_stack_top >= 0 && p->njobs > p->tsize - p->nwaiting) pthread_cond_signal(&p->t[p->t_stack_top].pending_c); #else pthread_cond_signal(&p->pending_c); #endif pthread_mutex_unlock(&p->pool_m); return 0; } /* * Flushes the pool, but doesn't exit. This simply drains the queue and * ensures all worker threads have finished their current task. * * Returns 0 on success; * -1 on failure */ int t_pool_flush(t_pool *p) { int i; #ifdef DEBUG fprintf(stderr, "Flushing pool %p\n", p); #endif // Drains the queue pthread_mutex_lock(&p->pool_m); // Wake up everything for the final sprint! for (i = 0; i < p->tsize; i++) if (p->t_stack[i]) pthread_cond_signal(&p->t[i].pending_c); while (p->njobs || p->nwaiting != p->tsize) pthread_cond_wait(&p->empty_c, &p->pool_m); pthread_mutex_unlock(&p->pool_m); #ifdef DEBUG fprintf(stderr, "Flushed complete for pool %p, njobs=%d, nwaiting=%d\n", p, p->njobs, p->nwaiting); #endif return 0; } /* * Destroys a thread pool. If 'kill' is true the threads are terminated now, * otherwise they are joined into the main thread so they will finish their * current work load. * * Use t_pool_destroy(p,0) after a t_pool_flush(p) on a normal shutdown or * t_pool_destroy(p,1) to quickly exit after a fatal error. */ void t_pool_destroy(t_pool *p, int kill) { int i; #ifdef DEBUG fprintf(stderr, "Destroying pool %p, kill=%d\n", p, kill); #endif /* Send shutdown message to worker threads */ if (!kill) { pthread_mutex_lock(&p->pool_m); p->shutdown = 1; #ifdef DEBUG fprintf(stderr, "Sending shutdown request\n"); #endif #ifdef IN_ORDER for (i = 0; i < p->tsize; i++) pthread_cond_signal(&p->t[i].pending_c); #else pthread_cond_broadcast(&p->pending_c); #endif pthread_mutex_unlock(&p->pool_m); #ifdef DEBUG fprintf(stderr, "Shutdown complete\n"); #endif for (i = 0; i < p->tsize; i++) pthread_join(p->t[i].tid, NULL); } else { for (i = 0; i < p->tsize; i++) pthread_kill(p->t[i].tid, SIGINT); } pthread_mutex_destroy(&p->pool_m); pthread_cond_destroy(&p->empty_c); pthread_cond_destroy(&p->full_c); #ifdef IN_ORDER for (i = 0; i < p->tsize; i++) pthread_cond_destroy(&p->t[i].pending_c); #else pthread_cond_destroy(&p->pending_c); #endif #ifdef DEBUG_TIME fprintf(stderr, "Total time=%f\n", p->total_time / 1000000.0); fprintf(stderr, "Wait time=%f\n", p->wait_time / 1000000.0); fprintf(stderr, "%d%% utilisation\n", (int)(100 - ((100.0 * p->wait_time) / p->total_time + 0.5))); for (i = 0; i < p->tsize; i++) fprintf(stderr, "%d: Wait time=%f\n", i, p->t[i].wait_time / 1000000.0); #endif if (p->t_stack) free(p->t_stack); free(p->t); free(p); #ifdef DEBUG fprintf(stderr, "Destroyed pool %p\n", p); #endif } /*----------------------------------------------------------------------------- * Test app. */ #ifdef TEST_MAIN #include #include void *doit(void *arg) { int i, k, x = 0; int job = *(int *)arg; int *res; printf("Worker: execute job %d\n", job); usleep(random() % 1000000); // to coerce job completion out of order if (0) { for (k = 0; k < 100; k++) { for (i = 0; i < 100000; i++) { x++; x += x * sin(i); x += x * cos(x); } } x *= 100; x += job; } else { x = job*job; } printf("Worker: job %d terminating, x=%d\n", job, x); free(arg); res = malloc(sizeof(*res)); *res = x; return res; } #define NTHREADS 8 int main(int argc, char **argv) { t_pool *p = t_pool_init(NTHREADS*2, NTHREADS); t_results_queue *q = t_results_queue_init(); int i; t_pool_result *r; // Dispatch jobs for (i = 0; i < 20; i++) { int *ip = malloc(sizeof(*ip)); *ip = i; printf("Submitting %d\n", i); t_pool_dispatch(p, q, doit, ip); // Check for results if ((r = t_pool_next_result(q))) { printf("RESULT: %d\n", *(int *)r->data); t_pool_delete_result(r, 1); } } t_pool_flush(p); while ((r = t_pool_next_result(q))) { printf("RESULT: %d\n", *(int *)r->data); t_pool_delete_result(r, 1); } t_pool_destroy(p, 0); t_results_queue_destroy(q); return 0; } #endif htslib-1.2.1/cram/thread_pool.h000066400000000000000000000146751246417267700164300ustar00rootroot00000000000000/* Copyright (c) 2013 Genome Research Ltd. Author: James Bonfield Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. 3. Neither the names Genome Research Ltd and Wellcome Trust Sanger Institute nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY GENOME RESEARCH LTD AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL GENOME RESEARCH LTD OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ /* * This file implements a thread pool for multi-threading applications. * It consists of two distinct interfaces: thread pools an results queues. * * The pool of threads is given a function pointer and void* data to pass in. * This means the pool can run jobs of multiple types, albeit first come * first served with no job scheduling. * * Upon completion, the return value from the function pointer is added to * a results queue. We may have multiple queues in use for the one pool. * * An example: reading from BAM and writing to CRAM with 10 threads. We'll * have a pool of 10 threads and two results queues holding decoded BAM blocks * and encoded CRAM blocks respectively. */ #ifndef _THREAD_POOL_H_ #define _THREAD_POOL_H_ #include struct t_pool; struct t_results_queue; typedef struct t_pool_job { void *(*func)(void *arg); void *arg; struct t_pool_job *next; struct t_pool *p; struct t_results_queue *q; int serial; } t_pool_job; typedef struct t_res { struct t_res *next; int serial; // sequential number for ordering void *data; // result itself } t_pool_result; struct t_pool; typedef struct { struct t_pool *p; int idx; pthread_t tid; pthread_cond_t pending_c; long long wait_time; } t_pool_worker_t; typedef struct t_pool { int qsize; // size of queue int njobs; // pending job count int nwaiting; // how many workers waiting for new jobs int shutdown; // true if pool is being destroyed // queue of pending jobs t_pool_job *head, *tail; // threads int tsize; // maximum number of jobs t_pool_worker_t *t; // Mutexes pthread_mutex_t pool_m; // used when updating head/tail pthread_cond_t empty_c; pthread_cond_t pending_c; // not empty pthread_cond_t full_c; // array of worker IDs free int *t_stack, t_stack_top; // Debugging to check wait time long long total_time, wait_time; } t_pool; typedef struct t_results_queue { t_pool_result *result_head; t_pool_result *result_tail; int next_serial; int curr_serial; int queue_len; // number of items in queue int pending; // number of pending items (in progress or in pool list) pthread_mutex_t result_m; pthread_cond_t result_avail_c; } t_results_queue; /* * Creates a worker pool of length qsize with tsize worker threads. * * Returns pool pointer on success; * NULL on failure */ t_pool *t_pool_init(int qsize, int tsize); /* * Adds an item to the work pool. * * FIXME: Maybe return 1,0,-1 and distinguish between job dispathed vs * result returned. Ie rather than blocking on full queue we're permitted * to return early on "result available" event too. * Caller would then have a while loop around t_pool_dispatch. * Or, return -1 and set errno to E_AGAIN to indicate job not yet submitted. * * Returns 0 on success * -1 on failure */ int t_pool_dispatch(t_pool *p, t_results_queue *q, void *(*func)(void *arg), void *arg); int t_pool_dispatch2(t_pool *p, t_results_queue *q, void *(*func)(void *arg), void *arg, int nonblock); /* * Flushes the pool, but doesn't exit. This simply drains the queue and * ensures all worker threads have finished their current task. * * Returns 0 on success; * -1 on failure */ int t_pool_flush(t_pool *p); /* * Destroys a thread pool. If 'kill' is true the threads are terminated now, * otherwise they are joined into the main thread so they will finish their * current work load. * * Use t_pool_destroy(p,0) after a t_pool_flush(p) on a normal shutdown or * t_pool_destroy(p,1) to quickly exit after a fatal error. */ void t_pool_destroy(t_pool *p, int kill); /* * Pulls a result off the head of the result queue. Caller should * free it (and any internals as appropriate) after use. This doesn't * wait for a result to be present. * * Results will be returned in strict order. * * Returns t_pool_result pointer if a result is ready. * NULL if not. */ t_pool_result *t_pool_next_result(t_results_queue *q); t_pool_result *t_pool_next_result_wait(t_results_queue *q); /* * Frees a result 'r' and if free_data is true also frees * the internal r->data result too. */ void t_pool_delete_result(t_pool_result *r, int free_data); /* * Initialises a results queue. * * Results queue pointer on success; * NULL on failure */ t_results_queue *t_results_queue_init(void); /* Deallocates memory for a results queue */ void t_results_queue_destroy(t_results_queue *q); /* * Returns true if there are no items on the finished results queue and * also none still pending. */ int t_pool_results_queue_empty(t_results_queue *q); /* * Returns the number of completed jobs on the results queue. */ int t_pool_results_queue_len(t_results_queue *q); /* * Returns the number of completed jobs plus the number queued up to run. */ int t_pool_results_queue_sz(t_results_queue *q); #endif /* _THREAD_POOL_H_ */ htslib-1.2.1/cram/vlen.c000066400000000000000000000277251246417267700150670ustar00rootroot00000000000000/* Author: James Bonfield (jkb@sanger.ac.uk) Copyright (c) 1995-1996 MEDICAL RESEARCH COUNCIL All rights reserved Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: 1 Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. 2 Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. 3 Neither the name of the MEDICAL RESEARCH COUNCIL, THE LABORATORY OF MOLECULAR BIOLOGY nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ /* Copyright (c) 2004, 2009, 2011-2012 Genome Research Ltd. Author: James Bonfield Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. 3. Neither the names Genome Research Ltd and Wellcome Trust Sanger Institute nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY GENOME RESEARCH LTD AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL GENOME RESEARCH LTD OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ #ifdef HAVE_CONFIG_H #include "io_lib_config.h" #endif #include #include #include #include #include #include "cram/vlen.h" #include "cram/os.h" #ifndef MAX #define MAX(a,b) ((a)>(b)?(a):(b)) #endif #ifndef ABS #define ABS(a) ((a)>0?(a):-(a)) #endif /* #define DEBUG_printf(a,n) printf(a,n) */ #define DEBUG_printf(a,n) /* * vlen: 27/10/95 written by James Bonfield, jkb@mrc-lmb.cam.ac.uk * * Given sprintf style of arguments this routine returns the maximum * size of buffer needed to allocate to use with sprintf. It errs on * the side of caution by being simplistic in its approach: we assume * all numbers are of maximum length. * * Handles the usual type conversions (%[%diuaxXcfeEgGpns]), but not * the 'wide' character conversions (%C and %S). * Precision is handled in the correct formats, including %*.* * notations. * Additionally, some of the more dubious (but probably illegal) cases * are supported (eg "%10%" will expand to " %" on many * systems). * * We also assume that the largest integer and larger pointer are 64 * bits, which at least covers the machines we'll need it for. */ int flen(char *fmt, ...) { va_list args; va_start(args, fmt); return vflen(fmt, args); } int vflen(char *fmt, va_list ap) { int len = 0; char *cp, c; long long l; int i; double d; /* * This code modifies 'ap', but we do not know if va_list is a structure * or a pointer to an array so we do not know if it is a local variable * or not. * C99 gets around this by defining va_copy() to make copies of ap, but * this does not exist on all systems. * For now, I just assume that when va_list is a pointer the system also * provides a va_copy macro to work around this problem. The only system * I have seen needing this so far was Linux on AMD64. */ #if defined(HAVE_VA_COPY) va_list ap_local; va_copy(ap_local, ap); # define ap ap_local #endif for(cp = fmt; *cp; cp++) { switch(*cp) { /* A format specifier */ case '%': { char *endp; long conv_len1=0, conv_len2=0, conv_len=0; signed int arg_size; /* Firstly, strip the modifier flags (+-#0 and [space]) */ for(; (c=*++cp);) { if ('#' == c) len+=2; /* Worst case of "0x" */ else if ('-' == c || '+' == c || ' ' == c) len++; else break; } /* Width specifier */ l = strtol(cp, &endp, 10); if (endp != cp) { cp = endp; conv_len = conv_len1 = l; } else if (*cp == '*') { conv_len = conv_len1 = (int)va_arg(ap, int); cp++; } /* Precision specifier */ if ('.' == *cp) { cp++; conv_len2 = strtol(cp, &endp, 10); if (endp != cp) { cp = endp; } else if (*cp == '*') { conv_len2 = (int)va_arg(ap, int); cp++; } conv_len = MAX(conv_len1, conv_len2); } /* Short/long identifier */ if ('h' == *cp) { arg_size = -1; /* short */ cp++; } else if ('l' == *cp) { arg_size = 1; /* long */ cp++; if ('l' == *cp) { arg_size = 2; /* long long */ cp++; } } else { arg_size = 0; /* int */ } /* The actual type */ switch (*cp) { case '%': /* * Not real ANSI I suspect, but we'll allow for the * completely daft "%10%" example. */ len += MAX(conv_len1, 1); break; case 'd': case 'i': case 'u': case 'a': case 'x': case 'X': /* Remember: char and short are sent as int on the stack */ if (arg_size == -1) l = (long)va_arg(ap, int); else if (arg_size == 1) l = va_arg(ap, long); else if (arg_size == 2) l = va_arg(ap, long long); else l = (long)va_arg(ap, int); DEBUG_printf("%d", l); /* * No number can be more than 24 characters so we'll take * the max of conv_len and 24 (23 is len(2^64) in octal). * All that work above and we then go and estimate ;-), * but it's needed incase someone does %500d. */ len += MAX(conv_len, 23); break; case 'c': i = va_arg(ap, int); DEBUG_printf("%c", i); /* * Note that %10c and %.10c act differently. * Besides, I think precision is not really allowed for %c. */ len += MAX(conv_len1, i>=0x80 ?MB_CUR_MAX :1); break; case 'f': d = va_arg(ap, double); DEBUG_printf("%f", d); /* * Maybe "Inf" or "NaN", but we'll not worry about that. * Again, err on side of caution and take max of conv_len * and max length of a double. The worst case I can * think of is 317 characters (-1[308 zeros].000000) * without using precision codes. That's horrid. I * cheat and either use 317 or 15 depending on how * large the number is as I reckon 99% of floats * aren't that long. */ l = (ABS(d) > 1000000) ? 317 : 15; l = MAX(l, conv_len1 + 2); if (conv_len2) l += conv_len2 - 6; len += l; break; case 'e': case 'E': case 'g': case 'G': d = va_arg(ap, double); DEBUG_printf("%g", d); /* * Maybe "Inf" or "NaN", but we'll not worry about that * Again, err on side of caution and take max of conv_len * and max length of a double (which defaults to only * '-' + 6 + '.' + 'E[+-]xxx' == 13. */ len += MAX(conv_len, 13); break; case 'p': l = (long)va_arg(ap, void *); /* * Max pointer is 64bits == 16 chars (on alpha), * == 20 with + "0x". */ DEBUG_printf("%p", (void *)l); len += MAX(conv_len, 20); break; case 'n': /* produces no output */ break; case 's': { char *s = (char *)va_arg(ap, char *); DEBUG_printf("%s", s); if (!conv_len2) { len += MAX(conv_len, (int)strlen(s)); } else { len += conv_len; } break; } default: /* wchar_t types of 'C' and 'S' aren't supported */ DEBUG_printf("Arg is %c\n", *cp); } } case '\0': break; default: DEBUG_printf("%c", *cp); len++; } } va_end(ap); return len+1; /* one for the null character */ } #if 0 int main() { int l; char buf[10000]; sprintf(buf, "d: %d\n", 500); l = flen("d: %d\n", 500); printf("%d %d\n\n", strlen(buf), l); sprintf(buf, ""); l = flen(""); printf("%d %d\n\n", strlen(buf), l); sprintf(buf, "%s\n","test"); l = flen("%s\n", "test"); printf("%d %d\n\n", strlen(buf), l); sprintf(buf, "%c\n", 'a'); l = flen("%c\n", 'a'); printf("%d %d\n\n", strlen(buf), l); sprintf(buf, "%31.30f\n", -9999.99); l = flen("%31.30f\n", -9999.99); printf("%d %d\n\n", strlen(buf), l); sprintf(buf, "%f\n", -1e308); l = flen("%f\n", -1e308); printf("%d %d\n\n", strlen(buf), l); sprintf(buf, "%.9f\n", -1e308); l = flen("%.9f\n", -1e308); printf("%d %d\n\n", strlen(buf), l); sprintf(buf, "%10.20f\n", -1.999222333); l = flen("%10.20f\n", -1.999222333); printf("%d %d\n\n", strlen(buf), l); sprintf(buf, "%#g\n", -3.14159265358e-222); l = flen("%#g\n", -3.1415927e-222); printf("%d %d\n\n", strlen(buf), l); sprintf(buf, "%e\n", -123456789123456789.1); l = flen("%e\n", -123456789123456789.1); printf("%d %d\n\n", strlen(buf), l); sprintf(buf, "%c %f %d %s %c %g %ld %s\n", 'a', 3.1, 9, "one", 'b', 4.2, 9, "two"); l = flen("%c %f %d %s %c %g %ld %s\n", 'a', 3.1, 9, "one", 'b', 4.2, 9, "two"); printf("%d %d\n\n", strlen(buf), l); sprintf(buf, "%*.*e %*c\n", 10, 5, 9.0, 20, 'x'); l = flen("%*.*e %*c\n", 10, 5, 9.0, 20, 'x'); printf("%d %d\n\n", strlen(buf), l); sprintf(buf, "%10c\n", 'z'); l = flen("%10c\n", 'z'); printf("%d %d\n\n", strlen(buf), l); sprintf(buf, "%.10c\n", 'z'); l = flen("%.10c\n", 'z'); printf("%d %d\n\n", strlen(buf), l); sprintf(buf, "%10d\n", 'z'); l = flen("%10d\n", 'z'); printf("%d %d\n\n", strlen(buf), l); sprintf(buf, "%.10d\n", 'z'); l = flen("%.10d\n", 'z'); printf("%d %d\n\n", strlen(buf), l); sprintf(buf, "%10%\n"); l = flen("%10%\n"); printf("%d %d\n\n", strlen(buf), l); sprintf(buf, "%.10%\n"); l = flen("%.10%\n"); printf("%d %d\n\n", strlen(buf), l); sprintf(buf, "%s\n", "0123456789"); l = flen("%s\n", "0123456789"); printf("%d %d\n\n", strlen(buf), l); sprintf(buf, "%5s\n", "0123456789"); l = flen("%5s\n", "0123456789"); printf("%d %d\n\n", strlen(buf), l); sprintf(buf, "%50s\n", "0123456789"); l = flen("%50s\n", "0123456789"); printf("%d %d\n\n", strlen(buf), l); sprintf(buf, "%.5s\n", "0123456789"); l = flen("%.5s\n", "0123456789"); printf("%d %d\n\n", strlen(buf), l); sprintf(buf, "%.50s\n", "0123456789"); l = flen("%.50s\n", "0123456789"); printf("%d %d\n\n", strlen(buf), l); sprintf(buf, "%5.50s\n", "0123456789"); l = flen("%5.50s\n", "0123456789"); printf("%d %d\n\n", strlen(buf), l); sprintf(buf, "%50.5s\n", "0123456789"); l = flen("%50.5s\n", "0123456789"); printf("%d %d\n\n", strlen(buf), l); return 0; } #endif htslib-1.2.1/cram/vlen.h000066400000000000000000000034271246417267700150650ustar00rootroot00000000000000/* Author: James Bonfield (jkb@sanger.ac.uk) Copyright (c) 1995-1996 MEDICAL RESEARCH COUNCIL All rights reserved Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: 1 Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. 2 Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. 3 Neither the name of the MEDICAL RESEARCH COUNCIL, THE LABORATORY OF MOLECULAR BIOLOGY nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ #ifndef _VLEN_H_ #define _VLEN_H_ #ifdef __cplusplus extern "C" { #endif extern int vflen(char *fmt, va_list ap); extern int flen(char *fmt, ...); #ifdef __cplusplus } #endif #endif /* _VLEN_H_ */ htslib-1.2.1/cram/zfio.c000066400000000000000000000115231246417267700150570ustar00rootroot00000000000000/* Copyright (c) 2009-2013 Genome Research Ltd. Author: James Bonfield Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. 3. Neither the names Genome Research Ltd and Wellcome Trust Sanger Institute nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY GENOME RESEARCH LTD AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL GENOME RESEARCH LTD OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ #ifdef HAVE_CONFIG_H #include "io_lib_config.h" #endif #include #include #include "cram/os.h" #include "cram/zfio.h" /* ------------------------------------------------------------------------ */ /* Some wrappers around FILE * vs gzFile *, allowing for either */ /* * gzopen() works on both compressed and uncompressed data, but it has * a significant performance hit even for uncompressed data (tested as * 25s using FILE* to 46s via gzOpen and 66s via gzOpen when gzipped). * * Hence we use our own wrapper 'zfp' which is a FILE* when uncompressed * and gzFile* when compressed. This also means we could hide bzopen in * there too if desired. */ off_t zftello(zfp *zf) { return zf->fp ? ftello(zf->fp) : -1; } int zfseeko(zfp *zf, off_t offset, int whence) { return zf->fp ? fseeko(zf->fp, offset, whence) : -1; } /* * A wrapper for either fgets or gzgets depending on what has been * opened. */ char *zfgets(char *line, int size, zfp *zf) { if (zf->fp) return fgets(line, size, zf->fp); else return gzgets(zf->gz, line, size); } /* * A wrapper for either fputs or gzputs depending on what has been * opened. */ int zfputs(char *line, zfp *zf) { if (zf->fp) return fputs(line, zf->fp); else return gzputs(zf->gz, line) ? 0 : EOF; } /* * Peeks at and returns the next character without consuming it from the * input. (Ie a combination of getc and ungetc). */ int zfpeek(zfp *zf) { int c; if (zf->fp) { c = getc(zf->fp); if (c != EOF) ungetc(c, zf->fp); } else { c = gzgetc(zf->gz); if (c != EOF) gzungetc(c, zf->gz); } return c; } /* A replacement for either feof of gzeof */ int zfeof(zfp *zf) { return zf->fp ? feof(zf->fp) : gzeof(zf->gz); } /* A replacement for either fopen or gzopen */ zfp *zfopen(const char *path, const char *mode) { char path2[1024]; zfp *zf; if (!(zf = (zfp *)malloc(sizeof(*zf)))) return NULL; zf->fp = NULL; zf->gz = NULL; /* Try normal fopen */ if (mode[0] != 'z' && mode[1] != 'z' && NULL != (zf->fp = fopen(path, mode))) { unsigned char magic[2]; if (2 != fread(magic, 1, 2, zf->fp)) { free(zf); return NULL; } if (!(magic[0] == 0x1f && magic[1] == 0x8b)) { fseeko(zf->fp, 0, SEEK_SET); return zf; } fclose(zf->fp); zf->fp = NULL; } #ifdef HAVE_POPEN /* * I've no idea why, by gzgets is VERY slow, maybe because it handles * arbitrary seeks. * popen to gzip -cd is 3 times faster though. */ if (*mode == 'w') { } else { if (access(path, R_OK) == 0) { sprintf(path2, "gzip -cd < %.*s", 1000, path); if (NULL != (zf->fp = popen(path2, "r"))) return zf; } sprintf(path2, "gzip -cd < %.*s.gz", 1000, path); if (NULL != (zf->fp = popen(path2, "r"))) return zf; printf("Failed on %s\n", path); } else { sprintf(path2, "gzip > %.*s", 1000, path); if (NULL != (zf->fp = popen(path2, "w"))) return zf; } printf("Failed on %s\n", path); } #else /* Gzopen instead */ if ((zf->gz = gzopen(path, mode))) return zf; sprintf(path2, "%.*s.gz", 1020, path); if ((zf->gz = gzopen(path2, mode))) return zf; #endif perror(path); free(zf); return NULL; } int zfclose(zfp *zf) { int r = (zf->fp) ? fclose(zf->fp) : gzclose(zf->gz); free(zf); return r; } htslib-1.2.1/cram/zfio.h000066400000000000000000000037451246417267700150730ustar00rootroot00000000000000/* Copyright (c) 2009-2013 Genome Research Ltd. Author: James Bonfield Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. 3. Neither the names Genome Research Ltd and Wellcome Trust Sanger Institute nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY GENOME RESEARCH LTD AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL GENOME RESEARCH LTD OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ #ifndef _ZFIO_H_ #define _ZFIO_H_ #include #include /* * Either a gzFile or a FILE. */ typedef struct { FILE *fp; gzFile gz; } zfp; off_t zftello(zfp *zf); int zfseeko(zfp *zf, off_t offset, int whence); char *zfgets(char *line, int size, zfp *zf); int zfputs(char *line, zfp *zf); zfp *zfopen(const char *path, const char *mode); int zfclose(zfp *zf); int zfpeek(zfp *zf); int zfeof(zfp *zf); #endif /* _ZFIO_H_ */ htslib-1.2.1/faidx.5000066400000000000000000000112741246417267700142060ustar00rootroot00000000000000'\" t .TH faidx 5 "August 2013" "htslib" "Bioinformatics formats" .SH NAME faidx \- an index enabling random access to FASTA files .\" .\" Copyright (C) 2013 Genome Research Ltd. .\" .\" Author: John Marshall .\" .\" Permission is hereby granted, free of charge, to any person obtaining a .\" copy of this software and associated documentation files (the "Software"), .\" to deal in the Software without restriction, including without limitation .\" the rights to use, copy, modify, merge, publish, distribute, sublicense, .\" and/or sell copies of the Software, and to permit persons to whom the .\" Software is furnished to do so, subject to the following conditions: .\" .\" The above copyright notice and this permission notice shall be included in .\" all copies or substantial portions of the Software. .\" .\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR .\" IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, .\" FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL .\" THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER .\" LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING .\" FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER .\" DEALINGS IN THE SOFTWARE. .\" .SH SYNOPSIS .IR file.fa .fai, .IR file.fasta .fai .SH DESCRIPTION Using an \fBfai index\fP file in conjunction with a FASTA file containing reference sequences enables efficient access to arbitrary regions within those reference sequences. The index file typically has the same filename as the corresponding FASTA file, with \fB.fai\fP appended. .P An \fBfai index\fP file is a text file consisting of lines each with five TAB-delimited columns: .TS lbl. NAME Name of this reference sequence LENGTH Total length of this reference sequence, in bases OFFSET Offset within the FASTA file of this sequence's first base LINEBASES The number of bases on each line LINEWIDTH The number of bytes in each line, including the newline .TE .P The \fBNAME\fP and \fBLENGTH\fP columns contain the same data as would appear in the \fBSN\fP and \fBLN\fP fields of a SAM \fB@SQ\fP header for the same reference sequence. .P The \fBOFFSET\fP column contains the offset within the FASTA file, in bytes starting from zero, of the first base of this reference sequence, i.e., of the character following the newline at the end of the "\fB>\fP" header line. Typically the lines of a \fBfai index\fP file appear in the order in which the reference sequences appear in the FASTA file, so \fB.fai\fP files are typically sorted according to this column. .P The \fBLINEBASES\fP column contains the number of bases in each of the sequence lines that form the body of this reference sequence, apart from the final line which may be shorter. The \fBLINEWIDTH\fP column contains the number of \fIbytes\fP in each of the sequence lines (except perhaps the final line), thus differing from \fBLINEBASES\fP in that it also counts the bytes forming the line terminator. .SS FASTA Files In order to be indexed with \fBsamtools faidx\fP, a FASTA file must be a text file of the form .LP .RS .RI > name .RI [ description ...] .br ATGCATGCATGCATGCATGCATGCATGCAT .br GCATGCATGCATGCATGCATGCATGCATGC .br ATGCAT .br .RI > name .RI [ description ...] .br ATGCATGCATGCAT .br GCATGCATGCATGC .br [...] .RE .LP In particular, each reference sequence must be "well-formatted", i.e., all of its sequence lines must be the same length, apart from the final sequence line which may be shorter. (While this sequence line length must be the same within each sequence, it may vary between different reference sequences in the same FASTA file.) .P This also means that although the FASTA file may have Unix- or Windows-style or other line termination, the newline characters present must be consistent, at least within each reference sequence. .P The \fBsamtools\fP implementation uses the first word of the "\fB>\fP" header line text (i.e., up to the first whitespace character) as the \fBNAME\fP column. At present, there may be no whitespace between the ">" character and the \fIname\fP. .SH EXAMPLE For example, given this FASTA file .LP .RS >one .br ATGCATGCATGCATGCATGCATGCATGCAT .br GCATGCATGCATGCATGCATGCATGCATGC .br ATGCAT .br >two another chromosome .br ATGCATGCATGCAT .br GCATGCATGCATGC .br .RE .LP formatted with Unix-style (LF) line termination, the corresponding fai index would be .RS .TS lnnnn. one 66 5 30 31 two 28 98 14 15 .TE .RE .LP If the FASTA file were formatted with Windows-style (CR-LF) line termination, the fai index would be .RS .TS lnnnn. one 66 6 30 32 two 28 103 14 16 .TE .RE .SH SEE ALSO .IR samtools (1) .TP http://en.wikipedia.org/wiki/FASTA_format Further description of the FASTA format htslib-1.2.1/faidx.c000066400000000000000000000332111246417267700142570ustar00rootroot00000000000000/* faidx.c -- FASTA random access. Copyright (C) 2008, 2009, 2013-2015 Genome Research Ltd. Portions copyright (C) 2011 Broad Institute. Author: Heng Li Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ #include #include #include #include #include #include "htslib/bgzf.h" #include "htslib/faidx.h" #include "htslib/hfile.h" #include "htslib/khash.h" typedef struct { int32_t line_len, line_blen; int64_t len; uint64_t offset; } faidx1_t; KHASH_MAP_INIT_STR(s, faidx1_t) struct __faidx_t { BGZF *bgzf; int n, m; char **name; khash_t(s) *hash; }; #ifndef kroundup32 #define kroundup32(x) (--(x), (x)|=(x)>>1, (x)|=(x)>>2, (x)|=(x)>>4, (x)|=(x)>>8, (x)|=(x)>>16, ++(x)) #endif static inline void fai_insert_index(faidx_t *idx, const char *name, int len, int line_len, int line_blen, uint64_t offset) { khint_t k; int ret; faidx1_t t; if (idx->n == idx->m) { idx->m = idx->m? idx->m<<1 : 16; idx->name = (char**)realloc(idx->name, sizeof(char*) * idx->m); } idx->name[idx->n] = strdup(name); k = kh_put(s, idx->hash, idx->name[idx->n], &ret); t.len = len; t.line_len = line_len; t.line_blen = line_blen; t.offset = offset; kh_value(idx->hash, k) = t; ++idx->n; } faidx_t *fai_build_core(BGZF *bgzf) { char *name; int c; int l_name, m_name; int line_len, line_blen, state; int l1, l2; faidx_t *idx; uint64_t offset; int64_t len; idx = (faidx_t*)calloc(1, sizeof(faidx_t)); idx->hash = kh_init(s); name = 0; l_name = m_name = 0; len = line_len = line_blen = -1; state = 0; l1 = l2 = -1; offset = 0; while ( (c=bgzf_getc(bgzf))>=0 ) { if (c == '\n') { // an empty line if (state == 1) { offset = bgzf_utell(bgzf); continue; } else if ((state == 0 && len < 0) || state == 2) continue; } if (c == '>') { // fasta header if (len >= 0) fai_insert_index(idx, name, len, line_len, line_blen, offset); l_name = 0; while ( (c=bgzf_getc(bgzf))>=0 && !isspace(c)) { if (m_name < l_name + 2) { m_name = l_name + 2; kroundup32(m_name); name = (char*)realloc(name, m_name); } name[l_name++] = c; } name[l_name] = '\0'; if ( c<0 ) { fprintf(stderr, "[fai_build_core] the last entry has no sequence\n"); free(name); fai_destroy(idx); return 0; } if (c != '\n') while ( (c=bgzf_getc(bgzf))>=0 && c != '\n'); state = 1; len = 0; offset = bgzf_utell(bgzf); } else { if (state == 3) { fprintf(stderr, "[fai_build_core] inlined empty line is not allowed in sequence '%s'.\n", name); free(name); fai_destroy(idx); return 0; } if (state == 2) state = 3; l1 = l2 = 0; do { ++l1; if (isgraph(c)) ++l2; } while ( (c=bgzf_getc(bgzf))>=0 && c != '\n'); if (state == 3 && l2) { fprintf(stderr, "[fai_build_core] different line length in sequence '%s'.\n", name); free(name); fai_destroy(idx); return 0; } ++l1; len += l2; if (state == 1) line_len = l1, line_blen = l2, state = 0; else if (state == 0) { if (l1 != line_len || l2 != line_blen) state = 2; } } } if ( name ) fai_insert_index(idx, name, len, line_len, line_blen, offset); else { free(idx); return NULL; } free(name); return idx; } void fai_save(const faidx_t *fai, FILE *fp) { khint_t k; int i; for (i = 0; i < fai->n; ++i) { faidx1_t x; k = kh_get(s, fai->hash, fai->name[i]); x = kh_value(fai->hash, k); #ifdef _WIN32 fprintf(fp, "%s\t%d\t%ld\t%d\t%d\n", fai->name[i], (int)x.len, (long)x.offset, (int)x.line_blen, (int)x.line_len); #else fprintf(fp, "%s\t%d\t%lld\t%d\t%d\n", fai->name[i], (int)x.len, (long long)x.offset, (int)x.line_blen, (int)x.line_len); #endif } } faidx_t *fai_read(FILE *fp) { faidx_t *fai; char *buf, *p; int len, line_len, line_blen; #ifdef _WIN32 long offset; #else long long offset; #endif fai = (faidx_t*)calloc(1, sizeof(faidx_t)); fai->hash = kh_init(s); buf = (char*)calloc(0x10000, 1); while (!feof(fp) && fgets(buf, 0x10000, fp)) { for (p = buf; *p && isgraph(*p); ++p); *p = 0; ++p; #ifdef _WIN32 sscanf(p, "%d%ld%d%d", &len, &offset, &line_blen, &line_len); #else sscanf(p, "%d%lld%d%d", &len, &offset, &line_blen, &line_len); #endif fai_insert_index(fai, buf, len, line_len, line_blen, offset); } free(buf); return fai; } void fai_destroy(faidx_t *fai) { int i; for (i = 0; i < fai->n; ++i) free(fai->name[i]); free(fai->name); kh_destroy(s, fai->hash); if (fai->bgzf) bgzf_close(fai->bgzf); free(fai); } int fai_build(const char *fn) { char *str; BGZF *bgzf; FILE *fp; faidx_t *fai; str = (char*)calloc(strlen(fn) + 5, 1); sprintf(str, "%s.fai", fn); bgzf = bgzf_open(fn, "r"); if ( !bgzf ) { fprintf(stderr, "[fai_build] fail to open the FASTA file %s\n",fn); free(str); return -1; } if ( bgzf->is_compressed ) bgzf_index_build_init(bgzf); fai = fai_build_core(bgzf); if ( !fai ) { if ( bgzf->is_compressed && bgzf->is_gzip ) fprintf(stderr,"Cannot index files compressed with gzip, please use bgzip\n"); free(str); return -1; } if ( bgzf->is_compressed ) bgzf_index_dump(bgzf, fn, ".gzi"); bgzf_close(bgzf); fp = fopen(str, "wb"); if ( !fp ) { fprintf(stderr, "[fai_build] fail to write FASTA index %s\n",str); fai_destroy(fai); free(str); return -1; } fai_save(fai, fp); fclose(fp); free(str); fai_destroy(fai); return 0; } static FILE *download_and_open(const char *fn) { const int buf_size = 1 * 1024 * 1024; uint8_t *buf; FILE *fp; hFILE *fp_remote; const char *url = fn; const char *p; int l = strlen(fn); for (p = fn + l - 1; p >= fn; --p) if (*p == '/') break; fn = p + 1; // First try to open a local copy fp = fopen(fn, "r"); if (fp) return fp; // If failed, download from remote and open fp_remote = hopen(url, "rb"); if (fp_remote == 0) { fprintf(stderr, "[download_from_remote] fail to open remote file %s\n",url); return NULL; } if ((fp = fopen(fn, "wb")) == 0) { fprintf(stderr, "[download_from_remote] fail to create file in the working directory %s\n",fn); hclose_abruptly(fp_remote); return NULL; } buf = (uint8_t*)calloc(buf_size, 1); while ((l = hread(fp_remote, buf, buf_size)) > 0) fwrite(buf, 1, l, fp); free(buf); fclose(fp); if (hclose(fp_remote) != 0) fprintf(stderr, "[download_from_remote] fail to close remote file %s\n", url); return fopen(fn, "r"); } faidx_t *fai_load(const char *fn) { char *str; FILE *fp; faidx_t *fai; str = (char*)calloc(strlen(fn) + 5, 1); sprintf(str, "%s.fai", fn); if (hisremote(str)) { fp = download_and_open(str); if ( !fp ) { fprintf(stderr, "[fai_load] failed to open remote FASTA index %s\n", str); free(str); return 0; } } else fp = fopen(str, "rb"); if (fp == 0) { fprintf(stderr, "[fai_load] build FASTA index.\n"); fai_build(fn); fp = fopen(str, "rb"); if (fp == 0) { fprintf(stderr, "[fai_load] fail to open FASTA index.\n"); free(str); return 0; } } fai = fai_read(fp); fclose(fp); fai->bgzf = bgzf_open(fn, "rb"); free(str); if (fai->bgzf == 0) { fprintf(stderr, "[fai_load] fail to open FASTA file.\n"); return 0; } if ( fai->bgzf->is_compressed==1 ) { if ( bgzf_index_load(fai->bgzf, fn, ".gzi") < 0 ) { fprintf(stderr, "[fai_load] failed to load .gzi index: %s[.gzi]\n", fn); fai_destroy(fai); return NULL; } } return fai; } char *fai_fetch(const faidx_t *fai, const char *str, int *len) { char *s; int c, i, l, k, name_end; khiter_t iter; faidx1_t val; khash_t(s) *h; int beg, end; beg = end = -1; h = fai->hash; name_end = l = strlen(str); s = (char*)malloc(l+1); // remove space for (i = k = 0; i < l; ++i) if (!isspace(str[i])) s[k++] = str[i]; s[k] = 0; l = k; // determine the sequence name for (i = l - 1; i >= 0; --i) if (s[i] == ':') break; // look for colon from the end if (i >= 0) name_end = i; if (name_end < l) { // check if this is really the end int n_hyphen = 0; for (i = name_end + 1; i < l; ++i) { if (s[i] == '-') ++n_hyphen; else if (!isdigit(s[i]) && s[i] != ',') break; } if (i < l || n_hyphen > 1) name_end = l; // malformated region string; then take str as the name s[name_end] = 0; iter = kh_get(s, h, s); if (iter == kh_end(h)) { // cannot find the sequence name iter = kh_get(s, h, str); // try str as the name if (iter == kh_end(h)) { *len = 0; free(s); return 0; } else s[name_end] = ':', name_end = l; } } else iter = kh_get(s, h, str); if(iter == kh_end(h)) { fprintf(stderr, "[fai_fetch] Warning - Reference %s not found in FASTA file, returning empty sequence\n", str); free(s); *len = -2; return 0; }; val = kh_value(h, iter); // parse the interval if (name_end < l) { for (i = k = name_end + 1; i < l; ++i) if (s[i] != ',') s[k++] = s[i]; s[k] = 0; beg = atoi(s + name_end + 1); for (i = name_end + 1; i != k; ++i) if (s[i] == '-') break; end = i < k? atoi(s + i + 1) : val.len; if (beg > 0) --beg; } else beg = 0, end = val.len; if (beg >= val.len) beg = val.len; if (end >= val.len) end = val.len; if (beg > end) beg = end; free(s); // now retrieve the sequence int ret = bgzf_useek(fai->bgzf, val.offset + beg / val.line_blen * val.line_len + beg % val.line_blen, SEEK_SET); if ( ret<0 ) { *len = -1; fprintf(stderr, "[fai_fetch] Error: fai_fetch failed. (Seeking in a compressed, .gzi unindexed, file?)\n"); return NULL; } l = 0; s = (char*)malloc(end - beg + 2); while ( (c=bgzf_getc(fai->bgzf))>=0 && l < end - beg ) if (isgraph(c)) s[l++] = c; s[l] = '\0'; *len = l; return s; } int faidx_fetch_nseq(const faidx_t *fai) { return fai->n; } int faidx_nseq(const faidx_t *fai) { return fai->n; } const char *faidx_iseq(const faidx_t *fai, int i) { return fai->name[i]; } int faidx_seq_len(const faidx_t *fai, const char *seq) { khint_t k = kh_get(s, fai->hash, seq); if ( k == kh_end(fai->hash) ) return -1; return kh_val(fai->hash, k).len; } char *faidx_fetch_seq(const faidx_t *fai, const char *c_name, int p_beg_i, int p_end_i, int *len) { int l, c; khiter_t iter; faidx1_t val; char *seq=NULL; // Adjust position iter = kh_get(s, fai->hash, c_name); if (iter == kh_end(fai->hash)) { *len = -2; fprintf(stderr, "[fai_fetch_seq] The sequence \"%s\" not found\n", c_name); return NULL; } val = kh_value(fai->hash, iter); if(p_end_i < p_beg_i) p_beg_i = p_end_i; if(p_beg_i < 0) p_beg_i = 0; else if(val.len <= p_beg_i) p_beg_i = val.len - 1; if(p_end_i < 0) p_end_i = 0; else if(val.len <= p_end_i) p_end_i = val.len - 1; // Now retrieve the sequence int ret = bgzf_useek(fai->bgzf, val.offset + p_beg_i / val.line_blen * val.line_len + p_beg_i % val.line_blen, SEEK_SET); if ( ret<0 ) { *len = -1; fprintf(stderr, "[fai_fetch_seq] Error: fai_fetch failed. (Seeking in a compressed, .gzi unindexed, file?)\n"); return NULL; } l = 0; seq = (char*)malloc(p_end_i - p_beg_i + 2); while ( (c=bgzf_getc(fai->bgzf))>=0 && l < p_end_i - p_beg_i + 1) if (isgraph(c)) seq[l++] = c; seq[l] = '\0'; *len = l; return seq; } int faidx_has_seq(const faidx_t *fai, const char *seq) { khiter_t iter = kh_get(s, fai->hash, seq); if (iter == kh_end(fai->hash)) return 0; return 1; } htslib-1.2.1/hfile.c000066400000000000000000000355231246417267700142630ustar00rootroot00000000000000/* hfile.c -- buffered low-level input/output streams. Copyright (C) 2013-2015 Genome Research Ltd. Author: John Marshall Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ #include #include #include #include #include "htslib/hfile.h" #include "hfile_internal.h" /* hFILE fields are used as follows: char *buffer; // Pointer to the start of the I/O buffer char *begin; // First not-yet-read character / unused position char *end; // First unfilled/unfillable position char *limit; // Pointer to the first position past the buffer const hFILE_backend *backend; // Methods to refill/flush I/O buffer off_t offset; // Offset within the stream of buffer position 0 int at_eof:1; // For reading, whether EOF has been seen int has_errno; // Error number from the last failure on this stream For reading, begin is the first unread character in the buffer and end is the first unfilled position: -----------ABCDEFGHIJKLMNO--------------- ^buffer ^begin ^end ^limit For writing, begin is the first unused position and end is unused so remains equal to buffer: ABCDEFGHIJKLMNOPQRSTUVWXYZ--------------- ^buffer ^begin ^limit ^end Thus if begin > end then there is a non-empty write buffer, if begin < end then there is a non-empty read buffer, and if begin == end then both buffers are empty. In all cases, the stream's file position indicator corresponds to the position pointed to by begin. */ hFILE *hfile_init(size_t struct_size, const char *mode, size_t capacity) { hFILE *fp = (hFILE *) malloc(struct_size); if (fp == NULL) goto error; if (capacity == 0) capacity = 32768; // FIXME For now, clamp input buffer sizes so mpileup doesn't eat memory if (strchr(mode, 'r') && capacity > 32768) capacity = 32768; fp->buffer = (char *) malloc(capacity); if (fp->buffer == NULL) goto error; fp->begin = fp->end = fp->buffer; fp->limit = &fp->buffer[capacity]; fp->offset = 0; fp->at_eof = 0; fp->has_errno = 0; return fp; error: hfile_destroy(fp); return NULL; } void hfile_destroy(hFILE *fp) { int save = errno; if (fp) free(fp->buffer); free(fp); errno = save; } static inline int writebuffer_is_nonempty(hFILE *fp) { return fp->begin > fp->end; } /* Refills the read buffer from the backend (once, so may only partially fill the buffer), returning the number of additional characters read (which might be 0), or negative when an error occurred. */ static ssize_t refill_buffer(hFILE *fp) { ssize_t n; // Move any unread characters to the start of the buffer if (fp->begin > fp->buffer) { fp->offset += fp->begin - fp->buffer; memmove(fp->buffer, fp->begin, fp->end - fp->begin); fp->end = &fp->buffer[fp->end - fp->begin]; fp->begin = fp->buffer; } // Read into the available buffer space at fp->[end,limit) if (fp->at_eof || fp->end == fp->limit) n = 0; else { n = fp->backend->read(fp, fp->end, fp->limit - fp->end); if (n < 0) { fp->has_errno = errno; return n; } else if (n == 0) fp->at_eof = 1; } fp->end += n; return n; } /* Called only from hgetc(), when our buffer is empty. */ int hgetc2(hFILE *fp) { return (refill_buffer(fp) > 0)? (unsigned char) *(fp->begin++) : EOF; } ssize_t hpeek(hFILE *fp, void *buffer, size_t nbytes) { size_t n = fp->end - fp->begin; while (n < nbytes) { ssize_t ret = refill_buffer(fp); if (ret < 0) return ret; else if (ret == 0) break; else n += ret; } if (n > nbytes) n = nbytes; memcpy(buffer, fp->begin, n); return n; } /* Called only from hread(); when called, our buffer is empty and nread bytes have already been placed in the destination buffer. */ ssize_t hread2(hFILE *fp, void *destv, size_t nbytes, size_t nread) { const size_t capacity = fp->limit - fp->buffer; char *dest = (char *) destv; dest += nread, nbytes -= nread; // Read large requests directly into the destination buffer while (nbytes * 2 >= capacity && !fp->at_eof) { ssize_t n = fp->backend->read(fp, dest, nbytes); if (n < 0) { fp->has_errno = errno; return n; } else if (n == 0) fp->at_eof = 1; fp->offset += n; dest += n, nbytes -= n; nread += n; } while (nbytes > 0 && !fp->at_eof) { size_t n; ssize_t ret = refill_buffer(fp); if (ret < 0) return ret; n = fp->end - fp->begin; if (n > nbytes) n = nbytes; memcpy(dest, fp->begin, n); fp->begin += n; dest += n, nbytes -= n; nread += n; } return nread; } /* Flushes the write buffer, fp->[buffer,begin), out through the backend returning 0 on success or negative if an error occurred. */ static ssize_t flush_buffer(hFILE *fp) { const char *buffer = fp->buffer; while (buffer < fp->begin) { ssize_t n = fp->backend->write(fp, buffer, fp->begin - buffer); if (n < 0) { fp->has_errno = errno; return n; } buffer += n; fp->offset += n; } fp->begin = fp->buffer; // Leave the buffer empty return 0; } int hflush(hFILE *fp) { if (flush_buffer(fp) < 0) return EOF; if (fp->backend->flush(fp) < 0) { fp->has_errno = errno; return EOF; } return 0; } /* Called only from hputc(), when our buffer is already full. */ int hputc2(int c, hFILE *fp) { if (flush_buffer(fp) < 0) return EOF; *(fp->begin++) = c; return c; } /* Called only from hwrite() and hputs2(); when called, our buffer is full and ncopied bytes from the source have already been copied to our buffer. */ ssize_t hwrite2(hFILE *fp, const void *srcv, size_t totalbytes, size_t ncopied) { const char *src = (const char *) srcv; ssize_t ret; const size_t capacity = fp->limit - fp->buffer; size_t remaining = totalbytes - ncopied; src += ncopied; ret = flush_buffer(fp); if (ret < 0) return ret; // Write large blocks out directly from the source buffer while (remaining * 2 >= capacity) { ssize_t n = fp->backend->write(fp, src, remaining); if (n < 0) { fp->has_errno = errno; return n; } fp->offset += n; src += n, remaining -= n; } // Just buffer any remaining characters memcpy(fp->begin, src, remaining); fp->begin += remaining; return totalbytes; } /* Called only from hputs(), when our buffer is already full. */ int hputs2(const char *text, size_t totalbytes, size_t ncopied, hFILE *fp) { return (hwrite2(fp, text, totalbytes, ncopied) >= 0)? 0 : EOF; } off_t hseek(hFILE *fp, off_t offset, int whence) { off_t pos; if (writebuffer_is_nonempty(fp)) { int ret = flush_buffer(fp); if (ret < 0) return ret; } else { // Convert relative offsets from being relative to the hFILE's stream // position (at begin) to being relative to the backend's physical // stream position (at end, due to the buffering read-ahead). if (whence == SEEK_CUR) offset -= fp->end - fp->begin; } pos = fp->backend->seek(fp, offset, whence); if (pos < 0) { fp->has_errno = errno; return pos; } // Seeking succeeded, so discard any non-empty read buffer fp->begin = fp->end = fp->buffer; fp->at_eof = 0; fp->offset = pos; return pos; } int hclose(hFILE *fp) { int err = fp->has_errno; if (writebuffer_is_nonempty(fp) && hflush(fp) < 0) err = fp->has_errno; if (fp->backend->close(fp) < 0) err = errno; hfile_destroy(fp); if (err) { errno = err; return EOF; } else return 0; } void hclose_abruptly(hFILE *fp) { int save = errno; if (fp->backend->close(fp) < 0) { /* Ignore subsequent errors */ } hfile_destroy(fp); errno = save; } /*************************** * File descriptor backend * ***************************/ #include #include #include #include #ifdef _WIN32 #define HAVE_CLOSESOCKET #endif /* For Unix, it doesn't matter whether a file descriptor is a socket. However Windows insists on send()/recv() and its own closesocket() being used when fd happens to be a socket. */ typedef struct { hFILE base; int fd; int is_socket:1; } hFILE_fd; static ssize_t fd_read(hFILE *fpv, void *buffer, size_t nbytes) { hFILE_fd *fp = (hFILE_fd *) fpv; ssize_t n; do { n = fp->is_socket? recv(fp->fd, buffer, nbytes, 0) : read(fp->fd, buffer, nbytes); } while (n < 0 && errno == EINTR); return n; } static ssize_t fd_write(hFILE *fpv, const void *buffer, size_t nbytes) { hFILE_fd *fp = (hFILE_fd *) fpv; ssize_t n; do { n = fp->is_socket? send(fp->fd, buffer, nbytes, 0) : write(fp->fd, buffer, nbytes); } while (n < 0 && errno == EINTR); return n; } static off_t fd_seek(hFILE *fpv, off_t offset, int whence) { hFILE_fd *fp = (hFILE_fd *) fpv; return lseek(fp->fd, offset, whence); } static int fd_flush(hFILE *fpv) { hFILE_fd *fp = (hFILE_fd *) fpv; int ret; do { #ifdef HAVE_FDATASYNC ret = fdatasync(fp->fd); #else ret = fsync(fp->fd); #endif // Ignore invalid-for-fsync(2) errors due to being, e.g., a pipe, // and operation-not-supported errors (Mac OS X) if (ret < 0 && (errno == EINVAL || errno == ENOTSUP)) ret = 0; } while (ret < 0 && errno == EINTR); return ret; } static int fd_close(hFILE *fpv) { hFILE_fd *fp = (hFILE_fd *) fpv; int ret; do { #ifdef HAVE_CLOSESOCKET ret = fp->is_socket? closesocket(fp->fd) : close(fp->fd); #else ret = close(fp->fd); #endif } while (ret < 0 && errno == EINTR); return ret; } static const struct hFILE_backend fd_backend = { fd_read, fd_write, fd_seek, fd_flush, fd_close }; static size_t blksize(int fd) { struct stat sbuf; if (fstat(fd, &sbuf) != 0) return 0; return sbuf.st_blksize; } static hFILE *hopen_fd(const char *filename, const char *mode) { hFILE_fd *fp = NULL; int fd = open(filename, hfile_oflags(mode), 0666); if (fd < 0) goto error; fp = (hFILE_fd *) hfile_init(sizeof (hFILE_fd), mode, blksize(fd)); if (fp == NULL) goto error; fp->fd = fd; fp->is_socket = 0; fp->base.backend = &fd_backend; return &fp->base; error: if (fd >= 0) { int save = errno; (void) close(fd); errno = save; } hfile_destroy((hFILE *) fp); return NULL; } hFILE *hdopen(int fd, const char *mode) { hFILE_fd *fp = (hFILE_fd*) hfile_init(sizeof (hFILE_fd), mode, blksize(fd)); if (fp == NULL) return NULL; fp->fd = fd; fp->is_socket = (strchr(mode, 's') != NULL); fp->base.backend = &fd_backend; return &fp->base; } static hFILE *hopen_fd_stdinout(const char *mode) { int fd = (strchr(mode, 'r') != NULL)? STDIN_FILENO : STDOUT_FILENO; // TODO Set binary mode (for Windows) return hdopen(fd, mode); } int hfile_oflags(const char *mode) { int rdwr = 0, flags = 0; const char *s; for (s = mode; *s; s++) switch (*s) { case 'r': rdwr = O_RDONLY; break; case 'w': rdwr = O_WRONLY; flags |= O_CREAT | O_TRUNC; break; case 'a': rdwr = O_WRONLY; flags |= O_CREAT | O_APPEND; break; case '+': rdwr = O_RDWR; break; default: break; } #ifdef O_BINARY flags |= O_BINARY; #endif return rdwr | flags; } /********************* * In-memory backend * *********************/ typedef struct { hFILE base; const char *buffer; size_t length, pos; } hFILE_mem; static ssize_t mem_read(hFILE *fpv, void *buffer, size_t nbytes) { hFILE_mem *fp = (hFILE_mem *) fpv; size_t avail = fp->length - fp->pos; if (nbytes > avail) nbytes = avail; memcpy(buffer, fp->buffer + fp->pos, nbytes); fp->pos += nbytes; return nbytes; } static off_t mem_seek(hFILE *fpv, off_t offset, int whence) { hFILE_mem *fp = (hFILE_mem *) fpv; size_t absoffset = (offset >= 0)? offset : -offset; size_t origin; switch (whence) { case SEEK_SET: origin = 0; break; case SEEK_CUR: origin = fp->pos; break; case SEEK_END: origin = fp->length; break; default: errno = EINVAL; return -1; } if ((offset < 0 && absoffset > origin) || (offset >= 0 && absoffset > fp->length - origin)) { errno = EINVAL; return -1; } fp->pos = origin + offset; return fp->pos; } static int mem_close(hFILE *fpv) { return 0; } static const struct hFILE_backend mem_backend = { mem_read, NULL, mem_seek, NULL, mem_close }; static hFILE *hopen_mem(const char *data, const char *mode) { // TODO Implement write modes, which will require memory allocation if (strchr(mode, 'r') == NULL) { errno = EINVAL; return NULL; } hFILE_mem *fp = (hFILE_mem *) hfile_init(sizeof (hFILE_mem), mode, 0); if (fp == NULL) return NULL; fp->buffer = data; fp->length = strlen(data); fp->pos = 0; fp->base.backend = &mem_backend; return &fp->base; } /****************************** * hopen() backend dispatcher * ******************************/ hFILE *hopen(const char *fname, const char *mode) { if (strncmp(fname, "http://", 7) == 0 || strncmp(fname, "ftp://", 6) == 0) return hopen_net(fname, mode); #ifdef HAVE_IRODS else if (strncmp(fname, "irods:", 6) == 0) return hopen_irods(fname, mode); #endif else if (strncmp(fname, "data:", 5) == 0) return hopen_mem(fname + 5, mode); else if (strcmp(fname, "-") == 0) return hopen_fd_stdinout(mode); else return hopen_fd(fname, mode); } int hisremote(const char *fname) { // FIXME Make a new backend entry to return this if (strncmp(fname, "http://", 7) == 0 || strncmp(fname, "https://", 8) == 0 || strncmp(fname, "ftp://", 6) == 0) return 1; #ifdef HAVE_IRODS else if (strncmp(fname, "irods:", 6) == 0) return 1; #endif else return 0; } htslib-1.2.1/hfile_internal.h000066400000000000000000000070131246417267700161550ustar00rootroot00000000000000/* hfile_internal.h -- internal parts of low-level input/output streams. Copyright (C) 2013-2015 Genome Research Ltd. Author: John Marshall Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ #ifndef HFILE_INTERNAL_H #define HFILE_INTERNAL_H #include "htslib/hfile.h" struct hFILE_backend { /* As per read(2), returning the number of bytes read (possibly 0) or negative (and setting errno) on errors. Front-end code will call this repeatedly if necessary to attempt to get the desired byte count. */ ssize_t (*read)(hFILE *fp, void *buffer, size_t nbytes) HTS_RESULT_USED; /* As per write(2), returning the number of bytes written or negative (and setting errno) on errors. Front-end code will call this repeatedly if necessary until the desired block is written or an error occurs. */ ssize_t (*write)(hFILE *fp, const void *buffer, size_t nbytes) HTS_RESULT_USED; /* As per lseek(2), returning the resulting offset within the stream or negative (and setting errno) on errors. */ off_t (*seek)(hFILE *fp, off_t offset, int whence) HTS_RESULT_USED; /* Performs low-level flushing, if any, e.g., fsync(2); for writing streams only. Returns 0 for success or negative (and sets errno) on errors. */ int (*flush)(hFILE *fp) HTS_RESULT_USED; /* Closes the underlying stream (for output streams, the buffer will already have been flushed), returning 0 for success or negative (and setting errno) on errors, as per close(2). */ int (*close)(hFILE *fp) HTS_RESULT_USED; }; /* These are called from the hopen() dispatcher, and should call hfile_init() to malloc a struct "derived" from hFILE and initialise it appropriately, including setting base.backend to their own backend vector. */ hFILE *hopen_irods(const char *filename, const char *mode); hFILE *hopen_net(const char *filename, const char *mode); /* May be called by hopen_*() functions to decode a fopen()-style mode into open(2)-style flags. */ int hfile_oflags(const char *mode); /* Must be called by hopen_*() functions to allocate the hFILE struct and set up its base. Capacity is a suggested buffer size (e.g., via fstat(2)) or 0 for a default-sized buffer. */ hFILE *hfile_init(size_t struct_size, const char *mode, size_t capacity); /* May be called by hopen_*() functions to undo the effects of hfile_init() in the event opening the stream subsequently fails. (This is safe to use even if fp is NULL. This takes care to preserve errno.) */ void hfile_destroy(hFILE *fp); #endif htslib-1.2.1/hfile_irods.c000066400000000000000000000146071246417267700154630ustar00rootroot00000000000000/* hfile_irods.c -- iRODS backend for low-level file streams. Copyright (C) 2013, 2015 Genome Research Ltd. Author: John Marshall Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ #include #include #include #include "hfile_internal.h" #include #include #include #include #include #include #include typedef struct { hFILE base; int descriptor; } hFILE_irods; static int status_errno(int status) { switch (status) { case SYS_NO_API_PRIV: return EACCES; case SYS_MALLOC_ERR: return ENOMEM; case SYS_OUT_OF_FILE_DESC: return ENFILE; case SYS_BAD_FILE_DESCRIPTOR: return EBADF; case CAT_NO_ROWS_FOUND: return ENOENT; case CATALOG_ALREADY_HAS_ITEM_BY_THAT_NAME: return EEXIST; default: return EIO; } } static void set_errno(int status) { int err = abs(status) % 1000; errno = err? err : status_errno(status); } static struct { rcComm_t *conn; rodsEnv env; } irods = { NULL }; static void irods_exit() { (void) rcDisconnect(irods.conn); irods.conn = NULL; } static int irods_init() { rErrMsg_t err; int ret; ret = getRodsEnv(&irods.env); if (ret < 0) goto error; irods.conn = rcConnect(irods.env.rodsHost, irods.env.rodsPort, irods.env.rodsUserName, irods.env.rodsZone, NO_RECONN, &err); if (irods.conn == NULL) { ret = err.status; goto error; } if (strcmp(irods.env.rodsUserName, PUBLIC_USER_NAME) != 0) { ret = clientLogin(irods.conn); if (ret != 0) goto error; } // In the unlikely event atexit() fails, it's better to succeed here and // carry on and do the I/O; then eventually when the program exits, we'll // merely disconnect from the server uncleanly, as if we had aborted. (void) atexit(irods_exit); return 0; error: if (irods.conn) { (void) rcDisconnect(irods.conn); } irods.conn = NULL; set_errno(ret); return -1; } static ssize_t irods_read(hFILE *fpv, void *buffer, size_t nbytes) { hFILE_irods *fp = (hFILE_irods *) fpv; openedDataObjInp_t args; bytesBuf_t buf; int ret; memset(&args, 0, sizeof args); args.l1descInx = fp->descriptor; args.len = nbytes; buf.buf = buffer; buf.len = nbytes; ret = rcDataObjRead(irods.conn, &args, &buf); if (ret < 0) set_errno(ret); return ret; } static ssize_t irods_write(hFILE *fpv, const void *buffer, size_t nbytes) { hFILE_irods *fp = (hFILE_irods *) fpv; openedDataObjInp_t args; bytesBuf_t buf; int ret; memset(&args, 0, sizeof args); args.l1descInx = fp->descriptor; args.len = nbytes; buf.buf = (void *) buffer; // ...the iRODS API is not const-correct here buf.len = nbytes; ret = rcDataObjWrite(irods.conn, &args, &buf); if (ret < 0) set_errno(ret); return ret; } static off_t irods_seek(hFILE *fpv, off_t offset, int whence) { hFILE_irods *fp = (hFILE_irods *) fpv; openedDataObjInp_t args; fileLseekOut_t *out = NULL; int ret; memset(&args, 0, sizeof args); args.l1descInx = fp->descriptor; args.offset = offset; args.whence = whence; ret = rcDataObjLseek(irods.conn, &args, &out); if (out) { offset = out->offset; free(out); } else offset = -1; if (ret < 0) { set_errno(ret); return -1; } return offset; } static int irods_flush(hFILE *fpv) { // FIXME rcDataObjFsync() doesn't seem to function as expected. // For now, flush is a no-op: see https://github.com/samtools/htslib/issues/168 #if 0 hFILE_irods *fp = (hFILE_irods *) fpv; openedDataObjInp_t args; int ret; memset(&args, 0, sizeof args); args.l1descInx = fp->descriptor; ret = rcDataObjFsync(irods.conn, &args); if (ret < 0) set_errno(ret); return ret; #endif return 0; } static int irods_close(hFILE *fpv) { hFILE_irods *fp = (hFILE_irods *) fpv; openedDataObjInp_t args; int ret; memset(&args, 0, sizeof args); args.l1descInx = fp->descriptor; ret = rcDataObjClose(irods.conn, &args); if (ret < 0) set_errno(ret); return ret; } static const struct hFILE_backend irods_backend = { irods_read, irods_write, irods_seek, irods_flush, irods_close }; hFILE *hopen_irods(const char *filename, const char *mode) { hFILE_irods *fp; rodsPath_t path; dataObjInp_t args; int ret; // Initialise the iRODS connection if this is the first use. if (irods.conn == NULL) { if (irods_init() < 0) return NULL; } if (strncmp(filename, "irods:", 6) == 0) filename += 6; else { errno = EINVAL; return NULL; } fp = (hFILE_irods *) hfile_init(sizeof (hFILE_irods), mode, 0); if (fp == NULL) return NULL; strncpy(path.inPath, filename, MAX_NAME_LEN-1); path.inPath[MAX_NAME_LEN-1] = '\0'; ret = parseRodsPath(&path, &irods.env); if (ret < 0) goto error; memset(&args, 0, sizeof args); strcpy(args.objPath, path.outPath); args.openFlags = hfile_oflags(mode); if (args.openFlags & O_CREAT) { args.createMode = 0666; addKeyVal(&args.condInput, DEST_RESC_NAME_KW,irods.env.rodsDefResource); } ret = rcDataObjOpen(irods.conn, &args); if (ret < 0) goto error; fp->descriptor = ret; fp->base.backend = &irods_backend; return &fp->base; error: hfile_destroy((hFILE *) fp); set_errno(ret); return NULL; } htslib-1.2.1/hfile_net.c000066400000000000000000000054531246417267700151300ustar00rootroot00000000000000/* hfile_net.c -- network backend for low-level input/output streams. Copyright (C) 2013-2014 Genome Research Ltd. Author: John Marshall Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ #include #include #include "hfile_internal.h" #include "htslib/knetfile.h" typedef struct { hFILE base; knetFile *netfp; } hFILE_net; static int net_inited = 0; #ifdef _WIN32 static void net_exit(void) { knet_win32_destroy(); } #endif static int net_init(void) { #ifdef _WIN32 if (knet_win32_init() != 0) return -1; // In the unlikely event atexit() fails, it's better to succeed here and // carry on and do the I/O; then eventually when the program exits, we'll // merely have failed to clean up properly, as if we had aborted. (void) atexit(net_exit); #endif net_inited = 1; return 0; } static ssize_t net_read(hFILE *fpv, void *buffer, size_t nbytes) { hFILE_net *fp = (hFILE_net *) fpv; return knet_read(fp->netfp, buffer, nbytes); } static off_t net_seek(hFILE *fpv, off_t offset, int whence) { hFILE_net *fp = (hFILE_net *) fpv; return knet_seek(fp->netfp, offset, whence); } static int net_close(hFILE *fpv) { hFILE_net *fp = (hFILE_net *) fpv; return knet_close(fp->netfp); } static const struct hFILE_backend net_backend = { net_read, NULL, net_seek, NULL, net_close }; hFILE *hopen_net(const char *filename, const char *mode) { hFILE_net *fp; // Do any networking initialisation if this is the first use. if (! net_inited) { if (net_init() < 0) return NULL; } fp = (hFILE_net *) hfile_init(sizeof (hFILE_net), mode, 0); if (fp == NULL) return NULL; fp->netfp = knet_open(filename, mode); if (fp->netfp == NULL) { hfile_destroy((hFILE *) fp); return NULL; } fp->base.backend = &net_backend; return &fp->base; } htslib-1.2.1/hts.c000066400000000000000000001502251246417267700137670ustar00rootroot00000000000000/* hts.c -- format-neutral I/O, indexing, and iterator API functions. Copyright (C) 2008, 2009, 2012-2015 Genome Research Ltd. Copyright (C) 2012, 2013 Broad Institute. Author: Heng Li Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ #include #include #include #include #include #include #include #include #include #include "htslib/bgzf.h" #include "htslib/hts.h" #include "cram/cram.h" #include "htslib/hfile.h" #include "version.h" #include "htslib/kseq.h" #define KS_BGZF 1 #if KS_BGZF // bgzf now supports gzip-compressed files, the gzFile branch can be removed KSTREAM_INIT2(, BGZF*, bgzf_read, 65536) #else KSTREAM_INIT2(, gzFile, gzread, 16384) #endif #include "htslib/khash.h" KHASH_INIT2(s2i,, kh_cstr_t, int64_t, 1, kh_str_hash_func, kh_str_hash_equal) int hts_verbose = 3; const char *hts_version() { return HTS_VERSION; } const unsigned char seq_nt16_table[256] = { 15,15,15,15, 15,15,15,15, 15,15,15,15, 15,15,15,15, 15,15,15,15, 15,15,15,15, 15,15,15,15, 15,15,15,15, 15,15,15,15, 15,15,15,15, 15,15,15,15, 15,15,15,15, 1, 2, 4, 8, 15,15,15,15, 15,15,15,15, 15, 0 /*=*/,15,15, 15, 1,14, 2, 13,15,15, 4, 11,15,15,12, 15, 3,15,15, 15,15, 5, 6, 8,15, 7, 9, 15,10,15,15, 15,15,15,15, 15, 1,14, 2, 13,15,15, 4, 11,15,15,12, 15, 3,15,15, 15,15, 5, 6, 8,15, 7, 9, 15,10,15,15, 15,15,15,15, 15,15,15,15, 15,15,15,15, 15,15,15,15, 15,15,15,15, 15,15,15,15, 15,15,15,15, 15,15,15,15, 15,15,15,15, 15,15,15,15, 15,15,15,15, 15,15,15,15, 15,15,15,15, 15,15,15,15, 15,15,15,15, 15,15,15,15, 15,15,15,15, 15,15,15,15, 15,15,15,15, 15,15,15,15, 15,15,15,15, 15,15,15,15, 15,15,15,15, 15,15,15,15, 15,15,15,15, 15,15,15,15, 15,15,15,15, 15,15,15,15, 15,15,15,15, 15,15,15,15, 15,15,15,15, 15,15,15,15, 15,15,15,15 }; const char seq_nt16_str[] = "=ACMGRSVTWYHKDBN"; const int seq_nt16_int[] = { 4, 0, 1, 4, 2, 4, 4, 4, 3, 4, 4, 4, 4, 4, 4, 4 }; /********************** *** Basic file I/O *** **********************/ static enum htsFormatCategory format_category(enum htsExactFormat fmt) { switch (fmt) { case bam: case sam: case cram: return sequence_data; case vcf: case bcf: return variant_data; case bai: case crai: case csi: case gzi: case tbi: return index_file; case bed: return region_list; case unknown_format: case binary_format: case text_format: case format_maximum: break; } return unknown_category; } // Decompress up to ten or so bytes by peeking at the file, which must be // positioned at the start of a GZIP block. static size_t decompress_peek(hFILE *fp, unsigned char *dest, size_t destsize) { // Typically at most a couple of hundred bytes of input are required // to get a few bytes of output from inflate(), so hopefully this buffer // size suffices in general. unsigned char buffer[512]; z_stream zs; ssize_t npeek = hpeek(fp, buffer, sizeof buffer); if (npeek < 0) return 0; zs.zalloc = NULL; zs.zfree = NULL; zs.next_in = buffer; zs.avail_in = npeek; zs.next_out = dest; zs.avail_out = destsize; if (inflateInit2(&zs, 31) != Z_OK) return 0; while (zs.total_out < destsize) if (inflate(&zs, Z_SYNC_FLUSH) != Z_OK) break; destsize = zs.total_out; inflateEnd(&zs); return destsize; } // Parse "x.y" text, taking care because the string is not NUL-terminated // and filling in major/minor only when the digits are followed by a delimiter, // so we don't misread "1.10" as "1.1" due to reaching the end of the buffer. static void parse_version(htsFormat *fmt, const unsigned char *u, const unsigned char *ulim) { const char *str = (const char *) u; const char *slim = (const char *) ulim; const char *s; fmt->version.major = fmt->version.minor = -1; for (s = str; s < slim; s++) if (!isdigit(*s)) break; if (s < slim) { fmt->version.major = atoi(str); if (*s == '.') { str = &s[1]; for (s = str; s < slim; s++) if (!isdigit(*s)) break; if (s < slim) fmt->version.minor = atoi(str); } else fmt->version.minor = 0; } } int hts_detect_format(hFILE *hfile, htsFormat *fmt) { unsigned char s[21]; ssize_t len = hpeek(hfile, s, 18); if (len < 0) return -1; if (len >= 2 && s[0] == 0x1f && s[1] == 0x8b) { // The stream is either gzip-compressed or BGZF-compressed. // Determine which, and decompress the first few bytes. fmt->compression = (len >= 18 && (s[3] & 4) && memcmp(&s[12], "BC\2\0", 4) == 0)? bgzf : gzip; len = decompress_peek(hfile, s, sizeof s); } else { fmt->compression = no_compression; len = hpeek(hfile, s, sizeof s); } if (len < 0) return -1; fmt->compression_level = -1; fmt->specific = NULL; if (len >= 6 && memcmp(s,"CRAM",4) == 0 && s[4]>=1 && s[4]<=3 && s[5]<=1) { fmt->category = sequence_data; fmt->format = cram; fmt->version.major = s[4], fmt->version.minor = s[5]; fmt->compression = custom; return 0; } else if (len >= 4 && s[3] <= '\4') { if (memcmp(s, "BAM\1", 4) == 0) { fmt->category = sequence_data; fmt->format = bam; // TODO Decompress enough to pick version from @HD-VN header fmt->version.major = 1, fmt->version.minor = -1; return 0; } else if (memcmp(s, "BAI\1", 4) == 0) { fmt->category = index_file; fmt->format = bai; fmt->version.major = -1, fmt->version.minor = -1; return 0; } else if (memcmp(s, "BCF\4", 4) == 0) { fmt->category = variant_data; fmt->format = bcf; fmt->version.major = 1, fmt->version.minor = -1; return 0; } else if (memcmp(s, "BCF\2", 4) == 0) { fmt->category = variant_data; fmt->format = bcf; fmt->version.major = s[3]; fmt->version.minor = (len >= 5 && s[4] <= 2)? s[4] : 0; return 0; } else if (memcmp(s, "CSI\1", 4) == 0) { fmt->category = index_file; fmt->format = csi; fmt->version.major = 1, fmt->version.minor = -1; return 0; } else if (memcmp(s, "TBI\1", 4) == 0) { fmt->category = index_file; fmt->format = tbi; fmt->version.major = -1, fmt->version.minor = -1; return 0; } } else if (len >= 16 && memcmp(s, "##fileformat=VCF", 16) == 0) { fmt->category = variant_data; fmt->format = vcf; if (len >= 21 && s[16] == 'v') parse_version(fmt, &s[17], &s[len]); else fmt->version.major = fmt->version.minor = -1; return 0; } else if (len >= 4 && s[0] == '@' && (memcmp(s, "@HD\t", 4) == 0 || memcmp(s, "@SQ\t", 4) == 0 || memcmp(s, "@RG\t", 4) == 0 || memcmp(s, "@PG\t", 4) == 0)) { fmt->category = sequence_data; fmt->format = sam; // @HD-VN is not guaranteed to be the first tag, but then @HD is // not guaranteed to be present at all... if (len >= 9 && memcmp(s, "@HD\tVN:", 7) == 0) parse_version(fmt, &s[7], &s[len]); else fmt->version.major = 1, fmt->version.minor = -1; return 0; } else { // Various possibilities for tab-delimited text: // .crai (gzipped tab-delimited six columns: seqid 5*number) // .bed ([3..12] tab-delimited columns) // .bedpe (>= 10 tab-delimited columns) // .sam (tab-delimited >= 11 columns: seqid number seqid...) // FIXME For now, assume it's SAM fmt->category = sequence_data; fmt->format = sam; fmt->version.major = 1, fmt->version.minor = -1; return 0; } fmt->category = unknown_category; fmt->format = unknown_format; fmt->version.major = fmt->version.minor = -1; fmt->compression = no_compression; return 0; } char *hts_format_description(const htsFormat *format) { kstring_t str = { 0, 0, NULL }; switch (format->format) { case sam: kputs("SAM", &str); break; case bam: kputs("BAM", &str); break; case cram: kputs("CRAM", &str); break; case vcf: kputs("VCF", &str); break; case bcf: if (format->version.major == 1) kputs("Legacy BCF", &str); else kputs("BCF", &str); break; case bai: kputs("BAI", &str); break; case crai: kputs("CRAI", &str); break; case csi: kputs("CSI", &str); break; case tbi: kputs("Tabix", &str); break; default: kputs("unknown", &str); break; } if (format->version.major >= 0) { kputs(" version ", &str); kputw(format->version.major, &str); if (format->version.minor >= 0) { kputc('.', &str); kputw(format->version.minor, &str); } } switch (format->compression) { case custom: kputs(" compressed", &str); break; case gzip: kputs(" gzip-compressed", &str); break; case bgzf: switch (format->format) { case bam: case bcf: case csi: case tbi: // These are by definition BGZF, so just use the generic term kputs(" compressed", &str); break; default: kputs(" BGZF-compressed", &str); break; } break; default: break; } switch (format->category) { case sequence_data: kputs(" sequence", &str); break; case variant_data: kputs(" variant calling", &str); break; case index_file: kputs(" index", &str); break; case region_list: kputs(" genomic region", &str); break; default: break; } if (format->compression == no_compression) switch (format->format) { case sam: case crai: case vcf: case bed: kputs(" text", &str); break; default: kputs(" data", &str); break; } else kputs(" data", &str); return ks_release(&str); } htsFile *hts_open(const char *fn, const char *mode) { htsFile *fp = NULL; hFILE *hfile = hopen(fn, mode); if (hfile == NULL) goto error; fp = hts_hopen(hfile, fn, mode); if (fp == NULL) goto error; return fp; error: if (hts_verbose >= 2) fprintf(stderr, "[E::%s] fail to open file '%s'\n", __func__, fn); if (hfile) hclose_abruptly(hfile); return NULL; } htsFile *hts_hopen(struct hFILE *hfile, const char *fn, const char *mode) { htsFile *fp = (htsFile*)calloc(1, sizeof(htsFile)); if (fp == NULL) goto error; fp->fn = strdup(fn); fp->is_be = ed_is_big(); if (strchr(mode, 'r')) { if (hts_detect_format(hfile, &fp->format) < 0) goto error; } else if (strchr(mode, 'w') || strchr(mode, 'a')) { htsFormat *fmt = &fp->format; fp->is_write = 1; if (strchr(mode, 'b')) fmt->format = binary_format; else if (strchr(mode, 'c')) fmt->format = cram; else fmt->format = text_format; if (strchr(mode, 'z')) fmt->compression = bgzf; else if (strchr(mode, 'g')) fmt->compression = gzip; else if (strchr(mode, 'u')) fmt->compression = no_compression; else { // No compression mode specified, set to the default for the format switch (fmt->format) { case binary_format: fmt->compression = bgzf; break; case cram: fmt->compression = custom; break; case text_format: fmt->compression = no_compression; break; default: abort(); } } // Fill in category (if determinable; e.g. 'b' could be BAM or BCF) fmt->category = format_category(fmt->format); fmt->version.major = fmt->version.minor = -1; fmt->compression_level = -1; fmt->specific = NULL; } else goto error; switch (fp->format.format) { case binary_format: case bam: case bcf: fp->fp.bgzf = bgzf_hopen(hfile, mode); if (fp->fp.bgzf == NULL) goto error; fp->is_bin = 1; break; case cram: fp->fp.cram = cram_dopen(hfile, fn, mode); if (fp->fp.cram == NULL) goto error; if (!fp->is_write) cram_set_option(fp->fp.cram, CRAM_OPT_DECODE_MD, 1); fp->is_cram = 1; break; case text_format: case sam: case vcf: if (!fp->is_write) { #if KS_BGZF BGZF *gzfp = bgzf_hopen(hfile, mode); #else // TODO Implement gzip hFILE adaptor hclose(hfile); // This won't work, especially for stdin gzFile gzfp = strcmp(fn, "-")? gzopen(fn, "rb") : gzdopen(fileno(stdin), "rb"); #endif if (gzfp) fp->fp.voidp = ks_init(gzfp); else goto error; } else if (fp->format.compression != no_compression) { fp->fp.bgzf = bgzf_hopen(hfile, mode); if (fp->fp.bgzf == NULL) goto error; } else fp->fp.hfile = hfile; break; default: goto error; } return fp; error: if (hts_verbose >= 2) fprintf(stderr, "[E::%s] fail to open file '%s'\n", __func__, fn); if (fp) { free(fp->fn); free(fp->fn_aux); free(fp); } return NULL; } int hts_close(htsFile *fp) { int ret, save; switch (fp->format.format) { case binary_format: case bam: case bcf: ret = bgzf_close(fp->fp.bgzf); break; case cram: if (!fp->is_write) { switch (cram_eof(fp->fp.cram)) { case 0: fprintf(stderr, "[E::%s] Failed to decode sequence.\n", __func__); return -1; case 2: fprintf(stderr, "[W::%s] EOF marker is absent. The input is probably truncated.\n", __func__); break; default: /* case 1, expected EOF */ break; } } ret = cram_close(fp->fp.cram); break; case text_format: case sam: case vcf: if (!fp->is_write) { #if KS_BGZF BGZF *gzfp = ((kstream_t*)fp->fp.voidp)->f; ret = bgzf_close(gzfp); #else gzFile gzfp = ((kstream_t*)fp->fp.voidp)->f; ret = gzclose(gzfp); #endif ks_destroy((kstream_t*)fp->fp.voidp); } else if (fp->format.compression != no_compression) ret = bgzf_close(fp->fp.bgzf); else ret = hclose(fp->fp.hfile); break; default: ret = -1; break; } save = errno; free(fp->fn); free(fp->fn_aux); free(fp->line.s); free(fp); errno = save; return ret; } const htsFormat *hts_get_format(htsFile *fp) { return fp? &fp->format : NULL; } int hts_set_opt(htsFile *fp, enum cram_option opt, ...) { int r; va_list args; if (fp->format.format != cram) return 0; va_start(args, opt); r = cram_set_voption(fp->fp.cram, opt, args); va_end(args); return r; } int hts_set_threads(htsFile *fp, int n) { if (fp->format.compression == bgzf) { return bgzf_mt(fp->fp.bgzf, n, 256); } else if (fp->format.format == cram) { return hts_set_opt(fp, CRAM_OPT_NTHREADS, n); } else return 0; } int hts_set_fai_filename(htsFile *fp, const char *fn_aux) { free(fp->fn_aux); if (fn_aux) { fp->fn_aux = strdup(fn_aux); if (fp->fn_aux == NULL) return -1; } else fp->fn_aux = NULL; if (fp->format.format == cram) cram_set_option(fp->fp.cram, CRAM_OPT_REFERENCE, fp->fn_aux); return 0; } // For VCF/BCF backward sweeper. Not exposing these functions because their // future is uncertain. Things will probably have to change with hFILE... BGZF *hts_get_bgzfp(htsFile *fp) { if ( fp->is_bin ) return fp->fp.bgzf; else return ((kstream_t*)fp->fp.voidp)->f; } int hts_useek(htsFile *fp, long uoffset, int where) { if ( fp->is_bin ) return bgzf_useek(fp->fp.bgzf, uoffset, where); else { ks_rewind((kstream_t*)fp->fp.voidp); ((kstream_t*)fp->fp.voidp)->seek_pos = uoffset; return bgzf_useek(((kstream_t*)fp->fp.voidp)->f, uoffset, where); } } long hts_utell(htsFile *fp) { if ( fp->is_bin ) return bgzf_utell(fp->fp.bgzf); else return ((kstream_t*)fp->fp.voidp)->seek_pos; } int hts_getline(htsFile *fp, int delimiter, kstring_t *str) { int ret, dret; ret = ks_getuntil((kstream_t*)fp->fp.voidp, delimiter, str, &dret); ++fp->lineno; return ret; } char **hts_readlist(const char *string, int is_file, int *_n) { int m = 0, n = 0, dret; char **s = 0; if ( is_file ) { #if KS_BGZF BGZF *fp = bgzf_open(string, "r"); #else gzFile fp = gzopen(string, "r"); #endif if ( !fp ) return NULL; kstream_t *ks; kstring_t str; str.s = 0; str.l = str.m = 0; ks = ks_init(fp); while (ks_getuntil(ks, KS_SEP_LINE, &str, &dret) >= 0) { if (str.l == 0) continue; n++; hts_expand(char*,n,m,s); s[n-1] = strdup(str.s); } ks_destroy(ks); #if KS_BGZF bgzf_close(fp); #else gzclose(fp); #endif free(str.s); } else { const char *q = string, *p = string; while ( 1 ) { if (*p == ',' || *p == 0) { n++; hts_expand(char*,n,m,s); s[n-1] = (char*)calloc(p - q + 1, 1); strncpy(s[n-1], q, p - q); q = p + 1; } if ( !*p ) break; p++; } } s = (char**)realloc(s, n * sizeof(char*)); *_n = n; return s; } char **hts_readlines(const char *fn, int *_n) { int m = 0, n = 0, dret; char **s = 0; #if KS_BGZF BGZF *fp = bgzf_open(fn, "r"); #else gzFile fp = gzopen(fn, "r"); #endif if ( fp ) { // read from file kstream_t *ks; kstring_t str; str.s = 0; str.l = str.m = 0; ks = ks_init(fp); while (ks_getuntil(ks, KS_SEP_LINE, &str, &dret) >= 0) { if (str.l == 0) continue; if (m == n) { m = m? m<<1 : 16; s = (char**)realloc(s, m * sizeof(char*)); } s[n++] = strdup(str.s); } ks_destroy(ks); #if KS_BGZF bgzf_close(fp); #else gzclose(fp); #endif s = (char**)realloc(s, n * sizeof(char*)); free(str.s); } else if (*fn == ':') { // read from string const char *q, *p; for (q = p = fn + 1;; ++p) if (*p == ',' || *p == 0) { if (m == n) { m = m? m<<1 : 16; s = (char**)realloc(s, m * sizeof(char*)); } s[n] = (char*)calloc(p - q + 1, 1); strncpy(s[n++], q, p - q); q = p + 1; if (*p == 0) break; } } else return 0; s = (char**)realloc(s, n * sizeof(char*)); *_n = n; return s; } // DEPRECATED: To be removed in a future HTSlib release int hts_file_type(const char *fname) { int len = strlen(fname); if ( !strcasecmp(".vcf.gz",fname+len-7) ) return FT_VCF_GZ; if ( !strcasecmp(".vcf",fname+len-4) ) return FT_VCF; if ( !strcasecmp(".bcf",fname+len-4) ) return FT_BCF_GZ; if ( !strcmp("-",fname) ) return FT_STDIN; hFILE *f = hopen(fname, "r"); if (f == NULL) return 0; htsFormat fmt; if (hts_detect_format(f, &fmt) < 0) { hclose_abruptly(f); return 0; } if (hclose(f) < 0) return 0; switch (fmt.format) { case vcf: return (fmt.compression == no_compression)? FT_VCF : FT_VCF_GZ; case bcf: return (fmt.compression == no_compression)? FT_BCF : FT_BCF_GZ; default: return 0; } } /**************** *** Indexing *** ****************/ #define HTS_MIN_MARKER_DIST 0x10000 // Finds the special meta bin // ((1<<(3 * n_lvls + 3)) - 1) / 7 + 1 #define META_BIN(idx) ((idx)->n_bins + 1) #define pair64_lt(a,b) ((a).u < (b).u) #include "htslib/ksort.h" KSORT_INIT(_off, hts_pair64_t, pair64_lt) typedef struct { int32_t m, n; uint64_t loff; hts_pair64_t *list; } bins_t; #include "htslib/khash.h" KHASH_MAP_INIT_INT(bin, bins_t) typedef khash_t(bin) bidx_t; typedef struct { int32_t n, m; uint64_t *offset; } lidx_t; struct __hts_idx_t { int fmt, min_shift, n_lvls, n_bins; uint32_t l_meta; int32_t n, m; uint64_t n_no_coor; bidx_t **bidx; lidx_t *lidx; uint8_t *meta; struct { uint32_t last_bin, save_bin; int last_coor, last_tid, save_tid, finished; uint64_t last_off, save_off; uint64_t off_beg, off_end; uint64_t n_mapped, n_unmapped; } z; // keep internal states }; static inline void insert_to_b(bidx_t *b, int bin, uint64_t beg, uint64_t end) { khint_t k; bins_t *l; int absent; k = kh_put(bin, b, bin, &absent); l = &kh_value(b, k); if (absent) { l->m = 1; l->n = 0; l->list = (hts_pair64_t*)calloc(l->m, sizeof(hts_pair64_t)); } if (l->n == l->m) { l->m <<= 1; l->list = (hts_pair64_t*)realloc(l->list, l->m * sizeof(hts_pair64_t)); } l->list[l->n].u = beg; l->list[l->n++].v = end; } static inline void insert_to_l(lidx_t *l, int64_t _beg, int64_t _end, uint64_t offset, int min_shift) { int i, beg, end; beg = _beg >> min_shift; end = (_end - 1) >> min_shift; if (l->m < end + 1) { int old_m = l->m; l->m = end + 1; kroundup32(l->m); l->offset = (uint64_t*)realloc(l->offset, l->m * sizeof(uint64_t)); memset(l->offset + old_m, 0xff, 8 * (l->m - old_m)); // fill l->offset with (uint64_t)-1 } if (beg == end) { // to save a loop in this case if (l->offset[beg] == (uint64_t)-1) l->offset[beg] = offset; } else { for (i = beg; i <= end; ++i) if (l->offset[i] == (uint64_t)-1) l->offset[i] = offset; } if (l->n < end + 1) l->n = end + 1; } hts_idx_t *hts_idx_init(int n, int fmt, uint64_t offset0, int min_shift, int n_lvls) { hts_idx_t *idx; idx = (hts_idx_t*)calloc(1, sizeof(hts_idx_t)); if (idx == NULL) return NULL; idx->fmt = fmt; idx->min_shift = min_shift; idx->n_lvls = n_lvls; idx->n_bins = ((1<<(3 * n_lvls + 3)) - 1) / 7; idx->z.save_bin = idx->z.save_tid = idx->z.last_tid = idx->z.last_bin = 0xffffffffu; idx->z.save_off = idx->z.last_off = idx->z.off_beg = idx->z.off_end = offset0; idx->z.last_coor = 0xffffffffu; if (n) { idx->n = idx->m = n; idx->bidx = (bidx_t**)calloc(n, sizeof(bidx_t*)); if (idx->bidx == NULL) { free(idx); return NULL; } idx->lidx = (lidx_t*) calloc(n, sizeof(lidx_t)); if (idx->lidx == NULL) { free(idx->bidx); free(idx); return NULL; } } return idx; } static void update_loff(hts_idx_t *idx, int i, int free_lidx) { bidx_t *bidx = idx->bidx[i]; lidx_t *lidx = &idx->lidx[i]; khint_t k; int l; uint64_t offset0 = 0; if (bidx) { k = kh_get(bin, bidx, META_BIN(idx)); if (k != kh_end(bidx)) offset0 = kh_val(bidx, k).list[0].u; for (l = 0; l < lidx->n && lidx->offset[l] == (uint64_t)-1; ++l) lidx->offset[l] = offset0; } else l = 1; for (; l < lidx->n; ++l) // fill missing values if (lidx->offset[l] == (uint64_t)-1) lidx->offset[l] = lidx->offset[l-1]; if (bidx == 0) return; for (k = kh_begin(bidx); k != kh_end(bidx); ++k) // set loff if (kh_exist(bidx, k)) { if ( kh_key(bidx, k) < idx->n_bins ) { int bot_bin = hts_bin_bot(kh_key(bidx, k), idx->n_lvls); // disable linear index if bot_bin out of bounds kh_val(bidx, k).loff = bot_bin < lidx->n ? lidx->offset[bot_bin] : 0; } else kh_val(bidx, k).loff = 0; } if (free_lidx) { free(lidx->offset); lidx->m = lidx->n = 0; lidx->offset = 0; } } static void compress_binning(hts_idx_t *idx, int i) { bidx_t *bidx = idx->bidx[i]; khint_t k; int l, m; if (bidx == 0) return; // merge a bin to its parent if the bin is too small for (l = idx->n_lvls; l > 0; --l) { unsigned start = hts_bin_first(l); for (k = kh_begin(bidx); k != kh_end(bidx); ++k) { bins_t *p, *q; if (!kh_exist(bidx, k) || kh_key(bidx, k) >= idx->n_bins || kh_key(bidx, k) < start) continue; p = &kh_value(bidx, k); if (l < idx->n_lvls && p->n > 1) ks_introsort(_off, p->n, p->list); if ((p->list[p->n - 1].v>>16) - (p->list[0].u>>16) < HTS_MIN_MARKER_DIST) { khint_t kp; kp = kh_get(bin, bidx, hts_bin_parent(kh_key(bidx, k))); if (kp == kh_end(bidx)) continue; q = &kh_val(bidx, kp); if (q->n + p->n > q->m) { q->m = q->n + p->n; kroundup32(q->m); q->list = (hts_pair64_t*)realloc(q->list, q->m * sizeof(hts_pair64_t)); } memcpy(q->list + q->n, p->list, p->n * sizeof(hts_pair64_t)); q->n += p->n; free(p->list); kh_del(bin, bidx, k); } } } k = kh_get(bin, bidx, 0); if (k != kh_end(bidx)) ks_introsort(_off, kh_val(bidx, k).n, kh_val(bidx, k).list); // merge adjacent chunks that start from the same BGZF block for (k = kh_begin(bidx); k != kh_end(bidx); ++k) { bins_t *p; if (!kh_exist(bidx, k) || kh_key(bidx, k) >= idx->n_bins) continue; p = &kh_value(bidx, k); for (l = 1, m = 0; l < p->n; ++l) { if (p->list[m].v>>16 >= p->list[l].u>>16) { if (p->list[m].v < p->list[l].v) p->list[m].v = p->list[l].v; } else p->list[++m] = p->list[l]; } p->n = m + 1; } } void hts_idx_finish(hts_idx_t *idx, uint64_t final_offset) { int i; if (idx == NULL || idx->z.finished) return; // do not run this function on an empty index or multiple times if (idx->z.save_tid >= 0) { insert_to_b(idx->bidx[idx->z.save_tid], idx->z.save_bin, idx->z.save_off, final_offset); insert_to_b(idx->bidx[idx->z.save_tid], META_BIN(idx), idx->z.off_beg, final_offset); insert_to_b(idx->bidx[idx->z.save_tid], META_BIN(idx), idx->z.n_mapped, idx->z.n_unmapped); } for (i = 0; i < idx->n; ++i) { update_loff(idx, i, (idx->fmt == HTS_FMT_CSI)); compress_binning(idx, i); } idx->z.finished = 1; } int hts_idx_push(hts_idx_t *idx, int tid, int beg, int end, uint64_t offset, int is_mapped) { int bin; if (tid<0) beg = -1, end = 0; if (tid >= idx->m) { // enlarge the index int32_t oldm = idx->m; idx->m = idx->m? idx->m<<1 : 2; idx->bidx = (bidx_t**)realloc(idx->bidx, idx->m * sizeof(bidx_t*)); idx->lidx = (lidx_t*) realloc(idx->lidx, idx->m * sizeof(lidx_t)); memset(&idx->bidx[oldm], 0, (idx->m - oldm) * sizeof(bidx_t*)); memset(&idx->lidx[oldm], 0, (idx->m - oldm) * sizeof(lidx_t)); } if (idx->n < tid + 1) idx->n = tid + 1; if (idx->z.finished) return 0; if (idx->z.last_tid != tid || (idx->z.last_tid >= 0 && tid < 0)) { // change of chromosome if ( tid>=0 && idx->n_no_coor ) { if (hts_verbose >= 1) fprintf(stderr,"[E::%s] NO_COOR reads not in a single block at the end %d %d\n", __func__, tid,idx->z.last_tid); return -1; } if (tid>=0 && idx->bidx[tid] != 0) { if (hts_verbose >= 1) fprintf(stderr, "[E::%s] chromosome blocks not continuous\n", __func__); return -1; } idx->z.last_tid = tid; idx->z.last_bin = 0xffffffffu; } else if (tid >= 0 && idx->z.last_coor > beg) { // test if positions are out of order if (hts_verbose >= 1) fprintf(stderr, "[E::%s] unsorted positions\n", __func__); return -1; } if ( tid>=0 ) { if (idx->bidx[tid] == 0) idx->bidx[tid] = kh_init(bin); if ( is_mapped) insert_to_l(&idx->lidx[tid], beg, end, idx->z.last_off, idx->min_shift); // last_off points to the start of the current record } else idx->n_no_coor++; bin = hts_reg2bin(beg, end, idx->min_shift, idx->n_lvls); if ((int)idx->z.last_bin != bin) { // then possibly write the binning index if (idx->z.save_bin != 0xffffffffu) // save_bin==0xffffffffu only happens to the first record insert_to_b(idx->bidx[idx->z.save_tid], idx->z.save_bin, idx->z.save_off, idx->z.last_off); if (idx->z.last_bin == 0xffffffffu && idx->z.save_bin != 0xffffffffu) { // change of chr; keep meta information idx->z.off_end = idx->z.last_off; insert_to_b(idx->bidx[idx->z.save_tid], META_BIN(idx), idx->z.off_beg, idx->z.off_end); insert_to_b(idx->bidx[idx->z.save_tid], META_BIN(idx), idx->z.n_mapped, idx->z.n_unmapped); idx->z.n_mapped = idx->z.n_unmapped = 0; idx->z.off_beg = idx->z.off_end; } idx->z.save_off = idx->z.last_off; idx->z.save_bin = idx->z.last_bin = bin; idx->z.save_tid = tid; } if (is_mapped) ++idx->z.n_mapped; else ++idx->z.n_unmapped; idx->z.last_off = offset; idx->z.last_coor = beg; return 0; } void hts_idx_destroy(hts_idx_t *idx) { khint_t k; int i; if (idx == 0) return; // For HTS_FMT_CRAI, idx actually points to a different type -- see sam.c if (idx->fmt == HTS_FMT_CRAI) { free(idx); return; } for (i = 0; i < idx->m; ++i) { bidx_t *bidx = idx->bidx[i]; free(idx->lidx[i].offset); if (bidx == 0) continue; for (k = kh_begin(bidx); k != kh_end(bidx); ++k) if (kh_exist(bidx, k)) free(kh_value(bidx, k).list); kh_destroy(bin, bidx); } free(idx->bidx); free(idx->lidx); free(idx->meta); free(idx); } static inline long idx_read(int is_bgzf, void *fp, void *buf, long l) { if (is_bgzf) return bgzf_read((BGZF*)fp, buf, l); else return (long)fread(buf, 1, l, (FILE*)fp); } static inline long idx_write(int is_bgzf, void *fp, const void *buf, long l) { if (is_bgzf) return bgzf_write((BGZF*)fp, buf, l); else return (long)fwrite(buf, 1, l, (FILE*)fp); } static inline void swap_bins(bins_t *p) { int i; for (i = 0; i < p->n; ++i) { ed_swap_8p(&p->list[i].u); ed_swap_8p(&p->list[i].v); } } static void hts_idx_save_core(const hts_idx_t *idx, void *fp, int fmt) { int32_t i, size, is_be; int is_bgzf = (fmt != HTS_FMT_BAI); is_be = ed_is_big(); if (is_be) { uint32_t x = idx->n; idx_write(is_bgzf, fp, ed_swap_4p(&x), 4); } else idx_write(is_bgzf, fp, &idx->n, 4); if (fmt == HTS_FMT_TBI && idx->l_meta) idx_write(is_bgzf, fp, idx->meta, idx->l_meta); for (i = 0; i < idx->n; ++i) { khint_t k; bidx_t *bidx = idx->bidx[i]; lidx_t *lidx = &idx->lidx[i]; // write binning index size = bidx? kh_size(bidx) : 0; if (is_be) { // big endian uint32_t x = size; idx_write(is_bgzf, fp, ed_swap_4p(&x), 4); } else idx_write(is_bgzf, fp, &size, 4); if (bidx == 0) goto write_lidx; for (k = kh_begin(bidx); k != kh_end(bidx); ++k) { bins_t *p; if (!kh_exist(bidx, k)) continue; p = &kh_value(bidx, k); if (is_be) { // big endian uint32_t x; x = kh_key(bidx, k); idx_write(is_bgzf, fp, ed_swap_4p(&x), 4); if (fmt == HTS_FMT_CSI) { uint64_t y = kh_val(bidx, k).loff; idx_write(is_bgzf, fp, ed_swap_4p(&y), 8); } x = p->n; idx_write(is_bgzf, fp, ed_swap_4p(&x), 4); swap_bins(p); idx_write(is_bgzf, fp, p->list, 16 * p->n); swap_bins(p); } else { idx_write(is_bgzf, fp, &kh_key(bidx, k), 4); if (fmt == HTS_FMT_CSI) idx_write(is_bgzf, fp, &kh_val(bidx, k).loff, 8); //int j;for(j=0;jn;++j)fprintf(stderr,"%d,%llx,%d,%llx:%llx\n",kh_key(bidx,k),kh_val(bidx, k).loff,j,p->list[j].u,p->list[j].v); idx_write(is_bgzf, fp, &p->n, 4); idx_write(is_bgzf, fp, p->list, p->n << 4); } } write_lidx: if (fmt != HTS_FMT_CSI) { if (is_be) { int32_t x = lidx->n; idx_write(is_bgzf, fp, ed_swap_4p(&x), 4); for (x = 0; x < lidx->n; ++x) ed_swap_8p(&lidx->offset[x]); idx_write(is_bgzf, fp, lidx->offset, lidx->n << 3); for (x = 0; x < lidx->n; ++x) ed_swap_8p(&lidx->offset[x]); } else { idx_write(is_bgzf, fp, &lidx->n, 4); idx_write(is_bgzf, fp, lidx->offset, lidx->n << 3); } } } if (is_be) { // write the number of reads without coordinates uint64_t x = idx->n_no_coor; idx_write(is_bgzf, fp, &x, 8); } else idx_write(is_bgzf, fp, &idx->n_no_coor, 8); } void hts_idx_save(const hts_idx_t *idx, const char *fn, int fmt) { char *fnidx; fnidx = (char*)calloc(1, strlen(fn) + 5); strcpy(fnidx, fn); if (fmt == HTS_FMT_CSI) { BGZF *fp; uint32_t x[3]; int is_be, i; is_be = ed_is_big(); fp = bgzf_open(strcat(fnidx, ".csi"), "w"); bgzf_write(fp, "CSI\1", 4); x[0] = idx->min_shift; x[1] = idx->n_lvls; x[2] = idx->l_meta; if (is_be) { for (i = 0; i < 3; ++i) bgzf_write(fp, ed_swap_4p(&x[i]), 4); } else bgzf_write(fp, &x, 12); if (idx->l_meta) bgzf_write(fp, idx->meta, idx->l_meta); hts_idx_save_core(idx, fp, HTS_FMT_CSI); bgzf_close(fp); } else if (fmt == HTS_FMT_TBI) { BGZF *fp; fp = bgzf_open(strcat(fnidx, ".tbi"), "w"); bgzf_write(fp, "TBI\1", 4); hts_idx_save_core(idx, fp, HTS_FMT_TBI); bgzf_close(fp); } else if (fmt == HTS_FMT_BAI) { FILE *fp; fp = fopen(strcat(fnidx, ".bai"), "w"); fwrite("BAI\1", 1, 4, fp); hts_idx_save_core(idx, fp, HTS_FMT_BAI); fclose(fp); } else abort(); free(fnidx); } static int hts_idx_load_core(hts_idx_t *idx, void *fp, int fmt) { int32_t i, n, is_be; int is_bgzf = (fmt != HTS_FMT_BAI); is_be = ed_is_big(); if (idx == NULL) return -4; for (i = 0; i < idx->n; ++i) { bidx_t *h; lidx_t *l = &idx->lidx[i]; uint32_t key; int j, absent; bins_t *p; h = idx->bidx[i] = kh_init(bin); if (idx_read(is_bgzf, fp, &n, 4) != 4) return -1; if (is_be) ed_swap_4p(&n); for (j = 0; j < n; ++j) { khint_t k; if (idx_read(is_bgzf, fp, &key, 4) != 4) return -1; if (is_be) ed_swap_4p(&key); k = kh_put(bin, h, key, &absent); if (absent <= 0) return -3; // Duplicate bin number p = &kh_val(h, k); if (fmt == HTS_FMT_CSI) { if (idx_read(is_bgzf, fp, &p->loff, 8) != 8) return -1; if (is_be) ed_swap_8p(&p->loff); } else p->loff = 0; if (idx_read(is_bgzf, fp, &p->n, 4) != 4) return -1; if (is_be) ed_swap_4p(&p->n); p->m = p->n; p->list = (hts_pair64_t*)malloc(p->m * sizeof(hts_pair64_t)); if (p->list == NULL) return -2; if (idx_read(is_bgzf, fp, p->list, p->n<<4) != p->n<<4) return -1; if (is_be) swap_bins(p); } if (fmt != HTS_FMT_CSI) { // load linear index int j; if (idx_read(is_bgzf, fp, &l->n, 4) != 4) return -1; if (is_be) ed_swap_4p(&l->n); l->m = l->n; l->offset = (uint64_t*)malloc(l->n * sizeof(uint64_t)); if (l->offset == NULL) return -2; if (idx_read(is_bgzf, fp, l->offset, l->n << 3) != l->n << 3) return -1; if (is_be) for (j = 0; j < l->n; ++j) ed_swap_8p(&l->offset[j]); for (j = 1; j < l->n; ++j) // fill missing values; may happen given older samtools and tabix if (l->offset[j] == 0) l->offset[j] = l->offset[j-1]; update_loff(idx, i, 1); } } if (idx_read(is_bgzf, fp, &idx->n_no_coor, 8) != 8) idx->n_no_coor = 0; if (is_be) ed_swap_8p(&idx->n_no_coor); return 0; } hts_idx_t *hts_idx_load_local(const char *fn, int fmt) { uint8_t magic[4]; int i, is_be; hts_idx_t *idx = NULL; is_be = ed_is_big(); if (fmt == HTS_FMT_CSI) { BGZF *fp; uint32_t x[3], n; uint8_t *meta = 0; if ((fp = bgzf_open(fn, "r")) == 0) return NULL; if (bgzf_read(fp, magic, 4) != 4) goto csi_fail; if (memcmp(magic, "CSI\1", 4) != 0) goto csi_fail; if (bgzf_read(fp, x, 12) != 12) goto csi_fail; if (is_be) for (i = 0; i < 3; ++i) ed_swap_4p(&x[i]); if (x[2]) { if ((meta = (uint8_t*)malloc(x[2])) == NULL) goto csi_fail; if (bgzf_read(fp, meta, x[2]) != x[2]) goto csi_fail; } if (bgzf_read(fp, &n, 4) != 4) goto csi_fail; if (is_be) ed_swap_4p(&n); if ((idx = hts_idx_init(n, fmt, 0, x[0], x[1])) == NULL) goto csi_fail; idx->l_meta = x[2]; idx->meta = meta; meta = NULL; if (hts_idx_load_core(idx, fp, HTS_FMT_CSI) < 0) goto csi_fail; bgzf_close(fp); return idx; csi_fail: bgzf_close(fp); hts_idx_destroy(idx); free(meta); return NULL; } else if (fmt == HTS_FMT_TBI) { BGZF *fp; uint32_t x[8]; if ((fp = bgzf_open(fn, "r")) == 0) return NULL; if (bgzf_read(fp, magic, 4) != 4) goto tbi_fail; if (memcmp(magic, "TBI\1", 4) != 0) goto tbi_fail; if (bgzf_read(fp, x, 32) != 32) goto tbi_fail; if (is_be) for (i = 0; i < 8; ++i) ed_swap_4p(&x[i]); if ((idx = hts_idx_init(x[0], fmt, 0, 14, 5)) == NULL) goto tbi_fail; idx->l_meta = 28 + x[7]; if ((idx->meta = (uint8_t*)malloc(idx->l_meta)) == NULL) goto tbi_fail; memcpy(idx->meta, &x[1], 28); if (bgzf_read(fp, idx->meta + 28, x[7]) != x[7]) goto tbi_fail; if (hts_idx_load_core(idx, fp, HTS_FMT_TBI) < 0) goto tbi_fail; bgzf_close(fp); return idx; tbi_fail: bgzf_close(fp); hts_idx_destroy(idx); return NULL; } else if (fmt == HTS_FMT_BAI) { uint32_t n; FILE *fp; if ((fp = fopen(fn, "rb")) == 0) return NULL; if (fread(magic, 1, 4, fp) != 4) goto bai_fail; if (memcmp(magic, "BAI\1", 4) != 0) goto bai_fail; if (fread(&n, 4, 1, fp) != 1) goto bai_fail; if (is_be) ed_swap_4p(&n); idx = hts_idx_init(n, fmt, 0, 14, 5); if (hts_idx_load_core(idx, fp, HTS_FMT_BAI) < 0) goto bai_fail; fclose(fp); return idx; bai_fail: fclose(fp); hts_idx_destroy(idx); return NULL; } else abort(); } void hts_idx_set_meta(hts_idx_t *idx, int l_meta, uint8_t *meta, int is_copy) { if (idx->meta) free(idx->meta); idx->l_meta = l_meta; if (is_copy) { idx->meta = (uint8_t*)malloc(l_meta); memcpy(idx->meta, meta, l_meta); } else idx->meta = meta; } uint8_t *hts_idx_get_meta(hts_idx_t *idx, int *l_meta) { *l_meta = idx->l_meta; return idx->meta; } const char **hts_idx_seqnames(const hts_idx_t *idx, int *n, hts_id2name_f getid, void *hdr) { if ( !idx->n ) { *n = 0; return NULL; } int tid = 0, i; const char **names = (const char**) calloc(idx->n,sizeof(const char*)); for (i=0; in; i++) { bidx_t *bidx = idx->bidx[i]; if ( !bidx ) continue; names[tid++] = getid(hdr,i); } *n = tid; return names; } int hts_idx_get_stat(const hts_idx_t* idx, int tid, uint64_t* mapped, uint64_t* unmapped) { if ( idx->fmt == HTS_FMT_CRAI ) { *mapped = 0; *unmapped = 0; return -1; } bidx_t *h = idx->bidx[tid]; khint_t k = kh_get(bin, h, META_BIN(idx)); if (k != kh_end(h)) { *mapped = kh_val(h, k).list[1].u; *unmapped = kh_val(h, k).list[1].v; return 0; } else { *mapped = 0; *unmapped = 0; return -1; } } uint64_t hts_idx_get_n_no_coor(const hts_idx_t* idx) { return idx->n_no_coor; } /**************** *** Iterator *** ****************/ static inline int reg2bins(int64_t beg, int64_t end, hts_itr_t *itr, int min_shift, int n_lvls) { int l, t, s = min_shift + (n_lvls<<1) + n_lvls; if (beg >= end) return 0; if (end >= 1LL<>s); e = t + (end>>s); n = e - b + 1; if (itr->bins.n + n > itr->bins.m) { itr->bins.m = itr->bins.n + n; kroundup32(itr->bins.m); itr->bins.a = (int*)realloc(itr->bins.a, sizeof(int) * itr->bins.m); } for (i = b; i <= e; ++i) itr->bins.a[itr->bins.n++] = i; } return itr->bins.n; } hts_itr_t *hts_itr_query(const hts_idx_t *idx, int tid, int beg, int end, hts_readrec_func *readrec) { int i, n_off, l, bin; hts_pair64_t *off; khint_t k; bidx_t *bidx; uint64_t min_off; hts_itr_t *iter = 0; if (tid < 0) { int finished0 = 0; uint64_t off0 = (uint64_t)-1; khint_t k; switch (tid) { case HTS_IDX_START: // Find the smallest offset, note that sequence ids may not be ordered sequentially for (i=0; in; i++) { bidx = idx->bidx[i]; k = kh_get(bin, bidx, META_BIN(idx)); if (k == kh_end(bidx)) continue; if ( off0 > kh_val(bidx, k).list[0].u ) off0 = kh_val(bidx, k).list[0].u; } if ( off0==(uint64_t)-1 && idx->n_no_coor ) off0 = 0; // only no-coor reads in this bam break; case HTS_IDX_NOCOOR: if ( idx->n>0 ) { bidx = idx->bidx[idx->n - 1]; k = kh_get(bin, bidx, META_BIN(idx)); if (k != kh_end(bidx)) off0 = kh_val(bidx, k).list[0].v; } if ( off0==(uint64_t)-1 && idx->n_no_coor ) off0 = 0; // only no-coor reads in this bam break; case HTS_IDX_REST: off0 = 0; break; case HTS_IDX_NONE: finished0 = 1; off0 = 0; break; default: return 0; } if (off0 != (uint64_t)-1) { iter = (hts_itr_t*)calloc(1, sizeof(hts_itr_t)); iter->read_rest = 1; iter->finished = finished0; iter->curr_off = off0; iter->readrec = readrec; return iter; } else return 0; } if (beg < 0) beg = 0; if (end < beg) return 0; if (tid >= idx->n || (bidx = idx->bidx[tid]) == NULL) return 0; iter = (hts_itr_t*)calloc(1, sizeof(hts_itr_t)); iter->tid = tid, iter->beg = beg, iter->end = end; iter->i = -1; iter->readrec = readrec; // compute min_off bin = hts_bin_first(idx->n_lvls) + (beg>>idx->min_shift); do { int first; k = kh_get(bin, bidx, bin); if (k != kh_end(bidx)) break; first = (hts_bin_parent(bin)<<3) + 1; if (bin > first) --bin; else bin = hts_bin_parent(bin); } while (bin); if (bin == 0) k = kh_get(bin, bidx, bin); min_off = k != kh_end(bidx)? kh_val(bidx, k).loff : 0; // retrieve bins reg2bins(beg, end, iter, idx->min_shift, idx->n_lvls); for (i = n_off = 0; i < iter->bins.n; ++i) if ((k = kh_get(bin, bidx, iter->bins.a[i])) != kh_end(bidx)) n_off += kh_value(bidx, k).n; if (n_off == 0) return iter; off = (hts_pair64_t*)calloc(n_off, sizeof(hts_pair64_t)); for (i = n_off = 0; i < iter->bins.n; ++i) { if ((k = kh_get(bin, bidx, iter->bins.a[i])) != kh_end(bidx)) { int j; bins_t *p = &kh_value(bidx, k); for (j = 0; j < p->n; ++j) if (p->list[j].v > min_off) off[n_off++] = p->list[j]; } } if (n_off == 0) { free(off); return iter; } ks_introsort(_off, n_off, off); // resolve completely contained adjacent blocks for (i = 1, l = 0; i < n_off; ++i) if (off[l].v < off[i].v) off[++l] = off[i]; n_off = l + 1; // resolve overlaps between adjacent blocks; this may happen due to the merge in indexing for (i = 1; i < n_off; ++i) if (off[i-1].v >= off[i].u) off[i-1].v = off[i].u; // merge adjacent blocks for (i = 1, l = 0; i < n_off; ++i) { if (off[l].v>>16 == off[i].u>>16) off[l].v = off[i].v; else off[++l] = off[i]; } n_off = l + 1; iter->n_off = n_off; iter->off = off; return iter; } void hts_itr_destroy(hts_itr_t *iter) { if (iter) { free(iter->off); free(iter->bins.a); free(iter); } } const char *hts_parse_reg(const char *s, int *beg, int *end) { int i, k, l, name_end; *beg = *end = -1; name_end = l = strlen(s); // determine the sequence name for (i = l - 1; i >= 0; --i) if (s[i] == ':') break; // look for colon from the end if (i >= 0) name_end = i; if (name_end < l) { // check if this is really the end int n_hyphen = 0; for (i = name_end + 1; i < l; ++i) { if (s[i] == '-') ++n_hyphen; else if (!isdigit(s[i]) && s[i] != ',') break; } if (i < l || n_hyphen > 1) name_end = l; // malformated region string; then take str as the name } // parse the interval if (name_end < l) { char *tmp; tmp = (char*)alloca(l - name_end + 1); for (i = name_end + 1, k = 0; i < l; ++i) if (s[i] != ',') tmp[k++] = s[i]; tmp[k] = 0; if ((*beg = strtol(tmp, &tmp, 10) - 1) < 0) *beg = 0; *end = *tmp? strtol(tmp + 1, &tmp, 10) : INT_MAX; if (*beg > *end) name_end = l; } if (name_end == l) *beg = 0, *end = INT_MAX; return s + name_end; } hts_itr_t *hts_itr_querys(const hts_idx_t *idx, const char *reg, hts_name2id_f getid, void *hdr, hts_itr_query_func *itr_query, hts_readrec_func *readrec) { int tid, beg, end; char *q, *tmp; if (strcmp(reg, ".") == 0) return itr_query(idx, HTS_IDX_START, 0, 0, readrec); else if (strcmp(reg, "*") != 0) { q = (char*)hts_parse_reg(reg, &beg, &end); tmp = (char*)alloca(q - reg + 1); strncpy(tmp, reg, q - reg); tmp[q - reg] = 0; if ((tid = getid(hdr, tmp)) < 0) tid = getid(hdr, reg); if (tid < 0) return 0; return itr_query(idx, tid, beg, end, readrec); } else return itr_query(idx, HTS_IDX_NOCOOR, 0, 0, readrec); } int hts_itr_next(BGZF *fp, hts_itr_t *iter, void *r, void *data) { int ret, tid, beg, end; if (iter == NULL || iter->finished) return -1; if (iter->read_rest) { if (iter->curr_off) { // seek to the start bgzf_seek(fp, iter->curr_off, SEEK_SET); iter->curr_off = 0; // only seek once } ret = iter->readrec(fp, data, r, &tid, &beg, &end); if (ret < 0) iter->finished = 1; iter->curr_tid = tid; iter->curr_beg = beg; iter->curr_end = end; return ret; } if (iter->off == 0) return -1; for (;;) { if (iter->curr_off == 0 || iter->curr_off >= iter->off[iter->i].v) { // then jump to the next chunk if (iter->i == iter->n_off - 1) { ret = -1; break; } // no more chunks if (iter->i < 0 || iter->off[iter->i].v != iter->off[iter->i+1].u) { // not adjacent chunks; then seek bgzf_seek(fp, iter->off[iter->i+1].u, SEEK_SET); iter->curr_off = bgzf_tell(fp); } ++iter->i; } if ((ret = iter->readrec(fp, data, r, &tid, &beg, &end)) >= 0) { iter->curr_off = bgzf_tell(fp); if (tid != iter->tid || beg >= iter->end) { // no need to proceed ret = -1; break; } else if (end > iter->beg && iter->end > beg) { iter->curr_tid = tid; iter->curr_beg = beg; iter->curr_end = end; return ret; } } else break; // end of file or error } iter->finished = 1; return ret; } /********************** *** Retrieve index *** **********************/ static char *test_and_fetch(const char *fn) { FILE *fp; if (hisremote(fn)) { const int buf_size = 1 * 1024 * 1024; hFILE *fp_remote; uint8_t *buf; int l; const char *p; for (p = fn + strlen(fn) - 1; p >= fn; --p) if (*p == '/') break; ++p; // p now points to the local file name // Attempt to open local file first if ((fp = fopen((char*)p, "rb")) != 0) { fclose(fp); return (char*)p; } // Attempt to open remote file. Stay quiet on failure, it is OK to fail when trying first .csi then .tbi index. if ((fp_remote = hopen(fn, "r")) == 0) return 0; if ((fp = fopen(p, "w")) == 0) { if (hts_verbose >= 1) fprintf(stderr, "[E::%s] fail to create file '%s' in the working directory\n", __func__, p); hclose_abruptly(fp_remote); return 0; } if (hts_verbose >= 3) fprintf(stderr, "[M::%s] downloading file '%s' to local directory\n", __func__, fn); buf = (uint8_t*)calloc(buf_size, 1); while ((l = hread(fp_remote, buf, buf_size)) > 0) fwrite(buf, 1, l, fp); free(buf); fclose(fp); if (hclose(fp_remote) != 0) fprintf(stderr, "[E::%s] fail to close remote file '%s'\n", __func__, fn); return (char*)p; } else { if ((fp = fopen(fn, "rb")) == 0) return 0; fclose(fp); return (char*)fn; } } char *hts_idx_getfn(const char *fn, const char *ext) { int i, l_fn, l_ext; char *fnidx, *ret; l_fn = strlen(fn); l_ext = strlen(ext); fnidx = (char*)calloc(l_fn + l_ext + 1, 1); strcpy(fnidx, fn); strcpy(fnidx + l_fn, ext); if ((ret = test_and_fetch(fnidx)) == 0) { for (i = l_fn - 1; i > 0; --i) if (fnidx[i] == '.') break; strcpy(fnidx + i, ext); ret = test_and_fetch(fnidx); } if (ret == 0) { free(fnidx); return 0; } l_fn = strlen(ret); memmove(fnidx, ret, l_fn + 1); return fnidx; } hts_idx_t *hts_idx_load(const char *fn, int fmt) { char *fnidx; hts_idx_t *idx; fnidx = hts_idx_getfn(fn, ".csi"); if (fnidx) fmt = HTS_FMT_CSI; else fnidx = hts_idx_getfn(fn, fmt == HTS_FMT_BAI? ".bai" : ".tbi"); if (fnidx == 0) return 0; // Check that the index file is up to date, the main file might have changed struct stat stat_idx,stat_main; if ( !stat(fn, &stat_main) && !stat(fnidx, &stat_idx) ) { if ( stat_idx.st_mtime < stat_main.st_mtime ) fprintf(stderr, "Warning: The index file is older than the data file: %s\n", fnidx); } idx = hts_idx_load_local(fnidx, fmt); free(fnidx); return idx; } htslib-1.2.1/htsfile.1000066400000000000000000000055571246417267700145540ustar00rootroot00000000000000.TH htsfile 1 "3 February 2015" "htslib-1.2.1" "Bioinformatics tools" .SH NAME htsfile \- identify high-throughput sequencing data files .\" .\" Copyright (C) 2015 Genome Research Ltd. .\" .\" Author: John Marshall .\" .\" Permission is hereby granted, free of charge, to any person obtaining a .\" copy of this software and associated documentation files (the "Software"), .\" to deal in the Software without restriction, including without limitation .\" the rights to use, copy, modify, merge, publish, distribute, sublicense, .\" and/or sell copies of the Software, and to permit persons to whom the .\" Software is furnished to do so, subject to the following conditions: .\" .\" The above copyright notice and this permission notice shall be included in .\" all copies or substantial portions of the Software. .\" .\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR .\" IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, .\" FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL .\" THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER .\" LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING .\" FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER .\" DEALINGS IN THE SOFTWARE. .\" .SH SYNOPSIS .B htsfile .RB [ -chH ] .IR FILE ... .SH DESCRIPTION The \fBhtsfile\fR utility attempts to identify what kind of high-throughput sequencing data files the specified files are, and provides minimal viewing capabilities for some kinds of data file. .P It can identify sequencing data files such as SAM, BAM, and CRAM; variant calling data files such as VCF and BCF; index files used to index these data files; and compressed versions of many of them. .P For each \fIFILE\fR given, \fBhtsfile\fP prints a description of the file format determined, using similar keyword conventions to \fBfile\fP(1): "text" indicates a textual file that can probably be viewed on a terminal; "data" indicates binary data; "sequence", "variant calling", and "index" indicate different categories of data file. When it can be identified, the name of the particular file format (such as "BAM" or "VCF") is printed at the start of the description. .P When used to view file contents as text, \fBhtsfile\fP can optionally show only headers or only data records, but has no other filtering capabilities. Use \fBsamtools\fR or \fBbcftools\fR if you need more extensive viewing or filtering capabilities. .P The following options are accepted: .TP 4n .BR -c ", " --view Instead of identifying the specified files, display a textual representation of their contents on standard output. .TP .BR -h ", " --header-only Display data file headers only. Implies \fB--view\fR. .TP .BR -H ", " --no-header When viewing files, display data records only. .PP .SH SEE ALSO .IR bcftools (1), .IR file (1), .IR samtools (1) htslib-1.2.1/htsfile.c000066400000000000000000000122661246417267700146310ustar00rootroot00000000000000/* htsfile.c -- file identifier and minimal viewer. Copyright (C) 2014-2015 Genome Research Ltd. Author: John Marshall Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ #include #include #include #include #include #include "htslib/hfile.h" #include "htslib/hts.h" #include "htslib/sam.h" #include "htslib/vcf.h" enum { identify, view_headers, view_all } mode = identify; int show_headers = 1; static htsFile *dup_stdout(const char *mode) { int fd = dup(STDOUT_FILENO); hFILE *hfp = (fd >= 0)? hdopen(fd, mode) : NULL; return hfp? hts_hopen(hfp, "-", mode) : NULL; } static int view_sam(hFILE *hfp, const char *filename) { samFile *in = hts_hopen(hfp, filename, "r"); if (in == NULL) return 0; samFile *out = dup_stdout("w"); bam_hdr_t *hdr = sam_hdr_read(in); if (show_headers) sam_hdr_write(out, hdr); if (mode == view_all) { bam1_t *b = bam_init1(); while (sam_read1(in, hdr, b) >= 0) sam_write1(out, hdr, b); bam_destroy1(b); } bam_hdr_destroy(hdr); hts_close(out); hts_close(in); return 1; } static int view_vcf(hFILE *hfp, const char *filename) { vcfFile *in = hts_hopen(hfp, filename, "r"); if (in == NULL) return 0; vcfFile *out = dup_stdout("w"); bcf_hdr_t *hdr = bcf_hdr_read(in); if (show_headers) bcf_hdr_write(out, hdr); if (mode == view_all) { bcf1_t *rec = bcf_init(); while (bcf_read(in, hdr, rec) >= 0) bcf_write(out, hdr, rec); bcf_destroy(rec); } bcf_hdr_destroy(hdr); hts_close(out); hts_close(in); return 1; } static void usage(FILE *fp, int status) { fprintf(fp, "Usage: htsfile [-chH] FILE...\n" "Options:\n" " -c, --view Write textual form of FILEs to standard output\n" " -h, --header-only Display only headers in view mode, not records\n" " -H, --no-header Suppress header display in view mode\n"); exit(status); } int main(int argc, char **argv) { static const struct option options[] = { { "header-only", no_argument, NULL, 'h' }, { "no-header", no_argument, NULL, 'H' }, { "view", no_argument, NULL, 'c' }, { "help", no_argument, NULL, '?' }, { "version", no_argument, NULL, 1 }, { NULL, 0, NULL, 0 } }; int status = EXIT_SUCCESS; int c, i; while ((c = getopt_long(argc, argv, "chH?", options, NULL)) >= 0) switch (c) { case 'c': mode = view_all; break; case 'h': mode = view_headers; show_headers = 1; break; case 'H': show_headers = 0; break; case 1: printf( "htsfile (htslib) %s\n" "Copyright (C) 2015 Genome Research Ltd.\n", hts_version()); exit(EXIT_SUCCESS); break; case '?': usage(stdout, EXIT_SUCCESS); break; default: usage(stderr, EXIT_FAILURE); break; } if (optind == argc) usage(stderr, EXIT_FAILURE); for (i = optind; i < argc; i++) { htsFormat fmt; hFILE *fp = hopen(argv[i], "r"); if (fp == NULL) { fprintf(stderr, "htsfile: can't open \"%s\": %s\n", argv[i], strerror(errno)); status = EXIT_FAILURE; continue; } if (hts_detect_format(fp, &fmt) < 0) { fprintf(stderr, "htsfile: detecting \"%s\" format failed: %s\n", argv[i], strerror(errno)); hclose_abruptly(fp); status = EXIT_FAILURE; continue; } if (mode == identify) { char *description = hts_format_description(&fmt); printf("%s:\t%s\n", argv[i], description); free(description); } else switch (fmt.category) { case sequence_data: if (view_sam(fp, argv[i])) fp = NULL; break; case variant_data: if (view_vcf(fp, argv[i])) fp = NULL; break; default: fprintf(stderr, "htsfile: can't view %s: unknown format\n", argv[i]); status = EXIT_FAILURE; break; } if (fp && hclose(fp) < 0) { fprintf(stderr, "htsfile: closing %s failed\n", argv[i]); status = EXIT_FAILURE; } } return status; } htslib-1.2.1/htslib.mk000066400000000000000000000115471246417267700146460ustar00rootroot00000000000000# Makefile rules useful for third-party code using htslib's public API. # # Copyright (C) 2013-2015 Genome Research Ltd. # # Author: John Marshall # # Permission is hereby granted, free of charge, to any person obtaining a copy # of this software and associated documentation files (the "Software"), to deal # in the Software without restriction, including without limitation the rights # to use, copy, modify, merge, publish, distribute, sublicense, and/or sell # copies of the Software, and to permit persons to whom the Software is # furnished to do so, subject to the following conditions: # # The above copyright notice and this permission notice shall be included in # all copies or substantial portions of the Software. # # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL # THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER # LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING # FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER # DEALINGS IN THE SOFTWARE. # The makefile fragment included below provides variables that can be used # to express dependencies on headers supplied by an in-development htslib. # If your source file foo.c #includes and , # you can write the correct prerequisites for foo.o as: # # HTSDIR = # include $(HTSDIR)/htslib.mk # # foo.o: foo.c $(htslib_hts_h) $(HTSDIR)/htslib/kstring.h # # Variables are not provided for k*.h, as those never include other headers. HTSPREFIX = $(HTSDIR)/ include $(HTSDIR)/htslib_vars.mk # Rules for rebuilding an in-development htslib's static and shared libraries. # If your program foo links with libhts, adding the appropriate prerequisite # will cause the library to be rebuilt as necessary: # # foo: foo.o $(HTSDIR)/libhts.a # # or similarly if your target requires any of the tools supplied: # # bar.bed.bgz.tbi: bar.bed.bgz $(HTSDIR)/tabix # $(HTSDIR)/tabix -p bed bar.bed.bgz HTSLIB_PUBLIC_HEADERS = \ $(HTSDIR)/htslib/bgzf.h \ $(HTSDIR)/htslib/faidx.h \ $(HTSDIR)/htslib/hfile.h \ $(HTSDIR)/htslib/hts.h \ $(HTSDIR)/htslib/hts_defs.h \ $(HTSDIR)/htslib/khash.h \ $(HTSDIR)/htslib/klist.h \ $(HTSDIR)/htslib/knetfile.h \ $(HTSDIR)/htslib/kseq.h \ $(HTSDIR)/htslib/ksort.h \ $(HTSDIR)/htslib/kstring.h \ $(HTSDIR)/htslib/regidx.h \ $(HTSDIR)/htslib/sam.h \ $(HTSDIR)/htslib/synced_bcf_reader.h \ $(HTSDIR)/htslib/tbx.h \ $(HTSDIR)/htslib/vcf.h \ $(HTSDIR)/htslib/vcf_sweep.h \ $(HTSDIR)/htslib/vcfutils.h HTSLIB_ALL = \ $(HTSLIB_PUBLIC_HEADERS) \ $(HTSDIR)/bgzf.c \ $(HTSDIR)/faidx.c \ $(HTSDIR)/hfile_internal.h \ $(HTSDIR)/hfile.c \ $(HTSDIR)/hfile_irods.c \ $(HTSDIR)/hfile_net.c \ $(HTSDIR)/hts.c \ $(HTSDIR)/knetfile.c \ $(HTSDIR)/kstring.c \ $(HTSDIR)/regidx.c \ $(HTSDIR)/sam.c \ $(HTSDIR)/synced_bcf_reader.c \ $(HTSDIR)/tbx.c \ $(HTSDIR)/vcf.c \ $(HTSDIR)/vcf_sweep.c \ $(HTSDIR)/vcfutils.c \ $(HTSDIR)/cram/cram.h \ $(HTSDIR)/cram/cram_codecs.c \ $(HTSDIR)/cram/cram_codecs.h \ $(HTSDIR)/cram/cram_decode.c \ $(HTSDIR)/cram/cram_decode.h \ $(HTSDIR)/cram/cram_encode.c \ $(HTSDIR)/cram/cram_encode.h \ $(HTSDIR)/cram/cram_index.c \ $(HTSDIR)/cram/cram_index.h \ $(HTSDIR)/cram/cram_io.c \ $(HTSDIR)/cram/cram_io.h \ $(HTSDIR)/cram/cram_samtools.c \ $(HTSDIR)/cram/cram_samtools.h \ $(HTSDIR)/cram/cram_stats.c \ $(HTSDIR)/cram/cram_stats.h \ $(HTSDIR)/cram/cram_structs.h \ $(HTSDIR)/cram/files.c \ $(HTSDIR)/cram/mFILE.c \ $(HTSDIR)/cram/mFILE.h \ $(HTSDIR)/cram/md5.c \ $(HTSDIR)/cram/md5.h \ $(HTSDIR)/cram/misc.h \ $(HTSDIR)/cram/open_trace_file.c \ $(HTSDIR)/cram/open_trace_file.h \ $(HTSDIR)/cram/os.h \ $(HTSDIR)/cram/pooled_alloc.c \ $(HTSDIR)/cram/pooled_alloc.h \ $(HTSDIR)/cram/sam_header.c \ $(HTSDIR)/cram/sam_header.h \ $(HTSDIR)/cram/string_alloc.c \ $(HTSDIR)/cram/string_alloc.h \ $(HTSDIR)/cram/thread_pool.c \ $(HTSDIR)/cram/thread_pool.h \ $(HTSDIR)/cram/vlen.c \ $(HTSDIR)/cram/vlen.h \ $(HTSDIR)/cram/zfio.c \ $(HTSDIR)/cram/zfio.h $(HTSDIR)/libhts.a: $(HTSLIB_ALL) +cd $(HTSDIR) && $(MAKE) lib-static $(HTSDIR)/libhts.so $(HTSDIR)/libhts.dylib: $(HTSLIB_ALL) +cd $(HTSDIR) && $(MAKE) lib-shared $(HTSDIR)/bgzip: $(HTSDIR)/bgzip.c $(HTSLIB_PUBLIC_HEADERS) +cd $(HTSDIR) && $(MAKE) bgzip $(HTSDIR)/htsfile: $(HTSDIR)/htsfile.c $(HTSLIB_PUBLIC_HEADERS) +cd $(HTSDIR) && $(MAKE) htsfile $(HTSDIR)/tabix: $(HTSDIR)/tabix.c $(HTSLIB_PUBLIC_HEADERS) +cd $(HTSDIR) && $(MAKE) tabix # Rules for phony targets. You may wish to have your corresponding phony # targets invoke these in addition to their own recipes: # # clean: clean-htslib clean-htslib install-htslib: +cd $(HTSDIR) && $(MAKE) $(@:-htslib=) .PHONY: clean-htslib install-htslib htslib-1.2.1/htslib.pc.in000066400000000000000000000004111246417267700152320ustar00rootroot00000000000000includedir=@includedir@ libdir=@libdir@ Name: htslib Description: C library for high-throughput sequencing data formats Version: @PACKAGE_VERSION@ Cflags: -I${includedir} Libs: -L${libdir} -lhts Libs.private: -L${libdir} -lhts -lm -lpthread Requires.private: zlib htslib-1.2.1/htslib/000077500000000000000000000000001246417267700143055ustar00rootroot00000000000000htslib-1.2.1/htslib/bgzf.h000066400000000000000000000244341246417267700154150ustar00rootroot00000000000000/* The MIT License Copyright (c) 2008 Broad Institute / Massachusetts Institute of Technology 2011, 2012 Attractive Chaos Copyright (C) 2009, 2013, 2014 Genome Research Ltd Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ /* The BGZF library was originally written by Bob Handsaker from the Broad * Institute. It was later improved by the SAMtools developers. */ #ifndef HTSLIB_BGZF_H #define HTSLIB_BGZF_H #include #include #include #include #define BGZF_BLOCK_SIZE 0xff00 // make sure compressBound(BGZF_BLOCK_SIZE) < BGZF_MAX_BLOCK_SIZE #define BGZF_MAX_BLOCK_SIZE 0x10000 #define BGZF_ERR_ZLIB 1 #define BGZF_ERR_HEADER 2 #define BGZF_ERR_IO 4 #define BGZF_ERR_MISUSE 8 struct hFILE; struct bgzf_mtaux_t; typedef struct __bgzidx_t bgzidx_t; struct BGZF { int errcode:16, is_write:2, is_be:2, compress_level:9, is_compressed:2, is_gzip:1; int cache_size; int block_length, block_offset; int64_t block_address, uncompressed_address; void *uncompressed_block, *compressed_block; void *cache; // a pointer to a hash table struct hFILE *fp; // actual file handle struct bgzf_mtaux_t *mt; // only used for multi-threading bgzidx_t *idx; // BGZF index int idx_build_otf; // build index on the fly, set by bgzf_index_build_init() z_stream *gz_stream;// for gzip-compressed files }; #ifndef HTS_BGZF_TYPEDEF typedef struct BGZF BGZF; #define HTS_BGZF_TYPEDEF #endif #ifndef KSTRING_T #define KSTRING_T kstring_t typedef struct __kstring_t { size_t l, m; char *s; } kstring_t; #endif #ifdef __cplusplus extern "C" { #endif /****************** * Basic routines * ******************/ /** * Open an existing file descriptor for reading or writing. * * @param fd file descriptor * @param mode mode matching /[rwag][u0-9]+/: 'r' for reading, 'w' for * writing, 'a' for appending, 'g' for gzip rather than BGZF * compression (with 'w' only), and digit specifies the zlib * compression level. * Note that there is a distinction between 'u' and '0': the * first yields plain uncompressed output whereas the latter * outputs uncompressed data wrapped in the zlib format. * @return BGZF file handler; 0 on error */ BGZF* bgzf_dopen(int fd, const char *mode); #define bgzf_fdopen(fd, mode) bgzf_dopen((fd), (mode)) // for backward compatibility /** * Open the specified file for reading or writing. */ BGZF* bgzf_open(const char* path, const char *mode); /** * Open an existing hFILE stream for reading or writing. */ BGZF* bgzf_hopen(struct hFILE *fp, const char *mode); /** * Close the BGZF and free all associated resources. * * @param fp BGZF file handler * @return 0 on success and -1 on error */ int bgzf_close(BGZF *fp); /** * Read up to _length_ bytes from the file storing into _data_. * * @param fp BGZF file handler * @param data data array to read into * @param length size of data to read * @return number of bytes actually read; 0 on end-of-file and -1 on error */ ssize_t bgzf_read(BGZF *fp, void *data, size_t length); /** * Write _length_ bytes from _data_ to the file. If no I/O errors occur, * the complete _length_ bytes will be written (or queued for writing). * * @param fp BGZF file handler * @param data data array to write * @param length size of data to write * @return number of bytes written (i.e., _length_); negative on error */ ssize_t bgzf_write(BGZF *fp, const void *data, size_t length); /** * Read up to _length_ bytes directly from the underlying stream without * decompressing. Bypasses BGZF blocking, so must be used with care in * specialised circumstances only. * * @param fp BGZF file handler * @param data data array to read into * @param length number of raw bytes to read * @return number of bytes actually read; 0 on end-of-file and -1 on error */ ssize_t bgzf_raw_read(BGZF *fp, void *data, size_t length); /** * Write _length_ bytes directly to the underlying stream without * compressing. Bypasses BGZF blocking, so must be used with care * in specialised circumstances only. * * @param fp BGZF file handler * @param data data array to write * @param length number of raw bytes to write * @return number of bytes actually written; -1 on error */ ssize_t bgzf_raw_write(BGZF *fp, const void *data, size_t length); /** * Write the data in the buffer to the file. */ int bgzf_flush(BGZF *fp); /** * Return a virtual file pointer to the current location in the file. * No interpetation of the value should be made, other than a subsequent * call to bgzf_seek can be used to position the file at the same point. * Return value is non-negative on success. */ #define bgzf_tell(fp) (((fp)->block_address << 16) | ((fp)->block_offset & 0xFFFF)) /** * Set the file to read from the location specified by _pos_. * * @param fp BGZF file handler * @param pos virtual file offset returned by bgzf_tell() * @param whence must be SEEK_SET * @return 0 on success and -1 on error */ int64_t bgzf_seek(BGZF *fp, int64_t pos, int whence); /** * Check if the BGZF end-of-file (EOF) marker is present * * @param fp BGZF file handler opened for reading * @return 1 if the EOF marker is present and correct; * 2 if it can't be checked, e.g., because fp isn't seekable; * 0 if the EOF marker is absent; * -1 (with errno set) on error */ int bgzf_check_EOF(BGZF *fp); /** * Check if a file is in the BGZF format * * @param fn file name * @return 1 if _fn_ is BGZF; 0 if not or on I/O error */ int bgzf_is_bgzf(const char *fn); /********************* * Advanced routines * *********************/ /** * Set the cache size. Only effective when compiled with -DBGZF_CACHE. * * @param fp BGZF file handler * @param size size of cache in bytes; 0 to disable caching (default) */ void bgzf_set_cache_size(BGZF *fp, int size); /** * Flush the file if the remaining buffer size is smaller than _size_ * @return 0 if flushing succeeded or was not needed; negative on error */ int bgzf_flush_try(BGZF *fp, ssize_t size); /** * Read one byte from a BGZF file. It is faster than bgzf_read() * @param fp BGZF file handler * @return byte read; -1 on end-of-file or error */ int bgzf_getc(BGZF *fp); /** * Read one line from a BGZF file. It is faster than bgzf_getc() * * @param fp BGZF file handler * @param delim delimitor * @param str string to write to; must be initialized * @return length of the string; 0 on end-of-file; negative on error */ int bgzf_getline(BGZF *fp, int delim, kstring_t *str); /** * Read the next BGZF block. */ int bgzf_read_block(BGZF *fp); /** * Enable multi-threading (only effective on writing and when the * library was compiled with -DBGZF_MT) * * @param fp BGZF file handler; must be opened for writing * @param n_threads #threads used for writing * @param n_sub_blks #blocks processed by each thread; a value 64-256 is recommended */ int bgzf_mt(BGZF *fp, int n_threads, int n_sub_blks); /******************* * bgzidx routines * *******************/ /** * Position BGZF at the uncompressed offset * * @param fp BGZF file handler; must be opened for reading * @param uoffset file offset in the uncompressed data * @param where SEEK_SET supported atm * * Returns 0 on success and -1 on error. */ int bgzf_useek(BGZF *fp, long uoffset, int where); /** * Position in uncompressed BGZF * * @param fp BGZF file handler; must be opened for reading * * Returns the current offset on success and -1 on error. */ long bgzf_utell(BGZF *fp); /** * Tell BGZF to build index while compressing. * * @param fp BGZF file handler; can be opened for reading or writing. * * Returns 0 on success and -1 on error. */ int bgzf_index_build_init(BGZF *fp); /** * Load BGZF index * * @param fp BGZF file handler * @param bname base name * @param suffix suffix to add to bname (can be NULL) * * Returns 0 on success and -1 on error. */ int bgzf_index_load(BGZF *fp, const char *bname, const char *suffix); /** * Save BGZF index * * @param fp BGZF file handler * @param bname base name * @param suffix suffix to add to bname (can be NULL) * * Returns 0 on success and -1 on error. */ int bgzf_index_dump(BGZF *fp, const char *bname, const char *suffix); #ifdef __cplusplus } #endif #endif htslib-1.2.1/htslib/faidx.h000066400000000000000000000105731246417267700155570ustar00rootroot00000000000000/* faidx.h -- FASTA random access. Copyright (C) 2008, 2009, 2013, 2014 Genome Research Ltd. Author: Heng Li Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ #ifndef HTSLIB_FAIDX_H #define HTSLIB_FAIDX_H /*! @header Index FASTA files and extract subsequence. The fai file index columns are: - chromosome name - chromosome length: number of bases - offset: number of bytes to skip to get to the first base from the beginning of the file, including the length of the sequence description string (">chr ..\n") - line length: number of bases per line (excluding \n) - binary line length: number of bytes, including \n @copyright The Wellcome Trust Sanger Institute. */ struct __faidx_t; typedef struct __faidx_t faidx_t; #ifdef __cplusplus extern "C" { #endif /*! @abstract Build index for a FASTA or bgzip-compressed FASTA file. @param fn FASTA file name @return 0 on success; or -1 on failure @discussion File "fn.fai" will be generated. */ int fai_build(const char *fn); /*! @abstract Destroy a faidx_t struct. @param fai Pointer to the struct to be destroyed */ void fai_destroy(faidx_t *fai); /*! @abstract Load index from "fn.fai". @param fn File name of the FASTA file */ faidx_t *fai_load(const char *fn); /*! @abstract Fetch the sequence in a region. @param fai Pointer to the faidx_t struct @param reg Region in the format "chr2:20,000-30,000" @param len Length of the region; -2 if seq not present, -1 general error @return Pointer to the sequence; null on failure @discussion The returned sequence is allocated by malloc family and should be destroyed by end users by calling free() on it. */ char *fai_fetch(const faidx_t *fai, const char *reg, int *len); /*! @abstract Fetch the number of sequences. @param fai Pointer to the faidx_t struct @return The number of sequences */ int faidx_fetch_nseq(const faidx_t *fai); /*! @abstract Fetch the sequence in a region. @param fai Pointer to the faidx_t struct @param c_name Region name @param p_beg_i Beginning position number (zero-based) @param p_end_i End position number (zero-based) @param len Length of the region; -2 if c_name not present, -1 general error @return Pointer to the sequence; null on failure @discussion The returned sequence is allocated by malloc family and should be destroyed by end users by calling free() on it. */ char *faidx_fetch_seq(const faidx_t *fai, const char *c_name, int p_beg_i, int p_end_i, int *len); /*! @abstract Query if sequence is present @param fai Pointer to the faidx_t struct @param seq Sequence name @return 1 if present or 0 if absent */ int faidx_has_seq(const faidx_t *fai, const char *seq); /*! @abstract Return number of sequences in fai index */ int faidx_nseq(const faidx_t *fai); /*! @abstract Return name of i-th sequence */ const char *faidx_iseq(const faidx_t *fai, int i); /*! @abstract Return sequence length, -1 if not present */ int faidx_seq_len(const faidx_t *fai, const char *seq); #ifdef __cplusplus } #endif #endif htslib-1.2.1/htslib/hfile.h000066400000000000000000000153431246417267700155530ustar00rootroot00000000000000/* hfile.h -- buffered low-level input/output streams. Copyright (C) 2013-2015 Genome Research Ltd. Author: John Marshall Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ #ifndef HTSLIB_HFILE_H #define HTSLIB_HFILE_H #include #include #include "hts_defs.h" #ifdef __cplusplus extern "C" { #endif /* These fields are declared here solely for the benefit of the inline functions below. They may change in future releases. User code should not use them directly; you should imagine that hFILE is an opaque incomplete type. */ struct hFILE_backend; typedef struct hFILE { char *buffer, *begin, *end, *limit; const struct hFILE_backend *backend; off_t offset; int at_eof:1; int has_errno; } hFILE; /*! @abstract Open the named file or URL as a stream @return An hFILE pointer, or NULL (with errno set) if an error occurred. */ hFILE *hopen(const char *filename, const char *mode) HTS_RESULT_USED; /*! @abstract Associate a stream with an existing open file descriptor @return An hFILE pointer, or NULL (with errno set) if an error occurred. @notes For socket descriptors (on Windows), mode should contain 's'. */ hFILE *hdopen(int fd, const char *mode) HTS_RESULT_USED; /*! @abstract Report whether the file name or URL denotes remote storage @return 0 if local, 1 if remote. @notes "Remote" means involving e.g. explicit network access, with the implication that callers may wish to cache such files' contents locally. */ int hisremote(const char *filename) HTS_RESULT_USED; /*! @abstract Flush (for output streams) and close the stream @return 0 if successful, or EOF (with errno set) if an error occurred. */ int hclose(hFILE *fp) HTS_RESULT_USED; /*! @abstract Close the stream, without flushing or propagating errors @notes For use while cleaning up after an error only. Preserves errno. */ void hclose_abruptly(hFILE *fp); /*! @abstract Return the stream's error indicator @return Non-zero (in fact, an errno value) if an error has occurred. @notes This would be called herror() and return true/false to parallel ferror(3), but a networking-related herror(3) function already exists. */ static inline int herrno(hFILE *fp) { return fp->has_errno; } /*! @abstract Clear the stream's error indicator */ static inline void hclearerr(hFILE *fp) { fp->has_errno = 0; } /*! @abstract Reposition the read/write stream offset @return The resulting offset within the stream (as per lseek(2)), or negative if an error occurred. */ off_t hseek(hFILE *fp, off_t offset, int whence) HTS_RESULT_USED; /*! @abstract Report the current stream offset @return The offset within the stream, starting from zero. */ static inline off_t htell(hFILE *fp) { return fp->offset + (fp->begin - fp->buffer); } /*! @abstract Read one character from the stream @return The character read, or EOF on end-of-file or error */ static inline int hgetc(hFILE *fp) { extern int hgetc2(hFILE *); return (fp->end > fp->begin)? (unsigned char) *(fp->begin++) : hgetc2(fp); } /*! @abstract Peek at characters to be read without removing them from buffers @param fp The file stream @param buffer The buffer to which the peeked bytes will be written @param nbytes The number of bytes to peek at; limited by the size of the internal buffer, which could be as small as 4K. @return The number of bytes peeked, which may be less than nbytes if EOF is encountered; or negative, if there was an I/O error. @notes The characters peeked at remain in the stream's internal buffer, and will be returned by later hread() etc calls. */ ssize_t hpeek(hFILE *fp, void *buffer, size_t nbytes) HTS_RESULT_USED; /*! @abstract Read a block of characters from the file @return The number of bytes read, or negative if an error occurred. @notes The full nbytes requested will be returned, except as limited by EOF or I/O errors. */ static inline ssize_t HTS_RESULT_USED hread(hFILE *fp, void *buffer, size_t nbytes) { extern ssize_t hread2(hFILE *, void *, size_t, size_t); size_t n = fp->end - fp->begin; if (n > nbytes) n = nbytes; memcpy(buffer, fp->begin, n); fp->begin += n; return (n == nbytes)? (ssize_t) n : hread2(fp, buffer, nbytes, n); } /*! @abstract Write a character to the stream @return The character written, or EOF if an error occurred. */ static inline int hputc(int c, hFILE *fp) { extern int hputc2(int, hFILE *); if (fp->begin < fp->limit) *(fp->begin++) = c; else c = hputc2(c, fp); return c; } /*! @abstract Write a string to the stream @return 0 if successful, or EOF if an error occurred. */ static inline int hputs(const char *text, hFILE *fp) { extern int hputs2(const char *, size_t, size_t, hFILE *); size_t nbytes = strlen(text), n = fp->limit - fp->begin; if (n > nbytes) n = nbytes; memcpy(fp->begin, text, n); fp->begin += n; return (n == nbytes)? 0 : hputs2(text, nbytes, n, fp); } /*! @abstract Write a block of characters to the file @return Either nbytes, or negative if an error occurred. @notes In the absence of I/O errors, the full nbytes will be written. */ static inline ssize_t HTS_RESULT_USED hwrite(hFILE *fp, const void *buffer, size_t nbytes) { extern ssize_t hwrite2(hFILE *, const void *, size_t, size_t); size_t n = fp->limit - fp->begin; if (n > nbytes) n = nbytes; memcpy(fp->begin, buffer, n); fp->begin += n; return (n==nbytes)? (ssize_t) n : hwrite2(fp, buffer, nbytes, n); } /*! @abstract For writing streams, flush buffered output to the underlying stream @return 0 if successful, or EOF if an error occurred. */ int hflush(hFILE *fp) HTS_RESULT_USED; #ifdef __cplusplus } #endif #endif htslib-1.2.1/htslib/hts.h000066400000000000000000000350461246417267700152640ustar00rootroot00000000000000/* hts.h -- format-neutral I/O, indexing, and iterator API functions. Copyright (C) 2012-2014 Genome Research Ltd. Copyright (C) 2012 Broad Institute. Author: Heng Li Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ #ifndef HTSLIB_HTS_H #define HTSLIB_HTS_H #include #include #ifndef HTS_BGZF_TYPEDEF typedef struct BGZF BGZF; #define HTS_BGZF_TYPEDEF #endif struct cram_fd; struct hFILE; #ifndef KSTRING_T #define KSTRING_T kstring_t typedef struct __kstring_t { size_t l, m; char *s; } kstring_t; #endif #ifndef kroundup32 #define kroundup32(x) (--(x), (x)|=(x)>>1, (x)|=(x)>>2, (x)|=(x)>>4, (x)|=(x)>>8, (x)|=(x)>>16, ++(x)) #endif /** * hts_expand() - expands memory block pointed to by $ptr; * hts_expand0() the latter sets the newly allocated part to 0. * * @param n requested number of elements of type type_t * @param m size of memory allocated */ #define hts_expand(type_t, n, m, ptr) if ((n) > (m)) { \ (m) = (n); kroundup32(m); \ (ptr) = (type_t*)realloc((ptr), (m) * sizeof(type_t)); \ } #define hts_expand0(type_t, n, m, ptr) if ((n) > (m)) { \ int t = (m); (m) = (n); kroundup32(m); \ (ptr) = (type_t*)realloc((ptr), (m) * sizeof(type_t)); \ memset(((type_t*)ptr)+t,0,sizeof(type_t)*((m)-t)); \ } /************ * File I/O * ************/ // Add new entries only at the end (but before the *_maximum entry) // of these enums, as their numbering is part of the htslib ABI. enum htsFormatCategory { unknown_category, sequence_data, // Sequence data -- SAM, BAM, CRAM, etc variant_data, // Variant calling data -- VCF, BCF, etc index_file, // Index file associated with some data file region_list, // Coordinate intervals or regions -- BED, etc category_maximum = 32767 }; enum htsExactFormat { unknown_format, binary_format, text_format, sam, bam, bai, cram, crai, vcf, bcf, csi, gzi, tbi, bed, format_maximum = 32767 }; enum htsCompression { no_compression, gzip, bgzf, custom, compression_maximum = 32767 }; typedef struct htsFormat { enum htsFormatCategory category; enum htsExactFormat format; struct { short major, minor; } version; enum htsCompression compression; short compression_level; // currently unused void *specific; // currently unused } htsFormat; // Maintainers note htsFile cannot be an opaque structure because some of its // fields are part of libhts.so's ABI (hence these fields must not be moved): // - fp is used in the public sam_itr_next()/etc macros // - is_bin is used directly in samtools <= 1.1 and bcftools <= 1.1 // - is_write and is_cram are used directly in samtools <= 1.1 // - fp is used directly in samtools (up to and including current develop) // - line is used directly in bcftools (up to and including current develop) typedef struct { uint32_t is_bin:1, is_write:1, is_be:1, is_cram:1, dummy:28; int64_t lineno; kstring_t line; char *fn, *fn_aux; union { BGZF *bgzf; struct cram_fd *cram; struct hFILE *hfile; void *voidp; } fp; htsFormat format; } htsFile; // REQUIRED_FIELDS enum sam_fields { SAM_QNAME = 0x00000001, SAM_FLAG = 0x00000002, SAM_RNAME = 0x00000004, SAM_POS = 0x00000008, SAM_MAPQ = 0x00000010, SAM_CIGAR = 0x00000020, SAM_RNEXT = 0x00000040, SAM_PNEXT = 0x00000080, SAM_TLEN = 0x00000100, SAM_SEQ = 0x00000200, SAM_QUAL = 0x00000400, SAM_AUX = 0x00000800, SAM_RGAUX = 0x00001000, }; enum cram_option { CRAM_OPT_DECODE_MD, CRAM_OPT_PREFIX, CRAM_OPT_VERBOSITY, CRAM_OPT_SEQS_PER_SLICE, CRAM_OPT_SLICES_PER_CONTAINER, CRAM_OPT_RANGE, CRAM_OPT_VERSION, CRAM_OPT_EMBED_REF, CRAM_OPT_IGNORE_MD5, CRAM_OPT_REFERENCE, CRAM_OPT_MULTI_SEQ_PER_SLICE, CRAM_OPT_NO_REF, CRAM_OPT_USE_BZIP2, CRAM_OPT_SHARED_REF, CRAM_OPT_NTHREADS, CRAM_OPT_THREAD_POOL, CRAM_OPT_USE_LZMA, CRAM_OPT_USE_RANS, CRAM_OPT_REQUIRED_FIELDS, }; /********************** * Exported functions * **********************/ extern int hts_verbose; /*! @abstract Table for converting a nucleotide character to 4-bit encoding. The input character may be either an IUPAC ambiguity code, '=' for 0, or '0'/'1'/'2'/'3' for a result of 1/2/4/8. The result is encoded as 1/2/4/8 for A/C/G/T or combinations of these bits for ambiguous bases. */ extern const unsigned char seq_nt16_table[256]; /*! @abstract Table for converting a 4-bit encoded nucleotide to an IUPAC ambiguity code letter (or '=' when given 0). */ extern const char seq_nt16_str[]; /*! @abstract Table for converting a 4-bit encoded nucleotide to about 2 bits. Returns 0/1/2/3 for 1/2/4/8 (i.e., A/C/G/T), or 4 otherwise (0 or ambiguous). */ extern const int seq_nt16_int[]; #ifdef __cplusplus extern "C" { #endif /*! @abstract Get the htslib version number @return For released versions, a string like "N.N[.N]"; or git describe output if using a library built within a Git repository. */ const char *hts_version(void); /*! @abstract Determine format by peeking at the start of a file @param fp File opened for reading, positioned at the beginning @param fmt Format structure that will be filled out on return @return 0 for success, or negative if an error occurred. */ int hts_detect_format(struct hFILE *fp, htsFormat *fmt); /*! @abstract Get a human-readable description of the file format @return Description string, to be freed by the caller after use. */ char *hts_format_description(const htsFormat *format); /*! @abstract Open a SAM/BAM/CRAM/VCF/BCF/etc file @param fn The file name or "-" for stdin/stdout @param mode Mode matching /[rwa][bcuz0-9]+/ @discussion With 'r' opens for reading; any further format mode letters are ignored as the format is detected by checking the first few bytes or BGZF blocks of the file. With 'w' or 'a' opens for writing or appending, with format specifier letters: b binary format (BAM, BCF, etc) rather than text (SAM, VCF, etc) c CRAM format g gzip compressed u uncompressed z bgzf compressed [0-9] zlib compression level Note that there is a distinction between 'u' and '0': the first yields plain uncompressed output whereas the latter outputs uncompressed data wrapped in the zlib format. @example [rw]b .. compressed BCF, BAM, FAI [rw]u .. uncompressed BCF [rw]z .. compressed VCF [rw] .. uncompressed VCF */ htsFile *hts_open(const char *fn, const char *mode); /*! @abstract Open an existing stream as a SAM/BAM/CRAM/VCF/BCF/etc file @param fn The already-open file handle @param mode Open mode, as per hts_open() */ htsFile *hts_hopen(struct hFILE *fp, const char *fn, const char *mode); /*! @abstract Close a file handle, flushing buffered data for output streams @param fp The file handle to be closed @return 0 for success, or negative if an error occurred. */ int hts_close(htsFile *fp); /*! @abstract Returns the file's format information @param fp The file handle @return Read-only pointer to the file's htsFormat. */ const htsFormat *hts_get_format(htsFile *fp); /*! @abstract Sets a specified CRAM option on the open file handle. @param fp The file handle open the open file. @param opt The CRAM_OPT_* option. @param ... Optional arguments, dependent on the option used. @return 0 for success, or negative if an error occurred. */ int hts_set_opt(htsFile *fp, enum cram_option opt, ...); int hts_getline(htsFile *fp, int delimiter, kstring_t *str); char **hts_readlines(const char *fn, int *_n); /*! @abstract Parse comma-separated list or read list from a file @param list File name or comma-separated list @param is_file @param _n Size of the output array (number of items read) @return NULL on failure or pointer to newly allocated array of strings */ char **hts_readlist(const char *fn, int is_file, int *_n); /*! @abstract Create extra threads to aid compress/decompression for this file @param fp The file handle @param n The number of worker threads to create @return 0 for success, or negative if an error occurred. @notes THIS THREADING API IS LIKELY TO CHANGE IN FUTURE. */ int hts_set_threads(htsFile *fp, int n); /*! @abstract Set .fai filename for a file opened for reading @return 0 for success, negative on failure @discussion Called before *_hdr_read(), this provides the name of a .fai file used to provide a reference list if the htsFile contains no @SQ headers. */ int hts_set_fai_filename(htsFile *fp, const char *fn_aux); #ifdef __cplusplus } #endif /************ * Indexing * ************/ /*! These HTS_IDX_* macros are used as special tid values for hts_itr_query()/etc, producing iterators operating as follows: - HTS_IDX_NOCOOR iterates over unmapped reads sorted at the end of the file - HTS_IDX_START iterates over the entire file - HTS_IDX_REST iterates from the current position to the end of the file - HTS_IDX_NONE always returns "no more alignment records" When one of these special tid values is used, beg and end are ignored. When REST or NONE is used, idx is also ignored and may be NULL. */ #define HTS_IDX_NOCOOR (-2) #define HTS_IDX_START (-3) #define HTS_IDX_REST (-4) #define HTS_IDX_NONE (-5) #define HTS_FMT_CSI 0 #define HTS_FMT_BAI 1 #define HTS_FMT_TBI 2 #define HTS_FMT_CRAI 3 struct __hts_idx_t; typedef struct __hts_idx_t hts_idx_t; typedef struct { uint64_t u, v; } hts_pair64_t; typedef int hts_readrec_func(BGZF *fp, void *data, void *r, int *tid, int *beg, int *end); typedef struct { uint32_t read_rest:1, finished:1, dummy:29; int tid, beg, end, n_off, i; int curr_tid, curr_beg, curr_end; uint64_t curr_off; hts_pair64_t *off; hts_readrec_func *readrec; struct { int n, m; int *a; } bins; } hts_itr_t; #ifdef __cplusplus extern "C" { #endif #define hts_bin_first(l) (((1<<(((l)<<1) + (l))) - 1) / 7) #define hts_bin_parent(l) (((l) - 1) >> 3) hts_idx_t *hts_idx_init(int n, int fmt, uint64_t offset0, int min_shift, int n_lvls); void hts_idx_destroy(hts_idx_t *idx); int hts_idx_push(hts_idx_t *idx, int tid, int beg, int end, uint64_t offset, int is_mapped); void hts_idx_finish(hts_idx_t *idx, uint64_t final_offset); void hts_idx_save(const hts_idx_t *idx, const char *fn, int fmt); hts_idx_t *hts_idx_load(const char *fn, int fmt); uint8_t *hts_idx_get_meta(hts_idx_t *idx, int *l_meta); void hts_idx_set_meta(hts_idx_t *idx, int l_meta, uint8_t *meta, int is_copy); int hts_idx_get_stat(const hts_idx_t* idx, int tid, uint64_t* mapped, uint64_t* unmapped); uint64_t hts_idx_get_n_no_coor(const hts_idx_t* idx); const char *hts_parse_reg(const char *s, int *beg, int *end); hts_itr_t *hts_itr_query(const hts_idx_t *idx, int tid, int beg, int end, hts_readrec_func *readrec); void hts_itr_destroy(hts_itr_t *iter); typedef int (*hts_name2id_f)(void*, const char*); typedef const char *(*hts_id2name_f)(void*, int); typedef hts_itr_t *hts_itr_query_func(const hts_idx_t *idx, int tid, int beg, int end, hts_readrec_func *readrec); hts_itr_t *hts_itr_querys(const hts_idx_t *idx, const char *reg, hts_name2id_f getid, void *hdr, hts_itr_query_func *itr_query, hts_readrec_func *readrec); int hts_itr_next(BGZF *fp, hts_itr_t *iter, void *r, void *data); const char **hts_idx_seqnames(const hts_idx_t *idx, int *n, hts_id2name_f getid, void *hdr); // free only the array, not the values /** * hts_file_type() - Convenience function to determine file type * DEPRECATED: This function has been replaced by hts_detect_format(). * It and these FT_* macros will be removed in a future HTSlib release. */ #define FT_UNKN 0 #define FT_GZ 1 #define FT_VCF 2 #define FT_VCF_GZ (FT_GZ|FT_VCF) #define FT_BCF (1<<2) #define FT_BCF_GZ (FT_GZ|FT_BCF) #define FT_STDIN (1<<3) int hts_file_type(const char *fname); #ifdef __cplusplus } #endif static inline int hts_reg2bin(int64_t beg, int64_t end, int min_shift, int n_lvls) { int l, s = min_shift, t = ((1<<((n_lvls<<1) + n_lvls)) - 1) / 7; for (--end, l = n_lvls; l > 0; --l, s += 3, t -= 1<<((l<<1)+l)) if (beg>>s == end>>s) return t + (beg>>s); return 0; } static inline int hts_bin_bot(int bin, int n_lvls) { int l, b; for (l = 0, b = bin; b; ++l, b = hts_bin_parent(b)); // compute the level of bin return (bin - hts_bin_first(l)) << (n_lvls - l) * 3; } /************** * Endianness * **************/ static inline int ed_is_big(void) { long one= 1; return !(*((char *)(&one))); } static inline uint16_t ed_swap_2(uint16_t v) { return (uint16_t)(((v & 0x00FF00FFU) << 8) | ((v & 0xFF00FF00U) >> 8)); } static inline void *ed_swap_2p(void *x) { *(uint16_t*)x = ed_swap_2(*(uint16_t*)x); return x; } static inline uint32_t ed_swap_4(uint32_t v) { v = ((v & 0x0000FFFFU) << 16) | (v >> 16); return ((v & 0x00FF00FFU) << 8) | ((v & 0xFF00FF00U) >> 8); } static inline void *ed_swap_4p(void *x) { *(uint32_t*)x = ed_swap_4(*(uint32_t*)x); return x; } static inline uint64_t ed_swap_8(uint64_t v) { v = ((v & 0x00000000FFFFFFFFLLU) << 32) | (v >> 32); v = ((v & 0x0000FFFF0000FFFFLLU) << 16) | ((v & 0xFFFF0000FFFF0000LLU) >> 16); return ((v & 0x00FF00FF00FF00FFLLU) << 8) | ((v & 0xFF00FF00FF00FF00LLU) >> 8); } static inline void *ed_swap_8p(void *x) { *(uint64_t*)x = ed_swap_8(*(uint64_t*)x); return x; } #endif htslib-1.2.1/htslib/hts_defs.h000066400000000000000000000032711246417267700162600ustar00rootroot00000000000000/* hts_defs.h -- Miscellaneous definitions. Copyright (C) 2013-2014 Genome Research Ltd. Author: John Marshall Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ #ifndef HTSLIB_HTS_DEFS_H #define HTSLIB_HTS_DEFS_H #if __clang__major__ >= 2 || __GNUC__ >= 3 #define HTS_NORETURN __attribute__ ((__noreturn__)) #else #define HTS_NORETURN #endif #if (defined __clang__ && __clang_major__ >= 3) || \ (defined __GNUC__ && (__GNUC__ > 4 || (__GNUC__==4 && __GNUC_MINOR__ >= 5))) #define HTS_RESULT_USED __attribute__ ((__warn_unused_result__)) #else #define HTS_RESULT_USED #endif #if defined __clang__ || defined __GNUC__ #define HTS_UNUSED __attribute__ ((__unused__)) #else #define HTS_UNUSED #endif #endif htslib-1.2.1/htslib/kfunc.h000066400000000000000000000051271246417267700155710ustar00rootroot00000000000000/* The MIT License Copyright (C) 2010, 2013 Genome Research Ltd. Copyright (C) 2011 Attractive Chaos Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ #ifndef HTSLIB_KFUNC_H #define HTSLIB_KFUNC_H /* Log gamma function * \log{\Gamma(z)} * AS245, 2nd algorithm, http://lib.stat.cmu.edu/apstat/245 */ double kf_lgamma(double z); /* complementary error function * \frac{2}{\sqrt{\pi}} \int_x^{\infty} e^{-t^2} dt * AS66, 2nd algorithm, http://lib.stat.cmu.edu/apstat/66 */ double kf_erfc(double x); /* The following computes regularized incomplete gamma functions. * Formulas are taken from Wiki, with additional input from Numerical * Recipes in C (for modified Lentz's algorithm) and AS245 * (http://lib.stat.cmu.edu/apstat/245). * * A good online calculator is available at: * * http://www.danielsoper.com/statcalc/calc23.aspx * * It calculates upper incomplete gamma function, which equals * kf_gammaq(s,z)*tgamma(s). */ double kf_gammap(double s, double z); double kf_gammaq(double s, double z); /* Regularized incomplete beta function. The method is taken from * Numerical Recipe in C, 2nd edition, section 6.4. The following web * page calculates the incomplete beta function, which equals * kf_betai(a,b,x) * gamma(a) * gamma(b) / gamma(a+b): * * http://www.danielsoper.com/statcalc/calc36.aspx */ double kf_betai(double a, double b, double x); /* * n11 n12 | n1_ * n21 n22 | n2_ * -----------+---- * n_1 n_2 | n */ double kt_fisher_exact(int n11, int n12, int n21, int n22, double *_left, double *_right, double *two); #endif htslib-1.2.1/htslib/khash.h000066400000000000000000000515011246417267700155560ustar00rootroot00000000000000/* The MIT License Copyright (c) 2008, 2009, 2011 by Attractive Chaos Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ /* An example: #include "khash.h" KHASH_MAP_INIT_INT(32, char) int main() { int ret, is_missing; khiter_t k; khash_t(32) *h = kh_init(32); k = kh_put(32, h, 5, &ret); kh_value(h, k) = 10; k = kh_get(32, h, 10); is_missing = (k == kh_end(h)); k = kh_get(32, h, 5); kh_del(32, h, k); for (k = kh_begin(h); k != kh_end(h); ++k) if (kh_exist(h, k)) kh_value(h, k) = 1; kh_destroy(32, h); return 0; } */ /* 2013-05-02 (0.2.8): * Use quadratic probing. When the capacity is power of 2, stepping function i*(i+1)/2 guarantees to traverse each bucket. It is better than double hashing on cache performance and is more robust than linear probing. In theory, double hashing should be more robust than quadratic probing. However, my implementation is probably not for large hash tables, because the second hash function is closely tied to the first hash function, which reduce the effectiveness of double hashing. Reference: http://research.cs.vt.edu/AVresearch/hashing/quadratic.php 2011-12-29 (0.2.7): * Minor code clean up; no actual effect. 2011-09-16 (0.2.6): * The capacity is a power of 2. This seems to dramatically improve the speed for simple keys. Thank Zilong Tan for the suggestion. Reference: - http://code.google.com/p/ulib/ - http://nothings.org/computer/judy/ * Allow to optionally use linear probing which usually has better performance for random input. Double hashing is still the default as it is more robust to certain non-random input. * Added Wang's integer hash function (not used by default). This hash function is more robust to certain non-random input. 2011-02-14 (0.2.5): * Allow to declare global functions. 2009-09-26 (0.2.4): * Improve portability 2008-09-19 (0.2.3): * Corrected the example * Improved interfaces 2008-09-11 (0.2.2): * Improved speed a little in kh_put() 2008-09-10 (0.2.1): * Added kh_clear() * Fixed a compiling error 2008-09-02 (0.2.0): * Changed to token concatenation which increases flexibility. 2008-08-31 (0.1.2): * Fixed a bug in kh_get(), which has not been tested previously. 2008-08-31 (0.1.1): * Added destructor */ #ifndef __AC_KHASH_H #define __AC_KHASH_H /*! @header Generic hash table library. */ #define AC_VERSION_KHASH_H "0.2.8" #include #include #include /* compiler specific configuration */ #if UINT_MAX == 0xffffffffu typedef unsigned int khint32_t; #elif ULONG_MAX == 0xffffffffu typedef unsigned long khint32_t; #endif #if ULONG_MAX == ULLONG_MAX typedef unsigned long khint64_t; #else typedef unsigned long long khint64_t; #endif #ifndef kh_inline #ifdef _MSC_VER #define kh_inline __inline #else #define kh_inline inline #endif #endif /* kh_inline */ typedef khint32_t khint_t; typedef khint_t khiter_t; #define __ac_isempty(flag, i) ((flag[i>>4]>>((i&0xfU)<<1))&2) #define __ac_isdel(flag, i) ((flag[i>>4]>>((i&0xfU)<<1))&1) #define __ac_iseither(flag, i) ((flag[i>>4]>>((i&0xfU)<<1))&3) #define __ac_set_isdel_false(flag, i) (flag[i>>4]&=~(1ul<<((i&0xfU)<<1))) #define __ac_set_isempty_false(flag, i) (flag[i>>4]&=~(2ul<<((i&0xfU)<<1))) #define __ac_set_isboth_false(flag, i) (flag[i>>4]&=~(3ul<<((i&0xfU)<<1))) #define __ac_set_isdel_true(flag, i) (flag[i>>4]|=1ul<<((i&0xfU)<<1)) #define __ac_fsize(m) ((m) < 16? 1 : (m)>>4) #ifndef kroundup32 #define kroundup32(x) (--(x), (x)|=(x)>>1, (x)|=(x)>>2, (x)|=(x)>>4, (x)|=(x)>>8, (x)|=(x)>>16, ++(x)) #endif #ifndef kcalloc #define kcalloc(N,Z) calloc(N,Z) #endif #ifndef kmalloc #define kmalloc(Z) malloc(Z) #endif #ifndef krealloc #define krealloc(P,Z) realloc(P,Z) #endif #ifndef kfree #define kfree(P) free(P) #endif static const double __ac_HASH_UPPER = 0.77; #define __KHASH_TYPE(name, khkey_t, khval_t) \ typedef struct kh_##name##_s { \ khint_t n_buckets, size, n_occupied, upper_bound; \ khint32_t *flags; \ khkey_t *keys; \ khval_t *vals; \ } kh_##name##_t; #define __KHASH_PROTOTYPES(name, khkey_t, khval_t) \ extern kh_##name##_t *kh_init_##name(void); \ extern void kh_destroy_##name(kh_##name##_t *h); \ extern void kh_clear_##name(kh_##name##_t *h); \ extern khint_t kh_get_##name(const kh_##name##_t *h, khkey_t key); \ extern int kh_resize_##name(kh_##name##_t *h, khint_t new_n_buckets); \ extern khint_t kh_put_##name(kh_##name##_t *h, khkey_t key, int *ret); \ extern void kh_del_##name(kh_##name##_t *h, khint_t x); #define __KHASH_IMPL(name, SCOPE, khkey_t, khval_t, kh_is_map, __hash_func, __hash_equal) \ SCOPE kh_##name##_t *kh_init_##name(void) { \ return (kh_##name##_t*)kcalloc(1, sizeof(kh_##name##_t)); \ } \ SCOPE void kh_destroy_##name(kh_##name##_t *h) \ { \ if (h) { \ kfree((void *)h->keys); kfree(h->flags); \ kfree((void *)h->vals); \ kfree(h); \ } \ } \ SCOPE void kh_clear_##name(kh_##name##_t *h) \ { \ if (h && h->flags) { \ memset(h->flags, 0xaa, __ac_fsize(h->n_buckets) * sizeof(khint32_t)); \ h->size = h->n_occupied = 0; \ } \ } \ SCOPE khint_t kh_get_##name(const kh_##name##_t *h, khkey_t key) \ { \ if (h->n_buckets) { \ khint_t k, i, last, mask, step = 0; \ mask = h->n_buckets - 1; \ k = __hash_func(key); i = k & mask; \ last = i; \ while (!__ac_isempty(h->flags, i) && (__ac_isdel(h->flags, i) || !__hash_equal(h->keys[i], key))) { \ i = (i + (++step)) & mask; \ if (i == last) return h->n_buckets; \ } \ return __ac_iseither(h->flags, i)? h->n_buckets : i; \ } else return 0; \ } \ SCOPE int kh_resize_##name(kh_##name##_t *h, khint_t new_n_buckets) \ { /* This function uses 0.25*n_buckets bytes of working space instead of [sizeof(key_t+val_t)+.25]*n_buckets. */ \ khint32_t *new_flags = 0; \ khint_t j = 1; \ { \ kroundup32(new_n_buckets); \ if (new_n_buckets < 4) new_n_buckets = 4; \ if (h->size >= (khint_t)(new_n_buckets * __ac_HASH_UPPER + 0.5)) j = 0; /* requested size is too small */ \ else { /* hash table size to be changed (shrink or expand); rehash */ \ new_flags = (khint32_t*)kmalloc(__ac_fsize(new_n_buckets) * sizeof(khint32_t)); \ if (!new_flags) return -1; \ memset(new_flags, 0xaa, __ac_fsize(new_n_buckets) * sizeof(khint32_t)); \ if (h->n_buckets < new_n_buckets) { /* expand */ \ khkey_t *new_keys = (khkey_t*)krealloc((void *)h->keys, new_n_buckets * sizeof(khkey_t)); \ if (!new_keys) { kfree(new_flags); return -1; } \ h->keys = new_keys; \ if (kh_is_map) { \ khval_t *new_vals = (khval_t*)krealloc((void *)h->vals, new_n_buckets * sizeof(khval_t)); \ if (!new_vals) { kfree(new_flags); return -1; } \ h->vals = new_vals; \ } \ } /* otherwise shrink */ \ } \ } \ if (j) { /* rehashing is needed */ \ for (j = 0; j != h->n_buckets; ++j) { \ if (__ac_iseither(h->flags, j) == 0) { \ khkey_t key = h->keys[j]; \ khval_t val; \ khint_t new_mask; \ new_mask = new_n_buckets - 1; \ if (kh_is_map) val = h->vals[j]; \ __ac_set_isdel_true(h->flags, j); \ while (1) { /* kick-out process; sort of like in Cuckoo hashing */ \ khint_t k, i, step = 0; \ k = __hash_func(key); \ i = k & new_mask; \ while (!__ac_isempty(new_flags, i)) i = (i + (++step)) & new_mask; \ __ac_set_isempty_false(new_flags, i); \ if (i < h->n_buckets && __ac_iseither(h->flags, i) == 0) { /* kick out the existing element */ \ { khkey_t tmp = h->keys[i]; h->keys[i] = key; key = tmp; } \ if (kh_is_map) { khval_t tmp = h->vals[i]; h->vals[i] = val; val = tmp; } \ __ac_set_isdel_true(h->flags, i); /* mark it as deleted in the old hash table */ \ } else { /* write the element and jump out of the loop */ \ h->keys[i] = key; \ if (kh_is_map) h->vals[i] = val; \ break; \ } \ } \ } \ } \ if (h->n_buckets > new_n_buckets) { /* shrink the hash table */ \ h->keys = (khkey_t*)krealloc((void *)h->keys, new_n_buckets * sizeof(khkey_t)); \ if (kh_is_map) h->vals = (khval_t*)krealloc((void *)h->vals, new_n_buckets * sizeof(khval_t)); \ } \ kfree(h->flags); /* free the working space */ \ h->flags = new_flags; \ h->n_buckets = new_n_buckets; \ h->n_occupied = h->size; \ h->upper_bound = (khint_t)(h->n_buckets * __ac_HASH_UPPER + 0.5); \ } \ return 0; \ } \ SCOPE khint_t kh_put_##name(kh_##name##_t *h, khkey_t key, int *ret) \ { \ khint_t x; \ if (h->n_occupied >= h->upper_bound) { /* update the hash table */ \ if (h->n_buckets > (h->size<<1)) { \ if (kh_resize_##name(h, h->n_buckets - 1) < 0) { /* clear "deleted" elements */ \ *ret = -1; return h->n_buckets; \ } \ } else if (kh_resize_##name(h, h->n_buckets + 1) < 0) { /* expand the hash table */ \ *ret = -1; return h->n_buckets; \ } \ } /* TODO: to implement automatically shrinking; resize() already support shrinking */ \ { \ khint_t k, i, site, last, mask = h->n_buckets - 1, step = 0; \ x = site = h->n_buckets; k = __hash_func(key); i = k & mask; \ if (__ac_isempty(h->flags, i)) x = i; /* for speed up */ \ else { \ last = i; \ while (!__ac_isempty(h->flags, i) && (__ac_isdel(h->flags, i) || !__hash_equal(h->keys[i], key))) { \ if (__ac_isdel(h->flags, i)) site = i; \ i = (i + (++step)) & mask; \ if (i == last) { x = site; break; } \ } \ if (x == h->n_buckets) { \ if (__ac_isempty(h->flags, i) && site != h->n_buckets) x = site; \ else x = i; \ } \ } \ } \ if (__ac_isempty(h->flags, x)) { /* not present at all */ \ h->keys[x] = key; \ __ac_set_isboth_false(h->flags, x); \ ++h->size; ++h->n_occupied; \ *ret = 1; \ } else if (__ac_isdel(h->flags, x)) { /* deleted */ \ h->keys[x] = key; \ __ac_set_isboth_false(h->flags, x); \ ++h->size; \ *ret = 2; \ } else *ret = 0; /* Don't touch h->keys[x] if present and not deleted */ \ return x; \ } \ SCOPE void kh_del_##name(kh_##name##_t *h, khint_t x) \ { \ if (x != h->n_buckets && !__ac_iseither(h->flags, x)) { \ __ac_set_isdel_true(h->flags, x); \ --h->size; \ } \ } #define KHASH_DECLARE(name, khkey_t, khval_t) \ __KHASH_TYPE(name, khkey_t, khval_t) \ __KHASH_PROTOTYPES(name, khkey_t, khval_t) #define KHASH_INIT2(name, SCOPE, khkey_t, khval_t, kh_is_map, __hash_func, __hash_equal) \ __KHASH_TYPE(name, khkey_t, khval_t) \ __KHASH_IMPL(name, SCOPE, khkey_t, khval_t, kh_is_map, __hash_func, __hash_equal) #define KHASH_INIT(name, khkey_t, khval_t, kh_is_map, __hash_func, __hash_equal) \ KHASH_INIT2(name, static kh_inline, khkey_t, khval_t, kh_is_map, __hash_func, __hash_equal) /* --- BEGIN OF HASH FUNCTIONS --- */ /*! @function @abstract Integer hash function @param key The integer [khint32_t] @return The hash value [khint_t] */ #define kh_int_hash_func(key) (khint32_t)(key) /*! @function @abstract Integer comparison function */ #define kh_int_hash_equal(a, b) ((a) == (b)) /*! @function @abstract 64-bit integer hash function @param key The integer [khint64_t] @return The hash value [khint_t] */ #define kh_int64_hash_func(key) (khint32_t)((key)>>33^(key)^(key)<<11) /*! @function @abstract 64-bit integer comparison function */ #define kh_int64_hash_equal(a, b) ((a) == (b)) /*! @function @abstract const char* hash function @param s Pointer to a null terminated string @return The hash value */ static kh_inline khint_t __ac_X31_hash_string(const char *s) { khint_t h = (khint_t)*s; if (h) for (++s ; *s; ++s) h = (h << 5) - h + (khint_t)*s; return h; } /*! @function @abstract Another interface to const char* hash function @param key Pointer to a null terminated string [const char*] @return The hash value [khint_t] */ #define kh_str_hash_func(key) __ac_X31_hash_string(key) /*! @function @abstract Const char* comparison function */ #define kh_str_hash_equal(a, b) (strcmp(a, b) == 0) static kh_inline khint_t __ac_Wang_hash(khint_t key) { key += ~(key << 15); key ^= (key >> 10); key += (key << 3); key ^= (key >> 6); key += ~(key << 11); key ^= (key >> 16); return key; } #define kh_int_hash_func2(k) __ac_Wang_hash((khint_t)key) /* --- END OF HASH FUNCTIONS --- */ /* Other convenient macros... */ /*! @abstract Type of the hash table. @param name Name of the hash table [symbol] */ #define khash_t(name) kh_##name##_t /*! @function @abstract Initiate a hash table. @param name Name of the hash table [symbol] @return Pointer to the hash table [khash_t(name)*] */ #define kh_init(name) kh_init_##name() /*! @function @abstract Destroy a hash table. @param name Name of the hash table [symbol] @param h Pointer to the hash table [khash_t(name)*] */ #define kh_destroy(name, h) kh_destroy_##name(h) /*! @function @abstract Reset a hash table without deallocating memory. @param name Name of the hash table [symbol] @param h Pointer to the hash table [khash_t(name)*] */ #define kh_clear(name, h) kh_clear_##name(h) /*! @function @abstract Resize a hash table. @param name Name of the hash table [symbol] @param h Pointer to the hash table [khash_t(name)*] @param s New size [khint_t] */ #define kh_resize(name, h, s) kh_resize_##name(h, s) /*! @function @abstract Insert a key to the hash table. @param name Name of the hash table [symbol] @param h Pointer to the hash table [khash_t(name)*] @param k Key [type of keys] @param r Extra return code: -1 if the operation failed; 0 if the key is present in the hash table; 1 if the bucket is empty (never used); 2 if the element in the bucket has been deleted [int*] @return Iterator to the inserted element [khint_t] */ #define kh_put(name, h, k, r) kh_put_##name(h, k, r) /*! @function @abstract Retrieve a key from the hash table. @param name Name of the hash table [symbol] @param h Pointer to the hash table [khash_t(name)*] @param k Key [type of keys] @return Iterator to the found element, or kh_end(h) if the element is absent [khint_t] */ #define kh_get(name, h, k) kh_get_##name(h, k) /*! @function @abstract Remove a key from the hash table. @param name Name of the hash table [symbol] @param h Pointer to the hash table [khash_t(name)*] @param k Iterator to the element to be deleted [khint_t] */ #define kh_del(name, h, k) kh_del_##name(h, k) /*! @function @abstract Test whether a bucket contains data. @param h Pointer to the hash table [khash_t(name)*] @param x Iterator to the bucket [khint_t] @return 1 if containing data; 0 otherwise [int] */ #define kh_exist(h, x) (!__ac_iseither((h)->flags, (x))) /*! @function @abstract Get key given an iterator @param h Pointer to the hash table [khash_t(name)*] @param x Iterator to the bucket [khint_t] @return Key [type of keys] */ #define kh_key(h, x) ((h)->keys[x]) /*! @function @abstract Get value given an iterator @param h Pointer to the hash table [khash_t(name)*] @param x Iterator to the bucket [khint_t] @return Value [type of values] @discussion For hash sets, calling this results in segfault. */ #define kh_val(h, x) ((h)->vals[x]) /*! @function @abstract Alias of kh_val() */ #define kh_value(h, x) ((h)->vals[x]) /*! @function @abstract Get the start iterator @param h Pointer to the hash table [khash_t(name)*] @return The start iterator [khint_t] */ #define kh_begin(h) (khint_t)(0) /*! @function @abstract Get the end iterator @param h Pointer to the hash table [khash_t(name)*] @return The end iterator [khint_t] */ #define kh_end(h) ((h)->n_buckets) /*! @function @abstract Get the number of elements in the hash table @param h Pointer to the hash table [khash_t(name)*] @return Number of elements in the hash table [khint_t] */ #define kh_size(h) ((h)->size) /*! @function @abstract Get the number of buckets in the hash table @param h Pointer to the hash table [khash_t(name)*] @return Number of buckets in the hash table [khint_t] */ #define kh_n_buckets(h) ((h)->n_buckets) /*! @function @abstract Iterate over the entries in the hash table @param h Pointer to the hash table [khash_t(name)*] @param kvar Variable to which key will be assigned @param vvar Variable to which value will be assigned @param code Block of code to execute */ #define kh_foreach(h, kvar, vvar, code) { khint_t __i; \ for (__i = kh_begin(h); __i != kh_end(h); ++__i) { \ if (!kh_exist(h,__i)) continue; \ (kvar) = kh_key(h,__i); \ (vvar) = kh_val(h,__i); \ code; \ } } /*! @function @abstract Iterate over the values in the hash table @param h Pointer to the hash table [khash_t(name)*] @param vvar Variable to which value will be assigned @param code Block of code to execute */ #define kh_foreach_value(h, vvar, code) { khint_t __i; \ for (__i = kh_begin(h); __i != kh_end(h); ++__i) { \ if (!kh_exist(h,__i)) continue; \ (vvar) = kh_val(h,__i); \ code; \ } } /* More conenient interfaces */ /*! @function @abstract Instantiate a hash set containing integer keys @param name Name of the hash table [symbol] */ #define KHASH_SET_INIT_INT(name) \ KHASH_INIT(name, khint32_t, char, 0, kh_int_hash_func, kh_int_hash_equal) /*! @function @abstract Instantiate a hash map containing integer keys @param name Name of the hash table [symbol] @param khval_t Type of values [type] */ #define KHASH_MAP_INIT_INT(name, khval_t) \ KHASH_INIT(name, khint32_t, khval_t, 1, kh_int_hash_func, kh_int_hash_equal) /*! @function @abstract Instantiate a hash map containing 64-bit integer keys @param name Name of the hash table [symbol] */ #define KHASH_SET_INIT_INT64(name) \ KHASH_INIT(name, khint64_t, char, 0, kh_int64_hash_func, kh_int64_hash_equal) /*! @function @abstract Instantiate a hash map containing 64-bit integer keys @param name Name of the hash table [symbol] @param khval_t Type of values [type] */ #define KHASH_MAP_INIT_INT64(name, khval_t) \ KHASH_INIT(name, khint64_t, khval_t, 1, kh_int64_hash_func, kh_int64_hash_equal) typedef const char *kh_cstr_t; /*! @function @abstract Instantiate a hash map containing const char* keys @param name Name of the hash table [symbol] */ #define KHASH_SET_INIT_STR(name) \ KHASH_INIT(name, kh_cstr_t, char, 0, kh_str_hash_func, kh_str_hash_equal) /*! @function @abstract Instantiate a hash map containing const char* keys @param name Name of the hash table [symbol] @param khval_t Type of values [type] */ #define KHASH_MAP_INIT_STR(name, khval_t) \ KHASH_INIT(name, kh_cstr_t, khval_t, 1, kh_str_hash_func, kh_str_hash_equal) #endif /* __AC_KHASH_H */ htslib-1.2.1/htslib/khash_str2int.h000066400000000000000000000076261246417267700172540ustar00rootroot00000000000000/* khash_str2int.h -- C-string to integer hash table. Copyright (C) 2013 Genome Research Ltd. Author: Petr Danecek Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ #ifndef HTSLIB_KHASH_STR2INT_H #define HTSLIB_KHASH_STR2INT_H #include KHASH_MAP_INIT_STR(str2int, int) /* * Wrappers for khash dictionaries used by mpileup. */ static inline void *khash_str2int_init(void) { return kh_init(str2int); } /* * Destroy the hash structure, but not the keys */ static inline void khash_str2int_destroy(void *_hash) { khash_t(str2int) *hash = (khash_t(str2int)*)_hash; if (hash) kh_destroy(str2int, hash); // Note that strings are not freed. } /* * Destroys both the hash structure and the keys */ static inline void khash_str2int_destroy_free(void *_hash) { khash_t(str2int) *hash = (khash_t(str2int)*)_hash; khint_t k; if (hash == 0) return; for (k = 0; k < kh_end(hash); ++k) if (kh_exist(hash, k)) free((char*)kh_key(hash, k)); kh_destroy(str2int, hash); } /* * Returns 1 if key exists or 0 if not */ static inline int khash_str2int_has_key(void *_hash, const char *str) { khash_t(str2int) *hash = (khash_t(str2int)*)_hash; khint_t k = kh_get(str2int, hash, str); if ( k == kh_end(hash) ) return 0; return 1; } /* * Returns 0 on success and -1 when the key is not present. On success, * *value is set, unless NULL is passed. */ static inline int khash_str2int_get(void *_hash, const char *str, int *value) { khash_t(str2int) *hash = (khash_t(str2int)*)_hash; khint_t k; if ( !hash ) return -1; k = kh_get(str2int, hash, str); if ( k == kh_end(hash) ) return -1; if ( !value ) return 0; *value = kh_val(hash, k); return 0; } /* * Add a new string to the dictionary, auto-incrementing the value. * On success returns the newly inserted integer id, on error -1 * is returned. Note that the key must continue to exist throughout * the whole life of _hash. */ static inline int khash_str2int_inc(void *_hash, const char *str) { khint_t k; int ret; khash_t(str2int) *hash = (khash_t(str2int)*)_hash; if ( !hash ) return -1; k = kh_put(str2int, hash, str, &ret); if (ret == 0) return kh_val(hash, k); kh_val(hash, k) = kh_size(hash) - 1; return kh_val(hash, k); } /* * Set a new key,value pair. On success returns the bin index, on * error -1 is returned. Note that the key must contnue to exist * throughout the whole life of _hash. */ static inline int khash_str2int_set(void *_hash, const char *str, int value) { khint_t k; int ret; khash_t(str2int) *hash = (khash_t(str2int)*)_hash; if ( !hash ) return -1; k = kh_put(str2int, hash, str, &ret); kh_val(hash,k) = value; return k; } /* * Return the number of keys in the hash table. */ static inline int khash_str2int_size(void *_hash) { khash_t(str2int) *hash = (khash_t(str2int)*)_hash; return kh_size(hash); } #endif htslib-1.2.1/htslib/klist.h000066400000000000000000000110531246417267700156040ustar00rootroot00000000000000/* The MIT License Copyright (c) 2008-2009, by Attractive Chaos Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ #ifndef _AC_KLIST_H #define _AC_KLIST_H #include #define KMEMPOOL_INIT(name, kmptype_t, kmpfree_f) \ typedef struct { \ size_t cnt, n, max; \ kmptype_t **buf; \ } kmp_##name##_t; \ static inline kmp_##name##_t *kmp_init_##name(void) { \ return calloc(1, sizeof(kmp_##name##_t)); \ } \ static inline void kmp_destroy_##name(kmp_##name##_t *mp) { \ size_t k; \ for (k = 0; k < mp->n; ++k) { \ kmpfree_f(mp->buf[k]); free(mp->buf[k]); \ } \ free(mp->buf); free(mp); \ } \ static inline kmptype_t *kmp_alloc_##name(kmp_##name##_t *mp) { \ ++mp->cnt; \ if (mp->n == 0) return calloc(1, sizeof(kmptype_t)); \ return mp->buf[--mp->n]; \ } \ static inline void kmp_free_##name(kmp_##name##_t *mp, kmptype_t *p) { \ --mp->cnt; \ if (mp->n == mp->max) { \ mp->max = mp->max? mp->max<<1 : 16; \ mp->buf = realloc(mp->buf, sizeof(kmptype_t *) * mp->max); \ } \ mp->buf[mp->n++] = p; \ } #define kmempool_t(name) kmp_##name##_t #define kmp_init(name) kmp_init_##name() #define kmp_destroy(name, mp) kmp_destroy_##name(mp) #define kmp_alloc(name, mp) kmp_alloc_##name(mp) #define kmp_free(name, mp, p) kmp_free_##name(mp, p) #define KLIST_INIT(name, kltype_t, kmpfree_t) \ struct __kl1_##name { \ kltype_t data; \ struct __kl1_##name *next; \ }; \ typedef struct __kl1_##name kl1_##name; \ KMEMPOOL_INIT(name, kl1_##name, kmpfree_t) \ typedef struct { \ kl1_##name *head, *tail; \ kmp_##name##_t *mp; \ size_t size; \ } kl_##name##_t; \ static inline kl_##name##_t *kl_init_##name(void) { \ kl_##name##_t *kl = calloc(1, sizeof(kl_##name##_t)); \ kl->mp = kmp_init(name); \ kl->head = kl->tail = kmp_alloc(name, kl->mp); \ kl->head->next = 0; \ return kl; \ } \ static inline void kl_destroy_##name(kl_##name##_t *kl) { \ kl1_##name *p; \ for (p = kl->head; p != kl->tail; p = p->next) \ kmp_free(name, kl->mp, p); \ kmp_free(name, kl->mp, p); \ kmp_destroy(name, kl->mp); \ free(kl); \ } \ static inline kltype_t *kl_pushp_##name(kl_##name##_t *kl) { \ kl1_##name *q, *p = kmp_alloc(name, kl->mp); \ q = kl->tail; p->next = 0; kl->tail->next = p; kl->tail = p; \ ++kl->size; \ return &q->data; \ } \ static inline int kl_shift_##name(kl_##name##_t *kl, kltype_t *d) { \ kl1_##name *p; \ if (kl->head->next == 0) return -1; \ --kl->size; \ p = kl->head; kl->head = kl->head->next; \ if (d) *d = p->data; \ kmp_free(name, kl->mp, p); \ return 0; \ } #define kliter_t(name) kl1_##name #define klist_t(name) kl_##name##_t #define kl_val(iter) ((iter)->data) #define kl_next(iter) ((iter)->next) #define kl_begin(kl) ((kl)->head) #define kl_end(kl) ((kl)->tail) #define kl_init(name) kl_init_##name() #define kl_destroy(name, kl) kl_destroy_##name(kl) #define kl_pushp(name, kl) kl_pushp_##name(kl) #define kl_shift(name, kl, d) kl_shift_##name(kl, d) #endif htslib-1.2.1/htslib/knetfile.h000066400000000000000000000054141246417267700162630ustar00rootroot00000000000000/* The MIT License Copyright (c) 2008 by Genome Research Ltd (GRL). 2010 by Attractive Chaos Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ #ifndef KNETFILE_H #define KNETFILE_H #include #include #ifndef _WIN32 #define netread(fd, ptr, len) read(fd, ptr, len) #define netwrite(fd, ptr, len) write(fd, ptr, len) #define netclose(fd) close(fd) #else #include #define netread(fd, ptr, len) recv(fd, ptr, len, 0) #define netwrite(fd, ptr, len) send(fd, ptr, len, 0) #define netclose(fd) closesocket(fd) #endif // FIXME: currently I/O is unbuffered #define KNF_TYPE_LOCAL 1 #define KNF_TYPE_FTP 2 #define KNF_TYPE_HTTP 3 typedef struct knetFile_s { int type, fd; int64_t offset; char *host, *port; // the following are for FTP only int ctrl_fd, pasv_ip[4], pasv_port, max_response, no_reconnect, is_ready; char *response, *retr, *size_cmd; int64_t seek_offset; // for lazy seek int64_t file_size; // the following are for HTTP only char *path, *http_host; } knetFile; #define knet_tell(fp) ((fp)->offset) #define knet_fileno(fp) ((fp)->fd) #ifdef __cplusplus extern "C" { #endif #ifdef _WIN32 int knet_win32_init(); void knet_win32_destroy(); #endif knetFile *knet_open(const char *fn, const char *mode); /* This only works with local files. */ knetFile *knet_dopen(int fd, const char *mode); /* If ->is_ready==0, this routine updates ->fd; otherwise, it simply reads from ->fd. */ ssize_t knet_read(knetFile *fp, void *buf, size_t len); /* This routine only sets ->offset and ->is_ready=0. It does not communicate with the FTP server. */ off_t knet_seek(knetFile *fp, off_t off, int whence); int knet_close(knetFile *fp); #ifdef __cplusplus } #endif #endif htslib-1.2.1/htslib/kseq.h000066400000000000000000000213041246417267700154210ustar00rootroot00000000000000/* The MIT License Copyright (c) 2008, 2009, 2011 Attractive Chaos Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ /* Last Modified: 05MAR2012 */ #ifndef AC_KSEQ_H #define AC_KSEQ_H #include #include #include #define KS_SEP_SPACE 0 // isspace(): \t, \n, \v, \f, \r #define KS_SEP_TAB 1 // isspace() && !' ' #define KS_SEP_LINE 2 // line separator: "\n" (Unix) or "\r\n" (Windows) #define KS_SEP_MAX 2 #define __KS_TYPE(type_t) \ typedef struct __kstream_t { \ int begin, end; \ int is_eof:2, bufsize:30; \ uint64_t seek_pos; \ type_t f; \ unsigned char *buf; \ } kstream_t; #define ks_eof(ks) ((ks)->is_eof && (ks)->begin >= (ks)->end) #define ks_rewind(ks) ((ks)->is_eof = (ks)->begin = (ks)->end = 0) #define __KS_BASIC(SCOPE, type_t, __bufsize) \ SCOPE kstream_t *ks_init(type_t f) \ { \ kstream_t *ks = (kstream_t*)calloc(1, sizeof(kstream_t)); \ ks->f = f; ks->bufsize = __bufsize; \ ks->buf = (unsigned char*)malloc(__bufsize); \ return ks; \ } \ SCOPE void ks_destroy(kstream_t *ks) \ { \ if (!ks) return; \ free(ks->buf); \ free(ks); \ } #define __KS_INLINED(__read) \ static inline int ks_getc(kstream_t *ks) \ { \ if (ks->is_eof && ks->begin >= ks->end) return -1; \ if (ks->begin >= ks->end) { \ ks->begin = 0; \ ks->end = __read(ks->f, ks->buf, ks->bufsize); \ if (ks->end == 0) { ks->is_eof = 1; return -1; } \ } \ ks->seek_pos++; \ return (int)ks->buf[ks->begin++]; \ } \ static inline int ks_getuntil(kstream_t *ks, int delimiter, kstring_t *str, int *dret) \ { return ks_getuntil2(ks, delimiter, str, dret, 0); } #ifndef KSTRING_T #define KSTRING_T kstring_t typedef struct __kstring_t { size_t l, m; char *s; } kstring_t; #endif #ifndef kroundup32 #define kroundup32(x) (--(x), (x)|=(x)>>1, (x)|=(x)>>2, (x)|=(x)>>4, (x)|=(x)>>8, (x)|=(x)>>16, ++(x)) #endif #define __KS_GETUNTIL(SCOPE, __read) \ SCOPE int ks_getuntil2(kstream_t *ks, int delimiter, kstring_t *str, int *dret, int append) \ { \ int gotany = 0; \ if (dret) *dret = 0; \ str->l = append? str->l : 0; \ uint64_t seek_pos = str->l; \ for (;;) { \ int i; \ if (ks->begin >= ks->end) { \ if (!ks->is_eof) { \ ks->begin = 0; \ ks->end = __read(ks->f, ks->buf, ks->bufsize); \ if (ks->end == 0) { ks->is_eof = 1; break; } \ } else break; \ } \ if (delimiter == KS_SEP_LINE) { \ for (i = ks->begin; i < ks->end; ++i) \ if (ks->buf[i] == '\n') break; \ } else if (delimiter > KS_SEP_MAX) { \ for (i = ks->begin; i < ks->end; ++i) \ if (ks->buf[i] == delimiter) break; \ } else if (delimiter == KS_SEP_SPACE) { \ for (i = ks->begin; i < ks->end; ++i) \ if (isspace(ks->buf[i])) break; \ } else if (delimiter == KS_SEP_TAB) { \ for (i = ks->begin; i < ks->end; ++i) \ if (isspace(ks->buf[i]) && ks->buf[i] != ' ') break; \ } else i = 0; /* never come to here! */ \ if (str->m - str->l < (size_t)(i - ks->begin + 1)) { \ str->m = str->l + (i - ks->begin) + 1; \ kroundup32(str->m); \ str->s = (char*)realloc(str->s, str->m); \ } \ seek_pos += i - ks->begin; if ( i < ks->end ) seek_pos++; \ gotany = 1; \ memcpy(str->s + str->l, ks->buf + ks->begin, i - ks->begin); \ str->l = str->l + (i - ks->begin); \ ks->begin = i + 1; \ if (i < ks->end) { \ if (dret) *dret = ks->buf[i]; \ break; \ } \ } \ if (!gotany && ks_eof(ks)) return -1; \ ks->seek_pos += seek_pos; \ if (str->s == 0) { \ str->m = 1; \ str->s = (char*)calloc(1, 1); \ } else if (delimiter == KS_SEP_LINE && str->l > 1 && str->s[str->l-1] == '\r') --str->l; \ str->s[str->l] = '\0'; \ return str->l; \ } #define KSTREAM_INIT2(SCOPE, type_t, __read, __bufsize) \ __KS_TYPE(type_t) \ __KS_BASIC(SCOPE, type_t, __bufsize) \ __KS_GETUNTIL(SCOPE, __read) \ __KS_INLINED(__read) #define KSTREAM_INIT(type_t, __read, __bufsize) KSTREAM_INIT2(static, type_t, __read, __bufsize) #define KSTREAM_DECLARE(type_t, __read) \ __KS_TYPE(type_t) \ extern int ks_getuntil2(kstream_t *ks, int delimiter, kstring_t *str, int *dret, int append); \ extern kstream_t *ks_init(type_t f); \ extern void ks_destroy(kstream_t *ks); \ __KS_INLINED(__read) /****************** * FASTA/Q parser * ******************/ #define kseq_rewind(ks) ((ks)->last_char = (ks)->f->is_eof = (ks)->f->begin = (ks)->f->end = 0) #define __KSEQ_BASIC(SCOPE, type_t) \ SCOPE kseq_t *kseq_init(type_t fd) \ { \ kseq_t *s = (kseq_t*)calloc(1, sizeof(kseq_t)); \ s->f = ks_init(fd); \ return s; \ } \ SCOPE void kseq_destroy(kseq_t *ks) \ { \ if (!ks) return; \ free(ks->name.s); free(ks->comment.s); free(ks->seq.s); free(ks->qual.s); \ ks_destroy(ks->f); \ free(ks); \ } /* Return value: >=0 length of the sequence (normal) -1 end-of-file -2 truncated quality string */ #define __KSEQ_READ(SCOPE) \ SCOPE int kseq_read(kseq_t *seq) \ { \ int c; \ kstream_t *ks = seq->f; \ if (seq->last_char == 0) { /* then jump to the next header line */ \ while ((c = ks_getc(ks)) != -1 && c != '>' && c != '@'); \ if (c == -1) return -1; /* end of file */ \ seq->last_char = c; \ } /* else: the first header char has been read in the previous call */ \ seq->comment.l = seq->seq.l = seq->qual.l = 0; /* reset all members */ \ if (ks_getuntil(ks, 0, &seq->name, &c) < 0) return -1; /* normal exit: EOF */ \ if (c != '\n') ks_getuntil(ks, KS_SEP_LINE, &seq->comment, 0); /* read FASTA/Q comment */ \ if (seq->seq.s == 0) { /* we can do this in the loop below, but that is slower */ \ seq->seq.m = 256; \ seq->seq.s = (char*)malloc(seq->seq.m); \ } \ while ((c = ks_getc(ks)) != -1 && c != '>' && c != '+' && c != '@') { \ if (c == '\n') continue; /* skip empty lines */ \ seq->seq.s[seq->seq.l++] = c; /* this is safe: we always have enough space for 1 char */ \ ks_getuntil2(ks, KS_SEP_LINE, &seq->seq, 0, 1); /* read the rest of the line */ \ } \ if (c == '>' || c == '@') seq->last_char = c; /* the first header char has been read */ \ if (seq->seq.l + 1 >= seq->seq.m) { /* seq->seq.s[seq->seq.l] below may be out of boundary */ \ seq->seq.m = seq->seq.l + 2; \ kroundup32(seq->seq.m); /* rounded to the next closest 2^k */ \ seq->seq.s = (char*)realloc(seq->seq.s, seq->seq.m); \ } \ seq->seq.s[seq->seq.l] = 0; /* null terminated string */ \ if (c != '+') return seq->seq.l; /* FASTA */ \ if (seq->qual.m < seq->seq.m) { /* allocate memory for qual in case insufficient */ \ seq->qual.m = seq->seq.m; \ seq->qual.s = (char*)realloc(seq->qual.s, seq->qual.m); \ } \ while ((c = ks_getc(ks)) != -1 && c != '\n'); /* skip the rest of '+' line */ \ if (c == -1) return -2; /* error: no quality string */ \ while (ks_getuntil2(ks, KS_SEP_LINE, &seq->qual, 0, 1) >= 0 && seq->qual.l < seq->seq.l); \ seq->last_char = 0; /* we have not come to the next header line */ \ if (seq->seq.l != seq->qual.l) return -2; /* error: qual string is of a different length */ \ return seq->seq.l; \ } #define __KSEQ_TYPE(type_t) \ typedef struct { \ kstring_t name, comment, seq, qual; \ int last_char; \ kstream_t *f; \ } kseq_t; #define KSEQ_INIT2(SCOPE, type_t, __read) \ KSTREAM_INIT(type_t, __read, 16384) \ __KSEQ_TYPE(type_t) \ __KSEQ_BASIC(SCOPE, type_t) \ __KSEQ_READ(SCOPE) #define KSEQ_INIT(type_t, __read) KSEQ_INIT2(static, type_t, __read) #define KSEQ_DECLARE(type_t) \ __KS_TYPE(type_t) \ __KSEQ_TYPE(type_t) \ extern kseq_t *kseq_init(type_t fd); \ void kseq_destroy(kseq_t *ks); \ int kseq_read(kseq_t *seq); #endif htslib-1.2.1/htslib/ksort.h000066400000000000000000000236151246417267700156270ustar00rootroot00000000000000/* The MIT License Copyright (c) 2008 Genome Research Ltd (GRL). Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ /* Contact: Heng Li */ /* 2012-12-11 (0.1.4): * Defined __ks_insertsort_##name as static to compile with C99. 2008-11-16 (0.1.4): * Fixed a bug in introsort() that happens in rare cases. 2008-11-05 (0.1.3): * Fixed a bug in introsort() for complex comparisons. * Fixed a bug in mergesort(). The previous version is not stable. 2008-09-15 (0.1.2): * Accelerated introsort. On my Mac (not on another Linux machine), my implementation is as fast as std::sort on random input. * Added combsort and in introsort, switch to combsort if the recursion is too deep. 2008-09-13 (0.1.1): * Added k-small algorithm 2008-09-05 (0.1.0): * Initial version */ #ifndef AC_KSORT_H #define AC_KSORT_H #include #include typedef struct { void *left, *right; int depth; } ks_isort_stack_t; #define KSORT_SWAP(type_t, a, b) { register type_t t=(a); (a)=(b); (b)=t; } #define KSORT_INIT(name, type_t, __sort_lt) \ void ks_mergesort_##name(size_t n, type_t array[], type_t temp[]) \ { \ type_t *a2[2], *a, *b; \ int curr, shift; \ \ a2[0] = array; \ a2[1] = temp? temp : (type_t*)malloc(sizeof(type_t) * n); \ for (curr = 0, shift = 0; (1ul<> 1) - 1; i != (size_t)(-1); --i) \ ks_heapadjust_##name(i, lsize, l); \ } \ void ks_heapsort_##name(size_t lsize, type_t l[]) \ { \ size_t i; \ for (i = lsize - 1; i > 0; --i) { \ type_t tmp; \ tmp = *l; *l = l[i]; l[i] = tmp; ks_heapadjust_##name(0, i, l); \ } \ } \ static inline void __ks_insertsort_##name(type_t *s, type_t *t) \ { \ type_t *i, *j, swap_tmp; \ for (i = s + 1; i < t; ++i) \ for (j = i; j > s && __sort_lt(*j, *(j-1)); --j) { \ swap_tmp = *j; *j = *(j-1); *(j-1) = swap_tmp; \ } \ } \ void ks_combsort_##name(size_t n, type_t a[]) \ { \ const double shrink_factor = 1.2473309501039786540366528676643; \ int do_swap; \ size_t gap = n; \ type_t tmp, *i, *j; \ do { \ if (gap > 2) { \ gap = (size_t)(gap / shrink_factor); \ if (gap == 9 || gap == 10) gap = 11; \ } \ do_swap = 0; \ for (i = a; i < a + n - gap; ++i) { \ j = i + gap; \ if (__sort_lt(*j, *i)) { \ tmp = *i; *i = *j; *j = tmp; \ do_swap = 1; \ } \ } \ } while (do_swap || gap > 2); \ if (gap != 1) __ks_insertsort_##name(a, a + n); \ } \ void ks_introsort_##name(size_t n, type_t a[]) \ { \ int d; \ ks_isort_stack_t *top, *stack; \ type_t rp, swap_tmp; \ type_t *s, *t, *i, *j, *k; \ \ if (n < 1) return; \ else if (n == 2) { \ if (__sort_lt(a[1], a[0])) { swap_tmp = a[0]; a[0] = a[1]; a[1] = swap_tmp; } \ return; \ } \ for (d = 2; 1ul<>1) + 1; \ if (__sort_lt(*k, *i)) { \ if (__sort_lt(*k, *j)) k = j; \ } else k = __sort_lt(*j, *i)? i : j; \ rp = *k; \ if (k != t) { swap_tmp = *k; *k = *t; *t = swap_tmp; } \ for (;;) { \ do ++i; while (__sort_lt(*i, rp)); \ do --j; while (i <= j && __sort_lt(rp, *j)); \ if (j <= i) break; \ swap_tmp = *i; *i = *j; *j = swap_tmp; \ } \ swap_tmp = *i; *i = *t; *t = swap_tmp; \ if (i-s > t-i) { \ if (i-s > 16) { top->left = s; top->right = i-1; top->depth = d; ++top; } \ s = t-i > 16? i+1 : t; \ } else { \ if (t-i > 16) { top->left = i+1; top->right = t; top->depth = d; ++top; } \ t = i-s > 16? i-1 : s; \ } \ } else { \ if (top == stack) { \ free(stack); \ __ks_insertsort_##name(a, a+n); \ return; \ } else { --top; s = (type_t*)top->left; t = (type_t*)top->right; d = top->depth; } \ } \ } \ } \ /* This function is adapted from: http://ndevilla.free.fr/median/ */ \ /* 0 <= kk < n */ \ type_t ks_ksmall_##name(size_t n, type_t arr[], size_t kk) \ { \ type_t *low, *high, *k, *ll, *hh, *mid; \ low = arr; high = arr + n - 1; k = arr + kk; \ for (;;) { \ if (high <= low) return *k; \ if (high == low + 1) { \ if (__sort_lt(*high, *low)) KSORT_SWAP(type_t, *low, *high); \ return *k; \ } \ mid = low + (high - low) / 2; \ if (__sort_lt(*high, *mid)) KSORT_SWAP(type_t, *mid, *high); \ if (__sort_lt(*high, *low)) KSORT_SWAP(type_t, *low, *high); \ if (__sort_lt(*low, *mid)) KSORT_SWAP(type_t, *mid, *low); \ KSORT_SWAP(type_t, *mid, *(low+1)); \ ll = low + 1; hh = high; \ for (;;) { \ do ++ll; while (__sort_lt(*ll, *low)); \ do --hh; while (__sort_lt(*low, *hh)); \ if (hh < ll) break; \ KSORT_SWAP(type_t, *ll, *hh); \ } \ KSORT_SWAP(type_t, *low, *hh); \ if (hh <= k) low = ll; \ if (hh >= k) high = hh - 1; \ } \ } \ void ks_shuffle_##name(size_t n, type_t a[]) \ { \ int i, j; \ for (i = n; i > 1; --i) { \ type_t tmp; \ j = (int)(drand48() * i); \ tmp = a[j]; a[j] = a[i-1]; a[i-1] = tmp; \ } \ } #define ks_mergesort(name, n, a, t) ks_mergesort_##name(n, a, t) #define ks_introsort(name, n, a) ks_introsort_##name(n, a) #define ks_combsort(name, n, a) ks_combsort_##name(n, a) #define ks_heapsort(name, n, a) ks_heapsort_##name(n, a) #define ks_heapmake(name, n, a) ks_heapmake_##name(n, a) #define ks_heapadjust(name, i, n, a) ks_heapadjust_##name(i, n, a) #define ks_ksmall(name, n, a, k) ks_ksmall_##name(n, a, k) #define ks_shuffle(name, n, a) ks_shuffle_##name(n, a) #define ks_lt_generic(a, b) ((a) < (b)) #define ks_lt_str(a, b) (strcmp((a), (b)) < 0) typedef const char *ksstr_t; #define KSORT_INIT_GENERIC(type_t) KSORT_INIT(type_t, type_t, ks_lt_generic) #define KSORT_INIT_STR KSORT_INIT(str, ksstr_t, ks_lt_str) #endif htslib-1.2.1/htslib/kstring.h000066400000000000000000000150011246417267700161340ustar00rootroot00000000000000/* The MIT License Copyright (C) 2011 by Attractive Chaos Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ #ifndef KSTRING_H #define KSTRING_H #include #include #include #include #include #ifndef kroundup32 #define kroundup32(x) (--(x), (x)|=(x)>>1, (x)|=(x)>>2, (x)|=(x)>>4, (x)|=(x)>>8, (x)|=(x)>>16, ++(x)) #endif #if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ > 4) #define KS_ATTR_PRINTF(fmt, arg) __attribute__((__format__ (__printf__, fmt, arg))) #else #define KS_ATTR_PRINTF(fmt, arg) #endif /* kstring_t is a simple non-opaque type whose fields are likely to be * used directly by user code (but see also ks_str() and ks_len() below). * A kstring_t object is initialised by either of * kstring_t str = { 0, 0, NULL }; * kstring_t str; ...; str.l = str.m = 0; str.s = NULL; * and either ownership of the underlying buffer should be given away before * the object disappears (see ks_release() below) or the kstring_t should be * destroyed with free(str.s); */ #ifndef KSTRING_T #define KSTRING_T kstring_t typedef struct __kstring_t { size_t l, m; char *s; } kstring_t; #endif typedef struct { uint64_t tab[4]; int sep, finished; const char *p; // end of the current token } ks_tokaux_t; #ifdef __cplusplus extern "C" { #endif int kvsprintf(kstring_t *s, const char *fmt, va_list ap) KS_ATTR_PRINTF(2,0); int ksprintf(kstring_t *s, const char *fmt, ...) KS_ATTR_PRINTF(2,3); int ksplit_core(char *s, int delimiter, int *_max, int **_offsets); char *kstrstr(const char *str, const char *pat, int **_prep); char *kstrnstr(const char *str, const char *pat, int n, int **_prep); void *kmemmem(const void *_str, int n, const void *_pat, int m, int **_prep); /* kstrtok() is similar to strtok_r() except that str is not * modified and both str and sep can be NULL. For efficiency, it is * actually recommended to set both to NULL in the subsequent calls * if sep is not changed. */ char *kstrtok(const char *str, const char *sep, ks_tokaux_t *aux); #ifdef __cplusplus } #endif static inline int ks_resize(kstring_t *s, size_t size) { if (s->m < size) { char *tmp; s->m = size; kroundup32(s->m); if ((tmp = (char*)realloc(s->s, s->m))) s->s = tmp; else return -1; } return 0; } static inline char *ks_str(kstring_t *s) { return s->s; } static inline size_t ks_len(kstring_t *s) { return s->l; } // Give ownership of the underlying buffer away to something else (making // that something else responsible for freeing it), leaving the kstring_t // empty and ready to be used again, or ready to go out of scope without // needing free(str.s) to prevent a memory leak. static inline char *ks_release(kstring_t *s) { char *ss = s->s; s->l = s->m = 0; s->s = NULL; return ss; } static inline int kputsn(const char *p, int l, kstring_t *s) { if (s->l + l + 1 >= s->m) { char *tmp; s->m = s->l + l + 2; kroundup32(s->m); if ((tmp = (char*)realloc(s->s, s->m))) s->s = tmp; else return EOF; } memcpy(s->s + s->l, p, l); s->l += l; s->s[s->l] = 0; return l; } static inline int kputs(const char *p, kstring_t *s) { return kputsn(p, strlen(p), s); } static inline int kputc(int c, kstring_t *s) { if (s->l + 1 >= s->m) { char *tmp; s->m = s->l + 2; kroundup32(s->m); if ((tmp = (char*)realloc(s->s, s->m))) s->s = tmp; else return EOF; } s->s[s->l++] = c; s->s[s->l] = 0; return c; } static inline int kputc_(int c, kstring_t *s) { if (s->l + 1 > s->m) { char *tmp; s->m = s->l + 1; kroundup32(s->m); if ((tmp = (char*)realloc(s->s, s->m))) s->s = tmp; else return EOF; } s->s[s->l++] = c; return 1; } static inline int kputsn_(const void *p, int l, kstring_t *s) { if (s->l + l > s->m) { char *tmp; s->m = s->l + l; kroundup32(s->m); if ((tmp = (char*)realloc(s->s, s->m))) s->s = tmp; else return EOF; } memcpy(s->s + s->l, p, l); s->l += l; return l; } static inline int kputw(int c, kstring_t *s) { char buf[16]; int i, l = 0; unsigned int x = c; if (c < 0) x = -x; do { buf[l++] = x%10 + '0'; x /= 10; } while (x > 0); if (c < 0) buf[l++] = '-'; if (s->l + l + 1 >= s->m) { char *tmp; s->m = s->l + l + 2; kroundup32(s->m); if ((tmp = (char*)realloc(s->s, s->m))) s->s = tmp; else return EOF; } for (i = l - 1; i >= 0; --i) s->s[s->l++] = buf[i]; s->s[s->l] = 0; return 0; } static inline int kputuw(unsigned c, kstring_t *s) { char buf[16]; int l, i; unsigned x; if (c == 0) return kputc('0', s); for (l = 0, x = c; x > 0; x /= 10) buf[l++] = x%10 + '0'; if (s->l + l + 1 >= s->m) { char *tmp; s->m = s->l + l + 2; kroundup32(s->m); if ((tmp = (char*)realloc(s->s, s->m))) s->s = tmp; else return EOF; } for (i = l - 1; i >= 0; --i) s->s[s->l++] = buf[i]; s->s[s->l] = 0; return 0; } static inline int kputl(long c, kstring_t *s) { char buf[32]; int i, l = 0; unsigned long x = c; if (c < 0) x = -x; do { buf[l++] = x%10 + '0'; x /= 10; } while (x > 0); if (c < 0) buf[l++] = '-'; if (s->l + l + 1 >= s->m) { char *tmp; s->m = s->l + l + 2; kroundup32(s->m); if ((tmp = (char*)realloc(s->s, s->m))) s->s = tmp; else return EOF; } for (i = l - 1; i >= 0; --i) s->s[s->l++] = buf[i]; s->s[s->l] = 0; return 0; } /* * Returns 's' split by delimiter, with *n being the number of components; * NULL on failue. */ static inline int *ksplit(kstring_t *s, int delimiter, int *n) { int max = 0, *offsets = 0; *n = ksplit_core(s->s, delimiter, &max, &offsets); return offsets; } #endif htslib-1.2.1/htslib/regidx.h000066400000000000000000000131421246417267700157410ustar00rootroot00000000000000/* Copyright (C) 2014 Genome Research Ltd. Author: Petr Danecek Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ /* Regions indexing with an optional payload. Inspired by samtools/bedidx.c. This code is intended as future replacement of bcf_sr_regions_t. Example of usage: // Init the parser and print regions. In this example the payload is a // pointer to a string. For the description of parse_custom and // free_custom functions, see regidx_parse_f and regidx_free_f below, // and for working example see test/test-regidx.c. regidx_t *idx = regidx_init(in_fname,parse_custom,free_custom,sizeof(char*),NULL); // Query overlap with chr:from-to regitr_t itr; if ( regidx_overlap(idx, chr,from,to, &itr) ) printf("There is an overlap!\n"); while ( REGITR_OVERLAP(itr,from,to) ) { printf("[%d,%d] overlaps with [%d,%d], payload=%s\n", from,to, REGITR_START(itr), REGITR_END(itr), REGITR_PAYLOAD(itr,char*)); itr.i++; } regidx_destroy(regs); */ #ifndef HTSLIB_REGIDX_H #define HTSLIB_REGIDX_H #include #include typedef struct _regidx_t regidx_t; typedef struct { uint32_t start, end; } reg_t; typedef struct { int i, n; reg_t *reg; void *payload; } regitr_t; #define REGITR_START(itr) (itr).reg[(itr).i].start #define REGITR_END(itr) (itr).reg[(itr).i].end #define REGITR_PAYLOAD(itr,type_t) ((type_t*)(itr).payload)[(itr).i] #define REGITR_OVERLAP(itr,from,to) (itr.i < itr.n && REGITR_START(itr)<=to && REGITR_END(itr)>=from ) /* * regidx_parse_f - Function to parse one input line, such as regidx_parse_bed * or regidx_parse_tab below. The function is expected to set `chr_from` and * `chr_to` to point to first and last character of chromosome name and set * coordinates `reg->start` and `reg->end` (0-based, inclusive). If * regidx_init() was called with non-zero payload_size, the `payload` points * to a memory location of the payload_size and `usr` is data passed to * regidx_init(). Any memory allocated by the function will be freed by * regidx_free_f on regidx_destroy(). * * Return value: 0 on success, -1 to skip a record, -2 on fatal error. */ typedef int (*regidx_parse_f)(const char *line, char **chr_beg, char **chr_end, reg_t *reg, void *payload, void *usr); typedef void (*regidx_free_f)(void *payload); int regidx_parse_bed(const char*,char**,char**,reg_t*,void*,void*); // CHROM,FROM,TO (0-based,right-open) int regidx_parse_tab(const char*,char**,char**,reg_t*,void*,void*); // CHROM,POS (1-based, inclusive) /* * regidx_init() - creates new index * @param fname: input file name or NULL if regions will be added one-by-one via regidx_insert() * @param parsef: regidx_parse_bed, regidx_parse_tab or see description of regidx_parse_f. If NULL, * the format will be autodected, currently either regidx_parse_tab (the default) or * regidx_parse_bed (file must be named 'bed' or 'bed.gz') will be used. Note that * the exact autodetection algorithm will change. * @param freef: NULL or see description of regidx_parse_f * @param payload_size: 0 with regidx_parse_bed, regidx_parse_tab or see regidx_parse_f * @param usr: optional user data passed to regidx_parse_f * * Returns index on success or NULL on error. */ regidx_t *regidx_init(const char *fname, regidx_parse_f parsef, regidx_free_f freef, size_t payload_size, void *usr); /* * regidx_destroy() - free memory allocated by regidx_init */ void regidx_destroy(regidx_t *idx); /* * regidx_overlap() - check overlap of the location chr:from-to with regions * @param start,end: 0-based start, end coordinate (inclusive) * @param itr: pointer to iterator, can be NULL if not needed * * Returns 0 if there is no overlap or 1 if overlap is found. The overlapping * regions can be iterated as shown in the example above. */ int regidx_overlap(regidx_t *idx, const char *chr, uint32_t start, uint32_t end, regitr_t *itr); /* * regidx_insert() - add a new region. * * After last region has been added, call regidx_insert(idx,NULL) to * build the index. * * Returns 0 on success or -1 on error. */ int regidx_insert(regidx_t *idx, char *line); /* * regidx_seq_names() - return list of all sequence names */ char **regidx_seq_names(regidx_t *idx, int *n); /* * regidx_seq_nregs() - number of regions * regidx_nregs() - total number of regions */ int regidx_seq_nregs(regidx_t *idx, const char *seq); int regidx_nregs(regidx_t *idx); #endif htslib-1.2.1/htslib/sam.h000066400000000000000000000354231246417267700152450ustar00rootroot00000000000000/* sam.h -- SAM and BAM file I/O and manipulation. Copyright (C) 2008, 2009, 2013-2014 Genome Research Ltd. Copyright (C) 2010, 2012, 2013 Broad Institute. Author: Heng Li Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ #ifndef HTSLIB_SAM_H #define HTSLIB_SAM_H #include #include "hts.h" /********************** *** SAM/BAM header *** **********************/ /*! @typedef @abstract Structure for the alignment header. @field n_targets number of reference sequences @field l_text length of the plain text in the header @field target_len lengths of the reference sequences @field target_name names of the reference sequences @field text plain text @field sdict header dictionary */ typedef struct { int32_t n_targets, ignore_sam_err; uint32_t l_text; uint32_t *target_len; int8_t *cigar_tab; char **target_name; char *text; void *sdict; } bam_hdr_t; /**************************** *** CIGAR related macros *** ****************************/ #define BAM_CMATCH 0 #define BAM_CINS 1 #define BAM_CDEL 2 #define BAM_CREF_SKIP 3 #define BAM_CSOFT_CLIP 4 #define BAM_CHARD_CLIP 5 #define BAM_CPAD 6 #define BAM_CEQUAL 7 #define BAM_CDIFF 8 #define BAM_CBACK 9 #define BAM_CIGAR_STR "MIDNSHP=XB" #define BAM_CIGAR_SHIFT 4 #define BAM_CIGAR_MASK 0xf #define BAM_CIGAR_TYPE 0x3C1A7 #define bam_cigar_op(c) ((c)&BAM_CIGAR_MASK) #define bam_cigar_oplen(c) ((c)>>BAM_CIGAR_SHIFT) #define bam_cigar_opchr(c) (BAM_CIGAR_STR[bam_cigar_op(c)]) #define bam_cigar_gen(l, o) ((l)<>((o)<<1)&3) // bit 1: consume query; bit 2: consume reference /*! @abstract the read is paired in sequencing, no matter whether it is mapped in a pair */ #define BAM_FPAIRED 1 /*! @abstract the read is mapped in a proper pair */ #define BAM_FPROPER_PAIR 2 /*! @abstract the read itself is unmapped; conflictive with BAM_FPROPER_PAIR */ #define BAM_FUNMAP 4 /*! @abstract the mate is unmapped */ #define BAM_FMUNMAP 8 /*! @abstract the read is mapped to the reverse strand */ #define BAM_FREVERSE 16 /*! @abstract the mate is mapped to the reverse strand */ #define BAM_FMREVERSE 32 /*! @abstract this is read1 */ #define BAM_FREAD1 64 /*! @abstract this is read2 */ #define BAM_FREAD2 128 /*! @abstract not primary alignment */ #define BAM_FSECONDARY 256 /*! @abstract QC failure */ #define BAM_FQCFAIL 512 /*! @abstract optical or PCR duplicate */ #define BAM_FDUP 1024 /*! @abstract supplementary alignment */ #define BAM_FSUPPLEMENTARY 2048 /************************* *** Alignment records *** *************************/ /*! @typedef @abstract Structure for core alignment information. @field tid chromosome ID, defined by bam_hdr_t @field pos 0-based leftmost coordinate @field bin bin calculated by bam_reg2bin() @field qual mapping quality @field l_qname length of the query name @field flag bitwise flag @field n_cigar number of CIGAR operations @field l_qseq length of the query sequence (read) @field mtid chromosome ID of next read in template, defined by bam_hdr_t @field mpos 0-based leftmost coordinate of next read in template */ typedef struct { int32_t tid; int32_t pos; uint32_t bin:16, qual:8, l_qname:8; uint32_t flag:16, n_cigar:16; int32_t l_qseq; int32_t mtid; int32_t mpos; int32_t isize; } bam1_core_t; /*! @typedef @abstract Structure for one alignment. @field core core information about the alignment @field l_data current length of bam1_t::data @field m_data maximum length of bam1_t::data @field data all variable-length data, concatenated; structure: qname-cigar-seq-qual-aux @discussion Notes: 1. qname is zero tailing and core.l_qname includes the tailing '\0'. 2. l_qseq is calculated from the total length of an alignment block on reading or from CIGAR. 3. cigar data is encoded 4 bytes per CIGAR operation. 4. seq is nybble-encoded according to bam_nt16_table. */ typedef struct { bam1_core_t core; int l_data, m_data; uint8_t *data; #ifndef BAM_NO_ID uint64_t id; #endif } bam1_t; /*! @function @abstract Get whether the query is on the reverse strand @param b pointer to an alignment @return boolean true if query is on the reverse strand */ #define bam_is_rev(b) (((b)->core.flag&BAM_FREVERSE) != 0) /*! @function @abstract Get whether the query's mate is on the reverse strand @param b pointer to an alignment @return boolean true if query's mate on the reverse strand */ #define bam_is_mrev(b) (((b)->core.flag&BAM_FMREVERSE) != 0) /*! @function @abstract Get the name of the query @param b pointer to an alignment @return pointer to the name string, null terminated */ #define bam_get_qname(b) ((char*)(b)->data) /*! @function @abstract Get the CIGAR array @param b pointer to an alignment @return pointer to the CIGAR array @discussion In the CIGAR array, each element is a 32-bit integer. The lower 4 bits gives a CIGAR operation and the higher 28 bits keep the length of a CIGAR. */ #define bam_get_cigar(b) ((uint32_t*)((b)->data + (b)->core.l_qname)) /*! @function @abstract Get query sequence @param b pointer to an alignment @return pointer to sequence @discussion Each base is encoded in 4 bits: 1 for A, 2 for C, 4 for G, 8 for T and 15 for N. Two bases are packed in one byte with the base at the higher 4 bits having smaller coordinate on the read. It is recommended to use bam_seqi() macro to get the base. */ #define bam_get_seq(b) ((b)->data + ((b)->core.n_cigar<<2) + (b)->core.l_qname) /*! @function @abstract Get query quality @param b pointer to an alignment @return pointer to quality string */ #define bam_get_qual(b) ((b)->data + ((b)->core.n_cigar<<2) + (b)->core.l_qname + (((b)->core.l_qseq + 1)>>1)) /*! @function @abstract Get auxiliary data @param b pointer to an alignment @return pointer to the concatenated auxiliary data */ #define bam_get_aux(b) ((b)->data + ((b)->core.n_cigar<<2) + (b)->core.l_qname + (((b)->core.l_qseq + 1)>>1) + (b)->core.l_qseq) /*! @function @abstract Get length of auxiliary data @param b pointer to an alignment @return length of the concatenated auxiliary data */ #define bam_get_l_aux(b) ((b)->l_data - ((b)->core.n_cigar<<2) - (b)->core.l_qname - (b)->core.l_qseq - (((b)->core.l_qseq + 1)>>1)) /*! @function @abstract Get a base on read @param s Query sequence returned by bam_get_seq() @param i The i-th position, 0-based @return 4-bit integer representing the base. */ #define bam_seqi(s, i) ((s)[(i)>>1] >> ((~(i)&1)<<2) & 0xf) /************************** *** Exported functions *** **************************/ #ifdef __cplusplus extern "C" { #endif /*************** *** BAM I/O *** ***************/ bam_hdr_t *bam_hdr_init(void); bam_hdr_t *bam_hdr_read(BGZF *fp); int bam_hdr_write(BGZF *fp, const bam_hdr_t *h); void bam_hdr_destroy(bam_hdr_t *h); int bam_name2id(bam_hdr_t *h, const char *ref); bam_hdr_t* bam_hdr_dup(const bam_hdr_t *h0); bam1_t *bam_init1(void); void bam_destroy1(bam1_t *b); int bam_read1(BGZF *fp, bam1_t *b); int bam_write1(BGZF *fp, const bam1_t *b); bam1_t *bam_copy1(bam1_t *bdst, const bam1_t *bsrc); bam1_t *bam_dup1(const bam1_t *bsrc); int bam_cigar2qlen(int n_cigar, const uint32_t *cigar); int bam_cigar2rlen(int n_cigar, const uint32_t *cigar); /*! @abstract Calculate the rightmost base position of an alignment on the reference genome. @param b pointer to an alignment @return the coordinate of the first base after the alignment, 0-based @discussion For a mapped read, this is just b->core.pos + bam_cigar2rlen. For an unmapped read (either according to its flags or if it has no cigar string), we return b->core.pos + 1 by convention. */ int32_t bam_endpos(const bam1_t *b); int bam_str2flag(const char *str); /** returns negative value on error */ char *bam_flag2str(int flag); /** The string must be freed by the user */ /************************* *** BAM/CRAM indexing *** *************************/ // These BAM iterator functions work only on BAM files. To work with either // BAM or CRAM files use the sam_index_load() & sam_itr_*() functions. #define bam_itr_destroy(iter) hts_itr_destroy(iter) #define bam_itr_queryi(idx, tid, beg, end) sam_itr_queryi(idx, tid, beg, end) #define bam_itr_querys(idx, hdr, region) sam_itr_querys(idx, hdr, region) #define bam_itr_next(htsfp, itr, r) hts_itr_next((htsfp)->fp.bgzf, (itr), (r), 0) // Load .csi or .bai BAM index file. #define bam_index_load(fn) hts_idx_load((fn), HTS_FMT_BAI) int bam_index_build(const char *fn, int min_shift); // Load BAM (.csi or .bai) or CRAM (.crai) index file. hts_idx_t *sam_index_load(htsFile *fp, const char *fn); #define sam_itr_destroy(iter) hts_itr_destroy(iter) hts_itr_t *sam_itr_queryi(const hts_idx_t *idx, int tid, int beg, int end); hts_itr_t *sam_itr_querys(const hts_idx_t *idx, bam_hdr_t *hdr, const char *region); #define sam_itr_next(htsfp, itr, r) hts_itr_next((htsfp)->fp.bgzf, (itr), (r), (htsfp)) /*************** *** SAM I/O *** ***************/ #define sam_open(fn, mode) (hts_open((fn), (mode))) #define sam_close(fp) hts_close(fp) int sam_open_mode(char *mode, const char *fn, const char *format); typedef htsFile samFile; bam_hdr_t *sam_hdr_parse(int l_text, const char *text); bam_hdr_t *sam_hdr_read(samFile *fp); int sam_hdr_write(samFile *fp, const bam_hdr_t *h); int sam_parse1(kstring_t *s, bam_hdr_t *h, bam1_t *b); int sam_format1(const bam_hdr_t *h, const bam1_t *b, kstring_t *str); int sam_read1(samFile *fp, bam_hdr_t *h, bam1_t *b); int sam_write1(samFile *fp, const bam_hdr_t *h, const bam1_t *b); /************************************* *** Manipulating auxiliary fields *** *************************************/ uint8_t *bam_aux_get(const bam1_t *b, const char tag[2]); int32_t bam_aux2i(const uint8_t *s); double bam_aux2f(const uint8_t *s); char bam_aux2A(const uint8_t *s); char *bam_aux2Z(const uint8_t *s); void bam_aux_append(bam1_t *b, const char tag[2], char type, int len, uint8_t *data); int bam_aux_del(bam1_t *b, uint8_t *s); #ifdef __cplusplus } #endif /************************** *** Pileup and Mpileup *** **************************/ #if !defined(BAM_NO_PILEUP) /*! @typedef @abstract Structure for one alignment covering the pileup position. @field b pointer to the alignment @field qpos position of the read base at the pileup site, 0-based @field indel indel length; 0 for no indel, positive for ins and negative for del @field level the level of the read in the "viewer" mode @field is_del 1 iff the base on the padded read is a deletion @field is_head ??? @field is_tail ??? @field is_refskip ??? @field aux ??? @discussion See also bam_plbuf_push() and bam_lplbuf_push(). The difference between the two functions is that the former does not set bam_pileup1_t::level, while the later does. Level helps the implementation of alignment viewers, but calculating this has some overhead. */ typedef struct { bam1_t *b; int32_t qpos; int indel, level; uint32_t is_del:1, is_head:1, is_tail:1, is_refskip:1, aux:28; } bam_pileup1_t; typedef int (*bam_plp_auto_f)(void *data, bam1_t *b); struct __bam_plp_t; typedef struct __bam_plp_t *bam_plp_t; struct __bam_mplp_t; typedef struct __bam_mplp_t *bam_mplp_t; #ifdef __cplusplus extern "C" { #endif /** * bam_plp_init() - sets an iterator over multiple * @func: see mplp_func in bam_plcmd.c in samtools for an example. Expected return * status: 0 on success, -1 on end, < -1 on non-recoverable errors * @data: user data to pass to @func */ bam_plp_t bam_plp_init(bam_plp_auto_f func, void *data); void bam_plp_destroy(bam_plp_t iter); int bam_plp_push(bam_plp_t iter, const bam1_t *b); const bam_pileup1_t *bam_plp_next(bam_plp_t iter, int *_tid, int *_pos, int *_n_plp); const bam_pileup1_t *bam_plp_auto(bam_plp_t iter, int *_tid, int *_pos, int *_n_plp); void bam_plp_set_maxcnt(bam_plp_t iter, int maxcnt); void bam_plp_reset(bam_plp_t iter); bam_mplp_t bam_mplp_init(int n, bam_plp_auto_f func, void **data); /** * bam_mplp_init_overlaps() - if called, mpileup will detect overlapping * read pairs and for each base pair set the base quality of the * lower-quality base to zero, thus effectively discarding it from * calling. If the two bases are identical, the quality of the other base * is increased to the sum of their qualities (capped at 200), otherwise * it is multiplied by 0.8. */ void bam_mplp_init_overlaps(bam_mplp_t iter); void bam_mplp_destroy(bam_mplp_t iter); void bam_mplp_set_maxcnt(bam_mplp_t iter, int maxcnt); int bam_mplp_auto(bam_mplp_t iter, int *_tid, int *_pos, int *n_plp, const bam_pileup1_t **plp); #ifdef __cplusplus } #endif #endif // ~!defined(BAM_NO_PILEUP) #endif htslib-1.2.1/htslib/synced_bcf_reader.h000066400000000000000000000303371246417267700201050ustar00rootroot00000000000000/* synced_bcf_reader.h -- stream through multiple VCF files. Copyright (C) 2012-2014 Genome Research Ltd. Author: Petr Danecek Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ /* The synced_bcf_reader allows to keep multiple VCFs open and stream them using the next_line iterator in a seamless matter without worrying about chromosomes and synchronizing the sites. This is used by vcfcheck to compare multiple VCFs simultaneously and is used also for merging, creating intersections, etc. The synced_bcf_reader also provides API for reading indexed BCF/VCF, hiding differences in BCF/VCF opening, indexing and reading. Example of usage: bcf_srs_t *sr = bcf_sr_init(); for (i=0; ihas_line[i] #define bcf_sr_get_line(_readers, i) ((_readers)->has_line[i] ? ((_readers)->readers[i].buffer[0]) : NULL) #define bcf_sr_region_done(_readers,i) (!(_readers)->has_line[i] && !(_readers)->readers[i].nbuffer ? 1 : 0) #define bcf_sr_get_header(_readers, i) (_readers)->readers[i].header #define bcf_sr_get_reader(_readers, i) &((_readers)->readers[i]) /** * bcf_sr_seek() - set all readers to selected position * @seq: sequence name; NULL to seek to start * @pos: 0-based coordinate */ int bcf_sr_seek(bcf_srs_t *readers, const char *seq, int pos); /** * bcf_sr_set_samples() - sets active samples * @readers: holder of the open readers * @samples: this can be one of: file name with one sample per line; * or column-separated list of samples; or '-' for a list of * samples shared by all files. If first character is the * exclamation mark, all but the listed samples are included. * @is_file: 0: list of samples; 1: file with sample names * * Returns 1 if the call succeeded, or 0 on error. */ int bcf_sr_set_samples(bcf_srs_t *readers, const char *samples, int is_file); /** * bcf_sr_set_targets(), bcf_sr_set_regions() - init targets/regions * @readers: holder of the open readers * @targets: list of regions, one-based and inclusive. * @is_fname: 0: targets is a comma-separated list of regions (chr,chr:from-to) * 1: targets is a tabix indexed file with a list of regions * ( or ) * * Returns 0 if the call succeeded, or -1 on error. * * Both functions behave the same way, unlisted positions will be skipped by * bcf_sr_next_line(). However, there is an important difference: regions use * index to jump to desired positions while targets streams the whole files * and merely skip unlisted positions. * * Moreover, bcf_sr_set_targets() accepts an optional parameter $alleles which * is intepreted as a 1-based column index in the tab-delimited file where * alleles are listed. This in principle enables to perform the COLLAPSE_* * logic also with tab-delimited files. However, the current implementation * considers the alleles merely as a suggestion for prioritizing one of possibly * duplicate VCF lines. It is up to the caller to examine targets->als if * perfect match is sought after. Note that the duplicate positions in targets * file are currently not supported. * Targets (but not regions) can be prefixed with "^" to request logical complement, * for example "^X,Y,MT" indicates that sequences X, Y and MT should be skipped. */ int bcf_sr_set_targets(bcf_srs_t *readers, const char *targets, int is_file, int alleles); int bcf_sr_set_regions(bcf_srs_t *readers, const char *regions, int is_file); /* * bcf_sr_regions_init() * @regions: regions can be either a comma-separated list of regions * (chr|chr:pos|chr:from-to|chr:from-) or VCF, BED, or * tab-delimited file (the default). Uncompressed files * are stored in memory while bgzip-compressed and tabix-indexed * region files are streamed. * @is_file: 0: regions is a comma-separated list of regions * (chr|chr:pos|chr:from-to|chr:from-) * 1: VCF, BED or tab-delimited file * @chr, from, to: * Column indexes of chromosome, start position and end position * in the tab-delimited file. The positions are 1-based and * inclusive. * These parameters are ignored when reading from VCF, BED or * tabix-indexed files. When end position column is not present, * supply 'from' in place of 'to'. When 'to' is negative, first * abs(to) will be attempted and if that fails, 'from' will be used * instead. */ bcf_sr_regions_t *bcf_sr_regions_init(const char *regions, int is_file, int chr, int from, int to); void bcf_sr_regions_destroy(bcf_sr_regions_t *regions); /* * bcf_sr_regions_seek() - seek to the chromosome block * * Returns 0 on success or -1 on failure. Sets reg->seq appropriately and * reg->start,reg->end to -1. */ int bcf_sr_regions_seek(bcf_sr_regions_t *regions, const char *chr); /* * bcf_sr_regions_next() - retrieves next region. Returns 0 on success and -1 * when all regions have been read. The fields reg->seq, reg->start and * reg->end are filled with the genomic coordinates on succes or with * NULL,-1,-1 when no region is available. The coordinates are 0-based, * inclusive. */ int bcf_sr_regions_next(bcf_sr_regions_t *reg); /* * bcf_sr_regions_overlap() - checks if the interval overlaps any of * the regions, the coordinates are 0-based, inclusive. The coordinate queries * must come in ascending order. * * Returns 0 if the position is in regions; -1 if the position is not in the * regions and more regions exist; -2 if not in the regions and there are no more * regions left. */ int bcf_sr_regions_overlap(bcf_sr_regions_t *reg, const char *seq, int start, int end); /* * bcf_sr_regions_flush() - calls repeatedly regs->missed_reg_handler() until * all remaining records are processed. */ void bcf_sr_regions_flush(bcf_sr_regions_t *regs); #ifdef __cplusplus } #endif #endif htslib-1.2.1/htslib/tbx.h000066400000000000000000000052731246417267700152620ustar00rootroot00000000000000/* tbx.h -- tabix API functions. Copyright (C) 2009, 2012-2014 Genome Research Ltd. Copyright (C) 2010, 2012 Broad Institute. Author: Heng Li Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ #ifndef HTSLIB_TBX_H #define HTSLIB_TBX_H #include "hts.h" #define TBX_MAX_SHIFT 31 #define TBX_GENERIC 0 #define TBX_SAM 1 #define TBX_VCF 2 #define TBX_UCSC 0x10000 typedef struct { int32_t preset; int32_t sc, bc, ec; // seq col., beg col. and end col. int32_t meta_char, line_skip; } tbx_conf_t; typedef struct { tbx_conf_t conf; hts_idx_t *idx; void *dict; } tbx_t; extern tbx_conf_t tbx_conf_gff, tbx_conf_bed, tbx_conf_psltbl, tbx_conf_sam, tbx_conf_vcf; #ifdef __cplusplus extern "C" { #endif #define tbx_itr_destroy(iter) hts_itr_destroy(iter) #define tbx_itr_queryi(tbx, tid, beg, end) hts_itr_query((tbx)->idx, (tid), (beg), (end), tbx_readrec) #define tbx_itr_querys(tbx, s) hts_itr_querys((tbx)->idx, (s), (hts_name2id_f)(tbx_name2id), (tbx), hts_itr_query, tbx_readrec) #define tbx_itr_next(htsfp, tbx, itr, r) hts_itr_next(hts_get_bgzfp(htsfp), (itr), (r), (tbx)) #define tbx_bgzf_itr_next(bgzfp, tbx, itr, r) hts_itr_next((bgzfp), (itr), (r), (tbx)) int tbx_name2id(tbx_t *tbx, const char *ss); /* Internal helper function used by tbx_itr_next() */ BGZF *hts_get_bgzfp(htsFile *fp); int tbx_readrec(BGZF *fp, void *tbxv, void *sv, int *tid, int *beg, int *end); int tbx_index_build(const char *fn, int min_shift, const tbx_conf_t *conf); tbx_t *tbx_index_load(const char *fn); const char **tbx_seqnames(tbx_t *tbx, int *n); // free the array but not the values void tbx_destroy(tbx_t *tbx); #ifdef __cplusplus } #endif #endif htslib-1.2.1/htslib/vcf.h000066400000000000000000001130551246417267700152410ustar00rootroot00000000000000/* vcf.h -- VCF/BCF API functions. Copyright (C) 2012, 2013 Broad Institute. Copyright (C) 2012-2014 Genome Research Ltd. Author: Heng Li Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ /* todo: - make the function names consistent - provide calls to abstract away structs as much as possible */ #ifndef HTSLIB_VCF_H #define HTSLIB_VCF_H #include #include #include #include "hts.h" #include "kstring.h" /***************** * Header struct * *****************/ #define BCF_HL_FLT 0 // header line #define BCF_HL_INFO 1 #define BCF_HL_FMT 2 #define BCF_HL_CTG 3 #define BCF_HL_STR 4 // structured header line TAG= #define BCF_HL_GEN 5 // generic header line #define BCF_HT_FLAG 0 // header type #define BCF_HT_INT 1 #define BCF_HT_REAL 2 #define BCF_HT_STR 3 #define BCF_VL_FIXED 0 // variable length #define BCF_VL_VAR 1 #define BCF_VL_A 2 #define BCF_VL_G 3 #define BCF_VL_R 4 /* === Dictionary === The header keeps three dictonaries. The first keeps IDs in the "FILTER/INFO/FORMAT" lines, the second keeps the sequence names and lengths in the "contig" lines and the last keeps the sample names. bcf_hdr_t::dict[] is the actual hash table, which is opaque to the end users. In the hash table, the key is the ID or sample name as a C string and the value is a bcf_idinfo_t struct. bcf_hdr_t::id[] points to key-value pairs in the hash table in the order that they appear in the VCF header. bcf_hdr_t::n[] is the size of the hash table or, equivalently, the length of the id[] arrays. */ #define BCF_DT_ID 0 // dictionary type #define BCF_DT_CTG 1 #define BCF_DT_SAMPLE 2 // Complete textual representation of a header line typedef struct { int type; // One of the BCF_HL_* type char *key; // The part before '=', i.e. FILTER/INFO/FORMAT/contig/fileformat etc. char *value; // Set only for generic lines, NULL for FILTER/INFO, etc. int nkeys; // Number of structured fields char **keys, **vals; // The key=value pairs } bcf_hrec_t; typedef struct { uint32_t info[3]; // stores Number:20, var:4, Type:4, ColType:4 in info[0..2] // for BCF_HL_FLT,INFO,FMT and contig length in info[0] for BCF_HL_CTG bcf_hrec_t *hrec[3]; int id; } bcf_idinfo_t; typedef struct { const char *key; const bcf_idinfo_t *val; } bcf_idpair_t; typedef struct { int32_t n[3]; bcf_idpair_t *id[3]; void *dict[3]; // ID dictionary, contig dict and sample dict char **samples; bcf_hrec_t **hrec; int nhrec, dirty; int ntransl, *transl[2]; // for bcf_translate() int nsamples_ori; // for bcf_hdr_set_samples() uint8_t *keep_samples; kstring_t mem; } bcf_hdr_t; extern uint8_t bcf_type_shift[]; /************** * VCF record * **************/ #define BCF_BT_NULL 0 #define BCF_BT_INT8 1 #define BCF_BT_INT16 2 #define BCF_BT_INT32 3 #define BCF_BT_FLOAT 5 #define BCF_BT_CHAR 7 #define VCF_REF 0 #define VCF_SNP 1 #define VCF_MNP 2 #define VCF_INDEL 4 #define VCF_OTHER 8 typedef struct { int type, n; // variant type and the number of bases affected, negative for deletions } variant_t; typedef struct { int id; // id: numeric tag id, the corresponding string is bcf_hdr_t::id[BCF_DT_ID][$id].key int n, size, type; // n: number of values per-sample; size: number of bytes per-sample; type: one of BCF_BT_* types uint8_t *p; // same as vptr and vptr_* in bcf_info_t below uint32_t p_len; uint32_t p_off:31, p_free:1; } bcf_fmt_t; typedef struct { int key; // key: numeric tag id, the corresponding string is bcf_hdr_t::id[BCF_DT_ID][$key].key int type, len; // type: one of BCF_BT_* types; len: vector length, 1 for scalars union { int32_t i; // integer value float f; // float value } v1; // only set if $len==1; for easier access uint8_t *vptr; // pointer to data array in bcf1_t->shared.s, excluding the size+type and tag id bytes uint32_t vptr_len; // length of the vptr block or, when set, of the vptr_mod block, excluding offset uint32_t vptr_off:31, // vptr offset, i.e., the size of the INFO key plus size+type bytes vptr_free:1; // indicates that vptr-vptr_off must be freed; set only when modified and the new // data block is bigger than the original } bcf_info_t; #define BCF1_DIRTY_ID 1 #define BCF1_DIRTY_ALS 2 #define BCF1_DIRTY_FLT 4 #define BCF1_DIRTY_INF 8 typedef struct { int m_fmt, m_info, m_id, m_als, m_allele, m_flt; // allocated size (high-water mark); do not change int n_flt; // Number of FILTER fields int *flt; // FILTER keys in the dictionary char *id, *als; // ID and REF+ALT block (\0-seperated) char **allele; // allele[0] is the REF (allele[] pointers to the als block); all null terminated bcf_info_t *info; // INFO bcf_fmt_t *fmt; // FORMAT and individual sample variant_t *var; // $var and $var_type set only when set_variant_types called int n_var, var_type; int shared_dirty; // if set, shared.s must be recreated on BCF output int indiv_dirty; // if set, indiv.s must be recreated on BCF output } bcf_dec_t; #define BCF_ERR_CTG_UNDEF 1 #define BCF_ERR_TAG_UNDEF 2 #define BCF_ERR_NCOLS 4 /* The bcf1_t structure corresponds to one VCF/BCF line. Reading from VCF file is slower because the string is first to be parsed, packed into BCF line (done in vcf_parse), then unpacked into internal bcf1_t structure. If it is known in advance that some of the fields will not be required (notably the sample columns), parsing of these can be skipped by setting max_unpack appropriately. Similarly, it is fast to output a BCF line because the columns (kept in shared.s, indiv.s, etc.) are written directly by bcf_write, whereas a VCF line must be formatted in vcf_format. */ typedef struct { int32_t rid; // CHROM int32_t pos; // POS int32_t rlen; // length of REF float qual; // QUAL uint32_t n_info:16, n_allele:16; uint32_t n_fmt:8, n_sample:24; kstring_t shared, indiv; bcf_dec_t d; // lazy evaluation: $d is not generated by bcf_read(), but by explicitly calling bcf_unpack() int max_unpack; // Set to BCF_UN_STR, BCF_UN_FLT, or BCF_UN_INFO to boost performance of vcf_parse when some of the fields won't be needed int unpacked; // remember what has been unpacked to allow calling bcf_unpack() repeatedly without redoing the work int unpack_size[3]; // the original block size of ID, REF+ALT and FILTER int errcode; // one of BCF_ERR_* codes } bcf1_t; /******* * API * *******/ #ifdef __cplusplus extern "C" { #endif /*********************************************************************** * BCF and VCF I/O * * A note about naming conventions: htslib internally represents VCF * records as bcf1_t data structures, therefore most functions are * prefixed with bcf_. There are a few exceptions where the functions must * be aware of both BCF and VCF worlds, such as bcf_parse vs vcf_parse. In * these cases, functions prefixed with bcf_ are more general and work * with both BCF and VCF. * ***********************************************************************/ /** These macros are defined only for consistency with other parts of htslib */ #define bcf_init1() bcf_init() #define bcf_read1(fp,h,v) bcf_read((fp),(h),(v)) #define vcf_read1(fp,h,v) vcf_read((fp),(h),(v)) #define bcf_write1(fp,h,v) bcf_write((fp),(h),(v)) #define vcf_write1(fp,h,v) vcf_write((fp),(h),(v)) #define bcf_destroy1(v) bcf_destroy(v) #define vcf_parse1(s,h,v) vcf_parse((s),(h),(v)) #define bcf_clear1(v) bcf_clear(v) #define vcf_format1(h,v,s) vcf_format((h),(v),(s)) /** * bcf_hdr_init() - create an empty BCF header. * @param mode "r" or "w" * * When opened for writing, the mandatory fileFormat and * FILTER=PASS lines are added automatically. */ bcf_hdr_t *bcf_hdr_init(const char *mode); /** Destroy a BCF header struct */ void bcf_hdr_destroy(bcf_hdr_t *h); /** Initialize a bcf1_t object; equivalent to calloc(1, sizeof(bcf1_t)) */ bcf1_t *bcf_init(void); /** Deallocate a bcf1_t object */ void bcf_destroy(bcf1_t *v); /** * Same as bcf_destroy() but frees only the memory allocated by bcf1_t, * not the bcf1_t object itself. */ void bcf_empty(bcf1_t *v); /** * Make the bcf1_t object ready for next read. Intended mostly for * internal use, the user should rarely need to call this function * directly. */ void bcf_clear(bcf1_t *v); /** bcf_open and vcf_open mode: please see hts_open() in hts.h */ typedef htsFile vcfFile; #define bcf_open(fn, mode) hts_open((fn), (mode)) #define vcf_open(fn, mode) hts_open((fn), (mode)) #define bcf_close(fp) hts_close(fp) #define vcf_close(fp) hts_close(fp) /** Reads VCF or BCF header */ bcf_hdr_t *bcf_hdr_read(htsFile *fp); /** * bcf_hdr_set_samples() - for more efficient VCF parsing when only one/few samples are needed * @samples: samples to include or exclude from file or as a comma-separated string. * LIST|FILE .. select samples in list/file * ^LIST|FILE .. exclude samples from list/file * - .. include all samples * NULL .. exclude all samples * @is_file: @samples is a file (1) or a comma-separated list (1) * * The bottleneck of VCF reading is parsing of genotype fields. If the * reader knows in advance that only subset of samples is needed (possibly * no samples at all), the performance of bcf_read() can be significantly * improved by calling bcf_hdr_set_samples after bcf_hdr_read(). * The function bcf_read() will subset the VCF/BCF records automatically * with the notable exception when reading records via bcf_itr_next(). * In this case, bcf_subset_format() must be called explicitly, because * bcf_readrec() does not see the header. * * Returns 0 on success, -1 on error or a positive integer if the list * contains samples not present in the VCF header. In such a case, the * return value is the index of the offending sample. */ int bcf_hdr_set_samples(bcf_hdr_t *hdr, const char *samples, int is_file); int bcf_subset_format(const bcf_hdr_t *hdr, bcf1_t *rec); /** Writes VCF or BCF header */ int bcf_hdr_write(htsFile *fp, bcf_hdr_t *h); /** Parse VCF line contained in kstring and populate the bcf1_t struct */ int vcf_parse(kstring_t *s, const bcf_hdr_t *h, bcf1_t *v); /** The opposite of vcf_parse. It should rarely be called directly, see vcf_write */ int vcf_format(const bcf_hdr_t *h, const bcf1_t *v, kstring_t *s); /** * bcf_read() - read next VCF or BCF record * * Returns -1 on critical errors, 0 otherwise. On errors which are not * critical for reading, such as missing header definitions, v->errcode is * set to one of BCF_ERR* code and must be checked before calling * vcf_write(). */ int bcf_read(htsFile *fp, const bcf_hdr_t *h, bcf1_t *v); /** * bcf_unpack() - unpack/decode a BCF record (fills the bcf1_t::d field) * * Note that bcf_unpack() must be called even when reading VCF. It is safe * to call the function repeatedly, it will not unpack the same field * twice. */ #define BCF_UN_STR 1 // up to ALT inclusive #define BCF_UN_FLT 2 // up to FILTER #define BCF_UN_INFO 4 // up to INFO #define BCF_UN_SHR (BCF_UN_STR|BCF_UN_FLT|BCF_UN_INFO) // all shared information #define BCF_UN_FMT 8 // unpack format and each sample #define BCF_UN_IND BCF_UN_FMT // a synonymo of BCF_UN_FMT #define BCF_UN_ALL (BCF_UN_SHR|BCF_UN_FMT) // everything int bcf_unpack(bcf1_t *b, int which); /* * bcf_dup() - create a copy of BCF record. * * Note that bcf_unpack() must be called on the returned copy as if it was * obtained from bcf_read(). Also note that bcf_dup() calls bcf_sync1(src) * internally to reflect any changes made by bcf_update_* functions. */ bcf1_t *bcf_dup(bcf1_t *src); bcf1_t *bcf_copy(bcf1_t *dst, bcf1_t *src); /** * bcf_write() - write one VCF or BCF record. The type is determined at the open() call. */ int bcf_write(htsFile *fp, const bcf_hdr_t *h, bcf1_t *v); /** * The following functions work only with VCFs and should rarely be called * directly. Usually one wants to use their bcf_* alternatives, which work * transparently with both VCFs and BCFs. */ bcf_hdr_t *vcf_hdr_read(htsFile *fp); int vcf_hdr_write(htsFile *fp, const bcf_hdr_t *h); int vcf_read(htsFile *fp, const bcf_hdr_t *h, bcf1_t *v); int vcf_write(htsFile *fp, const bcf_hdr_t *h, bcf1_t *v); /** Helper function for the bcf_itr_next() macro; internal use, ignore it */ int bcf_readrec(BGZF *fp, void *null, void *v, int *tid, int *beg, int *end); /************************************************************************** * Header querying and manipulation routines **************************************************************************/ /** Create a new header using the supplied template */ bcf_hdr_t *bcf_hdr_dup(const bcf_hdr_t *hdr); /** * Copy header lines from src to dst if not already present in dst. See also bcf_translate(). * Returns 0 on success or sets a bit on error: * 1 .. conflicting definitions of tag length * // todo */ int bcf_hdr_combine(bcf_hdr_t *dst, const bcf_hdr_t *src); /** * bcf_hdr_add_sample() - add a new sample. * @param sample: sample name to be added */ int bcf_hdr_add_sample(bcf_hdr_t *hdr, const char *sample); /** Read VCF header from a file and update the header */ int bcf_hdr_set(bcf_hdr_t *hdr, const char *fname); /** Returns formatted header (newly allocated string) and its length, * excluding the terminating \0. If is_bcf parameter is unset, IDX * fields are discarded. */ char *bcf_hdr_fmt_text(const bcf_hdr_t *hdr, int is_bcf, int *len); /** Append new VCF header line, returns 0 on success */ int bcf_hdr_append(bcf_hdr_t *h, const char *line); int bcf_hdr_printf(bcf_hdr_t *h, const char *format, ...); /** VCF version, e.g. VCFv4.2 */ const char *bcf_hdr_get_version(const bcf_hdr_t *hdr); void bcf_hdr_set_version(bcf_hdr_t *hdr, const char *version); /** * bcf_hdr_remove() - remove VCF header tag * @param type: one of BCF_HL_* * @param key: tag name */ void bcf_hdr_remove(bcf_hdr_t *h, int type, const char *key); /** * bcf_hdr_subset() - creates a new copy of the header removing unwanted samples * @param n: number of samples to keep * @param samples: names of the samples to keep * @param imap: mapping from index in @samples to the sample index in the original file * * Sample names not present in h0 are ignored. The number of unmatched samples can be checked * by comparing n and bcf_hdr_nsamples(out_hdr). * This function can be used to reorder samples. * See also bcf_subset() which subsets individual records. */ bcf_hdr_t *bcf_hdr_subset(const bcf_hdr_t *h0, int n, char *const* samples, int *imap); /** Creates a list of sequence names. It is up to the caller to free the list (but not the sequence names) */ const char **bcf_hdr_seqnames(const bcf_hdr_t *h, int *nseqs); /** Get number of samples */ #define bcf_hdr_nsamples(hdr) (hdr)->n[BCF_DT_SAMPLE] /** The following functions are for internal use and should rarely be called directly */ int bcf_hdr_parse(bcf_hdr_t *hdr, char *htxt); int bcf_hdr_sync(bcf_hdr_t *h); bcf_hrec_t *bcf_hdr_parse_line(const bcf_hdr_t *h, const char *line, int *len); void bcf_hrec_format(const bcf_hrec_t *hrec, kstring_t *str); int bcf_hdr_add_hrec(bcf_hdr_t *hdr, bcf_hrec_t *hrec); /** * bcf_hdr_get_hrec() - get header line info * @param type: one of the BCF_HL_* types: FLT,INFO,FMT,CTG,STR,GEN * @param key: the header key for generic lines (e.g. "fileformat"), any field * for structured lines, typically "ID". * @param value: the value which pairs with key. Can be be NULL for BCF_HL_GEN * @param str_class: the class of BCF_HL_STR line (e.g. "ALT" or "SAMPLE"), otherwise NULL */ bcf_hrec_t *bcf_hdr_get_hrec(const bcf_hdr_t *hdr, int type, const char *key, const char *value, const char *str_class); bcf_hrec_t *bcf_hrec_dup(bcf_hrec_t *hrec); void bcf_hrec_add_key(bcf_hrec_t *hrec, const char *str, int len); void bcf_hrec_set_val(bcf_hrec_t *hrec, int i, const char *str, int len, int is_quoted); int bcf_hrec_find_key(bcf_hrec_t *hrec, const char *key); void hrec_add_idx(bcf_hrec_t *hrec, int idx); void bcf_hrec_destroy(bcf_hrec_t *hrec); /************************************************************************** * Individual record querying and manipulation routines **************************************************************************/ /** See the description of bcf_hdr_subset() */ int bcf_subset(const bcf_hdr_t *h, bcf1_t *v, int n, int *imap); /** * bcf_translate() - translate tags ids to be consistent with different header. This function * is useful when lines from multiple VCF need to be combined. * @dst_hdr: the destination header, to be used in bcf_write(), see also bcf_hdr_combine() * @src_hdr: the source header, used in bcf_read() * @src_line: line obtained by bcf_read() */ int bcf_translate(const bcf_hdr_t *dst_hdr, bcf_hdr_t *src_hdr, bcf1_t *src_line); /** * bcf_get_variant_type[s]() - returns one of VCF_REF, VCF_SNP, etc */ int bcf_get_variant_types(bcf1_t *rec); int bcf_get_variant_type(bcf1_t *rec, int ith_allele); int bcf_is_snp(bcf1_t *v); /** * bcf_update_filter() - sets the FILTER column * @flt_ids: The filter IDs to set, numeric IDs returned by bcf_id2int(hdr, BCF_DT_ID, "PASS") * @n: Number of filters. If n==0, all filters are removed */ int bcf_update_filter(const bcf_hdr_t *hdr, bcf1_t *line, int *flt_ids, int n); /** * bcf_add_filter() - adds to the FILTER column * @flt_id: filter ID to add, numeric ID returned by bcf_id2int(hdr, BCF_DT_ID, "PASS") * * If flt_id is PASS, all existing filters are removed first. If other than PASS, existing PASS is removed. */ int bcf_add_filter(const bcf_hdr_t *hdr, bcf1_t *line, int flt_id); /** * bcf_remove_filter() - removes from the FILTER column * @flt_id: filter ID to remove, numeric ID returned by bcf_id2int(hdr, BCF_DT_ID, "PASS") * @pass: when set to 1 and no filters are present, set to PASS */ int bcf_remove_filter(const bcf_hdr_t *hdr, bcf1_t *line, int flt_id, int pass); /** * Returns 1 if present, 0 if absent, or -1 if filter does not exist. "PASS" and "." can be used interchangeably. */ int bcf_has_filter(const bcf_hdr_t *hdr, bcf1_t *line, char *filter); /** * bcf_update_alleles() and bcf_update_alleles_str() - update REF and ALLT column * @alleles: Array of alleles * @nals: Number of alleles * @alleles_string: Comma-separated alleles, starting with the REF allele * * Not that in order for indexing to work correctly in presence of INFO/END tag, * the length of reference allele (line->rlen) must be set explicitly by the caller, * or otherwise, if rlen is zero, strlen(line->d.allele[0]) is used to set the length * on bcf_write(). */ int bcf_update_alleles(const bcf_hdr_t *hdr, bcf1_t *line, const char **alleles, int nals); int bcf_update_alleles_str(const bcf_hdr_t *hdr, bcf1_t *line, const char *alleles_string); int bcf_update_id(const bcf_hdr_t *hdr, bcf1_t *line, const char *id); /* * bcf_update_info_*() - functions for updating INFO fields * @hdr: the BCF header * @line: VCF line to be edited * @key: the INFO tag to be updated * @values: pointer to the array of values. Pass NULL to remove the tag. * @n: number of values in the array. When set to 0, the INFO tag is removed * * The @string in bcf_update_info_flag() is optional, @n indicates whether * the flag is set or removed. * * Returns 0 on success or negative value on error. */ #define bcf_update_info_int32(hdr,line,key,values,n) bcf_update_info((hdr),(line),(key),(values),(n),BCF_HT_INT) #define bcf_update_info_float(hdr,line,key,values,n) bcf_update_info((hdr),(line),(key),(values),(n),BCF_HT_REAL) #define bcf_update_info_flag(hdr,line,key,string,n) bcf_update_info((hdr),(line),(key),(string),(n),BCF_HT_FLAG) #define bcf_update_info_string(hdr,line,key,string) bcf_update_info((hdr),(line),(key),(string),1,BCF_HT_STR) int bcf_update_info(const bcf_hdr_t *hdr, bcf1_t *line, const char *key, const void *values, int n, int type); /* * bcf_update_format_*() - functions for updating FORMAT fields * @values: pointer to the array of values, the same number of elements * is expected for each sample. Missing values must be padded * with bcf_*_missing or bcf_*_vector_end values. * @n: number of values in the array. If n==0, existing tag is removed. * * The function bcf_update_format_string() is a higher-level (slower) variant of * bcf_update_format_char(). The former accepts array of \0-terminated strings * whereas the latter requires that the strings are collapsed into a single array * of fixed-length strings. In case of strings with variable length, shorter strings * can be \0-padded. Note that the collapsed strings passed to bcf_update_format_char() * are not \0-terminated. * * Returns 0 on success or negative value on error. */ #define bcf_update_format_int32(hdr,line,key,values,n) bcf_update_format((hdr),(line),(key),(values),(n),BCF_HT_INT) #define bcf_update_format_float(hdr,line,key,values,n) bcf_update_format((hdr),(line),(key),(values),(n),BCF_HT_REAL) #define bcf_update_format_char(hdr,line,key,values,n) bcf_update_format((hdr),(line),(key),(values),(n),BCF_HT_STR) #define bcf_update_genotypes(hdr,line,gts,n) bcf_update_format((hdr),(line),"GT",(gts),(n),BCF_HT_INT) // See bcf_gt_ macros below int bcf_update_format_string(const bcf_hdr_t *hdr, bcf1_t *line, const char *key, const char **values, int n); int bcf_update_format(const bcf_hdr_t *hdr, bcf1_t *line, const char *key, const void *values, int n, int type); // Macros for setting genotypes correctly, for use with bcf_update_genotypes only; idx corresponds // to VCF's GT (1-based index to ALT or 0 for the reference allele) and val is the opposite, obtained // from bcf_get_genotypes() below. #define bcf_gt_phased(idx) ((idx+1)<<1|1) #define bcf_gt_unphased(idx) ((idx+1)<<1) #define bcf_gt_missing 0 #define bcf_gt_is_missing(val) ((val)>>1 ? 0 : 1) #define bcf_gt_is_phased(idx) ((idx)&1) #define bcf_gt_allele(val) (((val)>>1)-1) /** Conversion between alleles indexes to Number=G genotype index (assuming diploid, all 0-based) */ #define bcf_alleles2gt(a,b) ((a)>(b)?((a)*((a)+1)/2+(b)):((b)*((b)+1)/2+(a))) static inline void bcf_gt2alleles(int igt, int *a, int *b) { int k = 0, dk = 1; while ( k 0 ) * for (i=0; iid[type][int_id].key) /** * bcf_hdr_name2id() - Translates sequence names (chromosomes) into numeric ID * bcf_hdr_id2name() - Translates numeric ID to sequence name */ static inline int bcf_hdr_name2id(const bcf_hdr_t *hdr, const char *id) { return bcf_hdr_id2int(hdr, BCF_DT_CTG, id); } static inline const char *bcf_hdr_id2name(const bcf_hdr_t *hdr, int rid) { return hdr->id[BCF_DT_CTG][rid].key; } static inline const char *bcf_seqname(const bcf_hdr_t *hdr, bcf1_t *rec) { return hdr->id[BCF_DT_CTG][rec->rid].key; } /** * bcf_hdr_id2*() - Macros for accessing bcf_idinfo_t * @type: one of BCF_HL_FLT, BCF_HL_INFO, BCF_HL_FMT * @int_id: return value of bcf_id2int, must be >=0 * * The returned values are: * bcf_hdr_id2length .. whether the number of values is fixed or variable, one of BCF_VL_* * bcf_hdr_id2number .. the number of values, 0xfffff for variable length fields * bcf_hdr_id2type .. the field type, one of BCF_HT_* * bcf_hdr_id2coltype .. the column type, one of BCF_HL_* * * Notes: Prior to using the macros, the presence of the info should be * tested with bcf_hdr_idinfo_exists(). */ #define bcf_hdr_id2length(hdr,type,int_id) ((hdr)->id[BCF_DT_ID][int_id].val->info[type]>>8 & 0xf) #define bcf_hdr_id2number(hdr,type,int_id) ((hdr)->id[BCF_DT_ID][int_id].val->info[type]>>12) #define bcf_hdr_id2type(hdr,type,int_id) ((hdr)->id[BCF_DT_ID][int_id].val->info[type]>>4 & 0xf) #define bcf_hdr_id2coltype(hdr,type,int_id) ((hdr)->id[BCF_DT_ID][int_id].val->info[type] & 0xf) #define bcf_hdr_idinfo_exists(hdr,type,int_id) ((int_id<0 || bcf_hdr_id2coltype(hdr,type,int_id)==0xf) ? 0 : 1) #define bcf_hdr_id2hrec(hdr,dict_type,col_type,int_id) ((hdr)->id[(dict_type)==BCF_DT_CTG?BCF_DT_CTG:BCF_DT_ID][int_id].val->hrec[(dict_type)==BCF_DT_CTG?0:(col_type)]) void bcf_fmt_array(kstring_t *s, int n, int type, void *data); uint8_t *bcf_fmt_sized_array(kstring_t *s, uint8_t *ptr); void bcf_enc_vchar(kstring_t *s, int l, const char *a); void bcf_enc_vint(kstring_t *s, int n, int32_t *a, int wsize); void bcf_enc_vfloat(kstring_t *s, int n, float *a); /************************************************************************** * BCF index * * Note that these functions work with BCFs only. See synced_bcf_reader.h * which provides (amongst other things) an API to work transparently with * both indexed BCFs and VCFs. **************************************************************************/ #define bcf_itr_destroy(iter) hts_itr_destroy(iter) #define bcf_itr_queryi(idx, tid, beg, end) hts_itr_query((idx), (tid), (beg), (end), bcf_readrec) #define bcf_itr_querys(idx, hdr, s) hts_itr_querys((idx), (s), (hts_name2id_f)(bcf_hdr_name2id), (hdr), hts_itr_query, bcf_readrec) #define bcf_itr_next(htsfp, itr, r) hts_itr_next((htsfp)->fp.bgzf, (itr), (r), 0) #define bcf_index_load(fn) hts_idx_load(fn, HTS_FMT_CSI) #define bcf_index_seqnames(idx, hdr, nptr) hts_idx_seqnames((idx),(nptr),(hts_id2name_f)(bcf_hdr_id2name),(hdr)) int bcf_index_build(const char *fn, int min_shift); #ifdef __cplusplus } #endif /******************* * Typed value I/O * *******************/ /* Note that in contrast with BCFv2.1 specification, HTSlib implementation allows missing values in vectors. For integer types, the values 0x80, 0x8000, 0x80000000 are interpreted as missing values and 0x81, 0x8001, 0x80000001 as end-of-vector indicators. Similarly for floats, the value of 0x7F800001 is interpreted as a missing value and 0x7F800002 as an end-of-vector indicator. Note that the end-of-vector byte is not part of the vector. This trial BCF version (v2.2) is compatible with the VCF specification and enables to handle correctly vectors with different ploidy in presence of missing values. */ #define bcf_int8_vector_end (INT8_MIN+1) #define bcf_int16_vector_end (INT16_MIN+1) #define bcf_int32_vector_end (INT32_MIN+1) #define bcf_str_vector_end 0 #define bcf_int8_missing INT8_MIN #define bcf_int16_missing INT16_MIN #define bcf_int32_missing INT32_MIN #define bcf_str_missing 0x07 extern uint32_t bcf_float_vector_end; extern uint32_t bcf_float_missing; static inline void bcf_float_set(float *ptr, uint32_t value) { union { uint32_t i; float f; } u; u.i = value; *ptr = u.f; } #define bcf_float_set_vector_end(x) bcf_float_set(&(x),bcf_float_vector_end) #define bcf_float_set_missing(x) bcf_float_set(&(x),bcf_float_missing) static inline int bcf_float_is_missing(float f) { union { uint32_t i; float f; } u; u.f = f; return u.i==bcf_float_missing ? 1 : 0; } static inline int bcf_float_is_vector_end(float f) { union { uint32_t i; float f; } u; u.f = f; return u.i==bcf_float_vector_end ? 1 : 0; } static inline void bcf_format_gt(bcf_fmt_t *fmt, int isample, kstring_t *str) { #define BRANCH(type_t, missing, vector_end) { \ type_t *ptr = (type_t*) (fmt->p + isample*fmt->size); \ int i; \ for (i=0; in && ptr[i]!=vector_end; i++) \ { \ if ( i ) kputc("/|"[ptr[i]&1], str); \ if ( !(ptr[i]>>1) ) kputc('.', str); \ else kputw((ptr[i]>>1) - 1, str); \ } \ if (i == 0) kputc('.', str); \ } switch (fmt->type) { case BCF_BT_INT8: BRANCH(int8_t, bcf_int8_missing, bcf_int8_vector_end); break; case BCF_BT_INT16: BRANCH(int16_t, bcf_int16_missing, bcf_int16_vector_end); break; case BCF_BT_INT32: BRANCH(int32_t, bcf_int32_missing, bcf_int32_vector_end); break; default: fprintf(stderr,"FIXME: type %d in bcf_format_gt?\n", fmt->type); abort(); break; } #undef BRANCH } static inline void bcf_enc_size(kstring_t *s, int size, int type) { if (size >= 15) { kputc(15<<4|type, s); if (size >= 128) { if (size >= 32768) { int32_t x = size; kputc(1<<4|BCF_BT_INT32, s); kputsn((char*)&x, 4, s); } else { int16_t x = size; kputc(1<<4|BCF_BT_INT16, s); kputsn((char*)&x, 2, s); } } else { kputc(1<<4|BCF_BT_INT8, s); kputc(size, s); } } else kputc(size<<4|type, s); } static inline int bcf_enc_inttype(long x) { if (x <= INT8_MAX && x > bcf_int8_missing) return BCF_BT_INT8; if (x <= INT16_MAX && x > bcf_int16_missing) return BCF_BT_INT16; return BCF_BT_INT32; } static inline void bcf_enc_int1(kstring_t *s, int32_t x) { if (x == bcf_int32_vector_end) { bcf_enc_size(s, 1, BCF_BT_INT8); kputc(bcf_int8_vector_end, s); } else if (x == bcf_int32_missing) { bcf_enc_size(s, 1, BCF_BT_INT8); kputc(bcf_int8_missing, s); } else if (x <= INT8_MAX && x > bcf_int8_missing) { bcf_enc_size(s, 1, BCF_BT_INT8); kputc(x, s); } else if (x <= INT16_MAX && x > bcf_int16_missing) { int16_t z = x; bcf_enc_size(s, 1, BCF_BT_INT16); kputsn((char*)&z, 2, s); } else { int32_t z = x; bcf_enc_size(s, 1, BCF_BT_INT32); kputsn((char*)&z, 4, s); } } static inline int32_t bcf_dec_int1(const uint8_t *p, int type, uint8_t **q) { if (type == BCF_BT_INT8) { *q = (uint8_t*)p + 1; return *(int8_t*)p; } else if (type == BCF_BT_INT16) { *q = (uint8_t*)p + 2; return *(int16_t*)p; } else { *q = (uint8_t*)p + 4; return *(int32_t*)p; } } static inline int32_t bcf_dec_typed_int1(const uint8_t *p, uint8_t **q) { return bcf_dec_int1(p + 1, *p&0xf, q); } static inline int32_t bcf_dec_size(const uint8_t *p, uint8_t **q, int *type) { *type = *p & 0xf; if (*p>>4 != 15) { *q = (uint8_t*)p + 1; return *p>>4; } else return bcf_dec_typed_int1(p + 1, q); } #endif htslib-1.2.1/htslib/vcf_sweep.h000066400000000000000000000027551246417267700164500ustar00rootroot00000000000000/* vcf_sweep.h -- forward/reverse sweep API. Copyright (C) 2013 Genome Research Ltd. Author: Petr Danecek Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ #ifndef HTSLIB_VCF_SWEEP_H #define HTSLIB_VCF_SWEEP_H #include "hts.h" #include "vcf.h" typedef struct _bcf_sweep_t bcf_sweep_t; bcf_sweep_t *bcf_sweep_init(const char *fname); void bcf_sweep_destroy(bcf_sweep_t *sw); bcf_hdr_t *bcf_sweep_hdr(bcf_sweep_t *sw); bcf1_t *bcf_sweep_fwd(bcf_sweep_t *sw); bcf1_t *bcf_sweep_bwd(bcf_sweep_t *sw); #endif htslib-1.2.1/htslib/vcfutils.h000066400000000000000000000076241246417267700163260ustar00rootroot00000000000000/* vcfutils.h -- allele-related utility functions. Copyright (C) 2012, 2013 Genome Research Ltd. Author: Petr Danecek Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ #ifndef HTSLIB_VCFUTILS_H #define HTSLIB_VCFUTILS_H #include "vcf.h" /** * bcf_trim_alleles() - remove ALT alleles unused in genotype fields * @header: for access to BCF_DT_ID dictionary * @line: VCF line obtain from vcf_parse1 * * Returns the number of removed alleles on success or negative * on error: * -1 .. some allele index is out of bounds */ int bcf_trim_alleles(const bcf_hdr_t *header, bcf1_t *line); /** * bcf_remove_alleles() - remove ALT alleles according to bitmask @mask * @header: for access to BCF_DT_ID dictionary * @line: VCF line obtained from vcf_parse1 * @mask: alleles to remove */ void bcf_remove_alleles(const bcf_hdr_t *header, bcf1_t *line, int mask); /** * bcf_calc_ac() - calculate the number of REF and ALT alleles * @header: for access to BCF_DT_ID dictionary * @line: VCF line obtained from vcf_parse1 * @ac: array of length line->n_allele * @which: determine if INFO/AN,AC and indv fields be used * * Returns 1 if the call succeeded, or 0 if the value could not * be determined. * * The value of @which determines if existing INFO/AC,AN can be * used (BCF_UN_INFO) and and if indv fields can be splitted * (BCF_UN_FMT). */ int bcf_calc_ac(const bcf_hdr_t *header, bcf1_t *line, int *ac, int which); /** * bcf_gt_type() - determines type of the genotype * @fmt_ptr: the GT format field as set for example by set_fmt_ptr * @isample: sample index (starting from 0) * @ial: index of the 1st non-reference allele (starting from 1) * @jal: index of the 2nd non-reference allele (starting from 1) * * Returns the type of the genotype (one of GT_HOM_RR, GT_HET_RA, * GT_HOM_AA, GT_HET_AA, GT_HAPL_R, GT_HAPL_A or GT_UNKN). If $ial * is not NULL and the genotype has one or more non-reference * alleles, $ial will be set. In case of GT_HET_AA, $ial is the * position of the allele which appeared first in ALT. If $jal is * not null and the genotype is GT_HET_AA, $jal will be set and is * the position of the second allele in ALT. */ #define GT_HOM_RR 0 // note: the actual value of GT_* matters, used in dosage r2 calculation #define GT_HOM_AA 1 #define GT_HET_RA 2 #define GT_HET_AA 3 #define GT_HAPL_R 4 #define GT_HAPL_A 5 #define GT_UNKN 6 int bcf_gt_type(bcf_fmt_t *fmt_ptr, int isample, int *ial, int *jal); static inline int bcf_acgt2int(char c) { if ( (int)c>96 ) c -= 32; if ( c=='A' ) return 0; if ( c=='C' ) return 1; if ( c=='G' ) return 2; if ( c=='T' ) return 3; return -1; } #define bcf_int2acgt(i) "ACGT"[i] /** * bcf_ij2G() - common task: allele indexes to Number=G index (diploid) * @i,j: allele indexes, 0-based, i<=j * * Returns index to the Number=G diploid array */ #define bcf_ij2G(i, j) ((j)*((j)+1)/2+(i)) #endif htslib-1.2.1/htslib_vars.mk000066400000000000000000000040501246417267700156700ustar00rootroot00000000000000# Makefile variables useful for third-party code using htslib's public API. # # Copyright (C) 2013-2014 Genome Research Ltd. # # Author: John Marshall # # Permission is hereby granted, free of charge, to any person obtaining a copy # of this software and associated documentation files (the "Software"), to deal # in the Software without restriction, including without limitation the rights # to use, copy, modify, merge, publish, distribute, sublicense, and/or sell # copies of the Software, and to permit persons to whom the Software is # furnished to do so, subject to the following conditions: # # The above copyright notice and this permission notice shall be included in # all copies or substantial portions of the Software. # # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL # THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER # LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING # FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER # DEALINGS IN THE SOFTWARE. # These variables can be used to express dependencies on htslib headers. # See htslib.mk for details. htslib_bgzf_h = $(HTSPREFIX)htslib/bgzf.h htslib_faidx_h = $(HTSPREFIX)htslib/faidx.h htslib_hfile_h = $(HTSPREFIX)htslib/hfile.h $(htslib_hts_defs_h) htslib_hts_h = $(HTSPREFIX)htslib/hts.h htslib_hts_defs_h = $(HTSPREFIX)htslib/hts_defs.h htslib_regidx_h = $(HTSPREFIX)htslib/regidx.h htslib_sam_h = $(HTSPREFIX)htslib/sam.h $(htslib_hts_h) htslib_synced_bcf_reader_h = $(HTSPREFIX)htslib/synced_bcf_reader.h $(htslib_hts_h) $(htslib_vcf_h) $(htslib_tbx_h) htslib_tbx_h = $(HTSPREFIX)htslib/tbx.h $(htslib_hts_h) htslib_vcf_h = $(HTSPREFIX)htslib/vcf.h $(htslib_hts_h) $(HTSPREFIX)htslib/kstring.h htslib_vcf_sweep_h = $(HTSPREFIX)htslib/vcf_sweep.h $(htslib_hts_h) $(htslib_vcf_h) htslib_vcfutils_h = $(HTSPREFIX)htslib/vcfutils.h $(htslib_vcf_h) htslib-1.2.1/kfunc.c000066400000000000000000000216711246417267700143010ustar00rootroot00000000000000/* The MIT License Copyright (C) 2010, 2013 Genome Research Ltd. Copyright (C) 2011 Attractive Chaos Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ #include #include #include "htslib/kfunc.h" /* Log gamma function * \log{\Gamma(z)} * AS245, 2nd algorithm, http://lib.stat.cmu.edu/apstat/245 */ double kf_lgamma(double z) { double x = 0; x += 0.1659470187408462e-06 / (z+7); x += 0.9934937113930748e-05 / (z+6); x -= 0.1385710331296526 / (z+5); x += 12.50734324009056 / (z+4); x -= 176.6150291498386 / (z+3); x += 771.3234287757674 / (z+2); x -= 1259.139216722289 / (z+1); x += 676.5203681218835 / z; x += 0.9999999999995183; return log(x) - 5.58106146679532777 - z + (z-0.5) * log(z+6.5); } /* complementary error function * \frac{2}{\sqrt{\pi}} \int_x^{\infty} e^{-t^2} dt * AS66, 2nd algorithm, http://lib.stat.cmu.edu/apstat/66 */ double kf_erfc(double x) { const double p0 = 220.2068679123761; const double p1 = 221.2135961699311; const double p2 = 112.0792914978709; const double p3 = 33.912866078383; const double p4 = 6.37396220353165; const double p5 = .7003830644436881; const double p6 = .03526249659989109; const double q0 = 440.4137358247522; const double q1 = 793.8265125199484; const double q2 = 637.3336333788311; const double q3 = 296.5642487796737; const double q4 = 86.78073220294608; const double q5 = 16.06417757920695; const double q6 = 1.755667163182642; const double q7 = .08838834764831844; double expntl, z, p; z = fabs(x) * M_SQRT2; if (z > 37.) return x > 0.? 0. : 2.; expntl = exp(z * z * - .5); if (z < 10. / M_SQRT2) // for small z p = expntl * ((((((p6 * z + p5) * z + p4) * z + p3) * z + p2) * z + p1) * z + p0) / (((((((q7 * z + q6) * z + q5) * z + q4) * z + q3) * z + q2) * z + q1) * z + q0); else p = expntl / 2.506628274631001 / (z + 1. / (z + 2. / (z + 3. / (z + 4. / (z + .65))))); return x > 0.? 2. * p : 2. * (1. - p); } /* The following computes regularized incomplete gamma functions. * Formulas are taken from Wiki, with additional input from Numerical * Recipes in C (for modified Lentz's algorithm) and AS245 * (http://lib.stat.cmu.edu/apstat/245). * * A good online calculator is available at: * * http://www.danielsoper.com/statcalc/calc23.aspx * * It calculates upper incomplete gamma function, which equals * kf_gammaq(s,z)*tgamma(s). */ #define KF_GAMMA_EPS 1e-14 #define KF_TINY 1e-290 // regularized lower incomplete gamma function, by series expansion static double _kf_gammap(double s, double z) { double sum, x; int k; for (k = 1, sum = x = 1.; k < 100; ++k) { sum += (x *= z / (s + k)); if (x / sum < KF_GAMMA_EPS) break; } return exp(s * log(z) - z - kf_lgamma(s + 1.) + log(sum)); } // regularized upper incomplete gamma function, by continued fraction static double _kf_gammaq(double s, double z) { int j; double C, D, f; f = 1. + z - s; C = f; D = 0.; // Modified Lentz's algorithm for computing continued fraction // See Numerical Recipes in C, 2nd edition, section 5.2 for (j = 1; j < 100; ++j) { double a = j * (s - j), b = (j<<1) + 1 + z - s, d; D = b + a * D; if (D < KF_TINY) D = KF_TINY; C = b + a / C; if (C < KF_TINY) C = KF_TINY; D = 1. / D; d = C * D; f *= d; if (fabs(d - 1.) < KF_GAMMA_EPS) break; } return exp(s * log(z) - z - kf_lgamma(s) - log(f)); } double kf_gammap(double s, double z) { return z <= 1. || z < s? _kf_gammap(s, z) : 1. - _kf_gammaq(s, z); } double kf_gammaq(double s, double z) { return z <= 1. || z < s? 1. - _kf_gammap(s, z) : _kf_gammaq(s, z); } /* Regularized incomplete beta function. The method is taken from * Numerical Recipe in C, 2nd edition, section 6.4. The following web * page calculates the incomplete beta function, which equals * kf_betai(a,b,x) * gamma(a) * gamma(b) / gamma(a+b): * * http://www.danielsoper.com/statcalc/calc36.aspx */ static double kf_betai_aux(double a, double b, double x) { double C, D, f; int j; if (x == 0.) return 0.; if (x == 1.) return 1.; f = 1.; C = f; D = 0.; // Modified Lentz's algorithm for computing continued fraction for (j = 1; j < 200; ++j) { double aa, d; int m = j>>1; aa = (j&1)? -(a + m) * (a + b + m) * x / ((a + 2*m) * (a + 2*m + 1)) : m * (b - m) * x / ((a + 2*m - 1) * (a + 2*m)); D = 1. + aa * D; if (D < KF_TINY) D = KF_TINY; C = 1. + aa / C; if (C < KF_TINY) C = KF_TINY; D = 1. / D; d = C * D; f *= d; if (fabs(d - 1.) < KF_GAMMA_EPS) break; } return exp(kf_lgamma(a+b) - kf_lgamma(a) - kf_lgamma(b) + a * log(x) + b * log(1.-x)) / a / f; } double kf_betai(double a, double b, double x) { return x < (a + 1.) / (a + b + 2.)? kf_betai_aux(a, b, x) : 1. - kf_betai_aux(b, a, 1. - x); } #ifdef KF_MAIN #include int main(int argc, char *argv[]) { double x = 5.5, y = 3; double a, b; printf("erfc(%lg): %lg, %lg\n", x, erfc(x), kf_erfc(x)); printf("upper-gamma(%lg,%lg): %lg\n", x, y, kf_gammaq(y, x)*tgamma(y)); a = 2; b = 2; x = 0.5; printf("incomplete-beta(%lg,%lg,%lg): %lg\n", a, b, x, kf_betai(a, b, x) / exp(kf_lgamma(a+b) - kf_lgamma(a) - kf_lgamma(b))); return 0; } #endif // log\binom{n}{k} static double lbinom(int n, int k) { if (k == 0 || n == k) return 0; return lgamma(n+1) - lgamma(k+1) - lgamma(n-k+1); } // n11 n12 | n1_ // n21 n22 | n2_ //-----------+---- // n_1 n_2 | n // hypergeometric distribution static double hypergeo(int n11, int n1_, int n_1, int n) { return exp(lbinom(n1_, n11) + lbinom(n-n1_, n_1-n11) - lbinom(n, n_1)); } typedef struct { int n11, n1_, n_1, n; double p; } hgacc_t; // incremental version of hypergenometric distribution static double hypergeo_acc(int n11, int n1_, int n_1, int n, hgacc_t *aux) { if (n1_ || n_1 || n) { aux->n11 = n11; aux->n1_ = n1_; aux->n_1 = n_1; aux->n = n; } else { // then only n11 changed; the rest fixed if (n11%11 && n11 + aux->n - aux->n1_ - aux->n_1) { if (n11 == aux->n11 + 1) { // incremental aux->p *= (double)(aux->n1_ - aux->n11) / n11 * (aux->n_1 - aux->n11) / (n11 + aux->n - aux->n1_ - aux->n_1); aux->n11 = n11; return aux->p; } if (n11 == aux->n11 - 1) { // incremental aux->p *= (double)aux->n11 / (aux->n1_ - n11) * (aux->n11 + aux->n - aux->n1_ - aux->n_1) / (aux->n_1 - n11); aux->n11 = n11; return aux->p; } } aux->n11 = n11; } aux->p = hypergeo(aux->n11, aux->n1_, aux->n_1, aux->n); return aux->p; } double kt_fisher_exact(int n11, int n12, int n21, int n22, double *_left, double *_right, double *two) { int i, j, max, min; double p, q, left, right; hgacc_t aux; int n1_, n_1, n; n1_ = n11 + n12; n_1 = n11 + n21; n = n11 + n12 + n21 + n22; // calculate n1_, n_1 and n max = (n_1 < n1_) ? n_1 : n1_; // max n11, for right tail min = n1_ + n_1 - n; // not sure why n11-n22 is used instead of min(n_1,n1_) if (min < 0) min = 0; // min n11, for left tail *two = *_left = *_right = 1.; if (min == max) return 1.; // no need to do test q = hypergeo_acc(n11, n1_, n_1, n, &aux); // the probability of the current table // left tail p = hypergeo_acc(min, 0, 0, 0, &aux); for (left = 0., i = min + 1; p < 0.99999999 * q && i<=max; ++i) // loop until underflow left += p, p = hypergeo_acc(i, 0, 0, 0, &aux); --i; if (p < 1.00000001 * q) left += p; else --i; // right tail p = hypergeo_acc(max, 0, 0, 0, &aux); for (right = 0., j = max - 1; p < 0.99999999 * q && j>=0; --j) // loop until underflow right += p, p = hypergeo_acc(j, 0, 0, 0, &aux); ++j; if (p < 1.00000001 * q) right += p; else ++j; // two-tail *two = left + right; if (*two > 1.) *two = 1.; // adjust left and right if (abs(i - n11) < abs(j - n11)) right = 1. - left + q; else left = 1.0 - right + q; *_left = left; *_right = right; return q; } htslib-1.2.1/knetfile.c000066400000000000000000000446061246417267700147770ustar00rootroot00000000000000/* The MIT License Copyright (c) 2008 by Genome Research Ltd (GRL). 2010 by Attractive Chaos Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ /* Probably I will not do socket programming in the next few years and therefore I decide to heavily annotate this file, for Linux and Windows as well. -ac */ #include #include #include #include #include #include #include #include #ifndef _WIN32 #include #include #include #endif #include "htslib/knetfile.h" /* In winsock.h, the type of a socket is SOCKET, which is: "typedef * u_int SOCKET". An invalid SOCKET is: "(SOCKET)(~0)", or signed * integer -1. In knetfile.c, I use "int" for socket type * throughout. This should be improved to avoid confusion. * * In Linux/Mac, recv() and read() do almost the same thing. You can see * in the header file that netread() is simply an alias of read(). In * Windows, however, they are different and using recv() is mandatory. */ /* This function tests if the file handler is ready for reading (or * writing if is_read==0). */ static int socket_wait(int fd, int is_read) { fd_set fds, *fdr = 0, *fdw = 0; struct timeval tv; int ret; tv.tv_sec = 5; tv.tv_usec = 0; // 5 seconds time out FD_ZERO(&fds); FD_SET(fd, &fds); if (is_read) fdr = &fds; else fdw = &fds; ret = select(fd+1, fdr, fdw, 0, &tv); #ifndef _WIN32 if (ret == -1) perror("select"); #else if (ret == 0) fprintf(stderr, "select time-out\n"); else if (ret == SOCKET_ERROR) fprintf(stderr, "select: %d\n", WSAGetLastError()); #endif return ret; } #ifndef _WIN32 /* This function does not work with Windows due to the lack of * getaddrinfo() in winsock. It is addapted from an example in "Beej's * Guide to Network Programming" (http://beej.us/guide/bgnet/). */ static int socket_connect(const char *host, const char *port) { #define __err_connect(func) do { perror(func); freeaddrinfo(res); return -1; } while (0) int ai_err, on = 1, fd; struct linger lng = { 0, 0 }; struct addrinfo hints, *res = 0; memset(&hints, 0, sizeof(struct addrinfo)); hints.ai_family = AF_UNSPEC; hints.ai_socktype = SOCK_STREAM; /* In Unix/Mac, getaddrinfo() is the most convenient way to get * server information. */ if ((ai_err = getaddrinfo(host, port, &hints, &res)) != 0) { fprintf(stderr, "can't resolve %s:%s: %s\n", host, port, gai_strerror(ai_err)); return -1; } if ((fd = socket(res->ai_family, res->ai_socktype, res->ai_protocol)) == -1) __err_connect("socket"); /* The following two setsockopt() are used by ftplib * (http://nbpfaus.net/~pfau/ftplib/). I am not sure if they * necessary. */ if (setsockopt(fd, SOL_SOCKET, SO_REUSEADDR, &on, sizeof(on)) == -1) __err_connect("setsockopt"); if (setsockopt(fd, SOL_SOCKET, SO_LINGER, &lng, sizeof(lng)) == -1) __err_connect("setsockopt"); if (connect(fd, res->ai_addr, res->ai_addrlen) != 0) __err_connect("connect"); freeaddrinfo(res); return fd; } #else /* MinGW's printf has problem with "%lld" */ char *int64tostr(char *buf, int64_t x) { int cnt; int i = 0; do { buf[i++] = '0' + x % 10; x /= 10; } while (x); buf[i] = 0; for (cnt = i, i = 0; i < cnt/2; ++i) { int c = buf[i]; buf[i] = buf[cnt-i-1]; buf[cnt-i-1] = c; } return buf; } int64_t strtoint64(const char *buf) { int64_t x; for (x = 0; *buf != '\0'; ++buf) x = x * 10 + ((int64_t) *buf - 48); return x; } /* In windows, the first thing is to establish the TCP connection. */ int knet_win32_init() { WSADATA wsaData; return WSAStartup(MAKEWORD(2, 2), &wsaData); } void knet_win32_destroy() { WSACleanup(); } /* A slightly modfied version of the following function also works on * Mac (and presummably Linux). However, this function is not stable on * my Mac. It sometimes works fine but sometimes does not. Therefore for * non-Windows OS, I do not use this one. */ static SOCKET socket_connect(const char *host, const char *port) { #define __err_connect(func) \ do { \ fprintf(stderr, "%s: %d\n", func, WSAGetLastError()); \ return -1; \ } while (0) int on = 1; SOCKET fd; struct linger lng = { 0, 0 }; struct sockaddr_in server; struct hostent *hp = 0; // open socket if ((fd = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP)) == INVALID_SOCKET) __err_connect("socket"); if (setsockopt(fd, SOL_SOCKET, SO_REUSEADDR, (char*)&on, sizeof(on)) == -1) __err_connect("setsockopt"); if (setsockopt(fd, SOL_SOCKET, SO_LINGER, (char*)&lng, sizeof(lng)) == -1) __err_connect("setsockopt"); // get host info if (isalpha(host[0])) hp = gethostbyname(host); else { struct in_addr addr; addr.s_addr = inet_addr(host); hp = gethostbyaddr((char*)&addr, 4, AF_INET); } if (hp == 0) __err_connect("gethost"); // connect server.sin_addr.s_addr = *((unsigned long*)hp->h_addr); server.sin_family= AF_INET; server.sin_port = htons(atoi(port)); if (connect(fd, (struct sockaddr*)&server, sizeof(server)) != 0) __err_connect("connect"); // freehostent(hp); // strangely in MSDN, hp is NOT freed (memory leak?!) return fd; } #endif static off_t my_netread(int fd, void *buf, off_t len) { off_t rest = len, curr, l = 0; /* recv() and read() may not read the required length of data with * one call. They have to be called repeatedly. */ while (rest) { if (socket_wait(fd, 1) <= 0) break; // socket is not ready for reading curr = netread(fd, (void*)((char*)buf + l), rest); /* According to the glibc manual, section 13.2, a zero returned * value indicates end-of-file (EOF), which should mean that * read() will not return zero if EOF has not been met but data * are not immediately available. */ if (curr == 0) break; l += curr; rest -= curr; } return l; } /************************* * FTP specific routines * *************************/ static int kftp_get_response(knetFile *ftp) { #ifndef _WIN32 unsigned char c; #else char c; #endif int n = 0; char *p; if (socket_wait(ftp->ctrl_fd, 1) <= 0) return 0; while (netread(ftp->ctrl_fd, &c, 1)) { // FIXME: this is *VERY BAD* for unbuffered I/O //fputc(c, stderr); if (n >= ftp->max_response) { ftp->max_response = ftp->max_response? ftp->max_response<<1 : 256; ftp->response = (char*)realloc(ftp->response, ftp->max_response); } ftp->response[n++] = c; if (c == '\n') { if (n >= 4 && isdigit(ftp->response[0]) && isdigit(ftp->response[1]) && isdigit(ftp->response[2]) && ftp->response[3] != '-') break; n = 0; continue; } } if (n < 2) return -1; ftp->response[n-2] = 0; return strtol(ftp->response, &p, 0); } static int kftp_send_cmd(knetFile *ftp, const char *cmd, int is_get) { if (socket_wait(ftp->ctrl_fd, 0) <= 0) return -1; // socket is not ready for writing int len = strlen(cmd); if ( netwrite(ftp->ctrl_fd, cmd, len) != len ) return -1; return is_get? kftp_get_response(ftp) : 0; } static int kftp_pasv_prep(knetFile *ftp) { char *p; int v[6]; kftp_send_cmd(ftp, "PASV\r\n", 1); for (p = ftp->response; *p && *p != '('; ++p); if (*p != '(') return -1; ++p; sscanf(p, "%d,%d,%d,%d,%d,%d", &v[0], &v[1], &v[2], &v[3], &v[4], &v[5]); memcpy(ftp->pasv_ip, v, 4 * sizeof(int)); ftp->pasv_port = (v[4]<<8&0xff00) + v[5]; return 0; } static int kftp_pasv_connect(knetFile *ftp) { char host[80], port[10]; if (ftp->pasv_port == 0) { fprintf(stderr, "[kftp_pasv_connect] kftp_pasv_prep() is not called before hand.\n"); return -1; } sprintf(host, "%d.%d.%d.%d", ftp->pasv_ip[0], ftp->pasv_ip[1], ftp->pasv_ip[2], ftp->pasv_ip[3]); sprintf(port, "%d", ftp->pasv_port); ftp->fd = socket_connect(host, port); if (ftp->fd == -1) return -1; return 0; } int kftp_connect(knetFile *ftp) { ftp->ctrl_fd = socket_connect(ftp->host, ftp->port); if (ftp->ctrl_fd == -1) return -1; kftp_get_response(ftp); kftp_send_cmd(ftp, "USER anonymous\r\n", 1); kftp_send_cmd(ftp, "PASS kftp@\r\n", 1); kftp_send_cmd(ftp, "TYPE I\r\n", 1); return 0; } int kftp_reconnect(knetFile *ftp) { if (ftp->ctrl_fd != -1) { netclose(ftp->ctrl_fd); ftp->ctrl_fd = -1; } netclose(ftp->fd); ftp->fd = -1; return kftp_connect(ftp); } // initialize ->type, ->host, ->retr and ->size knetFile *kftp_parse_url(const char *fn, const char *mode) { knetFile *fp; char *p; int l; if (strstr(fn, "ftp://") != fn) return 0; for (p = (char*)fn + 6; *p && *p != '/'; ++p); if (*p != '/') return 0; l = p - fn - 6; fp = (knetFile*)calloc(1, sizeof(knetFile)); fp->type = KNF_TYPE_FTP; fp->fd = -1; /* the Linux/Mac version of socket_connect() also recognizes a port * like "ftp", but the Windows version does not. */ fp->port = strdup("21"); fp->host = (char*)calloc(l + 1, 1); if (strchr(mode, 'c')) fp->no_reconnect = 1; strncpy(fp->host, fn + 6, l); fp->retr = (char*)calloc(strlen(p) + 8, 1); sprintf(fp->retr, "RETR %s\r\n", p); fp->size_cmd = (char*)calloc(strlen(p) + 8, 1); sprintf(fp->size_cmd, "SIZE %s\r\n", p); fp->seek_offset = 0; return fp; } // place ->fd at offset off int kftp_connect_file(knetFile *fp) { int ret; long long file_size; if (fp->fd != -1) { netclose(fp->fd); if (fp->no_reconnect) kftp_get_response(fp); } kftp_pasv_prep(fp); kftp_send_cmd(fp, fp->size_cmd, 1); #ifndef _WIN32 // If the file does not exist, the response will be "550 Could not get file // size". Be silent on failure, hts_idx_load can be trying the existence of .csi or .tbi. if ( sscanf(fp->response,"%*d %lld", &file_size) != 1 ) return -1; #else const char *p = fp->response; while (*p != ' ') ++p; while (*p < '0' || *p > '9') ++p; file_size = strtoint64(p); #endif fp->file_size = file_size; if (fp->offset>=0) { char tmp[32]; #ifndef _WIN32 sprintf(tmp, "REST %lld\r\n", (long long)fp->offset); #else strcpy(tmp, "REST "); int64tostr(tmp + 5, fp->offset); strcat(tmp, "\r\n"); #endif kftp_send_cmd(fp, tmp, 1); } kftp_send_cmd(fp, fp->retr, 0); kftp_pasv_connect(fp); ret = kftp_get_response(fp); if (ret != 150) { fprintf(stderr, "[kftp_connect_file] %s\n", fp->response); netclose(fp->fd); fp->fd = -1; return -1; } fp->is_ready = 1; return 0; } /************************** * HTTP specific routines * **************************/ knetFile *khttp_parse_url(const char *fn, const char *mode) { knetFile *fp; char *p, *proxy, *q; int l; if (strstr(fn, "http://") != fn) return 0; // set ->http_host for (p = (char*)fn + 7; *p && *p != '/'; ++p); l = p - fn - 7; fp = (knetFile*)calloc(1, sizeof(knetFile)); fp->http_host = (char*)calloc(l + 1, 1); strncpy(fp->http_host, fn + 7, l); fp->http_host[l] = 0; for (q = fp->http_host; *q && *q != ':'; ++q); if (*q == ':') *q++ = 0; // get http_proxy proxy = getenv("http_proxy"); // set ->host, ->port and ->path if (proxy == 0) { fp->host = strdup(fp->http_host); // when there is no proxy, server name is identical to http_host name. fp->port = strdup(*q? q : "80"); fp->path = strdup(*p? p : "/"); } else { fp->host = (strstr(proxy, "http://") == proxy)? strdup(proxy + 7) : strdup(proxy); for (q = fp->host; *q && *q != ':'; ++q); if (*q == ':') *q++ = 0; fp->port = strdup(*q? q : "80"); fp->path = strdup(fn); } fp->type = KNF_TYPE_HTTP; fp->ctrl_fd = fp->fd = -1; fp->seek_offset = 0; return fp; } int khttp_connect_file(knetFile *fp) { int ret, l = 0; char *buf, *p; if (fp->fd != -1) netclose(fp->fd); fp->fd = socket_connect(fp->host, fp->port); buf = (char*)calloc(0x10000, 1); // FIXME: I am lazy... But in principle, 64KB should be large enough. l += sprintf(buf + l, "GET %s HTTP/1.0\r\nHost: %s\r\n", fp->path, fp->http_host); l += sprintf(buf + l, "Range: bytes=%lld-\r\n", (long long)fp->offset); l += sprintf(buf + l, "\r\n"); if ( netwrite(fp->fd, buf, l) != l ) { free(buf); return -1; } l = 0; while (netread(fp->fd, buf + l, 1)) { // read HTTP header; FIXME: bad efficiency if (buf[l] == '\n' && l >= 3) if (strncmp(buf + l - 3, "\r\n\r\n", 4) == 0) break; ++l; } buf[l] = 0; if (l < 14) { // prematured header free(buf); netclose(fp->fd); fp->fd = -1; return -1; } ret = strtol(buf + 8, &p, 0); // HTTP return code if (ret == 200 && fp->offset>0) { // 200 (complete result); then skip beginning of the file off_t rest = fp->offset; while (rest) { off_t l = rest < 0x10000? rest : 0x10000; rest -= my_netread(fp->fd, buf, l); } } else if (ret != 206 && ret != 200) { // failed to open file free(buf); netclose(fp->fd); switch (ret) { case 401: errno = EPERM; break; case 403: errno = EACCES; break; case 404: errno = ENOENT; break; case 407: errno = EPERM; break; case 408: errno = ETIMEDOUT; break; case 410: errno = ENOENT; break; case 503: errno = EAGAIN; break; case 504: errno = ETIMEDOUT; break; default: errno = (ret >= 400 && ret < 500)? EINVAL : EIO; break; } fp->fd = -1; return -1; } free(buf); fp->is_ready = 1; return 0; } /******************** * Generic routines * ********************/ knetFile *knet_open(const char *fn, const char *mode) { knetFile *fp = 0; if (mode[0] != 'r') { fprintf(stderr, "[kftp_open] only mode \"r\" is supported.\n"); return 0; } if (strstr(fn, "ftp://") == fn) { fp = kftp_parse_url(fn, mode); if (fp == 0) return 0; if (kftp_connect(fp) == -1) { knet_close(fp); return 0; } kftp_connect_file(fp); } else if (strstr(fn, "http://") == fn) { fp = khttp_parse_url(fn, mode); if (fp == 0) return 0; khttp_connect_file(fp); } else { // local file #ifdef _WIN32 /* In windows, O_BINARY is necessary. In Linux/Mac, O_BINARY may * be undefined on some systems, although it is defined on my * Mac and the Linux I have tested on. */ int fd = open(fn, O_RDONLY | O_BINARY); #else int fd = open(fn, O_RDONLY); #endif if (fd == -1) { perror("open"); return 0; } fp = (knetFile*)calloc(1, sizeof(knetFile)); fp->type = KNF_TYPE_LOCAL; fp->fd = fd; fp->ctrl_fd = -1; } if (fp && fp->fd == -1) { knet_close(fp); return 0; } return fp; } knetFile *knet_dopen(int fd, const char *mode) { knetFile *fp = (knetFile*)calloc(1, sizeof(knetFile)); fp->type = KNF_TYPE_LOCAL; fp->fd = fd; return fp; } ssize_t knet_read(knetFile *fp, void *buf, size_t len) { off_t l = 0; if (fp->fd == -1) return 0; if (fp->type == KNF_TYPE_FTP) { if (fp->is_ready == 0) { if (!fp->no_reconnect) kftp_reconnect(fp); kftp_connect_file(fp); } } else if (fp->type == KNF_TYPE_HTTP) { if (fp->is_ready == 0) khttp_connect_file(fp); } if (fp->type == KNF_TYPE_LOCAL) { // on Windows, the following block is necessary; not on UNIX size_t rest = len; ssize_t curr; while (rest) { do { curr = read(fp->fd, (void*)((char*)buf + l), rest); } while (curr < 0 && EINTR == errno); if (curr < 0) return -1; if (curr == 0) break; l += curr; rest -= curr; } } else l = my_netread(fp->fd, buf, len); fp->offset += l; return l; } off_t knet_seek(knetFile *fp, off_t off, int whence) { if (whence == SEEK_SET && off == fp->offset) return 0; if (fp->type == KNF_TYPE_LOCAL) { /* Be aware that lseek() returns the offset after seeking, while fseek() returns zero on success. */ off_t offset = lseek(fp->fd, off, whence); if (offset == -1) return -1; fp->offset = offset; return fp->offset; } else if (fp->type == KNF_TYPE_FTP) { if (whence == SEEK_CUR) fp->offset += off; else if (whence == SEEK_SET) fp->offset = off; else if (whence == SEEK_END) fp->offset = fp->file_size + off; else return -1; fp->is_ready = 0; return fp->offset; } else if (fp->type == KNF_TYPE_HTTP) { if (whence == SEEK_END) { // FIXME: can we allow SEEK_END in future? fprintf(stderr, "[knet_seek] SEEK_END is not supported for HTTP. Offset is unchanged.\n"); errno = ESPIPE; return -1; } if (whence == SEEK_CUR) fp->offset += off; else if (whence == SEEK_SET) fp->offset = off; else return -1; fp->is_ready = 0; return fp->offset; } errno = EINVAL; fprintf(stderr,"[knet_seek] %s\n", strerror(errno)); return -1; } int knet_close(knetFile *fp) { if (fp == 0) return 0; if (fp->ctrl_fd != -1) netclose(fp->ctrl_fd); // FTP specific if (fp->fd != -1) { /* On Linux/Mac, netclose() is an alias of close(), but on * Windows, it is an alias of closesocket(). */ if (fp->type == KNF_TYPE_LOCAL) close(fp->fd); else netclose(fp->fd); } free(fp->host); free(fp->port); free(fp->response); free(fp->retr); // FTP specific free(fp->path); free(fp->http_host); // HTTP specific free(fp); return 0; } #ifdef KNETFILE_MAIN int main(void) { char *buf; knetFile *fp; int type = 4, l; #ifdef _WIN32 knet_win32_init(); #endif buf = calloc(0x100000, 1); if (type == 0) { fp = knet_open("knetfile.c", "r"); knet_seek(fp, 1000, SEEK_SET); } else if (type == 1) { // NCBI FTP, large file fp = knet_open("ftp://ftp.ncbi.nih.gov/1000genomes/ftp/data/NA12878/alignment/NA12878.chrom6.SLX.SRP000032.2009_06.bam", "r"); knet_seek(fp, 2500000000ll, SEEK_SET); l = knet_read(fp, buf, 255); } else if (type == 2) { fp = knet_open("ftp://ftp.sanger.ac.uk/pub4/treefam/tmp/index.shtml", "r"); knet_seek(fp, 1000, SEEK_SET); } else if (type == 3) { fp = knet_open("http://www.sanger.ac.uk/Users/lh3/index.shtml", "r"); knet_seek(fp, 1000, SEEK_SET); } else if (type == 4) { fp = knet_open("http://www.sanger.ac.uk/Users/lh3/ex1.bam", "r"); knet_read(fp, buf, 10000); knet_seek(fp, 20000, SEEK_SET); knet_seek(fp, 10000, SEEK_SET); l = knet_read(fp, buf+10000, 10000000) + 10000; } if (type != 4 && type != 1) { knet_read(fp, buf, 255); buf[255] = 0; printf("%s\n", buf); } else write(fileno(stdout), buf, l); knet_close(fp); free(buf); return 0; } #endif htslib-1.2.1/kstring.c000066400000000000000000000152371246417267700146550ustar00rootroot00000000000000/* The MIT License Copyright (C) 2011 by Attractive Chaos Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ #include #include #include #include #include #include "htslib/kstring.h" int kvsprintf(kstring_t *s, const char *fmt, va_list ap) { va_list args; int l; va_copy(args, ap); l = vsnprintf(s->s + s->l, s->m - s->l, fmt, args); // This line does not work with glibc 2.0. See `man snprintf'. va_end(args); if (l + 1 > s->m - s->l) { s->m = s->l + l + 2; kroundup32(s->m); s->s = (char*)realloc(s->s, s->m); va_copy(args, ap); l = vsnprintf(s->s + s->l, s->m - s->l, fmt, args); va_end(args); } s->l += l; return l; } int ksprintf(kstring_t *s, const char *fmt, ...) { va_list ap; int l; va_start(ap, fmt); l = kvsprintf(s, fmt, ap); va_end(ap); return l; } char *kstrtok(const char *str, const char *sep, ks_tokaux_t *aux) { const char *p, *start; if (sep) { // set up the table if (str == 0 && (aux->tab[0]&1)) return 0; // no need to set up if we have finished aux->finished = 0; if (sep[1]) { aux->sep = -1; aux->tab[0] = aux->tab[1] = aux->tab[2] = aux->tab[3] = 0; for (p = sep; *p; ++p) aux->tab[*p>>6] |= 1ull<<(*p&0x3f); } else aux->sep = sep[0]; } if (aux->finished) return 0; else if (str) aux->p = str - 1, aux->finished = 0; if (aux->sep < 0) { for (p = start = aux->p + 1; *p; ++p) if (aux->tab[*p>>6]>>(*p&0x3f)&1) break; } else { for (p = start = aux->p + 1; *p; ++p) if (*p == aux->sep) break; } aux->p = p; // end of token if (*p == 0) aux->finished = 1; // no more tokens return (char*)start; } // s MUST BE a null terminated string; l = strlen(s) int ksplit_core(char *s, int delimiter, int *_max, int **_offsets) { int i, n, max, last_char, last_start, *offsets, l; n = 0; max = *_max; offsets = *_offsets; l = strlen(s); #define __ksplit_aux do { \ if (_offsets) { \ s[i] = 0; \ if (n == max) { \ int *tmp; \ max = max? max<<1 : 2; \ if ((tmp = (int*)realloc(offsets, sizeof(int) * max))) { \ offsets = tmp; \ } else { \ free(offsets); \ *_offsets = NULL; \ return 0; \ } \ } \ offsets[n++] = last_start; \ } else ++n; \ } while (0) for (i = 0, last_char = last_start = 0; i <= l; ++i) { if (delimiter == 0) { if (isspace(s[i]) || s[i] == 0) { if (isgraph(last_char)) __ksplit_aux; // the end of a field } else { if (isspace(last_char) || last_char == 0) last_start = i; } } else { if (s[i] == delimiter || s[i] == 0) { if (last_char != 0 && last_char != delimiter) __ksplit_aux; // the end of a field } else { if (last_char == delimiter || last_char == 0) last_start = i; } } last_char = s[i]; } *_max = max; *_offsets = offsets; return n; } /********************** * Boyer-Moore search * **********************/ typedef unsigned char ubyte_t; // reference: http://www-igm.univ-mlv.fr/~lecroq/string/node14.html static int *ksBM_prep(const ubyte_t *pat, int m) { int i, *suff, *prep, *bmGs, *bmBc; prep = (int*)calloc(m + 256, sizeof(int)); bmGs = prep; bmBc = prep + m; { // preBmBc() for (i = 0; i < 256; ++i) bmBc[i] = m; for (i = 0; i < m - 1; ++i) bmBc[pat[i]] = m - i - 1; } suff = (int*)calloc(m, sizeof(int)); { // suffixes() int f = 0, g; suff[m - 1] = m; g = m - 1; for (i = m - 2; i >= 0; --i) { if (i > g && suff[i + m - 1 - f] < i - g) suff[i] = suff[i + m - 1 - f]; else { if (i < g) g = i; f = i; while (g >= 0 && pat[g] == pat[g + m - 1 - f]) --g; suff[i] = f - g; } } } { // preBmGs() int j = 0; for (i = 0; i < m; ++i) bmGs[i] = m; for (i = m - 1; i >= 0; --i) if (suff[i] == i + 1) for (; j < m - 1 - i; ++j) if (bmGs[j] == m) bmGs[j] = m - 1 - i; for (i = 0; i <= m - 2; ++i) bmGs[m - 1 - suff[i]] = m - 1 - i; } free(suff); return prep; } void *kmemmem(const void *_str, int n, const void *_pat, int m, int **_prep) { int i, j, *prep = 0, *bmGs, *bmBc; const ubyte_t *str, *pat; str = (const ubyte_t*)_str; pat = (const ubyte_t*)_pat; prep = (_prep == 0 || *_prep == 0)? ksBM_prep(pat, m) : *_prep; if (_prep && *_prep == 0) *_prep = prep; bmGs = prep; bmBc = prep + m; j = 0; while (j <= n - m) { for (i = m - 1; i >= 0 && pat[i] == str[i+j]; --i); if (i >= 0) { int max = bmBc[str[i+j]] - m + 1 + i; if (max < bmGs[i]) max = bmGs[i]; j += max; } else return (void*)(str + j); } if (_prep == 0) free(prep); return 0; } char *kstrstr(const char *str, const char *pat, int **_prep) { return (char*)kmemmem(str, strlen(str), pat, strlen(pat), _prep); } char *kstrnstr(const char *str, const char *pat, int n, int **_prep) { return (char*)kmemmem(str, n, pat, strlen(pat), _prep); } /*********************** * The main() function * ***********************/ #ifdef KSTRING_MAIN #include int main() { kstring_t *s; int *fields, n, i; ks_tokaux_t aux; char *p; s = (kstring_t*)calloc(1, sizeof(kstring_t)); // test ksprintf() ksprintf(s, " abcdefg: %d ", 100); printf("'%s'\n", s->s); // test ksplit() fields = ksplit(s, 0, &n); for (i = 0; i < n; ++i) printf("field[%d] = '%s'\n", i, s->s + fields[i]); // test kstrtok() s->l = 0; for (p = kstrtok("ab:cde:fg/hij::k", ":/", &aux); p; p = kstrtok(0, 0, &aux)) { kputsn(p, aux.p - p, s); kputc('\n', s); } printf("%s", s->s); // free free(s->s); free(s); free(fields); { static char *str = "abcdefgcdgcagtcakcdcd"; static char *pat = "cd"; char *ret, *s = str; int *prep = 0; while ((ret = kstrstr(s, pat, &prep)) != 0) { printf("match: %s\n", ret); s = ret + prep[0]; } free(prep); } return 0; } #endif htslib-1.2.1/regidx.c000066400000000000000000000235761246417267700144630ustar00rootroot00000000000000/* Copyright (C) 2014 Genome Research Ltd. Author: Petr Danecek Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ #include "htslib/hts.h" #include "htslib/kstring.h" #include "htslib/kseq.h" #include "htslib/khash_str2int.h" #include "htslib/regidx.h" #define LIDX_SHIFT 13 // number of insignificant index bits // List of regions for one chromosome typedef struct { int *idx, nidx; int nregs, mregs; // n:used, m:alloced reg_t *regs; void *payload; } reglist_t; // Container of all sequences struct _regidx_t { int nseq, mseq; // n:used, m:alloced reglist_t *seq; // regions for each sequence void *seq2regs; // hash for fast lookup from chr name to regions char **seq_names; regidx_free_f free; // function to free any data allocated by regidx_parse_f regidx_parse_f parse; // parse one input line void *usr; // user data to pass to regidx_parse_f // temporary data for index initialization kstring_t str; int rid_prev, start_prev, end_prev; int payload_size; void *payload; }; int regidx_seq_nregs(regidx_t *idx, const char *seq) { int iseq; if ( khash_str2int_get(idx->seq2regs, seq, &iseq)!=0 ) return 0; // no such sequence return idx->seq[iseq].nregs; } int regidx_nregs(regidx_t *idx) { int i, nregs = 0; for (i=0; inseq; i++) nregs += idx->seq[i].nregs; return nregs; } char **regidx_seq_names(regidx_t *idx, int *n) { *n = idx->nseq; return idx->seq_names; } int _regidx_build_index(regidx_t *idx) { int iseq; for (iseq=0; iseqnseq; iseq++) { reglist_t *list = &idx->seq[iseq]; int j,k, imax = 0; // max index bin for (j=0; jnregs; j++) { int ibeg = list->regs[j].start >> LIDX_SHIFT; int iend = list->regs[j].end >> LIDX_SHIFT; if ( imax < iend + 1 ) { int old_imax = imax; imax = iend + 1; kroundup32(imax); list->idx = (int*) realloc(list->idx, imax*sizeof(int)); for (k=old_imax; kidx[k] = -1; } if ( ibeg==iend ) { if ( list->idx[ibeg]<0 ) list->idx[ibeg] = j; } else { for (k=ibeg; k<=iend; k++) if ( list->idx[k]<0 ) list->idx[k] = j; } list->nidx = iend + 1; } } return 0; } int regidx_insert(regidx_t *idx, char *line) { if ( !line ) return _regidx_build_index(idx); char *chr_from, *chr_to; reg_t reg; int ret = idx->parse(line,&chr_from,&chr_to,®,idx->payload,idx->usr); if ( ret==-2 ) return -1; // error if ( ret==-1 ) return 0; // skip the line int rid; idx->str.l = 0; kputsn(chr_from, chr_to-chr_from+1, &idx->str); if ( khash_str2int_get(idx->seq2regs, idx->str.s, &rid)!=0 ) { idx->nseq++; int m_prev = idx->mseq; hts_expand0(reglist_t,idx->nseq,idx->mseq,idx->seq); hts_expand0(char*,idx->nseq,m_prev,idx->seq_names); idx->seq_names[idx->nseq-1] = strdup(idx->str.s); rid = khash_str2int_inc(idx->seq2regs, idx->seq_names[idx->nseq-1]); } reglist_t *list = &idx->seq[rid]; list->nregs++; int m_prev = list->mregs; hts_expand(reg_t,list->nregs,list->mregs,list->regs); list->regs[list->nregs-1] = reg; if ( idx->payload_size ) { if ( m_prev < list->mregs ) list->payload = realloc(list->payload,idx->payload_size*list->mregs); memcpy(list->payload + idx->payload_size*(list->nregs-1), idx->payload, idx->payload_size); } if ( idx->rid_prev==rid ) { if ( idx->start_prev > reg.start || (idx->start_prev==reg.start && idx->end_prev>reg.end) ) { fprintf(stderr,"The regions are not sorted: %s:%d-%d is before %s:%d-%d\n", idx->str.s,idx->start_prev+1,idx->end_prev+1,idx->str.s,reg.start+1,reg.end+1); return -1; } } idx->rid_prev = rid; idx->start_prev = reg.start; idx->end_prev = reg.end; return 0; } regidx_t *regidx_init(const char *fname, regidx_parse_f parser, regidx_free_f free_f, size_t payload_size, void *usr_dat) { if ( !parser ) { if ( !fname ) parser = regidx_parse_tab; else { int len = strlen(fname); if ( len>=7 && !strcasecmp(".bed.gz",fname+len-7) ) parser = regidx_parse_bed; else if ( len>=8 && !strcasecmp(".bed.bgz",fname+len-8) ) parser = regidx_parse_bed; else if ( len>=4 && !strcasecmp(".bed",fname+len-4) ) parser = regidx_parse_bed; else parser = regidx_parse_tab; } } regidx_t *idx = (regidx_t*) calloc(1,sizeof(regidx_t)); idx->free = free_f; idx->parse = parser; idx->usr = usr_dat; idx->seq2regs = khash_str2int_init(); idx->rid_prev = -1; idx->start_prev = -1; idx->end_prev = -1; idx->payload_size = payload_size; if ( payload_size ) idx->payload = malloc(payload_size); if ( !fname ) return idx; kstring_t str = {0,0,0}; htsFile *fp = hts_open(fname,"r"); if ( !fp ) goto error; while ( hts_getline(fp, KS_SEP_LINE, &str) > 0 ) { if ( regidx_insert(idx, str.s) ) goto error; } regidx_insert(idx, NULL); free(str.s); hts_close(fp); return idx; error: free(str.s); if ( fp ) hts_close(fp); regidx_destroy(idx); return NULL; } void regidx_destroy(regidx_t *idx) { int i, j; for (i=0; inseq; i++) { reglist_t *list = &idx->seq[i]; if ( idx->free ) { for (j=0; jnregs; j++) idx->free(list->payload + idx->payload_size*j); } free(list->payload); free(list->regs); free(list->idx); } free(idx->seq_names); free(idx->seq); free(idx->str.s); free(idx->payload); khash_str2int_destroy_free(idx->seq2regs); free(idx); } int regidx_overlap(regidx_t *idx, const char *chr, uint32_t from, uint32_t to, regitr_t *itr) { if ( itr ) itr->i = itr->n = 0; int iseq; if ( khash_str2int_get(idx->seq2regs, chr, &iseq)!=0 ) return 0; // no such sequence reglist_t *list = &idx->seq[iseq]; if ( !list->nregs ) return 0; int i, ibeg = from>>LIDX_SHIFT; int ireg = ibeg < list->nidx ? list->idx[ibeg] : list->idx[ list->nidx - 1 ]; if ( ireg < 0 ) { // linear search; if slow, replace with binary search if ( ibeg > list->nidx ) ibeg = list->nidx; for (i=ibeg - 1; i>=0; i--) if ( list->idx[i] >=0 ) break; ireg = i>=0 ? list->idx[i] : 0; } for (i=ireg; inregs; i++) { if ( list->regs[i].start > to ) return 0; // no match if ( list->regs[i].end >= from && list->regs[i].start <= to ) break; // found } if ( i>=list->nregs ) return 0; // no match if ( !itr ) return 1; itr->i = 0; itr->n = list->nregs - i; itr->reg = &idx->seq[iseq].regs[i]; if ( idx->payload_size ) itr->payload = idx->seq[iseq].payload + i*idx->payload_size; else itr->payload = NULL; return 1; } int regidx_parse_bed(const char *line, char **chr_beg, char **chr_end, reg_t *reg, void *payload, void *usr) { char *ss = (char*) line; while ( *ss && isspace(*ss) ) ss++; if ( !*ss ) return -1; // skip blank lines if ( *ss=='#' ) return -1; // skip comments char *se = ss; while ( *se && !isspace(*se) ) se++; if ( !*se ) { fprintf(stderr,"Could not parse bed line: %s\n", line); return -2; } *chr_beg = ss; *chr_end = se-1; ss = se+1; reg->start = strtol(ss, &se, 10); if ( ss==se ) { fprintf(stderr,"Could not parse bed line: %s\n", line); return -2; } ss = se+1; reg->end = strtol(ss, &se, 10) - 1; if ( ss==se ) { fprintf(stderr,"Could not parse bed line: %s\n", line); return -2; } return 0; } int regidx_parse_tab(const char *line, char **chr_beg, char **chr_end, reg_t *reg, void *payload, void *usr) { char *ss = (char*) line; while ( *ss && isspace(*ss) ) ss++; if ( !*ss ) return -1; // skip blank lines if ( *ss=='#' ) return -1; // skip comments char *se = ss; while ( *se && !isspace(*se) ) se++; if ( !*se ) { fprintf(stderr,"Could not parse bed line: %s\n", line); return -2; } *chr_beg = ss; *chr_end = se-1; ss = se+1; reg->start = strtol(ss, &se, 10) - 1; if ( ss==se ) { fprintf(stderr,"Could not parse bed line: %s\n", line); return -2; } if ( !se[0] || !se[1] ) reg->end = reg->start; else { ss = se+1; reg->end = strtol(ss, &se, 10); if ( ss==se ) reg->end = reg->start; else reg->end--; } return 0; } htslib-1.2.1/sam.5000066400000000000000000000053411246417267700136710ustar00rootroot00000000000000'\" t .TH sam 5 "August 2013" "htslib" "Bioinformatics formats" .SH NAME sam \- Sequence Alignment/Map file format .\" .\" Copyright (C) 2009, 2013 Genome Research Ltd. .\" .\" Author: Heng Li .\" .\" Permission is hereby granted, free of charge, to any person obtaining a .\" copy of this software and associated documentation files (the "Software"), .\" to deal in the Software without restriction, including without limitation .\" the rights to use, copy, modify, merge, publish, distribute, sublicense, .\" and/or sell copies of the Software, and to permit persons to whom the .\" Software is furnished to do so, subject to the following conditions: .\" .\" The above copyright notice and this permission notice shall be included in .\" all copies or substantial portions of the Software. .\" .\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR .\" IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, .\" FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL .\" THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER .\" LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING .\" FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER .\" DEALINGS IN THE SOFTWARE. .\" .SH DESCRIPTION Sequence Alignment/Map (SAM) format is TAB-delimited. Apart from the header lines, which are started with the `@' symbol, each alignment line consists of: .TS nlbl. 1 QNAME Query template/pair NAME 2 FLAG bitwise FLAG 3 RNAME Reference sequence NAME 4 POS 1-based leftmost POSition/coordinate of clipped sequence 5 MAPQ MAPping Quality (Phred-scaled) 6 CIGAR extended CIGAR string 7 MRNM Mate Reference sequence NaMe (`=' if same as RNAME) 8 MPOS 1-based Mate POSistion 9 TLEN inferred Template LENgth (insert size) 10 SEQ query SEQuence on the same strand as the reference 11 QUAL query QUALity (ASCII-33 gives the Phred base quality) 12+ OPT variable OPTional fields in the format TAG:VTYPE:VALUE .TE .PP Each bit in the FLAG field is defined as: .TS lcbl. 0x0001 p the read is paired in sequencing 0x0002 P the read is mapped in a proper pair 0x0004 u the query sequence itself is unmapped 0x0008 U the mate is unmapped 0x0010 r strand of the query (1 for reverse) 0x0020 R strand of the mate 0x0040 1 the read is the first read in a pair 0x0080 2 the read is the second read in a pair 0x0100 s the alignment is not primary 0x0200 f the read fails platform/vendor quality checks 0x0400 d the read is either a PCR or an optical duplicate 0x0800 S the alignment is supplementary .TE .P where the second column gives the string representation of the FLAG field. .SH SEE ALSO .TP https://github.com/samtools/hts-specs The full SAM/BAM file format specification htslib-1.2.1/sam.c000066400000000000000000001752111246417267700137530ustar00rootroot00000000000000/* sam.c -- SAM and BAM file I/O and manipulation. Copyright (C) 2008-2010, 2012-2014 Genome Research Ltd. Copyright (C) 2010, 2012, 2013 Broad Institute. Author: Heng Li Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ #include #include #include #include #include #include #include "htslib/sam.h" #include "htslib/bgzf.h" #include "cram/cram.h" #include "htslib/hfile.h" #include "htslib/khash.h" KHASH_DECLARE(s2i, kh_cstr_t, int64_t) typedef khash_t(s2i) sdict_t; /********************** *** BAM header I/O *** **********************/ bam_hdr_t *bam_hdr_init() { return (bam_hdr_t*)calloc(1, sizeof(bam_hdr_t)); } void bam_hdr_destroy(bam_hdr_t *h) { int32_t i; if (h == NULL) return; if (h->target_name) { for (i = 0; i < h->n_targets; ++i) free(h->target_name[i]); free(h->target_name); free(h->target_len); } free(h->text); free(h->cigar_tab); if (h->sdict) kh_destroy(s2i, (sdict_t*)h->sdict); free(h); } bam_hdr_t *bam_hdr_dup(const bam_hdr_t *h0) { if (h0 == NULL) return NULL; bam_hdr_t *h; if ((h = bam_hdr_init()) == NULL) return NULL; // copy the simple data h->n_targets = h0->n_targets; h->ignore_sam_err = h0->ignore_sam_err; h->l_text = h0->l_text; // Then the pointery stuff h->cigar_tab = NULL; h->sdict = NULL; h->text = (char*)calloc(h->l_text + 1, 1); memcpy(h->text, h0->text, h->l_text); h->target_len = (uint32_t*)calloc(h->n_targets, sizeof(uint32_t)); h->target_name = (char**)calloc(h->n_targets, sizeof(char*)); int i; for (i = 0; i < h->n_targets; ++i) { h->target_len[i] = h0->target_len[i]; h->target_name[i] = strdup(h0->target_name[i]); } return h; } static bam_hdr_t *hdr_from_dict(sdict_t *d) { bam_hdr_t *h; khint_t k; h = bam_hdr_init(); h->sdict = d; h->n_targets = kh_size(d); h->target_len = (uint32_t*)malloc(sizeof(uint32_t) * h->n_targets); h->target_name = (char**)malloc(sizeof(char*) * h->n_targets); for (k = kh_begin(d); k != kh_end(d); ++k) { if (!kh_exist(d, k)) continue; h->target_name[kh_val(d, k)>>32] = (char*)kh_key(d, k); h->target_len[kh_val(d, k)>>32] = kh_val(d, k)<<32>>32; kh_val(d, k) >>= 32; } return h; } bam_hdr_t *bam_hdr_read(BGZF *fp) { bam_hdr_t *h; char buf[4]; int magic_len, has_EOF; int32_t i = 1, name_len; // check EOF has_EOF = bgzf_check_EOF(fp); if (has_EOF < 0) { perror("[W::sam_hdr_read] bgzf_check_EOF"); } else if (has_EOF == 0 && hts_verbose >= 2) fprintf(stderr, "[W::%s] EOF marker is absent. The input is probably truncated.\n", __func__); // read "BAM1" magic_len = bgzf_read(fp, buf, 4); if (magic_len != 4 || strncmp(buf, "BAM\1", 4)) { if (hts_verbose >= 1) fprintf(stderr, "[E::%s] invalid BAM binary header\n", __func__); return 0; } h = bam_hdr_init(); // read plain text and the number of reference sequences bgzf_read(fp, &h->l_text, 4); if (fp->is_be) ed_swap_4p(&h->l_text); h->text = (char*)malloc(h->l_text + 1); h->text[h->l_text] = 0; // make sure it is NULL terminated bgzf_read(fp, h->text, h->l_text); bgzf_read(fp, &h->n_targets, 4); if (fp->is_be) ed_swap_4p(&h->n_targets); // read reference sequence names and lengths h->target_name = (char**)calloc(h->n_targets, sizeof(char*)); h->target_len = (uint32_t*)calloc(h->n_targets, sizeof(uint32_t)); for (i = 0; i != h->n_targets; ++i) { bgzf_read(fp, &name_len, 4); if (fp->is_be) ed_swap_4p(&name_len); h->target_name[i] = (char*)calloc(name_len, 1); bgzf_read(fp, h->target_name[i], name_len); bgzf_read(fp, &h->target_len[i], 4); if (fp->is_be) ed_swap_4p(&h->target_len[i]); } return h; } int bam_hdr_write(BGZF *fp, const bam_hdr_t *h) { char buf[4]; int32_t i, name_len, x; // write "BAM1" strncpy(buf, "BAM\1", 4); bgzf_write(fp, buf, 4); // write plain text and the number of reference sequences if (fp->is_be) { x = ed_swap_4(h->l_text); bgzf_write(fp, &x, 4); if (h->l_text) bgzf_write(fp, h->text, h->l_text); x = ed_swap_4(h->n_targets); bgzf_write(fp, &x, 4); } else { bgzf_write(fp, &h->l_text, 4); if (h->l_text) bgzf_write(fp, h->text, h->l_text); bgzf_write(fp, &h->n_targets, 4); } // write sequence names and lengths for (i = 0; i != h->n_targets; ++i) { char *p = h->target_name[i]; name_len = strlen(p) + 1; if (fp->is_be) { x = ed_swap_4(name_len); bgzf_write(fp, &x, 4); } else bgzf_write(fp, &name_len, 4); bgzf_write(fp, p, name_len); if (fp->is_be) { x = ed_swap_4(h->target_len[i]); bgzf_write(fp, &x, 4); } else bgzf_write(fp, &h->target_len[i], 4); } bgzf_flush(fp); return 0; } int bam_name2id(bam_hdr_t *h, const char *ref) { sdict_t *d = (sdict_t*)h->sdict; khint_t k; if (h->sdict == 0) { int i, absent; d = kh_init(s2i); for (i = 0; i < h->n_targets; ++i) { k = kh_put(s2i, d, h->target_name[i], &absent); kh_val(d, k) = i; } h->sdict = d; } k = kh_get(s2i, d, ref); return k == kh_end(d)? -1 : kh_val(d, k); } /************************* *** BAM alignment I/O *** *************************/ bam1_t *bam_init1() { return (bam1_t*)calloc(1, sizeof(bam1_t)); } void bam_destroy1(bam1_t *b) { if (b == 0) return; free(b->data); free(b); } bam1_t *bam_copy1(bam1_t *bdst, const bam1_t *bsrc) { uint8_t *data = bdst->data; int m_data = bdst->m_data; // backup data and m_data if (m_data < bsrc->l_data) { // double the capacity m_data = bsrc->l_data; kroundup32(m_data); data = (uint8_t*)realloc(data, m_data); } memcpy(data, bsrc->data, bsrc->l_data); // copy var-len data *bdst = *bsrc; // copy the rest // restore the backup bdst->m_data = m_data; bdst->data = data; return bdst; } bam1_t *bam_dup1(const bam1_t *bsrc) { if (bsrc == NULL) return NULL; bam1_t *bdst = bam_init1(); if (bdst == NULL) return NULL; return bam_copy1(bdst, bsrc); } int bam_cigar2qlen(int n_cigar, const uint32_t *cigar) { int k, l; for (k = l = 0; k < n_cigar; ++k) if (bam_cigar_type(bam_cigar_op(cigar[k]))&1) l += bam_cigar_oplen(cigar[k]); return l; } int bam_cigar2rlen(int n_cigar, const uint32_t *cigar) { int k, l; for (k = l = 0; k < n_cigar; ++k) if (bam_cigar_type(bam_cigar_op(cigar[k]))&2) l += bam_cigar_oplen(cigar[k]); return l; } int32_t bam_endpos(const bam1_t *b) { if (!(b->core.flag & BAM_FUNMAP) && b->core.n_cigar > 0) return b->core.pos + bam_cigar2rlen(b->core.n_cigar, bam_get_cigar(b)); else return b->core.pos + 1; } static inline int aux_type2size(uint8_t type) { switch (type) { case 'A': case 'c': case 'C': return 1; case 's': case 'S': return 2; case 'i': case 'I': case 'f': return 4; case 'd': return 8; case 'Z': case 'H': case 'B': return type; default: return 0; } } static void swap_data(const bam1_core_t *c, int l_data, uint8_t *data, int is_host) { uint8_t *s; uint32_t *cigar = (uint32_t*)(data + c->l_qname); uint32_t i, n; s = data + c->n_cigar*4 + c->l_qname + c->l_qseq + (c->l_qseq + 1)/2; for (i = 0; i < c->n_cigar; ++i) ed_swap_4p(&cigar[i]); while (s < data + l_data) { int size; s += 2; // skip key size = aux_type2size(*s); ++s; // skip type switch (size) { case 1: ++s; break; case 2: ed_swap_2p(s); s += 2; break; case 4: ed_swap_4p(s); s += 4; break; case 8: ed_swap_8p(s); s += 8; break; case 'Z': case 'H': while (*s) ++s; ++s; break; case 'B': size = aux_type2size(*s); ++s; if (is_host) memcpy(&n, s, 4), ed_swap_4p(s); else ed_swap_4p(s), memcpy(&n, s, 4); s += 4; switch (size) { case 1: s += n; break; case 2: for (i = 0; i < n; ++i, s += 2) ed_swap_2p(s); break; case 4: for (i = 0; i < n; ++i, s += 4) ed_swap_4p(s); break; case 8: for (i = 0; i < n; ++i, s += 8) ed_swap_8p(s); break; } break; } } } int bam_read1(BGZF *fp, bam1_t *b) { bam1_core_t *c = &b->core; int32_t block_len, ret, i; uint32_t x[8]; if ((ret = bgzf_read(fp, &block_len, 4)) != 4) { if (ret == 0) return -1; // normal end-of-file else return -2; // truncated } if (bgzf_read(fp, x, 32) != 32) return -3; if (fp->is_be) { ed_swap_4p(&block_len); for (i = 0; i < 8; ++i) ed_swap_4p(x + i); } c->tid = x[0]; c->pos = x[1]; c->bin = x[2]>>16; c->qual = x[2]>>8&0xff; c->l_qname = x[2]&0xff; c->flag = x[3]>>16; c->n_cigar = x[3]&0xffff; c->l_qseq = x[4]; c->mtid = x[5]; c->mpos = x[6]; c->isize = x[7]; b->l_data = block_len - 32; if (b->l_data < 0 || c->l_qseq < 0) return -4; if ((char *)bam_get_aux(b) - (char *)b->data > b->l_data) return -4; if (b->m_data < b->l_data) { b->m_data = b->l_data; kroundup32(b->m_data); b->data = (uint8_t*)realloc(b->data, b->m_data); if (!b->data) return -4; } if (bgzf_read(fp, b->data, b->l_data) != b->l_data) return -4; //b->l_aux = b->l_data - c->n_cigar * 4 - c->l_qname - c->l_qseq - (c->l_qseq+1)/2; if (fp->is_be) swap_data(c, b->l_data, b->data, 0); return 4 + block_len; } int bam_write1(BGZF *fp, const bam1_t *b) { const bam1_core_t *c = &b->core; uint32_t x[8], block_len = b->l_data + 32, y; int i, ok; x[0] = c->tid; x[1] = c->pos; x[2] = (uint32_t)c->bin<<16 | c->qual<<8 | c->l_qname; x[3] = (uint32_t)c->flag<<16 | c->n_cigar; x[4] = c->l_qseq; x[5] = c->mtid; x[6] = c->mpos; x[7] = c->isize; ok = (bgzf_flush_try(fp, 4 + block_len) >= 0); if (fp->is_be) { for (i = 0; i < 8; ++i) ed_swap_4p(x + i); y = block_len; if (ok) ok = (bgzf_write(fp, ed_swap_4p(&y), 4) >= 0); swap_data(c, b->l_data, b->data, 1); } else { if (ok) ok = (bgzf_write(fp, &block_len, 4) >= 0); } if (ok) ok = (bgzf_write(fp, x, 32) >= 0); if (ok) ok = (bgzf_write(fp, b->data, b->l_data) >= 0); if (fp->is_be) swap_data(c, b->l_data, b->data, 0); return ok? 4 + block_len : -1; } /******************** *** BAM indexing *** ********************/ static hts_idx_t *bam_index(BGZF *fp, int min_shift) { int n_lvls, i, fmt; bam1_t *b; hts_idx_t *idx; bam_hdr_t *h; h = bam_hdr_read(fp); if (min_shift > 0) { int64_t max_len = 0, s; for (i = 0; i < h->n_targets; ++i) if (max_len < h->target_len[i]) max_len = h->target_len[i]; max_len += 256; for (n_lvls = 0, s = 1< s; ++n_lvls, s <<= 3); fmt = HTS_FMT_CSI; } else min_shift = 14, n_lvls = 5, fmt = HTS_FMT_BAI; idx = hts_idx_init(h->n_targets, fmt, bgzf_tell(fp), min_shift, n_lvls); bam_hdr_destroy(h); b = bam_init1(); while (bam_read1(fp, b) >= 0) { int l, ret; l = bam_cigar2rlen(b->core.n_cigar, bam_get_cigar(b)); if (l == 0) l = 1; // no zero-length records ret = hts_idx_push(idx, b->core.tid, b->core.pos, b->core.pos + l, bgzf_tell(fp), !(b->core.flag&BAM_FUNMAP)); if (ret < 0) { // unsorted bam_destroy1(b); hts_idx_destroy(idx); return NULL; } } hts_idx_finish(idx, bgzf_tell(fp)); bam_destroy1(b); return idx; } int bam_index_build(const char *fn, int min_shift) { hts_idx_t *idx; htsFile *fp; int ret = 0; if ((fp = hts_open(fn, "r")) == 0) return -1; switch (fp->format.format) { case cram: ret = cram_index_build(fp->fp.cram, fn); break; case bam: idx = bam_index(fp->fp.bgzf, min_shift); if (idx) { hts_idx_save(idx, fn, (min_shift > 0)? HTS_FMT_CSI : HTS_FMT_BAI); hts_idx_destroy(idx); } else ret = -1; break; default: ret = -1; break; } hts_close(fp); return ret; } static int bam_readrec(BGZF *fp, void *ignored, void *bv, int *tid, int *beg, int *end) { bam1_t *b = bv; int ret; if ((ret = bam_read1(fp, b)) >= 0) { *tid = b->core.tid; *beg = b->core.pos; *end = b->core.pos + (b->core.n_cigar? bam_cigar2rlen(b->core.n_cigar, bam_get_cigar(b)) : 1); } return ret; } // This is used only with read_rest=1 iterators, so need not set tid/beg/end. static int cram_readrec(BGZF *ignored, void *fpv, void *bv, int *tid, int *beg, int *end) { htsFile *fp = fpv; bam1_t *b = bv; return cram_get_bam_seq(fp->fp.cram, &b); } // This is used only with read_rest=1 iterators, so need not set tid/beg/end. static int sam_bam_cram_readrec(BGZF *bgzfp, void *fpv, void *bv, int *tid, int *beg, int *end) { htsFile *fp = fpv; bam1_t *b = bv; switch (fp->format.format) { case bam: return bam_read1(bgzfp, b); case cram: return cram_get_bam_seq(fp->fp.cram, &b); default: // TODO Need headers available to implement this for SAM files fprintf(stderr, "[sam_bam_cram_readrec] Not implemented for SAM files -- Exiting\n"); abort(); } } // The CRAM implementation stores the loaded index within the cram_fd rather // than separately as is done elsewhere in htslib. So if p is a pointer to // an hts_idx_t with p->fmt == HTS_FMT_CRAI, then it actually points to an // hts_cram_idx_t and should be cast accordingly. typedef struct hts_cram_idx_t { int fmt; cram_fd *cram; } hts_cram_idx_t; hts_idx_t *sam_index_load(samFile *fp, const char *fn) { switch (fp->format.format) { case bam: return bam_index_load(fn); case cram: { if (cram_index_load(fp->fp.cram, fn) < 0) return NULL; // Cons up a fake "index" just pointing at the associated cram_fd: hts_cram_idx_t *idx = malloc(sizeof (hts_cram_idx_t)); if (idx == NULL) return NULL; idx->fmt = HTS_FMT_CRAI; idx->cram = fp->fp.cram; return (hts_idx_t *) idx; } default: return NULL; // TODO Would use tbx_index_load if it returned hts_idx_t } } static hts_itr_t *cram_itr_query(const hts_idx_t *idx, int tid, int beg, int end, hts_readrec_func *readrec) { const hts_cram_idx_t *cidx = (const hts_cram_idx_t *) idx; hts_itr_t *iter = (hts_itr_t *) calloc(1, sizeof(hts_itr_t)); if (iter == NULL) return NULL; // Cons up a dummy iterator for which hts_itr_next() will simply invoke // the readrec function: iter->read_rest = 1; iter->off = NULL; iter->bins.a = NULL; iter->readrec = readrec; if (tid >= 0) { cram_range r = { tid, beg+1, end }; if (cram_set_option(cidx->cram, CRAM_OPT_RANGE, &r) != 0) { free(iter); return NULL; } iter->curr_off = 0; // The following fields are not required by hts_itr_next(), but are // filled in in case user code wants to look at them. iter->tid = tid; iter->beg = beg; iter->end = end; } else switch (tid) { case HTS_IDX_REST: iter->curr_off = 0; break; case HTS_IDX_NONE: iter->curr_off = 0; iter->finished = 1; break; default: fprintf(stderr, "[cram_itr_query] tid=%d not implemented for CRAM files -- Exiting\n", tid); abort(); break; } return iter; } hts_itr_t *sam_itr_queryi(const hts_idx_t *idx, int tid, int beg, int end) { const hts_cram_idx_t *cidx = (const hts_cram_idx_t *) idx; if (idx == NULL) return hts_itr_query(NULL, tid, beg, end, sam_bam_cram_readrec); else if (cidx->fmt == HTS_FMT_CRAI) return cram_itr_query(idx, tid, beg, end, cram_readrec); else return hts_itr_query(idx, tid, beg, end, bam_readrec); } static int cram_name2id(void *fdv, const char *ref) { cram_fd *fd = (cram_fd *) fdv; return sam_hdr_name2ref(fd->header, ref); } hts_itr_t *sam_itr_querys(const hts_idx_t *idx, bam_hdr_t *hdr, const char *region) { const hts_cram_idx_t *cidx = (const hts_cram_idx_t *) idx; if (cidx->fmt == HTS_FMT_CRAI) return hts_itr_querys(idx, region, cram_name2id, cidx->cram, cram_itr_query, cram_readrec); else return hts_itr_querys(idx, region, (hts_name2id_f)(bam_name2id), hdr, hts_itr_query, bam_readrec); } /********************** *** SAM header I/O *** **********************/ #include "htslib/kseq.h" #include "htslib/kstring.h" bam_hdr_t *sam_hdr_parse(int l_text, const char *text) { const char *q, *r, *p; khash_t(s2i) *d; d = kh_init(s2i); for (p = text; *p; ++p) { if (strncmp(p, "@SQ", 3) == 0) { char *sn = 0; int ln = -1; for (q = p + 4;; ++q) { if (strncmp(q, "SN:", 3) == 0) { q += 3; for (r = q; *r != '\t' && *r != '\n'; ++r); sn = (char*)calloc(r - q + 1, 1); strncpy(sn, q, r - q); q = r; } else if (strncmp(q, "LN:", 3) == 0) ln = strtol(q + 3, (char**)&q, 10); while (*q != '\t' && *q != '\n') ++q; if (*q == '\n') break; } p = q; if (sn && ln >= 0) { khint_t k; int absent; k = kh_put(s2i, d, sn, &absent); if (!absent) { if (hts_verbose >= 2) fprintf(stderr, "[W::%s] duplicated sequence '%s'\n", __func__, sn); free(sn); } else kh_val(d, k) = (int64_t)(kh_size(d) - 1)<<32 | ln; } } while (*p != '\n') ++p; } return hdr_from_dict(d); } bam_hdr_t *sam_hdr_read(htsFile *fp) { switch (fp->format.format) { case bam: return bam_hdr_read(fp->fp.bgzf); case cram: return cram_header_to_bam(fp->fp.cram->header); case sam: { kstring_t str; bam_hdr_t *h; int has_SQ = 0; str.l = str.m = 0; str.s = 0; while (hts_getline(fp, KS_SEP_LINE, &fp->line) >= 0) { if (fp->line.s[0] != '@') break; if (fp->line.l > 3 && strncmp(fp->line.s,"@SQ",3) == 0) has_SQ = 1; kputsn(fp->line.s, fp->line.l, &str); kputc('\n', &str); } if (! has_SQ && fp->fn_aux) { char line[2048]; FILE *f = fopen(fp->fn_aux, "r"); if (f == NULL) return NULL; while (fgets(line, sizeof line, f)) { const char *name = strtok(line, "\t"); const char *length = strtok(NULL, "\t"); ksprintf(&str, "@SQ\tSN:%s\tLN:%s\n", name, length); } fclose(f); } if (str.l == 0) kputsn("", 0, &str); h = sam_hdr_parse(str.l, str.s); h->l_text = str.l; h->text = str.s; return h; } default: abort(); } } int sam_hdr_write(htsFile *fp, const bam_hdr_t *h) { switch (fp->format.format) { case binary_format: fp->format.category = sequence_data; fp->format.format = bam; /* fall-through */ case bam: bam_hdr_write(fp->fp.bgzf, h); break; case cram: { cram_fd *fd = fp->fp.cram; if (cram_set_header(fd, bam_header_to_cram((bam_hdr_t *)h)) < 0) return -1; if (fp->fn_aux) cram_load_reference(fd, fp->fn_aux); if (cram_write_SAM_hdr(fd, fd->header) < 0) return -1; } break; case text_format: fp->format.category = sequence_data; fp->format.format = sam; /* fall-through */ case sam: { char *p; hputs(h->text, fp->fp.hfile); p = strstr(h->text, "@SQ\t"); // FIXME: we need a loop to make sure "@SQ\t" does not match something unwanted!!! if (p == 0) { int i; for (i = 0; i < h->n_targets; ++i) { fp->line.l = 0; kputsn("@SQ\tSN:", 7, &fp->line); kputs(h->target_name[i], &fp->line); kputsn("\tLN:", 4, &fp->line); kputw(h->target_len[i], &fp->line); kputc('\n', &fp->line); if ( hwrite(fp->fp.hfile, fp->line.s, fp->line.l) != fp->line.l ) return -1; } } if ( hflush(fp->fp.hfile) != 0 ) return -1; } break; default: abort(); } return 0; } /********************** *** SAM record I/O *** **********************/ int sam_parse1(kstring_t *s, bam_hdr_t *h, bam1_t *b) { #define _read_token(_p) (_p); for (; *(_p) && *(_p) != '\t'; ++(_p)); if (*(_p) != '\t') goto err_ret; *(_p)++ = 0 #define _read_token_aux(_p) (_p); for (; *(_p) && *(_p) != '\t'; ++(_p)); *(_p)++ = 0 // this is different in that it does not test *(_p)=='\t' #define _get_mem(type_t, _x, _s, _l) ks_resize((_s), (_s)->l + (_l)); *(_x) = (type_t*)((_s)->s + (_s)->l); (_s)->l += (_l) #define _parse_err(cond, msg) do { if ((cond) && hts_verbose >= 1) { fprintf(stderr, "[E::%s] " msg "\n", __func__); goto err_ret; } } while (0) #define _parse_warn(cond, msg) if ((cond) && hts_verbose >= 2) fprintf(stderr, "[W::%s] " msg "\n", __func__) uint8_t *t; char *p = s->s, *q; int i; kstring_t str; bam1_core_t *c = &b->core; str.l = b->l_data = 0; str.s = (char*)b->data; str.m = b->m_data; memset(c, 0, 32); if (h->cigar_tab == 0) { h->cigar_tab = (int8_t*) malloc(128); for (i = 0; i < 128; ++i) h->cigar_tab[i] = -1; for (i = 0; BAM_CIGAR_STR[i]; ++i) h->cigar_tab[(int)BAM_CIGAR_STR[i]] = i; } // qname q = _read_token(p); kputsn_(q, p - q, &str); c->l_qname = p - q; // flag c->flag = strtol(p, &p, 0); if (*p++ != '\t') goto err_ret; // malformated flag // chr q = _read_token(p); if (strcmp(q, "*")) { _parse_err(h->n_targets == 0, "missing SAM header"); c->tid = bam_name2id(h, q); _parse_warn(c->tid < 0, "urecognized reference name; treated as unmapped"); } else c->tid = -1; // pos c->pos = strtol(p, &p, 10) - 1; if (*p++ != '\t') goto err_ret; if (c->pos < 0 && c->tid >= 0) { _parse_warn(1, "mapped query cannot have zero coordinate; treated as unmapped"); c->tid = -1; } if (c->tid < 0) c->flag |= BAM_FUNMAP; // mapq c->qual = strtol(p, &p, 10); if (*p++ != '\t') goto err_ret; // cigar if (*p != '*') { uint32_t *cigar; size_t n_cigar = 0; for (q = p; *p && *p != '\t'; ++p) if (!isdigit(*p)) ++n_cigar; if (*p++ != '\t') goto err_ret; _parse_err(n_cigar >= 65536, "too many CIGAR operations"); c->n_cigar = n_cigar; _get_mem(uint32_t, &cigar, &str, c->n_cigar<<2); for (i = 0; i < c->n_cigar; ++i, ++q) { int op; cigar[i] = strtol(q, &q, 10)<= 128? -1 : h->cigar_tab[(int)*q]; _parse_err(op < 0, "unrecognized CIGAR operator"); cigar[i] |= op; } i = bam_cigar2rlen(c->n_cigar, cigar); } else { _parse_warn(!(c->flag&BAM_FUNMAP), "mapped query must have a CIGAR; treated as unmapped"); c->flag |= BAM_FUNMAP; q = _read_token(p); i = 1; } c->bin = hts_reg2bin(c->pos, c->pos + i, 14, 5); // mate chr q = _read_token(p); if (strcmp(q, "=") == 0) c->mtid = c->tid; else if (strcmp(q, "*") == 0) c->mtid = -1; else c->mtid = bam_name2id(h, q); // mpos c->mpos = strtol(p, &p, 10) - 1; if (*p++ != '\t') goto err_ret; if (c->mpos < 0 && c->mtid >= 0) { _parse_warn(1, "mapped mate cannot have zero coordinate; treated as unmapped"); c->mtid = -1; } // tlen c->isize = strtol(p, &p, 10); if (*p++ != '\t') goto err_ret; // seq q = _read_token(p); if (strcmp(q, "*")) { c->l_qseq = p - q - 1; i = bam_cigar2qlen(c->n_cigar, (uint32_t*)(str.s + c->l_qname)); _parse_err(c->n_cigar && i != c->l_qseq, "CIGAR and query sequence are of different length"); i = (c->l_qseq + 1) >> 1; _get_mem(uint8_t, &t, &str, i); memset(t, 0, i); for (i = 0; i < c->l_qseq; ++i) t[i>>1] |= seq_nt16_table[(int)q[i]] << ((~i&1)<<2); } else c->l_qseq = 0; // qual q = _read_token_aux(p); _get_mem(uint8_t, &t, &str, c->l_qseq); if (strcmp(q, "*")) { _parse_err(p - q - 1 != c->l_qseq, "SEQ and QUAL are of different length"); for (i = 0; i < c->l_qseq; ++i) t[i] = q[i] - 33; } else memset(t, 0xff, c->l_qseq); // aux // Note that (like the bam1_core_t fields) this aux data in b->data is // stored in host endianness; so there is no byte swapping needed here. while (p < s->s + s->l) { uint8_t type; q = _read_token_aux(p); // FIXME: can be accelerated for long 'B' arrays _parse_err(p - q - 1 < 6, "incomplete aux field"); kputsn_(q, 2, &str); q += 3; type = *q++; ++q; // q points to value if (type == 'A' || type == 'a' || type == 'c' || type == 'C') { kputc_('A', &str); kputc_(*q, &str); } else if (type == 'i' || type == 'I') { if (*q == '-') { long x = strtol(q, &q, 10); if (x >= INT8_MIN) { kputc_('c', &str); kputc_(x, &str); } else if (x >= INT16_MIN) { int16_t y = x; kputc_('s', &str); kputsn_((char*)&y, 2, &str); } else { int32_t y = x; kputc_('i', &str); kputsn_(&y, 4, &str); } } else { unsigned long x = strtoul(q, &q, 10); if (x <= UINT8_MAX) { kputc_('C', &str); kputc_(x, &str); } else if (x <= UINT16_MAX) { uint16_t y = x; kputc_('S', &str); kputsn_(&y, 2, &str); } else { uint32_t y = x; kputc_('I', &str); kputsn_(&y, 4, &str); } } } else if (type == 'f') { float x; x = strtod(q, &q); kputc_('f', &str); kputsn_(&x, 4, &str); } else if (type == 'd') { double x; x = strtod(q, &q); kputc_('d', &str); kputsn_(&x, 8, &str); } else if (type == 'Z' || type == 'H') { kputc_(type, &str);kputsn_(q, p - q, &str); // note that this include the trailing NULL } else if (type == 'B') { int32_t n; char *r; _parse_err(p - q - 1 < 3, "incomplete B-typed aux field"); type = *q++; // q points to the first ',' following the typing byte for (r = q, n = 0; *r; ++r) if (*r == ',') ++n; kputc_('B', &str); kputc_(type, &str); kputsn_(&n, 4, &str); // FIXME: to evaluate which is faster: a) aligned array and then memmove(); b) unaligned array; c) kputsn_() if (type == 'c') while (q + 1 < p) { int8_t x = strtol(q + 1, &q, 0); kputc_(x, &str); } else if (type == 'C') while (q + 1 < p) { uint8_t x = strtoul(q + 1, &q, 0); kputc_(x, &str); } else if (type == 's') while (q + 1 < p) { int16_t x = strtol(q + 1, &q, 0); kputsn_(&x, 2, &str); } else if (type == 'S') while (q + 1 < p) { uint16_t x = strtoul(q + 1, &q, 0); kputsn_(&x, 2, &str); } else if (type == 'i') while (q + 1 < p) { int32_t x = strtol(q + 1, &q, 0); kputsn_(&x, 4, &str); } else if (type == 'I') while (q + 1 < p) { uint32_t x = strtoul(q + 1, &q, 0); kputsn_(&x, 4, &str); } else if (type == 'f') while (q + 1 < p) { float x = strtod(q + 1, &q); kputsn_(&x, 4, &str); } else _parse_err(1, "unrecognized type"); } else _parse_err(1, "unrecognized type"); } b->data = (uint8_t*)str.s; b->l_data = str.l; b->m_data = str.m; return 0; #undef _parse_warn #undef _parse_err #undef _get_mem #undef _read_token_aux #undef _read_token err_ret: b->data = (uint8_t*)str.s; b->l_data = str.l; b->m_data = str.m; return -2; } int sam_read1(htsFile *fp, bam_hdr_t *h, bam1_t *b) { switch (fp->format.format) { case bam: { int r = bam_read1(fp->fp.bgzf, b); if (r >= 0) { if (b->core.tid >= h->n_targets || b->core.tid < -1 || b->core.mtid >= h->n_targets || b->core.mtid < -1) return -3; } return r; } case cram: return cram_get_bam_seq(fp->fp.cram, &b); case sam: { int ret; err_recover: if (fp->line.l == 0) { ret = hts_getline(fp, KS_SEP_LINE, &fp->line); if (ret < 0) return -1; } ret = sam_parse1(&fp->line, h, b); fp->line.l = 0; if (ret < 0) { if (hts_verbose >= 1) fprintf(stderr, "[W::%s] parse error at line %lld\n", __func__, (long long)fp->lineno); if (h->ignore_sam_err) goto err_recover; } return ret; } default: abort(); } } int sam_format1(const bam_hdr_t *h, const bam1_t *b, kstring_t *str) { int i; uint8_t *s; const bam1_core_t *c = &b->core; str->l = 0; kputsn(bam_get_qname(b), c->l_qname-1, str); kputc('\t', str); // query name kputw(c->flag, str); kputc('\t', str); // flag if (c->tid >= 0) { // chr kputs(h->target_name[c->tid] , str); kputc('\t', str); } else kputsn("*\t", 2, str); kputw(c->pos + 1, str); kputc('\t', str); // pos kputw(c->qual, str); kputc('\t', str); // qual if (c->n_cigar) { // cigar uint32_t *cigar = bam_get_cigar(b); for (i = 0; i < c->n_cigar; ++i) { kputw(bam_cigar_oplen(cigar[i]), str); kputc(bam_cigar_opchr(cigar[i]), str); } } else kputc('*', str); kputc('\t', str); if (c->mtid < 0) kputsn("*\t", 2, str); // mate chr else if (c->mtid == c->tid) kputsn("=\t", 2, str); else { kputs(h->target_name[c->mtid], str); kputc('\t', str); } kputw(c->mpos + 1, str); kputc('\t', str); // mate pos kputw(c->isize, str); kputc('\t', str); // template len if (c->l_qseq) { // seq and qual uint8_t *s = bam_get_seq(b); for (i = 0; i < c->l_qseq; ++i) kputc("=ACMGRSVTWYHKDBN"[bam_seqi(s, i)], str); kputc('\t', str); s = bam_get_qual(b); if (s[0] == 0xff) kputc('*', str); else for (i = 0; i < c->l_qseq; ++i) kputc(s[i] + 33, str); } else kputsn("*\t*", 3, str); s = bam_get_aux(b); // aux while (s+4 <= b->data + b->l_data) { uint8_t type, key[2]; key[0] = s[0]; key[1] = s[1]; s += 2; type = *s++; kputc('\t', str); kputsn((char*)key, 2, str); kputc(':', str); if (type == 'A') { kputsn("A:", 2, str); kputc(*s, str); ++s; } else if (type == 'C') { kputsn("i:", 2, str); kputw(*s, str); ++s; } else if (type == 'c') { kputsn("i:", 2, str); kputw(*(int8_t*)s, str); ++s; } else if (type == 'S') { if (s+2 <= b->data + b->l_data) { kputsn("i:", 2, str); kputw(*(uint16_t*)s, str); s += 2; } else return -1; } else if (type == 's') { if (s+2 <= b->data + b->l_data) { kputsn("i:", 2, str); kputw(*(int16_t*)s, str); s += 2; } else return -1; } else if (type == 'I') { if (s+4 <= b->data + b->l_data) { kputsn("i:", 2, str); kputuw(*(uint32_t*)s, str); s += 4; } else return -1; } else if (type == 'i') { if (s+4 <= b->data + b->l_data) { kputsn("i:", 2, str); kputw(*(int32_t*)s, str); s += 4; } else return -1; } else if (type == 'f') { if (s+4 <= b->data + b->l_data) { ksprintf(str, "f:%g", *(float*)s); s += 4; } else return -1; } else if (type == 'd') { if (s+8 <= b->data + b->l_data) { ksprintf(str, "d:%g", *(double*)s); s += 8; } else return -1; } else if (type == 'Z' || type == 'H') { kputc(type, str); kputc(':', str); while (s < b->data + b->l_data && *s) kputc(*s++, str); if (s >= b->data + b->l_data) return -1; ++s; } else if (type == 'B') { uint8_t sub_type = *(s++); int32_t n; memcpy(&n, s, 4); s += 4; // no point to the start of the array if (s + n >= b->data + b->l_data) return -1; kputsn("B:", 2, str); kputc(sub_type, str); // write the typing for (i = 0; i < n; ++i) { // FIXME: for better performance, put the loop after "if" kputc(',', str); if ('c' == sub_type) { kputw(*(int8_t*)s, str); ++s; } else if ('C' == sub_type) { kputw(*(uint8_t*)s, str); ++s; } else if ('s' == sub_type) { kputw(*(int16_t*)s, str); s += 2; } else if ('S' == sub_type) { kputw(*(uint16_t*)s, str); s += 2; } else if ('i' == sub_type) { kputw(*(int32_t*)s, str); s += 4; } else if ('I' == sub_type) { kputuw(*(uint32_t*)s, str); s += 4; } else if ('f' == sub_type) { ksprintf(str, "%g", *(float*)s); s += 4; } } } } return str->l; } int sam_write1(htsFile *fp, const bam_hdr_t *h, const bam1_t *b) { switch (fp->format.format) { case binary_format: fp->format.category = sequence_data; fp->format.format = bam; /* fall-through */ case bam: return bam_write1(fp->fp.bgzf, b); case cram: return cram_put_bam_seq(fp->fp.cram, (bam1_t *)b); case text_format: fp->format.category = sequence_data; fp->format.format = sam; /* fall-through */ case sam: if (sam_format1(h, b, &fp->line) < 0) return -1; kputc('\n', &fp->line); if ( hwrite(fp->fp.hfile, fp->line.s, fp->line.l) != fp->line.l ) return -1; return fp->line.l; default: abort(); } } /************************ *** Auxiliary fields *** ************************/ void bam_aux_append(bam1_t *b, const char tag[2], char type, int len, uint8_t *data) { int ori_len = b->l_data; b->l_data += 3 + len; if (b->m_data < b->l_data) { b->m_data = b->l_data; kroundup32(b->m_data); b->data = (uint8_t*)realloc(b->data, b->m_data); } b->data[ori_len] = tag[0]; b->data[ori_len + 1] = tag[1]; b->data[ori_len + 2] = type; memcpy(b->data + ori_len + 3, data, len); } static inline uint8_t *skip_aux(uint8_t *s) { int size = aux_type2size(*s); ++s; // skip type uint32_t n; switch (size) { case 'Z': case 'H': while (*s) ++s; return s + 1; case 'B': size = aux_type2size(*s); ++s; memcpy(&n, s, 4); s += 4; return s + size * n; case 0: abort(); break; default: return s + size; } } uint8_t *bam_aux_get(const bam1_t *b, const char tag[2]) { uint8_t *s; int y = tag[0]<<8 | tag[1]; s = bam_get_aux(b); while (s < b->data + b->l_data) { int x = (int)s[0]<<8 | s[1]; s += 2; if (x == y) return s; s = skip_aux(s); } return 0; } // s MUST BE returned by bam_aux_get() int bam_aux_del(bam1_t *b, uint8_t *s) { uint8_t *p, *aux; int l_aux = bam_get_l_aux(b); aux = bam_get_aux(b); p = s - 2; s = skip_aux(s); memmove(p, s, l_aux - (s - aux)); b->l_data -= s - p; return 0; } int32_t bam_aux2i(const uint8_t *s) { int type; type = *s++; if (type == 'c') return (int32_t)*(int8_t*)s; else if (type == 'C') return (int32_t)*(uint8_t*)s; else if (type == 's') return (int32_t)*(int16_t*)s; else if (type == 'S') return (int32_t)*(uint16_t*)s; else if (type == 'i' || type == 'I') return *(int32_t*)s; else return 0; } double bam_aux2f(const uint8_t *s) { int type; type = *s++; if (type == 'd') return *(double*)s; else if (type == 'f') return *(float*)s; else return 0.0; } char bam_aux2A(const uint8_t *s) { int type; type = *s++; if (type == 'A') return *(char*)s; else return 0; } char *bam_aux2Z(const uint8_t *s) { int type; type = *s++; if (type == 'Z' || type == 'H') return (char*)s; else return 0; } int sam_open_mode(char *mode, const char *fn, const char *format) { // TODO Parse "bam5" etc for compression level if (format == NULL) { // Try to pick a format based on the filename extension const char *ext = fn? strrchr(fn, '.') : NULL; if (ext == NULL || strchr(ext, '/')) return -1; return sam_open_mode(mode, fn, ext+1); } else if (strcmp(format, "bam") == 0) strcpy(mode, "b"); else if (strcmp(format, "cram") == 0) strcpy(mode, "c"); else if (strcmp(format, "sam") == 0) strcpy(mode, ""); else return -1; return 0; } #define STRNCMP(a,b,n) (strncasecmp((a),(b),(n)) || strlen(a)!=(n)) int bam_str2flag(const char *str) { char *end, *beg = (char*) str; long int flag = strtol(str, &end, 0); if ( end!=str ) return flag; // the conversion was successful flag = 0; while ( *str ) { end = beg; while ( *end && *end!=',' ) end++; if ( !STRNCMP("PAIRED",beg,end-beg) ) flag |= BAM_FPAIRED; else if ( !STRNCMP("PROPER_PAIR",beg,end-beg) ) flag |= BAM_FPROPER_PAIR; else if ( !STRNCMP("UNMAP",beg,end-beg) ) flag |= BAM_FUNMAP; else if ( !STRNCMP("MUNMAP",beg,end-beg) ) flag |= BAM_FMUNMAP; else if ( !STRNCMP("REVERSE",beg,end-beg) ) flag |= BAM_FREVERSE; else if ( !STRNCMP("MREVERSE",beg,end-beg) ) flag |= BAM_FMREVERSE; else if ( !STRNCMP("READ1",beg,end-beg) ) flag |= BAM_FREAD1; else if ( !STRNCMP("READ2",beg,end-beg) ) flag |= BAM_FREAD2; else if ( !STRNCMP("SECONDARY",beg,end-beg) ) flag |= BAM_FSECONDARY; else if ( !STRNCMP("QCFAIL",beg,end-beg) ) flag |= BAM_FQCFAIL; else if ( !STRNCMP("DUP",beg,end-beg) ) flag |= BAM_FDUP; else if ( !STRNCMP("SUPPLEMENTARY",beg,end-beg) ) flag |= BAM_FSUPPLEMENTARY; else return -1; if ( !*end ) break; beg = end + 1; } return flag; } char *bam_flag2str(int flag) { kstring_t str = {0,0,0}; if ( flag&BAM_FPAIRED ) ksprintf(&str,"%s%s", str.l?",":"","PAIRED"); if ( flag&BAM_FPROPER_PAIR ) ksprintf(&str,"%s%s", str.l?",":"","PROPER_PAIR"); if ( flag&BAM_FUNMAP ) ksprintf(&str,"%s%s", str.l?",":"","UNMAP"); if ( flag&BAM_FMUNMAP ) ksprintf(&str,"%s%s", str.l?",":"","MUNMAP"); if ( flag&BAM_FREVERSE ) ksprintf(&str,"%s%s", str.l?",":"","REVERSE"); if ( flag&BAM_FMREVERSE ) ksprintf(&str,"%s%s", str.l?",":"","MREVERSE"); if ( flag&BAM_FREAD1 ) ksprintf(&str,"%s%s", str.l?",":"","READ1"); if ( flag&BAM_FREAD2 ) ksprintf(&str,"%s%s", str.l?",":"","READ2"); if ( flag&BAM_FSECONDARY ) ksprintf(&str,"%s%s", str.l?",":"","SECONDARY"); if ( flag&BAM_FQCFAIL ) ksprintf(&str,"%s%s", str.l?",":"","QCFAIL"); if ( flag&BAM_FDUP ) ksprintf(&str,"%s%s", str.l?",":"","DUP"); if ( flag&BAM_FSUPPLEMENTARY ) ksprintf(&str,"%s%s", str.l?",":"","SUPPLEMENTARY"); if ( str.l == 0 ) kputsn("", 0, &str); return str.s; } /************************** *** Pileup and Mpileup *** **************************/ #if !defined(BAM_NO_PILEUP) #include /******************* *** Memory pool *** *******************/ typedef struct { int k, x, y, end; } cstate_t; static cstate_t g_cstate_null = { -1, 0, 0, 0 }; typedef struct __linkbuf_t { bam1_t b; int32_t beg, end; cstate_t s; struct __linkbuf_t *next; } lbnode_t; typedef struct { int cnt, n, max; lbnode_t **buf; } mempool_t; static mempool_t *mp_init(void) { mempool_t *mp; mp = (mempool_t*)calloc(1, sizeof(mempool_t)); return mp; } static void mp_destroy(mempool_t *mp) { int k; for (k = 0; k < mp->n; ++k) { free(mp->buf[k]->b.data); free(mp->buf[k]); } free(mp->buf); free(mp); } static inline lbnode_t *mp_alloc(mempool_t *mp) { ++mp->cnt; if (mp->n == 0) return (lbnode_t*)calloc(1, sizeof(lbnode_t)); else return mp->buf[--mp->n]; } static inline void mp_free(mempool_t *mp, lbnode_t *p) { --mp->cnt; p->next = 0; // clear lbnode_t::next here if (mp->n == mp->max) { mp->max = mp->max? mp->max<<1 : 256; mp->buf = (lbnode_t**)realloc(mp->buf, sizeof(lbnode_t*) * mp->max); } mp->buf[mp->n++] = p; } /********************** *** CIGAR resolver *** **********************/ /* s->k: the index of the CIGAR operator that has just been processed. s->x: the reference coordinate of the start of s->k s->y: the query coordiante of the start of s->k */ static inline int resolve_cigar2(bam_pileup1_t *p, int32_t pos, cstate_t *s) { #define _cop(c) ((c)&BAM_CIGAR_MASK) #define _cln(c) ((c)>>BAM_CIGAR_SHIFT) bam1_t *b = p->b; bam1_core_t *c = &b->core; uint32_t *cigar = bam_get_cigar(b); int k; // determine the current CIGAR operation // fprintf(stderr, "%s\tpos=%d\tend=%d\t(%d,%d,%d)\n", bam_get_qname(b), pos, s->end, s->k, s->x, s->y); if (s->k == -1) { // never processed if (c->n_cigar == 1) { // just one operation, save a loop if (_cop(cigar[0]) == BAM_CMATCH || _cop(cigar[0]) == BAM_CEQUAL || _cop(cigar[0]) == BAM_CDIFF) s->k = 0, s->x = c->pos, s->y = 0; } else { // find the first match or deletion for (k = 0, s->x = c->pos, s->y = 0; k < c->n_cigar; ++k) { int op = _cop(cigar[k]); int l = _cln(cigar[k]); if (op == BAM_CMATCH || op == BAM_CDEL || op == BAM_CEQUAL || op == BAM_CDIFF) break; else if (op == BAM_CREF_SKIP) s->x += l; else if (op == BAM_CINS || op == BAM_CSOFT_CLIP) s->y += l; } assert(k < c->n_cigar); s->k = k; } } else { // the read has been processed before int op, l = _cln(cigar[s->k]); if (pos - s->x >= l) { // jump to the next operation assert(s->k < c->n_cigar); // otherwise a bug: this function should not be called in this case op = _cop(cigar[s->k+1]); if (op == BAM_CMATCH || op == BAM_CDEL || op == BAM_CREF_SKIP || op == BAM_CEQUAL || op == BAM_CDIFF) { // jump to the next without a loop if (_cop(cigar[s->k]) == BAM_CMATCH|| _cop(cigar[s->k]) == BAM_CEQUAL || _cop(cigar[s->k]) == BAM_CDIFF) s->y += l; s->x += l; ++s->k; } else { // find the next M/D/N/=/X if (_cop(cigar[s->k]) == BAM_CMATCH|| _cop(cigar[s->k]) == BAM_CEQUAL || _cop(cigar[s->k]) == BAM_CDIFF) s->y += l; s->x += l; for (k = s->k + 1; k < c->n_cigar; ++k) { op = _cop(cigar[k]), l = _cln(cigar[k]); if (op == BAM_CMATCH || op == BAM_CDEL || op == BAM_CREF_SKIP || op == BAM_CEQUAL || op == BAM_CDIFF) break; else if (op == BAM_CINS || op == BAM_CSOFT_CLIP) s->y += l; } s->k = k; } assert(s->k < c->n_cigar); // otherwise a bug } // else, do nothing } { // collect pileup information int op, l; op = _cop(cigar[s->k]); l = _cln(cigar[s->k]); p->is_del = p->indel = p->is_refskip = 0; if (s->x + l - 1 == pos && s->k + 1 < c->n_cigar) { // peek the next operation int op2 = _cop(cigar[s->k+1]); int l2 = _cln(cigar[s->k+1]); if (op2 == BAM_CDEL) p->indel = -(int)l2; else if (op2 == BAM_CINS) p->indel = l2; else if (op2 == BAM_CPAD && s->k + 2 < c->n_cigar) { // no working for adjacent padding int l3 = 0; for (k = s->k + 2; k < c->n_cigar; ++k) { op2 = _cop(cigar[k]); l2 = _cln(cigar[k]); if (op2 == BAM_CINS) l3 += l2; else if (op2 == BAM_CDEL || op2 == BAM_CMATCH || op2 == BAM_CREF_SKIP || op2 == BAM_CEQUAL || op2 == BAM_CDIFF) break; } if (l3 > 0) p->indel = l3; } } if (op == BAM_CMATCH || op == BAM_CEQUAL || op == BAM_CDIFF) { p->qpos = s->y + (pos - s->x); } else if (op == BAM_CDEL || op == BAM_CREF_SKIP) { p->is_del = 1; p->qpos = s->y; // FIXME: distinguish D and N!!!!! p->is_refskip = (op == BAM_CREF_SKIP); } // cannot be other operations; otherwise a bug p->is_head = (pos == c->pos); p->is_tail = (pos == s->end); } return 1; } /*********************** *** Pileup iterator *** ***********************/ // Dictionary of overlapping reads KHASH_MAP_INIT_STR(olap_hash, lbnode_t *) typedef khash_t(olap_hash) olap_hash_t; struct __bam_plp_t { mempool_t *mp; lbnode_t *head, *tail, *dummy; int32_t tid, pos, max_tid, max_pos; int is_eof, max_plp, error, maxcnt; uint64_t id; bam_pileup1_t *plp; // for the "auto" interface only bam1_t *b; bam_plp_auto_f func; void *data; olap_hash_t *overlaps; }; bam_plp_t bam_plp_init(bam_plp_auto_f func, void *data) { bam_plp_t iter; iter = (bam_plp_t)calloc(1, sizeof(struct __bam_plp_t)); iter->mp = mp_init(); iter->head = iter->tail = mp_alloc(iter->mp); iter->dummy = mp_alloc(iter->mp); iter->max_tid = iter->max_pos = -1; iter->maxcnt = 8000; if (func) { iter->func = func; iter->data = data; iter->b = bam_init1(); } return iter; } void bam_plp_init_overlaps(bam_plp_t iter) { iter->overlaps = kh_init(olap_hash); // hash for tweaking quality of bases in overlapping reads } void bam_plp_destroy(bam_plp_t iter) { if ( iter->overlaps ) kh_destroy(olap_hash, iter->overlaps); mp_free(iter->mp, iter->dummy); mp_free(iter->mp, iter->head); if (iter->mp->cnt != 0) fprintf(stderr, "[bam_plp_destroy] memory leak: %d. Continue anyway.\n", iter->mp->cnt); mp_destroy(iter->mp); if (iter->b) bam_destroy1(iter->b); free(iter->plp); free(iter); } //--------------------------------- //--- Tweak overlapping reads //--------------------------------- /** * cigar_iref2iseq_set() - find the first CMATCH setting the ref and the read index * cigar_iref2iseq_next() - get the next CMATCH base * @cigar: pointer to current cigar block (rw) * @cigar_max: pointer just beyond the last cigar block * @icig: position within the current cigar block (rw) * @iseq: position in the sequence (rw) * @iref: position with respect to the beginning of the read (iref_pos - b->core.pos) (rw) * * Returns BAM_CMATCH or -1 when there is no more cigar to process or the requested position is not covered. */ static inline int cigar_iref2iseq_set(uint32_t **cigar, uint32_t *cigar_max, int *icig, int *iseq, int *iref) { int pos = *iref; if ( pos < 0 ) return -1; *icig = 0; *iseq = 0; *iref = 0; while ( *cigar> BAM_CIGAR_SHIFT; if ( cig==BAM_CSOFT_CLIP ) { (*cigar)++; *iseq += ncig; *icig = 0; continue; } if ( cig==BAM_CHARD_CLIP || cig==BAM_CPAD ) { (*cigar)++; *icig = 0; continue; } if ( cig==BAM_CMATCH || cig==BAM_CEQUAL || cig==BAM_CDIFF ) { pos -= ncig; if ( pos < 0 ) { *icig = ncig + pos; *iseq += *icig; *iref += *icig; return BAM_CMATCH; } (*cigar)++; *iseq += ncig; *icig = 0; *iref += ncig; continue; } if ( cig==BAM_CINS ) { (*cigar)++; *iseq += ncig; *icig = 0; continue; } if ( cig==BAM_CDEL || cig==BAM_CREF_SKIP ) { pos -= ncig; if ( pos<0 ) pos = 0; (*cigar)++; *icig = 0; *iref += ncig; continue; } fprintf(stderr,"todo: cigar %d\n", cig); assert(0); } *iseq = -1; return -1; } static inline int cigar_iref2iseq_next(uint32_t **cigar, uint32_t *cigar_max, int *icig, int *iseq, int *iref) { while ( *cigar < cigar_max ) { int cig = (**cigar) & BAM_CIGAR_MASK; int ncig = (**cigar) >> BAM_CIGAR_SHIFT; if ( cig==BAM_CMATCH || cig==BAM_CEQUAL || cig==BAM_CDIFF ) { if ( *icig >= ncig - 1 ) { *icig = 0; (*cigar)++; continue; } (*iseq)++; (*icig)++; (*iref)++; return BAM_CMATCH; } if ( cig==BAM_CDEL || cig==BAM_CREF_SKIP ) { (*cigar)++; (*iref) += ncig; *icig = 0; continue; } if ( cig==BAM_CINS ) { (*cigar)++; *iseq += ncig; *icig = 0; continue; } if ( cig==BAM_CSOFT_CLIP ) { (*cigar)++; *iseq += ncig; *icig = 0; continue; } if ( cig==BAM_CHARD_CLIP || cig==BAM_CPAD ) { (*cigar)++; *icig = 0; continue; } fprintf(stderr,"todo: cigar %d\n", cig); assert(0); } *iseq = -1; *iref = -1; return -1; } static void tweak_overlap_quality(bam1_t *a, bam1_t *b) { uint32_t *a_cigar = bam_get_cigar(a), *a_cigar_max = a_cigar + a->core.n_cigar; uint32_t *b_cigar = bam_get_cigar(b), *b_cigar_max = b_cigar + b->core.n_cigar; int a_icig = 0, a_iseq = 0; int b_icig = 0, b_iseq = 0; uint8_t *a_qual = bam_get_qual(a), *b_qual = bam_get_qual(b); uint8_t *a_seq = bam_get_seq(a), *b_seq = bam_get_seq(b); int iref = b->core.pos; int a_iref = iref - a->core.pos; int b_iref = iref - b->core.pos; int a_ret = cigar_iref2iseq_set(&a_cigar, a_cigar_max, &a_icig, &a_iseq, &a_iref); if ( a_ret<0 ) return; // no overlap int b_ret = cigar_iref2iseq_set(&b_cigar, b_cigar_max, &b_icig, &b_iseq, &b_iref); if ( b_ret<0 ) return; // no overlap #if DBG fprintf(stderr,"tweak %s n_cigar=%d %d .. %d-%d vs %d-%d\n", bam_get_qname(a), a->core.n_cigar, b->core.n_cigar, a->core.pos+1,a->core.pos+bam_cigar2rlen(a->core.n_cigar,bam_get_cigar(a)), b->core.pos+1, b->core.pos+bam_cigar2rlen(b->core.n_cigar,bam_get_cigar(b))); #endif while ( 1 ) { // Increment reference position while ( a_iref>=0 && a_iref < iref - a->core.pos ) a_ret = cigar_iref2iseq_next(&a_cigar, a_cigar_max, &a_icig, &a_iseq, &a_iref); if ( a_ret<0 ) break; // done if ( iref < a_iref + a->core.pos ) iref = a_iref + a->core.pos; while ( b_iref>=0 && b_iref < iref - b->core.pos ) b_ret = cigar_iref2iseq_next(&b_cigar, b_cigar_max, &b_icig, &b_iseq, &b_iref); if ( b_ret<0 ) break; // done if ( iref < b_iref + b->core.pos ) iref = b_iref + b->core.pos; iref++; if ( a_iref+a->core.pos != b_iref+b->core.pos ) continue; // only CMATCH positions, don't know what to do with indels if ( bam_seqi(a_seq,a_iseq) == bam_seqi(b_seq,b_iseq) ) { #if DBG fprintf(stderr,"%c",seq_nt16_str[bam_seqi(a_seq,a_iseq)]); #endif // we are very confident about this base int qual = a_qual[a_iseq] + b_qual[b_iseq]; a_qual[a_iseq] = qual>200 ? 200 : qual; b_qual[b_iseq] = 0; } else { if ( a_qual[a_iseq] >= b_qual[b_iseq] ) { #if DBG fprintf(stderr,"[%c/%c]",seq_nt16_str[bam_seqi(a_seq,a_iseq)],tolower(seq_nt16_str[bam_seqi(b_seq,b_iseq)])); #endif a_qual[a_iseq] = 0.8 * a_qual[a_iseq]; // not so confident about a_qual anymore given the mismatch b_qual[b_iseq] = 0; } else { #if DBG fprintf(stderr,"[%c/%c]",tolower(seq_nt16_str[bam_seqi(a_seq,a_iseq)]),seq_nt16_str[bam_seqi(b_seq,b_iseq)]); #endif b_qual[b_iseq] = 0.8 * b_qual[b_iseq]; a_qual[a_iseq] = 0; } } } #if DBG fprintf(stderr,"\n"); #endif } // Fix overlapping reads. Simple soft-clipping did not give good results. // Lowering qualities of unwanted bases is more selective and works better. // static void overlap_push(bam_plp_t iter, lbnode_t *node) { if ( !iter->overlaps ) return; // mapped mates and paired reads only if ( node->b.core.flag&BAM_FMUNMAP || !(node->b.core.flag&BAM_FPROPER_PAIR) ) return; // no overlap possible, unless some wild cigar if ( abs(node->b.core.isize) >= 2*node->b.core.l_qseq ) return; khiter_t kitr = kh_get(olap_hash, iter->overlaps, bam_get_qname(&node->b)); if ( kitr==kh_end(iter->overlaps) ) { int ret; kitr = kh_put(olap_hash, iter->overlaps, bam_get_qname(&node->b), &ret); kh_value(iter->overlaps, kitr) = node; } else { lbnode_t *a = kh_value(iter->overlaps, kitr); tweak_overlap_quality(&a->b, &node->b); kh_del(olap_hash, iter->overlaps, kitr); assert(a->end-1 == a->s.end); a->end = a->b.core.pos + bam_cigar2rlen(a->b.core.n_cigar, bam_get_cigar(&a->b)); a->s.end = a->end - 1; } } static void overlap_remove(bam_plp_t iter, const bam1_t *b) { if ( !iter->overlaps ) return; khiter_t kitr; if ( b ) { kitr = kh_get(olap_hash, iter->overlaps, bam_get_qname(b)); if ( kitr!=kh_end(iter->overlaps) ) kh_del(olap_hash, iter->overlaps, kitr); } else { // remove all for (kitr = kh_begin(iter->overlaps); kitroverlaps); kitr++) if ( kh_exist(iter->overlaps, kitr) ) kh_del(olap_hash, iter->overlaps, kitr); } } // Prepares next pileup position in bam records collected by bam_plp_auto -> user func -> bam_plp_push. Returns // pointer to the piled records if next position is ready or NULL if there is not enough records in the // buffer yet (the current position is still the maximum position across all buffered reads). const bam_pileup1_t *bam_plp_next(bam_plp_t iter, int *_tid, int *_pos, int *_n_plp) { if (iter->error) { *_n_plp = -1; return 0; } *_n_plp = 0; if (iter->is_eof && iter->head->next == 0) return 0; while (iter->is_eof || iter->max_tid > iter->tid || (iter->max_tid == iter->tid && iter->max_pos > iter->pos)) { int n_plp = 0; lbnode_t *p, *q; // write iter->plp at iter->pos iter->dummy->next = iter->head; for (p = iter->head, q = iter->dummy; p->next; q = p, p = p->next) { if (p->b.core.tid < iter->tid || (p->b.core.tid == iter->tid && p->end <= iter->pos)) { // then remove overlap_remove(iter, &p->b); q->next = p->next; mp_free(iter->mp, p); p = q; } else if (p->b.core.tid == iter->tid && p->beg <= iter->pos) { // here: p->end > pos; then add to pileup if (n_plp == iter->max_plp) { // then double the capacity iter->max_plp = iter->max_plp? iter->max_plp<<1 : 256; iter->plp = (bam_pileup1_t*)realloc(iter->plp, sizeof(bam_pileup1_t) * iter->max_plp); } iter->plp[n_plp].b = &p->b; if (resolve_cigar2(iter->plp + n_plp, iter->pos, &p->s)) ++n_plp; // actually always true... } } iter->head = iter->dummy->next; // dummy->next may be changed *_n_plp = n_plp; *_tid = iter->tid; *_pos = iter->pos; // update iter->tid and iter->pos if (iter->head->next) { if (iter->tid > iter->head->b.core.tid) { fprintf(stderr, "[%s] unsorted input. Pileup aborts.\n", __func__); iter->error = 1; *_n_plp = -1; return 0; } } if (iter->tid < iter->head->b.core.tid) { // come to a new reference sequence iter->tid = iter->head->b.core.tid; iter->pos = iter->head->beg; // jump to the next reference } else if (iter->pos < iter->head->beg) { // here: tid == head->b.core.tid iter->pos = iter->head->beg; // jump to the next position } else ++iter->pos; // scan contiguously // return if (n_plp) return iter->plp; if (iter->is_eof && iter->head->next == 0) break; } return 0; } int bam_plp_push(bam_plp_t iter, const bam1_t *b) { if (iter->error) return -1; if (b) { if (b->core.tid < 0) { overlap_remove(iter, b); return 0; } // Skip only unmapped reads here, any additional filtering must be done in iter->func if (b->core.flag & BAM_FUNMAP) { overlap_remove(iter, b); return 0; } if (iter->tid == b->core.tid && iter->pos == b->core.pos && iter->mp->cnt > iter->maxcnt) { overlap_remove(iter, b); return 0; } bam_copy1(&iter->tail->b, b); overlap_push(iter, iter->tail); #ifndef BAM_NO_ID iter->tail->b.id = iter->id++; #endif iter->tail->beg = b->core.pos; iter->tail->end = b->core.pos + bam_cigar2rlen(b->core.n_cigar, bam_get_cigar(b)); iter->tail->s = g_cstate_null; iter->tail->s.end = iter->tail->end - 1; // initialize cstate_t if (b->core.tid < iter->max_tid) { fprintf(stderr, "[bam_pileup_core] the input is not sorted (chromosomes out of order)\n"); iter->error = 1; return -1; } if ((b->core.tid == iter->max_tid) && (iter->tail->beg < iter->max_pos)) { fprintf(stderr, "[bam_pileup_core] the input is not sorted (reads out of order)\n"); iter->error = 1; return -1; } iter->max_tid = b->core.tid; iter->max_pos = iter->tail->beg; if (iter->tail->end > iter->pos || iter->tail->b.core.tid > iter->tid) { iter->tail->next = mp_alloc(iter->mp); iter->tail = iter->tail->next; } } else iter->is_eof = 1; return 0; } const bam_pileup1_t *bam_plp_auto(bam_plp_t iter, int *_tid, int *_pos, int *_n_plp) { const bam_pileup1_t *plp; if (iter->func == 0 || iter->error) { *_n_plp = -1; return 0; } if ((plp = bam_plp_next(iter, _tid, _pos, _n_plp)) != 0) return plp; else { // no pileup line can be obtained; read alignments *_n_plp = 0; if (iter->is_eof) return 0; int ret; while ( (ret=iter->func(iter->data, iter->b)) >= 0) { if (bam_plp_push(iter, iter->b) < 0) { *_n_plp = -1; return 0; } if ((plp = bam_plp_next(iter, _tid, _pos, _n_plp)) != 0) return plp; // otherwise no pileup line can be returned; read the next alignment. } if ( ret < -1 ) { iter->error = ret; *_n_plp = -1; return 0; } bam_plp_push(iter, 0); if ((plp = bam_plp_next(iter, _tid, _pos, _n_plp)) != 0) return plp; return 0; } } void bam_plp_reset(bam_plp_t iter) { lbnode_t *p, *q; iter->max_tid = iter->max_pos = -1; iter->tid = iter->pos = 0; iter->is_eof = 0; for (p = iter->head; p->next;) { overlap_remove(iter, NULL); q = p->next; mp_free(iter->mp, p); p = q; } iter->head = iter->tail; } void bam_plp_set_maxcnt(bam_plp_t iter, int maxcnt) { iter->maxcnt = maxcnt; } /************************ *** Mpileup iterator *** ************************/ struct __bam_mplp_t { int n; uint64_t min, *pos; bam_plp_t *iter; int *n_plp; const bam_pileup1_t **plp; }; bam_mplp_t bam_mplp_init(int n, bam_plp_auto_f func, void **data) { int i; bam_mplp_t iter; iter = (bam_mplp_t)calloc(1, sizeof(struct __bam_mplp_t)); iter->pos = (uint64_t*)calloc(n, sizeof(uint64_t)); iter->n_plp = (int*)calloc(n, sizeof(int)); iter->plp = (const bam_pileup1_t**)calloc(n, sizeof(bam_pileup1_t*)); iter->iter = (bam_plp_t*)calloc(n, sizeof(bam_plp_t)); iter->n = n; iter->min = (uint64_t)-1; for (i = 0; i < n; ++i) { iter->iter[i] = bam_plp_init(func, data[i]); iter->pos[i] = iter->min; } return iter; } void bam_mplp_init_overlaps(bam_mplp_t iter) { int i; for (i = 0; i < iter->n; ++i) bam_plp_init_overlaps(iter->iter[i]); } void bam_mplp_set_maxcnt(bam_mplp_t iter, int maxcnt) { int i; for (i = 0; i < iter->n; ++i) iter->iter[i]->maxcnt = maxcnt; } void bam_mplp_destroy(bam_mplp_t iter) { int i; for (i = 0; i < iter->n; ++i) bam_plp_destroy(iter->iter[i]); free(iter->iter); free(iter->pos); free(iter->n_plp); free(iter->plp); free(iter); } int bam_mplp_auto(bam_mplp_t iter, int *_tid, int *_pos, int *n_plp, const bam_pileup1_t **plp) { int i, ret = 0; uint64_t new_min = (uint64_t)-1; for (i = 0; i < iter->n; ++i) { if (iter->pos[i] == iter->min) { int tid, pos; iter->plp[i] = bam_plp_auto(iter->iter[i], &tid, &pos, &iter->n_plp[i]); if ( iter->iter[i]->error ) return -1; iter->pos[i] = iter->plp[i] ? (uint64_t)tid<<32 | pos : 0; } if (iter->plp[i] && iter->pos[i] < new_min) new_min = iter->pos[i]; } iter->min = new_min; if (new_min == (uint64_t)-1) return 0; *_tid = new_min>>32; *_pos = (uint32_t)new_min; for (i = 0; i < iter->n; ++i) { if (iter->pos[i] == iter->min) { // FIXME: valgrind reports "uninitialised value(s) at this line" n_plp[i] = iter->n_plp[i], plp[i] = iter->plp[i]; ++ret; } else n_plp[i] = 0, plp[i] = 0; } return ret; } #endif // ~!defined(BAM_NO_PILEUP) htslib-1.2.1/synced_bcf_reader.c000066400000000000000000001177331246417267700166210ustar00rootroot00000000000000/* synced_bcf_reader.c -- stream through multiple VCF files. Copyright (C) 2012-2014 Genome Research Ltd. Author: Petr Danecek Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ #include #include #include #include #include #include #include #include "htslib/synced_bcf_reader.h" #include "htslib/kseq.h" #include "htslib/khash_str2int.h" #define MAX_CSI_COOR 0x7fffffff // maximum indexable coordinate of .csi typedef struct { uint32_t start, end; } region1_t; typedef struct _region_t { region1_t *regs; int nregs, mregs, creg; } region_t; static void _regions_add(bcf_sr_regions_t *reg, const char *chr, int start, int end); static bcf_sr_regions_t *_regions_init_string(const char *str); static int _regions_match_alleles(bcf_sr_regions_t *reg, int als_idx, bcf1_t *rec); char *bcf_sr_strerror(int errnum) { switch (errnum) { case open_failed: return strerror(errno); break; case not_bgzf: return "not compressed with bgzip"; break; case idx_load_failed: return "could not load index"; break; case file_type_error: return "unknown file type"; break; case api_usage_error: return "API usage error"; break; case header_error: return "could not parse header"; break; default: return ""; } } static int *init_filters(bcf_hdr_t *hdr, const char *filters, int *nfilters) { kstring_t str = {0,0,0}; const char *tmp = filters, *prev = filters; int nout = 0, *out = NULL; while ( 1 ) { if ( *tmp==',' || !*tmp ) { out = (int*) realloc(out, (nout+1)*sizeof(int)); if ( tmp-prev==1 && *prev=='.' ) out[nout] = -1; else { str.l = 0; kputsn(prev, tmp-prev, &str); out[nout] = bcf_hdr_id2int(hdr, BCF_DT_ID, str.s); } nout++; if ( !*tmp ) break; prev = tmp+1; } tmp++; } if ( str.m ) free(str.s); *nfilters = nout; return out; } int bcf_sr_set_regions(bcf_srs_t *readers, const char *regions, int is_file) { assert( !readers->regions ); if ( readers->nreaders ) { fprintf(stderr,"[%s:%d %s] Error: bcf_sr_set_regions() must be called before bcf_sr_add_reader()\n", __FILE__,__LINE__,__FUNCTION__); return -1; } readers->regions = bcf_sr_regions_init(regions,is_file,0,1,-2); if ( !readers->regions ) return -1; readers->explicit_regs = 1; readers->require_index = 1; return 0; } int bcf_sr_set_targets(bcf_srs_t *readers, const char *targets, int is_file, int alleles) { assert( !readers->targets ); if ( targets[0]=='^' ) { readers->targets_exclude = 1; targets++; } readers->targets = bcf_sr_regions_init(targets,is_file,0,1,-2); if ( !readers->targets ) return -1; readers->targets_als = alleles; return 0; } int bcf_sr_add_reader(bcf_srs_t *files, const char *fname) { htsFile* file_ptr = hts_open(fname, "r"); if ( ! file_ptr ) { files->errnum = open_failed; return 0; } files->has_line = (int*) realloc(files->has_line, sizeof(int)*(files->nreaders+1)); files->has_line[files->nreaders] = 0; files->readers = (bcf_sr_t*) realloc(files->readers, sizeof(bcf_sr_t)*(files->nreaders+1)); bcf_sr_t *reader = &files->readers[files->nreaders++]; memset(reader,0,sizeof(bcf_sr_t)); reader->file = file_ptr; files->errnum = 0; if ( files->require_index ) { if ( reader->file->format.format==vcf ) { if ( reader->file->format.compression!=bgzf ) { files->errnum = not_bgzf; return 0; } reader->tbx_idx = tbx_index_load(fname); if ( !reader->tbx_idx ) { files->errnum = idx_load_failed; return 0; } reader->header = bcf_hdr_read(reader->file); } else if ( reader->file->format.format==bcf ) { if ( reader->file->format.compression!=bgzf ) { files->errnum = not_bgzf; return 0; } reader->header = bcf_hdr_read(reader->file); reader->bcf_idx = bcf_index_load(fname); if ( !reader->bcf_idx ) { files->errnum = idx_load_failed; return 0; } } else { files->errnum = file_type_error; return 0; } } else { if ( reader->file->format.format==bcf || reader->file->format.format==vcf ) { reader->header = bcf_hdr_read(reader->file); } else { files->errnum = file_type_error; return 0; } files->streaming = 1; } if ( files->streaming && files->nreaders>1 ) { files->errnum = api_usage_error; fprintf(stderr,"[%s:%d %s] Error: %d readers, yet require_index not set\n", __FILE__,__LINE__,__FUNCTION__,files->nreaders); return 0; } if ( files->streaming && files->regions ) { files->errnum = api_usage_error; fprintf(stderr,"[%s:%d %s] Error: cannot tabix-jump in streaming mode\n", __FILE__,__LINE__,__FUNCTION__); return 0; } if ( !reader->header ) { files->errnum = header_error; return 0; } reader->fname = fname; if ( files->apply_filters ) reader->filter_ids = init_filters(reader->header, files->apply_filters, &reader->nfilter_ids); // Update list of chromosomes if ( !files->explicit_regs && !files->streaming ) { int n,i; const char **names = reader->tbx_idx ? tbx_seqnames(reader->tbx_idx, &n) : bcf_hdr_seqnames(reader->header, &n); for (i=0; iregions ) files->regions = _regions_init_string(names[i]); else _regions_add(files->regions, names[i], -1, -1); } free(names); } return 1; } bcf_srs_t *bcf_sr_init(void) { bcf_srs_t *files = (bcf_srs_t*) calloc(1,sizeof(bcf_srs_t)); return files; } static void bcf_sr_destroy1(bcf_sr_t *reader) { if ( reader->tbx_idx ) tbx_destroy(reader->tbx_idx); if ( reader->bcf_idx ) hts_idx_destroy(reader->bcf_idx); bcf_hdr_destroy(reader->header); hts_close(reader->file); if ( reader->itr ) tbx_itr_destroy(reader->itr); int j; for (j=0; jmbuffer; j++) bcf_destroy1(reader->buffer[j]); free(reader->buffer); free(reader->samples); free(reader->filter_ids); } void bcf_sr_destroy(bcf_srs_t *files) { int i; for (i=0; inreaders; i++) bcf_sr_destroy1(&files->readers[i]); free(files->has_line); free(files->readers); for (i=0; in_smpl; i++) free(files->samples[i]); free(files->samples); if (files->targets) bcf_sr_regions_destroy(files->targets); if (files->regions) bcf_sr_regions_destroy(files->regions); if ( files->tmps.m ) free(files->tmps.s); free(files); } void bcf_sr_remove_reader(bcf_srs_t *files, int i) { assert( !files->samples ); // not ready for this yet bcf_sr_destroy1(&files->readers[i]); if ( i+1 < files->nreaders ) { memmove(&files->readers[i], &files->readers[i+1], (files->nreaders-i-1)*sizeof(bcf_sr_t)); memmove(&files->has_line[i], &files->has_line[i+1], (files->nreaders-i-1)*sizeof(int)); } files->nreaders--; } /* Removes duplicate records from the buffer. The meaning of "duplicate" is controlled by the $collapse variable, which can cause that from multiple lines only the first is considered and the rest is ignored. The removal is done by setting the redundant lines' positions to -1 and moving these lines at the end of the buffer. */ static void collapse_buffer(bcf_srs_t *files, bcf_sr_t *reader) { int irec,jrec, has_snp=0, has_indel=0, has_any=0; for (irec=1; irec<=reader->nbuffer; irec++) { bcf1_t *line = reader->buffer[irec]; if ( line->pos != reader->buffer[1]->pos ) break; if ( files->collapse&COLLAPSE_ANY ) { if ( !has_any ) has_any = 1; else line->pos = -1; } int line_type = bcf_get_variant_types(line); if ( files->collapse&COLLAPSE_SNPS && line_type&(VCF_SNP|VCF_MNP) ) { if ( !has_snp ) has_snp = 1; else line->pos = -1; } if ( files->collapse&COLLAPSE_INDELS && line_type&VCF_INDEL ) { if ( !has_indel ) has_indel = 1; else line->pos = -1; } } bcf1_t *tmp; irec = jrec = 1; while ( irec<=reader->nbuffer && jrec<=reader->nbuffer ) { if ( reader->buffer[irec]->pos != -1 ) { irec++; continue; } if ( jrec<=irec ) jrec = irec+1; while ( jrec<=reader->nbuffer && reader->buffer[jrec]->pos==-1 ) jrec++; if ( jrec<=reader->nbuffer ) { tmp = reader->buffer[irec]; reader->buffer[irec] = reader->buffer[jrec]; reader->buffer[jrec] = tmp; } } reader->nbuffer = irec - 1; } void debug_buffer(FILE *fp, bcf_sr_t *reader) { int j; for (j=0; j<=reader->nbuffer; j++) { bcf1_t *line = reader->buffer[j]; fprintf(fp,"%s%s\t%s:%d\t%s ", reader->fname,j==0?"*":"",reader->header->id[BCF_DT_CTG][line->rid].key,line->pos+1,line->n_allele?line->d.allele[0]:""); int k; for (k=1; kn_allele; k++) fprintf(fp," %s", line->d.allele[k]); fprintf(fp,"\n"); } } void debug_buffers(FILE *fp, bcf_srs_t *files) { int i; for (i=0; inreaders; i++) { fprintf(fp, "has_line: %d\t%s\n", bcf_sr_has_line(files,i),files->readers[i].fname); debug_buffer(fp, &files->readers[i]); } fprintf(fp,"\n"); } static inline int has_filter(bcf_sr_t *reader, bcf1_t *line) { int i, j; if ( !line->d.n_flt ) { for (j=0; jnfilter_ids; j++) if ( reader->filter_ids[j]<0 ) return 1; return 0; } for (i=0; id.n_flt; i++) { for (j=0; jnfilter_ids; j++) if ( line->d.flt[i]==reader->filter_ids[j] ) return 1; } return 0; } static int _reader_seek(bcf_sr_t *reader, const char *seq, int start, int end) { if ( end>=MAX_CSI_COOR ) { fprintf(stderr,"The coordinate is out of csi index limit: %d\n", end+1); exit(1); } if ( reader->itr ) { hts_itr_destroy(reader->itr); reader->itr = NULL; } reader->nbuffer = 0; if ( reader->tbx_idx ) { int tid = tbx_name2id(reader->tbx_idx, seq); if ( tid==-1 ) return -1; // the sequence not present in this file reader->itr = tbx_itr_queryi(reader->tbx_idx,tid,start,end+1); } else { int tid = bcf_hdr_name2id(reader->header, seq); if ( tid==-1 ) return -1; // the sequence not present in this file reader->itr = bcf_itr_queryi(reader->bcf_idx,tid,start,end+1); } assert(reader->itr); return 0; } /* * _readers_next_region() - jumps to next region if necessary * Returns 0 on success or -1 when there are no more regions left */ static int _readers_next_region(bcf_srs_t *files) { // Need to open new chromosome? Check number of lines in all readers' buffers int i, eos = 0; for (i=0; inreaders; i++) if ( !files->readers[i].itr && !files->readers[i].nbuffer ) eos++; if ( eos!=files->nreaders ) { // Some of the readers still has buffered lines return 0; } // No lines in the buffer, need to open new region or quit if ( bcf_sr_regions_next(files->regions)<0 ) return -1; for (i=0; inreaders; i++) _reader_seek(&files->readers[i],files->regions->seq_names[files->regions->iseq],files->regions->start,files->regions->end); return 0; } /* * _reader_fill_buffer() - buffers all records with the same coordinate */ static void _reader_fill_buffer(bcf_srs_t *files, bcf_sr_t *reader) { // Return if the buffer is full: the coordinate of the last buffered record differs if ( reader->nbuffer && reader->buffer[reader->nbuffer]->pos != reader->buffer[1]->pos ) return; // No iterator (sequence not present in this file) and not streaming if ( !reader->itr && !files->streaming ) return; // Fill the buffer with records starting at the same position int i, ret = 0; while (1) { if ( reader->nbuffer+1 >= reader->mbuffer ) { // Increase buffer size reader->mbuffer += 8; reader->buffer = (bcf1_t**) realloc(reader->buffer, sizeof(bcf1_t*)*reader->mbuffer); for (i=8; i>0; i--) // initialize { reader->buffer[reader->mbuffer-i] = bcf_init1(); reader->buffer[reader->mbuffer-i]->max_unpack = files->max_unpack; reader->buffer[reader->mbuffer-i]->pos = -1; // for rare cases when VCF starts from 1 } } if ( files->streaming ) { if ( reader->file->format.format==vcf ) { if ( (ret=hts_getline(reader->file, KS_SEP_LINE, &files->tmps)) < 0 ) break; // no more lines int ret = vcf_parse1(&files->tmps, reader->header, reader->buffer[reader->nbuffer+1]); if ( ret<0 ) break; } else if ( reader->file->format.format==bcf ) { if ( (ret=bcf_read1(reader->file, reader->header, reader->buffer[reader->nbuffer+1])) < 0 ) break; // no more lines } else { fprintf(stderr,"[%s:%d %s] fixme: not ready for this\n", __FILE__,__LINE__,__FUNCTION__); exit(1); } } else if ( reader->tbx_idx ) { if ( (ret=tbx_itr_next(reader->file, reader->tbx_idx, reader->itr, &files->tmps)) < 0 ) break; // no more lines vcf_parse1(&files->tmps, reader->header, reader->buffer[reader->nbuffer+1]); } else { if ( (ret=bcf_itr_next(reader->file, reader->itr, reader->buffer[reader->nbuffer+1])) < 0 ) break; // no more lines bcf_subset_format(reader->header,reader->buffer[reader->nbuffer+1]); } // apply filter if ( !reader->nfilter_ids ) bcf_unpack(reader->buffer[reader->nbuffer+1], BCF_UN_STR); else { bcf_unpack(reader->buffer[reader->nbuffer+1], BCF_UN_STR|BCF_UN_FLT); if ( !has_filter(reader, reader->buffer[reader->nbuffer+1]) ) continue; } reader->nbuffer++; if ( reader->buffer[reader->nbuffer]->pos != reader->buffer[1]->pos ) break; // the buffer is full } if ( ret<0 ) { // done for this region tbx_itr_destroy(reader->itr); reader->itr = NULL; } if ( files->collapse && reader->nbuffer>=2 && reader->buffer[1]->pos==reader->buffer[2]->pos ) collapse_buffer(files, reader); } /* * _readers_shift_buffer() - removes the first line and all subsequent lines with the same position */ static void _reader_shift_buffer(bcf_sr_t *reader) { int i; for (i=2; i<=reader->nbuffer; i++) if ( reader->buffer[i]->pos!=reader->buffer[1]->pos ) break; if ( i<=reader->nbuffer ) { // A record with a different position follows, swap it. Because of the reader's logic, // only one such line can be present. bcf1_t *tmp = reader->buffer[1]; reader->buffer[1] = reader->buffer[i]; reader->buffer[i] = tmp; reader->nbuffer = 1; } else reader->nbuffer = 0; // no other line } /* * _reader_match_alleles() - from multiple buffered lines selects the one which * corresponds best to the template line. The logic is controlled by COLLAPSE_* * Returns 0 on success or -1 when no good matching line is found. */ static int _reader_match_alleles(bcf_srs_t *files, bcf_sr_t *reader, bcf1_t *tmpl) { int i, irec = -1; // if no template given, use the first available record if ( !tmpl ) irec = 1; else { int tmpl_type = bcf_get_variant_types(tmpl); for (i=1; i<=reader->nbuffer; i++) { bcf1_t *line = reader->buffer[i]; if ( line->pos != reader->buffer[1]->pos ) break; // done with this reader // Easiest case: matching by position only if ( files->collapse&COLLAPSE_ANY ) { irec=i; break; } int line_type = bcf_get_variant_types(line); // No matter what the alleles are, as long as they are both SNPs if ( files->collapse&COLLAPSE_SNPS && tmpl_type&VCF_SNP && line_type&VCF_SNP ) { irec=i; break; } // ... or indels if ( files->collapse&COLLAPSE_INDELS && tmpl_type&VCF_INDEL && line_type&VCF_INDEL ) { irec=i; break; } // More thorough checking: REFs must match if ( tmpl->rlen != line->rlen ) continue; // different length if ( strcmp(tmpl->d.allele[0], line->d.allele[0]) ) continue; // the strings do not match int ial,jal; if ( files->collapse==COLLAPSE_NONE ) { // Exact match, all alleles must be identical if ( tmpl->n_allele!=line->n_allele ) continue; // different number of alleles, skip int nmatch = 1; // REF has been already checked for (ial=1; ialn_allele; ial++) { for (jal=1; jaln_allele; jal++) if ( !strcmp(tmpl->d.allele[ial], line->d.allele[jal]) ) { nmatch++; break; } } if ( nmatch==tmpl->n_allele ) { irec=i; break; } // found: exact match continue; } if ( line->n_allele==1 && tmpl->n_allele==1 ) { irec=i; break; } // both sites are non-variant // COLLAPSE_SOME: at least some ALTs must match for (ial=1; ialn_allele; ial++) { for (jal=1; jaln_allele; jal++) if ( !strcmp(tmpl->d.allele[ial], line->d.allele[jal]) ) { irec=i; break; } if ( irec>=1 ) break; } if ( irec>=1 ) break; } if ( irec==-1 ) return -1; // no matching line was found } // Set the selected line (irec) as active: set it to buffer[0], move the remaining lines forward // and put the old bcf1_t record at the end. bcf1_t *tmp = reader->buffer[0]; reader->buffer[0] = reader->buffer[irec]; for (i=irec+1; i<=reader->nbuffer; i++) reader->buffer[i-1] = reader->buffer[i]; reader->buffer[ reader->nbuffer ] = tmp; reader->nbuffer--; return 0; } int _reader_next_line(bcf_srs_t *files) { int i, min_pos = INT_MAX; // Loop until next suitable line is found or all readers have finished while ( 1 ) { // Get all readers ready for the next region. if ( files->regions && _readers_next_region(files)<0 ) break; // Fill buffers const char *chr = NULL; for (i=0; inreaders; i++) { _reader_fill_buffer(files, &files->readers[i]); // Update the minimum coordinate if ( !files->readers[i].nbuffer ) continue; if ( min_pos > files->readers[i].buffer[1]->pos ) { min_pos = files->readers[i].buffer[1]->pos; chr = bcf_seqname(files->readers[i].header, files->readers[i].buffer[1]); } } if ( min_pos==INT_MAX ) { if ( !files->regions ) break; continue; } // Skip this position if not present in targets if ( files->targets ) { int ret = bcf_sr_regions_overlap(files->targets, chr, min_pos, min_pos); if ( (!files->targets_exclude && ret<0) || (files->targets_exclude && !ret) ) { // Remove all lines with this position from the buffer for (i=0; inreaders; i++) if ( files->readers[i].nbuffer && files->readers[i].buffer[1]->pos==min_pos ) _reader_shift_buffer(&files->readers[i]); min_pos = INT_MAX; continue; } } break; // done: min_pos is set } // There can be records with duplicate positions. Set the active line intelligently so that // the alleles match. int nret = 0; // number of readers sharing the position bcf1_t *first = NULL; // record which will be used for allele matching for (i=0; inreaders; i++) { files->has_line[i] = 0; // Skip readers with no records at this position if ( !files->readers[i].nbuffer || files->readers[i].buffer[1]->pos!=min_pos ) continue; // Until now buffer[0] of all reader was empty and the lines started at buffer[1]. // Now lines which are ready to be output will be moved to buffer[0]. if ( _reader_match_alleles(files, &files->readers[i], first) < 0 ) continue; if ( !first ) first = files->readers[i].buffer[0]; nret++; files->has_line[i] = 1; } return nret; } int bcf_sr_next_line(bcf_srs_t *files) { if ( !files->targets_als ) return _reader_next_line(files); while (1) { int i, ret = _reader_next_line(files); if ( !ret ) return ret; for (i=0; inreaders; i++) if ( files->has_line[i] ) break; if ( _regions_match_alleles(files->targets, files->targets_als-1, files->readers[i].buffer[0]) ) return ret; // Check if there are more duplicate lines in the buffers. If not, return this line as if it // matched the targets, even if there is a type mismatch for (i=0; inreaders; i++) { if ( !files->has_line[i] ) continue; if ( files->readers[i].nbuffer==0 || files->readers[i].buffer[1]->pos!=files->readers[i].buffer[0]->pos ) continue; break; } if ( i==files->nreaders ) return ret; // no more lines left, output even if target alleles are not of the same type } } static void bcf_sr_seek_start(bcf_srs_t *readers) { bcf_sr_regions_t *reg = readers->regions; int i; for (i=0; inseqs; i++) reg->regs[i].creg = -1; reg->iseq = 0; } int bcf_sr_seek(bcf_srs_t *readers, const char *seq, int pos) { if ( !seq && !pos ) { // seek to start bcf_sr_seek_start(readers); return 0; } bcf_sr_regions_overlap(readers->regions, seq, pos, pos); int i, nret = 0; for (i=0; inreaders; i++) { nret += _reader_seek(&readers->readers[i],seq,pos,MAX_CSI_COOR-1); } return nret; } int bcf_sr_set_samples(bcf_srs_t *files, const char *fname, int is_file) { int i, j, nsmpl, free_smpl = 0; char **smpl = NULL; void *exclude = (fname[0]=='^') ? khash_str2int_init() : NULL; if ( exclude || strcmp("-",fname) ) // "-" stands for all samples { smpl = hts_readlist(fname, is_file, &nsmpl); if ( !smpl ) { fprintf(stderr,"Could not read the file: \"%s\"\n", fname); return 0; } if ( exclude ) { for (i=0; ireaders[0].header->samples; // intersection of all samples nsmpl = bcf_hdr_nsamples(files->readers[0].header); } files->samples = NULL; files->n_smpl = 0; for (i=0; inreaders; j++) { if ( bcf_hdr_id2int(files->readers[j].header, BCF_DT_SAMPLE, smpl[i])<0 ) break; n_isec++; } if ( n_isec!=files->nreaders ) { fprintf(stderr,"Warning: The sample \"%s\" was not found in %s, skipping\n", smpl[i], files->readers[n_isec].fname); continue; } files->samples = (char**) realloc(files->samples, (files->n_smpl+1)*sizeof(const char*)); files->samples[files->n_smpl++] = strdup(smpl[i]); } if ( exclude ) khash_str2int_destroy(exclude); if ( free_smpl ) { for (i=0; in_smpl ) { if ( files->nreaders>1 ) fprintf(stderr,"No samples in common.\n"); return 0; } for (i=0; inreaders; i++) { bcf_sr_t *reader = &files->readers[i]; reader->samples = (int*) malloc(sizeof(int)*files->n_smpl); reader->n_smpl = files->n_smpl; for (j=0; jn_smpl; j++) reader->samples[j] = bcf_hdr_id2int(reader->header, BCF_DT_SAMPLE, files->samples[j]); } return 1; } // Add a new region into a list sorted by start,end. On input the coordinates // are 1-based, stored 0-based, inclusive. static void _regions_add(bcf_sr_regions_t *reg, const char *chr, int start, int end) { if ( start==-1 && end==-1 ) { start = 0; end = MAX_CSI_COOR-1; } else { start--; end--; // store 0-based coordinates } if ( !reg->seq_hash ) reg->seq_hash = khash_str2int_init(); int iseq; if ( khash_str2int_get(reg->seq_hash, chr, &iseq)<0 ) { // the chromosome block does not exist iseq = reg->nseqs++; reg->seq_names = (char**) realloc(reg->seq_names,sizeof(char*)*reg->nseqs); reg->regs = (region_t*) realloc(reg->regs,sizeof(region_t)*reg->nseqs); memset(®->regs[reg->nseqs-1],0,sizeof(region_t)); reg->seq_names[iseq] = strdup(chr); reg->regs[iseq].creg = -1; khash_str2int_set(reg->seq_hash,reg->seq_names[iseq],iseq); } region_t *creg = ®->regs[iseq]; // the regions may not be sorted on input: binary search int i, min = 0, max = creg->nregs - 1; while ( min<=max ) { i = (max+min)/2; if ( start < creg->regs[i].start ) max = i - 1; else if ( start > creg->regs[i].start ) min = i + 1; else break; } if ( min>max || creg->regs[i].start!=start || creg->regs[i].end!=end ) { // no such region, insert a new one just after max hts_expand(region1_t,creg->nregs+1,creg->mregs,creg->regs); if ( ++max < creg->nregs ) memmove(&creg->regs[max+1],&creg->regs[max],(creg->nregs - max)*sizeof(region1_t)); creg->regs[max].start = start; creg->regs[max].end = end; creg->nregs++; } } // File name or a list of genomic locations. If file name, NULL is returned. static bcf_sr_regions_t *_regions_init_string(const char *str) { bcf_sr_regions_t *reg = (bcf_sr_regions_t *) calloc(1, sizeof(bcf_sr_regions_t)); reg->start = reg->end = -1; reg->prev_start = reg->prev_seq = -1; kstring_t tmp = {0,0,0}; const char *sp = str, *ep = str; int from, to; while ( 1 ) { while ( *ep && *ep!=',' && *ep!=':' ) ep++; tmp.l = 0; kputsn(sp,ep-sp,&tmp); if ( *ep==':' ) { sp = ep+1; from = strtol(sp,(char**)&ep,10); if ( sp==ep ) { fprintf(stderr,"[%s:%d %s] Could not parse the region(s): %s\n", __FILE__,__LINE__,__FUNCTION__,str); free(reg); free(tmp.s); return NULL; } if ( !*ep || *ep==',' ) { _regions_add(reg, tmp.s, from, from); sp = ep; continue; } if ( *ep!='-' ) { fprintf(stderr,"[%s:%d %s] Could not parse the region(s): %s\n", __FILE__,__LINE__,__FUNCTION__,str); free(reg); free(tmp.s); return NULL; } ep++; sp = ep; to = strtol(sp,(char**)&ep,10); if ( *ep && *ep!=',' ) { fprintf(stderr,"[%s:%d %s] Could not parse the region(s): %s\n", __FILE__,__LINE__,__FUNCTION__,str); free(reg); free(tmp.s); return NULL; } if ( sp==ep ) to = MAX_CSI_COOR-1; _regions_add(reg, tmp.s, from, to); if ( !*ep ) break; sp = ep; } else { if ( tmp.l ) _regions_add(reg, tmp.s, -1, -1); if ( !*ep ) break; sp = ++ep; } } free(tmp.s); return reg; } // ichr,ifrom,ito are 0-based; // returns -1 on error, 0 if the line is a comment line, 1 on success static int _regions_parse_line(char *line, int ichr,int ifrom,int ito, char **chr,char **chr_end,int *from,int *to) { *chr_end = NULL; if ( line[0]=='#' ) return 0; int k,l; // index of the start and end column of the tab-delimited file if ( ifrom <= ito ) k = ifrom, l = ito; else l = ifrom, k = ito; int i; char *se = line, *ss = NULL; // start and end char *tmp; for (i=0; i<=k && *se; i++) { ss = i==0 ? se++ : ++se; while (*se && *se!='\t') se++; } if ( i<=k ) return -1; if ( k==l ) { *from = *to = strtol(ss, &tmp, 10); if ( tmp==ss ) return -1; } else { if ( k==ifrom ) *from = strtol(ss, &tmp, 10); else *to = strtol(ss, &tmp, 10); if ( ss==tmp ) return -1; for (i=k; i0 ) ss = ++se; while (*se && *se!='\t') se++; } if ( i<=ichr ) return -1; *chr_end = se; *chr = ss; return 1; } bcf_sr_regions_t *bcf_sr_regions_init(const char *regions, int is_file, int ichr, int ifrom, int ito) { bcf_sr_regions_t *reg; if ( !is_file ) return _regions_init_string(regions); reg = (bcf_sr_regions_t *) calloc(1, sizeof(bcf_sr_regions_t)); reg->start = reg->end = -1; reg->prev_start = reg->prev_seq = -1; reg->file = hts_open(regions, "rb"); if ( !reg->file ) { fprintf(stderr,"[%s:%d %s] Could not open file: %s\n", __FILE__,__LINE__,__FUNCTION__,regions); free(reg); return NULL; } reg->tbx = tbx_index_load(regions); if ( !reg->tbx ) { int len = strlen(regions); int is_bed = strcasecmp(".bed",regions+len-4) ? 0 : 1; if ( !is_bed && !strcasecmp(".bed.gz",regions+len-7) ) is_bed = 1; if ( reg->file->format.format==vcf ) ito = 1; // read the whole file, tabix index is not present while ( hts_getline(reg->file, KS_SEP_LINE, ®->line) > 0 ) { char *chr, *chr_end; int from, to, ret; ret = _regions_parse_line(reg->line.s, ichr,ifrom,abs(ito), &chr,&chr_end,&from,&to); if ( ret < 0 ) { if ( ito<0 ) ret = _regions_parse_line(reg->line.s, ichr,ifrom,ifrom, &chr,&chr_end,&from,&to); if ( ret<0 ) { fprintf(stderr,"[%s:%d] Could not parse the file %s, using the columns %d,%d[,%d]\n", __FILE__,__LINE__,regions,ichr+1,ifrom+1,ito+1); hts_close(reg->file); reg->file = NULL; free(reg); return NULL; } } if ( !ret ) continue; if ( is_bed ) from++; *chr_end = 0; _regions_add(reg, chr, from, to); *chr_end = '\t'; } hts_close(reg->file); reg->file = NULL; if ( !reg->nseqs ) { free(reg); return NULL; } return reg; } reg->seq_names = (char**) tbx_seqnames(reg->tbx, ®->nseqs); if ( !reg->seq_hash ) reg->seq_hash = khash_str2int_init(); int i; for (i=0; inseqs; i++) { khash_str2int_set(reg->seq_hash,reg->seq_names[i],i); } reg->fname = strdup(regions); reg->is_bin = 1; return reg; } void bcf_sr_regions_destroy(bcf_sr_regions_t *reg) { int i; free(reg->fname); if ( reg->itr ) tbx_itr_destroy(reg->itr); if ( reg->tbx ) tbx_destroy(reg->tbx); if ( reg->file ) hts_close(reg->file); if ( reg->als ) free(reg->als); if ( reg->als_str.s ) free(reg->als_str.s); free(reg->line.s); if ( reg->regs ) { // free only in-memory names, tbx names are const for (i=0; inseqs; i++) { free(reg->seq_names[i]); free(reg->regs[i].regs); } } free(reg->regs); free(reg->seq_names); khash_str2int_destroy(reg->seq_hash); free(reg); } int bcf_sr_regions_seek(bcf_sr_regions_t *reg, const char *seq) { reg->iseq = reg->start = reg->end = -1; if ( khash_str2int_get(reg->seq_hash, seq, ®->iseq) < 0 ) return -1; // sequence seq not in regions // using in-memory regions if ( reg->regs ) { reg->regs[reg->iseq].creg = -1; return 0; } // reading regions from tabix if ( reg->itr ) tbx_itr_destroy(reg->itr); reg->itr = tbx_itr_querys(reg->tbx, seq); if ( reg->itr ) return 0; return -1; } int bcf_sr_regions_next(bcf_sr_regions_t *reg) { if ( reg->iseq<0 ) return -1; reg->start = reg->end = -1; reg->nals = 0; // using in-memory regions if ( reg->regs ) { while ( reg->iseq < reg->nseqs ) { reg->regs[reg->iseq].creg++; if ( reg->regs[reg->iseq].creg < reg->regs[reg->iseq].nregs ) break; reg->iseq++; } if ( reg->iseq >= reg->nseqs ) { reg->iseq = -1; return -1; } // no more regions left region1_t *creg = ®->regs[reg->iseq].regs[reg->regs[reg->iseq].creg]; reg->start = creg->start; reg->end = creg->end; return 0; } // reading from tabix char *chr, *chr_end; int ichr = 0, ifrom = 1, ito = 2, is_bed = 0, from, to; if ( reg->tbx ) { ichr = reg->tbx->conf.sc-1; ifrom = reg->tbx->conf.bc-1; ito = reg->tbx->conf.ec-1; if ( ito<0 ) ito = ifrom; is_bed = reg->tbx->conf.preset==TBX_UCSC ? 1 : 0; } int ret = 0; while ( !ret ) { if ( reg->itr ) { // tabix index present, reading a chromosome block ret = tbx_itr_next(reg->file, reg->tbx, reg->itr, ®->line); if ( ret<0 ) { reg->iseq = -1; return -1; } } else { if ( reg->is_bin ) { // Waited for seek which never came. Reopen in text mode and stream // through the regions, otherwise hts_getline would fail hts_close(reg->file); reg->file = hts_open(reg->fname, "r"); if ( !reg->file ) { fprintf(stderr,"[%s:%d %s] Could not open file: %s\n", __FILE__,__LINE__,__FUNCTION__,reg->fname); reg->file = NULL; bcf_sr_regions_destroy(reg); return -1; } reg->is_bin = 0; } // tabix index absent, reading the whole file ret = hts_getline(reg->file, KS_SEP_LINE, ®->line); if ( ret<0 ) { reg->iseq = -1; return -1; } } ret = _regions_parse_line(reg->line.s, ichr,ifrom,ito, &chr,&chr_end,&from,&to); if ( ret<0 ) { fprintf(stderr,"[%s:%d] Could not parse the file %s, using the columns %d,%d,%d\n", __FILE__,__LINE__,reg->fname,ichr+1,ifrom+1,ito+1); return -1; } } if ( is_bed ) from++; *chr_end = 0; if ( khash_str2int_get(reg->seq_hash, chr, ®->iseq)<0 ) { fprintf(stderr,"Broken tabix index? The sequence \"%s\" not in dictionary [%s]\n", chr,reg->line.s); exit(1); } *chr_end = '\t'; reg->start = from - 1; reg->end = to - 1; return 0; } static int _regions_match_alleles(bcf_sr_regions_t *reg, int als_idx, bcf1_t *rec) { int i = 0, max_len = 0; if ( !reg->nals ) { char *ss = reg->line.s; while ( inals = 1; while ( *se && *se!='\t' ) { if ( *se==',' ) reg->nals++; se++; } ks_resize(®->als_str, se-ss+1+reg->nals); reg->als_str.l = 0; hts_expand(char*,reg->nals,reg->mals,reg->als); reg->nals = 0; se = ss; while ( *(++se) ) { if ( *se=='\t' ) break; if ( *se!=',' ) continue; reg->als[reg->nals] = ®->als_str.s[reg->als_str.l]; kputsn(ss,se-ss,®->als_str); if ( ®->als_str.s[reg->als_str.l] - reg->als[reg->nals] > max_len ) max_len = ®->als_str.s[reg->als_str.l] - reg->als[reg->nals]; reg->als_str.l++; reg->nals++; ss = ++se; } reg->als[reg->nals] = ®->als_str.s[reg->als_str.l]; kputsn(ss,se-ss,®->als_str); if ( ®->als_str.s[reg->als_str.l] - reg->als[reg->nals] > max_len ) max_len = ®->als_str.s[reg->als_str.l] - reg->als[reg->nals]; reg->nals++; reg->als_type = max_len > 1 ? VCF_INDEL : VCF_SNP; // this is a simplified check, see vcf.c:bcf_set_variant_types } int type = bcf_get_variant_types(rec); if ( reg->als_type & VCF_INDEL ) return type & VCF_INDEL ? 1 : 0; return !(type & VCF_INDEL) ? 1 : 0; } int bcf_sr_regions_overlap(bcf_sr_regions_t *reg, const char *seq, int start, int end) { int iseq; if ( khash_str2int_get(reg->seq_hash, seq, &iseq)<0 ) return -1; // no such sequence if ( reg->prev_seq==-1 || iseq!=reg->prev_seq || reg->prev_start > start ) // new chromosome or after a seek { // flush regions left on previous chromosome if ( reg->missed_reg_handler && reg->prev_seq!=-1 && reg->iseq!=-1 ) bcf_sr_regions_flush(reg); bcf_sr_regions_seek(reg, seq); reg->start = reg->end = -1; } if ( reg->prev_seq==iseq && reg->iseq!=iseq ) return -2; // no more regions on this chromosome reg->prev_seq = reg->iseq; reg->prev_start = start; while ( iseq==reg->iseq && reg->end < start ) { if ( bcf_sr_regions_next(reg) < 0 ) return -2; // no more regions left if ( reg->iseq != iseq ) return -1; // does not overlap any regions if ( reg->missed_reg_handler && reg->end < start ) reg->missed_reg_handler(reg, reg->missed_reg_data); } if ( reg->start <= end ) return 0; // region overlap return -1; // no overlap } void bcf_sr_regions_flush(bcf_sr_regions_t *reg) { if ( !reg->missed_reg_handler || reg->prev_seq==-1 ) return; while ( !bcf_sr_regions_next(reg) ) reg->missed_reg_handler(reg, reg->missed_reg_data); return; } htslib-1.2.1/tabix.1000066400000000000000000000132021246417267700142070ustar00rootroot00000000000000.TH tabix 1 "3 February 2015" "htslib-1.2.1" "Bioinformatics tools" .SH NAME .PP bgzip \- Block compression/decompression utility .PP tabix \- Generic indexer for TAB-delimited genome position files .\" .\" Copyright (C) 2009-2011 Broad Institute. .\" .\" Author: Heng Li .\" .\" Permission is hereby granted, free of charge, to any person obtaining a .\" copy of this software and associated documentation files (the "Software"), .\" to deal in the Software without restriction, including without limitation .\" the rights to use, copy, modify, merge, publish, distribute, sublicense, .\" and/or sell copies of the Software, and to permit persons to whom the .\" Software is furnished to do so, subject to the following conditions: .\" .\" The above copyright notice and this permission notice shall be included in .\" all copies or substantial portions of the Software. .\" .\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR .\" IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, .\" FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL .\" THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER .\" LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING .\" FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER .\" DEALINGS IN THE SOFTWARE. .\" .SH SYNOPSIS .PP .B bgzip .RB [ -cdhB ] .RB [ -b .IR virtualOffset ] .RB [ -s .IR size ] .RI [ file ] .PP .B tabix .RB [ -0lf ] .RB [ -p gff|bed|sam|vcf] .RB [ -s .IR seqCol ] .RB [ -b .IR begCol ] .RB [ -e .IR endCol ] .RB [ -S .IR lineSkip ] .RB [ -c .IR metaChar ] .I in.tab.bgz .RI [ "region1 " [ "region2 " [ ... "]]]" .SH DESCRIPTION .PP Tabix indexes a TAB-delimited genome position file .I in.tab.bgz and creates an index file ( .I in.tab.bgz.tbi or .I in.tab.bgz.csi ) when .I region is absent from the command-line. The input data file must be position sorted and compressed by .B bgzip which has a .BR gzip (1) like interface. After indexing, tabix is able to quickly retrieve data lines overlapping .I regions specified in the format "chr:beginPos-endPos". Fast data retrieval also works over network if URI is given as a file name and in this case the index file will be downloaded if it is not present locally. .SH INDEXING OPTIONS .TP 10 .B -0, --zero-based Specify that the position in the data file is 0-based (e.g. UCSC files) rather than 1-based. .TP .BI "-b, --begin " INT Column of start chromosomal position. [4] .TP .BI "-c, --comment " CHAR Skip lines started with character CHAR. [#] .TP .BI "-C, --csi" Skip lines started with character CHAR. [#] .TP .BI "-e, --end " INT Column of end chromosomal position. The end column can be the same as the start column. [5] .TP .B "-f, --force " Force to overwrite the index file if it is present. .TP .BI "-m, --min-shift" INT set minimal interval size for CSI indices to 2^INT [14] .TP .BI "-p, --preset " STR Input format for indexing. Valid values are: gff, bed, sam, vcf. This option should not be applied together with any of .BR -s ", " -b ", " -e ", " -c " and " -0 ; it is not used for data retrieval because this setting is stored in the index file. [gff] .TP .BI "-s, --sequence " INT Column of sequence name. Option .BR -s ", " -b ", " -e ", " -S ", " -c " and " -0 are all stored in the index file and thus not used in data retrieval. [1] .TP .BI "-S, --skip-lines " INT Skip first INT lines in the data file. [0] .SH QUERYING AND OTHER OPTIONS .TP .B "-h, --print-header " Print also the header/meta lines. .TP .B "-H, --only-header " Print only the header/meta lines. .TP .B "-i, --file-info " Print file format info. .TP .B "-l, --list-chroms " List the sequence names stored in the index file. .TP .B "-r, --reheader " FILE Replace the header with the content of FILE .TP .B "-R, --regions " FILE Restrict to regions listed in the FILE. The FILE can be BED file (requires .bed, .bed.gz, .bed.bgz file name extension) or a TAB-delimited file with CHROM, POS, and, optionally, POS_TO columns, where positions are 1-based and inclusive. When this option is in use, the input file may not be sorted. regions. .TP .B "-T, --targets" FILE Similar to .B -R but the entire input will be read sequentially and regions not listed in FILE will be skipped. .PP .SH EXAMPLE (grep ^"#" in.gff; grep -v ^"#" in.gff | sort -k1,1 -k4,4n) | bgzip > sorted.gff.gz; tabix -p gff sorted.gff.gz; tabix sorted.gff.gz chr1:10,000,000-20,000,000; .SH NOTES It is straightforward to achieve overlap queries using the standard B-tree index (with or without binning) implemented in all SQL databases, or the R-tree index in PostgreSQL and Oracle. But there are still many reasons to use tabix. Firstly, tabix directly works with a lot of widely used TAB-delimited formats such as GFF/GTF and BED. We do not need to design database schema or specialized binary formats. Data do not need to be duplicated in different formats, either. Secondly, tabix works on compressed data files while most SQL databases do not. The GenCode annotation GTF can be compressed down to 4%. Thirdly, tabix is fast. The same indexing algorithm is known to work efficiently for an alignment with a few billion short reads. SQL databases probably cannot easily handle data at this scale. Last but not the least, tabix supports remote data retrieval. One can put the data file and the index at an FTP or HTTP server, and other users or even web services will be able to get a slice without downloading the entire file. .SH AUTHOR .PP Tabix was written by Heng Li. The BGZF library was originally implemented by Bob Handsaker and modified by Heng Li for remote file access and in-memory caching. .SH SEE ALSO .PP .BR samtools (1) htslib-1.2.1/tabix.c000066400000000000000000000444051246417267700143020ustar00rootroot00000000000000/* tabix.c -- Generic indexer for TAB-delimited genome position files. Copyright (C) 2009-2011 Broad Institute. Copyright (C) 2010-2012, 2014 Genome Research Ltd. Author: Heng Li Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ #include #include #include #include #include #include #include #include #include "htslib/tbx.h" #include "htslib/sam.h" #include "htslib/vcf.h" #include "htslib/kseq.h" #include "htslib/bgzf.h" #include "htslib/hts.h" #include "htslib/regidx.h" typedef struct { char *regions_fname, *targets_fname; int print_header, header_only; } args_t; static void error(const char *format, ...) { va_list ap; va_start(ap, format); vfprintf(stderr, format, ap); va_end(ap); exit(EXIT_FAILURE); } #define IS_GFF (1<<0) #define IS_BED (1<<1) #define IS_SAM (1<<2) #define IS_VCF (1<<3) #define IS_BCF (1<<4) #define IS_BAM (1<<5) #define IS_CRAM (1<<6) #define IS_TXT (IS_GFF|IS_BED|IS_SAM|IS_VCF) int file_type(const char *fname) { int l = strlen(fname); int strcasecmp(const char *s1, const char *s2); if (l>=7 && strcasecmp(fname+l-7, ".gff.gz") == 0) return IS_GFF; else if (l>=7 && strcasecmp(fname+l-7, ".bed.gz") == 0) return IS_BED; else if (l>=7 && strcasecmp(fname+l-7, ".sam.gz") == 0) return IS_SAM; else if (l>=7 && strcasecmp(fname+l-7, ".vcf.gz") == 0) return IS_VCF; else if (l>=4 && strcasecmp(fname+l-4, ".bcf") == 0) return IS_BCF; else if (l>=4 && strcasecmp(fname+l-4, ".bam") == 0) return IS_BAM; else if (l>=4 && strcasecmp(fname+l-5, ".cram") == 0) return IS_CRAM; htsFile *fp = hts_open(fname,"r"); enum htsExactFormat format = fp->format.format; hts_close(fp); if ( format == bcf ) return IS_BCF; if ( format == bam ) return IS_BAM; if ( format == cram ) return IS_CRAM; if ( format == vcf ) return IS_VCF; return 0; } static char **parse_regions(char *regions_fname, char **argv, int argc, int *nregs) { kstring_t str = {0,0,0}; int iseq = 0, ireg = 0; char **regs = NULL; *nregs = argc; if ( regions_fname ) { // improve me: this is a too heavy machinery for parsing regions... regidx_t *idx = regidx_init(regions_fname, NULL, NULL, 0, NULL); if ( !idx ) error("Could not read %s\n", regions_fname); (*nregs) += regidx_nregs(idx); regs = (char**) malloc(sizeof(char*)*(*nregs)); int nseq; char **seqs = regidx_seq_names(idx, &nseq); for (iseq=0; iseqformat; regidx_t *reg_idx = NULL; if ( args->targets_fname ) { reg_idx = regidx_init(args->targets_fname, NULL, NULL, 0, NULL); if ( !reg_idx ) error("Could not read %s\n", args->targets_fname); } if ( format == bcf ) { htsFile *out = hts_open("-","w"); if ( !out ) error("Could not open stdout\n", fname); hts_idx_t *idx = bcf_index_load(fname); if ( !idx ) error("Could not load .csi index of %s\n", fname); bcf_hdr_t *hdr = bcf_hdr_read(fp); if ( !hdr ) error("Could not read the header: %s\n", fname); if ( args->print_header ) bcf_hdr_write(out,hdr); if ( !args->header_only ) { bcf1_t *rec = bcf_init(); for (i=0; i=0 ) { if ( reg_idx && !regidx_overlap(reg_idx, bcf_seqname(hdr,rec),rec->pos,rec->pos+rec->rlen-1, NULL) ) continue; bcf_write(out,hdr,rec); } tbx_itr_destroy(itr); } bcf_destroy(rec); } if ( hts_close(out) ) error("hts_close returned non-zero status for stdout\n"); bcf_hdr_destroy(hdr); hts_idx_destroy(idx); } else if ( format==vcf || format==sam || format==unknown_format ) { tbx_t *tbx = tbx_index_load(fname); if ( !tbx ) error("Could not load .tbi/.csi index of %s\n", fname); kstring_t str = {0,0,0}; if ( args->print_header ) { while ( hts_getline(fp, KS_SEP_LINE, &str) >= 0 ) { if ( !str.l || str.s[0]!=tbx->conf.meta_char ) break; puts(str.s); } } if ( !args->header_only ) { int nseq; const char **seq = NULL; if ( reg_idx ) seq = tbx_seqnames(tbx, &nseq); for (i=0; i= 0) { if ( reg_idx && !regidx_overlap(reg_idx,seq[itr->curr_tid],itr->curr_beg,itr->curr_end, NULL) ) continue; puts(str.s); } tbx_itr_destroy(itr); } free(seq); } free(str.s); tbx_destroy(tbx); } else if ( format==bam ) error("Please use \"samtools view\" for querying BAM files.\n"); if ( reg_idx ) regidx_destroy(reg_idx); if ( hts_close(fp) ) error("hts_close returned non-zero status: %s\n", fname); for (i=0; iblock_length ) return -1; char *buffer = fp->uncompressed_block; int skip_until = 0; // Skip the header: find out the position of the data block if ( buffer[0]==conf->meta_char ) { skip_until = 1; while (1) { if ( buffer[skip_until]=='\n' ) { skip_until++; if ( skip_until>=fp->block_length ) { if ( bgzf_read_block(fp) != 0 || !fp->block_length ) error("FIXME: No body in the file: %s\n", fname); skip_until = 0; } // The header has finished if ( buffer[skip_until]!=conf->meta_char ) break; } skip_until++; if ( skip_until>=fp->block_length ) { if (bgzf_read_block(fp) != 0 || !fp->block_length) error("FIXME: No body in the file: %s\n", fname); skip_until = 0; } } } // Output the new header FILE *hdr = fopen(header,"r"); if ( !hdr ) error("%s: %s", header,strerror(errno)); int page_size = getpagesize(); char *buf = valloc(page_size); BGZF *bgzf_out = bgzf_dopen(fileno(stdout), "w"); ssize_t nread; while ( (nread=fread(buf,1,page_size-1,hdr))>0 ) { if ( nreaderrcode); } if ( fclose(hdr) ) error("close failed: %s\n", header); // Output all remainig data read with the header block if ( fp->block_length - skip_until > 0 ) { if (bgzf_write(bgzf_out, buffer+skip_until, fp->block_length-skip_until) < 0) error("Error: %d\n",fp->errcode); } if (bgzf_flush(bgzf_out) < 0) error("Error: %d\n",bgzf_out->errcode); while (1) { nread = bgzf_raw_read(fp, buf, page_size); if ( nread<=0 ) break; int count = bgzf_raw_write(bgzf_out, buf, nread); if (count != nread) error("Write failed, wrote %d instead of %d bytes.\n", count,(int)nread); } if (bgzf_close(bgzf_out) < 0) error("Error: %d\n",bgzf_out->errcode); if (bgzf_close(fp) < 0) error("Error: %d\n",fp->errcode); } else error("todo: reheader BCF, BAM\n"); // BCF is difficult, records contain pointers to the header. return 0; } static int usage(void) { fprintf(stderr, "\n"); fprintf(stderr, "Version: %s\n", hts_version()); fprintf(stderr, "Usage: tabix [OPTIONS] [FILE] [REGION [...]]\n"); fprintf(stderr, "\n"); fprintf(stderr, "Indexing Options:\n"); fprintf(stderr, " -0, --zero-based coordinates are zero-based\n"); fprintf(stderr, " -b, --begin INT column number for region start [4]\n"); fprintf(stderr, " -c, --comment CHAR skip comment lines starting with CHAR [null]\n"); fprintf(stderr, " -C, --csi generate CSI index for VCF (default is TBI)\n"); fprintf(stderr, " -e, --end INT column number for region end (if no end, set INT to -b) [5]\n"); fprintf(stderr, " -f, --force overwrite existing index without asking\n"); fprintf(stderr, " -m, --min-shift INT set minimal interval size for CSI indices to 2^INT [14]\n"); fprintf(stderr, " -p, --preset STR gff, bed, sam, vcf\n"); fprintf(stderr, " -s, --sequence INT column number for sequence names (suppressed by -p) [1]\n"); fprintf(stderr, " -S, --skip-lines INT skip first INT lines [0]\n"); fprintf(stderr, "\n"); fprintf(stderr, "Querying and other options:\n"); fprintf(stderr, " -h, --print-header print also the header lines\n"); fprintf(stderr, " -H, --only-header print only the header lines\n"); fprintf(stderr, " -l, --list-chroms list chromosome names\n"); fprintf(stderr, " -r, --reheader FILE replace the header with the content of FILE\n"); fprintf(stderr, " -R, --regions FILE restrict to regions listed in the file\n"); fprintf(stderr, " -T, --targets FILE similar to -R but streams rather than index-jumps\n"); fprintf(stderr, "\n"); return 1; } int main(int argc, char *argv[]) { int c, min_shift = 0, is_force = 0, list_chroms = 0, do_csi = 0; tbx_conf_t conf = tbx_conf_gff, *conf_ptr = NULL; char *reheader = NULL; args_t args; memset(&args,0,sizeof(args_t)); static struct option loptions[] = { {"help",0,0,'h'}, {"regions",1,0,'R'}, {"targets",1,0,'T'}, {"csi",0,0,'C'}, {"zero-based",0,0,'0'}, {"print-header",0,0,'h'}, {"only-header",0,0,'H'}, {"begin",1,0,'b'}, {"comment",1,0,'c'}, {"end",1,0,'e'}, {"force",0,0,'f'}, {"preset",1,0,'p'}, {"sequence",1,0,'s'}, {"skip-lines",1,0,'S'}, {"list-chroms",0,0,'l'}, {"reheader",1,0,'r'}, {0,0,0,0} }; while ((c = getopt_long(argc, argv, "hH?0b:c:e:fm:p:s:S:lr:CR:T:", loptions,NULL)) >= 0) { switch (c) { case 'R': args.regions_fname = optarg; break; case 'T': args.targets_fname = optarg; break; case 'C': do_csi = 1; break; case 'r': reheader = optarg; break; case 'h': args.print_header = 1; break; case 'H': args.header_only = 1; break; case 'l': list_chroms = 1; break; case '0': conf.preset |= TBX_UCSC; break; case 'b': conf.bc = atoi(optarg); break; case 'e': conf.ec = atoi(optarg); break; case 'c': conf.meta_char = *optarg; break; case 'f': is_force = 1; break; case 'm': min_shift = atoi(optarg); break; case 'p': if (strcmp(optarg, "gff") == 0) conf_ptr = &tbx_conf_gff; else if (strcmp(optarg, "bed") == 0) conf_ptr = &tbx_conf_bed; else if (strcmp(optarg, "sam") == 0) conf_ptr = &tbx_conf_sam; else if (strcmp(optarg, "vcf") == 0) conf_ptr = &tbx_conf_vcf; else if (strcmp(optarg, "bcf") == 0) ; // bcf is autodetected, preset is not needed else if (strcmp(optarg, "bam") == 0) ; // same as bcf else error("The preset string not recognised: '%s'\n", optarg); break; case 's': conf.sc = atoi(optarg); break; case 'S': conf.line_skip = atoi(optarg); break; default: return usage(); } } if ( optind==argc ) return usage(); if ( list_chroms ) return query_chroms(argv[optind]); if ( argc > optind+1 || args.header_only || args.regions_fname || args.targets_fname ) { int nregs = 0; char **regs = NULL; if ( !args.header_only ) regs = parse_regions(args.regions_fname, argv+optind+1, argc-optind-1, &nregs); return query_regions(&args, argv[optind], regs, nregs); } char *fname = argv[optind]; int ftype = file_type(fname); if ( !conf_ptr ) // no preset given { if ( ftype==IS_GFF ) conf_ptr = &tbx_conf_gff; else if ( ftype==IS_BED ) conf_ptr = &tbx_conf_bed; else if ( ftype==IS_SAM ) conf_ptr = &tbx_conf_sam; else if ( ftype==IS_VCF ) { conf_ptr = &tbx_conf_vcf; if ( !min_shift && do_csi ) min_shift = 14; } else if ( ftype==IS_BCF ) { if ( !min_shift ) min_shift = 14; } else if ( ftype==IS_BAM ) { if ( !min_shift ) min_shift = 14; } } if ( do_csi ) { if ( !min_shift ) min_shift = 14; min_shift *= do_csi; // positive for CSIv2, negative for CSIv1 } if ( min_shift!=0 && !do_csi ) do_csi = 1; if ( reheader ) return reheader_file(fname, reheader, ftype, conf_ptr); if ( conf_ptr ) conf = *conf_ptr; char *suffix = ".tbi"; if ( do_csi ) suffix = ".csi"; else if ( ftype==IS_BAM ) suffix = ".bai"; else if ( ftype==IS_CRAM ) suffix = ".crai"; char *idx_fname = calloc(strlen(fname) + 5, 1); strcat(strcpy(idx_fname, fname), suffix); struct stat stat_tbi, stat_file; if ( !is_force && stat(idx_fname, &stat_tbi)==0 ) { // Before complaining about existing index, check if the VCF file isn't // newer. This is a common source of errors, people tend not to notice // that tabix failed stat(fname, &stat_file); if ( stat_file.st_mtime <= stat_tbi.st_mtime ) error("[tabix] the index file exists. Please use '-f' to overwrite.\n"); } free(idx_fname); if ( ftype==IS_CRAM ) { if ( bam_index_build(fname, min_shift)!=0 ) error("bam_index_build failed: %s\n", fname); return 0; } else if ( do_csi ) { if ( ftype==IS_BCF ) { if ( bcf_index_build(fname, min_shift)!=0 ) error("bcf_index_build failed: %s\n", fname); return 0; } if ( ftype==IS_BAM ) { if ( bam_index_build(fname, min_shift)!=0 ) error("bam_index_build failed: %s\n", fname); return 0; } if ( tbx_index_build(fname, min_shift, &conf)!=0 ) error("tbx_index_build failed: %s\n", fname); return 0; } else // TBI index { if ( tbx_index_build(fname, min_shift, &conf) ) error("tbx_index_build failed: %s\n", fname); return 0; } return 0; } htslib-1.2.1/tbx.c000066400000000000000000000240351246417267700137650ustar00rootroot00000000000000/* tbx.c -- tabix API functions. Copyright (C) 2009, 2010, 2012-2014 Genome Research Ltd. Copyright (C) 2010-2012 Broad Institute. Author: Heng Li Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ #include #include #include #include #include #include "htslib/tbx.h" #include "htslib/bgzf.h" #include "htslib/khash.h" KHASH_DECLARE(s2i, kh_cstr_t, int64_t) tbx_conf_t tbx_conf_gff = { 0, 1, 4, 5, '#', 0 }; tbx_conf_t tbx_conf_bed = { TBX_UCSC, 1, 2, 3, '#', 0 }; tbx_conf_t tbx_conf_psltbl = { TBX_UCSC, 15, 17, 18, '#', 0 }; tbx_conf_t tbx_conf_sam = { TBX_SAM, 3, 4, 0, '@', 0 }; tbx_conf_t tbx_conf_vcf = { TBX_VCF, 1, 2, 0, '#', 0 }; typedef struct { int64_t beg, end; char *ss, *se; int tid; } tbx_intv_t; static inline int get_tid(tbx_t *tbx, const char *ss, int is_add) { khint_t k; khash_t(s2i) *d; if (tbx->dict == 0) tbx->dict = kh_init(s2i); d = (khash_t(s2i)*)tbx->dict; if (is_add) { int absent; k = kh_put(s2i, d, ss, &absent); if (absent) { kh_key(d, k) = strdup(ss); kh_val(d, k) = kh_size(d) - 1; } } else k = kh_get(s2i, d, ss); return k == kh_end(d)? -1 : kh_val(d, k); } int tbx_name2id(tbx_t *tbx, const char *ss) { return get_tid(tbx, ss, 0); } int tbx_parse1(const tbx_conf_t *conf, int len, char *line, tbx_intv_t *intv) { int i, b = 0, id = 1, ncols = 0; char *s; intv->ss = intv->se = 0; intv->beg = intv->end = -1; for (i = 0; i <= len; ++i) { if (line[i] == '\t' || line[i] == 0) { ++ncols; if (id == conf->sc) { intv->ss = line + b; intv->se = line + i; } else if (id == conf->bc) { // here ->beg is 0-based. intv->beg = intv->end = strtol(line + b, &s, 0); if ( s==line+b ) return -1; // expected int if (!(conf->preset&TBX_UCSC)) --intv->beg; else ++intv->end; if (intv->beg < 0) intv->beg = 0; if (intv->end < 1) intv->end = 1; } else { if ((conf->preset&0xffff) == TBX_GENERIC) { if (id == conf->ec) { intv->end = strtol(line + b, &s, 0); if ( s==line+b ) return -1; // expected int } } else if ((conf->preset&0xffff) == TBX_SAM) { if (id == 6) { // CIGAR int l = 0, op; char *t; for (s = line + b; s < line + i;) { long x = strtol(s, &t, 10); op = toupper(*t); if (op == 'M' || op == 'D' || op == 'N') l += x; s = t + 1; } if (l == 0) l = 1; intv->end = intv->beg + l; } } else if ((conf->preset&0xffff) == TBX_VCF) { if (id == 4) { if (b < i) intv->end = intv->beg + (i - b); } else if (id == 8) { // look for "END=" int c = line[i]; line[i] = 0; s = strstr(line + b, "END="); if (s == line + b) s += 4; else if (s) { s = strstr(line + b, ";END="); if (s) s += 5; } if (s) intv->end = strtol(s, &s, 0); line[i] = c; } } } b = i + 1; ++id; } } if (intv->ss == 0 || intv->se == 0 || intv->beg < 0 || intv->end < 0) return -1; return 0; } static inline int get_intv(tbx_t *tbx, kstring_t *str, tbx_intv_t *intv, int is_add) { if (tbx_parse1(&tbx->conf, str->l, str->s, intv) == 0) { int c = *intv->se; *intv->se = '\0'; intv->tid = get_tid(tbx, intv->ss, is_add); *intv->se = c; return (intv->tid >= 0 && intv->beg >= 0 && intv->end >= 0)? 0 : -1; } else { char *type = NULL; switch (tbx->conf.preset&0xffff) { case TBX_SAM: type = "TBX_SAM"; break; case TBX_VCF: type = "TBX_VCF"; break; case TBX_UCSC: type = "TBX_UCSC"; break; default: type = "TBX_GENERIC"; break; } fprintf(stderr, "[E::%s] failed to parse %s, was wrong -p [type] used?\nThe offending line was: \"%s\"\n", __func__, type, str->s); return -1; } } int tbx_readrec(BGZF *fp, void *tbxv, void *sv, int *tid, int *beg, int *end) { tbx_t *tbx = (tbx_t *) tbxv; kstring_t *s = (kstring_t *) sv; int ret; if ((ret = bgzf_getline(fp, '\n', s)) >= 0) { tbx_intv_t intv; get_intv(tbx, s, &intv, 0); *tid = intv.tid; *beg = intv.beg; *end = intv.end; } return ret; } void tbx_set_meta(tbx_t *tbx) { int i, l = 0, l_nm; uint32_t x[7]; char **name; uint8_t *meta; khint_t k; khash_t(s2i) *d = (khash_t(s2i)*)tbx->dict; memcpy(x, &tbx->conf, 24); name = (char**)malloc(sizeof(char*) * kh_size(d)); for (k = kh_begin(d), l = 0; k != kh_end(d); ++k) { if (!kh_exist(d, k)) continue; name[kh_val(d, k)] = (char*)kh_key(d, k); l += strlen(kh_key(d, k)) + 1; // +1 to include '\0' } l_nm = x[6] = l; meta = (uint8_t*)malloc(l_nm + 28); if (ed_is_big()) for (i = 0; i < 7; ++i) x[i] = ed_swap_4(x[i]); memcpy(meta, x, 28); for (l = 28, i = 0; i < (int)kh_size(d); ++i) { int x = strlen(name[i]) + 1; memcpy(meta + l, name[i], x); l += x; } free(name); hts_idx_set_meta(tbx->idx, l, meta, 0); } tbx_t *tbx_index(BGZF *fp, int min_shift, const tbx_conf_t *conf) { tbx_t *tbx; kstring_t str; int ret, first = 0, n_lvls, fmt; int64_t lineno = 0; uint64_t last_off = 0; tbx_intv_t intv; str.s = 0; str.l = str.m = 0; tbx = (tbx_t*)calloc(1, sizeof(tbx_t)); tbx->conf = *conf; if (min_shift > 0) n_lvls = (TBX_MAX_SHIFT - min_shift + 2) / 3, fmt = HTS_FMT_CSI; else min_shift = 14, n_lvls = 5, fmt = HTS_FMT_TBI; while ((ret = bgzf_getline(fp, '\n', &str)) >= 0) { ++lineno; if (lineno <= tbx->conf.line_skip || str.s[0] == tbx->conf.meta_char) { last_off = bgzf_tell(fp); continue; } if (first == 0) { tbx->idx = hts_idx_init(0, fmt, last_off, min_shift, n_lvls); first = 1; } get_intv(tbx, &str, &intv, 1); ret = hts_idx_push(tbx->idx, intv.tid, intv.beg, intv.end, bgzf_tell(fp), 1); if (ret < 0) { free(str.s); tbx_destroy(tbx); return NULL; } } if ( !tbx->idx ) tbx->idx = hts_idx_init(0, fmt, last_off, min_shift, n_lvls); // empty file if ( !tbx->dict ) tbx->dict = kh_init(s2i); hts_idx_finish(tbx->idx, bgzf_tell(fp)); tbx_set_meta(tbx); free(str.s); return tbx; } void tbx_destroy(tbx_t *tbx) { khash_t(s2i) *d = (khash_t(s2i)*)tbx->dict; if (d != NULL) { khint_t k; for (k = kh_begin(d); k != kh_end(d); ++k) if (kh_exist(d, k)) free((char*)kh_key(d, k)); } hts_idx_destroy(tbx->idx); kh_destroy(s2i, d); free(tbx); } int tbx_index_build(const char *fn, int min_shift, const tbx_conf_t *conf) { tbx_t *tbx; BGZF *fp; if ( bgzf_is_bgzf(fn)!=1 ) { fprintf(stderr,"Not a BGZF file: %s\n", fn); return -1; } if ((fp = bgzf_open(fn, "r")) == 0) return -1; if ( !fp->is_compressed ) { bgzf_close(fp); return -1; } tbx = tbx_index(fp, min_shift, conf); bgzf_close(fp); if ( !tbx ) return -1; hts_idx_save(tbx->idx, fn, min_shift > 0? HTS_FMT_CSI : HTS_FMT_TBI); tbx_destroy(tbx); return 0; } tbx_t *tbx_index_load(const char *fn) { tbx_t *tbx; uint8_t *meta; char *nm, *p; uint32_t x[7]; int l_meta, l_nm; tbx = (tbx_t*)calloc(1, sizeof(tbx_t)); tbx->idx = hts_idx_load(fn, HTS_FMT_TBI); if ( !tbx->idx ) { free(tbx); return NULL; } meta = hts_idx_get_meta(tbx->idx, &l_meta); if ( !meta ) { free(tbx); return NULL; } memcpy(x, meta, 28); memcpy(&tbx->conf, x, 24); p = nm = (char*)meta + 28; l_nm = x[6]; for (; p - nm < l_nm; p += strlen(p) + 1) get_tid(tbx, p, 1); return tbx; } const char **tbx_seqnames(tbx_t *tbx, int *n) { khash_t(s2i) *d = (khash_t(s2i)*)tbx->dict; if (d == NULL) { *n = 0; return NULL; } int tid, m = kh_size(d); const char **names = (const char**) calloc(m,sizeof(const char*)); khint_t k; for (k=kh_begin(d); kSheila GCTAGCTCAGAAAAAAAAAA htslib-1.2.1/test/auxf.fa.fai000066400000000000000000000000221246417267700160020ustar00rootroot00000000000000Sheila 20 8 20 21 htslib-1.2.1/test/c1#bounds.sam000066400000000000000000000002241246417267700162600ustar00rootroot00000000000000@SQ SN:c1 LN:10 s0 0 c1 1 0 10M * 0 0 AACCGCGGTT ********** s1 0 c1 2 0 10M * 0 0 ACCGCGGTTC ********** s2 0 c1 3 0 10M * 0 0 CCGCGGTTCG ********** htslib-1.2.1/test/c1#clip.sam000066400000000000000000000005211246417267700157150ustar00rootroot00000000000000@SQ SN:c1 LN:10 s0a 0 c1 1 0 10M * 0 0 AACCGCGGTT ********** s0A 0 c1 1 0 3M4N3M * 0 0 AACGTT ****** s0b 0 c1 2 0 1S8M1S * 0 0 AACCGCGGTT ********** s0B 0 c1 2 0 1H8M1H * 0 0 ACCGCGGT ******** s0c 0 c1 3 0 2S6M2S * 0 0 AACCGCGGTT ********** s0c 0 c1 3 0 2S3M2I3M2S * 0 0 AACCGNNCGGTT ************ s0C 0 c1 3 0 2H6M2H * 0 0 CCGCGG ****** htslib-1.2.1/test/c1#pad1.sam000066400000000000000000000006041246417267700156150ustar00rootroot00000000000000@SQ SN:c1 LN:10 s0a 0 c1 1 0 10M * 0 0 AACCGCGGTT * s0b 0 c1 1 0 10M * 0 0 AACCGCGGTT * s0c 0 c1 1 0 10M * 0 0 AACCGCGGTT * s1 0 c1 1 0 5M6I5M * 0 0 AACCGGTTAACCGGTT * s2 0 c1 1 0 5M1P4I1P5M * 0 0 AACCGTTAACGGTT * s3 0 c1 1 0 5M3I3P5M * 0 0 AACCGGTTCGGTT * s4 0 c1 1 0 5M3P3I5M * 0 0 AACCGAACCGGTT * s5 0 c1 1 0 4M1D2P2I2P1D4M * 0 0 AACCTAGGTT * s6 0 c1 1 0 2M3D6I3D2M * 0 0 AAGTTAACTT * htslib-1.2.1/test/c1#pad2.sam000066400000000000000000000010171246417267700156150ustar00rootroot00000000000000@SQ SN:c1 LN:50 s0a 0 c1 1 0 10M * 0 0 AACCGCGGTT * s0b 0 c1 1 0 10M * 0 0 AACCGCGGTT * s0c 0 c1 1 0 10M * 0 0 AACCGCGGTT * s0d 0 c1 1 0 10M * 0 0 AACCGCGGTT * s1 0 c1 1 0 5M6I5M * 0 0 AACCGGTTAACCGGTT * s2 0 c1 1 0 5M1P4I1P5M * 0 0 AACCGTTAACGGTT * s3 0 c1 1 0 5M3I3P5M * 0 0 AACCGGTTCGGTT * s4 0 c1 1 0 5M3P3I5M * 0 0 AACCGAACCGGTT * s5 0 c1 1 0 4M1D2P2I2P1D4M * 0 0 AACCTAGGTT * s6 0 c1 1 0 2M3D6I3D2M * 0 0 AAGTTAACTT * s7 0 c1 1 0 4M2D4M * 0 0 AACCGGTT * s8 0 c1 1 0 5D2P2I2P5D * 0 0 TA * s9 0 c1 5 0 1M2P2I2P * 0 0 GTA * htslib-1.2.1/test/c1#pad3.sam000066400000000000000000000012311246417267700156140ustar00rootroot00000000000000@SQ SN:c1 LN:16 @RG ID:p.sam SM:unknown LB:p.sam s0a 0 c1 6 0 5I6P5M * 0 0 AACCGCGGTT * RG:Z:p.sam s0b 0 c1 6 0 5I6P5M * 0 0 AACCGCGGTT * RG:Z:p.sam s0c 0 c1 6 0 5I6P5M * 0 0 AACCGCGGTT * RG:Z:p.sam s0d 0 c1 6 0 5I6P5M * 0 0 AACCGCGGTT * RG:Z:p.sam s1 0 c1 6 0 11I5M * 0 0 AACCGGTTAACCGGTT * RG:Z:p.sam s2 0 c1 6 0 5I1P4I1P5M * 0 0 AACCGTTAACGGTT * RG:Z:p.sam s3 0 c1 6 0 8I3P5M * 0 0 AACCGGTTCGGTT * RG:Z:p.sam s4 0 c1 6 0 5I3P3I5M * 0 0 AACCGAACCGGTT * RG:Z:p.sam s5 0 c1 6 0 4I3P2I2P1D4M * 0 0 AACCTAGGTT * RG:Z:p.sam s6 0 c1 6 0 2I3P6I3D2M * 0 0 AAGTTAACTT * RG:Z:p.sam s7 0 c1 6 0 4I7P1D4M * 0 0 AACCGGTT * RG:Z:p.sam s8 0 c1 6 0 7P2I2P * 0 0 TA !! RG:Z:p.sam htslib-1.2.1/test/c1.fa000066400000000000000000000000171246417267700146100ustar00rootroot00000000000000>c1 AACCGCGGTT htslib-1.2.1/test/c1.fa.fai000066400000000000000000000000161246417267700153450ustar00rootroot00000000000000c1 10 4 10 11 htslib-1.2.1/test/ce#1.sam000066400000000000000000000005261246417267700152170ustar00rootroot00000000000000@SQ SN:CHROMOSOME_I LN:15072423 SRR065390.14978392 16 CHROMOSOME_I 2 1 27M1D73M * 0 0 CCTAGCCCTAACCCTAACCCTAACCCTAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAA #############################@B?8B?BA@@DDBCDDCBC@CDCDCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC XG:i:1 XM:i:5 XN:i:0 XO:i:1 AS:i:-18 XS:i:-18 YT:Z:UU htslib-1.2.1/test/ce#2.sam000066400000000000000000000012061246417267700152140ustar00rootroot00000000000000@SQ SN:CHROMOSOME_I LN:15072423 SRR065390.14978392 16 CHROMOSOME_I 2 1 27M1D73M * 0 0 CCTAGCCCTAACCCTAACCCTAACCCTAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAA #############################@B?8B?BA@@DDBCDDCBC@CDCDCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC XG:i:1 XM:i:5 XN:i:0 XO:i:1 XS:i:-18 AS:i:-18 YT:Z:UU SRR065390.921023 16 CHROMOSOME_I 3 12 100M * 0 0 CTAAGCCTAAATCTAAGCCTAACCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAA ###############################################???88:;98768700000<>:BBA?BBAB?BBBBBBBB>B>BB::;?:00000 XG:i:0 XM:i:3 XN:i:0 XO:i:0 AS:i:-6 XS:i:-13 YT:Z:UU htslib-1.2.1/test/ce#5.sam000066400000000000000000000035411246417267700152230ustar00rootroot00000000000000@SQ SN:CHROMOSOME_I LN:15072423 @SQ SN:CHROMOSOME_II LN:15279345 @SQ SN:CHROMOSOME_III LN:13783700 @SQ SN:CHROMOSOME_IV LN:17493793 @SQ SN:CHROMOSOME_V LN:20924149 I 16 CHROMOSOME_I 2 1 27M1D73M * 0 0 CCTAGCCCTAACCCTAACCCTAACCCTAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAA #############################@B?8B?BA@@DDBCDDCBC@CDCDCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC XG:i:1 XM:i:5 XN:i:0 XO:i:1 XS:i:-18 AS:i:-18 YT:Z:UU II.14978392 16 CHROMOSOME_I 2 1 27M1D73M * 0 0 CCTAGCCCTAACCCTAACCCTAACCCTAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAA #############################@B?8B?BA@@DDBCDDCBC@CDCDCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC XG:i:1 XM:i:5 XN:i:0 XO:i:1 XS:i:-18 AS:i:-18 YT:Z:UU III 16 CHROMOSOME_I 2 1 27M1D73M * 0 0 CCTAGCCCTAACCCTAACCCTAACCCTAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAA #############################@B?8B?BA@@DDBCDDCBC@CDCDCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC XG:i:1 XM:i:5 XN:i:0 XO:i:1 XS:i:-18 AS:i:-18 YT:Z:UU IV 16 CHROMOSOME_I 2 1 27M1D73M * 0 0 CCTAGCCCTAACCCTAACCCTAACCCTAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAA #############################@B?8B?BA@@DDBCDDCBC@CDCDCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC XG:i:1 XM:i:5 XN:i:0 XO:i:1 XS:i:-18 AS:i:-18 YT:Z:UU V 16 CHROMOSOME_I 2 1 27M1D73M * 0 0 CCTAGCCCTAACCCTAACCCTAACCCTAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAA #############################@B?8B?BA@@DDBCDDCBC@CDCDCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC XG:i:1 XM:i:5 XN:i:0 XO:i:1 XS:i:-18 AS:i:-18 YT:Z:UU VI 2048 CHROMOSOME_I 2 1 27M100000D73M * 0 0 ACTAAGCCTAAGCCTAAGCCTAAGCCAATTATCGATTTCTGAAAAAATTATCGAATTTTCTAGAAATTTTGCAAATTTTTTCATAAAATTATCGATTTTA #############################@B?8B?BA@@DDBCDDCBC@CDCDCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC htslib-1.2.1/test/ce#5b.sam000066400000000000000000000034751246417267700153730ustar00rootroot00000000000000@SQ SN:CHROMOSOME_I LN:15072423 @SQ SN:CHROMOSOME_II LN:15279345 @SQ SN:CHROMOSOME_III LN:13783700 @SQ SN:CHROMOSOME_IV LN:17493793 @SQ SN:CHROMOSOME_V LN:20924149 I 16 CHROMOSOME_I 2 1 27M1D73M * 0 0 CCTAGCCCTAACCCTAACCCTAACCCTAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAA #############################@B?8B?BA@@DDBCDDCBC@CDCDCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC XG:i:1 XM:i:5 XN:i:0 XO:i:1 XS:i:-18 AS:i:-18 YT:Z:UU II.14978392 16 CHROMOSOME_II 2 1 27M1D73M * 0 0 CCTAGCCCTAACCCTAACCCTAACCCTAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAA #############################@B?8B?BA@@DDBCDDCBC@CDCDCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC XG:i:1 XM:i:5 XN:i:0 XO:i:1 XS:i:-18 AS:i:-18 YT:Z:UU III 16 CHROMOSOME_III 2 1 27M1D73M * 0 0 CCTAGCCCTAACCCTAACCCTAACCCTAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAA #############################@B?8B?BA@@DDBCDDCBC@CDCDCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC XG:i:1 XM:i:5 XN:i:0 XO:i:1 XS:i:-18 AS:i:-18 YT:Z:UU IV 16 CHROMOSOME_IV 2 1 27M1D73M * 0 0 CCTAGCCCTAACCCTAACCCTAACCCTAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAA #############################@B?8B?BA@@DDBCDDCBC@CDCDCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC XG:i:1 XM:i:5 XN:i:0 XO:i:1 XS:i:-18 AS:i:-18 YT:Z:UU V 16 CHROMOSOME_V 2 1 27M1D73M * 0 0 CCTAGCCCTAACCCTAACCCTAACCCTAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAA #############################@B?8B?BA@@DDBCDDCBC@CDCDCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC XG:i:1 XM:i:5 XN:i:0 XO:i:1 XS:i:-18 AS:i:-18 YT:Z:UU VI 0 CHROMOSOME_V 10 1 7S20M1D23M10I30M10S * 0 0 AGCCTAAGCCTAAGCCTAAGCCTAAGCTAAGCCTAAGCCTAAGCCTAAGCTTTTTTTTTTCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAA * VI 256 CHROMOSOME_V 10 1 7S20M1D23M10I30M10S * 0 0 * * htslib-1.2.1/test/ce#large_seq.sam000066400000000000000000101416551246417267700170330ustar00rootroot00000000000000@SQ SN:CHROMOSOME_I LN:15072423 S1 0 CHROMOSOME_I 1 255 36M4I33M2D18M4I13M3I5M2I7M1I8M4I30M1D20M5D25M4D63M1D31M2I13M4I83M3I36M4D77M2D8M2D5M2D14M2I5M4D1M1D27M5I3M4D47M2D5M4D7M1I70M3D42M4I59M5I2M2I13M4D3M5D6M4I5M4I58M1I10M3I57M1I15M5D57M4I10M1I19M4D9M3I27M4D11M3I9M4I21M4I62M4I51M1I8M3D23M1I5M4I24M2D1M5I4M4D14M3D63M5I1M2I20M4D10M5D7M2D22M4I22M2I9M3I46M5I1M4D12M5D8M3D17M5D149M1D20M1D61M1I14M2I38M4D9M4I62M1I8M1I55M3D62M4I8M4I50M5D19M3D11M2I53M4D7M2D32M2D57M3I48M2D11M4D15M1I23M2D16M5I7M1I3M1D27M5D4M1I18M1D79M5D1M5D8M5D20M1D22M5D24M2D30M5D43M1I17M1I22M2D18M3D1M4I15M1I4M3D1M3I22M5D62M4D19M3I3M5I7M2I110M5D7M2I9M4I28M2D3M4I17M1D1M5D103M5D45M3I32M3I37M1D20M1D22M5I6M3D101M1D20M3D6M1D15M5I14M5D118M1I3M1D3M5I37M4D10M4D10M1D10M2I48M1D2M3D7M4I60M1I38M4I16M3I20M4I30M2D3M2D15M3D35M1D7M1D1M1I44M4D6M5I1M2D2M3I83M3I3M1D18M2I1M5D65M2I13M3I25M1I10M2I23M2D12M1D10M1I1M4D8M3D27M5I9M1D11M3I69M4D115M1D28M5D38M4I5M5D21M4I11M5D43M4I70M5I38M1I27M2D8M3I2M2I10M1D94M5D17M2D9M4I21M1D2M5I8M2D32M4D52M1I37M3D7M5I64M1I31M2I21M2I11M4I46M4I5M5D22M1D55M4I18M3D102M5I72M4I4M1I7M5D19M1D40M2D101M3I2M1I36M2I26M4D5M2I29M5I13M5I20M3I9M2I8M2I143M1I10M4D25M5I41M1I9M5D12M2I8M4I11M2D66M3I1M5D77M5D4M2I49M4I15M3D11M4D17M5I143M2I29M4I4M3I4M3I19M3I44M5D108M3D12M2D19M1I13M3I18M5I2M1I16M1D4M3I318M4I39M4I21M1I24M3D32M2D70M5D11M5D34M4D46M4D3M3D32M3D54M2I8M1D65M5I53M5I27M3D6M1I34M5I34M5I37M4D1M5D10M5I68M1I8M4I6M1I14M5I6M5I26M3D50M2D2M5D22M4I34M1D24M1I28M4D67M2D43M4D17M4I57M3D35M5I66M1D45M2D27M3D28M3I32M4D24M1I16M2I3M3D6M4I33M4I12M2I19M2D5M1D119M3I64M5D29M3I87M2D4M4D42M4D3M4I76M2D19M2I51M2D18M1D2M4D21M4D11M1I6M4D135M1D10M1D120M1I102M4D37M5I8M2I51M4D50M2D14M2D32M5I2M5I36M4D59M3I87M1I21M2D14M1D27M5I3M5D4M4I90M1I37M5I19M3D12M1I21M5D51M4D3M4I8M4D28M4I76M2D5M3I13M4I214M4I18M1I22M2D12M2D123M5D9M1I9M2I17M1I7M5I70M2I34M1D13M5I2M2I69M4D129M5I64M2D15M2D9M1I56M5D73M1D45M5I55M3I26M2I24M4I31M2D29M5I2M2D80M3I28M1D19M4I1M5D4M3D118M3D36M2D32M3I1M2D35M2D27M1I32M2I7M3I51M1I51M3D21M4I4M5I40M1I27M4I55M1I16M4D50M1D107M5D96M1I4M1I68M4I4M4D4M1D78M1I5M2I73M1D7M5I21M4I8M5D71M5D19M5D20M2D7M5D27M1D35M5D38M4I83M1D33M4D54M4I19M1I3M2I11M4I4M1D10M5I24M3D1M2D12M4D8M5D1M2I22M2D39M2D101M4I4M4I26M5I13M3I26M4D33M5D10M2I13M3D19M3D18M2I27M2D3M2I2M4D33M3D55M4I6M3I129M1I14M3D41M4I3M5I81M5D9M5D12M2I5M3D1M5D40M5D2M1D21M1D4M2I2M4I12M4I22M3I105M4I1M5I14M3D19M5I6M4I13M2I10M2D11M4I34M2I7M2D32M3I13M5D23M4D8M3D59M5I11M3I53M1D19M2I122M2D15M2D108M5I1M4D14M5I11M4D12M1I19M2I1M3D7M3D4M2I1M5I24M2I15M1I36M3I16M3D25M5I3M4I22M5D6M4I22M3I77M5I43M1D13M3D30M5I19M4I29M2I86M2I23M4I9M3I7M1I14M3I3M4I39M1I77M2D5M4D58M1D1M1D4M5D57M5I22M3I84M1D19M3I14M5D21M4I10M5D17M1I4M4I63M2I23M4I23M4D32M5D40M5I29M4I126M3I2M1D105M4I49M1I32M4D29M5D31M1D15M5I6M5I21M4I56M2I6M3D11M4D3M1D28M4D78M1D5M1D20M3I67M1D2M2I7M5I2M4D14M5D4M3D27M2I18M5D20M5D58M3D19M4D36M5I133M3I75M4I39M3D28M3D158M4D8M2I12M5I68M5I18M2D17M4I52M1D90M5I17M5D47M4D3M2I15M3I4M1D17M4D1M3D23M1I84M5I1M4D10M1I11M3D78M2I3M4I2M5D13M5D21M2D24M1I89M4I2M3D59M4D22M5I14M4I16M2I53M1I13M1I81M4D11M3I29M2I170M2I43M5I116M3I1M5D1M2I20M5I51M1I17M3D2M4I5M3I17M5D36M5D21M3D4M2I85M2I18M2D42M3I48M3I7M4I11M5I17M4I3M3D45M1I93M1D38M5I8M2D41M3I56M2I35M5D59M5D36M3D9M5D23M4I12M4I14M1D38M5D6M1D2M1D2M3D126M1I9M2D31M5I81M4I7M5D19M5I25M3D222M2D29M2D105M1D39M1I4M2D7M2D67M3D32M5D3M3D36M1I50M2I117M1I75M1D24M2I80M4I48M1I11M4D4M2D55M4I21M5I29M1D51M3D16M5I43M3I17M3I6M4D99M3D17M3D22M3I18M5I35M3I28M1I23M4D9M1I46M3I16M4D18M3I32M3I16M1I60M4D76M3D1M3D9M2D28M2D25M1D8M1D1M5D56M3I8M4I33M1D15M2I83M5D60M5I99M4D90M4I69M4D41M1I4M4I1M3I50M3I38M2D80M2D56M4D33M3I8M2I11M5I15M3I42M1I135M2D29M1I34M3I13M1I74M1I10M5I48M4I8M2I74M4D6M3I43M2D3M4D99M2D20M3D35M5I12M1I4M2D25M5I68M3D57M3I24M5D8M5D10M3D84M5I170M3D31M1I9M3I7M2I47M1D31M4D7M4I13M2D7M4I7M2I58M1I81M3D18M5I6M5D68M4I18M1D25M2D1M2I7M4I5M1I14M3I75M2D33M5D17M1I19M2I3M5I5M5D53M3D1M3I33M1D27M5I33M1D93M5D1M3D167M4D38M2I33M3D119M4I43M3I31M3I7M1I77M5I5M2D5M5I24M4D10M4I88M5D47M4I29M4D63M1D11M2I41M3D97M3D13M4D48M3D55M4I3M5D32M1D53M5D13M1D7M2D23M4D131M4D17M2D18M4D4M2D6M1I71M1I29M5I12M3D48M1D45M4I41M1I84M5I84M2D17M5D87M3D88M2D14M5I52M5D62M4I39M2I44M2I26M4I15M4D21M1I8M3I21M4I48M4D34M4D29M4I17M1D18M5I91M1I35M4D4M2I10M4D26M2I4M1I27M4I14M2D11M3I35M5I64M2D86M1I119M5I23M4D27M4I70M5I8M1D12M3D17M3I9M1D77M3D29M1D35M1I37M3D7M4D35M2I13M3I9M2I112M1D19M4I20M4D81M5I129M1D3M4D48M4D31M4I73M5D18M4I8M2D15M5I18M4I33M5I112M3D13M2I26M5I21M3D1M1I63M2D1M3I22M5D5M4I18M2I10M3D7M1I34M3I1M4I2M5D56M3I48M4D13M3I26M5D24M5I7M5I13M4D16M5I44M1D60M1I17M2D18M5I4M2I1M4I4M4D40M5D81M2D19M3D4M1I19M4D10M4I9M5I7M2D51M2D13M4I19M1D57M2D58M3D84M3I2M1I24M1D11M1D3M3I47M2I9M2D5M2D65M1I25M2I35M3I45M3D1M5I13M1I34M3D5M5D2M4D30M2D21M3I6M1I69M4D69M1D9M3I61M4I3M4D16M4D47M3D28M3D14M2I85M2I33M4I9M4I48M4D78M5I73M2I5M1D60M3I31M4D1M5I24M2I32M4I14M2I19M3I5M2D22M2D49M3D5M3D11M2D43M4D4M1D10M1I14M3I3M5I19M5I63M3I4M3D32M4I1M5D18M1D17M4D41M3D25M1I20M3D43M2I21M2I19M3D2M3D17M4D30M5D30M4D9M4D6M3D51M4I58M2D23M2D4M1I19M1I12M2D20M2I1M3I42M2D82M3I3M4D33M2I37M5D65M1I82M4D6M1D54M5D11M5D34M4I7M3I17M5I33M5D38M1I31M5D26M1I16M4D20M2I13M5I23M1I11M1I10M4I4M3I7M3I26M3D30M5D3M4I35M3D1M5D14M4D24M3I23M4I7M1I32M1D29M3I14M1D107M5I6M5I6M4D3M1I41M1I20M2I32M2D1M1I7M1D3M4I7M3D140M3D48M2I4M3I117M2I18M3D4M4D13M1I11M4I27M1I49M1I52M1I5M3I10M4D116M5I7M2D73M1I30M3I27M1D1M1D14M2I40M4I16M4I76M2I43M3D30M1D10M1D43M1D24M3D1M3I16M5D25M4I34M3D50M4D37M5D12M1D38M1D30M4I23M1D14M2I29M1D17M3D3M5I16M1D29M3I3M3D48M3I141M4I32M4D13M5I23M1D26M1I76M4D50M2I11M5I65M4I2M1I37M3D54M4D34M1I17M5I2M1I5M4D8M2I43M1I147M1D8M5I53M2I59M1I14M5I25M5D28M2I56M5D36M2I5M1I27M3D1M2D14M2D37M2D1M1I11M4D55M4I105M5I3M1I9M5I45M4I49M3D75M2D31M5D1M3D3M3I23M4I65M3I19M5D44M5D68M4D11M4D9M5D28M1I20M4I2M3D118M3I10M4D2M5I40M2I32M1D41M1D9M3I30M4I8M2D7M3I9M5D21M1I34M1I22M1D97M3I44M5D13M4I17M2D46M1I99M3D44M3D16M2I20M4I62M4I9M5D32M2D3M1I29M4I13M3D7M1D11M2I40M1I80M2D47M2D21M2I25M4I21M2I11M5D36M4D112M4I42M2D4M5D67M2I43M5D33M4I27M4I25M1I81M1D10M2D6M4I12M3D6M5D11M2I12M4D41M4D21M3D36M1I32M4I58M4I26M2I12M3I6M5D1M3I6M3D21M1I45M1D20M3I18M4D87M2D59M3D3M2D59M5I60M3I17M3I8M5D2M2D13M1I15M1I6M2D55M3D4M2I86M1D10M2D24M4D6M5I51M3I5M3I6M3I27M1D2M2D39M2I55M4D17M4D98M1I63M3I6M2D114M2I23M2D22M2I36M2D24M5I32M3D23M5D5M4D48M1I26M4I9M1D18M3D1M1D7M4D1M3D14M5I34M1D37M1I68M5D30M4I48M5D108M5I37M5I24M5I46M3I19M1I10M4D118M1I3M4I30M2I35M4I8M2I29M5I26M4D11M5D9M5D21M3I38M3I26M1D5M1I52M2I9M3D4M1I31M4I1M5D24M1D3M1I98M2D30M4D8M4I7M5I76M3D19M4I5M3I47M1I26M4I10M5D41M1D79M1D7M3I14M5D53M5D50M5D73M3I86M1D20M3D69M1I33M1I17M4D38M3D19M5D55M3I27M2D6M3I62M3D8M3D33M2I15M5D2M4D34M4D50M2D68M1D64M5I20M5I29M5D71M3I8M1I40M3I9M3I12M2D15M1I2M2I39M4D36M3D38M1I2M5I30M2D26M5D47M5D19M5D13M3I1M4I3M1I10M2I29M4I78M5I37M3I15M5I6M3D83M5D16M5D6M2D9M4I32M4D13M5D22M2I15M1I56M3I23M2I28M3I71M3I67M5I8M3D7M1D16M4D4M1I15M2D6M1I19M4D1M1D37M2D78M4D23M2D14M2D81M1D11M4D12M3D31M3D70M1D8M5D18M5D6M2I27M4I11M5D22M4D78M3I3M1I162M1D94M4D65M1D2M1D28M3I33M1D47M4I125M5I19M5I106M1I10M5D1M5I61M1D37M2D30M5I101M3D9M4D7M4D59M2I31M4D73M1I13M5D36M1I55M2D31M1I34M3D10M5D53M1D27M1D10M3D19M3I58M5D47M2I54M5I27M3D55M1I46M3D53M3D40M5D5M4I87M1D30M2I21M2D18M4I85M5I3M4I8M3D33M2I38M3D6M2I10M1D28M4D61M2D35M2I24M2D13M1D1M4D37M1D39M3D28M4D1M3I32M1D48M2D132M5I17M1D12M1I47M3D46M1D22M1D26M4D38M5I70M5I8M3D108M4D83M1I35M2D7M3I27M4I17M4D16M2D2M5D53M4D8M3D29M4D20M4D42M5I29M1I19M1D19M3D43M4I26M1I10M5D23M5I9M3I22M3I7M5I49M3I9M4D20M1I73M5D25M2I18M2I1M4D2M1I9M1I55M3D45M5D2M2D17M4I53M4I7M5D19M5D9M2I13M2D1M4I42M2I11M4D4M3I23M3I28M3I22M4D2M1I6M3I47M4D15M3I7M2D46M3D81M4D102M4D15M2D11M2D47M4I65M4I54M5D1M3I37M5I21M2D44M1I69M5I10M5D11M1I115M1I5M4I2M2I10M4I19M4I74M3D32M5I22M3D27M5D35M2I14M3D54M3D14M1I9M2I22M3D20M1D12M4D45M4D1M3D77M1I5M1I53M4I18M1D5M5D18M3D30M1I6M4I16M5D9M3D16M5D100M3I79M2D81M3I56M3D2M5D25M5D26M1D46M2I6M2I9M4D10M5I53M2D2M2D92M3D6M3D45M4I28M3I19M3D9M3I10M5I29M3I51M1D12M5I75M5I22M3I21M1D8M1I7M2D2M1I25M3I19M5D29M4I2M4D25M1D2M3D9M5I26M1I65M3I28M3D62M3I51M2I2M4I32M3D10M5D73M5I3M1D7M1I4M2I56M2D93M5I1M5I28M2D22M1D6M2D28M3D23M5I11M4D100M5I90M2D43M1D57M2I17M2I13M3D71M5D9M5I14M4D120M4D15M5I69M5I1M3I53M4I22M3D7M3D61M5I39M1D38M5D80M3I24M1D6M1I10M1I41M5D50M1I30M1D4M4I126M5I4M4D68M1I87M2D24M1D1M4I70M5D13M2D43M2I1M5D79M2I65M3D6M5D108M4I10M3D44M1I23M5I115M2D10M3I6M5I7M2D57M2I5M3I25M3I79M5I23M3D17M1D28M5D58M5D39M4I12M2I72M2I44M1I39M4D36M3D32M2D21M1I96M3D82M2I7M4D102M2I30M2I46M1D14M4I21M1I28M2D44M2I23M4I164M4I10M1I7M5D12M2D115M4D50M3I1M1D22M3I52M1D74M4D8M5I29M5D83M2D37M4I5M2D30M3I91M2I66M4D14M2I30M1D53M4D14M1D47M5D60M1D19M4D2M2D2M4D42M5I29M4D5M3D15M3D20M2I7M5I3M2D57M2I35M5D3M4D20M3D1M5D71M5I12M3I8M1D29M5D14M4D1M4D6M5I1M1I70M1I47M5I52M1D5M2I54M1I177M4I75M3I2M2I3M2D23M1I17M2D57M1D25M1D42M3D29M5I33M1I17M2I42M5I27M5I15M5I12M5D2M5D1M4I81M5I8M4D2M3I16M1D60M5D41M2D47M5I22M5D114M3I32M3I32M2I37M3I13M2I25M5I21M4I13M5D16M1I58M4I67M5D2M2I38M1D12M3I24M4D11M2D1M2D9M1I9M1D31M2I13M4I72M2I4M4D14M3I49M2I10M2D62M1I152M1D13M2D7M2I102M4I23M5I32M5I1M1I26M3D21M1D7M2D36M1D24M4D1M4D46M2D9M1D3M5I94M1D5M2D2M4D1M1D6M3I5M4D24M3I5M4D81M1I11M2I49M3D32M2I26M2D11M4I86M2D32M4D26M1D5M2I19M3D10M3I46M5I101M1I21M2I28M4D17M3I34M5I3M1I7M4D55M3D4M1I37M3I3M3I97M1I44M5I48M2D63M5I61M4I7M1D40M4D2M3D48M5I55M1I6M4I2M4I1M3I22M1I3M2I43M2I6M5D26M1I12M1D6M4D2M4D57M1D30M1D134M4I22M4I153M1I10M4I3M4D36M5D6M2D2M4I8M4D5M2I17M5I13M2D27M4D21M4D25M1D1M2D17M3D52M1D16M2I12M4D121M1I2M1I68M3I19M4I48M4D24M4I8M2D33M2I9M2I90M1I1M5I22M5D1M2I25M2I55M2I15M2D43M4I57M3I14M4D23M2I17M5I20M4I2M4I32M2I37M3I7M5I11M1D24M1I15M2I30M2D27M2D57M2I2M5D29M3D90M2I2M2I48M5I17M3I41M1D3M3I17M1I83M1D13M2I4M2D22M4I136M2D6M3D11M3I38M5I2M2D114M1I13M1D96M2D13M4I2M1I6M2I2M4D75M2I21M5I2M1I12M2D13M2I8M4I4M1D10M5I5M4I16M5D50M4I15M3D18M3I39M5I85M2I49M5I56M2I38M5I126M1D64M3I33M2D1M3I11M5I6M3I60M3D41M4I6M4D10M5D20M2D19M3I61M2D8M4I3M1I56M3D37M3I69M1I3M2D26M3D80M3I20M4D69M3D71M1D24M2I78M2D95M5D12M1D14M3D30M5I14M1D16M3I43M5D18M5D12M4D15M1I27M3I2M3D120M3D77M5I145M4D9M1D22M3D3M5D3M2D18M1D55M4I27M2I22M1I51M3I53M1I37M2D17M5D57M2D27M1D17M2I50M3D53M1D69M4D9M4I135M2I4M3I39M2I15M1D40M1D16M1I41M3D38M3I21M3I16M2I3M4D1M1I45M2D12M3D59M5I43M4I2M1D26M2I1M5D11M4D83M3D15M4D5M4I60M4I2M2I15M3I122M1D4M2I28M2D12M1I44M4D11M1I54M4D5M2I16M1I33M3D17M1I24M1I33M3I58M2D17M4D13M4I6M5D26M5D17M5I8M2I7M4I24M4D44M1D94M1D5M3D32M4I4M2D19M5D63M1D70M1D13M2I67M1I21M5I3M4I35M5I12M1D30M3I29M5I72M4I33M3I43M1D16M4D3M3D7M3I54M3D9M5D46M5D68M3D77M1D29M4D33M3D7M5D46M4D24M5I16M2I5M5D13M3I36M5D2M2D21M3I7M2D11M3I59M2D45M4D29M5D32M1D7M2I44M2I94M3I4M1I20M1D27M5D19M1D7M3I14M3I11M1I5M2I17M3D44M3I28M4I3M2I64M2D28M3D15M5D61M2D74M2I50M4I9M4I57M1D7M5D17M2D4M5D13M2I9M1D29M3D26M2I7M4I5M2I21M1I60M4I123M1D37M2D6M4D27M3I23M1I19M2I10M2I7M3I36M5D50M4I3M5I190M2D74M3I48M1D5M3I29M3D75M3I11M3D77M1D43M2I5M5I17M1D52M4D28M4I14M5D4M5I14M3I16M1D3M5D63M2D8M5I2M5D28M3I43M2D11M2D64M1D9M5D22M1D97M2D29M3I10M5I9M1D118M4I6M4I37M4I137M2I33M5I41M1D23M1D26M3D68M3I14M4D74M2D32M3I5M2I61M5I15M2D44M1D14M1I42M2I27M2I17M2I8M2I19M2D5M4I59M4D4M2I29M5I13M1I92M3I1M5I1M1I31M2I2M5I41M2D27M5I106M1D13M4D29M1D22M1D8M5I2M3D48M5D65M1I73M4I5M1D31M1I7M4I9M5I12M2I36M4I18M5D11M4D109M3D73M2D13M2I62M1D52M5I91M2I3M3D21M2D12M4I27M4D12M1D46M1I39M3I13M4D9M2I1M3I20M5I78M3D72M3D9M5I4M2D24M4I63M2D9M2D15M1I38M5D4M3D7M3D10M2I39M5I34M3I116M1D22M2D18M2D8M5I2M2D100M4D107M3D12M4I1M3I12M3D3M2I11M1I57M1I7M3D45M3I42M4D27M1I80M2D57M5I35M1D6M2I39M2D44M3I14M1I5M2D46M2I66M4D48M1D42M1D30M1D21M2I21M4I4M3I102M5D20M2D16M3D13M5D23M4I9M4I12M1I26M2I171M3I40M2D35M3D2M1I43M1I41M3D32M3D17M3D54M2I39M5I60M1D40M3I34M1D1M2D12M3D22M2I76M4D69M3D38M2D2M3I8M3I26M5I22M3I21M3D47M1D20M1I34M2I8M2D8M5D23M2D45M2I43M5D8M3D1M2I49M2I14M3I45M2I83M3I39M5D283M5D77M4I13M1D25M2D1M3D23M2D26M4D2M2D23M5I55M3D7M5D9M1I3M1I3M4D54M4D23M3I47M2D17M1D8M1I19M1D17M4I23M4I7M3I51M5D77M1D57M2D9M5I31M4D12M3I76M5D14M3I15M4D44M2D11M1D34M3I2M1D13M2D12M2D25M4D59M1I27M3D18M1I2M5I41M3D10M2D1M5D22M3D12M1D57M2I97M3D9M5D12M3I3M5I9M4I33M3D48M1I32M1I1M2D29M5I52M3I11M2D17M1D18M2D198M3I82M2D20M1I31M3I8M5I147M3I52M2I5M2D2M5I6M2I84M3I16M5I45M1D20M5I14M3I118M2I27M4D8M5I20M2I33M2I5M4D26M5D62M1D4M2I22M2I15M1I4M2I2M3D25M3D21M1D95M3D7M2I54M3I1M4I82M5D18M2D3M2D43M5I32M5D8M1I5M1D6M1D8M2I91M4I35M2D2M1D73M3I24M1D19M3D33M2I45M5I13M4I33M5I22M3I13M1I26M4I6M4I44M4D40M2D13M3D17M1I11M4D11M2I7M2D27M2D24M5D36M4D23M3D36M3D34M4I27M2I61M1I57M5D26M1I25M2D75M5D23M4I17M3I8M3D52M5I5M4I9M5I22M3D9M4D55M1I28M1I21M3I12M5D29M5I32M5I18M1D20M4D23M1D7M5I16M3I63M4I13M4I18M2D24M3D4M3D1M3I14M1D20M2I24M2D55M2D56M1D46M3I14M4I59M5I7M4I58M5D28M2D13M3I8M3D43M1D10M2I60M2I31M1I4M1D162M1I13M5I82M4D5M5I69M3I16M1D36M3I2M4D54M2I57M2I39M2I18M4I2M1D65M1I148M1D46M3I17M2I6M5I244M5I26M3I3M2I10M2I23M4D2M4I49M4D6M2I14M4D30M1I29M3D38M5I33M3D84M4D13M5I15M1D14M4D14M3D3M2I44M5D120M2I5M3D12M2I99M2I1M4I35M1D7M3D17M1D16M5I35M4I9M1I105M2D6M5I15M2I3M2D5M1D60M1I149M3I48M4I21M3I21M1I27M1D16M4I26M2I1M5D87M2D40M4D23M2D26M4I32M4D18M5I16M3D8M1I39M1I14M3D16M2I2M5D2M4D20M1D58M1D55M3D22M4D76M5D41M5I27M2I21M5I9M2I43M4I61M3D6M5D32M4I48M1D89M5D61M5D62M4I72M5I8M4D21M4D8M5D53M3I26M4I132M4I10M5D74M3I138M3D13M1I7M1I50M3I3M1D70M3D14M1D39M1I85M2D12M2I59M4D5M3D50M3D5M5I1M1I27M5D52M3I36M4I30M3I35M1D12M2I13M1D63M3D8M4D67M4I2M3I1M3D84M1I48M4D97M3D16M3D55M1I17M2I4M3D56M5D6M4D6M3I11M4D37M1I23M5I9M4D16M4I68M1D40M2D31M3D44M5I65M4D14M5D8M1D27M3D10M4D114M2I26M1I22M3D49M3I5M2D11M3D17M3D13M3I10M2D118M4I14M2I7M3D58M3I10M4I7M5I8M5I4M3I9M1I36M4I5M1I97M1I1M3D20M3I14M4D24M5D58M2I17M5D123M5D2M2I26M4D4M2I11M3I15M1I34M3I29M1D23M2D1M4I3M5I14M4D5M5I12M2I4M1I26M4I6M1D26M3I33M5D13M4D23M4I6M3D5M3I9M3D52M3I72M4I10M1D133M4I36M4D71M5D77M5D31M3D22M2I23M4I71M5I22M3I69M5I35M3D44M3I8M1I24M4I20M4I4M2I46M1D9M2D56M1I30M4I9M1I21M1D1M3I5M4I78M3I4M2D4M4I18M3I13M5D34M1I9M4D17M4I68M3D71M5I88M1I4M5I111M3I4M2I38M1I117M5D32M1D14M3I33M2D11M2D148M1D156M3I6M5I8M3D32M4D23M1D1M2I16M1D13M3D47M2I47M2D5M1D35M3I55M1I45M2I44M4I40M5I23M2I70M2I1M5I1M4I36M2D15M2D5M4D14M5D121M5I1M5I17M2I37M4D5M4D64M2D1M2I19M5I8M3D19M2D19M3D26M5D53M2I25M2D10M4I4M3D80M1I70M2I9M4D54M1D25M3D4M5D14M3D31M1I20M1I129M2D25M1I22M4D4M3D90M5D33M1I13M5I34M3D8M2D1M2D25M5I14M1D31M1D15M2I3M4I11M4I2M5D65M1I14M4D66M4D21M2I15M5I4M2D9M4I44M3D28M1D34M3D47M5I5M1I146M4I47M4I10M2I7M1I120M5D41M2D19M3D2M2I16M2I36M4I74M2I40M1I97M3I3M2D44M3I3M3D79M2D72M2I25M1I38M4I5M3D15M2I37M5I46M2D68M3D9M2D8M4I32M5D4M3I153M5I6M5I3M2D5M1D19M2I21M5I13M5I254M3D47M1D34M5D27M3D10M4I12M4D7M1D12M1I111M5I42M1D55M3I52M4D3M2I66M2D19M3D14M3D1M1D13M1I55M3I170M2I152M4I134M1I1M3I55M5I12M2D4M3I1M4I6M1I72M5D20M5I17M1I34M1I81M4I49M1D1M2I15M3D15M5I60M5I23M1I52M3I13M3D89M2D12M5D15M1I29M3D28M2D56M2D1M5I1M4D79M4I2M5D30M3I17M2I3M5D26M5I5M1I18M5D15M3D5M4D57M2D109M3I13M4I16M5D21M1D10M1D38M5D8M5I19M5I29M1I46M2I32M3D48M5I15M4D56M1D28M4D96M3D39M5I19M5D102M3D5M3D57M2I32M2I25M5I65M2D22M1I58M5I36M1D18M5I70M2D133M4I24M2I14M5I29M1D24M4D27M3D69M1I27M1D42M2I28M2I15M5I9M4I73M5I80M3I35M4I5M4D6M4D21M4D40M5D54M1I135M5D35M2I39M5I76M4I23M5I107M4D13M4D29M5I22M4D22M5I21M5D19M3I9M1I16M4I22M2I68M1I16M5D35M3I2M4I3M5D2M3I18M5I49M3I56M1I63M3D6M5I10M5I25M5D1M5I35M3D59M5D32M3I83M1D2M1D67M1D69M5D11M3I18M2D27M5I98M4D50M1I18M5I58M3I3M5D87M1I107M2I41M2I68M5I34M5I16M3I40M2I38M4D82M5I1M1D11M2I52M5D18M1D60M3D13M1D8M3I37M4D4M1D30M4D110M4I55M5D5M1I4M4D69M5I25M1D37M3D26M4D50M1I7M4I45M3I10M3D76M1D25M3I1M1I44M2I147M1D2M3I132M1D56M2D57M1D8M5I5M1I8M4D31M4I26M2I5M1D8M3I20M3I1M3I4M1D16M1I53M4I60M3I18M2I3M4I7M2I3M1D33M5D45M4D4M4I8M3D47M1I249M1I26M5I15M2D50M5D3M1I17M1I34M5D13M4I37M2D52M2I59M5D152M1I14M3D62M4I8M5I39M4D41M5D64M2D69M4I20M4I49M2D13M3I9M1I34M1D107M1D16M2D4M1D69M5D8M5I49M1D27M5D41M3D69M3D18M5D37M1I1M1I1M5D3M3D35M1I17M2I47M2D42M4D13M4I1M2I27M4D66M5I58M1D2M3D28M2I26M5D5M5I88M2I30M2I74M2I23M4D7M2D9M2I13M3D61M3D13M3D113M4D18M3I33M1I4M2I25M5I21M1D1M5I13M4D53M2D13M4D2M3D12M3I20M5I170M1I14M5I12M1D38M4I6M1D76M4I39M3D22M5I71M4I57M3I35M2D4M3I2M5D13M5D6M4I2M4I36M5D13M4D43M4D88M3D143M5I12M4I57M5I29M1D33M5D2M1D18M3I38M2I71M2I10M5D39M3D18M4D21M5I4M5I11M5D24M1D19M1D8M1I1M4D47M2I67M5I9M1I15M1I6M1I16M2D5M1I48M3D4M3I12M5I6M1I32M5I100M1D9M2I34M4I6M2I12M3I70M1D9M2D3M5D22M3D89M3I11M3I15M4I5M4I19M3I4M1I81M2I4M3I6M3D20M4D1M2I40M5I53M3I24M5I85M1D13M3I11M5I68M5D17M3I13M1I24M5D21M2I6M5I8M4D91M2D5M1D67M5D11M3I51M1D20M4D21M2D4M4I36M3I4M1D29M2I17M2D36M4D7M1I3M2D5M2I82M2I50M2D8M5D41M1D13M4D17M1I33M4I7M2D19M1I9M1D20M3I22M2D22M1I30M3D24M3D8M3D30M4I24M3I10M3D15M2I19M4D12M2I9M1D21M3I40M1I19M4I50M4D26M5I13M3D23M5I20M5D31M4I16M2I9M4D8M1D35M5I49M3I62M1D5M1I2M4D38M3I53M5I22M3D8M3D88M3D141M4I14M5I20M5I6M5I2M3D37M2I82M4I11M3I26M1I40M2D236M1I13M4I70M5D2M4D3M5I32M4I26M5D40M1I2M1D9M1D60M3I30M4I97M4D9M4D15M5I21M5D5M2D2M3D48M1D66M1I40M4I2M4I4M3I26M2I9M2D75M4D56M2D108M4I23M4I7M2D10M3D6M4I8M1D6M1D56M5I12M2D36M5D45M3I2M3D67M1D34M4I6M3I158M5I123M4D63M3D33M1D47M1D43M5I86M2D2M3I74M2I28M2D52M1I63M1D36M3I42M2I12M4I2M4D65M1D22M2D20M4D11M2I4M3D7M4I7M3I39M1I23M2D1M2D1M2I51M5I19M2D5M1I17M3D43M4D4M4I59M5D102M2I48M2I9M1D56M3I6M4I48M3I4M3D36M1I52M5I8M3I13M2D1M4I12M3D56M5D25M5I1M1I47M3D12M5D6M5I46M2I29M3D20M2D5M1I7M2I2M1D8M4D83M2D32M1I36M5D23M1I8M2D20M3D19M3I16M5I1M5I47M3I5M1I55M1I1M5D26M1D16M3D74M5I39M5I3M3D36M3I42M2I11M5I68M2I19M1I25M5I110M1D5M3I86M5D31M2I36M4D19M4D4M5I122M2D18M3D3M3I79M5D14M2D22M1I5M2I14M3D54M2I17M4D76M3D10M3D73M1D6M5I8M3D67M5D140M4I18M2I29M4I27M4D83M3I23M3I25M1D32M2I39M2I8M2I68M4D63M3D36M2D2M5I54M2D28M3D59M3I14M1I12M4D8M3D4M5D7M2D22M4I10M1D99M5I130M4I75M2I47M2I52M4D35M4I8M2I16M5D13M4I80M1D42M1D40M2D18M5D9M3D48M5D28M3I24M2I23M4D77M4D37M4I47M3I3M3I110M2I27M4I5M5D24M5D69M2I30M4D23M4I12M3I3M5I27M1D5M5D21M4I24M4D58M1I14M3D76M5D20M2I49M4I40M3D10M5D42M3I1M5I60M5I8M4D36M4D16M5I31M2I7M2I22M5I3M2I6M2I63M5I35M3D14M4D35M5D14M1D9M3D33M5D145M1I18M4D36M1D61M5D1M3I121M5I173M2I30M5D70M4D17M1D56M3D10M2D13M5I51M5I41M1D21M1D17M4I1M1I8M1I65M5D2M1D2M3I54M3I54M2D2M3I48M4I15M3I6M3I17M3D6M2D64M4I12M3I9M4I4M4I21M3D76M2I47M1I26M1I3M2I70M5I29M4D1M5D22M4D37M1D8M1D1M4I20M1I40M4D22M4I22M3D1M3I13M5D42M5D8M3I1M1I125M4I74M5D13M1D16M4D14M2I17M3I17M1D6M4D7M1D5M5I30M3D15M1I21M4I10M1D3M1I2M3I34M1D8M1D3M3I15M1I23M4D50M1D44M1I48M5D6M1D8M4D1M3D10M5I14M1D6M5D19M2D13M2I15M2D20M2D28M2I95M1I20M5D8M4I65M4I19M1I23M1I50M1I7M2D14M5D30M2D2M4I1M3D135M3D25M2D7M3D1M5I12M4I3M4D1M5I23M3I11M4I48M4I26M5D100M2I69M3D20M4D14M4D12M2D140M1D29M1I2M2I46M2D50M2D44M4I15M4I192M5I11M4D75M5D130M3D19M4D12M1I2M1D60M2D9M2D36M3I17M4I4M1I12M5D40M3D25M1D26M3I19M1D26M1I46M3D12M2I5M1I9M1D46M3I148M4I3M3I95M2D48M4I127M2I7M4I12M2I75M5D28M2I24M1D1M4I18M3D29M1D2M2I37M5D15M5I45M2D6M4I42M5D15M3D73M2D8M3D43M4D1M2D18M3I34M1D5M1I40M4I26M2D22M4D24M3I20M3D58M3I38M2I39M1D11M1D22M1I6M2I1M3I12M1D8M4D9M2I19M4D70M1D3M4D3M1D59M5I3M5D3M1D14M4I6M4D36M3D26M1D13M5I79M2D42M4D31M5I40M1I30M4D2M5D20M5I3M2I18M5I40M5I33M4D47M3D44M2D46M1I22M1I29M5D34M4I33M2D13M4I14M2D52M4I7M1I68M1D15M1I19M1I13M1I17M2D41M5D45M5I2M5I24M4D23M1D60M4D2M3I25M3D6M3I27M5I30M1I54M4I14M5I8M1I25M5I35M4I101M2D17M3D33M5D11M5I17M3D1M2I11M1D11M4I32M4D59M1D7M2I11M3I8M3I3M4D20M4I30M4I10M3I14M5D3M1D3M1D8M2D107M1D40M3I69M4D7M3I39M3I17M5I7M5I104M4D63M2D78M4I76M5I30M5I2M3D8M3D50M5D111M1I9M2D8M2D32M5D5M1D5M3D17M4D16M5D3M5D10M2I16M4I16M2I34M4I24M5D14M2I67M1D2M5I111M2I11M1D64M5I1M2D17M2D34M4I52M5D20M4I120M5D8M4I30M3I10M1D198M3I3M5D57M5I20M5I165M2D38M4D5M1D14M4D91M2D5M3D114M1D4M4I40M3I10M5D61M1I2M1D6M1D26M5I64M2I34M3I10M1I59M4D18M3I29M1D38M3D8M5D11M2D9M1D83M4D14M3I9M4D13M1I15M5D28M4D91M5I9M4I90M5D11M3I19M3I1M5I12M2I15M3I41M4I35M1D33M3I119M3D103M4I15M5D2M4I81M5I16M4D19M3D132M1I6M2I52M1D18M3I8M4I14M5D18M3D41M1D15M2D19M1D4M4D29M2D36M5D66M3D28M3I5M2I44M3I76M5D24M4I20M1D21M3I55M2D34M4D84M1I24M4I54M5I33M1D68M2I20M4I37M4D34M1D75M4D54M2D31M4D6M2I10M2D55M2D28M3I18M2I4M3I22M4I80M5D17M5D15M5D102M3I13M1I16M3D128M2I27M5D19M3D11M4D28M5I15M2D1M5D62M2D39M2D8M5D20M4D17M3D13M3I7M4D3M3D41M4I85M3D48M2D41M3D14M3D4M1I24M4D62M3I58M3I16M4I116M3I58M2I3M2I23M5I45M2D52M1I21M3D11M4I16M5D43M5D55M3I56M2D36M5I40M5I13M1I30M4D129M4I2M5I7M1I18M1I79M3D11M2I7M5I15M5I4M1D12M2D51M2D11M3D22M5I114M3I22M5I12M3D51M3I194M2D4M3I21M2D4M4D22M1D1M5I3M1D34M5D12M2I5M4I10M3D12M4D16M5I34M2D15M4I24M3I42M4I102M4D7M3I133M5D4M4I18M1I56M3I1M3D28M5I2M5I63M1D1M5D1M4I11M2D56M1D25M1D3M1I73M3I10M5D21M4D10M3I11M2I72M3D22M2I49M2I65M4D29M3D49M4I29M4I6M1D19M4I17M3I35M2D41M1I108M1I57M3I21M4D10M3D18M1D56M4D10M2I12M2D9M4D48M2D33M1D5M3D24M2I52M3I10M3I18M2I28M3D9M2D25M4D3M3D14M1I16M4I27M3D99M3D7M3I21M2I20M5D9M5D14M4I45M2I35M3D7M5I2M3D9M3I14M4D52M1I27M4D7M5I25M3I4M1D1M5D18M4D5M4D12M3I64M5D4M3D5M5D95M2I6M2I39M1I10M3I35M4I40M3I63M5D18M2D4M2I20M5D2M1D28M2D2M5I24M1I42M4I11M2I3M2D15M4D11M1D40M4I31M2D33M4D6M2I6M3I29M2I14M3I34M4I12M4D6M1D34M3D24M5D158M4D19M4I17M5I1M3I42M3D5M2I103M3D26M2D3M4I20M3I41M4D15M3I20M1D14M4I12M5D24M1D9M1I24M1D31M2I18M1I31M2I70M2D27M5D6M5I55M3D44M3I2M1D67M4I113M5D33M2D1M2I9M3D20M4D11M4I16M2D11M1D9M5I6M4D5M2I16M4I77M1D70M1D16M1D9M4D180M2I7M5I11M2I12M1D64M5I6M5I7M5I20M3D6M2D42M3I23M5I39M5D1M1D11M1D37M2I10M4D6M5I46M5I23M3I12M4I27M2I157M4I14M1D54M3D138M2I21M3I19M5D1M5I1M1I30M5D17M4I47M3I16M3D12M2I11M5D14M2I43M1D37M1D51M5I12M1I72M4D30M3D12M3D34M1D31M3I38M2I7M5D26M2I4M1D31M1D44M5I9M5D4M5D8M4I121M2I1M3I14M1D11M5I5M4I62M3D48M5I43M4D15M4I44M1D16M5D34M5I38M1D16M4D5M1I1M2D1M1D48M5I35M4D31M2I94M3I52M2I2M5I34M1D25M3I112M5D50M3D8M4D45M5I7M4I10M4I9M5D5M5I11M1I35M3I14M2D26M3I1M4D8M3I10M5D12M3I23M2I35M3D3M4D58M3I17M2I27M3D25M3D15M2I9M3D69M2D34M4I4M2I50M3D26M4D178M3D19M3I14M1I1M2D118M2D24M3D8M5D22M2D5M2I11M4D7M3D4M4D8M3I7M2D23M2D51M2I1M2I8M2I1M5I21M5D95M5I4M3D2M3I18M4I3M2I202M1I3M4D47M5D23M3I56M5I56M5D70M5D13M4D15M1D29M2I6M4D6M1D15M4I114M2D49M2D44M2D49M4I4M1D45M1D34M4I16M4D23M2I18M3I122M1I15M2D4M4D39M5D35M5D19M3I13M2D19M2D26M4D57M5I25M5D19M3I89M5I138M1I61M2I47M3I6M1I34M1D3M3I57M4D2M4D23M3I177M4I3M3I2M2D22M2I22M5I1M2D46M1I64M2D35M1I26M2D9M1I10M4I8M4I2M1I15M3I5M2I68M1D10M4D196M3D18M3I7M2I12M3D11M5I18M5I9M2I45M4D3M2I4M2I93M5I10M3I10M1D14M3I2M4I10M1I32M5D55M2D9M5I1M3I196M3D87M3I73M1I79M1D3M3I3M5D13M3I12M3I20M5I1M3D13M2D94M2I21M1I21M4D51M1D29M2D74M5D2M1D33M2D1M4I39M5I10M1I9M4D1M2D17M2I14M2D35M1I151M3I5M4I16M5I19M2I38M4I13M5I4M4I17M2I36M1I31M5I4M5D61M5D8M4D44M2D59M1I8M2D62M2I2M3I106M5I28M3D23M2I2M4I5M2D22M3I49M5I23M3D10M4I64M2D21M5D13M1D159M2I38M4I24M1D4M5I38M5D15M2D10M4I11M3D6M4I8M3D5M2D16M4D12M2I7M4I6M5I94M4D5M2D15M2D1M5I14M5I64M5D16M4I2M4D1M2I13M5D1M5I13M4I3M3I49M4D29M4D16M5I51M5I13M5I23M2D11M1I45M1I48M2D63M4I27M4I12M4D55M2I21M3D14M3D47M4I87M4I10M4D132M1D35M5D53M2I22M4D97M5I17M4D66M3I17M5D2M1D1M5D10M3I47M1D22M1I38M4I64M1D33M3D5M4D1M4I10M3I30M5I8M1D45M1D33M1I10M3I6M3D5M5D17M4D96M1D41M3I82M5D93M4D16M3I1M3I30M3I12M4I11M2I20M1I38M5I12M2I3M1D31M4I44M1I26M1D72M5I36M5D56M4I1M5D108M3D1M5D26M4D49M1I16M2D78M1I28M1I20M1D115M4I98M4I66M2I26M5D33M3I3M3D33M2I121M5D10M5I38M3I1M3D69M5D43M3I2M1D21M3I1M5I29M3D67M5I42M4D46M3D1M4D5M4I35M5D56M1I45M5D14M4D9M4I76M4I15M4D1M2D25M2I14M2D37M3I27M4I30M4D23M1I1M1D38M5I41M3I23M2D4M5D100M4D38M2D85M2D16M2I42M3D91M2D44M2I25M1D27M2D45M1D38M3I30M5I4M3D1M1I77M1I31M5I4M3D11M4D43M1D34M1D31M4D16M3D43M4I5M1I78M4D27M1I18M1I13M1I21M5D39M4D22M3I42M1D6M1D3M2I13M3D12M3D1M1D13M2D75M4I1M1D11M3I33M4I4M4D15M1I14M5I16M1D85M5D6M1I4M2I24M2I49M2D4M1D48M3D60M3I4M1D61M2I8M1I3M2I4M4D18M1I38M5D15M5D27M3I47M4I6M2D13M3D43M2D132M1I25M4D8M4I17M5D4M5I31M4I27M2I19M5D60M5I15M1I5M3I27M2I90M2I17M3I5M5D120M2I32M3I20M2D36M4I7M3I8M2I2M3I93M2I7M3I24M3I42M5D12M1I17M5D7M2D57M2D10M4D34M1I18M5I22M3I16M2D11M5D45M1D2M3D23M2D83M5I83M5I85M3I11M5I35M4I26M3D1M2D117M4D26M5D5M4I36M2I6M4D27M5D14M2I218M5I1M1D170M4D12M5D13M3D9M4D53M2D48M5D23M5D22M2I43M3D12M4D66M2D2M1D25M1I28M2D69M5I35M4D4M2I24M3I82M1D2M4I28M1I16M2I33M1I3M4D26M5I96M1I77M5D3M1I6M5I42M1I57M4I23M2I28M4D10M5D62M5I35M1D5M5D44M2D39M2I6M5I30M1I45M5D4M2D1M4I33M5D11M1I13M5I62M4D10M1D58M5I18M1D30M5I64M1D22M2I34M5I18M5D69M1I4M1D52M1I18M5D11M4D21M4D16M3I12M4D5M3I116M1I60M4I12M4D101M5D18M4D32M1I19M5I91M3D8M5D7M1D39M4D1M4D71M3I10M3I23M1D96M5I33M1D10M3D54M3D46M3D11M1D37M3I20M4D24M3I4M1D3M2D30M1I6M1D45M3D10M5D9M2D59M5I9M4D9M4D127M4I14M1D11M3D35M2D68M2I16M2I9M4D85M3D9M5I1M5I21M2D16M2I70M4D13M5D7M3I10M1I6M5I88M1I191M2D2M5I11M1I213M5I59M3I34M3D9M5D16M3I31M3D26M4D6M4D7M5I38M1I8M5I101M2I107M1I120M2D7M1D39M2D15M2I39M1D139M2D2M1I39M4I65M4I22M1I12M1I55M5D23M3D63M2D23M4D26M3D23M4I37M5I41M2D66M1D45M3D22M4D44M3I19M5D18M2I61M1D63M4I6M3D67M5D32M5I25M3I125M3D26M5I10M4I31M4D38M5I11M5D15M2I10M2I10M3I75M3D10M2I21M5I12M1I20M2D43M5I76M1D78M1D67M5D1M4D10M4I20M2I51M1D62M5I20M2D69M2I13M5I22M2I23M5D69M1D43M3I21M1D3M4D1M5D43M3I20M2D101M5D2M2I37M1I21M3I13M1D110M5D34M3I7M2D51M1I66M3D1M3I53M5D22M1I11M1I3M3D10M5I11M4D14M5I2M4D2M1D11M2D121M1D58M5I6M2D6M1I6M3D44M4I33M4D4M2D15M4I8M3I118M3D22M3I3M1I21M2I83M5D209M5D9M4D26M5I5M1I6M3I2M5I9M2I60M2I11M3D20M1D36M5I10M5D49M3D49M3I56M5D51M3D36M5D45M4I3M4D97M4D11M5D41M1D63M3I3M5I101M2I6M4I28M4D6M4I190M4I6M3D51M1D9M4I4M5I1M5D31M2I65M3I7M4D4M5D2M1I39M2D7M4D41M2D8M1I8M3I73M4D11M3D45M2I7M4D76M1D22M2I81M3I45M4I5M4I19M2I14M3I6M4D29M3I21M1I16M5I25M3D14M2D23M3D49M5D17M2D54M2I24M5D1M3I12M2D34M5I52M2I51M4D65M2I42M1D99M3I1M3I112M5D70M5D17M4D47M1D39M5I12M4I17M2I1M5I116M5D22M4I16M4D54M1D52M4D1M4I13M3D41M3D13M4D6M3D4M2D20M1D3M1I57M3I13M2D22M5D23M5D9M1I24M5D10M2D37M5D33M2D21M1D5M3I4M3I35M1D5M5I23M1D196M2D109M5D64M4D10M1I21M5I5M4D104M2I33M2D14M1D6M2I26M2D51M1D14M5I62M2D33M1D25M3D1M5D58M5I1M3I14M3I47M2I12M4D63M1I59M4I34M4D1M1D22M2D3M3D44M1D11M1I35M3D9M2D14M1I29M5D23M3I51M4D48M1I9M5I76M2I15M1D76M2D12M5D1M4I16M3I86M3D102M2I10M5D20M3D1M3I15M1D11M2D2M4D1M1D84M2I55M1D29M2D43M4I27M5I77M3I34M2D20M3D66M1D84M3I14M1D47M2I87M2I47M2D24M3I37M1I1M2D12M1I60M5D30M5D10M4D12M2I11M5I10M4I35M1D39M3I10M5I18M4D54M2D76M1D17M2D16M3D9M5I11M5I7M5D18M3D29M3I8M5I26M3D5M5D15M2D15M4I31M3I54M5D85M4D14M5D81M1I43M3D2M1I11M4I2M5I20M2D6M1I40M2I8M4I33M5D13M3D30M3I19M4D81M5I22M5D4M1I9M3I4M1D20M5I38M5D72M4D51M2I46M4D20M5D14M2I23M1I90M5I24M1D14M2D16M5I22M4D15M2I26M1D8M3I35M1I14M3D41M1D3M5D12M5D60M1D71M5I13M2D43M5D16M2I72M5I3M4I4M3D8M4D3M4D23M3I11M4D8M2D29M4I5M1D218M4D61M3I2M5I8M5D36M1I18M3I1M2D43M4I29M1D5M1D8M3I48M2D19M5D77M3I29M2D8M4I16M2I9M2D115M2I3M4I76M4D62M3I3M2I43M3I5M1D5M3I44M5D81M2D86M1I2M4D17M1I24M2D9M1I72M1I80M1D9M4D36M3I28M1D27M1D38M2I2M2I4M5I14M5D40M4D62M5D7M3D36M4I17M1D67M3D1M3D13M1D9M4D36M3D19M3D39M5I11M3D16M4D4M2D32M4I18M5I36M1I30M3D54M4I72M4D31M1D12M3D20M4I100M1I2M4I11M3D16M5D2M1I1M3D41M4I53M2I29M5I2M5D10M3D22M1I41M2D4M3D15M3I10M4D14M5D31M2D32M3I111M3I142M5I22M4D14M2I32M3D32M5D16M1I26M1D18M5I123M3I9M2I29M5I36M5D2M1D18M2D28M4I59M4D11M3I5M5D10M4D34M5I8M5I54M4I1M4I44M2I34M4I51M1D2M4I27M2D27M2D33M1D9M5I38M2I34M5I22M1D73M5D19M3I4M1I16M5I18M5I1M4D37M5D9M1D2M5D124M4D106M1I12M5I7M3D7M2D89M5D20M3D5M1D14M4D60M2I114M3I24M3D12M4D6M4I16M3I29M5I15M4D38M5I5M1I8M1D6M2I31M3I139M2D29M1D30M2I1M3I22M5I4M4I20M3D63M3D4M3I7M4I15M2D2M5I12M2D54M1D6M4I29M5D42M1D82M3I16M5I74M1D35M1D17M2D29M4I95M5D54M2D132M5D28M3D7M3D12M3D10M4D14M2I30M5D29M5I68M2D28M2D234M5D4M3I94M2I27M2D12M1I6M5D19M4I13M4I43M2I19M5I48M1I84M5I5M3I15M2D37M3I4M2D23M3D7M2I19M2D103M2D4M4I94M3I67M4I6M3I6M5D82M5D4M1D5M4D24M3D4M5I16M4D21M2I46M4D37M5D16M3D36M5I10M1I89M1I12M5I7M4D7M4I53M2I65M2I8M4I139M2I6M2I14M3I30M3I15M1D47M2I7M4I2M3D6M4I2M2D74M2I24M1D1M4I22M3D47M5I10M1D62M1D28M5D1M1D35M5I35M2D15M3I12M3D141M1I67M5D18M2I30M5D9M2I3M5I53M2D34M1D36M2I38M5I177M5D15M1D104M5I47M4D4M5D6M5D43M5D63M2D72M3I71M2I142M1I3M3I28M4D56M1I3M1D20M1D7M3D6M4I13M1D8M2I38M3I77M2I30M4I60M1I25M3D70M5I70M2D32M1D61M4I4M3D32M2D35M1D1M1I41M2D23M3I12M4I86M2I4M4D23M2D10M3I31M4I129M5I9M1I5M2D1M2I3M5D115M3D2M4D21M2D9M5I18M1D3M1D6M3D43M2D60M4D28M3I56M4I1M3D57M2I7M5D31M4D8M1D36M3I82M1I31M5I75M3D16M3I24M4I20M1I7M4D15M1D64M5I2M1D27M1I1M4D23M5D64M1I40M3I49M2I3M5I18M2I32M5D69M3D5M5I49M3I4M1I17M4I43M4I55M2I16M5D23M1D63M2D40M1D2M4D87M2D41M1I3M4I22M1D24M2I18M1D47M4D62M5D54M3I34M5I56M1I9M4D6M2D34M2I86M1D130M3D24M5D36M3I27M5I5M1D32M5D3M3I24M4D3M4I9M5D40M5D42M5I15M4D7M1D29M5D5M1I60M2D11M5I15M4I3M4D47M5D25M2D32M4D24M3D48M3I19M5I4M4D87M4I17M5D54M2D55M1D23M3D5M5I178M5I16M3D13M4I141M1I49M2D32M1I61M1D34M1I104M5I1M5I35M1D16M1I7M2D90M2D55M5I50M5D33M2D8M1D153M1I40M5I15M4D3M4I82M5I70M1I6M5D13M2I57M2I29M1D28M5I4M5D19M2D23M4I6M2D68M1I28M1D20M3I64M2I21M1D28M1D33M1I39M2I25M5I3M3I7M4D29M4D1M5I11M5D6M5D10M1D23M5I14M2D12M1D57M2D3M4I42M4D1M4D12M2I36M2D40M1I11M3D63M2I16M3D90M1D2M1I37M1D36M1I10M1D7M1D26M3D1M1I147M2I31M2I22M5D86M5D27M3I48M5D22M5I107M1I22M3D7M4D12M3I160M5D23M1I12M3D38M1I57M1I12M1I9M3D44M4D13M3D62M1D5M5D153M2D14M3I49M4I25M2D6M5D66M2I12M3I28M5I9M2D33M5I26M2I4M5I57M2D4M4I43M3I15M5D55M4D79M5D57M2D9M1I12M4I2M3D27M5I11M1I31M1D18M4I9M1D71M4D31M5D13M5I7M4D2M5D36M4I3M1D8M5I1M5I33M3I21M1D38M4D17M2I1M4D27M1D42M5I23M5D1M4D245M4I1M4I21M2D19M3D42M5I3M4D52M5I37M3D10M5I9M5D44M2D8M4I30M5I11M2D9M1I22M5I122M4D119M5I16M4D21M1D6M5D25M5I69M3D99M5I8M5D4M5I27M3D3M4D11M1D14M2I12M3D15M2D7M5I8M5I61M2I2M3D3M2D15M2I21M1D21M5D1M2I10M5D6M3I59M2I8M2D23M3D33M1I60M1D88M2I36M2D158M5D97M2D34M3D16M1I50M1I114M3D47M1D98M3I32M5D6M1D8M2I69M5D14M4I4M5D3M5I4M5D2M2D12M2I21M3I7M4D25M3I43M5D9M4I3M2I23M3D2M1D1M5I66M5I38M2I25M5I12M4I8M1D26M1D16M5D31M5D44M3I88M1I21M2I49M2D26M2D26M5I37M1D6M3D24M1I21M5D17M5D13M4I9M5I19M2D1M2I92M4I107M2I43M5D9M3I28M5D3M1I4M5I21M2D12M3I78M3D4M2I39M5I5M3D54M1I2M3I38M3I2M3D14M5I61M5I61M2I16M1D24M3I4M2I2M3I27M2I53M3D8M1I28M2I38M1D27M3D8M1D18M4D6M4D1M4I30M4I33M1D56M1D59M5D16M1D30M2I58M2I60M1I50M4I3M3I25M4D32M3D30M3D47M2I31M5I50M4D27M3I37M5I27M4I37M1I21M4I72M4D11M3I76M4I34M5D7M4I42M4I6M4I18M5I17M3I153M5I28M2I55M2I54M4I27M2I27M4D39M1D47M2D44M1D2M4I26M1I3M5D22M3D21M3D41M5D76M1I15M4D2M5I41M5D318M4D2M1D3M1D17M5I32M1D37M3I11M1I31M5D18M3D15M3D1M3I13M2I41M4D68M2I24M1D23M2I34M5I3M1D7M1I29M3I10M3I37M1D15M1I11M1D57M3D26M4I37M5I40M5D26M4I57M5D6M5D44M2D1M1I46M5I3M5I127M4I33M3I51M4D3M5I23M2D19M3I72M4D34M1D5M5D16M1I36M4D20M2I22M3D9M4D5M5I15M1D1M5I3M5I18M2I19M2D15M1D131M4I135M5I42M1D17M4D29M1D25M4D10M4I10M1I15M2I9M2D6M1D18M4I47M2I36M5I109M1D76M5D51M1D15M3I12M2D35M1D6M5I1M2D9M1D7M5D39M2I40M4I16M1I23M2I32M2I53M3D1M4D15M2I36M3D94M1D24M3I35M1D4M4D7M3D4M2D28M2I18M5I3M5I7M1I85M4D43M3D50M5I47M2I7M5I6M2D6M3I8M4D8M4D176M5D30M2I21M5I14M4D50M3I73M5D39M1I4M4I16M4D20M2I2M5D16M5D5M5D26M2D18M3I65M1D19M2I92M1D23M2D3M3I63M3I14M1D21M2I32M5I13M3I29M2D7M5I3M4I63M3I39M2D5M2D31M2I21M2D5M5I36M3D4M5D59M5I85M4D36M5I32M2I72M5D61M4D16M1D52M1I110M5D3M5I27M5I40M1D9M4I23M5D5M2D51M4I21M5D14M1I90M5D98M5D18M3D68M2D5M2I10M1D45M5I8M2I55M2I40M3I7M3D30M1I11M2D13M3D1M2D67M1D32M4D40M3D38M5I21M1D1M5I22M4D5M4I3M2I44M1I5M1D56M2D12M3D91M1I118M5D4M1D24M5I12M3I4M3D8M3I14M4D72M3I63M3I7M4D25M3I65M1D33M5D2M1I19M3D56M1I18M5I21M1D2M5I14M4D44M3D2M3I5M4I1M2D13M4I24M3D24M3D8M5I99M5D51M4D33M1D11M1I12M1D53M3D4M3D44M4D108M2D2M5I4M5I58M1D20M3D127M4I24M1I26M3I4M1I16M1I155M3I2M5I45M2D50M3D70M4I52M4I38M4D23M2D51M4D9M2D11M2D12M1D2M2I24M4I26M5D45M4I83M4D41M4D204M1D27M5I3M2I32M4I7M3I27M3D69M2D42M2D26M2D7M1I56M2I32M2I75M1I131M4D33M4D1M3I4M4D4M4I15M3D65M1I3M2I1M1D61M2I39M4I3M2I40M3D12M3D32M2I9M4D65M3I61M4I50M3I31M1I75M2I121M4I5M3I56M3I49M4I21M1I14M5I29M4I5M1D14M2D22M4D96M2D114M5I12M5D29M5I12M5I21M3I8M3I46M5I37M1D18M1D27M5I23M1D20M3I28M3D19M3I61M2D11M3I14M4D29M4I45M3I2M4D2M3D86M5I22M5I30M2I9M5D10M1D18M5I92M4I44M1D102M1I19M4I15M3I10M3D33M2D40M5I12M5I54M3D9M1D6M5I48M3D82M3I20M4I64M3I12M4D9M2D3M1I27M4I7M5I22M1D18M2I108M2D68M4D49M5I21M2I41M3D49M2D31M1I24M4D26M5D11M1I7M5I14M3I11M5D22M3D47M4I29M1I16M2I8M1I15M5I16M4D90M4D5M4I10M1I19M1I57M2I8M4I14M5D8M4I25M3I86M2I26M3I14M4I33M2I50M4D69M5I15M2I172M2I1M5I71M3I2M4I42M3I2M2I25M1D55M3D3M1D78M1D40M5D65M3I1M4D6M5D22M1D3M4I66M3I72M1D3M3D19M5D10M5I25M1I11M2I20M5I17M5D34M2I3M2D8M4D1M2I54M2I21M5I23M1D22M4D2M3D12M2D28M5I25M5D41M4I14M5I3M1D103M1D54M2D93M1D8M1D2M4D49M5D26M2D20M3I8M5I7M5I1M5D24M1D45M5D128M2I4M5I20M5D19M4I36M4D31M3D20M2I14M2I39M4D4M3D77M3D23M3D2M5D11M3D4M4D22M4I18M5I67M1D39M2I2M3I4M1I81M1D96M1D39M2D9M5D39M2D83M1D3M5I34M4D3M5D48M5D11M1I80M1I6M4I63M1I15M3D24M2I14M5D3M4I10M4D15M5D6M5D38M5I64M1I40M4D68M3I18M4I9M2D16M3I3M4I14M4D21M4D82M4D14M5I137M1I26M1D23M3I9M4I88M5D29M3I52M3D5M2I105M4I38M3D16M5I6M4I12M3I68M3I29M3I8M5I3M5D11M4D34M3D9M3I56M5D10M3D16M3I86M1I57M3D7M5I58M5D35M2I22M4D33M5D20M5D22M4D21M4I25M1I20M1I77M5D27M3I8M3D25M3D32M1D53M1D26M5I24M4D78M2I3M4I34M3D88M5D84M4D17M5I4M5D12M3I72M2D38M4D23M4D3M1D17M2D23M2I19M1D42M1I5M5D66M1D114M5I9M5D118M5I47M4D5M4I3M3I57M1D8M3D2M2I14M5D92M4I21M5I34M1D11M4D11M3I3M3D7M5I19M5D22M3D63M5I8M3I54M4D34M5I7M5I45M4I15M2D88M4D15M1D15M2D5M4I66M1I33M2I18M2D54M2I2M3I119M2D4M4D55M5I59M4D29M4D121M3I30M3I39M2D25M3D25M3I5M4D19M2D32M5D89M3D21M1D68M5D17M2D16M2I89M1D1M3I42M4I3M3I27M5D44M5D37M1D15M4I13M2I19M1D62M1I1M2D4M1I74M1I47M4D16M1D3M3I44M4D15M4I49M1D1M2D56M3I55M5I44M2D12M4I6M5I48M3I11M3D20M1D31M1I23M5I54M3D31M5I10M5I8M2I13M3I3M4D6M3D34M1D24M3I55M2I1M5D3M4D83M5D20M4I11M4D85M1I34M2I56M1D19M4I14M2D1M3I104M3D2M2D63M3D1M2D38M1I31M1I66M4D7M4I7M1I25M3D1M3I4M4I4M1D29M3I16M2D29M3I47M2I60M2D23M1I57M5I18M2I26M4D34M4I14M2D23M3I102M3D29M1I72M1I22M1I17M2I75M2D14M3I1M3I17M4D29M1D65M3D34M4I55M4I37M2D18M5D56M1I31M2D3M5I21M5I12M4I2M4D2M4D51M4I158M2I1M2I24M2I42M4D51M5I10M3D4M3D148M4I42M4I35M4D34M5I19M3D10M4D4M1D25M1D1M3D34M4D13M2D68M2I66M1I23M1D14M2I34M5I96M3I12M4I44M3D23M5D2M5I12M1D23M4D77M4I7M1I26M2I4M1D11M4I41M3D127M3I17M1D68M1D33M5D6M5I41M1D32M2D69M5D66M5I26M5I65M2I14M1D4M2D2M1D4M4I7M2I4M4I11M2D22M3D46M1D25M2D10M5D6M4D6M4I2M1I10M5D18M5I22M5D1M5I59M5D24M4I26M2I23M3I31M5I62M1I2M2I3M4I37M3D3M3D1M3D4M4D10M1I26M4D32M5D6M1I23M5I6M5I12M2I1M1I61M3D48M2D19M4I12M2I24M2I11M3I37M5I79M3D15M1I2M1I83M4I9M2I14M3I44M1I38M4I7M3I28M5D18M4I29M2I42M3I127M4I78M2D17M3D16M5I25M3D91M5I13M3D18M5I61M3D19M5D35M1I1M2D19M3D22M1I70M2I8M4D8M1I19M2D27M2I35M1I49M1I34M2I47M1D115M1I261M3I35M3I4M3D31M5D12M3I64M5D24M4I41M1D16M1D4M5I5M2D21M4D31M4D117M5I31M1I76M3I22M4D76M3D12M5D1M4I9M3D28M2D1M4I7M3I2M5D14M5I24M1D7M3D3M4I57M3D101M3D4M3D6M4D13M4I56M4D5M5D26M5I5M4D7M2D62M2I20M3I3M5I78M2I9M2I24M4D160M5I51M1I41M1I11M1D8M5I166M4D16M3I21M4I11M1I54M2I68M4D44M1D20M1I22M5D3M1D56M3I5M5I18M2D19M2I14M4I14M5I52M2D14M3I60M5D10M4D7M5D18M4I192M2I59M4D65M5D9M1D18M4I68M4D43M2D16M4I59M2D6M3D42M3I14M5D16M1I21M2I74M2I17M2I19M5D9M1D11M5I7M1D1M4I55M3D47M1I26M3I51M2I4M2I28M2I12M1D76M5D40M2I18M2D8M1I1M5I20M5I14M2I1M5I24M3D18M1I1M1D63M5I21M1I12M1D44M5D23M1I26M1D24M1D27M1I72M4D18M4D30M2I23M2D2M3I12M5D64M4I50M3D96M4D16M2D22M1D35M4I75M2D5M1I50M2D10M5D12M3I17M3I14M4D113M5D40M4D38M1D110M4D2M1I75M2D18M4D44M4I18M1D86M5I19M4D5M3I236M4D9M3D29M4I156M5I47M5I2M4D4M2D47M1I12M3I25M1D24M1D56M1D17M4D4M3D40M4D43M5D11M4I19M4D15M2I50M5D9M3I9M5D25M5D19M3D23M3I3M5I2M5I46M3I1M4I4M2D6M3I4M2I5M4I3M4I2M1D22M3I6M5D34M4I11M3I20M5I32M3D19M2I151M4D24M2I40M2D6M1I12M4D72M3I16M3D31M2D10M2I21M3I28M4I30M1D20M4I32M4I25M5D3M5D51M2I1M5I16M4D28M4I9M5I9M5D2M4D60M2D45M1D4M1I49M5I32M1I5M5I94M5I16M4D49M3I3M2D2M5D61M2I34M3I6M2D14M1I26M1I5M2I9M3I9M5I28M3I21M2D6M1D31M3D26M5I33M5D115M4I86M1D10M1D46M1I1M1I28M2D18M1I20M1D79M5D5M4I10M4D16M2I63M3D4M2I54M2I4M2I21M1I52M3I36M1D16M1I27M2D4M5D68M4I13M3I6M2I14M5D37M3D31M4D15M5I35M2D28M5I2M4D30M3D7M1D65M4D49M4D38M4I19M4I43M4I69M4I39M5I125M5D13M3D1M2D14M5I14M3D59M3D6M2D1M2I3M3D52M3I38M3D15M5I69M1D124M4D5M4I66M3D18M3D30M4D4M5I16M3I28M3D35M4I8M5I11M3D44M2D22M4I19M2I23M4D145M3D35M3D61M5D18M4I22M4D11M1D78M2D12M3I4M5D37M2D6M2D34M1D25M5D6M4D40M1D27M3D23M5D106M1I21M5I22M5D18M1I39M4I6M3D37M1I14M2D18M2D25M4D7M3I3M3D16M1I59M2I31M5I19M1D43M5I3M3I14M1I37M5I24M2D51M5I35M4I4M5I12M1I30M3I14M3I12M3D33M5D5M4D40M4I12M1I6M1I93M2I6M5I33M1D19M4D60M1D5M3I46M3D6M5I61M5D52M3I14M5I41M4I91M5I26M1I34M4D19M3D8M5I98M4I8M2I74M4D15M4D13M4D3M4I72M2I6M4D14M2I73M3I19M1D40M4I15M4D75M1D14M1I8M1D12M1I23M1D28M3I84M5I30M5I57M5I35M1D17M2D61M1I85M5D56M1D147M5D25M2D6M5I10M3I16M1I51M5D38M4D6M2I21M5I37M1I31M5D5M5I27M3D80M2D19M3I3M1D1M3I127M1D36M2D19M3I1M4I15M3I5M5I42M1I28M3I36M3I26M5D31M4I2M1D8M4I48M4I49M2D3M3D72M3I115M3I134M3I31M5D50M5I13M3I7M4D68M3I2M1D11M2D11M1D1M2D55M4D52M4D11M3D2M4D86M4D12M3I51M1I10M5D21M5D54M4I8M3I21M1I235M4D60M4I8M5D19M2I19M5D27M5D12M3D11M5D1M5D55M2D12M5D9M3I9M2I66M1I51M2I3M1D4M2I24M3D51M4D19M3I31M5I51M2D27M2D11M3I24M1D19M3I9M1D51M3D26M3I21M5D58M3D34M5I76M1I7M5D3M3D24M1D33M3I14M3D39M3D15M2D74M3I27M4I9M2I21M4D42M4I34M3D84M5I116M1I5M2I38M2D35M4D55M2D2M5I13M4I3M2D23M1D57M5D26M4I46M4D30M1D40M2I9M4D22M1I5M1I17M2I7M4D19M2D6M5I13M4I43M5D44M1D7M2D7M4D90M5I48M1I25M3D2M2I15M4I30M4I18M2I36M4I19M4I2M1D170M2I21M4I23M2D29M4D34M2I7M2I8M5D4M3D22M5I48M5D82M4D35M4I12M5I39M1D66M5I26M4I6M1I3M2D190M5I21M2I11M2I17M4D31M5I37M4D12M2I42M5I31M1D26M5D13M5I39M2I9M1I138M5I6M1I40M2I2M5D45M4I18M5I17M4D22M4D14M1I18M5D38M5D2M2D44M1I6M5I65M1D129M2I36M2D18M4D36M2D21M3I14M4D37M1I71M5D59M4D120M2I18M3I79M5D33M5I8M1I3M4D49M4D23M5D4M1D14M2I15M1D11M5D53M4I70M2D159M5D4M2D27M5D8M3D30M1I23M2D56M2I145M3D77M5D12M4D15M5I22M2I7M4I119M5D76M4I13M1D43M2I87M3D14M4I2M4D59M4D12M2I33M2I68M3I7M3D15M1D117M1I26M4I36M3I48M2D8M3I122M3I73M4D50M3D13M1D63M2D24M1D1M4I22M4D11M3I2M4I40M4I43M5I25M4I90M2I6M2I8M5D5M3I39M1D17M3I28M5D6M3I6M2I37M3I93M2D73M1D52M3I31M2D67M5I22M5I22M3D7M3D27M3I18M4I1M1D14M5D65M4D64M4D74M2I22M1D91M3I18M2D7M1D45M4D36M1I6M2D20M2I5M2D11M5D66M3D28M2I22M3D97M4D63M3I199M1I51M2D2M5I59M1D26M1I92M5I21M3D13M3I35M4D16M5I5M4I12M3I18M1I25M1D57M2D24M3D20M3I4M1I21M2D49M1D44M3I36M3D13M3D40M4D41M3D43M5D16M4I14M3D7M5D27M1D11M2D88M5I59M1D32M5D39M3I49M3I28M4D22M3I9M5D21M1D13M2D51M1D16M5D24M2I36M5D15M3D4M3I3M3D20M5I21M1I61M3D28M1D21M3D15M4I16M4I9M1D23M4I13M1I14M4D18M2I17M5D52M2I50M5D36M4D15M4D6M3I14M3D1M1D26M1I5M2D71M4I12M2D16M3I9M2I35M4I52M1I18M3D18M5I28M5I47M3I59M2I10M2D2M4I19M4D2M4I2M4I9M5I13M4I93M5D41M3I56M4I24M5I14M5I5M5I9M1D11M3I7M4I71M5I22M2D9M1D65M3I2M5D4M1D85M2D2M5D45M5D3M4I27M3D25M5D1M2D46M1I76M3I5M1D7M4I6M1D32M3D17M1I23M5D18M4D40M4I13M1D26M5I21M1I34M4I8M3D7M4I8M1I1M3I6M4D1M4D37M1I16M1D50M2D70M5D34M2D6M1I52M4D6M5D10M5I4M1I4M4I11M4I71M4I31M4D42M1I25M5D33M3D87M2D11M1I9M5I2M5I18M2I52M5I12M1D3M1I15M2D13M2D50M4I1M2D106M5I7M5D16M1I79M4D10M3I29M4I16M4D167M5D27M4D7M4I14M5I3M1I28M3I26M1D22M5D2M2I36M2D74M1I7M2D15M1D31M2D16M1I89M4D3M5D14M4D31M3I32M5I27M2D18M3D12M2D37M2D6M3I5M2I30M5I8M1I14M1D39M4I23M1D4M2I22M4I4M5D13M5D12M3I47M5I3M3I45M2D43M4D27M5D24M1D69M4D44M5I53M5I4M5I47M2D42M2D61M3I1M3D22M3D2M1I5M4D7M1I45M1I13M3I19M3I4M3D59M1D7M1D8M4I50M1D20M1D19M4I57M2I47M5I44M1D5M4D2M1I16M1D31M4D2M3I86M3D12M3I5M2D27M4I28M1D42M2I17M2D37M2I48M4I21M1I29M1I77M1D46M3D49M3I7M2D9M4D32M1I47M4I33M5D5M1D52M4D19M4D6M5I40M1D8M3I2M1D107M5I23M5D16M5I27M5D9M2D30M1I9M3D59M4I48M5D30M4D48M4D6M1I19M1I10M1I22M4I9M5I30M5D2M4I19M1D30M1I29M4D113M1I54M1D36M5D16M5D62M2I19M4D88M3D63M1I9M1I9M2D85M4I14M2D25M2I11M3I4M3I72M3D55M5D6M4I69M3D37M1I9M5I38M3I68M3I36M4D7M3D3M5D41M4D36M4D73M2I4M2D10M1I7M4I103M4I9M2I39M1I7M5D27M4I16M5I7M4D5M3D29M5I21M4I18M5I2M1I37M1I35M3I63M4I35M3D8M3I7M3I41M2D32M1I10M1I19M2I8M2I38M4D1M4I2M1D23M2I5M5I31M4D9M3D46M1I7M3D3M5I19M1I46M5D39M4I15M5I82M1I55M3D11M4D23M1D99M4I73M5D54M2I38M5D23M3D50M5I14M2I1M5D5M4I15M2I44M5D56M1I1M4I47M2I1M3I38M1I1M4I17M4D34M2I29M4D20M3D3M3D21M5I1M1I32M3D59M2D13M1I7M3D20M4D8M1I54M2I30M2D12M2D58M1D9M4D8M4D8M3D94M4I28M5I17M2D14M3D71M3I1M3D50M5D3M4D21M2D14M5D8M3I2M5D4M4I34M3D21M5I83M1D4M3I23M1I58M4I49M3I1M5I44M3I16M2I27M1D3M2I4M4I38M3D17M3D76M4I44M5I35M5I31M4D24M3I19M1I42M5D35M3D6M2I132M5I13M1I6M4I19M1I16M3D12M2D47M5I31M3D34M1D45M1I17M2D6M3I3M4D109M5D3M5I57M4I43M1D17M4D11M5I13M5D84M2I39M5I8M3I25M5I11M5I24M5D49M2I37M3I15M3D157M5D42M2I64M1I4M1D39M3I27M1I41M2D10M4I68M2D37M3D28M1I40M4D7M4I8M2I51M2D27M1D12M1D87M4I12M3I1M3I53M4D9M5I10M1D1M1D41M5I5M5D18M1I67M1I58M5I38M5D48M5D8M5I19M4I7M4I48M4I19M5D8M3D103M2D37M2D14M3D21M2I1M1I66M5D4M5I17M3I46M4I1M1D94M2I5M2D14M1D18M3I8M4D47M5I41M5D15M2D6M3D62M2D22M5I60M1D4M2D16M2D20M4D19M1I8M1I2M3I35M3D16M2D59M1I10M3D57M5I16M1D6M2I147M2D52M4D21M3D5M1D19M1D6M4I42M3D18M2D8M2D15M2D6M1D40M1I48M2I27M1D90M1I6M2D11M1D2M2I51M3D2M3I13M1I79M2D15M4D10M1I29M4I46M2I1M5D11M4D14M1D24M4I19M4D25M2D52M4I12M2D122M3I1M1I10M5D1M1I3M2D31M4I41M1D67M4I8M2D32M5D39M3D7M1I17M5I14M5I26M4D21M2I8M5D5M1I43M1I9M1D5M5D77M2D60M1D43M5I51M2I49M3D22M1I27M4I22M4D1M2I5M1I14M5D13M1I54M5D43M5D51M4I23M4D2M3D7M3D30M1I4M1D22M2D48M1D12M3D4M4I106M5D68M3D65M5I2M1I43M2I6M3I6M1I59M2D17M2I4M2I11M1I5M2D52M5D12M3I7M4I15M3D28M4D52M4D2M2I12M1D11M5I18M2D8M4I28M4I3M1D33M5D55M5D28M2D106M5D15M5D15M5I2M3I2M3D17M4D13M2I21M3I44M3D13M3D2M1D17M2I23M2D2M2I33M3I8M2I14M4I86M5D28M2I67M1D150M5I9M5D124M3I58M5D119M2D20M3D39M2I2M1D11M1D30M3D19M3I6M4I37M2D3M3I2M2I7M4D54M5I16M5I22M4D11M2D12M2D26M2I17M1I23M4I22M1I46M4D8M5D7M4D17M1D8M4I4M2I55M2I30M3D4M5I28M1I20M5D10M4I16M5I21M3I28M5I29M4D8M3I5M3D36M2I26M1D3M4I16M2D103M1I66M5D45M1D86M5D17M4I20M3D9M4I27M1I9M4D4M2D53M3I57M4D36M2I4M3I2M1D47M3D26M2I115M1I17M2I14M2I46M3D9M2I14M3D4M3D71M4I6M2D7M5D34M3D25M2I11M1D11M5D13M3I104M3D7M4I28M2D19M3D228M4D37M2D44M3D17M4I35M4I6M1I69M1D93M3I8M4D22M2D11M1D11M5D3M3I39M3I36M4I58M3D31M1I4M5D61M4D28M4D8M4D1M5I41M1I1M5I26M1D16M2D21M1D49M3D19M4I31M5D20M4D18M5I80M5I9M4I20M1D61M3I1M3D71M3I80M4I3M1I8M5D5M3D1M4D30M4I49M2D9M1I41M1D15M5I4M3I12M2D12M1D1M4D64M5D24M1I21M1D17M5D11M5I45M5D35M3D45M5D21M4D14M1I12M3D46M3D10M2D14M5I1M5D24M1D20M1D17M5I35M2D89M5I14M4I4M5I27M1D84M1D19M5I78M4D14M2I9M2D5M5D26M3D2M1D29M1I34M1D2M2D17M2I96M5I13M1D15M4I27M1D11M5D79M2D25M3D2M2D13M4D59M3D26M5D50M1I18M2I2M1D70M4D13M1D64M4D19M5I8M3D65M1D11M1I59M2I1M1I81M2I23M4I32M3D44M1D33M1D126M3I6M5I2M5D31M5I71M4D10M1I44M5I1M5D33M4D7M2D4M5I8M2D2M3I42M4I8M1I25M5D101M5D7M3D21M2D40M4I59M1I19M1I6M4I4M3I21M3D41M5D11M1I21M1I34M2I113M1I32M3D51M2D26M5I38M5D12M4I1M2I3M4I22M3D8M2D31M4I92M2I38M4D7M5D107M3D62M4I8M2D47M3I29M5D19M1D102M4D53M5D31M3D41M4D19M3I13M3I19M1I8M2D59M4D48M3D12M2I84M5D8M4I11M2D19M5D45M2D3M5D63M5I11M2D22M2I8M3I58M4I9M5I51M2D3M2I24M3D11M3D31M1D34M5I23M5I12M3I23M4I11M4I180M3I8M2I2M5I3M1D32M1I7M1I31M3D15M2I2M3D2M2D29M2D12M5I6M5I3M1D43M5I62M1D32M3I26M2D15M1D17M4D21M1D1M4I16M3I55M5I32M2I20M3I54M3I16M2I104M2D39M1D93M4I31M2D2M3D54M2I16M3I10M1D21M4D4M1I73M1I72M3D12M3D17M3D22M4D11M3I3M2I96M3D77M4I37M4I10M2D29M2D25M1D51M4D3M5I1M3I79M5D4M2D170M1D10M1I1M1D14M4I18M5D4M2D64M2I51M5I6M4D35M4I4M5I105M4D25M1I65M5I21M3I19M2I19M4D50M2D14M5D2M4I11M4D11M5I2M4I3M5D13M4D9M4I77M5D54M2I11M1I79M3D24M5D4M1I5M5D9M5I5M2I12M2D6M1D31M4D40M1I19M5I3M3I44M4I4M1I81M2D13M4I42M2I20M1D5M5I60M5I5M3D4M4I2M3D20M3D34M5I1M5I59M1I7M1I11M4D8M4D11M4D37M4I24M1I23M3D50M1I29M5D3M2D20M4D26M5I25M3D91M5D37M5D6M2D57M2D106M2I1M5D13M3I67M2I22M3D15M4I35M2D24M1D42M5I28M3I57M3I33M4I48M3I8M2I13M4I12M4D10M3I16M3D15M3I5M5I82M5D3M2D9M4D9M5D12M4I70M5D1M5I12M4D35M5D19M3I23M2D67M4D73M5D2M3D169M4I18M5D7M2I71M2I44M1D13M2D47M3D6M5D11M3I37M1I16M4D70M5D61M1D5M2D3M4I115M2D29M5D18M4I57M4D10M5I13M4I13M1I6M4D57M4I19M4I3M4D42M5I19M5I33M1D12M4I4M1D18M3I14M5D6M4I8M1I3M3I2M1I4M3I81M1D38M2D64M1I60M5D91M4D20M1D2M4D9M5I16M4D71M2I61M4D10M4D132M4D11M4I23M2I22M1I55M2I23M3D5M1D4M4D151M5I4M2I47M1D2M5I2M2D17M2I3M2D6M1I38M3I7M1I74M4D14M1D53M2D11M3D9M1I9M5D13M4I38M3D30M2D40M2D2M5D5M4D20M5D10M5D1M1I1M1I14M3I29M4I64M2D8M1D41M3D33M2I57M1D12M5I54M1D113M1I66M3I82M3D39M3D15M1D58M5I11M3D9M4D16M2I9M5D13M2I24M2D34M2D4M3I13M1D73M1D56M3D7M1I11M4I12M4D33M2D47M2D28M4D15M3I42M1D11M5I103M3I18M1I13M3D29M1D136M3D15M2D8M1D7M4I10M5D14M1I13M5I11M3I98M1I94M4I49M1D34M3I12M2D6M3D60M5D28M4D34M5D86M4I36M5I19M5I9M1I21M3I31M3I10M3D2M2I30M5I156M2I78M2D11M5I5M4D5M5I51M4D7M2D17M1I53M1I1M3D43M1I48M2D15M4I10M1I35M4I40M2I20M1I14M3D4M5D1M3D73M4I91M2D11M1I11M5I99M5I7M2I58M1D50M5I21M1D35M5D86M2D65M1I5M4D17M4D1M4I6M2D39M5I23M2D3M4I21M3I20M5I7M1I15M4D16M4I20M3D15M1I32M4I5M1I86M5D40M3D11M2I27M4I85M2D2M5I59M2I14M1I114M5D2M1I3M2D24M4I13M4I12M2D73M4D7M2I3M3I55M1I3M5D7M3I81M1D17M4I39M1D10M5D19M4I25M4I65M5I54M5D20M2D10M2I58M3I35M1I30M2D56M3D14M2I195M5D77M1I16M2D97M5D3M4D12M5D9M3I14M2D4M3D6M2D55M4D8M5D28M2D52M5I13M1I26M3I115M2I40M4I17M4I33M4I11M4D34M5I18M1D3M4D11M1I8M1D60M4D55M4D20M2D5M3D1M4D8M2D29M4D18M1D72M3D51M5D14M5D47M5D6M4I4M5I2M4I18M5I135M5D7M3D50M4D17M2I26M4D12M2I6M5D38M4I2M3I52M2I5M2D2M2I4M1D14M3D5M3D50M5D59M5D10M3I20M1D9M5D160M4I8M2I71M1I59M1D6M3D32M3I28M4D70M2D76M5I28M2I21M4D7M1D10M4D8M3I27M2D15M5D9M3D11M4D52M3I19M5I100M5D55M4I1M3I19M4D3M1I34M1I17M3D15M4I30M4D115M5D126M1D21M5I20M2D1M4I49M1I15M5D42M4I32M2D6M4I31M5I8M2I58M2I1M2D69M1D6M2I34M4I21M4D21M3D68M4I35M2I28M2D22M4I5M5D27M5I39M3I5M2I155M2I24M2D59M4I31M1D16M5D6M5I40M3I26M1I38M3D6M4I21M4I20M5I3M1I8M2D46M5D36M3I12M3I39M2D10M5I3M2D9M3I28M5D2M5D24M4I100M3D17M5I69M3I30M5I27M2I1M5I49M3I63M2I4M5D16M4I45M5I85M4D25M3D21M4D16M5I211M3D12M4D14M4I30M5I23M5I4M5I6M5I8M1D11M1I48M3I29M1D14M3I35M3I32M2I10M1I27M4D107M2D71M5D52M4I1M4D2M3I8M5D50M4D15M2I59M5D3M1I8M1D37M2D69M3I58M3I2M2D67M5D15M2I46M3D27M3D54M2I55M4D18M2I134M2D35M4D84M3I49M4I34M2D39M3D30M2D14M3D32M4D30M3I8M2I123M2I70M5D5M4I22M1I31M1I9M2D5M2D20M2D28M5I36M2I41M1I14M2D98M3I3M4I8M1I37M4D1M5D62M4I30M5I38M5D26M1D18M1I18M2D28M3I8M2D65M4I10M4I4M4I8M4I8M2D21M5D30M5D42M1D5M3D13M1I54M2I39M4I59M4I44M5D5M5D9M3D64M4I3M5I21M4I15M4I31M5I42M1I49M5I49M3D6M2I10M5D24M1D45M2I2M4D22M5I16M1D20M3I12M5I3M4I13M3I73M2D27M3I9M3I20M4D1M3I3M1D2M4I2M1D48M3D5M3D90M5D19M3D8M5D12M4I3M4D1M4D18M5I9M2I66M4D10M2D81M2I18M5I16M4I71M5I13M2I12M3I55M4D2M3I31M1D13M2I73M5I18M2D6M2I13M1D29M3D91M3D1M3D62M4I37M2I82M2D10M3D11M3D18M2I63M3D19M4D12M3I16M4I21M4I21M4I59M5D12M5I48M5I4M3I64M5D17M4I1M3D41M2I30M5D6M5D5M1D7M2I25M2I6M4I15M3D39M1D34M1I21M5D35M5D4M1I23M3I40M3D58M5D24M3D139M4D85M5D5M3D1M5I45M3I1M4D3M4D30M3I3M5D39M2D124M3I19M2D68M5I1M1D13M5D24M3D14M3D6M4I7M4I6M5I9M3D43M1I62M4I15M1I2M5I19M2D26M4I11M3I39M1D21M1I3M1I32M5D90M3D36M2I29M5D5M2I33M5D40M4D18M1D62M4I22M3I7M2D14M4D29M2I38M2D95M2D10M4D6M3I5M1I16M5D4M5D16M1I45M5D8M2I1M2D39M1D45M2I13M5I3M3D49M3I23M4D8M1D73M3I14M1D48M3I9M4D7M4I7M4I9M4I8M1D7M5I23M1D4M2I16M4I26M2I20M5D8M2D45M3I14M3D12M2I26M1D47M5I19M2D1M1I10M5I50M2D21M5D4M3I48M3D16M5D49M1I19M2D17M5D7M2D10M1I46M4I1M1I20M4I23M1D20M4I54M4D71M2D3M5I1M3D82M5I12M3I36M1I2M3I86M5I20M1I18M2I40M3I63M1D22M1D23M1D46M2I50M4I104M3I8M3I36M3D81M3D22M5D131M3D41M3D3M4D16M2D17M5D9M5D2M5I29M4I25M5I12M4D23M5D43M3D17M2I26M2I6M1D42M1D57M4I7M2I22M1I10M5I17M2D23M5D15M1D8M1D9M2D28M4D15M5I12M3I1M2D23M5D17M3I29M3I39M3D9M3D58M1D168M1D48M1I6M1D23M2I10M2D4M3D27M5I46M2I24M2I19M2I30M3I248M1D21M1D14M3D42M1I18M3I33M2I19M3D19M1I65M1I21M1I21M1D36M4I14M1D7M2D42M4I19M4D107M2D35M4I37M2D57M1D80M1I66M1I1M5D20M1I41M2I16M5D21M4D40M1D24M3D17M1D11M4I14M4I12M4I40M5I81M2I13M2D28M4I66M5I21M1I111M2D87M2D4M2D19M1I12M5I1M3D19M1I71M5D50M5I7M3I41M2D62M1D27M5D121M4D7M1I24M5I5M5I19M4D37M4I20M4D59M1D77M3I27M2I34M2I26M4I15M1I14M2D85M3I14M1I2M3D5M3I21M2I16M5I17M2I6M3I1M5I43M4D7M4D38M5I24M2D7M4D54M3D2M3D26M1I29M4D34M4D1M1I7M2I23M5I26M3D26M4I14M4I99M1I112M3D116M4I6M3D22M3I46M2I90M2I51M4I50M1I15M1I4M1I23M3I23M4D3M3D8M3D26M2D28M4D16M1I101M4D41M1I15M4D7M5D8M5D1M2I62M3D50M2I47M2I12M5D97M2D12M4I8M3I27M4D17M1I51M3D72M5I5M1I68M5D31M4I6M1D15M4D9M5D54M1I21M1I6M2I13M4D4M5D9M4I79M4D21M3I28M5D4M1I21M4I5M2I37M3D10M5I29M4D13M5I8M5D33M5D10M3D40M1D63M5I8M2I7M5I62M2D8M3I5M3I53M5I17M4I39M3I15M2I7M5I42M2D39M2D95M1I99M1D3M2I44M5I22M2I20M2D36M2D7M5I63M2D5M2I84M1D70M1I53M4D21M4I72M1D19M4D31M2I3M3I56M1D9M4D44M3D58M1D24M4I18M5I31M1I24M2I67M3I22M1D53M4I10M3I45M1I37M1I4M3D6M1D140M2D27M1I107M1I2M5D35M3D21M3D5M4I100M3I11M3D31M4I45M2D42M1D35M4D61M2D14M2D29M1I46M5D8M1D61M2D34M3D17M1D22M1D18M2D39M3I45M3I27M5D1M4D89M4D29M2D25M3D3M4D17M5I17M4D1M5D46M1D41M1I151M5I26M4D24M1D93M4I11M2I61M3I31M1I2M4D24M2D15M4D73M2I8M2D2M3I20M4I18M3I22M1I32M2I18M1I4M2D31M5I6M1I4M1D2M3I99M1I13M2I4M3D20M1D31M4I22M3D25M3D16M1D3M5I46M2I2M2I33M5D14M3I19M1D122M1D47M3D3M2I46M2I29M1D39M3I2M1D12M2I49M1I47M4D158M4I24M1I36M3D23M3I18M4D61M2D15M2D36M4I30M2I2M5D24M5D3M1D2M3D34M2D9M3D4M2I16M5D136M4D3M3D4M3I17M3I32M4I22M3D29M2I10M4I7M1I1M3D10M1D38M3I17M3D13M4I23M1D43M1D17M3D7M4I18M2D4M1I32M5D6M4D26M1D56M4I26M3D41M2I22M2I7M5I3M5I2M5I29M5D23M4I34M2I16M5I10M2I2M2D55M1D6M5I52M3D43M3I78M4D18M5D15M1D8M1D16M4I10M3I67M1D41M5D3M4D9M5D17M1I25M5I1M1I9M3D54M2D20M5I17M2D27M5D30M4D59M1I8M2D47M4I1M3D13M4D83M5D13M5I121M4D13M2D2M3D15M5D13M1I38M2D29M3I84M3D33M5D126M2D9M4D99M1I29M1I9M4D4M5I12M3I12M1D34M3D97M2I15M3D19M3D11M5D46M5D7M5I30M3I35M5I67M3D20M1I12M5D31M5D13M4I14M2I13M4I7M5D18M3D26M4I64M4D7M2I48M4D66M3I56M3I41M5D9M2I5M5D87M2D11M3D69M5D46M2I17M2I4M5I46M1D36M1I2M4D9M1D29M2D4M5D23M4D31M4D42M5I1M3D25M2I44M2D21M3I16M2I120M5D44M5D38M1I45M1I19M3I10M1D5M3D62M1D8M4D35M3I3M3I3M1I5M5I10M4I42M2I66M5D85M4D16M4D2M1I78M1D74M4D6M4I50M4D11M3I37M3I17M2I7M1D24M5I60M3D3M1D1M1D42M4I21M5I104M2D14M2I9M3D115M1I32M4I28M4I39M1I32M4D41M1I88M3D40M4I27M3D2M2D17M3D4M4D18M3D13M2I22M3I4M2I30M3I23M5D161M4I19M4D41M2I13M1D66M3D11M2I15M2I31M3D55M1D62M1I2M5I10M4I15M2I168M1D7M3D45M2D55M1D45M1I20M2D65M1I46M1D46M1I2M1D7M4I20M2I3M2I66M4I36M3D7M5D51M2D17M2I4M2I100M2I1M5I10M5D8M1D23M5I78M3I35M4D13M1D72M3D39M5I21M1D1M4I22M1D119M3I1M3I26M5I4M4I5M3D41M3D10M2D132M5D34M1D35M3I34M2D7M3I11M3D6M1I28M3I27M1I25M2I14M4D1M4D51M4D25M1I62M3D7M4D33M4D10M3D16M2D36M4D55M5D25M2D5M5D7M4I58M4D14M3D4M3D60M5I26M2D64M1I10M1I3M1D4M5D36M4D18M2D17M3D1M2I32M5I65M3D9M3D65M4D91M3I13M1D10M5D31M3I120M5D17M4I35M3D12M4I10M5I7M1I15M5I29M2D7M1D2M4D2M5D2M3D29M2D20M3I19M2I26M5I19M2D29M5D29M4I45M2I5M5D18M4I70M2I22M3D27M5D8M5D12M1I4M4D64M3I3M4D31M3I4M5I35M4I17M3I27M5D25M5I11M2I12M3I9M2I39M4D9M5I18M5D11M4D41M2I28M3D10M3I1M2I67M2I56M3I8M4D3M2D3M5I2M5D31M5I26M5I7M2I32M3I37M3D61M1D16M3I46M2D7M2I44M1D11M5D4M4I38M3I2M2D12M1I38M4I7M5I9M1I6M4I40M2I20M3I34M2I5M1I38M5I15M5I46M3I85M1D14M5I32M4I13M3I12M1I76M4I40M2I76M3I14M3D13M2I1M2D78M5I23M1I3M1I18M3I36M4D9M1D16M5I42M2D32M1D30M2I18M4D42M4I18M2D117M5D12M3D22M5D21M2D18M2I81M3D7M2I81M1D39M4I32M5I33M1I48M5I26M4I17M2D41M1I110M5D13M2D51M1I69M4I18M2I32M3D46M5I14M1D30M3I27M3D34M3I5M3I45M1I67M1D7M3D13M2I11M4I18M1D21M2I91M5D51M1D1M4D6M1D23M5I32M1I11M2I19M1I8M1I49M4D44M4D23M3D11M1I45M4D55M5I7M1I2M5I64M1I30M3D34M3D1M4D42M3D2M5D68M2D59M5I12M2D2M4I24M4D15M4I21M2I46M1I19M4I37M1I14M2D63M3I100M4I17M5D85M2I130M1I32M1D65M5D79M5D10M4D27M5I85M5D6M2I50M3D28M4D7M5I11M5I1M2I8M2D2M5D66M5I30M1I18M5I43M5D3M2D5M5I57M1I90M5I32M2D27M4I28M1I75M1I85M3D38M4D57M5I18M2D97M1D1M1I23M4D1M5I6M5D51M2I59M1D24M5I25M4I23M4D49M2I131M5D2M4D3M5I32M3I25M5I7M3D14M5I9M5I61M2I6M5I4M1I5M3I64M5I12M2D28M1D13M4I46M1I13M1I42M2I1M3I45M5D37M3I5M1D14M1I21M1D147M5D17M3D84M5I3M4D10M2D13M1I13M4I75M5I2M1D6M2D13M3I32M2D8M2D22M4I52M1D4M4D10M4D16M4I3M4D3M1D23M4I6M4D33M3D238M2I5M5I9M3I5M3D12M2D16M4I35M4D41M4D7M3I26M3I17M3D132M3I29M3I24M5I49M5D2M1D10M5I30M1D26M2I16M5D76M2I105M2I66M4D8M3I2M3I103M5I1M2D47M2D61M1D14M4I1M3D3M5D4M2D48M3I36M2I13M4D1M3I20M3I26M1D42M4I19M1D21M1D26M5I49M3D18M5D15M4I7M3D30M3I23M2I80M2D2M3I4M4D7M1I10M3D33M3D42M5D11M5D1M4I15M1I38M2D117M2D33M1I11M1I112M1I23M1D24M5D32M4D30M2D37M1I37M5D16M5I14M5I30M1D26M5I40M3D9M2D8M4D2M2D14M1I19M4I19M2I90M3D16M3D9M1I23M4D19M1I13M2I49M1D47M5I35M3D33M3I21M4D1M1D70M3D75M5I137M5I21M3D73M4I14M1I53M5D17M3D59M5D21M3I43M3I37M2D8M1I53M2D22M4D111M3D48M4D35M4D10M1D46M5I39M1I300M2D19M1I38M2D52M3D29M5I102M5D17M3I26M4D12M5D86M3I5M1I13M5I21M5D14M1D42M3I27M3D12M1D9M5I51M3D76M4I2M4I52M5I98M2D47M5I19M1I30M5I9M2I24M2D42M3I22M3D1M1I39M1D12M1D151M4D25M3D1M1D21M5D10M1D36M2D35M4D38M5I13M4D83M2I13M1D40M3I16M1I14M4I45M3I9M3I29M2I18M2D24M4I4M2I40M3D46M5D2M1D11M1I21M1I30M3D17M1D16M1I13M1I37M3I3M2D21M2D19M2D11M2I10M3I120M3I44M2I4M5I45M4I122M4D27M5D20M4I50M5D22M3D21M1I6M1D26M1D23M3D17M1I49M2I7M4D37M2D74M2D7M4D81M3I6M5D9M1D8M2D40M1I7M4I24M3I1M3I36M4I32M1D1M4D21M1I12M5D91M3D3M1I36M1D15M4D13M5I57M1I123M5I10M1I75M3I162M3I22M1I6M1I18M5I31M1I43M3I83M2I57M5I43M2I6M5I19M2D77M1I33M5I10M3I9M2I34M1I7M3I47M5D17M2D37M4D25M3D23M3D1M1D16M4D1M1D12M3I29M2I1M4I28M1I4M5D65M4I26M4D4M1I59M3I21M4I51M4D16M4I81M1D4M3D54M5I82M3I10M3D73M5I59M2D32M5I11M4D5M3D46M2D15M4I10M3I35M4D11M4I52M2I4M4I23M5D41M4I78M2I115M5D1M3D5M4D6M5I10M3I13M2I1M2D68M1I17M1D1M2I8M5I20M1I49M2D32M5D75M3I11M2I29M5I15M4I31M4D25M3I87M1D22M4I20M3D11M2I10M1D39M1D6M2I138M3I102M5I10M2D50M5I32M2I34M4D4M1D6M1D22M5D8M1D17M3D2M3I65M2I15M1D5M5I16M5D7M5I23M4I10M5I9M2D14M4D27M1D22M1I43M5I59M3I11M3I61M2I38M2D11M3I52M2D129M2I40M4I28M4I25M5D10M5D75M5I92M3D15M4I8M5D1M5I90M4I17M4I167M2I36M5D106M2D61M4I99M1D2M5I39M1D43M4D4M2D23M5I82M5I5M3D12M4D11M2I17M4D42M2I35M4I20M4I44M4D24M5D30M4I33M3I6M3I7M2D22M5D36M1I36M5D3M1I7M5I2M5D3M1D7M1D40M5I49M1I57M3D13M2D24M1I66M2I49M3I23M3I22M1I32M1D12M5I9M3D11M3D6M2D30M5D43M1D61M4D12M1I4M2I36M2I19M3I4M3D87M5I3M2I28M2D76M1I25M2I12M1I19M3I31M4D48M5I26M2I56M4D2M2D16M1I57M2D59M2I5M4D25M2D5M4D46M5I3M3I9M2I10M5D8M4I29M5I4M4I5M1I34M4D28M2D6M5D90M1I42M4I3M4D78M4D21M3D35M5I41M4D32M1D6M4D16M3D41M1I50M1I74M1I5M5I16M4D29M3D35M2I110M2D30M2I1M4D1M2D14M4D20M4I3M5I30M3I19M5D16M3I23M3D68M3I20M4I5M4D2M1D44M2I19M5I8M5I46M3D12M1D4M2D12M2D107M4D59M2D31M3D6M1I45M1D138M5D24M5I6M5I17M4I63M1I54M3I51M3I21M4I28M2I9M1D15M1D1M3D2M4D14M4I68M5I27M1I92M2I6M5D2M3I9M4D17M1D23M2D14M3I39M5I6M2I2M1I43M3I8M3I27M5D3M1I64M4I30M4D14M5D14M2I8M3D17M4I18M5I47M4D5M3I14M5D11M5I30M2D42M1D19M3I12M3I30M3D5M1D17M2I8M4I29M4I194M5D106M3I16M5D53M3D27M3I16M3D41M5D1M5D13M3D36M5I52M4D3M4D48M1I1M3D10M4D56M4I1M3I9M2D23M2D61M4D37M4D20M4I27M4D35M1I19M1D13M4I41M4D8M4I38M2D40M2D8M3I30M5D2M1D53M4I11M2I6M5D12M1I13M5I31M3I60M3D38M4D52M1D56M3I20M2D9M2I12M5I43M3D7M1D1M3I48M5I44M5D9M2I65M5D4M4D44M3I1M1I39M1D14M4I53M1D7M4I2M1D1M1I3M2I47M4I27M3I27M5D39M2I36M1I9M4I11M1I20M1I54M3D20M1I10M3D71M5D34M1D46M1I80M4I22M4I62M4I3M2D14M5I127M5I46M1D22M2D26M5D36M3D24M1I16M4I23M5I18M2I13M5I1M1D30M3D8M1I67M4I11M3D4M5I4M5D4M2I53M4D19M3I35M3I17M3I15M2D7M2D6M2D23M4I16M2I102M3I1M3D93M1D26M1I24M1I16M1I102M5D16M3I25M1I4M3D9M4I26M1I18M1I3M2D44M1I73M5D14M2I15M4D35M3D15M3I35M1I42M5D32M4D25M2D1M3I99M1D12M2I30M5D41M3D23M3I16M4I43M4D15M3I12M3D67M1I18M4D43M2D44M3I153M2D63M5D14M1D5M4D10M4D19M3D21M1D37M5D42M3D21M4I6M5I30M3D9M4I31M4D18M5D12M2I11M4D63M2D35M5I40M3D18M4D42M4I2M3I65M1I8M2I33M1I5M4D50M3D8M3I85M4D22M3I14M2D29M2I20M4D2M5I2M3I23M4D66M2I5M1D2M4D54M4D95M2I30M4D16M4D53M5I17M4D11M1I54M1I1M5I23M2D3M2D8M1I14M3D56M3I7M4I11M2I7M5I5M3D2M5D27M5I69M4I19M2D117M1I52M1I115M4D20M1D2M5I19M4I71M1I2M2D96M3D19M3D1M3D33M3I31M3D10M2I8M4D33M4I61M1I8M4D3M2D41M5D26M5D71M1I7M2D3M3I20M3I15M1I32M2I8M4I15M4D20M5I8M3I11M1I87M1I16M3D28M2D4M3D21M3D3M2D36M3I28M1D13M2I40M2I54M3D45M3I25M4D10M1D88M1D44M3D71M4I53M1I12M4I15M1D2M4D2M4I6M1D11M4D15M1I43M5D17M2I70M3I52M1I31M1D37M3I9M4D9M4D9M3I30M1D122M2D9M3D3M2D4M3D60M1I50M3D5M4I19M2D45M1I11M1I21M4I1M5I11M2D18M2I70M2D10M4D69M3I14M4I20M5I26M4I106M3I35M3I12M4I6M4D85M3I13M5D91M5D87M1I27M4I81M4D51M2D20M3D24M1I17M5I11M5I18M3I2M5I17M3I52M2D30M4I50M1D41M3I10M2D20M5I20M4D23M2I44M4I3M2I3M4D4M2D15M1I9M5I4M1I24M4I42M3D18M2D36M2D168M4D17M4D59M3D46M1D4M5D77M1I33M5D41M3D19M4D41M4D101M2I50M1D95M4I47M2D13M3D110M4I30M5I1M2D119M2I22M3D16M1D7M4I8M5D54M5D12M4I6M5D12M3D77M3D20M1I30M2D5M4D8M4I14M3D85M1I120M2I1M5D23M3D1M2I100M2D39M4D8M4D48M4D10M5D69M5D17M2I7M4D15M1I12M2I23M4I9M1I28M1I3M4D95M1I9M1D34M1D25M5I6M2I4M3I52M5I1M4I4M4I104M1D56M3D94M3I65M4D22M2I3M4I8M1I89M2D25M2D33M2D51M2D12M1D64M2D35M4D15M3I11M5I66M4D3M2I32M5D43M5D61M2I7M1I51M2D2M3D58M1D1M3D29M2D36M3I37M2I37M5I21M4D19M5D32M3D83M4D61M5D22M4D67M5D24M1I111M3I3M5D4M2I43M2D45M4D74M3D81M5I22M5D224M4D9M2D2M4I103M5D84M4I2M2I8M5I12M3D43M2D24M4D29M2D15M5D2M4D21M3D1M3D8M3D14M3I26M1I21M4D84M1I3M2I6M4I16M4I49M3D17M4I42M3I47M4I11M2D1M4I13M2D16M5D8M2D70M2I4M1I144M4D27M3D20M1D3M1I18M5D5M4D15M5I16M1I70M4I6M2I25M3D148M2I198M2D58M2I120M2I10M2D23M2D19M1D33M3I16M5D21M5D40M5I9M3D16M5I8M3I50M4D15M1I57M4D2M3D22M3I7M3I18M5I8M3D14M5D77M5D16M5D17M1D48M5D17M3I17M3D77M1I20M3D10M2I50M4I3M2I74M3D76M5D32M1I39M4I32M5I10M5D14M5D46M3I48M3D33M1I34M2I8M5D40M5I40M4I6M3I13M5D8M1D16M4D38M5I7M3I3M5I21M1I10M2I4M2D31M5I139M5I24M4D179M4I18M3D64M2I23M5D1M1I10M3D35M5I20M2I6M1I38M5D29M3D43M2I16M4D6M5I6M1I7M4I14M3D17M4I1M5I34M3D114M5I62M4D21M5I34M2I5M1I28M1D68M1I100M1I39M2I21M5I22M1I65M2I51M3I12M4D3M5D12M3I2M5I6M5I17M1D42M5I69M1D4M4D4M2D3M3I12M1I34M1D9M3D27M2D4M3I36M5D33M2I5M3D46M3I43M4D5M1D3M2D15M5D65M1I7M2D9M4I35M1D7M3D130M4D60M2D2M5D14M4I13M2I5M1I65M4D47M2D40M1I42M4D27M1I3M5D11M2D1M5I49M4D8M2D34M2D25M3I40M4D48M4D76M2D30M5D13M4I76M4D3M4I12M1D11M5D16M4D15M2I57M4I8M3D10M5I16M4D17M4D45M1I17M3D11M5D128M5I13M4D53M1D16M5I6M5I7M5I69M1I9M1I24M1I79M5I14M5I37M4D56M5D10M3I51M3D20M5I16M3I12M5D16M2D26M2D19M5D87M3I21M5D12M5I43M1D67M3I4M3I2M4D9M1I41M5I85M3D74M1D14M1I39M3I37M4D28M3I49M5D75M5I12M4D114M5D5M2I46M1D6M3D19M3D28M2I128M2D114M2D9M5D13M2D15M1D22M1D146M5I5M3I18M3D1M3I9M2D71M4I10M3I50M4I21M2D16M2I9M1I10M2D11M3I8M1I1M2D121M2I1M1D35M4I50M4D6M2D9M3D3M4I8M3D27M4I34M1I69M3I18M1I11M4D5M2I28M1I39M5D1M1D24M5D132M3D3M4I22M4D15M1D27M4I2M3D47M4D8M1D65M2I18M4I11M3I37M3I72M5D4M5D10M4D27M4I8M4D61M2I67M1I3M3D6M2D14M1D39M3I25M3I7M4D12M5I27M2I19M5D85M4I19M5D97M5D95M1I3M1D68M1I24M4D39M2I21M2D22M2I81M1D57M3D26M1D42M4I8M5D13M5I47M1D91M1D38M1I2M1D155M1D2M5I69M3I5M4I8M4D41M5I3M3D9M3D133M3I32M3D47M1D39M2I68M3D3M3I5M2I6M1I28M3I9M2I11M4I3M1D35M3D87M5D81M1D54M5I35M2D57M1I11M2I94M4D19M2I49M1I23M4I54M1I8M1I8M4D79M2I4M4D5M5I7M5D83M5I4M4I16M4I38M2D15M5I7M2I2M5D18M2D46M2I1M1D5M5D2M5D6M3I19M2I1M2D34M4D21M2I55M2D63M1I9M1D7M5I48M3I13M3D16M2D10M5I64M4I5M4D32M2I1M2D2M4I3M3I47M5I27M5D88M5D9M2D6M2I11M5D72M4D16M3I11M4I30M2D6M4D37M1D32M3D9M5D76M5D82M3D7M4D11M5I8M5D18M2I70M2D2M3I153M2D47M3D33M5D20M3D51M3I1M4I26M5D6M5D4M2I16M5I45M2D4M2I55M2I62M2I51M5D88M2I19M1D25M5I33M5I16M5D15M2I2M1D3M2D8M3I25M3I24M1I14M3D14M2I160M1I9M1D26M4I3M5D116M1I16M2I70M4D32M1D45M1I37M4I45M5D2M3D50M3D28M4I23M4D9M3I135M2I1M3I9M4D7M4D80M1D11M3I18M3D14M5I5M1D21M4D20M1I53M4I14M4D9M4D3M5D32M4D48M5D16M3I2M2D3M3I27M5I63M2D4M4D20M1I19M4I26M2I2M5I26M4I14M2I18M1D5M5D57M4I26M5D59M4D26M4I31M1D2M3I24M3I18M3D3M3D14M1I47M2I20M3D21M3D30M4D8M4D44M5I1M3I134M1D3M2I22M4D20M2D16M2I41M3D50M3I43M3I23M5I39M2I90M2D30M2D28M5I21M2I16M5D2M2D158M2I8M2I31M5D36M1I11M3D51M2D150M4I3M5D7M3I34M3I12M1D4M3D26M4D7M3I30M3D8M4D15M2D36M4I5M1I21M5D22M1I181M1I94M4I1M3I5M2I27M2D14M1D27M5D141M1I16M4I15M1I16M2I33M4D23M2D6M3I31M1D32M3I23M4I50M5D19M5D60M5D47M3D24M3I68M3I60M1D45M5D30M1I46M2D4M5I27M4I79M5D32M2D17M4D3M1I15M1I1M5I14M2I6M5I20M4D40M1D23M4D13M2D16M2I39M1D53M2D25M4I1M1D7M3D7M2D48M4I31M3I33M3D7M2I18M2I18M1I52M1D64M4D4M3D19M1D26M4I3M2D42M4I2M2I9M1I121M1I6M4I31M5I13M1I14M2I122M4I19M1I33M5I15M2I12M5D6M1I48M1I1M1D43M2D6M3I79M2I45M3I16M1I83M2D17M5D28M1D1M5I7M1I55M3D28M2I93M5D51M2I6M4I9M4I88M5I50M2I4M1D23M4I89M4D2M3I20M4D128M2D36M3I50M3I131M4I5M4I21M4I44M3D4M4I16M3I33M5I59M1D6M1I20M3I25M3D18M1D28M4D24M1I9M2D13M4I5M2I81M1I13M1I33M5D7M4I17M2I88M2D6M5I17M3I28M1D27M4D24M4D22M3D7M4D8M2D22M3D3M2I71M3D23M5D38M2I24M1D5M5D24M1D1M5D7M3D19M2I69M3I50M5I25M3I34M2D37M4D63M2I14M3D37M4I8M2D13M4D30M1I8M5D60M3I14M4D35M1I102M5I19M3I18M4I10M2I14M5I85M1I23M1I10M2D28M2D9M3D25M2D10M4D92M3D43M1I29M5D49M3I4M5I20M2I16M2I15M1I181M2I7M5I43M5D32M4D24M4I26M5I23M3D46M4I46M5D17M5D10M1D85M1I35M4I56M3I43M5D20M4I17M3I44M1I10M1D119M4I24M4I5M3I92M1D45M1D4M2I85M3I77M3D60M5D1M1D24M2D61M1I20M3D37M2D78M5D20M3D17M5D14M1D28M1I45M4I2M3D46M3D22M4I51M2D11M4D27M5D13M5I38M1D32M3I56M1I41M5D32M4I12M3D3M4D24M3I78M2I26M4I45M1I19M4I14M5D42M5I9M5I9M2D24M3D3M2D12M3I14M5D9M2D15M1I20M5D92M4D12M2I46M5D2M4D82M4I9M5I21M3D54M2D53M1I62M4I7M5D19M4I3M3D48M4I53M4I85M3D26M3D96M5D10M2I8M5I63M4D2M5I76M1D3M2I63M5I44M3I56M5D13M4I6M1I25M1D20M5D9M4D35M1I18M3D22M5D116M3I33M3D7M2D8M5D2M2D16M2D16M4D62M3D25M5D6M5I110M4D105M4I96M2I54M4I243M1I76M4I41M2D8M3I46M1D33M4D12M5I52M2I2M3I34M1D9M1D17M3D77M2I2M5D16M5D108M5I11M4I12M5I25M5I47M5D5M1I11M1D14M1I19M4D67M5I10M2D41M3I24M5D18M2D25M5I30M4I30M4I15M1D153M4D5M1I26M2I34M1I1M2I8M2I12M5I81M4I14M2D49M3D66M4D14M3I21M5D100M4D15M1I39M3I10M2I138M4D8M1D54M4D25M2D21M5I1M2D17M5D38M5D53M5D41M4I180M4I17M4I20M3I12M2I47M2D62M4D8M4I46M2D38M4D74M4I60M4D127M2I58M3I91M1D22M4D7M4I8M1I70M3I25M3I32M3D41M2D11M1I48M1D19M3I27M3D88M2D33M5D88M3I19M1I9M1I22M5I2M4I5M1D13M2I22M2D26M3D107M2D68M1I27M3D12M3I67M1D71M5I14M5D69M1I21M3D29M5D3M3I23M4D4M1D2M1D2M1I23M5I34M4I16M2D22M5I48M2D7M2D20M4I16M2D20M2D7M3D31M1I43M3D51M5D25M2D1M3D10M2I29M2D105M5I1M1D34M2I4M3D23M3I75M3I44M3I12M3D18M2D22M4I39M4I16M2I11M1D14M1I6M4I15M4D90M3I14M5D33M5I14M4D2M3I2M3I90M4I10M5D81M4I19M3D122M2I26M4I14M4I9M1D28M5I14M4D28M5I65M5I10M4D23M1I58M1D22M3D15M3I45M1D23M4I47M4D15M1D9M3I19M5I3M4I29M1I7M4D6M1I24M3D106M4D138M5I18M5I5M4I1M1I18M4I70M2D20M3I14M1I81M5D18M4I44M1I18M4D7M1D16M2D12M3I48M1D1M2D123M4I45M5I2M1I2M1I14M3D15M3I7M2I11M3I23M1I42M3I12M3D46M1I17M1D38M3I3M1I9M2I83M2D6M1D51M5D21M2I6M3D41M1D62M3I24M3I4M3I3M1I27M2I56M2D1M4I23M4D63M3I16M2D10M3I2M1I28M2I65M3I74M5I58M5D12M3I13M2D14M3D4M5D17M5D8M5D1M5I25M2I6M3D28M3I11M2I108M2I2M2I6M1D41M1I25M3D26M4I44M2D47M5D55M1I1M2D96M3D11M3I53M5D2M2I84M4D2M1I31M1D41M1I65M3I28M2D133M2D2M2I15M2D7M5D13M5I4M3D11M2I12M2I5M5D8M4I27M2I11M5D142M4D14M3I93M2I9M4I24M4D11M1D46M5I17M2I6M3D101M2I81M2I6M4D66M2D46M4I10M4I224M4D71M2I8M1I16M2D1M5D49M3D30M5I32M1D72M3I82M1I25M4I35M4D20M1D38M1I54M1D24M3D10M3I96M2D23M4D9M3D9M3D8M5I19M5D8M2I16M5D66M5I6M2D19M4I8M2D32M1D82M4I26M1I5M1I5M2D50M3I75M3I11M2I6M4I96M2I47M1D5M1I6M4D15M2D41M1D42M3I19M1D35M3I46M3I2M3I15M5D22M5I12M5I5M2D1M3I8M4I20M3I9M4D11M3D1M2I25M5D7M5D16M5I21M5I11M4D35M4D15M5D6M5D57M1I104M1D34M2D24M1D35M3D36M2I4M2I3M5D9M3I57M4D28M1I22M5I106M1I46M1I5M5D5M1I3M5D10M3I2M3I53M3I24M2D41M1I20M4I8M2I92M2D68M4I5M2D5M2I10M2D11M4D43M2I10M1I17M3I93M2D35M5I7M1I18M1I9M1D23M5I33M3I24M2I2M4D2M5D236M4I78M4D11M3I28M3I2M5D9M3I50M2I36M1I28M4D62M5D17M3I38M3I43M3D22M1D65M1D39M3D12M4D79M3D110M4D4M1D24M3I3M1D54M3D24M4D20M5I7M5I63M1D42M3I14M5I2M4I51M1I3M2I41M1I46M5I4M3D34M4I7M1I2M2I44M4D63M2I36M5D11M1I98M2D25M1I2M5D31M4D12M3D8M2D6M2I22M1I95M1I32M4D50M5I3M1D5M1D6M3I22M1I10M5I2M1D2M1D9M5I99M4I30M5I105M1I14M1I12M3I32M5D34M3D7M4I41M4D13M5I18M4D38M4I39M3I2M1D4M1I12M3D35M1D27M1I67M4I8M2D23M5I42M3D10M3D134M4D45M2D3M5D8M5I8M2I1M5D6M2D36M4I27M1I23M5D21M2D29M4I8M3D134M3I30M4D2M1I74M2I112M2I63M4D75M5D5M2I102M2D9M2I23M5D56M2I31M1I45M3I27M4I3M1D17M1I26M1D16M1I17M2D28M3D34M3I145M5D8M2I11M3I13M3I4M2I11M1I19M4D23M1I10M3I48M5D8M1I76M5I20M4I34M5D46M1D6M5I62M2I2M5I25M3D10M2I7M3I36M3I8M5D2M3I4M5I40M5D2M3I16M5D20M4D11M5D34M2I61M2D1M3D47M2D66M4D10M2I29M3I27M3I28M1D9M4I18M4I61M3D32M4I83M2I55M2I20M5I94M3D61M5D103M4D3M2D28M5D7M2I1M2D31M2D25M5I40M3I53M3I40M5I24M4D68M2D9M1D56M3D19M5I19M1I47M3D42M5D101M1D9M3D4M5D71M4I2M2D31M5D3M1D3M1I4M3D20M2D16M4I11M3I28M3D54M5D29M2I12M1D65M2I81M4D24M1D11M2I11M2D9M3D37M4I28M1D6M2I30M1D3M5D15M2D82M5D40M1D41M1I69M5I28M1I28M1D17M3D187M1I12M3D30M5D15M3I11M1D15M3I12M5D3M4I7M4D10M1I21M5D17M5I54M4I32M5I38M5D19M5I85M4I10M4D11M4D64M1D42M4D34M1D72M4I21M2D8M5D13M1I4M5D50M2D36M2D20M1I56M5D61M5D12M2I54M4I18M3I3M2I28M2I100M3I12M1D6M1D21M5D3M2D19M5I63M1I26M3D31M4I16M3I10M4I37M1I20M4D5M5D18M4I5M2D59M1I94M5I39M1I6M5D41M1D43M5D46M1I13M1D21M3I49M4D15M2D3M5I17M1I11M5I35M1D14M1D10M5I46M2I21M1D61M5D48M5I46M4D4M5D7M3D50M3D23M2I71M4D13M3D23M3D7M1D14M5I19M1D62M1I18M1I37M4D27M4I32M1I59M1D12M2D21M4I72M1D13M3D12M2D10M5I15M3D38M4I1M3D7M1D3M2D9M1I3M2D58M4D18M4I2M3I1M3D22M5I87M4D13M2D24M1I20M1I1M3I67M5I21M2I18M1D18M4I4M2D13M4I10M2I66M1I2M4D37M1D68M5I46M4D14M5D1M5I38M4I26M2I24M4I21M5I22M1I86M2D78M4I7M1D9M4D31M5I4M3I13M4I55M5I95M5D24M4D1M3D15M1I35M5D8M1D25M4I10M5I1M2D13M4D31M4I95M4D21M4I26M1D25M4I6M5D2M3I22M3I8M2D34M2I2M1D4M2D26M4D27M3D9M4I40M3I5M3I24M2D68M5D26M5D17M2I44M5D20M4D32M4I18M4I6M3D9M5D1M3D14M4D1M5D17M1I87M4I16M3D20M3D5M1I18M4D1M2D8M2D15M3D17M4D11M4I70M3I21M1D16M5I61M1I85M2D46M2D10M2D37M1I5M4D17M2I42M3I49M1D7M2D25M5D46M3D23M3D18M1I71M3D4M4I5M2D5M4I50M1I48M5I67M1D65M4I44M5D6M2I120M4I14M3D4M5D56M5I25M3D81M4I106M2D17M3I50M2I109M2I30M1D17M1I22M2D51M2D30M2I18M5I7M2I4M5D61M1D66M1I37M3I11M4I33M2D3M5D3M4I17M4D15M1I30M3D64M4D46M3D25M5D5M1D14M3I8M4D8M5I28M5I16M2I123M2I32M4D13M5D31M4D25M4I35M5D23M5I91M1I27M1D12M1D25M1D1M2I20M4I18M4I31M5I20M4D11M5I10M3I6M2I11M3I54M5D15M1D102M4D1M3D5M1I18M1D10M5I59M3I123M5D26M4I25M4D4M1D6M2I1M4D23M5I50M3I38M3D17M1D15M5D6M1D28M2I8M5D35M3I19M1I21M1I31M1D14M3D42M1D99M1I42M1D8M5D25M3I16M5D21M5D11M4I26M3D17M5D8M1D10M4D42M4D12M1D47M5I1M5D36M4I6M5I14M2I25M5I10M3D55M3I2M2I5M1I30M3I46M4D2M5I4M5I48M5D30M1I26M5D35M5I45M2I23M3I8M3D22M5D36M5I38M3I33M1D108M5I22M5D4M5D23M1D46M3D3M2I106M2I49M5I1M4D2M3D1M2D179M5I97M2I40M1D68M1D44M2D40M2I14M4I17M1I1M4I36M3I3M3D21M2D66M2I1M3I11M4D33M3D38M4I33M4D21M1D1M2D31M3I26M4D16M2D61M1I83M1I55M4I15M2I26M5I5M1I13M1I26M2D26M3I115M1D24M3D18M1D37M2I57M4D32M3D4M1I24M2I39M3D16M4I50M4I35M2D141M4I10M1I5M5D2M3D38M1I26M4I15M5D36M4D45M1D50M1D9M5D9M4I37M4D112M5D11M1D30M4I14M4I18M5I4M2I76M5D29M4D13M2I2M2I28M5D21M2D1M5I17M1I11M5I48M4I36M4I17M3I63M4D21M3D90M3D18M4D75M5D12M5D82M4I11M4D2M5I5M5I36M1D29M5D7M5D7M1D9M3I39M2D85M2I1M1D37M2I41M5D21M3I23M2D17M4D9M5D26M2I31M1D10M1I116M2D9M2I13M3I24M5I51M2D1M4I17M4I67M4I10M4I7M3I32M4D60M2D17M1D47M5I68M4I14M5I45M1D11M4D19M5I31M4I55M3D10M4D33M1D78M4D4M3D8M5D12M2D2M1D2M4I12M4I25M5I55M1D2M3I19M3D8M4D49M1I36M4I22M2D15M4I27M2I3M4D36M1I24M5D16M5I45M3I39M5D28M3I3M2I40M3I21M2D32M2D14M2I20M1I54M5I52M1I11M3D12M2D53M2D9M3I133M5D37M1I98M5I10M3D39M1I16M2D12M3D57M1D4M1I14M2I31M5I55M5I8M4I48M5D116M4D40M4I13M2I127M1I2M4D10M1I3M3I15M2I50M5I17M2I65M4D53M3I16M3D41M1D5M2D103M1I13M2D18M5I79M1I13M4D25M1I45M3D2M3D6M1D18M3D3M4D5M1D3M4I59M4D5M4I5M1I69M1D22M5I51M4D9M4I3M5I6M5I5M3I67M4I2M3D14M2I86M5I57M3I17M2D24M5D14M1I50M4D35M5D17M2D31M2I24M3I74M3D18M5I6M4I63M3D4M4I48M4D11M5D16M4I18M1I28M3I19M3D32M2D26M3I13M4D69M1I24M1D105M2I5M5I13M4D20M2D4M2I11M2I116M4D41M4D169M2D5M2D51M5D37M1D26M5I2M5I35M1D3M2D16M3I2M1I37M2D57M4I21M5I53M1D5M4D30M1I1M1D27M2I93M4I7M3I3M5I18M1D24M4D4M4I6M4I25M1D24M3D12M4I136M1I38M3I4M1D2M3D38M1I14M4D42M2I34M3D41M4D40M3I14M1I8M5D41M1D7M2I39M1I24M2D27M1D11M2D45M4D41M5I19M4D4M5I46M4I16M2D25M4I26M4D12M4D24M2I2M1D5M2D54M2I36M4D65M3I22M1D21M2I40M1D51M4D10M5D1M1D42M2D12M3D19M3D2M4I35M2I50M2D4M5D17M1D31M2I32M4D3M5D102M3D59M2D1M5I88M3I28M1I32M3I1M1D86M2I45M1D22M2I4M1I18M5D22M1D4M2D18M4I10M3I21M1I55M3I27M4D9M1I20M3I15M1I91M1D26M3D216M5D11M3I25M1I74M5D21M2D49M5I2M4D12M5I136M2I31M3D1M1D11M5D28M4I23M1I34M1D24M5I4M1I5M5D3M3I55M5I7M4D19M3D29M1D33M1D17M3D35M4I33M5I16M3I9M5I21M4D34M1I26M5D15M2D1M5D16M1D50M5I5M3I3M4I9M5D23M4I13M5D5M3I28M5I28M4I38M2I38M1D5M4D25M4D56M1I24M1D3M3I23M5I124M3D30M4D98M1D57M2I34M1D26M3I16M4I20M3I3M4D19M5I93M1D23M3D5M2D26M1D2M3D11M1D31M1D57M2I2M4I49M5D21M3D28M3D9M4I12M3D25M4D79M5I49M1I14M4I30M2I25M1I47M5I14M4D58M5D40M3I5M4D1M2D60M2D59M2D3M5I1M3D17M2D7M4I52M1D55M5D46M4I22M5D8M2I14M5D1M4D30M2I3M1D48M5D19M5I41M1D17M4D36M2D40M1I12M3I19M1D22M4D11M5I25M1I1M5D96M4D8M2I22M2D67M4I138M4D10M1D37M4D33M5I11M5D31M5D6M4D26M4I21M4D2M3I59M2D63M3I5M5D12M1I9M5I74M1I76M3D45M2I121M1D17M4I1M3D16M2I50M2I25M4D14M1D28M3D72M4I3M1I7M4D33M5I36M4D134M5D29M4D6M4I36M1D48M3I7M1D16M2D5M3D1M3I1M4I100M2I110M4D51M3D5M3D80M4D31M2I3M1I53M5D64M5D19M5I39M4D53M3D62M5D102M1D14M2D28M4I22M3D3M5I24M1D23M4I70M4D8M2D34M2D6M1I18M4D73M4I15M5D14M3I81M5I51M5I9M3D184M4D49M5D22M3I25M4I46M1D16M2I19M1D69M5D92M4I14M4I40M5D153M3D17M5D19M4I48M5D27M2D49M5I11M1D24M4D25M5D4M2I34M2I10M2D2M3D40M4I26M1I3M4D61M4I76M4D9M5I43M2D49M3I24M4I1M3I49M5I37M4I17M4I10M5D131M3I75M2D6M2I25M4D11M5D6M1I13M4D3M4I13M1I10M2I182M3I18M2I1M2I84M5D10M4I138M4I10M4I13M5D5M4I28M2D7M3D184M2I43M2D24M1D7M1I6M1I39M2D24M1I28M5D2M2D7M3D3M3D6M2I51M3I1M1I21M3D22M2I13M4D32M5D5M1D13M2I67M4I5M2I56M5I68M4I59M4D24M3I34M2I106M2I1M5D21M3D24M5I15M5I2M1I42M3I7M4D10M2I16M1D33M1D83M5I10M1D67M4D44M5I13M1I71M2I3M1I21M2I31M3D30M1D66M5I54M1I8M1I3M1D5M4I5M1D8M4D20M2D36M1D53M4I21M1D4M3D22M5I29M4I28M5D23M2D26M4D29M2I57M2D11M4I23M2I7M5I27M3D8M5I7M5D44M5I23M1I18M1D22M1D106M1D28M3I59M1D3M1D16M2D11M1D21M2D14M1I18M5I231M3D31M2I4M2D16M5I143M1D1M2D1M2I20M1I22M4I44M4D5M2D5M4I47M1I12M1D21M3I55M3D18M1D6M1I1M3I29M5I91M1I30M4D5M1I38M4I23M2D2M5D1M3D13M3D12M5I40M5D7M1I2M5D59M1I117M1D120M2D82M5I18M3I2M3D47M4I31M5D9M1D6M3D3M4I1M4I104M4D45M5I3M2I30M3D33M4D100M3D51M2I66M2I10M1D13M2D73M3I9M5I7M2I35M5I86M5I33M5D10M3I1M5D14M3D52M5D54M2I25M1D33M2D81M2I14M2I35M5D15M2I38M3D57M2I47M2I26M5D23M1D73M3D15M4D16M2I3M5D110M2D13M1D45M4D14M2I5M4D34M3D56M4I5M1I52M1I8M3I17M2D5M2D33M3I39M2D93M5D20M3D7M5I38M1I4M3D83M2D7M3D10M1I50M1I49M4I22M1D37M4D38M3I28M5I32M3I10M1I37M1I12M2I15M2D10M5D10M3I56M1D6M2D15M1D40M1D50M4I139M4D10M2I84M2I12M3D13M5I13M3D53M4I12M4D16M5D11M1D43M5I9M5D29M2I95M1D2M4I8M4D80M4D48M4I14M4I15M1D75M4D10M5D1M3I62M5D33M3D146M3I30M1D18M2I20M1D110M1I2M3D88M1D40M1D21M5D147M2I1M5D23M5I25M5I8M2D122M3I21M3D10M3D19M4D3M2D166M3D4M2D34M5I25M1I19M4D16M1D4M4D13M1D3M5D65M1I13M3I108M2I33M5I24M1D1M2D35M5I8M2I92M3I26M5I15M1D60M4I10M2D18M5D34M3I103M4D31M1I29M1I26M2I130M1I65M5D2M3I33M1I64M1D69M2D5M4I31M3I13M3I25M4D22M1I1M2D6M4D65M2D58M3D61M4D39M4D117M2I122M2D41M5D24M4D5M5D24M3I33M2I11M2D8M4D68M5D36M5I17M5I61M2D71M1I28M5I76M1I31M3I10M3I11M5I4M2I73M1I26M2D2M1D11M1D9M3I4M5D49M5I25M2D17M2I77M1D2M3D45M3D4M2I64M1I21M1I102M4I46M3I2M4I39M5D11M3D4M1I37M5D45M4D71M2D25M3I16M1I39M5I40M3D2M2I32M1I80M5D37M3I62M2D27M3D50M3D28M2D18M1I45M4D15M5D2M2D23M3I15M4D50M3D16M4I8M1D20M1I44M3D14M3D12M1I1M1I4M4I6M5I18M5D11M5I19M4D55M1D16M1I8M4D27M1D38M2D28M5D23M4I2M4I88M3D61M1D30M1D9M4I75M2D93M4I48M4D34M3D19M2I40M3D29M5I34M1D20M2D98M5I23M5D30M2D7M1D8M2I7M3I3M5D19M1D6M5D13M2I21M4I18M5I88M1I12M1D67M5D6M1I6M2I83M4D51M3D1M4D56M5D7M5I18M5D97M3D6M5D5M3I8M3I19M2I85M4I35M5D28M4D5M4D14M1I16M3I50M3D20M1I11M4I2M3I37M5I51M4I39M5D16M3D46M5D80M3D1M1D16M2D57M2I13M3D9M1D11M3I20M2I75M1I12M2I32M5D20M5I6M2D32M2D53M4I21M2D35M3D132M3D13M3I17M3I5M3I87M5D55M3I13M2I28M5D8M2I70M4I51M1I20M3D1M5I16M4D21M1I8M5D28M4I22M3I23M1I45M4D27M1I34M2I1M2D19M3I123M3I1M1D84M5I90M5I10M3I5M1D16M3I21M2I50M4D21M4D9M2D65M5D36M3I1M2I13M1D38M2D26M1I38M3D37M2D49M3D48M3D71M5I37M4D73M4I32M3D38M1I55M2D110M2D10M1I14M5I64M4D5M3I48M5D38M4D53M4D31M4D18M5D2M1I19M4D2M2D70M2D7M4I57M4D3M3I1M1I62M3I25M2D125M5D105M3I14M3I7M1I91M4I69M3I29M2I22M4D30M1I56M4D13M3I21M5I5M3I51M5D45M4I10M5D12M3D5M4I36M2I24M2D38M4D4M2D39M5I156M5I12M3I14M2D32M3D21M1D14M5I29M4D52M2D10M1I6M3D35M3D10M3D2M5I51M1I45M2D9M5I33M5I56M4D3M4I26M5I122M2I57M2D25M5I5M2D44M4I94M5D64M1I17M5I55M5D41M5D1M2I2M5D41M3I31M4I18M4D17M1I14M1I37M1D47M4I4M3D5M4I22M5I73M4I129M2I21M1D12M1I1M2D59M2D156M4D21M3I29M1I27M2D24M4I110M3D32M3I90M3I9M3D59M2D25M5D7M1D66M3D5M4I27M3I6M1I45M2D2M2I40M1I2M3I14M5I52M1D6M4I19M3I77M3D22M4I74M5D8M4I12M2I34M1D45M3D78M5D7M3D21M1I31M3D56M2I24M4D78M1I19M2D82M1D63M2I25M1I29M4D25M5D2M2I4M2I30M4I38M5I17M1D16M4D42M5D42M4D16M3I41M1I21M5D91M4D11M4I47M5I11M1I31M3I13M2I52M5I9M1I65M1D40M2D38M2I6M1I6M5I3M1I17M1D16M4D1M4I43M3D1M2I21M2I28M4D42M1I46M2D134M5D6M2I6M1I34M3I54M4D12M2D17M4D98M1D7M4D63M3I112M5D25M2D1M1I10M1I3M3I142M3I23M3I70M3I7M1D4M4D2M3D8M4D9M4I64M3I20M1I28M4D1M3D6M3D32M2I1M5I26M2D12M1D27M2I23M1D9M2D15M3I3M5I1M1I13M2D7M4I9M2D55M2D70M4D6M4D26M5D81M4D2M2I26M1I11M1D121M5I15M4I27M5D49M4D75M1D7M1I21M1I32M2I80M1I2M3I80M1D4M5I1M3D5M2D6M1D33M4I47M1D45M1D3M3I32M1I17M2I21M4D41M3I12M1D2M2I61M5I63M2I37M1D6M5I19M3D18M3I22M4I53M5I26M1I42M1D74M3I40M1I1M1D19M4I70M2D4M3I23M4D35M4I15M5I84M4I24M3I43M2I33M4I31M5I35M4I1M5I6M3I2M5D32M1I7M5D13M4I12M5I30M4D1M3D7M3I9M4D16M4D6M4I24M4I1M2D15M3I1M2D97M2D29M5D17M2I12M5I16M3I19M2I1M3I24M4I1M1D25M3I13M1I58M3D17M1I117M5I20M5D12M1I12M1D39M3D13M3I26M3D44M2D36M2D140M4D5M1D38M1D16M2I31M1D1M3I29M1I22M4I24M5I73M3D40M1I92M1I3M4I156M4D176M5D18M4I12M5I33M3I7M3I83M3D160M3D116M5D85M4I1M3I5M5D69M5I79M5I2M3D65M5D21M5I10M4D67M2D4M1D29M5D45M2D1M5I11M4D11M5D34M2D10M3I38M1D105M1D44M5D11M5I131M5I2M2D25M5I53M1I3M1I79M1I30M5I75M3I36M2D8M3D27M4I3M4D58M2I29M4I29M5I68M5D11M1D1M2D40M2I3M4I5M2D15M4D25M1D44M4I95M2D37M1I12M4I33M3D8M4D51M1D73M3I10M1D40M1D113M4D9M2I42M3I78M3D91M4I35M5D25M1I3M4D14M4I64M3D13M5D43M5I6M2D29M2I18M3I35M5I25M1I41M1I3M4D9M4I25M3D25M1D5M2I47M5I102M1D39M1D37M5D14M4I28M5I40M5I29M5I6M5D7M3I34M3D5M5D6M2D41M2D27M2I5M5D10M3D7M3I35M1I10M3D3M2I16M1D7M2I39M2D9M3I60M1D11M3I9M2I18M5D21M5I12M4D2M3D3M5I30M5D6M2D13M3D115M2D51M1I40M4D37M5I22M5D9M3I3M3I10M5D30M3I3M1D20M4D62M4I38M4I3M4I33M2D17M1I52M2I46M2I37M4D117M2D3M2I54M2D7M1D17M2I51M1D32M5D12M5D67M3D6M1I6M2I3M1D38M3I20M2D23M4I32M3D115M3I16M1D57M4D41M3I39M3D8M3D11M3I31M1I7M3D14M5D16M5I8M2I22M3I20M4D13M5D48M1D5M1I26M3D35M2I7M2I56M4I1M5D19M4D29M1I56M4I8M2D23M5D4M5D5M2I49M5I41M5D47M3I2M4I135M5D34M4I13M5D31M3D32M3D11M4I48M3I60M4D18M2D3M1I3M3I1M4I19M1D54M5D35M3D11M1I37M5I51M4D26M5I3M2D15M3D5M1I44M5I6M3D6M2I34M2I7M3I1M3I11M2I22M2D17M5I13M4I46M5D5M3D63M4I20M3D10M2I114M2D291M2D3M2I52M1I9M5I16M3D10M4I41M5I31M1D94M3D12M1D48M5I12M2I16M4D52M1I30M4I28M4I31M4D19M2D2M4D36M4I5M3I11M2D31M3D238M2I76M4D36M4I86M5D14M1I1M4D41M2D14M2D26M3I6M2I3M1I31M2I61M3I14M3I10M5D25M5D37M3D12M4D21M3D54M5I7M5I53M2D10M2D44M1I46M2I12M5D92M4D13M5I6M2I45M2I16M5I3M3D11M5I31M3I29M1I18M3I30M1D2M3D6M1I57M2D16M2I27M4D1M1I3M1D70M5D83M3I28M3I68M5D16M5I42M2I22M4D36M2I7M3I12M4D15M2I6M3D2M1I71M5D12M2D83M2D15M3D84M4D118M4D14M1I24M1D6M1I12M3D71M4I43M3D36M1I12M2I59M5I34M3D37M1D1M2D38M3I6M2I36M2I20M5D18M4I23M4I57M3I5M3D60M5D82M3I75M5I6M2D11M2D23M2D24M3I17M1I35M4I19M1D8M2D78M2D20M3D5M2I1M1I18M5D8M5D50M2D74M5D6M2I25M3I3M2I20M1I38M4D4M5I27M4I12M3I11M2D69M2D126M2D4M3I4M2I57M5I13M1D58M1D4M3I13M3I20M5I25M3I33M1D34M5I10M2D20M5D50M5I15M1I8M3I27M4D8M3D23M1D4M3D25M3D35M1D58M3I15M2I11M5D20M5D6M5I26M3D39M4D77M2I9M5I17M5I20M5I22M5D5M2D23M1I21M2D14M5D78M4D5M2D49M1D22M3I8M5I19M2D5M1D17M1D5M1D1M4D27M1D3M2I5M2D23M4D16M1I12M2I98M5D67M5D18M1D5M5D24M3I11M4D7M1I7M1D51M5D12M4I16M3I6M1I3M4I60M3I13M4D131M1D32M5I5M4I106M4D5M5I23M3D17M4I69M2D35M2I146M5I2M3D30M4D20M2D28M3D111M3D53M5D2M4D8M4D30M3D37M4I1M3D41M5I32M2I24M2I58M5I30M2D56M1D5M4D63M5I11M2I17M5I16M2I52M1D21M4I5M3D8M1I11M4D29M2D54M3D6M4D60M2D5M2D10M1I23M5I13M3I23M3I5M4D1M4D55M1I4M4I43M3I44M5I61M5D1M2I24M1D55M3I68M3D6M5I4M2D22M3I34M3D2M3D13M2I112M1I65M4D36M3D8M5I38M3I55M4D18M2D136M3D3M2D4M4I5M1I53M4D22M1I33M3I1M3I17M5I62M3D1M3D88M2I3M2D11M5I4M4I16M2D62M4D4M1D25M1D4M3D17M4D45M3D15M2D10M2D15M4I52M1D1M2D2M5I16M2I25M4D64M3I19M4D31M5I5M3D25M2I18M5D53M1I3M3D22M3I3M5I47M3I18M4I15M4D15M1I4M2I2M3I61M1D70M1D3M5D9M5I1M3D18M2I16M1I6M4D31M2I65M2D31M3I9M5I54M2D144M5I42M1I71M1D194M5D2M5I7M5I51M3D11M5I7M2I12M2D19M4I34M2I41M3I55M3D15M4I44M5D3M5I20M4I3M1I69M4D35M5D8M5I2M5I30M1I18M3D68M3D45M1D37M1I141M3D69M4I36M3D4M2D6M5D30M2D2M4D5M2D42M2I35M3D6M5I7M5D35M1D1M3I2M5I34M3I18M1I16M2D3M1D34M1D134M3D33M1D68M4I103M4I15M2D5M4D24M5D7M1I53M3D83M4I27M3I17M1D1M5I16M4I21M5D6M5I32M5I32M1D52M5I5M2D170M4D28M2I38M3D88M2I29M3I4M3D6M3I18M2I37M5I15M4I22M2I9M4D23M5D44M1D22M1I8M1I10M3D6M4D53M3D71M4D3M1I13M1D22M2I10M3I15M1D24M5D27M3D18M5I7M2I4M5D53M2D24M2I14M2I25M3I63M2I16M1D19M1D55M2D24M1I130M1D2M2I4M2D17M1D213M5I60M2I26M3D12M4I22M1D54M5D18M5I52M5I62M3I50M5I68M5D31M4I4M2D17M5I46M4I4M3D32M2D5M3D28M3D8M3I47M4I46M2D94M5I5M4I21M5D9M1D47M3I52M3I32M5D16M5D22M3D55M3D9M1D47M3I20M4D10M4D25M2I11M4I27M5D14M5I14M3D50M4I13M4I16M4I85M5I35M4D62M2D10M2D33M4D11M4D18M4D7M4I157M4I39M3D10M4I3M4I43M3D57M3I14M1D52M5D13M3D39M2D20M5D84M2D25M4D12M5I1M4D60M2I14M3I40M4D5M3I7M4I18M3D21M4D15M3D30M4D26M2D8M5I16M2D35M1D181M2D4M2D35M4D33M1D50M3I42M1I8M2D18M5I33M3D64M4D10M2D30M1I6M4I31M2I89M4D3M3I27M5D53M4I25M5D7M1D4M3D46M5I15M4D76M4I7M2I21M3I48M1D3M3I55M4I20M5I18M5D2M3D41M1I37M4I32M4D4M4D63M3D8M2D10M2D24M1I25M5D15M5I24M1D24M1I7M1I34M4D22M4D20M5D111M3D107M2D13M5D20M2I20M3D7M1D4M2I5M1I12M2D6M3D57M1D6M1D24M3D78M5I49M5D11M3I8M5D24M4D95M5D9M1I28M3D17M1D7M4D85M4D25M2D69M4D37M2D32M5D23M3D5M3D10M4D1M4D27M5I21M5I9M2D64M3D34M2I19M1D27M1I20M4D45M1I27M4D14M5D16M2D3M5D32M1D27M5D3M4D9M5I38M4D23M2I11M3D2M2D17M3D59M4D4M1I59M4I15M5I25M5I8M5D120M5D6M3D1M3D75M1D9M3D1M2I9M4D18M4D3M4D10M1I24M5I170M3I52M3D16M5D40M4D9M2D103M2D55M4I50M3D12M4D11M1I10M3D70M5D43M4D32M1D31M3D26M5D1M5D38M2I21M1I25M2I32M3D4M2D4M5D25M4I5M4I7M1D65M5D4M2D17M3D8M3I87M2I16M4D24M2I107M2I1M4I6M2I37M5D75M4I86M4D94M4D37M4I27M3I17M2D4M1I73M2D5M3D24M4D13M5D29M1D18M1I2M2D45M2I9M5I39M1I17M1D47M3D116M3I10M1I62M3D6M5I12M2D56M4D71M1D14M5I1M5D1M4I6M2D82M3I16M4D26M1I43M1I39M3D24M5D15M1D6M2D1M3D3M1I34M2D58M2I2M2D9M1D29M3D10M2I2M5I15M1I25M2D2M5D18M4I18M3I4M4D10M5I9M3D6M2D55M4D4M5I6M1I43M5D14M5I24M5D1M3I14M2D57M3D15M1I5M4D57M4D44M1D29M1D44M3I14M2D53M1D7M3I10M4D108M3I10M1D2M3I33M2D18M2D50M4D23M2I70M5D3M2D14M3I4M1D23M2D12M3D23M2D22M2D12M2I55M3D16M1D27M2I10M1I36M3I6M3D84M1D333M1D6M2D2M4D4M2D12M1I6M5D22M3I7M4I15M1I9M5D3M2D30M5D14M4I24M4D5M3I35M3I11M4I15M2I21M3D80M4I12M4D24M1D1M4D39M2I36M4D8M3D2M2I11M2D5M3I59M5D47M1I1M2D44M5I4M4D16M3D48M5I75M2D54M1I75M1I75M2I23M5D4M3I101M5D30M2I44M2I17M4I39M2I68M2D3M4I22M3I13M1I42M3D40M1D5M1D11M3D21M1D2M5I3M5D13M3I35M4I21M3D1M3I34M4D49M4D15M1I52M2I12M3D13M3D26M1D37M3I100M5D10M2D14M5I31M1I61M3I2M2D34M4D43M4D4M1D15M1I44M4I16M4D7M1I17M1D13M4I14M1I49M2D10M2I64M1D36M5D65M5D34M4D33M3I108M1I75M3I37M4D5M2D69M5I72M3D2M3I5M3I50M2D2M3D18M2I26M5I1M2I11M3D45M3I63M1I3M3I42M4D33M1D35M2D56M4I29M1D9M4D2M1I10M5D22M1I42M5D74M4D9M1I39M5I36M2I6M2I52M4D24M1I2M2I28M1I19M1I39M1D52M1I26M2D26M4I35M1D8M2I19M1D55M2D108M2I30M3D9M2D14M5I9M5I8M5D10M3I4M2D2M3D51M4I13M3I1M2I59M4I22M1D3M5I35M1D33M3D5M2I17M3I13M2D15M5D25M4D39M3I54M3I30M5I63M5I21M4I19M3I6M1I60M4D6M1D46M1I14M5D46M2I72M1D30M3D27M3I31M1I48M3D2M2D12M3D14M2D7M2D8M4I19M4I32M2D36M5D37M3I29M1I4M5I14M4I2M5I7M2D3M5I20M3D30M2D27M5D14M4D19M3I21M3D11M1D32M3I84M1D28M5I23M1D24M3I3M3D1M3D74M5D12M1D12M4D14M4I16M1D32M5I28M3D2M2I45M3I76M1I13M3I64M1I20M5D2M1I19M3I1M2I31M3D15M4I34M1D97M1I53M3D142M2D61M2I16M5D25M3D21M1D43M2D17M1I12M1I17M3D21M1D53M4D83M5I24M1D49M3D5M3I44M1I51M3D3M5I5M3I23M1I30M4D15M1I39M2D14M3D36M2D7M2I60M1D14M5D5M1I22M3D49M5D10M4I12M3D3M4D16M3D27M1D41M4D42M2D9M5D74M5I76M3I2M1I11M4I27M2D20M5I72M2D23M5D30M4D113M3I6M4I10M5I41M5I62M1D4M3I24M2I28M4D17M5I40M5D11M1I50M3D8M2I18M3D36M1I26M1I1M4I29M5D13M2I51M2I34M3D33M3I4M1I13M1D41M1D9M2D87M4I11M3D26M2I20M4I29M3I1M5D68M4D5M2D88M5I23M3D18M4I25M1D13M2D71M5D41M5I43M4I44M3D30M3I2M1I4M4I4M2D6M5D40M3D13M1I44M2D49M3D9M1I34M4D38M1D15M3I35M4I20M4I36M1I43M4D7M5I74M5D44M4I2M2D2M3D46M1I1M2D21M3D24M1D192M3I9M2I1M1I29M3D14M4D9M2I16M2D10M2D28M3I59M2I49M2I5M2D21M2I89M1I89M3D39M1D8M2D91M2D6M2I6M2D18M1D60M4I8M3D1M2D1M2D11M2I74M5I67M5I63M4D14M1D14M3D31M4D3M2D22M2I22M3D22M5I8M4I10M4I84M4I40M5D19M2D6M4I4M4D31M3D18M2I14M5D1M1I11M5I27M2D4M1D144M5I59M1I19M5D26M5D24M3D12M2I16M4I58M1D20M4D23M3D19M3I43M2D5M2I18M5D39M2I39M2I36M4D22M3D20M3D34M4I58M3I26M4I4M3I16M5I59M4I22M5I125M3D55M3I7M3I27M1D2M2D31M1I4M2D17M2D17M4I21M2D33M5D1M4D22M1I29M4I1M4D185M4I31M3I3M2D9M3I12M3D1M2I8M3I84M4D89M3D32M2I4M2I6M2D13M1I62M2D43M5D37M1D1M3D11M5I20M5D7M5D41M4I13M4D6M5I2M1D13M1D10M4D10M4D59M4I1M3I11M5I5M4I21M2I11M1D77M5D59M4I21M2I11M5I3M4D40M1I29M3I14M1D13M5I3M3D10M2I3M5I2M5I8M1D30M3I50M2I10M2D60M1I100M5I63M4D10M2I70M1D69M1I51M3D39M3D40M2D11M3D61M4I6M1D21M2I10M4D9M4D2M1I6M1I105M1D8M4I94M5D38M2D15M2D3M4D66M3I25M1I43M4I6M5D4M5I1M4D18M2D22M3I57M1I15M4I16M5D4M4I7M4D28M1D7M5D14M4D11M1D72M1D27M1D32M1D3M4D47M2I52M4I1M2I1M3I12M1I29M2I6M3D20M4D51M2I7M1D1M1D24M4D54M4D11M5D15M5I59M1I1M5I55M5D41M5I8M3D9M2D9M3D26M3I36M4D24M2D3M1I28M3D3M3D5M2D12M1I19M5D21M1D11M5D2M1D1M2I18M1I162M3D31M5D36M5I4M5D17M5D36M3D81M2I5M1I41M4D23M2I12M5I23M4I18M2I14M4D34M1D6M5I2M5D15M3I9M4D97M3I84M4D85M1D47M1D23M4I4M2D16M5I15M3D33M3I113M2I38M5D16M2D26M3D1M5D1M1I4M3D3M5D36M5I16M5I29M2I32M2D22M2D20M3I15M1D4M3D99M5I2M5D8M2I45M4D9M2D24M4I137M2I37M1D19M5D7M2I6M1I26M1D82M2I52M3I40M2I2M3I75M3I49M1I52M1I10M1I39M3D5M4I19M5D29M3I39M2D39M3D38M2D158M5D22M2D32M3I32M3D26M1I3M1D1M4I73M3I128M4D24M1I12M1D17M3D44M4D41M4D13M3D53M4I51M4I4M5I25M1I30M3I11M1I91M1D27M2D1M5D5M1I10M2I51M5I35M2I33M1I29M5I42M2D16M4D63M4D50M1D40M4I8M1I36M3D4M3D35M3I7M5I3M5D75M2D12M1I2M5I13M2D14M1D10M4I17M2D5M1I15M4D49M5I43M4D23M4D24M4D19M4D62M4I105M5D39M2D59M3D14M3I13M3D13M3D46M3D38M5I57M2I36M5D26M4I3M4I19M3I19M4I16M5D30M1D14M3I57M3I35M3D28M4D15M2I3M1I47M5D21M2D26M5D25M3D9M5I3M4I18M1D10M1I17M1I20M1I18M5I2M2D47M1D7M2D5M1I13M5D3M1I61M5I13M4I54M3I71M5D30M1D17M5D116M2I10M5D12M2I47M4D40M3D40M1D11M3I30M2I52M4D65M1D16M3I2M1I31M4I53M4D15M3I17M3I90M1D27M2D18M5I29M2I53M2D17M4I14M4D4M5D37M4I45M1I5M2D17M2D1M3I12M5I15M5D12M3D44M2D60M3I48M5D60M5D60M3I17M2I13M1D4M1I6M3I30M4I35M5I9M2D23M4D76M3D23M4I95M3I23M3D33M3D21M5I15M5I22M4D15M2D25M5I3M3I31M1I25M4D1M4I31M3I1M4I41M4D7M3I43M2D9M5D25M2I31M4I26M1I5M2D14M2I57M2I10M3D116M2I90M1I2M5D36M4I1M5D8M3D20M3I33M5I7M1I32M5D6M5I4M2I8M2I23M5I6M3I9M1I13M5I81M1I60M2I25M5D46M2D65M5I22M1D13M4D11M1I93M2D87M4D9M1I39M4D30M4D88M4I46M4D46M3I23M1D12M3D28M4I20M2D1M5I24M5D49M4D5M1I22M1I52M5D41M5I8M4I49M1D15M1D34M1I16M4D5M2D1M5I19M5D20M5D10M1D27M2D17M5I37M3D12M3D8M1D71M2D45M4I2M3I38M4I68M3D24M1D22M5I4M4I160M1I6M1D49M4D36M1D10M2I25M4I19M2D34M4I42M3I27M3I6M2D76M4I58M3I63M4D36M5I21M1I22M2I5M1I12M3D124M5I11M5D33M5I28M4D12M4I92M4I90M3D41M5I126M3I9M5D55M4D61M2D51M4D33M5D25M1D6M3I10M2I35M3D7M1I4M3I28M2I12M4I41M4D25M1I74M3I13M4I20M2D1M1I5M5D28M4I113M4D42M3I6M5I11M2D18M5D18M5D36M3D50M5I45M1I11M3D5M2I44M2I16M3I108M4D12M4D28M2D6M2D126M3I16M1I17M2D7M2I50M5I1M2D33M3I18M3I31M4I11M1D69M3I23M1I87M3D2M5D9M1I21M4D49M3D109M1D9M2D36M1I43M1I178M2D152M1D2M5I11M3D96M4D56M2I38M2D6M4I56M5D22M2I16M3I8M4D3M3D38M5D47M4I130M2D67M3I118M3I117M3D4M3I19M4D1M5I12M1I59M5I43M2D9M1I67M2I61M5D6M4I33M4I27M3D3M4D4M4D53M1D64M1I3M2I3M2I49M4I21M2I11M5I30M1D1M5D3M1D7M5I47M5I34M2I14M2I18M1D7M2I8M4I9M1I8M2I15M2D52M5I17M3D70M2I12M1I13M4D107M2D7M5D15M4I4M3I15M2D100M3D10M4I27M2I15M3D20M1D17M1I31M5D106M3I20M4I87M4I24M2I6M2D52M3I12M4D41M1D58M3I4M3D30M5I49M4I19M4I61M5I15M3I60M3D7M1I21M1D37M4I14M3D71M4D50M2I10M2I7M2I6M1I3M3D29M3I6M4D7M4I93M2D29M5I46M3D21M2I77M3I43M2I12M3D60M2I1M2I146M2I2M2D8M4D27M1D11M3I57M4D24M1I18M3I28M5D40M5I19M2I29M4I33M4D4M5D66M5D3M5I31M2D5M4I49M5D9M2I72M2D24M2I11M5D2M3D92M5I51M5D56M2I7M5I11M5I39M2I21M3I41M1I11M2D48M3D83M3I12M1I8M1D1M3I17M3D36M3D35M2D33M1D24M4D1M5D4M4D22M5I36M1I10M5I43M3I100M4I14M2D76M4I2M5D49M5I130M1D38M2D1M2D25M2I14M4I10M5I20M1D35M5I46M1I59M5D17M2I44M2D8M4I12M5I3M5D134M2I19M2D20M5D6M5D19M3I6M5I5M4D71M1D3M1I17M3D50M3I18M1I1M3D37M1D21M1I10M1D44M1D1M3I19M2D3M2D6M5D17M3I39M1D3M5I4M3D11M5I1M2D42M2I43M3I60M5I38M1D30M3D8M1D27M2I39M3I24M1D23M5I9M3D13M2I31M2I33M3D6M4I53M4D8M1D15M5D9M3I12M4I17M3D4M1I9M4D23M4D14M4D80M2I7M5I55M1I23M5I3M3D5M4I5M1I19M2D12M5I46M1I25M5I13M3D61M3I2M5I13M2I15M4D8M4D20M4D36M4D21M4I75M5I43M5D23M5I38M4I78M4I33M2I13M3I82M1I17M1I1M5I1M5I42M3D7M1I37M5I2M4D22M5I108M2I5M4I10M4I32M1D1M2I41M3D84M3I16M2D19M2I13M2I13M3D20M4D12M2I3M1I23M3D23M2D2M5D2M2I27M4I21M1D31M4D15M1D69M4D2M4I4M5D136M4D18M1I7M3D104M5I13M2I32M3D58M4I17M5D6M3I42M5D33M5I22M4I32M1I17M2I23M5I8M1D23M3I44M3D20M4D20M5D91M1D12M2D13M1D25M4D34M3I10M2I26M5D9M3D2M5I25M2I109M2D27M2I18M1I34M3D31M2I94M3I15M4D17M3I12M2I2M3D9M2I114M2I6M2I11M5I33M2D47M4D3M3I33M2D11M2D10M5D11M3D11M3D28M1I55M2I38M3D11M4I81M4D12M2I9M5D14M3D47M1I25M2D3M5D4M3I15M4I8M5D59M3D45M4I94M1I6M3I2M1I1M2D4M2D19M2D1M1D18M5I6M3D23M1I9M2D18M1I26M4D32M1I4M1D23M4D35M3I4M4I37M1I30M5D22M3I136M3D84M2D21M5D71M3I54M5D83M1I13M3D8M4D30M3D31M3I49M1D16M4D14M1I4M5I18M5D30M2D18M4I79M1D1M1D48M2I16M1I23M4I25M4I30M1D8M2I21M5I17M3D60M1D41M1D1M5D54M3I44M5I64M2I36M5I16M5D4M2D49M3D41M4I7M5D14M3D6M1D13M1I2M2D19M3D1M5D4M1I41M1I25M3I21M2D23M5D48M5I53M5I1M2D13M5I1M4I20M1D25M5D2M1I124M4I4M2D17M2I58M4I70M3D30M5I47M3D35M5I2M2I35M5D20M4D24M5I8M3I30M4D23M3D61M4I9M3I19M4D15M2D98M1I44M3D7M5D18M1D4M4I58M2D23M2I2M1I6M5D51M5I9M5D61M3I12M2D60M4D10M2I10M4I64M1I1M1I23M1I16M4D5M3I12M1D24M4D7M5I78M2I27M4I40M5D27M5D16M4D7M1I9M4I30M5I31M3I28M4D15M4D55M1I3M5I5M5D8M4I70M4I17M2I45M4I33M5D20M4I39M4I16M1I22M5D167M4D69M2D4M1D9M5I19M3I103M2I4M2I44M1D6M1I106M2I9M5I37M3I7M4D1M2I60M1I21M5D176M2D36M1I26M5D1M5D4M4D48M3D70M5D79M5I12M3I6M5D21M2I4M4D32M4I64M1I102M3D4M1I2M4I40M5D27M3D8M1I13M4I81M3D45M3I10M4I78M5I71M2D94M3I9M1I49M4D18M2D66M3D1M2D62M3I9M5I14M2D24M4D3M5I20M5I7M5D4M3I1M5D20M2I7M4D35M1D13M5I1M1D43M5I63M1D21M5I24M5I30M4D41M4D18M5D40M4D22M1I67M5I28M5D41M2D108M3I3M5D13M1I118M5I5M4D21M2D27M3D35M5I35M3I56M1I13M5I10M4D26M4D87M5D6M5D3M2I1M3I1M2I21M5D154M3D26M5D3M1D7M4I41M3D40M3D48M4D27M2I5M4I18M5I25M4I14M3I23M5D67M4D8M5D16M3I75M4D6M2I75M1I53M3D82M3D64M1I23M5D59M1D57M3D1M3I75M5D4M2D56M1I32M1D9M3I25M1I73M1D9M2I1M5I36M5I28M5I39M3D44M3D9M4I4M4I2M1I30M3I14M4I77M4D31M3I51M5I19M2D41M2I20M5I8M1D2M2D6M2D66M1D2M5I23M1D11M5I39M2D94M1I5M1I84M2I45M1I3M2D38M4D64M4D2M5D24M5D15M5I57M1I134M4D29M5D9M4D16M2D16M2I90M5D8M2I23M2I1M4I33M3I98M4I23M2I17M3D18M2I64M1D28M4I40M1D14M5D7M5D29M1I38M4D8M4I115M1D100M1D24M3I4M4D10M5I26M5I10M5I12M5I83M2I99M5D55M3I10M2I16M2I14M4D85M5D25M5D5M3D13M1D9M5I35M1D9M4D12M2D50M4D99M3I7M4D26M3I77M3I6M4I46M1I19M4I32M4I52M5I25M1I20M4D27M5I33M1D46M5I41M1I1M4I43M3I25M4D81M1I24M5D14M4D7M3D67M2I59M4I1M1D20M2I17M1D37M4I118M5I24M3D32M1I1M2D18M5D2M3I5M5I11M1D34M1D17M4I62M5I72M4I9M5D3M4I8M4I35M2D3M5D30M3D27M2I8M4D4M3I46M1D5M4I2M2I3M2D3M5D123M1I40M1D35M5I4M4I116M5D13M3D90M5I36M5I35M4I89M1I11M5D33M3D46M5D15M5D96M4D33M4D30M3D15M2I7M4D6M3I23M2D68M1D47M5D55M3D19M5D21M3I19M5D33M5D17M3D31M2D13M3I17M5I17M1I30M1D26M4D51M4I10M5I80M2I34M4I2M2I16M2D1M5I26M2D15M5I39M1D15M5D79M3I3M4D7M4I6M3I90M1D33M5I73M5I7M2I70M5D44M1I59M2D27M3D14M5I23M3D7M2D14M3I115M1I24M3D36M2I27M1I2M1D150M4I2M5I115M3I2M1D23M4I1M5D14M3D33M4D27M4D21M2D1M2D5M4I40M5D2M2I8M2I131M2D27M1D60M1D43M4D33M2I18M2D2M1I3M2D10M5D2M1D3M4I13M5I9M2D62M2I3M4I19M5D74M1I81M3D15M2I7M3I7M1I42M5I34M5D39M1D100M4D28M5I12M2D24M3I24M5I14M3I13M5I15M2D15M2D12M1I7M2D65M1I8M5D13M1I49M1D49M5I43M4I20M5I26M5D90M4I25M5I27M4D12M2I22M3I100M2D1M5I38M4D47M2D4M1D39M1I27M4D35M5D44M3D16M1D4M3D35M5I3M1I16M5I27M5I27M4D19M3D55M5D6M4D15M4D7M1I20M1I5M1I2M2I15M5I23M2D29M5D19M2D7M3D70M5D54M3D33M1I58M1I24M2I12M5D16M3D49M1I51M1D4M5I6M1I46M2I161M3I4M1D6M2D15M4I15M4I11M2I104M2D3M2I6M3D37M3I3M1I12M3D28M2I1M3D13M3I29M3I17M2I24M5D4M2D15M4D22M5I3M1D14M4I6M4D22M3D50M2D34M5I5M5I39M3I24M5D16M5I20M2I31M3I20M4D39M1D41M5I29M5D9M4I13M2I8M3I46M2I59M5D17M1I36M3D7M5I45M3D9M4D22M4I40M5I1M3I2M3D8M5I10M3D18M5D64M2I26M3D87M2D57M2D65M1D42M3I40M2D20M2I100M5D17M4D10M3I15M1D2M3I50M4I20M1I9M3I5M2D8M4D94M5I74M3I55M2D24M3I66M5D24M2D47M4I23M3D28M4I40M5I44M5I17M3D37M5D41M4I74M2I88M1D3M1I9M4D29M4D15M5D22M1I18M5D42M4I37M1D20M2I17M2D38M4I51M2I75M3I72M5D15M1D7M1I3M2D5M1I44M3I47M3I12M1D44M1D67M4D97M5D20M2D12M1D32M2I10M4D10M3D1M5I18M2D30M3D58M2D6M1D13M2D54M1I34M5I14M4D7M2I10M3D7M1D11M5I36M4D10M1I23M4D70M4I19M2D80M4D17M3D5M5I16M5D27M4D7M3D4M4D9M2D10M5I48M1I37M3D9M1I28M5I6M3D3M1D33M5I64M5D24M2I22M4D11M2I9M3D12M2D45M4I14M2D15M2D7M1D1M4D92M5I34M4I82M1I1M3I21M1I25M2I102M1D4M3I33M3D71M1D25M5D53M3D39M5D43M5D5M5D17M3I51M1I19M1D53M3I28M1D93M3I34M3I12M2I19M2I60M2I21M5I12M3D21M5I37M1I43M2D20M1D20M2I5M3I3M5D26M2I37M3I77M1I12M1I2M1D28M3I1M1D7M4D24M3D46M3D24M3D1M5D37M3I39M4D11M2I34M1I184M3D76M5I14M1D6M2D26M3I21M4I4M4D71M1I20M5D7M5I144M3I19M1I2M2D12M1I126M5D13M3D56M3I25M2I6M1I3M5I3M5D17M4I10M3D35M5D6M5I55M1D34M4D29M5I6M2D20M4I32M3D9M5I20M3I30M2D51M3D15M3I46M2D45M1D1M1D34M4I12M5D9M2I2M5I18M2D8M3D29M5D59M2I38M2I17M2I119M5D9M4I22M2D10M5D36M4I4M3D22M2D11M1I43M4D86M4D25M1D1M1D29M2D131M4I3M5D5M3D67M1I16M2D13M5I19M4I29M1I59M5D48M4I64M2I33M3I10M3D14M3I19M2I4M4D12M2D14M5D100M1I10M2D25M5I30M4D54M5D66M3I4M1I7M4I5M1I55M1I7M2D99M4I43M5I39M1I39M3I30M5I18M2D20M2D14M3D6M3D103M4I21M3D1M3I38M4D12M2D7M5I56M4D10M3D18M5D57M1I3M2I11M2D6M4D70M2D16M4D44M5I62M3I155M2D14M1D21M1D46M3I3M4D47M5I2M4I13M1D13M3D16M5I116M5I4M2D64M4I95M5I43M1D5M3D7M2I2M5I91M2I60M4D15M5I24M5D14M4D7M3D10M2D18M1D16M3I43M4D15M3D2M2I3M1I146M1D40M4I28M5I10M1I86M5I31M2I72M5D30M4D124M4D52M4I20M3I30M2D23M1D4M4D1M3D11M5I8M5D17M3D2M4I24M4I1M1D41M1D16M1I131M2D12M1I21M1D4M2I1M1I31M2D104M2I41M2D18M2D13M4D26M1I55M1I22M1D17M5D41M1D51M3I27M2I59M4I4M1D21M5D12M5I19M1I6M3I1M4I22M5D17M4I5M3I5M4I25M2I8M1I6M2I40M5I6M3D45M4I8M3I38M4D4M4D24M5I1M2D23M5D12M4D13M5I26M3D13M5I36M3I11M4I93M3D51M1I14M5D16M3I86M1D35M5D44M4D138M1I30M4D14M3I10M1I45M5I23M1D25M3I4M5D28M2D29M2I10M1I4M4I10M2I15M3D21M3I71M4I24M3I18M5D53M2D19M2D1M1D7M4I5M2I15M1D42M2I1M5I20M4D2M3I3M5I58M2I1M3D23M1D39M5I46M1I2M2I58M3I25M1D32M5I54M5I8M1D17M1D24M5D121M2I19M4I39M3D52M5D2M1D16M3D10M1I4M2I33M4D2M1D59M5D59M3I4M5I1M5D10M4I43M4D41M1I4M1I92M2D82M5D2M2D38M3D22M5I32M1I39M5D8M4I3M4I11M3D16M2D35M3I50M2D38M3D50M2I10M5D40M2I11M1D22M2D4M1D1M3I48M5I54M3D6M4D8M1I8M3I13M4I100M3I4M3D23M5I21M1I1M1I4M3I46M4I13M4D29M2I14M1D18M5D17M3D6M3I67M4I13M3I13M5D76M4D4M4I86M1D2M4I42M5D41M5D7M3I6M1I25M4D41M2D38M1I4M4D100M2I25M5I12M1D1M4D2M1I49M4D31M1I169M5D2M3I4M5D26M3D32M4D10M2I14M1D36M1I53M1I19M2D22M1I100M2I9M5I11M5I36M5D13M2D41M5D49M2D12M3I107M2I24M5I7M2I24M3I39M5D6M1I74M4I1M1D13M3D50M4I39M2I11M4D19M1D32M3I1M2I8M2D4M4I32M4D1M4I5M4I18M5D9M1I18M3D102M1D18M3D4M1I36M3I6M5I10M4D31M5D2M5I4M2D14M5I36M3I40M4I51M4I11M3D31M4I2M1I3M4I4M4I36M1I53M3D9M2I47M2I36M4D11M3I18M3D8M3D10M1D36M2I21M3I91M3D75M1D40M5I90M4I11M5I92M2I51M3I117M2D39M2I3M3D33M3I4M1I13M3I116M5D12M5I41M5I30M3D38M2D12M4D35M3D16M2I56M1I10M4I72M5I13M1I3M5I18M1I28M5D131M2I45M1D21M2I27M5I17M4I22M3D4M5D14M2I1M3D12M4I42M2D123M5D5M1D167M4D27M3D99M5I23M1D22M4D15M3I25M4D34M3D18M2I12M1I19M2D58M4I61M2I11M2D9M5I12M2D28M2D24M5I1M2I24M5I45M4D5M2I7M1D41M4I3M5D76M5D33M2I80M5I23M1I98M1D17M5I49M3I10M4D14M5I55M3I3M3D73M2D5M2D51M3I94M4I74M1I127M5I52M3I59M2D12M5I77M5D21M2D7M3D11M2I46M1I41M3I18M5I16M4D6M1I19M1I3M1D112M3I79M3D21M3I30M2I13M4I25M1D18M3D11M1I94M4D21M1D8M2I12M4D8M3I17M5D46M4I67M2I50M4D24M1D1M1D11M1I36M4D72M5I131M2D2M5D22M5I11M1I1M3I38M2I40M1I56M2I13M2I93M3D99M3I16M3I3M1I3M4I20M2I37M2I18M4D54M4D11M1I23M5I10M2I32M2I1M3I5M3D30M4I13M5D11M4D6M4D46M5D13M4D16M1I28M2I94M1D22M2I56M4I54M5D52M1D10M5D32M1D7M4D25M3I16M1I2M2D3M3I14M2D6M4I94M5D1M3D5M5I8M5I3M2D118M1D82M3I3M2D9M3D8M1I5M1D9M4I2M5D3M1D96M4D18M2I11M4I27M3I2M4I101M4I10M3I3M2D31M2I14M2D22M3I6M1I28M4D10M3D31M2D10M5D31M1I132M1I11M3I14M1I15M5D4M5D11M5D48M4D38M2D43M5D3M1D71M2D9M2D7M3I93M5D24M5I15M1I4M4D32M5D23M3D12M3I21M4D9M1D216M3I61M3D8M3D14M1D17M5I53M3D10M3D54M3D63M5D22M5I22M5D35M1D58M2D46M4D10M1I5M5D10M2D13M5I3M4I8M5I1M5I29M4I1M4I12M5D64M4I3M1D6M1D21M5I34M2D45M2I37M3D20M3I1M3I15M3I5M1D3M2D10M2D1M3I15M4I83M1I52M4I7M1D3M4D40M5I22M4D26M5I7M5D76M3D28M1D16M1I24M3I85M4I4M3D87M3I38M3I57M1D6M4D117M5D6M2I1M2D74M1I13M2D100M5D4M4D7M3D2M1I6M3I58M5I17M1D13M4I9M3D8M1I112M3D5M2D92M5I39M5I12M2I1M3I154M2D1M5D3M5I18M4D28M4I46M1D45M5I81M5I25M3I40M4I5M2D6M3D11M3D87M4I4M5D5M4I83M1I40M1I22M4I6M5D14M1D10M2I45M5I93M4I12M4I36M5I63M2I20M4D49M4I7M3D25M3D1M5D3M2D35M4D5M2D41M1I12M1D17M5I151M4I59M5I52M4I8M3D28M3I15M1D15M3I2M5I19M4D1M1D11M3I13M4I41M3D20M2I53M1D4M4D11M5I74M5D11M3I11M2I71M3D24M5I66M2I37M1I3M1I48M3I23M5I2M1D8M4I43M3D28M2D8M1I17M2D11M4D12M1I36M2D66M2D9M2D66M4I27M2I12M1D87M5I56M1D2M3I5M2I59M2D141M4D27M4I59M4D24M3I51M2I7M3I15M2D11M2I2M2D467M4D4M2I12M3D2M2D36M5D41M3D62M5I9M1D7M3I25M2D32M2I8M5D3M5D5M2I100M4I46M4D18M1D24M2I23M3I42M4I131M2D9M1I2M2I22M5I42M4I91M3I47M1I42M1I6M3I46M1I71M5D56M3D76M3D68M1D88M5D17M5D19M5D112M5I23M1I43M4I19M3D32M3I35M3I2M4I37M4I2M2D18M3D33M1I4M4I23M4I40M1I13M4D7M5D29M3I31M3I3M4D6M1I4M1D59M5D16M1I22M3D13M3I90M1I7M1D2M1D35M5I6M1D26M3I25M4I15M5I5M1D16M3I28M5D16M1I51M5D71M2I28M4I26M2I12M5I1M3D2M3D64M5I12M4I73M1I21M3D34M2D39M4D27M3D6M5D74M2D18M5D6M4D75M4I1M2I16M1I14M4I77M1D2M5I38M5I23M2I20M3I31M3D92M3D5M2I44M1D23M1I32M4D6M1I4M3I10M1I9M5D1M3D16M1I36M4I2M5I10M2D5M5D32M1D18M4I87M3D147M2I7M4D47M2D7M1D8M5I13M3I13M4I22M4I40M3D70M1D110M4D21M1D39M2I56M1D7M2I122M2D9M1D73M3I18M1I24M1D53M5I21M1I19M5D19M5D56M4I87M3I7M3D17M2I73M4I22M2I12M5D6M2I35M4D43M4D155M2I19M4D22M3D15M4I38M5D5M2I81M2I46M5I12M3D3M1I67M5I13M1I51M1D100M2D34M5D13M2D2M4D28M1D38M3I29M3I38M3D16M5D4M2D100M5I22M4D30M4D13M4I23M2I14M5I42M5I95M2D17M5I27M3D19M5D19M4I19M1I21M4D39M1I10M2I6M5D5M4I13M1D10M2D108M1D7M2D112M2D3M5I34M3D9M1I3M4I39M3I1M2D10M3D21M5I20M2D13M3D19M5I34M1I10M3D13M3D19M1D76M3I17M1I11M1I31M1I9M5D90M5D23M5I8M4D8M1D19M2I24M3D70M3D12M5D33M2I51M5I80M3I29M4D80M4D10M3I56M1I20M3D118M2I37M1D32M2D2M3I41M4I31M5D1M4D6M4D23M1D7M4I1M4D27M3D9M5I13M4I5M5I11M4D15M3I1M5D24M5D55M5I79M2D26M5D25M4D5M2D1M4I13M4D25M5I24M4D39M4I76M5D2M1I28M1I55M4D67M4D4M1I23M5I6M3I16M3I19M2I73M2I38M4I21M4D6M1I28M3D37M2D17M5I31M5D52M1D5M2I19M4D19M1D114M5D53M4D12M3D56M1I4M3I21M4I33M2D30M2D48M5D44M2I20M2I49M5D49M5D16M1I12M1D10M2D1M3I28M1I20M4D40M5I56M2I54M2I123M3I17M5I27M1I30M5I40M3I12M4I11M1I33M3I17M4D2M5I22M4I9M4I15M2I21M4I23M5D22M4D33M5I38M1D13M5D2M3I10M1I5M3D54M1D96M1D9M3D30M2D36M3D40M2D93M1D88M2D16M4D72M3I31M2I4M1D3M4I7M5D2M1D4M4I186M4I18M4D25M3D20M1D4M1I24M4I20M2I6M2D30M2I2M3I21M5D79M2D77M1D13M1I23M2D11M1I16M4D9M3D14M5I19M2I59M1D5M1I9M2I25M4I24M4D6M2D38M3D47M4D3M2I8M3D28M1D17M5D45M4D30M5D12M1I24M1I1M4I4M1D16M5I114M4D14M1I43M1D21M2I55M1D42M5I4M1D59M5I31M4I27M4I3M5D6M4I2M2D1M3D40M5I8M2D4M3D119M2I18M5I24M5I2M2I9M3D93M2I24M5D1M1I78M4I19M1I144M3I1M3I10M5D20M3I6M5I4M1D35M2D19M1I17M4I25M3D9M1D36M3D7M2I66M3D37M3D8M4I64M5I19M2D8M1I14M1D16M2D17M3I2M1I16M1D29M5I32M3I129M1D29M2I78M3D8M5I113M1I8M1D109M1I11M5I1M4D33M5I51M5D35M4D30M2D96M3D44M5I10M3D18M5D14M2I56M1D15M2D8M3D5M2D7M4I6M4I13M5I15M4D5M3I46M5I18M3I66M2D6M4D7M3D20M5D33M5I12M4I42M4I24M4D8M5D4M4D23M4D1M5I8M2I1M4I19M2D82M5I41M3I9M3I18M1I10M1D1M1I2M2I3M2D47M3I6M1D29M5D109M4D28M4I22M4D141M5D38M1I17M2D37M1I26M1I15M4I24M1D24M5I40M5D14M3I45M1I1M5I32M1D6M3I14M4D12M5I53M3D42M2D71M4I13M1D22M5D58M3D24M2D53M2D23M3I12M4D8M2I10M1D12M2I17M1I86M5D141M1I17M5I69M3I12M4D1M4D3M2D127M5D48M2D81M4I54M2I17M3I33M2D69M3D33M5I12M4I22M4D61M4I32M1I29M5I32M3I3M1D54M4D67M4I20M2I42M1I8M4I2M4I6M5D14M4I73M1D61M1I9M2D15M3D41M4I37M4I28M1I47M4D76M5I23M4D106M5D19M1D19M2D73M4I29M2I17M5I21M1D79M1I14M3I39M3I32M2I11M5D7M5I5M1I5M5I29M3I7M3I57M1I2M3D28M1D8M2D18M1I75M4D130M1D91M3D24M2I29M1I23M2I69M3D17M3I29M2I7M2I14M3I71M5D30M5D24M1D11M2I11M1D14M5D31M3D35M4I18M3D11M4I32M5D39M2I46M4D6M4D3M4D53M5I17M5I4M3D19M4D42M4D10M1D4M1D41M1D11M3D47M5I10M5D22M2D11M4I14M4D73M3I33M1D3M5I60M1I46M3I18M3I34M1I26M5D5M4D55M2D16M4D16M5I3M3D23M4I6M2I11M5D84M4I13M4D8M4I18M1D17M1D17M4I25M5I8M2D60M4D26M4I47M5I16M3I18M4D1M1I12M3I1M3I59M5D68M4I20M5I18M1D17M1D12M4I22M1I14M4D30M1D125M2I6M4I3M4I6M2I26M4I61M2I114M3D47M5I10M1D30M3I28M2I21M3D17M1I83M1D27M2I65M4D1M3D1M3D136M3I28M3D3M1D53M4D10M4I16M2D30M5I47M4D3M4I72M2D29M4D25M1I28M4D19M5I22M3I5M3D40M5D52M4I116M5I49M2D15M1I5M3D24M2I15M3D65M5I15M1I37M5D2M1D13M3D26M3D49M1D40M2D6M5D6M1D6M2D3M2D1M2I4M2D193M3D21M1D28M5D31M5I45M5I24M2I71M2D5M4D70M2D25M3D16M1I12M3D10M1I100M5D44M4D45M2D31M5I20M1D21M3I5M1D18M2D29M1I3M4I81M4D31M2I14M2I10M1I49M2D9M1D14M1D9M3I17M5I69M4I57M3I33M1D11M3I69M1I63M5I21M2I57M5D67M3D11M1I62M4D23M3D29M1I13M4D28M3D34M3I15M1D80M5I96M1I35M3I32M5D8M1D16M3D43M1D24M4I20M4I30M4I1M4D19M5D11M5I60M5I78M1I41M2I17M1D3M4I4M4I32M1I58M1D2M4D40M2I12M1D38M3I119M4D46M4I4M1I8M5I26M3D61M4I32M2D99M1D15M1I8M2I52M2D4M4D63M2I38M1D7M3I10M2D22M1D36M3D81M3D1M2I6M5D2M5D9M5I19M5D11M2D53M1I20M4I31M2D13M5I11M2D27M3I12M3D15M2D129M5I2M1D43M3D16M4D11M2I46M3I39M2D2M1I49M4I36M4I6M3D23M3D27M4D24M2D8M3I5M5D28M1D9M3D40M1D43M5I69M3D10M2I20M1I3M1I8M4D33M4D56M2D17M2D50M2D65M4I26M5I38M5I30M5D23M1D39M4D4M2I4M2D44M5D126M3I13M5I20M4I14M1I52M4I5M3I64M4D30M5D16M3I42M1I5M1D1M1I10M4I15M4I22M5D2M3I14M5D36M3D49M3D4M2I5M5I36M2D53M3D28M2I12M4I66M1D89M1D28M1D74M3I23M2I113M3D38M5I34M3I33M5I61M2I27M4D18M1I15M1D19M5D51M5D2M4I21M1D27M2D19M4D236M2D37M1D3M2I4M2I87M3D12M5D1M4I58M5I5M1I7M5D20M4I5M4D32M4D4M4I9M2I67M3D57M2D17M3D4M2D8M4I46M2I1M4I81M2I17M1D50M5I48M1I53M1I58M4D22M1D38M2I32M5I1M2D86M4D24M4I64M2D13M3D12M3D10M4I3M2D33M2I5M2D15M3D21M4D2M1I8M5I3M5D7M3I4M4D12M2I48M2I57M5I81M2I8M4I61M4I58M4D17M2I70M2D88M2D22M5D89M5D15M4I1M1D27M2I36M5D18M3D11M4I13M1D9M4D25M2D40M2D69M1D58M1I43M3I104M4D61M5I7M4D17M5I3M4D5M4D10M3I97M4I24M1I31M3I177M2I11M1I4M5D38M4I61M5D39M2I13M3I53M2D5M5D6M4I19M1I12M5D11M2D25M3D78M4I20M4I44M5I79M2I10M1I8M2I23M2I3M1I48M2D36M4I13M5I20M5D54M2I15M3I11M1D23M2D29M1I44M2I13M1I67M1D23M3I22M3D23M1D5M3D39M5D16M5D32M5D21M3D29M2D178M3I59M1D65M1D123M2I124M4D68M3D4M1I2M4I27M3I5M5D25M2I1M4I19M4I8M5I39M5I41M1I4M3D39M4D28M2I2M2D9M4D23M3D29M2D34M2D6M3I10M5D17M1I18M1I62M1I8M1I3M1I35M1I17M4D169M2I78M1I42M5D40M5D29M4I138M5D44M5I9M3D13M1D47M4D138M3D38M1D32M4I38M5I4M1D16M1D20M1I34M5D13M2D22M4D21M4I3M2D15M4I16M2D7M4I38M5I52M1I11M1I30M5D56M2D27M2D49M4D15M1I10M2D89M2I11M4I28M4I15M2D41M1I93M5D12M3D7M2D5M1I10M2D26M3D11M5I17M4D29M5I9M5D18M4D69M3D4M2I35M4D29M2I2M1D75M4I54M1D1M4I18M4I2M5I57M1I9M1D43M1D3M1D86M2D74M1D42M2D11M4I7M1D39M3D23M3I9M4I2M3I64M4D21M1D26M2D4M2I3M2I11M1D61M3D49M5D6M1I4M3I27M3I41M5I48M5D1M2D3M1I134M2D11M5I6M4I58M4D45M3D48M3I71M5I40M4D22M2I57M5D14M4D6M5D3M3D55M2D30M5I6M4I4M4I1M3I21M3D22M2I79M5D15M4D14M1I11M5D62M4D53M5I10M1D41M4D13M1I114M3D38M2I1M4I35M1D70M3D22M2D70M3I32M2D4M2D53M5D18M2D16M1I23M4I12M3I51M4I9M2D12M4I58M3D2M1I8M1I18M3I33M3D29M2I75M2I18M2D9M2I129M3I19M1D13M5D20M3D2M2I16M5D3M2I3M5I57M3D134M4D21M5D7M3I22M3I68M3D16M2I20M2D2M2D1M2D16M2I53M3I6M4I25M1D54M3D11M4D64M1D3M5I77M4I131M4I52M4I1M2I3M4I49M3D27M2I17M3I42M5D50M1I12M2I37M4D2M1D10M2D83M3I3M5I20M4I29M3I52M4I5M1I1M5I49M2D31M1I2M3I21M3I15M4D21M5I24M3D34M4D2M4D65M2I82M5D46M4D31M2I77M2I8M2D15M1I8M5D3M4I5M2I29M1D13M5I8M5I30M1D1M1D8M2I76M1D61M5D2M2D24M1D28M5I13M2D124M4D59M1D35M4I29M5I21M4I59M5D7M4D15M3D28M5D58M2D17M1D8M2I52M5I165M4I80M2D33M5I45M5I10M5D16M1D171M4D14M4D13M1D5M5D31M3I8M5I32M5D12M4D3M1D16M4I15M4D79M5D20M3I27M5D54M3D4M2I11M2D102M2D31M1I71M4I48M3I47M3D86M5I7M1D27M5I3M2D2M2D2M1D7M4I70M4I27M5D77M5D61M2I51M2D13M5I29M3D10M3I96M4I5M4I27M5I36M5I4M4I10M3D47M5D9M3D19M4I20M4D27M3I3M2I85M1I40M4I1M4I23M4D1M4I140M3D17M1D63M5D17M3D19M2I4M3I44M3I9M4I16M3D7M2D49M5I47M4D5M2I3M3I44M2I2M2I45M4I55M4I33M1D44M2I90M5I5M2I8M4I113M4D62M1D31M3D78M3D30M3I9M2I174M3D24M3I6M3D7M4I31M4I14M3D24M5I15M4I45M2D6M1I29M5D3M5I3M5I44M3D96M4D9M4D102M3I7M4I5M1I67M1I32M4D17M4I37M4I6M3D2M4I2M2I46M3I37M3I107M2D11M4I65M4I94M5I20M1I4M2I33M4D56M2I1M1I40M3I5M1D73M4D103M2D21M4D9M5I20M1D29M2D2M4D12M4I40M4D7M2D21M3D29M4D11M2D25M1I17M3I61M5D22M4I39M3I16M2I25M5I62M2D10M1I26M1I7M5D22M5I41M2D3M4D28M5D4M3I9M1I46M2I9M3I7M1I10M4D6M5I123M1D55M5I14M1D22M1I11M1I5M3I23M1I40M2D21M2I8M3D9M2D21M3I8M2D2M3I95M1I3M2I8M1D22M3I13M1D22M3I93M3D125M3D6M1I57M2D36M2I44M3I28M5I26M3D40M2I10M5D12M3I66M5I28M4I15M3I12M4D65M1D10M3D5M4I47M3D9M5I18M5D75M3D7M5D21M4I104M2D57M2I22M1I3M1D39M3I25M1I15M3D1M1I116M2D58M1I40M3I5M2I65M1D80M2D6M3D5M5I1M2D3M5D6M2I15M1I116M4I2M4D83M2I2M2D60M4D5M1I12M1I29M1D1M3I50M2D110M5I102M2D17M2D44M4D146M4I20M5D25M5D47M2D2M4I34M4I24M4D34M3I39M2D78M2D100M3I16M1D13M4D24M3I1M4D84M3I38M2I21M1D28M1D3M4I55M3D46M2I35M4I71M2I4M3D40M4D48M5D14M4D20M2I31M3I5M3I4M5I91M4I61M3D48M5I1M5I70M2I38M1D38M5I11M3I20M5I26M1I3M4D81M5I28M4I73M3I21M2I5M5I69M4I9M2D39M5I4M2I37M1D48M4D81M1D6M3D20M3D4M3D19M4D4M2D11M3D10M4D72M1D112M4I25M4D1M5D43M2D17M1I12M3I8M4I16M5D9M2D165M1D33M3D9M1D14M2I61M1D2M3D24M5I10M5D7M4I3M3D17M1I7M5D33M2D30M2I7M2I14M3D19M2D44M5D14M4I85M2I7M2D8M4I6M5D2M2I29M1I56M2D15M3I55M1I1M2I19M3D21M2I21M2D9M2D38M5D13M1D13M3D35M3D18M4I13M1D49M5I5M2I8M2I3M3D78M5I84M3D53M1I51M5D10M2I14M4D15M5I7M2D2M1D96M2D43M3D24M3D3M2I12M4I5M4D7M4I22M1D4M3D23M2D3M3D9M1D25M3I46M4D42M4I6M3I55M2I59M3I3M4D20M5I77M1D24M4D35M1D41M5D2M1D74M5I10M4D28M3D175M3I2M5I26M5I25M3I5M1D2M1D4M2I32M1I15M1D63M5D56M5D2M4D68M2I5M1D57M1I12M4I27M3I27M2I16M1I24M5D4M1D35M5I69M2D26M4I48M1I1M1D47M1D18M5D25M1I6M2D5M3I1M2I4M4I38M4D1M1I23M4D27M1D10M5D45M4I65M4I21M5D7M1D18M3I9M1I12M1D10M5I22M5D21M1I23M1I12M1D10M1I20M5D6M1D1M5D25M2I20M1I25M3D7M4D75M1D50M1I8M3D2M3D5M1I7M2I26M1D59M2I11M3I38M1D41M2D7M1D28M2I16M5D9M2I1M1I84M2D27M5D2M5D26M1I31M4D26M1D12M5D81M2I28M3I49M1D22M3D8M2I2M3D25M1D52M5D20M4I2M4D13M2I8M2I1M5I28M3D22M1I18M2I54M5D47M3D2M2I18M2D34M4I9M1I2M4I149M5D149M4D2M4I55M4I60M5D22M3I60M3I38M3I27M3I2M1D30M5D53M4D12M2I17M5I9M2I27M3D19M2D178M1I17M4D7M3D2M2D14M3I31M4D38M2D61M4I62M4I16M3D20M1I7M1D20M1D46M2D47M2I76M5I21M1D26M1D27M3I1M1I18M2I7M2I15M2I12M2D10M5D19M4D6M3D35M2I1M5I76M3I17M1D5M1I26M4D36M3D8M3I71M5D48M4I4M2I19M1I95M4D67M5I14M3D69M4I15M2I6M1D13M1D34M1D124M4D6M5I54M5I54M5D39M5I1M3I4M2I14M2I12M4I3M1I5M2D3M5I74M1I1M2D21M2I6M1I39M1I137M4I38M5I14M5I30M5D27M2D10M4I12M2D43M1D34M3I44M5I25M3D122M4D15M4I32M2I23M3D19M1D50M5I63M3I11M2D20M2I16M5I9M1I16M1D91M1I11M1D10M2I38M2I45M4I22M2D16M5I19M3I56M1I154M1I18M5D25M3I14M2I25M4I2M1I29M3D49M4D45M4I6M3I18M1D32M4D7M4D11M5D24M1D58M5I8M1I4M4D15M5D61M1I5M4D27M4I5M5D18M4D1M4D11M3D31M4I2M5D12M5D9M5D26M1D9M5D10M4D31M4D117M5D49M4D115M3I1M2I66M3I15M3I8M4D9M5D17M4D95M3D29M1D14M1D4M1D11M2I23M1D11M5I12M2D9M5I12M5I8M5D148M4I10M4D10M3D38M2D124M5D27M1I29M2D8M3D151M3D73M4I2M3I112M4D20M4I20M5I25M4D156M3I49M4I36M5I14M4I5M4D10M5D4M5D31M5I7M5D14M2D59M1D32M5D42M4D2M5I7M1I64M2I2M1D20M5D20M5I20M2I41M5D68M4D14M5D15M3D41M4D13M2I14M5I57M2D3M1I130M5D54M3D154M2I7M4I54M2D76M5I1M1I15M4D38M4I4M2I14M1D15M5D7M3D37M1D25M1D14M4I168M5I11M5D1M5I24M4D38M1I69M1I12M5D67M1I99M3D6M5I18M4I28M3I137M2I17M5I46M1I91M2D1M2I72M5D20M1I12M4D7M1D41M5I30M4I133M1I67M4D208M1D78M3I101M4D27M4I28M3I67M3D2M1I2M1I75M3I4M5D3M2I57M3I40M1I54M4D38M1D16M4D49M3D108M5I44M2D8M3I2M4I26M2D47M3D26M5I66M5D4M3D27M3D6M3I3M2D45M1I18M4D23M4I43M2D2M3I46M5I114M3D81M1D43M3I4M2D42M3I18M4D25M5I55M1I21M2D19M5D15M4I16M3D2M3D84M3D25M2I39M5D1M5I4M1D25M4D20M3I9M4D34M1D4M1D19M5D87M4D14M5D102M3D58M3D64M5I80M2D13M4D56M4I4M4D29M1D55M4D15M4D42M5D51M1D14M3I19M4I7M4I3M2I10M4D9M1D19M3I11M5D54M1D3M1D23M4I26M3I89M3D124M3I1M5D1M1D39M1D7M4I81M2I12M5I58M1D13M2D23M1I25M2I27M2D5M3D3M1I1M3I20M4D53M2I22M5D67M5I36M1D16M2D25M5D5M1I12M5I64M5D70M1I49M1D65M4I14M5I15M5I21M4D24M1I75M5I10M1I4M4D52M4D4M5I2M3D95M4D21M5D40M4D78M2I39M2D46M5D3M1D5M2I16M4I20M5I94M1I44M3I203M1D22M5D4M2D27M2D19M4I7M3I32M5D31M1D2M2D33M4I38M3I26M5I19M5I26M3I2M3D5M2I2M3I4M3D70M3I13M3I16M1I8M5D9M2D15M4D17M3I58M5I40M2I23M1I20M2I16M3I15M1D74M2I41M1I6M3I2M2D51M2D17M2I48M5I32M5D6M4D36M4I23M2I20M3D10M5I25M2I4M2D47M2D38M3I1M4I41M1I39M1I56M3D25M4I8M2I7M2I8M3I10M3I27M5D7M1I18M3D38M3I41M3D108M5I7M2I12M3I71M5I18M2I131M3D72M4D4M4D28M4D11M4I15M1D27M5I3M4D11M4I6M5D5M1I36M3I2M2I10M3I61M3I80M4I4M3D3M4I10M3I82M3D8M3D1M4I76M3I31M5I122M1D27M3I9M3I17M1I45M3I4M4D14M3D20M3I18M3D1M1I60M2D113M1D39M1I10M4I18M1I12M2I16M4I11M3D11M4I6M1I1M3I2M3D42M1D29M5D30M1D29M5I44M4I38M3D7M4D44M5I46M4D28M3I19M3I30M1I8M4D1M4D30M5D106M3I7M1I6M5D9M3D24M3D7M4D39M1D27M4D97M2I36M1D14M2I4M5I19M1D44M3D58M1I4M4I20M5I34M2I39M5I31M1I41M4D85M3I13M4I52M3D34M3I5M3D41M3D102M5I40M4I16M2D105M4I80M3D36M3D19M3I40M2I79M1I46M2D83M5I14M2I23M5I17M3D53M2D19M5D12M3I28M2I25M4I18M2D66M4I35M5I5M4D27M5D29M1D7M4I15M5I3M3D6M3D53M5I203M3D32M2D36M4I22M4I36M1I8M2D90M5I24M4I18M3I11M4I8M5D118M1D44M4D2M4D23M3D20M3D37M4I4M3I17M1I22M1D95M3D1M5D37M3D34M2D39M1I20M4D19M2I28M3D2M5I74M2D8M3I81M5D1M3D15M3I6M1I43M5D7M1D2M1I14M1I49M4D8M3D3M4D4M1D49M2D80M4D200M1I5M2I36M3I75M3I13M5D57M1I43M5I4M5D3M1D23M1I10M1D6M5I10M2D50M2D40M3D80M5D8M5I20M1I72M4I4M2I94M4D61M4I1M4I8M1I47M5D3M5I2M4D119M1I46M5D13M2I6M3D2M1I7M3D40M3I34M1D14M1D19M1I33M2D34M1D55M2I1M2I5M5D15M3D56M5I32M5I4M2D31M1D23M2D120M3I123M5I23M3I18M5D47M2I80M3D15M2I35M2D8M5I12M1D34M3D46M5D17M1D77M3I7M2D32M2D19M5D28M1I24M2I24M2I3M4I4M2I3M2I58M4D1M4D16M4I24M5D29M1I5M1I27M2D34M4D24M4D36M1D74M3I53M2I61M5I23M4I22M1I156M5I3M1D10M4I5M3I67M2I2M2D21M1I25M5I46M1I62M1I118M1I66M4D43M4I1M1I40M1D13M1I44M1I2M2I3M2I40M4I8M4D2M2D52M3D7M4I52M3I17M2I2M3D8M4I68M4I37M4I75M3I59M4D14M2D24M1I5M3I26M3I31M1D11M3I72M5I8M1D22M5I10M1D84M1D46M2I74M2I7M3I51M3D4M3D8M4I32M1I6M3D20M2D30M4I1M4I14M4I52M3D85M3D16M1D6M2D31M4I46M5D11M4D24M5I8M2I3M5D77M5I31M1D28M2I2M3I31M4I10M3D4M5D7M4D10M3I9M4I37M5I3M4D4M3I15M3I14M4D25M2I25M4D9M3I4M4D36M4D52M4D2M5D15M5D7M3I27M5D29M1D36M1D57M2D13M3I16M4I27M2I15M4D19M4D75M5I3M3I6M1I22M5I3M4I6M4D29M1D63M3D43M3D45M3D3M4I14M5D121M3D12M3I4M5I23M4I17M1I9M1I6M5I46M3D35M4D19M4D14M4D87M3D15M1I31M4I11M2I28M2I41M3D8M3I4M3I12M1I7M3I27M3I8M1I34M5I45M2D49M2D13M5D7M5I6M4I3M5D6M4I134M3D9M3I18M4I29M5I10M2D141M3D31M5I5M5D41M1I43M5D2M4D15M2D7M3D55M5I84M4I50M4D14M5D2M4D39M5I27M3I20M1I4M4I19M5I114M3D31M1D33M3I19M2D6M4I23M4I68M1D56M3D9M1I117M5D80M4D48M1I47M4D36M3I3M2D44M5D25M3D16M4D3M4I138M3I37M1I26M5I35M1I4M2D3M5D30M2D11M1D2M3D101M3I46M4D1M4I13M4I46M3D6M3I16M4D26M2D4M4D3M1D19M1I30M3D31M1D16M1D5M5I36M4D15M5I15M4I23M1I14M1I60M3I3M2D32M1D4M2D83M1D23M5I36M1D33M1I9M3I4M5I18M5D14M1I16M3D8M1I77M3I28M1I15M1D65M4D6M3D9M2I10M4I8M2D112M5D45M2I18M4I72M5I6M2D178M1D19M2I38M2D105M2D15M1D44M4D6M4I11M4I154M1D29M3D3M1I14M1I80M3I21M3I5M2I54M1I1M1I75M5I3M1D53M4I15M1D17M5I173M4I40M4I65M5I4M5I25M3D23M5I15M4I37M2D34M4I22M4D8M4D26M5I13M3D29M1I106M3D4M5I1M3D19M1D50M3D58M2I33M4D13M1D29M3D87M1I17M2D61M3D126M4I4M1I7M2D17M5D62M3I48M3D11M5D14M5D65M2D33M5D3M4D7M2I31M2D122M2D37M3D101M3D55M2I19M3D23M5D19M4D19M3D40M2I56M4I2M3I35M5I83M1I13M4I1M2D52M1I1M5I21M5I11M2D39M4I5M5I26M5I60M3I4M1I47M5I10M4D66M1I58M2D14M4D39M4D28M3I11M2D35M1I20M3D6M4I42M2D9M1D2M1I8M1D33M4D36M3I103M1D81M5I4M1D29M1I4M1D125M5D5M4D42M2I1M3I3M5I6M5I12M1I10M2I49M5I3M4D89M5I16M3D2M2D16M1I59M4D3M2I25M4I13M1D4M2D41M2D17M4I15M5I26M1D3M3D54M5D2M1D61M4I10M4D7M1D9M3I83M2I47M3D58M1I8M1I70M5I11M3I78M4D32M5I13M5I29M2I26M4D12M4I74M2D28M5I40M4D39M5I32M1D10M4D7M2I13M5I27M1D5M2I6M3I18M5D39M4D51M4D32M4I25M5D66M1I52M3I10M3D15M1I12M2I2M3D28M3D126M1I33M3I19M5D48M4I3M3D14M5D44M1D116M1D7M5I116M4D42M3D38M4I8M4I11M2I5M5D8M1D19M5I49M1D9M1D17M1I8M2D19M3D10M3D12M2D49M2I10M1D56M3D56M3D29M5I39M3I21M3I16M1D18M1I39M2D17M1D22M2I7M1D37M2D37M2D2M3I42M1I5M4I2M5I49M3D21M4D18M2I2M3D11M5D155M1I69M2I57M2D53M3I59M4I41M5D23M2I35M1D47M2I20M3I3M1I8M3D39M4I47M5D18M5I55M1D7M4I15M1I28M5D65M1D95M1D10M1I13M2I13M5I2M3D38M2D24M5I38M4D2M4I33M3I7M4I21M4I38M5I60M3I5M2D82M1D13M4I18M5D32M2D4M4D2M1I21M1D80M5D69M5D88M1D10M2D11M4I8M1D77M2D13M1D24M1D3M4I10M2D9M2D70M1D54M5D6M5D66M1D52M2D9M1D9M1I1M1I25M2I35M4D2M1I50M4D56M5D4M3D5M4D15M1I13M1I19M5D92M5D3M1D7M1D67M4I14M1I132M1I11M1D53M5I59M2I1M4I9M2I24M5D28M4D32M1I17M3D28M1I31M2I95M2D83M4I10M3I16M1I44M5I135M3I13M5I36M3I10M3I23M4I27M1D35M3I21M4I65M1D18M1I4M5I11M2D39M3D1M3I11M1D60M3D84M3D30M3I65M4D4M3D45M2I9M5I12M4D3M2I10M1I1M2I61M2D25M3D14M1I37M4D25M1I14M1D13M3I7M4D21M4D6M1D23M5D26M1I31M1I81M2D7M1D28M2I21M1D82M3I31M1D52M4I2M1I48M1D16M3D4M5I105M5I13M3I12M3D52M1D90M4I37M5I76M5I60M5I8M3I31M4D17M1I12M5I45M1I3M4D13M2D15M4I96M2D15M4D25M4I1M4D2M1D99M3D42M1I3M1D11M2D38M2D29M2I5M2D46M4I37M4D16M1I80M3D16M1D8M1I28M3I29M5I28M3D65M3D27M5D66M5I40M4I27M3D20M1I48M2I35M4I41M3I20M5I8M1D38M5D27M1D107M1I2M1D31M2D25M5D32M2I123M4I14M5I25M4D17M1D4M4D6M5D36M3D16M1D32M1I60M1I25M4I13M5D61M3I14M4D11M3I48M4I30M3I1M5D66M1I32M3D1M2D36M3I32M3I10M2I2M5I13M3I65M1I24M4I13M3D8M3I22M4D3M4I80M3D21M3I10M5I16M1D28M1D42M2I6M3D3M3D31M5D1M5I1M1D17M3D82M3I12M4D59M2D55M3I1M5I40M2D38M2D29M1I20M5I51M5I16M4D19M2I6M5D9M2D50M1I31M3I166M3D32M2I8M1D28M4D3M2I9M2I5M3D47M1I12M1D114M2D4M2I80M2I12M2I34M5I26M2I2M2D27M2D39M5D14M1I39M3I9M5D14M5I2M3I2M4D13M1D21M3D43M2I3M3I45M2D90M3I10M3I16M2I2M5D17M2D26M4D25M5I8M1D101M2I12M5I39M1D103M4D65M4I22M4D51M4I50M3D20M2I13M2I37M1D121M1D19M4D15M1I28M1D36M3I40M3D13M4I56M3D62M4I48M4D14M1I3M4D32M3D126M1D16M4D3M3I50M2D11M3I12M5I33M2I11M1I16M4D73M3I30M4I57M3D22M3I8M3D2M2D32M3I48M5D82M3D14M3D10M1D8M2D36M5D7M3I10M3I33M5D21M3D23M3I31M2I6M5I9M2D12M5D40M2I14M3I65M4D6M3I20M1I1M2I29M2D116M2I60M2I25M2D1M2I48M5I18M2D8M3D19M4D8M3D16M3I38M5I27M1I76M5D39M1I1M1I24M4D77M2D63M4D14M4D34M5D31M5D26M4D24M5I57M2D43M2I41M3I6M5D10M5I115M2D14M5D22M5D45M2D15M2I3M1I4M1D8M3I12M4D3M4I93M2D13M1I30M4D20M5D7M3I50M5D68M4D18M1D16M5D20M2I29M5I24M2I5M3I30M2D2M2I46M3D13M2I8M3D1M5D22M2I19M4D5M1I46M2D30M2D51M2I62M3D98M5D83M1D28M4D43M1I25M2D13M4I1M2D18M3I22M2D51M3D92M2D8M3I49M5I47M3I54M4I2M4I5M5D30M2I17M3D11M2I14M2D39M1D5M4D68M4I9M3I52M4D19M4D5M2D83M3D53M3D26M1D38M2I60M3D51M2D7M3D25M3D35M3I11M2I111M4D4M4D5M5I149M1I169M2I3M4D14M3D49M1I10M2D34M2D30M5D6M1I40M4I18M1D63M1I21M4D98M1I3M1D2M4D6M2D1M2I16M5I4M4I66M3I19M2I5M1D14M4I74M3I100M2I5M2I15M1D49M4I64M4I21M4D54M1D17M4D18M4I62M3D11M2I3M2I20M4I2M3D176M1D67M4D84M3I23M2I15M4D62M4I21M3I38M2I29M1I25M5I38M5D57M3I1M2I50M1D49M4I6M4D171M2I40M4I12M3I93M2I111M3I4M3D1M1D26M4D6M4I7M3D6M3D52M3D11M3D14M2I74M5I25M5D1M4D48M2D2M1D132M1I104M4I5M4D10M5D27M1D17M2I13M1I80M2D28M2D67M3I81M4I30M4D20M5D1M2I18M5I73M2D10M3I19M2I7M4I24M5I3M2D15M3D40M4I61M4I9M1D18M3I4M1D2M4I27M5I50M4I50M1D8M2I3M1D129M5D12M2I58M2I1M3D6M3I27M5D139M3D6M2I30M2D60M5I10M2I15M1D27M3I2M1I80M3D27M1I25M4D49M2I2M4D25M1D93M4D31M4I19M2I15M4D22M2D23M2I31M5I7M5D3M1I82M5I2M3I6M2D8M2D5M1I29M5I31M5D9M2I70M5I8M3D29M3D9M3D41M3D116M1I36M2I42M2D63M1I14M2I14M2D13M3I57M4I93M3I83M2I33M5I18M4I14M3D8M4D11M1D19M2D49M1I1M3D6M4I7M4D32M3D1M5D3M3D85M4D30M4D47M5D11M2I25M4D18M5I35M3D8M4D9M3D31M4D19M1D17M2I14M3I54M2D6M4D2M4D17M1I34M4I14M4D33M1D30M4D27M3D99M1D111M4I119M1D33M3I154M5I20M3I38M5I18M1D20M3I28M3D6M4I4M5D8M4I23M2D1M1D19M1I1M5I17M3I44M4I52M3D28M4D23M5I69M4I41M5D108M1D36M5D66M5D10M4I34M4D16M2D7M1D35M1D45M5D22M5D68M4D18M2I37M3D12M3I17M1I3M2D36M4I1M4I43M4D9M4D59M2D21M1I9M3I26M3I9M2I5M5D4M2D43M4I38M2D27M3D2M2I72M1D2M4D131M1I22M1I51M2D5M1D5M4I14M3D3M5I102M5I86M4D73M1I22M3D28M4I52M1D44M3I26M1D55M3D114M2D4M4D72M3I19M2D32M3I12M3I44M1D140M4I40M5D16M1D7M4I12M1D13M5D12M5I21M1I8M2I9M4I1M5D86M4D94M1I4M3D34M2D53M2D8M3D3M5D3M2D20M1I9M3I29M3D72M4D79M4D7M1D31M5D2M1I34M3D36M1D56M5I32M5D48M4D15M3I19M3D1M2D24M2I17M2I47M4D44M2I12M1I114M4I34M1I21M5D52M2I47M1D4M3I61M5D10M4I12M3D40M1I14M3I27M4D1M3I27M3I4M4I4M2D73M3I76M1D80M1I68M2I40M4I88M3D22M5I4M1D20M2D10M5D11M5D7M4I64M4I50M2D4M1I24M5I13M5D41M4I18M1D8M4D1M1D5M2D23M4D25M5I43M3I10M5D8M1I7M2I15M5D9M2D1M1D38M3D121M4D28M1D117M2D24M3D104M5I17M1I30M3I18M4I6M1D39M3D20M2I11M1I58M3D46M2I36M3I9M3D61M3I13M2D40M5D3M3I6M1I16M3I47M4I18M2I12M4I44M1I25M4I24M3D10M1D14M2I72M1D7M4D46M1D16M3I49M2I33M4I2M3I1M1I4M4D20M3I23M5I8M5D30M4D51M1I3M3D58M4I9M3D15M5I61M2I46M4I4M5D49M4I7M3D15M2I3M2I26M2I4M3I75M1I122M2I19M2I56M1I5M5D88M4D18M3D61M4I9M2D15M1D4M2D43M1D11M5I2M4I51M3D7M1D11M4D77M4I15M2I4M2D19M5D2M5D54M4D11M2I69M1I7M1I13M5D37M1I35M5D7M4D37M5D20M4I35M1I69M2D43M4I94M5I5M4I43M3D35M4D58M3D49M3I18M2D65M3I76M2D18M2I45M1D51M2I11M1D13M1D16M2I8M1D29M3D3M1I57M1I6M2D28M3D144M3I28M4D5M5I115M1I12M5I1M3I88M1I3M1I21M5I10M5D40M3D95M1I60M2D2M2D6M3I28M3D10M5I45M1I14M1D3M2D6M5D60M5D63M2D19M1D66M2I48M2D55M3I109M4D8M1D56M3I10M2D60M2D163M3D21M4I92M2D13M5D7M5D21M5D11M1I12M1I98M1I7M4D14M1I14M4I50M1I89M1D8M4I14M2I38M3I17M2I37M5I22M4I14M1I33M2D23M2I33M2I35M5I20M1D36M2D7M5D58M3I91M5I2M1I1M2D21M1I15M1I9M5D17M1D5M4I36M5I15M3I6M1I20M4D46M2D10M2D78M4I91M1I61M1D63M3D15M4D98M1I6M5D24M4I75M5D3M4D18M2D102M5I23M5I4M3I7M3I82M3I65M2D113M2D10M1I73M5I45M5I32M4I29M2I17M1D14M1I6M5I50M3D7M4I10M4I25M3D31M3D3M5D1M3I35M5D18M4D35M3I58M2I64M5D2M2I15M2D162M1I22M2D5M3I23M1I70M1I18M2D80M4D31M5D58M5D26M5I74M3D27M2I19M2D21M4I27M4I27M4I8M2D26M4D146M1I38M4D11M4D32M3D4M2I19M1I19M3D27M5I20M5I18M1D12M2D69M5D16M2D95M5D78M2D2M5I31M4D16M1D1M3D23M2D21M1D26M3D32M1D7M4D30M4I66M1D28M4I71M4D7M2D32M1I43M1I11M5I3M4I1M5I59M5I32M1D61M5D97M3I1M3D3M2D20M2I19M3I3M2D2M3D19M3I2M3D12M3D36M4I55M5I1M3D62M4I114M5D115M3D78M5D7M2D71M4D20M5D46M4I25M2I29M2I62M1I38M4I1M1I93M5D31M4I33M3I34M2I28M4I10M4I24M5D13M5D47M5D3M5I60M3D2M3I1M4I30M4I25M5D7M5D5M4D70M2D63M5I12M2D57M1D23M4D8M5D51M3D17M4D6M1I26M3I43M5I15M1I40M4D27M5I2M1I44M1I5M1D5M1I21M3D2M3I17M2I13M4D8M3I16M3D19M5D137M2I46M2I7M4I11M4I10M5D1M2D41M4I28M4D33M1I61M4D13M4D33M3I3M2I8M3I49M4D9M1I4M3I15M1D18M3I11M1I4M2D21M5I41M4I13M3I108M3I68M5I64M4D6M4I10M1D17M1I6M5D46M1D64M2I2M2I12M4D72M2D21M1I18M1I44M4D13M3D30M3I16M1D2M2I84M3I13M4D8M2I74M1I19M4I16M4D50M1D7M2D73M3I16M2I11M5D33M5I3M4D85M2D64M2D26M1I10M5I9M5I10M1D25M3D7M4I34M1D24M5D6M4D92M3I23M5I52M3D12M2I11M5I2M5I75M1I2M3I17M3D54M3I59M2D23M3D9M4D20M4I5M3D71M1I14M2D18M3I8M2I17M1D44M4D36M5I11M3I19M1D19M1D2M3I26M1D43M3D19M1I122M4I30M2I23M5D59M1I4M5D23M5I1M3D2M2I62M4D13M4I93M5I27M3D41M5D16M3I22M5I42M2D24M1D62M4D12M1D16M4I19M1D32M3D39M3I2M1I53M4I2M2D6M1I17M2D43M4I2M5D80M1D51M2I39M1I22M1I39M4I30M3D9M4I12M4D10M1I126M5I120M4D49M2I8M5D42M5D32M5I11M3I22M3D35M4I15M3D50M4I1M2I10M4I12M3D20M5D113M3I10M5I3M4D1M3I51M1D11M3I7M5D28M2I14M3I23M1D4M1D8M4D52M2D2M2D35M4D18M5D19M2I68M3D37M5I11M1I6M1I16M1I7M3D38M3D4M4D4M3I9M2I24M2I20M1D10M1D3M5I15M5D17M5I63M5I3M2D97M1I32M1D60M4I65M2D2M1I1M3I8M5D17M4I7M4I27M1I16M1I5M5D81M1I43M4D9M5I14M5I31M5D10M3D24M1I12M5I1M4I26M2I54M4I15M1D27M2I23M2I10M5I90M3I29M3D14M5I10M5D11M5I21M5I21M4D62M5I5M3I21M5D25M5D40M2I24M5D6M1I8M4D54M5I40M5D1M1D3M5I218M4D7M1I1M5D3M5D1M5D11M1I108M5D2M5D1M5I11M5D72M1I50M2D36M1D2M1D56M1D6M5D38M3I16M4I5M3I25M2I2M5I48M1D19M3D32M1D14M4I3M2D25M2I26M4D6M2D4M2I5M2I74M5I6M2I12M2D38M1D1M5D3M3D16M2D1M1I28M4I131M5I13M1D74M1I12M5I37M3D8M2I12M4D52M1D8M5D28M5I35M1D39M5I12M5I37M4D27M5D55M3I15M3D134M2D57M4I37M1I10M3D119M1I46M4D153M3I26M2D29M2I18M1D15M2D17M5I1M1D58M2I64M5I44M3D26M4D11M4D13M1I27M5D1M4I7M1D9M5D74M5I39M5D5M5I1M5D11M2D16M2I35M2D24M3D11M1D15M5D10M2I8M1I78M5I83M3D12M1I32M1I15M1I9M4D32M5D26M5D48M1I16M3D39M2I48M2I9M3I24M2D31M4I55M2D18M4I11M2I2M4I30M4D56M4I72M4I9M2I75M5D136M4I17M3I10M1I9M3D1M4D46M4D38M3I30M1D64M5D28M4D22M3I5M5D8M1D3M1D27M5D71M2D25M2D1M1I19M2I35M3I6M2D61M3I40M1I78M5D12M4D41M1D68M3D27M4I47M1D5M3I50M5D2M1D83M1D41M1D140M3I93M2D106M4D65M2D20M1D25M4I50M5D50M2I18M5D20M2I23M5D1M1D9M3D40M5I11M5I50M5D9M4D19M4D2M2D69M4D51M1D27M4I101M2D17M5D26M2D68M3I61M4D2M3D36M4D1M2D13M2I3M5I3M5D91M1D64M2I24M2I4M1D18M4I38M3I16M2D6M3D8M5D10M1I30M3I6M4I27M4D4M3D8M1D9M5I34M3D12M2D53M1D19M2I66M3I47M2D26M3I13M3D28M3I27M2I3M4I14M2D19M1I18M4I25M2I68M5I6M5I33M1D35M1I34M4I92M4I50M1I6M4D3M2D3M1I71M2D1M5D14M3D42M1D21M4D28M1D34M1I75M5D4M3I82M4I15M3I50M5I68M2I90M4D4M4D22M5D74M5I16M4I9M2D17M4I11M4I16M2D11M2I80M3I92M1I51M5D2M2I46M5I21M2I21M5I75M3D19M3I43M5D10M1I52M3I20M2I226M1D15M5I13M2D49M4I18M4I16M3I86M5I7M1I7M2I23M4D22M5I37M2I40M5I13M3D2M3D65M3I5M2D37M4D122M3I13M4D27M5D2M2D38M4D1M4D7M5I41M2I9M4D11M5D27M4D7M2I9M5D35M3D22M3D50M3I21M3D72M3I103M5I25M3D13M2D17M5I14M4D23M4D93M4D1M4D101M2D21M5D3M3D11M4D1M5D53M3I16M2D20M5I11M5D9M2D78M1D147M1I25M5D153M5D12M2D37M5I46M5I44M2D5M5D48M2D85M3I17M3D15M2I16M1D91M1D29M1D6M2I8M2I37M5I80M1I3M3D46M1D7M5D16M3I7M1I74M4I63M4D5M2D37M4I9M4D68M5I26M5I21M5D15M5I41M4D14M4I9M3D2M4I35M5I3M2D29M1D12M1I2M4I54M1I16M2I28M5D6M1I1M5I7M4D11M5D11M2I26M5I9M2I66M1D39M3I12M1D42M2D34M1I10M4D12M5I97M3D9M4I10M1I21M2D18M3I31M5D7M2I14M5I90M2D31M4I16M1D7M1I99M4D70M5I16M1D82M2I53M2D32M2D169M2I13M1I58M3D8M2D16M3I1M5I2M1D52M4I54M4D62M2D16M2D5M2I12M1I21M2I108M1D37M2D3M4D32M5I17M2I7M3D24M3D46M3I21M1D113M3D29M3I57M1I3M5I3M5D109M1I19M1D5M3I6M4I21M3I4M4I12M2D5M3I79M2I3M1D59M1D46M4I72M1D58M3D70M1I36M2D37M1D5M4D39M2I11M1I18M2I2M2I79M4D11M5I25M4I27M5D32M1I35M4D7M2D5M1D8M4I10M3I54M5I6M4I43M1I52M2I3M5I7M3D31M1I35M4I53M1D72M1D15M5I7M5D4M3I1M4I39M3D1M4D34M3D8M2D5M2D13M4I119M4I4M5D42M5D41M5D69M1I37M1D4M3I48M2D8M1D9M1I13M3D10M2I49M4I51M1I6M1D151M3D9M1D14M3D1M1D24M1D7M5I1M3I24M2D5M1I57M3D8M5I26M5I59M4D46M4I88M4I57M4D24M2D7M3D24M5D8M1I59M1I7M4I64M3D1M4I72M3I9M2I24M5D1M1I12M1D34M1I32M3I35M1I72M3I26M3I13M3D23M2I7M1D9M5I36M4I80M4I34M3I17M5I38M4D1M4D26M2D77M3I25M2D10M3I14M4D29M1D44M2D24M5D45M5I4M5D22M3D2M5I3M5I34M2I48M3D14M2I27M4I30M4I50M1I2M4D17M2D33M1D45M4D50M3I10M2I19M1I6M3I105M2D20M1D25M3D8M3D14M4I16M2D5M1I12M3D20M3D6M4I14M2D16M2I5M1I12M2I83M2I9M4I36M1D27M4D56M1I58M5I53M5I35M5D23M4D57M2D16M3I1M5D7M5I11M3I5M5D99M2D70M4I7M5I14M2D25M5D4M2D3M2I58M2D4M1D23M4I6M5D16M4I25M3I36M3D88M3D34M4I28M4I40M3I62M2D47M1D8M5D22M5D4M2D40M4I12M3I2M1D13M5D62M2I19M4D104M4I21M2D5M1I102M4I32M4I14M2I1M5D19M3I24M3D7M2I54M1I46M4D33M3I37M2I15M2I5M4D12M4I23M1D6M1I3M2D3M2D1M3I26M1I39M5I2M1D28M1D16M1D2M4I55M2I6M2I110M3D23M1D19M5I54M3D27M2D38M4D21M4I9M4D3M2D59M3I34M4I19M4D17M5D10M1D3M3I51M5D5M1D74M2D4M3I10M1I6M4D16M1I38M5I66M3D66M3I15M2D1M1I35M3I43M2I22M4I25M3I6M4I55M2I14M1I158M4D27M2I18M4D44M2I16M2I6M2I17M2I25M5I60M3D5M3I101M2I17M1I53M2D1M4D3M1D21M3D1M1I9M3D39M1D14M5D19M4D10M2D4M4D14M3I22M1D61M1I80M3D30M1D6M1D7M2D21M4I4M4D52M2D4M2I32M5D34M2D33M1D7M2D75M1D12M5I55M4D24M2D43M5I22M4D23M4I68M1I24M3I31M5D32M4I55M4D8M1I29M1D45M4D10M1D22M5I35M1D13M1I18M4D12M3D10M2I16M1I61M2I53M5D8M5I33M4I9M4D26M2D14M5I1M4I11M4D11M2D7M5I51M4I24M2D27M4I23M5D9M5D75M1I46M5D30M2D11M2I25M3D61M3I60M4D12M5D37M3D8M2I64M4D1M4D13M5I5M5I11M3I6M4I8M3I4M5D50M5D1M3D25M5I22M1I10M3I37M3D36M1I26M1D1M1D14M4I80M2I72M4D62M3D8M4I20M1D5M5D13M2I34M3D1M2D1M5D17M4I51M5D30M2D10M4I75M3I13M4D52M1D127M5I10M2D70M3I22M1I30M5D15M5D5M5D1M4D85M2I22M5D60M5I32M4I16M5I46M1I18M1D24M2D14M5D3M5D43M3D4M1I32M2D57M1D5M2I13M2D46M3I5M5D8M2D11M5I51M5I20M5D40M2I10M1I76M4D51M1D163M5I14M2I7M5D110M4I13M3D19M3I2M1I39M1I45M2D111M1D74M4I50M2D9M5D24M2D59M4I52M4D57M5D68M4I7M1D35M1D19M4I1M2D65M5D20M3D56M2D26M5I19M2I21M5I14M3I19M1I18M5I3M1I17M2D8M3D6M2D34M2D1M2D1M4D18M2D91M4I48M5I3M1D42M3I1M1D18M4D19M4D1M1D17M2D19M4D70M2I7M1I48M3I46M2D19M4I54M4I3M4I46M4I81M2D46M4I20M1I3M3I4M5D23M3D16M2I32M1I21M3I11M5I23M1D8M2D16M1I71M4D6M1I44M5I14M4D70M1I4M1D70M1D108M1D4M4D25M1D30M1D2M3D1M3I12M3D24M1D12M5D6M5I45M5D4M4D17M1D16M3D29M4D20M4I32M2D11M2D6M1I26M3I68M2D70M1D70M3I21M3I22M4D48M5I30M2I18M4I17M1D26M1D10M1I13M5I18M3D43M1I19M5I28M3I36M5I74M2D113M4I11M1D12M3D54M1D48M5I9M4I50M3I7M2D5M3I45M3I4M3D11M1D8M3I34M4D40M2I16M5I20M5D2M2D82M2D29M3D1M3I6M1D13M5D35M3I18M2I3M3D9M3D60M3D92M3I1M4I8M2D35M4D19M2D2M5I1M1I7M4I14M4I10M1D45M3I7M3I16M5I124M2I55M4I18M5I68M4D23M3I55M4I22M3D61M2I21M2D9M4I61M3D54M5D34M2D52M3I37M1I20M2D11M4D10M2I24M1D6M4I7M1I65M5I69M1D13M1D37M5D24M3D20M4I47M3I93M2D32M1I91M3I14M2D29M4D5M5D5M2I81M4D17M5D3M2D5M1I8M3D31M4D39M2I56M4D133M2I62M4I33M2I123M4I47M4D44M3I17M4I6M4I11M5I7M1I4M1I3M3I5M5D19M2I144M4I52M4D20M4I24M2I20M1I37M2I50M4I23M1I18M3I2M5D8M5I23M4D6M1D52M4D67M1I19M2D39M3D28M2I51M2D41M4I78M4I11M1I12M5I54M4D30M3I149M1D161M4D46M4D1M5D8M3I18M3D88M3D27M5D33M4I5M2I7M5I71M1I12M5I34M3D38M5D13M3I44M5I15M3I2M4D13M4D14M1I18M4I6M2D63M2I36M1D41M1I68M4D20M3I8M5I26M3I49M2D53M3I26M5D52M2I52M3I4M4D9M4I31M1I16M1D18M2D15M3I3M4D106M4I10M1I14M2I10M5D4M2I9M4I62M5D3M2D38M4D184M5D92M4I47M1I80M4I10M5D38M1D9M4I6M5I79M5D77M5D40M1D43M1D4M4D3M2D32M2I29M2D9M4I163M4I18M5I82M4I9M1I6M5I8M5I13M1I9M4D11M2D1M1I30M1I4M1I6M4D62M3D20M4D3M5D13M3D88M3D1M1I38M3D126M5I32M1D12M1I37M4I17M5D62M4D86M1D26M2D1M2D31M2D52M5I25M4D73M1D9M5I39M4D30M3D56M1D123M2I88M1I84M2I19M4D16M5D5M3I5M3D112M4D14M1I5M2I34M5I25M2I5M5D6M2I10M2D30M2D89M4I1M3I7M2D13M2I16M4I17M4I27M4D17M5I81M5I8M1D5M5D2M3D48M2I13M2D69M5I42M4I78M2I111M2I60M4D33M5I40M1D81M2D2M1I12M2I31M2D34M2D11M1D16M2D11M2D15M4I31M5I16M3I14M3I17M1D79M3I42M5I1M5I45M5D5M3D2M4D83M5I2M3D19M5D6M3D7M5I14M2D6M2D3M3I54M1I68M4D10M3D71M4D152M3I5M2I45M2D96M3I10M4D39M4I15M1I6M1D37M5I25M4I9M2I40M1D34M5I5M5D3M2D6M1I66M3D17M3I16M4D3M3I12M1D70M1I43M4I22M1I15M4I17M4D11M2I36M1D2M5D10M2D13M5D9M3D9M5D3M4D1M5D1M5D5M4D75M4D24M5I33M2D31M2D12M4D12M3I129M4D11M3I1M4I30M1D22M3I19M2I1M2I32M2I86M2D18M2D56M4I25M2I31M5D63M5D1M1I34M5I29M2D31M5D17M4I25M5I2M4I2M3D16M1I12M2D8M2I3M3D30M3D78M1I4M2I35M2D38M3D28M4I137M4I109M3I5M2I6M2D43M3D11M4D165M3I4M3D57M4D3M5I68M3I92M4D10M5I24M5I1M1I22M4I58M2I54M4I4M2D43M3D44M4I28M5D22M3D16M4I9M4D1M5I58M3D59M1I37M2D17M1I40M4I29M5D4M3D40M1D10M4I4M5I49M3I1M1D16M2I5M5I13M1D8M4I9M2I33M2D34M1D35M5I22M4I33M3I38M4I6M5D15M2D37M1D32M1I108M3D18M5D22M4I10M1I17M3I19M4D5M4D68M2I14M5D1M3D29M5D135M2D33M4D42M2D41M4I17M1I23M4I23M1D25M4D31M3I9M4D136M5I20M5I13M5I50M5D124M4I16M3D3M5D101M2I16M3D1M3D84M4D30M1D32M1I23M4D28M5D6M2D40M1I3M3I11M4D5M3D39M5I1M2I7M5D54M2I21M5I21M2I12M4D16M4I17M2D64M5D15M5I35M3I47M1D1M4D1M3I8M2I54M3I80M1D1M5I3M5D23M1D3M5D51M1I37M5D19M2D14M4D17M3I25M3I59M4I50M5I19M2D87M3D5M4I26M1D17M5I14M2I13M1D99M4D14M5D15M3D47M4I37M5D4M2D79M4D14M4I63M3D13M3I1M4I34M2D92M2D18M3D12M5D34M2I9M2I74M2I26M3D55M3I25M5I4M4I10M2I103M3D41M2I2M3I15M2I117M5D15M1D5M5D6M4D7M3I11M4D35M5I1M1D11M5D4M5D126M2I14M5D29M4I10M4D16M3I2M3I31M2D54M3I84M4I57M5I22M5D54M2D14M1D6M5D98M2D9M3D27M2D9M2I15M1I9M1I37M5D37M2I25M4I6M2I21M5I20M2I29M2D110M1D31M5I32M3I44M4D76M2D24M4I11M4D62M4I35M2I15M4I39M5I107M5D19M3D92M5I2M1I10M3D11M4D18M5I53M4I22M1I60M4I4M5D2M3D51M2D3M3I65M2D38M2D31M3D18M1I1M2I43M3D34M3I71M5I48M5D17M3D18M4D74M2D79M3D36M5I1M3I68M5I24M1D84M2I55M4I39M5I23M1I22M5I39M5D7M1I24M5D18M5I1M2D88M3D60M5I119M5I17M3D6M3D9M3I13M3D3M4I4M1D3M4I14M1I34M5I62M4D4M5I6M5D42M4D1M4I6M1I15M5D34M1D46M3D123M5D93M4D20M5D90M5D36M1I2M2D26M3D44M1D62M2I71M3I49M3D9M5D36M1D27M2I30M3D97M3I18M2I10M1I14M1D63M3D32M1I25M2D24M3D48M4D14M4D1M2D32M5D113M2D27M1I7M1I18M3I27M5I8M2D2M5I29M2I3M4I34M1I20M3I77M5I26M1I3M2D43M5D75M4I39M2I49M5D32M1I14M1D20M5I4M1D45M4I3M5I3M2I99M5I18M5I26M3D17M5D32M5I15M3I3M5I1M2I26M5D54M4D10M4I16M1I24M4D1M5D18M2I91M4D9M4D33M1I30M5D159M3D43M4D36M4D10M3D33M3D13M3I15M4D27M3D1M1D40M4D65M1D1M4D61M3D18M5D4M5I6M2I25M3D125M5I31M1I4M5D42M1D81M5D40M5I26M3I1M5I50M4D14M3D10M5D2M1I44M5D61M2D35M1I38M3D4M3I4M3D4M1I22M1I37M1D2M3I50M3D4M3D131M5D11M3I8M2D3M5D87M1I18M3D78M1I24M1I24M2I44M4D17M3I10M3D23M4D11M1D10M3I67M2D41M3D9M5I42M4I6M4D5M1D17M2I9M1I13M2I22M2I25M5D43M5I101M2I4M3I11M2I18M5D27M3I11M4D64M1I6M3D24M2I1M1D6M1D85M5D2M1D20M4D27M5D13M5D28M4D113M4D19M5D5M1I2M1D92M4I43M4D120M1D20M3I5M5I40M5D16M4D15M5I19M4I5M3D6M5D48M2D49M4D50M2D39M4D9M1I49M3D6M3D35M2I1M3D58M1D82M1I45M2D25M5I8M3I4M4I3M3I40M3D57M3D6M2D46M2D6M4I74M2D14M3D4M3D22M2D54M5D3M3I61M3I15M1I52M3I26M2I29M2D31M4D18M3D14M1I56M2D12M1D20M3I16M2D12M4D2M4I31M2D12M3I73M5D23M2D45M2D4M1I3M5I14M1D4M5D72M2D21M1D2M5D91M3I17M4D18M3I9M3D4M2I18M3D23M4I75M3I12M5D1M2I28M5D25M2D6M1I42M5I7M4D27M1I14M2I12M3D40M4I20M1D51M4D50M4D47M3I53M3I5M1D2M5D33M4D96M3D67M2D3M3I49M1D9M3I45M5D1M2D7M1D8M1I75M2D30M4I20M5I22M5D1M4D5M1I36M1D8M4I34M1I21M3D35M5D1M5I26M5I50M5D29M5I64M4I1M5I65M2I59M3I49M2D40M3D115M3I28M1D1M1I3M3D9M4D141M4D11M3D7M4D41M5I29M5I40M2D27M3D7M1I3M4D8M4I8M3D2M2I1M5D46M5D32M5I23M5D32M2D169M3D85M2D39M3D68M3D59M1D11M2I13M1I22M4D8M1D1M3I9M5D22M1D23M5D22M5I12M2D29M5I2M3I1M4D15M2I85M1D50M5D8M5I7M1D21M1D39M1D49M4D6M1D133M3D127M5D1M5I16M3I10M2I30M4I28M4I15M1I10M1D21M4D28M2D4M4I29M5D6M2D32M5D26M5I46M4I13M2D45M1D29M5I84M1D8M4I38M2D47M2I32M4I60M1D39M4I27M4D32M3D41M4I17M4I20M5D16M1I17M4D11M4I35M5D29M2I19M4D15M3I17M2D29M4D31M2D37M5I10M5I107M4D1M4D63M2I6M2D37M1D35M3I63M1I31M1I19M4D1M2I16M5I44M4I7M3I18M3I42M1I47M1D10M4I16M5D6M2D16M5I1M5I38M2I71M1I15M3D19M5D81M3I75M1D3M1D21M5D64M5I25M4I14M4D85M1I23M5I3M5I3M1D13M3I29M2I19M1D10M3I56M4I21M4D3M2D9M4I39M5I97M5D48M1I82M5I34M1D15M1D38M2D4M1D19M4D14M1I50M1D14M1I1M4D48M5D4M3I5M1I2M1D59M3D8M5D93M4D17M3D30M3D24M3D31M3D52M4I25M4I12M3I7M1D41M5D60M5D26M2I4M1D23M5I38M5D15M5I75M1D4M3I30M2D9M4I41M5I34M1D4M3I43M5D3M3D12M5I1M3I31M4I78M2I8M5D86M1D8M4I12M4I31M5D46M4D41M2I15M4D37M5I42M5I9M4D14M5I81M5D25M1I30M3D6M2I44M5D2M2I31M2I6M1D14M5D58M3D96M2I1M4D10M2I36M3I27M4I77M5I11M3D5M3I62M4D58M3D50M3D9M3I21M1D1M1D3M2I51M3D95M1D10M1D4M5I15M5I14M1D10M4D13M5I11M5I36M5D7M4D64M4I55M5D59M2D19M5I6M5D50M4I125M5I13M5I19M1D84M4D2M5I50M3D10M3D22M2D14M5D22M5I14M2D7M5I94M5I105M5D2M5D5M1I20M3D44M3I17M1I22M2D12M4I9M5D51M2I28M3I12M4I16M3D32M5I26M2D21M5I2M1I4M5D41M2I5M4I11M5D12M4D11M4I4M2D2M2D11M3I28M3D2M5D47M2I40M4I4M5D16M2D86M4D13M2I11M3D1M1I24M3I5M5I18M2I10M3D10M3I8M1D46M1I31M3I6M2D38M1I9M2I3M4D2M1D49M1I81M5D57M1I14M1I8M3I19M3D5M3I16M4I2M3D58M3D16M1D32M5I31M2D13M4I23M3I1M4I99M2D21M4I57M3I11M5I13M4D25M5D155M2D25M3D32M2D1M2I6M3I7M2I109M1I3M1I7M5I21M2I22M2I14M3D112M5D31M5I131M1I18M5I11M4D5M4I39M3D12M5D12M2I47M2I53M4I6M3I29M3D7M3D18M4D28M2D21M4D30M5D34M4D10M5I59M4D13M2D24M2D10M1D81M4D43M2D23M4I1M4I63M4D27M3I19M1I49M4I10M2D73M1I23M1D110M5D4M5D74M4D135M4D5M4I68M2I63M5D10M3D22M4I34M2I37M2I41M5I69M5D4M1D27M5D10M1I9M5D13M2I25M3I9M5D57M1D75M4D2M3D80M4I17M2D2M1D1M1I28M4I12M5D21M2I40M3I118M4I64M3I21M2D4M4I20M1I36M1D8M3D31M1I9M5D50M5D7M3D69M5I58M4D3M3D1M5I45M3I5M1I5M2D63M2I2M1D88M5I35M3D2M4D2M4I40M2I66M5D50M4I21M5I29M2D6M3I101M1I16M2I58M5I25M5I60M2I20M2D14M4I1M1I31M5I1M4D52M4D59M5I60M2I76M3I11M1I30M2D35M3D13M4I99M1I39M2D10M3I5M1I29M4I20M5D19M3I12M5D45M4I16M5I6M2I154M2D193M2D15M1D71M1D6M2D7M4I33M4D67M5I63M5I22M4D9M3I99M5I16M1D18M1I31M1I70M5D52M1I7M3D6M4D10M2I14M3D58M3I36M3D20M5I91M5I19M2D23M3I38M2I31M5D37M5I37M2I48M4I27M4I18M3D13M4D12M4I18M4I25M2D5M5I14M1I15M5D44M1D58M2I23M3D49M2D10M2I4M2D20M4D3M2I37M3I30M5D12M3D15M2I3M4I35M5D60M3D60M1I59M1I58M1I45M2D67M2I27M4D24M5I25M2I54M1I20M5I17M1I67M2D79M5D51M2D122M3I19M2D36M3D22M2D8M3D79M4I49M4I4M5D16M4D45M5I5M3I15M5D68M5D99M5D62M3I5M5I5M5D15M2I9M1I23M1D10M5D1M1D17M2I82M2I17M4I82M1D34M3I48M2I15M2I7M4D89M5D41M5I26M2I8M5I55M1I30M4I28M3I40M4I136M3I4M5D22M4I31M4I24M2I34M1D65M4D17M5D12M1D98M2I7M1D17M4I32M1I12M3I17M4D6M3D26M2D32M3D13M5D22M5I7M5I2M4I15M1I3M2I82M1I27M5D52M3D30M2D57M3I7M3D50M1D13M2D59M5D35M2D7M2D28M4D35M1D25M2D64M4D39M2I23M4I7M1D9M2D12M1D62M5I41M1I5M2I8M1I23M4I6M3D39M2I44M2I37M5D20M3D22M1D163M1D40M2D120M1I23M3I52M5D4M3I14M4D2M3I4M2D18M1I17M2I2M2D49M5I44M4I15M4I3M2D20M1D101M4I4M5D8M4D4M4D5M1I17M3I76M1D67M2I2M2D27M4I56M4D74M3D10M1I44M3D6M3I61M5I9M2I16M5D2M2D3M2I17M5I23M5D10M5I40M1I136M4I9M1I13M2I64M5I27M5D12M1I47M2I17M2I127M4D12M5I17M4D1M5D1M1D18M5I26M4D22M1I23M4I135M1I1M3D4M1D6M4I46M2D19M4D18M2D25M4D6M1D16M5I7M4D45M3D6M4D168M3D15M4D1M4D14M4D47M2I23M4I27M3D30M5D80M4D12M5D2M2D20M2I15M3I44M3D50M2D32M5D79M4D6M2I5M2D1M2D74M5I31M5D13M3I17M3I47M5D20M3D75M4D28M3I24M1D16M1I42M3D48M3I33M4D37M1I7M1I123M2D36M4D21M5D32M2I19M5D53M3I10M2D32M3I22M1D15M2I128M1I13M5D43M4I9M2D55M5I80M1I15M5I63M4D42M1D86M5D20M3I3M2D27M4I8M3D55M5D49M4D16M2I5M4I14M4I48M5I25M2I40M1D9M1I51M1D58M1D2M1D66M5D11M3D174M2I27M2D12M2D31M3I18M4I40M4D87M5D32M4D5M4D8M1I24M2I17M2D37M1I15M5D19M4I2M2I40M2I8M3I23M5I54M2I10M5I41M3I29M2D35M1D56M5I4M2I15M4D29M5D8M2I11M1D10M1D16M1D62M2I16M2I6M5D16M4I2M3D15M4D50M1I53M3D119M1I35M3I22M1D27M1D20M3I23M3I2M2D47M4I5M5D6M4I13M4D20M3D21M5D39M3I34M4I5M5I16M2D13M1I49M5I19M1D18M1D56M3D26M4D35M3I16M2I13M3I4M5D104M5I19M1I33M5D1M1I11M3I8M4D26M2I41M5I15M4I4M1D17M1I55M3I23M2I3M1I64M4D10M4I42M3D1M4I9M2D19M5D21M4I21M4D3M2D20M2D7M3I20M4I6M3I55M3D2M1D32M2D22M4D29M2D40M2I20M5I18M5D23M5I51M2D30M3D22M1D22M4I10M4I4M1D29M4I20M4D13M3I23M1D20M5D150M3I12M1D12M5I29M5I9M2I17M2I12M5D5M1D60M3I19M2D4M5D7M3D52M4I72M2I8M1I24M1D2M2I10M2I29M5I66M3D11M3D41M5I3M3D48M2I27M3I20M3D46M3D39M3I38M2I19M4I24M5D5M1I12M5D7M4I4M1I66M4D5M5D6M5I15M5I22M2D38M2I8M4D32M5D22M4D43M3I15M3I27M3I19M2I2M5I8M5I5M5I27M3I14M3I10M3I42M4I5M2D34M3D166M1D13M3I17M3I5M3D4M3I18M4D8M5I20M2I2M5I16M2D30M5I32M5I27M5D89M4D88M3I53M4I1M3I9M2I118M5I3M4D3M5D30M3I15M1I142M3D7M2I6M4D25M5D1M3D2M1I36M2I8M5D16M5I18M4D34M3D34M2D107M3I2M1I1M2D43M3I35M2I42M2D35M4I13M3I64M4I23M1D1M5D38M3I1M2D42M3D2M1D21M5I4M2D3M3D54M1D4M2I2M3D15M5D107M1I50M2I35M5I34M5I81M4I36M1I18M3I61M1D124M4D7M1D29M2I33M3D25M5D54M4D64M1I26M4D23M4I12M5I7M3I29M5D39M5I1M2D44M1I96M1D47M5D8M3D17M4I21M3I18M1I1M4I7M2D32M5I42M2D2M2I49M3I12M3D3M5I9M4I33M1I175M5D28M2I29M5I2M1I56M2D44M3I17M1I61M2D55M2I39M3D42M2I44M5D24M4I9M5I45M3I21M5D46M3I9M1D16M4I3M4D53M1I5M4D32M2I21M2I72M3I64M4D6M2I27M4I9M1D44M1I5M2D26M2I29M5D13M4I50M3I25M4D1M3I30M2I8M2I28M5I85M2D51M4I24M3D34M2I11M3I48M2D1M1D1M3I2M1D3M3I1M5D15M2D14M2D10M4D1M1D2M2I49M3D59M4D105M5I32M2I9M4D24M5I3M5I31M3D37M1D34M4D10M1I32M1D81M1I30M2I38M3D6M1D27M4D3M2D94M4D4M3I3M1I31M4I33M5I52M2I18M5D3M4I6M2D10M2D12M2D5M5D3M5I5M4I38M5D6M5D30M2I13M1D67M1D9M3I37M4I16M3D41M1D20M1D79M1D1M2I6M3I22M3I17M4D42M3D1M3I19M4I1M1I5M1D14M2I17M5I10M2D20M2D7M3I36M3D43M3I50M2D23M4D23M4I21M4D4M1D14M1I3M2D38M4D7M5I39M2I10M4D35M1I13M5I163M3D14M1D23M1I8M5D53M5I11M2I10M4I39M3D18M1I4M2D5M3D54M5I30M1I7M4D15M2D20M5D3M5D52M4D25M4D21M1D4M4I78M5I3M5D7M2I61M1I32M3I9M4D170M5I4M1I41M1D69M1I4M1I43M5I26M4I20M3D14M5D9M3D21M1D14M5I73M5D1M5I30M1D6M3D6M2I4M5I17M1I2M4D2M4I10M3D43M3D20M1D107M4D66M2I18M4D12M2I22M4D9M2I14M4I48M4I37M4D16M3I67M4D32M2D15M2I23M3I29M1I20M3I3M3D119M2D31M4I2M2I63M2D4M4D27M5D2M5I163M3D18M2D8M1I18M5D4M5I5M5I89M4D19M2I214M4I21M1I12M1I8M2D12M2D44M2D41M4D22M4D1M1D33M3D18M4I29M5I14M2D12M1D13M4D18M2I12M2I18M3D2M2D1M3I65M5I11M4D33M3I1M1D9M1D17M3I14M2D21M4I17M4D19M1I15M5D16M5D6M3D5M5I92M1I4M1D8M3D17M2I6M1I19M5I125M5I90M2I8M2I54M1D116M1D5M2D27M5D75M1D1M4I29M2I3M3D89M1I28M2I101M4I30M4D10M3D20M2I45M1D50M1I35M2I8M5D28M5D52M2D65M3D12M1D49M5D40M4I136M1I28M4I20M1I57M5D58M4I51M2I68M4I57M1D89M3D45M5I32M3I12M1I17M2I46M4D1M5D15M2D28M2D17M2I6M1I72M5D11M3D12M4I209M4I56M5D38M2I29M4I57M3D4M1D16M3I12M3D17M1D94M3I36M5I67M3D3M3D10M5D12M1I35M3D19M1D11M2D42M4I54M3I2M3D12M3D36M5D41M3D31M3I1M3D12M3D10M3D27M3D23M5D38M2I41M1I22M1D53M4I4M3D7M2D10M3I1M4I3M5I3M1I29M2D56M1I9M5D185M1D2M5I37M4D70M5D16M2I9M1D62M3I33M5I41M2I12M3D33M1I4M4D20M5D75M5I88M5D9M2I2M1D42M3I12M4I50M5D49M5I145M5D22M1D16M5D40M4I18M5D38M2I51M5D46M4I8M5I76M4I11M3D22M3D25M4D8M2I23M4I46M1I20M4I29M2D4M1D48M1D55M1I67M1I2M4D79M2D19M5D5M2I19M3D79M4D41M5D18M4D18M2I72M3I5M3D12M2I31M4D7M1I103M1D8M1I15M1D23M3D6M5I76M2D5M4D47M5D16M4D58M4D20M3D29M1D3M1I13M3I31M4I10M5I4M3D37M4I25M5D15M3D38M1D23M5D40M3D2M1D6M1D116M2I11M1I40M1D33M4D25M5D111M2I26M1D36M3I41M2D2M5I25M5D33M2I4M5D28M4D1M3I111M2I21M1D17M5D8M1I41M3I46M2I57M2I5M5D2M1D5M1D9M5D61M4D2M5I28M1D76M3I29M5D19M4I27M4I70M2D27M3I15M5D19M1I5M2I33M2I20M4D28M1I10M4I4M3I51M4D57M3D127M5I87M4I61M2D70M1D73M1I52M3I52M3D109M1D66M3D69M2D15M1D71M4I5M4D41M2I33M3I27M2I22M5I2M1D3M5D64M2D67M2I10M2I4M5D10M1I54M5I4M5D44M3I51M5D131M3I13M5D2M4D15M1I16M1D49M1D24M4I24M2D86M1D1M1D8M2D6M4D3M2I4M2D62M3I24M2I30M2I4M3I9M5I81M1I32M1D35M5I12M4D4M1I40M5I14M2I60M4I2M3D7M3I20M2D26M3I35M5D24M5I59M2I18M4D74M5I13M2D19M5I31M3I21M2D12M5D53M2I9M1D18M5D8M3I38M2I23M2D1M5I97M1I5M3D2M2I15M5I63M1D17M4I8M1I8M3D21M3D110M5I79M4I12M3D2M3I39M3D23M3D4M4I2M3D22M4D15M3D11M4I1M4I13M4I1M1I26M1I45M1I71M2D35M3D4M5D8M1I21M5I10M3D46M1I4M4I9M2D53M1D25M2D52M3D44M1I36M5I11M5I2M2D9M1D3M3D52M3I23M1I4M3D3M2I3M5D35M2D17M2I25M2I68M3D102M1D7M3D19M2D15M3D10M3I14M3D2M4D23M5I14M1D18M5I11M1I7M1D32M2D14M5D55M1I39M3D28M5I2M2D23M5D48M1D10M1I38M2D13M2I10M4D73M1D11M4D24M5I47M1D46M1D10M4D58M3D27M5I7M3I26M2I3M3I8M1D28M2I33M5D38M1D30M1I5M3D52M2D2M4I5M3D16M1D20M2D5M4D61M2I11M2I4M4I1M5D82M3I10M5I54M1I40M4D3M1I2M1I20M2D12M4I48M2I68M1I7M1I27M2I23M1D37M2I22M1D5M1I134M5D5M2I97M1I25M5D35M4I52M2D11M1I4M4I118M3I44M3I25M3I3M5D26M3D61M5D57M1D60M4D109M1D32M4D9M3I31M3D14M3D9M3D189M4I23M5I26M2I85M3I10M5I2M3D15M4I56M1D15M3I14M1D82M3D18M3I74M3D107M3I19M4D46M1I38M1I39M1I25M5I37M4D3M3D65M1D19M2I57M2I31M3D10M4I16M4D8M2I22M1I15M4D34M1I11M5D43M5D14M5I53M5D7M1I5M4I74M2D55M2I5M1I5M4I1M3D40M3I13M5D55M3I33M2I81M2D66M5I82M1I20M1I68M4D1M2I13M1D21M1I51M1D16M1D18M3I10M3D10M3I54M2D40M5I34M2D37M3D48M1I25M5D11M2D16M4D25M1D72M4I3M1D13M5I35M3D35M3D30M1I33M2D28M2D40M5I52M1I3M5I32M3I14M3I3M1I19M2I8M4D41M1D85M5I54M5D75M2D4M5I18M3D1M4I77M2D17M3I6M4D10M5D20M5I48M4D137M1I4M2I35M4D6M4D16M1D84M3D25M5I2M5I2M5I50M5I40M1I7M2I25M1I39M1I58M3I26M3I49M5I85M3I22M4I18M3D31M3I8M2I4M3D40M1I6M1D4M5D5M5D6M1D249M1D125M4D12M3I6M2I3M3I32M2I37M4D55M5I71M3I8M4D25M5D17M1D74M2I4M4I31M3D4M3I21M5D36M4I33M2D26M4D10M1I11M1I45M3I46M4D30M3I8M5D30M4D7M5I60M4D8M4I14M2D4M3D8M5I95M4I14M4D6M2I11M4D38M1D60M3D23M3I73M1I11M3D13M5D9M5D74M3D28M1D189M3D34M1I13M2D28M5I77M2I9M2I16M3I29M4I15M2D35M1I20M2I98M3D9M3I52M1D16M5I16M1D11M1I13M4I3M1I25M4I22M4I4M3D29M1D17M1D13M4D35M4I12M4D22M1D114M5D27M3D1M1I33M5D3M1I25M5I33M4D33M5I5M3D12M2I26M5I18M4I11M5I27M5D64M4I4M3I36M3I148M3I33M5I6M2D78M3D115M2I51M2D30M1D64M5D19M4I61M2I30M1I1M2D4M5I33M2D72M4I15M1D57M2D38M5D80M2I29M3D2M1D24M1I52M4I48M4I4M3I59M3D5M2D105M2D17M2D12M4I34M5D12M4I54M2D56M5I60M3I8M4I53M4I11M4I59M4I23M4I29M3D9M4D1M5I36M4I2M2D69M3D70M4D17M5D18M2I79M2I5M4D1M1D26M1I6M4D18M3I50M4I10M5D23M2D93M5I16M2D11M3D39M3I3M1D14M1I12M3D40M1D90M5I48M1D27M4D20M2D39M1D9M4I15M1I7M2D14M4I100M4I24M1I5M1I59M1I44M1I51M2I37M5I70M1D15M2D6M3I6M3I1M1I2M2D6M5D8M1I8M3D19M4I23M2D22M2I1M4I32M1D22M2D29M5D78M1D3M3D1M2I36M1D6M1I29M3I83M5D13M5I32M1D44M3I41M2I48M2D48M2I7M2D51M2D25M1I34M3I3M5D19M3I27M2I98M2I36M4D42M3D36M1D1M5I22M4D60M1I25M5D18M3D18M5D20M1D17M4D26M4D26M1I2M5D15M1D17M5D33M4I2M4I18M4D7M2I10M2D11M2I6M1I15M2D44M5I161M5I11M2I8M3D24M2I19M4I1M2D142M4D50M3I9M5I11M4D8M2D4M4D25M3D7M3I72M3I44M5D1M5D80M5I76M4I81M5I70M5D58M1I108M3D44M2I48M3D2M2D6M3D5M2I7M4I10M4D18M1I2M5D36M1D65M1D6M4D110M4I5M3D33M4I3M4I33M1D2M2D21M5D110M2I18M3I36M1D24M4I3M1D2M4I15M5I175M4I4M4D66M1D6M3D31M2I61M3I15M4I13M3D9M2D57M2D20M2I71M4I7M5I14M4D3M5I7M5I49M2D20M5I9M2I64M4I39M5D4M5D46M2D6M5I21M2I15M1I65M4I14M1I4M5D51M1D34M3I53M3D109M4I53M5D5M1I32M3I26M2D17M2I1M2D39M3D19M3D3M1D8M2D9M2D3M1D4M5D33M4D33M2I112M2D34M1I45M2I17M4I3M2I44M4D4M1D15M1I19M4D28M3I14M3D41M2D5M4I63M3D7M1I71M3I13M5I10M1D62M5D54M5I57M3I14M4I49M3I46M4D25M5I19M1D45M1I2M5D17M5D28M5I4M4I15M1D21M3D32M5D9M2D25M5D6M4D27M5I8M1D57M3I74M2I13M3D22M1I35M1I17M5I25M2D31M3D20M5I25M5I82M2D6M3I18M2I1M3D18M4D7M5I23M1I20M3I3M5D71M4D11M5I22M3I64M4D27M1D3M2D42M2D52M3D4M5I1M4I53M4D39M1D3M2I1M5I21M2D10M3D28M3I11M2I96M2D2M1D65M1I54M5D13M2I2M4D16M2I86M1D4M3D6M5D19M1I11M4I12M2D4M1I120M4D11M3I110M4D122M1I23M2D18M5D9M5I40M5D37M4I12M1D52M5D15M4D18M5I20M3D23M4D3M2I49M1D13M1I36M2D45M3I5M2D22M3I58M2I105M1D49M4D13M2I8M1I31M3D4M3D15M4D16M3I45M1I84M2D47M4D8M4D22M3I32M4I8M2I4M1I69M5D18M1D19M3I3M4I4M4I12M1I3M3I22M2D60M5I49M1D31M5I94M1I3M5I52M4D94M5I12M1D29M4I18M5I10M1I22M4I18M2I9M1I34M5D24M5D12M1I6M2I29M2I66M1D57M5I20M5D10M1I40M5I19M2I27M4I42M3D24M2D51M2D11M2I40M1D12M5D13M5D18M4I14M2D10M1D91M5D10M5I18M1I9M2I21M4I22M4I19M1I2M5I34M1I21M5I36M4I14M5I16M2D98M2I17M3D29M2D76M2I6M4D38M2D61M2I10M1I12M3D79M5I31M5I16M1I5M2D84M4D2M3I1M2D84M4I11M5D74M4I3M2D9M3D7M1D117M3I8M4D24M2I11M4D7M3D64M2D86M3I6M3D127M3I3M2I14M3I57M1D61M5D19M4I13M2D17M4I8M3D8M5I48M1I3M5I22M3I2M2I53M1I39M1D34M3I4M3I14M2I46M4D11M5I2M1I122M5D52M4I32M4I93M3I16M3D64M1D65M2D42M5I9M2I37M4I46M4D16M2D14M3I4M4I78M1D2M1I69M1D23M2I47M5D22M5D16M2D4M4D2M5D40M5D31M3D55M1I33M1D7M2D6M3I7M3I75M5D16M1I52M1I66M1D61M2D41M2D30M4D69M3D9M3I8M2I12M4I33M2I28M3D2M2D25M4I7M3I55M2D17M2I72M3D15M4D12M2D10M5D35M2D4M3D14M1D22M3I2M5D16M3D13M5D61M3D63M1D25M2D49M4D39M4D33M2D52M2I22M3D53M4D26M2I21M5I40M4I35M1I37M3I107M4I5M4D46M5I45M5D14M3I43M2I75M1D3M2D14M2D26M2I2M3D157M4D8M5D38M4D48M1D15M2D47M3I17M5D7M4I4M5D4M1D4M3I3M1I73M4D11M2D23M2I3M3I111M5I25M5D17M2I130M1I23M1D24M1I75M5I61M4D82M1I14M5D49M4D38M4I21M2D13M4I86M1I32M3D66M1I33M5D42M4I3M2I17M4I33M4D9M2I12M4I27M2I70M2D168M2I26M2I17M5I11M5D66M2D7M3D45M4D58M5I13M4I3M1I14M2I39M3I50M5I149M4I11M5I100M2D44M1I2M4I58M5D119M4I13M4D25M4I17M2I5M3D4M2D61M1D12M4D39M3I63M3I2M1D26M3I19M2I8M2I18M1I5M3D122M3D2M1I29M5I16M3I18M1I19M1I21M4I14M5I84M1D17M4I28M4D32M5D113M5I38M1D5M1D18M1D32M2I14M4D2M1I39M1I36M5I3M1D27M3I52M3D85M1I89M4I1M3D23M1D9M4I2M4D135M3I13M2I11M4D2M3D26M1I12M2D92M5D7M4D104M4D27M2D6M3I8M2I35M2D9M1D2M4I20M4D81M3I18M5D15M4D52M5D36M5D1M2D33M1I23M3D19M3I51M5D116M1I25M5D6M3D61M2I11M2D8M5I15M2I63M3I25M1I37M1I18M1D94M1I22M1D2M2D6M1D40M4I60M5I22M1D66M2I48M3I37M3I4M4D2M3D9M5D48M3I13M1D34M2I6M2I18M4D11M4I38M4D132M5I45M3D24M4D15M2D6M4D3M1I25M1D4M4D47M4I21M2D77M2I13M5I13M5D19M4I3M2D26M5D45M3D12M5D11M2I6M2I17M4D46M4D21M3D5M3D21M1D3M3D34M5I22M4D150M1I72M3D71M2D27M4D75M1D33M3D1M3I49M4I8M2D98M5I15M5D16M5I51M1D184M4D6M5D71M5I42M2I2M5D6M5I17M3I11M3I29M2D20M5I76M5I43M4D67M4I35M4D196M3I6M3D32M5D39M2D7M1I1M2D21M1D6M1D4M2I18M2D16M5I50M5I14M5I15M3D51M4D64M5D29M2I8M5D1M5D51M4I6M3I68M4D20M1I4M4I44M1D39M4I46M1I25M2I2M1D30M5I2M1D12M5D40M4I16M2D51M4D17M1I24M5D12M4I15M2I4M1I31M3D5M1I39M1D23M5D61M4D34M2D11M3I2M4D15M3I54M1I68M3D23M4I25M1D5M5I30M3D80M3I9M1D13M1D13M3D5M1I101M3I4M4D9M3I1M4D1M4I23M3D37M5I64M3D17M2I86M5D44M2I3M1I37M1D19M3D42M4I84M1I22M1I39M1D31M3D23M5I80M2I4M3D45M3D5M2I23M3I5M1I2M2I35M4I13M5D79M2D88M4D15M4I23M3I1M4I9M2I55M4D2M4D77M2I18M4I18M1I48M3I10M2I8M2I129M2D68M3D2M4I65M4I2M2I74M4I81M2D32M1D9M4D56M1I1M5D31M5D149M1D52M5D17M5I108M3D37M2D35M2I10M2D10M5I49M5I38M5I30M5I18M5D3M3D16M1D102M5D29M2I5M2D16M3I18M4I41M4I61M2D1M2D107M5I5M3D22M1I58M3I1M1I51M5I40M4I1M2D2M5D53M5I14M1I78M3D37M1I25M5I211M5D28M2I1M1D2M3I10M1I13M1D1M4I21M4D1M1D36M5I45M5I17M3D13M4I22M1D18M2I10M4D30M2I27M2I82M1I2M1D28M1I3M2D39M5I24M1I38M5I12M4D21M2D32M3D5M2I18M5D32M2D16M4I13M2D13M3I17M5I41M5D1M4I11M5D94M5D30M2I11M2I29M3I43M5I94M3I37M4D51M5I60M1I22M5D67M2I27M2I6M1D1M1I4M5I34M2I89M3D21M3D25M3I16M1D10M4D17M1I10M3I44M5D1M1I16M3D6M4I62M3I44M1I91M5I7M4I55M4D68M4D7M5I11M3D24M3D30M3D26M2I23M1D5M3D52M4I54M1D96M5D39M3D30M2I53M1D8M2I8M1I46M3I3M1I4M5I3M5I5M1I5M5I19M5D1M1D1M5I29M1I13M3I34M3I35M1D7M1D10M3D92M3I4M5I14M5I49M1I35M5I102M1D7M1I11M4I83M3D15M2D3M4D6M4I33M5D43M3I18M3I115M2D1M3I58M3I28M4D20M3D11M1D40M5I4M1D45M2D78M5I4M2D27M3D69M4I60M2D14M5D63M3D19M1D95M3I12M3D34M4D51M2I9M3I88M4I6M2I1M1I7M3I21M2I12M4I35M3D36M2D4M2D94M3D57M4D44M1I3M2I30M2I17M5I1M2I3M2D26M5D22M3I54M2D33M3I32M4D27M5D13M2D12M3I1M5I11M4D39M1I21M2I76M1I38M1I5M2D39M3D22M5I84M2D23M5I11M2I42M4I1M5D20M5I115M1D43M1D39M2I54M1I4M3D63M2I3M4D45M5I30M5I7M3D17M5D8M3I6M3I35M1D67M4I75M2I25M5I41M3I11M1D28M5D6M5I60M4I13M1D26M1I17M3D8M3I4M1I11M5I5M1D137M2D27M1D45M3I9M3I93M2D18M2D5M5I17M4I13M2D49M2I120M5I9M4I56M4I13M3I57M1D4M2I30M4I31M2D48M1I49M3I2M4I58M2I4M2I5M3I32M2I5M1D5M4I47M1I35M2I25M4I20M5D6M4I13M3I6M1I11M3D63M1D28M2I1M1D36M5D5M4D41M4I5M4I16M2I3M5I66M1I11M3D20M2I26M1I4M4I107M3I10M1D13M3D30M3I19M1I37M2D10M4I4M3I56M2D34M5D34M3I46M2D46M2I32M3D35M5D25M1I33M4I38M4I35M5I4M5I45M1D1M4D11M3I7M3I4M4I3M5I13M1D63M2D71M5D42M1D72M4I1M5I48M2D6M3D5M5D7M4I4M3I2M1I8M4I27M1I3M5I16M5I38M5I62M1I46M3I24M4I22M2D54M3D2M1D13M3I26M3I3M4D59M2D22M2D50M3I88M4D21M4D11M4I31M4I9M5D9M3D31M4D139M5D61M2I26M4D140M1D27M4I61M3I13M2I40M5I141M4D74M4I53M1I73M4I48M1I50M5I64M3D82M2D95M5I31M3I16M2I18M3D33M4D9M3D6M3I45M2I23M4D37M4D10M3I22M2D100M2I16M4I7M4I1M3I8M1I1M1D85M5D3M4D43M1D64M1I12M5D25M2D25M3D71M4D4M1I29M5I44M4D10M4D8M5I33M1D45M1D24M4I1M5D12M4D4M5D7M5I4M5D1M5I23M4I15M5I15M5I138M3I56M1D23M5D69M4D24M4I32M2D8M3I28M5I4M1D20M2D77M2I6M4D6M1D48M1D1M2I65M3D26M1D72M4I46M4D37M1I6M2I19M5I39M3D9M2D17M5D9M1D36M4I24M3I14M5I59M3I13M5D1M4D32M1D37M3D7M1I77M1I22M2I3M2I18M3I16M5D7M3I4M5D86M3D62M3D89M2D2M1I5M5I16M5I29M1I30M2D2M4D105M3I5M2D15M2D94M5D52M2D4M1D74M4D3M1D45M1I15M1D13M3I21M2D51M2D20M2D137M4I6M4D31M5D14M5I17M2D5M1I112M2I19M1I112M4D6M3I59M3I14M5I2M3I56M4I29M4D19M1D84M1D180M1D11M2D39M2I3M3D49M2D4M4I40M4I75M2D24M5I120M4D8M3I7M5I64M1I13M4D19M5I23M3D32M4I32M3I6M2I38M4I10M2I32M4I12M1D34M5D30M1I30M2D14M3I64M2D6M2I110M5I16M2I79M5D49M3D3M3I28M5I41M5I16M5D4M5I8M1I26M1D24M2D1M2D11M2D35M5D52M5I8M1I130M3D20M5I6M3D21M2I21M2I10M4D78M2D22M1D42M4I6M2I8M1D141M4D34M4D30M2I25M5I22M1I53M4D66M5D27M3D104M5D20M4D22M2D52M3D60M2I9M5I18M2D7M5D30M5I52M2I65M2I14M3I69M4I24M4I8M5I4M1D33M3I23M4D3M1I6M3I7M2I117M4I150M2I184M5I8M2D7M2I7M1I21M3I27M3D19M3D3M5I5M4D21M5D47M1D43M3D13M3I6M2I9M2D44M4D15M2D63M1I9M4I29M3I9M2I21M2I17M5D41M5I10M1I6M5I32M2I95M2I11M5I25M1I9M4I56M2I24M4D6M3I5M5I87M2D25M4I10M3D23M1I31M2I50M2I2M5D5M5I9M4I26M3D47M3D17M2I22M3I73M3I15M3I33M2D67M2I12M2I11M3D1M5I44M5I56M5D65M5D67M4I25M4I40M1I82M1D15M4I22M4D16M5D50M3I51M5I10M3D18M3I4M4I37M4D26M4D52M1D55M2D15M2D6M2D2M3D15M3I35M4D32M3D22M1I13M1D48M1D30M2D37M4I25M5I5M5I26M5D56M1D15M1D17M1D7M5D144M5I5M3D22M5I8M2I22M5D3M3D126M1I22M2D10M1D12M3D31M4D52M3D46M3I15M1D42M3I142M2I18M5D52M2I3M4D16M2I157M3I7M1D5M1D17M1I44M5D129M1I4M5D6M3D58M3I8M3D28M5I11M1D125M2D2M2D43M5D43M1D11M4I19M5D7M3I10M3I12M2I2M3I22M1I19M4I48M2D7M4I51M4D2M1I38M1I19M5I17M4I5M3I25M1D4M1I9M4I16M4I10M5I6M3D31M5I38M4I17M4I22M1D7M5D29M2D172M5D73M4I2M2D34M1D25M2I13M5D70M2I7M2I1M3D15M4D32M3D3M1I7M4D16M5I9M5I27M1I1M3I31M3I2M5I50M4D10M2D42M1D96M1I24M3D17M5I34M1D22M5I64M2D11M1I13M4D17M5D24M2D107M3I22M1I8M4D9M3I26M4D35M3D19M5D7M1D20M1I9M2D7M5D7M4I125M2D34M1I16M3D110M3D3M5I18M3I94M4I16M4D30M5D41M2D39M4I35M2I12M3D9M5I2M3I18M3D60M4I9M1D20M5D12M1I22M1I3M5D19M3D20M5I14M3D22M4I5M4I1M1D2M5D72M3I40M2I37M2D7M3I19M4D9M1D1M3D32M5D6M3I41M5D75M5I55M3I7M3D6M3I3M3D51M5D1M2D79M1I35M4I7M3D14M2I33M1D17M4I11M4D1M3D22M3D8M4D31M2I31M5I40M5I51M2I4M3I3M5I21M1D91M5I72M1D45M2D4M3D254M2I19M5D35M1D55M2D23M2D2M5D5M3D14M4I24M2D12M4D8M3D25M3I12M4D96M5I39M5I55M2D14M1I8M1I4M2I4M5D22M5D30M1I9M1I26M3I5M4I67M3I30M2I63M4I3M2D18M4D1M2D18M3I116M3I15M2D30M1I11M3I116M5D2M3D17M3D13M5I12M4D19M4D3M1I9M4I24M3I4M4I15M5I48M3D36M2I6M1D9M4D40M4D2M5D49M3I94M3I11M5I15M3D26M4I27M5D8M3I8M1D14M1D24M3I103M2I1M5D40M4I52M5D2M1D9M4I14M5D120M1D58M4I37M5I23M5D78M5D69M4D16M3D6M1D50M5D15M5D3M1D18M5I1M3I2M5D40M3I44M4I24M2I23M5I12M4I6M4D69M2I46M5D47M1D21M5I170M2D46M2D10M4I106M5I75M3I4M4D16M1D6M3I12M1D13M3I13M4I36M3D51M3I54M1I61M3I18M3D16M4I5M2D36M4D2M1I15M3D31M3D15M5D81M5I13M4D12M2D35M5I109M1I2M4I7M3D36M5I24M2D31M5I2M3D49M3I6M5D54M1I83M5I53M1D61M5I108M2D38M1I44M3I42M4I4M5I33M4D16M3D6M5I20M3I13M3I34M1D54M2I3M4I7M1I23M2I3M5D57M2I34M2D4M4D87M2I1M1I37M4I7M1D63M1D8M4I68M2I41M5D90M5D65M4I9M4I2M2D5M4D3M5D3M1D20M1D17M4D55M2D57M2D17M3I20M3I1M1D42M2I16M2D10M1I46M5I30M1I2M2I17M3I43M2I18M4I21M4I19M1I92M4I11M5D17M3D8M1I20M1D36M4I19M2I7M4I84M2I9M5I60M1I28M2D33M1D20M2D5M3D19M2I31M2I2M2I28M1D2M1I10M1D7M3I3M3I44M5I3M2D20M4D90M1I1M3D5M2I4M3D46M3D35M3D6M3I11M1D38M1I61M3I26M2I17M5I42M2D30M4D46M1D19M2D56M2I1M5I74M5D31M5I3M5I16M1D14M5I4M5I32M3D64M1D5M3I23M5I19M4D51M5I17M1D49M4D51M3I27M5I7M5I51M2I27M4I24M4I15M3D9M4D9M3D33M3D12M5I49M2D2M3I81M5I39M3D55M4D49M1D33M2D1M4D13M1D3M5D9M2I34M1D1M5I8M4I11M3I2M4I2M4I72M5I11M1D4M5I17M5D13M5I1M3D13M2I13M2D90M1I27M4I31M5I6M2I26M2I26M4I15M2I44M4I81M4I40M1D19M3I2M3I21M3I4M4I20M1I6M1D2M2I18M2I38M1I35M2I49M2D10M4I8M1D6M3D20M2D3M3I4M4D51M5I10M5D23M1D58M2D89M1D24M5D47M2I2M2I12M3I25M5D1M4I42M5D37M3I33M2I32M3D39M5I23M3I8M5I7M4D62M2D38M4D45M2I81M5I2M3I43M4D93M1D2M5I31M1I2M3D26M2D36M4I23M3D10M5D3M1D23M3D198M2I2M2D110M5D88M2D4M5D14M5I10M3D33M1I1M2I2M3I27M4I81M3D38M2I20M3I78M5D53M5I48M4I1M3D12M3I18M2D24M2I29M4I14M4I3M4I28M4D8M3D69M3D133M1I54M5I12M2I160M3I8M2D80M2I33M5D99M1D2M2I10M5D9M3D35M4D61M1I13M3D9M1I2M5I32M2D13M1I1M2I5M4I7M3I58M3I28M5D16M1I5M2I14M2D12M5D68M1D19M1I55M5D24M4D19M4D3M5D10M2D59M5I28M5I113M2I20M1I164M5I118M4D54M4I13M2D43M4I23M1I32M3I10M1D12M1D1M4D109M1I16M3D24M2D45M1D18M1I25M5I10M3I8M5D5M4D38M3D31M4I30M3I12M2D14M5D10M2I91M3D23M2D28M1I37M4D6M1I18M1I34M4I12M5I18M5D60M2I3M5D19M4I103M3D10M5I6M5I4M3D31M1D43M1D48M3I2M5D10M3D46M5I124M3D2M4I11M1I23M1I2M4I33M4I36M1D13M5D18M1I24M4I2M5D38M5D40M3D4M5D24M3D4M5D5M4I49M5D94M4I8M4D18M3I118M5I21M4I17M2D25M4D8M2D70M3D9M2D46M5D27M1I45M2D15M4D116M5I19M2D19M1I98M1D32M4D9M4I22M2I37M4D89M1D29M1I34M5D7M1D4M4I55M5I114M4D75M5D9M1I121M4I29M1D23M4I29M4I123M3D12M1D11M3D4M2I32M4D72M1D20M5D27M2I98M5D3M1D53M4D23M3I2M3I6M5I10M2I26M2I5M4D18M1I45M4D11M3D56M3D29M3I37M4D59M2D57M2D27M5D43M5D18M5I4M3I155M4D14M3D128M1I2M4I19M2I23M3D35M4D59M2D113M4D99M2D78M4D29M2I14M4I50M4D10M2I8M2D6M4I1M2D19M4I10M2D13M2D12M2I11M2I37M5D2M5I52M1D36M5D8M3I40M2D139M3I22M3I8M4D36M5I23M5D15M3D10M5I7M3D5M4D36M1I102M2D5M3D8M3D6M5D16M2I105M2I22M5I55M4D21M1I4M3D24M1I10M3D11M3I42M5I2M4I34M5D14M5D24M2I7M4I4M5I26M1I5M4D41M5D154M3I13M4I10M4I9M3D15M1I33M5I94M4D41M5I13M5D27M1D31M4D47M2D30M2I35M5D5M3I97M3D22M4D64M3D79M5D22M3I2M3D14M5I5M3D5M4D73M3I5M2D37M2I14M5D7M5D23M5D43M3I8M3I53M2D34M3I63M1D12M2I19M2I9M2D46M1I1M2D5M4I4M4I10M4D1M3D44M2I17M3I4M4D2M5I12M2D6M4D30M5D45M1I20M2D24M3D33M2I26M5D14M2D5M3D50M4I1M3I2M3D7M4D1M5D58M4I6M5D8M4D14M5I2M5I11M1I78M2D108M2I27M4D23M5I59M1I43M2I102M4I83M3D35M4D2M2D88M1D112M1D11M3D3M2D4M4I23M2I4M1D25M4I43M3I27M3D7M5D10M5D13M5I12M5I28M2D6M5D47M5D79M5D4M2D72M4D43M5D7M3I16M4I7M3I18M3D4M1I5M1I23M3I51M1I7M1D89M5I49M3I8M2I40M2D2M2I17M5D11M2D59M3I56M4I15M4I1M5I50M5I102M4D10M4D55M1I8M1I12M1I23M4D5M2I13M5I6M1I14M3I46M4D72M5I81M1I15M3I15M5D13M5I38M5D129M5I22M2D39M5D6M2I9M4D43M5D4M2I25M2I27M4D57M3I7M5I17M2D7M3D16M3D35M5D73M5I8M4D25M4D2M2I40M1D19M5D28M5I23M1I63M4I50M1D14M5I25M2I11M4I3M5D39M3I45M1I19M5D50M1D4M2I124M5I19M2D1M5I17M2D12M1D7M5I5M1D21M5D39M5I9M4D178M3I19M1D27M3I97M3I5M2I11M5D14M5D21M4D2M5D3M5D6M3I21M1D29M1D9M5D7M2D74M2D14M2I6M2D30M2I6M1I53M4I39M5D21M4D23M1D2M3D36M4I28M4D29M3I59M3I119M3I44M3D15M5I21M2D35M1I40M3D41M4D2M5D9M1D19M1D56M2D7M5I70M3I82M1D19M1I5M2I51M1I93M1I51M5D9M3I5M5I1M3D8M2D35M2I1M1D17M3D53M2I33M4D10M2I104M1D52M3D69M2I24M2D1M4D1M2I6M4I32M2I86M3D14M5D15M1D5M1D69M4D36M5D14M3I32M5D2M5D29M2I4M3I37M3D2M5D62M5D20M5D62M2D21M1I26M1I8M2I85M2I43M4I53M1D14M5D3M5I1M3D11M2I122M5I80M2D3M5D4M1D18M5D15M3D8M2I7M3I25M1D97M1I30M3D75M5I21M1D24M3D33M2I20M5I11M4D8M3I1M1D3M3D12M1D9M2D10M5I41M4I27M2I68M2D6M4D1M1I63M4D71M1D63M5D18M1I193M5D31M3D27M5D4M1I13M4D57M2D12M2D58M1D83M5D6M5D5M1I100M5I10M4D13M4D7M4I38M4I114M3I23M4D21M4D1M5D1M1D85M3I82M4D5M5I8M1D23M3D48M1D24M1I15M3D1M3D63M3D42M2D46M4D6M1I21M4I8M4I176M5D41M4D35M3D43M1D30M5D33M4I30M2I6M4I7M3I32M2D157M5I13M3I22M5D12M5D72M5I10M4I147M2D67M3D6M5I22M2D27M5I8M3I1M3D15M5I9M2I7M3D84M1D67M4I53M1I23M5D33M1I25M5D4M4D43M3I41M4D6M5I75M4D61M2I39M2D58M4D56M1I19M2D4M5D103M3D30M2I19M4I10M1D6M2I20M2D10M5I42M5D5M4D61M1I97M4D6M4I71M1I71M2I28M2I5M4D6M5I39M1D9M3I33M4D6M4D28M5I37M2D22M2D97M5D9M2I63M5D8M5I14M2D2M5D15M5D55M2I155M5I95M2I48M3I15M3D5M3I6M3D56M5I13M4D3M2I10M5D4M1D72M2I24M5D1M3I18M4I103M2I37M3I53M5I14M5I20M2D47M2D26M3I50M4D11M3D3M1I86M2D45M2I53M1I48M1D3M4I4M3D2M1D12M2I51M2I6M1D22M3D24M4D43M4D16M5I1M3D4M5I74M4D10M5I7M4D12M5D25M2D133M3I136M5I1M1I2M4D1M1D64M1I12M4D48M2I48M3I57M1D56M1D3M3I54M4D21M5I68M4I32M1D21M4D46M5I14M4I8M3D20M5D15M2D175M4I10M5I10M4I15M4I46M2I3M4D5M1D23M5D26M3I29M5I9M5D31M3D22M5D13M3I29M2I74M4I12M5I71M3I97M1D10M2D106M2D23M3D5M4D37M4D13M4D95M5D6M3I6M1D22M5I29M4D9M5I43M2D2M1I30M4D18M5D46M2I25M1D14M4I23M4I3M4I21M1D20M1D5M1I19M1I65M1I5M1I3M4D74M5I66M1D40M4D4M5I60M4D21M3D2M5D11M1D12M3D9M4I41M2I54M4D14M4I12M2I8M2I5M1D12M3I14M3I4M2I60M5I19M2D10M2D7M5I42M5I12M5D7M5D104M3I22M2I11M5D17M2D11M5D24M5I2M1D89M4D12M3I66M4I12M2D19M2I115M5D47M3I7M4I26M1I42M5D83M2D4M3I27M5I66M3I87M1D42M4D13M2I28M2D11M1I49M1I1M4I29M2D41M1I4M1I23M1I4M2D3M3D78M1D35M2I13M2D52M4I51M1D135M4I97M2I20M5I12M3D80M3I35M2D25M1D14M4D73M4D9M3D37M5D14M4D13M1D49M1D29M5D59M4I13M2D10M3D17M2I11M4I5M3D44M3D47M5D36M4I2M3D28M4D96M3I39M2D25M2D42M4D68M2I65M5I123M5I25M4D15M5I53M2I40M2D15M3I31M1I5M5I45M1D1M1D19M4I4M3I32M5D20M4I73M4D4M2D44M3I20M2I73M3D10M4D7M1D2M2D5M1I10M1I176M2D20M2D80M2D22M3D103M3D67M3D60M1D45M3I11M3D10M4I29M4D20M2D26M1D27M1I61M2D3M4D31M3D36M5D54M1D83M3I34M2D7M2I30M5D93M5D8M4I18M3I96M1D19M3I8M5D29M3I33M5I76M4I40M2D4M2D1M3D4M2I19M2D3M1I10M5I57M5D38M3D32M4D3M2I8M1D9M5D204M5I19M5I21M5I21M3I5M3I12M4D34M1D1M2I19M1D13M2D4M5I6M2D34M1D37M2D11M2D58M3D8M3I10M3I30M4D4M5D58M3D29M3I15M2I21M1I26M1D69M4I10M1D46M4D12M4D8M5I29M2D7M5D1M3I104M4D27M4D34M4I20M5I22M3D51M1D2M5D21M4D16M3I148M5I47M4D16M1I18M2I12M3I95M4D8M5I13M1D89M3I57M5I5M3I31M3I117M2D69M3I8M3I16M1I62M4D39M4D50M5D36M2I6M5D122M3D43M1D42M5I23M1I48M3D47M1D23M1I38M3D59M5D3M3I12M1D8M3D46M1D25M1I2M3I6M2D15M2D6M4D11M1I39M4I57M4I21M1I20M2D61M5D52M2D52M1I4M4D29M1D15M3I66M3I7M5D11M2I25M2D25M4I68M3D40M4I49M3D134M4D44M5D18M3I14M1D1M3D7M1I19M2I8M5I19M5D51M2D11M2I20M2I33M1I6M1D9M5D3M3I91M2I11M3I15M3D66M2D5M4I2M2D3M2I78M4D13M5I6M1I26M4I34M3I76M5I7M3I120M4D48M1D75M2D18M2I40M2D23M5I3M2I40M1I18M5I23M5D15M3D32M1D21M4D46M3D42M5D95M4I5M2I53M5I16M4D36M3I69M1I73M1I17M4I9M3D20M5I9M3D24M4D84M5D13M4D88M4I20M3I1M4D4M4I42M4D17M5D20M2I13M4D17M1D27M4D61M3I25M4I6M5I10M1D26M2I38M5D64M3D92M2I33M3I50M2D77M1I27M1I8M3D16M3D8M4I33M5I97M1D41M3D18M2I21M5D44M4D41M5D6M4I8M4I12M2D8M5D10M3D73M1I31M1I17M3I6M4I2M4I39M5I26M1I61M1I13M2I42M1D43M2D19M5I6M5I16M2I31M5I27M1I7M4D2M1D3M2D83M5I5M2D27M5D23M4I10M3D69M1I1M2D56M2D15M3D65M2D23M3I10M3I25M5I65M1I8M5D5M5I255M4D3M1D91M3D40M5D3M3I17M4I106M4D27M4I10M5I7M1D31M2D32M1D51M2D36M1D12M4D3M5D3M1I74M4I110M3I9M4D20M4D4M4D18M3I20M3I44M2I1M1D10M2I17M3I48M5I7M4D27M1D29M4I6M4D9M5I40M4D32M1D86M1I1M2D6M4I21M2I27M5I11M2D22M2D21M1I31M1I123M3D29M3D23M3I13M1D23M5D6M4I11M3I38M2I16M3D5M1I26M5D15M4I116M4D9M1I4M5I20M1D61M2I15M5I7M1I35M1D68M5I13M1I17M1D22M2D1M2D80M5I37M3D5M4D5M1I43M4D13M2D13M2I22M2I75M5D17M5D8M2D41M3I53M2I17M2I9M2I109M2I3M4I39M2D82M2D39M3D31M2D55M4I11M3I17M4D32M1I1M1D35M3I1M4I45M5D75M1I92M1D58M2I16M5I4M3I9M4D2M5I117M2I30M3I14M5I5M1I12M2I8M1D1M3D38M3I28M5D71M1I38M4D105M2D18M3D8M4D89M4I17M4I25M2D5M4D19M2I37M4D44M4I25M3D6M4I45M4D35M1I3M5I29M1D28M1D17M3I10M3I115M2I50M3I6M3D58M4D20M3I34M3D25M2I13M5D15M2D59M2D78M1D4M3D55M2I43M4D1M3D13M3I39M4I4M1I34M2D16M5D133M4D15M1D63M1D29M2I9M1D16M5I45M3I35M1D15M2D50M1D24M4I3M5D9M3I4M5D40M1I33M1I10M3D8M1I28M1D34M5D128M5I7M2D55M1D112M5I1M3D23M2D17M4I3M2D91M1D44M1D20M3I31M5I5M2I6M3I38M5I27M4I37M4D47M1I17M3I13M4D21M4I12M5I20M1D37M1I17M5D35M5D21M1D9M2I21M1D21M5I6M5D294M3I23M2I24M2I9M3D33M2I1M1D4M4D39M4I27M1I7M5I8M3I35M2D3M4D31M2I52M5I9M4D42M2D45M4D33M1D2M1D17M5I96M3D10M3I28M4I4M4D25M1D2M1D42M3D12M4D4M2I29M5I33M3D11M5D21M3I58M5D3M3D33M5I1M3I47M3I42M5D7M5D8M3I12M1D1M5I6M3I159M2D5M1D38M1I2M3D42M2I77M5I30M4D2M4D3M5I1M3I30M4D25M3I24M1D26M2D26M3D21M2I4M5D16M5I36M4I22M2D10M2I210M2I19M5D41M4D7M5I85M2I29M5D105M3I31M3I3M4D5M3I5M2D19M5D83M3I34M3I6M2I7M5D61M3I102M3D9M1I27M2I20M3I30M4I6M5D5M3I9M5I83M5I35M2I1M2D78M3D7M1D45M5I43M1I11M2D3M3D14M2I68M2D66M1I7M2I2M2I3M4D18M3D29M4I6M1D9M5I13M5I13M3I47M2I24M3D2M3D9M4D9M1D64M4D29M1D11M4I56M3D3M1I56M3D102M3D28M3I23M3D52M4D126M3I44M2D33M3D162M5I22M3D54M5I43M3D18M4I56M3I18M1I5M2I39M1I11M5I60M5D22M2I18M2D76M1D50M3I31M1D49M3D116M3D60M3D24M2D25M5I10M4D1M3I29M2D103M1D8M2I67M1D46M1D2M3D65M2D26M3D4M3D14M1D10M1D15M5I27M4I8M3D9M4I21M4I28M5I38M2D10M5I2M2I18M5D8M1I4M2I22M5I85M3I32M2D3M3D14M1D15M5D68M2I3M4I51M4D2M3I4M2I24M4I4M2I10M2D7M1D51M3I1M1D1M2I23M1I2M4I5M5D6M4I33M1D75M2D7M1I25M2I4M2D33M4D35M5I70M2D50M5I22M3D79M2D28M4D9M5I16M1D26M3D19M3D57M1I87M5D12M3D111M3I18M2D47M5D2M4D6M4D9M5D42M1D112M4D8M3I54M2D1M3D41M5I8M1I14M1D15M3I6M2D5M5D14M2I15M2D8M3I4M5I19M5I45M3I39M5I15M4I25M2I18M4I10M1I105M2I7M5D27M4D3M1D1M1I16M4D2M2D21M3I6M5I68M2I31M1D61M4I23M2I14M2I8M1D105M2I13M3I20M3I52M3D61M5I8M4D7M4I14M1D15M1I11M1I12M4D25M3D1M1D31M5I5M3D1M3D83M2D27M4I14M1I1M1D21M1D45M4D58M1D3M1I50M5I8M4I67M4I25M5D18M4D60M1I11M2D33M4I4M3I2M2D48M1I110M4D2M3D29M3I2M1D48M5D14M4D62M3D45M5D21M3I18M1I17M1D5M4I31M4D58M4D35M5I27M3I4M5D93M5I155M5I16M5I53M1D27M2I2M4I17M3D34M5D32M2D64M5I20M2D52M1D33M1D83M5I6M1I40M5I3M5D37M5D3M4I37M5I6M5D1M2I99M3I28M2I23M2D4M1D121M1I50M3D30M2D1M2I80M4D20M5I45M4I64M4I20M4D17M2D8M2I51M2I32M1D14M4I3M2D143M1D3M5D1M1I36M3D1M1I64M5D47M4I8M1D12M2I43M1I119M3D61M1I106M3I27M5D3M5D71M1I18M3I1M1D20M2D29M5I32M4D10M5D18M3D31M5D77M4D10M5D27M5I26M2D6M4I43M2D43M1D15M1I6M3I71M3D65M4I40M2I27M4I17M2I95M5I7M2D177M3D47M5I3M2I4M3I24M3D10M4I38M1I45M1D11M2I40M2I15M5D77M3D41M5I130M2D34M1I32M3I13M3D23M3D18M1I21M2D55M * 0 0 GCCTACGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAATATGCCTAAGCCTAGGCCTAAGCCTAAGCCTAAGCCAGCGTCAGCCTAAGCGTAGCTCAGCCTAAGCCTAAATGGCCTAGGAGCCTAATGCCTAAGCTGAGCTAAACCTAAGCCTAAGCCTAAGCCTAAGCTAAGCTTAAGCCTAAGCGTAAAGCCTAAGCCTAAGCCCAAGCCTATAAGCCGAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTCAGCTTAACCTAAGCCTAAGCCTAGGCCTAACCCTAAGCGTCTAAGCCTAAGCCGTAGTAAGGCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTATGCCTAAGCCCAAGCTCTCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAAAGAGATAAGCAAACATTTTATTTTTTCAAAATTGTTTTCATGGTAAATTCAAAACGTTTTTTTTTTAGTGAAGCTTCTATATTTGGGGTACCTAATTTTGCCTGCACCTGCCTTATGCTCCTGTGTTTAGGCCTAGTACTTGTTTAAGATCCTAAACCTAATACTAAGTCTAAGCCTAAGACTAAGCCTAATACTGCCTATAAGACTTAAGGCTAAGACTTAGCCTAAGACTAAGCCTAATACCAAGCCTAAGCCTAAGACTAAGCCTAAGCCGAATAAGCCTAAGCCTAAGACTAAGCCTAATACTAAGCCTAAGCCTAGAACAGACTAAGCCTAAGACTGAGCCTAAGACTAAGCCTTATACTTAGCCTAAGCCAAAGACTCAATGAATAGCCTTAGCCTAAATATCTACAGCCTGAAACGCCTGGTAGTACACTCTTCTGAAAATACAAAAAATTTGCCATTTTTATAGCTAGGGCACTTTTGTGTCTGCCCATCTAATATAGGCAACCAAAAATAATTGCCAAGTTTTTGATGATTTGTTGCATATTGAAAATAAACATTTTTCGGGTGAAATGAATATCGTAGCTACAGAAATGGTTGTGCACTCATCTGAAAGTTTGTTTTTCTAGTTTGTTTTCTTCGCACTTTGTGCAGAATTCTTCTTGATTCTCATTGCAGAAATTTGCAAGAAAATTCGCAATTTGTATTAACAAAAATTGTTCAGTGAAAATTTTTGGAAATTAGTTTACGAATAAATCTCACATTTTTTATAGAAAAATTATTTTTAAGAATTTTTCATTTTAGGAATATTGTGCGTTATTTTAGAAAATAGCTAAATGTGATCTCTGTAATTTTGCCTGCCAAATTCAGTGAAATGTAAAAATCTAATATCCCTCATCACGTGCGACTTATTCCCGAATCAGCAAATTTTTTCAATATGATAGTTTGACATCAATAATTTGCCTATATAACTTTAGACCTGGAGTTGGCTATTAATGCCAAATTCATGATATCTAGCCACAACATTCGTTAGTAGAATTGTTGTTAGTGACGAACCTATAAACAGATTCGTGTTTTCAAGAAATTTTGCTATCATGGTTTTTCTTGGTCTTTTAACCTGGTATTTCGTTTTTGACAAAAATTTTTGTTTCTTGATTCTTGCAAAAATTTTTCCCTCACGACGGCCTTGATGTACCTTCGAAATACTACATCTTCTGGTTCTAATAGTGTTCATTGTTTTATATAAATACTTATTTAATAGGATTTCGGGTTATATAATTTGTATAAAGAGTGGTTGACATAACAAGGCTGACGAAACTTTGTGATGGCTGAAAATATTTTCGTAGCTTTGTTGATTTTTATTTATCGTGTTTGAATAACGTGTCCAATCGCCGAGAAGGAATAGAATACTGGACGACATTGTACGTATTATCCAAAAAATCAGAAAGGTAGATGACGGCACCACAATTCTTTCTGTCAGGTTTTACAACCGCCCAGTGCGTGTCACATGTTCACTGTATAAATGGTTGTACACAATATGCGGAAATAATCTAATGCATTCCAATAAGGCATAATATAAGAGGCTATCAGGCAATGCGTATCGCTCTTTGCTTTGTTTAAAGGGGGAGTAGAGTTTGTGGGGTCTATGTTTCTGAGTCTAATTTTGCCCCTGATACCGAATATCGATGTTAAAAAATTTAAAAATGTCAATTTCCCTCAATGATTTTATATTATTTTTTAAAATCCGAAATTCCATTGGATGCCTATATGTTCTAAACGCAAAATTTTCGCAGAGACCCCTGCCGCCCACGAAACCTTGCCGCACGTGTGGGTTTACGAGCTGAATATTTTCCTTTTTTATTATTTTATACCGATTTTGGTCGATTTTTCTCATTTTCTCTTTTTTTTGGTGTTTTTTATTGAAAATTTTGTGATTTTCGTAAAGTTATTCAAACTATTTATTAATAAAAACAAAAACAACTCCATTAAATATCCCATTTTCCGCAAAAGCGAAGACTAGGAAAATCGCTCTGGAGATAGAATGGATCAACAATTCTTATTATATCATTCCGCTAAAAATCATTATTAATTTTCTTCTGAGAGTCTCATTGCTTAGTTTACGCCAAGAAATAAATTAAAATTAAAATTGTTCATTTTTGAAAAAAAAATAATTAAAAAAACACATTTTTTGGAAAAAAAAATAACTAGAAAAACGGATCCTCCGCGTCGAATCACTGTTTCCGAACTCTTAAAATTCAATGTTTATTGTACAACCCTTTCGCTATTGATTTGATAGCTTTTAAGTAATAGAATTTTCGATACATTAAAACATTTCACAATTAAGCTGGTTCTGAACTGTGTAGAAGTATATTTAAACAAGACTAACTGATACAAAAATATAATTATGATAGTTTTCTGGACCACGCCAATATAAACGATGATCAATCAAGGGACCTGCTACAGTCGTCCACTAACCCGAATATCGACAAGAAAAGAAGAACGCCAACTTTGGATAGACGCTCTAGGGGCCGATGTCGGAAACTAGTCGGGAAGCTAAACCAGAATAGAGGGTACATTACAGATGAGGAGGAGGATGAAGATAGAAATATGCCGACAACATCGTCAGGCCGCTGATTTTTTTGATGTTCTACGCTTAAATTTTCAGCGAACGAACTATTTATTTTGATTGCCTTTTTAAATTTATAATATTTGCCATATGAAATTCTCACTTTCAGGCTGGAAACGTAGTTTTGCAGGCCCCGTCTCCAGTCGATTTTGCGCTGAAAATGGGATATTTAATGGAATTCTTTTTGTTTTTGTTAATAAATAGGAATAAATTTGCGAATATCACAAAATTTTCAAAACACCAAAAAAAAAGAGAAAACATGAGAAAAATCGACGAAAAATTTCGCTATAAAATCAATTAAAAATAGAAGGAAACATATATTCAGCTCGTAAACCCGCAAGTGCGGCACGGTTTGTGGGAGGGGCGGCTCTGGCGGAAAATTTTGCGTTTGAAAACGTCGATTACATGGCATCCAATGGATTTTCGGATTTTCAAAATTAATATAAAATCAGGGAAATTTTTTTAAATTTTGTCACTTCGATATTCGGTATCCGGGGCAAAATTAGAGCAGAAACATAAATTTCCCCAACTCTATCCCCCTTTAACAACCAACGCACCCGAGGATATACAAGCGTTCTATCTACTAGGCATAACTCGATTATTGACATATTATAGACTTCTTTTAATATTTGTAAAATAGTGGATCAGACCCAAAATTCAGCCCGCGAAGGCATGACGTCAGCACGGAGGAGTCTTGTAGTTTCCAGAAGAACTCTGTCGTCTACCCTAATGCCTTGCGAACCCGGGCCATCCTTTCGCTCAGAGGAAATGGATTAGAGTACTCATCAACTCCTCTGTCTAATTTTCAACTGCGGGGGCGACCGTACTGTATTACCGCGGCGACCGACACCTCCCGCGTTCCGTCGATCGCTGTCTGTTGTGTGCGCCTGCGACTCCGCCCACCGGTGGTAACTTTTTGTGGAGGAACAATTCCTTGATTTTGGTCAAGGTTTTTCTGCGCTTTTCAGCGTATTATTATTGACCAATTTTGAATAAAATTTTCAAGAATCATCTAAAATATTTAACATTTATTTAACATAAATAACGTGAGTACGCAGTAAAACTTGACATTTTCAGGAAAATTGCAATTAAACGAATAAAAATCGATATATCCATCATGTTTGGTCGTGAATCCGGTGTGTTGAGCCTACAATGCATACATTTTTACTGGATAAATCTCCTTTGGGAATCCGGTTTGCAGTGCTTTCGAAATGACATGTCCAGTTGAGAATCGCAGGCTCTAAGATGCTCGGGCTGAATAATGAATTGTTTTAAAAAATGTTTAGTAAAAAATTGTTTTCGAATGCATATTGGCTTAACCGATATTATCCAAACGTGACGTTTTCGCGATTTTCGCGCGCTAAAATTACAGTGAGTGAGGTCGACACGACAATTTTGTAAAATTACGGGCGTTCTTTAAGAAGTACTTTAGTTTAAAAAATACACTTCATTTCGTGGAATTTTCTGAATATATTTTTCATAGTTTTTCTCTTTAAATAAATCACTTTTCAACAAAAAACTATGAGACAATAGTTTGTACAGTATTCTTTAGAGGGGCACGCCTGCTCGAATTTCGCAAAAACGTGTCGTGTCGAGACCCCCATTACAGTATTTTTGAGCCGAATATCGCGAAATTTCAAGTCTGGGTGAAACATTGAAATTTTTGGCAAAATAAAAGAATCCTCTTTCAGAATATATTTTGTAAATTTCGAGACGAAATGTATACCTAAATGAATTTTAATTTTAAACCCCTATTAAATATTATTTGGCGTTTTTTATGCATGTCGATTCACTAACGATTTAGTAGTAACTACACGTGGGCAAGTTTATACAGTTTTTGGCTAAGATTTGTGAATTTGAACCGTTTTTCGGCGAACATTACACATGAAAAATTGGCAAAACGGGTTCAAAAACAAAAATTTTGTTAAACTGTAAAAACTGTCCAAAAATTTCGTAAATAACCGGCACACACCCTTTCATTTTTTCAAAATTTTAATTGTTTTCGAATGTTTTTTTTGCAGAATAATTTGTAAAATGAGCCTTTTGTGAATTTTTTTTAATTTCAAAGTTTATTTTTTCTCAAACCAACCCCTGTTGTAACTCGTCCAACTATGATCATCACGTACTGTCGAATAAGTTTCTCGTGATTTGTCACATTATCCTTGAGCTACATCCGCCAGGTTTCAGTCCTTTCTGAAAATGAAAATTAATTTTAAACAATATTGAATTATTTTAAATGAAACAGTTTTCAGAGATTTAACCTTTCGTTCGAGTCCACCACCAGGCCTGCACGTTATTCGGGTGTTATCTTTTAAAAAACTGAAAAATCGAAAATAGTTCAATTTCTGTTTTGTGGTCAAAATTGTTCAATTACAGGTAAGCAAATAGTCTTTAATTTTCAAGTGAATTGAAAATTAGGGAAATGACCGGACATAAGTTTAAAAACCCGATTGCAGTTTTCAAAGGTAAATTGAAAATTTAATAAACAGGTTGTAAATCAAGGAGATCCTATTGAATGAAAAAAAATCCGAATGTGCCGACGGGATTTTTCGGTGGTTTTTGAACGAAAATCGAAAAAGTAAATGTTTTTAATTTTCAAATTTCAATTTTTAATCGGAAAAAATGTACGAAATTGACTTTTTCATGTGAAACATTGTTGTTTTCTAGTAAAAAAAAATTTTAACCGATACAGATTTTCTAGACTCAGTTTTTTCGGTTGAATATTGTTTTTTACTATTTTATCTTTCTATTACAGATACAATTTTATTTCGCTTAAAAATAACCGGAACATCGAAAATATTTTTTTTTCTGTTTCTCAAAACATTTCAATTACCTAGAATTTTGTTTAAAAACTACATGCTTTATTTATGAACGTAGTAAATAATACCCCCTCTTATTTATAAACTTTCAACATACAATTTTTCAGTTTTCAGTGCTATCTAGTGCTTACCGCACATCACTTTTAAAGAAATCAACCAAATCGTCACCAAATATGCCCTGAAATCCATTGAATCCATAACAACTTTAATCATAACGTCGTTCGTTTCGGGCGGTGCAAACGTCTTTGGCAGTCCTTCGCTACGAATCATTATCTCCAATTCGTGGATGTTTTCCAATATATTGATCACTTTTCGTGATCAACTCCTCGACAACTTCTTCCATATCAACTTTCAATAAGAATGGCATTAAGAGATGCTTTGTAACACGTCCGATACCCGCTCCGCAGTCCAGCTGCATAGTCAAGCCGAATAGATTCTGGAAAATATTGTCATTGTAAAATTCAAAGTTGGCCCAGGGGTGACCGGCAATTTCACAGCAAATCGTTGTCAATTTTCCATGAATTTGATGCCCGAAAATTGGAAAAACGACAATTTGCCGGTTCGCTGAATTTACCTTTTTTAAATTTAATTTTCAATTCAGGCAAACGCTTTTTTCCGTTTGCCGGATATCAATTTGCAGGAATTTCTCAAAGGAATTTTTATTAAAACGGAAACACAGTGCTTTTTTTTTTCTTTCCCGTGTTTTTCAGATATTTTTATAAAGTTTACTGACTTTTCAGAATGGTGAGATGTAGGACAATTTTGTTTTAAAAAAATTGTGAAATTTCCAGCAGAACAAAAAAACATGTGCAAACCCACAAGTTGGCAAAAATATTTTGCATTTGCCGTTTTTCCCGTTTGCCGAAAAGTCTAATCTCGGTAATTGCGCCATTTTTCGAGATTTTGAGCCACATAAAAAACTTTGAACCATTTTTGAGTTAAGTATTATTACGACATTCGTTTATTTGACGCTGCACGAGAATTTTATGGGCCTATACCTTCAAAATTGTCGGGGTTTGAAAACCCCTATATGTTCGACCGAATGTTAATCTCACTTTGATGAAAATAAAATTTTCTACGGCTCATAAACGTATAGCCGCCGTCAGTCTCAAAATTTATACGATAGACACTTTATGGCGTTTATCGCCTATATTCCGTCAACAATTATTCATCTCTTTCAATGTTGTTTTTTTTTAAGGCTAAAAATGAACTTTCATGCAAATTTGTTTGATTAGGCCGTGTCGTGGTTCAACGATGCAAATTTCAGAATTTAAAAAATAAATGAAAACGAAAATGTTTCTATATACCCTATTTGTGTTCTGTGATTCCGAATACCACTGTGAAAAATTCAAAAAAAATGCCCTGATTTTATATAAATTTTTGTAAGCGTCTACAATTGTCGTTTGAATATCACACTTGGTTACACAAAATTATGAAAATGAGGAAAATTTGTTTTAATTTTTTCACATTGATAGTCGGAATCAGGAAAAAAAATAAGGTCTATAGAAAAATTCCGAACCTTTACTGCTTCTCTGGGTATAATAAATTTAAAATAAATACAGAAAATTTCAGTTCACACTGACCTAATTAAATTTGGGTATATTTCTAGGATCCGAGTTCTTGTTTACACCAGATTTACAAACTATCTAGCCTTTCACCGCCTTTTTATCATTTCCCTTCAGGCAACTCCATAAAAATCGCCTTTCGCCTCATATTACAAGATTATTCCCCTTTCTCTCCCCATTGAAAGTCATTTTCGAAACAAGCGGAAGTCATATGTGGTGTGGTGTGCGTTGGCAAACAACAAGAAAGAATCTCTGAAAACAAAAAGCGTTTTGGGTGCCCAAGTAATATTGAAAATCGTGTCTCATTTTCCATCAAAAGAAAAGGAGAAAAATTCGGCGTTTTGTTTGATTTCCGGGAAAGAAGACTCGGAAAAAGATTTAATTGACTATTTTTCAAGCAAACCTATATTGCTACAACTTTCTAAAAGGTCAGAAATTGCCGCGTAGCCTAGAAAATTGGAGGTTTAAACTCTTCCAGCTGGTAGTATTTCAGACAGGGTGCATCGAAAATTCGAAAATCCTCCTACAGAAATTAACATTTTGAAGCATCTAGAAAAGTTGAGATTATAGTACCTCACTTTTGCCGAGAAATCTCTTTCGAGGTTGAAGAGGTCTTACAAAATTTTCGGTCCTCTGACGTGAAAATGGGATGGGTTAAGGCTTCACACGACGGCGTTTTCAGGTCACACGAGAAGTTATCGTACGAGGAGAATTGACCTCCAAACCCTGATCGTGACTACAGGTCGTCGTTCGGAGCATGCGGAAGGTTCAGTGTTCGAAAATCTTCGACCAGCTTATGAGACCAGCGAAATAGACAGGACGACCAAACATTTGTGGAAGAGCTTTTCCTAGACCATCAGGATGCTATTTCGACAGAGCTGAGATAGTCGTTACGAAGTGTGGAAAAGCTGGTTTTCCAAAATCCCCGACCAGGTAGAAAATGAGACACCGATTAAGTTTATCCAGTGGGTAGAGTTTTTTCTAGGCCATCATTATGCTAGAAAAAAGCTTCGGCCATGGGGTTTTTAGGCCGTCTATTTATTTCTCATCACTTTCTCAGAAATTTCTATTTCTCAGCACCCCCCAATGATAAGTTTTTTGCAAAAAACTGCTTTGCTCATCAGCAATTCGTAATCAGGTGACCCCATTAGGCCTACCGAAACACACATTTGTCATTATTTTTCCGAATAACAAGAAAAAAGTCTTCACGCATGGGGAGATAAGAAAACCTGATTTTAAATCTTACTGTGCCGGCTGGCGCGGCGAGCTTCGATCACTGAGCCGAAAGATTAGAAAACTATGGGAATGAGGGCGTATCGTACAAATCGTCCAGGCAGAATCTGTCTAATTTTCGAACGTATATCCAGTTTTGTTATTAATTTAAGTAAACCCGTCAAACCTAGAAACAAGTAAAACGGGAGGGGGGGAATATCAGAAAATTAAATCTTGCGCACACTTTTCCATTGATCTACTAAGGTATACAATGCCCAGAGGTGTGCGGCAAATTTTGAAACTTACCCGCGCATGCCGCCCGTTTTTTTGTTTCTAGAAAAGTCAGATTTTTTGTCGAATTTGTTCAAAATTCGCTAAGATACTGTGAGTTTAGAAAAAATGACGAAAAAACTCGGAAAAGGAGGAAGAGATCTGAAATATGTAGATTTTTTTAGAAAAGACCAGGATAAATTACTGAAAAATTGGCATTTTTCGTCGAAACCCCAATATACTAAATTATGCGGATTTTTAGTTTCAAATTCAACATACAGTGCATTTTTTGGGCCTACTTCTACGACTTTAAAGGGGGGAGCATTTATGCGGGAGGGTCCTGCCGCGCATTTAGTCATCATTTTTAGCAGTTTCTGTGTAATTCAGATCACATGCAGGTCACACAATATTTATCCCATATTTAGTATGTGCCGTGCTTTTTCACAAATTAATTGTGATCTACGCGTGATCCCTGCGAATTTTGAGAAGACTTTGTTAAAAATGATGACTGTCCACGGCAAGACCCTTCGACGTATGAATGCGCCCCCCTTTAAAGTTGTATAAGTGGAAAAAAAATGCTCTAGCAAAAAATCGAACATTCTGATATTTGAATATCTCGAAATTAAAATAATTTGTGAAAAATTTTTATTTTATTTCGAAAACTACCGATTTTAGAAAAATTCTAAAATTTCGATTTTTTTTGTTGATTTTTCGATTTTTAAAATAAAATTTCATAATCTTTTAAACCGATCTCTCTTGCATTTCCTGAAAAATCGTGATTTCTATCCTTTTTCTTCAGTCCTTCAATAAATCGTTTCGACTCCGATAGGTCGGGCGCGTGAAGCGCTTCGAATCCGCCTAGCATTCCGTTGAAGTCCTGCCTCGCGCGGCTCCAGTATTCCTCCGCCCTGAGAGAGAATAGTTGAAAACATTGTTTTGAGACTTAAAAATTTTTTTTTTAGTTTTTTTCAAAAATTCTTACATGTTATAGAGTTTGTTTTTCAAATTTCTTTTTTCAGAAAAACTTAGTATTTTCGATAATTTTAGTTACAATAAAAACGAGTTTTTTTTCAAAAAATATTTCGGTTTTTTTTTTAATTTTTGGTCTAAAACCGCAAAAGATTTGCGTGTTGGCCGAACTTTTTGATTCTGTACCTTTTCAAACAACTGCAGCATTGAATTTTAGAAGATAATGAAGAGCTCATTTTGCTTATGCTCCAATGTTGCGTCAGCTGCTCCGAGCAGTCTGGAGACATGACGAAAAGACGAGGGGTCACGGATATGATGACGATACTGGAAATGAGATATTTACATTGTCTACTAGCTCATCGGGAAAATTATTACCAGAAAGATAAACAGACATGTGCGTTTTTTTAATGGAAGAGAAACACAAGAAAAATTTGGACAAACTAGGGCAGGGCTATGAGTCGATATATGGCTTCGGTCTCGACACCACTATTTTTGTTAACTAATATGGTATGGTCGCACCTATAAAGAGTACTGTAGTTTCTAACTCTCTTTGCTGCAACATAATTGACGCTCAGCGAAAACTACAGCAATTCTTCAAAAGACTATCTGTACCCTTTGTGTGGACTTACGGGCTCGATTCTCGTGCATAAACGAATTTCTGCTCGAATGATAGCCCTATGTCAATTTGGTATAGTCTTTTCTTTTGCCATTTTTCCGTGTTCTTCTAATATTTAATCTATTATTAAATTATGTAATTCTCACCCTCCTTAGAACTGCGACCGAACAGAGATTCGTCACCTCCGCCCCATATTCCGGCCAATCAGATCGAGTAGGCGGAGTTCGAAGTCGCTGATTGGTTTGAAAAGTCGCGGAAATGCAAGAAGTTTTAAGGTAGCCGTGGAAAACTGATGACTATTCTAGCGCGCTTGTGTCGATTTACGGAATCTCGATTTTCAGGAAGGAATTTTTAATTACATTTTTTCGCTCAATTAATATTCTAAATAAATAACTACATGATTTGAATTAATTTAATTTCATTCGAGCCAGTAGATCGACACATGTGCTACAGTAATCATTAGTTTTCGCAACGAGATATTTTGCGCGTACAATATTTAGTGTCCCGTAATAACTCTACTCCCTACAAACATTACGACCTCCAGAGGCCTCCAGGTAGTTGAGACTCTTGTATTTCCAATTCAGAGACAATGCGTCACTGGAAGAGAAACCGAAGCGGAAAAAAAAACACGGAAACCCAAAAATAGGGTTTGCCCCGCCCTATTCTTCTCCAATAATTGTCTTATTTTTGCAAGACTTACCACCTGTGTATGCCTTACTCGACATGCGTTAAACCCCCCCCCCCCTCCCTATCTTACAAGGTACTGATAACACTTTCAGTCTTTCACACTTTTGGCGGGGACATCGCCGCTCTTTATTCGCGGCGAGCTGATGACTCATCAATTTTTCACTCAATTCCGCTTTTGATTATCTTCAATGTTCTAGAAGGGCACATTGGTCATCCTTATTTTTTCCTTCTCTTTCTCGGGCCTTTGTTGCGCATGACCGCCCCCTACAGCAGGGCGTGGCCTGAACGGGGGCTCCGAGAGCTACTCATTCTTGCCGCGTCCCCCTCCAGCGCCACCCAAACTTCTTCGGTTCTAGAGATCGAGAAGAAGCGAACGTATGATTTTTTAAAATTATAATTGTTTCTTTCGAAAAAAAAAATTTCATTTACAGTAAGCCACAGATACAATCAACGAAACTCTTGAATTCTGCTATCTTTTCTTGCGACAGTTGCGGTTTTTGGTGAGTTTATGCTTTAGACTTTTCCGCCAAAAATACAGTTGCCGGTCTCGGTATGGCAAAATTTTTGTTAAATTCGAAAAGCAGTGAGTAAGTAGTTTCGAATTTTCGTTCCTGCTTAATTTTCATCAATTCATCGACTCATTTTTCTCACGACTTCTTCTTTATGAAAAATCAATGAGAATTCTGACTAGGTCAGGATCTTAGGGGTGAGGTACCTAGGGACGCATCACATATGCCAAACGGAAGCTGAGAGCAATCATTGGCTACAAAAATATGCTTTCAAATTGCAACGGACCTCTGGGAGACTGCAAATTCGGCCATTCTGAAATTATGCTTTTGTATGCTCGAAAGTGGTAAGAATTTAGGATTTATTACAGAAGAACGTTTAATTAGTAAAATTAGTTTTTTTATACTTGAAACAAGTACAGTAGGCCTGTATCAAAACACATTGTTGGACTTCTTATTCTACTTCATGTTTTTCTGTAATAAATTCTAAATTCTTACCACTTTCGAGCATTCAAATGCATAATTTCAGACAAGAATTTCCAGAGTCCCAGAGGTGCGTCGCAGTATTTGAAATATTCTTGTAGCCAATGATCTCAGCTTCTGTTTGGCATGTGGCGTCTCTAGGTACCTCACCCCGAAGCTTCTCCATTCCCTAGTGAGCAAACAAAATTTTGAAATTAGTACGATTTAAAGGCACATTGATTTTTCTGGGTCAAGCACAAATTTGTCGTGTCGAGACCTAGGCTACGTTAGTATTTTCGCGAAAAATCGCAAAATCTTGCAGCTGGGATATACTTGTGCGAGAATACTTTTTGCATTAATTTTGAGAAAAATTATTTTTTTTAGACTTTTTGACAAAATTTTTCGGATAGCCAATCATAAAACGGCGACCTGTGCCCGGTTGTTACATTAGGCCAACAAAGTTCCTGGGAACACTGCTGCAAACCATAATAGAGGGGTCCGGAGCATAATATCGATTTTTCGTACTTTCCTGTATTTCTTGTTCTATATGGCCGGAGTAGAACAGGATTTGAAAGTCAAAATTTTTCTCATATGGATATCACATGGATATCAAAATATTTCCATATGGATATGGAGAACATTTTTCTCCTAGGGACTTTGAAAGTTGAATCACTTGACATCTGGGGAATTAGTATTCCAGGCGTAAGTCGAATCTGTTAGAAACGGAAATGGGCATAGTGAATTAGGTAGACTTTCAATTAATCTGATCCATTGCAGTCAGACGCGGTTTCCCGGCCTGACGCCTGCCTCCAACATGCCCGCCTTCACGGCCGGTCCCGCGCCTGATTTCTGCACTGTGACGAGACAGACGAAGGTCGCCTTCTGGCGCCCGCATGGAGCACAATCGAATTGTCAGCTTCCGATGGGAGTCCGTAAATCGACACACAGGGGTACCTCAGACATTTCCCTCCCCCTTACGAATTGTTAGTGACAATTGGAGGGGGACTTCATCTCCAATCGAGACACACATATGTTGTCGTCAGTGAAGTGTAAAGATCTTAACGATTGCTGTATGATGTTAAAAAGCACTCTATGATCACCTAGGTTTTTCATCACACCCTTATTAGGTGTGGTGCCCATCGAGCACTCACGCCAGGCAGGGAGAGCACCGGTCCCTGACTAATGCGAATGTTTTAGACCGGAAAGCGATGAAAGAGCATAGAAGATCATTATCACGTCTAATTAGGTTACGGCGAAATTTGCAAAAAAGAGCAGGAAACTTGGCTCATATCCAATATAACAACCAGGACTTCCATGTAGGCGTTAAAGCGATACCACTGTATCTCACCCCAATCCGTACCTTAAGCTGAAACAAACGTGGACTTTTTTCATCTCTTAAAGGAGTTTCGTAAACGGGAAATTGTTTTAAAATGGAGTATTTGTACTTCAACAATTATTGCAAAAGAAAAACGGAAAAAATCCGCTAACATTCAGCATTTTAAGTCTCATGAAGAAGTCTTTAAAATTTCAACCGTAGAGAAATCCTGCATAGGCACGACGCTCTAGGCATTCGAATTTTAATATGTTTTGATGTTTTGAGAAAAATAATACAATAACTTCCCAGTTTTCTATAACTTTGAGAAAAAAGCGAATTAAATTCCGAAAAAACTACATTTATCAATATTTTGTTTACGAATATGGCCTAGAAAGCGCGTGGTGGCCTCGGATTCATTTGCTCGCGAAATTCAAATTCCGTCACTTTCGTCGATTTCAACGGCCCTGTAAACCCGTGCTGCATGTCAACGGATTTTTCCCGCTTATTCTTTCTTTTGCAGAAATAATTAGAAGTTTGAGTACAAATACTTGTAAAACAATTTTATTTTTGCTATTTTGACGTTGATTGATTACGGTTTTTTTGGTTTGGGACCAAAAATTCCAGAAATGTTTGGCGTGTCTAGTCTTTCGACTCGAGACTACTCTGTATTAAATAGGCAAACATTTATTTTAACACAGTTGTGACGTCATAATATTTTGATACATTTTGCAACATTACTTAAATAACCCCATTAAAAATTAACCTAATCGTGCATCAAACAAAATTTTATGGTTTTTTTGGTTTTTCGAAAATTTCAATTTTTTTTGTTTTTTGGGTTTTTTTGGTTTTTCAAAAACTTCAATTTTTTGTTTTTTGGTCCAACATTTTTTTTTGGTCTCAGCTCTTCTGGCCTACCCTAGGAGAAATAGCGCTTCAAAAACTGATGAAAACGTACAAATTTGTCGATAGAAACCAAATATTACGAAAATCTGAAAAGTTGGCTCAAATCTAGATTGGATCGGCCGATTTTCCACAAGTTTCCAAGCTTCCACAAGTCGTATCCCGAGTCGATTCAAATTGAGTTTGAATACTGCCAATTTTGAACCAAATTTCCCTGGCTTCTCTGTTATTTAAAAAAACGCGAGGCAAAAAAATAAAACGATCTAATTATTACTTTTGTGAACACAAAATTCTGAAAATCGCGCGTAAATATTGCGCAACATATTTGACGCGGAAAATATCTCGTATCGAAAACTACATTAATTCTTTAAATGACACGCTGTATGTGGTTATTTACGGGCTCAAAAAACCGACACGTTTATTTTAGAAAATGCCCGTAAATCCACACATAAGAGAGTAATTGAATATAAAAAGAATTAACCTGTAGTTTTCTACGAGATATACGCTTTGCGCGCCAACTATGTTGCGCAATACGCAACCCACCATATGGATATATACTGATGTGAGGATAAAAAACAGCAAGCCAACTTTCAGCGGTCGGCTCCGGCAGGCCTCGAGGACTGCGTCCTCAGGAGCAACTGTACAGTCTGGAGAAAGAGAACGGAGTTGATGTGAAGCAAAAGGGGCGCTGAAACCAGCAGCAGATGCCGACACATTCCTTGGATTTGTTCCATAGAAGAGAATGGTCACGTGGCAGCCATGCAGCGGTCGATGATCAATATGAGGAGTCTAGAGCTCCTTGTTATTTAGTGGTGGTGGCCGTAAAAGAGAAAACTCGGCCAAGCTGCTCGGAGTTTTTGAATTTTTGATAATCCGAAATGAAAATTGATTGCTCGAAAAGGCAATCTTTTGGAAAAACGAATTTTGTAATTTTTTTCAGCAAAAATTGCTTTTCGAATTTTTCCATTAAAAAATCGATAATTTCTCCCCGTGCAGTGGAAAACAAACAATATTTTTTTGATGATTGGCACTCTTCCAAACCCGGCGAGGACTAGGTACACTCCTGCGTCATCCCCATTATCTTATCACACTTTCTTTCGAAAATAGCGTTTGAGGTAGAGACGGAAAAGTGAGAAAGGTGAGTCAATTTTATGCGTAGATTTAGGATGATAATACACACAAATTAAAAAAACGAATGCGTGGCGTGCACTGAAACCCTCATATTTAGGCCCCGCCTAACGGTTTCACCTCTCGTCCACTCACGGAGAAAAAAATTTACGTGGGGACCAACCAATATCAGGCCTAGGCCGCCATCGTACGGGTTCCGCGCGCCGCTATGTTTAACTCTCTGTGGGTGTGGCGAGCTGTCTCCGCCCGCTGCGACTCGAGTAAAACATAGCGGCGCGCGGAACCCGTAGGAAGTCGACGGCCGATATTGTTGGACAAATTTTTTCCTTTTATCCGTCAGTGGACGACTATACAAAAAGGCGGGGCCTAACCACTTAAGATGTTTTCTGCAGTACACGCCACGAACAGTTTTTTTATGTTGAGTGTATAGGTCTAGATTCTCGAAAGTCTAACAGTTATTTAAATGATGAACTCGTGATGACTGTTAAATTGCTTTGGAAATTTCGGGGGAATTATAGAAATCGATTTTGTATCGATAAGATTTACAGGAAAAACCCAGTACCACTAATATCTAGGTATTCGATGGTAGGCAGGCGCGATTTCCTTGAGGCCTGCCTGGAATCTGTCCGGCTCACACCAAAATATGTCTATCATTTTGCTGAAAACCAAATTAAGAAATGAAAGTGTAGAGATGATGACGGAGGTCGCCTTAAGGTCAGACAGGTTAAAAAACCGATTTTAGCTATTTTAATTTTCTTAACAACCGAATTAGAAATATGCTGCTTGTCATTTTTGAGTAAAAATTATTCATACGAAAACTTCGACCAAAACCACCCCGAAAAAAATGAGGAAAATAAAGATTTTTCGAGAAAATAACAAAAAAATCCAGCAAATAGTGAAAAATAGTTCTCTCCGAGAAAAGGAGTTTAGACGCTATGAGGTAGTCTCGAAAATCATTTCAACCTAAAAGCCATAAACGGCATTATCGATTAAAATTCTCACTGAAAATCCGGTGCCCGAATTTCAGTGCTCCCCACAATCGAAGCCCGCTTGGCCGAAGTGTTGAGAGCCGGAGAACGCGGCTCGGAGTCAACCCGGAGGAAGTCCGTTTTGACGGATCTTCGTCCTCGTAATTCCAATAAATATTCTTTGCCCTACATACTTTATCCATCTGACAACTAAAATGTCAGTTCTTCTTGGCTTCAGCGGTTCTATTTGTCAAATGGTTTATTTTCCCCAGAGCGAACTCTCAAAAGGTTAAAATATTGTTCGATTACCCCTTTTTGTCAATTATTTTCTTCAATTTCTTATTTATCATTATTTTTCTAAACGAAGACGGTTGTGAATTTAAATTATGTTAATGGTCTAAACTTTCCAAACTGAATAAATTCAGCATGTTGGCACGTTTTTACAGTAGTTTTTGAGTGAAAATAGAGGTAAAAAGACAGAAAATCAATAAAAAATGAAAACAAAACTATCAATGAAAAATGGTTGAAAATCGAGCAAAAATCGTTCAAAAAAAAATAAATTCGAAAAAATAATTGCGTCGAGGAACGCGTCAGTACTCTCTGCGACTCTCACCCTTCAGCACGCGCGCCACGAGAAATGCGCAATGGCTAAATTCGCGCGGAAAATCATTTCGTTTTTCAACATTAAACAAATTCGACGAGTAAATCGCTCAATACTTAAGTAAGTATGGATTTTCAGCTCGTTCAAAAAATTTTCAGAACCGTTTTAAAGTCGTAAGGTTTTTTTTTAAATCGTCGGAAGTAAAAAAATAGCGCGGAAATCTACGGAGTGCGGAGCGAACACAGGCGCTGTAATTCAAATGGGTAGAATAGTCAAAATTGAAAGTTCGCCAGCACGACCATATTTTCAAAACTTAATGGTAGATTTTTTCGTTTTTCTTTTGTGGTATTTCGGCATTTAAGATTAGAGAGCACATTTTAAAGTAAAATTCCCCATCCAAGTCGCACTCACCTTCTCCAGCCATTTCCAATTGGAAAAGTGTATTATATCCCGTCTTTTTTTTTCTGAACAATAAATTTTTCGTTTATCCAGGATAGTCATGATACAAATTCGTTAACAAAAAATGAATAAATGAGAGCGATTAAAGCATTGTCGGAAAATATGGGTTAAGGAGAAGGGGGCGGACTTTTGGATGGGGTACAAAAACCATCAATATGCAAAAACTGGGCTAAAAGCAATATTTTCAAATTATGCCCGACAAAGGTTCAAAAGTCAATATATAGAAATGAGAACATGAGTATTATGCCACGTGGCGGGAAAAATACGTGGAGTGTAATACGATGATCAGATCCTTGTGAATACAAAGTTTGTGACGACGTGGCCGAGAAGAACTTTGTAAGCCAATGCGTAAAAAGGGGTTCAGTCTAGGCCGAAATTTTTTTTGGGCCACATATTAAGTTAAATTAATTAAAAAAAATCACAGCGTATCCAATTTGCCGAGTTTTGACTTGAGCTCGGCGCGATACGTGTCGATTGACTCAAAATATTGTTTTTTTTTATTTCCGAATAAAAAATGGTGAGTACCTCCAAAATTAGCTTTTCATTGTCCATATAGAACTTTTTGATTTGTTCCACAGTTTTTGTGGCCATCCGGCGATCCAAACTCGAAATTGTCATTTCCTGGTACCAGTGGAAACCTGAAGGAATTTCGGATGTTTTTGCTTAATCATAATCATGATAATCTTACGTGAAACATAAGACTTGGAAAACGAGATTTTTCGAGAGTTCGAATTCAATTTATCTTCAGATTTTATTGCAACAAATCAATTTTCAACATAAAATAATTTTTCCAACTTTTTTTCCCAATTTATGAGAGTTTAAACATTGTTTTAAAGCAAACCGCCAACATTACATAAAAAATTAAAATATTGTTGAAGGAAAAAAATGATGAAATAGATTTTCTGACAAAAAATTTAATTTTTTTGGATTCGCGCTTCAATTATTGCGTTCTTTAAGAAGAGTGATCGAATTTTATATTTCCAATTGTAAAAAAATTTAAAATGGAATGAAACCTTTCCAAAGAAAAACTGAATATCACCAGAACTTGTGATTTTTCAGCATTTATTTTTAGGTTTGAATTTTTTTTTCATGATTGCCAAACGTGAAAAGTGCAATTTTACCGAACATTTAAAAAATCAAGATTTTTCAATTCTCTCTGAATTCCTGCAGATTTTTCGATGAAAAATTGAATTTTCCTTGGGTAATATTATTTTTCGGGAATTTATCAGTTTTTAAAAAAAATTTTATTGTCTCTGAAGTTCTCGATAAAAAATTATTTTCTGCAAAAAATCTACTTTTTCTCATTGAATATTCCGTAAAAAAAATCAGAATTACAAGGCACATTTCCTTTTCTAATCTACCGTATAATAATTCAATATTCTTTTAAAAATTCGGGGTAGATAATGAATTGTACCAATTTTTATTAAAGTTAATTTTTCTAATTTACGTTTCAAAATTTTCTTGAATAGTTTTTGGAATTACAGATTGTTTCAAAAAAATTTATTTTGTTTTTTTTTCTCGAAAATTTGAAATCCATACATTCTAATAGCATTCTTTCTGTTCCTCAGGACTCCAAACATAATTTATCCTGACCTTTCCAGATCGATTGCCATTTGTTGCAATAGTATCTAGTTCAGAAATCTCTCGAACCATCTTCCCTTCAACGCCATAATATGTTTCGCTTCCAATTTGCATTTTCTCCTTTTGGTACACGGCTGTATGTCATTGGTGCACGGAACATTGGTTGACGGGCTTCTTCATTCAGAATTCTGGAAAAGTTGATGTTGTGCGATTTTTTTTGGGTAAAAAAAACAATTTTCGTAAGTTTAATTAACTAATATTTTAAAAAATCTGTCTCAGTTTCTGAGGCACCACGGGTTCAAGATCTGGTGGGATTGCCTCCCGGATCTGGCACCGTGCCAACGCATTGAATGCAATTTTTCTGAAAAAAGGGCAACGAAGATCCGATTTAAAAAAATTTTTCAATTATTTTCCAAAGTTTTCACGAACTATAAGAACGGAGCAATTTTTCACAAAAATTCCAGTTCCTTTTTATGTTAGAATTTAAAAAAAAAATTGAATTTTTCCTAAAAAATTAGTACATTTTCCGATATCTCAAGTGTGCCATAAGAGCCTAAAATCAGAAAACTTTTAAAGGAAAAATTTTGAGCATTCTTATCAAAAAATCAACTTCTTCTCACAATGTTACCTTATTTTCTTTCTAAATTCTGAAAAGCATATCTCAGCTTTTGCTAAACTATTTTTTACCTCAAATTTTGAGAAAATTAAAATATAAGAGCTATGATATAGTAAATATTTTATTTTCTAATAATTTTTGGTATTTCTATTCTTTCGTTTTTTCATTTTTCAAAAATTCCACATAGTTTTAAATGTTCATATTATTTCTTTTGTCCAGGAAAACTCGTAAATTTTAGTACAACTTTAAACCGGAAGATTGATCTTTTAAATTTTTTTTTCAAAAAATTTGAATCTTCGACATGAAAGATGTAGAAGTGTGATTTAAAAATAAAAGTGCAGGTATTTTCAGTTTACAGCAAAAGTCAGTTTAAAAAATTTCGACTGGTTTTCAAAATGAGTTTCCTTTTTTGTACACGTAGAACTTTTTTTATTTTCCGATTTCTGGCGTTTAGTTGCAGAAATTTTTTTTCCGCAAAGTCAGGAAAAATTCAGAAAAATAGGACAGTCAAAAAATTGTAGCTACAATTTTTTGAGTGTCTTTTTCTGAATTTTTCCTACGATTTTGCGGAAAAAAAAACTTATTTTTTCATGAAATCGAGTACCCATCCAATTCCACAAACTTACTCGTTCTCCTCCATACATTTCGTTTGTTCTCCAAACAAGTGGAAAACACATATGATGTTTTCTCATATTATCATTCCAGTACAGCCGGTGTATCGACCGAAGCTCCGTGCCACAGATTCTGCACGTATTCCATCGATTGGATCAGCTTCAATCGCTTTCTCCACAATGGCCTGAGGTTGAGAAGGGAGTCGTCTGGAGAAAAATAGAATAGAATCATGATTTTTAGGTTATTTTACGTTTAAAAATCTAATTTTTAAGACGCGTAAACGTTGGGCTCATTTATAAAAAATCGGCACACCGGCAACTTTGCCGAAATTTCGGAAAATTGTCGGTTTGCACATTTTTGCGGATCGTGAAAGTTCAGAACTTCGATTTCAATCCGCAAAATTGTATACATCCTATCAAAACATCAATCTTGAAAGGCCATTAAATACTCTCTATGGTCTAAAGAAAAGAAAACGATGGTGTAAAAAGATGCAGTTTTAAATGTTGTCTTATTAATAACAAAATTCGACAATTTGCCGGAATTGCAATTTTTTTTTCTCCAACTTCCGAAAAAAACCCACCGACCACCATAATATCATCGTCTTCTTCTGTTTCTTTTCCAATTCCAAGCCCTTTGATCGCTTTTCCGGTGGCTGGCTGCATGAGCTCAAGGTATCCGTATACATAGATTTTCATGTCTGAAAGAAAATTCAAATTTCTTCTGGAATGTTACTCGAAAGTATCATTCCGGACATTACTCGTTGCCGTCGTTTGGTCAGTGCACGGAGGCTTGCCGGACGTGGAACACGCATCAAACGTAAATAAAGGATACACGGTTCACATCCGTGACGCGACATTACACATTTAGCTTAAAATTGTGAAATTAATTTTTTTTAATAGCATCTTTTTTTTTAAATTTCGCCCATGCTTTTTCCATTTTTTCAACGAGTTTCCTTATTTTTTGTCCATTTACTGTAAGTTTTTGAGAATTGTTTTTTGTTAATTTAACATTAGCAAACATTTATTAGCAAAAATTTTATTAGCAAAAAAACTTTTTTAATTTTTTTAAATTAGCTCAAAATTCTCGAAATTTTAGATTTTTAAAGGGTAAACAATATAAAACTTAGGGAGTTTTGAGCTATAAAACGATAAATTGATTTGAAAAAGGATGATAAACTTAGTTTAAAAAACCGACAAAAATAGACTAAAATGAAGGGAACACGGCAGCAGCTTAGCCCCATGCTTAGCCAGCAGCCCTGTAGCAACCCAGTATCAATAATATCCCGTGCCAATTTTCTAGAACTGAATATAAATTGGGTTGCAATGTTGCTAAAGGGCTGCGAAAGACTGAACTGGGATGAACCTGGGCTGCAAGGGGCTGCGAAGTGCTGCGAGGGCAAAGCTCAGGCTACAGTGCTAAAAGGGGGCTGAGCCCAGACACTCAGGAAAAAACTCCATACTCGCAGCCGCACCACATTTGCGCTCTGATCGCGTGCTATCCGCGCGCACAGAAATTCGAAAGTATTACTGTTCCAAATTCGGAATGCGCGCACGAGGGAGAAGACGCAATTAGAGCGCGGATCTGCACGTAAGGAAGAAGTGGGACTGGAGCACGAACCAGTAATCTAGTCGCGCCTCCGCTCTCCAGGAGGTCTAGAGCGATTTGCCGAGCAGGTCAGCCCTTCGCAGCCCTTCAGGAAGTACAATCAAAATTATACAGAAATTTTATATTGGAACGGGATATCATTGATACGCCTAAACAGCCCTATTAAATAGTGATGACGGCGTAAATGAAATTCGCCATTTCCAGCTAACATATAAATTTTTTTTTTTTAACATTGATATGAATGGATTCAGCAGAAAATTTGCCGAAGTCATTGGAAAATATTAAGATTTCCAGATTTCGGTACTCCACTTTTAAAACTGAATTTTAAAACTGTAGTCTTTATTCAATGTTTCTTTCAAAATTTAAAAAGTAGAATATGTGAGAAAAATTTCCAAAATTGTCAAAATCTCTAATAGCTGAAATATTTCACGGCCAACCGGCGGGGGGTACATGAGAATTCTCTACCGTATGATTCCAATTTGGCTGACTGCGTGCTCAACGTTGACTAATACTGAGTGTAAACTTTTCGTACACCGTTGCGTACTGCACAGCGCGCATTTTAATTGACGACATTTAGCAAAAATTATAAGATTTTTCGGAATTATGAAGCGCAATTTTCACAAAAATAATGAGTTATTTGTAGAATTTATGAAAAATCGTGAAGATTTTTTTCTTGATATTCAAGAACAAGCAATTTTTTTCTTAACAGAGGAATCCTCTCGCATGCACCTGTTGTTTTTTGCTCCACTTTAGGACGATAAAAATGCGAATTGTTGATAAAATGAATGATAAATAATATAGAGTAAAAGTGCAAATATGACTTCAGCAAGTTTTAAACCCAAATTTTTCCTGGTCGATTTTCTGTTAGATTCCTGGTTTTGAGTAAACAGTCTGATATATTCCTGATTATAATGATAACAATCACGAACATAAGAATTGTAGAGCACAGAGAAACAACAAATTGCAAACACAGCAACTGATATCAGAATTAACGACGGAAGTACCACGGAAACCTCCTCGGTCTCCACCTCGCCCACCACGGAAGCCACCACCTCTGTCGCGTCCTCTGAATCCTCCTCGATCTCCACCGAATCCACCTCTCCTCCATCGCGGTCTTCTGATATACCACGGAAGCCTCCACCTCCACCAGGATCTGTTGAGAGTCCTCTGAAGCCTCCTCGATCGCCACCTAAAACCACGGAAGCCACCACGATCCGCGGATTTTCCTCTATAGCCTTCGAGGCTTCAGTTGTACCCCATTCTTGGCACGCCTCAGATCTCTACAAAAAAAACAAATTAGAAGCATTTCAGACCATGCTTATCGAAATGTGTACCTATCCCGCTTTATCGCAATCTGTCTATACGTCTTATCCTTTTGGTTCTCAACTTCTTTAACTTGTCCAGTAGCGAGCTTGCTAACGAGCAGCATTTTCCCGAATCGCCTTCACCTCAGCCTCCACAGCATCCAGTGGCTCCTTGACAATCGTAACTTCGAGTAATACGTTGCTCACTCTCCTGCTCACGACGCTATTTCATCTGCTTCTTTTTATTGTCACCGCATTATGGTTGTGATAGAGATTAACCTCTCCGTCTCATCGATTTGTCCACTTCTTCATTTTTGACTCCGAGTTCCAGCGTCAGTCGGGTCCGATCTCACGAAGACGGACCGTAGCTATTCTGGCGAATTCCGCAGTCACGTCCTTCAAAAATGTCTTGTGGATGTTCTTCTTGCTGAGGGGGCTGCTGAAACCAATGTCGGCATGATGAGAGTTCCGGTATTCTGAATCCTTTTCCTGCGTGGGCTAGCGACGAGCTGCACGTCTGAAAATCAACGTTTTTGGAATTTTTGGGCGCATGATCTGGAGCTACAGAATCATTCGATTCTTAGAATCAGCATGCTTTTATTCATATTTTAGGATCTTTTTAAAAAATCTGGACCAAAAGTTTTCGAAAAAATTTTAATTTTTGTGACTATCAGAAATTTGAATATTCACTAAATCGAAAAAAATCATTGCAAAATCCATTCGTCAGCTGAGAACATTCAAAACTTATCAATTTGAAATCAGCATATTTCAGTGTATAATTAAAAAAGTTTCAAAAATTCTGAGACTTTTATTTTTGAGAAAAATAATTATTCGCTCGAATTATTGAATTTTCACTAAGCAACAGTAAACTTGCGCCCATGCTACAAGCCTGAATCTTTCAAATTAAGAACCAGCATGATTTTTTCAATATTCTAGGACGTTTAAAAAAAATCTGGACGAAGTTTTTGAGGAACGTAATTTATACAAAAATGTTCTGATTTTTCACTAAACTCAATTTATAAAAATAGTCAACGTTGCCCATGCTGTACACCTAAATCATTATGCGGAAATTCAGAACCGCCATGTATTTTTTCTTACCAAAGGCTCTTTAAAAAAAATGTGGACCAAGAGTTTTGATATTTAGAAAAATAACTCACTTTTCGACGTTTTTCGCCTTCTCGTTGCTAACCCGACAGTTGATTTTTGCGGCGATTTGTGGCGCTGAAAATTTTTAGTTTTATTAACGAAGAAAACAAGAAAAAACGACGAGAAAACATCAGAAAAATGCGAAAAAACATCGAAAAACCACCGCAACCTCGTGCTAATAACAAAAAAAAAGCATTGCAGCCGCGGGACTAGTTTTCGCAACTGTCTAGGCCATGTCCCGTTCGCCGTGCCGTGTATTTGTTTAATTCCCTTTTTGGAAAAAGTCAACATATTTCTCTAACAAATCGTTTTTCTATTAATTTTTGTCTAAAATTCACAATCAACAGATCTTTTGCATTGCAATTCTCACAATATCCCGACAGGAAACCTCAGTTACAAATCTGATTCACCTCTTTGAATAGTTCATTATTAGTGACGGTTTCATTCAAAGCACATTAATCATTGTTTTAAACTTTTGCACTTCGTGTTTTATGTAATAGAATTGTAATGGACAAAAGAAAGCAAGAGCGTTGGGGCATCTGCAAAAAATCATGAAATTTATTCTCTTTTTATGATTAAATTAGAATTTTCTAAAATTCCCTTTTTTTGACATATGCACTTACAGCCGCATGAATCTTGTTGAACCGTTTTCCGAAATGAAAGAAAGTGGACAAAAGACCAATGTTGATTCTTCTCCAATCATCATGAATTTCTTTTCTTCTCATCGCTTGAACCATCGCAGCGTCGAAATTACTTGACTGTCTCGTTGTTCAGAATGAACAGACCTGTAAAATCAGTTACTTTTTTTTAGCAATTTAAACAAAGTACTATTTCCAAAAAATAGGGAAAAAAAGGTTTGATTTTATAAACTCTCGAATTTTTATTATGGTCAATTGTTATTTTTTCCAGAGAAAAACTCATTCTCCCAATATTCAGAAGTTTCTCTCTAAATTTTTTTCCCATCGTACCCTTATCTATAGGTAATTGATATGACGTACGATCCAGTCTGAGATGTCTTCTGTAAGCCGTTTCTCGTTCATTTCGTCTGGAACCGCCCAATCAAGTTGATCTCTGTACGGTTCTTTTTCCAATTGCTTGCAGTTGGCTGTATAATCGCCTGATAGCGTGTTCGGTTCCCACGTGGATTAGATTGTCGACATTGAAAGTGGATTTGCTGGAGGAAATTGGGAATTTTTCAAGGTTTTAAGTGGATTTTCAAGCTATTTATAAAAGCAGGAAAAAGCTCAGAAATAAACTTTTTTTACGTCGTGTTTTTTCCAATGGAATTACCTACTTTTAACTAATTGTTCGGTTTAAACCCAGAAACTTGTTTCATATGGATTTTCCCGGTGAAAATAGAAGGAATCGTCGCATTCTCAAAGTTTTTTCACCGATTTGTTTCAATTTTAGCACAACTCAATGAATCACAAAAATTCCATTAGAGCCGATTTTCGTAAATTGGTTCCTACATTTCGAACGAAAAATTGTCCTTTCTGTTTAAACCGGAAATTCTCTTTTGAAAAACCAATGAAAATTTGAATTTTCTGCGCTTTTCTTCGGAAAATTATTCTCGAAGTTTATCAATCGATCCTTGGTCTTTTTTTGTTCCGCAGATAACGGCTGGCGGAGTTTACAAGCGTACCAAGTGGTTCAACTTTTATGCGATAAAGCTTTATAAATGGGACATAGATGAATAATATTTCGAGAGGCTAAATGCAAAAAGAATGAGTAAAAAAGCGCGCAGCCCCGTCCATCTCTGACGAAAAACGCCGTTTAAGGATCGGCTGGATTGCAATTTCCGAATGGGAGTAGTTCGAAGTGTCAAAATGCCGGAGAGGTAGTCGTCAAATTTCACCGAAACGTAACCCGGTAATTTCCACAATTAATGGTCGATTTTTCGCAACAAGTGGTATGTTTGTCAGGATTTATATTGTGGCAGTCCAGATTTTAAGGATTATTTTTGGGCAAAAATGTCGAAGTAATTTTCTCTGAAAAAGTTCGTTTATTATAATTCAGATTTTTTAGATAGTTTTCATCAATTTTGCCAGTTTTCAGCCTGAGAACCTTACTAAAGTACGATGTGTATCATGAGCGCCCCTTTCATGAAGCTAACGAGCTTCAGCTTCATCTTCGTCCTCTTCATCCTCCAAATCTTCATCCTCATCGCCCATTGATTCCCCAGACGTTGTTTCGCGTTTGCTCATGGATCTTATAGGACGAGCCTGAAGATTCAATTCTTTTAAATTCAAATTTACCGCTTAAAAATCGATAATTCTCCCGTACTCTGGTTTCTTCTTCTTGTTCCGCCTGCTCCTCTGGATCATCTTCCTCCATTGACTAGGGCCGGCATTCAACATATTCAAGCCTTCGTCTGAATTTCTGGCCAATTTATACAAAAACCGACAAAATAATAAGCATCACTTTCTTTTCGCGTCTTCGTCAGAGACGTGTGAATCCATTTCCTGGAATTTGAGTTTGAATGTTTTTAAACAAATTTTATGGAGAAAACATTCGAAACACTAGAACTTCTGTTGAAACACGAGAAAATTTTTTGAAAATCCATGAGAAAAACAGTTTTGAAAAATCTGTTTTTGGAGGCTCTCCGTTGAGGAATCGTCACCCGAGACGCAGATTCTCCGGTTTTTTCATAGTTTGAGTTTAAGAACAAAACAGTTTAAAAAAATGTTTTTAGTATTTGAATGTAACTTATAATGTATGTTTTACTTCCATTAAAAATTAAAAAAAACTACAACCCTAAATTATCATGTAAATTTGAAACCGTGAATCAATCTCCGCGGAAGGGCGAGCCTATATTCCGCAAGCGCACTCTATCGCTAATGTACAATGGGCGGTTTTTCTAACTGCTAGGAATTAATCGGATTCTCGAAGTTGATTTTGGGTTTCTTTTTTTCGGGAACATATTGGTGTTTTTGCGTTCAATATTCAAACTTAGAGGAAAACTGCTTCAAATAATTAGGGAAACTCTTGAAACGAAAGCGCTGAAAACAGGCAAAAATAATTATTTTTGTATTTTTTAGGCTACTTTCTATACTTTTGCGTACATACTATAGTTATTCTATAACAGCCATTAAAATTATTAAAATGATTTTTCCATTAAAAATAAAATGAGCAAAATGATTCTTTTCCAGAATCCTATATGCGCCTTTAAAATCTCTCGGATTACTGTTTCAAAGAAATTCTCCTTTATATTTTTAATTTTAAATTTTTTCCTGAATGTCAAATATTAGGGTAAAAATCATAATAATATGTGCTATTCATATGAGTGTGGGCAAGAATTAGTGAAAAAGAACAAAAACACGTATGGACTGTAAAATTGGAATTTTGAAAATAAAAATAATATGCAGAAACAATTAAAATTTCCAGGAAAAAAGTCAGTAAAACCATCAAGAAAAAACTACTCGATTTTGAAGGAAATCAGCAAGAAATATCGTAGAAAAAAGTATGTTTAATTTGGAAAACCCCTGCTTGAATTTGTTTACAGTAAATTGGGCATAAAAGCGTATTGGCAAATTCGCAAAAACAAAAATCTGGGGATCGTGATGTGATGGAGTTGGGTTTTGTGAAAAAATTCAGCGCGGAAAAAATTGAGTAGACTATTTCAAAAATGTCGATTTTTGAAATTTGTGAAAAATTGAACAAAAACTGTTTTTTTTTGGAATTTCAAGAAGTTTTATAAATTTTTTTGGTTAAGATCAATTTTGAATATTATCTAGTTTGGTTTCACTTAACCATGCAGAACAATTCGTACAAAGGTATTCTAGAAAGGAAATGTGCGCTCCAGCACATTATTTGCTCGTGGAGCGCACTTGTGTGCACGTACGCTAGACCAGAATGTGTGGTAGAAAGGGAGGGAATAGGAAAAACAACAAATTGGGCAATGTAAGATTCGGAGAAAGAATTGGAACGAAACAATATGTATTTCGAGCTCCGCGAGCTGGTGGATCAATCCACAGGCTCTCCATCCTTGCGTTTTCGAGAGGCACATTGCATTCTAGTTACACACACCCGAGCACGTGTATAATGGAACATTGAAGCCTGGAAACGAGCCATCGCTACCATCATTACCACGTGGATGAAAAACTTAAATTTTGATGATTCGAAAATTTTCTGGAAAAGTTATGATTGTGAGATAAATTGAATTCTTTGAAAAATCAAAATTGCAAATGCTTGTAGAAAATTTTATATATTTTTTTAAGCGTATCTTTTCTGTATACATTTCCAAATTTTTTTGTTACCCAATTTTAAAGATTTTATTGAATTTTAAAATTCCTTTCAGTAATTCGGAAACTTTTTTTCAACTTTTTGATTTTCCGCATTTTTTAAAATTTTATTCAAGGAGAATTATTAGATTCTTTTGAATTTAACGAATTCTGTTCGCTAAAAAATTTTTCGATTTTTCCTGATTTAACGTCTGACAAATATATCTGGTTTTTTTATTTTCCTGATTTTTCTGTTCGATTAAAAATTTATAAAAACAAGTTTTTTTCTAATTTTTGGTTTTGATGATTGTGTATTTTTTCTGAACTTTACAGTTTACGATGACACCGATCTTCCACATTAAAAAATTCGATACAAAAAAGCATTAACATGATTTTTAAAATTTGAATTATTTTTCAAAAAAAATAATATTTCAACTGTGTTTTCGGAATTTTCGATTTTTTCTGAGTTTTTTTTGGAATTTTTCCTCCTTTCTGCTACCAGAAAAATATTGCCAAATTCAATGTTGTGTAGTAATTGTATTCAAAAAAAGTGTTCAACTTCTGAGTCTAAACCTTTTCCGAATCCTTAAATCCTTGCAGAGCTCTCGTGAATTCAGTTGTCAATTATGTGAATAGCAAGCTGCGTAACATTTTAATGAAAGTTTTAGTTTGTCAAGGACTCGATTAATTTCCGAATAATCATAATCATCGACTCGAAGATCATATAATCCTTGAGTATAGTTCCAAATTACTTTGCTTCACGGAAAGCAGCAGTGTCAATTTCATTTTGATTCACGGCGGCTGGTGGTTCTCCTTCTCCAGATGCATGGGATGAGCCGGATGGCCTGAAAAATTAATTTTTTGGAATTATTATATTTTTCGGTTTATTTCATGCATCTCGATTATTTTAACAAAATTACCAAATTCAACTAGATTACAACTTGCACTGTGTCGATTTACGGGTTTTGGCGTTATACGAGTTGAATTTGTTTATCGATAGAATATTAAAATTTAGCTAAAATTGAGTAGACTATAAGAAGAATTTTTTTAACTTCAAAAATCATTCGAGGCAAAAACGTCACGAGCGTCAGGATCGACACAGTAGTCATTTATATAAAAACCAGTTTCGGCCACGAAATATCTCGCGCCATTCTTCAAACATCTTGGGTAGTACGTATTCTCAAAACTGTGAGTTCACGTATAATATTCATGCGAAATTTTGGTCTACTTTGTTAGAGAAATCATCACTAACATATTGCCAGTAGGCCGAATATGATATCGAACATTCGATCACGCCGTGACGTCATCTAAGTGTATCCGTATATTCATTCGTTATTATAAACATGATCCCATCCAACTTCTTCAACTCGGAAGGGCGGAATATCCTTTTCAGGTCTTCATTCTAAATTCAATATATCCAAAGTTGAATGGTGCGAGTAAATTGGATAATTTTACACGGCGCTTTTTCGCATAATATCTTCTCCATTTTTATCGATATTTGCATACATCATGATACAGGCGAGTAGTTTTTCCGTTTGGAACTATCTGTTGCTGCAGGAGCACTAATCATAAATGATTCAATAGTTTCAGTAGTCATTGCACACATCTTCGCTGGTGGCCTTGTCCTTTTTCCGACGTCTTTTCCAGCTCACTGATCAAATACTTCAGTTGGCCGACGATCTGGCATTCCTCATTTCGTTCATGATATAGGCCGACTGGCCTCCCAAGAGTCGGGTCGACATTATCGATATTAAGGAAATCAATCTGATCTTGTGTCAAATAACACGACGTTCGAATCCAATACAGCATATAACTGTGCACATTGCGTGAGTCGTTGAGATCTATTCCGACGGCGAGGTAGAGAGCAAACCGAGCAAGTTGTAACGATCGCCCAGGACGTCTGGCGTGCGGCGAGCGAAGAGCACCTGGAAATTTTCCTTGAGAAAAACCTATCATCGTTGTTATACGTTCCTTCACTTGGCATTGGAGTTGGCAGCATATGTTTTGAAAAAACGTTGTTTTTGTTGAAAGAACATTTTATATACGGGACCATGAGATAATATTCCTATTTCCTTACTGGCGCGAAACCAAAATATGCAGGCCACGGCAACGAGAGCGCATATGGCAAAGAGAGACGAATCTTATTTTCTTGTAATTTTTACGGTTTTAAAATAATTTAGAATCCTTTTCAACTATCTTGATTGTAAAATATTACAAATTACAGAATTTCGCTACCAAATTTACTGGAAATCTAAACTCTGAGAATGCGCATGGAGCAACATATTTGACGCGCAAAGCTCGTAGCGAAAACTACAGTTATTCTTTAAATGACCACTGTAGCGCTTGTGTCGATTTACGGGTTCGGTTTTTTAAAGAATTTTCGTGTTGTTCGAGAAGTGACAGTGGTATTCCTTTTCCTTCTTTCTTAATCCTATTATTTTATCATTATATGCTTAATTTTAATATTCAATTCATACAACTAAATTATTAATATTTCGAGTAGACATTCTAAGAATTCCGGTAGTATTCGCTTCGAGATATTTTTCGCGTGAAATATTGTTGTGAAATACGCATTCTTAGAATAGATGGTGCTCCCGTAATAATCAGATAAGAAAAGATTTAGTCCAAGAACTTTCCGAAGATTTCAATATTTGCAAAATCAGAAACCTGACCCCCGAAGATTCTTTAAATTTTAGAAATTTTTCAAGGTTTGCTAAATAACTCTAACTTATTTCTTCTATTAATAGGCCTGCAATACTTTTTCGATGGTCTTGCCGCTTCGGGCAATAACTATTAGGGAGTGCAAGTCTAATAGAGAGTGCCATACTATTCTTCAGAAAGTTTTTCCGTGTTGGGGCTAGATTCTATTTGAAAAAACTCCAATTTTATTTGGAAGTATAGAAAATTTGATTGAAATTGCAACAAAAAGCACAATAACGACTTCCAGCTCGAAAAATTTTGTTATAAACTGTTGCATAACAGGGAAAAAATGTTATTAAAAATGTTTTATTAGTAAGAAGTGTTACAAAAAAAAGTAGGTGCAAGACTATTAGGGAGTGCAACACTAATAGGTGCACTACTAATTTTCGGAAGGTCTCCGGGCAATACTAATACAGGGAGTGCAAATCTAATAGGGAGGCCATATTAATAGAAGATATACGGTATATATAGCTTTGAAAAATCGGAAAATGCCTAATTTTGCTACTTTTTGAGGTTTGAAAATCTCTAAAAATTCAATAAATAAAATTTGGGTCAAATTACCGCTAGATTATTCCCATGAATCATCCATGGTCTATGACAATTCGAATCAAATAAACCAATTTTCGAAATTTCATGTATGACCAATCATTGCCCAACAACCACATTTCTTGTCCACCCCAAGCTTTGCCAGAAATTTGCGACGATGATGATCCATAAGTGATAGGCATCTCTGACGTGATGCAGCCATTAGTGCAATTGGTAAGACGAGCCGAAGCTGGTAGATCACTTATATCAACGAACATATGGCCATAACTTCCTGTCAAATTATGAACATGTAGAGTTGGGAGTTTACATGTCCAGCTGGAATAATATGGAAACGTGAGGGAACAATTAGTTCGAGACGGGGAGGGGCAGGTTGGCTTAGGGTGCCAACCGACATAGCCGAACATTGGGGTTTCTGATCAGCTTAGCGCCAGCCGACCGTCTACTAGTACTGCAGCTAAATTTTCGTCGGCTGTCGGCTGGTGAAAATTTTCATAATCAATTTTAATGGATGTTCCAAATTTTTCCCTAACTTGACCAAATTTGTTTGCTGGCCCAGCGACACCCGATAATTTAGATCATTGCGCATTACGGCAGAGGCTACTTGGCAGAAACTTTATAATTTTAAATTCAGAAATTCAATTCGTTTTCAAATAATATTTTTTATAACTTTACCGATCAATCACTTCAATCGGATCAAATTTGAGCCAATACATCGCTTGCACTTTTTAGTTGTAGTGTGCATGTGTAGATCTTTTTATCTGCGAAGTGAGTCAATGAAGAATATTCGCGACCAGTTTCTAAAACTCAGTTTTCTAAGGAAATTTCTGAAAAGAAATTCGAGAAAAAACTGAGTCAGCAAAAGAAAATGGGAAATGTATGTCTGGAAATGTATTCGAATATTATATTCAAAACAGTTTTCAAAAAAACAACGATAGCAATGGTGATCAGAAAGGAAGGAACTGGGCGAAAAAAATTATCTTTGAATCTCTTTGCATCTTTGTGATCTAAAAGATAAAGGTTTCACATTGGAGATTTGTGAATGTGATAAGGGTGAAAAATGGAGATTAATTGTGGTAAGTAAATTCAGGAAAAACCTAATTTTTGGTGAGAAAATTGTGGAAAAACTATAAAAGAATCTTTGGGGTTTAAAACTCAAGTTTTTCGCTGTTTCCGCACTGTGCTGACCAGTTTTTTGAGAGTTTGGCCGAATTCGGTGATTAGATCAAAAAAATAATTTCAAAACTTTGCGCCTCAAGTGTGACGTATTCGTACTCTATTGCCGTTCCACCAAAATTTCCTTCATTGTTTTGTCATTTTTCTGCATAATAACTGATCTGGGTTTTTTTGCTGCATCACCCAAGTGTACGAATTTCCCTAAAAATTATACCGGTATTTTTTCAAAATTTTTAGTCGCTAGAATCTTTTTTATTTTCTTTAAAAAAAGAGTTTTCTCGCGAGTAGAAGGAGAAAAAATGTGTGGCCATACTTCTTCGTTAAAGAATGCACGACTAGCTATAGCTCAAGCCCCCTCTGGAACGTTCCATCTTCCTCCCATTTTCCCACGTTCGAGAATCACTTCTTTCCCTCAGCTTCTCTTCTTCTAAAACCACAACTAGACAAATGTGCTTGTTTTCCATTTTTCACATCGCCGAGAAACCCGCTATCACAGACTCAATGCGCCTTCACCGGAGACGGGGCTATTTGTGTGTGTACATTGTACTGATCTCTGCGTGATATACGAACACCGGCCTCGGATTGAACCAGAGGGGGGGGGGGAGGGGGGGGGGTGTGGTAAAAAAAGAGAAATACTCTGAAATTCAATCTAGAAGTAGAAAGAAAACAAAGCGAAAAATTGGACATTCGTCCGGCTAAAAAATCTCATGGAAAACAAAATCTACTCCGTTCGATTTGTGAGCATTTTCATCCTATCTCTCTCACAAACCCGACTAAGGAAACGATAAAGCCTGGGCCCATCCCCAAAGTGTGCTCTCATGCTCTGGAGCGTTCTAGACTGTCTGTAGAGCCACAACTGGCGGAATAGCACTGAAGTGATGGAGAGCCGTAGAGAGAAGAAAAAAACGATTTGGTGGCGGAGGAGATGGCTTCGGCCCTCCAAATAAACAACAATTACTCGATATCGTTTCCTCTGTGATGGTGTTCTCTTCAATGTTTACTGTACGATATTGAACAGGAAATTAAATTGAGGTACACTCTGAATACATATACACAATAAATAAATACAAAAACTATAGTTTCCGCACAAAAAATTCAAAAAAAAAACGATTTTTTTTGTCCGAGAGGAGTATATGGCCTAGAAAAATAAAACTCGCCGATGCCTCTTTGGTCTGATGAAACTTTAAAAAATTATGGCCGAATTTTAGATTTCTCAGGCCAATATTGATACGTTTGTCGATAAGTACCATAAATTAGTCGGTTTTTCACGGGATTCTTCATTCCTCATGCTCATATTTTTCCTCCATTGGCAATCTCCTGCTGGACAACGCGTGGGAAATCGTGTGCCCTACACGGGCAAATACATTTTGTTTTACAAAGCAAACCGTGCCGCGACGCGACACGCAACGAGCCGTAAATCTACCCCAGATATGGCCGAGCTATGCCCTAACCTGTCAAAATCTTCCACTTCAAAAGATGAGGGAAGCCATAGAAGCTCCGCGTGTTGTTTCTGAAAAAAAAACCCGCCTAAAGTTGATTTAAATTATCGTTTCTTTGGAAATAATAAAATCGATGAATTTGTCGATATTGATAAATTTCCGATAAAAAAAAAATTACTTAAAAGAGGAAAAAAAATTCTCTTTTAGTACCAACAAATACGCCCATTGGACTAACCAAATCGTTCTTTCAATCTTTGTTTAAATCTTTGTGCGTCTATAATTGTCGCTTCGGAAAACTACACAAAATCACACACACACACAAGGAGAAGAAAAGAAAAAACGTGTTCCATGACCTGCCATCTGGGCTGATCGATCTGTGAATTGGGGAAAATTGAGGTATACTGGTTTTTTATCGGGAAGATTTTTTCGGAAGGATTGAGATGAAAGTTCGAAAGGTAATTCGCAAAGTTGAGATTTGAAAAATTCGAAAAAAAGACAATCTCAATTCTGCTGTAACCCCCAATTTTGCGTCATGGCCCAGAGTATGCAGCGTGCCCTAGAAATTACTAACGTGGCCTACAAAGATCACGGCGGTATCTATGATTTTCTATGTGCGTGACCTAGAATATACAAGACCTAGATTGATTGCGTAGAACATCTCCCAGTATATCCTAGCAGTCTTAAGTGGCAGTTTCTCAGTTAGTACGCCCAAGAATTCTCACGTCAGCATGACCTAGGATGTTAAAGCGTGGCCTACGAATTTTCAGTGTCTTCTAGGATATTCCAGTCTAAAAATTGGTTCAGTGAGGCCTGAAATCATCGCGTGTCCTAGAATGTTTAATTGCAAAAAAAAGATTTGAAAACTAGTATTTCCCTAGAATTCAGTCTGAGCATTATTTTTAATCTAGTTTTAAGGAAAAAATCAAAATAATAAACATTTTTTGATTAATGTCTCCGATCTACAGATGGGTGCAAGAAAGAATGCAACATTGTGATTGCTCGGTGGAGCATGACGATAAAAGAAAGAGACAGGTCCCTCACCTCCCCAGTGGTCGAAACAATTATAAATTGGACAAACGGAGAAGGGGTCGGGCAGACACAAGAGAGAGAGTACGTGAAGAGGGTGTCCAGGAAAAATGGGATGAGGGCAAATCTAGTTCAAAGATGAGCACTTTTCAGGATCTTTGATTCTGAGAAAATCAGATTTTGAACAAAAAGAATAGTTCATAATTTAATGGCATACATAGAAATATTTTCAGATTGTTCTTCAAAGAAAAATATTTTTATGGGACATCAAAGTTTATTTATTGCATTCTTCCAAAACAGTGGCCGGTCTGGACAGTTCGAATTTTTGTTAAATGCGAGGAGGTGTGCGCCTTTAAAGAGTACTGTAATCATTTCCAACTTTCGTTTTAATATTTACTTGTGGGAAAACATTAATGCTTAACGAAAAATGACAGTACTCTTTAAAAGAGCACATCTTCTCGCTTGTGACAAGCATTTTCGCGTCTCGGTGACAACTTTTAAGTTAAAGGCACAATGATAGAACTTTTCTGAAGAATTTAATTTATTTTTAAGTTAATTGCTACTGGGCTGTATCCTTTTTCAAGTCGCACGAGAGCCAAACTGTAGCAAATCTTAAGAAAAAAAGTCGACAAAACGTGCCGAAATTAGTAAACTTGAGAGCTTTAAAACTCTATTATCAGTTCTTCGCCAACAAAAAGAGTACCGTATCAGAAACGACCTTCGACTTTTTTGGCTCTCCTGCAACTACGGACATGAATTAGTTCTTATTGACAGTTTTCAAGTTTTTTTTTGGGAGTTTTATTTATTGTGCATTTAAAAAATCGTACTTTTAAGTTTGATGCGTGGCCTAGAATTTGCCCGTGTGAGCATCTCTCCACGGTAGCCAAGAAATTTTCTACCGTGGCCTAAAAACTGCCAGTGTAGAAATACTTTATTGTGGCCTAAATTTTCCAATGGTCCTGTTCTTTTTATAGTTCGAATGCACTTGACTTTTCGTTCGACCTGGAAGCGTAAAGAGTGGTGGCCTAGAAAACGATTCATGAGCAGAGTATTGAAAAAAAAACGAAATTTCGAGCAACAAGCGAACAAAAATCGTCTGTCGATAGAGTCTTTCGAATACTGGGGATGCAAATCAGCAATTCATTCTAAAAAAACTTTTGTGATAAGAAATCAAACTGATAAGCCAGTGTAAAGTCACGTAAAGAGGATTGAAAATAGCATTTCAGGTCGGGGTACGGTAGGGTTTTTGTAGAAATCTTAATGCAACATTTCAATGGGCAACGAGTTCGTGGCCTAGAAAAATCATGTCTGAAAAATTTGCAAATGCGCTCCGGTAGCCCGGATTGGTTAAAAATTTTCAATGCCTATTTGAAGTGGCGGCCTAGAATATACCAAATAATGGTCTAGTACTCAAATTGGCGGCATAGAAATCAACCTAATGAGCTAGAGAATCTTGTAGGCAGCTTTGATCACCTATGATAGGCGGAGGTGATAGGTAAAATTGTAGACAAAGGTAAGTTGAACATAGGCGTAGTCGTTTGCAGGCATACATAGGTCATTTATTAGGCAGATGAGGCCTGATTGTACAGTGCCGTCCAAAAATATATCCTATCTTTGACTTTCGATAAATTTACAAATTGCGTTTTCAAACGAGCACAACTTTAATACTAGAAATGTTATCGGAAAAAGTTCAACTCATGTATGTATTGCCCATCATTACGTCTACTCGTATTCAATTGTTTGTTGTTCAGGCTACCTACTGTCACGGTCCGACATCAAATACAGCGGCCGACATCTCGTAAGCCCGTTTTTGACAGCCCACGTTTACTGATTCGGCCGTATCTCGAAAACTTATTTTTTTCTGAAAATGTTAAAGTGAAATAGTTTTCATATTATTTGTTATCATTTGTGTTTATTCACTTTGTTCTGAAAAATCCAGTAAAAGTTATGGGAGTGCAAACTTGTCGCTCACTGCAGCTTAAACAATCAAAAATCAGGTTACTTAACTATAGTTAGTTCTAATTTTTTTTTTGTAGAGCATTTTTTAGAAATAACACATGTAAAATCACATTGAGCGAGCTATATTCAAACACGATGATTCAGGAAAAAATTCATTGGTGGCGAGAAATGTTCACGGCGTAACACTATTCAAGTTTGATCTCTCATAACTCTTTTTCTGGATTTTTCAGAACGAAATGAATAGACATAATGACAAGTAGAAAACTATTTTAACAACACCTCGAAAAAAAAATCGCTCCTCGACATACGGCCGAATCACTGAGTCGTTGTCAAAAACGGGCTCACGAGATGTCGGCCGCTGGATTATTTGTCGTGGCACTGGTAAAAAACTTAAAAAATTGAATACAAGTAGACGGAGTTATGGGCAATACTTCATCTGTTAGCGAACTTTTTTCACAGGATATTTCTAGTTTTAAAGTTGTGCTCGTTTGGAAAAGTTGTAGCAAGTTATCAAAAATCGAAGATGGCATATGTTTTGGCCGGTCCTGTAGGTTAAATAATCTCGTTATCAGGTGTAGCATGAATCAAAGCCATGTAGGCGGGCGTAGGTATCTTCTAGCCGAGTAGGCGTGTTACCTAAGGAGTCAAATGCAGACGTAAGTAATCATAAATAATTCACACTTTGTGCGCAGGCGTAGCTCACCTTGTTAGACAATCATAGTTAGCTTTTAAGTAGGGTTAGGACACCTATTATAGGCAGGTTTAATTCCTCTTATATGTGTGCGTAGAACACGATATAGTCAGGTGTAGGTCACTTTGTAGGCAACACGTCTAGGTTCTTCTTTCGGCAGGCGAAGGTCATCTTCTGAGCAAGGTTTGCCTTGTAGAAGGGTCGATGTACGTTGCCGTAGGCAGACTAAGTTACCTTCTGGGCCTGCCTATAGTGACTAGTAAGGCAGGTGTTCGAACCAAGGGTGTCAGTGACCCGTAAAAATTACAACAACGGGACAACTGGATGTCCCGTTCCCGTCAAAATTTTGAAAACGGGACAACACGTCCCGGTCCCACGAAAACACCCAAAAAACGGGACAACGGGACCCGTTCCCGTGAAAATGCGCTCAAAAACGGGACAAAAACGAGACGTCCCGTTCCCGTAAAAATGACAAAAACGGGACACCGGGACTTCCCCTTCCCGTGAGAATGTATTTTGAAAACAACGGGACGTCCCGTTCCCGTGAAAACACCCAAATACACCCAAAAAAACCGGACAACGGGACAAAGAGACGGGACACGGGAGACACCCTGGTTGGCACCGCACTGAAGAATGCTGAAACCAACTTTTTTTTCAAAAATGGCCCTGCTCAACGAGCCGAATGCATTTTGGTCGTATAATATTGGCATACCTTTTTGCCACCGTGAGAATCATTGAACAAAATCATGCACTTTCAATTTCATTTTTCATTTCATCAAATAAAAAGATTCGGGGATTTGATATATATTGGAAAGTAATAAATGAATGGGAGATTTGTATGGATCGAGGGGGAAAAGTGCACACCCCGGGAAATGATCAATTTGGAGCAGGCAATTGAAGGAGCTGGAGCAGGAGGCTACACTAACCACCCCTTCACAGCTAAACACATGGCTAATAAAATTGAATATTTGAAGTGAACTACTAGTGATAAGCGGTGAAACGGGGTATGTGGCCCTCATTTTTTTTTGACACTTCGAAAACCGCATTTCTTATCACTTGTGTGCAGAAGCATTGAAGCAGGAGGCAAGTGGTGGTCTAAAAATTAGAAAAGCTCGGCCACTGCTTGCCCGATAGGAGCACACGGTCGCATACTGTTTCAACAGAAATTCGAAAAAATTGGAAAATCCCGTTGATTCCGCTGAATCCGACGATTAAAGAAATTTATCCTCGCGTTTCTGATTGCACTGAAATCGCTCAGTATTCTAGAAATTTGTTTTCTGCGAGTGTATATTGTTTTGGAAATGTTGTGTTCATGTTTTACGAAGAACAATATAATATTATGTATATTAGTTATTATATATTATTATAATAGAAATTTTACAACGTAAAAACCCCAAACTTCTAGAAGAAATTGCCTCGCGTGTCTCATTACAATAAAATCAGTTTTTTTCCTTTATTTTATATTACAATATGTATATCGATTCAGCAAAACGGGCGGGACAGAAAATTAAGAAAATGGCGAATAGTTCGTTCCCGCGGAAGTAAATTTCCCCGAATTGGGGAGAAAAAATTCGAATTTTTACTGGATTTGTCTCAAGCTTTTGAATCTAGAAACAGTTTCTCTCTAGTAGAATCTCTTTAAAAAATTTTCGTTGCACCAAAAAGTCACTTTTCCTACTGAATGCGAATTAAAACATTCCGCCAGGAGACCACACAAAATCGAGAGACTTAGTTAGACAAGTAGTGGGAAAATAAGAGGCAACAAATCATCTCCGAAAGTTTTTTTGTGCAGAGTAGGGGAGAAGTTGCGGCGCTGAAAGACAGAGAAAGGGAGAGAGAGACAGAGAGGGTGAGAGATATAACAGAAAACCAGTATGGCGGAGGAAGAGAAGAAAAAAGTGTTAGAAATATTTGTCCGTCGACGCCTTCTTCGTCTTCGTCCTTCATAAATGAAACCATGAATTTTCCTCAGATATTGCCTTACTATTAAATGGGGCCCACGGGGGGCGAAAGGGTGTGGCCGGCCGATCCAAAACGGTGGCCTAGCAAAATATCGGCGGTGGCTCACGGTATCAAACAAAAAAACAAACATCGAATGACCATAATTTTTAAGCTTTTCAGTTTTTGGAGTCATTTCTGATTTTTATCCCAAAAATAGAGCTCTGTGCTATTTTTATGCAGAATCAGCTGGCTAAACTTGGTTTTCGGAATTTGTGCGAGTCTTAGAGATTCCCGACACAGCATCGAGTTTTACTGGAGAACACGTAGCGAGCACAGAAAAGGAAGGAAACAAGAATTGGCTCCGCGAGCAACCAAGCAGCCGTTCAAGAACAAACTGACCGAGCAAAGAACAGCGCGATAGGGCTCATGTATATCTTCTAAAAATAATGGATACTGGATAGAGAGATGAGAGACAGCAGCAGATGGTCAAATGACGACAAGCCACTTTCGAAGATTATTTGGTTTATTCATGCGTGTCTTTTTTTTTCTTGCAAGAAAAAATGATCATTAGCCGAAAATTAAATATTGGTTGTCCGAAGTACAGAAATGAAAATAAATCGTCCGCAAGGAGTACAAAATTCAAAATGGCTATTATCAAAGAGAAGGACACAATTCAAAAGTGTATATTGTCCGAGCAGGAGTACAAGATCCAAAAAATGAATTGTCCGAGAGGAGTAAAAATTCAAACCACAAAAATCCTGAGAATTTCAAGAAAGGGGCGGAGCCTGATTCGAGTGGACTGTCGTTGCAAAACGCAAAACTTCAAAAACATACCGTTTTCAAAATCTACCTCGCCGACCTACCGTAACCCTCTAAAATTTCTCTAGGATCAAATATCATCGCAAGAAGTGTTCGTTCGAAACGAAAAACGTATTTCTGACGCCTCATCACTCATCTTATCAGTAACAAACCTGAGAGAGACGGAAACAAAGTTCCGAACTATATTTTGAACCGAACAGGGATCCTGCAAATCACGTAATGGACAAAATGCATTGCTATGCAGCAAGACGCAATTGCATTCTTCAGCCAGAATATCGATTTTTACTACGTACGTATAGTGATAAAAAAAATAGATGCTGAGTTACGATCTTTAATTCGCCGGATGTGCGAGGTTTGCATTTTTTTTAGCCTTTCGAATTGTCGTGCAGAAAAACCCGTAAGCATGATTTTTCTCAGTAAAAATTTCTTGCGCCAAAATTGTCTTCTATTTTTTTCGCGAAAAATCAAAAATCTCCAAAACTTCGGTGGAGCGCACTTTCTGGACCACAATAAGCGAAACATCTCTTTCTGCGGTTTTCAAAAAATAAACGAACAAACATCAACAAGAAACGAGAGAGAGGTTTTGTTGCCTTAAAAAAATGGATATCGAATTTCTGTGCTCCATTTCCCTCTCCGAGAAATGGCGCGGGGAACGTGCAAACAGTGCGAGTATGTCTAATGGCTCTCACGTAGATCGAGAATCTCGAGTGGAAACTTTGCTAGTATAGACAGTTGAAGGAGGCCGGAGTCTTTTATTCTATTGGGGAACCGAGAAAATTTGTTTATGTCTGGCCGTGGAGCGTAGTTAATGTAATTTTTTTGCATTAAACGTGCTCCATCGAACAAGTAAAAAAATATGCATACTAGTATGTACCTTAAAATAGTTGTAACACGAATTGCCTGTGGAAATAAAAATCACGGCAAGTTCTCTCCATAGGATCAATGTAGGGAATTTTGCTGTTTATAATGCAAACGTCGAAGTCTCTAAAAAGCTACAATTTTCGATCGGTATCGTTCATGCATTTCGACTGATTTTCGTTATTTTTTATTGGAGTACGCTCGTTCTATCGAAACACGGGGCCCGAGAAAATATTATATCCAAAATCTAGAGAGGTTGTCTTGCGCTTAGCCGAAGTGAAGATTAAAATTGTTCAGCCTGCGTTGCCCGACGACTTTTTGTAAAACTTGGCCACCAACTTTTTTACGAGGCTGCGGCTACATCGCATTTGGGTGACTTTATATGTGTTCAGGGTGTCCAAACATGCACCCAAAAGAGAGTGTCATTTTTAACGCACGAAACAGCAATCTCAAACGGGGCGACAAAAAATGAGAGAGAGAGAAAGACGGGCGCAATCTAATGTTTTATCAGTGTTCTCTTCTTCTCCTCCGACCTCGTTTGCATCCCCCTAATTAATCATTCGTTGGTTTGTAATACAGAGAGAGGGAAATAGTGAGTGTGAGGGAAAATTGGAGATTGAGAGAGTTAGAAATAGAGAGTGAGAACTTCAAGTCACTTTTTAGCCGTTTTAAAAAGTTTTGGTCGATGATTTTGACATTTGATAAACCTGAATGAGAGATGATGCTTAGATAAATGAAAATTGAGATGATAATTATACATGACTTCACTTAGAGCGATGTTGTTTCACGTGCAAATTGGTGATTCGTCGAGAAGTTGTGACTGTTCGTGTCGGGAAAATTTCACTAGCTGTGAGCGCCCTTTTTAAAATGTAAAGTAGCATAATTTATTTTCAGAAAATTTAGCGTTGGAAAAATAAGTAGTGCGCAACATATTTGACTCCCAAAACGTTTTGTAGCGAAAACTACAGTAACTCTTTAAACAATACTGGTTTGGTTCTGGTGTCGCGGGCTGCCAAAATTCGAAAGTAAATTCATTAATAATCGAACCAGTAAATCGAGCGCTGCAGATGACAGTGGAGGAATTAATGTTGTTTTCGCTACTAGATATGCGTCAAACATGTTGCGCAGGACACATTCTCAGAATTTTGTGTTCCCGTGATATAACAATTCATTTTTCTGTCCCATATAACCTCTTTCAATTATAAGAAACCATTTGCAGCGAAACACAAACAATTTAGCCGATTTCTATTTCACCTATAAAATTCGCGTCAATGGCCCGCGCTGTCGAGATCATAAAACCATATGTTATGCAAATGGCGTAAAATTCAACGGTGGCCGCCCGCATGGTCATTGATCGTTATAAGCAGAATGGAGGAGGGTACGGGGAGCATCACTTTCCTGAAATGAGCCCGCGAGAGATTAGAGAATTAGAGAAATGAGAGATCAATGAGAGGGTGAAAGGTATGAAAATAAGAAAGGGATGTAAATGAACACGGATGGAAATAGATGGAATAATGAAGTGCGCAATCGATGCACCATCTCAGATTTTTCGGTTTTCGCGGCAGATAGTTGAGGAATTACATTTTTCGGGCTCCATCGATAATGCCCTGCCGGACAGCGCGTTATGTGAGTCTCCACAGGGGCAAATACCTTTAGTTTTACAATGCGAAACCCGAGCTGCGACAACGCGCCGTAAATCGCCCCCAGCCGTGACCGAAAATGGCCTAATTCGTCAAACTTTTACATTCCAAAATATCAGGGAAACCAGGTGCGCGTTTCCTGTTGTCCGAAAAAAGATTACAACAAAAGAGAAGAAATGGAGCATTTGCGCGCCATACACTTTGAGACAATTTCATTTTCCACATCCTATATATATTTTCGTTTTTCTGTCGTATTTTGTTGACTTTTAATTTATTGGTATTTCGACCGATTCAAAAATAATTATTTTGACTGTATTTTGCATACATGTAGAACTGGTGTTTTTTAAGATATTCGGCCCATTCAAGTTTTTCAGTGTATAATTGATATATGATTTCATTCCGAACTGAAAATTATATCGAAACGATGGAAAACCTCGGATATTAATACTGATTATAGTGGCAAGAAGAGAGGAATCGGAAAGTTCGTATGGATCAAGTTCACCGATTCTCGAAACACAGTCATCTGGCCGAAACTTGACGAAGTTACTGAGGATGAATATTCTAATTCGAGCAGTAATGAAACTAGCGACGAAGAGGAAAACCTCATACAAGAAGTACCAAAAGTCTTAGCTATAACAGAGAGGTAAGAATTGTGTCTTCTAGTGACTTTTCGCCAGATTCTCTAATATAATATATTTTGTTGTAGAGAGAAGAAAAGTTAACGGAAAACGAGACGAATTCGTTTTAACGGTAATCCTTGAAGTACAAACTAGCAATACTAAAAAATGCGTGAACGAGATCTTATTTTCAATATAATCATGGGCAAAACGATGAAATTATGAAAAGTCTCTTATTGGATACCGATGGAACTATGACTGCAGCAACAAGGCTTGTTCGGAATGTGCCTACGATTGGAATCAGTGCCAAGTTACTCTCTGGACTGGATTTATTAAAAATAATATGAGCTGCACGTGGCACTGCAAAAAACCGCTTCGCTTCAACAATGCTTCTTGTGGTTGGTTTGCTTTTCAAAAAATAGTTCACTGTTTCAGAGGTTCAACCAAGTCGCTTCTTCATGTTGAAAATGCGGTGCCCACCCGGACCATGTAATCGCTCTTCCGGAAACACATTGGCGACCGATTTTGTTGGTCCACCTCTAGTTCTGTGCGAGAACAGTGATACAACTAGTATTTTCAGGACAAAGGCTCGACTGACTGCGGAAGCTCCCGCATCTGAGGAGAATCTCAAATCAGGATTCCATTCCAAAGCGACAACTCGAACGCTTTCCAAAGATCGCATCAGAACGATCCACAACGTTCATCAGCCGAAGAACATGCGGAGCCAGATATCGTGGTGGATGGCTGAGTACGCAGCTCGAATGCCTTAAGGCGAAACAATTGGTTTTTTAATTAAGCTTGCTGGTCATGTTAATTTTGAACGTGTTAGTTCACATTGTTTTTTTTTTTAAATGTGTGTTGTTCTAATAAATTTGATTAATCACACGTTTTCTAGTCTACTACGTGCGTCACGAGATATCAGTGGTTTCTTCTTATCAGAAGCTGAATCATTTCCGGTTGTCAATGTTTGTAGGTCAAAAGAAAGGCTGTGTGATTTCGACCATTGATTTGTTTATATGGATAAGTTCCTGCCTTTTGGAAGGGCAGTATTCCCGGTATATATGGGCCTAATACGGAATCGAAAATAACCTGACACAAACCTGACGTTGCCTGTTGCCGGCGGCGGCTTAGTAACTTGACAGCGGGTCGCGATTTCACCTGCCTGTTCTCCATTCTGCAGCGAGCGACCTGCTGGCAGGTTGCCACTAAGCTGACGCGGTTTACCTGTGTTATGGCGCGTGCTCAGTCGTTTCAGGAAACTAGTAGCATCAGAAGATCGGGGTTCGGGAAACTGCCATCCGGGGCTTGAAGGTTCTATGAAACAGGGCGAATGACAAGGAGAGGCAATAAACAAGTAGTAGGCGTCCTCTAGAAAACATTTTTGTCTTTAATACGCGTTTCCTACTGATGCCTTATTTATTGATATTTGGATCCCCTTTTCTAGAATAAAAAATCAGAATCAGCAGAAAAATTTGAGAAAAAGTCATCGCCACTCAGAGTTGGTCGGAGTAAATCAGAGATAGGCATAGTAAATCATAGCTAGTCAGAGAATATCAGAGTTAATCCGGGTAATAAGTAACCTAGTCATAGCATATCAGAGCTAGGCATAGTCAAGCGTGGTTACTCCCAGTAAAACCACACTTGCACCGAACTGCGGCTAGTGTGCTTTACCTGTAACTCCGCTTTTTACTCTGAGTTAGTATGATATGATTTGTCTGAGCTGTGGTTGGGCTTCGCGGAACTTGAATAATTCGAGACAAAATCTAAAAATTTTAGCGAATTTTGTTTAATTTATTTGAGGTTCTACGACAGAACTCGAAAAATTTCGGGTTTTAATGTTTACACATTTTATAAATTTAAAATTGAATACTCAACTGTGGGACTCCTCGAAAATCACATGCTCATTTAAATTTTGAAGTTCGAACCTCAAAAAACGCGCAAAAACCAAATTCAGCTAGGATATCAAATTTATGATTGAACCCACATCTATATTTTGATGCGGTTTATAGTTTCTGAAGTTTTCGCGATAAAATCCGAATAATAATTACCCGTACCGTATATTCTCAATCTAATTCCCAGGTCATTTTTTCATGCAGCACTATGAGAGACTGTCGTTACTACTGGACAAAAGAGCATTAATTTTCGAACGGCTACTTTTAATTAAAGATCACTAGTATTTAGTCACAAAAGCTATTTTTTAAGCAGAAATTCATAAAAATGTTTTCAATAGCGAACTTTTGTAACCAAAAGACCCAGTAAAACGATTCAATTACTTTCGTCAATTATCAAAAAATCATCAAAAATATACAAAAAAATACCAAAAAATATTGAAACTTTCAAGTGACTCTTTCAATAGAAAATGGGGAGCACTAATACTGCTGATTTTTCGGACCCTTTTTGAATGCAGCACTATTAGAGACTGCAGGATTTACTACTGGAGTGATGCTGCACTAATAGAGAATATACGGTATATAATATATTCTTGCAGAAAAAAGTACGATTATCAATGAAAATTAGCTGATAAGAGGCTTTTGTTTGAACTAAGACGACGGAACGCCTCTAGTTCAAAAAATTCTAAAACCACGTTGTGTCAGGCATGTCTCATTGCGGTTTGATCTACGAAAAATGCGGGAATATTTTTCCAGAAGAATTGACGTCAGCACGCTCTTAACCATGCGAACCGCAGATGAGATGTCTGCGTCTCTTTTCCCGCATTTTAAGTTCAAAAGGGACTTTCTGACACCACGTGTAAAAAGGGGTTACGACGGACCCTGGCCTAGAATTAGGCGTGAAAATGCTCTGGCACTGATGTAGTGAACCGCGATGCAAAATTGGGGGCCGAAAATTAGGCTTTCCTTGCGAGAACGATTACTTAAAAATGTTTTCCTTTGTCGAAAATTTAAAAAACACACCACATGTATTCATCTCGACCAACGCCTCGTAAATGTTTTCAAAAAAGGCGGGTAAAATTAGTTGAATTCGCCAAGAGGAAATTCACCGCTGTTGAGCGCGTGCAAAAATTTCAGCACTTGCTGACGGTGTTTCCACAAATTACACCGATTAGTGGGGCAGAAAACACGTGCACACTCTTTCAATAAAACTAGAAAATAAATCCCAGGCCTGCATATATTGCACAAACCGTAATCCCCTTCGCGCTAAACAACACGCGCAACGATGCTCCGCTTGGGAAGGAAAAATTAATTTAACTCGGGCTTTTCATTAAACAATTTTTACATCGTTAATTTTTCGATGTTTTCACTGCGAAAAAGTGTTAAAATAACGATTTTTAAACCTATCTTCAATGAATCCGTGCAAAAAATCGCGATTTCTCGAGTTTTGAAAGAAATTTATGAAACAATCGGCATTTTTAATAATGGTTTGAAATAAAAATCTAAATTTTTTTTCGGTGCAGAAAAGTCGTTGCTCGCACAGTTTTTTTAAAGCATTTTCACATCAAACTCCGCCTTTTTTCCAGTAAATCGATCTAATATGTAGGGAGTGCGAGACAAAGCTGAGCGACGGCGCAAGCGGCTGGCTTCGCCGAGTATCCCGACAGATATCGATCCAAAAGACAGACTACTCGCCATATATCTTCCAGGCGATTTGGGCGCTTTCCAGTTGTACGGTAAATTTTCCGACTTTCAAGGTAGAAAAGTGTAGAAAAATCGAACTTACTTCTTAAAACTCGAAAAAATCGAATTCTTTCAGGATTCGGCAACTAGACGAGCTCCTAACCGACAATGTTGAAATACTGGCCAGGGGCCGCAGCCGCACACGATTCTTCTAGAATTCCAGAAAAGACCGACGTGGCTATGATGATGTTCTATTTGGATTTAAACGACGAGTCTTATACACCGTCAAAGCGCAATTTTTGGCTTTTTCAAACGAAAAAATACAATAAACCCTGAATATCCAGTTTGTTTCTCAATTTTTGCCTAAAAAACGGCTTTTTCACTCGCTTATCATTTACAATTTGAACAACAAGTTTTTTAAAGGATAAACATGAATTTCTAGCTTTTTCAGAGGTTTTCGATTAAAAAATAGAGATTTTTGTGATATCGGACGGATAAATTACCAAAGCTTGCTGTCGATTTTTTTAAATATTTTTTACTTAAAAATCTGCAATTTTTTTTTTCGAGGAAACATGTGAATTTCAAGCTTCAGAGATTTTCTATGAAAAAGGTTCGTGCCGAGACCCATGTGCTTTAAACTTCAGAATTTTCCCAATTTGAAATTAAAAAGAGAATGAAAATTGTCATGGAAAAATGCGTTTTTGGCCCAAAACCTCCAAAACTTCGAGTACAAATATAGGTCGAGTTTCAACTGTTTTCGATCAATTTTTTTGCAGAATTCAAGTAAAAATGGGTTAGCACCATCTCACGATATATTTTTCCGTCAAACACAAACATTTAACGAGCCCCAGGGATGGACAATTATCGATTTACGCGAGAAAAATGGGAAACCGAATTGCGTTTTTTGGCTTCAAGTATTATTCAGAATGATCAAAATGGCAGAGATGCTCATATAACGTAGACGAATTGAGAATTTCAGAACGAAAATTGCCGAAAAAATAGAAATTTTAGCGAATTTGAGTCGGAAATTTCGAAATGATTGACATTTTTAAGCAAATTTCCAACTAAAATCTAATATGCAAATTTGATCTGTTTATATTTTTCTTTAATTGTTCTAAAAACCTTAATAAACAATTAAAAATTGAAGTAAAATTAATTTTTTAACTTTGAAAGGATTTTTTGATTGAAAATTTTCACAATTTATTTTGTGGTGGGGCTAATTAAAATCGTTGTTTTTTTTTTCAAAAAAGTTAAAAAAACTTTAGTCAGAAATTGCCTTGTAAAATATGTTTTTTCTCTAGACCTCGTAGTCACGAGGACGCGTAGGTCGCCTCGCAAATTTGAAAAACTCAAGAAAAATCAATAAATTTGTGATTAATCAAGAAAAAAAATTTAATTTCCTGGTCTCAGACACGAATGCTTCGAAAAAAAAAAAGAGGCGAGCCTACGCTAATATAGTTGACCACGCCCACAAAATGGGCAAATCAAGTTTGGCACAATCTTTCAAAAAATCGAAACAAAAATTTTTCCAATTTTGTGAGATTTTACGAAAATTTCCGTTGGAAAATCGAAAAAAAATATTCTCGTTTTTTATTTTTCAAAAAAAAATGTGCCTAAAATTCATAAAATAAATCAATACTTTCTCAAAATTTCAACAGTCCATCTTCCAGGCACGTTCAAGAGTCCTTGGACCCCATCAGGCGATGTCTCCACGAACGAATCGAATATTCACGGGAGAACCACACGGACCGATTCCCGATAAAAATATCAATTTCGACGGCTAGGATTTTGCCAATTTTATCGATCACTCACTTCTTCACTTCGTTACATTTATCCGCCTCCAGTGATTCCAGATAATGAGCCAGTTTTGCATTGAAATTTAGTGCGAAAGGCCATATAGAGCATGATTTAACATAAAATTTCGAATTGATAAACAATGGAAAAACATGGTGCTATGATGCTTTTTTAACACTTTTAATTGTTCCAATTTGAGAAGTAAAATTTTCAGCTGATAAATCAACTGATTTTCTATATACCTCTGCCACTAAAGCTTAAAAACTTGCCCCAGTGCTGTCCTAACCTTCAAATAGCTGGCAAGTCTATTTATTATTCTTGTTTCATACTATTGAGATTGCTTCGCGAGACCCCAACCCATTTACCTGTAGTTAAATATACGAATAATTATTTATATATTTTCTTTAAATTTCCTTAGTATACTATTTTTCTGATCTCTCTTCAAAAAACGCTAGAAAAAATAAACAAATGTCGGTTTAAAAATGCCCGGTAATTTACCTTCTATAGTTTTTCGAAAAAAAAACCGATGAAATTCAGATGGAAATTCCCGATCCCGAACTGCCGGGAACACCGGTTGGTCCGCAAGATTTGGAGATTCTAGACACGCCCGGTTATACGAGAAGCTTAGTGCGTTTCGTGTCGGGACCCGGAAATTTGACATTTTTGGCGCGCGGCTTATTAGAATAACTCCAAACCTTGTCAAAGATGTTTTTTTCGAATTAAATAACATTCGTGCTTGGGCTCGGATATTCACAGAAATTTTGATTTGGAAACAATTTTTTTTGAGGCCAAAATTTTCAAAGTTTGTCTTGTTGGCGCGTGGACTAGTAGGAACCGCCCCTTCTAAATTATCCCTGTATTGAGCAAGTTTTCTGACATTGATTTCAAAATTTTTTTTTAGAAATTTCTGGTTTATTTTTTCCGGTTTTTTTCCGAGTTGCTGTTTAAGTTTGGAGAAATTTCAGAATTTGTCAATTTTAGGTGCGTGGCAATCTTTTTTCAGTAACTTTTTTTTTATTTGAAAAATTGAAACTTTCGCGATGCGGTTCAAGTAAAGCCACAAAAACTCAATGATTTTTTCACAAAAATTTCAAATTTCTTGCAAGACCTACTGCAACTTCGATTTTTAGAAAACTTTATGCTTAAGAAAAAAAACAGCGCGAATTTTCTGATTTAGCCCGACCCGCCCCAAAAATGGAAAGATTTCCGAAAATTCGAACCAAAAGTTCGCAGAAACTTGAATTTCTCTCACACAGAACGCGCTAATTTGAATTTTTCCAAAAATAAGCAAGCGCCCGCCCCAAAAATGCACAAATAAAAATTTTGAACCAAATAAATACAATTTCGCTTTTTTCCGTTTTCGAACAAAAAATTCTAAGTAAATCTATGGTTCTCAGGGCCCAGGCACCCATCTACCTACTTAAAAAAGCGTTAAATTTCAGGAATTAGCATCAACCGAACGCGCGTCTCGCAGATTGTGTAGTCTCTATTTGGGCGGAGATCTCGAAAAAAATCTATCGCTGCGATCAGAGATCCGAAAAATCCGTGATTGAAGTCACGATTCTGTTGGAATGGGAACACGGACCAATTCAAGCGGCGAAAGTAGTGTAACAGTGCTGAAACCTATTTCGGAAAAATCAAAAGTTGGTCTCTTTTTAGCAAAAAAAAATCGATAAATCGATGAAAACCGACAACTTGGAGAATTTTCATTTATCTCAAATTTGAGTCCCTCAGCGCCATATTGTGTACTGTAGGTGCTCGAATGTTGAATTTCAAAAATTGAGAACTAAAGACATCAATGTCGTGACGAGACAATGTTTTGAAAATTTTGAATTTCAATGTAAAAAATTGGGAACTTCCCTCCAAAAGGTAAATTGGTTTAGTCACAAACTCTGAAATTTTGAAATAAAATTTTTTTCGGCTAAAAATAAGTATTTTACTTTAAAAACTATTTTGAAGAAAAAAAGTTGGGTCTCGCCACGTTGTATCTTGTATATGTGTATCTAAATTGCCATGTTGTCGAGACCCTCTCCTATTTTACACTTCAACTTGTTCCTCACGAGGGACGAGGAACAGTGGTTTCTAGGCCATGGCCGAGGGGTTTCCGACAAGTTTCATCGGCCATTTATCTTGCTTTGTTTTCCGCCTGTTTTCTTTCGTTCTTTTTCCCATTTTTCCTTAGTAAAAAAATAAATATTTTTGCAGATGCCAAACGATTTTCAAGTAAAAAAATCATGTATTCAGTGGGCAAGCAGCGGTATGAAAGTTAGGGCATTGTTGATGTATTATCTTACGGGAATACAAAACCTAAACTTTTGCTGAAACATGATACATATGATGCTTAAACTGACTACCTGATCTTCTTAACGAGACCGCTGAAAAAGTTTTGAGGTTTTCAAAATTCAACTTTTTGTGCGAAAATCTCGACTTTTTCACCGAAGTTGAATGGAAACCTCAAAACTTTTTCAGCGGTCTTGATATGAAAATCAGGCCACTAGCTTCAGCATCTAAGCATCATATGTAGCATCATGTTAAAGAGAAAGTTGTTTTGTATCGTTCCTGTAATCTGTGGCATCATATTACATTGCCCACTTTCACCGCTACTGCCTGCCCACTTAATACATAATTTTTTCACTTGGAAATTGTTTTAGCATCGCAAAAAATATTATGTGTATTTATCAGTTTTATTAAGAAAAAACGAAAAAAATCAGTGAAAAACGAAAGAAGACAGGCGGAGAACAATACAAGTGTGGATAAATGGACTCTGGAACTTATGCTCGGCCCATCCGCCATGGCCTGAAACCACCTTTTCCTTCGCCTCGTAAGGAAAAAGTTGCAGTGACACTTTTACTCAAATAAAAAAACAAAAACCGATAATTTCACCATTTATCAGGCACATCTCTTCCTCACACCGGACCTTAGTGCTTAAAACGAGGCCAGTTCTTCCACAGCGAGCCGACGAGATTCATCGGTCTCCAGCACATGAAATTATACATTTTTGCTGACAATGTATTGATTAGTGGGTTAGTTTTTAGTTGTTTGCATGGGTCAGACTACAAACGAAAACCCTAATTTCAGAGCAAATTTGACGGATTCTTATTTTACTAATCGAACGGAGCGATATTACGTTCTATTCAGAAAGTGCAAACCATTGGCAGATTTCTTCCACGCAATTATCAACATAAGCGTTGTTGGTGAGTTGGCGATTGCGCTCCACCGACACTGGTCAGCTCGCTTGAACTGATAACTTTATCTAAAAAATTGCAATAATTGTTTTAATTTGGCTTCAAAAAACCATCAGTAGATGTAATAAAATTCTTCTCAAAGCAAAAAATTAGATACTTTCTAAAAAAATTGAATCTCCCGCGAAAATAATTTTTTGAGAAAATTTGAATTTTTCACCTAAATATTTTTTTCAAGATTTTTTACCACAAAATGAGGCGGGGCCTCGGTATACACGCTCAAAAAATCAAGGGAAAACTTAAAATACTTGTAAATTTGACTACCAGCTATTTTTTGCGAAACAAAAATCGAAAGTAGCACTTTTCGAAAAATTCTCGACAAAAATGAAAAATGGGGGGGCGATCTGTGTGCGGCGGTATTCGGCGGCATATGCCGATGCCGGTTTTTGGAGCCCGTCATATGCCGTTATGCCGATTTGAAGATTCACGGCATATGCCGAAAAAGCCGTTATGCCGAAAAATCCCCCGATGAATGCCGCACATGTCTGGGCGGGACTTCAAAAACCACGCCCACAACAGAGAACAAAAATTTGGAGTGACGGTTTGCAATTCCCTCGCGCTTTTTCTTGTTTTTTTTCAACAAGATGAAAAAGCGCTCTACTGACACATTTTTTTTCTAATATTTTCATTATAAATCCAATTTTCAGCCGACTCGAGCTTTTCATTGTCGAAATTGAGCAAAACTGGTGCCGAGACAATGTGATGTGCACACATATTTAGGTAATCTGAAAGGATGGGTAACCTGAAATTTTTCCAAAAAAATTTAACGCTTCGTTCGTCTCATCTCTACCGATGCTCAAAACACGTGTGAATCGACTTAACGAAAAATACAAAGAATCGCGAAAAACGTCGTCGAATTGCATGTCTGCTCACACGTGGATTTACCCCGTTTTTCAAATGGGGCATTTGGGAATCAGGAGTTTGAATTAGTAGTTTGCAAAAACTTTTATCACTGAAAAATCCGGAGCTCAAAATGACGATGGCTGCGGGATATTTCAATTTGGCTATCGAATTCGAGATTATGAGGAATCGATTCTGAAAGAAGGAGATTAACATTTGGATATGAAATCTTACAGCTTCTCCTTTTGTATTTTTTTGGGAAAAATATCTGAAATAAGTTCAAAAATTTCAAAATAGAATTTTTTCGAAATTTTTGTACTCCTGGAAATTTTGGTTAAAAAAAGTTTTCTCGAGAAATTTGATTTCCCGCCAAATTTTTTCTGTGAAAATTTGATTTTCCAACATGTTTTCTCATAAAATTTGAATTTCCCGTCAAGATGTTTCTGAGGAAGTTTGATTTTCTCATCAAAATATTTCAAAATCATTTCCAGGCGAACGGATTCTTCGATCAAAGTGGCTTCTCGGAAATAGATTCCACCACTATATTCCAACATTTCTGATCAATTGAAAACGAGAAATCAACGGCCGATCGAGTGTGAAAACGTTCGAATAACGATAGAGAAGAATGGACATTTCATGCAAAAGGTTTTGTAACGGCAGAAAATAATAATCAATTAACGACATTAATTGGCTCATCTAATTACGGTTATCGATCGGTTCATCGAGATCTTGAAGATCAAGTGATGGTTGTTACAAGAAATCGGACACTTATCTATCGATTAACAGGAAAAGAAAAATCTATTATTCGAATATTAATCGATACTTGACATGGCTGCACTTCAACAACCGGAACATCATAATTCCACCATTAGTTCGAGTCATTTCACGTCTAATTCGGAGTTTTTTGTAGACGTTTTCCAATTCTTTATAGCGGAATAATAAGGTTTGACTTTAATAAATCTTTGTAGATTGTTACAGTTTTTTTGAAATGCAACATTTTGCCGAATTAGGCCATTTGACAATTTTTGGTCGTGTCACGGCGCGGAGTAGAAAACTAAGTATTTTGATTTGTTTTTTCGAAATATCCGAAAAACAACAAAAGGAGTTTTTTGTTGAAAAAAATGTTGCGAATTTCAGAATACGGCACTTTTCCGATTTCTGCCCCCTAGGGCTGTTATGAGGGGGACGTCCCCTATTGGGGGCCGGGGACGATCATTTGTACCCCCATGGGGGACGGGCGCTTGTCCCCGCCACGTGACGGGGAGCGCCCCTTGTCCCCGATGGAACGAAGATTCGTCCCCTTTTGAGTTCTGATTTATTTTAGATTTTCACTTCATATCTTACCGGTACAGAGAGTGTAGATAATTCGTTAGAGAGTAGACGTCCGGGACCCAATGGAGCGGGGCGCGCGGAAGAGACGATCTAGTGTCGATTTACGAAATTTTCAGCAACTCGTTGTCATCATTTCGTAAATCCACACAAATCGTCTCTTCAGCTTGGGTCCCGGATGTCTGGCACTCTAACTATCTACACTCTCTGTACCGATAATAAAATATTTTTCCGTGACTCGTTTCCATAGCTTAGACGCTGTGTGCGGGGATACCGTGGATATTCCACACAAAAAACGTGTCGCTTTAATAATTATGAAGCAAAAAATACAACAAACGCACATTCTTCACATTGGGTAAACGAGGGGGCGCGCTCCCACTTTACCCGGGCGCCCCTTTTCGGGGGGGGGGGGGGGGCGTATTACGGGAGGTTTTTTGAAAAACTTGGTAATTTTTGAAATATGTCAACTGACAGCTGTCGTTCAAGTATGTATTTCTATCATATCTCCATACAAATCATAGTTAATTCTTTAGCAATATTGGGGTCCCTCACAAAGTCCAAGTTTTCTTCTCACACGGCCGCCTTCGATTTTTTCTTAAGAGCTTCATTTGCGAAGATCAAAATACATGATCGACAAAGTTGAGTCACTTAAACATCATCATGTGTGTTCGCCTGCAAATGTTAACAAAGGACCAGGCGAATTTGCCAAGCTTTCACGTCTTCATGTCTACGTAGAAAATGCAGTCCTTGAAGAAGCCACGCAGACAGACAGGCAAGTACATAATCAGTAAATGGGCAAATAGGCAAAGCAGGCATGAAATAGGTTAGGCACGTGGGTAGGCAGGTATGAGACATACAAACATGCAGGCAGGTCTGAGAAAGCGAGAAAAGGCAGGTGAGCATGATGAAGGCACATAGGCAGGTAGGCAAGGAAGCTCCTAGACAGGTACAAAATAGATGTGCGCAAAGTAGGCTGCAAAGAAACTAAGCTCGTCCCCAGGCATGAGGTAAGCGCATAGGCTTGCAAGTAGGCGAGTAAACACGCGGGCATCAAATTGAGGCAATCAGGTATTTTTGGGCTCCATTTGGAAACACACTTACTGGATAGAAAAGAGTGGGACTCGTGTAGAATGCAAATGCTATATAAATTGGATCCGGTGCAGCACAGATTTTCTCTTTGATCTCGTTTGTTCAATCCGTAACTCCGATAATTGATTTCTCCAGTTTCACTTGTATTAATCGCTTGGAGAGGCTCTCGATGATAGAATGAAAAATACTCAGAAATTGTCGGATATGTTCTCGATTTTCAGTGAATTTCCTTAGAGAAAGCTAAAAACTCACGAACAAACGCTGCCGATCGAGTCCACCACCAGTATTGCCTACGCCCCACAAAAACCGGTCTCTCGCTGTCTGTCACTAGTTTCAACAAATACCTAATCTCCTCGGCATCTTTCGGTCCCATATGCTCCGGCCATCCGGTATAATGGTAATGAGTCCCCTCTTGAGTACGCTACTTTCTGGAAAAAAGTTTGTTGCAGGCTACCTTTTAGGCCATACTGCATGGAACAAAAATACGGACAGGCGTGGAAGGTTAGAATAGTGATGAGAAAAAATGAAAACAAACATTTAAAAAAGCAAAGAATTGACCGGTTATTATTAAAAAATAAGAATTTTTATCCGGACAATTCGAGGCAGATGTGACTGCCTACCGGCGTGCCACCGCGCCTATCTCATGCCTGCGTGCCTTTACTGACTCCCAAATATTAGCAACAATTGTGACCTAGTCTTCAACAAAGGGTTCGAGATACTCTTCGTGCAAGCGATTGTTAAGTCGCCAAAATTGGTTTTTCGTCGAGTTCAGTTGGAAAGTACCTATCACAGTTCACCGTATTAGCACCAATAAAGTTGAAAAATACGATAAATGGATTGAAAACGAAGGGTGGCTTGAAGGCAGGCAGGACCACTGCTCTGTGTAGGGCGTCTTGTAGACAAGCAGACAGGAGTGGGTCACCATGTAGGCAGAGGGAAGGGTAGGTTGGCTAGTGGGCGGGCAGGCGTAGGCTGCTGCAACACAAGCATATAGGCTCATCTATTTCCGCGAAATCCCACAACAACATCACAAATGTACTTGATTTATTCAGCTTCACTGACTCCCAAAATGCGGCAATCGCTAAAATATCGGAGCTTTTCTTATCAACAGGCTCAACTGCGGAGCAGGCATCAACACAAACTTCAAGCCGTTATCCACTTCAACAACATGTGACGATGCTGGCTGAAAATGAACGGATTTTTTGGGAGGTACCCATAATGTTGCCACTTGTCTACCTATGTGCGCTTGAGTTAAAGGTTAAACCTAAGCCTATGCCTATGAGCCTAAGCTGAGCCTAAGCTTAAGGTTAAGTGTAAGCCTAAGCGTAAACCTAAGCAATGAGGCGAAGGGTAGGCAGGCAGGCGTACCAGTCTTACCCATTCTTTTTCGAAGACTCATAGACACCGGATCACAGTGACATCCTGTAAGGCGCAAAACTGGACAAAATCGTCTCCCGTAATTTCTACTCTAGGTTATTTGGAACCTTCTCAAATACTGACAATTTTTTCTAGTAACGAACGAAATTAGCGTGTTGAATGAGTCTTGAGCGGCCGAATTGAAAAACGTATCTCATTCAGATCCACACGACTGATCATCTGATTTGGTGGGTACATCGTTTCTCTTTTTCTTCCGAGTCGAGTATTTTGTAGCGGAAGCAAAAGGAAGCAATTATATATGACAATGACGATCAGAGCCAAAATTACATATTGTTCGTGTGGTCTGGGATTTTGGAAATTTTTAGGGATGTTCAGCTTCTAGGCTTTGTTAGCTTAGCTTAGGCATAGGCTTAGGCTTCGGCTTAAGGCCTAAACACAGAGGTTGGCGGAACCAGGCAGGCAATATTAGAGGTACCCGCCAAATATCTAGAAGCTTCACTAAAAAAAAAACGTTTTGAATCTAAGCATGAAACCAATTTTGAAAAAGTAAAATGTTTGCTTATCTCAATTTTTGCATTTCCTTGCTTTTATATTGTAATTAAAAATAATAATTTGAATTTTCAGCTCGTTCAGCGATAGAGTTGTGCTAAATTTCAAGAAGAAATTAAGAATTTTCGTAAAAAATATTTGTTAACGCGAAAAAACTTTTAAAGCTTTAATTCATATTGTTCAAAAAAGGTTGGAGTAAAAAATTTGGAATTTTTTTGATTTTCACCCCAAAACCTTTCTTTAGAATGTATCCCTCTTGCCTCCATCCGCGCCTTATACGCAATCCGCGCCTGATGATTTTTCTCCGGGAACTTGAGAAAACCGATTTGGTTGTTGGGAGAAGAAGTGCGGAATGAGGAGCGTTTTTTGAGAAAAGATAAAATTTGGGATTTTTTTGATCATACTTTCCCGAAAACCTTTCTTTAGAATGCTCTGCCACTTGCCTCAACGCCTTGTGATTTTTCTCCGGGAACTTGAGACGATTTGGTTATTGGGAGAAGAAGTGGGAATGTGGAGCGTTTGCTGAGAAAGATAGATTTTCTACTATTTCTCAATTATTCAATACTATCGAACTTGATATGCAGTCTTTGAACGTTCTTGTCATTACGAGTAGGCGAAGGTTATTGGTAAGTGTATGGGATGTCTTTCCGATGAATTTTACCAACGGCACGGGATGCCTGAGTGTACCTTTTCGATTTCATAAAAACTTCGGAAGGTGTGCTGAGCGTAGGCGTAACTCGTTAAGCTAATTTTTCCTTTCCTGGTAAATCTTATCCTGATCAAACCAGTTGGGAACACTGTGGCGCCACGTGCAACTTCATGGGTAGGCGGCAAACACCACGGAAATTTATGGATTTGGGGCACCCAATTTGACGTAATTTCGGTTTCCGAATTTTGTCGGTGCATTAAGGGTTTGACACTGAAATCGAGTTTGGGAATTAGCGTTTTTCAAGTCGAATACCCTCAAAATTTTGGTTTCCGCAAGTTTGTCTAAATGCAGGGGTAGGCGGCAACTGCCCTTTGGCATATTTAATTTTGGCACGACGAATTCACCCAATTCCCGTCAACGTGAACTTTCTTCTCGTTTCTTAATTAGTTTTTCATTAAATTGATAAAAATGAGAAAATTATAAATTTGTAAATTCACTTCAAAATGCAGGCGGGCAGGTTTCAGTCAAGCCCGTCTGAAACCGCGCCTGTCTACCAAGGAAGCCCTACACCTTTCAAATAAGATCAACTCACTGTGGTGGTGTGGACCATTCTTTTCAGAATTTCCAAGATCTGGCGGTGGTCGGAGAATTGCAGTCGTGGCAGAGGCTTGAATAAATATGAAATGAGCAAAGCAAGTCCAGAGCAGCAACAGGGAGCCTTTTTCGGCAAGTCTGTTTTGAAAGACTTGAAAACTCCAGTCCACCATCATCCAAGCTCGTCAGAGCATCCTGAACTTCACCGAGCAAGCGACTTCTTATTGCCAACATCCTTCACAAGTTCTACCGGTTTTTCCCACGATTTTTCCAAGCCTACCCTACCAAGACTAGCCCAAACAACCTTCTTAGCTTCCGTGAAACATAACCATATCTGTCTACAAATTCTGTGGAATCAGATTAAGTCCACTTATGCATCTAAGCTGAACAACATCACATCCAAAGATGCTCCAAGCGCCACCTCAGCTTCTCAAGATGATCTATCCTTATCGTCCTGTGCCAAAGTGGCTCCACTCGCTGCCAACTCTCGTTGCACAATTTGTGCATGGTTCTAATGATTCCACATTTGCTCTTTATTCTCGGAGCACGTCCTCCAGTCGAGCAATTTCTTGAGCCGCTGGGCCATTATGGAATTAGTGTTCAGCGCCGTTTGTAAACTGGGATGTTTTATCCGAAGCAAATTTGCGGCGCTTGCTAAACGTACAGCGCCAGAGATTTCAGACCACTATTGAGGCTTGAAACTGAGATCAGAGCATCTTCGACAGCAGTGGCTATCGGCAGGAATTTTTGATCTGTTCGGAACGAATTCAAATCTGACAGGTTCTTTTTAATTTTGGCCAATTCTTTGTTGGTCGAAGCCAGCTCTACGTCGGAAGAAATTGACCAATATCAGAGCGAGAGTCATTCATTTGTTCAATAGCACGTTTTTCTAGTGTTTTCAAAAGATTCGGATTCACGAAAGTAGCGTTTGCCGTCAACAATTCTACTCATGGTCAGCAACAACATTAGCCGCTCATTTTTTTCACTCCATTAAAGCATGGGCGAGCCTCAGCGGTTGTCCAATTGCTATTGTTATCCTTGCAATCAGTGCGCATTCTGCGTCCTGATTTGCTTTCAACAAGTTGATTCATCACACTTTCAAAATCGATATCGATTGTTCCCTCAATGTTCGATGCAATTTTAGATAGTCCCTCCAGAGTCGTGAAGTGGGGGGTTATTAGATCAGAGTAGATTTGGCGCATTGGGCTGAAAGTTTATTTGTATTTTCGTTTTTTTGAGTTTGAACCTTTCTGGACAACCGACAGATTGGCTCAAACTAAAGGACTTTACAAAAGTTTTTGTCAAATCAATTTCGCAAATATTACCGGTTTTTCGGAGCTTTGATCAGGGTGGGGTGGCAAACGATTTTTTTCCCGAAATCGGCAAATCGGCAACCCGGCATTTTGCCGATTTTACCAAAATGGCCTGGAAAATTTTTGAATCCCTCCCTCTAAACACTTCCGGTAAATTGTTATCCAAACTACAATTCGGCAAATTACCTGAATTAAATCAATTTGCGCCCAATCGGCAAATTGCAAACTGCAAATTACTCTCCGATAAATTTGGAGAAACCGGCCAATCGCCGAAAATTTTTGGTAACTGGAAAAAATTTCAAAAGGCACTGTACCCTTGCTTCCGTTTTGAAAAATGCTTCTAAACAGTTCCGGCATATATCCGGCAAACGGCAAATCAGCAGTTGGCCGTAAAATAAAAATATCCGCCTCAGCAAATTAAGGCTGGAATTAAAAAGTTCCTCCAAATCGGCAAAACCGGGAATTTGGCCGCGTGACTTCGCCAAAAATAAATATGCCAAACGGCAGTTGCCACCTACCGCTGCAATGTTAGACAAACTTTCGGAAACCAAAATTCTGAAGGTATTCGACAATTGTTTGAAAAACCCTAATTCCCAGGAACACGACTTTATTATAAAACACTTAATCGACAAAATTTCGGAAAGGCCCGAAATTTCTGGCATATTGGGCAAATCGATAAACATTTTTTTCCGTTGTGCCGCCTACCCCTGGAGTTGCACGTAGTGCCACAGTGTTCCCTATTGGTTCGCTCAAGAAATTGCGGACTTGCCAGGCAAAATTAGCTTAACACGCCGAGTACCTCGCTTAGCTCACCTTCCGAAGGTGAAATCGAAAGGGTACACTCAGGCTTTCCGTGCCGTTGGTAATTCATCGGAAAGCCACGCATACACTTACCAATAGACCTTCGCCTCAGCGACAAGAACTTTCAAAGACTGGATATCAAGTCAGATCGTTCGATAGTATTGAATAATTGAGAAATAGTAGCAAATCTATCTTTTCAACAAACGCTCCACATTCCGCACTTCTTCTCCCAACAACCAAATCGTCTCAAGTTCCCGAATTTGCGTAAAATTATGTGATCAGTACTTTCTCGGGCCCGAGCGTCGGTTGCCAATTGAGAGTTTAGGTTATGCTCCATATCAATTGCTCCATTCGGTAGACCAACTGTGTACTTCTTCGGGACTGCCCGATGGATTCGATGGTTTGAAGATGGATCTTCGATTCTTGGATATATTTGGAAATGCATTCCGGATAGATGCCATGTTTTCTACTAGCTTTCTTAGTGCCGCGATTGCGGGATCCCAGATGTGTACAATCTTGATGGGTGAAAATTATGAGTTCATCACATCACGAACTTTTGGCCATAATACAAAGAAAGAGGAGCAGCTATTGTTTTTGAAGCCATGCATCGTACATATTCGGATTCCCACTACAATCTTGGGATTTTTTCAACAAATCGTTTAACGCAGAATGGGATTTGGGAATCTCGGTAAACTAGTGAACGCTTCAATCTCTATGTACAGTTGCTCCATACTGAAAGCATTTCGGAAAGGGTTGTAACTTATGTAAAACTCTCTGTAATGTCTTTCATGTCTGCCTTGAAATTTGTCTCGTCTGGCCACTTCTTGGGACCTCCAATATCATGAGCCAGGTGGGGGTACCACACTTTTGACAGTTGTAAGGCCAGAATTGTTTTGCATCAACATCGTCGCCGATATTCGATTGTAGTTCTATAAAGGTATAGTTTTTGGGGGCAAAAAACGAAAGTGGTTCAAAATTTTGGAACATAATGCCTATTTTTAGATAGCTAAAATCTAAAATTTTGCATTGCTGACAAGCTTGTGAAAATCGGCTTGTTTAACAGAAAATAGGCTTTTTCCTATACTTTGAATTACTTTTTTAGATTGAAATTAAACTCATTTCGGTTATTTCCAAACGTCCACAAAGCCGCAAACTCTATCAGGGGTAGGCGGGAATTGTAGGCAAATGTATTTTCTGCAAAGCTAATCGGGATGTGTACAATTTTGCCTCTGGCAGTTTACCGAGCCCATTTACCGAAAATTTTAATTCCGGCAAATTGTCCATACTCTATTACTACATAGGCCCTTATATAACATCTTTTTCCGCCCCTCTACTCTATTACCACCTAATCTGTTACTACAGTGGATTTTTAGAAACCAAAATTTCAGCTTTTGAATTTTATATTCGTAGAGATAAGAAATTCGTAGTGAAAAGTTGAAACCTGGAACAAACATAGCTGCATAATTGCATCGTAATATGTAAAAATAGGTCTTCCTTGGTAGATAGGCGCGGTTTCAGGTGCGCATGCCTGAAACCTGCCTTGGGGCCATATGTGAACGAGTAGACTGTAGTTTTAAAAAACAAAAAAAGGTACCTAACAAAAAACATTCTCATATATTAGTTTGAATGTGCAACCAAACCTTTGAGCGCTATCAGTTTAGAATTTCCAGCCAGAACTGGAGTCAATTGCATTCAGTTGATCCATTGAGATATCGTATTTGAACAAATCCAGAGTTAAATTCGTTGATGGAATGGTTCCTTTTGTGCCGTTCAATTCTTGTTGTAGTTACATTGATCTCAATCGTGAGGAGAATTGTAATCGTGCTCAACGGCAGTTATGAAGTTGTCATCTGCAACTTTTATGACTGATTTTTTTAGATGAAGTTATTTGTTGTCTTTTCTTTTATGAATTATTACGTATATAATACGTATCATGCGATATTGTTTCGCTTTCCAACCCCCGGGGAACTCTTTTTACTTTGTTTTTTTTTGACTTTTATGGACTTTTTTGTCCTTTGCTATTTTTTTTATGAGAATTGATGCCCGAATTTGACTTTTTTCAGATCAGATTTTTTGGAATTTCTTCGCAGAGGAGAATTATTCTTTTTTGTCAAAGCGAGCTAACGACCTAGCCACTGACGCCAAGCCTAACATAGGACTGAACCTTCTAAGTCTGGAAGTAGCCTAAGCCTACAAGGAAAGTCTTTGAAAGGGCACTGTAGATTTTGGTTCCTCTCATGTTGATTTTCCGATAGAAGTGTGTGTTTTGATCTATCCAAAAAATTTAGATCCAAGCCAAGTTTCAGCAAAGTAATGACATTTCGAAATTTCAGTTAAAAACACCATTGTGAACTGTCTTACAGTGCGATCCACACAAATAGCTCGCGTGAACACCAAAAATGTGACGCCCACCACAATAGGCTGAAGACAGTGGATTTCAATGCTGTTTTTAACTGAAAATTCAAAATGTCGCACTTAAGTTTGCTGAAACTTGACTTGGGCAGCTAAATTGATTGGTGAGATCTACCCAAAGCTAACACTCTTCTTGAATCGGAATATCAACATGAGAACCCTAAATCTACGGGCCGCTTAACCCAGACCTCCCTTGTTAGCACTAAGCCTATGCGAGACACGCAAAATATACATTAACATACATATACAACAAATACAACGTAATAATTGTTTTTCTGTAATTCGCTGACAAACCTTTCCAACTACGTTGGGAACGTGGATCTAATGGCGGTCATCACATTAAAGAAACTGGATTCTTCTGGAGCAACATATATTGAAGTTAAACCTCCGAAACAGTCAAGAAACCTTCGAAAGTATCCGAATTGACAACACGATTAACCGTTATAATTATCAAAACGATTATTATTGATTCGAAGACAGAAGACAAAATTCGGAACCAAAATAAAAATCAACCTACTCATTGCACCAAAATATTATGAAACTTCCCTTTGATCGACGGTTTTTGAAGCAATTAAAGATTGGAAGTGTGAATTCTGAGAAAAGGAGTGTTGGAATTTTTATTTATTTTATAACGAAAAGGTCACGCGTTTCTGTAATTTAATTTCTATGAAAGTTTTAAGGTCTCACAGAATGTCAAACACTAGATGGCCGAAGAAAATTTGACATAAGCAGCGAAATTTGACCTTTCAAAAAAATTAATATTACGTGTACAAAAATCTTTGATTCCAATGGAACTGAATTTTTGGGTGATACAAGAGGGAATGTGTCTCAAGGTGTAATTTCAGTAAAACTGTACAAGAGAAAAAACGTTCAATATTTTTACGCCGTCTATTGCTAATAACTTCTACAAAATTTTCATTCGGACATAACAAAAATAAAACAAGGTGACCATGGGGTGAGATTACAGGTGCATTTCCTCATCTTCATTTTTCAGACTGAACATCCAAGATAAGTAGCCCGAACTGAAGTTTTTCTGAAAATGTTATATAGTCATTAAACATCGGTCAAAAACAGTATTTAAACAAAATATCCCGAGACAACACACCTTTTTTGTCTTCAAGATATTCAGATAGAAACCTAATGTCCTGAAACTTGGATTTTGGGTCCTTAAGAAGATAAAACAGATAATTAGCTGTTTTAAGTTAATACCCGCAATCATTTTCACATTAGAGCAAAATTAAATTAAAATGAAACTTTTTTTTGGATTCAAGCATTTTTTGGAACCGAAATTCAAGTTTTAGGACACCCTAGTTTTCAACCTGAATATCCTGAAGACAAAAGTGTTTCACCATCTTGGCATTTTTTGTTTAAATACTGTTTATGAATGTTTGATGAGTATTTAGGAACTTTTTCAGAAAAAAATTCGGGCTATTTTTCTCGGAATTTCAGTCTGAAGATGTATGATTTTTTAATTCAAATTTGAGGGAATGTCGTTCATGGTGGCTCGAGGTCAATGGATAAATGGCTAAGACTAAAACATCGACATTGATCGAAGAACGATTTTTTATTCAAAAAATAAGATTTATTTGACTAGCACTGAAACATTCATCGTTTTTTGTCACTATAACCCATTGGAATGATCTGTAGAAATTAACTAAATTTAGAGATTTTACCGATACGTGGCAATATTTAAGACATTAGTTTTCGCCCTGGCCGTTTGTCTGTTGAGATAGTGAAGCGCCAGCTAAAGCGCATCGCCTTTGGTGCTGAGAAGCAGGTCTCGACGCGACGACATCTTTCTTCGCGCGCAGCGGCGAGATTTCGTCAGTACGTGTTGGAGCGTATAAGAATAAGGACGTGATTTTATCGATTTGCATCGATTTTTTTTGGATTTTTCTTTGTTATTGTATTTTTATCGAATTTTTAGTAGTTTTAAGGTTCTTTTTTATCGATTTTCCTTGGTTCCGTTGTGTTTTTAAGCGTTTTTCTCGTTCGTAATGATAAAAAGGGCGGTTTTCTCCGTTTTCCAAGAGTTATTTGGTATGTCAGATTTTGCAGGAGGAATCATCAAAATTCTCAGTTTTTGGCATGTGATCCTTACGAAGAGTACTGTCTGATGCACATCAATGGCTTTTTCCCCCGCAGGTGCTACAGTACGTGTTCTACTCCTTTCAGGGGTTCCTTCTCTCTTCTAGGAGATTAAATATGTTCGTTGTTTCTTCCCTCTATCTTACGCGCTCTTTCCAGCCTTGTTAGTTTATCCATGCTCTTTTCTTATGTAATTTTCGTTTATCAATTTCTCTAATTATTTTCGGTTTCCGGTTCGTGCACTCGCGCACCCTCTCCCTATTTTACTCTATCTCTCACTATCTCTCACATCTGTCTCTCTCTCATAAGCTATTTTGGTATTTTGCGCGTTAAGAAGTCATGTTTTGATGGACCGTGTTCAAAGGAAGAATATTTTCGGCGAGTGCAATGTATGTGGTGTGAAGTCACTCCATGAGTCTTATTATTCCGATAACCTTTTATCGAGATGTAGTACCTTATCGAGCGGCCCAATTTTATGTATGTTTATCTACATTGTGGTTACCATGTAACGGGAGTTCACATCGCAGGAAGTTCTTTATCGCGAAAGTATCAGACCCCGGATTACCTATCAGTTTAAATGCGACATCTTTCGTCGGGTGAGATATAGTATCTTGTGTTTCTATCGCATTTCATTGGACCGGTCGAGCCAGGTCTGAGTGTTTATGAGCACGAGTCGACTCCGTGAGTCTCAATGATTTTCCGTTTGCAGGCGGTTTTCCAGGTTTCCCGTTGGTTTCTGCTTCATCTTCTACTACCGTTTTAAGTAGGATTGGCTCAAGTCTACGGAAGAGTAGAGCAAGCCTACGGTGTAAAGAAGGTCTTCGAAAGAGTAGCGCAAGTTTACGGAGGATTCACGCAGGTCTACGGAAGAGTGGAGCAGGAATACGTTAGAGAGTCACTAGACCATACTGGGGGTCCGATTTACAATTGGATTCTCGAAAAACCGTGTACCTGCATAACCAGACAGCCGATATATCTACCTTACCGTCCAATTGGTCAAGTATTTCAGGAGAAGCGTATAAGGCTATGATTTTCTTTAGCAACGCCGCGCGTTTTGTAATTGCATAACAAGCTGTGTATTCCGTGTAGACTTTATCCTGCTCACTTGTTAGATGTTTAGGGACATCCGGTTCGACCTTTTTTCTTTCTCCCGCTATCGACGACGCAGATCACTGCGTATGAGTTGCTTTTATATACGTCGATCGATTGTTCCGGTATACGTAAAATTAGGCGCTATATTTTATCGCTTTCCTTGCTCACGCGATTCAGATATTTTAATGTCGAATTCCGTCACCTACCACTACGTAGGAGATATGCAGTGCTTTGTCAGAATAACTCAGGTCGTAAGAGTCTCTCAAGACTAGGGAGATATTCGCAGGTTGGTGGCAGTAATTTGTTTTTCCAATTAGCTATTCTCCTTGTCAGGACTTATTCAGGGAGTCGAAGTAGCCCGAGACGTTTGGCCCTAGTATGGATACTTCACGACAGTTCAAACAGATTGTGGTCGGCCTTTAATGGGAATTAGTTCTACTGCTCAGGTTCATAGCTGACTTAGCCGAGCCCCTTCGAGGTACGTCGCAATTTGGCGATTAGCATACTTCCAGGAAGACATAGACGAATCACAGTTTCAGAATTCCTATACACTTCGGTAACTACGGAGTAAGGCGATCAGTTCCTTGCCGCATTTATATGTTCATCTGAACTTTATATTTTTGCATATTAGCTCACGGATTACATTGGAAACTACAGATAACTGGGAGACAAATGCTTCGCTTTTTGTCACTTTTTCCGAGTTTACTCAAGCCCAGAGTAATGTAGTTTGAGGTTAATCTACTTCTCGTTTCCATGTGCAGATACTAGCAGAGTTGCTGTTATAACTGAGAGTCATTTCACACACAATACGGGTTAATGTCTGTCGGCAGTTTCTTCTCAACGCAAGGTTTTCGCTATATAGATAATCTGGTATAGCGGTGAACAACCTGTAATTATTAAACGCCTCAAGCATAGCCGTGACTAGTTATAGCCCCCGGCTTTGCGGGTTCTACCCTATACCACACAAAACCCAAACCAATAAACTGCACCCATGATAGTATATAATTCGTGTAGTCTTTTTAGAGCGTAAAGTTCTGATCAGGGAAAACGAATTCTCGGGGAACGCGATCCTAGAAATGTTTTCCCGAGAAAGTGAGGCGAAAGCTTAAAGGCGCATCGCCCTTAGTGAGAGGCAGGTCGCGACGCGACGACATCTTACGCGAGCAGCGGCGAGCGTCAACCATTCTATGTGTTGGTTTCCCCCCTCCCGCCCCACACACATATTATTACAAAGTGCGAGACATTGCCAGATATGCGATGATTTCCATCCTTACGGAGAAAAATCGAATTATTATGAAAATATTAAGTTTAAACCGTAAGTCGTTTATTTTCAGGAGGTGAGTTTTATTTTTCCTTCATCGTCGCCTGACTGGGCAGTCGGTGTCTATCTGAACAGGTTCGCAGCTCGACCCTTGTGCTTGTTTTCGGTAGCAGGAATACTTATGGGTTTTTTCTCAGTTTCGGGAGAGATATTTACAGGCTTTCAGGAAACCGAGATTCAGAGTTTAATAATGACATATCTTTACAGGAAAATTGTGGTTTGAGTTTGCAGCCTTTCAGAGCGCCTGATGGATCAATAGTTCAATCCACGGAAACACGGACGAAAGTGGTCCACCGAGCAATCAATGTGGAACGAGACGATTCCAGCGTTTACCATGCCCCCTAACATCGATGATGGTCTAGATATGGTAAAGTTCTTCCCATCAAGCGTTGTTCGAGTTTTGGACAAACTTCTTCGATAAAATACTTGACTAAAAAAGCGAATTAAAGTCTACCACAATTTGAAAAAATATTTGGTTCTAGATTATTTCGAAGATTAGACTATAAACATCACGGCCTAACGTAGCTGAGGTTTGACATGTTGTGGGACTGAATACAAAAGCGTGAACTCACGTAGACTGTCTCTTGAATAATTCGAAGAACCAGATGTGAGCTACGGAATAGGCTTAGGCTTAGGCTTGGGCGGGGCTGGGAGGAGTAAAAAATTGCGGAATTTGCCGTTTGAAGAGCTCGCGAGTCCGAGTTTGGCAAATTTTAAATTTTGCCGTACGGACACACCAAATTTGACAAAAAATCGTCAAAAATAACAAATTGTTCCGAGTTTGATCAGTTCGGTAAGAAAATTATGAAAAAAGTGATTGCAGAATTTGCCAAGCTCGCCTTTGTCTTTGGTCAATTCAGCACCATATGAGTGATTATTATCAATTTTCCACTGTCGCTACTCGTCGCATTTAACAAGTAGTCATCGATTGCCGAAACAACTTCCTTCCAGCTCAAACTTTTTTCTTAGCCTTCATCGGGAACCTTTCCTAATTTTTGCCCGGCCTTCTTAACCTCATTCTTCCCATCTTCCCAAATTACAGTCCCATCCTTCTTCTCTTCTTCTTCCCACTACGACCATCTTTGTCCACGTATAGGACCTTTCTCGGGAGAGTGTGTGCAACCGAGACAATTTGCGAAAAACTGCTCCCGGTCCCCCCATTCGTTTTCGCGAAATCAATAGACACAAAAATGTTCCGTAAAACAAATCTCCCCTTGTCGTTTATCCCCCTGTAAGTACACAATATCCTTTTCTCAGAAAAAAACCTTTGTTCTTCAATTTCGGAATCATCTTTTCTTCGTGTTAGTCCTGTGAAAGGCGGAGTACTGAAATATGGAAAATATTTTTAAAGGACTCCCTGATGAATATCTAGAAAGTTCAAAAAATTTTCCCTCATTTCATATTTCAGCTTGAAATCTTTCATTGTGCACTAATGAGATTTCGACTTCGAAGTTTGTTTGAAATGTGTTTTCAAGGTCAATTTTCGTCAATGTATTATTTTACTATCGAAAAACTAAAAAAATTTCAATGAGTAAAGTAAGTCAGTAAGCATTTGGTAAATAACAAAAATCTCGTAATTCTACACATAGCGTGTCGCGAAAATTCGAAATCTGATGGGTGCACAGAAATGCTTCAAAGTCAAATATAAAATAAGGGAAATTTTTGTGAATTTTGTCAGATATTCGGAATCAGGGGCAAATTTCATGTGAAGTCAATTAGAAACGTATTTATTTCGTGGTACTTTTCTAGTCTAAAACTAAAACTAAAGCTAAGCTAAAGTTAATTAAATTACCATGAATCTAATTTGTTTTGTTTTAAAGTTTCCGATTGCAAAAATTCCAAGATCTCAGTTTGCCGAAGTTTAAATAACGACTACTCTGGACTTTTCCCGAAAGAAATCGAACACCGGAGTATACTAATAAGATCCATCGACGGTACACAAAAGGATCATGAAAAAGGGGCACCGTGCGCATAATACCTTCTGGCTTTCCCCTTCCCCAACGAAAGATTTCCTTCTTATATTTGTTCGTTTCGTTCCTGCACACTGACTCCATCTCTTCTAACCCCCTCCTCAGTCTGAATACTCTCTCATCTCACAACGCTTCTGTCTACCTGCCTGCGTCCCCTCGGTACCATATACTAAGCTCTTCGTACCTGCCACTTACCAACAACTTGCCTCTTGGAGGTCTCTCTCTCTACCACATCACCTTGTTCTTCGACTTGTGGTTCTCTCTTATCGAAAAAGTGACTTTCCCGTGTCCTTCCGGGCCATTCACATTTTCCAATTTTATTCGAATTTTATGTGCCCACTGCTAGCTAGGTTCTATATTGAGTGCCGAATTAATTTTATTGATGGTCTAACTAAATAAAGCCACTGGCAACAATTTTTATAAAATTTGTTTGCATATTTATGTAACATTAGCGAAAGTTTTAAAATTCGTACTGTGTGAGACATCACTTTCGAAGTGTTCATTCTATTACGGGATCACAAGATTATGAGAATACTTATTGCGCAACATTCTTGACGCGCAATAACTAGTAGCGAAAACTACAGTAATTCTTCAAATGACTATTGTAGCGCTTGTGTCGATACTGGCTCGATTTTATTTAAATGATTTTTTTTCGAATAGTGACGTCGATATTCCATTTTGCGTTCTGTCATTTTCGTATTATCTATAATTTTATTCATTTCGAGAATCGAGCCCATAAATCGACACAAACACTACAGTAGCATTTAATACTGTTATTTTCGCTAAGATGCGCGTCAAGATTCATTTCCTTACGAAATACAAACTTCTTGGCGAAAATTTCAAAATTCAAATTGCCCGCTTAGTATTTAGCCCGATTAAAGTTTTCTGGAATTTCCTGCCAAATAAAAAGCTAGTTTAAATATTTAAAAAATAGCTTAGAATTCTTAGAATGCGTATTGCGCAGCTTATTAAAGTGACGCCCAAAGCATTTCATAGCGAAAACACAGTAATTCTTGAAATGACTACTGTAGCGATTTTGTCGATTTACGGGCTCGATTTTTGAAATAAATTTTTTAAAATCTTTTCGAATCAAGCCCTGAATAGACACAAGCTATACAGTAGTTATTCAAAGAGGTTTTGCGATCGAGGTATTTTGTGTGTCAAATAATTTATTCCCGTAAAACAAAATACCGCTCTAAAGATATAAAATTTACAACGCCTATTAAGCACCCCACTGAAACCCGCCGGAAAATCCAGAAAAATTATATAAATTTCACCTCTAAAAAATAACCTGGATAGTTGACCGCGTAATTCGACCTGTTTTATTCCCGATTGTCCGACTGACCACACCCCGATTCTCTCGAACTACCCGCGACAAGCTTAAGCATCTTTCTTTATTCCCACACTTTTCGTAAACTTCTGAGAGACAAAACAATAATATTTCTTTCTCAAATCAATATTGGCTATATTCTCCGCATCCCGTAGCCGGTCCCATCAACGTACTTCTAGAACTCCCACGAAATTTCAATTGCTCTATTGAAAAGGTCTCTCTTTTATATGACCCAGGCGCAAAATTTCGTGCAAAAATACAATCGACGGTTTTCTCGACGCGATAATTTTTGCTAAATTCCAAAAATGTGTGCGCCTTTAAGATTACTATTGTAAATAGCTTCAAACTTTAACCGATTTTAACAATTGAATTTTCTATGTTTTCCGTTTAATATATATTTATTTATTTAAAAATTAAGTTGAAATTGAGATAGGCTAGATGAAGATAAATTACATTACTCTTTAAAGGCGTACATGGCGTTTCGCGACCGGGTACAGTATTTTCGACTGCGATTTTGGTTTTTAAAAAACCTAACCAATAGAATTTCCAGCGCTCACACTCATTGGCCGTGGAAATTCAGCAGCAACCGTCCGACAGCTCTTTTTCGTCAAACGACGAATTCGACGATCGTCAGAACAAAAAGTGAGCAGTTTTGTATGAACAGCAGGTGTGATATGATTTTATTGTGAAATTTGGGACTACAAACCCGAAAAAACAGTACACCTTGTGTGATCTAGAAAAAAATAGAGCAATCGATAATTTTCGGGTAATTTTAAAGTTATTTTCAGCGAAATAAACAATATTTTTGAGCATTGGGTTTTCAGTCATTTTCGATTAAAAAATTCTTCAATGTTGAGCTGAAACTATCGATTTTTACTAGAAAATTGATATTTCTAGCGCAACCACAATTTTAATGTTTAAATTGCTTTGAAACCTCATAACATCTCCCGCACCTCCAGTTTTTGAGTTTTCCGAATATCGGAAACTCAACAGAATCTCATTTTCCTACCGAAATCTATTAGTTTATAATAAATTTGATCGTTTTCTGCTTAAAATTCCCTGAAACTTCTGAAAAAAAACCGATTAATCAGCTAATTCGCTTAAAACTAATTTCGTGCCGGGATGACCACGGCCTCGGGTTTTAAATCGTATGCGCTTTTTGTTTTGTACCATGTTTATTATAGTTTTTAAAGTAAAAAATGAAATTTTCAGCAAGTTTTGGCGTCAAAGAAATGTATCGAACGCATAAATTGAACGAATACTGGAGGCTTGATTTCTGGTATAGCGAATGGTATTCTAAGTGAGTTTTATCCGATAATGGGAATCGACGAAAAACCAGAAATAAACAGTTAATTTCCAGAAATGAGCAACGGGAACAGCTGCAATCACCATCACCAATTCCCGATCAGCATTCCAATTTCGTGCTCGTCACACTCAATTCAATCACGATCACGAATGAGGACACTCTGAACGCGAATAGGGATCTCCTGTCTCGTGCGCCTGCAACGACGTAATTGTCGCCAGAACCGTGTAACCGTCGTTTATTCGCGTGGAAGGCCGGCCGGGATAATGTTTTTCTAAAAGACCATGTCAGGATATTGGGAAATACAACGGTATGAAAATCGGCTTTTCAGCGATAAAAATTGGAATTTTCAGGTCAACCCAGCGTGGTATCCCGTAATGCTAATCAGGAGGAGCGTATGGTTCATGCACATTGTGTAGTGAGAATAAAATTGGTTTTTCTGACCTTTCTATGAATAACCCCGATTCCCATGAAAATATAAGGATGTTTTCAGCAGAAACTCCAGGCAAATTGAGTTTTTGATGCGAATAATGGATTAAAAAGGATAACAAAAAAATCCATGAAAATTATTTTTTACATCAAAACTCCATAAAAATCGGATTTTTGAGCGGATAGATTACTTTGCCAGAAATTGCATTTAGCAAAAAACAATTCTTGCGCGCAATTGCGAACAAAAAATTCAGAACAATGAAACATAACAAAGTTAAAAAAATTATTTATTTAAATACTTTTTTGAGCTGAAAATAAAAAAATTGCCTCAGATTTTGTGGCCAAAAATTCAAGAATATTGCATGAAAATTAGTTTTTGTTTGCAGACGAAAGCAAAAATTAATTCTTTTTCTCGCTTAAAACTGGGTTGATAAAATGGTGTTTAACACAAAAATCCACAAAAAATTGATTTTTAGGCCACAAAATCTATGAACATTCTGATATTCTGGAAAAAAATTAAGAAAATTCATATTGATTTGCCATTTTGTTCAAAAACTTTTTTCAAAAGCATTTCATCAGTGGGAAAAATTTGATATTTCAACAAAAAAATTATTAAATTTTAGAGCTAGCCTACGGCCATGGAATTGTAAGACAGACATGAGAGCTAGCGGATGTGACGTGGCTCCGGGAGCAGCTTCAACAACCTCCAGCACATCATCACATCATTCAACTGCAACAAACCATCAGCCATGGTTTCATTCAAGATTAGCAGAGAACTGAAAAGTAACATAGAAAATGTTGGAAAATCTGGGAAAATGTGTCATTATTCGGTTTTGTCGTCAGGTTTCCAATTTTATGAAAAAAACGTCACTAAAAACGACATAATTCTTACGGAAACATCTGAAATTGTTTGCATGAAAAAAGTCGCGATTTTCTAGAAAATTTTAAAATGTAATAGAAAAATGTTGAAAATAGATTTTTTCTGAATTTTTTGAATTTCATTAGATAATAGAGACAACATCATGTTTTGGAGTCAACTTTTTCGCCTGAAACGCTGGAAAAGGCAGAATAATGGTTAGGGTTTTTAGTGGTATCGAAAATAAAAATGTATTTTTTAAAAGAACGAGAATTTTTTTTTCGTCGAACGTTAGTTCCAACAATAATTACTTACAAAACATTTTTTGTTGGAACGTCTTTTTTTTCTGAAGTTTTCTTAGATTTTGATAACTTTCTTAATTTCAATTCAAATCGGCAAAATTGTACGCGTCTTTTGACTGTTCCCACATCTTTGTAACGAATACGGGAAAAAATATTTCAAAAAGGCACTTTTTTCAAGTGTTTTCGCCTTATAAAAGATTGCCTTCCGGCAAATTGGGATATCCTACATACGGCAAATCGGCGAACTGACAATTTGCCGGAATCGAAAGATTCCGGCAACCGACAACCTTCCGATTTGCCGGTGTCAGAAACTTGAAAAGTGTAGAAAAATAATTGGACGTCACAACTAAATAATAATTCATGTCATTTCTTAATGTATTTTAATACAGTTTTGACGTCATTTTTCTCCATTTTTCATTCTTCCGGCGCACTTGAATAACCCTGTATACCACTTAAAAATCATGTTTAATTTACAAATTTGTAAACTCCCGATTACCTGCATACCGGAGGAACCTTCCTAGTACGTGAATCCACAAATTTCCCCGGCGTCTTCATCACTATGTATGTCTTTTCACGGAAAAGTCGAACACTATCAGTGCATCGAACAGACGGCGGTCAGCGCAATTGACCTGTGACCAGGAAGAACATGGTACTTTTCCAATTTGACACAGTTGGTCTCGGTGAGTCATTTCGGGGCTGTAGAGACAGGAAAAGGGGGAGGAATGGGTGAACCGGTATTCGTTAGACTGAGACAGGTGAAGATAACAGTCATGATTTTATATTGTGAAGAGTTGTATTATAAAGGTTGGTTGACTAGATTTGATTATTTGGGCGAAAGAGAAAGTGAATGAGGGGAAAATTGTTAAAATTCGGATTTAAGTATGAAAACTCACAAAAATGTTATATAAATTTATATTTTGGATATAACTAATTAAAGATTTTATATAGCAAGACTTTAAATAATATGAATATAATAATCTAATATATCAATCTCCTCATTTAATGGCTAGTTGTAATGTCCAATTTTCCAGCACTTACCTACAAACGTGACGCGGACGGTCTCTGCCATCGCCTCGTGGTAACTGCGATTATTTGTGAAACAGCGACATTTTCATCAATCGGATCATCGTCATTTGGTTCATCGTCGACAGTTGATGTGGCATATCGTACATCAGTATTTCGACACGCGGGTTAGATATTTCATCGAACGATATATGTTGGTGACACAATTGCACGGAGACGCCAATGGAGATGTTCGATTGGGAACTTATAAGAATCGAAAAGTCGCGCTAAAAGTGTCGAAAATGCATGGAAATGGAATGTTGGACTCATTGCTGGATGAAGCCATATGGTGTAAGTTATCCAATTATTGAGAAGAAAATAATTTTGGCAAAGCCCAAAACAATGCGTGTTGAACAATGTCATGTTAAAAATATATTTATGTTTCAAAAATGTATTTCAATTTAGGTGTTGCTTTTAATTTGGATCTCAATAATAACAACGTTTTCCAAGTTTTTAGTTATGAGTACCCCGAAATCTGAAAAATATTTTCAGTTGACTTCCAAATTCCCTGATTCCGAAAGTCTAAGTGAAAGATTCGAAACCTGATGGGCTGAGCACAAATTATTTGTACAATTTAAACACTTTTTAATTAAGATAAATTCCCCAATTTTTTTGAAAATATTCCATTAATTCCTATTTTATGTTAATAATTGATTCAGTTTACAAAGCTTAGTTTCATAATTTTCAATTTTCCTGATTGATGAGATAACTAATGGCAGCAAATAAATCTGAAAAATCCCGAATTTTGCAGAGGTCTGTCGCTGAACATCCAAATCTAGGGACGCTTGTCGTTGTTGTACTGATGATGAGTGAATGTCGACATGATAACTGAATATATGGCAAATAGTTTTAATCGATTTACTCCGATCTCGAGGAAGGCATGCGTTGGAGAATCGGAGGCAGTTAATGTATGTTCGATGTAAGAAAAAGTTGACAAATAAAAAAATTGGAATTTCACATTCGCCAATTAGATTGTTCAAAAATTGTTGACATTTCTGCATTTTTATAACCGAAAAATCGACATTTCATTCCGCCTGAGTAATAGTAACTCACCACGAAAAGGGTTACTGTAGCAGTCTTTTAGCTGTCTCTGGTTTAGTAATTTACGATTTGCCGGTCGTCTGAAACCCGATTTTTTCTAGATTTTAACAATTTTCTAGTATGCTGTTGGCAATTCATTCCAAAAACATTTTAATGTTGCCGCTAAATTTTTGTGCTCCGTTTGTCGAAAAGCCGACTTTTTAAAAACACTGCAAAATTTCTCTCTAAGTTTTTTAAAAAATGGTTGCCCTTGAAATCAATGCAGTGTTTATATTTTATTTTGGATTTTTCGAACAAAAATTTTGTTCGTCTATCCGAAACACCAAAAAATCCACTTACCATTTTTCGAAGCGAATTTTTTTTTTCCAAACAACAAACCTGATTTCAAGGGTAGAAACATTTTTTAAAAAAGTTGAAAAAAATATTGTAAAATCGGTTTTAGTTTTTAAAAAAAGTCGTTTAAATTTGTTGCACAATTAAAAAAAAATTTAGAGAAAAATCTTGGAAGGCTTCACGCACACAGCTGAAAATGCTAATACAGTACAGCTTTTCGTGGTTGGACCCAGCCACCGTGGTTACTCTACCTCCGGCAAAGTGGAAAATTCGATTTTTTTGTTAGAAAATTTGAAAATGTCAAAGACCTGTGAAATGTTTCAATTTTTTGTGCCAGCTGTTCTTGAAATCCAAATTATTCGACTTTTTTTCCATTTTCAGGGATACTTGCCAAGGAATTTATCTGGAATCAAAACAGATTGTTCATCGAGTGGCCGCTCGAAATGTCCTCGACGATGATTTAGTAGCGTAAGTTTCCGTTTTTGGATTAGCGAAAAAAGCACTAACAGCCAGTCACATGATTCGGCTTCTGGCAAATTTCCGGACTGATTAAATGGACGGCACCTGAAGCGCTTAGACATAATGTAAGTTTGGTTGAAAAATTGATAAAATTGAGAAATTTTTACAGAATTTATTCTTTCAAAATTAACAATTTCATAAAAAGAAAGAAAATCATTTCAATTTAAGGAATTTCGTATTAAATTTCTAATTTAAAAAAATGTCGATATTTTTTAAAATTAACAAAATTTGAAAACAGAAATCCGTAATTCCGCCGAAAAATGCCTCAAAAATCTGCACTTTGAATTTTTGCCCAAATTTCTAGAATTTTTCCTTACTTCATTTTCTTTCATAGCTTGAATATCAAAAGGAAAATCTTGAAAAAAAATCCCAGAAAAATAAAAAACAACCAAAATCGATTGATTTCAAAAGTTTCTTTTTTAAAAATTGGTTTTTTGTCATTTTTTTCTGATAAATGGAATAGCTTGAAACTAGAATTTGAAAGTATCCAAATTTTCTAATAGATCGATGAAAAATGACTCAAAAACTCCAAAAAATATTGAATTTATCTCTTAAATTTTTCAAAAATGGAATTTTTTTCACGTAAAAAATAGAATTTTTTTTCCCAAATTTTTTTTAGCAACACCACAAAATCCGATGTTTGGTCATTCGGCATTCTTCTTTGGGAAAAATTTTTTCATTCGGACGAATACCGTACCCAAGAATTGTGAGTGACAACATTGCTTAATTAAAAAAATTTCTCGTGTTTTTTCATATTATTCCTCGCTAGCTGGATTGTTTTTATTTCTGTTTGGTTGGGATCATTTCTTTAAAGGCTCCACGGAAAGGGAATCTGCCTGCGAGAATGAGATCTACGAAAATGAGCGACAATGCTAGGATGAAACGTGCGTTGTTTAGCAAGTTTTTGATACTTTTCAAAAATACTAGACTTTTCAACCTTTTTCGTAGATCCTCTTCTCGTAGTTTTTGGTGGGTCCCCTTCCTATATTTTTGGCTTGGCCGAGTTTTCTCCCGGCCACGATCATCACTATTTTATTGATTTTTGTCATGATTTTCAGGGAGCCGATGGTCGATCGGTATGTGTATATTGCATATATTCGTTAGGTTCTATTTTTTACCAATTCTATCCAATTCTATTATACAATACATCTCACTATATTTTCCCCTGCCTGAAATTTTTGAAAAAAAATGAGGCAATTTTAACTTAAAGCTTTTTCCAAAATTTTCCAACAAAAAAAGTTTTTTATTTTTCAATCGCTCGAATTCTGAAAATGAAAAATGATGATAGAAATTGTTTTAAGAAAATGATTTTTTTGGTAGCAAAACGAATTTAATTTTTAATCGAAATACAACTTTTTTTTCAAAAACACCTTATTCGAGACAATAATATTTCTTTTCTTTTCAAAATTGAACATATTCTGGAAAATTGAATAATTAAAAGCATCAAGATTAAATATTCGAAAAAAAGAGAAGTATAGATTTATTGGCTTATTTGGAAAAAAGAAATGAAAAAAATGCAATAATCGAGTCTTTATTTTGGTTTTGTTTCCGACGATGTCCTTCTCGTATATAGTATTTTCCTACCACGAAAATCGCCGTGCAGGGTCTTTAAATTCGGCCGACCACGTCTCGCCTAAGTCCAGTCCCCCACATGTCAAATAAAATTTTTTTCGCAACATCCTGAATTTTGAAATCTTTTTCCAAAGAAAAAAAGTACCGTTTTTTATTTAATTTTAGAAGCTTGAGAAAATGCTTGGAAAAAAGTATTATTTTTTCTAATTTTGAACTTTTTAAAAAAATTATTATATCTTGATTTTCAAAATTTTCCATATTCGATGTTAAAAATTATAAACATTTTTCAGAAAGTAATACCGAAATTTTTTTAGAAAAAAGTCAAATTTGGAGCGAACATTATGTTTTTCAACAATTTGTCAACAATTTTTGTTCACCGCGATTTTTTTTTTGGATCCAAAAAAATCTTTGTTTGTGTGATTTCCGACGGCACCCAACTCCCCAGAATTTACCGCAAAAACTCTATTTTTTTCTCTGCTACCTCTTCCCTATCTTCTAATTAATGTTTTTTCACTATTCGTTTTTATTATTTTTTCCTTTCAGAGCTCAGTTAGAGCCCAAAACTAACCATCAGAAACAAAAAAAACAACTTTCTTTTCTTTTCGAATTAATTTTTTCAGCCTAGGTTCAAGGCGTTGTGAGATATTGAGTAGGTATCGAATGGAAGCACCTGAAGGGTACCGGAAATTTTCAAGGTTATGAATGAAACATGGGCTCTTTCGGCACAAGATCGACCGTACTTTAGGACAGGCAGATTTTTTAAGGGTTTTATAGAATTTTAAGAACGATTTCAAAATCCGAAAAAAAAACCTACAATTATGGTAATTTTTGAGAAAATCTACAATTTTTTTTCGAAAACCTGACAGAAAGAAGAAAGATAATTTGAAAAATGCCCTAAATTGACCAAAACTATGGAATTTTTACCAAAATTTCAGAGGGGTTTTTCAGATTTTACCAGAGTTTCTGCCTTATAAATTAAAAATTTCAAAGGGAAATATTTTTTTAAAATCAGCATTTTTAGCAATTTTTGTGATAATTGTTTATGCCAAAAATGGTGCGAATCTCATGTTTGAAGATTTAAAATTCAGAAAAATCTAAATTTTGGGCAATTTCAATAAAATGGAAAGATTCTGAAAATAATAAATTTTTCGAAATCATGAAAAAAATTTTACAATTTTTGCGAAAAGAATTGTGAAAATTAGAAATTTTATTATTAAAAATATTCTCATGATAAAAACAAAACATTTCAAAAATCCGCCGAAAATGGCTTAAAAATCTAAAGTAAGAAAAGATTTTGCATTAAATTTTATTGATTAGTATTTGCCAAAAAAACCCGAAAATTCACTCTAAAATTACAAAAATTTCAATTTTCTTAAGCTGCGTCCACAAAATGGCTTTAAAAATCATTTTCATGTACAATGTCAAAATTTTAAAACAAGTGAAATTTTGTTCAAAAGTTACCATAATAAAGGTTTTATGCTTTCCGGTCATTTTTTTTAATTTTGGCACACTAACCGAAAAAAAAATTGCTCCGCATTTTTACCCTGAAATATGCGAAAATGTTTGCATTTTTTGAAAATGCCACTTAAATTTTTTATATTTTCAGGTCGTGCCGATTGACAACCATCCGAAATTACAGTATGACATCGGCGCACATCTCGAAACGTTTTCCAGAATCCATATCCACCGAATTTTCTAGTCCATATGAGGTTTCTGTTTTTTTTTCGATGTTTTTTACACAAATTTAGTCATATTTTATAGTAATTTCTCCCACACATTTTTAGGCATCGTTATTATATATTTTCTAATCCGCTGCCACGCATTTCGGATAGAGATCCTGGAATTTAAAGGCACAGCGGTGTTTTTGGATGGGTCCCACCTCGATAAAATTTTTGCCATGCGCTCCTTTGAAATTTTGTTTTCGATATTCCTAAAAATCACAAAAAACATTGTTTTTTCTAAATTCGAGAAGTTTTAGCCTTTCTTTCGACTAAAAGTCGATTTTTTTACGTTGGTTTAAATTTTTCTCGATTTGAAAAAAATTTCAATTTTCAGTGAATCAAAGAAAAAACATCAGGGAGCAAAACTTCTATTCGAAAGAACAATATTTTAAAATTGTATTTTCCGATATAATTTTCACTGTTGGGTCTCACCACGAAAATCGACATGCACCTTTATATTTCCTTGCCAACACCTCTCCGAACGGCCGATACCAAATACCTACGGGTTCTTCAATTTTCCTCTGCATCATCGATGCCGTTTTTAAAAATTTTTATCGAATATATTTTCACGTTTAAAATTATTAATTTGTAACGCCAATTTCAAGAAAAAAGGCTCAAAACTCCGCCATTGGGATAATTTTTGCAGCGACGGAAAATGCAATAAATTTTATATTAGTTTTCACCGATTTTTAACAGACTATTTTTAGAACTTTTAGTCATTTTGTATGTGTGTGTTGCTAGCGTTTATCGGCAAGAAATTATTGTTTTTTCTTAATTTTTAATAAGGGACATTTTTTAAAGAGATTTTCAGAAAATCGGTAAAGATTTAAGATGCTCTGAATATGTCCAACTTCACAAGCTTCGTAGATTACGCGGATAAGGTGTTGAATGAGTTGAATGTGCAAGTGCGCCCTATGGATAAATGGAGCAGCGTGGCAATTCGAAAATTCAAGAAATTTAAATAAAAACGTATTACTCGAAAGTTCACAGAGTTTTTCACCAAAAAATTGAAAATTCGCTGAAAAAGTCGCGGGACATTTTGATTTTTCGGGAAGATTAGAATTGACTGAAAAAACCGCGTCTTTATTCGAGAAATTTTAGAAAGGCGGAAAATTCCAGATTTCTTTATTTAAAAAAAAACATGAATAAAAAATTCTGAGAAATCATGAAAATTGATTGAAAAGTTTCAATTTTAGGCTAAAATTTTTTTGCGAAAAATTCATTTAGTTTATGTTGGTAAAGTTCCGATTTTTCTGCAAGACGAATTTGAATTTCTTTCTGAACAAGTGCGTTTTTTTTCAAAAGTTTTTAAAATCGGAAATTTTTCGCCTCGAAACTGAACCGAAAAATTCGAAAAATGAAGCGCGGGCAATTCGTCTTGAATTTTGGCATTGAAAATATATGAAAAATTCAAAAATTGGAAAAGCTCAAAGTTTTTCACAAAATAGTCGATGTATTTTCTCATTTTTCAATGTAAAAACCGATAGTTACCGCCGCACGCTGGGTCGCAGCAACAATGCAGCCAGACAACAATACCGCCGTCACCGTTGAACGTAATAAAAAACGGCCAATTCCACTGTTAAATCCAAGTGAGTTTAATCGATTTTTCTGTAGAAAAATCTGAATGTAAATTTTGAGCTGAATTTTCAGACGAAATCAGCAGCTCTTCGTGCTATGACGTCTTTCCATGCAATCCGGAGAATCTCAGCAGGGACATGTTATGTACAAGAGTTCGTCGATTCTATCCTGCCGTTGCTGAAAGAGGAAACTCAAAATGAAAAAAGAACTATAGTACTATACATTCGAAAAAAAATTTTCAGTTTACAGGCGCATCTTTAAATATGCATTATTATTCATTAGTGTCGACCCAGAAAGCGCATGCAAATTTTGAACTAAACTGGAATAAAAATTTTATTACACATTCGTGTAAGAATATTCAGTTTAAAGGCGCGTGCTAGTTTTAAGCGTACTTCAAAAATCAAAAAAATATATATATCTATTCGTGAAAACATGTTCTTTTTAGAAGCTCTTTAAAAGTTTAAAAATGATTATTATACGGTTTCTAAAAATTTCCAAAAATCAGGTCAAATGCACTTAGAAGATTGGAAAATATGAAATCTTTATACATGCCTGAAAAAATACGGCATGGTCCAAAAGTCGACAAATCGGTCCAATATTTTCTATTTTTTCAGAGAAATCTTGCGCCAAGGTCGAAATTTTTCGACGATTTCTACGACGTTCCGTGCGATCGCCAGAATTGAGGAGGGAGACCATTGTGAAAGTTGAAAGCAAATATTTCTTCAAAAAATTATTATATTAAATTTACACATACACATTCGTGAAAAGATTTAGTGCTGCCGGCAGGTGAAAATAATGAGATGAAAAATATATACAGAAAAAGGAAAATTTGAAAAATATTTTTTGGCGATAATTAGAATATTACCCGCAAACAAAATTCAAATGACATTTCTTCAGTTTTTGAAAATCTAAACACAATTTCAAAATGTCATTATTGGTGATTCGTGAAAAAACTCAGTTTAAAGGCTCATTTCATATTCAATATAAATGAGAATTATTAAACATCTTAAAGACATAAAGTTTACAATATAAATGAAATCTAAGAAGAAAAATTATACATTAAAGTTGGGAACAAAATTTTGTATTTGAGTAGGACGCTTGACATCAATTTAGTGATATAAAATTTTGAAACCAAGAATTTTCGAAAAAAAATCACGTATACCTAAAAATTTGTAGTTGTTTTTTTAAAGTTAGTACAGAAACTATTTTCTCTAAAATTCAAAAATATTCCAGGTAACATTGGAACACAGGACAATTTTCAACCCTCGAGACAAGCCTATCAATCCAATGGAAACACTATCAATAATTCCGAATATTAAAAGATGTCAGAGTTGTTACAATTGACTTGAGAAGATCTCAAAATGAATATATTGGCCAATCAAATACTCTACCTCTCGAAAAGGGGACCAATCGAAAAGATACTCAAGTTGGACCTGCTATGGAGGACCGCGATGTGAAGGCGAAAAACCGTAGGCATTGGATAGCTAATTAGTATTGGGGGTTGGGAGGGGAGGGAGGAAAGTTCGAGAAAATCGGAATATCTTATGCACTAAATATTACTTAGGCCGTTTGATTAATAAATCGACACATCAAGTAAATAAATTCTGAAACAAATTAAAAAAACGTTTCGATTGATATATGTGTATCATTTTCAAAAGATGACATAAATTGGCAAACAAGAAATTTTTTATTCAATAAAAATATACTACGGGAGCCTAAACTTTTGGAGAGTGCGTATTGCACAACATATTGGACCAGATATCTCGAAGCGAAAACTACAGTAATTCCATTTAAATGACTGGTGTCGATTTACGGGCTCTTTTTTCATTTCTCCGGATTATTTTCTCTTTTTTGCTAAATTTTAATATTCTATCTATAACTAAAAAATTAATTCATTTCGAAAATCTAGCCCGAAAATGGACACAAGCGCTACAGTAGTCATTTAAAGGATTACTGTAATTTCGCTACGCGATACTTTGTGCGTCAATATATATTGTGCATCCAGTTACGCATTTTCAGAATTTTGTATTCTCATAAAATTTTCGAAAAAGTAAATCTTTTAAAAAACTTTTTATTAAATGAATAAAAATTTTTCCCCTTGGAGAATCGGATAAAAATAATTTATTTAAGTTTTGAAATTTTAATATTTTGAAAAAGAAACATTTGACGTATTGAAGAAAAAGATGAACCTTCTTTTGTAAATATGGTTTTTACAAAATTCCAATCGTCCAATATACAGACTCATCATTTTCCAGCAGCATTTAATAGCTACGAAGCATGGCGCGTTCGGAACTCGAAAGGTGCCAGCAGAAGACGGATTCGACGTCTGTCTGGACAATTGCGTAGCACTTAACAAAGAAGGCTTCAACTATGCGGCTCAGCGGGGTGCGATTTTTGGAAAGTCAAAAAACTGGATTTCCGATTAAAAATATGTATAGTGTATGTATTTTTCAAATTTCCAGCTACCCTGTGTTACGTAGTAGTGAGCAACTTCTTGGATCGTGTGGACATTGAACGACAACTACAACACCACAAACAGGGACGATTTCCGATTTGGGTGTGGTCTCGGGCGAACGGACACTCGACGTTATTCGTTTCGGCGCATCACGAGAACTATATCGGATGCCGGGGATTTCGGCGAAGTTAGTACATTATATTTTAAGTATGATTTAAAATGTTATTTTCTTACCCAGCAGCGTTTGCAAGAAAGTATCACCCGTTGCCATCTGAATAAAGAGAAGCCGCATGTTCTAAACTTGGACGTCGATTTTGTGTCGAATGTTGGAAAAGCTTTTGATAATCTCCCATAGCTTAGTGCAATTGGTGAGGGAGAGCATTTCATATTTCAAAAAAAAGTTATTCGCCGTATTTTCAGCTCTTTTATTTTCCATAATTTTACATATACTATGCAATTTCCCAGACTCCTACGAGCAATACGTTACACACAGGTGCAAAACGGTTGGAATACGAAACTCCTATCGGGAGAACCGGATCGGGCTACATCTCGTCAACCTCTGCAGGATCACAACCTATCAGACGATTCAATGGATAGTTGATAGAGATCGATCGGTTAACAGGGTGTACTATCAATTTAGTATTCAGAGAGAGGGAGAGAGCGATTTTCATAAATATTTACATACGAGTTAGTCATTTACCACAATCGACTGATCAGAATCTGATACGTGGCCGTTTTGAGACCCTCCGCCAGTACTTTAGGAACTTGCACCGAACTTGCTGCTTGATCCTCCCCCTCCAGAGGATCTTCTCCAGATGGGATACAACTTTTGATGAAGCTGATCATCGGATCCTCCTGTCATCCGAACTAGATTCAACTGTCTGAGAAGAATACAACCAGTGTCTGCAATCACCGGGTTCCCTTTTGCTCGTCGAGTACTCAAATTGTGTCGGCATATGAATTTGTCCAACGTGGGAAGCCTGAATGATAAAGGGGGACTAGCGTCGAATAGTTATTTTTTATGTTTTTCATATACTCGTTTGCATTAAAGTAACGGCTCTCCTACCTTGAAATCCGAGTTCGGACTGATCTTTTCTCCGTTTCACCGAGATGATTCTTCTGGTGACTCGTTATTTCTCCTTACGCTGATCGTGAACCCATTTAATCAATTCCTGATCAACGTCGTAATACTTTAAAGGTCTTCCACCTCGACCTGTCGAAAGTCGCTTTGTTGCAGTTGAGCCTTTATCTTTCTGAAATTATTTGCCAAAAGGCACAAGTCGAAAATTTTTGGTAACAAAATGAAAATTTGAAATCGAACAGAGAATGTATCTGGGTTATGCCCAGTATTTCAAAATATAGGAATAGTAGAAATGACTTCTTTTGATAGGATAAATTATAAGCCTAGAAAAAATCATAGTATTTGAATTAAAAGGTCCACAAAAGGTTCTATTGATTCGGCAGGGCTTGCATGTAGTAGCGAAACCTGCCTTTAAGGCGACCGCCGCTTGCCTCTCGGTTACGCCTTACGTTGTGCTAAAACATAATTCAATCTTTTTTTTTTTAATTTCTATTCTGATTTTCAACAAATTGAGAGAAATGAGAAAATTAGAAATTTGTAAATTCACATAGGCGGGTTTCAAGCAGGACCCTGTCACCGCGCATGCCTAACATGACAGTCATAGCCCTGGACTCTTTCCTTTTTGAACACGAAAATATGTCCGAAGTGGCAAAACTTACAACTGCTTATGCCTCGATTTCAGCTTTGTGGGCAATGATCCATTGTTGAATGTTTTGACCTATTCACATTCAAATCCTTTGCTGCTTCGATAAATTCTTATGTTCGTTCAAGGGCATAATTTATGGCCTGCTCAAAATTCAAGTCATACGTTCTTTTTCGAGTTTTTACATGCACTGCTGTAGGGATTTCGCTAATTGGTTTTCTCTGAAAAATAAGTATAACAAGCAAAGTCTTAACTAGTCAGCAAGTTATTGGAAATAACGAGAGAGAAGCTAACGAAGGGAAGACCAATGGAGACAGCAAATTGGCTGTTACACACACAGAGAGACATGGCTAATAGAGTGTGCCTATTAGAGGGTCGAGGAATTGCAGTGAGACGAATTTACTGGGCATGAATGTAAAGGGGGTGCAAGGCTAATAGGAGGAGAAAAGTACAACTACAAAAGCATTATTATATAAAAAGCTAGGAATACCTGTATGGGCACCCCAAGATTTGTATGTAAGTAGTTATGTAAATGACTTTTTGGAATTGAAAGGAAAATACCAAAAATGGAAAAAACCTCCGGTCAATCATAAAAAAATTTTGAAAGAAGTTCGATCTAGGCTACGGTTTACAGTTTCCCTGATTTCTACTAAAATGCATTAATCTTGAGTTTATCTCTAACAAAGTGATGGTACTTTTGAATGGTTATAACACAGGTTGCAGAAGACGAAGGATCAGCTATGTCGATTATTGTGGCCCTCAGAGCCTCACGCAAATGTGGTGTGCTCCAAATTTTACAGAACAACTACGAGTGCAAAGAGTTTATTAGAAATGTTTTTTCTGTACTAAAAATGGGGTTTAAAAAACGAATTTTGGTTGATTTAGTTCTCTCCTTGTATAAATTTCGAAAATTTTCCGAAATTTTTTTTTCAATATAAACAATGTCTTCAACAACTCATCGAAAAAATGTGGATTTCGCGCCCTTGGCCACCCATTTGGTGAACGGCTACTCAGAAGAACCGACGATATCCATCGAGACGTGGGAAACCACAGAATAGAATGAGAACTGACGTCATGCCGATGTGGTTGATCTTATTGGATTGTGTTTCACAGATAAATATATACATTTGAGTAGGTTTGGTGAAAAAAATGTTTTTCCTCGCAAAAAAATGTTTTCAAAATTTGAATTTCCCACCCAAAATTTTTCTCAAAAATTTTTTTAAAAATTAATTTTAAAATTATCTGTTTTCTCAAAAAATTTGAATCTCCCGGATTTAAAACTTCCAAAAATTCGTCTATCAATAAATGTTATATTAGATAGTTTTCGACGAATCATAAAAATTAGTTTCTAACGCACTTTTCAAATAATTTTTTTAAAAAATAATTTTAAAAACAATTAATTTTCTTCATTCAATTTCCAGATTCACATTCTCTCCACAAAACCGTTCTCATTGCACTATGGGATCTATAATTAACTGGAATGGTCCCATCAATGGCTTGTAATAATCTGGAACAGCAATTACTCGCAAAAGTCGGCGGTGGACCATTCCCATTGGATCGATATTTTGAGAAAAGATACCTACTCGAAATGGAAATATTTGGCACGACGCAGTGCTTTTTATGGAATCAATTACGAAAAGTTGGTGCTTTTCAAGAAAAAAATCCATTTATATCGATTGTTTTTTTCTTATTGATTTCAGCTACTTTTTCACCTCCGTCAGCAATATTTTGTTGCAACATTTTGGACGTGGCCGCGAAAAAAAAATTGGTGGCCGAGTTGTCTTTTTTTTCACTGCCATTAATTGAGAGGAAAATCTCAGGAATTGAAAATTTTTTCGAAAGTATACAATGTTGACCGAGAAAATATAGGGGGCCGTGGAATTTCTCTTTCTTCTCTGCCACGTTATTTTAGTAAACAATTAGAATAAAAAACACAGAATGTTGTTCAAATTGAAAAAGTCTCTAAAACAAGAAAAAATTGATGGCCGAGTTTTATTTCCATTTTGCGCGGCCACGTGACAAGCAGTGATTTCTCAAACGTTTTCAGGAAAAAAAAACAGGCGGAATTCAGATAATCCTACGAAAACTATTTGTTTCTGGATACAAAAGTCAAAACTTCAAAATCGGTGGTCGAGTGTTCTCTTTTTTTGCGGCCTTATCACGATCCAGAACCAGTGTGTGCTCACTCGAAATTCCTTCAATGTGAATTTATTCGGCCAACGTCGAGACGTTTTTGCGATATTCAACTGTGGTCCGCGTCATCGATGGATTCCTCCGGCAAACGGGAAAAATTCGGGAAAACTCGGCGAAGTAGAACTCTCGCTGGACGAGAAAATGATCGAAATGCCCTTGGAAAAAATGGAACTGTTCCGAGTGGAAAATGTATCATTTGGACCTACCGGAAGAGGTGACCAAACTTTTGGATTTATAGGCTTTCGAAACATATCTTACTCTCAATTCTTAAATCTTTAGTATTCATCTTCATATCCTTAGTCGATTCCGGAGATTTCCCCAATAATTTAAATGATTTTGATATGATCCGGCCGGATGATTTCGGCGCAATGTCCATGAATTCCTCCATCAACTAACTCACCATCGTTCGTTAATACGGTAGGGATACTTATTAGCTCGGAAAATAAATAACGACACATTTTGTCTCGAATTTATTATAGGTGACTTAGTAATAGACATTTAGTGTCTAGGCACGCATAAAAATTAGATCTTTTTCATCGTTCCGATACTTTCACACAAAAGTACGTTTTTTTTCGCAACGTTGTCAATTGAACAATCAATAGGTCGGCAAATAATTGTTGGAGTGTTTTGTCACACGATATTTATCAAATTTATATGTGACTCCTGGTAGAAATTTGTTATGGTCGGCAATAAGTACTGAGTCATAAATTCATATAACTTGTTGTTTGCTTATCGATTGTTTTTAATTGCCGGAGTTCATGTTATTCACTATGGGCTTTCATCTTAGTCAACATTTGGTTAAAAACTCGAATCCAAGTAGAAACAACTTTTTCAAGGTTTACGCCGTGCTTCTTTTTTCTCTTATTTTCTGCACTACATTGATATTTATGTAGGGATCCAGGCCGAGTGTCGGTATTTCGATTTTTGTATAAAATCGAAATTTTTTTTTTGATTTTTCGATTTTCCCTGAAAACACACAATTGAAAAATGTCACCCTTGGTACGGATATTGCTATCTATTATACAGTGTGAGAATCCAATAAAATTATATTTTATTTTTGCAGCCAGTTCGTTACAACACGACAACAGATTGAAATCAATATTCGATCATTCGACACTTGAGAAACGAAATCGTCGAGCAGCTGCCAGAATTGGCCCCCGCCAGTTATTCAAACCAAATGGCAAATTGTCGGATATTCGAAATATGCTGATGATTCACACCAAGACCACATTCCCGAACTGTTGAGACGCCTATTTTAAAGACTGTACGGGATTTTTGGAAAATTTAAAATTTGGAAAATGAAATATTCAAACAAAACAATTTTTTCGCTTCATCAAATTTCATAAAAATTTATGTTAATAAATAGTTTTTTATTGAATTTTAAAATTCTTACTCAAAACTTTCAAAATAATTAAAAAAAAAAACCAAACTTGTATATTTTTTTTTATTAAAAAAGTTAAAAAAAATTTTTTTTGATAATGGGTTGACACTGCGCCTTCAAAATTTGATGAAAATCTTAATACTAGATTTTTTTAATTTTTCATTTAAGACTTTTCGAAAAATTCGAAAGTTCAAAAAAAAAAATTCAAAAAAAATTTCACTCTAATCAATCCCCCGTCTGCAAAATTTTCGATAAAACGATGAAAATTTTGTGGAATAAAAATGTTTAATTTATCATTCTGAGGCACCACGATTTAGTCAAGATCTGGCTCCTGGGATTAAGGACCCGATCTTGAGTACATGATTCTTCATTTCCAGCGCAAAATCCTTAAATCCGGGATTCCACCGAATCCGGCTTGACACCCGAGGTGCCTCATCATTCTACCTTTAAAAACTCCAAATTATAAAAAATTCTGCAAAACTCTAAAGAAATTTGATTTTCGATTTTCAAAAATTTAATTTTTTGTATTAAACATTCAAGTATAAAATATTGATGAAATTCTAGAATCATATTTTTAAGTTTTACAACATTTTTTAAAAATCTACAATCGTTCACTTTCTTGCCTTCGAAATTTGAATGTGAAGAAAAAATTTCAAATTAGAAATAAATTAAAAATGTGCTCATAGAATTCTTTAAAAATATGCGTTTCCCTAATAATTTCCATGTTTCAGTCCCCATCGCCCTCCTACACCCCATTTAACCCGACGCCCGTTCACCGGAACCGCGTCCGTGCCGACAATCGCCCAATTCGCCCGGCGGCCGCAGGGGCTCCTAAGAAAACTGACCCCCATCAGGCCCCGAGATAAGAGCTTATGGAGATGTGGCTATAGAGAGCCCTACTACTCGGGTCCCAGATTTTGAAGAAAAAGTTATACTAAGGTATTCGAGTTTAATTTCCGCTCTGGGAACACTATTATCTATAAACGTATGACCCCTTTAAATTGAGCTCCAGTAGTCAAAAACGTCGAAAATTTTCAATTTTTTTGAATTTTTACTTGAATTTTTTCATCCAGTTCTAAAAAAAAGCTTTCAGCTCTACCCCTTCTTTCATTTGTCACCTACTGCCTCGCTTCATTGCCCTGGGGTTAATTAATTTTTTGATGCTTTTCTAGTCCCGCCACGGTTTTTTTCATTTCGGAAAGTCTCGGATCGATTATCAATTTTTTCGAAAATTTGGTAAATTTAGAGAAACTCTAAATATTATCGATTTTAAGATACAAATGATTCTAAGATTTTTTTTTTCAAATAAAATTTTGGAAATGTTTTTTTGTAAAAAAAAGTGCAAAAAACACTTAATGGAGAATTTTTAAAAAATTGGAAAAAATCTTGAAAGTTTGTCGATTTTTCAGAGTGCCTTTTGGAGTTACGTGTCGGTTTTCTTTCCGAATTTTCATCAAATTTACTTTCTACCAAAAAATCTCTAAAACGCCGTGGCGGGAACCTACTTCATTTTTATTCTGCATAATTAGACAAATATTATTTTCTCATTTCAAAACTTGTTACATATTTTGTGTTGTGAAACATATGTCTAAATTTTTACGGACTGAAAAAATATTCTTAATGTTTTTGAAATTTTCATTATTGGCGTCATCCATGTCTATTTGATTGTTTCCACACCCCCCCCCCCCCCTCAACGTAAAATGAAAAGAACAAGACGATTGACAGCTAGCATGTGCGACGATCAAAGTACCGATTTGATTCAGTTGAGAGGGAGGGACACGAGAACGCGAAAAAGTAGTCGGAAGCCCATCTAAAAGTGCTGGAATACATTGGCAATCGCTATGAAATTCGAATGACCGACGGGAGAGTCTGTCCATACGTGGCACGATGATCGCCACTGTCAAGGCTAATATGGTTTTGAACAAGGTAAAAATTTGATGAAAATTTGGTTTGCCAAAAGCTTCATAGTTTCAAATATTTTTCCTTAGGAAAAATTATGCGCCGCAGGCACGATACACTAAACTTTCCGCTTTTTTCTATTGCTGGCTTAGTTTTCGCAATTTTCTGGCTACCAGTTCTGCAAAAATGATCGATCCGTGAATTGTGCAAACATCTGAGTTACACAGAGAGTGGGGGCGGGGCGGAACATCGCAACACTGCCGGACCCATGGTTTTGTCCACAACTTTTTTTTTCAAGACAAAGTCTCGGACGATTGTACTTGCTTTTTCTCTTTTTTGTATAACAATGGTATTTATACTAAATAATTCACATATGGTAAATTGCATATAGCAAAAATGGCACAAATATCCTCTCAAATTAAGGGGAGCCTTAATCTTAATTAAATTGGATATCATTTTCATTCGAAAAGAAGAGAGAAAGAAGTAAAATCGAAACTTTTGCTTTTGAAAAAAATGCTTGATTTTATGTCATTTCCGTTGTTTTTTTTTCAGTATTTAACTTTTGAAAGATTTATTTATAAGGTTTGCGGTTAAAAACGCTGAATTTCGCGTTTTTCTTTTCTGGATTCAAATTACAAGTTTGTTAGTAACAAATTCGAATGTCAAACACGGAAAAATAAGCGAAAATAACAAAAAATCCTGTATTGTAACCACAAAGTTCTCCACGAGTGGTACGACTACCGTGGAGCCGACGCGCCGCAGGTTTGCAAAACAACGCCCACCCCGTATTCTGCGCGGCACTACACAATTTTCTATCTCACGAATAAATTTTTCAGAAAAGGCAGGCTTTGGTCTGTCGAAAATATCATGAAAAATCAAGTCTTTGTCAGGTTTCCAACGCTGGAAAAGGTAGGAATTAGGGTTTGTTACCAAAAATCGTATAATATTAAAATCCCAGTGCTTCTCTGTCTTTCAGCAATATCTTTTAATTTCCAGGCAGACGAGCGATGGGACAAAGATCTTGAAAGGCGTCTGATTTCTAGGGCAAGCGATATCTCGAAAAAGCACCGCGTGGATTCGATGCACGCGTTGCCGGACCCTAAAAACTGAAATTATCCAGTTTTCTTATTTTCTCTAATTAATCCGATCCTTTTCTTGACAAGATTAATATAAAGTAATTTTTATCGAAGCGATTTTTGCTCATCTCATCCAAATATGAAAGAACATTCGAAGAAAAATCGCCGGCTTCACTTGGAACCGCGGCCATCAGTTGAGAATGCTGAATATGTACAAAGACTGGAAAATATTAAATTTTTCTGTTTCAAATTTCACGTTTTTCGCGTTTTCCACAAAAAAGCAAAGCATTGTAGTATTTCAAAAAACACTCATGGTAAACGAAGGCACCGTGGAATACACGATAGCAATGTGAGACCGCATCGACCAAACTGGGAAACGCCTGCGCCTTTAATTATGTTTAATTTTCGAATTTCGAGTTTATTTTTTTCTCAAGACTTTTGCGACTTTTTTAATATTTTATTACTTGTAGCGCTGAAATATCACAGTTATTATAGCGTCCCACATTGGGGACATCAATCAAAACAGGTATTTTTCAAAATATCGCCGAAATCAATAACCAGTTTTGAGATGTTGCCACCCGAGCCCCAGGCACGGATAATACTGAGAGAAGTTCCGGTCCAGAATACCCAGAAAGAGCAACCACCGGGTTCAGGAGATCAAAACCGTGTCCCGCAAGTCGAAGGACCATCGGACGTCAGTTCGAGCCGGAAAATTCCGGATCACTTCGACGTGGGCCGCATCACGGTTCCACATGAATGCCCCCGCAGATGGCTCAGAAGTCAATAGTTCGAGGACGACGAAAAAGACGAGTCGAGAACGAGTGTTGGGCGGTGATCGAAAGAATAGGAAGCGAGGATGACAAGTTCGAGGCCTCTGAGCTTGTTCCACGAGTGTCGAGTACCGCGATCACGATTGGTATATCGCGTTGGATAAATAAGGAGAAAGCCGGGGCGAATTATCAAGATTACGAAAAAAATTTTGATTTTCAATCTCATTTTTTAAATTTCAGCACCTACTCTACGGCTATCGAGGCGGAATCCAACGCATAATTCTCTCGCATCAACAGACGGATTCGATGGACAAAGTATAACGATTCGCCGCTAGTGAAGTACTGAAAATCATCGGAGACGGTCTGTACGTAGTGGTTCCGACTCGTTCCTCATACTGGTCTAATCAGTCCCAAATATCGTTACAACAAAGGCGTCGAGCTTCGGATTTTCGTTATAGTGAATTGGATTGATTCCGAATTGTGTTGGACGATCATCAGACGCCCAACGATCGTTTGGACAGATGTCGGACCTATCTGTCTGAGTGCCGCGAGCCAATATTCGACGGAAGCTGCTGCTGACCAAGATGCAAATTTTCGCGTCGTACTCCGAATGTGCCATATTACTGTCAACGGAATTTAAGCACCTTGGTTAAAAAAAACGCGTATAAAGAATAATAGTTCCAAATTTTCAGCTCGATTCCCGATGGTTCCCCGATTCCATGGACCATTATCATCGTTCCAGCCACTCATCGAACAATCAGAGAAGGATCCGATTACTGGGCTCAAATTATGGCCAGCGTTAGAGTGCTCTCGATGATTTAGTCGTTACAAAGAAGGTGCTTAATCATTTTAATATTAAATTTTACAGCATGTATAATTATTCATCTATCAGAAACGGCTCCCGCCTGTCTCAAAGATTGGAGGGTCACGTTAATGTGATTCGCCGGTGCAAATCAAATTCGGAATCATTGAGTCGGCGGGTGAAAAATACGCGACGCAGGGAAGCATGATGGCGGTCGTGGTTCAGTGCTATCAGAACAGCACGTTTGCATCTTTCGAAGCACTTATCGCCGGACCCCCGCGAGTCGTTGATTATTACCGAAGGACGCTTTCTGGAATTATTGCCCGAAGACGTGGCGTCTCGGAAAATGCGTGATCAGTATCAGAAAGAGCACGTTGTAAGCACGATTTTCCAGAGAAAAAGGCTTTCGATAAATTTTCTTATTTTCAGATCCGAAGTCGGAAGTTTACCAATCTGCATGAACACAGCCGGATTATTGTCTTGCCTCAAATCACTACGAGGATTCAGCGAGTGCCTTTGATCACAGGTTTATATATTTCTGTATTTCTTCTTCACTGCCTTATTTTAAAAGAATTTTCCCGTTTTTTTTCTTTTGTTCATTTTCCCCTTTTCTTGGTACGCTGTCGTTATGTCCCCGGTACATGCTAAATTAACGTATATTTTTAATTAGCAATTAAAAAACTTCCTGATTAACTGCCCGTTTTTGGAGGAGAACCAGAAGAACGCAGACGAGTTTCTGAAACTGAAAGGGTTTGAAATTTTTACCAATCAAACAAACTCGCAGTTCAAAAACCATGCCGTCGTTGCTCAAGTTTGAAAAAACCACTAAACATATTTGCAACGTAGATTGATAGAATATCATTGGATCTTATGGATCCGCAATGGCCAGATCATATTGACATTTACCGTTTAATGGGTCGGTACCGCTGAAAAGTTGCTGGTCTCGCAGCGAACTACAGTAATCGGGAAAAAGCGCTGTTTATTATCGAGTTTTCACTTACTCAAAAAAGTCAATAAACTCGCCGCGAGATCCAAACCTCAACTTACGATAGCTATTTGTAGGAGTCGATTTTCCATCGACAAGGAAGCCAGCGACTAGGAAAATTTTGATAGGGAGAAGCATTGAAATTTAATTGTTTTGGGGCGTTGCGTCTGGGCCGTTTTTATAGGAATTTTTGAGCTGTAAGAAAACAACGCAACATTTATTGCCATCAATTAATACTCCGGAAAAATATGAGTCATTATGGGGGGTTTTCAACCGTACGGATTTTGACAAATTTGAAACTACCATATAATGGTTAGTTTTGTAGTTAGAGAACTCAAAATTGATTTTCTAAGACAAAAACATTGCTTCAGAAAATAGTAGGTTTGTATAATTTCCAAAAAATTATTTCTTGCCCAAAAAAAAAAGAGCTTCATTAGATGGCTGAACCAAAAAATTGGGCAAAAATAAAAAGTGTCTAATTTTGGGGTTTGAAAACGGGTAATTAATATATGCAGAATTCAGAAAATCTAGGTTTAACCCATCAAAAACCATTAAAAAGGGGGACAAAATTTGGCAATTTTTTCAACAACTCACAATTTTGAAACCTCCTCTAAATTGGTTCAATTTGTAGCTACAGAACTTAAAATTGGTCTCCAAGCCATCAACAATTGTCCTTTTTCAAAATATAATAGTTTTAAACGTTTCTTTGAAAATTTATTTTTCTTGCCCACAAAAAAGGACAGTCATTAGATTGTGGCAAAAAATTGGGCAAAAATAAAAACTTGTCTAATTTTGTTGAAAACGGGTAACTCATATATGCAGAATTCAGAAAATCTATTTAACACAGCAAAAACCATTAAAAATCTAAAATGATTAATTTTCTAGTTAAAGCATGCAAAATGGATCTGCGGGAATACCAAAAAGTTGTCAAGTATCGCAAAAAAAGTGGTTCAATTAAAAAAAAATTAGTCTGGGGTTAAAAATCGATTTTTTCGCCGCACTTCGCAACTTGGACGAATTATTCTTTCGCTGCACAAAGTGAGAATCAATAATTATTGATTTTATTTCTAAAACAGAAAAATAGATATTCACTTATCTGAAAAATCGATATTAAACGGAAATTCGCAAAAATCGATGGTCATTAGTTTTTTTGCAAACCAGTAAAATCGCTTTTATCCTTCGCCGCATTTCCTAACTTTTTCTATGCCACTTGACCTTTTTTCTTCCAGAAATCTTGGAGCTTCCCAAACCCACTCATCAGCCAGCGTGCTTCATCAATCATTCCGTTGAGAACTATGAATTTATCGAGTGAAAATTAAAAAGAGGGGGATTTATTACACTGAAAAAGTGTTTTTGTGCCACGTGGCGGCCTGCAGGCCGAACCTAATTCCTAGCGGGAATTTCTAGGCCATGTACTTGGGGGAGATGGGGAGATGATCGAGGGGTCAACTTCAGGGAAAATGTTTGTAACAAAATAGAAAAAAAACTATAAAAGGTAAGAGGAGATCAAAGGTCACGCAACTAGGGCTTGAAAAATGAATGCCTGCCTACAAATAGACATGTAGGAATGTAGGCAGGCAGACAAAAAGTGGGTGAACAACGAGAAAAGGCACGTAAAATGGGGTAAAGGTTAGAGAAAAAGAAAAAAAAAGCTCACAGAGCACATTAAAAATGGAAAAAAACGAGATCATTGGATATTCTGCTGCAGTTGATCGTCATCATGAGTGGTCTGCTGATTGGGGTCGACTATCACATCATCTGGTTCACGAGAGCATCTTCTTCGAGCAGCTCATGGATGATCGTCTTGATGATTTGGCTGTTCAACCACTTGCGAATTCGAGGACATCATTTACAAATTAGAAAATACCATTTTTTAGACAAGAAATCGATAAATTTCTGTGTTTATTACTATTTTTCGGATAATTCCACACAATTAGATAGTTATTGAGTTGTCTTTCTATAATTTTCAAAAAAAAAAATTGAACGATAATTATTGATTTTTTTTTAAATCAAAAACTTCACAAACTCAAGAATTATATATTTTTCGTCCTCCTTCTCTTTCGGTTTTGTGTTTGTGTAATGAGTTTTTTTGAAAAACGCAAAATTTTCTGTGATATTTCTATTTTTTAACCTGAGGCATAGTTTTTGAAAAAATTTTGCAATATTTTCAGTGTTCTTTCTCAGAAAAACTCGAATAATTGCAAAAAATGTAAAATTTATCAAAAACTCATTTTCAGTCCTTTGCTCAGAGAAGACTGGAAAAAAAATTTCAATTTTTTTGAAAACCTGCCAAAAAACGAAGTTTCACTCGCGAAACATTTTTTTTATCTTTTTTCGAAAATTTAATACATTTTTTTGCAATTTTTTAATATCAATCCGTTCTCACATTTTTTGGTAAAAATATGAGGAAAATGCATACATTTTGGATTTTTTCAGAATATCTGTTTACCATTATTCTGCTTCTCCACAGTAAATACTTTAGGTGCTCCTTCTCGTGCACTTCTACTTCCAAATTAACATCGTCACCAACTGTCCCAATAACATCTTCCTCGACAATTTCCTCAACAATTGCTCCATCAGGAGCCATATGCAAATGCATTTCTCGATTATCCATTTCTTCTCCAGCCATTATTTCGTTAAACTCCAAACGTGTGATTCACTATTTGCAAGAGACGATGTTCGCTTTTTTCGAAGAGCATTTTGAAGAGCAAATCGAATGTCTCGTTGTCGGTTGCTGAGCCAAATGAGTTCTTTGCAATACGGAAGTGAGCCTCGGCTGTTTCGACTTGTTCAACGCGCCATTCCAGATGGTGATAGAGGCTGGAACTATTACTCAGAAATTTCAGATTTTGTTTCGTAACCAAATGTGGGAGCTGGGAAATTCGCGTTTTCGACGAAAAAATAGCCTTTCAAAAGATTATTTTCAGATATGTTTAAAAAAATTGAAAACGACGAAATTAGACCTAGTAAAAATTGGATTTTCAGGCATATACACGGGCGTTTGATTACGTGGCCGTGAAAAACGGAGAAACTCGGCCGCGTAGAAACAAAACCGAAAATTGCAGAAAATCCAGGAATTATTTTTAATGACTCCGAAATTTCTATCCCCGATTCCGAATTATATATATGAAAGAATATATACTTCTGAAAAATTCAAAAAACCTTTGCTCACGCCACTAATTTGCTGAAGAGCCCAAAATTTTTACGATCCTGCTATTTCGGCTTTCTATCCGGCAGCTGAATCTGTTGCTGGACGTGGATGATGATGGTTGCTGAATCTGCTTCCGTCTGTGAAACCTTAAGCTCTCACTCGTCGAGCATCTCCTCAAGATGTTTCACATTTTTCTTTGATCCTCCTTCTGAAGCTTCTGCTGAAGCTCCAGCCGTGTCAGTCGTCCAATCATCCACAAAATCACCCGCCGCCGCCGAAACAATCATCATTCTTCAACTGGATCATGATCACCTCTCAGCATCCCGAAAACAATGAGTCGCCACAATCTCACGACGTCGGACATAATAGAGCCTTCGTGTTCTCCTGAATCCTATACTTCTCCAACATCACTTTAGCCACCTCGGCAGGGCCTTTCTCGCGTGCAGCCGGAGCACATCCTCCCGAAAGTGGGGTGGAAGACGTTGAAGTGAGTATTCTTGAGCGGAGCTCATCGTCTGTGGTTAACCGGAGCCGGCATATCGCCGGGCTCTCAACTGTACGATTAAATGAGCTCATTGCCGATTTGATGGCCATTCTGCAATGTCTCACGTAACGTCACCTTCTTGCGAAGGACAACGTGGAAGGGCAGTACGTGAAGCTGGAATTCGATGAGATCCGAACTATGGGATGATGGTGTCTTCCAGATGTAGTTGACCTTCTCGATTCAGTGCGAGCGCTTGTTTCGCAGATTTTGGACGTTTTGTGATGCCGTCTGAAAAACAGAGAAAAAATTGAATTTGGAGCATCTTGAATTTGGGTCCTTTTTTACTTTCCTACGGAACGTCCCACTTTATTTTTCGTGGTTTTTTTTCTGAATTTTGGATTACAGGGAATATCTCTCCAAACCAAGTACAGGGAATACCAAACTGTGTGGGCCGTCGCAGGAAGACTTCTCTACACTTATAAATTGTTTTACCTGTAGGCACATAAAGGAAAAGAGCAGAGCCTGCATCTTTGTATCTTCGATAAATTCGAGTTAAAAGTTCTTTTGTCTCTATTCATTTGTCATATTTTCCAATGTTTTAAAAACATTTTTTCTAAACTTTACAGTAATTTCGAGCGGGCTATTTTCACTATCAACTTTTTGACGCGTTTTTAATTCTTCATTTCAACCTCAATTTGTGCAAACTTTTCAAATTTCCATATAATAGGGCCGATTTGAAATTTTCATAATTTACACCAATATATTCAATCTTTAACCTCATTTTTTTCACAGAAATTCCCAACATTTTCACATATTTTTCATGACAAATTTGTATTTCAATGTTTTCCAAACTTACGAGGAATGGTGCTTGCCAGATATTCTCTGACCACGGAACCATCACACGTCAAATTTCTTGCATCAACCTCGAGCCCATCAATAAAGAAAACGAATGCGGCTTTGCCAGTTGTGGCTGCCGGAAGAGCCGGTACTCGATTGTGGCATAGGGACTCACTGCAAAAAAAGCATCGTTTTTTATAGAAATGGATCGATGTTTGTGTATAACTTTATCGATTTGCTAGAATATTATCGATTAGTTTCCGAAAAAAAATTTTAAAACAACCGTAAAACTGTATTTCTATTTTTATTTTTTTAAAGATAGACTTCCAGATCATATTTGTTTTGAAAATTTATAAAAAATTATCGATTTCTCTATGGAAAAATATCGGCTATTCTCGAAACTTGTGGATTTCCCTAGAGAGTTATCGATTTCTTCAAGGAAAAAATTATCGAATGTTCTAGAAGTTGTGCAAATTTTTCATAAAATTATCGACTATCTTTTACTGAAATATATAGACTTTTCGCCCAAAAAGTACGTACATCAAAGAAGGCTTATTGACAAGAGAGTAATTGTCGATTCCTATCATTCCAGAACTCCATATCCAACAGCTGAAGATACAAACTACCATCATTGGCGGCTTGTGCTGGCACAGCAAACGGGCATTCTTTCTCGCATTCCGCCATATCCGACACATCATTATCATACGATATCATGTATCTGCGTTGGCTAGGGAAAAATGGATCCTCATTTACACGCGTTGAGCACACACTTTGTGAGCCTGCGAGAGCTCAATGAGAACCTATGGTTTTGTGGCTCGTTTCGCGATTCGCAAATATCCGCCATGCATTCGTGGTAGCTCGCCTTCCTGATTATAGTCGTACATGATGCGCGCATGGCTTCACCACGAGCCGTGATTCGGTTTCCATATGTGATTGATTTTTTTGCGTAGTCGTGGCGCACGTGGATTGTTATGGAATACAGGAATACCAAGTGGAATGTTGGCACGTTTTGAAGTTGGGCCCATGTTGTGGGCCTTTGGTCTGTGAGGGCTTTGGGATATTATTACGGGAGGCATAAAATTCTGAGAATGCGCATTGCACAGCATAGCCCATAGACCAGATCCGTAAATCAACACAAGCCCAACAGTAGTTATTTAATAAATTACTGTAGTTTTTGCTGCGAGATATTCTGCAACGCGTCAAATGTGTTGCGAAATACGAATGCTCAGACGTAATTTTTCCTAAAGCTCGTCTATTTTTGTTTCATTCAGGGTTACTAAAAAAAAACCTGTTTTTAAAGCTTCTACATGTTTAAAAAGTTTTGAGAATTTAATACACTTTTTTTAATAGAAATTTGGCAGATATTTTCATCACCTCATCGACGATTATTCTTTTTGAACAATTTTCGATTTTTATGGGAATATATTTATATTCCAAGAAGATTAACTTTTTTTCAAGAAATATGAAAATTTATCGATTTTTCAAAAGAGATTAATTTATCAAAAAAAGAATAACTTTTCCAGAAAATATTTGTTATTTTCTTAGAAATTAAAAAAAAATTGTTAAATCGCTACGAATTTTGTGTCAATTTTTCAAAAAAAAAAAAGAGGCATCGAGAATATCCCATTTTTTTCGAAAAAAATTTTTTGGTTATCGATTTTTCTTTTTTTAGATAAAACGTCTCGTATATACTTTTTTAAAGATGTTTTTTCACCAACAAATTTTGATATTAAAAAGTTGGAATTTTATTACTAAATTATGGAAAACGTTTTCGATTTTTAGAAAATCGGAATTGAAAGTGGGCGCAAAAAATTTAATTTTTTAAGAAATTATAAAATAGAGATTATGCTCATTTTGGTATGGAGAGCGTCGATTTCCATCGGGCAAGATTTTTTTGGTTGTTTTCCCTCCATGTAACACCTGAAACTCGAGTGATCCCATGCTCATCACAAATCACAAGCTCCGACTTTGCGAATTTTCGTCCCCGATAGCACGTCGGATTCTGTTCATTTACATTATTAGACCATGGCGAGAAGTCGTCACGATTGATGTCCGTGTGGAAAGAGGGCTGGCGACGAAGAATGCGTACGCACGAGAGTTACGAAGTGCAGTACATTGTAAGGTGCCGGCTTCGCGTAGTCAAGCTCAGCAGACCACGTTCTTCGCTGGAAATATGATGACTATTTCGAAACATTTTTCGAGGAAAATGGATAGAAAAAACGAAAAATTCAATTTATTTCAAAGTTCGCTTATTGTTGATGAAAACATTATTACGGGAACACAAAATACTGAGAATGCGTATTGTGCAAAGTTTCTCGCGAAAAGTGTACTACAGTTAGGTGTTTCTTCAAATGACTACTGTACCTATCCTTGCGATTTACGGGAATAATTTATCAATCGATAAAACAGTCATTTTTAGAATTACCGTAGTCCTCGCCACGAGATATTATGCGCGTCAAGTATGATGCACGCATTCTCCAAATTTTGTGTTCCGTAATAAAGTAAAATAATGTTGTTAGATAAATATTCAGGGTCTCAACAAAATTTAATCTATGTTATCAGTGTTCATGTTTTTAGAGTGGAAAAGTTTTTTTTCAGAAAACAGTCAGAAATGTAGATTGTGTTGCATATTTAAAAAAATCATTTAAAAAATATGAACATTTTTTTGAAAAATCAAATTTCTCCAGATTGTATTACGCCATTAAAGGTCTCGGCACCATTTTGTTTCAATTTTTTGAAAGTTTTTGAAGTAGAAATATTTTTTTTATGAAAATTTTCCGTCGTTAGAATTTCGTTGAAAATTCGCTAATAAACGGGGAGTAAAAAAAACGAAATTTTCCAATTTTTCGAAAAACAAAATCGAAAAATTCCTCCCAAACTTACACATGGTATTAGCAATCCACTCCAACATGGCCTCAAACGTGCTGGCGACCCTCATTATGTCTAACAGTCAAGCACACTAAATATGTCCCGTTTCCAATTGCCGGGGATTCTCAAAATAGGGCGCCGGGTTCTCCTGCGGCTAGCGGATCATCGTCAAACTCCAAATCGTAGCCAATGTTGAGCACATCCTCTTGAGACATATCCAACAAATCATCGTCTAGCAGATGTTCCCTGAGCGTCTTCAGCAATCGAAACATCTTGCATTAACTGATGTTGCTGCTGCTGGTGCTGATGGGGTTGAAGCTGGATCTGATCTAGGGAATCATTGTGATGTCCCGGATGACTTCTTCTTCCACGACTTCCAAATCTTCTACATCTAGTTAAATTGTTCTTCATAATTCGGTGCGGCAGATGATGTAGATGGATCTTGTGATGTATCAAACTTCTTCATGGATGATCGTTGATCCATTTCGATCATCTAACACCTCTTGATGTCCAGGTGTTCCAGGGTCTGGTTTAACAAACGGACACGGAACCGAACCATCTATCACAGCTATTCATATATATAACACACATTTCCGATCGTAATCGTTTGCGTTGAATATAAATGAGACGCTTCCGAAGACGGGGGCATCTCGGCAGGACGGACATTGTTTCGACGAGACACAACTGTGTATTTAGAGTGCCAGCCCCGCCAGCCGTGTCTTTTGCCATTCGGAACTGGCCGTTGTCGTCTTGGACGATGGCGAGCTGTGCGGACGCGGGTGACGGACCTTCCGAGGCAGCTGAAATTAATCAACCTACGGCACTCTGTACATCTCCGGCACCACGTTTTCAGATCTACCCTCAAAACAAGATCTACTATTTGGAGATCTACGAAACCACTACTTTTCAAGAAATGGTACCATTCGAATTGCATCGCAGTATTCTCTAAGAACAACAAATCCAGAATGATGACCGCCCATTGTGCTCCGATGTCGGGTGTTGTTTAGCGTTTAGAAAAATCTTTTTTGAAAGAAAAACTTCAGCCGAGAGAACGATAAACAACGCACGATGAGTAATATGGAAGAGTTTTTGTTTCGTTGTTAGGAACACTGAAAGAGCTAGATCCTGAAAACGTATATCTTGTTTTGGTAGATCTTATTTTCGTAGATCTTGTTGTAGAACCGGCCAGATCTCGAAAACGTGATGCCTAATCTTCTGCAGTTGGCGAATTTTCACATATTTCAAGCTAACATATTTTTTCTTAAGCTTGTCCATCGATTTCTTCGTTTTCACGATTTTTTTCAGAGAAAATATAGAAAATCGATAAATTTGACGTTAAATTTTCGATTGAAAAAATGGAAAAATTACAGGAAAGTATTGATGGAGATTTAAACTTTCTAAACAATCGAAAATTATCCTTTTTCTTCTTTTGGAAATTTTTTTTTGGATTTTTCCCAAAATGGGGGATTTGAAATCAAAAAGCGTTAAAAACAAATACTTTTCTTTTAAAATTACCGGAAATTATTTTAGAAAATTTCCTAAAAACGTCAATAAATTAAAAAATCGAACAAGAGAAAGAGTTATTAAATTAAACAAAAACAATTTCACAAAAGTCGATAGCTATTGATTTTTCATCATAATTCCCTAAAAGTCGAAATTTTTAAACCTTCTGATAAATTCTTTTTTTGTTAAAAATAGAACTTTCGATTGATGAGAGAGACGTTTAAAACTTTAATAACTTCCTGTAATTTGTCCTATTTTTAATCGAAAATTTACAATTTTAATTTATTCATTTAAAAAAATCAAAAAACGAAGAAATTGTCCGTTTTTCTGGAAAAATTAATTCTTCGGCTCGAAATTTCGATGATTTGTTTTTAGAAAAAAATATGTAAAAAATTATAGAATTTCAAATAAAACACTGTTTTTTTTCTTTTGATCTTGAAATAGTAGAGCCCGAATTTCTTCCATAATCCAATTGTTCACTCAAAATTTGAAATTTTCGCATGACAAAATAACTTACGATTAACAGTCAACACGGGACCGTCCCTGATCGCCAGTATGATTAATCTTACGCTTATTTCAACAAAATTCGCCGGCCACAAAGTGCACAAAAACGCCGGTTGTCGGAATACGTGGCGGTAGGTACGGTGGCCATTCGGCGATTCAGACAATTCGATTGGCTCAGCAGCTCGGGCTCATTCACCAAATATCGGAACGGGAGACGCCTCTTGTTGTGGGTGCCGACCCAACCTCGAGTATGCAAGTTTTACGCGAAGAAACAATGCACCATCCTTCCACTATCTCGTCTTCGAACTGGGAATGTTTTTTTGATGAGAGAAGTTAAAATAGTAATCTTTAAATATCAGTTTGAATTCGCCGCATTTCAGTTGTGCACCTTTCGTGTATATTTACGATATGTTTAATCTTTTTCAGATGCTGATTTCCGATCTTTAACGGGTTTCCTTGATTTTCGTCGGTTTTTTTTGGATATGTGTTTTTGAGGTCGATTAATGAACCATTTTATTATCAGAAAGCTAGCAAAATGTTAAATACTGGACAGAAAATCCATATGCCACATGCTTTTCTCGACTGAAAACCGGAAATGTTGCTAGTTTTTGATAATAAAATGTTAAATTAACACATTTTCAAAAAAAAAAACAATTCTACAAAAACCGGTGCGACGAAAATTCAAGAATCGTTGCATAAACGGAAATCAAGACCCGATAAAGATTAAGCATTTCGTAACACCGAATTTGGTAAAACGACCACATGGCATCTCTAGCCCGAAAATTCGAAATTCTTCCAGCTGAAATGTCCATTAAATCAGGGAATTTTTCTGAATATTTCACTTAGATTAGGGATCAGGAAAAAATTTGGAGTTATAATAAAAAAAGTTACTAAGCAAAACGTTTTAGCAATTTAGGTTCTAATAGGCTTTACAAATATCAAAAAGTCCAGATTTTTCAATATATATATTTTTAGAGCCACAGATTTTTTGCTGTTTTTCAGCATTCTCGGAAGAACATACCGGTGTGGATCCGGGATCATCCAGATCTAACGAGACGTGCGGATCAGTTGGATCGACCATCGCATGTCTTAAATAGTCGTTTCCGTGCGGATAGTTTTACGATTGGAATTTCACCGGGACACGTGTAGTCGTAGAGAATGAGCACGTTTCCTTAGATTTGGCCATCGCCAATGGGAGAGGTTCCCTAGAAAATCTGGAAAAAATTTTGTGAATGGATTTTTTCGTTCTGAAGCATTTTTCTTGAAATTTGAAGGAAGACGGGTTTTGCATAGACTCAAAATTAACCCTTTAGAAAATTGTTACGTTGGCTCAAAATATCGAGAATAAAACAATTTTTTTCTAAAATTTCGAAAAAATTGGCATAATGGCGGAAAATGTAATTTTATTTGATTATTGTACTCGCCTTTTTCAGTTCATTTTGGGTTAAGCATTTTTGGCCCATAGGCTTAAAATTAAACTTAAACATTTAAAAAACGAAATAAGATATCTGCACAAAGCCAGTTATGGCCACTATGAACTAAAAAAAACATTTAAAAAAAACAACTTTTTTTTGAATATTCACACTTTCTTAAACTGATAATAAACCTTTTTTCTCAATCTTAACAGTCTCGGCAGCCACGCGCTGTACTCGGTGAGATGAAGTCGGCGATACGTGGATCCTTGTCCGATTGGAGCCGTCCGTTGAGACGAGCAACCGGATGACGTCGGACATTCGGTTTGATGACTGGATCAGTGTTGCCTACGTCGCCGCCAGTAGAGCTCGATAGCTTCAGATCGTCATTCGAGACGTCTTTATCGACATGATTTTGGAGCCGTCCACATGCGAAACAGGCTTTGTGTGGAACAAGTGGTGGGAGACGGGGTTTGTCCAGAAGCCAACCTCCTCCGCGACTAAAAATGGGGACCGTTGATTTTAGTTTTTTTTTTCTGGATTTTTCGGACAATAGCATTTTGACCATTTTCTTTATTTTTAGAAGTTATTTTTCTATATTTTTTCTCTAAGAACTATTGTAAAAAATAGTTCAATTTTTTTGAGGTTCTGGCGACAAAAATTTATTTTATCGAAAAAAATTTTTTTTTTTTAAAACAAGATATAGATTTATCACTGAAAATTACTAATTTCCAGTGCAAAAAATTTTTTTGCCTATTCTGGTAGCTGCCTGATTTTTGATATATATTCCAACACAATAAAGTTGCTGAAATTTTCTCCTTTTTTCACTGTCTCCGTACATCATTGCAATTTCGGTCTGTTCGCGTTGGTTAGCAGCTCATTTATTCGTTCATTTCTGTGAAGGTACGCCAGGCAGCCTGAATTGTGGCGTAGCAATCACCGTTTTTCGTCGAATTTCACCTTCATCTTCGAACTGCAAATAGACAATCATTGAAGAAAAAAAACGTTAAAATCCGACTTTCTCGATGATTTTTATGATTTTTAACTGAAATATTGATTTTTCGGCATTTTCTGAAGCAGATTTTGATTAAAATTTGAAGGTTTTTTTTCGTCTCCCGTAGGCTCAAAAAACGCCCTTTTTATGGCGGCTCAAACGCAAATATTAAGTAATATTCGAATACAAAAGTTCATAAATTTAGGACCCCTGCGGGGACATTAGACTTCAGATCTAAAACTAACCGATTTTGAATATTTTGAGCCAAGTTTGGCCAAATAGGCATTAAATTCACTCCAGATGACTAACACGTGAAAAAAGTTAAAATTAGGTAAATAAGACAAAAACAGAAAAAAAATAACTTGAAGCGAAACTGGAGCCCATTTTTGGAGACAATTCTCATTACAAAATTGGTTTTTTGGGAACATTTTTTATTCAAGTTATTTCGGACATTTTTTTTCGAAGAATTCCCATAAAACTTCGAAGCTTTTTCGGCATGTAAGCCCCTACCAATTTCACGCAATCTGGTACTGCCTTTCAGCAAGACCCAAGTTTACTGATAACTCTCCTTGAACTCGGAACATTTTCGACGGTGTCGCCGCCGCTGGATTTATAATTCTTCGCATTCTTCTACCATCGTCGATATACGACCCATCCGTATCCATTGGGCAAGCTTGCGTGTTCGGACACGTCGCTGTTTGCTGGGCCTGGAAAATTTCGATTTTAAAGTTTTTTAAAATAAATAATCCCCTACAAATTAATTTCCAAATGCGGCGGTTGCCAATCCATAAACCCGTCGTCCTCGTCCTCATCATCACCGAACGGGTCCATTTGTATGCGATCGCTCGTCTCGATATCTCGAGGGGAAAGGTTTAAATAGGCGGCTCATCCTCTACGATGACCTCCGTCTCTGCTCACGTGTACATCGTGTCGTCGCCGGCGAAGATCGGCTCTCCGAGCTCTCCGGCGGTGAGCTCCTCGAAATGTGGCGCTGGCTTTTAAGCTCTTTTTCACGTTGCGAACCGTACTTCCCTACGTCCTGCGTTTTGGAGCTGCGATCGAGCTCGTCTTGTGGATGCAGAGGCGAGCGCTTCTTCCTTTGGGTTGCCCAACTCGTAGTCTTCATTGTTGTAGAGCACGTGGGGATTTCCGAGCATTTCGACGTGGACGATATTTTGTGGCTGGATCCTGGGGCTCTGCGGCCGCAGGCTCTGGATTTGGCTGGGGCTCTTCGGCCGGCTGGCCAATTGGGGCTCTGTTGTGCACAGGAGAGAGCGCTGTTGATCAACTTGTTCCTGATTTTCTGCCAATTCAATTTTCAGGATTGACATTCTTCTGCAATTTAATAATTGAAAATAAGAATAATTAAGTGGAAAATTAAAAATTAAACAAGCATTAAAATAAATTTGAACAAGTCCAGATTTGTAGTCCGCAACGCACGGACGAACGCATACACCACAACTAAGAGAGACGGGAGGAGGGATGGAGAATTTGAAAGAGATGGCTAGGCGACGAGATAGCCGGAGGATTGAGGAAGGACAAACACACAGATGTGGGTTCTTGCAGCGCTTTCTCTGCGTCACTTCTTTCGACATTTTTCGGTTCAATGGGAAATTTCTACTTTTTCGGAGTTTTTCTTTTTTTTCATCGGAAAACTTCAAAAAATTCAAATGGAAACTAGGAGCTGTACGGACAATGCATAGAATAACACGAAAAATGCACATTTTTAGGCCTTAGGTCACTGTTCCGGCGCGGAAATGCGGATCAATTTCTTTTTGAATTCAAAATAGAGAAACTGGACGTGATGGTTGGTACAAGCGTTTAGTGAAAATGTATCACAAAATAGGAGATCAATTAGATATGTTAATTTATTCGTGGACCAAATGACTATAAAAAATTGCGAAATAAATAAAAGTCGATTAAAAACAATCATATGTCTTCATTGCTTGGCGAGAGTTTCTCGGTATCGGATAAACTTATCTCCTACAAGAGACTTGCGAATAACCAAAATAGTTTAGTAATCTAGACATTGGGTGGGGTGGGCCCAAATATTGAATAAGGGTGAAGAAAGATTATTCAAAATACGTCGCTGAAGTGTTGGCATACAATATTGAGTCGGATAAATGGTAAGAAAGCATCACCACTCAACTCAGATCACAATCTATTTCTCTGAAGAAGAAAGGGACGAATGTAGTAGCTTGCTGAGGGGGGGGAGGGAAGGGCGTGGGGATGGAGGCAATTTCAAATAAATCTGAAAGCAAGTTACAAATACGCACAGCCAAAACGGTGAGGCCGAGACTTGGCAAACCCAGTGATTGCAAGAATTCGATAAAAAGCTACTCGCGGATGTTAAGAGCGAATCATTTGGATCTCGGGGGCAGTAAATTAAAGGGACAAGGCATTTCGAAAAATACACACGTTAGACTGAAAAAAAAAAACCGATGTGATCATTATGGGATGCATCACTGCTTCTTTGGTGGGTCGAGTTGACACTGAGGCGAAGGAATGCGGATTGTACCGCTGCCACCGCCATATCCTTGTCTGTCAGTTGCTACATGCTTGTTGGATACAGATTTGTAGATTCCGTCTGTATAAAGCTGCTTCAACGTTGGTGCCGAGGGCAGATGTTTCTGAAAAATAAAGATATATCAGCGCTATAGATTAGTTTTACTTACCAATAAACCACAATTGATTTCTTTCGGTGCTGTAGATCTTGGCGTCCTCGTCTGTTGAAACTGATTGCACTGTAGCAAATGGCGCAAGTCGCTACCCTTGATTTCCGATCAACATAATAACAATGTTATGATCGGCGTGATCACGAAGCTCCTTCAACTATCGCTCTACATTCTCTTACGTCTAACATGAAGCTTAGTGTCGTAGACTAGGAGAGCTCACAGCCCCACGATAGTAAGCGGATATGATGGCACGGTAACGTTACTTTTCTGTCCAGCAGTATCCCAAATTTGAGCCTTCAATGTCTTGCCTTCTACCTATGACAAAAATAATAATTTGAATCATAACATTAGTGTATGCTACTGAAGTTCCTCACCGAGATGCTTCTCGTGGCAAACTCGACTCCGATTGTTAATTTTGATTCCAAGTTGAACTCATTCTTGTGAAACGAATAGACAGGAGATGTTCATCGACTTTCCGACGGCTGAGTCTCCAATCAGAACAACCGAAACAATTTTTCGTTTGGGAATTGAAAAAAACAAAATTACCGTTGAAACACAATTAGTCGTACTGCATCGTCACGAGAGCCCATCTTCTGCGCTGTAAAATGATAAAGGACTTGTTAAGGTTGAAAGTTATATATTAGGACGATTGTAAAAAAGAAAAAGGGCATTGGTCTCATGATTCATCAGCCGGGCGCAATGTCTTGTTGTAAAATCGATATTGAAAACGAACACTGTTTTATCGGCGGAGCATATTTCTATGTTCTGTTCCCGACACAAACGCGGAGTCAGCAACCGCTATCTCGACGCATGGGATTGAAAAAATAGAAGTGAACTTAATTTAAGAATGATTCAAAGTATATGAGTTGGGAGTTTTATATTGTTATCAATATATGAGGGGGGTGTCACCTTGAAGGAAAATGTGAAAATGTATATAGAAGTGTGTTAGGCTGAAGAGTATTTGAGGCATATCATACCCGAAAAACAGGGAAGGTGAGCGGCCACTTTGTTTGTCGACACGATTTCGAAATAGTTGAACTATTTTTTAACGGGAAGAAGCTTTCTCTGGGTGTTCTTTTTTGATATTTTCAGCTAAAAATTGAAAAAAATAATTAGTTTTATGGCTGTGAACATCCACAACATAAGCTTTTCCGAACGCGAAATGCGTGTGAAACCCAAATAATTGAACGTAACAGGTCCACCGGCGCGGCCACGGCGGTCTGAGGGTACGCGACGCTAGCGCAGCGCAAGGCCGGGTCCCGGCACGACAGACTACCGTATCCCTTTAGCAGCGGCGCAACGGATCGTATCTCAATTACATTTTTTTTTTTTTGAGACTAACGATTTTTCCGTTTTTTCAGAGCAATATTTTTCATTGATTTTCTTAAATTCATCAGAATAAATTTTAGAACCTAATTTCCCGTAATTCTGATACGCGTTTTTAGTTTTCGTGAAGAAAATGCTGATTCGAAAACTGAAATAATTTAGTTTTGAAAACTTGCTCTGAACTCTGTTTCAATATCTTATAATTTGCTTCTTTTCTGAATATTTTGATTTTCCTCAGGTAACCAACCGCCTATACTCCAACGTAAGGTTTTTCTTTAAAATTTATATTAGATTGAAATACATTAGTTTTAGGCCTGATTTTCAAATACTTCAATTTTGATATTTAATTGTTGGTTTTTCAGTTGAAAAGAAAGTGCCACAGGTTCCAGAAACTGTGCTCAAGCGCAGAAAGCAGACGATCCTCGCACCAAGGCTGGTCAACATTATACTAGGTGACCGTCTCTGTAAGTTTATTTAACTGTCTTGAAAGAAAACCGAAAATGTTCTTGCGCTGGTTTTAGGATCCACTATTATCCAAGGCTACCAGCAGTCAAAACTGGAAGCTATAAGATCTTGTTTTGGGTGAGGTGTATTCAATTCAGAATGCGTCTCATGTTTATAACACGATGACAATTCGAAATTTTACAGTTTAAATTGTCTTTTAGGTCCCGTTTGAAAATTAATTTGTACTAATCATGCATTAAAAATAAAATTTTTTACAGAAGAACAAGGGAAGAGAGAATTCTTCAAGCGTGCTGAGAAAAACGTCCAGGAGTACTCTAGAAACGCCCAAAAGGAAGGACTCAGACTCAAGCGCGAGGCTGAGGCCAATGGGTGCGAGACTTCTACGTTCCAGCTGAGAAGGTCGCCGTCGTCAGACTTCGCGGTATCAACCAGCTTCATCCAAAGCCAAGAAAGGTGAAATTATGTTAATGAGTTTTTTAATAACCATTCGTTTTCAGGCTCTCAAGTTCCTCCGTCATAGTCAGATCAACAACGGAGTGTTCGCCAAGCTGAACAAGGCTACTCTTCCACTTCTCCGTATCATCGAGCCATACGTAGCTTGGGGTTATCCAAACAACAAGACCATCCACTATCAGAGTCCTCTACAAGCGCTAATCGGATACGCCAAGGTTGACGGCCACAAAACCGCATATTGCAATCACCGACAACACCATCGTCGAGCAGAGCCTCGGGATAATTTGAAAACGTATGCCTTTTAATTCTTATTTAATTGTTTTCAGGAAAGTTCAACATCATCTGTCTTGAGGATTTGGCCCTGGAACGAGATCGTCCCTACCGTCGGACCACACTTCAAGGAGGCCCACCAACTTCTTGTGGCCCTTCAAGTTCAACAACCCAACTAAGATGGACTAAGAAGACCAACCACGTCATTGAAGGAGGAGACTTCGGAATCAGAGAAGATCAAATCAACAACCTTCTCCGAATAATGGTCTAACTTGTTTGGTGTTCATACCTTCCTCCCGGATAAATCGTTATTGTTTGACGTTGTTTAATTATGTGCATAAATAATCATGAAACGTTATCGTCTTGGCTCGACTCATCTCGGATTTCATGAAGGGTCTCATCATTCAGATGAATTCGTAAAACCGCTTCCCTTGCTGACTACTCTCCCAAGAACAGTCACTGTTCCCTACTATGCTCCATCCTGTTTATTTCTAGAAACTTCGAAGCGATCCTAATTCCCTATGAAGTGAGAGAATTTAGGTTCGTGAATAAACATAGTCCAGATTTAAATCCACGCAATGTCCTCTCTACAATGTACTCCCTCTTGAGCACCTTAACCCATTGATGATGTAGATGGGTATTTCTTCAAAAATTTGATGGAAGGACTTGATTATCTGCTCGCCAAACGATATGGAACAGTTGCCTTAATACTAGAATTATCCTTAGAAAAAGCTTAAATATTCTTCCAGTCTCTGGACTCGGGCCTGACTCCAAAAGAGCGAGCACAGGCTCTCGCATTGCGCACTTTGCTCGACGTGCTTGGATGCTTACACGCGAGGCCAACTACGGATTTCATGTGGCTGCGCGATTAAGAATAGACTTCGGGCTTGGTCAGCTCTATTTTTGGAGGAATTGGGTTGTACCCAGATGCAGAAACGGGTAGATTATTGATATTTTATGGAAAAATCGATAAAATATTGATTTTTTACTGGAACAAATAGATCAAAAATCGGTTTTATTTTCCTCGGAAAGTCAATGCCGCTGTCTGAAATTAGTAGTTTCTTGTTGATACAAGTTCGATAAAACTGGTTTTTCAGAAGCAAAATCGATATAGTAAGCCAAAATGACCAAAAATTATCAATTTTCCTATAATATTTACCTTGGTTAGATTATCGATTTTTAAGGCAATAAAGTCGATATTTCACAATTTTTTATTTTTTTTTGGCTTTCCAGCGCGCAAACTGTGCCAAGATCTAAATTTTCCGAAATTTTCATTTCTGACACGCCGCCGAGTGCGAGGCTACGGAATATCCGGAAAATCGGCATGCGAGAAAGGAGGTCGCCTGCCGAACAAACTGAAGCTGTTGGAGGCGGCCTCCCTGACTTTTGGCTCGAAAAATACTTTTTCGATGTCAATGCACCGTCTTTGGTAGGTGGCAGCCAAAAAACTCGTCGGAGCCAAGACTAGGTTTCAGCTCGACTGCAAGGCGTTCGCCGTGATGGCTCAAATATACACCACTGCAGAACGAGGCCCGCGTAAAACAATTCATCCCGAAACGATCTCCAAATTTGTTCGGTGGCCTTGAGTTTTCTAAGCCACGAGAGTTGAAAAGTTCTATAATAGGGCATTTGGTTTCAGATGACATTAGTGACGGGCACACATGAATCCAGAGGAATTCTGGTCGGATTGGTGTATCACGTCGGAGGATTGAATTTCGTGGAAAATGCTAATTGGTTTAATGTAATATGATTTTGCTTCGTGGATTTTAACCTATGCACGAATAAAATTTATATTCTAATTTTAAAAAAATTTCAAACCAAAGAATTTTGAGTCTTACGTGACAATTGAAGGGTATTGCAATATGGGCATAAAAAATATATTCCCTAATTTTCGAACTTGCTCAGTCTTGGTTGCGCAGGAAATTTTTTTGCAGTTCTTGTTTGGGCCTCGGAGCTTGCGCAGATGCATAATATTTGACGCGCAGAGTTTTAATTGAAGTTTGAGCTTGAATTGAGTTATTGAATTTTAATTAAATAAAGCGAATTCTAGATAAAATGATGTGTTTATTGCAAACTAGATCGTGAACCTACAAAACAAAGACTTTACGCGCAAATTTCCGAAATTTTCAAGAAAAACCAGTGGAGGCAGAATTTCAAATGATACTTGTTCCTCTTCTATTTCTTCTACCAATTTTGTTGTGCGGTGGGAATAAGAAAAAAGCGAACAAAAATGATGTAAAAGGCGTCGAAAGTAAACCCACTGGTTCCACCGTCGACCTCTACAGACCTGCTGAAGACTAAAGAGAAGGAGAAATGAAAAAAGAAGAAGCTCCGGGAGCACGACGCCCCGACTCAGCCGAAAAGTCCTCCGAAACCAGTGGTCCAGGACACGAGAACTTGGTTAAGTGCTGCCTAAAAGTGAGAAGGAAGACGAAATGAAGAAGGGAATTCAGTTGCGAATCCGCCGAAAAATTTGGTGGGTCTCACTGCGATACATTGAGTGTTTTATCGATTTTCTCTGAAATAATTGATTTTTTCTGTAAAATTTTTGACCGCGAGATTTGCGAGTTTTCTGAATTTTCAAATATGTCGATTTTTCAGAAATGCGAAAGTGAAATTTCTCAAAGGAAAAGCCGGCGGCTGACAAAGAAGGACGAGAAAAAAGAAGCAAGATGGCCATAAGGAAGAGTCGAAAAGAGGGAAAGGAGAATAAAAAGGAAAATGACCAAATTCTGTGAAAAATTTCGATAAATTGGTTCCTGAAGAAGTCATTGTTCATTGTCGCTTTTTCAGAATTCCTCGAAATTTAATTGGGCGTCATGCTTCATATGTTGCATTGAGTCCAGAGACTTTCAAAGTTCACGCGCAGCAGACATTTTAGCACGCGCTGCAGTGAAATTCCTCTTGGTGAAGATCTTGATTTTTTCCCGCCTTTTTTGAAAATTTTCGAGGCGTTGGTCGAGCCGAGTACATGTGAAGACGGAATGTCAAATCACAAATACATCACATTTGACGCGCAAAAAATTCGTTTTGAAAATATGCGCGTCGAATAGGGTGCATTGAGTACGCGGAGCCAATACTAATCACACTTTCTTATCGTGGAAAATGGAGCGAAATTTGATTTTTTGATATTTAAATATTCGGGAACAGAAAATTCGGAGAATGCGTATTTTGAAACATAATTGACGCGCAAAATACCTTCTCGTACAAAGCGAAAACTACAGTAATTCTTTAAATGACTACAGTAGCACATGTGTCGCCGATTGGGCGTGATTTTTATTCCATTTTCTTCAGTTTTTCTTGACATTATTGTGTTTTATTTTAATATTTTTACCGATTAATAAATGATTTCCGCAAGATAAATCGAGCTCACAAACGCTACAATTGTGTCATTTAAAGAACTGTAGTCTCCGCTGCGAGATATTTTGCGCGTCAAATATGTTGTGCAATACGCATGAATTTTGTGGGCACGTAATATTTGAGCGGCTGTTAGATAAAGATCAAAAAATTCAAAAAAAAAAAAGATGTCAGAAATCAAAAATTTTTTATTGACGCAATGCACAAAGTCTCCTGTTTCCCTTTTCCCCAAAGTTTTAAACTAATAATAAAATTTTTTAATTGTCCAATCCGACCAGTTTAATACGAAACAAAACGGACAAAAGATTCCACAATTCCGATTACGGCTCAACACTTTCACTCAAGGAATTCTCTACGCTTAGATTTTGATCTTAATGGAAAACTGGTAGAACTTGGTATAAAACTACACAAAACTGGCAGAAAGAGTACTCCTTCCAAGACAAATAAAGTCCCTAATCGAGGAAGATCACTTGGAGCATATTCTGCCGCAACGCGTTTCTGCGCCGTCCCTCTCCAACTCGTGTATTGCGATTGTGGTGTTAACACTAACAATTGCCTATCAGGCACTGTAGTGGTATTCATATAATTCACTCAAATTTGCTTAACGATGCCCATTTTTGCCACCTGGTAATTTTTTTTAAAAAATTCAGAAATTTTGATTTGGATATATTCAAATAAAAAAAAAGTCTAAATTTATTTGCAATCGTTTGAGATTTGACATACATTCCAAATCCTACTCTTCGCAATTTTTTAGTCAACTCAACCTCAAAACCTTAAAAAAAAACCGCAAACCTGTCATGGCGCATTACGTCGATGTTATCCCTACGATAAATCTTCTGTTTTCGAAGGGTTTTTCATTTTCCAATTTTTATCACCAAGGAAAATGTATACACCAAAAAATTATATAGAATGTGACGTGTAAATTGGCAAAAAACTAATAACTTGCGCTTAGCTTTAAATCACTGCATTGCCTCTGCGGACTCAACACACCCGATCTGAAATTTCAGGAACTTATCGATTTTTGCCTAAAATTTTGCTGCATGGCTGCATCGATTAAATATTAAAAAAAAAAGCTGTTGAAAATGATCGATTTTTTTGAACACGAAAAATTTGTGGAAAATATGAAATAAAAAAAAACATTGTGCATCGAAAAACTTACAGGCTCGATACCGTGAGCTCTGGACAGAACAAAACTGAAGATGGCTCGGAGTCGCGGCCGGGACGAGTAGCTCGTGGCCCGAACCAAGCGAGAGGTTAAAGGCACATGGCTCCTCGGACAGTCCAGACCGATGAAGCAGAAATCGACGACAGAACAATACGCCGAGGCCGCTGGCGGAGGCGGTGGAGCAATACCGAGTGTAGACGGGGCAGGTGAAGGACCACCGGGTGATGGTAGGTTTTTAGATTTGCGAAGCTATCGTGGTTTATTGGTTTAGTTTTACAGACGGGGTCGACGGAACGGAAGGAAAAGACGGTGCACCTGGAACCGATGAAAAAGAGTCAGGTACCACAAAGACCCGGCGACGGAGGTAATCAACAGGTACCATCTGATGCATTTGAAGCATGCACACGTGAATGACCACCAGGACCGCCTGAACCAACCGCCCGGAGACAAAATCTCGAGGCTACCCTGGAGAAATCTGGGAAGAGCCAGGCACCCGAAGCGCCGGACCGAAAGGAAATGCTGGACCGTAAGTGGAACTACAGAATCGATTCAGTCTGCGGTAAAAAATCATTTTAGGATAAAAATCGATAATTTTCATTTTCGTTTTCCTCCATTAATTTATGTTAACTTTCTAGAGTTGGACCAGGTCCACCCTATCCAGGACGACCTAGAGAAACCGGAGATCACGGAAAGACGATCGCCGGAGAGGCGCCACCTGGACCACCAGACGACAGAGGAAGGAGAAAGTCCACAAGGACCACCGGGACCATCAGGGCCACGTGGAAAGAACGGAGTCGATGGAGAGAAGGGTACGAGATCAAGGTAATCCGGGACCATATGGAAAACCTGGGCAACCGGGAGCTCCAGGACCCGATGGCTCTGGTGGTGAGAAGGGAGGTTGCGATCATTGCCCACCGCCAAGAACTCCACCTGGTTATTAAAGATTCTTCGATTAGTTGATATTTTATTTTATTTGATCATGGCGTTATTCATTTTATCCTTCGGTGAAATTTCTTTTGTTGCACTATGATAATAAAATTCTCTTGCCAGTAGTTCCAAGTGCCCCAACATATTTTGGAGTCCTTTATGTAGATCCCTCTCGTCGAAAGCTGGAAGATTTCACAATAAATCTTTCAGAAAAATCGAATGAAATTTTAGAAAAAAAAACATCAAATTTTTGACGAACTGCATAATCAGTCAATATTCTATAAAAAAAAATACGATCGCACAATAATAAACAACGACGCGGAACGACACAGTCCGCGGTTACTGAGCTCCGCCCACGATTTCATTTGCACTGCGTTGAGTCGGCCGTGTTGTTATTCAAGAGTGAATATACTGGTTAAGTTTAAAAAGTTGGGTGTTTAGTGTTGAAGAAAATAATTTTTTTATTTTGAATAAAGCACAATTGGCAGCTGAAACTGGATTAAATCCAGACAAATTTTGAACCGTGGTTGTTGATGCATTGAGTTTATATTGTTAGTCAAATGTATGAACTTGTAAAGTGCTTGTAAATGTAAGTTGCTTGTTCGCTCATTCTGAAACAAAATTTAAATTAAATAAAAGTTCACGCGTTGATACAAAAAAGCCAAACTTACTGATTGCAATAAAAATAATCATTCATAATAGTTTTTAACAAACAACAATCCAATGCGATCAAAAGTTCGGAAGGTGATTTACAACCAGAGGACACCCAATCCAGAGAAGATAAAGAGACGACTGCTACGTATAGTGAGGATACAAAGCCACGTAAATAGACCGAAGTAGTCCTACTTTAAAATAACAGTAACCCAGCTGCCTAAATATCATAATAAAACTTGCAAAAAAATGATGTAAAATTTTAGTTTTTAGACTTTTGAACTGGTAGAAGCTGTGTTAGCGCCACTTTTTGACCACGTCTAAATAGAAAAATTTCCCATTGTAAAAGAGTTGTATTATGATACACTGCGTGGCGTGTAAAATACCGAAAAATAAAAGCGCGGTTTTTTTTTTCGTAAAATCACAGGGAAAAATCCGTAATCCCGGAACTCCAATCAGCCGCCAACATCCCACGGGCCCAATAACTTCTGGGTTTTCAACAATCTCATTTACTCCAATTCCCGAAACCCAATGGGAAGGAGAGCTAAACGCGGAACGGGACTGCCAAGACCCCACGCTATCCAGTTAGTCGTCCGACCAACGCCTCTCACACCAGCCATCACGCCATGCGAAGCACCACCACTACCACCTCCACCAAACCCTCTAGCGATAATAACAACTTGAAACGATTGAAAGTCAAAATCAACTGATTGAAGTGCCCAGCGATGAAGTAGGCCGAGTAGATTAATATAGACAATTTTCTTTCATTTCATGGGAAGGAACGAGTGTGAGGCGATGTTGAGCAAGCATGAAGACGATTCGAATGACGGAAATTAGGAAGAGGCAGGTCGCGTATGTGATTAGTATCAAGCATGGAAGTATCAAAATATTCACGTGTGTAACGGACCAAGACGGTGGGAGTTGTTTGGTATTATCATTTAGTTTCGTTTCAAATCAGACCGAGATACATACATTGAAGTTCAAATTTAGAACATGTTGCATCGCAATGTTGTAGTTCATTGTGCTCCCTGAAGCATTTTGCGGACACCACGAATTACATAGAAAATAAATATTTTAACCTATGGTGGGCGGCAAATTGACAAATTGCCGATTTGCTGAATTTGCCAAAAATTTTCGGAAAATTGTATTGTTGCACATTTTTTTTAAATTTCAAAATTTCGCAAATTTTATCGGCAAAATTGTACGCATCAACCCTATTTTCTACATCTGTTCCGAAAAGTAATTATATGAAAATATCTTAAGAAAAGGGGAAAAAATTCGAAAAGGCACAGTTTTCAGTGTTTGCGTCTTGTACAAAAAAAATCTCGAAAAACTTTCGGCCAGCAAACCGCCAAATTGCCGGAAAGGTCTTATAGTTTCAGCTAGCAGTTCGAATCGGCAAACCGGCTATTTGCCGAATTGCCGCAGTAGCCTCTCACCCCTGATGCTTTTGAACATGGTGCATTGCATCACCCTCGACTTGGAAAGTTTATATCGGTAGATATTTGCAGAAGATGTAATTTAATGATATTGTTCAGAAAAAGCTCTGGACCAACAAGTACGCCTTCAAATCCATCTGTGAGCTTATTGCCTATCACAAGCGAAATCACAAGCAGATTTATGATGACGTTGATCTGTGGCCTCGGGCACGACATGGATGGCAGCTGAACAACGGGCAGGTCACATTGATTAAGAGCGAAGTTGGGAGAGGGACAGTTTGGAGAAGTGCACAAAGGATTGAAGACATCTTGCAGCCCCGGTCACTGTTGCCGTGAAGACCTTGCACCAGAGGAAGGCGGCCATCTATCCGCCAATGAGAAGATCTTGTTCCTAAGAGAGGCCAATGTGATGCTCACCCTGCACGGTCTAATGCTACCTGTTTCAAGTTGAACTAAACTAAAATTCATTCCAAATGTGATAAAATTGTTCTCTACGGAGTATGCTCCATGAAGGAGCCCATAACATGATTTGGTCATGGAGTTTTGCGACGAGAATTTGAATCCCCCTGGCAAGGACGCTCTACTCTCCAAGGAAGAAAAAGTGTCAGCTGAGGACAAGATTCTCTACCTTTTCCGCATAACGCCGCCTCCGGTATTGGTTATTTGCACGGAAAGGTTAGTCACAGGGAGCGGCGAGAAATTGTTTGTTGAATTCCAAAAAGATGTTTGTTTTTCAAAATTTCTGAAATGTGTATGAAAAAATAAATTTCAGCTGAAAATACTTTGGATTGGCGGTCAAATGAGTTGCTATAAAGGAGCGAAAGGGAGGATGTCTGCCGGTCAAGTACATGGCTCCGGAGACATTGAAGAAGGGGTTGTACAGTACTGCCTCTGATATTTCTAGGTGAGCCTACGAGCATACATATGACATTGGTAGTGGCGTCGTGGCCTAGAAACCTTATCCGCGTCTGAAGGATAATAACATCACACAAGTCTCTATGATTTCCAGCTACTGCGCTCAAATGTACTAAGTCTACACGGACAGAGACGCCATTCGAAACGTGCGGGCTACGTGGAAATGAGCTCCGAAAAGCGATCATCGGGAAGAGAATCAGCTTGCCCGTTGAGGTAGAGCTACCAGTCTTCATTGCCAACATTTTCGAGCAAAACAAAGCAGGCAGTACGAGACCGAAGATCGCATTAGCTCCAAGCAAATTATTCAGATTTTTAAGGAGGTTTGTGAAGCATTTTATCTGTTTTTTGTTCAAAAAATTTGTTATTTTCCAGGAAGTCGGATTCCATGAAATTGAGACAAGTGGGATACTGCATAAGCTTGTCAATTCTCCCTTCCGAGAATTCACAATAAGGAAAGTAAAGGCGCTGGCAGTGTAATAAATATCTGAAAATCCCCCCACCCCTGAAAATATTTGACTGTATTTTTTAAATCACACAACGCACACAAAAGACAGACAGAAAGCATAAGTACACAGAGAAAATGTTTGAGGTGAGGTGCGGAAGGGAGGCTAGAACCTACTTTACGCCTCCCTAACAAGTTATGACTTTTTGGAATTCAAAATGTCGTTTTTTGCTATTTCACTCATGCGCTTACGTACAAACCTTCCTACCTTGTCTGCCTACCTCCCTCCTATTCTCTTATTGCAGGATTTTTGAATTTTTCTGAATATAAGCGTCTGTCGTACTTGTGCGTCATTTGCAAACAGGCTGTTCTCCGTTTTAGGGGGTGGCAGCACCCACAAAAAAAGACATAGGAAATCGGACGGAGTGATCTACTAGATCAGATGAACATTAGACATCAGTTTGGACCTAAAGTTAAACATTATTAATTCACAATGGATTTTCTTATTGTATTTCTTGATATAGCCCGGTTGTGCGGTATTGATACCATTACAATCCACTAAGCTAAAGGCTGTCATGTGGAGCCGAATGAAAAAAATCCTGATGATACATCGAGCATGCGGCAGGCGTTGAAACTCGGCAAATTAAGATTTGCCGGAAATGTTTTGAGGGATTTTTTATAAGATTTAAATGTGACTCCCTTTCTGAAATGCATGTGTCCCGTAAGTTTTTTAACTTTAGATATTTTTATAGGATCTCACTTTTCAAAATAGACGTAGGAGAAATCATAGGATGCATACACCTTTGCCGATTGAAATTTAAATTCTGAAATCCTTCCAATAAAAGTGCATCACCACAAGTTGCCGACTTTTGGCAATTGCTCGTTTCTCCGGCAAATTCGACACACCTGGCCTAATTTGCCGATTTGTCGATTTGCGAGAAATTTTAAATTCCGGCTATTTTTCGATTTGCCAATTTGCCGAGCAATAAATTTCAATTCCGTCAACTTGCTATATTGATCGTTTGCCGCCCATCCCTGGTACGCCAAGAATGGTAGAATATGAGTATACTAAAAATATTTGAAGAAGAGGACTGGAGCTGGAAGAAAAATCTTTTTACCGAAGTCTTCTGAGACAATTTCGTGAAAATTGATTATCACTTTCTGACTCACAATTTTTAAAAAAAATTTCCAAAATTTTTATCCTAGTTCTCGATCGAAACTGGTCTTCCGACATGCAGGTGCTTGATTGGTAAGTATGACTGCCATACCAAATCAAATGAAAAACACGGTGTATCGTCTGGGAAAAACTTAAACTGTTCCGTTTTAGTAATTGGACAAGGATCTGCTCAATCTCGCTACTATAGCAACCGACATCTTGCGGGTCCAATAAAGATTGGTATATCTTGAAAATTTGATGCACGTTTATTTAATCGCCGCCACACACACACTCACAAAAAAATCAATTAAAGCACCCAGTTGCGCGATTTTAGTTTCTAGGCGCGACAAAAGGAGGAGAACCGAAGCATTTCCGCATTATGGCTCGTGTGTGTGCCGTTCCGTTTGTCCCGCGGCTCTCTCTCCCTCTCTGTTTTTTTTGTTTGCGAAAACTTCTCTCTCTCTCTCTGCCATCACTTGTCTGATGCGGATAACATAGAGGGAGGAGCAGCTTAGAATTGCGGAGGGCAAAATACCTGAAATGTGATCTCTCTCTTATTGAGTCATTGACTGTTGCTGCGAGAGCCTTTTCCCGCGCGCGCCTCCCAACTACCCGTCGACGAGCCGATTTTCTTGTCGGCGGTGCCATTCGCAATACACGTCCCTCTCTCTTCTTGTTCTAGAAACATTCGGATTTTTGATTTTTTGATTTTTCATGGTGGGTCTGAAGGCTTTTTTAGGCCAGACTTTTGGTGGCCAGGTGTATTTTTATTTCCAATTTATCATATTGCTTTTGTCCGACTTGTAGGCAAAGCACCTTTTTAAGCGCCAAGTAATTAAGCTGAAGTTTGGCTGCCTAGGTTTCTAGCCACCAAACAATTTTTTTGTTTTCACACAGCACACTTTTTTAAACACTGTCATAAGTTTTCAAAATTTTTTGAAAAATTTTACACCGAATTTTGAGAACTTTAAGTTTGGTGGCCTAAATGTTTTCAAAATTTTCTATGCCACTGAAACAAAAGTCCTAACTCTAATTGAATTATCTTTGAAACTATGAAAACTACAAGTTCGACTAAATATGGCTTACGGGTCCAATTAAACTCGACTGGGTGGCCTAGAAAACCAATTTCGCTTTTATTTCATTTTCTATGCCACCAATAATCTTGTTCGAACATTACTTTTATTTTAATTAGTGGAGTTTGGAATCTGCCATGGGCTGTAAGATGTTGCTCGCCTCTAGTTTCTATGCCAGGAACCAAAAAGTGGTGTTGGTGGCCGACAAACCCAAACTTGGACAATTGCATTTTCTCGGCCATCATTTTTTTTAAACTAATCGTTGTTGGTTTAGTCTACTGTAAAAAATCAAATGGATAACAACGGGAGCCAAGCTTTGGAGCTGGTGGTAGATTTTGTGCTAGGTCACTAACTGAAATGATTGCAGCTGTAACTATAAAAAATAATTTACACGAGATATATAACATCCAAAATTAGTAGCCTAATTTTAGGATTAGAAACTATTTAAACAATTGGTGTGTGGAATAGAAACTGTATTTTGAAATTGCCACCAATTCCAAATAAGCCTATTTCACTCCTGATTTGAGCTAAAACGCTGAAATTTAGGCCATATTAGAATAGGCTATATTTGAAAAAATGGAATTGGTCTGACCTAGAAAATATTTTTTTGAAATTTCTGCTCCACCAATTTAAATTATAGCATAACTCGTTTCATAGTTGGACGGTGATTGAAATTTTAGACAGATTTTAAAAACAGATTGATCCCTTGAATTTTCTAGGCCACCTCTCCAGAAAAAAATCTGAGAATTGTTTTTATTTCTAATTCAATTTCTTCGGCCGTTTTTCATCTCTCGAGGATCTTATCCCCTTGTCTTACGTCTCCCACCCGCTGCTATTTAGGCGCCTTCATAACTGTGAAAATTCTCACCATTACTTTCCCTATCTCGTTTTTGCCCCCCCCCCCCGGTGTCCTATCCTTGTTCGTACACCTGTTGTTCCATAACATCTGCCAACCAATTTTTTCCAATTTTGCCAATTTTTAGTCAAAAAAGTGCATTGCATCGGCAGGCATGCCTCTATAACTCGTACACACACTTCGCTGAGCATACTGGAAGAGGGAAAAAATCAGGGATTGTTTGGATTCCTGGCGCCTTCTAGGAAAAAAACTCTTCCATTTTTGTAGTGCACATCAAAATGATCAAGCTGATTAATTTTCAAGTTACTCCCATAAATACAACTGAGAAAGTTGCGTTTTAAAGTTTCTAGGCCATCGTGGGATTTCTAGGTAGGTTCCCTTTTTTAAAATAGCAGTCTTGCACTAAAGTTTTGATTAGGCTGTTAAATGCTTTTTGTCAGTACGTTTTTTGGAACGTCGATTTTTACATTCCTCTTTTAGTTATTGATTCCGTTTTTTGCAAATTTTTATTTATTCCATATCTTACAACATTTAGAGGGACTCAAAGTCTTTGATAGCCAAGAATTCACTCTAATGACGTTATGAGCTCCCAGACTATAACCTTTTTCCCTTTTAAAAAATATCTAAATTACAAACATTTAATACAAAAACTTCTCGTTTCGAAACGTTTCGAAATCCTCCATTTAAAAAAATTAGATTAGCATCGGAAAAATTGCGAAAATTTTGAATCTGAGTGTGGATTTTCAATAGGGGGTCGAAACCTCGCAGGAATTTGAGAACAGTACCCTTTCCATCGTCCTTCCCGAAGCCCATTACATCATTAATTTAGCCACCTTTCTAAAGCGGTCCTGGGGGGGGGGACATCTGTAGTTTGTTGCCTATACAGGGACCCCCGCCACAACCACCGCAACTAGAGAAGAAACATCTGCTGCACACAGACAGCTGGCACATGGATGGACAAAACTCCTTAATTTTAGACCGCGCTATTTCATATAATAAAAGTAGAACGGGAGGCAGAAAAGAGGATGACTGCGAAACATCCACCTGCTTGGCTGTCAGCGCATAAACTTTTCGGAAATTTTGGGTCCCACCACGCTTTTTTCGGTAGCAAATTTTGAGATATCTCGATACACCATGATGTCATTTGGTGGAATTTTGGGTTATCATGGCAAATACAAACCTTTAACGTGAGTGCCAAATTGAACTTTTGCAGTCTGAACTTTTGGCCATTACTTAAAAATTTCCATGGGGCTCTCTAAGCCATGTGGTTTCGAATTTTTCCTGAAAATTTAGATTTGGTCATGCACCATGTTGTTTTTTTTTTGGAATAATTGAGGAATTCACGGCTTACTTTTAAAGTAAAAAGTTTCGTGAGATCCATGTGTTTTCATGTTATTCAGTTTGTAAATTATACAGATTATTGACTGAAGGTTAATTTTTAGTTGGGAAAATAAAAATCGCCAAAATCAATAAACAATCGTAATCATTTAGAAGTTGGGAGTTTCCATATAGGCGGTAAAAGGCTTGTCTGCCTTACAATAATACGACCGCCGCTCGCCTCAATCCGCGGCGGAGCAGTGTTCAGTTAGGCACTGAAACCGCGTTCCTGCTTACCATGATGTTCCGTTCTTCACGTCGATACACCATGATAATGGGTTACATTTTGAGCCTTTTCGAAAAATACCATGGTGGAAAATTTCAAGCTGAATTTTAATATTTATTAACCGTATTGTGGGAGATAGCATGCAAATGTCTTTCATCTTGTGTCCCTTCACTCGAACGTCTTCAATTTTCGTCCGAACTTCTCGATGCACCATAATGCTGTTTGGCGATAACTTTAAGAATGGTAGAGATTGCGATGCACCATGACGTTTGTATCGATTATCAGAACAAAAATCACTCCGAGACCCAAATAGTTTCATTCTCGGCACTATATTTTCCAAGTAAATTTGAAAATTGCTTCTCGGAAAAGTTTTTTCACATGCACCTTTAATCTTCTGCTTTGGAAACTATGTAATTTCCGCCCAATACTCTATTTCAAGTTGCTCTCGATGCACCATGATTGTATTTTTTTCAAATTTCTTACTTTTTTTTGATTTTTCCATGAGAGCCAATATCTGTCTTTATAACGGTTCTGTAACGAAATTTTGAAATTCTTGCACGAGATTCTGCTCTCATCTCGACATGATAATTTTAAAATGAAATTTAGCGATTTTTCGGGAAAAAAACTGTTTCGATCAGATTTTCTAGTTATTGGACACTCTGCACCTTGCTTATTGCTGGAAATTACATTTTAAACCGACAACCTTTCAAAAACTGTTTTCGTCGATCTCTATGAGTGCATAATTTTGTTGTAAATAGCTCGGTGGTGGGCCGCAAAAAAACAAAAAAAACAGGTATAAAACGCAAATAAATTTTGTTGTAATGTTGACACCAACAGAATCGGCCTGGAACATACGGTAGATCGGATTTGCAAAAAAACAACGTTTGTTTCGACGTTCCGCCGCTTTTTATGGGAGAAGTAGTATGTACCTTTAAGGGTACCGTAGCCTTGACCCTATGGCCTAAAAGTGAACGGTACTAGTCCCAAAAAAAACAAGATGACCAGTTTCAATCTGTCAACATCTACACATTTCTAAAATCTCATTTAAATTCCACTGTTCGATTTTCGCCTTTCTTCTGTCCCAAAGTACCGTATCCTCATCCTTCTACCACCTTAATTTGCATTTGTTCTTGCTTATTCACTTCTTCCCCTGGACGAAAAATGTTGCACGACAACAACAAAACCCGCCCCCCACCATCTGTTTCTCTGAACCTTCGATCCAACTGTCCCCGCCCCCTTTTTGAAGCCCACTGTCTTTTACTTTTTTTCTTTGGTCGCTGATTATGTCGGTTCGTTTTAGTATTACAGGAATGCACTACAATAAATTCCCTAAACGCGTACCGCGTTGCACAACATATTTGACGTGCAAAATATCTAGTAGCGAAACCTAATCTATAGTTACTCTTGAAATGACTTTTGTAGCATGCCGATTTAACTAAATTATTTATTAACAGATAAAATATTAATAGACACGACAATTCAAAAAAATTCATTTCGTAAATCGAGCCCGTAAAGACAAAAGCGCTACAGTAGTCATTTAAAGAATTACTGTGTTTTCGCGTACGAGTTATTTTGTGCGTCAACATATGTTGCGCAATACGCATTCTTATAATGTACCCGTAGTATATTTTTGTCTCTCTGATTTCCCTCAATTGCAATCTTTTAATTCCAGATTTTTTTGGTGAAATTTCTCCGCTCCATTATCAATTTTTTTTAACCACATAATTATTAACCCCAAAACATCGCAGATTTTCAGGTAAAATGCCAGGGCGTCGTGAAGCGTTAGACCTTTTTCTATGAGTAATGGTGAGCAATTTTTTTGAAGTTTTTTTTTGAAATTTGTAATTTTCCAGAAGGCTTCTGCAAACGGGCATGACACGTGTGAACGACGCCGAAATTTTGGCAACCGTGAGTTCGGCAAATAAGCTAACAGTCTAAGAAACACGAAAAAAAATTTTCTGTTCAAGATTCGTGATTTTCGGATGATTTTTGAACTTTTTGTTCCGACGAGATTAAAGTTCCCACTGAAAACCCTCTCTCTAAAAATCCGCTGCTAAAAAGCCTCAAATGGCCTTGCGAGAATAGACGGAATGTTCAGGGATGACTGGTTTAAAATCGGCGACCTGTTGCCATTCAAACCGAATATCTCATTTCGAGTCCTCCCTTTTTTTTAAGTGGGTCGGATTTGAGATTTAACATACAGAAGAGAATAGGGAGAGACAAAGAGGGACAAGAGGGGAAAAATCTTCTTGGAAACAACCTCGTACCGAAATTACGGAAGTTTTTGCCTCACAGGATCCTTCAATATTGCGTGAGAAAGCTAAAAATCCAATAGTCATTTTTTTCTCCTTTTTTAAAAAAAGGTTTCCTCCCGCGTCAAAAATTGAAAGGATCGGATTTATTGTTACACGCCTGCCTCCTTTCTATTAACCTTGTTCTCGATCGCAACCTCTTTTCTACATTACGTGAAAAAATGCTATTTTTTTTCCTTGTTCAGATTCAATTTGAAAGGTGCTGTGGAAAAAGTTTTTTTTTTGCCCTGAAAAAATAATCGAAATTTCGCGTTTATACTGCTAAAAAATGACGACTCAAAATTTCAAGTAATTCTTTCGAAAAATCGATTTGAAATAGACAAAAATTTTCAATTTTTCATATCTGAAAACACACTTATTTCGATTTTCATTGTTTCCTTGGAAAAAATCTCACAAAAACGCAAATAATTAATTTCCCACTTAATCTGGACTACGATATCCAAGCTCCGCCTCCGCGTATTCCTTGTACGTGACAAACATGGCGGCCCAACACCAACTCAGACATTAAATGAGTGATACCGTACTCTCTCTGTTTTTTCTTTCATTTTTTCGGCGCCGAGAATTTTCAATTTTTGGTGGTTCGTTTGGCGGTATTTTTCGGATTATGGTCGGTTCACACACACACACCAGTTGGTGTTGCCGGTCGTCACCCGACTCGCGCCACACTCTTTGTCCGTGTACTGCTTTGCCATTTGTGCGCGCGAACCGCTGCCCGTCTATCTTATCATATCAGGCGCCTCGTTTTGTCGCTTTTTCTACATTTGCCCTTCCTAGGACAGGGGTACCTGCGGTCGGCTTTTCATCCCAGAGAAAATATGCTTAAAAATTCCGAAAAACCTCTATTTTTCGATTTTAGCATCGATTTTCGCCCAAACATAACCATTTTTCAGAATGAACGAAGAACAAATCGCCTATTGCCAGGGGTTTGGTATTACGAGGAAGACACTGCCTCGTGCTCTCCAGTCAGCGATCCGGAATATTTCGCAGTTTCTCAACTACAGAACGTCGATAGGCGTGCAAAATGTCACAGAGTCCGTGGAAGTACCGACGTCGGCAATAGCATGTCGCCGAGATTGTTGGTCGTCAAGGTATAAATTGCCTGTTTAGTCAAATCTACAGATTCCACAAATTTTCTCGATAGGCTGCAAAATTAAGGCACTGCGCGCCAACTCGCGAACACCTACAAGACACCGGTTGGCGGAGAAGAGCCAATTTTCGTGGTCACCGGACGCCTACGTGAACGAGGCGAAACGAGAGATCGACTGCGCCACCGAGCACTTAACACAGATCCGTGCGTCGAGAAGACATACACAAAGTAGGTGACCGTAGGCAGACGGTTCCTGAGCCGCCTTGCTGTTGTTCCGAGCCCATGCACCTGGACAGATCACGAGCTATAGTTCGTTAATTGTCGGACTCGTCGTCCGAAAGGAGCGACTATGAACAGGACACCCTGACACGTACATCATTACAAGCGCCGAGCCGAGAACGGAGGAGCCCGTTTTTAAGGTATTTTTGTTGGAGAGCATACATAGAGTTTTGGCGCAAAATTCTCATTCATGCTTTATAAACCAAAAACAGAGAAGTTTCTAGTTTCGGCTTAGGAACTACTGAGAATCGGCTTTTCCATGACATATATGTGTGGAGCTGAAAATCTACTTTTGACTGAAAAATTCAAGTTTATGACTAAGAAAAATTAGATAATTAGACCATGCTATTATTTCATAATATTGGTCCAATTTTTCTTGCTTTGCTGAGCAAATTAACAAATTTAACAATCGGCGGGGTTTCTGAAATATTTTTGTAAAAAAACCGATTTAAACTCCAATTTTCCAACCTTATTTTTACATATTAGTACTAGAAAAATTGTATAATGGGGAGAATTCATAAGTTCTAAAATCGGCTGTTTTGTAGCAAAGTTTGTAAATATATCATTCTTAAAGTCTCTAAACGTGATTCTAGAAAACGTGTCTCATCAGGATTTGATTTCTGCGACACACTTCTCTCGAGTTTTACATAGAAGTTGTTCATTACAAATTTCTATTTTTAAGGTCCCCATTACCATTGTCAATCTTTCATTCCGATTATTTGCCTCGTCATAGCCTGCAAGAAGGGGAGCCTAATGCCTAGACAGATGAGACAGAAACACATGTGTGTTTGTAAGTGTCTGGTGTGATATACCCAATTCGTTTCGGCCGTCTCTTGTTTTCTTCCTGACACCGAGTTTCGAGCGATTTTCGAGGTCGTACAGTTATGAATTGGCTGTCACTGCTGTGGCTAACAAACAAAAACAATCAAACTTGTGCGGAATTGATATTCTAAAGAGAATAAAGAGCAACCATGGGTGGCGACTAGCATCGGAAGTGCTTGTGACCTCTTGGTGTGAATTTTAAACGGTTTCCTTCCACAGACTCCGACATGCTAAAAATTCCAGCCGTCGGGAGCCGTTTAGGGTCTACACTGATAGATGATGATTAGAATCTTTTAATTTGGTAGAATTCCCCCCGCGGGACCGCTTAATGTTGCATGTCGTCTTCTTCTTCTTGGCAGCAAAATATCATTGATGATGAGTTATCTCAGTTTGATGCTCAATGACGCCGTGAAACAGCCACCCCACAGTAAATTAGTCGAATTACCGATGGGGCGCCCGGGTTTTTGGAAGAGTCATGCGATTGGGAGTCCACATACACACGCACCATCTCTTTCACTCCATCTAACAGTGTAGTAGGGTGATGAAAAGGGGGGGGATCGATGAAGAGACTCTATTAATTAAATGACCGGGGCGGGGGCCAAATTGCACATACGCTTGGTTTTATTGCACCGTTGGCTCAGTGAGAGCAACATTTTGTGGCAGCACCAGGGGTACTTCAAATACGGGACGAACAAAAGTCGTTGTTGTTTCTATAGGAAGGCTTCCGTTGGACTTTTGAAACCAGATCAGATTAGGGATATGTAATTGACGGTTTTGACCGTATGTGTCCATACACGCGTCGTTGTGTGGTGTGTGGCGACATAAATTAGCGTATGTGCTCCGCATGGCCTTTTTCCTCCTTCCTTACAATGGTAATTATCATCCCCCACTACTCTGGGTCGCCATGGACGAACTGTGAATGTGTTGACAGTGCGGGCCCGAAACTAGTACATGGACATCTTGCCCCGGTGCGGTGCGCTCATCGTTATTCCTCCCAATTTAGTTGTCCGTTTCAAATGTCTCCGGTACCCTATTGGACGAGACAAGGAGGTGATGGATTTGCAGGCGGGGAAGGAATTACATGATGTTTGGGAGATTATGGAAAGGTAGTTTCACCTCGTATTATATGGTTCTACAAAGACCAATTGTCTTTTTTGTTCGTGGCTCAAATGAATAATTGGTACGGAAATATAGAAAAATGTCCGACTAGGTAATAGAATTGTTTCTATGTTTTTAACCAAAAATAGCTCATACTAGTGCACTTGAGTGTTGAATTTTCAAAGGTTTTATTTTCAAATAGAGCATTTTCAATACTTATAAAATCAATTTTCGGTTCAAAAACTTCTAATTTTCTCACCGAAAAAGTTCTCACAAGACAGTGACAGAGGGGTGGTCGCGTGCGAGTCGTTTTGATATCCATCTCGATAATCAGAGAATGTGATCTATGCCTCAATGACACAGTTCCGCGAAGGAGTCCGAGAAAAACGTACAAAAGAAGAATATTGATAGAAATAACATTTATTCAAATCAAAGGATATTAAAAAAAAAGAACATAAACTATTTAACGAATTCACAAAAATTCGGAAGCATATTTCCTATAATGAAAACATCCTAAAAATTCTGAAAATGTGTACTGCACAACATTTTTACGCGCATAATCTCTTGTAGCAAAAACTACATTCGTAATTCATAAAATTGACTAATGTAGCGCTTGTTTAGAGTTATGTGCTCTACGAAATGAATTTATATACTTTATCGATGGAAAAATAATTTTAAGCAGAATATGAGAAAATAATATGAAGAAAAAAGAAATTCGAGTCACGTGCTCTGAGAAATGAATTTAAAAATTTTATCGCTGGAAAAATATTTTTAAGCAGAAGATGAGAAAATAATATGAAGAAACGAAACTTAAGCAATTCATTCGAGATTACGCGCTTAAACCCAGAGCTACAGTAATCTGTGAAAGAATTAGTGTAGTATTCGCTACTAGATATTAAGTGCGTCAAATATGTGCCTATGCGCAATAAACATTTAAGTTTGTGTTTCCGTAATATAAGTTTTTTGCGAGAACTACAAAAATATAACTATTTCTATTCCAGGTGACCGGCCTCCCACATAACGTCGAGGCTGCCGGCAAGGAGATCGAGACGCACATCTTCCGGCGAACCGGAAATCTTCCAGAAACCCGACAAAATGACTGTGCCGGACAGGTGGCCGGTGTCTCGTTGATGGTTCAGAAGCAGCACAGGCTCAACAACAAATGGTCCACGAGGCGGTGTCAGCAACAATCGATATCGAAGAGCATTCGGCAGTAATCCGTTCAATCAGAAGGAGATGTCGTCGCCGCCATTGGAATGGAGAGCTCGGGGATTGGACGCGTTGCTCGCAGCCATCGAGGCGTAGTTCGTTGACTCCGGACTCTTTCCGGTACTGGACTGTCTTCTCGTCCATCGTGGAGGACAATCGGCGAAAAAAGGTCTGCCAACCTACGACTACTGGGGAACCGACAACTCGCTTAATATTATGGAGAACGGTTAGCTTTTTTTTCAACGAATTCATTAATAAGAATTTTAAATGACAAATAAGGATTTTTCCGAAATTCCACTCAGCCGCAAGTACGATGCTCTGTACGCATGGTCGTCGATGGGATTGGAGAAACGCGAGGAATCCCCAACCAATGGTATTTTTGAAGGAATTTTATAAATTACATTTTGATATAAAACAAAAAATGCAATTTTCCTTCAAAGTTCCCGTAAATTTTTGAAAGAAAATTTGATTTTCCGCTAAAAAATTCAAGAAAAAAACAAGTTCGTGTTTTCCACTCGGAACCTGACGGCTTCTTATGTTTTAAATAAAAAATAACGTTTCTAAAACTCATAATGTTTAAAAAATTTCACAGTAAAAAATTATTTTCCCGAAATCTTGAGACCTATCCGTTTTTGAAAATAAAAATTTAGGAGTAAAATCGTAGTTTTCTATATAAAAATTATAATTTTCATTTGAAATTCAATCAAAAAATGTTTAAATAAAATTGGATTGTGTCCGTCGAAATCTATAAAAAGAAAATTTTTTTTGAACAATAAAAGACAACTTGTAATTTTCTTTTGAACTTCGAGGAAAAATATGTTTTTTTTCACCGTTATGCAAAAAATCGATTTTTTAATAACCTCGTTTTTGAAAAAGGTGAAATTCCAATTTCAAGAGGTAAAGTTAATTTATTTATTTTATGAGAAAAACTTGAAATTTAAAGGAAAATTACTGAAATTTACAATTTATCATACATATTTATTTCGACATATCTCGAAATATCAAGTGGTAAATTTTCTCCACAAAAGTGTGATTCTCTTTAAAAACTAGAAAATTTCAATTGTATCTGAAGCAAATCAAATTTTGCAGGCTCATGACCTCCCTCAAAGGAACATCCGCCGGCTTCGGCCTTCTCAGCAATCAGGTCTGGCGGAAACATGAATCTGTGGAGCCCAGGATCGTTGGCTGTTCAGTAACATCTGCCTCGCCGACGTCATCCCGAGACCTGCGATCACCACGATCATACTCTCTTGCCGATCAATGGATAAGCTGTGGATCCATTCATCAATCCATTACTATCGTCTCTCATCTAGCAAAAACCTCAACGGGTTCCAATCTTTCCATTCTTTAAAAGATTCTTTTTCCCATTTTCTACTTTGTTCATCGGTGTACAAGTCCCTCCATTCCCATTTTCTCACCTCTTTACTACATTACTATGCGAACACACAAAAAGTCACCATCATTCTCACAAAATACTAGACAAAAAAAACGAAAAAAATCACATATATTTATATATAACTATTATTATTTGTTATTCATATTTTTGAATTATCGATATTATATATATTTATATATGTAACCCATACTGTCCCCCAATACATATATTCCTACAGTAGGTTTTTTTGGCTGTAACTTTCTCTATTATTTTTTGCACTAAGGACGAACAACTCATGTTTTTAACAAAACGGCAATTATATATATTATGCCTCTTTTCTCTCTATCTCTCACCTAGTGTTTAGCTCCCAATTTTCCCCCTCTCTACTACGCAACTAACGGAGAATTGAGAGGCCTTTTATATTTACAGCATCTTTATAAAACTCGAGTGATCCCCACCCCATCAAATTTATCGTATGTAAACGTTCTGTCGATATATTACATGGTGTATGTGAATGAAGCGTTTCGTGTCGTCTCTCCATATCGACTCTGGTATCCATAGCAACTCCCCGAGCTTTTCGCTCACTCGCGCCCGCCATATACTATACCTTTACTATTATTAAATGCACTCAAATCCTATCCTCCGTCAATTAGCCGATCAATTGTCCGAATTGCCACAATGCTCCATTGCGGGTACTATTAGCACAATAGTTGAATATATTAATTCAAAAATATTTATAGTTTGGAGGTGTCCCATTGTTTCAGATATCCGCGCGACGATAAGTGCCACGTTGGGGGAAACGCCAAAGAAAACGAGTAGGGATTTGCCTAGGTATAGAGGCGACATTTATGGAAAATTTGAAATTTTCTGAAAAAAAAAGGATTTTTGTTCTTTTATCAAAAATGCCTTGTCTTTTCGCCAAAAAAATCAAAATTTTCGACTTAAAAACTTCAAAATTTTTTCAGGATCACACTATACAAAATACAAAATATCTCGTAGCAAAAACTACAGTAATTCTTTAAATGAGTCCTACTGTAGAGCTTGTGTCGATTTACGGGCTCAAGTTTAATATTAGATAAAAATGAGAAGAAAGGTAAAGACACGAAGAAACGAATGATGCCAAAGTGTAATATCGAAAATATTCGAAAATAAATAAATTTCAGAAATAGTCCGTAAATCGACACAAGAGCTTCAGTAGTCATTTAAAGAATTACTGTAGGTTTTCGTTACAAGATATTTTGGTCAAATATATCGTATGTGCAATATGCATTTATTTTGTGTTTCCGGAATAGGTAAAATGTCAGAAAATCAAGGATGGAACCCCGCGTTCTACGGGTATTATGGCCACGGCCACTTTTTCCAAAACTGCAGTGAAAAAGGCGTTGTTATTTCATTTTCTGAAAAAAACATTGAACATTATTATCGAGAATACGATCTGACAAATTTCTCATAATTTATTTTTGATTGTCGCTACCTGTTTAACTTTACTCCGCCCCCAATCTTGTTGCCGGAAGTTTGATATTTTGTTTGTAGCTGTCTTGTCGAAGGACGGGGAGGAGGTCAACAAGGTAGATAAAAAATATATTATGCGAATTTTGTGCGATCGTATTTTTTCGATTATATATATATATATATCTTCATGTAATTCTCATGAAATCTTGAAAAAAAACGCGACACATGGAATTACCCGTTACTCGAGGCCCACTGTTTTATAGTTTGAGCGCGTTGCAATTTTTTGTCGATAACATAGTTTCTATTTAAACAAAAAACATCGTGCGCCCACATTGAAGAAAATGCTACAATTGGTGGCATTAACTTTCTGAAACAAGGATTTACAGAAAGTGTCAGGGCACCATAGCATGATTGGATTGGCTCGAGCAGAATGGATATCCAATATCATCTCAAGTCTTGATAACAAATGTCTGGAAACATGGAGAGTGCAGAAAAACATCATACATGGAAGATGCGGAAAAAATCGATAATCTATTGCGAAGTTAGCTGAAAATCGATATTCGCGATGGCACCGGTGACGAATTTGAACGAAAATCGATAAAATCGATTGGCGCGGGTTCCCGCCGGTTTTCAAAAATTAATAAAACATGGTCGATAAACGAGCACCGTTGAAAATTACACCGTTTAGTGATGAGGAATATCGAAAAACGTCGATGCAGAAACGGATGGAAATGGAGAGGGAACGAGTGAGTTGCGTTAAATAATTTTTTTTTAAAATATTTAACTAAAGGCGACAAGGCGATTTTTAAAAATCGATGTTTAGCGACTTTTATTCAAAAGAATAATTTCAATGCCCTAAATCACTCAAATGGTGATTAAAAAAGTATTTGCGCGCGCGCGTAAAATTGTGCATGCAGCGTATGACCCTATGTGGTAAACCTCCGGGTCCGACACTTTTTGGTGAGGGTTTCGCATCGCTATAAAGATTGCAGATCGCGGCGTGAGCGTTGGCGGCGTTCCGACTTGCATGAGAGTCCTTTCCTACTTTTGCAAAAGAATCGATCGCTCGGATTTTTCAGCTCGCACGTCTATCCAACCAGGCAGGACGAATCCGACGATATCCTCATCGTCTTCCTCCGACTCTTCCATAACGTCATCCGCGTCGTCATCTTCCGAGGAGAAGTTGACTTTTCAATTCGAATATCTTGGGGAAACCCACAGCAGCTGGCGCGGAGAAAATGATAGAACTCAGCCAAATTCCCAACGCATGGGGTCCGTCAAAATCCGCGTTAGTCACTACGTGGCCGTAAGCACTTCTGACCCACTTCCGGCGATTTTCAACGCACATCTTCCGCCGCTCTCCATGGGACGACCACCGCTGACAAAAAGCGCGAAAAGTCGGGAAATCGACGCCATTTTCGGCTCGGATAACGTGGATTATAGAGCGGGGATTTCGAGCAGGATGGCCGTGGCGAAGAAAAAGTCTATGCTCCCTATGGAGAAAAAGAAGGAGGAAGCGAAACCCTCAGAACAGGAGCTAGTGGAGCCGTTGGTCTTTGACTGCCTTATCAGAAGGTAACTTTGTACTTGCACCCTGCAAAAATTCCGAAAAATTATGCACGTGGTCACTGCTAGGTTTTGCATAAGCGAAGCAAAAGCGCCTCATTGAGAATACACGTTTGCGCCAACTCTCGCTATCCATTGGCGTGAGAGACACATATACTACTTTTTCCTCTGAACGTGAAAAACGAAAAGAATACCCGTTTTGCCGTCTGCATCTCTTCTTCCACACGCTATTTTAGCCGTCGAGGACGAGGAACTCTTCCAGGATTTTCTTGGCTTCTCATATTCGTTGTCAAGTTTTGCCTCGTCCGCGAGAAAACGTGAATTTTGAGACGGCCAGCGAGCACGTGATTCTGCAACTCTCCTAAAAATCGATTGTTCCTGTAGCTTATAATCTTTTAGAGGCGCATATTCCGCTTGCGGAGCAAAAGTAAACAAAAAACATGCCGGTCTAGATACAAATCGAAGAATTTCCTGCAAAATCAATAATAAAAAATTTTCAGGCGAATCGATCGGCTTGAAGACTTCGACACCGGTCAACTGTCCGGAGGATCCGATTATTGTTTTTAAAATTTTTTTCTTTTAAAAAATTTCCCGCCTTTGCAATAAATAAATTCTCACCTAGGCTAGAATTTCACTATTCAACTTGAAAAAATATGGTTCGCCCAAACTACGATAAACAAATGTGTGTCGAGCGGGCGAAGCCACTGAGAAAGGAGCAAAATGTACACAAAACCATATTTGAGTGTAATTTTTTCAGAGTTTGGCGCCGATTTTCTGTGAGACATGAGTTTTCTCAATTTATATTTGGTTATTTTTATTTTAGTTCTTACTGGTAAATGTCTGGGTAAGTCCTGATGACTTGTGAAAACGAAAAAAACTCTTTCATTGATGCTAGTGCGATTGCTAGGAAAGCAACTTTCATTCAGTTACCAAGAAAAAGTCCCCATATGGATCTGCGTGGCATAACAACTATCCATCCACGGAGATGCAAATCCGATCTATTGGCAAATAACATGGAAGAGTATAATTTCTCTTCCAAACACGGAAACCTTCCCCTTGGCGGTAGTGCCCACAACCCTGCATGTTTACCAAACTACACAGACAGCGCTTGTCTGCAAGTGGCAAAAAATGGCCGGCGAAATTTTTATGTAAATAATTTTCAAAGTGTTACCCTATTTGCACCTTTTTGGCAAAATTTCCATAAGTAAGAAATTTGATGGAAGAAACGATGAGAGGTTATGCGGGGAGTCTGAAAACGGGGCTGCATGACCTGTATGCGACCTGTTTAGGCCTAAAGCTAGTGACCCCTAGAAATCAAAGTTTCAAAGAGACTTTATTTTTCAGCACTCCAACAAGCTCAAGGCAGAAACTCAACGGTACGACGGATACAACAAGCTGGCGAACAGTGACTGGGCTTCTGCTGGTAGGTTTTTTTGGAAGAGAAATGACGTCACACTGCCCTACTTCTTCAGGAAGTCGGCTGCATGATGCACGCGGTTCCTACTACTCAGACGGCGCGTATATTCAGTGAATAACTCAGTCCTCCTGTCTCCGATATACTATTGGTTTAAAGGAGAGTCCGGTATTCCTTATACAAGAGGATGCCCCACTTGTTATTGGCATTTTTCAGTTTGTATTTTTTTAATACTAGTAGCTGAGCCATTTGTAGGTCATCAAGTAGTTGCTTAATAATGCAATCAAATGGAGTATCCTGTCCACTAGAGACACTTAAAATTCAAGATACCCCTATGTGATAATGTATTTGAAAATGCGAGTACTGGGGAAAACTACAATCCCATTTTACCATAGTGCAGACAAAGCAACTGGAAATTTTACCTCGAGAACAAACCGTCAATGAACGGACTTCATGGATTGATGGATCATTCATCTATGGTACCGCCCAGTCATGGGGGTCTAAGTTTTAGGACGGTTAGCTCAGGGTGCACCTGGATATCGACCACTTAACAACCCACATATTCCATTGAATATCCCCGCTCTGCCACAAGTACATCGATTGATCAGAGTCCTAAGATAGATTATTTAGTGTGTTCATTGTTCTATAGAAAAGCTATAAATAATTTGTAAAATTGAAGTGTTGGGAGACTCGCGTGTGAATGCAACAGCATCCTGGTCTTCTTTCATTTGGTCTGATCCTCTTCCGTGATTGGCATAACTACGATGCAAATCAAATCTATCGAGAACATCCTGACTGGACAGACGAGCAAATAGGCAGCACGGCGCTGGGATTGGTCATCTATGCAGAAGATTATTTGCTTTGTTCCAGGACCTCTAGGTTACTCATAGTGCATCATCTAATAGCTTAAACTCAGTGATTTCTGTTAAGGTGAAGTCGTTCGTTTGTCAAACTACACCAAAGGAATACATGCCACACATGCCACCTGGAATCTCGCTTTTGGAACACCGCCTTCAGGTTCCCTCACTCAATTGTGCCACCAGCAATAGTGGCTGCTGAGAAAACGAGTAAATAAATGTGAACCGGACGGAAGATGGTGGATATCCTGCATTGAGTGCCAGCGAATTGGTGGTGGAATGCACAGGATATTGGGAAGGAGTAGACAGTGTGGATGAAAACCTTATTCCTGGTTAGTTAATACTTGAGTGGTTATACTTTTGATAAAGATTGTTCAGGATGGCAAGCCAGATAGCTGAATGAGAAGATAACATAGTCGCAGATCTTCGTGATTACAGGACCAATGCATTTCTCTCGTTTGGATGTTGTTGCTTCATCAATAATGAGAGGAAGGGACAATGGAGTACCCCCGTATAATGAATTGAGAAGAACCTTCGGACCTGCACCAAAGGCATGGGAGACAATGAATGAAGATTTCTACAAGAAGCATACTGCGTGGAAAAGTTGAAAGAGTTTTGTGGATGGAGGCAATATTGAAACTTATTATATCTGGATGCTTATGTTGGAGGGCAAGGGTCTTTTATAAAAGTTAGAGAGATCCTCCAATATACCCTCATAACATATTGTATAAGTTTAATTCATCAATAATTCAGCTTGGACCATTTAGAATGCTGGAAGGAGGTGAAAATGGCCCTGAGATGTTCAAAGAAATCATAAAGGATGTTGGCGCACCCGTATTCGAGATGGAGGAGATCGATTCTGGTTTGAGAATAAACTAAATAGATTATTCACTAAGAAGTTCAAATGAAAGTTCATAGTATTACACTTCGTATATTATCAAAGCATTGCACAACCGATGTCGACGATGCTTCAGAAGGATGTGAGTTATAGTAAAACACCCGTTGGTTATGATCGCGTAGTTAATAGAATGTTTCATTCCAGTCATGGATCTTGAAATTTTGTCATGATTCTGTTATATAACAATATATGTATGTATTATATAATACTCATGTCTCAATATGGCATTTAATTTCCAGGTATTTTTCTTCAAAGAAGGTGATCCACGCCCCCGGCTTCCTAGTGAATACCATTGGACTTGAGTGCTCCCCAAGACTTATTCAATTCACCTACTGGGATGATAACGAGACTACTTATATCTACAGTCTAGGTTTGGCGTATATTCCTTTTAGTCAGTCTTTATTTCAATCTGATATATACTACCGATAGAGACTCAGCGATTATAGAGTTGATCAAGCTAAGAACTTTCAGTTTGCTATAATATCTCGCGATCATAATATGGTTGAACGACGTATCCGAATAGGTCATAACAGTGCTTGTGACAGCTTGACTACTGACTTGTCAACACAAAGTCCCAAAGTTAATGTCTACAAAGTGAATGGTATTTTTTCATACTTGATTTTGATTTAAATTATGTCGTGAATCTGCAGCTTTGGAATGGCTTCAAAGTACATACGGTCAGCAAGTTCGGATAGAAAGCGAATACCACTTGACAGTGTGCACAAGAAGGTTGTGCGGAATCCTTCGAAAAAAGGCTTCGTTTTGGAACTGGACAAAAGATTGAGGTATGCCACTCTATACCGAATCCATCAGCAATGCACGGACCATTTGTATTTTGTCTCAAAAGAATAATCTTCATTTGGTGATAAGATTGTCGTCTGATAGAGATTTTTCTAAATTTCTGATCACATTAGACAGGGGCTAGTGGAATGCAGGGGTTATCATAAAGGCTGACGAGACTTCTGTGAGTTTACTTCAAGAAATACGTCGAATCTGGAAATTATTTCAGATTCTCTTGTCCCAAGCAATCACAATAGAACACCGGCAAGACCGACTGTACCTGTTCTTCCGTGAAGCCTACGCAAAAGCATTCAATGATAGTGAACTTGCCAAGATTTGACTCGGAAACTTCATCTTTGGCTCATCGATGATGATTTAGTAAATGAGACAATATCTCGTCAGGAATTGGCAAGTGCAATGGGAATGAAAGCATAAATAATAAATACTTGAGTTTGTTGTGTGAACAGAATGTTCGCGATTGCAAAATAATTAGGATTCGCTCAGTTTCAATGAGTTTTTGACAGTATTCTTGATGGAGTTTTTTAATGGTGGGTTTATTGTGATTTACTAAAGTTCTGATCACAAATACTACACGTGAGTTCCAGTCTGTTTACACTAGGTTCGGTAAATATGTATAATGTTATAGGGTGACTGTTACTGAAGCGCCTTAGTAGTCTTCTCTTCTTTGAATGGCAACAAACAGGCTCCGTCATTAACACATTTAAGCTGCATTTCTCTGCTAAAAGTAACGGCTTAATCGAAGTGCGATTTAAACATTCGGGTCTATAATCGTCTTTTAGTATATTGTCGCGCCTACTAAGGCTCGCTTTAATAATCAGTTTTAAACGCGAATTTGATGGTGTTAAATACGATTTTAATTTGGGAATTGTTCACAATTAGATGCTATCTTGACTAATAATAAATAAATACAGACACAAAAACCTTTTACTACATGGACAAAAATCATCCGAATCTACCCAAATCGGCATTAGGTTAATGTCTTTGATTAATCACCTTCTTTAATTTGCAGCTCCTCAAAAGCAAAAACTGCACAGTCTATTCAAAATGAGTGATTTGGAGGGAAAGAACAAGGTTCTCCGAATGGATCTCGCAGAACTGGTCAAGTCCCTCAATCATACCGCCGGAGTTCACATTACCTAGAAAGTGTGCAGCTTCGATTAACTTTCAATGACGTGCTGCACAGGTGCAGGTATACATCCCTGTGTAGTATGCCAAGTATTAAGTTTCAGGAGTAAGTTCTCGACGATGCGGAGTACTTGACTTGTAATAATTTCGACGCATTGTTCTCGACGGAGATCTCTGACGTCCCGATCGGTCTGGTCCATTTAATAGATTATTACTCACATTTATCAAGTAGTATGGTGTTGAATTCAAATTCGCAAGTAAATACAACTTCAGGCCATCATGCCACACCTCATTCCCAATAGTGACCGCTCTACTCCTGCTCCACTTTCTCTGATTCAGAGAATTTGTGCATTCAAAGACTGGAAACCTATTCGACTACACGTCTTCATCATCGTCTGCTTTGTCGCCATTCACATTGTCCTTTTTTTCGAACTTTTCTGGCGTTTACTGTTTAGTTCGGTTTTCAAAAGCAATCAATTAAGATTCCTCCCTAAACGAAGATCTAGACCTCGGTCGGGTGTGGGTGCCGGGATCGCTATCACTCTCTCTTCTATTGCGGGAGCCTTGTCATTTAGCATGGCGTTGATATTGCGCTTACAGTGAAATATTATAACACTGCTTCGAGAGAGACAGTATTGCGCAGTATATTCCATTTGACTCGGCTTCGCGTTCCATAAGGTAAGAGCCTCTCTCTTGGCCTAGCGCTGTAGGTTAATTAAAACAATTACTCCAACTCGTAATTTCAGAGCGTCGCATTATTCACCCTATTCTTGTCTACCCTTCACACCATCGGCCATTGTGTAAACTTTTATGACGTTGGAACTCAAAGCGACCGTGGACTTGCTTTTCTCTTCCAGGAACAGCAACATTTTACGGGTAGCCGCACCTACACGACTCGGTTGGCAGATCTCTCAGTAGATTGAACGTTGGCTTGCTTTCAGCTCTGACGTCGCGCCTACCCTAAGCTGGTTCTATGGAACAATTACTGGGTTGGCGGGAATGGGATTAGTTATTATTTGGTTATGAGTATCATTTATGTGTTCGCATGGCCAAAGATCACTAAGCATATCACTCGTTTTCTCCGGCTGACTCATCTTGTGAATGTTGGGTTTTATGCACTCACGATCTTCACGGACTTCCTTTTTGGGGTAAGGCTTAATTTAATTTGATTCATTGCGCCTACGCTCTTTTTACGCTCTTGACGTCAATATTTGGTACGTCTCCCAAATTTGGCACGTTGGGACTCATTGTCCTTTCTGTAATCGAACGTATAATTGGGTTGATGCAATAACCCATTACAAGTCGTTTGATATAGCCCATGGAGAAATCCATCAGATATTATATACATCGAGTACCGTCGTGGCCAGGAGAATTTGAATATAAATCAGGACAATGGATTACAGTATCACCACCCTCTATATCATGTACCTTTAATGAATCTCACGCATTCTCGATTGTCGCCTCAATTCCACAGGATGAGAATATGAGGTTGTATATAAAAGCAGTTGGACCTTATCCCCCGGACATGGAAGTAGAGAAGTGGATTGATAAGCTCTTGAATACAGGGTCACCATTCCCATTGGTAATTCAGATGAAAGGACCATATGGTGACGGTAATCAGGAATAGATGAATTATGAAGTTGCAATAATGGTTGGAGCAGGAATCGGAGTGAGTCCATATGCATCCACGCTTGTTAGTACCAAACACATCAAGTGACTCGTTACAGAGTGATCGATGTCGTAAATATTTCCTGTGTGTTCGAGTCACAAGAACTTTGAATGGTTTGTGGAAATGCTGTCCTGAAAAATGACTATTGAGAATCATTTTAGCAAAGCCTCCTGGGCCCGAGACACACATTATTCGTCACTCAGATGTTCCATAAGTTTTATTTAAGCGGAACTACTATGCTTGAGTTTTTTATGCGTTTTTGGTTTTTACATGTATAACTCGGCTAAACCTAATGGAGAAAAAGGTTCCTTAACTAATAAAATGTTGCTCAGCTAACTATTTCTATGCAATAAAATATGTTTCAAAGTATCATCTCACAAGTCCAAATTTGATTATTTTTCTTAAACCGAGTATATTTCAAGTCCGAAATCTAGTTTTCTTGAAAAAATTTGGTATATTTTTTGCACATAATCATTTTATAAAGTGCTCTGCAAATCAGAAATAGTTCGAACAGTCTTTCATAGTTAGTGTGACATTTATTGGAACTTAAAAGAAAAAATTACGCGACATAGAAACGCTCGATTATCTGAAAAACCAATGGATTTTGATTCTAGTTAATTTATTTTCAAAAACCGATATAAACATATTTTGTGATAATTGTAAACTAAAAACTATACCTGAATATTTTTATATTTATGTGGTTTTTGATTTCAGGATTCAATGGTAAAATACTACCCTAACGGCTTACCCAAGTCTCAGAAAATTGTAGTTACTCTCAACAAATTAATACATATCATTTCTTATATGAAGTACGTTTGCGAGAAGCACTTCCGTGCCACCAACACAGGCATATCAATGTTCACTGGCCTACACGGTAAGAATCAATTCGGACGGCCCTTCAAAACTTTCTTCCAATGATTTATTCAGAGTGAGATAAGGAGGTTAGTTTCATGGTTTTAACCTCTAAATAAAGCAAATTTGCAGCAATCCGAAATTGGAGTGTTCAGTTGTGGACCTGTATACTTAAATGACAGTATAGCTGAAGGATGTGCATGCCAATCGACAACGAGATGCTCCATTTGCACTTTGAACCTTTCTAATCTTCCCTGTTAGATTTACTATGACAAAAAAAAGATCATGAATGACAAAACATAGAAAAAAAACCTGAAATAAAGATTTCACATTTGTCCAGGTAGTATATATCCCCAATACAAACATTTTGATACGGTCTCGAAACTTCCCCATTCCCAAATAATCATCAGACATTGTAATTAGGCAAAAAACCAGACCCCTCGGCTCCTCCCTCACCACAAATAAAAGCAATTCCCCCATTTCCCCCCAGTTCATTCACCAACAATGAGTTTATGACGTTCGTGTCATACACTTCGTTTTCTTTACGTGTTCATTTCTCCGTTCTCTTCCTTCTCGTCGCTTTTATTGTGATCTATGACATTTTCGATGAAATTCGAGAATTTCAAGAAGTAATCGAAAAAGATGCCAGGAAGTTTGAGGTAAGGCAATATGTGGTGCAGCAATAATATCCGCATTTTTCGTAGATCATACCGTTATGGGACAGTCTGACACCACGTGATAAAATAGTATACGAATGTAAAGCAAGGTTGAAACGAAAATGAAATTTCGTTTTCGAAAACGAAAACTTTTCGTTTTAAACGCGAAAGACTTAGAAAACGAAAACGAAAATATCAGTTTTGTCCTATTTAATTGGTAAAATATAGTTTTAGGTACATGAATTATTAGGTCCATTTTCGAATCAATAATAAACAAACAATAGTTTTATTACAAACAGTAAAAATAAAATAAAGCTAAAGAACAATAACAATCACACTTGCTGAACAACTCTTCCATTTATCCAAATTTAAAGCCACTTTTTGATTTAGCGTAAGAACACAGACTTGCTCAACGACTCTACGTAGACTTATTCCAGCTTTGTAGAAACGTGAGCCGCCAGCTCCTGAGAAAACTCGTTCCGATTCAGCAGATGAAGCTGGGGTTGTCAGATATCTGTTCGCTATATGAGAAAGCAATGGCAACTTAGATCGATTGAGCGTATTTTGAAAAAAGAGCGGGGTCTGATTTTCTATTGTTGTGGGTATCGGAGAAAACCAACTTCGGCACTAGCACCGAGCATGGAATCTACAGGCGCTTTGTATTCTTTTTCTGATCTTGGAATGCTTTTTCTCGTAAGCTTCAAACAGGAACTTCGTTATTCCCACTAGAGTTTCATTTTCTGGCTCATCGACTGCTTCTTCTCTTCTTTTAATAATCCTTGCGCTAAGCTCAAAACGACCAAGCTCTTTTCCGTCTATTTTCTTTTGTATCGTGGGTCCCAATGTTTGATGCAACAATCACCAGTTTGAATGTCACCAGTCGGTGCCCGCGTCGTAGGTGCGGTCAATGGCTGGTATGTATATAATATATATTAGATGGAAACTATAACATTGAAAAAAAAAAGCAAACATTGAAACACAATAGAAAATCAAAATATGGGCTCTTCTTGAATAAAAATCAGAATTACGAATTGTTCACTGGGGCTTATTTCTTGTACAAAATAATGATTTTGACCAGGCTCAAAAAAAATACGTTGTGCACAGAGAGAGGTGATGTTCCTTTTTTCGAAAATTCGAAAACGAAAACGAACAAAACATGACAGAAACCCGAAAATAACGAACAAACGAAAATTCGAAAACGACAAAGTGACAAGCCATTCCTGATTACAAGGTCGGTATTTCATAAATATTGTAGAGAAAGGTTGCTACTAGCGATGATTCCAAAAAAATTTAGATTCATCAGAGATGTACACCCAAATACCCAAGGCATCGGCCCTAATTATTGATTAGACACAACCGCGCTTCTTACTTCCAACAAGCTTTTCCTATTTTTCCGGTTCTACTTCACCGCCGCCTCACGTTCAATTGCCGGTTTCGACAAGCGGAGCCGATTCGGAGGAGCTGTTTCTTTTTAGTTGTATATACATCTTTTTAAAATTAAAAAGTCAGTGTTGTTGTTACCCATAAAACAGTGAATGAAAAAAAAAGAAGTCTAGACAGATCAAATGTAAAACTGGCACAGAATACTCAAAGAAGCATAAAAAATGTATTTTAATAATGGATGATATAGGGAAGGTTAGAACGTTTCAAAGCGTGTGGTGCAAATGAAAGAGCATCTCGTTGTCGGTTGGCAACTGCACATCCTTCAGCTATACTTTCTTACACGTCGACAACTGAACACTGGCCCGATTTTGGATTGCTGCACATTTGCTTTATTTCGAGGTTAAAAAGCATTTAACTAATCTCCTTATGTTCACTCTGAATAAATTGGAAGAAAGCTTTGAAGTTGGGCCGTCCGAAATGGTTATTAGCGTGAATACCAGTAAACATTGAAATTCCTGAGTTGGTGGCACGGAAGTGCTAACCTCTGGACGAATGTACTGCAAGTAAGAGGTTCAAAAGTTTAACAGCTTCAGACCTCCCGCTGATGCCACTACGTTTAAATGCGTCCGCTTTAATCAGTTTATAACCATAACCTGACGTTTGATTTTGAGAATTATCTTCAATAAACTCACAAGCATAGTAGTTCTCAAATCACTTGTGGACCGTCTGATTGACAAAGATATGTGTCTGCCATAGTTCCCGACCTTTCGTGGTCTCACGTTCTTTGAGCACATCCCCCCACAATCCAAGGTTTGCATAGTCCTTGTGAGCTTTCGAGTCCACACCCATAGGAAATATACTTTACGGCCACGTACTCTGTGAAATGAGTCACTTGATGTTCGTTGTACAGATCAACAACGATGCATATGGAGTCACTCCGATTCCTGCTTCAACCATTATTGCAACTTCATAATCCATCCATTCTAGGTTACCATCACCATATGGTCCTTTCTTATGGATTAATGGAAATGGCGATCCTGTGTTCAATTATCTTATCAATTCGCTTCTCAACTTCCATGTCGATGGTCCAACTGCTTTTATATACAACTTCATATCATCCTGTGGACTTGAGTGGGCAATCGCCAGAATGCGTGAGCTTTAAAGGTATTTGCCGTGATATTTATGGTGATATAGGGATACAGTATGACCCATTGTCCTGATTTATATTTAAACTCTCTTGGACGACGGTACTATTCATATCAAATATCTCATGGAAGGATTTCTGCGTTTACAATTTCTAAGTTTTTGTAATATTGCATCAAACCAATTATGCGATCGATTACAAATAAAACGATTGAGAGGGACGAACACCCACGTAGTAGCAAATTTGGGAGACTGCAGTTGTCAACAAATATTCGAAGAAACTTCTTGAACTGAACAGTGGCAAAACATCCAACAACTTTGGAAGCCCATGAAGAAGAGTACGTGCGTAAAAGGCAATATTGAAGATGTGATCCCTTCAGAACCGGAATGCGTGATAAGCTCTCTTAATGAGACATGGGAACGCGAGATCATAAATGATGCACATGACAGCGACCAATGCAATTCCTGTCAGACCTGTAATTGTGCTGAAGAACCAGTAAATGATTGAAGGAAGGAAGTTGGATCTGAAAGTTATTTGATGAAAGTTGTTGTCAGTCTTGAGAGAGTTTGTTAATGCGTATTCTAGTAAGATTGAATGCAAAAATGAATTCAAGTAAAGTATTACCCAAAGAATGCTTCCTGAAAGAGACAAGCAAGACCTTGGGCTTGACTTTGAGTTCCAACGTGATAGAGATTGACACAATGTCCAACGGTGTGAAGAGTAGCCCAGAAAGCCGCGAAAGAGCGCAACGATCTAGAAATGTTCAGTTATTATAGAGTTTTTGATACTGGCGGTCATAATAAACAATACTTTGTCCAAATAGTATTTCCCATTGTTTAATGTCATAGTTTATTAGGTGTATATTCAAAAATCTGCCACCATCCTTCAGAACACTTATGTAAAGTCGACTTAAAAACATCTGAGTTTTTTGAGCAACAAGAGACCCACACTCGTTCTAAATAGAAATATATCTGGAGCACAGGAAAATCTTTAAACTTAGGAGACACTTTTTTAGTAAACAGAACACTACACACAAGCAACACTGATGTAATGTTACCTTATCCTCACTTCTATTCATCATTTATTTTGCCTTTTAGACATCGATTTTTGTGTTTTGCTTCTTCTCCAATGTAGCCATTATTTTTTTTCTCATCCCTTTTTATTTTTGTTCCATTTTTATTTATGTAACGTATGGTTTGTATATTTTAATGTGAGTTTTTTTTCCGTAGCTCACGATATCTTACTATCGTAATAAATTTAAAAAAATTTTATCAAACACTTACGAAGTTTAGGCCGCTATATCATAAGTTCAAACATCTGGCTGAGACACCATGTTCGATGAAAAGATCTTTCCTTTCAGGCGTTGTATTCTATTTTAAAAAGTCTTTTCAAAACATTGTGTACGTACAGTACAGATATCCTACTTGCATGAAACCTCCGCATTACTGTACAGATAATAAAATAACACGTTTTCCCTTATATCTGAACATGCTAAATATTTTTAAAAACAACTGCTCATTTGACGGATAAAATTTACTAATGCCATCCAAGAATAATATTTAAAAAACATGTGTTACACGCTGCCCTAACGTTTCTCACCTTGTGGTTCCAACGCAATAGCCGCAAATAGTCTGGAAAATGGAAAATACTGCGTACAATGACTGTCTCTCGAAGCAGTGTGATTATGTTTCCTACAAACTGTCAGCAATATCAACGCCATGCATTATGAAATGGCTCCCGCGGCACCACGAGTAATAGCGATTCCAGCTCCCATTACTCGTCGGTGATCCATGCGCCATGTATAATCTGAAAACTAAATTAACATGAGCTCCCCATTATATGAACACGCCAAAACCGTTCGAAGAAAAGAACAAGATTGATGGCAACAAAGCAGAAGACAATGACAAACGTGTGCGATAGGTCTCCAAGAACGCTGAAACCTTGTGGATCAAAGTTAGCGGTGCTGAACTGTTGAGGTGCCGGATCGATCCACGACGGCAAATGAGTTCAGAGAAGATGTTCTAAAAGTTATAATTGTTATACGGTAAGAGGCCTCCTGAATACTCACTCTCCAATACTTGGCTGATAGACATGTTCTCTCGATTGAACGTCAGTCCAACTTGCTTGTCAGGTATATCCGAGAAAGCAATCCGAGCAGAAATCATCGTAAGTCAGGTACCGGTTGGCATCATTGCTCACTCCTGCATAGTTCAGCACTTCATTGAATAATCGGGATGAAGCTGCACACATTCAGTAATGACTCCAGCGGCGACTTTGATTGTGGGACCTGACGAGTTCCGCGAGAACCTTTCGGAGTACCTTGTTCTTTCCCTCCAACACACATTTTGACTAGAGTTTTTTTGCTCTTGAGATCTGAAAATTAAAGTAGGTGGTGCATAACATTTTTTAAAGGCAGTTTTGGTTTTTCTAATGTTCATTAAAAGAAAATCTACAATTGACTAATTTCTCGACACTTCGGTGCCATATTAGTTTTGACCTCCCTGTCACACGAGAACTTTCTACAGTGCTCTCGCAAATACTATCGGGCTCCCCCGAATAAATTCAGATTCATAAAGAATAAATAACCTTTAGAACTTTACTATGTGCTCTCGAAATATTGCCGACCATAGGACACCGAGTTTCCCGGCTAATGAACCAACAATGTTAATCCAGCGGTCGCTAACCGCCTAGTCCGTTTCAAGTATCTGGAAATAAATTTCTTTTGGAGACTTCGGCGTTCTCTTGTTGTAACCAAGGTCTAACCTTTTATATGTAGTTTTGTACGTACAAAATCAAAGACAGTTCAAAACAACTTTACCGCTACTGCTGTTACACGTAATTAAGCTGTATTAAGTATATATTCAATTAGAACTTGCAAAGTTAATGGGAAACACGTCATGCCGGAACATTCTAAAACGTAGTCTTTGTATCACGACAAATTTATGCTGAAATAGTCACCATTACTCTCTCAAGACTGTCCCCCAATTGCATTGAAACTGAGCCACGGCTCATTATGTTTTTGCTGCATTGGTCATCGCGAACATTCCCTTCTCAAACTCATTATTCGCTTTCATTCCCAACTTGCCAGTTCCTCGCGAGATATTGTCTTAATATATCATCATTTTCCGTGATGAGTCAAATGAAGGTTCCAAATCTTGAAGTGCACTATCATTGAATTCTTCCCATTTGCGTAGGCTTTCGCGCACGGATGAACAGGACCAGTCGGTTGACGGCGTTTCTTTTGTGATTGCTTGGGATAAGAGATTCTGAAATAATTTCGAGACTTCAACGTATTTCTTGAAGTAAACTGACAGAATTCTCGTCATTCTTTAATGACCTCTGCATTGATTCCACTAGCCGCCTGTCTAATTTGATCCAAAAATATAGATAAATCTCTTGCTATCAGACGACAATCTTATGACCAAAGCACTGATGATTATTCGAGACAGAAGTACAAATAGTCCGTGCATTGCTGATGGATTCGGCACAGTGTGGAATGTAACTGAATCTTCTGTCCAGTAAAACGAATTTTTCGGATTACACCGCGTGGCTTCTTAACTGCCAAGGTGGTGTTTTCTATTCGGCTCTATCCTGACATGTCGTATATACTCTTCTTGAAGCCATTCCAAAGCATTTACACCATAAATATCTCCCTTCGCGCCACAATCATCATAGTTTTGCAAAGTAGTTAGGCTGTCACAAGCACTGTTGTGGCCAATAGCAATGCGTCGATTAACCAAGTATCGGCCAATTCCATAGCAAACTGAAAGCATTTTGGTTTGTATGGAACTAGATGGAATAGCTCACTTAATGGCACAATGCTAATCCAATTAGGGCGAAAACGTAAGTGGTGATCAGTCCAATAAGTTGATTGCATAAATGGCACACATGGTTCAAGTCCAGTTGTCTGTTCACTTGGAATGGTTGCGGGGGTAACCTTCCTTGAAGAAGTATAGCTGGAGTGATAAATAAATTGCAATGCGGAATTCAAAAGAACATAATAATAAACCATTAAATTTGGAAAGTACTATTACTTACATCCTTCTTAATGTCTCATCGATATTGGTGGTTGCTTTGATAATATCTCGAAGTGAAATACTATGAATTATTTGAACGGATTCTTCATCAGTGAGTATTATTCTCAAACCTTTAGAATCTATCTCCATCACGAATAGGGGTCAATTGATCCTTTATGATTCTTTGAACAACTCTCCAGGCCCTATTTTCACCTCCTTCCAGCATTCTAAAATAATGACGTTTTATTGATTCACGTAATCCAATATATGTGCACTGAGAAAGAAACAAGTATGCGTAATTTATTCTGCCTGATTTGCAAAACATACTACCTTGCATGGGTAACTGAAAGAATTAAGGAATTGCTATACTATAAAACTGAGGTGACATACAACGTCCCGCTGAGAGTCTAGCCTGCTACAAATTATAGAGTATGACCTAAAGAAGCCGTTAGAAGTTACTCGTGAGAACTTTTTAACCCTTGAGAAGACTTTAGCGAATTCTATTCAATCCACTTATACCAATCAGTTATAAACGAATTGATTTTCATTGTTTTTGCTTGAAACTCTTCGAATTCACCGCATTTTAAGTTACGAATTCTACTTTAAATCCAAAACTAACCCTCCTAATAAGCATCCAAATATAAAATAGTGCCTCCATGCAACTCTTCGTTCAACTTCTCCACCTTTGCAGTATGCTTCTTGTAAAAGTCTTCATTCATTGTATCCCATGTCATTGGCGCAAGTTCGAATGTTCAATTCATTATACGGTGGTACCCCATTGTCCCATCCTCTCATTATTGATGAAGCAACAACATCCAAACGAGAGAATTGCGTTGGACCGAAGAATCACGAAGATCTTCAAAAATGACTACTATGTTATCATCTCGTTCAGGTATCTCAAGGCTTGCCATTCTAATCTGTAGTTACAATACCTCTATTATATAACCACTGCAAGCCTGAACTAACCACGAATAATCTCATCCACACTGAGCGTTATTCCTTTACAGGATACCTGCGCATTCCACCAATTCTGGGAGAATCTTGACCAATGCAGGATCTCCACCAACTTCCGTCCGGAATTCACATTTATTTTCCTCGTTTTCTCAGAAGCACTGCTGTGGCACAATTGAGTGAGGGAACCTGAAGGCGGCAGCTCCAAAATCATGCGAGATTCCTGGTGGACCATGTGTTTAAGCATGTGTTTGGTGTAGTTTGACAAACGAACGTCTTTAAAAGAAACACTGAGTTTAAGGTATTATAACATAGTTGATTAACCTAACAGCCCTCTCCGAAGTCATATGCAATAATCTTCTGCATAGATGCAATCACCAAATGACGTGCTGCCTGGAAGATTTGTTGGTCTGTCCAGTCAGGATGTTCTCGATGGATTTGATTTGCATTGCCAACGGAAGTGGAGCAGACCAAAAGAAGACCTGGATTCTCATTCACACGCGAGTCTCCCAACACTTCAAGTTTTAAATATTTATACTTTTATAAAACTCTGAACTCACTAAATAATCTATCTGGACTCATCAATCGATGTACTGGTGGCGGAGCGGGGTTATTCAATTGGAATATGTGGGTTGTTAAGTGGTGGATTATCCAGGTACACCTTCAGCCACCGCCCTTGTTTGAAGGATCTTAATGAGGACACCCATGGCTGGGTGGTACCATAGATGAATGATCCATCAATCCATGAAGTCCGTTCATCGATTTGTTCTCGAGGTGAGTTGAGTAATCCCATTTCCAGTTGCTTTATCGTATTTGGCACGTGTGAATGGGATTTCTGTCTATCCCTCACATTCTTTATCAAATGCATTATCACATAGGGGTACTTGTCTGAATTTTAACTGTCTCTAGTGGACAGGATACTCCATTTGATTGCATTATTTCATAAGCAACTACTTAGGACCTATAATTCTTATTACTAATTTTTAGAGGGCGATAAAAACCAACTGAAAAATGCCAAAGATATCGTGCATCCTCTTGTATTAGGTCTACCGGACTAACTCCTTTGAATAGTATATCGGAGAGTTCACGGGCGGACGCAAGTGAGTAATTCACTGAATATACACCGTCTGAGTAGTAGGAACGTGCATCTCTATGCAGCCGACTTCCTGAAGGAGTAGGGTAACGTCATACGTCTTCTCTTCCGAAAAAACCTACCAGCAGACCCCCATTCAATCCTCGCCAGATTGTTGTTCCATCAGTCGTATCTTTGAATTTCCTGATTTTGTTGGATTCCTGAAAAGATAAACGAGTTTTTTATTTCCAGGCCACCAAAATCTATATGACGGCCTTTTAGTTCCTTATTGAAATCTCTAGATCGCACAGTCACACATGCTCCCTTCACTACATTTTCACGATTCGTGCATTTTCTCACTGATCGCGCAAATTTCCGGTCAGTAGCGGAGCAGAGCAAACATTTGCCTAGCCCCTCCACCAGAAACAATTATTTTCGTATCAATTTCGCACCTTTATTCCGTTTGTTTGCCTCTTTTTTGTACATTTTATCCTTTTTCTAGCGACAATTGACGGCAAGGTCAGTACAACAGGAAATTGTTCCTGTCGTGAATTTCAGGAATTTTTCCAAAATTGGTTGGGAAACTACCACTGTGTTGAAAATTCGAAAGATACACATTTTGTTATTTAGGTGTAAACATGAACACTAGGTAATCTATGTGTTATGAAAAAGATAGAACACAGACACCGGGTGGCATACAGAGCTTATCAGTAAACAACTATCAGTGCTTTTGAAATTTTGGAGGGGCAGAAATAAATGTTGCGGACAAATTTTGTTTGGGATTTGAAGTTATGAGAAATACGCAATTTGAATTTTTGAACATTTTTTTGTAATTTTTATCCCATTCACGCTTTGTAATCTAACATTTTGAGAATCTAACCGGCAGAGAAAATAGTACAGACACGTTCAATTTCTTCCAAAAATTATCAATATAGGCCACTTGGTGTCCATCTTCCTTAACTGTTTGCTATAATTCCTACCTCTCTTTAAAAGAAATCAGCTACAATTTGAACAGATCTTGGTCAATACATTTTCAAAGATCGGCTCGATCCCTCTTAAACATTTAAGCTAGCAGGTCCGCTCTGTTGACAAATTTTCCACCCGGTCCTCCGAAAGGAATTTTGTTGGTCAGCCAACAACCTAGACCATGAACCGATCGTGCAATTTGCCTGCTTATAAAAAACGATATCTAGGCCACCCATTTTTAAATACTTTTTTGCCTAGTCTTAGGTATGTGGAATAAATTCTAGGTCAGGAGGTTGTCTAGGCCACGTTTCCACTCACCTTTCCGGCTGCAAAAATTGAACTGAACAGTATAGCTCTGTACAGCACATTTGAGCGCATTGCTCGTGCGCCTTAGAGTTTTAGTTGACCTGAAAATATTTGACTATTTAGAAATTGAAATTTTGAAAAGCAATGATTAAAGGTCAAAAAAGATGTTATTTATACACATGCAACATTTCAAAATTCTGATAACAAATATTTATAGGAACACTTTTTCCAACAATACGGTGACTAAGGGGGTTTACTGATAGTAACAAATTGGAGCGGTACAGGAGGAAAATTTAAACCGGCTCTACCCATTTTAGTGCTACCAGCCGACAACTCGCAAAAAAATCAATCAGCCGCACACCCTGCTTCGCCTGGATCGTCAATCACAGCGTTTTGGAATTTTCCTAATTTCTAAAATTTAATTTTCTAAAAACTGGGGATTTTTTCTGTAATTTTTTTTTTACTTTTAAATTATTTTTTAGGATCACGCCTTTTTGAAAATAACTTTCGAAAAATTGTTCGCTAAAAGAGTATAAATAAGATCAGGCTTCGAAAATGTTTCAAAAAATATTTTTTCACGATTCTGCAACAACAAAAAACAAAGACTGAAAAAAAGTAAGAAATTTATTTTGAACTTTTCAAATCTACATTTACAACAAAAACAGTTCTTTATAGACAATATTATTAAAATCCAAATAGATTCCCAGTAGATTTTGTTTAAATATTCAGAAAAGGACCAAACTTTCAGTTTTTGTGTTCTTAAAAAAAAAAATTTTAAATTAAAATTGTGTGATTATCAGTCTCAAAAATTCCAAAAAAGAGGCTTTTAGTTCTGTAACTTTTGAAGATTCAAAAAAAAATTGGGGGAGCCAAAAACTCACGCTTTAAACCTGCCCGCGAGAACTGTCTGCAAATATTCAACTTTCTCATTTTTATTAATTTAATGAGAAAATTTAAAAAATAAAAAAAAATTTTAAGGCATGGATGCGAAAGGCACGCGGGTAATTTTAAGCCCAGGCTGGCGTTTTAACTTAGGCTTCCATAGACCAAATATTTTCATACTTGTTGAAACTTCTGTAAAGGTTTGAAAATTTTTGAACAATTTAGGCCCAAAACCTTTGTTCCTAAAAGCATTCAAAAATTCTTTGAACAAATTCCGGTTATACTATCATAATGGGAGGAGGAGAAAAATATAATATGATTCTTCGTCAGACAAAAATAAATTGGTGAAGAGAAAAAAATGAATTGAGAGAAAAAGAGAAAGAAAGACGCGTCTTCCGAAGAAGAAGGAAACCTCCTGCGCGGGATGCCGAAACAATAAGCAGCAGCCGGGAGTGAGGGAGTGCACTGCACTAAAAAATGCGAGAGATTCACAGAAAATCGGGAGAAACCCCCCGTATGTCGGTCGAGAAACACCTAAGACCTACTTCATATTTCGAACCGGTTCATTTTCATTGGCATTCGTATTATTTAAATTATTTTGACAAGGGCAGTCGTCGTAGATGCTAATGTTGCCAGTTTGACGGGATGGCCGTGTCACTTGGGAAAAGATTGGCGGCAAAAATCGGGGGGTTCCTAGCCACCCTTTATCTTCTATGGTCGGAGAGGCGTTTTCTACTTATTTTGGTAGATGTTAATTAAAAATTTCATCAATTTGGGAGTAATAATGTGGCTGCAAATCATATTGAAATTTTCTATACAGTCAGTGCGAGCCAGCCTTATAAATTTTCTAGTGCCGCCCAGAAAAAAAAAATATCCTAGGCCACCAATTTTTGATCATTAATTTTTTGGCTATCAAATTAAGTAGACCACTAAAGTGTTTCGTCATTAAAATTTTCTAGGCCACCAATTTGGCTTGACTACTAACCTTCTTGGCCATCACAATTTCTAGGCCACTAAGTTTTTTGTCTAGGCCACTAACTTTCTAGGCCACAAACTTTGATGTCAGGCCATAAAGTTTTTCCCAGTAGTATGTTTTGCTCTTCAAATTTTTCAGGCCACCCACCAAAATTCTATTCCAACATTTCTCCGTCCCATCAAAGTTTCTAAGGCCTTTTATAGACGACTTCTTAATTGTAAGTCAAAGTGTTTCAAGACCATTATTTTCAATACACTAAATATCAAAAAACCAAATATTTTCCTTCAAAAACTTTGCAAACTAAACTAAATGTTTCCAATACGTGCTTTATTTTTATATGTAGGCGTTTAGACACCCCAGTGGGGAGGAGTAAATGTTAATTCTTATGATTATTTCATTGGGAGTCACTTTTCTTGTTCAACGTCTTTAATATTTTTGAATAGGATTATCATTGGTATTGGCAAATAAATAAAATTGTGAGTGACGTGGTGATATTGGACATTATTTGATTTTAGTTTGCTTTTTGAAATTTCAATTTTCGGCACTTTAATAATTGTTCAAAATGGTCATTTGTCTAGCAAATTTGCATTTTATTAAAATTTTTTTCATTTATTACATTTTCAGTGAAAATTGCACAATCTTTCATTTAAAACTCACTTCTAAAATGACAGATGCGAAAAAATAATTAGGTTTCAATATTCAAATGAATAATTTTTTAAACGATTAAAACAAAATTATAGTTATTACAAATTATTTAAAAGATGTCTATACTTAATCAACACTACAATTTATGTTTTGTTTTCATTTACTCGAAAATCCAGAAATTTTAGGTTTTCGAGAAAACTTATTTGTTTTTAATAAGTGGTTTATATAAATGAATCCACTTGAAAGTGCGAAAATGTACTTAAAAGAGTCCAAAATAAGCAAATATCATCACGAAGCGCCGAACGTAAGTTTTTCGAAATGTTCAGTTATAGTTTTGGTGAAACTGCCAACTTTACGAGGTTAAAATTTCGGGTTTAATTTTCAAGTCTGTTTTTATACAAATATAAATCAGAGTTATAAAATTTGTAAAAAAAAATTTCTTGGTCGGTATTTAAAAATGTGGGTGATAGGGCCGTTTTTGACAGAAAAAAAGTTTTATAATTGTTTTACATTTTACCAACATAGGAGCTGCCTTAAAAAATAGCTAAAGGCTTGGGGTTTTGCCCTAATGAACAGTCCCAAACTACCAAATATAAATGTAAAATTATTCTAAAAATCTTCAAAATTTTTAACGATTAAAAAAATTTGCGAAACTTTAATAAAGCAATATGGCGAATAATTGTTTCATTCCCGCGATTTTTTGATAATAATTTTTTTGTATAATTCTTGCATTTAATGGCGTCATTGCTTGTTTACATGTCACCATGTGTTTTTCGGCAATAGTAATAGAGGTTTTCAGAAAGCGATTTTCTAGTTTTTGAAGCACATTTCGTTCCCGTAAAGAAAACTTGATAATTGGAAAGAAATGTGGCAAAACGGCGCAATTGACCAAATCGACCAAAAAAGTTAACAAACTGTATTTAAAAATAAATTAATAACCAAAGTAAAAAGAACACCCACATAAATGTCAAAAATCACTCACCCATTTTAGCTGAAATTCAAAAAAGAATTCGGTCCTTCCCTTTTTTTCTAAACAAATATCTCTTAAATCATACATAGTATAATTTTATATGACCTTTCTGACAGTTATATTTGGCATAGTGGGACCTTTATAAGGGAAGTCAAAAAACTGAACTCCGGACTTTGACATGCTATAGTTATTTTTCGAAAAAAGAGTGAAAATAATGATCCCTCCAAAAAATTTTGCTTCCGCGGACCAGGTTCAGCAAAGTTATGACGTTTGGAAAGTGCCGAAAAAAATTCCTTGACCGACCCAAGCAAAAAAAAAAGATTCTTCAAATTTTCAAAAAAAAAATTCTGAAAGTTGATAACAACTATTGTAACTTATTCAAAAATGTGAAAAACGTTTATCATGCACGTTTTTTCTCCCCACGGACAAAAAACCACATTGCTTGATCAAAATTTCGTGAGCAAAATTCTAAAAATTACTTTTTCTTGTAGAATTATTGGTTTTCTGTTATGAGCTATATGCATGGCATTTTTCACTCTTTTGGATAATTTACAAATATTTTTTCCTCTTTTCAGAATTTTTTTTGAAATTTTTGAAATTTTTTAAAAGGGTGTTCCAGCCACTTTCAACATAACTTTGCTGAAGCTGGCCCAGCTAATTTCTTTTGGAGAGATAGCGTTATTTTCACTCGTTTATTGAAAAATTACTATGACATGTAATCCGGAGTTCAGTCGACTTCCCTTGTTAGGGCAAAAAATACCCACAGACGGTACTCCGCCTAATATCAAAAAAGTTCCCACTCGAGATCACTTTTTTACCATCTCAAAATCGTTCGGTTTGTTGGTGGGGGGGGGGGGGGCTTAAAGAAAAACGAAAAAATGAGACACTTGTCAATTTGATGGTAGCAAGTGAAATGGAGAGATACCGGAAAGAGAGTGTAAATAGAAGAAGGGAACAAACACAAATTTCAAAGTTGTCGGAAGGAATTAGGGTATGGAGGATAAAATATTGGAAATTGGGTTTAATAGGATATGTATCTAATCCCGAAGAATATTATTAAAATAACCGGTTCAAAGATCGTACTGAAAAAATCGATAAATACGTTGTGATGGTCCTACTTCCGTCCTCTTTACACAACCTCGTCTTCTTCTTCAGGGCGCATTCCTTGTAACAATGCCCCTTTTCTCTCTTGATGGAGTGCCACAAAACAGTTTGGCAGTTACACAATCGGAAGGCGAGGAAAGCAAAACGGGTATCAGATGATGATTAAGTGAAACCGGAACTGATAAGTGAGAATGGATTGAAATACAGATAGCCGTAAACTTTTAATAACCTAGAATATTAGTTATTAAAGGTGTTATGTATGTTTCGAGAACAAGATTCTGCTTTCTCAATTTTTGAATGAATTATGTTTGAAGTAATTTAAAATTGCCGAATGACGGGTTTGAATATTTGTTTTTTTAAAAAGATTTTTCGTCCGGCCGATTAGTATTTCGCGAAATGTTTTTTAAAATCTTTGGGTTTATGTTCTTCTCTTTTTTCATAAGTCTAAGCTTAGGTTTAGGCTTACTAATTCTAATCCGAAGCATAAGCTTAATCCTAAGCCTAAAGCTCTCTCAGCCTACTCTTTTAAGCTTAATGAATGCCCTAGCTTCATTTTTTTTCGCAGGTTTTTTTCTCTAAATCTCAAAAGCGATGCTACGGACCAAAAATTGGTGGTTCAAAATGTGTGTTTCTATTTTTTCATCAAAAGTTATTTTATGTGACTATACAAACGAGCTGACAATCTTTCTTCAAAATTCCGTTTTTCTTACCAAAAATAGTCAATTTTTCGAAATCTTGCAAAAAACCGTTACCGTTTCCCTAAGTTTTGCTTTCCGTAAATCCTTGTACCTTATGTCGTATCACATGGCATTAGAAATATTTCACTTGAACCAATCTTGTGCGCGTGGAGTACAAGTTAAACATCATATGTGGTGGGTGCAATTGCGCTCTATTGAACAAACTATGTATCAACAGAACGCGTTAACATTATAGCGGTTGTGCAGGTGGGGAAAACAGGAAAAACGATTAGGCAAAACAAAAAGTCTATTATATAAGTTTTCTTCTACACATCTCATAAAGGAAATTCTAATTTTTTACAAAAAGAGCGGGGGGCGCGATTGTAAAGGTTTAGACGGAGCGTTAAGATCTTTGTCGACAAGTGGTTCAGCCGACACCCTGTGAATGTGATTGCCGATATTGTCCTTCTCGTTGATTGAGTCTTTCGAGAAGAGCGCCAGAATGACGTGCAGAATGAAGAGACCGGTGGAGAGACCTGGGAGAGTTTTAAAATTTTTGAGTTTCTAGGCCACGAGTGTCGTCCACTATTATGTCCAAGAAGCTAAGGACAAAATGATTGTTCACTACTGTTTCAAAATCAGCTTGAATCTCAGTAGAAAACAAATTTCACTGGAATATTTCAGCGCTCACCAATAGCAACGACCAGAAAAACAGTCTTAGCAAAGCACACGATTGCATAAGTTGGCACAAAAATCAACGGAAGCATGCATAGGCATGTCGACAGTCCGGGCTTCACACATTGGCATTGCCATTCCTGCCAGAGTACTGTAGACACGTTCTTGTGGAGTGAAACCCACGTACACGAAGTTGTAGGCCACGTGAGCGGTGTAGTCGACCGAGAATACCGTGGCGAGAAGGACGTCCACTTGGATTACCGGGTCCAGGTCGGCACTCCAAAGGGAGAGAGACGAGAACTGTAAAAACTTAAAAAAAAGTAACTTTTTCAGATTAAATCCGAAGAAAATAACATAATTAATAAGGATTTTGTTTCAATGGTTTTTTAAAGTGACAACTACTCATTTTCAGGTTTTAAAAACTTTGACTTGATAAAAAAAAACATTTTGAGCTACTTAAAAAGGTTTTGAATTCCCATCCAAAATCTTTGAAGAAATACAAATGATAAAAATTCTTAAAAAAAAATTGTTAGCAACCCAAGCGTTCGCTAAAGATCGTTGTCGTTTTTTCTCAGACAATTTAAAACATATCCCGCCATGATATATATTTTCGGAGAATATCATTTCTCGTAAAATTGTTTTCTCTGCAAATTTGAATTCTCCGCCAATCATTTTTCTCAGAAAATTTGACAAAAAGGATCAAAAACATGAAATTTCCGTATGGCAAAAAATGTTTTCTCAGAGAATATGAATGTCCGCCAAATATATCAGATACTTTTAAAGTCTCGTCAAAACGTTTTCTTCGAACATCTTAGGATTATTTGGATTTGTAGAATTTTGATCTTGATTTAAATTTTTTAAGTTTTCTGAAAAAAAACAACCATAACAGATACTTGCAATAACAGATGTAATCACGCGAGCAACTGCATTAAAATTTGAAATACAAAACAAACGATTGCCATAACACAGCTAGTAACCGCAATCGATCCAAGTAAGTCAGTGGCCAACATCAAGATGATACTGAGAATTGCAGAGTCACAGTCCAAGAGTGTAGTGAATTGACTCATGAAGAAGTTCGGATATGTTGCATTGCACGTGCTCTTTCTGCCCATTCAGACATACGTTTACCGAGCCCTGAAGTGTCAGAACCCTGTGTTGGTCTGAAAATTTGGAAATTATTCGGATTGAAATTGAAAAGTGTCTAGGAATTAAGTTTGAACTATTTGAGAAGTTTGTATTTTAAATTTTGCGCTAAGTTGCCTGAAGAAAAACTAATTTCGAAGTACCTATATACCTACAATATTTTTCAAACTCAATCTTTAAATTTCGCGCCTAAAATATTTCGAACTTAAAATTTGCGACAAAACAATTTAAACTATTTGAGAAGTTTGAACTTTTAATTAACATTTGAACTCTTTGCGCCAATTTTTTTGCTTGGAAAATAACTTTTGAAATTCTAGTTGCAAGGAAATTCAGAAAAATTAAGGATGTAATTTTTTTATATGAAAAACTCTTAGAATCGATTTCGCGAAAATTTTTTACTCCTCGTGAATTGTCAAAATTTAAATTGAGTTTTACAAAAAAAATTGGCGGGAACGTGAAGTTTCATTAGGAAATTCAAATTTGATAGGCGTTTGACTAACTTATTATCATCTCCTGATATTTTACAAGGGTTCCGGGCGATCGCATCTCATCCATGTAGCGTCGGAAGATTATCATAAGATGGGTGGTAATTTTCTCCAACCAGAGTGGATAAAGTATTCATGGTCTTATCAAAATGCACATACTGCCGGAAGAAAAATCAGACTTCGATTGTCTCCACGAATACCTGGCACGTGTTCGAGCCGATCCATCAAATTGTTGAAAGAGGCGTACTGAAAATTGAATGGCCTAGTAAGTAAAAATTAGATCATGAGCTTACCTCTGCTTTGATCTCGATATTTGGAGGTTTGTTCACTATTACTGTAATGGGAACGTAACGGGATAGCAAGACTGGCCTGCAAAAATGATAAATGCTTAAAAAATACAACTTTTTTCTTTTAATAACGTAAAGAGCTTTTTAAATCGATAAAATCAGTAAATCGGCATTGCAACTGTAGACCAAAGATAACAATTATTGATTTTTCTTACAAAGACATTAAAAATAAAAAAAACTCAATAAAATTAGCGATTATCTTTCCAAAAATCTGAAAATCAAGTCAAATAATTTTCTTGTCGGTATCTTTTATGTTAACCTATAAATACCAATTATTGATTGTCTGGAAAATCAGTAAAGATTCAAATAGATTTTTTTGAGAACCTAAAAATCAGTAAAAAATAAAAAAGTTTTTTCAAACGCTTACGTTTCAAACAAATTCTTGATTTTACTTTCAAACCAAATTCATATTCGACAACGAATCCGCTTCGTTATGGGTCAGAAATGCCTTAGCTGGTTCAAAGGTCGTTTTCGTGGTCACATACTCCATCATTGAAGTTGTCAACGCATACATCCCAAGGCGCACCATACTGCACGCTACACGCCCCTTCAGGGAGCACACGAAGCTCGAGGACTTGGAGAGCCACGTGTCGGCTCCCGGGAAATTTTTGGCTCCGTATCATTGGCGATGGATTGGTAATCTGGGTCGTTGCAGAGGAATTCAATTGGAGCTAGGATCGTATGGGTGAAGATGTAGTCGAAGAGGCAAGGCGAGCGAGGCAGTTAGGCAGAACAAGAACATCTGGAAGATGAGTTTTATTCAAGCTAGCCCACGTTCTCACAAACTTGGCTGCGTGCCAAAGAAGGTTACCTGAGGCGTTGGCTTAGAATCCATTCCAAAAGCAATAATATTGGTGAGTGAGGTGATTTTACGATGGTCCAACATCGTGACAATCACTTGTTCCAAACGGCGAGGTCTCAAAATTTCATTTTACGATGCTATTCCAATACCCCTACAGTACTTTTGCAGTTTCTCTACAGCACCCCTATACAACTACGGTACATTTATTTATTTGTATATTTGTTCATCAGGGAACGATCCTAAAGATACAATTACAACAAGGCAGAATCTTTTACAATACAATGCCCCACCCTCTTTTTCCGTGAAAGGAAACTTACGTGTCAGTAATTGCAATATGATGTTTCCATCTGAGAAGTAGAATAAAAGCATCATCAACTTTTTCCAATTCCAAGTACCAAAAACTGGCGTAACACATGTAAATAGAGAACGACGGGAAGCCCATCCAACAAATTGCTCCAAACGAGGCGGCAGGCCATCGGAGTGAGCAATGATGTAACCAGATAGAATGCCATTTTGACAGATGACAGGCGGACAATGACAATGATGACCTGCGTCAGGTGGGAAGAATCCGATTGTCATTTCGTAGCTTCAATGGTTCCTCGAATCTCACGATTTGCTACTTGGTCACTGACAGTAGATGGTGAACTGAACGTGCTCGAAGGCAGAGGAGTTTGTTTTTTGGAAAGTTGGAAGAGCTCGTCGATTGCGCCCTGGGAAGTATAATTACGAAATGCCGAGTGCTTGCCAGTTTTTTTGATTATGTAAATTTGCTTCCCAGAATCCGAAAATTTGGTTTCCCGCAGAAAAGACTGAAATTTAAATTTCTAAAGATTGTTCAGATGTTTGTTTAAGTTTTCTTTAAAGACAAAGATTTGATTTTCCTATTGAAAATACATGGTGAAAATTCAAATTTACAAAAATTGAGTTTTGTTATAAAAACAGACTGAAAAATTGAACTTCCTGATTAAAATTGATTGAAATATAAGAGGCTCCTAAAAATCTTGAAAACTCGAAATGTAAATTCAAATTTCCCGTCCAAAAATTGACAAAAAAATTTGATTCTACTTTCCTGAAACAAGTTAAAAAATCAAAGGTCCCTCAAATAGTAAAACTGACTCAAAATTAATTGAAAATTGAAAGCCGTATGAGTCTTCTAGGCTATTCTCACCAAAGCTTAAACGCGAATTTTCCTTCTGGACATGTACCAGACCTCGAAAAATACCACAGCACCAAGAATTTGGGGCTGAGCCTCTTGGTCGGTGGTTCTGAAAGTGTCAATGTTTTTTCACATTTTTCCGGAACTTTTTATAGTTAAAAAAATGAAGTAGCTGGAAAGTGGCTAAATCATAAAAACCTTACTATTTTTCCATCAACTTTTCATTTAACATTTCAAAAAAAATCTAAAATCCGCATTACTCAAGTGAAGTCCCAGGAAAATATACGTGCCAGTCCGCTACATATCCGGATAGGTGAGAATACACTTGCGTGGCACCATGTATGTTTCTCCGCGTCAAATTCTGAAAATTGCCATCTGGTCGTTGAAGAGTTTTCTAGTCCACGACCACCACCAACAGTTTCGGTTTCGTTCGACTTTTTAGAATATCGAAACTGAAAATCCAACAACTTTTTGAGAAAAACTTACAAAGCTGATAATGTTTTTATTTTAACTTTTTTCACCATCATTCATTGACATTTAAGAATATAGATAAATGGGATAAGACCGTCCAGGTTTCTGTTCAGTTCTCCCTGTTGTTAAATTCATTAAGATTGTGGTCCCCAAAAAACAATGTTTCTTTCTTTTTTCGATTTTCAATTTTTAGATTTTTCAATCTTCACTAAAAACATCAATAATTGAAAAAATCGAAAAATGACACCCTAGACCACCACCTACCTCTAACAAGTGAAAGGGGCTGGAGAGTGGATCGGTAGCAATTTTTTCTTCCTTCCCATCATCGTGGTAGCCGAATGCCGCCGATAGTCGATTGTCCACAGTATAAATCTAAATTTTTTAAATTCCCGCCAGAAAAGTGGGCTTGACGGAGAATCAACTTACGTCTGCCAGTCCTACGCGCCTTCCTGGAGAATACTAATTTTCGCGCTGGGCGGTAAAAATACAGAATGCTCGTGCCGGATAGATGTCGAGTCCGTAGTATTCCATAGCCAGATACGGTTGAGTATTCACTGAAAAATGTAAAAAAAGTTTTATAGACATTTCCGCCAAAAGATTTAAAATAGGAGTTTTAAAAAAATTAACAAAATAGTTACGAACGAAGTTTTCATTTGCTTTAAAGTTTCTTTTTTTTCTTATTTATTTTTGATCAACTATTTATATTGGGTACTTTTTTAACTTCAAGTGGAATCCAAATTTTCTTCCCAGTCAACCAAACATTGACCATATCACAATAAGGGAAAAGGGAGAAAGGGAAATAGTTAGAAAAAGAAAAACATTGCGAAAAAACGTGTTATTTTTGACTGGTGGTGGAAGTAGGCTTCAAGGTCAGTAGTCACTTACTATCCAGCATCTGAATCATGATAAAAGGCTTTGCGAATATCTGGCTCTAAACGTATGTGCTACAAGTCCTGAACTGAGAACTCATAGGATGTATAAGAGCTCACTGAAAATTGTCCAACTTGAAAAATTTCGATTTTTTATGTTTATTAAATTTTTTCTGGTGTAAAATAGCAGAAAATGCCAAAAAAAAATGTATCAGACACAACTTCAATTTTTCAAACTTTTCGTTGTAAGACCATACAAGATACAATAAATTGTCGTTCGAGAGCGCTTTGCCCATGAACCCGTAACGGAGATTTTCATTCGACTACTCTATAGACCGCGTTGGTGATTCTGAAAATGACTTTTTCTTGGAAATTTAAAACTTTTAATCTGGGATTTTTCTGTTTTTTCCAAAAAATTATATTGAAAAATCAATTAATTAAATTTTTTCAAACCTATGGTGATTCATGATTTGATAACAAGAACATAGCTTCCTAGTTATAATTATCCTCAGTTTTCACGAGAGTAAAAAAAAACGGTAATAAAAACATTCTTTTTTCTATTTTTCTCAATTTTTCGATGTATTTACCAAGAAAATCGATTAATTTATCGATTTTTTTTTCAGAATATCTGACCGTTTTTGTTATTCATCGGAAAAGTTCAATATTTTATTTTTAGGAATTTGATTTCCAAACGTATATTGGTGGCCAAGTTTTCCCATTACTGATCGACGCATAAAAGTTAAAACCTCACAAAGTATCGAATAAACCGGATAGGCGGCTAACAGCCGGCACTGGCACGACGGCACTAATCACATCCCATCCCATTGAAACTTCGAAATTTTTTTGGATAATATTTTAACAGAATTTAAAGCAGCATGCAAACTCTCTCCAACAAAGAAAAATGTTTTTAAAAAATTGAAATTCGAAACACAAGCACGTGAAGCAGAGAATGCAGAAAACAATACCACTGTCCCAAAGTAGAAGTGAGGGAGGGAGGGCAATTATTTGCAGAGGTGACCAACGGGTTCGTCGGGTTCCAATTTTTCGGACACGGCGCAGAGGATTTGAGTCATTATTATTGTGTATAGAGAGTGTAAGAGAATTAGAGAATTTAGATGGGAAACTGTACGTACTTCTGCGAAATGGTGCACTTTTAGGATCGGCGGCCTAGAAATTTACATGGTGCTCTAGATGTCTAATAGATAGCCTAGATCTTTATAACTCCAGACAATTACTTGGTGGTCTAGAAGTTTTTTTTGTGACCTAGAAATGCAGATTGTGGACTATAAATTCACTTGGTGGCCTAGAAAATCATTTGGTAGAAATGTACTGGCCTGGAAATTAACCTTGAAGCTTATGCTAGAAGCTTTGTTAAGTGAGCAGACAGCCCAGCCAAATTCACTTGATTGCCTATCAATTCACTTGGTGGTCGAGAAATGTACGTGAAAGCCCAGCAATATTTACTTGGTCTAAAACATTTTTCAGTTAGAAATACATTGGAAAAAATTTCGATTAAGATTTATATTCTGGCGTTGGATGTGGTGACCTAGATATTTGTCAAGGGACTGATGAATTCATTTGGCGTCTAATTTTTTTGGTGACCTAGAAATTGATTTGGTGATCTGAAAATTCATTTTAACATGACCTGGGAATTTACTTGGTGGTCTAAAAAGTCTCATGGTGCCGGTCTTAAAGTGTGTTGCAAAAATTATACTACAATATTTAACTTTGAAATAAAAATTCAGCTCTAGATCTGCAAGAAAAATCTGTATTTTCTCAATTCAGGATTTTGATTAGTTAAAAAAAATCGAAATGATTGTTTAAAACGCGTTGCAAAAAACAATTTTGTAGCTCAGGAATGCGCTATTCTGGGGAGTCAGATTTACTGGATTTTACTTTTTTTCCTGCAATTCCAATGCAAAATAAGGTAAATGAGAAAACTAACACGGCGGTACATACAGGGGCATCTTGAATGTAAGGCAGTGTTTAGTAAGTGGACCGAGTGGACGGCAAACGCTTGTATTTTTCCTGTGTCGATGGGGGATATCTGTACCGCGGTTGCACACAAGAAACAAGTATTTTGATGATGATACGAATAAGAAAAAGAAAAAGGCAGCAAAAAAGTGTGTGGCAGACGACCACCGTCCATCGGATTAGGCTGAGCCGGCTAAGGCAAACTCGTTCTACCGAACAGAGGGCCGTTTGCAACCCCCAAAATCCTCTGAATGTGACGTCATTGTTGGGGCGGCGGGGTGGCGTCCAATAATTAGTGATTTTTTTTTTTGTATTCTGGAAAAAAAGGAAAAAATCGAGAAACATTCTTTTGTGTTTTTGGGGAGTCTGTCATGTGAAATTTAAAAATGTTGGGTACAATCAAAAAATCGTTTTGGTTTTTATATCTTATTTCAGGAATGTTTAAAAATCTCAATCGTTTTTCTTTGAAAAAACAAAAAACAACAAACATCAGCATCATTTTCGATTTAATTGTTTGTTAAAAAAATAGAAAGCGGAAAACACAAAATTTTCCGATCTTCTCGAAATTCACAAACTCATAAAAAAATCGAACTCCCCTTGTACCCCAGCACCCTAGCTGAGTCTTGCTTCCTGGCCAAAGGCATGGAGGGAGGCGGGCACCTCTTTTGCTTGACCTAAATAAAGGTGATATCCCAGTGATAAGGAAGGGTAATGATCCGGAAACCGCCTACCAAAGTGCATAGTTTCTGCGTTAAAAAAAGTGACAACTGACATCACACGGATGCTACAAATGGGGACTCACATGCCGGAGAGGGAAAATTGTAAATTTGTACGGGTAAGGGGATCAATGTTCAGTGGTGAGGTCGCGAGGACGGAGGGAAAAGGTGGAATTAGAATTGAATGGGAAATTGGTGGCAAAACGGTAAACAGTTCTTATTATCAAATGCATGAGGGATGGAGAAACCTAAGGAAACCCTTGCAGAATTTTGGAGGGGGTGATGAAAAGTATTGGCAACACCTTGGTGGACGAGAATTTTAAATTGATGATCCCATGGACTAAAAATTCAGATGATGGCCGAGTTTTTCATATTCGCACCGAAGAATACGGCAAAATGATGGCCTAGAAAGTTGTTGGAGCGACCTAATCTTTGTTCTTACAAATAGATCTCTAATGTTTCATCGAAGTCAAGGGATGTGAACTAGAAATATAAGATGGTGGCCTAGTCAACAATTATATTTATGGTTCGTCAAGAGGCCTAACTCTTCAATCACGAAATATTCTAGAGTTTAATCCTATAATTAGTATTGTGGACTAAAAGTCGAGATAATGACCGAACTTTAGCTCTCAACATCAATTTGGCCTTGAAATTCCGCCATGGCCGAATTTTCGTAAGTCGACCCCAGCGGTGGCTACGAGCCAAAAAACATAATTCCGCATTCATACATTTTAATATGAGGGAAGCCAGAAGTGCGAGCCTCATTATTTTGTGAGTACATTTTTGACTATCGTGCCAAAATTCCAAAATCCTCAAAAATTTGAAATTTTCGCGGCACAATTTCTGGTTTTAAATCTCTTTTTTTTAGTGTGATGTAGGGCTTTCCAATTTGCATAAAATAAAAAATCAACAAAAAGCCAAACATAATGTCAAATGGTCAGTTGCAATAAGAAAACAAACCTGCGTTTAGGATGGCCGAACCAGAAAAATAATTCAAGCTTTCGATTTCGCCCGAAAAAAATGAGGATCAGAATGAGAAGGTGTCGCCTATTAGAGATTGGAGGTTGTTGAGAAAAAGAGAATAGTGGAGCGGGGGGAAAATGATGAGGTAGAACGGAATCGAACATGCAAATAAAACGAATGTATTTGGTAGGAGAGGGAAGGTTACACTGTGTGTTCTGTGTTTGGAAAAGGATTGAAGTGGTGGAGGACTCTGGATTTAATACTACTTACCTGTTCTGATCAGGTTCAGAGGTATTTCAGCAGTCGCTCTTGTATATTTTGTCTTTTTAAGTTTATTTATCAAATCTTTTTTTGTAACTTTGAATCTGATGTCAAACTTTGGGAACTTTGAACTCGATGAAATTGCTCAAAAAGTAAAAGAGAATTTGCGCCCAACTCCTTTTTCGAATTTTTTTCGAGATACTTTGATTCTTCTTAATTTCAACACACAAAACTTCGCCAAAATATTGTTACAAAATTAACATTTTTATTTGTAAACAGCTGCTAAAGCACCACAAATGTGAAATTGATGCCTAAAATTAAAATGGAGTTTTTCAAAAAAAGCTGATTGAAATAAGAAAGTAAGCTAAATGTATATATATGGGGAAGATGCTATTTCGAATCTCGCGTTTTTTTAGTTGGGCATCTCCAAAATATGAAAAAAATACAATAAAAAGCTCCAAAAGATATCCAGGAATTTTTTCAAACTCACCAAGAAGTATGTTTTGATAAACAAAAATTTGAATTTTTCGAATTTTTTTATTCGTATAATACCTGTCACACTTATTTTCAGCATAAGAGGAAAAAATAAATGTTGAACTTTATTTAATGATAAAAATAGTTTGTCGAAAAGTTTTCGTAAATTTAAAAATTTAAGTTCTACCAAAATAGTTTTTCACCTGGAACAAAAAACAAGAATTTTGTTTGAGCTTATATAACACTACAACCACATTTTTGAGAACATGTCTAGCCTCTGTCAAACAGTTTTCCGGTAGTGGGTGTGGTTGCTAGTGATCAATAGATCTTCGTAAAAAATCGAAATTTTCCGTTATAGCCTGCTTTATTTTATGTGTTTGATGCTATAAGCGTTTGGATTGTATCAGTCCATATGATTTGACATTATTCGCAATATTTTTTTAAATCCGAATGTTTTTCGAGTCTCTATTTTTTGTAATTTTCCAGACGGTTTAAGAGCTAAGTTGTAGCTATTCTTTCCTATCAAAAAATGCAGGAATAAATACTAACTCAATTTATGCAAGATAAAACATTTACAGTGGTTTTTTTGGTCGAAACTAAATTCCGCAGAATTTGAAAATTACTGAAAGGGTTTTTCCTTTTTTAATTTGTACTCCCTACAGTACCCGTTATTTTTGAATTACAATTGGATGTTCGTACCTAAAATTGACACTTTTTCTCTAGTATATTTCCGAATTCAAAATTATCAGTTGAAACTAGATCCCACCAAAATAACAAATTGATAAGAAAACGTAGAAAGGGGAACGTGTACCCTTACAATAATATTAACTGTTTTCCCTCCAATTTTTTTTATTTTTCAAGGGTTTTATTCTTAATTCTATTCACAATTTTTCAAAAAATATTCAGCAAAAAAGTAGGCGTGCTGACTATATTAACAGTATAAAGTGAGTCTTTTTTGTGAGCATTAAAAAAATCAATTTTTTGTCCTAGCTTTGCAATAGTGGCAGCTCAAAAATTAAATGCATTTGTTCCATTTTCCGTAAAAAAGACAGTGGAAGAGTTTTTATCCGTACTTGGGCAGGCTAATATTTTGTGGCCGGTACAAATTTTTCGCGTGGTGCCTAGAAACCTTTTTTACGTTTTTTCTCGGAAACTTATTTTTTTCTGGCCGTGAACGAGTTTTGTTTAAATTTCAGGTGCTTTGAATATTTTGATGACTAGTTTATATTTTCCTGCTTCTAGTAATGCTTGGCCAAACGTCTTCACGTGGTCGGGCTTTTCATCGGTTAGCTTGATGCCCTAGGAACGTTTTTAACCTGGCGTTCTCTAGACAATAACTACCGTGGACTCGAAAGTATTCTACGCCACGAAATATTTGTAGCCTAGAAATCAAAGTCACTACCCGTGTGGCCTACGTCTCCCTGAGCATAACGTAGTCCTCGAGAAGTCCAGTCGACGGATACTGTCTACAAGATTAACGGCATGATAATCCTCCTGGTTCGATTACGATGTCCACTCATTCACTAGTCGGCGTTGTTGCAACAATGTGGAAAACTTTTTGGCATTTTTAAAGATTTTTAAACACATTTTTTCTGTCGGAACTGAGAACCGGCTGTTTGTAGAGAAAAAAATTGCATTTACTTTCCTTGAAAAATCTGTTAGCGTTCTTCACTCGCTGATTTATGTACCGTTTAAGTTTCAGAGACAGCGTGGGATTGGGGGACTGGACGCAGACAGCGAGTGAGTTTGCGTCTCCCTCTCCCTCCCACTCTCTCATAAGTTTTGAGTGTTCATAACTCGGAGAGTGGAGCTATCGAAAAATTCAAAAAAAAAAAGCCTAACAAAAAATTAATATAAAAAAATTCTACAAATTTTTAGTTGCTAATTTTTTGATAGCGATGCTAGGTTTTTAGAAAGGATGACGTTTTTAACTTACCTCGACTCTTTTTGTGTTACCAAGTTAGTATTCCTCTAACAAACCGCAAGACCTCACCTCATTGTAGCCTATTGAAATCTGTAAACGCCCAACGCAGGTTGCCTAGATTTGATATCCGCCTCCATCTCAGCCGTTCTCTTTCCATATTCTCCTAACTGTTTGCGTCTATTTTAATAATGGGATTATTCGGATTTCCTATTTCCGCTCAAAAACCAATAAATTTATTTTGTAGAGCGAAAAATTCTACACATTTTTGGAGTCAGCAAGTTTTTCAATGCACCTCTCCTCGCTGAGTTTCGTTAAGATCTATGATAGTAAAAATATTTTTGGGGCTAGCTATTGTTTTAGGATAATCAGGATCGCACGGACTTAAGTCTAGCCTCATTCCGAAATTTGTGAACTCTGTAAGTTATGTTGACTAATAGTATCCCTCTCCAGCTGTTGTTAATCTCCTCCTTCACTCCAGTTGTGATCGTTTTCGCTCTTCTCTCGCTTTTGCGCCCTCTCTGTAGGGTCCAGAGAGTATCAGTTATCTCCAGGACGCCGTGTGACGTCATCGCTGACAAGCCGTAACCTAGATAAAGCGCCCGGCAGAAGACCTGTTTTACCCCGACATGCCATTCGTGATAAATTTAGATTAGTCCTCTCACACTCTACATCTCTCCATGTTTTTTCACACGAACTATTTGTGTTTTGAAGAAATATCTTTAAAACTTTGCTTTGACTAATTGATAGCATAAAATGTATTTTTTCCGTAGCTCAGCAAATGGCGTAACTAAATGGTGTGAAATGTTAGATAGGGGACCGGTTTTGGCGGAAATCTCAGAAGAAATGGAGCCCTGCCTGCATAGAGACCGCTTTCGACTGATGACATCACAGAGTAAGGTGTCACATCTAAACACCATTCTTATTCTCTTTTTGAGGTCCAATTAGACTAGGCGGTCAGCGTGCTCTCGATTGCCCTAGCCGATGACGTCACATATTTGCCATTCACAACTTTCTAAACTTCAAACATTTTTTAATGTTTTCCAAATTTCAGCCGATTCCTCCAATGGGAGGACTCCCCTCCAAACATCACCACCTAACTGCCGTCCACGGCCACTTGTGGCCCAATAAAGGGTAACGTCGGATATGAGCAAGTAGCTCATAAATTGAGCTCTCTAAAGTTAAGATGAAAAGAAAATTATTTAGGAAGACGCTTCAGTGGTGTAGGGGTTCCTTGGATTACCGTACGCCACCAATTGGAGCCTTGCGCTTTAATAAGCCCTCATCGGAAACGGAGCCGCTGTGGATTCTGTTAGCCGCTGTTCGGGCCATATTAGGAGTCCGCAAAATGATGAGCCACTAGGGCAGGTAGGCGCCTAAATCAGAGCAAAACGCTGTCATTTTTATAAGGCTGTTCAGTTTCTAAGGTGAACACAGTCGGGAAAAGGTGCACTGTTTCAGCCTGAAAGTATTCACTCCAAAGTGGGAGTCAAATGAATCCCGACGGCTTCCCAGTGATGGTCTTCATCCATGGCGGAGGCTTCGGTGTTCACTCATCCAGCAACTATGGCTGCGTTTCATCGCACGAAACCTGCACCAAGGACGTCGTCGTGACCACCTGTTTTACTAACGCGTATGCTCGGCGGGATTCTTCACCACCGGCGAAGTGTGCCTTGGAAACCTTGGACTTTGTCCGGATCAGACTTCCCTGCCGCAGTCGAGTGGGTTCAGGAGATTCATCCGAGGAGACCCTGAATGTTACAATCTTTTTATGGCCAAAGTGCAGGTGGAGCATCTGTGGATCCCTTGCTTTGCCTATCGCCGCACTCGAGGGGATTGTTCAATCGGGCGATTCCGATGGAATGGAGAATGTGATGTTGCGAGGCGGACTAGTGAGTAGCAGGCTCAGTTGTCGAGGGAGTTTGCGAGATACCTTGGATGGGAAGTGGTAAGTGATTAACGCTTAGTCTTCAGATGTTAGAAAGTGCGTTGTCATCAGAGTTGGATTGAGTTTTTTTAAGCGTAATTTATACTAAAGCCCTATCGAAGCAGTTTCCTTGGCTACTTGGCCTACCACACTCAGCCGACGCCCGTCATAGCAACCACCTGGAGGCTCAAGACATTTCCTATAGTTATGTTCTATTGCAAATTTAATACGGTGATTATTCCAAAAATCTCATGACGTATTTTACCGAACGAGAAACCAGTGCAAACTTGTTGAGTACCTAATTACTTCACAGACAACGACAGTGAAGACCTTGTCCAATGGATCATCGACCAGAAACCCATAAGATCGAGATGGGCATAAACCCGAAAAGAGGATTCAAGCATTCTCAGGCTGGAAGCTTGTATTTGGTGCCAAACTTTTACGCACAGGCGACTTCTTCCCGAAACCCCCAGCATTAGAAAAGACGAAGCCCAAAGATTCGAATAATGACTCGGCAGGAACCACCAAGAACGGGGGTCTATTTTTCAGTGAATCTTCTGAAAATTTTCTGAAAATTTTCTATTATAGTCGCCCTCGGTGCCTTATCGAAAAATCCGGAAGGAATTAGTTCATGGGAAGAATCTTTAAAGAATGCGACTATGGCGAGCGTGCTGACGCGATGTGCTGCAGATGGTCTACGACTTTTATGTCAAGGAGGTACATCCGATCATGAGAAGAATATGCATTGTGAAGATAGGTCAGGCATAGAGCCTACAGGGCTATCGAGCCAGTGATTGAGTCCATTGGAGACTATTCTATCAACTATGGTACATACCGTCTGGCTAACATTATGACGGATCTTCAACACGATGTATACCTTACTTCTATCAGTTGGACTATCATACTCTGCAGGATTCGGTGTTCCGGTGGCTTCGGAGCTTCCGTGTTTGGGTGAGTTTAGGATGGGTCAGATTTTTCCTAAGCCCGGGGCCACATGCTCTTTGTAGATCAGCAGTTTTAGAAGTTCGAAGCGAGAAATGTATGAGTATGGGTAAAACTTTTAAAGATTGAAAAGAAATTATCCAAATAATAGGACTTGGTAAAAATCCCTTAGGCTACTTGTACGGCCGTAACCTGTCACTAACGATTCTAATAGTGTACCTTATCTGAACAGTATTGCCAACTAATTGAAATTAATTCTGAGACTCCGAGATTAGCTAGCGGTCCTTTTCGCTGTGGCCCAGTGCCCATTTCCTATGGCTCAATATCCTTTTCAGGCTCCACACATTTCACGGAAATCAGATATGTGCTCGGGAATAATCTCGAAATTATCCGACCAAATGATAATGATAAGAAGATGCTTCACGTTATGACAACTTATTTTACAAATTTTGCAAAATATGTTCGAGGTCCACACTTTTGTGTACTCGAAATTAAGCTGCTTTCAGAAACCTCACTAATGGAGAAAGGAGACTAGAATGGCAAAAGAACAACTCGGCACACCTTGGCGTTCGCCATTTCAAGATTGATCTGGACGATTCTGAAATGGTTGAGGACTCTCAGCAACGGAGAGCCGAGCTATGGGATAAACTGAGAGCATTTAATGTTAGCAGGGCTCACATGTTAAATTGCTGTTATTTTTACTTGATTGATTTTACGGTTTTATAAATAGTTTAGATTTGTTATATATTTATTTTTTCTGAGTTACATACATACATCAAGAAACATTTCTCTTGCAATCTAACTGAATTTTATTTTATAATCAGTTGTTTTTATTAATCCTGTACTATGCGGACAAGCGTAAAAATCTGTTTTAATCAAGAACTCACCTACCAATCGTTAACACCAAAAACCAACACGGTTCTGAAACAAACGATGCATAAGCTGGCACCATTATTAATTATCCGCATACAAGGTTTATCAAATAAAGGAAAAAGTCGGAAGCTTCCAACATTCAATATCTCTATTATACTTTCCCCTTTCCATGTATGTGCTTTTTGTGTGAAACCAACTTAACCGCCAGAAAGCACATAATCTATAACAGAGGTGGGCGGCAATTGCCGCTCGGCGAACATTCTGATTTTTTGGAAATTTTCATTTTTGGCTAGAAATTGCCGCTCTGGCGTTCGCCGGATATATTTGCCGAGGCGCAGTGTTTAGAGGATCCTCGTTTTACCGGAAACACTTAAAACTGTGCCTTTTTGAAAATATTTTATTTTTATTCTTTTTTTCGGCAAAGTTGCCGGTTTGCCCAATTTGGCAATACGCCGGAAATTTCAATTTCGGCAGTCGGTGCAAGTCAATTTGCCAATTTTCAGAAAAAAAATTTCGACGCCCATCCCTCATGCATACCGTTTTTGACTCAATTTAAATAGTAACCTTCCACATTAATGTAGTAACGGTAAGTTTGCATAATTTGTTTGAACTTTGAAAGCCGCTGGGCATCCAGCACCTGCGGTAATCGATCTCCTTAAAGGGTGTTTTCGCAAATCTACCAACATAACAGGAGTTTGTAGAAACATGAAACCGAAGGACAACACATTTTGAAAGTCACATTTATGTATCTGCACTTGCTAGCTATGGAGTCAATGAAGCATTACGAGAGACATGTGTTCATTCCCGAATGGAGTATGAGTAATAAGGTTCTTCGTTCACATTTTATTATTACAGGCTTGGGTCCCATATTGATTCATATTTTACTTACTTTTCAATTCATGTGTTTGTAATTTTTTTTCAATTAGAATACTATTATAATAAAATTTCTAATAATGGACAATCGAAATAGTTGCAAGTAGAATAACTATTTGTACAGTGATGCCTATAATTGTGGATGTTTATAATGTGTCTAATATTTCAACGCAATCGTGACACAAGCTCTATAGTATCTCGTGAGTGCATTTTCGGTGAGGTTTCAAAAAAATACTCCCTTGCTCGCCATACGTTTTCAGTTAAAAATTTCTTTAATAAAAAATTATACTGCTTATTTCTCGAACGATACCTTTAATGTTAACTGCGCCTACCATGTCCTTCAATCCCACTAGTCAGTTATTCTTTGCAATTAAATGTCATGGAAACGCTTCTTTAATGTCTAAATCATGGATATCTCCATCTCAACCATCCATCGTTTTTTATCATCATCATTCTCGTGTTCTCGTTCTCCGGGTCGCCTCCGCTTCTTCATCATCATCACCACGACAAAACGTTCTTCCTAATCGACATAATCCCGCATTTAATTTCTCGAATTGTTAGGTATGAATGACACCCAAAAACGGTCTCATATTCGGAAAAAATGGGAAGATTGATTCCTAATTTATTGGTTTTGACCGGTTAACCCCCACACATGTTTTTTGTACCTGCGTCTATTTTCGTCTAATTTTAAGAAGTCAATGCCTAATTGTCTTTTTTATTTTCTGTGAAGTGAAGTATCAAGATAAAATCAGTTTGGCGGTCGTCTCGCTTCTTTCTCATTTTTCGAAATACCCGTCGCAATATGGTTTTTTTATTACACATTTGTGCGCACTTTTTTGCTACCCTACCCCCCCAATTCTGACTCACGCTTGCATTCCGGAGACTGCTCTGAGAGTTATAACAAAACATAATTGTTATATAAATGTCAAAGTTTTTCGCAAGCTGAAAATTTTTGCCAGCTGAATTATTCCTTGCCCCTTCAAAGTAGCATAAGTCTAAAAATGCTCGAGTTATTGGAAAGTTGCTAATTACAAGTTAAAGAGTTTAATTGACTAGTTTCTCGATTTACAATTTTTGAACTTTATTCCTTGAAACTCTAGCAATGAGGGGCAGTAAGTGGGGACTCCCCCACTGGGGAGGGGAGAACCTTGTCAACCCACTAGGGAGGGGAGAACTTTGTCAACTTTAAAGCCACGTCCTTCTGCAGGGAAAAGACTCGCGCTATCAATAGGTCAACTAACAAAATGTGTTAAGCTCCACATTTTTGTAGTTAAACGTTTTCTGATATCACAGTAAGGTAGTTTTTGTGAAACCATCAAATCTGTAGGTTCTCCATTATTATTATCACCTAGCACAGTATTATTACCAGCTGATAAGTATCCGTCTTTTTTGGATGATCTTGTAAAGGAATATACCATTGTACTTCATCTCCTTTTTCTGTGTCTACCCTTATCTTGGGGTCGATCTTCTCCTTCCCGCATACGGTCTCCTCTTATTCAGAAAGTCAGGAGGAATATTCCGAGAAATTTTGTTTTGAACGACATGTGCGATCAATCGCTGGTCCAGAAGGTTTTCCCACTACTTGGCTCGTGTTCTCAGGTGAGTATGCGCCTTTAAACATTGAGGGTACTGTATGCACCATAACGCAGAATTGCAGATTCTAAAGTTGCGCAGGTTTGTTCTACACGGGATAACCGTAAAATTTTTATGTCCCTTTAATAGAAACTCGTCCGAAGAATTGGTAATGTACGTGGAAAACGACTTTTAAAAATGTTTTTTTACTCCAAACGATGCTCTATTGTGCCGAATCGCTTGTTGTTTAGCGGCGTTTTGGGACTAAATATTTATTTACTTATCGTCTTGTTTTTCATAACTTTATAACTGTTTAAACAAAATCGATAATATTTATTTCTAATACGATTCTGAAAATTTTGAATTCCAAAAAAATTTCGGATAATTTTTGATTTTATTTGGCAGATTATTTCTGATAGAATTTGAACACTCTCTTTGGCCAAAGAAATTCTGAAAGTTTTGAATTTCCCGCAAAAATTGAATTTCTGAGAGAATTTGAATTTCTTGCAATTTTTATGTGCAAAATCAATTGAAAATAAATGTGGTCGCCAAAACATAGAGAAAACTCCCGGCCACCGATTTTTTTTTCGCAAATTTTCCACCGCATTCTTTGCTGCATGACTGCCAAAAATTGGCGGCTTTGTATTCTACAGTGTTAATTCACAGATGGCCGAGTTTTCTCAGTTTTTTGCACGGTCACAGGCTTCTAGTTTATTATATTCATCTCCGCGGCGCGCGCACCGTACTTTCTCTCTACTCTCGGATCGTTATCCCTCTCTTCCAACCAACGCCCTCTGCGATTGTGTCATCATCTTTGCGATTTGTTCTGGAATCCCAATTTCCGTTTGGCTTTTCAATACCCGTGCCTTATTGGCTCAGGAATTTCTGGCCCGGAAATTTCCGGTCTACAATTCGGATTATTAACCATTTCGAAAAAAACATCCTTTAAATTATTTTTATTATAGTGATAAACGGCGGTGTGATTTTTTCTCGCTGGTGGGTCCTGGCACGACTGAAACTTTTCAGCTATGTAATTACCCAGCATTGCTTTAGAATTTAAATTTGCCGGCAAATTAGAACTGCAAGATTTTTGTTAGTTTTTAATTATAATTGTTTGGGAAAAGTACAAACTCATCTTTAATAAAACCCACCGTACTCCCATGTACTGCAGCCAAGAGACATAATTTGTTTCGTGCCAAGACCCATTTTTCCCTCCCTTTAAGAACTAGAAACCCCCTTGTTTACAACTGAACTTAAAATCGAATTAGTTTGTTCGCTAAACATGTTTTTCGCGCGAAATTTCGCTTTACAAAAAAGTTTTTCTTCATTCCGTTCGGTCGGCATGCGCCTTTAAGTGTAACTACTATTTTTGAAACCGACATAATGATAGAAAAAATTAGAAAATATTTTTAATTTTCGGCCGGAATATCTTCGAAAAAAAAACTAAATTTCATGGATTCTCAGTAAAAATTCACGGAAATTAAAACTTGCGTAGCGAGACCTCAACTATCACATTACCTATGCGCCTTTAAAGCTACCCTAACCCTATTTTTAAAAATAAAAGAATTTCCTTTTAAAAACGCCGGATTTTCTCCGTCTCTTTTCCCATCTTTTTTCATCTTCGGTACCCATCATATGTAGATGAGAATATCTCTGCACCTCTCCAACCAACCAAGTTCAACACTTCGATGCACCGTCCTTCAACGATGTGATCTTCCTCCTACTTCGACCCCCTCAATTCATTTCCGATTTCCTCGGATGTATTGATCTTTTTGCCTCTTTTATTTCTACGTTCTATAAAAGGATATAGCCAAATGGACTCAAACAATTACAATCCAAAGTTTTGACGTCAGTGAGCTTACTGCGAAAATCTGAAGAGATTATGTGAGTAAAAAGCGGCGGAAGACGTAAAACATATGAAATATTTTTAAAAAACTTTGTTAAAAGCCCCACATTTTCGAGATAAATCTAAATTTTCAAGTTTGTAGCAGCAAATCGCTAAGCAAAGATATATATTTCAGGCCGAGCAGACATAACAAAAATGCCGATGCTTCATCCACGGCATCAATCACTTATCGATGGCGATCGCCGTCACAGCGTCGAGCTCTCGATTTTTATTAAGTAATTTGTTTGCCTGCAACTCAGACCAACCAAATGCTTACGTCGTCTATTAGATCTTTCAACGATATTTGATTAGAATCTGAGAAAAAAGTATAATGGGGACATAATTAATAGGCTTATGGATATTATTTGATTTGACAATATGGATTTTCTAACCAAATATGGTTAAATTCTAATCCAATATGGAGCAAATCTAATCAAATATGGCTGAGATCGTGCCATATTGGATTATTTCGACCATATTGGATTAGATTTGTTTCTAATGAAATATGGAGAAAATCTAATCTCAGCCTTCATGAATTTCTAATCTAATATGGAGTACAGCAGCCTAATATAATGCAATATGGATTTAAAAAATATGGGTGAAGTCTCGTTGAATATTGTTGAAATCTAATTAGACGACTAAGCGTTTAGAGACAGAACTGGAGTTGAAAACCTTAAAAAAATGGGCGTAAAATTTTCAATTGTGTGGAAAAAATCAATGAAAAACTCAATCGTACAGTAATTCAAAAATTCGTTTCACTACTGGAAAAAATCAGTTCCCATTGAAAAAAGAAAAATCAATTTTTCCAGCTCTCAAATGGCAGTTGGGGCAATTCGAGCACTCGACCGTCTTCACCATCGCCGCCTTGCTCTTTCTGCTCGTCATTGTTCAGCTTTTCGTCGCGATTTTCTACCAAATGTACGGAAATCTTCTCATCTGCGACCGCACATCGTCATGCAGGTTCTGCTCGTTTTGTGCTTCCTGGCACTCACATGTGCGACGCTTTATGCGCTTTTCACGGTGCCACGTCTCAGGTGCTCGTCGTGGTTACAATCCGCAAATCGCCGCATTCCCTGGTAAGTGTGGTAAAAAATGAAGTAGATTTGTTTCCTTTGGAAATTCCTTCTTTTTCCTCAATTTTTCCTCATTTTTTTGCTTCCAAAAAAAAGACCCATTTTGCGAAAAAAATTGTTTTTTTAATATATGTCTTTTAAATTTTCCAGACAATTCTCCCGGCGCCAATGATCACAAAACGTGGTTTCCGGATTCTTAGTGGGCCTTCTCGTCATTTTCGCAGTCTCCTACATGCTCATCGCTGTGCTGAATGTGAGCTGTTCCCATGGCGACACCCATGTAACTTTAATTTTTGAAGACCTGGTGCAGTCGTCATCTATAGTTACCAGCTTTTGAGCCAGAATCAATCTTGTACGTCGGTCGAGATTGTGCGCCGAAGACACGATTCAACTCTCCCTATATCCCAATAAATCAGGCCACTGATTTTTAGTCTATATTGTGTAACACACCATTTGTTGAATTTTTCTCGAAAAAATCCGGTAAATTTTTGAGTATACATGTCCCGAAATTCTTCTTTTATCACATGTGTCAGGCTTTAATTTTCTTACTTTATTTTCGACTTCTGTACAAAAATCTTTGATATATTCTATTTATTCTTCTCAATTAATAATCACACGATCCATCTTTCCACTCGTCTCGCCACCTTTGCATCACATCTCGACAGTCGAACTTTGGTTTTCCCGTTTTTTCGTTGACTTTATAGTGTAGCTGGCACATCCATAGCGCAAACGCCTCGCGGCTTTCCACTTTTGGCGGCGATTCATTCAGATCTTTTATCTCTGTTGGCGCAGAAATCGCAGGGATATGTCTGAAAAATTTAGGCGTTTTTGTGTGAATCTTGAGCTTATTAGCTAACTTTTCCTAGAATAGAAATGATAAACTTCTGGCTCGATCCTTATCGTCTTGTAGGTTTTTCCCGGGTAGCGACATTGTGTGTAGCAAAACGCTTCCACATGGATCGCTATGCCTGAAATTTGAAATTTTTGGTGGAAATTTGAATTAAAAGCTTGAACCGAGCTCATCCTTGTTTCCTCTACTGGACATCCGTGCAATTTCGCTCCTGTGCTCGTGCTCGACGTCGATCTCGGATTCTGCAAAGAACTGAAATAATTGAGATTTTTTGCTCTGGAAATCTAGGTAAATCACATTTTTTCTTTATTTTTTCATCAGAGCCATTACTTCTCTGCCTTTTCTTCCTATCCTCTACACTGACGCATGCACGACACGGCTTCCCTCCATGGACCGATTTCCATTCTGAAATTTTTTAAGCACTTGGTTTTAGTTTCGTCTTTTAGAAGCCGTTTTAGGGCGTAAACTTATGACACTATACATAGACTACGACAAATCTATAGAAATGCATAAAAGATAGGTGAAAAATGTGAGAAATTGCGCAAAAACGCTGATGCAAAAACGAAAATAAATTAACTAAAAACATGAAATGCAAGTGCGCTCCACTGACACGCGTTAGAGAGCGTAGACGCAGAGAAATCTCGAAAAGATGAGGGATATCGTGGCGCGCGAGAATCAACCTTTTTTGAATTGTCTTGATATTAAAAGCCCAAAACCCTAATAGATCATTTTTGTTTTTGGTGGATTTTCTTGCTATGCAATGTAAAAATTTATTATTTGTTGCATCTAATCACTTTTAACAGAGATTTACAATTTGTGGCTGAAGGAAAATCCTTCAAAAATCAATTTCTACGATCCAAAAATTCGTTATTTAATTTTCCGCCCCGCTGATCAACTAAATTCTTCTATTTTATCACTTTATTGAAAACCCTCGCCCACCTCATTTTATCACCTGAAACTCGTCACACTTTACAATTTGTGAAATATGCGAAAATGGTTACTCAGCTAAAAAATCTGAAGCACGCGATAGCTTGCGACAACTTCTGGGAGTGGGATGGAACGAAAACGGCGAGAAAGGCAAATTTTTGGTGGAATTTAGCGAAAAAACCTGATATGTTTTTTTGCAGAAAATCGTCGCACGAGGTGCTTCGGAGCTTCTCTAGCTCTGGCCAAGAGCGGAGTCATTAAGTGAGGATAACCAGGAGATGTAGGATTTGTATGATTTATTTCTGCGCGTATATTCAACTTAGCTAAGAAAGTTTGTTTTTTTTTTGTTAAGAAGTCGTAAACAACTCAAGGAAATACCGTTAAAAATAAGCATTAAATAATATAGAGGCTTATGAGAACAAAAAATTCCAGGAAAACGAAGAAGCCAACCAACAATTCGAAAAAGAACGAAAAATGGGCACAAGACGAAGCGAAAAACCAGTCCCAACTCCACTGTTCGGGAGCTAGCTCAATACAAGATGTGCCAAAACGTTGCTGTCAGCAGGGAATCGATCATCTCAATCAGGTGCCATGATAGCATATTGTCTGAGACTACTTGAACTTCCAATCACAATCACCGAGAAAAATCGCACTATAAACGAATATGATCCAACGTGCTCCTAATGAGCTCCAACTCCTCACAGCGCCATTGAGCCGAGCATGCTCATTTGAGCAGCTTATGAAGAAATGGATTTGGAGCCGTGTCGAAACTTCCGCCGATATGGGGGCAATCGCGAGAAATTATATGGAATTGGCGGCGAACTTGCTGGAAGACGTGGATTCACCCACGTGGTTTTGAGAAGTCGCCTATTGACCTGATGGCGAAAGTGATGGGAACACTGAAGAAAAGTGTGGAAATGGATATCCCAAACAATAGTGCGTGGATATCTTGAAATAATGTTCAAAAAATTCAAATTGGCTTGTTAATGAATTAGGCTTAAGCTTAAGCTTAGATTTAGGCTTGCATAGGCTTACAAGTGCGGAAGTATTTCATATTCCCGGACTACAGAATGAAACCTATGTCATTTCGAAGGAGACTCTTTAAGTAGGTCCCTTCAAAAAATTTAGCGGCAGAGGAGCACTTTGACCTGGAAAAAAGTCGCTCTGAAAACTTTTCAGTGCATTTTATCACGGTCTTTCGAGGCCTGTAAAATGGATCCAAATGCGAATTTTTGTAGATTTTTGAAGATGTCTAGGATGCTGTCGCAGAGCACTCGGAACATTTTTTTTGGAATTTTTTAAAATTTTCGAACTGAAATTTCTTTTACTGTGAATAAGTCCATGGCAAAATTTTTCAGTGTATATATATATATATTTTTTTTAATTCAGAAAAGTTGTCAGTTATTTAAGATCAAAATGGGTGTTTTTACACAATGAATATTTTTTTGAGATTTGATTCGGACCTGCAAAAACCAATTTTGGAAAAAAATCGGCGTTTTACCCGGACTCGAACCCCAGTCTTAAAATATATTAATCAAACTCGCTAACCACTCGGTCATTCATCGACAATTTTTCTTGTAAATGAAATGGATGACAAAAAAACGTGACTCATTGATATCTACTTAAATATATAGGGACGTGAGAAATAGCTTTGGAAAAGGAGAGGACGAAGAGAATTCAGAGAGACTTTTTCCAGTTCAAAGTGCTCCTCTGCCGCTAAATTTTTTAGTAGGGGCCTGCTTAAAGGGTCTTCTTCGAAATGACATAGGTTTCATTCAGAAATCCGGGTTTAAGTTCTATTGAACTACTTCCCTGGTTAGGCTCACTAGGGAGTGACCAGAATAAATCGATAAAAAATTGTATCGGAAAGCTGGCATTCTCTACTATAAGAATATGAGTGTTTGCCCGTTCGGGCTGGAAATCTGAAATTTTTACGTCGGAAATTCTACACTGAAATCAGTGCTTCCTATGGTTAACAGTGGATTTTTGTCTCTGGAGCCAACAGAAGTCTCACCACAATGGTGGAAGGGCGAAATCCACATCGGTTCGGTGGTCGAGCGGTGAACGCGTTCGCCTCTTGAGCAGGAGTTTGTGGGTTCGGCTCCCATAGTCATGGGTTAACTTTTAGCCTTTTTTATACAAAATTTTCAGAACGGGAAACAAGTATTTAGAACATTTTTTTGAGGGTTTTACATAATTTTTTTGCTTTTTAATTGACCCATAATTACCCAGGAAACTTTTCAGAAATTTTAAATTTACATTTTCGAAAATTGACTCTTTTTCCTCCAACTCATGAGAAAATATGATCGAAAAATTTTTTTTTGAAATTTTTTTAAAAATGCATGGAATATTTTAGAGTGTCACAAATACCTATTCATTATTACGTTTCAAAGACCAATCATTGATTTTCTGATGCCTTATTAAGACGTTTTACCAAATCGATCTTTCAGGCAAAACATCTTGTATTTGAGGTTCCATATCTCTGCAGTAAAAAATCGCACTCAAATGTGATCAACTAGAAACTTGAGTTAAACACAATGTGATCTAAAACATTTCAGGGGGTTGAACACTTTTTTGTAAAAAACTTCGTTGCCGAGTTGGAACCAATTGATTTGAGATTCACTTATTTTTGAATATTCAAAATATTTGTTCTATATCTTGGCAACGAAATTTTTTACAAAAAAGTGTGCAACTGAAAAGTTTCAGATTACATTGTGTTGTACTTAACAGGTTTTCAGTTAATCACTTTGTAGTGCGATTTTTTCCTGCAGATATATGGAGCCTCAAAAACAATGTTTTGCCAACATCGATTTGGTAAAACTTTATTTCATTTTTTTTTTTCATGTTATTGTTTTTATATTGGGTCAAAACGTATTTGCTCTGCTATCACAATAAGCTGGCGCTAATTTTTAATTTTATTATTTTCATTTTGATAAATTTCACTGAAATTGTCACTTTAATGGTTTACATTCTATTGGTTTTCTTTTATTCAATGTCTTTTGATCGGAAACGTGATGTTTGCCTTGCATGACCGTCATTTTCCTTCCCAATCCCCTCCCATCAAATCCCTCGATTTCGAGACATGAGCAGAAGGTGGCAGATCATTTGGCAAGCATTATAAAGGAATCTTATCTTATGTACCAGTGTGGAAGAATCCGAATTTGGTTGAAGACGAAGAATATGTCGATTGGGAGCCAGAAGTTTTCAGTTGAGGTATGTTGGTTTCGACTCTATTAATTGTCATTTAAAAAACCTTTCAACCGTATGACTGTGTGTTGCCGGATCAAGATGATGTATTGTTCGGTGAGAAAGCTGTATCAAGGGAAGAGTTGGTTAAAGACGTGCGATCACCGTTCTAGCGTAGAAATTGGAAGTAGGCCGATAACGACTCTGCACCATAGTTATCGCTGGATACGAACCGATGCTCATATGTACAAACTGCGGAAGTACGGGAAAGATAAAAAAGCGTTCCAAGAACGGCTCGTTTGGCACAGCTTACACAGGCTTTATGGCCTTAGGAGGTCAAGGTGAAACTGAAATGGTGTACATTAAAATAACAAGTTTTAATATAAATATTTTAGGGGTCTTTGCATGATTCTGGTTTGATGGCTACGGGACTGGAAAACATCACCCGCGAAGTGAAGTTAAACAAAACGAAATGAAGTTGCAAAAAGGTCCGTCACAAACCTGGATAACCCGATGTAAGCAAAGCCACAGGAATGTAAGAAATTGCACTTGTATGTTAGCTATATATATATATATTTATATAATTTCGGAATCGTGAGTCGGAGAGTCGTACCAAGTACATGGAAGTGCCAGATCAATAAAGACGCTAAAAAAACGGGATGATTTTGTCAAGAATGCCAGAACAGAGATCTCAACCAACTATCACCCGTCGATGGTCTTCAAGTGTGAGCAAACCGGAATTCAGAAGGAGCGGTATCCAGCTCGGTCATTAGCCCTTGATGGTCGAAAAAACAGTCGAGATGTTGGCGCACCTCAATCGAAATCGTCGCTGACCCACTCGTTTACGTTTGTCCCGATGATTTTACTCGATGGCTCAATGGGACCCCAAGTTAAGGTAATCGCTGATCGACTAAAAGGCCAGTTTCCTCCGTCTACGTGGTCCAATTCAAAACTGCCCCAATTTTGTGCGGGCTGGATACAGACACACATCATGACGAAGCAATTGATGTGCGATTTTTTCGAATGTTGTGTCTTCATTCCGTCTAATGTGACCGAAAAAACTGTACATCATGCTGGACCGGCCAGCGTTCAAGGACCATACACAAGAACCTGGTTCCAAATGGTCATCATGTCGTCATTCGCAACATTCCAGAGCACACAACTGGAGATGATCCAACCGTTGGATGTCTATTGGGATGCGCCATGGAAGAAGGTATGAATTTTAATCTTTATAACTTTTTGAAAGTATTGTCCAGAGCTGGTGAGCTGCTCAAGAAGTTCACAGCATGCATGCCCTTCGAACCCAGACGGATTACGTCCTCGAGGAACAACCCAATTTGCATGGTATCTGTGTTGTATCTCCAGATCTCGGCAGTGCACTTCCGACCGTTACAGCTTGAAATCGTTGGAAGAAAGCTGGATACGTGGGTGCTGCCAATACTTCATCAACCGTACCACTTTTTGACTCCAGCTCATGCCATATTCCATTGATCATGGTGACCCAGTGATTTGCTATCACACTTATGGGATGTAACCATCACGGAGTCATCCGATGCGCAAGATGCAAGATGTTTGTTTGTTCTTCAACCATTTTGTGGTAACAACATCTTTGTTCATCTCCTGAATAACTAATAAATTCATGATTGCATTACATTCAAGTTTCGCTATGACTAAAATTGTTTATAAGGGGATACATGGTTGTAGTGGTCCATGGTTTAGTTTAAATTGGAAAAGATGTTGAATGAATCATTATGGTCTTGGTCGACACATAGATCATGCTGATGTCGATCAGAAAAATTAAAATTTGGGTTTTTATAGTTTCGAAAAAACACGTTTAAATTTTTGAAAAACTTTACCGTTCTTTAGGGTGTAATTGAACTCCAGATCCCACCATGCATGTCATCCACTCAATAGCCACTCGGCCATCTCCTGTTGCAGGCAGTACTAATTGGGGAGGTTGATAAGTAAAGCACGTCCGAATAATTTCAGACGTAAAAATATCAGATTTCCAGCCCGTACGGGCAAAAATTTCAGTCATTACAGCAGAGAGTGTCAACTTTCCGATACAATATTTTTTTTTTGAATATCGCTCTGCCATTTATTCTGGTCATTCCCTAGTCAGGATCAGCTCTACCTCAGGCCTAGGCTAAGCATAGGATTAAGGGTAGGCTTTGGCGTAGGCTTATGCTCGACGCTTAGGGGCTTGCTCAATCATACATCTTGCTTAAGCACGCAGCTTAAGACAGCAAAGCTTAAGCACACAGATTGGGCTTAGGCTCAGGCTCAGGCTTAGAAACAGTCGAAAAGTTAACTAAGTCAAAAAATTTTTTGTTAAAAAATTGTTTAAAAGGTATTATGATTTTAATAGAAAATTGGAAAAAACCCGAAAAAAAATGAACATAAATCAAAAAAAAAATTTTTTTTTAAAGAAAACTTCTTTTTTTCGAAAAAAATGCAATAAGGTTTTTCTGAAAAAAACAGGACTTTGATTTTACTGTAAAGAGAATTTTTTCTGTTTTCTTTTTCCAAGATTTCAACTTATTTCTGCGCTTCGAGTTTTTTTTTCAAATTTCCTCTTATTACAGTTGGTTACTGTCGAAAATTCTCGGTCGTCCACATTCATGACAATATCGTACTGGGGTCTCGAAGCGAGAGATTTCATTGTTCGTGAGATTTCTCACAGGTAGTTTGTCCAACTGGATATCAGTGGCTCATAAGATGCAGCTGGAGAACAGTCCTTTGAGTTTTTTTTCGGAGTTTGCAAACGCGCCCTAAAAAAGTTTGGAAAATTCCACGTGGAAAATAGTTTGGCGAAAGTTTTGATACAAATTTTTCGTGGATTAATTTTTTTACTGCTCGAAATTCTCTTTTGTTAAAATTAAAAATGTTTTATGGGCGAATTATTTTTCTAAATTTCAGCTTTTCTTTCACCAATAAAATATTTTTTTGAAATATCGCTTCGAGACCCAAAAAAATAATTATTCAATGAAATATCGAAAACAGCCAAAATCGAGAAATTATCGAAAATAATTCGAAAATTGGAACTTTTTAAAAAATATTTTAAATTTTTTTCAAATCAACACAAAGTCTCTCAACTTTTTTCTAAACAAGAAATATATTTCGTGACGAGACCCATTTCTACTAATTTTCTTTTTCAGAAATGCATAATGCGTCCATTGGATTGATGATCTCGCTTGCCATGATCGAAACCGTACACGGCCACCGTACCATGAACGAAGTGACACGTAAATATTCGAAAACTCGCGAAAACCGGAATCCAAGAGTCTCTGAAATTGGAGCACGTAATTTCTCAAGGAGTTCGACATCGATTCTCTTTCCGAAGAATGCGTGAGAGATCTGACGAGATGGTTGATGGCCGAACGATGACTTGAACAGCCGTCTGCGGCGATGAATGAATCGTTTGAATTGACCGTTGATAGCAGTAGTAAGAAGAAGGACGATGCCACGTTTGTTAGTGCGTACATAGAATTCTACCAAAAGGAGATCTACAAATTCTAAAGAAAATCTACGAAAGGAGTTGTCACGGCGCATGCCAGATCGATCTTTTTTCGGCTCAAACTTGGAAAAACCTGCAATTTTTATACATTTTTGGCTTCGAAAAGCAGGGAACTCTGCAATTTTAGGCCTTTTTCGCTAAAAAATTGGAAAAATCTGCAATTTTTATACATTTTGTGGCTCACAAACTGGAAAAACTTCCAATTTACATCTCAAACAGTCGGGAATCCGCAATTTTCCTCACATTTTTAGCTTAAACTAATTGAAAACATCTGCAATATTTCAGATTTTTGGGTCAAAAAATCGGGGAATTTTGCAATTTTTACATATTAAGTTTAACAGTGGAACATTGCAGAAAATCGGCATAATGTTGAACGTTTTCCTTTTTCCAGTTTTCTGTTTTGTTACGATTTTCGTTTTGCATGGAAAATGCTTCGATTGATACCCTTCTTTCGGAAACTAACCGACAGGAGTTTCTCCTGAAATAGGCGTAATCTCAAACCATTTATGGGCGTGGTCTTCTCTCTTATGGTTTTTATAAATGTTGTTCATTAAAACATTTTCAGGCCTTATCAATCTCTCCATTGGCTCGACGATTTCCGGAAAACATAAATTGAACGCGGGATGGTGTAATGCAAATCCTGAATGAGTTGCTAAAAAGTCGACGACTCGAACCTACCTTCACGTCACTAAAAAAATCGTGACAATCCTCTGGGAAAAGCGAAAATCCAACTGAGCCACTCCGTACTGTGTTCTGCTCTACTCTCCACGTCGTCTGCCAGGCCGATGTTCGATTCGCTCATCGGAAAGTGCCGACAATCAACTCGATTCTTAAATATTCGCTGTCTCTAATGCCAAATGTCGCATCTCTTCCTAGTGACGCTGCGTGGTCCGAAACGATTGTCAGATTCAGGACAGTATCACCGAGAGGGTCTCCGTAACACGTGGGATACCGTATCCCGAAACCCGCTAGCTCCGGCTCATAGTGCAGTGTTCGGCTGATTTCGGCATTTATCTCCGTTACGGAATTTGATGAGAATTCGAGATTCGCCAACGATGAGAGAGTTCGGAGTCTCAATGGAGGTAAGTCACTTTGCCACGTGGATGGATTTCCTTTAAAAAGAGTTTTTGGAAAACAAATCAGATTTTTGTATATCACCTTTAAATCGAGAAATTCTTGTTTTTCTGTAGTTTTCGAAAAGACATAATAGAATGGGTATTGCGGGAACTCCGGATGCACATAGTCACAAATTACTCTTCAGTTGTGCCTGTATCATCCAACGTATGGTACTGTTTCAGAAGCTTCTTCTAGTGTAGTTTATACCGTAGGGCTTCCAATTCTGGTAGAGGCGCGATTTCAGGGCCTGACGCCCGCCTGGAACCTGCTGACCTTTCGCCTCTTTTCTCTCATTGCTAATCAATTTGTTGAAAATCAAACTAAGAATTAAAAAAATAGTTCACGGAGCTTGTTCTGTCGTGGATTGGGGCGAGGGGCAGGTGGTGGTGATCTTAAGGTCAGGTAGGCAGGTGTCTTTTCACGCCTGCATTGAAGTCTAGTACCCCATATGCCGAAAACGCTGAATTTTCTCATTTTTCCAGACGACTCCCTGCTTCATAACTCTGAAACTAAGTAAATTAGCTTGCTCTCCAGCTCCTCCCCATCGGCTCCAATAGCCCTCCGAGGGGGCCACTTCTCGAAGAATTGAAGAGATTGGGAGATATGTGCATGGCTAATCTCAAGAGTATGTGAGCCTGTCGTTTTTTGATTTTTGAATATTTAAAAACCCAACATTTTCAGCGACTGATCACTCAGCCTCATTTGTGCTATGCCACGGATTTGCTCTGAAGTATCTGGATAGATCTTATGAGATTAGTTCAGCGGTTTTTTTTTCTAATTTTCGAAAAATTTAAGAAATTTTAGGAGCAATTGAAGAGAGAATTTGAATTTTTAAAAAATTTCGAATTTATGGAAACAGTAAAGTTTTTCGGAGTTTTTAAACGAATTTTCAGAATTTTGTAATAAAAAAATTTTCTAATTTTTATTCCACAATTTACAAAATCTAAAAAACTTTTTAGAAATGAATTGTTTGAGAAGTTAGATTTCCTAATTAAAAAAAAATTTGGGTTTTTATACAATTCTTAAAAGTTTGATATTTTCAAATGATATGAAGTTCACACATTTTTTAAAATATTCAAATAAAGAACATTTTCATTTTTTTGAAGAAATGTTCAAAAATTAACATTTTTTGAGACTTTCAGAAGTTTCTTCTGTTTTTTTTGCGTTTTCAAGTTTTTTGCAATTTGCGTAATTTTTATGGGGGACAGAAAATTTTGAGAATGCGGATTGCACAACCTTTTTGACGCGCAAAATATCTAGGAGCGAAAACTACAGTAATTCTTTAAATGACTACCGCTAAAATTTAGCATAAAAATAAAAATATATCGATGTATCTAGGATCCCGTAATAATCGACAGTAGCGCGCTACAGTAGTCTTTTGAGACGAATTACTGTAGTTTTCGCTATATTTTGCTCGTAAAATGTGCACGAATTCTTATGATATTTTGTTCTCACAAAAGTTGGTCAATTTATGGGATTCTCAAATTTTCGTTTTTTTTTGAAATTTAAGATTTTTAAGATAACATTCTTCAAAAAACTGATTTTTCTCTTAAATTGAAAAGGTTTTTTGAAAATGTACAAAAAGCTCTACTGATTCAAATCATGGAAGATAAAGAAAAAGACGAGTTTCTCCAATCTGCTCGCCATTTCTCAAAATGGCCTCAAAATCTGACACTACCAATTCAAAAACAGACACTAAATTGGCATGGCTGTCTTTTGCGAAGCGCTTGACAGCTCGTCGATCTGGTCTGTCAGTGGAGTGACCGACGATAAGTGCTTGTCGAGATGCTCGCCGAGCTGGCTGCCACAAGCTCTGAAATTCTAGATAAAGTTCCAAAATCGATGCCATTCAACAAATTCGTCACGGAGAGGATAATGCAGAATCGCGGTGATTTGTATGTACTGACAATTCGAGAAATATTCGTTTTTGCGTCTCGTTTCGGATAATGGCTACTAGGATGCTTATAACATGAGTGTTTGTTCTTGGGGATTGCCACGAAAAACTGGCAAAACGTTTCGAAGATTGAAAAAATATTTCTTGCAACATTATAAAGGAATTCCCATTTATATAATTTTGGAAAGTTTTTAGATTATATTAGGTAAAAAATTCGAATTTACAAAAAATTATGAAATTTTAAAAAAAAGTTTGAAAATGTATTTTTAAAAAATTTAAATATTAGTAAATATTTGAATTATCTAAATGTTTGCGATTGTGTTTTAAAAAAGCTTAAATTAAAAATTTTTTTCACCATATGAATAAATTAAAAATATATAACAAAAATTCAAAAAAAATTTTTTTCGAGAAAATTTTTTGCTTTTTTTAAAAATAGAATTATAAAAAAACTGAATAAAAACCTTCGAAAAAAAAACAATTATTTTGAAATTTTCAAAAAAACTAGCAAAATGATGTTAAAAAATTTGAGGAACAAAATTCACATCCCTTGCAGAAACGAAGCCGCCCAACTCCTAGGAGATGGTGAAACAATCAGTGAAACCGATATCTTCATGAAATCGAAAAGCGAATTACTCTTTCAACGTGTATTCGTAATGTGCCGTTTCCGAAGCAAGAGTAGAGCGGTTACACACTGGACCCCTATACCGCTGGGGAGCGGCCAACGTGCACAATGTGCTAATTTAAGCACGATCACATAAACGTCGAAATCAATCAGGAATTGCTGGAAAAGTCGCTATTTTTCGCAGAACCGTCATTGTCCGCCACTTGTTACGGCAGAATGGAAAAGAAGCAGAACCTGATGAGACGTGTCACTGCCCCTGTGCTGAAAATTGTGATGAAAGATGAAAAGTTGCTGGCGGCAAGGAATTTGGAAAAACTTGAAAAAAAAGAATTTCATCGTATTTTTAAATAATTTTTTGAATGAAAAATTCGGGATTTTTCCTTTTCCGCATTAAAAAAAAATTCAACCTATTGACTTATTCGAATTTAATTCTCAGGTGAATTTGTATTAACTACTATTTTCATAGTATTGGCTTAGAAAACAACAGTACTAAGCCTTAAGGTGAGATACAGATAAAAGAAAAAGAGTCCACGTTTTTATCAATGAAATATTCCTGAAAAAATTTCGGCGGGGTAAAAAGGAAAAGTACCAAAAATCAAACTTTCAAAGCTAACAATACGCAAGTATTCAAGTTAATTTTAATAATGGTTTAAATCCGGAATTAAGAAAGTGGTTCAAATGTCATTTGACTCATCCCTATTGTATTGACAATTGAAACGATTTTTGAGACTTGTATTTATTTAAGGAAAAAAAGTTCAGCTGTCACAAAGCAGGTCGTAATTTTAATTTGAATATTTAAAATAAAAAACTTATATGGGTGCTTCATTTTGCAAAACATTGCATTTAAAAAAAAAATTTTCAATGTTCGGCAAATCCGAGCTTGAAAAAAATCCTTCTAATTGTGTTTCCGAATTTTTGGGATTTTTTCTTCGAAAATAGGAATGGTTTAAAACAATTTGAGTTAGATATTGTTGCATATTTTTTTAAAATCAATCTCTTGCAATCAAAAAATTGAAATTTTAAGCAAAATAATAAAGTTTTATCTAATTTTTCAATTTTCAGGTATGGGTGGCCACAATTCTAAATATGGTTCGATCTCTCAAAGTCTATCAGATTCATTTCAGCCCGAAATCCAACGCGGCGAAGTTCTTGTAGGTTTTGTTACTGCGAATATCAAAATTTTGCTCGTCTAATTTGACGCCTGCTCTGTTTTTTTTTACGCGCATTTCAAATTATCTTAGAAATCCGTGACTTTCGTCTAATAACACCATTTTGTAAAATCTGAGCAATTTTCGGTTTTTGCGCGTCAAATGTGAGATATCTAAGTCAAACTTGACGCGCAAAATTTTCAAAAAAAAAATTCAATAATTTTCCGGGCGAAACACCTCGACATGGAATCGATTTCCCACTGCCAAGCATTGCGAAAACAGACGCAACAAAATAATCTGATCACGGCCGCCAACTTTTTGACACTTTTCGGATGTGAAGCGCTCGAGGTTGGAAGCGCCTGATTCTCAGATTTTGGAGCACCGCATTTTCAAGCAAACCGGCTACTGTGTTGCGAGGAAATGCTCATGCTATTTTTGTAAGCAATGATTTTTTGATAAGAAATTTCCCAAAAATTTTGATTTTTTGAATTATCTTTGTTAACTTCTTATTTTTAACTCAGTCTTTTTGCAAACTGAAAATTTCCAATTTTTGGGAAAAATCTCCATTTTTCAGGCTGAAGAATGTGTCGAACTTGGCCTGAACCACCGAATCGCTTCTCTTTTACGCGCACTGACAACCAGTCAATTCTGCCGAAAAGCTCTATGCGATGAATCTAATATCTGAAAATCGCGTTCTGACTTATCGATGGATTTTTTGATTTAAAAATGAGTGCAGGTTGGTGGAGAATAGTAGGATATGTGGAAAAACAATATTTGAAAAATAAAAAAAAAACTCATTGATTTGAATTTTCAAAAATTCCAAAATAAAGAATTGTATTCCAACTTTCATGAAAATGGCAACAAAAAACTCAAAGTTTCCTTGGAAAATTTTTGAAAGTACAAAAAAATTAATTTCTGAGAATAGTTTCAATATCAAAGTCGAAGTTTAGTTTGAGTAGTGTTGTCAACAATTGCCTATTAGAATAGTTGAAAAAATCTTGGAATTTACGAAAAACAATTTTTAAAAATTTCTCCGTCCAAATTTCGAAGCAAAAAAAAAGTCTTCTAATTTTTGACATTGAACAATTTGGAAATTTTTTGAATTTTCAAGAGTAATTTATATTTCGAATATTCAGAACAGTTCCAAAAAAAAAGTTTTGGATTTTTTTCCAATTTTAATAAAATTTTCAACACAGAAAGTTTTTTTTTAATTTTTTAAATTTCAGAAAAAAATTAATATTCATAAAAAATTGAAAATTCATCCATTCTAAAAATAAGTTTTCACATTTTTCCCAGAAATTGTGGAGCTCTGCTATGACATGAATACTTCGGAAGGATCTTCTCCAGCACCACATCAAACTTGTTGCGGCTCACCAGTTGGAGCACTTGAGCGTTACGAAACGAGACTCGTATTTTCTGTTGAGAAATTTCTGAAATCTGGAATTGATGGTATCGATTTTGAAGATTTAGGTTTACAGTCGAGTTTTATAAGCCGTTGAACGAAAATTTGACAAGACGCGATCAGGAGCAATGAGGCGAGAAGTAAGGCCGTGGAATATAAATAGGTGGCCGAGTTTTTTGTAAACTATGCCACCAAACTTGGTTTCTCCGTTCGTGGCCACAAAAATTTTGAATTTTTTGAGCTTCTCTTATAATGCTTAAAAGTGATTGCAAAAATTCATTTCTTTAATTAGAAAACTCCAAAAAATTTGAAAAAAAAATGTAAACTCAATAAAAAGTCCAATTGTTTCACATTTATTCTGGTTTACTGAATTATCAGATTTTTTCTTCAATTTTCAGTTTTCGACTTTTCAAATTTAAAAAAAACCAATTGTTGCCCGAACAAAAACCATTAAAAATCGACAGTATGTCATCCAATTGGGGTACAAAAATTTTAATGTCCAAATTTTCATGACGAACGAAGAAACCTCGTTTGGTGGCCTAGTTTCCGAAAAAACTCTGTCACCAATTTCTTTCAAAATTCAAAATTTTAGTGAATCCCAAAAAAACGAACATATGCGGCGAAAATTTTTCAAAAGCTTCCGAACAAAATCTAAAAACGTTCCGAAAGTTCTGGGTAATTTTTTAAATATTAAAAAAATTCATCATAAAAAGGGCGGCAGATAGCGGTTCAGTCGGTAGTGGTGGCCGCTAGCAGTCTGGACGAGTCAAGTCCGAAGCCTCACCACCTAGGTTCACCCAGCTTCTATTGGGAAGTGGAGCAATCCACGACTGGATTATCGGCCACCCGGCTAGGACGTGTCGTGCATACAACCTAGCCCGAACCACCAGGCAGATTGTACCAGGATCCCCGATCCGATCCAGTGCAACTTGAAGAACGGGTCGTCCTTTAAAGATTCTTTCAAAACTAATTTTTTACTAAAAAAAATTTCCAGACATTCGTCGACAGGGCTTCCTTCTCAACAATTTGGCTCCAGCTCTCAATCGCTTCGTCCCCAAATTCTACCGATTCTCGCCCGCTTCAAGCACATTTCCCCAGCGGGGACTAATTTCCCCGGGCACAGCCGCCTCATATTTCGACAAACGAGATATCATTTAACTTCAACATCTACGATTTCATCTTTATTAGATCTAGAAACGAGGTATGAATATCCGAAATCCATGAAGCAAGGCGAGTATCCACGTGTATTATGATTGACGAGCTACGACTCGAGCCATTTCGTTGCTGATAGAGAAAAAGCAGCTGGGCAAACTGAAATTGCAGCAGAGAGTGAGGAATGTTTTGTGCATTTTGAGCCGACTTTTGAAAGATCAAGCTGTGATGGGTAATGAAGATGAGACGATTATCGATCCGATTCTTTGTTAAGGCAATCACCAAAGCTTGACCGTCGTTTTTGTATGTTTTTATACGACGGAAATCACTGAATTTCATGTCTATGCCGAAAAATCATGAGCAAGTATATACATCACATGAAAGAAAATAGTTACAGGGCCGGTTTTTTAATTTTTCTGTCATACCGGCAATTTTGAAACTACTTTTTGAACTTTTTAAAAATTTGGGTAAATTTGGCAAGTGCAAATCTCTGTATCGATTTGTCAGAATCATAATAGTTGTTTTAAATTGAACATCGCGTTAATGTTTTTAGCATTTTATCTTCGAAGATTTAATGTCTCGCAGTTAAAAATACATCTTTGCAGGAAGACTCCGCCGCGTGCATCGTACCATTTTTGTTCAAAATTTGCTCATGGGGACTTCAAGGTAAAATACGATAAATGTGTGATAAATTTGCTGGGATGTCTTTAGGGAGTTCATGCAGGTATGATTTTTCGTCGGAAATGACTGGAACGCGTTTTGTTCGCATCAATTCAAATTTAATGTAATGGCATTTGGCATATGAAATGTCGAAAGGTGCTGGGAATGCCGAATAATATAATTTGGTATGGAGAGCTGAATAAACTAGACAAAGTTCAAATATTCACAACACTGGGGATTGCTTCACCCGTGACCCGTTTAACCCGTTCACCCATTTTTACAAGGGAAGGTTCTGAACTCGTTATCGGACTTTACGCCCCACTATATTCATTCGATAGAGAATGGTTACAGATGATCCTCAGACTCCAAATTTAGCTGCTTCAGAGCAGGTTCGACCAAGTTACGACACTTTGAAGATGCCGGAGTAAAAAAAGAATCATTGATGCACCCCCTTTGAAAAAATTTCACGATATTCACTGAAAATACCGCTTTTTTTTTCTGAAAGTTGATAAAAATAGTTGAAATCGATTTAAATAGTAAAAAACAAATAATATTTTATACAAGTTTTAGCCCATCACTCTAAAAAAACCCCGTAAATTAATGTACATATCTTGAGCGAAAAATTCCAAAAAGTGATGTTCATGTAGATCCATCTAAGCCTGGAGCCAAGCCTTATGAACTGAAACTTGTATGGTATGACATGTTTCCATCATTTGCAACTATTTGTAAACATTTTATATCAACTTTGAGAAAAATTATTTTATTGAACTTTTTGGAATTTTTAAAAAGGGAAGTATTTTGGCACTTTCAAAATGTCGTAACTTGGTCGAACTGCTCTCAAGCAGCTAAATTTTTTGGGATCATCTTAACTAATCTCTAACTAATATAGTTGACGAAGGAAGTCCGATAACGAGTTCAGGGCCTTGCCACCCTTTTTAGGCGTCTTTACGGGTGACGGGTGACCGCTCGCCCGTTTTTTTTTTCGTTTTAGTTGTTTTCACGGGTGACGGCTGGCTCGTCACCTGTTTTTCAACCGTTTTTGGAAGTTTTCACGGGTTATGGGTGATCCTTGGTTCCGGCAGCCAGTTTAGGTAATAGGTCGTAAATATCGTTTTGGGCCGCGTCTTTACAACTGGGCTGTGTGCAACTGGGGGTGCACTTGGGTTGAAAAGGATCGACCGGCGGTTCAACTTTAGGTAGCATTTGGAGCGACCCCGATAAATAAAATGCCGACCCTGAATGAAAAATTTTAGCAAGGCGGCCATGCTCGTTTAATTTCCATTCTCAAAATTATGAGCGCTCGCCGGACTACTGGTTGAGCTATTGTGAAACGGGTCGACCCTGCTCGACCCATGAGCACCCCTGGCAACCATGATTTTCGGCAACTGGCAATCAGAGTTGCCGCACCCAATAAGTTTCGGCAGCCGGCAATTGCCGAAGCGTTGCCGAACTCTAAAAAGTGCAACCGCCACCGGCAATTTTGCGCAGCCCTGGTTTACACCTACCTGACGACTTTTGGTAGACTAGAACACATGTATTCGAATTCGACAGATGCAGCCGAATGCCGAAAAAAGTATTGAACGACATTAGGCACATGTCCGGGATGGGCGGATACCTTTTCGGATAACCATCTTCACTAAATCAATTTATCAATAAGTATTGATTTAGCTTAGTCGGGAGATACTATACTGACTAGAATAAAGAGTACCTATTGAGCAACATGTTCATATGACAAAAACGTTTAAAATTGTACGCATTCTCCTCGAACCCTGAAACTTGCCGTTCTCTGATCAAAATCGGCTAAGAGAAAACGGACTTGCATACTTTTTATACGGCAAATGTGTAGAATTTTAAAATGAAAGATTTGTGCTATCAAAATGTTGCTCACCAGTTTTTGTTCTCCCGGATGCGCTTCTTCCAGAATTACTACATCAGCACGTATTGATAACTAACTTGAGGTGTTTAATGAAGTTACCCGAAATCCAAAAGTATCCACACCCCGTCATAATAAGCATATTTCATAAGTCAAATATCAAATTTACTGAATTCCGCACACCTCTGCTCTCCATGCTCCAACTAATTTTTATTGCAGAAGACGAAATAGTAGTCCGCTGCCTTGCCGAATTCGTCGACTCTATTGGACTCAACGTGATTGCTGCACGCGTTACGAAGGCCTGAACATTGAGACTCATATTCGCAATTCGGTGTGAAATGGTTCTTCAAATTATCCCGTCTCTTTCTGAAACATGTGGATTTACTACGCATTCCTTCGCGATTGCGAATATATTATTTGACCGACTTTCCCAGGGCGAGAAAACGAAATACAATGATGATTGAGATCGTACGAGATTAGACCGAATTGATCACAGGAACTTATCAATCTTTTGGTGGAGATCTATGTGCCGAGGGTAACTCGGTAGCGTTGTCTTCTCTGCCACCTGCGGTCCAATAGACCGGATGTTGGGCAGGTTATGATTAAGAGTTCAAAGGAATGTCAGTTCAAATTGCTCTCTTCGATTCAAATGAGACGGAGTTGACTATTGTGCAGTGGTGGTAATTGTTTATTTTGAAATTCATTAGAATAGAAAGCAGTTTTCTTGGAATTTTCAGGAAATTAATTTTTTACCTATTCTGCATTACTAGATTCTTCAATTTTTTGAGAAAATATATATTCCTTCGAAAAACTCACGTAACATCTTTTCGTATACAAGAAGAAAGTTACAGTCGACGACTTTAAAAAATTCAGTTAATAAGATTTCAAAAACAAATCGAATTTTTTAATTTGTACCGCAATCTGGAAAATATTTTAAAATGACTCCAAATTTTTCCCTGATTCCAAATATCTATGAGATAAAATTCATAAAATAATCCCTTTTTGATCTTGAAATCGCCGTATTTCACTTGTGCACGCATGAGATTTCGAAGTTTCGCGCCAGAGACCGCATGTGTTAATTTACGAGATTTGTGTATATTTACGAACCCCTTAAGCTTTATCGGTTGCTGTTTGCCGTTTTTCAACGAGTTTTCTTCAGTTTCGTCGGTTTTTGTTAAAGTTTTTGTTTAAAACATTTAAAACTTGACAAAAATGAAGGGACTTCAACTCGTTGAAAAACGGCAATCAGCATCCGATAAGGTTAAGGGTTTCGTAAATATACACAAATCTCGTAGCTAATCGACACATCGGAGTCTCTGGCGCCAAAATTCGAAATCTCAGCACAAATGAAATTCGCGTTAAGCTGAAATAAACCTCCAGGGAAAAACATCCTTTTTCACATAGTTGTTCGAAATCAGGGTCAAATTAAGAGTAACTTTTAAATTTTTAAATTTCTTCAGTGGCATCTAATTCAATGCAATCACCGGCGATAAATACCTGAACATTCAATTCTTCGTTGCAATTTCACGAGTACTCCAAAAAAATCGATTGACCCCATTAAAATTCGTCAATTTACAACTATTCCAGCTTATCTTCGACGAGGCAGTCTGGATATCGAAAAAGCCATTTCTTTGAGCATGCGGTCAATGGCTCCAACAATCGATCAAATGCGGCTTATGATCATGCCAACGCGACGGAACATCTTCGAACCCAATCCGTTGAAGAGCACGTTGTTCGAGCTGTTCGAGAGCTCCGAGAGACGTCAAATCGAAAATCCGGTGGAAATGTGAAGGGCACAAATTAATGAAAAACCAACGAAAATGGTGAAACTAGCCAACTCGAGATGCTCACCGAGAATAAAGCATACGATGGACGGAGCATAATAGAAAAGTTGAATTCATTCAATCATATGTCACAAAAAAGGAAATTTCCTTAATTTTTCGGTTTTTTTTTTCGGAAAAATCTAATTCTATGCAAAAAATTTAATTGAAAATCCGGAGAAAATCGTATACTTTTTGTCGAACCATTTTGTGGGCGGAGCCTAACTAGTAACACTTTTCAATTTATGGCCCATCTCGAACAGAAACGTGAGAAAAAATTCTTCTTTTTCGCGAAAGTCTAAAAGAAAAAAAAATCGGAAATTTTTGAATTTTTCGGTTTTTTCTGAATTTTCCAATTTTCATTCAAAGAAGGTCGAAAACTTTTTCGGCGATTTTCCGGTTTCCTTTTTGAAAAAAAATATAGATTTAAAAATGTGTAGTTTGTAGTTTGTAGTTTTTGCAGTTAATGTCTTCCATTTTGGATAGGCGGCAACAAACCTGCTCGACGTGGGAGCACGAGTGTCTCAATCAATGGACATCTGTCGCTGCCGATTCAATCGATATCGATTTAATACGAATCTGCAAACAACACCTGACGTGTCGGGAGGTCCAATAATGGCGGACATAAAACTACGACAATCACGTGTCCCGTTGATGGAGTGACCTGGCGATTGCCGAATGGTCACTCGCATTAAGATTACAATTGAATATCGTCGAATGATATGGAAGAGGATATTATTTTGGAAGATGCGCAACAAACATTTACAGAATACCACTGGAGAACTTTCTGTAGAGACGAGGTTATAATGGTACATGCGGTCGGGTTGTAGCGAAATAATCATTTTTAAAAATTTGAGAAAAAAATTGTGAATTTTCCGCGTAAAACGTGATTCAATCGCGAATTATTGTATAGATTTTTCCGACAATTCGGAAAAATGCCGGAATTGAAAATTTCCGGCAAATCAGCAATCCCATGGCCGTAATTCCAAATTTCCGGTAAAACGGCACATAGCCAATAATTGACAATTTCGGCAAGTCGGCAAATTGCCGGAATTCAAAATCTCCGGCAAATGGCCAAATTGTCGAAATTCAAAATTTCTCGAAAATCGTGGCTGCTAATTGCCGGAAGTGAAAGTTTTATTGATAGAGATAAATTAGAACTATCACTAGAATATGTAAAACAACTAGGAGTTATCATGTAAACTTGTCATTTGAATTTAACACTAGCAAATAGATTGGGCTTCAGATTTTGAAAAAATTAATATAACAAATCAGGAATTTTTTGAATTTATCCACATTAATCTCGATTCGGTATCAGGAGCATAAATAGGATCTTTTAAGATATATTGACAAGAATTTCCGATCAAAGTTTCAAATATTTTTTACCAATTAATGGGATAGAATGTTACATGAAACATTACAAAAAAATTATTCATCAGGTTCTCGTACAACTCCATTCCGTCTGTATTGGCCAACTGTCGAAACTCGAAGAATATCGTGAAACGGTATCTCCCGTATGAAGCAGCAGGCGGTCACCGCATTCGTACAACAAATTCAAAATTCGTGTCCAAACAGTCTGGCGCAATTCGGGTGACGACTGGACGAAAAAAACGGTGCAACGGGTGAGAAAAGGCATCAGTATGAGAATATGAATGATTTGGAAAGTGGATAATTCGTTGAATTCGGCGGCCCGGAAACTCTATGAACTCCGGGTTTTGTGCAGTTGCAATTTTTGAAGTTTGTGTTGAAAATTCAAAACTTGCACACGAACGGATTTTAAATTCGATTTTTCGCGATGGTTGAGCATTCAATAAAATTTTGAAAAAATGACAAATTTTTGAAATAATTTCCGAGAAAGAGTGTAAAGTTTCAGTAAAAAAAATTCGAAGATTAAAATTTATTTTAAAACTTAAAACATCTGACTTTAAGCGAATTTTTTGACAAAGTATTTAATTAGTCATAAATTAATTCAAAAAAATTATCTAAGATTTTTAAAAACTGTTTTATACAGTTTCAGAAAAATTTAAGAAAAAATTTTTTTTCAGAAAAAACCGGATTTTCTGTTAATTTGAAATTATGGAAAAAAAACCCCAAAGGGTATTACGGAACTACGTCAAAATTCTGAGAATGCGTACCCCGCAATATTTCTGTGGAACTACAATTCTAAATGACTTCTGTAGTGTTGGTGTCGACCTTTACGGGCTCGATTTTAGATCGAAACGTTATTGAGCAGAAAAATTATCACATAATACGAAGAAACGAAGGAAAATGAAACTAAGTTATAAAAAAATTCGAAAATCGAGATCCCGTAAATCGACGCGCTACAGTAGTCAAAAATTAACTTGAAATTAAAGGATTACTGTTTTCGCTCCGAAATATTTTGCGAGTCAAATGTCTTGCGCAATACGCAGAGACTAAATCACAAAATTCTATGCTCCCGAAATAGACTGAGAAAATTTTTCCAAGAAAATTCCGTTTACGTCGAAAAAAAAGAAAAAAAGGCGTAAATACACCAGTTTTAATATTTACTGAAAAAAATTGGTATAATCTAAAAGTTAATCAGCTGAAATTGATATGTTTTCGGATAAAAAATTTTGGCGGGAAACTCACGTTAAAAAAAAAAATTTCAGTATGCATCAGCCGACTGGAAGACGACGACGAAGCGATCCGCGCTTCATCTCTCATTTCCCTTAATCGATGTGATCTACGAATACACGAAACGGACGTCGGAGTGATCCCCTGGCCTTGCTCAAAGAACCAAATCGAAGTTCCAGTCGAGGCTGTGGATAAGTGCCACCTCACACATGTATGCCTCCAAGTGCTTCTCCATGGAAAAAACGCAAATCACGAGACACTTATCACAGATTCTGTGACATCTCATCCTACCCGTATCACGTTTTGCACACAATTTTGATGTATGACTGACGTGTGAGAAGAACGCTTCCAGAAAGGCTTCTTGAAAACGAGATACGCACGAGCTGACCAATTCGTCTTAAGGAGATTGTGATTACTATTCGATGCTCACCAAGCTTATACTCGGTACATACGGCGGCTAAATTTTTTTAGAAATTTCGAAAAAGACGAGAAATTCGATTTCTTATCAGTTTACAAAAATCTTCGCTCCTGTTTCTGACAATTTTAGTGCCGTGGAATCCATTCAACGAAAAAAATTAGGTTCTACTGGTTATTTTTGAGCATATTCAGTAATTTAAGCCATACTCTTTTACTTCTAAACTATCCGGTGACGATACGTGAACAATGTCCAAAATTATATATTATCTAACGCTACAGCATATAATTTTTACCAACCATTTTCATTCATTTTATGGAAAAAAGCATCTAGAACATATGTAATATGTTCAATTGTTCGATTTCAACAAAATTCAAACCGACGGCATGCTCCTTGGTTTGAATCGAAAGTTCAGAACAGTTTTTCATAGGAGAGCAAGAAATTGCAATGCTTGACGTGAGAGGAAACGTACGGATACAACGTGTTGAAATAAACGGAAAAAAACCGATGTACCGATGGCCACATGATTTGAAGATTTTCAAGTAAATTGTCAATTGTCGATTCACACCATTTCGCAAAAAAGGTTTGTTTTTATTTTATTAATAATTATTAATAATGAATACGTATTTGATCATACAAAAATAAAATGTCTTTTCCAGATTGGTTGACCGGGTGACTACTCGACGACTGACCTAATCACATGGAAACGATGAGGTAGAAAGATATATTCACAATTGCCGACGGAATTTCCACTCCAAAAATCAGGGCAATTGAGGGTAGCGATGGAAAATGGTATAAAACTGGAAGAAGGACGACGTACGACAGGATGTGCTTGTTGAGGATAGCAAATGTTTGATGTTACGAATAATATGTTGCCGAGAAGGCGATGCTTCGGACATATAATGTTCTTCCGTTAGACACTGAATGTGGAGTTATAGAGTTTTGCGGTTGTTAGCTTAGGTTCATTTTTTTTTCGTTTTTGCAAAAAACCAAAATACTATTACGATAACTAGGCTGAGAATGCGTTTGTACAACATATTTGACGAGCAAAATATCTCATAGCGAAGACTACAGTAATATTTTTAAATTCCGACCGTAGCGCTTGTGTCGATTTACGGGCTCGATTTTCGAATATTGCGGGGCCGTGATATCATGAGTATGCCTATTTACTGGCGCGAAAATATAGGCACGGAGCCCCGGGGAGAGAGCGTGTGGCGAAGAGAGATAAGACGCAGGTCCCTTCGCTACGAGATATTTCCCGCCAGAAAATAGCATTCTTTTTCATGATCTCATGGTCCCGTAATAAGCGATTCCATCTATTTCACTTCAAAAATCGAGATGCCGTAAATCAACACAAGCGCCAATTACTCTCATTTAAAGAATTTCTTTTAGCTACGAGATTATTTTTCCCGTCAAATATGTTGTGCAATACGCATTCTCAGAAGAAGAAAGAGGCGGGCAGATAGCTGAGTCGGTATTGGTGGCCGTTAGTGGAAGTCACGAGTTCAAGTCCGGCCTCACCCGCTAGGTTCACCCAGCCTCTATTGGGAAGTGGAGCAATCCACCACTGAATTATCGGTCCCAGTCCCAGGACGTGGCTTACATCACCCAGAGGGATCGCCACCAGGCAGTGTACCTGAATCCCAGCTCCCCAGTGCATAGCACTTGAAGAACGTCGTCAACTTTAATCCTTAATCCTTTAAAAATGTAAAAAAATTTCATTGCCAAAATATCAAATTTAACTATGAGACGTTTTTTCTATTATTTTTCAGAAGAAGTTATGTGTGGTGTGACACGAGAAGGCGGTTTCTCCACCGGGAGTTCAATTCAAAAGAAGTTTCGGCGAGTAGATAAGTGTCAATGACGAGACTAGTACAGACAGAGTCCACCAGAGACACGACCAAGTTTTTGTGGTGTCAGCAGTATTCTCCAGTTTTTAGGTAATTTTTCTGAAAGTTGTCGAAGTTTTTTGTTTTGAAATTAACATAATTCCCAAATAATTGGCCTTTTTTCATTTCCAAAAGATAAAATTACAGCCACTTCTTCTACACCAATGCGACGGCGCAGATTTGGCGGCAAAAACTTATAAATTGTGTCACAGGCAGAGCTTGGCCACGTGGCGCGAGTATTGGTAGGTCTCGAACTATGCTAATCGAAATGAATTTTCGAAGAATTCGAACATCTCAGACTTTTTCTGAAAAATACATAAAACGTTATTTTCCAATTTTATCAAAATAAGAATATATTAGTTTCTTGCGAAATGCAGTCTCAACAAATCTTTTTTTTAAAAATCAGATTTTTAAATGCTTTTTTTAAAACTTTTATCGTTAAATTGAACGTTTATGAAACATGGCGAGAAAAACTTTTTTATTCGCTTTTACAAATAATTCTCAAAATAAAAATTCCAGTGTGCTACATCGTTGGCCTCGGCGATCGACACGCGTCGAATATTCTATTCGATCAGAAATTGTTCACATTGGTGCATATCGGGATGATTTTGGAGTATAGTAAATGAACTTACCGGTGCCAGTTCAGCCCGAAGTTCCATGATTCCGTATAACTCTATGGTCGACCCGATTCTGATTGAAGGAATCGAGAATGGACAGTTGGCTGAGGAACGTACGCAGATTATGGCGATAAAATTGAAGGAAAATGGAAAGGTACGGCGGTCTGGGGAAATTTATACGAAAAGAAAATTTTGGATCGCTGACAATTAGACTTGTAAAGCAATTTAAAAATCAATTCAAATTTCCCCCCAAAAATATTTTTTCAAATAATTTGAATTTTAGCTAAATTTTTAAACAAATCTGAAATTCCCGCCAAAAGTTTTCCAAAAAAAATGTTCCCGCCTAAAATGTTTTATAAATTCAAATTCCCGCCAATTTTTTTTACACAAAATTTGAATTTCGCGTCAAAATATTTTCCAAAAAATATTCTGGGAAAAATTCCCTGAATAGTTCAATTGACGCCCCACCAAATATCATTCAGAATAAAATTTTAGAATTTCTCGCCAAACTTCTCTTTCAATTCCGTCAATCCCCTCAAAATTGCCAGGGCTTTAATCCTCGGTGTCGCCTCTGCTCTCCGCGAAACAATGACAAATTGCCAAGCCGAAACCAGCAGGCTGCCGGCCGCCCGTCCTACAATTCTGAAATGGCCATCGGGCGGCTTGGAGAAAAGCTACGGGGCACCGATGACGGTGTGACGGCCCAATCGTCGTCAAATTCGGCGACTTTTACGAGAAGCTACGAGTGCTGAGAATTTATCGCGTTCTGCGGATGGATGCCTTTTTTTTAGAGAAATAGAGAAAATTTATTCTCGAAAATTAAATTTTTACTGTATTATTGATTTCTCGTATCAATTTTTCAGAATTTGCTTTGTTTTTTACGCGCAAAATAATCTTTCTAATTTAGAAATTTTTAAAATCTAGTTTCTGAAATTTCTGCAAAATTCCAGGAAATCAAAAAATGTAGTTTTCCATCCTAATCTTTTTTTTCGTTGATTTTCCCCAGAAATTTCAAACTTTTACTGTATTAATCCCGATTTTTAGGCTCATATCATGTAATGTTTTTTGTTCACCATTTACATGTTTTTCCTACCTCTTATATGATTCCCCTTCCCCGAGGTCTCTTTCTTCACAATGTTTAAAATTGATTCACTGTTGAATCTGTTGTCTTTTTTCTATGCGAATTTTATTAGTTTTATGAAAAAAATTTGTAATATTTTTGAGTAAATTTTGAATCTTCTTACACTACCAGCGCAGTTAACCATTTCAGAGGAGTTTCTAAAATAAATAGTGAATTTTTACAAAAAGTATTATGATATTCTGATTTCAGACGTACATGAATTGCCCGTTTTCAACAAAATAAAACAACTTTTTATTTGTGCCCAATTTTTTTTCAGCCATCTAATGACTGTCCTTTTTTTTTGGGCAAAAGTAATAAATTTTCTAAAAGCGTTTAAAACTATTATATTTTGAAAAAAAACCATTTGGGTTATCAGTTGGCCTTGGCAATTTTAAGTTCTCTAGCTACAAATTGAACCAATAGAGGTTTCAAAATTGTGAGATTTTGCAAAAATTGCCACATTTTGCCACTTAATGCTTTTTGATGGGTTAAACCTAGATTTTCTGAATTATGCATATATAAATTACCCGTTTTTAACAAACGGTATTAGGCAACTTTTTATTTGTGTCGAACTTTTTTTCAATGACTGTCCTTTTTACTGTTTTGGGCAAGAAAAATAATTTATTGGAATTTTTTTCTATGTTCGAAATTTTTGAAGTTTCTTGCAGCACTCCGAAAAACCAAACGACCAGCACTACTTGCAAAGTCCGAAAAAGTTTAGAAATTTTGAAGTTAAAAACTCCCAACTCCATAAACTCACGATATAGAAATTAAACGTTTCCAAACATGTCCGAAAAGTCCAAGAAATATCAGTACAATTTCGAAATTTTTTTCATAACACTTCTGAAAATAAAAAACCGAAACTGCAAAAATTTGAAAATGTGCTAAACTCCAAACTGTACGATTTTCCACATTTCAGAAATTCCAAAATTCGTCTGCCAAATCCCTTCGGCGCAATAATCCCCCGGGGTACCCCCCCCGCCCTAGAACCTTTTGCCTCTATTGTCTCTGGCGCAGGAACTTGAAATTAAACAATGAATCGATATTTTAAACTGGTAATCGTAACCATCTGCTCCGGATGTATAATCGCCTACACGAATCTATTCAATCGATCGTTTTTCAACGGGTACTGTAGTATTAATGCTACGTGGCAACAGTCACAAGGCGAAAACGACAGTCAGTGGCAAACTCGTTGGATTTGTGTCGTGCTTAGTCAGGAGGGTGTGAAGCAGTCTATTCCGCCGTGGATTGGCGAGGTTCCCAAAACAGTTGTATCGGGTGAGAAAGATTGATTTTTAACACCCGTCTCGCCAATTTTTTTCTCAGAAATTGGAATCCCCGTCACAAAACTTTTACAGAGTGAATTTTCGAAGAAATTGGAATGACACCCAAAAATTTTCTGAAATCTAGATTCTCGGCAAAAGTTTTCAGAAAGTTTGAATTCTTGTCAACAATTTTCTCAGAAATTTGAATTCCCGCCAAAATTTAAATGCCAGAAATTCGAGTTACCACCCTTCTCTTCAAGTCTAACAGTATTCAACAATATACAATTAAATAGCTTTTCAAATTCCTAAAAAGTTTGCTGGAGTGATCAATTTTTTAGTTCAAAACTCGCTAAACCACTTGCCCATGTAGACTACATAATCAATTCTGAATAGAACGCTATTTTATCCTATTTTCAGACATCAAAACCGAATAGCCTAATCGCGTGGGTCATTGAAAAATCATTTTCGATCTTTCTGCTATTATGTGGTTTTGACACGATCCAGGCCGTTGATATTGCGCCAACGAACACTGGCTGATATTTTTGGAGACAGGTTTGCGGCAAACGAACTCCGCTGTCGACTCTCGAATTATCAATTTGTGCATAGCTTTGTAAGGATAAAAACCAATTTACCGAGTTGAAGAAGATCGGAAGCTGGCAGTAAATGGCTCGATTTTCACTGTGGTTCGGAATCCGATCGATGGGTTTTGGCGTAACTCAGGCTTCACGGATAAATGTTTAAGAGAAAATGTCTGGAAGTTCAAAAATCGCGCCGGATGTAAGACTGTGCGTTTAATTTGCAATAAAATCTTTTAAACAATTTTTTTGGAATCTTTTATTTTCGGGAGTTTCGAAAGTATATTGGAGTTTTTTAGGGACCAAAACAATTTCAATTGAAAAAGGTTTTTTGAAAGGGGGTAACATTTTTCTAGGCCACTAGGTGCCCTTTGTAAGGTGGCCTAGAAAATAATGTAAAAATCTAGGCCATAAGGGTTGCATATTGCCTGATGGCCTATGAATAAGCTAGGTGCGCCATAACTTTTATCAGGGTTTAGGAACGTTAAAACTTCGGGCAGCAAGATTCGCATAATGACCTAAAACTTTCAATGGAGAACTCGGCTATAAAAATCTTCATGATGGTTTCAAAAAGCGGAACACTCGGGGACCATAATCTTCTAGAATTTTTAGTAAAACTAGGCCATTAAGGTTTCTTCCGTGGTCTAGAAATCGATTCCGGGCCAATACTAGGCTGCCAGGGTTTCTAGGCCACATAAGAAAGGCCTAGGTACAAAAATTATCTCAGAACGGTCTAGAAAAGTGGATAACTAGGCCACCAATTTTCACTTCGTCAGGAGTTTCAAAAATATATGATTTCATGATTTACTTTTCGTAGTTAAGAGTCTTTTTTTTCAAAAATTCTAAGCAAACTTTGACACTAAAATGCTTGAATTTTTGAGAACTTTGAAAAGTGTTTAAAAATAATTTTTTGAAAATTTCTCAATTTTTTTTCTTCGAAAAGCTCAAAAAAACGATAAATTTCCACATTTTGGCCAGAATTTAACATTTCGTCGATAAAATGTACGATCGGAGGCATAGATTCGCGCGGAATCCGTACAAAGGAATCGTTTTCGACGACAGTCACTTTTTCCCACAATCTTGGTATCGGTAAACGCGCTCGGCATTATAGATAAAGTTGGAGCGCATTTGCATTTTGAATTTTGATGTCTGATATTTCTCGTTATCCGTCAGGCGATGCGAGTTCTCGTACTCTCATCTTGGAGTCAAATACCAAATTTTCCAATTAGCCGGTGCAAATTTCACAAATCGTGTGAACTTCTTGGACTGCTGTCCGAGCGGGGAGTTGATGAAATGGAATTAACTTTATTGTGAGTCTTAATCAAGTTTGGGTCTCATAATACCGCGAAAACCGTAATTGATTGGGACAATGGGACCCAAGAGAGCACCCCAATGGAGCGGAATTGCAACTCCTATTTTTCCAGTCGGAAGTCTCTGCCATCACCGGACCCCACACAGCACAAAGGATTCCGTGGAACGGGCGGCCGTCCAGGAAACTGCTGAGTAGTCCCCAGTATTTGTTGCGAAAATTCAAATGTATAATTTTGACTTTTTGCAAGATATTCGGGTATAAGCTTCCTGATATTGCAGTTGGAAATTAGTAAAAGCGTTAGTATTTAAATGTTGTTAAATAGTAATAATCGATAAACTTCTTGAATTTTGATAAACTACGGCCACGTCAATTTTTAGATATTTAACTGTCCGGGCAAAAAAAACCTAAAATTCCCGCGTTACAAATTGAAAACAAAAATTTCACAAAACGAATAAAAACGTCTAAATGTTTATAGCTTAGGCTGAGGTGAGATTTAGGCTTGGGCAGGTTAGTTTTTAATTTTCAAGGTTTGTCATTACGTACTTTATTTCCGAAATACACAACAGAAGTCTCACAACGAGTCAGGGGTCAGTGCGTGTTGGTGGGTGGGGTGGGAGATTCTGGTGGGGACCACCACTCACAAACAAAGATCACAACAGGGAAAATGTACACGTGGCAATATGGTGAAGCTATATGTATATATAATGAATAATGATATGAAAATTTGCATAATAGCAGGAACAGTACCTGATTGTTCCCTGGGGCGAGTAGAAGATATGTGGGTTATCTATCGATTACCATTACACATGAATTACGCTGTTACGGTTAGAATTTTGTGAAAAAAGATGAGTAAAACGCTGGGACGGGGCTATAAATCATATCTATAATTGTCGAAGATGCTCCACGAGCCAGGAACGAGGGGAACATTGCGTCAAGGGCGGTCATTCCATTGTAGTGATGATGGTGCAGCTCGTGCATTGATTGCTGTAGCAGTAGGGACTCCCCTCATCACCGAATTGATAATCTTCTTTCCAGATGAGAAACGCTCAAGACGGGAGGCGTGTTGGAGCACACGCTGCTTCATTTAATTCTCGTACCATCCAGAGTAATAAGAGAAGCAGAATAGCTGGTTGAACTTGACGTCCTCTGGAAAAAAACAATATTTTCTCTAGTTGCCCACTTAACACTTGGACAGAATTAGAAATATTTAAATCAGGGCGGGCGGCAATTTAAGGTTTTTACACTGGGGCAAATTCAGCAATTTGCCTATTGCCGGAAGTTTTTAAAACAGGCTCTTTAAAAGACGGATACACTTAAAACTGTGCCTTTTTGAAATTTTCTCCCGATTTTTTTACATTTTTTCATAGATTGTACTGACTTTTCACAATAAATGTAGGCATTTATAGGATGCATACAATTTTGCCGATAAAAATTGAAACTGTGAAATTTTCAGAAAAAATGTGCCCACAATTTGCCGAAAATTTTAGTTCCGACAATTTGCCGTTTGCCGGTAAAGTTGAAACCGGTTCCCAGGCCACGTACGGATCAGTTTTTGAAGAAAAAAATACGGCAAATTTACAGAATTAGTACCATGTGGATTTCTTAAGAACTATTGCCAAAGTACGTAGAATGCAGAAAGTTTCTTGCCTTAGTGAAATTTTGGAATTTTTCGGGATTTTCGGAAAAAAAAATTTTTCCATGAAGACGAATTTCTTTTTCAAAATTTTTTCACGAGTGTAACTCTAATAATACGCCTCAGACGCGAAACGTTTTCCGATCAAAACACGGCCGGGGTCTCGAATCGACATGCAGTATTTTTCTCGCTTTGTCATAGTTTACTTCTCGACAAAAATGGATTTTTTTGAATTACAAAATCCTTAAGTTTATCTACCCAGAGGGAGAAAAAGAAGACCTCCCTATAAAAATTTGAAGAGTACTCATTAAAGGCGCCCTTTTTTCGAACTTAACCAAAAATTGTCGTGTCGAGGCCTGGTACCGTATTGTGGTGCGAAAATCATCTAATTGCGGCATTCGATTTTTGCGTTTTTTGTTATTTTAAAAAAATGTTCAATTTTTCAAAAATAGCTTTTAGATAAAAATAATAGGTTATTCCTTCTTTTATTTTACGGTCTTCTAAATAATTTTAACATTTGGCACTTACGTTTCATCACAGAACAGAAACTAAAGACTCTGTGCCAATCAAAGGGGCGGTGCAAATCGAAATCATTTGGTGAACAACATAGTTGCCATACTGGTGGAACAGAAGATTATCCCAAACGCATCACGATACGACTCGACATCAATCTTCACAAATCCACACTATGAAAATCTCCTCCATCATCTCGTGAAGCAACGGTCGGGCGGTGCAAACAAGTACGCTCCCTCGATGACGTGCGACGCATACTTGGTGACAATGATAGCTAGTTACGGAGCAGGCATATATCGATGATAGTGTCTCTGTACATTTCCATGATACGTTCACCGACGATTTGATGATCCATATTGGAAGACGTAGTTGGCGAACTCGTTGGAAGACAGCCGGTAGCAATTACGGACGATACACGTCATCAGAGAATGCAACAATTGAAGATGGAATTTGAAACACGGGAGCTTGGGATTCTCGGGGGGTCTCTCGATGACCTGTTGCACGAGAAGACATCCATACTTGTCATCGGGACTGGCACACGGCCATCGGTGAATCTCCTGAGGAGAGGAAATGCGCGAAAAAGGTCCACATGTCGACTGGACGGTTTTCGAAGTTTGACGACACGTTGAATCACGTGGATCGAGATTTGATCATCATCCACAAGAGATCAGCACATTGCCGCCAGGCGAATGTGCTTAGCTCTTGGATGAGCTGGAAGACGTTGGCATGGTCGAATTTCTGTTACAAATTATTGATTTGTTACACCTCGAAAGGCCTAAAGACACCAAACATAGCCCTAAAAATTTCGAAGCAATGGATTAATTTTAGCTAAAACGTAATTTTTTGCCAACCTTTCTGTGTCTTTTTTAAACCAAAATCGAACAATTTCGTTGTACGATATTTTGAACACATTTCAATTTTTTCGGGGATAATCGTATATTTCTTTTCCTCTAGGAGCCTTTTATGTGTATGTTTTTTTCATCGACAAAAAATTTTCGTTAATGTGTGGACCTTTAGGTAGTACTGTAACTTCATTAAACTTTCATTGCTGCGGAATTTTTTAAAATTGATTTTCAATGTTTTTCTACAGTTGTCGTCCAATTTCATCAAAGAAAAAAACAGAAGGAAAAAACATCGATGTGAATTTAAAAAAATTGCGGATCAGTGAAAAGTTCGGAGTTTAACAGTACTCTTTGAAGGCGCCTGTAACACCTTTTTTGTTTTAAATTTGTCGTGATGAGACTCGGGACAGTTTTTCGTTGCGAAAATCGCTGCTTCGGCTCATATCGAAGAAAAATCAATTTCCGACCGCTGCGACACCTTAGCAAAGGAAATTGTGATTTTAGCCAAAAATCAATTCAGTTATATATCGGAATTCCCTGGCGAGACGTATTTCTCCCACAGCAACTGCACAACGACATGCGAATTTATCCTTGCACATGGCAAAGGCAAAAGCCCACCGTCGATCATTTGACAATCCCCGCTGCTCGGCCGGTGTTGCGAGCTCGACGAGCTCAGCTCTGAACCATGAAACGATATTGCACTTCGACTGTGGCAGAGCCCCACGAAGAGCGTCGTGGATTCGCTGAGCTTCTCGAAGCCGGCTGTACGAATCTGATCGTGGGAATCCAGTGGGTAGTTGGCTCCAAGAACTTCACGCCCGATGGATCGATTGCGAAATCGATGATCTGCCCGTTGCAGCACATCTTCGAGCGAAAAGAAAATCGGAGCAACTGGTGGTGGGGTCTCATCGTCGGAGGAACCCGATCCACTGGTAAAGATGTTGCTGTCGAATCGGAGAGTGTTGCTTCCGTGGCGGTAGGGAAGAAACTTGACCGACGGCTTCGGATAAATTCGAATTTTAAATTTTTATTATTTTCTATTTAAATTCGAATTCCGTTTTATGCGTTCGAATATTCCGCGTTGTTCTTGTGAGTTTTGTTCGACAAAGCGAGAAATCCGGGTCGAAATCGAACGACGCGCCGAGCATGTTGGGCTGTGCTTCTACGAGTCGGGGTCATTTAGACGGAAATGAATGAATACAGGTTAGTAGACGCTGAAAAAATTTGGGAATTAGGATTTTCAACGGAAAACAGAGTGAAAATGAGAGGAAAAAATGTAATGATTTTTTTTCAACGAAAATCGCGAAATTACATCAAAATTCAACATTGAGGCCATTTTTCGCGGTGGCCCAGGTTACGGTGATTTTTAAGCATGGTTGTTTTGAGTAAGGTCTTGACCCGTTTAAAATTATTGAACATTTCATCATTTTATTTTTAGTCATTTTTAGAGAACAAAATGATTAAAATTCGATTTCTTAAAATACATTTTCACAAAAATTGCAAGAAATCGCTGGCCAAAATTCGAAAATGAAGAGTTAGGCGGTGCTCATGGATTACGGATTTAAAGGCACATGGCTTTTTTTTTCACCACGAAAGGAGGATAGTTTGCTTCCCATTTTGGGGCCGATTTCTTTTTTTAATTTGGCTTTCGCTCGATTTCCACACATTTTCACTCATTTGCACTCAATTTTTTTGCAGAAAAATGTCAATGGATATGTTATGAAGTCAGATGAGCCGGCGTTCATCTCTGCGCCGGTGCAATATGACTTTAAGTAAGCTCAAATGTTTGTTATTCTGGCCTAAAATTATTTTTATGATTTTCAGAACGTTCGCATTTTTCGCCAAAGATCCGAAGAGGAATGCAAACTTATCTTCGGGCTCGAACGCTCGAGAAAGTTTCCAGCAGGCCACGGGGCGCTCGGAGAAGATCACGGAAGACATTTCCGCCAAATTGAGTAGGTTTTTCGATTTTTTTACCCTTAAACTACTATTATTTTCCAGCGTCTCCCACATTTCGTCGACGGCCTTCAAGAGAGATGGTCGGTGGCATCGAGAGAAATCGGCTCGGCTCGCAAGCGATTCTGCTCGACGAGGACTCCAGGCGCCGCAGTCCCAGCATTCTTCAAATCGATCACGCTCCGCTCTCCGCTATGATTCGAGAGAGTTGGCAAGGAGATCGCCTCATCTGATGCCTCCGACTTTTATCGTAAATTATGGGATGATGAGCTCGAAGAGGTGAAGGAAGAAGTGGTTGCCGTTGGAGAAGCCGTCTTGCCCACGCCAAAAGTCGAACTGAACTATGGACCCAGCATCCGGAAAAGGACCTGATCGTCAGCATTTCCGTGTATCTCGGCTACACCCGTACCCTTCAAATACCACGTGATTCGCGGACGTTTGATGAAGATCACGGATCCCGGCTCGAGCTCACATCAGAGACACGCTTCGCTGAAATACGCGTTCCCCCATTCTCGTTTTCCGACGATTATAGCGAGAAAAAGCCGTCGAAGAATTCAAGGATATGGCGAAAAATCAATGGCAGTCGACGATGTTCTTCATTCAGGACAGGTTTCATAATATAACTGGAAATAATTTAATATTTTTCGAACAAATTTGATATTAACCCATCTTATTTTGATAAAACTCCGCCGCTGCTCTCTGAAGCAATGAACTGCAATCCGACATCAGCGAAGGGATCAGCCGAACTGAGACGGAACCACTGCCATTGAGCTTCTAGCGAAGGAGAATTAATTTATTTGAATTTATTGTACGCAATCGTTCCCATATCTGTGAGCTAGCAAGCTAGCTAATCGTGATTAATTGTTGGGTATTCCTTCTCGTTCTTCAGCTTCTCCACAAGCATCTTGTCTGCTCATAATCACACAAATGATGTCATCAGCATCGCTCTGATCTTGAAAATCCTGAAATTATAACATTCTAGAGGGTTTCTGTTGAGTATAGTTACCTTACAACCAACACCAAATATGTTCTTCATTATGGCATCCGGCAGCTTTCCATGAATCGCAGAAGAAGTGCTCGGCATCAGATCGGATGCTCTACTTGGGAAATATCGACCGATGCGGCTAGACACGAACCATGTTGAGTGGCCGAGAGAGGGATCATCTCAAAGATCTAAATGTAAACTAAACAAGAGTTTAGAAAATTTAAAACAACCTCCCTGATAACGTAGTTAGCTTCTCGCGGAGTGAGCTTCTGCTTCAAAATGAAACAGAATGAAACAAGAATCAACTGTGTATTGTACAAAGTGAAGTATTTCAGACATTTTCGCTAATTTTGGCAGTAAAGACCTATAATTTTGGTAAAAATCGCTTGTATTCTGAAAAAAGAACTCAATATTTAATTTTTTATTTTTAACTGATTTTAAAGAGAAACAAACGAAATATATGAAATCGAAGAAATCCCTGAGAAAAAAAAGGTGCTCCTCCGCAATATTTGTGATTGTTAAAGGGACAACGACTGTTCATCGAATGGGTCCCTCCACGATTGTCCATGTCGAGCGCTTTTAATCGCGATATTTTACTACTGTAAAAAAGTGTACTAGGAAAAACCTGTGTAATGTCGAAAACGTCACAAATGTATTTAAATACATGTTTTTATTGCTTGAATAAGCCGGCAAAGTATGTATTTAAATACACTTTAATTTTCCGACATTATTTGAATAACCCCAAACCCCGAAATTTATTTTTTGTGAAAGTGATAACCAGAAAAATACATGTTAAAACAATTTTGTGAACAAAAAACTAAAAAATATTTTTTTTGCAGAGATGAATCCCACGTGAACGGTCGAATTTCCACGCAGCCTCGTCGAACGGACTTTCAGAAGAATCGCATGTGACACGTAGGAGGCGCCATGTCGGCTCAGTGAGTACAAAAAAATCCATGGGGATTTTATAGAAAGTCGGAATTGATTCAATAAAATCGATTTTTATAATAAAAAAAAGGATTGATTATTGGTTTTTGAAAAATTTAAAAATTACAAAAAATCTATAAAATCGATTTTTTAAAAATTGAAATTCAATAGATTTCTAACTTTAGAAAAATCGAAAAATAATGTTTTAAAAATCACCCAGTCAGAATCGATCAAAAATTCAATTGTCATCGATTTTATTTATTTTCAAAAAAACTTAATTTTTATGAACATCGATCATATCGGATTCCAAAAAAGAATTGGGAAAAAAGTAAATTTTCAAGAATCGAAAAATTTTAATTTTGTACAAATAGTTATTAATAACTCATTTTTTAGGTTTTTTTTCAAAAATTTGAACTAAAAACACTTATTTCTCGAGCTTTTTTCACAAATTGACCCTATTTAAATTAAAAATTCACAAGCCAAAAACCTTCTATTTTAACCAAAAAAAAAACGAAATTCCTCTCCCAAAAATCATCAATTAAATCCTTTTCAGCTGGATGATCGTAGACCACGACAATCGGCTTCCCAACTCGCCAGGCTATCTGTGCTCTTCGTGCTACAAGGTTAATTTCCTCTGTTTCGACGTGAACGGCAACAAAGTGTGCCATAAGGCCGTACCGTATTGTGATCGAAGGGAAATTGGCCACGGACGCCAAGTCTTTATCCAGCTCGATCTTTAGAGAGCGAAATTTAAAGTATCATTTTTTCTTGTTTTTTTTTATGTTTTTCGATTTGATTGTTTAATTACCAATTTTTGGCCTGTAACTGTGTATTGGTTGTGCAAATTTCGTTTTTTGAAGGTTTTAAATTTCTGTTTGGGGCAAAAAAATTTATCCAATAAATAAACGGAATATATCGATGATATGGCACGTAGGGGGAAACGGACGGGCAAGACTATTTACAGCAAGGGCGCGCACCAGAGGTTTCTCGACCCCCGAGGCGGGTGGCGGAGCCTCAAATCTGTCGGAAAAATGTGAAATGAGAGAAGAAGTAACCTCTAGAAAAGGAGATGAGAAATCGGAAGTTCTGGGAAAAAAAAATCAACTTTTGAACAATTCACATTGACGATAATATTGATTTTTTTAAAATTCTCTAAGATCGAGAAATCTGGTTTGGAAAAATCAATAAAATGAATCTTAAATATCTTTTTAATAAACTATTTTCAAAAATCAATAATATCGATTTTTGAACAATTTGAAAAATCGATAATGTTTATTTGTAAATTTAAATTTTATTGATTTTTTGATTACAAAATCGATTGTTGATTATTGATTTAAAAATCACCAGAATCGATAAATCTGTTTCGGAAAAACCATTAAAATTGATTTTTACAAAAATCAGCCAATAAAATAGATTTTTTATAATCAAAAAAATCTATGTGCTTTTTAAAACCGAAAAAATCGATATTTCAAAAATTGAAAAAAATCGATCAATAACTAAACAGTCAATACATAGGTGAGCACGTCTCATCTATTTGTGTTTTTGCGATTGGTCTCGACAGTTTTGAGACCGCTAGGCGTTGTTCCGCATTCTGGAATTTTTTTGTGTTGGGAATTTGGCACGCCCACCAAATGGACGGTGGCGGAAATTCAATTATTTTAAATACCTTTCTGGATAAAGTGCAAAAATGGATTTTTCCACTTTGTCCCTTCGAGTGATTCGGAAATTAAATAAAACATTCAAATTATTTAGGGGCAACGAAAAAACTCTCAATGCACCCACTGTTATTCGGAGTGTCGTCGCGGTGTGTTGCTATGGATCGTGTCCATGCCCAGCTTCATCGTCGACTGACGTAGCCGTTTTCTGGTGATCTGAGCGAGATTTATTTAATTGATTTTTAGGAAAGGCGCATGGCCTAAAAAACACAACACTTCGGCCAGGGACTTTGGCGGCCGAGCTAGGCCATGCTGCGGCATTTAAAAGCACATACCCTACCATGATAAACTACTGAAAATCGCCAATCCGAAAATGATGACCAATGCGAAACTGATAACTGCTTACAATCATCGATGAAGGAATAAGATGAAGTTTGCGTGGAAATGGAATCGATGTACGCTTGTGAGGTCATTCCTGGAAGTTATTGATTTATTTTTCGAAAAAAATAATTCCTTAACGCAATAGTCACACTCAGAGTCAGCGAATTTTGTTATCCGAAATCATAGAGGTATTGCGTGAAAATGCGGCTTCCAACCTGAATGTTAAAAAAAAAATCTATAATATCGATTTTTTGAAAGTTTTTGGCGAAAAATTGATAAAGTTCGATTGATTGTTTGCCCATAGAAACAGATAAAACTCTATATAACTTAATATCGATCTTTCGTTTTTTTGCGCACCTTTAAAGAGTACTGTAACTTCAAACTTTCATTGCTGCGAAATTTTTTTATCGGTTTTTACAATTTTTTGTACAGTTTCCGTCCAATTTTACAGAATTGAACAACAAGAAAAGTGAAAAATCGTAAAAAATGTCCGCAGCAATGAAAGTTTGGAGTTACTGTACTCTAGGCTTTAATGGCGCACACCTTTTTTGCTTCAACAAAAATTTGTCGTGGTAAGACTGGGGACTTTTCGGCGTAGAAGTCGCACAATTTCGGTATGGAAGAAAAATCATTTTCCAACAGCAGCGATACATAAAAATTAGCAAAAAATTGTGATTTTAGCCTAAATTTAGTTATTTTTCGGAATTCCCGTGGCCAGACTCATTTCTCGCACCTGTGATAGAGCCAACTGCACACCTCGACATGCAAGCATTTTATCCTTGCAGATGGCCAAAAGCCCTCCGTCGATCATGACGAAGCAATGCCCGCTGCTCGGCTGTTGCCAGCTCGACGAGCTTCTGAATTAAGATTTGCGATTTCGATTGTGGCACCCCACGAAGAACGTCGTGGAGTCGGGGCGCGAAGACGGCTTTACGAATCTGATCTTCGGAATCAAGTGGGTAGTTGGCCTCCAAGTACTTTACGCCCGATGGACCGATTGCGAAATCGAGCTGCCCGATGAGCAGCACATTTGAAGCGAGATGGTGATCGGAGCCACTGGTGGTGCAGTCTCATCGTCGGAAGATCCAGATCCGAAGGCTGTCAGAGTCGGAGGATAGTGTTGCTCCCGTGCGGCGGTAGGTAAGAAGCTTGACGGGCGGCTTTGGTTTCTGGAAATTCTATATTTGAATTTGAAAAGCAAGAAAATTCAATATTTTACCCTCGCGTCTTGTGGGTTCTGTTTGACATAAGCGACAAATCCGGGTCGAGCTTAATTACCGCATGAAACGCCGAACATGCGCGCCAACAGAAATGAATGAATACAGGTTAGTAGACGCTGAAAAAGTGGGCAATTAATTCAGGATTTTTTAACGGAAAAATAAGTGAAAGGAGAGGCAAACACATCTGCAAATTAAAATCTCCCGAAATTACCGCGCTTTAAAGGGACTCCACCGATCGGACAGACGAGGGAAGTGGAGAGACGCAAATCGAAGAGACGCCTTTCAGATCATTTTTTCGTGATAAGTTTGCATGAATTGGCAAGGAGAGCTTACACGTTAGGCGAATCATTGATAAAAACATCCAATTGTTGTTTGTAGTGTACTGAAATTCCGGAACAATAGCTCTCGTAGACCCGAAAGTCGCTCGTGGCAGGAAAGTGGAATTTGGATAATTTTGTTCTTTTTTTTAAATATGACGTTTTTGAAGGCTTGAATTTGTCTCATAATTCATCAAATTCATAAACGGAATTATCCAAATTCCACTTCACGGAGTGACTTTTGTGTCGAGTCACGAGAGCTATTGTGCTGGAATTTCAGTACATATGTAGCAACAGAAAATGTTGTTTTTACCAACGATTCCCATCATGTGTAAGCTCTGCTTCGGTTGCCACTTCATGCAAACTTATCACGAAAAATGTCTGAAAAGGCCTCTCCGATTCGCGCGCGTGTCAGGCCTCCACTTCCCTCGTCTCTCCGATCGGTGGAGTCTCTTTTGAGATTCGACCCAAATAAAAAGTGCAGGGCGCCCGGGTTACGGGAACTTTAAAAGCGCATCACGGTTTTGAGTGCAGGTCTCGACGCAAGATTAGCCGGCTACTTTTTGAAGATTTGTCGTTTATTTTGGCATTTTTGAAGGAAACATAAGTGAAAAACAATTTTAATCTTAATTGAGAGAAACTTGAAACTAACATTGTTACACATAAAAAATTGGCCAAGAAATTGCGCCACGTTTTCAAATAGAAGTATCGCGGCGGTCAAGCCGTTGATTACAGCCGTTATACACTCATATAACTATGCGATAATGTAACTCGATGATTTGTTGATGTGATCTTTAAAAAGGTTGAAACTGCCCCTTATGTGCCGGAGGCGCTGTGAGCGGCTGGTTACTTGTATATAAAAAATGTCGGGAAAAACGCACTTCCGTTCCATTTGTTTCTTTGTTGACGTCACTGAGAATTATGGGGGTGCGGGCCCGTCTTCGTGGTAAGACCCATCTTGGCGAGACATAGCGTGGTGATATCCTTCGTGGCGAGACCCATCGTGGTGAGACCCATCGTGGCGATGACCCATCGTGGTGAGACCCATCGTGGTAAGACCTACATCGTGCCGAGACCTTTCGAAAATTTGGTGGGAATTCAAATTTTCTTAGAAACATTTTTGGTGGGAAGTCAAAACGCCTTTTCAAAGAAAAATGGCTGGCGGGAATTCAATTTTTCAATAAATCATTTCGGCGGGAATTCAAAATTTCTAAGCATAATTTTGACAGGAAATTCAAATTAGTTGAGAAACTCGAGTAAATGGAGTTCTAGAACCTTCCTGGAGATTGGGGAAAATTTTGGTATGTTCTAGAACCATCGGCGAACTTAATTCTGGAAAGTTCTAAAACCTTCTAGAAAATTCGTGACAAATTCTGGATTGTTCTTGAAATTTTTAGAAGAATTCGAGAAAACGCTGGAACGTTCTATAGAGCCTTCTAGAAAATTCGGGAAAATTCTGGAATGTTAAAATCTTCAATGTTTGCGCAAACGCTCTCGGAAAGAACCGGAATGGATTCTGTTGTATGTTTGAAGAACGTCTAGAAACGTTCAAGAACTAATTTAGAAGTAGTTCCGAAACCTGGTATTCTTAAGTTGTAACTCTTGGTGACAACTTAGTTATATAATATTCATGTTGCGTTAAAAGCTTCTGGAGCAAACTGAGAACAACGTTCCAAGGCTTAGTAATTTTAGAATTTCATGTTAAGTTCGATTACCAGTCGGAGCACGCGCATTGTTCGGAACGGCTGGTATACAAACAATAGTCAGTCAATCCCATGGATCAAATCTTGAATTTTATGGGTCTAAAACTGAACTGTTCAACTTTGATATGCAAAATTTTATAAAATTATTATTGAAAGACATGAAACAAACTTGAATTACGCGAAGTAATGCTGTGAACTGAACTTACTATTAGATTCCTTTTTAGCGAGCACACTTGAAAACGAATGAAATAAGGTATGTGAGAATACCGTATCAATCAGATACGTCTGACACTTCCCCAGAAAAAACTATCAGAATATGAGTACATGTTAATGCTAGTGTGAATCTTTCCGCGACGACCATCATGGCTCAGCAGGTAAGACTTCGGCGACGCCTCGAGACGACGAGGTAGTTGACGACTTTTCTCAGTTTTTTAGGCAGCGCCCAACTCGTTGTCCGAGGTCTACAGTAGCTACATGTTTCGGACGGACAGAGTATTTGCTTTATTAGTAGTAACAGAAATACACATAAAATCAATTAATAAGACATGAAATGCAATACTGAACCAAATCCAGTTTTCACCCACTATGTCTCTCATTGAAGAACGTTTTAAATAGCTTTTGGTATAGAATATATTAAAATTCATTCTTCGATTTTCTGTGGAATTTCCTATTTGAATTTTTCCATTCCAGACAGTCACTTCTCCAAATCCGTGCATCCTTGAAATTTTCTTTGGGGATATTTTAAATATCATCGAGATACCAACAGTCTACAGACTGGTTTTTCACTTACAAGACGTGCTCTTGACTTGAATGTCTGGGATACCCTCTATGTTTTTCTCCTTTGTCATGCTGATAGTATAAGTTGAATGTGACACTTCGATTTCTTCTGGCTGTTTTGTTCAGTCGATCGGATTAGTTGGAAGCCTGTGACTCGGTCCATATTGTTTCTACCAGAGTAATGAGCGTGGACTAGGAAGTAGAACGGTCATACTCTTGGCTGGGAAGTTTCGTTGAACATATGGAGACAATCACATTGTCCATTGGTGAATAATAGTCGTTTGCCAGTTGTTCGTTCATTTCGAGTAACATATCCTCAGAGTATTGTAAATCAATCTCCACTTTTCCCAGAAGAACCCTCGAAACGGGTTGGGTGTTGAATGGTACATTGAAAACGGCATTTGAAACACTAGTCTATAGACGGTTCCAAAATTAGGAATCCAGATTTGAACTAAACATAGTATTAACATTACCACTGTTTCGATCCGGAACTCCATTCTGAATTCTTTAACCTACCACTTTGAAATAAGCATCACTGGTATAAATCTCGGATTGAAAGGAACTCTATTCCCTGTATTAAAACGGTCAATCTGTGGCATGTTACCAATTAATTGGGGCAATAATTTGCTCGAGCACCAACTACGTACCTCCCTAGTTGCTTTTCGTATATGGTCCGATAAAACAACCTGTAAAATGTTGTTAATCTTTATAATGTTCCTGAACATATCATGTCAAGAGTGTCTTCTGGAGTTTTTCATCAACAAAGACAAAATTTGATTTTTTAATTATCTAAACAATCCGATTTTTGGTTTTCCGAGGAGGAAAATTGAAACATGGAAATCCGTTTTTCTCCATTATTCGATTCTCCGATTTCCTCTCGAACGAAAAAAACGAGAATAAAGTTTCCATGACATCTCAGTGGGCTGTGGTTTTGGGATAACTTTAAGTGAAGGAATGGAGAGACTATCTAAGTATGAAAAACACGAGAATTTACTCCCTTTTGATAACCTGTTACAATACGTGGACTGTTATACTAGAAGAACTAAAGCAGTGATTCAAACATCCTGTTCAACGGTGTTCATTACAATGTATCAATTTACACCCTCACCAGTCTTTCATTTCCAGCGCTTTGTAATGTTAGTACGTGGAGATTTCCTCATTTGATTTATGATTTCTATTATTCTTAATTCTCCAAATAGCTCTTCTCCCAATAGTCGCAACTCATCAATTCCAAAATTTATGCTCAATCGAAGTGACATATGCGAATTTCCCGAATAGGTCGTTTAATCTGTCCATAAATCCATGCTCATCAACTCCAAAAATTCAATATGTCATATTCAAAACTGCTGCGTTATCGAATTTCCACATAATGAAGTTGAGTACTATGAACTATACAGTTTTTATTTCTATGAATGTCTCGACATATTTGACGACGACAGCAAACTAAAATCATTTTTTATATTCTTCAACGAGTCCATCTATGAAAACATGAATGTCATGTTAATCAGTTGTTCAAAAGCCATATATTTTACTCAGGATTCTGAACAGGCGCTCATGTCAAAAATTGACTTACAATCTACTCCAATCAAGCAATCGGGTAGGAGATCATTGAGTATAATTCGAGCATCCACTCCGCACGAAATTTCGTTTTTCTTAATCGGTGCGACATACGTAATCTTGTAGTCTTTCAATTTACCGCATTTTTTAAAAGTCTGAAAAAAATGTTACAGCTGAGTACAAAACATTAAAAATTGGGTTATTGATTGAAATTTTCACCACTTCTCATATTGTCGACCACTGAACAAACAAGCATAAAAAGCTTCAACAGACTCATAAAACACTTTTAAAGGCAAGTGTTGAACCACCTATTTTGATAAAATTGTCTGAAACACATCACAGATCGACTTTTCCGTAGCTCAAAGTGATCCTCTGCCCCTAGCTCTTGAGTGGTCATTCGAAAGTCGGGGTTTAAGTTGAAATATTTCCCTAAGCGGTCAAAATTCCATCATCAGGCGATCAAAATAAAATTGAATTTATTGGTGCTACAGTTAACACATGAAGCGGCGAGCAAAAAAACCAGGTTTTGAACAATTGAATTCAACTTACTCGAATCTAAGTGTTTCACCTGTTTGTTATCCACATTCAGTGGACATTCAGGTATAAGAAACGCAAGTGCATCGACGAAGCTGTTGCGTAAGTTCAGGATCAACTTGATTGTTAATGACTATTGATCTTTTCTTCAATTTTTAAAAGTGTTGAAACTGAATTTGTACGATGCTTCGAAAATGTTGTAGTGCAAAATCGCTGAACAATGTATTTAATAGATCAGCTGAAAAAAGAGCGAATTAGAGCAATATTGAACACAATTTTGATACCTGTCTGTAATTAGGAAAATCAGTCCGCTGTATTGATTGTTTGAAAAACTGAGTTTTTGTTAATTTATTTGCAGTGGCAAATTTTTATTATCATTTTTTTTGATAAAAGTTCATCACCAATGCCATCAGTGTTGTGGCACCACGGAGTGTGGACGCGGAAGACCGAACCCTTTAAGTCTCAAGAGGAGCCGAGCAACGAAGACTATGTCAGAGGTGGCATAGCACCAATGGCATCGTCTATTTGTATATGTATTGGGAAGAACAGACATTAAATTTATTACTCCCAAAGGGGAGATAATCAACAGAGGGGGGGTCGTACACAAGAGTGAGGGAATTGTCAGGGAATATGCACGTCCTGCCACGCGGGTCTTTAGACTAGTCTGCCAGGAAAAGGTCGAGTTAGGTATGAATAGTCGGGGTCTTTGCAGCCTCGTAGAATAATATCTTAGGACAACTACACTTTCCTAAAGGGAGGGAAAGGTAGGAAACGTCGGCAATTAGTCTGACTGGGAGGTCAATAACGGGGGGGGGGTCGGGGGAAGAGACCAAGGCAAAACCGAACCAAGAGTGGGGAAAGGAGAGATCCTTTTTTCCTGGTGCCACCGACGCTGCAGCTCGCTCCGTATCCCCCCGTCGCTCATTGAGTCGCCGCGCAGCCAATCGTTGCTACGGGGTGCGAGTGTAACTCTCTTTAGAGAGCGTGTCGGATCAGACGCAGACATACAGGTAAAACTTCTGCGACTCCTAACTGTATGGTAAGCTTAAGAGCTGGTATTAAAAGGTCGAATTGAATGTACCCGTCGCTCGGAGAACATCCTGCTGAATCTAAGTCGAGAGCGAGACTGCATTGTGAAATGGGCGATACAGCAGAGCCCAGTTCACAACTCTCCCGGGGGGCGGGACTTGTAGGCTGGTTCACGTAGTGAACCCGCTTAAGGTTCGTTGAAGCCTTCCTTTGCCGTTCTTGGAATGGCGGAGTGGAAGGTCGTACGTCTGAGCTCCTGGCTTCTTTTCGTGAACGCATTCACCTTCTTTTGAAGATCTAGTATTAGGTGAGCTCGGAGCCGGTTCTTCTCTAAATGTTGCTTCGTCTGAGCTTAAAGCTTCTTTCCTGGATTTAATAAATTTTAAAAATGGAAGGACATGTAGTGAGGGTTCAGGAAAGTCGGAGTCCGTCTCTTCGTTTTTTTGTTGAGATGATTTTTTCTTTATTGTCTATGTCTTCCGCTGTAACCTCAAGAGGATACAGTTGATTTAGTGATCGTTCCAACGTGGAGATTGAAACGAACTCCTGATTCAATGTTTCCTTCAATTGTTTACTCGGAATGAGCTCCACAATTCCCAGAGGCCATGTGCGTCTTGGCAGCATTTCTTGTCCGACGAGAACAATATCTCCTTGTTTAGGATCTCGAAGAGCATCCCTTGTATTAGGCCTGTCTTTTGTCTTTCCAGAAACAGGAGATATGAGTCAATGTCGACCAGATTTGCCACAACTTTGCAACTGTTGTTTCAACTCTGGCTAATTGTCTTCTCATTTGCTCTGTTGATCGAGTTCGGAGAATATTCCATCGGTTCGTCTAGATCAACATATTCGGTGCATCTAGCTGATTTGGTAGTAGAAAGTCGATTGTGGCGGAGAGCCGTCAGATCATTGGGATCTGTGTTGTCTGGTGTAAGTGGACGGTTGTTAATCATCCCTTGGTCACCTGTCCGTGCTGGGAGAGCTAGAAGAAGGTTAATTTTTTTGCCAATAGTCTTGCGAAGTTTAGGTGCTTCGCAATTCAAACAATCCTCTCGTACACTACCTCCTTACCAAGGGGCGAATGGAGTGATGTTGTGTACGTGAATTTCGTCATTTGGCTAAAAAGCAAATCATTGAGTAGCTTGGACTGCATTAAGTCTGATGTCTAGGTTGACCATTTGGTGGCCTAGTGTAATGTTGGTGCATTGTCACAGTAGATATGGGGCGGTACACCACATGAACTGGAGATTGCTTTGAGTGCGAGAAAGTAGTTGGCTGTAGTAGCGTCTGGAATGAGTTCAAGAAGGCTAGGCTCTAGTCTTCAGACAAGTATAGATTAGAGCATAGGCTTTACCTAGCTTGTCATCGTCTGTCTTGTATTGTATTGTACCCAAATAGTCGAGTCCTACATGGTCGAATGGTGCAGAAGGTCCAGTACTGCAGTTTTGTAGTCGTGTGTCGTAATTGTATTTAAAGGGTCGTGCTTTCACCTTTTTACAGTTCACGCACTGAGTAATTGTAGTTCTTGCAATTTTGCGATCATCTCTGATCCAAAAGTGCAGTCTTACTGTAGTGGTTGCCAAATAGTGTAATGGGAAGTAGGTATTGCGTTATCTGACATCTTCCACAATTAGACACAATCAGATGTCGGATGGGGTCCCCCCACTATCCAATGATGTTTGTTTCCGTCCTCGTCTACTGGTTTACGCAATGTGTCTTGCAAAGTGGAAAACGTCTGTTACAACTGGAGATTTAAGTTGTGTCAAAAAATGGCTGAATCAGTATGATTTTGTCTCGTCTTTGAATTCGAGATTCGGTGTTTATTGTTGCATTGACTTAGCATAAGATTTCCTGTTATATGACTCGGTGACGAGCAAAGCATGTACCATTGTTGATGCAGAAGCGTTTGACTTCATTCGCACCCATTGTGCTCGTTTGAAGTGGATGGTCTTTTTTGAAGGGAGGGCACGGATCTCCATCGAGAAATTCTTGCCAGCGCCATTCTCCACGAGTCTGGAAGTAGTATTACCCGGTCTTTTGTTGAAAATGCGGGTTCAGGAGGTTTTCCTTTGGTTTTCTGTCCCGTTGGACATCAACCAAAGTACGTCTATGCCAATCTTCCGCGCAGTTGTCAGATGTTTTTTGAGGCTTACGATTGGATAGTCAGCCCGTCTGGGTCGTATTACGTCACGCGGAGTCAGCTCGGTATCACCTTGAGAGTAACCGTATAGTCTTGATCTTTAATTATCATGTCTTTGGATTTTACGCCGCTGAATTCGGGTTTAACAGTTTCCCCAACAACAAGTCTTTAATCGTCGATAGTTATGTCTGTCACGCACAAGAAATAACTATCATTTTCTGTATGGCCAGATTAGTCGTGGTTCGTATGATATCTAAATTCAAAATTGGCGTACCTGTATCCTTTGCCTTCTCGACGCCGTCCTTGAACATCTCATCGAGGGTATCCGGCAATGAATTGGCTTCGGCAATGTATTTCAGTTTGTATTGTAAAGATCCTAAAATGATGTAATCCATATGCTGCTGCATGTCACAATCGATATTGGCGTCAATCCAGTCGAAGACTTTTTGCTTCAAGTCTTCAGTCTTAACAACGGTGCGGCGTCAGACAATGCTATGGATGATGAAGCGGAGAATGGGGTCCTGGATTCCCTTCCCTAGCTGCCACCATCCCGGAGTCGGGATCAAGACTAGTTCCCCGCGACCTCCAAGATGAAAAGTTATTCTTCGTTGAAAACCGAGAAACTTGTTATCTAAAATCAATAATTGGTTAAGAAGAAATAGACAAAATGCATTTTGAGATTAAGTAAAAGACTTAGAGATTAGGAAAGAAAGATGGGGATGAGGACTCAACTTGAGTGATAAGAAAAAAAGGCATTTTAATATAAGATTCTACAATAGGGATTGGGAAAGGTGTGCCGTGGCCTAATATAGGTTTGGTGGTACAATAAATAGGGGAAGTAATGACCCAATATGGGTTCCTTGGGGGGATTATTAAATGTTAGCCAATATGGGTGAATTATTAATTACTCATATTGGCAGGGGAATGTCGGTGAGGGCTAAGAGTTCCCTGTATCTGTTGCTTGATAGTCATGTTCCGGAGGGGACTTGTGTAGAGTAATTTGGTTTAAAGTAATTTGATGTAGAGTAAGTATTTGGTGTAGAGTAGGTTTTGGTGTAGAGGAGATTTTGGTGTAAAGTAATTTGGTGTAGAGTAATTGCTGAAGAGGAGGGATGGAGGGATTTCAACACCGACTGGTCGTGAATTCGGCCCTTAATTGGGAGGGTAGGGGACAATAGAAAGAAAGAGGCTACCGTGTGGACCAATTTCCCCCAGCAGGGACCTAGTTGGGATTGTTTTCACTTGAACACGAAAAGACAATGGGGGTTGGGAAAGTTAATAGGGACAAAGGAGCAAAACGGAACGCCCATTCCCGCATCGAATTGATAGGCACCGAACCCAAACTCTCCTGCCGCTGCAGCAGTCAGGGATCCGACGCTCCACGCTCTCTCATCGCGACTGGAGACCAAGTTTTCTCTTACAGTCTTTTTTTTCTAGTGGCGCCGGTTACTTACTCCATTGCCAACTAGCTCGAGTCGGTGGTAGAAGTCAGAAGTCAAATGCTTGCGGACGTGGAATATAGAACATGTTTGAAATTAAAGAGGGTGGTTTAAGTCTTGTTTTTTTTGAGATCCCTATGGATGAATTTTGGTTTATTTTTTAATTTGAAAGGTTAAAAGATGTACAACAAATAATTTTTAATGATGTATAATTTTTGGTGAAGGTACTAGTTGAAAAATATAAAGAATTATTGAGAGTTTAAAATTGGGAAGTGGTGTAGAAAACGATTTTGTTAAAATATATTTTTGGAATTTATGCAATTTTATAATTTTCAAGGATTTTTTAAATTTTTTAGGAAGTTTTAAAAGGGGGTAAATAATCTAACTGTTGGGTCCCCGCGTCCTCCAACGAGCAAAACCTCTATCCATCCAGAGTTCTTGTCTACCCGGCTTGTCGCCTCTTCCGCCTTTTCTTCTTGTCGTTCTAGCACACAAGAGACTGTGCACTATAGTCTTTCCGTTGCAGTCAGCGAGCCGCCAGCAGTCGCATCGTTAATGGCACCTTTGCCACTGTATTGAACGCTGTGAGCTGTTTTAAGTGCTATTATAGTCTGTAAAAACAGGAAATTTTGTACTGGATCGTCTTTCGTCTTTCGACTTGAACCATATTAACAGCCGAGGTTTATTAAATCAAGGAACAAATAACTCAACAATTTGGTATCAGATACCGGTGAGGAGTGGTGAGGGGGATTTCAAAAAATTTAACTCCAACATAAAAATTTCGTGATCGAATAACGAGATATTCGATGGGGATTGTCCTCGTGCCAATCTTGGTCCTTGGTTGGTATCGGCGTCTGACCGGCTAGTGTTGTTGCTATAGCTGTTGCTGGAGTTGGCGGAGGTCCAAATCAGTTGTGGAGCAGGAACGCGATGAGTGGTGGTGTGAACTCCTGTCCGGCTGGTACGAGTTGTGGTGGAGGTTGCTCTTCGGATGGTGATGGCGTGTGCCAGCATCGTATCCTCCAGGGAGACTTCCATCGCGAGGGATGTTGATCGTGCGTGCACCACCGCGCATCTATTCCCCTGTCGTACAGAACGACGTGATCCGAGGATTGGATCCACACTTCCTGGGAGCAAGATTGTGGAGCCGTCGCAGTCGTCGGGCCATTTGGGTCGCGGCCGGTCTCGGGGGGCTGGGCCCGTACTTCCAGGGGCAACGTTGAGAAACCAGTCTTGGAAGAACTCGGATGGAGATGTGTCTTCGGTGCGAGCGGCTCGGGTCGAACGGTCTGAGAAGATTTTACCGAAAATTAATAAAGTATATGGAAAAATTGGATAAATTTTTAGAATTTTGAAAGAATTGATTGAAAATGTGGATAAATTGAATTTTTTAAAATGAGAAAATTTTTTAGAGATAATAATAATTTTTATATCCAATTTTTAAATAAAATCGACTTCCTTCTCGAGCAGTCTGGCGCTTCGTCGATGTTACTGGTAGGATCCACTCCCACACAAGCTGTCAACTTACGTACTACCAATGAATTGCAGTATAATGTGTCTATGAGATGCAAAACGACGAGAAATAGCGAATCATAAGTCGGGGAAAGTCGAAATTGGGCTCTATATCGGGAGCATGAGTTTGCCAAACATCACCTCCCTCGCGTCTGTGGGCTCGCGAGCCGCCCTTGTGTACGATTTTAGGGGTAATTTTGAATTTTTAGACTCTTAAATTATTTTTAAAGAAAGTTTGGTAGATAATGGGACGGGGGATGCTTAAATGATGTGTACCTGTCGTCTATCAAGTCTGTCGACTATCGAAAACGTCGAGTCGTCGAAGTTCATATTGAATCGTCTCTTCACGGCCCGGCGAGGGGTACATGAGAATTCTCTACCGTATATTTGGCTGACTGCGTGCTCAACGTTGATTCCACTCAGTTTCAAGTTTGGTACACTTCACGCGTACTGCACACAGTTTAATTGACGAAATTTCGCGAAAATTAACAGAAGATTTTTTTCGGAATTACAGAGCTGAACTCTATTGATAAAAAAACTATCAAATTTTCATCGAATTTGTGAAACATCGTAAGGAAGATCTTTTCTTCACTATATTCAAGGAAAATCGATATTTCGCTTTTCACAGACGAATGTTGTCTCATTTTACTCGATGAAAGTTTCTGATGAGCTTCATCGATTTTTGAGATAAAAATGCGATTTGTTGATAAATGGATCAGTTATATAAAGAAACAACATATATTGGACACTCTGAGATTACTTTTTGAGAATCAATTCTTTATTTTTCTGTCATTTTAAATTAAACATTGAAATAAAAATATTAAATAAATAATAAAAAAAACAGAAAATCGATATATTACTTTCTCTTCGGAATTTCACCTTTTTTGGATTTATTCTGTAATAAACTCTCTTCTTCGAATTTGGTGTGTCCACGTGGCAGACGAAGAAGAATCTGCTGCACTCCTTCTTGCTTGCCCACAACTTTCTCGAATTTTCTAAAATTTTAAATTTATGGAAATTGTCATTTCACCATTCCACTCACTTCAGCTGATACTGCATTTCGGAAGTTGATCGGATACTGGTGGAGCAACGGATGGCTTCCAGTGATTGGCTGGCTTGTCGAGCAAGTTGTGTGCTTGCCTGAAATAATTTTTGATTTCAATTTTGAGTTGATCTAAAGCAGTAAACCTACCACCGGGTTCGTACGAGAAGGAGCATTACTTGGTAGACCACGGAATCTTATCGTTGAACTGCCTCCAAATGCAATAGAAGTTTGTACGTTTGGTGAGAAGTCGGGCTGAAAATTTTCAAAATTTGACTTTTCGAGAAAAATAACTCACCACAGCATTTCGAGATTTTGTCGATTGTGGAAGCCTTTTGAGTCCTGGAGCAAGAATTGATTTTTTTGTCGCTAAATTTTTTCTTTGTTGTGCAGCCGTGACGTCCCGAATAACTACTTTTGGGTCCCGAAGATTATTTTGCGAAGAGTCAGAATTGGCAGAACTGTTGCATGGGTAACACGACGGAAAGAGCGGGAATGGACGTGTTCTGAAATAGTTGTGTTTTTAAGAATGCAGAAATGTTTTTCTGTACCAAAATTAGCATAGTCTTGTCATTCATCATGTTAAGACACATGAGCTCTCCCAGAACATGGATGTAACGCCTTTTCTTGTCCCGGTAATTGCAAAATCTCCTCTCAAGTGCATTAAAAATCGCGTGGACAGATTCAACTCCTTGTTCTGTGATCCTTCCAATCTCACATCTGCCATTTGTGGTGAATGGTAGACCAACGAGCAGGTGCAGCTTTAAAATAATTGTTTCTTCGGGAACCGCTACTTTCAAATACTCCACAAATCCCCGAATCGAATTTTGAAGTATTAAGACGTGGGAATCATTTAAAAACTTGTTTCCCGAAAGTGACATAATAGTTGAAAGCTTTCCCATTGCTGATTTGTGCTCAATCCGAGCAACATTGGTCATAAATTTGCGCCAAAAATTTAGAAAGACCCATCCTACCAGCCGGCGTTAGCAGCAATTTCAAATAGTTTCCGGAAAAGGATTGGCAACCAAGCCTGCACCTTGTCCGCTCCAAACTTAGCCCAACCAGTCCCATTTTTTCAAGTCTCCCTCGGGAGTACTATTCACAATTATCTCGAGCAACAATTTTTTCGATTGAAGTGCTTTAGTTCAGCATGCGACTCTTCATTCCGGCGGCTCCTTGATACTTTTCTTCCGCACTTTTAATTTAACAGCGATTTTTAGAGTTGCTTTTCGTGTTTTCAGGATCGGAAGTAGTGTTACCTATCTAGATTATCAGAATATAGAGGTGATTGAAGACCTATATTTGTCAAAAATACCCATGATAATGCGCAGAAGAGGAATCAAATAGGATCGCAACAGTGTGTAGGAGGAGTACATCCTTTGCGAACACACGACATTTTCACAACAAGCTTTAAGATCGATTGTTCGTGGGTGGACATATGATCAGTTCTAACTCATCAACATTCATATCCTTGATTTTCATCCTCTCTTCAGCTCCACTTTGGTTATGGACTGTGCTGCAAAATCCATTTAGGAGAAAGGTGCGAAATTGTGGGATGAATGTCCTGTTTGGTGTAATATCAGATTGAAACTTGCTATCTCCAGTTTCACGGAATTTGCACAATTACTTTTGCGGTTTTTTGAACTCGACGTCTTTGTCCAAATATCAAATTTTCGTTATCTTGACCTGCTCAAGAACGTCCGCCGAATGAACTTTTTCAGAGACGAATACTTGTCGGATCCGTCATATACTGCAATTACCATAACGTGTCTCGAAGAATACGGTCGAGATACGTTTCCGATTACAAATGCCAACTTTGTGCTTCCACCTCCAGCGTCACCAACGACTCCAATCTTACTCCTTTCGTGTCTACGTCGTCCCTACAAATTGATTTGAATTGCATAGAAGCTCTATACGAAAGGACAACTGTCTGCAATTTTCACTGCACAATGGTAATCACTTTTCCTTTATTGTCGAACGAAGTGGAAGCTTTGAAACTGGAGATCATTGATACCAAATGGATTGACAAATCTGTGGTGTTTACCGATGGAAGCAAATCATAGAATGGCAGTATCGTCAAATAGTTTTTGATTATTCTGTCCATCTGACTTAGAGATAATCCGCATTGTTATTGATAAAAAGTCAACGGCGTCAAACTTTGAAGCGTGTGTTTGTAGATTTTTCTGATTCTCTTCTGAATTCAGGAATTTTGTGAATTTGGTTTCGAATAAATGGTCCGACCTCATAGGTTCGTGTTGAAGCAAGTGAAGAGCTTTGCGAAATCGATTTTTGATACAACTTCTAGTTCTTGCTTCTTAGATTCGATTAACTTTAAAAGCTGATTTTTTAAGGCTAATTTTCAACTGACTATCTTCGGCGTTACTCAGAACCATGGCTTTGCCACTTATCTTCACATCTGCACAGCTTCTCACCAATCGACCCTAAACCACTGACGATCGTTGGTATATTGTATACTTCCATCTGCACGAATGAATTAGATGCTCTTATAGTGAAATTTTCATGGCGGACTATTTGCATTTACTCTCTTCCGAAAACGCCGCAAACTCATCAATCCGCTTTTTGTAGATTATTTCTTATGATATTTCATTTTTTTCATTTTTCAGTCGTTCTATCGTTAGTCGGAGCATTTTGATCTGCGGAATTTGCTCAACATTGGAGATTTGCATATTCGAACCCTCGGTGGAACGAGTTTCGTACAGGTGTCGGTGGAAATACGGGATTGGAGAATCTCTCCAGCAATAATATTAGTTTTGAAATATTGAAAAAAATTACATTGTGAGAAGAAGTCGGAATTTCGTCATACGAAAATCCATTTCCACGTCTCTCGTCAGAATTCTAGCTTCGTATATTGAAACAATTCTGAGGACCGGCATGTAGTTGCGGAGCATACTGTAGAAGCAATGCACTCGGGATGGTTATTTGGGAGTTTCGATCCTCTGAACTGATTTCACCCTGATTAGCCTGTGGCGACGCTACACTCTGAAAATCACGTTTTCGGAGTTAGAACAAACTCCAACTTAATTAAAGTTGACAAATTCCAATTGAGCTGAACGAGCCTCCACCTTCGAATTGTTCTTCCTCTTCAGTTTGATCTTTTGAAACTCCATTAGTACTGTTCCTTGCGCTCTGGGCATTTGCTAAAAGAAGGCCTGCACAAGATTTTTCTTTTCTTTTTTGTTTGAAGTATATCCGCTTTTGTCATCTGGAAATATTGCATGAATATTTTAAGGGAAACAATTTTTAAATATCGATTTTCACGAAATTTGAAAAAATCAATATTTGGGCGCAGATACTGAGCTGAGTGTTTCGAATCTCGAATCAGCATGCTTTAATTTCCATATTTTAGGATCTTTTTAAAAAATCTGCCAACAGTTTTTGAAAAAAAAAATACTTTTCGTTCAGAATGTACTGATTTTCCAGTGATTTTCACGAAATTTGAAAAAATCAATATTTTAGGCGCATGATATTGAGATGAAAGTTTTGAGAATAAGCCAGCATGCCTTTAGATTTTAGGATCTGTTTTTAAAAAATCTGGACCAACAGTTTTCGAAAAAATTTAATTTTTGTTCAGAAATGTGAATATCTAACTATCGAAAAAAAAAATTGCAAAATCCGTCGGCTGAACATACAAAACTTATCAATTGGTGAATCATCAGCATATTTCAGTGTATAGATTAAAAACGGTTTCAAAAATTCTGAGACTAATTTTTGTTGAGAAAAATAATTAGTTTTCGTTCGAATTATCGATTTTTCACGAAATGCCAAAACATTAATCTTGGGGCCCATGCTAAAAGCCTGAGTCTTTCAATATAGCATGATTTTTTCGATATTCTAAGACGTTTGAAAAAAATCTGGACCAACAGTTCTTGAGGAAAGTAATCTATTTTTTATACAAAAATTATGTGCTGTGATTTTTTACTAAAAAAAAGAATCAAGTTGAGCCCATGCTATACGCCTAAATTAAAATTCAGAACCGCCATGGATGTATTTATACCATAGGCTCTTCGCAATAAAAAAAATCTGGACCAACAGTTTTTGAGATATGAAAAAAAACAACTCACTTTTTGACGTTTTAAGGTTTTTTCCCGGATGATGCTGTCGATTTTGGCGACTGGTGTCTTTCGCTGAAAATATTATTTTTATTTCAATTTTTAACGAAGAAAACAAGAAAAAACGACGAGAATCAAAAAACACGAAAAAGACGTCGAAAAACTCCCGCTACCTCATGAAAATAAAGCACTGCAGCCGCTGGACTTGTTTTCTCAACTTGCGGTATAGGCCATGTCCCGTTCAGAAGGCGTGCCGTGTCTTGTCGTGGCGGTGTGAAGTGTGTTGGTGTTAACGCAGCGTGTGAATACGGTAGGCTGCTGCAGATGTGGTGTGAGCTGTAAAAAATCGAAATAATTCAAGAAAAATTTACGACGATTTTCGTATTTTGAGAAGAAGAAAATTTTAGAAGGAATCACGAAAATTCGAGAGAAAAAATGATCAAATTCAGTCTCAGAAGCGAAAAGTGAACTGCTTTGTCTAGAAAACAGCGGTTGCTCGTGAGAAAAAATGTTTAAAATTGAAGAAGATCAACAAAAAAAAGACACGTAGACGTGTTTTTAAAGTTCCCGTCGTGGCCGCGTCGCCGCGCCGAGTGCGCACTTTTGTAGTAGACTCCGCCCCCTTTTTTCTTGGCGCCGTGCTTTTTAAGGGGAGCGTTTGTGGTTGAAATAATCGATTTTCGACGAGAAAATAGACTAAATCAAGACCTATGGTGAATCTGATTAAAGGCATATTAACTTTGTAAACACAATTAACTAGAAGAGGAATCGTTCTATAACCGAATATACTCAAAGGGTCGCTGACTTCCCCCGGTCTAGAGTCCCAGGTTCATCTTCGAGCTGTTTCCTGAGAAATTGTACAGGATTTGTCTGAGTCGTGAACTGAACACGCTTTTCAGGTAAACGTCGTCTGGCTGTCCTGGAAATCAAATGTTAGTCTTTGTATCGATGGCAAACATGTCTCAAGGGAGGAAATAGTCGTAAAGTCGGTCGATGCACCATGTTGTGGCACCACGGAGTGGCGGAAGACCAAACTTTAGCCTCAAGAGGAACGCAACGTAGACTATGTCAGAGGTACAGCATTCGTGGATCCAATTTGTATATGTATTTCTGGAAAGAACAGAACACAGTGTTAATAATGTTTATTACTCCAAAGGGGAGATAATCTACAGAGCATAGCGAGTGGGTGCCGTCGTACACAAAGAGGGAATTGTCTGGTGTGAGAATATCACATCTTGGCATGCGGCTTTAGTCTGAAAGGGTCGAGTTGATGTATGAATAGTCAGGGTCTTTTTGCAGACTCGTAGAATAATGTCGTCAACTACACTTTCCAAATAAAGGGAGGGAAAGGTAGGAAACGTCGGCATTTAGTCTGGCTGGGAGCTGTCAATAACGGGGGGGGGGGGGTGGGGGGAAGAGACCAGCAAAACCGAACCAAGAGTGGGGAGGAGTGTTCCTTTCGTGCCACCGACGCTGCAGCTCGCTCCGTATCGTCGATTGAGTCGCCGCGCAGCCAATCGTGGCTACTGGGCGCGAGTGTCACTCTCGTTAGAGAGCGGCGCAAGAGACGCAGAACTGAATACAGTAAACTTCTCCTAGCTGGTAAGCTTAAAGCTGGTCTTAAAAGGTCGAATTGAATGTACCCCTCGCTCGGAGAACTGCTGAAGCAGTCGAGAGCGAGACATTGTGATGGGCGATACAGTTTCAGAGTTCACAACAAACAAACTTACTGGCACTTACGTATAAAATATTGGGTTTCGTCGCGCCCCCTCCAAATGTTTTAAAACGATTTAAAACATAATTTATACTGTTTCACTACCAATGAAAGTTCATGGTTGATAACATAAATCCCCACATTTCAGAAAAATGGATAAGCAGACAAAATATTAATGAACTCATAATTTTCAATTAGCCAGCTATTGTTTCGGTGTATTACCAGAAAACAAATTTAAGTGATCTTACTCTCAACTCCAACCGAGTATCTAATTGATTAGACACATTTTTTACAATCTTAGCTGACAATTGTGCGATTTTTTAGATGAAGATTTTGTCAATAAGCACGCTGAAAATAAAAAAGCGAGGTAATTTCACGCTCGCGGAATTGTGAGCCAGTGGCTGCCTCCTTAGATTAATTTGTTACATAATTTTTCAGCCATACTTGGACCATAAATTTTGGCGACCATTACGGCATTATAATTTTGAACTGCAAACAAAACATGCAAATATATACGTTTGATAGGAATTCGCACTAAAGCTAAATTATTGAAATTCGTCAGCTTTTATTTTCATTTCTTATATTTTGACTAATTTTCAAATCGAATTATTGAAAATGAGAATTTTTAATTCATATTTCGTCAAAATTAGTGAACGCGTGAACGGAGACGGCGAAGGCGGGCCGGCGAGAGGCCGGCGTGGGAGAAGGCCGCCCGCGTTTAGCGCGCTCACTTAGCTGGAAACCCTAAGTTTCTCCAATTAAATGAACTTTCAGGTGATATACATTTTTCCTTTAGGATAAGAAAAGAACATTTCCTAAGCCTGACAATACAAAAACGTGGTTTTTAACACGTTTTTATTTTTCATAACTTAAAAAAATACTATGCATTAACGCTAAATGAGGGCATGGTAATACACAAATACCGGCAAACGGTGTTTCGCTAAATCAAATATTGAGACAGAAAAAACAAAAATATGATGAATTCTCTTTGTTCTTACCAAAATCCATCAAAATTTAGCAATTTTTTACAGTTATATTTGGTCATTACGATATGCCCATTTTCTATTAATATGAAAGAAACAATTGAAACTGATACACCTTGTCCGTCGACTATTGGGCATCGACAGATGGTCTTCTCAAAATCCAAAAAATTGGTGGAACTCTCTTGCACGAGGAGGACGCTCTGCAGGGGTCGTTCTCCTTTGCAAAGGATGGCATTCCATTCATTTGTCTATACAACCTCTCATCTTTCATGCAAACCGACATTCCCCACATACTCGAAATCCCAATTATGTAGGAAGTTCTTGTTTCTTAAACTAAAATTAGCCAACTATTTTCTAGAAATAATCTATGAAAGACCGAAATACCTTTTACCCTTGAATGACATCAAAAGTTGAAAACTGTTTTATCTGGTAAATATTCAGTCAATAATAACAGGGCAAAAATTTCCTATTTGTAAGACGGTTTGCCAGCAGCCCTACTGATGCAATGTAAGCTAGAGGTCCTACAAAAAATACCTGAATTTTGTGTCTGGAGCCTTTGCTAACTACAAATCGTAGGCAAAAGAACACATTTGTGTACAAAAAAGTATGCAAGCAAAAGAGACACCGTAGGCAGGCAAAAGATTCACGCCATAAAAGAGAGATAGCACCCGCGGTGCTAATCATTCTACTAGTGGCTTGAAGCCTCTGTTTGATAAAAGTAACATTTTAAGCATTGTTTAGGGTTCGATTTTTCTAACAAATAAAATTCATATCATTACTTATACAGTGCGTGCATGTTGTTCATTCCACGCCCAAAGTTTTTAATCATGGCAGTTTCTGAGAGTGAAATTTCAGGTGAGCAAAAAGTATTGAAAACCTATTCACAATGAAAAACCTAAACTCAAGAAATGTTGCGATTATATCTCGATGTGAAAAATAAGACAATCAAAAATTGGGCATGGCACTTCTATATGCCACCTCGGATTTTTTTATGATTTCTTATGATTTTAGACTATTAACTTTTTATTCAAACAAGTAATTCGAATTCGTATACATTCCTCAGTGCTAAATAACTATTCCTGTAACTTCTCCCAAAGACGATAGGATGATCAAAATATGGGGATATGTTCTAGGAGTTACTAATTAAACATAGTTGTGAATATTGGTTCACATTTGTGGATTTTTAGCGTCGCCGCTAAGAGGGTCATATTTGCCCCAGCCGTTTTTGGTGAAAACACTATTTCTCTTTTTTTTCGCGGTGCCATTCAAGTTGAGAAATTTCAGGCATCTCTCGAACCTGCACGGAAAGATGAATACTGCAGATAAACCTCTAGACTAGGAAAACAATTGGAAGTTTCTTAAAAGTTTGGAATTTTAATACTAGAATTTTCTGAAAAATTTCAGAAAAAAAGAGACTTTCAAGAAACTTCTGAAAACTTCGAGAAAGTTCTGGAATGTTCCAGCGCCGATTTTTCTAAAAAGTAACATATGCCGTTCCCGGTAGAACAATGTTTTGAGTATATGCCAGAATCTTACTAAAGTAAAATAGTTTGTTTTAAATAAGAGTCTGATACTCCAAAAATATTATGAAATTTCAAAAAAATTAAATTTAATAGGTTTGCAATTCGATTGAAGACCTGAAAAAATGTTAGAAATTTAGAAATTGTTCATTTTGAAAGTATTCGAAATACTGTTAGATTATTCATGAGACTGATAATGTTATCAGTTTTTTTTATTTGAAAGCTTTCTAAGAGTTTCATATGAACATCGAAATATTTTTACTTTAAAGAAACAATTGCTCCTGGAAAATTTTCACTGCGAAAACCTGGCTACAGACATCTTATGATGCTCATACACTTCCTGGACACTGAAAAAAAAAAACGTTTCATCTGCAAAGAAAAACTTAGAACATATTTCAATAATTTACTTTAGTGCAAATTCCTAGTATACATAGATGTATATTTACTTGTTTGCAGTTCAAAAAATTATAACCGTAATCAAGAATGGTCGCCTTGAGAGTTATGGTCCACGTTATGGCTGCAAAATAATGTAATAACTTGAAAATCTAGGCAGCCACTGGCTCTACTCGAGCGTAAAATTACTCACTTTTTTATTTTCAGGCGTGCTCTTATTGACAAAATCTTAAAAAAGATGTTCGCACAATTGTCAGCAAGATTGTAAAAAATGTGTCTTAATCAATTAAATACTGTGTTGGAGTTGAGAGTCACTTGGATTAAATTTGTTTCCTGCTAATACACCGATAAAGCTGGCTGATTTCGTTGAAAATTATGAGTTCATTAATAACTTTTTTTCTGCTTCTCCATTTGTCTGAAAATGTGGGTTTAAGTTATCAACCATGAAAAACTTATTCTTTCGTCAGTTGTAAAAAAAACGGTATAAATTATGTTTCACATCGTTTTTAAAACATTAGGAGGGGGAGCGACGAAACCCATAATATTATTAATACGTAAGTGCCAGTTAGACTGATGGCATTGATAACATTTATCAAAAAAAATTAATAAAAATTTGCCGCCAAATAAACAAAAACTTAGAGGTCGCCTTTTCAAACAAAAAAGAGAATCAGCCTGATACAGCGAACTGATATCCCTAATTATAGACAGGTATCAAAAATTGTGTTGAATTTTACTTTTATTCGCTCCGCTTTTTTCAGCTGATAAATAAATTGTTCAGCGAAGAAAGAGTTTTGCACAAAATTCGAAATGAGCAAAATACAAATTCACAGTTTCAAGACTTGTAATGTTAATTGAAGAACTCCAAAAATCAATATTCATTAACAATCAAGTAGATCCTGAACTTTCGCTAATTCGAACAGCCTCGTCGATGCACTTGCTCGTTTCTTATAAATGCACTGGAGATACAACAAGGTGAAACACTTATTCGTGTAAGTTGAAGTCAATTGTTAAAAACCTGGTTTTTTTTCTCGCCGCTTCCGGATCTGTTAACTACCAAAAAATTTAATTTTATTTTGATGTTGATCGAATTTTGACCGGTAAGGGAAATATTTCAACTTAACCCCGGACTTTCGAATGACGACTCTAAAAAAGAGCTAAGAGCCGCAGAGGATCAATTTGAGCTGGGGAAAAGTCGATCTGAGAAGTGTTTCAGACAAATTTTCATCAAAATAGGTGGTTCAGAACTTGCCTTTAAAAAGTGTTTTCTGAGTCTGTTGAAGTTTTTTATGCTTTTTGCTTGTTATCGTGGAAACAATATGAGAAGTGGTTATCAAGCAATTAAACCAATTTTTAATGTTTTGTACTCAGCTGTAACATTTTCAGATTTTCAGATCTTGTGTAAAAAAGTAAATGTGAAAGTCTACAAGCTTTTTGTCGAACCGATTAAGAAAAACGAAAATTCGTGCGGAGTGGATTCTGTCGAATTATACAATGATCACTTCGATTGCTTGCTTGGAGTAGATTGTAAGTCAATTTTTGACATGAGCGCCCGTTTTTATTCTGAGTAAAATATATGGCTTTTGAACTACTGATTTGACATTCGTGATTTATGGACTCGTTGAAACAATCATTTTTGCTGTGGTTGTTAAATATGTCGAGACATTCATGGAAATAAAAGCTGTATAGTTCATAGTATTCAACTTCAATAGGTGGAAATTCGAATATACCGCAGCAGTTTTTGAATTTGATGTTGGAAAACTTTGGAGTTGATGAGACATGATCGGTGACAGATTAAAAGAACTACTCATGCGCATATCTTCGATTGAGCAATTTCGGAATTGAAGAGTTGCGAATATCGGGGTCCAGAAGAGCGAGTATTTGGAGAATTAAAAATAACTAGAAATCATAAATCAGATCAGGGTATCTCCACATCATTACAAAGCGCTGGAAATGAAAGACTGGTGAGTCTAAATTGATGCATTTGTAATGAACACCGTTGAAGAGATATTTGAATCTCTCCTTTAGTTTTTCTATTATAACAGTACACGTATTGTAACATGTTCTCAAAAGAGTGAATTCTCGTGTTTTTCATACTTAGATAGTCTCTCCATTCCTTCACTTAAAGTTATCCCACAAACAGCCCACTGCGATCAATGTCATGGAAACTTTATTCTCGTTTTTTTCGTTGTTCTCGCTGAGAGGAAAAAAGCGAATAATTGGATAGGTTGAATAACGGAAAATTTCTTCAATTTTCCGAAAAACCAAAAATCGTTTAGAATATTAAAAAAATCAAATTTGATGAAAAACTCAGACACTCTTGACATGATATGCTCAGGAACGTTATAAAGATCTTTTTACAGGTTATCGGACCGACATATACGAATGAAGCAACTAGGGCGGTACGTAGTAGGTGCTCGAGGAAATTATTTCCTCAATTCATTGGTAACATGCACCCACTTTCACCGTTTTAATACTGGGAAAAGAGTTCCTTACAATCCCAAGACAGACTTGTGAATACCAGCTTATTTCAAAGTGGAATAAGGATTTCAGACTGGAGTTCCGGTTCGAAGCTTACAGTGGTCATTTTAAATGTTTAGTTCAAATATGGTCTATTTCATTTTGGTAACGTCAAACGACTTTTCGCGAGAAATGCCGTATTCAATGTACCCTTCAACACCCAACCCGTTTCGAGGGTTCTTGGAAAAAGTGGAGATCGATTTACAATTCTGAGGATATCCCGTTACTCGAAATGAACGAACAAATGAAAACGACTATTATACACAACCAATGGACATGTGTTTGCAAATGTTCAAAGAAACTGCCCAGCCATGAGTATGACTGTTCTTCCTAAAACGTATCTTCACATTACACGCCCGGAAAATATGGACAGAGTCAAAGCTAATCCGATTGACTGAACAAAACAGCCAGAGAAATGGAAGTGTCACATTCAACTACTATCAGCATGACAAAGGAGAAAAACATATTCCTCTCTAGAGGATATCCCAGACATTTTCAGTTCAAGAGCACGTCCTGTAGGTGAAAAACCACTAGGTTGTTGGTATCTCGATCGATATTTAACAAAGAAAATTTCAAGGATGGATTTGAGAAGTGACTGTCTGGTATGGAAAAAGCTTTCAAAAAATAAGAAATTCCGAAAATCGAAGAATGACTTTTGATATATTCTATACCATATATCTGAAAAAGTTCCAATGAGAGACATAGTACATGGGTGAAAACTGGATTTTTATTGCATTTCATGGATCTTATTGATTGATTTTATGAAGTGTATTTCTGTTATTACGAATAAAGCAAACAAATACACTGCCTCCGTCCAAACCATATAGCCTACGTCAGACAAGAGTTGGGCGCTGCCTAAAAAATGAAAAAAGGCGATCGTCAACTACCTCGTCGTCTCGAGGCGTCGCCGTCTTACCTGCTGAGCCATGTTGGTCGCGCGTAAAGAAGCACACTAGTAATAACATATCCTACTCATATTCTGATAGTTTTTTTTGATTAGGGGAAGTGTCAGATGTATCTGATTGATACGGTATTCTCACAGACCTTATTTCATGCGTTTTCAAGTGTGCTCACTAAGGATTCTAATAGTAAGTTCAGAAATCACAGAATTACTGGTAATTGGCAAGTTTGTTTCATGTCTTTCAATAACAGACAATTTTAAAATTTTGCATTTCAAAGGTACAGTTCAGTCTTAGATTTAAAATTTGATCCATGGGATTGACTGACTATTGTTTGCATACCAGCCGTTCGCAAGTATATGCGAGTGCTCCTACGGACGCGAACTCGAAATGAAGGTGAAATCTAAAATTTCTAAGCCTCGGAACGTTTTTCTCAGTCTTCCAGAAGTTTTTAAAGCAAATATTATATAACTAAGTTCTCAAAACTCGGTTACAAATGTTTTCGGCCGAAAGTAGACTATTTTGCAATATTTTGTTTTCGCAGAAAAATGGTACCCATCAGAGAGTGCGGAATGTGCCGAACGGCATGTGCCGATGTGCCGAAACAATTATTCCAGCACATCGGCATGTGCAGACCTCTCTTTGGTCGGCACATTTCGGCAGTCATTTCGATTCGGCACTGTCTGGAATGTACCAACCGTAAATTGATTTTTTAAAGAATTTTAAAAATGCAAAGAAACTTCAAAAAATTGATTAAAATTAATTTATCATTTCAACTTATAGTTTACTAACTTCACTATTAAGAAAACGCAGCATTTTGGGGTTATCCAACTGAATGTTCCCGCTTTTTCCTCCTGTGTCCCCCCTCTAGTCGCGATCCCACTGGGAGGAAAAATGCTTTTTCCTCTCAGACGGTTTTCGCATTTTTTAGCTGCGAAACTTCAGAACTGGGCTTAGGGCGGCGCATATATAGACTTTTTTTGATTTTTGGTACCAGACAAAGTTAAGGCCATTTTTATACTTATTTTACCAATTGGACCTGTGTTATATATGAGGTATGATATATCTTTGTGGTAAGCCAGATTCATGGTGAGTGATTAACGGCCTACAGAGTTGTAGCAAATCTCCTTCTGTTTAAAATTTTGTTAGTTGATCAATTCTTGGTATCATAGATTTTCACAGACTAACATAGCTGCGAAACTGGACAATTTCTTTATGGAAATTGCGTACACGAGACTTCTCTATTTTCCGCGTGGAGTATTAATACAAAAAATTGATCAACTAACGAAATTTAAAACAGCGAAACCTTGCTACAACTCTGTAACTAGTTGATCACTTACCATGACTGTGTCACCACATAGATATCATAGCTCAAAGTTTCCAATTCATTTTAAAAAAAACTATAAAAATTTAGAACTATTTTACTGGTCAAGCTGCCGCATTAAAAATTATGTTATTACAGCTTGGTATGTCAACAAATGTCTAACTGTGAAAATTAAAAGTAAGTTTGATTTCTTTAAAATATTTTTTGATAATTTTTTCATGTCCTGTGCAGATTTCAAATTTTGAAACAATACTTTTAATTCTCATATACGTTGAAAAATTTTTTATGACAAAGTGATCAATTAATAGCAAAGTTGTACTTTTCTTTGGATTAAGAAAAAAAAACTTTGTACTTGATCATTTTGCACATAAATTTATTCCACGGAGATATACGCATCCGAAGTGAATGAGTTTTCACTATCAATTATACTACGCGAAACCCTATGTTTTGGTCTGAAATCGCCATTGTTCAAGAATCCAAACTGAAAGAAACAACAAACATTGCAAGTAATTTTTTGTTATTTATTTAAATTGATGAACTTTTTGTTTTTTTTAAGAAGCTATATAGTATCTTTGCAAATGTGCCGAATGTACCGATTTTTTTTGGTTCGGCATGTACCGCGTGCCGAGAATAAATTGATTCGGAACAACCGCATGTGCCGATGTTATTAGCCGACATTTAAACAAGTGCCGAGCACATCTCTGTTGTACCCATCGTCTCGTCCAGATTTTTGTTAAATTCGAGTATGTGTGCGTCCAACCTTTTAAGAGTACTGTAATTTGAAACTTTCGTTCCTAATTTTCTTTGAACCTTTTCATTTTTTCCACTGGTTTTTATCCAATATTCATAGAAACCTTAAAAAGATAAAATTTTTCTAAAAATCGAAAGTTGAAGTTCCAGTACTCCTTAAAGGCACGTTACGGAATATCCACAACAAAACTTTGTCGTGGCGAGACCTGAGTATTATTACAGAGGAACGCAATAATTCGGAGAATGCGTTTAACACAACATATTTGACGCGCAAAATATCTCGTAGCGAAAACTACAGTCATTTTTTAAATGACTACTGGAGCACTGGTGTCGATTTACGGGCTAGATTTTTATTCATTTCTAAAAATTGAAGTCGGCACCCGGTAAATCGACACGACTGTAGTTATTTGAACAGGATTACTGGTTATCGGTACGAGATAATTTGCGCGTCAGATATTTTGTGCAATACGCAACCCTTATAAAGGACAAGTTCTGCTGGCCAGTGAATTGTCCCAAATTGAAATCCTTCTATTTTGAAAATTACTCAAAAGATCAAAGTGTCGATTTCGCCATTGCGCATGAGTAATTTCTGAATCTTGTTCGTTCTTTTGCACTTGGGTAAGAAGTTGCGCAGCCTTTGTTTTAGAGGGAAGTCAAACAATAGGACGTTAATTTCGCATTTGTGGCAACATAGTTGAAACTACGGTACTGTGTATGGGTACACCGTTTAAATTTTAAACAAAAATTTGTCTTGTTGAGACCGCAGAACATAGCTATTCTCAGTGTGTATTTGTCTAATAACCTGCCAATATTTGTAAATCTTTCAAAACTTCAATATTTGGCTCCAAAAATTATATTTTTAGCAAATGATCTACAAAAAGAATCCAATTTGACTGAAACTGTTAATATTTAAAAATCAAATGTATAATTTTTTTGCTCCAAAAACTGATTTTTCAAATAATCACAATTTCAATTCATTTAATTTCGATAAACACAAAAAAAAAGTATAGCATTTAAGAATTTCCTTGTTTAAGCTTCAACCGCGTAAGGGAAGGCCTCGTTGGCAATCGTCCTGCGTGTAACTTCGGCGGCGCTGAAAATTTTGAGGTTTTGCTTACATGGTATGTATTACTGATCCCTCAACTCCGCCATGCTCCGAGACGAAGTGGTATCTCTCCAGCATGGTGAACTCTGACGTGAGTCCAGTGAACCAGCCGTGTTGCAGTATACGACATCCCTCAGATACCGCAGTAATACGGATAGGGAAGGGTATGCAGATTTGGTAGACGTGGCGAGCCCTGTTGGATGTTGAGACTGACTTTTTGAAATGACTGGAAAAATAATTACAAGTCAACTTGCTGTCCGAAATTCATCATTACAAGCATTTGAATTGTTGAGCATGAGGAGATTCCGATTGCCATTCCGATGGGGTTGAGGCTCTTCCATTTCCTGAAAATTGTAATTTTAGACTTTTTAGATATCACAAAATCTGTTTAGGAAAAATACTAAGTTACAGTAAGAAAATTTTGCTCTGAATTGCTCATACAGGTTTTTAAGCTTGCACCCTGATTTGTTTAAATTCTTCAATCTTTGGATTCCTCGTGTACAAAAAATTCAATTCAGTCTCCTGGGCGTCGAATTGCGATGGAGCGCGTTTGCCGTGCGTTGGCGCAGCCGGTGGTTCAGTTGTAAGATGGGTGCAAACACGCTCCACAGAGTTTTCGATCCCCAGGAGACTGTGTCCAAGTAAACTGAGTGGTCGCTTTTTTGTTCAAAAAATGTGCCCCGCCCATTGGAAAAGCATGACCTTGTAATCGAAAATCCTTCAAATACGAATTCATTTACGAAACTGAAAAAGAATTAATTAACACTTTGTCCATTCGGTAAGATTCTTTCAGGTGTGACATCGTTTTCTCTTGTTACGAGCAATTTGGCTCAGGCACCGCCATCTGACCGGCCTAAGATAAGAATGTTTAAAAAAAGACGTGCATTGAGGAAGTTTAATATTCAAAACAGAAGAGACACATTCCAGATGAAAACAACTTACATTCTGAACGTTTCCTACGTCCGCCGATTCCTCTACGCCGTATCGATCGATTGAAAAATCGATCAGCTGACCGTTGAGCAGTACCTGGAGCGAGATGGTGATCGGAGCCACCGGTGGTGCAGTCTCAACGTCTGAAGAACCAGATCCGAAGGCATAGCTGTTCGATGGTGTTGGGTCGAATTTCTGAAAAAAGAATTGACCAATTTTTCATTTTTAATAGACTTCTAGGAAAAGGCCTAAAAAGGACAAAACGAGCCCCAACAATTTGAACAAAAGGGGTGAAATTTTATATTTTGTTAATTTTTCTGTATCACAATTTTGATTTTCAATCTATTGATATTTTGAATTCAATTTTTTCGGGAAAATATTGCAAAATTTAGCCATATTTCCTCAAAATAAACCAAAATTTGATTTTAAAAGTTTCCCTGGAGAATGAATTGTGAACTTTGGAACACCAAAATTAGCTCTAAAATTTCGAAAAAAACTGGGGAATTTCAACTTTCCGTATCTTTTAAGTTTGTCGGAATTTTTAAAAAATTTTATTACAGAAAACCACCAATAATTATAATCTTTTTTTTTTTAACCCGGGGTAATTTTTTTCGAGAAAATATCTTAACATTTAGTAATTTTTCCTCTTTTTAGGAGCTATTTGTTTTTTACTTTGATTGTTCCGTCAAAAACAATTTTAATTGTAAAGGCTTTTTTTTATGATTTTTCCAGAAAAACCGGTAAATGACACTATTACGGGAACAAAAAATTTGGAAAAAGGCACGTACTGAACATATCTGACGCAAAAATATCTTGTAGCGAAAACTACAATAATCCTTATCAAAAGGGTACTGTAGTGTCAAATTACGGGGCTCGATGTTCAGAAATTATTTTTTTGATCGAGCCCCGTAAATCGACACTACCAGTAGCCATTTGAAAAGTATTACTGACAATAGTTTTCGCTACGAGACCCTATTTTGCGCGTCGAAAAGTATGTTGTACAGTACGCAATTTCAGAATTTCGTGTTCCTGTAATAATAAAGATCTCCTGGCCACGACAAAGCGAAAAATTTTTATCGATTTTTCAGCAATTTTTCTCTTGTTTTCATAAAAATTGGGCAAAAACCGGAGGAAAAAAGTGACCAATTAATAAAAATCCCATGGCAACGAAAGGTGTTTGAAGCTACAGTACTCTTTAAAGAAGTGCACCTTCTTGGATTAACAAAATTTTGTCGTGGCGAGACGCTGGCATTTTTCCGGCGGAAAAGTCGCAAAATTAGCGATTTTGGGAATTTTTCGCGAGACAGCTGCAAACTCGACATGCGAGTTTATCCGTGCAGATGGCCAAAAGCCCTCCGTCGATCATATGACGAAGATTCCCTGGTGTTGCGAGCCCGACATTATGCTTCTGAACTATGAGATTGCCCGACTGTGGCACAAGACATTGCCCCACGAAGAGCATCGTGGATTTGGTGAGCTTCTCGAAGTCGCACGGCTTTACGAATCTGATCTTCGGAATTGAGTGGAGAGATGGTCCCGCCTCCAAGGACCTTACTCCCGATGCGCGGATAGATTGCGAAATCGATGAGCTGCCCGTTGAGCAGCACATCTTCGAGCGAAATGAAAATCGGAGCCACTGGTGGTGGGGTCTCATCGTAACGGATGAAATCCCGATGTTGAATCGGATAAAGCTGTCCGAGTCGGAGGAGGGGGTGTTGCTTCGTGGCGGTAGGGGAGAAGTAGCTTGACCGGCGGCTTTGGATTCTGGAAAATTTTAAAAAACTTGTTTATTATATTTTTATTTAAATCAGAATTTTTTATGCATTTATATTTTACCTTGTTCTTGTGAGTTTTTTTCGACAAAAGCGAGAAATCTGGGTCTAAATCGAACGACGCGCCCAGCATGTAGTACGAATCCGTTTTTACGATTCGGAGTCATTTAGACAGAAAAATGCATGAATATAGGTTAGCAGACGCTGAAAAATTGCGAATTTGGATTTTTTAACGGAAAAACGAGTGAAAATGGGACAAAAACATGTAAATTTTTTCAACGAAAATCGCGAAATTACCGCGTATCGATTCAAAATTGAATTTTTCGCTGTGGCCCGGGTTACGGTGATTTTTAAAGGCCCATGGTTGTTTTGAGACTGGTGAGGTATTGACGCGTAATTTAGATCTAAATTATTGAATATTTTTTTCTTTTTACATTGAAGAAAAAAATGATTAAAATTCGATCATTTTTTTGGGAAACTTAAGCACAATTTTCACAAAAATGAAATCACTCGCCAAAATTCAAAAATGAAGAGTTTCGTGGTGCGCCGGGTTACGGTGGATCTTAAGCATGGCTGTTTTGTATTAGGTCTCACCACGAAACTTGGAGTTTTTGATAGTTTACTTCCTATTATTTACTGTTTTAATTTTCGCTCGATTTTCACACATTTTCACTCATATTCACTCAATTTTTTGCATAAAAAATGATTCAATGGACATTGTTATGACGTATATGAGCAGCCGTTAATCTCTGCGCCTGTAAGCTTTTAGTAAGCTCCAATTTTTCTTATTCTGGCCTCAAATTATTTTTTTGATTTCCAGCTCAACGTTCACATTTTTCGCAAGCATCGCAGAGGAATGCAAACTTCTAGCTTCGGGCTCCAACGCTCGAGAATCCAGCAGGCCGCGGGGCTATCGGAGAAGATCACGGCAAGACATACCGCCAATTTCAGTAGGTAGTGTTCTTTTTTTACCCAACTACTTTTTTTCTATTTTCCAGCGTCTCCCACATTTCATCGATGGTCTTCAACAGAGAAATGGATGGCATCGTGAGAAATCGGCTCGACTCGGACATGTGATTTTGCTCGATGACACCAGGCGCCGCAATCCACAGTTGAAATCGATCGCGCTCCGCTATCTCCGCTACGATCACAGCGATCATAGAGCGTTGGCAAGGAAATCGCATCATCTCCTCCGACTTATATCAAAGAGGAAATTATGGATGATGAGCTCGACGAGGTGAAGGAAGAAGTGTGTGTTTCCGTTGGAGAAGCCGACTTGCCCACGCCAAAAATTGAACTGAACGTGGACCATCCGGAAAAGGACCTGATCATCAGCATTTCCGTGTATCTCGGCTACACCCGTACCCTTCAATACCACGAGATTGGTCTCGGACGTTTGATGAAGGTCAGGGATCGGCTCGAGCTCACCGGAGATCACACGCTTCGCGATCAGAGAAAACGCGTTCTCGTGCCCCATCGATTTCTCGTTTTCCGACGATTTTAGCGAATCTAGAAAGCCGTCGTTCAAGGATATGGCGAAAAATAAATGGCCGTCGTCGATGGTCTGCATTCTGACACGCTTTATATCGACTCGAACACCTGGCGACAAGTTTGTGGATCCGTCGATGTGAGCAAGGGTGCCGGCTAAAAGTTTTTCAGTGTTTTTTGAGCGAAAAGGAACAATTTTTTTCCCGCTTGAAAATTATTGATTTTCCGTTCTTCAGTAAAAATCCTGACTTTTGACGCCGCAAAATCGTGAAAAAACAAAAACTGAAAATTAAGGCACCGGATTTTCGGCCGTTGATAAAAAAACCGAATTTTTAGGTTTTTTCTTTTCAGAAATATATTATTTTTTGCTTGTTTCAACAAAAAAAACCCAAATTTACAGCACAATCCGAAGTTGGGCCAAAAAGTGACTACATCGGTCCGATGCACGTGCAGATGTCGGTGACGAGGATATGCGGGCGATCTCACTTGTCGGCTCGGTGCCATACGTCTACATTCATCAAGGCGTCTGCGAGCACCTCATCGTCTTCATTACTTGTGCCTGAGGTACGGAAATTCTGGAAAAATCGAAAATCGTTTTGATTTAAAAAAACGCAGATCTTTATGTGTTCTTTTTACTAAAGATTTACAAATTGTTTATGATAAAACCACTATAAAATAAGTTTTAATGATTTAATCACAATTTATATTTTCCGATTATCAATATTTTTTTTTTTCAAATAAAATACCCCGAAAAATATATATTTTCTATTTTTTCTATTTTTTGAGTACAGAGATGTATCCCCAAACGTTTCCACGCCGCATCGTCGAACGGAATTCAGAAGAATTGTGTGACACGTGCAAGGAGGCATCGGCGCAGTGGGTAGTAGCATTTAGAAATTCGGACTTTTTTGTGAAACCCCCGAATAATCTAGTTTCCGCATTATCGGAGTTCGAATTTTCGCACAAAAAATCCAAAGAGAATCTATTAAGGCAAAAATCTCAATTGATTCCAATTTATTCAGCTGGATGATAACACGACAATCTGCTTCACAACTCGCCAGGCTATCTGTTCGGCTCTTCGTGCTAAAAGGAGTTCTGTTTCGACGTGAACGGCAAAAAAGTACTGTGTCAATTTAAGGCCGTACCGTATTGCGAAAGGACATTGGCGACGGACGTTGCCAGTTCTTAGCTCGATCTTTAGAGAACGAATTTAAAAATCTGTCATTTTTTGTTGGTTTTTTTTAAATGTTTTTCCATTTGATTGTTTAATTACGATTTTTGGCCTGTAATTTGTTGAAATTTCAAATTTCTTCATTTTTTTAAATAAAATTTTTGTTTGCTAAAAAACTTATCAATAAACGGAATTCGAAGATGAGGCAAGTAGGGGGAAACGGATGAAGCGGGAAAATGATTATTTACAGAATAGAGCGCGCGCCAGAGGTTTCTCGGGGGAGCCCCGACGCGGGTTGCCGAGCTTGGCTCATCTGTCGGAAAATTAGGTTAAATGGGAGAGAGGTAACCTAGAAAATGAGAGAAATTCGGAAGAAGCTATTTTGATCAAATTGAATCCCAAATCGAAATGTTGAATTTGAAAAATAAATTTATTTTATTGATTTTTTGCAAAATCGATTCTATGATTATTGATTAAAAATCCCACTAGAATCAATAAATCTGGAAAAATCAAAAAAATCGATTTTTTATAATCATGAAATTCAATTTTTAAAGAATCCAAAAAAGTCGATATTTAAGAAATTGATAAAAAATCGATAAATCAATGGAGAGCTCGTCTCGTCGATTTGTGTCTTTGTGATTCCGGCTGCTTTTGAGTCTAGGTAACGTTGTTCCGTAAGTCTGGAAATTTTTTTGGGACGCAATGAGCACGCACAAAATGGACGGTGGCAGAAATTTAATAATTTTAAAAAATTTTCTGGATAAAAAAATCGATTTTTGCACTTCGCTTTTCTAGTGAAGAAAATTTAAAAAAAATAGCATTCAAAAGCTTGTTCAGGGTCTCGTCACGAAAAACTCACAAATGTTATCACGTTATGCGGAGCGTCGTCGAATTCCGGTGTGTTGCTATGGATCGTGTCGTTCCATGCTCAGCTTCATCGACTGACGTCGCCGTTTTCGCTAGTGGTGATCTGAGCGAGATTTATTGATTATGTCTTTAAAGACGCATGGCCTAGATAACACAACACTTCGCCCACGAACTTGATTGGTGGCCGAGTCTTCTAGGCCATGCTGCGGCTTTTAAAGGCACATAACATGATAATGACAAGATCGCCAACGGCCTAAAATGATGACCAATGCTAGACGGTTGAGGCATTACAATCAGCTGATCAGCGATGATAGGCCAGGAATATGACGAACTTTGCGTCGAAATAGAATCGATGTACTCTTGTCACGTCATTCCTGGAAATTATTGATTTTTTAGGAAAAAATCAATAATACAGTCAACAGTAACCCTCAACGAATCAATCTTGTAATCCGGTGAAATCATAGAGTAATTGCGTGAAAATGCGGCTTCGAACCTGAAATGATAAAAACATTCATCAATTATCGATTTTCTTGAAAGTTTTTATTTTGAAAGTTTTTACGCCGAAAATCGCGATTGATACATTAACTTGATAGATTTCCCCCCGTCGGAAAACCTATGAATCAATGAAAAAGTTAATATCTACATTTTTTCGAAGAATTGAACTAAAGTCGATTATCCAGCAGAATATCGATTTTACTAATCATTTGAAAAATTATCATTTAGACGATTCCTACGGAAGCCCAGAACAAATCAAAAATCGATAAAATTGACTATCGATATTATTCTAATTTTACTTTTTTCGATAAAAGTCGATATCGTTGATAATCGATTTTTTAGAGTTCTCCTCAAAAAATGGTAATAAAATATTTCTACGAACTCACACATTAACAGCCATTTGAGCATCACCAGGTGATTTTTTGCAGGTTCTTCGGCTCCGACAACCACTGATCCTTTCAGTGACTTGATTTCAACATTCACTCGTCTCCTGAAATGGAATTGATGAATTCTCTGATCTGGAAAAAAATACAATAATTGTTTAAAATTGATTTTTTTCAGATCATTTTTAAAATAACTAGTCTAAATCTATATTGAAGTCTAACTCAGCAAAATTACCACAGGCAAAGGATACGATTAGGCTTAGGCTAAGGCTTAGGCTTAACAGGCTTAAGCTTAGGCACACGCGAGATGAAAACAAAAGAGTTAGTGAAAACAAGAAAACTTTTATAAAAAAGAAAAAAAAAAAAAAAAAAGTGCAACACGTCGCCAAGCAATTCTAAATAGAACAGGTTCAAATACTATCTGTGACTCAAAAATCAGTTTAATATCGAATTTTTCCCACATGTCAATAATCCATTATCCATTCACCTTTGACTCGCTGGCACGCACCAAATCTATTTCTCGGTACCAGGGCCACTCTGAATATCGTTGAACTCCTCTACAAATTTCCAGTTAAATAATAGTAAAACTATTGGTGTTCGAATGGATTTAGCCCGAAGGAATACTTTCGATGTTTTGAAGTGCCACCGGCACAGTTGAAATATCTTCAAAAGTCGTGGATTCCTCTGATGAGGTGGAGGTGTTCGGAGGAGGTAGTGACGTCAGTGGAGAGGGTTTGGCTCGGGTTTCGGCCATGGTGGTGTCCATTGTGGTTTCCATAGTTTTTGTAGTTTCCTTGAAGTTCATTCTGAGGATGAAATATTTGTGCGAAGTTTTGCATTTGTTTTTTCCTGCAATATCTGAAGACTTCCGAACCAGCAAAACTCACTAGGTAGTGTTTTAACTATACGGTGCGTACAATCAAGTAAAAGTGTCATGCGAAAGCTGGCAAGGCTTTAAGAATCTGTAATTTGTTCCGGCGGAAGACCTCTGTTGAGTCTGGAAATTTTCATCTGAAAGTACTGAAATCTGCATTTCCTATGGATAACAGTTTTGTGTCTCTGGCGCCTACAGAAGTCGCACCACAATGGTGGAAGGGCGAAAACATCGCTTCGAAGCTGTTAACCATAGGAAATGCAGATTTCAGTACGTGAATTTTCGTCTCAGCGGGGATGAAAATTTACAGTCTCTGACAGAGGTCTCCCGGCGGAACAAATTACAGATTCTGGAAGCCTAAGATGCCAGCCTTGCTATCGCATGAACGATTTACTTTTACACGAGCACCGTAGAGTTAACACTCCCTAGTCAGATATGTGCTCTACACTTTTAAATTTTGAAATCAATTTCAACTTGAATATAAAATTAAGAGATTTTTGAATTTACTAGGCCACCTCGAAAATTTCCAGGCCACGGCAGGTTGGTAAGGTGAAGCTGCAGACCCCATAAACCTGTGATAAGTGAACGCTTGCAAATTTTTTAAAATCAAACATTTGTGAAGAATCTGAATATTATCAGAACAAAAAATAATTTCGACAAATAGTAATAAATTTTTTTATCAATATAATTTTTAACTAGTTCCCAAAAAACTCAAAAAAAAACTCACCGAGACAGTCGTAGTGCTCTCATCTGCCTCGTAGTTTTCCGGGTATTCGACAAAATATTTGACTCTTCCTCAGACATTTTCAGAATTGGGAATGGGGGGCTCTGACCTGTGCTCAATTAGCTTTCAATAACACTTCCATCCTGCTCAAAAAGTCCTTCCAGTGCACTTTGATCAAATGGGGTTTCTACCTACAGCTTCTGATGGGTCGCTTACTGGTTGGATGGTATGGGTTTTGGTCACCTCTGTCTAAAAATTGGCAATTTGGAAGAGAAAAACCGCCTCGGCCATTGGTGACGTCATACTTTTGCCACTTCTTCGACCAGCTATAACCCGCTTTTAGGAAGTTTTATTTTTGGTAAACCAAAGAGACCAATTTTAAAACTGTGTCTCCACGTTTACCGCCAACTTAAGGGCGTGTCCGTACAGGGTTTGACCGTTTTATCGGGCGTCTTAATAAATCATTTTCAAGTTTTCAGTTTCGTGGAAAATTAACATCGGAAATTGAGTCATCAGGTATGACGTCCGCTGCCGCGCGGCTTCCCATCACGTCACTCCATGCGCTCCCCCGACGTCCCTCTAAGACGTCACCACCTCTCACCTGGGTGTGTCATCTCCTTCTCAAAACTCGTCTATCAGTGACCTCGTCCACCCAGTCAATCGGAAGGGAGCTGAACGTAATCACCCCGCCCACAAGGGAGTGGTTGGCATCATTTCAGTTATTTTCAGCGCCGAGAGTTTTCTCAGTGGTCATCCTGATCCTCCATACTATCATCTTCGATTCTTGTGTGTGTTAAAGTTCTGAACATACCGCCGTCAAACGGAGTTATTGGCTCTAGGAGAAGACCGGACGTTTTCTGGTTGGGTTCACTCCTAGGGAGGTGTGGTTCGGCGAGAGATTTTTCGATCATTTCTGTACTTGTCTCGAGGTCTATCCGATATGAAAGTTATGACACATATTTTTGGTGGCCTGGGACTAGGCCTCCTGTCAGCCTAGAAATCTCAAACCTCGGCCTCCAGCCCTCACTAGCTGACCTAGATTTGGTAAATTACTAAACATCGGCAAGACCTCTTTTCGACTACTCCCTTACAAATTTAACAGTTTTTCATCACACAATTTTCCGATGCTTAACACTCATCATTTCTTCATTCGGAACAGCCAACCATATCATCATTATCAGGCATTACGGTGTCGTTGTGTCTTTTGCCAGCTGTTTGTCGAACACTTCTTCTGAATTTTCGTGTTGCGCGAAGGAAAAAAAGTTAAATTACATTTTGTCTAGGCCACCAGTTTTTGCATTTAACTTTGGCCTAGAAAATGAAATGAGAAGCTAGACCATGTGGGTTTATTGCGAGGAACGCGCAAGCTTACATATCCCACGAAAACTTTTATAAGCGTCTAGTAAAGTAGAAACCTCGGACCAAGTTTTGCACTGTGACCTAAACAATTTTGGTAAAATAGCAGCAAAATTTCCATGATGGCCTCAGGAAAACTAGGCCAATAAGGTTTCTTCCGGTACCTATCCGTTTTGTAAACCTAGGTCACCAGTTACTAGGACAAGAAAAAGCTAAAAACCAACATTTCAGATTGGTCTGCAAAAGGGCAAAATATAAGCCACTAGGAATGTTTGCATGGTGGTAAAATATCGTTGGACGTGAACCAGAAGTTTATCGGTCATCAACTTACGTGTCGTTGAAAATGCAATGAATAGATAAAACAAATGGTAACACTGTGCATCGCTGAAATATTGCAAAAATTAATTTATATTTTGGAATATCAGAATCGGAGAGTTCATTTTTTTGGGTCAAGATAAAAAGAGTGAAATGGAGAAAATTTATATGATATATCAGGTCAAAATGACCTTCGGAAATTGGGAAGGAGAATAATCCAAATTAATTCGCGTGGAACTGGTTAAGATGATCGAAGATTGGAGCGAAAATTTTGACAGAAATTGCAACAATACTAATGCAAAAAGTTGTATAATTCTTTCAGTTTTCAGAAAATCGATAGCAAAAGTCTTTTTTTTTAAATAATTCAACTGAAATATTTTCGCTGCGAGACCTAAGGTTACAAATTGGATTAAAAATTTTATGTGCCCATTAAGAGTTTTTCTGGAAACTGAAGAAGTCGAAAAATCTATAATACCCTACTTAAATTTAAAGGCGCACGAATAATTGAATTTCCAGAAAAATAAAAAAAAACACACAAAATTTGATACTCCAAGTTTAGAGATGCATGGGTAATCAATGTGAATGAGAATTTTGTTAAATTTTTGAACTGCAATTTCAGATATTATGAGAAAGCACAAAATTCGAATAATGCGTATTGCGCAACATATTTTGCGCTCAAAACGGCTATCTCGTAGCGAAAACTACACGTATTTCTTTAAATAACTACTGTAACGCTCTGTGTAGATTTACGCGCATCAAAAAGTATTAAGATCATACATTGACCGACAAAATGTTAAAATTAGGCAAAAAATAAACGAATAATGAATTTCGTAAATCGAGCACGTAAATCGACACAAGCGCAGTGGTCATCAAGAAAAATCACTGTACTACGCGTTACGAGATATGTTGACGCGCATAATATGCTGCGACGCATTCTCAGAATTTTGTGCGCCCGTAATAGACCATTTGTAAAATGCTTAAAAACTTCAGATTTTATTGAAAAAAATTTCTATTTGAGCAAAATTTTTCGAAAAACAAATCTCGGAAATATATTTTTCCATCGAAAAAGTCTCGTAAGGTGTGCTTGACATAATCTTGGTAATGGCATATTTTGTAAACAAGGTTACAACAACCCCTTCCTTCAGCCCACCCGCCCGGGAAGCCTGGGCATGGCGCAAGTGCTGATGTTTTGTCTGTTGTTGCTTATGTATATGCTTATTATTTACACATTTGTGTGTGTGTGAGTGACTACACTGCACACCTCTTGAAACGGATTATCCGGACGTGGTCGAGCAACGGAGGGACGCCGAATTATGCACAATGCTATGTATTGTGATATGAATACTTCATTTCAATAACTTTATATATGTTAGCACACGATTTTTGAAAATTGGGGTTGTGGAAGAGATTTTCACACTGGCCTAAAGTTTTTGAGTTTACTTTAATACTTCTAAATCACGTGGTGTCGGGCGGTCTGCTGCAATACTATTTGATCTACAAAAAATGCGGGCATTTTTTCCCAGAAAAAACGTCCGCACGCTCTAAACCATAAAAAATCGAGATCTGCGTCTCAACTCCCGTATTTTTTGAAGATCAAAGCGAAATGTTTCTGCACTCCACGTGCTAAATGAATATGAACGTTATAAAAATTATCTCTGGAAATTTGAACAGAATTGCTCCCCCGGGTGGAGCGCGTTTGCCGCTTAGTAGCTGAGAGACTTAGCTGCGCCGTGAAGGGAGGGAAAAGTAAGGAAGTTATCAAAACCAACAGACGCACTTATGAAAAGGAACACAAGAAAGAAAGTGTTCTTTTTTCGATTTTTGTGATTTAGTTCGTGTGTGATAAAAGTTCAAATGGCTCGGTAGGACAATAGGAAGGAAAGTGGAATTTTATATTTCATCTTTTGTTAAAATTTACTTTTGTAGGTGTATGATTAGGTAGTGTTAATAGAAATCGGGACTCGCGGCTTTCATTTTTTTGTGGCCGAGTATAAAAATCTTCCCGTCAACCATACGTGTTAAAGGTAATCAATAGGATATCATATTGGTAAACTTTAACAGAAATCCTAAACCTAGGTTTTCCGAACTATGGAGCTCTGAAGTAGGCCCCTTTGGGAAACATAGGCCACCAACCTGAGAAAGGTAAGGTGAGGGCAGGGTGCATAAAATACAACTTTTTCTCTGAAGTTTTTAATTAAGCGAACAAGCCGATATAAATTTTTCAGTCATGGCCTGACTTGACATTGGTGGGCGGATTTTTTCGAAAAAACTCTCACGATTTAGAACATGAACTTGGCAAAACTTCAAACAAATCCTAGAGATAGGTTTTGAATTATGAAGCTTTGAAACTTCTAGACAGGGGCGTTGAAAAAGCTACCCCTTCCACTGTCATAAACTTATAACAATTCACAATTCGGCAAACAAAAGTAGAGATTTCTTTCATATGTAGAATTAGCTCAATTTTTCAATCCATTGCACGGCTAGATTTGAACTCATAATTTGAAATTTTTCGGCCACGCAATAGAAAATTCTAGTTCATGGGAGTTGAAAGCTCGGACAGGAGCTAATTTTAAAAGCACAAGAGACAGGAAAACCAAAAATTTGTAAAGTCATAAAAATCAAGTTTTTTAGCTATGAGAAAAGGATTAGAATTTCAACACGGCCACCGATCGCCGGAGCGAAGATACAATCATTTTGGGCATAGACGTCGTTTGCGCATAATCTTTCTCACCAAAAAAAGATTGAAATCTTTTAATACGAAAAAAAGTTGGAAAAGAATTAGAAAAATGCTGAGGAGAAATTTTTTTTATGAAAGCTTAGGCTTACAATTTTAGGCTGCTATTTTTTCAGTGTTTTCCATGTGCAGAAAGGAAGAAACCGATCCCGACTTTCTATCACACACTGAGGGGAATTTCACCCCCCCCCCCCCCCTCAATTCCCGCTACTACTTTTACTGTACACTCTCACCGAAAAGATATTGTGTCATCACGCATCATGCCAAAAACGCAATCGTACAACCAAGGAGAAATAATTGATGAGAAAACGCAAGTGTTTCTTCATACACTACATAGTGTTCAACACCCCTGCATGATATGGCCGCGTGAAAACTCTTCCACGGCCAGGAGTAAAAGAAAGTTTTACGGAACAATCTAGCAAATTTTCATAACAATCGGTTGGGAAACTAGTTACAGGGGTTTGAATTTTCTAGGTGGGCCATGCGGAAAAAAACTAGGTTCGGCCACGTTTTGGTTAGGGAGGCGGTGTCTTCAAAATAAATCTATATACACCTCGCACCTAATGATCCGCCCATGAATCTTCATACAGGGGGAAACAATGAGGTATAATCTTAGGTGGCCGAACTTTTGGTTCGTGAAGAAATCTCGGCCAAGACCGCGAAAAACGTATTCTTTTTTTGAATCGTTAATTGAAAAACTGAAAACAAGAAGTTTCTAGGCCATGTTGCTTAACCTTGGGGCAGTAAATATTTTTCCTAAGCCATTAAATTACTACACTGAAAAGGCCCTAGGCGCCCACGGCTTCAAAACATAGGCCACCAAAAGCTGAAAGAGGGTTAGGACCGGAGCCTGCTATTATGAAGCAAAGTGTTTGTGGAATAAAAAGTTTCAGAATTTCCACCAGTTTTTACAAACTATTTTTTCTCTGGAAATTATAAACCTGAAATTTCGAAAGCGGACGAGATCGTCAAAGAAAAATAAGACGAGCTTGCAATTCGGAGGGCCAAAAAATGAGAAGAATTTGAGAACAAGAAGAGGGTATGACGTTGACCTATACGCGTATTGTCTTTTTTGTTTTCCTTCTTCAGAATGTGAAAGAGAAACTGTCATAGCTAGTCGTAGTTCTTCGATCACCTAATCACGTTATTGCGCCCTTCGAGCACAGTTTTTTTTAGGAAATGTGTGAAAAATACACATTCTTTGCGCTAGGAAAAATTGTGGGAAAATTGAGGTTATTGAGGTCCCTTGCCACGACACCGTGGCCTAGGATACCGCCGTGCTCTTGAAATCTCGCTTGTAGCCTAGAAAGTTCCCATGGTGGCCTGGAGAAGTTTAGCGGGGCCTAAGACTTTTAATTGTGAGTGAGTTTTTTTGGCCTAAAATGCTATACGTGGTTAAAATTCCTCATTGTTGAAATTTTTAGCGCGGCTTAGGATTTTCTATAATGGCACTGGATTCTCGCCGTTACCTAGAATTCCGTAATGTGGCCTGAAACTGGAGTTTAAGGGTGAAAAGTTTAAGTATTTTCAATCGTTGCCTTGAGATTTTTTACAAGAATTCCTCATTGTGGCATTTTCTATTCTGGCCTAGAAGTTTGCATCGTGGCCTAGTAGAAATTTGCAGAGCTTGGTTTTGAAATTCGGTTTGTTACCTAGGGTGCTATATCGTAAATTCTTCCATCATAACGTATTTCACATTTTGACCTGAAAATTCTTTGCGTGGTCTAAGATTTCTCATTCTAGGATATTCTCGAAGTTAAAGACACTATTGTGAGAAAAAGTTCGTCATGGCCTAGAAATTGCTCCCGTGACCTAGGAAGTTTCAAATTTTTTCAAAAAAATTTCACCAGAAATTCATCAAAATTTTCAATTACGGAAAAAGAATCATTAATGATTAACCACTGCAACTTTTTTCGAACTAAGGACGAGGCAAAAAGATTAGTACACTAGGCCATGGCCGAGTTCCCGACAAATTTCAGCGGCCCACACGTTTATTTTGCTTTGTTTCTTGGTTTCTCTCGTTTTTCACCGATTTTTTCCGCATTTTTTCCTATCAAAACTAATAAATAAATTTTGGAGATGCTAAAACAATCAAATAAAATTGTGAGTTCAGTCGTGCTGGTCAAGTAGCGGTAAAAGTGGTCAATGTAATATGGATTACGGCAAAAAAAAACCCAAACTTTTTCCCTAACATGATACATATGCTGTTTAGAAACGGGAAAAATCGTGTGAAAACAAGAAAACAAAGCAAGAACTGTCGTAATAATGCGGTGTATTGTGTGCAGACACCGATTTTTCGCATTTTTTCTCGGCCCTCGAATTCGTAAAAAGTAGCAGTGTTAACGGCGGTAAGAGCTATACCTACAAAAGGTGGCCACAAAAAAAATAGAAGAAAGGATCTAAAAAGAGCAGGGAAGAGTTTCTCAATTGGCCTCGTTATAGAAAATAAATACAATAAATATGTTTTTTGGAGAATTAAAAAAACAAAAAAGTTCAAGAAAAATTTAGAATATTTTTTCAGTTTTTTTCCTGATATTCATTAAAATAGAATAAATGGAAGTTCCACAAAAAGCAGGAAGGTGAGCTAAATACTTTAATACACCTCCTCCTCTCAATTCTTCAGAAAAAAGAATAGGCTTCTCCTCCTCCCACCTCCCAGACACTTATCAACACTTTACCCCATTCCTCCCGGCCCCCGGCTTTTTCAGATTTTTCAACCTTGAAAATGACGAACATTTCAGATAAATGTTTCTGAGTGTTATCTGAAATCAGGGTGTTGAAGCAGCCCCAACCGCGTGTAGCGTGGCCTAGAAATCCGAAAAGTCTTTTTGATCTTCCGCTTTCTCCAACTAGCAAGTTAGGTCTTAAGTCAAATGGACTCTCCATGACCAAGTTATGACGATTTGTAGTTTCTAGGCCATGGAGTGCTCTCCGAGGGGCTGAGACTTTGACCCCCTGACGCCGGGATTTGTAGGACTTTTCACCTGTTTATGCTACTGTAAGCGAACTATATACGTTCTTCACGCCAAGATATCCGTCAAATTGTGACCACCGTTTCAGCACTTTAAAATTTCTACTTGCATTCGCCACGCTGTCGCCATAATGGAATATTTTTCTCACGAGGAATAGCATAAATTAAAAAAAAAACAGTCTTCAACTGGCCGATATTTGGAAAACAAATCCTAACGAAAATGTTGCAGAATTATTAAAAGCTTAATTAAAACAAACCACAAAAGTTACCTAAAATGAAATAAAGAAATAGGCGTACAGAATTATAAAACCTATAAGCATGGGTGGGTCACAGGTAAAGATTATGGAAAGTTTTTGAGGGAACGTAGGAAGATATTACTGTAAAGTTATGGGGGAGAAGCGAGCGGCTGAAATCAAAATGGACTCGGTTGAACGCGTCGATTTGAATCACGGAGAATCGTTTGTAGGGCTTCCAGATAAAAAATGTTCTGCCTGCATTGTTGGGCCAAAACACATGAATCATTCAAAAACAAATTGGCATAAGAAAATACATACTTCTCCAAAAAAAATCAAAAAATAGGCGATAGGTTTTTAGATACAGTATAATTTGAGCAGTTAAACTATTCACCCCCTACAACTGGCGGGCCCGCAGGGCCTTCTAGTCAGGCAAAAAATATACGGCCCACACTCACAGCAATAAGAAAAGTTAGGGGATAGTAGAGACTTTTACTCAAAAGGAAGGCCGCATTACACAAATGTTTAAACATTAACCTCAAAGCGGGAAATTTTTTTTAATGCGTACTGAAGAAATCGACGTAATGAAACTCAATTCCTACCACCCCGTAAACCTCCTTCACGTCCAAAGTAGTCCATAGTGACATGAATCCTTCCGACCAACGTAAAGATTGGAGATGACGAAATTTAAGATGTACCAGTATACTGGTACATACAATTTCTACGTCACAACATCTTGACAGTCTTTTTCCCTCAAAGAGATGAGCCCCTTGTGAGATACAAACGCTGCGTCCTATCGTGGGTTCAGTTGTGGTGAAAAATTGTAAAAACTGTAAGTACCAACTATGCTGATATGCCAACTACCAACCAGCATAATTGGTGCCAAGAGACTTTTGCCACCTCGAATCTGTATGACGTTGGTCGGAAGGCCTTTTGTCACTATTGATTAGTGGGAGGCTTACGGGCTTGAAACAATCGTTTATTAAAAGACGTATCTTATTCAGTACGCAATATTGGTTCCCAGCAGTCATTTTTTCCGCTTACGTAGATCTTTAAAAAATGCTGGAGAAGATATGCAGTGTTCTCAACTAATTTCGCAGAGTTAAGAACGTGCTGACGTCACTTAATTTTTTTGAGCAAAAAATTCCGGCATTTTTTGTAGTTCATTCATATCCGTAACCCTTGGACAGCCTGGCACCACGTGTAAGAGATGTACACGATGCCTTGCCTCTATGTTTGCCCGGGAGTGTGGGAAAAGTTGTAAGCTGTAGAAAAATGGACAACAAGCATGTTGTCAGTTATCGCAGCATTTTATAAGTCAATGACAAGTACAACAGAGAGCTTAACTGAAAAGTTTGAATGGAAAACTTTCAAAAAACAGCGAAGGTTCTTTGATGGATGCAAGGGCAGAAAGTGACTAATGCATGTGTTTGAACTTAAAACAAATTGGCTAGTCTTTGACTGAAACTACCTTTTATAAAAATGAAGAAAATGAACCATTACGAAAATGTTAAACTGAAAGTTGGTGTGTTTTTATTGTCGTTCTGTAATTAAATTCCTTGAATGATCGCTCTTCTGCAAAGAACAACCACAAAAAATAATTCGATATACTCAAGTATCGACGACTTTGATTGGAATGCAAACATATAACAAATTAAAATAAAAATTCTACGGTCATTATATTTTAGGAAAATTATTGGAAATTTTTTAGGCTTCTGAAGTGTCAAAAACTTTCAGAACTAGTAAACACGCAACATTTTATATGTAATAAAACACTCAGCGAGTTTAAACTTTGCAAGACATTTTGGGACATAATTTTGGCCTTTTAAGAACAATTAATTGGAAAATAAAATAGTTAGAATGATCGTTCTTCAAACAACCTGACATAACAACAACACACCTACTCTGTTATAATAAGAAAATGTAACTACTCATCCGAGTTGTCAACCTGCAAGACCGCATAAGTTTATACCACTCGAACAAAAAACAGTCTTCGTTCTCTTTCTTGAAAAGAGACATAATTGAAATGAACTAATCACCGCTGCCCGGGATGGAAAAAAGAAAAGAAAGTCCTATCATCCTTTGACCTTGTTATTTTTGCAAATCATGTCTGACTAATACACTTTGTGTTCGATACATATTTCACTGAATCAGGCGTGGGCGACAACCAATTTTTACGGCAAATCGGCACATTGCTGGAAAATTTCCGGCCTTGCAAATCGGCAACAAAAATGTTTGAAAATCGGAGAGTAAAAAGGTGGAAGTCACCAGCAGTGAAGTACCTACTTTATTTCACATGAAATTAAAGTATACACCATCTCTCTTTTTTTTCCTTATTTAACAGTCTTTGGTCTGTGTTCTGACTGTTGAGAGATCAGGGATCATGGACGAGTTGTTTTTGGGAAAACAAATTCTTTTTGGACTCCTTTAGTTTAGTAAACGAAAAATTTAAATTTATAAGCATATAAATATTTTTGTGGGAATTTGAAAAAAAAAGAAATTAAAGAAGAAACAAAACTAGTGTTCAACATGTATAACTGGGAGAAAGAAAGAAGTGCGCTTCCAATTTTCAGAACTTTTGCAAAATTGTAGAAAGTAGTTCATGCTTCAGATCAAAGTTGTAGGAAAAAATGTGGCCATCCGAAAGAGAAAATTCTGCCACGACCAAAACTCAGCACTAGACTGAAATTTCAGTAGTAGCTGACAAAACCATCCAAAAGATATTGTAGGTTACAATATCTACCGTGAAAATTAGAAAACTCGAATCAGATATCCGTGGGCAAAGCGAAAAAAAAATTAGAGTTTTCTAGGCCATTCGAAAAACTCGTCCACGTGTGCATGAACTGTCAAGTCGCCAACGTAAAAGGTGTGAAACCCTTGAGAGCACTGAGAAAGAAATGAGATAAAGTAGCAGGTGAGACCTCCTGTCTCTGAGAAGCAACGTTCGAAATTCTTTTCCCTACATTCCATCTATTATCATTATTATTATTATTATTAGGACGGTATGGAGCCAGGAACTGGTTGTTTATACTGACCACTGCCTCTTCCCGATTAGGATTATGTGATTCGGATTTCGGGAATTGAGAATGGCAGATGGTTTATGTAATTTAATCATATTCCTCAAAAAGTTAAGAAACAAAAGAAGGAAGATATAGATCGCTGAATCAGTGAGGAGCAATAACATAGCATATATGGAATTGGTAAGACTGGTTTACAGTTACAAGGGAAAAAAATTTGAAAGTATTCGTCATCTTATCTAGGTAGTTGAGACACTTGATTACTCAGTTGAATGAACAAATGGATGAATACAAGTTCGTATGCTGAAAGCATCTCTAATAACATAGTATTGGTTTTAAAGGTGGAGTACGGTCGTGGTTTTAACCTAACTGACAAAACAGTCCCAATATACCGTAACTGTTAAAGATTTATATAAATTTATTCTGGCAAATTGTTTATAATTTGTAAAAAAGTTTTTTTTTTAATTTAAAAATTTATTAATTTCCAAAAAAATAGTTGATTCAAAACTAAAAACCCAAATTTTCTGAAACTTTACCAGTTTTACTTATTGTCTTAACAATAATATACACATATTAACGAAATACTCACCGTTCAAAATTTGACTTCTTGAAATCTCCAGTTTTAACGGCAATTAGAGAATTTGTTCAAAATTCCAATCTCACACCGAACGTTTTTCTTCGTTTTTCATTTTAAAACAGTTCTATCCAGTTTAAAAATTTACCAAATAAAAATGTGTCTATACCTCTCACCACCAATCCCGTGCATGTGTTCATGTTTACCTTGAAAAGTGTGTATTACTATATAATACAGAACAAATATCAAATGGCCACTCTCCTCCAGCAGAAGGAATGCTTAGGTGTACGAACACTGCAACACTTCCTATTACTCTTACTAGTTTTGCGCAATTTTCTGGTCCTTTTATGTAATTTTTTGTCTGGAACAGGAAGTTTTGTGTTGTTTGGAAAATTAATGTTCTACGTGAGATTTTTAAGTGATTTTTTGAATGGAATTTCAATTCATTATTTCATTGCATTTGTCTTTTTTTCTCACCGAAATCCACTTTTTTTATAGAAACAATTTTTTTTTCTACATTTTTTCCGATTTTTGTCATTCAATTTTTCAACTTCTCCATTTTTTCTACAAAACACCGACAACTACAAAATACCTAAAAATTGCAAATTAAAACAAATTTAAACATTTTTGCCGCAAAAAGTTGTTTTTTTTTACAGAACATCTAAAACTCCCTTAAAAATATGCTAAGTCATTTTTCTGAGAAGCACTTAATTTTTCGATAATATTATTTTTGCTATATTAAATCCAGAGAAATTAGAAAAAAAGAACGGTTTTCTACAGTACCTACCCTCCCTCTCCCTCTTAAAATCATTCCTACAGTGTTCTTACAGTAGTCTTACCTGCACCACTCCTACACTGCTCTTACAGTGATCCGATAATACTTTTATATAACCACACACTCCATACCTATACCTTACACTACAGTACCCCCGCCGTACCCGAGGCCCCCCCCCCCCCAGTACCCTTGCCACTTCAGTATCCTACATTATCTACAGTTCTCCTACACTACCTCTACAGTACTCCTACAGTACCATTACCAACGAGAAATTTGAATAGAAGTGAAATTATGAACATTTTTTCCTGTATACCAATTTTTAAAGTTTTAGTTTTGTAGTTGTTTTTGACAACGTAATCAATTTCAAAGTATTTTTCTTTAAACAATCGTACTTTTTGCGTACCGGTGGTTCTTGCACGGGGATTTTGGAATAAAAGTGCCCTCCGAAAAAAGCGAGTGCGGAATTAAAAGCACAAAAACCGGATAGAATGAGGAGGTGCGAACGATGGAATGAAAAAAGAAGCAGAAATTAGATTTGGTTCAGAGAATTCTGTTTCTTTTATTTGTCGAGATTTTGGTTTTGGAGTCTTGGCAAAATGTTTTATTTTTGTCCAAGAGTCCTAACGTTTTTTTCCACCAAAACTCCCAATTTCAAAGTTTGGAAATTTGATTCATCGATCTGCCAAAACTTCCGATTTAGAGAAATTAAATGTTCAGTTTCCCGTAACAGGGTTTCGTATCAAAACGAGTGTGAACCGCCTACCTATGTTTTTTAAAAATGATCATACTCTAATTTCCCTTCAAGCACTTTTTTTTTTGAATGACTATTTGAATATCCCAGAAAATTTTAAAAACGTCATGAGTTTTTTGAAAATTCAATTTTGCGTGTTCCTGTAAAAAACCATAGAAACTGTTGACCTATAACCTGCCCGACGTTCTTCCTGTCTGTTTATACCCCATCCGCTCTGCACTCCAGAGACCCCTCGTCCTAACTACACTGATTATTAAACTGTTACCCCGCCCCCCCCCGTTTACCCCTCATTTGTTTTTTATTCGGTAGTGCATCCCTTCCGTGTAACCTGACACTTTATTCAAGAATCCCGCATTTAGGAGGATCAGCAATTTTTCTGTTACTTAATTTTCCACACGGTAGGAATCGGAGACAAAAAGAAAACGTCATAGTTAAAAAATTTATGCGTTTAATTTTCAGTTGCTGAAAACTCAATTTTGTGGAACCGTGTTTTTCGATCTTTGTAAAACTGAATTTTTTTGAGGAAAATTTGGATTTTTGCTGGAAAGTCAATTTTTGTGAGAAATGGCGGGAAATTTAAATTTACTGAGAGAAATTTTAGCGGGAAATTAAATTTTTTGTTTGATAGTGAGAAAAATTCAATTATTTTTGTAATTTTTCATAATATCTCAAACTCAAAAAAGTCTGAAATTAACTCGAAAATATTGTCATTTGATATTTTGGCAATTCAAAAATTGCTTAAAGTAAATAACGGAACTCGTTTTTTTTCAAAAAACGAAAGGTATTAGTAACATTTCCGGTAACCAAGGTTACTCTTTCCCCATCAATCTCCCATAAGCATGCCAGAAACAAAAGAGTGAGAGAGAGAGATGCGTGTATGATTATTTGACAGTGCGCAACTGACACACATAAAACAGCTTACATCTTCTCTTTTTATTTCAACTGATTTTTTTACCTCCTTGTGTTCTCCGAGTCTCTCTGATTTATTCAGTTTCTCGATTTTCTTCCAAATTCATTCCCTTATATATTTTAATCTATGCGTAAAGTGGAGGAAGATTTCTTCTACGAATTTTGATCTTTTGCAAATTTCTCGGGTTTTTCAAATTATGGATTTTGAAAAAAAAAATTACTGAAATTTATTTTTTTCATGTCACAAAATGACTGTCTACCCTGAATTTTTCTATGGAATATAAAAAAAATTCTGAATTTTTTTTACTTGTTGATGTGTAAAACAAAAAATTAGAAAAATCAGATTTATCTGACGATTTTTTGAACTTTTTTTTAAAATCAAAATTAACTTCAAACAAGATTTTTTTCGGAATTTTGAAAAAAAATGTTGTTTTTTTGAGATTTTAGTACAACATTTTCGTAAAATCGAATTCATTTTTAATTTTTATTGTGCAAATGTTCTGACTGATTAACTATGAGAAAAATTTAAACAGTGTGAAGTTTGAACCCCCCCCCCCCCCCCCCCATTATTTGGACGGAGATACGAAATGTGAATTCTCAGAGAAGGAGGTGAACACTCTGATTGATGTGCATATTGCTCATTATCCATATTAGTTTGGGGCATATCGCACAGCGAGCATGACATGTACTTTTACCCATTTGCGTAGGCTCCGCCATTTCACGATTTTTTTTTTCCAATTTTTGAACTAGTACAAAAATTTCTGAAATTAATTTCTGCAATCTCACATTCCATTGTATTTGTTGCTTACTTCTATTGTTCCACAAAAGAAATTTTCGAATTTTCGTAATGTGTCTTTCAAATATACCATATCCACGCACATATGTCCCTTTTCCTGAATACTAATTTGGTGTCCAAGAGGAAATTTGTTTTGTCGAGATTACTCAGTTCCATTACGGAATATTTTAGTCTCTGAGAAAAATTCACTTCCTAAGTGTATAAGACTAAGTAAGTAAAACGATACTACAGTGTCAAGAATGGTTTGTTTTTTGTTACAGTCTTTACTATGTAGCTTTTGTTTTGTGTAGTTTTCCAACTTTTTTTTTGCCAAAATGAAGGCTGAGGATAAAAAAAAGTCAAAACACAGATTGGTTGCTGAGGCGGTATTATTGGTTTACTGTAGCATTACGGGGTTACTCTAGTTTGGCCCATGTTTGGTGTCGTTAGTAGTAACAACATTTCGCTCATTTGTTTTTTGATTTGGTAACTTCTGGTGACTAAACTTTTAATGTACCTAAATCTTCTGTAGCATTATTGATTTGTTGTTTTCTTCTTTTTAAGTTAAACATGCTCACATTAAATTGAAATTGAAATGGGTTGAAAATATTATTATCAACTTGAATACCAAAAATTTTGGACGGTATTTCAACAAAATTGATTTCAAGCCTCTTCGACCTTCGACACAACAAACGAATGCTAACTTTCCCAGGATTACCCAAAATAGTTCAACGGAATCCCGTTTTATCAATTTTTAGCACATACTTCTTCATAATCATGATTGTAATGATCGATCCGGTCTTCTATTATTAGATGAGAGAAGGCAAGAATATACATATGTGTCTTTTATATTAAATTAATTATATTTCGACACATTCTGCGCATATCACTACTGTACTAGAATTACATTTTGAGTAAAATGTAACCAGAAGAAACAGTTGTTTGCATTTATTGTAATAAACAGAATAGAACATGATGTTAGGAAAGTTATTAAAACTTGCAAAGTGACACAATTCATACCGATTTCTCTGCAATAGCTACTTAGTTCACTTAGTAGGCAGAGTTTTGATACTGATACGGATTCTTAACGGATTTTTAATTTAAATCACTATTGCTTTAATAACCTTTTAAGATTTTTTTGTTTCAGCGTGCAATTGTACTATTTTTTATTCTCTTTCCCCTAGAATTTTAATAAATAGAAAAATTTTGAATTATTTTACGTTATAATTCAATAGTAAAGAATCACACATCAAGCTGCCCCTATTCAGTTTCACATACTTTGCCTGATAAACATGACTCCATAGTAAAATGGACACTTTCATCTTATACAGACACCCGCCCCCCCTTGCTTCCCGATTAAATCCCAATAGTGTGGCAGCATTGTGTTTCATTGAATTTATTATCATTTGTCATACAGTACATGAAATTACAAAACAGGAGAATTCCTAGGTTAAACTTTTATACAATGAAGAAAAGTCTTCCCTAGAATCAATATTAAATTATCAAATGACTACGGTATTTACGTTTTTCAACGACGGTATTAGTTTTTATACTTACTAGTTATTAGTAGTTAGAACATTACATTTTTAAATGCAAGGTGATGCTGTCAAAATTTTTTTAGGGTAGACGAGAAATTGTCATAGTTTCCAGCACCATCACTGACAAGTCGGCCAAATTTCAAACTTTAATTTTGGAACGTCAGTTGGGCGGCCATAACTCTTTTTTTGAGACGTTTTCGGAAGAAGTTGAAATTTGGTATTTTCAGCATAGCGTTGTATCTTATTTAAAATGAGTATTCACTCCTTTTACCTGCTAGTCGGCAGCCTCGTTTTCTCCTATTTTTCACTAATGAGCACACACCACTATCATCAGTATTTTCACCACCTGTTTTCTAATAATAAACATTCCCCTCACTTTGTTTCCATATCGATGCATTTTATAGAAAATGTTCCCCCTTTCTTTCCAATTAGATTCACCCTCTGATTGCTCTTTCTTGGAGGGAATGTTCCACAATTCCCCATCATCTTATTACATATTTATGCAGATTTTATAGCATTTTAGTGCGCTAGATTTTTCATGGGATATTGCTATGCAATCACGCTCTAACTGGATAAAATTCTCAGTTTATATAATGTTAAACCCTACTGTGTGTAAAATTTACAAACATAGTTGAATACATTGAATAAGTATGAACATTTTTCGAGGGATCTATAGAAAATTGCCGGCTGTTCCTAAATAGGGCCCTTTCACTGGTCACCAAGTTCCTGTTCATGCAATTCAAAAGAAATGTTCAGCCCCTCAATAGTCGCCCGCACCACAAAATTGAAAAGCGATCACATAGTTTACTAGTCGAACGTTTGAATTGAACATATTTGGAGTATTTTAAAGAAATTTCAAGTCCACCAAAACATATGCCAAGGGCCACAAAAATTTCAATTTTCCGCCAATTTTTTTCTCACGAAAGTTGAATTTTCTCGAATTTCCGATAATATTCGATTTATTTGAAAGTTATTGAAGTTTATATTTTCTAAAACCACTTCCACAATAACAAATATTAATAGATATAATCCAAAATTTGAAATTCCCATGCAACACCTCAAAAAGTGGCTCGCTTAACTGAGTGCTGTCGCGGAGCACTACCCTTGCATTCTTTTCCCAACGGAGTCATGAACATACGAGCATTAAATGAGTAGACGACATGTGTATACATAGGACCCCCCACCACATGTTCCTTTTATGAGTAGACATGTCATACACACAATGTCTCTCCTTTCCGATTGGAAAATTAAAATCATATAGGAGCGGGGGGGGGGGGGTCTTGACATTTCAATTATTACCCCCCCCCCCCCCCCACATCCGTTACGTTGCATTTTGGTAGGCTTGGGGCCGAATAAGTCTCCCATGCAGGCGTCAAAACGTCTGCGGACCTACGCCTGCACGCCGATCGCGACAGCTGTACAGGAACCCGAAAAGTGGAACGCGGCTAAAGAACCATTCGCACTATGCGGTGTAAACACAAGGTTTTGATTTGTAGTCATAGTGCGTATATGATGCGGGACGCTGACAGGTAGGAGGCAAGCGTTCAACCGCGAATGCACACCATGGAAGCGCTAGAGCCTAGTTTTAGATGAGTTTCAGCATTTTTGATCTACAAGATTTTGAAAGTTTTACAAAAAGACCAAGATTTTTTGTAATTTATGAAGAGATTTTTCTACATTTCATAAACCAGCAGAGTTGTTTTTTTGGTAATTTATCATTAGCGCGTTCGCGTCATGAAAACAAAATGGCGGCCGAACTTTGACAGATGGCTGAATTTTTCGAATCGAACAAAAGTCCGTAGCTATAAAGCACAGGCCTACCTTGGTTTTTATTTGCTTTTAAATGATATAGTTTTCTAAAAAAAAGTCTATGGCCGAATTTTTAAATTATGAATAGGGGCTATTTCAAAAAAAATTTGAGGCCAACCTACTCTACTCAATTATAACTTGCCATGGCAGAACTTTTGAACAACTATTACAACGTTTTCAAAAAATTGCAAGTTAATTTTTTCGAATAAAGGTTAAATGTAGCCTAGTTTCTCAAAACAATAAGTGAATAAATATCGATGACCGAAGTTTATATTTGATAAAATAGTATTTGACCTAGAACTTTTAACTATTCTTCCAATGTCTGAAGTCTGGCTTCTGAGAAAAAGTTCGTGGCCTAAGTGTACCACGATGGTCTAGTTATCTCGATAGCCATAGCCTAGTTTTCTCAAAAAAATCTGGTGGGTTCCTGTATGTAGGCTTGTAGGTATTTAATTCTTATCTTCCAGGTATCTATTTCTACTTGTAACCAGGAGCAATAGTTTTGAATTCCCTCTCCCTATTCACGCTTCTCCCCTCACACTCGTTTTTGGTATTCTAATGTTCTCACGAAACTCCTCTTCCCAATCTACCCCCATTTCTTTTCCTCTTGGAGACCTGTCTCTCTCTCTTTGTATTGCTCTTTTACGTCTTCGAGTAGGCTTTTCCTTAAGGAACTTGTGTGTGTCTTGAATCATCATCGCGTTTACGCTCTCGTTCCAATTCCCTGTTGCTATTTTCTTGGAGACATTTGGAAAGTTTCAAAATTCCTACGTACACCTGCGAGGCCTCAAAATCTGGTTGTATATGGCATGACATTGAATTTCTAGTGCACACAATAGAATTTTCCGGGAAATTCAAATTTCGCGATCTGATAATGACTGAGGAAAGACTTTGGCGGAAATTCAAATTTTAAAAAAGTAGGCGGGAAATTCGAATTTCGAATTTTCTAACCTTTTTGGCCTTGGTTTCAAATGTTCTGAAAAATAATTTTGGAGCGAAATTCATATTTTCTCAGAAATATCTCAGAAAATTTGAAGTTTCTCCCACTAATATTCTTCTCAAAAAACAGTTACGTGACCTATTTATGTCCTATTTATTGGTCCATTTATTACGTGGCCTAGCGAAAAACATTTTTTCCCCTGCGATCATTTGAGATGGCGTAGAAAACGCAGATCCGTTAGGCCATCAGGTTTACGGGTTATAGTACAGCCTCTTGCAGGGGACAGGTTCAGAAAAACTACAAATTTAGTTAATTCCCTACCTACTCTTGCAAATCAATAACTAACCCAACTGTGTTTCAATCCGGGGAAATTTATTCTTAGAAAAAGTATATCTCCGCAAGTACATATCCCTCCTTCAAAATAATAATAATGGGAGGCTTCTGCTTCTCTTTTTTTAGACCAAAAACTTGTTGCACAGTGCCCTAATATGTACGGTCGTTGAGTTTTGTTGTTCAATAATATGTTGACCGTAATTCGCGCATCTGAAGAGGGGAGGTGTAAATGCTGTGTCTAAATGTTGCTGTCACCTCCAAGTGGTACAGGTGGCCTAATTTGGGAAAACTCTTCCACGACTATATTTCTCAAAAAATTACTCATAAAATTTGATTTTCTCACATATTTCTCAGAAATATTTGAATTCCCAAAATTGTTTAAAAAAATAGAATATCTTGTCAAAATTTTTATCAGATTTGAGTTCCACTAAAATTTTGCCGAGCGATTTTGTTTTCCAACTTAAAAGAGTTTTTTTTTAATTTGACAGTGAAAAGTTATCTCGGTCAGTATGCTTATACATTACAGGTGGCCTAGGTCGCATTATACAAGCCACAAATCTCCCAAAGGGGTATTGCCACACCTAATTGACACCTCCCCGGGGACCTTTGAGCACTAAGTATGGACACCCACCCCTCACCTATCAGCTTAATAGCTGCCTTTGACCGCTAAGGAGCATACCAGCCATATGTTTACTTAATTCTCTCACTCTCTCTCTCGGCTTCTAAATTGAATCTCCCCCAGTCACGCCTCTCGTTACGTGAGGAGTGTTCAACATGTTCCATTCCCTTCTCCGATAATCCGTGTTTTTGGTAGGCAGGAGCGTGTACTAGTAGAGGACATTTGTCGCTTCTTGGCCTTTCGCCTCCATTTTCCTTAATTTGTGACTTAGAAAATCGTAGAAAAAAGCATTAGTTTGTAGGACAACTTTTTATACCTCTGAAAAAAATGAAACTCGGCCACCGACTTTGTCTGTCACTTTTGTGTAGATATGATCACATGCTAAACTGTCGAACCGATGAGGTCAGGGTGGCTGAGTTTGCACTTTTGCGTGTTCTATACCATTTACAGAAGCTAGTCCCCCCGTCATTCTTCTTCCAGCAAAATGTTTTTTTTTGCCTCAATAGCGGTGTCTCATCAACAGCACAGCAGCCAGTTCATATTATTTGTTTTTTGTTTCGTCTTTCGTCTTTTCGGAAACGCTCTATTCTATGACAAGGTGACGTCATTGGACTCGTGGCCTAGAAAGTTTGGCAAACTCTTCCACCATTCGATTACAGGAGCCTCAAAGCCCCACATGGCTAAATCTTGACATTAGAAACATCCATTTTGAAATTTTTCGAAATTGGTGCAACCTAGCGACCTCTAGAACTTCTGACCTAGAAGAAAAAAAACCTCAAAATGTGGACTAGAAACTTTTAAAAACTCTTCCATCGATTTTGTTTTGTGGCGGCGGACGTTTTCCAGTTTGGCTTTTCACATAAAAACCAAAAAAAAACAAGACGTAAAGCTGTGAAAATGATTAGTCACAAAAAGAAGAAAAAAGTGTCGTTACTGCAATTTCATAGATTCCTTCTTGGCTTCTCACGACACGAGGGGGGTAGGGTCTAATTGGCACCCCCCCCCCTACTGAGGTGAGAGAGCAAGCTTGAGACTCACCCGTCGCTCTTGTTTTATGCATTTTTGGCACAAAGTGAAGTGGGCGAAAATTGTAGTAGCTGTGTGTGTGATGTGTGTATGAGCATTTCGATTTTTAAAATAGTTTTTTAATGTACCGCAGGCCACGTGGGTTAAAGTTTTTTTTCATAAAAATAGGATTTGTTTTCTTGCAGATAAGTTTTTCGAATTTTGAAATGAAAAGGATAACTGGGAACTCGGAGAAAAATTATGTTTTAATTTCCAACTAGGCCACGTACCAATGACGATGAGCAGTCGTTCTAGATCACAAGGTCATCTAAACTTTTAGGAAATTTAAAAAGTTGGTGATTACTAGAATTTCTAAGCCACGCCGCATACACCGGCGCGTAGGCGTTTTTACACTTTCTAGACTACTAAGATTTTCCTAGGCCACGTCCAAATCAGGGCTGTTGCAAAAAAAAATTTTCGACCAAAAAACAAAAAACAAAAAATTTTTTGGTGATCTAACTTAAGAATAAAAAACAAAACACAAAAAAACAAAAAACAATCGCAAAAAAAATTCAATGTTTGATATTGAACGGGACAAAACGGAATTTTTTCGTGAAATATTCTGGTGAATTTTTAATATTGAAAAATTGAACGAACAGAAGGTTTCTTGTTAGCTTTTTTGCTGAATCAATTACGTAATCTATTTTTTGGTTGTTTTTGGTTTTTTTTTCTCAAAACCAGCGATAAAAAACCAATCAAATCAATTTTTCCCAAACATACCAAAAAAAACCAAAAAAAAATGCCCAGCCCTGGGTCCCAATGTACAGGTGTTGTGGTGTGTGAGCTCTTAGGCCAGCTGGACTTTTCTTGGCCACTTGTAAATCAATAGCTTTTTTTCGGTGTTCTAGGCCACCTGTCACGCCTAGACCATTGACCTAGTAATGTTGAATAATAAGTCCAAGTACTCACATACCCGCAAATGCACATATCTATCTTCATTTCGTGATCTTATCTCTTCATCTCATCTTATTTTCCATTTCGGTTTACCCTTTTTTTCTCTATGAATATATTTTTCATGTACTCGCTCTTCATTCCCTCTTTGAAAAGCAAGATTCTTTTACACTTATTTTTCCTTAGGCAGTTGTAAAGAACTTGTCATTAGAACTTTCAACATCAGAGTACGATGGCCGAATTTTTTCTAGGCCCACGGCTTGGGAGCCAAACATGGCTAAACATTCACTAACTTCCTAGGTCATCTAGAAGTTTCTAGGTCTTATGGGTGAAAATTGGCAAATGACAGAATTTTCTTAAGTAATAGTTGAATTTCCCGCCAAACCGATTTTTTTTTGATAACATTTAAATTTCCCGCCAAAAATTTTTTGAAACTAAATTTTATGCCACACTTTTTCTGAGAGAATTTGGTTTCGCTCCCAATTTTTCTCTGAAAAGTTTAAATTCGCACCTGTGTAAATTTTTCGAGAGCTTTTTGAAGTTCCCGGCAAAATTTCGAAAAATTAGACCAACCTCCCCGACCGTCAACTATGATAGAGAAGTGTCCTCTGTACCCTGGCCGAATTTTCAATATATTTCTAGACCCGCCACATATTGCCAGCTAAATTATGTTGTGGAAGAGTAGTGACGTCACTTGGCGACCGCGACCATCGAGGAGCGTGAGGGGAGATGTATCCCGGCCTTCCCAACCCTAAAGACCTCGCTTATCGCTCCTTTTTGTTGTATCCGTTTTTTGGTGTCTCGATTCGTTTTCTCCTGTTTGTTGTCATTTCTGAACTCATCTCTACACTTCTCTCGTCTTCTCTGCGTCTCTCCATCCTGCACACTATTTTTTACCTCGATGATCTTTCTTATTGCGTGTGTGTCACTGACGAACGAAAGGCTGACACAGACTATGTATTGTTTGTTTTGTTGTTTAGAAGTAGTTGTAGTATTCCAATCGTTTTTCACACTACTTTGCATTATTTCAGATGGCTCAGGACGGGCCATCACATTTTTGTCAGGCTCCGCCGCCGCCGCCACCTTCCTCGTGGATTCCAGCTCCATCGCAGGTAAATTTAAGGTTGCAAGCGCGCTATAATGACCTTTTTTGTGCCTACGCCTCCTGGGTTATTGCCAATGCCCCCCAATTCGAATTATTTTTACTTTCAGCCAAATAGAAAAGGAGCCGCTCATCGATGAGGAAACTGTTATTTACGAATCCCGAGCCACGTATTGGAAGGGATGTGAATGAAGGCCTCTGGCTCGTACGACTCGAGTAAATGTAGTGAGTTGGTCTAGAAAATTTGGTAAAGCTTCCACGAAGTAATTAATTAGGGATATTACTGCCGACACCCAGGAACACGTATACCACGGCAAATTTTAATTTTTTGAAAATATTTTGGCGGGAATTTAAAATTTTAATATGAAGATATTGATTGGCGGGAATTTAAAATTTAAATTTTTTGAGAATATTTTGGCGGGAATTTAAAATTTTAATTTTTTGATAATATTTTGGCGGGAAATTTTATGAAATTTTTTGAAAATTTTGGCGGGAATTTAAAAATTTTTTGAAAATATTTTGACGGGAATTTAAAATTTTTATTTTCAAATTGGCGGGAATTCAAATTTTAATTTTTTTAAAATATTTTTGCGGGAATTCAAATTTTAATTTTGAAGCTTGAAAATATTGGCGGGAATTTAAAATTTTAATAATTTCTGAAGGTAATATTTTGGCGGGAATTTAAAATTTTCATTTTTTGAATATATTTTGGCGGGAATTTACAACAAATTTTAAGATACTTTTTTGAAAAGATTTTGGCGGGAATTGAAAATTTTATTTTTTTGAAAATATTGCGGCGGGAATTTAAAATTATAATTTTAAAATATTTTGGGAATCTAAAATTTTAATATTTTGAATATATTTGGCGGGAATTCAAATTGTAATGTTTTGAAAATGAATTATTTTGGCGGGAATTTAAAATTTGATGTTAATTTTTTGAACGGAATATTTAGGCGGGAATTTAAAATGGCTTTTAATTGTTTTGATGAAATTATTTTGGCAGGAATATAAAATCTTAATTTTTTGAAAATATTTTGGCGGGAATTTTAAATTTTAATTTTTTGAAAATATTTTGGCGGGAATTCAAATTTTAAGTTTTTGAAAATATTTTGGCGGGAATTTAAAATTTTAATTTTCTGAAAATATTTTGGCGGGAATTCAAATTTAGATTATTTTTTCTGTTTCTAAATATTTTGGCCGGAATTTAAAATTTTAATTTTTCTGAAAATCATTTTGGCTGGAATTTAAAATTTCTGAGAAAAACCTTCGTGTCGAGGCACTCGGTGAGACCCTTCGTGGTGAGACCCATCGGTGACATCCATCGGAAGGTGGTGAAAATAGACCTTCGTAGTGAGACCCTTCGTGGTGAGACCTTTCGTGGTGAGAGGCTACCCATCGTGGTGAGACCCATCGTGGTGAGACTCATCGTGGTGAGACCCTTCGTGGTGATACCATCGTGGTGAGACCTTTCGTAGTGAGACCCACTACGGTGGTGAGACCCATCGTGATGAGACATCGTGGTGAGACCTTCGTGGTGAGACCCATGTGAGACCTTTCCTGGTAAGACAGGTTTTCGTGGTGAGACCCTGCATCGTGGTGAGACCTTTCGTGGTGAGACCTTTCGTGGAGAGACGTTTCGTGGTGACGTAGGACCCATCGTGGTGACACCCTTCGTGGTGAGATCCCCATCGTGGTGATACCTTTCGGCGTGGTGAGACCCATCGTGGTGAGACCCTTCGTGGTCAGACCCATCGTGGTGAGCAGACCCATCGTGGTGAGACTCCCTTCATGGTCAGACCCATCGTGGTGAGACCCTTCGTGCTGAGACCATTCATGGAGAGACGCAGCGTTGTGAGACCCTTCGTGGTTAGACCCATCGTCGTGAGCTTTCGTGGTGAGACCCATCGTGGTAAGACTCATCGTTGGAAACCCTTCGTGGGGAGACTCTTCGTGGTGAGACCCTTCGTGGTTAGACCCATCGTGGTTAGACGCATCGTGGTGAGATCTTTCGTGGTGAGGATTCCCCATCGTGGTGAGACCCATCGTGGTGAGATTTGGTGAGACCCATCGTGGTGAGACTTTTCGTGGTGAGACCCATCGTGGTGAGACTTCTTTCGCGGTGAGACCTCCCTTCGTGGGGGACTCGTCGTGTTTGATATTAGGCGAGGAGCTATGGAGCTGGAGTGGGATAATGTCAAGGTACTATAGGCGTCTTGTGGATTGGCTGTAGGGTTACTGTCAGTTCAGAAAAATTGACTTTGTGCTTTTGAAGAGGTATTGGCTCGAGAGTTAGAGACGCGGAAGCTTCTGTGTTTTTTACATTCAATGTTTGAAAAAGTAATTTCCAACAGTTTTCATGTGACTTGAAAGATTAAGATATGCGGTGTTTTAGGTGTCGAACAATTGAGATTTCGGCAGTCGTTGGCCGCGCCGTGGGCGCGGTCAGCGGCTGGTTTTTCCAGAAGAGGAATAAGAAATTTTTGTGGAAGTTACTAGGACCCTGAATAGAATTCTAGGCCATGTCGAAAAAGGGGCTGGGTGCACGTGGGAACCTTCGAGTGTTTGGATATTTTGGTAAGAAGTAAGAAGAAGGAAGGTCATAAGAAGTTGTTAAGAAATTGACTTTTCTAGAGTAAGAATGACTTTTCTAGAGATCATCTCCCCCTATTATTCACAGCGTCACCTAGTTATCCGGAAAACTCTTCCACCAAAAAATGTGCTCGCGAGTCCAACTGAAAAATGCGTCATAAAACACACGGAAAAGGTACTTGTGTATTACATGCCCTCATTTTAATAGTAGTTTTTTATGAAATAAAAACGTGAACCATAATTTGAATTTTTAGGCTTAGGAAATAACATTTTCTAAGCCTAAAGAGGAAAATGTGTAATACACAAGTACCACGGATAATTTTTTGAAATCTTCCGAATTTGAAATAATTTAACTAAAACTTTCTAGGCCACGATGAAAATAGAAACAATGTGTCCCGATTATGCTGAAAATTTCTGAGCTTCCATAGTTATATCGAGTAAAAAGATTTTCGAGAAATGAGTTTCTAGGCCACCAGAAAAGTTTCTAGGCCATGATCCCTTCTTGATCTCGTTTATCATTAGGATTATGATATTTTTTCAACGATTTTTTAGGCCACCAGGCGCAAGGGAAAGTCCGTGTCAAAAAAAAAAGAAAGGGGGTATTCTGCGTTTCCTCGTCACGTAAAAATCCCGTTGGCCTTTTCAATCAAATTTCTTCAATTTTTCGCATAAAACTTACCTCCGGCTGTGACAAGCCTCCTCCCGTCTCCCAGTATTCTCAATTAATCATCACCCCCAATGCCCTCATCCAACTACAGTATCCCTGCAATCCCCGTCTGCAAATATGTGCCGAATATGTCATACTTCTACGTCAAGACTACGCAGTCAAATCCGCTCATCTAATCACCGTGTCGATGCTCTTGGGAACACTGCTCTGTGTGCATCGTGTGTTGTGGTGAGCTCTTTCTTTGTAAAATTCAAAATAATAATTAAAACTTAAAAAAGAACGTGACTGGAATTTGCAATATAAAATCGTGGCTCTATACAAAAATTCAAGTTATACTTCCACATTGTCGTTCCAAAATAAAAAGAAATAGCCAAGCCTACAAAATGGGCGGCGCTTTCATAGCCACGTCCATTTTGTGGGCGGAGCATCAAACTTTTTTCAAAACCCTACTATAAGTTGAACACGGATTTCTGGCTTCCTCATCATAAATCGACAATGGCTGAGTTTGACGAACTAGGCCATTTTGGGTCGGAGACATTTTGTGTAGATTTACGGCGTGTTGCGTGTCGCGTCGCTCGTTTTTAGTTGTAACACTGCTTGTGCCGTGTACATGATTCCAGGTTTTCTCCACGCGCTGTCCCACGCGTTGTCAATGAGGAGCGTAAATTCAATGCGAACAGAAGCCCGTGGTTGAAGTTTGTTTTCAATACTACAGAAGATTTTAAAGAGGAACAAACAGCTCATGTTGCCTGGCTACAAAATGGGCGGAGCGTTGGAGGCGTGGTCTAAGAAGGTGGTCATCGCCCTTTTCTTTAAATACTTGTTCTGATGTACAATAGAGCGCATTTACATCAAATTAATAATTAGTTTTTTAATTTTTCCAGATGGCTGGAAACATATGTCGACTCGAAAAATGGGCCCATCACCACGTTGCGAACTATTCGCGGCTACGATTATCGACGTGAAATTCGGCATACTTCAAATGAAAACATTACATGTTCCACACGTGGATCGATCATCTTGTCTGCACAATTTATGGTGCTTTTGATCAATCGTATTAATTATGATATTTTGGTATTTTACGATTCGATTCATTCAGGAGAATCCTAGTTAGTCCGCTCTTAAAACGAAGGTGGGCGAAGTTTTCTGGTGATGACCTAGGAAATTGGAAAACTAGTGCCACCCTCGCAAATGTGGCTAAAATAAATTTGACTAATGGCCTGCGGCCTAGAAAAATAAAAGTAGACAGTATATAATAAAGTCTCATCAACCCTTTTGGAGAATGAACTGGAAACCCAAATTTTTAAGAAAATATTGACCTCCTTTAAAACGGTGGCCTACTTTTTCTGATGGCCCTAGGTTTTTCGACCAAGAAGCCACACAGCTCCATAGTTTCAGGAAAAAAAATAAAATAGGCTCCGCCCACATCTTCTTGCACGTTGAGTTAGAATATATACGAGCCATTTTTGCTAAGTTTTGAATGTTAGCTCCGCCCACATAATGATTTGAATTTCCCGCCCATTTTTCTCTCAAAAATATGAAGTGCCTGCCAAATTTTGCGAAAAACTCAATACTTTCAGGCTCTTCGCGCACGACAAACAGCGTACACGTGGAAACGGCTTGGCTAGTTCAGCGGAAGCGGGAATGGAGACGGGCGGTAGTTCGGACGGATATTTCTCGCGTACACCTGTCTCATCACTTTTCGACATAAAAGTGGTCTTGTGTGCCAGCATGTTCTTGGTCTCGTTCATTTTGGCCCTTCATCAGTATAAGTGAGGGCTTTTTTGACACGTGCCCTGGAAAATGATAAAACTCGGCCACCTATTTTTTCAGCCGAATTTTTTTAGTTTTTAGCGGTCACACGGGCTTCTCATTCTCTCTGCATTGCAGTTTCGCGCTCCATTGGCACTGGCTTGCCGGACAACGTAGGAAACTCGTGTACTCCACACGATAAAATTGTTCAGTTTTACATTGAAAACCGAGCCGTGACAAAGGTCGCCGTAACTGTACCCCGGCCGTGGCCGGTGAGTCAAAATGGCATAGTTCGGCAAATTCTTGAATTTCAAAATATGATGGAAGCCTGATAGAGCACGTGCGGTGATAAAAATGAATAAAGTATCCTGTTTTTTTTTCCAGAGGCGAGTCCACGATATTCCGATGTATTTTCCGATTCGCTTTTGTGAGCTCAATAAGTATCGGCGCGATGATCAAAAAGATATCAAGTTCTGAGTGGGCGGAGTGTATCGGCGGGAAATTCAGGCAACTTTGATCTTTCAAAATTTTCATAAAAAATTCGCGCAAAGATCAAAAACTCAAAACTTTCGGTTAATTTCGGCGCGAGATTCAAAATGTTTTTGGGAAATTTGGGAAAATCTAAAAAACGTTTAGGCGTTTGAAATTTTTTTAATTTTCAGAAATGATCCTGGAATGGCTAATCGCCGCGGTCTCCTGAAGTCTTCATATCACCCGTTAACCGTACTTCTGATATGTGTATCCGCGTGGCATCCTAGTCATCTACGAAATAAACCATTCGCTCAGTTACAATTTCTCATTTCTTTACCACTTTCGGGTTTTTTGCAAATTAAAAAAATTTCGATATTTTTTTTGAAATTTTAATTTTCCAATATTTTTATTCCACAACTCAGGTTGCTCAACTGTGCCTAAAATAATTTTTATTTCTTTGATTTTTTATAAATTTAATACAATAAAAAAATAATATTACACATTCGTGAAACACGGAAAAAAAATTCAGCCTATTTACATTAAAACACGTGGAATTTGAAATTTTAGCGATATATCGATTACCCCTTCTCGGAAAACTCGTAATAAATGTGAAAAAGGCGAGGAAATTGGAAGAATTAAATGCGGGTGTGGGTTTCTAGAAAAAAAAAAGAAAGTAATTAAAGAAAAATTCAAAATAATGCTCCGGTGTCATCGTGTTCCACAGTGGTTAGATTCTGGTATTTTGTGCTGATGGTGTGCTCTGAAATTTAAGAAAAAAGTAAAAAATTGAAAAAAAATTTCTTAAAATAAAAAAAATGAACTTGTTTTTAAAATTTAGATTCAAAAATAACAGTTGATATATTATTCATACATATGTTATCAATTTTAGAGAAACTTCAATTTTTCAACTGACTAACGTATACAAATCTACTCGAAAAAGACCTCGGAACTAGTTTCTCACTTGGTGGCCTAAAAATCGCCACTAAAACCATCGACCAATATGAGTTTGTAGGCCTCCATATGAAAAAAAAACTCGATCGGGGACTAGGTTTCCACATGTGGCCGATTATCAACTTCAAATGTTTTGGTTACCTAGATTTGTCAGAACTTGGATTACTAGTCCACTAAAAGATTTTCGGTGGCCTAGAAACCAAATTTGCGTGAATTTTTCATAATTCTATATCAATTGACTAAACCGAAAATAATGCGATGCTTATATTTCATCAGTTGGTGACACTATCCCACGTGGCGACGGGATTACGGGCGACCGTGCCATTGATTAGAGCCAAGGGAATTTTGAGCATACTCGTCGGCGGTGCACTTGGCGCAAAAATTTTTTCTCTTCCGTTAAAGACGCATGGTGGGTCTTGATCTAAGAAATTTCGTGATTATTCGAAAATTTTTTCCTTGTCCTTATTGACAATTTGTGTTTTCACAAAAAAGGCGGAAGTCCTAATTGCCAAAAATGTAGGTTTCTAAACTAGGCCACGAAAAATAATTCAGTTTTTTGCTTCAAACATCCTGCTTTTTGTCCAAATTTCGCTTTAAATTGGAAGTGGTGTCCGAACATTATTAACAAAAGTTCAATTTCTAGAGAACATCACTTTGTTCTAATGGGTATTTCCTCACATTTGGATTTCTAGCCCACAAATAACGTTTTTATTTCATATTTTTATAAAAATCGAATTAAAAGTAGATGATGACCTAGTTTTTATCAATAATTTGGGTTTCTCGGCCACCAACTTTTTAAACATTTTCTTAATTTTCCATAACCAAAAAAAAAAAACAAAATCGATGGCCTAACTTATTGCGCTTCCTAGGCCACCAATAACTCTTTTATTACTGATTTACCTCACTCTATGATGTCGATATTTCTAGTCTCGACTATCGCTTCCCACAGCCATCACACTCAAATGCTCCATTCGTCTCATGAGTGAGCGAGTGTTGATTGAGCCCATGCTTCGGAAAGTTTTCTCGCAGTCCGTTATAAGGTTGGTTCCATTGTTGGGCTGGGGTGAGCCGACGACGGGGCCGCCCGTATTGTCGCCCTTTTCCCGGTTTTTTCCGGTGAAAAAGTGTCGAAATAAACGCGTTATTGTCGTCTAATTTTGGTACATTCGCCGACATTGCGAGATTCTCCTGAGCCACTGTGACGTGTAATGTGATGGTGCTGATAGAGGTCTGGTGGTGGCTGAAAATGGGGAATATTCCCGGCCCCGAACATTTTCAGAAGTTCCAGGTCGAATCGTTGTTGAGCATCCGCGTCGACTACTTGATTGAGGGAGACGGTTCAGTTCAGGAGACTGGTGGATGGCAGTTTTATAGACATAAATCCTGCAAAAACTCAGGTTTGTTGCTAAATTTTTCAATTTATCATTCTCATTTCCGAAAAATTATAGCTTAATTTTAATAGATTTTTCGCTTGATTCTCAATTTCTCGAATAGTTTTGTGTCAATTTTTTTTTGTTTTAAATGTAAAACTACGGTATTCAAAGGGAGGAACACTAATTTATCCCGATGGGGCTCGCGGCGAAAACATTAAGTGCCTTAATTAAGCCTTGCGCCTGGAAGGTAACTGTAATTTTTATTGATTTGATCGATTCATTTCATTCAATTTGTGGTTTTTGAAGGTTTTCAACCCATTTTGAAAGCTGAAATTTTAGATTTTTATTTCTGACAAAAAAATTTTAAATGTTAAAATAATTTTTTTTCTTTTTCACACAAAAATTGTAACCGAAAATTCCGAAAAAATGCAATTTAAACAGCTCTAAAATATGAAAATTAACGCGATTTTTATCATTTTTTGCTTCAACTGACTTCTGGCAAAAAAAGGAAAATTCAGCAAAAATCAATTTTCCAGAAAAATTTGATTGATTTTTAATTTTTCTTAATCCGTCGTCCGTACCGTATGTAGCTTCATCTAACACCTTATCCAGCAGATTGCTTACATCTAATTGCACGTGGTTGCAGTTCTGAAAAAAAAATGTTTTTGAGTTTTAGAAAACTTATTTTGTAAATGTTCTAGGTGGGTTTTAATTGTATAATTAAATCAAATTCTTATTCAGTTTCTCCCATAAATCGCTCCAATTCCGCTTCTGATTTTCCTGAACTTTCTCCACTTGCCATCACGGCCAAATCCTGCTGCTCACGCAAAAATTATTTGACAAGACACGTTAGCTGGTTTACATTATAGATTGCTGGCATTTTTATAATCTGAAATTTGAAATTAAGGATTTTAGTTATTTCCGCAAAACGTAAACTTTTATCGCTGGGAAAACTCACATTTTTCGAACTTCGCCCCAATAATCGTCTAGTGAATTCTTGAATAAACCGTTTGCTTTCTTGACATAAAATTCTGAAATACCTCATTTCCCATGAATTCGCCCATTTTCCCATGGAAGAAAACCAATGGAAACACGGAAATATTTGCGCACAAAATCGATGCTGAAGTGTCGTCGGACCCAGTGTTTCGTGTGCAGTACACGCCTACGACAAATTGCGGACTTTTTTGTTATTGGAGAGAGTAGAATAGAGAAGAAAAAAGAAGATAAAATGGATAAAAATTGCGCGTTTTTCTCATTGTTTTTTCTCTGAATCTCTCAATTTTTAGGTTTTCGGTCCATATACGTCCCGAGTGGAGATGAAGCGATAAATTTTTCGCTAAAAGTTTCTTGCCCCTCCAAGTCGCTTATTCTTTTTTAATATGAAAAAAAAATGCTAAGATGCTTATCAAACCGCAAATTTTTTATTGGAAAGTCCCCAATATTTTGCAATTTATTGCTCAGTTTAAATTCAAGGTGCCATTCTGCAAAATTGCATTCATCTTCATATGTTACATTTTTTAAGTAAAAACTTGAAAACTCTGCTTTACATAATAGTACTGGAATTTTTCAATTTTCAACATTCAGGATAATCTTTGACCATTTTTTATTGAAATTTTCAATAAAATATTTAAAAGATGTGGCTTTCCAAGCAGATTTTCCAATTTTTCCGAGTTGAGTAACTAAGTTTCAACCAAAATGATGTCACAAGTCAGAAAATTTCCCTAAATTAAACAAATGGTGAAGAACTTGATATAGGATTAGAACAAAGATTGAGTCTTGAGATAATTTCGGACATTTTCGGAAAATATACGTTTCCTGTAGTTTCAAATAGGCAATTTGACTTAAGGTTGCTAATAACATTAAGAAAAATCTATAGTCTCCACCCAATTCAGATTGGTTTTGTAGATATTTTCAAAATATCGTGTAACGAAACTACAGTAATGCCCACTTTGAAATTAAACTTAATCCTGTATTGCTTTTGTCCATCTACGGGCTCGATTTACGAAATTAAATTTAATAATCTTTAATCTATAGAATATTAAAATTAAGCTCTAAAAAATGAGAATATAATTACGTAGAAATGAAAAATGGAATCTCGGTGTAAATATCCGAAATAAATTCATTTAGAAAATCGAGCCCGTAAATCGACGTTACGAAGAATTACTGTAGTTATCGCTACGAGATATTTTGCGCGTCAAATATGTTGAGCAATACGCATTTTAAGAATTTACTGTTATCGTAATAGTTCAATTTCGAGATAATAATTCCAAAAACAATTGTGAATTTAAGGTTTTTTCCGTAATCTAAAATTGATTATCACTACACTGGACACTGTTCAAACTTAACCATTCAGAACTTGTATAATCCATCTCGGATAAATTGTTGGTGAGACAAAGTGTAATCTGTTCTAGTTGGGTCACACGATCCCTTTTCCACTCACATCGCTTACCCACTCAACACTATAGACGATACACTCACACAGGAAATAGTATTGTTTACCTGTTTTCTTCTGGACACTGTTTATAACTTTTCCCTGTATCTCCGTTTCTCTACCTTTAAATTTATCCAAAATTAATAATTTTTTAACTCCACATTCAATACTCATTTAATGACCGGTATTTGCAGAAAATATTTTATTTTTATTTAGTTATTACAGGAACAGTATACTCTAGGAATTCGTATTGCACAACAGATTTGACGCGTATCACGTTAGCTGGCATAATATTAGGCATTGTCTCTACAATCTTGTAATGTATAACTGACTCTTTGAAATAAGTTTGTAAAAATTGTGAGTAGGAAAACATTGTGCATGGATGTCGCGTTTCGCGCACGCGCTAGAGTAGTCATAAACCGCAAGATTACTGTTGTTCTCGCTACGAGATATTTTGCGTTCGGCGTCAAATATGTTGTGCAGACATTTATGCATTCCTCAGAATTTTGTGTTCACGTACTAATAAATTAACTTGTTAAAAGATATAATAAAAAGTGTTAAAAGATACAGAGATCTTTTCTCCCTTCCCTAATATGTTTAACTGCATATTCAATCATCTTAAATTGTGCCGAAAATTTTTCGTTGTCCAATTGTTCGGAATTTTTTCGGTTTTGCTCGAAAAAACCAAAAAGCAAAATTTTATAAATTTCCCTGGTGTTCAAAATTTTCCCGCAATTTTTACCGATTTTATTTGCAAAATATTTTTATTTATTTGAGTTCCCCCATGTCACACCGTTCGATGTTGGAGAAATGGAGATAATTCCGCTGCATTACGGAGCACGTTGGGATTTAGGACTTGACGTCTTGGCGAAAGGTTGGTAGATTTTAATTTGTTTTTTAAATCCTGGCCTTGCACATTCTAGCAGGGAGACGTCACTCTGAACATTGTTCAACATATGTAAATTTTAAATTCAAACTACTTAAAACCCGGAAATCACTTTGTGTCAGATACACAGAAATAAACAAGTTTTACCTTTTAAAAAACTTAAAACCATTGAATTTTTCACAAATGTTCTTTGAGACTTGAGATAATCTAAATCCCAAACTTTTGGAAAAAAACTGAACATAGGTAGCCTAGAAAATGAAAATTTTCAATAGTTGTGTTTTTCAAGTTCAAAGAAAAAAAATTGAATTTTTAAATCGTTCTTTTTTTGGCTACAAGTCAATAATGATATTATATTTAGTTTTTAAGAACATTACTAAAATGAGTGCATATTTAAAAAAAGTGTTTGTTTCGGCGAAAACAACTATTAGTAATTCCGTGCACTGCAATCATCAGATTAGTGAGGAATTTAGTTCTATTTTTTGCTTGTTTTTCTGTTTCAAAGTCGTTTTTTCATGAAAAATAGACCTTAGCTACAGGTTCTTTTGAGAAATCCCGCATTATTTCAATTTTCAATTTCATGATGAACAACGTTTTTGGTAACACATTTAATTCTAGTAGAATATTATCAACTTTTTCTCTAATTTTTCAAAATTTACACTGTTCCTAATAGTTTTTCTGATCAATGAAGGACTACCATTTTACGACAATATTGCCTTCAATTTTTTCTTCTGAAAATTCGAAATTGATCTGAATCAATGGTGCCGGTTTTCTTATTTCATCCCTGAATAACGAAATTGATTTTTATTTATTTTTCAACAATTCCCGGAAATTTCTCTATAAAACAAATGAAGTGAAAATCGATTTTTTTACTTCGAAAGTTAAACATGAAATTCGATAAATTTAATCTATGATCTTTCAAGCTCCGAGTTTGAGGCGGGATGTTGATAATTAGAGATATGCCGGGGGAGAACACGACTCTCCAATTATATCTTCGGTCGAGAAATAATTTTAAACATCAATACTATACTAGATTCTAAAGAAAACTAATTTTTTTCAATAAATAAGTGTTATTATTATTCAGGAGAATTATTTTGCTTCTTGCTCGAAAGAAAATAAATCCGAATCAAAAACCGACGCATTTACAAGTCCTGAATTTTGTAGTTAGTCAGAGATAGATTTTTATTTAGCCTCAAATTCTAAGAATTCAGACCTGGCTATTTGCCGAGCCTAGAAAATAGAACAACTAGGCCACCGATCGAAGATTTTGTGTTTTGCCGTTGTCAGGCTACTGGCCTAACTTTCTCTATCTTAAAAGATTCCCAAAGTCAAACTACTGGCTTTCCAAAACCTTAATGTAATGAACTTGTGATTCCAAAGATCTGATGTCAAGAATGTCCATAGTTCATATATACTCCAACGACACTTTTGGAATTTATTTTAAATCTTCATGGTTTTCAAAAAGAATCCACCAAATTATTAAGCAACGGGGTTTTCCTTTCTAAACAATTGTGTGACACAAATCAAGGAATTCTCCGTCACTTTGTACAATTTTTCTAGTTTTGGTGATTTCCCCTGATGAGCTCAACGCCAGGCGGAATAGCTCTTTCCATGCAGGCGTTAAAACGCCTGCCTGCCTGACTTTAAGGCGGCCTCCGCCTGCCTAACGCTTTAGTCCTAGTCATGTGCTAAACCATACATGAACTATTTTTCTAATTCTTAGTGTCTTAAAATTGATAAAAATTAGGAAAATCCTTTTGAAATCTGAACTAAATTTCAAGTAAATGGGCGGCAAACTTTGTATAAAAAAAAAAAGAAAGCTCGCCCACCACTTTTTCAAAATTTCTTGCCGCTATCTTGACTCGAAGGCGCAAAGCCCTAAAACTTTAGAAAACATCCCCGAACAAAAAAGTAATACATCCTTCAAAGTGTATGCCCCCCCGTGTATATGTCACCTGTAGACTCGTCGAAAACGTTTGTGCCACCCGGCTCTTTACCTCGTCTCCTCTTACTCATCATTTTATGCCCCCGTAGCTTTACCGTCGGCTAATGTGGTTCTTAGGGCGTAGGACGCCATTGATTTTGCTCTTTTCAAATTTTAGAATTTATTTCCCGGTCTGATTTCACTCAATTATCAGACACCACATCTTAGTTTTTTGACATGTTCAATGCTGGAAGCAATTTTCGATTTTTTTATCGACCATGGCCTACAGGTAAATTACGGGTCAATTTCCTGAAACGGACGAACATTTTTGAAAGCAAAACAGTTAGTTTCGCTAGAATTTCTGATTTATCGAAATAAAATCGGGCACACCGAACAAAAGTTCGTTTGTGTCAGGAACTTAACGGTACGCACTTTTGCTCGGACAAACCACGTGTGGCTGATTCAAAAATGTCCAACTAAATTGACGTCTTGAAAACATTTTTTACCTGAAAACCGCTAACAATGTCAGGTTAATCCGATTCAAGCGCTATTTTTATAAATCCTGAAAGTTTAAGATTCCACACGTTGTGAGGGAAATTGACACATTTTTAGAAAACCTGACCTCACGGTTAATTTTTAAACACTTCGAGGGCCCAGAAATCCTAGTTTTTTTTCGGGTTATTCATAGTTTTTCTAGAATTTAATTCCACATCTACATTTCTAAACAAAACTTTTGAAGGTCCTTGTAATTCTTCTCTAGTTCTTTATTGTTATGTCTTCTCCAAACTAGGACGAAGCGATAATTACGGGGTTTGTGAGGGAAGTTTGTCGTCGGTCCATTTGTTTTGAAAATGAGAATCGGAACTTTCCTGTCTCCCGTAGAAACCAATTAAACGACAACTTTTTTTTTTCATTTCGTTCATTTTGCAGGCATGCTAGCCTCGTCTATTGGAATTGTTTTGTGAATGCTAGTTGTGATTAAAAAATTAATCGATTTTTTTGTAGTATGAGTTCAAACAAGCCGAAAAAATAGATCAAAACTGAAAATTTTATAAGAAAAATTTCCGTATCTAGTTTTCAATTGGCCAACTTATAATTTATATACTCTCGAAATCAAAAAAAAATGTACTTCCTATATTACCCACAAACATCGAAAGGGAAATCCTCTATTCCCGTCAATTATAAGAAATGTGAGAAAATCTTACTCGATTCATGGTTGCTATGAGACAGATTGCAGATGTTTCACCGGATAAACAAGACGTTATCATTACTTTTCAGTAATGCTCGTTTATTTTTCTATTCCATTTCTCGAATTTTGATAGATGTTGTATTATTTAGAGAGCACTAAATTCTAAGAATGCCATCGTATTGCGCAACGTATTTGCATGAGGCACAAAAAATCTCACAGCGAAAACTACATGACGTAATCCTTTAGCTACTGTAGCGCTTGTGTCGATTTATGTAAATCTTGTCATATATTCGTCGATATAAATTGAAAATTAAGATAAATAATAGATAAGCGAAAAATTAATATCGAAAATCGAGATTCCGTAAATGGACACAAGCGCTACAGTATGTAAAGAATTACTGTAATTTTTGCTACGAGATATTGTGCGCGTCTAATATGTTAATACGCATTTTTAGAGTTTTGCCTGATTATGTAATGCGTATTTCCTCTGCATGCAAGACTAACGATTGGTCTGTAGAGGTCAGTTGGCTGGCTGACTTTTAATACTTATGTTCCTTCAAATGTTCAAGTACGATTAGGAACCCTTTCTCTCATTTCACTAGTTTACCTTAATGTGTGTCTTTGGCTAGCTGAGACGATCATCATTTCTTTTGTTTGTATTTCGCAGGAAAATTGTGAAAAAAATTGCAAAAAATTGAGAGCAAGAAAAGTAAGTGCACACCGATTATGACTCGTTGTACCACGATTTCCCCCTTCGTTTTCCCTCTAATTACCTATACGTATAGGATTAACTAAACATGATCCCGGGGATCACCAGTTCATAGTTTCCTTATCAATTTTATATTACTCGTATGCCTTCCTCGTTTTTTTTTCTAAAGCCATGAAAATGTATCGCAGCGGGTCGTAGCAGGAGCACAATGTACTCGAGCTCGTCACGAAGGCCGTACGGCTGGTTCCGCTTATTAAATGGTTAAAGAACTGGGTCTTGATTCCTACCAAATTCATTTTGATAAATAGTCCCTATAGATCATGTAATAATATAGGTTGACCCTACCGTGTTTTCCAGAATAAAGTTTTACAATAAACTTTATAGCATGGGTGTGCGGCAACGATTTGGGCGACTTCCGTTTTCCGAGATCAAATCCGAGTTTGCTGCACACATGAAAAATGTTTAATTAAGATTTTGCGCAAAATGTAGCCCCTGGTTTACACCTTTTTACGATATTGTGAGTACATTCGAAAAGGATGTTTTGATTGAGTATCCCCAAATCAAAAAAGAAAGTTGATGAGAATTTAAAAACTTTTAAAGAACACATTTTCAGGCACAAGGCCGAACGGCAACCGACTACGCGGGTCAGAACTACGAAGAATGTTATGATAGGTTAGATTCTTTTTCTATTATTCCATTCAGAATATTACGAATTAATGCTTAAAAAAATTTCAAATTAATTTTCGCCGAAATCATCTGCGCCTTAGCTCCACCCAGCTCTCTAGATCGCAACCCGCAATAAAGCCCATAAATCAATGGGCAGCTGCTGCATGGTCCGTAGTGTATTAGTCTGTCGTCTGTCCGATCAGTGCGCTCCCGATAATACTCTCCATTTGTTTCTCGCTTTTTGTAAACTATGTGGTCGACAGACCGTTGAAAGTCGTATCAATTGCACTTTTGTAGTTACCGATAAAATTGCCCAGATCGACGAGTTTTCCATAACAATTTCTCTTCCATTTTCATCTAACATCTGTGACCCCGCTCATTAGTGTTTCTCTAGCCGATGCTATTCCAGGTTCCCATGGCAATGTGTACATGTGTGCCTCGTCGAAAGTGAGCCAAAATGCTCTTTGTATTAGGTTCATTCATCCTATGTTTTTTGTCCTCAGTGACCTGCAACTGCGCAGAGTTAAATATTAATTGGCACTGAAGAGAGGCCGCTCGGGCAAATAATTTTACAAATTGATTTATATTTGAAAAATGAGACACTATGTTATTATCGCCGAATTCGTTCTCTGAGTATCGCTGCGTTCATATCTTTGCACAGCTGCTCTATGAACAATTAAAATAATTTGTGGGTCCTGTAACGAAAAACCCGAAATAAGTCTTGCCTATACAGGAGTTTGTGGAAAGTTTTCAAAATTTTTGATCAACGAAGGAATTTGGAGACGTAATACGATCACTAGCAATCTGAATTTCTACTTTTGTGCCCCAAAATGCTTTTTTCATAAGTCCCATTATCCAAAATCCGGCCACCTTGCTAATCATGATGTCCATAATAGGCATTGAGGCAAATCTAGCGCACTTTTTTGTCCGATGAAAGACTTTTTGATAATACCAAGCTTAAACCTTATTCATATTGCTTTTAGTAATCCTATAAGTTTTGTTTGCAGTGGTTCAGAATTGCCGAACATTCCAAATTTTTTGATAAAGGTTTTACATATATGTTGAGAAAATAAACTCAAAAAAATTAACAATTAGTTCATACGTTATTAATTCCAACGAGTTTTAGTGTAAATATATATGTGGTCCTCTATATATTTTGCGTATTACTATTATTATTGATTCCCTCCAAAGCTGAATGTCAGTCTCAAGACTACCACGTACTGCTCAACTGTGTTGATTCCCTAGTATTTTCAAACGAACAAAAAGTGACAATACAGTATACTTTAAACTAACAAAAAACTTTGTCGAGTCTATCGATCAAACTAGCGAAATCCGCCCGTTAAATCGGTTCTGTTTCCCGCCACCAACACTTATTGTGTTTTCATAGCTTTAACTCTTTGACGGAATTTCCTTTCTTCCGATTTTTCAAGCGATATTTAAGCCCAAAACTTACTTCAAAGAATCTTAAAAGGGATTTTTACAACACTCTGGATCAGATTTTATGAATTGTTTCATTCGCAAGAGAAGAGCGACTCAGTGCTATAAATGGAACATTCACCACACTATCTCCACATTTCATCTCTATTAATTCATACAAGGACACTAAAATAATCCCGGCCCACTTGCTCAGACTCTGTCTCGCGGGGGACAAATTTGAATCCATTCTGTCGGTCGACCATTGAACCCCCACCACACAATATGGTTCAGCGGGGGGAGGTCCAGTTTTATGGCTTGTTATTACGTATACTGCTAGGGGAACCCAATTTTACCGGACCCCGTGCGGAATATTCAAATTGGAGTGTGTGTGTGCAAAAACTTTTATGGTCCATGTCCAGCAGACCAGCCAGCAGCTGCTCCGATCAATTGCCGCTTCAACTTTCTCCACTTTCCCATGGGACATCTAACCTTATTTGTCGTTCTTCTAGTTTCTCCTCTTACTTCTTATTCTTCTTCGTTGCCCAAATTGTGCTCGAAGAACTAGAGATCCTGAATAGAAATAGGAAAAGAGCACGAAGACATTATTTATGTCTTGTTGTCCATGGTTCGCCTCGAGTAGTTGATTAGGAGCTTCTCCTTGTTGTCTTCACTCGGTCGTGTTCTATATTTTATGTCCACTCTTGAATTCCTGGAGTTTTCAGTGCCCGCATTTCCTGGTTGAGCAGTTAGAAAGCTGCAGGAGTTTCCAGAATTTGATCGATTTGCGGAGTCGGCTGTCGTACTACTTACTTCCGGATTATAAAATTCTGAGAATCTCGCGTATTGTACACCATATTTGACGCGTCAAATTATCTCATGGCGAAAACTACAGTAATTTTTACGCGAGAAATAGTCGAGGCCCCCTAAATCTAGAGTTCCAAGAGCTACAGTAGTAATTTGTTCTAACAGAATTACTTCCGAACCTTTCTCATTTTTCAACAATTTTTTAACTTGCGTAGCGGAAAATTAGCGCTAATCGCGTCAAGACCCAAAACAAAGCGCCAATTTCATCAAGAAATTTGATGTAAAAGTTTGTGAAAACAACCGTCACTACTTCTGATGACGAATCCCTACTTCGACCCGGGCCCAGTTCGTTAAACATTTTTGAATTTACTGCCACCACATATCTTACTTCATCGACCAAAATTCAACGTGCTGCGATCATCATCTTCATCTCTGTCTCATCATCTCGCCCAAATTCAATTCCGTCACTGCGGCTCGTACTGATTTTTTTTCATTTGTCAATCATTTAGAGGCCAATGTTAAAGACCTCCTCTCAATTTTTTTCTGTCTGTCATTGACCCCTCTGTTGCGAACCGATTCAGAGTTTACAGGGTAAACAAGCTCGCTTTGTATATAATGTTGATTTATGTGAGCGAGATAGTGAAAGAGAGAAGAGTCTTGTAGCAGGAATCTAAGCGTTTCCTTTGTTTCAAGCTCTGTCAAAGTGTCAATCGCTTTCTAGCTAGATGATTCTTATGAAGCTTTGAACATTCTAGATTTAGTTTGTTACCTTCAACATTGGTGGTCTTTCTTGTCCAGAACTGGATAAGATTTATCGTAGCCTTTTGCGAAACAGTATCAGATTTCCTGCAGGTTGTACAAGGGCTTTCGCGAGGCGGTAAATCGCCTGCCTGACTTTAAGGTGACCTCCGCCTGCCTCTCGCCTCAATACGTTATGCACAAACGGGAACTTTTAAAAAAATTTTTTCAACAAATTGATAAAAAAACAATTTGAAATTTAAGGTCCCTGCCTGCCATAGAAGCCCTACCGTGTTCCACTATTGATGCGCTTCATTCTATTACAAATCAATGTAACGAACTCCGAAGTTTGATAGCCCGAGGCGTTTTCCTTGTTAAGTTGATATCGATTATCAGTTTGACCAACCAAACTCCATCGAGTTGGGTAGATTTTCAAGGAATTTATAGAATTTCGTAGAGTTTTGGACTATGTTTTGCAACGTTGAATGGAATTATATTTGAATAGGATATTGAATAACTTGTTAATGGTTCAAGGATTTTAGCACCCTTTCCGAAGTCTAGAAATGTTCCACCCTCAGGTGCCGATAGTCGGCTCCCGTGAGAACTGTAAACCGATAATCAATCAATATTGCGGGTATTAATTGGCTAATATACATAATCCCCCTGAAAAGTTATGTGAATAACGGCAAACCCCAAGAAAGAAACGACCATTTCCGAGGTGTATCAGAATTTTAACAAGACCTACTTAGGGTACATAACCCTATCAGTTTCAAAAACAGCATGTCGGGATTTTGTGCTACCATGGTAGACAGGCGCGGAGGGTCTGATGCTTGCCTGAAAGCCGGGCAGACAGGCGTTTTAATTGCTGCATGGAAGCCCTAAAATTCCGCATATACGGAACCTAAGCCAATTATCAAATTCTACTTAAAAACTCATTCCACAGGTGTTCCTGTTCTGCTGCATCATCGTCACACAGACACTTACACGCGGCTTTTCTCATTTCCCACTTTTTCTTCGTTTTTCTCGCTTTTTCTTCTTCTCGACACGACTTAATATTCGGATGGATGACGCCGAAAGCCAAAAGTGTTTCCGTCGGCGTTTCCACGCGCACTCGTACTACAAGTGCCACACTTACACACTTGAAGCAAATAGAGAGAGGTGCAGGAGGGAAAGGAGGGGACAACTTCTGTAAGATAAACTACCTCTATTTGAGTAAAGAGTGCAAGAAATATATGCGCGTGTGTCTAATGAGAGGGTCTTGGAGCGATTTTTAAGCATGTACAGTCATGAATCAGGCGGCACGTTCCAGCTTTCAGGCTCTGAAACCGCGTCTGCATACCAGGCAAACCCAACGATGGTTTTTCTTTGCCCTCAGGGATCCGTTTCTTGGATAGTTTTAGTCTTCGTCCTTTTTTCTTTCGTACACTTTTTGTAACTGTTCAATAGTTTCATCTAATCGTAGAAATTCGAGAAAAAGGATTTTTCGAGGGTCTGATAAAAGATCCCAGAATGTGTCTAATTCTAATTCTCTCCAAATGCCCAAAACGAAAATTTTTCGACAGATCCTCGTATTTCGAAATTCAGGAAAACATTCGGCAAAGCTGAAAATGTCACAACTTGCCAAAATGAACAATTTCGGCAAATCAATAGCTGTATTTTTCAGCAACTTTCGGTAAACCGGCAGTTCGCCAAAAAAAATTCGGCGATGGTCTCGACTCTAGAGTTGGGCGGCAGACAATTATTTCGGGCAAACGCAAAAATTAAAAATGGAAATTGGTGTTCGGCAAATCGACAATTCCGGAATTGAGAGTTTCCTGTAAATTCGGCAAACCGTTTGCCGAAGGGCAACTTCTCAGAACTGACACCCCTTCCAAAAGTCCGAAATTTTTTTAGCTTCACCCCCTTCCCTCCCTTCTCCGGGTTTTTTAAAAACCGGACGCACCTCTTACAATTATTACAAACACCACTACCATCGTACGTATTAAACGTCTCTCGTAATAAGGGGGGCCATAATATAATGGTTTTTGTTGTGTTTAGTTAGCCTCCTCTCTACTTCTCCACCATCATCAAAGCTACCCACAATAACATTACGATCATCAACTGACTACTTTTGTCTTTCAATATTTGTAGTTGTTGGGTATTTGAATTCTTATCCACTATATAGCTCCATCCCTATGTTGAAAATTTGAAATTTTTGGTAAATTTGAAAGATACCAAGTTTATGTATATTATAGTATATTATCAAAATTTCCGGTAAATTTATATCCTGCAAACCGCAAACCGACAATTCTAGCCGGAATTGGAAATTCCCGGAAAACCGCAATTTGCCGATAATAAATTTGCCTTTCTTGATTCTAGGTAAAATTTAGTACGTGATCCGTTTTTTCTTTGTAATATTAAAATAGGAATATCAAAATTTTTTATTTTTTTATTGCAACTGCAAATTATGTTCAAATTTTATAAAACAATTGTAAGTGTGAATTTGCACACTAATTAATTTTCTTATTGATAGGTATCAGTTTTACTAGCGGGCTATCATGTATGTACCAAAACGCCTACGGCGCCTTCTGATCTAGTGCGGTGTGACCCGAAAAGTGTCGGAATCATCTTTCGCAGTATGTGGTGCTGAAACCAAGCTTTTGAGTTCTCGCCATAGTGCGGCGAGAGGACGGCATGAGGCGGGAGACAGGCTAGTAGCAGGGCAGGCTTCAGGTACTGTGTCGCGTCTGCCTCCCAATCATTTTTTTTCAAAAAGTTGCAATGGAAATCAGATTTTCAAACGCAACCTGTCTTCCCCTTGTACTATCACAACTTTTACTTGATGATAGTCGATAAAACGCTGGTGTGAACGCGGCGAGGTGTAATCGTGTGACAATACAGCATTATTCTTTTTCGCAAAAAAAAACATTCTTTTGGGTATTATCATTCTACCAACGTATCTTATTTTATCGATTGGTTTTTTCTCCGGCGCGGAAAAGAAAAAATTGAAAAAAAACGTCAAAACAAAAACATTTGGAAAATATAAAGGTGGATATAAAAACGGTTTCGAACTTTTTTTTGCCGCGAACAGAGATTCATTTCCTGTTAACCATTCCTACATCTTTTGACGCTAAAGCAAAACAGAGACAGTCGAGACTGTCACATAAAATATACGTTTTTTGGTATACTTAATTATTCACAGGTGCCCCTTTCTAAAAGTTTAATATTTGTCGCGAAAAAATGCAAGAAATGTTTTTTTTCTTAAAACTAAAAACTCGAACTCAAAAATAATAATTGGGTATTTAAACATTCCGGCATCTGGGTCCAATTTCTTCCCGTTCCTGCCCTTCCATTTTTTTCTTCCTGCACTTACTCGAGTATTCCGGGATCCTCTTCTATTGCTGCCATAAAAGTTCTTCCGCTTCACAGAACTGCAGCGTATCCTGCTTCATATCTCGTTGCTGAACTCCATATAGGTTGTCATAGCTCAGTTTTAGACGGATTCAGGTAAACTCGAACTTAATTTCTGTAGGGTCTCTAGGATGAAGTACAGTAATAAGTATACGATGTGTCAAAAATTTGGCCTAAACTGTCATGACGCTGCTATAGATTACGGTGATAGAAATTTGAATATGTATGAAATAAGTGAAAAAACAGTAGACTGAGCCTTACTCAAATTCACATCCGTTCGAGGGTCCATATTCCTGAGTTGTGAATTTCTGTTGGTTGCAATTGCCGTAACTTATAAGGAAATTGAACAATTTGGAATTTACAGCACAAAATTAGTTTGGTGCTTCTAGAGCCCATTTTATAAAATATATACTTGACACGTGGCACTAATAACAACATCTCAAGAAATTCAGGAACCACAATCGTTTCAGTCCGAAGAAGAGTGTGGCGATCGGCAGGCGTGCCGCAGCGAATGGATCGGGTGCTGCTCAACTCGAGTCGGGAAGATCGCCATCCTGGTCATGTCAATCATTGTATTATATCTTATCATATCAGGTTGGTTTAAATATATTACTCAAATTTATCTGAGTTTACAGGACAATGAATGGCTGTCAGCATTAACGCCCTCCGACTCACCACAGGCAGACGGACCTCAACGAGCCGCGGCCTGGTATTAATTTAACAAGGTGTGATTGGGATATTACTATTGTGGGAAATTGCTCGATAATTCCACACTTATTGAGTTCACAATTAATTTCTACTTTATTAACTGTGTTTTTGGTAAAGACACTTTTTCCCCTCCCAACGATAATTCTCCTAGATTTTTTATAAACTTACGACATACTTATGAAGCAACGACTTGATGCGCAAATCGCAAAAAAAAAACAGAAAAATAACTATTTTATGAATATTACCATTATCGTATGGTGTCGTCTGTTTTGTTGTTAGTTTTTTTTTACTCGAAATTTTCTTAAAACACCGAATTCCACATTGAATCAAATTTCTTAATAATTTATTAGACAATTGGCGACTTTACAGAGCCAATCTCGGCAAGTACTCACCGGATGTATTATGTGATGCCTATGAGCGAGCAGACGTTTCCGGAGACTATTGTAATCGACTTTGCTATGATCGAAACTGGAGTTACTTGTCACTGACTAGTTTACGAAGGGCGGAACAAGACTGTGGTCATAGTGAAAGATGGCGGATAGATTGCTGTCTATAAAAGCACCCAATGTTGATGGATCACTTCGACGAGCCGAAAGACATCTGACGGATGCCCAGAGTTCTCTGATCGAGTAGTAGATATGGTGAATGATGAGCTGAGATTCGGATGGCCGAAACACTATCGACGGAGCAACATTTAATGGGGACTGTGGCCGACACACTGTTACGGACCAGGGAGAAGCCATGTCGAAAGCGGATCGATCCTTGTGGGCTTTGTTCAAGCAGCCTGAATTCATCCTGTGCCGAGTGTTACCGTTGAGACGTGTCACGCCGAAGCTCTTTGGGACGTGTGAGTATCAGACTGAGTCACTGGTGGTGTTCAAGATGAAAGGGTATTATACGAATTTGAAGGTGGTTGGGGATTTTTTTTTAAATTGATTTTAAAAATAAAATTTTCGCTCAATCCAAATTTACAGGCAAAAATCTTGGTGCATGTCATGGGAACCCTGAAGCTCTTATACGAATTTCTCGACGAACCCCCAATGGTGTGTTCGATTTGATCTCGGGTTAGCAGCAGCTTATGTCCGAAAAGGTAGGTCCGCCTGTTTTTTTATTTGATTTTTTTTTCCGAAAGAACCTCCATTAATTATTCGAAACTTAATTTAAAAGTTATTATGAATGATTTTTTAAACAAATTTAAAAATTGATGATAATCCAACAGGCCGGAAACTCAAACTGTGAAAACTGTCCCGTAAAACTCCATATTTCTCAATTTTTCTGCAGATTCGTTCTAATGGACGGTGACATACACGAAATCGACTGACAATTGGATTCTCTCCTAAAAGGACGTCTGTGTGAAAGTGATAATGATTTAAGAGTAAAGTACTTGGAGACTGTGAGGCGAGATGCATTTCTAATATGGTGTGGTCGGCGAGGAGTAACGGGAATGGTAAGCTTGAAAGTTGTATGAAGTTTGGAAAAATTGTGAAAAATCAATAAAATCGGCAAAAATAACTAGCTTTTTTCCAGATGGCCGAACTTGTTTTGCATCGTCACCTGTGGAAAAAATTGCTAATAATGCAACAGCATCTTGATGTTTTAGTATTCATAAAAAAATAAATTCGACAAAAACCTTTTTGATTTTTCCAAAAATCAAAATCACATTCTGATGCTCAAATTGAATTTTCAAAAAAAAATATAGAAATTTCTTTTTTAATGCTCAACAAACGAACGAATGTCAAAAAAAAAAGAAGTGAATTTTCCGAATTTTTTCGCTTAAAGAAAAACTGAAAATTTGAGGAATTTCAGTCAGAAATATTTTTTTTTTGATTGAAAGGATTTTATTTTATAGAATTTAACTTCCACTATTAGAAATTACCTATTTACTTAGTAATAGGAAAGTTGTGAAAATGTTAGGAAAATTTTTTTCAACTGTACAATTTCCCGGACAGGCCTGTCGTTCCTTTTTTTCACAACGTAAAAGAAAAAATTAATTAAAAAGTTCAAACTCCTAGTATTTATACATTGATTTTGCTTTAAAACAAAGTTTTTCTTGATTTTTTTGTGTAAAAATTGCAAAAAAATCCAAATTTTGTAGGTCTTCAGCGATAAACTGGTCAACATTCGCTCGTTACAATGGTCCAAAAATAAAAAATATTTGGTCGCATGCCGGGATACAGTAGAAAACAACTGGACTCAACGAATTACGGTTAACAGGGTGGGAATCTGCCGGATGTTTAAAGGAATCTAGCTCTATTCTTTTTTTTTTTCTTCTACTCCATGTGTCAAAAAATCCCCATGTCTTATGATTTTCTGGTGCTTTTTTCCATATTTTGCTTTTTTTGTGTTCTGGTTCATTTTTCCATGGCTCACAGAGCCCGAAAGGAACTTAGGATTTTCAAATTTTTCGTTTTTTTCTCATAAGTCTGTCATCATTTTTTGCTCTGCATCATCATCGTCATCGTCAACTTCATCTTAAAGGTTTTATTAAGGGGTATTATTACACTTTCCTCGAAAAATTTTGACGAACGTATATGTATGCTTCCCCTGCACTGTCTCCTTGCATTTGTACCTTCATTGTTACGGGTTTCAAGTTTTAAAACTGTGAATTTATATCGAAGAATTTTAATTTAAAAAAAAACTTTGTTTCCTTTTATGAATTGTTACAGACAAATTTTTTCTCGGCTTGAAAACTGAAGAATCCTAACCCTGACTAAACTAACTATATGTGTTGGGTATCAGCGTGTATTGGTCCACCCACGACGTCATGGCTAAGAAGATCGTACAACGTGAACTCTATGAACTAACTCTTTATTCCTTAGTTTAGTACACGCTAATAAACTACTCGTCTTTTCCTCCTCGTCTCCGAATACACAACATTATGAAAAGAGTTTTTCTTAAGATAAGAAATGTTCTAAAAAATCGATGGCCGAGTTTCCTGTTTACGCGGGCGCAACAGTAAAAAAGTGTTAACACAAGTGAGAAAACTAGACGACATTTATTTTCAAATTTCACCCGATTTCAAAATGTCAACAAAAAAGTCACAAAATTTAAAATATGAACAATCAATATCCCGCTGGCGCTGACTCCTCCCCTTATCCGAACTGTTCGCAGAGATTTGCCGTCGGAAAGTCGTTCGGCGGCGGTAACAATTGTCAAATTGTTCACTACCTCCATTACGTGGTGAACCACGATCGATCAGGGATTTCAAGACGTAGGTTCGGGAAGTATGGTACCACGTGTAATTTGGCTAAAAAATGAGAGGAAATTGGGAAAGGTTTTGATTTTATTGATTGAAAAATTTCATGTGAAAGTGGAAAATTGATTGATAATTAAATTCAGAAGTTTTTTTTTTGAAAATTATTGATTTTTATTTTTGAGAAATCCACTCTTTTACTTATCGCTTTAACGAACGAAAAAACAATCAAATTTCGCGGGCTCTTAACTGCTTGTGCATCACTTGGAGCATCAACAGCTTGTTTAACATCTGCTTTCAGCCATAACCAGTGCAAATCCAGCAACACCCGAAATAATGGTGGATCCACCGGCTCCGCGACCGCCATAAGCTCCGCCCCTTTTGTGTTAAAGATCACTAATGGGCACTTTGACTACTCGCCTGATGCGTTTTCCAGGGCGAATGAAATTGGCGGGAGACGGTGGGAAACCGAAGAAAAAATTCGGAGGACCGGGAGTGGAACGTCCATTCGTTATTCCACAGAATTCCCGTCGATTCGGAGGATACTAGGCCACCAAGGCTGGAAGAATTTGAGATGGTGGACATAGAGTTTTTTTGGCGTGGCCGAGAAAATGTCTTCATATCCGAAAAAGTAAAAGCGATGGCCTAACAGAAATTTATGTGGCCACCATATAAACCGATTTGAACTGAATTCTGGCCTAAAAATGAAAGATTCGTCGTCCTAAAAATGTTTTTAATGATTGGGCCTAGAATTGAAAGGCATGTGATGGCCTCCAAATTTCAGGTGGGCACCTATATAGACTTTGGTTGATAGAAATTACACGTGGTCCAGATTATGAAATCACTGCGGTATAAAATCCAGGTCTAGGAAAACAATTTACTAAGACTGCCTACCAAATCATCCCCTGGCCTAATTCGTTTAAATTTTTGGTGACGACCTCGAACTTGTTCATTTTTATCAACTGCAGAAGCCTTGCTAGTCGACTGAGGACACCTTCTCACTTTTGGCGCTGGCCGAGTTTTCGAAGGTCGGCGACCAAAAATTTCCTTTAAAAAAGCAACTCACTATAAGTTAATGGTTAACGGTCGAAACGGCATTGCTGTCTGCATCGATAATCGATACATGAGTTGTTCCATCCTGCGGCGGTGCTCGATCCTCCATAGTAATCATCAGGATGCGTCGTGTCTGTGATCTTCGACACTAACCCAATCCGCCCACTTTTGACGTAAAATTTTTTTTACGTCGTTTGCCACAGAATTTCGGGTCGCCAAGCCAGCTTCTAGCCGCATAACTAAATTTGCCGACTTACATTCCAGATAATGATGGGTCGTATAACGTTGCGATTTCGTTGAAGACTTCATGTTATATTCGAAGCGGGCCATCCATCACGTTAAGTATTGCCTGAGCCACCGCTGAGCCCGAGGGAGGCGGCCGCAGACCCCGCACCCGTTTTTCAGCTTTGTGTAGATCACATTTTTTGAGTCCTGGACTATTCATTTGTATTTGTTGATGTCCTGAAGCCGGATGATCCCACCGTTGGCTTCGAACTATTTGGCGAGTTGCTCGGCGAGCCGACCTGTATAAAAGTCGGCGCCATGATGGGATCTGTGACTGAGTTTGCGAGCAGCCGGAATGTCTCTAGGAGCTTTTTGGACGCGGGTTTTTATCTGGTCTCCTGGTTGGAAGACACGCTGAGTTTCGGGGTAGATGAAGTTTTTCATGGTGGGCTCCGCGCGGATTTGGTTAGGTGCTCGTTTTGGTTGAGATGCTTTTGCAAGGTCATGGGTGACATTGGGTAGCCTGGAATTTTTTAGGATGGCCTAGAAACGCCATGAACCGATAACATAGTTACTTATTTTGTGACCTCGAAATTTTCATGATGGCTTAGAAATTTTATGATGACCTAGAATTTCTAGCTGACCTAGTAATTTTTTGATGTCTCGAAATTATTAGTAATGTAATAAACTACTCGTCTTCTCCTCCTATGCAAAAATTTGGGCCCATCTCCCTTCGTGGTGAGACCGATCGAGGCGAGACCTGCCCATCGTGGCGAGACCCATCGTGACGAGACCCATCGTGACGAGGCCTATCGTGGTGAGACCCATCGTGGCGAGACCCTACGTTGAGAAACCCATCGTGATGAGTCGACCCATCGCCATGGTGAGACACGCCGTGGTGAGACTTATTGTGATACTGTTAACGTACACAGTAATTGGAGAAACTTTTAAACTGATTTTTACAAAGAGTTCAACATTTAACTTACCAAGAGCTCAATCCGTTGCCTCGCTTTTTGTTGCGGGATTATTGTTCTGTTGCCTCCATTTCCGTTACCCCTGTTGTGTTGCCTTCGACCAGCGATGAATCCGTTGACCCCCCCCTTTTTCGTTGTCCCCGGGGAATATTAAATCGGTTGCCCCCGTTATCCGTTCCTAGGGCTTGTTGGCCGGTCTAAAAACGGCCACCAGAAAATTTATCAGAAATGTTCTACCGTTAGGAGTTTTTTAGCAGAAATATGCTACCGTCGCAGGAAAAGTGCCCACCTTCAGCCAAAACCCTAATCAATAGTTGGTTTCAACAACCCGAATGTCTCCACTCGTTCCATTTCCGAATCTCTCGAATCCGGAGGCCGTGAAGCTCTCCGGGCACCGCAATCGCCTTCCATATTCTCGACTGATTCCACGTTTGTCACGGTACATTTCCTCTGTTGCGCGGCGACGGGGCAATCTCCCAAGCATCGATTACCGTACACTCTTTTGTGTTCTGGAAGAATTTTAGAGGTTTATAAATCATTGATAATATTTATAGGCCACGGCACAAAGAAGTTTCTAAAGGACACACGCGCTCCTGGCATTTCCTCATAATAGATTTTGAAATGGAAGAGTGCCGAGTTAGCCCGTTTGGACTACGTCCGGGGTAAATTACGGAGGGCGTGCAGACTTGTTAATGGAGCGCGAGAAAAACGCTTGAAGGCCAGAAACCAACAAGGTGAGGCCACAATCATGATGTTTCCAAAAATGTTATTAATAGGAAGATCATTCTTTTGTCTTCCGAAATTTTTCTTCTTTGTTTTCCTGTATTTCGATTATTGACTTTTAGTTGAAGAATCAATACTAATTATCTTTTTTAATTATTGATGTTCCGCTCCAATTCGTGGCGAGACCAACAACTCACGCATTATAAATGTCATAAAATTTCCGCCGCCAATTCCGGCCGAATGTGTATCAATTGCACCGATACAGAAAAGTGCGGCGATTGCCGAATCCACCGCATGTCCGCCTTTCAGCAAAATATTCCGACCGATTTCTGAGCAAATTTCGTTGTCGGCGGCGACGGCCGCTTTCGAATATTTTCGAGTGGAGAAAGTGCTGGTCCAGGCCAACGGGGGAGGCGGGCATTGTGTCTGGAACCTTGCCGAGTTTTATTTTTATGACGGCCACGTAAAATCCAGCCATGAACCGACAGCGGACTATTCTTCCTTTCACCCTCGTGGCCTAGCTTTCTAACAAGCCGGCATTAGTAAATCGGAAAATACAATGAAGCGAATGCGAGTCCTTTGAGATTAACATCGTTCGATTACGAGAACCGTTAAGCCGACCGCCGCGCGGCCTAAAGTACGGATTTTCATGGGTTGCTCGGCCTCGATAAGCGGCTCAACTTCATCAAATGGTCGATATTCTGGCTGTAAATTATCATCGTCCGGAAACGTGTTGTAGTATTGAACAGGAGGTGGGTTACTGCTGAAAAGTCGAGTTTTGGGCGTCAAATTTGATGCATTGAGTGGCCTGATCACGATAATTACAAGATCGCGACATTTTAAGAAGGCGTATTGCACAACATTTTTCACGCGCAGAAATCTCGTAGCGAAAACTACAGAACTGTTTAAATCACGGTAAAGCTTGTGTCGATTTCCGCGGTTTCGGTTTTTTCATTTTTTTTTGTGTTTTTTAATTTAAAACAATTTATCGACTAATGAATGATTTCCGTAGAAATAGACACAAACACTACAGTCATTTAAAGAATTATTCGTAGTTTTTGCTCCTAGATATTTTGCGCTTCGAATATGTTGCGCAATACGCATTCTCAGAATTTTAGTGTTGCCATAATAATTCTAAATTTAAAAATGGAATTTTCAAAATCAGAGGTTTCCCAAAAATTTGAATATTCCACCAAGCATAAAGATGAATCTGAGAGTATTCAATTTTTTGAGCAAATAATCGATTTTCTGGATTAAAAAATTGCGTTGAATTTATAGATTTCTAGTAAAATTTGAATCTGTGCAATCTCAGACTAAAATGTATCGATTTTGATCGACTTTTCATAAAATTTAATTTAATTTTCGAAATTCCCAAAATATTGCCTGTTTTTCATCCCAAAAAAGTCGTATCAGTTTTTTCAACAAATTAGCGAAATTTTAATCGAAAGTTGTTTTCAGAGCATCATGATTTTTGAAAGAATTTGCAAATGTGAGAACTAAAGTACTCCCTTAAAGGCGCACGCTTGTTTTATTTTTAAAAAATTGGTCGTTTCGAGACCTGGTACCGTATATTCGCATTTGGGTAATATTCCCAGCATTATAAATTGTAAAAACAATGCACTTTTTAAATCTTGAATGCATATATTTATTTTTTTCAGAAACTCATGTCGCCTTCGGTCTCGATTCGAATTTATTCTCACAAACGTATAATATTTTCTCGAAAAACCCGCGAATTCTTGTAACATTATTGATTCTCACCGCGTAGATTGCCCTTCATCATTAATCAGAATTGAGTATGAATTAAAAAATCATAGAAAAGTCCAAGCGCTGTCTATTGGAATAGGACGAGAATGCCAAATTGCAACTTTGGCTTCAAGATAACGGAAAATCTTCTATCGCAAAACGCACTAGATAAGAGCTACAGTTTGCTGCGTGTAAGCGCCCTCCACGACAATGACAAACGAGAAGGGAAGAGAAGAGGGGGTAACCGCCAATAGCTCTCTGTATCGAGGATAGTCTTCAAGTGACAGAAGTGAGATATTCTGTGGGGAGAGAGTTGGGAGGAAGGGGGAACAGCGTATAAGGACTACGGAAGAGTGACTTGTAGATTTGGTGTATACGAGAAAGTGGAGGTTTTGGCTGAAAGTCTTTTATTTTCAAAAACTTTTACTTGTAACAACTAACGAGTAGATTTGACAATGAGGATAATATTCAACACAACAGAAAAAAAGTCGATGGGTAACTAATATAAATTAGAGAAAATGTGGCATCGGGGAGAAGTGGGAACAAAAGAAGAAACTGATGATGATGATAGGAGGATAGCCGCGAAACAAGCGATTAACAGAGAACAAGATTCATTTCGGTGAAGATAGAATAACAGCAAAAAAAAAAACAACAACAAAAGTCTAGGTCTTATTGCCCATTGAGAGCTATGCTGAAGGACACTGGTAAGGTGCTCGTCGATTACATCTTGCTGCGCGAATTGTGGGAACGATGCGTACATTCAGGATTGTGACAATTCTTTGCTTGGTTTGGTTGCCGCTATCGTCGTCGCGAGGTTGAAAGAGCCATCGTTGGTGATTGAGAGCAAGCCTGCAAAATACAAATAAATAAAATAAGTTACGGATTTTTTTAGATTAGAACTTACAAACAACGAAGATTCTCGGAAGATCTGATTTTCTGGTCCAAAAAGTGCGGCGTTTATCAAACAATTCGGCGAGACAGGTGTATATGTAGGGGCTTTCCTCGGTGTCTGAATATGGTGGCAACCAGCTCAGGAACAGCTCTACGACCTGGAAATAATATGGAACTTTTTTCTTAACTGAAGTTCTAAAAGCAACCTTTCCGTAGGAAGGTCTTCAGAAAGGCAGGAAGTGGCACATTGCGATTTTGGCTAATGCAGAAATCGCGTTTTCCGTGGCAATTTACAGTGCTCTCCTCGGTGGCGCGTCCTCTCGTTGAATCATGGCGGCCAGTGGCCCCAAACAGCCCAAAAACTCGTTTCGTGGTGGCTGATCTGGCGCTAGTTGATGGACATAACTCCGAAACCGTAGCTCGCTTCTGGTCTCACTTCAGGATACTCCTGATCTCCCAACAACATGTACATTATTGGGAAATAAGCTTCGGGAAGTGAATTGGGATATGTCCGTAACACCGAACTCGATGGCGTCATCGAGTCTCATGGCACATTCCCCACTTGTCTCTCCAAGTTGTTTGAATCCCTCGATGAGTTGAACGGCACATTTGAACATGTTGATCATTCCCTCGAAGATAGTTCGCTTGGACTCCTTCATAAGCTGAGAGAGAGTCAAAATCGATGGCCTCTCCAAGGCCTGAGGCCTCCATTATTCCATGAAATAATCGAAATGAGCTCCTCATTAGCTTTACAGCATTCCCTATTCATCGTCATCTTCATCTTCAACTGGACGATCGCTCATTCTCTTTAGTTTTCTGCTCGAGCAGCACCGAAATGATGAGTTGAAACTCTTCTAGATCTCGGCGATCCCCTCAGTTTTCATCCTCAATGAGCCGATGGTCGTCATGTACGAGGCGAGAATCTCGACATCGTCCTCCTCCTCCGACGTCAATGCCTTCAAGAACTCGCACCAACAAACGACGCTTGACAGCCAATCCTTGCCAACACAGGTCAACAAGCATGGCATGATTTCAGCGCCCGTACGGAAACTCCGTCGTGAAGCCCGAAATACATCCGAGATTCTTGATGGCGTGCTGGTAGTCGACGGCGTGTGGCATGAAAGCCTCTGGCCTTCATGTCCTTGGAAATCGAACGCGACAAGCATATCGCAAGCAGTTGCCTTTTCCTCAACACCTCTGGTGCGGATTCCGACAGTCTTTTCTCCTCCGATTCAGTGGTATTCAACTCACTTCCTCGTTTTCGTGAACATCTTCGTCTGAAATTTATATATTTTTTTAACACGTAAAACTAAAAAACACTCACTGTTGAATATATTGAATTCTAGGCGGTAACGAGCGGCAAGAAATGGATCCATGACACCTGGGAGGAATGGTGCGAAATCGGCTCCAAGAAAAGAGCAGAAACGAGTCCATGAGCTGATCATGTAGCTGTATTGTGGATCACCGATAGCCAAATCACGACTTCATGTCTCCGAGAAGGTTCAGGATCTCTTCGATTGCAGTAGGGTGGAATTGTTCCTTTCCGACAGCATATCCGATATGAGAGAGATGCATTCGATCGTCTTTCCTCTCAACTCCTTGAGCTCTCCGACGTTTTGAAGAATGTGAACGAGGTTCGGGATGAGGCGAGGCCATGATGTTCCTTGAAGAGCTCCTCGGCGGCTTCAGCGACGGAGGCGATGGGCAACGGTGACGATGTTCTCAACGACAACCTGTTATGTCTTGTCTCCGACACGAATTGAACAGAGCGGAACAGCATCATTTTCGAGTTTCTGAAGAATGAGTAATGGAAGCTATTGTCCAATGATTTTCACTCCTCAAAGTTGACAAGAACCGAAGCGGCATGAACAGACACGTGGAACATCGGTTCTCTAAACTCGACAAGAGCTGGGTATGACGGCGGCGTGGCACTTCTTCTGAAGAGTTGGAACGAAGTCAGAAGACATTTGTCCGATGGCGTTGCAAGCCTCGTATTGAACTCTTGGATGAGCTTGACGTAATTGGTGATATGAGCCATAATTTGCTCTATGTGCTGGTTCCACAGATCTCACCCTTAAGGCGGACAGGCGAAGAGCCGCGTGCTTCATCTTCCAGTCTTCGCTGGTCAATAGCTTCTCGACAAGTGGAAACACTGGGAGCACCACCTTTCCGTTGAGGCAGCAAGCAACACGGTAGATGACGCGCTTTCGGCGATGATTGGGATACTGAAAAATAATTTAATTGAAGAGAAAAACTAGAAATCTTAATCTTCATAGTCTTCTTCCTCTTCGATCTCGTTGAGCCACTCATTGAGCACATCGTCATCCATTTCGGTCATGCAGGAAAGAAGAGTCTCGAGTTGGTCCAAGAGTTCACTGCTGGTTACGCGTATTTCTTGAGTCCTTTTGGTGCGCCAAGTACGGGCAAATATACTTCGATGGCGTTCTGACGGACCATCTCGTCCTTTTCCTTGTATCCAGCATGAAATCTGAAAAAATTAAATTTTTAAATGGGGCCATTTATATTACTTACAGCAAGAGTGACTTGAAGAACCTCGGCTGAGACCATATGAGTGTTAAGGCATTTTGGCAGAGAAGAGGCGGGCTCGGCGAACTCTCCGAGTCGTCCATGTGTCCGCGTCGCTGGTTTCATCGCAAACTTGAAGGCTGAACATTGGAACAAGAGAGGTAGCCTGACACTTCTCCTCATCATTATCAACAGCGAAAGCGCTAACAGCACGGACGGCGGTGGCCCTTGATTTGCAAATCCGGTGTAAGCCATCAGCACTTTTCCAAGCTTTTTGGAAGGATCTCAATGGGCCAGCCTGTTTCCAAAAATTATTGAGGATCTGCGAAGAAGAAGCAGGGCTATGTAGTTTCCGGTAAGATCCTCTTCAAACCATGATCCATCAGCGGATCGAGGACTCCTCCCCATGTCATATCTCTCGTGCGATGAGGTTTGAAGCGATTTACGGCAGAGGTATCAAATCAGCAATCTTCTTCTTAACCGAGAGTTCGGCGTGAACTATGCAGCCATCTCGAGAACTCTGTCGAGAATGTGCTGTTCTGCTCGTTCTGCGCAGCGTTTCTCGCATCCCAGTCGCTGGCGAGAACTCGTCGCAACCAAAACTGATCTGGCCTGAAAATCGAAAATTCCTGGACTATATACGAATTGAGTGAACTAACATCAGAATTATTCGTGTGGTGGGTGTAGGCCTGGAAAAGTGCAGCTACTCTTCCTTGGTTGGTGTCCTTCAGACGCATCTTTTCATAGACTTCTTCAGCTTGTTTTCGGATATCATTGTCTGCTGACTGCAGTTCTGTTGAGCTCATGCGTGAAACCTTGATTGACGTCCATTGTAGGGCACCCTGAAAATCAGAATATGTGCTAAAAATCCCTCTTCACAATTGAGAAGGATACTAAAGGATGAAAGCTAGTCGGTTTTGCAGATTAACGCCAGACCGGGAATACGCGGAATCTCGATGAGCACTCGAAAATAGATTTTTACTATAAGAATTGTCATTTGCAACAAAACCTATCGTAAAATGTGAAAGATAGGCCAACAATTATTGATTTGGGACAAAAACGCCTCGAGTGCACGATTCTTAACGGAGCGCACTTGCTGCGTCACACGCACCTTAAACTGTACACGGCGGGAAGTTCCAGTTATTAAAAGGATTCCCGTGATTTTCACGACATTTACTGGTTTTTTCAGCGAGTTTTCGCATCTTTTCTGCGACAAGCGATGATTATTAATGTTTGGAATATATGATATGGTAGCGTGTTGCGATATAAAAAATCGATGGAATGAGTCCGCATCAAGAGAAACTAATATCTGCATAGATCGCACTGTTTGCAATTTTGGCTACATTGGCCAGTTCACTGACAAAAAAAGAAAAAAAAACGGCAACATGAAATCTCTAGTACCTATTCCAGGCAACCAGTGTCTGGCGACGATGGAGTGTAATTCTGAAAGACGCAGTATTGAAAAGAGTGTGTTTTTCGCTTTTTTTTTCAGACAGACGAGTCAAAAGAGTAAATACGTCTCAGTAGTACAAACAATGTGCGGCTGCGAAATCAGTAAAAATTAACGACTTGTGATACAAATTCCTCAAGGAATGAAGGAGAAAGTGTACTTATTTTTGAGACCCGAAGAGCTCGGGGGATGTACAATTGGGGGGATTACCAACTCGATTGGCCCCGCCCACAGAACCCGACGTGGCTTGCAATACGCCCATTTCTGCAACTGCCGCACGGTTTTAAAACTGTACTTTTCTCAATAGAGCGAGATTAAGAAGAAAAAATAATAAACCGTGCGGCAGTTGCGGACATGGGCGTATTTTGGGGCAAGCCACGGTTCTGTGGGCGGGGCCAAACTCCCGAATTGGTAATCCCCCCAATTGACATCCCCCTCTTCGGGTCTCCTGTTTTTTAATTTTGAATTGAAAAATTGTCCAAGCGCACACGTAGAACATCAAAACCAGTGGAGGGGCGAAATTTGATAGATCGCATGTGCAAGAATGAGCATTCTACGAGTTGAAGTCGCGCCACTGCTGCGTAATCGGGCGCGCACAATATTGTGCAATAAATCTCGGTTATTTGCGTACATGCATCATAGCTTAGACGCGCAAATCATATTAGAAATTTCCCCGAAACACGGGGAGGCAAAGCTAACGTGGCCGAAGAAATTGGGTCTACAGTAGTCCCATTTGGCTACTGAATATTCAACGCGAATAAGTTTTGTACACTATTGCGTACTTTGCGTACGGTAACGCATTTTATGCATTGACGACAATTCGTCAATTTCAGCTCAGCCTAAAAGCGCTTTTCGTCATTATGTGAGCGAATAAAAGTCGAAAAAAACTGTTGTTGTAGAGAAAGTAATTTAATAAATAAAAAAGTGCATGTTTTATGTTTCTCATTATGTTTCCACTGATTTTCTTAGAAAAACCGACAATTTCCTCGTTTTTCGAAGAATTTCCGCTGAATAGTTTGTTTTTATCTAGTTTTTCTTCCGATACTGAATAAGACATTTAATAACATCAAATATAACGTTAAAAACATTAATTGTCTCGAAAACCAATATAAAACTCGTCAGAGAGGGATACTTAGTAGATATGCTGAACAAGGAAAAGAGAGAGAAGAACATTAACCTGAGAGGGGGGAATAAGAAATCTGAACAGGAACGAAATAAGAACATTATTAGAAAGAACCATGGTTCCCTTGATCTTCTTGGCAGTCGTCTCCTTATCCTATCACTTCTTCTCGGCGTCCTTCTGATCACGCTACCGAGCAACGTGGCACGATCGAAGGGTTTCACAAGCACGGTTCGATACCGCTCCACGAGGGGGCTCCCAATTCAGCGAGCCATGGTCCTCTCACGAAGTTGAATTTTTTAAAATTAAAAAATAAGTAACGTCAAGAATTCCATCGAATTTGTGCTCCTTTGCAATAAGACAAATTTTTTTTAACGGACTTGAACAGGATCATTGACGGCATGAAAACGGCTTCCTCGTTGAACCATGTTGAAGCTCCTTCACCAATGCACCTGAAACAACTTCTAAATTTCAATTTAAAGAAAATCCACACACTTATCCGTCGGAAACGAATCCAATATTCTGGTTGCTGAGTGGAATTGCTTCAATTGATCTGTTTTTTTTTGAAATATTCGATCACACATCTTGTATCCACCAGATCGCTGAGTGCTTTATGATTCAGAGTCGCGCTTGCCAACCTCTTCCATCAGCACTTCTTCTGCTTGGAATTTTGATTGCTTTCGGACCGATTGACTTGTAGTTTCTTCTAATAGTCGCTGATTGAGCAGTCGACCTTGCAGTCCTACCGAGTTCTTTGGCTTCTCCTGCGGCACTTGAGCCCTTGTAAGAGCAGTTGAAATTGCTGCTTAACCTTCCTTATTAATAACTTCTTCTTGTTCGCATCTATTTCGAATTTTGTCTTGAAATCTTCCAAAGCAGCGACAACGTAATATCTGGAAATTATAAAAACATTAAAAATATTTTGAAAAAAAATCGAAAATGGCTGTATTCCTAAATTTTTTATTAAAAAAAAAAATGAGATACGTGAGTTATCATTGAGTTTTGAGAATTAAATCAGCATATATTTCTCCATATTTGAGTAGGTTATCAGAAATATTTACCATAATTTTTGGAAAAATGTAATTTTTAATTCGAAATTCGCACCGAATTTCGCGAATTTTTCACTAAAATCGAGAAAATAAATATGAAATACGCGTGTTTGAGGTTCAAGGCTTTTTAATTCGGAATCAGCATATATTTTTCGATATTTGAGTAGATTTTCAGAAATATTGTACCATAATTTTTCGAGATTGATAATTTTGAATAATAACTTACTCTACGATTTTGCCTTTGTCCGTTTCAATCCTCGAATTTCGAAGCGGTTTGCGTAGATTAGCTGAAATCATTATGCTTATCCCACGTAGTAACAAGGAAAAACAAGAAAAAATAAGCAAAAACGTGGAAAGAAAAATAATAGCATATCAGTCAAATTAAAAATGTTTATTCGATCAAAATTCTTAACCATAGGAGGCGGTGGACTCTAGCGGGCGCACTCTCGCGGCCACGTTAGCTTTTCCCCGTGGAAAGGAGCCATGATAACGGAAACACTATTTTCTGAGCACCCGAAATATATCGTAGCGAAAGCTACAGTAACCCTTTCAATGACTACTGTAGGGCTGGTGTCGATCTTTACGGGCGTTCATTTTTAAAATCATTTTTTTAATCTGTTTTTTGTGTGCGTCACTGTCGATGACTAAATTATAAATTAATTTCCGTAAATCGACATACAATCGCTACAGTAGGTTCATTTAAAGAATTACTAGTTGTTCGCTACGAGATATTTTGCGCGTCACTCCTTAGGTTCAGGCCACCAATTGTCTTACACTCAAAATCGACGTGAATTTCTGTGTATTTGACAGCAAAAGTGACGTGACAAACAATTAAATAAGGCAATTTGAAGAGTAAAAAACTGGGGAACGATGTGAGATAAGCCAAGAAGAAGCGGGGCTTCGACAACGTATACTAATCAGAGATGGAAAGTAAGAAATCAACTTGAAATTTAAGACAAAAAAGTCAACGGGGGATTTTTTTTAGAGAGAAGCGAGTAATCGGGCACAGCAGGCCAGAGAAATAAAAAGATAATAAACAATTGAAAAAATATATATATCGAAGGGGGAAATTATTGCTGAATAGACTGCAAAGAGGTGATCGGACGGTACAGATAAACGAAGTGTCTCTGGACAATTCCGGGTCCACGGACAAGAACGGCCTGCGCACAGTAGGCCTTGTGGTTGACGATGTTGGCAGCGACGGCCGGATGCTTGGGAGCGTAACTCAGACGACAGAATGGGTTCACAAATTCTCCCCGGCGTTGTACATTGAAGCTTGCTCTTCTTCTGCTGATAGGACGGCTTCGCGGAGGCTGAAGCAGCTTCCAGCGGCATTGCCACCTCGTATGACAAAATGTTCCGTATTGACCAGTGCAAAAAAAATTTTATGAGAAATTGAATTTAAAATGATTTTATTTGTAATTTACTTGTTTTGTTAATTGGTTCGATAATTGTTTTTTTTTTGGGAAAAAACCGAAAAAAAAATTAAAATCTTTCATTTTTCATTTAATTTTTTTGTTGAAAAATCGGCAGTTTTCGATTTTTTTTGAAAGAATAGGGAAAAGTCAGTAATTGTCGATTTTTCAAAAAACTGAAAATTCCAGATTTTGTCAGGACAAAAAACGAGGAATTCGACAATATTTCAATTTTATTTTTTTAAATTTGCGTTTCTCAAATTTTTTTTTGATATGTGATTTTTCCGTAACTTTTCTCTGGAAAAAAACCGACAAATTTGCAATTTTTCAATTTTTTCCAAAAAAATCTAAAAATAGAAAATTTTCGATTTTTCCTTTTCTGAAATATTTAAAGTAACTTCCTATTTTTTTTAAACGCGTATTAAAATTTAAAAAAAAAATCGGAGAAAAAAAATGAATCGAAAATACGATTTTCAATTTCCTTTGAAAAAAATAGAAAAAATCGTAGGAAAATTTTCGTTTTTCGATGTTTTTTCTGGTTAACCTAAATTTTTATTACTAACACAATGCTGTCGGCTAGCAAATTACCCATTCCAATGGCAATAACGATTCTCACCCGCTTTGTCGTTTGTTTCAGGCAAATCAATGCATACGACCTTCTCGATGAGCATTCCGAACATGCCATTCTGAATATTCTCACACGAGTGAACAAGATCCTGTGCACTCCGGGCGTTCGTAACTCGACACAAGAACACGACGAATAGCTTCATAAAGGTTTCGCCAACGATTGAACTCTTCGAATAAACATTGTATTGAGCACCAATGTTATCGCGGACCACATCCTCGGAGTGCTCGATGGACAGAATCGTCGCCGTCAACTGTAAACCGTACATTGATCCAAGGCTAGTTTTGGAACAAAAGCCGCCCACATGGCTCAAGATCAACCCAGAATTCTCCGAGACGACAACTCGCTGAGCATTCACAAGGATCACTTCGATAGAGAACCGATAGTGCCGCGGGAACTTCGCTGATCTCGCCCAAAGACGTTCGGATAGCAGAAACGGAAGAACGGTGAGAATTGATTCGATGAAGGAGTTTCTAGCGATACATGAAGACCGAGAACTCGCGTGATTTGGAGGGCATATCGGATCTTCCCCTCGCGGAAGATCACTTCGTTCACTGAATGAGTTGAGCAACCAGAGAGGCGCCGATTGTTCGGTTCTGGAACAGGAAATTCACTTGTTAAAAAATATAATATGTTCTTAAAGCTATCACTATTTTTTTGAATAAGAAAAAAAATCACAAAAACTGGAATACACGAAAAAGCAGACAGAAATGTTTTTTCCCGAATCAGTTCCATATTGCAATTTTTAATTTTTTTTTTTCAGAATTAGCGATTTCCTCTTTAAAAAAATTCAGAAGATTCTATTCGATTTTTTCGGAAAAAAACAGGTCGAAAAATTGAAAAAATTCCCAAAAAGTTTGGTGTTTTTTTTCAGTGAAAATCTTTCAATTTATCGGGGTTTGTTTCGACAAAAATAATAAAAACCAGATTAAAATTTTTCAGTTTTTAGTTTTCTTTTCAGAAACATTGAATTTTTTCAATCCGAAAAATTAAAGAAAGGTATATTTTTTGAAAACACAAAAACGGTGGAAAAGTGTTGGTTTTTTGTAAATTTTTGCGTTTTCCAGCAAAATTGCCAATTTTTCCGAAAATTTTCAGATCGAAAAAATATCGATGTTTATTCTCCGAGTTTCAGCGATTTTTTTTGCAGCAAAATTTCAGATACCAAATTTGACATTCAGTTATGTTCCAATTTATGAAAAAAAACTTGAGACCAAAGTGCGGCACGGAAAAATGGGCGCAGGTTGAGTGGTATTTTTCTCTCAAACTAGTCCTTGCCCTGGTGATCACCGTCTCAAAAGTGCGTGTGCAACGAACTCCGCCGGATTTTTCGTCGCCGACTCCTGGCAGACCAACTGGAGCTTGACCGCAATCGCGGCCGCATGCCGAATCGCGTCGTCATCGAGAATCACTGATCCTCAAAATCGCCTTGATATCATCAGCTACGGCGAGTTGCGCTTTGGCATCATTGTCGAACGCGGAGGTTATGAAGAATCGAGGAGACTGGAAGAGAGCCGCGAAGATTTTGTTGGAATCAGCGAGAAGGATCTTTTCAATAGCGTAAGCTGCGGTACTTGTGGAATCGGAGTATTCGAGCTGAGAAGCGCGTCCGCCGACTTGATCGCAATCGGTAAGGTGCTCTGGAGCTGTTTCCTGAAAGTGACCGCAAACTTCAGTGCATCAGCTTTAAGGATCGCAGTCTGATTGAGATCGGTGTTGAGGTGTGTCTTGTGTGATGAAAAAATGAAGTCGTTGATGTCCACCAGCGGGTTCGTCGACGTTACTCCACTCTTAGCAGTCTCCGTCTTCACCGCGATCGCCGTGATCAGCGAGTAGACAATGTCGATCTTGATCCAATCACCACTTGCAGGTTCTGCACTCCCCAGACATGGAAGCCGCCTCGAATCTTCCGACAGAGACCTCGCGCAAGATCGATGGCTCAACGGCGGAGTTCCTACATCGGTACCCTCGATGTCTTGCCGCTTAATATAATCCAGTGGATCAGCCTCGATCAGTTCCATATCCTGTTGACGAAGCAGAAGCTTCTGAACGCACACGTTCTCGAGAGTCTTCAGAACGCTTTCACCAGTGAAGTGTGTAGTACTGTCACTGGCTGACCATCGACAGCAATTCCAGCGCGGCGCACACCATAGTATCGTATCGAGTGTCGGGGCCGGTAGACTTGAGCAGATTCCAGACGGCAAGGAGGATGTCGGGCACGAACGGAGATCTCTCGTTGCGTCGCGAGTAGTGCGCGCAGATCTCACAGATCTCGTGCTTAAGCTCGTCCAGAGTTGTAGGTTCTCCCGAGTTGGAGGTCTGCGTCGGCGCAGTCGATTTGCACGAGATGCAAGAAATGTGGGCATCCAGTGAGACTCATTGATCCTCGAAGGCCTATTCCGGAATCCCTGTGAGCACAGAGAATGGTAGACTTTTGCAATAACTAAGACTCGGAGCCATTGGGCGATCACGTCGGCTCCGAGTTGATCCTTCCGCTGTCTCACCTCCATCATGTTCCGTAGCAACAGAGTAAGAGGCGATCTTGGGGCTGAAAAGGTTCTTTTCATTTGTAGCAAAATCTGGGGACAGGTTTTCGGTCCAAATTCGAGACTGACATTCAGATTTCTTCAATGGCTCACCTAAAAAATTTTGAAAATTTGTCCATTTTTATAGAACGAAAATTATCAATTTTCGCCAATAATTCCTCATTTCAGCGTTGCTTTAGTTATAATTTTTGACTAAAAAATCATAAAATGTTGAATTTTTCACGATTTTTCGGAAAAGGCCAGCTTTAGCTAGCTTACAATGTCTAATTTATTTTTTAGGGTCAAAGCGGACAAAAATTCACGACGGCTGCGACGATTGTAAAAAAGTGGCCCGAAAATAGGGGATTTCGATTAGCTGAGCCAAATTTTGAGCCAAGCAACTCACGCTCTGTAGACACTTCTGCGTTCAGCTCTTTCCAAAGCTCTGCTGACTTGGATTCGAAGCGGAATTTGCGGAAAATCTGCTCCATGCCAGCGGTAGGACACCAGGTGATCGAGATCCGCTCCGTTCAGGCATTTCGACAAATAACCAAATCTGGCCATTTTTAGGGAAAATCTCTCTGAGCGATGTGATACAGAGCATTGGACAGGATGCGTTCCTGAACACTGGATTTTGTATTGAACATCGCTTCGAGAAGCGTGCTTCTGAACTCTGGCTCCTTGTCTTCCGGGCCCATTTCTACCTCTGGTGCCGGGAAACAATTTCTAAATATTCACGGATTTATTCAAATTTTCCAACCCAATTTCTATTCACAAAATATTTCAAAGGGACAGCCGCGGCGATTCGGATCTGTGGAGCTTTGTTGCTGTTTGACCACCAGTTGAAGACTTTGAATGATATAGCGTGGATTTGAATGCAGCGAGCGGAGCGCTTCTTCTCTTGCGTATCGCAGCCTCCGGCTCCAGAGTCTGCTGGAGAGCTGCTTCCCGATTTGCTTCATCGGGCAAAATTACCTAGGGAAAAATAGCTGTTTTGGGGGTGAAATAGGGAAGAATTGGGTAAAGGACAAAGATAGTTTAGCTTAAAACTTGGAATCATATTCCGGTCAAATATTAAAGTTTTACGCAACTTTTCGCACCCGAATAAACTCGCTAAAATTCGCAAAAATAAGAATTTACAAAAGTGTGAAGTGTTTACAGCGCACCCGACCCGACGCGCAAATTTTCTTCAGTATGTTTCCATCGTTTTCACTGATTTTTACTGTTTTTTATCCTAGTTTTCCCTTGATTTTCTTCAAATTTTCCACTTTTTCAGAAACGTGTATTAAAAAATAAAGCGTTAAAACATTTCAATTCCTTCAAAACTTTGCAAAATAAAGGCGTCGTTGCGTACAATGCGCACGACTTGACGCGCAAACTTCCCAATTTTTAGTCTTAAATTTTCCTGGATACCACTGGTTTTTTCTCTGTTTCCCCCTTTTCGCATTTTCAGCAAACATGGGTGTTGATAAAAAGCAAAAGAATAACCAATCCATGCGAGTTAAATTTTAACAAATGCATAGCATGTCGTGAGTTTTTCAGAATTTTGACGAAAAAATCGATTTTGCTCGCAGATTCTCGGCCGGACTAAAAAGGGCGACAAGGAGCACCGACTGCGTCACGAAAACGAGCTCACGAGCAACGTGGACAGACGCTAGGCGTAGAAATGACCGGATAAGATTAGGAAAATTGTCGACAAACGGGTCGGCAGGGAAGCAAAGAGACGGTCTTGAAAAAGCGAGCAACGAGGAGAAGGGCGCGATTAGATTCACAGATGAAAGAGTCAAATGAATTAGAAAAGAGCATCGAAATTCAACTTGACAGATGATGGATATGAGGAGGAAGAAGGTTTATTCTAAATTGAGAAAAATTTTAATAAAGTAAATTTCAGCACTTACTCACAAGGGAAAAGCGCTCTCAGACATTGAAAAATACGACAAATGATTTCCGACTCGGAGATTGAAGAGGCAGGAAATTTGGGCTCAAATATCGTAAAAGTGGCTCTTTTCGGTGGTGGAGAGAAGACCGCCGAGGAGCAGTCCGCGAAAAAATCACCCGAGAGGATATGATTTCGAATTTCATTGCGAAAACGAAGCTGGCGCGTCACGAGAACAGCAGCGTGAAGGATGAGCTCGAGCTGATGACAGAGTCGTTGGATCCCAAGTATCAGGCATGGGCAAAATACCGGAGGCTTCATTTGGGCCGACCGGGCGCCAGCCGTTGACAGAAAAAGATGATTACGACACAAATTGTACGGGAAACATCCCGGTTTTCTCCCCGGCAAATTTTTAAGACAAAAGATAATTATAAATTTAGAGTGAAAATCGATTTTTTTCACAATTTATGAAAAGCTAAAACCCAAAAAACATGATCTGAAAATGCTAATTTCAATTTAACCATTTTTGCGATGGAAGATTAATCGGAAATTTTCATTAATTTTGCTGTAAAAGTTGAAGAAATCCAAGTTTTAGCTCTGTAATCAGAGAAAACACTGTCAAATTATTTCGGAATTTGTGCAATTAAGTGAAAAATAAAAGACATGTAACTAATCGCGAAAGAAATTGAGCTGAACTGAGAATTTTTTTGACGAAAAATCATTAAAAAGTCAATTTTTTTGACAAAAATTCGAGAAAAGTAGGTTTTTCTTTTCACAAAAATGACTGAAAAAGGCAATTTTTAATTTAAAAAAATAAACCCATTTTTCGCCTAAAAATAACTTTAAAGAAAGCCGTCGTTTTTTTACAAAATACAACAATTTAAAATAGCTATGTTTTCGACATAAAAATTAAGAAAAAGCCAATTTGTTTAAAAAATGATAGAAAACGGCTTATTTTTTGTTTCGTACGCCTAAAAAATCAAGCAAATTAGGTTTTATTCCATTTTATATCAAAAAATTATTATTTTTCCCGACAATCACCGTGATAACCGAAGCCGCTCGTGCCACCCCAGCAGATCGTACGCTATCCGAAGAATAATGGAGAAGCTCTGAAAGAAAAAGAACGTGACTCTCGAGGCCGCCCGTTCGATAATGCATTTTTCAACGCATCTGATTTATCATCGCCGATGCCGACGTTGATATCGGACATGCGTTGGATCGAAGGCCGACGCCAGAAAAGTTCAGACGGCGAAAAATGCCAGATTTGAGGTTTGACGATGAAGGTGGCCTGATCGATGAGGATACGGTGGAAAATTCCACGATTTTAAAGAAAAATCTGGATGGTTCTGTTGAATCTGAGGATGACGAGGATCTAGAAGATGAGGAAGAGGATCTGGATGATCTACTGGAAGATGATGATGAGCTGGAAGAGGTGAGATTCCGATGATGTGGAAAGTAAGCCCCAAAGGTCGGCAACATAGCGAAAAAATCTGCTTACCAGAACCCGCTGAACTCTGCCATTCGTATTCGAAATGCCGAAAAACTATACAAAATTCTGAGCTCTTCTGGAAACACAGGAATCGATGGCTATTTAGTGCTGCAACTCGACTCGTGAAATGTCATCATCCGAGCCTTAAAGAAAATAAGAAGCGTCTGAATAAGCTTTTCCTCTTGTGTTTAAGATGGTTTGATATGTGTCGAAGGAGGAATTGACAGCGGAAAGTGTGAAGGAAATGAATTTAGCGCAGGAAACTTATGGGAGGCATGCGTTGTGGTATGAAGGTAGCGATTGGGGCTGGAAAAGCTGAAAAATTACCGCACTTATTAATCTGAAAATTGAAAAAATTCCAGAATTTTTGACCTAACATTATGAAAAATTCCCGATTTTTAAACCCCAAAAATTGCAAAAAAGTCCCGATTTTTTACCAAAAAATGTTTTAAAATCCCCGAATTTTTTACCTAAAATTGAAAAGTTTCGCTATTTAGACCCAAAAATTGCAAAAAAGTCCCGATTTTTACCAAAAAATGTGTTATAATCCCCGACTTTTTGACCTAAAAAATGCAAAAAGTCTCGATTTTTAGACCCAAAAACTGCAAAAAAGTCCCGAATATTGTTACCAAAAAATGTTTTAAACCCCGAATTTTTGACCTAAAAATTGCAAAAAAGCCGGTTTTTTTACAAAGAAATGTTTCAAAATCCCCCGATTTTTTGACCGAAAAATTGCAAAAAAGTCTCGATTTTTAGACCAAAAATTGCAAAAAAGTCCCGAATTTTTTACGAAAAAATGTTTTTAAATCCCCGAATCAATTTTTTGACCTAAAAATTCTGCAAGATAAATTCCAAAAACTTTGGCCAAAAAATTAAAAAAAATACCCGAATGTTTGACCCAAAAATTGAAACAGAAAAAGCCCCGATTTTTTCAGAAAAATCATGTGAAAAAACCTTTTTGAAAATCAGTCTCGAAAAAAAAAAGAAAAACCAGGAAAATCCTGAAAATCAGAAAAAAATCATTAACAAAAACTAGGAAACGATCATGGAAATATTTTTAAAGAAACATTATATAAAAAATCATTAAAATTTCAGAAAAACAATATGGAAAATCCTGATAATAAAGAAAATAAAATGCTCTATTAAAAATTTAAAAAACCAAAAAATTCAACAATTGAAAAACTGCTAATTTCAAATTGTTTTTTGCATTTCGACATTCAATACGGAGTCCGATGTGTGCATGCTCTAATCTGTCAACACTGGAAGCTAGGCCGCCAGGACAACCAGAAGAGTAGCCCAGTGTTGGATTAATCTCTCAATTCGTCTTGTCTACGGCCTCTTCCCAGTTGCCGATTCCTGGCAGCCAGTAGTGGTTCCGGCTCTTTTTTCAACTGAAGCACTTTGCTCGGCGAAATGTGCCAATCTGACTGTGATGCGTTGGCTAAACAAATTCATAAGTTGGCTAATGCTATTCTTGGATTGTGTCTGAATCCAAGAGGTAATACTTGGAAACGAACATTTAAATAGGCAAATTTTGAAAAAAATACTGAAAGCTTTGATATAGAATAGGAAAAGAAACGAAAAAAAAAGCCAAAACCAAAACCCGCAAAAATATTAGTTTCAAAAACTAACGAACCTCAAACCCAAAATAAATTCAGAATTGTTGCTTAAAAAAATCGATTTTTCTCGATGAAAAAAGATCTATAAAAATTCAAAAAAGCAATTTTTTAAAATATAACTTGATTTTTATTTCTGAAGTTAATTTTTTAACAAGTAATTGCATTAACTTTCCATTTTAATGTTAAAAAAAAGCGAATTTTTCAAAAATTGATATTTGTTTTGGCAATTGTTAGATCAGAAAACATTGAAAAATACAAAAACCCCGTTTTGTTTTAAATTAATGGTTTTTTAGAAAAAATTGCAATTTTTCAAAAATCTTGGTCATTCTGTCTCTAATATTAAGTCTCCTCGTCTCTTTGAAAAAACTTTAAAAAACCTCCGAATTATCTAAGCGTATCAAAATTTTTGAAATTAAAAAAAAAACCGTACTCGACATTTTTACGAAAAGTTGAAAATTGTTTTAAATAAAATCAATTTCAGATACGTCCCCGAGCTGGTCTTGCTCGAAGTGCACTTCTGCTTGCAAGTTACAGAGAAAAGTGAGAAATTCGCGACAAATGGATTCCCGATTTCCAAGCCGCACACGGTGTTATGGAGGAGAAGGTAAATTTATAAAATTTGTTTTTTCAATAAAATGTTTTCTTTTGGTTTTCTTTAAGAAGATTTGCTTAAAAACGCTCAATATTTAAAAAACTGGCAAAATCGAATTTTATAATATAAATTAACAATTTTGTTCAAATAAAATTTTTTTTGAAAATTTATTTTTGAAATTTAAAATTTTGAGGAAATTTTCACAAAATTGCCAATGATAAAATGTTTACTTTTTCTTGTATAAAACTGCTTTTTTTTAAAAGCAATCCGAATAATTTTTTAATAGATTGCAGAAAAACCGAAAGACCTCCGTTTGAAAAACGAAAATCAGAGTCAGTTTTTTTCCGAATTTTCTATTTTTCAAATTAAATGTCGATTTTGCAAATACAAAACGGTTAAAAAAAAACTAAAAAAATTGCCGAGAGTCCAAAAAAATATTAGTTTATTTTGAACTTTTTTTTTTAGTAAACACGGCCGCCTTGGCAACGAAGGGGGAGGGATTGCTTGCGCGTTTCGCAATGCGCCTTACGCGTGCTGGCGCACTTCTGAAAGCCTTATTGAATTATTTTTGCGGAAAAAATTCATTTCTTCTATGAAATTTTCTTGAGAAAGCTAAGGAATGATGAAATTTTATAAAATAGTTTTCTCAGTTAAAAGGAGAATACCTTGCTGCAAGAGGTTAAATTTATTGAAAGAGAAAATAAGAAGTTTATCTTTGTTTTGACTACATAAAGTGGGGAAATCGCAAAAAAATTTGAAGACAATTAAGAAATATAATTAAATATTTAATTGCCCGAAAGTAAATAAGAAAGTTTGGTCACAAACAATTTTATTTTTGAATTAGGGAAGTGTTGAGAAATGAGCATGTGCCAGAATCACTAAATCTGAGACATTCAGCCCAATTTCTCTAATTTTCTTTGATTTTATCATGGAAGTGTGGCTTTTTCTGTGGTCTTGCCCGTTTTGTTGAAATTGGAAAATCCCTTGTGAACTGGGAAACTAGCAGTGAAGCTTCCATAAACAAGCCTTACTGCCGGAAAGGAAAGTAGACAATTGGAAAACTAAAACCGAAAGCAAGCATTAAGAAGATCCCGTTTTTATATATTTGATTTGCAAGCATTTTACAGTTTTTTCAAGAATTCAAACTTCTAGATTAAGTTGAGGCACAGAACTCTAAGATGGTAATACTAAGTTTTATGTTGAGAATAGCCAAGAAAGACTATCTGGAAAACATTGCTTTCAATCATTTTTTGTAAGTAATGTAATGTTGAAACTCTTAATAGTTCAGCACTTTGTATGGCTTCCTAATTTGACCCCGAACGTACAGTAGTATGTGGCAAGAAATAAAATATATTGTGCAAATTGGAGCCGAAAAACCCGACCATGATAAAATGTTAAATACGTGTATTGCTCTATTAAAATACCAAATATTAATTAGATTCACTGTCTCGGAACTCTTTTTAATTCAGATTAATTTTTAGCTCCTCTTTTTAACGTAAAATCTGGATTTATAGAGTTCGATCCTGATTTCAACAGGTACATAGACGAATTCTATCTTAAAATGACGAGAAAAGTTTGCTCTATAAACTTTGAGATCCAGGTTATGAGAAAAATAAATAAAAATTTAACTATTTTAAAAAAAAAAATCCGAAAATTCAGCTGTTATTTTCAAACAAATGGTTCGTTATGCATTTCCTCGACCGAACGATTTCCGAGAATTCTTGTTACTTTCGTTTCAGTCTACTTTATGAACACCTTGTTATCATTGATTGAAATAGTAACTAAATCGACGAGTAAAACTAGTAAAAATAGAGGGAAATCACTCTTCAACGGTTCTCGGTGGTGTCGACGCAATGAAGCTGCAGCAAAAAAATTTTGCAATTTCGGTCATTTCAGCTTCAAAAAGGTGTAAAACTTATTAAAAAATTAAATTTCATTTCAAAAAATTAATTAGTCATATGTGCTAAAAAATAAAAATTAGAAAAATTCTAATTTTCAGCGAAATTTCAAATTTATTTTTATTTCAGAAAAGGATTCAAATTTTGGCTTTCAAAACAGCTTACAAAATATTTATTTTTAAAAAATCTAAGAGCTTTCCCATTCTACGGGGGACCCGCACTCCAGCCACTCTCCCTGACCACAATAAACGCTTCAACAATTCCCCATCCGACCAATTACGACTCTATAGAGCTTCACGTTCATCGTGCTCTGCTCTCCCTCATAATCCAACATCTCCGTTTAATCTACGCCAACCAAAATGACTATTCTATCGTTTTCAAGTCATTCCTCCGGATTTTGGAATCAATTCAAGCCAAAAATCTTCAGCCGAGGTCCAGGACTGAGAGCTGGAGACTCTGTGCGTCTCAATGAAGGCTGAAAATGGAGCCGTGCCGTTTCTGGTGCACCTATCGCTGGTGAAAACCGCAAAGAGCATGCTGAAATGCTGGAACCTCGACTGCGTGGGATTTCGATCCGGAACGCCCCCATCACGTACCCAACAAACGAGAAGAAGAACGCTGACGAAGACTCTGAGGAACGAAAGACGTGGAGCCATTACTCAAGGAGAGCTGCTCAGAAAAGGATACTTGGGGCATTCGTGGCCAGGAAGCAATTGTCGAGTGCCAAGACGCTAAGGATCGAGCGAGAATTGCTGTGGCCACGAAACGTGTCATGGGCGGTCTTATGCAGGACAGCATGGGCGAGTGGATTAAGGAGAAGCGTACGGCGGATGTTGAGATTAGAAGAATAAGGATACTTGAAGAATTAATTTAAATTTTCCTATTTTTTGTTTGTTGAGAATGACTTTGGTATCTGGCAAAAAAAACCACTAAATTTCAGTTTTTCTCGATTTGTTGAAAAATACTCATAAAACTGATTTCTATGTTATTTTTGGCAAAATTTGCCTTTCCCCATTCAAACATTTTTTTTGCCATTTTTCCTCCATTATTTTTTTGTTATTTTCTTTTTTTTTCGTTTTTGTTATGAGATATGTTTCTGTTCTGTTGCCATTTTTTATTATTGAAAATTAAACGAGTTTCCTGAATTTTTTTGTTAACCCAATTTTTTTGAAATTTTCCGTTTCACATACGTTTGTCAACCTATCTCGATTAATTTTTGAAGTTTTCCAATTGACTCGCGCATTTTTTAAAAAGTTTTTAAACTGTACATTGACAATTACACCCCTCTAACTCGATCTGATTTTATTCAGATTTTTAGTTTTTTTAGGTGAAAAAGTTCTTGTGCTAAATTCATCCATTATAGTTCGTAATTCAGCAAATTTTGGGTCCGATTAAACTTTGAGCGATTTCCAATTTCATGGGAGTTTCTTGTTCAGAATATGTCTCGAAATTTTCTCATTTCTGGAAATTTTGAGTCTGTCACACAGTGTTCCGTAATTAGCTCGATTTCACTTACATCTCCTCAACTCTGCAAACTCTCAAACTTTCGGAAGGGTCTCGCCATGAAATCACGGGTGGGCGGAATTGCAGTTCGGCAAAGTGCCGGTTTGCCACGGATATTGTCAATCCCGGATTCCGTTTGCCGGAAGTTTTTAAACGGGATCTTTTATAAGACAGACGGAAAGACTTAAAACTGATTTTTAATTTTTTGCCCGTTTTCTCTAAATATTTTCATAGAATTTACTGACTTTTTAGGATAGATGTTTTCATGGGATGTGCACATGTTGTTCCGGCAAATCGGTAACTGCCGAAAAAAAACGACAATCCAAAAAAATCGTTTGCCGTTCTGTATTGTACCCTTTTTGGCGAATGTGCGTAAATTTATATGTGCTTGCGTGTGTAATATTACGTTCATATATTCTAAATATCCGCACCTTTTGAATTACTCATAATCTATGCATTTACGTACCGCGAATATATTTTGGGAATACACATTTATCATCATTCCCACCCGTTGCCATAGTATCCTCATCCCCGCCCCGCCCCGCCCCTTTCTCTCTTTCCTCTTCCAAATCCTTAATGGCTCATCCGGTCATTGGAGAGAGAGATATGGCAGATGTGGCGGTTTTGCCTAAGCAAATGCTCTGGAAAACTCGTATTTTATATAACTATGTAGACAATTTCGATATTAAAAACATTTATATGTAAAATTTTCATTTTTATATGTTGAATTTGCTCGCCGAATTTTGACTTACATTCTGACAATTGTGTGTATTTAAGAGGGTTATGTATATTTACGATATATTTTTAATCAGTTATCGAATGCTCATTTCCGTTTTTCTACGAGTTGTCTTCATTTTCGGTGGTTTTTTTTTGTTTTTTTTTTTTGAAAGTGTATTTTTTAAGTTCAAAAAACTACAAAAATGTTTTCAGTCAGGATCAATTTATTAGGTTTTTTCAATATTAAAAAAGTTATTGGGAAAAATGAAGTGAAACTCGTCGAAAAACGAAAATCATCATTCGATAAAGATTAAATATTTAGTAAATTGACACACATGTAAGTCTCCGCCGCGAAAAATCGATAAATTTCATAGAGGCATAAAAATTCACAATATAGTTTTTTTATTTTTTATTTTAATCCAAATCCCTATGCATGCTTAGTGCGAATTTTTAGCTGTTTTCTGTAAAAAATCAAAATATTGTATATTACATATCATAAATTTTTCCCATTTTCTCAAACGGATCTCGCCACGACAATATTAAAAAATTCCCGTACTTTTCTCCCGCAGGAATGCCGACAACGGAAGAAGCTGCCAAATCGCCGCTTTTCCGACGCAATCGACAATAATGACACTGAAGCAGCGCTGGCACTGCTGAAAACGAAGGAACAGGCCGCTCACGGGATAGTGGAATGAGTGCCTGCTGGCAGCTACTTGCCGCGTATAGGTATGCACTTTAAAGCGGCGACGGTTACTTTGGATCCTCGCAGATTGTTTAAAGGTACATACCGTAATCCATTGAATTTCAGAGGAAATCTTACGTTGGTCGAGAAAGCGATTGAGCTGAAATGTGAATGAGAAAACCGATGGAACTCTGTACACTCCACTCATGTTTGCCGCCAGGTAGGCAAAAATTTTTTAAAAAAATTCCGGATTTTGCGTCAAATTTGATGCAAATTCTGGTTTTTTTTCCGATGATTAAAGTAAAAAAAAATTCCGAAAAAAATCGGATTTTTATGCTAACAACTAACTTTTAAATGAAAAATCGTGGAAAATTACAAATCACGTAGTTTTGATCTCAAATTCAATTTAACGAAAAGTCAAATTTTATGGTTTTCGCGGTGACCAATATTCGCCAATTTTTTTTTGCCCCAAATACAACACATTTGACGCGCAATTTCATTTGAAACTTTTTCCCGTTTTTACACTCTTTTTAGACTGAACCCCAATATTTGAAGGCGTAAAAAAACAAATAGGACCAATACACTATATCTTACGCGCAAATGTTAAATTTTTATTTAAAATCCTCGTAAAGTTCTATGTTTCTTTTTTTGATCGTTTTCAAGCTCAAATCAAGTTTCAATCCGAAATATTACCGGAACATAATAAATGCGTACTGGTCAACATATTTGACGCGCAAAATATCTCGCGTACAGTAATTCATTAAATGACTACGGTAACGCTTGTGTCGATTTACGGGCTCGTTATTAAAAATCATTTTTCAAAAAAATCGAGCCCGTAAATCACCACAAGCGCTACCGTAGTCATATAATGAATTTTACCACTGTAGTTTTCTATAGGCGAGATATTTTGCGCGTCAAATATAATACACAATCTCAGGACTAATTTTGCGTTAACGTATTACTCTACTTTCTTAGTTTTTCCAAAAAAAAAATTCGAATACACCATATTTAGACGCGCAAACTTTTTTTTACGTTCAAAGCAAAATTGTCAAACGTTTGCAGGAAAACAGGCACGTATGCCGCCTGAATGGACTCCGCAGCCCGTATGTATTTGGTGAATGGAATCGGAAAAACCGCCTCTGAACTGGCGGAGGCATTTGTGGGTCATCACGAGTGTGTGGCAATTATCAATAATCATATAACAATTGATGTGATCGAAGATCTTTTGCGGCCAAAAGTGAATGGAAAATATTATCGAATGAGCTGAGGAATAATGAGCTGGCTGTATTTATTCATTCCTTGTGTGGATCACATGAGATTCATCCTGTTAAAATTATTTTTCGATTCAGTAAATATCCAGCAATTCGTTGAAGTACAAGAAAAAGGTACATAGCTGTGTAGTTTGGAAAAAAAATGAAAAATCTGAAAATTTGAGAAATTTCCTTAAGCTTTTTCAAGATGCGCATTTTTGTTCATTTTTATTTTCAAAAGAAATCCAAAAAGTTTGTTAAAAAATTTAATGAGCATTCTTTTTAATTTCAAAACAAAAAAGTTATACCAAATAAAAACTTTTAGTAATCAAAATTTTTTTTCTCGGTTTTTCTCATCGTTTTTCAAATTTGAGATCTCTTCCCGAATTTTGCCTAAAAATTGATTTTTTCAAAATAAGAACTGATTCTGTGAAAAAATGTATGAAAATGCGAATCGCAAATATTCGAAACTAAAAAAACTTTTATTAAAATAAATTTTTGAAATTTTTCAGAATTTAAAAATTGAATCGAATTAGGTCTCAGTTCAGATCACGATTTTTTCGAAGTTCTGAATCTGTTAAAAACGAGAAATTAAAAAAAAATTTGATGTTAAATGTTTTTCGAGATTAAAACCGAATTGACAACCCAAAGAAAGTGTATCATGTAAAATGTTTTTGTTATAATAAACCAGAATTTTCTCGAAATTTTCAGAAAGTTCTAGAATATTTCAGAATTTTAGGCTCTCGAAATTTCCAAAAGGTTCTAGAACATTTTCAGAATTTTCTCGAGATTCATTTTTCAGAGGGTTCTAGAACATTCCAGAATTTTCTCGAAATTTTGGTTAGAAGATAGTAGTTCAGAATTTTCTCGAAATTACCAAAAGGTTCTAGAACAGTACATAATTTTCTCTGAAATTTCCAGAAGGTTCTAGAACATGCCAGAATTTTCTCGAAATTTTCAGAAGGTTTTAGTATATTTCAGAATTTTCTCGAAATTTCCAATCGTAAAGGTTCTAGAACATTTCAGAATTTTCACGATTTTCAGAAGGTTTTAGAATATTTCAGTAGCAATTTTCTCGAAATTTCCAAAAGGTTCTCAGAACATTACAGAATTTTCTCGAAATTTCCAAAAGGTTCTAGAACATTACAGAAATTTCTCGAAATTTTTAGAAGGGTTCTAGAATATCTCAGAGTTTTCTCGAAATCTCCAAAAGGTTCTAGAACAATCCAGAATAATGTTTTCAAAAAATTCAAATTTGTCCCGCCAAAATGTTTGCAAGAAATTAAACTTCGAATTGCCAAAATATGTACAGTACTCCTACAGTACCTCTACAGTACTACTACGGTACACCGAACGTCCCATATCCCACTACTAACCTAACCTATATCTCTTCAAAAGACTAGAACACAATTTTTCCTAAACTACAGTAATCCTACCGTACTCCTAAAGTACTACTACAGTACCCCCACCATACTCCACTGCTAACCCCAAACCTATATAATCATCAAAAAAACACAATTTTTCCTAAACTAGAGTAATCCTACCGTACTCCTACAGTACTGCCCTACGGTACTACTACAGTACCCCCACCATATCCCACTACTAAGCCCAAACTAATATCCTCCATCAGCCAAAAATGCCTTGCCCCAAGTTTGTAAACAATGAGGTCTCTAGTTGATTAACAAACGGACACTATTTTTTTATTTTTTTCAAAGCAAAAACCATCCATTTTCCAGATCCTCTATGTCATGGGTATCGTGTCTTCGAGAAACAGCTTCGATGTAGGGCAAGCAATGAAATAATGTCGCTCAAGCTTTGGCTAATTCTATTTTCAAGGCGTGAAACCTCGAAATTTGTGGAGTCGAACAAGGAAAAGTCGCCAGTAGTACAACCAGGTACGCAAAACTGAGTTCCACGTGGCAAGAGGTTGGCGATGAAACTAGGCGAGCACATGAACCCGCGTGATGAGAAATACGGTTGCATGCGTACGTTCCCTAACAGTATAAACATTCATTACTTCATGATACTCTACAAAAAGCACTGCAAAAAAGTCAAATTGGTGCGAACGATACACCCAATGTGCCACGTATGAATACATTGTTCAGGCACTTTTCCGACAACGAATCGCTGCCGTCTGCCCGTTTTGCTCGGGGGTCTTTGCGGACATCGGAGCCAAGAAACGGTGCTCACAGTGCAAGTAGGGAGTTTTGTGCTAGGGTTAAAAATAATTATTTAATAATTTAATAAAGCTCGAATTTGTGGAAATAATCAATCTCCAAATTTTAAAAATATGTAAAAAATTTTATTCCGTTATATGCTATTTTATAAATTTTCCCACAAACTCGGCATTTGGCTCTAGCTTCTTGCTTTAGCCCAAATAATATTAACTTGAAGCTGTCTAAACACGTTGGGAAAAGTTAGACAAAGACTTTGGCAAAACTTGGATTCAGCTTTACCAAGGTCTAACCCAAGTTTCACCCAACTCTTGCCAAACTTTGGCCCAAAGTTTTCTTATTTCGTTTCAAATTTGGGCCAAAGTTAGGGAAGAGTTGGGTGAAACTTGGGTTAGACTTTGGTATAGCGTGAAGCCACGTTAAAGTCTTGCCTAACTTCCCAAGTTTAGACAGCTTCTGATCCAAGTTAACATTTTTTGGGCTAAACTTGGGTAAGAAGCAAGAGCCAAATGCCGAGGAAATCCCGCCGAAAATTGAAAGTTCAAAATTTCAGCTTCGTTTTTAATTATTCTGCAAAATTTGGAAGTTCCAACAATTGTTTAAAGATTCTTTAAATTAAAAAAAAGAATTATTAAAACTTTTTAAACACCAAAATTCATTGTAGAAAATTCCGAGCGTAAAATACTCTTTGAAAATCCGGGATAAAATCAAAAAAAAAATAAATTCTAGACATTCTGCCATTAAATATCGAAAAAAGAACATGTTGTCTGTAAATGTATTAGTCAAAATTAATTCTGTTTTTCCAATCAAAATTTTAAGTGTCTGTAGAGACTTATTTGAGTTTCCTGTTTTTCCTCGTATTACTAAAGTTTTCTATAATATGCTGTGTTTGAAAATTAACTATATGTGAAAATATCGAGGCACAACGTTTTCAAGATCTGGTGAAATTTCGGATCTACGTTTTTCGGATCTACCATTTCCGGATCTACGTCTACCGGATCTGGCACCGTGCCAACGCGCAAAACGCTTTTTTGATCACTCGGCGCACGTTGTTTTTTGTAAATTTCTTCTAGAAGAAACGCTTAACCACACGCGACGCGTAACAACGGAGCATCGTTATCACGTTTTTCTCCGAGATTAAAATCTTCGAGCGTTTTATCAAGAGTCACGGTGCAAGACGAAAATGGTAGATACCTCGGGAAAACGGAGATCCGGAATTCCGCCAGATCTTGAGTGGTGCCTCAAAATATCGATTAATGAATTTTTTCCGAAAACCAATTTAGCTTCAACAACAGAATAGCTAAAAAGTGATCAAGAAAAACTCAATTCTTATAAATTGCAAACACTTTCCAAATTTTGATAAAATGGAAAAGATTTTAAAAATTTCAGGCAACACATTTTTTAACTCTAATAAACGTTTTTTAAATTCCAACAATTTTTACAGCTCGCCTACTGTTCCCAAAAAGAATGCCAAAAATGCGACTGGCCAATTCATCTCAAAAAAGTGTGCTCATTTCTGAAGAATTAACGCTACAAGAAGTGTCGCCCACCGACGAGACCGCCATGGCGCTGGACTCGGCTCAAATCGTGGCGCCAAAATCGAAGTGTAGAAGTGCCGATATTCGATCTCAATATACTTTTTTTCTGGTAAATTTATTTATTTTTATATTTCGGCTTCATCTCATTTCACGCAATTTTAATTTCATTTTCATAGATTCATTTTTGAAGTCATTCCTTGAACAGGAAAATTCACTAAAACATGCATTAAGAAATATGGAATCCAAAAATTAATCTAAAAACCTTTTCAAAAAACCACTTCGTCAAAAACTGATGATGGAAAACTCGTTGACAAAAACGGAAAGAGTATCCAATAAAGATTAAAAAGTTCGACATTTCGTAAATCGACACAAATCTCGTCGACAAAATCAATACCGAAAAAATCAGGAACCCAAGAAATTCAATATTCCCATTTGTAAAGACAACTCGTAAAACATTTTCAAATCAAGAAATTATTTTTTTTGCCCTCAAAATTGATCCTGAGTGAATACTATAAAAAAGAAAACTATAAAAAGTGGCGAAAATTCGAAATTTTAGCCCCTCTAAATTGGTTCACTTTAGTTGTCTAATGATACAACAAAGTAGACATAGGTTACAATATCTGATATTGGACTTGTCTAAACAAAAGTGTTTTCGTTTTTTTAACGGATTTTTAAAATCCAGAAGAGTAACGAAAAAAAATTATTTTAAGAGAATAGAGTAAACTATAATCATGTTCGAGAATCAAATCCGCCTAAGAATATGAGGTACGGACCCAAGTGTATCATAATTATTTAATTTCTGTGTATCAGAATTATTTTAGTTTCCTTACTGTGATAGGTTCCCAAACTGCTTAAATTTAGGAAATATTTCTTTACTGGACACTCTTAGCCACTGTACGCTGCCGATCCCAACGCATAATAAGAGAATACAGAACACCAATTATGCCCGAGAAAAAGATACTCAGAATATAAATATAATTTATCGGATGGATCGGCAAACATTGAAGACACTTTCTAATTACCCAAATTGTTCAGTATATTCTAAATCTAATTCTCTTAAACTAGAACCCTCTTGGCCAATGTACGCGGACGAACGTATCATAAGTAAATACAGAACACCAATTATGCCCGAGAAAAAGATTAGCACTCAATAAACATTAGTCAAATTCGGATGTATAATGATTCCCGAAGACACTTTCCAACCCACATTGTTCATATTCTAAATGAAATTCTTTTACTAGAATTGTCCAATGTGTGCTCCGAACGTATCATAAGGTGAATACAGAACAACAATTATGCCCGAGAAAAAGATCACTCAGAAAATAAACATAGTTGAATTTATTGGATGTATAAAGATTCCCGAAGACACTTTCCAATTACCCAAATTGTTCATATTCTAAATGAAATTCTCATACTAGAACACTCTTGGCATGTACGCAGCCGAAGGTATCATAAGTGAATACCAGAACACCAATATATGCCCGAGAAAAAGATCCTACTCAGAATATAAACATAGTCGAATTTATCGGATGTATAAAGATTCCCGAAGACAGTTTCGAATTACCCTAATTGTTCATATACTAAATGACAATTCGCTTACTAGAACACTCTTGCCAATGTACGCAGGCGAACGTATGTGAATACAGAACACTAATTATGCCCGAGTAATCCTACTCAGAATATAAACATAGTTAAATTTTGGATGTATAAAGATTCCCGAAGGCACTCTCCAATTTACCCAAATTGCTCATATTCTAAATGAAATTCTCTTACCACTCTTGGCCAATGTGCGTGACGCGGCCGAACGTCTTTTATGATAAGTGAATACAGAACACCAATTATGCCGAGAAAAAGATCCTACTCAGAATATCAATTAAACATATTCAAATTCAGCGGATGCATAAGGATTCCCGACTCTTTCCATACCCAAATCATTCTAATTGAAATATCTCTTACTAGAACACTCTTTATTGGCCTATGTACGCAGCCGATAACGTATCATAAGTGAATACAGAACACCAATTATGCCCGAGAAAAAGATCCTGCTCAGAATATAAACATATTCGAATTTAACGGATGTATGATTCCCGAAGACACTCAATTACCCTAAATTGTTCATATTTTAAATGAATCTTACTAGAACATTCTTGGGCCAATGTACGCATTGCCGAACGTATCATAAGTGAAAACAGTACACCAATTATGCCCGGGAAAAGATCCTACGCAGAATACAAACTTATTCGAATTTATCGGATGTATAAAACAAGGATTCCCGAATACACTTTCCAATTACTCAAATTGTTATTCTAAATGAAATTCTCTTACTAGAACACTCGGCTTGGCCAATGTACGGAGCCGAACATAAGTGAATACAGAACACCAATTATGCCCGAGAAAAAGATCCTACTCAGAATATAAACATAGTAAAATTCTGATGTATAAAGATTCCCGAAGACACTTTCCAATTACCCAAATTGTTCATATTCTAAATGAAATTCTCTTACTTGTCTAGAACACTCTTGGCCAATGTACGCTGCCTAACGTAACATAAATGAATACAGAACCCCAGTTATGCCCTAGAAAAAGATCCAACTCAGAATAAAAACATATTAGAATTTACCGGATGTATAAAGATTCCCGAAGACACTTGCCTTTCCAATTAACCAACTTGTTATTCTGACTGAAATTCTCTTACTAGAACACTCTTGGCCAATGTACGCAGCCGAACGTATCATAAGTGAATACAACAAGAACACCAATTATGACCCGAGAAAAAGAGCTTACGCAGAATATAAACATAGTCGAATTTATCGAATGTGATTCCCGAAGACACTTAATTACCCAAATTGTTCATATTCCAAATGAAATTCTCTTACTAGAACACTCTTGGCCAAGCAGCCGAACGTATCATAAGTAAGGAATACCGAACACCGATTACGCCCGAGAAATAGATCCTACTCACTCGAATATAAACATATTCGAATTTAACGGATGTATAAAGTCCCGAAGCACACTTTCCAATTACCAAAATTGTTCATATTCAAAATGAAATTCTCTTACTAGCACTCTTGGCCAATGTACGCAGACGTATCATAAGTGAATACAGAACACCAAATATGCCCGGGAGATAGATCCTACTCAGAATACAAACATATTCGAATTTATCGGATGTATAATGATTCCCGAAGACACTTTCTTACCCAAATTGTTAATCTTCTAAATGAAATTCTCTTACTCGCACACTGCCAATGTACGCAGCCGAACGTATCATAAGTGAATAACAACAATTTACCCGAGAAAAAGATCCAACTCAGAGTATACACATATTCGAATTTGATCAATCGGATGTATAAAGATTCCCGAAGACACTTTCCAATTAACCCAAATTGTGCATATTCTAAATGAAATTCTCTTACTAGAACACTCTTAGCCAATGTACGCAGCCGAACGTATCATAAGTGATTACAGAACACTAATCATGATCGAGCAAAAAGATCAGATCCAGAATATAAACGTATTCGAATTTATAGGATGTATAAAGATTCCCTATTGGGAAGTCGAGCAATCCACGGCTGGTTTATCGGCCACAGTCCGCGGTTAGGACATGGCTTATATTATTGGGCCAAGCGGAGCACCACCAGGCTGTGTACCTGACTTCCAGATCAGCAGTACATAGCACTAAGAAAGGATCGTCCTTTATATCTTTTAACCTTTTAAAAAGAATCGAAGGAACTCTCAGGGTCATGTGGTTCTGGGGACAAAGAGGGAGGCTTACATCAATACCAAACACTGGTAGATAACAATACCTGTGGTAGATCACAAGCCACCCTAGCCACAAAGAAAATCTGTGGACGTCCTCAAAGGAGGCCGCCGGCGCCCTTGAGCTGGCCAACAAACCCTTCGAGCAGGGTGGAGGACTACTCCAGCGACTGAAAACGGCGGTATTAACGCCACGTTGTCGCCCAATAACAAAAAGCCCTCGGGAGAACCTCAAGAAGCCCACGGCTTAATTTTCAAATCAATTACCTTACTATGAATCTCCTTTTGGCTCTACGAGTCGTCGTTGATGTTACCATCCATTCCGTCCTACCTGGGTCCCGTCAAACAGTCCATCTGACGTCCAACCAACATGGGTGGAGTGTCCAACGCATCTGAAATTGAAAAGTATTTATATCCACTGATTTTTTAAATGGAACCATTTACAAACAAAAACGGAAACGCTTAGGTAACCAAAAAAAAAAACAATTAGTATTTAAAACAACGGAGACAAATGCTCTCGCGTAAGTTATATTAATTTTCCAGTCGACTGCAAGGCATCTGCTCCCACGGGTTTATATAAAATTATGTACCTATTTTTCTTGAAGTCGACTTGTCTTGAAATCTTTCAATCAGTACTTTTCAAGAGTTTTTGGTAATTTTGTCCGTCGATTTTTCAGAAATTTCAAAAAAACGGCGAAATTCCAGTCAGAAGCCTCATTAATATATCACTAGTCCAGCTCGCTGACCCAAAAAATTATTTTTTTTGAACTACAGTAATCCGACAAAATTGCTACAGTACTATTACGGGACAGCCACATAACAAACTTTTGAAAAATGCGTATTGCGCAACATATATGACGCGCAGGCGCAAATATCATGTGTAACGAAAACTACAGTAATAATGTATGACTACTGTAGCGTTTCTGTCGATTTACGGGCTCAATTCTAATCGTAATGTTACACGACACATTTTCGCCAAATGCAAAAAGGTGTGCGCCTTCAGATTAAAAAAAAGTTGATTTTTGTGCCGGCTTTTAACACATCGAGAAAATAAAAGAAACGAAAGTTTGTAATTACAGTACTCTTCTTAAACGCGAACACCTTTTCGCTTTTCAGAAAAACTTGCGCCGTTTCGAAACCTGGTACTATACTTTTATAATTAAATCGATTAAAAATAAATTTTGCGGTGGAGCATAAGTCATCAACTCGAAAAGAAAAAATCTTGCATGCGGTAAAAAAAAAGCAGCAGTACTCCAAATCACCCATTGGAGAATGGCTGGAAATTGAAATCAAGTCTGCACTTTGAAAAAATGCAGCGTTGAATGAGAGAGGGACAAATCGAACAGCATTTTATAAGGAGTCCAAAAAAAATGTTTGTGGTAGGTCTTGAATCGTGCAACTCATCGTTTTAAAATCAATTTTTAACACTTTTATATCATAAAAGAATAGTCTTTCATCATCAATCGATTAAAATACCAACTCTCGAAAATTAACAGCTTTGTTAACAGCGCCGTCTACCTGATTTGAAATTGCTCGCAATCGGTGCCGCTCAACTAAATGTTTTGCGCGTCACTTAAAATGCGCCCTTGTACGTTTCAGAAGCGCGTCTCCTAAAAAATAAAAAGGCTAGTCCAATTTTATTAAACGGGTATTTAATTCATGTAAATATATGAGCTGCAAATTTAGGAAATCTAGGTTTAACCTATCAAAAACTATAAAGTGGCAAAAATGGGCAATTTATGGCAACAATTCACGATCTTGAATCTAAAGGGTTCATTATTATTGGTAAAAGAGGACTAAGAAATTGATATCCGAACCCTAAAAAAATTGTTTTTCAATATTCAGAAGATATTATGAAGTTAGTGTACTTCCATTTTTTCGATTGTACGGTAAATCAAAACTAAAGGTGGGCACGGGCGTATGATAAAGTTACGATCGTTCCAATCACCAAAGTCGCATAATCACAGCCAGAGCCTCACATGAAAACCCAGTGTGTGGGAAATTTAAAAATCAGTACAAGAAAGCCTCAAAAAAAAAACAAAATTACAGGAAAAAACGGAAATTTTCAGTAAAAAATTATAGGGTATGTACAATCGATAAAAAATTTATTGAAATTCAATCGAATTCTCCGTTTGCGGCGTTCGGATCGTTCACTGAGGAAGAGTAGTACGGGATGTCGAAGTTTGAAATTGAAGAATTCGCACCAACCGGACCCCTGGAAGTAGATCGTAGGAGCTGCAAAAAATGTTCGTGGCCGCGAAAAAAATCGGTGGCCGATTTTTGTTTTTTCGGGGCCACGATGTGACTAGTCGGCGAAATTAAAATTTGTTTTTTGGTAGTGTTCAAAACTGTTGTTCTGGTTGAAATTTTATCGAATTTTTTTTTGTGGTTTTTTCAACTAATTTTTTTTTCTGAAAATACTTTTAGAACAGTTCATTTTTTTTTCAATTTTGTTCAGACCCTTACTCCCTATCATAAAGCCTCGGAAAATCGGAATCCCATCCCTGAAACTCGTGAGAACCGTTCTAGCGTGTACTTCGACGGAGGCCGGTGAATATCCAGTAGGTCTCGTTTTGGACGACGGCTTCAAGGACACGACCGAACAGTGAAAAAGTTTTATTTATCAAAACCATTTTTTTGAGGAAAAAATTTATTGAAATGTTTTTTTTTTAATTTTAAAATTCCAAAAAAACGCAAAAGGGCAAAAAAACTTGAAAAAAATGTTCATTATTCCGACTCACAATCAAAGATAATGTGTATCAAAAAAAATTAATTGTTTTCTTTTAAAAATTAAGGAACTTATTTTTCTAATGGTTATTTCAAAAAAAGTTAAAAATAAATTTTTCAAGTGTTTTTCAAGAAAAAATTAAAAAATTTCGAAATTTCCGGCAAATTTTAATATACTTTTTATTTTGCCAGGGAAAATTTGTATAAAGCTCCGCATTATATGGATTTTTTGTATTGAATAATAAAAAATTTTTTTATTGGAAAAAATGATTTTTATAGTTTTTTTTTGTTAATTTGAAAAAATTTTATCACGGCAACTCAAAATTCTGAGAATGCGTACTGCCCAATATATTTGACGCGCAAAATATCTCGTAGCGAGACGACAGTAATTCAGAATGACTACTGTAGCGCTTGTGTCGATTTACGGGTTCATTATTTAAATGACTTTTTCGTATTATTTCTAATTCTTCATTTAAATTAATTTTAAAAATTGAGCCCATAAATCGACGGTACCGTAGTCATGTTCAGGAATTACTGTAGTTTTCGCTACGAGATACTTTGCGCGTCAAATATGTTGTGTAGAACGCATTTACAGAATTTTGAGCTGCCGTGATAGAATTCGCATTTTTCAAATTAAAAAAAAATTTAGTCAAAAAAATCACGATTTATTTTTGCAAAAAAATTTGTCTAATTTATAAAAAAAAATAAAAATAAAAATTGAGCAACGCTGAGAAATCGGGCCAGATTTTTTTTTGTTATTCTTTGAAAAAAAAAACTTTTGTTGGAATTTTAAATTACATAATTTATTTGGTTCAATCAATTTTTTGGTTAAAAAGCGTTTTTTTTTCATTCAAAAAAGCCCCTCAAACATGTGCCTTCTCTCCTTGTTCGGCTACGGCCTAACTAGCATCTCATCAGGAATTTTTTTCCGCCTGGCTTCTCCATCAAATACCACACACTTCCCACTTGAATTTCCCGGGCTCAGTGCCATGCAAGCCGATCCAGCTTGATTCCGAACTTCTCAGCATAGCCGGTCACAGGATGCATAAAATGTTTAGCAATATGAATTCGGAAGGATTCATCGTCCGATTCCGTCTCATCAGGCGAAATAATTAAAAAAGTCCAGGCGTTTTGCATATGTTTCGAATTGTTGAGACGCAAAATGACTGGCGTAGGTCAGAATGCTGAGTGGATCCAAAAGTTCAAATTTGTGGCCGACTTTTAATTTAAATTTGCAACAATTTTTCAGCTGAAATGTGGTTTCCCAGCAAAAAGTTGCTCGAAAGTGACGTCATCTTAATGATAACTTCCAGAACCTTCTGCGATCCGTCTGGAGATGTTCGAAATAACCTTCCGTAGCCTTAGTCCGCACCATAATCAATTAAGCATCATTGCAAGAATCCGACTGGAAAGAGGAAGAAGCTCGACTCATTCTACCCATCAAAACTCGACTTTTTCAGGCTGAACCTGCCGATCTTTGGCCTCTACGGAGATCTTCGGGATAATCGAGCGGTGACCATGACCTTCAGACGGCGGCCAAGGATAGGATCCATGCGACACGGATTTCTGGCTCCGAGTACTTGAGTCGCTCGCTTGATTCAGCCGGAAAAGGGCAGTGGGCAGTCAGGAGGCGGAGTTGGTCGAAGATTTTTGGATCATCATCAGAGATTCGATTTTCGTGCAGCCCGGCCTTGCCTGCCGGAAAATTTTTTTAGGTAATAGGAAAATCAGAAGGGTTTTTTGGAGTTTTTATTCAGTACACCTTATTTTTTTTGTTGTTTTTTTGAGGGTTATAAGTTTTTAGGTAAATTTTTTTTGTTGATATTCTTGGTTTGTTTAAGAATAAATCATTTAAGTTAGACAAAAATTCGTTTTTAAATATATTTTCGGTTTTTTGCTGGTTTAGTTAAAAGTTTTGTTTTCGGATTTTCATTTTGATAAAAATTGAAGCCTTTTTTTTTTGGTGTCTTTCTTAGGTTTACGAGTTTTTTTTTTGGTTTTTGACGAAAAATTTCTTTTAAAAAAAACGGACTTTTTAAAAATATGGGTTTTCTTAAAAAAATAAATTTCAATTTTTTTTGTTGGATAAAAAACTGTTAAAGTTTCTTTTATGGCTGAATTTTCGCCTTTTTTCACATTCTCCACCAGAAAGAACATGAAAAAAAACATAAATGAGTAAATGTTTTGAGTATTCAGGCAGTTTTTCCGCTCAGAAAATAATTTTGGCCGGATTTTCATGGTTTCTTACATTCAGAATCTCCTCTCTGCTGTTGGCCGTGGTACGGGCGGTGCAGGCGTAGATCCGCGTCGACAAAATTTCGGGCATGGTCGGTGTCAGCAAGCTCAGTGGCCTGTATTGAAGCTCAGCCATTTCATGGATCCTTGAGACCGCTGAAATTTCGCGTTTTTTTTTGGAGATTTTGTTGAAATAACCTTCCAATATGAATCGAAAATATTTCCCTCTGAAAGCATATGAAACCAGCAGGGTCTTCTAGTTCCCCCACAGGCGAATTTAATTGCCACGTAGAAGCCGCAGACAGCAGTCGCTTCGCCGAAACAGCCAGGATTCAGTTCTGGAGATTTAGTGGTTATAGTCCAGAGACGGTCGGACGACTACTTCTAGCTGAAAACATTAATCCAGATTATGGCTTTAAAGTTTTTTAACAGAAAAACCAACTCGAAATCTAGGTTTTAGGTGCTGATTTAGCTTTTCCAGCTAGGCAAACAACCCTCCAGCGCCTCGACAGGTAAAAATTGACTATTTCCATCATAATTACAACGGAGTTCATCTGTCCATGTGAAAGTTCCTTCAATTTGTGGCTTTGGAATCCGCTATCTCAGATTTCATCTGTTCGACGATACTGGAATAGCCGTTCTGATGTGAAATATCGGTAGTCTGCTTCATCAAGTTTGTAATTATATTGACGCTGAAAGTACTAAATTATGTTTTTTCGATAAAAATGCTTTGAAAAAATACGGAAGCTTTTTATTCGAATAATTCAATTGATTTAAATTAAACATCTATTTAAATTGTTTAAATTAAAAAGTTCCACTTCTGTACTTATCACGTCGAGACCCAACACATACCAAATGGGCCTTTATATAAATTTTAAGAAACTCAACATTTTACAAGAGTTTTACAGTTTTTTTGTCGTTAAATCGTTTTTCGAAAATAAATGATTTATACTCACAGTTAACTTGCTTCGTGCGCAACTTGAATATTAGCTTAAATTTCACAGTCTATGGGTTAAATTTCAAGTCCGACTGATGATACGGGAGGTGCGTGGAAGTACGGTAGTTTGTTTTGTTTTTTTTTATTTTGCCGCCGAGTGATTCAAAATTGAATTTATATCATCCGATTTTTTGATTTTTTCTCAATACTTCTCGATTTTTCAGGAATCTTTCAGTGTGATTTTCCAACCGTAGCTCGACCCCAGACGAAGAAAGCCTGAGGCTGGTCGCCAGAAGCACTATGAATTGCGGTTTTTGATTTAAAGCATAATTTGCATTAATCTTCTAATATTTTAGCCACCCCACACCGTCCACGAACAAACTCCGAAACGAAGCTCGGGGCTCGCGAGCAGCTTCTCCGGGACTCTATACGAGTGGGTTTAAGTTCTTAATTTCATAGAATATCACTTATTCAAAAATTTTATTTTTTCGCTTCAAGCAGCTTCGGAGCCGTACGTCCACATGACAAAGGAATCCACGTGGGACGAGGCGAAAAAACTGGCTCTACGATCAGTCTAAAAGAAGCCGGACATTGTCCGTAAAGCGATATACAATCGTCGTCGCTTCAGGGAGTCAATGAAAGGATAAAAAGTTCGCTGGTCAATAGCGCGAAATCATCGACCCAAGAAGCCCGGCAATCAAATGCAGTGCGGCGGAGGTATTTTAAAAGAAGACAAATTAATATCTAATTATTCCCTTTAATCTTTCAGACAATTGCCATAAACGTTGTGCACTGCTTGGAGACTCATCACACAAAAATACTCGCTCAGAAATCAAAGCGGCCCCGCTGCTCGGGAGCCAGCGCCCAGCACTGCATGGAGCGAATTAATTCAAATTAATATTTTACAATAAACTCATTGCTCGTTTCACACATAATCATTCATGTGTTTTTCACTCTCGAAACCCATATACCCCACTCTAAATATCTATATAATGCCACATTTCTCATAGTTTTAATCTGCCCTTACCAATTAAATCTTGTCCCACCTATTTTCCGCCATGATCCCTTTTTCCATTTTGAATAAAATACGACGACGATTTTTCCTCCATTAAACCAAGGAGAATTATATAAATAGAGTCAAAAGTGGCGCTTGTGTCGCTCAGCGGTCTCCTCCACTTGCAAGCACTATCTCACCGCGGCCTTCCAATTTCTCGTCCATTTCAGCTGTAACAAGTAGTTTATAAAAACTGAAAAAAATGCAAGTTTTAGCAGAAAATCGCTGAAAATGGCAAATCGTCGAGCTAAAGTCGCTTTTGACTTCGGAGCCAATTAAAGCCATCGAGTTCTTCGATAGGCTCGTTGGACAAGGTTTGAGCCGAAAATCAAAACATTTAAGCTGAGATTTCTTTTAAAAATATCCCTTGCAGATGCCGACACAATCATCCAAGAAGCCTGTGGTGACAACCCTCGCCACCTATATCCGGCATCCCTATAAGTGTTTTTAAGCGACGGCTTCTGTGAGCTCCTAATCGTTTTTTGCGAAATTGTGCATTTCGTTTCAATTTCACAGCTTTGAAGACAAAGTTTTGCGGCGAAAATTGATTGAGCATTCGAACGATTCAGCGTGTTTTGCGGTTAACTGGAAAAGGACAAGCCACATGGGGTTTCGTTTATTGAAAATTGAAAAGATTTTTGCAAAAAATTAGATTTCATGTAGTTCAAACTAAACGCTGCTCGATTTTTAACCGAACCTTTTTCTTTTTTCCGTGAAAATATCGGTTTTCCAAGTTTTTCGAACATTTTCCAAAAAAAAATTACGTAAAATGTGAAAACGATTTTCAAGTAGCCTACAAATCCGGAAAAATCAAACTTAAATGTTTTCGAAAAATTTCATAATTTTCTTCAAATCTCTTTGAAAAGTAGATTCCACTTCTGGGAAATTTGAATTTATGTCATTTCTTTAAAAGCGCATGCTCTTTTGTAGGGTCTCGCAACGAATTATTCAATTTAAACTTTTCGATATTCGCGCCGAAATTTGGGTCTCGGCGCGATTTAAAATAAATGAAGAATATGGACTATTAATTTTTCCTTGAAAATTATTGATTTTTCGGAACACCGGCACCACGTCACCGCTGTCGGATCGAATCGTTTCTTCATTTTGACTACTTTCCGATGGCAGCCCCGTCTAAGAACCCCGACTGGTCCCCGTGCCACGTGTAATGAAATCAAATCGAGATGACAAATACACACACAATATTTTTGACTGCTGAAAATCAGATTTAAGGCTGCGGAACAGCTTCATCTTTTTTGCCGGCTAAAACGGAGAGCTGAGACGGACGGTGGTTATGTGGCACTGCCCACTTTGGTAGAATTCCAAAAGTTACTGGATACGTGGCAGATGTGAAGGTGTTCGAGGAACAGTTTTTGATTGGCGACAAAGCCCTCTACGGTTCTAGAAAATTGGTGGCGGAGTATTTTCTCGCGGCCACATGACTATTTTCTAAACGAAAAGTTGTGTAAAAGACAAGTCGGAAAGGGCGCCCTCATGGCTGTAGCTGAAACGTTTTTCATAGATTTTTTGGCTTTAAAAAAATCCTTAAAGGTGCATTTTCGTGTCGAGAATCCTAGTTGTATAATTTTGCTAATTTTGCTTAAAAATCTTGTACAGTACCAGGTCTCGACGCACACGAATAGTTTTGATAAATGCAAAAATGTATGCGCCTTTAAGGATGTAGTAAAAAATAAGAATTCCTTAAATTTGATAATTTTGTGAAGAAAAATAGAAGAATAATTCTTTGAAAATGGATAATTTTTTGGAAAAATTAGCTTTGTTTTTTATTTTTTCTAGACGTACACCTTTGTTAAAAGATTGTCGCGCCGAGACCTGATACCGTATTTCTTGAGCGCAAGATCGTGCCGAGACCCAAATTCGTGAAATCTGTCAGTTGGTAGGTGTGGAAAATTTCGATTTCCGGGGAAACGCGACGAATCTCGTCGAATTCTAGCTTTTTGTTCTGGTAGAGGAGGAAAACGAGGAGAAATTGGAGAAAATGACGACAAAATATCGATTTTTACGTGGCAAATGTGCCGATTGAGGAAAGGATTGTGAAGGCGGTTTTTTTTCTAAATTGAAAACAAAAAAACTAAAAAAATAAAATTTTAATCGTAGTTTCTAGAATTCAAGCCAGTTATAATAATTTTTAAACTAAAAATTGCATCGGTTCCGAACTTTCAAGGTTTTTTTTTCTGAAAATCGTTTAAAAAAATATCTGCTTGAAAAATCAAAATTTCAAAAAAACAAACAAAACTTGAAAAAAAAAAACGTCTTTAGCGGTATTTTTTCTATAATTTTTCAATTTTTTCAGCGATCCTTAAGAATCGAAAATCGTAATTTGACTTCTTCCTGGTATATCCAAAAATGGACCAAGATTCTGTGGGATAAAACGAGCGATTTCTCAGCGGAAAAGCCGTTTCCTTCATAACCAGTGGATTTCCAAAAATGGCAATTTTCGAATCATTTCAACTTTTAAAGGAACTATTTATGGCTGATCGAGAAATTGACTTTGCACAGGAAAATTGGAGCTATGCGGAAGAACAAAGATGACGGGGTGTTTGTGAAAAGCGGAACTGTTTTGGAGCATTTTGACACAAAATATACACTTAGTGCACTGATGGAAGTGGTCCCCGGTACTATTGGAACAACACAGAGTGTTTTTCAAAGTTTCACCAGATGGGCAGATTGATTATGAAGTTTCGTTTTGTTTGGAATTTGAAGGAATTCGACCTTAAAAATATAAAAAATTGCACTGATGATGATTATGGATTTTTTTTTCAGAAAAAACGAAAAACGAAAAAATTGAATGCTAAATGACAGAGTCAAATATGCCCCTGTAACTTTTTTTTTTTGAACTAAATTTTATATTATTTTTTTCAGTTTTACGCAAATCAAAGAAACGGGTCCACCGAATTAAATTTGAATTCCCGCGCACCAAAGAGTGACGTCATTTTTTTTTTCCCGATTTCCTGATGTGTTATTAGGTTTTTATAACGGTTTGTCAATTTTTGCAGACATTTTTTTTTAAGCTTGGTAACCCGAAAAAAGTGGCCTAGAAATCGGCTTTAATTTTTTTTTTAAATCGACAAACTGTGTTTCAAATTACGAAACAAGGAAAAAACGAAGAAGAAAACAGCCGGAAAACGCGAAAATCTCGAATGACGTAAATTGCGCGGGAAAAACTTTAGAATTTTTTTTTAATTAACAGCTCTAACATAGGGTCGAATCATCCTAGGGCTTTTGTCAAAAACCTTATTCCTCGCACAAATTGATTTTTCGTTTTCGTAGTTTTCACATGGAACAATCGAAAAATTTTGTTTCTCAAAAAAAACAAAAAATTTTTATTAAAAAATTATTTTAATCCCAAAAAAAAATATTTAGCAAACTTTAAAAATTCATAAAACATTTAAAAAAATTTTTTAAAAATTGTATTGGGACTTTATTCTAATACTTGGACTAAAAAAAACCCACATTTGACAAAAAATTCAATTTAAAATGAATATATCGTTTTGGGATACCAAAACGAACAGAAAACCGAGAGATTCGAATTCGAGTCTCCCAAAATTCACAAAATCATCAAAAATGGTGACAATGTGATCCAGTTGATATGTTAGACGCGACTATTCATATTCATCAAAATTATAGACTAATCAAGACGTATTGAAATTTCAATCGAATCGATTATTATTTGGATCTAGCCGAGTTATTTGTTTCAAACCGATGAGATGTTTTTCAACTGAACAAGAGACTGTATTTGCTGTGGATTTGGAGAATTTGGAATTGTGGAGGGTTTCTTTTATTAATTAAAATTTTTTTAAGTGGAAAAATTTTGGTTTCTCTTTTCAGAAATTATTATAATGTTGTAACTAAATATTACGGGAACACGAAATTCTAAGAATGCGTATTGCACATACACAATCGATTTGACACGCAAAATAGTAGCGAAAACTACAGTACTTCCTTTAATTACTGTAGCGATCGTGTCGCTTTACAAGCTCAATTCTTTTTAATACTTTAAATTAAAACTTTTTCTTTAAATTTTAAAAAAATTCGACTTATTTTTTAATTTTTACTTTATGCCAATATTCTGTCGATAAATAAATCATTTTAATAATTAGAAAATTGAGCCCGTAAATCGACATGCGTGAATCCATTTAAAGAATGTAGTTTTCGCTACGAGATTTGTACTCCTAATTGCGCGTCATATATGTTGCGCCGTACGCACCGTTCTCAGAGATTTGTGTTCATATAGAATATTAGGACTAGTATGTTAAAATTTTTAAAAAGTTTGTTTCGACTTTTACCCAAAGATCTTTTTTTGCAAATTTTTAGTGAAAATTATTATTTTTTACAATTCCGCACGCTAAAATTTATTAAAATTATATTTAATTTAGACTGTATTCTATACAATCAAAAAACAACAAACATCAATAATGAATGTTCAATGAGTTTAAAGAAAAATTTTTTTGTGTAGACTTTTTTAAAACTCTTCTTCGTTGACAAAACGTTCACAAAACTTAAAATATCTTTCAATTTGCTTAAATATTAACAAAGAATTTTTAAAATTTTTCAGCCCGAAATACCAACCTATATCACCAGAGGAATTCGTTCCCACCGACACTTCTCCCTCCGATATCTGGTATTTCAAATCCCGAAATTGAAATTCCCTTCTCACAAGTACCCTCTCCTACTACATTCACGTCAAATTGGAGCTCCAGAGATTTCATTCAAATAATGGGAATTTCGATATGTAAGGATGGTAAATCAGAAAATGAAGTGGAAATTGAAGCGAATGCAGTGTTGAAACTGTGAAAAATGCGCTGAGAGTGATGCTCAATATTCGACCTCTTCTCAAAATTAAGACTATTGAGGTAATTGGATATTTGGTGAAATTTGAAATGAAAAAATATTTATAAAAATTGAATTTTTTTTCATTATTTCAGTCACCATAAGTCAATAGCCGTTTCCATTAACTTAGATAAAAATTGATATTTTCTTTTTCCAAATGCGATAAAAATTGGAAATTCTATAAATTCCGGAAAAATCGATTGATTACAACAAAATCGATAATTTCCGGAAAATTGATAAATTCCAGAAAATCGGTAATTTCCGGTGTAAAAGTCGATAATTACCGGCAAAACCAATTAATTTCCAGAAAAATCGGTAACCCTTACCGGAAAAATCGATTGATTATCTACAAAAGTCAATAATTTCCGGAAAATTATGATAATATCAGAAAAATCATTAAATGATCGATAAATTCCAAGCAAAACAAAATCGATAATATCCTGACAAGTGAATAAATTCCTAAAAATTGAGGAATTTCATAAATTCCCGGCCTTGAATATTTTTTAAATTTAATCTTTAAAAGAATAATTCTTTAAATCTTTAATCCTTATCTAATTTATTCAAAAAAAAACTGATCCACAAAATTTTTTTTTTTCAAAAATTAAATATTTTTGCCTAGTTAATGTTTCATCAACTTGATTATCATTTACTCGAGAAATGTTCAATGATTCAATGCATTCTAATGGAAACAGCCATCACTGAATTCACACTTCCATTTCTCTACGAATTATTCTGTCGTATTCGGGTTATGAGGACAAAGTGTTGGATGGACTTTTGCCGAGGAAATCTTTGATCATTTATAACAACTCGATTTCCAGTGTTTTACCGCCAAATTCTTTGTACGGTAAGTGAGTTAAGAAATGGAAAAAAACACATTTTTGCTACTGTTGGAATTTTTTTTCTAAATTTCACAAATATCTTATTTTCCATTTTAAAAGTAGAAGTTTATTTGCTGGATTTCATATCAATTTTTAAATATTTTGATTTTCCAGTGCGGAATTTCTGTGTTTTTTGAAGCAGGAAAAAAACCACAGAAAACTAACTAAAAGAATTAGCAAAAATGAAAAACATACGTAAAACGATGTAACTTGTCCACGCCACGTGTAGTACAAAAAACCGATGTGCACCAACAAATTTTTGCAAAAGCTATTTTTCCATTCAAAACGGCGCCCCAACAGTTGAAATTTTATAGACGAAAATTTGCGAAACTGTTCGCTTCTCCGAAAATAAAAGTCTCAGATCCCATTCTTGGGTCTTCCAGATAATCGTTGAACTCCAAACTGGAGACCGGTTGCCGCCGACACCAGGAGCACATTAACAGTTCCGTCGAAATTCAAAAATCTAGAAAATCTGAGCACCTATGAGCCCCAGGACATTGTCAAATATTTTCTGAATCTCGACCAAGAGTCGGAGGATGTGACATGGCGATCGATACGTCACGAATTCCACGACACACTTGACACGTGGCACGCGGAAGCTGTGAAGAAGAGAGACGAGAGACGTAGGAGCAACACGGAGCAGAAAGAGTAGTATTCGTAAGGAGAGCTTTACGAAAATTCAAAAGGCTTCGATGACGGCATCGCCGGTAGGAATATCGATTTTTATGTATCGAGGAATTTACTGGAAAACAAAGTTTAGGAAAAATGTCGATTTTCCAGAAATTTATCGATTTTCCTGAAATTCGATTTACCTGAAATTTATCGATTTCCACCCTGAAATTTATCGATTCTGGAAATTATCGAGTTTTCTGGAATTTATCGATTTTCCTGTTTTTTCTGGAATTCGATTCTTCTGGAATTTTTCGATTTTTCTAGAATTTCCACAATCGATTTTTCTGGATTTTATCGATTTTACTGAAATTTATCGATTTTTCTGGTATTTTTCTGGAATGTATCGATTTTTCTGGAATTTATCGATTTTTCTGGAAATTCGATTTTTCATATATCGATTTTCCTGAAATTTATCGATTATTCTGGAATTCATCGATTTTCCTGACATAACAGATTTATCAATTTCTGGAATTTATCGATTTTTCGAATTTATCGATTATTCTGGAATTTATCGATATTTCTGGAATTTATCGATTCTTCTGGAATCGATTTGTCTGGAATTCATCGATTCTTCTGGAATTCAGTTTTTCGAGATTAATCGATATAATTGTCTGTAAATTTTACTCCCCAAAAAACAATATATCGTGCCGAGACACGAAAAACTCTAAAGAATTACAGATTCCAATCGGGGCGGCCGCTCGAGTAGAACCCGAAAGTTTCTAAAAATCAATCAATAGTCCTGTCATTCGCCACTCAAGCTCTCCCTCACCAATCAAAGGAATGCCAGAGGTAATCGTCGAGAACCAGCACGCCCCCTGAGCATTTAAATTCCACGTTGTAGTCCCTGAGCCACGATAGTATTTCCAATTCACTGGACGCCGAAATGAACATTTCACCGTCACCCTCGACACCGAAATCCTCTTCCTGTGGCGGAAGGTCGCATCGCACACCAAAAGCGATTTAAAAAGTGATTTCGAAATTCCGAGGTCGTGAAACCTTCCCAGTCACCACAGAATCCTGGGTGGAAAATGGGCGGAGCTTCCGCGTCGATTCGCGAAGAAATTGATCCGCAGGAGATACGCGACGAAGTTGTGAAGAAGGAACAGAAATTGCAGACTAACGTGCGTCATTTGAAATTTTTGAAAAATCGATAATTTTCAAAAAAATCGACTTTTTTTGGAAATTATCGCTTATTCTTGAAAATTATCGATTATTTTAAAAAATTATCCTCGAATTTTCTGAAAAGGATCTGTTTTCGGGCAAAAAGTTCCGAAAGTGTTTTCTCGAAAAACAACGACTTTTTTTTTGAAAGTTATCGATTAAAGAAATGTCATCTATTTCTTTGGTATTTATCGATTTATCTTAAGAAATTATCGATTTAAATATTTTAAGGAAATTATCGATTTTTTTAAGGAAATTTTCGATTTTTATTTATCGACGTTTTTTTTAGGAAAAAGTTTCGAATTTTCTCGAAAAATAACGACTTTTTAATAAAATTTATCGATAAGAATCTATGTTTTTTGAAATTATCGATTTTTTTTGAAAATCATCGAAAATATTTTAAGGAAATTATCGATTTTTTTGGAATTAATCGATTTTTTAGGTAATTATAGGCCGTTTTTTTTCAAATTTATCGAGTTTTTTAGGAAATTATCGATGTTTTCTGAAAATTATCCCTCGATTTCTTACAAAGGAAAAGTATCGATTCTTGGAAATTATCGATTTTTAAGCAAGTCTCTTATCGATTTTTCAAACGAAGAGTAAGGAAAATTTTTTGAAACTATCCATTTTTCTTTATTGATTTTTTTCCTAAGAAAATATCCATTTGTCGATGGCTAAAAATGTGGATTTTTCTGAAAATAATCGATATTCTGTTTGGAAATAAAATATCGATTATTTCTAAAAAAAATTATCGATTTGTGCAGGAAATTCTCGATTTTTAAAATAAAAACAGCGATTTCTTTTTTGAAAATCGATTTTTAGGGAGATTATCGCATTTTTCTGATTATCGATTATTTCTTCAAAATTATCGATTTTTAGAAGAAAAGTATGGATTTTTAGATATAATCTATTTTTAATTATTGATTTTTTCACCTGAAAAAATATCGATTTTCTGAAACAACATATAATACCACACATTAATTTCAGGAACCGGAGTTCAAAAAAGTGCAGCTTCTACCACACGTGGAGACGGAAGAGCTCGACGGAGCTCAAACTTTGGAGGTTTTTCGACGAGAAAGGAATTCACGATGAGGCGTTCATACGCTTGTGTAGGAACTTGTGATGGTTTTTCTCTCAAAAATTTGAAATTCTTCAGTTGGAACTGGTGTTTGATGCGACGATTTGGAGGGGAGTTGGAAAACGAGCAGATCATCTGGGGAAACATGCCGGGACTTGTTCGACGTTAAATTTTCAATTTTTGAATTTTTTTTCTCTTGTAACTTGCATTTTTCGTTTAACTTAGTGTTTTCGGTGTTTTTTGGACTATTGAAATATTCGGGTTGTTAATATTCAAAAATTAATTACATTATTAATAATAAATGCATTTTGAAATGGTATAAATTGAAAATTTTCAAAAAACCCCCAACCCAGTGGTTTAGGATGAAAATCGTGGAAAAGCCGAACGAGAGAGTTCCGAGTTGGCCACGTGGGACTGAAGCCTAATTGAGTGAATTTAATTTTGGATAAAAAAATTTTGGAGATCTCTTCGACATTTTCTCAAAAAATGATCCATAGCTTTTTCCCATTTTTTTGTTGCTTCATTTTCAAGCTCTTCGGTTATATCGCAGACGTTGAAGCAAGGGCCTTCCGGGAGAATTTCCTGAACATTTGAAGCGCCTTTTTGGGTGAACAAAAGCAGCTTAAAGGCATTTTTTGGTATTTTCAAATAATATCGGAAATCTGCGTTTAAATTTTTTTTTTAAAATGAATTTTTTCAAATAGGTTTTCGAAAAATCGAAAAAAAAATTTTCGGGTTTCCGGTGGAAATTTTAATTAAATTATGTGTTTATGATGATGAGAATAGTTGACAATAATTTTTTCCGATTTGTCAACACGTTTTTCAAAAAATTTGTCAATATAATTTTTTCCATTTTTATTCCTGAACAGAAAAAAATCGAAAAATTTTCGGTTTTAATAATATTTCGGAAAAATTTTGAATTTACCGTAGTTGTGTGATCGTTAAAGAAACTCACAATATTTCTAATCGAAGTATGCATATTTTTTAAATGAATTTTTGGAAAAATTTCAAACTTATTTTTTGTTGAATTTTTCGTTTTCTTTCGTTTTTTTAAACAGAACCAAATTTTTCACCATCTTTTCTTCAAAACAAAACAAAAAAAACCAATTTTTGTTTTTTGAAAAGCGAGAAAAATTTCGAAAAATTATTTTAAAAGTTAGAAAAATATCAATTTTGAACGGAATTTTTTCAAAATTCGATTTTTTTTTTTTCTAATATGTTCGAGAGTTTGTCGCCATTTTTATTTTTAAAAAAGGCTTTCAAACTACAAATTTTAAATGAGAATTTAGATTTTTTTAACGAGTAATGTTGAATATTGGAGAAAAAATAAATCAATTTTAAATAGAAAAGTTTTCTTATTCGTAACATTTTCAGTGTTCTCAAAATACAAAAAACTCGTACATCCTCCTGACAAGTACAGTAATCCATTGGATCCCTCCTGTCCAACACCGTCGCTTCCCGAATGTGAACCAATTGTTCATTTTCATAAGAACCGAGCTCACAGTCAATTTCCCGACCATATTTCCCTCGTATTCCTTCGAAAATGGCTGAAGCCCGATTCAAATTTCAAATATCACGGTGGTGGAGAGAATACGGACAATAGATCCGTAATTGATTTAACTTTAAAATTTTTTTCATTGTCATAATCATGCTACGTGGTCTGGACATGATCTGTTAAATTCTCTCGTTTCGGCGGAGAATATAATCGATATTCCAGTGGCACGAGGTTGTCGAGAAATCTATTAAAATTCTGATAATATCGTTCCAATCTCATTTCGAAGCTCGTCAGTTTCGGCTTCAGCTTTTGAAGCCAGTCGTTTTCAGATTGTGCTCCAGCGCGTCTGAGCTCTGAAAGTTTGATTTCAAGCAAAATTTTGTGTAAATGATTCAGACAACCCCATTTTTCATCTAATTCGAAATTAGCCACATCTAGAAATTAACCACATTGACTAATTAGAAAATTTTCTAATTAGAAAGGATGAATATCTAATTAGAAACGCTGCACAACACATCTAATTCGAAGGGATGCCTCGTCGAATTAGAAATGACATCGAATTAGAAAGGTGGCGCGTTGAATTAGAAGTTACGCGTCTAATTAGAAAGGAGGCACATATAATTAGAAACATATTGCGCACGTCCACATCTAACTAGAAGGGATGCTCGTCGCATAGTACTACCTTTTAATGTATGTACTACCTTTTAATGTATGTACTACCTTTTAATGTATGTACTACCTTTTAATGTAAGTACTACCGTTTAATGTATGTAGTACCTTTTAATGTCTGTACTATTCTAATGTATGTACTACCTTTTAATGTAAGTACTACCTTTTAATGTATTACCTTTTGGCTCTTTGGAAATATATCGATCAAGAAACAATGCCGAATTAGAAAAAAGGCATGAACTGGTGCGCGTTAGTTGACCTTTTTTTCTAATTAGATGAGAGGAATATGGTAGTCAAGACTGCAAATTATCAAAATTTTTTGGTTCAATTTGTTTTTGAAAAAAGTGAAAATTCCTGGGTTGCAATTTGTCGATCAGTATTACGTAGACGTCGAAATATGCGATTCGCCATTGCGGTCTTAGGGGTCTCGCCACGCCGACAATCAATGTAGTTCATGTCGATTTACCACTGTTGCATCGTAATATTCCAACAAATTTGCCGCCGAGGTGAAAAAATTCAATAAAAGCCCGTAAATCGACATGAACTGCAATAGGGTTGTCGGCGTGACGAGACCCAATTCTCATCTTTCGTACCGACGTCCACGTGATATAGAACTTTTTTTTTTGAAAAAATACGATTTTGCCTAAAAAAAAAACTGTAAATTCAACAAATCCCACAAAAAAAAAGCGAAAAGAAAAAAGCATCGCGGAAGACAGTGGCGCCAGGCTGTCTCAATACTGTTTGATCTACAAAAAATGCGGGAATTTTTTTCACAGACAAAAATTGTGACGTCAGCACGTTCTTAATCATACCGAAAATGAGATTTCTGCCTCTGCCATCCCGCATTTTTCCAAGATCAAAGTGGAAGGACTTTCACCTGAATAGGACTTTCTGATTCCACGTGGGAAGGAAGAGAAATCCAAAATTGCGATATTTCACTAATTTCCCTGCTTGAATTTCCTTCCAATCAGCGTCTTCAAACTCCGCGGCCCACTCCATCTGTGGATGAAAAATGGGCGGCGCAAATCGCTCTGATTGGTGGCAGTTCTTATTGCCCAATCATTCAAGTTCAATATCTGGATTTTTCATTTTTGACCACCTCCAATTTCAAGCTTCTTCCTTACCTTCAAATCGTAGAATATTGCCGATTCTCTCGGATTGATTCCTTCCTTCAAAACCAGAACATCTTTCAACTCGAACCCCGAAAGCAGATATTTTTTAACCTGAATTCTCCTAGAATATCCTTCGCTCGTAGCAACTCTCCAACGATTCCTTCTGTTTGTAGAAACTCTTGTAGAGTGTACACTGCCTCGTCCAGATCTTCGCAAGATGCCCGTAATTCGATCTTCCGAGCTAGTCAAAATTGCATATGTTGGTGTTTTTCGTTTCGAGCAACACATGCCAATGAGGATATAATCCGAAGTTAGACTCGTTGTTGTTAAAACGCTTTATAATGCTGGCGAAGATTTCCTCGAATTTCGTTTTTCTTTCTTGAAATTTTATCAGTCTGTATAGTTTTGAGGGTACAATAAAATCTCGGGACAACTTTTCGATATCTATCATCATCGTCATGTTATAGAAACCTATATACTACAGTGTTTTTTGAAGAGTTTACACCACGATACGGATTTTGATCGGTTTTTGATGATCAATTTGACTAATACGCTCGTCTCCGCAACGTCTTAATCGGTCCTAATGCAAGGCTGTGCGTTGTGTACAAGTGCCTTGCTTAGCTCTTCAAAACCGGAGCGATACATAGACACGAATCGTTTCATGCGCAGCGCAGCTGCTCAGGGCTCTCGAAAGTTTTCAGACATTCCGTGAAGCTCTCAACAATGCTGTTGAGGTTATCCTTTGGCACATTTTCCCGAATTTGATTAACTTGTGATAGATATTTATCTGATATATTCGATATTTTTATGATATTTTTCCGTGTTGTTTAGGATGTTTTGCCATCGCAAATTCAAATTCCACATAGTATTCCAAAAACTTATTCAATGGATGCAGGAAGTGAATTGATCCTTTGGCAGAAACGCTTTATATCCAATAATTGCTCTGCACTTTTATCGTCGAATAATTTCTTCACGTTAGATTAGGGAGCCCTAGAGATCCACGAAGTATCAATTCGTTTTTGGGAAGGAATAATTCAAAAATACCCAAAAGAAAATAGCCTGATGGCCTGGAAGAAAGCCGTCCGAGGATTGAATACAACGAATAACGTCCCTGACCTTTCGCACCCAATTTGAAAGCCCCAGTGTCGTATTGGTGTCGCGAATAATTTCTAAATCAAACGCCCCTTCGAAATTGTGTCCCACTGACAAGAAGTCTCGAACACTTTTACTCGCTTCATTTTTCATTATAGTCGTAGCGGGTTCGAGATAAAATGGAGATCTTGAGCAATGCGAATACTTTCTTGGCTCGTTCCGGAAGCTAAGAAATTTCTGTAGTAGGCGCCAACCTCTTCGTCCGTTTCATATTTCCGATCTGTACGATCATTAAAACGGCAGAAATCTGGGGAATATTTCTAAATAACTCCAACTTTGCTCCTCAATTATCCATGTGAAAAAATTCAACCCGGATTTTGAATTTCGGCTTGAAATTGCCGAATTCCCTTGGTGCACACATGCAAATTTTTCAAACGCGCGGCCCAAAAATTATTATCCTTGGAGCGCGTTTGCCTGCTCATTTGATTCTCTCCCGGAGCACGGTAGCTCAGAAACTAGATGGATGCTGGTTCATTCTAGATACTCAGTCTGGATATATTGGCTACTATCTCGACCCGGAAACCATCCACATAAAATCGATCTTTGCGATGCAAATAAGAAATGACCGCAATGAAATTATCTATCTCCATTCGTGATGAATTTTCGATTTTGTACTTCCTGGCCAAGTTTATGCACGTTTGTTCGGAGCGCGTTTTCACCCATCTAGCAACTGACGGTTCAGTAGCCAATATAGGTTTCACTGTATCATGAACCACTCCATCTAGTTGCTGTGCTACCCTCGTGCTGAACCACCGTGCTCCATCTACCGATTTCTTCCATTACGATATGGCTGCAATACTATTTTTTGATGGTCTTCCCGCTTGGTCAATACTAATAGGGAGTGCAATACTAATTTTCAGAACATTTTTCTGCCTTTGAGACTAGTTTTTTTCTGAAAAAACTCGAATTTTATGTAAAAATTCAGTCCAAAATTTGTTTTGATTGTAACCTATTTCAAAAATTAATCTCGTAGAAATTTATTTGAAAAATTGCTGCAAAATATGCAAAAAATATTGTAGAAGTCCTAAAATTAGCGAGAGGGGATTGCAATAAAAAAAGTAAACGAAACACTATTAGGGAGTTCAAGACTAATAGGTGCCAGACTAATTTTCCGCAGGTCTCCGAGGGGCAATACTAATAGGGAGTGCAAATCTAATAGGGAGGCCATGCATACTAATAGAAGAAATACGGTATTTTTAGTTCCTTTATTTTGTCAACGAGAAGAATCAAATGAGGGCACCAAACGCGCTGCAATAATACTATAATTTATTGTGCGCGCAAAAAAACTCATTCGGCACGCAAAGAATATTCACGAATTTATGCTGAAATATAATATCAGTTTTTATGTTTTTTTTTAACATCCAGATATTCTGAAACAGAGGAATTTTTTTTAGTTATTTGACAATATTTCCTAGATTTCGGAAATCATGTAAACAGCAGCTTTTGTACAACAGCTTTTTTTTAACTGTGAAACTTGTTTAAAAAGTCAAACCACGTCCATTTTGAAAATTAATTTTTAACATATAAAATAAAAACATGTGGAAGGCTTTTGATTCATGTACATACAAGTTTTGAAAAATACGGCATTTAAATTTGAAAAATGTGTTTGCTAAAATCTGATCAATTTTTTTGTTATTATCTATTAATAGCTGGACTTTACTTTTAGACAAAAATTACTCTAATTAAAATCTACCTTCAAACCATTTTTTCAGTTTTTGCAAATTCTCCTCGGAAATCAGTAGGACTAGCGATCGAGTGGCAAGTGAAAATCACGGAAATTTTTCAGGCGATTTTTCAGGCCCCATGTTGCCACGCCAACCATATTTTGGTTTCATGAGAGATCGGAGCTCATGAAATAAATGCAAAGCAAAAATCCAGCGAGGTGGTGATCTTTTAGTCATTCTCGCTGTACTTGAAGATGTGGGAGCTTCTTTAGTAAAATTTACAGCATTCTTCTCTATCCTTATAAACATGTTAGTCATTAGTGTTCTTTTTTCCCGACAATCTCCTTTCGAAAGCTCTCTGCTCATCCCATCCCCCAATAGCTTTTTTTTTGTAGAAACTTGAAATCCTATCAAAATCTATCCCGATCAGCTGATTCGTCAGATCCGTAGAAGCGATTTCGCCTCTGAGAAGCCCAGCGACGATACGATAGCAGTAACACAGGAGCGGTGGTAGCAGGTGAGCTCATCCAGTGAATCCGTTCGACAGGTTTATAGAGTACTTTCCGTAGAATTACTGAAATTATATTTACTATTAAAGTAGAAAAAAATGATTATATAAACTAACTATACGCAGGAAGACTCGCATTATGTTCCAGATTTCGACCTAAGAATTGTGGATGGCGTCCAGCCGGAAATTTTTATTTAAATTTAGTAAATCCTTTAGTGAAGAAAGTTTTTTAATAAATACCTGTCAAGCGCTTACCCTTAATGTGCTCCAACATTTGAATACCTTGCCGCTCCCTTTCCGAAATTTCGAGATCTCCGCATCAGCGTTTACCCGGTAACAAGAAGTAAGGGAATTATCGTTATAATCATCTTTATCTGGGAAAAAATTAATTTTCATGGAATATATTTCAAATTTTCGACAACCAAAAAAATTCACATTTTTTTCAGGAAATTTCGTTGAAAAATCTGTTTTTCATAATATTTTGAGAATAAAACAAGCGTAAAGGTATTCAAGAGCGCATGCAATTCACTTAAGCCAGGGTGACCCTCTAAGCGAACATAAAACATACGGTATTTAAAAATATTCTTGTTTTCCGCGGAAAGTCGGAGAATTTAATTTGATTTTTTTTAAAAAAAAAGAAAATTAACCGTTATACGTTTTGAGCAAAAAATTCTACAATAATAATTTAAAAAAATTAATTGAATAAACATTGAAAATAAAAGTGCTTAAATTTCAAGGCGCTGCGCGTGCATCAACCGTCACTTTTGTTTGGGTATCACCCCAGCACCCCGAATGTAAAAAGTACCAGGGTAAGAGTGCGCGCTTTTTTTCATTTTTCGAATTTGTGCGACCAGTTCTCATTATTTGAACGATTTTTGCGGTAATTTTGGACAGCCATTTTTTCTAGTTCCCACCGACAAATTGCATTATATCCGTAATTTCAAGAAAATTTTGTTATAAAACCAACAAAAATCTAGAAAATTGCTGAATCATTTTGCGTATGAATGGTCAGGCGGATCTGCTCGCTGCGACCGAACCGCCTATCGGGTCTTCAGCCGACAATCTCTACGACATAGAACTGTTCGAGGTGTTCAATCGTGTCGCTAACGTCGTCACAGAAAAGGCGTTCTATGGAGCCGCCCGATCACGCTCTCGGATCATTTGTTTTCAAGTTGGCATTTTTTTTCAAATCATTTGTCCTCACCTAAATCTCTAATTTTCCTATTTTCAGAATTCAAGGCCTGTATCAAGCTCGTAAACTTTCAAGGAACAACTCTTCACGGCCGTGCTGCACATTCGTCCACTGCGAGAAAGTTCGCACGCGAACAGCGAGGCCATCTCAACGATGTTCGAGAAGGTCAAACATAAGGGAAATTCCGGGAATTCTTCGTAGCGTCCAGAGCACTCGTTCCCCGAGTACCGAAACCAGAACCCACAGGCTTCATCATACCTTCCAGTCCACGTGGTCATCGTCGACGGGCAGTCTCAATGGTGGCGGCGGGGGCTATCGACGCCGACGTTCCGCCGGTGGCAATCAGTACAATCAGAACAAGTATCCGAACGAAAGGTACCAGGGATGACTCGATAATCATCCAGTGCAGCAGTATTCGGGCTTCAATCCCAGCGATTTTTGCTGTGATGACTATGTGGAAGGAGCCGAAAAGGTGCAAAATTCGCCAAATTTCGCTAAAAGAAATTTCGCCGACTTTTCCCGTAGCGCAACAGTTTTTTCTTTTAGGCACATTTCAGGCATTTTGGGCATATCAATATTTTTCCACCAGATATGTTCTAGATTTAGATGGACTAGATTTTATTCTCAGACGAATCAAGTGATTTTCTATATTTTTACACTATTTTTTCTTGAAATATGACCATAAAATGCAACAAAGTCTTCAGCAGCTGATGGGAAAAGGAAAAATCGGCGAAATTTCGAATTTCAGTCTATTTAATATGTTTAAGCAAAAAGAAAACTAATTGTTGAATTTCAGACTCGACAACCTTGCCAACCTGATTCGCTGGAGCACCTCCACGGATCCGTTCGCAACCTAATTATCAAAAGTAATTTTGAATTATTTTGAAAATCAATAAATTGTTTGTTTTCAGACGTGAATGCACAAGCACATCTTGTTCTCGTACGAATTGAGCTAAAGATCAAAAGCATGGCCCGCCAACGTGGAAAATGGAGCTGCAGATTAAGAAAGATGACCACCACCACTAGGGCCGGCGGCGGAGCAGCAACCACAGGACAGAACAGACTGACCCCACAACAGTTTTTGGCTCAGATAGCTCAGAGACAACAATCGGAGCAAAACGCGGATGAGGTGGCCAAGAAGAAGCGTCCGAACCTTTCGGGTATCAATCCAGCGCTTTTCTACATGAGCAATACCCGAGAACATCGCCAGTTGTTTATGCTTAAAATCTATAGAGTAATATGGAGATTTTGGGAAAAAAACATATTTTCTCGAAAATACGCCCGAAATAGTGTTTGTAAATTGGCGAGACCTATTTCTTCTGAAAAATTATAATTTTTTCGATTTTCACGTGAACTTGCAGGTTTTTGGATATTTTTCTCGAAAAACGTCAATTCATCGATTTACGCTAGTATACTCAGCAATCGACCCATTTTTTCGCAGACAATTTGGTATTTTTCTTAACTTGATTTTTATTCGACTTCTCGTGTAATCACTTATTCAAATGCGCGCCCTAAGAATTTCTCATTGGAGCGTGCTTGCTTCGTGTAGATTTCCGAGAGCTTTCCATTTATTTTAACTTCTTTCGTGCTTTTTCAGTTTTCCAGCGACTTTCTGGCTCGACCCCTCGGTATATTTTGTGCAAACACCGTCACGCGCAAATGCATGCCCTTTTTCAACGCGCTGCGTGAAAATTCACGCGATTTCAAATATTTTTTCCCGTAGTTTCCAAAATTTTCGAGAGCGGGGGGGTCGAGCCAGAACACCTTGGTTTTCCAGCGAGCTTCCTTCATTTACGTCGATTTTTTTTTTAATCTTCGTTAAATCTAAAAAAAAACGACTTAAATCATTTTAAAGTTTCCAACGGTTTTCTGCATAAAAAATCAATTTCCAGAACCGTCCGGCCACTACGACGACAAACATCTCCACACGGCAGTTCTCGCTTACGGTCGCCTTCGTGTACCTCAATCGGCCTTCGAAAGTCTCTCACCAATCGACAAATTGCTCATTCATCACATAAAACACGACAAACAACCGGTGCTGAAGCGTGATTAGTGACGACCGACGAGTTGTCGGATGCGAATGATTGTAGTCTACTGGAAATCTCCGAATCAATCCAAACCACGATCATCATGACGAACCGGCACCAAGCTCTCCGCTGAAACGTCTTCGCGCCGAAAGTGGATCCCTATCAACTGCACAAGGCGCATCGCCCGAGTGTCTCACCGACAAAGCAAAGACAATAGAGTTCCACGAGACTGAGATAATGTTTTTGAAACTGGACCACCAGAAGACCAACAACTACAGCTTATCCGAAGGAAACGAAAACGCGGATAAGATATGTGTTGAGCAGCCGAAAACCAGGTAGATCAACCGAGTACGACGACATTAATAATAGACGTCTTCCGTCGAATTCTCATTCGGCAGCACCGAATTCCGAGAAGAAGCATTTCGTTTTTCCGGCACGGGGGCTTTTTTTTGATTACCTAAAAAATTCCCAACTTTTTAAAGTTCAAAAAAGTCAAAATTTTTGTCCATCTGGGCATGACTGCTTATGCCCCGCCCCCCTTTTTCGAAGTTTCTGCTTTTAGGAAAATGTATTCCCAAAGTGCCAGTTTGGATGCCCCACGAATCAAAGGGAGCAGAACGAAGGAGGCACCACGTATTCAAGATCTGGTGCGATTCCGGATCCGGCACCGTACAACTTGAAAACGTGGTGCCTTTCTGAGGGAAAATTTGCCTGCCAAGGTTGAAATATCGAATGCATTACCCGTAAATCGACACGAACTACAGTAACCTGTTATCCGCGTGGCGAGACCCATGCGCGTCATTTGTCGAATATTATACTAAAACCTTTAACTTGCAGAAAAACTTAATTTTTTTTGTTAAAAATTGAGCCAAAAGACTCAAAAATTTCATAAAGCGAAACTTTAAAAAAATATAATTTGTTAAAATTTCAAGAAATATTTATGAATTAATTAATTTTTCCAGGAATACCCCATGTGCCGTCTCTCCAGTTCCATCGGTTTCTCACTTGGTCGGTGATCTGACTTTTGCCTACACGATCCTACAGCCGACGCCATGAGAAGATGCTGCTCGACGAGGCGTCTTCAATCATCGAAAGTACAACTCTAGCAGTGTCTACTGCTCTGTTCTGCTCCAGGAGCTACAATGCTCCAAATATAGGGTCACATATACAATCATATAATCTTATTGCATTTTCGCAATTTCTCTCCACACACATACACACATCATCCCAAGTATTCGTGTGCTGAATCTCAGTTTGAATGCAATGTTTCGATACCGTTTTTATCCCACTATTGCCTTATCGTTTCCTGTTTTATTATATTTCATATATATTGCCACCACCACCACCAACACCACCCTCTCTATCTTTTTTTGTTCTTTTGCTGCAACATCATCACCTAGTTTTCTGTGAATTGAATTTTTTGTTCCCCCGAGTCCCCTCTGATAGGATACATGGTAGGAAAGACAATGAAAATACGAGTTTTTTCAAGGAAAAAAAAATACAAACTAGGAAACTATAGAAACAAAATACTGAAAAAACATTTGAGGCGCAGTAAACCTCTGCAAAGTTCGCAAATCCAAAAGAAAATATTTATTTTTCTAAATTATTTTTCCGCCACTCCAGCCTCATTCTCATTGGCGGGCGCAAAGTCATGTCGATTTACGAGATTAAGATTTTCAACGAGTTTATTGTTATCGATTTGCGTGTAAAGTTAACTAACTTTTTTGAAAATTTTCGCAAAAAATTTTATAAAATGTTCAATTGGCACGAGCAGATCTTCAGCAAAAAAACCGACAGAAATGTGTTAAACTGAATCTCGTAAATCCACATGGCATAATCCAATGAGAATGTTTTTAGCGAAGAAGTTTGAACAAAGGAATATCAAATCAGGGCCAAATTTGGAGCAATTTCTAAAATATTTTCTCAATTCTTTCGGTATTCCACATTCAAACAATTATTCGGCCGTTCCCAAGGTGATCAATCTTTCGATGGGATCCCTTGGTACTGCAGCAGTCAACAGCTCAATCCCCAGCTTCACTATTCGCCACGTCATCCTCGATACGGTATCTAATGGAAACTCTTTGACAGGCCAATCCATCCGAACCTACACTCCCGGCTCAATGGTAAATGGCACATTCGGTGGTAGAATGTCTCGTGATACTGTTGGACGATCGTGAACATCAATTCCCAGATAATGACTGACGTGGTGGGGACACAGCTTGTCCGCCTGATTTGATGAATCATCTCCTGGTGATGATCGAATCAGGTCGAGTTCGGTGAAACTTGCCGCGACAAGTTCGTTCATTCGGCGTAACAGTGCGCTTAGGCGGACTTTTTCCCTTGAGTGGACGTAGGTGAGCAGTTCTTCGTGAACGTACAGAAGCGCTTCGTAGAGGGATTGTTGGGCCTCTGACCAGCTGCAAAAACGAATTTTTTTTTGGGAAGGGTTTTTGAAACAATTTTTCAAATTTCGGTCGAAATTAAACTTTAACCGTAAAACGATTATCCACGGATTTCTGGCTTCCCTCATAAATTGGATTGGAAGAGTTTACCGAACTAGACCATTTTGGCTCGGCTATATCTGGCGCCGAGTCGCGATTTTAGTTGTAAAACTAAATGCATTTGTACATGTGGAGTACACGACTTTGCCACGCGTTGTCCGGCGGGCGATTGTCAATGGATCCTGCATGCAAAAAAAAAAGTTCACTGAGGAAGAGAACTCCGTGATTAGCACCCCCTATTTCTCTTACGAATCTATCTTCGAAATCTTCTATTTTTTAACAAGTCCTGAATTCTGAAATTCATTATAGTAATTTTTTGGGAATCCTTCCATTCCTACGGAACAACATCTCGGATTGGTGACTCAAATTATCTGAATTTTCAAAATCTCCAGAAAAAAATATCATTTTGCCTGAATTTTCTACTTTTAACGGAATAAAGTGCAAAAAAGACTCTTTTTGAGGCACCACCGAAAGGAGAAAGGAGAACACAAACCACGCCCATTTTTTCCTCGTGCCGCCATCGCGCAAGTTTTTCTGCGCGCAAATTTTTATTTTCAACCGAGACAGCAAAACTCCGAAATAACGCATATGTTCTTTATCATCAACGATACTGTTATTTCGGAGCTTCGTTGTCTCGTTTGAAAATAAAAATTAGATGCAGAAAAATTTGCGCGCGGCACGGAAAAAATGGGCGTGGTTTCTGGCGATTCTCCTTTTTCGTGTCTGTTCTCCTTTCTGGTGCCTCTTCTTTTTATATGTTGCGTAATTTTTTAGCCATCTTGGAATAGCCCCGCCCATTACTCCCACAAATCCATATCTACGAAATCTCGAACATTTCCAGAATGATTTGTAGTCTCTCAAACGGGAATATTTAAAATTTCTAGAAAAACCCCATTTTTCTTGAATTTTGGACGAACTTCTGTAATTTCTCAAATTCTGAGAAAAATTTTCATTTGAGTCACCACAAATACTGGAATGCAATCGTAGAAATAGACTTGTGGGCGAAATCAAATAATGGGAAAACATTCATTATTTTTTAATTTTTTGGGGTCACTTATAGCACCTACAATTAACCCCAGAAATCGGAAAGCCAACGTGTCACATCTGACTCATACCCATTCAAACCACACCCAGCATCCACGAGAACACATTCCCGGGGATTCGGTTAGGTCGGATTATTTGCGTCCAAATAGTGAATATTGGCAGGAACACCACGGGCAATCACTGGTGGATATGCTTGCATTTCTGATCCACGACGACGTCCTTCAAACTCCAAGAGCCCGCAAATCGCGTTCTCGTTGTGTACATCACGGGATCCTGATATCATCGAGCTCATTGTCTGAGCTCTGCCACGTTGCACGCGTCACGCATTGAGCTCATTTCGGATGGAGATTTTATTACTCGGCTACGTTCGATCTGCTAGGAAAACTTGAAAATTGGCAAAAAAATACTTTTTTTTTTGAAATTTTAGAACGATTTTTCGGGTGTTCAGAAATATTTTTTTTAGGAAAAAATTGGAACTTTCCAAAAGTTTCAAAAAAATAATTTACAACTTTTTCCTAAAAAAAAAATGAATATTGACAGCTTCGAAAACAGTAAAAATTGTTGGAAAATTTTATTACCGTTAAAAAATTTTTTTTTTTCGTAAAAAAAACTTTCAGTTTAAAATTTGGAGCGTTTACAATTTTATTGATAATTGGTGAAACAAAATAAAAGGTAATTAAAAAGTATTTTTTTTTAAAAATTTGAAAAATTAGATTAAATGTTTATTCTGGGATGAAAAAACCTCCTAAAACCATTTTCTGGAAAATTTAGCGAACTTCCTATTTTGTTAATTCTTTTTTTTCAAGAAAAAATTTTCCACTAGAAAATGGAAAAAAATTGACGTCGTTTAGAGTCAAAATTGGAAATTTGAATTTTTACTAGCCCTTGAAATCGCGCTCGAAAATCGGATTTTTTTTTCAAAGCTTGAACAATTTTCTGCAAATTCTATCTCTAAACTCACAAAAATGATTTATTTCCCGAACATAATTAGCTTTAGCCTGTACTAACTTCTAGAGTAATCAGTCGAATCAAAAAACACTGCAATCGTTCCCTGCGTATCTCAAACTTTTTCCACTGTTAAGTCTTTATCCGGCTAGTCGGATTCCGTGAATTTTGCAGTCTTTTCCCATTCGGATTCAGTTGGTAGGGCGCCTTCCCATAGCTCATCATAGACACTAGTCAGCAAAAAGAATATTCTTTTGAAGATTCGGTATTCCTAATTGCATTATGTAATAACATTCTGGTGTGGTGATTCCGTTATGTGCAAAAAAAAAAACTTATTTATCAAATTTTTTTTTAAAAATTTAATTTATTTTTTTTATCAAACAATTTTGAATTTTTCCCAAAAAAAATCCGAAAATTGTGAACAAATCTTATTATTTTCGTTGAACAAAAAAACAAATTGACACTTTTTAATTAAATTAATTTTCGTTGAGAAAAAGAGATTTGTCGATTTGTGTTCGTCGCGGCAATGATTTTTTTTAACGAAATTTTCCTGAAAAATTCAATATTTCAATAATTCCTGATTTTCTAGTTTTTTGAAAGAAGAACATGTTAAATTTCTATTAATTGTATAACAAAAAATTTCGGGAAAATCTAGAATTAAAAAAAAATGAGAAAAATTCTAGTAATATATTAATTTTAGGTGTAAATTTCGATAATTTTAGGTTATTTTTCAATTTTTTTATGCCGGGCGAAATTTTGATTTCCAAAACAAAAATATGAATATTTCTGACAATTAATTTTCATTCTAGATTTTTTGCACAATTTTCAATTGTTTTCTGAAGAATTTGGTACTTATTGTGTAGTACATGCCCTCATTTTTAAATTAAATTAAATGTTCATTAATTCCTTATAAATTAAACGTGATATACATTTCCTCCTTTTTAGGCTTAAAAATTGCTATTTTTCTACTTAGTAAAAATTAAAAATGAGGGCATGTAATACACAAGTACCAAGAATTTCAAGCCCGTCAATTCTTGTTTTTGAAATCTTTTTTGGGAAAAATTCCATGACATTTTCGCAGATTGTTTCTTCGTTCAGAAAAAAATTTTCTAAAAATTATTTGTTTGAAACTTGGGTCTAAAAAAATATCTCTAGAGCACTTTTTATCCTTTTTCAACTTTTCTGGAAAAAGCTTTTTTATAACTTAAAATGAGTTTCTGTGGCCGCGTTTTCTCTCAACATTTTCACTTTGCGGACAGGGCCACCAAAACCGAACCTGAAATGGCTTTTCTGTCGGAACGCGTGTGGAACATCCGGTGCAACATATGATTTCCGAGCTCCTTTCATCACAACGACCACTTGCTTTTCTGAAACTTTGAGAGGTCATGGCCCACGATAACTTTTAAATGGTTTTCTATGCATGGTGATTTTATTACGGTACCGGGTCTCGACACGATGAATTTTATAGAATAAATTTTTCTGAAAAATTTCATTTTTTTTTTTAGAAAAATCAAATTTTCAAGATACATGGGCAAACATTTTTCAGGAAAAATTTAATTTCATAGAGAAAAATAGAATTTTTCCTATAAAAAAATCTGAGCGTAAATTCGGATTTTTGAGACTCTTTATTTGGATTTTAAAATCCAAATTTTCAAAAAAAAATTTAAAAACCGGAAAATTCCAAAACTTTTTGAGAGTAAACTAGCCTTATATTTTTCAATTAAAATTAATTTTTTAAAAGAAAATTGGAATTTTTAGAACACCAAAAAATTGGCAATTAGTCCCGAGTTCTTCAACGGAAAAATCTGAAAAATCCGAACTTTTGAAAATCTTTAAATATCCCAATATTCAATTAAAAGCGAAATTTCGGATTTTTGAGAAAATTTCAATTTAAAAAAGTCTTCTATTTGTACTGCACACATTTCTAAGACAAATGCATGGCCTAGATAACTTTTTCAGAATAGGCCACCAGGCCATTTGCGACTGACATCTGCCTCTTACCCCCAGTTTGGACCTCTTTTTTTAAATTCATCAAATTCGTCCTTCTCATCGCATATTCCGCATTTGGAATTCGCGATGGCCACATTGGTAGGCTCCGCCCACTTCTGAGCATTTTTTTCTTGGATCCGATCTGTGTTCAGTGGGAGGGAAATTCGAATTTTTTTAGAAATGATTAAAACTGAAAAAAATAGATTTTTTGGGAAGGAACCTGAATTTACGAGAGACTAGTAAAAAGGAGGTAAAACAAAAAATTCGACTTTATAAATTGAGTCAAAAATTAATAGAAAAAATAAACTTAAAATTATGAACAGAAGAACCTACTAAAAAAGTCTAAAAAATGAATGAAAAATTGCAAAAAACATCTTCAAATCTATACGAGACTCCTCCTCCAACAATGCGGTTCACGCGGGTGATGTACCTGAAAAAAAGTGATTTTTTTTTGAAATTTTAGAAAACAAAATTATGAAATAAAACCAAAAAATTTCCGAATAATCGAGATTTTTCGGAATAGTTTGAGGTTAAAAAAATTTTCCCAATTTTTGATGAAAAGTTTTTTTTCCAACAATTCGGAAAACTAAAAGTACCAAAAAATTTTAGTTTTTTCGATTGTTTCAATATGATAATGGTTTTTTTAAATGTTTAAAATTGTATTTTTTCCAAAAATATTATCAATTTTCATACAATTTTATGGTTTGGAGATTTTTTTCAAATTCAGACCAAATTCGATATTCGAAACGTTTCTCGAAACAAAATTTTTCAACTGAAAAACTACAAAAAATCCTCTTATGGATCTTTGAAGAAAAATCGATATTTTCTCAAATTGTTCAGATTTTTTCTGTTTTTACCCAAAGTGCCCAAATTTGAGTTCGCCACGAATGTTTAAAATTATTTTTCCCGTTTTTTCGATATTTGCGGGTTAAATTTTTTTAAATTTGATTCAATTTTAATAAGTTTGAGTTTTTTTACGATTTTTTGTCCTAATTTTTTCCAATTTTTTTCCATTGGTAGAAGGCAAAAAGTGCGATTTTTTTCCTTTTAAAAATAATTATTCAGTTTTTCGACTGTTTTCTTCTCGCTTCCAGATTTTAAGTTCTCGAATTTTTTTTATATTTGAATTGTATCTTTAACTATTACCTAACGAAAAATTAGTTTTATTTTTAGATTGGAAAAGAACGTTCTTTTTCGTAAATTTTAGTGATTTTTGATTCCAAATTTTTGGATATTTTTCAAAATTTCCCATAGAGAAAGTTTTACCAGGCTTTGGTAGAAGCCAGAAATCGATTAAAGCTTTTTTGGGTTTTTCGACAATTTGTCAAGTTAGGAATTAAACTTTTAAAATTTATTTCAAAAATTTTAAAAAACTAAAAGTATTTCTGAGAATTTTTCTGATATTAATTATTCAGTTTTTCGACTGCTGCTTGCTTCCAGATTTTTTCTCGAAGTTTTTATATTTGATTTTTTTAAAAAATACTCTATAAAATTCATTTTTTTTAGGCATTTTTTCTGGATACTTTCTCTTTTCGAAATTTTCGTAAGTGTCAGTGTTTTTCGATTTTTGATTCTAAATTATTGGATTTCTTAAATTTTTTCGGAAAATTCTACCTGGCTCTGGTAGTAGCCAGAAATTATTGAAGAAGCTTTTTTTTCGATTTTTTAGACAATTTTCCGAAGTTTTAGTTAGGAGTTAGACTTTTTCAAATTTTTTTTCAATTTCAAAAACTTTACAAACAAAAAGTACTTTAATTTTTGCGAAAAACAGCATTTTTTTTCTCGAATATTTGAACTTTTTAAATTTTTAAAGCTTGTTTTATATATATTCGAGTATTTTACTCTTAATCAATGAAAAATCTTTTTTTGATAATTTTTTTCAAAAATGTAAAATTCGAATTTGAAATTATTTTCATTCAGAAAAGGGAAACTATTTGAAAACAATTTTTTGTTGAATTTTTCGTAAATTTGAGTGATGCTTTTTGATTCCAAATTTTTGGATTTTTTTTTGAAAATTTTCCACGTTTTGGTTAGGAGTTAGATTTCTTGGAATTTTTTTGAATTTTTTTCCAAAATTTTAAAAAAGAATTTCTGAGAAGTATTTTTTCCTTAAAAAAGAGGAATTTTTTAGTTTTTCGACTGATTTGTGCGTGCTTCCAGATTTTTTCTCCAAGTTTATAAACTTAAATCTTGAAATTTATATTCTAATATTTCAGATATTACCTAATCGATAAAAAACTTCGTTTTCTTTTCAAATTTTAATTGAAAAAAATCGATTTTTTCGATAATTTTTTAACGGCTTTTTTTATTCGAATTTGTTCAAACACTTTTTCATTCAGGAGAATTTGATTATTTGCAATTTTTAATTTAATTTTTTAATCCTTTAAATTTTCGTAAATTTTGAGTGTTTTTTGATTTTTTCCAAATTTTTTTTTTGCAAATTCTCAAAATTCTTATTTTTGCAGAAAATTCTACCTGGCTTTGGTAGACGCCAAAAATTCGATTTAAGAAGCTTTTTTTTGATTTTTTTTGACAATTTCCCAGGTTTTAGTTAGGAGTCATTTTAAACTTTTTTCTTTTCTTTTGACTTTAAAAAAAAGTTTAAAAACTAAAAGTGTTTCTTAGTTTTTCCTTAAAAAAGAGGATGCACATTTTTTTCGCTAGTTTTCCTGATCGACTGACTTCGTTTTTGAATTTTTAAAAATTCAACAAGTGTATTTTTTAAAAATCTAACCGATAAAAGAGTCGTATTCTCGATTTTTGTTTTCAAATTTTTGGGATTTTTTTCAAACATTTTTCCAGAAAATTTTACCTGTCTCTGCTAGAAGCCGAAATGTGTGATTTTTTTCCAAAAAAATGCTGGCTAGTTATTTAGTGCTTGTTTCTTTCTCGAACGTTTTATTATTTGAACTTTAAAAATTTTTATATAATATTAAAAATTTAAATAATAATATAGAATTTTTTTGAAAATTCCTTTCTGATTATGGAAAAAACATTTTGTTATGTATTTGAGAAACTGAAATTTTCTGAAATCTTTTAAATTTGGAAAATTTCGAATTATTTTTGTTGATTATACTCTAGGTAATCGATAAAATTTTTTTCCAATTTTATGAAAAAAATGATTTTTTCGATAATTTTTGATTTATTTTCGGGAATATTTGAAAACAAACACTTGAAAAATAAATCAAACTTTTTTTTTGAAATTTTCGTATTTGAATTTGAGTCTTTTTCGATTTTTGATTTTTCTAAATTTTTGGATTTTTTCCCTCCAAATTCTTCGTCAATTTTTAGAAAATTCTACCTAGCTCTGGTAGAAGCCAAACATTGATTTAAGAATCTTTTTTTTTTCTTGGATTTTTTTTTGAAAATTTTCCAAGTTTTGGTTAGGAGTTAGTGGATTCCCTCAATTTTTTTCTTGAATTTTTTTCAAAAGTTTTAAAAACTGAAAGAATTTCTAATAGGAGATTTTTTCCTTAAAAAGGAGGAATTTTTTAGTTGTTCGACAGATTTCTGCGTGCTTCCAGATTTTTTCTCCAAGTTTTTATAAAATCCTTAAAATTTATATTTTTAAATAATATTTCAGATATTATACTCATAATCGATATAAATTCGTTTTTTTTTCAAATTTTAATTGCAAAAAAATCGATTTTTTCGATAATTTTTGAATTTTTTTTGGGTTACAAATTCGAATTTGCAATATTTTTCATTCAGAAAAATTTGATTATTTGAAAACAATTCTTAAGGATTTAATTTTTTAATCCTTTAAATTTTAGTAAATTTGAGTGTTTTTTGATATTCCATATTTTTGGATTTTTTTCCAAATTCTCCGAATTGTTATTTTGCAGAAAATTCTACCTGGCTTTGGTAGAGGGCAAGCCAAAAATTCTAAGAAGCAACATCAGACGGTCTTCCAAGTCTTCCCAACGGAATCATCGATTCCAAGTGTTGTTTAATCTGGCGAGCTTCTTCTCCAGAAGCATGATCCCATACAGCACCAGTTTCCTTTTCAATCATTCCAGACACCACACTAATCACGCGGACTCCTTGTTTCGCGCACTCGCTACGGATTTTGTAAGTGGGACACTGCTAGATGCAACTGAGTAGAGGGACCCATATCGATTCATGGAGTGAAGCCGAAACATGACGTTAGGTAAATGATACTGCCGTTTCTGTAAAAAATCGATTTTATTTGGACGGGAAATTTTGCCTGCCTACGTGCCTACCTGCCGGCCTATTAGCCTATTTTTCATATTTATTTTGTTGTTCTACTTTTTTGCCGTTTTTTGGGAATTTCATGAGTTCTCGGGTCGGCACGACTTCATGCCCACGTGCCTATCTACCGGCCTAACATGATATTTTAATTCCATGATTTAGGTAGGCAGGTAGGACGAATACCTGCCTGCCTACCGCTGTTTTTTTGAAATTTTTTTGTGTGAAAAATTAAAATTCAAGGGAATGCTTTTTTTTTCAAAATTCAATGATTTTTAATGCAGACCGCGCCTATCTGCCTACCGCCTATTTTTGGCATTTTTTGTGTGCAAAACAAAATCAAATTGGAATAGATTGCCTTATCTTTTCGTTTTTCTAATCTGTTTTCCATTTCAAGATTTTTCGGATAGGCACGACTTCCCACCTACTGTGCCTACCTACCTACCGCCTATTTTTGGCATCCGGTTTTTGTGAGTAGCAAAAAGAGATCAAATTAGCTTTTTCTCCTGTTTTCTCCGATTTTTTTGGCAATGTAGGCACGACTCCATGCCTAGTACCTACCTACCTACGTCTCCTATTTGTCGGCATGTTCTCGTACAGAACATAATCAGATTTTGAAAACACTAATATTTTTGTTTTCTGAATTTTTTTTCCAAATTTTGTGATTTCTAGGGTAGGCACGGACTTCATGCCTACGTGTCTACCTACCTACCGCCTATTCTCGGCCTTTTTGTGACTGAATAAATTAACATTCTTGAAAATCCTTTTTTTGTTCCCTTTACTTCAATTTTTTCAAGTTGCATGTTCTCTAGGGTAGGCACGATTTCATCCATGTATCTACCTTTTATCCCCCTTTTTTGGTTTAGGTCGGCAGGCTTGAGTCAGTGATGCACGAAAATCTAGAAACATAATTTTGATTCTGTACGGTAAATTAGGCTTTCAAGACAGTTTGAATTTCTCGAATTTCTACCAGCAAAAAATAATATCTGAAATAACTTTCGCAGCGAGCCCCAAGAAACTGACTGATGGCGATAGCGTCGACATAGCGGCTTTCGAAAGACGGGAACGGTGTTGTCAGATTGTTGGCGAAAAGCTGAAATTTCGAGGTGAATTTTCCACGTGGAATTTTCAGCACGCTCGAACCTTATCAAAATCCTCGCCGGATGTCTCAAGAATCTTGCCGAGCACCTCATTCTGTGGTGGAACTGTACTTAAAGTGTCCAGACCGCCGAGCTTCTCAGCCACTTTCGTGATCAGCTTCCGGTCTGTCCTCGGCTTTTGACACGTTGAGAAGGCTGTGACTCACCTCCAACCTGAATTTATTCCCGAATTGATTCATTGTCAAGTTCTGAAAATCTTCCTAAACCTTTATATTGTCCTCTCCTTTCCCCACTATTCGGACAGTCTGCGGCGGCGGCGACCTAGTAGCCGGTGAACGCGAGTCTTCTCACTACGCTGCTTTGCCCAGTGTGGACAGCAGTTGCCCCGGTGCTTACGAGTGCACATGACATTACTCTGAAAGCCCGATGATGTGGAGGCACATTTATAGATACACCTAGACATCAGGTAGATTTATTTGGAAATCCGTAGAAAATAAAGATCGTGATAAATCATTTTATTAGAGGGGAGAGGGAGGGCGAGCAAAGGAGATCGCTGACAACTTTCGAAAACCGGTTATTTACTCCAGTTGGACGGCTTATTCATGCCATATTTTCCAAGTTATTTACACTATTCTGTTGGTATTGAGAATGTTGATTCTGCTTAGCTGGCGGCTTCGAGCTAGACATCTTTGTAACTCGCGCTCGTCATCCTTCCGTAGAGTTGACGACCTCCAGCGCTGCTTCCAACATTCCGGGGCATCATGTTCATGAATGTAGTAGGGAACTAGTAGCAGGTGACTAAGAGCCTGCTCCATGAACAACGGCGACAAGTTGTTGGCTGCTGCATATAGTTCCTGGAACCCTGGTGGTGGTCCAACATTCGACGCCTGCTGTGGCAGCTGATCCGGAGAGCTTTGAGATCCAAACTTATTGAAGTCCAGCGATAAATCCTTGAGTCTCTCTCACCAGATTGCACTTGTTGCGCAGAAGCAGCCTGTGACAGACGAGCAGTTCGAAGCAAGCTTGTAAGATCAACTCCCATTCCGTATTGCATAAGAGGTATATTGCTCATCACGAACTCCTGGCACTGGATTGTACCTGTTCATGTAGTTGTTCATGTATGGTGCATATGGGGGTTCTTGAGTGAACATCATGATGGGGTGCTGTTGTGGATTTCCAGTCGGTTGTGATTGAGCTGGCGGAGTTTATTACTGCTGCTGCACTGGGCTGTTGTGGGGCTTCTTGCTGCTGTGTGGCTGGTGCTGCTGAGCAAATTGCTGTGTTAGAAGTCTGGTCCAGAATTGTTGAACTTGCGGCGCCATCCTGTCCGTTGGTACTGATATGAAGCGGACGAAGTGTCCTAGGACAATCCTCAGTTAGATTGACCATAGGAGAATGGAGATGAAGTCGATTTTAAGTGTAATCGCCGTCAGGAATTGACGTCCTTTCTGGCAGAAAAATAATCGAGAATTAGAAATCGTCTTTGCAACAAATTTAACTCCCTCAACTTGTTTCGGGATTATACGAGAAGAGTTAAATATATAGAATTTCACTGTGAAATCGAGGCAAATAGGCGGAGGATTCAATAGAAGGAAGCTGTGGGCTTGGAGCAGCCTCAACAATACAAATGAGTAGTCATGAATGTTCGTTGGTGCAGTTGTGCGAACAAATTCCCCTACAGGATCAGGAATAATCTGGACTGGTGCTGCACTGGAATTGGAGATAATCCTAGTCCTGGTGCTTCACTCAGATCTATTCCTAGATCCGTCCTCAGTTCAATGGTCCATGCTTGATTAGGTTCTGGGGTGCTTTGTACATTTTGATCGTGATGAGTCGACACATTACGCGTCTGCTCCTCAGCCAAAACTGATGATTCACTGCAAATTAAATTTTAAAAAATCTAAATAAGTAAAAGGACAGAACAACTTACTTTTTGAGGAAACCATCTTCATTCTCCGGCTGGTGCGAGGGTTCTGGCTCGAATGCAAATAAAGGCCGGCGCTCTGGCTCTTCTTTAACTGGTGCAACTGATGGAAGTGGAGGTCTATATGTGAGAGACTCCTTGGCGGAGCTGCTGGTTGAGGATTCTGTGCCTGGTACTTTCGGAGTGCTGCTTTGCGATGGGCAGGTGCTGCTACTGCAGCAAATGAGATCGGTGCCGGCGCAGAAGATGTGGGAACAGTGGCGCTGACGGGAAATTCCTCTACTGGTGGTTGTACTTCTGTGACTGTCTCCACTTTAGTCTGCTCCTGGAAAAAAAACACGTTTCGTCATTTCCTTCTTCAAAAAATTCTTACCTCATCAAGATTAGCCGTCTGAGCGCATCTGGGTCAAGTGCTGATGATGGAGCAACAGTTCGGGAATATCCACCTCTGGCGCCACCTCCACGTGCTCGTTCCCACCAATACGGTTTTACAAATCCTCCTCGAGTCGTCCAGCGTGGTGCTCTGCTCCTTCCTTCATTATATCACGGTTATCCTGATTATTATCTCGACTTTCTGGAGCTCCATTGGATCGCCCGCGGCCTCCTCGATCGTCGAAACCGGTGACTCCACCTGAAAAAGACATATGAATATTTGATCTATTTAAGCACGAACCTCTGCCTCTTGCTACAAATCCTCTGTTGTTATGACTGCCCTCTTCCGGCTTCTTCTTTTCCTTTTTAGCTCTTTCTGTTCTGTGCACGAGTCAAGTTTATCTCCAGCATCCAGAATGTGATCGAAAGTGTTGCGCCGTAAAGATTGTTGTCAGTATCCAATAGCTATCTCAGCTTTTGCTTGTGTACATCCGGTGGTTTTGATAATCTGAAAATGAAAAAGGACATGAGCAGTCTGAAAAAACCTCTCTTGGGAATGCGCGAACACTTTAATTAGCCCAAATGAGTAGGGCATGTGGGTACTCTTACTCTCGCTGCACCATCTCAAGCGCGCCTGCTTTTGTCCTGTTCAATTTGCCATCTGGCCCCGTCTTATCGATTCGAAATTCCTATTGACACTGCAAAGCGGACACTAGAGAAGTTCAGCCTAAACAACAAAGTCACGTGCGTCATCATGTCGGTGTGTGTCGAGCGTTAGCGTGAGTGCAAAGATTCACTATTGAAAAGCGTCATTTCCAGCTTGGAGACTTACCATCTTGATCATAAACTGTATGTCCTCCTCATTTCCGGAATTTCCTTCTTCAGTGTCGTAGGGGGCAAGTCTGATCGCTGGTAGCTTTTTTGTCGCCTTTAATACCCATTCTGAAAACAAATTATAAATAAAAAGGGTCAGTCATGTGAACGCAGACTGAGAACTAGTTGAATGAGAATCACGTCTTAGAATACAACTATCAAAGGAACGTTGAATGAAAGGAAGCAAATAGATGACACACCACTAGTAGGACGAAGAAATATGGAACCTTCCATCACAAAAACATTATCAAAAGAAAAGCCTCGTACAGAAGACTCTAACACAACATGAATATATCAGTTCAGCAATACATCACGTTACGCTTTGGAGGATATTCTAGAGCAGAAAACCCCGACTACAAAAATTTCGAAATGGAAAATTCGAATGAACTGCTATACAATGGAGAATCCTATTGAGCGATGATAAAGTGTAGGTGTTACTAGATTGAATCAAAATTTCGAAATGTAACAATACATTGAGTGAAAATTTGGGTATTTGCAGAGTGTGTATCACAGCGGTAAAATCAATGTTTCCACTAAACTCAAAAGTTCTTACGCTGAAAGATCAACATTAAAAAAGTGAATCACCGCAACCTAGACGAATCGCGTTGCCGTCAAATCTCGCAAATTCCCGGAGTTGAAAATGCAGTCGACCGCGACGCGAGCGGCAACGCACCCCGACCTCCAAGCGGCATGGGTCTCGCCACGACCAAAAGTACGACGACAGCCTCTATCTGGCAGTATAAAAGGCGACCATTTTCCGCTATTTTCCGGTAAATTTTGCGATCGAATGAAACTGTGTTGCTGAGGGGGTGCTAATTTTCCGGAAGTTTACCTATTTAATGTAAAAATGTGAATTAAACAAAAGAAAGTGGGTAGGATTATCAAGGAAACACACTGTTCTGGGAATTCGATTTTGTGTATGGACTCTTATGGCGTCAACATTATCGACACGAACACTCAACACCTTGTCACATTTCTGAGAGGGAAATATCATTTTCAACATGAGTCTTCCCAGTTCATTTCGACTCGTCGGTTCAGGTAAAGGCGATCGGCGAGCGATCAACCAGGAGCACACCAGAGCCGGTAATTGTTCTTTTTTATTTCAAATTTCTACAACAACAAAAAGAATTAACAATAAATTCCTTTGAGGCCCCTACCCACATAAAGTAGGAAGTCGACTACCAAGATGGTCATCAAATGGCTCCGGAACCCGTGGAAGCACCAATGTATAAAAATTTAAAAAAGTTAGAAAAAAAATCTGAATCCCAATTTCCAGAGGCTCAAAACGATGAAATGTAGCCACCTCAACCTAACCGCAGATGCAGAGAAGCATTTTAGCATAGCCAATGGCTCCCCACAAAGGCCGCCCTGGACTCCACTAAACTCTGCAGCGGCGGCCGCCGCTGCTTGAGATGACAAAAACGTGAAGGGAATGCGTCCGCTTTCTGAAAACTTTAATTAATGTGTCGAATAACGATGATCCAGAAATGTCGGACAAGGCCGCACGTCTCAAAGAGCTTATTCGAGTGAGGAATTGAGCGAAAAACGCGATAAAAACCGGACAAATTCGGATATTTCAGGGTGATTTAACTGGAAACGACGGCTGAAGAGTTTACACGAAATCTGCAACAGATCAAATCCCAGGCTCAACCGCATCTTTTACCTTGAGAATACTCTTCCGGCAAGGAATGCTGTTCGAAATGGTTCGGTTTTATGTGCAAAAAAATTAAGATCGCGCATATTCAAAAAAAAAATTATCGAAAAACAGGTCGAGTAGCATTGCGAAAAACTTGAATTAAAGGTAACATAAAAAATTGCAGAAAATCCGTTGAATTACATTTTTCCAGATTGTCTGTAGAAATTCCATGATAAAAATTCAAAATTTCCAAATTTATTGGCTATTTCTAGGCTCAATTTCATTAAAATTCCATTTTTGATAGCGAAAATTATCAAGTTTCTAACAATTTCAAGCTATGTTTTTGGTGATTTTTTCAATTTTTCGGCTTTGAAAGTCCATTTTCCGGATTGTCAGAATATATCCGAGTTCCACAAAATTGAGTAAAAAAAATTAAAAATTTCCCTTTATTTAAAAATATTTTCAGCTGTCAGTAATAAATATGGATTTTCCGCAATTTTCTCACAATTTTGAGCAAATTCCTCAACCGATTTTCAGCCAATTTATAAGGATTTGCACCCAGGGGGTTGTCATAATTTAGGGTTCAGCTGAGAAATTAAGTAGTAAGTTTCTGAGAAAATTTTTATAGATTTTCTCAAATAATTTCAGCTCAAAAATTCGATTTTCAGAGCGCATTTCCAGGTTTATTAAGATTTTGCCACCAATTCTTTTAGCTTAAACTTTAAATTTTCCACATTTTTTGTCTATTTCCAGTATATTTCTTTAAAATTCTATTGTTGAAAGCAATAATTATCAAGTTTATCGCACTTTATCAATTTTTCCGCAGTATCTTTTTGTGATTTATCCAAGTTCCACCAAAATTGAGCAAACAATTATTTAATAACTTCCCTTTATCCTCTTAATTTCCACAAATTTTCTCGCAATTTACACGCAACTTTCATAATTCAGGGCTATTTTCAGCTGAAAAATTGCAATTTAAAGTTTTTAAAATGTTTATAGATTTTCTCAACATTCAGCGTCAAAAATTCTATTTTTAGAGGCGCATTTCAAGGCAATTTATGAGGATTTTTAACTATTTTCTAGATGAAGAATCTTTTTTTTTCCTCTTGGACTATTTTCCCTTATTTTCAGATTTCCAGCACTGCATCAGTTGAAGGCGTAAATCCACCGCCTGGCTACGTTTGTCAACAATGCAAGAACCCCAGGACCCCCTCAGCCACCGACGTCCACCTCAACAACAATCCCAGCAGCAGCCACCACTAGAAATGCGTTAATCCGAATCAAATACCCCCACAAATGGTTCAAGGGGGTCCCCATAGGGTTGTAGGCGCCCGGCCAATGATCAGGCCTTCGAATGGGCCGCGGCGGCCCTAGCCCGGCCTACAATGCGGCCCCGTACGAGGGCCGATGGGACATCAGATGGTCCAGATGCATCCTCCTCCCCCACCACAGCAGATTCAACAGCAGCACCCGGCTCCCCCTGTAGAAATGGAGGTGGAAGAGAATTTACAGCCTACCGCGGCGAGGGACCGACGGCCAGCAATATAAGGATCGCTCAAACCGTCGCTTCTGAAGCGGGATGAGGTGCGGAATAGGATCACGAAACGAATGATGTCATCGTGTTCGTGGAAGAGGAGGGTGCGCTTGTCGCGATTTCAGCTGTTGAGTCGCATTAACTTTAAGGAACTTATTACACTGATGGCGTTGCAGAACATCGGGTGGAAGAGTTTGAGGTATTGAGGAGAATTGATTTTGCTTCAAAATACGGCAGCGAAAACAGCAAAAATTAAGGAAAAGGAAATTAAGACGGCTTAACAACAATTTTACATTAAAAAAAAATTTAAATTTCAAAGGTTCCGAACTATTTATTAAAAAAACATCTAGATTTTAAAATCCAAACAAAGTGAAATTTACGCTGAAACGCGTTAATTGTTTTTCAAAGTCCCAAAATATAAAAATCTGAGAAATATTTTCAAAAATATCTCCAATTTTCCCCAGATTCCGAATATATTCAAATTCAAAAAAAAAATTTCACCTTTATATTTCAGCTTGAAGCTATTCGCTTTGTGCATGCACACCATGACCGACAAATTTTTTCAAATGCGCGCCCAGATAAATAGCTTCTCATCGGGGGGCTTACTCGCTTCGTGTCGATTACGAGTTCATTTTTTAATTTCTTTTAAGCTTTTTTTTTCAGTTTTTCAACGAGTTTCATTGAAGATTCTTCGTCGATTTTTTGTCATTTTTTGAAATTTTGTTTTGTGTCAATTTGACACTTTTTTAGGTCAAAACCCCTGTGTTCGTCGATGACGTAAAAATATAAAATTCCGGGACTTTGTTTGGAGATATAAAAAAAATATTTTAAAAATTACGCACAAAAAAAACTGACAAAAAAGCATAGACAAAATAAAAGAAACGAAAAAAAAAAAGAAACTGTAAAAAAGCACGAATAAATTTTTTTAAATAAAGGAGAGCTGCCGTAACCATCGACACGAAGCAAGCATAAAATGGCTTTTTTCCTAACGATTTGTGAAAAATCCGAATTTTCCATCCTAATAAAAAAGCAGAATTCCGGAGAACTACGTGGCAATTGATGACGTCAAACGGCGCGTGATTAACTTCGCTTCCTTGAAGATTTGGATCGTCAAGAGGAAGAATTAAGGGAAAGTCGAGAAAAAGAGTCGCTAATTCGAATGAACAAGAATAAGAATAGTGGCAAAGAGACGATAGAAAAAGCGAAAGAAATGCAACACAGGAGATGCAGAAGCGAAAAGGAATATTCGAATGCGGCTGCAATTAGCACTTTCCAGTAATCTAAAACTGTCAAGAATAAGTCCGTTTTGAGCGTGAAATGTTCAAAATTAATTATAAAAAATAGATTTAAAAAAAACAATTTCCTCACCAAGGGCCGTGTCATTTTTCGATTTTTCGGTCTACAAAAATTCGAAAAATGAGTAAAGTTTCGTGTTTCGATTAAAAGTCAGAACTGAAACACCGACACCTTTGTTTCTGAGATTTGGATTATTGGAAATGAGCAAAAAAAAATTATTCAGAAAAAATTGTTTTACAATGCTGAAAAATCGATGAAAAAATAAAATAAATCAATAACTAATTTAAAAAATGGAGAAAAATTTCGATTTTTTCGTTTGTATTTCACAAAAAAAAATTTTTAGAGATAAATAAAAATTTGCAATTAAAAAGAATTACTATTTAAAATAAAAATTGAAAAAAATAGAAAATTCAGAAAAATAGCGAAAAATAAGTTTTTTTCCAGAAATTTCGTTAAAACGATCAAGATCTTAACCCTAAAATTTAGATAAAATCAATTTCTTGTGGTTCTTAATTTGAAAAAAAAAACAGTACTTTCCATTAATAAATCACTTTCAAGCGAATAAATTCGTTTTTATTGCGAAATTCGCAAATTACGAAAAAGTGAAAATAGAAGCTGAAAGGAAAGAATGTTTAATAAAGAATATTTTCGGCATTAATTGGTTTTTATACATATTTTTTTGTAGAAGTAAAATAATTACTAAAATCAGTGAAAATATTGAAAAAAATTTTAAAATCTGGAAAAAAAGCAACAAAAACTTAATTTTTCCAGAAATTTCGTTGAACTATTCGGTATTTTAAGCCTAAAATCAAGATACAATCAATTTGAACAAAATTTGCATGCTTTTACTAAAATTAATTCGGAAGAAATAGGAAAAAAAAGAAATTCTCGGAGAAATTTGAATTATTGGAGAAAAGCTGAACACTTACAAAAAATTTTTTACTCCGTTTTGAGAAAAATTTTTGAATAGAAAAAATTTTAAATTTTTAGAATTTTTTAACTATAATTTTTGAATTTCAGTGACTTATAATCACTTCCAGAAAGACAATGAACGAAAAACAAATGCTTATCGGCAAAAAAACGTATTCTTAAAAAAAAATTTAAATTTCTAGTGACCTTGAAAAAAAAACCACATTTTCCAATAATTTCCAGGAATAAACTAAATTTCTTTGGAGAAATTGGAAATTTATTTCACATTTCGAAAAAATTTATATAGAAATAAAAATTTATATGAAAATAAAAAATTTGCAGCTCCTTACAGCAATGAAACCTGTCATTTGTTGAAAATTAGTTTTTTTTTAATTTAGAAATTCTCTTTTCGAAAAAAAAGGTTTTTTTAAAACGTGATTAAAAATTAATTCATTCATGTCATTTTTCGCCAAAATAAGGGAAAAAATAATTTCTAAAATTAGACAAATACCTTTTCTGTTGAAAAAAACAACATTTTAATTTTCTTGTTTTTTAAATTGCTTCCACTAAATTCACTTTTTGAAGAAATGTTTTGAAATTTTTACTGAAAATTGTTGGAAAATTATTAAATGTGCATTTTTTTGCAATTTCCAGTTGATAAACTAATTTCGGTTCAATTATAAAATAAATTTTGAAGTGGAACCAATTTCAAAAAGATACATTTTTTACAATGTTTGTTTTTGTTGATAAAACGAGCTTGTTTCTACATACCGCTTTTTTACATTGAAAATAAATTCAGTCAGATGGGAACACACGGGAGCCGCAACGACGCACCTCGTCCACGAACAGTACGTGTAACAACCAATCGTGAACTACATCTTTTATTCACGGCATCCGGATAGCCGATTCACAGGGTAGCGATTTTTTTTGTTTAAAAAATTTAAAAACACCGTATTAAACATTTCATTGGAAAATACTGATTCAAAAAGTTTTCAAAAAACTTTCAAACGAATGGTAGTTTATTTTAATTTTAAAAAATTCCAATAAAAATCAATTTTTATACGATTTAAAATTTTGAAAAGTTATCCCATTCGCTTCTCCTAATAAAACTCATTTTTTTTCCAGAACATTCATCCGTGAAAAGATGTCATACGGTGGTCCGGTGACAGTCGGTACAACTATCTGAACTAAAGAAATCTCATGGAAAAAGGAGCGAAAATTCTGCTTTCGCTTTTTCGTTTTTTAAATTTAATTTTATTTTTCCACAAATTAATCACTTATTTCCAGTCAAATAATAATTAATTTTTCATTTTTAAACGAAATGCTAGACATAGAAAAAAGCTTCTTTCAGCAGAGATTTGCAGCCAAAAATTTCAGATTTTTCACGAAGAACAAATTCAACAGCTAAAAATTGGCAAAGTGCAAAAAAACCAGAATTAGATATTAAAAATACAGGAAAAATCGAGAGAGTTACAATTCAGAAAAGTAGGCAATTTTTTTCAAAATGTCTCAAAAAGAATATTTCGGTATTTTTTATTGTCCCTCTTCTTGAGCACTGAACCTCGGCTCGTGTTGCACCAATCGAACATTTTGAGCGTCGGTGGAAGTGGAAGCTCATCGATTATTCGCGATAGACACCGTCGGCACCGGCGCCAGATTTCTACGGGCGAAGGTGGATGTCACGCGCTGGAAAAATTTCTAATTTCGAGCTGAAAACTCTTTATGAAAGCAATATTTCATAGTTTCAATTCAAAGTTCGAATTCCTCGTAAAATTAGTCGGAAAACCGAAAACTAGAAGTAGGCTCTTGCTCTTTGAAATCAAGGCGTACGGTATCCTCGAAAGTACGCAAACACCGAATTTTGTTTGTTCTTTTGAAGTTTTGGCGCCAAGAACACAGTACGAGCCGGGGTCTCGACACGACAAATTTTTAAAATTTTGAGGACCCTGTAATTTCAAACAAAAAAAGGTTTTTTTCGAATAAACTTCGAATGATACGATAAAAAACATATTTTAATAAAAACCTTGGCAACGAAAGTTGAAAGTACAGTACACTCTTCAACGGCGCACACCTTTTACGCATTTAACTTCCGTGGCGAGACCGGATGTAATTTTTGACTAAAAATTAATCGATAAATCCGTTAAAATATTATTAAAAATTTTTAGATATTTTTCAAAAAGACTGTCGAAAAATTGTTTTTGCGGTTCGATAATTTTTCAGAATATAAACAAACAGTTTAAAAATTCCAACAAATTTTGTTTTTCATACCGAAAAGAAGAAAAATGGACAAAATAGTAAGCTATTTTTGTGTGTCAAAGTGTCTTATTTCGTCTTGATCTGACGTAGACCGATCTACAAAAAATGCGGGAGAAGAGACTCAGTTTGGATTTCTCAACAGAGTTTCGCATGGTTAAACGAACGTGCTGACGTCACATTATTTTCAGGCTAAAAAATTCCGCCTTTTTTAGTAGACCAAACCGTAATGGGACAGCTTGGCACCACGTGACACCGCCCGCTTCTCACCTGTTCGTGATTTGGGAGGGCGAGCTGCCAGTTCTTTCGAAATAATCGTCTAGCGGGGGACTCGATGCCGAAGGAGTAAAAATGTTTGATTCCAGTTAGAGGAGCATTCTGACACATGCGTATTGCACAACATAATTGACGCGCAAAATATCTCGCAGCGAAAACTACAGTGATTCTTTTTAAGTGACTACTGTATCGCTTGTGTCTTTACGTTAGGCATCGATAGAATATTTTTAAAAAAGAAGAAAAAAGAGGGAATGATACGAAGAAAAAAAGGAAAAAAATAAATGCATTTATCAGAAATCGAGTTCGTAAATCGAGACAATCGGTACTGTAGTCATTGATTAAAGACATCCTGTATGTTTTCGCTCCGAGATATTTTGCGCGTCAAATATGTTGTGCAATACGCTTTTTAAGAATTTCCAGTTTTTTCAAACCTTTAAATACATTTTCGCGGTTGTGCTCTCGGATTTCGGGGAACGTATACGTGTATCCGCGACGTTGACGGGGTTGAAGCAGGGTCCGTCGAACACCCTAGCTCTTCGTCTTCCGATACTTATTCTGTTGATGTTGACGGTGATTCCTGCTAGGTTCCTCTAGAGCATCTGAAAGCTCTTGCTCATCTTCTGATAAATCTCGATTGGGGCGTTCAACCAGGCCGGTGGTGGAAGGATCCTTGATGAATCATTACAATCTCCATTCTCGGAGTATTTGGAGTTTCTGGTCGAGCTATATCGAGGCCCCAAAGTATGCTTCTGATGATGGCGGGGTCTATCATGATTAATCGTCCATTCGAGCACATATGCTGGTGCTGGAAGGATTGAAAATTGTAAAAACTAAGTTATCGATCTTTGGCCAAAAAAATAATATTTTCTCAAAAATTTTGAAATTCTCGACAAATTTATTTTCACTACTGCCGGTACAGAGAAAAATTGTAGATAGTTGAAGAGACACAGATATCCCGGGAACCAAGGGACGGGGCGGGGGATGTCTGTGTCTCTTCAACAACCTGCACTCTGTGCAATAATATACTTTTTCCAAAAAAAATACATTTCAGAAGTAAAAATGGACAATTTCGGAGTATACACAATTGGAAATTTTAATTTTTAAAAAATTAAAAATTGTTTTAATTCGGAGTTTTAGACGGAAACAATTATTAAACTCTAAAATTTTTAAATCGAAAAAAAACAAGTCTGAGACTGAAAAAAATTTCGAATAAATTTTGTACTGAACAGTATATATTTCGATTTTTTTTTGAAAATCACATTAAATGTTTTCTCGCAAAATTCGGATTTTTTTTACCTGCTCGATTTTCAGTAGCCAGAGCTGTATTTCCGAGATTGGCACCATCCAAATGTGCTCGGGGCGCTGCAATTTTGACATAAAATTTCACTAAAACGCCAATTACCTCGGTACTTATACAAATTTGCTACTAGAAAGAAATACTACTGTTAAGATAATCGAAAGTTTGGATTGACAGAAATCCAATGTTTCAGCTTCTAGAACCAATATTTTTATTTAGAAAAAAACTTCCAGAAAAATGACTTAATATTTTTTTTTAGAACTTTTGAACATTTTTCCTGATTTTTCTTTTTTTTCCATGTTTGGAACTTGCTGGGAATTTCTCTTTTACATTCCTTCATCCCACAGCTTCGCTTCCTAGGCCTAAGCCTGAGCTGAGCCTATGCATAAATCTAAGCCTAAGAGCCTAACCCTATGTCTAAAACAAAAGCGTGGACAGGCCCAAGTCTAACTAAGTCTTCAAGCCCACGCTCAAATTTAGATCGACTCAAGTAACTACTTTAAAGTTGGCAGAGATATTTAAATTCAAAAAAATTTTTAACGCAAAAAAAAAATACATTTAAAAGAAATTGTTTTTTTTAAATAAAATCTTCACCTTTGCGTAAAACCTTGGATTTCGGTCTCCAATTGAACATTTCTTGAAGGACGTCAGTTCTTGTTTCATTCCATCGACGGACATGATCTGCTATAGTATTTCGAATATTTTGTATTGTTTGCCCTTCTTGTACTCTGGGATGACTATTATTACGACCCAAATATTGATCCATACGTCATCCAAGTGATTACGGGTTCTTCTACTGGGAATGTATATAATCACTTAATTTAAAACATATTTTTTAGTTTATTTACCTTTGATTCGAATTAAAAAAAAAAAAATAAACGGTTAAATCCTGACGGGAGCCAAGAATTGGGCGTGTTTTAGGACGTACTCTTCACTTACGCTTTGGTCTACAAATGCGGAAGACGTTTGCCCCAATCACGTCAGCACGTTTTTAATCATGCAAAATCATTTGACTGAGTTCTGCGTCTCTCCTCCCGCATTCTTTCTACGTAGATCAAGCCTAAAGGAATGACAGCTGGAAAATAAAAATCGAACCCATTTTCAAAAAAATTACTCAATTGATTGTCTGCTGGAGTTAGTTGGTCGATTCTGAAAAATATTAAAGTGTTACTAAAAATTTTCCTTAGCAAAATAGCGCGGTTGCATCAAGAAAGGCGCGATCTGATTTTTATAAGCCCGCCCTTTAATGGAGGATCATCAATTTCTAGGAAAAATCGATATTTTACTAAAAGTGATCCAAGTAAATCAATAAATCGGAAGATTGATGTTCCGTGCTTTTTTGCAAAGATTTATCGAAAATGATTTCCATTAGAGCAAGCTTGCAATCGTTTTTTCACAAATATTCAAATTTCTTACGGTCTTGGATCAAAAAGTTGGCGGGGCACGCCGATAACTCTTGGAATTAGCTTAATGCCTTTGAACATGATCCATATACCGTATTTCTTCATCACCATCATTGATCCGCAAATCTGACGATTGACACGTGGATTGTAGGCGTGTGGGAACCGAATGTCGCGGCGGCCTGACGAGCCAAGTAGGTCAACGTGCGGGGACCAACTAAAAAATCCGGGTTATTGTGATTTCGTGGTGAGACCCGAAAATAGTAGAATTCCCTCGTACATCCTGTGCCTAAGCAGGTATTCAGTTCTTGATGGGTTGATGCGGTACCTGCATACACCTACCGTCTGCCTTTGTCACTGCCTGCGTCCCCGCCTGCGACTAAATGTGTGTATCAAAGGCCTACCTACAGTCTGTTTATCTGCCTCAACGTCTTCATACCTACTTGCCTACCTTGATTACATACGTGCCTACGCGACTACCAATTCGGCATACCGGTTGGCAATTAGAGAAGGCTAACGTAGGTAAGCTGGCAGGCCTGAAATTTGATTTTTGCGAACCGAATTACCTTTCGAAATGCGTGCGTTGAGATTCCTCCTTCGGCAGCCTGATCATTGGAGAAAATGTCATACTTCCAGGGACGTCATACACAGTACGATGCTTGGAAACTCTTCTTTATCGGCACTGAAACCCTTTAAAAGTGGAGGAGCCAACAACTAGACGGAGCCCTATGTAAGGAGTATTGTTTCCGGAAACATTTCAAATTTTAGGCTCCACCCACTCACCACGGAAAATTTCATTTTTGGCCGCCCAGGAACAAAAATAAATGTGCAGAAATAATGTATTTAAAATTGTAAGGAAAAACCATGAAATAGGGTGGAGCCTGCCTGCCTGCCGGGCTCCGCCCACTTCTGGCCAAACCATACCCCCTGTATACGTGGCATGACGAGTCGTCTTCCCACATTCAACATTCCAAGCATTCGTTGCAACAACTGAGAATCATCGGCAACGAATCCGACAAATATTCGATCATATCGATTTTGATGAGATTCAGGTGAAAGTTGTGCTTACATCGGTGATGTCACACACTTTGAGCTCCGGCCGAGCCAAGCGAGCTCGCTTCGGGTGTAGTTATCCATTGATCCATGTTTCCGGGTAGGTGACGAGACTCGTTCTCGTAGAGTTCGATCCCATGGTTCGCTATATACCAGTTTCACCTTAAAATTGTTGTCAGGCCACGCCCATTTTTAAAAAATGAATTAAAATTTTCTGTAGAAGAAAAAATTTCAAACTTTGGTGGGGCATTAAATTTTTTCACACAATTCGGCGGTAAATTCAATTAAAAAATTCTTTTTTTTTTGGCGGGAAATGTGCCGCAAAACAGAAAAACTGAAATTTCTAAAAAAAAAGTTGGTGGCCGAGTTTCCTCATTTTCGTGGTCAGAAAACTCGGCTACCGATTTCTTTTGCGTCGCGCCCTGTGATTACTTAAAAAAATCGGTGGCCGAGGATTTTTATTTTCGCGGCCACAATGAGTAATGAAGATTGCACAAAATTGAAAATAGGGAAAACGCGGCAGTCTAACATGTGCCACGTGGCCCGCCGTTAAAGAAGAGCCCTTGGTGGCCGAGTTTTATTATTTTTCTAGGCCACGTAACCAGAACTACACCCAATAAATGCCAGCAATCGTACTTAAATACCCTGAACCAGTTCCAATATGAAGAAACGAGTGTCCCTTACGCAAATCCAAATAAGCGAAGAATTTCGCTTAAATATCAATTGCTCCAACACGAAGAACTTGCTCACGGATAGAATGGACCGCCACCTCGGTTCGGCTGTGGAGGTCAACGACGGAGGACGTGTAAATTTCTGTTCACTAATCGGAAGAAAATCGGATCGATCGACAAGTCGAAAGGCTCGTTCGATGTTCGACGACGGATTGTGTCGTTTTTTACGAGAAAATCGATAAGATGTCGAGTTTTGGCTTTCACTATTGCCCATTTCTGGAAAATCGATTTTTTAAAATTTTAGATTTATTGATTGATTTTAAATAAATAATTAGATGTGAGCAGTCATGTATTTTTCCTTGTATATTTACGAGAGAGATCTCAAAAAATTATTCAAATAGGAAATTTTACGCCAATAAAATGTACAGTTGTGTGCGCCTTTAAAAAGTACTGTAATTTCAAACTTTCTGGCGCAATGAGTAGTTTTCTTTAAATTAAAAACAAAAAAAAAGCAAATCAAGATACATACAAAAGTTTAAAATTACAGTACTCTTTAAAGGATGCACAACATTTTGCATTTAAAATTTGTCATGTCGAGACCGTAATTTTAACGCAAAAAATGAATTTTCGCGTCTGTGTAAAAGAAGTGAGTTGAGGAGAAAAAACAATTGAAAAATCAACAAAAATTGAACTTTAAAAATCAAAAATCGTTGCGAGTTAATTTTTTAGCCTTGAATAAGCCTTAAACTAAAAAAAAAATAATCGACTCAACATCAATAATTTCGTTACAAGACCCAAATTAAAATTTTTTATTTTGGGATAATCTATTCCTAAAATTAATAAATTCCAGAGAAACGAGTAAATCGTGGCGAGACCTAGCATGTACCTTTAATATCGCCTCAAATTATTTTGGCCCGTACATCTCGAACACACGTGTTGCCTAGCTATCGAACAAAAAACGAAAAAAAAAACAGGTTTCTTTGAAATGAAGATAATCAGCGACACAGTGTGGCAAGATGTCTCAAATTATTGGAAAAAAAAAACGTGAAATTCTCAGAAAACGGACCGTTCTGTGGCAATGGAATTGTGAACGGCGTGCAAGGCCACGACCTGTGAAGAGGGCGTGAGAGTGTAGAAAAAAAGGAGGCGAGAGAAAACGGCTGACCCGTGGATAGACTTATTCAGGAGACGCAGAGCGACCGTGAGAGACCTAAGCAGGAATATTTGAAAAGGCGTGCAATAGTGTTGGAAATTCCCATAATAAATGGGTACGGTAGGTATGACCTTACGGGATATTTGTGGGTCTCGCCGCGACGAGTTTTCAAGGTGCATAAGCAGTTTTTGCGATGGGTCTCGTCACACACGGGATTATAGATTAAAATTGTTGATTCGAGATAAATGGAAATTCGAAGACGTCTAAAACAGTTAGAACTTTATTTTAGTTTACATTGAGCTCAACTGTCCAACCCCTTCAAACTTTTTCCACTTTTTTCTTGATTTACTTTTACAATGCCTTTATGCTTTTCGGCCGTTTTCCTGGGGGTTACGACCACGAAATAGAATCCTAACTTGGTAAAGCCTAAGCAAGACTAAACCTTGGTCTTTCAATTATACATACACATCCTTTTTAAACGATATTAATTAATTTACAAAATACCAAAAAAATATACAAAAAATGATTTGAATATATGCGTTTCCCGCTAAATACCTACCCCCAACTTTTGGTCCCGTGGAGCGCGCTTGCACTTAAACTTCAATTGTTCACATCCCCATCTTGTTTTAAATTGTTTTTCCCTTTATTATTATTATCCTTATCACGAGATGCCCTTGCAAAACACATTGTAAAAACAGTATTCTACCTCAACTGATAGATTAATAAGATTTTGTGTACCCCACAGTCCTTCAGGACCATAAAAATATTGATAATTGCTGATAAGCTCTCTCAGTGGTCTGTAGTTTTGGTGATATTTTGGGCAACAAATTTAGATTATGGAAACACGGAAATTCTGACAATGCGTTTTGCGCAACATATTTGACGCGCAAAATATCTCGTGGCGAAAACTACATACGGTAATTCATGACTACTGAATCGCTTGTCATTGTTTTACGGGCTTGATGTTGGAAATTAATTTATTTTCGAATTGTGACAGCAACCGATATTCAGTTTTCCTTTGATTTTTTGTTCCGTATTATTTTGTTATTTTTATGTGTTCTTTCTTTTAATATTTTATCAATTAATGAATGATTTCCGTAAATCGACACAAGCACTACAGTAGTCATTTAAACAATTACTGTAGTCGCTTCGAGATATTTTGCGCGTCTATGTTGTGTAATTCGTAAAGAAAGTTTGAAATAATAGTTTTTAATTAATTTCTTATTCATTCACTGTCAATTCTCACCGAAAAAAAAAATCCAAGTTCGCCGACTTGCGGCACGATGCCTCTCCAAAAGGTTCTCAGGCCCATTCATGTCATTCAATCCATCCAAATGAACGACTTTTCGTTCAGGGCCGCCCTTCTTCTTTTTCCGGTTTAGTACTTTTTCAAACCGAATAAAAAAATCCGAAATTGACTGCAAGTGTGCTCTATTTGAACTTAGACTTCACGCTATTTCGGAATTTTTTCCGATTTTCTCAAAATCTTTAACACTTTTCTAAATGCATTGTTGCATTAGTGACATTTTCCTAGAAATTCTACTGCAAACGCGCGCATCAGTTGCGAAAGTTTTTGGGTCTCACAACGATTTCGGAAGAAAAACGTTTTATCCGAGACCCGGAACACCATGCCCGGATGGAGCGCGTTTGGAATTTTTTTGGTTAAAAATTTTGCGCAACGACAAAATAACCGCGAATTTTATCGTATTGTTAAATTATGACTTTTCCCGGTCCCAGAACGAATTAAAGCAATTATTATGAAAAATCAAGACCACAAAAAAAAGCGCAATAGAGCGCGTGTGCACCTTTTTTTCTTTGAAAAGTCTCGTTTTTTTCTCGGTAAATTCACTGTGACATAGACCTTTCTCGGAAAACGAAAAGTGTAGTAATGGAAAGTGAACAAAAGTGACAATAATCTGAATTGCGTTGTTGTATTTATCTTCTTTTCTTTTTAATCTGCGAAACATAAGTTTTGGAGAGAAAGTGATTTTCGACGAAATTTTCCTGATTTTGCTAAAATTGTACAAAAATCATCATTTTCTGTGGGGTTTCTCATTTCTTATCCCAAAATTTATGCGCCTTTAAATTTGGGGGATTACTGTAATGTTTGTATTTTTCAACTGTGTTTCGGGAACACAAAATTCTGAGAATGAGTACTGCACAATATATTTGACGCAATATCTCGTAGCGAAAACTACAATGGATTAAAATTTAATGAAATATCGTTATGACTATTCGAAAAAAATTTCATTATGGAGCCCGTAAATCGACACAAACTCTATGTCCTGTAGTCATTTAAAGAATTACTGTAGTTTTCGTTACGAGATATTGTGCGCGTTGTCCCCGTAATAGTTTAACTTTTACCACGTGGTCGCCAGAAGGCAAGAACTTCTGCTACCGGATTTCATTTCCTCTGCCACAAACCCTTTGGACCCCCAGTAGAAAAAGTACATAAAAACAATTCCGGGGACTGGGTCTCCAATCTCTCGCCCCCACTCACTAACAAGGGGGACACCCTCAGAAACGAATGCCGTCTAAACGTCTGCACCCTCTCTCTCGTCGCTCCAAATTCTTGGATCAATGCGAACTAACACGCAGTGACCCCCCTCCACCTTCATCCACCCAAATGTTTCATCAGTTCCCGGCCACCGCAGGCTTCTCTCTCTTTCTCTAAAGCTCTCATATAACTACTGTCTCTCTCTCTCTGCTTCTTTTGCTCAATTGTTCTTCTTCATCACTACTATTTGCTCAATTTTCGTAAAATGATATTTTATTTTAAAATATTCATTTTTCCTCCCCCCGCCTCTGCTTTTCATCGCTTGACGCGCCACATACACTACAAAAACCGGTTTTTTCTATCTCTTCCGCCCGATCATAGAATAGATAGTGTGTGCTGTCAAATTTCCATTTCCTGGAAAAATCGCGCCGAAATTCCAGAAAATTCCACTTTTTCTAGAATTTTCAGGTCGTGCAGTTTTTTCGGTTTTTGAATCTAATACAAGGCGAATTCCGTGAAAATTAATTTTTCCTCATTTGACGAATAAAAAATATTAGTATTGTTTTTCTTTCAAGAACGTGTGATTTTTTCACAATCTTCTATGGTTTTTACGTGGATCTTGAACTTCCACAACTTGACAAGTCTTTGAAAATTAATAAAATTTCACCGTATCTGCCGATCGTTGCAAGACACACTCCACATAAGAAGTCGTGCGCCTTTAAACTGTGTACGGTAACTATAGGAAACTGATTTAATCCACTTTTTTCTTCGAGCGCTTTATCCGTCTATTTTTCCAATTTTTCCTCACTCTGATTTCGAACGATTTTTTGCATCTTACCTCAAAAAAATTAATTAAATGCATAAAGTGGAATTGCTGATTCTTTACCAAAAAAACACTTAAAAAATCTTCTCATCAATTTCAGTTCTTTCTGGCATGGCTCATTGTTTATCGACACCTGCTTGTTTTGCTCCGTAACTCCGCTCCCAAATTTTATGAGTTTTTCTTCGAAATTTCTCCATTTTTCCCGTGGTTCAAAAACCGCCAAAATTCGCTTTTTCCAGAATTCGCCTACTAGCACTACTAGATGTGTTAATTTGGGGCGGAATTATTTTACAAAAAGCAATGTATCCGGTTGTACGGGCTTACTGAAAATGAGAAGCTCAAAGACCTTGAAGGAGCTGTGCATATGGTCAATATATCCGATGAGGATGCCATTCAATTTTTAAAAGGTGGATAATTAAGCTGAAAAGTGGAAAAAAAAATGCATTTTTTACTTCAAATTGACCTAAAAATTGGACTAAAACGTCATAAAATTACTGAAAAGTCAGAAAATTGTCTAAACTTAATTTTCGCTAAATAATTCCAGAAAAGCCGACTGGGACATTGCAATGTCATCGCGAAGAGTGTTTCCGAAACAAATGAGGATAAAACAAAGTGTAGGTTCCGGGCACTTCGAGAGGTAAATTTTTGAAAAATTTCAGAATCAAACTGAAAAATAGATATATTGTGTGAAAAAATGCTACCATTTTCTCCGTAAAAAGGGAATTTTGACCGGTTTTTCAAATTTTAAACTGAAAAAAAAAATTATATCTGAAATTTTGCTCTTTTCGGCGCGTTTTTTCTCAAAATTTGATGAAAAAGTTCTAGAAAACAAAAAAGCCTTTATCAAATGTACTTGTTTCTGCGATTTCTCAAATTTAAAATTTTACGCGTCAAATCTGGTGTTTTGACTCCGCCCACTAAATTTAAACCTTTCGTGAAAAAACAATGTTTTTCTCCGATTTTTAATAATTTAGGCAAAAAATATACAAAATTTGCCTAATTCACCTATTTATTCCAAAAAAATATCACAAACTTCCTGCGCGTAAAATCGGGTGTTTATGCTCCGCCCACAAAAATTTCTTAGAATTCGAGTTTCGGCGGATTTTTTCTCAAAATTTCATGAAAATTGTGAGAAAAACTACAAAAAGTCTTTGAGCTTTACTCTTTCTCTGCGATATCTAAATTTGAAGATTTGCGCGTCGAATCTGGTGCCTTGGCTCCGCCCACAAAATTTGAATCGTTTAAAAAAATGTTTTCACCACTTTCCCCGCTTTTTCGCCTGACTACCAATCCCAATTTTTTTGCAAATCGATTTGGATTGATTATCGTGTCGTCTACGTGTTCTTAGCCTTCTATCTTCTAGATTTTGGAGGTTTCCCTGATGAATGTCGAACGTTAGAAAGATTTGATAGAGACGCAGACACAGAAGAGCCTTGAGTCGCGCGTCCAGTAAGTTGTTTTCTGGAAAAATTGTAAAAAAAATTGAATAAAAAAAATGATATTTTTAATCGAAAAAAAAAGTTTTCAAAAATCAAATTGGAAAAGGTGAAAAAAATTCAACAATAAAAAAAGAGCGACAAATGAATAAAAAAAAACTTTTTTTTTTTCCAAAAAAAAGAAAATGACCAAATGTTATTTAATCGCCCGAAAAAATAAAAAACGAAAAATGAAAAAGGAAATTTTGTTTTTACAATTAGAAAAAAAAAATTAAAAATGTATTAAAAATTTTTTTTTGACATTTTCTTTCGCTTTTTAATAAGTTTTGACTAGCGGGGCCTGCGGGCCCGCCAGTTGGGGTGTAGATCGGGCGAGTCCCCCAGTCGGGCGTATGTTCTCGTCTTCGCCTAGAACGTCAGAGGATTCGCGACAATTGCAGTGAGTCAATGGGAGGGAGACCCACTCATATTTTATAAAATCGAACATTTGTATTTGAATCCCGAGCACTCAAAAAAAAACGAAAAAGGTGTTTTGTCTGTTGGGGGAATCGAGCGAAAGAGCAAATTATTCACAGCTATACGCACTAACCAGCCATGCGGGAGAGACCTCTCACAGAGATGTAGGGAAGGAAAATTTCTGGGGGGAGCGCGGGGGGGGGGAGTTGTCTTTCGCTTCCGTTTTATTCAATAATGACAATTTGGGGGAAGCCGTTTGAAATAACCGTTTATCACTGATAAGTCAGCAGTAAACCAATTTTTTGAAAGTTTTTTATAGCATGATTGTACTTATTATTTAATTCCCGAAAGAGAGCCGAAAAGTTGAAGGTGTTATCTTGTAAATTGTTTTATTTGAAGAAGAAACCAGTTTTGGCTGAAAATTTTGAAAAAATAATATTGGCAGATCGAGCATTGCGTAATGCGACGAAACTCCAGCTTCCAATTGATAAAATCAAAAACTATGAATCTGAAATACATTGCGCAAAACGACTTTAGTGGACAAAATTTTCAGCAGATAACCGAGGAAACCACTCCCCCCAGTACTAAATTGAATTATTGTTTCTTGAAATATTTTCCCACGGAACTTTTTAAATTTTATATGCTCTCGATGCGTCTTGATGAGACCTACACATCAATTTTTGGAAAACTAAAAAACTTAAAAACTAACCGCTTAGTTATGAGTGAAAAAGTAGATTAGCAATGGGAAAGTGTGCAAAATTTGGCACTTATTCGTCTTGCTCGGCGGACTCATATTACTTTTTCCAATTCTGCGTTAACAATCGTGTTCCGTACTTTTGTACGTGGGATAAAGATAAAATATAAAAGATGCAGTAGAACTTGAGACAAAGAGGAAAAACTACTTTTTCGGAAAAAATTTTTTGTTGGCAAAATGGCATTTTTTGGCCTTTAGGTGTTTTAACACAACTTTTTAGCCTTTTGCCACTTATGAACTCAAATTTTCTTCTCACTCGCTCAAATATCCACCTCCCTGATTGTAGTATCTTGCACATAAATTTAACAAACCCGAGCAAAACCCGAATTTTTCAATTAAAACATGGTTTTTTGGGGGTAAAAAAAGCAACATAAAATTTTTTCAAACGGGGGAAAGCCGCCCTGAGCTCAGCTTTGCTCCAAACTTTGTGCAGTTTTGCTCCGCCGTGGGGTGAAATATTACTAGTAAGCTGTCTAATATTACAATATTCAGTCAAACCGCTCTGCGAGTTATTAATGAAAACGCAGTGTGACTTTTCGCAAGCCTAAAAAAAAAACGCGAAAAAACGCGAAAAAGGGGCGGAGTCTGTACACTCGGCATTTAGTAGAGACTGCTGGCAGATTTTGAAATATCGGAAATACTTTAAAAGTTCGTTTTTTTCCACGACACCTAAACTGGTGGCATCATGTTGATTCGGCCAAAAACCCGCTATCAACTACTGGAGAAGGAAATTGCCTTCCTCACGTCGCATCGTTAGGTAAAAGGTTTTTCAGAGGCGAAAAATCCGAAAATCGCTAACTTACTATTTCCACTGAAAAAATTGTACGCCCTTCATAATTTCACTATTTTCTGAATTGAAAAAGACGACAAAACTATTTCAAAGCTAAAATTGCCCCGAAAATTGTTTTTTTACTAAATTTATTTTGCTCGGCGAAGTGCAAAAATAAATTATTGAATTAAATCTTTACATGTAATCTTCAACAAAATTTAATCGTAAATTTTCAGGTATGTGGGGAGTACGATCGTCCTATCACTTCGTGAAACTCTGTACCTACGAACTTCTTACATGGCGCCAGAAAAGAAGCAACGACTGCGGGAATCGGTTGACAATCATATGAATCAGGTCAATTGGCGGGAGAACAACCTGTGAAAAATTTCTTAAAATTCGGAAAATGATCAAAAATGAGCTGAAGACCGGTCACGTAGTTGAAATCCGCGGAAAATTCCCAGAGGAAACAAGTTTCGGTCAAGTTCGCTTGAATTTTTCTCAAAAAGCTCGAGTAAAAACACGGAGTTGAAATCCGCAGAATTCGAAATTCCCACAGGAAGCAATTTTCGTGGATTTCAACTTCGCGAATTTTGCTCAAAATGCTTCAGTAAAAACTCACGGAGACATGTGAAATCCGCGGAATTCGAAATTCCCAGAGAAATCCTAATTGTAGATTTCAACTTCGCGAGTTTGTGTTCCCAAAAAGCTTGAGAAAAAACTCACGGGGTTGAAATTCGCGGAATTCGAAATTCCCAGAGAACACAATTTTCATCGTAGATTTCAACTTTTCTAGATTTTTAGCCAATTTTTTATTACATTATGTTACAAAAAAGCTGTAAATACTCACGGATGAAATCCGCGGAAGTCGATTTGATGTTGTAGATTTAATCTTTTCCAGAATTTTCCAACAAAATACGTTAACCGGAAAGAATTATTGCCGACACTCCAGGAATCTAGTTTTCAGGAGATGGCTTTCAACGTCGAGAACTTCGCACATTTTTTTGCATTTTTAAAAAATTTCACCAATTTTCCAATCAAAATTTTTTAAATTTCCAGAGTAACGGTCTCGCATTGACCCGTCTCTCGGAAAATGAAGAGTAAAAACTCACGGAGTTGAAATCCGCGGAATTGTATTTGAAATTCCCAGAAGCACAACCATTCTCGTAGATTTCAACTTCGCGGAGTTTTCGGTCAATTTTTTGAGATTTTTTCTCAAAAAGCTTGAGCAAATACTCTCGTAGTTGAAATTATTCCGCGGAATATTCCAGGAAATTCGATTTTCGTAAATTTCTTCTTTCCCAGAATTTTCCAATTAAAAAAGAACGGAAAAAATTGTCCGACATATCCTCCATGGACTTTAGCTTTAGATTTCAACATCGAGAACTTTTCTCGTAGATTTTTTTGCATTTTTTAAAAATTTCACCAATGTTTCAATTAAAATTTTTTTAAAAAATTTTCAGCGTAACGGTCTCGCATTGACCCTGTCGCGGAAAATGAATGGGGACTCGAATCGGATCGATGTTGTACTCGGATAAAATATCATCTCAGTACCCCGTAAACAAGAGGATAATGGCTGGATTCAAATTCCACAGAATCTACGAGAGTCTTGAGGCAATCCACGAGAGGTGTTCGCGTTGGCTCATCTGCTCTAAAGACCAGTTGTGGTTGTATCGGACACGGTAGGGAATTTTCCATTAAAATTTTTTCTTCAAAAATTCATTGAAGAGAAGCAGTAACAAAGAATTTGGTTAATTGTGAATTTTACAGAAATATAGAAAATTTTAATTTAAAAAATTTCGAGATTGGTGAGCAAGGGTGTCAAGTCCACCCGTGTCCCGTTTGTCCCGTGGTCCCGTTTTTTGAGTGTTTTTACGGAACTGGACGTCTTTGGTCCCGCTAATTTTTGAGCGTTTTCACGGGAACGGGATGTCCCGTTGTCGCGTTTTTTGTTTTCGCGGGAACGGACGTCCCCCCGTTGTCACGCTTTTAAAATCTGGTTTTGTATCACGGGAACGGGACATCCCGTTGTCCCGTCTTTTGTCTTACGGTAATATTGACACCCTTGGTGAGAATAAATCAATAATACACATAATTTTTGGAAGAAAAAACGATTTTAAAAATGAAGCTTAACATTTTTTTTCGAAAGAAAAAAAGTGTAAGAAGTTTAGCAAAAAAAAAATGAAAAAAATATCTTCAAAAATGTTCAATATTGTTTTAAGGTGCAACTATTACAAGAGCACACAATTCTTAGAATACGTAATGCGCTACCTATTTGACGCGCGAAAGCTACAGTAATACTTTTATTGTTTACTGTAGTGACTAGCTTGTGTCTAGATTTACGACTGGAGCTTGTGCAGATTGATAGAATATTCAAAGGGATAATTTATTTATCGATTTAATATTCAAATTAGGCAAAAAATGAGAAAAAATATACATGTGAAAAAATTATTTAAAAAGAGAGCTCGTAAGGCATCGACACACTAGTACATTTAAAGGTTTACTGTAGTTTTCGCTGCGAGATATTTTGCGCGTCCAATTTGTTGCTTAATACGCTTTCTTAGAATTTTCACATAAGACGGGTTTTCTAGGAAAAATTTTAATTCTTCATAAAATTCGTCAATAATAACTAAACCGTTAATCAAAAAAAAGTTTTTAGGGTGTCATCAGAAAAAGTCTCAAAAAAAGGCGGTCATCAAAAATCCATCAAAAAAAGAAAATTGAAAAATTTGAATTGAAACTTTTTCGAATTTTTGAAAAAAAAAGTGTTTGAATATTAAACGTAATTAAAAAAAAAGATTTTCCTTTTTTAGAAAATTCTATTCATATTAGAACAGTCGATTTTATAAAAGTATCGATTTTTTTCAGAATTAATTGGATTTTTTGTAAAATAATAATCGATATTGAAAATAAAGACCTTTCGCCTTAAAATATTGTATTTGACAGAAAAAATGGTGTAAAAAATTTTTACCAAAAACCCTAAATAAAATTGCAAATAATTTTCACCTACAAATTAATTGTTTATTAAATAAAGTTTAAATAAATTGCAAGAACAGGAGTACGTGTTTTCAAAATTATTCTTTAAAAACGCGGGTTCTTTTAATTCAGAAAATTCTTTTACAAAAACTCAATAATTACGGATTTGTCAAAAATTCGGATAATTTACCAGGAAATTCAGAAGATTTGGATAACATAATTCTAGTTCACTTCCAAAAAAATGATATGCGACTTACTTAAGGTACAACTAACATTAATTTTCCAACACTTATGCTGCTTAAAGACACGCCAATGGGGTCAAAATGACCGAATATTATGTTTAAACAAAAAAAATTTTCTGATTTTATATATGATTTGAAAATTGGAAAAGTAACAGTTTTAACCTAATTATTTTGAAGTTCTGCCAATTGGATTTGTTCGGTGCAGCGCGCTTGCAATAGTTTCATTTATTTATTTATTTATTTATTCTCGTTATTTCACGGAGGATTTTGCACTTCCATTTTCGATGTTTTTTTTTCTCCGAACGAATGAAAGAAATAAACAAGACAAATGTGAAATGGTTGTTAAAAAGTAATTGAAAATGCTTATAAAACTGTGATATTCTTAGTTCGACGAAAAGACTGAGATGAGGATATTTCTCAGTGTCACTCATTTTCAATTACTTTTAAACAAACGTCATATCGCATTTATCTTTTATTTCTTCTCCCGATTTTCTGAAGAAAAAACATAGAAAATGGCAAGAAAATCAGTGAAAAAACGAGAAAAATATATATAATTCATTAAATAAAAATAATGCAAGCGCGCCCCTCCACCGAACAAATCTAATTGGCAGAAATTCAAAAATAATTAGGTGAAAACTGTGATTTTTCCAATTTTCAAAACGTAAAATAATATAAAACCTAGAAAATTATTTTGAATTTTTTTATCATAATTTCCGGTTATTCCCATGGGCGTGCGTTTTTAAAACAATTCCCACTGAGCGTAGACCTATGTTCTCAAAAAATGAAAACGAGTAATACTAATTATTTTTTAAAAATCCAATAGTGTTTAAATTTTTTTTTTGCAGATTCTGCGAAACGCGGGGAAAGGCGAAGATGACTGTCTCCAGTGGCTTTTGGTGGAAAATATATTCCATAAGAATGCCCACCATCACAATGTCATCGATGACGACTTGTTTTATGCTATGATTCTGCTCATTTCTCACCGGACTATTGTACCATGAAAACAGAGACTAACAATAAACTTAAGGAGTTTTTTTATATGAGCAAAAATATTTTCAAAATCTTTTAACTGAATTTTCAAATTTCCCCCTAGCCACCGGCCCCCCCGTTTTTTTCGAAAAGTGAATTGGAATTTTCGAAAGTTGCACAAATTTTTCTTTGAAAATTCAAATGTTGGTCAATTATTTATTCGAAAAATCGACATTTTTCCAACTTGTAATCTTTTTATTCTAAAAATCCCAATTTGATTTGGTAAAATTTCTGTCAACAATCAATTAAAAATCCAACATTTTCAAAAAAATTGTGAATGTATTCGGGAAATTCGAAATTTCCTATTTATTGGATAAATAGGCTAAAAGTTTTCGATTTTATAATTTTTAGGAAAAGAAGTTGTCAAATTTTTTTTTATAAAGTTTTTTTTTGAAATTTCACTAAATGAGCCAAATTTTAACAGTGGAGCACCGAAATTTGCGACTTTGCTTTTTTAGACTCAGGATCCAAAACTAACGAATTTTGTAATGATACATCTGACAATTTCTCAAAAAAAAGTTATGGCTGTTTAAAGTTCGGGCAAAATAAGGCCCATTTTCAGCTAAAATCAAAATTTTTTCCAACTTCTAGGTGTCGCAACGTCTGATGGACCCTAATTTTTATCTATTCATCACTTTAATAAATATTGTGGCCTTTGATTGAGCATTTAATCGTTGTTTTAAGTTCATTTATGATCTTTGGAGTACAAATAAACGTTACATTTTGTACCACCAAGACCATAAATGTATTTAAATCAACGATTAAACGCATCATCAAAGACCACAATTTATTAAGTAGAATAAATTAATGCGAAATGTTCCACACGTCTTGCGGCACCTAGCCAAGTTAAATTTTGATTTATTTTAGCTGAAAATGGGCCTTATTTTTCGCCGAACATTGCCATAACTTTTTTTTGAAAAATTTTCAGAACGTTTCATTACGATATTAGGTAGTTTTGGGCCACTTGGGTCTAAAACAGCAAAGTCTCAAATTTCGGTACTCGACCTTTAAAGAATTCATATAATTTTCTAAAACAACATATATTTACACAAATACTTAATTTAGTATCAATATGAATTATTTGAAAAATCAAAAAATTTATATGTATTTTCAGAAAAAATTCCCATGATCGATGTGAACCGTAACCTGCTGCTCCTGTCCATTCTATTTACAGTTGATCCAGGAGAGTCAATTGGTCCAAATAGAAACAAATAGTAATACACAGACAACTACAGATATGTCACAAATATGGGTGATAAGCTTGCGTTGATGTAAGTCATATGGATATTGTTAGGTAAGAAAATGAGAAAAAGGATTTTTTCAATTTTTTTTTCTAAATAAAACATTCAATATATCGTTAACAAGCCAAAAATGTGTACATGTTTTAGTTTAAAAAATATTAAAATTTTTTAGTCCCAAAATTAAAATATCGAAATCAAAGTGTTTCCGACATTTATATAGACGAATTCTATTTTTTTAAAATCGAAATCATATTTTTAATGAAAGTACAGAAAACAGCGCCAAAAAAGAAAAAAACGTTTTTTTTTTTCGAATCTTTCATTACAAATATTTGAAAAAACGAAAACTACAATTATGGGAATTTCGCGAAAATTTTTTAAAAAAACTTTAAAAAATTCTTAAAAACAGCTATATAATCACGAATGAGAAATATATCGGAAATCCGGAAAAAATTAAAAAAATTTTGTGCGTATTTGTCTGAAGTTATTTTACAAACACCAAAAATAAATCAATTATTGTTGGAAAAAATTGAAATACAACGGAAAACGAATTATTTATATTTAAAACGAACTAAAAAAAATCCCGCATCACAAAATTATTGGAAAACGAGAAAGCTGATTTTTCGCTAAAGTTCAAAAAAATTTACAAAAAAAGAAAAAAGTATTAGAAATCGGTAATTTTCCGAAAACTGAAAAATTCGAGTTTTCTAAAATAAATTAAAAAAAAAAATCAAATTCCACACTTTTGGAAAATTACGGAAAAAAAGATGTAGTTTTCTTTAGCTTTCAGCCAAAATTTTACATAAAAATTTCCGCAATGCATAGTTTTAGAGAATAATTTTAAATTGAAACACTAAATTTTTTAAAAAACTTGCGTTTTTTTTGAAAATCCCCGAATTAAAAAAAAATAAAATTTGAATTTCAAATAAATATTTTGCTAGCAAAAATAGTTTCTAAAACAAAAATTTGAAAAAAAAAATATTTAATATTTATTTCATATCCTTTGATTAAAAAAAATCTAAAGAAACATTTCAGACTAGACGTCGTCGTGGCTCAATACGCAGCTCGCGGAGAGTTCGAACGTGCTCACGCGCAACTTCTCACCGAATCTCGTGGTGAAAATGGGCAAAATTTGCCCAAAAATTAATGAAACCAAGAGAAAGTGCACATTGTTCTAGTGATGAACAACTATCAAATAATGCAAAAGGAATCACATTAGCATCAAGTGGCATTGGTTCTGGAAGACATGAGAAATGGAGATTAAGCAATAATTAGGGAAGCATTGTTTTTTTTTTTGGCCTAAAAATTTTAATAAAAAATCTGCTTGAACAGAATTTTTGAATCTTGGAAATAATTAAAAAAAAATGTAGTAATCAATTTTAATTTTAAAAATTAGAAACTTTTCAGATAAAACATTTTTATTTTTTCAAAAATCAGAGTTTGAATCATTTTCAGAATAATCATAACGTAATGAAATCAAAAAATTCAAACTACAATACTACGGTAACAAAAAAAATCAGAATGCGTACTACGCAACATATTTGACGCGCAAAATATCTCGTAGCGAAAACTACAGTAATCCTTTAAATGCAATACTACTGTGTCGATTTACGGGCCTTGATTCTATTTTTTAATTAATTCATTTTCGAATAGTGACAGCCATATTACATTTTTATTCTCTTCTTTTTTGTATTATTTTCCCTTTTCTTTTGCCTAATTTGAACAGTCTATCAATCGAGCCCGTAAATCGACACAAGCGCCACTATAGTAGTCAATTTTAATGGCAGAAGTACTGTTGTTTTCGCTACCAGATATTTTGCGCGTCAAGTATGTTGCGTAGTACGCATTCTCAAAATTTTGTGTTCCAGTTATTTGGTAGTTTGTGAATTTTTTTAATTTTCATTAATGATTATTCTGAAAATGAAACTCTAAGTTTCTGAATAAAAATGTTAAAAAATTTATTTTAAAAGTTCCTCATTTATTTAAATTAAAATGGATTCTTTTAATTTCCAAAATTTGTTTACAAAAAATTCGTTTAAAATCGAAAAATTGAACTGTTAAATTTAAACTTTTCAAAAAAAAAGTTCAAAATTTTTCTAAAGTAAATTTTCAAAATGATACATGTAATTTAGATTATAATTTAAAAAGACAACCAAGACAAACATTTTTTAAAATATTAAAATTTTGTAAAATATACAAATGAATGTTTATCCGTTAAACGACTAAGCCTTAAAAAGCCTCAGTCTAAGCCCAAGTTTCCAATGCCCCTAAGCCTAAGGTCGAACTGCAGTTTTTAAAAAAAAAGTCCCAAATCCGCTTTCCTAATATTGGTACCAAACCTCTTATTTGCCAAAATGAAGAAAATGTTTTTAATTTGAAATTTGTTGATCTGAAAAAAATGTGAATTAATTGCCTTTGTCGGCTGGATTTTTTTTTTGGAATCTATTTTAAGAATAAAAATTGATTATCTTGCGTTTTAAACTTTGATTAGGGTATTTTAAATTCGATGGACGGCGAGTTTTGGTTCAAAAAAATTAAAAATCTCGCCGTCCATCGATTTTTAAATACCCCAATCAAGTTTAAAACGCAAGTACTTAACTTGCATACTCGAAAGTTGACGATGTTCAAAAAAAAATCGTTTCCAGCCCTTCGACATCGATAAGTTGGTCAAATTTCCGATTTCTTATTTTAGGCCATTGTTTGAGCCGTCATAACTTTAGTTTCCGTGATTTCAAGAACGCGTTTCATTATTAAATTCGGTGTTCTCGGACAATTTTGAGTCTACGAAGCGAATAAAACGACTTCACCACCTTTAAAGCTCAAAATAAACGTGCACAAATTTAATTTCCTATACAGAACCCACGGGCTTCGAACTTTTCGTAATTCCTCATCAACACGTGGCAAAGAAAAACTAATCGATACGGACGATCGTATTGCAAGAATGAATTCGACGTGCGTTCTTCGCATCGGAATTATTGCCAACTCATCACCAATACATGGACAAAATGAATCATACTTCGAACGAAACAACGTGCATAATTCCAACAGAATCAACGAACACAATCGGATAGTCGGAAACGGATTAGTCGAAGTGTCTGCAGTGCAAGCTCACTAATGCTCGTGTATCGGTTGTGATTCGGTACGGGACCTACTTTTTGATGTGAATTTCGAGAAAAAAATTGTCAAAAAAAACGGAGAGAATTTGGCACAAGTAGCCTCAATATTTGAAAGAAAAAACCGAACAAATTGATGAGGGGAAGCCAAAATACCAGAATTTACACCCAATCTAAAGTTTTATTGATTTTTTACAAAAATTTGCTCAGTTTTTCAGTAAATTTGCCAGATCTGACCATTTTACTATTAGGAACCGTCATAATTCTGGGTTTTGCCAGACAACTTCCTGAAAATTTAGAACTAATTAATTTTTAATTTTTTGTGGGGGGATCATGTTATTTCCTAACAGAATACTTTGATTTGAATTTCGAAAAAAACCGATTCTAAGCTTAAACATTGACAAAAATAGCAATGAATGTCAAAGAAATTGCTAATACATAAAAATTGTGAAAAAATACACAAATAACAATTTTTATTTAAACTCGTCATTAAAAATTTTTTCAAATTTTAAAAAATTGAAAAAATAAAAAATTTCTAAATTAAAATTACTGTAAAACATTTTTTGTTAAAATTTGAAAAAAATTCTAGAAAAAAAAAATTTGCATTAAATTTCGTTTCTTCAAGCCGGCATCTCAAGTTACAAATATCAAGTGTGATCAAAGTTTTGCTTGGCACAAAATGAGTGTTCTCACGTCGAATTGCGACCAATTTATGGGAAATGCTGGGCCACCGTGCAAAATTTCAACACTCCCGTCATTTGGTAGTAATGATAGTAATCAGAATGATAAGGAAAATATTGTGGAGGTACTTAACGTGGTGCCTAAAGATGGAGCCAAGACACTTACCAGGTATGGGGATTTGAAATTTTGAAAAAATTAGAAGTTTCAATGAAGACAGAAAATATTTTAAAAATTTATTTTTAATTGAAAAATAAAACTCCCAAAAAACAGTTTTCCCAAAAAAAGTGTTTATGTTATTTGTTTATAATATTTACGGAATTGATTTTAAAAATTACGAGAACACAAAATTTGGAGAATGTGTATTGGTCGCTACATATTTGACGTGCAAAATGTCTCGTAGCGACAAACTACAGAAATCCTTTAAATGGCTACGCGCACTAGTGTCGATTTACGGGCTCTATTAACGAAATGAATTAAAATGATTTAGTTATCGAACAAAAATCATTTCATTAAATCGAAAATCAAGCTCGTACATCGACAAACAAGCTACAGGAATAGTCCTTTAAAGGATTACTGAAGTTGTCGATCCGAGATATTTGCGTAAAATATGTTGCGCAATAGCATTCTTTGAATTTTGGCTTCTCGTAATATACGAAGGATGAAAATTTCAGATTTTTAACAAAAAACTTGTGAAAATAAAATTTATGAAAAGTATAAAAAGTTGAAACAGAAATTTTTTTGAGAAATATCGATGTCAATTTCTTCACAAAATTTTTCAAAAATCGATTTTTCTTTCGAAAATTTTTTTTTGTAATTTTAAATCAAAATTTGGCGATTTTCAAAATGTTTATTTTATATTTAATTTCTAAAATTAATTATTTTTATTAAAAAATATATAAACTCAATTTTAAGATTGTAAAATGAATTTGGTATGCCGTTGAAAAATAGAAAACTTAAAATCTTTTTAATAACTGACACAACTGAAAATGTTGTTTGAAAAATTACATTTTTGCAAATCGAACATTTTTGACGCGCAAATTTGTAAAAAAAAATTTTCCGATTAACAGAATAGGGAAAACTGTAAAATAGGAAAAAAATTTACCTAAAAAGCGTATGTGCCTTTAAAATGTGCAGTAACCCAAAAAAATCGATTTTTTGCAGTATGCGAGCTGTGGAGGAAAGCGAAAACGGTGTGGAGGAATTCGTCCACTATTATATGGACGATGAAGTAGCGGATTCATGATTCTATTATACCCATCTTCGATTTTTTTGAAAATATCTTTACTAGAGACCAGTTTTCATTTGAATTTTTATCGATTTTTTTTGGATTCCAAATTTTTGTTCTTTTTTTGGGACCTTGCTTGTGTGTTTTTTGCCGGCTGTCCTTCTGTCCTGCCAGCCAACGGTGACCTTTTCTCTTCTTTTTTCTGTCTGAAGAACTCAATTTTCCCGCCTTTGCTTTCTTCGAGATTTTTGCTTCCATTTTTCATATCCGCGCCAGCTTTTTCTCTCCCCTCCAGTTTTTTTACCCATATTTTCGAGCTTTTTTCTGTGATTTTCACCCCCAGAAATTTTTTGTACCAAAAAATTGATGCTTTTTTTTTTTCTCGTTATTTCCAGCAAAATGCTTGGGCAAAGAAATAAACTCTTTTCTAATTTATCATTCAAAATTTGAGACCAAATTGAAATCCCACGCAACTGCAAAGTGGCATTTGACAATGCACAGCATGGCACGCCTTTTCGTCTCACCCGGGGGAACGCGTATTCTGGGACCAGAATGAGGAGGCGGTGGTGATCGGAGAAAATGAAGTATGGACCACATCTGGAAGAGACACCTGATTTTACGCGCAAAAATTTTGAAATGTATCGATATTTTCGGTCAAAAATCAATATTTAGCGATTATGGGCACATGGGCTTCTGGCCTTCCTCATTGAATATTCGCGCTCCATTTACTACCAACTGCCTGCGGACACTGACGCGTGGAAAAGTGTGGTGTACCTCCACACGGGGGCCACAAACATCAGTTACCGCTTACAACTAAAATCGAGTCGTTACGCGACACGCAACTCGCCATAAATCTACACAAAATCTCGCCGACCCATAATGGCGTAGTTCGGCAAACTCTGCCATGACGTTCGAGTTATGAGCGAAGCCAGAAATCCGTGCTATGAGGGCAACGATTGAACAATCTGAGTGAAATCGTTTCCATACAAAATTTTTTGAAAATTTTAGTCTGAAACTGCCTAAAACTCGAAAAGTTATCTATTTTCAGGTCTAATTTCTGAGGAATATTCAAAAATTGCTAATATTCTCGAAACAAAAAATCGGAGCCAATACATTTGACGCGCAAATGTTGAATTTTCAAATTTACAACCCACTAGCGGGATTCTGGCTTCCCTCATAAATCGCAGTGGCAGAGTTTGACTAGGCCATTTTTGCAAGTGTCGGAGAGGTTTTGTATTTACGGCGCGTTGTGTGTCACGTCGCGGCTCGTTTTCACTCAGTTGTAAACTTGTTGTATTTGCCCGTGTGGAGTACACGGAGGACTTCTTCCACGCGTTGGGCATTTGTCAATGGAGCGCGAAAATTCAATGAGAAGGCCAGAACCTCGTGAGAATCCTATACATTCTGAGAATGCGTATTATGCATCAAATCCGACGCGCAAAATATCTCAAAGCGAAAACTAGAGTAATCCCTTCTATAACCCTAATGTAGTGCTTGTGTCGATTAAATTTACGGGCTTTCGAAGAAGTTACTTTTTTAGTTACTTCGTATTTTTTTTCATTTGTCTAATTTTAATATTCTATCGATAAAGGAATGGGTTTTTTTTTATTTTTATTATCGAGCCCGTAAATCGACACCAGTGCTACAGTAGTTATCACTACGAGATATTTTGCGCAATATATTTATAAGAGTTGGCGGGCCCGGCGCGCCCGCCATTTGTAGGGGTGTAAGGCGAGTCCTTGCGTAGGTTGTGCGCTCGACTTCACGACCCTTAGAGGGTTTGTGAAAATTTCAGTAGGTCAATGGGATCCGGTCTTCTTGTTTTTTGAGTTCGGTTAGGACCAAAGACAGATGCACCCGATGGATAAATCTGAGTTTTGATTGTGGAGTTTGGGGAGGCTTTATATTAGGGGTCGTAGACGTACTATTTTGTATAAAATTGAGTATTTCTATTCGAATCCCGATTACTCACAAAAAAACAAAAAAAATTGACACTTGGTAGAATTGAACCAACTACCAAAATTTCTGCAGTCATACGCACTAACCACACGGACATGCGGACGGAGACACCTTAAACTGGGATGTAGGGAAGTTGTTCTGGAGGAAGTCGTCTTTCGATTCCGCTTTCTTCAATTATTACTATTTGGGGAAGACGTTCGAAAACCGTTTTAATCACTGATAAGTCAGCGGAAAACCGAATTTGTGAAAATGTTATCACAGGATTGTACTCATTGTGGAATTCCCGAAAAGGAGACGGACAGTTGAGGGTTATATCTTGTACACAAAGACAGATGTATACAATAAAACAAGTTTTGGCCTGAAAATTAAAAAGAATAATATCTCTTGGCCATTGCTAACGCGCCGAAACTTCATCTTCCATTAAATAAAATCAAAAACTATGAATTAAAAATACATTCCGCGAAAGTGGCAAAAAAGTGTTCAGGGGACCCAGGAAACCACTCCCCCCAGTAACATATTTTTGAATTATTTTTTTCTTGAAAAATTTTCCCACTGAACTTTTTACAAATTTTATGTCTCGATGCGCGTCTGGATGAGACCTACACGTTTTAGAAAACTAAGAAAACTTTAAAACTGATCGAGTTATGATTGAAAAAGTAGATTCTAGCAAAGATGGGAAAGTGTGCAAAATTTGGCTACTTATTCGTCTTGCTCGGCCGACTCATAGTACTTTTTCCAATTCTTGTGAGTTAAAAATCGTGTTCAGCGTACTTAGGTTTTACGTGGGATAAAGAAAGAAAAATATCAAAATAGATGAAGTAGACTTGAGATAAAGACGAGAAAACTACTTTTTCGGAACAAAATTTTTTGGCAAAATGTCATTTTGCCTTTTGTTTTATCACAACTTTTTTCCGTTTGCCGGACTTATGAACTCAAACTTTTTTTCAAAAAATCAGTCTCTCTGAGTAGTATCGTGCACAAGAGTTTGAATCAAAACAGAGCAAAACCCAAATTTTAACTCAATTAAAACATACTTTTGTGGGGGTAAAAAGAGCAACAAAAAAATTAACTGGGGCAAAAGCCGTCCTAGAGGGCTCAATTTTGAGCCTCCTGGAACTTAGTGCGCGTTTTCTGCTCCACTGTGAAAATATTTCTAGTAGGATTTCACAATATTAGAGTGTCATGAAGTGACACGGTTCAGGAGTTGTGAATGAAAACGAAGTGGGACATCGCAAGCTCAAAATAAACGCGAAAAAACGCGAAAGAGGGGTGGAGTCTGTACACTCGGCATTTATTAGAGGCTGCTTGGCAGAACCGACAATTATCAATTATGTATATGATACTATAAGAATTATATTCGAATTTCACGCTTAGGTTTTTAGCAGCATAGCCGCCTGAAGTTCGACATTTAAAATAAAAACACGAAATGTTTAGTACGTGACAGCCAACGTGGCAACAAATGGAATCTCATCGACAAGTCCTTCAGAATTGAATACCATGGAATGCAGCAATTGACGTACGATAAATGACCACGAATTCACGTTTTCAAGCGATAATTTTTTATTGAATGACGTGGTAGTTTGGTGGCACCTGAGCGCTGTTAGCCAAGCCACTGTTGGTAGAGTTAATCGGTAAACACCACCCGTCTCGGTTACTCCACGCTTCTACGCCGCTAAAATTTGGTTTTGCATTTCCCATTGGGTTACGTTTTTGAAACGGGTTAGAAATGTAGAAAATGGGCAAATTCTAGGCCATCAATTTTCCTTTTGCATGTGTGCAGGAAATTGGCTAACATTCTAGAATTAATTTTATAGAAAGTGAAATTTTCGCAAAATCAATAATCCGAGAAATCGATAAACTTTGATAGAATCTTGTTCATCAAAAACAGATAATGTCCGAAAAATTTCAGAAAATTATTATTTACAGTCTCCGTTCATTTCGTGGCCTAGAAAGTTATCGATTCTAGGCTATCGAAGAGTTTTTCCAATTAGATTCACGACCACACGTACATTTGCATGTAACAATTGAGCGCGACAGGCTTATTTGAAGGAAGTCGAAGATCTTCAAATTTTTCGCGACAGATCCGACACTGTGAGCTTTGTCCCGCCGAGTTTGAGTCCTGATGTTCCGATTTGCCATAAAATTAACCTTATTACCATCCTCGGTGCCTGATAAGAGCCCGTGACGACAAATTTCTAGGCAAGTTACTGCTCCGTTGGTTATCTGGAATAGATCGATCATTTGGAACTTGTCGATTTTAAGAAACATTTTAGTGTACTTTTTTATGGGCAGAAAACATTGTTTTTTTTAATATCCCTAAACAAAACTACTGATAATTGTAAAAAGATCAATTTTTTATTGTTTGAAGATCTTTTTTGAGTTCCCTAGCTACAAAATAAACAATTTTAGAGTTGCAAAATTGTGAATTTTAAAAATAAATTGCACAATTTTGCCATTTTTTAATGGTTTTTGTTAAACCGAGTTTTTCTGAATTCAGCATACATGATTTACCGCTTTTTGACATAATTAGACAACGTTTGATATTTGTCCAATTTTTTTCAGCCATCTAATGACTTTTTTTGGGCAACAAAAGAAATTTCCTAAAACGAAACTTCAATATTCTGAAATATTGTGAAATAGTAGATTTTTAGGGCTCGGAGATCAATTTTAAGTGTTATTCTCTGGCTACAAAATGCGGAAAAAAACGTAAAAAAGTTTCGTGGTACTTGTGGATTATACCCCCGCCATTTTCAAAATTAATACAATTTCCAACAATAATTTATTTCTTTAAATTAAACGTGAGACCATTTTTCCTTTTTTGGTTATGCTTAGGAATGGTTTTTTCGCCTGGATTTCCACACGTTCTTATTTAATGAGTTAAAATATTAACTTTTAAAATGGCGGGGGTGTAATACAAATTCCAAAGTTTCTAGGCCCCATTTGCTGGGCCACAATTTATAGGCTACAGTTTCTAGGACTTTCCCTGGGAACATTTTCAGAGTTAGGCCACATTTTTTAGGCCCACATTTTCTTAGCCAAAAATGTACTCACAAACTTAGCAACGTGGCAATTTCATAAAAAACCTCATACCTTCTTCTCGAAAATTATTTTTCGAACACATTGAGATATTTCCGGAAACGTCGCCGAGAATAAAGTGGGTCGATGAGTAGAAATCTGCAGAAATTGCACAAACCGGTAGAGGAATCGAGAAGTCTGAAATTCTTCTTTTTTAATGCAATTTTAATCTCGGACCAATCAGCGTTTTGCCACGTCTTTTTTTTTTCGAACCAATCAGAGTTTGGTGGGCGTGGCTAGCTGCTGATTGCTCAGTTTTTTTACCAAAAGGCCTACCGTAGAAGAAGAGCAAAAGTGCTCTCGCCTGGTTGATGGGAACAGAAGAAAGTTTCATTAGAGATACCGCCGAACATTAACGTTTTTCGTGAAGAGCTTGAAATCATTAAAATGATATTTTCATTTCTGAAATAATTCATTTTTAAAGGTATACGCCAAACCACCGTTTCCTCTTCGACATGGTACTTCTGCACAGTTTCCAGCGCAACTTTATCGAATTTGTGAAATTCCAAAAGCTCCTGTCCTAGTTCACCTTAGAATCGTCACGCACGAAATCGTAAAGGAGGTTTAGGACCTAAAAGTTTGAAAAATATGTCCAAATCAAACTGTGAATTTCTACGCCAATGATGGAAATGCTCGTATGAAAAGCGACGAGCAACCTGTGGCCTATTAATTGTGGCGTAGTATCTGCTGCTCACCTACAAGATGTGGCCTAGATAAAATGTTCCTAGAGAAATTGTGACCATGGCCTAGAAATTTTGGCTAACCGACATAGAAATGGTGGCCGAGAAAGTGTGGGGGCAAAAGTTTTTAATTTTCATTTCGGTTTTTTTTTTCACAAAATGGAGAATTTTTTGATTTTTTGAAATTGAATGGGAAAGGTGGAAATATTGCTAATAACCACCTCTTTGCTAATTGTAATATCCTTTTCCACATTCTCGCCGTACACCATCATGCACAGAATCCGTCTGAACTTCTTTATTTTCTTGAAAGTTTGCCACGCATTCTACGTCTCTGCTTTTTTATTTGTCTCTATCGTCTGCGTCTTCCGACGTCTTATACACTATTTCTCCCTGAGGCGGATAGGTTTTCTCGTGAACTGGAAGAGTATGACGTCTGCCATTATTAGCTGAAAATTTGAGTTAAAACTGCTCTATCACACTAAACACGACGACACTCGTGGCCGCGGAAATTGGGAAACTCGGCCACGTAACTTGGTTAAATTAATGAAGATATTATAAAAAACTTCCGAAAATTTGAAACATTTTAACTTTTTTTAAAAAAAAAACACATAATGTTCCTAAACTGGCTAAATGAACAACGCCGCGGCGGAGCTCTCCCGGTTTTCCATGCAAGCGAGAATGCGTTGAGCGGGCCAACGGATGTCAGTGGAGTAGAGACGCAGAGCAGTTGTATAAAAGGGGCGGCGAAGAAATAAATTTCTATCCCAGAGTTTAATCTGTACAAAGTTGTTTTTAATTACCGATGACCGAGTATGAGATTTGGTTTTCTAGGGCACGGAACCAAATTACGGCGGAGTAACGGTCGGTTGAAAATATCGCTTAAATGTTTTGTTTTTTCTATGAACTGACTGAAAATCCACGAGCGTTTGTTTTTTCTAAAATTAAGTTCTTACAAAAATCACCTGAGTGTTCCTTGATTTGTTTTCGTAACTTTTTTCTCGCCAACTCTTCTTTACACTACGGTTTGACAACACGATAACATGTCTGTTCAGTTGAAAGACTGACAAGAGTCTCGTAGTCTCTCGCGGACTAGCTGACGCCCTTGTGGTCTAGAATATTGAAAAACTTAGTTTCATTATTCCGCGAAATTGGAAAACTCGGCCATCGATTTTTTTCCCACGCCCTGGGGCAATATGCACTAGACCTTTCATTGTAACAAATATTTCAAAACTAAGAATTAAAAAAATCCGCTCCTACGCAATCTCCCCAGTCTTGGCGGACGCTCCCTATTTCCAGAACCTCATTTGAATAACTTGCTTCTCCCATGTGTTTTGGGATGGGATAATCTCTTTTTCTACCAATGTTTTCTCCTTACTTCTGTTTAACGGCTTTTTTTCATATTTACTGATTGAGAATAGGTCAAGTGACGACGTAATAGAGCGCGTCGAAGAGGAGAGACGCGTGGCCTAGGAATCTCTGCGATCACCACATGAAATACGTTTTATTTTCTAGGCATCTCGACCGTGCTTTGTCCTTCTATGTTGACAATTTTTTGCAAGTAAATTCCCGTCTGCAACAAGGACACCGCACACAACACAAAATAGGTGAAGGTTCGATCGGATCTCTTTTTTTCCAGAGTCAGACAACCAACACACAAATGATGTGGGTCTCTTCCATTTTCCGGTCGTCAATTTGTTCACTATGCGCTTCACTAATTCCTGCTTTGCATTTCAATGTCCGTGCCCTCTCGGGACTGGAACTGACTTTCACCAATGTTTCTTTAGGTGGAAATTTAGATTTGGATAATTGCTGGAGCCAAAATTTGGAATATTTAGCGACTTGACCGTGCAAAAATTTTGGTGGCCGAGTTTTCTCTTTGCGCCGGCCACGTTGAAATAGTCGCCAGGTGCAAGTTTTTAAAACGACCGAGTTTTCTCTATTGCTTGACGACCAGATCTCGCTTCATTATAGCTGTCCGTCTTCCCACTTGCGTAAAAGTGCGACGTGGCCGAGAATAAATGTCAGTGGCCGAGTATGCGACATTTTTTTAGTTTTTTAGGAGGTGCGGCCTAGTTTTTTAAAACCATTGTTTATCTCCACCCAATCTAAAAAAATTTCTGCGGATATTTTAAACCATGGCCGTAAAAAAAAGCCACTCTCATATATGTTTTCGACACCTTTCGGTTTTAGAAATATATTTTTAAAAATTAAATAAATGGCCGTTATTTGAAATCCAAATAGAAATAATTTTCCAAAAAAAGTGGGAAAATTGGCCACTTGAAATTTTTTCCGAGATCTTTTTTGCGAAAAGATTTGAGGCCTAAAAAACAAAAACTCGGCCAGTATTTTTTGACCTTCCATGTGACGTCACTTGTGACTTACAATTCCTTTTCTCAAGTTCCTTATGAGAAATCGTTTTTTTAAGACCTTTTGTGACCCTTTTGTTGCATTTTCTCCCAGTCGGAAATTACGCCACGTGGAAATAGTACGGCCACACTCTTATTTTATTCCTTTGGCGTCTTTTGGGACAAAGTAACAAGTGAAATTCAAACCATGTAAATTAGATAGCCTAGACTTAGCGACTAAGGCTTGTTGAAATATTTTCGTGGTGTGGCATAGAAAAATAAATATTGGGCCATTCCTTTTTCTTCTCATAGTTTTGTCAGAAGACGTCACTGAAACCTAGAAATCTCTGTTCCAGGGCTGCAAATGGGTATATCCTCCATACCTTCGTCACAGACCGGGATCTTCCACGTCATCGACCGCGCCGAACATTGCATTTTGCTAGAGATTACATGGACCACTAAGGTAAGCTGCCTAGAAAAATAGAAAGTTCGGCTCTAATCGATTGATGATGTTCAGTTAAAAACGCGAAAAACTGCGGACGGCGAGGCGACGATATCGATTTCTCCGAAATTCGCGTGACAGTCCACCAACTTATTTCGTTTCAAGGGAATATTCGAATTCATGCCACTTCTGAAATGGTAAGGCTTGTTTTTGAGGTAGGCCACGAAAGCGTATGGTTGCTTTTAAACACGGGCCGCGGACTGAAGTATCAAACTCGGCCACCAAAAATTGAAACTGTGAGTCGCCCTGATAGAATTTTTTTTTTTCTCGGCCAAACAGCAAAGGCCGACACAGTGAAGTTAAAAAGGGAGGGTGCATTTTTTTAAATAAAAGACTAGACTCCTAATGCAGAAATATCATATTTTTAAATGAAAGATCTAGTCGGCTACGTCCGCGGTCGATTGATACAGTAGTCGCGGCTCGGTTTTCATTGATTGAGCACTGAGAAGTTTCACTTCTCCAATTTCAATTTCAGAACGATGAACTAAGAAGTGGACTACGTGGCAGCCAGTTGACCTTTACCGGATAGATGGTCCTGTAAAGGAGGTGAACGTTATTGCCGAGGTGGGGGCTCTAGAGAAACATCCACAGCATTGGGCAGCCTTCGCAGGTCAGTCCCTAAAGAAGCAGAGACTAAAATGCAAAAGTGCTCTGGTTGTGAGATAACGGATGCGCCCACGAGAATTGTCGAAGTGTTCTGAGAGAACGTGGAGAATATCATCAAAAGCTCCATAATTATAAATATGGAGACAAGACTTTACCCTCAACCTATTTGGAAGACTGACTCATCTCCAACTCCTCGAGCATCAGGCGTTTTCTAACGGCAAACTAAAATGCGAGAGTAAACAGTAAGGCATGGAAAAGGCGATCACGCAAACGGAATTGAAGAATCGAGCGAAGATAAGTGATAAAGAAGACTAAGTATGAGAGTAAAGTACGAAATGATATTGGATGAGGAATCACCGGGAGAAGCTGTGTGATAAACGAGTGTTGTTGAAGGAGGATGATGGTGGATCGAGAAGAGCTTCGCTCTTATGATTTCTCAGTTCAGGGAGAAAATCAACATGAATCTGTGTTGATGATCATATGTTCAAGTCGGAGTGAGGTCTTGATTTTAATTTAATGCCTAAATAACTTTGAGACTGAGGCAGTTCAATAGGCTATATACATATAAGTCTGGACCCAACAAGTTTGTTACAATTATTTTTTCTAGATCCTCGTTAGCTGCTGTGAATCTTCGAGCAACGTCGTCTATCGTTCATGTGTGACAGTCGTACCTAGGATGTTTCTGAAGGGGAAGATTGTGGGCGAAAGACAATGAAGAAGATGATGGAGAAGGGGGCTCCGATGAGGAGGAGATGGAGGGGAGCCTGGTCTTGAATGTGATAAGAGTGATTAGGAGCATGTCCAGGATGTTCTTAGGTCTCCATTAAAATATCGTCGATGAAAAAGCTTAATTTTTTAGATGCTAATTGGCAAATCTATACTTCAACAAAAATAAGTAGTCCTTCCCGAAGTGGAATCATGCCGAGGATTTTGTTGATTTCTTAATTGAAGCGGAGCTTAATGACTTGCCAGTTCTCAAAAGAGCTTGTGAGAGGTATTTGTGCTGAGCTGAATTCGGTAGGCTTCTGTTCAAAAAAATATAAAAATCTAATCGAAATCTTTTCTAGAAAAAAGACATCGGAAGGCACCTGTCCCTGTTGGACTTTTCAACTGGATTGTATTCAACTTGCCTGTCTGGTTATGGAGAAGTCGATGACCGTGTTTGACGGAGTTGGCGAATCGAACGCAAGAGTTTGTGGATGCTGACACACTTTTGGCCCATATCAGGAAGAATTTAAGTGAGTAGGGTGTGAGGCAAAATTGCCGAATTTGCCGAGTAGGGCATATTGCAAAAAAGTAGATTTGCCTAATTAGCCGGGCAAATTTCGAAACACTTAATCACCAGTGTGTAAAGAATCTCAGTAGTTTTGGTGCTCCAAAAACATTAAAAAATATTTTTTCACTTTGTCAAGCACGGCAAATTTGCATTCCGAATTTGTCTACAGGTTCGGCAAACATTAAATAGATTTGCCGAATTTGCGGAGTTCGGCCACGAAATTTTGAGATTTGCCGCACACCCCTGGCGTGCACCGTGAAAAGTTCTTTTTTTCCAAAAATCTAAAACTTGAGGTTTATAATGTGACCCAAAAAAAAAGAAAAGAATTCGCCGCGCATTGCAAAACCATAATCCGCCAAAAGTTTCTTTGTTTTTTTTTCGAAGTGCAGACCGGGTTTCCTAAAGTCAAAATTGGAAACACGACAGGACTTTGCCGAAAATTTAATTTTTGAGTGATCTGTTGATGCGAAAGGTTATTATACGATTTCAAAAAGCTCGGTCACGTGTAATTTTAGAGTGGGATTAGCTATTTAATTACATTTGGGTGTAATGTCCAGTAACCTGGATAAAAGAATGCAAACGCTTTCGGCCGAGAATCGGAATCTTGTGGAGCGCATCGAAATGTGCTACGTTTCGTGACCAAAAAGCAAGAGTTCGCGTTGTACCGACCGCCAAATCATTTGATATTCGGCTTAACTATTCAATAATATTGTCACTGTTTTCCTCTCTTTCTTCTTTCTCATTTTTAAAAATGAATACTTTTTTCTTTTTTTTTACTTTCCACACGACTAACTCCACAGCCGCGCCTTTTTGTCTTTTACCCCTGCTTGCGATTCCACACATTTATCAAAGCTGTAAAGACAGCGAAGTAGGAGTAGTAGTGCTTTTAGAGTACACTTTTGGCAACTCTTTTCTCCAGATATATTATATGCTGTGGATGGAAACTTTCCCAGTTTATATATAATATTATTCATTTTACATATTCCCCTTCTTATACTGCTCACCATCCAAGGTGCATCTGATTACAGCTATTCGCCGGATGGGGCGAGTTATCAAAGCACAAGTGGGGCTCTTTTGTTCATTTTCATTGCTTTTTTCATTTCCTTTCGTTTCAACATTTTTCCATTTTCGAAATTAATCGGCTTTTCTGACCCAGGACTCACGGGAGATGAAAATAAATCTCCTTTAAGAATTGTGCTTTGAAAACAATATCATACAATTCAAACTTGAAACTTCATTTCTCCGTTGTTCCCCGTAAATTCCAAGCTGTCATCCATCAACTCTTTGAATAAAAAATAATCATTTGGTCCGTCCGTCGCGATAAGGATGTGAAAAAAGGTAATACCGGCATGTTGAAATACACATTTCGTCGCGGAGTATAGTTACGCTTCGATTGCTCAAGAGGATTCTTCTTTCCCCTATCATATTTTCGGGCAAAGAAGAAATCTCTGTCACCCCCCCACTAATAGAACAAAATGCAGCGTTCATTTGGTGCGATTTTCCGTTTCAAAAAGAAAAAAGTGTGTCAAAAACCTATCAAAAAGTAACCGCCTAAAGTTAGTTAGCACCTTTTTCCATTGTGAAGTTTTCTTCTTCAAAACAACTACTACAGTTTGTGTGTGTCGTCCTATTGTTGTGGTTGTAATTGTTCGATAGAGCGCGCACAAAATCTCTCGAATTAATTGATAGTGTGTTGTAGTGACCCTTGACTCCTTTGTCAACACCGTAATTAGGAAGGAGTACACCGCCGGGCGGGCGAGTACAGTTATTATAACGGTGGAAGATTTGTTTGTTTACATGTTATTAATAGGTTAGTTGTGTACTTTAAACGTTTTTTATTTGAAAAATATTCTGTTAATTAAAAAATACGTAATTTAGAAAAATGATGACTTTTTTTCACTTTTCAAATTTCTCAAAAACCGAACCCATGGGGTTTATTGACAAAAAATAAGAAAATTTTTCTAGTTATCAAAAAATCTATACATTTTAATATCTGTAAATAGTAAATGTGGAAGACAAAATTTTGACAATGCGTGACTAATGAATTTGAGTTTATTTAACTTAAAGAAGAGGAGTAGACGATAATCAACTATATATTGCGCAACATATTTGAACAATACATATATTTTTCGTAATATTTATTTTGAAAAATGATTGAAAATAAAACACGAAGAAAACTATATTTAAAAACGTCGGTGCTTTTTTTACATCCTGTTTTTAAACGAAAAATGCAAACCAATTTTCCGAGTTTTTTCTTCAAAATATTAGTCCCTGTTCATGAAAAATGTGGCATTCTCACTTATGTAAGTAGTTGTCACATGCACTTTTTGACCAAAAATTATTTTCCGAGTAAACCCTATAATTTCCAAATCCTCTTTTTCTGAAATTTTGAACTTTCCGCAAATCGGGAAAATGTCATTTCAACTCGAATTCATACTAATTATACATCTGTATAATTATTTAGATTCGTACTTTTTCCTCCTTTTGAAAAAGTGCACAGACATCGCCGATCTTTACAACCGTCTGGGCGCAGGACCGGTGTTGTAGGCATTAAATAACTATTTTACCATAAATTTCTTATAATTTTTAGCTGAAACGGTTTTCCAACAAAAAAAAACGCACATTTAAAAGGGTTACCGTATTTCTTCTATCAATATGGCTGCAATACTATTTTTCAATGGTCTTCCCGCCCTTGCAATACTAATAGGGAGAGCAAGACCATAGGGAGTGCAATACTGATTTTTCAGAACATTTTTCTGACTGAGCTTACTATTTTTTTTGCTGAAAAAACTCGAACCTTGTGTGAAAATTCAAAATTTGATTGTAATTGGAACAAAAAGGTGAGTAATTACTTCAATTTCATGCTCGAGAAATTCATTTCATTGTTGCACAGTAGGCAAAAAATGTTGTTAACATCTCAAAATTAGTGAGGTGATTTTGTACAAAAAGAAAGTAGACGTAAGACTATTAGGGAGTGCAACACTAATTGCGAGTGCAATACTAATTTTTCGGAGGGCGTTCAAGGAGCAATACTATTTGGGATTGCCAAAAGTCTAATGGAGAAGGAGGTCATATTAATAGAAGAAATACGGTTAATTATTCGCGAGGTGCATTTTCATTTTAAACTTTGTTTGAAAATCAATTATCTTTAAAAATCCTTTTCTTCAAATTTGTAATTATAAGAAACCAAAAAACCTTTATTTAATTTTCAACAAGTGTAGTTTATAATTAAAATATGAAAATTTACAATAAAAGTTCAGGACTGAATCCAAAAAAACTTTTTAAAAAACGAAACACCTTGTTTGAACCTGATAAGCCTGGAAATAACCTGGAAAAATAACATCGATTCAAATTTTGCAAATTTTAAGCGTTTTCTAACTTCGAAAAAGTTGACCTGGCAAAAAATAGGATTTTTCAATGTATTTTATAAAAAGGCGAAAAAAAGCAAATTTTTTGAGAAAAAAATTGCTTAAATTTTCGACAAATCATTTTCAAAACTATTCTCGATTAAAATCCGTTTATAGCCATTTCTCCTTCAATTCTTCCAGGTTCGAATACTTGCTCAGAAACTAAATTTGCTCTTTTTCGTATCCACTACTATACGACTAGTAGAAGTTCTTCATTCAGTGGGTGGCCGGACTACTTTGAATCAAATCACAATTGTAGAAGGAGGTCGTGCATTTGCACGGGTGTTCTGGTCACTCCAGAAATTGAAGAAATTGAGCACCTCAAGTTTTGGATTATTCCAGGCAACTCGGTCGTTTTTGAAAACCTATTCTATGAAAAACTGCAAACTATGTGGTTGCATCTGTCTGGCTGGAATTTTTGTTTCAAATTTTGACCCAGGACATTTGAGAATCAACCAGTTTTCTTACCAAGTATGCTAAAATCCGAGTCAAAAAGTGACTTACACGGGAAAGTTTCAATTCATTGTCCGTGAGGACGTTCGCCTGTCCAGCTCATTCCTTTCTTTTGTCTCCGCCAGAACCGTCTGGGGAGCTCTGGCGAATGAGTTGAGAGCAAGCACATTGCATGAGCTAGATACCTCCAAAAGATATGTGCAGGCGGGAGATAAATTGGACGATGAAAAATCGCCATAAGCATAATTTTGGTGCGGCGAGACCCGAATAATGAGACATTTACGACTTTTTGGAACATCTTCTACGGACAGAATGGCATTTTTGGTAATTTGAGTTGTAGTTTGAGGGGCTTCATTTTTTTCGATTTTTAAATTCGTATAGACGCTTATACGCAAAAACAGAGAACTGCTATAGGCGCACGTGTAGTCAAAATGTCTTTTTGATCTTCAAAAAATGCGGGAGTTAAGACGCAGACATATCATCTGATTCGCATGGCTAAGAGCGGGCTGACGTCACAATTTTCTGGAAAAATGTTCCCGCTTGTAGATCAGGCTATGATGTGTGTGAGTTTTCAATGAGACAGCCTGGCACGACGGTAGTCACATGCTGGCAGTTTTTTTCCTGAAAAAAGGTACCTGGATTTTCGTTTTTTCTTAAGTAGTCAAATTATCGAAAGCTACTAAGCTACGTGAGGAACTTAGGAAAAGTAGGATTTTAAATTGTTTTCGGCCTCGCAACGAAAGACTCACTACTATCACCTCCAAAAAACGAAAATATTTGTCGTGCCGAGCCCCAAGGCTCCGTTGAAGCGAAATTCCTAAACTCCCTAACCGCCGAAATTAATTTCTGAGTTGATTTTCCCATCACCTTCTATATACAGTCGTTTCGCCCCGAAAACGATTTGAATTCGGCTTCTCCTCAAATCCTCATTGCATCCTCTTTCTTATTCGATTTATTTCTAGCGGACTCTCCCCTTCCCATCCGTGGCGTTATTGTTCGGTTACGATACGCTTCTTGTGAAGGTTATATGCAAACGACTACTTGCCATTCGATTCTTTCTCCACAAACGAGGTTATTCCATTTACTTCAACTAAGGAGCTGTTTTTTTCTTGTTTTTTGTACCTACATTCAAGGTCCAAGTAGTGCGGAAAGTCAAAAATCACCTCGCAATTTAATTTTTAATAACGCCCGAATTAGTGCACGATAAGTGAATAAGAACAAAATTCTAGTCCCAGAGTCGTGACGATTTAGACAGCATATAAAAAAAACGATTTTATTCCAAAGTTTGAACTGCCACTACATTTCATGTATTGAGGTTTTGAATTTCCATCATTTAGTTTTAACCACACTTTTCTTCCGATTTCCACCGCAAGCGAAAGTTGTCTTGTTTCCGAATATCTGACCGCCATAACTTGGCTAGGTTTTTTTACGACCGTGCTGCCGAATTTTGAATAGTTTATCAGCATAGACACTCTCTCTGTCCCCTTTCCAACCTCGCAAACCCTTATGTCTGTAGTTGGCATCTGTTGCAGCTTGTTTTTGGGGCAATTTTTTGCCAGCTTGTTCTACATATTAACATTGCCTGACCCACATATCTTGAGCAAAATTCCAAAAAGTACGTTTGTGGCCTAGAGTGATTTAATTTGTGGTTTTTTTTTGATAGTTTTGAGCTAAAACTTGCATGGCTTTTTCACTGTTATAAATCATTTACAAATTCATTTTTTGCTCTTTTTAGAAAAAAAATTGTTAAAATTGTGGAAAAATTTCAAAAAGGTGTTAATCATTATCCACTTCCAAAACGTCATAACTTTGGTGAAACTGTACCGGGCAGCAGCTAAATTTTTCGGAGTGATCGACATTATTTCTCTTTTATCGAAAAATTACTATGCCAAGACCGGGGACCCATTTTTTCACTTCCCTCGCGGTATAAGCCGAAGCCTTAGTCTAAGTCTAAGCCTATGACTGATCAGCATAAGCCTCAGCCTAAGCCTAAGCGTAAGCTCAGCCTAAGGCGAAGCCTAAGAATAACGGGAAACTTTTTTTGTTGCTTTTTTTTGTTTTTTTTCAAATGCCGAAAAATAATTGCGGGATATGAATTATGACTTTGTTTAGCCGTTCCCAGAGATGCTGGTTTTCAGGCTACCATGAACCTTAACGATGTTCTTCTGCCCGCCCTTTGCACACTCTGAAGTTTCCCGCCATGTCAACCTTTTCGATCGTTCGGCACGATAACGTTCTGAGTCCCGCGGTGCCCGTTAATTTCCATCGAATCGTTAGGTTTTCTCCTTCGATTCCTAGCGATCAAGCCATAATTTATCCGTACAAAATCGGATTTTCTCCCTTTTGAGATAATGATGATGATGGCCTCCCTAGACACCTAACAGTGGAGTGATGAATGTCTTCCTTAACACGTGTCCGTTTATCATTTATCACTCTGTGCTGAAAACCGGTCTCTCTCTTCCCCTGACCTTTTCGGTTTTTTGAAACAGTGAAACAGAAACGGAAAACAGGCGGTGTCAGATGTTTGACACGTTGATGTCGTAATCCATTTCGTATTAATGGTCTGCTACTATGTACGCCATTTGCTATATATGGCCATATTTTCAATAGCTTTGAGCACAAGCTTTCAGAATTGGCAATCCATTTTTAAAATTTTAAAATCGTTTGAAAACCAATATATGGGTGGAGCCTATTTCTTAACTGTCCGTAGCTACCGAAAAAGTCGGAAAGCGCCGATTATCTAATATTTACGACTTCGGCAAAACTGAAATTCTTCAGATTTTTAAGATCTTGAGAGAAAGAATTATATTTCTTTCAAAAAACATGTATTATTTAAAATTCGTTTGTTTTATTATATTTGAGCTCATTAACTCTGTATCAAATTGACAAACAGATTATTTCATTCGCAAAAATGCCTAATATCGTAAATTTGAATGTAAAGGCAATTCCCGAATTGCTGCACATCTTGGTTTTTTGAGCTTATTAATTGAATTTTTAAGAACTTTTATTTTGGTAATCTAAATTTTAAAGTTCTTACTGAATTCCGAAAAAAATTTCTTCAGAATAGGGCTTCCATGGCGTCAAAAAGCTTGCCAAACCTTAAGACGACCTCCGCTCCTCTGCCTACCTTAATCTATGTGCTGAAACATATGCTTTTTTTGCAATTCTTGATTGTTTCCTCTAATTGATAGAAATGAGAAAATTTCATAAAATAGAAAATTTACGCACAAGTACAAGGATTTAGGCAGGCCAGGCCGTGAAACCCCGCCTGCTTACCATGGAAGCCCTACTGCAGAAAATGAGAATTCTGACTGTTCAAAAAAAAAAAGAAACCAGCCGTGTTTTTCCTTGAAATTCGAAAAGTTCCCCGATATTCCCCTCATTTCCGGAGCGTTGTGTTCCCATGGTGGAACGGTAGTTTCAACACACCGTCAAAAGCGATTATCGTGTCTATTTGTCTGTCGTCGACGCGACCCATCACACCAAATCGGTTGAATTGGCATGTCGCTACCCCTTTTTTAAATCGGCAATATATTTACTTTTTATTTGACTAAGAAGTAAACACTAATAGTTTTGACTGCAAGAATATACATAACACCTTATTTCACTTGGTAAAGTAATTGAACCGTTGTAATTGAGCTGAACATGATTTACCTACGAAAAAATGCCTGTGACCTAGGGCTTGCATGTATGGTTAAAAGGGCTGCCTGCCCGACCAGGCAGCATGCGCTTGCCTGTGCCGGTTTATGCTAAAAACAAGGTTTATGCTACGGTTGAAATTATTTTTTCATTTTTAATTTGATTTTCAACTTTTGTAATCTGAAAATTCACAAAGGTAGAAAAGAGGGGGAGGCAGGCAAGTTGGCACGGCGTCAGGCCCTGAATCGGCGCCACTGCCTATCATGAAAACCCTAGTCTGAAATCGATTTGGCCCAAAGACCAATTTTCGAGAATCATTCTCCTTCCGTCCTTTTTACGCACTTTTTTAATGAATTTGAAGTGAACGTGTAGTCGAGGGAAATTTAGTGAAACTACTACAAGTCCACGGTTTTCAGCAGCAACTTTTTTAATTTCGTAGAAATAGGTGCTTTTGTGTTAAAATTAATAATAGCTGAACTATTGGATAATGTACTTTAAGACGGGCAATGTCACTCCATATTTTATAAAATGTTGAAAATTTTGGTCAGAAGGGATCGACGGAAGATTTTTAGAAATCGAAAATTTTCAATTTCCGATTCCCATCAAACATTTTATAGCTCAACAGTTTATTTCGAAAGATACAAAAAATCAGAGTCATCTGTTCGCACACCGTTTTACCCCTATCAACAGATGTGTTGCCCTGCACATCTGTTAGAACTTCTCACTATTCTCTACAACAGATTTTCGGAACAGAAGGTGTGATGTTTCTACCTGACTATGAGATTCACGTGCAATTCAAAATGATTTTTTGAAATTTGGAGATTTTTGAGTTATCCATAATTCCGTCAAAGAGAGATCACAATTTTTTTCGTAGATTGACAAGAAAATTACCCCAACAATACTCAAAACAATTGTAAGTACAATTGCATTATTGCTCTTCAATTCTTAATTTGTGCTGAAACTTTCTTTTGACGTTAACCCCTGCAAAAATGCAACTAAAATTGATCAACACTCGTCTAGTAAATCTACTAACTCGCCAAGGGAGAAGTCTTTGAGGGGGTCCGTACATTTGGGGTTTTCATGCTAAAATTCCTACAGAAGAGTGTTAGTTATGATCTCTCATTTTTGCGCATTTTTAAAGTGACTTTATATTCGGGAACCTTCAGACAATCATTGTCCGCACTTTATGGAAATTTTTTTTCGTTTTCGCTCAAAATCACTAATTGATCAACTCCAAGCATAAAAAATCAAACCCCGGTTTTTTAACAAACATTTTGTTAGTTGATCATTTTTCAAAATAATTTAGTACTCTCAACGAAGTTATGCAACTCCAAACTTGGTTGAATCAGTATTTTGCACAAAGTTCGAAGTGAGATGTAGTTCATTCCGACGGTTTACTTGCGAATGGCGAGTTAAAACTTGTGTAATGTACCATACATTTCTGAACATTAAAGAAAGTTCATACATTTTTACAAAAATAAAAATTTTCCTATTTTTGCTAGGAGTTGATCAACAAATTTTGAGAAAAAAATGAAAAAAATAATTTCGAAAAAGTGCGGACATTCTAGGTTCCCGATTAAGAATAAAATCACTTTAAAAATGCTCAAAAATGTTTGAATGAGTTGTGTAAAACTTTACTTACAAAAATAAAAATAGAAGGAATCGAACCAAACCTTAAATATTATCAGACGCGCGCACTCCCAACTCGGCCACCGCGGACAATTTTCAACTGCGTCGATGTGGTGTCACCCGACATTTTTACTTCGGTGGTCACGCAAGCTGAGATTTGCGTGGACTGATAGTAAGACAGTCGATTTCAATGGGGTTCTATCAACCTAACTTGCTGAAACACATTGACCGGGGCAGCTAAATTTTTTGGAGAGATCACAACTCACTCTTCTGTAGGAATTTTAGCATGAGAACCCCAATTTCACGGACCCCCTCAAAGACTTCCCTTGTAAGTCAAACAAAAATTCTGAGATTTTTCAGAGTACTATACGTAGTATATATTTCTGAACAATTCCCTCAACAAAATCCTTTCCACTTCCTCATTTTCCCACGTAAAGTCAGAATACATTTTACTTATTACCATTAATACCTAAATGAAATACAGGTCGATCTTGCAATTCTACCGTCTCACGGCTTTTGTACTTGTTCACCGCCACTTCCCCCATTCTTTAATCCAACCACACACTTTTGGCACACAAAGTGTTCAATCGAAATGGGACACTATTTGCTATTGCTATAATCGACAGGCTGGTGGCAGGAGGAAAGCAGCAAACGACGAAAGGCATAAAACAACTGGGCGTTGTGTTAATCACCCGTATTAAGCATTCTATATTAAGCGGTCGACAAACAGTTCATTCATGTTGACTCGATTTTCGATCATTTCACAGAGTTTTGCTTCGAATTGAAGGTTCATGGAGAGATAGCCACTCTGTCTATTTTCAGATTCCGCTGAATTTTAAGATGTTTAATACTTATTTGCCACCTTTTCGACGGAATGACATGTACCGGTCGGCTAAATCATGGACAGAATCGATCTGCTAAGAGATGACAATTTTTAATGTATATACTCAGGGCTCAAATGATCGAATTGCGTAACGAATTTTTTAAAAACTTTTATCAAAATTTTCTATTGGTTCAATGTTTCGAAAAATAGACCGGAACATGTAATTCCGTACAAAAAAACGCGCTTCTATCGTGTCTGAAACAACAATCTTTTTCATAATAACTTTCAACTACAAACTTGTTCTTTACAAAAAGATCAACAATTCGATTATTAGGTGAGCACGCTGGTTTTCTGTACAAAAAATTTTCCGCGCAGATGTGATCTACCAAAGTAATTTGGAAAACCCGTCAATGCTTCGTTGCGTTTCAGTGCTATTTTAGGATCTTTGAGAGCTCACCTGCCGTGAGCTTGGCTCTGGAGATTCGCAGCTAAAAAGGAGTGACCGTTTCTTGAGGAGCCGTTTCAAGGGGCTATCGAATGGCATAGGTCTCATATGCAAGCCGATGGGCACCTTCTGACGGTTCCCTAGTCAGATAGAAGCCAAAATTTGGGCGAGGTATGCCCATTGTCATTCTAACGAAATGGCCTCCGACGTGATAACTTTTCTCTGTCAATTACTCTGGGCACACTCCCAATAAATCCTACACACCGGGGGATTTGAATTGAGTCATTCAAGTGTCAGTGGTTCAGTTTCTAGCAGTTGATACGTGTTGGGTTGTGTGGTGGTGGTCAACCTGTCGCCCGATCACTCACACACACACATACTTTTCCTGCCATATTCCTCCCCACGAAGAGAGAGAAAAAGAAGTTGCATCTTTTCTTTTCTATAAAAGTCTCTATCCACCAACACACCCTTATTCGCATGTTCTCGCACTCCATTTTCCAAACAACGCAATCAGTGCATCCAAATCTACATAATCGATTCAGGGGGAATAAACTGTGATAGTTTTCTAATACTTTTCCTTAATTGAAATTTTATATTTTTGAAATAATCGACCGAATATGCCTAATTATAATTAAAATTTAGCGAATTAGATTTGAATTTAACAACTATTGCGATGTTTTGAATTTTTGACCGGAGTATTTTTTCAAGAAATTCTCTTTGCTAACCATAAGCTGAAAAATTTTGATTTTCTAGTTTTTGGTTTGCCCGGTCAAAAAAAATCTGTAAAAATTTTGGGGCTTTTTTCTCAAAAAAAAAAAAAGAGATTCAGGAGATTTGATTCATAACTTCAAAACTTAGATGCAAAATCTTTTACGTGGTGTCGATTTTTTGATATTCGAAAAATCCGGTTATTAAACAGCTCTATTAAGAAAAATTATTTCCTGGACCTATTTTCTGAAGAATTCCTCGTGCTTATCCCACTCTACAATTTTTCGATTTTTCATAAAATTGAAAGTTTCGCCGTTCAGTTTACCCTTCAAAATCAATTTTCGACGATCCCGAATGTTCAGAATGTTGACAAATAAATTTAAGATTTTGTCAAATTTTCCCACACGTACTTATCCACCAAAATTGACAAAAGACCCTTAAATTTAATTTCTAAAATTTTCAAAAAATCGTGATCCATTCCTCCATGTCATGTCTTGCAAGCGTTGCCTCAAAGTCATCAATTGAGCTAGTTGTCATCAATTCAGCGATATTTAGAGATTGAAAGAATGAGTAACTCATCCTTGTTTCTTCTTCATCTCCTCACTTCACTTCCAATTTTCTAGGTCATCTGTTACTCAATTTGGCCTGGCGATTAGTCATCTATTTGTTCGTCAGACTTTGGTGCAAATTGTCGTGTCACTGAGTAGTTATTTTTTCTTTTTGGTTGATAAGGTTACCTGTTAAGGTCATATCCTTTTTGGCCTATTTTTCCAGTAGTATGATTCCTCTAATGGTCGTTTAGAAGTTACTAAATGTTTCGAAGTTGTTAAAGTATTAGATTTTTTTAAAATCATTAGGAATGTTTTTTTAATTAAAAACAGTGTTTACAAAAAAAATTTTATGTTTTAAAAACTTAAAATAAAGTTTAACAAATGTCTAAATTGTTAATTTTTAAAACTATAAACAGCATTGGCATTCATAAAAAACAAATTTCGACAAAAAATTCGTAAAAATTGCTGAAATCGCAGTAAAAATACTCACAACGCTGAATTTCTCATAAAATCTGGAAAATCAAGTCGTTTTACTTGATATTCGATGCCATAGGAAATTAGACAAAAAAAAAGTGATTTTATTAAAGGCTGGTCAAAATGTCAGATTTCAACAACGTTTTATAAAACCGCTGTCAGAGTAGAAAAATATAGGTGTAAAATGTAGTTAAAAACTATTCTTCGATTTTCCTTATTTTTTTCTGCTAAGTGATTGAAATTTTCACGTGTAGAACAAGAAGATTTAAATTTAAACCAAGTTTTTAAATTTTCAATTAAACATACAAAAACTACTATTTTCGAAATTTTTAATACAACAGTTTAAATTCCAATTTTTCTTTAAAACATATTTTCCAATGCTGACTCTGAATGAAGTCTTAACACTTCAATTTCAACATTCTGTTGCGACAAGTCGTCCCATCCATTGACCGATAACAATGGATCAATCACTGACGAGGGCCCCCGGGCGCCGCCATCATTTTCTCTCTCTCTCTATCTATCTGTCTCTCTCTCTCTCTTTGTTTCTAAAAAGAAGGAAAATGAGCTGCAATTTATCAAATCCACGGTCTTTTTCCCTCAAATTCTCTGCCGTCTCTAGTCTTCTCTCATGGTCATTGTCGCCCTAGGACATTTGTGACTCACAAAATGTGCCGTATTATACAAAAATAATTAAAGTTCAATGCGTATGCGTGGGTGCATTTGTTGCATGGGTGAGGGCAAAAATTAGCCACCCACAACAAACTTAACGTTTTTTTTTTTGTATTTTGCCTTTTTCTTCTTGATGAATGGTGCACATTACACCTGTTCTTTGTTACGGAAAATTGGGCGCAGAGAACTAACTGAGGTGTGAATACTTTGTTGGTTTTTTTGGCTATACCTATTAGTAACCTTTTGAGTATTAAAAAGAAAATTTGAGGCATGTTATTTGTCGAGTTGTTGGTAGGATGTTGATAATTACTGTCATCGTGATATTCTATTAGAAATTAATATTTATTTACACGTTTTAGAAGAATTGGGGATTTTTATGCAAATGATCCAAAATAATCTTTCGACAAATCACGACGGCCCACACTGTTTTTGTCTTCAGCCAGCAATCAACGTATTCAAACTCCGCCTACTCTGTCTGATTGGTAGGAAAAGTGGGCGGAGCAAATTGCTGATACTTTTTCGAAGTTCTCGACCCTTAGCAATACCAGAGTTCATCAAAACTGAAATATTGCGTTTTTAAAGGATATATTATTAGTATTATTATTTACTCTCGATTTTTTTATACTATTCTGTGGTTGCTCTGAATTTCAGATTATTCGAGATAGTTTTCGATAAAGCGACAAGTGATTGTTCAGTTTCTGATTTCCATAATTTATCCTCTAAAAGGTCAAGGTTTCGTTTCTTTGCAAAAAACTCATTTTTTTGAGAGTTTTCGGAATTTTGGCTAGCCTCTCCAATAAATTAATTCAAAATTTCGGAAATTATTCTTCCATTATATCAATAGTGTTAATCTCACTATTCTAATTTGATACAAACAAATTGACTCTTCATCGATTTCCAGCCAAATACTTTACATGCTTGGCAACTGAAAATTAGTGTTGTTTTTCAAATTCTCAGTTTCCAGCCACTGAAAACATGAGCCTCCATTGGGTCCGTCCCTCTCCTTTAGCCCTTCCGAAACTCATTTCCCAGTACTCTCTCCAATCTGGTCAACATTTGAAAGGCTGTTGGGGCGAACGAAAGCCAATTAACAACCGAACAATAGTTTTTTCCAATGTCATCGAATCCTGGCTTCTCATAGCCAAAAATGCTGATGACTCGAAATTGCTTTTCGTTTGATATACACACACATCATCCTGTGCCACACACTCTTTTCCCCACTCTTTTTCACGAGCTTTTTCATTCGGAAGGCGACAGAGATCAATTACCGACATATGGAACCAATCGAAGTACTCTCTCCGCTGCGACTACCTAATTAACCCTTTATTGAAAAAATGAGAGAGAGACAGAGAGAGGATATGAACGGAAGAAGGAAAAAGAGGCAAAGCAATTGTTTATTGTTTTTCGAAACAATTCAAACTTTTGTTTGGGCTGTACGCCTTTAAAGATGGAAAAAAAACGGAAATTTTCCAGCAATCCGTAAATTTTTTTGTCGGCAAATTGTTGGCATTGGTAATCGGCTAATTATTCGCCGATTTGCCAGAAATTCATAATTTCGGCTACTTATGCAGGTTCGCCTATTTGCCAAAATTTTTCATTTTCGGCAATTTGCCCGTTTGCCGTTGCCGGAAGTGTTTAGAGGAGTTGTTTATGAGACGGAAGCACTGTGCCTGTTTGCCAATATTGAAATTCTGAAATTTCCAAAAAAATGTGCACAAGCACCGCCAAAAACTTTTTCAGTTGCCGGTTTGCCGGTTCGCCGGAAAATTTAAGATCCGGCAATTTGCTAATTTGCCGGAAAAAACCGGCTACCGCCCACCCCTCCACCGAATTCGGAAATTTTGTAAAAAACAAGTTTATTTTTGGGCCAATACGATACTACTTTTCCTAAAGAAGCTTACAGTAATCAATGTATTATCTTTTCCATCTCGAATGGTACCTGTGTTTAACGGTCACATAACTGTGACGAGTACTTGAGATGACAATACTCTTATCATAAAACCTCCCCGCTCGTTATACCCCTCTGCTTCTCGGGTGTAGGGTTACCGTGGTTGCTGACGGTTTCGTAGGGATTACTGATGTCAGAGAATTGGATGAGTAGTTGGGATTAGGAGATTAGGGAAATTGGAAGACATGTCTATGCACTCCATATGTTTCTAATAAGAATCCTTGGAAATCGAATTGCATATAACTCAAGAATGGATAGCTACTGGTCCTGTTTCGTTTTGTTATCTTGATTCTTCGAAATGGTGCTCACTCACTCGAAGCCCCAGGACGCTAGTTATTTTCGTAATCGTCGCGTTCGTTCTCGAGCTCCTCCTCGAGTTGGAAATGTTAAGTTGTGAGGGCTATCGCGTCCACAGATTTATAGAGTCCGTCGTGCGGTTTCGCTGGGTTCTCGCAGCAACCCCCTCCCCCCGGCACCCACGCAATATCGGTGCAATCGCGTAAACTTTTTGGAGCACGCAGCACACAATGTGCGCGGCTCAACTCTGTCTCACTCTTCGGACATCCAACATATGGCACTCCTCAAAGTGTTCACTGGCCTCCGCTCGGAAGTCAGGCGAATTTATTCATCTCTTTGGAGATTGGCTCACAATTTTTTTGATTTGAATTCAGTGACTATTTATCGATTTCTAGGGCTTCTATGTAGGTTGCCTGTGTGCCTGTCGTCTGACGTTAAGGCGTCCTCCGCCTGCCTCTTCGCCTCAATCCGTGCCTTGTGCCAAAACATACGAATTGTAAAATGATTCTCAAATTGATAAAAATGAGAAAATTAAGAATTTGTGAAATTCAGACAGGCGGCAGGCAGATCTCAGACAGGCATCAGGCTCAGAAAACGCGCAACTGTCTCCCATGGAAGCCCTACTGATATGTAAAGGAGATATTCGGTTCAGATAAAATAAATTGAAGTTACGCGAATTCTGAATTTTGAATATTTTCCAATAGTTTCTAATAGTATGGGTTAGATGTTGCATTCTAGATACTTACAAAATTTTTAGAAAATTCCGTGGTAAAGTTCAAAGGACACTCTTTGGCTCTGAATATTGGTTAATAATATGAATCCGTTCTGCTTTGTTTTCCGTACTCCAATTCTTGACGTTGATATGAAGCCAGCTCGAATAATAGCCTCGCACGTAGTCAGGCTGTCCCAATACGGTTTGATCGACAAAAAATGCTGGAGTTGCCCTTCAAAATGTGACGTAAGCGCGCTCTTAACCATGCACTATAAAATCAGTTGAGAACTCTGTCAAATCAGCTCCCGCATTTTTTGGAGATCTACGTAGATCAAGCCGAACGGATACTGGTACTCTGTCACCACGAGCTCCTAAGCACTATTGTGCAAGGACACGTCTTATTTTCTGAACCGTCAAAAATTGGCACCGTTTGAGAATGAAAAGATCTAAAATTTTCTGAGTCTGTATTTTTTTCTGTATATAAGTCCTACCGAAAGGGTCCCCCGCGCTAATAATTACCCGCTTCAAAACAATGTGTACTACTAGCCGAGATAAGAGTTTTGTTGTCATGATACAACAAGATTTCGATCACCGCCCATTTTTCTTGTCAAAAAGTTCCGCTTATAATCTCGTTTTCTGATAATCAGAGATACTCTATGGGAATTGGTTGAGATCCACGCCATTAGTGAATGTTCCCCCAATAACCATGGAGCGTTAGAACAAAGACGAAAACCCGCCAGAAGACACACATTCTCGAGAGCAGGAGAAAAACGAAGAAGTGGGAGGGGAGCCCGCGGGGGCCGAGACTTCCCACTTGCCGATTTGTGCAACGCAATATCGATGAGGAGTGCTCCGTCCATTCGATACAGTCTTGCACCATGTTTGTTGAGAAATGCTATTTGGGTGGCTGGCAGAAGTTATTGGTCCAATTTTCTTGTCAATTTGATCTGACAGATTATAGGTTCTTGGAATTCGACTCTTCACCGAAAAAATCGATAATTTTTCGGAGTTTGTTCAATTTTTCAGTTGAACATTTAAAAGTTTTACTAAATTCGATTCTAAATTTTAAAGCACATTTTGACCTAGTAGGACTTTCGGAATTTTGTAGCCTGTATAAAAAATCGGTGGCCAATTCTATAATTTTTTTTCGTTTTGAAATTGCCTTTTTATGAAGTTTACAATGTGGAACATTCGACTTTGAATGACTTAGTTTTTCAAATTCCACCTAGGGTCAGAGTGTCCCATCCCAGTTTAATCGACGTTGATCTACAAAAATCGCGGGAACTGGTCTGACGCAGAGCTCGCCACTGATTTTGGCAGGGTTAAGACTTGCTGACAGCACATTTTTTCCTGGAAAATTTTCCGCATTTTTTTGTAGATCAAACAAATTTGATATTGCCTCGAGTTGTTCGCTATAGTTGGCTAGTTTTGAAATCGTTCCGGAATTTCTTGAACTTCGAGTTCTTGAAACATTTATGTTTTCACCAGTTTTCTCTGCGTGTTTTTTGACTGTTCGAAAAAACGGTTCTTAGAGACTGCTTTGCAAATTTCGAATTCATCCAAAAAAAAGTGAACAAATTCTTCGTATTTTGCTTCTAGAATTTTTGGAAATCTCATTTAAAATGAGTTTTTGTGAAACATTTTAATCTTTAAATAGTCAGAGTTACGTCAACCAATTCTATTTTTTGAGGAAGTTATTTTGAGAAGAAATACAACAAATCCGCAATTTTTTCCTTCCGAATAATTAACACAATCCAAGATCCCCCCTCAAACCGGATGGCATTTATTCGGATCCCGGCAGGTGTTCGAATGAGATTTGTATCCATTAACACATTGTGCATCACATAGACACATTGTCAACGTATGCACACAACAAAATAACTGCGCTCGTTCGCACCTCAATCCTTTGATGTTCTCCGCCGGGGGCTCCTGTAAGGTCAGGAGTTTTCTAAAAATGTTGCCTTCTTCTCCGTCTTCTTCCTCTTCATCATCGAATATTCCAGAGGGGGGCCGACACGCTTCACTTGATTTTCGATGGCAATTTGTTTGAAGAATTCATGAATTCGAAGAATTTATTTGGGAATACTCTATTTTGCTTTACGTTTACATCCAACTTTTGGCAACTTAAGCGCCTCCAACTGCAACCATATGGTGCTCAATGAGCCGAGAGGGATCATCTGTGAATTTGGTGTTTTTTATTGGTTCCCTATTTGATTGGAGAGTTCATTTTGCATACAATTACCTCTATTTGGCTCAGGGGTGGACGGGCACAATCCGTTCGGCATTTATATTTTTGCCGACAACTAGGGCAAATCGGCAATTCGCCGATTTGCCGGATTGCCGGAAGTCTTGATTTTCGGCCAACCGGCAAACATCAGCGTCCTATTTTACTATTCAAGATAAATGTAGGAACATTCATAGGATGCGGATACAATATTGCCGATAAAATTTAAATTCTGATCAAAAAAAATGAACCACAATTTGCCGCAAGTTCTAGCCGTTGCATTTCAATTCCGGCAATTTTATGTCCGTAAAAAATTGCCGCCCACCCCTGATTTCTATCAGTCTGTCACCGATTCTAGTGAGCCGGGGGGTCTTCCATGCAGGATGAATCGGTGTCTGCTACATTAATTGCGCAATCCACATTGATACAGAGCAACCTGCTTGCAATTGTTTTTCTGTGGCCCGTTCTGGTTACACCTATAAAAATGTGGTCGAAGAATCGTATAATTTGGGTCATGAGATGGTCCCTGGGTAATTGGAGAAGTGCCGTTGAGAGAGAGAGAGCCAATTACGTATGAGGTCTGGTTCCTCTGCACTCGGGAAGACGCTATAACCCTTCGTGGAACTTTTGGCGGGAGATATCAAGAGATATTTTCCACTTCGGTAATTATCGCACTTATGGTACTCTCTTTGTGAATGATTTACCTATAATTTATTGAGCAGTTGTGATTATCCTATTTTGAGAACCTAGAAATGTCATAGGAAACGTTTAATCGGTGAGTATTGTTTTACGTTAAGTTGCTCCGTTTTTTATTTGACTAGCTCGACACAGCACCTTTGAATTTTACATTGGTTTTGGCCAAAGGTTTTCTGTTTACTTTTATTTTGCAGTCTTATTGATCTGGCCTGCTTTACCGAGCTAAGCCTAATCCTGTCCCGGTTACAGTCCATAAGACAACATCAGCTTTTGAACTCAATAATTGCCGAATTGCCAAAATGCCAAAAAATTACGATTGCTGCCCGTCTGAGTAAGTCTGAAACAGTTGTGATTGAGCCGAAACCTACTCGGAGTGGGCCACTTCCCTATTTAATTTCTCGGTTGATTTTCACACTTCCCGCCGAGAGCCCGCAAGCATCTGCGAGCTGAACGGTTTCGTCGTCGTTTTTCATGTCTATTGCTAAATAGGTACGTGCGCGTTACACACTCATAAACATCAATTCTTTCATAAAGTGGTGGATAAGTCGAGTGGATTGCATCTGACACCACACTTCCGATAATCGCTTCGTCTTCTTGTCATCATCGTCGTTTTCTTCTTGTTGTCGTCCGGTCCCCACACACACAAACGGCTACTTCCGACGCGTCGGTGTTGTGTGTATGTGTCAAACGGCACCACCACAAGTGATTGCCCTCGGCCGTGTGCTAACTCGCATTTTGTCTTGTAATCACGCAATAGTGATAACAATCGTTTCCGGACCATTGCTAATATAATATATTGGGGCTACTGCGGGCACGTCTTGGCAATAACCTGGATGCAAGTTTTATCGTTAAAATGTGAAGCCCATGTATGATTGCGAAAATCCTAGTTGAAGTTTTCCCATTCAAATAATGGCATATTTGAAACATTTCGAACTTGAAGATTTATATCTGTCGTAAGTGGAACGGTTCATTTGGTTTCTTGCGTCTCGTCGCGAAAAGCTTTCACTATGGTATGAAGCACGAATGGGGAAAATCGAAGTCGAAGGTCGGCTCGATTTCGGCAATTATCGAGTTCAAGGTTTCGGAAAAACTCAAAAATAATTTTCAAATCTATTTATTAGTTCTGACACGCGGACTCGGCAAGTCCCATTTCGCTTTGATCTACGAAAAATGCGGGAGTTGAGAGACTACCGCAAACATCTCAACTGATTTCGCATGGTTAAGAGTGTGCTGACGTCACTTCCGGAAAAAAATACCCGCATTTGTAGATCAAATCGTAATGGGATAGCGACGTAGAACAGACTCGCCAAATCGATATATGCATAATGAAAACTCTAGAACACTGCCACCCTCATAAAGTGAGTGACAAACATTTCTGCTTTGAGGAACTATAGAACCCCCTTTCAAGTCGATCTTCACGAGCGCAAATTCTAGAAAGATCTGACAGTGGCCGATTTTTTAATGTTTCTAGGCCCACGTAAAAAAGCTATCTGATGCCTTGTTACATTCCAATTCGAAAATATCCCTTTTTTTAATTTTTCGGCAGCAGCCCGGTCCGTGCCAACAACTTACTAAACCCTTCAATACCCTGCCCTCCAAACTTCTGGCCTCCCGGCTCCGTGTTGTTCAGGGTGTTGTACCCCCCCTAGACACCCAACTGACCATTCACTCGTCCTCCCCCTCTACAAGAACCACCACCACCTGATCCATTCCGCAATTATATTCCGGATACTTGTCATACAGAGAATACCCGGTTTGCTGCTGCCAAACGGTTTTCATTTACCATTTCTCACTCCTTGATTGTTGTCTATTCTTCGATTCGATGCGGCAAAACTAGCGCCTGGTTTGGGATTGCTTTAATAGTAAAATTTTTTCTTATTTAAATTTCCTATATTTTTTGTATAAGATTTTCTTTTTTAATTGCCAATCCATGGGAACGTCTCAAATTGCATAAAATTCCAATTTGAATTCCCTCCAAGATTTCACGATGGAGCGCACTTGAATTATTATAATTTTTATCAATGAATTTTTAGAGTTATCATCTCTGACTGATTTTTTTCTTTGTTAGTAGTTTTAGAGGAAAAAATCCAAGTTAAATGGACATTTCCTATTAGTTTTACAATTTTTGGACTACTTTCCCCGCCGCCACCGCTAAAAATCCCAATGCAAGTTTTCACCTGCTCTTGCACGACTCATTTCCGCGAGCGCGCGCGCTCGTACTTTTTATCTTTACTATTTATATATCTCAAAAAAAAATCCCGTTAATTTTTTTTCCCTTACAATCTCATATTTTACTCATTTAGTTTGGCTTATAAAATGCTAAGATTAAAATTTTTATATTTCATTTCCAGATCACATACACAACGAAACTGAGGGGAAAAAGTTATTCCTGATTGATTTTTATGATTAGTAAATAACATAGTTCGGCCGCAGCTAACGGTGACGAACGCCCGCAATTATGAGTTTTTCGCTTAAACATCAGATCTTTTTCGAATTTACTGTGAAAAAGCGGGCGTTTTGAATTTTCCGACTTAAAACTGCTTTTTTTTGCAAATCCCGACTTATTCAGAGAAAAATAATTCAAACTCCATTTTTCAGCTGTAAATGTGCTCCGGATCATTCCGGTGGAGCCGACGTCTAAACTCCTATTATGCGACTATTCTTTGAAATACACGACAATTACAACTATTGCGTCGTCGAATTATGATCAGGTTGCTAATATTCGGTGAGGTTTTTTGATTTTTGAATGCAAAATTTGAGTTTTAAAAATGGAAAAAATGCGATTTTTAAATCAAGATATCGGAAAAAAAAAATTTCCAAGAAAATGGTGGTTTTTATCGGGGTAAAAAAATATTAGAATAGAAAATTTGGATTTTCGAGTTCGAAATGAAAAAAAAAAAGTTTTGTTTTACACTAAAATCCCCATTAAAATTGGAATTTTTTTAAGAGAAACATAATTTTTCAATTTCTAACTGTAAAAAGCACACAAAATTTCTTGAAAATTGGCATTTAGTATTTTTTACACGAAAAATGCATTAAAATTGAATTTTTAAAACAATTTAAACTTAAAAGCTTAAAAATTTATTCTACACCGGTAAATGACGAATATTCAAATAATTAAAACTTCGAAATTGTAAGTTAGAAAAAATCAAATTTCCTCCTTATTCTCAATTTTTTTTTGACAGCAAAATTTCAGTTGAATTTTCCCATAATTTTGAATTAAAAATGTGTTTTATTCCAAAAGAAAACTATTTTACAAAAAACTAGATTTTTTCCCAATTTTCTATGAAAAATTTAATTTAGGCCAATAACTTATTTTCTTTTTCCAGATCACTAATCATATCTTGTGGTAATAATAATTTCCAATTTCCGGATGCCTACTTCAAGTCCTTAACCGCGTTGCATCATCTGCGGATAGTGATGAGTTATGATATTATCAGCTGGGGGTGTACAGAACATCTGCGATTTTTGCGTGGAAATTTAGAGGTCAATTTTCGGAAAAATTGGAAAAAGTGGGGCCTAAATCTCAATTTGAAGTAGATACGTGTTCAAAACTTTCAAAAAATTCAATCAAAAATTCGATTGGAATACTTCAAAAAAATTTGATTTTCTTCGCGAAAGCCGGTAAATTACAAAAAAAATTCGTTGGCGATTTTTTGGTTTCCTCTAGTCAGAAAAACAAACGAAAATTTTAATTTTTAATTATCGTTTTAATTTTTCCAAAAAAAATTTTTAAAAATACATATGTTCATTTAAATTTTAAAAATATCGGAAAATATTCAAAAAATGAACTTTTCTATCGCAAATTTAACAAGAAAAACTGACGAAAAGTTCTTTCAAAAAATTAAAATTCTTCTATATCTTAGAAAGGCTAACAGTTTTCCCATTTTTTGACTCTTTGAGCAAATGTATCACGGTCTCATTACCATAACCATCCAAAAAGAAAGATGTGTCGTCTTCTATTCATCCTCCTCTCGACACCAAATTCTTAAGATGAGCCCCAAGCCACTCGATGTCTCTAATTAGGCAAGTGCCCCGTGCGTCATTTTGCCATTTGTACGGCGACATATGACCTCCGGTGTGCTTGGAGGACTGCGAGAGAGGAGGATTAAGGGGATTTTTATGTTCTACAATTGATTTTTCTTTAGGTCAAAAGTAGGGATTTTAACGCCAAAAATAGAGATTTTTTAGGTCAAAAGTAGGGATTTTAAAGCAAAAAAAAAAATTTTTCGGCCAAAACAGTGGTTTTTAAGGAAAATTTAATTTTTCCGTTTATGACACCTAAAATTGGGGTGAAATTTTTTTGGATAATCTAAAATTGCAATTGTTAATTATTCCAAGATTTTTTTTTGCATTAAACGTTATTGTAAATACATTGAAAATCACTTGATCCGAAAATTTCATTTTTTTCAGAGAAATATGGTGTTTTAATAAAAGATGTGTTAAAAAACCTAGTGCATAGATATATAGATAATTTTGTACTTGAAATTTGCAATTTTTAACTTCCGACCCGAGTAAACAGAATTTAAATCCAATTTTAGGTGAACGGAAAAATCCCAATTTGCGTCTTGGCCTTAAAAAATCCAAATTTTTCGGCCTAAAACTCCTTTTGGCCTAAATCACCCTATTTTTACCCTAAAAAAGTCCCTTGTTTTTCCATCCCCAGGAACACGTAGATGAACACGTGTTAGGCGTGAAGAGGTTAAGACCATTAGCCATGTACAATACTGGAGTATAGAAGGGCTAGAAGTAGCAGCAGCATGGGGTGCTCCAAGAGCACAACCTCAACAGATGTATAAAGTGGTTTTTGAGTAGATTTGTGGTTTGCACTCGGTGGAAAATCTGAAATTTGAATTTTTTAAAGCCTCGTATTTTTGTGCTGAAAAATGTACATATGAAAACCGAAATTTCACCACCCTTTAAGTACGGGAAATCTCCGGGGAAAAGTGGAGCTCAAAAATTGCATAAAAATGGAGATTTTAAAGCTAAAAATAGCTATTTTAACAAGATTTTTTGCAGGGGAGACCACATTTCTCTGTGAAATTGTTCGAAAATGTGGCCGCTGCGAATGATTTGAACTCGATCAGGTTTTTCTTGGAAAATCTAGAAAATTTTGCTGAAATTGGCTCAGAAATGTCCTAAATAGTAGAATTTTTCATTACATTATAACCCTCTCAAAATAATATTAAGTAAAAACAATCAACATTTTTTCACAGATCTACACCGCCTCAACCTCTTTCGAAATGACCGAAGACGTCCTAATGCCGTTGGCTCGTCTCCTCTCGTAAAGATCTCCCCCACGAGATCACGGAATATCGAGCTTCCACAGCGACTTATGATTTGTGCTCGCCGCATTTACAGGTATATTTTTGGGTAATTGATAATTCGCCAAAAAGAACAGCAGCCGAAAACTCAAATTTTTCACGATATTTGCCGAAAAACTAGATTTGTAAAGTAAAAAGAATGCAAGAATTTTTAGCTTAAAAATCTCAATTTTGAACGATTTTTAAAGCAATTTCAGTATGAAAAATCTATTTTTTGGGTAAAAATTTGGTGAAAACGCGTTAAAACCTGCATTTTTAAATTCGCCAAAAATCAAGACTTTGTTTGTAGTGAATTTTACTGTAAAGAATATTGTGTACCTATTTTCTATTTTTATGCGTACTGCGCAATATATTTGAGCGCAAAATACCTCCCTTAGCGAAAACTACTCTTCAATGACTACTGTAGCGCTTGTGTCGATTTACGGGATCGATTTATAGAATATCACAATTAGAAATAAATGTGACTGCGAAAACAAAAATTTACTTCAAATATTGAGTCCGTAAACCGACACTACAGTAGCAATCTAAAGATTTACTGTAGTGTTCGCTACGAGAGGACTATTTTGCGCCTCAAATTAATGTGTTGCGCAGGATGCATTCCCATCTTGTTCTCTACATTACCACCACGTCTCACAGAGAGGGAATTAGTTGTTTATTAGTACGTGGGGGGGGGGGGGCTTTAAAGCTTTCTACTTCTTCTTTCTTTCCGCTTTCTGACGTACAACCATCTGGTATTCCTGGCGGTGGGGCAATTGAAAATGAGAACAAAACATCGATGGAGGGAGAAGAGAGCTTAGAAATTGTGATCTAAGAATCCGCGCGGAAGGAGGACGTCAAATATCACAAGCGACGGAAGTTCAGCCAGAAGCAATAAAGGCCTAATTAATGATGATGAACAACCTCCCTGAAAGAGAATAGCGAAAATGTGAAGTTTTTATCCCATCTCAAGGAGCGATTTTTTAGTGATCATGGAGGAAGTGTGCACATAGTCTACGTGCCAGAGGCCCTATGCCTGCCTTATGCCTACTCACATGCTCACCCAGCCAAACTCTCATCAGAGTTCTACATTGTAGAATTTACAACACTGGAGTTTTATCCTGCCGTAACGTGGAAAATAGGCACCCTACGAATACGTGCCTGATCAACATGGATGCCATATAGTCCAGGCTGTATATTCGTAAAACAGGGGGCTATTTTTTAGGCTCATGGGTTTTTGTCGGAGAAAATCGAACATTGAGAAAACCAGAAATTTTTCAAATTTTCGTATATCCACGAATGCTATCGTTTCACCCGATTATCGAATCTCCACGTCGCTCTGTAATTTTAAGTTTAGTTAGTCCATTCGCCCAAGAAACTCCAAAGTTACAAATGCTTAGTTGTAAGCATTTTCAAGAAACCAAGAATTGCAGTTCCTGGCATGTTTTGGCGCATTCAATAATGCCGCTAATAATAATAATAGCATTATGCCTCCTATTATGATGTCGCGTTGTCATCGTTTGCTTCATGCTGCTCCGACATATAGCAGCTTTATGGGGGTTTTCTCCCTCCGCATCAAACGAAGTTCCTCTCTTCAAAATGATGATGGATATACATATATCTATGTTTATAGAAGGATTGAACCCCACACTTTACATATGAATAGATGGGGACCTTGTTACCTTGACTACATTCGGGAAGAGATTGAAGGTTCCAAAGACGGCTGGCTGTGGCTCACTAGGCTAAATGATGCGTGATATTATTCGCTACGGCACGCCTCTATGATCCAGGTATAGCAGTCTCAACAAGAGTCACAGCCAACAATACTCCGCTCCGACTGTTTTGCGGCCAACTCCCAGAATTTCTATTTGAAATTCTAACTGGGTGTTGCAGATGGGTCGAGGAAATAAGATAGCAATAATAATTGTTACGTGGCAATTGTAATCCGTCAGATATCGTCTCGAGACATGTTGACTCAAGAATGTGAAAATGGACAAATTTGGAAAATAGGTAGCGGAAAATTTTCGCAAGGTTTGAAAATTTCGGTGAGCATGATACGATACGAACTTTCCTCTTGATTTTCGCAGCCCGACAAGCCGTACGCGTACGCAATTTGTCTACCGTATACCTGGACGTTCAGGCTCGTCTATCTCGAGATGGTCCAGGCAAGATTTTTGTGGGGCATATAAAAAAGGTCAGAAAATAAAGTCTAATATTTTTTGGGCCCTAGCTTGTTTCGTTATCACGCGCCCAAACCTGATCTACACTCAAATTATCAGTCGAACGCATTTGCATGGATGTACCACTTGGCTTCCGGGTCGTGAAGAATTTTGAATGGAAAATTCGTCTCACGTCACTCTAGTGAAACTCCGCTTCTATATGCTTAACTCATCAAATTGAATTCATTTTCGGATAAGGCAGTTGAAAACAGTTGTGTGTGTGTGAGTGAGCTCATCCTTCATAAAATGAATAGAGATAGAACACTGACACTCTCTCAAAGTCAAGAGGAATTAATAAATATGAGAGCTCATTAGTTGCTCTTCTCGTGACTACTAATTAGGAGGGTGGTGTACATGAAACAGTGTATGTGAAAAGGGTTCCCCGCCGCCGCCGGCCAATGTCCTTGGGTATATGGCATATCCGACGTGGTGTTTCTCGTTTTGAAGAGAGTATTAGGATGCAACGTATCAAGGAGAGACATAGTTCAAAGATTGGAGGATTTGAGATATATTAGGTGTCGAAATAAATAAGCAGGAAATAAACCTAGAAAACGATCTACTTAAATAGCAGTAGTTATTTGAGTTCTTACTGTAGTCTGTCTTCGCTAAGAGATATCGCGCGAATAAACTGCTCTACGTACGCATCTTCTCATGATTTATCCCGTAATATAAACATGGCAAACATTTTTAAAAATATCCTCAATGCTATATTGAAATTCAAATTAGTACAAAGAAAGCAATTTTTCGATTTTTTTAACGAGAAAACTAAGTTTTCATCGCTCAAAAAAAATATGTAGATTTTGATGAAAATAATATGACAATTTATTTAAACCTATATATTTTTTTCTCATGTCCAAAACCACTTTACGAAAAAAATTTTTTTTTAAATAAAATTATTGGATTTTACGTCAACTTTACTAGAGATAAATTCCGAAAAATTAACAATAAATATAGGAGAAAACAATCCGACATTAACGAAATTGTTCCCGGTTCTGATTATCTCGTACCCAAATCAGCTTCCATCACTGCGAAGAGAGGAATCGGGTGTGTCGCTCAGCAGCTTCTGATCGTCGATTTGTCGAGAACTCGGCTCACCAACATCGAGTAAGGGAATATCCGGATATTTTATAATTTTGATCTTTAAAAAATTTGCTTGTGAAAATGTGAAAATCTAAAGTGAAACCAATATTGGTTTTATTCCAGCTATTTAATACCCCAGTTAGAATACTTTGAGATTTTTCCGGTGAAAAATTGAAAATTCGAAAATTTAGATCTCAATTCAGGCAATAATCCTACGTGGCATCCCGCAATCCGGCAAATTTCGGTGGCTTACAACTCGTCGCAGAGCTCGATTTATCGCTGGCAACTCCATTTCCACACCAACTCGATGCTGAAGCCAATCGAATCGTCGACTTGACGTCACCCTACTTCCAGGCATGTTGTACACGTGAATTTGGCTGGAAACACGCTGAAAAGGGTGCCGGATGCGGTAGCCGAGCTGGCGTTGTGGCGTTAAATGCGTCGAGAAATGAGATTGAAGCCGGAAATCACAATCGTCGGTTTTTTAGTGGGTTTTCAGATTTTGTTTTGGAAATTTGAAATTCTGAACAAATTCAATTTTTACAGACAATTTTGCGTGAATTATTGATCATATTTGTTTTAAAAGAATCGAAAAATTTAAAACAAATCAAATCTCGCTTTTCATTGGAGAATACATGACAAAAGTATTTTGTTTCGAAAAAGAAAAATAGCCAAAATTTAATGCTATTTTTTTGAAAAACTTCGATCTTAATTCTCTTTTTGAAAAACTACTGAATAATTTCATCAAATTTGTTTTATTTTGATAAGATAATCACGTGAAAAAATGAAAACAGCAAAATTGAAAATCAGACAAAAGAATAATCAGATTTATGCAATTTGGCCTGAATTTTCAAAAAAAAAACTGGATTTTGGAAAATTTCATCAAATTCTGTGTATTTTCGTGCAAAAAAAGATAGCTATGAATGTCCAATTTTCGACCTTATTGAGAAAAATTCGTAAAAAATTGTAGAAGAACGTTTCAAAATCTCGATTTTCTTCTGACAATAATTCTCAAAATCTTCATATTTTTCCAGCCAGAACTCGAAATGCTCGACGCCTTACGACAAATTGTACAGTCTGCCCAATTGCTTCAAAAATGCGATACACGCATTGGGCTCACCTCCATTTGGAGCACAATTCGATTGAGAAGGTGACTGGTGGATTGCTGGCGTGCGACTAATTTTCCTACAGACGGTTCGTAGACTTGTTTTTTTTTTTTTTCGTTTTTTGAAAAAAAACACGGTGAAAAATAATAAAAGCGAGCCCAAAACATTTTTGTTTAAAAAATATGAAAAATTGTTCAAATTCATAGGTCCTCCTTCAATATTTTCAACAAAAAAAATATTCTAGAGCTTCCATGGAGGCAGCCGCGGTTTCAGGGCCGACGCCGACCTTTCGCCTCTTTTTTGCATTTTTACGGGAATTTTCAAATTTCAAATTTTCCCCATTTCTATCAAATTATTGAAAATCAAATTAAAAACGCGAATCGGCATTGAGGCGAGAGGCACGCAGAGGTTATTGCCTTAGGGTCAGACAGGCAAGCTTTTTAACGCCTAACGTAATTTTAAAACCTGAAACATAGAACTTCCCCACGTTTGATTCCTCTGAATTTACTGCACCTCTTCATAAACAATGTATTTAGATCAGTGTAAGTTTTAAAGCTGCTCTGCAGTGCCCAAATTAAGGACTTTGCTTTTTTAGACCAAACTTAGTCCTAAATAACCGAATTTCGTAATGAGACTTTCTGAAAATTTCTCGAAAAAAAGTTATGGCGGTTCAAAGTTCAGGAAAATAAGGTAAATTTTCAGCTAAAATCAAAATTTTTAAAATTTTTTATTTATCACTTTTTGATAAATATTGTGGTCTTTGATTAGGCGGGGCACCACTAAAAGTTACATTTGCCCCACTGACCATGAATGTATTTAAATCAGGACGAAAACGCCTAATTAAAGACAAATATTTATTAAGAAGTGATAAATATAAAATTTAAAAATTTTGATCTTAGCAGAAAATGGGCTTTTTTTTCTCAAACTTTGAACCGCCATATCTTTTTTTTTGAGAGATGTTCATTACGAAATTCGGTAGTTTTGGACCAATTTTGTGGAAAAAAGCAAAGTCTCAAACATTCGGTACTCCACCTTTAAAGATTCTATACTGTAATTTTTTTTTATTTTCCAATCAGTGCAACTCCAATACTCTACTTATTCGATTCAATAAACTCGAGGCACAGTGTTTTGAATAGGCGATCGCGTGTCAGGTTTTAACCAAAATAGTCATGATGACCTTTTGTTCACCTTACAGAATCTTCTCAGGTTCATGCACACACAGGTGTCATTTACTCTTTCAAGTGTATATGTGTTATCCCGGAGTATCTAAGATAAACGGTAGTTAGACCACCCTTGTGGTGCGCGTAAGTTGTTCGTATAATTGTAGGGGTGGGGATCTTACCACATTTATACGGCCCCCCTCCTATTGTATTGTATTGCTGCCACCAGTCGTCTTAGAGAATCTCTTTGATTACGGGGTGACAGAATCATACTTTTTGGAATGTGTAATAGGTGGGTCTCGAATGGATATTGAGCACTAACAGCTGTGAAGGGATCCGATGGTCTTTCTAGGGTAACTTTCCACTATGCAGTCAATATTATTAATCTTACAAGGAAAGGGTTTTAGTTTAATACTTTTAAGACATGTGTGATTTGAAAGTGTTCCATAAGTGTATGTCACTCTAAAATTTCAGGCGGCATAAGCTCTAGTCTCAAACCCTCTAGCATCTATCTGAAAACGTTTCAGTGCGTTTTTCACTACTTTGAGGCAAGTAGAATATCTCCAAAATGTTTTTTTTGCAAATCTTCAATGATTTTAGAACGTTTAAAAGAAGGAAAACAATCTGGGAAAATTTTGGAAAATTTTTAATTTTTTGAAAAAAATCTGAAATTTCTTGGACCTGGTGGCGTGAAGAAATTTTCAGATTTTATTCAAAACTTAAAAACTTTCCAAAAATCTCCCAGATTGTTTTCCTACTTATAAATGTTCTGAAAAACATTGAAGTTTTGCATGTTAGTAGGGAGCGATTTGGTAATCGTGTTTAAATTACGTTACACATAGATAATAATCAATTGAAATATACAATTCTTAATTCCATATAACCTGAAATTGAGATTAGATACCTTATACAACAAATAGAATGTCGAAAGTTGTCTTCAGCAGACCCCCATTTGTGAAAAATGCCTTCTAAATTTTATTTTACACTTCTCCTAGTAGATGAACAGCACCTGCCAATCATTTCCTTGACAGCCGGATGGTTGCTCCTCTAAGACAGTATAATCCGGTCTCCCCCGGGGGGATGTAGGGTGTTGTTGCAAATAGCTTTGCGGAGCAGGTGCTTTTTTAATGGATTTAGCTTATTGGTGACGGAAAAACCCTAGAATTGATACAATTTGGTTTTCAAGGGGATTTGGGGAAGGGTTTAGAGGGGAACTGAAACTTAGTAGATCTTCGTCTGTCGTGGAGATCAGAAGATTGGAAGTACTGGGTTTAAGGGGGTCAAGGAGTACTGTAGCGCATTTCGACTACTGTACTTTAGATAGTTTTGTTATTATATCAATCGGATAATATATAATCAAGTTGCACCAAAATTGGAGACATTCTAGTAGGCATTTTCTTTATGCTAGGTATGTATAAGTTTCTACTAAGTGTATAAACCTACTATGTACCTAGGGGGAGTAGAGTTTGTGGGTATTTGTTTGCTTAAGTGCAATAGACTATAAAACGTGTCCAAAACCACCGAATTTCAAACTGAGATAGAACTTCACAAAAAATTTCCAAAATTTTTTTTATGGAAAAAAGAGCAAAATTTAACTAAAATCCGACATTTGGCACAGTTTTCTTTGTTGTAGCACAGCCGCGGGATTTGAATTTCTCGGAAATTACTTTAATCCTACATAATAATTTATCTCGAAATTCGTTGATTGAGACAACTTTTAGGCCGATAGGCATCCCATCTTGATCAGGATGCCTATCGGCCTAAAAGTTTTTTAATTGCAGAAAAACTAAAATCCAGCTGTACTGTGACAAAGGAAAGTGTGCGAAATCCAGATTTTAGCAAAATTTGACTCTTTTTGTTCGAAATTTTGAGTCGCCATAAAAATTTTTGCAAATTTTTTGTGAAGTCTCATTATTAAATTCGGGGGTTTTGTACTAGTTTTCTAGTCTGTTTAAGCTAAAAATACCCACAAACTATTACACTTTACTTTAACACACAATAATTCACTAGCATGGTGTAGTATCATGCCGGAATTAATATAGGATTGATTGAAGAGCGAAATTTTAAATAGATTATTGCAGACTATCTAACACTATTTGTATAAACTAAATTAACATAGTGTATTGAATAATGACTTTATTGAAATTAATACAGTTCTTTTGATATCCCCATCTTCTATGAGTATCCAATACTAATATGTCATATGAATTTCACTTTAATTGTTATTTCCCATGCGTCGTGTTTATACAAATGCTTTATATACTCGAATAGTCTAAAATCCAATTAAACTCGAGCCAATACAGAATATAGAATGTAACAACACTTGTGTTAATATTCTAATATACATGCACACACACACCCACACACCGGTTTTACACCAGTTCTACTAATATTTGCACAATACCATTGAGATAGCTGAAGTTCCATAGATATGCACGGGTTCGTTTCCGGCACTGCCACGGAAAATATTGAAAATGTGCGGTTTACGAAAAACAACAGAAAAAGCGATTTTCCAGAGAAATACGAAAAAAAAGAAAATATTTAGAAAATTAACAACAAACAAAAAAATTTTTTTTTATTAAAGAATAAAATGTAGGAGTTCACTTCTTTTTTTCCCCTTTCGGTTAAACTAGGGCTTCGATGGTAGGCAGGCGCGCATTTCAGGCAGGCCTGCCTGAAACCTGCGCTACGCCGGCCTCAGGTCGCCTTAAGACGGCTCCTAACAAAAATTTGAAAAAAAAATTTCAAAAATTGAATTTCCGCGCTTTTCGAATTTCTAGAACGCTTTTTTTTAATTAAAAAAAAATTTCAGTTGGACCTTTCATCGAATCAACTTCGAGTTTTTCGAGACGAAGTACGAGAATTCAAAAAATGGAAAGAGACTTGCTGTTCCAACCACTCTTTGGAGCTCCTCGAGCCGTCGGGCCTTGAGCTTGAAATTGGGTAATCTAAATTTATACGAATTTTGCAAATTCTAAAAATCCTAATTTTTTCTAGAATCCCTTGATCTGAGTCAATAAGCTAGAACTGCCCTGCCGCAATTGGGAAAGTCTAGCAGCTGAAAAAAGTGGATTTGAGCCATAACTAGAATTGCGAAGGTTTATCAATTTGTGCTCAATAATATTAAGCAATCGCAAGCATACTGTTGATTTGTCGAATATCAGTTGCAAAGTGTGAGTTTTTTGTTGATAAAAATTATTTGAATTTTTTCTTTTTTTTTAATTATTAATTCTGAGTTAAAATTCATCGTAAGTTCCGAAAATTTCTAGAGTTGAAATTTAAATTTTTATCCAGAATTTAGTCGATTATAAAAACGGAAAAAATAGGGATTGTCGATTAAAAAAATTAATTTATTTTAAAAGCACACAGTTTCGATAAAAATTTAATTAAAATAAAAGTTCCTTGCTAAAAAACTATTTCCTCAATTTTTTTTCTGAAATTTCACTCTTTCATTTTTTAATTCTTTTTTGTCTATAAATACGAAAAACACGAATTTTCGATAAAAACGCATTTTTCAAGTTTTTAAAATAATTTTAACTTGGAATTGTTCTTTAAAAAATTGTTTTTTATCAAATTCCAAACACATTAATGCATTTTTTAAAAAATAATTTCTTTAAATCTTCCAAAATCGGTTGTAATTTTAGCGAAAATAACTATTTCTTTCAGTTTTTATTTAAAAAATCCCTCGAAATTTGAATTTATCCAGAATTTAGTCAATGCAAAAAAATATACGAATTTTCGATTAAAAAAATTAATTTATTTAAAAAACACTCTCGAAAAAAAAATTTTCAATAAAGAAACTAGTTCTTATAATTTTTTTTTTCAGATTCACTTTTTCATTGGCCTTTTTAATTCAAATTTGAAGTAATCTGCAATTTACTCTATAAATACGAAAAAAATACAAATTTTCGGCAAATGAAAAAACACTTCAAATTAATAAAAATAAAAAACATATACTAAAATTTTAAAAAATAATTTCTTGCAATTTTCCAAAACCTCGAAGGTTTTAATCGCAAATAACGATTTTTTCAGTTTTTATTCTTTTAAAATTCCCTTGGAATTTGAATTTCTCCAAATTTTTTCTTGAAGTTTTTAAAATTTCCATCATTTTCTATTGGAACTTTCAAAAAATGTTCCTATGGCAAAAATCTTTTCCGCTAATTTCTACGTAAAAATTCTGCCAAAAAACAATGACAGTTCATGTTTTTTTGTTAAATAAATAATTTTCTTGTTTCTATGGAATTCGATCTTTTTTGAGTTTTACCCCAATAAAATGTATATTTAATCTAAAAATATATCCCAAAATTCCAGATCGGCACTACATCTTCTCTGACTGTTCTGAACTTCATTCCCTGGACGTGTCGAATAATGAGATTTCACTGCTGTACAAGCTTTTGCGAGCAACAAAGCTGAGGAAAATTTCGATGAAAATGAATAAAATTAGTGAGTTGAAGCACGAAAAACTGCAATTAATATTTTGAAATTTTTGTGTTTAGAAACGAAAATCGAGATAATGTAGGCTTAAAGTTGCTCAAAATCCGCAGATTTTTTGAAATCGATTCTGAAAAGTGCACAGGGAGCTAAATCAGACTTCAAAATTTTCAAATTAATTGCATATTCACTCGAAACCCTCTGAAAACTGCCTTCAACTTCCTATATTAAATCAAATTTTCTTTCAGATCCCTCGACAAAGGTCTCGCACAGAAGCTTCCGGCCTCCACGTCTCGACGTAACTCATAACGAGATCCTCGTGCTGAAATGGTCGGCATTACCTGAAAACCTGGAGATTCTCAACGCTGATAACAATGATATCAATCCCATGACCGCCGTCCATGTTCCCAAGCACCGCAAACCTGAAGTCCGTTTCGCTTTCCAACAACGGCATCACCATAATGACTGCGGACCAGATTCCGAATTCGCCGAGTCGCTGGACGTGTCGAATAATCGACTTGCAAAGCTCGGAAGACAGCGTTGGCCGCGACAGTTGAGAAGGCTCAACTTGAAGGGCAATCTGCTTACCGTAGTGGCCTCCGAGTCGATAAAAGTCGTAGAGGCTGTGCATCCGTTGAAAGTGGAAGTCTCGGAGAATCCTCTGATCTGTGATTGTCAGATAGGATGGATGATTGGTGCGAAGCCAAGGGTCCTCATTCAGGACTGATCTCTGAAACCGCAAGCTGTTCCCATATATGGCCGGTGAGGCATCAGATACAGATTCAAAGTCTCAGCAAGAAGGATCTACTGTGCCCATACAAAAGTGTATGTGAGCCGAAATGTATCTGCTGTCAATACGGAAATTGCGATTGCAAATCCGTATGTCCCGGAGCCAATTACCGATGCTTCAGAGATCAGTTTATCAACATTGTCAGATGCCAAACATCAATGGTGCCCAAAAGAGAATTCGTGGTCTCCGCGCCCCCGGTCTCTGCGACAGAGATCATTCTGAGCGGAGTCACCCTTCCACAGCTCCGAACTCACAGCCTCATCGGAAGACTTCGTCACCAGAGGCTTCATATCAATGGAACCGGGCTCCGATCCATCCAAAAGGTTCCATACTCTTCCAGCACTGAAGACGCTGGATTGGCAGTGTCGGATAACTCTTTGATCTCGCTAGAGCGAGGGGGAATTTCTAGTGGAGAAGTCTCGCACTTTCAATGGAAATCGATTTCTATCCCGTGGAATCGTCGAGAAGGTTCCGAACTTGAAATATCTGGCACTTCATAACAACTCCCTCCGAAGACATCCCTAAACAGGTGCTTCACTCGACGGCGCTCTCCAAGATCTCCCTGTCATCGAACCCCTTGACATGCGACTGCTCGGGAGGATCCCAACAACACCTTCAACATCGTCGTGACCCATGAAAGCTAATCCATTCTGGTAGCATAATGCGGCCTAATTGAGTGGTTCTCGTTGCATCGGCATTTCGTTGATTTCTCCAAGGTTGAATGCTCGGAGAACGCCGCGTGACGAACTGGGCTTCCTGACGAACGATACGCCAGTGCTGAGCGCCTATCCACCTAATATGGGAAATGACGTCTTTGTGATGCCTATTGAAGGTTGGTTTATTGAAATTTTTAAAAAAACGCGCGTCAAATTAAATATTTTAAAGTCTTTGTTCGAAAAATAACCATTTTACAATATGTAGGATATATCTATAACAGCTTCTGTACAAACGTAATCCAGATGTTAATTTTTTTAAAAATGCGGTAAATATTATATTGATTACATATTATTATTACACCGGTGTATTTTGTTCCACTACTACGACTTTTAAGGGGGGCGCATTTACGCGCGATGGTCCCAGCATTAGTCTCGCCACGCACCCCAAAAATCAATGGGTGGCCCGGACACCATCGCGCGTAAATGCGCCCCGCTTTGATAGTCGTAGCAGTGGAAAAAAATTCACTTGTATAATTATTAGTCAAATGATACTTGCATTATGATATTAGAAATTAAAAAATTGGGTTTGAACATTTTTTTTCCTCAATTTTTTTACGGTATTTCACCATGTATGCGTTATAAATACAAATATGATCCCTACCTTTTTATAACTTTAAAATAACTTTGTAAAAAGGAATATAATACATGCACAAGCACCATAAAATTTCGACGTTTGCATTTTCTGGTCCGAATTTAGTTCAATACGTTTACTTTATATATCACATATACAAAACAATATACTGAGAATGCGTATTGCGCATTATATTGGACGCGCAAAATATCTCGGAGAAAACATACAGTAGTCCTATAAATTCCTACTGTACTGCTTGTGTCGATAGAATATTAAAATTGCAAAAAAAATTTAAAAATCGGCGAAAAAAAACCAAAGTATAAGGGAATATATTCAAGCTATTCCAAAACTTTAAATCAATTTCAAAAATCGAGCCCAAGAGAAGGACTTACTGTAGTTCTCCTACGATTTTGCGCGTCAAACATGTTGTGAAATACGCATTCTGAAGATGTAGTGTACTCGTAATATATATTTTAACAATTCAAACATTTCCAGAATTCCTGCGCGACTACAACTCAACACTTTGTGTTTTCTCATCTGGATTCTTTGGACAAGACCCTCAGAATAGTATACTCTTTGTCATAATAACTAGATTGCTGTTCTCCTCTGCGCCCTCGTTATTCTCGCAATTTTATTCGAAAATCTCACGACGCAATCAATCAACGAAGATAAAAAGCATCATCTCTAAATTGTGCAACATCTGCCGGCTCGTCGCCTCTTCCGGTTCCGCTGTTGAGTTAGCACTCATCTTTGTGAGCTATTCGAAGAAGGACGAGAAAAGGGTGATTCATCAATTGTGTCGACCGCTGGAAGATGACGATTATCAGTTGTGCCCGTTGCATCGGGATGTGCCGACTTGTTGCTCGAATTTACGCGATATCTGATGAACTCATAGCTCAGACGGACTCGTCGCTTGATTCTTGTGTTGACTCAACATTGGAAGTGGAAAACGCTGCAGATTAAAGACTTAACAAATTCAAACTTTCAGTTTAAAATTGCTACGTATTCGTAAAAATGATGTTAAAATTCCGAGAATGCGTGTTACGCAAAATATCTTGTAGCAAAAGCCACTGTAATTATTTTATATGACTACCGTTCAAAATTACTATCCAAATATTTGATTTTTTGGCATGTTTTAAAAAATTATTTACGATGGAATTTACTCAAATATTGAAAACAATATTATCGAAATTCCCGAAAATTTGGTGGAAATTGAAAATTTCAATTTTTTCGCTAATTTTCGAGAAAAAAAAAATTAAAATTTGGATTATCTGAAATAAAGTTCCCAAACATTAAATTAAAAATTTGTTTTTTAAACGTTGGATTTTCCAATCTCGAACCCTCAAAAATTGAGTTTTTTTGAAATTTTTTTTCGGACAAAGTAAAAAATGCTCGCAAATATCGACAAAAAGTGGAAGTATTTTTTTAAGTTGTAAAATTGTTGGAGATTTTTGCAATAAGATATAAAAAATCTGAATTTCCATTCAAATCTTGAACATCAAAATCAGCAAAAAAAATTGCTATATATTCATTCAAATTAAGATCTAAAAAGAGTAATTCGCTATTTCAAATTTTCAAAAAAAAAATAAATTTTAAGTTTTAATTTTTGAACACTATCAAAAAATTTGTTTTTAAACCTAAAACTGATAATTCCGAATTCTCTGTAAAATCTCAAAACAAACATTCCTAGCCAAATTTAATCGAATATGATTTAATAATACTAATTTTAAATCATATTCAATTACATTTCTAGGAATTATTTTTGCTAGTTAAAAGTGTATGAAAAATTAACACTTTTTGAAAGAAAAACTGTTCTTATAGGATTTATAACACCGGAAATTCACTAATAACACTCCACATTTTTCCAGACCTCCCACCAACTCTTCCGCCAAAAACCGTGCAAAACGAGGTGATCGCCGTGCTCGGCGACGGTGTGGACGCGAATCTGCTGGACGACGAGCTCGGACAGAATCTACGGAAGCACACGAGAATCTAGATGCGGAGCCATTTACGGTTTATGCACACTTTAGCACGCATCACTTCCATCACGACTTCGATTGCGCACATATCTCGAATAGTGGCGATGATTCGTCTCAACTATGTTCGGATTGGAATTGTGCCCGAGTGTTGTTTAGCTTACAGTTTTCCCGTTTAGGTCACAGAGTATTTTTTATCCTCTTCCAAATGTACGAGCTTCCATTATTCACTTTCTTTTTCACCCCCAATTCTGCTGTGCACAATTTGCCATTTTTTGAATTTTTACAACAATACCGGTACTATTTTTCGATTTTCTTTCTTTTTCTCGCATGAATCTTGCCATCACTTCTCTAATAATTGACCAGCGATTATATTTTTGATTTAACATAATAATTGAATATTCTCGTTTTTCAGTTCAAATTATTGCTTTCTGTGTCACCACAAATTCAAATTCTCGTCCTAACCTCGTGTGATCTTCAGTAATATATATAGATTAATAATCGTCGTTTCTTATTGTTGTCATTTGCGGATGCTTATGAAGCTTGTAATTTTTTGTTTTGTTTTTTTGCCTGTTTCAGCTGCAAACTAAAATTCGGTAGAAATTCTTGAAAACACGCAAAAAATGAATAAAAGAAATAGTATATTAGCTTTCGAGAGGAGTTCACAAGCGGGTGGCACATCTCCGCGGCCGCCCAGTGGTGTACTCGTCTCGGGTGAAAGAATTACTTTATAATCTGTTTTTCGGCCTATTTTTAGTTTTTCGCAACTAAATGAGTAAATTATCTCTTAAATAATGTCGAAATTAATTTAATTTACACTTCCAATAAAATTCCTCTCATTAAATTACCCCTTTCTAATGACTTTGCTCTCAAAAATTTTTCATCGATTTTCAATTCTCAAAATTCTTGAATCTTCAGCGAAGCTGGAATTCAGCAATCAGAAGAGGGAAATATCTGTCAAGAACAAGGTGGCGGGTGACAGTAAAAAAAGCGCAACGCATGAAGGCAGACGCTAAAAATACAAAAGACGGTGAGGATGTTCAGATCGCAAGGCGTTAGGAGGGGGCTTGGTGAGAGTCAGAGGACGTATCGTCGCTCTTCAGGGGAAAAAAAAAAGGAAACGGCGAAATTCTTGATTTTGATTTGTTTTTTCAGAAAAAATTGGCCTCCGGAGGGTGCAACACCTGCCAAAAAGTGAACGGAAGATTAACCGCAAGACAGAGCTTCCGTTCGAGAGAAGTAGGATTTTGTCGATCACTCCAAACAAAAATTGTTTTTTTCAATTTCAGCAAAACTGGACGCTCCGACTGGAAAACGCGGCTGACGTGCACCACTGCCCAATACATCACAAAAAAGAAGGCAAAGAAGATGTACAAGAAGAGGACACACGACGCACGCGACAAATATCGAAAAATGGCGGCACTGGCCGGAGACGGTGAAGATGACGAGGAGAGTGAGGCCGAGGTGATGGAGCAGGATTTTGGATTTTTCCGCGGCATTTTTAAATTGTTTTTTTTCCTTTGTTGATTTTGTTACTGTTTTTCAGTTTCGACATAAAATAATCGAAAATTTATTTATCACAAAAACTTTTGCAATTTGCTTAGCTGAGTGAGCCAACTGTTTGCCACGTGTCACGATTCGATGCATCCATCCTTTGGGCGCCTCGAGCTCCGCTTTCGGAGCCTGTTGTAAGCTCCTTTAGAATTATTGTCCAGACCTTAGAAATGTTCATCGAGTACCGGAAACTTCGACGAACTTGCACTTGTGTACTTTCAAGCAGGCTCCTGCCGGATTAAAATCAATTTAAAAATCGATCATTTGAATTTCCACGTGGCGCGACGCGGCACGCGTTGCATTGTTTTTTCAAATTTGGTTGAAAAACATGGTGCATCGAAGAATTTTCTTTGACGATTTTATACGCAGAATCACATTTGACGAACAAAAATTCAAAATACTTTACTTTGCAAACGCGCTCCATTGATAAACTTATGAAAAATCGATAATGCTCAGATTTCACCAACGAGAATTTTCCTCCATTTGAAATTATAGTTAAACAAAATTAATATAACCAAACATTACGCAGTTCCGGTAAAAATTTCGATAGCTTTAATGCAAGTGCGCTCAATTCTGAACAAAACCCACCCATCCTTTCGACACCACCGTATTCCGACAATTTCAAATCGATTTTATTCGCAGGCCAATCAGTATAATATTGGCTCCGCGAGCAATTTTTCGATACAAAAGCCGACTGAGCAGGTCTGTGGCACACACGAATAATTCTCGACTTGTCAACGTTGACACTATTGCGTACATTGTCAGTGATGACGCGAATGGAGAATGCTGAAAAAAAACAAGAGTTTAAAGGGTGAGCTCTCGCACCACGATCCATGTTTTTTTGTGGGAATAGTGGAAATTTGGAGTTAGTGAAAAAATCAAATTTGTGCAATTTTTAATAAATTCGGCAAATGCGCTAGAACATCAGATTTCACGAGCAAATTTCATTTTGTGAGATTAAGATATGGGCATTTGAACTGATTTTTTAATGGTATACACACGAAAAAAAATACATAAAGTCGATTGCGAAAAATTTTAGGTTTCACCCTCGGCATTGAAAGCGCAGTAGTAGGAGTGGCGATAGGGCGCCCTGCTAAATTTTCTATTTTTATGGTGTTTCCTTTCGTTTTGTGCTAATGAAGAGTTAAGAATCTGACGCGACAAACGTAATCGTGTCAACGCTAAGACAAACGAATAATTGTATTTCTCAACGGTAAAAAGATTCACTCCTGCGCCAAGGTGCCAGCAAGTGCGCCCCAGCCCAATTCGACACTATGGGAATAAACTGTGGGTTTAAAAACTTAGAGAAGTCGTTTTTGTTCAAGATATCAGCCTAAGATATTAAACACAAGCGCGTGGTCGTCAAGGTGTCCCGTTAATTCGCTTTGATGTACCAAAAATGCGGGATTTTAGACGCAGACTTCTCAGCATTCGTATTGTTAAGAGTGTGGCTGACGTCCCAATCATTGCATTTTTCTGCAACAAATTCCCGCAATTTTTGTCGATCAAGCAACACCAAAATGGAACTGTTTGACAGCACGTGCACAAGCAGATCACAAGTGGGATTCTCTTCGAGTTATCCTCCCCAAATCCTGTCCAGTACAGCGACCTCCAACGTGGCTTGCAACATTTCCAACTCGATTTGCTCGTTATTCAACAGGAGATTCATTCGATGAAGTGTCATCTCCCTCATTTGACTCATTATTGTATTGGGTGACGAGCCGGGTGGAAAATTGGTTAATTGTTGACATGCTTTCTTCCCGCTACCTTGATCCATAGACACGTAGAACCACATGTTGCATTGGAACATTCGACGTTTCTTGGCGAATAGCAAGACTGGACACGTGCTCGGCGATCTCATTCTTAAAAGTTTTAAATTGTAACAAAAATTTGGTTCAAAATTTCAAAGGAAAATCAATAATAAAGCTACTCCAAAGTTTTCAGCCTGATGGGTTGGAGAGATGAGCAAGTCCTACAGCGCTTCAAGAATTCTAGGCCACGGTCAGAGTGGTGGCCGTGATCCTCGTACTTATTTCTTTTAGATTTTTTAAATGGGAAACTCGAATTTATGTGAAACACCTAGAACATTCCAAGAAAAATTCAAAAAAACTCTCTAAGGAGGACATCGATAACCCTCCCCCAATTCGAGATGTGACGTCATCAAGGGGAGCCCGTGACCTCGCTTCAAATTTCAATTTTTCAACGAAAAGTGTGAGATTAGATGTAAAATTACTAGGAAATTAGAAGAAAGAGTAGAAAAGAAATTTCGGGGGTGTCGCTCACCACCCCCACCCCCCATTTTTCTAGTGTGACATAGAAAGTGGATCGGCCCCGCTACCTTCCATTGGGTTCAAGTTAGTTTTTTTAATTTTCCGATGATTGTATTACTGTAGTCACTGTAATTATGCGAAACAACTGGTTGTCCAGTGGAGCACGTGTGCTTAATTGTCCGTCACAATTCCATTCTTAATTCCAAAACTTCGAAGACTTCCCTCCGGTTGCCGTTTATCGACGTGTCTTCGATGTTGTTTTGGTGCATATGTAGATTGGTATTCCTGGAATATTAAGGGGAAAATGGAGAAAAAATTCTGAATTGTACAGGTAATCGAGAAAAAAAGTTAAGACTCCATTTTTTTCAACTAAATTTTTTTTTCAAAATTTCAAAAAAAAAATTTTATTTGGAAGAACTTTTTTATAATGTTCAGGATTTTCTAAAATTACCTTTATCTCTCAAAACTTGCTCAACTGAGTTTTAGATTTCTGAAATTTTCCGCGTGAAGTACGAACACTCCCAATATATCGAAGGACAGGCGCATTTGCGAACTAATCTTATTTAAAAATTTCACAAATTTATTTTTTTTATTAACCTAATATTTCCGTTTATCGTATTTTCTAAATTAAATAAAAAAATTGTCCAGGAGGAGTACATGGCCAATTTATCCGAAGAGCTCATATGCACACTTCCTGTTCAAAAACAAAAAAAAAACTTATTCACCTTGGCGGTGGGTACCTCTTTTTTACACGACGAGGCGAGTTTTCCGAGCTGAAAAATGATCCTTTTGGCTGGGCAGTTTTAGAATTGTGGGGAAGTTATAGGCATTTCCGGTGAAAAAAATTGTTTTTTATTGGAATAGTTTTTAATATTCTAGGCCATGTCCTAAAGACTTGAGTCAAGATCTGAATTAAATTTTTGAGGTACGAGCTTCCAGTTCCCTCCACAATTCCCCCTATGGCCTAGAATTTCAGAAAGCTCTACCATCGATTCAAACTGTTACCCGTTACTTTTGCACAGGTTACGGGTTCCGGACGCCCAGCCAAACTTCCGCCCGTGGCCTTAAGAACTCCCAACTTGTTCCACCGACCTGGACGTGTTGCTCGTACTGGCAACTCATCAACATCTGGCAGTAATTCAACCGTTGGGGACACGGTACGCGGGGTCGACGGTAGACTTCGGCGACTGATCGGCGATGTAGGAGGACTTCAAAAATCAATCAATAAATCAACGACACTCTGCTCGTTTTGCAAGGATCCGCCCATCCGCTTGTTGTTTACCAATTTCTTTTACAACAATTCTAATGCGCAAAATTAATAGAACTACCTTACTTATAATTTTTTTTTAACTCAAAATTTTCAAAAAAACGACACTCCGCTTGTAGAATCCGCCCACTTTCCAAAAAACAATTCGGAGTGTCGTTTGAAAAATATCCTATAATTTGAAAAACTCATTAGTCTCAAATTTTAATGAAAATTACGTGAAAATCTATAAAAACTACGCTTTTGGCTCCGCCCAAAAACGTCTTTTGGCACCGCCCGAAAACGGGACGGAGCCTAGCACTAATATTACAAGATGGTTTTTATTTCCATAAGTGATTAAAAAATCAACAAAATATTTAGAAAGTATCTCAATTATTGAATTAAATTTTATAAAATCTACGACACTCCGCTTGGAACCCCCTCCCCTGGGCTGCCAAGAATGGGGCGGAGCCTAGAACAAACGTTTTTACAAGAAAAATGTTTCTTGAAATTTTAAAGACGATTAATAAAAATCCGAGTTTTTAGAAAAAATTGGGCCAAATCGAATAATAAAAAACGTTACTCCGCTAATAAAACCAGCTCATTAACAAGATAGGGGCGGAGAGTATCCAAACGGAGCGTAGTTTGAAAAAATATTTTTTGGAAAACTAAAATGTTCCAGCGGGAAAGATTCTGCTAAAGGCAATCTAATCCAGGTTTTTTCCGGAAATTCAATTTCCTCAGGGTTCTCTCTGCAAATTTGTTCACGAAAAAACTCGTGTGTGCTGGAAATGCGCTCTATTGCTAATTTCATCCAGAGAGCGCTATTACATCAAAAATGGAGGGTTGTTGCATACCTTCTCGTTGCAGCGGGACTGGTGACGGAGGTGATAGCCGTGATGAAAATTGTTGGGGTATCGACAGCGCAGAAGGGAAACACGACGATTCGACATTTTTCTAAAAATCCATGATAAAACTTGTAAAGATAAAATAATGTAAAAGGGGAGGTGGCTAAGCGGGGACACAAATACGCGGGAAGTCCGCTTATTTTTGCTGGATTTGACGTAAAAACGAATCAAAAAACTGGCACTCGTCGCGTTTTGCAACAAGAAAAAACTAAAATTTCATATATTGGTGGCAAACACAGTTCGAAAACTGTTGAAGCTTACGTAAAGTGTGTATATTCCATATTAGAGAATAAGATTGGAAATGGAAAAATAAAATCTTGTAATTTCTACCACCGCATAACTTCTAAGTCACCTATGAAATATCTAAGCTACCGTGAAAATTCTAGGCTATCATAAAAATAAAATTTATATATGTTTGTCCTGAAACGAAGTCCACTTCCGCCAGAAATAATAAACAAAATAGACAACACAAAAAATTGAGAACTCTTAAGAACAAAAGAAATCCGACCCGAAATCGAATACCCAACGAAAATTTTCGGAATTTAGAAAGAAGAACTATGAGTTTTGGACACTTTTCACTTTCCCTTCAAAAGGAGGAACTTTGTGGCGCGGCCTAAAAAATATAAAACTCGGCCACCGATTTGTATGCGGCCACGGGACACTCCGCAGTTGCAAAGGGTAACTACAGCTGCAAATACTGTAAAACTAGGTCACCAAGTGGAAACCTTGGTCATCACGTGGAAAAAAACCTATTTGACAAAAAATTTTTGAAAATTTTATAAATCTTAATTCTAGGCCACCACCTGTCCAGGTCACCATGTGGAAGGCTAGATCAGCTAAGTGGATCGTAGACCAGCACATAGGCCTCTAGGCCACCACGCAGGAAATTAGGTCACTGGAAAGCTAGCGAGCCTCCACATGGTCAATAATAAGTCATTGTTAGTTGGAATTTCGTTTTGACCAGAGAAACTTGTTTTTACCAAAATATTTGAAAATTCAAGGCCGTCCGGTGAAATCTGTTTAACCCTAGGCCACCTAATTTCGAGAAAGTCAGGACATCTAAACTGGCACGTCACAACTAGAAAGCTAGGCCATCAAGCAAAAACCTAGAGCCCACTCTGCCAAAATAGATTCCTTAAAAGTTTGAGGGAAAAAATGTTTTTCAACAAAAATTTAATCGGCCGAGTGGACTTTAATAAATTCTACTTTTTCAGCCACATTGTGTGGCAGAGGGATATCGGAGCATCGTTTGAATTTTCTAATTTCTGAAAGAAAACCGGAACACATTGCAAGAATACGAAAAATATAACTGAAGCCGACATATGAAATGAGTTCTATGCTCCCCGCCGCGTATTCTTCTCATTTTTCTGCATATTTTTAGCTTGGCGGTGGGGTGCGAATGCTGGTATCATACTTCGTCCCCTCTTCATTCATTGCCCGTCTATGTATTAAAATTAGCGTGTATTCCTATTGGATTCTGACGGTCTCCCCGTCGTTTTTTTTTCTATGCGAAATAGAAAATACGTGGTGAACGGGAATTTTCATGAAAAAGAACGAAGAATTTGATTTCTAGGCCAACCAAAAAACATAGGCCAGAAAACGGATCTCTAGTAAAAACAACCACAATAAAGTTGAAACTAGGCCACCTACGAAAAATGGGAGATACCGCTTGTGTGTACAAGCATTTTTATAAAATTCTAGATTGTTTTAAAAACTTAATGTTTCCAGTACAAATCGATTTCCGTGAAAAACAATAAATATGTCAAACTCGTGACGTTTCGACCGTCAATAGAGCGCGTTTGCTTGTCAAACCAAACATATTCGGTGTAGATTTACGGGGTTTTCAGACAAAACAAAAAACCTTCACAAGGATCCGCGCCAAATAAGAGCTAGTAAATGGAACTAATTCCCGTTTTTTTTTTGTTGGTGAGTGTCTTGTGAGGAGGGGACCGCCCGTGTCTCTACCTAAAACATTGTTAAATTAGTGTGACGTCACCACAATTTGATAAACGACAAATATAGTTCGAGTTTTGAAGAAAAATTTTGGAATTTTTCTGGTAATAATTTGAAAAATTTCAATTTTTTATGTTTTTATCTTAAAAAATTTTTTGATATATTTTTAAATTCAATGTTTGATCGTCCTGATAACCAAATTTTCACACAAAAAATCTGGTTTTTGACGTCTAAATCTGCTTTTTTTCACCCAATTACGAGGTTCTCCGTGGGAAGGTGTGTCACTTGAGCTTTTGCTTTTTTATTTTTTTTCTGATTGAAAATGATTAAGCTAGATATACTTTCTCGTCTTTTATTAATCAGAATTGTATTGTTATTGAAGATTTTAGATTTTTACACTCCCGTGCAGCAAATGCGCTCCGATGTATGGAAATTTACAACTGGAGATTTTCAAAATGTTCATTTATAGGCTCTTTTAAAGGTTCAAGAGTCTAGTAAACTAGGAAAAGGTGAAGCTGTGACGTTATCGATGACGTCATCACAATTGTCGCTTGAAAAACTTGGAAAAACGATGTGGAAAGAGGGTGATTATTTGTGCTTCAAATAAACTTTTTGCTCTAATTAATTCATATAGTTGTGTGCTTCTTTAGATTTTAAGAGAAATTGCGAATTTTGCACCCAAAAAGCGTACTAGGCCGAGTAAGTTATGGGAAAACTCTTCCACATACCGGACACAAGACGTGGAAAACTAAAAGTTTCTGTAGTTTTTTATACCCCCGCATGGCACATCCCCGCCCCAACACTGTAAATTTTCAGGTGTTCAGGGTGAAAACATTCTTTCAGCTGCTGGGCGGCTTCTCGTGCAGCTGGAAATGTATTTCCAGACGGGTTGGAACCGGGATTTGTCATTCAACTGTTGCAATTACGCTCTACCGAGCTAAACCTCGTTAGGACTCCAGTGGACAACACGGGCCTTATTGTAAATTTCGCTTCAATGTCCACAATTTCAGAACAAACCGTCGCTTTTATTCCATAATATTATAATTTTATTTAAAGAAATCTGGAAACATTTATCGCTTTTTGTGAAAATCTATGTGAGATTATTGCCAGAAATACAAGAAAATCGATGCAAACTTGCTCTATTGCTAAATAGTTCGTGTACTATACGTCGACGACACGATTTCAAGTTTCGTTTTTTGAACAAATAAGCGTCTGTTATTATTCCAAAATTCGGTACATTCACTCAAAAAAAAACAATCATTGATAAATGTAGAAACATACATGCAACCACGGCCTCTCCGATGCAAATTTTTGATTCTCCAACTTTTGTTGTTAAGTTATCTTGAAAAAAAAAATGATACAACGAGAAGTCCTTGGTGGTATCGGGCGCCTAGAAACAGATGAAATGGAAAAACAAGTATTACGGGCGGCTCCGTCTAGGCGTATTATGGGGGGTGGGCCGCAGATGTTCCTTTAGAATAAGAAAAATGTCTAGTATTTTGTGATACTTGTGAAACATAACCCTAAACTTCACAAAAAATAAAGGGCTCAAAAATGGTATTTTACTAATGTAAGCCTACAAGCACAAAGGAAATCAATTTTTTCAATAGCTAAAAAATTAATTTTTGTGATATATAATACTTACACAAGTACCAATTTAGTTTTAAACGATAAAATATACCATAACTTTTGGGTAGGATCTGCACAGCCTCGAAAAAAACGGGATTTTCAACAAACGGAATAGTCGGACTTTTTAAAAACAACGAAAAAGTTTTGCTTGGGACCAAGTCTCATCGATTACAAAAACTGATTCTTCCAGTCAAAGATTTTATATACTCACGACTTAACAATTCTTTCGTGTTGCCTACCTAGCAAGTTCCGAATTCAGAAAAGTTGAATTTCCCTCCAACAATTTTTTACTATCATAGTCAGCCAATTTGCAATATTTCCCGCGACAAAATTTACGGATTCCCCACAATGGGTCTCCAACCAATAAAATGAATTATTCATTTATCTTCTTAGGTCACACGAGATGCCAGCGACCAAGACAGGGCAAGTGCGACCACTATCCCGAAAAAGACACCTACAGAACCTAACGAAGGCTTCCAAAATTAGCATAGAAAGAGACATTAGCAGAATATCCCACTTGATGTTCTGTCACTTTCAGCATCATTCTGCCTTTTTGTTCCCTTGTGTATGGTGACTATAATTTGATTGTGCTGAATATGATGTCTACTTGTGTTGTGGACAACTATTGATTTTTTCTGCTTTGGTTAATTTGAGGTATTACTTTTACAAATTTGTATATCATCATTTTACAAATTTCAACAGTGTTTCCTATTAATCCGCTAAACCGCAACTGAAGAATAATAAAAACTTTTCTCAAAACTGTATGGGAAAGCTCAGTGTCGGTTATGATAGTATTACAACATCGTTAATGCAAATTAGGTTTCGCAAAATTATATTCAAAAGATTTTTTAAATCGTTTATTACGGTACCAAGTAAAGTTGAGAATGCGTATTACGAGAACATATTTGACGGGCAATATCTCAGAGCAAAAACTACAGTAACTCTTAGAATGAATTCTGTAGCGTTTGTATCGATTTACGGGCTCGATTTTCGAAATAATTTATATTTGTAAAGTGAAAGCTATATTCAATTTTTCTTCGATTATTTGTTGTTTTGTTTTTGATTGTGTTTTTCTTTTATTTTAATAGTATTTGTCACTTTTCAAATAGAAATTGATAAAATGGAGCCCGTAAATGGACACATATCCAGTAGAGTCATTCAAAGAGTTACTGTAGTTTTCGCGTCATCTGAGATATTTTGCCCGTCAGATATGTTGTGCAATACAATGCGCATTCTCAACATTCCTGTTACCGTGAAAAACGAAATTTTTTGTTAAAACTATTTTTGTAAGTCGAACAAAATTCACAACTCGATAAAACTGTCCTAGTCATCAGATTAATATAATTGAAATAAATAATATGAATTAAATTAAATTTTAAATATTAAAAATGTTATTGTTGTTTTAACAAAACGTTATTGGACTTTTCAGCAAAAAAATGAAAATAAAAATCGATTATTTTTTGAATTGTTGATTTTTCGGTTTTTAAATGTTGTTGAAAAGAAACGAATTGTATATACGTCAATTAAAAAGGCCGTTTAAATTGTTTTTTAAAATGTTTTATTTTTTTCAGATAGATCAACAGGAGTGAACTTCATATACTTCAAAAAGCCAGTATGGGATGTATCTATCCAACCACTCTATCAGCCACTACTCTTAGCACTAATCACAATGTACGACCCCGTGAGAGATTGTTGTCTGTTTTTTACTAGATATCTACACGAGTGGTAGAATATAAAGAAGAGTGGTGACAAGTTTGGGATCTGAGTCCCGTAGAAAAAATCATCCCACCGAAACTCTAAACTATGAGGGACTGGTCAACTATGCATTTGACGACGTCTACCTGTTTTAAGTTATTGATGTGGTGAAGAGTGATTTGCCTTTTGAAGAAGTCGCTCGACCTCGACCTTCTTCGACCTGATTGAACTGAAAGATCCTCGGGAATCATTTTTAGAATTTAGAAGACTGTACCGACTGTGGATCTTTTTGTTTGCTCGAGACGATAGAATACAGCCCCATCCGAACAGGGGTGCGCGGCAATTGCCGTGTGGCAATAGAATATTTCGGCAATTTCGGCAATTGCGGCAACTTAGGCAATTGCCAAAATCGGAAAATTCAGAGAACCGGCAATTGCCGAAATTGCCGACTGCCGGAAATCCGAATTGGAAATATAAACTTGCTTTTTTTTTGTAGTTTTAAGAGATTGAACATGCATTTTACTAAACAATTTTCTCTTTTTAAAAATGGTATTTAATTCCTTTGAAGATTGACCGTTTTCTTTTAGAAAACTCTGACTGACAGAATATCACAAAACAATGTGACATTTTTCAATTTTCGATATACATTTTTGAAAATTGCCAACTGCCCTGCAATCGGTCGGCGATTTCGGCACTTGCCGAAATTGCCGATTGCCGGAAATTTTGAAAACCCGCAATTGCCGAAATTGCCGTGCACCCCTGATACCGAATGTATCTTAAAAAATTAATTTTTTTGTTAATTTTTTGAAAATTTTCATAAAAGTAAAGAAAGGGCCAAATTATGTTTCTTGAACTACTCGTAGTCTGTGACTTCATTTTCGGCCTTTTTCCGTTTTTCAGCAATAATGATTGGTTTTCTTTGCTCTCTAATTTTAAACATATTTCTTCACAAATGTCTCAAAATAACTTCAGTTCAAAGTAATAAAAATAAAATAAAGAGAAAAACATAAAGAAAAACCAGTGAGTTTTTTCAAAAATAATTCAAAAATAATTCGGTCCTTATTTTTTTTTTTTTGCAAAAAAAAACAAAACAAACTGCCCTATAAAAATTTTCCAAAAAAAAATTGGAAGGTTATTTTAATTTCAGCGGTCTATTTTTGGAAGTTGTCGAACTAATCGATCAAAACATTTTTTCATTTGTTTAAGTGTTATTATGCTTGAGATATTCAAATTCCAACATACCAGGCGTGATTCAAAATCATCGCTTTTTGGACATAAAACCGTAAAACCCAAAATTTATGAAAAGTTTTATTATGATAGAGTCATTCAATAATATTCCTAGTACTTTCACTAAATAATCAAACAATTTTTGTTGAATGGCTAGTTTCAAAATCGGCGGCTTACATAAAACATGCACAACAATAAGAAAAATAGGTATGACTTCGATCTTCAAAAATATTAAAAACAATATTTTTAATTTTACAGTGTTAGCAGTTCGACGAATCAATGCAGCTGAAGTACACTTATACAATCAAATCACGCTTTTTATATTAATTTTTAAATCAATTGAACCCATAAAAATTACAATTCCTCAAACCACGTTGATCCTAAACGACTGCATTAAGAAAAGGGAAAACATAGGGCTTCCCAAAATGACTGCCTCCCGCCTTGTGGCGACATGCTCCTGCCTCGTCCAGGCCGCCTCTCCAGTCAGTGCAGTGCAGAAATTTTTCAAAATCAAAAACATGGAAAATTAGAGAAGGATTTTAGGCCTCGGAAATCAATTTTAAGTCCTCTAGCTACAAAATGAACCGTTTTAGAGGAGTTTCAAAATTGTGAATTTTTAACAATTACCCAATTTTGCCACTTTTGAATAGGTTTTTGATGGTTAAACCTAGATCTTCTGGATAATTCCGCATATATGAATTACCGTATTTCCTAGATTAGTTTTGCATACAAGACTAATTTTCAATTGGTCTGTAGGGGTACAAGACTAATAGAGACTGCACATTTAGACTATTAGAGGCTAACTGCAAGACTAATTTTTGAATGCTATAGAGCAACGTGACCAATTTTTGATTGTAAACTCACCTTGATATCGTTTAAACAAAAATACATCCTATTGCAATATTTAATCAATTATTTGAACGCTTTTAATCAAAAACTCGAGTTCAATTTGCCCAAAATGGGTCCAATTTATTAACGTTGCAGCGATCTATGCAAGATATTGCTGGACTGGAAAAAATGGTCGGGTGCAAGACTTTTAGAGACTGCAATACTAATAGAGGCTGCAAGACTAATTTTCGATTTGCCCGTAGGGGTACAAGGGCCCATAATAGGGATGGAATACTATTAGAGGAAATACGTTACCTGTTTTTGACATAATTAGACAACATTTTATTTTTGATAAATTTTTTAGGGCTCCATCATTACTTCCTTTTTTTTTGGACAATAAAAATAAATTTTCTGCTTAAAAGCGTTTGAAACCACTATATTTTGCAAAAGGACAATTTTTTAGGATTGGAGATCAATTTTATGTCCTCTAGCTACAAAATTAACAATTTAGCGGAGGAGTTTCAAAATTGTGAGTTTTTACAAAAAATTGCCCAATTTCGCCACGTTTTTTATTTTGGTGGGTTATAGATTTTTTAAATTCAGCATATATGAATTACCCGTTTTCAACCTTAAAGTTAGACCATTCCTTGATTTTTGCCCAATCTTTTTTTCAGCCATCTTATGGCTGTTCTTTTTTTGGGCAAAAAAAGTACAATAAATTTTTCAGCAAACGTACAAAACCATTAGAAATTGAAAAAAAGCAATTTTTTAGGGTTCCCCGATATCAATTTTGGGTCCTCTAACTTCAAAAATGATATTTTCCAATAGAAGAGTTTCAAAATTGTTTTTGTGCCATAAATTGCACCCCATTGTTGCCACTTTTAATGGCCACTTTTTGGTGAGGCATTCCTAGATTTCCTGAATTCTGCATATATGAATTACCGTGTGTATTTCGACAAATTAAGACAACTTTTTAATTTAAAAAATTAAAAAGGATTAAAGGACGATCCGTTCTTCAATGCTATGCACTGCGGATCTGGGATTCAGGTACACTGCCTGGTGGTGATCCCTCTGGGCTGTAATTTAAGCCACGTTCTCCTATCCGCGGACTGTGGCCGATAATCTAGTCGTGGATTGGTCCACTTCCCAATAGAGGCCGTTAGGGTGAACCTAGGGAGTGAGGCCGGACTTTTATCTCGTGGCCCCCAGAATGCTTGCGGCCACCACTACCCTGAACTGCTATCTGCCGCCCTTGGGGAAATAATTTTTTTTTTTTTTGGGCAAATAAATAATTTTTTTATTGGAAATGGTACAATTTAAACCAACTACTATATATTAAAAAATATTATCCAATTATTCCAAAAATTCCAAATAATCCAAATATTCCAAATTCCAAATATTCCAACTGAATATTCCAAATTTATTCCAAATAATTTTATGAAAAAGGCCCTTTTGTTAGGGCTGGGAAGTTTGAATTTGGTTACAACTATTGCCCAATTTTGCCGCTTTTTAAACTGTGGTTTTTGATAGGTTAAACCTAGATTTTCTCCTGGGAATTCTGCATGTATAACTTACTTGTTTTCAACTATCTAAACTAGTTCAGACTACATTATTTTTGTTTTTTCAAATTTTTTCAGCCAAATTAAGGACTTTTTTGGGCAACTCTTTTTTTTTTTGACGGGGATCAAAAAAAAATTAAATTAAATTGCCCAAGCTTTTTAACAATAGTTTTTGGTCCCGGAAACCTAGCCTAGTGTGGCCCGGAAAATCGAAAAATCGAAAACGATAATTTTTTGAAAATTTTTAAAATGAAAAAAAACAGACTCAATTTTCTTCCAAAATAAAAAAGTGGGAAACATTTTGAATATCTTTCGAATAAAAAACATAACTTTTCAAAAAATTTTGATTTTCCCACAAAAAAGTGAAATAAGAAGCAGGTTACTGTAGCTGGGATAAAGCTTCAAAGGGTGCGTACCAGGACCTGAATTAAACCGCCGCCCGAGTAAATTTCATCGACATATTTAATGTACCATCAATCACCTGATCCTCCTCTTCCTCCTTCTTTCAACCATTACACCACACAGAGTTCCTTTTATGAAGGTCTCAATTCCCCTTCATAACATTCTTTGTAATTAATGCACCAACAAGCTATGCGAACAGCACTTAGACACCCCCCTCCTACACGCTCTTTGGAGCTCCCCCGTTCAACTCTAATGGACCTGGTAATCCCTTGCGCCGTGGGATTTTTCGGGTCTGGCCGTGTTTTTTATCCGATTTACTTCCCGGAATACCGGAAATGGCGATCGATATTGCAGACAAAGCAAACTTTTTATTTTCAAAAATCCGCCCACTTTTTTTAAAAGTGATTCAATCATTTTTTCTAAAGTTTTTTTTTTTGAAAGCCCGCGCTGGCTTCCCAAATATTTTGGAATGTAAGAGATTGCCGAGTTAGCATTTGGACTCGGCCACGGCCGGGGGCGATTCACGTCGGCTCGGTTTCTGTAGAAAACTAAATGTATTTGTCCGTATGGAGTACAAAAGCTTTGCCAGGCGTTATCCGGCAGGCGATAGAAGCCGCGACGCAACACGCAACTCGCCCTAAGTCTACCCCGGCCGTGGCTGAGTTATGCCTACTCGGCAAACTCTTGCATTTGAAAATAGGAGCGAAGCCGAAGCAGGTGAACATGGCGATGTCTGGCTTCCCTCATAAATTGAAAAGGAATAGAGTTTACCGAACTAGGCCATTTTGGCTCTGGCCATATCTGGGGGAGATTTACTACCGGCGCGTTGCGTGCCCCGTCGCGAATCAGCTCGTTTTTAGTTGTAAAACTGAATGTATTTGTACGTGTGGAGCACACGACTTACCCACGCGTTGTCCGCTAAAATGTTAATGGAGCGCGAAAAATTCAATGAGGAAGGCCAAGAACCCCGTGTGTGATTTTTGCAACTACAGCCCAGAATTAGAACGGGATTAATACAAATTTAGTTTGAAATTCGGATTTCGCAATTGAAAATGTTGACCACGAAATTAAAATTTCGAAAACCCGAATCTCATCTAAATTAAATTCCAAAGTTTTCATTCAAATTTCAATGAGTTCTCTATTGAGCCGAGTTCCCGCGCACGGGAGGTAATGGACCCCTCTTGTAAGTTTAGGGGTACAACGACCCCCCACCACCCCATATGCACAATACAGAACTCTCAAGACCCGCCAACCCTAGGCCCCTCATCCAAAACATATCCGAATATACCCTCTACTGTACTTTATTTACTTGCTCCGTTTTCCCGGGTACCAGGGTACTCCCTAAACTAAGTGAATTTCAAAGGTGGTGGCCTAGAAAAAGCTCTTCCACTGGTTGTGGAAAGAAATGATGATTCGAGGTACTTGTTGATGCCTTTTATTGCTTATGGTAGGGTTTTTTTGCCACGTCGTGTCCGGGCAAATTTTTAAAACTATTTTTCTATTTTTTAAAGGCCCAAAACTTTGTTTTTTTTAATGGTATCGTTTTTTCGAGAAAAAAATTACACAAAACGGGGGTTTTAGGTTTAGGCTAAGGCGTAGGCTTAGGTTTAGGCCTAGGCTTAGGCTTAGGATAAGGCTTAGGCCTAGGCGCAGGCTTAGGCATAGGCGTAGGCTATAGGTTTAGGCTAAAGCGTAGGCTTAGGTTTAGGCCTAGACTTAGGCGGCTAAGGCTTGGGCTTAGGCGTAGGCTTAGGCGTAGGCGTAGGCTTCGGCCTAGGTGTAGACTTCGGCTCAAACATAAGCTCAGGGGCTAAAAAAGGAGAAACGCCCACAAATTCAATCCTGAAAATTTTTTTAAATCTTAAAATAGTCAATTTTCAGTGGAAATCACAGTGAGCATTTTGAAAATCCAATAATTTTCAGTATTGCTATAAATATTTTCGTTCGGATTGGACAATGAAATAATCGGTGAACCAAAGCTACAATGCAATCCGGAAAGTATTACATTCTATTCTCCTTCAACACACGGAATCCGTGTATGTTAGTCTTGGGGTCTCGACACGAATTCTTCCCGCAAAATTAGTTTTCCGACATACTGAGTACCCCGCAAGTAGAGCGCTTATCAATAAATTATAAATAATCAATAGAGCGCACTTGCCCCAATTTCAAAATTTTCAGAGGACTTTTAACGTATATATGGCTTTTACAGAACACCCGGCTGTCGTCGGCAATTCCTCGCACCGAATCAGGCTGGAGGCTCATTTGGTAGGCTCGGTGATTGCGGGATGCGGCGATCCAATCAGGGGAGATTCGCCACATGGCGTCAATCAGCACTTCACTTTTAATATTGCGAACTTTCGAATCTGGCGAGAGGAACGTTCATTCAATATTCGATGCTTTTATGCACAGTGGATTGGCTGTTGTCAAAGCTGATCTGGATGTCAGGTAGGGAGGCAATCGATAAATTCCCCGAAAATTGATACATTTTCCAAAAATCAATAGATACCCAAAAAATCAAACAATTCCCAGGAAACTGGAAGAAAAATCTCAGAAAATCAATAATGTATTTGTTTTGCAGCGCAATGCCGGAAGAATCGTTCGAACGTGACAATCGTAGTATGCCCCAATGCACATATTCCCTTCGTGAAGGGACATTTGAGGGCCCAAAAGTGTCGAATACACGTGTGGGAATGACAATTGTTCATCCATGGGACTGTGATACATCGGGGAACTATGAAATACTGCTACGTGGAATGGACACCATACTCGATTCACGTGGTGTTATTATGAATCTTTTCCATTGCTTGATGAGAATGGGTAAGAGTAGGGAAGTATCGGCCGGCTACGAAAAGAAAAATATATCACTAGAGCAGGATTTCTAAGCATTTTTCTCAATAGAGCGCGCTTGGTCAAATCCCTTAAATAAAATTATGGTGCATCGAAACGGGTTTACGTACGCTTCTGATAGAGCTGTAGTACTCGAGGAAGCTGAAAAAAATAATGAAGAAAGTGAAAAAAAACAAAAGTGTGAATACAGTCGCAGCCTTCTCAGATAAATTTCAAAAAACTGTGGATGGTCGTAAATGGCGCGTGAAAAGTTTTTTGAAAATGGCCCTCGAGGACATTTCAAAAAAGAGCGATTTTCGCAAAGCCCCCTTCTTCGATGTTTGCTTTAGAAAAACAATGCAATTTTGTTTATTTCGCAACAAAATTTTTGAAAAATGAGTTAAATTTGCAACTGCTAAGAGCGCGATTGCACACACACAGACACACCCATCAAACGTCAGAGACCCCACTGATTTTGTAGATTAAGGTTGAGAGAGAACATGGAAAACGTCACGAACTTTGTTCCGTCAATTCCCGTTGGGTTGGCGCTTGATCATCAGAATGCAATGAAAGTCTAAAATTAAGCCGTTTCGCTAAAACGTAGCGAATCTCATTCCACCGAGTCTATTTTCGTGAGGCGGGTCTCCAATTTTTCAAGTCTTTGCTCGTTATGGTGCATCGAAGGGTAATTCAAAATTTCACATAATTGTTAGACACTTTCCGACCAGTTCCAAATTTTTTATGGTGCATCGAAAGAATTTTGCGTAATTTTGCAATAGAGCGCGGCCTATTACTACTCACCTCTAAATTTCTGCAAACTCTTCCAGAAGGTTTCCCGTGACTTCCCACAAGTGGTATACCTCCCATCACTGACGTCAGCCACATGGCAATCGAAGCCATCTCATTTCCTGACCAACCATCGATTTCTTTCTCGTGCCAAATTAAGTTGTCTGAGGGTTAGGGAAGTATGAGTTTCGGGGTATGAGTCCCCCCGCGTGTACCCCATTACACATGTCCCCATCACGGGACAAGTACCAATGCCACTTGATAATACAATTGGAAATACGTTAGGTGAGTTATTTACGGCCGAGAAAACCTGCAAGAATAAAAGTTCAGCCACCTTTTTGGCGGATTTTTGCGCAACTGTATGTCGCACAAGACTTTACGTCAGAAGCAGTGGGCGTGTCCGCCTGCAGGCCCCGATGTTTTAGATGTAAAAAATTAGATGTTTTAGATGTAAAAAATTGAAGTTTGACAAAAAAAAATTCGGCCACCGATTTTTTTTGCTTTCATGTTTTGTCCATGCATTTCCAATTTTTTTCGTGAAACGTTTTTGTCAGAATTGTGCCGGCGTGTCTTGTAAAGTCCCGCCCAATTTGTGGGCTTGTTTCGACCAAAAATACTGTTTTGTTTCACAAAAACAGAGCCAGATATAAGCATTTTGAAAAAAACATCCCTGTCCTCTCCTTTCTCCATTCTAAAATTTGAATTAGATCGTAAAAAACCCCCGGTCTTCAATTCCAGTGAAGAATTTGGCGGCAGAGCGTGTTTGCTTGTCACAGTTTTTTTGTCGACACTGAGCAAACTTCAACTCTGCTTCCAGCTAGAAATCCTTTACAAGCAAATTCAAATTTTCAGACGGAATCCCAAGCGACTGGAGCCGTGGATCAAAGAGCCCTGCTCCTCCCACTGATGACGTGGCAAACATCACCTCAGAAGGCAGAGTGCCTCGGCATCGTCATCACCGAAGAAGAACAAAATGACGAGTCGAACCATGTTGAGGCGCGAAAAAAATCGATTTGCTCATCGATTATTCAATATCACATCGGAAGATCTCTATGTGTCAGTGAGCCAACCGTCGAGCCAATGGAAGTAGAGATGCCTGGAGCACCGAGAGAAACTGGTCGGAGGGTGTCTGAGCCATGTGTCTCGGTTGAAACTTTCGATATTCGGCCCTTGCTGTACTTTTCGTTTTTGTCGTTTCGTTTGGACGGTCTGTTTCTTCGGAAGTCATATGCTTAAAAATTTTTTATTGATTTTTTTTCCTCCCACAGGGTTCTCACCTTCCTCATGCGGTTGATTTTTTTGCGCTCCATTGACACTCGCTTGTCGGAAAGAAGCACGCATGGGAAGGTTGTGTACACGGACAATGCGTATACATTTTACAATTTCTAAAATCGAGCCGCGCCGCAACACGCAACCCGCAAACCCAGCTAGCCGAGTCTAAATGGCCTAGTTCGGCAAGCTCTTTCAGTTCAATATGAGGGAAGCAAGAAATCCATTTGCCACCACAAGATTTTTGCGTGGCCGTCGCAGTTTTCTAGTTTCTCGGCCACGTTGTCAAAAATTATTTTAAATCGTACTGGGAAGACTAAATTAGATATCTCTCCTGCAGATTGTGATTCGCGGAAAAATTCCATGAATGTTTCTCCCAGTCATTTTTTTTTTGTAAATCCAACAAATCAAATGAGCGCCAAAACCTCACAAATCTCATACTCCAAAATTTGCGGAATTCCTCTTTATTTCTTAAGGCCTCCTCTTTGGAAAATTTAAAAAACTCGTATAAAAACTTTTTCTTCCGTTGCAGCATACGCACAGAAAGTCTTTAAAGTCTGAAAATAAAGTCCCAAAATCCCACTCTCATTCCACCGAGAGGTCATTTTCCGTGAGGTCTCTTTCTTGGGTCGCGACGCGAAAATACTGTAATTTTATTAATCTTTTCAGAACTCAAGACTGTGAAATGCCGATTCCAGCCAGAAGGATATTAGCTAAGCGAACAGTGAAACTCTTGTTTAAAAGTATTCTGTTTCCCATCCACGTGCCATAATTCTTGCATTTTTTTTTTCCCTATTTTGATTCAATTTATTTACAATTTGTTCAATTGCCTAAATAATCAGTAAATAATAATTTAACATTAACACAAGGCGTCACATTTTCGTATCACGCGTGGAATGTAACGGTGCCGTTAGTGTCAATGGTTCCGGCTGAAAATTAGTTATAATTGGAGCGCATTTGCATTTTTCTCGAAAAATAGATGTTTTCGTGTGATCCAGAATGATTTATCGATTTTTCTTAACTTAGTGGCCGAGAAAATGGAATCGAAACGGGCTCAGACCTCGACTTTTATTTACCTGGAACGAAAATTTAAAGTATGATCAACGCGCTAAAGCCTCAATTATGCAAAACGCTTTAAAAACGGGTTTTGGAATTTCCTCGAGACCACTGGTGACGTCACTCCTTTTCAATTTATTATTCTAACGTTGTTTTCTAGGCCACTGATGTCGATATTTTTCCACTGGTTTCTAGATCGCCTGCGATGTCATTTCTCTTCCATACCCTGCTCTAGCGGGTTTCTAGGCCGCTGAAGTAATTATTTTTCTTCCAAAAATAAATCTAGGCCATTAATGACGTTATCTCTAGTTCTTTTCCTTAGGATTCCCTCAGGTTCCTCATATTTCAGATCCATACTCGCCACGTTCATCTCATGAACTTTTTCCACGCTTTTTCACTGCTCGTACTCTTCTCATCTACTGTATCCGGCACCACAACGTCGGAGCAGCAGCTTGCTCATCAATATGCTGATGTCTCCTGGCGGACGTGGTGTATCTGGTGCAGTTTCATAGTGATTTTGCTGCTTCTCCATGAGATTCTGTATTAAACTGGCTGAGGGAGGATTACCACGAACGGTGGCATCGGAGGCGGCAGAGGAGCCATAGATACGGGAGTCTGAGAAGCCATCATGGAGTTGGGGGTAATTCCTTTGTTCGTTGGGAAATCTGTGGTGACATTTGTGGGGCCATAGGGGACGGGGACATTTGGAATACCATCGGAAGCATTGGCGGTGGTGGGGATGCCGGAGCCATTCGTATCATTGGAGCCATCACGTAAGATGGTGGAGATGGTGGGAGACTGGAAGGATTTTTTTTTTGAGTTTTTTTCGTAACACGGGCGTCTGTCCTTCCTCATTGCACTTTTCGCGCTCCGATGATAACTGCCGGACGACGCGTGGAAAAGTGGTGTACTCCCCACGGAATACAAATACATTTAGTTTTCAACTGAAAACCGAGCCGTGACACACGCTATCCATAAATGGTGTCCTAATTTCTGTTTTTTAATCTTGAGTTAAAAGTTTAATAATTATTTCTACAGAATGGCTGGGAATGTGACGACCCACGTGGAACCGAGAATTCTCCTGCGTGGACTCTTAGACAATTCAAAAAAATATTGGTGGTTTTGATAATAAAGGATTTATACGGATAAAAATCTATTATAAAAGCCGTGAAAAAATCATCATCAACCACTGCCTAAAAGATTGAAATTATGATGGCCGAGACTTCTCAAGTGTGGCCTAGGTAAAAAATCTTAAGGCCTTTGAAAATTTGCTCATTTCGAAAATTAAAAAAAACAACTCAATTGATAGGTTGTTTAAAATTAAAAATTAGTTGGTCTTTTTTTCTCAATTTATGCAAAATCAAAAATTATAATCAATTTTTAATCCAGAATTCGTCAAGTGGCCTAGAATTCGACTGCTCGGGTGGCCTAAAATTCCCCCAAAATTTAAAATTATTGATGCTGGCCAAAAAGTTGAATAGTGCCCGAGGTTGTTCGTATTTCACTTTTCTCAGGCGGCCTACGGAAAAAAACTCGGCCACCAATAGTTTTTCCTAGGCCTCAAATGCCCTAATTGTATGTTAATTACAGTATTTTCTAGACAAGATTTATTTCCTTAAAAAAACTCGCGAATAGCACATGGAGCTCTGACTCTTGCTCCCACCAATACAAAATTCCGAATTTTTTAGAAAAAACCGCAAAACTATAAGAATTTGTGGTAGAAATTGGGGCATTTACGTAATAACAATAATAATGTCCGCAAATTTTTTTTCATAAATTTCATAGTCCAGGACGAGGTAAGCCTAGAATCCATTCAATTTTATTGGGCCGCCGATCTTCGGAACACTTTTACAATTTATACAGTATACAACTTTTACCTGCAACTTAATAATATCATCAATACTTCCAGAATATTCTTCTTTTTCCTCTGGCTCAATTGCCACGTCATCATCTTGTAATCTGGTCCATTTTGCTGGCGAGGCGTCGGCAAACAGCATTTAGTATTTACGGAGCAAGATCTTTCAAGGCCCGCATGCGACAGGAACAATTACGCCAGTCTGTGAATCTGAAAAAAATAATCTTGTCTTTTAGGTGACCCTGCCTGCCAAAGTCTGCCTTGCAAGGGACCTTTGACCTACTTGACGTACCTTCAAGTGAGACCTATGCTGGTTTGCCTGCATTTGGGTTTTGTCAGTGCCTTCTAGGCCAATGCCTACCTTTCAAACTATGTAGGTCAACTGTTTTTAAGGTAGCCTGGGTCAGCGGTCACTATGCTATCTACGTCTACAATGCTACCCCGTGCCTATCTACCTGCTTTTAATGCTATCTGCCTTTTCAGCCTGATAGTTTAGGGACAATCTACGCCGGTCCAGCTCACATAGGTTATCTAAATGCCTATCGGGTTTCCTTCCTGCCTGGGCATCCAAAGTGACCTAGGCTTCGTGTTTTTTGTTCTAGATCTCACCGTATATACCTACTTACATGCCTGCCTTTAAGTTTACCTATGCCTGCCTGCATTCCTCGTGGTGCCATGAATGCCCTAAAAACTCACGTATCATAAGTAACAATCATATTGACGAACAACGGTTCGATGAGTTAATATCGTGCAAGCCCAGATCATGATCGGGTGAAGAGAAATCGTTGGCCTAAAAATTTACTCGGCCACCCCCTTACCTGCTGCATTGCGAAATAAGCGTACTGCTGGGAGTGCAACGTGGCACACTTATTGAATCCCGCCGTATTGCCCCATCACACTTTCGGCGAAAATTTGGAATGATGGAAGAGAATAGGATAACCAGGCCATGGATGTATGTGCGCTATGTTGATAATCGGTTATTTTCAACGTGGATTATCAATTGAGCGCAGTTGTCCCACTGGAAGAGTTTTCCTATCTAGGCCACCACCACCACCCACTCACCATTATAATAATAGCCAGCAAGTGTTGTTCATGTGGAATAAATGCTATAACGATGAAAAACACGGCGGCCACGGCCAGAGCTATTGTGTTGAAAATTTTAGTTTGCAGAGTTTCTGATGAACATCTGGAATATTGATTTTTGGTGGCCGTAGAGAGTAAAAACTCGGCGACTGAGTATTTTTCACATTTCAAGTATAAAATTATTCCAAGAAAAATCTGCTCCCGATAAACTCACTTAATATAATCACTAATAATTCCCGTAGCCATGAAAATTTCGTAAAAAATAGAAACATAATGGTAAGGCGGCCAAAAAACAGCACGAAAGTACGTCATAGTTCAAATAATTTTTCATATATTGCGGATTGAATTGGGATACCAATTGACCTGTTAAATCTCCAGACGTGCGATCCAACAAGGCCACAGGCTTAAACTTGTCAGAATATGACGGAAATACATGGAAGATTTTTCCTGGCCGGCATACCTGCCGAAAAAGTAACGGGCTGCGAATTTGCCCCCTCATGTTTTCAAATGGAAGAGGGTGGCCGTGAATAAAGGTAACCTCTACCGGACCTGGGTCGCGACTCGCGACAATCGGGAAAATTTTCTCAAAGAAATTTCGTACTCTCGCTACTTTTAGTTTTCCTGTTTATGGCATCCCCCGGGTCGAGGTACGCTTTTTTCACGGCCACCTCCTCTTTCCATAGTTTGAAAACATGGGAAATTCGAAGCCCGTGAAAAGTTAGGCCCAATGCGATGTGGTGGCCGAGGTTTTGAAAATTCGGTTACTCTCATGTAATAAATCTTGAAGTCGAAGCAAATTTGCGTACATCAAACCCATTTACCTCGTTAGCAGTTTTAGAAAAATTTGGGATTTTCTCATACTAATGAGGGAACGTCATAATTGTCGACACATTGCGTACCCCGAGGAACCAACTAATTCAGTCCTAGGTTTAGGCATATGGTAAGGCATAGGCTTAGGCGTAGACGCCTAGGCTTAGGCTTAGGCTTAGACGGGGTGTCAGAGTGCCTTATTTCGGCTTCATCTACGTACATCTACAAGAAGGGAGAAGAGACGCAGAGTTTTCTACTGATTTCGCAGACTTGGTTAAGAGTGTGCTGACGTCACATTTTTTGGGGCAAAAATTCCCGCATTTTTGATAGACCAAACCGTAATAGCACGGCCAGGCATGCGCTTAGCCTTGAGTCCGTAGTCCTTCGGGCGCGTTTTTCTCAAAAATGATACGTTACCATTTCAGGTTTTTCCGCTCCAAAATCTAGTTATAATAATTTGTGTGCCCGTGTAGAGCGCGTTTGCACTGACTTTCTTTCCCTCGATTTCCCTTATCGAATCCTCTCCAATTCCTTCTCGCAACCCCAACTGTGCTCACTCGGCGGTAAGGACTTGAAAAATCCCAGGAAAAAAAAAAGTGACCAACGATACCCCGGCGTTAGTAAACCGACGTCCATCCACCAGACGAAGAGCGTAATCCCGGAACTGTGTAAATATATTTGAAAGTTGATTTACGGTTAATAGTCCAATGAATACTTCGTGCTCGTATGGAGTCGCCCAATTATCCCTGCTGTAAGCCCATCGAGCCAGCGAGGGGATATGTGGCTGAAAATGCCATTCCTTGATAAATACGCGGCCACAAAATCCGAAGCCAATGGTACTTGCCAACGGGATAAGGGCTGTTGAATACTGGAAAAATTGCGTGCAATACATCATATTTGACGGGCAATTTTAGAAAATTTAAAAAAACGCGCTCTAATGATGCTTGGTGTACTCCTCTCGGACAATAAATGTCAATAATTTTCGAAAATTCGATAATTTTTGTTTAATTTCAGAAAAATGAAATCTGTTTTAGCATATTTTGAGCGCGTAAAATATGATTCTTAAATACTTAATTCAGTATTTTACGCAGGCGTGGTATCCGAGTGTCACCTCTCTAGGCTTGATCCTTGGTACGTAGATCTACAAAAAATGCGGGAGAAGAGCAGACGCAGAGTTCTCAACTGATTTCGTATGAGTTAAGCAAGTGCTGACGCATTCACATATTTTCGGCCAAATAATTCCCGCATTGTAGATTCAAACCGTTATGGGACAGCCTGACACCACGTGCTTACTCGGACTTTTTCACAATTTTGTGCTTCATGCACCATTTGTTTTTGTTTCGAAAAATCAGATTATTTAGCGGGCAAATGCAACGCCCACTGTGCAATACACCATATTTGACGATCAATTTCAAAAATTTTGTATGCTTTCGTGCTTTTCGGGGTACTGTAGCTTTGAAAATACGCATGCACTGGATCTGACGGCAAAATGCACAGTTTTTATAAAATTAGTCTAGACTAGAAATTAGTCAGTTTTCACGAAACAATGAATAAAAACTACAGAAAACTCGGCCACCGATATTTTTTTTTTTCGCGGCCACGATTGACGTCATACCTCATAATTCCGCCGACAAACCTCTGGAAACAGGATTATGCGGCAAATGTTGAAAAGAAATGGAAAAAATGGAATCGAGGCGGCAAGACTATAGCCACACACGATTGAAGAAAATTCGACTCTGATGGTTGGGATCGGAATTCACTGAAACAACTATTTTGGCTGGGCCGCCAGAGAAGACTCGGCCAACGAATTAAAAAAAAAACCTTTTGAAGTTGAAGTACTATTATCATCTTGCATACAAATTAAAATTATAAGTTCATATTTGAAAGAATCGAGGTCAAACACAGTGTGGCACATATTAAAATCTGCAAGAAAATCGTGAAAATTCAATTTTCCGGGTTTTGAGTTCAAAAACCAGAAATCGGACAGGAACCGGCGCGTTGACCATGGTGCATCAGCAACCGGAATTTTAAATAAGTAAAAAAATTTACGATGCTCTGATAACCAAAAGTGCAGTGATCCATTTAAGGGAAATACTGCTGGTGGATTAAACGTTGACACTGTTAACTTGATAGTTTTAATTTGATCAATGCTTGGTACTTGTTTTTTGCAGGAATCTTTGAAAATTGCCAAAACTATAATACAGTCTGAAAATTGATGATAATCTAAAACTTTAAATTCCGTTAATTATCATTATTTTTACGAAATTTTAATATAATCTCCTTAAAATTTAATTTTCTAGGCAGCGGTCTGTGAGCTTAAATTTTCGATTATCCCTCGCCAAATTAAAGAGCAGACTTTTAAGCTTATAAGCTTATTTCAGTGAGAGGAGAGCATTGTGCAAGAAGAGAAACGCAGACTAGGCTTGCGCGTTTCTCGTGCTCTGACGCGAGTCTCGATTTCCGTGGCTTGCGCATTTCTCGTGCGCGCGACGTTCATTTTTTTCCGATTTTTTTTCAGTTTTGCTGAACTTTTCTTTAATTCGTGATTTTTCATTTATTTTTCACCTCTTGTTGCTCGAAAATAAAACTGATTTTTCACACAAAATATTCGACTTTTCAGGTTCCGGCAACATGGGAGTCTTGTACTGAAAAACTCGGAATTAAGCAAAGTGGGACTCGTCGCCGGCGCAGGGCGTCAAACTGTCAATCGATAACGATATTTGGTCGACTAACAATGTTAAAGTATTAGTTTGTTTCCGTTTTTCCACGAAAATTTTCATTGTCAGGGCAGCGAACTGTATCAAAAGCTTCAAAAGTATTCCCGGCACCGTCGTCTTTCCGGAGCAGCTTTTATCGATTTTTTGTCTGAAAATGCAATTTTTTTCTAATTTTCAGCTCCCTGAAACACTCGAAGATGTGCAGCTGAAGGCCGGTGGAAAGTGGAAAAGTGCTGTTGACTCGGTAGGCTGCATTTTTGATACAAGAGGAAACGGAAAAATTTGCGAAAGGTGGAAAAAAGTCCTAAAATGGAGATTTGGCGCCGAACGTCATTCAAGAAATTCCATAACTTTCAAAAATCTATCTGAAAAATTGAAAAATATAAGACCATTTTCAGTCATTTTTAGTAAGTTTCAGCTAAACGTCGAAGAAAGTGCCTAAAACTAGGAAAAATATGAGAAAAAGACACAAATTTTGGAGAAAATTCCTGAAAAATGCAAAACACTTTTTTTCAAAAGCAAGTAATTTCAAAAAAAATCCCAAAAATTAATGCAAGTACGCTCCATCGCCCTTTTTTCCAATTTCTGACTCGAAAAGTCAAACTTCTGGTTTTGTAGGAAAGGTTATGCAAAACGCAATTTTTAGTCCAAAATTCCGAGAAAATTCTGAAATTTAAAAAAAAAATGCAAGCACACTCCATGGCACTCCGTTTCCTTTGCAAAATTTCGCGTAGATAAATTACAGACATTAGCAAAATTCCGACGATTTCGCTGACCATCACGGAAATATTGTAGGAAATTCAAACATTACACTTCCGAAAATAATTCCGCAAACGCGCTATCGCACTTTTCTCCAAGTCCCCACTCAAAAAGCATAGAACATACCTGAACTTGCCGTTTTTTTACACCAACTTCAAATTTACGCGATTTCGCTGCGAGACCCAAGCTAGTGCAGTTGCGCGCATTTCCAACAATTTCAAACTCAATTTTTTTCAAGTATTCACCACAATCGAGAACGTCCCATCAAGCGTGAACAGTGCAAGCCAGGATCGACTCATCAATAATAAATAAATTCCCCATAAAAATTATCGATTTATCGATTTTCTTTGACCCCCGAATCCTCTGTATTCCTTCGTTAGAATGTACTTTTTCCCTCCTCATTTTCTAGAAATATGTGTGTGGTGCAATTCTATGAAAAAATGCATTGCAATTTTTGACTTTAAACGAGACGTACGGTGCATTATTTTATTTTATGTACAGTTCCCGTCGTTGATCAAGTTACTCCACTGATATCAATTCACTGATAAGCCCACACTGACTGCCCAGCCCAACACAATTCCGCAACTTCTTCTCCCTGCTTTGCCATGAATTCGACGGTGGCTTCCCGTTTCTCATGGGGATTCATTCTGACCATGCGTCGATCGATTTTGTTGTCGTGTTGCCTACTGTTTGCCTGCCTGCATGATGGTTCAAATTGAATTTTACTCCGCAATTTGGCGTTTTTTTTTTAAGAGGTTCGATTGATTGGCCGAGTTAATTTTAGGGCACGAAAAATGAAAAATGAGCCGAGTGTCATTTTCGTTGGAATTCTAATTTTCAGTGTGTAAAAATATAGAAACCTCCAGCAAAAAATTTTGAACATCCCCGCCAAAACGTTACGAGACCCAAGTACAGCGAATGAGAGTTGCAAGAAAAAATTTTTAATGATTTGCAACTACGCTCCACAGTCCTTGGGTCTCACAACGTTGTAAAATTGTGGTATTTCTTCCATTACTTCTTATAATAACGATATTCGGTGGTCTCGACACTACACATTTTCATTAAAAATAAAACGGGCGCGATGTGCGCCTTTCAAGAGCTACATACTGCAGTTTCAAACTTTAGTGAAGTTGCTAAGCGTATTTTCAACAACGAATTTGAACTTACAGTACTCTTTAAGAGGCGCACGCCCGTTTTTATTAACAGAAACTTGTCGAGACCGGGCACCGTAGTTTTGACGCTAAAAATAAGATGTATGAAAAAGCGGGTTTTCAGAAAATTTCACTTATCAAAGATGAATTTGAAGTTTCCAGCCAAAATCGCTGCGAGACAGTGTAACGAGTGCAGAGCGCGAAATTGCTGTAAAATTTGATTGAAAAAGTTTAAAATTGAGATATTTAAAAACGGATTCTGGCGTCCCCCGTAATTGAATGAATTTCCCGAACTAGGCCACTTTGGCCGCGGCCATATGGGGTAGATTTACGGCGCGTTGTCGCGACCCGATTTTATGTTGGAAAACTAGGAATGTTTTTGCCCGTGTGGAGTACACGACTTTCCCACGTGTTGTCCTCTAGGTGATTGTCACTGCAGCGCAAGAAATCCAATGAGGAAGGCCAGAACCAAAAAGGACGCGTTTTTGAAGCAATTCATCGAAAGAAGACAGTAAAAAAAAAGTCAAAAATTCAAATATAGAAAAACCACCAAACCAACATCCAGCACAATCGACCTATTCTTGATGCTGCTATTTTTTTTGCACGTATGGATGTGCCGGCGGAAATCCACGTGGCCAAGAAGGCGGACACGTTTACAATGTGGGGTCGGTGGCCGACGCCGTGGCCTAGAAATCCAGCCGAAAAGTTTCCGTCAAATTTTCTGCCAATTTTCTGCTCGGCACTGCTCATCTGCGCGGCGAGCCCCACAAAATTCTTGCTCCTCCTCACAAGCTGAAGCCCGATGAGTTCCTCACTTTCGGCGACCCTGCCTTCCTTGTCTGGAATTTCGTTTCCGCGATCATTTTTAAGTCCTCGTGGACAAGATGCTTCTCGCGAACTCCGTCTTCATATATAATTTTGAGGATGAGGATGGAAGTGCCCTCCGCTGAGAGCCTAAAATGTAGTTTTTGATCACCCCCACGATTTTCAGCTCGAGGCGGCTCCAAAACAAACGTTTGAGCTTATTTTCCGCCTGCTCCAATACTACAAATGTGAATGGCTCTGGCATATTGTTTCTAAAGTCGTGGCTCTTTATTCATTCGATTAAGAGAATATCCATCGCGTCGGGGTTTTTTGTTTCGAATTTAAAAAAAAACACAAGTGGAAGAGTTTTTAAGATTTCTTGGCCACGCACACTCCAAAACCCGAAGTTTCAGCCCGTATCTTCGTTGTCCCTATTACACGGGACAAGTCATCGCTACCGTGGTCGCCACAAAATCGTACCCAGCCCTCTCCAACGCTGTCTACATCATGACAATCATCTCCTTGGTGAGCGCTGTCGCCGCCGGATTCCGAGGAGGATCCTTCGAATACGCCTCGCATACAGGATCCAGACGGCAATCCGCTATGATTTGACGGACTCGTGAAACAGGATCGCTTTCTATGATGCTCACAAGACCGGAGTGACTTCTCGTCTGTCTGCTGATTGTCAGACTGTGTCGGATACAGTTGCGTTGAATGTTCAAGGTTTCCTCAGGTAGGTGTGGGTGCGTGACCGAAGTTCCCAGATCACACCTAATTTTCCCAAATTCTTCCAGAAACTGCGTTATGCTCCTTGGATCGATGAATAAGCTTTCCGCCTCTCCCTCTTCACATTCATCCTCGTCATTATCTTCGTCGCCTCCAAAAGCTTCGGAACATATTTGTCATGTAAGTGCGCTCCAGCGAAAATGTTTTTCTAAAGTTTTGAACGGACCCCAAAATTCTGTCAAAGTGCCCCATTTTGGTTTTTGATCTTCGGAAAATGCCGGAGATAAGAGGCGCAGGCTTTGCAACTGATATCACATGGTAAAGATTGTGCTGACGGCACATGTGACGGAAAAATTCCCACATTTTTTTGTAGCTCAACGCACCTGACACCACGTGAAATTTTTGACAAGTCAAGAAAAATTTCGGCAAATGTGAATTAATTACCGCCGCACGTCGTGCCAGGCTGTCCCATTACGGCTTGATCTACACAAAGTGCGGGATGACTTCTTTTTGCCCAACGCGAATTTGACGTGAGCACTAATCGTTCTTAGTCATGCGCTAAATTAGTAGATAACTCTGAGTCTCTTCTCCCTCATTTCTTGTTGTTCTACGAGATCAAGTCTAAATTACCCAGCGTCTCTGTCACGTGCACGCCTCCCACCCTCCGACGAGCAATCAGCGGATTTACTTACTCAACTTGTTTTATTTCAGCTCCTCTCCGAAAGAACACAGGACAGAATTGCCGCCAATGTGCCGAGGAAGTTCTCTCCACAATGCGTACAGTCCGATCCTTTTCCTGCGAGAACGTCGACCGATCTTCTACGGGGAAGCTCACCCACACACTTGATGTTTGGCCACCAGAACCAAGCTAGCGATCGCCTATATCGGATTCCTCTGCTGGGCTTTTCCAGTTGTTCATTATTGTGTCAGTCCTCTGGTATGGAGGCCATCTAGTGCTGCACCAACGCAGAAAAAGAAGGGAGATCTTCTAGTGTCATTTTTGCTCTATCTCAAAATGCAACTCCGAGATAATCTTCGTCAAATGGTAGAAGTCAGGAGGCCACAGGATTGATGCAATCTGTTGGAGCAAGTCGTGAAGTGTTCGAGAACATTGATCGAGAGCAAATTCAGCACAACGGAGAGCATATGCGGAGAATGTTGTTGGAAAGATCGAGTTCAGAAATGCTCGCTTCAGTTATCCAACTCTCCGGTCCGATCAGCCAATCCTTAAGGAACTCTCGTTTACCGTTGAACCAGGAGAGACTGTTGCATTGGTACCAGCCACCCTGGCTGGAAAGTCTTCGTGCATTTCTCCGTTGCTTGAGAACTTCTACGTCCCGAATGCTGGACTTGTGGATGGAGTTCCGCGTTGCAAGAGTTCGAGCATCATTATATTAATAAGAAGGTACGTTGGCGTCAATTTCGGTTCGACAAATCGTTTGCCGGTTTGCCGTCAATTTTAATTTTTGGCATATTGCCAGATTTGCCGGAAGAGTTTAGAGTGCTTTTTTATAAGACGGAAACACTTGAAACTGTGTCCGTTTTTTTTTGTGCCGGTTGGCGATTTGCAAGATATTTTCACCGGCAATGTGCCTTGCCGATTTGCCGGAAATTTTCCATTATGGCAAGCTGACACCGATATGCCGGAAATTTTGATTTCGAAAAATTGCCGAGAGGCCGGAAGTTTCAAGGCAACTCGCCGATTTGCGAAATTTCAATTCCGGTAATTTGCCGATTGGCAGGAACAAATCGTTTGCTCGCAGTCTATTCGGATAAAAATTGCGCCAACTGGTCATCCGTTTGCACAGAAAAAGCATCTCCGCGCTTCGCTATTGGCCAATTTCATAGGGCAAATGTGACGCAACAAATCACGGGTGTTTCTTGCTTTCCATTGCTGAAACTGTGACTGGTTGGGCCCAATTTTTTGAACTTGACCTAATTGCGAAGCGAAGACTCTGGACGCAAGAAACGATTAGCTCCGTTTTCTCCTTTAGATCGTCTGTCGATCGAGATTCTCTGCTTTAAAAACACATTGCCCATCTTTTCAAAGCCCCTGTTTCAGCAGCTAGTAACAACAAAAAACCTCGAAAACTTCCAATTTTTCAGTTAGCCTTTGTCGGCCAGGAGCCCGTCCTGTTCGCTCGTTCTGTTAGATAAAATGTCAGAAGTCTTACGTACTGTGTCGAAGTGGCGGACGGTAAGCACGATTAAATGCACCATGAGCCGACCAAAAAAACTTGTTCAGGAAATCATTCGCGTGAATGGCGAATGCTCACGGATTCACTAGAAAACGTTGCAATACGAAACGTCGGAGAGAAGGGAACACAAACGTCCAGTGGTCAGAAGCAACGTGCAATTGCTCGGGCTTGTTCGTGAGAGCGTTTCTCTTGTTCCGTGGATGAAGCCACGTCGGCTTTGGACACTGAGTCCGAACATCTTGTTCAGAAACTTGACCATATAAGAATTTGGATGTGGAAAGAGTGTCATTTTGATTGCACATTATTGACTGTAGAGTAGGCTGATAAGATTGTGGTTATTAATAAGGTGAGTTGCAATTGCGCTCGAGGACCGAGTTTTGGTCGCAAGACACGGGGTTCTGGCCTTCCTCATTGAAATCAGTCTTCCGTCTATTGACAATCGCCTGCCGGACAATACGCGTGGGAAAGTCGTGCACACGGACAAATACATTTAGTTTTACAATTAAAATCGAACCGCGAAGCGACACCGCGCGCCGTAAATCTACCCCAGATTGTATGCGTGAACCGAGGCAAAATGCCCTAGTTCAGCAAAAACTCTTCCATTTCAGTTCGTTATGAGGGAATCCAGAAATCGGTCCGAGGGCCCTTGGTTACTCGCGGATAACGTGCTGTCAAATTATTTCAGAATTGAGAGTTTCGCTAAAAACTGTAGAATCGCGTTAAAAATGAGAGCTCACCAAACAGGATTCACGAAACAAGAATTCACAGAAATAGTATTCAGTGGGCGCAGTGTGCGCAGTGTGCGCGGGGTAAGCACACTACTTCTGGTCCCGCCCGCTAAATCCCGTGTTTCTCGTGAATAGCTGAATGAAATATCAAAACTCGGCGAGTTGTTCTGTGGCCGGCACACACACGTGGTTTCAGGCTGTCTCATGGCCCGACAATGGGTACATCAGTGAAAATGCGCTACTGAACAGAACGCATAACGCACGTGGTGCAAACAGGCTGTCCAAAACCATAATGGCTTGACCTACAAGAAGTGCGGGATGTTTTTGCCCAACAAATTTGATCAGCACGTTCTTAGGCATGCGAAATCAGTTGAGAACTCTATGACTCTTCTCCAGCATTTTTTGTTGATCTACGTAGATCAAGCCAAAATGAGACACGCTGACATCACGTGATAACCTGGTTGATACTACGCGTACGGCTTTCCCGGCGGGGCCGTGTTTCTCATTGCGGTTTGATCTACAAAAATGCGGGGAATTTTTCCCCCAGGAAAGTGTGACGTCAGCACACTCAGTCTGCGTCTCTTCTCCCACATTTTTCGAAGATAAACCAAAATGAGACATTTTGTCACCAACACACACACACACACACACACACGCACACACACACACACACACACACACACACACACACACACACACACACACACACACACACACACATCATATTTGACGGGCAAAATCGGCCCCATAATTACAGGGAATAGTCGAACACATCGGAAATCACGAAACCCTACTGAACCCCATGAACGGAATCTGCCCTACGCAAAGCTCGTTCAACGACAAATGATGGGAGATCAGAAGCCACGGAGGCCGGCGGTCGAGCAGCCACATCCCGGTACCTCAGCGCCGCGTCAACCAACGTGGCTTGCAGGACCATCGCAGGGTAATGCAATGTCCCTGTTTTGTCGACTTCTTTAAGCCAATCTGCCAGTAGTGTTACTTCTCATGATTAATTGTTTTTTGTTCTTGTTAGTAGCCAACATTTTTTGATGGACTTGTTGGGATTAATTTGTAAGAATACCTAAGGGATACAATTATTCATTCATTATTAAAATTTGGGCACACAAATTCGATTGTGGAAAAACTGTACAAAAACATTCTTGCAAAAACGTGGAAATTACTCAAATAAACTCCAGGTAGTCGTTGTCGACATCGTCTCGCTTCCGCATCGCTGAAAATCCATTTTTCACTTTTTTTAAAGCAGATGCTAACCGGGGCCTCTCCGTGACCGGATCGTGTTGTTCCATCCGCGGATTATGAGAGTAGGAGCTTATGCCACGTGTCTCATTGGCAGCTTGCCAATTGTTCGCAGACAGCCTGTACGAGTCGGTCAACAGTGGACCGTTTAGAGTCTGAAAATATATAACGGGAACACTAAAATTTTAGAAGCGTATTGTGCAACACATTTGACGCGCAAAGTATCCAGGTAGCGAAAACTACAGTAGTCCTTTAAGTGACTGCTGCACGTGGTGCCCAGCAGGGCTGGCAATTTTTTGGTTCTTTGGTTTTTCTGGTTTTTTGGGACCAAAAATCCAAAAAATCAACAACAAAAACAAGTTACCGTGTCTCTCGACTCGAGACTATTCTGTATTAACATACATCGAAACATGTATTTTAACACAGTCGTCACGTCATAACCAATGAAATACATTTGGCGACATTACTTGATTAACCCCAAAACACCTATAAAACATTTTCTGGTTTTTTTTTGGTTTTTGTTCCAATTTCAATTTTTTTGTTTTTTGGTTTTTTTGGTTTTTCAAAATAACTTCAAATTTTTGTTTTTTGGTTTTTTGGTCCAATATTTTTCTACTTGGTCCCTGGTGCCCAGCTGTCCCATTACGGTTTGATGTACAACCAAGTTAGAATGCGGTAATTTTTTGCCCGAAAACATGTGACGAGGTCAGCACGTTTTTAACCATTGCAAAATCCATGCTTCCCTATTGTTTGTAGTTCAACGTAGATCAAGCCGAAAGAGACACACTGTGAGCGCGTGCTATTGTAGTGCTTGTGTCGATTTACGGGATCATTTTTCGAAATGATTATACATATAATAATCGATAGAATAATAAAATTATGGAAAAAATAATCGGAAAATAATACGACAAAAAGGAAAATTGAAAATCGCTGTCAAAATTCGAAAAAATTAATTGCGAAAATTGAGTTGCCGTAAATCGACACAAGCGCTACAGTAGTCATTTAAAAAGGATGGTCTACTGTACTTTTCGCTACGAGATATTTTGCGCGTCAAATATGTTGCGCAACACGCATTCTCAAAATTTTAAACTCTCCGCCTATCACAGCTGTGTCTCGTTAGCCCTGTATGGGGGCGGATCTTTCAGCGGTGGAGCCCGATAGAAAAAATATTTTTTCTTCGATTTTTCAGAAAAAATATCGATTTTTTCCGATTTTTTAGAAAAAAAATTTTTTTTTTTGATTTATCACAAAAATTATCGATTTTTTAGATTTTTCATAAAAAATATCGATTTTTTTTTCAGATGTCCAGAAATCCATTATTTTGATTTATTTTTAATGTTTTGAGTTCCATTTATCTGAAATTTTTTTTACCTCATAATGATTGCCCTTTTCTTCCACTGCCGCCTCGCTTAGTTCAGGGTAGTGTCGAGTAATTCGTATTCGATACTGTGAACGTGTAAGCGACAGTGGAATAACCCGGTAGATCATAAGTAGTACAATATGGCAAAGTGGATTACTAACTGAAAATTATTGGATTTTTCTCAAGTAATAAAGGTGGGGAGATCCGAAATATGTGAAAAATATTTTTAATTAACAAATTTTCCCCTGATTCCCAATTTCTATATGAAAAAATTCAAAAAAAAATTTTCCAGATTTTATATTTAAGCTTGAAATCGCTTGAGCCCGCATCACTATTTACAAAAGCTTCCCCAAAGAAATTTGAGAGCGCGCTTGCTTAGTTTGTTTTTCTGCTCATGCTAATATTGTATTTATTACCGCCAAATTCAATTTAACCGGTTTCATTCATTTTTGTCGAAAAAATATATTTTTCAGGAAAAAACCGGTGCAAAAAAACCAAAATCGACAAAAACTAATGAAATGCTGGCTGCTAAAAATTGAATTCGGCGAACCGAATAAAAATAAGTTTTAAATGAAGAAAATTCTATTAGGAGCAAACGAAATTCGCCATTTCAAGCTTAAATATGGGATATAATCAGGGATTTTTGTTTTATTTATATTTATTTCACAGCTTGATTTTCTCAGGGAAACATTTGGGGTTAATATATTTCACAGATGTCGGTAAGACAAATATGATTATTTTTTTACAAAAAATAACCCCCACCAGTAACAGCGTAGATAAATTGAGATAAATGCATGATTAACCCGGAAGAACAAAAGTCGGGATTCTGTTGGGCAATGCTGGAGTAGAAGATCGAGATGCTTGTACAATAGTAGGGCAGGAATGAATCAATCATCTGTAATTTATTTTTTTAAAGCTGGTACAATCCACGTGGTTCAGAGTGTCTCATTTCGGTTTCCGAGCTACTGTTTTGTAGATCTACAAAAATGCGGGAGAAGAGACGCAGAGTTCTGATTTCGCATGGTTAAGAACGTACTGTCACATTTTACTGGGAGACCCCCAAAATTTCGCCGCTTGTAGATCAAGCTGTGACGGGACAGCTTGGCACCATGTGGGTGCCGAGGGGAGCTTTTTGGTATTTTTTGGAATTTCTCGAAAAAAACTTTCATCGATTTTTTTGAAACTAGCTCTTTTAGGTATAGAAGAAAATAGTTTTTTCTCATCAACGCAATTTTTAGATCAATATTTTCGATTATCCGGTGAAAATTGAAAACTTTCTTTTTCTATGTTCCATTTTGATTTTATAAATTTGGGAAAACCTAATATTTCGATTTTTTTTGAAAAAAAAACCAATTCAATAATTTATATATTATAGGCCACTCTTTTTCTCTAATTTCTTCTGAAAAACCTTAACAAGAAATTTTTTTTTTTTTAAACCAATTTTGAGTAATTTTTTTCTGTAAAACATACGATTTTTTTCCAATAAATTGCTAGTTTTTTCTCTCTTTCGGGTACTTGGACTGTCTCTAATTTTGCTTGCTTTTTTCTATATTTTTTCTGCGATTTACGATGAAAAGTACCAAAAAGTCGGAAATTGTTTTTTTTTTTCGATTTTTTAGGAAAAAAAACGATATTTCCTATAAGTGTTTTTTTCATAAGTAAATACTTTTCTCCTTTTCCTTTTGATCTACAATATTTCGACTTTATTCTGGAAAAAATTTTTTAAACGTTTCTTTCTGAAACAATTTTCAGACCCAAATTTTCAATAATTCAATAATTTTTCTAGATTGTGCGACCGAAATATACACATGGTTTTCAATAAATTTATAGTGTTCTCCATTTTTGTTGATTCTATTTTACTACTATAATTTTTTCAAATTTTCGAAAAAAAACATTTTTTTTTTGGAAAATTTTAATTTCAATTCGATATATATAAAAGTTCATATTTTCATCTTTCATCGAAATATATATTTTTTGATTTTTCAACCTTTAACTTGTTTCATTTCCTTCTCTCTGAAAAAATCGGAAAAATTAACAGAAAAATCGAATTTTTTAAAAATATATTCCGATTCGCCCTACCATAATTTTTATGACAAAAAATCGGTGTGCTCGTTATTTTCTACAAAGACTCAAAACCTCAAAAAACATGCTGGGCAACGTCAAAATCGCTCGATATCGAATCTTCAGCTCAGTCTCATACCAAATACACCGCATACAGAAACATCGTGCAAGGAGCTTGAAGAAGAAAATGAGCGCGGTAGATATGCACACTTTTCCACGAAAATTTCGGCCGAAATCATGAAACAGGCGTGGATTGAGCACAATTCGATGGAGCCAATAGCCGGGAAGAGCAGCCGAACCTTTCATTGGGATCTGTGTACGTTCGTCTAACCGATAAATGTTCCTGCATTGATCGGATACAGTAGACGAGCAGCCGGACAAATGTATTTTGCAAGTGGGATATTCTGAAAATTTTTGAATTTTTTCCGAATTTAAAATTTTAGTTTCTCGATTGTTTTGAAGTAAAAGAATTGATTTTTTAGAAAATTATATGTTTTGTTTAATTTATTTAAAAATCTTTGAGGTAAAGCGCAGTGGAGTAGCGCTAGTGGGGACTTTAAAACTGCCTACGATACCACAAGGACCGAATATCATGATAAAAAAATTCAAATGGAAATTTTTCTAAATTTTATAGGTTTTTTTTTGAAAATTGAACAATCTCAGTTGTTTTTGCCTAATTCCAATTTCAATTACCGCTAATTTGTTCGGTGGAGCGCCACGTTTTTATATATTTTTAATTTTTATGTTATTTACCACCGATTTTTAATGTTTTCGGTGTATTTTTGCTCGAATTGAGAAAAAGCAAGACAAATGCAAATTTTCAATTAAAAAGCACGCTTACAGGCGTAAAAAACATGACAAAGTGCCGATTTCGATTTCCAAAATTAATTAATTTCATTGATTTACGAACCTGTAATCGTGCCGCTTTTTTAATTGAAAATTTGCATTTATCTTTTTCTCTAAAAGATAATTCGAGCAAAAAAACGAAAACATTAAAAATCGGTGGAAAATAACAAAAAATAAAATAAATAAATCTTGTTAAAAACGTGCAAAAAATCACGCTCCATCGAATGAGCAAATCCAATTGGCGGTAATTCAAATAGTAATTAACAAAGACTGCGATTTTTTTCAATTTTCAGAAAAATCGTATAAAATTAAGAGTGGTAAATATTTAAAAAATTATTTTATCATGATATCCGGTTTGGTACCGTATTTTAAAGCAATTTCCCCACTAGCGCTACTCCACCTTTAAAGTGCTAATGAATTTTTTGTACGTGGTGTCAGAAAGTCCCATTTCGGTTTAATAAAAAATGCGGAGAGACGCAGATTTCTCAATTACGCTGCTATCGTTAAAAACGTGCTGACGTCACATTTTTTTGGGAGAAAAATTCCCGCATTTTTTGTAGATCAAACCTTAATGCGACAACCAGGCACCACGTGTTTTTACAATTACACATTATCCTGGAACTTTCCAGAAAATTTGAATTTCGCGCCAAAACTTAGGGGTAGGTCCCATCATGATGAGTCACTAACGTCAAACCGATATATGTAAAAAGAACCAATGCCAAACTCAAATTTTCTTAAACTACAGTAATCCTACAGTAATCCTGTACCCCTACAGTACTACTACAGTACCTTGGCATTGTCCCCGACCAATATACAACCCAAAAATATACCTTCAAAAACAAACACGTAACTTTTCCCAAACTACAGTAATCCTACAGTTCTCCCACAGCTGCAGTACTACTGTACCTCTTTAGAATATTTTTCTGTTTTTCGATTTTTTCAAAAAAAATTCAGTTTTTTCAAAAATTGATTTAAAAATATTTCAAGTTACTTTTTAAAAGCTTTTCAAAAGTTTTTCAATCTGTAAAAATAAAATTTTACGGATTTGTATTTTTTAAATTATCTGAAATTTTTCTCAAAAAAGAAGACTTTTTTTTTCCAGTTTTCAATTAATTTCGGTAATTTTCAAAAGTTTTAGGTTTAAAAAACAATTCAATTTTTATGTACCTTAAGATTTTATCGACATAAAAATCATTAACAACTACGATTTGTAGCGGCAAACCTTTGTTTTTGGCAGTGGAGCGTTGCGCCTCGTCTTCAAAAAGACAAAATGGTGAAATCCCAAAAATCAAATAATTGTTCCGCTACGACAAAATACCGCTAAATAGTAATTTTTCATAGTAAGTTCCTTTTCAAAAGTGGCACAGACCTGATGAAACGTGTCGTTCACCTCCTCCGAGTCCTGCCACGTGAGCTGGTGCTCCGGCATGGCTGATACATTTGTGAATTTCGCTAAAACAGAAAAATATTATCAATAAGCGGAAAATTTCGTGGTCTCAACACGACAATAAATAATAAAAAGTATTCGTGGTGAGACCCGTGTTGTTTTGGAGCAAAATTCTCAAAATTGGGGTATCACGTTGTCAGCGTCCCGTTTCGGTTTGATCAACAAAAAATGCGAAGTGATGCAGAGTTTGCTGACGGCACATTAAAAAAAATGCCCGCATTTTTTGTAGATCAAACCATAATACGACAGCCTGGCAGCGCCACGTGCGGGGATTAAAACCCGAGCCGCACAGAAAAAAGGCGGGAGTTTTTTCGCAACATCGCGGCACGGGGCGGTTTTTTGTTGACCTTTATCAATAGTCTAGATACTTGCGATTTTTGCAAATTCATACAATCAACAATAAACCGACCGTGGCGCAGGGTTGCAAACTCTCTTTTTCTGCGATGCTGATTTTTTGCGAAATTCACGAAATCAAAATTACAGCACACGTGGTGTCAGTGTCTCTCATTTCGCGGCTTGACCTATGTAGATCTAAAAAAAATGCGGGAGAAGTGACGCAGAGGTCTCAACTGATTTCGCATGGCGCCACACATTTTTGGACAATTCTCGCCGCATTTTTTGTAGAGCAAACCATAACAGCCTGGCGGGGATTAGAAACCGCGCCGCACAGAAAAAAGGCGGACCGTAGTCTAATTCGCAACACCGCGGAACGGTTTTTTACTTGCATTTCAGATTCAAAAAATCAACAAAAAACCGTGCTGCAAGGTTGCGAATTCGTGCTCCGCTCCGCATCTTTGTGCGATGCTGCTTTTTTAGCGAAATTCACGAAAAAAAAATAGAGAATAAAAGTCCATTTACCGATACAAGTGACTGCCGATAGACTTCGCCGATATACATGGAGAGAAGTGTAGAGAGTGAAATGTGAAGTTTATTAGAAAACAATTTTTTAAAATTATATGTTCATGAGGAAGATTTGCGGTAACTGGTAATCGGTTTTAATTGCCTTTTCGAGTATATGAACTATTTTAATCACTTGATGATCGCTAGTACGGCTTTGCGCTTCCCATCTCTAGATGACGGAATCCACGTGGCGATACTGATCGAGTGTTGTTTTGGAGTGGTGGTGCTGTTGGTGCTGGTGGAGGGGCGGAATTGAGGCGGTTGCAGTGGATATTACGCTGATTGGATTGGTGGAGGAAATGAGAGAAATTTGCGAGCATAAATTTTTAAAAAACGAAAGAAAATTCTTTGTTATTTGGGGAGCAAGGCGAAAACGGTGTTTTTTTGGGTCAAAAAGTAATAAAAATTTACAATTTGACAGAAAAATGCGGCACTGAAAAGCTGTTTTTAGGGTCGAAAATCAAAAAAAAAATTTTTTTTTGCTCATTATTGTGGCAGAAAATGGCGAAAATCGGTTTTTTCAAGTTACATCAAAACAATTTTTTTGCATTTTACAGAAAGATGAGGATGTTTTAAAAGTTTAAAAAATTTTTTAAAATTTTTTTAGCGAATGGAAATTTTCTGAAAAATCGTGCAAATGCCTAATTTGTGCAAAAATCTTATCTGTTCAATAATTTTTAGAAACCACCGGTTTTAGAAGGGTAAAAGGCAAAAAACTGGATTTCCAGTGAATTTTATACTAACAATGGGAAAAATTCGGAAATTTTTTAAGGAAAAATCAGAATTTGCAATTTCTACACATATAGAAATTGAGGAGAACTCCTCGGATTGTTTGCGGAGTTACGATAATTTTTTCGGCTCAAAATTAACGATTCAGAGAAACTTTAAAAAAACACAATTTCAGTGAATTTTACACGAAAAACGGAGTAAAAAGCGTTTTTAGGAATTTCCAAGTCAAATTTCCGATCCTGCGATTTCAACCCTGAAAAATAGCGAAATTGAGGAAAATCTCGGATTTTTGCAGATAAGTAATATTTTTTCCAAGTAGCTGATTTCCGTCGCCAAAACCCAGAATAATTTACCAATTCGACGGTGGTGGGAGAGCCCAGGCTCTCGTTGGGCCGTGAGATCCGAGAACCAATTGTGCCTGCAAAAATCGAGTAAACGCTAAATTGATGTTTTCCGCTATTAAAGTGCATATAGAAATACGAAAAAGCAAAAAAGAAAATTTTTTTTAACCCCTGGAATCCGAAGAGCAGTTAGCTTGCGGATTGGACGAAAAGGGCCTAAAACTTCATTTTCCTGAAATTCCTCGAAAAACCCACTATTATGGGTAGTCGGAGATGGCTGATCGCCTCGTCGCTTGTAATATTGCACGCCTGGCCACCGTAGAGAAAATAAATGTAGACTGCACACTAGGATGATGGGAAGAAACGACAATCGGCATGCGTCTGGAGTGAAGAAATCAAGATTTTTCAGAAAATTAAAGATCTCTAAAGGTGTACTACACCCTTGTTGAAATGGCTTTCAAACATGCCTATGGTTCCACCCAAATATCATGATTAAAAAATTAAAATTCTAGAGTTTGTTTGAAAATCGAAAAAATCTCGGTTTTGGGAATGCCTAATTCCTATTTGAATTAGAGAACCGCCAATGATTTGTTCGATGGAGCGCCCTTGCACGTTTTTAAATTTATTTATTTTATTTATTGTTATTTTCCGATTTTCAATTTTTTCCGTGTAGTTTTGCTTGAAAATTTTAGAGAAAAAGTTAAATAAATGCAAATTTCCGATTAAAAAATCCACTGAAAATGCGTAAAACTAATATGCTAGTTTCAGGTTTATTGTCGTCGAAAGTCATTATTTTAACAGTTTGACGTATTTTTCACGTTTTTACTTTTTAGCAAACACATTAATCTTGCTTTTACTTTCCGATAAAAATACACAACTAATGAAGAAAACAGTGACATAATAATAATAATAATAATTAAAATAATTTACACTATTACGCTCGCTGGGAGACATGAGGGAATACAGAATACATTATCATTGTTCGCTTGAACTTGGTAATTGGTGCAGGGATCGTTTCCATTCCATTATGTTGTCCTTGTACTTGCGTTGTCCTTGAGTAGACTCCCCCATAGTGGGCGGGCGATTAGTGTAAAACAACCACGGAATGAAAAAATAGAAGAAGAATAGAATATATTAATAAAAAAAATGAGGACTGCAAGCGCGCTCCAAATAAACGATCGCGTTCAATTGGCGGTAATAGTTTTCAAATAGAGGCAAAAACTTTTTCAGATTTTTTCAATTTTCAAAAAATCATATAAAATTTATAATTTTTTTTTGAAGCTTTTTAACGTGATATTTGGTCACTGTGGTACCATAGGCGTGTTTTAAAGCCCCCACGAGTCCACATTTAATAATTGAAAATTAAAAATTCTACCTAACAATATCGAAAATTCCAGAATCTCCTTGATTAAAACTTTATTATGCCTAAAGAGTCGCGTCCACACGGAGAGCGCAAGAAATCTGAAGAATATTTAGGATTTTCAAGGGAAAATCAGATATCGGTTTTTTTTAGCAAAATACCACAGAAATTGCGTATGGAATGAGTAGAAGAGCCGGGTTGACTTTCCGGGGAAAGTTTCGACGTGTGATACTCGTCTCAGAGAGCCTCATTCCCAAGAATCCGGTTGCGATGCTGAAGAAAATCGATGGAAAAAGTCTAAAATATTACCCCCTGAAACCCTACCTAAAAATCAGAAAATACGAGAAAATATTGATTAAATGAGCCGGCACATAATTGGACCAGCACTCCATTCAAGTTTCGAAACGTTTCGCCGTTTGAAGTCCAGAAGCCGGGAACGGATAGTGGCTCGAAATGCTCGTCGACACTCATTTGACTGGCCCTGTAGAGCCCGATGATGGCAATGGCGAGCATTCCCACTTCCACATGGTGTCAGGCTCTGAAAGTTAAAATTTAGCTTTTAGACGGAGAAAATCGATTACTTTAAGTGACATGAACTTGATCGAAAAGCCAGCGTTACGGGTATTTGCGGTGCAGGCCCGATTCCCGACTACTCGACACAGTATTGGAATTCGAGCGGATACTAACATCTGCCATTTTTTCTCTGAAAATTCAGAAAAAATAAGTTTTAAAACAGAGTCTTAAAAATTAACGGAAAAATTCGAAACTTTTTTTTCCGCCATTGACAATGTGCCTTTAAGGTACCGTAGCTCTTCGTGTGAGACCACTGCGCCGGGCATCTGATTTCTGGGAAATTTGTTTCGAATCCTACGTTCTTTCTTTCTTTTTGTTTCGGTCATCGTTTTTTTGTTGCTCAAAAAATCCAATTTTCAGACACAAAATGTCAGAACGCCAATCCACATTAATTTTGACTATCAAGGTATCGTCATTTCCTCCGGACGATAGATTCGGTGACGGACCTCGTTTATCCAGTTCATTTCAGCAAGCTCTGTACGTGAATTCCCTCCGATTTCATATTTAAAAGAATAAGCTCGTTTTCAGGGAAAAGCGGCCCAACAATGTACGGTGTCTCCAACGCATTTGATTTTCCAACAAACTTGGAGAGGAATCTTGATAATATCGAAGAGGGAAAAAATCTTGAGACAGTATTTATTTGATTTGGGCCCACTTTTACGATCTGTTAACTCCTGATTAGACGTCGATCCAGAATCCCGCCCTGAAGTTCGGTGAAGTCATCCTATGGAACGAATCGGACTGTGATCACGATGAGAGGATAATCCTTCATATCAAACGAGAAAAACCAATTTATGAAGCGTCTGCCAGCCAACCGTGAAATGGAGACTTAGTATGAAAGTCGGTCGCGTCATCCAGCCCACCGACCTCGTTCTGGACGCCAGTATGCACCGTCACCATGCGTATGTTTCTTCTTGATTTTCGTCTCTCTAACCATATAAGTATTTATTTCAGCAGAGACAGAGGCGACCCGAGCGGAGCCAGACGTTTGGCTATACGCCTGGATTCGATTCGAAACTACCATGAAGGTCTAGACCCTTTCAATATGACTGCAACATTCGAATCTTTTGCCAGTTGCGATCTATCCGACCCAGCACGCGTCTGTGAAGCGGTATTTCCTTTAAATTTTGTACGGGATTTTGAACAAATAACTTTCACCCGGGCATGGAACGCAGGCTCTCCTGACTCTAGGAAATTCGGAGTTTGGCGCGGATACCAAAGCCTGCTGATAGCGACGGCGAAATTGATATCGAGCAGAAAGAATGCTGGAACTTGCCAGAAGACAAATGCCGATAAGGTTGCTTTGTGGATTCTCGTAATTAGATTTTGCATCAAGATGCAGCTTGGCCTGTAGGTCGGGAACGCCTACCGACTTGCGAAAACTCTCGCAGTTCGACTTTATTATCCCACTGCAGAAGCCATTTTCACCCGAGGAATTTCACGGACAAGACCTTGATCTACCCAGCCGTCGGAGAATAATTTTCATTTCAGTGCTTTTGGTCGATGCAGCACAACGGTTTTCTGATCTATGAGCTTCAGCCTGTTCTTCTCAGACAGCATGTAACCTCTGTCAACGGAAATTTAAGTTATAATATTCATTTCTTTGTCCAGAACCTAATTTTAATTACGGCTCCTTACCCGCGTCGTTCCTGCCAGTATCACCTGAGGTCTCTTCCGTTGACAATGAGGGCACTCTAGGATTGATTGATGACCCACACCATCTTCTTTCATTCTTCGTTCATCATCTACAGCTGGTTATGTCCTTGAAGGCTATGGTAATCATGAGTGGTTCTTATTTTGAAACAAACGCTTTCAACAGGCCGAAGTTCGTGCTGTTCGAACCTCAGAAAACAAATCTGTCCGTTACCGCATTGTTCGTACATCGGGATGTCCATTTTTGAGGCCCAGGGTCCTTCGTTACTCAGGTCTCTAAAGTTAAATTAAACTCGTCCTTTGCACCCCTGAATTTTTCAGTTCGTTGTTGGTCCAGTCAAAGGAATCACTCGAATCAATGAAGACTCATTTGTGCCAAACATCCGAATGTCCTACTTCAAGATCCCCAATAACTTGAAGGAAGGAATCGCTATTGAGCGGAGGAGTTCAATTCGTTGGAAAGTGACAAGCTGGCGACAGTGAAATTATGAACACCGAATCCATGTCCAGCGTTCCTTGTAAACTCCGGTCTCTGGTGATACGGTGAGTCTTCAATTATTATAGTTTTTATTCTACGAGGAAAATATTCAGCGCTTGTTCCAAGTGTACTTGAAGCCACCAAGCGATCATGGCAGTTGGCGGAGAGTGATTCGATGGGATTGGATTTCAGCCAGATTACAGTTGGAGACTCCTTGGTAGAGGAAAGTGAGGGTGTCAGCATGATAATTGTAACTGAATTTCGAGTAAGGTTCCTGGCATGGGTGCTCCGTCCATTACTGGCTTATCAAGGATTGCCGTGGCTACCATCATGGACGTATGCTCGACAGCCATCTGTCCTCCGTTGATTGCGATGAGTATCGCCGTCGAGCAAGAGCAAGATCGGCCAGAACTACGCCAGCTGGTAGTTCCATTGAGAGCATCAATTCAAGCACATCAAGAGCATCTGCAGCTACTTCGAGGCTCAAACGTAAGTTTTTTTAAGGTTGGAAGATGATAAAAACAAGTTTTTCATCGATTCGTTGGCACTTCAAGCAGAATTCCATCTGGGTACTAAAGCTCAACATCTTCCAGGGTCTAATTAAATATATACGCATCCCGTTTTCCCCCGTGGGTTTCAAATGTTCTGCTCATTTTTAATCTACCCGTTATCCAACAAACATATGTTAATTTAAACGTCAAGTTCACCACCATCCCATTCCGCACAACTTTTCTCTCGTAATTTTCTCTTAGTGCTCAAATGAAGGAGGTAGGTTATTCTAGTGAATATACCCATGTTAAGCCGCGAATACATCCAGAAAGTCCCGGCATCAAGCCGGGAGATACTCCCGCCATAATGATAGTTGAACGGTACATCCAAGATAGGGTAGCATCGCGATAGACGTGAGCAAGTTCGTTATGCACTTGAAAAACTGAAATTTCAGAAACGAAGATTAGGTGATCGGCAGAAGGTTAAAAACAAACAAATGAAATATAGAAACGAAGACAGTGATCGACGTATTCCGAATACGAGAAGCCATTCCCGGAGATACAGTGATAAGAATCTGATCGAGAACACAATGAGCACACTACCACCGGGAACATGAATTCCATGGAAACACGGAGACAAAGGTCACAGTACTGCAAAAAATGCGAAATTTTTTTGCTTTAAAAAATGCAGCACTGCCGGGTCCCACCACGACAAATTTGTTGTCAGTTGACCAATAGAGTGTGCGCCTTTAAGGTACTGTAGTTTCAAACTTTTGGCAATAGATTTTCCACAGTTTTCCCGTGAAACAAAAGTTTGATACTACACTACTCCTTAAAGGCGCACATCTTTCCGCATTCAACTAACAAAAGGTTGTCGTGTCGAGACCCGCGGCCACTGCAATTTTCGTAGCAGAAAAAATTTGAAATTTTCAAGTCTTGAGGATAATATATAATAGTTTTACCTGAACAATGGGAATTTGCATTTACAAACTATCCAGACAATCGCTGAACCCGAAAGTATCACTAATAACGATCGAAAGTGTCGCGGAATGTCACGTATCGATTGGTAGATCATGAATATGTTGCCAAGTAACGCGAAAATCTTGAAAAGTGGGGGATTTTGCTTTTAAAAAAGCCAAAAAAAAAAACTTAAATTCGCCAATTCCCAGTTTGAATTCCCTCCAAAATGAGAACTGCAGGACCCATCAGCGATTTGAGTGGGCGGAGTCCGAGGGCGCTGATTGGTCGTGCAGTTCTTATTTTGGAGTGAATTCAGCCAAATTTGAAACATCTCGTTTGTTTTGCAATTCTTTTGTGTTATTTTCGACATGGGGTTCATTCTGGCTTTCCTCATCAATGGTGTAATGTCGTATTTAAAACGGGACAACCGGGACGTTTTTATGAAAACACTCAAAATAGAACGGGAGTTACAAACTGGGCGGTTAGAAAAAAAGATAGGGCGTAAATTTTAGTGTATTCGAGGCAAATAAAAAACTGCATGTTTCCAAGTCATTAATCTGCATGAATTGATTAAACTGACTAAACTCACAAACAGAACTTTAAAATGTGCAACTGTAAAATCATGAGGTATAGAAATTGTCCCGTTATCCCGTGATAATTTTGAGAACGCAGCGGGACGTCCCGTTCCCGTGAAAACACTCAAAAAACGGGACTACGTGACAAACGGGACTCGGGACTTGACACCCTTGGGCATTCCTCATTAAATCACGCTCCATTGATAATCGCCCTGGTCGTGTACTCCACACGGACAAATCACATTTAGTTTTACCGAACTAAAATCGAGAGAATTGGCAGAGTATTTGCCGCCTGGCCTACGCCCGGCAAAAACTTCCATGGATTCAAAATATGGGCGAAGCCAGAAATCCGTGATATTTTCAGCACATTTTTTTGCTTCGAATCTCAGTTTCTCACCACAACGAACCACTTCACATTCGGTTGCCGCCCCCTTCGAAACGTGGACTTCCAACTGCATTCACCGATTCGACACTTAGCTGGTACTGACATCATCATATTTACCAGCTCATACTCGAACTCCGGAATATACGGCACCACATAAATCGGTGAATGGCTGGTTCTGGCGGTGGCGGCTCAAATGACACTGTTCCTTGATCTAAAATTTGTTTTTTTCTAAACAATTGTCACTACCAAATCAAAAAAAAAATCTTACCAGAACTCATAATTTTTGGATTTTAATTTCGTAAATTGCAAAACAGAAACTGTATTGGAATTTTTTCGCTTTTTATTTATGGGAGGGGGAAATTCTTTGTTGTTGTCAATAAAGTAAAACAATTACAGTAAATGCCAGTACAATAGATTTTCACGTGTAATATATTAACCAATTACTATATTTTCAATAACTCTGTCCTCTAAATAGGTAGTTGGGGGGAAGGTGAGGGAAAATGGAAATAATGAAGTGAACTGTTTTGCGTACTTGCGATAAAAAAATCAATAAATGGGAACAAGCCGATGATAAACTGATAAACGTGAATATCGAGAGAGGGAGGAAGAAAGCACGTATACCCGTTAATGAAATCAAGTTAATGGAATTATTTGGTTTGTGAAACAAAACAACGAAAATGAATATCAATGTTTGAGCATAAGGAATGAGGGAATGGCACTCTGGTGGTGGTGGATAAATGAATCGGGGGGAACGGAATCTATGGAAGTCTAGAATACATCGCATCGAGTTTTCGGGTGAGTAGTGATCCTTCAGGTTCGCCAGACGCTTGCTCTTTCCACGTTCGCGTGAGAAGATCATTCTCGACGCCGAATTGCTCGGAGAGACTGATATCGCGCACTTGCTGGAAAGACAAGAGCCGGCTTCTTGCCAACAACCATGTCATCGAGGATCGCCTTTCGAGTTGGTCGTTGTTGCACGAAAGCTCTTCGAATGATCCCTTGATTCCTTGGTCGGCGCAACATCGCTGGGACGAGCACCTAAGGGAATTGAAAATTACATATATATATATATATATACACTCCTCAACGCCGAATAAATATTAGAGCGCGCTTACTGAGCTTCGCGTTCATCCGCGGCATTTTTGACTTTACACTGAAAAAAGCAGATATTTCAGATTTATCGAATTTTTAGCTTTGTTACAATTTTTTTCATTTTTCGAACACTTTTGTTAAACAGTGAAAACTGAATTAAAATGACTAAAATGAACTTTTTTCGTTCACTGGTTAAGGTGAAATGGTTGGAATTTGAAGAAATCAAAGGGATTTTTCTGAATTTTGTAATAATTTTCTATTAAAAATCGGTTTTAAACCATTTTTTGACCCTAATGTCACAAATGTAGAAACCGGTTTTTAACGGAATAGAAAATCTTTAGAAAATCACAAAAATCCCCGTTGATTTCTTCAAATTCAAACCAGTTCACAACCAGTGGACGAAAAAAGTTCATTTTAATTGTCATCAAATTCGATTTTCAGAGTTTAACAAAACGTTTGAAAAATGCAGAAAGAAAATTTTAAAAGCTAAAAAATCGATAAGAAAATATGCTCTTTTGAGCTGGAAAGTCAAAAGACCGAAGATGCAGAAATGCGAGGCGCAGCAGAGGATCGCGCTCTAATAATCGGCTTTCGAGGAGAGCGTGATATAATATATTTTTTTTGAGAAATTTTGCAAGTATGTTAAAACGAAAAAACCAACCTCAGCATCAGGTACAACAATAGCAATAAGACGTCTTCAGGCTCATTCTTCATCAACAGATGATTGAGCGACATATTTCGAGCGGACATACATTTTCTCAATCTTCCCGGTGCCACGTATCCTCCTTGCGAGAGCTTGAAAATTCTTGCGATCCAAAATTTTCAGCGTTCCCTCAGGAGTCCATCGTCCAATGTCTCCAGTATGCAACATCCTCCTCGATCGTCTCCTTCGTCTGTTGCTCTTATAGTATCCCTTGAAGACGATGTGTTCCTTGCGAACAGACACCTCGCCGGCTTGATCCTTCGCGTAATAGTTCAACTCGGGCACGTCGACCAGCTTGATCTGACACGATGGGATTACCATTCCGACGTGTCCGGCTAGCGAACTCTCCTTTCATCGAGACAGTCCAAGCGGCGACACATTCCGGTTGACCGTAACCGTCGACGGCGACCCATCCCATACGAGCGGCACGAACGAAGGTGAGCACATGCGTCGAAAGTGCGATCGTGATCATCAGACGCACACGCCCTCCGAATCCATCGCCAATCTTTTCGAATACCAAATTGTCGAAGAATCGGCCCCGTCTTTTCTGATATTGAAGCTGGAAAAAAAAAGAAGATATTAAATACTATCAAATCATTCAGATCTCTCATGATGCCATATAGTCTCTGGCCTTGTATGAGATAGCGAACTCAAACAACATCTTCTTCAAAGTACTTCACTTCCGACATCACTGATTATCGTAAAGCCGATTAAAGACACGAGAAATCGGGCACCATTGGCACAGTCGGCCTCAACTCTTTGATATCCTCGGCCAACACACGTATGTGGTCACCGCGTTGGAATCCGACTTTCGCGCCGACACAGAAGCACACACTCTCGATGACTCTCTCGGAGCGTCATGTGAGCCAACGGAAGGAAGCTGATCATCGAATCGGTCGCATGCCACTGTGCTTGTAGAAGTCCATACACACACGTCGGCGATCACGTTCGCGTGAGTGAGCATCACATTTCGGTGTTCCAGTCGTTCCTGACGTGAAGCATATGGTCGCAAGATCCTCTGGTGACGTTTGGTGGACTGTGTGCTGAACGAGTCTTGCGTTCTTTCCTGTCTCGAGATCAAGTGAGCACCTCGACTCCGAGACGATGACGCAGTCGTTTTGAGCTCCTCGGTGACTGGTTCCATCAAGCGTGCTCAAACTTGGGCATTGCTCCTTGAACTTTAAGAGACCTGAAATCAAATTTCCTTTTGGTTTTAATTTCCTTATCTAAACTCACCAGTGGCCTTTGAAATATCATCACAGACAACTTTCGAATCTTGATCTCTGCCTGATTCAAAATGAATATCCAACCGCTTCTATGATCCAAGGGTCTCGTAGATCGGCACAGTCTCATTCGAATAGTTGTAGGTGATTCGGTGATGATCCATTCGGCGCAGAGTTGCTTCGATTAGATCCCAATGTTCTCCGCCGTTGCCAGTCGGAACGCCGGAGCTCACGGAACGCGACGGACACTTTGTCGGCTGGCTCAGAATCGTATTGTACGACTCCCACACGTACGAGATTGAACCATCCGACTGTTATGACTCGACGTCCGAACATCGGCCCGGTTCGAGAAAGGGGCTCCACGGCGAACGACCACCCTGGTAGAGGGTGCGCGCGTCTTCGAACAGGAAGCCTCGTCAGTTCGTCGTCCTTCAGGTGGCGCTGATGCGGGTACCATCCTGGAAATTAACATTCTAGTCGGGGGGTTTTTGTAATTTTTTTTTCGCTCTTTTTCTATTGTAAACCGAGCCACGACGCGACACGCCGTAAATCTACAAGCCCAAGTGGCCTAATTCGGCAAAATCTTACATTTAAAAATATGGGAGGGAAGACAGAACTCCATGATTTGAGAATAAAGGAGGTAACGGTTCGGGCGACGCCATTTTGAACGCTCAGTATCGACATGAGCTCAACAAATGAGATCGTAATGAAACTGGTCAAAAATTTTTATGGCGGTTCAAAATGTTGAAAAACCTAAGTACACTGATTTTTATCCGGCTAAAATCACGAATTTTCCCATTTTTCCGTGTCACATCTGTTCGAAGTTGGATTATTTTCTTGGAATTATCGTTTTTTATTACTATTTTAAATTGGTAGTTTATCTCATTTAATGTCGTCGATTAAGTACTTTTAAAGCCGATAGATAACCAATTTCGATATTTCGGGTCACCTATCGGCTTTGATAAAAGTACTATAAGACAAAATTAAATTAATTACCAATATAAGTAATAAAGGACATTTCAAAAAATCCAATTTCGAACAGATGTGACACGGAAACAAAATGAGAAAAATTCGTGATTTTCACCAAAAACAGTGTAATTTGTGCAAAATTTCTGTGAACCGACATAAAAAATTTTTGAAAATTTGTGGATTTGAGCAGCTTCATTACGAAATTCGTTCATTTGAGCTCATTTTTGGTCTATACGTTCGAAATTGGAACGTCCGAGCCGTTGGTCCTCCTCTCTTTAAGTTTAAAAAAAAAAAGACGGCATTATTTTGCCCAGTTTCTCTCCAAAACTCACCGGCAAAATGCGACTCTGATTCATAGGATCCGTGGCTGACATTTCCCGAATAGGTGACCCCTCTGAACGAGTAGGATCCCGACGGTCGATGACGAGCTACAAGTAGTATCCGAGGCCCTTGGTGACTGCGGCGGCGGCTCCGATATTTGAACGTCCGGTGGAAGGGAAGAGTTCGAGCTTGGTGCCGAAATGAAATCGACAATACTTCTGGAACTATTAAATTATATATAGAGAGGACGGGTGATGATGAGTCATCCAGGTTGTTGTTGTCGCGCTGTGCGCACGCCCGCACTGATCCCCACAAAACAAGACAACTTATTTGAAGTTACGAAATCGAAGTTTCTTTGTTATTTTATTTTTCAAGATGGTTTTGGTTTATATACCATGTAAAAAATACCTAGGGGTTTTTTGCGCGTTTGGACTCAAGTAGAAATGTTGAGCCTTTTCTGAAAAGTTTAATCCGATCAAAATTTTGGAAAAAGGTGAATTTTAGCGACGCCGTGGTTTTTCGAAATATTGATCTGCCATTAAAGCCCGTGGTGTAGTCAAATTTTTTTATTGCTTTAATTAGCGACGACTCAAAATTGTCCTTCTGTAAAGAAAACACAATTACCCTTCATAAAAAAACTTAAATGTAAAATTATCTAAAGTTTGAAATTTGACCGTGGTCAAGCGGCTGGAAACGTTTTTTTAATAATCGTCAAATAATATACAGTGCAATGATCTCATTGCGTTTTCAACTTTATTTAACTTTAAAGTCATGAACGGCGAGATTTGTTTTTAATTTTTCACCTAGAAATCTCGCCGTCCATCGGCTGTAAAATACCTAAATGAAGTTGAAAACGCAAGATAATTGCACAATATACTCAAAATTTGACGTGTTTTCAAAAAAAAAAATACTGTTTCCACCGTAGCGGCGACGTCGGTCAAATTTCAATTTTAACTGAATTTAGGCCATTCGCTTTGTCATAACTTGTTTTGAGGAGTTTTCAAGAAGTTTCATTATGAAATTCGGTGTTTTCAGACAATTTTGAGTCTAACTATAAAAGAATCGACTACACCACAATGTCAGATCAAAGTTAATTTCGAAAAAACTCGCGAATTTTCGCTAAAATTCACTTTTTTTCCGATCGGTAATTTTGATCTGCCATTAAACTTTTCGGAGAATCTCAAACATTTTGAGGATAAACGAGCAAAAACTAGTCATTGTTTGAGTTGCCAATGGTATATAAAACATGAAGACCATCCTGTGAAAAAAAAACAACAAAAACACTTGAAATTCGCAATTTCATAAGTTCTCCAAAAGGGAAAACATACACACACCTCGATTGAGACTGTACCCACGCAGCCGAGTCTGTGATAACCATTTTCTGGTGTTTCTGTGTTTACGTGGTTAATAGTCTTCTGACAAAAGAAGACATGAAACCGCTTCTAAAATGAGATTAAATTGAGGAAACGACGACGACGCAATAAGAGGTGCAAGGAGTGAGGGTGAAAATCGAAAAACAAAGAAGAGATCAACGTTATTCCATCTTTAGAACTTTCTTCACTGCCAGCAATTGTTAATAATAATAAGGTTTTTAGGTCGATAACTCTTTCGGTGATCAATACAAAAAGGGGTGAAAACCCGCCTCGACAAGCCTTTCGATCAGGCCAATTTCTTTATCACACTCTCCGCAGATTTAGGAACAAATTTCACCTCCCCGGCAAGGGGGCAAAAGTTTCGAGAAGTTGTGTTGCGCGCGAAGGGGATGGAGAAGATGGAGAAGATAGGCAAACACGTACACCTACTCAAACAAGTAGTAGTGATAATTGATTTGATTAGTGATTCGGGTGGGCAAAAGGAGCGAGAGAGAAAGTGAGAAAAAGCGAAGAGGGAACACGTGTAATCAACAGTGTGCCGTTCACGCCCTTTGGACTAATGCAGTTTTTTTGGTGGAAATTCAATTAACACTGAAAACTAGTTTTTAAGTGTTTACGCTGTAACGGGCCAGGTTTATGAGGCAAAACGATTGAAGAACTTTAAATGTGGGGTCCGAAATCTGAAAAATATTTTAAATTGACTCCAAAATTTCCCCTGACTCCGAAGATGCGAAAAAATTCAAAAAAAATTTTCCTGACTTTATATTTAAGCCTGAAATCGCCGAATTTCATTTAGAAATTCGCATTGGGGACAAGCGCACTTGCATGGTTCGATTTTTTTTCGTTTAGTTTATTTATTTTCGCCGAATTCAATGTTTTTGAAGCCATCATTGACCATTTTTGTCGAGTTCTCATGGAAAATTTTTTTGAGAGAAATTACATGAAACTGACTAAAAAATTAAATTCGGCGAAAATAAGTAAAATAAACGAAAATCTTCGCAAACTTGGATGCAAGCGCGCTCCAATGAGAGATTTCTTTGGGCGCTAGGTTGAAAAAATGGGGGCACGAATGAAATGTCGGCGATTTCAAGCTTATATATAAAATCAGGGAAATTTTTGAATTCTTTCGCGATATTCCGAACCAGGGAAAAATTTGAAATCAATTAAATATTTGGTTCAGGTTTCGGTACCCCGCCTTTAAAGGATTTTTTGGCTTAAAATTGGAAACTCTTGGTTAAAACTTGTAGAAGAGTAAAACTGTACACGTTTTAGACGATTCAAAAGTATCCAGGGAAGTATGCAGAAGTTGAAAAATTGCGAAAAACAAATAAGGCATTTTCTCAACGCGTGAATGCTTAGACTGAAAATAGTGTATTTCTTCCAATATATACGAAAATACGACTCGCACTGGTTTTCGATCGATATTTATAGGTGGAGTTGCTATGCATAACATTCCGGAAAAACACGAGATTTGAGGAATTTGAGCAACTGTAAAGCCAACAAAACATTTTGTACAATTTTCTTGTTGGTCTTCCTCAGAAAATTATCAATCAAAAACCAACTGACGCAGAAATCGATATATTCTGCTAGTTTTAAAAAAACACATGATTTTTAATCAAAAATTGTTAAAGTCATGCAATTTTCCTTCAATAGTTTTATACGAACTATTTTTTCTCTGGAATTCACATGCTTTAAAGCAAACGGCCGTTTCTCAAGCGGTTGTTGGCTTCCACGCGATGCCATAGAAACACTGGGGCACCAGAGAAACCGGGGTCGAAGCAAATGACCAAAACAACAGACGTATGTGAGCTTTCGTTTTCGTCTTCTCGAGGAACCACCACGCTGGGACTACAACTACGATTGATAACGAAAAAAAAATAGAAGAGATGATGATAGTTTTTGTAGCAATAAAAAGAGTGACAACAAGATACACTGTATCTCACCCACACCTTGCCGTACTTCTAACGCAGATAAGGAAACCTAGTAAGATTCGGGGGGTTCAAAGTGTTGGAGCCAAAAACGGAAGCCTTAACGGAGGGAGCAATTGTTCGTTGAACGAAGAATAAAAAACCATCATCTGCGTCTCAAAAATCACGAGATGTAAGTGAGCGGGTGGGTGAGTGAAAGTGCCGGGGAGTAAAACAAGTTATAAGACACAACGAGCGACGTTTGGCCGCTGCTGCGTTTCCTCACTCTCTCCTAGTGGGCGTGTGGGCACACTCACATGGAGCGCATGCAAGGGTGTATGCGCAAGTGGTACATCGACTCGGTATGAGAACAGAGCACAGTAGGAAGGAGCTCACGTGTTGCTCCACTACTCAGTGTTGCGTACCGTCTACCCATCTGTGGGCCACCGCGGTGCAAAGTACCGCACAGTGGAAGGAGGAGAGTTGAAAAATTGGTTTTTACATCTAGAACCTCGTTTTCCTCGGGATTTTGAAGAGAATTGGTTGACTTCTTGAATTTTAGTCGCGAAAAGCGCGGGAAAAGTCTAAAAAAGATGCGACGAGTGAATTTTAGGGCAAAAATGAACCGACACAAATTGCTTATGAGCAATCGGCTTCTCGATCGGAAAACATATCACAGAAAAATCGGAAAATCAGCAAAATTCGAAAATTATGCAATTTTCTAGAATTCCAAGCGAAATTTTCTAGAATTTGAGGCAAAATGATACGGAAACCAACGGGAAATCCAGAAGATAAAAAAATCTATCGTCGAATTCTAGGTAAAAAGCTCTGTGAATTACTCGATTCTCCGTCTCATGGGGTAGACTCAAAAATTATGCAATTTTACCTTTCTAGGCGAGACATCGCAGGATCGCCTACACAATTTCCGGAGAACGATGAATATCGGCAAATCTGAAGTAGGAGAAGGAAGAGGCTTCGGATCAGTTTTTCTGAAGAAAATACAAAACCTTCGCTTTCGCAAAACTTTCGGGAAAATTCTCAGAAAAGGCGCTAAATCAAAAGCTCAAAAAATCGACGTACGATTTGCGACGGAAAAAGCTATCGAGTAAAATATCCGAATTTCTGTTTAAAACTGGAAATTGCCCAAAAATCCGTTTGTTTTCGCCAAATTTCTCCTATTTGGCGGTCACAAGGCGAGCGGGAGCCGCCCGAGATGAAGAGCTCCACAGAGCCCCTGTGCCAACAACACACCGGTACACTCACCCAAACATATTGGAATTCTCCTGAAGGAAAACGTCAAGGGTACGACGACCGCGGCGGCGACGGTGCCATTTTTCATGGGGAAAAGAACCTTGATCGAATTTGTGATTTATTATAATCGAATTTCGCTTCTATGCCACCCCAATTACGTGACCCACCTGATTAGGTGCGCGAGTATTTCAGTGCGGTCGGCCGATCCCCCGAAAAATGGAGAAGTTGTCTGAAAAATGCGAAAATTCTATAAAACGACGGAAAAAGAAATGAAAACAAATAAAATGAGGCCGAAAAGGTGAATTAGTTTATGCAATTTTAGAAATGTGAAATTGTGGCGAGATCGAAAAAAATGCGAAAAACACGAAAACAGGTCGAAATTTCGCAAATTTTGAACGACGACTAAAATTCAAATGCACAACGTTCGCGCGTTCTCGCGCCGAAGTACGGTCGGTGAAGCCCGCATTTTTGCGCGCGCGAAATTCAAATTTTAATTTTTAATATTTTTTCTTTCTTCTTTTCTTTGATTTTTTAAGAATTGCAAAACGTTCAATTCGTTCATTTTTCGAATAAAATTGTTAAAAAAGACGAAAAAAAAAAGAAAAAATAAGACAAGTTATCGGTGCAAATAAATGCAAGTTATTGTTCGGGAAAAAAATCACAATTTTAAGTGCAAACAGATTTGTAATAAGATCAATCATTCTTTTATTTTCTTCCAAATCCCGACATGGTTTTGGGCAGCCGATCATGCAGCAGCGACCTCCACTCCCCCGAGACACGCCAACGACTCGCCGGTTGAGATGGCGAGAGGCACGAACCAAACGACCATGACCTGGAAGAAAGTGTGTGAATGTTAAGGTCTCTGAATATTCCAATAAAATTAATTGGTTTTTTTTTACCGGTGTTCTTGCCAGAAAAGCGCAAAAATTAATTAAAACTCTAATCGTGGCGAGACCCATCTTCTGAGAAACGAGGTAGGTATGCGCCTTTAAAATTGGGCTACCGTAATCGAATATTTGCATGCAATTGTTCTGATTTCCGAAGAGCGAACAAGAAAATTTGATAGAAATGACACATGAATTAGGTCATAAAATTTGCTTTTTTTTTAGATTCATATAATTCAGATCTCTATTTTGGACACGGAGTTCCATGACCTTCCTCATTGAATTTTTCGCGCTACATTGACAATGGCCTGCCGGAAACAACGTGGGAAAGTTGTGTCCTCCATGCACGGACAAATACATTTAGTATAACAACAAAAATCGAGACGCGACGCGACACGCAACGCGCCGTAAACCTACCACAGATATGGCCGAGCCCATAATGGCCTAGTTCGGCAAACTCTTCCATTACAATTGATCGATGTCAGAGTGTCACATTTCAGCTTGATCTACCTAGATCTACAAAAGCGGGAATCATACGTAGAGTTCTCAACTGCTTTCGCATGTTAAGTACGCTGACGTCACAATTTTTTGGCTAAAAATTCCCGATTTTTTTGTAGATCAAAAAACTGTGATGGGACAACCTGACACCACGTGATTTATGAAAAGCCGGAGAAATGTCATTTGGCGAGCACAAAAAATACGAAATTCGGCCACTGATTCGCGGCCACGAGCCAATGTGCCTTCACAAGACATTGCACAGTTAATAGGGTGATACCCACAAAGGTAAAGGCGCATGCTGAGCATGACTGGCCAATCTAATAGCATCTACATTGATAATTGAAAAAAGAACACACAATTCTGTTTGGCAACGTTTAGCGACGAGTGACATAATTCTCGGAAAGCTTCAGCTGAACAATTTGAGGGATTACTTAACTTCCTGTTTCCCATCGCTTCACCGTCTTAGATAGTGCCATTGCCGATTGGCAAAATGGGATCTGCCCCCAACTGCCAGTTGAATAGGATTGTCTCTCTGCGTCTATCGGTTCTCCAAGATCTTGCGGCGGTGAAGCCGTGTGTGTGGGAGTGTGGCTCCTTCATGCTAAAATGTGTAACACTGCGGGCAACGCATCCGATTGGTCGTGTTTGGCAGCGCACGGCGGGAAAACGAATCCGGATATACTACATACACAAACACACACTCACACACACCGAAGGAACGTTTCCGAGACACCTGAACTGGAGGACTTTTTATGATTTAAGTGTTTCTGCTGCCAGCAGGATGTGTGTGTGTTGTCAATAGGATATGCTATTTTAGTCCACATTAAAGTGATGAAACATCAAACCGGGTAACTTAGTCCACCCAACACTCTGTGAGCGATTAACCCTTTAAGAGTGCACTTGCACTTCTAGGCAGGATTCAATAGAATTGGGGCCTTGGAGCCTAGTCGACTTGCGATGTGAGAGGCAAGGTTGGCAGAGCTAGGATAAGCTTCTGTAAATGTAGGTCTGTAACAAGCAAGGATCTCGCTCTGGTACTGTAGCGAAATTTGAGATCAAATTAGGTTTTTCAATATTTCCAGTAACTGGCACTGTTTCCGGCCCAGATCTTAGAAAGAAAAGAAAAAAAGTATGTTAACCAAGGCGTGGGCGGCAAACGATTCCGGCAAATCGGCAAATCACTAAGTGAATTTAAAATTTCCGGGAAATCGAACTGACACTTTACGCCAATCTGCCGAACGATTAGCAATTGCCGCCCACACCTGATGGATACGTATATATGCTTTCACTCTTGTGGTGGCAGATGTATCACTGCGGTTTAATGAAAAATGTGGGAATATTTTTACAAACTTGCGGCGTCAGCACACCGCTCCAAACCACGCAAAATCAGATGAGATGTATGCGTCTCTTCCCGCAGATTTTTCGAGGATCACAGCAGAACTTTCTAACTCCACCTGTCTACTGAGAAAAGAGCCAAGAAAGCATATTTTCCTCGTATCAGGGATCGGAATCCCACGGCTAGCTAGTTGATCCTATTGCATCATTGAAGCATCTGATTCTCCACTTTGTTCGCTTTAAATCGTTTCAAACTGAAAGCGCTCTCAAGGCCGTCTTCCTCCGATTTTCCGATCATCCTACCTTTTGTTGATCAACACGTGCCCGGCGATCACAACACTGTTCAACCGGAATATCGTGTGAAGATGTTCCACCAAATGGATCGTTCGCTTTTTGGCTCAGGACGGAAGAATGTGTTACTAATTTCCATAAAGTCTGTTCTGTTCTAAAAGTTATGAATCTTCTGAAAAAATTTCAATCAGACTTAGATCCTGTCAATACATTCATGGGGAAAGCAGTGGAGTCGAAGATTTTTTATCAAAATATATGGCTACGTAGTCAGGGAGAGACTGGCTCCTTTGTTACAATATATTAGGTTTTGTTCCTTAAAATGTTCAAATGAAGCTGAAGATTGGCTAAAAGTATATGATTTTTCAATGATTTTTCAAAAATTTCAAGGTATAAATCTACGGAAACTAGTCAAATTTAAAAAAGAAACTAAATTCGATTTTGTTTGTTAGTTTGTTAACAGACAGAGCAGTTATTTTGATAATTGTAACCTGAACTCTATTTGTCTAGTTGACATCGTGAAGTAAGAATGTTTTAATGTGGCATTTATTGAAATTTAATTGTAATAGAATATTTTATTATCTAAAAAAATAGAATTGGATTATAATGTTAATTATTTTACTGTGGAAAAGATCAGTATTTTGTGATAGTTTTAACCTAAAGACATTTCTGAAGATCGTTTTTTGTGAGAAAAAATTATTATAATATGTGTCATTTAAAGCAAATTTTAAAAAAGTGCGGTCTAGAAATGTTCAACTATCAAAAAAAAGTACATTGGATTTTGGTGCCAGTCAATTTATCAACAGAAAAAGTTGAGGGTCCTAAAATAATTTCCAAACTTATTAATGCACGTGAGCATGAAAGCTAAACACTTTTTTGGGATTTTTTGCGCAAATGAATAGTGTATTTACAGAGACAATGGTAGATCAACTTAAAAGAACAAGAAATTTGCAATTTTTCCAGGTAGGACACTTTTTACTCGAATATAACTAACCTAAAATAATTTCCAAAAGTTTCAATGGTGGTAGCACAAAAAAAAACAATTTTTTTGATTTTTGAAATGAATGTAGTTACAAAGACGGTGGTACATTGACCCAACAAAAGTAACGAAATTTACTACTTTTGTCAGGTAGGAAACTTTTTTGCTACTCGAATATAACTAACCTAAAATAATTTCCAAACGTTTTTGTTGGTAGAATGTAAAATAACTTGTTCTTTTTTGGTTTTTTGAATAGTGTAGTTACAGAGACAATGGTACATTGGCCTGAACAAAAAATTTAGTTAGCTATTTCTCCATTTTGACCTATTGGTCCCCTACAAATTAGTAAAAGGACCCACAATCCAGTTATTTTTGTCGGTGTTTAAGCAGACTACAACCTTCGAATTATTTTCAGAACCAGATGTAAAGATTTTAGTTCGGTGCTGCAAAAACCATCAAAAAATACCAAATTTTTCGGCCTTTGTGAAGCACGGCAACGAGCAATTTTTGAGATCGTCTTTGCCAGCTGCACACCCCAGGTACAGAGACTCACTTTTATATCACGTGAACGAACAAAAAATTTGCAATTTTCTCACGTAGGCCACTTATTTACAGCTCTAATTTCACACACCTAAAATACAAATGTTCATCCTACCCATATATGTAGTAAGAATATTTCAAATTCAAATTTTCATGTACAAATCAACTCGTCGCCACCGTCTTATTGTTTCCCTGGATTTCCTGATCTGACCTTGTCACTCCACGTATGTTTGTCTTTGTGCCCACCTCTCGTGCTCACCTTGTTCCAAATTCTACCGTGAAAACTCATCTGAACGCCATTTTCGTATGTCCTATGAGTTTTTCGGATGCGAAACTTGGAAAAACGTCAGACAACTGCAAATGACCTCCCGGGCGTCGCTGAGAATCGGTGATAGCCTTGTACTGCTTAGATGAGACCAGATACAAAGTGCACAACAAAAAACAAATTCGCTTGAGAAGCGCTGGCGAGAGATTCGAAGCGAAAACGAGTTGATTGACAATCCGGAACATATAGACACACCAGAAGACAAAGTGGGGGAAGAAAGGAAACAAAAAAGATAGAGAGGAAGGAGATTTTGAAAAACGCCAATCTCTCTGTGTGTGGGCACTGGGTGACAGGTGAAAAAGTGAGAGTGAGAAAAACGTGGTGGGTACTGTATTGATGAACGATCCAAGTTGCATACTCAAATCTCGTTGATTGGCTTGTGTCCTGGTCGGTTTGATAGAAGGTGAAGTTGGATTTTGTTCACTGAATTATTGGATTTCGAGACATGAGCAAGCTAGGGTCAGGATGACTGTAGTGGCCGGCTAACATTCCGTACACCCTTTGGCCGACTGGTGCGTGCAACCAGGGCTAGTAAGGAGGTACATCCTGACCGTAAGCTTTTTAAAATTCTGAGAACACCCTACAAAAGATATTTGTAAAGTTCTCCAAGACAGGTGCTAAAACTTCTGGAAAGAGTAGCTTAGAGTCAGAATGTATTATTGCGATCTGATCTACAAAAAACGCGGGAGTTGAGACGCAGTATTAAGTCTATCTCATTTCGCATGTTTAAGGTAGCGTGCTGAACAATTTTTAACAAATATTTCCCGCATTGTTTGTAGATCAAACTGTAATGAGACAGCCTGGCACCACGTGGGTAGGTGTCGGGATGCACGTGGTGTCGGAGTGTCTCATTTCAGCTTGATCTACTAGATCAACAATCAGAAAACAATGCGGGAGACGAGACGCAGAGTTCTCAACTGATTGTGCATAGGTAAGCTCGCGCTGACGTCACATTTTTCTAGCAAAAAATTCCTTTTTGTAGATCAAACTGTAATGGGACCCCATGGCACCGTGGGGATGCATTAGTGATGTAGATAAACCTTGAACAATAAATATACATTAATTTCGTCATGCTTGAAACTTGGACCCAAAAACAACTATCTGTAACTAGAAATTCTACAAACAATGAGTTTGCGACTTAAAGCTGGAAGTATAAAAGTTGCGCAAAAAGAGACCTGTGGTCGGGCGCTACCACCATAAAATTTTAAATTTGCCGGTCCCCACACCTCGACATCAAACGTGCAAGCCGGGCAACTTGGTACATCTAGTTCACCAGCACTCCAACTAGCTTCCCAGAACGCTAAAAACATTGTTAAATTATTACTTGTTCAGTACATTTGTCGACTCGACACACCATCACCCCACCTAAACCCAATAAGGAAGTCGATATCTACTCATTTTAGGGACCTTTTTTGCCGCTTTTTATTGATTTGAACAAAAACTCAGCAGAGAAGTCAAAAATTGCCAATATCCAATTTTTCAGTTCCCAAAGATTGTGAGTTTCAATACCTACTAAATCCTCCCGTTCCGCCGTTCTTGATATTATCTCCATAAATGTCCGCTTATCTCCTCTCTTGTACTAAACTAACGTTCACTTATCCACATAATAAATACAATAAATGTATAATATACAAGAATAAATACTACACTATATATAATATATATATATATATATATATATATATAAGTATATAATATATATATGTATATCTATCAAAAAATCAAACAGGATCTCTATTTTCCTCCAGGAGAAAAAGACGATGTCAGGTTGTGCGCAACAATACTCTCACTCTCAATACCGCGACGACGTGGCATACCTCCCCCCATCCTGCCTTTCTTCCCCGTTTCTCCTGATCGAAATTTCCAGCAGCACACCGGAACTTCTTGGTTGGCATGTGAAGCCGACGTGGATCGTGACGGTGATGATGTGGCGGATTGTGATATGGCGGAATCGTGTTTTTTATCCGGCGAGTACTGCGAGAATTGTCTGAAAGAGTGGCACGGCGCCTGTGTTTCGGCTCTTTTCAGCATTTTGACGTGAATTTCATCCCCAAATTTCTTTTCTCATCTATCAATTTGAAAATAAATCAAAGAAATACAAAAGCTAAAGTTCACTCATGTTTTAGCACACGGCGCGAGAGGCGGAAATCGCCTTAAGGTCAGGCACAGAGCAGGCGTGTAATGCCTACATGGAAGCCTAGACTTCTCTGAAACTGGGTAATGTTGTTCCGAAGTGCAGTGCCTGAAATTATACAATGTTGTTCTAATTTTTCGGTGTATATCAAGCGCTTATATCCGTGTGTCCATAGTTGGTAGTCTATGTAGTCTCAAGTTTTGGCTTCTGGTAGGATAGTGAGTTGGGGTCAGTGTAGGGATATGGTCGGCGAAATGTAGTGGTACAATAGCGGTACGGTAGCAGTACTGTAAGATTATGGGACTCTCAGAAAAAAAAGTTTGCCACAGAAGTCGAGGTCCGTGCCGGAGGAGAACGGCTGGTTATCAATAAAGAATACCGACACTTTATGATATCACCGGTAAGCGCTAGACAATAAAAATTCGCATTCTGAGAAGGACGACTGTAGCAGTTTAGCGTGTGTCCGAGTAGATCTGGCGTCTCTTAATTTAAGTTGTAGTTTCCTGGTGTCCCCTGATCGCGAACTTCCCGAGGTAATTAGTAAATATTTTAGTGTGGCCTATGTTTACTGGTTTTACGGACTAGCCCGAGAAAAACTCTGGAACGAAAAAACCCAAATGGGGGCTCTTATCCAAGACTACCAAAGTTTCTATTCTATGCAATTCCCTAGTTTTGCATTTCCTCCGCCTAATAACGCATGTTGTTTACCGTCGACTATCCCAATGCTAAAATTTCGGAATCATGTGAAAATTTACCTGATCGAAAGTATACGGTAACCGTAACATTTGGAAGAGGAGAAAGGAATTCGTTGCAGCCTTGGCCCATTCTCCCCACAGGCATAATTCAAAAAAATATTTATCGCAGCAAGAGTGTGGATTTGCCACAACCCAGCGGGTTCTCCCATCCAGCATCTCTACCTTTGCGGAGGCAGACACTGAGGACCTTGATCTGCCGCCGCGTTCCGACAAATGTAATAGCAGCCCCCCGCGCGATAGCTTTTCACTATTTCTTCTCTTTCTGGCTACTGTGCTGCCTCCTCCTGCGCAAGGATGATGCTGCTAGGATGATACCCTAGAGATGACGGAACGATCCGATAATTATATTATTGATGGAGACTAGAGATGTGAGATAGTCCCGCAGCGAAGGAACCTGATCTTGTTACAGTCTTGGAACCCAGGAACAGCGGATAGCGTCGTCGTATTATCGTTATTCATTTCGTAAATAGATTTTCTCTAGGATTGATTCCCGGTTGAGCTACGTCACTGTCCGAGAACATTCCGGAATGTTATGTGCAGATGTTCTTTTAAATAACCTTTCTCCTTCCTCCCGCAACAACTTTCATTTCTATGCGTCGAGATACGATATCCAAGGCCACAATCAGTATCTTTTTTCGCTGCTGACTCTCTCTCTCTCTACTCGTAACCTTCGCCCATCTCGTCAATGGTTCAGAATCACCTACCGCAAAACAATTGAAAATAAGTGAGTGTGGAAGTCACGTCATGAGCGCCCAATAGATAGAAAGAGAGAGAGAGAGAGAAGTGCCGAAGACAGTGTCGGAATAGAAAAGTGGAACCAGCGGCTGGATCGTCATTTGTTGATGATTCCTCGTGCCTGCCATTGTTATTCGATATTCCGATATTCGATTCTTTATTGCCGCCCCCGCCTAAGAGCCCGTGAGAATCAGAACGAAGCTTGCGCGCTCCCTATTAAAAAAAAAAGATTATCAAATTTGAGCAGAAGCGGAAATGGAAATAATAGCGGATAACGTTACAAAAAGAGCGAAATGTTTTGGGCAATAAATTTGTAGTTTGATGATAAGAGTGGCATTTTGATATGAGGAAGCTTGCAGAATGTAGTGGTGAACAGGAAGCTTTCGCTATGGAGCAAAATGGATTCCGTCATTTTTAACTTAAAGAATCGGAGTCGAGATGAAACACCCAGCCGGGCTGAAAAATTATTCTGCTATCGAGGCATGCTTGAAAGTACCAGGGCCTTACACAAAAGATCAGGGATCCTAGTTCTGCAAAAAAAATTTCTGCATAATGAAATGGAGAACAGGGCGGTGCGGCAACCAAGAGTTTCGGCAACTTCGGCATTTGCCGAAGTTGCGGAACCCACAACATTTTGGTAACCGGCAATTGCTCTCGAAGTTGCCGAATTCAAAAAAGTTCGGCAACCGGCATTTCCGCGGGCGAAATCTCCAAATTCAAAAAATTTCGGTAACCGGTTGCCTCACAGCTCGGCTGGAGAAGCCGGTGGTCAGCTCATAAGAGTATGGTTCACCACAACCCAGAAATACCATCTTTCAGTGCCTTATACTGTAAAAACACTCTGGCTCAAAGTGCCCCAGAGGCCCTGGGATCTATCCTTACCCTGGAAAACTTGTGTGAAATTTCGAATATTCACAGCTACTAGGTTCGTAGCTCTAGCTCAATGTTCCCACTCTGCCTTCCACAGGACGTATTTCTACAATATTTTGCACAACTTGGTACAGTACTCAGCTTTCCCTTTTTGCACCAAAACATTATTGATCCTTACGATTAGCGTCCTAGATAGGCTACGCCATCGAGATCTCGAATATGCTAATTCTTAGGAAAGAGTGATGTTTCATCATCTCCTGGGATTAAAAATTTCGGAGGAAGAACATGGCAAAAATCAGGTTGATCGTGACACTCGTCGGGGGCTCCTCTCACTTCTTCCCCATCTTCATCTCTCCTTCTCTTTCCCGATCCGATCTTTTTTCCTTTCTTCCATTTTGTTTTTCCTTTCCATTTTTTCTTCCTTCTTGTGTTTGATTAGCCATCCTCCTTGGAGCCCTTTCACCTTGTTTCATTTTTCTTTATTCAGGATTGAATAGAGATATGGTTCCGTAAAATCAGTAATTCCAATACTAGAAGAATTAGTAAGACATTCGAAGGGGGGAAAATTCCGCGCAAAAATCGACAGGAGGTTCGTCCGGATTGGGTAATCGTCGGAGAAATGAAAAATCGCGCGCGCTCGCCCGCGCAGATGAGATATATTCTAAATCACATGGTCAGCGAAATGATCTACGATGGATTGCGTGATCTATAGGCGTATCAAGGAGATTAGCACTGCTGGGCGTCGGGATTCCTTGAAGGAACACGATCTTTGAAGGAGACGAGGAGGTTGTGAAATTTAATTGTGATATCATTCGATTATGTACTGGCCTAGAATATACATCATCTTTGAGAATTCTGGTCGGCTGTTTTCGGGAAGTTCTCAAGGATCGGCGCAGCCATGTCTGTAGGAAGTGCTTATGCCAACCCCAACACGTCACCTTCTCAATCTACTACTTAGAAGTTCAGTCCTGCCAATCCGCACGCTCCCACCACAATGTCTTCGTCGCCTATCCGTTTCTCCTGTCGAGTCTCGGGTCAAGGCAAGTGTGCGTGTGTCCCTTCAGTCGTCGAAGTCTTAATCATTTATTTTTGCTGCTAAAGTCCGAACAGTTTTTTCTAGCCGTGTCGGCGAAAGGGTTCTTATTGCGAATTCACCTCCTCCCACCCGAGAAATGGCCCCCCTGCCGCAAAACGTGACCTAGCATTAAATAAAAACAACACAAAGCGCCTCCTGCATCATCACGCGTATATATGTATTGTTGAAATATAAGATGGTAGGCGGGAAGAGGAAACGACGATCAAGATCGACTGAAGGTTGCGCAATCGAGATGGTCTCTTCCCGGCACGAATACCTCCTCCTCGTACAGCGTACCAGGCACCCGCATATAGCTAAAGTTCTCCGCCCATTTTTACTTTTTTGTGCTTTAACATCGCAGCAGCGCTTTTGCCATTGCGCCCGACCCGATCCAACTTCTTATTCTTGTTCCTCTACTCCCCCGCCCATGTCCTCCCGATATCAAAAAAGTGGGAGGAGCATGCATAGTGAGAGGGCGGGGCCGGGACACACACAAGGCTGGCTCAACCCGAGAAGAAGGAACAACAATTATGCCGAGGACAGTCTCGACAGGCGGCCCGACCTGCGCCTTGATTACCCCGCCCGTCCGCGTGCCCAGCCGTGCACGGCTATCTTGTTTGCCATTCATGTTCCTCATTCGACGTTCATCATGCTTCGGTTATGCTTCTTCGTGTTGGTCCGGTTTTTCTCTCTCTCTTCGGCCCTCTTTCTTCATTGGACCAGATGCCATTCGCCTTTTTGTCGCCTAGATAAGCGCATATTTCTCATCTCTTCTTTGTTTTCCATCATTCATTATATATCCAATATCCCACATCCTATATCCTCGTTCTCTAAGTCCCTCATTTTCATTCATATGCCGATCCATTTGGTACTGGTGGTGTCTTCTTAGTTTTGCTTTCCCATTCCTAGACAATTCCTTCTATTTCCACTTTTTTCTACACAATGCAGACAGCCCATCCCCACGCGCTGCCCTTGCTCTCTCCGATCTTCAGCCACAAACCGGCGCCTCGATCAACGTTCTCAATTGGCAGTGGATCAGGCAACTGGTAAGTCGAGTTCTTATGTAACTAGTAGGATGGTAGACATCGAGCTTAACGATGTCTGGCATTCGTTACGTACGGGTTCTCGCGCCGCCCATCGAAGCGCTTGAGCGCCGATTCACGGCTTTATCTCACCCCGGTCTAGCAAGTTTTCCAATCCATCCCAAATTACAGGACAAGCGGTGTTGGTGATGGAGTTAATGGTTACATGGACAAATGCGGAGGAATGTTCGGAAACAGCAGAAACAACGTGAGTTATAAAAACTGGGGGGGGGGGGGGGGGGGGAAGTGCTGTTATAGGCGTCCACAGGGACATTGAGAACCGCGTGATGAAGAGTACTTTTATCCGAATTAAATCATAGGCTAAACGAAAACAAGCATCAGGTTCTTGTGCTTTGCACATCGGAATATCCATCTCAATCAAAACGCGGGAAACACGAAAGCCTAAGCTGGACCAACTAGTGTTAAATGCTTAAATGCAACCCAAAAATGAACAGTCTATCACTTTCATCTTCCTGTAAATCAGAGAACCTGAAGCGCTGGCAATGCGCACACTTACAAAAAGTGAAAGCCGATATATCAAGCTTATCACCTAGCGGGACTTCGCCCATTGTCTCATTGTCTCTTGGCTATCCGTCCCACCCCCCCGGATCATCCGCCCCCTTTTATCACTCTCGAACAGTTTCGCGCGTTGATTCAAGGACCGATTCGCATTCGGCAGCAATAACCCGTCGTCCTGCAAGCTGCTTTTCATCGAACTTCGTCAGGCGGACTTTTTTCCAGTAGTTAATATGTGAGTTTTTTTTGTTTTTTTCTTCTCCGAGTTTTCTACAAGATCCATTAACATTTAGAATGAGATTCGGCAGCCGGTTTTCTTGATTCTAATCTCAATAATTATTTCCCAGTGTATATAGTGACACGGACAAGTTGCCCGATTGCGAGGAAATACCAAAAGTCTTGTGCTGTACCCACGTGTCTGATAATATGTCTGTCTGGTCGAGTTGTTTCACTGAGAAATACCCCCACAAATTGGAAAAATACGAGACGACCGATGAAGAGCCACCGATTCGACAAGAGCTCACTGCAAAGAAGCAGATGAAGCCAGCTAAGGCAACTAGCAACAGAGTTGTCGGAGCAGTGCTTGACGTAGACCATGAAGCCAAGGAGCAGTTCATCGACTCCAAGGATATCAGAAGAGCACCACGAGTCGGTCAAGCTTCTCAGCCAGGAGTACCCGATCACGAGGTCAACGACGGCGACCGCCGAGTGCGCAACCGAGAAGTCTCAGCCACCATTCTCACCATGCTTGTCCCGCAAGTCGGCTGACGAAGTCTTCCTCTCCTGCTGTCGCCAACAGGTTCCATGCAACTGTCACTGAGCCTCTACAGAGCATCGTAAGAACATGTCGCCGCTGAAACTTTGATCCAGGCGATCCAGCAAGAGCACTGATGAAGGTAAGAATAGTTCAATCTTCCTATTGAGTTTTTTTGAGTTTTTCCAAAATTAATTCTTTCAGTACTTCTCCAAATGCTCTACTGTGCGGCCAACCAAAACCGCGACAACCGCGCGTGCGCTGCTCCAACCTCGGCATGTCAAACGCGGAACTCGGCGTCGGCGATCGTTGCCTATGTGCAACATATCCCCGGCGGGAGACTGTGTAAGCCCTATGGAGAAGGAGGATCTCGTCTGCCGTCCAACTGGAACGTCGTGATTCATGTACTGTGCCAGAGGTGGTCTTCGTAACTTGGATCAACTAGACCATCATCCCCGTTCTCTTCTCCCGTAATAAGCTGGATCAGGTAATAATCAATCGCCGATCCTCGTCTTAATAATTTTCGCCCAATTTCCCATCTCGTCCCCCCTTTTCAACTCTACAACATTTCTCAGTGATATTCATCTGAACCGCCCGACATACATCAGTTCCTCATATTCCTAACAGGGTTAAACAAACCCATCCACACCGTCCCCCCACGTTTCTGAAGACCCCCCCCCCCCCCACTTAAGGACCCCAAGTCCTAGTTACTAAATGTGAAACATAATGGCGAGACTGCAATACTTGTCCCCTGAATCCATGTTATTTACATGATAATCTATGACATATACTTTTTTTTTAAAACACAAGCCCCCTTGAAAACGAACCTCATCATTGTATGTCAAACGGAACCTCTTATTACACGATTAATTGTTGAAGTTTAGCGAATAAATCAATCATTGCTCTCGTTGGGTCTATGCCCACAGCGAAATGACCCGGTGCAGAGATAGATAGTTAGAGGGTCATAGACATCCGGGACCCAATGGGGCCGCCCGCGGAAGAGACGATTTGTGTCGATTTACGAAATGATGACAACCAGGAAAATTTCGTATAGAATCGACACAAATCGTCTCTTCCGCGCGCCACGCCCCATCGGGTCTCGCGGTCGCTCTATAACTATCTACAGTCTCTGTACCGGTAATACTATTGCAGTAATCGCAGGTCTTAGCGATTTTTCATAGCTTCACGTATTTCTCGATTTCCTCATAAATTGAATTGGATGCCTAGTTTTTGCTGAACTAGGGGCCATTTCGGCTCGTCAGTATATGGTGGGGTAGATTTACGGCGCTTTGCGGTTCGATACAATTTAGTTGTAAAACTAAATGTATTTGTCCGTGTGGAAAGAAGTACACGATTCACATGCGTGGTCCGACAGGCATCAATAGAGCGCGAAAAATTCAATGAGGAAGGTCAGAACTCCGTGCAACTTTACTCGCGAACTCTGGTGCGTGTTATTGTCTTTATTCAGTTTTCTGAGACGTAATGAATATACTTTTTTACAGCAAAACTGGAAAACTGATACAAAAGTCTCCAGAAACTAGATATTGAAATTACAGTACACTTTAAAGGCGCACAAACCATTTTCACAGTAAACAAAAAGTTCGTGCCGAGACATTTCATCCAGATTCTCAGTTAAAATTTTACAACACTCATTTTTCCTTGAATATTTAATGAAGTAGGTTCGAATGGAAAAGAGAAGAAACCAAAAAGTGAAATTATTCTCAAAAACTTGATTCCCAAACCGGTATTTCGATTTGGCTATTTTCGACCAATTTCGGCAGAATTTTTTAGCAGAATTTTACAAATTTTTTAGAGTTAAAGCTTATTTTAATTATTTTTCTCTGAATTCACCTATATATGAATATCTTTGCTTTCGATGGATCTTCCTCAAAAGTACACATTAGTTTTATTTTTCTACAAAACTGTGCAAAGTTACGTCGTGGTGTTTGTGCCTCGGATTTAAAGAGAAATGGCATTTTTCAATCTTTTGTCGCAGTTTTTCTGCTTTTTTTTTCACCTGTTTTTTCGTAGTTTCCTAATAAAAAGATCGTCAAGTGTTTCCAGGGGTCATGGCTGGATTTGAAATTCAAAGAGTCGAGTCCAAATTCTTCGACTTGGACGACATATAATCGCCAAAGACTCCACGTCTTGAACATTTGAGATTGGTGATTTGAATCCAGGTCTGAAATCGCATTGAAGACCTAAAAATTCTAGTGATTTTCGTTCTGATTTTTTCCAGGAAATGTTGGGAGTTTTTCGAAGCCAACTCAAAATGCAGACGGATACGGCGTTGATGCTCCATACTTGCTGCTGGAATCCGTTAGGAGTTCATTGTCCGTGAGAAGTTATATTTGCCCCGAATTTTAATTTAGAATTCCAGATTGACCCCCAAAAGCTAGTGTGAACATGCGAAATGTCTTTCTGAACGCTGACAGCAAGAAATTGTATCTCTTGAGTCCGGCTTCGCAGCAACACTTTTACGGCAACGGGGTGCAGTCGTCTGCATGCATGAAGAGGGCGAAGGAATCCGGACGGCGCGCTGAGCCTTTTCCCGCACGCACATGCCTTGTACTCCACACTTACACCACTCAGGGCTTAGGAGGTATTAATTAATATAATAAAGCACTTATAAAATACAATTCCTGGTTTTTTTTTGTTGCAGAAATTGTGCTCAACTGCAACACATCTGCAAAGGAAAGGCGAGAAATTCGACAGCCTCTAGACAAAAGTGAGTTCCTGGAGGGTAAACGGTGCAAAGATTGATACTTGGCTGAGACAAGACAATACGTGCTCGAGCAAGAAGCAAGAGACTTTCGTTATAAACTTCAAATTTCTTATGCTTGAATCTAATTTTATTCTTTTTAAGTCGACTGCTCTGTGAATATAATTCAAATCCCCATTCTGTAATATTTATTTTCTACTTTTTTCACACTCATTTTTGTGTTGTATTGGTGTAATTAACCTGGTTTCATGACTTTTTTGCAAGGAAGTTTGTTGAAAACGCTGCTGCAAAATTTGCCAGCAAAAAATTTTGTTCAAGCCCGCTCCATCGCACAGTTTGAACGTCGCGGTTCGAAGTTAGATGTGCAGGTCATATAGCAGAGAAACACTCCCTTTTTTTCTCGAGAAGTTTCACCAATTTTGCGCGATCACCTATTTTTTTGCTTTTTTGGCCTAATTCTCAGATATTCCTCAAAAACTTGAAAATCCAATCTAGAATAAGTGGTAATGGGTATATTCTAGGATTGTGCAAAAGTTAGCTTGAATTGGAATCCTCGATTAAAGCTTTCCTACCAAGAAAAATGTGTGGATATTTTGTACAAGTTTTTCATCTTTTTTTAGTAATATTCTCTGTGAAACTCCTATGGTTTCTCTCAAAGTTGTAAACTTCATAAACGCTGTCAGGGTTACCAGATTAAACAATGACCGGGAGCAAGCACCTAAACTCACCAGAGGAGAAAAGTCAAGGAGGTTGGTAGTTCAACATCTAAAATATTTAAATTTCTATATTTCAGCCACAAGTTGACGTTTCGATTCCCGACAACGAGGCCGTCGAGCAAGCAGCTCACCGTGGAGCAAAGACGTCTGCCCGAGGCTGCTGGACTTGGAGATCAACAAGCAGGCCAAGCAAAGCCGCTCCGAGAAGAAGGCCCGCCCTTAAAGCTCTTACGTCTCCAAGCGCGGACTCGAGCAAGTGACTGGAGTCTCCCGTGTCTGCATTGCAAGTCGAAGAACACCTCTTCGTCATAAACAAGCCAGACGTGTTCAAGTAGCCCAGCATCTGACACATCATTTACTTCGGAGAAGCCAAGATCGATCAGCCAACACGCCCAGTTGTATTGAGAACTGAAGCCAACTCGTGAGACCCCACAACAAGACTGTCGAAGATGAAAAGTCGAGAATGAGGATGTTGAAGTAATTCAGTATCTTAATATTTATTACATTTGTACGGTTAAGGAGGTTTCCACCGGCATTGAGGAGAAGGACATCGAGCTTGTCATTTCCCAAGCCAACACCACCCGCAAAGGCCATCAGGGCGCTTAAGGAAACTGACAATGACATCGTCAATAGGGGCAAGCATCATGAGCCCTATCTTGTAGCTTGTTTCCTGATGACTGAGCTTGCAGATACTCTTGTTATCGTTGTATCTCTTGCTTATCCCGTTTTCCGTTCCAAGAAAACGTTTATTCTTTTTTAACCTTTTTGTTATGTTAAAAAACAATTGCATCTTCGATACGAATTGTACAACCTACCTTTTACAGAAAAGAACAATAAAATCGCTGTTTGTGTAAAACACCCCTCTATTGATCCAGAACTCTCACTTCTTACAATACTTTACTCGTATGACTGTGATTCATCTCACCTGCTATCACTTTATCATGACATTCAAGTTTATATCAACAGCAAGATACCATTGTGTGTATGTGAAAAATGCTATCGAATAGCAAGCGCGCCCCAACAAATTTGAATGCGCGGGCGAAATGGTGTTAGATGTGCAGTCATATGAAACGAAACGCATCGACCAGCAGCCAATGGGGTACAAGTTACTGCGAGCTGTTAGATTTTTTCACACGGTTTCCAGTGTTATCAGGTGATGGGAAATCGATCCATAATACTGACTATTCGTACTTAACATCTTAAACATCCCCACCGTTTCGCTGTCATTTTTACCGATGCGGATTTATATTTCCTTTCTCGCCGACTTTTCATTTCTAAATCTTCTCTGAAATTGCGAAATTTTCAGCCTGTTTCATACGAGATCGAACGGCTCGTAATGAACCATCATCTCAGCAGCCGTGTAGTACCGGGAGTAATGCATGAACTCCAGCAGAACAAAACGGGTCGGCAAAACCTTCAAAAGTCACAGTAAAAGGTAACAATTGATTTTTTGCATCTGTGCTAATAAAATTTCCCCCTCTTCCCTTAATCATAGTCGTCAACGCGCTAGTTCACCAAGGCAGCCGACTCAGCTATTGTCGAAATCACGGACACGTCATCGGCGGCGCCAAAAATGACGACTGCAAAGAAGAAGACGATGGCGCCCGAGTGGAAAGAACATCTCAACGTTCATGCAAATGAATCTTCGACAATTTCGTTTCGTCTATTGCAAACCGTAAAGCCAAGCTATGACACGTATCTAGGGATGGCGAAGCTGAAGCTCTAGTTTCGAGTCTCACAAGAAATGAGAATGGAGTAAGTGGTTTTTGTGACTGAAATTTTCTCAAAAAAGCTATTAGTTCAGTCAAAAACGACATCAACAATATATCTTTGCTGGCCAAAGACTCCTCGAAAATCGGAACTCACTCTCGACATAATTTTCTCCGGATATCCAGAGCGGAAACGAAGAAGCGCAGGAGTACGAACTGAAACCGCCGCGTCTCCAAGTTCAGAGGCAACGTCAAATGGCGTTGCCACGACATCCTCGGCGCGGACACCTGGCCGGCGTCAGCGAAGCGTGACACTTTGGCGGCTCCAACGGTACTCGTGACGAGACCCATTTTGAATAATTTAATTATTCATGAAACGCTCTACGGCAGTGTTAATAATTATTAGAGCGCGCTCGCGCGAAAGCACCTCACCCAGAAGTCGCGAGGACAGCAGTCTCTGGCTATATTGGCTGCTATGGAAATTATTATTTTTTGATTTAAACTATTGTTGAGAAGCATCATCCAAATTGAAAATGTGTAAAATTATGATTTGTCCGAAACCTGAAGGTTTTACAGAGGGGAGTCACCACGGCTTTCTTAAGTATCAGTACCGTCAATATTTCGAGTTCAGAAAAATATGTCATTTTGTAGAGAAACTCTGTTACTTCACAAAAATTTCCATGTTTGATATTTTAATTGTTTAATTTCTAATAAAATATTGCAAATTTAAATCAACAAGTATACGTTAAAACCGAACCTTTTTCAATCGTAACCTCAGTTTTTAATAAGAACACTTTCATAATTTCAAACATGGATTTGAAACAGACTTTTATCTACAAAAATGACATATTTTCCGACTCTGGAATCGAAAAAACTGACGGTACTGAAACATTTTAAAGAAACTCGTGGTGACTCAATCTCTCTGTATACCGTGGTTCACTTTTTGTTAAAAATATTTCCATCCAAAAATAGCCAAAAACTGCTGTCCCCTCCTGCGAAACGAAATCCCTCGAGTTCTGGAGTTCGTGAGGTACCGCGCGAGCGCGCTCTAACAATTATGAACACTAGAGGAGAACGTGAATGAGCGTTTTTTATTCTTTTCTCTGCTTAATGCTACAGAATCGTACACTAAATGTTGTCAAATACATGATGCATTACTCCAGTCTACTACTATATGTTTACTTTTCATTTGTACCGCAGCGGCGGCAGCCAACAGCATGCGGCACCCCGGCCGCCGCAGCAGAAGAGCTTCCCGATGGATGGGAGATGCGTTTCGATCAATACGGACGCAAGTACACCTGTACGTGGCTCACACCACCAAGAGCGCCACGTGGGAACGCGCGTCTTACTCATCCCTTACAGGGCGATGGGAAATCCGAAGAGATCCGAGAGGAAGAGTGAGTTTTCCGAGGCTGTAAAAGCAGATTACTTAGCACGAGAAAAGCGTTTCTGATTATATTTTCGATGCGAAAAGCATCAAAATTAAAACTATCTACCGTCGCCGCGGATACCTGGACCAAAATGCCGAAAAAAGTGACTAAATTATTTTATAAAATCTAGATTTTTACATAATTAGTGTTATTTGATGATTTCTTGTCAAATTTTTGTAATTGCATCGAAATAGTCCAAAAATAAAGTAAAAATCCACTTCCAACACAGAAGAACTGACAAAATTGAAGATTTTTGCTGAATTCAGGCAATTTTTCGTAATTATTATGATCCTACATAAGTTTTTGTTTTCGAGATATTCGAAAATTTTTTTCTTTAAATACGGCCTGAAAATTAGGAAATTATAACGACGGATAACGGTCAATTCTGATTTTCTTTATTTTAACCAAGGTCTCCGCAAATTATTTGATAATCGAAAATAAAAAAAAAACTTTCCAGTGATTTTTACTTGAGGGAAAAATGTCTAAAATTCACGCCAGGTGCACAATCCCTTTTCAGGTGTATTACGTGGATCAGAACACGCGCACGACCCCCTGGTGGCAACGACCGACAGCCGATATGACTTGAACCACACGAACAATGGCAATCGGGAAGAGATCAGGCGATGCTTTAATGGGAACAAAGTTTCCTTCTCCAGCAGATCAACTTTGCATCCACTCGTGACCATTGCCCGAAGGATGGGGCGTCAGGATCCGAATACGTCGAGATTGTACTTTGTGAATCATTTAAATAGGACACAATGGGAAGATTCGAGAACACAGGGGTATGTGAAAATTTTCAATTGTCCAACATTATTTCTATCAAAAATCACAGTTTTAATGTTTTAAAAGTTTCAGAGGCCCGACCAACCTTCAGGATGGTTTGGAAATGCGATTCACCGAGCAAGGGCGTTCGATTCTTCATCGATCACTACTCTAAAACCACCACCTAATAATGATCGAAGAAGCGGAAAACCCGTCGGCCCGCTCGCCGTCGTCGGTGTTCAAATGGCCATGGAGAAGAGTTTCCGGTGGAAAATTGCACAATTCAGATATTTATGCTTGGTAAGGGAGGGCGAGAAATTCTTTGCTTTTAGCTATAAATTGATGAAAATTTCAGTCAAACAGCGCCTAATCATGTCAAAATCACAGTATCCCGTAATAACGTGTTCGAAGACTCATTCCAAGAAATTATGCGTAAAAATGCAGTCGGTCTACTCCGGCGTCTGTACATTCAATTCCGAGGGGAAGAGGGTCTCGACTATAGAGGCGTCGCCAGAGATGTTAGGGTTCTTCCTGCCGCACGAAGTGTTGAATCCAATGTATGGGCTTTTCATGTATGCTGGCAATAACTATTATAGTCTTCAAATCAATCCACCTTCATTTGTTAACCCGGTCTTAAGTATTTCGAGTATATTGGAAGATTCATTGCCATGGTGAGTATTTTTTTTTGCAATTGTAAATCAGTTGAGAATTGGATGAAAAAATGCGATCGACATGGGGAAAAGCGAGTTTTCCGCTTTATACCATTGAATTTTAAAATTTTAAACGTTAAATTGAAAATTCAAACAAAAAGCACTTCTGGATCTAAAATTCTTATCGTTTTTTGAGGTCCTTAAATATCGATTTTTTATATTTTCAGCACAAAAAGAAATTTCGATGATCTCAAATTTTCAGATCAATATATTTCATTTTCTCGGGCCTAAAAATGTTATTTTTATTTAAACAAATAGTTTTTCTTAGAAAATTCCTTTACTTTCAAATTTCCAGGCGCTATTCCACGGAAAATTCATCTACAGCGGTTTCACGATGCCATTCTACAAAAAGATGCAACAAGAAGATTGTTTTAAAGGGCATTGAACAAATCGATTCGGAAATTTATAATTTATTGATGTGGAACCTCAAGGATAACTATATCGATGAATGCGATATGGAGCTCTATTTTGTTGCCGATAACGAGCTACTCGGCGAGCCCAAGACTTATGAGCTTACGGAGGGCGGTACAGAGATTGCTGTTACCAACGAGGAGAATAAGGTGAGACTTGGGATTAGCTAGAGCTTATAAAAATAATTTTTAAATAAAATAATTTAATTTAAAAAATCCCAATTTTCCAGCTTCAATCCATCGAACTGCTCGTTTGGCGCCGCTTCAATCGCGGTGTCGACCGCGAAGACAAAAGCCTATCTTCACCGGCTTCAACCCGGTCTACGCGTTGGAATGGATGGAGTATTTCGATGAAAGAGGCTGGAGCTCGAGCTGTTGCTCTGCGGAATGCGGGACGTTGATGTGGGATTGGCAGTAGAAATTCTGACTACAGACATTATGCTCCACAGAGCAAGCAGGTAGGGGAGAACATTTGATTAAAACCTTTATTTTTTTTTAATTAAAAAATACATTTATAGGTAACCCGGTTCTGGCTATGGGTTCGAAGACCAACCGTGAAAAACGTGCCCGGCTCCCACAATTCGTCACATCGCGGACCGTGCCGTGTGTCAGTCGGTGGATCCTGATTCGACGGGACCACAGCTATTCTGTATCGAGCGTATCGGCAAGGAGAACTGGCTCCACGGTCGCATATGTGCTTCAATCGACTCGGCTTGCCGCCATACAGAAGCTACGATCAGCTCGGTCGGGAGACGAGTTGAGGATGGCGATCGAGATGACGGAAGGATTTGGAAGCGAGTAGTCCATGTCCCGTTATTTTTTTTTGGTTACTTGCTGGCCGCACGTTCAAATTGTTGTCTAACCCTCATATTTCTTCCCACCTATTGAGGACCTTTTCCTTTTTTTTCTCTCCATCACTTAATGTTTCTTTTTTTCGAATCGATGTTGTGTGATAATTTTCGTGTAGTGATAGCACTTGTGCTTAGGTTCTCTCTGCCTCTCATTCCTTTCCTTCGCGTATGTCTACCTATAATGTTTTAGAATACTAGACAAATCGCATCTAGTTTTTTTATTTAATTTCCAAATTTCCCGTTTAATTCCAACAACAAAAAAACAATTCCACCTAGACACTTTTCAAATATTTTTGCGTCCATTGCTTCATTGCTTTTCTTCTTCTCAACCATTTCAACAACCACCACCCAATCTGCGCCTTATCCTCTTACTTGGTCACTTGTCATTCTTACAATTTTTTTCACGGAAGCAGCTCTAGATTATTAATTCAAATGCATCCCCCCAACCAATCCGTCACCCCCCGATTAGAACAATTTCTACTTTTTTTTTTGAAAACAAAAAAACACCTCGATTTGGTTGTAATCAATGGGAAATTTAATTTTTTAATCTGAGCCTTCTTTGTTGTTTTAGGGTTTCTTAACTTTCAGAATTTCCATGCGGAACACACGGAGAGCACAAGATCAAGATTTTGAACCCTGCAGGAGAACGGGACCCTTAGCGTGGTCACTCATGTCTCGGCTGTCTGTGGTTCTCTCCTCTCTCTCACCAGCGGAGAGGATGGATACCTCATTCGCTTTATTTTCGGACTTTCGATTTTTCTTATTGCTCCACGTCTTTTATCAGATTCGGGGAGCTTTTGCTTTTTTCTTGATTTTTTCGTAAAGTGTTCCTGGGTCCCGCAGCGAGAATTAACTTTAAAATGATTTTTTAAAAACTTTCAGTTAAAACTTCATTTTTTTTTCCCATCATTTTACGACTAGAAATTTCGAAATTTGAAAAAAAAAACCGTGTTGCAAATGCGCTCCAGCGTACAAAACGAAACCGCCACCAAAAGCTGATTTTAAATAACTGAAAAAAACGAGATGAAATTGAATTTGTTTTGCCATTTTCCGACAATGATTTTTTAAATAAAAAAAACTGTTGCACAACAAATGCGAGCGAACTAACCTACCAATTACCGAAAAAAATTATAAAAATTGAATATTTCCGATTAACCCAAGAAAAGAAAAATTCAATGATTTTCTTGAAAAAAGTTACCATTTTCTCAATTTTTCGTTAATAATACTCAAAATTAGACTTGAAGAAAAATTGTGTAGCAAGCGAGCTCTAGCGAACCAAACAAACTGCTTCTCTCCATTGAAGAGTTTCAGAGCCGAGGTTCTGGCCTACCTCATTGAATTTTTCGCGCTCCATTGACAATCGCCCGCCCATAACAGAGGGCGTGGGAAAGTCGTCTGGTACTCCACACGGACAAATACATTTAGTTTTACTACAAATATCGGGCCGCGACGCGACACACGCGCCGGTAAATCTACCCCAGATATGGCGAGCCAAAATGGCCTCGTTCGGCAAAAACTCTTCCAGCACTTTCAATGCATGAGAGACAGAAATCCGTGATACGAGAAAAAATAATCCCAAAAAGTTCAATTTGCAAGGGCGCTGCATTGAAAACGCGCCGATCCCAACTCACGGTCGAATTTGAATTTTTAGTTGCAAAAAAAATCCACCAAATTGTGAACTAAATAATTTTGCAATCAATTCTCTCCCTAAAATAAATGGTTCAGAGGAGTTTCTCGAATTCGTAGTTGATACCCGCTCGTCAGAATTGGAAACTGAGAAATTGAGAGAGAATTAGAGAAGGAGAGGAAGAAGAACTGCTCACTGGTCCCCTCACTCCCGGAAATTAGGGACTTTTTGCTCCGGCGGGCTCCCACTAGAAGACGAAGAAAAAACGACGAGCAGAACACAATCAATTTCTTCTTTTTTATTTTTTTTTGGATTTTTTTCTTGTTGATACCACGGATTTCTGGCTTCCCTCATAAATTGAAATGGTAGAGTTTTTGCCGAAATAGGCCATTCATTCGGCTCGGCCATATCTGGGGTAGACTAACGGCGCGTTGCGTGAGTCGCGTCGCGGGAGTTTAGTTGTAAACCTAAATGTGATTTGTCCATGTGGAGTACACGACTTTCCCGCGCGCTTTATGTCCTGCGGCCGATTGTCAAAGGAGCGCGAAGAATTAAATGAGGAAGGCCAGAATCCCGTGGTAAAACATGGTGCATCAACGCAAAAATTTTTCATCTTTTGGAAAAAGTCAATTGTTTTTTTTTCGCGTCGGGACCACCTAACCGCAGCTCGTTTAATTGAATTTCCCAAAAAAAAAAAATTTGCTCTGTTCAACCAAATTCGAAATTCAGTTTTCATTCCCTAAAACCTATTAAAACGATCGTGGCAAAATGCTGTGAGCTTTGGGGCTAGAACGATAGGCCTAGAAATGTTGAGACAGTTTCCTCTCCCAGCGCCCTTGCCAATATAGAAATTTCAAATTAGTATAGCTCGGCCATTTTCCATCCGCACGGTTTTCGCCAAAACTACACCCCATTATAAGATTTAAAACTTACTTTTCAATCATTATGATGATAATACTTATCCAGTGGAAAAATTTTATTTCCACCAAAACCTCTCCACCCGCCGTTTTATCAAACAAATGATATCACTATGATTTGTGTTGTAAGTGCACCATGTGATTGCACTTGCGCAATTAATTAAGACAATCTCAAATGTAAGTTTGATCGAATTAACCCCATGTACATATAAAATACAAGCTTTTTGTGTTCTTCAAACAGTTTTTTGTCGTATTTATATAGAAGCAGTGTACACCTAAATTTGGCTTATTATGACCTTTTTTTCCAAGGAATACTCATTTTTAGGGTTATAAACGGCCCTTGATTGAGGAGAGAACTGCAAGCGCTTTTTCCTGGGAGTTTTAGGCCACCAGTTAGAGTCTTGCAAAGACGGACTAGTTCTCACAGGACCCAGAAAGGCTTTACTTAGTCCATCACGAATTTCTGACGACGCCTAGAAATGCAAATCTTCGGCCACCTCATAGACATTCTAGGCCACCCTTTTTGACGTGGCCTAGAATCTTTAACAAAATTTACGTAATGAGAAGTAAATCCTAGGCTGTCCCACTATTCAGTTAGCTCTCATTTTTGATACTTCGCCTAGCGATTTTTAACACGTGGCCTAGATAGTTTCTATTTTAACACGGGGATTAGATTTTTATGTTAACAAGCTGGCCTAGGTTTGCTACTAGGCTTAGATTTTTTACATGTGAGCTAGATTTTTATTATAGCTGACCTAGATTGTTGGCATTTAGCCTAGATTTCTGTCATGTGACCTAGATTTTCTAATGCACCAAAAATTCTCCATACAAATTGATTAACTCCTACAACTCTAATTGAGGTAATCAGAACCTTCGATAAGAACATGGAGCTACTGCGGTTCTCAACTTCCGAAAAAGCGGCTGAAAAACTGAGGTATACCTGCTTTTTTCGAAACTGATAAAAGTCAGCATAACTCACGATAACTGAACGTCCCTTGGCCAGGTTGTAGGGGGTAGTGGTGGCCGAATTTTAGGTAGAAAAAACTGGGCCACGAGGTTTACGTGGTGTAAAATGTGCCCCATTTACTATTGGTTTGACCTTCGAAAAATCCAGGAGACGAGACGCAGACTTTGCTTCAGCTGATTTCGCATGGTTAAGAACGTGCTGATGTCATTTTTTTCCGTGGCAAAATTCCCGCATTTTTTGTATATCAAACCACAACGAGACACTCTAACATGAACCACCGTCCGGCCTCAAACGAAAATCTCGGCCACGGCCACTAGGGTGAAGTGGAATGCCCTCCCCTTCTCTAGAAAATTCATTGGAGAAATCAACCCATGCTCAAAGAAACAGTGGCCGAGAAACGAAAAACTAGGCCGCGTTCTAGCAGCTTTGTACCTCTCTTATAAAACACTGTCTGTTAGTTCATAAATCAGAATCTGCGCCCTATCACTACTCTCTCGTTTACCTGCCCCTCTTAAAAAACAATCAACCCCCCCCCCCCCTCTAAATCGACTACTGTTCCCCGTTGTACCTGTCTGCGGCTAGCTATTTCGGATTTTTGGAACGAAAAAGTGGTATGTGAGAATGTACGAAACAAAGCAAACTAATAAGAGGGTCAATTGTATGCATTTTTTGCCCCCCCCCCCCCCCCCCTCCACCCCGCTAGCCTGGGAGGTCTCAAACCGGTTTCCCCTTTTTCACCTCAATCAGCCCCCCCCACCCCCCCCCCCCCCCCAATTTCATTTCACTGTACATTTTCCTTAACCTATCTGCGTATCTACTTTTGTATTTGTTCCTTACTTATTTTTCTAATTATAAACCCTGCAATTTGCAAGAAAAATTCTAAAACCCTAGTCTGGCCCCTTACCCCGTACGGGACCGTGGCCGAGAAATTTATATTTCTTATAAGACCCCCCGGCTCTTCCAGTTTTTCATTTTTTTTCATTGAAAGCCTAAATTTTCATATTTTCTTAGAGATCAAAATATTATGGGTTTGTCAAAAATTTCGAAACAACAAGCTCCCCGTGGGCGGAAGAGTTTTCCAAATTTCTATACTTAGGCGTTGGGGTACGCTCGTCGCACCCTCCCGGAGTACAATTGTAAATTATAAAATTATCATAAAATTGGCTCAACGCATTTGAAAATAATAAAAAAAACTTTAGAAAAAAAAACACGAAAAAAACCCCTTTGAACATGGTTCATCGACCGGGACATATGTACTGTGAAAGCTTATATCTCTGCGCTCCATGTTTGTTTCATTAAATTTTTCAACCAACTAAGTGTTTATTATCTCTTTTCTATATTTTTGTAATTAAAAAGCTTTTTGATACTTCAAAAGTAACTGAGATGCATGTTGTGAAACAGAGCAAACTTTCCTAGCTTAGCCCAATTATTTATATCTGTGTTTCGTGTATAAACTTTTCTAAAAGTTTACGGTTTTTTTAAATTTCTAAATAAAATTATTACATGACTCTTTGGGAGGTCATGCGTTGTAGATAGCATGTACAAATAAAACTGAGGAACTAGGACGAACTGAGAAATTCCTAAACCATTATTTACACATGTGATTCTTGCCTTTTTCGGTGGAGGGTTAAAAAGGTTAAAAATTATTTAAGGCTTGGAATGAGCATTTGTGCGGCCGAGGTTCCTTTTTATTTTCTAGGCCATAATTTTTACAACAATGGCCAGAAGCACAAATTTGTAAGTAATTTGAATTCGCCAAAATTTTTTTTTCCATAAAATTTAAATTTCCACCGTGGAAAATTCTTTTCGGAAAATTTGTATTTCCCGCCCTCAAAAGATTTTTTGTCTCAAAAAATTGAATTTCCCGCCAAAATGTTTTCGTCGCTCAGGAAAAAATTTCCCGCCATCAAACATTTTTTGTCTCAAAAAATTTGAATTTCGCCCACCAAAAATTTTGTCCCAAATTTTATCGAATTGGTGGAAAGCCGAATTTCCATTTTCTAGGACACTCTCAGTTAAGTCATCAAATAAGTTGACTTAAATTAAAATTAACAATTTGTCTCCTACCATGAAAATTTAATAATAGGCTGTATAGAGCATCATGGGCGGGCGGGGTAGCATGAGTGAACTTACCGGTTGACCGTCTATACATAGTAACACCCGACCATTTTCTGCCAAATACATATAATATCGCTTCGAGACCCAACTAATGCGCAGTTGTGCTTTATTTCGGTTGACAAGACCCGTAGAAATATTAATTTACCTACAGGTGCTAGAGCGTTTTAAGACCTAAAAAACTAAGCAATGGCCCAAAAATCCAAACTTAAGAAGCGCCTATAATTGTGCCTCGTGTTCGGGACCCAAAATCCAACTAGGCCATATTGTGAGCTTGGTGAGACCCACCTGTCATAAATATCACTTGAGTCAAAGTGAAGCTCCTACTTTTTTTTTTCGACAGCCTGTAGAAAAAATATTGAGATTCGCAAAGAATTCACGGCTCCCCCTTTCAATGTTTACATACACATTACGAACGAGAAAACGAAAAAGCGAAACGAGAGAAAAGCATTGAGTGAAATGGAAAATGTGTTTTTACTTTTTATGAAAATTTAATCACATGGCGTAAGAGTGTCCCATTTCTGCTTGACGTAGATCTACAAAAAATGCACGTGGGTGAAGAGACGCCGAGTTTTCAACTGATTTCGCTTTTTTTTGGGCGAAAATTTTCGCATTGCTTGTAGATCAACTAGAAACGCAACAGTGGATAAGCGCGCTCTATCGACAAACCCGGTGTACTCGCGGACAACCAGTATAGTTTGAAATTTTATTTGAATTTTTGTTCGAAATTGAAATTGAAAAACGGTAGATGCCAAATTTAAATTTAAAAAATAACAATTTTTGGAATTTAATTTTTAAAAAAGTTCCCCGTAAATCTACACTTAAATCGTCTCGTAATTCGACAACGCTATTTTTTTCAATTGTTTTGCCCATCGCCAAACTTTTTTTGCCCAATCAAGCATCGTCAATTGATCCATTGATCTTCTTCTTCTTCTCTTTCTCTTTTCTCACCACCGAAAATTTTCATTTTATTTTTTGAGCACAATACTCACCTGTCTGCGTCTCTCTGTACCCCCGATCTCTCGCCTCTCAAGTATTACAAACGAAAAATTTGGGGAGAAGCCGTGATTTTCATTTTAGTAGGATATGAAAAATTCTAGTGAAAATGTCAATAAAAAAAACATTGTTTTTCAAAAAACAATCCCCTCGAAAATCCACACCAAATTCAATATTCACCTTATTACAAATTGATTATTTCTCCCAAAAAACACACGCCATCGGCCGCGCCAGGGCATCTATTGTCGCCTTTTTACTCCAAAAAATTTCTGCAACTGTCTGGCGTCACCGGTTAACACTGAGAAACAACAAATTTCATTTCTCGAATAACATTCATTTTGAAGGTTTTTGGTTACAAATTCGACACGGATTTCTGGCTTCCCTCATAATTTAAAATGGAAGAGTTTGCTGATGAACTAGGCCAACATGTCGGCCATATTTGGCATAGGTATTTACGGCGCGTTATGCGTGCCGCGTCCCTCGATTTTAGTTGTAAAAATGTGAAGTGTCCTCGTCGTGGAGTACACGACTTTCCCACGTGCCCGGTGAGAGATTATCAATGGCAATCATTCAATGAGGTAGGTCAGAACGCCTTCGAAGAAAATCGAGAAAAACATATCCACAACGATACTCCGCAAGGTGTGCGTGTTGTTAAATGATAAATTCAAAGCAAATAGCGATTTTGTTTCCAAAATATGCCGAAAAAAAGGAAAAAAAATAAAAATAAAAGTTCAGCAACTTATTTCTCGGCCGTGGTTGTGTCGTTGTTTATTTTTTTGCGATCGTATTTTTTCTAGAATAAGACTTAAAATGAAAAAACATGAATAAAAATCAGTTCTCCATGGCCACTGTCAAAAGTCGCAACGACACTCCCCTTCCAGCTCCCCCCCGCGTGTATTCTTAGCATGTGTAAATTACGCGATGTAGTGTATAAAACCCTAATTTTTTAGAAGATTTGAGAAAAAAAACTTTTAAAATATGGGATAAAATCTCCTTTCCCTTTTTTGAAATCAAGAACTATCCGACAAAAAGTTTAGCCAAAAGTCCAAATAAAACCAATATGTAGAAAAAATCAAAAACTCGGCCCTCCAAAAAACTAGGCTACACGTTGTTTCGACCTCGCCGTGCTCCCCACACCTATGCATATCGTTAAATGTCTCCCGGACCCCTCATTCCGTCACACATTTCTCAAAGTGTCTTTTTCTCAAATTCGCTGTCGAAAATCCCTGAACATATCTCTTCAGTGTTGAGAACGACCTGACAGTTTTATTTCGATTCTCATGATCTCAGTGTCTCCCGGATGACTCGAATTCCTTCGATATATTTTTCTTTGAAGTTTTCAAAATAATTTTTCCTATATATAGACTTGATTGTTCGGTGGGAATTTCTCATTTCAAAATATTTATTGAGGTCGCTTCCCTTTTTATATGGTCGTTAGGTTTCTAAAACTCGGCTTTCCAAGTTGTAGCTTAGAGCTCTTTGTCTCGGAGTATAAAAAATTCACAAAATAAATAAAAGTTCACGTGGCCGTGGCCTAGATTTCCAAACTCGGCCACCATTTTTTTCTCTGACAGTAATCCACTTAGATCTCCTTTTTAGCCATTTTTTAACTAAATTTCCCACATATTCGTCCGTGGCTCCATATCAATTTTACTGATAGTAATTTCCAATAAGGTATTTTCGGGAAGATAGGAACCCTTTTTCATCTAATTCGTTTGTTTCTACTTTATCGGTTTTGCCACTTTCCCGCATGCCTACGAGCCTACATATCTGCCGACCTAATACAGCTCGTAGGCAGACCTCGGCCGCCTTGTGGTGAGATGAGTCGCTTTGTAGGCAGGCGTAGTGTGTGTCTTGCTGGTATGAGTAGGGCCTGTCAGCCGCCCAGTAGGCAAGCGTAGGCATGCAGCCGTAGCAGGCTTCTTAACTAGGCATCTAGGCTGCCTTGTAAGCCGGCGCAGGTAAGTGAAGGTTTCCTCGTGGCTGGCATCCTTGCAGTCAGGCACAAGTCGTCGGCTTGAAGGCAGGAAGAACATGCCGCCTAGTAGGCATATTTTACTTATAGGCCCGAGGTATTAATGAGATCTAGGCTTGCGGGTTAGTCGGTTTGTAAGCTGTCGTAGGCTGCCCTGTAGGCAGATTGAACTCTCAAACCAAACAACACAAAAATTCCAATATTTTTTGTACCTTCTGATTTTGATCTCTGACTCACTTGATCTTACTTTATCAATCAAGAGTCATAACTTCCATTTTTAGGAATAAACAATTATCCTTCAATTCATTGACGTTAATCCCTTTCAATATTCATTCAATACACAATGAGACGAAAAACTCTTATCTTTTTTCACTCTATCACATGGTGCAAAATTATAGTTAGATTGAAAAAGCTCATTTTATCATTTGTCACTTTTCCACCACTCTCAACGTGCTTTTTTTTAAACACAAAACGTTTCCCGTCATTTTCTACAGTACTCCCGCATTTTCACATTTTCCAGGTGACACCTGAGATGGAGGCCGACGAGTTTCAACGTTCGTATTACGGTCCTCTCAACGACGGCTTCTGCCACGTCACGGCCGCGACACAAGACTTTTGAGCTGTTGGGACCGGTGAATAATATCTGGCTGATATGTGTATAAAGTGTAAGATAATTGGCAGCCCGATTGCATTTATTATTGCGACGGTGATCATGTGCAGTGGTGGATCGTTAGTTTTTTTTGACGTAAAAGATAGTATAAGCGTCTTTTTTTAGATCAACCGAAAAAGAAATATGGAAAAAACGACATTTAAAGATTTTTTAGAAATCAAAAAATGTATAAACTGTATGTTGCTTAGGGCCTCCATGGTAGACAGGCACGGTTTTAGGGCCTGACGTGCGCCTGCCTGAGACCCACGTGGAGTCAGAAAGTCCCATTTCGCTTTGATCTTCAAAAAATGCGGGAGAAGAGACGCAGATATCTCATCTATTTCTGCATGGTCATTTAAGCGCAGACGTCACAATTTTTCTAAAATAATCCCGCATTTTTCGCCACGTAGAAACCGCAAGGAGACAGCCTGACAGCTATTAAGCCAAAGGCAAAAGTGTTTGGCCGTCTGACTTTTGAAACAAAAGGCTCGGTGAAAATTGAAAAAAAGTCTAATAATAATTAATATAAAAGTAGAACTATTTTCAGTAAAGGCCAAATGATTGTTTTATAAAAAGACTTAATTTAATTAAGCCCAATTAGATCTCCTAAATGTTTCAAGCAGCACAACTTTGCATGTGACGTCAGGCTGTCTCATTACAGTTTACAGAAACCGCGGGAATTTTTGTGCTCCCAGGAAAATGTGCCATCAGCACACAATGCATAATCAGATGAGATTTCAGCGCCTCAACTCCCGCATTTTTTGTAGATCAATCTAAAACAAGACTCTCTGACACCACGTGAATTTTCCAACCATCAAACTATCAACAAATTCGCGCCAAAAAAACTTCTTTAAAAACTTATCATTCCCAGTGGGAACAATCGGTCTCGAACTGAGGGATAATCTGCGACGGGTACACGCCAAAAAACTTCCCGACTGGAAAATCGCCTTTATCGAGAGTTCCTGAGTTCCGAAGGTGATCCGGTGATGACTACAGTTCTCATCATGACTGCCAAAGACGGAGGATCCATGGATCGGACCAAGTATTTGGAAGTAGCGGGTGAGTGGCATAACATATCTGATACCGTATTTCCTCCATTAGTAAGGCATGCAAAACTGATTTTCGGACACCCAATTTGCTTGCAAAACTAATAGGTGCAAAATTTTCGAACAGGTTCTTTCTCATTAAGTTATATATTATCATCAATTTCAATATCAACTTCTTAGGAACCAAAATGCGCGAATGTTACGACTGATACGCAAAAATTGTCCGAGTGTACTCATATTTAGCCTTGACCTGTTATACTCAAGAGCCGTCTGTAAGAGTTTTCCTACAGAACGATTTAATAGTGCAAATTTTGAATCTAAACTTAGGGAACAAACTCGTTAAGGGGTGGAAAAATATTAGAGGTGCAAAACTAATAGAGAGTGGAAAACTAATTTTCGATTAGTGATTTTTGATGCAACTAATGGAGGTGCAAAACTAATTGAGGTGACTAACTAATAGAGGAAATCGACGGTATATTTTTTTGGAATAAAAAATTTCAGCAATGGCTACTGCTACATCTCCAAAAACCTATCCGCACGTGGCCGGTGGAAACGGCAAGTTCATGGAATTCGAGATTTCGTTGTGGCCACTACTGCCAAGCCATTGCAACGACATCATAGGATACCTGGACGCCTAGAAAACCAAGTCAGCTAACCCAAAAATTGATGGCTACCAACTCTATCACCGATTACCAGAGTAATGGGTTATCAGCTTCATCTCGAGCGATCCGGGGTTACTGTGAATCAGTCGGATCCGGTCACTAATATTCAGAGTATGAAGGTAGTTCTGACGCTTCCTGTGTTGTCAGAGGTACGGACGATAGAGGATATCGTACGGATAATCTGAACAAGTGGGAGCTGGCGGTTTATAACTATGCTACAGGATACTCTGCACTCCGGAGGGTGACGATCATTTGGTGGAGATTAATGTGAGTGGCGAGAATAAATTGGACCATAAATTGGGCCAGCCCTAAAAAGACAGCGGGCCGGCCCATACCGACCCACTTAAGGTCAATAAAGTTTAATTCAGGTGTGTGCCGCAAATTTTGACTAGAATTTGCTCGGCAAAATCGGCTTTGGTAATCGCATAATTTCTCGCTCGGCAAATTCGACAAGATTGAGATTTTGCCGTTTTCGGCAAACGGCGAATTTGGCAAATTTGCGCTTACACCCCTGGTTTAGGGGTTTCACCGTGTTTAATTTTCAAAGCTTATAAACCTCTTTTCCAGGTGATCGGAAGTCGTCGACACCGAAATGAACAAGGACGCTCAGAAAATGGTGCCCAGTCCTACTTCATTGTCGGAATCGTCTCGATGATCATCTTTATCTTCTGCACCGTATCGTCTCCCTCTGCCTGCTACAGCAGTTCTAACGGATACTTCTCCAGTCGATCGGACTCATCGCCCTCGCCTGCCTTTGCCGATTCTCGCAATTCTCACTGCATTCGGAATCAATAATATGCTGGGAAATCGAACGAACTCTCCGATGATGATCATTCCGTCCTTGATCAATGGAATCAGAGTCAACGATGCGTTTTTGACACCCAGTTCAATTGGTTGCAGCATAGCACCCGGATTTTCCGTCAGGGAAGCGGTTGGCGTATCTGTTGGCTGAAGCTGGTCCATCGACGACTCACTACGACCACTTTGACAAATCTAATTGTATTTTTGATCGGGTGTATGAACCCAACGGAGGGAAAGGTGTGGTGGACGGCAAACTACTTTTTCCGGCAGCGTTAATCGGTAAATAGGTAAATTGCCGGAATTGAAATTTCTGGCATATCGAACCGGCAATTTGTCGATTTGCCGAATTTGCCGGATAGCGAATAAAAAATTGCCCAACAGCACCTGCGCCCTGTTAAGGAGCTTTGGCCTCTAACATAAATTTGTCTATTCATCCTTAATTCCCTCGTAAAACGACAAGATGTATTCCAGGGATGACGATCTTCTGCCTTGTGCAATCTCCCTACTCCTCGCCGTCTACACCCTCACGTTCTTCTGTCCGGTGCTAGTTCTTCTGCTTAGCGAACGCGTCAATACACGAGCCCAGCTGGAAGCTCGAGGGCACTTTCAGGTTCTCGGATTCTACAAAAATCATATGCAGCCGATGGACATTTGCACTTCTCATCATCGGAAGTCTTGTCTAGTGGGGTTTCCGTATCTATGGAACACTGGGGATCCGCGCCGGTGTTGAACACTGCAAAGATCCTTCCCCTGGAGACGCCGATCCGACCGAACTATCGAGGAGACCGTGTGAAAGCGTTAGGTCAACCCAGTCACCGTGATTGAGAACAGCCAAGTTGATATAGGCAATGCAAAGGCTTCGAGCATTTGACAACCTCGTTGCCATCGACTTCTATGCAAAAGTGCCGGGGATCCGAGTACACCATATCTCCAATCAGAGACTCTACCATCAGATCTTACGGTGGAGGAGCCGTGGACTTTGATTATGAGGAAGAAAGCGTGAAAAACACTTCACATTCCCCTTTAGACTCCAGTAAGATAGCCGTCCACGCGTTCCTATTAAAATCTACATATATGCCTATAACGTGGTTATAGAAGAAAAATAAAACGCCATAACCTTCTGCCGCGCAAATGAATCCGCGGGAAGAGACAAAACTACTGTAGTTTTTAACCAATTTGTGTAGGCATTTACGAGCTATTGCGTCATCGGTTGTATTTAATTTTGACAATTACTTTTAATTTTCAGCGTTTCACTCGTTTTTATATTGAAATCTTTTGTCGGTATTGAATAAATCTTAAAAGAAAACACAAAAAAATTAGAAAAATTCCGAAAAAAGCCTGAAAATTAAAAATTGCGGCTTACAAACTTAAAGTCAACGATGACGCAACTAAAAGCTCGTAAATCTACACAAATTGGTTAGAAACTACAGTAGTCTCTTCCCGAGGTTTCATTTGCGCGGATGGCGATTTTTCTCATGGATCACACACGTAATCGGCACCTACATATTTTGTGTGCCTAAAAACACGGTCATCCTAGCAGTGAAAGCAGACAAATGTAAGCACTTAACAAACGTGAGTAGGGCTTAAATGGTATGCACTGTTTTAGGGCCGCCTGTCCAGGCCTGTCTTGTACGTTTCAGCAATTCAAGCCGTATCTTTCCAGAGAGCTAGTGTCACCCATTGCCAGCTAACCCTATCTACAAGCATCACAAGGGAGGACTAAAACTTAACTTTTCAAATCCGTTAGTTTCAATCTGCCAGCCCCCTGACCCTAAATCGAGTCTACCATTTTCAGTGATCCAATCCGAAAAGTACAACTGATATCCGCGCTTTTATGAAAACGTAACCTTGTGGGATGAACGGATTTATGCAGGACTGGCGGACCAATAATCGCAAGTTCCCACGTGGCCCTAAATGTTTCAGTGTGGTTCTAATGTGAACGCAATGTGTCGTAGATCAGATGCTGAGTCTGGTTGGCGATCACGGTAAGATCTCAATGGTTCCAGCGCCCTATAAATACCGCTTATTCTTTCAGAATGCCCTAGTCACCTTGGGATGTATGGCTGCCTTCTGGGTAGTCTTCATCCGCAACCCCCTCTCAGTTGGCCTAGCGACCGCTTCGATTTTATCCATCTCCAAGTAACTGGATACCGGTGCTTCTGGGACTTGGATCTGGACCCTGTGACCCTCTGCGCAGTAATTTTTTCTTGGATGTCCGTTTATGAGACTTTGTTGCCCATGTGGACTCCTGTCTCTATCAGGTCAGGTATGAAGATTTCGAGGAGAAAGGAGTATTGAAGAGGATTGAGATGAAAACTCCCGAATCTTGAGTCGTCAACTCGCTGTCCAATTTGTGTTCCCTGGCCAATGGTCCAGTCGGCGTCTTCAACTCGTCTATGTGTCCTCCACCTTGGTATTCTACTGGTACCTACGAATACCTATACTTTACCGATAACCCTACCCCTCAAACCTTCCGGAACTATCTCCCAATGGTATTCGTGAAAACCATCCTGCTTACGTCGTGATTTGGACTGGGGAATGTTCCACGGTCTCGCGCTGCTCCCGTGCTCAATTCCTGGATTTTCCCCTGTCAGTGTTCAACCAGACGTTCGCCGACTTGTTGTTCGGCAGAACATCCTCTCTCGTCTTGCTCTTCGGATTCCGGAAACCGACACTGGTGATGCTCAGGAGATGGTACCGCTCGCTGGAACCGAGAAGCCTTAAGACCTGAAATTAGTTGTTGTTTGTTATTATGTACAGTTGGGATACAAAGTGTATTATGTAGTCTGTAGTGTCGCAGTGATAGAAACTACAAATTCAAAGCTACAAACTATAAGCTTTGAGATCTGGCAGAGCTTTATAGTTTGTAGTTTTATTGTAGCAGCTACAAACTACAAATTTCTTTTGATGGCGCACAAACTACAATGTACATTTTGCCAGTTTTCTAGATTTTTTCACTCACACACACACACACACACCGTTTTGCTACGTGGCTGCGAAAATGCAAAACTCGGCCAGGTCGCAAACATCGCCAGAAACTTCTAGCTTTACCAGTAGCTTTTCATGATCTAGTCTTCTTTTTTTTCCCCCCTCAATTTATATTTTTCTCGAAATTTCAGAACGGTTCCCTAGTCTTCTGTCACCGTGTCCTGCCCTCCCGCAAGCGGGTCCCCTTTTCCCCCCACAGATCGTACGGCTTCTCAGGGTTCCTATAGCACTTTTTTCTTCGATTCGTGCCATACAAAAAATTATACTTCCCATCGCACGCCGTGTCCATTTTGTCTTGTACTTTTTAAATGCATTTTTTGATAAATTTGATTTTTTATATCATCCAGAAAAGGGGCAAAAATTCAGATTTTCCTGGCGAGTAATTTTGCTGGAATTTTTTCAAGCATCAGACATGCAAAAACTAAAACGACACAACACTATCGATGGGGATTCGACTCGTTCACCCCAGTCATCCTAACTATTTTTCACTATTTTTTTTAACTTCTGTTTTTTTGGTACTTTTCTGGCCGTTTTTATGAAATTTTTTAGCCCGACATAGTTTACCTTTTTTTGTTCTGGATTTTAGGAGTTTCTGCGACCTTACTCTCACTCATGTTCGTCCTCCAGCCCCGCCTAAGCCTATGCCTTAACTCAAGCCTAAGCCTAAGCCTAAGCCTAACCTAAATCGCGTCAGAGAGAGCGTAACGCTCGCCACTGACGCCAAGCCTCAACCTAAGCCTAAGACTAAGCCTAACTCTAAGGCTAAGTATAAGTAAATCTAGGCCTCGGCCTAATACTAAGCCTTAGCCTAAGCCTAAACCCAAGCTATCAGAAGACACTCAAAAAATGTTCAGATCATTAAAAAATAACTACATTCAACAGTTTTCTTCAAAATTTAGCTTTCGACTTTCCAAGTAATCAATAACATGATTCCAAAATCTTCATACATCCCTCCCCTCTTCACATCGTTCCCGACAGCTTGTACTATTTCTCCTCCACCCACTAGGCAAGGTCTGCGTCTCTCGGGTTTCATACGCTATCTCCCTTTTGTGGAATCAGTTCATCGTTTCGGATCGTGGCTTACTTCTCAATATCCGCGGGCGTCGCTTTACTTTGATATAAAGTTCAGTTTTTTGAGGCCAAAATTTAATTGGTGGAATCACAGCGTTTGGCGATGAATTAATTATCGTGTGTATTCAACTTTAATATACGTGTACATTTTACCGATGCATGTAAGTTTTGGTGTATCAAAAAATGCCCCTAATAAATTTCTTAAGGGTGGAGGAGCGCTAGTGGGGAAATTGCGAAGTTTTATAACATGCCTATAGTACCACAATGACCGAATATCATGATAAAAAAATTCAAAAAATTTTTAAAATTTTATATGATTTTTTTTAGAGGAAATTGGAAAAATCTCAGTTTTTACACTGCCTAATTCCAATTTGACTTACCGGTAATTTTGTTCGATGGAGCGCGCTTGCACGTTTTAAAATTTATTTTATTTTTTGTTATTTTCCTTTTTAATGTTTTCGGTGTATTTTTGCTCTAATTTTAGAGAGTCAAGATGAATGCAGATTTTACGATTAAAAAGCACGCTCACAGGCGTAAAAATGACAGAGCAACGATTTTAAACGGTATCGAACCTCATCTATATTAATTAATATCACAGATTTACGACTGGTGCTTTTTAATCGAAAATTTGCATTCATCTTGACTTTTTCTAAAATTCGAGCAAAAATACACCGAAAACATTAAAAATTGGTGGAAAATAACAAAAAATAAAATAAATAAATTTAAAAACGTACAAGCCCACTCCATCGAACAAATTCGATAATGTGATTCAAACTGAGAACTAGGCAAAAACTGAGATTTTTCCATATTTCGAAAAATCATATAAAATTTAGAATCTTTTAAAGAATTTTTTTATCATGATATTCAGTCATTGTAGTACTATAGGCATGTTTTAAGAGCCAGCAACCCACTGGCGCTACGCCTCCTAAAGTTTGGAGTTTTAGTAAAAAAAGATCGGTTTTTTAGTTAATAATATTAATATCCAGTCGCTCCTCCGGAACAGTTCGACCATTTTTCACCACTCTTCCAGAAGTACGTGGAAGAAATGTTCCTATTATGAGATTATTCGAGAACTATGCTGCATCGTGGCCGACCAAAAAGTCTCTTAAAAAGGACTTTTTGATCAGCTGGCAAATGTCGGTTCCCGCAAAAAGTCGTATTTCGTGCAAAACCGGCAAAAGCAAACATTTTGATTACCGGCAATTGTCGGAGTTGCCGATTGCCGGAAATTTGCGGAAAGAATGGTCGTTTGATACTCTTTTTTAGATTGCCTAAAAATGCATTTTAATGAACAATTTTTAATTTTCAAGCTCAAAATGATTTAATGCTTTAAGGATTGTCCGTTTTCTTTAAAAAAGACTAACCGAAAACTATAAAAAAAGGTGAAATTTTTTCAATTTCCAAAATATAATTAATTTTGGCAGCCGATTGCCGGAAATTGCCGATTACCTTACAATACGGGACGGCAATTGCCGAAATTGCCGATTGCCGGAAATTTCCAAAAGTAATTGCCGGATTTGACGATCGCCGGAAATTCCCTATTGCGCTCCCTTGTATTAAAGGATACGGCAAACGATGTTTTCCCGCAAGCGTATCGGCAATTGCCGAAATAAAATATTAATTCGGTGCTCAAACGGCAAACGGCAGTTATAACAGCAACAAGCCACTTCTCCAATTTATAATCGGCAATTTCGGCGATAAACGGTCAATTTGCAAGAAATCAAAATTGTGATCTTGCACATTTTTTCTGGAAATTTCAGAATTTCAATTTTAAACAACAACATGGTACCCTATGAACATATCTTAAAAAACCCGGAGTGAATTCTATAAAAACTACCTAGAGAAACTGACCAAATACTTAAAAAAGGGACGGATTCATGTGATTTTGATTAAGATAAGTCTTTGAAAACTTTCGGAAAATTGAAATCCGGCAAATCGGCAAATCGGCAACTTGCCGATTTCCCGAAATGGCCGCAGCAATGAACTACACTGTTCCAAATCGAATTCGTAACCGATATTATACTTAGGGATATTTGTAACTCGTATAAATATTAAATAATATATATATATTCCAGCTGCTCCAATCTCTCCAAATGGATGCAGTAGCCACAGGCTACAACTCCCTATTATTCTCAATGGCTGATATGCAAATCGAAAAGGTCATGGGTAAATGGATAGACATTTGTTTATTCGAAAGAATAAAGAGGATTGTTCAATCTTCTATTGTTAGTTTATTTTCATTCTGAAAATGAGATGCAATTTTCAGTCGATATGGTACTTCGAACTCTATACACCGCAACATTCACCTCAAAGCAGGTCGGAGTGATTAATAATGATGTCGTCACCAATGTGGAGTACGGTAGTATGGTTGGTCGAGAGCCCGCAGCCGTTCTCAACGTAGTGTAAGGGATCAGTCTCCATGTAAGTATTTTAAATATCTTTGGTCCGGTGATGATTAAGATACAAGTTTAAATAGTTCCCGTTTCAAAACTTCGGCTAATTTCCCGCCAAAACTTTTCTCTGAAAAATTTTAATTACTTTCCAAATTTTTTTCTTTGAAAATTTGGACTACCCGCCAAAATTTTGTAGTAAAAAAATTGAATTTCTTTCATGGCTCCAAGAATGTTTTCTCAGAAAATTTGAATTTCCCCGACCGCCAAATTGTTACTGTCAGAAATTTTGAATTCGATTTCTCGCCAAAATTTATTTTCTGGAAATTTGGATGTCCCAAAATTTTTTTCTCAATAAATTTAAATTTCCCGCCAAAATTTTCTGAAGATCTAATTTAGCGGATATTCTTTCCAAATTTTTTTCATTGAAAATTTATTGAATTTCCCGCTAAGACGAATTTTATTGTCAAAAAATTTGAATTTCTCACCAAGACTGTTATCTCAGAAAATTAGAATTTCCCGCCAAATTGATACAGAATATTCTAATTTCTCGCCTAAATTTATAAATTACTGAAAATTTGGATTTCCCGCCAAAATTTTGTTCTCAATAAATTTAAAATCTATCTCCCGCCAAAATTTTGTTCAAAAAATTTGGAATGCTCGCCAAAATTTTATTGTCAGAAGAAACTTAAATTTCTCGCCAAACGCAGGTCTTTTCCAAAATTTAATTCCTGTCAAAACTTTGTAATCAAAAAATTTGAATTTCCCGCCAATTTTTATTCTCCGAAAATTAAGAAGGATTTCCCGCCAAAACTTTGTTCTAAAAATTTGAATCTCCTTTGTCGCCGAAATTTTATTGTCAGAAAATTTGAATTTCGAAATCTCTATGAATAAAACATTGGCAGTGTTCCCTGTACGAATCGGTGGCTTGAGTGACGAAGGAGAATATCAATACATGATCTTAAGTACACCCACTGTAAGTATCCAACGATGCTCTTGACAGGCTAAGATTGCCTTAAAATTTGTTTTCTAATTATTCCAATCTAATCTTCATGTGATGTTGCGAAAAATGCAAACATGTATTTTAATACATTTTCCCCCTATTGATGGCGTCGAAAAATGTAGAAAAATGGAATCATTTTTGTGCATGTACATTTTCGACATTTTTGACATTTTCCGACATTTTTCGACGTTATTAGACATTTTCACGCATTTGACCGAACTAGGCAATTTTGGGTCCGTCTGGGGTAGATTTAAGGAGCGGCGCGTTGCGTGTCGCGTCGCGGCTTGATTTTAGTTGTATAACTAAATGTAATTGCTCCGTGTGGAGTACACGACTTTCCCAGGCAATTGTCAATGGAGCGCGAAAAATGCAATGAGGAAGGACAGAACCCCGTATCCACAGAAAGAATTTTCTCTGCGTCTCTTGTCTTTAGCATTTAAACTGGGGCGAGATGTAGAAAAATGCTGAAAAATTTCGAATTGAAAAATAAAATGATGGCAATGTTACATTTTTCTGCAGTAATTGCGGTACGCAAAAAGCATCACATGGATAACCCCATAAAAACTCCCATTTTTCCAGAGACCTAACACTATTCGAAAGGAAATGGAAGCGTGTATGATGATTTGTTGAGAAGAATGGTTTTATAAGCGCAAGTCCAATGGCAGCACTGAACACTCGTCTGCATTTTTGCACAGATGTCTATGTTTGCAGAAAAGTGAATAATTTATATGAGAATGGAAATGTTTGAGTTGAAGATTATCTCTTTTCTGAGGATACGGGAGAGTTCAAGTTTGACGGGTTGTGCAGTGTTTACATTTCTAACCTTCATGTGTTAAAAATAAAGATTAATGATTAATTGGATCTGTATTTAAAATGAACTTTTAAAACACAAAATTTCAGATCTTGGTTTAAAAACGTATACACTTGAAACTTTGTTGAGTGTAATGACGTAATTTGAATTTCGCGAAAAAATGACTGTGATATGATTTTGACCGTGTACACGGGCAATAATATTTTAATATTATGGATTATAAGCGTTTTTCAGTAGACTTTCCATATTTTCTCATGATTATTACTTTTATGACCCAAGAAAAGCATTGTTTGGAACTCAAAATTATCAACTTTAAATGTTTAAAAAAATTCAGGAAAACATAATATTTGCGTATTAAAAAATTTCCCAGTAATTTACCACAAAAAAGTTTCTTTTTCTTTTTTTAATTTTTTCTCAGAAAAATCAAATCTCCCTACAAAGTTTTTCTCAGAAATTTTGAATCCACCGCCAAAAATTTTTCTCAAAAAATATGATTTCCCACCAAAAAAATTTTTCTCGGCACAGAAAATTTAATAACAATTTCCCACCAAAAATATAGTCTCAAACTAGAAATACTAAGAGCATTTTCCCGCCAAACCACTACTTTTTTTAAAAGAAGATTTGAATATACCGCCGAAAATTACTTACCAGAAAATTTCAATTTCCCGCCAAAAATGTTTTCTCAGAGAAATTTTTAATTTTTGGTCAAAATTAAAATACTACTACGGTACCTTAATCTTACACCTCCACCGAAAAAATCATTTTTCAAAAACTACTACAGTACTAACAGTACTCCTACCGTACTGCTAAAGTACTCCTACCGTACTCCTACAGTACTCCGGCAACCGTACTCCTCTACAGTATCACTACAGTTTACTCAAACCATATCACTAACACCAATCCAATATCCCGTCACACGACGATAACTTTTTTATTCAAAAATACAGTAATCTTACTGTAGACAATCTTTTAAAGTCTGCATCCAAAACTATATCGGATCCCAAAAGTAAACGACAGTCAGAAAATTTGTATTGGATTTCGCGTAGTTTGCTCTTCCGTGAAGGCAACACACGTAGCTATATTGATGCGATGAAAAACGAGAGGAATCAGTCGAGGTGTCTGATCTACTTCCAGGAGACCGCTCTTCGACTCCTATTGGCTCTTGCAGCCACCTCATTGGCGGCTCTTCCAGATTTGGGATATCCCGGATGGCAGTGCGATGCATCGCTTTACCATCCGAAGTAGCTTACTTTAATTACTAAATTTTGAAAGATTTTTCCTCGCTTCCATGAGCAAAACTACCCCGACTTCTGCCCACTCCGTCCGACTCACCGACATAAAAGTTTTGGGAGGAGCTCTCGTTTGGAGACTCCTTGTCCGCCGCCAATGGAGCCGGAGCACCAAAGGGAGAACCCTCTGGCTGTGATCCTTCCGTCAGTACAGAGCACTAGCCTTCCAGTGTGGAGCGTGGTGACCAATCTCTCGACGAGCATGTCACTGTTGAAAGTAAGCCATTTTTCTGAAAGCGGGAATTGGGAAAAGTGAGTTGTTGCTAGATGTACTGAAAAAGTTCCTAACCTAATGGGATACTCCACTGGAACTAGTTCGGAAGCGCCAACGTTTGGGAGGTCTCAAACCGAACCAAGCAGTTCCAGGAACTGAAGCAATCGATACCATCACTTAGATGCTGCCAGAGCTCTGGTGCAGATTATCCAAAGCCACGAGGAGGTGATCTAGCAAAGTCCAAACTAAACATCAATTCCGATGCATTTCCAGATTAAAGATTACAAAACTGATTGGAAGTTTACGTATTCATTGGAGCAAACGACATGTGCGCCTATTGCAACGACCGAGAAAATGTAAGATAGTCAACGATCATTCCACACCCGGTTTTATTGCATTTCTATAGGGCCTCAAAAGCAATCTGCAAAATGTCACTGCCATTCAAATTTTAAAAGATAACTTACCAAGGTAGGTAAACTATAGGAACATAACATTATAACAAGTAAATAACTATAATATTATGAAATTGTCACATACCTATACCTACGTATAAATACCTAAGTAAGGGTCCAGAGCGGTGTGGCAAAAATTTTGAAACCAGCAATTCGGCAAATTTTCCGGGGTCGGCATACTTGGTAAAGGGATCGCAACATTTTTTGGAGCTCAAAAAGTGCCAAAATTAACAGAAAATCTAAGTTGTTAAACATTTGTGGCAAATTCCAAATTTGTCTAAATTTTTGAAATATGCCTTGCTCGGTCAAAGGTATTTCCGCAAATTTGCCGTGGTTGTCCTCGGTAAAGCGCATCATTTTTTGGTGCTCAAGAGTACTGAGTTGATGGAAAAGCACTTGTTTCAGGAAACATTTGTGCGAATTACAAATTAAGTCCAAATTATTGAAATTTCCTTGCTCGGAACCCGGAGACCAAATTCGGGAAATTTGGCACACCCTTGATCCCATAGCAGTGGCGCAAAAAAATCTTTAAAAATAGCTTGTGGCCGTTTCCGTGCCAATTATAAATTAAAGTTAAACATATTATCGAAAAAATACGATTGCAAATTTTTGGCACTCGTAACTTTGGACAATCTACCTTACCTGTTGACTAGGCTCCTCCCCTTCCTTCGACAAGACCCAAAATAACAACGGCAAAAAGATTATGGGCAACGTGGTGCCAGGCTGTCCCATTCCAATGTTTGATCTAAAATAAGGTGGGAATTTTTCGCCCAAAAAAAAAGTGACATCGGCACGTTCTTACCATATTGCCAGTAAAAGTACTCTGCGTCTCTTCTCCCGCATTTTTTGTAGACCAGCGTAATTGAAGCCAAAATGAGACACTCTGACACCACGTGGGCGGAGTCAACTTCCACAGGTAGAACAAAAATTAATGATGAAAAAAGATTTGCGATCGGATTTTTCGATAATAAGAGCCAACATTTTCGGCTTTTTATGGAAATTTTTTTTTCAAAAAGAGGTACTCAGTACTGATGGTCCATAACTATGCCATCAATACCAAGTCCTTCCAGAACCATCGTATCGATGCCCGAAATGATCGACATGGCCATGATTCGCGAAATCGACCACCACAAGTATTTCTGCGACGGATGTGTACGAGTGATGCGAGAAGAACAAGGACTTCCCGAATACCGACAACTCGGCTGGCTGCCATGTTTACATGGATGCTCAGCAGGAGATTCAAGCCTCGGGCGAGTAATCTTCGACTCAACAGTTGACTTTACATTTGTCGTCCGATTCAACCATTCTTCAATGGAATCACAGTTCCACGACCGCCTCAAGACCGTCGGAGAAGTCAATCTGGATTGGTTTGCAACGGATTGATTCCATTTCTCAAAACTAGGCCACGCCAATGTTGGCAAGCACGTTGTGGAACAATTCAACCAGTCGGATCCAAGAACCATCAAGTCATGTCAGATCCTACCATTCCACTAAACTGCCCAGACACCAAGTGCCCTCTGTACAACTAAGAGTTGACTGCTCGAAATATAGGACTGCCTAGACTGTAGGAAATTGAGTTTGTGTGTGTAATTTGACGTACTTATCGGGTCTGCAATAAAATGTTTTAGTAATCTTTAATTTTTAACGTGTGAGACATAAAAGAGTACCCTCAATAAAAATATCCTCGTGGACACAATATAGTTATCCCAATAGAGTCAATCTAATTTTTGCAATTATTATTTATTAAGAATGGATATCAAGGTAAAGGAAGGGATCTAGATTTTGTAAAAAAGATACTGGAAATACGAATTGTTACGGGATTTCATAGAAGGGGATATATCACGACTTTTTCTTTGAAAAAACAACATAAAATGATTGCGGCTTCACAATCTGATCATCCGGTATTTCTCCAGATCCCTTTTCCGATTCGATCTTACTTGATACGCCGGTTTTGGACCTACCAGATTTTCATCTGGAAGAAATTTCAGCTATGCGTTGAGTGCAGCGTTACGCGTTGCGTGCTGCGTTTACCGCGTTGCGTGCCGCGTTGCGTGCTGCGGCGGGCTTCGTTGTCTCGTGCCGCGTTGCGTGCTTGTCCGCGCTGCGTGCCTACCTTGCGTCTCCGTGACATCCAATCGTTTTGCAGCTCACTTGTCTCACTACTTGACAAATTTTCGCCTCAAACTGCTTCTCCAGTTCGAATACTTGTTTCCCGGAAAATGAGCATCGTCCGCGCTCTTTCTTCTTTCTCTTTGTTTTTTGACAGTTTTCTACAGGAGACTTTTTGGCTTGGTCGAGGCTGGATTCTGAAAAAATATTCTCCTAACGGCTGATTAGTTTTCTACGTGTAGCATTTTACTGTCGTCGAAATTCATTGAACAACCCTGTTAGTAAATTTCCAAAAAATTTTTTTCATAATTTCGAAAACTGCGTATTTTAAATTTTTTCACATTTTCTAATATTTTAAAACAAAATTGAGAGTAAAGGAAAATTGTGTCTTGTAATTTTTGTAATTTTTACTCAAAAAAAGGCCAGTGAAGTACTATTACAGAAAATACGAATCGATAGCGCAGTCAAAACTAGAGAACATCAGTATTTCACCTCAAATGCACCATGCCCAAAACTAGTCTATTTTTCAACTGCAACACTTCATACACCTAATCAAAAGAAATCAACTTACTGATCTTCCAAATTCATCAATTTCTCCATTAAAAGAGACATAGGTAAGTCAAGTATATCCTTTATCAGGTGACTAGTTATTCTCTGCGGCTTCACATCAGACGTCAACAGGGCTCCTTAAAATAGCAGGTTGAAGTAGTTAGAAGAGCAAGTCAGTTTCCATTTTGCACGACTGAAAAGAACTTCTGAGAGACTTCTCAGTACGTCTCGAGGTCCCCGCCTCCTCTTCAATCAAACAATTGTAAATTCTGGACTCACGGGGGACTTTTGAAGGTTGACGACGACGACAATTTGCCCAAGTGCGACAATCATTGCGCAATTGGTGTGCAAAGAAGAAGATGGGAGATATGAGTTCTGAGATGATGACAAAAGCATGAGAGCACAATGAATAAAATGAGACCGGATTTCGAGAAGGAGGAGGGGGAGAGGAGGATTGGTGGTAAGGGCTGATACTTGATGCAATTGAGGGAATGCGTTTCTCATACTTGACTATTTAATACTTTTCTTGAACCTTAATTATTTGGATTGTAATTTTGTAGCGGAGGCACATGTGATATTATTGTGCTAACTTGGGTAATCCTTAGACTTTCAAATATAACCTTCATTATTTGAAAAAAACTTTTTGAATAGACCTGCAAGGTTGATCTACAATTTTTCATGGAAATCGAATTAATTTTGTAAGGATGTCTACTGAGTATAAGCTTATCGTTAGGCTTAGGCTGAGGTCTAGACTTAAGGCTACACTTAAATTTACTCAGGATCGCCCTAGGCTTCGGCTTCGGCTTAGGCTTAGGCTGAGGCTTATGCTGAGGCTTAGGATTATTCTCAGACTTACGCTTAGGCTTACGCTTAGGCTTAGGCTTAGGCTAAGGTGTTGGCAGCTTAGAATAAGCTCAGGCGGGGGTGACCGCGGGTAGAAAAAAAAGGAGAAACTTCCAGAAATTCACAAAATTCAGAAACATACCTTTCATAAGTTTATTTTTTTACTAAAAAATTACTCTTAAAATGTATGCGAGAAACCCGCATGCAAAAACACCTTTTTTTTTTTGAGCAATTTCTACCTTTTTTTTATTTAATTTAAAAATACACTAAAAAAACCAAAAAAATTTTCCGAGCCCAAATTGCTCCCAAATGCTCTAAATTTCTTTTGAAGTCTGATATATTCCTATTAGAACTTGAGGAAAATGTAAACCTAGAGAAACAATACTACGCATGTTAAATGTAAATTATTAGTTTTAAAAAGTCGTACGTTATTTTGGAAAGTTTGAGGTTTTTGCATTTTTTCCGTATATCACTGAACACTTTTATTTAAATATCATCAATTATCGGAAGTAGGTTGCAGGAGAAAAAATATATTCTAGCGGGGTAAATTGAAATGAGACGGGGATCATTTAACTAAAATCGAAAGTTAATAGTTGGTGATCTACAAAAATTCTTAAGACAGTATAAATTCACGACTTCCATCTTGGGAACATTCTTAAAAAATGTCAACGAATAAAAATCTGACATTGTGGCAAACAAACTTCTAAATGTTTCAGACCTTATATAGCGGACATGACAGTGGCTTGCTTATTTGATATGACTTGAGTTTATTTTTTTTTTATTTCAAGCGTGGGGAGATTTATTTGCCTAGATATATATATAATTATTACTGGAACGAACTGGAAAATAACTTGGGATCAAAATCAAAAATTCAAACCTTCAATAGAGATTCAATCTTTTCGAAACTTTTTCTATAGCTTTGTCGAGAACCAACAGACCACGTAAATACTTATAGCTAAAATTTTATTAAGATTCTAAGTCATGGTGAATCGAGAGTTTGTCAAGTTCCATGTGGTTCCTAAAAATAAACCGATACACGTGGTGTCAGGCTGTCTCATTGCGGTTTGATCTACGAAAAATGCGGGAATATTTTTCCAGAAAAATTGTGACGTCAGCAAAAATAAATAAGGGTCTAACCACAAAACTGGTACTTGAATCTTGAATATTTTTAATTCACCCTAAATTACATTCCCCTGATTCCGAATATCTATGATGACTGAAAAAATTCAAATACAAAAATTTCCTGACAAAGATTTATATTTAAGCTAAATCTTTCATCAAATTTTTTTTTTAAAAATTTCATGTACTCGCATCACTTTTTTCAAACTGGCGCCCAAATAAATTAGCGCGCGCGTGCATCGTTTGACCTTTTTTTCGTTTTTTTTATTTCTAGCCGAATTCAATTTTTTTAAAACCAGTTTCAGTCATTTTTGTCGGTTTTTTTTTCTGAAAAAAATGTAAAAAAACGACAAAAAATCAAACAATGCATTAACAGCGCGCTCCAATGCTAATTTATTTGAGCGCGTATTTAACAAAGAAAGAGACCGGGATACAAATGAATAATCATTCGGCGATCTCAAGCTTAAATACATGGAAAACTTGTTTTGAATTTTTAATCTTTTCACATACATACTCGGAATCAGGGGAAAATTAGGATTCATTCAAAAATATTTCCCAGATTTCACTCGGTACCCCACCTTTAAAATTTTTACATGTTTTGGGAAAACAAGGGAAATTTCTAGAACCTATTTTATGCCAATACCTAAAATGCTGAACATAGATAAAACACACACACCCGTATGAGTATTATATACTTCCAATGAAACATTTGAAAAATAAAGAGTTCTCAGCTTTGATCATCCACTTGTGATATTCTCACGCGTAATAGCACATGGCACCAGCTCAAAGTGCTCATTTTGGCTATATATGAAGGTATATGAAAAAGTGGAAATTGGGAGGAAAAATGGCATGTTGACTTCTCTACGTGGCCTATGTGTGAAAAAACCCTTCTATGACAAATTCAGTTTAATTTTTTAATTTTTCTTTTTAAAATTCTAAAAATGGCTAAACGTTCAAAAATTTTTTAAAAGCCAAATACTATTAAATTTCTTTGTTGATTTCTTAACCCAAATTTACGATTTCAGTCAAATTTTTGAAAATTACAAAAAATTTAAAATACAGCTACTTGTAAGATGCGCAAAACAAGAATTACAGAGTTTTCAAACTATACAACAGACAACTCTAGTGGCTGAAAACTTCCAAAGTTAAATAAAAATTCCAAAAAATCGATAAAAAAATGTATCTCGAAAAATTACCGCTATAAGAAAATGGCCTTCTCTATCCCAATGAAATTATGGAAATAGATTTTTTCAAAAGCGATCTAGTTGGACGCTGTGCAGGGAAAAAAAGTTCAAGCGCGCAAAACTTTCGCTAGAAACTCAAATTTGCCTCATCAGACCTTGTTGGATTTTTTTCCCAAAGAATTTTCAAATGCCGAATACCGAAACTCCAGGGCTCACGTTTAGACCTTAACATGAAACTTTTGCCATTTGAACGAGGCTCTTTGAATCTCTGTAAAAGACTTAGCGGCAGACGAGCACTTTGAACTACAAAAATGTCGCTAAATTGCTATCATGGAAATTTTTCACTACTATAGGAGCCCGGTAAAATTGCTCCAAATCATAATTTAAAATATTTCTTCATGATTTTTTTTTGATTTTTTCATGATTTTCGAGGTAGGAGCAAATATTCAGTTTATAGGATATATTTTTTTTGGAAAAAAAAATCTGAAAAAACCCACATATCCAATAAAAAAATTACCAAAAAGCTTTCAGAATACTTGTCTACCTCGAAATATCGTAAAATTCATACAATCTCTGTTCAAATAAAAATATAATTTGGAGCAAATTAATGGGCAATTTCAAAGTCTAAAGTAGTGAGCTATAATGCATACATTCCAGAAAATGGAATAAAAAATAAACTGAAGTCAAGTTAATCTAATCTCAAGTTACCTCCTCCTCCTTCCCCCAACAAATACTGCTCAATAGCCCCCAACCAACTCGTTCCAATTTGAATAGTGTATTATTTAACAAGCTCTGTCATATCTCTCTCCTATTTTTTTTTTTAAGTCATTTTTATCGTCGCACCCCTCGACCGTTGTTGTATTAGCCTCTCTTCCTTCTTCTTCTTCTTCATGAAAACGAATTAAATTTCTTCATCCAATTCACTCAAATCACATCCTCCACCGACACATTCAATTAATCAACCGGTCCTTAATTGAACACAACAACAATCACTATTTCATAAAAATTAGTGTTTTTAAATGTACATTCAAAAATTGCGACGGCTGGAAGAATTATTATTTACACCAGAAGAGTAAAATTTGTAACCATAGTTATGGTAGCTACGGTAACTCAAAAAATTAGGGCATAATTATGCGACATGTTCTCATGAGTGCGCAATAAAAATAAAGCTGATCCAATACTCTTGAAATACTCCAATAATCGTTTCTGATTCCGGGATTCCTTCTCAGACAAATGGAGCTCGGAGTGCTCAATTGGTCAATGTCGCTGTCATGGCACCAGGGTTGTGCGGCATGGATTTTTTGGCAATCGGAAATTGCCATTTGCCGTTGGAAACTCTCGGATTATTTTTTTTCGGCGATCGGCATTTGACGGTTGCCGAACATAAACTCGTTTTTTCGTTTATTCGCTTCCGCATTGTTCGGCCGACAGTGCTTAATCTCCTTGAGGTAATTTTTTTTTATATTTTCTTGTATTTTATAAACAGTCTAAATAATTCAATTCCAATGATAAGGAGTGTCTTGGTTTAAATTTTCTAGCACAGATAATTTCATTTATTAACGATCAGACTGGTAGGATAGTCAACGATACCACCCCAGAGGCTAGTATGATTCAAAATAACACATGGACATACAGCAATAGACAAAAGATCTTTGAATGGAGTTTTATGGTGGGGTGGCGATGTGTCGACCTAAAGAGTATGTCCTAAATATACGGCTAATAATTCAAATATGTTGTATTTTGGAAAGTGTTAGAACACAAGTGACTGTTTTCGGATACAAGAAGACACAGAGATGTCCCTTGATTGTTCACAGAAAGCGTTTAAGGATCCCGTTTGACTACAATATTTGCGGATTTATGTTTCAACGAATAAATGTAAACTCGAAATTTACTATATATACAGCGCTTTCATATTCCGTTTTTCCATAGTTTGTTGGCTATGTAGTCTTTGTTTGAAAAGCGTCGTCGTTTCAAAATGGTTTCTGGGATAGTGAGTCGGGGTTAGGGATATAGTCGGCGTACTGTAGTGGTACGATGGTGGTACGGTAGGAGTACTGTATGATTACGGGTTAGTCTCAGAAAAATTGGATTTCAGCAGAAGTCGGCGGCCGCGCCAGAGGTGCAGTCCACGGCTGGTATATACATATGTATATGTATGTATATATGAATACATATATTCAACTATTTAATTTAAAAAATAAAAAAAACATTTCTCACAAATGCCGAAAACACCGAAAAATCGAACATATTTAGGCATTCGCCGATATTTTGACCAACTATTTTTTTTAGGCGAACGGCATTCGCCTTTGCCGCACAGTCCTGCATGGCACCCCGACCGGTTTCGTGACCACAATAGTTTTGATCTGAACGCAATAGGAGTCAGGAAGTTAGGGGTCATGGGTGCTGTAATCGGACCCCCAGTAAAAAGCACATATATTGACAACAAATTTTGATCGCTGTTTTTTGTCTTAATTTTTTGTCTCCCCTCGATGCGCATTACTAGTAATGATGCTTTATTTTTTTTCATGTATCTAACAAATATATCAAAAAACTGAAATTAAAGCGCTTTTGTTCAAGTTAGCAAGATAACCATTATAAAGCATTCCAAATAGATTTCAAATTAGCAAAATAAAGTGGAGAAGCTAGGATAAGATTGGGGAGTATAATTTTTCGGGCACACCTTCAGACTTTGTGGCCATAATAGCCCAAACCCACAGTTTAGTGAAAACTAGGGCTTCATTTGCTATATGGTACCCGGCACCTAACCTCTTTCAGCAATCGAATCCCAAGCAACCTTCACATCTGTAACCTTGACAAAAAACACGCAATATCAAATGGAATATAGAATTCTTTATTCAAGAATCATCATCATCATTTTTTTCAATTTTTACCGAAATGCCGAGCATATTTTTTGTCACAAGGGGAATGGCAACGGCGGGGAGCCAAGAAAATCAAAAAACAATATGGACAGAATAATGTGCCAGCGGAGCAACCATGCATAAATAATGAGGTTGGTGAGATGAAGAAAAAACAGATAAGTTACGACGCGAGGAACTACGATTTTGAAAAATAAACTGCTAAATATGTGCTTAATCCTCCCAGGTAAGCGATTATAGGACGGTTCTCGCATCTTAGCTGGCAGTTTCTCTTTCCGTATTGTTCCAGTTGACGTTGGCGAACCCGGCGTCTGAGACGATGGTGTTGAATATCAGCGTCCTCCGAACTCGGAGGCGTCTTCCTCGATCTTTCTGGCGGCCTCGAGGTTGGAAGGTATCAGTGATTGGATTTGATTTATAGTTCTTCTTGAGTTTTTTTCTTTATTTTCCTGCTTGTAATTCTAAAGCAACTAGAAAAAAAAGTTTCGGAAGGCATCTATCATGCCATGATTTGCATACCCGGTATGGGTTTGCGCGCGCGGGGGGCTTGCAACATTTTCGTAAATGACATTACGCTATGAGAGGGGGGGGGGGTGTGTAAAATAGGTATTTCTTGTCTGTCCCCGTTATCAAGTTTCTTGACGCAACGCGAGAGAAAACATACCTTCTCGTTCCTGCAACGCGGCCTCAACGATGGAGCTCTGGATGGTCGCAGTTTCCCTCGTCTCCTTCCTCATCCGTCGGCGTACTCGACAGCTTCGTTGGTCACCTGGAAATTAGAAATTAAATTTTTCTCGATTAGTTTGGCCGAATATAAAAAGTAATACTAAGAATTTCCCCATGAAAGGCTGAAAAGGGGATTGAGGTTTCCTGGGAAAAGTGAAATCCCGGTCTCAAAATTTCTTTTAATTTTTTTGAGCTCCGTTGAATACCGACAACAAAAATGGCTCTGGAATTTGAAAATTACGGGGCACCGAAACACAACTTCATCTACTGCTGCCAGTATGTCACTCCCGCATTTTTCGGAGGCTCAATCGTAGATCAAAGGTTTCCGAATAAGTTTAGATTTTTATCGAGATTGGTAACAACTAGGATTGACAAATACCAAATATCAAATATTTACCCAGATGCAAGTTTTCTGGGTGCTTTGAACTAGAATTCCTGGGAACTGATTGTAAGTGTCAAAACGCCCTCAGCCAACCGCCTAAGCCTAAGCCTAAAAAGGTGTCTCGAACTTAAATTTCGACTGGCATGGCATTCAAATGGGTATACCGATGATTTTGTTTCAGCTAAATTTTTAGGGTCGAATTTTCAAGAGCAAAATTGGGATATTTTTAAAGACTATTAATTGTCCAAAAATCCAACAATTCCAAGTTCAAATGAGCTTTAACTTGAGATCACCTTCCCAAAACCTCAACAGTATCAACTTGCGGTGGCGGTCTCGTGGCGGTTGATGGCTGCTCCTTAACAATATCCAATCAAAGGTGCCTCATTGGCGCTAGGGCAACTGGAGCCTGAGTCCTCGACAACTGGAGCTGGAGTCTCTTCAACAACTGGCGCCTCGGTTTCCTCGATCACAAATGGAACCTCAGTCTCAACGACGGCTGGGTTCGCTTCTGCAGCGGCGAGGTGCTTCAGTCTCAGCGTCGATTTCTGGAACGATTTCCTCTTGGACAGTCTCGGACTACGGTTGGCTCTGGTGCTTGCTGTCGTTCAGATGCCGTGCTTGTTCTGGTGTGCTTGCGCTGTGGCTCGACAGGCTGACGACCCGCTATGCTCGACGGGTTTTGGGACTGGCCCCTGGGTGTATGTGGTGGTCCGACTATGCTCGACAACTGAAGTGTGGGTGTGAATATGTGGGTGGGAGTGGTGCGAATCTGACTAAAAACTGTAAAAACTAACCATGAACAGCCTGGTGTGTCCTGTGGTGGAGCTTGGTAGTCGTCCTTGAGAGACTTGGGTCACCTGGATAGAGCTGACTGGTTCCGATTGGTACCCTCCTTGTTGAACTTGCTCGACTGAGAGGGTGCGGCGTTGTCTCCTCAGGTTGTGGGGCGACTGGGGTGGGAAGCTCCAGCGTATGAGGGTCCTCGAGTGGTTGGTAGCGTATGGATTCTCCGATGCCGCAGCTTGGGAAGCTCCAGCGTATGATGGTCCAGCTTGCGATCCAGCGTCGCGAAGATGCTCCTCCTCCGATTGGTCCTGAACCAGCGTAGGCAACCTCCACCGACTTGTCCTTCGAATCCTTGTCGACTGGTCCCGAGACGAGGCTCCTCAGACTGGTCCAGGTCCTCCGAAATGCATGGAGCGGCATATCCGGCTCCTCCACCGATTGGTGCCGGTGCTGGTTGTGGTGGGGGTGGAAGGCGCGGCGGGATAGCTTCCGCGTCAACGCCTCCGGTTGCGTAACAGTAAACACATGGGGTTAATAGTATGGAGGTGGCTAAAGGGAAGCAGGTTTTAGTTTTGGCGGCCAGCAGCAGGAAACAGGACAGTGATTTTGCATGAATGGTGGCAAGTAGAATGCTTTGTCCTAAGGAAGACATCAAAAGATCTTCAGAAAGAAAGAAATTATTTTTGGAATCAGGAAAAAGCATTTGAATAGCAGTAGAAAAAATATAACAATAATGTATAGTCACTAAAATACAAAAAATAATGCAAAATCATCGTTAGCTCGAGCTAGAGCATGGTGGAGCTCATCCTCCGCACGATGGCTGTGATGATGGGCAACATCCACGGGAGCTGCCGGCACCTGTCTCCGATACACGCTAACGCAGCGCGACACGGCAAATAAGACGGCTACGACATGACTCTCATCGTATTTGAGAAGGCAGAAATCGCAATGGAATGCTGAGTAACTGTCGTCGAAAGGCAACGTAGGACGTGCGTTTTCTAACAGCCACCCCAACTATTAAGTCCGCCCATGGCCGTCTGGAGGGGGCACGCGGCACGAAGCTTTCCGAAAGACGCCCGATCGCGTTTGATCGATGATGATGATGATGAAGAAGTGATGAAGCCCTCTCTCTCCGACGGAGGACACCTTATTCACCTTGGGTGCGTGTGTGTGTTGCAGTATAGGTGCAAGAAGAAGCGATCTACAAATGGGGTTCGTGGTCATTTCCGAATGATCCAATGCTGGAATATTCCTATTAATGTGACTCGTGCCACCTCATTGTTACTACTTGCGTGATTGGATATGTACCGTTGTTTCCTTTTCTAGTTAGATTCCTGAACAGTTCACCTTTACCTAATCCGGTGATCGATGTTCCAATGCTCTTCCTTTCACTTCCATTGCAGCACCTAATCAGGCGGAATATCATGCTTTCACTACTCTGCAGGTAAAGTGTGAAAATCCTAAGTTTTAGATTTCAAAGATGTCAAAAACGATCGTTGATCCTACCGCGCTTCCGCATCAACTGATATCAGGTTTTTATTAATGACAAGATTGTGGCAGAGGAATGAACTGGTTAACTTTTAGGCTGATTTAGTCTAACCCCGTGGAAAAACTTCCAGCTTTTACCTAGCGGTAACTGCAAACTACGGAGGATTAAAATACATACATTTTGTAAAAACATACATCACTTTCATAAAAATTTCGGTTTAGTTCAAAAAAGAAAAACACATTTCTGTTTTGAGATTTTTTTTTTATACACCCAAAAATGTCGATGCAATTTTGATGTTGATGCACCTAAGGGCGATTTAAAGGAAATTATGACTTTGCTGAATATTTTTGTTGTATGTCTTGATTATGGGTTTGTAGGCTTCGATGGCAGGCGCAGGGGCCGACGGGTCCTGGCGCCCGTCTGAAACTTACGCCCGCTTCACGCCGGCCTTTTGCCTCTTTTTTGCATCCCTTTTACGTGGTGCCAGGCTGTCCCATCGCAGTTTGATCCACAAAAAATACGGGAATTTTTCGCCCAAAAAAATGTGATCGTCAGCACGTCTTTAACCATACGAAATCAGTTGAGTCTCTTCGTCTCCGCATTAGTAGATCTGTGTAGATCAAGCCGTGTAGCGCGCTGACAGCACGTGTGTTTCTCATTGGAAATTGGAGGCGAAAATAAAAAGTTAGGCCATCAAAGTTTCAGCAAAAGGCGCGGATTGAGGCGAGCTCGCTTTGCTAAAGTCAGGCAGGCAGGCGGTGAACGCCTACAGGAAAAAGATTTTAGGTTATATCTGTAGGTTTCCCTTTTGTGTGTTTTTTAGACCGTCCAAAGAATCGTATCAAAATGAATAGGTATTTTCTCGTTTTAGGCAGATAGGTAAAGGTCTGTAACCTGAAAATCCAGAGCCTGATAATCCACACCTACATAATCATCAATTAAAATATTCAGATAACTGATAATTTCCTGAAAATAAGATATCTGTAAATTGAATCAACACCAATTTTAGTGGTCCATCAAATGCAACATTGTATTGATATATAAACTTTGGTAGTCAATATATGTTTTCTTATGCATTCTTCTCACTACAGTGCACCTTGATCATTGAGTACTTCATCTATTCTTGACCACTTCCTAAAAAACAAGAAATCAATCACGGCGAATATCCAAAAAGCATTAAAAAAGTACATTTAAACGAATACATTATTATTGCCCGTTCAATCCTCGTAATGTATCTTTTGCAAGTTCCTTCTTCCTCTGTCCCGTTTTGCTCCAATTCTCCGCCATACCTGATATGCTCGACTTTTTCGATCATAGACGCGAGTTGCGCAACGCGCGAAAATATCTTGCGCAATGAACAAGGAGAAGAAGAAGAAGAAGGAGTAGGAGGAGCCAAATAAAAAATAGGTGATAACCCGGGAGATGTTAAGCCAAGGAGTAAAGTGTTATAGCTTGAAGAAGGCATATTTTTGTTTCACTCCCCCCTCTGACAGCTTCTTCACTTTCACTCCAACCGTTTTTACTCTGAATGGTAATAGTTGACGGATCGCAAAGGCAAAGCCCTAATGGTCATGATTTAGAAGCAGCGGGGGTCTTGAAGGACGATCGGACAACTGAGATATGAAGCGTGAAAAACGGAACGCATGCTTATAAGAGGGGGAGATATATGGAGATTTGTTGGGAAAGAGCTATGGTACCGATTTTAATCCGGTATTGTGCTGGATTATAGTGTTTTGAAGTAGTAGCTAGGCACTGAAATTCACCCTCTAAGCCGTTAGAATTGCACATATTTTAAAACTATGCACCAGTTTTCTTAAGAACTGCTTGAAAGTTGAATTTGAACTGGTAGTTCTTGCAAAGAGGTTGAACTATCTGGTTTAGTTGCGTCCATAGTGCTTTGATAGCCCTTTTTAATTCCGCCAAGAGGAACGCCGGATTACCCATTTGCCGGGGATTTTCTTTGGCAAAGGAAATCGCCGATTTGCCGTTTGCCTAAGAAAAAATTTTTAACAGACGGAAAAACTTAACTGTGTCATTTTGAACTTATTACCGTTTTCTTGAAATATTTTCATAGAATCTAACTTTTGTAAATTGGAGATGAAGGAACATTTATATTATTTGAAATTGAAATTGTGGACCTTAAAAAAATAATTTGCAAAACCACAATTTCCCGAACTGCCGTTTTCCGCAAATTCGGCAAGTCGGCAATTCGCCGATTTGCGTAGCGAAAATTACAAGCAATTTGCATCGGAATGACAAAGCAATGTTTCCTAACATAAAATTCTAATTTTCAAGAATGATTTTTTTACTCAAAGTATTTTTATAAAAGAGCCGAATTATTTTAAATGCCCGCGCAAATAAGTGACCCCACATTTTTTACATTATTTGTATTTTCTGGCTAAATTAATTGCGGTTTTTGAATGTTTTTTATCTTTAGTATATAACTTGAGTAAAATTCACAGTAAAAATTAGTTTTGACAAGTCGATTTTTAGTTTAATTTCAGTTTCGGAGTTTCGGCAAATGTATTCTCAATTAACAAGTTTTCCAAAAAAAATCTGACAGAAAATTGACAAACCACGGTGTATCAAGCCGAGAAACCCTGACACCACTTGTGATTCCCCTTGGAGGCCCGCCTAGATCAAAAGTTGGGCCACCATCATTTTTGTTCGAACTCAATTGGTAAACTTTGCAGACTAGGCTGACACGTGGTATTTAAATACAATTTTCCACATTTATTTTCCACAAACCGAATAAAATCCTTATCTGAACAGTGTTATATAATTTTTTTCTTCAGATCACTCGACAATTTAAAATATATTACAGCATTCTTCTTTAGATGTTGAACGTTGATGCTTAGGATAAACATGAAAACCAGATCAGCTTTTCCGTGACCTCAAATACTCATTTTCTCAAATTCTCAAAAATGTTCTGCCTTCTCCAACGGTCTCTAAAAAAGCTTGGAAAACCCACAAAAGGTGTCTTGGGAGGGACACTCTCTTTTATCGATGACCGGAACGCCGGTATAAATGGGTTTTGCGGACTGACACCAGCAGGTGGAAATGGGCGACACTAGTAAAATAAAGAAAAATAATAATACTGAAAAAACAACACGGTATGCGAACAGAGAGTAGTGGCAAGATCGGAAGAATGGTCGGGGGGGGAGGGGGGGGGGATTACATAAAGATGTCGGCATAAAGTGCGTTTCATTAGGGTTGGGATTTTTATAGGGGGAAACTTTGATTTTTTTGAAAAATAAATTAAATAAGAAAGAAGCGACAACAACCAACAACAAGGTCATTTTTAAAAGGAAAATTTGGCTTGAAACTTAAACATTTTGGGATGAATTATGAGGATATACTCATAGATTAACCTAATTTAACAAAAAACACGTCGTCGAAATTTTTAAAAATGAAGCTACTGCAATTTTGAAATTTGGTGGTCCTAAGAAATCTATGGTTTTGTGGTATTTTGACGATAAACTGATTTTTTGTGTTTTTTTTCTGGTATTTTGAAGCCGCTGTACTTCAAACCCTTTTCATATTCTCAAAAATATCTTTGCAAAATTCGGTTTTCTCTAAAGAAAATTTCAAACTAAACCACTATTTTCAATTTTTAAAAATCTGCAGATAAGATATCGGAAAATTCCGGCAATTTGCCGATTTGCCATAAAAGTTCCGGCAACTTGCAGATTTTCCTATTTGCCGTAAATTTCAAATTCCGGCAAATTGGCGAATTCACGCCGGTCCTACCAGTGATGAATAAATCTTGTTTTTTTCTGGTATTTTGAGACCGCCGTACTTCAAACAATTTTCATAGTTTTACATATCTTTCAGCGAGCGGTTTTTTTTGAATATCAAAATAAACCAAAAGTCTACTTTTTGTGGTTTGTTTTTGTAATTTTTTTTTTAGAAATTTCAATTTTAAGATATCGGCAAATTGGCAATTTGCCGGTTTGCCGGAAAATTTTAATGTAGATCTGGCGATTTGCTGCTTTGCCGATTTGCAGGAAATACTCTATCCCTGATGTAAATTACCAGAATTAGAAATGTGGTATAGCACGATTGGCACACAATTTTTTAGTACTAAGGATAACACGCTGAAAATTAAATTTTTGAAAAAAAAAATTCTTGAAATTGTTTTAGTAATTTCGTAATCAATTTATATCATTTTTAGCCTTTTGCTCCAAACTAGGTTTTCTCCCACGTGGCATCTCTCATTACACATAAAAATCCCTGCTAACTCAAAACATTAAGTTGTCAGAGATTCATATCCATGTCCGCTTCACTTTCCAACTTTTTCCCTCTTAGCTTATCTAGATATACGTATATCTATCTACAAGTGCAACAACGTTCTCTTTTCAAACATCCAGTTTATCTTCTGACCTTTGCAACATTTTTCCTTCCAAACTTCCAGATTGCATATTATTCTTACATTCAAAGAGTGTCTCAAGTTTTGCTTAGAAGAAACATAAGGTAAAATGTCAGAATATCTGTTTACAGCATTGTAATGGCAATTTATTGTAAATATTCGCAATTTTGAATCTCCCTTAAAATGGTTAATTTTGTAGTTAGAGGACTAAATTAATGCCCAAGAAAAAGTTGTCATTTTTCATTTATCAATGATTGTACATAATTTCATGCCAAAGAAAAAATTTTGCCAAAAAAAGGACAGTCATTAGAAAAAAAAACGGAAAAATGATCTGGATCAGTGATTCTTTTTTATTATCTAAAAATAATCAGCATAGTCAAATGTACCAGAAAAAAGCAAATAAAATGTACTAGATTGACCGGAAGATTATTTGAAAAATTGCAGAAAATGCACCAAAAGCTGCTTTTTTCAAAAATTCACAAGTAGGATACAATTACGGAGCTATTCTTTTTATTTCGTAAAACTCTTCGCATAGTCAATAATACCATAATATGTCGATGAAAGTATAATATCTTGTAGTAAGTATCTTTTTAAAAATTGATAAAAATATATAAAAGCTGTTTTTTTCAGGGAAACTGAAAATCCAAATGGAGGGAAAAACATAAGGCATTCTTTTTTATTGCAGCTCATAAAACTCTTCAGCATAGTCAAAAATACCAAAATATGTCAATTAAAGTATAATAGCTTGTACGGAAGTATTTTTTTAAAAATTGATAAAAATATATAAAAGCTGTTTTTTTCACTTGCAAAACAAAAGTATGGGAAAATCATATGGAGTCATTCTTTTGTATTTCATAAAACTCTTCAGCATAGTCTCCCAAAAATACCAGATTATATCAATCAAAGTATAATAGCTTGTACGGACGTATTTTTTTAAAAATTGATAAAAATATATAAAAGCTGATTTTGTCAAAGACCAAAGTCAAAAGTACGGGAAAATCATAAGGAGTCATTCTTTTTTATTCATACTCTTCCCAGAGGTCCATAGCCAAAAATACCAGAATATGCCAATCAAAGTATTGTAGCTTGTACGGAAGAATTTTTTTAAAAATTGATAAAAACAAATAAAAGCTGCAATTTTTTGAAAAATTCAAAAATTCAAAAGTATAGGAAAATCATATGGAGTCATTCTTTTTTTATAAAATTCTTTACGGAAGCATAGTCACAAATACGAGAATATTCAAAAGATAATAGTACGGAATTTTTTTTTTTTGATAAAATATATAAAACTGAATTTTTCAAAAACCCTTCAAAAGTAGGGAAAACTATATGGAGCGCTTCTTTTTTCTGTAAACTGTTCATCATTACGGGTAATACCTGAAACTACCAAAAAAAGTAAGCTAGCATGTACGGAAGATTATTTGAAAAATTGCAGAAAATGCACCAAAAGCTACTTTTTTCAAAAATTCAAAAGTATGGAAAAATCATATGGAGCGATTCTTTTTTCTTTTATAAAACTGTCAGCATAGTAAAATGTACCAGAGAATACCAAAAAAAAGTTGGTATGCTAGATGTTCGAAAAATTGTTTTTATGGCGTAATTTCTGAAGAGGAGTTTCGAAAATGTGAATATTTCCCAAAAATGGACATTCTTGCCACTTTTTACTAATTTTTGATGGGCTAAACCTAGATTTTTAACGCTAAATTTTACATTTATGAGTTACCCGTTTTATCGACAAATTCAGGCAGATTTTTATTTTTTCCTATTTTTTTAAGCCATTTAATCAGCCATAATAGTGAATGTCTTTTTGGGCAAAAAAAAATTTTTTAAGGCTGACCAATTTTAAGCTCTCCAGCTATAAAATGAACCATTTTAGAGGAGTTTCAAAATTGTGAATTTTTACAAATATTGCCCCAATTTTCCACTTTGTAATGGTTTTTGGTGGGTTAAACCAAGATTGTATTCTGCATACATGAATTACGCGTTTTCAACAAATCTTAACAAATTTGTTTCTATTTTTTCCAAAATTTTTTTCCCTCAGCCATCTATTCCTTTTTTTTGTCTGTTTTTTTAGGGCAAAAAAACCTTTCCCACGTACCACCTTTAATAACACGGTAAACTGGTCTAAAAATCGGCAAGCGGAATGAAACTTCAAGTAATATAATGCGATGAATTGAGTTTTTTTTTCTATTTTCTTTGTTGAAAATATCAATATGAAAAAAAATGAGTAAAATTATATTGACATAGTTAATCGGATATAAATAATAAAACATCACAAGCACATTTAATTTTTCAAACCCACTCAGGAGTCATGAAGAAATCCTTCTCTGCACATCTAGCTTTCTCCACATCCAACTACTTTTATTATCTCCAGCAAACTCCGTGTAACTTTTATTGCATACACATTCAAAAGTTTTGTATGATGCTTCAAGTCCCAAGTCGATTACACAATCCCCGAAAAGAGCATCGCTGCGAATTATGTCAATTCCCTCTTCTAAATGCACTTGTTCTACAAACTTCACTGATTTCCTTAGGATGCCACAGTCCCCAGGCAACAGTTTGTGCAAATTCTCAAGGTTTGATTTCAGTGGGCAAGCGGCAGGTAGCGCTCATTTTAAATTATTGATTTTTTTAAAACATTATTAACTCACTTCGTCGCTTTCATGTGCTCTTCTTGGATTATGGTCATATGGTAACTAAGAATCTCGAAAGTTGTTTAAATCCCAAAAAGATCACATTTTTCCTTTCAAACGCATTTTCTCGTTTACAATGTGACATCTCTTGTTCAGTAGTTGGAGTCGGCCTCTGTCGCAGATAGTGTGACCAGAGCAAGTGCCTATTCAAGGGATTTGGGTATATCATGATCTGGAAAATTTGGTATGTAGGGCTTCCATGGTAGGCAGGCGCGGGGCCTGGATGACCCGCTCCCACCGGTGAATTTACAATGATTTTCTCGTATAAATTTTGTCATTTTGATGAAACAAAATTGAGGGTACAGGCAGGCGGAGGTCGCCTCAACTCGGCGTTTGCCGCCACCAAGATTCAATCTACCTGTCCAAAGCATAGCAACTTCTAACCCAACCGCCTTGCCTCAAAAAAAATAAAAAGCTTAAATATCAAAATTACTCAATTTTGTGTCAACCTATTCTACTTTTCTGAGACAATTTGAATTCCCTCCAAAAATTTTATTGGAAAACAAGTTTGAACTTTCACTGGCCAAAATTTTTTTTGGCTGCGCCAAAGATGATCAAATATTCTCGGCAAGATTTTTCCCAGACCCCAATTGAACTTCTTGCCAAAAATTTTGATAATTTGAATGGCAAAAATTATCTTGCCTTATGGTGAGGACACAATCAATAGTTGTCAAAATTGTATATGTCTGTCAAATTTTTGATGTGTGTTGGCAATTTTGGCAAAGCATTTGCCGAGCTGTCTCGGCAAATTCGGCAAATTTGCCGAGCTCGGCAAATTCGGCAAATCTACTTTTCGAAATTCGCCAAATTTGGCAAACGGCAGAAAAAAGTACAGAGATTTGAGGTACACAAGGCTTACATCGAAATTAATCTAATTAAAAGAATGATCACTTACCATATATAGCATATACTGCATATTTCAGTGACCTTCTTCGCAACAATAGTCTAGACACTGCCCAAACACTACACACTTGATGCTATTTATGTACTTTCTATGCTGAGCAAACAGAACATGCGATTTGAGGAATCTTAGGTAGCAGCAAAAAGATTGACATATGATTAAATTCCTAATTTGTTCCTTAGCTTCCCGTATGTCAATTAATTCGTAGATAGTTGCTATTGAGAAAAGTTTTTCGAAAATTTGTAAGATATCAAAATAATAGTCCTCATTTTTAATTTAATGATAGAGTACTTTGAAAATTTCAACAATTTCAACACTTTTGTAACACCTATGTTATCAATCAAATACAACAGTTTAGTACAGTAATCCTACATTTCCAGCCCACGTGGTATTAAGACAGTGTTAACCTTGTTATTTTTTAAGGACTAAAAAAATTTAGAAAATTTTTCTTCCCATTTTGCTTACTTATCAAAAAAGCATCGTGCCCTCATTTAAAAAAGAAGGGTCGTCGCTGGAAAATGTTAAAAATTTCTCTCATGATGCGCTAAAATTACTTAACTGTTTAAAAACATTATAAGTATCGTAGCGAATTTCAAAAATCTTCAAAATTTAGATTTATTTATAGTCAACAGTTTTGGAAGTCAATTAAAAACATTTTTTACTATTTTTAATATTTACAAACGTTATAGTCAGTTGCTTGTAACTTTATAACTCCGTTGCCTACCGTACATTTAAAACAACCGTAAAAATCTAAGCTTTTCTCCCGATAAAAATCTTTACTCAGGCGCGCGACTCTTTTCTTACATATCTTTCTGAATCTAATCAATATTGAGCTCATACTAGCTGTAAAATTGAACATACATATAACTTTGAGTGCAATTTCGACCCATAATTTCAGAAAATTTTCACACACAGAAATCTTTATTGAGAATGATCAGGACAGTTTGACCTTTCATGAGAATTGCTTGGAGAAAATTCCAATCGCACAAAATTCCTCATTGCCAAGTATTTCCTTTAGTTTGTGGCCAACGCCTTAAAAAATAGAAGACATATTAAAAAAAAAACTCTGACACCACGTGATTATGCAATCCGACTCATCGTCAACACACGGGGTTCTGCCCTTCCTTATTGAATTTTTCGCGCTCCATTGACAATCACCCCACGCCGTCCGACACGTGTGAAAGTCGTCACTCCACAAGGAAAAATACATTTAGTTTTACGTTCGAACTAAAATCGAGCCGCGACGCAACACGCGACGCGCCGTAAATCTACACCAGCTACTCTATGGCCAACCGAAATGGCCTAGCTCACAAACTCTTCCATTTCAATTTATAAGCCAGAAACCCGTGCGAACTGCGAGCCTAACGCTCTTTTTCAAAATATCGTATAACTCGGATAACAAGCCATATTACCAATTCCTGTTTTATTTCGAAAAACAGATAATACAAAAGAAACATATCTGAAAATTAAGAATAGATTACATGTTTTTATCAAATACTTCTTTGTCTATATTCCATAAATGACCCCCATGCGAATGAAACACTCACTATACATTCAAAATGAATTTCGCACTTGTCGCTTTCCTCGCTCTCGCTAACATTTGAGGACTTGCACAGGGTGATCCAGGACTCTCATTTGAGAGAAGATTCAGTAAATATTGTAAGCTTTCGGATTAATGGTTACAACATCTATTAGATTGAATGGCAAAGTGCCAGTGGGAGCAGTGAAGACGTTGGTTAATGATCTTGTGAGCCCTACTACTATTTAGGGGGTGGAGAAAAACAACATTATCCTCATTGTCAGTTTAAGGAGCTACGGGAGGGCTCCATCTCAAATGTTTCAAATAACTCATATTGTACCTTTCTCTGGTGAGTAAAATAAATTACATATTCGGAATCCTTTTCTTTTTGATGTTAACCAAGTTGCCGGTTGCCAAATTTTGTTGGGTTCGGCAACTTGGGCAACTGGGTATCAATGTCAAACATTTTGAAGCTTAGAAAAAAGCATTCAGAGAGCCTGAAAAATTCTATAATTTCATTCTAAACGAAAACTACTTTTTTACCAAAACGCTGAAAAATATAATTTCAACAAAACATTGAAACGTGGTTGCCCGACTGAATATTTTGGGGTTCGGCAATTGCCGGTTGCCCGTTAACCTCGGTTGCCGCACGGCCCTGATGTGGAACTCGCCTAGTGTGTCGCATACTTCAATGTGAAGGCGTATTGTATTTTTTTAAACATAAATTAAAAATTCGCTAAAACCGTCATAGCATATATAAATTGTTTAGACCGGTGAATAAAAGGATAGGATGCCACGCGAGTGCGAACGCTTTTCTCCGAAGATCCAAGTCAGGACGTCGATGGGCGGGACCCGGTGGGCGGAGGTTAGTCGGATAGAGCAGCAGACAAAACATCCGGGCGGCGAGATCAAGTGCGTACTCCTCGACGGAAAGGGAACTTGAGGCGCGTGGATTGGTTCTCGTCAGATGAGGAAAGATTCTAAAGGGAGGCGACCGGAGCCAGTTGTGGGAGCTCCTGTCAAAGTCGTTCTCTTAAGGGAAACAAATAGTGGTGTTAAGGGGAAATGCGATGGGAAATCCGAGTAGTTGATGGCGGAATTTTCTCGCGGGTTTCATCCTGGAAATTTAATTAGGGCCGCGGATTTCAACTTGCCGAGTTTTTATTCGCTTTTATGAAAAAAATTACTCGACAAATGGTTTTTTTTAATTAAAGTATCCGAAATCCCCGAAAACAGGCCATTTTAGAGAGAGGTCACTAGAGGTTTCGCGACATGGAAATATGTATTCAAGGATTCTTAGGTAACTACCCAATTTTTTTACCTCGAGTTTAATAAATTTCAGGTAAATCCTCTTGAATAATTCTAGTTTTGTTGTTTTACACAAAAATTCGGTTCCTCTTTATTCCGCGGAGTAGCTTTCCAGAGGTTGAAATATTTTTCCGGAGTCAACTCCTACCCGAGTTTTTTATCTCGATTTGAAACATAATCGGCATAAGAAACTACAATTATTTGTTTTCGGGGTTAGAAACTTTAAAAAATGGCCCCAGAAAGTTGCTGGAAATTAGCTTTCCCGAGGTTTCATGGAAATTTGTTTTTGCGGATTTCGACTACCCGAGTGTTTTACATCAATTCATTTCTAATCGACATAAGAGACTACACTTATTTGTTTGGGGCGAAAGCTAAAAAATCCCCGGAAATCTGGATTTCTAGAAACTAGATTTCCCAGTTTGGTTCATGGAAATTTGATTCCGCGTATTTCAACTACCCGAAATTTCAATCTTTAAAAAACATCCAGTTTTTGTGAGATGTTCTTAAAAATAGCTATCAGACGTGATGGAATCCTAAATTTCTAACTATAGTTTCCGCGGGTCGAATTTCTAGAAATGACCTTTCCAGGTTTCATGGAAATTAGTTTCCGCGGATTTCAACTTCCTCGAAGCATTGGATTGCAATATAATTCGCACAATAAAAAAAGCCAAAAGGCGAGGATCCCTGGTAGTTTAAATCCGCAAGAATAGTTTTCTCTAGTTTGAAAAGTTAATACTGAAACCCTTACTTATGCTTTCATTAACCAAGAATTCGATCCGTCGAACAATTGCTTTGCAGTCCCAATATTCGGCGAAAATTTCGATGGTTATTCCGACGGTGCTCTTCGATTTTTCGCAGGGTTTGCTGATACCTGAAAAATCGATATTTCAGACTATCTATGCCAAAAACTAATTAATTAGTTTACCTTCTGACTAGCATCCTCCAGCTCTACAATGTAATGAATGGCGGCTTTATACTGTTTCAGCTTCTTCTCAAGTAAAATCTGAACACAACCCGTTTGCCGTGCCATTACTCAACCTGAGCATGAGCACTATCTTGTCGGCGCACACATGGCCCGAAGTTGAGAGCCAAGTTGAGCCCATTTTATGTTGACGGCGTCCTGTCGGCGCCACGTGCCAAATGATACATTAGGTGATCAGAGCACGGCGCGGTTCGGTTGTGGGAGAAGCTCGTTCATTACGGAAAGACAACCGGACACGTTCACCCATATCCCACTTCTGTAATTTTGTTTTTTTGGACGAAAAAAAACAACAAAAAATATCATTTTGACAAAATGTTAACTGTCAGAAAATTTGAAAATTGATTTATTATTTTTGTTTCAATTTTTAGTTTTAAATGAATGAATGGATTCCGATTTTTGTAGGAATTGTCGAAATTTTTAATAAGAGCCCTAGTAGGCATGTGTGTGTGTCTCATCGGCTTGACCTACGTAGATCTACAAAAAAATGCGGGAGAATCAGAGGTCTTAATGGATTTCTCATGGTTAACAATATGCTGACGTAACTTCTGGGTAAACACATATTTCCGCAATTTATTGTAGATCAAACCGTATTGAGACAGCATCTCTGCCTGGCTGGGGACGCCTCTTTTTTCCCTTGGAATTTTTTTGGCGCGAAATTCAACTTTTTGCAAGTAAGTGCGAATATTTTCAAGCAAAGTGAGACTACGTACAAAATTATTTTGCTGCCAAAGTTTTTGAGTTTGCAAATAAATTATTGAGCAAAATTCAAATGATATTTTTCTTTCGAAACGTAATGAAAAAACTCAAAGTTACAAATAATTTGGCGCGAAATTTGATTTTTCAAAGATTTCTAGCGTGGCAAAATTTGAATTGGAATAATTCTGGTCCAGAATTCAAAAATTAAAAAGAAATTAGTTTGAACGATGCGATGCCCTGGTTTTCATAGAGCTTCCATGTAGGCGTTAGAAAACGCCTGCCTGCCTTATGCCGCGCCTATGCTTGCATATACGTAAACTTTTTTTCATTTCGTATCCTAATTTGATTCAGTTGACAAGTTGATAGAATTGAGAAAATTATAATTTAACGCATTTATCCTCTTAAAAATGCAACAAAAAGGGTTCAGGGCAGGTGCCAGGCCCTGAAGCGCCTGCCTACCATGAAAGCCTATCGTAAATAATCCAAATTTAATTTTTAATTTTACTAAAATTTCGATGGCTCGTTTTTTTTCAAACATCACAAACCTGAACAGTCAAAAAATTTTCGAGACTCAAAAATGATAATTGGTTCGGCGAGTTCTCGGAAGTCTAACGCCCATTATTGACAAGTGTAGCACATGAACTCCAATATCCTCAAGATTCATCATATCCGCCTGAATCTCCGAATCACGCTTGATTTTTTTTTGTTCAATTTTTCTGCAGTTCAACTCCAATTACCTGCAGTCGATTCAATCACTTGTCTGATACTGCGGATGAACTTGGGGTAGAGATCAACTGTTTCTGAAATTACTGGCGCAAAAAATTCATTAGATTTCAAAGACCAAGTATTTCGGTACCTATAAACTCCTTCCATTCTCAGAACCCCCAGGGACGCCACGTGTCTCAATTGCAAAAAAGAGTCGGTCCCAGAAGTGTTGGCACAGTATGCTCATCATCGACGATTGATACTAAATAGGCACCAAAGCTTCCACCAAGTTTGTCTGAAATTCAATCTTTATAATAGCATTATAAAAGCATATTTGTTGCAGTAGTTTGTAACAGGGGTCAGACAAATTGCCAAGCAAATTTCCGCTGGCAAATCGGTAAACCGGCCTCCCGGTCTGGATTTGCTAAAAATTTTTGGCAACCTTCTTTTGGAATTTTCAGAAAATTTACATTTTTATCGGCAACCCAATTTTACGCATCGTATGAATTTTCTTACATTTATTTTGAGAAGTAAGCAAATTCTATGAAAACATCTGAAGTAAACGAGAAAAAAAAATTAAAGGCACAGTTTTAAGTGTTTCCGTCTTATAAAAAATCCCTCTAAACATTTCCGGGAAAACTGATATCCGACAATTGCCGGAATTGAAAAATTCCGGCAAATTTTGATTCTGAAGCGTCTTTATCAAAAAAACTGTTGGTAAAATACAAATTTTATTTGATTTTCAAATATGTTTTTTTTTTCAGAAAAGTGAATTTTTTGCCGGGAATTAGGCAAATAATTCTGCTCATGAAAATGTTTCAAGATTTTTTTGCCACGAAATCAGACGGTTTGAGAACAGTTTTAGCGGAAAGTTAAAAAAAAATTTCAAAATTTTTGGCAATGGAAGTAAATATTTTTCAGAACATGTATCCGAACAGTTTTGGCTGTAAATTAATCAAATGTTTAGTTTTCAACAACTCTTCGCGGAGGATCCAATATTTTTCAGAATTTTGGAAATTAAAAATTTATCGAAAATAAATTGCAATTTATAAGAAAGCAGTTGTAATTTTTTTTCAAAAAGGTACCGAAAAAATCTGGCGAATTTGGCAAATCCTTGAGCTGAACAAACCCGGAAAAACGCAATCATTTTATCCTTTGACTTTTTGGATCAGGTTCAAAATTACTGAATTCCTACAATGAGTCCACGTCAGATTTTTCTATAAGCTCCGTTTGGTCTACTTGTATAAAGCTCGAAATATCTCAATGTTATGTTATTTTACTAGATTTTTTCAAAATCAATAAGTTTTTTTCGGGTAAATTATATTGTTCATTTTGTGGTGTGTGCGTGCTCTGAAATTTCACACTTTGCCGAGCTCGGCAAATGCAAATTCCCGCACACCCCTGTATTACTCACCTTCGGAAATCGCCTTACCATCTGACAGGGATGTGTGACCTTCGGCTGATACTTATGACACGATATCCGGACCACGCAACACAAGTTTACAGCTTCTCATGGAGCCATATTAACTGAATACACACTTCAACAATAAGTCCAACGGCACATGGACTGCTTCGGCACGAAATCGGTGACCAGCATGTACCTGGAATATTGGAATTGCGTGGGCAGGGTTCCTGACACTAGTTTCATTTGTCTAAAAAATTTTTTTTTAACTGCCTGAAATTAGTCCAAAATTACATGTTATCTTTTCTCAAAATGTGTGAAAATTGCACACTGAATTAATAAATAATATTACTTTTGTAAGAACATAAAAAGGGGAAAAGTCAGCGGTAAAAAAGTAAAAACACTCAGAGTTAGATCTGTTGACCTCAAAAAGTTCCATGAAAATTTCCTTCTTTTTTTTCAGAGATGTGACGTCGTAGCGGCAATTTCCGTTCGGTAAACATTTATTTTCGGCAAATACGGCAAATAGCTTCCCCGATTCGCAGTTTGCCAGTAGGATACCAATTTGCCGGAAGTTAAAGTTTTAAAAATTCCAGCAACTTAAAACTATTCTAACATTTTTGAAATGTTTTTTTACTATTTTCTCTAGATATTTTTAGAATTTACTTACTGTTCAAGCCCACAGCTTGCCGAAAATTTCCGGCAAACTGTCGGTTTGCCAAAATGGCCGGAAATTTGAGAAACGGCAATTTGTCCGTTTTGCCGTTTTCTAAAAAAATTTTCGCAATTACTGTATTAGCCGTTTGCCGAAAAACTAAATATGCCTCCCATCGTCACACAATACAAAAAAATTGCGCGGCTTCTGGAGATCAAATCTGACAGCTTACTGTACTTATAACTACAAATTCACGCTGTGTTTTTATCTAATTCACGTGGTGTCAGGGTGTCTCAGGCTTGTTCTACGTATATCTACAAAAACGGGGGCAGAGACGGAGGAATGTGCTAACGTCACTTTTTTTTTGAAAAAAAAAAAATTCCCGCATTTTTTGTAGATCAAACCGAACCGTAATGGGACATGTTAACCTGGCGCCACGTGCTAATAGTAGTCACTACATTCTTACCGCCGCTCTGATATTACACGCCGATTCTTTCCAACTTTCTGAATACCAATTACACCATTTTCTCGGATTTTGATATATAATACCGCGGGCTTCAGACTTCCGTCTCATATTTTCAGAATGTAAGAGTTTAGCGAAAGGTCATTTGGGCTAGGCTACGGCGCGTTGCAGCTCGCTTTTCTTTGCAAAACTAAATCGGCGTATCTGTCCGATTTTCATTGGAGCGCGAAAGGAAAACTAGAAGCCCATGTATTAAAAAATGCCGACTTACCTTTCGTTGATGAACTCATTTCTCCTTCCCGCTTCTTTTCCGATTGCACATGAACCTTCGTTCAGGAAACTTCTGGAATTGCTGAGAGTAAAAAATTGTTTTGTTACGAACGCGCCCAGCCCTAATAAAAATTGATGGTGTATACCACGTTGGAAATTATACAACAATACGGAGCACTTTGCTCGAAGCCTAACATTTTCTAAATGTTTTCTCACCTAAGACAAAAACTCCAAGTATTGTCGGAAAGGATACACTGTCCTCGAGACAGACTTTCGTTGAAAGTACCTCGAACATTGTGATGAGGGTATTTTAGCACGGATTGCTCGAGCTGAAAGCTGATATGTTGCTTATTACACTTGCGTGGCCGTGAACCCCAAAAACTAGGCCACCTTTTGCGCCCAATTACCGATAAAACCCCAAAGCCTCATATCGCAACAGCTCCATCATGGACAGCTCTTAGCGACTTTTTTAAGACCGCATCCACTACAGTATCGCTTTTGGCATTACTCTCGTTTAGATGACGTGTCTCGTTGAAAATAAAAAACTGAATTGTCGGAGATAGGGACGTCGGTGGATTCTACTAGCATGTTTCCAGGATCGATCTGTAAGTATTGTGCTTTAAGTACAACTACTGCTTCAGTTTGATACGCATTGTAGTTTATAGATTGTGGTTTGTGTTTTGTAGTTTGTGGAGTTTTTAGCACTATGTGTGAAGCTTGATATTCATTTTGCAGCACATTGACTTGGATTGGGGTGTGCTAAGATATAATATCAAAGTCCAGAACGTCACGAATAAAACATCTCAATCCGGAAACTACAAACTAAACCCTACAGACACTTACAAACTACAGACTATATCCTACAGACTACAAACTACAAACTAGAAATCACAAACTACATCTACGCAAAAGAACGTTACCTACCTGTTGCTTGACTGGTTTGTGTTAAACTGAACGTGCCGGTCGATGGAATTGGTGAGGAGGATTGACGCTGCTTGTGGGGCCTGGAGTTTTCAATATTTTTTTGTTTCAATTAAGAATTTCCTTAAATATACCTTACATCAAATCCCATGGCCGTTTCGGTGAATGCAGCCGAGTTGGTTATCGAACTGGTGACGTGGGATTGCACGGAATGGAGGACTGGCGGCGAAGACGAAGCATTCCTTGTGCAGGCACATTTTGCATCCTGGTAGAGGTCGTCAAATTACGGCTTCTAGGTCATTGTGGCCGTGGCCGATGCTTTAAGGGATGCTAGGTCATCTGACGTCACATTTTTTGTGGTTTTTCTAGGACACGTTACAAAGAGTTCGAAGCGCCCAATTTTCGGAGAGGTTACTAGGCCATGCAAATGTTTTTGAGGTTTCTAGGCCAGTAGAATATTGTTTCTAGGCCGCAGTAGAGAATTTTAGGCCATATCTGACGTCACAGTTTTTGGGACGCGGCCTAATAACGATGGTGGACCTCTCTTCTGGGAGGAGCAACAATACATTTTTTACGAATTTCAACAATAGAAGATGCAACTTCACTATGACCACTCATGTGGTGCGAGGTCTGCTCATTACGGTTTTATCTACAAAAATGCGGGAACTTTTTTCCCAAAAAAATGTGGCGCCGCCACGTTCTTAAACTTGCAAAATCAGTTGAAACCTCTGTGTCTCTTCTCCCGTGGCATTTTTTTTAGATACGTAGATCAAACCAAAATGAGACCACACACACACACAAAAACCACTCTGACACTTGTGCGCCTGGATGAAGTTCGTCAGGTGCCGGCAATTGCAAAGAGCACATATCTCCTGCCCATGGGAAGTCGTGACATCATGTTTGAATTGATGGTTTTTTGGGACGACACGTCCGGCGACAGTTCGGCAAAACTTGTGTCCCGGAGACGGTTCATCCTCGTCCTCGTTCCTGCCCAAAAGTGCCTTCAAATTCTTTTTTGCCTTCAGGAATCCCAACTTTCAAGCGCTTCCTTTTTGGAATGTGTTGGGCTTGCTGAAAATATTCAAAAGTTTTATTATAAGCCATAGAACCCTTACCGTGATCTTCACATCTTGACATTGAGAAATTGTTGGATGCGGTACTATTAGCTGACCTTCCGTAACATTTTTAACTTAGTGGTTGAAGCCGTAGGGGCCAGAGATTGCCGTCTATGATGGGACCTAGATCAGCTCCTTCAATGAGCTTCAACTTTGTGTCTTCCGGGATAACTGGTCCACGTCGACGGCGTCATCGCTAAAAAGGTTTGCTGTGTTACGGTAAGCGAGAATTATGGCAGAGGTGGGCATTGCCGTTCGGGAAATTTTTTGTCGAAAAATTGCCGGTTTGCCGAAAATTTGAATTCCGACATTTTGTCGGCGTAGTTTCCCAGAAATTTTCAATTCCGGCAATCTGCCGATTTGCCGGAAAATTTCAATTTCAGCACGTTGTCGATTTACCGGAAATTTAAATTGCGACAATTTGCCAATTTACCGGAAATTTCAATTCAGGCCATGCTGTCGGAAATTTCAATTCCGGCAAGACAATTTGCCGATCTGGTTTCCGGAAATTTCATATCCGGCAATTTACCGATTTGCTTGTGGAGAATATCAATTCCGACAGTTTGCGAATTTTCCAGAAAAATTTCAATTGCGGCGATTTGTAGATTTGCCTGTAAATTTTCAATTCCGGTAATTTTCGCCGATTTACCGATAAAATTTCAATTCGGCAATTTGTGAATTTTCCAGAAAATTTCAGTTCCGGCAATTTGCCGATTTGCCTGGACAATTCCAATTCCGGCAACTTACTTTACCGAATATATCAATTCGGCAATTTGCGAATTTTCCAGAAAATTTCAATTCCGGCAAGTTGAAGATTTGCCTGGAAATTTTCAATTCCGGCAATTTCGTGCCGATTTACCGAAAAGGCTCTGCAAGTCCTTCGGTAATTTGTGAATTTTCTCCAGAAAATTTAAATTCCGGCAATTTGCCGATTTACCACTGGAAAATTTCAGTTACGTATGCCGATTTACCGGCAATCTCAATCCGGCAATTTGCGAACTTTCCAGAAAATATTCCGGCAATTTTGCCGATTTAAAGGAAATTTCAGCATAATTAAGGCTACGTTCGCCGCTTTACCGGAAATTTCAATCCGGCAAGACATTTTGTTTTTCCAGAAAATTTCAATTCCGGCAATTTAACGGCCGAGTTTCCTGTTTCAATTCCGTTTGCCTGCCTGGGAAATTTAAATTCCGGCAATTTGCCGATTTGCCGAAAAAATTCTGGTACATTATTTCCTAGAAAATTTTCAATTCCGGCAATTTTCCGCTTCACCGGCGAATTTTAAAATCCAACAATTCTGGCACATTGCAGATTTGCCAGAAAATTTCAATTCTGGGAGTTTGCCGTTTTACTGGAGATTTAAATTCCGGCAGTTGCCGATTTGCCAGAAAATGATTCAATTCTGGCAATTTGCCGCTTTACCAGAAATTTAAATTTCGGCAATTTGCCGAGAGTTTTGCTGAAAATTTAAATTCCTAAGAAACTGTGACCGAGATCAGTTTTGACGTCTCTTCCAGAAAATGCACTAAGGTGATGTGACGTCATGACTGAGTTTCGAGGCACGTTTCGTTAACTTGGCGGAGGACCTAATATCCAAGGGAAATAAATTCTTTTTAAATTTCATAATTTTCTGAAAAAAAACTCACTCCTGAGAAAGTCAAGTCTCTCTTCCGGAATCATCATAAACCAAGCCCATCCTGTGTAGACTTATCACTATCTGTATCATCACCCGAAAGAGCAAAAGCCGCCAGAGAGCTCGGAGCACTCAAGTCGAACTTTGTTAGCATTGCTCGAACCTTCGTCTACGATCTATACGATAACTTCTTAACGCTCAAGGCTCCATTGCCCTTGGGAATCTCGCCGACTCGCTTGCGAACCGATGCTCCGAGATACGCAGACTGCAGAGCTATCACCGATTCTCTTATCATAAATATTTCTGTCGTTGCTTGTACTTCTTCCAATTACACTGTATCGTTTGAGCTGCTAACGCTTTTTTCCAAACTTCCGCACCTCTCAAATGATCGAAACAATCGCTTGATCTTGATAAGTAATCTTCATTCTCAAATATCGCTTTCTAGCCAATATTGTCCTGAACCATCGTTGAAGAGTATCGATTGATTACATAATGGTCCGATGCAAATGATCATCGAGAACTTTTCAGCGTCTCTCTAATAAAAATCTTGGCAATTGGTTCCATATTGAGTATTATCATTACAATTGTGCAATCGTTGCATGGGAATGTATGTACTCTTTCACATCGTCCACAGTACTATCCCTTCCGTTTCGCAAAAGAATTCGGTATTGTTGGACAAAGCTTGGATACGAATTCAATTCTCATCTCAGTACCCGGCTGTCCGAATTCGAACGGTCTCGATAGCATTCCGGTGTAGGAGCTGGCGGAGGGTTATGTTGTAGTCGTCGCAAGTGGTTAGCGATCTATAAAATTTTAGGTGGTTTTTGATAATTTCTACTTATATTCAGTCATATAAATAAACACATATAAGTACCAAAAATTTCGATCACCTAATTTTTCTTAATTTTTTCTATACTCTTACTAGTATGAAAGAGCAGGATACAAAAATAACTCCACAAGTGATAAACCAACTTTAATTGGATTAGTGTGTATCACTTTGAGTAAACTAATATTGAAGGTTTAAATGTGGACATACCTAGCCTATAAGCAAGAGAGGTCCTTGTAAGTAGACTTCAATAGATTATGAACATATTATAAACTAACGTTGGTCAAAAAGTAGGTGTTCAATGATTCCACCAATACAAACTCACCTTATCATTATTACTCTTAATACACCTTAAAATACGGCGTCGCGTTGGCCAGTGCGCTCATCAACCTCGTAGTCTCGAACTGCTTTGAAACCGACGATGGCTTCTTGGCAACCCTCCGTCCTCCGATAGCCTCCGTCAGAATTTAGCGATTTCCAAGCTCCACATTTTGTCGTCAGACTTTCCCGCCTGGGGACGCCGTGCTTGATTTCGACTCGTGTTGAACATGCTGGTATCACAAAAGTCTGGTACTTCACAGTTCGCCACGTAGAAATGCGGAGTGAACGTAGCAGATTCCGAGCCGACGAGAGACGTTACGATGTAGTCCATTACTCGGAGAGGCGGATTCTGGACATGTTGAATTATATTAAGGGCCCAAGGATAGCTCAGTCGGTAGCGCGGCTAGCATCTGGAGGTCACGAGTTCAAGTCCGCCTTCAACCCCTAGGTTCACCAAGCCTCTATTGGAAAATGGAGCAATCCACGACTGGATTATAAGCCACAGCCTTCGGCTAGGACGTGTCTTAAATTGTAGCCCAGTGGGAGCACCACCAGGTATTGTACCTGTCTCCCAGATCCGCAGATACACTCAAAATAAAAAAAATGCGAGGTGTGTACTGCAGAAGAAAACCTAATATTTAGGCCCCGACTTTTTCTCGTCCACGCATGGAGAATAGGCAACAATTTTGCCAACCAACAGGCGGCCGACATTCTCGGGATCCGCGCGCGTCTGCGCTGCGTTTAACTCTCTGTGGGCGTGGCGACCTGTCTCCGCTTGCTGCGAGTACATTGCGGCCGGAACCCGTGAGATGTCGGCGGCCTGATATTGGTTGTGGTAAAAATTTCTTGCTTTTCCGTGAGTGGACGTGAAAAAGGCGGTGCCTAAATATTAGGTTTTCTGCAGTACACGCCATTTTATTATTTTGAGTGTACTTACGTCGAAGAACGGATCGTCCTTTAATAATTGTACATTACATTTTATTTTCCCTTCTACGACTCGAAAGGGCGCATTTACGCGCGATGGTCCCGCTACCCACCCCAAAAATCAATGGGTGGCGTACCGAGACCACCGCTGGTAAATGCTCCCTCCTTTAAAGTCGTGTGGAAAAAATTGCACAAATGAAGAACCATACTTTTTGTAGCAAGTTTCGTAGTTTTTTGAGTCCGTTTATATAATATCGTAGTTGTCCATTTATTTAATGTGACACTTCTTCCCACTTACTAAGGACTTCTAACACTTATTCCAGTTATTGATTGCAATTAAATCTACGAACACTGGCCACTTCCCTTTCGCAGTTCCTTGTCGATTGCTTGAACGCCACTGGTTCATCGCCCGAAACACACTTCTCTGCACATTCCCTGTGCACCGCCACCGGATCGAATCCCAGCCGGGTCTTCATCGCTTTGAGCTCGTACTGGACTTTAGAGCGTTCGACACATCCCTCATTAGGTCCTTATTCTTTTGTATTTCTCGGAAACCCTGAGCAAATTTGTTGACGTGATGAGATGAAGACGTTTTTTTTGTCACGAAGTTGTGTGTTTACCGTAATTTGATACTTGACTTTTCCAGCATAATGGGCCACGATGAATGCCGGCTCCTTCTTCTGTGGGTGTCTCATAGTATCCGTTGTTCTGGAAATTTAATCATGGAACTAGGCATGTAATAAGAAACATTGAATTAAGGTATGTCCCGGAGGAGTGACCATCTTAGGCCTGACTTAAACTAGAAGTGGATCCAAGTGGCAGACTGGCCTGAATCCTAGTAACAGGCTGACCCTAGATGATTAAAGGTGGATTAGCGCCAGTGGGAATTCTGTATAAACACACTTATAACGATACCAAACGATCGAATATCATAAAACACGCCAAAAACTTTTAGATTTTTCAAATTTCCGGTCAAAGTTTTTGGAACATTGACAAAATTTTGACGCCAAATCTGAGCTGTTGCGGACATCAAAATCAATGTAACATTTTTCTGGTCCCCTACAATGTCTTTTTACGAAAAATTAAAACAAACCAGATTATATAACAAATAGAGAAAAAAATATTTTTTAGTCGAATTTGTGTCACTTTTTGACTGTAAATAAAAACATTTTGAAAAATTTTTGAAAACTAGTTTTATCATGAGATTTGGTCATTTTGGGAGCATAGGTCGAGTGGTTTTTAACAATTTCCACCACCGGCGCTACTCCACCTTTAATCGATAATCGATGCATTTCATACCTTCAAAAACTGATTTAACTTCGCCAGCATTGAGTCGTCTGTTCCATTATTGATATTACTCTCCTCATCGACTAGCCTGAGAATTCCATATGGTTTACTCTGAAAATTCATCTTATATACATGGATATATATATATATATAAATATATAAATATATATATATGCATAAATATACATGTATATATATATATATATAACAGTATGGGAAAGCCATAGGACACCCCCTAATTTGAAGGTTTGAGGAACTTCCGAAAATTTTTTTGAAAAACTGCTAATGCCATTTGTTTTTAAATTGAAAAAAACCTATAGATTTTAAATTTACAAAAAACTTAGGAGGTCGCGCTGGAAAAAACGTCAAAATCCAGTATGAAACTTCTATAGGACCCCCCGTAGGGGTTTTTTTCACGATTTTTCTAAAATCAACTGGCATATTTTGGAATTGACAAAAGCTCAAATCAAGTTTGAGTTAGCAATGAGTTCAGATAAGCAGTTTTGACTTTAAAAAAGTATTACGAAATGTTCTCGTGGGATCTCCAGACTGGTTCTGATTCTTTCGAACTATGTTAGTCTGTTTCAAGCTTCCTGGTGCTCTCGGTAATGCCAAAACTTGATACACACTCTTGAAGAAGTTCCTACTAAAATTCCTAGCACACACACGCTGGCATAAAAATTTTTACGCCATCCCCAAGAAACCAGTCAGAACGCTAACAGCGGATTATAAAGCCAAGTTGCAGTTATTTTTGATCAACAACAGAATATTCATCTACTAAAATCAAGAAAGGATCAATAGTTAATCGTGTTTCCTTGTGTGCGGATGATCTCAAACAGTCTGTCCTCCATTGGTTTGACCAAACTTTTCAGCTGGTTGTCCGGAATAGTGCGCCCAGTCGAGAATTCCTTGCTTCATGCATCTGTTGAGTAAGTCTTGTTCTGGAATAGCATAAACGATACGGACAAGAATCCCCCACAAATTTTCGATTGGATGAGATCAGGACTTCGAGCTGGCCAATCAAGAAGGTTGATCTTGTCGATATGAGCTTGAAATAGTCGCGGGTTGAGTTGCTCACATGGATTGTCGCATTATCCTGCTGAAATCTAAAGTCTTTGCTGGAGTGGTCTAGAGACGAAGATACTTGGAGAGCTCTCTCAGTTCCAAGACGTTCTGATAGTCAGTGCTGTGCATCTTGAACGCTACTCGAACTTCTCAAGCTTCTTCTCCGTGAACGCTCCCCAAACCATCACCGTTCCTCCTGCAAAATTACGTCTCGAAAAAACCCTTGGTTCTTTGCGAAAATCCCGCCGTACACTCGGGAGACTACCGTCAGGCCCATCGAGATTGACTTTCTTTTCATCGGAGAAGACAACCTAAAACAATGATCCTAATTATTCACTCTTGCTTTCTTTAAATTCTCACTTTACTCCAATTCCTTCCCATATTGTTACTTAGCAAATTCCAATCGCTTGGACGAGTTTATGCAGAGAGTAACGAGCAGGGCAAACAGTTTCTGACAAACTATTACACCAGATCGTTAGATGACATTGAGGGTCGAATGGTCCTTTTTGAAGCAGACAATTGAAGCTCATTGCGAATATCTCTTGCCGTCTTACAGGAGTTGGAGGCAGCAGGAATAACATTTCGCTCGCATTTCAGGCACGGCGGAAGAGACCTTTGCGACGAGAAGCTCTTTTAAATGTACCGCGACTTAGCTCACCGGATCCCTCAGATACTCGCGAATACAGTGTCGAGAACGGGAAATTTTCCTACTCCAATTTCATGCAGGGACACATTAATTTCATAACATCCAACTGAGCGCGTTCAGTGTCCGAAAGGGCAGATCGTCGCTCTAGGTGCAAGTAAGACTGCTTTCGAAGTATGCCTATATGTGTGCCACAACACATGCCACAATTCCACAATAATACGCAAAAAATAGTAAATAACATCTGTGAGGGACAATTTAATCTTGAAATATTGTCCCATGGAACCTTGTACTTAGATCAAAGAATAACGATTTGATTCCTGATAAGCGTTCCATTGTTTCGTGCTGCATATTTTGCCAAATCACCTTGACTCCACAGACGAAACATCTAAAGTGCGTGCTAGGTATTTTAGTAGGAACTTGTTAAAGAGAGTTTATCAAGTTTTGGTACCCATTACCGAGAGCACCAGGAAGCTTGAAACAGACTTGAACATCAAAGATCGGAAGAATCAGTTGAGAGCCAGTCTGGAGATCCGACGAGAACATTTCGTATTAATTTTTTAAATTCTGACAAAACTGCTCTCACCTCAATTCTAACTCAAACTTGAACATTTGAGCTTTGTCAAAATTCCAAAATCTGTGTGTGAATACATTTCAGTTAAAATCGTGAAACGGGGGGTCCATTTATAGAAGTTTCACGCGCACTGGATTTTGACGTTTTTTCCAGCGCGACCTCTGTTTTTATAAACTGCTGGAACAAAATCAGTATATAGGTTTTTTTCAATTCAAAAACGAATGGAATTAGCAGTTTTTCAAAAAATTGAACTTCGTCACCCTTAACCTTCAAATCAGAGGGGGTCCTATGGAACTTCCCCACACTGTATATATATATCTATATATCTATATATATATTACGTTTGAAAAAACCCAAAAAGGAAACTTATTGGACTTACCTGAAACAGCTGCACACACTCCGTATTATCAGTATACTCGATATTGGTCCAAGAAATCTCCTTCAAGTACTCCTCTTGTTCTACAAAAAGTGGAAAATATGTTGATTGAAATAGGACTGAAGTTTCTCAGTGGCATCGTTGATACATAACTGGCTTCAAAGCTGTTGCATGGAGACCCAACGTCTTCAAATTCCGAAATATATCCTAGATACTTGAAAATTACTTCAATTTTTAACAATTGATACTCATTAATCTAACCTATATAATATCATGTACCTCCCAGCTTATTGAGAAGTCCTTCTTCAGCAATGCCTTATTAATCCTGAGGATTAAGTGAAACAAAGAGTTGTATATGCACATCCATGGCAGTCTCGGGTGTTGGTGGCGAAATTAAATTATCTTAAATTCTCTAATTTCACTTCTGTATATATATATATATTACCTCAGACACTATATCGCAAAACTACAGTTTCTGTCTTCATAACATGTCGTTTCATAGTTAGAGCCTGCATGGGTGTCGGTTGATGTGAAGCAGATTTGCGACTAAATCCACGACTTCTTCATTTTCAATATACCCACGTTCAACGCGGGCTATGGTAGCCATGTCTCTGGAAAATTGCATGGGAAAAATAAAAAAATTTCAAGATGTTATTATATTAGGAATCCTCTAAACAAGTGTTTTCAGGTTTTTTGGTTTTACGATTATTCAAATTTTTATGATTCGGAAATTATTATAATTCAAATAATTTTCGTCACTATTATAGCCATGTTGTTGAAATATAGAATGCTATCTTTTTAAAGGTGGAGCACCGAAATCTGGAAACTATTTTTAAATGAGTCCAAATTTTCCCGATTCCGAATATCTATGCGAAAAAATTTTAAAAAATTCATTTATCGACTTTTTCAAATTTTTCAACCGGCGAATTTTCGCGCCAGAAACCCCGTGTACACGTGGTATCAGTGTGTCTCATTTTGTCTTGATCTACGCAGATAAAAAATGCGGGAGAAGAGACGCAGAGGGGGTTCTCAACTGAGTTCGCATGGTTAAAAATGTCCTGACATCACCTTTTTTTGGCATTTTTGATCAAACCGGATTTGGAGAGCCTCTAGGCACCACGTGAGTAGGCAGGCATTTTTTGCCTGACTACTTGCGGGTGCCTGCCGTTTTTTTCTCCTCAGAATTTTTTCGCGAAACTCAATAATTCAAATAATTATGAATATTTTCGAGTGAAGCTTTAAAAAGTTGTTTGTGCCAAGTTTGAGTTCGTAAATTAATTAGCAAAAAATGTTCTCACGTCACGTTTTTGGGCAAAAAAATCTCGCATTTTTTGTAGATCAAACCGCAATAGGACAGCCTGGCACCACGTGCGTGTGTCGATTTACGAGATTTGTGTATATTTACGAAATTTTTTATCTTTATCAGACTCTGATTTTCGTTTCTCAACGAGTTTTCTTCATTTTTGTATGTGATTTTTTTAAGGTACATTAAATATTTTATCATCAAAACCCTAGCAAAATTTTTGGTTTTCAGTCGGTAAAATCATATAGGTAATTGCATTTGCCGTCAATTTGTGACCTAATAGTAAGCATCGGAAATATTGCCAGTTTTAAATAATTAATTGACCCTAAAACACACATTACAAAAAAAAACCGATAAAAATTAAAAATTAAATTAATGCACAAATCTAACGACACATGGCTCTAGCGCGAAAATTCAATAACTCTGTACAAATAGCGATTTCAAGCTCAAATATAAAATCGTGGAATTTTAAAAATTTTTTGCACATAGGTAGTCGGAGGCAGGGGAAATTTGGAGTCAATTAAAAATTGCAGATTTTACGGTTTCGGTGGCGCTCCGAAGAACTGTCTGAATAAAATTAAAACTTTGGGAATAGGCAATTATTCGGTATGGTTAACTTTTGCTCTTGGTGAATCTAAACCGTCCCAATCATTTACCTTAATATATGTGATATTGCCAAGAAGCAACACTGCTGAAATAATCCCGAAGAAGGTCTGCTGGGTCTTTGCATGTCCAAAATCCGAGGGAGCTAATTGCATGCCTCAACCTATCAAGCTCATCTCGTACACACCTTCCAGGCAAATGGCTCGTTCTGGAAATTTCATTAATTTTTTTTTAATTTTTTAAACAAAAATCCCTTTGAGGTCAGCGAATGTATCCCTTATTCGCTCCTGTGAAACTTTTCCCAGCTCACCTGATTCAAATACTTATAATCATGTGGCTTCAACAAGAAATATTTCTTCCTTTCTTCCTCGTCTGGACCCTCCAGAAGGTAGTAGCATACGTGGTAGTTCCTGAAAAATATATAAGTCCAAGATGGAAGACTCCAAGGGAGTTTAGGTAATCGTCCGTTCTCCTTTAGTTTGAAATATGATGCGTGATTTTTCCAGCTACCAGGTAGATCTCCACGTTTGCTCTGAAAACTCCAAGTATAAGGCCTTTTTTGTGGTATACACATCAGGAGAAGGCTTCAAATTTTACGTTCGCTAGGTCAATTTAGGTCATAGTGCCTAGTAAGTAGGGTACCTATAAGCTGTGATTACTGCCAAAGTAAAAATTTCCCGATTCCGGCAATTTGTCTGATTCGATGCCAGGCATCCCAATTCCCGCAATTTGCCGATTAGCCAGGCATTCTCAATTCCGGCAATTTTCCAGTTTGCCGGATTGCCGGAAATTTAAATTCCGGCAAGTTGCCAAATTTCTTTTTCGGCAATATACTGGATTGCCAAAATGTTACGGCAACATGCCAATTTGCAGGAACTCATGTTCGGCAAATTGCCGGTTTGCCTATATCCCAGAAATTTTCAGGTCCGGCAAGTTGTTGATTAGCCGATTTTCGGAAATTTCAGTTCCGGCAACTTGCCGATTTGCCGGAAATTCTCGAAACCGGCAATCGCGGGAAATTTAATTCCGTCAAATTACCAACATGCCGGATATTTCAATTCCGGCAATTTGCCAATTTGCCGAGCATTTAAATTCCGGCAATTTGCCGAAGAAAGTATCAATTCTGTTGGCAATTCGCCGGACATTTCCGACAATTTGCCGATTTGCGGATTTCCCAGAAGTTTTCAATTCGGTCAAATTTCTAATTTGCCGGAAATTTCAATTTTACTAAGTCGCCTGCTATCCTCCTAATCTCACCACACTCGGAAACCATTCCATTCTCCCAAATAGTTGATTGTGATGAATTTTCCAAATCTGCTACTATTTTTGTACCGTCGTTAAGGGGACAGCATTAAAAGCCTCTAGAACAGGGCCAGGTGACAGAAGGGGTGTCTGCTAAGTACTGCAGCCTGTTGAACCTTTCGCATGACACTGTTAGCGATATCAAATGGGAGATCAGATGATTCGTGCAATGACCGTATTTCCCGAACCACCCCGGGAGATTACCACGCATTGATTTTTCTTGAGTACGGAGAGAGCATGCTGAAAAACTTGTTATGTGGTTTAAAAATTAGTAGTGACAGTTAGTTAATCCAGCATCTGCAATGTATATCTCTTTTTTTTGAAATCAAAAGTGCTTTGAGGGTGTTGAAAAAACGAACACATACCTGCTAAAAAATTGGTGGCTTCCGAATAATCCGGCCCTTGGCAAATATACAAGCCAATACACAAAGTGAGCACCTACGTGGCCGAGTGAAGAGAAGGCCACCGATTTTTTTGTGGTCACCTGAAACTTCAAAAAGTAACTGGGTTCCCCTGGTAAGAACGTAGAACTCACTTGTGGTAACAGACTTCGGCGATTGCAAAAATGTGCGGTGGTAGTGAGCCGAGCCGCTTACTTTGAAAGTTATCGCCTGCTATTTTGGGTTGTAGATCGGAAAGAAGCAATACGGAGCGGGTACACGCTACTAGAACTGGACCGATGTACGTATAGTAAATATGCCCATTCGCGAATCATTGCATCCCGCAAATTGTCCAAGAAAAGAGGTTTGCTCCGTGAGCTCAACTGGCAAGTGACAGAGTTCGGGGTACTCCCTGAAAAATTTTAAGGGTTTAAAATTTTTTTAAATATAAAAATATTTAAAGGTGGAGTACAGGAAATTTAATTACACCAAATTTTCCACTGACTCCGAATCTGTAAGTAAAAAATTTTGAAAAAATTACCCTGATTTTGTGTATTTATGTTTGAAATTACTATTTTCAACCCTTTGTGCCCGCACCACTTTTTTCAAACTTACGCCCAAAGACTGATACGTAGATCGGGTTTGCATCGTTTGATTTTCGTCGTTTAATTTATTTATTTTCCACGGGGTTGTGGCCCTCACTTCTTCATTGACGGCATTTTCGCGCTTCATTGACAATCGCCTGCCGGACAACACATGGAAAAGTGTCGTGTACTCCACTCGGACAAATCACATCAGTTTTACAACTAAAGAGCCGCGACGCGACACGCAATTCGCCGTAAGCCTACAAAATCTCTCCGACCCAAAATGGCCTAGTTCGACAAAGCAATTCCGATTTATGAGGGAAGCCAGTTTGTGCGGCGAATTAAATTTTCTTGAACCAGTTTCAATCATTTTTGTCGAGTTTTTGCTAGTTTTTTTTTTGACAAAAAAATGAAACTGGTTAAAAAAATTTGACAATAAACAAAATTTTTAAATGAAGGAAATCAAAGCGCCCTCCAATGCGGATTTATTTGGGTGCTCATTTGACATCACAGAAAACACGTGGTGGCAGAGCAAGGATGTCAATGTGAGTCCCGTAAAATTTTCGTAAACGGGACAACGGGAATTCCCGTTCCCGTGAAAATTTTAAAAACGGGATAACGGGAATCCCGCGGCGTTCCCGTGAAAACTTAAAAAACCGGACAACGGGAATACTGCTCCCGTTTTTTTGAAAACACTCAAGAAAAACGGGACAAACAGGGCATTGGTTTAAAAAAAAGAGTGCATAGTTGGCGTATTTAGTGTCTTCGAGGCAAATTATAAAAAAAAACTGCATTATAAACATTATTATCTATTTTTTCATTATTAAACAGATATTTAAAAAGCCAAATGAGTCGGAAAATGTCCCGTTCCCGTGAAAATTTTAAAAATGGGACAACGGAATACCCGTTCCCGTGAAAACAGCCCCAAAAACGGGACAACGGGAAAAACGGGAAGAATTGTACACTGTCCTTGGTGTCGAGGCTGTCTCTTTATCTACAAAAACAGGCTGGAATAGTTTTCCAGAAAAATTCTAACGTCTCTTGACTATAGGGACCAAGCGAAAAAATGTCCGCGTCTCTTCACCCGCATTTTTTGAAAACAACAAAAGAGACCGGGCTGCAACAAATTAAAATCAGGGAAAATTTTTTCAATTTTTTCACATCTAAATTCGTGATGGGGGGGCAAATTTGGAGTGATTTAAAAATATTCAGATTTCGGTACCCCACCTCAAAACAAAATAATGAAAGAATTGCCTTACCCGTGGCTGATCCCAGAAGTTCGTAAGAAAAGCGTCAATCGATGAGGCGACCTCTGCACTTCCAAACCGAGCGCCGCGGGTTGCCGCCCGATAATCGGCCGGTGTCAACATATCGATTTTTTGGAGTGGCACTGTCCACCACTACAGGCAGCCGACCAGAGGCCTGTAAACATCCGCGACTGGGTATGTTTCCCCGGGGTATCCCTAGGCAGCGTTCGTTATAGATTTCTTAGACCGACGGTGGGGCCCATCATTTCGAAGAGGTCAAAGTCTACCGACTGGCCTCCTAGTTCTGGAAATTTTGACTTTAGAAAAGAAATCATTTTTTTCCATTTTTTTTTAATTAGCCCGTTGCTTTTTTAAAAATTAGAAGAAAATGTGAAAAAACTTTGCATTAGAGCGCGTTTGCATTCATTCCATGCAGTCCAATTTTGCTGGGAGCTTGAGTGTCTCGACTTGATCTACAGAGGTCTCTAAAAATGCGGGAGAATAAAATCCACTGATATTGTATGCCTTTAAGAATGTGCTGACGTCACATATTTTTGTGCAAAAAATTCCCGCATTTTTTGTGATCAAAGGCCATGAGGGGACAGCCTGGCACCACGTGAGATTGTGTCGACAATTTTTTGTTGAAGATGTATGGCCAAAAACGGCACATTTAAGTAATTAATCAGCAGAGCGCGTTTGAAATTTTGTTAAAATCTTTTTAAAAGAGTTCCCACTTCCCGAAGTCCTCCGATTTTTCTAAAAACTAAGAGTAGGGAATCTCCGACCCTGAGCCTTCTTTAAAACCTTACCAGCTCTGCCCGGAGAGCACTTTTTCGATGAGTCCTCCGTCGTGCGCCGATCATGAACCTGCAAGTGTACTGTATCATTTTCACAGAGCTGTCGGGATTGAAGCTGTGCATAATAGACGGCTAACGTATGTTGCATCGACTGTCGCGTTGGTGAGCACGTTGGGGAAAACACCCCGTCGCTCCAGCTGATATTGAGTCAAATGACATCATTTTAGTGAATCCAGCATCGGGATGAATACGTCTGTAAAAAAAAATTTTTTTTGAAAGAAAAAGTGCCTGGAGAATCAGGCAACGAACCGGACAAAAACACAAGACCGCGAAAAACCAATTGGTGGCCGAGTTTTCTCTCTCGCGGTCACTTAGGAAATACTAAATTCGCACGGATTTCTGGCTTCTCTCCAACATAAATTGAAATGGAAGATTTTCGGCCGAACTAGGCTAACTCCGGGCCCTATCTGGTGTATGTTTCCGACTTTCCCACGGAGCGATTGTCAATGGAGCGCGAAAAACTCACTGAGAAAGGCCCCCCGTGAGATCGAAATGAAAATTTGCTAAATGGCCGAAAATTGAATACTCGGCCGCCAATTTTTCGACACGGCCACAGGATAAATCGTAAAAAAAATTGAGAGAAATTTATTAGAAAAAATCTGAAAGTAATGTTTATTGCACCGTGGCCGCAATTAATGTAAAAACACGGCCACTTTTTTAATGTGGGGAAAAGGTTGGCCGAGTATTATACAGTTTTTGCGGCCACTTAGAAAATATTTAGATCGAAGGGAAGTTGAGAAAATACGTCTAACGAAAACCAGTCAATTTTTGTTACATGACCGAAAAATGAAAACTCGACCACGGATTTGTTATGCTTTATAAAAATTTATGAACCTATTATTTTTTGATTCAGAAATCTTTAGAATTGTAACAAGAAAAAGTCGGCATCTTTTTTTCTCACGGTCGCAATTTTCTTTGTGATCGTAAAAATGGAAGCTCGGCCATGGTGGCCGAGTCCCTTTTTTTTCGCTGCCTACTGGTAACACGTGGTTGGGTGAAGAGAAAACTCGACCACCGGTTTTTTTTGTCACTGAAATTTTTCAATTTCAAAATATTTTAAATCTTGCTGCACTCTTTCAGCACAACCGCGAAAAAATGACAGCTCGGCCACCAATTTATTTATTATCTGGGTGAAAAAATTTTGTTAGCCAAGTTTTCTTCATCTGGAAATCAAAGAGATTTTTGTTACGTGGCCGTGAAAAGGAAAACTCCGCCACCAATTATTTTTAATTTCAGGCACTGGCGTTGTAAAATCTTATAAAAAAACAGGTTTTTAAGTACATTGAACTAAAAAATAAGGAAGATTTTTGGAAAAAAAATTGCTGGCCGAGGAAAACTCGGCCAACAACTTGTTCCGGTCACACAGCAAAATCTCTCGATTTTCGATGATTGAATATTGAAATCTGGGTTGGATTTTTTAGTATCATTTCATTTGGTCGCCGGTGGAGAAACGAGGGAGAGAGAGAAAAAAGATTTGTAGTGTCCCGGGAATCTTCCTCAAGTGTTGTGGAAGAAAGTGGAAGAAGCTTCTGCGCAGCAGCAGCAGCGTGGAAGTGGTTCACGAAAGAGAGAGAGAGACATGTTGGACTTGAAACCAGCATGATGAAAAATAAGAAGATGAAGAAGAGAATTACACACTACCTCCACAACACAGATTATTTTTATCACGTTTTGAGGGGGCGCTTCACACAATTCATGGCCTAGAAATTAAGTGGTAATTTGGTGGCCTAGAAAATACTATATTTATATTAATTATTCTACGTCAATAATTTAAACGGGAAACGAAATTTATTTTAAAAAAGCCATAGAAGAGGTTTTGAAATTGGCTAGGAAATGAAAAATTGTGTTTTTGGAATTTTCTAGGCCCATTTGAACTTCTCCTGAACACTGCGCTTTCAAGACTTCGAATTTGAATTGTGGCCTAGAAAATCATAAAAACTAGGAAATCAAGAAAAAAACATGGATGAAATTTTGAATTTTATAGGTCATTTGAAATTTCTGGCCTAAAAAATGAAAAATGATTTTTATTTTGAATTTTCTAGGCCACTTGAATTTCCTGACGTCGACAATTTTCATAGCCTAGAAATTTAAATGTGGTGGCCTAGAAAATAATTAAAAGTAAGTAATCGAGAAGAAACGCGTGAGATTCGGAGTTTTGTATTTTCTAGGCCATTTGAATTTGGTGTTGGACATGAAAAGCCAAAAAGACTTTTCAGGAAATTTCTAGGCCATTAGAAGTTGATTGGCCTAGGAAAAAATTTGTGTTTTTGGCATTTCCGTCTCTAGGTCATTTGGATTAGGGCCTAGGAATTGAGTAGTTGTTTTGGAATTTTCCACCCTAGGCCATTTGAATTTGGTGGCCTAGGAAATGAAAAAAATATTTAAAGGAATTTTCTCCATTGAAGTAGATGGCTTGGAAATAAAAAAAGGTTTTTTAAAGGAAATGTCTAGGCCCTTGAATTAGTTGGCCTAGGGAATGAAAAATGATTTTTTGCTTAAAATTTTTTAAACGCACTTGAATTTGGACGGCCAAGGAAATGAAAAATGGTTTGTTGAGTAACTTCTACTTGAATTTGGTGACCTGGGAAATGAAAAATGATTTTCTTGGAATTTTTTAGGCCACTTGAATTTGACGGCCTAGGAAATGAAAAATAGTGGTAATTTCTAGACCACATGAAGCGATTTTGGTGGGGAAATGAAAATGATTTTCTTGGAATTGTTTTTAGGCCACTTGAATTTGAGGGAGGAAATGAACAACAGTTGTTTTGGAATTTTTTAGGCCACTCGAATTTGACGGCCTAGGAAATAAAGATTTTTTTGGTAATTGCCACTTGAATTAGGTGGCCTGGGAAATGAAAAAGATGATTTTCTTGGAATTTCTAGGCCATTGAATTAGGGGGCCTAGGGAATGACTCCAAAAATTATTTTCTTAAGATTTTTTAAGCCACTTGAATTTGACGGCCTAGGAAGTGAAAAAAGGTTTTTTGGTAATTTCTAGAAGGCCACTTCAATTTGGTGACCTGGGAAATAATGATTTTCTTGGGATTTTTTAAGCCACTTGAATTTGACGGCCTAGGAAATGAAAAATAGTTTTTTGGTAATTTAGAGGTTGAATGTGGCCGTGGCCTGAGAAATGAAAAATGACTTTCTTGGAATTTGTTAGGCCACTTGAATTTGACCGGCCTAGGAAATGAAAAACTGTTTTGGAATTTTTTAGGCCACTTGAATTTGACGGCCTAGGAAACGAAAAATAGTTTTTAGGTAATTTCGAGGCCAATTGAATTCGGTGGCCTGGGAAATGAAAAAAGATTTTCTTGAAGAATTTTTTAGGCCACTTGAATTTGACGGCCTAGGAATGAAAAATCGTTTTTTGGTAATTTCGAGGCCATGGCTAATTTGGTGGCCTGGGAAATGAAAAATGATTTTCTTGGAATGTCATTTTTAGGCCACTTGAATTTGACGGCCTAGGATAGTTTGTAATTTCGAGCCCACTTGAATTGGTGGCCAAAATAATGAAAAATGATTTTCTTGGAATTTTGACCACTTGTGATAAATGTGACGGCCTTATTAGGAAGACGCATGAAAAATCGTTGGTAATTTCTAGATCGCGAATTTGACGGGCTAGGAAATGAAGTTTTTTGGTAATTTCTAGGCCACTTGAATTTGACCGCCTAGGAAATGAAAAATACCAAGGTTTTTTGGTAATTTCTAGGCCACTTGAATTTGGTGGCCTGGGAAACGAAAAATGTTTTTCTTGGAATTTTTTAGGCCATGAATTTGACGACCTAGGAAATGAAATTGTTTTGGAATTTTTTAGGGCACTTTTGGGTTCGCCTAGGAAATGAAGATTTTCTTGGAATTTGCGAGGCCAGCAGACTTCAATTTGTTGGTCTTGGGAATAATGATTTTCTTGGAGTTTTATAGGCCGCTTGATTTAAGCCCATGGCCTAAGAAGTTCAAAATAGTTGTTACGGAATTTTCTAGGACATTTGAACTTGGTGGCTAAGGAAATGAAAAACTTTTTTGGAATTTTCTAGGTTTCTGTAATATATGATTTATTCAGTTAAAAAATTAAAAAACATTCAATTTTTTTTAAATTTCGTGTTAAAAAAAATCAAATTTGCCCAAAACTTAAAAAATAAGCTAAAAAATTGTAAGACGATACAGAACGGCAAAAACTTGAAAATAATAAGCGTGATGAGCCCTGTCGGACGTAAGGGCCGCCGGCTGGTTCGACCTTCTTTTTCTCTTTTTGTTACTCCTCTCCCGTCCCGAGCAGGAGCAACACAACGAGAGCGCACAACAAGAAGAAAAAGCAGATAGATATACTTAGATATAAGTTGTCTTCTGTTCATATTCTTTCTTTTAGACATCTTTTCATTCGAAACAACACTCCATTCTCTTCCGTTGGACGGGGGGGGGGGGGCGACGCGGGAGACGAAACAATAAAGCAAAATTGGGAGGGGTTGGAGAATGTTTGGACAACAAAAAGATTGACTGATCAATCGATTCGCCAGCCTCGGCTATTTTCGGAAATCGGAGCTATGCAAATGCGCCCTACTGATCAAATGGACGGGTGTCATTTAAACTCCTTGGTTAAAAAGCAACGCAAAATGGCATAGTTCCAGTTTGCCGATTTGCCAGAAATTTTCAGGTACAGCAATTTTCCGATTTGCCGATTTGGCGGAAATTTCAATTTAGACAAATTGGCGGCTTGCCGAAATGCCAATCCAGGTCCGCCAATTTGCCAATGTTGATTTTTGGCAAGTTTCTGGTTAGGCGTTTTCATTTTCGAATTACCGTTTTGCCTAAACGCCAGAAATGCTAAGGTTCTCTAAAGCGCTGGTTTTTCCCGTAAAAATTTTTCATTTTCGGCAAATAATTTGCCGGCTTCCCAAAAAGCCGGAATTTTTCAGCCGGCAATTTGCTGAATTGCCGGGATTTTTTTTTCTACAAATAGCCGGTTTGCCGAAACGCAAGAAATGCTCAGAACCTTTGCCGATTTGCCGGATATTTTGATTTTCGGCAAATTGTCGGTAGTTGCCGATATGCCAGAAATGTCTTCAGGAACGGCAATTTGCGGAATAGCCGGAATTTTTTTTTTTTGGCAACGATTTGCCGAAATGCCAGAAATGTTGCGGTCCGGCAATTTGCCGAAATAAATGTTCAATTTCGGCCAATTTGCTGATTGCCGGAGTTAAACAATTTCGGCAAATTGCCGGCTGGTCAATGATGCCGGAAATTTTCAGGTCAATTTGATGATTTGCCGAAAAATTTATTTAAAAAAAAAATGTACCTATTTTTCTCCAGACAGGAAGTCTCTAAAATCTCATTTAATAAGAAGAAACAAAAGAGAAACAGAGAATGGCCTAACAAGTTTCGAGTTACAGAAACCTAGGCCACTTTGAAGGCACCGGCGTAGCCTAGAAACCCAGTTCCACAAAAATAAGAAAAAATTAAAACTCGGCAACATAATCTAGGCCCGGAGCATACAAACACTCCACGAATATTAAAGACTCTTTCTAGGTTACTGGATACCGTTAACGATGGAAAACTCGGCTCGGCCATCTGCGAATTTTGTTGCTTGAAAATGGGAAAAATAAAGTTTTTTTAACTTACGGTCAAACAAAAAAGATCAAAAAGTGAAAAGCGGGGATTTATCTTATCACACAATTTATGACATAAATCCGTAGGCCGAGTAGCGGAGAGATCTCGGAGCTCAATGTTAGGAATATCTATTAGGACGACACATCATACTCAGCCACCCCAACCCAGTCATCCCACCGTTGTCCACTGTCTTTTTTTTTCGCTTTTTTATTATCAACCAGCAATAACTTATCGCCTTTATCTTTGTGAGGCCCCGCGCAAGAACGAGACAGAGAGAGAGAGAGCGAGAGAGTGAGAGACAGAGACGCCGGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAAGGGATATAGGTGCAGCGGACAACTAGACGTCACTGGGCTCTTTCACACATGTGATATTGAACGATAAATTGCGCTCCTAGGCCACAAAAAAACAGTGTATTCGATCTCATGATATGGGAGAAGCTGGCACCGTGCCAAGTTTCAGAAAAAATATGGAATTTTTGCTTGAAGCATGGTGAATCAACGTGCTTACACAATTCTTCGGGATAAATATTCCCGCATTTTGTAGATCAAAACGCAATGAGTCATGCTGATACCTGAGGTTAATTAAAAGTACTGATCGAGATTTTGAGCGTCATATGGTGTATTTACCGGCAAACCTGATGCGCCTGATTTGACGCGCAAATCCTTCATTTTAATAAAGTTGGGCTTCAAATGTGATGCCTCAATTTCTATTTTTTGAAATGTTTTGATTTCGTGAAAACTAACGGCGAATTTCAGAAAATTTATAGAAAATGTTCATTTGTTGCGACCAAAAACTTAAAAAAGACCAAATCAGGAAATTCACATTTTTCGCCGAAAAAACCATTTTGCGCGTAAATTCTGATGTAATTTGCCGTAGGCTATTACGTGTGAAAACACTGCCGGTAATACGTTATATGCTTGAGCGCACCCAAACAAATCTCGTCCCAAATTATTCCGGTTGCACAAAATTCTGAGAATGCGTAAAGCGCAACATACCTGACGCGCAAAATATCTCGAAGTGGAAACTACAGTAATCCTTTTCAAATGATTACTGTAGCGCTTGTGTCGATTTACGGGATCTCGACTTTCGAAATGGATTTAAATATATTATTTATCAATAGAATATTTCAAAGATGAAGAAGTTAATTTCGTGAAGCCCGTAAATCGACACAAGTGCAATAGTAATTTTAAGAATTACTTAGTGTTTCGCTACGAGATAATTTGCGCGCTACTCAAATATGTTGTGCAGTACGGGCATTCAGAATTTTTCGTTCCCTTTCACAAAAATCTCATCGATAAACTTGCGCGTAAAATTTGGTGGTGCCTGTGAGTGGTTCACCTATACAAGTGGTGCCAGGGGCTGTCCCATTACGGGTTGATCTACAAAAAATGCGGGATATTTGCACAAACCATGCGATATCAGTTGAGAACTCTGCGTCTGTTCTCCCGGATATTTTGTAGATCAACGTAGATCAACACTCTGACACGCACGTGGGCCGAAGATGTAAGTGCCAGATTACACGGCGCAAAAACTGAAAAAAAAAAGAAGCGAAAACTGTCAACGAGCATTTGAGCGAGTTTTTTATCATCCACGAATCACAAGAAAAATCAATAGAAAATCGATAATCAAAAAGTGAGTATCATATTTTCGACCAACAGAATCATTCCAGGTTCATCAGTGAGCATTGTTTTCAAGTATACGATGAGCCAACGACGGACACGTCCCGTTCTCTGCCACAAGTTCGCCAATCTCTTGAATAGGCGAGTAGCCCATTTTCGAGTATTTATCGATTGCGGCAATCGGATCATTAACGTTCGAGAGCACGTCGCTGAGCATCCGACAGCCGATGATTGTTTTGAGCATTTCACCAATCCGTGACGATTTCCGAGCGACTTCCAATCACAATTCCCAAAAAATCATCGGGGTTTCATGCTTTTGATTGATCTACAAAAGAATGCAGGAATTTTTTGCCCAAAAGATGGTTATGGACATCGTCAGCACGTCTTACTTTTAACCATGTGAAATCAGTTGAGAACTCTGAGTCTGTTCTCGCGCATTTTTTGTAGATCTGCGTAGATCAAGCCGAAGTGAGACCTTCTGAGTCTTGACACGACAAACTCCCATTACATACGGATGCTGAGCCTTTGTTGGATGTGAGAGAGTTTCCAGGTTGTTCTCGAAACTTTGCTTAAAATTTCATTCATAAAAAATCATTTTTTAACGAAAAACTACTAAAAATCATCCGATAAACCTGGAAATCCATGAAAAACTCTGTGACAAATACAGTACTGTTTAAAGGCATAGTGTACCCAGTCTGTGTTCTGAGAATACGTATTACACAACATATTTGACGGGCAAAATATCTAAAACCGTCTACAGTAATTCTTCAAATGACTACTGTAGCATAGGCGCTAGTGTCGATATACGGGTTCGGCTAGGTTTAATTTCTTACGAAAGCTCGGAAATCGACACCACCGGTACAGTAGTAATTTTAACGGCTGAATTACTAGTTATATTTTGCGCGTCAAATTTGTTGTGCTGTACGCAGTCTCAGAACTTTGCGTTTTCGTGATTTTTTTTTTCAAATTTTAACTGCGGTAAAAAAATAAAACAACATAAATTTCATTTAAAACAAAAACGATTTTACCGCTCTCCGCTTTAAAGGCGCACACCCGTTTGTGGATAGTGGTTTAAACAAAAATATCGCGTCGAGACCAGATTTCTGCAGATTTCGCGCCAAGACCCTACCTTATCCCCCTGATACTGTAATTTGTGGCCTCCTGTCCCTCCTATGCACCACCACCACCGCCCCCATCAAAGCGGCGAGCTTCTTCTTCTCCTGTCTCGCCAAACTTCTCAAGTACTGAGGAGTGAATGGTGCCAGCGCGGCGATCGTTTGTATCGGTTTGCAGAATTTGTGCCACGATGTTGCTCGTAGATTTGCAGCGATAAATTGTGCAATTTCTTCTTTTTCGCAATTTCTGCCCTGCCGAATGAGACGATGAGGACTGTGCAGCGGCCACCGTTTTGAAATCCGGATTTTTGCTGGAAAGATAAAATTTAAATAATGAGGAGATTTTTTTCTCGCAGCGATTTCTCTGGACCCTGTTTATTCCCAATACGGTTTGATCTACAAAAAATGCGGGAATAAGAAAATGTTTGCCCGTTAAAATGCTGACGTCAGCAAAGTTTCTGTCTTAACGCTGCGAAATCAGTTGAGACTGCGTCTTTCTCCCGCATTTTTTGTAGATCTACGTAGATCAAGCAATGAGAACCACACTATGAGTGCAAACACTATCCACAATACATCATATTTGACGCGCAATCTTTAATTTATTTTTTGCGAGACCAAATAAATCTCAAACTTTCCACTGAAAAGGATTTTCATGATTCATTTTAAAAAAGTTGCGCCTCAAATGTGATGTGCCTGAATTTTCGCTTTTTTGAAATTTTTACTCCTATTTCGTTAAAAATGAAGGAATTTCTCGAACATTTATAGAATTTTAAAAATTTTCATTTTGGGTTAAAAAAATCGAGTTAAAAAACAACCATAAATTCAGGAAACTCAAAATTTTCTCCGAAAAACTTTCCCCATTTTACGCGTGAAATCTGGTGTATTTTACATCCGTGCCTAGGCTGTGTGAGAACACTGCCCGTCATACATTATATTTGACGCGCAAACTGCAAAAATCGTCGGAATTATTTCGGGAACAGAAAATTCTGAAAATGCGTAACGCGCAACTTATTTGAAGCGAAAATATCTCGTAGCGAAAACTACAGTAAACTTATGTAACTGACTACTGTAGCGCTTGTGTGTCGATTTAAGGGCTCAGTTTTCAAAAAAACGAGATCCCGTAAGTCGAAAGTGCTATGCAGTAGTTGCTATTTCAAGAATTACTCTAATTTTCGCGACGAGACATTTTGCGCGTCAAATATGTTGTGCAATGCGCATTTTCAGAATTTTGTGTTCCCGGAATAATTCCGACGATTTTTTGCAGTTGCGCGTCAAATATGATGTATGACCTGCAGTGTTTGCCCACATCGCCTAAGCACGGTAAAATCCGCCAGATTTTTCGCGCAAAATGGGATTTACGGCGAAAAATTCGAGATTTGCTGAGATGAGTAGGTCTTTTTTATTATTTCTTAATCCAAAAAAAAGTATTATGAAGATTTTTAAAGTTTCTATAGATTTTCTGAAATTCTCCGTCGTTGTTAATAGAAAAATTTCAAAAAATTGAAACTTCCGCCAACATTTGACGCGCAACTTTTTTGAAATGAAAAAGCCCGAATTTTCTGGGAAATTTGAGATTTATTTAGGTCTCACAGTGAAAAAAACATTAGAGTTTGCGCGTCAAATATCATGTATGACCGGCAGTTGCCCACATCGCCTAAGCCCGGTAAAATCCAGCAGATTTTTCGAGACTCGCAAAATGGTTTCGGCGAAAAATTCGACTGAGAATTTTGGTTTCGTTTTTACTATCTTTTAATCCAAAAAAAAATGAAAATTTTTAAATGTTCTATAAATTTCTGAAATTCACCCGTTTTTCAAATAAAAATTGGCGCATAAAAAACTTACACGATAAAATCCAAAACATCAGATTTTACGAACTGTTAGCAAAAAAATTGATTTTTTGGTTTTTTCGGGCTAAACATTAGAAAACCTCCAAGACTATACTCCAACAAAATTTTTTTTCAGTTTTTTTTTTGAAATTCTTTTTTTTTCAGTTTAAAATGTTTTCATCGCTTTGTTCGTGTTTTTGTTGATGATCTTGTGCGAAATTAATGATTTCCATATTCAACACTGTTGTGTGATTAATTTAGTACGGATAGATACACCGTAACTATTCAGCATGTTGAGTTTAGTTTTCGTCGTCCAATTTATCAAGGTTTTTTTTGATTTTCAGTCAAGTCTTTCGCGCTTACTTTTCTAAGCAGTAATGACCATCGCATGATTGCTAAGGGGTGCTTTTAGTGTTTGGTTTACTTCTGCTATTTCATGAGTCACTCCTTATCACTAATATAAATGCAGCATAATTCCCGAGTGAGCAAGCCGCGAGTATTAAATCACAGAAGCGCTGTTTTAAACTGATGATGATTGCAGTCTCCTTCATTGTTCTGACCGAAGGCTACCATTTTTTATTCATTCCCAGAGTCTCCTGACAAGTGGAAAGACAACTAAAAGCTATGTCCGTCTCGGACAAACCCGCTGCCCAATCAGGTGCCAAAAGCTTGGTACCGCTCCGCGCGCTGAAGAAGAGAAATGAGGAGTGGGGAACCAAGGTCAATATCGATACCAACATTCGCAAATTGAGTAAGTTTTTATTTTAAAATTACCAGTCGTTCGAGCTTATATATCAATTTTAGCGATCAAACCGACTCAGCGAATTTGTATACAAGTACGCTGTGCAAGTGACGTGTTCCGGAAACCTGATGGAACTGAGGCGACAATCTAAATCTCCAAATCAGGCAAAAAGGGAACGGAGCACGAGAACGACAAAACACGCTGCCAGAACGTTTACAATGAGGCGATCAAGCGTTACGATGAGCTGAAAACGACCGTCTTTCTACGATCGTCAAGCCTCTTTGTACACTTCTGACCAAATTGAAGAAAGGTGAATTCGATTTATTGCTTAAAGTTTAATATTTTAGCGTTTCAGAGCATCTCTTTCGTTGTGTACCGACAAGATTTGGTTCCAAGCGACAAAACTTCAAAGAGGCCAGTTTGTTCTCAAAAAGGTGGATACTATCAATCGTTGCAGTCAACATCGAATGACGTCATCAAGACAATCGTGCCCAGCCAAGACTGCCGACAAAACTTTGCTTGAGGCAATCAACATCATTGTCTCGGGTATGACCCCAGCGTTCCAAAAGAATGCCGCTTTCAGAGAAATCAAACGGCTATTACATCTCGCGGCAAAAATGTGAGCATATCACCGTTGGAGCATGCGTTCATTACCTCATCGACCCAACTGTAGTCGAGTAAACTGTAAGAAATAATCATATTAGTATTTAATTGTTTTTTCGCGTCGCGTACAAGGAATACACTGAAGGACATCTCTACTCAAGAGTCGGTGTTTCAAAGTCGGTGAAGACACAATTTGGCAGGAACGGCAAGAAAGTTCCATCACTCTTCAAGTGAAAGTTAGTTTTTCAGAAAATCTAGATTTTTTTCAAAATGTTATAAAATTGATTTTGAATGAAGACAACATTGTTCCCCGGTTTATGCCCCACTTGTGGAACTTTTGCAAACGTTCAGAAGTTTCACCACCTCTCAAAGCGAATGCTCCAGCCCTGGCGCAGAGAATTAAGCCTCTCTGTTGGACTGGTGTTGTCTTGAACTTTACGATGTGCACAAGGCGTCTCGGAGAGGATGGTGTCGTTATGAAGATCCGTCGATTCCACACGTCAGCTAAGGAGACATGTTTTGAAGTTGAGAAGTCAACTATTCACGAACGTCTTTGACTTCTTCAAAAAGAAGTATTGAATCACTTTGAAGTATCCCGATTTATACACCATTGAAGCGAAAGGGAAACAAGGCAAAATTCATTTCCCTGCGGAAGTTCTCCTTTTCTGTCCGAACCAGACAGGTCACGAATGATCAAACCCAGTGATCAACAATGAGCAGGCGGAGATGATTAAGGTAATTTGATATTTTAAAATCTGAATAATATCCCGAAATTTCCTTTTTCAGAACACCCACATATCAGAAAGACGACAACTGATACTATCGTGAGAAACGTCAGATTGGCTTCCAACAATATCTATGGCTTCTTCAAAGTTGAAGACCCTGTCAACCTTGAAGGAATGGTTCTTCCAAAACCTAGCGTTTGCCGGTAACCGACTCGCTGATTTGGAAAATCCGAAGTCTAGACCCCACCGACTTCAATCGTGCTGGATAATATTACGATGCCAAGGAATTGACGAATTGGGAACTGGTCTTTGTTCAAAACGACGAAAGAAGTCCAGTAAGTTTCAGCTTGTAATTTTTCATTATATTGACTCAATTTCAGTTAGGACTTGCTACGCAGCCTATCGCCGATGAAAAGGTGACTAAAGGTATGAAATAGCAACCCAACGATGAGTTTCATCATTAGAGGTGATTTGGAACGAATCGTCAAGAAAGCGAAGGCTGCTACGCAACTTCTCTTGTTCGTTGACAAATCTTGTACCATTTCAACTATCATAAAACTGCAAATCAAGGCGTTGGAGCGTATGACCTGCTCACTCAGCAGATTCGCGGTGAAACCGCCAAGAAAGTCTGCCGTAAACCAGACACAAACTCGTCTTAACATTATCAATAAGACAAAGCATGAAACTCGGAGGACTGAACTATGCTAACTACTTGTGAGTGAGGCGTTCAACAAGCCAAATAGAATATTGTCGTTGGATTTGTTACTTCTCAACGGGTTGGTGGAAATCCAGATGTGAGTCATGACAGCTGCACAATCATATTTCATTTTCTCCAGTATCCAATATCAGTTGGATTTGCTGCAAACATGCTCCGGCAAGCATCATCAAAAGTTTGCCCTGGTGGATACGGGTATGTTCATCGCGATAGGGATGTTTTCGCGATCCATCAGGCATAGTCCAAGGATCTTGACTATCTTCGTGCAAAACATGCACTGAGCAGCGCGGAAGACCAGATGGTATCCTTTTGTATTTCAATGGAGTTTCCGAAGGGCAATCACAATGATCAACGAGGAATTCAGTGCCCGAGTGAAGGAGGCGTGCATGGCATTCCAAAAGAGAGGGAACCGCCATTCAGACCACACACCATCATCGCCTAATCAAAGGCTCACAACGAGCGTCTGTGACAACAAATCCGAAAAGGGACGTATTGTTAATTTGGAGCCATGGGGGTACTGTCGTGGACCATACCATTGTGTAGCAATATCTACATTGAGTGGTATCATGCCTCAGCTGTAGCGCGCCAACAGCAGAGGTTACCAAGTTCACTCTCATCTTCACCACTAAAGCCGGCCCACAAGCTGAGCCATTGTGGCATCTCGGTACAAGCAATTGACCAATGATCTTTGCATCATCAGATTGTCTTCCATCCGGTCGGACTTCCCGTCCCACTGTACATTGCTGATCGTTACAGTCAACGTGGAGCAATGGTTCTTGCCGCCAATCAAGGGTAAGTTAAAATATATACGACATCTATTTATTATTTTCAGTCCACTACAATGAAGGACAAATCGATCTCGCGGCTACCAACAGTGCATATGGCTACGGAGAGAAGAAGCTCTTCACCCCCTACTCGTTTCAATGGAAAATTATCTGTACTTTCCTCTGTTTCTTTTACTCTTAGTGGCTGTATAATGTTTTATTTCGTCAACCCAGACTACTTTCGCTATGATTGTATATTTTTCAGCATTTGGTCATTGTCATTTGTAATTATTGTCGGAATGAGATAAAATGATTTATGAAGAATCAAATGCATCGCTTCTTGGTCAATTCCTGTTGATAAGAATCTCATTCAGATATTTTCAAAAGTTGTGGTTTATTGATATTAAAAAATATCCACGTTGCACGCTGCTGGGTCGCTGTGACTGGAGAAGTTGATGTTTTATGAATTCTTCCGTAAATTCAGCTGTTTGTACCTGTTTTGTAATGTTATCACTTTCTTTCGAACAAAATGTCGATTTTTCTGGCAGAAAATTCCACTTTTTAAAATTATTTACAACATTACAGATGGATACCTTCTGTTGTGTCTCGATTGGAGAATGTTACGAATCGAATGGAGAATGTATTGCTGAAATACGACTCGAACAAAGGAATTAAATAATTGTTCTCGAAATTATAAATTTCAAAATAATCGCTCTTTAGAAACTCCGGTCGGCGCGACGCCTCAAATCATTAATCTTAATGATGATGTGATCTGTAAGAATCTCGTCTCGTTTTATATTTATCTGCCAAAATAGGAGGAGATTTGAATCGCCTTGGATGCATGATAAGGACATATATAATATTTAATTCAAATTTTATCGAAAATTATTCAGTCTAAGAATCTATTTTTCAAACGCTTTTTTCGATGTTGTTTGTGGATTGCAGTGTGGGCGCAAAAACGCGAACACTACGACGAGTTCGCGACTCTTGTGAACGATTTGACGGCGGAAATTGTTGCATTTTCCGATTTCAAGGAGAACCGAAAATCCGAATTCTACTATAATTATATTTGTGGACTTGAAGCTGCTAGGTGGGACTGGTGGAAATTTGCCAATCCTGAGTCCGAATATCTATGTGAAAAACTCTTCATTATTTTATATATTTCAGCTCGAAATCGCATGTTCATACTTTTTTCAAGCACACGCCATATTCTCGTCGCGCCGTGTTGTGTCAATTTACGAATTTACCAATTGTTTTCCAATTTAGTTTTTAAACGAGATTTTTGTGGGCTTTATTTTTGTGAGTTTTGTTTGGGTCAAAAAAAATCTTACAAAGAATCATAATATCCTTTCAGGAAACTCAAATTCGCCGAACAACTACCCTATTTTGCGCGTGAAATATGGTGTATTTTACCTAGACTATCTGTGAGAATAATGCCGGTCATTCATCATAACTTTGATGCGCAAACTGCAAAAAACGTCGGAATTATTTCGGGAACACTTCTGAGCGGCGCAACATATTTGACGCGAAAAATACCTCGTAGTGAGAACTACAGTAATTGTTGCGTGTAAATGACTACTGTCGAGAATCGCTGTGTCGATTTAAGGGCTCATCGAAAAATAGAGATCCGGTTAAACGACACAACTGCTATAGTATTTGAAGAATACTTAGTTTTCGCTACGAGATATTTCGAGCGTCAAATCTGTTGTCAATGCGCATTAGAATTTTGTGTAAAAAGTTTTGTGTTTAGTGATTTTTGGAGTTTGCATAGCGCGTCAAATATATGACCGGCAGTGTATGCCCATCGCCTAAGCACGCTCGGTAAAATACACCTTTTCGCGCAAAATGGGATTTTCGGCGAAAAATTCGAATTTCCTGAGAATTTTGGTCGGTTTTACTATTTGTTTACAATGCAAAAAATGAAAATTTTTAAATTTTCTGAATTATCGGCACCGTCGTTTTTCACTATATAAAAAAATTTCAAAAAATTGAAAATTCCGCCACATCACACTTTGACGCTCAACTTTTTTTACATGAACAAGATCCGGATTTGTCTGCGGGGAAATTTGAGATTTATTGTGTAGGTCTCGCAGCGAAAAAAAAATTAGAGGTTCCGGCGTCAAATATGATGTATGACCGGCATGCACATAGCCTAGACACGATAAAATACATCAGATTTTACGCGCAAACTGGCAAAAAAATATTTTTTGGCTTTTTCTAAACATTTGAAAAAATGGATAGATATTCCAACAATTTTTTTCAGTTGTGTTTTTTTTGTGAAAAATTCCTTCTGAAGTTCAAATAAATATATACTTTTTTAAAGTTCGAAAAATTCACATTAGCGCGTTAAAAACGACGTAGTCAGGCATCACATACATTTGACGCGGAATCTTTTTATACAAGAAGGATTTGCGCGTCAATCTGGCGAATTAGGTTGTCGGCGGAATACACCGGGCAAATTTCACGCGTAAAACTTCAAACCCTGTTTCAATAATAATCGGAAAGAGTATTCGAGGAAATTACGTCTTTCAACGTCTCCGCTGGAACCACGACAGCAAGTTTTGTGTTGACGGAAAAAAAACAACATTAAATTTTTCGACACAAAAAATTAAATTTTTCAACGAAAAATAATAATTCTAAATTTTACAACGCAAAAAAAAATTAAATTTTTCAAATAAAAATTAAATTCGATTGATTCAACAAAAAAAAATTAAATTTTTCACCAACAAAAAATGTAATTTTTCAACAAAAATAAATTTTTTAATGAAAAAAAATTAAATTTTTCAACGAAAAAAATTAAATTTTTCAACAAAAAAAAATTATTTAAATTTTTCAACAAAAAAAAAAGAAATTAAATTTTTCAACAAAAAAAATTTAAATTTTCAAAAAAAAAAATTACTGGAATTTTCCAACAAAAAAAAATTCAAATTTTTCAACAAAAATTAAATTTTTCAACAATAAAAAATTAATTTTTCAACAAAAAAAATTAAATTTTTCAACAAAAAAAAATTCAAATTTTCAACGAAAAAAAAATAAATTTTTCATCAAAAAAAAATTCAAATTCCCGCGGAAAGTGCAAAAAATTTACAGAATATTTTCAAACCCCTCGCTTTTTCACTTGTCTCCCGCTATCATCTTCACGCAATTCAGCCGACACCTTTTCGTCGCCATTCGATGCGGGTTCCCAGCGATGTATCGATTTTCAGTTGATTAGATCGAGTTTTCGCTCCACGTACAGTACACTGAGTTCTGCTTCGAGGCCATCTGAAATTTTTTATTTAATTTTTTTAACGATTTTTTTTTCAGAAAATCAATAAATCTATTCAGCTTTTTTATAACTTTTACACAATTTTCCGTTTGAAAATGTCAAAAAAACCTCGTGTGTTTATGGCCACATTTTATTCAAAAAATTTTGAAAAAAGATTCCCTGCATTTTCCCTGTGGGACTCAAGAGAAGTGCGTGTGCCTTTAAGATTTCTATTGTTTTAAAAACTTAAAACAAAGATTTAAAAAATTCTGCTTTCTAAAAATACATAATTAGTTATTTTTTTGTGTATTTGTTTGGAAAAAATCAAATTTATCGATTTCTGTGAATTTTTTTGTGAAAAAAATCAGTATTTAGCGATTATTGTGCAATTTTTTCGGAAAAATCAATTATTATCGATTTGTATGAAAAAAATCAATACTTATCGATTCTTTGTGATTTTTTCGGAAAAAAATCAATAATAATCGAATTTTGTTAATTTTTTAATCAAAATTCGGCTTTTTCCGGTAAAAACATCTAAATTTCGCAAAATTAATCTGATTATATATTCTGCGAAAAATTTAAATTTCTCATACTTCGAAAAATCGAATATTGTAAAAATCAATAATTTCGATTTTTGGTTAATTTTTAAAAAATCAAGAGGTAATTAACGACTTTTTGATTTTTTTTTTGAAAAAAATCAATAATTATGGCGTCGTTTTTTTTTAATTGATTGGAAAAAATCAATAATTATCGAATCTCAAAAAACTTTTTGTAAAAATCAATAATAATCGTTTTTGTGTGATTTTTTTCGGAAAAAATTAAACATTATCGTTTTTTGAATTCTTTGAAAAAATTGATAATTATTGATTTTGAATTTTTTTTTGGAAAAAATGCAATAATCATCGATTTTTTTGTGAATTTGAAAAAAATCAATAATTATTGCCACGATTTTTCCGATTTTTTCCAAGAAACAAAATAAAACAATAAATTTTCCTTACGCCACGTGTCAATTACACCCCACGTGGCAAATCGTGTAGAGCGCGCATTTCGAATAGGGTGCCGCCGAAGAAGATTTCGCGTTCGATTTTTCGAGTTTCCTTGTCTTTCTGAAATTTTTTTTTTCTAAATTTTCTGAAAAATGTTCTGCTGTAAAACCTCTTTTTCCTCTCTTCTCCGCGCCATTTCGCATTGCTCTTTTTTTTATCCTTTTCCAGCGTTTTTATCTCTTTTTCAACTTCCCGCTCGTTGCGCATTTTGCGCGGTCCTGAAGAAGGTTTAAATTTTTAACAGGGGAAATTTGCTAGGAGAGTAAATATATTCGCTGTGAGACCCGTGGACATGAAAATTTTTATTTTCCGCTTAAAATAAAGACAACTGAATTTCGCTTATATTGTGATGTTGTAAGCTGAAAAAGCTGAATTTTGATAAATTGAAAAAAATTATCTTTAAAGGCGCATTTATTGATTTTTCCAAAAACAATTTACAAAAAAATTGATCATTCTTGATTTTTTCCAAAAAATTAACATAAATCGATAATTTTTTTTCCAAAAAATTCAGAAAAAGATTATGATTTTCAAAGTAAATACTGAACAATCGATAATTAATGATTTTTCAAAAAAAAAAAATCACAAAAGTCGATCATTACCGATTTTTTCCAACAAAATTTTCAAAAAAAACCACAATTATTGATTTTTTCCGAAAAAATTACAAAAAAATCGACAAGTACTGATTTTTTCTGAAAAAATTACTAAAAATTGATAATTATTGATATTTTACAAATAGTTAATTATTGATTTTTACAAAAAATTCACAAAAAAATCGATAATATTTTTTTCAAAAATAAAATTACAAAAAATCTCGGGGATCATTATTGATTTTTACCAAAAAAAATCACAAAAATCGATAAATCTATTATTGATTTTTTCCAAAAAAATTACGACGAAAATCGATAATTATTGATTTTCCCAGAAAAAATTCACTGAAAAATCAATTATTATTGATTTTTTCCGAAAATAAAAAAATTGATAATTTTTCAATTTAAAAAAAAATCACAAAAAATCGATAATTATTGATATCTAACAAGAAAATTACAGAAAATGGATAAGTATTTTTTTACGAAAAATTCAACAAAAAATCGATTTTTGATTTTTTTTCAAAAGAAAAATCACAAAAATCGATAATTATTGATTTTTTCAAAAAAAAATCACAAAAATCGATAATTATTGATTTTTAGGCGGAAAAGCCGAATTCAATTTTTCAAAAAAACAATCGATAGTTTTAAAGGCGCATGCGCCTGGATCTCACAGCGAAAAGTGTATCTTGCAAATTTTTTGGATAATTTCGCTGAAAAACGTATTTTTTAGACAGTTATCTCTTACAGGGAAAATTGTCTAAATCAAAAAAAAATTGTTTGTTAAGCAACATTTTTTCAGTTTTCATAAATTTCAGTTTTTTTTTCGCGAGAAAAAAAGCCAGCGAATTCTCGATTGAAAAATCAGAAAAAATATTTTGGTATCAAAATATTTTTGGTATTACGATATTTTGGGTCCCACCTCGAAAAGAGGATTTTTCAAATTTTTAAGATTTTCTTTGCAACTTTTAACAATTTTTTTTTCGGATATAAAAATCGATTTTCGCTGCGAGACCCAAATAAAATAGATTTTCTCGATTTGCGATGAACTTTTGAGTTTTGGTGAAATTAGATTCCAAAAAAATCGCAATAATAAATGTATCAAAAAATCAATACTTTCTGCGTCTCCTTCTCATCGTCAGTTAGTTTCCGCTTTTCGGGTCTCCCACGCCACGACATTTATGTCAGTATTCTCTTGTGAGCTGGAGCACAACGAGAATGAGCTAGTCGTCTGATTCTGACGGATCATTTCGTCAAGATTAGCCTTCCCTCCATATCCTGCCGTGGTTTTGCCGCAGCTGGAATTGCATCCTTATTCACTGCGTCGACGATGGAAAAGCTCGCTGGAGTACCTGGAATTTATCGATTTTTTATTGATTTTTTATCGGTTTTTCTCGATTTTTTTGATAACTGGGGGAAAACTCGGAAAAATCGATATAAATTTCGATAGGAAAATTCAAAAAACTTCGGGTCTCACAACGAAAATTGATTTTTTGGATTTTCAAATTTTTAAACTTTTGTTGTAACAACAGTGGAAATTTTTCGAAAAAAATTCAGTAATCGATTTTTTGGAAAAAAGGCAATAATTTTCGATTTGTTGAAAAAAAAAATCAATAATTATCGATTTTTTGTGATTGAAAAAAATCAATAATCTTCGTTTTGTGATTTTTTTTCGAAAAAATCAAACAATTATCGATTTTGGATTTTTTGAAAAAAATCAAGAATTATTTTTTTGTGAATTTTATGTAAAAAATCAATAGTTTGCTTCGTTTTTTTTTGGAAAAATCAGTAATTATCGATTTTTTGTGGATTTTGTGAAAAAAATCAATAATTATCGATTTTTTTTTGTATTTTTTGAAATGACAAAAATCAATAATTCTCGAGTTTTTGTGATTTTTTTTCGGAAAAATCAAAAATTATCGATTTCTTGTGTATTTTTTTTTGGAAAAATAAATAATTATACGAATTTTGTGATTTTTTGTAAAATATCAATAATTATTATCGATTTTTTGTGATTTTTTTCGGAAAAATCTTATCAATTTTTGTGATTTTCTTTGAAAAATCTATAAATATCGATTGTGGTGATTTTTTTTGGAGAAATCTATAATTATCGATTTTAGTGAACGAATTTTTTGTAAAATATCAATAGCCAATTATCGATTTTTTTGTAATTTTTTCGGAGGTAATCAATAATTTTCGATTTTTAATGATTTTTTTGGCCTTGGATTTTAAAAATTTTAAACTTTTAGAATAAATTTTTCCATAGTTTTTTGTTGAAAAAATCGTTTTCTGAAATTTTGAGATTCAATTAATTTTTTCTTTAAAAAAATCGTTGAAAAATTAATTTTTTGGAAAAAGAATCAGACGAAGATAGATTTCGCTGTGAGACCCAATTGGGCTCCGCAACTAGTGCCTGCGCCTTTAAATAGTGGTCGTGATTTTTTTTTTTGTTAAATTTTCCCGCGAAATTAAATCAGATTATTTCTGCGAAAAAGTGAAATTTCTCAAAGAAACTTTTGAAAAATCAATTTTTAAGACAACCCCTAATTTCTCCGATTTTCCTGCTAAATAAAAGCATCTAAAAAATTGGAAAATCCACAGAATTATCGCTGTGGGGCACAAAGTTCGGCATGCGCCTATAAGATTATCGATTTTTTTCAAATTTTTCAATCGAAATCAGGTTTTATTTTTCAGTAAAAATCATAATTTTACGAAATTAATCGGATTTTTTGTGCAAAAAATTCAAATCTTTTTTTACGTTTTTTCGCCAAAAAAACCATCTAAAAAATTCGAAATTAAAAGTCCCGAGCAGGTTATCTTCGCTGTGAGACCCAAGTCCGTGCTTTAAAAATATCGATTTTTTGTTAAATTTTGCAATCGATATTTGGCTTTTTTTCCGGTAATGAAAAAATCATAATTTTGCGAAATTAGTCTGATTTTGTGCGAAAATGCGCAATTTCTCATAAAACTTTTGAAAAATTGATTTTTTTTTTCTGGAAAAACCTATTTTTGTCGTTTTTTCGCTAAAAAACATCTAAAAATTCGAAAAATCTCCCAAGATAGTTTCGCTGTGAGACCCAAGGCTCCTGAAAGTCCCTGGGCCTTTAAAACTATCTTTTTAAATTTTTAATCGAAATTCGGCTTTTTCCGGTAAAAACATCACAAGTTCGCAAAATTAATCTAAGATTTTTTCTTCGAAAAATTCAGATTTATCATAAACCTTCGAAAAATAATCGATTATTCCGCTAAAAAATCATCTAAAAATCGAAAAATCCAGACAACGTTCGCTGCGAGACCCAACATGCGCCTTTAAAAATTTCGATTTCCTGTGAAAATTCTCACAATTTCTCCAAATTTCCCGCCGTCACATTCGTCGTTTCCAAATCATAATCCTTCATCATTGAACCATCCGAGAGGACTACAATCGTCCATCTGAAGTGGGAAAAGATCGATTTTTTGTAGAAAATCATATATTTAAATTGATTTTTTTTACAATAAAAAAAATTTTGGTACAGGATTTTTTTGGACAGTTCTGGTAAATCGTGAATCGTGTAATTTGGGCTAAATTCATTTTTTTCAAAAGGTCAGGGGGGGGGGGGCACTGAAGAAAAAATTTACAAAGCGTGGAGCGAAAAGGAGTAGATATACAGTCGCGAAGGAACGATCGCTCCGCCAAATTTGCACGCGGCAAAGGGGCGTGGTTTATTGGGGGCGGGATTCCGGCGCAACCCTGCGGCACGCTTTTTTCTCTCTTTTTTCGCTCGTTGGGTAATTTTCAGTTATTTTTATTCGTTTTCTGTTCGAAATTTCATTTCGCTCGATTTTGTTTTTTCGGATATAAAAAAGTGTCCAACCATTTTTTAAATGAAAAATAAACAAGTTTTCCTAACAGATTTTACCCGAAAAATGCTTTGTTGGTCTCTCTTTGTGAAATTACGTTTGTTAAGAGAGAAAATGGGGGAAAAAAAGTAAAATGTGAATTCAGAGGAAGCGTTTTTTTAACGTTTTGCTTCGTATATGGCATACAGAAGAGACAAACGAAGCCTTTTTTCTAGAAACTGATAAAACTTGGTTATTTTTTAAAAATAGACACTTTGTTATCCAAAAACGATTCACAAAGCGAAATCGTCAAATTTCGAACAGGAAAGAATAAAAACTGAAAATTGCCGCATGAAAAAAGCTAGAAAAAAGCGTGCGCAGGGTTGCGCCGGAATCCCGCCCGCAATAAACCACGCGCCTCCACGTTGCCGCATGCAAAATTGGCGGAGCGATCGTTCTGTCGCGACAGTATGTCACATGTAAGGTAACAAGGTTTGGTTTTCAGTTGAGAAAAGGGGGATTTTTTCTCCCGATTTTTCGCAGAGTCCACGCTCTCCTCATAGCCGAATACTAGAGCGCGCTTGCAGCGACTCTCGTTTCTGCAGCCGCGGTATTTTGATTTGCCACTAGAAAGCAGATATTTCATTTATCGAATTTTTAGGTTTAAAATTTTTTTTTTCTGTATTTTTCGAACACCTTTTGTCAAACAGTAAAAATCGAAATTAAAATAACTAAAATGAACTTTTATTGTCCACTGATTCTTGGTGAAATGGTTTGAATTTGAAGAAATTCTACCAACGGGCTCTCTCGTATTGTCTGGATATTGTTCTATTGAGATAAAATTTGGTTGTAATACATTGTTGAATTAAGGGTGAAAAAATGGTTTAAAACGATTTTTAATAGAAAAAAATTCAGAAAATACGAAAAATCTGATCATTCTAAATTCGAACCATTTCGCAACCAGTGGACGAAAAAAGTTGATTTATTTTAATTTCGATTTATACTGTTTAACAAAAGGTTTGTTCGAAAAAAACAGAAAAAAAAATTTAACAGCCAAAAATTCGCTAAAGCTAAAAAAGCTGCTCATTACATTGGAAAGGCAAAATACCGCGACGGATGCAGCAACAACGAGCGAGAAGCTGCAAGCGCGCTATTTCTATTAATTATTCAGGCTTTAAGGAGAGCGTGGTGCAGAGCCCCAATTTTAAACAAAAAATTGCGGGGTGAAAAAGTTAATATTTAAAAAAACGAGGATTAAATAAAAATTAAATAAGGTCAGCAATGTTCATTGGCATCTCATTTGTGTCGAGAAGTACTGCTCAATGTCGAATTCGTACGTCGTCCGTTTGTTTGACGAAATTGATGGCGACGCCCTTGCGGCCGAAACGTGCCCGACAGGCCGATACGCAGTATGGATGTAGAGCTCGCGGACTGTTGTTCGGCAAATCGTAGTATCTCCTGGCAAAGTTTTAAAAGCTGATTTTTGCGATTTTCGCCATTTTTTGACAAAAATTGGCGAAATTCGGAATTTTTAAACAGATTTTGACGTAAAGTAGAAAAGGTTCCAATGCCAAATTGTACGGTTAATAGCCTGAAATACTTTAAATTTCCTTTTTTGCACAATTTTAACAATGAAACCCTGTACTTTTCGCTACTTTTAGAAAAAAGCTTCCAAAACGATTAAAATTGCGGCAAATTTTATCTGAAGATTTTCGCAAAGTTTTCACCTACAAATTGAAGAAATCGGTATTTTTAAACAAATTTTGGCATAAATAGGTTAAAATACCAAAATTTTACGGTTTTTAGCAATTTTTGAGTGAATTTTCAAAATGTTCCAGTATTTTTGCAACTATTTGGTTCTTTTCATCTATGTTCTTTGAAAATTCTTTTTTTAAGGTGAATTATGTTAGAAAGGGGTCGATTTTGCAGAATTTTGACAGATTTCGCATGAAAATTTGAATTTTAGGCAGGCGAAAATCATCAAAAATATAAGATTTTTTGCGACTTTTAGTTGAAAAAATTGTACAAAACGAGTAAAATTGACAAATTTTTAACGATTTTCGCCAGTTTTTCACCTAAAATTTAATTTTTTTTGTCTAGTGAAAGTTAAATTCAGTGTTAAAATGTATCTATTTTCGCTCAACCTGAAATTTGAAAATTTTCAATTTTTCACTAAAATCCACTTTGAGAAACCAGTGAAAAAATTTTTTCAATTTGATGAAAAAATTTGCAGTGAATTTTATTTTCTCTGCTAATTTTTCGTTGAAAAATGCACTTTTTCAAGTAAGAATTAGCGGGATTTTTGGATTTTCATCTTAGGTCAATTTTCAATAATGTTGCTCGCTGAAATTGATTTTTTCTCAATTCATATTTTGTATGAAAAATTCCACCTTTTTGCAGAATTTTGACTAAGAAATTGCCACTCGCCAAAAAGTCTGAATTTTCTATTTTTCTGTGCTGACAATCATCAAATACGATTTTCAACAGAAATGAAATTTTCGTTATCTTTCGCGGAAAATCATTGATTACCTGATTTTTTCGCTACTTTTAATTGAAAATAGTTTACAAAACGAGTGAAATTGGCAAATTTTATCGATTATCGCAAGTTTATAACCTAAAATTTAGCTTTTTTCTAGTAAAGTAGGGAAATACAGTGAGATTTTTTAATTTTTCACTGAAATACATGAGAAATTAGTGAAAAAAACATATATTTGGCCAACTTTTCATATTTGATATGAAAAATGCCGTTCTGAACAAAAAAAGTGTCTGGAACCATTCAACTTATTATCAATTTTCAGCTGAAAAATTCATTTTTTTTTCTCAAGAATTCGCATTAAAACTGCGGAATTTCTTGTATTTTCAGAAAATGATGATGACACGCTATTCTTCGCGGAAAATCATTGAAAACCTGATTTTTTCGCTACTCATAGTTTAAATCAGCATGGTATTACATATGAAATTGGCAAATTTTATCAATAGATTTAAGTTTTTAACCTAAAATTTGGTTTTTTTTTCAAAGCGAATAGGGAAATCTTCAGTGTCAAAATTTACTGATTGGGTAAATGGAAATTGTGAATTTCCATTGTAAAAATTTCTGCTGGATTCATTTTTCCCTAATTTTTCATATAATTAGGCTAAAAAATGCAATTTTTCACAGGTTCGCATTAAAACACCGTTTTTTGTAGTTCTTATCAACGAAAAATGCTATTTTTTGCGGAAAATCACTGCAACTTTTTCTGCAGTCTCTCGCGGGCCAAGGAAAAGTGGTTTCTAGGCCTTGGCCGAGGGGCCGACAAGTTTCAGCGGCCATTCATCTTGCTTTGTTGTTTTCGCCTGTTTTCTTTGTTTTTCACAGCTTTCTCCCGTTTTTTCTCATTAAAACTGATAAATAAATGCACTATTTTTTGCAGATGCTAAAACAAGTTCCAAGTAAAAAAAATTATGTATGTCAGTCGGCAAGCAGCGGTGAAAATGGGCAATGTAAAATGATGGATTACGGGAGATACAAAACCTGAAATTTTTCTTAAACATGATACATATGCTGCTTAGATGCTGATACTGATTTTCATAACGAGACCGCTGAAAGTTTTGAGGTTTCCACAATTCAACTTTTTTGGTGATTATAAATCGAGATTTTCGCACAAAAGGTTGAATTGGTCTGAAAACCTCAAATCTTTTTCAGCGGTCTTGATATGAAAACCAGGTAATTTCAGCCTGGAAGCATCATATGTATCATGTTTCAGAAATTAGGTTGTGTATTCCGGTAATCCACCAATCATATTGCATTGACCACTTTCACCGCTGCTTGCCGCCTGAATACATAATTTTTTTACTTGGATTGTTTTAGCATCAAAAAATAGTTAATCAGTTTTACAGTAAGAAAAAACGGCAAAAAGCTGTGAAAAACCAAAGACTAAACACGGAAAACAACGCAAAAATGGCCACTGAAACTTGTCCCATCGGCCATCTCATGGCAACCACTAGCTTTCTCCCTTGTGAGGATAAAAATTTGCAGTAGGAAAATGCTATTTTTCGCGGAACATCGAAAATGCCTACCAAGGACACTTGCGGAACATCAAGTCATCTCGCTCAAACATCAGTAGAAATGAGCAGCTGACACGAGTGGTTCCTGCTCTAAACTCCTTCATAACCTCATCACGATCCTTCTGCTCCATATCTCCATGCTTCGATGAGACTTGGTAAAGTCTGCTGGGCTCCGTCATCTTATCAGTCAACCAGTCCACCTTTCTACGTGTATTACATAACAACACGGACCGCCTGAGTGATGGTTAAGGTGTCGTAGAGATCGATAAGCGTGTCGAACTTCCACTCCGATCAACTGCTACGAAGACAACTGCTTGATGCCTTCCAGTGTCAACTCGTCACGCTTCACAAGGATCCGAATCGGATCCGTCATGAATTCTCATCATCTCCAGAATCTCATGAGGAAGCGTCGCGGAAAGCAGCACCACCAGGGCTCCAGGCGGTAGATAGCGATAGTTATCGGAAATGCTCCTTGAACCCCTTGTTCATCGTCGGCTTCATCGAGCACGAGATGCTTGATGGCGCGGGTGCGCAGGTTTCGACGGCGAATCATATCGAAGACGCGTCCCGGAGTAGCCCACGTGCTGGTCGTTCCAATCGAGCTTTCGGATGTCCTCGCCAAGACATTGGTGCCTCCGAAACAGGCCTGGCACTGGACATTCGTCGCCGAGCGCCAGCACTTTTTGGAGTTTCGAGAACTGCCAGCTCCGTGTCGGCGAAACAGAGCTTGGGTCTCGCGGACGGGTGTCTAGCGATTGGAGAACGGAGATCGAGAATGTCGCTTTTTCCTGTTCCGGATTGAGCTTGAGCGATGACGTCACGAGCCTTGAGAATTGCGGGGATTGCGCGTTCTGGATGGCAGATGGATTTTCGAAGCCGTACGCGTAGATTCCACGAAGCAAGTCTTCTGCTGGAAATCGAAAAAAATTTTGAAGTTAGTTCTATATTTAAAGCCTGTGGTGTAGTCGAATTATTTATTTCTTTATTAGACTCAAAATTGCCTGAAAAAAAAGTGTACAAAACGAGTAAAATTGGCGACTTTTATCAATTTTCGCCATTTTCTAAAAAAATCGACGAAATTCGGATTTTCAAACAAATTTTGACGTATAGTAGGTTAAAATTCGATTCCAAAAACGGTTTTTAACAATTTGGTCGTTCTTAAAGTGTAGTCGAGCAATTATTTTTTTCTTTATTAGACCCAAAATTGTCTGAACACACCGAATTTCAGAATGTAACTTCTTGAAAACTCAAAACTTTTCAAAAAAAAGTTAAGATTAGCCTCTTGAAAAAAGCCCTAAAATTTAGTGAAAATTTGAAATTTGACCAACTTGTCTCCTGTCAAGCGGCTGGAAACAGTTTTCTTTGAAATTGTCGTATAATTTTGGGTATACAGCTCGATTACCTTGCGTCTTCAGCTTAATTTAGGTATTTAAAAGTCGATGGACGAAGAGATTTGTCAAATTTTTTTCACCAACTATCTTCGTCCATCGACTTTTAATACCTTAATAAAGCTCGGAAAACGCAAGGATACGTATACCCAAAATTAGACGACAAATTCAAAACAAATTGTACATTTCCAGCCGCTTGTCAGACAATTTGGTCAAATTTCAAATTTTCACTAATTATAGGCTATTAGCCGCCATAACTTTTATTTGAAAATTTTTCAAGAAGTTACTCATTATGAAATTGAGCGGTGTTTTCAGACAATTTTGAGTCTAAAAACGCAATAAAAAAAATTCAACTACCAACGGTGGAGCGAAAATTTATTAAAAACCGTATAAATTCTGGAATCCTACTTTACGAAAATTTGTTTAAAATTCCGAATTTCAATATTTTAGATGAAAAAATGGCCAAAATCGATAAAATTTGCCAATTTTATTCGTTTTGTACACTTTTTTCAACTAAACTCAAGTAGCGAAAAATCATGTTACCATTTGATGATTTTCAGCTGAAAATTCCAATTTCAGGCAAAATTCTTGTCGGTACAAAAAGGGTAATTTTTCAGAGAAAATATGGAAAGAACTGATAAAAAAAACTGTTTTCAGCAAGAAAAATGTTTGAACAAATTTACCTGTTAAATCTGCTTAAAAACCGTAAAATTTTGGAACGTTTATAACCTACTTTACATCAAAATTTGTTTAAAATTCCGAATTCCGTCGATTTTTAGATGGAAAAATGGCGGAAATCGATAAAAGTCGATCGCCAATTTTACTCGCGTGGTTTTGTACACTTTTTTCAAAGTAGCAAAAAAATAATGTTTTGACGCGAAAATTTGTTTTCAGCGACAAAATTCGCTGCAGAAAAAGTTCATTAATATGAAGCTTTCTGCTTAGTTATAGAGAAATTTGTTAAAATCGATAATTCAATACCTCAAGCACCACTTTGTCAAAAGTTGGGATAATTGAGACCTCGTCAGACGACCTTCGAACTCCACAGCTCGCCAAATCGTCGTTTTTCTTCTTATTTTCCGCCATTTTTGAAGGAAGAAGTCTGTAAAATCGATAAAAGGAATATTTTCGAGCATTTTCCGTGCAGAGTAATTCAGCATTTTTTGGAAATTATCAAAATCAATGTATTACAAAAAAATCAAGAAAAACGAGGAAAAACGATAAAATTGATTCGGGCATTTTGCAGATCAAGATTTTTAGAAGGAAATTAACATAATAATTTACATCGAAAAAATTAAGAACCTGTAAAATCCATAAAAAACTAGTAAAAGCAAGATTTCGAATGTTTTCGAAAATACCCTGTTTGTCGAGCATTTTTGCAGAGAATTTCAGCATTTTCAGGTGGAAATTTACACAATAAACGAAGTTACATCGAAAAAATCAACAAAAATGGTGATTTATCGGCTATTTTCGCTCATAATTCGTAGGATTCGATTCGAAACTAAAAACTTTCGAAATTCGAAAAAAATAGCCCTGGCCTAGCGTTCCCCTCCTAGTCCACGGCCGCGCCGATTTACGGAGAGTACGATTATTGATCGATGACGCATGGTTTCCGACTGTTTTTACTATTAAATTACCCTTAAATCACAATTTTCCATAGAAAACGGGTGGAATTCTCTCGAAAAATGAGAAATCACCAAAATCGGCGCCGGTTTCCGATCAGGATAATGCGATTTTGGTTTGTTTCATGAGGTTTTTTTAACATCGAAATGATTATTTTTTTGGTAATTCCAGGCGCTCAAAACACAACGGGACAAAATGAAGAAAATGATCAAGCGAAAAGAGAATTGTTTGGAGAAGGAACCACAATTGGCAAAGCAGCTAAGGATGGCCGGAAAGAGTAAGAAATTTCAGATAATTCAGTTTTTTATATTAAAAAAAAAAAATAGATTAAAATTTCGCTTTAGCTAATTCCAGCCGTGCTTTACTCCCGCTTCAAGCAACGCCACCAAGAGAAGATTACATGAGCCGATCAAACCTTGAACCCTGCACCTTAGCAAGCTATAATCGAGCTAATGGTATTGAAAAATCAGAAAAAATTGAAGTGTAAATTTTCCAGCAAACAAATCAATAAATTTCCTGGTAAATGAACCTATTCGCAGAAGTGCAACAGCAAGTAACCGATGGCCTTCGAGAAATGAAGCGCTGAAAAAGATTAATCAGAACTTCGAGATCAAATCGACAGGATTATGGAAGAAAAAGAGGCGGCGGAATATCAGGAAGAGATCGAAAATGCTGTCCGGCCAGCTTTCCAACACGGATCTCGGGTAACGTTGAGAATGGAGGATCTGTTGGCGGGCGGAATGGGGCACAGTTTCAACTTCCAGAGGCTCCGAGCCATGAGCCGCCTGAAGCAGAGCGGGAATGGCAAAAAGGTTGTAGATTTGCCCGACGAAAATTCCTAAATTTTCCCTAAATAAATAATTTTGTTTTCAGATAAAGAGAACGTCGCGAGAAGATTGCTCTGGAAGCCTAAATATTGCTTGTTACTGTGAATAAAATAAATTCATTATATTGTTATATTTTCTATACAATCTGGTCTTACTGGCGTTGTTCTGCACGTAAAATTCGTTTAAATAACGCTGTAACAAAAAATCTCAGTTTGCGCGTAAAATTGAAAATGCCAGTGACGCAATCACCACGACGAAAAATCCCACAGTTTTGGAAAATTGCGGTTTTTCAAACTTTTTTTCGCGTTTTTTCGGATGCTATTCAAGCGGCTATAGACTGTTCAAATAAGAACGGTCAGAAAATGAGAGACGTAGACAAATAAAGAGATATTGACTTTTTAGGCTATTCTGTGATAGTAACAAACCAACAAAGTTTGTGTTCCCAGTCTTTTCTTTGCAAATTCTCAAGAGTTCTTCTTTGCAGATGCGTCGACGTGAAGCTCTGGACAATTACGAGCATGATGGTAAGTTAAAAAATTGGAAAAAAAAACTTCGGTTTAAATTTTATTATACTTATTCCCTTTTTTTAATTAAAGGCGTCTATGACGGCTCATTCATCATTCACGACGTAGTTGACGCATTCCTCCTTGCCCGAAGGGCCTAGTGGGTTAACGCGCCATCACTCAGAAGACCACAAGTTCAAACCCAACGAGGCTCCCCCGCTTTTCTACCCCTAGCTTGAGCAATCAAATCCGAACGCGTCGGAGCTGTCTCGGAGACAGAAGCCTCATCAAATATATTGATTGCTTCCAAACCTATCGCACGTTTGCGCTCCTCATTTCCGTAATGGCGTTGCATGCGTAAGCTTGATCTTTCCAGTTTTCTACTAAGGTGAGTCATTAGAGCAATGGAGTGAGCAACTCGTTCCGATAATTCGTATCTCATGAGCAAATGCTATGCGGGACGCGGGGCTTTATGGAAAGAAATTAAACAAATATTATTCGTTTTCCACATGTGTGGCTCAATTTACTTCTTCTTTTTTTACCTCATTTTATAAAATTGTCAGCCCTTTTTCTCATTCATTTGATTTTCTGTGGCTCTTTCAGCTCTATGTAGTTCAGTTTTTCATCTATTTGTTTTAACGTGGAGCAAAATATGGTTGAAATTTGTCTGGTAGATACGGTAGCTTTAAAGGCGCATACTAAATTTAACAGTGACAAAATTAAATATTTAGTTCCATATGGAATTTCAATTTGCCAGGCTGTCCCATTACGGTTTGATCTACAAAAAATGCGGGTTTTTTTTAGGCCAATAATGTGACGTCAGTCCGTTCTTAAATGCGAAATCAGATGTGAACTCTGGGTCTCAACTCCCGCATTTTTTGTATACGTAGATCAGACCCAAAATGGAACTCTGACACCAGGTGTTCGCCGCGGAACCAGTTTTATACCGAATTTCGTATGCGCCTTTCATTCTACCGTACCCGGTTCTGGAAGTTTGGGTAAGTTTGAAAAACGAACTTTAAAATAGAGTTTATTAATTTTTGTTGACATATTACTTTGTGCAATACCTCAAAAAATATTATAATCCAGATAAACATGGTTTTTTAAAACGTTTTGCACAAAAAGCGATGATTTCGCTTCGAAGCCACTTTTATAAAACGCCTTGTGCGCCTTTAATTCCACCGTACTCGCCAAAATTGAATGAGCGAGTGAACTATTTTAGCGAAAAAATCGTTCTGATCGGTCCTGCTCTTCCTCTATCGGCTCTGGCAACGTCTTCCTCTTTGAATCTGCTCCATTGACAATCGCCTACCGGACTGGTTCTGGAAAGCCGTCCACACGGACAAGTACATTTTTACAACTAAAATCGAGTCGCGACGCGACACGCAACGCGCCGTAAATCTACACCAGATATGACCGAGAAATGCGGCCTAGTTCGGCCAATTCTTCCATTTTAAATTATGAAGCCAGAAATTCGTGTATTTTTACAAACTGAATGTGAAAAAGAAGCTAAAATTTCAATGAAATAGAGATTTTTCCCGTAATCTCACAGTTTCGCAAAATACTATGGTCCCATTAAAAAACGCTGAAACCTAAATTAGCGCGTAAAATTCAATGTATAGCGAACATCTCTCACGTATTTCTGGCTTTTATAACTCCCCTCAGATATTGCGATAGAAGCGGTTGCCGAACTAGGCCATATCTGGGGTAGATTGACGGCCGCGTTGCGGTAGCGTCACGGCTCGATTTTAGTTGTGAAACTAAATGCATTTTCCTGTGGAGTACACGCGATGTCCGGCGGGCGCTTGTCAATGGAGCGCGAAAAATTCAATATGGAAGGCCAGCACCCCGTGTTAACATTAAAATTACAAGATTTGCCCCCCCAAACATCCCTGGAGAACCTAGAAAAACCTGGTGTGCTTGCCTGACAACAGCGTTCACCGATAAAAGGGTGACGGGGAGGGCTGCAACAGAGCTTTTTTCCTCGTATAGCAACTCTTTGAGAACTGACAGCACTTTTCATATAACTCATCACTAATCGCTGCTCGTGGCGGTTTTATTTTCTAGTTCCCCATTTAGGGCTAATGAGTCAATTTTGTCTGTTGCTCAGAACTCTCAATTACCGATGCTATTAGCAGAAGTACTTAGCGCCAGAACCAGAGCAAAATCATTTTTATTTAAAAAATGAGTGATGTTTTCTTCAGTCTCTGTTTTTCAGGTTTTTCTCGTTATTAGGCGGTAACTTTCCACATACACTTGGTGTCAGAGAGTCCCATGGTTTGATCTACAATAAAAGTGTGACGTCAGCCCGATCTTAACCTTGTGAGTTGAAAAAAACATCTGCGTCTCGTTTCCCGCATTTTTGTCCGAGATCACACCGTGATGGGACTCTCTAACACCACGTACACATCTACCGAAAATTTCGCTGAGAACAAATTTTTGCGCGTCAAACCTGATGTTTCCGCCGTATATCAATACATTGAATTTGACGCGCAAACTCAGTTTTCATGGAGAATTGTTGAAAAAATTGTTTAATTTCCGGAAAATTAACATTTTTCAGAGAAAATCAAAATTATTCTGTTTTTCCATAAATTTCTAAGAATTGTGGCAGATCTCAGTTTGTTCTACGACAAAATTCGAATTTCCACTGAAAAAAGTGAAAAAAGAAGACGCTGTGTAAGCCTAAAAGCCTAAGACTAGGTGTAAGCCTAAGCCTGAGCCTATCCCTCAGGAGAATAAGCTTGAGCCTAATCGTGAGCCTAAGTCTAAACCTAAGCCTAACAAGCCTAAGCCTGATCCCAAGCCCGCATGGTGCCAGGCTGACCCATAACGGTTTGATCTACAAAATATGCGTAAAGCGAAATTTTTTGCCCAAAAAGTTTGACGTCAGCGCTTTCTCATGCGATATCAGTTGAGAACTCACTGCGTCCCTTGTCCCGCATTTTATGTAGGTCTACGTAGATCAAGCCTAAATGGGACGACACCACGGGAAGATCCCGAAGTATTCAATTTCCAAAAAATCAATAAAAATGCAAATAACATAGATATTCCCGCCTAGTCCAATAAATTATTTTTTTTTTGAAACTTCAACCTTTTCATGTTAAACTCGTTTTGTGGGAATGCATAGTCCCAAAAGCCATATTTGACACGCAATTTTCTTTGATAGACTTTTTTTTGAATTGATATGTCATGAGCATCACTCAGGTGGTTCCCAAATGGCGTCTAGTACTTGAGCCCTAGCCACCACCGTCTCGAGCGGCCGAAACCCAAAAACAAATAAAAATGAACAGTTCTCTCTGTTTCAAAATCTATATGTTCCTGTTCTTTCTAGTATCTTCCCTCTTCAGCCCTCTACTGCTGCTCCAATTCTGTTCCATGTTATTTACCGTACCGAACGATTTAGACGAATAACAGGACCCCCTTTTCCCGTTCAGCCGATGAGCCAATGTGTTGTTGGCTAATTCTGGGTGTTTAGCTCATTTGGAGGAACACTAACTTCCCTCTCTAACTACACACTACATGGAAGAGTGTTTTCAGATTTCTAGGCCTCGCAACTTTCCTTGGTGGCCAAGAAAAACTAAAACTTCAAGGTCAAAACGTTCATTTTTGTTGAAAACTACGAAAATCGGTTTTTACTTGATTTTTTGTAAGCGGAAGATTTCCTAAATTTCTAGGCCATGTGCTTTTTCCTGCTTCTCTGAAAATTTTGTTCAAATTTTCTTTTTTCAAAATATTCCCCGAAAATCTTGTACAAAAAGAAATTTTTGAGCATTCAGATCATTTTTTTAGAATGGAAGAGTTATCCAGATTTCTAGGCCACTGTATGGCTTTTCGTGGTGGCCTAGAAAATTTTCTTGGAAATCAGGTTTTGACTTGAATTTTCGTAAGTGTAAGAGTTTTTTACATTTCTAGGTGATTTTTTCCTGATGGTAGGAAACTTGTTTTCGTTTAATTTTCCCCTATTTTGGATATTGAATACTTGTTTATTGGTGGAAGAGTTTTCAGAAATTCTAGGCCACGTGGTTATTTTTGTAAAAGAAGATGATATTTATAACATTAACATGTGGTGACTTTTATCAGATTTTTTGCCCAAATACCATTTTTACAAGGTAATTTTTTGTTATATGATCTTTGTGGATAGAGTTTTTAAAATTTCTGTTAGGCGAACCCTAGATGCACGTGGTGTCAGAGTGCACTTCGGTTTGATCGACGTGAATCTACAGCAAAAATGCGGGAGAGGAGACGCAGAGTTCTCACCTGATTTTACATGGTTAAAAACGTGATGACGTCACATTTTTTGGGGGCAAAAAATGCCGGCATTTTGTAGACATCAAACCGAAATGGGACAGCCTGACACTACGTGTTCGTGCAGATGGCCTATAAATGCTAAAATCTGTTTTTTAAATGTAACTTTCAAAGTAAAAGAAACAATTAGAAACAAGTTGGCTCTCGCCCACAACGAAAAGTCTGTTCTAGCTATGGGTCGCGAAAAGACTCGGCTACCAATTTTTTTCGGCTCCAGATCAATGACGCTGGCAGACAGGGACTTATCAGCTTGTTTCCGATTTACACACACATACACGTACACTTTCTCCGTATAACTTCTGATAGCTTGAAACGAGATTAATCATCATTCCAGCTATTCTGTTTTATTTATTAGGTTAATGCCACTACTACTAGTATTTTTTCATATTAAAAATACAATGAACTATTTAGACATAGATTCAAATGAGATGCCAGTGAGTTCGCACTGGTGTAAGTGTTTTGAATTAATAAATTTTTCAAAAATATCTCAGTAAATTTCTGAGAAATTTTGATTTGAATTCCCGCCAAGCATTTTTTTGAAAATTTTGAATTTCAGCCCATTTTGCCTTTTTTCCTTCAGAAAAGGTGAAAAAATTCAAAATTTGAATTCCCGCTACAAGATTTTTTTTGAAAAATTTTCGAACTCGCGCTAAAGTATTTTCTAATAGCCGAAGGATTAGTAATTGGAATCCCCGCCAAAACATAATTCAGAAAATTTAAATTTCCGCCGAAACTTTTTCTGATAAAATTTAAATTCCCGCCCATTTTGTCCAAAATTGCAAGAACATATTTTCAGTGAGAAAATTTGAAAATATTTTTTTCAGAAAGTTTGAATTCTGTAGCACCAAAACATTTTCTAAGAAAATTTGAATTCCCGGCAAAACTTTTTCTGATAATTTTTGGAAATTCCCCGCAAAAATTGAGGATAGTAAATGAAGATGATTTGAGCAAAGTTATGACGTGGCCGCGGAAAAAATTGATGGCCCAGTTTTCTCTTTTCGCGGCCACGTAGCCAGAACAGACTTTTGGAACCGTACAACCAACAAATATTTCTTCATGTCCCTTTCAAAAATACATAAAAGCCAGATTTTGACATTTCTAGGCCATCTAGACGTAGACGTGTAGGCCTCGAGGCCTAGAAATTTGAAAAACTCTTCCAGAAAATTTGTTCAGTACTTGAAAGCGCTCCAACAAATCTATGCTCAAATTGTAAAAACGTTTTATCAAAATATTTATTGAATAAATTCTTTTGTCGCACAAAGAGGTATCAGACCACCAGATTCGACCTTTGATCATTGTTTCAGTTGATAGGTATGGCAGGCGTGGTTGCGCCTCAAACCTGCCGGCCTCAAGCTGGGCAAGAGGCAGCCTAATGTCAGGGGCAATGCCCACATCCAAGCCCTACTTCTAAGATTATCTCGAAATTTAGCGAGTTTTTATTTGTCCAAAAAAAATCGGAACAGGTTAACAGACAAACATGAAAAAGCCGCCAAAACAGAACTTTCATAATAATCTGTCGGTAGTTTGTGGCCGTTTCTTGCGTCTCAGGCTTAATCCCTACTGTAATTATGCTGAGATTTTCTAAGGATCTATGATCCTTTCACTTTTTGAAAATTTTTGGCAATTCTTTTTAAGTTTGTTGAGATTAACTTATGACAAACAGTAACTAAAAAGCGTGTGCTGCCGCCAGATTTTCTAGGCCATCAGTAATATCAGTTGCGTCCTTGACCATACTGGACCGAGACAACAAATATTCTAGGACTTGAGATTGCGTTCCTCGTCCATTCCTAGTCCCAAAAATTCCAAGCTAGTTTGGCCGAGAAATAATCTAGGCCATCGATGTTAATGACGCCATTTCATACCCGAATTCGCCAGCCTAAAATTCTTAGGTCATCAGTGACGTCACAGCTCTTCCAAGCCTTGGAATGAGCATTTCTAGGCCCTCTAATCTAGGCTTGCAAATTTCCTAGGCCAGGTGACGCCATCCCTCTTCCGTGCTGGACCGGTCAAATGACGTCACTTCTCGTCCACCTACGTCGCACTTTGATTACCTAGGCCACCATGTAACGTCACTTCTCTTCCATCTAGGTTTCCCATGCCCTTCTCCTCTCACGTTTGGTATCAGTGTGTCATTTTGGCCTTGAATACTCTAACGACAAATGAAATGCGGGAGAAGAGACGCAGAATTCTCACTGATTTCGCTTTTCCGGGTTACGCGGTAGACGTGCTGCCGTCACATGTTTTTGGGCAAAATTCCCGCATATATTTTGTAGATCATACCTTAATGGGGTGTCCTCTTGTTAAATATCGAAATTTCACTCAAAAATTTTGAACGTTGACGTTTTGTCTCTGGTCAATTGGTCAGCCGCGCAGTGTTCCGGTGTTTGTGCTCATGTTTTCCATTTGTGCTGCTGCTAAGGCTTATTTGTTCCGGGCGGGGACAGGGGGGAGAAGAGGCGCAAAAATGTGTCATTATGTATATTTTGCCATTGATATTGTCCTTCTGCTCAGAGGATTTCCTCATTTTACGCCGTATGTGCAAAAGCATAATCACCACAATAATTTTGAATATAAGTTTGCAAACGCGCCCTATTGACCTCGCCCGTGTAGTCTGCGTGCACGTGGTGTCAAAGTGTCCCATATTGGTTTGATCTCGAGAAATGCGGGAGAAGAGCTGCAGACTTTTCAACAGTTTGATTTTGCATGGTTAAGAGTGTGCTGGCCGTCGGTCACGTTTTTCTGGGGGCAACAAGAAATTCCCGCATTTTTTGTAGATCAAATTGCAAAGCGGCCTATTGTTAATCTTAGCCCGTCTTTTGATTTTCTATTATTCTTCGGCACCTAAACTGTAACTACGACACTAAGTTACACTGTTAAATTCCGCCCACTTAATGGCACCTTTGTTGCAGAAATGTACCCACGACAACGAGCAGACACGACCACATAATTGAGACGAGAATTCGGCGGAACCGGCTGGCGCAGGTCGCCGCCACAATTGCTGCCTTAGCGTGATATGACTCTTGTTGGCAGGTAAGTAAAAAACTACGACACTCCGAGACCAAGAAGAAAATCGATAATCGAAATATTGAAAATTGCAAAATTTATTTCGCCGGATCATTTTCCATATCGATTTTCTGAATGGTATGGTGATAGCAATCCTAATCGTAGGGCGTCCCATCCCTGGTGAACCACGGACTCTTGACCTGAAAAATAGGTTTCGTTCGGTGGAGCACATTCGCATACACTGACATTTTCGGGTGGCGACACGCTTTACACTTGCAACATGCAGTACCATATGCCAGTGGACATTGAACGCCGACACGCATCTCTCAAAAGTTAGATCGGAAATTTCGTGGCATTTTGGTGATTGGCCGCCCGGTGACAGTCCGCGCAACGGAGCGCGTGACCGTACGGCCCGGGCATTGGATAACACGGAGTCATGCCAATGACTGTCTGGAATTTTGGAGAAATTTATTGATTTTTTGACGGAATTTAATGAAATAAGGAAAAATCAATAATCGACATATTTATTTCGTAAAAAAAAACATTCTTTTCACGGATTTCTTCTTCAAATTGCAATTGAAGAGTTTGCCAAACTAGGGAGCCATTTTGGTAACGCTCGGCCATATCTGGGGTAGATTTACGGTGCGTGTCGCGTCGCCGGTTTTGTAGTAACACTAGCAAAATGTATTTGTCCGTGGAATTCTGGCTACCCTCATAAATCGAAATGGCAGAGTTTGCAGAACTAGGCCATTTTGGGTCGGAGTGATTTTGTGTAACGGCGCGTCGCGTGTCGCGGCATCGCCGCTCGTTTTCAATTTTAAAACTATTTGTCCGTGTGGCGCACACAACACTTTTCCACGCGCTGTCCGGCAGGCAATTAGTGTTGGGCGCAAAAATAATTAGGAAGGCCAGAACCCCGTGTCCGTGTGGAGTGCACGACTTTCCCGCGCGTTGTCCGGCGGGCGATTGGCAATGGAGCGCGAAATAATCAATGAGGAGCTTTTTGCAAAAACAAATTACATAGGCTTCTTGGCCTTCCTTATTGCATCTTTCGCGCTCCATTGACAATCGCCTTAAAGCAGGGGAGTGTGTGTGTTTGTACCTTCTCCACACGGACAACTTAAAATGAAAACCGAGCCGCGACGAGACACGCAGCAACGCGCCGTCAATCGACTCCGGCCGTGGCCGAGTCAATATGCCTTACGGCAAATTCTTACATTTCAAAATATGAGGGAAGCCAGAAACGTGCGGCACATGTTATAAAATTAATGTTGAAAAAAAACTATTAACCCATATTTCGCAAAATAAATTATCGCTTTTTGTAAGAAGGATCTTTCGTGATTGAATAGGGAAAAATTTATCGAATTTTAGCGAATCAGAAAATATCCATTTTCACTAAGAATTTATCTAATTTTTCGATTTCTATTCGCTAAAATTATCGATTATTGCAATACCTGACAAACCGAGCATTTCAGTCATGAAATAAGATACATCTCGTCTTGAAGTTTGATCACTTTTCCCTGCAAAGAAATTTCAATTGAATGTATTTCGAAAAATGTGCTCACAGTTTGAGCTGCTTGACGAGTCAGCAGGTTGTTGTGCAGCCTTTCCAATGGATATTATATGGAAGAACAATCTTATGGACGTTTATTGTTCATCGGGTCGAGAAAAACATTTTTCGAATTTTCGAGATTAATTTACCTAAAATCTAAAAAGGAGAAAATTGAAGAGAAACGTGGGAAAACGTATTGATTTTTCAAAATTTTGTTGATTTTCTAATCACGGGGTTCTGGTCTTCCGAACTCATTAGTTGATCTTGTCGCGCTCCATTGACAATCGGATCTCTTTCCGGACAACACGTGGGAAAGTGGTGCACTCCAGAATACACGGTTAGATAAATACAAGTTTTACAATTAAAATCGAGCCGCGACGCGACACGCAACGCGCCGTTACCCCAGAGGCCGAGCCATAATGGCCTAATCAGTTCGGCAAACTCTACCATGGGAAGCCATAAATTCGTGTATAATCAGAGAACTTGCGCAATTTAACAAAATCGGTAGTAGTAATTTATCGATTTTCCTTCAATCGTCTCGATTTTTTAAAAGCCTTATCGATTTTTATCACTAATTTATTATTTGAATAATCAACGTTTATTGATTTTTGAATCTACATCATGATTTGTCGATTTTCTCAAGTACCTATCGATTTTTGCTGTCGATGCACCATGTGGAAACTTCGGCACGTTTTTTCGCGGCGAGACCCAAATTTTTTGAATTTTCAGTTCTTGGTCTGGTATACGGTAGCTTCTACCTCTACCGTCGATATGTGACAGATGCAAATAAACGGTATAATGATGATATTTGCGAAAACTCGTTCGTCAAGTCAATGACTCGCCGGAGACCACGTGGAAAGCGAAATTCGTTTGGTGTCAAATATCCTTACGGATTCAAATAAACTTGAGAGGCAATCAGACGGCGGTCGAGGAATACGTGGAACAAACTCGAAAATTCAATTTCGAGTCAACGTGATGCGATGAAGCGGTTAGAGTGTTAACTCAAATTTGAGCGGTAAACAACGATGCTCCGCACTCTCGCCGCAAGTTATGTAGTTTAACGCGTAAGCTGTGATGCATACGATAGTCCTGGAATGATATTTGTTAGCTCTCGCAAATGAAGGAATTACCAAATTTCGAGAAAAATCTATATTGATTAGCCTTTTAAAAATTATCGATTTTTTAAACAAAACTTCTGAATAATTCGACGGATTTTTCCAGAAGTTTAAAAAAGTTTTGGGTACAATTTTAAAAAGACAGCAAAGCTAATGTACGTAGAACACCAGGAAAGAATTCTGCGCTAATATCGGATGCTTCGTAAACTCCACGGGCTTGCGGCATTAAAATGCCGAGCTACGCGCCGTAAATCTACCCCGGCCGCAACGCGCCGTAAATCTACCCCGGCCGTGGGCGAGCTCAAGTGGCCTAGTTCGGCAAAGACCAATCTTATCGATTTCTCCTAACAGATGAGTGAAGCCAAAGGCACGAGAATGATGACTTCCACACGGTTCGGTAGAGCGCATTTACACTTATGTACCCTTTGCCGGGCTGCGTTCAAAACCTAAAAATTTGAATGCGCGTAAGACCTGGTGCATTGGGTCCTGAATTATTTCGACAAAACATGGTGCATAATCCCAATATTGCAATTTTGCAGTGAACTTGAGCACAACAGCTCCGATGTTCCGAAAAACTTCGACGCTCGTCAGAAATGGCCGAATTGCCCGTCAATTTCGAATGTTCCAAATGGAGGATGCGGGAGTTGCTTCGCGGTCGCCTCGGCCGCCGGTGTGTCGCCACCGACCTTGCCGGTACTCACTCGAATGGAACTTTTAAGTCACTTTTGTCCGAGGAGCATATTATTTGATGCTGCTCGGAGTGCGGAAATTGGTACGGCGGAGATCAACTGAAGGCCTTGACCTATTGGGTTAATCAGGGACTTGTTACAGGTAAGCGGTGACGTCATTGGCCTAGGAACCTTTGATCTGCATAGATGTGAAATTTTATTGTTATCACGCAATTTGTAATAATTTCTAAAAAACTGTAATTATCGATTTTTAAAATTAACTTGTTCCAAATTTTGAATCAAACGAATTTTCTAGACGCGAGATTTTTGCAATTTATCGATTTTCGCAGGCTATTGAGTTTTCCCACAGTAGTCGATTTTTCTAGAAAATTATCGATTTTTAAATTTTTTTACCGCATTGATTTTTCTAGAAAATTAACGATTTTTCTAGAAAATTTTCGATTCTAAAAAAAATAATCGACTTTTTTCTCAAAACTATCGATTTCTGCAATTTATCGATTTTTTGAAATTTATCGATTTTCCCTGCCAATTAGCGACTTTAAAATATTCCCCAAAAATTTGAACGAGTTTTCTAGATATTATCAACTTTTGCAATTTATAGATTTTTTTTTTGCAACTTATCGATTTTTTGCAAATTATCGATTTTTTACGGCTAATTCCTTATCGAGTTTTTCCAAACAATAACGATTCTTCTAAGCCCGTGGAAGCGTTTATCGAAAACCTAGGCCATCTCTATTTTCCAGGTGGCCGTGACGGTTGCCGTCCCTATTTGACCTGTCGTGTGGCTTCAGTCCAGTGGTCGCCGGCCACGGTCTTTGAGGCCGAGGTTCGAGAAGACGGACATTCGTATGAAGAGGTGTCTGAATACCTCTTACCAGCAGAAATATGAGGACCCGGATAAACATTTTGGCTAGAGATATTTTTTTTTAGAAACTAAATAGAGAAAAATTTCTGGGATCTATTCAAAAATGGCAAACTTTTTGGAAATTATCGATTGTTTCCGGTAAATAATCATCAATTTTTTTCTCGGAAAATCTAGATTTTCGGAGATTGACCGACATTTTTTTCGAAAATTGTCGATTTTTTCCGTTAATGATCGATTTATTCGGAAATTATTGATTTATAGTTCCGATAATTATCGATTTTTCGGATAATTATGGATTTTTTCCGATAATTATCTATTCTCCGGTAATTATCGATTTTTTCCGATAATTATCGATTTCCCTTTCCGGATAATTATCGATTCTTTTGGCCGATAGTTATCGATTTTCCCGATAATTAGCGATCCGGTATTTATCGATTTTTTCCGATAATTAACGATTTTTCCAATAATAATCGACTATTCTTCCGATAGTTATCGATTTTTCCGATAATTATCGATTTTTCCCTTTCGTAATTATCGACTTTTCGGGTAATTATCGATTTTCCCGATAATTATCGATTTTTCCGGTAAGTATCGATTTTTTTAATTATCGATTTTTCCGATAATAATCGACTTTTCCGATTGTTATCGATTTTTCCGATAATTGTCGATTTTTTTCGATAATTATCGACTTTTCGGGTAATTATATTTTTTTCCGGAAATCATGATTCCTATAATACATTTATCAATTTTTTCCGATAATATCAATTTTTCCGACAATTATCGATTTTGGTTATCGATTTTTCGCTTCCTATAATTATTGATTTTCCCGATAATTATCCATTTTTCAATTATCTTTTTTCCGATAATTATCGATTCCGATAATAATCGACTTTTCCGATAGTTATTTTTCCGATTTATCGAGTTTCTTTCGATAAATATGCGACTTTTCGGGTAATTCTAATCGATTTTCCCGATAATAATCGATTTTTCCCGTAATTATCGATTTTTTACGGTAATTATCTTCCGAGACTACTCGACTTTTCCTTACGATACTTATGGATTTCTCCCATAATTATCGATTTTTTTGGCCGATAATTATCGAATTATTGCGGGCAATTATCGCTTTTTCCCGACACGATAATTATCGATTTTTCCGATAATAATCGACTTTTCCGATAGTTATCGATTTTTCCGACAATTCGATTTTTTCTCCGGTAATTATCCACTATTCGGGTACATTTTCGCCCGATAATTATCGATTTTTCCCAATAGGTAATTATCGATCTTTGCCGATAATTATCGATTTTTCCGAATAACTTTTCCGATAGTTATCGATTTTTCCGTATCTAAGATTTTTTTCCGATAATTATCGACTTTTCGGGTAATTATCCATTTTTTTCCGGAAACGTCATGAATTTGATTTCCAAGTAATTATCAATTCCGAGAACCTAATTATCAATTTTTCCGATAACTATCGATTTTTCGGATAATTATCGATTTTTTCCGATAATTATCGATTCTCCCGATAATTATCGATTTTTCCGGTAATTTTCGATTGTTTCTGATAATTATGAATTTTCCGATAATAATCGACTTTTCCGATAGTTATCGATTTTTCCGACAATTAACGATTCGATTTTTTTTCGTAATAATCGACTTTTCGGGTAACTTATCGATTTTGCCCGAGCATAATTATCGATTTTTCCGGTAATATATCTATTTTTACCGATAATTATCGATTTTTCCGATAATACGACTTTTCCGATAGTTATCGGTATTTTTCCAATTATCGATTTTTCGATAATTATCGACTTGCATTCGGGTATAAATTCGATTTTTTTCCGGAAATAATGAATTTTTCCAATACTTATCAAGTTTTTCCGATAATTATCAATTTTTCCGATAATTATCGTTTTTCGCGATAATTTACGTCGATTTTCCGATAATTATCGATTTTTCGGACCATAATTCTCGATTTTCCGATAATTATCGATTTTTCATACGATAATTATCGATTTTTCCGATATTTTTTTTCGGAAATGGCTGCGCCATCGCGGTTTGATCTACAAAAAATGCGGAAAATTTTAGCCCAAAATGTGACCTCAGCACGTTCTTAACCATACGAAATCAGTTGAGAACTCTGCCGCATTTTTTGTAGTTCTACGTAGATCAAGCCGCAATGAGACACTCTGGGACCAAGGGTCTGTAATTGACTTCACGGGAAATGATATTTTTATTTAATGCGCAAAACTAAAATTAAAAATTTCGTTTCGACCAATACACCATTTTAAGCGTAAATTTCAATTCAAATTTTTGCAGCCAAAGCTTTGGCTATTCAATGTATCCCCGCTCAATGACAGTATCCCTTACCGATGGAAAGGAACGAGTAAAGGTGCCCGAGTAACTATCATCGGTCACTTCAACGAGAAAACCGAGAAGCTGAACGTGACCGAGTACGGTGACATCATGACAAAACAGAAACTTTATGGTCCAGACACCACGATGGCGTTCCGACTTCCCGAAGAATTCCTTCATTATTCGAGCGGAGTGTTCCGCCCGTAGCGAATCCACCTGATGGTTTCGACGATCGAAATATAAGTGTGTTGGCACGTGGTTGTTCGATTGATCGGGGAGAATCAGATGATGGAAAACATTATTGGTTGGCTGTTAATAGTTTTGGTAACCATTGGGGTATAATGGTGATGCGTTATGGCAAATTGCGCACGGCCCGGCAAATGGTACATCCATACAAATACGCTCTGATAATTCGGGGTAAGTTTAGCCAGGTTTGGTTTTAAGGAAAACGCGTTGGTCCAAAAAAGTTAGAATTTGATTTCGGACATTTTTTATATGCATCACAAAAATGGACAAGCTTGAGAAAAAGCCCAGGTATAACACCGGTATACAAATTGTGTACAGGTGCCACTTCCCGGGCCGGGATGCGCGTTAAATATAGTGCTTTTTAAGAATGCGTGTTGCGCAACATATTTGACGCGCAAAATCTCGTAGCGAAAGCTACAGTAATTTATCAAATTACTACTGCAGCGTTTATGTCGCTTGTTACGGGCTCGAAAAAAAAGTTACCAGGACATTCTATTTTTTCTGATTTTTTGCTTATTTTTATATAGGAATATTCTCACGGTGTGTCATTCTGATCCCATAACGGTTTGTAACAAAGAATGCGGGAATTTTTCGCCCAGAAAAATGTGACGTCAGCACGCCCCTATCGATACGAAAGTTGTTGAGAAATCTGCGTATAAAATCCCGCATTTTTAGTAGATCACGCCGGGGAGACACTATGTCACCACGTGTATTCTATCCAAAAATAAATTATTTCAAAAATAGAAGCCCGAAAAAAAAAATCGACAAAAGCGCTACAGTAGTCATCAGTTAAAGCGAATTACTGTAGTTTTCGATACGAGATATATTGATATTTTGCGCGTCAAATATGGTGCGCAGAACCATTCTTAGACTTTTGTGTTGCCGTAAATAAATTTGGACGTCAAATACAGTGGATATTGCGGGCGATCGGCTACAATGTATTGCGAAGTTTATCAAGAGTGCGTCAAAAATATGATGGAGCCGCATCGGTCATGTTACAAAACACCATATTTGACGCGCAAAACTTTAACTTTGGACAAAAAGTCAGAGAATTAGGATTGCGTAAAAAACTGGCATTTTTTTTCAGAACATTTCTGAAATCAGTTTTATATTCTCAAACCTTTCGCGTCAAATATGGTGCATCAAGTCCCGAACCAAATACACTCTAACACGTAGTGCCAGGCTGTTCCCTATTAGTTTGACCTACAAAAACGCGGGAATTTTTCGCCCAAAAAAATGTGACGTCAGCACGTTACCATTGCAAAATCAGTTGGAGAACTCTGCGTCTCCTCTTCTCCCGCATAAATTTTGTAGATCAACGTGATTCAGGCCGAAATGTGACACTCTGACACCACGGCCCTAATTAACTCGTAAAAATCACCGTTTTTTTTCCAGGACTCTTCAAAATCAACCCAGATGACATGGAAAAATATGGTCTAGAGTATGAAACAGCAGTCGTCTAATTAATTGTTAATTCGGCAAAAATTTTTTATAATTAGTTAAATATTGTCCACCTATGTCATTCCCGCCCGATTGCATCACACCTTGTCCCATTTCCGACAAAAATCAATTATATTTATATTCGGCCATTTTTTTAGCTCACTCATTCCATAGTTTTTTTTTAATTAAATTTTGGATGCTAAAATTTGCCATTCTCATAGACATTTTCAATATCTGTGTAAGATAAATCTTTTTTCTGGTCTTCAATTGATGGAAAAAAACAAAAAAACAATGCGCGTCAGGTTTGGTGTATTGTGTGCAAACACCGAGCGCATATTTTAAAGGAAATTTATTTTTTTTTCGATTAAAGTTGCTGATTTTCTTTAATTCTTAAAAATGTAGGATTTTGTGCCAGAAACCGAGAAAATTGAAGAAGTCCTTGTCAAAAAATCGATGAAATCCCTGAAATCCCGGCTCCTTCAAGCAATTATCATCGACCAAAGTAAAATGCTGACTTTATCAATTTTCAATTACTTTTGCATGCATTTTTTCTAGGTTTTTCTCGAAGAATTCTCAACAAAATGGTACGGAAAGTACGGCGAAGATGGGGAACTTCTGGAGCACATCGACGAGGACTGGGAGCCCGTAGGCCTCGACGGTGAAATTTCTGCGCCTACTGTGGTATGGGCAGGAGGATCAGGAGTAAAAAGCTCATAGGCTCTATGATTGGGATGAAGAAAAGAAGGAATGGGTGCTGAGGGAGGCCAAGCAGGAGGAGTCAATGAGGAATCACAGAGTATCAAGCGAATTTCGGAACGAGTATGATGATATTTATAAAAAAATGGACGAAGAATTGCAAGAAAAAGCGGCAAAAGCTCAAAAAGAAGATGAAGAGAAGAAAGGGCAGAAGAAGCGTAAGAAATAAGTAGGCTTGGGAGGCGGGTGGAAGGCGCTAAAGAGGTCTGGTTGACCTAGGAGATAAGGTTCATGCGGTTATGAGTGTGTGAAATCTTCCGGAAGCTATTACAGACCAGGAATTCCAGAAATTTATGCCAAGTGGAGTTATTCAGCCGGCTATTCGAACGAATAAGCCGAAATGCAATGGCTTTACCGGGAGGAAAACGGCAAACTCAAAGGCGGGGGACGGATGATGTTGTTATATTAAGAAGGAATCTGTCGAGCTTGCCTGTCACATTATCGATCGAGCGAGCTTAAAAACGGGAAAGTGAAGGTTGAGGAAGCTCGATTTGAGATGAAGAGTCTGATCCGGCGAGGAAGCGGCGGAAATTGACTGCGGCGCAGAAAAAATATGGAGCAGCAGAGTAATAAAAAATATTTGGTGCAAAATTTGAAATAGCTCCTAAATCGACATTAACTAGGTGAAAGAAAAGCCCAATGAAAAAAAACCAAAAAAAATCGTATTACGTGAACACAAAATCCTGAGAATGCGTACTGCACAACATTTTTTTTTTGTTTGACTCGCAAACGGGATATCTCGTAGCGAAAACTAAGACTACTGTAGCACTTCTGTCGTTTTACGGGCTGCTCGATCGAAATGATTTAAAAGAATTTATTTATGGGATATTTAAAGTGGGCAAATATTTACCCGTAATAGGAAAATAATACAAAAAAATCTAAAAAATTTATTTCAATAATCGAGCCCGCGTAAATCGACACAAGAGCGCTACAGTAGTCATTTAAAGAGTACTTTTCGCTACGAATATTTTGCTCGTGAAATAAGTTGTGCAATACGCATTCACCGGTCAGAATATTGATATGTTCCCATAATATTTCTACCCGCGGAAAAAATTGGCCCAAATCGTGGATTGTTTGAATTTGATGACAAATGGCTTTGAAAATCACAAAATTTCAGAGAAAAATTTCGATTTTTGTTTTAAAAAATCAAAAATTGACTAAGAACCCAACAAAATAGTTAACTTGAAAACATGTCTCCTGAAAATCTTAGAATTTTCAGAGTTCACCCGAAAAATACCAGATTTAACTGGATAATTGCGAATTTTAGTGAGCCAAATTCCTTTCATTTTTCAAATAGAATGTTAAAGTTAAACTAACGACACAAAATCAAATGAAATTGACTAAAAAACTATTGAATTTTGTATAAAAATCCAAAACGATTTTTGTAAATTTGCAACAAAAATATTTTATTTTAGCATTTATTTATTAGTTCTTATAATTTTCACACTAAAAATTACGAAAAAAGACAAAAAAATTTTTTTCATTCAACAATTTTTCGGGCTAAAAGGTGTAATTTTTGCAGAAATTGAAAAATTATTAAAAATCGTAGAGACTAACTGACAATCAATTTTTTAAGGACCAAAAAGCCAACTTTTGCCGTTTTACTCTTTTTCCGTGAAAAATCCGGTTTTTTTTATTTAATTGCGAAATCACTTCACACCTAAAAGGGTAATATGCTGGTCTCGACACGACAATTTTTTTGTTAAATTCTTAAAAAGGTGTGCGCCTTTAAAGAGTACTGTAATTTAAACTTTACGGAATTTTTTTTTGATTTTTCAAACAAACCACGAAAAATCGTAGAAAATTCCACAAAGTTTGAAATTACAGTACTATTTAAAGGCGCATACCTTCGAGACTTTCTTGTACAAAAAATATGTCGTGTCGTGACGATTACCCTAATTTTTGGCGTAAAAGTCGTAAACTGTCCGGATTTCACTACGAAATTCAAACTTCGAGGAAAATATACGAAAAAAATACACTTGTTGTTTTGGTTAAAATATATTCACTTTTTTTCTACCATTTTTTAATAATTTCACGAATTTTTCCCTCAAAAATTACAAATTTCAACCAAAAATTCTGATTTTTCCTTTCCAGAATCTTCGAATGGACGCCCGATAATCCACGTAACTACCGTCCAAAGTCGGACTGTACGGTTATTGTCAAAAATTGTTCACTCAGTAAATGATGAACAAGGATGCGGTGATGTTGGTTTGAAAGAGGAAAAATGACACATAGTTGTCAGAAATATGGGATTGTTAAGAAAGTCGTCGTTTATGCGGTTGGTATGAAATTTGTGGAAATTTCGATTTTTGGCAGGTAAAAGAAATCTAAAAATGCTAATTTAAAAAAAAAAGCTTTCAAAAAATGCTAATTTTCCAAAAATTGAAGCTAATTTTGGAAAAAACCCAAAATTTTTTTTTTTACAAATGTTTCGATATTGTCATAAAAAAATATAAAAACGTGATCAAAAATTTGAAGCTATTTGTCGGAAAAATTTTTAAAAATGTAAGGCTAATTAAAAAAACCCAAAAGAGGTTCTTGGATTTAACAAATTTTCAAAAAAATTGTCCTAAAAAAGATAACCTTTAACATTAAAAAAATTATGGCTATTTTTCGAAAAATATTAAAAAAACAATTAGTTTTTAGCTTTCCGAAAAAAAACCGAAAATTTGTGGAAATTGTCGATTTTCAAAAAAAACTTATTCTAAAAAAAAATAAATTTTTAACATTAAAAAATCTATCTTTCGAAAAAAACACCGAAAATTTTTGGAAAGTTCGATTTTCGAAAAAAAAGTATTTTAAAAAAACAATTATGAGAAATGGTTATAAATTGTTTCAAAAATTTTTTACAGCTATTTTTTTTTAGAGTAATTTAAAAAAAACAATTTAGCTAATTTTAAAAAAAGTAAAGATAATTTTCAAAACCCAATATTGAGGATTTATCGATTTTAATAAATTGTTCAAAAAAAGCTAAATTTAAAAAAATTATTGAAATTTTTAAAGAGGGTTATTGGATTTTTAATTTTCAAAAAAAAATCATCAAAATGTATAAATAAATAAAGACTATGGTGCTTATTTCGCGAAAAATTGGAAAAACAATTTTTAGCTAATTTACGGAATTAAAACAACAAATAATTTCGGAAAATCGAAAATTGTTGGTTTTTTTTTTCGAACGCTTTAAAAAAATCCAAAATCATCTGAAAGACATTTTTAAAATTTCCAAAAAGAAATTATGAGTATTTTTCAAAAATCAAATCGAATGATTATCTACCGCTTTGTTTGACATTTTTTGAAATTTGAAAATCATTAATTCATAAAATTTTTATTGAAATAATTCAAATATTTTTATTGAAAAAAAACGAAAATATTTTCGCTTTGGAATATTTCGGAAAAATCGATTAAAAAAACAAGTAAATAGGTCAGTTATTTTTCAAGAATGCTATTTTTTGGAGAAACCGCTGATTTTTTGTCAGTTTTGTCGATTTTCGTTGTAAAAAATTAAAAATTCAAAATTTCTTATTAGGAGTGCACAAAATGCTGAGAATGCGTATTGCACAACATTGACGCGCAAAATATCTCGTAGTAACCATACAGTAATTCTGACATTAAGTACTGTACTAAGCGTCTTCGGAAAAATTCCACTTTTTTCAAAAAAAAAAACGAAATATTTAGTTTTTATTAAAAAATCGAAAAATTTTGATTTTTTAAAGTTAAAAAAAACGAAATATTTTGATTTTTTATTTAAAAATGAAAAATATTTTCCAACAAAAAAGGCTCCTAATTAAAAAAAAAAAATTTGCGCTTTTGATACAAAAGTGCAGATTCTTGTCTTAAAATTTAAATCAAAAATTTTTAAATAGACTTTTAATCCATCAAATTTCCCCAATTTTCAGGACCACCCGGACGGCGTCGTATCGGTTACCTTTCGTGCAAAGAAGAATCGGATATGGCTGGAGGCTAAAATATCTTCACGGACAAGTAGTTGAAGGTCGGAAATTGACAGCCGAGCTCTGGGATGGCCGGACAAAGTTTAAGTCGAGGAGACGGAAGAGAATGAGGGCGTCGGAAGGAGTACGAGAAGTATATTGTGGGTGAAGTAGTGAGACGAAGGAGGAGAGGGACGACGATGATGACGGCGAAGATAATTGATTGATCTAAAATTTTTCTGAAAAATTATTTTTAGTTCATACATTTTTCCGAGAGGAGCAACCGGATTGATCAATTTTAAAACTATGTTCAAAATCGCCCAAAATTAAAATTAGTGAACTTCCGTTTTCATGGATTTTTCGAAAATTAGCTTTAAAAATGTTTGCCAAATTTTTCGACGATATCGCGATGTTTTAAAAAGTTCGAACAAAATTTGCCTAATTTCAATTAAAATCCCTTTTTTCGAAATTTTCTAATTTTCTGGGCCAATTGGGCCGTTTAAAAGAAGACTAAGAAAAATGGCCAAAATTTGAGAGTTCAGCGTTAAAAAAATTCTAAAATTTCAATCAGACTACGTTTCCGGTGGAAAAAAATTTTCTTGGAAAATTGCTTTCTTGTTTGAAAAATTATTTTAGTTTATACATTTTTTTTCCGAAAGTAGGAACAACCTATCAATTGAAATTTTCAAAAAAAAATAAATTTGAAAGCATGTTCCGAAAAATTACGTGTTTTCGGTTTTCTGGAAAAAAAAAACGAAAAATTTCACCAAAAATCAAATATGAACATACTTTCCTAAAAATATGAAAAAACCAGAAATTTTCTTAATTTCCCTATTCAAAAAAATTCAAAAAAAAAACCAAAATTCAGTTAAAATCCCTTTTTTCGGAAAATTTTAAAACTGCTTTTCTGCGCCATTGTGTCGTTGATTTCAAGGAATTTTTTTCTTAAAATCCGTGAATCGTTTTGAAATTAAACAAGAAAATTTGAAAAATCAAAAATTATTTTCACGAAAAAAAATCAAAAATTTCAATCTTACGGTTTATGAATCCTAACTAAAAAAAAAATTGAAGTAACGAAAATGTTCAATTTTTTCGAAAATTTTCGAGGTCATTTAGTTTTTTCTGTGAAAATTGTATTTTATACGAATACTCTTTTAAATTAATTTTTATATATTCCTTTCCCGAAAACTTCAATAAAAAAACCCAGTGATACAATTAAAATCGAGATAACCACAGTCAAAGTGGCAGTAAGCAGGCAAAAGCACATATTAAGGGAATACAAAATTACTGATAGCGTAAGTCTCATCGCGCTCAACAGATTTGACGCGCGAAATATCTCGTAGCGCAAACGATAATTCGTTAAATGGATACTGTAGCTAGTGCCGATTTACGGGAATCTTAAGAACCTAAAGTAGCAAAAATGGAGATCCCGTAAATCCACACTAACACGCTACAGTCTATATCCGTTTAAAGAATTATTGTAGTTTTCGCTACGAGATATTGTGCGCGTCAAATATGTTGTACAAGAACTACGCAATTTTAAATTTACGTCATAATATACACAATTAACTAGTAATGGATCTACAAAAATCTACAAAATTTCTTCATCAAACTCACTCTTCCACAGCTCGATCGTCCATGAGTCTCCTCGTACGCCCACCAGAGAGCACATCGCCACGGTGCATATTGTCGAGACTTCCTCATTCTGATATCTGTGACGACATGCGTGGCGTAACTCAGGTTATCCCTCGCAACGACTACCGACGGACGGCCTCATCTGCATGGGACGAAGACGGTCCACGTTTCGAGCGTTTCCATCCGGCTTCGATCAGTGCGGCCGCTTCGATGACTGAATGAATTTTTATTTCAACTTTTGCAGAAAAAATTATATTTAGCAAAATTAACGGGGAAAATTGGCTGTTTAAAAAATATTTATTATATTGCGCGTTTAATAACAAGTCCAGATGAAAATTCTGCAAAGTTTGAAACTTAGTACCCTTCAACGGTGCACACGTTTTAGAATTTAGCACAAAATTGGCGTGTTCACGATGCTTTTTGGTTAAAACATTCAAGAAAGTGTGCGCCTTTAAGGAGTACTGTAATTCAAACTGGCTGATTTTTCATCGATTTTTCACTTTTTTTCCAATTAGTAAATTTGTGTTATTGCAGATTTTTTAAATCATTCATACCAAATTTTCAATCGAAAAATACAAAAAGAAAAAATGTAATTTCGTTATTTTCAAAAAAATAAATTGAAAAATTGAAAAAAAATCCAAATATTCGAGTATATTTTTTGAAAATAAAAATGAAAATCGGAACAGATTGTTTTTCGATTTTCCAAAAAATTTAAGACATTTAAAAAATCTAAATTTTCGATTTTTTAGAAAAAAAATTAAAAATCGCAAAAAACCAAAAAAAAATTGGCTGATTTTCCATAAAAAAAAGGAAAGATAAACAAGAAACAAATATTTCAAAAAAAAAAACAATTTTTTCCGATTTTCGGCAGAAAAACAACTGTAAATCGGAACAATCATAATTTGTTTTTTCTATTTTTCACAAAATATTGAAAAATAAAAGAAAAAAGGAAATTTTCGATTTTTTTCCGTTCCAAAACAAAAAATTCATAATCTCACAATAACCAAAAAAAAATGAAAAATCAAATAAAAACGAAAATTTCGTTATTCTCAAAAAAATAAAAACTTTTTTTTCTTCCGGAAAATCTCAAAAACACTGGCAAAAATGTCGGGTGACGAACATTAATTTTTTTCTATTTTTTTGGCCACGATGTTTCGCGAAAAATTGTCAAAAATTAAAATTTTTATTTTTAAATCCAAATTTTCACTTCCCCCCCCCCCCCCCCCTCACTAACAACTTTCCGACATCTTCACAATCTCCATAGCTTTCTCTTTAACCTCCGGCCAAAGCGGTCACTCAGCTCGCGGAGCCACCTTATCCGAAAACACAATCGTTCCAAGCTTCACCACGGCGGTCTCACCTAGAACTCCATCGACAACGACATCCTCTCCAAAATGTTCGCCGATTTTTCGATTCAACGAGCTTCGCCGTTCATAGCACGTGTGTGCGAGCTTATCACCATCGATAACATCGAAATTATGCGTTTCACGGAGATATTTCCCGATATGACTTTGACGAAATTCCTCCGGCGAGCCCAATGATGTGCGAGGTGCCCGTTTCTCTAGGAACCACCCGAGCTGGACGGAGCATGTGACCCGGATCCTCTCTTCGTCTGGAGCTTGAGCTGATCTTTGTCTCTTTCAGGATCTCATCGGATCCTTCAGGCAGCTCGACAATTATCACATCCAGCTGCGACATTCCTTGCTCATTTCTCTTTTTGTTCGAGTACCGCATTGGCACCTTTAATAGTCTCCCGGGACACTACTAGCGCTTCGAGGTTTTTTATTTGAAGGACCGAATGGTTCGATTAAGATTGGCTCCGCGAAACATTTTGCCTGGAAAATTATGGGGGTACTATTGAGCAAAAATGACCTGCATTTTTGGAAAATTAGAAAATCGGAAAAAAAATTTTCGTGCCGAAATTTTTTATTTAGAAAAGTTTTTTCTAAAAACAGAAATTATATATTTTTTCAGTTTTACAAAAAATCGAAAAAAAATATTTCGATTTTTCGGATTTTCCAAAAGAAAAAAAAATATCGAAGTTTTTTTAGATTTGCAATAGCCAGCAAAAATTGATTAAAAAAAACCGGAAAATGTATTACGGGAGAAGATTCTGAGCATACGTTGAACAGCATATTTGACGCGCAAAATATCTCGTAGCGAACACTACAGTAATTCTTTAAATGACTACTGTATCAATCAAGCCCGTAAAGCGCTACAGTAGTTATTTAAAGAATAACTGTAGTTTTCGCTAAGAGATAGTTTGCGCGTCAAAGATGTTGTGCAATACGCATTCTCAGAAATTTTGTGTTGCCTTAATTTTCCGTTTTCAATTTTTTCTTTTTTTGAAAATCTGAAAATTTCGATTTTTTCCAATTCTTTTGGAAAATCCGAAAAATCGAAACAAAAATTTTTCTATTTTTTAAATTTTTTTTTTTGGAAAATCGGATAAAAACCAAAATTTTAGTTTTTTAAACAGAATATTTCATGGACCAAAAATATCGATTTTTCCTAAAGTTTTAGAGAAAACTGAACAATTTAAAACGATGTTTATTGTTTTTATTTAAATTTTTATGGAACAACTTTCGATTATTATTTTGAAAAAAAAGCTTTTTTAAATTTTTCTTTATTTTTGGAAAATCGAACATTTGCTATTTTGCGATTTATTAATTTTTTTGTTGGAATTTCTAAAAATCGATGTTTTATTTTTTCAAAAATCAGCGGTTTTTCCGAAAAATGGCAAAACTTTTTTTAAAAAACATTTAGTTCTTTTCCTATTTTGGTTATCGAAAGATAAATAATTTTTTTGGCAATTTTTAATGAATTTTTGATCGTAACCTCTTACAGTCCCGGAAATATCAGTCCTGTACAGAATCGACAACTGCTTCTTAACATCCGAAACTCCGCAGCAGCTCAATCATCTAATAATGATTGGAAAAAAACCAATTTTTTGTTTTACGAAGCTATCATCTAACCAAGAATCATATCCTGATTTCCATTAGGTGACCCCCACGACAATAAAATCAAAAGCGAGCTCGGCAGCCATGTTGAGCAACACTTGGTGCCCATTGTGAAGCGGCCGATCGCATGTGCCGCCAACACAGACTTTTTCGTACTTTTTCGCCGCCGTTTTTCCGCATTCTCCAGCAGCTTTTCCTCGCCGATCACATAATGATTCTCGGGATTTCCGCGGATTTCGGACACAACTAGCCGGACGTAGAGCTTCGGGCATGAGTTCGCCGATGTTGATTTTCGAGACTAGCTCGTCGGTTCGCGGCTCGTCCGGGTTTAATCTTGCAGCAACAGGAATCCTTGTTCACCTTGCATTTTCGAGCCGGGAAAAAGCCCAAAGCACTCTACCTCACATAAAGCTTCGAGCTTAACGCGGCGGCCGCAGAAGTGTGCAATTGATACAGTTTTCATTTTTGCTATTTAACACGAGAAGTCCGTATTTCGAGCTGATTTAGAATGATGAGAAATATAAGGGGATTGAATATTCCTCAAATAAATAGAAAAATTCGCTGCCACGTTCGCTGCTCTTATCGGCTGCGCGCCTCTATTTCACATACTGTCTCTTCTATCTCTCCTCTCGCGAATCTCGCTCTCTAACGCGTGCCGTGGAGCGCACTTCGCTCCTTTTTGCTGGAAATCTTTCAGACATGCCGGAAACAAGAAAAACAATAAATTATTGAACGGAAAATAAAGTAAACGTACTCATCGTATTTTTAGCTTCATAAAAAGATCTCTTAGAGCATATAATATTGCTTCTAAACACCAAATAGTAACATCGCTGAAAATGTTGTGAATTTTATGAAAATCTAGGATCATTTTTCCCATTGTTAGTTTATGAAAAACAACAATAAAATGAGAAAGATTACATGGGAAAACCGAAGAAACTCTCGCGGTCAAAATTCGAATAGAATTACTGTATTTTTCGGTCGGGCGCTCACGGAGATATTTTGCGCGGGTCAAATATGCTTGGCGCGGCGTGCATTCTTCTTTCAGCGTTTTTTATTTAGTAAAACAGTAATAAAATGATTAAATGCATTTTGTGTGATTTTCAGCCCAAGATGTTTAAATAAATTGTTGTTGTCCAACTGCCAGCCATTTTTAAAAACTTAAATATATGGGAAAACCATAAAAATGAAGACAAAAGTTTAGCATAATTTTGGAACTACAGTACTCTTTAAAGGCGCAAGCCCTTTAAGACGAATTTGTCGTGTCGAGACCGGACAAATATTCAAAATTTCTTCTATACATACGCAGATTTAATGTACAGCAGAATATGAGCATTTGCACATTGCGCAATTGCTAAATTTTTTCAAGGATCACAATAAAAATTAAAAGTAAACCAAAATACTTTATTCAATACCACAAATAAGTTCATTTATCTTAGTCAACCTCTTGCCGACGTCGTAGCTTTTGTTGTTGCTTCCCCTTCTTCTTAGACATCTGAAATTTTCTCATATATGGAACGCGCTCCGATCTAACAAAAAACCTTCTACTTTTGGATTTTCTTCTTGTCTACATCTTCCTTCTTTGGCTGCTGTCCAGATATTTTTGTCCCCCGGCTCCCGGATCGCTCTCAAAGTCCATCTCCGGCTGCAGCCCAACCTCAGGCGGCGCGATCATCAGTACCTGCTGTTATCCAGGACCCTTGAAATACGTCATACAATCCCAATCTGGTGGCTCCTGGGTATTTGACTTATCTCAAACAGCTTCTCGCTGGATCCCATCAGCGATACGATCGTACTCCACAACAACTCAGCGACATCCTTGGGCTCGATGATGGTCAGAAGATCAAGAACCCTGAAGTAGTCTCCGGAGTGGTTCTCCCAACCGACGCGACCATCTGGTGGGTGCAGTGATGCGACGTTTCACGAGGAGCACGTCCTGTTCGCTTTCCTTTTTGAGCAGTGCCACACATGGGAGAGCCGTGAAAGAACCCGAGCACCTTATGTACCACCAGGACTCTGACCCATGTCGTTCCTTGTAGCCGAGATTTTCTGGGAAGAAAAACGTTGTCTTAAAGAAATTGTGAACGGTAAGGTTACCCCCTGGTGAGCATGAACGCTCGCGTACTTGACCACTCCTCATGTAGTGAATCCACTCTTTCTTCCATCTGCTCCTCAGCTTCGTCGTTCATCTTGACGAAGCAGTTAATTTTAAAAAAAGTTTTCGGGGTAGATTTACGACGCGTTGCGGATCTGACGCGTCGCGGTTCGATTTTTTGAAAAACTAAATGTCACATATTTGTCCCTGTGGAGTACCGAGCGACTTTCCCACTCAAAATAGGATGGAATTGAATTCGGAAGTGTCACCGTAGCAACATTCGGATTGTCTGAATAAATATAAAGTGAGATTTTGATTTTTGCTCCACTGATAATGGAGTTTTTTTTAGAAATTCTGCAAACATTAATTTCTAGAAAATTTGAGTTACCTCCAAAATTTTTCACAGAAAATTTGAATTCCCGCCAAAATTTTATTCTCAGAAAATTTGAATCCAAAATTTTTTCTCTGAAAATTTGATTAATTCCCGCCAAAAGTTTTTTTTCAGAAAATTTTGAGCCACGGTCGCATTAAATTTTTCTGCACTAGGCTATTTTGTGGCAATACCAGGGGTTGTGGTTTACGGCGCGTTGCGTGTCGCGTCGAGGAGTTTAGTTGTAAAACTAAATGTATTTGTCCGTGTGGAGTACACGGAAGACTTTCTCTCCACGCGTAGTTCCTCAGCAATTGTCAATGGAGCGCAAAAACTGCCGACCCAAATAATTTTTGCACTTCATACACACAGCAGCTCGCGGCGTGGCATGAGGCCCGCATTTCGCGCCTCACTGGAAGCCCCAGATGCCAAAAAATCTACCTGTCAGCGGTCTCTCTCCACCGAAACCCAACAGGCTGATGGTGCGGTCCGTCAATCTCTCTTCCAATACCGAAAGGCGATGGCTTGATGTCGCGAATGAATCCATTCCGGTGGAAGTCACGAATCGCGGATGGCCAGGCTCGGCAAAGTGAAGACCTGCTGAACTTGTCCATGTTCATATTCATCATCAGCTCGTATATGGAGGGCCATACTTAAAAATTTGGCTTAGCCAACGAAAAGTGGTACCAATGGACCACAATGGAAGCGATTTCCGTGCCACCTTCCTCAATATTCGTGTAGAAGATGGGTGGTGGATCGACGCGAGGACAACTGACTTTTGACGAAGAAGCTGGAATTTTTTTTGCTCTCTAGAAACGGTTTTCACGGCGGCCGTCAATTCCCGAGTTTGGAAACTCACTTCGTCATGTTATTTTATAATGAGTGGCTAAACTCGGAAATTGTCGGCCGTAAACCACAAGCCAGTTGGTTCCTTCGCCGCGACCGACACTTTCCGGGTTCCGCGCCGCCCTATACAGAAGGCTGGCTGCGCGAGGCAGGCTTGACCGCGGCAGGTGTTTTGGCGTGACCGCTGCATGGACCTGCTAGCTTGTCAACTAGGCAGCCTAAGCGAGCCTGCAAAAGGTAGGCAGGCGCGACCCTTCTAAAACCGTCCTCGCAACACACAATACCTCACTCTTCATGTTTAACGCCATTTGACCGCAAAAAACTTCCCATCACTCTCGCGTTTTACCTTGTGAATCGAGCCGGACGTGCCCGTCGCCAGCGGTTTCGTGACTTCATAGGTGTTTTGTGCTCGAATGAGCTCCTTTTGCGTTGTCCAGGTCCGATAACTCATTGATTTAGAACACCGAAATGTCACGATTATACGCAGTGAATCGCGTAAATAATCGAAAATGAGACTCGAGTCGAAACTTTTCGAAACCTGCTAGATTTTCTTTGTAGGGTTGTTGGAGTTAATGATGATAATGAGGAGGGGGGATTTTATGTGGATTAAGAGGCTACCAGGAAAATATTTATTTTTTAAATATTTTATTGTCATTCTTTTCTTTTTTAGATTTTCACGTTTCTTATTATTAAAAATAGAAGAGTTTTTCAGTATTTCAAAACGAACACAATCTGAAATTCAGAATTACTACTAAAGAAACGAAAAAAAAACTGAGAAAAATGTTCCAGATTCTCCAGTATTGTTAGGCGTACCCCCCCCCCCCCCCTACCTACCTACCATCCTTCCTAGCCTACATGCATACCTGCCTACCTAGACGCCTGCGGCCTACCTTCCTGCGTACGTTTATGTCATACATTTTTTGCCAGCCTTCTGCCTGTATTTTACGTGTCTTAATTACGTGCCTATCTACTTACCTTTCTTCCACGACTACATGTATACCCGCCTACCTATACGCCTGCGTGCCCGCCTCCTGCCTAACTACTCACCTACCTGTTTGCATACATGCCTGCCTACCTTCTTGACCATGCCGAGGCGCCTATACGACTTGCCTACCTACACGCCTGTCTATTGCCTACCTGTTTGGTTACATGTGCCTGTGCCGTACCTGTGCCCAGATCCTGAAAAACATCGTTATTTTGTAATAAATAATTTTAATAAAACTTTAAAAAACAAAAAAAATACGAAATTAAAAATAACCTAACAAAACGTCTTTTCAAACCCCTTCGTACTGCTTGATAAAAATTCGTGTTATATCCTCTTCAACAACTTGAACTGCACTCCTAATCCGATTAGACACAGCTAAACTTTTTGTCGCTTTATTCATGGACAAGTGCGCTCCTGGGCAATTGAGACTATTCGAATCGGTGTAATAGGTGGTGAAGCTCTTTGAGCATCTTAATGTAGAGTAATCTTCTCGAAGACGGCCCAGAATTGCGGTGATTGAGGGATTTGTGATGGATCTGTACGGGATTTGATGTAATAAATTTAAATTGTGTGGTTTAGATGCAGAAAAAAGTTTAAACTAAGAATTCAGACTAAGACTTGAAAGAGAGCCGATTAAAGAAAAGGGCTGAGCTGGCTTACGATTTTTCCCCCTAAGTTTATCTTCACTTATATAGTCTATTATCCCCCCAATACTAAACAGTATATGGTAATAAATACTTTGACTGCAAGAAAAATGAATAATAGGCTCTGCCTCTATATTTGTTTTTTTCGTTTTAAACCCAAACTTATTCTACGCCGAAATTCTTTGATATTTTTTGGAATTATATATCCTTCGATTTATATTCATGATTCCAGCTCAAATTTTTTTTTCTCAGAAAAATTGAGTTTCCCGCCAAAATGGGTTTCTCAAAAAATTGGAGTGATTCTGCCAAAATTGTTTTTCTCTTTAAAAATTTCCGCAAAATTCTGTTTTTCTCAGAAAATTTGTATACTCCCCGCCAAAAACGTTTTCTCATAAAACATGAATTTCCGTCTTTCTCATGAAATTTGAATTTCCCGCCTAAATTTTACGAGAAAATTTGAATTTCCAGCCAATCTTTTAGAAAGTTTGAATTCAAAAGGCTTTTTTTCAGAAAATTGGAATATTCCGCAAAAATGTTCTGAGTAAAATTCTCTAGCCTATTGCTTTTCTCATAAAATTTCACTTGAATTTCCGGTCACCTGTTTTCAGAAAAAGTTTGAATTTCGCGCAAATTTTTTTTCAGGAAATTTTAAACCTCTGGCTTTATTTATCTGAAAAAAATTAAAATGTCCTGCCATTTTTTTAAAAAAAAAATTCACAGAAAATTTGAATTTCTAAATTTAAAATTCACTGAAACTGACTTCCTTATCGACAATTGTCACACGATCCGATGATTTCAGAGCTACACCGCTCGTAAAAATCCCACGTATTGAATCCACGTCATCAGAGTCGGGAATTTCAAAAATTTTACTATCATCCATTTGTTTGCTGGAAGCGTTAATTATCGATTTTTATTTTTTTATTCGATATATTAATTTTATTGATATTTTATGAAAAATAAAATCAATTTCACTCTCGGATTGGTCTGGCTTTGTTCCTTCATAAAATGTAAAGAAAGAGTTTGCCGAACTAGGCCATTTTGGCTCGGATATCCGGGGCAGATTTACGGCGCGTGGCGTCGTGGCTCGTTAAAAATAGATTTATTTGTCTGTGTGGAGTACACGAAAAGGCACTTCTCACGCGTTGTCAGGCAATTGTCAATGGAGCGCGAAAAATTCAATGAGGAAGAAAGGTTCCAGAATCCCGTGTCCCTGAGTTTTTGAAAATTTTTGAATCGAATAAAAATTTTAATTGAAAAGATCGATTTTAAACAGTTTTAAAATTCTTTTAAAATTGAATTTAATATTAATCCCATTTTAAAAATTATTGATTTTCGAGCATACCTTTTCAATTTGTTCGGATGGTCCCCGTGCTAATTGAGCCAAACACTATCGATTAAAGATGGGCGTGTCACCACTTTTGCCACGCCCCTTTTATTCCGATATTCCAATAACCCGACGAATATCTCTGGTTCGTAATTTTAGAGTTGGCGAACACTGTGAAATAGGAATCGAACGCTTTCGGCGAAGATCAGACCACTCGAGAAATGTGATGAAGCTCCCCGGAGCTCTGAATGTTTGGATAAATAGAGTTGTGAGCCTAGTGCAAGTTGAAAAAATCGATAAATTATCGAGTTTTCTGATTGTTTTAGGCGGGAATTCAAATTTTCTGAGAAAAATTTAGGCGAGAATTCAAATTTTCTGAGAAAAATTTGAGGCGAGAATTCAAATTTTCATAGAAAAAATTTTGGCGGGAATTCGAATATTCTGAACAAAAATTTGCCGGGAATTCAAAATTTCTGAAAATAAATTTAGAGAATTTACCTCAAATTTTCAGAGAAAAACGCATTGTGGCGGGAATTCAACTTTTCTGAAGTCAAAAATCTAGTCGAGAATTCAAATATTCTGAGAAAAATTTAGGCGAGAATTCAAATTTTCAGAGAAAAAATTTTGGCGGGAATTCAAATTTTCTAAGAAAAATTTTGGCGGGAATTCACATTTTCTGAGTAAAACTTGGTGGCGGGACTTCAAAATTGTATTTCTGAGAAAAATTTAGGCGAGAATTCAAATTTCCAGAGAAAAAATGTTTAGCGGGAATTCAAATATTCTAAAAAAAAATTTGCCGGTAATTGAAAATTTCTGAAAATAAATTTAGGCGAGAATTCAAATATTCAGAGAACAATTTTGGCGGGAATTCAGATTTTCTAAGAAAAATTTTGTCGGGAATTCAAATCTTCTGAGTAAAACTCTCTGAATTCAAATTTTCTGAGAAAAAATTTAGGCGATCAACTTTCAGAGAAAAATTTTTGCGAGAATTCAAATTTTCAGAGAAAATGCGAAATTTGGACGCGAATTCTAATTTTCTGAAAGGAAAAAAACTTCGGCGGGAATTCACATTTTCAGAAAAAAAATTTTGGCGGGAATCCAAATTTTCTGAAAAAAAATTGGCCGGGAATTCAAAATATTCGAAAAACATTTTCGGCGAGACTTCAGGGGTTCTCATAACGAATTCAAATTTTCTGCAACAAATTTTGGCGGGAGTTCAAACTTTCTGAGAAAAAATTTGCCGGGAAAAATTTCCGAAAGTAAAGTTTGGCGGGAATTCAAATTTTCTGCAAAAGATTTTGGCGGGAATGCAAATTTTCTGCAAAAAATTTTGTCGGGAATTCAAATTTTCTGAGAAGAATTTTGGTGGGAATTCAAATTTTCTGAGACAAATTTTGGCGGGAATTCAAATTTTCTGAGAAAAATTTAGGCGAGAATTCAAATTTTCACAGAAAAATTTTGGCGGGAATTCAAATATTCTGAAAAACAATTTAGGCGAGAATTCAAATTTTCTGAGTAAAATTTAGGCGAGAAAATTTCGAATTTTCAGAGAAAAAATTTTGGCGGGAATTCAAATATTCTGAAAAAAAATTTTGGCGAGAATTCAAATTTTCAGAGAAAAATTCTGGCGGGAATTCTTTCTAACAAAAGTTTTGGCGGGAATTAAATCAAATTTTCTGAGTAAAACTTTGACGGGGCAAATTCAAATTTTCTGAGGAAAATTTAGGCCAGAATTCAAATTTTCAGAGAAAATATATTGGCGGGAAAAAATCATTCTGAAAAAAAATTTGCCGGGAATTCAAAATGTCTGAAAATAAATTTAGGCGAGAATTCAAATTTTCAGATAATGGAAATCGGTCGAATTCAAATTTTCTAAGAAAAATTTTGGCGGGAATTCACATTTTCTGAGAAAAATTGTGTTGGCGGTAATTCAAAATTTCTGAGAAAAATTTAGGCGAGGAATTCAAAATTTCTGATAAAAATTTTGGCGGGAATTCAAAATTTCTGAAAATAATGGCGGGAATCCAAATTTTCTGCAAAAAATTTTGGCGGAATTCAAAATTTCTGAAAATTTGCCGTGAATTCAAAATTTATGAAAATAAATTTTGGCGGGAATTATTTTCTGCAAAAAATTTTGCCGGGAATTCAAATTTTCTGCAAAAAATTTTGGCGTGAATTCAAATTTTCTGAGAAAAATTTTGGCGGGAATTCAAATTTTCTGGGAACTGTCAAATATTGGCGGGAATTCTAATTTTCTAAGAACATTTTGGGCGGATTCTAATAGCTTGAAGTCTGAGAACATTTTTGGCGGGAATTCATTTTCTGAGAAAAATTGTGGCGGGAATTCAAATTTTCTGAGAAAAAAGGCGAGAATTCAGATTTTCAGAGAAGCTCAAAAATTTTGGCGGGAATTCAAATTTTCTATAAACCAATTTTTTCAGAATTTCAGAAAACACCACCCATCAGAGCGCGTTTTCAAGGTCTCACTGTATTATTCACTAGGCTCCGAATTTACAACAGTGACACCTCCGAATTCAATTCCATCCATTATTTGACTTCCTATAAAAAGAAACGAGTCAACTGATATTCCTAGTATTGAGACGCTTCAACTCTTCTAGAAATTCGAAAAACGGGCGACGTAATAGTTGCCACGTATGTTTGGAGATGGCCGCCGAAACTGGAAAAAAAATCTCGTTTAAAATAAACTGACAAGTCTATATATTTTTTCTTTAAATTTTTTTATTCGAAAAGCACCCCTATTATATAAATTCTTTTTTAACCTACCATTTTTAATATTTGATAGCCGAGTCTTTGTTAGGCCATGTGCAAAAAGCCGGTCGGTACCGGTTTTTGGTGACCGAATTTTCAAATTTTCTAGGCCACGTAGAAAACCAGGTCTTCTTTTGACACATTGATTGTTTAATTTTCTCAATACAGGACCCTCTCCTATAAAATCACGGTTAATTATAGGCGATAAGACGCCTATGGCCGAGTTTTGTTTATCTCTAGGTCATGTAGCAAAAACTGGCGATACCCTTTTTAACCCCAGAATGTTCTCAAGAATCATATTTTTTAATTGTGGTAAAGGCCCAGAAAATTATGTCTGCTGAAATCACAAGTCGGCAGCCTTCTCGCTTGCCAGGTCGTCCACGCTGCAAAAACTCTGTTTACATATAGACCTTTTCAAATAATTTCAAATAAAAATTAATCACTTATAAAATCATTTACTTCAGGATTGAAAGCTTTTGCTGGTTAAAACCGGAAATAAGTCGATACGGCCGAGTATTCTCTTTTCTAGGCCACGTACCAAAAGTGTTCAGATTTTCCCCAGAAAGTTGTCAAAAATCGTATGATTTGTGGAAAAGCTCAGCGTAAAACTATGAAAAAATGAGTCAAATCGGTGGCCGAGTTTTCTCTTTTTAGGGCACGCTGCTTAAACTTCCATTTACATTTTGGCTTTTAGATTCAAATAAATATTATTCCCTCATAAAATCGTTTACTGTCATTGTGAGAGCGGTTGAAAACAAAAAAATGGTGGCCTTTTTTTCTAGGCTACATAGCGAAAAACTCACCTAGTATACACATGAGCAGCTAACGACACATTCTGCCATCTAACATTATTATAAATAGGCGGATTACATACCAAATCCTTCGGATTATTATCCGCCTGCAAATATCGAATTTTTGCGGTATGCCCATTAAGAAGCTCCGGCTCCGTGAGCTCTTCCTCAAGCACTATATTACCCACAAGTGTCACGTATTGGTAATACATAAATTATGCGGAGTTGCTCTGTGGATTTGAAGTGGTTCGAGTACGGTTTTTGTGTCGTCACTTCGGTTTGCGATAATTACGACGTTCCCAGCATCCCCAGGGGCGATAAAGGTTAGTGTTATTTGGTTTTTGTAGAGACTGAAAGAGTGGTTTCAACTTGAAAAGTAACGTAGTTTAAAACATATTCTTCTTTTTTTATTCTGAGATATTTTGATTCTGAAAAAACAAAATTTTTTTTAAATAAAATTGGCAACCTCACAAACTGTGAGTTTGTTGAAATTTAGTTTTTACAACCAATTAATTTTTTAAATTAAAAAAATTTTACGTGTAGTCCTCTAGAATAATTTTAAAAATATATGAATAAGTGTTGAATTCTGCCCAGTTGTTTTTTTTGCCGGTCGCCGAGTGGACTAAGTGCAAAAATTTGGAATTTTTCAAACGGCTTTATATTCAAATCATCAACAACTTAAAAAAATTTAGATTAAAAAATTTTTTTTGGAAGTTTTCGAAAAATTTTGGAAAAATTTTTAATTTGATGTCAGAAAAAAAAACCAGTTTGATTTTATTTTTCTTAAATTCTTTTTTGAAAATTTGTTGAAACTTTTTTTTAAATACTAGACTTTTTTTTTGAATTTTCACGCTGTTCTGGTTTCCCTATTTTGAGATAGAAGAGTTTGCCGAACTAGGCCATTTTGGCTCGGCCATATCTGGGGTAGATTTACGGCGCGTTGCTTGTCGCGTCGCGGCTCGATATTAGTTGAAAAACTAAATGTATTTGTCAGTCGGTACACGACTTTCCCACGCGTTAGGCGATTATCAATGGACGCGAAAATTTAATGCAATGAGGAAGGCCGGAACCCCGTGAAAAATACATTTTAAAAAATACATGAAAAATGTTCAAATTTTCTTTTTAATTCATAAAATTTGAAACTACGTTTTGTAACTTTACAAAAAGATAATTTTTCGAAATTTTTTTGAAATATTTTTTTTCGATTCTTTTTGTTGATTTCAATTCTCTTTTCTAAACATTCAATATTCCTTACCTGTATCCCTCTAGCCATAATAGTACGCAGAAACAAAAAATGTCTTCGTACGTTGTTATCCAATTCTTTAATCTAGTGTATGAATTTCGAACACGTCTTAATGCAGGCAAGGGATGTATTCAAATATCAGTACAAATGCTAATAATATTACGATATAGGGTCCTGCAACGAATTCTCAACTGCTGGTAGAGTACGGAATAGGGTTTGAATTGAAAATTCCTTCGTACAGTTTCGTGTCGGAATTCATTTTTATTATGGGAGGAAAACAATCTAGTGGTGGTAGTGGTAATGTCAATCGCTAAATCGATGTTGAATAGCACACTTCCGATAAGTATCGGGCGCCAGCGTGGCCTAGGATTTGGGAAAATTCTTCCACCAGAAGGTAGTCCCAGGCTTTTAAATATGATTATTTCATCAAGAAATTTACAACTAAATTGAAAATCAACAGTTAATACATTTTTTCATAGACTTTTCGAAACATATCTGATTTTTACATATCAAATAACCCGGTACGCATCTAACCGTCAGTTGCCTCGTGGCCTAGAACGTTTGCAAACTCTTTCACGAGAAGACATTTCACCGTAGCCTAGTTACTAAAGCTTTGAAACTTCTTGCGTGCAGTTCGCTTGGAATTTTTGCTTGTTTTGTCAACTAACTAGGATTCAATAGCTATTAAAAAGTTTCAAAATTGGGCAATTTATGTAAAAATTCACAATTTTGAAACTTCTCGAAAACTAGACGATTAATTTTGGTAGTGGACTCAAAATTGATCTTCAAACACTAAAAAATAGCACTTTTGTAGAATATATTCCCATAAGATTTTTTGCAAAATTATTTTTTTTTACCCAAAAAAAAGGACAGTCATGGCTGAAATAAACTTTGGAAAAAATAAAAAAATTGTCTAAATTTGCTGAGGGTAATTCATGCATTCTGAAAAAATCTGGGTTTAACCCATCAAACAACATTAAAAGCGGCATGGGTATTTCATTGTAAAAATAATGCATATACAATAAACAATGTAGAGGTAGGTGCAAAATCTGTAGTTTCTTTGAAAGATTTTTTATTTATTTTTTTGTTATTTTTTTTGCAAATTTTCGTATATTTAAGTAGTTAGTTTGCATGTTACATGCTAATGAAAAGTTTGCATCTGCTGATACATATAAAAAAGCGCCGAGAAATTCACAATTTCAGTAAACCATCAGTAAGGTATTTAATTTTTGTAAACTTTAGTCTTCTGCTCCTCTAAAGCTTCTGGAAGAGGACACTTTCTATATCTTCAAAATATTTTTGTGCGCCACTTTCCTGTCAAATTTCTGGCATTATTACATCCAAAAAGTCCCCATAAAAATCGGAATTCCATGGCTACGACAACGTCAGCAAAAGCGGAAAGAAATTTTATATGCCAGTCTAACGAGTCACAAAGCATACACTGACGTTTCTATCAGAAAAGACAGGATATCGTATCAAAACAAAAATTGGGTGCGATTGCTCGATGCACCATGTGATATTTTGCTTTTTTTAAAAATTATTTTGCTCGTTAGTATGGTGCACTTATTCCGTGGGAATGCACGCGGTGTCATAATGCCCATTTCGTTGATGTGCGTAGATCTACGGCAAAAAAAAGATTGCGGGAGTTGAGACGCAGAGGTAGGGCTCAATTCGTGTGGTTAAGAGCGTGCTGACGTCACATTATGGGCAAAAAATTCCCGCATTTTTTATAGATCGAATAAACCGAAATGGCACATCCTGACACCATGTGAATGCAAAAGACTTTACGCGGAACTTTTTAGATTTTGTTACTAATAATCTTAGGATTACCAGTGCTATGGTTTTATAGAAAAATATCAAAAGCGTTCAAAAAGAAATCAAAACATTTTTTCAAAATTTTAGATTTCCACTTTCTATTTCAACTTTAAAAGACTTATTCAAATTTTGTTTTGTTGATTCAACGATTTTTCCGCATTGATCTCACCAAAAGAATTCATCACATCATTCAAAACTAAAAACTCACTTGGCTTTCATTCCGCTCAGATGACAAACTTTTTGGTGGCAAAGGTTCTTTGGGGGCATAGTATCCAAGGAGACAAGCATAAGTATCCAGTAGACAAACTGGGGTGTATCTTGGGGGGCATGTATCTTTGGTGACAACCTTTTTTTCCGACTAGATTTTTATATGTACCTTTTTCAACTACTTTTCTATGTTCACATTTTTCTGAATAAGTTTTTTAATGCAATTTTCAATCGATTATCGGTGATAATTCCCTCACCATTGAATGTATGAACGATGGATTCTTTTGGGAAAAGCTCTAGAACGTCCAACTAACTTGGAATGATCGTGCTAAGTCTTCCCGATGGTCTGATCCTTCAGCTCCGAAGGATCAGATGTGTCCCTTCATGTTCTGATCCTTCAGACATAAGTAGGATCGTAAGGGTACCTCCTGATGGTCTGAACCTTCAGATCTCGGCCAAAGGATCACGGGGCTCTTCCTGATGTTCTGTCAGCTAGGATCACATGGGCACCTTCAGATGATCTGATCCTTCCTGCAGATAAGAAGGATCGTAAGGGTGAACCACTTGATGGTCTGATCCAGCTCCAAAGTTTGAGATCACGACGCCCTTCCTGATGTTCGATGATTTCATCTTCGACAGATCATATGGATTTTTGACAAAATTTGAAAAAAAATTTTGAAAAAAAACTCGAAATTTTTTTTTGTTATTCTCCCTCTGCCATTCTTTAAAGAATAGTGCAAATTTATCATGATAGGACCGAATAACTTTCAAGAAACAGTATAACTATACATGATAATCACGCTTCTACCAAATAATGATAAATTCTCCGCGATGACAAACTTTTCGGTGACAAAGTTTGGTGGAGAAACAAAAATTACCGATACTAAACTGGTAGGTAAGGAGAATAGTGAAATAATAGAGTCCTACAATGGACTATTAAACATGTTCAGTAGGTCAGGACTCGTCCGTCAAAATAAAAAATTTGTCAAACGAAGTTCGAAACTGGGCCCTGTAGGATGGAACAAAGGGCGCTCACTACCACTACACCAACTATGCGAAAGTCGAGCCTCATCGAAGGCTATTATAAAACATAGTTCGAACGAGTATGATCGACATTCCACAAACAGTAATATCTCTCAACAAGAATCTCTTCAGGGAATTGAGGTCATTTCCAGTGACTATTAATTTATCGGTTTTTTCTCAAGTTGAGCATAGGGTCTTTTAATTTTTTGAACATAGAAAATCACGAAAGCTGCCTGTGCCCTGTATCCATCACTGGATCGAAATAGACGTAGCTCTGGCCTAAAATATTTCCTGAACAGTGATCATTTCATGTCCATTGTGTGTTTCTCTGTATTTTGCACCAGAAAGTTGAACAAAAATGATAATATTATATCGAATAATGGAACAAATACAAATAATTCTGACTAATCAAATTTCCTCCGGATATTGTTTTTTCTGTCATGATTATAAGTTTCTAAGTTTTTTATAATGTGTTTACAACGTCATAATTACCTTCCTTTCAAGCAAAAACCGTTCGAGGCGTCTTAAAAATAGATGTGCAAAAAACTTAATTCGTTTCGATGAACACCATACTACGGTCGGTGTGACTTGGCGTGGCGGTTTGCTTTTGAATCATACTATTTGACCCACCAAACTAAATTAGCAATGAAATTATTTACTGCAAATTCTGCATCGAAAAGGACATTACGATGGAAAAAATGACGATTTTAATTATAAAGCAACACATTATAAAAAATTTAAGAACATATAATCATGACAAAAAAAACAATGTCCGGAAAAAATTTGATTAGGCCTAAAATAAGGTTATTTACTCCTTTTTTTCCAATGTTTATCGATTCAATATCAACATTTTTGTTCGACTTTCTAGCTCAAAATTCATAGAAACTCACGATGAACATGAAATGATCACTCAGGAAATTACTTTAGGCCAGATACGTCTGTTTCGATCCAGGATACAAGGAACAGGCAGCATTCATGATTTTCTATGATCAAAAAATTCACAAAACACCCTATGCTCAACTTGAAAAACCGATGTCGTAAAAATAGTCAAATGACCTCAATTCCATTAAGATATTCTTGTTGATAGATATTACTGTTTGTTGAATGTCGATCATACTCGGGCGAACTAAGTTTTATAATAGCCTTCGAGGAGGCTCGCCACTTTCGCATAGCTGGTGTAGTGGTAGCTCTGAGCACACTGGTTTGCATCCTACCGGACACCAGGTTCGATCTTCGTCTGACAAACTTTTTTTTATTTTGACGGAAATCAGTAAAACACCTACTGATGTTTAATAGTCCATAGGACTACTCTATTTCACTATTCCTTTACAGTTTTCGGTAATTTTTGTTTGTCCACCAAGATACTTTGTCACCGAAATGTTTGTCATCGGCGAATTTATCATTATTTGCTAGAAGCTGATGATCATGTATAGTTATACTGTTTCTTGAAAGTTTTCGGTCCTATCATGATAAATTTGAACTATTCTTTATAGAATGAAAAAAACAAAAAAAAATTTCGAGTTCTTTTTCAAAACTTTTTTCTTTCAAATTTCGGTTGTCAAAAATCCTTATGATTCCGTCGAAGCTGCGAAGGATCAGAACATCGTAGAGGAGGTACCCTGATCATTCGGTTATCTCTGAGACAAAGAGATCATCAGGCAGAGCCTCCTGTTCTTTTGGAGCTGAAGGACACAACATCACGAAGAGCCTCATGATCCTTCTGAAGTAACAGACCATCAGGAGGTACCCTACGATCCTTCTTATCTGAAAGATCAGATGTCCCCATCAGAAGGTACCATGTGATGCTTCGGATCGGAAGGATCAGATAGGACATCAGGCAGAGCCTCATGTGCTTTTGGAGCTGAAGGAGAACATCAGAGCCTCGTGATCCTTTGGAGCTAAAGGATCACACCATCGGGAAATCAGGTACCCTTACGATCCTTCTTATCTGAAGCATCAGAACATCAAAAGCCATGTAATCCTTCGGAGCTGAAGGATCGACAGACCATCAGGACGAGCCTAAACATGGTATTCCAAGTTAGTTGGACGTTTTATCAGCTATTACCATCGTTCATACATTCAATTGTGAGGGTAACCGAAAATCGATTGAAAATTGCATTAAAAAGCTTATTCCAGAAAAATGTGAACAAAAATTAGCTGAAAAATACATATAAAAATCTAGTTGAAAAAAAGGTTGTCATCGCCAAAGATTATGCCAGATACCCCGTTTGTCTACTGGAGACTTTGTCTTGGATCCCCGCCAAAGAACCTTTGCCACCTAAAAGTTTGTCATCTCGAAAGAAAGCCCCCCGACTCTGCGCGTTATGGTGAGACCCTAATACGTCATGTTTGACCCGCAAAATATCTCGTAGCGAAAAATACAGTTATTTTTTAACCGTATACTGTAGCGCTGTTGTAGAAGTTTACGGGATCTCTATTTTTCTAATGATTAAAATTAACAACAAATCAGAAGAATGACCCTCACACGAAGAAACGAAGAGAATGAAATATCGATGTCACTTTTCGGAAAAAAAATTAATTTCAAATGAGCCCGTAAATTTACACATGCGCTACGGTAGACATTTAAACAATTACTGTAGTTTTCCGCTCCCAACGAGAAATTTTGCGCGTCAATAATAATATATCGCACAATAAGCATTCTCAGAATTTTGCATGTTCCCGGAATAATTTATTTAATGGTTTTTTTGGTTGTTTCCTATTGGTCCCAAAAATCAACAAAAAAAAATTTGTTATGAAAAATTTCTGTTTTCTTCCGTTTAAAATCAAAAGTTTTTTTAGTTGCTTTTTTTGATAAATTTTTGCAACCACCCTGATTTATATCCCGATAAATGTTTAATGTCCCGCTTATGATATCTGGAACTGCCTCTTTGCACGTAAAATTCCTACCTGCGGACCAAACACACCATACATCACGCGCACTTTTTTTTTTTTCATCTGGACAAACACATTTTCCGCATGATTTCACTGACTTTATTTAACTCTCATCACTCGTATCGTTAAAAAATGCCCTAATCATCAACCTATTTTCATTGTCATTCAAAAAAAAAAACTATTTCGTACTCGGCGATCGTACTAATTTGTCATCATTGCGTTCCGTCGAGCAAAAATCAATCGGGAGTACTTTTACGTTTTCCGTTGAAAAAAAATCCAAAAAAAACACCATCCAAAAAAGATCCAAAAAAATTCCTAGTTAATTAAAACCGGGAATAAAAAATTCAAATAAAAAGTTCAAACGTTTCGTTATAAAAATGTACACCGGTAAGCTGAAACATATACATTTCATAAAGATTCTAACAATGTGCGACGATACGCTCGCAGTTTGTAGTCCAGCTCCATTCAGTGATGATGTAGAGGTTATTAAACAACAGGCGATCGATTATCCCATACAAATCACTCTGGTAGCGATTTCTGGGAACGGTAAGCCGTGCGCTCCGTTGTACTCATAGTTCGATGAATGAAGGCATCCGTGTAAGTTCTCAAATTTTCAAATGAAAACTGCCAAAAAAGGTTTTTAGTTATAATCTAAGAAATTATCGATTTTTAAATTTTATGAAAATTTTTTCGAAAAATTTGGGTTTTTTGTTTTTGTTTTTGATTAATTGATTGTTCGGCAAAAATGTCAAAAATCGAAAATTTAGGTATTTTTTCTTGGGATGAAAAAAAAAAAACTTTATCCGCCCGGCTAAGCGAAACTTGTGCTTTTTCGGTTTATTGATTTAAACCTTTGATTTACTGGAAAAACTTGAAAAAATCAATACTTTTATCACTGCGATCTGGTCTTCCACTTTAAACCTCGCGCTCCATTGAGAATCGCGGACAACGCATCGCGGGAAAGCCGTGTACTCCACACGGACAAGAATACAATTAGATTTACAACTAAAGTGTGACGAGCCGCGACGCGACACAACGCGCCGGAAATCTACCCCAGATATGGTCTGGCCTAGATCGGAAAAAACTCTTCCATTTCAATTTTATTATGAGGGAAGCCAGAAATCTTTGTTTTTATTTTATGCGATTTTGCTCTAAATTATCGATTTTTTGGAAAAAGTTTGAAAATTCCATAATTTTTTAATGATTATTGGAACTAAAAATTAAAATTTTCACAATGCTCAAAAACAAAAATTACTGATGTTAGATAAAAAAAACACGGCATGCAATTTCTAGACCACCGAAACTATCAAAAACCTCTTCCAGTGACTCGTCCGGTCCGTCTCTACGCAGACGGTGTCTACGATATGTTCCGCTACGGCCACGCGAATCAATTCCTGCAGATCAAACAACCTCTTCCGAATGTCTACCTTATTGTTGGCGGTGAGTTCGGCCCGCGCAATTCAAAATTTTTAATTTAAAAAAAAAACGATTTTGTCCAGTATGGTCCGAAGAGTCTATGAAGAATAAGGGGAGAACTGCAGGGCAAAGGAGAGCGGTTCGAGGCGATTCGGCATATTGTGCCGGTACGTCGACGAGGTGTATCAATGAGGCGTCGCCGTGGATATCTCCGATACCGTTTTTTGAAGGAGGGAGGTAAATTGCGCGTGAGATTCGGTGTTCGCACAGTTTTATGTCCAAGAACGAAGGAAATTTTATACCTAAATTTCGGAGAAAAATCATCAGTATAAATTATTGCCTTTTTTAAACGTCACTCACAAAATCGATAATAAAAGTTTGAAAATCACAGTCAATTTTTATTTTCAAAATTTCGTTGTTCTATCACGGGAACGCAAATTTCTCAGCATGCGTACTACACAACACATTTGACGCGCAAAATATCTCGTAGCGAAAACTACAGTAATTTGTTTATTGACACTGTAGCGCGCTACTGTCGATTTACGGGCTCTATTTTAAGCTCTTTCTATCGATACATATAGGATACATATTGATCCCGTAAACAGACAGCGCGCTACAGTAGTCAATTAATGAGTCACTGTAGTGGTCTTTCACTGCTACAAGATATTTTGCAGCCTCAGACATGTTGCGCAATAGCATCCTCAGAATTTTCTGTACCCCGTAACAAAACTTCGAGTTTTTCGAAACAAAAAGTTTAATTTAAAAAACCTCTAATCTTCGAGATATTCGAGTATTGATCTATTGATTTTTCGATAAATATTTATTTTTTTTTTACGATATTCGAAACAATTATCGAAATTTCAGAACTAACAAAAAACATTTGCGGAGGAAAATCGATAACATTTTCAAAGTATATTTTGTGTCCATAAAATTGATTTTTCCGTAAATTTAATTTGTTTGATTTTCGGGTTGGGTTCGTATTCCTAATTTCGGTAATTTTGAGTCGATAATTTTTTGTTTTTTTTTTTCAATTGAAACTTTTATTGATCAAGTTTCTGGCCAGTGCTCTTATAAATTGAAATGAGAAGATTTGGCCGAACCAGACCATTCTGGCTCGGACATGTCTGGGGTAGAATTACGGCGCGCGCGTCGCGCCTCGATCCTTTTAGCTTGTAAAACTACATGTATTTGTCCGTGTGGAGTACACGACTTTGCGTTGTCGAGCAGGTGATTGTCAGATGGAGCGCGTACAATGCTATGAGGAAAGCCAGAACCCCGTGATTGATTAGTTTTTGACTTAAAAACCTGATTTGAAAGAAAATATCGGTAATTTTTCGGATTTTTAACAAGAAAGGTCTTTATTTCCGGAAACTTTCATTTGATAATTATTTATTTATTGGTTTCTCGGAAAAATTTGCCGAAATCTATCGATAGTCGGACAATTGGACGAAAAGTCGAAAAAAAAATTCTAGGCCACGAATTTCCTCTTCCAGGTTGACTTTATGTCACACGACGCTCTGCCATACCAAGGTACCGCCGGAGAAGACATCTACGAGAAGCACGGCACTGCTGGCATGTTCCAGGAGACGCAGAGAAGCGAAGGAATATCGGCGAGCGATTAGATTTGTCGAGATTATGTCAGCGACTACGACACGTATGTCAGAAGAAATTTGCAGGTGAGAGGATATTCGGCCACCGATTGGAACGTTGGCTTTTTTACAGTGAGCCTGGCCTAGAAAGGGGTGGCCTAGAAACAAGTGGTGGCCTAGCAAGACTCTTCCATTTTTTTCAGACCAGCAAATATAGTCTGCAAGACACCGTAGTGGTGAATAAAAGAATTGGGCCGTGGCCTGCTGCAAACGTGGAAAACGTTTTGAATTTATTGATTGAAAGAATCTTGACGACCATTTGCCATCGTGATCTTCAGCGAAACCGTTCGAACAACAAAAGGGCCGATGAAAATGTGGAAAATAGGGAGAATATTGAGTTTTTAAAGAAAATTCGAGTAAATTATGGGAAGAAAAATTATACTCGTGAAAGTTAACTGAATTTATGCAATTTATTTTTTGAAATTCTCAATTTTTTTGGAAAATTTTTTTTTCTTAGGGCTTAGTCGAACATTTGGCTTTGTTTTAGGATTAAGGCTCATGCTTAGGCTAAGGCTTAGACAAAAACTTAAGCTTAGGCTTAGGCTTTTGATTAGGCTTAGGATTCAGGAGTCGGTGTCTTTCACTTAGGTTTGGCGTCATTGGCGAGCGTTAGCTCGCTATTTAGGCTTGGGTTAATTAGGCTTAGGCTTAGGCCTAGATTTAAACTTTTAGGCTTAGGGTTAGAATCACGCTGGCTAGGGGAAAAAAGAGAAATTCCAAAAATTCCAGGTTAAACGTAAAAAGGACAAAAAGGTACATCCCGAAGTCGGGTCAAAAAATAAAGTGATGAAATGTTCGGGATACATGAATGAATATTTCTGAGTCTCGCGGATTTATTTTCATAATCATATTCTGAACGTATTATTGACTCGTCGTGTGGGACATTTCAATGGATTTTCCATAGAAATCTCTGTAGAATTCCGCCATCGGCCAACGATTCTTCACAAGAGCCAAACTCGGCGAGTCGGTCAATGTTTGAGCTCGTCTGAAGAGTTTCAAAATATATGAATTCATTTATCTTGCAAACCTTTCACCGTTTGTGTTCAGTAAAAAGTCCGTCGGGGCAGATTTCCGTATCATCAGACGATTTGCATGTATACAATCCACATGAGGTTTTGTTCGCCTTTAGAATTTCTCCCAGTTGCCTGGAACGTTAGTTTTTCTGAATTTTTTGAAAGGTATAGAGATAGCAACAAAAAAAAAAATATACCCAAATAATGAGCTATTTAATCTAGGGGCTTTATTACAAATACTTTTCTAAGAACGTCTTGGTCTTGATAAATGCGTGCTTTAAGAAAAAAAAAAGTCAAAAATAATAGCGAGTCCTCAGATGTCGGGCGTTGTACTTATTAAACTCGGGGTCAATAAGTTCCGGGTCAAAATTCATAACTTTTGCGTAGCAAATCGATTTCCTTAAATGTGGGACTTTATGTTATCAAACATGGTCTTTTATTTGACGGCACTTTCAAAAAGTTTTGCCCACTCCATGTACCCAAGCTCGGATCCACTTTTTTCAGGCGTATGCCCGATCTCGCATTTTCTTTGTAACTTTCAATTGAGACTTTTGTGCGGATTTTGATTAATTAAATATACAATGTAAGAATACAATAAAAATTTGAGAAAAAATTCGCTCAAAAAAACAATTTTTTTGATCGGCAAAAAACTTAACCCTCGAAAAAAATTTTGTCGCCCAAATCTCTAGGTTTTATGGAATGATGCAAACAATTCTGAACAATTATTTAACACATAAAAGTTTTTTGGATTTAAGGCGTCACACACAAGCGGCAATGGAAAAAATGATTTTTTAGTGAATTTTTTGAAATTTTTGAGAAATTCTCGTCTAAATATTAAATTCTCAAATGTTTTGTGTGTCGAAAAATTGTTCAGAATTTTGCATAATTAGTCTCCTGTACAAAAATCCAGAAATTCCGACAAAAATTTCTCCGAGGATGTTGACGAACCTAAAAAATTTGTTTTTTTGAAGGAATTTTTTCTCTTTATTGTATTCTTACATGTATACTTAATAATTCAAAATCCGCACATAAGTATCAATTTACAGTTTCAAATAAGCAAGATCGGGCATACGCCTGCATAAAAAAGGATCCGTGCTAGGGTACACGGATTGGTCAAAATTTTGAAAGTGCCGTCAAAGACCATGATAGATAACATAAATTCCCACGACTTTTAGAAAAATCGATCAGCCACCCGAAAAAAGTTATGAATTTTGACCATGGTATCGAACTTTTATCGTGTGCTACATGCTTGTCGCGAAATATACCTATTTACCTATACCTGTACCTATACCTGCTTCATCTTTCGATATACGCCGTTCAAATTGTGGAGCATCTTGTCCAAATCGTCGTATCCTCTTCCAACTCCCAGGTAGATTAGTTGTTGAATCTACAATTTTATATTTAATTATAAATTGTATATTTTTGTAATTTAAAAAAAAACCTTTCGAAATGCGGCTAAGTAATCAATAATATTGACCTTAATGCCATGGGTCCTCATGGAATTTTCTGCCCATGCACAGTGTAGGAGAGCTCTTCCACTCCGTTCCGATCGATCAGCACATTACTTAGATAAATTAAGTCCCTGTGCTCGAATTCAAGAGCTGCTTCAGCTGCAACCATTGAGAGACCACGAGCTGGTGAATGATGGAAAATAGTTCATCTTCACTTTCAAGGACAAAATCTGCCAGCGGGGAAAGATTCCACCATTTGCCGAGCCGGCTGAAAAGGATAAAGTTTTGATGTTCCTGAAGAATAAACATCTGGCCTCAAATGTTCGGATTCATTGAGCTTCTCGTAGGCATCCCAAGCTCTCAGTAATCCCTTAGGATTTTCCCCTATGACTATTTGGGCTGAAATCATTTCGATAAAATTCGGCATAGAATTCCAAGAATTTGGGTCTCGAGTATCACGCCGACAGTGATTTCCTTGCCCATCACAATCACCTCTGACAAAACGGCGTGGGTTGTTGGAATCTCCACGGATTGATTTCCATAGAAATGCACGTTGTTTTCGAATGGCAAAACCTTTGTTAGCAACCGGTCTACCATTCGGCGCCAGACAGCTGAGAAGACTTCACCGTAGGCTCCTTCGCCGAGCTTCCTTCACTTTTCGAGCATCTAGCGCCGACGTTGATAGGCTACCCCATGGTTTTGCTTCTTTTTGGGCCAACAACACGGCGAAGTTGTGCCATGGACGGATCTTTTTTGTGAAATGTGATACTGCCAATGGGGATATTTCTAGAATCAGGATGAGCTGACCGAGCACTTGGAGCTCATTTGTTCCAGTTCAGCAAGCATGCACAGTTCGAAAGGATGGACAGTCCGAAAATGACTTTTCTGAAATTGTCATAGTTCATTGTGAAAATTCGTTTCGGCTAAAAATGCAAATGCATTATGTTTCTGAAACTCACCAGTTGACTCTGAAATCGTCGTTCGTTGTCATGTCGAGTGCCAAGAACGGTGGTGGTCACCACTGCCGTCTTTGTGAACCGCATCCAAATCGACAAATGTCTCGGGAGTTAACTATAGAAATGAAGTTTTGAAAAATTAAAAAACTCACAATTATTGAAACACGTTATTAGGCCAATAACTTCACACGTGAATTAATACATTCATGTATTCGATTTTCTCTGACTGTTATCACGGGTTTCTGGCTCACGGTAGTTCAGCCACGGTCCCAGCACAGAAAATAGATGTCACGTTCATGACGAATAATCAGTCTGAAAGCTATATTGGCTGCTATCTCGAAAACTCTCTAAAAACGCGTTTTGAGAAATTATATTATGATTTTTTGGAGAAAATCAGAAATTATTGATTTTTTTGAAGGAGAAAATGGGAAATTTTTCATTTTTATTGGGGAAAATCAGAAATTATTGGTTTTTGGAGAAAATCAAAAATTACGATTGGTAATTTGAAGCAGGGGTGGGCAGCAATTGCCGTTCGGCAAATACGCAGATTACCGGCCGATTTTCCGGGTTTTCATTTACGGCAGTTTGCCGGTTTTGCGTTCAATTTGCCCGACATTTTTCAATTTCTCCGGCAATTTGCCGGTTTGGCGATTTGCCCGAATTTTTCAATTTAACCGGCAATTTGGCGGTTTGCCAATTGGCCCGACATTTTTCATTTTCGGCAATTTGCCGGTTTGCCGATTTGCCTTACCCGAAATTTTCAATTTCGTCAATTTGCCGGTAATCGGTGCCGATTTCCAAAAATTTTCATTTTCGGCAATTTGCCGGTTTGCCGATTTGCCGGAAATTTTCATTTTCGGCAATTTGCCGGTTTGCCGATTGCCCGAAATTTTTCGATTTCGGCAATTTGTCGGTTTGCCGATTTGCTACGGAATATTTCATTTTCGGCAATTTGCCGGTTTGGCGATTTGCCCGACGTTTTTCAATTTCGGCAATTTGCCGGCGTTTTCCGATAATTTGTCGAAATTTTTCATTTTCGGCAGTTTGCCGGTTTGCAGATCTGCCCATTTAAGTTCGGAACTCAGATTGGCGGTTTGCCGATTAGCCCGAAATTATTTAAACGGCAATTTGCCGGTTCGCTTTAGCCAGAAATTTTTCAATTTCAGCAATTACAATAGAGGTCGATTTACCATTCAGCTGCCGGAAGTCTTCAGAAGGAATTTTTTATAATAAGGAACCACTAAACACAGCGTTTTGAAACTTTTCCACGTTTTTTAAAGATGATTTCATAGAATTTGCTTACTTGGTTTGTCGAATTGCCAGAAGTTTTTCAATTACAAGTTGGCAATTTCCGGAATTTTTAATTATGGCAATTTGACGGTTTGCCGAATTATTTGCCAGAAATTTTTCAAATTCGCCAAATTGCCGGTTTTCCGATGGAACTTTTTCTCGGCAATTTGTCGATTTGCCGGAGTCTTAAATTTTTCCAATCAATTTGCCGATTTGCCGGAAAAAAAATTGTTTCCCGCCCACCCATCAGTTGATGAATTCATCGTTCTTTTGTGTGTTTGTACTCCCATCAATCTTAAACTCGACCCGGACTGCAAAGGCATATTTACAGTTTTCTCTTCTGGTAGTGAAATGGTGGTCTTAAGTTTCGAAGACTATGCCCACGTAATTTCTAAAGTATTTATGTTTTGCAATTGTTTATCAATGACCCTAAAAAACAGACAAAGCATTTCCGCGTGGCAAATTATCAAGTAACTTGCCTAGGCGAATAGTACTGATGTTATAATTTTTTTTTAGAATCAGTTTGGAATTTCGAATTTTTCTGAAACAACCGCCGGCAAAATGAATTACTGTGAGCACTTTTGATTGTTCCCCGGTTTTCTTGTAGATTTTTGTGCAAAAAATTTCGACTTTCAGCGGTAAAAAAAATACAAAAAGGTCGAAGAAGAAGGAAACGAGCAACACTGCTTCTTGGTCAGGAGGCCCCAAAACCAGGGGGAGCAAAACAAAAAACCAAAACCATCGAAAGGAAATGCGACAGGGGTCGCGGCGAACCGGAATTGACTGCACATCGAAAAAAACCAAGACAGCAAAAAAAGTGAGACAGAAGAGAGATATAAATGCACCGGAGTTCAATTTTAAGCTCGTATTATAGATATACGTCATTGTATCAGGGGTGGGCGGCAATTGCGTCGTTCGGCAAATTGACCGCCAAATTCGGCATATCAATTGCCGGTTTGTCGATTTGCCGGAAATTTTCAATTCCGGCAATTTGCTGGTTTGCCGATTTGCCGGAAGTTTTAGGGTCATGTTTTTCGGTCAAATCAGTTTTGCCGGAAATTTGGTTATATAAGAGACGGACTGTCTTTTTGAGTTGTTCCCGTTTTTTTACATATTTTCATAGAAATTCATCGAGATAATTTGCCGAAATTTTTCGGCAAATTGCCGTTTTGGCAATTTACCGATTTGCCGGAAATTTCCATTCCGACAATTTGATATGCCAATTCGCCGGAAAAAATCGTTTGCCGCCCACCCCTGAATATAGAGCCCTTTTTAGTCTCATGTCACCTCGATCACGTGAAATGCTGTCAGACAGCAAAAAGACGACCGTTGATGATGATTCAGCAGTTCCAAGAACAACAAATGTCGCTGGAGCAGTCACTTCTACGATTCCTGCTCTCACCTCTGAAAACGTCCCGTTCTAATTCAGCCACCCAAAGACCTTATATGGTGCGGGACGAAAGCCAAAACGGTGCTCCGGAACTTGACGGATCTGGCAGCGTTTCACTTTCACTCAAGAGCTCACTGACTGGAGGTGATAAGTGGCTTGGAGAAGCCGTGGCAAGGAATTGGATTCGCTCGGTTAGCATCCTTTTTTTATTGGAGCGGCGGCGTAAAAATCGTGCCAGAGTTGCGAGAGGGGGCGTGTTTTTTAGTTTTTCTGTTGTTGGTGGGGACTTATTATTATTAGGTTGGTGATTTTATTTTCACTGGTGGAAATCAGCTAATAAAACTAAAAAATAACTTCGGGATATGCAAATAAAAACCCAACTTTAAAAAGCGAACTCCGATCAGCAGTTTGCTCGGCCCACTATTCAACCAATCCAATTGGTTCGTTGAAATTCTTGGGAACTCATTGTTAGAGGATAGAATTCAAACGAAAGATTAGCAAGTTCACTGGTTATTGCTTTCATTAGAATATCATTGCTTATATATATATTTCAATAAAAAAATAGTGTACGTCATCAATGGGCGGAGCCTCTTCCATCGTGGAGACCCATCGTGGTGAGACACGTGGTGGTGAGACCCATCGTGGTGAGACTTCGTGGTGAGACGTGGTGGATTCAGACCCGTAAATAGAGACCTGCGCATCGAGGTGAGACCCCTCCTGGTGAGACCCATCGTGGTGAGACCCATCGAGGAGAGACCCTTCGTGGTGAGACCCATCGTGGTGAGTCCCCCATTAATTTTGGCGTGAAATTCAAATTTTCTAAGATCGATTTGGCTTTTTTTCGTTTAACGAAAAATCTGGAAAGGAAATTCTAGCATTTTTTTAGAATAATCTGATGAGGAAATTTCTTACTTTCCAGCGAAATCTGGAAACTCCAAGGATTTCCTAACATAATCTGGAGACTTCTAAATAAGATCAGGAAATTTCTAGAACTTTTTTATAATCGTCTGAAAACATCTTTCTAGAGTATACTAAAAACTTCTAGAATTTTAAAATTCCGCGAAGATCGAGGAAGAGATTTGCCAAGTTCAATTAATGTGGAGCCAGACGGAGCACGCGCTTTGCGCGCGCGAAACGGCTGGTTTTAGATATTTTGTAGTATTTTTCAAATCTTAAAAGAGCAGAGGTGAAAAAAAAACGAACTGCAATAACAGAAAATCGATGTCGAGAAGGACTGTAAAACCTGGAAATCCAACTCGCGCCAAAATTTAACCAATCGGAAGACTTTCCTGCCTTGGACTTCAATCTCGTGAAACTTGGCAAAGACTAGGTGAACATCAGTCTTTTGCGTAGATGTTCCATTGGGAAGAAATGTTCATCTAGGTCAAGCTCCGGTCACACGGAAGATACATTAATGTTCGACAAGCGAATCACTCACATTGATCTACTCGGCGGGCCTGCGATGAAACCATCGAATTCTTCCCTATAAAAAAGGCAGAAGATTATACAGAATTCCGTATGGTCAGATGTGGATCAATCCCTTAACCGCCGTGTCGAGTATGTCAATGACGATGTGTACCGATTTGCAATTGAAGGAGTGCCCCACGGATTCTCCAACTCGATCAACTGCAATGTGACTGTTATCAGCATTTGGAAGGACGCTGTGCCTTTGAAACAAGCAATCGCCTCAGAGAGGCACTTGGTCTACACTACTTCTTGCTTCTGAAAGCACCCCCTGACGAATGCGACCGATGATCGTCTCACCACGTGGAGCTTGTAGGACGAGCTGGCTACTTTTTGGCACTTGCGGTTGCAGTCAACACGATTGATGCAAAGCTGGCCGAACCTGTATTGCGGATATTGTCCAATCGATTAGCTCCCAGAGACCAAGAGCCGTGGATTCTTGTCAGTATCTGCTCCCTGTGCATTTCGTTGCTCTACTTCATCAAGGAATTGGTTTTTGAGTTCTTGTAAAATGAGAGAATAATTCTCTAATTTACAGAAGAAAGGGACAAAACAATCAGAAGGGGAAGCCAACACTGAGCAACAAATACGTCTACAACAAGTCGGTTGAGTTGACGAAGCAATTAACCGTTCTCCTTCTAGAAGCCAGGAGAGTGTGATGGGACCTGGATAGTTCTTCTCCATTATGAATATGTGAAAAGCATTTGAATTGATCTGGGTTTGGAAATGAAGAATTTTATAATGGATTCTTTCCGAAATCTTCCTTCCTGCCTGCTGTTAACTCTGCGGCTTGATCTGCAAAAAAAGCGGTAATATCTCCCCCAGGAAGACGTCAGCACACTCTTAACCATGCCTTAGTTGAAACGTTTCTCGGTATTCTCCCGCATTTTTCGAAGATCACACCAAAATGGGATACTTTGACAACACGTGCCTGCCATCGCTTCCTGAACGGGGATTTTGTTAGAAAATTCGTGGAAAATAGGAAGAATCATTTCGAGAAAATGGAATTATTGACTCTTTTCTGATTTTCTCAAACAAAAAAAAATTAAAATCGAATTGATTTCTGGCTTACCTTACCTAAATAGAATTGAAATGGAAGAGTTTGCCGAACTAGGCCATTTGTGGCGGCCTGGGGTATATTTGCGGCGAGTTGCGTGTCGTCGCGGCTCGTTGTTGTAAATCTAAATGTGATTCGACCGTGTGGAGTACACGACTTTCACATTCGTTGTGCCGCGGGCGATTGTCAAAGGAGCGCGAAAAATACAATGAGGAAATCGGCCAAAACCCCGTGTATTGATTTTTCGAAAATTTCGGAAAAATCTGCTAATTTTATTCAATATTTACATTTGTCCTAATTTCTTAGAAATGTTCAAAAAATCTGATTTTCTTTTTCCCGATGAATTTTTGTAAAATAGTTGCTATCCGTATTTCTCGAAAAGAATCGATTATTTTTTTCCGGTTTCCTGGTAAGCTAATCACTTCAGAAAAAAGAATTAAGTTAATATATACTTATAAAAGTCGTAAAAGGTTGGAAATATAAAGTATTTAAATCAGAACAGCGATTACTGACTGAAGCATCTCAACTACCAGGCAAGTTCTTCTTATCGAACTCGACAAATGAAACGAAGAGGTCGGAGCTATAATTGTGCCGATCATTTTCCGGGCGCCCGTCTCTTCGAACTCGGATACGGTAGCCTGCCCGACGTATGTGAAATCGGCCATTAGCACTCAATCGGCAAGCGCCGATTGATGCTCCGTGGCCGACGATAGGGCTTCCTGAAAGAAAATCGATAATTTGCGGTGTGTTTTTATTGATTTTTATGTGAAAATTGGCAAATTATTGATTTTTCGGCTAAATCATAAATTACTGATGTTCTAACCCGTTAAAATCAGTAATTTATTGATTTCTTCGGCTAAATCAGGAATTATCGATTTTTCAGTGAAAATCTGAAAATGATTGAACATTTTACAGCTCTGCGAAAATCAGAAATTAGTTTCGCAAAAATTCACCTTCATATTTCTAAATCGCCACGCAGGGTCTTTCCGACACGTGGCACACACGCGTCATCTCCACATCCTTCGCGGGGTAGTGTGTTCTGAAAAAAAAGCCATTCGGTAATTTTTATAGGTCTCGCACCGGATTGCCGCCACCGGTTATCTTCATTTTTCCAACTAAAGCGCCAACACCGGCGCCGGCATCTTCTTATTTTTCCACGTAGCCGGCGCCAGCCGCGCCAAAACTATCTTCAAGCGGCGCCGGGCAGCTTTTTATTTTCCCCATAGCGTGCCAGCGGCGCCGCCGGCATCTTTTTATTTTTCCACGTAGCACGTCGGCGCCGGCAGCCGCGCAAACTATTTTCGCCGCCGCCGGTTTACTTTTCCACGTAGCGCGCCAGCGGCGCCGCCGGCAAGTTTTAATTTTCTTCCACGTAGCGCATAGGCTAGCGCCGCCCCCGGCATCTTTTCATTTTTCCACGTAGCGCGCCAGCGCCGGCAGCCTCGCAAACTATTTCACTGTTCGCCCGCCGGCATCTTTTTATTTTCCACATAGCGTGCCAGCGGCGCCGCCAGCATATTTTTATTTTTCCACGTAGCGCGCTAGCGCCGGCGCCGGAATTCATTCTTTTTTCCACATAGCGTGCCAGCGGCGCCGCCGGCATCTTTTTATTTTTCCACCTAGGGCGCTAGTGCCGGCCGCATTTTCATCTTTTCATGCAGTGACCGCCAGCGCGGCCGCCGGCCTCTTCTCATTATCCATGTCGCGCTAGCGCCGGCGGCAGCGCAAACGATTCTTCGCCGCCCCCGGCGCGTTTTCCTTTATTAATTAGTGCGCCAGCGCCGCCGCCGGCATCTTTTGATTTTTCCGCAGTGCGCCAGCGCGGCAACGGCGCAATTCTAATCTCGGTCTTTTTTGACCGATACCTGAAAACGCCTAGGAATATAGTGGGGCCAAATCTACAAGCGGAAATTTCTCAGCTAGTTTGTCGGTTTCCCAGATTCCAGGAGGCTTATCACAAAGATAAAGTGCCTCACAAAGGCCACCGTCCGCCTTCACTTTCATTCCTCTATCCTCAATAATCGTCGAAGCTGTCTCAATTGTCCGTCGAACGGCGAGGCAAACGTATGCGAGATTGCCATTTTCGAACCCATATTTTGCACTCTTTCGCCTGTTGCCGACCGCGCACGCTGAGCATCGAATTATCCGTCGTGAGACCGTCGGCTCCGTCGAGTAAATTACGCCAATTTCGATTGATATTGTTGTCTCCTCGCTGCAACGCAAAAAATCAATAATTTCTGATTTCCAACGTAAAATCAATAAGTGTTCTGATTTTTGTTGAAAAATCATTACTACCGATTTTAACTGAAAAATCAATAAATGCTGATTTTCCTTTTTTTTGCACGTACAAAAGTCGATAATTTCCAGATTCTCATCGAAAAATCAATAATTTGTGATTTTCGCCAACAAAAAATCAATAATTCAGATTTTTACCGAAAACACAAATTGATAATTTCAGATTTTCACCGAAAAATCAGAAATTATTGACTTTGGATAAAAATCAAAAATTTACTGATTTTCATCTAAAAATCAATAATTTCAACCATTCGCAGAAACATCGGTCATTTTTAATTTTCACCGTAGAATCAATAATTTCTGATTTTCACCAAAAATTATCAAATAATTTTAATTTTTTTTTCGAAAAATCAATATTTTCTAAGTGCTTTTTATCGGAAAATCAATAATTTCCGATTTTCACCAAAAAATCAATAATTTCAGATTTTTTTCGCATAAAAAAGCTCTGTAAATAATTTACGAAGTTGACGAGAAATCAATAATTTGCTGATTTTATTCTCACAGAAAATCAATAAATTTTTTTTGTTTTTCGTTGTTTTTTTTTTCTAAAAATCAGCGTTTTTAATTTCCCCAAAAAATCAGTAATTTTTTAGGGATTTTATTTTTCGAAAAATCATTTCAGATACCGAAAAAATCAATAAATTCAAAAAAAAGTATTTCATTTTTTTGAATTCTTCAAAGTACCGTTCCACGTGTCAGAACAATCCAAATTTTCCGTGGATAAGTTATCGGCATCCTATCGATATCGGTTTTAGCTGAAGAAAAAACTTAAACAATTGGAAAATTGTGTCCTCCTGTCGGACAGGTGCTCGGTGCTCTCCCATCACGGCTTGTCTACAAAAAATGCGGGATTCTTCGTTCTTAACCATACGAAATCAGTTGACTCTGCGTCTCTCTTCCCGCATTTTTTGTAGATCAACGTAGATCAGACCAAAATGAGGAGCACACTGAATGAAGACACCATGATTTTTCGAAACAAAAGAAATTCTCAAAAAGTGACGTCAAGAGGTATATAGGTAAATCGGATACTTGGTATCAAATGACGGAAAAACAAACGAAAGTTGCAAAATTTTTAGATGAAATTAATTAGACTTTGGCGGGAAAAACAGATCAAATTTACATTAAAATACCGGAAAAATAGGGGGAAAAAAGCCTAATTATTGCCTAAAAAATTCAGGATTAAACGGGTTGTACTTTTTCTTCTTTCCACGCTTCTCCTCCGATTCCTCGGCGGCTTTTCGTTTCTGCAGCAGCTCAATTTCCTCGGGATGTAGCAAAGCATGGGCTCTCGCTTTCTCGACTCGTTCCCGGCAGTTTCTAGACGCTTCTCGCATGCTCGCCAGGCCGTCGTTCTCGATCGTATACCTCTTCGAGTTGACGTTCTTCAGAGCTATCACGGTGGCGGTACTGCTTTTTTGGAAGAAAAATTGGGGGGTTTTTTTGTGGTTTGTAGTGGGCACCCTATATGCGCGAAAAAAGAGTCGAATTTTTTTGTAGATCAACGTATGGTGAAGAACGTACTGGCGTCATATAATTTTGGGCGAAATTCCCGCATTTTTGGTAGATCAAACCGTAGTTGAAAATTTTTCGGGAAAAAAAATTACGAATTTCTGGCTTTTCTCAAATTGAAATGGAAGAGTTTTTTCCGAAATTGGCCATTTTGGCTCGGCCATATCTGAGCTAGATTTACGACACGTTGCGTGTCGCTTCGCGGCTCGATTTTAGTTGTAAAACTAAATGTGATGTCCGTGTGGAGTACACGACTTTCCCACGCGTTGTCCAGGCGATTGTCAATGGAGGGCGAAAAATTCAATGAGGAAGGCCTGAACCCCGTGGTAGTCCGATGCACAAAACTGATTTTGTTTTTGAATTCTTGGGATTGAAGAAATTTTGCCGATAAAGCCGATAACTCAAAAAATTCTAAAAAATTTGGATAATGTCTGGAGGAAAAACCCCAATGCTGAAAATTTCGAATAATTTAAAATTTTTGCGCATGGCCGAAAAGAATAAAACTCGGCCAATTCTTTGGCGGCCATGATGCAAGACACCATATTTGACGCACGCAAAAAAAGGTGTTTTTGGATGTTATTTTCTTTTTCCGCCAGAATCTTTAATAATGGTATCTATTCCAGTGACAAAAAATCATAACCTGTTGCAAAAAACGGATGTTATTTTTTTCGAAAAATTCAATTTTGCGCGTCAGATGTGATGCTTTAAGCTCTGTGGCCGCCCAAAAAGAGAACACTCGGCCCACCAATTTTTCGATGACTCCATTGACAATAGCCTGCTGGACACCGGGTGGAAAAGTTTCGTGTACTCCCATGGGGCACGGACAAATACATTTAGTTACCATTTACAACTAAACGAGCCGCGACGCGACACGCAACGCGCCGTAAATCTACCGTGGCCAGATGTGGTATGGCCTGGCCTAGTTCGGCAGGAAGGTTTCTCTTCCATTTCAATTTATGAGGGAGGCCAGAAATCCGTGGCCGAAAAAGAGAAAACTCGGTCTCCATCCGATTTTTTTTTCTGACGGCCATGACAAGTTTGCGCGACAATAATACACTTCATCATATTTGGCAAAAAATTTTTTAAAGTTTTTTCGAATTTTTTTGATTTCCGAGCAGAAAAAAAAATTGTCTGAGAAATTTATGTGGCCGCGGTAAACTTCGGCCACCGATTTTCGAAGATTTTGACCGTGTTTGAGGGAAAAAGCAATTTGACGCGCAAATTTTCAAAAAAAAAAAAGCCCAAAACACTTTTCTTCTTCTTCTTGTCTTTTGTTAGATGCCGTTTCTGCCTTTTCTTCACTATCACTATCCTCTCGTTTCCGCCTTCCCCTCCTCTTCCAGCTTCCGCTCCGCTCAAACACGGCAGAGCATCGCGCGCTTTTCGTCGATCAAGTGTCGGCGGCTTTACGCAGCGGAGCTCCTCGTACCACTCGTTTTTGTTGTTTAAATCGTATTATCCGCGAAATACACCTGAATTCACATTTACGTCGACTCCCATTCCTTCTTCTCGGCCGCTTTTTCCGCTTCGTAGCCGCGGTTTCCGGATCCATAGTTTTTTCGTTCTTCACGTTCGAGATCCTACAAAATATCATTTTTTTTGGAGAGAAATTTAGTTTTTTTTTGGAGAAAATTATCGATTTTCTGGAAAAAATTATCGATTTTTCGGGGAAAGATTAATTACGATTATTTTAAAAGAAAATTATCGATTTATATTGGGAAAAAAATCACTGATTTTCTGGAAAAAATTATCGTTTTTTGTCGGAGAAAGAATATTAAATTTTTTGCAGAAAATTATCGTTTGTTTTTTTGAAAAAAATTTCCGATTTTTCAGAGAAAACTTTTTTATAAAATTATGGATTTTTAAATATAAAATTAACGGTTTTTAGACGCTGGAGTCTTCAAAATTGCGAGATCGATTTTTTTCTGGAGAAAAACATATTGTTTTTTTTTGGAGAAAAATTTCGATTTTTTTGAAGACATTTATCTTGGTGATTGTTGATAAAATTATCGATTCTTCGGGGACAAGTATAGCTTTTTTTGGATGAAATTATCGATTTTTTGGGAGAAAAAATACCGATTTTTTCCGTTTGGATCAAATTACCGTTTGAAAAACAAGTATCACAATTTTTTGAAGAAAATTGTCAATTTTTTTGGTAATAAATATAGTTGTTTTGGATAAAACGAGATTTTTCAGCTAAAAATATAGATTTTTGCTTTTAGATAAAATTTTGATTTAAAAAGAAAATTATCGATTTTATGGGTAAAAAATAACGTTTTTTGGATAAAATTATGGGTTGATTTCTTCGGGGTTCGTATAAATATTGATTCTGTCGGGGAAAATATTTTTTGGATAAAATTATCGATTTTTTGGAAAAAATTATGGGTTTTTTTTGAAGAATGATTTTATTGGTGAACAATATCGAATTTTTTCGGGAAAATATCGATTTTTCGGAGAAAATTTCTCATCGATTTTTAGAAATTATCGATTTTAAATTGGGTAACAATCTCGATTTTTTGAAGCAATTCTGAGCCAAATTTTGAATTTTCGAGCGGCAATTTTTGCACAAAGCATTATAGGTTTGACGCACAAAATTCGAATTCTTCAGAATTAGTTTCACAAAAAATTCTATCACCTAAAACTAGTTCACATGTCCCGTTTCATCTGAAACGCTGACATTTTTTGGCTTCTCCACGCTGAGCTCGAACCAGCTCCTCCACTGAACATCGTCTCCATTCGTTCATCGGCTCGGGCTCTCGACTGCATAGCCTCAGGCGCCGCGCCTCGTTTTCCGCCTGAATTTGCCTGTCGAGCAGACGCTGCGCATCTTCGGCGGCTTTTCGCTCGTCTCGGCGAACCCGTTGTTGGATTTTGTCCGAACGTGCCATGATTTGCCAAATGATGGAGAATGTATCATTCATCTGGAAGCGGAAATTATAGAGCAAACCAGTTGATAATTGTGCTCGAAATTTGGGGAAGAAGCGCAACCAAAAAATCAATAATTACGTCCAAAAATCTATTTTATTCAGAAAAACCAGAAAGCGATTTTTTTTCCAAAAATAAATAATTTTCGTGCAAAAATCGATAATTTAGACCGCTTCTAAAAGTCTCAATTTTTCCAACAAAGAAAACAATCTCGAAAAACCGATGTTTACAGAAAAAACAAAAAGCAAAAATTCATAAAAATTAAAAAATTAAAAAAAAATCAATAATTTTTCTAAAAGCGATTTCTTTTTCTAAAAATCCTTGCGTTTAATTTTCTTCTGAAATCGATATTTTCCGTTGCTTTTGGTTTCGTGAAAAAAATCGTCTATTGAACATTTTGCTAAATTTCGAAAAAAAATCTTGAACGATGCACCATGATTTTGAAAATTCTGCTCTGGATCAATTTTTCGAGAAAATCGATTTTTGGAAACTATCATACAAAAATCGACTGCTAGTTGTGCTCGAGATTTGGCTCTGAGGAAAAATCAAAAATTTTCTTCTAAAAATCGATTTTTTATCCAAAAAATCAATAATTTCGTCGGACAAACCGATGTTTTCAGAATAATCAAAAAAAAAATTAAAAAATTAAAAAAAAAATTTCAATACTTTCTAAAATTTTGCGATATCTTTTCTAAAACTATTTAATTTTCTTCTAAAATCGATATTTTTGATTTTTTCGTGAAAAAAATCGTCAATGTTATTGAAATTTTTGCTTAATTTCGAAAAAAAATCTTGAAACTTCGATGCACCATGATTTTGAAAATTCTGCTCCGGAACAATTTTTCGAGAAAAATTTATCGATTTTTGGAAACTATCATACAAAAATCGACGGTAATTGTGTTCGAAATTTGGGAAGGAGGAAAAATCAATAATTTTTTTCTAAAAATCGATTTTTTTTCTACGCGAATCAATAATTTCGTAACCGATGTTTTCAGAATAATCAAAACAAATTTCAAAAATAATAAAAAATCAATAATTTTTTCTAAAATTTTGCAATTTTTTTCTAAAAATCGTTTAATCTTCCTCTAAAATCGATATTTTTCCGGATTTTTTCGTGAAAAAAATCATCAACTTTATTGAAATTTTGTCATACTAAATTTCGAAAAAAAATCTTGAAATTTTGATGCACCATGATTTTCAAAATTCTGCTCCGGACCAATTTTTCGAGAAAAATTATCGATTTTTGGAAATTAGCATACAAAATTCGATGTGCTCGAAATTTGGCTCTGGAAGGAGGAAAAATTAATAATTTTCTAAAAACCGATTTTTTTTCCAAAAAATCAATAATCACGTTCGGCTAATGGAAAACCGATGTCCTTTCAATCAAAACAATCTCAAAAATAATAAAATCACTAAATCAATAATTTTGTCTAAAATTTTGCAATTCTTTTTTCTATAAATCGTATTTTTCCGATTTTTTTCGTGAAAATAACTCGTCTTTTATTGAAAATTTTGCTTTTCGATAAAACGATGATTTTGATTTCGATGCACCATGATTTCGAAAATTCTGCTCCTGAGCAATTTTTCTTTAAGAAAATTACGATTTGTGGAAATCATCACACAAAAACCGATAATTTTGTGAAAAAATTCGGTTTCGCACCATGATTTCGAAAATTCTCAGAATTTTAGAAAATTTATCGATTTTGTGTAGAAATTCGAATTCCAGTGGAAAAATTTTCTTTGTATTTCTCAAAAAATGTTTGATTTAAAAAAAATCGATTTTATGATCTGAAATTCAGGCATTTTTGTAGGGCAAAGTAAAATGGCAAAATCGATGATTTCTCTGATGAGAATGGGAATTTTTGTCAAGAAAAATATAAAAAATTCTTAAACAATTAAAGTGTTGTCAAAAAATTGAAATTTTGCGGAAAAAAAATATATTTACAGATGAATTTTTTAGAAAAATTCTACAAAAAGAGGTTCCATCTAATATTATTTTGTCGCATTGGGAGTTTATATCACATAATTTTTTTTTGTTTCGGTTGCCGTGGAGAATGGGGGTTGCAAATACCAATATCACATTTTTCAGAGGAAAATCACAACAAATATAAGGAAAATTTAAAAAAGGCGCGGGGGGAAATTCACCAGATTATCGATATTTATGGATAATTTCCACGATTATTTTTATAGCAAAATTGATCCGGAGCAGACTTGGGATAAAGCAAATGTTGGAGGGGGAAAATGAACAAATTGATAAATTATAATATATTCGGGGCAAAAAATGGGAAATAATTAAATTGTCGGAACATATAAATGATTAATTGATTGAGGCCAATGGGATTGGTTTCATGTGAGCCAACGCTTCATTACAGACCACTTCCTACCGATGACGTAGCGGCCATGAGAATGCTCGACACGAGCAAGACGGTAGGTTCTAGAGGCGTTTATCTGGAAATTTTGTGAAAAAATGAAGAAAACAAGCTTTCTTCGCTGAAAATTCCAAGATTTTCGGTCGTTTTTTTTTTGCTAATTTTTTTTAAATTCGCCTTGAATTAAATTTCCAGATGTTCAGTAACACGTTTTTTTCTCCTTCAAAAATCGGTTTTTCAATTAATCAAATTCAGAGTATTAATAATTATTTTCCTCCACCAGAATTTGAATATTTTATCCACATTCTGAAACCGGCTCACAGAGCGGCTATTACTACGTGGCCTAGAAAAATCAAACGAACTCCGCCAATGATTTATCCCGTGGCGATTTTTGTGGGATATTTCGGAAACTTGACGAGAATGTTCTCGAATGGTCGGGGGTGCTACAGTTCCACCGTGGCGATTTTTGAGAATATGTTCCGTAGTTATGAAGGTGGCCGAGGGTTGTTTTCTTATTTTACGGCCACGTAATAAAAACCGATCTGTGGGCTCCTGAGCAGAATATCGAAACATATCATGGTGCATCGAAAATTTCAAAATTATCGATTTTTTTGTTGTAGCAAAATTTTCAATAAAATAAGAAATCATGGTGCATGGACAAACCAATTTTTTCCTTTTTTTCGAATTTAAAATAAAATTTAAAAAACAGTAAAATTCTTGAATTTTACTTTTTAAAAATATTTTTTTCAAATTCTGGCAGTTTTAAAATAATAAAAAACGTTTTTTTTTCCATTTTTTTCAATAAAGTTTTTTTATGCCATGATTAGTACTACTAATGTAAAATTTACAGGGTTTTCACAGATTTTCAATTTTGTTGATTGGCTTATTCGTTCTTCAAAAATTCTAAATTTTCAGGTTTTCTTTTCCATTCGCCTTTAATTTTTGGGAAAAAACAATGTTTTTAATTAATTTTTCAGAAGGACTTAAAAAATTGTGACAACTAAAATTGTTCAATTTTTTCCGCAAAAATAATTTTTCGGAAATCCGCGTTCAAATGTCCTACAAAAAACCCCTTACCACAGTAAGCCTAACCAACTGTGAGAGCTCTCTGTTCATCGACTAGGGCTCCGTCGAAAAGCCGCCCAAACTCTAGAGCCGACGCCGTATCGACGCGCACTCGAACCATCTGAAAAACCAAAAATGGAAGAGCTTCTAATTTTTCGTCCAAGGCAGGCCATTTGATCTACGTAGATCTAGAAAAATTGCGAGAAAGAAGAGACGCAGAGTTCTCAACGCTTTCGCATGATTAGGAGTGTGTTGACGTCACATTCGCAAAAAATTCCCGCATTTTTTGTAGATCAAACTGTAATGGGATGGGACCACGAGCAGTGTTAGGCTGTACCATTACGGTTTGAGCTACAAAAAATGCCGGAATTTCTTGCAGAGGTCAACACACTCCTAATCATGCGAAATCAGTTGAGAACTCTGCGCCTCTTTTTCTTGTCCTGCATTTTTGTAGATCAATGTATATAAGCCTCTCTCTCTCTCACCTGAAGTATCACCGCTTGCTCCAACACAATCAGAACATCACAAAACTTGCTGGCAATCGTTTCGCGGGTGTACACTTTCCGTGTGTTCTCACCACACCACATGCCCTCATCGTTTCCGATATGCTTCCCTTGTGGCTGCTGCACAGCCGTTGAGTCGTGCTCACATGGAATATCACCTCAGCCTCGGCGTCTGCAAAGTACGGAGCCCGTGTCTCTACGGGCAGCCACCTGTGTAATCATCGTGTCCTCGACCCACTTTGACCTCCCATCCGAGCTCCGAAGCTATTGCGCGGGGGCGGATGCGGTGGTGTTGGACAGGATCGATGCTCGATCCTCCGGCGATTGTCCTAATAGATCACATCGACTTTGTGGACTTCACGAGAACAAGTCTGATCTAAATGCCAAGTCACGGGGAAATTCTGCCGTGAACCTGAGACACAAGTGGGACAGGAATCCCCGGGAAGCCGACAGCGATCTCCATTCGACTGTCGCGTTCGGAGTGAACGCTGGCAAGTGATCGTGGGGCGCCGACGATGTGGAGGCTGTGGCTGCCGTCTAGACGTCTCAATCATCGATGTAAACTGTGCGGCACCAAGGCGGGCTCGTGACGGGGGATAGGTCCGGTATATCATCCGAACGGATCATCCATCGCGGATCCCCTGGCTTTCCGGACCGGGACGTTTTCCCTTGAGAGCCTCTTTGCGTAGCCAATTGGTCACATTGGTGGCAGGCTTGCGGACATCCGGTTCTAGATCCAGATATGCCGGCCAACTAACGTTCGGGAAGTGATTTCGCAGGGGAATTTGGCGTAGAAATCCTTTTAGACGGGACACCGAGATTAATCGCCGATTGCCTATTAATATACACGGTTTTATGCTCTCCTTGTAGTGGCGGTGCTCCTGCAGAGCTCCATATCTGAACCTCAAAACCTCGCACCGGATTCTGACCACCGAGCGTGACAAGCTCTCCATGGGAGCACCATATCCTATCGGCCAAGATACCACGAATGACGATTGGCATTTGAGGTTTTGGCCATTGATGGGCATACAAGGCTTCACCATCTGCCACTCGATCTCGGTTCTCGTACGCTCATCGCGTAGGTGATGGAGCGAGGCGGCTCACGGAGCAGCGCCTGGAGCAGTGCTCGAGAACTGGGCTAGCGAGGCGATCGGCAGAAGAGCGGAATGGGCCGCATAGCGGACTCGATGGGTTTCGATGGTTAACGCGGTGAGCACCAAGACGAGTTGGGACGTTTTGCACGTTGAGGATGGCTAGCGAGTTACCACGATTACTAGGGCATTCTGCGATACGTCTGCATTGACAAGCTGATCGACAAGGATTGGCTCGGCTCCATGATACGATGAATCTAGCATTGAGAAACTTCAACGAGTGCGAGGACACCTTCGTGTCCTTCGAGCTCTTCGCCGCCTGCAACATCTTCGGCAAATGCTCCAGAGCTCGCGTACGGAGCAACATGAAGTGATACTTCGTGTGCCAGAGAGCCCACAGATCGCCAGAGCCACTAGTTGCACCTTGGATAGGAGTGCATAAGACGGATGAAGCAGAAAAGAATGTTGTCCGAGAGCAGTGGCGGTGGCGGACGGTTCCTTGATTCGTCGAGAATTGCACTTAGAGCCGGAACATAGCGGGGCAGCAGGATTGGGGGTACGGTAACGAGGGTGCGGCACGCGAGCCTTACGAGTGGGCCAGTGGGTGCAGCTATACCGGGAAAGCAATGTAATTTTTTTTTCGGGCTTTTTTTCAAATCGAATTTTCACTTTTTCTAAATTTTTTTGTAAATTTTCTAAAAATAATTGTTCGATTTCAGAGTACCTCATTTCTCCGTGCGTGATCTACGTTGATCACGTGACAAATAATGCGGGACTGATTGTCCATGGTTAAGAACATGCCGACGTCCTATTTTTTGGGCAAAAATTCCCGCATTTTTTGTAAGATCACCACAAACAGTAATGACAGCCTCACGTCGTGCCAGAAAGTCCCATTTCGTGCTTCGATTACGCTGATCTCAAAAAATGAGTGTCTGATTGTGCATGATTAAGAATGTGCTGACGTCACATTTCGTTTGGAAATTCCCCCATTATTTGTAGGTCACACCGTAATGGGACAGCCTGACACCACGTGATCTTCAAATTCCGGCCAGCGTGAAACCCAAAAGCAAGATCTCAATCGTCAATGACATGACGCAATCGATTGCCACGTGGGCACTCGAGTTGGTCTACGGATCCACGAGTGAGATGCCACGACGCCATGAAACGCCAATTCGTCGCCCGACAAAGACTGAAAAAGGGAAAAAGGGTGTGATATGCGCACGAGCTGTAAGAAAGGCTAATTAGTTGTCCACCTAAACAGGATAAAATGCTGAAAAGGCATTTTTCAGGGTCTATTTTCACAATGAGTTTGGGTATATTGGAGAGTTTTCCATAGATAATGACTGCGCAACTAATTTTGACGCGCATAATATCACGTAGCGAAGACTACAGTATTTAAATTACTACTGTAGCGCGCTGTGTGTCGATATACGGAATTAATTAAAATATTAATTGATAAAACAGAAACTATGATCAAAGAGACCCGTAAATGGACACAATCGCTACAAATTCAAAAAGTACTGTAGTTTTCGCCTACGAGATATTTTGCGCGTCAAGTATGCTAAGAAAATATGCAGTTGTGGTAGCCTTGTGAATTTTTAGAAGGTTTTTTGAAAAATAACTCGCCACTATTAAAAAAAATATATATTGAGGCTTTTCAAAGGGTTAAAGTAATTTTATACGTTTTTAAAATCGTTTTTTTTTAAAACTAAATTTTGAGCGTTTTTAGGACAATTTTCGTAACTTTTACGCTTTTTTTATGGCCATATTGTGTAGTTTTTTACACTCTGATATTCCAGAAATCGTCAGAAAAAGCACTTAAAACGGGCTAGAAAAACGGGGTTTTGGCTTGCTGCGAAACTTTTTTTTTTGAACCAAACTTACCGCGCAAAAATATATTGTCATTCAAGTAATGTTGCAAAATGTATAAAAAACAGGTTTTTAATGTTTACGATTTTAATACAGTTGTGACGTATTTTTTCTATTTCAATTTTTGCAAAATAAGAAAAAATATGACTGGAAAAAAGTTGGAAAGTTTTTAAAACACATTTTATACAGGAGCGGTCATTACGCTCTAAGATTTGCTGGCATAAGCGAGAATGGTCTTTGACACTACATATATAATATTAAGTCTCCAAATAAGTCCGGGTCTAAAATCATAAATTTGTTCGCTGTGTATCGATGTTTATGAAATTGTGGGAATTTGTGTTATCAACCCTGATCTTTCATTTGATGGGCAAGAGTCACAAAATTTTTTGGCCGTCGGAAGTGCCCCGCCGGTACTCGCAGCCAATTTTTTCAGACATGTTTCAGATCCCGCTTCTTTTCAGTTTTCAACTGAGGATGGTGTGCGGAAGGTCTATTGCTTAGTTTAGTACACAATGTAAGAAAACAAAAAAGTTTGGAAAAAAATCCGTCCAACAGAAATAAAATATGTTTTTTGTCGCTCGTCAAAAAATCTACAAAATTTTGTCGAAAATTATTTGAATTTTTACACCCAATAAAAATGATGTAACCGTGTGCAAACTAATTTTAATCACACAAAACGACTTATGAAATTTGGATCGAGGAATACTCCATTCTAAAACTCGATAATAGTTCGAAAAAGCTGTGTTTTTTGTTATTTTTTTTAGTGTGATGCACCAAAGTGAAATTTTTTGTATGTGAAAAAATAGTTTGCATGGTTACATCATTTATAAAAAATCGAGAATTTTCGAAATCTGATTTGTTGAAGATTTTTTGACAACCGACAAAAATAATTTTCTTTGGACGGATTTTTTTCCAGACTTGTTTGTTTTCTTACATTGTGTACTAAACTAAGCACACGCACACAAAGCTCGATTGAAAACTGAAAAGAAGCGAGATCTGGAAAATGACTGAAAACTGGCTCCGAGTTAGGGCGCTTCGGACGGCCAAAAAATTGTGACTATTGTCAAATGAAAGATCATGTGGTTGAACATAAATTCCCAAAGTTTCATAAGAATCGATACACAGCGAACAAATGCTGTTATGATTTTTGACCCGGATCCTATTTGGAGACCTAATATATATACATAAAGTATACCTACCGTAACCGCAATCGTAATATCATCACTGTCATGAAAAACGTTATCCTCTGCAATTGTATTCGACGAGGACATATCTCCAGTCTCTGACAATCATTTACTCGGGTCTTCCATCATTGCCGATTCGAGAATTGCCTGTCGTCGACTGTTCTGTGAGAATCCGGTTCTGTCGCTTTTCGGAGAGCTTCTTCACAGAATATGTCGATATGGGCGAGATGGAGGATTAATGCTTGCGTTCCACTGTTCACAATCTGAAGACGTTTTATTTTTTTGATTTTGGCTGGAATAAAGCTATGCTTTTGTTGAAATTTCAGTTTAAAAACATAAGGTTTTTGAACTGAAAATTGGGATCCGGAAAGAATTAGAAAAAAATTTGTTTTTTCTCTAAAACTGCTGTATCCATTTTATTCAATTTTTTAAGATTTTCACAAAACATAAGAATTTTTGTAATTTTTTTTCCAAATTTTTTGAATTTTCAGCAAGAACTGGACAAAAAAGGCACTAGTTTTACTAAAATTGGCAGCATTTAGGAAGCGGTTTCTGAAAAAAACAATTAATTTTCATTATTATTGTCATATGATTACAGGAACACACTATTCTGGACGTAGTATGCGATTACACAACATATTTGACGCGCAGAATATCTCGTAGCTTACAGTAATTCTTTAAAAATGACTACGTAGCGATTGTGTCGATTTGCGGGCACGATTTTTTGATATGAATTTTAATCATATTTTGAGCAAAAAATGGCTCAAAAAACAAGCCCGTAAATCCACACAATCGCTAACATGGTAATTTAAAGAATTACTGTAGTTTTCGCCGAGATATTTAGTGCGTCAAATATGTAATACGCATTCTCAGAATTTTTTGACTTTTCCTATAAAAAAAAATCGTGATCAAAAAAAATTTTTAATTGTATTTTAGGATGAAATTACGATTTTATTCGTTCTCTATAAATTTTGAGCAAATATATTTCAAAAAAAAAAAAAATTCTTTCTATATTTAATTTTTTTTTCGAGTCGAGCTTTTTTTTCTATCTTCTGTACAAAAGCAATTTAAAAAAAAGGAAAAAAGATTAAATCTAGAGTTCTAATTTTCCTCCGGGTTCTGGCCATCCTCATAAACAGAATGGAAGAGTTTTTGCCGAACTAGGCCATTTTGCAAACTCTTCCATTTCAATTTATGAGGAAGGCCAGAGCCTCGTGGAAAATTAGAAATTAGAGTTTCGAAAAATCTTAAAATTTTGCCCGTAAATTTCTTATTAGTGTGTTTTGTACAGGAGATTGAGAAAAAAATCGGCAATTGTATACAATTTAATTTTAAAAACTTATATAGTTAAACATAAATTCAATGATCTAACTGGAAAAAAATGTTTACTTTGAAAAGTTAAAAAAAATGACAAAAATGTAAACTCAAAAATTGAATAAAATGCGGCAATTTCATAAAATAGCTTTTTTCCATAGTTTCTGTCAATTTTCGGCTAAGATTAATTTTTTCTCATCAAAATTTACGATTTTCATACTCTCTTACCGAAGCCCATTGACATCGGTATCCAAACACCCTTCTTCATGACGTCATGATACACCTCATCCCACACCTCATCGTCAATTCCGAGTATGCGTCTGACGCAGGATAGCCTTAATCACGACTGGGATATTCGAGATGAGTGTCGACGTAAAAGCAGCCGACACATTCTCGGAAAACGCGTCCGATTGGCAGACAGATTTTCGAGGCCCATGTGCTTAAAGTGTCGCGCCCTTTCTGAGCCGGAGAATTTTTAGGGAAGCGGTTTAGTGTTTTGAATTCGATGCGAAACCAGCTGCTTGCACGATGTTAGAATCGCAAATGCTATGGAGATAGCCGAGGAGTGACTGGAAAATTTTTTCTTAATTTTTAAATGGCCGATTTTGGGAGGGTTAGTCGAAAAATTTAAAACTAGGATCTATGAAGTTTTTGTCACACGGCAACTTCTGGTTTTTGGAATTTCGCCACTTTTTAACAACCCTGGCAATGCGTGCAAATTTTTGGAAAACCGGCAATTTATGGTGACCTTTCGGAATTTTGCTAATATGAAAACCGGCAATTTGCCGCTTTGCAAATCTTAGGAAAACCGGCAATTTGTGGTTTTTGGAACTTGGCCACTTTTTATCAAGGACCTACAAATTGCTTGCAAATTTTTGGAAAACCGGCAATTTCTGGTTTTTTTTTGGAATTTTTCTAACATTTATAAACCGGCAATTTGCCGATTTGCAAATTTGTGGCAAACCGGCAATTTGTGGTTAAATTCGGCTTTTGGAATTTTTCTAAAATTTTAATGAACCGGCAATTTGGGTTTGCAAATTTTTGGTAAACGGGCAATTTTTGATTTGGAATTTTGCTAAAATTTTTAAAAACCGGACAATTTGCAAAATTTTGGAACAGTAAACCGGCAATTTGTGGTTTTTGGACTTTTGCCACTTTTTATAAACCGACAAAGTCATTTGCCGATTTTCAAATAGGCCAATTGCAGGTTAACCTAAAAAAACATTCCAAAAAAACCAGAAATTGCCGGTTTTCCAAAAATTTGAATATCGGCAAATTGGTAGGTTTATAAAAAATGGCAAAATTCCAAAACCGAACCACAAAATGCCGGTGTTCCAACTCTTTCAACGAGAGTATCCAATTTTTTAAATAGAAAAATTGCCGTATTCCATACCGTTCTCCACACATTTGCCGATTTTCAAATTTTTGGAAAACCGGCAATTTTTGATTTTTGGAAGTCTGTAAAAATTTTTTATAGCGGTTAGTGGTCTATGGATGTCTGTCACCTTTTATCTAAACTTCCACTTGCCGGTTTCAAATTTTTGGAAAACAATCTTTGTAGATTGTTCAAGTCTGCTAACTGGCAAACTGGGAAAATGCCTTAGTTTGGAAGTTTAAGGTAAATTCTCAGACACCGGAATTTTGACATTTTTCAAACTTCCAAAAACCACAAATTGCCGGTTCGCCAAAAAATTGCAAAGCGGCAAATTGCCGGTTCTTAAAAATTTTTGAAAAATTCCAGAAAAACAAGAATTGGCGGTTTGCCAAATTTGCGAAATTCCTACAACTGGAAATTGACGGTTTTCAAAAAAAAACAAAGAAGGGAAATCGGACCAAATTACAGACGCTTACATAAAGTGGCAAAGTTGCAAAATCCAGAAATGATCTTGCCGGTGTGTCAAACTTGCGAACACATTAAAATACCACAAATCAAATTGCCGGTTCCGAAAAGGTGCAAATCGGCAAATTGCCGGTTTTTGAAATGCAAAACTCCCAAAATTTACAGAAAAAATTCCAATAATCAAAAATCCGAATTATTGTTCCACAATCTTCGGAAAAATTATTACAAACACAATCAATTTTCCAACTTTTCATCAAGCGTATTAGCGAAATACAATCGCAAAAATTTCTCGTAATTTATTTTTGATCTACCACTTGTCGTTGACTAGCCTCCGCCCCTCATCTTGTTGCTGTTGTTATAGTTGGTGGCTGTCTAGTTGAAGGAAGGGGCGGAGCCTATTCAACGAGGTAGATCAAAAATAAATTATGAGAAATTTGTGCGATTGTATTTTTTTTGTTCGATAAAATACCCCAATTTTTTAATGGAATAACAATTCCCTACCGTACTACATTGAGCCAAATACGGACTGTGAAGCCCAACAAGATATTCGAGAGCAACAGAATAGCGAGCACGTTCAATCGATATTTCTCCAGACGCTACGAATGGTGGAATTTCGTACTGGAAAAGCCATGCGGAGAGCACATTTACCACTATATGAGTGACATTTGAGCAAATGCCAAGGGGAGTCCTATTTCATTGCTTCACGCATTAGTGTGAATGCTACATTTGTGCCTGGAAAAGGACAAATAAAACTATTTTATTAAATGTAAGTAATTAATTTATTTTTTGAAATCTCTTTAAATGCGGTGTAGTCGAATATTGTTTCAATTGCTTACCCTCAAAATTGTCTGAAAACACCGAATTTCATAATGAACTTCTTGAAAACTTCTCAGAAAAATCTTAGTTATGACGCCTCAAAAAATGAAAATTGGTTAAAATGTGAAATTTGACCTACTTGCCAAGCGGCTGCAAACTATCCAGCTTTTTTTTGAAATCAATGTCAAGTTTTGAGTATTCAATTTAATTATCCGTTTTCAACTCGATTCAGGGGTATTTTAAAGTCGCTATAAACGAAGAGTTTTTTAAAAATTATTTACCAAATCCTTCTACCATCGATTTAAAAATACCTAAATTTAGTTCAAAACGCAAAATAATTAAATTGAATACCCAAAACTTGACCGTGATTTCAAAAGAAACTTAGTTTCCAGCCACTTGACAAGTTGGCAAATTTCAAATTTTAACTTTAGGCAATTTTTTAGAGCGGTCATAACTTTTTTTTTTGGAGAATTTTTCAGGAAGTTTCATTATGAAATTCGGGTGTTTCGATCAGATAATTTTTAGTATAATAAAGCAATAAAAAAAATTCTACACCAACTTCAATCGAAAATGTAAACAATTTTGTTTTGAAGGCGGTTTTCTTTTACTTTTCTAAAAAGAAATATTCAATTTTACGATTTTTTGCGTAAAAAAACACGGTCAAATTTTTGTTAAATTCGAAAAGATTGGCGTGTCCATTACGGTTTGACCTACAAAGAATGCGTGATTTTTTAGCCAAGTGTGACGTCAGACACATTCTGCGTCTCTTCTCCCTCATTCTTTGTAGTACGTAGATCAAGCCGAAACGGGAGAGCCTGACACCACGCGCGTGTGCGCCTGTAAAGTGAGTACTGTAATTTCAAAAAATCCACAACATCCAGAGTTTGAAACTACAGTACTACTATTTAAAGGCCACACACTTTTTCGAAACAACGATAAATTGTGGTGTTGAGACCGTATTTAGGGCTCAAAAAAAAAATAATTATCGTTAGAATATGGTTCGGGAAAGTTCCTATGCAGTTTCACTGAAAATTTGAATTTCCCGCCAAATAACGAATCTTCATCCGAAAAATTTGAATGCCAAACAATTTTTTTAAATCATAAATTTGAATTTCCCGCCATAATCGTATTTCTCAGAAAATTTGGATTTTCCATGCCAAAAATAAAAAAAAAAATTTTGGCGCGGCGAAAATTCAAATTTTCTGAAAAAATAATATTTCGGCGGGAAATGCAAATTTTCAGAGAAATTTTTTGGCGCAATTTTTCCTCGAAGGAATTTTCTTGATGTGTAAATTTCCAAAAATTTCAACGAACCCAAATCGCATTTTTCTTATTTTTTCCCCAAAATTTTCAAAGTTTCTCGTACAACGGAATTTTATGCGACGAAAAAAGCGCATTTCGATACAAAATCATCGATGCATGTGTAGTTTGTAGTGTTGGTTGTCCAGCCGTTGGGTGAGTTGCCGTTGCATATTATTTCCATAGAATTAGGCAATATCTTGCAATTACCACCGGCTGTATTCACCAATGGTTCCCTACCATTCTCATCGGCTGCTTCCCAGCCACCGAACGACTCCGTTCGTATCCAGATTGAAGCATTCGCCCATGTGTAGCCACTTTATTACTCTGAAAATTGAAGAGTTTTATAGGCTCCTCTTACATCGGACATTGAGGTGATTTTTCGAATTCTTTAAAACAAAGATTTCCTGAAATTGAGCTTTTGGAAAATTTTAAAATTAGATCAAAATTTCAAAATCAAAAAAAAAAAAACAAGCGTTTGTACAAAATTTAAAGTGGAGAATTTTTTTTAGATTTCAAATTTTTTAAACATTTCTGAGTGCAGAGTCGCAAATCTCAGGCCAATCGGCTTCGCCGAAATTGAAAATTTCTCATATATCGGAAATTGCCGAAAATGAAAAACTCCGGCAAGTCGGCATATTGCCGGAATTGAAAATTCCTTACAAATCGGCAATTTGCCGGAATTGAGAAAATATCCGGCAAATCGGCAATTTGCCGGAGTTGAAAACTTCCGCCAAATCGGGAATTTTTGCCGAAATTGAAAATTTCGTATAACTCGCCGATTTGCCGGAGTTGAAAAATTCTGGCTAATTTGAAAATCGCCAATTTGGTTGGCCAAAGTTGAAAAACCGGGCAAGCCAATTTGCAGATTTTTCGAAATTTGACCGGCAATTCCTGTCGCGGACACCTTTTTTCCGAGAAGAATTAACTTTCCATTTCTCATTGAAAAAGTCAGTAATTTGCCGGACTTGACAAATTTCCGGCAACTGGACATTATGCTGAAAATGAAACATTCTGGTAAATCGGCAAACTGCCGAAAATGAAAAATTAAATCGGCAATTTGCCGAAGTTGATAATTTCCGCCAGATACAGGGAATTTGCCGAAACTGAAAATTATAAATCGCCGATTTGCCGGAGTTGAAAGATTATGGCAAATTTGCAAATCGGCAATTTGCCAAAGTTGACAAATTCCGCAAATCGCCAACTTTCTGCCTGTTGTGTATATTATTTTCACGAGTAAAAATCGTAATTAATTTAAATTAAATTTGCTTTTCGACCGAAATTTGCCTACCGGCAATTCCTGTCCTTTTTGCCGAGAAGAATTTAAATTTCCAAAAAAATCTTTAATTTGCCGGAGTTGTTTCTGGCAAATTTGCAAATCGGTGTCATACTTTGCCGGAGTTGAAAAATTCTGGAAACCGGCAACCCGGCAAACCGCCAAGTTGCATTTTTCGAGCGAAATTTTTTTTTCCGGTCGCCCCCTTTTTCCCTGAGAACAGTTAAATTTCCAAAATTCTCTAAAAACCACAAACCTTTTCTCAAAAATTCGCACACTTCACTCCTGTCGCTTCCCCTCATCATTCCACTCAATCCGCACATTTTCTCGAGTACAGCACTCCAAAAACTTGTCCAAATAAACTTGGAGCTTTTGAGCCCGTTCTTTCGAAGTCTGACGCCCACGCTGTTAATCGGCCCATTCCTCAGTCGACCAATCACCGGCTCCCGACGATTGACAGTACTCGTTGAGCACATTCCGCATTTTCACCAGTCTGTGTAACGGGAAGACATATGGTAGAAGCCAAAGTAAGACACGATCCAGGTCTGGTGTGGCTCTTCCGTACACTCCGAGACAGTGATAGAACACTAGGAAAAAGCGAATCGCAATTCTTCGCACTGCCATAATTTTTCGGGTACGACTGCTTTTTTGAGAAGCGATTCGATTGCCGTTGCCAGCCTGTGAGAAAAAAATTTAACTTAATTGTTATTTAAAGGTGGGGTCGCGCTAGTGGGGAAATTGCTTTAAACCTAGGGTACCACAATGACCGAATTTCATGATATAACAATTCAAAAAAATTTTCTAAATTTTATATGATTGAAAATTGAAAAAATCCAGTTTTTGTCTAATTTTGAATTACCGCCAATTGAACTTTTGTTCTATGGAGCGCGCTTGCACGTTTATCTATTAAATTTATCTACTTTATTTTTTTGGTAATTCGTTTCTGTTATTTTTCCACCAATTGTTAATGTTCGCGGTGTATTTTTGCTCGAATTTTAGAGAAGAAGTCAAAATAAATGCTTTTCGATTAAAAAAAGCACGATAAAATCAGTGAAATTAATTAATTAACAGGTTTGAAAACGTTTAAGATACATTTGTCATTTTTACGCCTGTAACCGTGCATTTTAATTGAAAATTTGTTTATCTGGACTTTATCTCTAAAATTCGAGAAAATACACCGGAAACATTAAAACTCGGTGGAAAAACCTACAAAAACTACAACATAAAATAACTTAAAAAGCGTGCAAGCGCGCTTCATCGAACAAATTCATTTGGCGGTAATTCTAGAAATTAGGGGGGAAAACTGAGATTTTTTCAAGTTTCAAAAAATCATATAAAATCTGGAAAATTTTTTTGGATTTTCTATCATTATATTGGGTCATTACCATAGGCGTGTTTCAAAGCAATTTCCCCACTGGCGCTACTCCACATTAAATCTCTGACGGTTTTTTTTCGGTTTTCCTTGAAAATCCTCTAAAAATCGATTATTTGTATTGCGTTGTTTTTCCGGGATTTTTCTCGGATTTCCCACGGGGTATCCGGCCTTCCTCACTGAATGTTTCGCTCCATTGACAATGTCTCGCGTGTACTCCACACGGAAAACAAATCACATTTAGTTTTACATAAAATTGACCAGAGACGCGGCAGCCAACGCGCCGTAAATTTACCCCAGATGCCTGGCCTAGTTCGGCGAAAACCCTTCCAGTTCAGTGTATGAGTGAAGCCAGAAATCCATGTTTTCCTCGAAAAAAACCTCTAAAAATCGAGTTTGTAATAAAAATTGCGTTGTTTCTTCGGTTTTTTTTACAATTTGAGGGTTTTTTGTCTTTTTGTTTTAACACGGATTTTTGGCTTCCCTCATATCTTGAAATGGAAGAGGCCTTTCTGCCGAACTAGGCCTGGCCATAACTGGGGGAGATTTACGGCGCGTTGCGTAACAGTGCCACGCGTCTCGATTTTAGTTGTAAAAGTAAATGGACTCATTGTCCGGGTGGAGTACGGCGATTGTCATTATGGAGCGCGAAAAGCAACGAGGAAGGCCAGAAGCCCGTGCGGAAAGACGGGGATCTCAAACGGGGACAATCTACAAAAAAATTAGTTTAAAAAAGACTTCCTCAAAAAAATTCGAAAATTGTGGTTTTCTCTTTTTTTCATAATTTTTTGTATTTTGATAAATTTTTTGCGACATCAAAAAATGGAAGAACTTTGTTCGCTTTTTGAATTTTTGGTGAAAGAAGAAAATTTCGAAAATTCGTTAGGGAATCGATAAATTTTTATCAAAAATCGATATTTTAAAATTATTTTTTGCAGTTTATAAAAAATCAAGATTTTTTCGCATTTCGCGCGTAATTTTCATTTTTGTCGTTTTTTTCTTAATTTTCCGAAATTTCTGAAATTTTTTCTTTTCTTGTTCTGAAGCTTATGCCTAAGGACCTAAGCCTAAGCCTGAGCCTAAACTCCTAAAACGCACCACTTCCAACCAGCTCCGGAGCACAGAGCACCTGCTCCAGTGTACAGAGCCTGGATTCAGCCTCAATTGCACTCGATTTGGCTGACGTCGCTGACGAGCAGAAGCTCAACGAGATGAAACGTCTCGAAACTATGCTCATCTTGGAGCAGTGGACCAGCTTTTCCTGTAGAAATGTTGTGGTCGAATTAATGCGAAATATGGGAAAATTCGGGTTCAAATCGATGAAAAATCGTGCAAAAACGAACATTCGTCGTTAATGTGTCGAGCTCTTTGTTTCAAGGCACACGGCTCACACAATCCCTGTTCAAGTCGGTGAATCTTGAAATGCTCACCTGCACATCTGACGATTTGCCCTTTCGGGCAAACATTTTCCTGTGATTTTAGGCGATTTTCTGCAAATTTTCGCTGTTCAAACGTTTAAAATCGACGGGAAAATGCGTATTTTTTACGAAATATGCGAGAAATAGTGATTTTATTCGAAAAAATCAATATAAATAAGGAAAAGAACTACAGGAGTAATTTAAAGGCGCATACCTCGAAAGTTAAAATCGTGCCAGGACCCGCCGCAATTTGGAATCGGTTTTTAAATGAAAACTTTTTGCTTTACTAAAAATTAAAATTCACTGAAAATTTCGGTTAAACTCTGACTATTAACACGAATCTTATCACAAACTATGACTTTCTAGTGACAATGGCCAATTTTGTGTGTAAAAAATTTTTTCAGTGTAAAATGTTTTTTTTTGAAACTAAAATTTCGAGCTTGAAACTAGAAAATGTCAAGTAAAAAAGTCGTGCATTTTTAAGCGAAAAATAACGTTTATTTCCAAGTTTTCGCCTATAATTCACACAAAAAATACTGACTCAGCAAACAATGTAGGGAGCATCCCGAAAATGGTGATGGTAGAGCAAAAACGAAAAGTCGATGAATTATTTTAGAGAGAGAGGTAATTTTATACAATTTTTCAGGAATGGAGGTTAAAAAAAAGAGTAGAAACCATTAAGGCAAAACGATCCAGCTTGAAACCGATTTAGAAACTGCAACTCCCAGAAAACGAAGCAAATAAGAAAATCCCACAAAAAATCCGAATTTCATTGCAGTTTTCGACCGCCGTAATTCAGCCAACCAGGGTGAGTGTTCAATTATTAAAGAAGAAGCACATATATACATATAACATTATTCAAAGGACATAATCCATATAAAGTCTGTCAAAACGGTAAAGGTTCTTGTATCCAAAAACACATTTGGCCCCCTCTTTCGAAAAGAGAGAGCATGGGAATCGGAGAGGACGGTGCGAAAGACCCAGACATCGAGATGACACTTTTTGACAGTCCAACAGCCTGTGTGTGTCTGTGGTGTGTGTGAGTCTCTGTGATTGAGTGAAAGCGCTTTTGGGAATATATAGTACCTGGTAGAAATTTAATTTAAAATGATAAAAAATTTCTTGGGATTTTTTTTTTTGAGTACTGTAGTACACCACAAAAGGACGTAATGTTCAACTGCGCCCATGGAGTCCCAATGACGTAATATCATGATAAAAAAATTTTGAAATTGGAAAAAACTCAGGTCTTCCCCCCCCCCCTAATGTCTTCCAATTAGAACTTGCGCCAATTGAATTCGTTCGGCGGAGCGCGCTTGCATTATTTTTATTATATTTAAATTTCGCTCTGTGTTGTAATTTCACTGATTTGTGTTCATTTTTTGGGGGTTTTTAATTGGCAAAAGAGAGAAAAATGCAAGATCAATGCAAATTGTTCACTAAAAAATCACTGAAAATAGGTAATACTGTGAAATATGCTAATTTCAGGCTTGGTGTAGTCGGAACTCATAATTTCGTAGTTTTACCCATAGTCTATCATTTTTTAATGAACATCTGCATTTATCTTTTTTTTTTAAATTGAATTGCTATTAAAAATCCCCAAAAAATGAAGAAAATCAGATAATTAGAAACAATAAAATAAATTTATAAAAATAATGCAAGTGCGCTCCACCGAACGAAGCCAATTGGCGGGAGTTCAAATAGCGAGAATTAGAGGGAAAACTGAGATTACTTTTTCAATTTTGAAAAACATCATAAAAAATACGCATTTTAGCTTAAAAACTCGAAAAATCATACAAAAATTAATCTGCACCAAGTTGTCCACGAGTAGTACCTTGCGTCGCCTGGTTGCAGAAATGGCATAGATTTCGATTAGATTAAAAGCTTAAAAATCATTTTTTTTTACCCAATTTCCATTTAAATATCCTAATTCCAGCTTAATCTCAATTTTCTTGAAAGAAGTGCAAATATAGATTAACGTAAAAATTCTACGCTGCGAGACCCATGCCCCCATAAATCGCCTGCGCCTTTATTGATGATTTATATTTATTTTCTCTCTCAACCAGCGATGAACATCACGTTTTTGAACGAATTTTCGAAAAAATAAGACAAATTTCTATTTTATAAACCACTTTATACCGTGGGTCGTCGCTAAATAGCAAATTTTGACGCAAAACAAAAACGAACAGACAACGGAAAATCGATTGAAAACAAGTGAGAACACAGCAAAACTAGTCCTAATTAATTAAAGGCGCATCACGTGGAAAAGAAAACTGTTGTGGAAGAATAAAAAATGGAACATGAGGGGAAAGATTACACTAAAATAGTAAAAGATGCAGCAAGATTAAGATTATTTCTCGTGGAAAAATCGAGTCCCCTTCCGCCCAGGAATTCATCATAATTTTCGACTTTTTTTCGGAGATTGCTGCACTTTGTCGGCTGCTCCGGTGGTTTTTGGCAGGTTTTGAGAGCGCTGAAAGATTTGAATTTTTTGGAATTTCGAGAAATTTCTTGTTTTCTACCCGAAGCGCTTTGAATATGGCCAGCTGCATTTCCAGCTTGCATTGTCCGTTCAGTGACTTTGACCCTTCCAGTTTTCTGAAAAAAAAACACGAGTTTTTGAATTTACTTTCTGATTTAACGATTTCTGGTTTCCCTCAAAGAATTGAAATGGAAGAGTTTTTGCCGAACTAGAGGCCATATCTGTAGATTTACGGCGACCGTTGCGTGTCGCGTCGCGGCTCGCTTTTAGTTGTAAAGCTAAATGTGATTTGTCCGTGTGGAGTACACTACTTTACCCTCCCACGCGTTGTCCGGCAGGCGATAGCGCGAAAAATTCAAAGAGGAAGGCCAGAACTCCGTGATTTTTCTTTTTCGCGTAGATTTCGCAGTTTCGGACTGTTTATCAGGTCTAATCAGCGGAATTTTCGGTGATCCCGCCAATCTCGGTTATTTTCTGAGCCTTTTTCGCTCAGGTTCTGGGATTTCAGCTGTTAGAGCAATCTTTGTATATTTAGACAAGTTTCTTGAAGTCCAACGCAATTTTTTCAGTAGTATTCACAGTTTCCGGCAATTTTTCAGAGCAACTCTTCGAAATTTCGACAAGTTTTCTGACAGACTTTGTAGATTTCGTCTGACGGTTTTTCTGCAAATCCCGGTATTTTCGGCTCGCGGAGGACTCCCAGCTGCTCTTATTGTTCAGCATTGTCTGCTCAGTAGCGGGCGCGTCTTGATTTTCAGTAGAATTCGCAGTTTTCGGCAATTTTTCTTAGAATCTTCAAAATTTTGATAAGTTTTCTGTTCCGGCGTAGATTTCGCAATTTCTGGCGGTTTTTCCGCAAATCTCAGTGATTTTGGGCTCGGGGAGCCCCTTCCAGCTTCTCTATTGTTCAGAATTGGCTGCTCAGCAGCGGGGGCGTCTTGATTTTCAGTAGAATTCGCATTTTCCGGCCACTAATTGTTCTGAGGTAATCTTTGGAATCTCGGTTTTCTGACTTTTGGCGTATACGCAGTTTCTGGTGATTTTTAACCCGGCACGATGAGCTCCCAGCTTCTTCATTATTCAGCCTTTTCAGCTGGGCTTCTTGAGAGCTTGTAATCACGTCCGTCGTAATTGGCCTCTGAATCATCATCCGAAACCAAATTGGCGTCGATTATTTCCTGAAAAAATCGATAAATTTTTTTGCTTTTTTTTGCTTTCTCATAGTCTGCTTTTCCCACTTTCCCGCAATTTCTCAAAACACGGCGTTGGAACGTATCCTGGTCGCCGATCGAACTGGATAACTGGCCGGCTGGCGATAAAGAGATCGGCGAAATCTGCTACTTTCTCGTCAGATGAAACCTCGGTTTTTCTGCTAAAACCTACTCAAAATTTCCACTGGCTAAAATCACCTGATAACATTACATTATCATCATTTCCGGGCATTTGTACTTGACGAAAAAAAAGCGGAAAATATTTAGGATTTCGAAAATGAAGCGAAGGTTACGGTACACTAAGGCACATGGCGTAAAATATTCCGCAGGACTCGCCGCGATTTAGGATTTTCACTATTTTTTTTGGGCAAAAGTTGACATTTTACAGAATAGAATACTAAATTGTGTTGATAAATTGTTTATTTGGTTTTCAAATTTAAATCTAAACTGTAAATTTTAAATGTTCCCCCAAATATTCGCAAATTCCCTTCAAACCAAGTTTTCTAGCACAACCGTAATCCCCGAGCAATCGCGCTCCACCAACCTACACACCGCGAATTTTGAATTACATCCCTCATAATTAATTGTTTTTGCCATTTTTTTGCTATTTCCAGTGGATTTTAATGAGTAAAAGCCTACAAACCGACGAAAATGGCGGTGTCAGTGTAAGTCCATCAAATACATATTTTGCTACACGCTGGAATGCTCTCTACGCATCATACACCTCATCAAGCAAGAAAAAGACTCCAATCTCCTCGAAAAGCGCTATAATGACTGTCTATACGGCAGAAATGAGCGCAGAGGTTTTAGCGAATGAATGCCTGTTTTAAGAGCAAGTATAAGAATTCAGAAAAATTCACCTGCAAATCGTGCTAAATACCACCGCTACCGGACAGCCCGCAGTAGTGTGCCATGACGTCACAGCAGTTGTACACTTGCAAAGCGTTGCAAAATGGTAAGTGTACTGTCGAAATTCGCTGTAAGACCTAAAAGACCACAAAAATGGAAAATATCTGAAAACCTCACGATGCTCGTTAATGTTCCAAATGTTCAATGCGCGCCGCGAAAGCTCAACGTCTTCATGAAATCTCTCCAAGCAAAGTTGGATATTATGAAAATGGAGAAAAGCCCAATTTCAGCAGTGTAAGATAAATTATCGAAAAATCAATAAAAATCCCAACTTTCAGACCCCGGCAATTCTAACACGTCCGCCGGCAGCAGGGTGCTGAGCCCGCTGACGCAGCGAAATGCGAAAAGTGAAGATTAGCTACGCGAACCGTCGGCGCTGGCGAGACCTTGAATTCGAAAGACCCACACCGAAGCGGCGGTAATTTGAAATTTTCACATTAAAAAAAAATCGCGAATTTCAGCACTTCCTCAATGAATTTGCTAGCAAGCACGCTTGCGGCTGAAAATCGTTATGAACTCGATCGATTGGGCTGAAAAGGACGACCGCTGCAGTTTTGCTAGAGATGATCGTGAAAAAGCCTCTGCAGCTTCAAAAATCCGTGAAAAATCGATAAAATTTCGTTTTTGTTCCGTGACATTCCAGGTGTTTTAGTCCAAAAGCAGCCTACGGATTTGCTTCCCTCATAAATTGTAATGGAAGAGTTGCCGAACTCCAAGCCACATCTGGGGTAGATTTACCGCGCGTTGCGCCTCTTTAGTTGTAAAACCAAATGTATTTCTCCGTGTGAGGTACACCACTTTCCCATTGCCCGGCGGGTGATTTTCAATGGAGCGCGAAAAATGCAATTAGGAAGCTCAGAAACCCGTGACAAAAGTGTCACGCGGGTTTCAAAGTAGAGGTGCAAGTTCGCGCTGCACCGCTCCACGGTGCTTGGCGGCAAAACCAGAATTCGCTGATTTCAAGCATTTTCCGTCGTTTTTCATGATTTATCATGTCGAAATAGTGTTTGAAATATGTCTTTAATGCTGGGAAAAGTGAATATTAAAAATTTTGACACGTTGAAAAACTGAAAAAATTATCGGAAAAGTGTATTTTGTGAGTTTTTACTTAATTTTCTCGGGGTTTTTAAAAAAATTATTTCTACATAAAAATTGATGAAAACAGCATATGAAGTGCAAAAAATAAAGAAGACTTACATAAATTTTGACAAAAATAGATCACGAAAAACAATAAAAAAAGTCGAAAAATGATTGGAAACGGAGAATTTTTCCATTTTTATGTAGAAATTTTGAATTTTTTAACAAAATTTTCTCAATTTTGAAACACAAAACATGATTTTAAAAATTATTGAAGATATACTCTTGAATTTTTAGTTGCGCCAATAACGGGACTCACGGAGTGACCATGGAGCGCTTGCATCTCGATTTTAAAATTGGTATGAATTTTTCGCGCTCCATAGACACACCTGCCTATAGGACAACGGGTAAGTGTCGTGTACTCCACCCGGACAAATATTTAACTAGAATCGAGCCGCGACGCGACACGCAACGCGCCGTAAGTCTACTGAGCCAAAATGGCCTAGTTCGGGAAAAACTCTTCCATATTCATGAGGGAAGCCAGAAACCCGTGTTTCTAGAAAATCAAGAATTTCTTTGGGAAAAAATGCCAACAATCCCAGACCTAATTCTCAGGGCTAATTTTTCCCCGAAACAGACAACAGACCCTTGTCTCCCTGTTACAAAATCATTCAAAGATGCTCCTGCGATTTCCGAACGTCAGCTGTTGAGCAAAAGGTGGTCCGATGTGTGATAAATGTAATTTTTCGAAAAAAAAATTTATCGAAATTTGCAGTCACGAACGCGAGTGTCTTCTTCAACACGGGATCCGCTGGAACCGGAAAATCTGTAATTCTCCGGAGTATCATTAAAATGTCCCGCCACATATCACCGCAGCGACAAGGTAGGGGATCACTTTGAAATATTTGCAAAAAATTTCTCGTATCAAGACCTCAAAAAATTTTCATGTACCTTTCAAAAATAGAACGACCTTTTTTAATTAAAAAATCATTCAAAAAGGAAAATTTGGGAAAAAAAATCATTAATTCTTTAATTAATAATTGTTTATTTGTCACAAGAAATAGCTACACCGGAAGATAAAGAAAAAAAGTAAATAAAAAAGATGTGTGGACAAATAAGTAAATGTCCAATTGGACCAGCTTTAGCCCGGGAGGTTAAGTTGGGGGGAAGAGGGTGTCAAATGGGATGGAGTCTAGGCGCGACGCAAATGCATTTGGAGTTAACAGTATAGGGAATGAAACGTTTTGCTATTCGATTCCACAACGACAAGTTAACATGTAGAAAACATTTAGACGGAACACCACAGACAACAAGTAGATAGGGGTGAGGAGTAGAGCGTGAAGCTCGAACGAACGATATAAGGTCGGGAAGTAATACTCACTTGAAATAATATTTTTATGGAAGGTTCGGAAGATTTGAAGAACCCGTCTATGGTGGGTGGACAATAAATTAAATTGGGAAAGCCTACTACCGTATGACGAGTAAGATAAATTGCACCTTTGAAAGACACACATTGAGAAAAACCGGAGGGGAGATTCTAGTTATTTCGTGCGGCAAGTTCGGTAGAGTTGGGAAGCGGGAAGAGCTCGCAGCGATATTCGAGTACAGGGCGGTGCTTATGTAAACATTGAACAGTTAAAATAGAATTCGGGACTTTCCTCAGAGCGGAATGAACGATGGAGTTGGCACTTAACCACGGAGTATTAGAAACCAGTCTGATTAATATGATTAACAAAAAATTTGGTATCGACAATGACTATGCTTCCAAGATCTCTGATAGATAAATCACGCGGTTTAATTTCCACCCGATTTAAACAGTATTTATGACGCCCGGGGGTTCTTTTTTCCGAAATGTAATACGGCGGTTTTGTGCTCAGCAAGATGACGCCATTTTTTACACAAATCAGCGACTTGATGCTTGTTTGGATAGAGGTATCAGGGGGTCCGCTCCGAGTAATTTTAGATCGTCGGCAAAGGCTGTAACATGGACATCAGGAGGGAACAAATCGCTCTAATAACCCATTAATATACAAAAGAAAGCGGAATGGTAAAAGAAAAAACCGTAAAAAATCAGCAAATTTCGAAAAAAAATCGTAAAAAATTGAGACCTTTGGAAATAAAAATCTAGCAAAATTTGAAAAAAAAATAGTTTAAGATTCAGAAATTTATTTTAAAAAATCATTAAGAATTCAGCAAAAAAATAAAACAAATAAATCTGTAAAATTAAAAAAATAACCAGTAGAATTTCAAAAAAAATTGTTTATTCAGCAAATCGTCTTCTAAAAAAAAATCATAATAAAATGATAAAAATTAAAAACGTAAAAAAATTTAAAATCTGCAAAATTTGAAAAAAATCGTTTAAAATTCAGCAAATTTCGAAAAAAAAAGCATTAAAAAAGCGAGAAATGGGAAAAGCACAATTTTTTAAAATTTATTGAAAAAAATTAAAAATTCATGGAAAAACCTGCAAAATTATTTTTTAAAAACCGGTAAAAATTCAGCAATGGAAAAAAATCTTTTAAGAAAATCAGCAAATTTCGAAAAAATAAAACATTAAAAATACAAAATTAAAACTTTTAGAACATCATTAAAATAATAGCCAAACCGTAAAAAATCAACAAATTTCGGAAAAACTTTACGTGTTCGTTAAAACTCCAGCAAACGTCTAAAAAAAAGCATTTAAAAAGGAGATACAAGAAACATCAAAAATCGAGACAATTGGAAAAAAAATTCGTTAAAAATTAACCCAAATATTTGCTGAATTTTTTAGATTTCTTTTTTTTAAACTAAATTTGCTGAATTTTTTAAAAAGACAATTCAGCAAAACTTAATACAACTAAAAAATTCAGCAAATTTCTTTTTTAAAAATCGTTAATAATTGCATCGGGAAAACTTGGAAAAATTGTGCAAAATTCAGAACAAAAATTTCAAAATTTTCCCAATTTTTATTAATTATTTAGTTTTCAGAATTGATTAATAGTGAAAAATTCATAAAAAATTCAACAAAATTTAGAATTCAAAATTTCATTTTCATGGGTCCCGCCACGATCCACTCCAACCTACAAAAAATCATGTAATTTCCAGGCGTTGCGGCATCCCAAATCGGCGGAATCACACTTCACGCGTTTTGCGGTTTTCGCTACGAACATTCGACGCCGTAAGCAGTGCCGAAAACATGTTGTTACGCCAAAATCACATGGTCCGACAGTGGAAACAATGCTCACACTTGATATGACGGATTTCATACCATGATTGATCGCTTTGCAGGTTTGAAGCTCTCGAATATGTGAGCTCATTGCGTTTTGATCTACAAAAAATGCGAGAGTTTTCGCAGCATTGCTCATTTGATCTACAGAAAATGGGGGAATTTCGTACTACCAGTATTGCTCCTTTGATCTACAAAAAATGCGGGAATTTTCCCAGCATTCCTCCTTTGATCTACAAAAAATGCGGGAATTCTCCATTGCACATTTGATCTACAAAACATGCGGGAATATTTCAAGTGTGACGTCAGCGCACTCATGCGAAATCTGCATGAAAAGTCTGCGTCTCTTCTCCATTTTTCGGAGCTCAAACCAAAATGGGCGGTACCCGAAAATTCCAAAAAAAAAACGATAATTTCCCGTCCCATGTCGCCCGTACGTCCGTAATAACGATAAGCCGTTCGGTAGAATTCAGCTCATTAGGTTCACTGGAGATTTCTTTCAATTACCGCCGTCTCGAAAGATGAACCAGTCTTTTGTTTTGAGGTGTGCGGAATTTCGGAGCATTTGGACCGTCTAACTATTAAAAAAATTATTTTGCAGAGCGCAGCCTGGAGCCGATGTATCCAAAAAACGATTGTCCTGAAAAATGTGAAACGACATAATGACAATGTTTTTGTAAATAATAACGTTAGAGTTGGAAAGTACGTAAACTACTGGATAAATTTAAAAATTTCGAATTTTTCAGGGTTTTTTAGTACTGGAAATATTGATTTTTCAGTGAAATTCCAATAAAAGCTGGAAATTTTCCACAGAAAAAGGGAAATGAAAATATGAAAATTTGTAATTAATTTCGAAAAATGCAGAAAATCCCAAAGCCTTCCAGAAAAGCTGGAAATTTCATAAAAATTTCGGAAAATCTGAAATTTTCAGAAAATACAAAAAAAGCAAAAAATCTCGAAAACCTTCCAGATAAGCTGGAAAATTTTAGAAATTTCCAAAAAAATAAATTACTACTGAAAGTTTCATAAAATTCACTGATTTCTGTCTTCCTTCTTGTAATGGATGAGTTTTGCCGAATCAACTAGGCCATTTGGTTCGGCCAGATGTAGATTTACCGGTTTGCGCGTTGCGTGTCGCGTCGCGAGCTCGATTACTTAGTTGTAGATAAAATGTATTAGTCAGTGTGGAGTACACGACACTTTCCCATGTGTTGTCCGGCAGGTGATTGTCAATGGAGCGCAAAAAATTCAACGAGTCCAGAACCCCGTGATAGAGCGGCCAACACGGGGTTCTGGCTTTCCTCATTTCATATTTCGCGCTCCATTGACAATCACCTGCCGGATAACACGGTGGAGTGTCGTGTACTCCACACGGACAAATACCTTTATTTAGAACTACTAATTGAGCCGCGACGCGACACGCTACGCGCCGGAAACCTACCAGAAATGGAGATGCTAGTTCGGCAAAAACTCTTACCATTTCAACTCTTTATGAGGGAAGCCAGAAATCCGTGTGATTCCAAAAAGAAGCTCCAAAAAAAAATTCCAAAAAAATCTCCATAGCCTTCCAGAACCGCTGGAAATTTCAGTCCCCTAAAATTGATAAAAATTCGAATAAATTCTCAAAATTGTTAGAAAATCAGTGAAAATTTGGAAAATTCGGAAATTAAACAATTTTTTTTGGAATTTAAAATTTAGAATTCTTCGTACGAAAGATGCTCCAGAAAACTTGTAAAAATTTAATTTTTTTTTTGAAATTTCCAAAAAATTTATTTATTTTCAGATGCGGCTTCAAATCAGCTGATATTCTAAAGTAATCCTCGAAAAATCAATTCCTGAGCCATCCAGCGTAATTCCAAACAAACTGTGCACCAGATGACGCCGATCGAATTAACAGCTCAAGCATCGAGACAACACAAGCGCGAAAACCTTGCAGAGCGCCTACGATGACGAGAGTGACGCACGCCAAGGTCCGTACGTTGCAGCACAGAAGAACCTTGTAGGCTGAAAGTTGGAGCTCAGGTGATGCTCATCAAGAATATCGATGTGAGGGACTTTGTAATGGGTCACGTGGATCTATGGTGAAATTTTCTGTGAAAACGGGAATCTCTATGATCCGATTTGTATCGCAAGCCGATGCTTCCATTGAGGCACGTTTCACAGAAATGACCATTTTATGGGCGTGGCTTTCTTTTTCGAAAATTTATTTTTTCCAAAATTTCTACATGGATTTTTCTCTACAATGGAAAAAACCCCCGAAATATTGTAAAAAATTTGAAATTTATCGGAAAAAAATAAAATTTTCTCTCTTACAATTAGGCTTAGGCTTAAGCTTCTAGGCCTGGGCTTAGTCTTAGGTTTATGCTTAAATTTGAAAAAAAAAATTCTTGCAATTTTTTCCAGATTTTTCCGTTTTTTTTTTCACAGAAAATCTAAGATTTTCGATTTCTACTTTCAAAAAAAATGAGTTAAAAAAAATTACGCAAATTTTGTAGAAATTTTTCTTTTTTTTTTCTTAAAAATTAGGCTTAGGAAGCTTAGGCTTATGCTTAGGCTTAGGCTTTGGCTAATCGCAGGACTATGCTTTGGGTTAGAAGACTTGCGCAGACAAGCCTAATCCTAAGCCTAACCCTCTTAAAAAGTTACAAGACGGTTTTTCCTTGCGCTGGGAGCTCAAAAGAAGAAAAGAAAAAGAGCTATTCGGACTTAGTGTGCCTATCTGTAATAAAACATTGGAAATCCCTATGACGCACTTAAGCCTACGGCCCGCAAAACATACTAGGATGCCCAACTGGAATAAAATATTAGAAATCCTTATGACACACCGGCGGTATGGCGCGGACTTAAGCCTAAATGGCCACTTTTATCAAAATACATTTGAGCTCGTCTTGTGTTTTACGTTGACTCCTCTGAGGCAACTCAAAAATATTCTGTGGATATTCTGCAGAAATCAGTTTAAATGAAGACAAGAGATTACTAAGAAACTTGGAGATTTCATAATATTTGGGGGGATGCGAGCATCCATTGGAAATTTGCCATTTGATACTTTTAGAGGCAAAAGTCCAAGTCGTAACAAGCTCACAGTGGGCTCTCAAATCATCAAATTGTAACGAAGAAACGATCGATATAACGAAACAATTTTACAAAGTCACTTTGGTAGCTCATATCTCCGTGGATAAAATTTTTACAGACGTAAAAGTCATCAACTGATATGTTGTTGATATGGTTGTAAAGAACAAGTTTGTTTGAAAAGTTTTTTTTACCAAAAAATTTTCGTCGTGTTTCAAAGAAATAGTAACGGAATAGCATCATAAAAATAACAACAGCAGTTGCGCCGCGCACTTCACGCGGTTATTCTTAAACGGGAGATGAGCTACCAGAGTGAAATTGGATGGCCCTCCAATGCTTCGTTAAAGTTCACGGCCATTTTCAGGATCTTTGAGAGCCCGCCGTGAGCTTGGTTTTCGAGGAGTTATATAAATTGACCCCTCCAGATTAAAGGAGGACTTTTATATAATCACGATGGTATTTAATTCCGATGAGTAATCCATTTTTCTTTTCACATTTGTCAAACAAAACTAAGTTTTAAATTAAGGCGGGATATACTAAGGTGTGATAACATATGTTATTCATGTTTAAGTTTAAATAAAGTTTTTTTTTAATTTTTGCTAAAAAACGAATTACAACCGCCTCGCTCAAATGTATTTTATAAAAGTGGCTATTTAGGCTTAAGCCGCGCCATACCGCCGGTGTGTCATGAGGATTTCCAATATTTTATTCCAGTTGGGCATCCTAGTATGTTTTTCGGGCCTTAAGGCTTAAATGTCATAAGGATTTCCAATATTTTATAGTTGGGCATCCTAGTTTTTTTTTTTCAGGCCCTTAGCCGTAAGTGTGTCATAAGGATTTCCAATGTTTTATTCCAGTAGGGCACCCTAAGTATAAATAGCTCTAGGGCTTTTCTTTACTTTTGCGCCTCCAAGCGCAAGGAAAAACCTTCATGTAAAAGCTTTTTAAGAGGGTTTCATCATTATATTTATTGAAATCGGGGCGAAGCCCTGATTTTGAATCCATATTTTTGTCTTTGTCTTCCACTTGATCCCTGCAAACTAGGAAAGAGAATGTTTTCTTTCTGATGAAGTAAAAATCATCATAAAATCTTGAAAACGAGCAGGAGGTAATATTTGAATATATTGGGTTGTAAATGTGTGTCTCCCCTTGTGGGTGGGGTGGCGATGTGCTGGCAGCCAATCTGCCTTCAACGTGTATCTCCCGCCTGTATCGCCCTTCAAAGTGAGAATTGGGTTACCAAAATTTGAGGGAATCTGATGAGAAAAGGTGAGGATTTCAAAAATATTATTGTTGACACACCAGACCAAACTTTAGCCTGGGCGAAGAGACAGAAAATTAGGAATTTTTTGAAAACTTTCAAACTGGCACAAAATTATTTCACAAACAAAACTCTTTTCACATATTGTTAAAACAGATGCCATTTTCCAATAATCAATATTGTCCATTGAACACAGAAAAGAAAACGAAGATTCTATCAAAAAATGAGTGAAAAATCGCAATTTAAAAATCGAAAAAATCCGTGCTGAACTCGAGTTTTGGCGGTGCTGAAAAGAAAATTTTCACTAAAATTTTTTGGAAACTTAGTTTTTCGGATTTAGCGTCAAATTTTGAATCTATACAAAAAAAAAATTTTGAACTCAGATTGAGTGGATAATAAACGCTCAAAGTTGAAAATTGACAACGCAAAAACGGCGTGAGTAACTTGCTTCAAGGTCGGCTGTCTCAGTGAGTTTTCACCCAATTTTCCCCAAATTTTTTTGCTCTATCGCTTTAGAAATATTTTCTTTGTGGTAATTATGTTTTCCTCAAAATCAAGATAATATCTTAAACGACCGCCATCCTATTTTACAAGAAAAAAAAAGTCTTTGGAAGAAAAATCAGAAATTTTCGGCGTCGATTTTCAAAATGACAAAATCACTTTTTCGTAATAAACTTATTTAAATGTATTTTGATAAAAGTGGGTATTTAGGCTTAAGCCGCGCCATACCGCCGGTGTGGGGGTCATAAGGACCACTATTTTATTCCGATGGAGTTGGGCATCCTTGTATGTTTTTCGGGCCTTTAGGCTTAAGTGTGTTATAAGGATTTCCACGATATTTTATTCCAGTGGGGCATCCTAGTTTTTTTTTCGGGCCCTAAGAGCGGCTGTGTCATAAGGATTTCCAATGTTTTATTCCAGTTGGGCACCCTAAGTCTGGGTGAATAGCTTTTCATTTCTTTTGGTCGCCCTCCAAGCGCAAGGAAAAACCTTCTTGCTTAACGATTTTTTAAGAGCGTTAGGCTTATGCTTAAGCTTAGAGTTAGGGTTGGGGTTAGGCGTAGGCGTAGGCTTACGTTTACGGCTTCGGCTTCAGGAATATTTAAAACAAAAATCGAAAAATAGATTTTGGGAAAAAAAATCGTGATAAAGCCTGCTAAAATTTTCACAAAAATTAAATTTTTCAAATTTTTCAAATTCCTAAGTGATTTTGGTCTCGCAGCGAAAAAACATCCAACTACAGTAACCCTCGCCCTCTCCAATTTTCAGCTCCCCGGCTCCAATGTTCTCGCATTCCAGGGTGTGATACTCCGTTGATTCGCCGTGAACTCCCACTCCAACTCGCCTGGGCCATCTCCATTCACAAATCGCAGGGAAGCTCGACAGTCCGGGAATGTTGAAGCGCGTTTTCGCCGACGGACAGGCGTATGTGGCGTTGTCGCACTCAAGATCAATGGACGGCGGCAATTAATTATCGGCTTCGAGCGTTGTGTCCGAGCGAATTCAAAGGTGAACAGGGGATTTTCGAGATGAAATCTATGATTGCAAATCAGAATGGATGGATGCTGTTAGATATCTCCTTTTCGTGGGTTCTCTCACGTGGTAGAGTGCTCATTTCGGCTCTACTGTGTAGATCTACAAAAAATGCGGGAGATGAGGAGACTCAGACTTCTCAACTGGTTTCGCATGGTCTAGAACGGCGTTGCTGACGTCACTTTTCTCTCGGCATAAAATTCCCGCATTTAACCGGTAAGGGATCTCTCAGCTACGTGGAAAATTATCGATGTTTTACCGAATTTCAGGTTATCTAGCTTTTTACAAATCCATCGAGGCAGAATGCGACGACGAACAGGACTGGGGAGCCCCTGGTGCTGGGCCTAGTGCTCAAGTCGAGTTCGATCGATTTTTTATTTAAAATTTTTTTGTGATCTCCAAATGTTTCTGTCTTTCTATCTTCCCCCCCACCCCACCAAAATAACCGTTTTCACAACACTCTGTATCATCATAATTCTCACATAAACTATTTCAACGTTGACGTCGCCTCAATTTTTAGTGCTATAAGCGTCATCGGATCTGAAAAAAATGTAAAACTTGAACAAAAAAGCAGGGGGTGGCCTAGAAAGCACAAAAAAAACTCGGACACAGTTCAGGAGCCAGTTTTTGGAAAAAAAAAAACGTCATTTTCGTATAGCCGTCCACACTGAAATTGAAAGAATTCTGGCCGAGTTTTCCAAATTCTAGGCCACCATGCAAACCGACGTTTTGGACGGCAACGTGCCGGTGGCCGTGGCCCCAAAGAAGGAGGGAAAAACTCGGCCACTCTTCTATGTACCCCTCTCGGGGAATTTTTACCATGGCCGAGTTTTTGTGTCTTCTAGGTCAGGCATTTTTCTTAGTCAGTTTCAAAGGAAATACGATACCTGGTCTCGACGCGAAAATTTAATTAAATCCAAAAAGACGTGCGACTTTAAAAAGTACTGTAATTCCAATATACTTGCGCTGTTGGGAAATTTATCGATTTTTCGTATTTTTCAAAAAAAATAATCAAATGTACACAGGGTTCTGTTCTTCCTTAAATTTGATTTATTCGCGCTCCATTGACAATCGCCCGCAGGATAACGCGTGGGAAAATCGTGTACTCCACACGGACATCGACGCGACGCGACACGCAAGTCGCGCCTTGAATCTACCCCAAATATGGCCGAGCCATAAAGGCCTATTCGGCAAACTCTTCCATATCGATTTATGAGGGAAACCAGAAATCCGTGAGGATAGTGAGAAAACAACGAAAAAATCATAAAATTTCCCAACAAGACGAAAGTTGAGATTACAGTAGTCTTTAAAGGCGCACTTTCTCGCATTTAACTTAAATTGGTCGTGGAGAGAGTATTTTTAGCGCAAAACTTCGCATTCCGGGTAGATAATAGAAGAATTGAAACTGACAAATCCGCCGTTTCCTCAAGCAGCAGCGGCACAATAAACATGAAATACACGGCCAACACGAAATGAAGCGGCACCATCGACACAATGAACAACGACATTCGGAGCATGTGCTACAAAACTGTCGGCCGCAACTTTTTCGACGGATTCTTCCCAAAGACGAGATACCCTTGCATCGGGCTACATCGGGGCTTGAACCGACTTCTTCTTCATTACAGCGCTCCCTTCTCTGGGCAGCAGGTAGCGTGTCCACGTGGTATAGGGTGACTCAGTGGTTCTGTGATTAATCGGCGCGAGCTGGAGCATTCTTTGCAGAGTCGCTAGGCGTGAGGCCACGGTAGCGGAGGTGTTGGCTCTGAAAGTAGATTTCATACAGGATGGTTATTTCGGGGAGTACTGTAGTGGTGTTATAGTGGTTACTTGTAGGAGTACCCTGTAGGGGATACGAAATGCAGGGGTAGCAGTACTGAGGGGGGTACTGTAGGAGTACTGTAAGGGTGTGGGGGTACTGTAGGAGTAATGTGGGGGTACTGTAGGAGTACTGTAGGACCACTGTAGGGGAAATGTAAGGATGCTGTAGGAGTAATGTAGATGGTACTGTAAAGGTACTGTAGGGGTGCGCTAGTGATACTGTAGGGATCATGTAGGAGGACTAGGTCCTGAAATAAGGGTACTGTAAGGGTACTGTAGAGGGTTAGTTTTATGTCCCTGTAAGGGTACTGTAGGGGTACTGTAGGTGTACTGTAGGAGTAAAAGTGGATTCACTGTAGGACAATAACGCCAGAGGTACTGTAGGAGCACTGTAGGCGTACTGTAAGGGTACTGTAGATGTACTGATTATGTAAAAGGTCCTGTAGGGGTACTGTAAGAGCACTCTAGGGCCATTGTAGGGGTACTGTATGTACTGTAAGGCTACTGTGATGTACTGTAAGGGTACTGTAGTTGTTCTGTAAAGGATACTGTTGGAGTACTGTAGGGTTACTGTATAAGGGTACTGCAGGGGTGCTGTAGGGATACTGTAGGAGTACTGTAGTGTCTATAGGAAGACGAACTTTTTTTTGAATTTACTCATCGGAGAATCTAATATTTTCTGTCTCCAAATCGATACACCATAAAAATTTTAGGACCCAGAGCTAAAAAAAAATACCAACTTCTCCAATATCATCTCCATCAATTCCAGTTGTTCTGTGCAGTTCGCCATCCCTTCTTCATTCCATCGGCCGATTCTCCAAATCGTCCACCATCTTCACACCCCGCCGACACGCCGGTGTCTCCACATCGTTCCGTACCAGCTTCCGCAATTTTCATAAGATTCTCGACAGACTCGTTAAACTTGCGTTGGCTTGAACAAGTGGGAACCTAGAATCGCCTCGGGAACCGGATTTCCACCCCCTTCCACCAGGAGGCTGACCAGTGTCGTTTTCTGCCTGACGACCTTAGCCAGGACGTGCTCATAGTTGATCATGTAGATTTGCCCGTTTTCAGATATGTTGAATGTTTCAGATGAGGACAATTGAAAATTACCGATTTGATTGTGCGTGTTCATGCACGACAGTAATGAAGGCGAGGCGGCAAATTAAAACTCTGAAAGTTTAGATAATTGTACTTTAGTTGAAATCCTTTTGTTGACAGTCGACTAAAAAAAAAAGCAGGTAGGTAGTAGGTAGGTAGAGTAGGTAGGTAGAGTAGGTAGGTAGGTAGGTAGGTGAGTAGGTAAAGAGAGACACGGTGCATCGATCTGACTTTAAAAATCTCAATCTCGTATCTTAAGCGTCTTTGGTTCCTGTCAGGCAGGTAGGGGGGAGAGTAGGTGTGATCAGGTAGGCAGAGCTCCGGAGTTAATATCTGGTGGATTGTGAGTTGCTAATAGGTAGTGTAGACAGGCAAGCAAGCAAGCAAGCAGTCAGGAAGGTAGGTAGGTAGGTAGGCAGGCAGGTATCAGTTGTCAACTTTTTGATGAATCTAACGGAGCCGAACGAGTTATAAGGAGGCCCAACGTTGCACCAGACATCGGGAATCGACCTAACTTGCAAAACAACTCGTAACTTAAGAGTGTCTTTGGTTCAATTTGGGAGGCAGGTAGGTAGGCGCTTAAGGTAGGTAGGTATATCTTACGCTTCTTGTTTCAAAAATAGTTATATATTAAAAAACAATAAAAATTTTTTGCAAATTTTATCAGTCGACAACTTTTCTTGTTAAAACTAAAAAGAGACGAGATATTGTAAGTGTTGCAAAAGTTGAACGAGACATGGTGCATGGAAGGATGGCTAGGCAGGTAGGTAGGTATTAAGGAGGTAGGTAGGTAGGTAAGCATTCCGTATTTCTCTACTTGCTTATATCCTGGTTGTTATGTGTTGTATCAAAAAATGTTTAACAAAGATAACATAGACTGAAAATATTTAGCACGTAGCAAACTTAAAAAACTAGGTTGGTAGGTAGGTAGGTAGGTAGGTAGATAGGTAGGTAGAAATGCAGGCATGTAAATCTGGTGAAGGTAGGTAAAAGTACTCACGATGGAGAACATCAAGCAAGAAGATCGCCAATTGAAAGTGGTACGGAAGCGAGTTGAGCAAATATTTTAGAGTATTTGTCTAGAAAAAATATTAATAAGTATTCAAAGTTTAAACTAATAATAAAATACCAATTCCGAAAAACTTCATTATAAACAAAATCGTCAGAATCCCACTGGAGAGGACTAAAAGTCACTCGTGTTGGCAGACGTCTGATAAACATCGAGGGTGTGTCCGGGTGGTAGGAGAAGCACATTATCGTGATACTTTGACACTGATAGATTCCTCAATAGAAGCCAACGCTTTTCCGAAAACTGGAATCGAAATGTTCAAAGCATTGAGAATTATTTTCTGGTACTCTTCAACCAGGCATGTTGTACTCCGAGTTTAGATCCGCAGAAAAATCTAAATTTGTATTAGATTGGGCGATACCGTACTTGCCTACCTGCCTACTGGTAGGTAAGCAGCCTACTTATTTTCAACTTACAAACCTCCTACTTTGTAACGTTTATTTCGCAATAATCGATTTCTCGAAATATTTGCATTTCCCCTCGACAAATGATTTCTTTGCGGGAATCTTTAGGAACAGCTGAAAATTTTTTTTTCCGTGTGGCCTTTTCACGGCCACGACGTACCTTAACGCTTACACATGGTGCAGTTGACGTAGTCATGCAAGAACCAATTTATTCGGCGGCGTTCGTTTTCGGTGACGGCGAAGTTTAAGCACGGTATGTAGAACCTTACGGTGGAGACGTTCTTTGATGGCTGGAAGTTATGACGTCATGTATAATTAGGGATGAGATTCCTAGGCCACGTGTGACGTCACAGCAATCCCCGAAACCCTGGCTTTTTCGATGGGCGATTTTTACTACATCGATACTTTCTAGGCATTCATCGAGCGAAACTTTTGTGATACTTTGGCAATGGTCATCAGGTAGACAAACAACGTGATAATTTCTAGGCCACGCTTGCCTCTGTCACGTGGCCGAGATTTCGCGCCAGGACCTAGAACTAGACAGGGTGCATCGACCTAACTTAAACCTCGTATCTCAGTTGCCAGGTAGGTAGGCAGGCAGTCAAGCAGATAGGTAGGTAGGCTGGTATTTTAATTTCATTTCTGCGGCTACAACACAATTTCTCTTCCAATCAAGGACAAATTTCTAGCGCCACACATGCAGAGTGCGGACTAATAATTAAAGTGTTTTACGACAAGGCCGAGAAAAGAGAAACCTAGGCCACTAATTTGTAGTGAGGTGTGATGTAACGCCACTATAAAACTATAGAACTCGCTTGACGCATAAAACTCTGATCATTTGCGGTTTCGAACTTGCATCGTCCTTCCATAGACCGCATCCTGAACGTACACTCTCGTAAATTGCGGCCTAAATTGTATAGACCCATTAAAGGGTACAAAATATGGGAATAATGGTGAATCCGGAGCGATTATCATCCAAATACACGAGAGATTACTTCGATACATAACCTCGAAGAGCAACAATTTCCCCACGAAGAATATCAGCAGAGCTGTGAGCAGGAGAGGCGATTATTATCTGGCGGATTGTGCGCTGAAAGTAGGAGGTAGGTAGGTAGGTAGGTAGGTAGGTAGGTAGGTAGGTAGGTAGGTAAGTATCGGGTGGTAGGTAGGGAGGCAGGTATCAGCTGCCGACTTTTCGATAAATATTAGACGGAGCGCCGAAATATAAATTGCCAAAGTTGTACCAGACATGGTGCATCGACCTTACTTAAACAACTAGGTGGTCTAGGTAGGCAGGCAGAGGCAAGTAGGTAAACTCACCGAATGCCTTAAAACAATTGCTAGAACATCGGCATAACCCGAGCTTCTCCCATTCTACGTCGCGACCACAAGCGCGCGCACACTTTTCCGCAGGTTCTCATCATCGCGATCAGCGCAAAAATCCTCGATTATCTCGAATCCACTGGCTCTTTTTTGTGTGCGACGTCTAATCGTTTATAGCTGATCGGCTCGGGAAAACCAATCGTCACACTGCAGCTTCGCATCCTCCAAGCGGAAGCCGTGAGAAAACTGGGCACTGCATAGGAACTAGAAGTAATTTCAGTCTTATTGTTCTGGAAGAAGGCTTTTTTATGGATGGGGTTTGAAAATAATCACTAAAAAAAAAACTTACAGCTGGAACTTTGTTCGATAATGAAACAATTAATCTATAAAAAGCAAATTTTTGACAAAATTTAAAACTTTAACGTGTATGAAGGTCACGTGAAAACTGAAAACAAAAATGTCGAAAAATAGCAAGAAAACGGCCTAGGCACACGTAGACTTATGGTAGGCAGCAAGGCGTAGGGGTTGATCCAGGCAGGGTCACGTCTTGAAGGCAGGTTAGGTATAGGTAGGCATAGGTAGCCATATGTAGGCGTAAAGGCAGGGGCATCTCTAGATCCTTTTTGTATGTGGCAGATTGGCCGCTTTGCAGGCAGGTTGGCAGGTGTGGGTGGCCTAGTAGACCGAAGTTTAAACAAGCGTAAAGTTCCTATAGTAGTAGGTAGGCCAAACCTTTTTTGTAGATGATGAAGTAGGTGTAGGCTGTCGTTTGAAGGCAGTGATGCAGACAAGGTTAGGTCGTCGCAAAGGTTGGCTGGAGGGTAGGCACGTGGGTCAGCAGATAAGCGTAGGCAGGCATAGGCAGGAAGGCATTAGGCAGGTAGACGTAGGCAAGTAGACGTAGACAGGATTTCAAATATGACGTGAAAAGGGGAAAATTTCTTATTCTGCGAGGCGATCCAGTATGCATAGGCAGTTATGGCGTTGGCCGGTAGGCGTTAGGTAGGCGTATGTAGGTAGGCGTCGATGTAGCAGGTAGGCGTAGTCAGGTCCTAGAGATAAGCAGGTAGTCGTGACCGGATAGGCAGGCAGGTAGGCGCATGCAGATAGTCCTAGGCAGGTGGGCGTAGGAACGTAGGCGTTGGCAGGTAGGTGAGGTAGGCGCAGGCAGAGACGTAAGCAGGTAGGCGTAGGCAGGTAGGCGTAGGTAGCTAGGCGAAGGCACGTAGGCGCAGGTAGGCAGGCATAGGTAGGTAGGAGTAGGCGATGCGCACATGAAAACCTTATAAATGTTTCAACCGCATAATCATCATCCCATTTTTCTCTCGATCAAAACGAAAAAATGCCAGCAGCAAACACAATTTGCATCCATTTCTCTCTCTTACTCACTTATATATCCTCACTTTATCCCCCGTTATTCAACCTTCCAAACACTTCCAAAACCTCCAGAACTGCTAGAGAGTAACACGGAAAATATTTGAACTTTTGTCTCGACCAAGTTTTTTTTTATTTTTTCTTTGGATTTCAACAAATTTGATGTCTGTATTTTTTCCATTTTTCGTGCAAAATACGGTAATGAACTAGGTTTTTGCTACGTGGCCTAGAAAATCTCGGCCACCGATTCTGATCTGTTGCAGGCGGCGGCCGCGGCCGAGGGTTTTTCACTTCAATTGATACCAATCCCTCTTTTACGCAAGGAATCACGTGGAGTGTGTCTCTTCATCTTGATTTACGCAGATCTACAAAACATAGCGGGAACTGAGTTCGTATCGTTAAGAACATGCTGACGTCACAGTTTTTTTATCAGCGTGTAAATGTAGAAGCATTCCGGCATTTTTTGTAGATAAAACCGCAATGGGACAGCCTGGCACCACGTGCTCTTCAATGGCAACCGTTATATTTTTTTTGACAAAATCTTGAATTTTCTAGGATTTCAATGAAAATCCAATTTTATACCAAAACTTAAAAAAAAAATGCTAAATTCGACTAGCAAAAAATGCACCCAGTTTTACAAAAAATCTTTATTTCTGAAAAAAAATTCAGTGGAAAATGTCTATAATATTCAGTATTTCATACTACGGAAAACAATTTTTACAACAAGTTTTGATGTGGCCGCGGCCGAGGTTTGCTTTTCCACGTGGTGTCAGACTGTCGTCTCTCGGCTTGATCTTAGATCTAAAAAAAACGCGGAAACTGATTCCTCATGCTATGTTAAGAACGCGCTGACGTCACATTTTTTTGATCGGAAAATTCCCGCATTTTTTGAGCGTTTGAAACCGTGATGGGACAGCCTGGCATTACGTGAAAACAAACAATGCAAGCGCGCTCAAATGTAGTCGAATATATTTGCTCTACCACCAGATAAATTCCACTTTTTCACAATAAACCTAAATATTTTTTGTGTCAAAATCTTGAGAATTCTTAGCATTCGAGAATTTCCGCGTAAACCTACGATTTTGTTATTGTTCAGGGGAACAAGTGAGCCACAAAGCTTCCACTGCTGCTCCGAATTCGATTCCCCTGAGGCATTTTTGTTCGAAAAAACCCTCGTTTGTCATACTCGTCGACTTTCTTCGAAGTTTTTGTTCTAGTTTCAAATAATTTTTCGTCAATACTTGTTCCTTCCGACCCAGCAGATGTTGTTGGGGGGGGGGGATGGGAGAAAAAAAATAAGAGAAGAAGCAGAAACTCGACACTTTTGTGTCCGCATTTCTCGTAAAGTAGATTTTTGAGCTTTCCAAGGCTCAACCACCTAGCAAATTTCGCCGCAGAGTTGATTTCTCCGGGATAGCGTGGGCTTTCTACTGGAGACCTCACTATTTTTTTGCCTTTTAGTAGAGCTTGTTAATCTTTTTTAATAATTTATTGCAGCTCTATGGATTTTCCAAAAAAAACCACCCAAAAGCCCGAAATAATCAAAATTTTCGTTTTTAAAACGCTAAATCCCGTACGACATGCCGTCCAAAGAACACTCACATAACAATGAAGAGATTTCGCCAAAAAAGTGAAATCCAATTCAATTTATTTCAATTTTGAAGAGTGCGTTCGTCTTTTTTCGACAAAAAAATAAGAAAATGTGTACCTTGTGTAGTTTTCAACAGATTTATTGTTTTATTAATTATATAATAGAAATCAAACCTTCTTTCTGCCGACCTGTAGATGGCTACCTACATGCCTAGTTGCAAGTAAGGAGACCTGTGTATCTATCTAGGTACTTATCTCACACCACCTACATACCTACTACTCACCTCCCTACTCATGTAGACATAAGTGATCCTCAAAAAGGAATGCGGTAGATCAAAAGTTTATGGAAATTTATTTCGATTTTCAGGTTTTTAAAATTGCGGAAGATGTTTTCATTTAGATTGAAGATTAGTTTAAATTTTTTTTTAATTCCGTAAGAAAAAAAAATTATTAGTTTATTATTACTCTTTCTATTCCGAATATCTATGTGAAGCTCTTTTTAATTCCTTGGTTTTATATCTAATCTTAAAATCGCTAATTTCTTGTGCACCCAAGAGATTTCGAATTTTCACGGGGTTCTAGCCTTCCTCCTTGAATTTTTCGCGAGTCGCTCCATATAATAGAGAACCGGGCAACGAGTGGGAAAGTCGTGTACTCCACACGGACAAATACATTTAGTTTACAACTGAAACCGAGCCGCAAACACGCAACGTAAATCTACCTCAGATATGGCCGTGCTAAAATGGCCTAGTTCGGCCAAACTTCCATTTCAATTTATGAAGCCCAGAAATACCGTGTAATTTTTGCGCCATCAGAGACGCCATGTGTCGATTTACGAGATTGTTGTATATTTACAATCGGGAATGCGTAATATTTACTAGAATGCGGATTTCCGTTTTTTTTTTATGAAAAACGTCATCCACAAATTAAATTCGGCGATTTTAAAAATCGCGTTAAATATAAAATCAGGGAAATTTTTTAAAATTTTTTCACGTAGGATATCGGAATACAGGGGAAAATTTGGAGGCAAAAACTAATGTCACCCTGATCATGTTTAAATTCTTTAAACTATTGATGAGAATCCTTTTTTCCTAAAATGAAATAATTTCTGACTTTTTTCTCTTTTCAATAAGAAGCTAAAAACAGACGAACCTATTCCAATTTCCCACCACACCAATTCATTCTTTCCGCATTCTTCTTCTTCCATTATTTATCTACCTTTTCCTGCATTCTCTGTGCTCTTATAAATAGTTCCATCATCCCATTTGCTTTCTTGTTGTGTGGTATGCACTTTTTCAGGTCCATAACCTATACGAAAATTCGATTTCATTTTCCATTCTCAATTACATTTTAAAAATTTTTTAAAGCAAATCTCGCCCTGAGTCCATCGATTTTAAAATACGTTTTTTGGTTTTCAAGAAATTCCATTATGAAATTCGGTGTCTTTCAGACAATTTTGAGCCTAATTAAACAATTTAAACTTTTGACTACATCACCTTAAACTTAATGCCGTTTAAACTTATAACTTTTTCAGAATCCCATATGCTATGGAAGTATTGCACTTGCTACACCGGCTAATTCTCATGATCCTGGTCCTAATCCCATGTTTCTGGCAAGCTTACGATTATCCCCGTTCTCGATTCTCCGATTCTCTGATCTATCAAGAAATTCCGCGCAAAAGAGCTGATGATTTCAAGGGAGTTTTATGTGTGCTATAGCTTACTGACAGGATTTCAAAAAACAGTTACGGTAAGATAGTTTTTTCGAAAAATTCTTTCACGGATTTCTTGCTTCTTGCCGAACTAGGCCATTTTGGTTCGGCCATATCTGGGGTAGATTTACGGCGCGTCGCGTGTGGCATCGCGGCTCGATTTTATTAGTAACTAAACTAAAGGGATTTGTCCGTGTGGAGTACACGACTTTCCCACGCGTTGTCCGGCAGGCGATTGTCAATCATGGGGAGCGCGAAAAATTAAATGAGGAAGGCCAGAACCCCGTGCCTGTATAGGATATTTTGAATCTCGAATTTTAACGAAGATTTGATTGTTTGAGTTTGAGGTCGGAAAATAAAAAATTCCTTTACGGTAAATTTTCGGATGCAAAAATGTGATTCTGCTGTAAAAAATCCGAGAAAGCCAAGAAATGTGCGGAGCCTATTTTCCGATTTTATATTACGTGGTTGGTATTTCAAAACTTCAAAAATATCAAATTCGGAAAAAAAACCGCTACTTGGTAAAATTTCCTCGTAAAATATTCTCCGCTTACGCCGCCCCTCTCTGGGCATTTGGAAATTTTTTCGTTAAATTTGTTGGAATCTGAAATTAAGTCCAAAAAGAACCAAGAAACGGGCGGTATTATGGGATTGAGACATGGTGCATCGATATGGAAACGGCTTTTCTCAATTTGGTTTTTTTAAGGATAAGAAACTAGCAAAACTCAAGTGGCCTAGCTTTCAACTCTTCCAGAATTCCATGATACATTCAAACTGGTCATTGCTCATTGACGCTCTCTCTTTATGTCATCACCATAACGAATCCACTCAATTTTCACTCAAGCTGTCATCTCCAGCAGTGTCTCTCAATTTAATCATGCTTGAAATTGTTTTTATAAAATGAAACAACAGCGACATACTCTGTAAAAGCTATTATTAAAAAGTATATATATACACGAATTCCTGGGTGGGGATTGAGACAACGGAAGACATGGAGGAGAATTTGAATTTCATTAAAAAAAAAAGACAAAGAGGTAGGTTACTGTAGCATCCAATCTGGAAGTGGCTGCACAAAGAAGAACCTCCACCGTCAGCAATATGTTCGACACACCTGGAACGTTGAAACGGGGTATTATTTCCTTAAAATTTTCTTAGTCTAAGCCTGAGCCTAAGCCTGAGCCTAAGCCTAAGTCTAAGCCTAAGCCTAAGACTAAGGCTACCTGAACCTAACCCTAGGCCTAATCCTAAGAAAAATCCTAAGCTTGAGCCTAAGCCTAAGCCTACTAAAGCCAAAACCTAAGCCTAAGCCATAAGCCTAAAGAGCTCCCAAACCTTAGCAAAACCTAAGCCGAGCTTAAACCTGAGCCGATACCTCCTAAGCTTCCCTATGCCTATTCCTAAGCCTAAATATAAACCTAACCTAAGCCTAAGCCTACGCCAAGCGCGTCAGAGCCTAAGCTGAGCCTGAGCCTAAAATTAAGCCTCAGCCTGAGCTTGATCTTAAGCTTAAACCTAAGCCCTGAAAATTTTTTTTTGAACTCTCGCACAACAAAATTTGTAGAATGTTATGAATTTAAAAATTGAGATTCTAAAATTCCCCGCCAAAACGTTTAAAAACTTCACATAATTTATCTGTTTAAAATCTATATCCATCAACGGCCATACCTCTTAGATTTAGATTTTCGCGGCAAAACTTGTAGATCATTTCAAAAATTTACTTTCGCGCCAAAGATTGTTCGGCTCGCGAAATTTACAATTTTATAAAAAATGTATTTCACAGAATTTCAAAAAATCGAAAATCGCGCCAAAAAATCCATTTATAAAATTTTTTAAGTATTGTGACGTCATAGACTACAAACTAACCCCTCTATTGCCCCTCACCGTGCTCTCCAATGAGTTCGGCTCCACTTCATCAATCCCTGGGAACAGGCCCGGGTCCTTTTTTTCCTCGTGGGCCTTGTGCACCAATCGGGCAGTCGATACCAGGCATATCAGACGGTCCTGGCGTGCCCGAATTCTCCTCTCTCCGATCGTACCTGCCGTTGGACCCGATGGATGAACGGTTTCGTGTGGCGTCCGCACCCGGGTCGCCCATTTCTCCATCCAGTCCTTGGCCTGAGTGCCTTGTAGGCCTTTGGGTCCCATTTTTCCTAACCATTTTCCGCGAGCCGAAGTCCATTCTTTCCGGTAGTCCTGGCTTACCAGTGCTTACCCTTTCACTCCCTGAAAATTTAGTTTGGGGTATAGGCCTATCAAATAGGCTTACCGTAATCCCAGTGGTTTGTACTTCTCTCGGACACCGGATCCGCACACAAAGACTTATAATTCACAGGAGGCCCACATGGCAGGCGCGCTGGAAGTCCAGGCGCACCTTCCGATCCTCTCGTTCCAGGAAGACCGTCTCTTCCTGGGATCCCGGGGGGCTGTTCCTTGTGGATGACGGCACTCACATACTCGGTGGATCTTGCGGTTTGGCCGGTTTAGGAAATCGTCCATTTCATCTCTTTTCTGGCGGGTTATGTTTTGGAAATCGTTGGCGACAATCGCATGTTTTTCATCTCGAGGGCGCTCGGGTCTTTGGACATTTAAATTTGCTTGAAATTTTCAAACTTGTTATATTATAATTTACAAACTACTGACTTTGTATGTTTTTTTTTTATTACAGGAACACAAAATTCTAAGAATGCGTACTGCACAGTATATTTGACGTGCAAGATATCTCGTAGCAAAATCTACAGTGACTCTTAAAATGCGATGACTACAGTCGCGCTTGTGTCGATTTAGCTCGATTTTCGCAACTTTTTTTCTTTTGGATTTCCTTCGTCGTGTTGTTTTCTAACATCTTTTTCTTTCAAAATTTCAATAAAGCTTTCTATCGATAAATAAATCTTTTTACTTTATTTCGAAAATCGCCCGTAGATCGACTCAAGCGCTACCGAGTCATTTAAAGGTTCACTGTAGTTTTCGCTACGAGATATTTTACGCGTCAAACATGTTGATACGCATTCTCGAATTTTGTGTTTCTCTCCATCATACTGTGTTTTTTGGATTTGAATGGAAGGAAAAGCCCGAAACTTTTAAAATTTTTCGGTGCATTCGGTATCCAAAAAGCTGAATAAACTAATGTGTACAAAAAAATGCCACATTTTATTGAAAAGTTGATAATAAAATAATTTGTTCTAATTAATAATGTTTTGAATTTCTCAATTTTGGAATTTTTGGATTTTTTCGGGCCAGAAAGTAGGCATTCTCTGGAATGATGTTTTCTTCATAATTATATATTCAAAAAAACGGACTCCCACAAAAAAAGGTCCGAGAGGCGAACAAGGTTGTAAAACTTGCTATTGTTTATTTACAACCGCCATTAGACACCTATAGGGGTTGTAACAAGCCACATAACAATTTGATAAGATGCACACAGTAGGGAGAGAGGACCTGATTTAAAAATATAAGGAATTTTCTCATTAGATACAATTTTTCTCTATTTCTTTCACGGTGGAATATCGAGAGGAAAATCAGCGAAATTTGAAATTTTTGAGAGGTTTTTTTCTAAACAAAAAAAGATTTGAAAAATTTCAAGATATTCTGTGTATTTATCGATAAAATTTGAGAAATCAAGGGGGTCGTATAGTAGTGAGACGGTCGGTTTTTCTACTTTCAGCTAACTATATGAAATTTCATTTGTTCAGAGACGGTTTTCTGACATTTCAAATCAAATGGCATTAGCTGTTTTTCATGAAAAGTTTCAGAAAGTATCAAAGCTCGAAATGTTGGGAGGGTCGTATAGAAGGTGGACGCACTAAAAAAAAAGGAAGTGGTTCTAATTATTACGGAAACACCAAATTCTGAGAATGCGTATTGCAGTCAAAATATGCGCAAAACTTCTCGTAGCGAAGACTACAGTAATTCTTTAAAACTTTTGAAGCGATCGTGTCGACACGTGGTGCCGGGACAGATTGTCTCAATATTTCGGCTTGATCTACGTAGAACAAAAAATGCGGGAGAAGAGACGCAGACTTCTCAGCTTACTGATTTCTCATGGGGAACCTGCTGACGTTACATGTTTTCGGGCCGAAATTTCCCGCATCTTTTATGTGGGTAGATCAAACACACCGTGATGGGACATGGCAATATGTGTGTCGATTGTTGGGTTTTTGAAATTGATTAAAATAATTTAGTTATCGATATTATATTGAAATTAAACAAACAGTGAGAAAATAACTCGAGCACGTAAATCGACACTACAATAGTCATATAAGCTAGAATTACTGACCGTTAGCAATGCCACAAAATATGTTTGCGCGTCTAATATATTGCGCAGTACGCATTCACAGATCCGTCATCCAAGTCAAACTCCTGACAGTACTCGGCATCGTTGACATTGAATTCTGAATAGCCGAGTGTCGAAGTATTGAGGCAAGGGGTCTACGAAACAATGACGACATCGTGGATAGCGAGATAAATAGTGAATCTATGATTCACGTGGCGTGCTTTCTCGAGCATTCTCGTTCATTTTCCAGGAGAAGCAAGAGAAGCCTATGGAGAACGAAAAGTGAGTAAAGAGGAATGATGCGCTGGCGCGGAAAAACGAGAGCGTTTATGTATGGGAGTGACCCAAAGACACGGAAAAATAGATAACAAGAAGAACAAGGGGGCAACTTTCTCTATCTCAACATATCATCATCACCCATAAATCATTATCTCCTTTCTCCGGGATTTCATGAGAATAAATCCATTTACTCGTTTTTTTTGTGTCTTAAGTCTGCAATAAATATGTAGCTAATTTCAACTTTAAAATAAAACTTAATGAAACTAGTAATTCTATCATCTCTCAGCATACCCATTCCTTTCTTTTATATATAACTTTTATTCCACTCTGTATTTAAAGAAATTTCAAGTTTAGAGTCTAACTTGAAAATTGACAGTGATGAATATAAAATTATACGCGTAAAGAATATTTCGAGAGAAGTTGGGAGTGTAGTCTTGGAGGAGGAGAGAGGAAAGAGGTGAGGAAAAATTACGTTTTTTTGAAGTTTTTTCTTTAATTGTTCGAAGGATTAGGCTTAGGCTTGGGCTTAAGTTAGGCTTAGGCTTAGGAATAGGCTTAGGCTTAGGTTCAGGCTTAGACTTAGGCTCAGGCCAATTTAAGCTCAGGCTTTTGTTCAGGCTTAGGTTTAGGCTTAGGCTTAGGCTTAAGCTTATGCTTAGGAAGAAGGGTATAGGCGGCCTAGGCTTAGACGTGCACAGGCGTACATTGGCTTAGGCTTAGGCTTAGGCTTAATCATTAGGCTTAGCATTAGTGCTTAAGGCTCAGGCTGAGGCGTAGGCTTAGACCAAGGCGTAGGCTTAAGCTTAATCTAAGGCTTAGGTGTCGACTTAGGCTTTAGGCTTAGGCTTAGTCTTAGGCTTAGGTTACTCTTAGGCTTAGGATCTCAGGCTTAACGTAGGCTGCGGCCTGGGTGAGGTTTCGGCTTAGGTATAGACTTAGACTAAAGACTTAGGTTTCCTAGAATCAGACTAAGGCTTAGGGCTTAGGCTTGGGAGGCGCTACCGAGGCTGGGCGGATCAGAAAAAGAGACCAAAATTCCAGGGAAATCCAAATAAAATCCAGAGAAAATAATAAAAAAAAGGAAACAAAAAACGTGAAAAATGGGCATTCCGCGTCTTCCGCGTCAAAACCCGTTTTCCTTAAAAAACGGACAGAGGAAAGGACCAAATTATGAAATACCAAAGTTTAACAAAAAATATTTAAACATTTTTTTTGCCGGGGTTGAGCTCACCCAGCTGAGCTCACTCCATAATTGCACACAAAGTGATTCTCAAAAAATTAATTTTAGAGACTACGAGGCTAGCAAATGGAATGCACATGCTCTGATTTCTCAGAGCGGAAATGCCCGCCAGGCTCCAAAGAGCGTGTGCTCCAGGAGCCGATGGTCCTGAATCCCCGGCTCCAGAGGTCTGAATGGTATGGATGGAGAGGCTGGGCACAGTAATATGGCTGGTATGTTCACTGTAAGTTGCCCAAGATCTTTTTTGTAAATTCATACTCCAGTCATGAACAGGATGCATCCGTTGCCTAGCGGGTCCTCCAGGTTCTCGCCTGGTGATCATGGATCTCCTGGTAGGGTACCCCGGGTCAGGACCTCCAGGGGAACCCGGTTACGCAACAATTGGGCTTATCGGGCCACCTGGGAGCGACTCGCAGGCCAAGATGGTCTAGATGGAGCTCCTGGCGAGATAGCCGCAGTGGAATGGATGCAGGGGAGATTGTTTCAGTTGATGGAAAAATTGGAAGAAGAGGAGAAGCGGGGAACAAAGGAAGCAAAGGATCTCGAGGAGGGGTTGGAAAAGCTGGAGGGCCTGGGGTGGCTGGAGAAATGCGAGAAAAAGGAGTAAGAGGTGAAGATGGAAAGCCTGGAGAGTCTGGAAAGGTGAATTTTCAGAAGTTGATCGATGCACCAGGGAAATTAACGCGGTTTTGCCGATTTGGCCGGAAACTGTCAATTCCGGCAATTCGCCGGTTTGCCGATTTGTTGGATCTCAAATTTGGCGGAAATGTTTAGAGGGGTTTTTTAAAAGACGAAAACACTTAAAACTTTATCCCCTTTTTTCCCGTTTACTAGGGAATATAGTTAATAGGGGAATTGCTAGGAAGAAAATACAAACTTTAAATGACTGATGAGGTCTTCTGGCTACAAAAATCATTTTTTTCATTATTATCATTTTCATAGAATTTGCTCTCTTCAAAATAGACGTAGGGACATACATAGGATGCTTAATTTCGCCGTTTGAAATTTACATTCTGAATTATCCAAAAAAAATCGGCAATCTGCGGTTTGTTGCCGGAAATTTTCCATTCTGGCAATTTGCCGATTTGTGCCCGATTTGCCGATTTGATGACCGGAGTTAACTTTCAATTCCTGCAATTTGCCGCCGTTCAATTTGCCGATTTTCCGGAAATTTTAATTCCGGCAATTTGCTGATTGGCCGTTTGCCGGAAAATTCAATTGCAATTTGCCGGTTTGCCGATTTGCCGGAAATTCAATTCCGGCAATGGTGTTGGGTTTGCCGATTTGCCAAAAATTTTGGAATTCCGGCAATTTGCCGGTTTACCGGCCAAATTTTCCAATTCACCGGCAATTTATTGATTTGCCGATTTGCCGGAAATTTCAATTCCGGAAATGTGCCGATTTGACGGAAATCTAAAACATTCTCCGGCCGAATTTTCCAAAAGTATAATTTTTAAGCCCGGCGCACCTGGAATCCCTAGAAGTAACTGCCGATGTCCCCAGTAAATCGTCACGATATTTCTCCATATAGAATGATGGAAAATCTGATAATAGTAATAAAGATAATAATAAAATAAATACAGGCAGGAAACGAAAAGCGAGCACTGACGATTGTATGATACCCGAAACATTCAGGAGGAGCACAAAAAACACAATGAAAAGACACAGCTCAGAAAAATTGAAATTGAAAAACTGGTAACGAGACTAGAATCGTCATGATGATCTTGTAGAAAAAATTGGAAAAAAATTAAGAATCTAGGAAATTGATTAGGTTGCACGCAGACTTGACACGAGCTCGGGCACCGAATCCGCATAGGCCAATGTTTTCGCATGCTCTTGAGCCCATGACGGGCAGAGGGAGTCATGATCGATGCATCTGAAATGGGGATATTATTTTTTACGCTTCAGGTTTAGGCCTATCGACCCCCGTTTGGATCTCCGGCTCAGGTCCTTAAATTGTGTATTCAAGCGTAGGCTCTCTCGCTCCAGCCTTTAGATTTTAACTTCGATCTTAGCCTTACACTAAGCTCTACGACTGATCTAGGATATCATACTAAGGGCCACTTTGGGCCTGAGGCATAGGCTAGTATCTCAAGCTTAGGATCTCACGCTTAAGCTCTCTGACGCAGGCCCATAGATTGCAATGTAAACCTTGGCCTTAGCCCCGACTGATTTAGGATATCAGACTTAGGGCCTAGGAGTTCCGGCCTGAAGCTTAGGCTCTCAGATTCAGGCCCTCAGACTTAGAGTCTAAGGCCGTTAGACTACGATTTTCAAGCTTACAATTAGGCTTTCACTTGAAATCAAAATCCAATTAAGTTCTTTAAAAATAATCAAACATTTCTAAACCGCATACAATTTTTTAAAAACTACCCTAAATATTTCAAATTTTAGAGGTTAGCCTGGACTTAAACCTTTAAACTTTTGGTCTCAAATTTAGCCTACAGGTCTGTGGACCTAAGATTTTGGACCTCGGACTGCGGCCCTTAAATCTCATGCTTGGGCTCTAATGTCCTGGCACGCTAAGTCCTAAATCTTTTGATCGTAGTTTCAGGCTTTCATGCTTTCAGGCAGGCTTTCAGGCTTTCAGGCTTTCAGGCTTTCAGGCTTTCAGGCTTTCAGGCTTTGAGGCTTTCAGGCTTTCAGGCTTTCAGGGTTTCAGGCTTTCAGGCTGTCAGGCTTTCAGGCTTTCAGGCTTTCAGGCATTCAGGCTTTCTGGCTTTCAAGAGGCTTTCAGGCTTACAGGCTTTCAGTTTCAGGCTTTCAATCTTTCAGGCTTTCAAAGGTTTTCAGGCTTTTATGTTTCAGGCTTTCAGGTTCAGGCTTTCAGGCTTCTTTATAGGCTTTCAGGCTTTCAGGCTTTCAGGCTTTCTGGCTTTCAGGCTTTCAGGCTTTGAAATACTTTCAGGCTTTCAGGCTTTCGGACTTACCGGCTTTCAGGCTTTCAGGCTTCCAGGCTTTCAGACTCAGCTTTCAGGCTTTCGGGTTGTCAGGCTTTCAGGCTTTCAAGCTTGGCTTTCAGGCTTTCAGGCTTTCAGGCGGGCTTTCAGTCAAACTTTCAGGACTTTCAAACTTTCAGGCTTTCAGGCCTCACTGTTTCAGGTTTCAGGCTGCTTTCAGGATTTGAGACCACAACTAGACCGGCAACACAAGTGTTGTCAAATTACTCACCTCTTTGCCGGCGCTTTATCCGATGCATATTTGATGGTATCTCGATTGTCTTTGAAGCTTTTCAACCCGCCCCAAGTTTCCAGCTGTTGGAATGATCGTTGTAACATCAAAAATCATCATCAAAAATCGTGGTGACCCAAAATTACCTGATTCTCAGCCAAGAATCCATCCAAACTTGCTCTACTCAACTCGGAGACAGGAATGAAGTACTTGACGTGGGCTTTTCCCTTTGCCCAATCTTCTGAGCCACCGGATGCGGGGTCTGGAAATATTTTGAAATTTTCTCACATACATAGGAGCCTTAAGAAATAAGCGCTTACAAAGTGTATCTGCACCGGTTCCAACTTTGTACTGCGTGTTGAAGACACTATAAGCCTGAGCTGACTGAGAGGGCAGTGGATCTCTGAAATATTCAGTAAAATATGACCATGAACTTGGGCAATTCCCGTATTTTTGTAGATGACACCGTAATGGCTAAACACGGGGTGCCAGAGTGTCGCGTTTTGATCTACGTAGATCTGCAAAAAATGCGGGAACTGATTTCTCATCGGTTAAGAACGTGCTGACAAATTATATTGAGCGAAAAATTCCCGCATTTTTTTGTTAAGATCAAACCGTAATGGGACAGCCAGGTACCAACTAAAAAATTTACTCCAACCAAATCATTTTTCAAATCATTGGAATAAGTTCTGTTGATGGCCGAACGGATACATCAAAATTTGACTGAGAGTCCGAGTGGAAGGTGAGGAATGTCGAAATACGGTGTCGCTGCACGAAATCTCACCGCCGCAGTCTCGGGCAATATCCGAGAAGGCTGGTTTAGAGGCTCCCTGATAGATTTCCGAGGAAGGATTGATGAGCCGACTTGTCCGTAGAACCAGTCAAAGTTTCGACTGAGGTCGACACCTTCAAAGACAGCGGGTTGTTGAGGGAGGTTGGGAGAGTCCTGAAAGGTTCTTATTTTTGAGATTTTTAACGTTCACAGTCGGAGAATTGCCGCAAAATCTTAGTTTTCATAGCCTGTGTGACATTATTAGGGCGTATCTAAAGTCCAGAAAGCGTATGCCTTGTGCTGTTTTTGCAAAAATTGTGCCCAGTTTTCCCACTTTTTAGTGGTTTTTGATGGGTTAAACCTAAATTTTCTGAATTCAAGTTTTTACTTTTTCCAACTGTTTTTTCAGCCGTCGAATGGCTGTCCTTTTTTTTGGGCAGACAAAAAAATAATCTTTCTGAATAAGCTAATCGAAAACAATTATAAAAAAGGCAATTTTGTAAATTTTTTCTAGTAAATTTTGAGTCCTCTACAAAATAAACTATTTTGGACGAGTTTCAAAAATGTGAAACATTTCTACAAAAATTGCCCAATTTTTGCCCTTTCTGGTGGTTTTTGATGGGTTAAACCTAGATTTTCTGAATTCTGCGTATATAAATTACACGAACAAATTTAGACATTTTTTTTATTTTTAATTTTTTTCCAGCCATCTAATGATGATTAGTTTTTAACAAAAAAAATTTCTGAAACACAATTATTATAAAACAGGGGTGTGCGGCAAATCTCAAAATTTGCCGAGCACGGCGAATTTGGCAAACGGCAAATTTGGCAATCAGCTAATTTGTTGAGCTTTACAATTCCGCAAAAATTTGATACTTAATTTGAACCACCTAAACTACTAATTTCTGAACAAAACGTGTTCAATAACTTGATTTTGTGCCATTTTTCTAAATTTTTGGAAACCAATAATTTTGACAATAATTTTTGAGGCTAAACTTGTATTGTCAAATTTTTGACGCGGGCGGCAATATTTCAAAAATTTCTGAGCTCGGCAAACAGCAAAATCGGCAAATTTGTCAAATTTGCCCCACATTTTTTTTTGGTTCATAATAAAACACTAACATTTTAGATTTTTCATAATTTCCCGTCGAAGGTTTAGCAATTGCTAAAATTCTGAAAAATCTGAGTATTTTAGGAAACCCAAAGCAATGCGGCATGTTCCGACCCCAATGTATTAATACAAATGATTAAAACAAACGAAATTACAGTAGACAAAATGTAGAAAAAAAATTATTTTTGGTCGACTCCAAACGAATTATGAGTGGCAAAAACTTTGTAATAGTCACCTTTTGACAGTAAATAAATTAGAATTTTTTTGAAAAGTTTTATTATGATATTCGGTCATTGTGGGACCAAATGAGTGGTTTTTAACTATTCCGGCACTGGCGCAGTCCAGCATTTGCCGTAATCTTAGTTTACATAGCCGACATATGCGGGCCTAACTGAAGCCCAGGAAGCTTGTTTACAAAAATGAGCAAGCAGAAAAAGATCAATCTCCCCAACAAACCTCTTGCCTGTTTATTACACTTTGGTGGTGAGCGATTCTTTCTCCATAGTCTGATCTCCGGATGTACATAGCTACTTCTACTGTACTCATAAGCATCCGGATTCAGCAGTGGAACAATATTCCATTCGAGTTGATCTACGAATTGCATGATTTGAACATTTGTCGTACTGGGTGACCAGTTGGTGAATGAAATAGAGTACTGTCGATTGTGACACCCATTCACGAGCATGGATTCCTCCGTCCACCCAGATGCCACGTTTCGTACGTTACGCTTGTTGGTGATCTGGAAGTGAGGAAAATTGGGGTGAGATGGGATCACTAAATTGTTAATAGTTTCTGTGCTTCTGTGTTTATGTTTTTTGCGCTCCATTGGCAAGAAATCGCCTGCCCATCAAAAACCGTCAAAAAGTGGCAAAGCGGGGCAACTTTAAATTCCCAATTTTGAAACTCCTCTAAAATGGTTTAGTTCGTAGATAGAGAGGACTTAAAACTGATTTTTCTATAAATTGTCTAAATTTGTATTGAAAACGGGTAATTCTTGTATATCAGAAAATGGTTTAACCCATCAAAAACCATCAAAAAGTGGCAATAGTGTTCTCGGCCATTTTTGCGTGATAAAAATTCACAATTTTGAAACTCCTCTAAAATGGGCTATTTTGTAACTACTCAACATTTCCAAACTCTAAAGAATTGTTCAGAATATAGTGGTTTCAATAATTTTCGAACAGAATGTTTTTTGCCCAAAAAAGGATGGCTGAACAAAAGGCCGAAAGAAAAAGAGTTTTACACTGAAAGCAAAATCGTGACGCGACACGAAAGCTAGGTAAATCGACCCCAGCCGTTCCAGGCCGAGTTCAAATTGCCAAATTCGGCAAACTCTCACATTTCAGGCTATGTATTTCAAGCGAGAAGCGCGTGCGATTTCTCAAAAACCGGCAACTCAGTTGGGAGGACTTTACGAAAAAAAATTCCAAGGTATAATTGGTAGGTTTAGTCATGTTGCATGGTACTTAAAATGTTTTTTTAACTTGCAAAAGTGGCTTTTATTTTGCTTCTTAGTTTTGCAAGCCGAATAATAAAAATATTATCCACGTTTTTAATGCTTCCATGGTAGGCAGCCGCTCGCCAACATGGAAGCCCTACATGTCACGGATTTTTCGCCAGAAATTGAAATGTGGAATGAGCTATGCCGTACGAGGCCAGGCCATATCTGTGGTAGATTTACGGCGCGTTGCATGTCGCGTCGAGGCTCGATTTTAGTTGAACAACTAAATGCATTGTCCGAGTGGAGTACACGACTTTCTCACGCGGGCGATTGCCAATGGCGCGCGAAAAATTGAATAAGAGGAGGGCCAGAATCCCGTGATCCCGTCCAAGCAAAGTTAAAACAACAAGCAAACCTTAATCAACGGGATCTGCCGTCCTTCGTGAGTCGAAGTTCCGATTGGCTGCAGACACATCCGGATATGGTTAATGACGTTCAGGTAGTTGATAACATCATCAAACGATTGGTGATAGGCGTTGTGCAAGGTTAAATTGAACCTGCAATTATTGAACTATTATCATTGAGGAGAACGTGGTGTCTGGGTGCCTCATTTTAGATTGATCGCTGATCGACAAAATGCGGGTGAAGAGAATGATTTCGAATGGTTAAAAACGTGCTGACGTCACATCTTATGGGCTGAAAATTCCAACGCATTTTTTGTAGCTCAAACCCTAATGTGACAGCCTGACACCACATGTATTCACTCACTTTCTGCGGCTCCCTCCAATCATGCAGTCGAACTTGATTCCGAAGCTAATCCCGCTTCCTTCTGCTCGACAATCACTGTGAAATGATCGATGAAAAGATAAGTTGGGCTTAATAGTGTCCCCCCACGAATACACTCATCACGCGTAACGAGCCGTGATGCGCGGTGGTTTGAATAAAGAGTATTTGGACTAGTGATCCCCCGCGAAAACCTGTATCGCGACTACGTGATGCCAGGGTGTCTCATCACGCGGGTTGATCTACAAAAAAAGCGGGAATTTTTTGCCCAAAAATGTGACGTCAGCACGTTCTTAACCCTGGAGCACCGAATTGAAGCAGTTCCCGCATTTTTTGTAGATCTACGTAGATAAGCCGAGATGACACACTCTAACACCACGTGGTATGCGCCGAAAAACTCACTTCTGAACGGCACCAATCATCGTTAACGGAATGCTTAATCGAAGGATCATCGAGCTCTTTCATAAACTGCCGTGTTTTCTCATCGGATATCATCACATGAAACTCCTTGCAAGCTAAGCTCCGACGGGGATTTCCAAAAATCTAGCGGAAAATTTTAGTGTGTCCGGAGGCACCCTAGTATACTTATATTTCAAAATTTTTCTCTAACCCCTCAAAACCGTACTCTACATCGCCGTACTGGCCGAGTGGTCTAACGTTCAGGTCGCAGTCTCCGGAGGGCGCAGGTTCGAATCCTGCGGACGGCAGATTTCTTTTTAAATACTACTCTTCAATGCATGATGAAGAAGAAGAAGAAAAAGAAAGAACGTATTGGCTTTTACTTTTACACTTTTGATAATCCCTAGGAACAGGTTATAAACAGCGATGCAACATGAAAAGCAGCAGTGAGTGAGATGGACAACGAGCTGATTTTGTTCTTCAATTATATGACACCGCTATTTTAATGGTTGGTTTGTTGCGTGGAACATCATACCTTTAAATGGTTGAATTACAAATCATGTAATAATAATGTCTACTTGATTATCTTGGGTCGTCGGCTGCACCATCCATACTGTGAATTTTCTGAAGAATCTTTCTGAGAGTTTACCGGCTGTTGGGGGAGAGTTTACGATTAACGTTTGAGTTTTTGGATAGATCTAAATCTAGAGAAGATCATGCGGCGGTTAGGTATATTTGAAATAAAAAACAATTGACCTAGATATGAAACATGGAGATCTAATGGATTTGGTAAAGTTGAAATTATTATTTTTTTGAAAATTTGTTCATTTTACAAGAAAAGACGAATAAATATTGACCAAAAAAATTTTTTTCAATCAAAAATGTATAAAAATTAATCATCGTTCCTTTTAGCTTTTAAACAGCGGTGGAGTAGCCAGTGTGGATTTTGTCTCCCTAAATACAGTCAATTATTATGAACCAAAATTCAAATATCGTGTAATACAACACTTCAAAAAACTTCTTTATTTCAGATTTTTCATAATTTCTGGCCAGACTTTTTGCAAATTTCCAAAATTTTTCAGAATGTCGAAGTTTCCGACCCCTGCAATGTTTTAATAGAAATGATTGAAACAAAATTACAGAATAAAAAATGTAGAAGATAACTTTTTTTTTTTGGTCGACTTCCAAAATTATGAGTGGCAAGAACTGTGCAATTGACACTTTTGTGAAAATAAAAAATTTTAAGAATGTTTTTGAAAAGTTGTATTATGATATCTGCCTCGGTCAGTTTGGGACCAAATATGAGTGGTTTTTAATAATATTCAGAAGCCACTGGCGCTACTCCCCGTTTAAAGTTCTATGGTTTTTAAAACTCACGTTTTTTTTTATGAAGTCTATTTTAAATCTGGACTCTCAGTCGACAGAGGTTCAGCATTTTTCGAAATTTCAGAAATTTAAAACATAAGTCGGGTCCTAAAAGCTACAAAAAAATTCTCACAAAATGTTTTTTTGATGAAAGCAAACTTATATAGGAGTGCCAAAATGACCAAATTTTGGTTTTAAAAATGATATTGAAAAATCTTTAGAAAGTCTCTTCTGGTTTTTATTTATTTTTAAAAAATTCATATTGAAATATTATAGTGCTTTAGATTGCTCGGAAAAAATTCCACACATTTTTTAATTTTTCATTAGTTTTATAATGATATTTGGTCATTTTAGCTATCTCGGGTAATACTGCAAAGCCACGTGGTGCCAGGATTTCCCATTAAGGATTGATCTACAAAAATGCGGGACTTTTATTCCGCTTAAAAAGACGACGTCAGCTCATTTTTAACCATGCGAAATCAGTTGAAAACTGTGCCGCAATGATTTTTTGTAGATCTAAGTGGGGAGATCAAACCGAAATGGTGAGACATACTGGCATCGTGTCCACCTTCATAGTTAGTAATTGCATAAACAAAAAATACTGAGAATGCGTATTGCACAACGTATTTGACCGAACGCGCAAGAATATCTTGCGTTGCGAAAACTACAGTAATTCATTTACTACTGTAGGTTGGTTTGCCACGCAGGCTGGATTTTTTGAAAAATAAATGAATTAAAATAGTTAATGGAATATTACTATCTCTATGTATTAGTAAATAAGGTTGAACCCGTAATGAGACCGCTGCCTACCTGCCTGATTATAGATGGCCGCCCTAAAATTAGGCAGGTAGGTTTTAACGCCTAGCCAGATACAAAACTTAAAGAGAAATGCCTAAAATAACAATAACTTACATCCTTTCTTATCGTCCTCCCCGGCGATCGCCTAAGATCATAGCTAACAACTAGCCGCTTTCGGTCATGCAATTATTATATTATAATTGATGGATGGATGGGGGATAATCCAGAGAAAGGGGTGAAAAAAGAAACATACCTAGAAAACAGGTTCCCCTGACTCAAAACCTACTTTTGATGTGCCACCACGGATGGCACGACGAGATACGATGATCACGTGTTCATCTTCATCATTTTCATCGTAGTAAAACTTGGGGGGGCTGATGTGGGAAGGATGCCCTCGTCAAGTGTTCGTTGAACAATCCGACACGGTTATCAAAAAAGCAGTGGTGTCTCCGCCCAACTTCCGCGCGTCAGCCGCCCTGTGTACTGTCTTGTCCTATAGCTCTCTTTTCTCCACCCCGGCTTGCGGGTGAGATTGTTCTCATTACTAGGTGAAGAACGTCTCTAGTAGAAGAAGAAGAAGAAGAAGACGACGATGGAGAAGAAGCTGAAGGCACGACGCACTGTTTGCGCCACGATGTTTGTTGTGTTTGCGAGCGTGAGCGCCGCAATTAAAACGTGTAGATCGGTTTGAAAAGCGCGCGCGCGCGGTCATCTTTCTCCGCTTGCGCGCACGCATTGACAAAAGACCGAGACAAAAGGTTCAAAATTGAAGAGGCAAACGTTCGTCCTCTTAGCACCTAAATGTGGAAGCATAAGATTTTGCTCTGAAAATGAAGTTGGGTAAGCTATTCCTGGGTGATGTTCTCAAATTCCGGGGGCATTGTTGGGAAAGTGAGGACCAAAATAGGCCATAAAAAATGCAGATATACATGCTAAGGCTTTGGGGGCTTAGGCGCAGATTCAGGCTTAGGCTTAGGCTTAGGCTTAGGCTTGGAATTAGGCTTGGCGTCAGTGGCGAGCGTGAGCTCGCCACGGACGCTATTTAATTGGGTTTATAACGTTTTTTTTTCGAGTTCCCGTCGAGCGAAATTCAACTGAGAGTCGTATAGGCCGCCGAGAACCTGACGTTCCAAATAGGTGACTTCATTAAAACTCTTAGGCTTAGGCTTAGGCTGTCACTAGGCTTAGGCTTTTAGCCATGCTAGCTGATCCCGAACATATTTTTAAAAATTGCAATATGTGACCAAAAGCTGTATTTTTCAAAAATCCAAAAGTACGCGAAATCATATGAAGTGCTTCTTTTTCTTTCAATAAACTGTTCAGAATTGTCATTTTTACTAGAAAATACCACAAAAATATGCTAGCTTGACCGGAACATATTTGAAAAAATTAGAATTTTTGACCAAAAGCTGTTTTTTCAACAAGTTGAAAAGAACTGGAAAATCATATGCTTCTTTTTTCTTACGTAAAACTGTTCAGAATTGTCATTTATACCAGAATATATTAAACAAAGTATGCTACCTAATCCGAAACATTTGTTTCCAAAATATTTTAAAAAAAAGATTTAGCGGCTCTGACTAAATTGTTTGTTCGTTTTTTCTGGTTTTTCCACTTTTTCGGTGAAAAATTTTGTAAAAAATTTGACCGAGGTGCGTGTTAGAGTTGAATTCATCAAGTTTTGACATTATTTTAGTACGGGCACAGTTGCTGCAAACGAAATTTCCAATAACGCTTATTTCTCGGGATAAAGTTATTCTATTTTTCTTTGCAAATCTGCTAATTCTACAAATCTACTAACCGAGGTGGAGTTGAACACCTTTCCAAAAAGAAGTAGCAGTCCTGAAAATGTTTTAGTGAGGCTTCTCATTATTCTAGAGCCCGAGCCACTAATGTAATTGTTCCAGAAGTAGTTTATAAATTTTTGAACTGATTTTATCCTCTCCATGATAGAGGAATTGTTAAAATTTTCAGATCAAATTGGAATTTTCACAGCCAAATATTTTGGTAAATTTTCCACAAAAAATTGGGCGGAAATTGGAATATTAATTTGATTTAATTCGATTGGAGCAGAGTGTATAATTATTCAAAGTTTCCTCCCTTAACAGCCATTCAAACGCATTCGGCTTTTTTCTTAGTTTAGTTTTTCTTATATATGGCCTGCAGGCTCTCACCAAGTTCCGTTTTACCGGAGAGTTTAAGTGCACAACAAATCCTGAGATCCCATGTTGTAGTTTGTGAAGACGATGAGGTGTTTGAGTAGAAAAATGAGAAATGTTCTAGTATTTAAATATTATAAATTGTTTCAGCGAGAACGTTATCAGTAAACACCATTACGTGTTCCATACATATGCACCACATATGTCGCTATCTCGTTAAGGCTGAAGATACCAATGACGGATTGCCAAAGTTTTTGGATGTATTACTTTTTTTCCGTTTTCTCTAGTATTTCTCAGAAAATTTGAATTTCCCGGTCACCAAAATTTTCCGAAAATTTGAATTTCCCACCAAAATTTTTTATCAGAAGATTTGAATTTCCCACCAAAAGTTTTTCAGAATTCAAAAAATATGAATTTCCCACCAAATTTTCATTTTTTCTCAGAAAACTTGACCGCCAAAGACTTTTATCTGTCTCAGAATTTTGAATTTCCCGCTAAAAAATGTTTCTTAGATTAAAAGTCCCGCTAAGTAAAAAATTTTCGTGAAGAAAACTAAAAACCCCCGCCAAAACTTTTTCTCACGTAGGAGTTTGCATTTGCCGCCAAGAAGTTGTTTTCCATAAAATCTGATATGAAATTCCCACCCAAATTTTTTCTCAGAAAATTTGAAATTCCCGCTAAAAAATTTTTCTTCAGAAAATTTGAATTAGTCCCGCCAAAAAATTTTTTTCTCATAAAAATTTCGCTAAGCCACCAAATTTCGCAGAAAAAATACCCGCCACAAAAAGTGAACATTCTAGGAGTTTAGACTGACAGTTTACCGAAAAACCTTGACTGACGATTTTGGAAGATCGAATAACCTCTTAAATAAAACCTCTAACTCGTAAAAATTGAAAATTTAAATATATAGCTTTGCAGTCCTATTTAGACGTGTTATACATGATATCGTCCACGATTGCACGGAGAATGGGAAATATAAGTTGTTGAGTTGACTTGGGATCTTATTATATCAAGGATGGGTTAGGTACTTTAGGGCAGGCTAGCAAATGGCTTCCACGTGAAGCAGAAGCGGTTTGCCGGCTTCTCGCCTGATTCCTGCACTTTGGCAAAAATTCCAAGCCTCGATGCTCACACATAGGGCTGGCTTGGACGTCGCGTCGGTTTTTGGCAAATTTTAAATCTTTCCGAGATAGTTTTTTTTGTACGGCGACGTCCGACAATTTCCGAGTTTGGCCACTCATGATTATATTGGATTAAGTATAGTGCCCCGAGTGGCCAAACTCGGAAGTTGTCGGCCGCCGTAAAATAAACTACCTCTCGGAAAATTTTAACATTTCAAAAAACCGGACGACCGGACGCCATATGTCAGCCCTACTCACACCAAATAGTACGGTCTATAAGCGGTTTTTTTGCCGCAGGCCGACACTTTATGGTTTCCACGCCGCACTGTACAGAAGGCGCGGCCCGAGGCAGTTGTCAGGCGTTTTAGCGCCTGTGTGCAAGCTCTAGGGCAGGCATGTTTTCAAAAAAATGAACATTTTCAGGCAGTACGATGAAACCCGCAACCTTGATCTGAACACTGCCGGTGGGACGAATGGACATACGAAGTATCGGAAGAAAGGCGATAGTGATGTCCAACATATTTATTTGCAATGTTTGATAATAATGTTCATCAATATTCGAGCCTACGTAGGCTTACCTGCCTACAAAGTAGCCTACATATATTATTTTTGCTAATTAACAAAAATAATTAAAACATTATTAAGATTTGCTGAAAAAGCAAAAAGTGTTTTTAAGTTCGACTTTTTGCCCAACAGGTTTACGTTAGGCATGTGACAAAGCCTACATTCAAGGTAATCTACGCCTGCCTCGGTACATGGTGCATCGACCAATACTTACCTCTTAGCTTCGAGAGGTTATAACACGGTTACATTTCGCTCTATCAAAATAAGTGGCCAACTGCAAAAACTGTTCTCCAATGCTTTTTCTACAATTTTGTGGTTAAAATTTTTTTAATATCTACACTAGCAAATATAAGCCACCAACCCGTACAATCCGCGCCGCCCCCCGAGAAAGCAATTCAAACCCAAGTTTATTGCAATAAAAACAACACAGTAGAAACGAAAGAAATGAGGTTGATTTTGGAGACTTTTCAGTTGGCACGGGTTTTACATTGTTGGCATTATTCAGATTCGATTGAGAAGGAGAAGTCGTGGGGAGGCTGAAAAGTTCTAAAGTTGTTGAAAAAAGTAACAAATCTGCACTTTTTTAAAAACCTGATTCTTCAAGACTTCCATCCATGGCCATAAGTGCACTGAACAGTCTGTTGCTCTTGCTCTTTGTGCTCCGTGTCCTCGGAGCAATCATCAACCTTGTCTGGAACTGTCGGTGTTGGTCAGTTGACGAAGCCAAGGAGGAGGATGGTGTCGCAGTCTTTGGTTTGGGAGATGAGGGCGGAGCTGGCTGAATAGCGGTGGAATTGGAGATGCAATCTTTTTGGGGTTACTGCAGACTGTTTGCTCAAACTCTTGCTCCGCGATTTTGTGCTCTTTTTTGGTTTCTTCTTTGAGGGCTGGTTGTGTTGCTTCTTGCTTTTATCTGAAAATTAGAGTTTCTAGGCAATCAAGCGATTTTCTAGGCGACCAGACATATATTTAGCCATGTCGGAATTTTCTAGGCCAACACAAATAGTTCTAGGCCATATAATTTTCCTAGGCCACGTAAAACTTTTCTAGGAGACCACCAACAGTTTTCTATGACCGCAATTTTTGCTAGGCCACCAACAAAAGCAAATGAACATAAGACATAGGCCACCAACAGAATTTCAAATTTTTCTAGGCCTTTAACTCACATATTTCACAATGGAAGCGGCGGCGAACACGATGAAGGGTACAATGAGAATGCCAATGATTATGCATTATCACTACTTTGGTCCTGGCGTAGTCGATGTCGCATGCTGCAAAAATGGAGGTACAGGAAATCAACATGCAAACGCGCTACCGTGGCACTAGCAGTGCGGTAGAGCGCGTTTCAAACTAACAGCCAGAAGTTGGCGCCGGTGCTCGCTGAGTGGAGGTGGCCATTTTATCGGAAATGAATGAGAAAATGGAGAAATTTGGGAAAGTTGATTAGAGACGTGGGAGTTTTTTGAATTTTTATAATATTTATGAGTAGGGGGAAGGGGTGAGGGTCACAGCAGGAAAAGACCAAAAATTTGTGATTTTTCCATTAAATTGGAGGAAAATTGACACCATACCTCGTGGCCTAGAAACTGCAGAATTTCTAGGCCACACACGTTTCGTCATAATTTACCTGTTAAACCAGGTAAACTATCAAATAAAGAGTGATTAATCATCTCCTATCTTCTTTTATTGCTCAGTTCCTACTCCAAATGTTTTCTTTTTTGTAATTTGTGATCACAAATTGTTGCATTTTAGTACGCCATGTACGTCTGTGTACTACTTTTTTCTGAAAGAAAAAATGTTCGCTTTCAAGAAAAAATAGTGAGAGGTACAACCGAAAAATACGGGGGACTAGAAATATGTGAATAAGAGTTCGACAACCTAGGCCGGTAGGCAGGCAGGCGAGTAGGCAGTTAGGCAGGTAAGCAGGTAGGTAGGCAGGATAGTAGGCAGGCATAATAACGTTCAGATGCAGGCACGTAGGCGGATGTTTCGAGCAGGCATGAAAAGTCCCGGGGGTAGGATGTGGGTATGTAAGCAGATGTCGGTATGTTGACAGTCATGCTGAAGGCACGTGGGTAGGTAGGCAACTAGGCTGAGGGAGTAGACGGTCGGGTAGGCAGGCGTGAGGCAGACGCGTAGTAAGAGTAAGCCAGGTTGCAGGCACGTAGGCAGATGTAGGATGCGTATGTTTCTTGTAGGCATGCTGAAGTCATGTGGGTCGGCAGATTGGTAGATGTAGTACGCAGAGTAGGTATGTTGCGGGTATTATGAAGGCACGTGAGTGGGTAAGAGCAGAAACCGCAGGTAAGGCAGGCAGGTAGGTAGACATGTAAATATGACAGGCATATACGGAGGGAGAACAAGCCATAATTCAGGGTGGCACTTAGGCAGATTTAGGTATGTTGTAGGCATGATGACGTAACGTGGGTAGCAGAGAGGCACGTAGGCAGGCTCGTTAGCTGGCAGGCATAATAAAGACACATAAGCAGGCATGTAAATCTGCGGCAGATACGTAGGATCACAAGAGCAAGATGTAACTGGTAGGCACGTAGGCAGGTGTAGGTATGTTACAGCCATGACGGTGGGTATGCAGGTAGGTAGGCAGCCAGGCAGGATAGGTGGGTGCATAAAAGACAGGTAGGCTCTCGGGTAGACAAGCATGTAAAGGTGCAGGCAGATACGTAGTAAGAGCAAGCTAGGATGCAGGCCCGTAGGCAGATGTAGGCATGTTGCAGGCATGATGAAGGCACGTGAGTTGGTATGTAATCGGTGAGTAGGCAGGCATGCAGGCACATAGGCAGATGTAGGTATGATTAGGCAGGCAGGTAGGAAGACTCAATGCAGCCGTGGTGCTAGAGCGCCCCTTCCTAGTTAAGACAATCTCGTTATTCTAATAATAAGCTATTCAATCATGTCACCGCGCCGCATACACAAACTACCTGTTTTTTTGAGTATGAGTCTCGCCCGTTCTCTGACCAAAAGCTTCTACAGAGTGATTACACAGTATAAGGGGTAGAGAGGTTAGATTCAATCATGTCTCACTTTTTTCCCTTTCTCTGATTCTTCCTTCTCCCTTTTTTTACAGGGCGCTTTTCCCTTTTTCGTGCGTGAATATGAAGAGAGAGAGTGCATACAGGTGTAGAGGACGCCCAGACATCGAGACGGAAACAGGTTCTTCATCGTCTTCAGTTATTTGGAAGCAGGAGTAAAAGGTGACGGTGTGTGTTTGGAGACGTGTAACCATCATGTTTTATAACACTTCCTTGCTCATTTTTCTCTGCTTCTCTGCCGTCTCTCTATACACACAGTCTTTCGCCGTTTATTTATTACCCAATCACAGACGGATCAGCTATACAGAGGTTATACAAAAAGCGACGGCGGATACCCTCATGATGTGAGTTTTGTTTTCGCTTTTGCAGCAGATACAATTTCTAGGCCACCAAAAATTTTTCTAGGCCGTTGAAAAAATCACTATTTCTAGGGACGTTCACAATTTTGAGCAAGTTCTAGGTTGATGAATTAGATTATTACGCCATGGTGCATATTTCTAGGCCATCAGGAAATTTTGCAGGCCACCGTTTCTGATGCAGTTGAACTAAGTTAGTGGCCTAGAAAACCCTTTGCCCGTTAGCCTAGAAATAATTACGGCGCCCTAAACACATTTTTGGAGGCCTAGAAACACTAACTTTTGGTAGCCTAAAAATTTTCTGTGACCCACATGGAAACATTGTTGGCGGCCTGAAAACATTTTTGGAGGCTTAGAAATATTCTTGGCAGAAAACATTTTTGGTGGCCGAGAAATTTCTGGCCTAGAATGTTTTTGTGGTCTATATTTTGGCCGGCATAAAAAAATTTGGAATGGCTTAGAAAAATTTTTTTGGTGGTTTACAGCCACTTTTCAACGACCCGTAAAGAAACATTTTTGGTGGCCTGAAAAGATTTTTGGTGGCCTAGAAACATTCTTGGTGGCCTGAAATTCACATTTTCGGTGGCCTAGAACCATTTTTGGAGACCTGGAAATGTTTTGGTGGCCTAGAATATTTGTCGTGGCCAAATAGAATATTTGTTTGTTTGTCTAGAAATATTTCTGCGTAGAATGTTTTTTGGTCTATAAATAATTTTGGTGGCCTAGAAATATGTCTTGGAGACCTGATATCATTTTTGGTGACCTCGCATAAATATTTTTGACAGCCTAAAAATTTTCGGTGGTCCAAGAAATATTTCTGATGGCCTATAATGGTGTCGTGGTCTATAAATATTTTTAATAACCTAGAAACATTTTGACTGGGGGCCTTGAAACATTCTTGGTGGCGCCCTAGAAATGTTTGTTTCCTAGAAACATTCTTCGAGAAACCTGAAACATTTTTGAATCTGTGGCCTAGAGACATTTTTTATGGCCTAGACACATTTGGATTTGGTGGCCTAGAAATGTTGCTGATGGCCTATAATGTTTCTGTGGTGTATAAGTATTTTCGGCGGCCTACAATATTTTTGATCGGTGACCTAAAACATTTTTGGAGAGCTGGAAATGTTATTTTGATTGCCTCGAAACGGCTTATTTGTACTGTGCTGAAACATTATCGGTGGCCCAGAATGAGACCTGAAAACATTTTTGGTGGCCGAAAAAATTTTAGTGACCTAAAAACTTTGGGAATTACCTGGAACCAATTTTGGCGACCTAGAAAAATTTTCCGGGGCCTACTAAAAATTCCCAATAATTAACAAATTTAGCTAAACTACTTCTGGAAAACGGGGACAAGCACGGGTCTTGGCATGTGATGGGGATATGAAGAATTCGAAATATTTTTTGGACTTTCTACAAGTAAGATATTTCTTACATAAAGACGAATCGTGGAGGGGTGAGCTTTTTCTGAAATTTTGAAAATTACATGATGATTGGAATATCTATTGATAAACGGTTAGGATCGCAATTTAACGATGATCGACAAGAATCTCCGTAAATACACAACGGCACCACATCTCAAAAATTCGTAGGCCACACGTGTGACGCCATTTTTCTTCCAGAATAACAAAGCCCGTGAGAACAACAAGACCCTCTCGAACATGTGTGGTCCCCCGTCTGTGGGATGACTCCTCGTCTGTCATCTCATTATGACTTCCACACCTATGGATCCTATCAGCGAATTACTGATTGGAATCAGCTGGTGGTGAAGTACAAAGATGGTTCAGTATATATCGATTGGAAAAATACGGAGGGCAGGAATATCGGTGGAGTTGAGGTAGGTCTAGCAGGCTTCGGTCTAGGTCGAAGTCTAGGTTTAGGTCTAGGTCTCAGTCTAGGTCACTTAGGTCGAGGAATCTAGGTCTAGGTCTAGGTACTAGGTACACTAGGTCGAGGTCTAGGTCTAGGTCTAGGTCTACGTCTAGGTCTAGGTCTAGGTCTAGGTCTAGGTCTAGGTTTAGCTCTAGGTCTAGGTCTAGGTCTAGGTCTATCTAGGTCTAGGTCTAGGTCATGTCTAGGTCTAGGTCTAGGTCTACTAGGCCTTCTAGGTCTAGATCTTTATAGGTCTCGGTCTAGGTAGGTCCTAGGTCTAGGTTGTCTAGGTCTAGGTCTAGGAGGTGTACGCAGGTGTAGGCCGATCGATTTCTATGTGTATTAGGCCTCATAGTGATTTTCTGAGATCGGCGGAGACTCCCGCACCAAAAAGATTTTCTGGATCGATTGAAGTATTCATGCTCGAGAAGGGGCGGCCCCGAACACGCCGGTCCCTTTGTTATTCATCCATCAGGTATGTGATCCGGCCCCGTCAGAAAAAGTGTGTTCCGTTTAGCTCCGCTTGACACAAATGTTGGCAGAGACAGAAAAAGGGACACCTTGATAACAAATGGGTTGGAAAACAAGGTAATCGGATGATGCAATCGCGCCCTATTGCACTACCTCAACAAAACACTTTTCCCAGTTGCAGCTTACCTCCAGGGAAAACGCGCCCGGAATCAAGAAATTGCTGAACGACGTAAGATCACATTTGTAGTGGTTCCCTGATTGAATCCAGTATGAGTTCACGAGGTGCTCCACCCACATGTAGGTTGGGGTAAGGTTACTGTACCCCCCCCCCCCCCCCTCCGCAACTCAGGCGCAAGCACTCCCAGCGATTGCAGGTACCGTTCGTCTGTGGTTCCGTAAGCTCGAAAAAGCAATGCCGTAAGGACATTTGGGAACGCAATCACTGCTGTCGCGGTGACGATTTGAATCGTAATTTCGATTTACACTTTAGAGATGAGAGAGAGGGTGAAGTGGTTTTTCTGAAAGTGGACTTGAAAATTAAGAGTCAAAGTTTTGAAAGAAAACTTTGACTAAAAAAAAACACCCTTGAGAATTTGTTCGAATATACGTAGTTGCTGAAAATTAACGTTGTGGAACATTCTAAAACCATTTGAATTTAAATAATTTTTTAAACATACCAAAAAATCATGGGTTCCAAAATTCACGAAAGTTTCGAAAGGTGATTCCCTACTCCTGAACAAACCTCCCCTACAGTATCCTTAAAGTACCCTACTCCAGTACCTATACAGAACTCCTGTAGTACCCTTACAGTCCTAAAGTATCCCTACAGTACCCCTACAGTTGCCCTATAGTACCCCTACAGTAATCTCGCAGTATCCTTACAGTAGCCCTACAGTATCACAGTACCCCTACAGTATTCCTACAGTACCCCTATGAACAGTAGCCCTACAGTAGCCCAATCGCACTGAGCCTTACAGCATCCCTAAATTATCCCTAGATAATCCCTACAGGTGTACCCCAACAGTACCCCTACAGTACCCCTACACCATCTCCATAGTACCCCTATAGTAGCCCCAGTAGCCCTACAGTTCCCAAACAGCCCTTATAGTGCCTATACAGAACCCTATAACATACAATACACCTACAGTACCAGTACGTAAATTACCCCTATAGTACCCCTACAGTACCCTGGCGGTACGTACTCCAACAGCAATACCCTACAGGACCCCCATCCCTACAGTACCCCTGAAGTACCCATACGGTTTCCTTACTGTATCCCGTGAGTATCCCATTACAATACTCTCACAGTACTCAGTACCCCAAAAGTTCCCATACAAAACCCCTACAGTACCCCGACAGAACACTCACGCTACACTCCCGTATCCCTACAGTCCCTGAAGCTACAAAAATTTCCCCCCAACAATTCAAAAAAGCGGTACAAGACGAGCCCGTGCTCAGAGATCTACCAGGGATCCTCTCGATTCAGTGAGCCCGAGGCAAAAGCCGTACGGGACGCGTTGTTGTCGCAGAGATATTAGGGAAGAACCGACGCGCGCCTATATCACACTACACACTTATTCACAGGGAAATGCAGTTAAGCAGTCGTCTTTTTCTCGGCCACCGATCACATTTTCTCGGCCATCGATATTTTCGCCATCGAATTATTTTCTCGGCCACCGAAATTTTTCGCGGTCATCGATATACTCTCGTTCACGCGATATTTTTCCCAGCAACAGATTTTTTTCTCGGTCACCGATATTCTGCCACCAAAATATTGTTTTTCGTGGCCATCTATCCCATTTTCATCGGCCATCTATATTTTCTAGGACACCAATTGTTTTTCTCGGCCTCCCCGATACTCGGCTACCAACATCGTTTTTCTCGGCCACCAATTTTTTTCGGCCTACATTTTATGTCTCGGCCATTAATTTTTGACGGCAATCCGAAATTATTTCGGTCACCGATATTTTTCACGGCCATCCGCCAGAATTTTTTGAAAATTTGATTTGAGCAAAAATCTTCAGATTTGGATCACACGTCCATATGGTCACAAGAAGGATGCATATCCAGGAGATATTAAGGATTTGGTGAGTTGGATGACGCGTCATTCTTCTTGAAACGTTGAAAGTCAGATTTCCAGTACGAAGTTGGCATAAAAGCTGCTCAGGCTCTGAAACGGGTTTACGGCACAAAATACGTAGTCGGAAGCGGTGACACGCACAACCCGGCGTCTGGAGATCTGAAGCTTGGGCAAATATAGGCGCGAGGCGAAGGTCAAAGTTGTGTACCTTCTAGAATTGAGGCCCGACGAGAATATAAAAAAAACGTTCAAAGTTCCTGAAAAGTTGGGCGATAATTTCAGCCTGGGATGGGGTCATAACGAGAAGGAGCTGATCCCGACACTCGGGTCTGGTTGAAGGTGTCCGAGTTGTGGCGGAAGCTGTGCTCGATCGGATAGTAGCCGGCAAGTCGACGGATGCTCCAAGAGGTAGGCAAACTTTGATGTGCCTGCGTTCCTGCCTTGTGCCTATAGTTTACGAATAGGCACGGAGCAAGTAGGCAGCAAGCGAAATGTGGACCGATAGGCGTAAGGTTAAGGGCTTGCGATGCTTTTGCGTAGCGAAAAAAAGAAAAATTTTTAAATTACAGTGCTCACGGCCTAAAGGAGATGGCTTCTTAGGTAGTCACTACGATGCTCCTTGACTCTCTGACCACAGCCCCTTGGTTTCTCGATTTTTCGTTTTAGAAATTACACTTGTTTATTTTATGATTGTTGACACGCTAAATGTTTATTTAAACATAATTTTTCTTGAAAAAACAATTTACATTTAGAGAAAATAGCAGCGAGTCGTGGCCGCGGAATGAAAAACTCGACCACCAGCTATAAAATTAAAACGTATAATAATTTGGTGGTTACTCAGTTTTGCAGAAAAGAATGGCTGGCCGAGTTTTCACGTTTCTAGGCCATCGGTTAGCAAAGTTGCTCTGAAGCGCTTTCGCGAATTCGTTTCCAAATAAAAACTGTAGGTGAAAACTCGACCGCCCACGCATTCTTAAAGCCACGAAATCGATTGGAAGTTCATAATTTCTCGGTCACCAATTTTTTCACGGCCACCGATATTTTCTCGGCCACCGAAGTATTTTCTCGGCCAATCAAAAGTTTTCTAGGCCACCAACTTTTTCTCGGCCATCTATATTTTCCCGGCCTCCGACATTTTTTCTCGGCCACCGATATTTTTCGCACCCGTCTATATTTTCTTGGCTACCAATTTTTTCTAGGTCTCCGATACTTACTCGGCTACCAACTTTTTGTCATAGATATTTTTCGCAGTCATCTACCTATTTTCTCGGTCAGCGATTCTTGATAACCCGTGTTTTTCTCGGCCAACGATATTTTTCTCGTGACCATCGATATTTTCTACCGGCCATGCCAAAATTCATTCTCGGAGCCACTTATATTTTTCTCGGACACTAAATTGATAATTTTCTCGGCCACCTATATGTTCTCGACGACAGATTTATTTCTCGGCCATTACTCTACGGCCTCCACCGACCTTTTTTTCGGTCACCGATTTTTTCTCCGCCATCTAGATAATCTCAGTCACCAACTTTTTTCGGTCATTGATATTTTCTCGGTCACCAATATTCGTTTCTCAGGCATCAATATTTTTATCGTCCACCGGTATTTTATCGGCCACCGAAATTTTTCGCGGTCATCGATACGTCACGGATATTTTTCCCAGCAAAGTTTTCTTCTTCACCGATATTCTCTCGGCCACCAAAATTTTTCTCGGCCCCGATTTTTTTTCCACAGATATTTTTCTCGGTCATATTTTTCTGCCATATTTTTTCTCGGCCCTCACCAATTTTTTTCTCGGCCTCGGAGTTTTTCGTGGCCATCTATATTTTCATCTGCCGTCTATATTTTCTAGGCCACCAATTTTTTTCTCGGTCTCCGATACTTTCTCGGCTACCAACTTTTTCTCGGCCACCAACTTTTTCTTGGCCACAGATATTTTTCTCGATTAATTTTTGACGGCCACCGAAATTTTATGGTCACGATATTTCACGGCCATTGATATTCTTTTTGCACGGTGATACTTTCTCGGCCACAAATATTTTCTCGGCCACCGAATTTTTTCGCGGTCCTATAAATTTTCTCGGCCTCAGCAATCGATATTTTTCTGTCTAGTTTTTTTTTGGCGGCCGTGACCTCCAAAGAATTACAAAAATAAACGATACATCTCATATTTTGTGCAACCTCAAGTACCCCCCCCCCCCCCCCTATATATATTGTTACAGAAGCCCCAAAAGCTCGCGCATTCCGATTCGGTGCGGCACCGAAGGAGTCTATGATGTTTCGATGTCCGAAACGCGTGCAAACGAAGGGTTCAGGAACGGCATGAGGCAGGACGGTGCCAATTTTCATGCGAGAACTGTGCCTACTCTTGCAATTTCTGTTGATTTTTTTGGTAGCACGTGGCACTTCTTATTTTCTGTATATCCATTTTGTCTTCTACATACAGGAATATATATATATATAGGATATGTTTAAAAACCTAAAACCTAAAAAAAAACCAACCTAATACAGTGTTCGACGAGCGTCCCCCGCCGCCGGCGGACACTCATTATTTGCATTGTGCTCACCGTGAGGTCGCGCGGGAGCCCCGGTGATGAGCATCTCTTTACGATGTCCACACGAATAATACAATAACACGGGCTCCTCTTCAAATATGACAAAATGTCTTTGGCGTTCTCTCCTGACTTGGAGCTTCTGGGTCTTCGACCCGTTCTTGTCTGTGAGGCGAGATGCGATTACCCTCTATATTATTTTTGGAGATTTTTTGGTTTTCTAGGGGCTGCGCCATTCATAATACAGATGATAATGCCGGCTATCATAATAAGTCCACAAAAGTACCCATATGGCCTTGAAGGAAAACTCTTCTTCACTCTTGGCGTGGGGACATTTGGTTGTCTGTGCTAGGTTTGATGCTGAACATGGTAATTTAAATTTCCGAGGCCATTGTATATGTTTTCTTCTAGGCTACGACATACAATTTTTTAGGCCACAAAATATTTTTTTTTAATTGTATAAAAACGGAATGTTCCATAAATTATCTATTTTTGAATTACAGTTAGTCTGAAAATTTTTTTCAAGGGCACCTGTCTAGGTCAAGAACGGATTTTTTACTGCCGGAGAACATAGGCATCAACTTTTTCTGCCACGATTAGACAGATGGAAGAGCTTTTCGTAAAAAAAGCTCGGCCTCCACCCCACCTAACCCGGCAAAAAACTTGCAGCTACAAACTAACGAATCAATCCGGAAACTGACGGAAGTAGGCGTGAGATATCTTCGAAGTCTGTAATCCCTCTCGATCTGGATTTCTGGCAGCCTCCTACGAATATCGGTTAGTGTGACTTAACCTCGTGATGCTAGCGTGCTCCATTTATAGTTTGGTCTACGTAGATCTACCAAAAATGCAGGTGAAGAGACGCTCTCAACTGATTCTGTATGGTTAAGAACGCTGACGTCACATTGTTTTTGGGAAAAAAATTTCCGCATTTGTAGATCAAATCGCGATGGGACAGTTTGCCACCACGTGCTTACCCAGGAAAATCTGAAATCGGTGTTCGAATTTTCAGGAGCTATCGTAGACTTGACAGTTGCTCCGCCGGATGCTCCAAGATGAAGGATTTAGAAGAAGGTCAGCTACATCGTGGCGGTTAATCATTTGTCGTTCGTTTGGTTTTTTCTAGGCCACGGCTATCTGTGACGTCACTAAACTAGTTTCCAGAGCAATCGAAAACGAGGGAGAAATTCTACAGTGTCACCCGAGAGTGTCGCTGGTTTTTCTGCATATTGCCGACAAGTCGGACAATGGAGGAGATACAAGCAGAAATGAAGCGGCTTAAGAAGGAATACCCGACCCCTTATCGATATCGGACAAAGTAACGTCCGTATAATCGTACGCTTTTGGTGATGGAAGGTAAGACATGCGAACGCGATCTATTGGGTGGGCGTGGTCACGTCCATTTGCAAAGTGGGCGCACGGTTCCTTTACAGTGGACGCCAGCTTTTGAAGTTTTGAGTAATTTTTATGGGAATTGCTACGATAAATTCATTTAAAAAAAACCCAAGAATACTTTTAAAGTCGTAACGAAAAAAAACAACCGTGCGCACGTCTTGCAATAAGTTAGGGCGCCCTAAATTTTAAAAACGAAGGAATTTCATTATTTCTAACGCTCCAAACTCATTTTCACTACAAAGAACACGCCTCCTGGGAAAGCCCTTACTCATTTGCTGGATATATGACGTCACTAAATTAGTAGAGTGAAACCAGGTGCGCTCCATTGTACTACGCACACCGACGTGGTGTCAAACAGTGTCCCATTTCTGTGTGATCTTCCATAAATGCGATCGGATTTCTAAACAGATGGCGTTCGCATGGTTAAGAGCGTGCTGACGTCACAAACTTTTCTCTGCAAGAAATCATTTTTTGTAGATAACACTAAAATGGCACTTTGACGCCACGAACCTGCGCTCTCACTTTCAACACTCCCATTAAGCATTTCATGTACGCGCCAAAACGCACGGATTTCTGGCTCCCATTTACATAAATTGAAATTTTGAAAAAGAGTGTGCCGAACTAGGTCATTTTGGCTCGGCCATATGTGGTGAGATTTTCACCGCGTTGCGTGTCGCGTCGCGGCTCAATTTAAGTTGTAAATCTGAATGTGTTTGTCCGTGTGGAGTACCCGACTATTCCACGCGTTGCCCGGAATGCTATTGTGGATGGAGCACGAACATGAAAATTCAATAGAAGGCCAGAACCCCCTGAAAACGCCTGCCGCGCCCCCGCCTGCCTTGCAGCGCGGAACCCAAAAAGTGTTCACGGCCGCGGCGAAAGGCCCTCGACACTATGTGGTGTTAATACCTAGCTATTGACGCCTTAGTGTAAAACAAACATGAGATAACCGGAGAACGAAACCCCCTCGGGTCGACAATCTCCATGTGGATTGACGCTGGAATTCATGCTCGAGAATGGATTGCTACCCGGCGCCCGCAATGTACATTGGAGCTTCTCCTCGGGTATGAAAACGACGCGACGGTGGCTAAGCTGATGGACCATATCGATATTTGTGTTATATTCTACCTGTGATGAACCCAAATGGGGCCATATGAGTATTCCAGACCTGCGAAAAGGTTGGTTTTTGAACCTTACAAAAGCCTTAAAACTAGTGTTACTATTTCAGAACCGCATGGGAGGAAAAACCGGAGCCCCGCGATGCGCCTGGCAAACGTATGCTGCTGTGGAATCGACCTCATCAGGAACTTCGATTGGTTCTCCTGATAAGTCACGTGGTCTGAGAAAGTCTCATTGAATTGATCTACAAAAAATGCGGGAATTTTTTGTTGATCGAAGCGAACTGGGACTTCCTGCTCTAGTCGTAGTTAGCTCAATTACACCTTAAAAAGTAACTTAATCTTAAAAATTTCCAGCCACCGCTTGTTCGGGATCCGTCACGACACCTAGTTTTTCACGGCCCGGCGGCCTTCCCGGAGCCTGAATCACAAGCTGTCAGGGATTTCCAGACCTGGAGCAAAACACACCCGTTCATCTCGCTGCATTCCTACTCCCAAATGTGGTTGATACGCCATATGGACATCAGAAAACAGAGTTATCCACAAGACTACCATACTGGACGGCGGCCATAGGCTCTGCGAGTAACTAAGGCGTTGTATTGTATGGGACGAAATATCAAGTCGGGACCGGCGCTGATTTGATGTGTAAGTAATATCCTTTTTTTCCAATTTTTAAATTTCTAAGGATTTCAAGCAATTTTCAAATTTTGAAAATTAAAAAAACAATTTTTTTCGGAATGTTTTAAAATTAAAAAAGAAATTTTTTTAATAGATATTTTAAAGTTTTTTTTTGGAAAATTTTGGATTTCTGAATGGCGTAATTTTCTTTTCAGCTAACTGGATGAGATTAGTAAAGATTTTTTTAGGACTTTTTAATTTAGACATTTCCGGAAAAATTTTTAAATTATTAAAATTTCGAACTTTTTCGATATTTTCGGATTTTTTTGCAACCATGGTGAATTTTATTTTTTTGGATTTATTGGAATCACTAGGAGGTGGGCAGCAAGATTTTTTCCGGCAAATCGGCAAATCGCGCAATTTGCCGGAATTTAAAATTCCCGCCAAATCGACAAGTGCCGATTGAAAATTTCTGGCAAAACGGCAAATCGGCAAATTGCCGGAATTGAAAATTTCTGGCAGACCGGCAAACATGCTAATTGCCGATTTGCCGAATTTATCGATAAATCAGTTGCCAAACGGCAATTTCCCCCACCCATTAATGGGATCTTTGAAATAAAACATGAAGAAATTTTAAATTGTTGGAGTTGAATTTTGTATTTTTCGGGAATTTTAATAAAAAAACGCTGAAAATTCTAAATTTTGTAACAAAGTTATTTGTGATTTAAAAAAACATTTTTTGGACTTTTCTGAAATTTCACGGATTTCTGGCATCTCTCATAAATTGAAATGTGACGAAGAGTTTTTGCCGAACTTGGCTATTTTGGCTCTGCCATATCTGGGATGGACGGCGCGCTTCATGTCGCGTCGCGGCTCGTAAAACTAAATGCACTTGTCCGTGTGGAGAGAAAATTCAATGAGGAAGGCCAGAACCCCGGATTTTTGAAATTTTGAAGTTCTGAGAAACCTGTGAAAGACTCCTACCTAAACCTGAAGAATTTGAGACGAAGCTTCTGGAGATCACATGATTTGGCTAAGGGGAGCAGCTTAAGGTCCCCTATGCCTACCTGATTGAGCTCCGACCAAAGAACACCATGATTGGGTAAGCGATGGATCCTATCAAAAATATTTCATTCTAGCCACGGCTTCCTTCTCCCCGAACGAGAAATTGTGCCCACTGGACTAAACCTTCTAATCCATCAAAGTGGTTTATGTGCCGACGAGCTTGTGGCGCATAATTTGTGGATCCTGTGATTCGTATTGAACCAAGCTGACCACAACTACCACAAAGCCCGCAATTCCCACCGTATCGGTGTGTGGATGGTCACTCTATAATCGACACCAACTATGGCGGTCGGAGCTTACACAGAAGCCTACGGAAGCTCCAACCAGGCACCACCACTACTACGAAAACCTACTACTACCACAACGACCGAGGAGCCTACCGAAGCCCCAACAGAACCCAGTCCGACTACTGTCGAGGCCACCGAGGCTTCTACAACTACAACGAGAACCTTCCACATGCTCTGATACAAGTACCACAGAGAATTCTGAGGAGTACCAACCAGAAGACATCCACACCAGGGGCACCTGAAGCAAGCACCAAAGTGAAGAGGATGGTTTTTGAGTCTCAGGCTTAGGCCTATGGCTTAAACTTAGCCTTTCTTAGACTGAGGTTTAGGAGCTTAGGCTTCAGCTTAGGCTTAAACTTAGTTTTAACTTAGGCTGTGGCGTAGTCTTAGACTTAGTTTTGAAGGCTTAGAGCTTAGGCTCAGACCTCGGCTTAGGCGTAGGCTTAGAATAAGGCTTAGCTGTTTTAGGCTTAGACTTAGTCTTGGGCTTAAGCTTCGGCTTAGGCTGTCTTAAGCTTAGGCTTAGGGATGCTTGCACTTGGGCTTGGCTTCATTGGCGAGCGTGAGCTATTTAGGGTTTTATGGGAACTTCCGCACCTTTAGACTTAGGCTGAGGTTTAGGCTTAGGCTTCGGCTTAAGCGTTCTTAGGCTTATGCTTAAGCTTAGGCTTGGACTTAGGCTCATACTTGGGCTTAGGCTTAGGCTTGCACTTGGGCTTAGGCTTACTTATGCTTAGTTTTAGGCTTAGATTTAGGTTCAGGCTTAGGCTTATCCGTACCTATGCAAATACATTTTCTGGCACAACTGATAGTTGCCAGCGACCTATTTTAACTTCGAAATTCCCACGAACCATTCCAGGAAACAATCACACCGATCAAACTGCGTCGACTACGGTGACTGCCACTGTCGTCTTTGGCACTGGGGGTCTTTCAGCTCTGCTATCGGATCAGGTCCAAGTTGTGCCCCAAAGACTTGCGACTCGCGGTGCTCTTTTTCGGTGTGAGGCGCACGCTGGAAACTATCGTATGACAAATTGTCAATGTATTGTATAAATGATTTCCAACTTTCGTAATTGTGGACTAAAAACTACGTTATATTTTTCATGCCTGACTGCGTGGCAGCGTGTCAGCGCCCGACATTTTCTGAGTTCCACGACGGGATCCTGGCAGGCGTAGGCGTTGCAATTTTGACTCATCAAATTGCTTGGAATAATTAAGTACTGCTACAAATGATGTCACTAGCTACAAACTACAACTAGGAATTTCACACTACAAACTACAAACTACAATCTTAGCTCTTCAAGCTATGAAATACAAACTAAGAAATTTTTATTTTGCAATATTTTTTAAACGAGGTGTAATTTGGGTATAGTAAAAACTGGAATGACAAAAGCAAATCACAAACGACAAACTAGAAACTAAAAGCGGAAACTGCAAACCAACTACAAACCACATACTACAAACACAAACTACAAAAATTACGAAGTACACTACAAGCTACAAACTACTGAACTCTGAATAAAGTTGAACGTTTTTTTTGGTGCAATGATTGGCGTATGAATTGCGAAATAAGTGGTTAAACACATACTACAAACTACTACAAACTACAAACTAGAACGATCCTAGAAACTACAAACTACAAACTACAAAATATATTACAACCTTAGAAATTTTGAATTTTTAAATATTTGTGGAACAATCAGTTTTAATTATTCGACGACTAAAGTCAAAGCTGAAATCATAAAATGCTAACCACAAACTACCAACTAAACTACAAACGGCAAACTACAAGCTACAAATCACTGAACTCTAATAGAATTTGAAAGTGTACTCATGGTTTGTGCCATTACTGGACGTATGAATTACGAAACCATAAGTTTTTAGTGACCCACTACGAACTATAAATTTCAGAAAACTACAAACTACTAATGAATGTAACTACAAACTACAAACTGGAACAACAGCAAACTACAACCTACAAACTACAAGCTACAAACGCTTATATATGATTATTCGATTTTAGTTATTTCCTGTTTTTTATTCTTTTCCAAATTCTCAAACTCTACTGAAATAAAAATACCTCACACAAATGTTTCTCATCATGCATCACTGACTAATTATTTTCCAATAAACATAGCGTTTTGAAAAAGTATGGAAACAAAAAATGGAAATCAAAGGCGGAAATATGCATTTTTCTTACTCATTTTCTTGAAATTGGCTTCATGTGATTGGACTTTTTGATTTTTTGTTGGCCTTGTTAAAAACGTGGTAGGCAGGCATTCATGCCTACGTCGAGTGCCTGCCTACCAGTCGAATTCGAACCCGCAAGATGTCGGCCGCTCCCTTCGATTTTGGAAGATTTTACTTATTCCTCTTCTGCTAACATATTAGACAATTATTTTTCAACCCGTGTACACAATAGGGCGGCTAAAAATTAGGTTGGAAGATAGAGGTGTACAGGAAACGTTTATAAGCTCTTTATGCGCTTACTACTGAGTACCACTTATTTGCCAATGCATTTTGTTTCTCAACAAGTTGGAGATTCCAGAACAACCAAGGTTTGGCGGGGCTTACTTTGAGGCAATTTTGCGACTGTACAGTAGATTCATATGTGCGAATTTAAGTAGACTTTGAAAACATTTAGGCGGGAATTCAAACATTTATTTTTAAAACCATCTTGGCGGCGTGATCAAAGTTTTCTAGTTTTTCGAAAACACTTTGGCGGGAATTCAAAATGTTAATTAGTCTTAACTTCCTGAATGCTCTAGATCAACCTTCTGGAATATTTTAGAAAACTCTAGAATGAGAACCTTCTGAAAAATTCGAAACAAGTCTAGAATGTTCTGCAGAGCCTTTTGGACAAGGCTTTTCGAAAAAAATCTGGAATAGACTTTTGGAAATTTTGAGAAAGTTCTGGAATGTTTTGGAACCTTCTGGAAAATTCGAGAAAATTCTGGAATGTTCTAGAACCTTGGAAAATTTGAGAAAATTCTGGAATGTTGTCGACCCTTTGGAAATCCGCGACTGGAATGTTGTGGAACCTTCTGGGAAATTTTTAGGGGAACAATCCTGGAATTCTCGATAGCTTCTGGAATTGAGAAAATTCTTGTCACCAACGTTTTGTGAAAAAATTTAGCTGGAAACTAAATAATTTGAGAATTCAAACTTTAATTTTTCCAATTTTTTCGGATTTTTTTTTTAGCTTTTAAGCTTTTTACATTTTCCATAAATTTTAGATTTCAAAAACAAAGCTTAAATTGGCAAAGTTTTGACCAAATTTTTTGGCTTTATAGCATACAAAAGGTTGAAAAAGTCCACAAGGTTCTTGCTCCACACAGTCCCCAAAAACACATCAATTTGGTGGAAATTCAAATCATGTTTTTTTTTCAAAAAATGTAATGGCCTAGAAAATATTTCAGATTCAAAGCAGTAAGGCCGTCAATCCTACCTCCGTTCAATCCGTAAAATACCTAAAAATCAATCCCCAGGAATTAGTCTCATCAAGAAAGAAAAGAGCTCTGCTTGTGCCCACTCCTCATCTCTTCTCATTTATTTGTTTGCAATTAAACACATCCTACTCAGACTGCATAACGAAGGAAACAAAAAACGAAAGAATAACGAAATCCCAGAGCATATTTCCTTTATTAACCCTATTCATTATTTTTGTATTCAGGTGGAACAAAAAACCGGCTCGGCGGGTTTATCTGTCTGTAAATCTTCTACACGCCTACCTACAGCGGCCTGCCTGACTGACTATGTGCCTAGTGTTTTTTGTCCTTTTCGGTTGGTTTTTTTGAAAAATTTTTTTTCCTGATTTTTTTTGTCGTTTTTCCATTTTTCTGAATTTTTAGGAATTTATGTAAGTTTCTCTTTTTTCTCCCCCCCGCCGGAGCCTAAGCATAAGCCTAAGTACGCCTAATGGTGCCTAAGCCTAAGCCTAAGCCTAGGCCTCAGCTTAAGCCTAAGCCTAAGCCTAAGCCTAAGAGGCCTAAGCCTAAGTCTAAGCCTAAGACTGAGCTTAGGCTTAAGCCAAAGCCTTAAGCCTACTCCTATGCCTGCGCCAAAGCCTAAGTAAGCCTAGGCCTAGTCTAAAATAAGCTCGGCCCCTTTCTGGGCCAAAATTTGTACATGTACCTCCTAAAATTGTTTCATCGTTAATAGCCATAAAAACTAGGAAAAATCTATTTCAAATTCTGAATGTCAAAGATAAAAATTCACAGAAGTGCGGGAAATTTGACCTCACCAGAAATGGGGCGGAGCCCATTTTTGGATAGGCTCCACCTCTTTCTAGGTTCTCTAAAATCAAATTTAGCTGTCAACTTTCCTGGTAAGCTTTAGTGGTTTCATTTTTTGTATTCATCACATTTCTTTTTCATTTTTTACATTTTTTCATAATTAATTTTGATCTACTTGTTTAACTTGACCCTGCCCCCCAATCTCCTCAAAGTAATGGGAGGAGTCTAAACAAGGTAGATCAAAAATAAATAGAAAATGAGAAAAATTTGCCATCGTGTTTTTCGATAACACTACAGTTTAATCATACAATAATCCCACAACTTAAAATTCAGCAAATAACCAGGAAATGGGCGTGGCTTAGATTTTCAAGGTTTCGCTGTTTTTTCCAAGTTGTTTCTGATATGAACCGGCCCCGACAAAAAATGCCACAAAAGTCGTAGTAGTGATGTGTGACGTCTGTTCTGATGACTAGAATTCATATTATAAAGGTCGAAAAATCCCTTCCGAACGAACCCCCCAAGATCATCCTAACATCCCAGATTTCTTCACCCGCCCGCTCATATAGCTTTACCCACCTAATCTTTTTGCTTATTTCTCAATCTCCGTCTTTCTTGCGTTTTTAATTAATTCAAGGAATCAAGCAGTTGTGGTTAATGGCTATGAATTGCTTTTTTATTGATATCTTTAATTATTATTTATTTAGTATCTAGCCATGTACATGTGTTGAGTCGAATAACCTGAAAATTTTGTGCCAAGTTATGAAGGCGGGGTCTTTCATACATTTTTTAAATTGTTTTTTGGCTAAAATTGTATGTATTTTGAAAGTTGTGTGTGTTTTCCATTTTCTTTAAAAAAACATCAAAAAAAAAAATTGGTATGTAGTAACGTAGGTAGGCAAGAAGTAGTTGTGTAGGTAGAGACTTGAAAATAGCAGCTATGAATAGGTGCGGTACTTTTGTAGTTTAGGCAGGTTCGTAGGCAGATAGGTGAGTAGAAAAATCATTCAGAAGACATTCGGCCAGGTAGGATCACTGGTAAACAGGCATAATGTAGACGTACGTAGGTTAACACTTACGTACGAGGCAGTAGGCATCAGGGCTTTGTGGCAACCGGCAACCGGCAACCAAAAACCAGGTTGCCGGTTACGGAAAAATTGCCGAAATTTCAGCAACCAAAAGGTGCTCGCCCGAATTTTCTCGAATTTTCCAAAAGGTTCTAGAACATTCCAGTTCTCGAATTTTCCAAGAAGTTCTAGAACATACCTAACTTTTCTTGTCGAAGTTTCCAAAAGACCCATTCTAGACGCAACATTCCAGAAAATGATATTCTCCGAATCTTTGCCTCAGACTAGAACATTCCTGAATTTCGTCTCGAATTTTCCAAAAGGTTCTAGAACATTTCAGCATTTTCTCAAATTTTCCAAAAGGTTCTAGAACATTCCAGAATTTTCTCCAAGTTCCCAAAAGATGCTAGAACATTCCAGAATATTCTCGAATTTTTCAGAAGGCTCTACGATGAATATTCCAGAATTTGCTCGAATTTTCCAAAAAGTTCTAGAACAAGTTGCATTTTCAGCGTACGGCAACTTTACTCAGCAATTGCGGGTTGGCATGTAGTCGCAGGCAGGCATGTTAGTAGCGCAGTTTTGACAGTTTTGAAGTTAACAATCCTACCTGCGATGCACAAGAAAATGCGCGGCAGTTGCGGACCGGCAATTCTACCAAATGAGCTAGACGGTAGGGCATGTTCTTCCGAGTATTTTTTAAAAAAATTTGGCAAAAGTATAGCATGCATAAATCTTTGTTTTATTTGAAAGTTTTATTGGCTAGGAACAACCGAAAAAGTACTCAAAAATTGTCGGAATCTTGAAAATGTGAAAATTTCCAACATTTCGACTATTACTGGAGATTTTTACAATTTAGTCTATTAAAAAAAAACAGTTTACTTTCAAATAAAGCAAATTTTTCTATATTGTGTGATAAAATTTTAATGAAAAATAGGGGAACATGCCCAACCGTCTCATTTTGCCTAGAATTGCCGCGCACCGTGTTAGTTTATCCCCGTAAACCTCCAAGCAATATGGCAGGAGTCCTTCCGTCCGTCCAAAACGTCATAAAAACTCGTTGGAGATGGCAAAATTGGAGATGTGCCAAGTTTGCTGGAGAGGTGGGGGGAAGGAGACAATCATGTTGTCTGCGTACCTGAGGCCAGACTCGTCTTGTTATCTCTCTGTACCTACCTGGCAAATGGGACCTCCCCAGACCGGTGAGTTTGTCCTTTCAACACCTATTGTTTCTGTTGGTTTGATACCTTTTTTTCAACGCTACTTTGCGGGAATTTAGACTGATTTCTCATGGTTAGAAACGTGCTGACGTCACATTTTTCGCGGGAAAAAAAACCCACATTTTTTGTAGATCAAACCGTAATTGGCTAGCCATTCCAACAATTCACTGTTTTTTTTCTGAACAAGTCGAAGTTTTGAGTTCCGCACACGCAATTCTGTCTCTGATAAGTTTGGAAGTTTCAAATAGAAACCTCTCAATTGTCGGACCAGCGCGCTACTTCATCATACCCCGCAAATTGAACTGCTCGCGGCAAAATTTAAAAATTGATGCTTCTCCATAAACATACCAAAACTACCTAAGACTGAACTTCATTATCTTCTTTTAAACTTAAACATTACCTTAAACGAAAAAACGTTTGTACGAGTCAGAGTGTCTCATTTCATTTCGATCTTCATTGATCTACAAAGAATGCGGGAGAAGAGGCGCAGAGTTTTCAACTACTTTCGCATGGTGAACGTGCTGACGTCACATTTTTTAAGAAATTCCCGCATTTTTTGTAGATCAAACCAGCCATGTTGGCAGTCCACGTGGCCGGCGTTTGTAATCGTTCAGTAGGTAGGTAGACACAGGTCAGTAGGCATAGGTAGGCGGTCGGTCTGAGGTAGGATGTTGTTGACCATCATCCAACGTAGCAAAACATGCTTGACGACTAGCCTCAGGATAATCACAAAGTTCTACGTAGTTATGATTTCAAGCAATGAGCACATTATATCACTGACTAAGCCACAGCTATAAGACCCTCCTCCGAGTATATTCTGAGGATCACCAAACATCTAGACGTAGGTTTGCAGTCTTTCTGTTGGAACATTAACGAGAGTAAATCTCATCTGTTAGGCAAACGACCAATTTCAAGTTCAAAACTATAAATATAAATAAAGCTAGTAATTGAGCCAGTCCTACTTCAAATTTCCCACAAGTTCATTACAAACCGTCCAATTCCCAAGCCCATGTACTCCCACTAATCAGTTTCTATCCTTGCCGCCCAACTTTCCAAATTCATTTATCCGCTTTGCATAGTTTTCGGTAATCTTGACGATTTTCAGAGGTTGAATTTTTTATTTTTTCCAAGAGTTACGCAATGCCAAAATAAATTTTTTTTTGTATTCTCAACAGAAAATTGCTAAATTTGTCCAACTTCCCATTTCTCGGAATTTGACGTAATCAGTTTTTTGAATTTTTTTGAAATTACTGATTATCAAATTTTGTTGGAAAGTTTATTCCTTTAACCTACACAGCTACCATATTCTGTCTAGGTGCTTACCTACACGCCTGCTTCGTGCCTACCCGCATACCTGCAGCTGGTTTATCTTCAAAAAGTGCAAAGAGCCAAAAGTTTCGAATTGACAAAATACGTGCTAATTGTTTGGAGCAAATTTTGCAACATGCCAAAGTTATCAAATTTCCGCATAATTCCAAAATGGCAGCCCGACATCATGTGCCTACATTCCTGTGGTCTGTAGGCCTGACAAAATGTCCATCAATGTATGTACCTATTTCATACTTATCTACCCGTATAAACATAGTTCATCTCTACCTCAAACAGCATGTTACAGGCTTTCTTCTCTCCTACCTACCTACCTTCATTAACTGCTCTGTTTATTGACTACGGCTGCCTACCTTTAGCATGCCTGGCATGCCTTCATACCTACCTCATTTATCAGATCCTTATAAAGCGTATGTACAAGTTCGCCTACCTATTGTGTTAATAACGATCACCGTCTCTAGGCTAACCTGCCTAATTGTGTCTACCTACTTAGCTATCTCATGCCTGCCTACTAACCAGCTCAAGTACCTACTTCATGCCTACCGGCCTACGTTCCTAACAACGTGCCTACCTGCCTGCTCACTAGCCTAAGTGTCTGCCTACATGAATTGTTCGTTAGCACACCAGACTTATCATATATACAAAACATAAAAAGAAGATAAACAATAATAACAAGTGGGTAACTCAAAAATGAAATTGGTTTATCTCCCTGCTCCGAGAGCACCAGCACTTTGGTTTAGATTCCGTCACTACAACTTCAAATTTTGCTTTGTTCGAAGGACCTTTTCCTGATACATACTAATTTTTTCGGATCCGGTTGGCTCTGGATTTCAAGTTTTATAATAACTTGGGCTCCCAGTGACGTCATCAGTGGAAGGTGCAATTTTAGTAACTAGACAGCTTGCTCCTAGTTTACTGCTCCTCTTCTCAACGCCATGAAATAAGCCAGAGAGAGAGAGACCCCTCATCGAAAATTAAATTAATCGCTAAAACGTAGGTAGGAAAGAGAGTGGGAGGGAGACTCCAAAAAAAGAGTCAGGGGGGCTCTCTCTCTATCTCTCTCTCTTCGAGCGGCAAATCCGCTTTCAAATTCATTCAAAAATATGTGCGCAACCACCACCACTACCACCGGCTCCAGGTGGTAATTACACTTGAAAACCAAGTACTGGTTTTCGTGGCCGGGCAACTTTTAAGACCCCGGTGGAATTTTGTAGGTCTATTTAAAAAATTGCAATTGCGCTTTTTTGTACTGTTTTTTTTGACACAACAACTTTGAAGCTTCATGTAAAGCTGGAACAGCGCTCTAATGACAATTTTGACTGCATACTCGCACTGTTGATAAATGGTCCGTGTACTCCACGGGGGCAATTAAACTGGATTTTTTTCGATTAAATAATATCTTGATTTTTTGCAGTTTTGGCTTAGGCTTAGCGAGGCGTAGGCTTAGGTTTAGTTTTTTCTCGGGCTTAGGCTTATGGTGAGGGTCAGGCTTAGGCATAGGCTTGGGCTTAGGCTTCGGCTTAGACTTAGGCTTAGGCTTAGCCAGGCTTTTGTCTTAGGGGAGCCTTAGGCTAGTTGTAGGCTTAGGCCTGAGGCTTAGGGGCTTAGGCTTCCCTAAGGCTTAGGTTTAGATTTAGACTTGGGATTTAAAAAAGGGGCTTAGGCTTAGGCTTAGGCTCATACACAGGCTTAGGCTCAGACTTAGGCTTAGACTTAGGAGGCTTTGGCTTAGTCTTAGGGATCTTAGGCTTAGTGGACTTAGGCTTAGGCTCAAGCTTAAGTTCAGGCTTAGGTTTCGGCTTAGTCTGAATATTTGGCTTAGCCTTGGGCTTAGGTTTAGGGAGGGCTTAGGATTAGGCTTTGGCTTGCCGGCCACCTAGAATGTGGTTTGACAGCGGTAGGCTATCCAAATTCTAAAAAAATCGGCTACATAATTAATACTTAGATGGGCCTATAAACCATTTCTCTAGGCCATCCTGCGAAATTACCAAGACAAAAAATTTCAGCCGCTAGGGGAATAGAGTTTCCGTTTTCCAAGGCCACCTCAAATTTACCACAGTCATATGTAAGGTATCGGAGGGCACTGTAGAAAATTCAGTATCAAAAATCAGCGAAGTAAGCATTAAGAAAGTTTTTTGTGTGTGTGTGTTTTTTGTGGGAGAAAACATTTCCCCTCTCTTTCCTGCCTGCTCATTTGGATACCACCGCTAACCCATCTTGACTTTGATTACCCATTTCCGTCCCCCTTCTTCGTCTTCTTCTACCCGGGATAGAGAGAGAGCTCTATATATTTTCGTGTTCTTGATCTGTTACCGCGCATTGAATTTGTTTGAGCTGCCGCCGGCGAATATATACATGCATGTCTAATTTTTTAAGTAACTGGAAAATCTAGGAATTTTAACGTAATTTGGTTATAAGCGTACAGATCGGCCCATGCTGGTGATTGTACGAAATTTTAATTTCATAGTGTCTGCAGAGAAGCTAGGCATATCCACAAGCCCCTACGTGGCCGTCAAAATTGAAAACTAGGCGATTTTTTCTCGGACTTTTTATCTACTTTTATTAGGCCCTGTCTTCTTTTTTGCAACGTTTTTCTACTAGGTCACCAAATTGTTCTACGCCAAGCTGCCTAAAACTCGGCCACCGATTTTTATTTGCGTCGGTCTGTAACATTCAGTCTCCGACCAGCTCGACTTTTGCTACCTGGTCGCCAATGTTTCGTAAGCGACATCGAAAATGGCACTCGCTGTGACATTTGTACTTTTTTTCACCCGGCCTAGAAATTTTGAAAAAAACTCGGGCACTGATTTTATCGGCCTTGGAATCCTAGTGTAACTTTGTGGCATGATTTTTTATTTATTGTCCATCCAGTTTTTCGTCTGAAAATTACAAAATGTTTTAGTGACCGTTGAAGCAAAAACTCGGTCACCAATTTCCCGGCCAAGTTACTACGGGATTGTACCGTCTCTACCATATTTCTGTCTCAAAACATACTCTCCTTCCGTGCTGCCTACGTGGCCGCTCAAGTAGAAAACTCGGCCATCATTTATTTTCTAGGCCATGGCGAAAATATGTAAAATAGGCAAAGAATAAGCGTGGTGGTTAAAGTAATTTTGGGAAATGGATTTTAAAGGCACAAGTTGAAAAAATAAATCAGATGAAGCTAAATACACGCATAAACCTTAAATAGGCCATCAATTTTTTTCTCGGCCAGGTTCAATCTACAGGTAACCGTCATGTTTCTTGCTCAAATTTACACCCTATTCTCGAAAAATTTTTTTTACGTTGAGTATGCTCTCCTGCCTAACTCGGCAGTGGCCGCAATTAGAAAACTCCCGGCCACCCATTTTTTCCCGCTAGGTCATGTCGAAAATGCGTAGGCGATGTAATGGGGTAGTTCAAGGTTGCGTAATGAATAACCTGGAACCAAAAATGTTGTCAATATATGGCCGCCAAAAAAGAGAAAACTCGGCCAACAATTTTTTCTCGCCCAGGTAGGCTACCAATGAACGCTACGGGAACCGTCCCTATCTCAGGCTCAAAATTACGCCTTTTTTCTCGAAAAATTTTTGCATGCACTCACCTCCCGTGATTCTTAATTAATGTAAGACGTTCTTTTTTCTCTTCGTCTAACGTGTGTATATGCAGAATTCAGGATACTTGGTGCGTCTTCCTTTCGGAGTTCTTGTCTTCTAAGCGAAAAAAACGTCAAATCTCTGTGTGCGTTGTCATCGGAAGACTCGCCTTCGAAGAAGACGCTTATTAGCTCATTTCATCCACTCGCAAATGCTTCATTAATTTTGTGCTTCTTCGCCTGCCTTCCGACGTGTTTACTCACACCACCACAACCACCACTCCGTACCTCCTCACTCACCGTGGAGAAACAGGTTCTGGATTGTTTTGTAAGCTTTTGAGTTTTGTGTCCTAACTCACTTTTTAAGCTCCGCCCACTTCTTGGCCTGTTCGGTTTATTAGAATTTGTGTGGTGTACTACCATCTGAAATTCGATCCGAAAAATGGCAAAAAAAATTCAGCTGACTGATTTTTTTGAACTTTCAAAGGTTCAGTTTTTGCAACCTAAACCTCTCTTAACATTAACTTTTCAAACCCCGCCCAAATCTTCTTTTTCCAGAAATCCACCAGTAATTTTTTGGGCAATTTATGGTACAAAGCTATCAGAACAATTTTTACCGAAGTTTTTTTATTTATTTTAATTAAGTCTACTGAAATTCCTAATATATATTGAAAAATGCTTTGGATGATCCCGAAATTGGCCAAAAAACGTTGATCGATGGTTATTTTTTTGAACTTTCACAAAAGGTTCCGTTTTGTATTCAACCTTTAAACCCCCCCATTTCTTGGCTGTATTGTATTCAAAGTTAAAAGTTGTTCATGTTGTACTAAAATATGCAAGTAGCATAAAAAATTAATAACTTTTTAAGCTCCACCCATTTCTTGGTTTTTCTGGAAATCCTTCCTGACTACAGTAATTTTCTGGGACTGTTATGGTACATTTAGGTATCAGAAAAAAAGGATTCTTGGATTTATGTCCACTGAACTTGACCTGAAAATGTTTTGAGAATTCAACAATCTTAAATATTTTGATAAAGGTAGAATTTGTGTAAAACCCGCCCTTTTCTTGGCTGCCCAACCCAACTTTGCCCTTTGAAGATTTTCTAACTTCGGCCTGCTAAAATTCCAATTCTAGGCGATCTACCCTGATAAGAACTTACTCCTGAGTTATTGTTTGAAAAACATAGTCCATCCGTTGCCTAGAAATCCAAAACTAGGCCATCAGATTTTAGGTTCCTAGAATCACAAAGGCAGTTTTATGTTGTCAAATTTCAGTGGCATAACCTCATAATTTAGACCTATTCTATAAGGTCAGCCTATTTTTCTGGCCTAGAAATTTTCCTTGAGTTTGAGCCCCCTACCCCCACACCCACATGGCCTAGAAACCCAAGCCTAGGCCATGTGTCCCCGCATTCTCACTCACTTTTAATTTCTTAACCCACTTACACAATTCTCTCCCCCTTTTCCAATTTCGAGACATCGCGAACCTGGGAAAGCTCATTAGCTCATTTGTTGTGTGTGTGTGAGTAAGAAGCGGGGGGAAGGGGAGCCCCCCTTTTGAGTGGGCGGGGAGCTAGTATGGAAAAAGAGAGAAGGAGGAGAGCCATTTTGGATGGGTATGCAATGATTAGGAATCGAAATTAATTAAACAAACAACGGAATGAAAGGGGGGGGGATCACGGGCAATCGCCTGCCCTTCACTACATGTCCCCTGCTGGAAATGTGGAAATGTAAATTAACTGTAAATTAGAAAACTAGCAAAAAAGTGCGAACGTTTTTTATCGTCCTACTTGTTAATTAGTTTAAATTTCTATATATGTATGGTTAGACATGCCTATTTTGGCGTCTAAGGGTAGATGCGGGATACGGATACCATGGTTAAATGGGCGATGCATCATGCCAAATAGTAAATGCACCACTACACATTGAAAATTTAGCATTATATCCATATCACTGAAATTGTCCGGGGCCCAATCAATAGCCGCCGCCGACTTCTCAGGACTCCACGCGCCGTTATGTTTAATTCGCAGCGGGCGGAGACAGCTGGCCGCGCCCACAACGAGTTAAACCGCAGCGGCGCGCGGTACTCGTCAGATGTCGGCGGCCTGATATGATTTGGTTGGGTCCCGAATTTCAGTCTTTATTATTTGGAGTTCGCGTATAATGCTAAATTTTGTACCGTGTTAGGAATGGTCGATGCACCATGATAGTGCTAAATAGTCCAGCGTCTAGAAAACGTTGAGTACTGTTGAAACAGTGCAAAATAACAGTTCCGGAGGCGGATTCTAATTTCTTGAATTTTTTTTTTTCAAAAATTGTTTTAAAAGTAGCACTGTGAATTCCACCTCAAGCATTTTTGGTGTAAAGCAAATTTTTCACGCTCAAAATTTTGCGCAAATGGTTCTGAGGCTCCGTTGAAAGTGGATGCTCTTAATCAAGAAAGAAGTTAGTCCCGCCTATTGGAGGAACTGATCAAAACTGGGAGGAGCTTAAGAAGGTTATAAAATTTTGCTAATTAAAACACCCAGCTCCGCCCACTTATATATTAGTTGACTCCGCCCCACCCATTAAAAGTGGGCGGAGCTTAAAGATATTGACCACCTTTCTTGGGTGACAGTGCGTTTTAGCGTTTTTCATAGAGTAAATTTTCCGGCGGACCCCGGATCGATGCAGTCCCATGATTTGACGCGCAACGCCCGCTGGTAGTATGACGTCACTCGTGGCCGAACTCTTGCGGGGGAAACTTGTACTTACAGCAGTAAATTTCGGTGTCTCACGGAGCACCTGCACACGTACCGATCATGAGTGATGCTTCCCACCCAGACATACACATACACACAAACGTACTAATTAAGACAAATTATAGAACAAGTGGGGGGGGGAGGGGAGAAATTTACAAAAGTGTGCAGTGCGAGAGAACACACGTTAGAAGGAGAAGCTGCTCTGGGAGACGTGGGCATATCAGTTGGATTAGTTTACTGCTCTTTTCATGGGCAAATCAAGTGAGCTCCAAACATTTTGACTTTGATTGGGTTTGATTCTGAAATTTTTTTGTATATGGATATGCAGAAAAAATACGTTTCTTTTTTATTTTGGAATCGCACCAATACGCTGCGTTGCTACAGTGCAACTGAGCCGGTCGCATTTCTCTTCCATAACTTTTTTTCCTTCTAAATTATCAAAGATTAAAACTCATGCAAAAGCTCAATTTTATATCATTAAGGATTAGTAAAGTGTGGGTGATCGTCGAGGGGGATTACCATAATTCATTACTCATTTTTCAATTTTCAGCTGTGTTTTGTTTGATAACCTAGATGACCAACTAGTTTTCCCGTTACAGGGCTGGGACCAAAAAAAAAATTTGGACCAAAACACAAAAACAAAAAATTGAAGTTTTTCAAAAACCAAAACCAAAAAAAAACAAAAAAAAACAAAAGTATAATACCAAAAAATTTCTTATGCTTAAGTTGATTTTTAATGGGGTTAATCAAGTAATGTTGCAAAATGTATTAAAAAACACTATGACGTCACAACTGAGTTAAAATACATGTTTTAAAGTATTTTAATACATAATAGTTTTGCTCGAGTCGAGACTAGACATGGTGAACACTTTTTTGGATTTTTTTGGATTTTTTGGTCCCAATAAACCAAAAAAAACCAAAAAATCGATTTTTCGTCAAAATACCAAAACCGAAAACGACAAAAAAAAAAAACCACAAAATTCTCAGCCCTGGTTACCTGTCAGCAAATTTTCCCCTATCACCACTTCAGGAGTAATCAACACCCCAAAACGGCAATTATTTATTATTCTCCTCACCTCCTCAACACTCCATAGCGCCAGCCACCCTAATTTGATTGTTTAATTCGATTCAGGGCACCCCACCACACACAAATTTATTAATTTTTGGCTTTCTCGCCATTTTCCGTTAATATGCCCGGCTTGTGTTAGCTTTATTATAGAACTTTTTAAAGCGATTTCTTAGGAATTTGTGGGAAAACGTCATATGTGGCCTAGAAATTTGACGATCTCGGCCGTCGGGGTCGATGAACCATGTTGTGATGTATGAAAGGTGGCCTAGAAAATTTTAGGCCACCGTGATAGTCGTGGCCTAGAAATTCGGGCGCCTTCAGGTGGCCTAGTATGTGAAAAGTGACGTGTGAGTTCTTTTGCCGGTACGGTCAGGCCAATTTTCCAAATCCTTCGGAATGCTTTTGTTTTAATTAAGGTCCGTCCATATTCTACAATTTTAGGATCCGCCCATATCTTGGTTAAACATTTTTTTTGTGCTTCCTTTTCTGGAATATTCATTCAATCCATCATTGTTCTCAAAATTTGATGCACCATGTACTATATCTGTGGCCTAGAAAGCGCGACGTCACTTATGGCCTAGAAAATTGGATCTTGAAATGGGAGAAAGTAAAAAAGTAACCAAAGCCCCCTTCTGGACGGTCGTGGCCTAGAAAGTTAGAAGAAGGAGGGGAGTAGGAGATCGATCCATGTACAGCTGCAGCATTTGACGACTCGACGGCGCGTAGCTTTGTCGCAGGCCACGGCCATAAAAAAATGTATGAGATCGATGCACCTTGTTCGCGGACTAGAAATCGAGAATGTGGCGCATGTCACGCATGGCCTAGTGACTTTTACGGTTCAGGCCGAAACATAGGACGTGTCCTAGAAGTCATTCTTAGTCCAAGACGCTACTAAAAACTCTCAAAAAAGGTGAGCCTATGTGCCAGCCTACTAATCTGCCTACATTCTTGCCTACCTGTTACTGCAATCACCATGTTGCACCTACAGTACCCCCTTCCGCCCCCGTAAAACTTTTTCAACACGGCTCACCCAAAAAGTGCAGAAAACACAAAAAAACCAAGCCCAATCTACAAAAGCTCATACCCATTCGTGCTTGGATTAACAAATGCGCCACCATTAAAATGATAATTAAGAGTGTGATCGAGACTATTGTTGAAATCTGATCGGATTAAAAAGCGACTGGTCCGCGAATGAGCTTTTCATGCAACTGATGAGCCATTTCCTGTGCATGTACACTGATGATAAATCTCCCGATTTTATCTTTTCCGAGACATACCAAGTAATCTCAATGTTCTTCATTAGTTTCTTCATTTCCCGATTCTGGAATTAGTTGCTTTGATTTATTAAAATCTGTCACACCTTATGTCCATAAATCGTGATTAAATTTTTTACAGTTTTTTTTAAATATAGAAATGTGATAACTTTCCAACCAGGCTGTCCCAATACAGTTTTGATCTACAAAAAATGCCGGAAGTTTTTGCCCAAAACTCTGAGACGTCGGCACGTTCTTAACCATACAAAATCAGCTGAGAACTCTGCGTCTCTTCTCCCGCATTTTTAGATCATCGTAATACAATAATGAGAGAAAAAAATTTGAAAAATGAAAAACCTATGCCAAAAATTTGGCATTTCCCTCGGATTTTTTTTTTCGAGCCTAAGTTTCGATAAATTCTAGATTTTTTGAAAAACTGTCTGAATTTTTTTTTTTGAGAACAATGATTATATTGATTAAAGATCAGTGTTTCATGTAGCGTAGAAAAGGTTAAAAAAAAGATATGGGCAGAGCCTAAAATTACAGAAATTGGACCGTAAAGTTTTCAAAAAACTTTTTTTTTTTCAAAAACCGAAATTTTATTTTAATTTCAAAATTTCCGCTTCGGGGTTTCTTGATTTTTTCAAGTTCAATTAATTTTTTAGATTTTTTCCCGTAAAAAACCCAAAATTTACTGAAGCTTCACTATTGGATTAAAAATTTATAAGGTTTTGCGGGAAAATTAGTAAAAAATCGAAAATATAATTTAAATCTGAGAAAAATCAAAAGTAATTACAAAAAATTAAGGCTTCCATGGAGCTAGGTTCGCGTGGTGCCAGGCTACCCATTATTTTTTGTTTTGTTTTTTCCCCAGGAAAGTGTGACGTCAGCACGTTCTTTATAACTATGCTCAGTTGAAAAGTCTGCCTCTCTTCTCCCGAATTTTTCGAAGATCATACCAAGATGGGGCATTTTGACGCCACGTGTAGACTGTAGGCCATAAACCGCCTGCCTTCCTGATTTTCAGGCTACCTCCGCCTGCCTGTCTTTTCGCCCCAATCCACTCCTTATGAATATCTAAAACACATTCAGGAAATTCCTTAATTTGATTTTCACCACAGTGATAAAAAAGATAAATTAAAAATCATTCTCGTCAAAATGCAAAAAGAGTCGTAAGGCAGGCAGGTTTCAGGCAGGCCCTGGCTCACGCGTGCCGACGAGGCAGGTTACTAAATTTCGAAAATACCTTATTTACTCTACAAATCCTCTTAATACCCCGACATTACATCAAACCTATTAATTTCTGCCTTAGGCGATGGGACTACTAATTGATAGGAAAAGACGACTTGTGTGTGTGTGTGTTGAATTATGATACAAATTTGATTTTAGGCAGGTCCTCTTTCGACAAAAAACTTGTGTCACCACCCCACACCTCCCACGTTTTCGGTCAGTGAAGCTTCTGCTCGCTGTTAAGCAGATATTCCTAGGGAAATCATAAATCCATTCAAGTACTCTTTATTTTCTTCTCTGCGACCAAATTAGTATACAGATGTCATCATACTTTTTTGTTTCTTTTTGTGGGGGCTGTTCATTACAGTTTGCTCTACAAACGGGAATTTATTTTGCTTTTTGCCCAAAAGAATGTGATGTCAGCACGGTTAGCCGTAACCATGCTCAGTGAACTCTGCGACTCTTCTCCCGCGTTTTTTGTAGATCTAGCATTCCTGTAGATCGAAGTGGGAAACTCTGACACCACGTGCTTTGCGAAAAAATTTGAAAAAAACCTTTCTTTAAAAATTTGGCATTTTCAGCTGGGTTTTTTTTCTCTACAAAATTTTTTTTTGAACGAAAAAATGTTTCGATAAAAAGGTTCTAGATTTTTTGAAACTGTCTGAAATTTTTTTTGAGAACAATGATGACTTGAATATTGTAGAGAAGCGTAAAAATAAGTAAAACCAAAAAAAAACGCCTTGGGCGAAGCCTAAAATTACAGAAATTCGACCATAATGAAAGTTCCCAATTTTTTCTTCACAACTTTTTTCAAAATTGCTGAAATAACCCAACTATTAACTTTAAATTTAAATTTCAGAAATCCTAATTTTGACGCCGATTTTTACAATTATAACCTGGATTTGTTTTTCCTGCAAATTCTTTTTTAGCAACTTACAGTTGGTCGGTTTGTCGATAGAGCGTGCTTATTCACCAGGCGCTACTTCCAGTTTGTTCTACAACAGTGCGGGACTTTTGCTTTTTGTCCAAAAGACTGTGATATCAGCACGTTCGTAACCATGCAACAATCAGTTCCGCATTTTTTGTAGATCAACGTTGATCAAAATGGGGCACTGAGACGCTTTGGGGGGCGTAGCGGGCCCTTTCTCATTCCCGAAAGTGCTCTCTGTTATGAGGTCTCCGTCCACGCTTTATGGATTCAACTTTGTACAGTTCACACGAGCACCCACGACATGATTATTCATACAACATTATACAGAACTAACTATTCGAATCTCAACATGTCTTCTTGCCGAAGGGTTTTTTATCAACTTTGACTTCCTTCTTCTTCGAATTCTTTATACAACTACTCATCTTCTAGTTGCCCTTCTAGTTGCCTCACACAAGCAAAATTTCTTTTGAAATGAATAAACTCTCGAATTGACTAGTCAAAATTTCATCAATTGCTCCTAGAGAGAAGTCAGTCGACGTGTTAGACTTATTTGGCAGATATAAAGAGAGAGGCACCGAAAATGAATTGGGTTTAACACAACAACGCGTAGATGAGTTGTGTGTGTCAACGATGCTGAAGATGATGAAAAGAGCAGAGGAGCATGAGTGATTTCTGGCGGTCGCGGCGGATGAGCATGAAGAAGGCTTACGAGCTGTATGGCGATGCGGCTAAAAATTATACGATGATTACTGTAGATTTGGAGCTTTACACCGTTTAATACGTACATACAGACTTGTTTTAGAATATTTTGTATTTGAAGCTAATAATACAAATCGCCCGTGTGCCGATTTGTCGGAAATTATTCCGGCAACTTGAGGGCCGGTTTGCCGATTTGCCGTTAATTTTCAATTCCGGCAACTTACCCGGTTGCCGCTTTGTCGGTTTACAATTTTGGTCGCTCTCAAACTGCCGGTTTGCCGATTTGCCGGAAATTTTCTTCCGGCATTGTGCCGGTTTTCCGATTTGCCGGAAATTTTCAATTCCGGCAATTTTCCGGTTTGCCGGTTTTCCGTTTGCCGGATAATAAAGTTTAGAGGGATTTTTTTAGAAGGAAACTCTCTGTGACTTTTTGAAACTGTTGCCCGTTTTCTTTTGCGATTTTTTTTCATAGATTTTGCAAGAATGCGTGCAGCTTTGCCAGTTTAGACGTAATTGAATTTCTGAAATTTCAAAAAAAAAAGTGAGCAAAATCATAAATTTTTGACATTCATTTTTTCCGGTAATTTGGCGATTTGCCGGAAAAAATTCATTTACCGCCAACTCCGAATGGTACGTCTAACCGCAAAAATTTAGGCTTTTGCTCTGGAGCCTTTTCTCTGGCGTTCTTTCAAGCTATCGTAATGTGACCACACACCTTTCTATAAATTTCAGTATTTACGCCAACCGAGAAGATCACACTAGTTTAAGGTTATAGTGCAGCTGCTCAATGGATCAGGTCTCTTACCGGGAAAATATTAACAGGCCGAAGTGACTGTGAAGCTTCGTGAAAATTTTCTGCCGTAAATTGTCAATTTTCTGCCGCACTTGGTCAATTATCTCATAAAGGTCACTTAAGTTAGCCAAACCGTGAGACAAAACTGCCCCTTATTCCTCATGCCGTCGGAAATCTAGAGCAACCCTGTATTCGAGGTCCCAATCTTTCTTCCCCCGTCTATCTAACTTTTCCTAACTACATATAACGGAGGACCATAATAATCCTAAATTTGTCCTTAGTTTTCTCCCTCCTCACCGTCTTCTAGTTTCATCCATGTCTCGCCTCATTTCACCCGATTGACGATCATCTCGGCTCCACACTTTGACACCATAGCGCGAATGAAAAAAAAGAGTCAGGCAAAAGGGGAAAAAATGCCGTTTTATTAGGAGTCAAATAGACACCAATACACACACACTCAATTTTAATGGATTAAGACGGGGCACGATTTGACACCATCGACACCAATTTGGATGGGGGCAAATAGATACATACACAAAAGGAGTTGTACCACTAGTTTTGGATCTAGAAACATCATTCTAACATCTTTTCATTTATGATTTGATTTATGCAAATGTCCTTGATTCGTGACTTCTTGTATAGTAGTTTGGATATTGTAGTATAATCATGGTAGTTGCTGAAGACTAAGCTCTTTAGCAGATTTAAGGTATGACCGTAGACAGTTCGGGATCCCGGCTTGTTATTGTGTCAGGTCCGGCCCAGGTTGTCTAATAAATACAGGTCTGCTCCAGGACGATAGCATCACTAGAATAACGGTCGTTCCGTGACTTTGTAGTTTGAGCTTTGGTCTTTGGTCTTTGAACTCTGTAGTTTTTGGTCTCATCACACAAGAGAGGTCACATAGGCCCGGCCCTTTGTGACGTCACAAATTGGCGGGAAAGTCAAATTTTGAGAAAATCGATTTTGGCGGGAATTATATAATTTAGATTTTTTGAAAACATTTTGGCGGGAATTCAAAATTTATCAAAAACATTTTGGCGGTAATTCAAAATTTAATTAGACACTGTTCTCGGTTCGGCCCAGATATAATCATCCAACAAGTCTTTCTCAAGACCACTCTTCAACACATCAGTTCTACTGTTACCAGCAAGACTGCCGCTCCACACCCTGTATAAGGGCCCTAAGGCTCGACTGAGTTTGATGTAAATCTTGCCAAGCCTGTATCATACCTACCTAGGCCCATCACAGGCGCATCTCTCACAGATCTTCCACAGGTGTTTCTAAGTTGCAACAGATCTGCACCAGGTCTGTTTTTAGCCAGGTTTTGCCTGGGTGCAGCCCAGTAGTCTACCTCTAAACTATCAAGCAGATCCTGACACCAGTTCCTAGGTCTCACATTCATCTAGGCGGATAGTCTACCTAGCTAACGCTTCAACCTCCACTGTTTTAAAGTCTTACCCTTTCTCAAACTTCAACTCATTAGTACATACATATGTTATTAGTAAATTCGCGACTCACTAATAACAATAATTCAAAGCCTCTTTCCTGGCAATGCTTCCGGTACTGAACACGGAGAGAGCGCGAGGTGGCAGGTATCCGGTAATTTGTTAACTCGAGCGCCGCGCACCCTGGCTTTAACCCAGAGCAAACAGCCCCGATGATCGCTCATGCACGAGTCTCTTACTCACGAGGTGGTGGTGAGAGGTAGGTTGGAGAAAGCGGTTCTAGCTTCACAAATTTCAATTTCAATTTACTCTCGCTCCGTTTGACTCGGGTCCCCCCCCCGCCCTCAATTTTTCGCCCCAAATTGCTCCTTTAATGGAAAGTGTTTGAGTGTGTGAAAAAGAGAGAGAGAGAGACACCTTCGGGTCACGCCAATTGCACTAATATGTGCTCTCCCATTCGCATCCTAGAGCTAAGAGGTTGAATAATTTTCGAACTAATTCGAGGAATGTCAGGTTTTTAGTTGGTCCTAACTCTTTGGCCTAGAAATTTAGAGTTCTAGTGGGGTCGTCCATCTAGATGCGGTGGTCCGAGAATCCTAGGCTTTAGTTGCCCAGGCCATCAGGCCTAGATTCTGAAATGTTGTGATGCTATTTTCCAACTTTGACCCAAAAGCCCTCTAATTTGTAGGCCATGAATCTAGGAACCTATAGGTAAGGCCTGATCCTTTGCTTACTTGCCAATAACTAGAAATCAATGCCCTAGAAGCTCGCAAAACTTTCCTAATAATTTCTAGGCCACCAATTTTTTAAAGATAGCAAGTCATCAACCAAAAATTCACGGCTCAGAAATGAAATTCGCTTTTAAGCGCACCTCTGACTTCATAGCAGTGGCCTAGAACGCCAACCGTCAGTATGTAAAAATGAGCTTTTTGGGCCTCGAACAGAACCGAACGGGACATGGAAGCCTAACATTTTTAGGCCACTGACTTTAAAGCAATTGCCTAGCACCCCGTTTTTCTGTTAGACAGCCTAGACTATCATCTAGAAATCATTGGCCTAGAATCCTAAAAATAATTCGGCCACCAGAATTTGAATGGCCTAGAAATCTAGTTGAATTCTAGGCCACCATTGACAAAGGATTGGCCTAGACTCCCTAAGAATGTGATTTTTAAGCTACTAACTATACCCTAGACCATTGTTTAAAATTGAATGGCCTAGAAACTAGAATTTTTGATTTTTAGGCCACTACCTGTTGTGAGCGGCCTAGACTATTATCTAGACCCCAATGGCCTAGTTTCCCCGTCCGCTGAAAATGTGTTTTTTCGGCCTGAAATAGGCCTAACATATTACAGTCCACCAACTCTTTTAAGATGACCAGTACTATAAGTTTAATCCTAGCTTGCCACTATAAATAATTGGCCTAGAAGCTCCTAGGCCACCATCTAATAATCGATGGCCTAGAAACCTCCCATTTTTTGTATCATAGGTGTCACCAACAACCACTGATGCCCAAGACCCGGGCTTCTCATTTCATAATGAGCAGCAATGCAAATGAGCTACCGTACCACTTCTACACACTGCCACCCTCCTTGATCCACACCCATTTCCCCTGATTTCTCGTCAATTTAAGCGGCGGCGGTTCACCACGGGATAAATTTGTGAGAGGTGAGCTGCTCACAATAATTGTTGTGAATAGGCGGCAGTGGTAGTGGTGTTAATTGTGAGTTCCCAAAGTTCACACAAAAATTTTTCGCCGCAATTGTTATCCAACCAACATAATAATAATAATAATAATAAATGAGTGTGCATAAATGTGCCCTTTTTCGCTCCACACCCGTCCTGATGGGGACGACGCTTCGTTGAATAGTTGGAATAATAATAATAAATTTGGTTGGAAAAATTTGGGCGCCCCCCTCCTAACACCCTCACACACACGAAATTTCATTTCGCGCGCGCTTCGAAAACATATTGATGACATGTTCTTCGCGAGACAAGTTATGAAAATTTGTGGCAATCGATGTGGTCCCCGCCGGCTTCAAATTTAGAGCAGAAAATTTGTGCTCTAAAGGTGCCTTTTAAATCAAGAAGGGTTACACATAAGAAAGTTTGTCGGAATCCATATTTTTGTAAGGTCCTTGGACCTGAACCCCCGGTCTTCAAATTGTTAGGCATTCTAGGTCTTCCATGGGAGACAGGCGTTTAGGCGTGGGCCTCGGCCTCTCGCCTCATTTCTACACTATGGCGAGAAGACAAAGGGCGGGTGCTCGACACTTTGTGCCAGATCATTTCGGCGTGATCTACCTTGATCTACAAAAATGCGGGAGAAGAGAAGCAGAGTTCTCAACTGATTTTACATGGTAACAGCGTGCTGACGTCAAATTTTTTTTGGACGAAAAACTTCCGCATTTTTAGTAGATCAAAAACCGTAATAGGACAGCAGGGCGTTCCACTAGAATAATTCCACTTGTTCATAATAAACGTATATTTGTCAAAATCTTGAGAATTTCCATAACTTCAACGAAAAGCACTGATAAAAGTGGTTCTTTCGCCGCGGCCGACACTTATCGGGTTCCGCGCCTATAAAGGAGACGCGGCGCGCGGCGCGAGGCAGGCGTTTTGGCGCCTGCCCGGATGCCCTACACCAAACAGCAAACATTTCTAGCTCCGTTTTTCGGACTCTACGCCTTAGTCTTTTTGTCACAACTTCGCTACACTGTGTTATTCTTCCTTCTACGACTTTAAAGGCGTGCGGAATGCGACTCACGTGATGTCAGGGAGTCTCATTGCGGTTTGATCTCAAAAAATGCGGGAAACTTTCCACCAGGAAATTGTGACGTCAGCACACTCTTGCGAGATCAGCGTTGAAAAGTCTGCGTCTCTTCCCCCGCATTTTTCGAATATCAAACCAAAATGGGACATTCTGACACCACGTACTGGTGACTTTGGATCAATGTAGATCGTTTTATAGGCCATCCATTGTTTTTAGCTCGTGGCCATTTTAAATGAATTTCCAAAATTTCCAAACACCTATTTTTTTGTCAATTCACAAGTCCCCCACGGACCCCCTCCATTGTTCCCCCGTTCACAACCTCCCTCGGTAACCACCCATTTAGCGGGAAAAAATTAGCGAATCAGTGACTCATAATCAAGTAAACCGGTCAATGCTCTACGAGCAAGAGGGGGGGAAAGGGGGTGGCTAATCGAATTATACGGGGGAATGGGATCCCTCCGCGGACACCTCGCTGCCAATTAACAAGTCAACTACTTGGGGGGGGGGGGCGGCCTCCTCACAACAATTGTATTATATTTCTTGTTATTATGATTATTAATTATTATTCTTATTAGAAATTAGTTTATGAGTATATAATATCAACTATAAAGATGACAGTTAATAATAATTGAAGTCTTCCAATAGGTGGCCATTAGAGAGAGGGGTCTGTAGTAATAGAAGAGACAAGGCGGGGGAGAGGGGCCAAATAATTAATCTGGGCCCCGTGGGCTCGTAAAATTCCGATAAAGTTGCTTGTTTGTAATTAGCTAATTCACTGAATCTTTTTTTTTTGTTGGGGTCTTACTATGTGTTTGAAACTTCCTGTTATAACATGTTTCAAAATAGACTATCTTACCTCAATGGGGACTTACAGAACCCTGGTGTTGAGATTGCTAGTCTAAAGGGTTAACCAACCATGGACCAAAAATTGCAATTTTTGATTTTTCTTACTTGAGGTTCTATTTTTTTGAATACAACGATCAGTAAGGATCTATTTCGATTTAGCAAAAAAACCTAATCAAATTTTGTAAAAATTTTCTAAAAAGTTATGAACATTCCACGTTCACACATTTCTTGCTTCCCTCATAACTTGAAAGTAAATGGAAGAGTTTTCGGCGAACAAGAGCCATGCGTTGCGTGTCGCGTCGCGGCTCGATTTTAGTTGTTATGCTCCGTGTGGGGTCCACGACTTCCCCCGTTGTCCGCCAGACGATTGTAAATGGAGCCCGAAAAATTCAATGAGGAATACGGGCCAGAACCCCGTGCACTTTTTTGTTTCTAAAACTGAAATAATTTTCAATTTTGAAATTTTCCTTGGTTTTACAATATACAAAAGCTTAAGTTCGCAAAAATTTTTGACACTGGTGGGGGCGTCGAACCCCTGAGGGGCATCCCTGTTAGCCACTGGGACCCGCCAAATTGCTAAAACTTCAAAACAAAAATTTTAGACCTTTTTTAAGGTTGCTTTCCTAATTACCGACGTCCGACTTTTCTAAAATTCCTATTCAAAGTCTTCGTAAAACTAAAGACTGGGGGGCTCGAAGCCCGGTCATCATATGAGTAGTCATCCCTGTCAGCTGGACCAATACACCACTTGCCCCCGATAGACGTGTTTCTGGTCTGTTTTACGGAGCGTGGCCTAAAAAAATCAGCCACCAATTCGAAAAGTCCATAGACCAATGTCAGTTAATATAGAAAGTCGTCTTTCAACCACAAATTCGAGCCAACCAACTAATATATAACCTATTTTCGCCGTGTTGTTCCTGTGTGTGTGTGTGCCCCTAGTTAGGCCTACCCCCCTTATGCGCTTTACTTGCTTTACAATTTCGATTGGCCCCCACACAGTTACGATCATTTTGTGTCGGGTTAATTCGACATATCGTTTAAACGGGTTACCTCTCTCGGGGCCCCCTATTCTCCTACTTCTTATTTGCTCAATATTTGCGCGTCGAAATTTCTTCTGCGATGCCCCAAATAATCAGATTCACCAATGTATAAAATAGTGCCACGCCTCACTTTTTCCACACCCATCATCTCAACTTTCCTCTTCTCAAATGCCTAATCAGCCAGTTATAACGAGGCTGCTCTTCGTGTGGCGCCCCGCACATTTTATTGCTCCTCTCACGCTTCATTCTCACTTTTTCTGGGGATCCTTTTTTTTGCAGACCTAAAAATTTGAGCTCAGCCATATTTTTGTAAATATAATCAAAAAAAAATAGACATTAGTCAAAAAAGTTTAAGCCTAAAAAAATTTTTTAGATAAAAAACGTTTTTAACTTTTTACAGTTTTTCAGTGAAATATTTTCAAATTTTTATAAAAAAATGTTTTAAGCTTATCTAAGCCTATGAGCCTAAGCCTAATAACCCTAAATATAGTGTGGGAGCTCACGCTCCCCCACTTAAGCCAAGCCTAAACGCCTAAGCCAAAGCCTAGGCCTAAGCCTGGCCCGAAGCTGAGACCTAAGCTTAAGCCTAAGCCATAAGACTGAGTTCAAGCCTAAGCCTAAGACTAAGCCTGAGTCTCAGCCTAATCCTAAGCCTCGTAAGCCATTTTTAAAAAAAATCTTCATTTTTTTGCAATTACTATTTTTTCTGAAAATCAAAAATATCGAATTTTTAGAGTTGCTATAAAATTTAAAATAATATTCAAAAAATAATCCGAAAAAATTAAATTTTTTTTCTCAAAACGGAGATCATACAGAATCAGCTTTAAAAAATTCAAACCAACCTATTTTTCGTTTCAAAAATGTTCAGAAAATTTGGTAAAAGTTTTGTAGAAAGTTTTCATAAACTAGCTGTTGAATAGGGTTTTAAGTAGGCGTTAAAACGCTTGCCTGCCTGACCTTCAGGCGACTTTCGCCTGACTGCTTGACTTTCAGACGTTCTCTGCTGCCTGACTTTAAGGCGACCTCCGCCTGCCACTCGCCTCAAGGGTATCCGAACCTTTTCTCTTAAAATGTTTGATAGTTCTTCATCAAATTGCTAAAAATACGGAAATTCCAAAATTTTGTAAGTACATGAATGCAGGCATCTGCTGTGGCCACCCATAGGCCTCCGACTTTCGTTCTACAATTGTCGTTGCCGTTTCCTTCATTTTCATACCCCAAAGTTATGATTTTTCTTACACCCCTTGCGCTGCTGCTGCTTCCGCTCGTGATGTTATGAACCAGTAGTCAGAACCGCAGGTCGAGAATCCCCACAATGATCACCCAATAAACGGGAAACATTAGCAAAAACGTATGCCCCCGTTTTTTTTTTCTGAGAAGTGTCGGCATCCCCCTAACATATGCGGGGAACATAGTTCGCTAAGTTTTGTGTGTTCCTCCAGCTCCTCCATATGGTTACCGTAGTCCACTGGTGTGTAATTGTTGTTGTAACTATCCCCCGAATACCTCTCCTCACATTCATTCACAACACAGGTGTCAACTCAACTCTCAGTGCTCATTTGAAGTTTATGAAGGTTAGCTTCCGGGGATGGCTCTCCTGGGCTCCCCCACGAAAATCAGTTAATTAAGCAATGTGGTGGTGGAGGGGCGAGCTGCTCGCTTACCCCCCCGCCCCGATTCTCTCTCTTTCATTTGTGACTTATTAGATTTTAAATCACGTCTCAAACTTTCCACTTTAACTTTCGCGTTTTTTAAATTTTTTTTTCACTTTTTCCTCACAAATTCATCCAAATAAGTTTCCAGAGTTGTCCCGCCCCATACATTTGCTAAATGGTAGAATGGGATGTGACACCTTTGACAATGTATTTGACAACAACAAACCGCCGACAAGTTCAGAGTGTACGGCGAGTATGAGTTTGGCCGGGGGAAGGCCGATAAGTTGGCCAAGACTTCTTTTTTTTTAATTTTCAAAGGTCGTTACCTTCGCGACGTTGTGCCAGGTTGTCCCATTGCTTTTTGATCTACAGAAAATGCGGGATATTTTCCCTAAAAAATGACATAAGCAAGTTTTTAAATCTTTTCTCCCGCATTTTTTTGATCTTCGTGTACCAGATCATACTCTGACACCACGTGTACCTTGAACCTCCTGGCTCCGTTTCTGAAGAGTCGTCGCTAGTGCGCATTTCTGCATTCTCAGTGGTATTTAATTTGTACAGTACCGCCAGAATCATGTAACGCGCCGCTTGTAGTCTAGTCGTTACTTCAGCTCTAAACGATAGGTCCGGGGTTCGATTCCTTGCAAGTATCCATGGAATTCCTTTCTCAAGATGGAGGTACATATGTGCTTAAAATGTGCACTAGAGATCGCGAAACTTAAACCATGGTCCGACATGTACAGGGTTCCGCGCGCACGCCGACTCGGGCCTCCAAAAAACGCCTGCGGTTCCAGCGGCGACCTCCGCCTAACTCGCGGCGCTATGCCTTCTGTATACGGCCTTCTGTCTTCCCTCATAAATTGAAATGGAAGAGTTTTTGCCGAACTAGGCCATCTTGGGCTCGGTATCTGGTCTCGATTTTAGTTGTAAAAACTAAATTATTTGTCCGTGTGGAGTGCACGACTTGCCCACGCGTTGACCGGCGGGCGATTGCCAATGGAGCGCGAAAAATTCCATAAGGAAGAACCCGTGTATAGTGCCGCGCGGCCCGAAAAGTGTCAGCCGCGGCGGAAACATTCCATAGGAAAACTAAAGTTCTCACTTTCAGAAACATACCAATGATACCAGATTCTGCGGAGATAATGCGACTTGTTGCGGATCCTTCGACGTCTCAGATGTTTGGTAGGTCATAGATCAAATTTTTTCCGCAATTTCCCGAAGATTTTCAACGAAAACACAAAATGTCGGACGAGATCTCCCCGCGTCAGGCTTCGACGAGGCGAGCCTCTCCTCCTCGTTTCCGTGCGATCCGACGCTCGGCGCGTTCGCCGACATTTCCCAATTCTGAAACATCACTCCGAAATTCGTCGAACACGCTGAAATGTCCAAAGTGTGGCCCGACAAGTACCAGGATACCCTCGAAAATGATTTGAAGGAGAAGCACAACGATGTGGATGTCAAGTGCATGTTTTGTGCCGAGAACCGTCCCCACCCGAAGCTTGCTCGCGGTGCGCGTACTCGTGCGGTTATAAGTCACCATAATCCTTCGATGCGAGTTGTGTCGGTACAGTACGACGAGAAAGGGCGAGTATTCATATGCAAATAAGCATCTTCATGGACACCAGTTCAAGAGCTCCCGAATTTGTAGTAGTAGGTGGGGCGGCGAAGGGTACTGTAGTTTTCGTGGTCGGCCCCAAGAATTTGTTTCACAAGAATTTAACTGTAGAACTCGAACTTTTCGATTCTAAGGTCTACGCAAAAACACATACGCCAACTTTTTTGAACCCTAAAAAATGATACTCATTAGAGTTCTCAGTGAGCAAAATTCGATTTTACAGTTTTTAATTTGACGGTACTGTGGGTCTTACACTCAAAGGGTTCTATAGTTCTCGTGGTGGGACCTTGTCAAATGGACGTGATTATATTTGGTTTAAAGCCCCTAGAATTCTGATTTTTTTAATACATTGGTTTTATTCTGAAAAGACTGAGAAAATTGAGTTTAGTCGAAATCAATAAAAATCGCGTCGAGACCCAAATTTCCCGGGTCTCGGCACGAAAATGGGGGAGAGGGTACTGTAGTTTTCTAGTCTTCTCTCAAATATCGAAATGGTAAAGTTTTTGCCGAACTAGGGGCCATATCTGGGATAGATTTACGGAGTGCCGCGTTGCACTGTGTAATGCGCTTGGGCTCAATTTTTGTTTTAAAACATGAGGAAGACCACAATCTGTTTTCGTGGTGGGACCCAAATGGGTCATGATTATACTTATTTGAAAGGCCTTAAGAATTCATTTAAGATTTTTATTATTTTAATTTAAAAATATCCTTAATTTTCCAATTCGCTAGGAGACAACTTCGCGTGTGGTGCTCCAGTTAGCCTAAGTAGTCCAAACGAAGAGCCCGACGGATTCCTGGTCTGCTATCTGCGGTATCTTCACCTCTATCGCCGAAATGATGGCACGTGGAACAAGACCGTCCCAAGACGTTCCACGGAGACGTTACCGTCCTAAACGGGCCGGAAGTGCCACTTGTGCCCGTAAAATACCACATTGAAAGCCAATTTTCAACTACACACAAGGACGGGGGATAAGCTTCTGCAAGAAGGTTCAAATTGTGAGTTTTGTATTCCCCCCTCATCATCTTCTTATTTTTAGGCTTGTGTCGCCCTTTTCCCATTTTTGTGAGTGTCTGTGTGTGTATGCGCACCGATTTGTATACACATAAATTCATGATTTAATAGCGTAGTAATATTTGCTTTGCCACTAACAGTTTTCGTTATTTTAAAGCCTTTTTTCTACTATTTTTGAAAAAAAAATTTAAAAATTTGAACCTTAATATTTCCCTAAAAGCTCAAAACTGTAGTGATTTAAATTTTGAATTCAGTGCTGAGACCTTTTACCGTAGTATAATCATTACTAGGTTTTGGTTCTGACGAAAGTGTTCGTTTTGGCGGAGCCCAAGCAAGGCGTAATTGATTATAGGGTCTTTGCACGCAAAAAATTTAAGGTCCGGTAGGCTTGGAGTTTTTCTTGAATTATATTAGTTTCATAAATTTTCAATTTTTTTGAGTTAATTTTACTCTCCCTTCCCGCGGTCGTGTTGTCTGATCCTAAACCAAGCTCTAGGCCTAAGCCGAAGCCTAGGCCTAAGCCTGAAATAAAGTTTAAGCCAAAGCCTGAGCCTAAGCCTATGTAACCCTAAGCCTCAGCCTCACCCTAAGCCTAACCATAAGGCTAAGCCTGAGCCTAAGCCTGAGCCTAAGCTTTAGTCTAAGCGTAAGCCTAGGCCTAACCCTGACCCTAAGCTGGGTAAGCCTAAGCCTTACCGCCTAACCCTAAGCCTGAAGGGCCTAAGCCGCCTGCAAGCCTAAAGTCTTCGTGAGACGCAATTATACTCAATTGAAAATGAGCTCACTATGAGCTGACTTCAAATTTCTCAATCAAAATGTGAAATACTTTGATTTTACGGGCGGTGGCTTTACTGGACCCACCGAACTTAATAAACTCTGAAATTTTTTTTTCATTGAATCCGGTTTCTACTCTCTCCGGCTATTTGTAGGCTGTCTTTCACTTCTTTGTTCTCGTCTGGTTGTTCCCAATTTCTCGTTCAACCCTTTACTCATTCGCCCTCTCATTTTCCCAAATCCTATTAGTTATGGACCTATCGGGGGTGACGGTGACGATTCTCGCCATTAAGACCCCCCCCCTCTCAGAACTGGGCCGATTGAGATGGAACAAAACAAAACTGTCAATTTGAATAAATTTGCAATTTGACGCGGGCGACGCGGTTACCGAGAAGGATATAAACTGGGGAACTCTACTTAGCCCGTAAGGTGCTGCTACTATTTTATCACATCTCAATTTTTACGGAATCCCGTAAGGCGTTGTCTGCTGCTTCTCTGTTTTTGCATGCTTTTACAAGTTCGGCCCGTCCGATGTACTCGGCTCTTTGTTTTGCAAAACAATTTAAAATTTGAGCCAGGTGTCTGCTGCTCCGGCTAGATTTCCAATATTTAAATTTTGCGCAATCCTGTAAGATGTGGGGTGCTTGTCAGTTTTTACAAAGTTTTTTCTCTAAGGCCCGCGCAGTGTCGGCTGCCACCTCGTATGTTTCATCAAGCTTGATCGATTCGAGCCCGTTAGCTCAGGGCCTGCGTCTTTTTTTTTCTCAAAATTCCAGCCCGTATCTTTTCGGTTGCTAAATAAAGACAGAAATTATTACGAAATTTTAACGCTTGAAGTGTCGGCTGCAAATTACACTCATTAGATTCCCTGTCTCTCCCTCTCCCTCTCTCTTCATTGGGGAGTGCTTCTCCCGAGAGAAAATGACTAAAACTGTCAATTCGAATATGCACACAGCGGGAGATGTTTTTCTGTAACTCCAGACTCCACCGTCTTCTTCGAGTGTTCTACTGCCTATTAAGCGATGATTAACTAGTCGTTCCCTCCCCCTCTCCACATACCAATAAACCTGCCAAAAGTTATGTCGAGTATGCTTTGCTCGCCATCGTGCCGGAGGCTATTTTTTCTAGACTATGATGTTTTTTGGAAAAACATTTTTCTATGGAACGATGCAAGCTAGTGCCGTGTTGCCGAGTCTTCAATTTAGGCGTATCAATTATGAGATTTCAATTTTAGTCCCTTGTATATATTATTTTTTTTGAACATTAAAATTTGATAAACTGTAGATACCCCCTAACTATTTATTTTTGTGCCAAATTATACTATACAAATTGACTTGACTCTAGATGCACCCTGACTTTTTAACCGCACTTTCGAAGATCTCATATTGTCGCCTAAAATTATTCTCAAATATTTAAATTTAAACTTTAATCCTTTATTTTTTTTCATTCCTCGGAAAAAACCCCGTTAACAGAATTCCCAATCTGGCCTCCAGTTGGCGCTTTTGTCGATGCACCATGTTCAATATTTTTTCAAAATTTGGCTCATTGACCTGAAATTTTGTCATTTTTTTATGTTGCAGGGTTTATTTTGCGATTTTTGCGATGACAACCACATTATGTGGATTAAAAAAGTTTGGAATCTCGTTTTCCCGTTTGGCTTCCATATTGCTATGTAGTTGATGCACCATGTCCAGCTTTCTGTTGAAATTTTACTTTTTACATTTTTTGCTCGCTTTTTTAAAATTTAGTTTGACCTTAAAATTTTGTCAGTTTGACAGTAAAAATTTGTCAGTTTGACCTTAAAATTTTGTCAGACATATAATTTTTTTGTGTTTTTTGTTTAAAAAATTGAAGGTTTTTCGCGATATTTAACATATTGCATGGAATCTTTTGATCGTCTCTAATTCGTGTAGCAAGTCGATGCACCATGTCCAATTTTTTAAAAGCCATTTTTACTTTTTTTAAATTGTTTGCCCAGTGGCTCTTGACCTTAAAATTTTGTCCATTTTCCCTTAAAATCTTGTGTTTTACCTTAAAATTTTGTAAGTTTGTTAAAATGTTTGTTTTACCACAATTAAAATTTCCGAATAAACTTTTCTGTTTTTTGGGTTTAAAAATTGATTTTTTTTGCGTAACACATCAAATGGCAAAAAATCATGCACCATACCGGGTGTAACTTTATCCGAAAACAGTTTTCCCTAAAAGTTTGTCAGAATTATACATTCTAAGTTCAAAACCGTACGGAAAAATTAGAACCCATGTCGACGCACCATAAGCTTTGGCCCACTGAGCTTCGTTGCTGGTCCTGCATATCTCTTACCCCCTCTCGCCGCTCTCATAACATTGACCAATTAATTGGGCGGAGCGCCGTTTGGAAATCGATTGGCTGACGGGCCCGCCCCGCCCCCCGTCCCGCAAATTTTCGAAGGAGCTTTGGACTGGACAGACACACACACAAATTCACAAATACACGCCAATTTGTCGATTTTTCTTGAAAATTTCTTCATTATTGTATATTTTTTTGTGTCGTCCTCTTGTCATCCGCCATCCTCGGCGTCTTCTTTCGTTTGATTATTTCATACACCTACCACGTAATTCGCCTATTATCCGCCTCGTTACCTTCATCTTTCGGTCGACGTTGACGTGACATCGGCGCTCCCGAAATGAGAGGAAATAGGGGGGGGGGGGGGGGCGGACGACGGGCCCACTACGACAGATCACGATCATTTTCGTTCTATCATCTTATCCGGCAAACCGTCGTCCCCCTCCATTTTTCAACTTATGTAACCAAAACTTTTCTTATCTTGGGATTTGGTCCCCTTTTATAGCAAATGCACTGAATTGACAACATATTAGTTTCTCACTTTTTCGAAGTTTCACAATTTTTAGTTAGTCCGTTTTTTCAGTCTGGCCGAGTTTTCAATTTTCCCCGGCCAGGGAATCTAGTAGTATTCACATAATTTTTCTTATTTTTGGTTTTCTAGGCGACCACTCCCTATTCTAAGCCCGGCAAACTTCTAGGTCCCCCATTTACACCTGACTTCCTACCTATCTGAAATGCCTACTTGCCTTCCACCTGACAAAGATGCCTACCTACCTAAAACCTTCCTACCGAACTATTGACTCTTACCTACATAAGACTTGCCGATCTGAAATACATGCCTACTAAGACATGATACCTAGCCTACCTATCTAAGCTACCTACTTACAGATAATGTACCGACACAAGACTTGCCTACCCACGCACGGCATCATTTTTACCTACCTACCTGTACTTAAGATCTAAGACCTAGATCTTAGTACATAAGAATTTTCATCTTAGATACCTACTCAAGGTCCTGCCAAAGATGCATGCTTACCTATGACCTACTTACTTAAGATACCTGCTGGCCCAAACCCTACTACCTACATGCGCTAGCTCCCCCACCTACCTAAGATACTTACTTACCTATACCCGATTTACCTACACAAGACTTGCCTACCTAGGGCCGCAAGGCTTGATTTTCTTATTGTTAACCTACCTACCTAACTATAAGTACGATTTAAGACCTAGACGTTATTGCAAGACAGAGTTTCTGTCTTAAATACGTACTCAAGATCCCCCACGATACCTAGAAGCACTTCCGACCTAAGATGCCTCCTAAGCCCTGTCTCCCTAAGACCTAAGTGTCCTATAAGAACTTCCTAACTAAAAACACCTACCTAAAATAAGCCTTACGCCAAGCTCAAAAATTTAGAGCATCTGCATGAGATAAGGCTGAAAAATATCAACGAATAATGGAGAGCGATTATGTTCCTGCCCTCTTACTAGAAAGTTCGGAAGTAGTCGCCGCAAAACGCCATTACTATTGCTCATCGAGCCATTTCCGGTACTCAGTACTTTCTCATCCCCCACTACTTTTTTCGCACTCTCTTCTCGATTTGATTTGCATTCTTTTTGCCCTCGTTTCGAGCTGAGCCCGGTTGATTTCCCGCACTTTCTCAATTCTTTCCTCTTAAGCCACCGCACTTGAACAGGAGCAGTTCACACATGCAAACTTGGACTTAATCATATTAAGACCCCCCCCCCCCACCCCTCTTAATTTCCTAATCCCCTCCCCCTCCTCCTCATCATGACCAAAAGACAATTGTCTTCAGGCGAACCATCTTCGTGAGAGAACCCTCACACGGCAATCTACCGTCTGTCGAGCACAACGTGCGTTCAAGTGTTGTGTCGACAGTGTCACGAGCTGATGGGCTTCCCGTGGCGAATCGCCAAATCCGCGAGCATCGACACTTTCCTGCTTGCCGCCAAGCCAACGCTTGTGGCGATGTTGTGTAGGCTTGCTGGATTTCGATTCGGTTCTTCTTGCAGCTGGTGAGTTAGTTATTTTTAGGAAGAAATTATATCTGTGTAAGTCCCCCAAATATAAGCCATGTCCCTCTTAATAATGAAGCTTCTGACTTAATTTACTATAGATTTTGAATTTCGTCTATCGAAAAATTAGGTTCACCATGATTTGTCGATTTTCGATGCACTATGATTTGTTGCTAGGATAGAAAACAAGAAAATTCGTGGCCTACGAAAGTTTTTTAATTATTTCTTTTTGTCGGCCAAGATGAAAAAGTCACCTTTTGTGTATGGATGCAGCATGACCCTTTTCAGTGGATTTTGGCCCAAAAATCGTCAAAAGTTTAAAAATCAAACTCTAAATTACCTTTTTTTTTCAAATTTTCTTAACAAATTGGAGCATTTTACAGAAAGCCGATGCACCGTGATTTTAGTTAGAATTGAAAAAACATTCTCGGGCAAGTTGCAAAACTCACATTTAATGTATATTCGATGCACCATGACCATTTTCGAAATTTTGCGGTACCTATTCAAATAGTGCACATAGGCGTACAAACATTGGTGGTGGCCTCGTTTCCTCATGCTTTCGGCCACGAAAAAAAAATATACAGTTTTTGGGATCGGGGAGATGCACCATGATTGTTTTTCAGTGAAAGCCTGTTTTTGCTTAGCAGTCTCAAAGGTATCCGGCTTAATGTTCCCACGCTAAAACGTAATCCAAACATTTAAATTTTAGCGTCAAACTTTTAGGCCCGGCGTACACTAAAAATTGTAAACTTTCAATATATCAAAAATATTCTGACCTATAGCAAAAATTAAACCTAAAAGCAATCAGATATTTTTTCAAAAAAGCTTCTGTGTGATGTCCAATACATGGGTGTGCAGCTAATCTTAAAGTGCTGGCCGTGCTTAACATACTCCGAAAAAGAGTGATATTATTTTATGCTTTTTGGAGCACCAAAACTACTGAAGTTCGTGCTTAGCAAACAAATTCGGCATATTTGCCCCCCTGGTCCACTAGTTAAGCAAAACCCACCGCTGAAAACTAATCAATTGGTGTTTGAAACGGGGAGTGCTAGTACTAGAAGTATTTGGCTGTTCAAAATCTCTTTATTAAACACTTCTTTGTGTCTATTCTGCCCTTTCCTCCTCCCCGCTCAAAATCACTGTACCTCTAATTACGGTCAACTGCGGGTTGAGTTTAGTGAATGAATTGTGAAATGAATGAATGAATGAATGGATAGGTAGATGTGGGTTCTATGTATGTGGAGAAGTGCGACACATGAGCACAACCAGCCGTCACCGCCACTACCACCAGCAGTAGCAATACCCATCAAATATAAGCCTTGCATTTCATTATTTCATAGTGTCATAGATAGTAGCAGGCCCCGAGGTCCGAAAGGCCTAGACCAGGCAGCCGGCAGGTTATATTCAGTTCATTTTTTGACACCCCCCCCCCCCCCCCCCCCACCTCTACAATTCTTCTTCTCTACACATACATTAATCGCATAGTCAGGCCATTCATGTTTTTCACACAATTTTGTTAATAAAGCCGCTCTGGTGGCCGCCACCTCTCAGTAGTCCTTTTCCATCGTCTCTTTTTCCCTCTCCCTTACGAATAAACAAAAACAGTCATTGATGAACGACGTATCGGAATTGTAGTCTCGCAATTATGGTAGGACATATGTCTTGCCACGAGCCGTCCACTTGGCCCAACGAATCACTTGGTGAGTCTCTTTACAGCTTGAAATTTGTGTTGTTTTGTTGGGAAATATAGTTAATCGTTTTTTTAATTAGTATCTCCAATTAGGCCAAAACTACAATCGTGAAAGAATAGTTTCTGCACATGGTGCATCGCCCTGATCTATCTCACTAAACTTTTTTTGGGCTTCATCAAAAACTTGTTAGCTAATATAGTTTAGCATCACTCTATTGATATGTTCAATTTGAACCGAATATGGTGGATCATTTATTGCAACTGAAACAATTTGGCGCATAAAATTGCAACTATGTAGTTTATGTACATCGATCTTGATTACCGTATTTCCTCTATTGTATTGCACCCGACATAACTTTGAAACGTTATATCTCGGTTCATATTGAAGATATCAATAAATACTATTCCGAAATGAAAGCAAAAGAACTAACAAAGATTTTGTTAGTTGACCATTTTTGAATAGGACAAACGATTAAGATGTAACAAAAGTGGACAATGGGGAGCAATACTAATTGTGTAAATACCTTATATCTCGGTTCGCTTTGGTTTTAACAAAAATTTTAAACTGACAAAATATCATCTTAATGACCATATTGTAGTTAACAATATTTTGATATCTTTAAGAACTAGCGATTTTCGACATGGTGCAACCTCAGTCACCTAGTCTAACTTTGCTGGATTTCTTAGTTTTAGTATTAACCGTTCATTTTAATATACTTTTATAAATAGTGTCCTAACAATTTTTTGATACCTTCAAACGTGTTGAACAGGAGCGGGGATTATAGCATGGAGCTTTGATCCTATCTTGCCTTAATTTTCAAGCTTATTGTTGTAAAAAAAATTTAGACATGGTTCATTGACCTGAACTACCTGATATATCGTACTTATCTTCAATTTTAGCAAGTTTTGGAACCAAAAAAATATTAATAAAATCGATTTATAACATTTTTTCCATTTTCAACCTTCCGACAAAAATTTTCAATTTTGACCTTTTTTTATATGGGAACCCGGCAAAAATCTAAAAACTCCCAAGAACATTCTCCCACGAAAACCTAAATACTTGTAAATCTAGATCAGTCAACATGATTTGCACCTTCTTCCCATGGGATGGCTAAAGAACCCAGTGCGATGATGAATCGGCCTGTGGGCCGCGAGCAGACGCCGCTCTAATCACTTTTGGAGCATTTGTATATATATAGCGAAGAATTTACGTTGGGACCAATGAAACCAATAGAAATCCAAACATATTTTTGTTTTGTAATCTCTTCCCTCGCTGCTATCAGCTCTCTTGCCCCTCCTTAACCAATCAGAGACGCAGGCACACACCGCACCGCCAGTCCGTCATCGTCATCGAGTTCCGCAATTAGTCGTCTATTCTATCCGTTTTTGATTGGAGTTATGGAGCGGAAAGAGAAAGACCGAGAGAGAGAGAGAGAGATTAGCTCTTAGATTCATTCAACTAATCTTGAAATAACACACCCACACACATACAAAATGAATAAGGTATCTTGATTTCTAGAAAATCATGGAAATCAGCAAATTCGCTAGAAATGGAAGGGGAAGCTTGAAATAAGAGCACTACTTGATACCGAGTTGGGTAGTGTTTTAATATTTGAAGAAATATTACAATTTTGCATTCTTTATACTTCTAAAAACAAGTTGCTTGATGCATCATGCCTCTTTAGATAACGTTGTCGTTGTTTTAGGCTTAGGCTTAGGTTTAGGCTTAGACTTAAGCTAGGCATAGGCATAGAGGCTTAGGCTTAGCATAGGCTTAGACTTAGGCTTAAGCTTATTCTTGGGCTTAGGCTTTAGCTTAGGCTTAAGCTTAGGCTTCGGCTTGGGCTTAGGCTTTAGGCTTAGGCTTAAGTTTAGGATATAGGCTTAGGCTTAGGCTTAGACTTCTAGATTTCTCGTAAACCACCAAATTACTGTATATTCTCTATCATAGATACTACTTCGGACCAGCTTATAACTCAAGTCTTTTATCAGAGATGAATCACTGCTTTAATTACAACAGGTTAATAAATACACCATATTTTATTAGTTTAAATTTTTTGATTAAGCTAACGAGAAAAATATGACTAGTCAAAGATTATCGATGCACCATGGTACTACACTTTACTTTGCCGGCTCATAACTCGGTTTATTTTCAGGATATCAAAAAGGTTTGATACAAACCTATTAAGAGAAACATATAATAAAAATATTACTATTTTGTAAGACAATTTTGGTAAAACTAATAAGAATCGAGGTAGATATAGGCCGTTGAAGTAGCATGATGCAGTTGAAAGCCTACGTTTTTAGACTTAAAGCTTGAAAAGGATGTACCGTCACGTATTTCCTCTATTATTGTGCCACCCATTGTTCAACTGTGAAATCTTTTATCTCAGTGACTGTTTGTTCTAATCAGAAATAGTTAACAAAATATTTCTTAGTTCTTTTTCTATCATTTCTTAGTTGACCTTATATTGATACTAAAATAAACCGAGATAAAACGTTTCAAAGTTAAGTAGTCGGGTACAATAATGGACGAAATCATGCGGTATTAAATATTTTGACACGGTTAACTATTTGAGCTAGATTCTCGATATCATTTTAATTTCTGATCCATGGCTCGTTCAATTGTCTTGCCTAGAAAATCTCTAAAAATAACGTCTACGAGAGCGGGTGAAACAATAGGTGGTTAGATGTAAGTTGATGCCCCTGAAGGCATCCGGGATCCCGGTGTCCGCAAAAACAGTACAAATGTAACATGAGATGTACATCCCCCATTTGTGGTCGCTCTAGTCCAAGTTGAAATCGTAAGCATGCAAAGACATTGTTAATATAGCCGTGACGCGACGGTGGGCTCGCTCGATGAATCAAGATCGTTTTGGGAAGAGAGGGACTGAAAATATTAAAAAAAGATTTGCATACCCTCTGTAATTGTTTGAATCATCAGCATCATCATCATCATCAATCATAACATAGAGGAAACTTTTCCTGCTGTGAATGTGTCTCCTTTTTAGTACAGTCAATAAATGTGTCACTTTAAAGGGGGAGAAGCTTTTCACGGATGCTTTGCTCTCGACCTCCTTCCCTCCTCGCTTATAAATTTCCATTTTTCTCTTTAGGCTCAAACATTGATTGATTTACTTATTCTATTGACATTCTGATATTAATTTGATCATCTACTAAAAGGTATATATATATATAACGTATATCAACTCTTGGAGCCCATATCTTTAATGCTCATTAAACTCTGCTCCCAGTTAGGACTCGTCCGGGAGTGTAGTACTGGGTGTGGGATAAGAAAGTTAGGATGTGACGGGTTTCATGTTCATCTCGAGCTGCCAATCTTGCACATTAAGCGATTGGCTCATTGGCACTCTGTTTGTCCTCAGGGCCTGCCGCGGAGCCATCTCCCGTTTGATATCTGCTCCCGGACGTTCCCATGGCCGGAGAGAGGCGCCGCGAAGCACAAGCTCAACCTTTTCTAATGTAATGGGCCGGTGTACAATTAGGGGAAGAAAACAAAGAGGATGAGAGGTTGGGGTGGATGAGGCAGGGAAAAGAGCACCACCACCAACTGATTTGCTGGTTGGAGAGGAGCTCGTTCTGTTTTCTTGTCGTCGTAAAGTAGGAAGAAGAAGAGAATCGCGCTAGTTAGTGGTTAAAAGAATCGAGACCCGAATGTGATAGATGTGTCGCCAATTTAGCCAGTAGGATTTTTGCTGATTTTGCACACTTCTTGCTCTAGACATTACATCCCATCTTACGCTTCATTCATTGTGGTGATTTTAAGATTTGGGGGACCTAGTTCGAGCCTCTACAGTATTACTTTAAATTTCACTATTGTTTGGTTTGAAAAGAGACTATTGCGTCATATCATTTTAAGGCACCTATGTATACAGTTCAAAATTTTGCAACATTCCTGGACCATAGCGATCTTAAAGCGGGAAATATAATCCAGACATTATCTGATAACCCATTTTTTCGAACTCAAAAAATTGAGTAAAGCCAATTGAATCGTATCCCAAGCCTAATGGATTGCAAAGTTGGGCCATTCTGAATAGCTTCGAGTTCCAAATAATCACTGAAGCTAGCCAGAAGCTGAACGCACTGACCTTCCTGCCAAGCCTTTCTTTAGTGTGAATAAGTCTCAGACTAGAAGCACTACCTGATGAGAGAGATTCCTTTCTCTCATAAGTAGTCTATTTCATGATGCAAGAACTTACAGCATTTACATTACCATGTAACATTACTTAAGATCCCATTTCCACTTAAAATGTGGGAAAATCGATACGGTTTTATAAGAAGTGTCTTTTCGCATCTTTATAGCCTAGAGCAAAAAGCCAAATTGTTTGGCAGATCATGTCTCCGACAATATTCTGATCGATTAAGAAACTTTTCCAAATCTGCTCGGTTTTTTAGTCTACGCGCCCAGATAACTGTGTTCTCGGCATGGCCGATTTGCCGATTTGCCGGAAAGGATTTTTACGTACTTTACGACAACTTACTGGCATTTGCCGGAGATTAAGGGAGAATTTTTTTGAGACGGAAAATTTTTTCATTAGAGATGTTCATAGAATTAGCTTACACTTACAAAATAGGTCTATGAACATATTCAAAGACCGATGCGCAACTTTGCCGATTGAAATTGAAATTCTGAAATTTCCAAAAAATAAATAGGTGACACAATTTGCCGTTTTCCGGCCAATTCGGCAAATCGGCAATTTTCTGGATCTGCAAATTTGCCTGAAATTTTCAATTCCCTTTATTTGCCGGGTTGCAAATTTGCCAGAAATTTTCAATTCCGCACATTTGCTTCCGGCCAATTCGTAAAATCGGCAACTTTCCGGGTTCCAAATTTGCCGGAAATTTTTCAATTCCCTTTATTATGCCGGGTCTCTGCAAATTGGCCAGAAATTAATTCAATCGGCAATTTGTCAGTTAACGTGTAAATTTTCAATTCCGGCAATTTGTCGATTTACCGGAAAAAATCGTTTGCATCAACCCATGTGAACGCTAGCACACCTCCTAGTATTAAGGCTCCAGCTAATTTCTGACGCATATCATGGTTCCCAACTATACGTTCCTCCCCTCCCCCTTCCCACACCATTTCGAATGGGCGCCAATTATTAATGGATTCTCAATTCCCATCATATTGGGGGGGGGGGGGGGGGGGGCATTCGTACAGTCTCAATACGAATAATACTTATAAGCCCTCTTCTATGCCCAAAGCGCGGCCTTCTTCTTCACCCCTCTAGGCGATAAATTCTCATATTTAGCATTTTGTAAGACTCGGTCTCCCCCTTTCAAGTATCTCTGGGCGATGATTCCCGCTCTAGCTCTCGCACACACCCCATTTTTTTTTCACAATAATCATTCAAGGTGGACACCAAAAAAGCCATCAGTTCGATTCCGGTCAAATCGAGAGAACTGGAAGAGAGAGAGAGAGAGAGAGAGTAAGAGGAAATGAGACAGAGGGGTGAGAGATGGAAAACGAACAAGTTTGATGGGCGTCCCCCCCCCCCCCCCCCAGGGCCGCTCCTCATACTTAAATTTAACAGCTGTCACTCTCTTTTGCTCTTCAATTTCTAGCTCTCTAAACTCCTCAGGTCTACAGTAATCGGGGAGGGGGTAGTGATAAGCCTCTTCCCGCCCCCCCCCCCCCGGGGGTTAGGTGTCAGAAATTAATCATAGATGCCACGCCTCTAATGTTTTCGGAAGCAGTCATCCTCGCTTTAAATCTTTAATTCATTAACCTATTAATTCATTAGTCTTACACTGTCAATTTCATAACTAATGTTGAAAAAACTTCTCAAAAAAAAAAGTTTTGGCGGCTTAAGAAATGGCCTAATATTAGTTCGACTTTTCAAGCGGCTGGAAACTAACTTTTTTTGAGATCCACCCTAATTTCAACAACGTAAATAAAAAAATTTGGTGACCCAATTAAATTTATTTAGGCCAAATCTGGTGTTCAAATTTTTTAGGCCAAATCTGGTGACTAAATTTTTTAGGGCCCAATATGGTGACAAAATTTTTTAAGGCCAAATCTGGTAACCACAATTTTTTAAGGCCAAACGTTTTTAAATACCAAATTTAGATGTTAGAGCCAAAGTGACGGTGCAAAGGTATTTAGGGGCGAATCTAATGACCACATTTTTTGGCCAGACCTGTCCCTAATTTTTTACAGGGCCAAATCTGGAGACCAAATTTTTTAGGCCAAGTCTTGGGATCATCATTTTTTAGGCCAAATCTGATGACCAAAATTTTTAGGCCAAATCTAAGGACCAAGAAAATTTAGGATTTAGGGGCCAAATCTGGTGACCAAATGTTAGGGCCTCTGGTGACCAAAATTTTGGCAAAATCTAGTTACCAAATTTTTTAACCAAATCTGGTCACCGAATTTGGCCAAGCCTTGTGATCAAATTTTTTTAAATTTTCAAATCTGGTGACCAATGTTTTTTGAGGGCTTTGGTGGCAGCATAAAATTTTTAAGGCCAAACTTTTAGGACAAATCTGGTGACCAAATTTATAAGGCCATAATAACTTTTTTTTGAAAGTTTGAAGACGTTTCTAATTCATAAGTCTTTATCTTTTTCAATTTAATCTTCGATATTCTAGATTTCAAAACGATGGAGGATGCGGCTTACGCGTGTGCTGGCTGCGACTTCAAAGTGAGTGTTTTTTGTTGTTTCCTCATCAGCATCAGCTCTATCTTCTCCCCACCCCACACCGCTCATGGCCACTTCCTGTAACCTCCAATTGCCATTCATTTCACACAGTATTAGTACCACACAACACCCTTCCATGCAATTTGACTCATTCATAGCCCTTTTCTGGACCATGTCTTTCTTCCCCCTTCTTTCTCTCTAATACTCAACCTATACCTACCTACCCGCAATTTAATTGTTGAGCAACTAATTGATACACTCGGACGGCTCAAACGATGCGCGTCCGTCGTCGAGTGCCCAAGACTGGGACCGGTTTTCAGAATGTCCAGTGTATGTGTGTTTGTGTCTACGGCTGGCAGGCAGCCACACCACTCCGATTCGTTAATTTATTGTGAGATGATGACTGTACATTACTTTAAGTGCTGCTGGTGCTGGTGGTTTGCATCATATAATTATAGCTGATTATATTGACACACACACACATACACATTTACTTTCAATTGCTTTTACCCAATCGTTTTTCTTCCATTCCCCAATCTCCTTGCTCCCATTTGGCCCTTTGATATTAACCGCGTTGCGCGTTTCGCACTAATTTCGCGCCCGGACCGGTGTGCTCGGCGCGGCACGTCTTTCATCTTTTTACCTCAATTTCATTATGATTATAATAATCATATTATGGAAGCGAGACACGGCAAAGACGCGCTCAAGAAACTGATAAATGTGTAGAGGTCGGGTCCTTTTGAGAGAGACGGAGAGAGCGAGGTGTGATAAGAGCGCCTAATGAGCATGGGCAATCATCACATTACTATCAGCAGCATTAAAACTTTTTCAGAAGACGTGTCGGACTTCATTTGAAGAGCACACAAAAGGACACGAAGAGGAGGAACGGGAGCCTCTTCACAGAAGGCGTGTGCGCTGTGCCTGCTGAGCCCACCGACCACCTCGAAAAGCACCTTGTCGAGCACCCTGCTATCGCATCGCCGAGAGGGCTATCGAAAAGTTCCTGCTTACTGAGCGAACAGCCAAGTGAGTGTTTTTTTTTCACTCAAATATTTAGTAGTAAATCTTATACTTTTATTTCTAGCGGTTTCATTTTTGATAGCTAGTTAAAAACCATAGAATAACAATTAACTTTTTGACACCTGTCGTTTGAATTTTTTGACAAAAATTTTGTCGTTTGAATTTTTAAAATATGATCGAGACAACCGAGATATAAAAGGTCAAAGTCCAGTGAGAGGGGCCATAATGATAGGGATTATACGGTAGGTATCGAAAGAGACTTATAAGGACAAAGATAATGGCGCTAGAAAGTTTAAACTAGTCCAATTTGAACAATAAAAATATATATCACGTACTTCCCATTTAGTATAAATATTTTAATGAGAGTAATCTGAGATACAGTAAATTTTTGATTAACAATTTCTAGGCACCATGTACAAAACCTAGTCCCCAGCCCTAAAATTAAATAGCACGTACTTTTTAGTATAGAGCCTATTTCAAAAGTTAAGCCATCTGATACACAGTGAATTCTACCAAGTCCTAGTCGATGCACCATGTGCCCACTTGACTTTCACGGCGCACTTCCCGGCTAATTTCATACCTTTCAGAATCGCGATTTTCAACTATTAAACTATAGAGGGGTTTTTAATAAACATTTTCTCTGTTGACGACTTTTTTAACGTAGAATCAAAGACTACCTCGATAGCTTGATAGTTAAAGTCGAGATGCAAGGTTTTTTCGGAAAAATCACGCGGTGTTTTCGGTTTGTCTACGTACAACGAAAAATTCGGGAGAAGAGACGCAGAGGTTATCAACTCGTATGGTAAAGAACGTGCTGACGTTGTCACATATTTTTGAACAAAAAATCATTTTTAGATCAAACCGTAATGGGGCAACCTCGCACCACGTGAAAAATTAGTTTTTGAGGCTTCTCTAGTCTAGAGACTCACTAAAGTATTTTTTTTGATTGGCCTTGTTTTTTCTAGACTTAAAGACCAGTTAGATCCAATCAAGGTTTTTCAGAGTGTCGATTTTTATGAATTTAAAACTTTCAAATTGTAATCGCACGTTCCTCCATTTCAACCCCAAACACGTTACGATATTGTGCTATCATAATCATTCAACCATGCTTGCTTGTGTGCAAGTTGCACAGGGTGCGCCGGTGGTGGAATTGGCATTACTGTAAATGTCCTGCGTCTCCATCCTTGCCCCCAGTGTCCCCATCGGCATAACTATTCGAGAGGACGATCCGCTTTTGCATATCTAATTGTTCAGGATTGTTTACGCGCTCTAAAATTCAATCCGTCGCCAACCACCCGCCCCCCTGCCTGACTCTTCAATTCATCATGAGTATTAGTGTATTGATTAATTTTCGAATTCACGAATCAGTGCTGGCGCCCTGCTACTAGTAACCAGTGAGGTCATAGCGTTGCCCGCAGTTTCGATAGGGCTAATGAAATATGTAGTTTCTCTAGGGGCGGGAGGATAGGTTTGATCAGGAATTGGGCGTCGGTTTGATCTACGTAGATCTATGAAGATCGCGGGAATTTAGACGCAGACTTCTCAACTGATTTTGCATGGTTAAAAACGTGCTGACGTCATATGTTTTAGGGGAAAATATTGCCCGCACTTTTTGTAGATCAAACCGTAATGGGACAGCCTGACACCATGTGCTCAGTTATGGTCCAACTAGAGGGTTTTGTCGGAAAAATCTGCAATCAATTTTTTAAACTGACAACACATTTAGCTCCTTCTCCAAAACTGAGCCAAATGTGTAATGTCAAACTTTTCTTGAAATTTTTGTATCGAAATTAATTGATGTTGAGGTGAATTTTCAAATTTCAAAAAAGGTACTCATTTCTATCAATTTGTCTTCACCTATGTTTTCGACTAAGTGCGAGGCTAGAGGTGGAGGTCCCCTTAAAATCATAAGATAGCCTTATGTGATGTCGAAAAATGCCAAAAACCGCAATGTATTTTTCTATAGTTTCCCCGTGTGTAGAAGAATGTAAAAAGAGCATGCATTTTGTGATCATTTTTTGACATTTTCCTGCATTTTTTTTTGACAATTTTTTTTCATTTTTCCACACAGATGAATAGCGGAAAAACTTAGGAAAAAAATACCATATTTGCATTTTTCATGATCACATGATCCCCCATAAGGTTTTTTAAGGCATAATATTGATATTTATTAGTCTACTTCGGATGCATAATGCCTACTATTGAAGGCAAATCAAATCGACATCACTTTTTGCTCATTTTCAAAACTGAGAGGCACGGCTTCTATGTTGACTACTAAACCAGTCAATAACACTTATAAAATGTTTGGAAAACACTCATACACAGCCACGTCATAGCTTGGACTGGATGGGACCCCATTTCTTGAATCATAAAACCTTGATTGTTAAACTATCATCCCCCCCGCCCTCCTCATTGGACGACCCCACGGCTCTGTCTCCAATTTGTTCCCCGTCCTCTTCTTATCACCTTGACGCGTTGCTAATTGAAATTTTGCGTAGAGGATTTCACTTCCTCCCCACCGCTTCCTTTACTCCTTGGGGGATAAGTATGGAGAGTGTTTATTTGTGTGATTGAAGTGAAGAAGGTGGCTGCCTCATTATTTCATTTTCGTCGCTTTCTTTGAAAGAACAACTTGACAGTTTCCCCCCCCACCCCCCATCTTAATAATAATTACTTGCAGACAAGCGTCGTGTTCACCGTAGTCGGAGTCGAGCTAAGAATTCGCGCATCGCTGCTCGAGTTGCTCGATGGCGTTCCGAAGCGAGTCGCAGCTGCAGACGCATTCCCTTCAGCTCGTGTTCAACTCGTTCCACAAGTGCCCCACGTGTGGCGATTCGTTTGATGACAATACTATTGGTGAGTGTATTGACACACTTTTGGGTCACAGTCACGCTTGATCTACGTGTTTTTAGACACTTTTGAGTCTACACGTCGTGTCAAATGTCTCTTGGGCTAACTTGATCTGCGTTGATATACCGAAAAATGCGGGAGGTTTTGGGCAAAAAATTCCCGCATTTTTTGTAGATCAAACCGTATTGGGACAGCCTGGCATCACGTGGAGAACTCAGTTAAAGTAAGAGGGTTTTGTCACTAGATTTATTTTCTGTAAACTGACAACACATTTAGCCGCACTCATTCTCCAAATCTGAGCTAGGTTGTCGACCGACTTTTTTTGAAATTTTTTTAAACGAAAGTAGTTTTGCTAGTTTTCCTAAAAGGAGAAAGAAGGGTTGTCCAATTTTTATAAGAAGGTTTTTGTCGACTCGGAAAAACGATTTTTGTAAATGACAACCCTTTTCGCTCGTCTTTTCAAAATTAATTTTTTTCTCTTGGCACTTAATCCCATTTTATGTAAATTAACAAAAAAATGTCAAAAAATCTTCAAGTAGTTCTACAGGGTGGCCTATCTATAGGGTGGCCTACATTTTTGCACGGGTTGTCTAGATCCTTAAACAGGGATGGCCTCTCTGTAGTGGCCTAGACCTTTTCTACACGGTGTAGATTTTCACTGGTGGCCTAGATTCTCACACTAGGTGGCCTAGATTTTTCCACTAATCATAGCGTAGATTCTTTACAGGGTGTCCTAGATATTCACGGTGTCCTACATTCTACACAATTGTGGGTGACCTAGATTTGTTACACTGGTGGCCTAGATTCTCTACAGGGTGCCCTAAATTCCTTATAGGATGACCTAGATTCTTAAACAGGATGGCGCTACCTAGATGTTGACACTAGGCCTTGATATTTTACAGGGTGGCTACCTAGAATTTCTACAATGGCCTAGATTTTTTGCAGGGTGATGCTTGGATTATTAAACAAGGTGGCCTAGATTCAGGGTGGCCTAGATTTTATACAGGGTGGTCTAGATTGAACGTTTACACTGGTGGGCTAGATTCTTTACAGGTTCGCCTCAAGATTTTCTATCGGATGGCCTAGATTATTAAACACGGTGGCCTAGATTGGCCCTTTACAGGGTAGCCTAGATTCTTCACCCAAAGCGTAGACTAGATTTTTCTGGTGGCCTAGACTAAAGGGTGGTGGAACTAGATTTTTGCACTGGTGTATGGCGTGGATTCTTAAACAGGCTGGCAAATTGTTCCCCTTAGGGGATGCCACTAAATTCTTAAACAACCTAGATTTTATACGGGAAGGCCTAGAACTACTTTTTGTAAATGACGGCACTTTTTGCTCGTTTTCCAAATCGTTTTTTTTTCAGAGCCATATGTTGGAGCGTACACCAAAGAAGAATGCGAAATGTCTGAAACATTTGCCACAAAAGAGGCATTCCCCTCCCCCCTGAACTCAGCGTCACCTACTGAACACAAAGAAGCATCTGGAAAGCTGGACTCGACTTAAACTCTCAGGTGAGCCGCCGCCGCGCCTCAGGCTGCCGCCTGGCTACCGTAGTCACCGTACCTTTAATTGCTATTATAGCCACGCCGCTCAGCTACAAGCTCGGAGCGCAGAGGTGACAGAAAAAGCCGACAAAACATTAATATTATTACACTTTTTTATGATTGAATGCGAGAGAGATGTATGTGTGTGGAGTGGAGAGGCGCATGAAATGGTGTTCGGGTTCCATAGCAAGCTCATTGAGCACAATGATTTGTTTTTTAAATATATTTTATTGGAAATGACAGAAGGTGAATCTTAAAAGGAACGTCCAGTATTTAACTTAAAGTATTGATTTAGCACGTAGTTTCAGCCTGTCCCATCACGGTTTGATCGTACAAAAAATGCGGGAATTTTCTTCCCAAAAAGTTTGACGTCAGAGTTCTTAACCATGCGAAATAAATTGAGAACTCTGCGTCTCAACTCCCGCATTTTTTCTAGATCTACGCTTAGATCAAACCGATATGGGGCACGTTGCATTTGATATTTAAAGGGTCTCGACAATAAAGAACTCAAAATAGCCTTGCCAAGATAAATGGGCGGAGCTTTGGTAGGAATTTTCATAAGTCGAGGACTCCGCCCAGTTCGTTGGCCAATTTGGGTTTTTGTTCGTGCCTTCAATTTTTAGTGTTTCATTAATTTCCAATAAGTTTAAGATTGAAATAGTTTTTGAGGTGAAAACTGATCCTAGCATGGGCCGCCCATTTGTTGGTTTTTTTTTTGTTTTTTGTTCTTTTAAACTAAAATTCCACTGAACTTGTCTAATATCAGTTTCCATTAACGAAAAAATTCGAAATGCCATGAAAGGGGAGGAGCCTAAGCGAAGACTTTTTCGATGAAATTTGGCCAAGTTGCGATGTTTTTGAATTTCATATTTTTGAATCAAGTTTTGAAATAAAAAGTAATATAAAATTGGAAAATAGGCTCCGCCCATTTATTGGTTTTGTTGGGGTATTTTTTTCTGCATGGATCATTTTTGCATCCGAAAATTTGTCGGAAAGGCATTTTTCCCAATTTTTTTCCGTAAACTATCATCAACTTTTGAGATTCAAAATATCCAACATAAGCACGGGGTTCTGGCCTTCCTCATTGAATTTTTCGCGATCCATTGACAATCATTTGCCTGCCGGACAACGCGTGGGAAAGTCGTGTACTCCACGCGGACAATTAGAGCCATTTTAAGCGCCGCAAATCCCAGATATGGCCGAGCGAAAATGGCCTAGTTCGGCAAACTCTTTCTGACGATTTCCAGAATTTATTAGGGAAGACTCCGTACATAGGCTCAATAAAAGGTGAAATAGGCTCCGCCCATATCTTGGATCGATTCCAATATTGAAATTGACATGTGTTAGTTACACTTGTTCCTAATCCAAAATTCTATCCGAATTTCAATTACCCAAAGTCAAAAAGTCAACAAGTTCTGTTCTTATATGTGCGCGCGCGAGCGCGATCGTTTGTCTCTAATATTTGCTCATCTCTCTCTCTCTCAATCACCGCCATACCCAAAGGATTATCGCCCATGGATGATGGGATGATGTTGAAGACTGCGCGGTGGGCCCCCTATCCCCTGCCTCGGCATTCATCATGTTTGTAAACAAAAGGCGGCGGTTTGAGAAAAGAAGACAGTGAGCGGGCGGGAGAGAGTGAGGTGATGAAGGTAGTAATCGTGTGTCGACGAAAACACATATAGAGAACAACAGATTCGTGTGAAATAGATGAGGGCAAATAGGACGAATTTATTTAAGAGCAGATTATGATGCTTTGGCCCAGATGAGGGGGGGGGGGGGTATCATGAAGATGTGATGACGAACCATATCGTTCCTTCAATGTTTGTTGCTCGCTTAACCGCCGTCGCCGCAATTTAAAGGTTATTTCGACTGGGTATGATCAGATAAGAAGACGTAGACGGCTTTTCTTGGGGGGGACGTTCAGCTTTGATTCCTTTCAAATAATCAATGCGGCCTAGCTTTCTGATCTACAGGCGGGCCTTCTTTGCTAAATTTTAAGCGATTTTACTACCTCTTTGGCCCGCCCCACTTTGATCTACTTTAACTAAGCTTATATCCGATCTCGGTTGTCTTTAGCTTCATCAAAAAGTTATGAACTAACAAAGTGCGTGCCAATACATACTTCTACAATTCGGTAGTTAGTATTGCGATTTTGGATTAAAGTTAAGACAACCGAGAGGCTGTAAGCTGTTGAAGTAAATTTCTAGTTTGACTTACTCCCGACTCCAATTTTGATCTACTTTTACAGCTTATATCTCGTTTGTTTCTGGTAACAGCAAAAAGTTGCCAACTAACAAATTACGTGCCAAATATTTTTCTAAAATTTTGTAGTTGAAAATTTTTGAATAAAAGTTAAGACAATCACCGAAAGCTGTTGAAGTAGATTTCTAACAGGTTTGACTTACTCCCCAAACTTCGATCTACTTCATTTGACAGCTTTTATCTCGGATATTATTTTGGCAATATTAAAAATTTGTCAACTAACAAATACGACCCAAATATTTATCTACAATTTGGGAGTTGAACATTTATGTTAAAAGTTAATACGGCCGAGAAGCTGTTGAAGTAAAGGTGGTGCTTAGCCGACCTATATTTTTGAATTACACAACAGTTATAACTAACTTATTTTATGGGTAACACTATTCTAGCTAGTTGACTTTCAAAATCTACAGAAACTTTTGTTCCTGCCTCCACCTTTAGCAGCATAGCAAAGCGCCTATAGGAACACCTACGGCCTACACCTCATACCACCTACTCGAGTACACCTACTGCCCATCTACTGTTTGCGTACTTTCTACATAGCTTTGATGCCCGTTCCTAACCAATACTCTTTTACAGGACAAAAAGCGGCGTTGTGTGCAACGTCTGCAAACCAAATCCTCCTATCTTCCACATTGACAAGCGGCAAATCTCTGACAAGTGCACATGAGGTCAATGACACATCAGACCCGGATGAGCCGGCTGTCCGAACTTGTGGCAACCGGGGAGCTTAATGGGGAGACATGCCGTGTGTCAGTAACCAGGAATCCCCGACGATAAACAGCATCACTGAGACGGTAGGTGAGGGGTTTGTGCAGGCATCCTGAAAATCAGCTGTTTGGTTTCTGTGAAACATTTGTGCGGAACATAGTTTATTTATAGTTCAATTTGAAAAAAACTGGTTTCTGAGAGTGTTCAATCAATTTTCAATGTTCGATTCTCGATTAATAAAATTTCCACTTTCCAATTCCAGACAACCAACATCCTCTCTGAACGACCTGATGTCACTGCTCACACGAAGCGGGTCGGATGAGATTCGAGGTAAACGGCCTTCAAGTCATGACACAGATCAAAGTACGGTGACCAAGATCACTAGCCTAGTCCCAGAGTTGGGAAAATCGATAACATTGCGCTCTTCGATGACTCCGTGCGGCAGAGGTGTCGAAGATCGTTCTCGGCTTGTGGGCAGCAGATCTCAGGGATCCTTGCTTTGAACCTCCATTATGAAGAGTCCCATCGAAGATTCCGAGTGACGTGTTAAGAAAGTTCGGAGACGGCCGTTACTTGCCGCATTAGAGGAAGCACGGGTTAGCAGAGAGTTCCTTGAAGAAGGATCGCAAAGCCCTCTGCGCAATGACGATGAGCCCATGGAGAAGAATATGCGGCTGGAGAAGACACTCTGCTGCCTGAAATGGACAAGAACGGGGCAGCGTCGCAATTTCGCATAATGTTCCAGACAAATGATGAACTGCCTCCCGTACACTCATGGCACCAGGCACGTCTAGTGGCAACTTTGGATTCTCGCCAGATAAATGATCAATCAGCACATGAAGCATGCGGCGGCGGCGGCGGCGTCGCGACTGCAGCAGCAACAGCCCACACTGCCAACAACTGCGAAGAGAGCAAGAATACGCACTGATGATCAGCTCAAAGATTACGGTAAGTCGTCTTGTGTGTGATTACTGTAAGCTACGGCGAACAGGACAGACACGAGGGGGGCGGTGGAACATGAATTGCAAACAATAGGTGGGAAATGGTCGGCGCCGTGATCAAAATGAATGAGAAATGAGAATGAAGAACAAACATTGTGTGTGAGTGGTGTGTGTGAGACGAGACGATAATCAATCAATTTCTGGAAAACTACACATATATTTTCCCGGCGAACTTTCTGTTTGAGGGACCGTGCGGAACAAGACCCCCCTGAAAAAAAAAATCCGGAAAATCCTTAGCCTAAATAGCGAACGCTCGCTACTGACGCTCAAGCCTAAGCCTAAGCCTAAGCTACCTAAGCCTAAGCCCAGCCCAAGCCTAAACGGGAACCCCCTGAAAAATCAAAAGGAAGAGAATCCCAAGCCTAACGTCCAACGCGCCACTGACGCCAAGCCGTATGTCTAAGCCTAAGCATCTGCCTAAGCCCATCCCAAACCTAAACAGGAACCCCCTGAAAAATCAAAAAAGACTATCCGGAAAATCTTAAGTCTAAATAGCGAACGCTCGCCACTGACAACCGCCAAGCCTAAGCCTAATAAAGTAAGCCTTAGCCTAAGCCCACCCAAACCTAAGCCCAAGCCTAAGCCTTTCACCTTCCTAATTGTCAGGCAGGCTCTAAAAACCGCGCCTGCCTACAATCGAAGCCCTAATCTGTCCGCTTTAGCAAAATACCCTCAAGTTGGTCGGTGCAAAGGGCACATCAGTATAGTAAACGCGCTCTACTGATTATTCGAGTTTAGCCAGGTTTGGGCGCGTTTCAAGGAAAAGAACTTTGGCTCAAAAATTGTGAATTTATTTTCGAACATTTTTATATGCATCACAAAAATGTTAGTCCACCCGTTTTTGAGAAACTAACGCCCAAACGTCCAGGTATACGGTACATGCGCAAATTGCGTACAGATACCACTGGGGGGTCGTGTTTGGGCTTTAGTGTAGCTAAGGCTGTAGCGGCCCTACGGCCTAACTGCAAGCCTCAGCTTATTCGCCATAGGCTTGTCTGCCGTATTTCAAGCCGACAACAAAAAACCTTTCAGCCAATACTTCAACATCAACAACTCGCCGTCAGAAGCGATCAAGTTCGAGATGTCACAAAAAGCGAGCCTTCCGGACAAAGGCATCAAACACTGGTTCCGCAACACACATAGCTTTTCAAGGGCTTTGTTAATTTATTTTACTTCGAATATTGTTATTAGGCTCGGAGTGGAAATGAGCGAGGTGTGAACATTGGTAATTAGCCGGTTCATCTGATGAATACCCACACGAGAGGGAGAGCAAACAAGGAGAGCAATTGAGACGAGGGAGGGAGAGAGAGAAAAAATAAGAAAATCTTAATGTTAGTTGGGTGCCACGCGCTCGGCCAGGACCACCGGCCGGGAACCATTTAGTTTTGATTATGATTTCCGTCGTGGCTCATGATTTATGGGAATTGACTATTTGTGCTTGTTAGGTGATAGAATAGTTAGAGCAACTATCAGGAAGCGGACAAGTCGCAGTGCGAGACTATTAGAACACGTTCTGCAAGGTTTATTCTGATAGATTTGGATAAGTACTAATATTGGTAGAGACTAAATCGCTCTCTTGATATATACCAGCTTAATAATTGTTCTACCAAAAAAACTGTTAAAGAACGCTTCGAGATTCGAGCTTCGGGAAAGCTTAAAGGATGGGTACCGAAAAATTCTTTTTGCCTGATTCCGAATATGGATGTGGAAAAATTCAAAAAAAATTCCCTGATTTTATATTTGAGCTTTTACGATTTTCAAACCTTTTGTGCCCACCTGGTGATATTTTGGATTGATCTACGAGCTCTTGATCTACAAAAAATGCGGGAGAAGGCAGAGTACTCGACTGACTTTGGCACGGTTAAGAACGTGCTGACGTAAGCCACACTTTTTTGCGCAAAAGCAAAAAATTCCCGCATTTTTTGTAGATCAGACTGTCATGAGACAGCCAGGCACCATGTGTGTGCCTCGGTTCAATTTTCAATTTTTTAAACCAGTTTCTTTTTTTTTAGTCGATACGTTTTCTGAAAGCTAAATATTTTTTTTGCCAAAAATGAATGTAACTGGCTTAAAAAAACTAAATAAAACGATGCAAGCGCAAATGCGAATTTATTTGGGCGAATTTGAAAAAAGTGATGCGGGAATGAAATCGGAGATTCTAAGCAGGCTCTAAATAAACAGGAAAATTTTTTTGAATTTTTTCACATTGATATTCGTAATCGGAGAAAATCCATTTAAAAATATTTTCCAGATTTCGGTGCCCCACCCTTAATGAGATAAAAGAGGAAAAAAGGAGTTTTGTAACCTTTTAAGTTTTTTCTTTTTCAGGAACGCCAAAGCGACAAGGATTCCCCGTCCAACTTCAGCGTCCCTCCCCAAATGGGAATCGACTTGGTCTACGAAAAGACCGGAAGTACTGTCGCTTATGAAGCACCAAAGTCTGAGTTGAGCTCTGCGCGGGCCACACCGACATAATTCCGACTCCGATACCGCTCATGGATCGTTGAAGAGAAGAATCCGGTGCCAAACCGGACACCATCGTCTTCTTCCTCTCAGCTTGCAGGCTATGTTATCTCAGATGCAGGGAAGTTTTTTCGACGCGTCAAACTTCATGTCAGCATCAGTGAATCCGATGACAGCACTCCTTCCTACCGTCCAGTGGACGACAAGCCCGAATGGCTCTAGAATCAAGACCGATTTCCAGCTGAGATCTCTACAGCAATTTTTCGACAAGCACTACCCGAATGATGATGATCTAGAAGCGCTGACCAAGAAGCTTCAGCTGACCACGTGTGATTGTCGTCGGGTTCCAGAATGCAGAAGGCCAGAAAGATCTATGAGAATCAGCCAAATCACGAGAGTTCCGATCGATTTGTGAGAACGCCGGCATCGAACTTTGCAAAAAAGGTTTTAGTGTTGGAAATTAAAATTTAAATTTAAATTTTCCTAAATTCCAGGTGCTGCCAAGTATTCCAACGCTACTATTCGTAGAACTCATCCAACATCAAAAGAAAAAGTGCTGACGATGTAGCAGCACCTCTGGCAAGTGACAACCTCAAGAGTGTCGAAGAATCACTGACGGAAGAAGAGAAATCCCAGCTTCTAACAACAAGTAGCCCAACTAAGGAGTCAGGAGCTCCCAAAGTTCCAGCCGGCAGAGCTTTTGAAAATGATCGGAGCTAATTCGGTGACTCCATCCCGGCTGCAAGTCAGAAGTCTAGCAACGATGCCGTTCTGCTGAAGATGTGTGAATCATTGTTGGTGGGAGCATCACCTAGTACATCACCGTTCCACCAACGTTGTATTTTCTGCGAAGACTTCAAGGATTGGAGTGCGATGAGTGAGCTCATGGCTCAGAAGCGGGATCCCCAGCATATGCTTCTTCCAAACTTCGATCCATGATGCCAGAGGCTGGTCGTGCAGAGCTTCTCATGTGATCTTAAAGGACTCTGCGTTCGATCTTTGGGGCTCTTCAGTCGTCTACCGGGATTCTATCTCAACATCTCCATCTCGATCCGAAGATGATGTTCTCACAGAGGCTCTGGATGATTTTGCATTTGCCGCGTGAACTACAGCTTGCAAATTCCACAAGCGGCTCGGAAGATCTCCGGCGAGCAACAAGACGAACTCATCTCACACCGATGCAAGTGCAAATCAGTTGAAGAGCGAGTTTAACCAAGACCCCATCCATGCCATAATGTGAGCTTCTCCGCAAGGAAGTCGGCCTTCCATACAAGCGTGTTTCAACTCTGGTTTTAAAATGCGCGAGCCATATCGGAGCGAAAGACGCGCGGTGGAGTGACCAGGACTCTCGCGATCCGGAGAACTTCACTGGGAAATTTGTGATAAGACGTTCGCGACGAGTCTTTTGCTGCAAGACCAGCTGTTTGCCGAGCAGCACATTGAATTTTTAAGGAATAATCTGAAACGGGAAGGGGTCTCCGCAGTGGACGACCGCTGACCGAGTGCTCTCCAGAGAAAAAGTAAGAATTTGAATTTTTATGTAATTTAATTACATATATCATTACCCTATATAACCTTAAAAATATTCCAGAGCAAAGCTTCCGAACGACGCCCGCTGGGTCTTGCCAGTTTCCCGTTCCTCGACACGTTCGACATTCACATTTAAGGAATACCCATCGCCTTTCTGCAGGCTGTCTGATGAGATCAGGATTAAAAGCAGATCACTGATGATATGACGGCTGGAAAATCGCGAACCACGTTCTGCCAGGACGGTTGCTCGACAAGTTGAAAGAGTCGCTGCCCGAGGATGAGAAATCAAATTGACAGAAACCCAGAAAGACGTTAGCTTTTTTTTTTTGGGAAAAATTTAGAACAATTTGGCAATTTCAGGTCGGATGGGCGTGCATGTACATTTGTCTTCCACTAAGAAAAAGAAGCTCCGTGAGCATCAAAAAGTATCCCATGTGCAGTGATAAGGTGCGCAAGAAATTAGGAAACGGGCTTGAAGTTTAGCTCATAGTTAGTCGTGTCAGACTGTCTTTGATCTACGAAACATGCGGGAATTGGAATTTCAGAAAAATTGTGAAGACTCAGCAGGAACGTTATTAACCATCGACGCAAAATCAGTTGAGATGTCTGCGTCATTTCTGCCGCATTTTTTGTAGAGACGATCTACGTAGATCAAACCGAAATGAGAGGCACGTTCTGAATCCACGAGCTAGGCTTAAGCTTATGCTAAGCTTAGGTCCTTTTGTCAGGTTTAGACTTAGGCTTATGCTCAGGCTTAGGCCTTTTCTTGGCTTAGGCTTGGGCTTAGGCTCAGGCGTAGGCTTAGGCTTAGGCTTAGGCTTATGCTAGCTTAGTCTCACAATCAGTCTTAGGATTAGGCTTAGACTTAGGCTTAAGCTGAGGCTTAAGCTTAGAGCTTGGGCTTATTGGGCTTAGGCTTAGGTTTGGGCTTGGGCTTAGGCTTAATCTCAGGCTTAGGCTTAGGTTTAGGCTCAGGCTTAAACTTAGGCTTAGGCCCAGGCTTAGGCTGAGGCTCACACGTGCTCACGTTCTTAATCATACAAGATCAGCTAAGAACTCTGCGTCTTTTCGCCCGCATTAGTTTTGTAGATCTACGTAGATCAAACCGATGAGGCACTTTGAATCCACGAGATAGGCTTAAGCTTAGGCTTCCTAAGCTTAGGCCTTTTCTCTCGCAGGCTTAGGCTTAGGCTTATGCCCAGGCGTAGGCCTTTTCGCGTAAGCTTGGGCTTGGGCTTCGGCGTAGGCTTAGGCTTAGGCTTAAGCTTAGGCTTAGACTTAGTCTCACTATCAGTCTTAGGCTTTAGACTTAGGCTTCAGCTTAGGCTTAAGCTTTTATGGGCTTAGGTCTTAGGCTTAGGCTTAGGTTTGGGTTCTTACGCTTAGGCTTAATCAGGCTTAGGCTTAGGTTTAGGATCAGGCTTAAACTCTAGGCTTAGGCCCAGGGCTTAGGCTCACACGGTCTGTTTCCCACGTTCTTAACCATACAAAATCAGCTAAGAACTCTGCGTCGGTTCTCTCTGTTCGGATTTTTTGTAGATCAACGAACTTAGGATCGAGCCGAAATGAAGCACTCTGACATCACGTGGGCTAAGACTTAGGCTTAGCAGCTTAGGCTTGGATCAGGCTTAGGCTTAGGCTTAGACGTAGGATTAGGCTAGTTATAGCTTGTAACTTTTTTAAATCTACCCCGAGTCAAAAAAAAACAATTCAATTCCAGACGCTAACCATGTGCAAACCCACAACTCGTGCAAAAGGTGTCAAAGTGATTTCTGTCTTCAATCCGAGTGTGATATCTCAATTCCATCTCTCAATCCTCATACTACTACTACCACCACGACGATAACAAAACCCCCCCCAAATATCACCTCATGCATTGCATTTGCCGTCTCACTCAAGGACCTATTTCCGTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTTCCTCTCTCTCTCTTTTCTTCTCTCGAAAAAACCACAACTCCATTTTTCCGTTCTGAGCTAACTATCCCCCAAAGTAATTTCTTTGTAATATCTATATCCACTTTTTTTTCGACCACACTACACCATATCCCGCCGCCCATCCCCTCCCCCCCCACCGCTTTATGACAAAACTGGTTTCGCTTTTGTCTTCAATTTCACACCAACCGCCTGCAGCTTCTCATAATAATTAATAATTTTTTTTAGCATGCACAATGATTTTGATAAATATATGTATATAAAGTCATCTAGGATTGCCCCCTTTCTAGGATATGTTTTTTTTTGCCATCATCACACAATTTTCCGATTTCAATGATAAGGATTATATCTTTGTCCGTTGACACATGTAGATGTTCCTGACCTTCCAATTTTTAATAGATTTCCATTACTAGTTTTTTTCAGGCCTCACTATTCTATTGCAATAATTACTTGGATGCGATCCATGAACGCAGTCAATAATAGTTCAAATATTTGCACTTCTTTTTTGCACACTAATTCAAACTCACGCCAGGCTGTCCAAATACGGTTTGATCTACTAAAAATGCGGAATGAATGTTTACTCCCAACAAAATGTGACATGATCAGTTGGCACGGTTCTTTTTTAACCATGCGATCGGTTGAGTAGTCTTGCGTCTCTTCTCCCGCATTTTTTGTAGATCAAGCCAAAATGTGACACTGGACAATGACACAACGTGTAGACTAACATTGACTGACACCACGAATATCATATTGAAACTTCTTGAAATCTGTTCAAGAAAAAAGTTATGAAGGCTCAAATGGCCTAAAATTCGCTAATTTAAAAGACACTTAAAACGGTGTCTTTTTGAATTTTTCCGTCCTTTTTTTAAACATCTTTGTTCATAAAATTTAGTGCTTACAAAATGGATGTTGGAACATTTATAGGATACGTTCAATTTTGCCATTTGAAATTGAAATTCGGAAATTTCAAAAAAAAAAAAAAAAAGTGCGAAGCCAAAATTTGTTTATCCAAAAATTATCGGCAATATTGCCGGTTTGCCGGAAATTTCAATTCCAACGACAAATTTGCCGAATAATGGCCGCATCCATTCCTGCAATTTGGCGATTTGCACCGATTTGCCGGAACCAGCTAACCTACTTACTAACTTGCTAACAAGCTCTTCAAGGTTTTTAGTTGATGATTTTCAATAGAAAATTCAGGTGTTTTCAGGCAATTTCGAGAAAGCAATTCAAACGTTTAACAAAAGAAAAACGACACTTTTTCCTCTTATTCGATTCTCTTAATATCTCAATTTTGCCTTATAAATTTATCCTCTCCTCACAAGGTGACACACACACACACACGCACACACTCGTTTCTGCTGCGAAAAAAAGCTATGACCTAACACGCGCCTTCTCGCGTAAGACTAAGATCCACTGAAGACATCTGATAAGAGTGGGTCCGCCATTGTCTCCAGAAAATTCTACACGCCTCCGCCCGGTAGGGGTCCCACCTCGTCGCTTCACTTTTGTTTCTCAAAACGATTCCATCGGCTTCCGCTGGCTTGGGCCATTTTCTCTTATACAACTGGCCATTCTTCTCTTATTGCTTAACATCATGGTTATTTAGGAATTTGTTCTACCCTGACTTGAAATGACTGGACGGCCTATTTTACTTTGATTGACTCAGAAGACTACTATAAGCGGTCATTTGTTGCGAAAATTTCTGCCTTTAAAGGTGGAGTAGCGCCATCGTGGGAAAATTGCTTTAAAAGGGCGCACGCCTATGATACCACACGAATATTATGTTAGAAAAATTCAGGGAAAAAAAATTCTCTAAATTTTATATGATTTTTTGAAAACTGAAAAAATCTAATTTTCACTTAATTCTTATGTGAATTACCGCTTGGATTTGCTCGATGGAGCGCCTTGCACGTTTTTAAATCTATTATCATATTTTATTTGTACTTTGTATTTTCCACGGATTTTTAATGTTTACGGATCATCTTTTTTTCCTTGAATTTTAAAAAGTCAAAATCCAAAATGCAAATTTTCGATTAAAAACAAGCGTACAGGTAAATCAGTTAATCAATTCAGGTTCATTTTTACGCCTGTAAGCGTGCTTTTTAATCCAAAATTTGCATAAAAAAAATTTAAAATGGGTCGAAAATAAGAAAAGATAATATAAATAAACTTAAAAACATGCAAGCGCGCTCCATCGAACAAATCCAATTTAAGGAGGTATTTCAATAGGAATTAGGAGCAGCAGAAACTGAGATTCTTTCAATTTTCAAAACAATAAATCATATGTAAAATTTGGAAAATTTTGATTTAAAATTTTTGCGTCATAGAAAAACCGGAGTTCCTCGCTTTTTTTTCATCGAAATTCAAAAAAGTAGGCGTGGCCCTAAACCGAACAGCTGTTGTTTTGTTATTGCTCTTAAAATTTCACAGCCTCTAATTGGTTGAACACGCCCACTATTCTGAAATTGGCCCACCAATGACAAATCGCGAAACTTCTTGTTTTTTCCGCAGACTATGGAAGCGTCCGCACTCGGGATATTCCCGCATTTTCCGCCAGACTATGGACGCACCATTATCATATCAATTGGGTCATGCTGTGGTACTATAGGCATGTTTTAAAGCAAAATTTTTTCCCCACTGGCGCTACTCCACCTTTAATGCATGCTGCGTCTTTTTTATTCGGTTCTGGCCATAACACACAAATTTTCTCAAAGTTTAGGAATATATAGATTTAAGGAAGAAAGTTTTTAGTTAGGAAAAAATATAGTCTTCTTCATGTTTTCTTTTTTTTGACAATATTCATTCTTGCCATCCGTTTTTTTTTCTGCAACCCTATTCGATAAATGTTTGCTTGGACGATGTAAGGTGCTTTGAACACTCGGCATTAGGGCTTCTTGCCCATTAGACCAAAAATATTAACTTGTATCAGAAGTTAGGCAACTATACGTTGGCAAAACTTGGATTCAGGCAATATCAAAGTTGCTAACCCAAGTTTCACCCAATTCGCAAACTTTGGCCTAAACTTTTTTTGTACTATGCGCAGAAGTTCCATTTTCCAATCGCCCCAACGTTTGCCCATCTTTTGCCCAAGTTTAGCCAACTTCGGTCCCAAGTGAATATTTTTGGGCCATGGGCGCTAGAACATCGCCGAATGACGAGCTCTTAGAATTTTATTTGACTCTATCCGATCTGCTAATTCTCAAAAATCCCCCAATTGCCAACCATTTATCAGAATGGGAGTAATTGGGCGATAGCGCTCAACGTGCTCGGCTTTGGCCGATAGTGCGCCTGATTCCCAGAGGATTATGTGGACCTGGTACTTCCTATGAAAAGCTGTATCCACCATTTCACACGCTAAACGTTTCCTACTCATCTTGATTAATTCAGTGAAATACTACAGTCAAATCAGGTCTTCGACAATTGTTGCTGAGTCGATCTTCTACCGCACTTCATTGGTGCCAAAACTGAGACGAACTTTGATGTTCCGCTCACCTGCTTGAGATTGGAGACTAGCAGGAAGAGATGCTCGTGTGGATGTCACTTCGGTGTGATCTTTTCCCGAATAGATCGTGTTGTTCGAGTAAGTTTGCGATTCTATATGACTTGTCAACGTGGTGTCGGGCTGACCCATTACGTTTTGATCTATAAAAAATGCGGGAAGTTTATGACCAGAAAAAAATGACGTCATCACATTCTTAACCATACGAAATCACTTGAGCAATCTGCGTCTCCCATTTCTTCTCCCGATTTTTTGTAGATCTGCTACGTAGATCAAGCCGCTGAAATGCAATTATTGAAATTCCAGCTTGCTGTCTCAAAATAAGAACCAATCCCACTTGCCTGCTGGGTAAGATCCGCCACCTCCCCCACAAACCGTGATGCCAGCCAGCCTTCGGCCCTCTCTTTGCTGCCCGGCAACCCCAAACTGTTGCCCGAATGTCCACCCAGCTGCCGAGTTCGTCGCCCCGAAAGAGTACGAGGACGAGCAAGGCAACCCTGGAGGCGTCCCAGCACCACCAAACCCACCAAGAACTTGCTGTCCTCCACCAACACCTGCTCACCATCGCCACCACCTCCACCACCACCGGCTCCGGAAGCTCCAACGCAATGCTGTGGATCACAGCCTTATAGAAGAACACCGTGCAGGTCGTCCGGATGTCCGAATGGAGATTGTTGATGCGGAAGACCTTGCTGTTACAAGCGGACAGCAGAACCCCACGAATGTTGTAATCAAGGGCAAAAGGCTTGCAGCCCACCAGAACAGCCTTGCTGTCCTCAGTTGAAGCTGGATAACTGCCTCGATTCGGCCCCACCTTGCCTTCGCGCCTGTCCATCGTGCCTATTCCTGAACTGATGCTTGGGAAGAGAACTAAGAGAGACTGGGCACCGGGGCTTCATATGCCACCCAAGTAAGCTATAAGTTTAGATTTTCACCTAGTGGCAGGCTGTCTCAGAGTGGTTTGATCTACAAAAAATGCGGGAATTTCTCGCCCAGGAAAATGTAACGTCAGCATCAGGGCTGGGACCAAGAAAAAAATTTTACCAAAGATAAGTTTAAAACCAAAAAAACCAAAAAAAAAAAAACCCAAAAAATTTTTGATATGCTTAAGTTGATTTTTAAGCTGGGGTTAGTAATGTTGCAAAATGGTAATTATTAAAATACATTTATGCACAACTGTGTTAAAATACATGTTTTAATGTATTATAAAGATTAGACTCTAGTCGACACTAGACACGGAACTTTTTTTTTAGATTTTTGGTCAAAATACCAAAAAAACCAAAAAATTCCCAACAACATGTTCTTAACCATGCGAAATCAGTTGAAAACTCTGCGTCTTTTCTCCCCGTGCGATTTCGAAGATCAAACCAAAATGAGACACTTTGACACCACATGGGGTATTTTCAAAACGCTGAAAATAAGTAAAATAAATAATAAAAATTTTCAGTCGGACTCCTTGGTCAACAATCCCCACCGACTGATTACAAAGCCGGTAAAGACCATAATAAAATCAAGTGAACTCCCGCGTTGCATCTGGAACCAAGACATCTCAACTGTCCGTCACCAAAAAGCACATCGAACTATCCTCTAACCACGTCCGCGGAATCGCCTCCAACAGCCGGAAACGACTTCCGAAGAGCCCACGTTCGATTCAAGAGCAACATTGTACTTTGGAAATGGACCATGCCAGCTGTGTCTGAACGGAACTCTCAGAGAACCAAGCGGTCACTCGCTTATAGTGTTCGTACCTACCTACAACCACAATACTCTGATTGGAACCCGTTCCTCGGAGATCAAAGCCATACGACCGCAGTCGCCACTCTCCACTCGCCGGGCACAGAACTAAGAGAGCTGGCGTGAGTTTGACTCATAGAAATTAACGTAGCTGAATTTATTTTTCCAGTGCCTTCCTCATCCACAATGTACCCCTGCATGTCCGTCGCTATAAGAGAAACCGGATCGGATTCCAATATTGTGAGCTCCAGGCAATGGACACTACGGTAGGAAGAAGCGGGATGGGGAGCCGATAGAGATCTGTGCTTGAAAATACAGAAAGGTGAAGATATGCAGATGAAAAGTGTGATAACGATGAGTTCAGTATTAATGAGCGAAGCAAACGACAAGCCTACAATCCAAAAGGACTTGATTTTGGATATCGTGAAGCTCCTATCCAAGGCCTCCTTCAGGTGGCAACAATCCAGGCGGAGGATGCATGATGCTCCTAGCCTGTGTTCTGGCTCAGAAGAAGAGAAGAAAGAGAAATGAGATCGGCTCGACACGTACTACAAAGCTGTGGAGCAGCACAAGAAGCCGGTGGAAGAGTACGAGAAGGCGATGGAGGAGCACAAGAGAGTCAAGCGGCAGTTCTTCGCTCCGGATAATGCTGCAGTGTTCCTGTCGGGCATGGGTGTCACTTGCCTTGGCACTAGCAGAAAGAAGAGAGAAGTCGAGAAGGTGGAGCATATGAGGATGAGCGAAGCTATCTATCAGAGCAAAGAAGGGGTATAAGGAAGGATATGATGATGATGATGAGGTGAGAGACCTGAAACTTTAGATCCTGTAAGAACCTTTTGAAAATTCCAGAAAAAAAACCCCCTAATTGAAATTACGCCCGCACGCGCCACTGAGATACTGTATTCGCGGCGAGACCACCCTACTGCACATCTAAGAAGTCTCCCAACGCAAGTGACGAATTTGGCCTAAAATGGACTTATGGGATTTCCACAGTTTTCACCATTTTTTTGACACAGTCGACGTTGACTTTTTACACTCAAAAAATTATTGGCGTGGTCATCTCAAAACTGATTTCAACAATTTACTGGATTTTACGCGTGTACTTCATAGTGTCACACCAAAAATTGATCTGGTTCATGTGGTGTCAGCGTGTCGCCTTTTGGTTGATCTACGTAGATCTACAAAAAATGCGGGAGTTGAGAGACGCAGAGAACGGGCGCAACAATGCGGATTTTATCTTAAATTTTCATATCAGGACGACAGTGAATCCTCGGAGGAAACCGAACCCTCTAGACGCAGAAAGCAACGCCGCTCCTGCCAACAAAGTTAGCCGACGATTGCCTGAACAACGTCGAGTACGCAGTCTTCGAAAAACTGGATACAGACAAGAGAACCAAACGAGAAACCGTGTTCCGTCGTAAGAAGTGGACCGCCAGGTGTGGCTCCTTCATGGGCTCACCAGGGCCACATCGTGTCAAGAGAAACTTCGGGCAGCCTGAATATCAATGTCTCGGAGCAGAATTGCACGGCATTCCCACAGTGTCGGCAAACAGTGAAGAGACACTTTTTGGGAGAAGACTGTAACATCTGTACACAGGATACTGGTCTGAGGCGGAGGAAGAGAGTCTTCGGAACAGCGGTAGGTGTTGGTTTAATGAGCTGCCGTATCTTATTCCGCAATGCTACCCATGCCCAGGAACAAACGTTCATAACTTGAAGCGACTCCCTCCGTGGATATGTCTCACATATCACATAAATACCACCTCGTAATAATAATTCAACATGACTAATAACAAATAAGTACATACATACATTTATATTAGCTTTCAGCACCCGTAGTCGCAATGTGGTGCAATAAAGATATGTGTAAAGAAATGGGAGATGTAGTAGATTTGGTCGTTATAGTGATCGCAGATCTTTCCTCTTTGAGCCGGAATATTGACTGGATTGGAGCCAGGAGATGAACCTCGCGGGGGCAAATGATGCAAAGTAGGGGTGAAGCATTGCACTGGCTGCGACACGGCTTTCCGGGCGGAGCTGTAATTTTGAGGGTTACAAGACATAGGTGTAGCTCGATGTCGATTCATTTAGACTAGCATTGAAGCCTTAAGCTTTCGGCTTGAGCTTGCACGTACTCAAAGACACGGTTGCTGCTCAATATAGCTCGCGGAAACTGATTTGTCACAGGTAAGATAACTAGTAGGCCTGGACTGACTGTGGAGTAGCGCCAGTGAAAACTTTGTCAAAATACATACATTATGACGGTCCGAAAAAAAACTAAATTTCATAAGGGGTAAAACCAAAGAATTAGATTTTTCACAATTTCAGGTCAAAGTCTTGGCAAACTGCTCAAAATAAAAATGAGCAATTGAGGAAATCTAGAACAATCAGTCGCATGTTCCGACCCCTCCACAATATTTTAATACACATAATTAAAACACAATTACAGTATAAAAATGTATGAAAAAAAATGTTTTTTTTGGTGAATGTCGACTTCCAAAATTATGAGTGGTAATATAACAGTAAATAAAAAATTTTCAAAATTTTTTTGATTTTATTATATGATATTCGGTCTTTTCGGGAGTAACTTAAGGAGTGGTTTTACAAGTCTACTTACCTGAAGAAGCATCCCCAGAAGTTCCTGTACCAGTTCAGAATCTACGTGAACATCGGGTTCCCACCGCGATGAACGACAACTCCCGATACCAACAGTTCAGGGGTCCTTGTACCCTGGTAATGTCTTTACCTGAAATAAACATCTTTATCTCTAGATTTAGTTAGATTCCCTCACCTCCGGCCACTCGACTCGTCTGGAGTACCCCGAATGCTGAAGATCCCATATCCAATTCTGGTCCTTGGTGCCGCGGTAGTCAGAGGGGTTTCCTTGGATCCCGGGAACAAAGCGGCGCCCGTGCACATTTCAGCGAAGATGCAACCGACTCCCCTGCAATGTTAGTAGATAGAGTGTACCTTTTATAAAATACTATCCTCCTAACACATATCCAGTGAAGATGAATATGAAGTCGGTACTTCCCATGAGAACATGCGGGCGGTACCATAAGGTGACCACCTCGTGAGAACATATGTCCTACTTTTCCGCACAGATTTCGCCCTGGCTAGATCAAAGTCTGCGAGTCTTGAAACGAGCTCTCGTCCTAGCAAGTTTTGTGGTTAAATCTCTGAAAAAGTTTTTATCGTAAGTGGCCGCAACGGCGCCTCCGCCGACTCAAGCGGTCGCCGCGCCGGCCTCGGAACCCCGAAAATGTCCGGCGCTCCAAACAACCACTTTTTTGCACTACGTTGCGCACAAGGCCACTCATTTCACGCCAAGCTGCGGAACACCGAACGTCTCCCCCGCTCCAAATCACTCCCTTTCGCAATACGTTGAGCACACACAAAGCTGGGGAACTCCCATAATTACCTCTCGGCCGCTCCGAGCAACCACTTCTCCTAGCACTTCATCACACAGCAGCTTACTCATTTCACAAGTCGCCGAGGTAAGCTGCGGAACCCTGAACGTGTCCGCCGCTAACAACTCCCTTTCGCAATACGTTAAGCACACACCAACTGCGGAACCCCCAACGTGTCGGACGCTCCGAACACTTCTACGCCACTTCATTGCGCACACACCAGGTTACTCGTTTACGCCGAGCAGCGGAACGCCGAACGTGTCGGCCGCTCCAAATGCCCACCTTTCGCGCTTCAATGGCGTCGGCGTGCGGGCCAGGATTTCGCGCCTCGCTCGGATGGGAGCGCAGTATCACCACTCGGGAGCAGTTTGCAAACTAACCTATGAATCTTCTCCTATGACAAAAATCGAGTCCGCGGATTGAGAGGACAAGCTTGATGTCAATGCTATCCAACCCATAGACGTTCTGCTCCAGGTACTTGCTCAAATCCATTTTCATGTACTCGAACACATAAGTTGGTTGAGGTCGTTGATAGAAGATGTCGTGCAAAGAGACGATTGGGATTCGCATGACGGAGGTTTCTGAGAAGCGAGGCCGAATTTCACGGATAGCGGTGAATGGGAGACGTTCTTGAAATTGAAGTTTGATCTCTAGTTCAAGGCGACTAAGGGTAAGGACCTCTGAATATAATTGAGTGGTAATATCAGGTTAACTAGCATAACTTCCTTGGACTCGCACTTATACACCGTTGCATAAGAGCCTTCCCCTGTCAATTGTACAGATCATTCACATCCTGCGGTGACGTACTTCCTCCTTCGAGGAAGCGTGAGCGTATTTGGATCGTAGTATGCTGATCGTGGTCGACGTCTTCGAAGATGTGTGAAGCGGCCACAGAACTGTTGCTAGATGGTGGAGGTGGCATTCAAGGAGAGTTCACGCTTGTTTAGGGGCACGGACATGGTTTCAGATGGATTGCTTGAGCGGGAACGTGATTGCGGCTGATAGGGTATTACTAGGTTTGACTTGGAAAATTTTCTTAGAAAAACAGTTTAGCGGGAAGTTTAAATTTGCTGATTAAAAATGTTGGCGTAAGTGAATGTCGAGGAAGTACCCCATTATGGTTTGATCGACTACAAAAAATGCGGGAGGACAAAGACTTTGCAACTGATTTTGCAGGATTAAGCTGACGTAAATTTTTCCTGTGGGAAAAATCATAACCCCGCATTTTTGTAGATCAACCGCCGCAATGAGACAGCCATAGATGCCACCACGTTGACGGGATATTTAAATTTTGAGAAACTCAACATTTTGGCGGGAAGTTCAAATTTTCTGAGCAAATTTTGGCGGGAAATTGAAATTTTCTGACAAAAAAATTTTGGCGTTGGGAAATTGAAATTTTCTGACAAAAAAATTTTGGCGGGAAATTGAATTTTTGACCAAAAAATTCTGGCGGGATTATTTTCTGCGAATTAAATTTGGGTAGGGAGAAGTTCAAATTTTCTGTATTTTGCGGGAAAGTGAAACTATTGGCAAAAATATTTTGGCGGGAAAATCAAAGTTTCTGAAAAAAATCACTGTTTGGCGAGAAATTGAAATTATCTGACAAAAATATTTTGACGCGGGAAAATTTTTCTGAGAAAAAAAAATTTTGGCCGGAAATTCATAATTTTTTTTTTTATCTATGAAAAGAAAATTCTACGGACCGGAAACGGCCCAACCACGGCTCAAGAGCCGTCTCGGTCGGTAAATGTGATTTTTGCTCTAAATAATGCATTTAACGACGTAAAAATGCTTAAATTAGCCAACTGGTATCATAGGTAGTAAAAAAATCCGTTTTCTCAAAATTTTTTTCCTCTTAAGGCCATTTTTGTGCATTCCCCGTTAGTTTGCCTTGGTCCGTCGCGCTTTTCATATCCGTAGTTCACCCGTTAATGGTCCGTTCCCTATGAGGTCCAACATCGTCGTAAACGGAGAACCCGTCCCGGCTTTGCCTGTGGTCAGATATAAGTAGTAAGAGTGGTGTCAGACTGCCCGCATTGGATTCTACGAAAAATGCGGAAATTTTTCCCCCAGAAAAACGTCACGTCAGCACACTCTTTAGATAACCATGCGATACCAGTTGAAAAGTCTGCCGTCTCTTCGCATTTCTCGGAGAAAACCAAAATGAGGCACTTTCACAAGTTACAACAAACTTAACAAGGTGTCGAGACTACGGTAATTATAGTCTTACATATACAACCTAATAAGAATCTCCATTACCTCAAAAAGCTGAAAATTTATCTTATATTAGGATGTTCTGGTGTGCTTCCACTGCCGGACCCCGATTATGCCACATTCACATGATTGGAGTGCCATGATTGTGTGCGATCATTTGTTCCCCGTTTTTCGAGATCGGAGATTTCGTGGAGCCTCCTGAAAAAACAGAAATAAATGTGGAATTAATATGGGGGCTCAAATGTTTTCGGAACTAACCTCTTTTTTGGGAACTCTGGAGAGCATTTTTGTGTAAACTGACTAACTCGTGCCACCCCCCGCACCCCATAGAATAAATTGGCTAAAATTTCGAAAAAAAAAACTCGCCACCGCCGTTATTCTTGTATTTCTTCTCCTTATTCCGACTCCGACGCAAAGTGAAAATTGACGAGGACGGCTGGAACAGGATAATTGTTTTGTGTTTGTTTCTAGTGGAAGAGATGCAGAATCGCCGAAGTTTAGAGCGGGTGGCGTGAATTACTGACCTTCCGGGTGCTCGGCGAGCCGTCCACGTCCTGAATTGCGTTGGCGGCGACATTGTGGTGATCTGGAATATGTGGATCGTAATCGAAGCCTAATATTTAGGCTTAGGCTTAAGCTTAGAGTGACTTAGGCTTAGGCTTAGTCGGCTTAGGCTTAGGGCTTAGGCGGCTTAGGCTTAGGTTTAGGCTATGCTTAGGCTTATAGGGGGCTTGGGCCTGGCCTTAGGCTTGAGCTTTGGCCTAAGCTTAGGCTTAAGCTTGCGCTCTGGCGTAGGATTAGGCGTCCGCTTTGGCTTTGGCTTAGGCGTAGACTTAGCCTAGGACGCTTACAGGCACCCCCTAGGCTTACAAGAAATCATATCCAGTTACCGACCGGTGGCCTAGGATTTCAAAAAATGACCCTTTTTGAAAAATCGAATCGAAATATCGACGAATTTTGTTTTTGAGGCGTTTTTTTAATTTAAATTTTTATAATTTTTATCGGTTTTTCGATTTTTCATGAAAATACCAAACTCACCCTATGCAAGTTCGCCGACGACTTCGAATAACAGCGGTGAGCTGTGGATGCTGTATCATAGACACTGAGCACGATGCTCTCATAGGCCTCTCGGGTCCTCCTCCAGCCCAAACCTCCAATTTGGGATAGGTTATTTTTCCCCACATTTGAAAGATGGTATGTCTGCAAGTGACATGTTTTTTTGGGTGGGAAAAAAGAACGTGAACGAATAATTTGGATCAGCGGGGAATTGGGGGGGTGTAAAAAAGAAGAGCCGCTTGGAGTAGGGGTATTACGAAATGAGATATAGAGGAGCAGCCGGTGTGACGGCGGGGCGTTAATGGGTTACTAAAGCCTACACATTCCCATTTTCAGTTTGAAACAAGGAAAATAGAAGAAAAAAAAGAGATGAACAATGACTTACGGGTGGGTTCGGTGAAAAACAGGGGCAAGCAGGAAGAGTGAGGAAAATGGATGGTTGGAGGAGTTTTGGCATTTCTATTAGGCCGGGAATCTTTAGAGACACCTGGACTGTCCCATTACAGTTTGATCTACAAAAAATGTGGGAATTTTTCGCCCAAAAAATTTTCAACAAATTTAGATATTTTTTACATTTTTTCCCCAATTTTCAGCCATATTTCAGCCATGACTGTCCTATATTTTATTTTCCGGCAAAAAAAAATTTTCTCTGAAAATGTTCGAAACTACTTAATTAAGCAAGAAGGCATTTTTTCGGAGATCAATTTTGAGTCCTCTAGAATTTCTATTATCCATTTTAAAAGAGTTTTAAAATTGTAATTTTTTACAAAAATTGCTCACTTTTGCCACTTTCTAATAGTTTTCTAAACCTAGAATTTCTGAATTCTGCATATATGAATTACCCGTTATCAATAAATTTAGACAATTATTTTCATTGTTTCCAAAATTTTCAGCCATTTTTCAGCCAACTGTCCTATTCTTTGGGCAAAAAAAATTTTATAAGGAAATCGGACTACATTACACAACTTCCATGTTTTCTTCGTAGATTTAAGGTCCATGACCACTGCTTGGTGGAAAAGTTTTCCGAGTATTTAGGTCACCGATTTGAGTTGGAAGAGTTTAATCGCATTACTCCCCAACTGTGATAGAACTTCAAAAATTAATATGCAGGGACATCACTCAAATATCACATGTCAGTTTAAAGGATCACGCTGATTATCCGAGTGGGTCTCGCCACGATCCAGGTGCTAAATTTTCACAGTATTTAGTATGTACCTAGTGGCATATTTCTAAACAACACGCGCATAACATCGGAGTGTCGTTGCATAGGCCACTCTGAGAAAAACATAAACAAATGTGTGATAGAAAAATTAAACCACAACTAACGGATTTCTGATCACTCATAAGTTGAAATGGAAGAGTTTTTGCCGAACTAGGTCACCATATTCGGGGTAGATTTACGGCGCGTCGCGGCTCGACTTTGTAAAACTAAATGTATTTGTCTGAGTACACGACTTTCCCAGGCGTTGTCCGGCAGATTGTCAATGGAGCGCAACGTAAAGTTCAATGAGGAAGGCCAGAACCCCGTGACCAGGGATTTTGAAATTTTGCAGATATGAACAAAATGACAATAACTTAAAATGCATTAATCCAGCGGACAAAGGGAAGAAAATAAGTAGTGAAAGAAGTGAAAAAAAAGACGGACGGGGCTTCTCTCATAAAATAGTAATTGGTCATTCTAAGTGTGCCTATTGTCTTAATCCTTATTTTTTTTTCTTGGCTCATTTTACCTCAAAAACCAAATAGCGCGAAGAGTTCTAGAGAACTAGGCCACGCGGAGAGGGAAAAACTGTCACTGGAATTTCTACGCTAACACAAAATTTGTCCCAGCATACCTACGTGGCAGTAAAAGGAGAAAGTTCGGCCACTTTTCGGGCTATCAAATTTCCCACTTTCACCAATAAAAAAGAAACCACTTGTGGAAAATGGCCGTGCATACTAATGTTCGGTCACACACGTTTTTAAAACTTTTTTGCTCAAATTGAAGTACAGAGACCCTTCGATGGGTTTTCACTACTTAGCTACGTGTACAGAGAAAATTCGGCCACCAGACGCACTTTTATTCAAGGCCACACCTCCAAATCCTTCAAAGCTTCAAAAATTTTCTACGTGGCCGTGTACCAAAAAATTCGGCCATCATCTTTTTTTTGGGTCACGTCGCCAAATTCCTCAGAGCTTCAAATTCGAGATTTTCTACGTGGCCGCGGGAGAGAAAATTCGGCCACCAAATCATTTTTTAAGGCCAAACCTACAAATCCTTCAGAGCTCATATTTTATCTACGTGGTGCCGTGTACGAGAAAACCCTGCCACCCAATGAATTTTGAAGGCCCCACCTCCAATTCTTCAGAGATCATATTTTCTACGTGGCGTGGCCGTATACGAGAAAATTCGGCCACCAAATTCTTTTTTAAGGACAAACCTCCTAATCCTTCAGAGCTCCTATTCCCTTCGTGGCCTAGGAGAAAGGTCGGCCACCAAATTAATATTTCCACGTCGCCAAATCCGTCATATTATGAGGAAAAAAGTAAAAAATAATACTAATAACAATTGAGGACAAATTGAAACCCCATATAAAAATATAAGATACTAGTAAATGATTAGAATGAAGAGCGAATAGGAGGCCAGAGAGAGAGAGGGGAGGAAATTGTGCTGTTGAAGACCTTGAAGAGAGATGCACAGAAATAGATAAATTTGAATTACAATGGGGTAAGGAGCCGGGTAACTGTCCCCCCCCCCCCCCCCCCCCAAAAAGTGCGAACAAACGTGATGAAGCGAAGCGAAAATCCGGAGGGGGGGGGGGGGGGGGGGCTGTGATCCAGGTTGATAGATTTAGCCAAGTGTTTCGACTTTTGGCCGAGTTGAGCTCTATGAGCCGGGCTCACCGGAGAGAGCCCATGGAGCCCCATGAAGCAGAGGGTCACGAGGTTTGAGACTCCGGGAGATAGACTGCACAACGTTCAAAGACTAAAACTTTTTTTTTTTGCTAGGTGAGGCATGAAATATGGAGCTTTTTTGCAACATAAAATCCAATTTTTGTAAAATAAGGTCAGATGACGTGTGTATAATCTGGCTGAGAAAACCTGAAAATTGATCTACCTTAATAAACAGGGCGCGGGTGTAAAGCCGAGCGTCGTTGTGATGCTGAATTATTGTTGAACGAGTTCTGGAATTCTGGCCCTCATAAATTAAATGGAAGACTTTTTGCCAAACTAGGCCAGGCCATATCTGGGGTAGATGCGCGCTTTTTTTTGGGCATAAAATTCCCGCATTTTTGTAGTTAGATCAAACCGTACAGCCTGACATCACGTGTTTTTGGCCCCGCTAAACAGGGCGCGGGTGTAAACATTCAAATATTATGTTAAAAAAACGCATGAATTTGAACAATTTTGCGTAGAATTTTTTAACAAAAACATACATTGAATAACTGATGCGAAACGAACAGAACTGCGTAAATTTTCTGAAATTGAAGGACAGGGGAAAAAAATTGTGAAATTTTGGACATTTTTCCCTACGACGCATTGAGCCACCCAGATGAGCAAATAAACCGGGGGAGCAGGAGGAAAATGGAATTGACAAAAAAGGCGGGTGAAGGAGGAGAAGCTCACGTATTTAGTATCCCATAGAAAGAGTCAATTTTCATTAAAACTGCGACAAGTGACTACCAGGGAGCAGTTGCGCTCTACCGACATAGTCAACCAAGGTCCACGTAGAATATGCCAGTCTGTCCCATTACGGTTTGGTCTGCAAAAAAATGCGGGAAAATTTGGCTCAAAAAATGTGACGTCAGCACACTCTTAACCATGCGAAATCAGTTCCCACATTTTTTGGAGATCTACGTAGATCAAGACGAAATGAGACACGGCACCACGTAAAGGTCCTTCTTACAGAGTGCGCTGGAGAGCGATTCAGGTGCCAGTTTTCTAAAAAAAAAATCTAACATGAGCGAAAAATGTGCGTCAAAAGTGGAGTTTCCTTTAGCGATGTAAAGTTTGGAGAAAAATTGAAAACTGTGGAGGAAGAAAAACTATTCGCAAGACCGATTAAATAGTATTTCACTTCTTTTATTTTTCAACTTTTTGCAATTGCTTTGGCAGGAATGGGGAAAAGGAAAAAAAAACGAAATCATCGATAAAAACACCACTAGTCCACCCAGAAGTAAACCTAGCTTATAGAAATAGGCCACCCTGTATGGAAGAATTTTAGGTCATCGCGTAGAAAAGCTAGGCCACCCTGTTGAACTGCTACGCCACGGTGTTGTACACTTAGGCCACTCTGAAAAAAATCTAGACCTCACTGTAAAAAATATAGGCCGCCTTGAAAGAATTTTAGGTCATCTTGTAGAAATTCTAGGCTACGTTTTCGAAATTCTACACCACTCTGTAGAAAACTTGGGTCAGCTACTACTCGACATACTAGGCCACCCTGCAGAAAACTTAGGCCATCTGCCAAAATCCTAGGCCATAGAAAATTTAGGGAATCTACCAAAATTTTATGCGACTATCTGTAGAAAACTTAGGCTACCTCGTTCAACCATGTTCAAGGCCACCGTGTAGAAATCTTAGGCTACCTCGTTAAAATTCTAGGCCACCCTGAAAATTACGTGATCTACCAGAAAAATTCTATGCCCAGAAGTAAACCTAGGCACCTTGTATAAATTCCAGACCACCCTGTAGAAAACTTGGGCCATCTACCAATACTCTAGGCCACCCTGTAGTAAACTTGGGTCATCTACCAGAACCGAACCTAGCCTGTTCCGTTACGCCGCATGCTAAAAAACGCAGTCCAGACCTCCCTGTAGAAAATCTAGGTCACTCCCTACAAAACCTAGGGCACCCTGTGAAAATTCTACACGTGAAAATTCCCTTCCCCAGAATAAACTAGGCCACCCTGTTAAACTCTTGGGCCACTCAGAAAAACTAGACCACCCTTATAAAAACCTATGGCCTAGAAAAAAGCTTGGGAAATTTTGTGGAAAAAGTTAGCCGAAAAGGAAAATCTAGGCCGCCGACAAAAAAGCTAGGCCACGTGGCAAGAAACTTAAGCAGTGACGAATGATACGAGAGGCGTATGTTTGAGGTCAAAAAGGGAGAAAGAAAAAAAGACGAGGCGGAATGTTTCTTCTTTCATTTCAAAAGAATCTCCCCGTCTCTCGGCCACCAATACTCTCACTACTACAACTAATGTTTTTAGGCCCCCCCCCCCCCCCCCCCCGGGCACTTAGCTTTTTTGACGGAAGATGCCACAATCGAAGAGGAAACCATAAAAACCCGCCAACGACCTACTCCTTTTTAAGGCCCGGATGCCCAGATGTATGAAAAAATCGGAGAAACTGAAGGCTTCTCCCTCCCCCCCCCCTCCCTTAAAAAATGATGAATTACAAATGGTGCCGCCCATGTTGACAGTGTTTGCTTTCCCCGTGCTCCGCCAGCTATCTAAAAATTCGGGGGAACATAACAGCCACCTTGAGTTACGTATACAAAGTGACAGGAGGGAAAGATAGAGGTGAAAGTGCCAAAAGGTAGTCGAGTGGTTCGAACAGGGTTTGCAAAATTTGGGCTGTGCGCGGCGCCTTAGACTACTGCGCCACGCGTGCGAACTGTAAATAGGACTGTCAGGCAAAATACGAACGTTCGGTTTTTAAAATCGATTGGCAAAAATGAAATGAATGAAGACACACGAATGACTCATAATTTTTGCATAAAGCGGCCTGGGTCTGGGAACTGGCGTTGAATTAAGCTAAATGAAGGAAAATTGAGGCATCTCCCGTTGAGTAGAAAAGTGAAGAGGGCGGCAAAAAGAGATAGGGGGGGGGGGGAGGACCCATTCATTTTACACTCCACACTCCACACTCTGACTTTTTGATACGAAGGACATGAGTACGAACACGCGAGCACAGAAATACGACACGTTTTCTTCTCATTTTTTTCATTTTGCAAAAGGTGATGATGATAATCGCTTCTAAGAAGAACGAGGGGAAGTGTACTAAATACTAAAATTGCGAGTGGATAAATTGAATTTTTTTATTTTCGGCTCGGCAAAACCTGAAAATCAGTCTGGAAGAGTTTTGGCTAACTTTTTGTTTGTTTAGAAACTCACTTTTCGCTGCGAAACAACCTGAAAGGATATAGTGGGCATGCACCTTTGAGCGCTACAGGCCTGTGGAGGGAATTCAGTATCTCTTGGAAGTCAGATTTGCCGATTGTTTTAACGCAAAACCTGAATTATAGAAAAGAAAATATGAAAATTTAAATATAATGTAATAAATTAAGCAAATTACATATCAACTGAGAAAATCTCCTGCTTGGGGAGAGAAAAATTTGTTGAAAAAAAGCCAGAAAATCGGCAGGAAAGCAATTATCGAGCAAGATCCTTTTTTAGGTGCAGATATCGGTTAAAAAGGAAAACACTATTTTAGCTTTTAACTATTTTGTCTTAAGTTCAATGTTATAACGCAAGAAACGATATTTCTCTGGCATAAATTTTAGGTCCTAGAAAGCAGATTTTCACGTAGATTGGTCTGAAAATAATATTGGAGTAATTTTTATTATTTTTCCTTGCATTATAAAATTACTTTTATTTCCCAAGTCTAAAATATTTTCCCGTTCTTTTATATCTCGCGCTTCTCCGGGATGTTGCATCCCATTCGACAAATGTGAGGAGTCTCGGAGTCGCTGCAAACGCGCTCCACTGGACACAGAAAATAAAAAACCAATAAATTGTTCGAATTTATGCAATTTTCTTGTAATTTTCTCTGTTTTTCGTTTTCTGCAAAAAAGACAAAATTTACAGGTAGCAATGGATGGGGGATTCATATCAAGGGTTATAGCATATGTGTAAGGCTAAAAACTAGGAAAAACTAGGAAAAACCCATGGAAAAATAAAATACTCTGAAATTTCAAACTGCTTTCAGAGCCTGGAATCAGCAGGCGGCTTCACAATATCAACAGCAAGGACAACAGAGTACCCGTAAGGCTCGAAAAAAATTCAAAAAATTCCGGGGAAAAAAATCCATTAAAAAGATCAAAATTTTCAATTTTTTCAGCGGTAGTGAACCCGTACGCGGCGAATCCATTATGGGTACGCGGCAGCACAGCTTCCAACCACTCCACCACCGCTAGTATGCCTTAAAATTGAAGAAAATTTGATTAAAAATTGAAAAAATGCAAATTTTCAGGTAGCCGATCCATACGCCGGCCAATTTCAGACAATTTCCATCTCAAGCCACCAAAATAGCGCCCAATCCCTACTTTAAAAAGCCACAAAATCAGCAGCAACCAATTTTCGCCGTGTTTTCCGGCTGCAAAAAAATTAAATTATCGATTTTTTAAAGGCTACGACGCGGCGGTCTACAATTACTCAGCAGAACACTCCGAAAGAAACCAACGGCGGCGGCGGCCGGGAGAGACAGGGATCTGGGGATATTAAACAGTACTATTGTGACGTAAAAAACGTGGAAAAAATCGAGTAAAACACAGTTTTTCAAAAACCTGAGAAGTTCCGTAAAAAATCCTGTTTTTTGACTAAGGAAAAAAATCGGGTAGCACTTTTAGAGATAAACGAAAGTGGGATAAATCGAATTTTGGACCTGATTTTGGGCTTGAAAGCATGATTTTTATCAGAAAACACAGTTTGTGTTTTTAAAAATCTGAGAAAATTTCTATTAAAAGTCTTGTTTTTGGATGTTAGCAAAAAAAATCGGGTTTACTTCATTTTTAAGGGAACAAAAGTGGCCAAAAGTTAATTTCTTGTAAATTTTCACATGCAGAATATTGAATTTATTAGGTTTTTTCCAGAAAAGTAGTTTTTTTTTCTACATTTAAGGCTTTTAAAACTGAAAACATGAATTTCCTGAAGAGGAAAATCGACAAAAAAACCCATCTTTTGGCCAAATTTAAATTTTTGAGCAAAAAAATCGGGTTTGCAGCACTTAAAGAGAACTGTAAAAATTCAATTTCTTGGAGAAAAAAGGAATTTTAACACCTAGCAAAAAATTCGGGTTGTCAATTTGTTTGAAAAAAAACTTGAAAAACCGGATTTCCAGTTGTTTTTTCATGATTCTCAAAAATCTCATAAAAGGAAATAATTTCGAATTTTTTACTGAAAATCGCAGAAAAATTGAAACTTTTTTTTCAATTCCGATTTAACAAACATTTTTGGTACGCTAAAAAACGGAATTGATTTTTAGCCTTTTAAGTTCGGAAAAGATGCTGAAGATCGAGTCGGAATTTTCTATTTAAAGAAATTTGTGCTGAAAAATTGATTTTTGTGCTCCAAAAACTGGAATTTTTGAAAAATTCGACAAAAAAATTTTTTTATTAGTAATTTTTTTAATTTTTCAACCCGCTTTTTGCCCAATTTTATTTTATTTAAAAATCGGGTCTACTGAACTTTTAAAGGTAGAAAAACTGCAAAGAGTTAATTTCTTGGATATTTTAAGGCGTTAAAGTCCAAATAAACATGTTGAAAATGGAAATGTCTACAATTGGTCGATTAAAAAACATTTTTTTCGCTAAAAAATTGAATATTTTTAGGCTTTAAGTCCAAAGAACAAGATGAAACTTGAATTTTTTTTTCAATTTAAAAAAATTTTGCTCCATGTCAGGCTCCCAAACACTGGAATTTTGGACTTAATCGAAAATTCGGACAAAAAAATATTTTTATTCGTTTTTAATTTTTTTAATTAAGAAAAATCCCAATTTCGAGGTGTGAGCAAACTCTCGTGCATTTTTGGGGTTAAATTGGAATAAATTATCAAAAATTTTCGAATAAAACGGATGGAATAAATCTGATTTTTGTAAATTTTTCGAAAACAAAAATTTACGTTGTTGGCAAAAATTAAATATCTCATGGAAGTCCAAAAACCATGTAGATAATTCGGGAGGAAAAAAATTGGGAGAAAAAAATTTTTAATTTCAGTAATTTGAAAAAAATATTTAAAGCTGGTGTAGTCGACTTTATTTATTGCTTAAGTAGACTCGAAATTGCCTAGAAATACCGAATTTCATAATGAAACTTCTTGAAAACTTCTCACAAAAAAAAAAGTTATGACGGCCAAAAAATGGACTATAATATAATTTTGAAATTTGAGCGACTTTTCAAGCGGCTGGAAACATTTATTCGCTTTTGAAATCACCGTCAAATTTTGAGTATACTGTGCATTTATGTTGCGTGTTTTCAACTTCATTTAGGTATTATAAAGTCAAAGGGCGGCGAGATTTTTAATTTTTAGTGAACCTGACGACATCGACTTTATCTCAATCGAGTTCAAAACTCAAGATAATTAAATTATATTATCAAAATTTGACGGTGATAAGTTGTAAAAAGGTAGTTTCTAGCCGCTTGAAAATCGGTCAAGTTTCAAATTTTAACCAATTTCAGGCCATTTTTTTAGTCGTCATAACTTTTTTTCGAGAAGTTTTCAAAAGGAAGTTTCATTTTGAAATTCGTTGTTTTCATTTTGAGTCTTATAAAGCTTTTAATAAATAAATTCGACTACACCGCCTTAGTATAAATATTTTTTTGAATTTTTTTAAAATTAAAATTTTTTTTTCCAATTTTTCGATTTTTTCCGCATTCTCCGTGGTTTTTGAACTTCCAAGGCCTCAAACAATATTCAGTTTTCGAAACTATTTTTTTTTCGAAGAAATTCCTATAAAAATCAGATTTATTCCATTCTTACTCGAGCAAATTTTTGATAATTTTTTCTTTAACCCTAAAAATGCATGAGATTTTATCACACCTTGACGCTAATTTGCTGGAAGTTATTTGTAGAATTTTTGGAATTATTAATTAAAAAAAAGTTTTTTTTTTTTTTCCGAATTTTCTACATGGTCTTTGAACTTCCAAAGCCTGAAAATGATTTTAAAAACTTTTTGCTTTATTCGGTTGTTTTTGGTTTTTTTTTTTAATTTAAAAAAATTAAAAAATTAATAAAACTATTTTTTGTCTGATTTTTCTATTAAAGTCCTGTAAAAAAATTCTATTTTATAGGTGTTCAAAAAATCCTAATTTTCAGGCCGTTTTTTGGCCTTGATATTCAATTTTTACACAAAAATTTTTTTTGCAGTTTTTTGCCTAAAAAAGCCCTCGAACAAAAAAATCATCTTTTCTCGAATTTTTGGAAGCAAAATTAAAAATTTCAAAAATATCAATTTTTTGGTGTTTTTCGGGTTTTTTACATAATTATTTTTTCATTTAAAAAGTTTGTAAATAACCATAAAATTTATGATTTTTTAAATTAAAAAATAATTATTAAAGAACACTCGAAAAACACCAAAAAATTGAATTATTATTTCAAATTTTTAATTTTTCTTCCGAAAATTCGAGAAAAGATGATTTTTTTTCGACGATTTTTGAGGCAAAAAACTCCAAAAATAAATTGTTTTGTAAAAATTTAATAAGGCAAAAACCAGGCTGAAAATTCGGATTTAAAAAAATAATTTCTTGCTATAAAATAGATTTTTTTCAGGACTTTAATCGAAAAATCAGACAAAAAATATTTTTATTATTTTTTAATTTTTTTAAATTAAACAAAAAATCAAAAATATCCGAAAAAACCGAAAAATTATTGAAATCATTTTCAGGCTTTGGAAGTTCAAAAACCATATTGAAATTTCGGATAAATAAAAATATTTTTTTGTCCATTTTCGATCAAAGTCAAAGACTTCCAGTTTTTGGAGCCTAAAAATAATCAAATACTGAGCAATATCTTTTTAGATTGAAAATGAACGACAAAAAAGTTTCAGCTTGTTTTTTGGACTTTAAAGCCTAAAAATTTTTTCACTTTTTTAGCGAACAAAATGTTTTTAATCGAACAAATAGAAGACATTTCAAATTTCAACATTCGTATATTTGGACTTTAAAGCCTACGAAGAAATAGAAATTAACTTTTAGCAGTTTTTCTACCTTTAAAAGTTCTGTAGACCCGATTTTTTAAATAAAATCTAAATTTGGGCAAAAAGCGGGTTGAAAAATTCAAAAAATTTAATAACTAACAAAAATATTTTTTCATGTCCGAATTCGTTTCTTCCAGTATTGTGGAGCATAAAAATAATCGACTTTTCAGCACAAAAAAAAAATTTGTAAACAGAAACATCAATTTTTTCAGCATCTTTTCCGAACCTTAAGGCCTAAATATATTCAATTCATTTTTAGCTAAAAATGTCTTTTAAATCGGAATCGAAAAAATTTCAATTTTTATTTACAGTAAAAAATTCGGAATTTTTTTCCAATTGTTATGTGATTTTTGAGATAAAATCATGAAAAACCAACTGGAAATCCGGTTTTTCGAGTTTTTTTTCAAAAAAATTGACAATTTTCCCGAATTTTTTCACGCTATTTTTGGTAATTTTTTCTCCAAGAATATCGAATTTTTTCAGTCTTTAGCTTTAAAAGTACTGCAAAAAACTACTTTTTCTGGAAAAAACCTATAAATTCAATATTTTGCTTTTTTAGCTTTTTCCTTTTTTTGTGAAAATTTAAGAAATTAACTTTTCGCCACTTTTGTACCCTTAAAAGTGCAGTAAACCCGATTTTTTTGCTGAAAAACTTACAAAAACAGGAATTTCGGTTGAAATTAAAATTAGGACAAAATAAAAATATTTTTTTGTCCGAATTTTTCCAAAATTTCAGTTTTTGGACCCTAAAAATATTGATCAATTCTTTAGCGAAAATTGTTTTTATTTTTCAAAAACATGCTACGACTACACCACAACTCTGTCAAAAAACCAATGCTAATTAAATTAGAGAAATTCTTCAAAAAATCCCCAAATTTCCAGGTTTGCAAAATCTCGTGCGCCGGCGGAATCACATACAACAGAGCATCTGGAAGGTCAACGGCACAAGAAAAAGAAGCTATGGCAAAACAGGGCATACCGAGCACTTGCACACCCTCGCTAAAAGATTGTCCTATCGTTGTGACCTATGTGACGTCACTTGCACCGGTCGTCTAAGGGCACGTATTCGACGCTCACGCTCATGGCGGAAAACACTTGAAAACTGCACAATTGCACAAAAAAATGGGAAAACCGTCCGCCTGAAGTCGACGTTCCGACGATTATTGCCGGGAGCCGATGGGCTGACGTAGACGTTTAAAGCCAAAGCGAAATGGCATAAACAAGCTCTGCCGGAAAATGTGCGGCATTTGAAAAAATAATAAAATGTTGGAAAAAAACGAGAAAATGCACATTTTTAGGCTCAACAAACTGAAAATATAACGCAAAAAAATTTAGAAAAGGATTCTTAGGAAAAAATTAGCGTTTTCTCGCCAAAAATGCTCACTTTTCGATAAAAATGTACATTTTATTTTTTAACTTGAATTTTTAAAAATATTTTAGGGCTCAAAAATGTCGTCTGTAAATTTTGCAAAAAAAATTCTAAATAGTGATTTTGAAATTTTGAGATTAACCTTCGCCAAAAAAAAATTTGAATTTGACAACTTAAAATGCTCATTTTTCGAGGAAAATGTAAAAAATTTTTTTTCATCTGAAATCTGTAATTTAAAAAATCATTGATTTTTTAAAAAATTTCTACTGTAAAATTTTGAAAAACGGTTGAACGACGTCAAAAAGAAGGACGTAAAAATCCGAAAAAAAGCAACAAAGAACTAGGAATTTTAAAATGTCCAAAAATGGTCTGAAATTTTGAGAAATCAAAAAGAACAAGTTTCTTTCCGTTTTTTTTTAAGCAAAAAATCGTATTTCTAGTCAGAATTTAAATTTAAAGCATATTTTAAACTTTTAAACGCAAAAACATTATCTTTTTCTTTAAAAAAAGACAATTTAAACGATAGCATTTATTAGCTTTTTTCTCAACATTGCCTGATAACACATTACATAATGAAACTTCTTGAAAAAAAAAAGCTCTCAAAAAAACAAGTTATGATTGCTCAAAAAATGGCCTCAAATTAGCTGAAAGTTAAAATTTGACCGACGTGTCAAATAGTGCGGCTGGAAACTATCTTTCTTTTTTGAGATCACCGTCAAATTTTGAGTATAAAATGTAATTATCTTGCGTTATCACCTTTGTTGATTTAGGTATAACTAAGTCGATGGACGGCGAGACTTTTAAAGGTGGAATACCGATTAAGACTTTGCTTTTTTAAACCATTTGGGATGACTTATCGGTGCGATACTGCAAGCCAAAGGTTGAGATAGCTAAAAATATATGGATACGCCGTTTTTTCCATCAGATAAACTTTGATCGGCCATAACTTTTTTATTGGAAAATTTTCAGAACGTCTCATTACGAAATTCGGCAGTTTTGTGGCCATTTTGGGCCTAAAAAAGCAAAGTCTTAAATTTCGGTACTCCACCTTTAAAAATCTCTCCGTCCATCCCTTAAAATACCTAAATCAAGTTGATAACGCAAGATTACATACTCAAAAATTTGACTGTGATTTCAAAAAGAGTAAAAAAAGTTAGCCTCTTGGCAAGCCGTTGAAATTTCAAAATTCCGCTAATTTGAGTGCCAACACTTTTTTGAGATCATAACTTGTTTTTTTGAGAACTTTTTTTTTCAAGAAGTTTCATTATGAAATCGGTGTTTTCCGACAATTTTAAGCAATAAAGCAATAAAAAATTAGAATATACCACTTGATAAAAATTAAAGATTTTAAGTTTAAAATAAAAAAATATGTTTCTTTCCGATTTTTTGATAGTTGAGCTAAAAGTTTTGGCGGGAAATTCAAATTTTCTATGTTAGAAAAAAAATTGCGGTGAAAACTCATGTGAACAGCACAGAACGGCTGCTTATGAGTATAGGTGTGAAAGTGTCTCATTTCGATGGTTTGATTTACTAAAAAAGCGGGTAATTCCCACAAATGACGTCAAGATGCTCTTTATTATTAAATTTAATTAAAAGAGAGCATGGTGAGGCGTAACTTTTGGGGAAAAATTCCCGAACTTTTTTTTGTAGTTCAAGCCGAAATGAGACACTTTGACACCACCACTTTCAGACAAAGTCCCCCACTTATTTGGTAAAACTAGTTCAAAACCCGACTGTAGTACATTTTTGGCAGAAATTTGAAAATTTCAACTTAACACCGCTCAATTTTTCCAAAATTTCACAGTATCATTTCAATTATGGTTTTGCTTTTTTAATTGAAAGATATATTTACAAAAATAGAGGACCATTTTTAGTAACAATTTTTTGGCGCTCTCAAATTACACCTTTAGTCAGAAAATTGCAATTTTCTCCAAACAAGTGATTTACAGATTTATTTTACCTAAAATTAACAAAAGATCGAAAATATTAGACTCCCGCTTTTTTTTTATTTCAATTTTTCCAATTAAAACACAAACATTGAGCATTTCTAGTTGGCACATACCAAATTTATAGGCGAAAAATTTGATTTCAAAATGTCAAAATTCAGAATTTTTTTTTGCTAAATGTTCAGCACCGATTTGTGCGCAAAAATATTTGAAAAAAAAAAAAACTCGAAAATTGAGCATTTTCAGTTGTAAAAGTCAACTTTTAGGCGGAACAAATGTGCAATTTTTCCCCAAAAAATCCAAATTTTCCATTTTCTATCAAATAAAGCACTGAAAAAATTTGTTATACCTAATGTGGAAAAAGTGAATTAAATCAGATTTTTTGAAAAAATGCACTTTTTTTTTTGCCAAAAATAGTTCCCCGACTTTTTGTTCCAGAGTTTCCTCACCAGGTCATCGGTATCATCGGATAAATAAATTTTGCGGGAATAATTGCGCTTTTTTTGTATATCAAACCGAAATGAGACACTTTTACACCCCACTTCAGGCAAACGACTTTTTTCCAGAGTCATCGGCATCAACACGGTAAACTTCGTCGGCGGTAGGAAGCACTCCACCGGACAACTCGAGGGGAAGAAATACAGCGCGATCCAGTTGCTGCCGCCCTGAGCTCACTCGGTGCCTAAGGAAAACCGTGGTGCTGCTGCAACGACGACGATTGAACGGTGGAAGACGAGAAGCTCCGAGCAATGATCTCAGGAGGTACAACCTGTCGCCGATGTACATGTCACTGAAACCGTGATGCTACCGGAAAACTGGTGCAATTTCCATAAACCGTGCGATTGCAAGTTTTCCGATCCGAATGCCAAGGACATTCATATCAGGTGAGTCGTCATCGTGTAAGCTATCGCAGAAGATTGATCCGACGTTTGGTGTGAAGCCACCGAACAAAAGAACACAGGAGAAGCGGAAGAATCAGCTTCCAGCAGTTCATGGATTGTGTAGATTTTATTTACACTAAATCAACAACAACACAAAAAACATGTTCCAACAAAATTGGAAAAAAAAATTTTAAAAATCCCAAATTTCCAGGTGTCTAAAACCCATCCCGTGCATACAATTTTTAGGGTTAAAATTGGAAAAAATCATCAATTTTTCGGATAAAAATGAAACACAATCTGATTTTTATAGAAAAAATAATAATTTGTTGGCAAAGAACTACTTTCAGGCTTTGGAAGTTCAAACTTTGTAGCAACATAATTCAGAAAAAATCGAAAGATTGGAAGAAAAACATTTTTAATTTGAAATAAAATTCAAAAAAATTTAAATTTTTTTAAAAATTGAATTTTTGAGTAAAGAATTTTTTGCTATAAAATTTCAATATTTTTCAGGCTTTCAAGTCCAAAAACCGTCCGTTGAAAATTCCGAAAAAATCGAAAATTGGAAAAAAAATTTTAATTTAAAGGTGGACTACTTGCTCTGTGGGGGGAAATTGCTTAAAACAATGCCTATGGAACCACAATGCCCGAATAGCATAATAAAAAAATTTTAAAATATACTCTAGATTTTATATTATTTTTTGAGAATTGGAAAAATCACAGTTTTTGCCTAATTCCTTTATGAATTACCGCCAATTGGTTCAGACTGGAGCGCGCTTGCATGTTTTTAAATTTATTTATTTTATTTATTCTTATTTTCCACCCATTTTTAATGTTTTCGATGTATTTTTATTTGAATTTTAGCAGAAAAAGTCAAAATAAATACTAATATTAAAATGCACGCTTACAGGCGTAAATCAGTGAACGATAATAATTAACTCAGGTTCGAAATCGTTCAAAATCGTTTCTTTTTCATTTTTACCTGTAAGCGTAGCTTTGCCTTTAGTCGAAAATTTGCATTTATTTTCACTTTTTCTTTAAAATTCAAGCAAAAATACACCGACAGCATGAAAAATCGGTGCAAAATAACAAGAAATAAAATAAATAAATTTAAAAACGCACTGCAAGCGCGCTCCATCGAACAAATCCAATTGGCGGAAATTTAATGGATGGGAATTAAGCAAAAACTGAGATTTTTTTTTTTCAAAAAATCATATAATATCAAAATTTTTGTTTTTTTTTTAATTTTTTTAAACATGACATTCGATCATTGTGACCCCATAGGCATAAAGGTGGTGTAGTCGAATTTTTTCTATTTCTTTACTAGACTCAAAATTGTCTGAACGCCGAATTTCATTAAGAAACTTCTTGGAAAATTTTCAAAAAAAAGTTATGGCGGCTCGATGGCCTATAATTAGTGAAAATTTGAAATTTGACCAACTTATCATTGTCGCATCGACTGGAAACAATTTTTTTTTTGAAATTGTCGTTCAATTTTGGGTGTACAGATCGATATCTTGCGTTTTCAGCTTTCTCAAGGTATTTGTCGATGGACTTCAATTGGATCTGTCAAATTTTTTACCAAATCTCGTCCATCGACTTAATACCTAAAAGCTGAAAACGCAAGATAATCGACCTGTATACCCAAAATTGAACGACAATTCCAGAAAAAAATTGTTTCCAGCCGCCGCGACAATGATAAGTTGGCCAAATTTCAAATTTTCACTAATTTTAGCCCATTTTCCGAGCCGCCTTAACTTTTTTTTTTGGAAAAGTTTTCAAGAAGTTTGATTATGAAATGTCTTCAGTGTTTTCAGACAATTTTGAGGCCAGTCTAATTAAGCAATAAAAAAAATTCCTGACTACACCACCTTTAAAGCAATTTCCCCACTGGGCGCGACTCAACCTTTAAAGGGGGATTAGAGTTTGTGGGTATTTTGCTTAATCCATAGACTAAAAGTGCATTCCAAAAACACCGAAGTGATTTCATAATGAGACTTCACAAAAAATCTCCAAAAATTTTTTATGGCCGGTCAAAATTCGAAAAAAAAAGATTGCGCAACTTTCGCGAAATTTGATATTTCGCACACTTTTCTTTGTCTAGCAGCCGATGGATTTTAGTTTTTCTAAGAATATCACCCTCTATTCCTTCTTGGTAATTTATCTCGCGAAACGAATCCGTTGATTGAGACAACTTTTAGGCCGATAGGCATCCAAAAATGCTCAATATAGGGATGCCTAACGGCCTAGTTGTGTCAATCAACGAATTTTCGCGAGATAAATCATTAAAATAAGGATTAAAGGGTGATAATTTCAGAAAAACGAAAATCCAGCTGCTGTGACAAAGAAAACTATGACCCGAAATTTCAGATTTTAGCGTTGCATCTTTTTTTTCGAAATTTTTTATTTTGACCGGCCATAAAAGAATTGTTGGAGATTTTTTGTGAAGTCTCATTATCAAAATATTCGGTGGTTTTGAACCAGTTTTAGTGTATTTAAGCAAGAATACCCACAAACTCTACTCCGCCTGATGATTAAAGGAATGAAAATAATTCTTGGAACGTTTGGTTTAATTTTTTGTTAAAAAATCCACACCGAAGAAAAGTCCACAGTATCAGAGCCTCCGAGCTTCATGAAAAGCCGTGGTTCGCCCCACCGTGGCTCCAGAAGGCCGGGAATTCAAAATAGTAGATGATAGAACTATTAACGAAAAGTACTCGCCGGGCTTAATCCGGGCGTAGAGTTCATTTATGAGGATCGACATCCTTATGTCTGATATCAATCTCTGGGAGGAATGTGTAGGATAATATCGCAGCGAGACGTTCGGACCCTGAAGACGTGGTGGAGCGTCCCACCACCACCTACCACAACGGACGCCGCAGACAGTGTTGGGATGCTCGAGAGTTGGAATTATTGCGAACGTTCATCAAATGACAGGGGATCGGTGTGCGGATGTGGTTCTGACGTGTACGCCGGTGCCGACTTCGGGTTGAGCAGGATTATTTAGGCGGTTGTTAGGAGAGTCGACGGCACGGGCCGGGCTTTTTTTTTTGCCGGAAAGTTCGGGATTTACCGGTTTGGGAACGTTTTTTTTTGCGGCAAATTGCCGGTTTTCGCCGGAAATGTGAAAAACGGCGCAAACCTGACAGTCTAGCGGGAAATTTTCAGTTTCGGCAAACTACCGCGATTTGCCCAAGGATCACAATCGTCCGGCAAATTCGGTAAGTTGCCGGTTTGCCCATTAGCCGGTTAGTTGAATTTAGCAGAGGAAATACGGCAAACGGCAAGTTGCCGGTTTCCCACGACTTACCGGAAATTTGAAAAACGGCAATTCGCCGGTTTGCCGGAAATGTGAAAAACGGCAAATTTCAGAATTCGGCAAGGCCGGTTTTTGCCGGAAATTTTCATCTTAGGAAAATTGCCGGTTTTTGCCTGAAATTTTCGTTTCAGTCAGGGAAAATTGCCGGTTTGCGGGTTTGTCGAATTATCCGGAAATGTGGAAAACGGCAAGTTCCCGGTTGGCTGATTTGCCGGAACTTTTTAATTTTCGGTAATTTGACCGATTAGCCGGAAATTTTTTAACGGGATTTTTGATAAGATGGATTTTTTTCCGGCAAATTCGGCAACTCCGGTATGCCGGAATTTTCATTTTTGACAAATTGCTCCATTCGCCGAACAATAATTATGCCAGAAATTTGAAAAACGACAAGTCGCCGTTTGCCGATTTGCCGAAATTTCAAATAACCGGCTATAATTTGCAGATTGCCGGAAAACTTTTACATATTCGGCTAAGTTACCGCTTTGTCGGATTTTTTAAACCGTTTTTTTCAAGATAGATTTTTTTTCCGGCAAATTTCCGGCAAGTTTCCGCATCGGTTTGCCGGAAATTTCAGAACCGGCAATTTTACATTCTGCGGATTTCTTGTTTGACAATCTCAATTATTAAGACATATCGAACAATTGAGCCGGATCCCGAGCCGCCATCAAGCCTTATTCGCCACAGCTAACTACTTTCCCAAAATGTCGTATTAATCACTTCATCTGGAGACAAGACGAAGCTAGTATTGTATCGGATGTCCTGCTGATAAGGATTTGCGCATTTATGCGCTCGCTTCTATTCGGAATACAAAGTGGTATGATGTGGGGGAGTTTTTTTAATTGTTCCTATACACATATTTTAAATTACTTTATCATTGGAAAATCTAAATTATAGCCCAGTTTACAAAAAAATCTATATTCCAAAAAAAAAATTGAACAAAATCGATAATATTCCCAAAAAACGTTTACATAATCGAACTTTTTAAAACACTTTGAATAAATCGATAAGTTTACAACTGCTGACAATTAAAAAAAATCGAAAATTTCTCAAAGCTCCAGTTGAAAAAATTAATATTTTTCCCGAAAAAATTGAAAAAAATGGATAATTTCCAAGGAACATAAAAGCTAAAGATTTTTTAAAAAAATCGAAAACAATTCAAACCTTTCGGTTCACAAAAATTTGAAAAAAATCGTGATTTTTTTAACTTTTTTTCATCAAAAATTTGTCAAGAATTTGGAAAAAATAGAAAAAATCAATATTTTTCCGAAAAAATTTGAAAAAAAAATCGATAATTTCAAATAATAGTTGCAATTTATAATTTAACAGCGTAGACAAATTTTCAAAGATGTTTAAAATTTTTCACGTTTTTCTCTCTGGTTTTTTTAAAAAGCGTAATTTTTACCGAATTTCTCATCAAATTACATGAATTTTTCTGAAAGAGCGAGAGAATTAAAATAATTCGAAAAACTCGAAACAATTTGTTACCAGATCTAGCCGAAAAATCCCACAGAAACCACCAAACTTTACTTTTTTTATTTAATAAAAAAAAGTTTTAAAAAATATCAATCTCCCTTTTTTTCTGCCAAAAGCGACTTTGATGTGGGTAAGCTTGAAAAGTTTAAAAATTTGCAGGAAAAAATCAGGAAAACTCTTTGTATTTTCAGAGTCACTGCCAATACTCTCGTGCCTATCAGTTAATCGAATGCTCCGAGATTTGCGAAATAAATATCCTGAAGTTGCGTGTCTTGATGATTATGTAAGTTTGAGAGTTTGGAAAAATATTCGAAATTTTTTGGGAAAAATTTGGTAAAAGTTCACAAATGTACTGTACAATTCATTAATTTTTTTGCGAAAAAATTTTTTAAAATTCTCTATATTTTTGCTAAATAGTTTACAAATCTAAATAGTATGAAAAAATATTTTAGCAGAATCAACAAAAATTGTATAAATTCATAATTTTTTGAAAATGAAATAAATGTTTTTTTGCGAACCACTAAGACCAAACTTAAATATGCTAAATAGGTTTTTTTAATGCAGGATATAGTTTTTTAGCTGAAAACGTCTAATGAGAAAAAACGGATAACATTGAAAATTTACGTACATTTTTGCAGACCTTTTTTGCTCACAATTTTGTAAAAACTTTCGGCAAAAATATCACCTTAGTCAAAAAAAAATTGCTTAAAAAAAATTTCTATAATACAAAAAAAATGTGAAATCTATCTATTTTTTTCAAAAAATGAGCTACCTAAAAATCTATTAATGATTCTGTGCGATTTTTTTGTGAAAAATTTTGAAAAAATTCAGAATAATGTATAATTCCGTTATATAATATTTGGCGAAAAAAATTAATTTTTGAACTATAATTTTTTTTATGAAAACTAGTTTCAAAAATCGATATTTCACCTAAAACGAACAACCCTAAAAATAGGCGGCACACGAACTATGTTTCCGGCAAAGTGGTAATTGCCGAAATTTTTGGCAAACTGTATAGGCTTTGCAGAATTTTTTTGTTGGAAATTTCAGATTTTCAAATTTAATCGGCAATGAAAACGAAACGTTTATTCCGCACATCGGCAAACCAGCAAATTGCCGAATATAATATTATGTCTCCTAATAAGTTCCGGGGCAAAAATCATAACCTTGTTCGCTGTGTATCGATTTTTATGAAACTTTGGGAGTTTATGTTATCAACCGTGATCTTTCAATTGACAATATTCACACAGTTTTGTGACCACCCCAAGTGCCCGTACTCGGAGCCAATTGTTTCAGGTATTTTTCTGATCTCGCTTCTTTTTATCTTTGAATCGAGGTTTGTTGCGGATTTTGCTTTGTTTCGAATACATCGTTAGAAAACGAGAAAAGTTTGGAAAAAAATTTGTCCAATAAATTTTTTTTGGATGATCGGCAAAGAAGTTTCAAAAAGATTTTTGTCGAAAATTCTCTTTCATACAATGTAAATGAGGTGTCCGAACCAAGTGTAAATTATTTTTATACATACGAACAACATATCAATTTAGTTCGATACACTAAAATGATAATAATATAATTTTTTCGGATAATTTTTGAGTTTTTTGAATACTTCTTAAGTTTCAAATCGATGTTCAAACTAAAAGAATTTTTGTGTGTAAAAATAATTTTCACTTGGTTACATCATTTTTGTATCAAAAATCTGTGAGCATTTTAAAAATCTTTTTGAAGCTTTTTTGAAACCAAAAAAAATTTTTGGACGGATTTTTTTCCAAACTTTTCTTGTTTTCTAGTGATGTATTCTAAACAAAGCAAAATCCGCACACAAACCGATCAATATCTTCAAAGATAAAAAGAAGCGAGATCAGAAAACCTGCCCAACAAATTGGCTCCGAGTACGTTGGGGTGGTCAAAACATTTTGTGACTATTTTCAAAACACTGAAAGATCATGGTTGAAAACATAGATTCCCAATTTCATAAAAATCGATTTGCAGCGAAGTTAGGATTTCTTGACCCGGAAACTTATTTGGAGACCTTATACAATTTTTCAACATTTTCCAGTAAATTAGGGAGGTAATCGTCTCGAACATTATCGATTCATCTCCAATGTCACTTTATCCGATGCGTTTAAGCGAATTGTCGAAGCTTCACTTGCAATATGTGTATTCTGGTAGGGGGGTTAACTTTTTTTTTCCGGAAATATATTGAAAAATGAGCATATAAAAAGTTTTAAAATAATTTAAATATTTACAAAAAAATTTTTTCTGAAGTCAATTATATTGCGTTTGGAAAATTGATTCTTGTTTCGAGAACGGAAACTCTTTTTTTTTAATTAAAATGTTGAAAAAAAATCCAGGAAAAATGCTGAATTTTTCGGGATTTTTCTGAGCACATTTCTAGCCAAGCTCTAAAAATGAAAAACTTGAATTTTTCTTTATTTGAATTTTGCCCAAAAATGACTATTTGAGGAAAAAAAAAACATATTTCAATCACCGAAAAAATGTATTAATTTAATATTTTAATGTTAAAAAGGTATTTGAATTTTTTTTATACGACCTTTTTTTTGCACAAAAAGTTGAAATTTGGTTGAACCCGGATAAAATTTAGAAAAATTAAAATTTCAATTTTTTTTTGCGTTAAAAGTTTTTTAAGGTTAAATATGTTAAATAAGCACATTTCTTGAAAAGTTCTTTTGATTTTTTATATTAAAAAGTCTATTTTTCAAAAAAAAATTTATTTTAATTTTAAAATTTTAAAAACTTTAGAGTGGTGTAGTCGATTTTTTAAATTGTTCGATTAGACTCAGAATTGACTGAAAACACCGAATTTCATAATGAATCTTCTTGAATACTTCGCAAAAAAAAGATATGACTGCTAAAAAATGGCCTAAAGTTAGTTAAAATTTGAAATTTGATCGACTTGTCAAGCGGCTGGAAACTATTCTTTTTTTTGAAACCGTCAGATTTTGAGTATAAAATGTAATTATATTGGCGATATCAACTTTTTAGGTATTTTAAAGTCGATGGACGGAGAGAAGACATTTTTAAAGGTGGAGTACCGATATTTAATACTTTGCTTTTTTAGACCCAAAATGGCCCAAAACTACCGAATCTGCCGTAATGAGCAACGTTCTGAAAATTTTCCACCAAAAAAAAGTTATGGCCGATCAAAGTGCTTCTTTGGAAAAAACGCCATTTTTAGCTAAGATGTCAAACTTTGGCAAATTTGACAGTCTCGCACCGATAAGTTCGGCCAAAATTTCGGTCTAAAAAAGCAAAGTCTTATATTTCGGTATTCCACCTTTAAAAGTATCGCCGTCCACCGACTTTAAAATACCTAAATCAAGTTGACGCAAGATGCCAATTACATTTTATACTCAAAATTTGACGGTGATTTCAAAAAAGAAAGCTAGTTCCAGCGGCTTGACAACCAAGGTCGGTCAAATTTCAATTTCCGCTAATTATGAGGCCTTTGTCTTATTGGAGCAATCATAACTAGTTTTTTTGAGTGGTAACTTTTTTTTTTCGAGAAGTTATTGTCATGAAATTCGGTGTTTTCAGAAAATTTTGAGCTAATAAAGCAATCAAAAAATATTCGACTAACTTTTTGGCCTATTTTTTTGGGCTAAAATTGAAAGGTATTTTTCCAGCAAAAGCGGTCCGTGTCAGACGTCTGTCCGAACGTTCTCGATGCTTTAACCGACGAGCAGAAGCATTCGTTGACCGCCCTGGCACAGAATTTTGTTCTGCAAATTGCATTAAATCATATACACGAGGTATGCGGGGATTTGAGCAGAAAAAATGTTTAGTCAATTAAGAAAAAACCTTGAGTTTTTAAAAAAATCTGTGGATGAGAAATTTTCGCAATAAAAAAATTATATCGGTATAAAATTAATTTCAAATTTGAAAAAATTTCAATCAAATAAATTTTGAATTTGCATTCCAACGTCATCGGTCTAAAGAAAAAATTGCTTGAAAAATTGAATTAAATATATTTCTTTAACTACCTGTAAATTTTTTATTTGGGATCCGAGAATTCGACACTGAAATTTCATTTAAAAAAAATTAAATAAAATTTGAAATTTTTTGGAATATTGCAAAAAATTGCTAAAAATTGAATTTTCCTATATTTCGATCGGTTTTTTTTTAGATTTTTTAAAAAATTTTTTTTTCAGCCATTTCGGGTGGCCGAAAATGGAGAAAAAATAGTCAGAAAATTCAAAAAATTGCTTTTTTTTTTCAATTTTCCGAAATTTTGTATCTTGATCGTCCAAAAATTTAAAAAATAATCGCTAAAAAGTTTAAAAAAAAATTATTGAAAACAATTTTTTTAGCCAAATAATTTCTAGTAGATTGCATGAAAAAAGGCCCTAGTGAAATACGAAACAATTTTTTTTTCAAATCCGATTCAGAAAAAATTGAATTCTCTCTGATTTTGGGCCGATATTTATAAGATTTACAATATTCCAAAAATTCTTGAGAAAAATTGAACTATGTCTGCCGTATTCCTGTGAACATAGCGGAAAATTGAATTTTCCAGGTTATGTTTATCGGAAAAAGTATAGTGACTCTACGTAGAATTCATGAAAAATTCTGACAAAAAACCAAACATTTTGGCCCAAAATCAGAGATTTCACAAAAAAAAATGCTGAAAAATCAATTTTCAGCAATTTTTTTTTCAAATTTTTTTAAAAAATATATTTTAGTTAATTTAATAATTTTTTTTTCCGTTTTTTTAATAGAAGAAAAGTTATTTTCCCAAAAATGTGCAGACATTTCAGAATTTTCGGAAATTAAAAAAATTTATTTAGCAAAAAAAAAAATTTTTTAATCCAATTTTATACTATGATTTTTTCACTTTTTCGGTGGTATTAGGACTGAATTCAAAGTCTCTTCGAAAAACATAAATTTTCAGAAAACTTAAAATTAATCTGATTATAATTCGGAGCATATATGAAATGTGCTTTTATCACAACATTTTTTTTTTTGACAAGTCAAATCTTTCCACATTTTTAAAAGTTCCTATTTTGTATATATTCGGATTTAAATTATTTTTTTAACGGGTTTATTGTCTGAGCAAAAAAATTGAATTTTTCTAAAATCACCAATTTTCTTCCAGATTCTCGGAATCGATCGTCTTCAAGACCCACTATTGATCTACCATAGGATGCTCCGATCAAAGACCACTGGAGAGCAATGAAAAATGCTGAAAACGCAGAAAATCTCGACGATTCGCCAGTTTCCAAAAAGGAGAAGGATACTCGACGAGGAGCCCGCCGATATTTGAGGATTTTTATTTTAAATTTGGTCGGTTTACGAAATTATTTAATTTTCCTCTATTCTCCCTCATCTCTGTGTTTTTTTCTAATGTCTTTGGGCGTAGAAAAAACGAATGGCTCTCTTCGCGGTTAAACCTTGAAATTTTTATTTTTCTACTATTACCTCCCCCTGCAAACGCGCTCTATTGGCGACAATTCGCAATGGAGCGATTGCATATTTTGTTACCATTTTCCAGACATACTCATGTTCGATCTTCCACTAGGGGAGGGTCTCGCGATTTTTTGAAAACTAAATTTAGATTTTTTTTTGAAAAATATTCGAAACAATTTTAGGTTTTTCGAAAAATCCTAATTTAGCCTAAAAAATCAAAAATTGATGGGATTTTTAAAAAAAATTCAAAACTTATAATCAAAAAAAATTGCAAAGATGTTTAATTTTTTTGTTGAAGAAAATTTTTTGTAAAAATTAATTGATTTTCCGCTTTGAAATAGTTTGAATTTAGAATTTTTTGAAAAATTATAAAAATTTTGAATTGAGCTTTTGAAAAAACATTACTCAAAATTGTTGGAAAAATTTTGAATTTTTTTGAATGAATTCAGAACTTTTTGAAAACGGAAATTCGAATTTTTCTGAAAAAAACGTTCGCAAAATTTTTCGAAATAATTGAATATTGAAAAAATTATAAGTAAATTCCTAATTTAGTCGGAAAAAAATATTGAAAATAAAGTGACGATTTTTGAAAAATTTTCCCAAAAATTCTATAGAACTGTCCTGAATTTCTATAAAAAATTCGAAAAAATAAAGTTTTTTAGAAATTTGCAAATTTCTTTAACATATTGGAAAAAATTCTATTTATTTTTGAAAAGTCATTTCTAAAATCTTCCTTTCTGCTAAAACCTGCAAATAAAAGGACCCTGCCCCTAACTATCTTGTTCATCCAAAAACCGACAATTCTTCTGTTTTTGTGTTATAATCGTCCTTTTTGACTTGTCAAACAAAAATTAAAATAAATTAGAAGAAAAGGGTTTAGATACGATTTTGCCAGCACGAGGCCGAGGTTTTTCACGGCCACGTGGCACAGGCCGGCAAGTAAGGCTGAGGCTGTGGGGGGAAATTGATAGGGAAGAAGGCAGGAAAAAAAAAAGAAAAATTCAATATTTTAAAGCCAAAATAAATTTTTCTGAAAAGACTAGCAAAACAGGAATGGTTAGGGGTAAAGCCGATGTCGGAGTTTGACGGAGAATTTTGCAAAAACATTAACAAAAACGAATCGGTAGGGACGGACCGGCAAGATTGATTGTTGAAAATTGACGAAATCTATCGATTTTTTGGCGCACGGGGTTCTGGCCTTCCCTCATAAATGGAAGAGTTTTGCCGAACTGGGCCACCAGGTCATAACTGGGGTAGGTTTACGGCGCGTTGCGTGTCGCGTCGAGGCTCAATTTTAGTTGTAAAACTAAAGAAGATGTATTTGTCCGTGTGAAGTACACGACTTTCCCGGGGCGCGATTGTCATGGAGCGCGAAAAATTAAGGGCCAGACACAGAACCCCGTGAAAAAAGATAATCCCGTTTAGAATCGGTGAGGGCGTGGAAAGAAAAGATGATCAAGAAAACGGGAATGAGCAACATTTCCAAAAAATCAACAATAGCGCAATTCCAGAAAATTCCATAGAAAACGGGGTCTAAAGCACCAGATTAGTGTTGTGCGTGGGCGTCCACTGTGACGTCATCACCGTCCACGTTTCGTAGTTCTACCGACTCGTGCTGATCTGAGAGCTCGGCCGAGACTTGGAGATCTCGGTGAATGTGGCGAATGCTTCGCGGGTGAACATGTCTGGAAAATCAGCAAGTCAGGAGAAAATTCAATTTTGCGCGTCAACTTTGATGTTTTGTTTGTGTTAGTGAACTTCAGAAAATTGAATTCGCCAAATTTTACGAGCAAAAAATTGGATTCTTTTGGTATTTTTCATGGAAATTTAACCAGGTTAAAAATCGAGGTTTCTCCGGAAATTTAACGTACTTTATCGATTTTTCATCAGAAATCAGTAGAAAATTCCTTCTGCGCGTCAATTGATGTAACCTTCGGGCCGTGCGGAACTGAACTGGATTTCGCCTAATACGAGCAAAAGGGGGGCTACCGTTTGCAAATTTTTCTTGGAAACTGTCAAATATTGAATTTTTCGTGAAGGGCAAAATTTAACCAAAAATCGGGCTTGCTACGGGATTTAACAAATTTTATCGAATTTTTTTGCGCGTCAAATTTGATGTTTTTTGTTGAACTTCGGAAAACTGTATTCGCCAAATCTTACGAGCACAATTGGACTTTTTGGGTATTTTTAGTCCGAAATTGATTGTCTTAGAGATTAAACGCGATTTATCCATTTTTTATCGGGAACAGTAGCAAAATTCAGTTTTGCGCGTCAAATTTGATGATGTTTTTTGTGTTGGTGAACCTCAAAAAACCGTATTCGCCAAATCTTGCGAGCAAAATTGTATTTTTTGCGTCTTTTTCGTGGATTACAAAAATCGTGCATATCTTTTAAAAAAAAAATTCCACACAAAAGTACATTTTCACACAAAAACTGCAATTTGCGCGTAAAATATGGCGCAACCATCGGTTGAGTGCGGCACGCCGACTCAAAAACACCATATTTTTCACGCGCATATATTAATTGAAGCGCCTTCACGTGGTGTCAGGATGGGTCCACGGTTTGATCTACAAAAAAATGGGGGAATTTTTTGCCCAATAATATAGGTGACGTGCATGTTCTTAGCCATGCAGAATCAGTCTAAAATCCCGCCTTTTTTGTAGAAACGTAGATCAAGCCGAAATGAGACGACTCTGGGCTTTAAAACACTCACCAATAAAACCGAGACATGATCGGAACGTTACACGTGCACTTCCGATCGAATATCTCCATCGTCACACCGGCAGCCCTTTCTCTTTTTCTTCTCGAGTCTGGAAAATAATGATTTTAATTTTATTCTTGGAATTTTAAATTTCAAACAGTAAAAAACCAAAAATTATAGCAGTATTAACTTATCCAAGTTAAAGAACTACAGTGAAACTACAGAAATATTAATAAATATTTCGATGCACCAAGAGCCGAAATCTCTGAGAGCCCAAATCTCGGCTCATTTCGAGTTACATTACAAATAAACTGCAAGCTATATATAGAAAATTCAATTTCAATTATTTTGTTAGTTAACAGAATTTGGCTAGAATTGAAATCGAGCTGGGATATGGGCTGGCTAAGTGAATTTTTCCTTTTTTTTTTTGTTTATTTTGATATCCAGGGGTGAGCAGCAAACGATGTTTCCGGCAGATCGGTCGCTAGCTTGCCGGAATAGAACACTGCAAATCGGCAAACCGGCAAATTACCAGACGAGTTTGCCGGCAACGTATGCTCCCTATGAGCCACCCATCAATCGATTTTGTCGGCTTATATTTACGCCATATGGCGGTTTCAGAAGTTTTTATTTTCATGAAAACCAGAGTAACTATAGATCATTGAAAGAATATTTTGTCGTTTATTTTGAAAATATGATAAAAGACAACCGAGATATAAACGGTCAAAGACTAGTCAAGGGGGGCCATACAAAAATGTTTTTTTGTAAATTTAGAAGAAAATGTGTTTCCGTCTTATTAAAAAAATCTCTCTAAGCATTTCCGGCAAACCGGCAATTGCCGCCCTCCCCCGACCTACGCACCTGTTCAAAGTACTCCTCAACAATCCGATGCGCAAACCCCATCGCTCAGACACAATCCCTCTCTCGCCGGATTGGAGATGTCGGGGCGCACTTGACAAGCATACTGCTCATATCGGAAGTGAATTCGTGTCACGTTGCTCCTCCGGCACATCTGTCACATGCATCTTGTTGAACTTGGCGAGGTACTCAAAGTGTCGACTGAGGTCCGTAGCCAACACCATCTCCACCATCGCATATCGCATTTGTATGACTCGCGCGACAGACTCGGGAAGATGTTCACGTTGGCGTTGTGCTGAAGGGTGCTTAGCTGAATGGTTAGCCTAGTGCGGATAATTCCAGGAGTTATCATTGTAAAGTATTGCAAGCTGTCGCGTCGTATTGATCAGGTACGCGTTTCCTCTTCCAGGATGGGCTAGATCATGCACCGCCTCTGCGAAAAGAACCGCCGTCACCGCATGACTTTCATTCAAGTGCACGGAGAACGACGGGGAGTCAAGGTGGCCTGTAGGACGTCGGCTGTGTGAGTTGCGTTGGGATACGTGTTTCCCGCATGGTAATGAGCCTCGATGGATAGATTAGAATCCAGCGGTGGAGGAGATCGTCGGAGCAGCCGAGCACATCGCAAACCTTCCACCTCTCGAAGACTTTCATTCCGATTTCCTTGGGAAAGAGCGTCGTGATCCGACACCTTTTCCAGATGGAGGATGTCGAATTTCCAGCAATTGTCGTTTTCCAGCGGGTGAGGGTCTTCACGTCAGCGGATACCCGTCGACATTCTGCATGGGATCCTCGCTTCTCTCGATGCGCGTCGACGACGCTTGCGCTGCCTAGCTGGATGATGGAGGCGAATGAGACAATCGTAATATTGAGTTGCCTATCCGATCGGCGTCGCGGAATCGGTTGATCGACGGTGCGTACAGCTGGTCCGACGACAGCACCTTCATCGCGTCCTTTATCGTTTTTGCCGGTTCTCCGTCGACCCGCGACACGTCTCGGAGCATTGTGAGCACCTCGGAGATGGGCGCCTAACGATGCCGCCAGTCCGCGATTTCAGGCTTTTCAGGGCGCCGTCGCGGATTGGCGGTACCGGGTTGGTGTTCTTGTGAGCGTTTCACACGAAGTGACTACTGCTAAATAGAATTTTTTGATTAATTGGTGGCCGAGCTTTTTAAATGGTTGCCGCGATGTTTAAGTTGATGGCAGAGTTTTATAGGTTGATGGCCTAGTTTTTTAAATCGTGAGTTTCTATGCAATTTTGTGGCCGTGTTATTGTATAAGTTGGTGGCGGAATTTTATAAATTGACGGCCGAGTTTTGTAGGTTGGCGGTCGAGTTGTATGAATTGGTGGACGGCCTAGTTTTACAATTGTGTGGCCGAGTTTTTGTATAAGATGTCTCGTGATGAGCCGAGTTTTTTCAAAATGATGGCCGCGATCTTAATGATGGTCGAGTTTTATAAGTGCCGAGTTTTATAGGTTGATGGCCGAGTTTTTATGTAATTTGGTGGCCGAGTTTCACAAGCTGATGGTCGAGGTTTATGAATTGGTGGCCGTGTTGCTATACAATTTTGTCTGGCGGTGTTTTTATATAAGTATTTGGTGGACGAGTTTTATAAATTGGTGGCCGAGTTTAACGGAATAAGCAAAGGAAACTAAAGCGAAAGTGCTAATTTTATTGAAGGGTTTTAAAAACTGGGCCATCACCTTTTCAAGAAAAACTCGGCCTCCAAATTTTCCAGCAAAATACTAGGTCGCCAGTTTTTCCAGCAAAAAAACTCGGCCACCAAAATTTCCAGCAAAAAAAACTGGGCCACCAAATTTTACAGCAAAAAAAAAATCGGCCACCAATTTTTCCACAGAAAACGGGCTAGTTTCATTGTTCGTTTGAGAGAAAGGTAGGTCACGTACATTTTCAATACGAATACTCGGCGACCAATTCTTTATAAAAAATTCCGTCATCAATTGTCATAGAGATTAAGTTCGGCCATCAAGGTTGAAAAATAAACTAGGCCACCGATTTTTTTAGTTGAAAAAAACTGCTCGAACACCTAACCTTAAGATTTTCCTTTTTTCTAGCCTAGAGCACGGTTATCGCGTTTTTAGGCCACCGATGCATTTTTTTAATCGAAACTCGAAAAAAAATCGGTGGCCGACTTTTTATCATATACGGCCACCAATTAAAAAAAACTCACTTGTTAGCAAACGGGACCCGTATCATTTTCCTGTCTCAATACCCTCCGTCCGCTTGCCGCTCCTCTTCGGTGCAGGGCCCTCGGGTGTACAGAGACTTCCGTCGCATTTCCGATGCGGGTTGTCCGAACACCTCGGATTATGCATCCCGTCACGTTCTCTAGCCGTAGGCGCAAGGATAACGTACTGCACTAATCGTTGCTCATCACATATTTCCACTGCTTGATTCGTCTGAAAATATCACCGCAAAATTTGAAGGTTTTTAGGCACATGTGGCGCCAGTCCATTTTGATCTACAAAAAATGCGGGAATTTTTCACCCAAAAATATATGATCAGCTCACCCAGTTCTTAACGATTCTAAACTCACCCGCATTTTTTGCACGCTCTACGTAAATCAAGCCGAAATAAGAGACACTCTGACAGCGCGTGTAGGCAGGTAGGCGTTCACCGAGCCAGGCGATTAGGCCAGGAGGCAGTCGATTAGGCAGACTAGTAGGAGGTAGGCAAGTAGGCATTGAGGCAAGAGCTCACCTAATCCAAGACCGCGAAAAGGGCTATGGGCAGCGCGCGGATCCGACTCGCGAGCCGCCCGACGTAGTCGAAGAGCACCACAAGCGTATTCCACGTCACATGCTTAAAAGAAACGCATGAATGGGAATCAGTGTGTATGAAATATAAATTAGAATTGTAAATGAGAAACTGAGAAAACGGATGACTTACCATGATGAATGATGTTGGAGTGCGCAAGAGCTCTCCCTCGCTTTTCGCTGATGTGTCTATGTCGATTGTTAGATTGACAATTCTGGCAGAGTGGTTTTCTAGAAAATTGGGGAAAACTCGGCCAGATATGTTTTCTTTGGTTTTGGTTGGATAATTTTGGCGACCGAGTTTTTCAACGTATCCTTTATGTGTCCGTGGCCGAAGGCACATAGAAGAAAATTAGAACAATGCCGAGTTTTATCAACGTAGTCTAAATTAGGTGTGGCCGAACTTTTCGTCTGACGGCCACGCAGCAAGAGGAAAAAATAATGAAACAAAATTTGGTGGCCGAATTTTAAGCCAACACAAAAAGTTGGTGGCCAAATTTTAAGCCAACGAAAATTGGGGGCGGAGTTTTTGTTTTTTGAAAATTCGTGGCCGAGAATATGGGAAAACGCGGCCACACGATATTTTTTCTTTGGTTTCTGGCTGAATAATTTTGGTGGCCGAGTGTTTTTGTTTTGGATAGGGCAGTTGTGGTGGCCGATTTTTATCATTTAAACCAAATTTACGTGTACTTGGACTTTTTCTGACGGCCACAATAGCAAGCAAAAAATAACGAAAAGTTGGTGGCCGAATTTTAAATTCATAGCAAGAAAAGTTGGTCGAATTTTAAGCCTAAAAAAAGTGGCGGCGCTTTTTCTACAAAATTCATGGCTGTCATTATTTTAATTGGAAAAACTTGTGGCAGTGATTTTGTCTCGAAAAAAATCGTGGCCTTTAACTAGTAAAATTTGTGGCCGACTTTTATTCGCGTAACCTAATTAACGTGGCTGTCGCCGACTAAGGCCACCTTGCAAGAAGGAAAAATACCCAGGCGAAACAATTGTGGCCGAATTTTTAGTCGAAAAAAATGGCGGCCGAGTTTTTGTTTAAAAAACCGTATTTAGTTGGGACGAAAAATGGTGTCCGAGGTTTTTCAATGTATCCAAACTTATGTGGCCTGTTAGTGGCCTATAGCCTAGCTTTCCTAAACCATTTGTTTATAAAGTTGGTGGCCTAGTTTTTAACCAGCATAATCCAACTCACTCACTTCTCGGCGATCGACACAATCAACACCTCCGCTGTGCTCACCGAGGCTGAGACGTCTCTGAAAAAAAGTTTCGTTAGTAGATCATGGCTGACGACGCTGCTCCCTTACTTGGCGATTTATCGAGCGATGGATGAGGTACTCGAGATCTATGAATACAGCTAGAGGGCATATTGATTAAACGTCGGATAGTGCAAGCAAGTGTACATAAAATTTCCGAAATTCAATTTCCTTTTTCCCTCGCCGCGCCACCGTGTCCGAATTTCGGAACTGACCACGTTTCAGTCGTCTTGGTAATTCCCAATTTCCTTTCTCCCTTTTTACGTCACATGATAGCGGTTATACGTGTTTCGATGCATACACAACAAGGCACTTAATCAGCTACTAGCTCCTCTCCCAACCTCCACAGAGAGACTGTATGAGCAAGAGAAAAAGCACCTGCTTCTTCCAGATTAGGCGTGAGCGAGCCTGTTGTCATCTGACTTCTGCTGACGGAGGGAGCTTGAAAAGCGGAGCAGGAAGAGGAGAAGAAATAAAGAGCATTCAGAAATTACGCGCGAGTCGTAGTAGCTATTTATACACTGACTTCGTCTCCTTCTTCTTCCTGCTTTTTCCCCGTCTGCTCCTTCGCTCGTTGATGTCTGCCATCATATTTCATTAACGAGGGCCTAAGAATCCTGGAAGAGTGACGTCACACTGATGGCCTCTACTAGGAATCTCAAAGGCAGGCCATATTGATTCATATAGCAGGCCATATCAGGCCCCATAGCCTGGCCATAGTAGGTCACCACAAGCTATGGACTGCCATCAGGATTTTGGCTCTTTGGATGATAAGCTTCTTTGGAGCCCAGCGCTTAACAGACTGACGTCGTGGTATCGAGAATCTCGGCTAGGCAGAAACGCGGCAATTGTGAATTTTTTGACGCACTAAAGATCTTATAGATCCTTGAAATCTTCCACAGGACTTAGCAGACCGGAGGCCTGGGAACTATGCAGTTAGAGGCGCCAAGTCCAATAGTGGGCTCCGAAGAGAGAGTGCCCAGAAGGGCTCCGAAAAAAGCGTAGATTTTGGGCCAAAATTTCCCAAATTGGGCCAAAATTTCAAAAGTAGTAGGTTTCAACCCTCATGTTTCCCGGAATGATTTTGTGGACTATTATTTACAGACTGTGGTGGCCTGCTACCCACAATATGTACTGGGCCAACCTCTGGCCAGGTTACGGCCTTTAATAGCGAATTGCTCTTCCCTTGGAGTCAAAGTTCTTGCAGAGCCTAGGAGACGCTTACCACTTTGGATCAAATGATCTAAAACTCAATGGATCATGACCCTAGAACCTCAATTTGACCCCTAATAAGCCTAATACGGAGCTACGTCTAAGCTCCCAGGCTATATGGCCTGATATGGCCTGAGCAACACTTCGGTGTGGCCCAGTCTAGGTTTTTCCAAGCCCCAGCGGGCCTCAGTTTTTATAAGCCTAAAGACGCAGCTACTGGGCCAAGCTCTGGCCTTGAATTTTGGAGTAATTATTGCAGAGCCATCATGCCTAGGAGGCCTAATCTAGATTTTTTCAAGGATTGAGGCCCCCACGAGGCCTCAATTTTCATAAGCCTAAAAACTCAGCTGCAGCCCTGCCTGTGTTGGAAACTGTACAAATCCTTATATGCCCGTAACGAGTCAAGAGGAGTACACTCTCGCCGGTGCCTTCCGTCACGATCACAGTCTGAAAAAGACGCATTATTTATAAGATCTTACAGGGGATTTTCAGATTAGGAGGGTCGTGTGCCAGACCTCAACAGCTCGCCGGGGGTGATAAAATGCTGATTGACTTGACATGCATATATATAGATATATATGAAGTTGGAAGAGCGGAAGCAGCAGCAGTGGCAGCAGAACTTGTGTGTGACGGGGATTTGTGGGAACAAGGCGCCAAAGAAGACGAAGCAGAAAAGCAGAAGCCAATGGGGGCAAGCAATGAATGCAATCTATGTAGGAGTATGTAGGAATATGTGTGTGTGTGTGTGTGTGTGCGAAAGTCTCTCTATCTGTGTGTGTGTGTGTCACAGGTTATATCGTGTGCACAAAAAATGTATAAGGTCTCCTGATGTGTGTGCGAGTCTGTGAGTCTGTGAGTGCAGTGTACAACACCTTTTGCGGAGTCTTACCACATACTGATACGAAAGTGTTTGTATTTTATATATTTCTTTGCCACGGCACACTCTTCAATTTTTCGCGGGCTCGCCCTGGCCCATCAGTGGCACGCAGTAGAAAAAGTAGTAGAATAACATGCGTTGTGGCCATAGCCCATCCAACTTTGTTACTTACGGACTGAATTCGCGCGCGCCGCGGGGAGGAGAAGCAGAAGACGACGACGACGAGCTCGAAAGAAGACGAGTTGCGCCTCTGCAGTGCGAGTCCCTCGGCAGCGGCACTGCTGCGCCGCGCGCTTCGATGACGCGAGCTCCCCCCCCCGGCGGGAAAGTACGCGATTTGTCACCGAGATGAGCGCTTTGCTGACAGAATAGAATGGGAAACACAGGAATATCGGATTGCAGTAGACATGTTTTGTTGCAAAGTTATGAAAGCTGGCTTGGCGTGGTCGTCGAATTTTTCGCGCTTCATTGACGGGAGAGAAGGGGAAAGTCGTGTTCTCCACTTCACGGAGAATCACACTAAGATTTAGGACTAAAATCGAGCCGAGCCAAAATGGCCTAGTTCTCGGCAGAAACTGTTCCATTTCAATCTGCGAGGAAAGCCAGAGTTCCGTGAACCTCGGCCCTGCGATCGCCGGCCTGCGATCTCCTAGACAAATGGTCACCCCAGCCGGGACTCGGGAAAGTTAGTGCCAGGAGAATAATTTTTGAATTTGAACAAAAAGAGGAACTTGTACAGTTTTACAGCATCTTCAATTGCATCGGCCCAAACGTGTTTGTGGAGCTGCTCGTTGGACAGTTAGCAAAGGTAGGGTTGGTGGAGCACCACGCGATCCACCTGCACCACCACCATTCTCAGGAATACGACCCACCGCAGCACCATCTCATTGCTAACACTGCCCTGGATGCTGCTGCTGCTGTTGCTGCTGGTGCTCTCTGTGCGTCTTTTAGCTGCGGGCGTGTGCTGCTGCCTCCTGCCAGCTTGACTGTGCTAGCCCCACACTCTTGTCACCCTCTTCTCAGCCCCCCACCCCGCTTCTATCGCCCATTCTCTCCACGAATTCTTCTGTCTGACCTCCTCCTCCTCCTCCTCCTCCTCCCAATTCTCATGTCATCGGGGGGCCCGTCGTTTCGTGGAGCGCCGCGCCTGCAATGTCTCGGGCCGCCGCCGTCGTCGTCGGCATCGGGTATCGTGGCCCGTCGTCTTCGGGGGGTGGGTTGTCATCTGCTGTGTTCACAGATGCCGCCGCCTTCACCGCCCATCTCATCGTCTCCTCCTCTCTGTGGACCCGCCGACCGCTTAAGCCCGCGCGCCTTCTCCCATCAGTTCTATCTCTCTCTATCACTCTCTTATCTCAAACCGCGTCAATTTATCTCTCTGGCAGTACTCGCTCTTCGCTCGGCGAGCTGTATTGGGTGTCGGTTTTCAGTCTGCGTCTCCGCGCCCCGGTGCAATGCATATGTTCCATCACGTTCTGCTCCTCCATAACAGGTTGCTCCGTGTGCTTCCGTGTTTTACGCAATTTGAGGTAAAATTGATACAATACAATTGATAATTATCGAAGTGTCCTCTATGTGTACTGACGCTGTTAATTTAATGGCCTAACCACAGAACTATGCTTCTTTAATTTTTGAACTTCTGTCGTAGCTCCGTAGTTAAATCCACTATGAGATTCCTTGCCATACTCGTTTTTGCAATATTTTTTGAGGTTGTTTGTTATGGAGAAAGTTTATGTGTTCTTTGCTTCTTTGGTTATATGGGAACCCAGCTGGCCAGAAGAATGGAAGGTTTTCTGGGACAGAGCTTTTGAATAGCCCACAATAGGGCCCCAGTGCCGGTAGGCAGGCCCCGAGGCCCCTAATTTAGTGCAGATAGTCCTTATTCAGCGTATAGATGATTCAAAGCTAAAATCAAAGGGCTGTTCCATTACGTTGTGATCTACAAAACATGCGGAATTTTTCGCCCTAAAAATGTGACGTCATCACGTTCCATGCGTTATTATTTATGAAGCTACCTCTGCGTCTCATTATCCCGCTTGAAGATCTAACGTAGATCAACCAAGCGCCTTACCCCTAGCCTCTAAGCTCACTACCTAGGGCCCTCTAGGACCTTATTTCGGCTTTTTGGACTGGCCAAGACCTCGCAATTGGGCTTTTAGGCTCCTAGGTCCCTCAAGGACCGTTAGTCTTGGACTATCTGAAACGATCTGCGTCTAGGCTCCTAGGGCCCTATAGGACTATTTAGGCCTCTTGGACTAGCTGACCATCTAGATCCTTCTAGGCCTCTAGGGCTCTCTAGGACCATGTTCACTTGTCTATAGGACCTGACTAGCTAAGACGGGCTTCTAGGCTTCTAGTAAGGGCGCTCCAGGACCTTAGCCCTCTGGACTCTCTAAGACTAATTGGGCTTCGAAGCTCCTAGAACCCTCTAGGCCCATTTAGGCCTCCTGGACGATCAAAGATCTTCTGGGCTTCTTCTAGGCCCCCAATTTCTAGGACCTTCTAAGACACCCAGTCTTTATATTCCCTAGCGTCTAGGCTCTAAGATAGGCCTCGTTTCCGCAATTCCTACTAATGGCTTTGGGAGACCACGTCACTTTCTAAGGCCCATGGACTTCCACAGTAGCTTTTCACGACAGCCATTTCCAAGTTAACGCACTCAAGGACCATTTAAGCCTTTTGGGCTATTTAAGACCCCAGATCTGGGCGATGACTCTTTTTTCTAGGCCTTTTGCCCTCTTGGGCGCTCCTGTACCTTCTAAGACCCTGGCCTTTTATCCCTAGCCTCTAATCCTCTAGGACTCGATTCCGTAAATACATTCCCAGTCCTAGACGCTCTCAGGGCCCCTGGGGTAGCCTTTCGGTTGACCATTTCAAACAGGCCGTTCCGCTCCATCTCTCCTTGCTCTCTCGTGCTCCTTTCCTCCACCATGTTCTCTCATTGTTCTGACGGATGGTGATGAGCATCATCATCCTCAAAGCTCCAAAGACAATTGCCATCAATGTGCCGCCGCTGTGATAAGTGGTGTTATTTCGCCGGGACAAAAAAAAAGGGAAAATTCTCCATGGGAATTTGCGACTAACACCTCCTATTACTGTAAAAAAACATCTGGAGAAGGGGGAAACGAACTAAAAAAAAACAAAATAAAATCGGCGTATCAAATTGAAGCTTCATCATATGATTCGTCGCCGTCGTCTGCTCTGTTCGGCAATGATCGTTTGTTCGCGTCGTCAAACTAACCTACTCAATGTCATAAAGAACAGAGAATGAATTCAATAAAACATGACGAAAAAATAAATACATTCAGGTACTGTAGCTAAATCAGGATCACATCTGGAATCGCTCTCAGCCTGTTCGTTTGTGGGAGCTTGTTGAGTATAGGCCGACCACTACGCCGCCGTCGACAATCCACGACGACATATACCGCCACCGACGACTACGTATGTCCCCTGAACTTTAAAGTTGCATTTTTTTTTAAAGGATTAGGGGTCTTTCGAAATAAATTTCAGTTTTGGTAATTTTTTAAATTTAGTTTTATTTTTTTACGGGCTTTTGCGATTATTACTGCTAGAATGAAAGTATGTACATTTCTTGTAGATCAGCAACTTTAATTTCTGATAACCGATAAATGTTCCGAAAAACTCGAAAAAAAAATAAATTTTTCCAAACTAACTAAAAAGTAAATTTATTTGTACAATTCAAAGTTTGTAATTTTTGACAAAATACATTCAGAAATCTTTTTGGAATAGGGGTTAATTAGGCTTGGGCCTAGGTTTGCGCTTGGGCTTGGGGTCAGGCTTAGGCTTATGGCTAGGCTTAGGCTAAGGATTGGGCTTAGCTGGCTTAGTGCGCTGAGGCTTGGGCTGGGGCTTAGGCTTCAACTTAGGCTCAGGCTGAGGCTTGTGCTGAGGCTTGGGCTTAGGCTTAGACTCTCAGGATTAGGCTTGGGCCTGGGCTTGGGCATGGACTTAAAAATGTTTTGTTTTTCAACAATTTGGTTGTTTTTCGAAACCTGATGGTTTTACCGGTATAAAGTGCCTTTTTTTGTACATAAAAATAATTTTTAAATTTTTTAACGTTCCTAAAAACTAAACAAACTGTAAAGAAAATTTTATTTAAAAAGCAATAAAACATATTCTTTTTCAGTAATTTCAAATTTGATTTCCCGGTCATAAAAAATCAATTTTTTATGCAGTCAGGGCCACAAAAAAAATTCGTTGAAAAAAATTCAATTGGATGTATTCTTCGTGCTTGCAAATTCGAGTCAATTTTCTAGGGATAAAATAGTTGTTTATTTTCCCTGATTTTTTGACGTTTTTTCCTTTTTTAAAGGATATTTTAGGACTTTCTGGGATTTAGAACGGTTTAGCCTAGGAGTGATTAAGACTAGGTTTAAGCCTGAACCTGATGGGCCTTACAAGCCTAAACCGAACCGCCTAAGCCTAAGCCTAAGCCTAACATCAAAAAAACCTGAGAATCCCCTAAATGGCGCAACGTCGAGTAGCAAGCTGATGCTCGCCACTGACACTAAGCCTAAGCCTCAGCCTATAACGAATAACAATTTTGGAACAAAAATTGCAAAATCTCCGCTTCTCCGCTTCTCTTAAGACATCGAATTTCCTAAAAATTTTTAGAAAAAAAAAATCCTCGGTCCAAACTGATCTGAAAATTCTATCATATTTAGGCTTTAACAAATTTCACTTTTTTCTGGGAGAGACACTTTCCATAACACCACAAATTCGGCGAGTCGACCTGTTGAGGATCTTGTCTCGACCCGCTCTCTCTCTAAGTGATTATAACAGAGATCCCACACCCACCCACCCACCGTCATCTATTATGTTCTAGAACTTTATACATTATGATCAAAACCGAATGCTACAAACTACAAAACATCGCCACTTTTTCCAAATTTTCGGCACATTTTTGCAGTCCGACCACAACTACAAGCACCAAATCCATGTGAATCATCGCATCCGTTGGATCTGACGCGTCGGCTTATAGACGGGACACTGTGCCGGCTACAATCTTCTCTATATGGCCAGCGACTTTCCCGTCGTCGGCTCGCAATGAGTTTCCTGATCTCAGGGGTTAGGCTCACATTCAACGGACTATGATCGGGAAGAGGTGCCTCAAACGATAAGTGAGCTCTCAATGCCTACCTGCCTACATGTTTGCAGTATCAAAGATATGATGCCTACAAGCCTACCCCCCTACCTTGTCCTACGAGCCTGAACTTACACATTTTCTGTGCCTAACATGCTCGCTATACTTTTGTCTGCCGTTACGCGCCCCCCCCCCCGCCTATCTGCCTCCAGAAGTCTCCATTTAGTCTTTATGCCTGCACGCCTATCACAGGCCTCCCATTTGCTTGCGGTCGAGTCGATTCATGCCTACGAGCCTGCGCCTTACTAGCCTGAATTCGCATTTTTCCAGTGCCTAGCATGAGTCCCTATGCCTGCATTTACGCGCCTTCTCCCCTAGCTGTCTACAATCGCACTTTCTGCCTACCTGCATGCTTTCCTACCTATTCGCAATACTTAGGCGTACCTAACACAAGCTTAGCGACTACAAAAGCCTTCCAGTGCCAACCAGCTGCATGACTGCGTAGCCTTTCGCCTGCTTAGGTGCCTACCATAATCCTCCCTTTTGTCGATATTTCTACGCGCCCATACCTACATTCCTATCTTGTTTGAATCGATACATATCATGCCTACGCACCTACCTTGGCCTACCTTGGGCCTACACTCCTGAAATTGCACTTTTCCTGTGCCTAGCTCGTACACTATACTTATGCCTGCCTTTAGGGCTTTCTCCGCGCTTATCTGCCTACAAGCATACCTTCTGCCTCCTTGCATGCCTTCTTATATTAGCCTGCTTACCCGAACCTACCACAAGCCTGGCTGCCCAAACTTCCCTTCTGCCTATATGCCTACGCAACTCCTGCCTGCCTATACGTCTACCTCATGCTGTAAACAGACCTGCCTTGTACCTACCTATGCGCCTAAAGATTGGCTGTCTCCTACGTCTGCCTGGCTGCCGGAATATTTTGCCTATAGGAATTACTGTCAGTGCGTCTTTACCCAGATCCTACCTTTAGGTAGACGTCCCCTAAAGCAACCGCCTGCAAGTCTATCACTTCGCCTCACGCCTCCTTGCCTACCTACACACCTCCCTTATCCCGGCTTTTCCACCTGCCTATGCCTATCGCATGCCTACCCTCAAGACCTGCAAACGTGCCTAGCCGTATGCCTACCTAACTTCGCGCCTACATATGCCTCCCTTTCAGATCGAGATTAAGTCGGAAAATAAAACCGGCCAAGGCAGTAGCCTCCTTGCTGGGACGAGGAAGAGTGGGAGGAGGGCGAGACGGAAACGAGCCATCAATGGAAGGATACAGATGATCGCTATCATGCGAGATACCGGAACACGTCATATTTTGGTAGGTGGGTGAACACAGCAAGTGCGCTCCATGGCGCGGGACACTTTTCCCGCGCTTTTTAGGTCAAACACGTAATTTTTCCAGTAATGACTGTGGCGGTGGAATGCGATGATGAGACTGGAGATTTAACAGTGGTGGATACTCGTTGTACTAGGTGCCGTGCTGTTCGACACTTGCCATCCACGTATTGTCCACGTTTAATGAGCTGATTTGCTCGCAGAAAGCGTGTCTGCGAGAGGAAAATGCATACAACGGGTGATGCCGATGAATATGTAATTTTTTTGTTTTTGCAGTGGAGCGCGTTTGTACTCACTCCACGAGGAAATCACGTGGTGTGAGAGTGTCTTTCGGATTGATCTACAAAAAATGCGGTAGAAGAGACACAGAGTTCTCAACTGTGGATTATTAAGAACGTGCTCACGACAGACATTTTTATGGGCAAAAAATAGGCATCCCGCATTTTTGGTAGATCAAATCAATTGGAGAATAGTAAACCTTTTTATTTGAATATGATCCTTTAAAGAAAAAATAGAAATTTGACTGAATTTCCCGCCAAAAAATTTTCGCAGGTAAAAATTTAAATTTCCCGGGAAAATATTCACGGATATCCGGCTTCCCTCATAAATTGAAATGCAAGATTTTTTGCCGAATTAGGCCAGCCCATATCTGGGGTATATTTTGAAAAGGCTGCGTGTCGCGTCGCGGCTCGATTTTAGTTATAAAAGTAAATATATACGCATTGTCCGTGTGGAGTACAAGACTTTCCCACGCGTTGGTGATTGTCAGTGCGAAAAATTCGAAAATGAGGAAGGCGAGAACCTCGTGAATATTTTCTCAAACATTTTGTTTTTGGAAATAATGTGCAATCGCGCTCTAACGCAGTATCCAAAACTTGAGGCTTCTGGCGGAAAACTCGAAAATCAATTTTTTGCTTTAAAATCGTGAAACAGACGAAACTAGTCGCATAATTCAAATTTACGGTATTGCCGCGCCAGTGCGGTGGATCACGTTTGCACTTAAGAAAATTGGTGAAAATCAAAAATTTGGTTTATTTTTGGCAACTATATTTCATTCTCTATTAAATTCATACTGTACACGTGGAAAATCATTGATTTTCCCGAAAATATAAATGGAAGATGCAAGCGCGCCCTATTGTGGTTCGTTAAAATTCGAAGCGTAACTGAAATCGAAATTTTTTCTCGAAAAATTGCAGTGTGCCCGTTGTAAAATATCGTTTTTGGAAAATTTAATATTTAGAAGTGCGGATGCATCCTATTGTGCGCTTCCAATAAACTTACACGCTGGCATGGGATCCGAATTTTCGCGTCGCTTCCATTGACAATCGCCCGTCTACTCCACAAGGACAAGTGCATTTAGTTTTAAAACTAAAATCGAGCCGCGACGACGCAACGCGCTAAATCTACCCCAGATATGGCCTCAGGCCTTCTAGTTCGGCAAAAACTCTTCCATTTCAAAATATGAGGAAGGCCAGAACCTCGTGGAAAATATCGATTTTTCCGTTTCCACGTGGCCAAAGGAATTGCAAGCGCGTTCCAGGAACGTGAACTCGCACATTTTCCATTTTTTGTTCTCCGAAACGTGGGTACACCCGCGAGTGTGCTCGCTGGCAAATGAGCCAAATCGACGTGCGAACGTGTTGTGATTGTATGCTCAATCCGTCATCACCACTGGTCACCTATTTATGAGCGAAAAAACCGGGGAAAAAAACACACAAAGACAACCCAAAACTCAACAAAACAAATAATTTTACAGGATTCAACGAACACAACAAAAAAAAGAAACAATGGCAATTAAATACGGAAGCTGCTGCCAAATATGCTGCCAAATTCAAATTCTCGCTAGAACTTGTACACACGATCTTTATTGAAAACGGTGATCAACGGGCACCCACCACTCTGACCTTTTGAAAATAATTGTTTTAATGATTTGTGTCATTAAAAACCTCGGCCACGGCCGCGACGCCGCCGCTCCGCACGCAGCTGCGTCGGCGGTGGGGTGGATCCTGAACTTATCCCTCCAGCTCGTTATCGTCGTCGACCACCTCGAACAGTTAGCCTCAAATAGAAATCTGAAAAAAATTAATTGGTTTATTCTTTTTGAAAATATATAATTTTATGTTTGGGCGTCTTTGTGGCCTTCCTCATTGCCTTTTTCGCGCGCTCCATTGACAATCGCCCCCCTATGTACTCCAAACGGACTAATCACATCTAGTTTCACAAACGAACGACACGCAACGCGCGTGGCCTAGTTCAGAAAAACTCTACAATTTCAATTTATGAGGGAAGCCAGAAATCCGCGTGCGTTTTATTGATTTTAATTGATTTTTTTACTTTCGAAAATCCCGTTCCGGAGAAGCACAAGGTTTTGCGCGTGTCGGCGATTCGATCCCTCGCTTTACCCCATTATCTGCAAAAAAAAGTACTATTTTTTTTTGTGTAAAATTCCCAATCTGCGAGGGATCTACAAGAAAAATTTTTTGTCCTTTTAATATTTTAATGATTTTTTCAGAGTGATCACATTCTTGCAGATCCTCTTTTCGTGGGGCCTCATAATTTTTCAGTGCTTCACATTTATTTAACATAAAAGTGATTTCTTCATAAAAATTTGAATTTTTTGCCCAAAAATCGAGAAAACCGCCGCTCCGGCTCTTCTTCCGTGCGGCACTGTGCTTTTTGCAAGCTGGGCACAGTATTGTAGGCTTGAGTATGGTCTTCCTTGAGCGCTTGAGTCAACTACGAAAAAAAAAAAGGACTTTCTTTTAAATTTATGTCGGAGATACCACATTCTTGCAGATCAGGGGATCTTTTCGCGGGCTTATTTTTCAGTGCCGCTCGGAAAAAGAGGCGGAACGTCGTGACGCACGGTTTTTTGTCACGATTACAGTTTGACTAAAATTGTTGATTTTGGATCATTTTCGTTGATTTTTTTCGAAGCTGATTTCGGCAAAAAAAAAGTTTTCGCCTTTTTTTGGACAACGAAGAGCCAAAATATCAATAAAAATGAAAAGCTAACTTCATAAATTTTTTAGGATTTTTACATTTTTTTTTTTGAATTGAAAAATGTTTTTTTTAGGTGTTTTTGGTGAAAAAAACTACTTTTTTTAGCTAACAAAAAATATCAAAAACTAAATGACCAAAAATCGGAAAAAAAAAACGCCGCGCCGCCTCTTTTTCCGTGCGGCACTTCGCCATTTGGAAGCTGGGCATGGTTTTGTAGGCGTTGTCATGCTGTCATTACTTGAGCGCTTTGAGGCAAAGACTTATGGGAGAACGGTGATTTAAATCCAAAATTGTCCCGGTGGCGTTCAGGAAGAGACGCGGGGGCTTCTGAAAAAAATTGTTGAAAGATGCAAAAAATCTGAAATTTTAGAGCATTTTTCTGAAAAAAATGCAAAAACCGAAATTTTTGAGCATTTTTCTGAAAAAAACGCTAAAACTCTGGAAGCGCATTTTAGATCATTTTTCTGAAAAAAACGCTAAAAATCTTAAAATTCTGAGCATTTTTCAAAAAAAAGATTCTTGTGCACCTCTGTGAAAACTTCATCCATGATGGTAATTGAAAAATAACAACTGTCCAAAAGCATCGAATTCACAGTGTCGAGTTGGAAAACGCCGACATCTTCGACTACCCTAAAATGCTCATAATGGGGAAAAGCTCTAAAAGCATCGGTGGGCTTCACGCATTCCTCGCGTTGTGTTCGCTCCATTCACAATCGCCCCCGTGTACTCCACGCGCACAAGTGCATTTAGTTTTAAAACTAAATCGAGCCGCCGACACGCAACGCGCCGTAAATCTACGAAAAAAAAAAGGCTTAATTGTTGCTGAAAAATCGATAAAACACGTTAAATTTAATCAGAAAAATCAATTTTCGCACAATAAAATTCGCAAAAAAAAAAAATGAAATTTTTTCGCTCATAAAATTTGGCGATGCTTCAGTTTCGTCTTAGGTTCACCGACCCGAAAAATCAAATTTGACGCGCAAAACTTGAATTTTCGATTGATTTTTGATGAAAAATCGATAAATTACGGTCAATTTAACCAGAAAAATCAATTTTTAACGAGAGAAGCCAGAAATCCGTTGAAAAAGTAAAAAATCAAAACACAAACATTCGAGAGAGTCTCTACAGATGACGGAGACAGGGAACGCATTTTTTCAGAATTTTTCTGCAAGTTTAGGTCCAAAACTGACGAAATAGAAGACACTCCGGGAGCACACTGGCAATGTCATGAAAAAAAATTAATTAAATGCTAGATTTTTAGCATTTTTTCAAAAAAAATGCAGTAAAATTTCAGATTTTTAGCATTTTTTTCGGAAAAGTACACTGAACATCATTTCAGATTTTTATTTATTTTTTTTTGAATGCTACAGACCGAATAGTTTGCCAGGCATTCGAGGAGGAAATCGGCGATGAACTCTGCCACGTCGCGGCATTCGATGGGCGGGGGCTGAAAATATGCAATTTTTTGGCCTAAAATTTGGTTTTTTCTGGAAAATTCTCTTACCCCGATAATGGGAAGGTTTTCGTCTGCGGAATGCTTAAACTAACATACAGCCCTCGGAGCAATTCTCCACGAATTGGAGCCACCTCCTTGGCTTAAGTGAGAGATCATAGATGAAACTGAGCCGCTTCACCATTACGATGCTCTTGCAGCGTTCACGAGCGTTCAGCGTGTTTTTCCAGGATACTCTGAAAAAAGCGCTAATCCTTAATTTTAGCCAAAAAATCCATTACTCAATTTAGCAAAACAATCCGTTAATTTTAGCCAAAAAATCCGTTAATTTTAGCAAAATCCGTTAATTTTAGCCAAAAAATCCGTTAACTTTAGCCAAAAAATCCGTTAATTTTAGCCAATAAATCCGTTAATTTTAGCTCAAAAAATCCGTTATTTTAAGTCAAAAAATCCGTCATTTTTGCCAAAAAATTCGTTATTTTTAGCCAAAAGTTCGCTAGTTTCGGCCAAATATAATCCGTTAATTTTAGCCAAAAAAAACCGTTATGGGGTTCCAAAAAATCCTTTAATTTTAGCCACAAATTCGATATTTTTAGCAAAAAAAATCCGTTAATTTTACGCAACGAACCGTTAATTTTAGCCAAAAAATCCGTTAATGTAAGTCAAAAAATCCGTTAATTTTAGCCAAAGTACAAATCCGTTAACGTTTAAGTCAAACCATTTTAGCCAAAAAATTCGTTAATTTATAGCCAAAAATTCTAGTTTCAGCCAAAAAAATCCGTTAATTTTAGCCAAAAAAGAACCGTTATTTTTAGCCAAAAAATCCTTTAATTTTAGCCAAAAATTCGATTAGCAAAATCCGTTAATTTTAGCCAAGAATCCGTTAATTTTAGCCAAAAGTCCGATAATTTTAGCCAAAAATTCGATATTTTTAGCAAAAAAAATCCGATAATTTTAGGCAACCGTTAATTTTAACAAAAAAATCCGTACTTTAATAGCCAAAAAGAAATCCGTTAATTTTAGTCAAAATATCCGTTAATTTGCCAAAAAATCACCACGTTAATTTAAGTCAAAAAATTAATTTTAGCCAACAAAGACCCGTTATTTTTAGCCAAAAAATCCGTTAATTTTAGCCAAAAATTCGATATTTTTAGCCAATTAAAATCCGTTAATTTTAGCATCCGTTAATTTTAGAAATCCGATATTTTTAGCAAAAAAAACCCGTTAATTTTAGGCAAAGAACCGTTTAGCCAAAAAATCCTTTTATTATAGCCAAAAAAATATTATGTCAAAAAATCCGTTAATTTTAGCCTAAACAAATCCGTTAATTTAAGACAAAACCGTTAATTTAAGTCAAAAACTAATCCGGTAATTTTAGCGAAAAAAGAACCGTTATTTTTAGCCAAAAAATCCTCTTCGCCAAAATTTCGATATCTTTAGCAAAAAGAATCCGTTAATTTTAGCCAAAAATCCGTTAATTTTAGCCAAAAATCCGTTAATTGTAGCCAAAAATTCGATATTTTTAGCAATAAAAAATCCGTTAATTTTAGGCAAAGTTAATAGCCAAAAATTCGATATTTTTAGCCATAAAATCCTTTAATTTTAGCCAAAAATTGCTAATTCTTTAGCAAAAAATCGCTATTCGGCGTTTAGCCAAAAAATCGGCGTTAATTTTAGCCAAAAAATTCGCTATTTTTAGCCAAAAAACTGTTAATTTTAGCCAAAAATAGACCGTCGATTTTAGCCAAACAATTAGATTATTTTTAGCCATAAAATCCCTAAATTTTAGCCAAACAAATCTGTTATTTTTATTAAATAATTCGTGAATTTTAACCGGAAAGTCCGTTATTTTTACTACAAAAATAGCGAATTTTCGCCAATTATAACCAAAATCTCTCGATTTTTTGCTCAAAAATGCACCTAATGTGCGTTTTTCCTTTTTTTTGGCAGTTTCCCTACTTCAATAGCGAGTTTGCAGGCACGTCGTCGTGCAAATTTTGACTTCGATTGCAACAGAATCCAGCAGAATTCGATCGTCAGTCACTTAATACATTCCAAACAATTTTCAGATCCTTTATGGGCACTTCGATGTAATCTGAGAGAGCAAACACGTTAGAATTGCCAGGGTTTACAGCCCTCTTTTAATCACCATCCAACTGGAACGCGAGGTCCATCTTTGGCTGCCATACCTTCACCCGCTCGCCGCCACCCTTGCAAATGTTGTGGATAAATTGAACGGTTCACTCGAAATTCTCCAGATCGCCGTGCTCGACGAGCGCGTTATTCGATGGGTGTGCTCTTTCCGGCTTCTTTTCCTTCTGAAACTGCTGTTTTTCCTTTTTATTTTTTTATGTCGCAAAATTTTTTTTCCGAATTTTTCACGGCACCAACCTGAACAGCGAATCTTCGAAAAGAGACGAAGCGATTTTGGGCTTTTCAAATTTGAAAAATTCAAAGAAGTTGTCACGGAACTAGCCATTTCGAAGTCGAATTGATTAAAAATCAAAAGCAAAAAATTTCGATAAAAAACAGTGTCCGAGAGGAGTACACGCTTAGCCGGGGAACCATGCGCGGGACTCGCACGGAAGAGACGAATTGAAGAACAGCTCGTAAATCCTGTTCCACGCTTTTTTTTTAATTTTTTCAATTCTACTTTTTTCCCAGAAGTTCTTGAAAATATCCTTTTGCAAATTTTTCGGAAAAATGCTCTAAAATTTAAGATTTTTAGCGGCGATTTTTTTCGGAAAAAAATGTTAAAATTGCAGATTTTTAGCATTTTTTCACAAGAAATGCACTAAAATTAATATTCTTAGCATTTCTGCGGAAAAAATTAGCTAAAAATCTTGCACATCAAAGACTGAAAAGAATTTGTTGTAATATTGCATGGATGTTCTGAGGTTTTACATCAAATCTGGGTTCCATGAAATTTGACGTTTTTCACTGAAACATTCTACAAAAATAATTTCTGCGCTCTCGCAAAAGTTAAGATGAAATAATCGCCAATTTTTCAATAGTGCACAGAAACCGTCAGATTTTTAGCATTTTTTCGCAAATATGAAAATTTTAGATTATTAGCAATTCAGAATGCTCTAAAATTTAAGATTTTACCTTTTTTGAGAAAAATTCACTAAAATGCAAGATGTAACTTTAAACATTTTTTTGCAAGAAGCTCTAAAATCAAAGTTTTTTAGCATTTTCTTCGGAAAAATGTTTGAAAATCCCTTCGTTAACGCCTTTTTCGCACTAAAAGATGCTCAAACTAGTTTAAACTTTCAGAGTTTTCCCATGCTTTTGCCCCCTCCACTTCACAAGAAACAATGAAACGAATATGGCGGGATAAAAGCGAAAATTCGGGGAAAACATCATTTTCAATGCATTTTTCATCGCGAAAGCCGAATTTCATTAAAAATGGCCAATTTTTGTGCCAGGTTTCCCAATTAATCTTGTATTTTCGATTAACTCAACCCCTGCGCAGAGAAAATCACAAAATGCAATTGTTTGTGTAAAGCACTTCTCTGCGCGTTTGCGGCATCCGATATGACGAGCAACATATATCTTTTTTCTGGAGCCCTTTATTTTAAATTTATCATTTTTCATGCATTTTTTGAGAAAAAAACTCCCCCAAAATTAACCTAGAAGCCTTGGAAATGAACTTGAATTTTGTGAAATTTGACGTTTTTCAGCGAAAAATTCTCAATCTTTAGTGCATTTCTGCCGGAAAAATGCTAATAATCTTGAATTTTAGTGCTTAGTGGAAAAAACGTTAAAATCAAAATGAAAGAATTTGAAATAAAATCAGAGGCTTTAAAATTTAAGATTTTTAGCATTTTTCCTGAGAAAAGCTAAAAATCTAATTTTTATAGCTTTTTTGTTGAAAAAATGCTAAAAATCTTAAATTTTAGCTCATTTTATTTCAAATTCGACATTTTCATTTTGTATTTAAGAAAAAATAACCTCAAGGTCTGAAAAATATCGAATTTTGAATGAAATTTGACATTTATCAGCGAAAAATTCTCATTTTTCCGGAAAACATGCTATCTTGTAGTGCATTTTTCCTGAAAAAATGCTAAAAATCTCAATTTTTAGTGCATATTCCCGGAAAAATGCTAAAAAATAGTTCTTAAATTTTAGAGCATTTTCCAGACAAAATGCTTAAAATCCTTTTCAGAGAAAGGCTTTATTAATGAAAAATTGCGCTAAAAATCTCTCTAAATTTTAGAGCATTTTTCTCGAAAAAACTTAAAATCTTGAATTTCAGTAGTAAGCATTTTTTTCGGAAAAATGCTAAAAATCTCAATTTTTAGTGCATTTTTCTGAAAAAATACTAAAAATCTTGGATGCTAGTTTTAGAGCATTTTCGCTGAAATATAACAAAAATTTTAAATTTGCATTTTTCCGAAAAAAAAAACGCTAAAAATCTTGTAATAACTGACAAATTTCGAATTTTGAGTAAATTTTATGGCATGTTTTTCGAGGTTTTTCCTTGCAATTTGTTTTCACCTAAAAATTCGACAAAAATGAGCATTTCTGAGCTCTTATATGGCAAAAATTGACAAAAATCGTCAATTTTTCAATAAAAATTGCCCAAAAACCTTAAAATATTCTGAAAAAAGCCGAAAAAACCCCATTTTTTAGCCATTTTCTATAGTATCTTACATTGTTCTCAACTTTCTTCACCTAAAATCGCCGGAGATATTAACATAAAATACCCTTTTTTTTCAGCGCAATGGATTATGAGCCAGGAGGATGAAGCAGCGAAACCAAGATCCGAAGATTCGCGATTGGTAAAAAGTGGGGATTTCCGTGAAATCAAACTCGATTTTTTGTGAAAATATAGAAAAAGCATGAGTTCACAACTGCTCCAAAAACCGAAAAATTTCACTAAAATCTAGAATTTTTGCCCGACTCGAAAACATCAAACGCAAAAATCGCCAAATTTGTGAAAACTAGATTTTTATTTTTAAAAAATTCTAAAAGTTCATAAAAATCAAAAAACCGGATTTTTTTTCTTAAAAATTCTGGAAAACTGTCTAAAAATCTACTCAAAATCAGTTTGTAGAAAATCTGAAGAATAGTCTAAAAAGAATTAATAAGTTGGGAAAAAATTTGAAAAATTACGAAAAAAATCAATATAAAATCGGTTTTGAGCTTGGGAAAAAAAACCCTGAAAAATTGTCTAAAACTCTATAAAAAATTGGATTTTTTAAATAGAAAATCTCAAAAACTAAGAATCAACAAAAAATCGAATTTTCCGGTGGGTGAGAAAACCTGAAAAATTATCAAAAACTTGGTTTTTATCAGAACATCTGAAAAATTACCTAAAAAGCAATAAAACATCAGGGGGTTTTTTTTCTGGAAAAACTGTAATATAGCCTAAAAAGCAATTTAGAAAAAAGTTTTTTTTTTTATAGAAACTACTGAAAAATTATCAATCAAAACCACGAAAAAAGATACATCTTTCGCTTATGTCCAAAAATCCCAAAATTTGCATTAAAAACTAGATTTTTCCGTATTTCAAAAAAATTCAAATTGCCTGAAAATCAATAAAATTGTTGTTTTTTTTTGGAAAGAACAACCCAAATTGGCTAAAAATCCGCAAATTTTTATGCAGCTCAAAGAACGAGAACTCAATGGTCGCGAACCATCAAGCTTTTCTGCCTCCTGGGAGCCGGCGACTCTGGAAAATCGATTTTACAACCAGATGCGTATCATTCACGACGTAGGATATACGTCTAAGAGAGAATAGTGTTCAGAGGCTTGTGGAAATATTATTTTGGTCAGTGCTCCGATGCACTGAACAATTACCGGAAATTGGCAAGACCAAAATTCGTGGATTTTAACCAGAAAATCCGAATTTTAATCAATAAAGGCTAATTTTAGCCAAGCAAAAATTCGCTATTTTAACCAAAAAATCCGTTAATTTTAGTCAAAAAATTCCCTCATTGTTAGCCCAAAAATCGCTATTTTTAGCCAAAAAATCCGTTAATTTTAGCAAAAAATGTCGCTATTAGCCAAAAAATCCGTTAATTTTACACCGGCAAAAAATCCGTTAATTTTAGTCAAAAACTAGCTCCGCTACTTTAACCAAAACATCCGCTATTACCAAAAAATCCGTTAATTTTCGGCAAAAAATTCGCTACTTTTAGCCAAAAAATCCGTTAATTTTAGCCAAAAAATTCGCGAATATTTTTAGCAAAACATCCGTTAATTTAGGCAAAATCGCTCATTTCTAGCCAAAATATCCGATAATTTTAGCCAAAAAATTCGCTATTTTTAGCCAAAAAATTCGCTGTTTTTAGCCAAAAAATCCGTTAAATTTAGACAAAGACAAATTATTTTTAGCCGCACGACAATTCACCAATTTTCGTTTAAGATCCAATTTTTGACAAAAAAATACACCGAATTTACTCAGACGCAAATTCTCCCTTTTATGGCTAAAAAATGCATAAATTACACAATTAAACCAAAAATTACCCAATTCCCAAAAACTCTAATTTATTTACCAAAAATTCTCCTATTTTTTGTTGAAAATTCTCCAATTTTTTTGCCAAATTTTAACAGAAAAATCTATAAAATATCAGGCGAACCTAATTTTGGTCAAAAATTCACCTATTTTTGTTCAAAATTCTACTCACATTTTACCCAATATCCACCAAATTTTAACAAAAAAAGCTAAAAAATTATTCAAAAACCTAATTTTCGCCCAAAATTTTCCATTTTTACTCAAAAATTCCGATTCTCTTTTTAACCAAAAAATCTAGAATATTAGGTGAAAAATGCCTAATTTTGGCTTAAAATTCACCGATTTATGGCAAAAAAAAGCCTCCAATTTCTGCTTAAAACTTCTCTGCTTTTTACCAAAAAACTCTAAGATATTAGGCGAAAATCACTAATTTCGGCGAAAAAATTACCAATTGACAAAAGAAACTCCAATTCCAATCACACAAAAAGTTCACAAAATTTACTCAAAAATTGTCTGTTTTTCACAAAAAAAAAACCTACAAAATTAGGAGAAAATTCACATCAATTGCCAAAAAATCCCTAATTTTGGCCGAAAAATTTGCCAATTTTGTTAATTCAGTCCAATTTTCGACTAAGAAAACCACGTGCCATTATTTTCAGCAAAAAGTTGACCAAGTTTACTCAAAAATTGATACAAAAAAAGTCTATTAGGCGAAAGATCCCTAATTTAGTCCAAAAATACACCGATTTTTGACAAAAAAAACTCTAATTTCAGCAGAAACTTCAAAACCATAGCCACAAGTTCACTGTTTTTTACCAAAAAAATAGAATATTAAGAGAAAATCCCTAGATTTGTCCAAAGAATTAAACAAATGCCAAAAATGCTCTGTCCGTTTTTTACCAAAAATTCTAGAATGAAATTTTTTAGGCAAACAACATCCCTAATTTTTCCCAACAAATTCACCGAATTTAATCCAAAATGCTCTGTTTCAAAAACTCTAATTCCAGCACAAAATTTACCAAATTATAGCCAAAAACGCTCTTTTTTTTCCAAAAAAAATCTAAAATAGCTTAGGCGAAAAATCCCTACAAGATTTTGTCCAAAAATTCAGCAGATTTTTGACAAAGAAACCTCTAATTTCAGCAGAAACGTCACCAAACTTTCATAGCCAAGCAAATTCACTGTGTTTTTTACCAAAAAAATAGAATATTAAGAGACAATCCCTAAATTTGTCCAAGAAATTAACCAAATTATAGTCAAAAATGCTCTGGTATTTACCAAAAATTCTAGAATATTAGGTAAAAAATCCGTAATTTCCCAAAAGATTCACCGAATTTACTCCAAAATGCTCTGTTTTTGACAAAAAAAAACTCTAATTCCACAGTCAAAATTTACCAAATTATAGCCAAAAATGCTCTTTTTTTTCGAAAAAAAATCTAAAATATTAGGCGAGTGAAAATAATCCCTAATTTTGGTCTAAAAAATTACACCAATTTTCCCCAATTTAAGCTTAAAATGTTCAATTTCTAACCAACAAAAAAACTCCCAAATTTTAACCCAAAAATTCCCTCGAATTTCACCCCAAAACCGTCCAATTTTCCAGTCTTTCAACGCCAACACAGGCTATGGAGCAGTTAAAAATCAGCTTCACACACTCGATAATCAGATGCCCGAAAGCTTCTAATGTTCAGCACAACAGGCGAAGAGGATGAGCTGTCGAGGTCGTCGGGCTCATGAAGCGTGTTTGGTTCGGGAATTCAGAAAGCGCTCGAAAGGTGGCGAAATTTCGCTGAAAATTGAGAAAATTCGAGGGATTTTCGCTGAACATCGAGAAATTTCGGTGGAAATTAGCTTATGTCCATGAAAAAATCGTTAAAATCCCAGAAAATTGCGATTTTGACTATTTTTGAGCATTTTTCGCCTTTTTTCCATGAAAAATTCAACGAAATCTTTAGGTCATACTCGCTCTCAGGAAAATTACCGCGTTTTTCGATGAAAAATTCGTTGATATTCGTTGAAAATTATCTATTAGAGATAATTAAAATTTAAAATTCCAGACAAAAAAATATTTTAAAATAATTCGAATTATTTTTGGCTCACACTTTCAAAAACCTCTAAATTCTAAAAAAAAAATTTTGGAGCCCCTTTTCCGGTCTAGAAAATATTTATTACCCAATGATCAAAATCCGGGAAAATTCAGAAATATTTAAGTTTTTGGCTATTTCTGACCTCACTCTTACTCCCACACAAAAATAGTTTTACCAAAAAAAACGGTAACAATTTTTGTCAAAAATTCGACAAAAAAAGTACCTTTCTGGGAAATATTTTTAATAATTTTCCCCTGTTCCGAATATCGATGTGAAAAAATTCAGAAAAATTTTCCGCGATTTTATATGATTTTTTGAAAATTGAACAAATTTCAGTTTTCCCCCCTAATTCCTATTTTAGTTCAATTTGATTTGTTCGATGGACTTGCACACGTTTTTATTAATCTATTTTATTTACTTTTGTTGATTTTTCCACCTCCCGATTTTTAATGTTTTCGGTGTATTTTTGCTTGAATTTTAGCACTGGGAAAAGTCAAAATAAATGCAATTTTCGATTAAAAAGCACGCTGCCCGGCGTAAAAATGAATAACGACTTTAAACGATTTCAAACCTGAATTAATTAATTTCACTGATTTGCGCATGTACGCGTTCGTAGATCAGTGAAATTAATTAATTGAGGTTCGAAAACGTTTACGGGCAAAGCACTTTTTAATTTTTACGCCTGTAAAGCGTGCTTTTTAATCAGAAACTTGCAATTATTTTGACTTTTTCTATAAAATTCAAGCAACAAAAAATACACCGAAAGCATCAAAAATCGATGGAAAATAACAAAAAATAAAATTCTTTAAATAAATTTAAAATTGCGCGAGCGCGCTCCATCGAACAGAACACCGCGGTAATTCATATAGGAATTAGTCAAAGACTGAGATTTTTGAGGCACCACGTTACGGTTTGAAAATCTGTTCCAAAAAGAAGTTCTACGTTTTCGGGATCTGGCACCGTGGCAACTGCGGTTTTCTCGATGAAAAACGTAACCACGATGCGATGTTACGCGTCGCGTGTTGTTTTGCGTTCAGAAAGTACATTTTTTGAAATTTTCTTCTTGATCCTGAGAAACGCTTAACGACACGCAACGCGTAACAGCGGAGCATCGATGTTACGTTTTTCATCGAGAAAACCGCAGTTGGCACGGTGTCCGATCCTGAGAACGTCGATCTTCCTTTCGTAGATTTTCAGAATGTAGATCTTCTTTTGGTAAATATTCTTTTCGTAGATCTTCCTTTCGTCGATCTTCAAAATGGAGATCTTCTTTTGGTAGATCTTCGTAGATCTTCTTTTCGTAAATCTTGTTATTTGAGCGTAGATCTTGCTTTTTGAACAGACGATATTTAGAACGTGGTGCCTCTGATCAAATTTCAAAAAAGCATATAAAATTGAGAAAATTTCCACGTTTTGAATTTGTTTATCAGCATATTTGGTCATTTTGGTACCATATACCCCTTTCCCCTGATTCCGAACAATGTGAAAAAATCGCTTCAAAAAACAAATCCCTGATTTATATTTACGCTTGAAATTGCGCCGAGTGATGTCAAATACGCGCGCATAAATAAATTCTCGACTTGGAGCGCGTTTGCCTCATTTAATTCCTTCTCCATATTTATTTTTACTTTTTTTTCAGTTTTTCACAGCTATTTTCATTCATTGTTATTGTATTTTATAGGTTTTTTTTATTGAAAAATAAATTTTTCCGTGTGAATTGAAACATTATTTGCATAAAAATGAATGAAAATAGCTGAAACACTGGTCCCAATAAAGTAAAAATATAAATGGAGGAAAATTAAATGAGGCGAACGTGCACCAAGGATAATTTAACGCCTTTGGGCGCGTAAAAAATCTCATGTAGTAGGCATGAAATTTAGGCGATTTCTAGCTTAATTATAACAGGGCGAAATTTTTTTTTTGATTTCATCGATATTCGAATCAGGGGAAAATTTGGAGACCTGTAACAAAAGTTGTGTTATGAAAAAAAAATGTATAATTTCTAAGGACAACTTTTTTTTTGTAGTTCTGATCACGCGAATATCACCTCAACGATTCGGCCGTCTGCTATCAGGGCAACGCGACAGGTGCTCCTAATTACATTCCCACACAGGTATTTTTCAGTGGAAAATTCACAAATTTTTCCACTACTTAAAATTCAAATTTCCTTTGCAGGATGACCCGCCCAAGAATGAATACAACAGGAATCTTCAGGAGACGCAGTCGTTGTCAATACAGATCGCCTATTTTTGTAGATGGGGGAAAACTAATTTTACAAAATTGAAAAAATCGTCGCCGAAAAGGTCTTGAGGGTTTTCGACGTTGGTGAACAGCGGTCCGAACGAAAAAGGTGGATTCATTGCCTCGAGGACGTGACGGCACTCATTTTCTGCGTTGCACATATGTCAGAATATGATATGGTTCTTGTCGAAGATTGGCAGTGCGATTTTCGAGTTTTTTGCTTTTTTTTCGTTTTTTTCCCAAGTTTAGGCTACCGTTTTTAGGTGAAAATCTCGGTTTTCTTGGTTAAAATGGTTTTTTTTTTGGCAAAAAACGCGCAAAAATTGAGGATTTTAGCGTGGCGTAAAATTGAGTTAATTACATGGAAAATTTCAGAAATTGAGTTAAAATTGTAGTTTAAGGATTTATTTTTGTGATTTTCTCGATTTTTGACCGTCGAAAACTGTTCGGAGTGAATTTCATTTATTACGCGCGACCACAAAATGCTGTGAGACCGCGTATTGCACAACATATTTGACGCGCAAAATATCTCGTAGCGAAAACTAAAGTAATTCTATAAATGACTACTGTAGCGCTCTGTCGATTTACGGAAATCGTGTAATCGATAAAGTATTTTGTTTAGAAAAAACACAAAAATGACAAAAAAATACGAAAATTGAATTGTTTCGAATAATCGGGTCCCGATCCCGTAAATCGACACAGTTGCCATTAAATTAAATGAAATTAATCATGTGTCGATTTACGGGACTCTCAATTGATATTCGAAACAATTCAATTTTCTTTCGTTTTTTTTTGTCATTTTTGTGTTTCTAAAAAAAGTTATACTTTATCGATTAATACACGATTTGCGTAAATCGACCCACAATGAGCTACACTAGTCATTTTCAGAACTACTGTAGTTTTCGCTACGAGATATAATTGCGCATCAAACATGTTGTGCATGACGGATTCTCAGCATCTGATTTTGTGGCAAGTCGCGCGTATTGAAAAGCTAAATAATCGATATTTTCTGATTTTTGCGCCGAATTTAATTTTTCTTGTTTTTTTTTCTGCGAAAACCACATTTTACTGACTAAATTCAGGTTCATCCATTTGTGCAAAAACTCCGTCGACGAAAGTGTATTTTAGCGTACTTTTAATTTTAAATTTTTTTCGCTCTGAAAATTATGAAAACAAAATTTTCTCGATTTTTGAACCGAATAAAACGTTCAAATTTCAATTTAAATCGAAATCGGGAAAAAATTTTCCGATTTTTACACCGATGATTATCGCTAATTTTTCCCACACCACATTTTTTGCGTTTCAGAATCGTATGCTAGAATCGCTAAAACTGTTGGACCGATTTGCAACAATAAATGGTTTGTCGAGAAGTCGATTATTCTATTTCTCAACAAAAAAGACTTATTCGAAGAGAACATCGTTAGAACTCCACTCATGCTTTCCGGAATATACGGGCGCCAATAATTACGAAGAATCTGGGTACATTCAACAACACTTTGAGGATAAATGAATAAGAGGACTCCTGCAGAGAAAGTTGGTGGTTTTTTTGAATTCACTGCACTTTTTCTCCTCACGAGGGGACGAGGAAAAGTGGTTTCTAGGTAATGGCCGAGAGGCCGACAAGTACTTTCCAGCAACATGGCCAGCGCATTTAATCTTCACGAGCTTTGTTTTCCGCCTGTTTGCGTCTTTTTTCATCGATTTTTTTCGTTTTTTCGTGAGTAAAACTGATAGAAAATAAGTATTTTTTGCCGATGCTAAAACAATTTCCCTCAAGTAAAAAGATCATGTATTCAGGCGGCAAGCCGGGTGAAATGGGCATTGTATGATGGATTACGGGAATACAAAACCTAAACTTTTTCTGAAACATGAAACATATGATGCTTAGATGCTGAAATTACTTGATTTTCATAACGAGCGGACCGGACCGCTGAAAAGTTTCGGGCTCAGGTTTCCACAAATCAACTTTTTGTGCGAAAAGCTAGACTTTTTCACCACAAAAAGTTGAATTTTGGAAACCTCAAAACTTTTCAGCAAGGCGGTCTCGTTATGAATATCAGGTAGTTTCAGGATTTAAGCAGCATATGTATCATGATTCGGAAAAAGTCTAGGTTTTGTATTGCGGTAATCCATCATATTGATTGCACATTGTTTCTCCGTAATCTGCTTGCCCACTGAATGCATAATTTTTTTACGTGGATATTGATTTAGCATCTGCAAAAAATATTTATTCATCAGTTTTATTAAAAACGAAAAAAATCTGACGAAAGCGGGAAAACAGGCGGAAAACAAAGCAAGATAAATGGCAAACTTGTCGGACCCTCGGCCATGGCGTAGAAACCACTTTTCCAAGTCGTCCCTCGTGAGGAAAACCATGTTGAAGTGAGCAAACTCAATTTTTGAATTTATTTTTCATGGAAATCGGAAAATCTTCAATTTTTCCTAATCAATGCCATCTCTACAGAATCAAGAAATCTACACCCAATTCATTACGTGCCACCGACACTAACAACATTCGATTCGTTTTCGATGCCGTCACCGACATTATCATTTATCGAGAAAACCTCCGCACGTGCGGGCTCAAATTTTTCCGCTAAATTTTTTCCGTTTATTCCCCCAATATCACCTCCGAGACATTTTCCAGTAATTATGTCACTGATTGCCACACACAGCCCTCCTCTCCCGTCTCCGCTGTGCAATGCTACGGATTCTCTTTTTTTTTCTTTTTTTTTCCTGAAATTCCAAGGGTGTCGTTGAAAATCGAAAAATTTGAAAAATTTGGGTTCTAAATTTTAGGAAAAGCCAAAAATACAATTTTTTTGATTATTATTCCGGAGAATTCGAAAAATTTCGATATTTTTTAAATTTTTTACAAAAAATTCGAACAATTGCGTTGGATTTTTTCAGGAAAAAGCCAAAAAATTACAATTTGTGTTTAACAAAACGAAAATAAACCAATTTTTCTGATTTCCGGAAAAATCAAAAAATCTCGATTATTTCCAGAAAAATTCGAATAATTTGGGGCTTTTTCAAAATAAATCTTAAAATTTGATTTTGTCCAGGAAAAATCGATAATTAACTGTTTTCTTTTTTGGCTTCTTCCGGAAAATCCAAAAATTTTGCATTTTTTGGATTTGTTTTCAGAATTAAAATTGGAAAATGGATTTTTCAGGAAAAAGCCTAACAATTTCAAAGCTTTAAAAAAACTTTAACAAATTGATTTTTGAGGAAACAACGAAAAATTTTCCGACATCTTACGTTGATTTTTTTTTTACCGAAAAACAAATTTATTTTTTCCAGGAAAAAGCGAAAAATTTTCAATTTTTAAGGAAAAACTCGAACAATTTAGCCTGATTTCGAGTTGATTTGCGTTTATTACGGAAAAATCGAAAGTAATTTTGGTTTTGAGCTTAGAGTGAAAACCCATAAGTTCAATTTATTTTTCAGAAATCCAATTATTTCAATTTTTGAATTTATTCAAAAAAAAAAAATGTCGATTTTTTCCAGAAAAATCGAAATTTTTCGTTTTTGAATGAAAAAAAAATTTTCCTTCAATTTTTCCTTTAAAAAAAATAAATAATGTTCGAATTTCCATGAAAAAAAGTCAAAAAAATTCAAAATTTTCCATTTTCCCTGAAAAGTCAAAATTTTCCGAGTTTCCTAAACTAAAATCCCAATATATTTTCCGGATTTTCCAATTTTCTCTGAAAAATCGAGGATTTTTTCCCGCACACCTTACCCTGCTGTTCACGTGGTGGTCAGGTTGTCTCATTTTGTGATCTACAAAAAATGAGGCCGGAATCTTTCCTCCCCCGGGAAAATCTGACGTCAGCGCACTCGTGTAACCATGCAATCCCCTGCTGATAAGTCTGCGTCTCTTCTCCCGCCGCATTTTTTGTAGTTCAACGTGTAGATCAATAATGAGACCTTGACACCACGTGCCGAAAGCCTAAACCAATATTTTACCGGTAGCTTCTGGCATCTCTACAACCACTGTCTGAAATATCGCGTCATTTTATATTATTATTATTTATTGTATTCGCTTGAACGGCCAAACAATTCCGCCATTTGATTCAAAAAGTAAACATTTCCGAACTTTTTAAAAATTTGAAAAATATTTTTAAAAAATTGTTAGCGTGAAAAACTTGTCCCCCCACCCTGCCTCTCCATAAAAATTAAGTTCGGAAGAATTCAGTCCTTGTTGTTGTAAATTGACGCAATGCGCTTTTTGGTGGTACCTATTTTGCATATTTATCGTCACTTGCGTACGCGAGGTATTGATTCAGATTCCGTCAGTTTTTTACAACAAAATATCGCTAAGCAATCACTCCAGCGCGAAACTTCAAAAGCGAGAAAGGCCAAAATGTTTTGCGTCGCTTTCTATGATTTTATGACGAAAAGCGAGGAAAGCTAATAAAAACAGCGAAAACTTTGCCAGGAAATTTACCGGTTTGCCGCTTTTTTTGCGCTAGAGCGCGATTGCTCACTGAGTTCAAGCGCCCTTCTTATTTTGAAATAGAAGAGTTTGCCGAATTAGGCTATTTTGGTGCGGCACGGCTGGGGTCAATTTACGGCGCGTTGCGTGCCGCGTCGCGGTAGGTGGACCACGCCTTTACCACGCGTAGACGATTGTCACTATAGAGCGCCGAAAATGTAAGGCCAGAAGCCGGTATGAGTGAACTTTTTGTTCATTATTTTTTTTTTCGTCGTTTTTAACGGTTTTTATGTTAAAATCAATAAAAACGGCGAAAATAATTAAGCAAACGATATTCCGGGTTTGGCGCTTGCTTTGCGCTAGAGCGCGGTTGGAGTGCTCACCGAGTTCAAACGGCGCACTCTGGCTTAACTACCCTATTTTGAAATGGAAGAGTTTATTAGGCCTATATTTTGTCCGGTCGGCGGGTAGATTTACGGGGCGTCGCGTGTCGCCCGCGGCTCGATTTTGATTGTAAAACTAAATGTATTTGTCCGTGAGGAGTACACGCGACTTTCCCAATGCCGCGTTGTCCAGCAGGTTATTGCCAATGGAGCGCCGAAAATGCAAGGCCAGAAGTCCGCCGTATAAGTAGCCCATGAATGAGTGAAGTTGTTGTACATTTTCAGTGCACTTTTTGTTTCGTCGTTTTTCTGGTTTTTATGTGAAAATCTGGCACAGTCTCCTGTCATCGAAAGCGCACAAAAAACTGCCTCGCGTTTGAGGTCGCGTTTTTGCTAGCGCATTTTGTGGATTTCTCCGAAATTCAGAAATTACGCGGCAAATGGCGAGGCTTGAATTCCAAATTACAGCCCCGCCTCTTTTGATACATTATCTTCAGGATGAAGATGATCGCTCCGAAAGGTGGGTGACTCTGAATGAAAATACAAGAAAATTATGATTTCTTCAGAGAAACACCATTTTCACCGTTCATTTTTTAATATCCCTACGCCTCCTTCATTTTTTGACCAAATTTTCTCTTTTAATGGTCTTTCATTTCATTTTGTGCTAATAAACAAATTAAGTTCGACATCTGCGAAAAAATTCGTTCAACGCTAAAAAACGACGAAGTTTTTTTTTCAACACTAAAAAGAATATTCACTCCTAGCTCCGCCGGCTGTACCAATGTGCAAGTGCGCCCCAGCCCACTTCGACGCCGAGGAGACTGCGAAATCATTAAAAACAGTGAAAATAACGGAAATTCTGAAATTCCGGGTTTCGTTTGATAATTTTTTGCGCTGGAGCGACTACGATTGCTCACCGTTAAAATAGCGCACGCGCTTCTGGTTTCCCCCATAAATTGAAATGGAAGAGAGTTTTCGCCGAATTAGGTCATTTTGGCGCGGCCCCGACCGGGGTAGATTTACGGCGCGCTACGTGTCGCGTCGCGGATCGATTTTAGGTGTCAAACTAAATGTAGTTGTCCGTGTGGAGGGGGATACACGACTTACACTCCCGTCCGGCAGGCGATTGCAAGTGGAGCGCGAAAATGCGAGGCCAGAAGCCCGTATATGCATTTTTTTGCTGAGGGTCCCGCCACGACATTTACCCTTTCAGTCACGTGTATCAAAGAGGACCGGGCAATTTGGTCAGAAGGAAAATGAGAACTCGCCACGCCAATCAAGTTCTTTTTATCGATGACGGACAATTGCCAAAGGAGGGAAACTCATCTCGTAAGAAAGGGAATTCTTATGAGCTTCGGAAAATCGATTGAAGTATCTGACAAACGGATATGAGACTGTGAGACTTTTTTTAATACTATTGGGTCTCGACGCGATTTCCCACGGATTTCGGGCTTCCCTCATAAATTGAAATGGAAGAGCGTTTACTTGCCGAGGAACTAGGCCCAGGCCATATCTGGGGTAGATTGCTACGGGCGTTCCTTGCGTGTCGCGTCGCGGCTCGATTTTAGTTGTAAAACTGAAGGTATATCGTCCGTGTGGAGTACACGGGCGCTTGCCAATGGAGCGCGCTAAAAATTCAATTTGTGTCTCGCTTTTAACGATTTTATCGATTCTTGGGTGCTGTTCGAACAAGCTCTGAGTCGTGTCACTTGAATTCAATACGGAACACTTTCTTGTGATCAATTTTTGGATGAGAAGCTACTATTTCATGACAAACGGTGAAAATACCAGCTGTCATACACCGAAACCAACCATCAAACCCGAATTGAATCACTTTATTCGGTTAGCAGGAGAATATCGCTCCATCGCAACCATGTTTTCAGCGAATACTTCATCCAACTGCGGCCCCTCCAGCGAACAGTCAAAGAGAAACCTGCGTTGATCATGTTTGGGGATCAGTCGAAACCGCGAGTTTTAAAGTCGAAATAATCGAAGAGGGAGAGCAGCGCTGAAAGAGAATTCGGGGAAGAAGTGCTGAAAAAGTTCCAGAAAATTCGGACTGAAAGGTTAGAGCGGCGGCGGTGAATAACTCGACGGAGTGGACACAGACGGTGAAGGATACTCGGAGACTAAAACATCGTAGCGAGTGAGTTTGTGCCAAACGCTACTCAGATGTACTTCCGCTTCCGTGAGGACACCGCGTTTGATCTCTGAAAATTGCGAGAGTCAGCCCCTTCGTGTAAGTTTCCCGCAATATTTGAAGGTTAAGCAGCGAGGTCCTCATATTTTGAAGAAAGAACTTTATTGCCGTCTAATTCGGAGTCGATTTACGGCGCGTTGCGTTGCTTGTCGCGTCGCGTCTCGTGATTCGCATATTTATCGACACTCGCGTACGCCACGTATCAGATTCCGTGAGTTTTTGCAACAAAAAAATCGCATATGAGCAATCGCGCTCCACTGGAAAACACCCGAAAAGTTTTGAAATTGGGGTTGTCGCTTGTTTTGCGCGCTAGAGCGCGATTGCTCGCCGAGGTTTCAAACGACACTCTCTGGTTTCCCCCTTGTAGACGAGCGTCGCGGTTCGGTCCAGCAGGCGATTGTGAGCGCGAAAAACACGTGGTGTCAACAGTGTCCCATTATGGTTTGATCTTTGATAAATGTGTACGGGAGACGACAGACACCGACTTCTCAACTGATTTCGCGGCAATGGTTAAAAGTGTTCTGACGTCACATTTTTCTGGCATTCAAGACGCGAAAAACTCCCGTATTTTTTGTAAATCAAACCGGATTAGGACAGCCGAACGTGGAAAAAAGGCAAGATGACAAGGGCCCAAAGGTGACCCACAGAAGCCCGGCAGAGTCTCGGTTTTATCAGTTTTCGAGTAGTTTCGCACCACAAAAAGCGTGTGACGTCACATTTCCGGCCGCAAAATTCCCGCGCTTTTTGAAGATCAAACCGGAATGCATTGTTTCAGAATCTACTCTTTGTCTCTCGTTCATTCACCTCGGTTTGGGTATGGTATTGATCGTAACGCTATCGTTTTTTTGTTCTTTTTCAAGTATTTCAAGAAGTTCAACTCGACGGTGAAGAATGGAGATCAGGTGTATAGAGAGCAGGAATCGGCTGAGACTGATGAGAAGACTGAGAAGACTGAGAAGCGCGAAAAACTTTCTATCTGCGTGTGTCACTGCAAATAAAGAAAGGAATTGAAAATAAAAAAAAAAAAAATTTTTTGGGAGTTGCATATATGCATGTGTCGTGGTGTCCGAGTGGATTATTTCGGTTTGATCTACGTTGATAATCTCTCCAAAAAATGCGGGCACTGATTTTGCATGGATAAGAACGTGCTGACGTCACATATTTTTGTGGGCGAATATTCCGGCATTTTTTGTAGATCAAACCGTGATGGGACACGGTCTGGCATCACGTGTACTTGTCGCAATAAATGAGGTACAACATGTTATGCCGTTATCCTACAGTACTATAGGTGAACCCCGCACTTTTTGGCCTCCAAAAATTGGATGTTATAGGTCACAAACTTGTAAGGAGTCGTGGACATGAATGTCAAGATTCAAATTATTCAAGTCAAAAGGATGATAGCGCAGACACGTGCCCCCAACTTCGGTTTTCTACTGTGTAGATCAACAAAATGCGGGATTTAGGACGCTGAGTTCTCCACTGATTTTGCAACAAATTCCCGGAGCTTTTTTGAAGATCAAACCGGACAACCTGACACCAGGTGAAGGAATAAAACACGCTCTTTTGCCGAAATCTTAAGAGTTTCTACAATTTGAAAATCCAGTATTAGATTTTCTGAAAAAAAGTCCAAAGTTAAATAATGGACGCTGCCTAGTCTTTGGGTCCTCCTCTAAAAACGCCCTTTACAAAAAAAATCTATAGTTTCTGAAAAATAAGTGGCAAATCTCTACAATTTTCAATATTTCATACTAAAAAAATCACAAAAAATTATTTTATGGCCGCGCTCGAGTTTTTTACTCTTCCTCGTGGTGTCAGAGTGTCCAATTGCGGTTTGATCGACCGTGTAGATCTAAATTCGGGATTCGAGAACTGAATTTGCATGATTGCTGACTTCACATTGTTTTGGGTAAAACTAATTTCGGCATTTTTAGTAGATCAAAAAAGCCTGGCACCGCGTGCGCAGAGAAGAAAGAGCTAATGAGCACGGGGTGTCAGGAACGGCTTGATCTACAAAACTTGCGGGAGTTTTCAACCCAAAAATATGTGACGTCAGCGCGTGCTTAACCATGAAGAATCAGTTTCAACTCCCGCAATTTTTGGATATCTAGGATCATAGATGAAACCGAAATGGGACACTCTGAAACCCCGGGAATGAGCCAATTGAGCAAAAGTATGCGAACTGAAGGAGGCATCGTTTTATTCGCGCAGAGGTTAGTTAGACGAATTGAATAGGCAAGAAAAAATAATGTTTTGCAACATAAAAGTAATGTACATACTAATGGAAATAAATTAATTATGGGGGAGCTTCATTATTACAAGTCGACGAAGAGCAGCACTCGTTCTTCTCCTCCTTTTCCTTCTCTTTTTCGTTTGGAACGGAGAATTCGACTGGGGTTTCCACATTAGACGGGAGCTGGAGCATCTGAAAAAAAAACGCGAAAAATGGTAGACTTGTCACACGTTTTCCAACCTACTACCTTCTCAAAATAAGACTGGAGAAGAGCGGTAGTACACTTGAGCATGTTCTTCAACAGTAGCGACTCGTAGTTTTCGATCGATTCCTGGAACTTTTGGATCCACACACCGCTCCTTGTCCGCCCTGTCGGCGACATGTAGGGTGTAGATGCCCACGACCTTGGTAGTAGCGGGTTTGGTGAATTATGACGAACGCGAATCTTAGGGACGGATTACTAGAAGAGAAACACACTTATAGTGACAATACAGTAGTCCTAGAAGGTATTGGTAAGGTACTGAGGTACTGACTGCGCTAATTTTTGTACGTTACACCTTTTCCTGGAGTTTTGCAGACCTTCAAGAAAATTCTAGCACTTCCCATTTTCTCCGAAAAATTCCTGCACTTTCCAGATTTTACCAGAGAATTCCCGCACTATACAGATTTTTCTAGAAAATTTTGTTTTTCTCAGAGTTTTACGGCTCCTATAACTACAGTAACCCTACAGTACCCCCCAGACCATATCGCCCCTACCCCAACATACAACCCAATACATCAAAAGACAAAAACTCAAATTTTCCGGAACGTAACCCTATAACTCCTTTAACGTAGACCTACCGGGCCCCTACAGCACTGCTGCAGGACCTTGAGACATAACCCCCTACCAACATACAAATACCTCTTCGAAAGCTGGGAACTCAAATTTTCTATACAGTAATCCCGCTACAGTACTTCTACAGTACCTCCAGTACTACTACAGTACACCGACCATATCCCCCACAAACGCTATACAAATTTTCCTTCAAAAGACAAAAACTCAAATTTTCCCAAACTACAGTAAGCCTAAGCAGTACTCCTACAGTCAGATCCCCGACCTTCCGATATATCCCCACACCAACATACAGCCCAATGTTCCTTCAAAAAACAGAAAAAACTAAAATTTTCCAAAACTACAGTAACCCTACAGTACTCTTACAGCTAACCTCTACAGTACTCCTACAGTACCTGGACATCATCCTTCACCACTTCCAATCTAATACCTCTTTAAAAGCTGAAAATTCGAATATCCTATAACTACAGTAGTTCTACCAGTACTCCTACCTCTACAGTACCACTACATTACCCCCAGTACCCCTACCACATCCCCCCATCTCTAAACCAATATCCCTTCATAAGCACACTACAAAGACTACGTGGACTACAAACTATGTATGGTCAGACGGTTTATTTTTAATATGAGAAATGATGATGAACTAGCTGATATATACTACTATATGTACTGACACTGATTCACCAAAATTAGCGTGTCAATTCAAGATAGGGGTCTTTACGGTACTGGTATGGTACTGGTCCGATACTAGCCCCAGTTCTTTAATACGATTCCCTAAAATTGCTGACTCGGCGTTCCTGGTCGTTGGAGTCCGCATCACTCTGACGCAAAAATCCATACCTCGTTCGGTAATACGATCCGGCGCTCAGATTTCCCGATTGGGACTGGATCCTTTCTGCAACTCTTTGTCTTCAGTAATAAAACATGGAGAGTAATAAAACTTCGCGGGACTCCTCACCACTTTAAGCTTCGAAGGGCACTTTTTAGTTTTAGTCAGCACAAACATGTCGTTCAATAGAAACGCGTACATGTCAACGGTCCGCCCGTTTTCCACAAGCTCGAGGGGGCGATCTTCGTGGATAAGCTCTCGACGCGGATGAGCCAGTAGGTTCTCGCAGAATTGACGGATGAGGCGACGCGGAGGAACTGGTAAAAAATCAAGGGAAAATGTTGCGGGGAAAACAAATGTTTCAACTTTCATCATGGACATAAGACTTGGCAAGTCGCTTATATTCGGCCAGACCCCAAACCTGTGTCTGCAACTGCTGAAGCCTCTCAATTATGAAGGCGCCACTGCACACTATAATCAATCGATCGGTGGCCAGTGTTCCGTCATTGTGTCGATCATTCTCCACCTTTCCCTTACTCGCCTCTTCCTCCGATCTTTTGTGAATCTCGCGGAGAAGGATCGGAAGCCGAGTGATCGTCGTTGGGTGCGTCAAAAGATCCTCGAGCCGTACACGGAAGCATCGTTCATCGGCCAGACTTTATCCGCTCGAATTCCGTGAATCGTTCCTCTTTCTGTCGCATTGAGCCGAAATATTCCATGGTTGCGTAGTTGATGCAGTAGGCTTGGTAGGCGAAATTGTGGAAGGGCGTTTGCAGAACTGGAAGTTTCGCGTTATAACAAGGCATAGTCTCAAGCTATTTTCTCTGCAGCCTATCCCAGCTGTGGTCCTGGTGCTTAACAGTCGTGATTTCTGCTGGAAAACCGGTCTAATCCGGACTACGGAAGCCTGTGTTTTTGAGTCTAAACGACAACATTGTGAGCGGCAACCAGGTACGCTTTTTCATACTACTTTTTTTTAAACTGTTTTTTTGTTCTTTTTCGGCCAGCGGAAGTTTTTGACCCAACTTCGAAATGTCCCTTTTTTTCGCACTTGAGTTTGGGAATTTCTAGAAACTTCCCAGTATTTTCTCTTTTTCCCGCGAAGCCCCTTCTAAACCTGGGCCTAGGCCTACGCATAAACCTAAGCCTACGCCAAAACCTACGTAGCCTAAGCCTAAAAAGCCTAAGCTTAAGCCTAAGCCTAAGCCTAACCTAAGCCTAAGCCTAAGCCTAAGCCTTAGCTTAAGCAGCCGAATGCCTAAGCGTAGGCCTAAGACTGAGACTATGCCTAAGTCCCAGCCTTTACCCAAGCCTAGGGCTAGTTGAAATCCTAAAGCCTAACCCAAACCCTAAGCCGATAATTGCCTAAGCGTAAGTCCAACATACTTAGGCCTAAGCATTAAGCCTAACAAGCATGTCCCTTTTTCTGGCAATTTTAGGAATTTCTAGAAATTTCACATTTTCTCTTTTTCCAGCCCCTTCTAAACCTAGGCCTAGGCCGCATCAACCTGAGCCTACGCCTAAACCTAAGCCTAAGCCTAAGCCTAAGTCTAAGCCTAAGCAGCCTCAGCCTAAGCCTAAGCCTAAGTCTAAGCCTAAGCTTAAACCTGAGCCCAAGCCTAAGCCTAGGCCTAAGACTAAGCTTATGCCTGTTCCTAGCGAAGCCTTAACCCAAGCCTAGAAGGGGGCTAGTTGAAAGCCTAAGCCTAACCCAAAACCCTAAGCCTAAGCCTAAGCCTAAGTCTACGACTAAGCATATGTCTAAGCCTAAGTCTAAACCGAAGCCTAAGCCGAATCCCAAGCCTAAGCCTAAGCCTACGCCGACGGAGCACGAGGAGAAAGTACATAACTTTGTCACAAAAACAAACATTTCTCAATATCGGTCAGTTTTCAAAAATATTTCGGGTAATTTCTCAGGACAAATAACAAAAACCCACCCTTTCATACAAGTCCACAACTAGCTGTGTGCCAATTCTCCTTGTCTACCGGACTGAGCAACGAGAGGAACGATTGACAGAAGGCGAGTATTCTGACAAAATAAAAATGTGTGTGTGTGTGTGAAATGGCACGTCAGATTAAAGGGAAATAGAAAAAAAAAATTAAAACTGAAGGAACCTGCAGAGTTGATCCAAATTTCGGAAAAGGAGGGTCCGGCTCGACAAGAGTAGACATCCCTGTTCGACTTGACATCTCTTCAGCGTCCTTGTAAACATCGCGGAGCACGAAGAGCTGACGATAGAGGAAGACGAGCCGTGTGGAACAGCTCCCATAGCTTGAAGTTATGTGTGTCTGGATGTGGGAATTGTCGTGGTCTCGTCTCACATGAACATTTCCTCAAAGGATACTGGCTGAAAGTTGGATTTTTTTTTGGAATTGGAGCGCGTTTATGGGCTCGTTTTGCAGTTTGTTTATACCCTTAGACATTAAAAAGACATCAGCAACAAAGTCCCACAAGTAGTAAACAAGAGAGATTTTCTCTAACACGAAAATGTGAGAGAGGAATTTTTATTCGAAGCACCATGTTTCTCACTCAAATTTGACTACTCATAACTTAGGTAAACTTAATCCAATACTTCCTTAATAGCTAAAAATTCACATATTCCAACAAACTACAGTAAACTACAGGTACCCTACCGTACCCCTACAGTACCCCGACAGTACCCATACAGTACTTTGACAATATCACCAATCCACTCCCTACAAAATCATCAAAAACAAAAAATTCACAATTTTCAAACAGTAAGTACCCTAGAGTGATCCTATAGTATTCCTACAGTACCACTACATTACCTTGACATATCCCCCTAAACCAATTTCCACCCCCAGGAAGCAATACCCCTTCTAAAACTAAAATACCCATTTCCCAAAACTACAGTAACCCTACCGTACTAGTACCTGCAGTACCACTACAGTACCATTAACCTTGACATTATCCCCCTCAACTTCCAATTAAATACCACTTCAGAAGCTAAAAAATCAAATTTTCCCGAACTAAAGTATCCCTACCGTATAACTACAGTACCCTACAGTGCCACTACAGTACCTTGACATTATCCCCCTCCAACTTCCAACCCAATACTCAATCAAACGCTAAAAATTAACATTTTCCCAAACTACAGTAACCTTACCGTATTCCTACAGTACCCCTATAGTTTCACCTACCAACAACTTTTCCAGCTCATGATCCTCAATCTCATGATCCTTGAAGTCTCCAACGGCCTGAACATGCTTAAGAATCTCACTCCGTTTTGCTCGCTGCACCACTCGTAACGTCTCTTCAGTATCCAGGGCGATCGATTTTTCTGGGGCTGACACAAGCTACTGGATAGAAGGCTCGAAAGGCTATTGTGGCACGTCGGGTGAAGATCTGAAAATGAAGAATCGGTGGGGATCCGTGGTGTCAGCGAGGGAGAAGATCTATTTGGTGGGGTGGCATATAGAAGTGGGTAGTAGCGGTTTCTTCGTTTGTGTGATCTTTGTGTCAATAGACATGATATTAGGGCTTCGGTGGTAGGCAGGTGCGGTTTTAGGGCCTGGCTCTTGCCTGACGCCTGCCCTTCTCACGCCTGCCTGGCGCCTTTTATCATTTTGAGACAGTGAGTATAGGTTTCAAACTTCAAATTTTCTCATTTCTATCATTTTGTTGAAAATCAAATTAAGAAATGAAAAAAAAGTTTAAGTAGTTGCATTAGGCGTGTATTTAGGAATTGCGAGAGGCAGGCGGGGGTCGTCAAGTCAGGCAGGCAGGTCTTCTTATGCCTACACCTCCGGAAGGTGTTCAAAAATCGGTTGCGGGTGTCCAGCAGTAACTTGACAAGAATCATACAAAGCATTCGACTTTTACACAAACCTGACTAGGCTGTGTATTCCACCTGTACAAACACCTAACGATCGATGTACCTGATTTTATTTGATCTGAAAAAAAAATTTCTCAGAAAATTTGAATTCAAAATGTTTCTTTGAAAGTTTGAATTCCCTGCCAAAAACATTCTCAGAAAATTCAGGTTCGCCAAAATTGTTTCAGATTTGAAAATTTAAATTCCCGCCAAAATTTTTCTGTGAAAATTTGAACTCTCGCCAAAATGTTTTTTGTGAAGAAATTTGAATTCCGATACACAAATTTTTACAGAGCATTTGAATTTCCCCCTACAATTTTCACAGATCTTCTTATATATACATATATATATATATATATTAGTTGAACTTTTGGGCAGTTTTCAAAAAAAAAGTCCGGTGATTTATTTAAGCACGTGGTGGCAAAAAATAATTTTTCGGCTTGATCTACGCCGATCTACTAAAAATGCGGGAGACGCAGAGTTCTCAGTTGATTTCTCAAGGTTAAGAAAATTCCGGCATTTTGTACGATATCAAACCGTAATGGGACAGCCTGGCAGATTACCACGTGCTAAAGTTATAGTTAATTTACAAGTCCTGGTTGCAGTGGACCTGCAGGATGTCATGAAGTAGCACGTGTTTTCTGGAAAAAGTTGGTAAACTTTCATACGAAGAGGAAAGTGTAATCGATATTTACTTGACCATTTTTTTGCTAAAAAGTAAGAGTCTTTGAGCCAGGCCGGCGATCGGTAATTGCCGAAAATCGGCAATTTCGGCAATTGCCGGTTTAGTGCAAAGAATTTTTTGGCAATCGCCAATTGTGGCAATTGCCGAAATTGCCAAAAATTCGATTCCGCACACTCCTGCTTTGAACTGTGAATTTCCAAAATCCAATCGAAATTCTGCCGACACTGTACAATCCCTACCTGCCAACAATCCGCCGGAGCTGATTGCCCAAATTTATTGAGGTGACTCTCGTTAGGGGATAGATTTGATCATGTGGGACAATGAGGTCACATTGTCGAGCAGCACCCTTCGGATGAGGTCTCCTGATTCTCACTTGGCTGATCAGGAATGATTGCATGGCGTCGGGAAGGTTGCCTTATTAGGGTGACTTGTTTGGGCTCTCCTTCTTCTGGCTGGAAAAATACAATTTTTTGAAGTTAAGATTTGAAAAAGAAAGCTGTCATTTTTTTGTTGGTATTTTTTACCCTAAAAATGTGGTTTCAAAATATTTTTACATCTGAATATCTATTCAACGGGGTGAACAACTGCAGATCGACCATACTCGAGCTTCTAAAAGTTTGAAGGACGCTTCTCGTGAAGAAAAGAAAAGAAACACGATATAGTTACCCCTACATCGGAAGAGGATGGGATATACTGAGAAGTAAGAATAGGAAGAGAAATGAGAAGAGTTCATATGCACTAGAGAAGTATGTACAATATAATAATTTATGAGCATCTGAGAAAATGAGAGCTATTTGAAAATCTGCAGAGCAAGATAAAACTCGGTCTCTTATCAGAAAATTTGAAATCCCGCCAAAATGTTTATTGTTTAATTTGACGCCAAAACTTTTCACAACGAATTTGATTTCGCCAAAATTTTTCTCAGAGATTTTGAATTTTCCCGCCAAAAGATTTACCAGAAAATTAAAATTCCCGCCAAAACTCTTCACCTCGAATTTGAATAACCCGTTTTTTCTCAGACAGTTTGACCGCCAAAATTTTTCACATGAATTGAATCTTTCGCCAAAGATTAAAATCGTTGGATAATTTTCATTCGCGGCTGGTTTCCAAATCGAATTAAGAACGGCCAAAGTTTATCGGGGTTTTTTTTAACACTTACTACGAAAAAAAGCATGATATACATTTATTTTCCTAACGACGCCTGGTAAAATCCGCTTTACACATCAAAAACTTCTCGGCAACATTGCGTCACCGCCAAAAGAGATGCTTGCACTTCACCACGAATAATAGCTATGACAAGGCAATGCGTGTAGGGAGTTGAGAATTACAACTAATTCATATCCCCTGAAAAAATAAAAGCGCTGTTGTCTATATGATTCTTTACATGGTGACAGCTTACCGAAGAATAGACGGGTAATGAGATATATATGTGATTCATAAATATGGGCCTGCTCCCGGGTATCCGAGAGCCGAGTCGAAACAGAAGGGGAGCATGAATGGAGCAACTAGGGAAAATTGTGTTATCACGATGAGGCACGGCGGGGGACACAATAGATTTTTTTTTTGTCGAAAACGTTTTCCATTTTCACGTGGTTGGCGCATTACGATTTGAGCTACCAAAAACGCGGGAATTTTTCCCCTAAAAAAATGTATCGTCAGCACGTTGTTTACCATGAGAAATCAGTTGAGAAACTTGTTAGCGTCTCTTCTCCCGCATTTTTTGTAGCTCTAACTTGATCAAGCCGAAATGAGACGCTCTGACACCACGTGACGAAAAAAAGTAGATCAAAATTTGCCAAGCCCTTATAATACTCCCTTTTTCAGATCTAGGCGGAGCTCAGTTTGACTCTGATGACGTTAACGCAAATCTTGAAATTTCGAATTCTCTATGGAGATTAGAACTTCCCGCCCCCGCCAGACTTTGTAAAGTTCAACATAAAGATGAAATATAGAAAAAGTTCAGACTATGATAAGGAACTTATGACTAACGGCTCTTGAGGTGAATGAGTATGATGTGATTAGTGATGCAAGAGGTGCCGACTAGAGAGAGAGCTAGAGCGACGAGAGGCTCAGAGAGGGGGGAAACGGGAAGGTAGGTTTGTAGGTAGGCAAGGTAGGCAAATAGGGGGTCGGTATCCGAGAAATAAGGAACCTAGGTCGGCAGCCGTAGGCATAAAGTAGGTCAACATCCAAGTAAGTTAGACAGGTACGCAAAGATAGGAAGGTAAGTAGCCGCGGTGGCAAGGAGACTAAAGGAGTAGGACAGGAATACGTAGGCGCAGTAGGCAGACGATGAAGGTAGGTGGGTAAGCTTGTGAGAAGGCAGTCATAAAGAACGTCGACAGTAGATGCACTTAGTAGGTAGGTATGAAAAAAGAATTAAGGTATGCATAAGGAAGTAAAGTATGAATGGATGCAGCCGAACATGTAGATACAGAAATATCAGGCAAGTAGGAAACAGGCAGGCTCATAATATAGGAAAGTTAGCATCGTAGGCAAGTATGTAGTCCTGGGTAGGCATGTAGGTAGACACGTGGTAGGCTTATGGTTCGATATGCAAAAGAGCAAGCAATCATCAGAAATATGCATATTGGCAAGTATGTAGGCACGTGCATAAGATACAAAAGTAGACCAGGCATGTAAGTAGGCACGTAGGTAGGGAGGCTTGAGGCAGCAATGTAGGAGATCTGGTAAGTAGGTATGAGTATAAGTAACCTAGTGGTGGTAAGTCACAGGTATTTGGCACAATCCTGTGGTCACTGTTCTCAATGGTAATCAGGCGAACGTGCCTGCCTGCCTCCTTAGAAATTCGGTAAAAAGATTGTGGAAAAACAACTAGGGGAATTCCCATCCATGGAGTCCAATGCGTAATGTGAGTGGGAGGCGGCAAAAAAAAAGCGGACGTAAACACTTTTTCCTAATTCTCTTATACTCTCGCTCGTGGAAAATGTGAATATTTGATACAATTTTGTGGGAAAGTACAGCGAGCAGAAGAAGAAGCTGATGTCCCGATCGCGCGCGCGCGAAAAAAACTTTCAATTCCCACTCCCCTAATAATCCGCCTAACGCCTAATGTTTGTCAAATTCACCATGTATCGTTTTCTCACCCATCGGCTATGATTGTTTTTTTTTCTTTTTCAGCAAAAAAAACGGGCACATGAGGTCGGGATGGATAATTAGGGATGTGTGCCAATTTGGCTGATAGACAAAAAAGGAGTACGTGAGATTTTTAGAAAAGGTTGTTGAGAAAATTATCATGAGGCGTTGGGCACGTGGCCGCGAATGAGAAAACTAGGCTACCTTCACGGGGCCCCCATGGCCTTTCTCGTTGGAAAACTTTTCGCGATCTACTGACAAACGCCCGTGTTCCACACGGACAAATTCATTTAGTTTTGCAGCTAGAATCGATCAGCAACGCGACACGCAACGCGTCGACTAAATCTACCCCGAAGATATGGCCGCTCTTTAAAATGGCCTTGTTGGGCAAACTCTTCCATTTCAAATTTTTTATCGCCCTCAGTTTAATTTTTTAGGATACGCCTACGAGTGATCTAGGCCAGGCAGTAGGTAGGAGTGTAGGTAGCCCCCTTTTGGTGTCAGGCTGTCACATCGCGGTTTGATCTATCAAAAATATTGGTTCTCCCAGTAGAATGTGAAGTGAGCACGTTCTTAATCACGCGAAATCAGTTGATAAGTCTGCGTCTCAACCCGCTCCCGCATTTTTTGTAGATCAAGCGACGTAGATAAATACGAAATCAGACACTCTCGTGGTGGCAGAGCTGTCCCAACGCGGTTTGATCTACTAAAAACGCGGGAACATGTGCCCAAAATTATGAGACGTCAGCACGTTCTTAATCAGGGAAATCAGTTGAAAATAAAGTCTGCGTCTCTTCTCCCGCATTGTAGATCAAAGTAGACCACATTAAGACCTTCTGACACCATCCCCGAGAAGAGTTCAATATAACTTAGCTCGTAGAACATAAATTTTTCCACGTGGATTTTACAGCACAATTGCTTAGAGCCACTAGCGCGGTTGCCCAAATTTTACAGGAAAATGAATATTCAGGAAAATTTTACCAGATTTCCCGCGCAAGACACGAAAGTCTTAAAAAGTAGGAGAGCATGAAACTAAGAAAGTAAGAAACTTCTGGTTTACCACATAAATCAAATTGGAGATAGTCGACCTTAAAAATTTTGCACCAAACAGGGCGGAGCCAAAAACACCAAAAGTTACGCAAATTTGTACATGAAAACTAAACACCTAAAACCGGAGGACAAATATGAAGAAAAACGCTGAAAATGCGCAATGAGACTTTTTCCTCCGTTGCTTAATTTAATACATGTCCTCTCCCCCTTCCTTCCTGCTTTCACACTCTTTCGGCGTCGCCTCCTTTTGATTAGAGACCTGAGACTTTTTTTTTTGTGATTGCGTTGAGTAGTGTGGGATGCATATATTAAATCAAAAATCTGACATCAAAAATATCCCTGAAAAAAAACGTAGTTAAAATTTGCTTTAAAACTGCCGATGCGTTTGCTATTTGATCTACAGGGTGCTTTGGCGCGTTCGCGTCGCGGTTTGGAGTTCGAGGCGACGGCCATTCAATTTGACCCTACTACAATAGAAATATTTTGTAATCTTAGGCCATCAAAAATTTTTAAAAAACAAAACCGGAAATTTCTAGGCCATCAAGAATCTCTAGGCCACATCAGACTACTTTGAAAATTTGTAGGCCACAATGGGAACTATTTTCTGAACCAAATTTCTGAAATTTCTTGGCCACGATCTGAAATTTCGAAGCCATATAAAGATTTGTTTATAGGCCACGATCTGAAATGCGGATTCTAGACTACATCAACAAATCCTAGGCCACGATACTAGGCCACTATTTGAAATTTGTAGGTCAAGGTTTGAAATTTCTAAGCCACGATTAGAAATTTCTAGGCCACGATCTGAAATTTTTAGGCCACGATTTGAAATTTCTAGGCCACGATTTGAAATTTATTAGGCCACGATCTGAAGTTTTGGTCATCAAAATTTCTAGGCCATTTGAAATTTCTAGGCCACGATCTGAAATTTGCCACGGTTTGAAATTTCTAGGCCACGCTTTGAAATTTTTAGGCCACAATCTATTTCTAGGCCATCAAAAATTCATAGGCCACGATTTGAAATTTCTATCTGGCCACGATTTGAAATTCTGGGCCACGAACTGAAATTTCTAGGTCATCAAAAATTTCTTTTAGGCCACGATTTGAAATTTCTAGGCCACGATTTGAAATTTCTAGGCCGCGATCTGAAATTTCTAAGCCATCAAAAATTTCTAGGCCACGATTTGAAATTTCTAGGCCGCGATCTGAAATTTCTAAGCCATCAAAAATTTCTTTAGGCCACATTTTAAATTTATTGTTTAAAATTATAGGTTTTCAAAAAAATTCTAGGCCATCAAAACTTTCTGCAGGGATTTGAAATTTCTAGTAGCCACGATCTGAAATTTCTAGGCCACGATTTGAATTTTCTAGGCCACGATTTGAAATTTTTAGACCACGATCTGAAATTTCTAGGCCCTCCAAAATTTATAGGCCACGATTTGAAATTTCCAGGCCCCGATTTGGAATTTCTGGGCCACGATCTGAACTGATTTCTAGTCATAAAAATTTCTAGGCCACGGATTTGACATTTCTAGGCCACGATTTGAAGTTTCTGGGCCGCTAAATTTCTAAGCCATCAAAAATTTCTAGGCCACGTTTTAAACTTTTTAAAATGTTTAAAATTGTTGGTTTTCAAAAAAATTCTAGGCCATCAAAAATTTCTAGGCCACGATTTGAAATTTCTAGGCCCCGAATCTTTCTAGACGATTTGAAATTTCTAGGCCACGATTTGAAATTTTTAGGCCACGATCCGAAATTTCTCCAAGGCCATCAATTTATTGGCCACGATTTGAAATTTCTGATCGAGGCCACGATTGAAATTTTTAGGCCACGATATGTAATTTTTAGGTCCTCAAAAATTTATAGGCCACGATTTGAAATTTCTAGACCACGATTTGAAATTTCTAGGCCACGATTTGAAATTTCTGGGCCACGATCTGATTTAGGTCATCAAAAATTTCTAGGCCACGATTTGTAATTTCTAGGATTTGAAATTTCTAGGCCGCGATCAGAAATTTCTAAGCCATCAAAATTTCTAGGCGGCCCACGTTTTAAAATTTTTATTCAAAACATTTATAGGTTTACTTCAAAAAAATTCCTTAGACGGCCATCAAAAATTTCTAGGCCTACGATTTGAAATTTCTAGGGTGACAACGATTTGAAATTTTAAAGCCACGATCTGAAATTTCTAGGCCATTAAATTTATAAGCAGGCCACGATTTGAAATTTCTAGGGCACGATTTGAAATTTCTGGGCCACGAAAGATTTATAGGTCATCAAAAATTTCTAGGACAGGATTTGAGAATTGCTAGTCCAGGATTTACAACGAAATTTCTAGTCCGCGTATTATCAGTCGAAATTTCTAAGCCATCAAAAATTTCAGGCTCACGATTTGCGCGAAATGTCTAGGCCACGATCTATTTGAAATTCCGTGTTTAGGCGATTTCAAATTTCTTGGCCACGATTTGAAATCTAATTTATAGCCCGTGATTTGTAAGTTCTAGGTCATCAAAAGGCGATTTCTAGGCCAGGATTACTCTAAAATTTCTAGTCCATCAATATTTCTAGCACAAAATTTGTGTTCACTTTTTTTTTTGTTTTGGTATGTATTTTTCAGAACTTATTCAAAATTTGTGGGAGCAACAATATGCTTTTTTAATTTCTACGCCACAAAATTCTTTGGCCTTTTTCACTTTTTTTCACGCCGCCTATGGTTCCACTGGATAATTGAATGTAGAGAAAAAAGGGAAGGGTTCAGCTAGCGCAAAATAATTCGTTGGAAGGGAAAAAAATAAATGCAAATCTTCGCCAAAAACCAATTTTAGGTCGGAGCTCGGCGCGGGTTCGCACACACACAAAAATGGAGCAGAAGATGACGTCAGATCTTCTTTTTCAGAAGGCTTTCTCAAACTTTGAAAATGGCCAATTTCTTGCTGCTAATTGTGGGATGGGGACAGAATGATATTTTGTTTCAGGTTTCACACCACATCAGATCCTAGTCTTATTTTTTTCTTTTCTCAGGAGTACACACACTATAAATTGTGGTAAAAAAAAGAACACGTCCAGACTTGCTTATTTTATACCGATTTGATGCGGCCTACACAAAACGCGGGAGTTAAAAAGCAACTCGACATCTCACCTGATTTCGCAAGAGCGTGCTCTAGACCAACCGCCACAATTTTTTTGGAAAAATATTTCCGCATTTCTTGTAGATCAAACTTAAGACACCCGCACCGCGTCACAAATAGTATTCCTCTTGAAAAGGATTTCCCAATCAAGTTCCTTGACAGGCGTACGCAAGATTTTGCAAAAAAAATCGGTGGCCGAGTTTACTCTTCTGGCGGCCACGTAACAAAATTAACAAGGAACGTATAAAAAGGAAAAAAAAATTTTCGTAAAAAGGTACCAGGGACCGAAGCAATTTGAGGAAGGAAGGAAATTTGAGTGTCACTCAAATGATCTACCGGTTTTAAGTCGGTGGCCGCGGAACAGAGAAAGCTCGGCCCCCAAGTATTTTTTAAAATATCACGGATTTCTGGTCCCTGATAAGTTTGAAATGGAAGAGTAAAGAACGAACTAGGCTAGCTCGTCTGGGGCAGATTCACGGCGTTGCGTGTCGCGTTGCGGCTCGATTTTAGTTGTAAAATTAAATATAATTGTCCGTGTGGAGTACACGACTTTCCCACGAGTTTTCCGACCGGCGATTGTCAAGGCCCGAGCGCGAAAAATTCAATAAGGAACGGCCAGCCGTGAGATAGGATTTAAAAAATATTACACAACTATTTATTCAAAACTGGCAATTATACATACGATAAGTATTAACTACATACATGGCCGCGAAAAACCCGGCCACCAATTTTCGCGGTTCACTTACCGGATCTCCTCCTGAAATCAGTCTTGCCCTATAAAATAAGGGCATTTTTCGGATCATAGTGAATGAATTATTTAAGGAATATTATTTTAAAGAACACACACCACACAAGACATGTGAAGGGAAGGAACCAGGGAAAAAGAGACAGGGCAAAATACAATTTCTCTATTATTCCGCTCTGTGTTCTGACTAGCAAATGCAGAATCAGTGATGAAGAAACTGGGAATTTACGAGGTATTTAGCGAGATGGTGACCGCGAGGATGAGGAAAAAATCGGCCACCGCAAGACTTACCGGCTTAATCAATTGACCTGGGCCCGTATGTGATGGAACAATCATGTGAGAGCCGGAGCTTCACTCGTCATAGCTTTGTGTCTAGGTGGCTCTCAAGTACTGCTGGAGCTGAAAAACTGTAAATTTAATTTGAAATTTGTTTCGGATGCAAAAAAGTAGCGACACCTGCCGGGTTCCCACAAGATGTCGTTGAATTGACCTAGTAGAATCGTTAGTGATCTACCGAGCAAACAAGTATGCTTGCAATAAAAAAAGGCGTGTGGTTCAAGGTCGTTGACAAATTCGACACTTTGGACACACGAAATTGGTTATGAGCCACACCCCGGCTAGCTTAGGTCAGGAGAAGAGCCTCTCCGAAGAGGACCCCATGTGCGCGCGCGAGCCGAGATTCTGACAACATGAGAAGCGGAGAAGGCGTAAAGGGAGAAGAGTCTAAGTTGAGCTTGTTGCTGAAAATATCTAGGACTCAGGCTTAAGCTTGGGCTCAAGGCCTCATGCTCAGGCTTAGGCGGATCAGGCTTAGGCTCAGGTTACCCATAGGCTCAGGCTGCTCAGGCTTAGGCTCAGGCTTGGAGAGGCTAGCTCGGAATTGGGCTTCGGCTGCGGCCTTGGCTTGGATTAAGCTTAGGCTTAGGCTCAGCCTTAGAATTGGGCTTAGGTTCCTGAGGCTTAGAATTGGGCTTAAGCTCAGGCTTAGAATTGGAGGCTTAGGCTTTGGCGTAGGCTCAGGCTTAAGCTCAGTTAGGCTCCGTTGGCTTAGGCTTAGGCGTTTAGATTTAGAGGCTTAGGCCCTGGCCTAGGCACAGGCCAAGAGGTCACGCCTATCACTTGCTCCTAGATGTGGTTGGGGAAATGAAATTCTAGTGACGTCAAGATTCTGGAAGAGTTCCGTTGACGCCACCAAAAGCAACAAACACTTCAAATCTGAGAAGATCAGGGCGGAACAAAATGTACTGAAAGTACAAAAAGCCCGCATTTTTTTCTCTAATAATACTACATATCATTTGAGTGGGGTTGAAAAAAATGTGTTGCAAGAACTTATTCGGGGCGAAAAAAGATTGAGAGGAAAGAGGAACTTGTTTTTTTGTTGGAAAATCGTAGGTGTGACGTCACTTCTCTTCCAACGCCCAGGTTTCTAGGCAACTTAGGACATTGTGCAAAAAAATCACAGAGCAAAACTACAAAACCCCAGGAAAGAAATGTGCTCTTGGCCAAAATAATAAATATTGGTTACGAAATAAAGGAGAAAGAGAACGAAAAAAAGCTTTAAAAAAGAAATCAAGGAGGAATGTGGAGAAGAGCTTGTGAGGATATACCCAGCAATTAGGGAGAGAGTACTACGCTGTCGGGAGATGACGTTTCGAGGATATTTCTAAATTCACTGGAATGAAGGGTGGTGGAAGAGTTTTGTAAAGTTCGGGTATAGGCCAGGGGTTTTTTTGGCCAATGAGCCTGGTGCATCGAAGAAAAGCTACATTGGAAGGTTTTATGTCTCGGCCACAATAAATTATAAAACCTAGTACGATGAAGCACACTTGCATTAGGATTGCAAAAATTTATTTGACAATTGAGAAGAAAGAAAATCAGGGGGGCATAAATGCGCCATAGAACAGTGCGATCAAATTGTAGAAGAACTTTCGCCCAAAAAGCTAGGCCACGTAGGAGACCGCTGGAGAAAGTACGTGTATATGGTGGAAGAGTTTTCTTGTTTTTCTAGGCAATCTTGCGACAAAACTTGAATTTATGAAAAGATGGCTTGGAAGAGCTTTCGCATAGAAAATCTAGGCCACGGCTAGCAATTTAATAGGAGATAGAAAACCGCGTCGGAAGATTATTTAACTTTTCCATAAAAATTAGCAAATGTAAGAGAGTTCAGATACTGATCTGGAAGAGTTTTTGTGCAAAAAACCTTGGCCGCGACCAGCAACTAAAGTAGTAGGGGAGATAGGGTACCCCGCTAATTTTTTATTTATTTTTCAAAGAAAAAGTTTTAAGGCTTCGGGATTTGATGAAATGGCTCGGAAGAGCTTTTGCCGAAAAACTTAGGCCACGGCCAGCAATCTAATGAGAGGGGGAGGGTTCCCCGTTAAATTTTTTTTGTTTTTTAAACAAAGTTTTGGGGGGATTTGATTAATTGAGCACCATGGAAGAGTTGTTAAGCAAAAAAACCTAGGCCACAGCACCCTGAGAGGCGGGACCATAAGGTAACCCTACGCTATATTTTTTTTTTCAAAGAAAGTTTTAAGGTTTTGGAGGAAATTTGATTACATTACTTGGAAGAGCTTTTGCAAAAAAAAACTTAGGCCACGGCCAGCAACCTAACTCAGAGTAGAATGGGAGATAGGGTACCCCGCGGAAAATTTTTAGCGTTAATTTTGGTAAACAACAATGGAAGAATTTTCCGGTTTTCTAATCCATCGCATTTTCAGCGTCACGGATTCTGTGGCTTCCCCTCGCATAAAATGGAAGAAGTTGCCGACCTATATCTGGGGTAGATTTACAGTGCGTTGCGATGTCGAGTCCGCCGCTCGAATTTAGTTACAAAACTAGGTAATGTAATTATTTGTCCGTGTGGAGTACACGACTTTCCCAGGAAGGTGATTGTCAATGAAGCGCCAAAAATTCTCAACCAAAAGAATCCAGATTCCCGCGCAGCATCGCCTAGGAGAACATTTTCAAGAAATCTGGCTCACGAAGGATTAAGTAAAACAAGAAAAGAAATAAAACTCTAAGATGAAAGGTAAGGGTGGATGCGGGACAACTTATCACTATTTGCCATCATCATCATTTTTCTTCTCCTCCTCATCAGCTTCTGCTCCTCCGCGATCTCGCGGTGACTCTTCTGAAATTCTTAACTAGGCCAACACAACGTCGGCAACGAGTTTCGAACCCTTCACCCACAAACACATACGAAAAAAGCTCCTTAATTGGAGCAGGGAGACGGAAGAGGCGAGGGAGGAGAGGCTGGTCAATGAGTTAGAGTAGAGAGAGAGAGAGAGAGACTGAAAGATGAAGTATAAGCAGAAGTCGTCGGGATGACAGAAGTAGGAGGAGAAGAAAACGTGAGAGGTGGAGTCAGAAGGATATAATATATTACATTCATAGCGAGGATTACAGTTTAACGAGGCAAAACAAACGAATGCTCCAATATGAATTTTTGGGGTTACTGTAGTTTTTTCTGTAGCCTTATACTTCCAGAAGTTACATGATAAACATATGCGAGTTTTTTAAAATTTGCCAGAAGCACGGGTTCATTTTTTTCAGGCTCAATTGACAATCGCCTGCCGGACAACCCACGTGGAAAGTCGTTCCGCACGGACAAATACATTTAATTTTACAACTAAAATCGGCGACACGCAACGCGTCGTAAATCTACATATATGGCCGAGCCAAAATGACCGACTAGTTTGGCAAAGACTCTTCCATTTCAATTTATGATGGAAGCCAGAAATCCGTGCAGAAGTTTCTCGGAAAAAATACAGAAAGTTTGTGAAAGGGTTGCGACCTCTAACGGTCTTCATTAACATAAATTCAAATTTGACGCGCAATAATGAATTGCGAAATTTACTAGCGAAACATGGTGCATTGGGTGTTTGAACCACAATTTTACAGATCTGTGGTCACTAACATCAATGCATGGCCCGAAGGGAAGTGGTACCTGTACGCAATTTATCTAACGTAAACCTGGACGTTTGGGCGCGTGTATCTCACAAACGGTTGGTCCTGTTTTTTTGTGATGCATTTAAAAAATTTGAATTAAATTCTAAATTTATTGGACCAATGCTTTTTTCGTTGAGTATCACGCGCCCAGACCTGGTCTACACTCAAATTACCAGTAGAGCGCATTTGCTGACCACTTGCTGTCCGGGCCGTGTTCAATGCAACGATGGCGCGTCAAATCGACTGCAACTTCAGAAATCCCTAGTAGTTGCGCTTCAAATTTGATGCATTGCACGGCCCGGCAAGTGGTACATCTATGCAAATTCGCTCTACTGATAATTCAGTGAAGACCAGGTTTGGGCGCGTGATAACGAAAAAAGCTTTGGTCCAATAAATTTACTTAGAATTTAATTTCGTACATTTTTTATATGCATCACACCAAGAAAAAACTGGACCAACCGTTTTTACACGCGCCCAAACGTCCAGGTATACGGTAGACAACTTGCGTACAGGTACCACTTCTCGGGCCGTGTTGAATGTTTGAGTTAAAATTTTGAGTTATATGTGCTGGAAAATTGACATGAACATGGTATTTTTCATTATTTGCGCGTGATGGTGCATTGAAGTCGTTTGCAAATTTTTTTCAGAGCTGAGGTCAACTGACACCAAAGCAACAGAGTTGACGATTTTAAACTGCACTTTTGCACGCTTTGCAGTCGGTATTTGGAGGTTATTTTCGATTGTTGTGTGAGATTCACCGACACACCAGATTGGATGACGCGCAAAATTGTACGAAAACAGTTAGTTAGAAAACTAATAAAAGAAAACTATTAATAAAAGTATAGCGAACATCCTGAACAATTATTTCTGCACCGCCAATGTATCTATAGCATGAATTTCAAAATATACAAAAAAAAATTATGAAAACCACGACGAAAAACCCGGAAGTGTTTTTTGGGTAGCCTGTCTGGATTCCTGAGGGTATTGAATTTCGCCCTCGAATAATATTGTTTCCTTTTTCCCCAGAATACCTACAGAATTTGGGGGAAAGAAATGAACTGTTCCTCACATTAACCTACACGTTCTTATTTTTAATTAAATTTAGGCCACGCCCAGAAAGTAGCTGGGCGGGGTTGCACATTTTTCTAGCTTTCCAAAATATAAAAAGTCGGAAAAAAAGTTGTAGTCCGTAGTTTGTAGTTTGTAGTTTGTATCAGCTTGTCCCATAAGTTTTTGTACTTTTTTTCAACTATGTTTCCAACGTCTAGAAAGTTTTAAAATTTTTTCATCGTAGGTCGTGTCAAGCGGGTCGTCCCGGGCCTGTCACAAAAGATTCATTTCATCCATTTCTACTTTGCCACGATGACAATCATCAAACCTGAACGTCGAGACGTTAGATTGCTTCTTCTTTATGAATTTCGTCTTACTTAGGTCATTCAGCAATGGAAGCGGAACGAAACATATGCGGTCCGATGGGTGAGGGAGCACTCTCTTATAATACAGCACTCAAGAGTTTCAAAAGCTCAAGACGGCGCCGACTTCAGTCTCGAGAAATAGAACGTCAATGTGGGCGACCGGAGGCTACAGTTAAATGAGGAAGACATAGGGAAGCTGGTGGAAGCGCCTCGTCTTAGTCTTCGTGAAATGAAAGAGAACCTTGAGTGTTGTCACAATAGCAAAATTGCACGTCACTTGGGTCGCCTTGGTTTTACTTCAAAATTTGGAAGCCTGGGTGCCTCATGAACTTTCGGCATCACAGAAGCTCACTCGGGTCACCGATTGTACTCATAGACTTCTACCTTTTCGTCGGTACGATTGGCTGAACGACCAATCTTTACGGGAGATGAGAAGTGGGTGCTCTATGTTAACCCACGAAAACGTCTATGGCCGATCGGTGAGAAAGGAATAGCGACGCCAAATGATCTTCACCCAAATTATGATCTGTATCTGGTGGGCTGTTCAAGGACCCGTGCACTGGGAATTGTTGCCCACTAATAAAACTATCACTGCTGATTCCCTGACTATTGTGCCCAGACCGAGTTGCAAAAGACCAACGGAAAATATGAAAAACTATATTTTCCAGCTTTCACGATAATGCTAGTCCTCATGTCGCCAAGAAGACTTTGCAAAAGCTGCAAGATCTTGGTTGGACTGTTTTACCGCATCCACGATATTCTCCACATCTTGCACCAACGCGTCAAACTACCAGTTCTTGTCTCTCAGTGACTACTTGCGCGACTAGCAAAGTTATTCGACGACGAAGAGCATCTCAACTGAACTCTCCACTTTCTTCTCATCGCGCTCGGTACGCATTTCTTCTCCCGTGGCAACATGATGTTACCTAGTAAATGGCAACAATTTGAGGTGGAAAGGTGAATACTTGTGTGTATAGTACTACTTGTCGCTTGAGAGAAATAAATTTTTTTTCAAAAAAAAAATAGTAGAAAAACTCATGGGACAACCTGATAGTTTTAGTTCGTTATTTGCTAATTGTTAACGTTAGTATTCGCCCAGGAGGGCCGAAATAAATAAATTTTAGAAAAGAAAACGAAATTATATACATAGTCATTAAAATGTGGTAGTTTGTAGTTTGTAGTCGATGTATTATGTCTATTCAAATTGTATTATAAACAACATCTAAAATTAAACAGGAAACTTATATTTAAAAAGAAAACGAATACTGAAAAAAGGCGGCTGCATAGTAAAAAATAATGATTCTCCTCCAAAAAATGGAATTCCATTTTTTCAGCGGCTATTTTCACGATGATGAGAGGAGACCAACAAAAACATTTGAGATGAGAAATGAGGGGAATCTTGCACAATTGAAAATGGGAAGTGATTTTTTTAACTTTATACACAGTTAAAATTCCAGCGAAGATCTGCGCGCAGAGTGTTTTTGGCGTGGATCGCGAGAGAAAAAGGAACCGGAGGTGCGCACAGCATTGTGCGTCCATCGCGAATTCTTTGAGATGCATTAGAGTGCGAGCATCGCGAACATAAATAATGGGCACATGTGGTTTCTCCTTTCTGATGATATTTTACTCTCTATGGCTTCTCCAATTATCTTTATCTTGTACTCTGTGCGCTGCCTACTATATTCTACTCTCAGTGTCACCAGTCATTTTACTCTCTGTGGCTTCCCACTATATTTTACTCTCTGTGGCTTCCCCTACTATATTTTACTCTCTTTGGCTTTACCAATTATTACTGTGGCTTCCCACTATATTTTACTCACTATGGCTTCCCACTATATTTTACTGTCTGTGGCTTCCCACTATATTTTACCCTCTGTGGCTAGTCCCCACTATATTTTACTCTCTGTGGCTTCCCACTATATTAGATTTACTCCTGTGGCGTCATCAACTATTTTACTCTCTGTGGCTTCCCACTATATTTTACTCTCTGTGGCTTCCACTAAAAATGTTTTACTCTCTGTGGCTTCACCAACTATTTTACTCTCTGTGGTTTCCCACTATATTTTACTCTCTGTGGCGCTACCCTCTATATCTTACTCTCTGTGGCTTCACTAACTATTCTCTGTGGCTTCCCACTATATTTTACTCTCTGTGGCTTCCCACTATATTTTACCCTCTGTGGCTTCCCACTACATATTACTCTCTGTGGCCAACTATTTTACTCTCTGTGACTTCCCACTATATTTTACTCTCTCTGGCTTCCCACTATATATTGGTTAATATCTGTTACTGGTCACCATTCTCGTCGCTTCCCACTATATTTTCCCTCTGTGGCTTCACCATTTTACTCTCTGTGGCTTCCCACTATATTTTACTCTCTGTGGCTTCCCACTAAATTACTCTCTGTGGCTACACCCACTATTTTACTCTATGTGGCTTCCCACTATATTTTACTCTGTGGCTTCCCACTTTCATATTTTACTCTCTGTGGCTTTTTCCACTATATTTTCCTCTCTGTGGCATCACCAACTATTTTACTAACTCGGTGGCTTCCCACTATTTGACTCCTCTGTGGCTTCCCACTATATTTTACTCTCTGTGGCTTCACCAACTACCGGTTTTTACTCTCTGTGGCTTCCCACTATATTTTTATCCTCTCAGTGGGTTCCCATAGCTCTACTTTACTCTCTGTGGCTTCCCACTATATTTTACTCTCTTGGTGGCTACACCAACTATTTACATAACTCTCTGTGGCTGCCCACGCTGTATATTTTACTCTCTGTGGGCTTCCCACTATATCTTACTCTCTGTGGCTTCACTAACTATTTTACTCTCTGTGGCTTCCCAATATATTTTACTCTCTGTGGATTCCCACTATAACGATTTTACTCTCCTGCCTACAATATTTTGTCTGTGGCATTCCCTCTATATTTTACTCTTGGCTTCACAGTGTATTTTATTCTCTGGCATCACAATTATTATATTATACTCTTTGTCTTCTCGCAGAAAGGATATTTTACACTCTGGCTTCACAGAATATTTTACTCTCTGGCTTCGCAGAATATTTTACTCTCTGGTTTCGCAGAATATTTTACTCTTTTTCGCTATGTTTCACAGAATATTTTACTATCTATTAATCCAATTCTTCGTATAACAATCTATTTTTTCGTATTAACAATCTATTTTTTGTATAACCAACTAAACTCGACTTTTCCAAAATTACAGGAACCCTAAGAAATTCTACAGGACTCCTAACTCGCAACCTGCAGTTCAATGAATCACCTCGTTTTTTCACGCGTGACTCATGACTTCCACATTAGTTTACATTTCCTTCATCCATCGGTGTTGGGGCGCTGTTAATATACAACAATTAGAAGAGACCCCACCTCACGCTGCTATTTCTGCTGCTGATCTGTCAAGAATTCTTACCGCCACTTATGACTCATGCCATCAATGACTACTTCCTTCTTTTTTATATTTTCGGCTTCATCTCGAGTAGCAAATTTAACAAAATTCAATAGGTGTGACGTCATCACACCTTCCAGTGGAGAAATCCAAGATTTCTCTCGAAAGGATCAATGTGGTGTCATGGCCAAAACTCCAGTGTGAAACCTAGGCTATGTTAAATATTGAAACCGACTCTAAACTGAGCACATAAGGCTATGATGTCATGGCCTAGAAATCCCAGATTCTATGACGTCATGAAAGACCTGAACTGCACCGAACCTACGAATACCGTCAAAAGGGGTCCTGCTGTGAAGTCTTGTTCGAGAAAACAACTGAGTGCGAAAACTACGGCTCTCCGTAATCTACCATGTGGTAGATCATGCGGCCCTATTGATGGTAGAAAACTTACAGCTTGAAGCTATGTCTTACCTAGAAACTCAATAGTTTTGACGTCATCAATGGCCTAGGTGTATTCGAATGACGCAGTGTCTTAGAATTTTCTGAATATCACACAAAAGTATAACATCTTCTTGAAACCAAATAATTTTGAGGGAATTTGTAACACCCACCCAGTATTGTAACAAATGATATAATAGCGATCGGAACATTCGAGAAAACTGGAAATTTGAGACCTTGTTCGGGAAACTTACCAGTGATTATGCCCAGAGGATGGCTGTGTCGAAAAATGTGCCTAGGAAATGGGATTAGAAAACACGCTTCTTCCTTTTTTTTTCTAAGTACAGAATTACGTTGATAACGAGAAGTGCATTTCATTTTTGTTAGGTTGGAAATTTGAAATTTAAATATTCGTCTCTAGTTAGCACAGCCGTGGAAGACTTTTTCAGAAACGAAACTTTAGCCACGTGTCGCTGGCGGTGCCCACGATATTAGAGAATGTTGATATTTCCTATTTACTTATCTGTGATCATCGAAATTTTAAGATAAAGTTACTACCGTTCAGTTACACTGGTGGAAGAGTTTTTAAGATTTCCCACCGCACAGTTTGGGTGTGCCAGTGACCCTAACACTAAATTTGTAAAATTCTTTTTTCAGCCAAATAATCATATGGTGGTGTCGCCTAGAACCAGAAATTTAACACCTGAAAACTCTTCCATATTTTTTTAATTTCTGAAATCCAACGAAAAATAATTTTCAAACTCCTCTTCCTTCGAATGTTCCAGAAAAATAAAATAATGTGACGAAATCAAGTTCATCTATGAGTTGTGTGGAAGAGTTCAGATTCCTAGGCGACGTCAAAGTTTGAGGGCCCGTGACCCTATCTCGAGACTAAATTTTCCAATTTTTTCAGCCAACCCCAATCAGAAGCTTTCTCTGGCCTGTAATGACATGACAATCGGATATTATCATATGAAGTTTTTTAGGTTAAATTTCTGAGGTCATTTGCAAAGGTGTCATGACTATCATAGTTTGGAGGCTTTTTTGTAACGGTAGGGGTATGAAACTTGTTACTTCTCGAAACGGTATTATGTGGGGGAGAGGAGAAGGAAAGAAGGAAGGTTAGCCAACAGAGATAAAGCAAATTTTGTGTTAGTGGTGGCAGTTTTGAAAGAAGCCATGCTCCAAGGTCGGTTTGTCTTCTTCATTTTTCGGTTTTCTTTTTTGTAATGATTAAAAATATTTTTGTATAGAAATAAAAATTCAATACCAAAAAAATAATCACTGGAAGTTTCAACGTATCGTTTGACGCCTTCAAACATTTTTTAAAAATTCACAGTTTTTCAAATAGATGTACGTACACGTGGTGTCAGAGTATCTCACTTAGTTTCGGCTTGACTACACTTCAAAAAATGCGGGAATCTCCAAAAAAATGTGGAAGTACAGCACGCTCTTATGACCATGCGAAATCTTGAGAACTCTGCGTCTCTCCTCCCGCATTTTCTGTAGATCAGCGTAGATGAAGCCGAAACGAGATACTCTGGCACCATTTTATTTGTTTAGGGCAAAAAATTCCCGCATTTTTTGTAAAGGGATCAACCCGTAATGGGGCGGCCTAGCCCCAGTTTGCGTGCATACTTATTCCTGATGCCGAACGACATTCGCCGATATCCCGTTTTTACAGTATGACTCCCAGTGGGTTACTGTACCAGATTTTTGGTGCTTTTATAATATTGTTTTCTTTTTCAAAAATCTATGACGGAAAAATTTGTACAATTGTTTTTTTTTAATATTTGAATTTTTTCGGCTCCCAGACATTTTAGCGGGATATCGGAGTATCGGCGCATGTAAACGTTTTTTTTTTGGTTTTTTATATTAAAAACGGTTAAGTGTCGTAATAAGACGTGATTCATTTGAATAAAAAATAGCGAGCGACGCCGGCCACCACGACTTAATGGCTTCCCGTCCTAATAACAAAATGGAAGAGTTTTTGCTCCGAACTAGGCCATTTTGGCTCGGCCGTATCCGGGGTACGATTTACGGCGCGTTGCGTGCCGCATCGCGGCTCGTCATTTTAGTTGTAAAACCTAATGTATATGTTGTCCGTGTGGAGTACACGATTTCCACGCGGCGGTTGTCCGGAGGCGATCAATGGCGCGCAAAAAATTATGCCTAGGACAGGACACCGATTCAAAGATATAACGGCCCACATTTCAACAGCGGTATATCGCGAGGGAGTGTCGTTAAGCCTGCACACGGGTTTCTGGCCTTTTCATTGCTTTTGCGCGCTCCATTGACAATCGCCTGCCGGGCAACGCGTGGGAATCGTGTAATACACACGGACAAATTTTTTTAAGTTTTATAATGAAAACCGCGACACGACATGCAATGCGCCGTAAGTCTACCCGGGCCGACCGACACGTGGTGTCGGAGTGTCACGGCTTGATCTACGTAGACCTACAAAGAATTTTGCGTGATTAAGGACTAGTGAGGTGAAGTCACACAACTCTTATGGGCAAAAAATTCCCGCATAATTGTAGATCAAACCGTAAAGGGACAGTCAAAATGGCCTAATTCGCTCTTACATTTCAAAATATAATGGTAGGCAAAAGCATGATGGGGAATTTGTGATTAGATTTTTGAAAAAGGAAATACAATTTTTTCCAAATTTCTACTGAAATTTTTAAAAAAAATGTATTTTTTCCCTAAAATCTTCAAATTTCTGGGGTAGTTTCAATCTCTCACTACCGTGGTAACCAAAAATATGTTTCCTATTTTGACCTCCCGCCACACAGTTTTACTAACAACTTCTTCCCCCCCCACCCACCCACTTACTTCGTATCTGAAACTCCGCCCCATTTTTCGTGTACTTTACACTTGAATGGTGATGAGGTAGAACAAATCTGTGTTTATTGGAAGATCAGCAGTGGTAGCAACAGGAGAAGAAGAAGAATCAGCACTGTGTGGAACCAGCCAGCTGTGTTGTTGTGGTTTTAGTCCTGGGGCTAAGGGAAGAGAGAGGACGACGTCGTGTGTCTTCAATAAAATGAGGATCTGCTCCTATTCCTGACTTTCTTGGCTGGAATTGTTCAGGTAAGCCGGGGTTTAAGTATTGATATTGGTGCTATTTGAAAATTATTTCAAAAATTTTCGATTGGAAAATTTTTTTTTTTTGGCCCAAAACTTTCTTCTAGAACTTTATCATTCCTAGGCATACTAAATATGTCTGCAAATATTATTTTTTCTGGAAAAACACTTTTGAAAATGTACATATGGATAGCAAGTTTGGTTTTAGTATTATTTTGAAAAATTATATTTTTTCAAAAAAATTTTTTACAAATCTAGCAAGAAACGATTTTAAAAACAATTTTAGTCCATTTTCTTTTTTGTTTTTTGGAAATTTCACGAAATATCGGCCCAAAATCAATGCAATACTATTTTTTCACAAAGAAATTTTCAAAATTTGACAATATACAGATCTAGGGCTTCCATGTTAGGCAGGCGCGGTTGCAGACGGCTGCCTGAAACCTGCCTGGTTGCCGCCCGCCTTAATTTTTACGGGAATTTAGAAAAATTTCTAATTTTCTCATTTCTATCAATTTGATTAAAACCAAAATAAATTGCCGAAGCCAAAGGTTGCCTTAAAGACAGGCAGGTGGGCGTTTTAACGCCGAGCAGCTTTACAAAAGCACTATACAACTCTGTTTTTGAAATCTAGCAAATCTTTAAATCAATAAGAGACATGGTGGACAAGACAAAGACATCGACAAATTTTCGACAATATCATCTATAATTTTTTTCGGAAAAATTTTAGTTTATACCTTCCAAATTCGCCAAAGTGAAAAAAAAGTTCCTAAACGTGAGATATTGTATGTCTTCTACACATACTAGCCAATATCAATAACATCTGCCAAGAAAATCTCGAACCAAACACCAAAACGCGGCGTTTGGTAACCGGTTTTCTCTTTTCCAAAAAAACTATACATAGTTTCTAGTAAACAAATACAAATGGAAAATTCAAGGTGACAGCGAAGAAAAAAAGAAAAAAAATAGTTGGTAGTCGCCTAAGAATTGCATGTAACGTCACACCTCGGCCTTAAGAGGGGTCATGGTACATGCTAGATGATTAACCATGGCAAAAGAGTGACGGACCTTCTCGGCCATGACAGTTTTTAGGTTTAGGCTTATTTAGGCTAAGGCTTCGGCTTAGGGTCGTAGGCTTAGGCTTAGGCTTAGACTTAGTCGTGCTCAAGCTTGAGCCTTCTTACACTGGCGTAGGCTTATCCTATGAGCCCATAATCTGAAAACAAATATTAAAAAAAAACCAAAAAAAAAAAAAAAAAAAAACAAACAAACAAATAAAAACAAACAAACAAAAAACAAACAAAATATTTGAATTTTTCTAAGAAGACAAATACGTTACTATCGGTCACGATTTTTGGGCTTTAGGTTTAGGTAGATGTTTAGGCTTAGGCTTTGGCTTAGCCTTAAGCTTAAGCTTAGGCTTAGTGCTTAGGCTCAAGCTTAAGCTTAGGGTTAGGCATACCTTATGAGCCTATAAGCTGCTAGTTCTGAAAAAGAACCAAATATTTAAAAAAAACCAAAACAAAAACAAAAAAAAGACAAACAAACAAATAATTTATCAGGTCCAAGTCTTGCTAGCAATGTTCAAGCCGCTCCTTGAAGGTGGCTGTGGTGTCGGTAATCCGTTTGCAAATCCAAAGGCGATCGGCGTAAGTTTTCGCGCGACAGGCACAGACAAACAGACAGACAATCGAAAGTAGTCCAGGCGCTGAATGGGTTACGCAATTGGTTTTGGGCGCCACGCGCACATCAATTATTTCCATAGATACATACATCATTCAGATACGTGGAAAACCAACACAACGTGAAGATTTAGTGGGTTGGCAAATGCATTTTATGTTTCTTTCCCAGGGTCTCTTCCAACAATTCGCCGGTGGAAATGATGAGGGGATTCGGGCCTTGCTGGAATGGCACCGGTATGTGTTGCGACGGTTAAAACGGACGTTGTGAAAATTTCCGCTTTGGAATATATTGAGAATATTCGAAAATTTTTGTAAAATTTTCGAGATTTTCTTCTAAGCTTTGGCGCGCATCTTAGGCTTAGGCTTAGGCTTCGGCTTATGCTTGCCTAGGCATAGGGCCTATAGGGTGCCTTAAGCGAATTAGGCTAAAGCTCATGACTAGACTTATTCTTAAATTTAGCCTTAAGCTTAGGCATGGAACCCTTAGGCTTAGGTTTTTGCTTACGCTTTAGGCTTTTGCTAAGGCCTTAGCGGCATAAAAAAAGGGATGCCCAAAGTAAAAGACAACTTTTGACAAATTTGAAAGTGAAATATTATATTTTAAGCCTATTTTTTCCCTAAAAAGAAAAAATTACTTTTATAGTTTAGAAAACTATTTTTTGGCAGTGTTTTAGCCGTCAAAATTATGGCTGAAAAACAAAGTTCAAAATATTTTTCATCTAAATTCTTTTAAATTTGCTCTACCTTGAATATTGAAATAGTTTAAACAATTTAAATTATTAAATTTCAAGTAAATTCTAAAATTTTGTTCATTTATTGAAGTTTATGTTCACTCTTACAATATAAATTAGGGTATAATCCTCAAACATTCCAGAAACCAGCACCAGCCGCAGCTGGACCCCGCTCAGCTCCAGCTCCAACCAACGAGGATTACAACACCGACATCGACGTCCCAGCTCCAAAGGCAACGAAGCCCGTGCAGCTCCAACTTCCACGAAGAGCACAAGGTGCTGATGATGATAATATTGATATGACTCTTACACGTCTTGGCTAACTTGGCATGGAAAAGCCCAATTCCTTTAATACAAAAAACTTTTGTCAAAGATTCTCAAAATTTTGCACTTTAATTTTTAAGTTTAATTTTTAAAAAGTTGTGGACTCTCACGTTTGTTAACCATTTTATATGCAAATATGATCCTTATTACTAACAATTTTTAGTAATCTAAACATAAATTGGAATATTTGGTCTTTTTCCCGCCGAAAATCATCAAACATTCCTTAGCAACGGAAAATTGCAGTGAATTGTGTTGGTTTAATTTTACCGTCATTTTTTCCGCATATTTTTTGCCATAGCTCTGCTGTGTTTTGTGCCATCCTTTTCTCTGTGCTATAGAACCTGTTACGTACTTCAATAAATGATTTCTTTTAAAAGTTTTCGCACAAAAAATATAGTCGAGTAGCTGGCAAAATACACGCCATGGTGCAAGAATGTCTCATTTCAGCTTGATCTACGTTGATCTGCAAAAAATGCGGGAGAATGGAGACGCCGTGTTTTCTATTGACTTTGCCTGGTTAAGAACGTGCTGAACGTCACATTTTTTTAGACAAATTCCCGCACTTTTTGTAGAAAGCCGTGGTGGGACATCCTATCCCCACTTGCGCTGGGGGGACAAACCGACATAAGTTTTGAAGACATATTACACATATACATTTAATAACATCTATGTTTTCTGCGGAGGGAAATTAGATTAGAGAATTTCAGCAAAAAAATTCTGATAGCTTTTTGATTTATATTATAAAATTGTTCTTTTTTTTTAGCGAATTCTGATTTTTACAAAAAAGAAATTTTGCGTGAAAACGCTGCCAATATGTGCCTGTCTTACCCTAAAATAAACATTAAAATGGTTCAAAAATTATCTTTTGGAACAATTTTACGGGTCACGCGAAATACTGTCTTAGTTAGTTTTTTTTCTTTGAAATTTATTATTCCCAATATACGTAAATGTCACTGCAAGTTAGAAAATTATACTTGTTCTTTTTCCAGAAATTGAAATGTACATGATACAAGGCTGATTCCATGCAAAATCTAATAAAATTTTTAGAAACAATTTTTTGTCAGAGTCTTGAATATTGCCTTGAGCTATAAGTTACCGTTTTTTTTTTAAAAAAATCAGTTTGGCCTAAAATCTTAAGACTAAGATTAAGCCTAAGCCTACGCCTAAGCCTAAGCCGATCAAGCTTAAGCCTAAGCCTAAAAGGGCCTCAGCCTAAGCCTAAGCCTAAGCCTATGCCTAAACTTAAGACTAAACCTAAGTCTATTCACTAAAATTTTGACGTAAAACTTGTGACTAAAAATTTTGGAAAATTTTTTATAAGTCCTAATGTTTGTTTTTCTAAGCCTAAGTCTTAGTCTAAGTCTAAGTTAAGTCTAAGTCTAAGTCTAAGTCTAAGTCCAACTCTAAGTCTAGTCTAAGTCAAAGTCTAAGTCTAAGTCTAAGTCTAAGTCTAAGTCTACTGAGGTCTACGTATTCTAAGTCTAAGTCTAAGTCTAAGTCTAAGTCTAAGTCTAAGTCTATCGGAAGTCTAAGTCTAAGTCTAAGTCTAAGTCTAAGTCTAAGTCTAAGTCTAAGTCTAAGTCTAAATCTAAGTCTAAGTATAAGTCTAAGTCTAAGTCTAAGTCTAAGTCTAAGTCTAAGTCTGAGCCTAGTTCAGCCTAAAAAGAGGTCTAACGCTTGCCACTGACGCACGCTCTCTAACGCTCACCACTGAAGCCACGCCTAAGCCTTTATAAGCATAAATCAATTTGAAACTTCAGACTTAAATTTTTGGTGGCCTATACTCTGTTAAATTTCGCTTGTGATCAGAAAACGGGACCCCTTTGTTACAAAAAAAACTAACGCTCGCCACTGACGCCAAGTCTAAACCGTAATACTAAGCCTAAGCCTAAGCCTAAGCCTAAGCGTAATAAGGCGTAAGCGTAAGCGTAAGCCTAATAAGGTGTAGTGTAGCGTAAGCGTAAGCCTAAACTTAAGCCTAAATCTTTGGACAAAAATTTTAAAACTTTGACCTAAACTGCGATACTAAATATTTTGGACGCAAATCTCGGCCTGAATTTTTGGAATAATTCTGGGAACTATTCCAGAGTAATTATAATTAACAAAAAAATTTTTATAGTATTCGGCGTAAAACAAAAAATAGATGCAATGTTTTCAGTAATAAGTTTGAAATTTTCGAAAAATTAAATATTTCTTCGAAACTTCGAAACTTACTTTTCTCTGGAATAACCCCAAATTCTAGCCGCCGAGATGCCCCGCCAGTATACCGCCAAACAGCCTCGCACAAAAGCCAAAAATCGAAAGATTCCGGAATATCGGACATTCGCCGTTCGTGTACGTGGTGAACACCACACCAGCTCCTCACTTTGATAACTTCATCTGGCCACAAAATGCAGCTGTCCCAGGAGCCATTCACATTTGCTCCATGCTCCTTCCAAACTCTTGCCACCACCACCAGCTCCAGGACCCGGCGGCTCGGACTCTTGAGCTATTTTTACCGACGACAGCTAGTCCGAAGCTGTTCTCATAACACTGCTAATCAAAAAATTTGAATACTCAATACCTCCTTATAACTTTTTCAAATTCCAGATGATCCGAGAAATCGCTTCATTTTCCGACAGAGGACGCTCCAGGGATCAGGATTTTGGCGCAGTCGTCTTCAAACGCTCATGCAAGCCCTTCGAAGCAGTCTCCAGTCGGAAATAATGGTGGAGCAGGAGCTGCCGCCGGAGCCGGAACAGCTCTAGGAGTAGGTTAAGCTCACTAAAGACGTCGTGAAGTTTTACTATTTTTTAGATGCTCCAATGCTTCAAGCCCATCGAGATGGTAGTTGGGGGCAATCCAATCGCGCGCTAACCAACAAAAGCTTTTCGAGTCGGACATGGTGTTGACGGTCAAGCAGAGGCGTGAGTGTGGGGTACGGCGCAATAAGATTATTGTAGGGGTACTGTAAGATCTCTGTAGGGATACTGTAACCCTACCGTGATATTATAAAGGGGTGCTGTCAGATTACTGTAGGGAGTACTGTAGGATTCCTGTAGGGGTACTGTAAGATAAAATATCTGTTTAAGAGGTTACTGTAGGGGATGCTGTAAAATTTCTCTAGGGATATTGTAGAATTATTCCGACGTAGGGATACTGTAGAATTACTGGAGGGAACTGTAAGTGTACTGTAGGATTACTAAAGAAGTACTGAAGTATTACTGTAGGGGTACTGTAAAATTACTATAGAGTACTGTAAGATGTAGGGGTACTGTAGGATTACTGTAGTATTACTAAACAAGTACTTAAAGATTATTGTAGGGGTACTGTAAAACTAGAGTACTTTTAAGAGTACTGTAGGATTACTAAAGAAGTACTGAAAGATTACTGTAGGGGTCCTGTAGGATTACTGTAGTATTACTAAATAAGTACCGAAAGATTACTGTAGGGGTACTGTAAAATTACTATTCCGAGAGTAATGTAAGATTACTGTAGGGATACAGGAGATTAACGTAGAGACACTGATCGTAAGATTATTGTAGGGGTTCTTTAAGATTTTCATCTGTAGGGTTACTGTAGAATTACTGTAGGGTACTGTAAAATTACTGTAGGGGCACTTTAAGTTTACTGTAGGGATACTGTAGAACTACTGTAGGGTAACTATAAGTTTACTATATTAGTTCTGGGTACTGTAAGTCCCCGTAGAGACTTAATAAGATTCCTGTGGGGGCACTGTTACACTACTGATAACTAAAACGGTACTGCACGGTACTATAAAGCGACCACCCTAGATTCATGGTTATTTCAAAATTGTGCTGCCGCCCAAGAGGCCCGTAAACGGACGTAAAAAGCGAAAGGTGATTAACCGGGATCCGTGTACCGATGGAAGAGTGTGATTCCCTTCCGATTCAAAGGTGGCGACGCGAAATTGAAGAAGCTGATCCGTGAAGGCCTAGGCCTATGGGGAACGGGTGTGCGATGGAGCGACAATGCCCCCGCCAAGGATTATGTGATCTTCTTGGATCGGGGTGAGTTGACATGCCCCACAGTGTAGTTTTTTCATCAGATAGTTGGTGGGTTTTTTTTCAGATGCTACTCATCGCTGTCGATCCGGAGGATCTCAACCTTATTTCGATTCGGTATGGCTGTGAAGATCTAAGTTTTAGTATTTTATACTATTTATAAATTCAAATTTTCTAGAAAGGAATCGTTGCTCACGAAGTCGGTCACTCCCTAGGTTGGCACGAGCAGTCCCGTCCGGATCGGGCTCATGACTACATCCATTTAAGAAAAGACTGGATTATTAAACCGATGGAAACTTCGAGAAACGAAGTTGGGAAGAAATCGAGGATATGGGCGTTCCGTAATGTCGGAAGTGTAATGCATTATGGGTCGAATGTAATTGTTAATTCTGAGTCGGTAGTTTAGATACTCAAAATGATTTTCAGGCCAAAGGACTGGGACCAAATTACTATTGAGACCAAAGATAGTAGAGGGAACGATTGGTCAACGGTGAGCCACATGAAGCTTTCGTTTATCGATGTTAAGCAGCTTAACAGGCTTTATTGCAATTGTGAGTAGTTACGCAAAAATGAAATAAATTTGACGACTGAGCGGATCGAACGCCCAATCTTTCAATCTGGAGTCGAACGCGATACCATTGCGCCAAGCAGACACAGTCGCAGGAAACGGATAGAGGAGAAAAGAAAAAAATAGACAACCCTACGTTTTATCAGTGGAGCGCGGTTGCAATTTAACATTCCAATTTTCAGCTGTTTGCCCGGTTGCCTTACCCTGCATGCAAGGACGATACCCCGACCGCCGAACAATAACTGTGCGGTTTGTAGCAATGTCCAGACGGTCTCGGAGGATTGTGTGGACGTGCCGCTAAGCGCACAGATCATGGACTCCACTGGAATTTATGGGAAAAAACCCCCCTAAAATTTTCCGACAAATGCGGCGGTGCTAACAGCGACCACCGAATGGCAGGAGATGGTCTACAAGGGGAAGCGGACGTGCAATTGGAAGGTGAAGTCACCGAGCGGTGGGCGGGTTCGGTTGGTGCTCACCGAGCTAAGCAGTGTGCACCGGCGTGTAAGGCCTACAACGAGATCAAGCATAATACCGACTCCCAGCAGACCGGATTCAGAGTTTGGTGAGAACCCTAGATTCCCAAAATTCTACACCTTTTTCAAAAAAAAATCGAAAATCGACCCATTTTGGCGGGAATTAAAATTCTTTTAAAAATGACAAAATATTTTTCTGCAGAAAATGTTTCGACTTTTTTTAGAAAGCAAGCTGCGTTTCACGCGGTTTTGGCTTCCCTCATATATTGAAGTGGAAGAGTTTTTGCCTAGGCCATTTCATGGCTCGGATATCTACTGGGCAGATTTACGGCGCGTCGGATTCGGCTCGATTAGTTGTAAAACTATTTAATTGTCCGAATGTGCAGTATATGCGACATTCCCACGCGTTGTCCGGCAGGCGCTTGTCAACGGTCCACTAAAAATTGAATCAGAATCGAGCCGCGAAGCGACACGCTACGCGCCGTAAACTACCCCAGATATCGCCAAGCCAAAATGGCCTAGTTAGCTCTTCGGACATTTCAATGTATGAGGGAAGCCAGAAATCCGTATAAATTTAATTTTTTGTTGCTTAAAAAAAAAAACTAAACATCTATTTCCCAATTCAAATTTCTAGCTGCTTCAACAAAACATATGACGTCATCTCCGACCACTCTGAAGCCCTGATCCTCTCCAACGCGAACATCTTGGACTACGCGTAGGGCTCCTACAAGCTGCAATGACCGATTCAAGCCCACCCCCCCCCCCTTTTTTATCCATAGAGCGCACTCTGATTTGTTCCAGACAACGGAGAAGCCACCACCGAAACCCACGACCCGGGTGTACAGCCCGGAGAGAACCATTCCGCGGTGTGGAGAACTGGGGCGGCACCATCAGAAAAGTTCATCCTGCAAGCGATTCCAAAGATCCGAGACTCGCATCGGCCACTCGAGAGTATTACTAGTATTGTTGCGGAATATGGTCTCGCAACGCTACTTTATATATAATGGATAGTCCGACCGATTTTTGCAATGGCGTGAGAGGATTATATATATATATTTGTAAATTTGGTACCATTCCAAAAATCCAATTTATCTTTCACAATTTTCAAAATTTGCTCATCTTTCACAATTACTCGGGGATTAACACATCTAATGGCTTTCAAATTCATAAATAACAGTTCATATTTAAAGTGATTATTATATTGCAGGAACACATATATCTATGCGTATCGGACAACATATTTTGACCAAATATCTCGTATCGAAAACTACGTTTAAAGGACTGTAGCGCTTGCCATGTCGATTTACGGGCTCCTGTTTTGAAATTTACACGGTTTTCATCGTTGGCTAGCTTCCCCTCAAAAATTGAAATGGAAGATTTTGCACTAGGCTATTTTGGCCACATCGTTCAAAAACTACAGTCGAATTATTAGCGTCAAAATGGTGACTACTGTAGCGCTTGTTTCGATTGTACGGCATTATTGAGATTAATTTTCTTTCGAGTTCCCTTCGTTTTTAATTTTTTGCTTAATTTGAATTTTTTTTTGAGATATTAAAAAAAATGATTTTACACGGTCTCCTGGAGTGTTCATGATTATTGGAGCGCAGTTCCTGATCCTTGCCGCGCTGATTTACTTTTTCACCGTTAGAAAATGAGTAAAATCAAAGATTCCATTGGTCAAGAAATCTGATTAAAATAAATAGGATTATTAATTTTCAAAACCGAGTCACAGGTGGTGCCAGACTGCCCCATCACGGTTTGATTAGATCTACAAAAAATGCGGGAATTTTTAGCCAAAAAATGTGTGACGTGAGCACGTTCTTAAGCATACGTTAAGAGTTGAGAATTCTGCGTGTATTCTCATTATTTGTAGATCTACGTAGATCAAGCCGAAATGAGACATGACACTTTGACACCACGGTCCGTAAATTGACGCCAGTGCTACTGAGTCATTTAAAAAGTTACTGCCTGTCAAAATAATTGCTGTTCCCGTAATATCGCATTCAGCAGGCCACCCTATGAAAACCCAAATTGGAAAAAAATCAATAAAAATTTGAATTTTGACGGAAAAAAAATTGAGACCACATTTTTGTATCTTGAATATAAACCCGTTGTTTATCACAAAAAATTAGTGAAAATCCTTCAAATCATATTATTAGTTCGAAACGTCGACGCGTAGGTGATCGATCGTACACTGGGAATTGCCGGTTCCGAGAGTTCACCGCCGTTTGATATCCTTCTTTGCAAACTTTTGATCTGAAAACATTGACTTTTGCTACCTGGTGGAAGAGCAAACTCGGTCACTATGTTTGTTTTAGCGACAAGGGTATATGCGCAAACCTACAAAATGATCTTCAAAAAAGAATTTTTTGCCCAACAAAATGAAGTGTCAGCACGTTCTGACTAACACCGTAAATCCCGCATTTTTGTAGATCTGCGTAGATCAAGCCGGAACACAAAAATATCAAAGTTTTGAATTTTTCAAATAAAAGCCAGCACACGAGAAGCTAGCCAGCTTGAACAGCAAGTAAATAAGCCACAAAACGCGCACAAAGCTCAAGATCAAACGAGAACTTGGTCGCCCGCATTGAAACTTCTGTCATGTGAGAGAAACGGTTGGGTGGCGTGATCGTTCAAGACAAATGAAAGCATGTAGACTAGTCCATCAATCAGATAGACTGCCGCAATGACTGGCAAACCCTTTGACATCCTGCTCATCAGAACCCTGGAGAAGCCCGCAGCAAACAGACGAAAGAGCAATGTAACTGATGAGGAATAGAATGAGCTCACGGAGAAGTTGAAGAGATCTAGTCGGTGCCCGGGCTACTGCTGCTCCTGATGCAGAATCCGGTGATGGGATTGGCGGCGGCGGCTTTTGCGAGATCGCGAGCTGGCATCGACTAGTGGAGCCGTCCCAGGATGAGCATGATCACGCGGGTGCTGGAGTCGTCCTAGAGAAGATCATTTTTTTAAATCCGTTAATGGACGGAAAATTTATCATCTGGAATACAGGCTGACTAGCCCTATTTCCCGTGGTAGTGTCTTATTTCGTCTTGGTCTACCATGATCTACAAAAAATGCGGGGAAAAGAGACGCAGACTTCAACTCTCAACGTATGGTTAAGAACCTGACGTCACATTTTTAATGTACAAAAAATTCCGTCGCATTTTTTGTAGATCAAGCTGTAACAGCACAAATTTCAGCCCTCAATATATGCGATGTCCTTGTCGCCTTATTCCACGACACACAGATCAAGAGCTAGTAGCCAGAGACGCGCCGTGTAGTAAATCAGTGAGGCCACTAAAGAACATGGAACATGGGAAAGCCCTCCGACGACCGACGAAGGTGATGTAATCGGTTCACGAAATCTGACTGTCTTTGGAACTTCCAAAATTCTTTTTGAATGGTTCGAAAATATTGAGTTTGAGCCTAGTTAAGTCCATTTGAAGTTGGTGGCCTAGGATTTTTAGGAGTATTCTAGGCCGCCAACTTTGGACAGCCATAACTTGGCTGAAAATGAAAATTTTTGAAATCTAATTTCACAGTTGAATTTAGCAGACAATGAGCTTAAATTTGAGAAATATTTTTGCGCCTTGCCACGAAAGCAGACCTACAGTAATCCCGCCATGCATAAATTAATGTTAACTGAAAGCTCAGAGTATGCTAAATTTAAATACAAAGTTCGATTTCCAAACATCTCGATTTTCAGAAAAATTATGAAGACGCTAAGTTGATTGGGCCTAGCATTTTCCTCAGAGTATTCTAGGACGCCAACTTCAAACGCTCATAACTTGGCTCAGAATTAATATTTTAGAGCAAAATAACAAGTATTTAACATAACAAAAATCTTGTGATCTACCGCATACAAGATGCGCCCAATTTTAAATATCTAGGCCACCAAATGAAAACCGTGACTCGGCTCAAAATTATTTCTGCTTCAACCAAAAACCAATTCATTTATATAAAGCCCGGTGTCGGCTCAATTCAAATACCAAGTTTATTTTCAAAATACCAATTTTCAAAAAAGCAATGAGCGTTCTAAGTTGGTGGCTAGGATTTTCATAGATATTCTAAGCCACCAACTTCAAACGCTTATAACGTGGCTTAAAATCAATATTTTCGAGCAAAATAAAAAGGATTTAATAGAAAATCTTGTGATCTATGCAGAATGCATAAATTCTGCAGAGGTCACTAAGTAAAATATTCGGTGCCACAAGCCTCGGCCGAAAGTTATTATTTATGTCTGCTGAGCCAACAACCAAATTCTCCAAAAACTGCTTACCTGATTGTCTTTAAACGAAATGCTCACAAGATAAACCCATGCAAAACGAGAGAGAAGAAAATGGACGGCCAGTTTTCGTAATTACTGTGAGTGGAGCATCTCGAGACGTCTAAAAGATCCTGTTTTTGGAAAATTAGGCCACACATCACACAATCCAACACTTACGACGAGTATGAAGAGTGATAGAAGTGTTAGTATTACAGAGCTCAGCGAGAGAATCACCAAGCGTCGGGTTGCGGATTCACGTCTGAATGTACTCATTTGTTACTGAACTAGGTCTACCTAAGCCTAAGCCTAAAGTAAGCCTACCTGCCCAACCTTCGGTTCGAGCACTAAGGCACACACTTTGAGGATCGATTCAGGAACAACCCGACCTGGGCATTTACCTTTGACGCAGGCGGTGATCGACCTCCCGTTGAATATCTACGTCGATGCATTACCGTCGTCCTTCTGGAAAGACAGAAGGACGATTGATTTGAAGCTCTGTATCTAATTACCCCTGTTTGATGATCAGAGGACGGACAGATTACAATCAGATGTTCTCTGTTTTTCTCTGTTTTTTGGTAGCTAGTATAGAAAACTATAGAGTACTGTAATTCCTATTTGGGGCTTCAGCTAGGTATTGTGCTATTATTAAAAAAATACAATTGCACAAATTTCTCCTGATTTACCTCGACATGTTGAGCTTGACTCCGCCCCCAATCTTGTTACTCTTTACATTAAGGTAGATGAAAAAGGAAGATCAAATAAATGACGAGAAAATTGTGCGATGGAATTTTTTTCTATAATATCAAACTTTTATTTATCATTTTAGGACATTCTGTGATTAACTTTTATAGTTTCACGGATTTCTGGCTTCCCTCAAGTGTAAAATTGAAATTGAACCTGGCCCTAAGTTTTCACTGGACTAGGCCATGTTGGCTCGGCCACGCGTGGCGCGTCGCATTCAGGCTCGATTTTAGTTGTAAAACTAAATATTTCCCACCCGTTGTCCGACAGGAGACTGTGAATGGAGAGCAAAAAATTCATTGAGGGAGGTTTCTATTTGGCAGCTTTTGGTTAGTGGTCTTTCAAAAAATTTTTCATAATTTTCAAATGATCATAACTCTGAAACTACAAATTTTTCGGCATAAAAAGTGCTTAATATTGTAAAATGTTGCTCTGTCTAGTCTATACGATAAATCCTTATTGTTCTCAAAATTTTACATTGATAAACAGGCCAATAGGTACAGCGCCCGACAACTCGCGGGTCCAAAATTCAAAAATGGCCAAACTTCGACTCGCGAGATCTCGAGGGCTAAATCTATTGACTTTATTTTTTTGAATTTTTCAATTGGAAAATTTGTTATCCAATAGAAAAATTTATGAGCAACATATTATTAGTTAAGCGTTTCTTGCCAAACATTTTATATTCAGGAGCTATACTCATTTAGCGAAATTTTTGAAAAAGGCAAACCAAAAAGCTGGCGCGGCAAACGATTTTTTCCCGCAAATCGGCGAATTGGTGCCGGAATTAAAAATTTCCGGTAAATCGGCAAACCGGCAAATTGTCGAATTTGCCGAAAATTTCGGCAAATTGTGGTTTTGCACTGTTTTTGGAAATTTCAGAATTCCAATTTCAAATTGCAAAATTATAGGAAACTCATCCTATGAATGTTTCTATCTATTTTGAAAAGTAAGTAAATTCTATGAAATTATATAAACGACGGAAAAAATTAAGACCTCGTTTTAAGTGTTTCCGTCTTATCAAAAAAGCCCTCTTTTATCCGGCAAATTGATATTCGGCCAACGAGGGAAATTGGCGAGTTGCCGGAATTGAACCGATACTTAAACTTTCTTTCGCTGCAAACTTTGCCCTCTCATCTTGAATTGCTCCTCGCTGTTCATTAACTTTGGCCCTTTCATGCACTTTCTCTTTGTTCTCCAACGGGATATCACAACGAATCACATCGGGCCACTTGAATCCGTTCCAGCACTGGAAGACACTTTTCCTGGACGGAAAGACACAATGGACGGCATGGACCAATTGGGTTGGCTAGCGTAGTTGAAATTTGAACGATGATAAGATAAAATTGTGCCTGATCTCTGATTGAAGTCACTTTCTCGTTGCACATCGGGAAGTGACGGAGCACATGAAGAATCTACTCGGAGCAGATAACGGAGAGCAGGAAGAAGGCTTGTAGGTGCGGATGGATTCAGGAGGCGTCTTTGCATGATTCCGCGTCGACGAGATTTGTGCAACTGGAATAAGGGCTTGTAAACAACGTTTGAGAAACTTGAGATTTACAGGGTCAAAAATTGCTCACGACCTCTCCGGGTGCCGATAAGTTCTTGTGCGGAAATTTGAGCAACCAAAAGTTCTGCCGATTGCCGTATAAATCGGGTACGGCAACTTCGGCAATCGCCGGTTACCGAAGAATGTTTTAGAGTTCTGCAACTTCGGCAATTGGCGGTTGCCATTTCTCTCCACGAAATTTCCCACTATTAGATTAAACAGCAAGTGCAAGTGGGGGTGACTCAAACAGGAAAGAAATCCGGCACTGGTGCCGACTTGCCGGAAATTTTCAATTCCGGCAAATTGTCGGTGTTCGGATTTGCCGTGTGCCGGCTCTCAGATTTGCCGGAAGTGTGTAGAGGGATTTTTATAAGACGGTAACACTGAATACTCCATTGTGCCTTTTTGAATTTTTCAGTGTCGTTTTCTTTGGCTATTCATAGAATTTGCTACTTGTATGGGCAAAAAAATGTAGGAACATTCATAGGTTTAATTTTGCTATTTGAAATTGAAACTCTGAAATTTCCTGGCCAAAAAAATGCAAATCCACAATTTGCCGGAATTGTTCAATTCCAGCAATTTGCCGATTTGTCGTTATGCTGGTTTGCCGGAAATTTTCAATTCCGGCATCTTGCCGATTTGCCGATTTGCCGGATTGCCGAAATTTTTCAATTCGTTAGCCGTCCACCCTGGATCCTGCCATCCAAAAAAAAACGGAAACCATTTTTGGCACATTGACGTTTTCCGCCGGCAAATTCGGCAAATCCATGTCAATGTGCTGCTGTGCCGTTTTGCCGGTTTGACGGAATTTTTCTATTCCGGCAATTTGCCGATCTGCCGACTTGCCGGTTTGCAGGAAATTCTCAATCCATCCGGCTCAATATGCTGACGATTTGTCGGAATAAATTTTCAATTCCGGCAATTGACGACGGTTTACGGCTGGAAATTATCAACTTCGGATTTTGCCAATTTGCCGTCTGGCCAAAAATTTAGGGTTAATTCGGTTCGCCGTTTTGCCAAAACTTTTAGGGTTCGGCAACTTCGGCAGTTGCCTGTATCCGCACATCCCTGTCCCACACCCCAGGTGGAAGAACTGGTGGGAGTTACTAGCGGGTCCATCAAGAATGGGACAATCATCAAGTCAACACAATCCTTAGCCGACCTTCCCAAATTCATAATTCCTTCCTTCCAAAGGCAACGGTTTCCGGTCCTTCCAACTGCTTAATACCAGCCACCACCACCAAACCCTCTCCTTCTAGAGAACAAAGTTGCATACCCCCTTTCATTGTTTTGGAGAAAGGGGCGTCTTGTGGTGCTAGTCCGGAGAGCCTGAGGACGTGACAAGTGATAGACGGGCTTATACTATCGGCTCGTCCATTGGATTTCATGCGCCTAGGCAGAGTGCACGGCGGGAGGTGGGGACGCAGGTTCCCGTCCAACTATTGCCGCAGAGCATCCCCTATCTGCTCCTATCAATTGTTCGGAGAGACTTTTTTGTGAATTTTGCCTTTTGCAAGAGGTCTGAGATTTGGGATTTGGGCTTTAGCCTTTAGGCTTTAGGCTCGCTTGCCTTGCGCCAGAGAATGGAAATTTGTCCGTATTTTCCCGGATATCAAAATATGATCGAGGCAACTATAAAAATATAGTAAAATTTTCCAGGTTTTTTGTCAGTTAGTATTTATTGATTAAAACAAAAGAGAGCGGAGATATAAGCTGTCAAAGTAGAAGGGTGGTTTGATCTACAAAAAATGTGGGGATTTTTTTTCATGCTGATAAATAAAAAATGACTCCCACAAATCCAATAAGCCTCAAACTTAAGTTCCTCCAATCTCATCCCCCTCATAAACCATTAACTAAATCGGAGTACTAGATCGCCGGTAGTATATATCAGAAGAACAGTTGCTCTCCCTCTCGAACCGACTTACACTTGAGAAATAGAATAAATTGTGGAAGAGAAGTGACGACATCATAACCTACCACTTCACAAGTTTAGATATATATATATATATACGTACTAGTTGGACTAGCTAGGACCTAATTTAGAACGCATAGGTATCGCCTGTAAGTGAGGACCTAATTAGAACTCACTAGGACTATAGTATATATATATATATATATATATATATGTAAACAAGAACCCGGGCGGGTAACCCCTTACGGTCAGAGGGGTGTCCTACACCAAGGGTATGTAAAACCGTGTCCTCCAGATGTCGACGTTGAAAGGGAAAAAGTGCAAAAGCGCGCGGCTTCGCGCAAACCGTAGCTGATCCAATGTAGCAACGTTTTTGATTTATTGGAGGAGATATTTTGCCAAAAGTGAAAAAAAAGTGCCCCATATGAGATGCGTAATAAAATTCCCTACAAGACCTTAAGAAAACGTGGCGTTGGCTGGCAAAAAACAGGTGGCAATGATAACGGTGTAGGTGTGCTTGTGTGTGTGTGTGTGTGCTAGAAGAGCATAGGCTCGTGAATCGTTATAATTGATGCTGGAGGAGAAGGAGACGATGGGCCTCCAAAGTGTTACACCTGGTATTGTTGGGAAAAAATTGGGAGAAATAGGCATTAAACTACCTAACCTAATTGAGTTTCAAAGCTTATCTTATTATAACTAAGAGGTGTGATAATAGATAATTAAAGAACTTTAAACTTATCAAAACAACGCTTTCAAATCTGTAAAGCTGAATTAGGATTTGCGTAGTACTAGCTAAAATCTAGTTGGGACCTAGGTCTGAGACTATCTAGAAACTTCGGACGGAACTATTTAGGAACAGTTAAGTCTTAAGGCCTGCTTGGGTACAGGTAAACATGTTTAGAATAGGAACTAAATAGGGAAGTACTAGTTAGACTAGTAAGACCTAATTAGAACCTAGGTAAGGCCTGTCAGTCAGGACCTAAATAGGGCGTACTAGGACTTAGGTCTAGTTAATGTCTTATTAGGACTAGTTAGGACTAGCCCTAATTAGAACCTTTTAGGTACGGCCTGTTAGGGAAGATCTGATTAGGCTTTAGGTAGGACTAGTTAAGATAGAGTTAGGCGACTCGAAGTTAGGACTAGTTAAAATTTAATTAGAATCTAGGGACCGTCAGGACCTAATTAAGACATACTAGGGCTTAAGTAGGACTAGTTAATACTAGTTAAGAACTGAACATAGGCACTGTCTCTTAGGCCTAATTAGGACTCACTAGGACTTAAGCAGGGCTAGTTTAGTTATTGTTTGCACTATTTGACTAGTTATGTACCTAATTTAGTACTCACTAGGACTTAGGAGGACTACGTTATAATGCCTTGTTAGTAATATTTAGGACTAGTTAAAATCTAATTAGAACCTAGATATATCCTGTAAGTTAGGACCTCATTAAGACTTGATTTCCGCTAGGATTTAGACAGGACTAGTTAAGATATTGTTTCGACTAGATTTTTGACTAGTTAAGAGCTAATTAGATCTTAGGTACGGCCTGTAAGTTAGGGCCTATTAGGACTGAATAAAAACTAGTTTGTTACGAATGTAGTTAGGACTAGTTAGGACTAGTTAAAACTTAATTAGCACCTAGGTACGGTCTGTTAGGGAATACCTACTTACCAGGCCTTAGGTAGGACTAGTCATGACCTAATTAGAACCTAATTATAACCATTTCTGGGCACGGCCTGTTAGGGAAGACCTAATAAGGACTTACAAGGACTTTTGTAGGACTAGTTAGGACAAGTTAAGACCTATAGTGGTTGTCCTGTAACTTCGGACTAGGACTTACTAGGAAGGTAGGAAGCTCGTTAAAAGGAATAGTTGAAAATTGGGACCTCATAGTTAGACCCTTAATTTTGTACACATCCTTATTAATATCAAGACACATTTTAAAAAAAAACGACTTTTTTAAGTTTAGCTATATAAAACTATAATTATGGAAAATTTGCTGCTTTCCTTGAAATTCGAAAAACCTAGCGTTTCTATAAAAAACCATCTGGAAGTAAATTTTGAAAAAACCCCGTCATCCAACAAAAAGAAATCTCACTCACTCACCTCGTTAAGTTATCGGCAAATCTTTGCACATCTCATGCACCTTTTGACACCTCTGCCCGTCCACACCAATGTCACAAAGAGCAACAGGAGCCTTCCTAGGTTACCCCGAACCACGACAGATGGCATTAATGCTAAGGAATTGGGCTCACAGCCTAGAGAGGGTGGGGGAAAATATTGAGAGTAAAAGAAACAATGAGAAGAGGGAAAGACGGAGGATAGGCGGGGGGGGGGGGGGGGGGCCACAACAGTGGCAGCACCACCAGGGCCTGTCCGTTGACAAATGACCCAAACGGACGGGTGGGGCAGACCTGTTGTGTTTGTTGGGAGATGGCTGGCGGTTATCAGATACTTGTATTAATGGTATAGAGAAACACCAAGAGAGCTGAAAGATGGAGAGGCGAAAGAGGAAGAGAGGGGGGGGGGTGGAAGTTTTTACGAGCCCTTAATAAATATATCGAATCAGGAAATCATTTGATGATAACGGAGGAGCGCGGGGACGGAGACGGATCATCATTATGAGGACCGAGGGGTGTGCGGCGAATTTTTGCCGAATTTGCTGTTTGCCGAGCTCCGCAATTTACCGAATTTGCCAAGCTCGGCATATTTCAAAAAAGTAGATTTGCCAAGTTTGCCGAACTTGGCATATTTCAAAAAAGTAGATTTGCCGAATTTGCCGAGCTCGGCATATTTCAAAAAAGTAGATTTGCTGAATTTGCCGGCCGAGTTTGCCGAGTTCGGCAAATCTGCCTTAGCCGAGCACGGCATATTTCAAAACATTTGCCCGAATTAGCCGACCCGAGCTTGGCATATTTCAAAAAAGTAGATTTGCTGAACTCGCCGATCTCGGGAAATGCCTATTTAGCAGCACGGCCTAGTTCACAAAAGTAGATTTGCCGAATTTCCCGAGCTTGGCATATTTCAAAAAGTAGATTTGCTGAACTTGCCGGGATCGGCATTTTTCAAAAAAGTAGATTTGCTCAATTTGCCGAGTTCGGAATATTTCAGTAGATGAACTGTGCCGAGCTCGGCATTTCTCAAAAAAGTAGATTTGCTGAATTTGCCGAGCTCGGAATATTGCAAAAAAAGTAGATTTGCCGAATTTGACAATCTTGCCGTGCATGTTCCCCAATTGAGTTTGCCGAACCATACTTGGTCCAAAAAAGGAGATTTGCCGAAATTGCCGAATTTGCCGAAACAATGTGCCCATGGCGAGCTCCTGTTGATTTTTTTCCAAAAATTCAGTAAAACGACACAAATTTGTTTTAAGAATTCATTAGTTTCGGTGCTCCGAACAACATCACAAAAGATCAAGGGATTTTTCCGAAGTTGTTAAGCACAATTTGCCAAATTTGCCGAATCCGCTAATTTTGAGATTTGTCGCACACCCCTGATTAGGACCGAGCAAAGGGCCTAACATGATCTCACAATTTGAAAAATGAAATTCAGGGATTATTCTTGGGAAAAAAGTATGAAACTCTTCCTCCGCCCGTTTCCGGCAGAAACAATTGAACCAAACGAGCCAAAAGTGCAGTGTACAGACACTTTGTTGGGAGTGGAGAGAACCAGAAGAAAGATGGAACTTTCTTGCGATGAACAAATTTTGGATCACTGGAGGGAAAGATTGGTGTTTATTAAGCTTTTTAAGTCAATATTTAGAACTCAATAGGCCCAAACAGGCCTAATAGGCAAATAGGCGAAGTAGATTAAATATGCCAAATAGGTATAGGTTGAATAGGTAAACAGGCCCAATAGGTCAAATAAGCTATAGGCGAGACTGTTGCTCAGATACTTTTTGACCTGGTAATGTTTTTCTACACGAAAAACAAAAAAGTCCCTGCTCTATTAGTTTCGGCAGCAAAATTGTGATTTTTTTCAAAAGTTTCCCATTTGTGCCACTTTTCAATAGTTTTTGATGGGTTAAATCTATATTTTCTGAATTCAGCTTATATGAATTACCCGTTTTCAACAAATTTAGGCAAATTTTTATTTTTGCCCAATCTTTTTAACCATCTAATGACTGATTTTGGGTAAATTTTCCTGAAATTGTACAAAAGCATTAGAAATTGATAGGCCAGTTTATAGGCACATGAGGTTTTTCGGAGTGGGTAATCGTCGTTAGGCGAATTATTTGGTTGACAAATTCGACAAATGCTGGTTTGCCGATTTGCCGGCAAGTATTTCATTTCAAAATATATGTAGGAACATTCAAAGGACGGTTGCTTACAATTTTGCCGGATAAAATTTAAATCTTCTGAACTGAAATTCCTTTAAAAAAAATGTGCAAACCCATAAGTTGCCAGATTTCTAATTCCGGCAATTTGCCGATTTGCCGATTTGCCGTAAATATCAATTCTGGCCAATTGAAGATTTGTCTTATTTTCCGACTTGCCGCATCCCCTGATGTAGGCATCAAAACGAATGTACACCAAGTTTTTTTCAGAGTTTTTAAGTTTACCTTCTAATTATAATTTTTAGTGAGGCTCAAAAAGTTCCAAAATTAATTCTGAAATTTGCTCGGCAAACGGCAAATTTTCCGCACACTCCTGTTTTAAATGTTCACCGCATATTTAATTATTCCGGAAATCTGATTCCCTCAAACAAGTTTCCATCAAAAGTGTTTTCCCTGATTTGTTGACTCTGACACCGACGGTGGTCGTTCCCCCCCCCCCCCACTCTCTCAATTGGCATGTAAATGACCCCGTATGAATGAAATGCCTTTTGGCGGCATAATGCATATCGCCTAGTACCATTATTAATCTTCCATCCCCCATTGTCTCCATCTATATAGGGGGGAGGATGCGTGATGCGTGAAATATGCAAGTGAGACTTCAAATTGAGCGTGTGAGATGTAGTGGCAGATGGCTGGCTGACAACGGATGAGCTCAGTTCCATCGACTGTATCACACGGAGGACTTGGAAGAGAGCAGGGAGATGGATGGGGGCAGATGGCGTCATCTATGGACCATTTTTTTTGGAGCTGTTCACTCAGATATTAGGGTATTCTAATCCCCTTTTTAGGTCTATTTCTGATCGTAAAACTTGTTCTTTTCAACTCATTTTTAATTCAAAAATTTCAAAAGTTTGTCGTAAAAATTACACAAAAACCTAAATTTTGATCTGATTTGAGGCATTTTAGTCCCTTGTTAAGCGTCTTCGATGCACCATTGTTCAACTTGTTTAAACTTTTTAGTTCCGCATTCGAGGAAAATGGAAAATAAAAAATTTGTAAAAACCAGACTTAGATTCTCCGTAACAACGCTTTCATGGGAGGTCACACGCCCGGTTTCACGGCCTGATGCCTACGTCAAACCTGCCTCACGCTGAGTCGGCCTCACGCTCCATTTCTGAATTTTGGCGAAAAATCAAATACTTGGTCATAGTGAAAAGGTAATTTTTTCAACCCGACACTTTTCGGGTTCCGCGCCGCACTATACATGAGGCGAGGCCCGCGGCGCGAGGCAGGAGCGGAGGTCGCAGCAAGGCAGGCGCGGCAAGCGTTTTTGCTTGCATGGATACCCTAGTCTAGACAAAGCACGAAGTTCTGGCTTCCCGCATAAATCGGGAAGAGTTTTTGCCGAACTTGGCCATTTTGGCTCGGCCATATCTGGGGTAGATTTGGCCGTCGTGTTGCGTGTCGTCGCGATTTTAGTTGTAAAACTAATTATATTTGTCCGTGTGGAGTACACGACTTTCCCATGCGTTGTCCGGCGGGCGCTTGTCGATGCAGCGCAAAAAATTCAATAAAGGCCAGAACCCAGTGAAAAAGATAATTTGCGACACTTATAAATAATGTTTACCATAAAATTTTTTTTTGTAGTTTTGATTTGTGGCTCTCCTTGTTTTAAGATGTGAACAAGTTTCATCACCGCTGTAAATTGGTGGATTTGTAAAAAATTATGTATTTAAAAATCAAATCTTGATTCTCCGGGATAGAAGCATAAATCAAATTTATTACTGTAACATGTTCACTTTCAGTACGTTTCATTGAAATTTTTAGGCTTTGAATTTTAGGGCATCATAGTTTTGCCTTCAAAATCCACTTGCCCAAAAAACAAGCCAATTCCTACTCGGCGGGGGACGATGGTTCGATAGCATCAATCATATCGGTGTGTGTGTGTGTGTGTGCAAGGCGGGGGATGTAGCTGGCGCGCGAAACGAATAAATCAAGAAACGTCTCTATTTCTGCGAGCACGGATTTCGTTGAGAGCCCGGGCGCTCACGCGGTCTAAAGGAGGAGAGGGTAGTACCACTTCTAATGCAATACAGGGCATACTTCTTCCATTTCCATGTTTTTGTACTGTGATAAACCAATTGTTAACTAGCCAGAAGTGGTTCACATGTTCCGTAAAGGTTTGCAGGGTGTACTGATAATGAATGTCTATTGCTCTGTGAGGAGACAAAGAGGCAACCGAGAGCAAGTCAGTTAGGTTAGGCAGGTGACTTTTCAATTGTGACCAGGAAAAAGTACTTTGGGAATTTTTTTTTATTTTTTGGCTACTGGCCAGATTTTCAGGATTTTTCAAATATTTACAGAAATTGATTCTACATTATAATATTTCTGTAATTTTCTCAATTTTCAAAAAATAGCCAATTAATTTTGAAGTTTCGAATGATTGCCGATCACAAGTTGCCGACTCCCAAGAACACCGGCAATTGATGGCCCTTTGCCGGAAATTTCGAAAACCGGCAATTGCCGAAATTGCCCATTGCCTTGGAAATTTCGAAAACCGGCAATTGCCGAAGTGGCCGACTCCCGGAAATTTTCAAAACCGGCAATTGCCGACATTGCCGACTCCCGGAAATTTTGAAAACCGGGAATTGCCGAAGTTGCCGACTCCCAGAAATTTTGAAAACCGGCAATTGCCGAAAGCGCATTGCCGATTGCCGGAAATTTCGAAAACCGGCAATTGCCGAAATTGCCGCTTGCCGGAAATTTCGAAAACCGGCAAGTGCCAAACTTGCCGAATGCTCCGGAAATTTTGAAGACCGGCAATTGCCGAAATTGCCCATTGCCGGAAGCCATTTCGAAAACCGGCTGCCGACCAAATTGCTAGCCGGAAATTTTGAAAACCGGCAATAGCCGAAACTGCCCTTTGCCGGAAATTTCGGTGCGAATACCGGCAACGACCAGTTTCCGACGAAATTCGAAAACCTGCAATTGCCAAAATTGCCGCTTGCCGGAAATTTTGAAAACAGGACACTGCCGAAACTGCCGAAACTCCCGGAAATTTCGAAAACCGGGAGACCGAAATTGCCGACACCCTTTGGGTAATTTCGAAAACCGGCAATTTCCGAAATTGTCGATTGCCGGAAATTTCCGATCCCTGAGTTTAGCCTTTTTCAGCAAATCAAACAGTTTATGATTCTTTTAATTCAAAAATTGTTCTGCAGTGATCTTGCATCACTATTGCTGTGGCCCTCCTTTCAATACAGTACTTTCTACAGTACCACTACATTATTGATGCGTAATTTCCAGTAATGCCATTCGTACACATTGTACCACTACAGTTCCTACAGTACCCTATACAGTACCGTCGCAAAACAATTACCGTAACAATGGAAATCTTATAATAGACTACAGTGTTATACAAAAACTACAGTAACCCCCTTGAAGTTAGTGTACAACTTGTAAATGACGCTTTTTTCTTTGTTTTTTGCTAAGTTCAGAAATTGTAGAGTGTTTTTGGCATCTGCTCAGATTTTCAGAAATTTTCGTGATTCTATAGTAGTCTTTTTAATTTTCTCAATTTTCAGAAGTCTGCAAATTTAAATTGAAATTTCGTGAATAGCTTAAAAAAACTCAAACAGTTGGCACAAATTTTCGTAGATTCATGTACGAGTTTCAGCCTTGTTCAGCAAATCAAACAGTTTTTTATTTTTTTTTGATTAACGTTTTAATTGTTCTCACCCCCTGCAAAGTACTATCAGGTCCTAACGGTAATATTAGCCTACCGTATCACTACATAGTAATCTCCAGTACTTCTGTGCATGCTGTACCCTTGCATCATCATAGTGGTCTTTAAACCTACAGTACTTCTGCAGTAGCACTACAGTACCACTCAGAATCTCTCCATTAGATAGACGGCGTCTCGTATCGTACCACTACCGTAATCCTACAGTACCGCCACAATACCATTACGGTAACACTATGAAAATCTTACAATAACAGTATACAGGCCGGAAACTAAGCCCCCTTGAATGTAAAACTTGCAAATCTCTACCGTTCCTACAGTACCCCAATGCAGTACCACCGCAATACAGTTGGCATAACACTATGAAATCTTACAGTACACTACAGTAGGCAAAAACTACAGTAACCCCCTTGAAGTTGGTGTAAAACTTACAAATGTTCAGCTTTCTTCTACAAATTTGCCAATAACTTGTAAGTTGGGGGAGCGCATCGAACTGTATACATATATGTACATGCCAACCAATTATTTTATCAAACAATTTATTAATAGTCGAAGACACCTGAAGCAACGATTAGGAGGAAGAACACGGGCAGGGAGATAGGCAGAAGAAGAAGAAGAAGACGAATTAGTTGAAGAATCTGTTGAAACGGACGACGTTTGTTTGTGATGTCGCTGTGCGACAGCTTCTCGTTGCGGACGGAACGATGTTCGCACGGCGAATTCGGTGGCGAGATGTCGGACACGTCGATTGTCGACGAGAAGGGATCAGTCGAGACGGTTGAAGAATGCTGAGGAGGAGGATTATGTCGACGTTCCCGTCCACGACACGGGCCTGGGTACAAGTGATACAGACGTGAAGGTTACAGAAGATGTTCACCCCGTTGCGGAGGTATAATAGTCGTTGAGAGGTGGGTGGTGAACATGAACAAAGAACTTAAGAGGCTTCGTTGGGAATGCGCAGGCCTTACTGCTATGTGGTTGTAGAAGATGGTCTTACCATTGCGTCGAGGCACTTCAAAGTCCCCCCACACCTGGAACACAAAATTTTCAATGGTAGTCTCAAATAATATGCAGTGGCCGATGCACTAGGATAAATTGCCAAACAAGGTGCATCGACGCTAAATAATTTTCTTTTGAAATTTCATTTAGAGATGTTTTGCTGCGCAGACTTTCAATCATCTTTTTAGTTTTCCTCTCTAATATCATCAGTGCATCGAGAAAAAATGTTATAGCAGGAGTAAAGAAATTTGAGACTTTACTTATTTAGACCAAAAATGACCCAAAATTAACGAATTGTTTAGTAAGACGTTTTGAACATTTTTCAAAACAAAGTTCTGGCGGTTCAAAGTTCTGGAAAATAGCACATTTTCAGCTAAAATCTAACCAATGTTTTGGGGGTGTGGCTGGGGGAGCTAGGAATCAAAATGTAATGTCATTTTTTTGTGCCCCACTGCCCGTAAATGGACTTTAAGCGACGAATAATAACTGTAAGGGCCACAATATTTATAAAAGAGTTATAGTTATAAATAGAAATTGAGTTCCGCCCGACCGAGAAAAAACTTGACGAAAATTTAGCCTTAATTTTAAAATGGGACTTTTTTTCCAAAACATTGAGCGATAACTCTTTTTTGAGAATTTTACGTGTCATTTAGAGTAAATTCGGTAGATTTAGGTCATTTTTGATTACTAAAAAAGTAAAGTCTCAGATTTTGATACTTTCTCGATGCACCATGATGAAAAGAAAAAAAGAGAAAGTTTAGGGTTAAAAAAAAGAAATCCGTAGAACCCTTCCGACGTTTTGGGAAAGTATAGCAAAACAAAAGATTTGTAAAAAATTCAATTTCAGTAGGTTCCCCCTATTAAATTCTCAATTTGTATCAATGCACCATACATTTTCAGCGTGAGATTTTGTAAAATGGACAGGAATGAAAATTGATCAGGTGTGTATAAAAAAGAAATTGACATTTTGTTTTTTTTTTTGTCAATACACCATGATGAACTTCACGTCAAACATGGTACATCCTGGAAAGGAGAGAGTTTGAAAAATGTATCATTTTATTCTCGATGCCATGAAGATTTATATTAGTAGAAAAACCTTAGCATAAGTGGCATAAAAATAAAGGTGGAGTAGCGTGGGGATTTTGTCTACACTTATTATGATCCAAAACGATAGAATATCTTAATTAAACACTCCAAAATATTTAAGATTTTTCAAAATTTCCGGTAAAAGTTTTGGCAACTAAATATGCTTGAAAAAAATATGAGCTTTTGAGGAAATCTCATCCAAAGCAATGTCGCGTGTTTCGACCCACTGTTTTTATGGTCGACAATGTAGAAAAAAATTTTTTTTTGGTCGACTTTTAAAATTAAGATGGCAAAAACTTAGTAATTGCCTATTTGACAATAAAAAATTTTCAAAATTGAAAAGTTTTATTATGATATTCGATTATTCTGGCACCATGTGAGTATGGTTTGTAGTAATTTCCCCACTGGGCTACTCCACCTTTGCTTAAAATTAAAAAAAAAATCATAATCACAGGGGGATTATTTAATATCAATGAAAGTTTCGATTTTTCCAAATGTATCAAATGCAGTTTTCAGCGCGAAATTTATGTGCAGTACTTTTTCTTCCAATAATATATCCCGAATGATGCATTAGTTATGGGCTACACGATTTGTTAGAAAAACTGGCCATGCTTAAAGGTGGTGAACCGAAACTTGATACTCTGTCTTTTTAGATCCAAAACGGTCCAAGACTACCTATCGAATATTCGTATTAACCTGTTCTGAAAACTTTTCAAAAAAAAAAGTTATGGCCGTTCAAAGTTTTGGAAAATGGTCGATGTTTAGCTAAACTCTCAAATTTTGGCAATCAACCGTCTGTCACAGTTGGAGCTTAATGTTAGAAACAACACGTGATAAATTGCAAAAACATGCCTAAAGGTTCCAACCGCTCCGACACAACCAAAATTTGAATTTTCGCTAAACGACCATTTCCTCTTCCAAAACTTTGGGAGGTCATAATAACTTTTTTTTTTGAATAAAATTTTCAAAACGTCTTAATACGAAATTTGGTAGTTTTTGGACCATTTTGGGTAAAGGCAAAGTATCGGCCAAATTTTGGTACTTTCCACTCAGCCTTTCAAGCAGAGCCCCTTTAAAAGTTTGACCGAGGTCCCAAAATTTTGTAAGTTTCTTCCATGAACCATGATGATTTTGAGCAAAATGTTAGTTTTTTTTTTGTGCTTGAAAAACTGGTGGCAGGACAGTTTTCGGGTGTTAATAAATATTTCGATTCACTATGTTTTTTTTAATGAAACCGTACCTCCCTTCAACACAAGTCTGCACATCCGTTCCGTCTGTGGTAGCTCGGAGATCCCGCCATTCGCCCAACACCTTCCGATTCGTCCATTCTGATCATCGCTCATTTCAACTGTGTACGTCTACTATTTACAAATGCTAGTTTCTTATGATTTATGGAGTCATCCTGACTTACTATCACCAACTGCTAACACGTTGTAGCTGAATCCAAACTGTCCCCGTTTAGACGCTCACCGAACTCGGTAGTCGACTGTCTGAAACATTATATGGGTATCGCAGCGATAATTTTGAAGCCTTACCTTATTATCCGATAGGCAGCTTGCGTGGCATCCGAGCACTTGATAGTGATTCCACCAAATGATACGGTCACCTGAGATTCTTTAGGAACAGGGGCAGAAGGTATACATGCAGGTCAGAAGGTCGTTTGTCGGTTTTTGCACCTTGAATCTTAAAAAAAAACGATGAGCAAGTTATTTTTTATTTTTGTCTATTTTTGTTCGTATATGGTTTTTTAGGTACCATGGAATAAAAAAAATGCTCCAAAAAAAATTAGTTTACAAATATTACTGGTACAGAGAGTGTAGATAGTTAGAGAGTGACTGACCGCATCCGGTGTGGACCCAATGGGGCGGGGCGCGCGGAAGGAGACGATTGGTGTCGATTTACGAAATGATGACAAAGAGGAACGTAAATCGACACAAATCGCCTCTTCCGCGCGCCCCGCCCCATTGGGTCCCGGATGTATGTCACTCTCTAACTATCTACACTCTGTAGGTCCGGTAATACCATAATATGATCATTATGGGCGTCTACATTAGAAAAAAATCGATCTGAAATCACAGATTTTTGGCCTCCCTCATAAATTGAAAAGGAATAAGAGGTTGCGAAATTAGGCCATTTTGGCTCGGCCATATCTGGGGTAGATTTGCGGCGCGTTGCGTGTAGCGTCGCGGCTCCATTTTAGTGTAAAACTAAATGGAGTTGGCCGTGTGGAGTACACGACTTTCGCGTTGCCCGACCAGCGCGCTTGCCAATGGAGCGCAAGAATCAATGAGGAAGGGCCATGGCGCGCCAGAACCCCATGATTTTTAGGGTATTTCGAGGTTGGCAGACGCAATATGCTGGAATCTTTTTGAAAAATTTTTTTTTTTTTGAAAAACAAATTCCAAAAAATCTCCTCATCGATCGAAACATTCTTGGGTGAAAAAAGTTGCACGATTAGGAATTTCAGAAATTAGAAAAATTCGAAATTAGGAGAAAACAGAAAATTTCCAAACTGCTTTCAGAATACTTGTATACATGAAATAGCCTAAAAATCATGAAATTTTTCAATAATTACTCTAAACTAGCCCAAATTTGGTAGTAAATATTCACTGGCAGCAACTTCAGTGCGAGATTTTTCTACTCAGTTTTAAGTGCTCGTATGTCGCTGAATTGTTTGTAGGTACTTATTTGAAACTCTTTTGTCAAAATTCAAAAATTTAATTTTCACGTTTAAATTTTGAGTAGCGCCAGTGGGGGATTTTGTCTAAATACACTCATTATGATCCAAAACTACCTGAGTAATTGCCACTATTTGACAGTAAATAAAACCACGATTTACAGAAAAAAAAAGTTGTATTATGATATTCGGTCACTTTGGGACCAAATGAATGGTTTTTCAAAATTTCCCCACTGGCGCTACTCCACCTTGAAGAAACTGAGCGGAAATACTTTTTACTCCTTGTGAGTATGGCAAAAAACCTTGTACCACATGGCAAAAGAAAACCCACGCATTGTTAGTCATGACAACTTCGGTCTCATTCTCCAAATTGCCGCCTTCTCCGTTCTCCTTGGTCGATCAGCCAGTCAGGCATCTAAGCAAATAATGCCCAAAATTCAATACATCCAGCAAACGTTCAACTGATATTTCGTGTCCCATTGAAGCGTGCCATTTGAATAGATACACTTTGGATGGCCCGCGTTTGTATCGCACGGAAGTTTTCGTCAAACCTGATCTTCAATAGGAATCTGCAATATTGAATTTTTTTCCTTTTGGTGGTGACCTTCAAGGTTTTGGCCTGGGTTTTTAATCTTCCATTAAATCCCTTCAAGTTCGCTTTTTCGAGAGTTTAGTTTCTAGGCCGAGGAACTTCTTGCAGCCAAATTTCTAAACTATTGTGTTTTTGCCAAATTCTAACAAAGAAACATTAGGTCAATTACGTCATATTCTTGCCACATGCAACTTTGTCGTCATAGGCCCACATCATCCGAAAAGCCTAAGCCTGAGCCCAATCGAAGGTCGCTTGAGCCTAATGTTCAGCCTAAGCGTACGCCTAAGCCCAAACTAAAAGCCTAAGCCTGAGCTCAAGACTAAGCCTAAGCCTTAAGAAAAACCGGAAAATCCTAAGCCTAAATAGCGTAGCAAGCTAACGCTCGCCACTGACGCCAAACCTAAGTCTCGGCTTAAGCCAAGGCCTAAGCCTAAGCCTAAACCCATGATTAAGCCCAATCCTAGCGAGCCTACGCCTAAGCTTGAACCTAAGCCTAAGCCTAAGCAAGCCTCAACCCAAGCCTATAATTTAGGCCACCACTAATGTTTTCAAAACTCGATTCTCAAATACTTTTTTCAGGATATGAAAGTAGGACAGAAATGGGCAGGGTATATGGTATGGAGCAAATATCACAAGATGGATCAGAAACATAGATACGGGGTGGGAGTGTTGGACTAGGTGACTTTTCTAAGCCATCCCTACCTTATGTGAACACACGCATTCGAAGTGTCCACAATGGCCACTGATCGAATCAGCGGTGGCAGCACCACAACCACCGACCAAATGATCCAGTGCAGAATGATAAATTTGTGGAGGGAAAAATCGATAACAGTAGGCTCCTGAGGGTAATAGTAGTAATCATACATATATGGAAAAATGAAGGCAATCCAAAAAGATGTGTGCGCTGGTTGGGGTAGTGGCATCAGAATAAAGGTGGGATTGGGCGGTATAATTGGAGCGCGGCCGAGGAGGAGAATCCCAAAAAAGAAGGAAAGTGCAAAGAGGAGAGTAATGACATGTTACGGTAGACAGGACAATGCAACTACCTAATTATATGAAAGAGGGGGGGGGGGCGACGAGAAGAGAAAAGTCTTACGCAATTTGCAATCTACTTGCCGACTTTCAATTTCTGCTAGAAATCGAAAAAAGGAAACAAATTCCAACTCAACTTTTTCGATATCATCACTTCCGTGGCACGGCACACGTCGGAGCAGATTCAACGACGTCTCGCGATCCCGACTCGCTTTACCCATCCCATTGTTCCCCTGATAGTCGATGAGCTCGGAGATGTTGACCCTGAACGTGCGATCGCGGGTAATCGCACTCTCTGGAATTTTGAGAGCTTGGAAGATTTGCCGGGGGGGGGGGGGGAGGGTCTTACGGTGTGATTGAGTAGGATGATTTGTGCCGTTCAGGCGGGTCGGCCAACTCAGCACGTACTTGCCGGGCGTGTGGTCGCTTAGTCTGCAAGGAACTGGCCAAGTTTGAGCGGCCGACAGCATGCGGGTCTTTTTTTAGAGAAGGGGGACTGTGAGGTGTCCGCTGCTTCAGACAATCTTAGCATCATGCAAACCTTGCATCTTTTGTATTTCAGGAAAAAAAACAGAATTTTTTTTGAGCAAATTTCAGCCTAAAACAAAAATCTAACAAAATTTTGGGAGGATGAACTTATTATACCAAATTTTTCCCTGGTCTTTGAAGAAATTTAAAGCCCCGTGGCTTCTGATATTATCAAACAAATTACAGATATGAAATGTGACTGAAGCTTTAGGTCAGAAATACATAAAAAAAGGATTTTTCATACTATTTTTCCAGTCAAATTTGATTTTAGGCTTTCAGATTTATCTACGAAGTCTGTTAAAATAGGCTTATATTAAAAAGCTATCCGATTTACTAGTAAAAAATTATAGCGACCGACATCTCGCAGGTTGTTAAAGAAAAGTGCATTGACGGGCCACGCAACCTTGGCAGTTTATATCTCGGCTGGTTTTGGTTTTATTGGTTAAAAAATTTCTGACGAAATAAGTTTGTATCACTTTTTCTACTAAAAATTTGCAAACACTTTTTGCTAGCAGCGATTAACCGAGATATTACCGGAAAAAGTACATGAGTAACATGGTGCATCGACAACGAAATATCTCACAAAACTCTGGCAGGTTATATCTCGGCTGGTTGTGGTTTTATTAAAAAATTTAACAAAATGTTTATCCTCTTTTCTACTACAACGCAGTTGAACACTTTTTGCTAGCAGTGATATAAACTATGATCGGAAAAAGTTAGATGAGAATCATGGTGCATCGCCAAGAGATATCTCACAAACTTTGGCAGCTTATATCTCGGCTGGTTGTAGTTTTATTGAAAAATTGTTAATTGACAACATATTTTTCCTTTATTCTTTTGCCACAAATTTGCAGATGAACACGTTTTGCTAGCAGCTATAAACTACGAGATATGATTGGAAAAAGTTAAATGGTAGATGCATTGATCAGCTATCATAGCTCATGTTTTACTTATCTCAGGTTTTACCAAAAAATTGCCAATTATTAAAACATTAGCCTTTTTCTTCGAAAATTTTGCTCCCCCGAATTGCCGAAAATATCCTAGATTTGATATTTTTTTGTAGATTTAGGAGCCTTAACATTTGTTAATTTTTTAAGTATTGACCGTTTCCTTTCAAAAATAACTAATCTAATACTGAAACACAGTTAACTTTTTTCATTTCAATTTTTATAATTAGGTTTGAAAATTGCCGAAAACACTGTCGGCATTCAGTTGGAATTTTGGCAATTGCCCCTAGGAATATTTCCGATTCCCACGCGCCCCTGGTGTGAACCTAGTGAGCATGAAGCCAAACGATTTAGAAATCCAGCACAAATAATCCTAGCTTTTTACTATAAACAATCTAAAAGACCTTACCACCAACGCCGTTTCCGTCTTCAACAAAGACTGCAATCCTCTCTGGTGCTGATAAATTTCCATGATACCAAACTTTCCCCACAACATCCTCAGTTACAGTAGGCGCTATTCGACACAAATGACTGTCGATGCAGGGAACCTCAATTCGTCGGGGGCGCCGGCACCGTAGATCCATCGAAGACTTGAAGCATCGCCTGTGAAAGTGTTCACATTGATCGGAGTGGTAAGGACGGCGATGAGTTTGGGCACATCCTCGATGAACACCACGTGGCATCGACGATCCGTTCCATCCTTGTTTTTTGCAATGTAGCCGAACATTAGCTCCGTGTCCGTCCCCTTTTGGCCTTGGGCTCCGAGTGAGAAGAATGAGAAGGGATGACGTTGAATTAGACGACTTTGTTTTGAATGATGATTTTGATCATTTTCGCGAGCAGGAAATGTTGATGTCTACGGTTTCTGGAAGTTTTCTTTTTTCACTTATTCACCGAGGATTACCTGAAAAGATGGTTTACCTGGGCTTTTTCATGGACCCGTGAGGTTGTCGGATGCAATAATTTTGTGGAAATTAGTGAATATCTCTACTTTTATGACTAGCGGCTTACATCATTTAGCGCGATTTTGAGCGACCTGTAAGATGTCGGTTGCTTTAGTACATTCTAGTGGCAGGCTTGGCTGAATTTTACTGGATATATAAGCTATCAAAATTTGAGCATGTCGATGCACCATATTATCTCCTGAGTTTATTTCCATGCTGCTATCAAAAAGTGTTAAAATGCAAAGAGTAAACGATAAATATTTTGTCAACTGACACTTTTTCAAAACAAAACCAAAACCAGCAGAGAAAGTAGTCCAAGTTAAGTCAGATATTTCCGTTAGTCGATGCACCATGAGTAACCTTTCTATAATAACCTGGTGAGATGTCGGTTGCTATAATTTTTTGTCATTAATTTGGACAGCTTGTTAATTTGAGATAAATCTTGATGATATCGTGGCGCGGCCTACCTTTCATATGCGGGTCCTTTTTTTAAACATTTTGCAAAGCTGGTCATGCATTTTTAGTAACACTTACAAATTAATGAGTGTTTTGTATCGTAAATTTTTACCATCAGCCATGCCCAGAAAGGCAACTAGCCTTTTATTTTCTTTTGTTTTTTTATTCCACAAAAAAAAACTCACCCTACTAACAACTGGATTGATTTCTCGAGCCGCAGTCACGCGAACAGTATCTGCAACGTGTTACATTCTCTGAAAATTGATCAGTTACTTACGTAGATTTGTTATATATTTGAGCTTGCAGATGCCTATTACCTGCGTTCATGCCTACTAAGACTACCGTCTGATTTCTAAATTGAATAAGATTTTTTTTTGATTTTAAGCCATAAGAAAAACTAACGAAACAATTCTCATCTCGGAAACCATCACGTTGACTCGACTACTGGATGAACAATGCCGAGGTACTGAAATACAATTTTATATTTTCGGGGAAAAAACTAATAAAAAACTCACAGTAGCCGACAGAGAAACCCCGCTGCTCCGCAGCTCCTCTGCAAATGAGGGCTCCACGTTGAGCATCTCCGCAAGTTGATTTTTCATTCCGACGGAATTCTTGATTATCTTTAGAAAAAATCTAACTCGACATTCGATCCGAAATTTTCCAACGATTGAGTGAATGAGGAACATGACCGGGAGAGAAGAAACGGAGACGCAGGCGGTGAGCGGAGTGGGAGAGAGAGCGCGCGAGACGGAGAGGCGCAGGCAGTGGTAGGGACGAGACAGGGAAAGATCAGATGTTGGCTGATGTAGGTGAGTCAGCATCTAATAAGTTAAGTTGACTCATAACTTTGTTATTTGATCAGACGGGGGGGGGGGAGGCCGTGGCCTAGAAATATCATTGCCTACTTATTCTAACGTCACTAATGGCCTAGGAAACCTTGATAGCTTTTTTGGAGAAGATATGACGTCATCGTGCTGGTGAGTGACTAGAAATCTTATTTTAGTTCTGGAAGAGGACAAATATTCTGACCGTGCAAAACAAATTAATGATGTGACTGGTGGCCTAGAAGTCTCAAATTATACCTGGGGAAATAAATGACGCCACTTGTGGCCTCGAAAACTTAAACTATGCCTGGACGTCACCGGTGACCTAGAAATTTATTTCTGGCCACGTCATAGAAATTTGAATTTTGATGAGAAATATGACAATTTTATTTATGGTTTTCTGAAAATTAGAATTTTATTGATTTTTTGGCAACCGGGAAATTGGAAAATTTAATAATTTGAACAAATGCAAATAAGCAGTTTTTCAACAGTCATTACTTTTTTCCGTGAATTTGATTTTAATTTGTAAATTTAGGTCGGAAAAGTCATACACACCGAGGAGCTTCCCTCATCCTCCCTGGATCAGTCGGTAACTGCGTTTCGACAGTGGGAGTGGGAGGGGTGGGATGAGTTCGATTCTTCTGGAATTCTATAGTTTTTATTTTTGTTTTTTTGCGCCTACATATACCTGTGAAAATTGGAACTCGACACAAAAACCTCTCTAGCGCTTATATTTACTCCAATTCTTCCGGAATTCCATAATTTTTATTTTGCTTTTTTGCGCCTACATATACCTGTTACAATTGGAACTCCGTTTGACACAAGAACATCTCTAGCGCGGGCTTAAATTTACTTCAATTCTTCCCGAATTCCATAATTTTTATTTTTGTTTTGCGCCTACATATACCTGTGAAAATTGGAACTCGACGCAAAAACTCTTTAGCGCGGCTTACATTTACGTTTACAGTCCAAAAAAATCATCTATAATGTTTTTAAAACTAGAATCCAAATCTATCAGATTTTTTTGAATTTTTGATTTTTTTCACATCGAGATTCGAGCGCGGGAAAATTTGGATCAATTAATATTTTCCAGATTTCGATACTCCATATTTAAAGCAGATCACCTGAACGCCAGAATATGATACTTCCTACTCGTCCACCATCTTCGCTTTTGAAAATAAAAAAAAGTCGCCGTATTATATTGATATAGAAAAAATACCAACAAAATTGTTACTATTCACTGATTAGGCATGCAGGGTCTTTAAAGTCAACATTCATAGTGGGAGCTGGAAATACAAACGCATATATAATAACTTGTTAAAAGTAATTTATTGTGGAGTTATAACCTATAGACAATTAAAATAACCTGCTGCCTAAAGAGTAGTTAACAGAAGCAAAGGTTTTCTTAGTGGAGTTTGTCCATTTACTTTTGTGCATGTTATTGAATTGAAATGATACAGTGAAACTAGAGGTAAAATTATTTACTCGGTTTAGGCTTAGGCTCAGGATTAAGGCGCTTAGGCTTCGTTTTAGGTTTAAGATGAGCTTAGAAGTACCGATCGTAACTGATAACTTCTGCAAATTTAGTTTCTGTAATATCGGCAATAGCCAAAATTGCCGGAAATTTCAAGTGCGATTAAATAAATAGAGAAATAAAAATTAGTTCCTAAGATACATTATCTTTTTGCAGTAAAGTAGTAAAACTACTCACGAAATGCGAAATTGCGATGCGGAAGGAAACATTCCTATGGTTCCTTAGACAATTTCTCACCTATTAGGATATAATATATAAATGATGAATTTGACCTTTTGACAATAATTCTCTTCGATAAATGCATTTACTTGTTTTTTTTTTAATGAGTAAAGCAGAGTGTGGAATATACTATGAGGAAGATGGTGAATATTGTTGGAAATTTTTCTGAAAGTTTTCATTTTTTCTGGAAATTTAAAGAGTTGGGTGTAATTACTGAAAATTATGTTTTAAGAAAATTATTTTAATGTTCAAATTTTACAAAGAACTCATTTTTAAATCATTAGAGGTGTAGCCAGTGGGAAGATTGTTGAGAAGATCCACTCCTTACGAAAAGATACGGAATATCATAATAAATCACTTTTCACGCGAAAAGCTATTAGTAACTTTTTACTGTCAAAAAGTGACAACCACTCTGTTTTGGCCACTCATAATTTTGCAACGACCAAAAAATTAAAATTTGTTCTCCTACATTTATTATATACTTCAACTTTGTTTTAATTATTTGTACTTGAAAATTGTAGGGAACAGCATGCGACAATCCTGTCAGTTTTCAAAAATCTCTACTTACAAAATATAGGACACGCTCTAAAAATGGATGTTTTTACATACAACGCCATCCGAAAATCCCTTGTAACGTCGGCACATGCGGTCCTTTATGTGACAGTTGTCGTGAGAAAATTAGAGATAAAAAATGTCCTCAGTGTAATCAGAAAGGCGTTCGTATCGTGAAAGCAATGTGAATAAACAATTTTGGGATTTAATTGGTTTTTGGCAATTTTTAAAACCCCAGGAAATGGAAGTTGAGGAGACTAGGTTGGTTAGAATAGCTCTTTTTCTTTTGGATTTTTCGGTAATTCCGGGACTGCGGTTATCCTTTGGGCCGAAAACTAGGCCTTAGAGCGATAGGACTAAGCCTTAGCCTAAAACTAAGCCTCAGCCTAAAACTAAGCATGAGCCTGAGCCTAAGCCTAAGTCAAGCTCGCGCTAAGCCGAATAAGTCTGCTGCTATCAAAAAGTGTTAAAATGCAAAGTTGTAGTAGAAAAAACGATAAATATTTTGTCAATTGACACTTTTTCAAAAAAAAACCAAAACTAGCAGAGATATAAGTAGTGATGAGTCAGATATTTCCGGTCGATGCACCATGTAACCTTTCTCTAACAACTGTGAGATGTCGGTTGCTATAACTTTTTAGTCATTAATTTGGACACCTTGTTAATTTGTAATAATTCTTGAAGATCGTAGCGGGGCCGACATCATTCACGGGTCCTCTTTTTTTAACATTTTGTAAAGCTGGCCGCATTTTTGGTAGCACTTAATATTACATCAACCATTAATGAGAAAATGTTTTGTAAATTTTTACTATTAGCCATTGCCCAGAAAATGGCAAGGTTGCTTTTTTATTTTATTTTCTTTTGTTAATTCACAAAAAAATCACCCTACTAACAATTGGATTGATTTCTCGACCCCAGTCACGCCAACTGTAGAACGTGTTGTATACATTCTCTGAAAATTGAACAGTTACTTTATTACGAATTTTTATATATTTGAGCTTGCGATTGTGTGATCAAAAATTTTGAAGCATGGTACGTAATATTTGAACGATTTTTTTTCGGAAAATCAATAAATGAAAATGGAGTTTTTTTTTTGGATTTTAGCAGACTTCCCAAACCGATGACTCGGAAAGATCATATGAATCGATTATTTTTTCTTTAATAAACCTGTTCAGGATTTGGCAGGCATTATTATGAGAAATAGGCCAATTAGCCTAGCATGTACGGAAGTAATTTTTGGTAAAACTTTATAAAAGTAATGAAAAGCTGATATTTTCAAAATTCCAGAAAGACGGAAAAATCATATGAATATGCTTTTTTTTTCTTTTTTAAGCCTATTTAGAATTGTCAAAACTACCAGAAAAGACTAAACAAAATAGCTTAAGCTTGATCGGAAATATTACATTTTAAAAAAATAAAAATAATGAAAAGCTGACGAGATATTTCCATTCCAGAATGACGGAAAAATCATAGCGATACTATTTTCTTTTATAAAACTCTTTAGACTTGTCAAAACTAACAGAAAATACTATACAAAGTAGGTTAGCTTAACCGAATTTCTACAAACTGAAATAATAAAAAGATGATTTTTTCAAATTTCTAAAATGACTGAAAAATCCTATGAAGCGATTCGTTTTTCATTCATAGAATAGTTTAGGACGAATTGGAATCATGATCAGAACACATAAATTCGCAAAGTAGGTTAGCTTGACCGGAAGTATTTTTGAAAAAGTGAAAAAACTGATTTTTAAACCAGAAGGACGGAGAAATCAGATATGCAGCGATTCTTCTTTTATAGAGTAGTCAGAATTAGCATTATTATGAGAAAATCGCGAATAAGGCTAGCATGTACGAAAGTATTATTTAAAAATTTATAAAAGTAATGAATAGCTTCGGATTTTTTAAAAATACCAGAATGACTACGGGAAAACTCATATCATAAGAACGATTCTTTTTTCTTGTATAAACCAGATTTCAGAACTGACAAAACTATTAGAAAAGACTGAACAAATGAGTCCTAGAAAAGACTAGTTAGGGAAGAATTCTTAAAATAGGAAGTTGACCAGAAAATCTGGATCTGAAATCTGGAAAAAGTAACTCTCAAAAATTCAAATTTTGATTTTAGGAAGATATGGCTGTGTAGTCTTCATAGACAATCAAAATAAATTCTATTTTAATTTTCAACCATCTTTATGCACGGGCTGATTCTGTCCTTCCTCATTGAATTTTTCGCGCTCCATTGACAATCGCCTGCCACAACGCGTGGGAAAGTCGTGTACTGCACACGGACAAATACATTTAGTTTTACAACTGAAATCGAGCCGCGACGCGAACACGCAACGCGCCGTAAATCTACCCCACGGTAAAGCGCGACATGAACTAGTTCAAACTCTGCGGTCCATTTCAATTTACGCGGAAAGCCAGAAACCCCAGTCGTTTTTATGTAAAAGTTCATACTGAGCAGTTAATTTAAACAAATCAAAATTTGGAAAATGATTTTAGGCTTTGTGCAAACTGTAGCGTCTCACGCGTAAAAATCTGCCAATGAATAAAAAATTTCTTTTAAAATTTTTATAACAGTTATTTGCCCAACTTCCGTTTTTCAACGTTAATCCGTTTCCAGTGATCAAATGCTTACACGGAAATCACTGATGACGTTCCATGTTTGGTTGCGATGTGAATAAGGTCGTTTTTTGCCCGAGAAAAAATGGTCACACGCACACACACATAGCCACACAAAATATAATTTGTATATTTTGTTTGATTCGAGTAAAAAAAGAGAACAGGTATTCCTGCGGCGTCGTTTTTCTAAACCGCAAGAAAAGATTGAGAGAAAGAAAGAGAAAGAAAAAAGATGGGAAAAAAACAGTATAAGGGATAAAAGTGTTTCTGGATTAGGTTTAATTATTAGGGGCGCACCATATTGTCGTAGAGGTAGGGCCCTTTTCCAAAGTTTTAAGTTTAATCGATAGAGCGTGAATACATAAAGAGAGATATTTGACCTGCAAAAAAAATATATGGTTGGTTTCTCATGCCATAAAAAAAATCCATGCAACAAATGAAAACTACACCTGCCAAGTGTCTCCGCCAGGCTAACCTAGTTTTTCCCTCCAAATGTTCCGTGACTGTTGTTTAAGGCTTTGCAGACCGCTTTCCCCACCGCACCCGTGTTAATCTATTCCCGAAGTGTTCTCCCTAGATAATCGGGTTGCACATTTTTGGTGAATCGGCTGGGGGTAATGAAACGGAGTAATAAAATAAATGAATAAAAAAGAAACTCCTTGTGGAGAGGCAATGAAAAAGCAAGCTATGCAAAGTATTGATCCGTTGTTATGAATCTTCTGGGCTCTTAGGCTTAGGTTTTTTTTAGGTTTAAGGCTTAGGCTTAGGCTTAAGCTGGCTTAGGGTTAGGAGGCTTAGGCTGAGGCTCAGGTTTAGGCTCAGGCTTCGGCTTAGGCTGAATCTAGGCTTTGGCATAGGCGTGGCTTGTGCTTAGGCTTAGAATTAGGCTTAAGCGTGGGCTTAGGCTTAGGTTAGGCAAGCTTAGACTGAGAAGACTTAGGCGTAGGCTTAGGCTTAGGCTTAGGTTTAGGCTTAAGCCTATACCTAGGCTTAGCCTGGCTTAGTCTTAGGCTTAGGCATCTCATGTTTAGGCATTTTATGCTTAGGCTTAGGCTTAGACCATGGCGTGGGTATATCCGAATGTGTGTTTTATTATGTTTCTGATTCTGAAATCATTTGTTATTTTAATATCCTACCAACAAACAAGGTTGTCTCTTTGTGCTGCCAGGTGGCATTTCCTTAATCATCTCAAATATTTTTGGTTTCATTTCCCCCCATCGCAAAATCCCTTTCTTTATCTGTCATTTCGCCTCTACGTTCAACTTATTTGATTTTGTGGTTTTCAAGAGATCATCACGATTAAACAACGAATGAAAAAAATAGGTATGGAATTACTACCGTATTCTTTTTTGCCTATCCTTGTGTCTCTCATTTTCCTTTTCTCTTCTAACCAGTTCTGCATTTTGGAATTTCTTCTCCGATTTGATCAGTTAAAGCTATTCGGTTTAAACCATCTTCTATTCAATTCTGATGATTACTGTTAGGAACGAGTGGTCACTTTCAAAAGGTCGAACTGTTGTACTAATTGAATTGGAAAATGCTCGGTATTTGACGTTTATCAGAGAAAAATTGAAGATTTGATATAAAATTTTGTAAAAATGAAAAATAAAGTTTCATTTAGAGTAGTATTCTGGCTTGCCTTATAAATTGTAATGGAAGAGTTGGCCATATTCGGCCATATCTGGGGTAGATTTACGGTTCGAGCGTTGCGTGCACCATCGCGTCCGGCTCGATTTTAGTTGTAAAACTAAATGTATGTCCGTGCGGAGTACACGACTTTCCCACGCGGGTCCGGAAGGCGATTGTCAATGGAGCGCGACAAATTCAATGAAGAAGGCCAACTTAGTGTAGTATTAGCAGACCAGGTTTTCACATAATTTGAGCGGTCTAATGCACATTTTTACGCAACTTTATGGGCCAGTATAATTTTCTTGGAAGTTTTATTTGAAATAAATTCAAATATTTTGAAGCCTAAAAATAATTGCCAAAAAAACAAATTTTTAGTAATTTAACTGCCTCTAAGAGTAATGAACAAATGTTTCCAACTTTTTGCAAATTACTTGCTAAGTTCCCGTGCAAATCTTGTATATAGATTTTGGCCTGAAACATAACAAGCCGATTGTTACAAAAATTAGGAAGGTACAATAGTGTGTTTATTGATCAAACATGTGTTCTTGAAGTTGGGTAAGAACAATTGATGAAGGTTTGGACCAAAGGAAAGCAAAAAATGTTTTTAGAAGTGAAAGTCTGAAACATTACCTTATTTCTGATGGTCGTTAATCAAATTTTGACAGACTGTAATAAGAAACCTTGGCCATCGTATTTTCTTATTAGTGCAACCGACCACTTTACTTTGAGTAAGACGTTCTTGTTTATTGCCTTTTAAAGACCTCAATATTTTAATAACTACACAATCATAGAGAACCAACAAAAATTTTGTTAGTTGACAAATTTAAATAGGACAAACGATAAATGAGCAATGAGCTGTCAAAGTTGAACAATGGTGGTGCAATAGAAGGAACTACTAGAAAAAATACGGGTCCTAAAATAGTTTTTATGTTAAAATCAGAAGATTGGTGGGTTGATTCCAGAAGTTTATTTCAAAATATAAGGTAACTCCGCTGACCGCGCCTCCGGTACCTTCAAAAGGCAAAAAGTAAGACTTTTCTAAAACTACAGTTATCCTACAGTAGGTCCAACAGTACACCTACAGTACCTCTACAGTATCTTGACATGATCCTCTACCTACTCCGAACCCAGTACCTCTTCAAAGGCTAAAAAGTCAAAATTACACAAACTACAGTAATCTTACCGTACTACAGTAAACCCAGTGAACCATTACAGTTTGACATTATTCGCCACCAACTCACCCTAACCCAATACCCTTCAAAAACTAAAACGTCAAAACAAACTTGTAACAGTAATCCTGACACCGTACTCCTACAGTACTCATACAGGACTACTACAGCGGACCCCAAACATATCTCACTAAGCCCCAAGTCCAGATCACTTTCAATGAAGTCAATTTTTCCAAATGTAACTACAGTAATCCTACAGAACTCCTACGGTACCCCTACAGTACTACTATAGTACCCTGACTATGTCTTCGACTAAATCCAAAGCAATATCCCTTCAAAAGACGAAAAGTTAATCTAAAACTGCACGTTACGGAGTCTTCCAGTACTCCTACAGTCCCCTACAGTACTACTACAGTACCCTGACTATGTCCTCCACTAACTTCAAATCGATAACCCTTTTCAAAAGACGAAAAATCATGTCAATTTTTTCTTTTTTTTATTTGAAATTGTCCGTTATTGCCATTATGTAATTTTCCAAAAATGCTGCCATCCTAAAAAACTGTTAGGTTTTTGTTCATACACATTTAGCTTATACACCACCTGCATAGTGACCCATAAAGAACCAACTTGGCCCCTGCCATACTTGGTATACAAAAATCGAGAACATTTGGCAAACCTGAGTGGTCATTCTATTAGCTATTCACCATGTGCTCTAATAAAGTAGAACTGATCATGGGAATATGTGTCAAGGCAGTAAATGGGGGAGTACTGTTAATGTACGTGTGCAATATTCCAGATGCCAAGTATACAGAGTATCTAATGACGGTAATTTGATTTCAGGTGCTTTAGTACGCTATATTGTTCCAAATGCATGATATTTTTTTTTCGAAAATTGAGGTTTTGTGTCGAATGTCCCATAATTTTGGATAATCAGTGGTCTTTAGCGAAATCTTGAAGCCGCTTAAAGCAGTGCTATATTTACAACTGCATTAGCGTTTTATTTTGCTCTGAAAATGACTGCAAATACACAAAATTTTGGATTAAACCGCCTGATTTTAAAACCGAGCTTAAACAGAATTTTTATTTTACAAACCTTAAAAAGTCCAAAAATTTTCTAAATTCCCTATACTAAAATTTAGCGACCCCATCACTTTCTACCCCTTAATTAATTTTTTACTCCATTTAAAAAAAATATTTTGAACCGGCAATTGTCAGAAAATTGGTTGCCTATTCCCGAAAATTTCCAAAACCGGCAATTGCCAAATTTTCAAAGCCGGCAACTGTCAAAATGGCAGCAAACTTCCAAAACCGGCAATTGTAGAAATTGCCTATTGCCAATAATTTAAAACCGGCAGTTGCCGAAATTGCCGAAATTGCCGCAAACCAAGACAGGCAATTGCCGAAATTGCCGGTTCGAAAATTTTCGAAACCGGCAGTTGCCAAAATTGCCGCAAACTTCCAAAACCGGCAATCAATAGCCTAAACCTTTGCCGATTGCCAAAAACAACACCGGCAATTGCCAAAATTGCCAATTGCGCAAAATGTTCAAAAAGATTTCAGAAATTGATACGTTTTATGTCCTTTAATTGTTGTGGGATTCTTTTTTAATAGATTTGAAACATATCATCCTGTTTTCAAGAAAATTAATTCCTTCAGTTTCTGACGACTCAAATCCTCCGCAAATGCCAAATTTATTTTGGGCAAACTAAACCAATTCTCAACAGAATTTTAGAGGTGGAGTATTGCCATTTGGTCTAAGTACACTTATAATAATCCAAAAGAACAGACTATCATGAAAAACACTCGAAACAAAATTCTTTTGGGCGACTTCCAAAATTATGAGTGGCAAAAAGGCTGTGTAAGTGCCACTGGGAATTTTGATGACAGTAAAAACTATCAATTTCAAAAAAATTTTGGAACGTTTTATTATGGTATTAGGTTATTTTGGGAACAAGTAAGTGGTTTACTCCACCTTTAAAAATTTAGCCGTTATACAAACTCCAACTATATCCATTTGATACTTTCCCCTCTACCCTACCCATAACAACATAACAGAAAAATTGCTTGGGAAATTACGCATCGTCGCAGTACACCACACTCCATTTGGATTGATGTCCCGAGAGAAAGGTCAAATCGTATTCTACCTCCTTATTCTAACCATCTCTATTATATCATGCTTTAATGAACGAGCGCCGCCGCCGCGCGCCTAGCGCCTCCGAGTATCGCAAAGTGCGACTTGGTCTGCCACATAACCTGAATTCTACTTTGTTGTATGATAGAATCGGATAGATGTAATGTGTAACAATAAAAAACCACGACGACGACTGAATATGGAATCGGCTAGGTGGTACAAAAGTTTCGGAATGTTTTGGTACCATGGTATGTGTAAGCTCTGTGAATTGAGCCACGGTCTAGCAACGATATTTCGTCGAAACTTTATTCTCGAAAGATTGTTCAATTGAAATTTTCCGCAAAAAACATTTTTTGAAAATATTTTTTGCTAAAAATGTGAATTTCTAGTGCAGCATTTTTTTTTTAATATGAAGTCCAATCAAAAAAAAATCTCAAAGAAAACATTTGAATTTCCCGGAAACCCCAATTTATGAGAATCAGTTTCCCTTTAAAAGAAAATTTCGGAGAAAATTTGAAATTCCGCGACGCCAAATAATTATTTTGAAATATTATTTCCTTATCGGCAAGTATTTTTTTTTTTGAAAACTTTGATTTAACGGAAAACCTTCTGAGAATTTTTGAATGTCCAGTTTAAAGAAATGTTCGGTCGCACGGGTTTCTGGCTTCCCTCATAACTTGAATGGAAGAGTTTGCCAAACTAGGAAATTTGGTTCGGCTATATCTTGGGGGGTAGATTATTTACAGCGCGTTGCGTGTCGCGTCGCGGCTCGTTTTTAGTTTTAAAACTAAATGTATTTGTCCGCGTGGAGTACACGATTTTCCCACGCGTTGTCCGGCAGACGATTATCAATGGACCGCGCGAAAAATTCAATGAGAGGAGGCCAGAACCCCGTGAATTCCAGCAAACCAAAACTTGAAACTATTTGAAATACCCACAAAAAACCACTTTGGCTGAGAATGTTTGAATTTCCACAATTTGACGGAATACTTGAACAGATTCAAAAAATTTTGTGAGAATAGTTGAATTTCAAAAACCTGTTTTCTGAGAGTTTTGGACAAAATCCCTCAAATTTCGGAAAAAATTTATTTCCCTCAAAAAATTTCGAGAAATATTTTAAATTACCGGCATATTTGACATTTTGAACCCCACGAAAAAATTTTTAAAAATTTTCGAAATCCCGGAATAATTTTTTTCACTATAGTCAAAAAAGATCAACTGACTACTTACAAACTCCAGTACCCAGAGCATAACCCCCATTAGCTTCCGATTGCTACAGTAATTTCCTACAGTACTCCTAAAGTCCCCCTTCATAACGTTCCCCTGATAAATGCCCTTTAAAATATGCGTATTATCACATCTCACATGATTAAGACTAAAAGGGAGAGGTGTACCTTCAGATAAATACCCGTTCAATGTTTTTTCCTAAACCAGTTGACTTATAGGTTATGAAGAGAAGACTTAGTGTAAACAATGTCGTTGGAAGTGATATGTTAAGAAGTTAACGGCAAAATCGATGCCAAAACTTTTTCAGCTTTGACTTCTACTGCACAGCTCATTCCATAACCATGAGCTCACGTGCCCTTCCCCCCCCCCTCTATCTTCCACCGCACTTTCATTCCTCGTTGTGGCAACAAACCCATCTCCGGATTCGCCTTAATATTTGTCACAGCACAGGAGTACACTCCTTAGCGGCCAATTCGTAATAGCGTCTACCCAGCGACTTGGCCCAGAAACCTTCCTCTAATCGCATCCACAATAAAAAGGTCTGCAAGTACAAGATTAGCACCCCCCATTGATGTCAATTTATCTATTTTGATTCCATGGAACTATTCCACAATGTAGAAAATTGGGGTTATGGTAATCGAAACATGGTGGATCACCTAACTGCTGGCCAAATCATCATGGTGTCAAAAATAAGAATCCGAGTCCTCCCAGACATCCATGTAGGGTATGCACTTTCCCGCCTGTCCCGCATCTAACCTAACGATTAACATCTTTACAGACCATCTCTCCTCCGGATGATGTTGAAAATGTCGCGCCAGCACCTTTGGAGGCGGGGGGGGTTAAAAAGATTCCAATCAACCACCTATCTTCTCGATTTATCATCAAGTTTGCCCCCCGCGCTCTTAGATTAAATGAACTCTTTTGGCTCAATCACAGCACTTGTTATTAAATCTAGGAACTGCATCTATTTCGAACATTGTATCGTTACAGTTACCGAAAAATGTTGAAAATTTGGGAAAAGTGCCAAAATGTTGATCAAGTCAGAGAGATTCGAAGACGCTTCTAGCAATTTTTTGACAGTACCTGTCCCCTTTCGGTAGATTTGCGGCAATTCTCGGCAGATTTACAGCCGCTTTTGGCGGTTTTGCAGGTCAACTTTTAGCAATTTTGGCAATTTGAAAACTTCTACTTACTTTGCATTTTAGTCAATTTTCTGTAATTTCTGAGAACTTCAGATTTTCTTTTACATTTTTTTCCGATGCACCATGTCCTGAACGCTCGCGCCACGACTTTTTATTCATTATAGCAGGTCCTGTTTTGATGCATCATTTCCCAAGAGCCCTGCAATGCTGGCGATTCATGTCGCGATGTACCATGTCATCAAATGTTTGCACCCACTGCACGTTCCACCGCAACGAGGTTTTAATGCCAAATTTTCTGCAATTGCTCGTCAAAATATTTTTCGACAATTTTGTTAGCAAATTTTTCCCTTGCAAAAAGGTTCAAAATTCTGTTCCAAACACCAAAAAGTCGAAGATCCGCAAAATCTGCACTTGAAACACTATTTTGACAACCCCCGTCTCAGCTTGCTATCAAAAATGCAGCCAGATATATGGGCAGCTTGCATGTGAAACAAAAAAGAGAACGAGAGGCATCAGGGGCTAGTCCTCAAAGTAGATGTGCAACTCTATGAAATCGATACGGTTATGCATGGCATGGTGACAGGGAGCGAAGTATGATGATGATGATGATGGTGGAGAGAGCGCAACGTATGGTTACTGAATGTTTTCGATAAAGGTTATCTTTATGGGGGGGGGGGGGGGGGGGGTTGGGGCAGTGTGCATCGAAATATAAAAACTTTCGTGGAGATACGCTTTTTCAAGAAATTTGTGACACCTTCTTGGTGCATCGAGACAGTTTTCGTGGCAAGACCTGATTTGGTTGAAACTCTGAAGCCAAATCGCGGTCTACGATTTTGTGACCAGGTCAAGGTTTTCGTGGCATGGTGCATCATAGTAAAAATTAAAATCCTGGGAAAAAAAGCTCTATATATAATAGCGAGCCATGGACCGTACCTCCCGCGTGGCCCCCTTCTGGAGCTAAAAAATAATTTTTCTAAAACTACCGTAACCAGACTACAGTATTCGTACCGTACCACGATATTGTACCACTACAGTACCTCGACGCTATATCCGACTAACCCCAACTCACTATTTATCCAGAAGCCAGAAATGTGACTACAAAGACTACATAGATTACAAACTATGAACACACGTTGTGAATAAGCGCTTCACATAAATAGTGACATGATGGATTATTGAGATCCCATATGTGACATGGTGCATGGTGACAGGCATTCTGGGAGGGTGAGCACAAAACAAAATCATTAGTTATTTTTCGCCGACAATTTCCAATACAGCGAACTTTACCAAGGTCGTGGCCTACTTGTTTCCGTTACAGTTTCCTATTGTTGCATATTATACCGCCAGTAATCATTGCGTTATCACAGTTGACAACGGTTTGATAATGTCACAAAGTGTGGGGGTTTTGGAACAACAAACCAGCATACGATTATTAGAACGTGATAATTATTTTACCTGAACATCAAGTATTATTAGGTGGTGGAGCTGGGAGCTTAGTATTTGGGTTTTGAAACAATGCACCATGTCCTAAAAGATGCTTTATTGCTAGGTAGGGTGCCGCGACTGTATCCATTCCTATAACAGGTTCAGTTCCGATGCATCTGCTATGAATTAATACTGTTCTTATTCTTAGCTCAAAATCAGGCTGAGGCCCGCAGGCCCGAACACTTTTGGAGACTGTGCAGCTTTAATCCCCAAAGGCAAATTGTTATTCGCTCAAGCCAACTCATCTCTCCAGATTTCCACAAACTTTAATCACTCATATCTCTCAAAACCCTAGACTTCGATTTTTAATCCATAGTCGATCCCAATTTTTAAGGAAATCTCGAATATCCCTAGCTCAGGTTTGAGGCGAAGCAGCTGAAGCTACCTTTTTGGGCATCCCCATTCCAGAAACAGACGATAGCTGGCGTGGCCCTGCCGAGCTCGTCATTTGCCAAAACGTCAAATTGCTGGATCATGTCACGATCCATAATGCCTTGAACGGTTCTTCTGCACCTAAAATTAGCACTCAACTGGTTGAGGTAATACATGATGCAAGACCATGTCCCAAAGGGTCCTGCCATGTTGGGACATGTCACGATGCACCATGTCCTGAAAGATCCACGCTGGAAAACTACATTGTTCCGAGTGTTTACCTCTATTTCAATACGAAATGTCAGCAAATTTTCATCCAAACTCATGTCATTCAAACAAGAGCCTCATGTGACTATAGGGTCGTGACTACCTGCTCGAGTTCGCCTCAGCCCTGTTTTCAGAATAGCTATGCGTTAAGTACCCGATGTATTGCAACTGTCACGATTTAACGCTTAAGTTTTGTAGTTTTGATGGAAATTTTTGAGTTTTTCGTTTTTTCTTGGCTCAAATCTGGGAGAGTTTTGCTTTTTTGACGATTAAATATTTCATAGGGCAGCCCGGCATTTCTTGACTGATTGTGCGACATGATGGTGACAGGGCTTAATCGTCGCGAGACATCCCTCTAGTACAAAATTCTTTTAATATCAGTAAAAGCATTATAATCCATGTCTATACTTATTTTATGGAATTTTCATTAAAAAAATCTGAAATTTACGAGATGATCTACTCCAATTATAGATGGGTTTCAATCCAAAATTTCTCAGAAAAACTAAAATTAATGGGCATAAAAATGTTTTGTCTGAAAGCCCTAGATTGTCAAATATCCCTAACACCCCAAAAAACACCAATGTACATCTCCTCTCCGTAAATATGTAGTTTTACAACCGCCTCTCTGTTGACTGGGAGCCATAAATGTAGATATATTATCTTTCCAGATCGCCTGCCGGCCCCTCCCACCTGATTGTAAAACTGCTCTTTGCTGTGGCGGTTTATCGACTTGTTTTTCTTATATATTCCATTCTACATGCACCTTAACACATTTTCTTGTTTCTATACACTTTTTTAACTATAAAAAAATGCAACTCCTTTTCGATTCACGATCTTTTTATGCAAATCTTTTGGCTTAAAGCTGGAGTAGCACCAGTGGGGAAATTGTTAAAAACCACTCCTTTGGTCCGAAATGTACTCCGAATATCATAATAAAACTTTTCAATATTGGAATTTTTTTCTTCACAGTCATAAAGTGATAATTACTCAGTTTTTGCCACTCATAATTTTGGAAGTCGACCAAAATGTTTTTTCTAGATTTTTTATAATGTAACTATTTTGTTTTAATTATTTTTATGAAAACATTGGCATAGAGACAGGCGGGCCAACATAAGATATTGCTTTGCCTCAAAGGCTCATATTTTTCAGAATTTTGGCAATTTGCCAAAACTTGGTATTTAAAAATTGTTAGAGATAACTGTATTTAAATTGCAAAACATAGAACAGTTGTATTTCAAAATAGTTCGTAAAAATTGTCTAGTTTATTTTGCGGCCACACTGACCCCCACGATGCACCAGGACAAATTGCATTTTTTTGTTCAAAAGCTATTGTTTTGCAAAGGGGCATGTTCCAAACATCTGACCCAAGTTTTCCCGTAGTTCTTCTCTCCCCCAGCGGGGTAAACACTGCACTTTACGACTCCGCCCAGTTTTTTTTTTCGCACAAAGTGAGAGAGAAAGAAACATCACTGCGTCACTCTCCCCCAGTCTTACGCTCGTTCCCGCCCCCCTCCTCGATCTGCAAGCCAGACCGTCCTGATGATTCGAGGAGCCATTCCTTTTCTTATATGTATACGTTTTTGGAGAGGTGATCTTGTTTTTTTTGTTTCTCCTTTCGTTTTGTTCTCTATGCTCTGATAAGAATTTTGTTCTCCTACTTTTCTACGGTTTTTTTTTTTATATCCAAATTTTTGAAATAGAGGGTTGATCTACATGACCCCCATGCTTAGTCTACTATAATGCTATATCTGATATTCCGAATGGCTGGTAAGTGAAGGCTTTTAGCCCAGTGAGCCGGCTTACCAAGTCTGCCTAAGGACCATGGTTCTTTCAACTTAAGGCCCAAAATAAGCAGGGATTCTGGCCTAACCCCCACTAAATCTGTAGGCTAATATATAATTTCTATCATACTCCATCCTTCTTTTCTACCTCTTATCATGTTGTTATTGAGCAGCAACCCTTATATTGTTTGGTATATAGATTTGATATAAAACCTCGTAGTAAATTTTATTTTACACAACAATCATTTATCATAATTTTTTTTCATACTATTTTTTTGCAGAACGAAAAAAAAATGCTATTCACAACATCTTGAGCACTGGAGCTGTTATCATCAAAAAGGTGCATCGCAGCACAGCGGGAGCGTGTCATCCGATCAGTTGCTCAAGGCTTTCGGCGAGCTGGAACTTCCACTGAGCAGCTTCACAATGACAACACAGCAGCCCTGTACCACTCCTGTGCAACATTTCACAACACCCAAATTACAGACTCCAGTCAAACTCACCGTGCAGACCGTGTCGACGTGAACTCAGAGCCACACTCTTCAAATTGTCATCACCATTCATTTGAGCATCCGATATGCGCGAACGCTCCGCGGCCGATTAGGAGTCAGCGAACGCCGAAGGAAGACTACCACACTGTACGATCCGAATGAGCTGGAGGAGTCTATGAAGCAGAGCGAGGCGTGCATTTTGGATATCAAGACATTCATCACACAGTACTCGTTGCGGTAGACTACGGTAGTAATGATGACAGGTTAGTTCCCAAAAAAGTGTAGTGGAAGATTTTTTCTAAAATCTAAGCCGTGACCCGCGGAAATAAATCAGAATACATCCCCGCCTAGTTACCTAATCTCTGGTGTTAGCCACAGTGCAATTGTGTATTACTGTAATTCCTTCTATGACGTCATATGAAATAAAGTTGGCTAAAGGGAAAAGGGGACTCTGGATCTTAGGCGAGCAATTCTCTGCAGCCGGCACCAGAATCGATCCCCCGGTGCCTGGATATCTATCCTTCTGGGCTATTAGCCACTGCGAAATGCCCCACCCGCGCTGAGATCGAACAGGCGTCTGAATTCCTAGGCGAAGTTGCTACCCGCGCCATGTAAATCTCCCAAATTTCCAGGAGTAAGCCAGCTGTACATTTCAAAATTGCTCAACGGCAACCACCGTGAACTATCGCTCCGTCGCCGTAAGAACATCTACGGTTGGTACCTGAACTGCCGACGTCATCCCAACAAACTCGCTACTTTCCTCGCCATGTCGATCCGGCTACTCGCCTCGAGAATGGAGATGTCGAGCTGATCCCACAACGTCGAGAACGCTACGTGTTTCGTCCAAATTTCTTCTGATCCGAATGCTAGAATCGTTCTTCACACAAATGCCATTAGATCTTCCACGGCGAGTCTTACGAAATAGCGAATGCTTGCACTCACGTTCTGATGATGGATAAGAAAGGTGTTGGGTCCATGAGGCCAAAGGAGGAGGTTCAGCAGCCTCAAGTGGTTTCGAATTGGTTTGCAAATAAGCGGAAGGGAGTTGAGAAGCCAGAAAGTTCCGCTGAAGCTTTGGCCGCCTCCACCTCGTCAGCTTCGTCTTCTGCGTCATCGACATCATGATTCTGTCAGGGTGTCATCAGCATGAGCCCTCGCGAAAGAGGTGAGAGTTTTAATTTCTCGGCCACGCTGTACTCTGGGTCGAAGAATTTTTTGTAGGTCTGATAAGGAATCCACTCCGGTTTTCCCACACGTTAGGTCATAAACATGTACCATCTAGAGGTACTTAAACTTCTGGACTTTTATTTACTTTAGAGTATGGTAAACCTGTCAGTCCTTGTCAATCATGTGTCTGTTTGGTCTCAAGTAGGTCTAGGTCTAGGTCTAGGTCTAGGTCTCGGTCTAGGTCTAGGTCTTGGTCTAGGTCTAGGTCTAGGTCTAGGTCTTGGTCTAGGTCTAGTTCTAGTTCTAGGTCTAGGTTTACTAGGTCTGAGTCTAGACACAAATGTCTAGGCCACGGAAATTTCTGCCGTCGCCTAGGATTTAGGCCATATTCTAGGCCATGATACAAAAAACTTTCCCTGTCTCCTCTGGAGTAACCCATTTTGAAACAGACAAGCTCCCGTAACACAACCCCGGACAGCAATCTCCCCGTCTCCAGCAGTGTCCACTTTTGAAGTGTCCCGCCCGTATGCCATCATCTCTGCCATGTCATCAACAACCTCGCCAATCTCAATTCCAGCACAATCATGATCCATCAGTATCGCCGCCAGCTCTCGAATTTTTCGCCATGGCCCAACGGCTTGGAGTTCAGATTCGGTTCCATTTCCGACATTGCCAACACACATTTTCCCGTTTCAAATGGCCCCTACGGGAACCCGGCTTCTATTTTGAAGTCTGAGTTAAGCATTTCTAATTTTCTTTTCCTCTTTTACACCAATATCTTTTTTCCATTTGTTCTTATTCATCCCATGACAGAAAACCTCATTCTTTCATATTACAGGAATAACGATGCTCCGTTTCTTACGCCCTGCAGTCCCCACACACCCGTCGTCGTAGCAAAAATCACTCAATAATCGATAGGTTTTTCATAATATTTACTTTGTTTCTTTCTTAGTGTGTTTCACTGCTGTTTTAATATTTGAAAAGTACGAGTCTTCAAAAACTCTCCATTTTTTGTGAATAATATTTGCAATCCACAGCGTAATTCGTAATGTATCGCTTGCCCTACGACGAAATTTTATTGGAAATTCCATTTTTTGTGCAATTTTTGTTATTTTTCAAGCGAGAATAAATATTTTCTCGTTCTAGAATTCAATTGTGAATTACTTTGCAAACGCGCCCCATTGCACTTCCGGGTGAAACAAGTTCGTGTTTTCAAGATATTTTAAAAACTTGAATTTGGAACAACACAGAAATCTGGAAAATGCAACAGTGTTCCAAGTCTTGTCCACGTGTGATACGAGTACACAATAATTTTTCATCTATACGGACAGATTTCAAAATTGGAATGTTTTCCATTTCGTGTGGTTTCTAGGCCATGGGAAAACGAGCTAGCGGCCATCAAAAATTCCAGGTGACCTGGAAGTTCTAAAACTTTGTAGAAACTTGTCCACGCGGAGTACACTATTGAATAGTTTATCAATAGAGCGCAAGTAAAAGGATAATCGAATTTCTTGTCCTTTCGCCACCCCCTCTCCATTATATATGAGGTTTTTTCCCTCGCAATTTCCCACGCTCAAGAGGGTCGCCGCCATTTTTTTTTTGAGGGGGGTCGTATCTAGATTAAACACGTTCATTTATGCTCAAAATGTGCCAATAATTTTTGTTTTTGAGTTTCTAGGCCATTTTGGTAAGTTCGCACACTGACTTTACGACTTCCAAGGAAATGGCCAACGTTAGCTTATTTTTCTAGGCCATATAATTTTTTGAGTTGCAACTGTGGCCAATGTTTTTTTTGGGTTTCTATCACTTGTGAAAAGTTAGGTCATAGAATAACATTACAGTAAACGGGTCCTCAAGGGACAATCAGGAATTGTAGCCTAGTTTTCCTAGACCACATTTGATTTTTGTCTTTCTAAGCCTGGTTTGGGTCTAGCTCTAGTCCTAGGTCTAGTTATAGGTTGGTCTATGTCTAGGTCTAGATCTAGTTCACATGAGAAACAAGAATTAGGCCACCTTCCCCCTAAACTCTATTATCTCCAAACTACTACTTTCTAGAAAACTCTAAAATCATAAAACCAATTTTTTATCACTATTTTCATGCTAAAATCCAATCAGAAATTTGATCAGATACACGCATATAAATATTACGACTATAAATTCGTTTCTTTTTTTCATTTTTCCCTCGATAAGGCTCTCGGCGAGAAAAATTATTTCTTCTTCTATGTGTCGAGACATGTGATATTCCGGCCGGCGGTGGCTCTGAATCAATATTCAATTGAGCGAGAAATATATATTCTCTCCAGAAGGCGTTTATATAATGTGTTCCTCCTGTAGTTTCTGCTGTATTCGGCGGATTTGGTATGCTTCTCAGTGGAGTGCAGTTGCAGCATTTTTTTTCTTTAATACTAACTTTTTGTCAAGTCTTTTTTTGGGATCCCTAGAACACTAGAATTTCTCGCTATTTTGAGATTTCTAGACCATTCTTGAGATTTCTAGGTCATATTGTGAGTTCTAGTGCATTTTTGGGTTTCACGGCCGAATTGGAAGTTTGAGGCCATTTTTCGGTCACATAGGCCACGAATTTGAGGATTTTGTGCCAAACTGGGATTTCTAGGCCATCATGGGATCTTTAGGCACGAGTTTTCCAATCATAATATAATTTCTAGGATATCTTGAACCTGTATTCCTAATGCCACTTTGGAATATTAGGCCATCTTGGGACTATTTCTGCCATGATTTCTAGGTTAATAACTGGCAATTTTAGATTTGGGCTTAATCTACAGGAGGACATACTGCGAATTATACACGAGCCCACGGTTGGATATATAGGCTATCGTGGGATATCTACGCCGATATGTATGGAATCCTAGGCCAACTTAAAATTTCTAGGCCACTTAACCCCGGGATTTCTAGGCCGACCATCACGCCTCCTAAAAGGCACAGACGGAAAGTTCAACACCCACCACCAGGATAAAAGTGTTCGTGAATTAGTCAGCAACACCCCATTTTTCTTCTCCAAAAACTAAAAAAAAAGATACCCCTGACAGATATGGGCAGAGATGAGGGTGCGAATCCTGAAATTGCCTAGAATTCCGAGCTTTTTGTGCCAGACAAAGTAGAGCAATGGAGAATGTGTGTCGCCACTTCAAACACCATTTTGTCCGTTGCTTCGCCCGAAGGGCCCGAAAATAGGCTTGAAAAGCTGTGGCCTAGAATTTTTTCTCAAAATTTTTGACGTGGAAAAATTGCTTAAGATTTTCGAGGCCAAGAGGTGGCCTAGATTCAACATTTATTGGCAATTCTTATCTAGATCCCGAACCCCGACCAGCCAGTTTTTAATTCTCCTCCGGTGTCTGAATTTTTAATTAGAAAAATTATTTTTGGTTGAGGAGCTCTGTTTTTTTTTCGTCAAAAATTGAAGGTGGCCTAGCTTTCTCATTTTAAGGCCACGAATTCTAGTTAATTTTTTGTTGGCTCATTTTTTGTTTCAAAAAATGAACCAGTTAGTCAAAAAATTCTTTTCTGCATATCAAAGGCCACTATTTTTGAGGTTCTTTCCTGCACAATTTTTCGAAGAAAATTTGAATTCCGGAAAGTTTTCTCAGAAAATTTGAATCGCCGCCAAAATTTTTCTCTGAAAATTTGAATCGCCGCCCACCCAAAATTTCAGAAACCGTATTTGAATTCCTGCAAAGTTTTCAAAATGGGGTCTCACCACAGAATGGTGACAGCGCCCACATTTCTCAGAGACATTGGTTTTTAGGCCAAAAAAATAGTTTTTTTGACAAGACAAAAACATAGCAAACACTTGAGCAGTTGTCATATGTCTGTTGCAAGTGGAAAAAATAAAACATCTTTCCTTTTTTCTGCTTCTCCCCCTCCGTCCTTTTTGGGCTCAAAACTCAAATGGGTTGCTCATCTCAATTGTCTGACAAATTAGCAAAAGATGAAGCAATTTTTCCCTGTTTATCTTTTTTTGCCTCCGTTTGGCTCCTATGTCTTTTTTAGTAGTTTTCAGAGGTTTAATATTGAATGTTCAAACTGGCTAAAAAATTTCGATTTTTTTTTCTTTCTAAACTCTTACGAAAATTCTGATATAGGTTAGAAAATTTGCCTTAAACAGATCGACGGCCGACAGCGTTTACATTTGTGGCCTAGACTTCCAAGCCTGGGCCATGGCAAAAACTTGTTTAACTAGCCTACCTTTTCAAATAGTGGCCACTCTAAACTATTTCTGAACTGTTTACTCAAAAGAGAAAGTTAGTGGCCTAACTTTCTCAATGGTGGCCTAGAAAACTCCAATTTTGGCATTCATGACCGGTCATCAACCTGACATTGATGGCCATGCTAAAAAGTTAATGAGTGGCCTAGAAAACCAAAATATGGCCATGCGCTCAGCATGTTTCTAACTTTCCAACTCTGCTATAAATTCCTTGGGGGAAACCTCGGCCATCACGGGTGACCTAGAAAACAGAAATTCGGCCAAGACCCCGTAATTCATGGCCTAACCCTTTAGACGTTTGACTTTGGTGGCCTAGTTTTTTGTGATGGCTAAGTTTACAGAAAAAATCCTCAGCCACAACCTTTACCCTATACATGACATAAAAATGTCCATTATCCAATTAAATTTCCAATTCTCCACCCTTAATTTTTCATTTTGTTCTCTTCTTTTATTTTGTCACTCTCTCATTCTGAAACTAATCTTTTCAATTCTCAGTTTTTCTGGTGTGGTTGATTTTCACAGCTTTGCTCCCGCCATTTTGCAATAGGATTATCCGTGACACAGGCGCTCACATAGCTCAGTGAGCAACACCAACAAAAGCATATATAGATATACAACGATATCTAACTAGTTACACCGGAGCTTCTGTTGTTCTTGCCCCTCCGAGCCGAGACAAACTTTTGGAAAAGAGCTAAACAACGCTTCTGGAGCCGACATATTCGAATGGAAAGAGACAATTGCGACCACTATGAGGAAATGATGGTCGAGGAGGAAATGAGAGATGGCGTAGCTCAAATTGCGCGACGAATGCTCCAAGTTGGTCTATACGGTAATCAGTGAGTTTTTGTGTTTTGTTGGCCGTAGTAGAGATAACTAGGCCAACTAGGTAGGCTGACGATCTTCAGTTTGCAAATCCTCTTCAACCGTACTTTTTTGAGCGATCTAGGTTTGCAAAAGGTAGGCCGCCTGGTCCACCGTACCTGTCAACTTATGATGGCAGAGGTTTTGTCTGGGAAAGCTAGGCCACCTGTGTGAGCTCATGGTCCAAGGTCTAAAGTTTACAAAAACTCTTCCACCGAAACTTCTAGGGTGCTCACGACCGAGGCTTGCAGAAAGGCCACGAGACTTGGCTCGTGGCCCAGAATTTTACTCATCCATCGTAAATTATTAGAAATCCGCGAGGAAAAAGCTAGGCCATCAAATTACCTTAGTGGCCCAGAATCTATAAAAACTATCCCATCGTAGCCCTCTTGCATGGACGGCTGAGCTGAGGTAGCTAGGCCCCGAGAATAGGCCAGTGGTCTCGAATCAACACAAACTCTCCACCGTACCTCCTACAATGGCCGAGGTAGGGAAGATGGGCGCCAGGCTAATCTAACTTTCCTAGACTGACCTAAAGGGGAAAAAACAAGGCCACCGGGTTTACGGAGTGGCCGACTGCGAAATTTCACAGAGACATTGCCCTGACTATCTGACTGATTTTTTACCGTCGAAAAATTCATATTTTCTATGCCAGGGGCCCCCTACGGCCCAATCCTCGCAATTTTTTTATGCAGATATCTAAAATCGCACATTTGTTAAAGCTCTGCACACTAATCAAACTTCTCGTCTGCTGGTGGGCCGTTGCTCCGCAAGTCAACTCCTACATGACGCACAGTATGGGGAGCAAGAGTTCATTGGCGCGAATTTGTCAGATCCAGAGAAAATTCAAAACTTAAAATTAGCAGATCTTAAAATGTGATTCTCTAGGGAGCCTCCCGCTTGAGGCCGTGGACGCTGTAATTTTCGATATCCGACTTTTCCATTACCTATGGGGCATTCGAGGATGTGTGGCAGATTATTTGGATGGCGGTGGGTACTGTTAAGTTTCCCTACGAATCTATACATTTTTCAGGCTTCGGGCGACTTTTGTGGTGCGTTTCCTGCTTAACCCTGGTTTTCTCCATTCCGGTCCTCTTCATCTCCCATCCGAAACCCTGTCTCTTTCGGCCGCTGCTTTTTCAGGTGAGTTGGCTGAAAAAATTTGGAAAAAAACTTTAAATTTTATCCGAAAGGCGATAAGCAGTGGGATTTTCCACGACTACCACTCACAACAGCATGGTTCGACCCAGTCCGCGTGGGTGTGAATTATTTTTCTAGTTTTTTTTTGAAGTACGGAAATTGTATTTAGCCTTATCTGAAAAATTCTAAAATATGCAAAAAAATCTCCGATCAAACCAAGTAGTATCCTTCTCCAAAAAGCGCAGCAACGTCAAATGGTCCCACGTGGGGCCTGAATAACGGCAAATTTCCTGACAATTGACGGGTTATCATCCACCACCCTCATCCTCTTGAAGGAACATTGACTTTTTCCGTTGAAATGGACAAAAAAATTGAAAAGAATTAGATAGATGCGGGAGAATGAACATGGTGGCCTAACGTGGTGCTTGACCCATGGGCTAGAAAACCAAAACTCAGTCATCACCCTGATTGAGGCCATGAGATTAAGCCACGTACGACGCAATCCTAGGCCACCACGTTTTCTCGGCCACAGCCACCCCAAACAAAAATCTGAACTTTCTGATCCTTTCCATCTCTAACCAACGTTTGTTTATCTTTTTACTCGCTCCACAGGAGCAGAACTTTTTTCTATTTTGAAATCCACAAAAGAATCCGGGACAGACACTAGTGTATTTTGTTTTTTATTCAGCCATGAGCACAGACCAGAAATAGGATTGTATCTCGGACTTCAGAGCCTGGAAAAAATCGGAAAAAATCGGAAAACAGTGGAAGAACTGAGTTGGGTGCTAAATTTGGCAACTTGCCAAAATTTGGGGATAACTTTTTCGGTAATCTGTAACTACAGTTTTCCTAAAAATGTATGAACCTTTTAGTGATTACTGCATAGTTTTTCAGGTCTTTAAAAATGAACCTACAGTAGCCCGTACAGTTCACAGGATTGCAAAATTCCAAATTGACCACTTTTTAAGAGTGTATCTCGGCAGAGTATTGGGAAAGTATCGGAATATTTTAAAAATTTTGGATAATTTTTTTTTTATTTATAATTAATTAACATTTAGCTTTCAAAGATGAGCAATGTATTTATAGATACCCATGCAACTTTGAAATAGTTTGTATATCCGTTCAGTGTAACTATCAAAAAATTTTCAACTACAAAATTACTTCATAGCAAAATTTAAAACAAAGAAATTGTTAGTTACTTTTTAATAAAGTACAACCGAGATATTTGTCAAAGTTGAGCTACTTTATCGGCAACCATAAGTAGCCCCCGTACAATGCACCATGTGGTAGAAAATTTCGGTTTGATCTACTTAAATCTACAAAAAGTGCGGGAAGTCGGAGAGTTTGGATAGCTAAGAACGTGCTGAAGTGTTTGCACATTTTGTTGGGCACAAAATTCCCACTTTTCTGATTGTAGATCAAACCGTCGCGGGACAAACTGGTACCTCTTCGTTGTTGGTATGTAAATTTTGAAAATCACTTCGTTTGGTTGGTATGAAACTTTAAACTAGAAAAAGCCCTAAAAGTTGAGCTAGGCGCTCAAATTGGGTAGCATTTACTTTTTTCAACAAAAACATTGCTGGCCGAGCTTTCTTTTACGGCCACGTTGCAATAAAAATCCAGGAGGACCATGTCATCAACAAAAGTACAAGGATGTAGCATAAACAATCACTCCGAAACTTTTGTCGGGCACTGCTTTATCGGAAAAAAAAAAGGATCTCTCCGAACACATCGGTGTCACCCCCAGGGTTCTATAGCGTCTCCCTGACCTCGCGAGCTATTTCCTCGAGACAAATCTCTCTGAATCCTTTTGTAATGGTTGTTTCATGTTCTTCTTCATCTTCTTCTTAGGCTATTCTTCGCTGGGATAAGTAGTAGAAGAAAACCAAAAGAACACATAAAACACAGGCACACACACACACACATTCACACCGTAATATCATATAAAAGTGTGGCTGCGTCTCCCAGAGCGCCCTGGGGGTAAGCAACGCGGGCGCCCGCAAGGAAAAAGTGCAAAGAAATTAGAGAAAAAAGACCGTCTCACTCACTTCTCGATGCCTTTTCTTCTCTAACTATAAAAATTGTCAACTGTGGGGCCTCGAAACGAACGAAAGCGAAAAAAATCAAGAGAACTAGACTCTGAGAGAGAGACAGAAGAAAGAGTTTTTTTCGACGCCGACCGCAGCTGCCAAGCAGCAATAATGACATGCTGGAGAAAAAAATTCAAAGTTTAAATATGTTTTGGCGATCAGAAGCCTAGACCATAAGCCCCTTGTATTGAGTTTTCTCGGCCATTTTTGGTACGGTACATATACATAGAGACTTCAGATTGGGAATTGCGAATCTGTTAGAGTAAGAATAGGCCTAAAACATTGGGCCTAACGGTGACGGAGACTAGGCCTTGTTGGGAGCGATTGTTAAACTATGACATTGCCTAGAACCTCGTTCTATCTTGGTTATGTGGTGTCGGGCTTTCATGATCAGCTCCTTTACTTTTGTCCAGAGAAGGTTTGGGCTTTTTCTGTGGGTGCTTTGGGCTCTATTGTAAATAGGTGATCTTGCGCAGAACACAACGTAGATCTAAATTCTTGTCTAGGCTCTGCAGGCTCCTGAGGGTAGCTGTTTTGCACCCCAAAGCAAAATGATCTCAAAATTACACGACTTCAAGCAGGAGGATTTTTCGATGATTGCCAAATTTTGTAACTTTTATAGGCTTAAGCTTATGGTTATGTTTAGGCGTAGGCTTAG ####################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################### V 16 CHROMOSOME_I 2 1 27M1D73M * 0 0 CCTAGCCCTAACCCTAACCCTAACCCTAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAA #############################@B?8B?BA@@DDBCDDCBC@CDCDCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC htslib-1.2.1/test/ce#tag_depadded.sam000066400000000000000000000031421246417267700174410ustar00rootroot00000000000000@HD VN:1.4 SO:coordinate @RG ID:UNKNOWN SM:unknown LB:UNKNOWN @SQ SN:CHROMOSOME_I LN:102 I 16 CHROMOSOME_I 2 1 100M * 0 0 CCTAGCCCTAACCCTAACCCTAACCCTAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAA #############################@B?8B?BA@@DDBCDDCBC@CDCDCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC PT:Z:27;28;+;STOP;Note=tag1 II.14978392 16 CHROMOSOME_I 2 1 100M * 0 0 CCTAGCCCTAACCCTAACCCTAACCCTAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAA #############################@B?8B?BA@@DDBCDDCBC@CDCDCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC PT:Z:27;27;+;PRIM;Note=tag2|28;28;+;OLIG;Note=tag3 III 0 CHROMOSOME_I 2 1 27M1I73M * 0 0 CCTAGCCCTAACCCTAACCCTAACCCTCAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAA ###########################"##@B?8B?BA@@DDBCDDCBC@CDCDCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC PT:Z:1;1;+;COMM|101;101;+;COMM IV 16 CHROMOSOME_I 2 1 100M * 0 0 CCTAGCCCTAACCCTAACCCTAACCCTAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAA #############################@B?8B?BA@@DDBCDDCBC@CDCDCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC V 0 CHROMOSOME_I 2 1 100M * 0 0 CCTAGCCCTAACCCTAACCCTAACCCTAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAA #############################@B?8B?BA@@DDBCDDCBC@CDCDCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC * 768 CHROMOSOME_I 2 255 1M * 0 0 * * CT:Z:+;STOP * 768 CHROMOSOME_I 28 255 2M * 0 0 * * CT:Z:+;COMM;Note=consensus%0Amulti%09line%0Atag%0A!"#$%25^&*()_+<>?:@~{}%7C%0A1234567890-=[]'%3B#,./\ * 768 CHROMOSOME_I 101 255 1M * 0 0 * * CT:Z:+;STOP htslib-1.2.1/test/ce#tag_padded.sam000066400000000000000000000031561246417267700171350ustar00rootroot00000000000000@HD VN:1.4 SO:coordinate @RG ID:UNKNOWN SM:unknown LB:UNKNOWN @SQ SN:CHROMOSOME_I LN:102 I 16 CHROMOSOME_I 2 1 27M1D73M * 0 0 CCTAGCCCTAACCCTAACCCTAACCCTAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAA #############################@B?8B?BA@@DDBCDDCBC@CDCDCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC PT:Z:27;29;+;STOP;Note=tag1 II.14978392 16 CHROMOSOME_I 2 1 27M1D73M * 0 0 CCTAGCCCTAACCCTAACCCTAACCCTAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAA #############################@B?8B?BA@@DDBCDDCBC@CDCDCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC PT:Z:27;27;+;PRIM;Note=tag2|29;29;+;OLIG;Note=tag3 III 0 CHROMOSOME_I 2 1 101M * 0 0 CCTAGCCCTAACCCTAACCCTAACCCTCAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAA ###########################"##@B?8B?BA@@DDBCDDCBC@CDCDCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC PT:Z:1;1;+;COMM|101;101;+;COMM IV 16 CHROMOSOME_I 2 1 27M1D73M * 0 0 CCTAGCCCTAACCCTAACCCTAACCCTAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAA #############################@B?8B?BA@@DDBCDDCBC@CDCDCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC V 0 CHROMOSOME_I 2 1 27M1D73M * 0 0 CCTAGCCCTAACCCTAACCCTAACCCTAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAA #############################@B?8B?BA@@DDBCDDCBC@CDCDCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC * 768 CHROMOSOME_I 2 255 1M * 0 0 * * CT:Z:+;STOP * 768 CHROMOSOME_I 28 255 3M * 0 0 * * CT:Z:+;COMM;Note=consensus%0Amulti%09line%0Atag%0A!"#$%25^&*()_+<>?:@~{}%7C%0A1234567890-=[]'%3B#,./\ * 768 CHROMOSOME_I 102 255 1M * 0 0 * * CT:Z:+;STOP htslib-1.2.1/test/ce#unmap.sam000066400000000000000000000024551246417267700162020ustar00rootroot00000000000000I 4 * 0 1 * * 0 0 CCTAGCCCTAACCCTAACCCTAACCCTAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAA #############################@B?8B?BA@@DDBCDDCBC@CDCDCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC II 4 * 0 1 * * 0 0 CCTAGCCCTAACCCTAACCCTAACCCTAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAA #############################@B?8B?BA@@DDBCDDCBC@CDCDCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC III 4 * 0 1 * * 0 0 CCTAGCCCTAACCCTAACCCTAACCCTAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAA #############################@B?8B?BA@@DDBCDDCBC@CDCDCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC IV 4 * 0 1 * * 0 0 CCTAGCCCTAACCCTAACCCTAACCCTAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAA #############################@B?8B?BA@@DDBCDDCBC@CDCDCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC V 4 * 0 1 * * 0 0 CCTAGCCCTAACCCTAACCCTAACCCTAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAA #############################@B?8B?BA@@DDBCDDCBC@CDCDCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC VI 4 * 0 1 * * 0 0 ACTAAGCCTAAGCCTAAGCCTAAGCCAATTATCGATTTCTGAAAAAATTATCGAATTTTCTAGAAATTTTGCAAATTTTTTCATAAAATTATCGATTTTA #############################@B?8B?BA@@DDBCDDCBC@CDCDCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC htslib-1.2.1/test/ce#unmap1.sam000066400000000000000000000053211246417267700162560ustar00rootroot00000000000000@HD VN:1.0 SO:unsorted @SQ SN:CHROMOSOME_I LN:15072423 @SQ SN:CHROMOSOME_II LN:15279345 @SQ SN:CHROMOSOME_III LN:13783700 @SQ SN:CHROMOSOME_IV LN:17493793 @SQ SN:CHROMOSOME_V LN:20924149 @SQ SN:CHROMOSOME_X LN:17718866 @SQ SN:CHROMOSOME_MtDNA LN:13794 @RG ID:UNKNOWN SM:UNKNOWN @PG ID:bowtie2 PN:bowtie2 VN:2.0.0-beta5 SRR065390.33808391 4 * 0 0 * * 0 0 GATCGCACTGAAAATCTGGATATAGAACGTGTGCAAATGATTGTCTCTACCGTTCCGTAAAAATTATTGCTAATTAGCAATGATTTTAAGCTAATTAGTT CCCCCCCCCCCCCCCCCCCACCCCCACCCCCCCCCCCCB;CCCAACCCCCCCCCCCCCD=B9BCABCBCB>BBBC@B<<@BA;BCC?B>A<<@(?:4==4 YT:Z:UU SRR065390.33808433 4 * 0 0 * * 0 0 NCATCTTCTGCAGGCGCGGTCGGCACCGTGTATTCGTTACGTTCCACGCCGATGATATTAGACACCAGCACGGTGTGATGCGCAGTCACCGCACGACCCG !################################################################################################### YT:Z:UU SRR065390.33808462 4 * 0 0 * * 0 0 NGTTTGAGCGCAATGACTTGACGATGACCGGTGATTACAGTAACCAGCATATTGTGCCGATGAAGCAGGCTGTCGCTCCGCAATTTGAAGAGGGACACGA !################################################################################################### YT:Z:UU SRR065390.33808468 4 * 0 0 * * 0 0 NGCTTCCCACTATATTTTACTCTCTGTGGCTTCCCACTTTATTTTACTCTCTGTGGCTTTATCGATTATTTTTTTCTCCTTGGCTTTCCTCTTTATTTTT !))))))''&585555AAAAA6AA############################################################################ YT:Z:UU SRR065390.33808471 4 * 0 0 * * 0 0 NCGTCTTCTGCGGTTTCTATGATAGAGCAATTCTGTGGCGGATATTAAGATAACGGGTATCTGTTCTTTAATGATGCCGCAAAAAATGGAAAGTTAAGAA !################################################################################################### YT:Z:UU SRR065390.33808489 4 * 0 0 * * 0 0 NGGAAATTCTGCGGTATCGAGAGATATTTGCCTTTAATTACCCCATAGCCGATTAACATCCCGGCACTATTAATCATTTCAATATTATCAATCACAAAGT !################################################################################################### YT:Z:UU SRR065390.33808504 4 * 0 0 * * 0 0 NTGGAACACCATGCCCACTTTCGCACGCAGCAGGGCGATATCCTGAGAGTTGGTCAGGATGTTGTCGCCATCAAGCAGAATTTCACCTTCCGCACGCTGC !################################################################################################### YT:Z:UU SRR065390.33808511 4 * 0 0 * * 0 0 NCAGAAATATATTGAACTTTTGAAACATGTCCCAACTTTTTTTTTTTTTAGAACACGTTGGCTGGTTTTTCAAGTTTTGAATACTTTTTAGGTTTTTTTG !***()(+++AAAAAAAAAA:78:8318::AAAAAAAAAAAA########################################################## YT:Z:UU SRR065390.33808521 4 * 0 0 * * 0 0 NTGTCAATACATTGTAAGGATTTCCCATTATGTCAATACATAGATCGGAAGAGCGGTTCAGCAGGAATGCCGAGACCGATTTCGTATGTCGTGTTTCTTT !################################################################################################### YT:Z:UU SRR065390.33808523 4 * 0 0 * * 0 0 NTACTTCTTACAAGATTTTTATCGCTACTTGAAAAAAATTCATCAACATAATCGCCATGACTATCTGCACCGTGAGTATGATAAGCAGCAACTCTATCTG !***+--,')AAAA778577A72AA50888AAAAAAA72A88858AAAA77AAAAAA7AAAAAAAAA8AA############################## YT:Z:UU htslib-1.2.1/test/ce#unmap2.sam000066400000000000000000000126531246417267700162650ustar00rootroot00000000000000@HD VN:1.0 SO:unsorted @SQ SN:CHROMOSOME_I LN:15072423 @SQ SN:CHROMOSOME_II LN:15279345 @SQ SN:CHROMOSOME_III LN:13783700 @SQ SN:CHROMOSOME_IV LN:17493793 @SQ SN:CHROMOSOME_V LN:20924149 @SQ SN:CHROMOSOME_X LN:17718866 @SQ SN:CHROMOSOME_MtDNA LN:13794 @RG ID:UNKNOWN SM:UNKNOWN @PG ID:bowtie2 PN:bowtie2 VN:2.0.0-beta5 SRR065390.14978392 16 CHROMOSOME_I 2 1 27M1D73M * 0 0 CCTAGCCCTAACCCTAACCCTAACCCTAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAA #############################@B?8B?BA@@DDBCDDCBC@CDCDCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC XG:i:1 XM:i:5 XN:i:0 XO:i:1 AS:i:-18 XS:i:-18 YT:Z:UU SRR065390.921023 16 CHROMOSOME_I 3 12 100M * 0 0 CTAAGCCTAAATCTAAGCCTAACCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAA ###############################################???88:;98768700000<>:BBA?BBAB?BBBBBBBB>B>BB::;?:00000 XG:i:0 XM:i:3 XN:i:0 XO:i:0 AS:i:-6 XS:i:-13 YT:Z:UU SRR065390.1871511 16 CHROMOSOME_I 3 1 100M * 0 0 CTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAA 0:BB@>B<=B@???@=8@B>BB@CA@DACDCBBCCCA@CCCCACCBCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC XG:i:0 XM:i:0 XN:i:0 XO:i:0 AS:i:0 XS:i:0 YT:Z:UU SRR065390.3743423 16 CHROMOSOME_I 3 1 100M * 0 0 CTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAA ##################?6@:7<=@3=@ABAAB>BDBBABADABDDDBDDBCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC XG:i:0 XM:i:0 XN:i:0 XO:i:0 AS:i:0 XS:i:0 YT:Z:UU SRR065390.4251890 16 CHROMOSOME_I 3 1 100M * 0 0 CTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAA ###########@BB=BCBBC?B>B;>B@@ADBBB@DBBBBDCCBBCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC XG:i:0 XM:i:0 XN:i:0 XO:i:0 AS:i:0 XS:i:0 YT:Z:UU SRR065390.5238868 16 CHROMOSOME_I 3 1 100M * 0 0 CTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAA @,=@@D8D;?BBB>;?BBB==BB@D;>D>BBB>BBDDBA@@BCCB@=BACBCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC XG:i:0 XM:i:0 XN:i:0 XO:i:0 AS:i:0 XS:i:0 YT:Z:UU SRR065390.8289592 16 CHROMOSOME_I 3 1 100M * 0 0 CTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAA ###############################A?@C9@@BC=AABDD@A@DC@CB=@BA?6@CCAAC@+CCCCCCCCCCCCCCC@CCCCCCCCCCCCCCCC XG:i:0 XM:i:0 XN:i:0 XO:i:0 AS:i:0 XS:i:0 YT:Z:UU SRR065390.33808391 4 * 0 0 * * 0 0 GATCGCACTGAAAATCTGGATATAGAACGTGTGCAAATGATTGTCTCTACCGTTCCGTAAAAATTATTGCTAATTAGCAATGATTTTAAGCTAATTAGTT CCCCCCCCCCCCCCCCCCCACCCCCACCCCCCCCCCCCB;CCCAACCCCCCCCCCCCCD=B9BCABCBCB>BBBC@B<<@BA;BCC?B>A<<@(?:4==4 YT:Z:UU SRR065390.33808433 4 * 0 0 * * 0 0 NCATCTTCTGCAGGCGCGGTCGGCACCGTGTATTCGTTACGTTCCACGCCGATGATATTAGACACCAGCACGGTGTGATGCGCAGTCACCGCACGACCCG !################################################################################################### YT:Z:UU SRR065390.33808462 4 * 0 0 * * 0 0 NGTTTGAGCGCAATGACTTGACGATGACCGGTGATTACAGTAACCAGCATATTGTGCCGATGAAGCAGGCTGTCGCTCCGCAATTTGAAGAGGGACACGA !################################################################################################### YT:Z:UU SRR065390.33808468 4 * 0 0 * * 0 0 NGCTTCCCACTATATTTTACTCTCTGTGGCTTCCCACTTTATTTTACTCTCTGTGGCTTTATCGATTATTTTTTTCTCCTTGGCTTTCCTCTTTATTTTT !))))))''&585555AAAAA6AA############################################################################ YT:Z:UU SRR065390.33808471 4 * 0 0 * * 0 0 NCGTCTTCTGCGGTTTCTATGATAGAGCAATTCTGTGGCGGATATTAAGATAACGGGTATCTGTTCTTTAATGATGCCGCAAAAAATGGAAAGTTAAGAA !################################################################################################### YT:Z:UU SRR065390.33808489 4 * 0 0 * * 0 0 NGGAAATTCTGCGGTATCGAGAGATATTTGCCTTTAATTACCCCATAGCCGATTAACATCCCGGCACTATTAATCATTTCAATATTATCAATCACAAAGT !################################################################################################### YT:Z:UU SRR065390.33808504 4 * 0 0 * * 0 0 NTGGAACACCATGCCCACTTTCGCACGCAGCAGGGCGATATCCTGAGAGTTGGTCAGGATGTTGTCGCCATCAAGCAGAATTTCACCTTCCGCACGCTGC !################################################################################################### YT:Z:UU SRR065390.33808511 4 * 0 0 * * 0 0 NCAGAAATATATTGAACTTTTGAAACATGTCCCAACTTTTTTTTTTTTTAGAACACGTTGGCTGGTTTTTCAAGTTTTGAATACTTTTTAGGTTTTTTTG !***()(+++AAAAAAAAAA:78:8318::AAAAAAAAAAAA########################################################## YT:Z:UU SRR065390.33808521 4 * 0 0 * * 0 0 NTGTCAATACATTGTAAGGATTTCCCATTATGTCAATACATAGATCGGAAGAGCGGTTCAGCAGGAATGCCGAGACCGATTTCGTATGTCGTGTTTCTTT !################################################################################################### YT:Z:UU htslib-1.2.1/test/ce.fa000066400000000000000000040275361246417267700147170ustar00rootroot00000000000000>CHROMOSOME_I GCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGC CTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCT AAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAA GCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGC CTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCT AAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAA GCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGC CTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCT AAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAAAAATTGAGATAAGAAAA CATTTTACTTTTTCAAAATTGTTTTCATGCTAAATTCAAAACGTTTTTTT TTTAGTGAAGCTTCTAGATATTTGGCGGGTACCTCTAATTTTGCCTGCCT GCCAACCTATATGCTCCTGTGTTTAGGCCTAATACTAAGCCTAAGCCTAA GCCTAATACTAAGCCTAAGCCTAAGACTAAGCCTAATACTAAGCCTAAGC CTAAGACTAAGCCTAAGACTAAGCCTAAGACTAAGCCTAATACTAAGCCT AAGCCTAAGACTAAGCCTAAGCCTAATACTAAGCCTAAGCCTAAGACTAA GCCTAATACTAAGCCTAAGCCTAAGACTAAGCCTAAGACTAAGCCTAAGA CTAAGCCTAATACTAAGCCTAAGCCTAAGACTAAGCCTAAGCCTAAAAGA ATATGGTAGCTACAGAAACGGTAGTACACTCTTCTGAAAATACAAAAAAT TTGCAATTTTTATAGCTAGGGCACTTTTTGTCTGCCCAAATATAGGCAAC CAAAAATAATTGCCAAGTTTTTAATGATTTGTTGCATATTGAAAAAAACA TTTTTCGGGTTTTTTGAAATGAATATCGTAGCTACAGAAACGGTTGTGCA CTCATCTGAAAGTTTGTTTTTCTTGTTTTCTTGCACTTTGTGCAGAATTC TTGATTCTTGATTCTTGCAGAAATTTGCAAGAAAATTCGCAAGAAATTTG TATTAAAAACTGTTCAAAATTTTTGGAAATTAGTTTAAAAATCTCACATT TTTTTTAGAAAAATTATTTTTAAGAATTTTTCATTTTAGGAATATTGTTA TTTCAGAAAATAGCTAAATGTGATTTCTGTAATTTTGCCTGCCAAATTCG TGAAATGCAATAAAAATCTAATATCCCTCATCAGTGCGATTTCCGAATCA GTATATTTTTACGTAATAGCTTCTTTGACATCAATAAGTATTTGCCTATA TGACTTTAGACTTGAAATTGGCTATTAATGCCAATTTCATGATATCTAGC CACTTTAGTATAATTGTTTTTAGTTTTTGGCAAAACTATTGTCTAAACAG ATATTCGTGTTTTCAAGAAATTTTTCATGGTTTTTCTTGGTCTTTTCTTG GTATTTTTTTGACAAAAATTTTTGTTTCTTGATTCTTGCAAAAATTTTTC CGTTTGACGGCCTTGATGTGCACTACCTTCGCTTAAATACTACATTTTCT GAAAATGTTATAATAGTGTTCATTGTTTCATACAAATACTTATTTAATAG TATTTCTGGTTATATAATTTGTATAAAAAGTGGTTGACATAACAAGGCTG ACGAAACTTTGTGATGGCTGAAAATATTTTCCTAGCTTTATTGATTTTTA TTTATACGTGTTTGAATAACTTGGCCAAATCGCCGAGAAGGAATAGAATA CTGGACGACATTGTACATATTTTCCAAAAAATCAGAAAGTAGATGACGGG ACCAATTCTTTCTGTCAGGTTTTACAACCGCCCAGTGCGTCTACGTCACA TGTTGTATAAATGGTTGTAAACAATATGCGGAAACAATCAAATGCATTCC CATAAGGCATAATATAGAGGCTACAGGCAATGAGTATCGCTCTTTGCTTT GTTTAAAGGGGGAGTAGAGTTTGTGGGGAAATATATGTTTCTGACTCTAA TTTTGCCCCTGATACCGAATATCGATGTGAAAAAATTTAAAAAAATTTCC CTGATTTTATATTAATTTTTAAAATCCGAAAATCCATTGGATGCCTATAT GTGAGTTTTTAAACGCAAAATTTTCCCGGCAGAGACGCCCCGCCCACGAA ACCGTGCCGCACGTGTGGGTTTACGAGCTGAATATTTTCCTTCTATTTTT ATTTGATTTTATACCGATTTTCGTCGATTTTTCTCATTTTTTCTCTTTTT TTTGGTGTTTTTTATTGAAAATTTTGTGATTTTCGTAAATTTATTCCTAT TTATTAATAAAAACAAAAACAATTCCATTAAATATCCCATTTTCAGCGCA AAATCGACTGGAGACTAGGAAAATCGTCTGGAGATAGAACGGATCAACAA GATTATTATTATATCATTAATAATATTTATCAATTTTCTTCTGAGAGTCT CATTGAGACTCTTATTTACGCCAAGAAATAAATTTAACATTAAAATTGTT CATTTTTGAAAAAAAAATAATTAAAAAAACACATTTTTTGGAAAAAAAAA TAAATAAAAAAAATTGTCCTCGAGGATCCTCCGGAGCGCGTCGAATCAAT GTTTCCGGAACTCTGAAAATTAAATGTTTGTATGATTGTAGAACCCTTTC GCTATTGAGATTTGATAACTTTTAAGTAATAAAATTTTCGCAGTAAGACA TTAAAACATTTCACAATTAAGCTGGTTCTGAACTGTGTGAAGTATATTGA AAAAAACTAACTGATACAAAAATATAATTTTATGATAGTTTTCTGGATGT CCCAATATAAACGATGTCAATTCTGCGACATGCTACAGTCATCCACGAAA GTAACCCGAATACCGACAAAAGAAGAGGAACGCCAACTTTGGATAGACGC TCTAGGGGCTGATTTTGGTCGGAAAATAGTCGGGAAAAAATAGAGGACAT TACAGATGAGGATGAGGATGAAGATAGAAATTTGCCGACAACTTCGTCAT GCCGCTGATTTTTTTGATGTTCTACGCTTAAATTTTCAGCGAACGAACTA TTTTTTATATTTTGATTGTTTTTAAATAATATTTGCCATAAGAAATTCTC ACTTTTCCAGGAAACGTCGTTTCGCCGCGATTTTCCTCGTCTCCAGTCGA TTTTGCGCTGAAAATGGGATATTTAATGGAATTGTTTTTGTTTTTATTAA TAAATAGGAATAAATTTACGAAAATCACAAAATTTTCAATAAAAAACACC AAAAAAAAAGAGAAAAAATGAGAAAAATCGACGAAAATCGGTATAAAATC AAATAAAAATAGAAGGAAAATATTCAGCTCGTAAACCCGCAAGTGCGGCA CGGTTTCGTGGGCGGGGCGTCTCTGGCGGGAAAATTTTGCGTTTGAAAAC TCACATATAGGCATCCAATGGATTTTCGGATTTTCAAAATTAATATAAAA TCAGGGAAATTTTTTTAAATTTTGTCACATCGATATTCGGTATCAGGGGC AAAATTAGAGTCAGAAACATATATTTCCCCACAAACTCTACTCCCCCTTT AACAACCACCCGAGGATATATTCGACAAACGATCTATCTACTAGGAATAA CTCGATTATTGACATATTATAGACTTCTTTTAGTATTTGTAAAATAGAGG ATCAGACCCAAAATTCAGCCCGCGAAGGCATGACGTCAGCGCGAGGCAGT AGTTTCCAGAAGAACTCTGTCGTCTACCTTAATGCCTCAAATGCGAACCC GCTTCGGCCATCCTTCTCGCTCAGAGAATGGATTAGAGTTCTCATCAACT CCTCTGTCTAATTTTCAACTGCGGCGGTTGGCGACCGGTATTACCGCGGC GACCGACACCTCCCGGGTTCCGTCGATCGCTGTCTGTTGTGTGCGCCGCG ACTCCGCCCACCGGTGGTAACTTTTTGTGGGGGAATCTTTGTTTTTGGTC ATTTTTCAGCGCTTTTCAGCGATTATTGACCAATTTTGAATAAAATTTTC AACAGAATATCATCTAAAATATTGCTTAACATTTATTTAACAGAAATAAC GTGAGCACGCATGTAAAACATGAAATTTTCGGGAAAATTGCAATTAAACG AATAAAAATCGATATTTAAATCAATTATTGGTGAATCCGGTGTGTTGAGG CTTCAATGCATACATTTTTACTGGATAAATCTCCTTTGGGAATCCGGTTT GCAGTGCTTTCGAGACCATGTCCAGTTGAGAATCGGCGAACGCTTTAAGA AGCTCGGGCTGAATAATGAATTGTTTTAAAAAATGTTTAGTAAAAAATTG TTTTCGTGCAAATTGTCTTCGATATTATCCAAACGTGACGTTTTGCGATT TTCGCGCTAAAATTACAGTAAGTGGGGTCTCGACACGACAATTTTTGTGA AATACAAACGGGCGTGTGTCTTTAAGAAGTACTGTAGTTTAAAAACTTCA TTTCTGTGGAATTTTCATATATTTTTCATAGTTTTTCTCTTTAAATAAAT CACTTTTCAACAAAAAACTATGAGACAATAGTTTGAAATTACAGTATTCT TTAAAGGTGCACGCCTGCTCGAATTTCGCAAAAACGTGTCGTGTCGAGAC CCCAATTACAGTATTTTTGACCCGAATATCGCGAAATTTCGAGTCTGGGT GAAAACATTGAAATTTTTGGCAAAATAAAAGAAATATGTCCTTTTTCAGA ATATATTTTCTAAATTTCGAGACGAAACAACAATTTTAAATGAATTTTAA TTTTAAATATTAAATATTTCGGAATTTGGCGTTTTTTATGCATGTCGATT CACTAACGATTTTGTACTACACGTGGGCAAGTTTATACAGTTTTTGGCTA AAATTTGTGAATTTGAACCGTTTTTCGGCGAATATTTGAAAAATTGGCAA AACTGGTTCAAAAACAAAAATTTTTTAAACTGTACAAACTGTCCAAAAAT TCGTCGTAAATCGACACACCCTTCTCATTTTTTCAAAATTTTAATTGTTT TCGAATGTTTTTTTTGCAGAATAATTTGTAAAATGAGCCTTTTGTGAATT TTTTTTAATTTCAAAGTTTTTATTATTTTTTCTCAAACCAGCACCTCTGT TCTCGTCCAACTATGATCATCATCGTCGAATAACCGTTTCTCGTGATTTG TCACATTATCCTTGAGCACAATACATCCACCAGGTTTCAGTCCTTTCTGA AAATGAAAATTAATTTTAAAAAAATTGAATTATTTTAAATGAAACAGTTT TCAGAGATTTCTCAACTTTTGAGTCCACCACCAGGCCTGCACGTTTTTCG GGTTTTATCTTTTAAAAAACTGAAAAATCGAAAAATTTCAATTTCTGTTT TGTGGTCAAAATTGTAATTACAGGTAAGCAAATAGTTTAATTTTAAAATT GAAAATTAGGGAAATGACCGGACATAAGTTTAAAAACCCGATTTTTTCAA TAAAAAGGAAAATTGAAAATTTAATAAAACAGGTTGTAAATCAAGGAGAT CGTATTGATTGAAAAAAAATCCGAATGTTCCGGATTTTTCAGTGGTTTTT TTTGAAAGAAAATCGAAAAAGTAAATGTTTTTAATTTTTAAATTTAAATT TTTAATCGGAAAAAATGTACGAAATTGACTTTTTAATGTGAAAAATTGTT GTTTTAAAAAAAAATTTTAACCGATACAGATTTTCTAGACTCAGTTTTTT CGGTTGAATATTGTTTTTTACTATTTTTTCATTACAGAAAGAATCCAATT TTATTTCGCTTAAAAAATAACCGGAGCATCGAAAATATTTTTTTTTCTGT TTTACTCAAAGCATTTCAATTACCTAGAATTTTGTTTAAAAACTACATGC TTTATTTATGAACGTAATAAATAAGACCCCCTCTTATTTATAAACTTTCA ACATATTTTCAGTTTTCAGTGCTATCTAGTGCTTACCGCACATCTTTTAA AGAAATCAACCAAATCCTCATCAACCAAATGCCCTGAAACCCATTGAATC CATATCAAATCATAACGTCGTTCGGGCGGTGCAAACGTCTGCAGTCCTTC GACGAATTTATCTCCAATTCGTGGATGTTTTCCAATATATTGATCACTTT TCGTGATCAACTCCTCGACGACGTCTTCCATATCAACTTTCGAGAAGAAT GGCATTAAGAGATGCTTTGTAACACGTCCGATACCCGCTCCGCAGTCCAG TGCATAGTCAAAGTAGCCGAATAGATTCTGGAAAATATTTATAAAATTCA AAGTTGGCCCAGGGGTGACCGGCAATTTCAAGCAAATCGGCAAATTGTCA ATTTTCTGAATTTGCCGAAAATTTGACAAAAACGACAATTTGCCGGTTCG CCGAATTTACCTTTTTTAAATTTAATTTTCAATTCAGGCAAACTGACGAT TTTCCGTTTGCCGGATATCAATTTGCAGGAATTTCTCAAAGGAATTTTTA TTAAGACGGAAACACAGTGCTTTTTTGAATTTTTTTTCCCGTTTTCTTCA GATATTTTTATAGAATTTACTGACTTTTCAGAATAGATGTAGGACAATTT TGTTGTTTTAAAAATTGAAATTCTGAAATTTCCAACAAAAAAACATGTGC AAACCCACAAGTTGGCAAAAATATTTTGCATTTGCCGTTTTTCCCGTTTG CCGAAAAGTCTAATTTCGGTAATTGGGCCATTTTTCGAAATTTTGAGCCA CATAAAAAACTTTGAACCATTTTTGAGAAGTATTATTACGACATTCGTTT ATTTGAGCACAATTTGGGCCTATACTTTCAAAATCGGGGTTTGAAAACCC CTATATGTTCGACCGAATGTTAATCTCATAAAAATTTGATGAAAATAAAA TTTTCTACGGCTCATAAACGTATAGCCCCCGTCAGTCTCAAAATTTATAC GATAGACACTTTTTGGCGTTTATCGCCTATATTCCGTCAAAAACCATTAT TCATCATTCTTTCAATGTTGTTTTTTTTAAGGCTAAAAAACTTTCATGCA AATTTGTTAGCCGTGTCGTGGTTTATACGAAAATTTCAGAATTTATAAAA TAAAGGAAAACGAAAATGTTTCTATATACCCTATTTATGTTCTCTGATTC CGAATACCAATGTGAAAAATTCAAAAAAAATTCCCTGATTTTATATAAAT TTTTGTAAGCGACAAAAATTGTCGTTTGAATTTCACACTTGGTTACAAAA ATTTATGAAAATGAGGAAAATTTGTTTTAATTTTTTCACATTGATATTCG GAATCAGGAAAATAAATAGGGTCTATAGAAAAATTCCGAACCTTCACTCC TTCTCTGAGTATAATAAATTTAAAATAAATACAGAAAATTTCAGTTCAGA CCTCATTAAATTTGGGTATATTTCTAGGATCCGAGTTTTTACACCAGATT TACAAACTTTTAGCCTTTCACCGCCTTTTTATGCGCATTTCCCATCAGTC AACTCCAAAAAAATCGCAACTTTTGCCTCATATTTCAAGAATATTCCCCT TTCTCTCCCCATTGAAAGTCATTTTCGAAACAAGCGGAAGATTCGTCATA TGTGGTAATGTGTGGCGTGCGTTGGCAAACAACAAGAAAGAATCATTCTC TGAAAACAAAAAGCGTTTTGGGTGCCAAAGTAATATTGAAAATCTGCCGT GTTTTCTCATTTTCCATCAAAAGAAAATGAGAAAAAAGTTTCGGCGTTTT ATTTGATTTCCGGGAAAGAAGACTCGGAAAAAGATTTAATTGAATTTTTC ATAGCAAACCTATATTGCAACAACTTTCTAAAAGGTCAGAAATTGCCGCG TAGCCTAGAAAATTGGAAAACTCTTCCAGCTGGTATTATTTCAGACATGG TGCATCGAAAATTCGAAAATTACAGAAATTAACATTTTGGAGCATCTGCC AGAAAATTGAGATTACAGTACCCCACTTCTGCCGAGAAATTCGAGGTGGA AGAGGTCTTACAAAATTTTCGGTCACGTGAAAATGGGAAGCGTTCAGGCT CCACACGACGGAATTCACCTAGTTTTCAGGTGAGAAGATATCGTACGAGG AGAATTGACCTCCAAATCCTGATCGTGACTACAGGTCGTCGTTCGGAGCT GTGGAAGAGTTTTGAAAATCTTCGACCATGAGAGAAATAGACAGGACGAC CAAACATTTTCAGTGGAAGAGCTTTTCCTAGGCCATCAGGATGCTATTTC GACAGAGCTGAGTTATCCTCAAGTCGTTACGAGGTGTGGAAAAGTTTTCC AAAATCCCCGACCAGGTAGAAAATGAGCACACCGATTAAGTTTCTCCAGT GGTAGAGTTTTTTCTAGGCCATCATTATGCTATCTAGAAAAAAGCTTCGG CCATGGGGTTTTTAGGCCGTCTATTTATTTCTCATAACTTTCTCAGAAAT TCGTCTATTTCTCAGAACCCCCCAATGATAAGTTTTTTGCAAAAAAAGTT CTGCTTTGCTCATCAGCCGTAATCAGGTGACCTCATTAGGCCTACCCAAA CACAGATTTGTCATTATTTTTCAGACAAAAAACACGAAAAAAATCTTCAC GCATGGGGTGATAACCTGATTTTAAATCTTACTGTGCCGGCTGGCGCGGC GAGCTTCGATCACTGAGCCGAAAGATTATGAAAACTATGGGAATGACGGC GTAGCCTAGAAATCGTCCAGGCAGAGATTCTGTCTAATTTTCGAGCATAT ATCTCCCAGTTTTGTTATTAATTTAAGTAAACTCAAACCTAGAAACAAGT AAAACGGGAGGGGGGGGGGGAATATCAGAAAATTAAATCTTGCGACACTT TTCCATTGATACTTTCAAGGTAATGCCCAGAGGTGTGCGGCAAATTTTGA AACTTGCGCATGCCGCCTTTTTTTTTTTCTAGAAAACAGTCAGAATTTTT TGTCGAATTTGTTGAAAATTCGCTAATATACTGTGAGTTTAGAAAAAATA ACGAAAAAACTCGGAAAAGGAGGAAGAGATCTGAAATATGTAGATTTTTT TAGAAAAGACCAGAAATTACTGAAAAATTGGCATTTTTCGTCGAAACCCC AATATACTAAATTATTCGGATTTTTAGAAAATTTTCAAATTCACCATACA GTGCATTTTTTCCTACTTCTACGACTTTAAAGGGGGGAGCATTTATGCGG AAGGGTCTTGCCGCGCATTTAGTCATCATTTTTAGCAGTTTCTGTGTAAA ATTCGCGTAGATCACATGAAGATCACAAAATATTTATCCCATATTTCGTA TTTCTGTTGCTTTTTCACAAATTAATTGTGATCTACGCGTGATCTCCGCG AATTTTGAGCAGACTTTGTTAAAAATGATGACTATGTGCACGGCAAGACC CTTCCGCATAAATGCGCCCCCCTTTAAAGTCGTAGAAGTGGAAAAAAAAT GCACTGTAGCAAAAAATCGAACATTTCTGTTCGATTTTTGAATTTCTCGA AATTTTTTAAAATAATTTTTAAAATAACATTTTTATTTTATTTCGAAAAC TACCGATTTTAGAAAAATTCTAAAATTTCGATTTTTTTTGTTGATTTTTC GATTTTTAAAATAAAATTTCATAATTTTTTAAACCGATCTTTCTTGCTTT TCCTGAAAAATCGATGATTTCTATACCTTTTTCTTCAGTCCTTCAATAAA TCGTTTCGACGCCGATATGTCGGGCGCGTGAAGCGCTTCGAATCCGCCGA GCATTCCGTTGACGTCCTGGCTCGCGCGGCTCCAGTATTCCTCCGCCTGA AAGAGAATAGTTGAAAACATTGTTTTGAGACTTAAAAATTTTTTTTTTAG TTTTTTTCAAAAATTCTTACATGTTATAGAGTTTTTTTTTCAAATTTTCA GCTTTTTTCAGAAAAACTTAGTATTTTCGATAATTTTAAATAAAAAAGTT TTTTTTCAAAAAATGTTTCGGTTTTTTTTTTAATTTTTGGTCTAAAATTC TCCGCAAAAGATTTGCGTGCTGGCCGAACTTTTTGATTTTGTACCTTTTC ATAAACATCTTCACCATTGTGAATTCTAGAAGATGATGAAGAGCTCATTT TTGATGTTGTGACAGCTGCTCCGAGCAATCTGGAGACTTTTGTGACGAAA AGACGAGAGGTCACGGATATGATGATGATACTGGAAATGAGATATTTATA TTTACTAGTTCATCGGGAAAATTATTACGAGAAAGATAAACAGACATGTG CGTTTTTTTAATGGAAGAGAAACACAAGAAAAATCTGGAAAACTAGGCCA CGGCTATCAGTGTCGATTTACGGCATACGGTCTCGACACGACTATTTTTG TTAAATGTGAAGGTATGCACCTTTAAAGAGTACTGTAGTTTGTAACTCTC ATTGCTGCAACATATTTGACGCTCAGCGAAAACTACAGCAATTCTTCAAA AGACTACTGTAGCCTTTGTGTTGACTTACGGGCTCGATTCTCGAAACGAA TTTCTGCTCGAATTGTGACAGCCATATTCAATTTGGTATAGTCTTTTCGT ATTTTTTGCCATTTTTCTGTTTTCTTCTAATATTTAATCTATTATTAAAT TATGTCCGTAACTCCCTCCAAAATTAGAACTGCGACCGAACAGAGATTCG TTCCGCCCCATATTCCGGCCAATCAGATCGAGTAGGCGGAGTTCGAAGTC GCTGATTGGTTTGAAAAGTCGCGGAAATTTGCAAGTTTTAAGGTAGCGAA AACTGATGACTATTGTAGCGCGCTTGTGTCGATTTACGGAATCTCGATTT TCAGGAATGAATTTTTAATTACATTTTTTCGCTCAATTAATATTCTAAAT AAATAAATAAATGATTTGAATTAATTTAATTTCATTCGAGCCCGTAGATC GACACATGTGCTACAGTAATCATTAGTTTTCGCTACGAGATATTTTGCGC GTAAAATATTTTCCCGTAATAACTCTACTCCGACAAACATTACGACCTCC ATGGAGGCCTCCAGGTATAGGTGAGACTCTTGTATTTCCAATTCAGAGAC AATGCGTCACTGGAAGAGAAAACGAAGCGGAAAAAAAAACACGGAAACCC AAAAATAGTGTTTGCCCCGCTCTATTCTTCTCCAATAATTTCTGTGTCTA ATTTTGAAAGACTCCACCTGTGTATGCCTTCTCGACATAAACCCCCCCCC CCCCCCCTATCTTACATGGTACTGATAACACTTTCAGTCTTTCACACTTT TGGCGCGCAACGCCGCTCTTTTTTCGCGGCGAGCTGATGACGTCATCAAT TTTTCATCGCTTTTGATTATCTTCAATGTTCTAGAAGGGCACATAGGTCA TCCTTATTTTTTCCTTCTCTTTCTCGTGACGGCCCTTGTTGCGCATGCCC GCCCCCTAGAGCAGGGCGTGGCCTGAACGGCGGCTCCGAGAGCTACTCAT TCTTGCCGCGTCACCCTCCAGCGCCACCCAAACTTCTTCGGTTCTAGAGA TCGAGAAGAACGTATGATTTTTTAAAATTATAATTGTTTCTTTCGAAAAA AAAAATTTCATTTACAGTAAGCCAAACATACACAATCAACATGAAACTCG TAATTCTGCTATCTTTTGTTGCGACAGTTGCGGTTTTTGGTGAGTTTATG CTTTAGATAATACTTTTCCGCCAAAAATACAGTTGCCGGTCTCGGTATGG CAATATTTTTGTTAAATTCGAAAAGCAGTGAGTAATGTAGTTTCGAATTT TCGTTTCTGCTTAATTTTCATCAATTCATCGTTTTTCTCACGACTTCTTC TTTATGAAAAATCAATGAAAATTCTGACTAGGTCAGCTTAGGGGTGAGGT ACCTAGAGACGCCACATATGCCAAACGGAAGCTGAGATCATTGGCTACAA GAATATGCTTTCAAATTCTGCAACGGACCTCTGGGAGTCTGGAAATTCTT GTCTGAAATTATGCTTTTGAATGCTCGAAAGTGGTAAGAATTTAGAATTT ATTACAGAAAAACGTTTAATTAATAAAATTAGTTTTATACTTGAAACAAG TACTGTATGCACTGTATCAAAACACATTTTCATCTTTTCTAGGTATTCAA CTTCACGTTTTTCTGTAATAAATTCTAAATTCTTACCACTTTCGAGCATT CAAAAGCATAATTTCAGACAAGAATTTCCAGACTCCCAGAGGTCCGTTGC AGAATTTGAAAGCATATTCTTGTAGCCAATGATCTCAGCTTCCGTTTGGC ATATGTGGCGTCTCTAGGTACCTCACCCCTAAGCTGACCATTCCCTAGTG AGCAAACAAAATTTTGAAATTACAGTACTATTTAAAGGCACATTGATTTT TTGGGTCAAGCAAAAATTTGTCGTGTCGAGACCGGCTACGGTATTTTCGC GAAAAATCGCAAAATCTTGCGGCTGGGATATACTTGTGCGAAATACTTTT TGCATTAATTTTGAGCAAAATTATTTTTTTTAGACTTTTTGAAATCCAAA TTTTTTGGATTGCGAAAAAAACCTGTGTCCGGTTGTTTCATTAGGCCAAC AAAGTTCCTGGAACACTGATGAAAACCATGATAGAGGCGGAGCATAATAT CGATTTTTCGTACTTTCCTGTATTTCTTCTTCTATATGGCCGAGTAGAAC AGGATTAGGGGTAAAGTCAAAATTTTTCTCATATGGATATCATATGGATA TCAAAATTTTTCTCATATGGATATGGAGAAAATTTTTCTCATATGGACTT TGAAAGTTGAATCACTTGACATCTGGGAAATTAGTATTCCAGGCGTAAGT CGGATCTGTTAGAAACGGAATACTTATAGGCTTCGTGAATTAGGTAGACT TTCAATTAATCTGATCCATGGGAGTCAGACGCGGTTTCCAGGCCTGACGC CTGCCTCCAACTTGCCCGCCTCACGCCGGTCTCTCGCCTCATTTCTGCAC TGTGACGAGACAGACGAAGGTCGCCTTCTGGCGCCCGCATGGAAATCCTA CGAATATGTCAGCTTCTGATGGGACTCCGTAAATCGACACACAGGGGTAC CTCAGACATTTCCCTCCCCCTTACAAATTGTTAGGACAAGGAGGGGGAAT TCATCTCCACTCGAGACACACATATGTTGTCGTCAGTGAAGTGTAAAGAT CTAAACGATTGCGTGTATGAAAAAGCACTCTATGATCACCTTTTTCATCT TCCTACACCCTTTTTAGGTGTGGTGCCCATCGAGCACTCACGCCAGGCAG GGAGAGCACCGGTCCCTGACTAATGGGATTCGAATGTTTTAGACCGGAAA TAGGAGCGATGAAAGAGCATAGAAATGATCATTTGGAAATCACGTTTAAT TAGGTTACGGCGAAAATTTGCAAAAAAGAGCAGGAAACTTGGCTCAAATC CTTCGAAATATAACAACTAGGACTTCCATGTAGGCGTTAAAGCGCCCTGT CTCTCACCCCAATCCGTACCTTAAGCTGAAACAAACGTGAACTTTTTTCA TTTCTTAAAGGAGTATCGTCAATGGGAAAATTGTTTTAAAATGTAGTATT TGTACTTCAACTTCCAATTATTGCAAAAGAAAAACGGAAAAAATCCGTTA ACATTCAGCATTTTAAGTCGAAGAAATCTTTAAAATTTAACTAGAGAAAT CCTAGGCCACGACGCTCATTCGAATTTTAATTTGTTTTGATATTGTATTT TGAAAAAAAAACTTAATACAATTCCTTCTTCCCAGTTTTCTATAACTTTT TGAGAAAAAAACGAATTAAATTCCGAAAAAACTACATTTAAATCAATATT TTGTTTACGAATATGGCCTAGAAATCGCGTGGTGGCCTAGGATTCATTTG CGCGCGAAATTCAAATTCCGTCACTTTCGTCGATTTCAACGGCTAAATGC TGAATGTCAACGGATTTTTCCCGTTTTTCTTTTGCAATAATTAGAAGTTT GAGTACAAATACTACATTTTAAAACAATTTTATTTTTGGTATTTTGACGA AAAATTGATTTATTGGTTTTTTTGGTTGTTTGGGACCAAAAAATCCAAAA AAAATGTTTGGCGTGTCTAGTTTCGACTCGAGACTATTCTGTATTAAAAA TACATTAAAACATGTATTTTAACACAGTTGTGACGTCATAAATGTATTTT GATACATTTTGCAACATTACTTAAATAACCCCATTAAAAATTAACCTAAG CATCAAAAATTTTTTGGTTTTTTTGGTTTTTCGAAAATTTCAATTTTTTT TGTTTTTTGGTTTTTTTTGGTTTTTCAAAAACTTCAATTTTTTGTTTTTT GGTCCAACATTTTTTTTTGGTCTCAGCTCTGCTGCCTACCCTAGAAGAAC TAATAGCGCTTCAAAAACTGATGAAAACGTTCAAATTTGTCGAAATATTA CGAAAATTTGAAAAGTTGGCTCAAATCTAGATTGAATCGGCCGATTTTCC ACAAGTTTCCAAGTTTCCACAAGTCGCCACATATCCCGAGAAAAATCGAT TCAAATTGTTTGAAAATTGGAATACTGCGAATTTTGAACCAAATTTCCCT GGCTTCTCTGTTGAAATACTTGAAAATACCGCGAAGCAAACAAAAAATCT AATTATTACGTGAACACAAAATTCTGAAAATGCGTATATATTGCGCAACA TATTTGACGCGCAAAATATCTCGTAGCGAAAACTACATTAATTCTTTAAA TGACACGCTGTATGTGGTGATTTACGGGCTCAAAAAATTATTTTCGAAAA TCAAGCCCGTAAATCCACACGTAGTAATTATATAAAGAATTACTGTAGTT TTCGCTACGAGATATTTTGCGCGCCAAGTATGTTGCGCAATACGCAACCC CATATGTTGATATATACTGATGTGAGGATAAAAAACAACACAACTTTCAG CGGCTCCATCGGCTCCGGCAGGTCTCGAGGAGAAGCTGCGTGCTCTTCAG GAGCAACTGTACAGTCTGGAGAAAGAGAACGGAGTTGATGTGAAGCAAAA GGAGCAACCAGCAGCAGCCGACACATTCCTTGGATTTGTTCCACAGAAGA GAATGGTCGCGTGGCAGCCGATGAAGCGGTCGATGATCAATGAGGATTCT AGAGCTCCATGTAAGTTAGTGGTGGTGGCCGGAAAAGAGAAAACTCGGCC AAGCTGCTCGGAGTTTTTGAATTTTTGATAATCCGAAATAAAAATTGATT GCTCGAAAAGGAACAATCTTTTGGAAAAAAACGAATTTTGTCATTTTTTT CAGCAAAAATTGATTTTCGAATTTTTCCAATAAAAAATCGATAATTTCTC CCCGTGCAGTGGAAAACAAACAATATTTTTTTGTTGATCGTTCTCTTCCA AACCCGGAATAGGTACACACATTCCTGCGTCATCCCATTCTCTTATCACA CTTTTTTTTCGAAAATAAAAGTGTAGAGACGGAAAAGTGAGAAAGGAGTC AATTTTATGCGAAATTTTGCATGATAATACACTCAAATTAAAAAAACTGC GTGGCGTGCACTGCAGAAAACCTCATATTTAGGCCCCGCCTTTTTCTCGT CCACTCACGGAGAAAAGGCAAAAATTTGGGGACCAACCAATATCAGGCCG CCGACATCCTACGGGTTCCGCGCGCCGCTATGTTTAACTCGCTGTGGGTG TGGCGAGCTGTCTCCGCCCGCTGCGAGTTAAACATAGCGGCGCGCGGAAC CCGTAGGAAGTCGGCGGCCTGATATTGTTGGTCCCCAAATTTTTTCCTTT TCTCCGTGAGTGGACGAGAAAAAGGCGGGGCCTAATTATGAGGTTTTCTG CAGTACACGCCACGCAGTTTTTTTATTTTGAGTGTATAGGTCTCGATTCT CGAAAGTATGACAGTTATTTAAATGATGAACTCGTGATGACTGTTAAATT TTTGGAAATTTCGGGGGAATTATATCGATTTTTCGATAAATTTACAGGAA AAAAGTCCAAAATCTAGGTATTCCATGGTAGGCAGGCGCGATTTCTTGAC GCCTGCCTGGAATCTGTCCGCCTCACACCAAAAAATGTCAATCATTTTGC TGAAAACCAAATTAAGAAATGAAAAAGTGCACTTAGAGATGATGACGGAG GTCGCCTTAAGGTCAGACAGGTTAAAAAACCGATTTTAGTTGAGTTTTCC CGAAATTTTCTGAACAACCGAATTAGAAATATGCTGCTTGTCATTTTTGA GTAAAAATTAACGAAAACTTCGACCAAAACCACGAAAAAAATGAAGAAAA TAAAGATTTTTCGAGAAAATAACAACAAAATCCAGCAAATAGTGAAAAAT AGTTTTATCCGAGAAAAAGTAGTTTAGACGCTATGAACTCTCGAAAATCA GATTTTTTCAATCTAAAAGCCATAAAATTATCGATTTTTTAAAAATTCTC ACTGAAAACCGGCGAATTTCAGTGCTCCACGCAATCGAAGCCCGCTTGGC CGAAGTGTTGAGAGCCGGAGAACGCCTCGGAGTCAACCCGGAGGAAGTTT TGGCGGATCTTCGTGCTCGTAATCAATTCCAATAAATATTCTTTGCCCTA AATACTTTAAATTATCCATCTGACAACTAAAATTTCGGTTCTTCTTGGCT TCTTCTATTTGTGAAATGGTTTATTTTCCCCCGAACTCTCAAAAGGTTTA AATATTGTTCGATTACCCCTTTTTATCAATTATTTTCTTCAATTTCTTAT TTATCATTATTTTTCTAAACGAAGACGGATGTGATTTTAAATTATGTTAA TGGACTATTTTACAAACTGAATAAATTCAGCATGTTGGCAGGTTTTTTCA GTAGTTTTTGAGTGAAAATAGAGGTAAAAAGACAGAAAATCAATAAAAAA TGAAAACAAAACTATGAAAAATGGTTGAAAATCGAGCAAAAATCGTTCAA AAAAAAATAAATTCAAAAAATAATTGCGTCGAGAAACGCGTCAGTAGCCG CTCTCTGCGTCTCTCACCCTTCAGCACGCGGAGAGAGCCACGAGAAATGC GCAAAGGCTAAATTCGGCGCGGAAAATCATTTTTCAAAATAAATTCGACG AGAAAATCAATACTTAAGTAATTATCGATTTTCAGCTCGTTCAAAAAATT TTCAGAAACGTTTTAGTCGTTTAAAGGTTTTTTTAAAATTAAAATCGTCG GAAGTAAAAAAATAGCGCGGATGGAAATCTACGGAGTGCGGAGCGAACAA ACGCGCGGTAATTCAAATGGGTAGAATAGTCAAAATTGAAAATTAGCCAG CATCGACCGATTTTTTTAAAACTTAATGGATTTTTTCGTTTTTCTTTTGT GGTATTTCGGCATTTAGGATTAGATAGCACATTTTAAAGTAAAATTCCCA TCCAAGCTACTCCACCTTCTCCAGACTGTACAGTTAAACCAATTTGAAAA GTGTATTGTATCCCGTTTTTTTTTCTGAACAATTTTGAAAATTTTTCGTT TATCCAGGATACGATAATCATGATTCAAATTCGTTAACAAAAAATGAATA TATGAGAGCGATTAAAGCATTTGTGTCGGAAAATATGGGTTAAATGGGGA GAAGGGGGCGGACATTTGGATGGGGTACAAAAAAATATGCAAAAAATGGG CTAAAAACAATATTTTCAAATTATGCCCGACAAAGGTTCAAAAGTCAATA TATAGAAATGAGAACATGAGTATTATGCCACGTGGCGGGAAAAATATGTG GAATGTAATACGATGAGATCCTTGTGAATACAAAGCTTGTGACGACGTGG CCGAGAAGAACTTTTTAAGCCAACGAGAAAAAAGGGGTTCAAGGCCGAAA TTTTTTTTGGGCCACCTATTAAGTTAAATTGAAAATTTAAAAAAAACACA GCGGATCCAATTATTTGCCGAGTTTTGACTTGAGCTCGGCGCGATACGTG TCGATTGACTGAAAATATTGTTTTTTTTTATTTCCGAATAAAAAATGGTG AGTACCTCCAAAATTAGCTTTTCATTGTCCATATAGAACTTTTTGATTTG TTCCACAGTTTTTGTGGCCATCAACTCGGCGATCAACTCGAAATTGTCCT TGTACCAGTGGAAACCTGAAGGAATTTCGGATGTTTTTGCTTAATCATAA TCATAATAATCTTAATCATAAGACTTGGAAAATGCGAAATTTTTCGAGAA TATTCAATTTATCTTCAGATTTTATTGCAACAAATCGATTTTCAACATAA AATTAATTTTTCCAACTTTTTTTCCCAATTTATGAGAGTTTAAAGATTGT TTTAAAGCAAACCGCCAACTTTACATAAAAAATTAAAATATTGTGAAAAA AATGATGAAATTTAGCAGATTTTCTGATAAAAAATTGAATTTTTTTGGAT TCGCGCTTCAATTTCACATTGTTCTTTTAGAAAAGTCGAAATTTTATATT TCCAATTTTCAGATTTAAAAAAATTTAAAAAGGAATGAACTTTTCCAAAG AAAAACTGAATATAACCAGAAATTGTGATTTTTCAGCATTTTTTTTTAGG TTTGAATTTTTTTTTCATGATTAATCACGTGAAAAGTCAATTTTACCGCA AAACATTTAAAAAATCAAGATTTTTCAATTTTCTCTGAATTCCTGCAGAT TTTTCGATGAAAAATTGAATTTTCCTTGGAATTTATATTTTTCGGGTATT TAAAGTTTCGGATATTAAAAAAAATTTTCAATTTTCTCTGAAGTTATCGA TAAAAATTATTTTCTGCAAAAAATCTACTTTTTTTCGTTGAATATTCCGG AAAAAAAATCAGAATTTCAAGGCACATTTCCTTTTCTAATCTAATTCGAA TAATTCAATATTCTTTTAAAAATTCGGGGTAGAAAAGGAATTGTACCAAT TTTTATTTTTAAAAGTTAATTTTTCTAATTTTCAAAATTTTCTTGAATTT TCGAATTACAGATTTTCAAAAAAATTTTTTTTGTTTTTTTTTCTCGAAAA TTTGAAATCCATACATCTAATAGCATTCTTCTTTTCCTCAGGACTCCAAC CATAATTTATCCTGACTTTTCCAGATCGATTGCCATTTGTTGCAGTAGTA TCTAGTTCAGGAGTAAATCTCTCGAATCTTCCCTTCAACGCCATCATATC TTTCTTCCAATTTGCAATTTCTCCTTTTGGTACACGGCTGTATGTCATTG TTGCACGGAACATTTGTTGACGGGCTTCTTCATTCAGAATTCTGGAAAAA TTGATGTTGTGCGATTTTTTTTGGTTAAAAAAAACAATTTTCGTAAGTTT AATTAACTAATATTTTAAAAAATCTCTCATTTTCTGAGGCACCACGGATT CAAGATCTGGTGGGATTCCGGATCTGGCACCGTGCCAACGCATTAAATGC AATTTTTCTGAAAAAAGGGCAACGAAGATCCGATTTAAAAAAATTTTTCA ATTATTTTTCAAAATTTTCACTAACTATAAGAAATTAGAGATTTTTCACA AAAATTCCAGTTTTCTGTTAGAATTTGAAAAAAAAATTGAATTTTTCCTA AAAAATTTGTAATTTTCCGATATTTCAAGCTGTCAAAACCTAAAATCTGA AAACTGAATTTTTAAAGGAAAAATTTTGAGCATTCTTATCAAAAAATTGT TTCAACTTTTTCTCAAAATGTTTCAACCTTTTTCTTTCTAAATTCTGAAA AGCATATCTCAGCTTTTGCTAAACTATTTTTTTCCTCAATTTTTGAGAAA ATTAAAATATAATATATAATATAGTAAATATTGCTTATTTTCTAATAATT TTTGGTATTTCTATTCTTTCGTTTTTTTTTTCAAAAATTCCAAATAGTTT TAAATGTTCATATTATTTTTTTTGACGAAAATAAATTTTAATTTTAAACC GGAAAATTGTTTCGTAACTTTTTTTTTCAAAAAATTTGAATTTTCGACAT GAAAGATGTAAAGTGTAATTTAAAAATAATAGTGCAGGTATTTTCAGTTT ACAGCAAAAGTCAGTTTAAAAAATTTCGACTGGTTTTCAAAATGAGTTTC CTTATTTTTTACACGTAGAACTTTTTTTATTTTCCGATTTTTTTTGTTGC GCAGAAATTTTTTTTCCGCAAAATCAGGAAAAATTCAGAAAAAGACAGTC AAAAAATTGTAGATACAATTTTTTGACTGTCTTTTTCTGAATTTTTCCTG ATTTTGCGGAAAAAAAAATTTATTTTTTCATGAATAAAAATCGAATACCC ATCCAATTCCACAAACTTACTCGTTCTCCTCCATACATTTCGTTTGTTTA ACTCTCCAAACAAGTGGAACACACATATGATGTTTTCTCTTGATATTATC AATTAATGCCAGTGCAGCCGGTGTATCGAAGCACCGTGTCATTCTGCACG TATTCTCATCGATTGGATCAGCTTCAATCGATTGCTCCACAATGTAGGGG CCTGATGGTTTACGGAGAAGGCAGTCGTCTGGAGAAAAATAGAATAGAAT AATGATTTTTAGGTTATTTTACGTTTAAAAATCTAATTTTTAAGACGCGT AAACGTTGAGCTCATTTATAAAAATTCGGCAAACCGGCAATTTGCCGAAA AATTTCGGAAAATTGTCGGTTTGCACATTTTTTCTTGAAATTTCAGAACT TCGATTTCAAACGGCAAAATTGTATACATCCTATCAAAACATCAATCTTG AAAAGCCAGTAAACTCTATGAAAATGTCTAAAGAAAAGAAAACGGTAAAA AAATACAGTTTTAAATGTTTCCGTCTTATTAATAACAAAATTCGACAATT TGCCGGAATTGAAATTTTTTTTTCTCCAATTTCCGAAAAAAACCCACCGA CCACCATAATATCATCGTCTTCTTCTTTTTCTTTTCCAATTCCAAGCCGT TTGATCGCTTTTCCGTTGGCTGGCTCCATGAGCTCAAGATATCCGTATAC ATAAATTTTCATGTCTGAAAGAAAATTCAAATTTCTTCTGGAATCAGTTA TTCGAAACTAACATTCTGGACATAAAACTCGTTGCCGTCGTTTTGTCAGT GCACGGAGGCTTGCCGGACGTGGAACACGCATCAAACGGAAATAAAGGAT ACACGGTTTACATTCGTGACGCGACATTACACGATTTAGCTTAAAATTGT GAAATTAATTTTTTTTAATAGCTCTTTATTTTTTTGAAAATTTCTCCCAT GCTTTTTCCATTTTTTCAACGAGTTTCCTTATTTTTTGTCCATTTACTGT AAGTTTTTTTTGAGAATTTTTTTTTGTTAATTTAACATTTTATTAGCTCA AAACATTTATTAGCAAAAATTTTATTAGCAAAAAAATTTTTTAATTTTTT TAAATTAGCTCAAAATTCTCGAAATTTTAAATTTTTAGGGTAAACAATAT AAAACTTAGGGAGTTTTGAGCTATAAAATGATAAATTGATTTTAAAAAGG ATGAAAAACTTATTTTAAAAAACCGACAAAAATCGACAAAAATGAAGGGA ACAGGCAGCAGCTTAGCCCCATGCTTAGCCAGCAGCCCCGTAGCAACCCA GTATCAATAATATCCCGTGCCAATTTTCATAAAACTGAATATAAATTGGG TTGATGTTGCTAAAGGGCTGCGAAAAACTGACCTGGGATGAAGCTGGGCT GCAAGGGGCTGCGAAGTGCTGCGAGGGCAAAGCGCTACAGTGCTAAAAGG GGGCTGAGCCCAGACCCTCAGGAAAAAACTCATACTCGCAGCCCTTCGCA GCCCACATTTGCGCTCTGATCGCGTGCTATCCGCGCGCACAGAATTTCGA AAGTATTTTCCAAATTCGGAATGCGCGCGGAGCAGACGCAATTAGAGCGC GGATCTGGCACGTAAGGAAGAAGTGTGACTGGAGCACGAACCAGTAATCT AGTCGCGCCCCGTCCGCGCTCCAGGAGGAGCGATTTGCCGAGCAGTTCAG CCCTTCGCAGCCCTTTAGCAACAACCAAATTTATACAGTTTTATGAAAAT TGGAACGGGATATTATTGATACGCCTAAGCAGCCCTATTAAATAGTGATG AGGGCGTAAATGAAATTCGCCATTTCCAGCTAAAATATAAATTTTTTGAA TTTTTTAACATTGATATTCGGAATGGATTCAGCAGAAAATTTGAAGTCAT TTGAAAATATTTTCCAGATTTCGGTACTCCACTTTTAAAATTGAATAAAA CTGTAGTCTTTATTCAATGTTTCTTCAAAATTTAAAAAGTAGAATATAAC TGTGAGAAAATTTCCAAAATTGTCAAAATTTCAAATAGCTGAAATATTTC ACGGCCCGGCGGGGGGTACATGGATGAGAATTCTCTACCGTATTCCAATT TGGCTGACTGCGTGCTCAACGTTGAATACTCAGTGTAAACTTTCGTACAC CGTTGCGTACTGCACAGCGCGCATTTTAATTGACGACATTTAGCAAAAAT TGAACATAAGATTTTTCGGAATTATGAAGCTCAATTTTCACAAAAATAAT GAGTTTTTTGTAGAATTTATGAAAAAACGTGAATATATAGATTTTTTGTT CATGATATTCAAGAAAAAGCGATTTTTAGTTCTTCACAGAGGAATCCTCT CGCATTTCACTTGCTCATGATGTTTTTTGCTCCACTTTAGGACGATAAAA ATGCGAATTGTTGATAAAATGAATGAATAATATAAAAAGTGCAAATATGA CTTCAGCAAGTGTTAAATCCCAAATTTTTCCTGCGATTTTCTGCTAGATT CCTGGTTTTGAGTAAACAGTCTGATATATTCATGATTATAATGATAACAA TAACGAACATAATAATAAAAATGGAGAGCACAGAGAAACAACAAATTGCA AAAACAGCAACTGATATCAGAATTAACGACGACCACGGAAACCGCCTCGG TCTCCACCTCGCCCACCACGGAAGCCACCACCTCTGTCGCGTCCTCTGAA TCCTCCTCGATCTCCACCGAATCCACCTCTAAATCCTCCATCGCGGTCTT CTGATCTACCACGGAAGCCTCCACCTCCACCAGGATCTGTTGAAAGTCCT CTGAAGCCTCCTCGATCGCCACCTCCACGGAAGCCACCACGATCCGCGGA TTTTCCTCTATAGCCTTCGAGGCTTCAGTTGTACCCCATTCTTCGTTGGC ACGCTTCAGATCTCTACAAAAAAAACAAATTAGAAGCATTCAATTATCGA AATGTGTACCTATCCCGATTTATCGCAATCTGTCTATTCTTCTCCTTCTG ATTCTCAACTTCTTTAACTTGTCCAGTAGCGGCAGCTTGCTTACGAGCAG CATTTTCCCGAATCGCCTTCACCTCTGCCTCCTCAGCATCCTGTTGCTCC TTGACAATCGTAAGTCTTCGAATGACACGTTGCTCACTCTCCTGCTCACG ACGCTTTTTCATCTGCTTCTTCTTGTTTATAGTCACCGCATTATGCTTGT GATAGAGAACCTCTCCCTCATCGATTTCTTCTTCAATTTTGACGAGTTCC AGGGTCAGTCGGGTCCGATCTCACGAAGACGGACGTTGCTATTCTGGCCA ATTCCGCAGTCACGTCCTTCATAAATGTCTTGTGGAAGTTCTTCTTGCTG AGGGGGCTGCTGAAACCAATGTCGGCATGATGAGAGTTCCGGTCTTCTGA ATCCATTTCCTGCGTGGGCTGTGGCGACGAGCTGCACGTCTGAAAATCAA GTTTTTGTAATTTTTGGGCGCATGATATGGAGCTGAATCATTCGATTTTA GAATCAGCATGCTTTTATTCATATTTTAGGATCTTTTTAAAAAATCTGGA CCAACAGTTTTCGAAAAAATTTAATTTTTGTTCAGAAATGTGAATATTCA CTAAATCGAAAAAAATAATTGCAAAATCCGTCAGCTGAACATTCAAAACT TATCAATTTGAAATCAGCATATTTCAGTGTATAATTAAAAAAGTTTCAAA AATTCTGAGACCAATTTTTATTGAGAAAAATAATTTTTCGCTCGAATTAT TGAATTTTCACTAAATGCAAAAAACAGTAAACTTGGGCCCATGCTACAAG CCTGAATCTTTCAAATTAAGAACCAGCATGATTTTTTCAATATTCTAGGA CGTTTAAAAAAAATCTGGACCAACAGTTTTTGAGGAACGTAATTTTTTAT ACAAAAATGTTCTGATTTTTCACTAAACTCAAAAAAATAGTCAAGTTGGG CCCATGCTGTACACCTAAATCATTAAAATTCAGAACCGCCATGTATTTTT TCTTACCAAAGGCTCTTTAAAAAAAATCTGGACCAACAGTTTTTGAGATA TTTAGAAAAACAACTCACTTTTCGACGTTTTTCGCCTTTTCGTGGCTCAC CCGGTTGATTTTTGCGGCGATTTGTGGTCTTTCGCTGAAAATATTATTTT TATTTCAATTATTAACGAAGAAAACAAGAAAAAACGACGAGAAAACATCA AAAAAACGCGAAAAAACATCGAAAAACCACCGCAACCTCATGAACAAAAA AAAAGCATTGCAGCCGCGGGACTAGTTTTCGCAACTTTCTAGGCCATGTC CCGTTCGCCGTGCCGTGTATTTGTTTAATTCCCTTTTTGGAAAAAGTCAA CATATTTTTCTAACAAATCGTTTTTCTATTAATTTTTTTCTAAAACTCAC AATCAACAGATCACTTTTTGCATTGCAATTCTCACAATATCCCGACGGAA CCCTCTCCAAATGATTGACCTCTTTGAATAGTTCATCATAAGTGTCGGTT TCATTCAAATGCACATTAATCATTGTTTTATAGTTTTGCACTTTTTTCGT GTTGTAATAGTATTGGATAATGGAAGAAAGCGAGCGTTGGGGCATCTGCA AAAAATAATGAAATTTATTTTCTTTTTATGATTAAATTAAATTTTCAAAA ATTCCCTTTTTTTGACATATGCACTTACAGCCGCATGAATCTTCTTGAAC CGTTTTCCGAAATGAAAGAAGCAAGTGGAGAAAAGACTAATTTCTTCTGC CGTCCAATCATCATGAATTTCTTTTCTTCTCATCGCTTGAACCATCGCAG CGTCGAAATCATTTGACTGTTTGTTCAGAATGAACAGAGCCTGTAAAAGC AGTTAGTTTTTTTTTCAAATTCAAAGTACATTTCCGAAAAATAAAAAAAA GGCTTGATTTTTTAAAATCTCGAATTTTTATTATGGTCAATTGTTATTTT TTCCAGAGAAAAACTCATTTTCTCCCAATTTTCAGACGTTTCTCTCTAAA TTTGGTGTTTTTCCAATCGTACCCTATCTATAGGTAATTGATATCGTCCA GTAGCTTCTGAAATGTATTCTGTAAGCCGATTCTCGTTCATTTCGTCTGG AAACGCCCAAATTTGTTGATCTCTGCACGGTTCTTTTTCCAATTGCTCTG CAGTTGGCTGTATAATCGCCTGATATTCGGTTCCCACGTGGATTAGATTG TCGACGTTGGAAAGTGGATTTGCTGGAAGAAATTGGGAATTTTTCAAGGT TTTAAGTGGATTTTCAAGCTATTTATAAAAGCATGAAAAAGCTCAGAAAT GACTATAAAACCTTTTTTTACGTCGTATTTTTTTCAATGAAATTACCTAC TTTTAATTAATTGTTCGGCTTAAAACCAGAAAATTGTTTCATATCGATTT TCCCGGTGAAAATCGAAGGAATCGTCGCATTCTCAAAGTTTTTTCACCGA TTTGTTTCAATTTTAGCACAACTAAATGGAAAAATCACAAAAATTCCATT ACAGCCGATTTTCGTGAATTTTCCTACATTTCGAACTAAAAATTGTCCTT TCTTCTGTTTAAACCGGAAATTCTCTTTTGAAAAACCAATGAAAATTTGA ATTTTCTGGGCTTTTCTTCGGAAAATTATTCTCGAAATTTATCAATCGAT CCTTGGGCTTTTTTTGTTCCGCAGAGGCTGGCGGAGTTTACAAGCGTACG AAGTGGTTCAACTTTTATATAAAGCTTTATAAATGGGACATAGATGAATA TTTCGAATGCTAAATGCAAAAAGAATCAGTAAAAAAGCGCGCAGCCCCGT CCTTCTCTGACGAAAAACGCCGTTTAAGGATCGATTGCTAAATTTTGGCA GTAGTTAGAAGTGTCAAAATTTCTGCCGGAGAGTCGTCAAATTTCACTGA AACGTAACCCGGTAATTTCCACAATTAATGGTCGATTTTTCGCAAAAAGT GGTATGTTTGTCAGGATTTATTAGAAATTGTGGCTGTCCAGATTTTAAAG AGTATTTTTGGGCAAAAATGTCGAATTTTCTCTGAAAAAGTTCGATTTTT ATCGAAAATTCAGATTTTTTAGATAGTTTTCATCGATTTTCCCAGTTTTC AGCCTGAGAACTTTACTAACAGAAAGATGTGTCATGAGCACCACTTTCAT GATGCTCACGAGCTTCAGCTTCTTCATCTTCGTCCTCTTCATCCTCCAAA TCTTCATCCTCATCGCCCATTGATTCCCCAGACGTTGTTTCGCGTTTTCT CATGGATCTTATAGGACGAGCCATCTGAAGTTTCAATTTTAGCTTTTAAA TTCAATTTTACCGCTTAAAAATCGATAATTCTCCCGTACTCTGCTGGTTT CTTCTTCTTGTTCCGCCTGCTCCTCTGGATCATCTTCCTCCATTGGCTCC GGCGATGCATTCAACATATTCAAGCCTTCGTCTGAAATATCTGGCCAATT TATAGAAAAACCGACAAAATAATAAGCCTCACTTTCTTTTCGAGAGGCGT CTTCGTCAGATGACGTGTACGAATCCATTTTCTGGAATTTGAGGATTTTT GAATGTTTTTAAACAAACTTTATAGAGAAAACATTCGAAACACTAGAAGT TATGTTGAAACACGAGAAAATTTTTTAAAAATCCATGAGAAAAACAGTTT TGAAAAATCTGTTTTTGGAGGCTCTCCGGATTTTGAGGAATCGTCACCCC GGAGACGCAGATTCTCCGGTAATTTTTCATTCATATTTGAGTTTAAGAAC AAAACAGTTTAAAAAAATGTTTTTAGTATTTGAATGAAACTTATAATGTA TTTTTTCTTCCATTAAAACTTAAAAAAAACTACAAAATTATTATGAATCA AATTTGAAACCGTGAATCAATCTCCGCGGAAGGGCGAGTCTATACTGCTG CAAGCGCACTCTATCGCAAATGTACAATTGGCGGTTTTTCAAACAGGAAT TAATCGGATTCTCGTAGTTTATTTTGGATTTCTTTTTTCGGGAACATATT GGTGTTTTTGCGTTCAATATTCAAATTTAGAGGAAAACTGCTTCAAATAT TTAGGTAAACTCTTGAAACCGCTGAAAATAGGCAAAAATAATTATTTTTG TATTTTTTAGGCTACTTTCTATACTTTTGCGTAAATACTATAGTTTTTCT ATAAAACACCCATTAAAATTATTTTTATAAAATGATTTTTCCAATAAAAA TAAAATGCGCAAAATGATTCTTTTCCAGAATCCTATATGCGCCTTTAAAA TCTCTCGGATTACTGTAGTTTCAAAGAAATTATCCTTTATATTTTTAATT TTAAATTTTTTCCTGAATGTCAAATATTAGGGGAAAAATTATAATAATAT GTGCTTTATTCATATGAGTGTAGAATTAGTGAAAAAGAAAAAAAACATGT ATGGACTGTAAAATTGGAATTTTAGCGAGAAAATAAAAATAATATGCAGA AAAAATTAAAATTTTCAGGAAAAAAGTCAGTAAAGCCATCAAAAACTACT CGATTTTGAAGGAAATCAGCAAGAAAAATTAGAAAAAAGTATTTTTAAGT TGGAAAACCCCTGCTTGAATTTGTACACTAAATTGGGCATAAAAGCGTAC AAATTCGCAAAAACCGGTAAAAATCTGGGGATCGTGATGGATGGAGTGTT TTGTGAAAAAATGCAGCGAAAAATTGAGTAGACAATTTCAAAAATGTCGA TTTTTGAAATTTGTGACGAAAAAATTGAACAAAAACTGTTTTTTTTTGGA ATTTTCAACAAGAAGTTTTATAAATTTTTTTGTTTAAAATTTTGAATATT ATATGAGTTTGGTTTCACTTAACAGAACAATTCGAACAAAAGTATTCTAG AAAGGAAATGTGCGCTCCAGCACACTATTTGCCCGTGGAGCGCACTTGTG TGCACGAACGCTAGCGAGAATGTGTGGTAGAAAGGGAGGGAATAGGAAAT ATTAACAAAATTGGGCAAAATATGTAAGATTCGGAGAAAGAATTGGAGAA AAATATGTATTTCGAGCTCCGCGAGCTGATCAATCCAAAGGCTTTCTCCA TCCTTTTTTCGAGAGGCACATTGCATTATAGTTACACACAGCACGTGTAT AATGGAACATTGAAGCCTGGAAACGAGCCATCGCTACCATCATTACCACG TGGATCTGAAAAAATTAAAGTTTGATGATTCGAAAATTTTCTGGAAAAGT TATGATTGTGAGATAAATTGAATTCTTTGAAAAATCAAAATTCAAAAGCT TGTAGAAAATTTTATATATTTTTTTAAGCGTATTTTTTCCGTATACATTT CCAAATTTTTTTGTTACCCAATTTTAAAGATTTTCTTGAATTTTAAAATT TCTTTCAGTAAAAACTTTTTTTCAACTTTTTGATTTTTTTTCCGCATTTT TTAAAATTTTATTCAGAATTATTAGATTCTTTTGAATTTAACGAATTTTT TTCGCTAAAAAATTGTTCGATTTTTCCCGAATTAAGAAAAATATTATTTG GTTTTTGAATTATTTTCCTGATTTTTTTCGATTAATAAATTTGTAAAAAC AATTTTTTTTCTAATTTTTGGTTTTGATGATTGTGTTTTTTTTCTGAACT TTACAGTTTTCAAAGTTTACACCGAACTTCCACATTAAAAAATTCTGATA CAAAAAAGTATTCACATGATTTTTAAAATTTAAATATTTTTCAAAAAAAA TAATATTTAAACTGTGTTTTTTTCGGAATTTTTTTTCGATTTTTTCCGAG TTTTTTTTGGAATTTTTTCCTTTCTGCTCCAAAAATATTCAAATTCAATG TTGTGTAGAAATTTTATTCAAAAAAAGTGTTCAACTTCTGAGTCTAAACC TTTTCCGAATCCTTAAATCCTGGCAGAGCTCTCGTGAATTCAGTTGTCAA TTTATGTGGATAGCAAGCTGCCAGTTTAATGAAAGTTTTAGTTCCTTTGT CAAGTACTCGATTAATTTTCGAATAATCATAATCATCGACTCGAACACCA TATAATCCTTGAGTATAGTTCCAAATTGCTTCACGGAATGCAGCAGTGTC AATTTCATTCTGATTCACGGCGGCTGGTGGTTCTCCGTCTCCAGATGCAT GGGATGAGCCGGATGGCCTGAAAAATTAATTTTTTGGAATTATTATATTT TTCTGTTTTTGAAATTTCATGCATCTCGAATATTTTAACAAAATTACCAA ATTCAACTAGATTTCTTACAACTTTCACTGTGTCGATTTACGGGTTCGTT ATACGAATTGAATTTGTTTATCGATAGAATATTAAAATTTAGCTAAAATT GAGAAGAATATAAGAAGAAATTAATTTTTTTAATTTCAAAAATCGAGCCA GTAAATCGACACGAGCGATCGACACAGTAGTCATTTAAAGACCAGTTTCC GCCACGAAATATTTCGCGCTTCAAACATGTTGCGTAGTACGTATTCTCAA AATTGTGCGTTCACGTATAATATTTATGCGAATTTTTGGTCTACTTTGTT AGAGAAATCATCACTAACATATTGCCAGTAAGAGTCCGAATATGATCGAA CATTCGATCAAGCCGTGACGTCAGTGTATCCGTATACTCATTCATCGTAT TATAAACATGATCCCATCCAAATTCTTCAACTCGGAATGGCGGAATATCC TTTTCAGGTCGCTTTCTAAAATCAATATATCCAAATGTTCGATGATGCGA GTAAATTGGATAATTACACGGCGGCTCTTTTTCCATAATATCTTCTCCAT TTTCATCGATATTTGCAAGAAGAAGTACAGGCGAGTAGTTTTTCCGATTG GAACTATATGTTGCTGCAGGAGCACTAATTAATGATTCAATAGTTTCAGT AGTCATTGCACACATCTTCGCTGGTGGCCTAGTTTGTCCTTTTTCCGTCT TTTTCAGCTCACTGATCAAATATTCGACTTCAGTTGGCCGACGATCTGGG ACTTTTCGGAAATAGGCCGACATTCTCGCCTCCCAATAGTCGAGATCATC GATATTAAGGAAATCAATCTCATCTTGTGTCAAATCAACACGACGTTCCA ATCCAATACAGCATATAACTGTGCACATTGCGTGAGTCATTGACATTATT CCGACGGCGTGGTGGAGAGAGCAAACCGAGAAAAACGCAGGACCACCGTC TGGCGTGCGGCGAGCGAAGAGCACCTGGAAATTTTCAAATTCTTGAGAAA AACCTAACATCGTTGTTATACGTTCGTTCTCTTGGCATTGGAGTTGGCAG AATTTGTTTTGAAAAAACGTTGTTTTTTTTTTGAAAGAACATTTTTTTAT TACGGGACCATGAGATCATGAGAATTCCTATTTACTGGCGCGAAAATATT GGCAGGCCACGGCAACGAGAGAGCATATGGCAAAGAGAGACGCATCTTAT TTTGTCTTGTAATTTTTTTTTAAAATAATTTACAATCCCTTTTCAACTAT CGTGATTGTAAAATATTACAAATTTCAGAATTTCGCTACCAAATTATTAC TGGAAAACTAAACTCTGAGAATGCGCATTGAGCAACATATTTGACGCGCA AAGCATCTCGTAGCGAAAACTACAGTTATTCTTTAAATGACTACTGTAGC GCTTGTGTCGATTTACGGGTTCGGTTTTTGAAATAATTTTCTTTTCGAGA AGTGACAGTGATATTCCATTTTCCTTCTTTTCTTCCTATTATTTTATCAT TATTTGCTTAATTTTAATATTCAATTCATAACTAAATTACTTTAATTCAT TTCGAGTAGACATTCAAAGAATTCCGGTAGTTTTCGCTTCGAGATATTTT GCGCGTGAAATATGTTGTGAAATACGCATTCTTAGAATATGGTGTTCCCG TAATATTCAGAAAAGAAAAGATTTCCAAGAACTTTCTGAAGATTTCAATA TTTGCAAAATCAGAAACCAGTTCTGAATATTCTTTATTTTTAGAAATTTT TCAAGGTTTTCTAAATAACTTTTCTAAATAACCTACCGTATTTCTTCTAT TAATATGGCTGCAATACTATTTTTCGATGGTCTTCCCGCTTGCAATACTA TTAGGGAGTGCAAGTCTAATAGGGAGTGCCATACTATTCTTCAGAAAATT TTTCTGTGTTGGGGCTTACTAGATTCTACTTGAAAAAACTCCAATTTTAT TTGGAAGTATAGAAAATTTGATTGAAATTGCAACAAAAAGGTACAATAAC TTCAATCTCTAAAAATTTTGTTATAAACTGTTGCAAAATAGGCAAAAAAT GTTATTAAAATTTTAAAATTAGTAAGGAGTGTTTGCAACAAAAAAAAGTA GGTGCAAGACTATTAGGGAGTGCAACACTAATAGGGAGTGCAATACTAAT TTTCGGAAGGTCTCCGAGGGGCAATACTAATAGGGAGTGCAAATCTAATA GGGAGGCCATATTAATAGAAGATATACGGTATATATAGCTTTGAAAAATC GGAAAATGCCTAATTTTTACTTTTTGAGGTTTGAAAATCTCTAAAAATTC AATAAAATTTCAAATTACCGCTAGATTTTTCCAATGAATCATCCATGGTC TATGACAGAGCATTCGATTCAAATAATCCAATTTTCGAAATTTCATGTAT GACCAATCAATGCCCAACAACCACATTTGTTGTCCACCCTTTTCCAGAAA TTTGCGACGATGATGATCCATAAGTGATAGGCATCTGTGACGTGATGCAG CCATTAGTGCAAGATAATGACGAGCCGAAGCTGGTAGATCACTTATATCA ACGAACATATGGCCATAACTTCCTGTCATATGAACATGTAGAGTTGGGTG TTTACATGTGAAACGGAATAATCTGGAAACGTGAGGGAAATTAGTTCGAG ACGGGGAGGGGCAGGTTGGCGGTGCCAACCGACAGCCGAACATTGGGGTT TCTCAGCTGGTAGCGCCAGCCGACAGTCTACTGCAGTACTGCAGATAAAT TTTCGTCGGCTGTCGGCTGGTGAAAATTTTCATGAAAATCAATAATTTTA AAGAAATTGTTGCAAATTTTTCCCAAACTTGACCAAATTTGTTGGCTGGC TGTACCAGCCGACACCCGAAATTTAGAACATTGATTAGAGGCTGCTTGGC AGAAATAATTTTAAATTCAGAAATTCAATTCGTTTTCAAAAAATATTTTT TAAAACTTTACCGATCAACTTCTGGAATCGGATCAAAATTGAGCCAATCC ATGGCTTTTCGTCTTTTAGTTGTAGTGTGCATTGTGTAGATCTTTTTATA TTGCTGCGAGGTGAGTAAATGAAGAATTTTCGCGACCCGTTTCTGAAAAA ACTCAGTTTTCTAAGGAAATTTTGAAAATAAATTCGAGAAAAAGAAACTG AGTCAGCAAAAGAAAATTGGAAATGTCTGTCTGGAAATATTCGAATATTA TATTCAAAAGTTTTCAAAAAAACAACGAAATTACAAGCAATTGTGATCAG AAACCGCGGAAGGAACTGGACGAAAAAAATTATCTTTGAGACGAATCTCT TTGCATCTTTGTGATCTAAAAGATTAATAAAGGTTGTCATCACATTTTTC GAGATTTGGGAATGTGATAAGGGTGAAAAATGGAGATTAATTGTGGTAAA ATGAGGAAAAACCTAATTTTTGGTGAGAAAATTGTGGAAAAACTATAAAA GAATCTTTATGGAGTTTAAAACTCAAGTTTTTCACGCTTTTCCGCACTGT GCGGAACGTTTTTTGAGAGAATTTGGCCGAATTCGGTGATTAAAAAAATA ATTTCAAAACTTTGCGCCTCAATTGTGATGTATTACCGTACTCTGTTGCC ATTCCACCAAAATTTCCTTCATTGTTTTGCCATTTTTCTGCATAATAACT GTTCTGGGTTTTTTTGCTTCATGTGCCCAAATGTACGAATTTCCCTAAAA ATTATACCTATTTTTTCAAAATTTTTAATCGCTAGAATTTTTTTTTCTGC ATTTTCTTTAAAAAAAGAGATTTCTCGCAAGTAGAAGGAGAAAAAATGTG TGGCTATACTTCTTCTTAAAGAATGCACGACTAGCCATAGCTCAAGCCCC CTCTGGAACGTTCCATCTTCCTCCCATTTTCCCACGTTCAAGAATCATCA GCTTCTTCTCCCTCAGCTTCTCTTCTTCTAAAACCACAACTAGACAAATG TTCTTGTTTTCCACCCTATTTTTCACATAAAACCGCCGAGAAACCCGCTA TCACAGACTCAATGCGCACCGGAGGGGCTCTTTGTGTGTGTGTACTGATC TCTGCGTTATATTCGAACACCGGCGCACACTCGGATTGAACCAGAGGGGG GGGGGGAGGGGGGGGGGGGGGTGAAAAAAGAGAAATACTCTGAAATTCCA TAAAATCTAGAAGAAGAAAGAAAACAAAGGAAAAATTGGACATTCCGAAG TCAGGCTAAAAAATCTCATAAAACAAAATCTATTCGATTTGTGACCATTT TCATCTATCTCTCTCAAAACCCGAATAAACAAAGCCTCCCGTCCCCAAAG TGTGCTCTCATGCTCTTCTGGAGCCTTCTAGACTGTCTGTAGAGCCTAGA GACAGCGGAATTGCACTGAAGTGATGGAGAGACGTAGAGAAAACGCCTGA AGAAAAAAACGAACACTTTGGTGGAGGAGGAGATGGCTTCCCTCCAAATA AACAACAATTTCTATCGTTTCTCTGTGATTGTGTTCTCTTCTATGTATAC TGTTACGATATTGAACAGGAAATTAAATTGAGCACTCTGAATACATAATA CACAATAAATAAATACAAAAACTATAGTTTCAGCACAAAAAATTCGAAAA AAAAACGATTTTTTTTGTCCGAGAGGAGTATATGGCCTAGAAAAAGAAAA CTCGGCCACTCTGATGCAATAAATTTAAAAAATTATGGCCGAATTTTAGA TTTCTCAGGCCAATTTGATACGTTTCTCGAAAAGCCATAAATTAGTCGGT TTTTCACGGGCTTCTTGCCTTCCTCATTGCATTTTTCGCGCTCCATTGGC AATCTCCTGCTGGACAACGCGTGGGAAATCGTGTGCCCCACACGGGCAAA TACATTTTGTTTTACAAAGAAAACCGTGCCGCGACGCGACACGCAACGAG CCGTAAATCTACCCCAGATATGGCCGAGCTCAAATGGCCTAACCTGTCAA AATCTTCCACTTCAAAATATGAGGGAAGCCAGAAGCGCGTGTTGTTTCTG AAAAAAAAACCCGCCTAAAGTTGATTTAAATTATCGTTTTTTTGGAAATA ATAAAATCGATGAATTTGTAGATTTTGATAAATTTCCGATAAAAAAAAAA TTTTAAAAGAGGAAAAAAAATGTTTCTTCGCCCTTTAGTACCAAAAATAC GCCCAACTAACCAAATCGTTCTTTCAATCTTTTTTAAATGTTTGTGCGTC TATAATTGTCGCTTCAGAAAACTACACAAAACACACACACACACAAGGAG AAGAAAAGAAAAAACGTGTTCCATGACCTGCCACTGGGATCGATCTGTAA AAGAATTGGGGAAAATTGAGGTAAACTGGTTTTTTATCGGGAAGATTTTT TCGGAAGGATTGAGATGAAAGTTCGAAAGGTAATTGGCAAAGTTGAAAAT TGAAAAATTCGAAAAAAATCTCAATTCTCTGCTGTAACCCCCAATTTTGC GTCATGGCCTAGAGTATGCAGCGTGGCCTAGAAATTCCTAACGTGGCCTA AAAGATCACGGCGGTACCTATGATTTTCTAGCGTGACCTAGAATATACCA GACCTAGAATTTGATAGCGTAGAATTTCCCAGTATATCCTAGCAGTCTTA AGTGACAGTTTCTCAGTACGTCCAAGAATTCGTCAGCATGACCTAGGATG TTAAAGCGTGGCCTACAAATTTTCAGAGTCTTCTAGGATATTCCAGTCTA AAAATTTTCAGTGAGGCCTGAAATCATCGCGTGTCCTAGAATGTCTAATA ATTGCAAAAAAAAGATTTGAAAACTAGTATTTACCCTAAAATTGCATTTT GAGCATTATTTTTAATCTAGTTTTAAGGAAAAAATCAGAAAAAATAAACA TTTTTTGATTAAATCTTCCGATCTACAGATAGAAAGTGTGCAAGAAAGAA TGCAACATTGTGCTCGGTGGAGCAAGAAGATAAAAGAAAGAGAAAGAAGG TCCCCCACCCCTCCAGTGGTCGAAACAATGATAAATTGGACAAACGGAGG ACCAAGGGGCCGGGCAGACACAAGAGAGAGAGTACGTGAACTGAGGAGGG TGTGCAGGGAAAAATGGGATGGGGGCAAATCTAGTTCAAAGATGAGACAC TTTTCAGGATCTTTGATTCTGAGAAAAATTTTGAACAAAAAGAATACTTC AATAATTTAATGGCACATAGAAATATTTTCAGATTGTTCTTCAAAAGAAA AATATTTTTATGCCCGGAAAATTTATTTATTGCATTTCTTCCAAAACAGT GGCCGGTCTCGACACGACAAATTTTTGTTAAATGCGAAGAGGTGTGCGCC TTTAAAGAGTACTGTAATTTCAAACTTTCGTTTTAATATTTACTTGTGGG AAAACATTAATGCTTAACGAAAAATTACAGTACTCTTTAAAAGCGCACAT CTTTTCGCATGTGACAAACATTTTCGCGTCTCGGTGACAACTTTTAAGTT AAAGGCACATAGAACTTTTCTGAAGAATTTTATTTATTTTTCTGAAAGTT AATTGCTACAGTATCCTTTTTCAAGTCGCACCGAGAGCCAAACTGTAGCA AATCATCAAAAAAAAGTCGACAAAACGTGCCGAAATCAGTAAACTTGAGA GCTTTAAAACTCTATTATCAGTTCTTCGCCAACAAAAAAAAAGAGTACCG TATCAAAAACGAACTTCGACTTTTTTGGCTCTCCTGCATACGGACATGAT TCTGATTGACAGTTTTCATGTTTTTTTTTGGGAGTTTTATTTATTGTGCA TTTAAAAAATCGTATAGTTTGATGCGTGGCCTAGAATTTGCCAGTGTGAG CATTAACTCTCCACGGTAGCCAAGAAATTTTCTACGGTGGCCTAAAAACT GCCAGTGTAGCCTAAAATATTTTATTGTGGCCTAAATTTTCCAATGGTCT GTTTTTTTTATAGTTGCCTAGAATTTCTTTTCGTGACCTAGAAGCGTACA GAGTGGTGGCCTAGAAAACGATTCATGGCAGAGTTTTGAAAAAAAAACGA AATTTCGAGAAACAAGCGAACAAAAATCGTCTGTCGAAAGAGTATTTCGA ATGCTGGGGATGCAAATCAGCAAATCATTCAAAAAAAACTTTTGTGATAA GAAATCAAACTGATAAGCCAGTGTCAAAGTCTCGAGGATTAAAAATAGCA TTTCAGGTCGGGGTACGGTAGGGTTTTTGTAGAAATTAATGCAAAATTTC AGTGGGAAACGAGTTCGTGGCCTAGAAAAATCATGTCTGAAAAATTGCAA ATGCGCTCCCCCGAAATGGTTAAAAATTTTCAATTGATAGCCTATTTGAA GTGGCGGCCTAGAATATCAAATAATGGCCTAGAACTCAAATTGGCGGCCT AGAAATCAAACTAATGACCTAGATTAGGGCATCTTGTAGGCAGCTTAGAT CACCTATTATAGGCAGGTGTAGGTAAAATTGTAGACAAATGTAAGTTTCT TTGAAGATAGGCGTAGGTTCCTTTGCAGGCATACATAGATCATTTATTAG GCAGATGTAGGCCTGATTGTAGGTACAGTGCCGGCCAAAAATATATCCTA TTTTTGACTTTTGATAAATTTACAAATTTTCCAAACGAGCACAACTTTAA AACTAGAAATGTTATCGAAAAAAGTTCAACTCATGTATGTATTGCCCATA ATTACGTCTACTCGTATTCAATTGTTTGTTGTTTACTAGTGTCACGACAA CAAATACAGCGGCCGACATCTCGTAAGCCCGTTTTTGACAACGTTTACTG ATTCGGCCGTATCTCGAAAACTAATTTTTTTCTGAAAATGTTGTTAAAGT GAAATAGTTTTCATGTTATTTGTTATCATTTGTGTTTATTCACTTTGTTC TGAAAAATCCAGTAAAAAAGTTATGGGAGTGCAAACTTGTCGCTCACTGC CACTCACCCGCTACAATCAAAAATCAGGTTACTTATAGTTAGTTCTAATT TTTTTTTTGTAGAGCATTTTTTAGAAATAACACATGTAAAATCACAATGA AGCTATATTCAAACACGATATCAAGATTCAGGAAAAAATTCATTGTTTGC GAGAAATGTTCAAGGCGTGGCCAAACACTATTCAAGTTTAATCTCTCATA ACTCTTTTTCTGGATTTTTCAGAACAAAGTGAATAGACATAAATGATGAC AAGTAGTATGAAAACTATTTCACTTTAACAACACCTCGAAAAAAAAATCG CTCTCGAGATACGGCCGAATCAGTAAACGTTGTCAAAAACGGGCTCACGA GATGTCGGCCGCTGTATTTTTTGTCGTGGCACTGGTAAAAAACTTAAAAA ATTGAATACAAGTAGACGCAATTATGGGCAATACTTCATCAGTTAAACTT TTTTCGATAACATTTCTAGTTTTAAAGTTTTGCTCGTTTGGAAAAGTTGT AAAGTTATCAAAAATCGAAAATGGCATATGTTTTTGGCCGGCCCTGTAGG TTAAATATTTTCGTTATCAGGTGTAGGCATGAATCGCCATGTAGGCGGGC GTAGGTATCTTCTAGGTAGGCGTAGGTTACCTGAGTCAAATTATAGGCAG ACGTAAGTAATCATAAAAATTGACACTTTGTGGGCAGGCGTAGGTCACCT TTTAGACAATCATAGTTAGCTTTCTAAGTAGGGTTAGGACACCTATTATA GGCAGGTTTAATTCCTCTTATATGTGTGCGTAGAACACGTTATAGTCAGG TGTAGGTCACTTTGTAGGCAAGTCTAGGTTCTTCTTTCGGCAGGCGAAGG TCATCTTCTGAGCAAGTTAAGGTTCGCCTTGTAGGTCGGTGTAGGTTGCC TCGTAGGCAGACTAAGTTACCTTCTGGGCATGCCTAGATTGACTAGTAGG CAGGTGTTGGCACCAAGGGTGTCAGTGTCCCGTAAAAATTACAAAAACGG GACAACGGGATGTCCCGTTCCCGTGAAAATTTTAAAAACGGGACAACGGG ACGTCCCGTTCCCACGAAAACACCCAAAAAACGGGACAACGGGACATCCC GTTCCCGTGAAAACGCTCAAAAACGGGACAAAAGACGTCCCGTTCCCGTA AAAATGACAAAAACGGGACACCGGGACGTCCCGTTCCCGTGATAATTTTG AAAACGGGACAACGGGACGTCCCGTTCCCGTGAAAACACCCAAAAAACAC CCAAAAAAACGGGACAACGGGACAAACGGGACACGGGACTTGACACCCTT GGTTGGCACCACTGAAGAATGCTGAAACCGACTTTTTTTTCAAAAATGTC CTGCTCAACGAGCCGAATGCATTTTGGTCGGATTATATTGGCACACCTTT TTGCCCCCGAGAGAATCATTGAACAAAATCTCATGCACTTTCAATTTCAT TTTTCATTTCATCAAATAAAAAGATTCGGGAGGATTTGATATATATTGGA AAAATAAATGAATGGGGGATTTGTATGGTGGGGGAAAAGTGCACACCCGG AAATGAGCAGTAGGATTTTGAGCAGGAAATTGAAGGAGCTGGAGCAGGAG AGCAGCTACAGTAACCACCCCTTCACAGCAAAACACATGGCTCATAAAAT TGAATATTTGAAGTGAACTACTAGTGATAAGCGGTGAAACGGGGTATGTG GCACTAATTTTTTTTTCTTCAAAAAACCCATTTCTTATCACTTGTGTGCA GAAGCATTATGGAGACAGGCAGGAGGCAAGTGGTGGTCTAAAAATTAGAA AAGTTCGGCCACAGCTTGCCCGATAGGAGCACACGGGCATACTGTTTCAA CAAAAATTCGAAAAAATTGGAAAATCCCGGAATTTTGATTCCGCGGAATC CGACGATTAAAGAAATTCTCGCGTTTCTGATTTCACGGAAATCGGTATTC TCGAAATTTGGTTTCTGCGGTGTCTATTGTTTTGGAAATGTTGTGTTCAT GTTTTATGAAGAACAATATAATATTATGTATAATAGATATTATATATTAT ATATAATAGAATAATTTTAGTAAAAACCCCACAAAACTTCGAAAATAGAA GAAATTCTCGCGTGTCTCCAAAATTACAAAAAAATCAGTTTTTTTCCTTT ATTTTATATTACACAGGATATTTATATCAATTCAGCAAAAAAACGGGCGG GACAGAAAATTAAGAAATTTGCGAATATTCGTTCCCACGGAAGTAAATTT CCCCGAATTAGAAAAAATTCGAATTTTTACTGGATTTGTCTCAAGCTTTT GAATCTAGAAACATTTTCTAGTAAAATCTCTTTAAAAAATTTTTTACACC AAAAAACTTTTTAGGCCCTGAATTCTGCGAATTAAAAAATTCCGCAAGAG ACCACACAAAATCGAGAGACTTAGTTAGACAAGTAGAGGGAAAAATAAGA GGCAACAAATCATCGAAAGTTTTTTTCTGCAGAGAGAATGGGGGAGAAGT TGCGGCGCTGAAAGAGAGAGAAAGAGAGAGAGAGACAGAGAGGGTGAGAG ATATAACAGAAAACCAGGATAGTGCGGAGGAAGAGAAGAAAAAAGTGTTA GAAATATTTGTCCGTCGACGCCTTCTTCGTCTTCTTCGTCGCCTTCATAA ATGAAACTATGCATTTTCCTCAGATATTGCCTTACTATTAAATGGGGCCC GGGCTAAAGGGTGTGGCCGGCCGATCCAAAACGGTGGCCTAGAAAAATAT CGGCGGTGGCCGATATCAAATAAAAAAAACATCGATAGTTATGAGACCAT AATTTTTAGTTTTTCAGATTTTGAGTCACTTTTCTGATTTTTATCCCAAA AATAGAGCTCTTTGCTGTTTTTCTGCAGAATCAGCAGGTGGCAACTTGGT TTTCGGAATTTGTGCTATTCTTAGAAATTCCCGACACAGCATCGAGTTTT ACTGGAGAACACGTAGCGAGCACAGAAAAAGGAAGGAAAGACAAGAATTG GCTCGGCGAGCAACCAGAAAAGCAGCAAGAAAAAACTGACCGAGCAAAGA ACAGCGCGATGGGGCTCATATATATCTAAAAATGGATGGATGGAGAGATG AGAGACAGCAGCAGTATTCGGTCAAATGAAGACAAGCCAATTTCGAAGCT TATTTGGTATTCATGCGTGTCTTTTTTTTTCTTGCAAGAAAAACTGATCA TTAGCAGAAAATTCAAAAAATATTGGTTGTCCGAGAGGAGTACAGAAATT AAAAAAAATCGTCCGAAAGGAGTACAAAATTCAAAATGTCTATTATCCAA GAGAAGTACAAAATTCAAAAGTGTATATTGTCCGAGAGGAGTACAAGATC CAAAATATGAATTGTCCGAGAGGAGTAAAAATTCAAACCACAAAAATCCG AATTTGCCAAGAAAGGGGCGGAGCCTGATTCGAGTGGAGTGTCGTTGCAA AACGCAAAACTTCAAAAACATACGGTTTTCAAAATCTACCTCGCCGACCT ACCGTAACCCTCTAAAATTTCTAGGATCAAATATCATCGCAAGAAAAGTG TTCGTTCGAAACGAAAAATATTTCTGACGCCTCATCAATCATCATATCAG TAACAAAAACCTGAGAGAGACGGAAACAAAGAAATATATTTTGAACCGAA CAGGGATCCTGCAACAAATCACGTAATGGACAAAATGCGCCCTATTGCTA AATATGCAGCAAGACGCAATTGCATTCTTCTGCCAGAATATCGATTTTTA TACGTACTTATAGTGATAAAAAAAATGCTGAATTATCGATTTTTAATTCC CCGGAAAAATGTGCGACAGAGCGTGTTTGCATTTTTTTTTTCGAATTTTC GTGCAGAAAAACCCGTAAGCATCGATTTTTCTCAGTAAAAATTTCTCGCG CCAAAATTGTTTCTATTTTTTTCGGGAAAAATCGAAAATCTCCAAAACTT CGGTGGAGCGCACTTTCTGGACCACAATTTTTGAAGGGAAACATCACTTT CTGCGGTTTTCAATAAACGAACAAACATCAACAAGAAACGAGAGAGAGTT TTTGTTGACTTTCAAGAAAAAAATGGATATCGAATTTCTGTGCTCCATTT CCCTCTCCGGGAAATGGCGCGGGGAACGTGCAAACAATGCGAGTATGTCT AATGGCTCTCACGTAGATCGAGAAAGTGGAAAATTTGCTAGTATAGACAG TTTAAGGAGGCTCTTTTATTCTATTGGGGAACCGATTTGTTTATGTCTTG CCGTGGAGCGTAGTTACTGTAATTTTTTTGCAAACGTGCTCCATCGAACA GTAAAAAAATCAGTATGCATACTAGTATGTACCTTTAAATAGCTGTAACA CGAATTGCCTGTGAAAATAAAAATCTCGGCAAGTTCTCTCCATCGGATCA ATGTAGGGAATTTTGCTGTTTATAATGCAAACTCGCTCTAATAAACTACA ATTTTCGATCGGTATTTCATGCATTTCGACTGATTTTCGTTATTTTTTAT GTACGCTCTCTATTGAAACACGGGGCCCGAGAAAATATCCAAAATCTAGA GAGGTTGTATTGCTTAGGCTTAGCCGAAAACCTGTAAAGATTTTTTAAAA ATTGTTCAGCCTGCGATGGACGACTTTTTGTAAAACTTGGCCACCAACTT TTTTACGGTGCGGCTACATCGCATTTGGGTGACCTTTAATGTGTTCAGGG TGTCTAAACATGCACCCAAAAGAGAGTGTCATTTTTAACGCGAAACAGCA TCAATCCAAACGGGGCGACAAAAAATGAGAGAGAGAGAGAGAGCGGGCGC AATCTAATGTTTTATCAAGTGTCTCTTCTTCTCCTCCGACCTCGTTTGCA TCCCCCTAATTCATCATTCGTCGGTTTGTAATACAGAGAGAGGGACATAG TGAGTGAGAGGGAAAATTGAGGAGATTCAGAGAGTTAGAAAGAGAGAGTG AGAGGGAACTTCAACTTTTTTTTTCAAAAGTTTTGGTCGATGATTTTGAC ATTTGATAAAACTGAATGAGAGATGATGCTTAGATAAATGAAAATTGATG AGATGATATTTATAAATGCACTTGCGATGTTGTTTTACGTGCAAATTGCT GATTAGTCGAGAAGTTGTGATTTTCGTGTCGGGAATATTTCACTAGGAAC GCCCTTGCGCCTTTAAAATGTAAAGTAGCATAATTTATTTTCAGAAAATT TAAGCGTTGGAAAAATAAGTAGTGCGCAACATATTTGACTCCCAAAATGT TTTGTAGCGAAAACTACAGTAACTCTTTAAACGAATACTGTGGTTCTGGT GTCGAGTTACGGGCTGCCAAAATTCGAAAGTAAATTCATTTATAATCGAA CCCGTAAATCGACACAAGCGCTGCAGAAGTCATTCGAAGAATTACTGTTG TTTTCGCTACTAGATATTTTGCGCGTCAAACATGTTGCGCAGTACACATT CTCAGAATTTTGTGTTCCCGTGATATAACAATTCATTTTTCTGTCTATAA CCTCTTTCAATTATAAGAAACCATTTGCAGCGAAACACAAAAAATTTAGC CGATTTCTATTTCACCTATAAAATTCGCGTCAAATGGCCCGCGCTGTCAA GACAGTCATAAAACCAAATGTTATGCAAATGGCGTAAAATTCAACAGTGC CCGCCCGCATGGTCATTGATCGTTTAAGAAGAATGGAGGAGGGTGCGGGG AGCATCATTTCCTGAAATGAGCCCAGAAGCGAGAGATTAGAGAATTAGAG AAATGAGAGATCAATGAGGAGAGGGTGAAAGGTATGAACAATGAATAAGA AAGGGATGGAAATGATCACAGATGGAAATAGATGGAATAATGAAGTGCAT CGATGCACCATTTCAGATTTTTCGGGCTTTTCGCAGATAATTGAGGAATT ACATTTTTCGGGCTCCATCGATAATACCCTGCCGGACAACGCGTTGGAAA GTGTGTGTACTCCACACGGGCAAATACCTTTAGTTTTACAATGAAACCCG AGCCGCGACCCGACACGCAACGCGCCGTAAATCGACCCCAGCCGTGGCCG AACCAAAATGGCCTAATTCGTCAAACTTTTACATTCCAAAATATCAGGGA AACCAGAAGTGCGCGTTTCCTGTTGTCCGAAAAAAGATTACAACAAAAAA GAAGAAATGGAGCATTTGCGCTCCATCACACTCTCAGACAATTTCATTTT CCACATCCTATATATATTTTGGTTTTTCTGTCGTATTTTGTTTTAATTTA TTGGTATTTCGTTCAAAAATAATTATTTTGACTGTATTTTTGGTTGCATA CATGTAGAACTGCTGTTTTTTAAGATATTCTGCCCATTCAAGTTTTTCAG TGTAAAATTGATATATTTCATTCCAACTGAAAATGAGATCGAAACGATGG AAAACCTCGGATATTACTGATTATGGAAAGAAGAGAAAAGAATCGGAAAG TTGTGGATCAAGTTCACCGATTCTCGAAACACAGTCATCTGGCGGTGCGG AACTTGACGAAGTTACTGAGGATGAATATTCTAGTAATTCGAGCAGTAAT GAAACTAGCGACGAAGAGGAAAACTCAGAAGTACCAAATGTCTTATCTAT AACAGAAAGAGGTAAGAATTGCGTCTTCTAGTGATCATACTTTTCGCCAG ATTCCCTAATGTAATATATTTTGTTGTAGAGAAAAGTTGGCAAAAGTTAA CGGAAAACGATTTGGGACGAATTCGTTTCATCTTGAAGTACACTAGCAAT ACTAAAAAATGCGTGAACGAGTATTTTCAATATAATCATGGGCAAAACAA TGAAATTATGAAAAGTCTATTATTGGATACCGATGGAACTATGACTGCAA AGGCTTGTTCGGAATGTGCCTACGATTTGAATCAGTAAGTTACTCTCTCG ATTTATTCCCAAAATTAATATGTGCTTCAGGTGCCACTGCAAAAAACCGC TTCGCTTCATCAATGCTCCGTGTGGTTGGTTTGCTATTCAAAACTATAAA TAGTTCACTGTTTCCGTTCAGAGGTCATCAACCAAGTTCTTCATGTTGAA AATGCGGAGCCCACCAGGATCAACCATGTAATCGCAACACTCTTCCGGAA TCACATTGGCGAGATTTTGTTGGTCCACTCTATTTCTGTGCGAGAACTGT GATAAAACTAGTATTTTCAGCACAAAGGCTCGAACTGCGGAAGCTCGCGC ATCTGAAGAAGCTCAAATCAGGATTCAAATCCAAGACAACTCGAACGCAT TCCAAAGATCGTATCATAACGATCCACAACCTTCATCAGCCGAAGAACAT GAGGAAGATATCGTGGTGGATGGCTGAGTACGGAGCTCAAATGCCTTAAG GCGAAACAATTGGTTTTTTAATTTGCTGGTTATCATGTTAGATTTTGAAC GTGTTAGGTCTTTCAATTGTTTTTTTTTTTCGAAATGTTGTTGTTCTAAT AAATTTGTTTTATTTAATCAAACGTTTTTTAGTCTACTACGGGCGTGAAG CCAGATATCAGTGGTATCTTCTTATCAGAAGCTGAATCATTTCCGGTTGA CAATGTTTGAAGGACATAAGAAAGGCTGTGTTACTGATTTCGACCATTGA TTTGTTTATATATGGATATGTTCCACTGCCTTTTGGAAAGGCAGTATTCC CGGTATATATGGGCCTAATACGGAATCTAAAATAACCTGACACAAACCTG ACGTTGACCTGTTGCCGGCCCGCGGCGGCTTAGTGTCAACTTGACAGCGG GTCGCGATTTCACCTGCCAGTTGTTCTCCATTCAGCAGCCAGCGACCTGC TGGCAGGTTGCCACTAACCTGACGCGGTTTACCTGTGTTATCGGCGCGTG CATAGCTTAGTGGTTTCAGGAAATGATGCTAGTAATCAGAAGATCGGGGT TCGGGAAACGGCAGGGGCTTGAAGGTTAGGTTCTATGAAGCAGGGCGAAG GGTTGACAAGGAGAGGCAATAAGCAAGTAGTAGGGGTTCTCTAGAAAACA TTTTTGTCTTTAATATGCGTTTCCTACTGATTTATTATTGATATTTGGAT CCCCTTTTCTAGAAAAAAAAATCAGAATCAGCAGAAAAATTTGAGAAAAA GTCATAGCAAATCAGAGTTGGTCAGAGTAAATCAGAGCTAGTCATAGTAA ATCATAGCTAGTCAGAGAATATCAGAGTTAATCAGGGTAATAAGTAGACC TAGTCATAGTAAATCAGAGCTAGGCATAGTAAAGCGTGGTTACTCCGAGT AAAACCACACTTGCACCGAACTGCGGTTAGTGTGCTTTACCATTATGTAA CTCCGCTTTTTACTCTGAGTTAGTATGATATGGTTTGTCTGAGCTGTGGT TGGGCTTCGCGGGAAACTTGAATAATTCGAGACAAAATCTAATTTTAGCG AATTTTCTTTAATTTCTTTGAGGTTTCTACGACAGAACTCGAAAAATTTC GGGTTTTAATGTTTACACATTTTATTTAAAATTGAATAATCAACTGCGGG ACTCCTCGAAAATCACATGCTCATTTAAATTTTGAAGTTCAAACCTCAAA AAACGCGCAAAAACCAAATTCAGCTAGGATATCAAATTTATGATTGAAAT CTATATTTTGATGCGGTGTTTCTGAAGTTTTCGCGATAAAATCCGAATAA TAATTCCACGTACCGTATATTCTCTATCTAATTTCCAGGTCATTTTTTAA TGCAGCACTATTAGAGACTGTCGTACTACTGGAGACTGCAGCATTAATTT TCGAACGGCTACTGTCAATTATAGATCACTAGTATTTAGTCACAAAAGCT AATTTTTTAAGCAGAAATTCATAAAAATGTTTTCAATATTGCGAACTTTT GTAACAAAAAGACCCAGTAATTCAATTACTTTCGTAAATTATCAAAAAAT CATCAAAAATATACAAAAAAATACCAAAAAATATTGAAACTTTCAAGTGA CTCTTTCAATAGAAAATGGGGTGCAGCACTAATAGAGACTGCTGCACTAT TTTTCGGACCCTTTTTGAATGCAGCACTATTAGAGACTGCAGTATTTACT ACTGGAGATGCAGCACTAATAGAGAATATACGGTATATACGTAATATATT CTTGCAGAAAAAAGTACGATTATCAATGAAAAATAGCTGATAAGAGGCTT TTGTTTGAACTAACAGACGGAACGACTCCGGTTTAGTTCAAAAAATTCTA AAAACACGTTGTGTCAGGCTGTCTCATTGCGGTTTGATCTACGAAAAATG CGGGAATATTTTTCCAGAAAAATTGTGACGTCAGCACGCTCTTAACCATG CGAAACGAGATGAGATGTCTGCGTCTCTTTTCCCGCATTTTTCGAAGATC AAAACGAATGGGACTTTCTGACTCCACGTGTAAAAAGGGGTTACGACGGA CCCTGGCCTAGAAATTAGGCGTGAAAATTCTCGGGCACTGGATGTAGTGA ACGCCCGCGATGAAAAATTGGGGGAAAATTAGGCTTTCTTTGCGAGAAAG ATTAATTAAAAATGTTTTCCTTTGTCGAAAATAATTTTTAAAAAACACAC CACGTGTATTCAGCTCGACCAACGCCTCGAAAATTTTCAAAAAAGGCGGG AAAAATTAGTTGAATTCGCCAAGAGGAATTTCACCGCAGCGCGTGCAAAA ATTTCAGCATTTGCGCGTGACGGTGTTTGCACAAATTACACCGAATGGTC GAGCTGAAAACACGTGCACACTTTTAAATAAAACTAGAAAATAAATCCCA GGCCTGCAAATATTGCACACAAAACCGTAATCCCCTTCGCGCTAAACAAC ACGCGCAACGATGCTCCGCTTGGGGACAAGGAAAAATTAATTTAACTCGG GATTTTCATTAAAAAATTAGGTTTTTAGTTAATTTTTCGATGTTTTCACT GCGAAAAAGTGTTAAAATAACGATTTTTCAACCTATTTTCAATTAATCCG TGCAAAAAATCGTGTATTTCTCGAGTTTTGAAAGAAATTTATGAAAATCG GCATTTTTAATAATGGTTTTTCAAATAAAAATATAATTTTTCGGTGCAGA AAAGTCGTTGCTCGTACAGTTTTTTTAAAGCATTTTCACATCAAAATCCT CCATTTTTCCAGTAAATCGATATGGAGTGCGACGAGACAAAGCTGAGCGA CGGCGCAAGCGGCTGGGTGCCGAGTATCCCGACAGATATCGATTCAAAAG ACACACCGTTGCTCGATATATCTTCTCAGGCGATTTGGGCGCTTTCCAGT TGTAAAAGCGGTAAATTTTCCGACTTTCAAGGGAGAAAAGTGTAGAAAAA TCGAAATTACTTCTTAAAAATCTCGTAAAAATCGAATTCTTTCAGGATTC GGCATCGACGAGCTCCTATCCGACAGTGTTGAGAAATATTGGCAAAGCGA TGGCCCGCAGCCGCACACGATTCTTCTAGAATTCCAGAAAAAGACCGACG TGGCTATGATGATGTTCTATTTGGATTTTAAAAACGACGAGTCTTATACA CCGTCAAAGTTAGCATTTTTGGCTTTTTCAAACGAAAAAATACAATGAAA CACTGAATATCTAGTTTTTTTCTCAATTTTTGCCTAAAAAACGGCGATTT TTCACTAGCTTTTCAATTAAAATTTGAACAAAAAGTTTTTTAAAGGAAAA ACATGAATTTCTAGCTTTTTCAGAGGTTTTCTATTAAAAAATAGAGATTT TTGTGATATCTGACTGAAAAATTACCAAACTGTCGATTTTTTTAAACTAT TTTTCACTTAAAATCTGCAATTTTTTTTTTCGAGGAAACATGTGAATTTC AAGCTTTTTCAGAGATTTTCTATGAAAAAGGTTCGTGCCGAGACCCATGT GCTTTTAAACTTCAGAATTTTCCCAATTTTGAAATTAAAAAGAGAATGAA AATTGATTTTCATGGAAAAATGCGTTTTTGGCCCAAAACCTCCAAAAAGT ACAAATATAGGTCGACTTTCAACTGTTTTAGATCAATTTTTTTGCAGAAT TCAAGTAAAAATGGGTTCATCTCACCAGGATATATTTTTCCGTCAAACAC AAACATTCAACGAGCCCCAGGGATGGACATTTATCGATTTACGCGACAAA AATGGGAAACCGAATCGCGTTTTTTGGCTTCAAGTACAAGTTATTCAGAA TCATCAAAATGGGAGAGATACTCATATAAGGTAGAGGAATTGAGAATTTC AGAACGAAAATTGCCGAAAAAATGAAATTTTAGCGAATTTGAGTCGGAAA TTTCGAAATTTGATTGATTTTAAGCAAATTTCCAACTAAAATCTTGAAAA TTTGATCTTTTTAGATAAATTTTTTTTTAATTTTGTGCTTTTCAAAAAAC CTCAAAAAACAATTAAAAATTGAAGTAAAATTAATTTTTCAACAATTTTT GAAAGGCCGAATTTTTGATTGAAAATTTTCACAATTTGTCCATTTTGTGG TGGGGCTTATTCCGAAAAATCGTTGTTTTTTTTTTCAAAAAAGTTATAAA AACTTTAAAATTGCCATGTAAAATATGTTTATTCTCAGACCTCGTAGGCA CGAAGCAGGCGTAGGTCGCCTCGCAATAAATTTGAAAATCTCAAGAAAAA TCAATAAATTTGTGATTAATCAAAAAAATTTAATTTCCTGGTCCCAGCAC GAATGCTATTTTTCGAAAAAAAAAAAGAGGCGAGCCTAATATAGACCACG CCCACAAAATGGGCAAAAGTTTGATTTTTCAAAAAATCGAAACAAAAATT TTTCCAATTTTGTGAGATTTTAAAATTTCCGGTTTTTGGAAAATCGAAAA AAAATTTCTCGTTTTTTAATTTTCAAAAAAAATTGTGCCTAAAATTCAAA AAAAAAATCAATACTTTCTCAAAATTTCCAGAAAACAGTCCATTTTCCAG GCACGTTCGAGTCCTTGGACCCCAGCGATCTCGTGTCTCCACAACGAATC GAATATTCACCGGAGAACCACACGGACCGATTCCCGATAAAAATATCACT AATTTCGACGACGAGGATTTTGCCAATTTTATCGATCACTCACTTGTTCA CTTATCACTTCGTTAAATTTACCTCCAGTGATTCCAGATAATGAGCCAGT TTTGCATTGAAATTTAGTGCCAAAATATAGAAAATCGCATGATTTAACAT AAAATAGCGTTTCGAATTGAAACAATGGAAAAAAAGTGCTATGATGATTT TTTAACACTTTTAATTGTTCCAATTTGAAGTAAAATCTATTTTCAGATAA ATCAACTGATTTTCTATATTCTGCCACTAAAGCTTAAAAACTTGCCCTGC TGTCCTAACCTTCAAATTGTTCCCTGCAAATTTTATTATTCTTGTTTCAT ATTTTTGCGATTGCTTCGCGAGACCCAAACTCACACATTTACCTGTAAAA TATAATCGAATAATTATTTATATATTTTCTGTAAATTTCCTTAGTATACT ATAAATTTTCTGATCTCTCTTCAAAAATCGCTAGAAAAAATAAACAAATG TCGGTTTAAAAATTCCTGGTAATTTACCTTCTATAGAAAATTTTTCGAAA AAAAAACCGAAGAAATTCAGATGGAAATTCCCGATCCCGAACTGCCGGGA ATACCGATTGATCCGCAAGATTTGGAGATTCTAGACACGCCCACACGGTT TTACGAGAAGCTTTTAGTGCGTTTTTCGTGTCGGGACCCGGAAATTTGAC ATTTTTGGCGCGCGGCTTGTTAGACTCCAAACCTTTTCAAAGATTTTTTT TTCGAATTAAATAACATTCGTGCTTGGGCCCGGAAATTGAATTTTTGATT TGAAAACAATTTTTTTTGAGTCCAAAATTTTCAAAGTTTGTCCATTTTTG GCGCGTGGCCTAGTAGGATCCGCCCCTTCTAAATTTTTTTTGAGCAAGTT TTCTGAAGCATTGATTTCAAAAATTTTTTTTGGAAATTTCTGGTTTATTT TTCCGGTTTTTTTCCGAGTTGCTGTTTAAGTTTGGAGAAATTCCAGAATT TGTCAATTTTTGGGGCGTGGCTTTTTCAGTAAGCACAGTTTTTTTTTTTT GAAAAATTGAAATTTTCGCGGTGCGGTTCAAGAAAAACCACAAAAACTCA ATGATTTTTTAACGAAAATTTCAAATTTCTTGCAAGACCTACTGCAATTT CGATTTTTAGAAACTTTTTGAAAAAAATCCGAATTTTCTGATTTAGCCCC GCCCCAAAAATGGAAAGATTTCCGAAAATTCGAACCAAAAGTTCGCAAAA ACTTGAATTTCTCTCACACAGATTGACGCGCTAATTTGAATTTTTCCAAA AATAAGCCCCGCCCCAAAAATGGACAAATTTTAAAAATTTTGAACCAAAT AAATTCAATTTTTTTTCGCTTTTTTCCGTTTTCGAACAAAAAATTCTAAA AATATATGGTTCTAGGCGGGGCTCAGGCACCCATCTACCTACTTAAAAAT GCGTTAAATTTCAGGAATTAACTGCATCAACCGAACGGCGTCTCGCATTG TGTAGTCTGTATTTGGGCGAAGGAGATCTCGAAAAAAATCTGATCGCTGC GATCCGAGAAAGATCCGAAAAATCCGAGATTGAAGTGACGATTCTGTTGG ATTTTTTGCGCGGAACACGGACCAATTCAAGCGGCGAAAGTAGTGTAACA GTGCTGAAACCTATTTCGGAAAAGTCAAAAGTTGGTTTTTTTTGCAAAAA AAAATCGATAAATCGATAAAAACCGACAATTTTGAGAATTTTCATTTCAA ATTTGAGTCCCACATGCGCCTTTAAATATGGTGTACTGTAGTTTTAGCTC GAATGTTGAATTTCAAAAATTGAGAATAAAGAAATGTCGTGACGAGACCC ACAAATGTTTTGAAAAAAATTTTCAATTTCAAAAAAATGTAAAAAATTGG GAATTTCCCTCCAAAAGTTAAATTGGTTTAGTCACAAACTTTGAAATTTT GAAATAAAATTTTTTTCGGCTAAAAATAAGTATTTTTTAAAAACTATTTT GAAGAAAAAAAGTTAGGTCTCGCCACGATGTATCTTGTATATGTGTATCT AAATTGCCATGTCGTGACGAGACCCTCTCATATTTTACACTGCAACTTTT TCCTCACGAGGGACGAGGAAAAGTGGTTTCTAGGCCATGGCCGAGGGGCC GACAAGTTTCATCGGCCATTTATCTTGCTTTGTTTTCCGCCTGTTTTCTT TCGTTTTTCACAGCTTTTTCCCATTTTTTCTTATTAAAACTGATAAATAA ATATTTTTGCAGATGCCAAAACGATTTTCAAGTAAAAAAATCATGTATTC AGTGGGCAAGCAGCGGTGAAAGTGGGCATTGTAATATGATGGATTACGGG AATACAAAACCTAAACTTTTTCTGAAACATGATACATATGATGCTTAAAT GCTGAGACTACCTGATTTTCATAACGAGACCGCTGAAAAAGTTTTGAGGT TTTCAAAATTCAACTTTTTGTGCGAAAATCTCGACTTTTTCACCGAAAAA GTTGAATTTTGGAAACCTCAAAACTTTTTCAGCGGTCTTGATATGAAAAT CAGGTAGCTTCAGCATCTAAGCAGCATATGTATCATGTTAAAGAAAAAGT TTAGGTTTTGTATTCCTGTAATCCATCATATTACATTGCCCACTTTCACC GCTGCTTGCCCACTGAATACATAATTTTTTCACTTGGAAATTGTTTTAGC ATCTGCAAAAAATATTTATTTATCAGTTTTATTAAGAAAAAACGAAAAAA ATCAGTGAAAAACGAAAGAAGACAGGCGGAAAACAATACAAGATAAATGG CCGCTGAAACTTATCGGCCCCTCGGCCATGGCCTAGAAATCACTTTTCCT CGTCCCTCGTGAGGAAAAAGTTGCAGTGATTTTGCTCAAATAAAAAAATC CCCCAAAAACCGATAATTTCACCATTTATCAGATATATCTCTTCCACACA CCGGAGCTTAGTGGCTTAGTAAAACGAGTTCTTCCACAGCGAGCCGACGA GATTATCGGTCTCCAGCACATGAAATTATACATTTTTGATGACAATGTAT TGATTAGTGGGTTAGTTTTTTGTTTGCATGGGTCAGACTACAAACTACAA AAAGCCTAATTTCAGAGCAAATTTGTCGGATTCTTATTTTACTAATCGAA CGGATCGATATTTTCTATTCAGAAATTGCAAACCATTGGCAGATTTCTTC CACGAAATTATCAATGTTGTTGGTGAGTTGGCGATTGCGCTCCACCGCAC ACACTGTTCAATGGGGCTCGCTTGAACTGATAATTTTTTCTAAAAAATTA CAAAAATTGTTTTAATTTGCCTTCAAAAAACCATCAGTTAATTAAAATTT TCTAAGCAAAAAATTATATACTTTCTAAAAAAATTGAATTTCCCGCGAAA ATAATTTTTTCTGAGAAAATTTGAATTTTTCACCAAAATATTTTTTTCAA CATTTTTTACCACAAAATGAGGCGGGGCCTCGGTATACACGCTCAAAAAA TCAAAAAATACTTGTAAATTTGACTACCAGCTATTTTTTTTTCGAAAAAA AAATCGAAAAGTAGGCCAGTTTTCGAAAAATTCTCGACAAAAATTCCGAA AAATGGGGCGGAGACCTGTGCGGTATTCGGCATTCGGCATATGCCGATGC CGGTTTTTGGAGCCCGTCATATGCCGTTATGCCGATTTGAAAATTCACGG CATATGCCGAAAATGCCGTTATGCCGAAAAATCCCGAATGCCGCACAAGT CTGGGCGGGACTTCAAAAACCACGCCCACAACAGAGAACAAAAATTTGGA GTGATGGTTTGCAATTCCCTCGCGCACTTTTTCTTGTTTTTTTTCAAAAA GATGAAAAAGCGCTCTACTGTACACGTTTTTTTTCGAATATTTTCATTAA AAATCCAATTTTCAGCCGACTCGAGCTTCATTGTCGAAAATGAGCAACTG GTGCCGAGCCCAAAATGTGATGTGCACCCATATTTAGGTAATCTGAAAGG ATGGGTAACCTGAAATTTTTCCAAAAAAATTTTTTTTAAGGCTCCGCTCA TCTCTACCGAGAAATGCTCAAAACACGTGTGAATCGAGTTATCGAAAAAT ACAAAGAATCGCGAAAAACGTCGTCGAATTGCATGTCTGCTGACACGTGG ATTTACCCCGTTTTACAAATGGGGCTTTTGGGAATTCATCAGGAGTTTGA ATTTTTGCAAAAACTTTTCTCACTGAAAAATCCGGAGCTCAAAATGACGA TGGCTTCGGGATATTTCAATTTTATTCGAGATTATGAGGAATCGATTCTG AAAGAAGGAGATTATCATTTGGATATTCTTACAGCTTCTCCTTTTGTAAG ATTTTTTTTGAGGGAAAAATATCTGAAATAAGTTCAAAAATTTCAAAATT GAATTTTTTCGAAATTTTTGTAGGAAATTTTGGTTAAAAAAAGTTTTCTC GAGAAATTTGAATTTCCCGCCAAATTTTTTCTGTGAAAATTTGATTTTCC CCTCAAACATGTTTTCTCATAAAATTTGAATTTCCCGTCAAAATGTTTCT GAGGAAGTTTGATTTTCTCATCAAAATTTTTCAAAATTTCCAGGCGAACG GATTCTTCGAATCAAATGGCTTCTCGAAATATATTCCACCACTATATTCC AACATTTCTGATCAATTTCTTCGAAAACGAGAAATCAACGGCCGATTGAA TGTAAAAATGTTCGAATATCGAAGAGAAGAATGGACATTTCATGCAAAAG GTCTTTGGGCAGAACATAATAATCAATTAATGACATTAATTGGCTCATCA AATTACGGTTATCGATCGGTTCATCGAGATCTTGAAGCTCAAGTGATGGT TGTTACAAGAAATCCGACACTTATCGATCGATTGAAAGATGAGAAAAATC TATTATTCGAATATTCATCGATACTTGACATGGCTGCACTTCAACAACCG GAACATCATATTCCACCATTAGTTCGAGTTATTTCACGTCTTATTCGGAG TTTTTTGTAGACGTTTTCCAATTTTTTATAGCGGAATAATAAGGTTTTTG ACTTTAATAAATCTTTGTAGATTTCAGTTTTTTTGAAATGCAACATTTTG CCGAATTAGGCCATTTGACAATTTTTGGTCGTGTCACGGCGCGGTTTGCA GTAGAAAACTAAATGTATTTTGATTTGTTTTTTCGAAATATCCGAAAAAC AACAAAAAAATCTGTTTTTTGTTGAAAAAAATGTTGCGAATTTCAGAAAA CGGCACTTTTCCGATTTCTGCCCCCTAGGGCTGTTATGAGGGACGTCCCC TATTGGGGGGCGGGGACGATCATTTGTCCCCCCATGGGGGACGGGGGCTC GTCCCCGTCCCCACGTCGGGGGACGGGGAGCGCCCCTTGTCCCCGATGGA ACGAAAAGTCGTCCCCTTTTAATTTTTGATTTATTTTAGATTTTCACTTC ATTTATTACCGGTACAGAGAGTGTAGATAGTTAGAGAGTGCCAGACATCC GGGACCCAATGGAGCGGGGCGCGCGGAAGAGACGATTAGTGTCGATTTAC GAAATTTTCCTCGTTGTCATCATTTCGTAAATCGACACAAATCGTCTCTT CCGCTTGGGTCCCGGATGTCTGGCACTCTAACTATCTACACTCTCTGTAC CGATAATAAAATATTTTTACGTGAATCTCGTTTCCACTAAGATGTGCGGG TGGATACCGTGGATATTCCACACAAAAAACGTGTCGCTTTAATAATTATG AAGCAAAATACAAACGCACATTCTTCACATTGGGTAAAGGGGGCGCGCTC CCCCTTTACCCGGGCGCCCCTTTTCGGGGGGGGGGGGGGGGCGTATTACG GGAGGTTTTTTGAAAAATAATTTTTGAAATTTGTCAACTGTCGACAGCTG TCGTTCAATTAATGTTTTTTTTTCAAATCTCCATACAAAAATGTTCATAG TAAATTCTTTATCAATATTGGGGTCCCTCACAAAGTTCAAGTTTTCTTCT CACTCTTCACGGCCGCCTTCGATTTTTTCTTAAGACCTTCATTTGCATCA AAATACATTCGACAAATTTGAGTCACATAAGCATCATCATGTGCGTTTGC CTGCAAATGTTAACAAAGTACCAGGCGGATGCCAAGCTTTCACGTCTTCA TGTCTACGTAGAAAATGCAGTCATGAAGTAGGCACGCAGACAGACAGGCA AGTACATAATCAGGCAATAAATGGGCAAGTAGGCAAAGCAGGCATGAAAT AGGCGCTTAGGCACGTGGGTAGGCAGGTATGAGACATAGGCAAACATGCA GGCAGGTATGAAAAGCGAGAAAAGGCAGGTGAGCATGATGAAGGCACATA GGCAGGTAGGCAAGGAAGCTCCTAGACAGGTACAAAATAGATGTGCGCAA AGTAGGCATGTGCAAAGAAACTAAGCTCGTCGCCAGGCATGAGGTAAGCG CATAGGCTTGCAAGTAGGCGAGTAAACACGCGGGCATCGAATAGGCAATT AGGCAGGTATTTTTGTGCTCCATTTGGAAACACACTTACTGGATAGAAAA GAGTGAGAGTCGTGTAAAATGCAAATGCCAAATAAATTGGATCCGGTGCA GCACATTTTCTCTTTGATCTCGTTTGTTCAATCAGACTCCGATAATTGAT TTCTCCAGTTTCACTTGTATTGATCGCTTGGAAGAGGCTCTCGATGACTG AAAAATGCTCAGAAATTTCGGATATGTTCTCGATTTTCAGTGAATTTTTC CTGAGAAAAAGCTAAAAACTCACGAACAAACGCTGCCGATCGTCCACCAC CAGTATTGCATACGACAAAAACCGGTCTCTCGCTGTCTGTCACTAGTTTC AACAAATACCTAATCTCCTCGGCATCTTTCGGTCCCATATGCTCCGGCCA TCCGGTATACTGGTAATGAGTCACCTCTTGAGTACGCTTCTTTCTGGAAA AAAGTTTGTTGCAGGCTACCTTTTATGCCTGCATGGAAAAAAATAGTAGG CGGACAGGCGTGAGGAAGGTTAGAATATTGATGAGAAAAATTGAAAACAA TCATTTCAAAAAGCAAAGAATTGACCGGTTATTATTAAAAAATAAAAATT TTTATCCGGACAATCCGATGCAGATGTGAGTGCCTGCCTACCGGCGTGCC ACCGCGCCTATTTCATGCCTGCGTGCCTATACTTACCCAAATGTTAGCAA CAATTGTCTAGTCTTCAACAAAGGCTTCGAGATACTCTTCGTGCAAGTGA TTGTTAAGTCCGCCAAAATTAGTTTTTCGTCGAGTTCAGTGGGAAAGTAC CTATCACAGTTCACCTTATTAGCTCCAATAAAGTGATCTGAAAAATAAAT GGATTAAAAACGGAGGGTGGCTTGATAGACAGGCAGGCAGGACTACTGCC CTGTGTAGGCCGTCTTGTAGACAAGCAGACAGGAGTGGGTCACCATGTAG GCAGACGGGAGGGTGTAGGTTGTCTAGTGGGCAGGCAGGCGTAGGCTGCT GCCAAGCAGATATAGGCTCACCTATTTCCGCGAAATCGCACAACATCACA ATTGTGCTTGGTTTATTCAGCTTCACTGACTCCCAAAATGCGGCAATCGC CAAAATATCGGAGCTTTTCTTATCAACAGGCAACTGCGGAGCAGGCATCA ACACAAACTTCAAGCCGTTATCCAATTCAACAACATGTGATGATTCTCCC TGGCTGAAAATGAAGATTTTTTGGTAGGTACCCATAATTTTGCCTACCTG TCTACCTATGTGCGCTTGAGTTAAAGGTTAAACCTAAGCCTATGCCTAAA CCTGAGCCTAAGCTGAAGCCTAAGCTTAAGGTTAAGTGTAAGCGTAAGCG TAAACCTAAGCAATATGTAGAGGCGAAAGGTAGGCAGGCAGGCGTAACAG TCTTACCCATTCTTTTTCGAAGACTCATATGACACCGGATCACATTGACA GTGATTACCTCCCTGTAAGCCGCAAAACTGGGCAAAATCGTCTCCCGTAA TTTCTAGGTTATTTGGAACATTCTCAAATACTGAAGTACAATTTCTTTTT CTAGTAACGAAATCCGAAATTTGCGTGTTGAATGTCTTGAGGAAGTTTGA AAAACGTGTCTCATTCACATCCACACGACTGATCATCTGATTTGGCGGGT ACAGTTTCTCTTTTTCTTCCGAGTCGAGTATTTTGTAGCCGTTCGGGGTT AAGCAAAAGTAAGCAATTATTGCACAAATTATGACAATGACGATCAGAGC CAAAATTACATATTGTCCGTGTGTTCTGGGATTTTGGAAATTTTTAGTGA AGCTTCTAGGCTTTAGCTTATGCTTAGGCATAGGCTTAGGCTTCGGCTTA GGATTAGGCCTAAACACAGGAGCATATAGGTTGGCAGGCAGGCAAAATTA GAGGTACCCGCCAAATATCTAGAAGCTTCACTAAAAAAAAAACGTTTTGA ATTTAGCATGAAAACAATTTTGAAAAAGTAAAATGTTTTCTTATCTCAAT TTTTTCCTTGATTTTATATTGTAATTAAAAATAATAATTTGAATTTTCAG CTCGATTTAGATAGAGTTGTGCTAGATTTCAAGAAGAAATTGAGAATTTT CGTAAAAAATATTTTTAACGCGAAAAAATTTTTAAAGCTTTAATCCAAAT TGTTCAAAAAAGTTTGGAGTAAAAAATTTGGAATTTTTTTGATTTTCACC CGAAAACCTTTCTTTAGAATGTCTGCCTCTTGCCTCCATCCGCGCCTTAT GCTCAATCCGCGCCTTATGATTTTTCTCCGGGAACTTGAGACGATTTGGT TGTTGGGAGAAGAAGTGCGGAATGTGGAGCGTTTGTTGAGAAAAGATAAA ATTTGGAATTTTTTTGATTTTCACCCGAAAACCTTTCTTTAGAATGTCTG CCTCTTGCCTCAATCCGCCTTATGATTTTTCTCCGGGAACTTGAGACGAT TTGGTTGTTGGGAGAAGAAGTGCGGAATGTGGAGCGTTTGTTGAGAAAAG ATAGATTTTCTACTATTTCTCAATTATTCAATACTATCGAACGACTTGAT GTCCAGTCTTTGAATGTTCTTGTCGAGGAGGCGAAGGTTATTGGTAAGTG TATGCGTGGCTTTCCGATGAATTACCAACGGCACGGAAAGCCTGAGTGTA CCCTTTCGATTTCATCTTCGGAAAGTGTGCTAAGCGTAGGCGCGTTAAGC TAATTTTTCCTGGTAAATCCGCAATTCTTGAAGATCGAACCAATAGGGAA CACTGTGGCACCACGTGCAACTTCAGGGGTAGGCGGCAAACACAACGGAA ATTTATCGATTTGCCCAATTTGCCAGAAATTTCGGTTTCCGAAATTTTGT CGATGCATTAAGGGTTTGATAATAAAATCGAGTTTGGGAATTAGCGTTTT TCAAAAATTGTCGAATACCTTCAGAATTTTGGTTTCCGAAAGTTTGTCTA AAAATGCAGGGGTAGGCGGCAACTGCCGTTTGGCATATTTATTTTTGGCG AATTCACCAAATTCCCGTGAAACATGCGTGAACTTTCTTCTCGTTTCTTA ATTAGTTTTTCATCAAATTGATAAAAATGAGAAAATTATAAATTTGTAAA TTCACTTCAAAATGCAGGCGGGCAGGTTTCAGTCAAGCCCTGAAACCGCG CCTGTCTACCATGGAAGCCCTACTTTCAAATAAGATCAACTCACTGTGGT GGTGGACCATTCTTTTCAGAATTTCCAAGATCTGGCGGTGGGAGAATTGC AGTCGGCAGAGGCTTGAATAAATTTGAAAAAAACAAGTCAAGAGCAGCAA GAGCCTTTTTCGGTTCATCAAGTCTGTTTTGAAAACTTGAAAACTCCAGT CCACCATCATCCAAGCTCTTCAGAGCATCCTGAACTTCACCGAGCGACTT CTTATTGCCAACATCCTTCACAAGTTCTACCAGTTTTTCCAACGATTTTT CCAAGCCCATAAGACCACCAAGATTAGCCCAATCAACCTTCTTAGCTTCC GTGAAAACATAACCATAGTCTACAAATTTTGTGGAATCAGACTTTTTAAT TCCACTCTTCCATGCATCTAGCTGAACAAACATCACATCCAAAGATGCTC CAAGCGCCACCAGCTTCTCCAGATTATCCTTATCGTCCTGTGCCAAAGTG GCTCCACTCGCTGCCAACTCTCGTTGCACAATTTGTGCATGGTTCTTGAT AATATCCACATTTGCTCTTTCTCGGAGCACGTCCTCCAGTCGAGCAATTT CTTGTGCCGCTGGGCCAATGGAATTAGTGTGTTCAGCGGCGTTTGGAAAC TGGGATGTTTTATCCGAAGCAAATTTGCGGCGCTTGCTAAAGTACAGCGC CAGAGATTTCAGACCACTATTGAGGCTTGAAACTGAGATCAGAGCATCTT CGACGGCAGTGACTATCGGCGGGAATTTTTGATCTGCTCGGAACGAATTC AAATCTGACAGGTTCTTTTGAATTTTGTCCAATTCTTTGTTGGATTGAAG ACAGCTCAGTACGTCGAGAAATTGAGCAATATCAGATCGAGAGTCATTGA TTTTTTCAATAGCACGTTTTTCTAGTGTTTTCAAAAGATTCGGATTCAAG AAAGTAGCGTTTGCCGTCATTCTACTCATGGTCAGCGACAAGCCGGTCAT TTTTTTCACTCCATTAAAGCATGGCTCAGCGGTTGTCCAATTGCTATTGT TCATATCCTTGCAAACAGTGAGCACTTCTGCGTGTCCTGATTTGCTTTCA ACAAGTTGATTCATCACACTTTTCAATATCGATTTCGATTGTTCCAATTC GGTGTCAATGTTCGATGCAATTTTAGATAGTTCCTCCAGATTCGTGAAGT CGGGGGCGGTAGTTAGAGTAGATTTGGCGCATTGGGCTGAAAGTTTATTT TTATTTTCGTTTTTTTGAGTTTGAACTTTTGTGGACAACCGACAGATTGG CTCAAACTAAAAGGACTCTAAAATATACAAATTTTGGAACTCAAATCAAT TTCGCAAATATTACTTTTTTCTACGGAGCTTTGATCAGGGTGGGGTGGCA AACGATTTTTTTCCAGCAAACGGTAAATCGGCAAACCGGCATTTTGCCGA TTTTCCAAAATGGCCGAAAATTTTTGAATCCCTCCCTCTAAACACTTCCG GCAAATTGTTATCCAGCAAACTACAATTCGGCAAATTGCCTGAATTAAAA ATTTCCGCCCAATCGGCAAATTGCAGTAACTGCAAATTTCCGATAAATTT GGAGAAACCGGCAAATCGCCGAAAATTTTTGGTAACTGGAAAAAATTTCA AAAGGCACTGTACCCGTGCTTCCGTTTTTTAAAAAATGCTTCTAAACAGT TCCGGCATATTGATATCCGGCAAACGGCAAATCAGCAGTTTGGCTAAAAT AAAAATATCCGGCGAATCAGCAAATTGCTGGAATTAAAAAGTTCCTCCAA ATCGGCAAAACCGGGAATTTGGTGAATTCGCCAAAAATAAATATGCCAAA CGGCAGTTGCCGCCTACCCCTGCATTTTTAGACAAACTTTCGGAAACCAA AATTCTGAAGGTATTCGACAATTTTTGAAAAACGCTAATTCCCAAACTCG ATTTTATTATCAAACACTTAATGCATCGACAAAATTTCGGAAACCGAAAT TTCTGGCAAATTGGGCAAATCGATAAATTTCCGTTGTGTTTGCCGCCTAC CCCTGAAGTTGCACGTGGTGCCACAGTGTTCCCTATTGGTTCGATCTTCA AGAATTGCGGATTTACCAGGAAAAATTAGCTTAACGCGCCTACGCTTAGC ACACTTTCCGAAGATGAAATCGAAAGGGTACACTCAGGCTTTCCGTGCCG TTGGTAATTCATCGGAAAGCCACGCATACACTTACCAATAACCTTCGCCT CATCGACAAGAACATTCAAAGACTGGATATCAAGTCGTTCGATAGTATTG AATAATTGAGAAATAGTAGAAAATCTATCTTTTCTCAACAAACGCTCCAC ATTCCGCACTTCTTCTCCCAACAACCAAATCGTCTCAAGTTCCCGGAGAA AAATCATGTGATCAGTAGTTTCTCGGGCCCAAGCGTCGGTTGCCAATTGA GAGTTTAGTGCTCCAATATCAATTGCTCCATTCGGTAGACCAACTGTGTA CTTCTTGGTTCGCAGGGACTGCCCGATGGATTCGATGGTTTGAAGATGGA TCTTCGATTCTTGATTTGGAAATGCATTCCGGATAGATGCCATGTGTTCT TCTAGCTTTCTTAGTCCCCGATTGATGTCTACAATCTTGAAGGATGAAAT AAAGTTCATCACATCACGAACTTTTGGCCATAATACAAAGAAAGAAGCAG CAGAATTATTGTTTTTGAAGCCATGCAACGTAATCTTCGGATTCTCCACT ATGTTCAAAAAATCTTGGGATTTTTTCAACAAATCGTTTAACGCAGAATG GGATTTGGGAATATCGGTGAAACTAGTGAACGCTTCAATCTCTGTGTACG AGTTGCTCCATACTGATAGCTTTTCGGAAAGGGTTGTAACTGATGAAAAA CTGTCTGTAATGTCTTTCATGTCTGCCTTGAAATTAGTCTCGTCTGGCCA CTTCTTGAGATCTCCAATATCATGAGCCACGTGGACAACACTTTTGACAG TTGTGAAGAATTGATCTGCCTCAACATCGTCGCCGATATTCGATTGTAGT TCTATAAAGGTATAGTTTTTGGGGGCAAAAAACGAAAGTGGTTCAAAATT TTGGAACAAAATGCCTATTTTTAGATAGCTAAAATCTAAAATTTTGCAAT GCTGACAAGTTGTGAAAATTTGAAATTTTAACAGAAAATAGGCTTTTTCC TAAACTTTGAATCACCTTACTTTTTTTTTGAAATTTTCGAAACTTTTCGG TTATTTCCAAAAAAAAGCCGCAAATACTCTATCAGGGGTAGGCGGGAATT GCAGTTCGGCAAATGTATTTTCTGCAAATTCGGCAAATCGGGATGTGTAC AATTTTGTCGTCTCTGGCAGTTTACCGACTTGCCCATTTACCGAAAATTT TAATTCCGGCAAATTGTCCATACTCTATTACTACCATAGGCCCTTATATA ATCTTTTTCCGCCCACCCCTGTACTCTATTACCACCTAATCTGTTACTAC AGTGGATTTTTTGAAACCAAAATTTCAGCTTTTGAATTTTATATTCGTAG TGAAAAGATATTCGTAGTGAAAAGTTGAAACCTGGAAAACATAGTTGCAT AATTGCATCGTAATATGTAAAAATAGGTCTTCCATGGTAGATAGGCGCGG TTTCAGGGCCTGCCTGGAACCTGCCTGCCCTATGTGAACGAGTAGACTGT AGTTTTAAAAAACAAAAAAAGGTATTTGCCTAACAAAAAACATACTCAAA TATTTGAATGTTTGCAACCAAACCTTTAAGCGCTATCAGTTTAGATTCCA GCGAACTGTAGTCAATTGCATTCAGTTGATCCATTGAGAAATCGTATTTG AACAAATCCAAAGTTAAATTCATTGATGGAATGGTTCCTTTTGTCAATTC TTGTTGTAGGTACATTGCATTGATCAATCGTGAGGCGAATTGTAATCGCT CAACGGCAGTTATCAAGTTGTCATCTGCAACTTTTATGAATGATTTTTTT AAAAAGTTATTTGTTGTCATTTTTCTTTTATTAATTATTACGTATATTAT ACGTATCATGCGAGTTTAGCTTTCCAACCCCCCGCGAACTCTTTTTACTT TTTTTTTTTTTAACTTTTGTCTTTTTTGTCCTTTCTTGGCTATTTTTTTT ATGAGAATTGACCCGAATTTGACTTTTTTCGGATTTTTAGGAATTTCTAG GAATTTTTCTTTTTTGTCAAAGCGAGCTAACGCTCGCCACTGACGCCAAG CCTAACATAAGACTTAACCTAAGTCTTAGCCTAAGCCTTACAAGGAAAGT CTTTGAAGGGGCCTGTAGATTTGGGTTTCTCATGTTGATATTCCGATAGA AGAGTGTTAGTTTTGATCTCTCCAAAAAATTTAGCTGCCCAAGCCAAGTT TCAGCAAAGTAATGACATTTTGAAATTTCAGTTAAAAACACCATTGAAAT ACACTGTCTTACAGTGCTATCCACACAAATATCAGCTTGCGTGAACACCG AAAATGTGACGCCCACCACAATAGGCTGAAGACAGTGGATTTCAATGGTG TTTTTAACTGAAATTTCAAAATGTCATAACTTTGCTGAAACTTGACTTGG GCAGCTAAATTGTTTGGAGAGATCAAAACTAACACTCTTCTATCGGAATA TCAACATGAGAACCCCAAATCTACGGGCCGCTTTAAAGACTTCCCTTGTT AGCCTAAGCCTATGCAAGACACGCAAAATATACATTAACATATATATACA ACAAATACAACGTAAAAATTGTTTTTCTGTAATTCGACTGACAAACCTTT AGCTTCACGTTTGGAACGTGGATCTAATGACATCACATTAAAGAAACTGG ATTCTTCTGGAACAAAATATATTGAAATTAAAGCTCTGAAACAGTCAAGA AACCTTCGAAAGTATCCGAATTGACAACACGATTAACCGTTATAATTATC AAAACGATTATTATTTTGATTCCTGGAAGACAGAAGAAATTCGGAACGAA AATAAAAATCAACCTACTCATTGCAAAGTATTATGAAACTTCCCTTTGAT CGACGGTTTTTGAATCAATTAATGATTGGAAGTGTGAATTCTGAGAGAAG GAGTGTTGGAATTTTTATTTATTTTATAACGAAAAGGTCACGGTTTCTGT AATTTTAATTTCTATGAAAGTTTTAGGGACTCACAGAATGTCAAACACTA GATGGCCGAAGAAAATTTGACATAAGCAGCGAAATTTGACCTTTCAAAAA AAAATTAATATTACGTGAAATCTTTTTTTTTCCAATGGAATTGAATTTTT GGCTGATACATGAGGGAATGTGTTTCAAGCTGTAATTTCAGTAAAACTGT ACAAGAAAAAACGTTCAATATTTTTACCTTTGCTTATAACTCCTCTACAA AATTTTTTCGGACAAAAAAATAAAACAAGCATGGAGATTACAGGTGAATT TCGAATCCTCATCTTCATTTTTCAGACTGAAAATCCAAGAAAAGTAGCCC GAACTTTTTTCTGAAAAAGTTCCTATATACTCATCAAACATTCATAAACA GTATTTAAACAAAAAATCCCGAGATAACACTTTTGTCTTCAAGATATTCA GGTTGAAAACTAATGTCCTGAAACTTGGATTTTGGGTCCTTAAGAAGATA AAACAGATAATTAGCTTTTACGTTAATACCCGCAATCATTTGCAAATTAG AGCAAAATTAAATTGAAACTTTTTTTTGGATTTAAACATTTTTTGGAGCC GAAATACAAGTTTCAGGACACTAGTTTTCAACCTGAATATCTTGAAGACA AAAGTGTTATCTTGGGATTTTTTGTTTAAATACTGTTTATGAATGTTTGA TGAGTATTTAGGAACTTTTTCAGAAAAAAGTTCGGGCTACTTTTCTCGGA ATTTCAGTCTGAAAATGTATGATTTTTTAATTCAAAATTTGAGGGAATGT CGTTCATTGTGGCTCGAGGTCAATGGATAAATGGCTAAGACTAAAACATC ATTGATCGAAGAATGATTTTTTATTCATAAAAACTATATATTTGACCTGA AATCATTGTTTTTTGTCACTATAACCCATTGGAATGAGCTGTAGAAATTA ATTAAATTTAGAAATGATTTTACCGATACGTGGCAATGTTTAATACATTA GTTTTCTGGCCGAAGATTTGTATGTTTTCCCGAGAAAGTGAAGCGACAGC TTAAAAGCGCATCGCCTTTAGTGAGAGGCAGGTCTCGACGCGACGACATC TTTCCTCGCGCGCAGCGGCGAGATTTCGTCATTCTACGTGTTGGTAAAGA AAAAGGACGTGATTTTATCGATTTGCATCGATTTTTTTTGGATTTTTCTT TGTTTTTATTGTATTTTTATCGAATTTTTAGTAGTTTTAAGGTTTTTTAT CGATTTTCCTTGATTCCGTTGCGTTTTTAAGCGTTTTTCTCGTTCGTAAT GATAAAAAGGGGGTTATTTCTCCGTTTTCCAAGAGTTATCTGCGCGTATG CCAGATTTTGCAGGAGGAATCATCAAAATTCTCAGTTTTTGGCATGTAAT CCTTACGAAGAGTACTTTCTGAGGCTCAATGGCTTTTTCCCCCGCTGTTA GGTGCTTCAGTAAGTGTTCTACTCCTTTCAGGGGTTCCTTCTCTCGTCTA GGAGATTAAATATGTTCGCATTTGTTTCTTCCCTCTCTCTTACGCGCTCT TTCCAGCATTGTTAGTTTATCCACGCTCTTTTCCTCTGTAATTTTTCGTT TATCACTTTCTCTAATTTTTCGGTTTCCGGTTCGTGCACTCGCGCACCCT CTCCCTATTTTACTCTATCTCTCACTATCTCTCACATCTATCTCTATCTC TCACAAGCTATTTTGGTATTTTGCGCGTTAAGAAGTCATGTTTTGATGGA CCGTGTCCAAAGGAAGAATATTTTCGTCGAGTGAAAGGTATGTAACTTCG TGTGAAGTCGACTCCATGAGTCTTGTGAATATTCCGATAACGTTTTATCG AGATGTATTATCGGGCGGCCCGAATTTTATGTATGTTTTTCATTGTGGTT ACCATGTAACGGGAGTTCACATCGCAGAAAGAGCAATTCTTTATCGCGAA AGTACGATTTCAGGCCCCGGAAGGCTTTCTTATCAGTTTAATGCGACATC TTTCGTCGGGTGAGATATATTGTCTTGCGTTTCTATCGCATTTCATTGGA CCGGTCGAGCCAGGTCTGAGTGTTTATGAGTACGAGTCGACTCCGTGAGT CTCAATGATTTTCCGTTTTCAGGCGGTTTTCAAGGTTTCCCGTTCTTGGT TTCTGCTTCATCTTCTACTACCGTTTTAAGTAGGATTGGCTCAAGTCTAC GGAAGAGTAGAGCAAGCCTACGAAGAAGGTCTTCGAAAGAGTAGCGCAAG TTTACGGAGGATTCACGCAGGTCTACGGAAGAGTGGAGCAGGTATACGTT AGAGTGGCACTAGACCATACTGGGAGTCCGATTTCCAATTGGATTCTCGA AAAACCTTGTACCTGCACAAATAACCAGACGAGCCGATATATCTACCTTA CCGAGCTCCGGGTTAATCGTCGTCAAGTATTTCAGGATGAAGCGTATAAG GCGATGATTTTCTTTAGCTATGCCGCGCGTTTTGCAATTGCATAGCTGTG TATTCCGTGTAGACTTTATCGCTCACTTGTTCGATTTTCAGGACATCCGG TTCGACCTTTTTTCTTTCTCCCGCTATCGACGACGCAGATCACGTATGAG TTGCTTTTATATACGGCGATCGATTGGTCCGGTATACGTAAAATTAGCTC TATATTTTATCGCTTTCGTTGCTCACGCGATTCCCAGGTATTTTAATGTC GAATCATATTCCGTCACCTACCACTACGTAGGAGATATGCAGGGCTATGT GAGAATAACTCAGGTTTCGTAAGAGTTTCTCAAGACTAGGGAGGATATTC GCAGGTTGTTGAGTAATTTGTTTTTCCAATTAGCTATTCTCCTTGTCAGG ACTTATTCAGGTGTGAGTCGAAGTAGCCCGAGACGTTTGGCCCTAGTATG GATACTTCACGACAGTTTCAGACAGATTGTGGTCCGCCTTTAATGGGAAT TATTTCTACTGCACAGGTTCATAGCTGACTTAGCCGAATGAGCCCCTTCG ACGTCGCAATTTGGCGGTTAGCACACTTCCAGGAAGACATAGACGAATCA CAGTTTCAGAATTCCTATACACTTCAGTAACTACGGAGTAAGGCGATCAG TTCCTTGCCGCATTTATATGTTCATCTTAACTTTATTTTATATTAGCTCA CGGCTTTCATTGGAAACTACAGATAACTGAGCCAAATGCTTCGCCTTTTT GTCACTTTTTCCCAGTTCACTCAAGCCCAGAGTAGATGTAGTTTGAGGTT ATCTACTTCTCGTTTCCATGTGCGGATACTAGCAGAGTTTCTCCTGTTAT AACTGAGAGTCATTTCACACACAATACGGTTTATCTGTCGGCAGTTTCTT CTCACAAGGTTTTCGCTATAGATGAATATCTGGTATAGGGGTGAAGAATC TGTAATTATTAAACGCCTCAAGCTTATAGCCGTGACTGACAGTTATAGCC CCCGGCTTTGCTGGTTCTACCCTATACCACACAAAACCCAAACCAATAAA CCCATAATACTATATAATTCGTGTTGTCTTATTAGAGCGTAACTTGATCA GGGAAAACGAATTCTCGGGGAGCGAAGCGATCCGAGAATTGTATGTTTTC CCGAGAAAGTGAAGCGACAGCTTAAAGGCGCATCGCCTTTAGTGAGAGGC AGGTCTCGACGCGACGACATCTTTCCTCGCGCGCAGCGGCGAGATTTCGT CATTCTACGTGTTGGTTTCCCCCCTCCCGCCCCACACACATATTATTCCA AAGTGCGAGACACATATGCTATGATTTCCCTTCCGGAGAAAAATCGAATT ATTATGAAAATATTAAGTTTAAACCGTAAGTCGTTTATTTTCAGGAGGTG AGTTTTATTTTTCCTTCATTGTCGCCTGAGTGGGCAGTCGGTGTCTATCT GCAACATTCGCAGCTCGACCCTTGTGCTTGTTTTGGCGGTAGCAGGAAAC TTATGGGTTTTTTCACAGTTTCGGGAGAGATATTTACAGGCTCTGGTTCA GGGAACCAGATTCAGAGTTTAATAATGATATATCTTTACAGGAAAATTGT GGTTAGAGTTTCATGGCAGCTTCAGATCCCCTGATGATCAACAGTTCAAT CCACGGAAACACGGACGAAATGAGTGGTCCACCGAGCAACAATGTGGAAC GAGACGATTCCAGGTTTTCCATGCCCCCTAACATCGATGATGGTCTTATG GTAAAGTTCTTCCAATCAAGCGGTGTTCGTGTTTTGGATAAACTTCTTCG ATAAGTAATACTTGACTAAAAAATATCGAGAATTAAAGTCACAATTAAAA TTTACAAAATATTTTGTTCCAGATTATGAATTTTCGAAGATTAGACTATT CACGGCCACGTAGCGTTTGACATGTTGTGGGACTGAATTTCTACAAAAAC GTGAACTCACGTAGACTGTCTCTTGAATAATTTGAATGAAACAGATGTGA GCTCCGGAATAGGCTTAGGCTTAGGCTTAGGCGGGGCTGGGAGGAGAAAA AAATTGCGGAATTTGCCGTTTGAAGAGCTCGGCGAGTTTGCCGAGTTTGG CAAATTTTAAATTTTGCCGTACACACTACAAATTGGACAAAAAATCGAAA TATCAAAAATAACAAATTGTTCTGAGTTTGATCAGTTCGGTAAGAAAATT TTGAAAAAAGTGATTTGCAGAATTTGCCAAGCTCGCCTTTGTCTTTGGTC AATTTAGCACCATATGAGTGATTATTATCAATTTTCCCACTGTCGCTACT TCACATTTAAAAAGTAGTCATCAATTGCCGAAACAACTTCCTTCCAGCTT AAACTTTTTTCTTAGCCTCATCGGGACCCTTTCCTAATCCCTTCTTAACC TCATTCTTCCCATCTTCCAAAATTTCCATCCTTCTTCTTCTTCTTCTTCC CACTACGACCATCTTTGTCGTATAGCACCTTTCTCGCGAGAGTGTGTGGA AACAATTTGCGAAAAACGGCTCCCGATCCCCCCATTCGTTTTGGCGAAAT CAATAGACACAAAAATGTTCAAACAAATCTCCCCTTCTCGTTTATCCCCC TGTTGCACAATATCCTTTTCTCACAAAAAAACCTTTGCTCTTCAATTTTC GGAATCATCTTTTTGCGCTTTGTCGTGTTACTGTGAAAGGCGGAGTACTG AAATATGGAAAATATTTTTAAATGACTCCCTGATTCCGAATATCTATGTG AGAAAGTTCAAAAAATTTTCCCTCATTTTATATTTCAGCTTGAAATCGTG ACTTTCATTGTGCACTAATGAGATTTCGATTTCGAAGTTTTTTTGAAATG TGTTTTCAAGGTCAATTTTCAAGGTCAATTTATTATTTTACTATCGAAAA ACTAAAAAAATTTCAATGAGTAAAGTAAGTAAGTAAGCATTTCGTAAATA TACAAAAATCTCGTAAATCGACACATAGCGTCTCTGGCGCGAAAATTCGA AATCTCATGGGTGCACAAATGAAATGCGAGATTTCAAACTCAAATGTAAA ATAAGGGAAATTTTTTTGAATTTTGTCACATAGATATTCGGAATCAGGGG CAAATTTGAAGTCAATTAAAAATATTTTTCAGATTTCGTGGTACTCTAGT CTAAAACTAAAACTAAAACTAAACTAAAGTTAAATTAATATTAAATTACC ATGAATCTAATTTTTGTTTTTTAAAGTTTCCTGCAAAAATTCCAAGATCT CAGTTTGCCGAAGTCTAAATAACGACAACTCTGAACTTTTGTCCCGAAAG AAATCGAACACCGGTGTATACTAATAAGATCCCTCGAAGCTCGGTATACA AAAGGATCATGAAAAAGGGGTGTCTCACCTTGCGCATAATACCTTCTGTC TTTCCCCCTTCACCAGAAAGATTTCCTTCTTATATTTGTTCGTTTCGTTC CTGCACACTCTCCATCTCTTCTAACCCCCTCCTCATTCAGAATACTCTCT CATCTCACAACGCTTCTGTCTACCTGCCTGCGTCTCCTCGGTACCATATA CTATCTTGTAGCTGCCACTTACCAACAGACTTGCCTCTTGGAGGTCTCTC TCTCTTTTCCACCAAATCACCTTGTTCTTCCGACTTGTTCTCTCTTATCG AACTGACTTTTCGTGTCTGCGGGCCTTTCACATTATTTTCCAATTTTATT CGAATTTTATGTGCCCACTGCTTGCTAGGTTTATTGAGTGCCGCATTAAT TTTATTGATTAAAAAAAAAGCCACTTGTAACAATTTTTATGAAATTTGTT TGCATATTTATTTAACAGTAGCGAAATTGTTTTAAAATTCGTACTGTGTG AGAAATTTGCACTTTCGAAGTGTTTAAAACATTCTATTACGGGATCACAA GATTATGAGAATGCTTATTGCGCAACATTTTTGACGCGCAAAATATCTAG TAGCGAAAACTACAGTAATTCTTCAAATGACTACTGTAGCGCTTGTGTCG ATACTGGCTCGATTTTTTAAATGATTTTTTTTCGAATAGTGACGTCGATA TTCCATTTTGCTTTCTTTTTCGTATTATAATTTTATTCATTTCGAGAATC GAGCCCATAAATCGACACAAACACTACAGTAGTCATTTAAAGAATTACTG TTATTTTCGCTACGAGATATTTAGCGCGTCAAGATTTTTCCTTACGGAAA TACAAACTTCTTGGCGAAAATTTCACGAAAATTCAAATTTCCCGCTTAGA ATTTCCCGAATTTTTCGAATTTCCTGCCAAATAAAAACTAGTTTAAATAT TTAAAAAAAAGCTTAGAATTCTTAGAATGCGTATTGCGCAGCATATTTGA CGCCCAAAGTATCTCATAGCGAAAACACAGTAATTCTTGAAATGACTACT GTAGCGCTTTTGTCGATTTACGGGCTCGATTTTTGAAATAAATTTTTTAA AATCTTTTCGAATCAAGCCCGTGAATCGACACAAGCTCTACAGTAGTTAT TCAAAAAGTAGTTTTGGCTTCGATCGAGATATTTTGTGTGTCAAATATAT TCCCGTAAAACAAAATACCGTCTAAAGATATAAAATTTAACGCCTATTAC ACCCCAAAACCCGCCGGAAAATCCAGAAAAATTATATAAATTCGCAGTCA CTTCTCAAAAATAACCTGAATAGTTGACCGCGTAATTCGACCCGTTTCCC TACGACTGACCACACCCCGATTCTCTCGAATTACCCGCGACAAGCTTAAG CATCTTTCTTCATTCCCACACTTTTCGTAAACTTCTGAGAGACAAAACAA TAATATTTCTTTCTCAAATCAATAATGCCTATATTCTCCGCATCCCGTAG CCGATCCCATCACCGTAATTCTAGAAATCCCACGAAATTTTCCAATTTCT CTATTGAAAAGGTCTCTCTTTTATATTACCCAGGCGCAAAATTTCGTGCA AAAATACAATCGACGGTCTCGACGCGATAATTTTTGCTAAATTCCAAAAA TGTGTGCGCCTTTAAAGATTATTGTAAATAGCTTCAAACTTTCACCGATA TTTTTAAAAATTGATTTTTCTATGTTTTCCGTTTAATATATATTTATTTA TTTAAAAATTAAGTTGAAATTGAGAAATCGATGAAAATCGAAAATTACAT TACTCTTTAAAGGCGTACATGTCGTTTCGAGACCGGGTACAGTATTTTCG ACTGCGATTTTGGTTTTTAAAAAAACCTAACCAATAGAATTTCCAGCGCT CACACTCATTGGGTGGAAGCAGCAGCAGTCCGACGAGCTCTTTTTCGTCA AACGACGAATTCGACGATCGTCAGAACAAAAAGTGAGTCATCAGTTTTGT TTGAACAGCAGGTGTGAAATTTATTGTGAAATTTAAAATGGGAAATCCGA AAAAACACACCTTGTGTGATCTAAGATCCAAAAAAAATAGAACAATCGAT AATTTTCGGGTAATTTTAAAGTTATTTTTAGCGAAATAAACAATGCATTT TTGAGGGATTGGTTTTCAGTCATTTTCGATTAAAAAATTCAATGTTGAGC TGAAAATATCGATTTTTACCAGAAAATTGATAATTTTCGAGCTCAATACC ACAATTTTAATGTTTAAATCGCTTTGAAACCTCATAAAATCTCCCGCACC TCCAGTTTTTGTAGTTTTCCGCCTAAAATGTCGGAAATTCAACAGAATAC TCATTTTCCTAGCGAAATCTATTAGTTTATAATAAATTTGATCGTTTTCT GCTTAAAATTCCCTGAAACTTCTGAAAAAAAACCGATTAATCAGCTGAAA TTCGCTTAAAACTAATTTCGTGCCGGGACCACGGCCTTTTAAATCGGTAT GCGCTTTTAGTTTTGTACCGTATCTATTTTAGTTTTTAAAGTAAAAAATG AAATTTTCAGCAAGTTTTGGCGTCAAAGAAATGTATCGAACGCAGAAATT GAACGAATAATCGAGGATTTCATAGCGAATGGTATTTTAAGTGAGTTTTA TTCGATAAAATCGACGAAAAACCAGAAATAAACAGTTAATTTCCAGAAAT GAGCAACGGGAACAGCTACAATCACCATCACCAATTCCCGATGAGCATTC CAATATCGTGCTCGTCACACTCAATTCAATCACAATCACGAATGAACACT CTGAACGCGAATAGGGATCTCCTGTCTCCCGGCAACGACGTAATTGTCAC CAGAACCGTGTCACCGTCGTTTTATTCGCATGGAATGCCGGCCCGGGATA ATGTTTTTCGAAAAGACGATCATGTCAGGATATTGGGGAATACAACGGTA TGAAAATCTGCTTTTCATCGAAAAAAATTGGAATTTTCAGGACCCAGCGT GGTATCGAGCCCGTAATGCGAATCAGGAGGAGGGTCTGGTTCATGCAGAT TGTGTAGTGAGAATAAAGTTGGTTTTTCTGATCAATTTCTGTGAATAACC CCGATTCCCATGAAAATAGGATTTTCAGCAGAAACTCCAGGCAAATTGAG TTTTTGATGCGAATAATGGATTAAAAAAGATAAAAATCCATGAAAATTTA ATTTTTTACATCAAAAATCCATAAAAATCGGATTTTTGAGCGGATTAGAT TACTTTGCCGAAAATTCATTTAGAAAAAAACAATTCTTGCGCGCAATTGC GCAAAAAATTCAGAAAAATGAAACATAAAAGTTAAAAAAATTATTTTTAA ATATTTTTGAGCTGAAAATAAAAGAAAATTCGGATTTTGTGGCCAAAAAT TCAAGAATATTCCATGAAAATTAGTTTTTGTTTGCAAAAATCCGAACAAA AATTAATTCTTTTTTTCGCTAAAAATTGAGAAAATGGTTTTAACACAAAA ATCCACAAAAAATTGATTTTTAGGCCACAAAATCTATGAAAATTCTGATT TTCTGGAAAAAAATTAAGAAAATTCAAATTTTTTGTTCAAAAACTTTTTT CAAAAGCATTTCAAGAAAATTTGATTTTTCATCAAAAAAATTAATAAATT TTAGCGGGCAAGCCTACGACAATGGAATTGTAAGAATGAGAGCTAGCGGA TGTGACGTGGCTCCGGGAGCAGCTTCAACAACCTCCAGCACATCATCACA TCATTCAACTGCAGCAAACCATCAGCCATGGTTTCATTCAATGATTAGCA GAGAAAATACTGAAAAGTAATATTGAAAATGTTGGAAAAATCTGGAAAAA TGCGTCATTATCTCGGTTTTCAGTCGGTTTCCAGTTTTATGAAAAAAACG TCACTAAAAACGACATATTTCTTTAAAAACGTAAACATCGGAAATTGTTT GCATGAAAAATGTCGCGATTTTCTAGAAAATTTTAAAATTTAAAGAAAAA TGTTGAAAATAGATTTTTTCTGAATTTTTTGAATTTTATTAGAAAATAGA GAAAACATCATGTTTTTCAACGTTTTTCGCCTGAAACGCTGGAAAATGCA GAAAATGGTTTTTTTAGTGGAAAATAAAAATATTTTTTAAAAAAACGAGA ATTTTTTTTTCGTCGAAAGTTCCAACAAAAATTACATGTTTTACAAAACA TGTAATTTTTGTTGGAACGTCTTTTTTTTCTGAATTTTTCTTTGATTTTG TTAACTTTCTGAATTTCAATTCAAATCGGCAAAATTGTACGCGTCTTTTG AATGTTCCCACATCTATTTTGTAACGAATACGGGAAAAAATATTTCAAAA AGGCACATTTTTCAAGTGTTTCCGCCTTATAAAAAATTGCCACTTCCGGC AAATTGATATCCGACATACGGCAAATCGGCGAACTGACAAATTGCCGGAA TCGAAAGATTCCGGCAAACCGACAACCCTCCGATTTGCCGGTGTCAGAAA ATTGAAAAGTGTAGAAAAATGACGTCACAACTAAATTATAATACATGTCA TTTCTTAATGTATTTTAATACAGTTTTGACGTCATTTTTCTCCACTTTTC ATTTTTCCGGCACTACTTGAATAACCCTGTATACCACTTTTAAAAATCAT GTTTTACAAATTTGTAAACTCCAGATTACTCCGCGGCAAACCGGACGGAA CCTTCCTAGTACGTGAATCCACAAATTTCCCCGGCGACTTCACACTATGT ATGTCGTTTCACGGAAAAGTCGAACACTATCGCATCGAACAGACGTCCGG CGGACAGCTGACCTGTGACAAGGAAGAATACTTTTCCAATTTGACACAGT TGGTCTCGGTGAGTCATTTCGGGGCTGTAGAGACAGGAAAAGGGGGAGGA ATGGGTAATGAACCGGTATTCGTTAGAATGAGACAGGTGAAGATAACAGT TATGATTTTATATTGTGAAGAGTTGTATTATAAAAAAGGTTGGTAGAGAT TTGAATATTTGGGAGAAAGAGAAAATGAGGGGAAAATTGTTAAAATTCGG ATTTAAGTTTGAAAAGTCACAAAAATGTTATATAAATATTTATATTTATT GGATATAACTAATTAAGATTTTATATAGCAATACTTTAAATAATATGAAT ATTGTTAAATATTGATATAATATCATATCAATCTTCATTTAATGGCTAAT TGTAATTTCCAATTTTCCAGCACTACAAACGTGACGCGGACGGTCTCTGC CATCGCCTGGTAACTCCGATTATTTGTGAAACAGCGACATTTTCATCAAA CGGATCATCGTCATTTGGTTCATCGTCGACAGTTGATTTGGAAGATCGAA CATCAGTATTTCGACACGCGGGTCTAGTTATTTCATCGAACGATATTGAT GTTGGTGATACAATTGGACACGGAGAATTTGGAGATGTTCGATTGGGAAC TTATAAGAATCGAAAAGTCGCGTTAAAAGTGTCGAAAAGGCATGGAAATG GAATGTTGGACTCATTGCTGGATGAAGCCAAGTTTATGGTGTAAGTTATC AAATTATTGAGAAGAAAATAATTTTGGCAAAGCCCAAAACAATGCGTGTT GAACAAAGTCATATTAAAAATATATTTATGTTTCAAAAATGTTATAATTC AATTTATTTTTAATTTCGAAAATCTATAATAACAACTTTTCCAAGTTTTT AGTTATGAGTACCCCGAAATCTGAAAAATATTTTCAATTGACTCCAAATT TGCCCCTGATTCCGAAAATCTAAGTGAAAAATTCGAAACCTGATGGGCGC ACAAATTATTTGTACAATTTAAACACTTTTTAATTAAGATTAAAAATTTC CCCAATTTTTTTGAAAATATTCATTAATTTCTATTTTATGTTAATAATTG TTTCAGTTTATAACGCTTAGTTTCAAAATTTTCAATTTTCCTGATTGATG ACTGATAACTAATGGCAGCAAATAAATCTGAAAAATTCCGAATTTTGCAG AGGTCTCTCGCATCCAAATCTAGTGACACTTGTCGGTGTTGTACTGGATG ATGTGAATGTCTACATGATAACTGAATATATGGCAAATGGTAATTTAATC GATTTACTCCGATCTCGAGGAAGGCATGCGTTGGAGAGGAGGCAGTTGAT GATGTTTGCGATGTAAGAAAAAGTTGACAAATAAAAAAATTGGAATTTAA CATTCAAATTAGATTGTTCAAAAATTGTTGACATTTCTGCATTTTTATAA CCGAAAAATCGAAATTTCATTTTTTCCGCCTGAGTAATAGTAACTCACCA CGAAAAGGGTTACTGTAGCAGTGCTTTTAGCTGTCTCTGGTTTAGAAATT TACGATTTGCCGGTCTGTCTGAAACCCGATTTTTTCTAGATTTTAAACAA TTTTCTAGTATCCTGTTGAATTAATTCCAAAAACATTTTTTGCTAAATTT TTGTTCTCCGTTTGTCAAAAAGCCGACTTTTTAAAAACACTGCAAAATTT CTCTCTAAGTTTTTTAAAAAATGTTTGCCCTTGAAATCAATGCAGTTTTT TTTTTAAATTTTATTTTGGAGTTTTTTCGAACAAAAATTTATTTCTTCGT CTATTCGTACCGAAACACCAAAAAATCCACTTTTTTTCGAAATTTTTTTT TTCAAACAACAACCCTGATTTCAAGGGTAAACATTTTTTAAAAAATTTGA AAAAAATATTGTAAAATCGGTTTTAGTTTTTAAAAAAAGTCGTTTAAATT TGTTGCACAATTAAAAAAAAATTTAGAGAAAAATCTTGCAATGCTTCAGG CACACAGCTGAAAATGCTAATACAGTACTGCTTTTCGTGGTTGGACCCAG CCGTGGTTACTGTACCTCCGGCAAAGTGGAAAATTCGATTTTTTTTTGTT AGAAAATTTGAAAATGTCAAAGATCTGATTTGAATGTTTCAATTTTTTGT GACAGCTGTTCTTGAAATCCAAATTTTCAACTTTTTTTCCATTTTCAGGG ATATTTGCCAAGGAATGTGTTATCTGGAATCAAAACAGATTGTTCATCGA GACTTGGCCGCTCGAAATGTCCTACTCGACGATGATTTAGTAGCGAAAGT TTCGGATTTTGGATTAGCGAAAAAAGCAAACAGCCAGTCACATGATTCGG CTTCTGGCAAATTTCCGATTAAATGGACGGCACCTGAAGCGCTTAGACAT AGTGTAAGTTTGGTTGAAAAATTGAAAAAAATTGAGAAATTTTTACAGAA TTTATTCTTTCAAAATTAATTTCATAAAAAGAAACAAAATCATTTCAATT TAAATTGGAATTTCGTATTCTTAAATTTTTAATTTAAAAAAATCGATATT TTTTAAATTTAACAAAATTTGAAAAAAGAAATCCGAAAATCCGCCGGAAA ATGCCTCAAAAATCTGCACTTTTTTTGAATTTTTGCCCAAATTTCTAGAA TTTTCCCTTACTTCATTTTCTTTCATAGCTTGAATATCAAAAATGGGAAA ATCTTGAAAAAAAATCCCAAAAAAATAAAAAACGAAAAAATCGATTTTCA AAAGTTTATTTTTTAAAAATTTTTGTGATTTTTTTCTGATAAAAATAGTT TGAAACTAGAATTTTTAGAAAATATCCAAATTTTCTAATAGTTCGCTGAA AAATGACTCAAAAATCACCAAAAAATATTGAATTTTCGCATAAATTTTTC AAAAATGGAATTTTTTTCATTAAAAATTAAGAATTTTTGCAATTTTCCCA AATTTTTTTTAGCAATTCACCACAAAATCCGATGTTTGGTCATTCGGCAT TCTTCTTTGGGAAATTTTTTCATTCGGACGAGTACCGTACCCAAGAATTG TGAGTTTTCAGACAACATTTTTTTAATTAAAAAAATTTCTCGTGTTTTTT CATATTATTCCTCGCTAGCTGTTGTTTTTATTTCTTGGTTGGGATCATTT CTTTTAAGGCTCCACGGAAAGGGAATCTGCGCGAGAATGAGATCTACGAA AATGAGCGACGATGCTAGGATGAAACGCGCGTTGTTTAGCATGTTTTTGA GACTTTTCAAAAATAGAGTTTTTAACCTTTTTCGTAGATCCTCTTCTCGT AGATTCCTTTTTCGTGGGTCCTCTTCCTATATTTTCGGCTTGGCCGAGTT TTCTCCCGGCCACGATCATCACTATTTTATTGATTTTTGTCATGATTTTC AGGGAGCCGATGGTCGTTCGGTATGTGTATATTGCATTTTTTCGTTAGGT TCTATTTTTTTCAAATTCTATCCACTTCTATTATACAATACATCTCACTA TCTTTTCCCCTGCCTGAAATTTTTGAAAAAAAATGAAGAAATTTTAATTT TAAACTTTTTCCAAAATTTTCCAAAAAAAAAAGTTTTTTATCAATTTTTT CAATAGCTCGAATTCTGAAAATGAAAAATGATGATAGAAATTGTTTTAAA AAAATGATTTTTTTTGTTGCAAAATTTAATTTTTAAATCGAAATACAACG TTTTTTTCAAAAAAAAAACACCTTATTCGAGACAAAAATAAGTTTCTTTT TTTTTCAAAATTGAACATTTGGATTTTCTGGAAAATTGAATAATTAAAAA AGATTAAATGTTCGAAAAAAAGAGAAATATATATTTATTGGCTTATTTGG AAAAATCAAAAAATAGTAAGAAAAAAATCAAAATTGTTCGATTTTTTATT TTTGTTTTGTTTCCGAAGATGTCCTTGTGGTATATAGTATTTTGGGTCCC ACCACGAAAATCGCCGTGCGCCTTTAAATTCGGCCGACCACGTCTCGCCT AAGTCCAGTCCCCCACTAATGTCAAAAAAAATTTTTTTTCGCAAAACCTG AATTTTGAAATCTTTTTTCCAAAAAAAAAAACGTTTTTTATTTAATTTTA AAAGAAAAAATTGGAAAAAAGTATTATTTTTTCTAATTTTGAACTTTTTA AAAAAATTATTACACATTATCTGGATTTTCAAAATTTTCCATATTCGATG TTAAAAATTATAAACATTTTTCAGAAAGGAACACCGAAATTTTTTTTAGA AAAAAGTCAAATTTGGAGCGAAAATTATGTTTTTCAACAATTTTTCAACA ATAATTTTGTTCAATTTTTTTTTTGGATCCAAAAAAATCTGTGTGTTTTT GTGTGATTTCCGGCACCCAACTCCCCAGAATTTCCCTCAAAAACTCTATT TTTTTCTCTGCTACCTCTTCTCAATCTTCTAATTAATTCTATGTTTTTTC ACTATTTTTTATTATTTTTTCACCCCTTTCAGAGCTCATTTAGAGCCCAA AAATAACCATCAGAAACACAAAAAAAACAACTTTTTTTTTCTTTTTGAAT TAATTTTTTCAGCCTATCCAAGACGTTGTGAGATATATTGAGAAGGGATA TCGAATGGAAGCACCTGAAGGATGTCCACCGGAAATTTTCAAGGTTATGA ATGAAACATGGGCTCTATCGGCACAAGATCGACCGTCTTTTGGACAGGTA GATTTTTTAAGGGAAATTTTTTAGAATTTTAAGACGAAAATCTGAAAAAA AAACCTACAATTATGGCAATTTTTGTGATGAAAATCTACAAAATTGAATT TTTTTTCGAAAACCTGATAGAAAAAAGAATAAAAATTAATTTGAAAAATG CCGTAAATTGACCAAAAATATGGAATTTTTACCAAAATTTCAGGGGTTTT TCAGATTTTACCAGAGTTTCTGCCTTATAAATTAAAAATTTCAAAGAGAA ATATCTTTTTAAAATCAGCATTTTTAGCAATTTTTGTGATGAAAATTGTT TAAAAATTGCCAAAAATGGGAATGTTTGAAGAAAATTCAGAAAAATCTAA ATTTTGGGCAATTTTTGCAATAAAATTGAAAGATTCGGAAAATAATAAAT TTTTCGAAATCCTGAAAAAATTTCACAATTTTTGCGAAAAGAATTGTAGA AAATTCGAAATTTTATTATTAAAAATATTGAAAAAAACAAAAAATTTCAA AAATCCGCCGAAAATGGCTTAAAAATCTAAAAGAAAAGATTTTTTGCATT AAATTTTATTGCATTAGTATTTGCGAAAAACAAACCCGAAAATTCACTCT AAAATTACAAAAATTTCAATTTTCTGAAGCTGCGTCCACAAAATGGCTTT AAAAATCATTTTCATGTACAATGTCAAAATTTTAAAAAAAGTGAAATTTT GTTCAGAAGTTACTATAATAAAGGTTTTTTGCTTTCCGGTCATTTTTTTG AATTTTGGAACATTAACCGAAAAAAAAATTCCGCATTTTTACCCTGAAAA ATGCGAAAATGTTTGAATTTTTTGAAAATTCCACTTAAATTTTTTATATT TTCAGGTCTTGCAACGATTGACAACCATCCGAAATACAGTATGACATCGG CGCACATCTCGAAACTTCCAGAAATCCATCGAATTTTCTAGTCCATATGA TGTTTCTGTTTTTTTTTCGCTGTTTTTTACACAAATTTTGTCATATTTTA TTGTAATTTCCCCCACACATTTTTAGGCATCGTTATTATATATTTTCTAA TCCGCTGCCGCGCATTTCGGGAGATCCTGGAATTTAAAGGCACAGCGGTG TTTTTGGATGGGTCCCACCGCGAAAATTATTATGCGCCTTTGAAATTTTT TTTTCGATATTCCTAAAAATCACAAAAAACATTTTTTTTTCTAAATTAGA GAAGTTTTAGCCTTTCTTTCGAAAAGTCGATTTTTTTGGTTTAAATTTTT CTCGATTTGAAAAAAATTTCAATTTTTAGTGAAATCAAAGAAAAAACATC AAGAAACTTCTATTCGAAAGAATTTTTTAAAATTGTATTTTCCGAAATAA TTTTCTCTGTTGGGTCTCACCACGAAAATCGTCATGCACCTTTAAATTTC CTTGCCCACACCTCTCCGAACGGCCGATACCCAATCTACGGTTTCTTCAA TTTTCCTCTGCATTTTTCATCGATTTTTAAAAATTTTTATCGAATATTTT CACGTTTAAAATTATTAATTTGCAACGAATTTCCCTCAACAAAAAATGCT CAAAACTCCGCCCCTTTATTGGCATAATTTTTGCCGCCACGGAAAATGCA ATAAATTTTATATTACTTTTCACCGATTTTTTAAGATTATTTTTAGAACT TTTAGTTTTTGTATGTGTGTGTGCTCGTAGTTTATCGGCAAGAAATTATT GTTTTTTTTTCTTAATTTTTAATAAGGGAACATTTTTTAAAGAGATTTTC AGAAAATCGGTAAAGATTTAAGATGCTCTGAATATGTCCAACTTCACAAG CTTCGTAGATTACGCGGAAAAGGTGATTTTGAATGTTGAATGTGCAAGTG CGCCCTATGGATAAATGGAGCAGCGTGGCAATTCGAAAAAATTTAAATAA AAACGTATTACTCGAAAGTTCACAGAGTTTTTCACCAAAAAATTGAAAAT TCGCTGAAAAAGTCGCGGGACATTCCATTTTTATTTTTCGGGAAGAAATT CGAGAATTGACTGAAAAAAGCGCGTCTTTATTCCAGAAATTTTAGCGGAA AATTCCAGATTTTTTTATTTAAAAAGACTCAAAACATGAAAAAAATATTC TGGAGAAATCAAAAATTGATTGAAAAGTTTCAGTTTTAGGCTAAAATTTT TTTGCGAAAAATTCATTTAGTTTTTGTTGGTAAAGTTCCGATTTTTCTGC AAAATTTGAATTTCTTTCTGAAAAAGTGCGTTTTTTTTTTCAAAAAATTC TTAAAATCGGAAATTTTTCGCCCCGAAACTGAACCGAAAAATTCGAAAAA TGAAGCGCGGTCAATTTTTGAATTTTGGCATTGAAAATATTCTGAAAAAT TCAAAAATTGACGGAAAAGCTCAAAGTTTTTCACAATATAATCGATATTT TCTCATTTTTCAATGTAAAAATCGATAGTTTCAGCCGCACGTCGCAGCAA CAAGCCAGACACCAATACCGCCGTCACCGTTGAACGAAAAACGGCCAATT CCACTGTTTCCAAGTGAATTTATCGATTTTTCTGTAGAAAAATCTGAAAA TTTCTGAATTTTCAGACGAAATCAGCAGCTCTTCGTGCGATGACGTCTCG TTTTCCATGCAATTCGGAGAATCTGAGCAGGGACATGTTATATGTACAAA AGTTCGACTTCGATTCTATCCTGCCGTGGTGAAAGAGGTTCGAAATTCAA AAAAAAAAGAAAACAATATTACTATACATTCGTAAAAATTAAATTTCAGT TTAAAGGCGCATCTCACATTTAAATATGCATTATTATTCATTAGTGTCGA CCCAGATTGAAAGCGCATGCAAATTTTGAACTTTAAAACTGGAAAAAAAA TTTTATTACACATTCGTGTAACATGAATATTCAGTTTAAAGGCGCGTGCT AGTTTTAAACTTCAAAAATTAAAAAAATATATATATATTCGTGAAAAAAT GTTCTTTTTAAAAGCTCTTTAAAAGTTTAAAAATGATTATTATACGTTTC TCAAAATTTTCAAAAATCAGGTCAAATGCACTTAGAATATTGGAAAATAT GAAGAAAAATCTTTATACATTCCTGAAAAAATACGCATGGTCCAAAAGTC GACAAATCGTGGCCCAATATTTTCTATTTTTTCAGAGAAATCTTCCGCAA AGGTCGAAATTTTTCGACGATTTCTACGATGTTCCGCTCACTGCGATCGC CAGAATTGAGGTGGCCATTGTGAAAGGTGAAAAATATTTTTACTTCAAAA AATTATTATATTAAATTTACACATACACATTCGTGAAAAAATTTTGCCGG TAAAAATAATGAAAAATATATACAGAAAAATACGGAAAATTTGGATGAAA AATATTTTTTGGTGACAATTAGAATATTACCCGCAAACAAAATTCAAATG AATTTTTTCAGTTTTTGAAAATCTAAACAAATTTCAAAATGTTATTATAG ATTCGTGAAAAATTAAAACTCAGTTTAAAGGCGCATTTCATATTCAAATG AGAATTATTAAACATCTTAAAGACATAAACAAAAAAAATGAAATCTGAAG AAGAAAAATTATACATTCGTGAAAGTTGGGAACAAAATTTTGTAATTTGA GTGCTTGACATCAGTTTAATAAAAAATTTTGAAACCAAGAATTTTCGAAA AAAAATCACGTATACCTAAAAACTTGTAGTTTTTTAAAGTTAGTAAACTA TTTTCTCTCAAAAATTCAAAAATATTCCAGGTAACAGTAAAGGAAAAGCG GACAAATTTCAACGCCTCGAGACAAGCCTATCAACAATGGAAACAGTATC AATAATTCGTCTAATATTAAAAGATGTCAGAGTTGTTACAATTGACTTGA GAAGATCTCAAAATGCAAATATATTGGCTAATCAAATACTCTACTTCTCG AAAAGTGGACCAATCGAAAAAATGACTCAAGTTGGAGCTGCTATGGAGGA GCGCGGTGTGAAGGCGAAAAGTAGGCATTGGATAATTAGTATTGGGGGTT GGGAGGGGAGGGAGGAAAGTTCGAGAAAATCGGAATATCTTATAAATATT AGGCCGTTTGATTAATAAATCGACACATCAAGTAAATAAATTTTGAAACA AATTAAAAATTTTAAACGTTTCGATTGATATATGTGTATCAATTTTTTAA AAGATGTATATTAGTAACAAACAAGAAATTTTTTATTCAATAAAAATATA CTACGGGAGCACTAAATTTTTAGAATGCGTATTGCACAACATATTGGACC AGATATCTCGTAGCGAAAACTACAGTAATTCTTTAAATGACTGGTGTCGA TTTACGGGCTCTTTTTTCATTTCTCCGTATTATTTTCTCTTTTTTGCTTA ATTTTAATATTCTATCTATAACTAAAAAATTAATTCATTTCGAAAATCTA GCCCGTAAATCGACACAAGCGCTACAGTAGTCATTTAAAGGATTACTGTA ATTTCGCTACGCGATACTTTGTGCGTCAAATATATTGTGCATTACGCATT TTCAGAATTTTGTATTCTCGTAAAATTTTCGAAAAAGTAAATCTTTTAAA AAACTTTTTATTAAATGAATAAAAACGCATTTTTTGGAGAATCGGATAAA AATAATTTATTTAAGTTTTGAAATTTTAATATTTTGAAAAAAAAACATTT TAATTGGAAAAAAATATGAAACTTTCTTTTGTAAATATGGTTTTTACAAA ATTCCCGAATGTCCAATATACAAACTTATCATTTTCCAGCAGCATTCAAT AGCTACGAAGCATGGCGTTCGGAACTCCAAAGGTGCCAGCAGAAGACGGA TTCAACGTCTGTCTGGAAAATTGTAGCACTTAACAAAGAAGGCTTCAACT ATGCGGCTCAGGGGTGCGATTTTTGGAAAAAAAAACTGGATTTCCGATTA AAAATATGTATAGTGTATGTATTTTTCAAATTTCCAGCTACCCTGTGTAC GTAGTAGTGAGCAACTTCTTGGATCGTGTGGACATTGAACGACAACTACA ACACTACAAACAAGGACGATTTCCGATTTGGGTGTGGTCTCGGGCGAACG GACACTCGGCGTTATTCGTTTCGGCGGATCACGAGAACAATATCGCGATG CCGGCGATTTTGGCGAAGTTAGTACATTATATTTTAAATTTGTAAAATGT TATTTTCTTCCAGAATGCAAGAAAGTATCACCCGTTGCCATCCGAATAAC GAGAAGCCGCATGTTATAAAATTGGACGTCGATTTTGTGTCGAATGTTGG AAAAGCTTTTGATAATCTTCTATCGCTTTGTGCAATTGGTGAGGGAGAGC ATTTCATATTTAAAAAAAAAATTATTCGCCGTATTTTCAGCTGTTTTATT TTCCATTATTTTCCATATAATATGCATTTTCCCAGACTCCTACGAGCAAT ACGTTACACTGCAAAACGGTTGGAATACGAAACTCTCGAGAACCGGATGG CTTCATCTCGTCAAGCTGTGCCTTCAGACTACCTATCAGACGATTCAATG GATTGTTGATAGAGATCGATCGGTTATTTTACAGGGTACTATCAATTTAG GTTTTATTCAGAGAGAGAGAGATAGCAATTTTCAAAATATTTACAAACGA GTTAGTCATTTACATCCACAATCGACTGATCAGAATCTGATTCGTGGCCG TTTTCCTCCGCCAGAACTTTAGGAACTTGCACCGAACTACTTGCTGCTTG ATCCTCCCCCTCCAGAGGATCTTCTCCAGATGGGATACAACTTTTGATGA AGCTGATCATCGGATCCTCCTCTCCATCATCCGAACTAGTTTGTCTGAGA AGAATATCAACCAGTGTCTGCATTAAATCACCGGGTTCCGTTCTTGCTCG TCGAGTACTCAAATTGTGTCGGCACATGAATTTGTCCAACCATCCGCGGG ATGCCTGAATGATAAAGGTGGAGTAGCGTCGAATAGTTATTTTTTATGTT TTTCATATACTCGTTTGCATTAAAGTAACGGCTCTCCTACCTTGAAATCC GAGTTCTGACTGATTTTCTTTGCCGTTTCACCGATGATTCTTCTGGTGAC TCGTTGTTTCTCCTTACGCTGATCGTGAACCCATTTAATCAATTCCTTAT CAACGTCGTCATACTTTAAAGGTCTTCCACCTCCCGAAAGTCGCTTTGTT GCAGTTGAGCCGTTGTCTTCTCTGAAAGTGTTATTTGCCAAAAGGCAGCA AGTCGAAAATTTTTCAAAAAGAAAATTTGAAATCGAACAGAGAATTTATG TTATGCCCGTATTTCAAAATATAGGAATAGTTGAAATGACTTCTTTTGAT AGGATTAATTATAAGCCTAGAAAAAATCATAGTATTTGGAATAAAAGGTC CATAAAAGGTTCTCAATTGATAGGGCTTGCATGTAGGCGTTAAACCCTGC CTTTAAGGCGACCTCCGCTTGCCTCTCGGTTACGCCTTACGTTGTGCTAA AACATAATCAATCTTTTTTTTTTTAATTTCTATTTTGATTTTCATCAAAT TGAGAGAAATGAGAAAATTAGAAATTTGTAAATTCACATAGGCGGGTTTC AAGCAGGACCCTGACACCGCGCATGCCTAACATGAAAGTCCTAGCCCTGG ACTATTTTTTTGAACACAAAAATATGTCCGAAGTGGCAAAACTTACAACT GCTTCTCGATTTCAGCTTTCTGGGCGATCCACTGTTGAATGTTTTGCCTA TTCACATTCAAATCCTTTGCTGCTTTCGATATATTCTTATGTTCAAGGGC ATAATTTATGGCATGCAGTTTGAACTTCAAGTCATACGTTCTTTTTCGAG TTTTTACAGGCACTTCTGTAGGGATTTCGCTCATTGGTTTTCTCTGAAAA ATAAGTATATAACAAGCAAAGTCTTAACTAGTCAGCAAGTTATTGGAAAT AAAACATGTGAGAAAAGCGAACGAAGGGGCAAGACTAATGGAGACAGCAA ATTGGCACACACGCAGAGAGACATGGCTAATAGAGTGTGCAAGACTATTA GAGGGTAGAGGCAGTGAGACGAATTTCCGACTGGTCAGAATGTAAAGGGG GTGCAAGGCTAATAGGAGGAGACAAGACAAATAGAAAAACTACATTATTA TATGAAAAGAGAGTAAGACTGAATACGTGTATGGGCACCCCACATATTTG TATGTAAGTAGTTATGTAAATGACTTTTTGGAATTGAAAAGAAAATACCA AGAAATGGAAAAAACCTCCGGTCAATCGTAAAAAAATTATGAAAGAAGTT CGATCTACTCGGCTACGATTTACAGTTTCCCTTACTGATTTCTACTAAAA TGCATTAATCTTGAGTTTATCTCTAACAAATTGATGGTACTTTTGAATGG TTATAACACCGGATATTTTGCAGAAGACGAAGGATCAGATATGTCGATTA TTGTGGCCAGCCTCACGCAAATGTGCTGTGATCCATTTTACAGAACAACT ACGGGTGAGTTTATTAAATGTTTTTTCTGTACTAAAAATGGGGTTTAAAA AACTAATTTTAATTTAGTTCTCTCCTTGTATTAATTTCCAAAATTTTCCG AAATTTTTTTTTCAATTTAAAAATCAATTTCAGGTCTTCAACAACTCATC GAAAAAATGTGGATTGCCCTTGGCCACCCATTTGGTGAACGGCTACTCGG AAGAACCGACGATGATCCATCGAGACGTGGAAAACCACAGAATAAAATGA GAACTGACGTCATGCCGACGTGGTTGCTCTTCTTGGATTGTGTTTCACAG CTACATCGAATATATACATTTGAGTAGGTTTGGTAAAAAAAATGTTTTCC CCCGCAAAAAAATGTTTTCCTCAAAAAATTTGAATTTCCCACCCAAAATT TTTCTCAAAAATTTTTTTAAAAATTAATTTTAAAATTGTTTTCTCAAAAA ATTTGAATCTCCCGGATTTAAAAATTCCAAAAATTCGTCTATCAATAAAT TTTATATTGTTTTCGAATTTCGAATCATAAAAATTAGTTTCAAGTTAACA CACCTTTTTTTTCAAATAATTTTTTTAAAAAATAATTTTAAAAACAATTA ATTTTTTTCCTATTTCCAGATTCACATTCTCTCCACACGTTCTCATTGCA CTATGGGATCTTTCATTAACTGGAATGGTTCCATCAATGGCTTGTAATAA TCTGGAAGAGCAATTACTCGCAAAAGTCGGCGGTGGACCATTCCCATTGG ATCGATATTTTGAGAAAAGCTACTCGAAATTATTTGGAAATATTTGGCAC GACGCAGTGCTTTTTATGGAATCTATTAAGAAAAGTTGGTGCTTTTTAAG AAAAAAATTTTATATCGATTGTTCTTTTCTTTTTGATTTCAGCTACTTTT TCACCTCGGTCAGCAACATTTTTTTGCAACATTTTGGACGTGGCCGCGAA AAAAAAATTGGTGGCCGAGTTTTCTTTTTTTTCACTGCCATTAATTTCCG AGAGGAAAATCTAGGAATTAAAATTTTTTCGAAAGTATACAATGTTGACC GAGAAAAAATCGGTGGCCGAATTTTCTCTTTCTTCTCTGCCACGTTATTT TAGTAAAAAATTAGAAAAAAAAACACAAAATGTTGTTCAAATTTTGGAAA AAGTCTGTAAAAACAACAAAAAATTGATGGCCGAGTTTTTTTTCCATTTT CGCGGCCACGTGACAAGCAGTGATTTCTCAAATGTTTTCAGGAAAAAAAA ACAGGCGGAATTCAGATAATTCTACGAAAACTATTTTTGTTTCTGGAAAA AAGTCAAAACTTGAAAATCGGTGGTCGAGTGTTCTCTTTTTTTGCGGCCT TATCTCGATTTTTCCAGATCAACCAGTGTGTGCTCACTCGAAATTCCTTC AATGTGAATTTATTCGGCCACCGACGTCGTTTTGCGATATTCAACTGTGG TCCGAGTGCTATCTTCGATGGATTCCTCCGGCAAACGGGAAAAATTCGGG AAAACTCGGCGAAGAACTCTCGCTGGACGAGAAAATGATCGAAATGGCCA AAAAATGGAACAGTTCCGAGTGGAAAATGCATTTGGACCTACCGGAAGAG GTGACCAAACTTTTCGGATTTATAGGCTCTAAACATATTTTTACTTTCAA TTCTTAAATTTTTAGTATTCATCTGCATATCCTTACTCGATTCCGGAGAT TTCCCGCCCAATAATGGATTTAAATGATTTTGATATGATCCGGCCGGATG ATTTCGACGCAATGTCCATGAATTCATCCATCAACTCATATTCGTTCGTT AATACGGTAGGGATACTTATTAGCTCGGAAAATAAATTACGACATATTTT GTCTCGAATTTTTTATAGGTGACTTATAATAGACATTTAGTGTCTAGGCA CACATAAAAGTTAGATCTTTTTCAGCTATCGTTTCGATACTTTCACACAA AAGTAGGTTTTTTTTCGCAACTTTGTAAATTGAAAAATCAATAGGTCGGC AAATAATTGTTGGCGTATTTTGTCAATTCACGATATTTATCAAAAATTTT ATATGTGACTTCTGGTAGAAATTTATTATGGTTGGCAATAAGTACTGAGT CAAAATTCATATAACTTGTTTTGTTGCTTATCGATTTTTTTTAATTGCCG GAGTTCATGTTATTAACTATGGGCTTTCATCTGAAAGTAGTCACAAAACA TTTTAAAAACTCGAAGTGATCCAAGTCGAAACAACTTTTTCAAGGTTTAC GCCCTCTTATTTTTTCTCTTATTTTCAGCATTGATATGAGTTTATGTACG GATCAAGAGTGTCGGTTTTTCGATTTTTGTATAAAATCGAAATTTTTTTT TTGATTTTTCGATTTTCCCTGAAAAACACACAATTGAAAAATGTCACTCT TGGTACGGATATTGCTAAATCTATTATACAATGTGAGAATCCAATAAAAG TTTTATATTTTATTTTTGCAGCCAGTTCGTAACAACACGACAACAGAATC AATATTCGATCATTCGACACTTGAGAAACGAAATCGTCGAGCAGCTGCCA CAATTGGCTCCGAATCGCCAGTTATTCAAATGAGACCAAAAGAGCAAATT GTCGGATATTCGAAATATGCATTTGATGATTCATTATCACCAAGACCACA TTCCCGAACTGTTGAGACGCCTATTTTAAAGAATGTACGGGATTTTTGGA AAATTTAAAATTTGGAAAATGAAAAATTCAAACAAAACAATTTTTTCGCT TTCAAATTTCATAAAAATTTATGTTAAAAATAGTTTTTAATTGAATTTTT AAAAAATTCTTACTGAAAACTTTCGAAATAATTAAAAAAAAAAACCAAAC TATATTTGTTTTTTTATTATTGAAAAAGTTAAAAAAAATGTTTTTTTTTG ATAATTTTACACTGCTCGCCTTCAAAATTTGATGAAAATCTTAATACTAG ATTTTTTTAATTTTTCATTTAAGACTTTTCGAAAAATTCGAAAGTTCAAA AAAAAAAATCCAAAAAAAATTTCACTCAAATCAATCGCCTTCAAAATTTG ATAAAAACTCGATGAAAATTTTGTGGAATTAAAATGTTTAATTTATCATT CTGAGGCACCACGTTTTCAAGATCTGGTGGGATTCCGGATCTACATTCTT CATTTCAGCGCAAAATCCCTAAATCCGGAATTCCACCGAATCTTGAAACC GTGGTGCCTCATCATTCTACCTTTAAAAACTCGAAATTATAAAAAATTCT GCAAAACTCTAAAAAAATTTGATTTTCGATTTTCGAAAATTTATCTTTTT TTGTATTTAACATTCAATAAAATATTGATGAAAAAATTTCTAGAATCATA TTTTTAAATTTTGCTTTACAAAATTTTTTAAAAATCTACAATCGTTCACT TTCTTGCCTTCAAAATTTGAATGAAGAAAAAATTTCAAAAACTTTAAGAA TTAAATTTAAAATGTGCTCAAAAAATTCTTTAAAAATATGCGTTTCCCTA ATAATTTCCATGTTTCAGTCCCCATCGCCCTCCTACACCCCATTTCACCC GACGCCCGTTCACCGGAGCAACACCGTCCGTGCCGACAATCGCCCAATTC CCCCGCCCCGGCCGCAGGGCCTAGGAACACTGACCCCATCACGCCCCGAG ATAAGAGCTCATCGAGATGATATAGAGAGCCCTACTATTCGGGTCACAAG ATTTTGAAGAAAAAGTTATACTTTTATTTTAATTTCCGCTCAAAATCGGA ATTTTCTATAAATATGCCCCTTTAAATTGAGCTACAGTAGTCACGTCGAA AAATTTTCAATTTTTTTGAATTTTTTGAATTTTTTCATCCAGTTATAAAA AAAAGCTTGCCCCTCAGCTCTACCCCATTTTTCTTTCATTTGTCACCTAC TTCCTTCATATATGCCCGGTTAATTATGTATTTTTTGATGCTTTTTTAGT CCCGCCACGGTTTTTTTCATTTCGAAAAGTCGATCGATTATCGATTTTTT CGAAAATTTGGAAAATTTGGAGAAAATCTAAATATTATCGATTTTAAGCT AAAATTTTAAGATTTTATTTTTTCAAATAAAATTTTGGAAATGTTTTTTT GAAAAAAAAAGTGCAAAAAACACTCAAGGGAAAATTTTTAAAAAATTGGA AAAAATCTTGAAAGTTTGTCGATTTTTCAGTGTGCATTTTGGAGTTATCG GTTTTCTTTCCGAATTTTCATCAAATTTATTTTTGATCTACCAAAAAATC TCTAAAACCCCGTGGCGGGAACCTACTTCACTTTTATTCTGCATAATTAG ACAAAAATGTGATTATTTTCTCATTTCAAAACTTGTTACATATTTTGTGT TGTGATACATATGTCTAAATTTTTACGGACTGAAAAAATACTTTTTTCTT AATGTTTTTGAAATTTTCATTATTGGTGGCGTCATCCATGTCTATTTGAT TTTCCAGACCCCCCCCCCCCCCTCTAAAATGAAAAGAACAAGACGATTGA CAGCTAGCATGTGCGACGATCAAAGTACCGATTTGATTCAGTTGAAGGGA CACGAGAACGCGAAAAAGTCGGAAGCCCATCTGAAAGTGCTGGAATACAT TGGCAAACGCTATGAAATTCGAATGACCGACGGGCGGTACATACGTGGCA CGATGATCGCCACTGACAAGGACGCTAATATGGTTTTCAACAAGGTAAAA ATTTGATGAAAATTTGGTCCAAAAGCTCATAGTTTCAAATATTTTTCCTT AAAATTATGCGCCGCAGGCAAAACAACATTCCGCCTTTTTCTATTGCTGG CTTAGTTTTCGCAATTTTCTCGGCTACCAGGCTACTGCAAAAATGATCGA TCCGTGAATTGTGCAAACATCTGAGTTACACAGAGAGTGGGGCGGAGCGG AACATCGCAACACTGCCGCATGGTTTTTCCACAACTTTTTTTTTCAAGAA AGTTTCGATTGTACTTGTTTTTTCTCTTTTTTGTATAAAAATGGTATTCA TTCTAAATAATTCACATATGCTAAATTGCATATAAAAACATGGAATATCC TCTCAAATTAAGAGTCTTAATCTTATTAGAATTAAATTGGATATCATTTT CATTCGAAAAGAAAGAGAAAGAAACAAGTAAAATCGAAACTTTTTTGAAA AAAATGCTTGATTTTATTTCATTTTCGTTGTTTTTTTTTCAGTATTTAAC TTTTGAACGATCGATTATTTATAAGGTTTGCGGTTAAAAACGATGAATTT CGTGTTTTTCTTTTCTGGATTCAAATGACAAGTTTTAACCAATTCGAATG TCAAACACGGAAAAATAAGCGAAAATAACAAAAAATCGTGTATTGTAACC AAAAAGTTCTCCACGAGTAGTACACTAGAGCCGACGCGCCGCAGGTTTGC AAAACAACGCCCACCCCGTTTTCTGCGCGGCACTACACAATTTTCTATCT CACGAATAAATATTTCAGAAAAGGCAGGATTTTGTCTGAAAATCATGAAA AATCAAGTTTTTTTCAGGTTTCCAACGCTGAAATGGTTGGAATTAGGGTT TGTTACCAAAAATCGTATAATATTAAAATCCCAGTGCTTCTCTGTCTTTC AGCAATTTCTTTTAATTTCCAGGCAGACGAGCGATGGGACAAAGATCCAC AATTGAAAGGAGTCCGATTTCTAGGGCAAGCGATGATCTCGAAAAAGCAC GTGGAATCGATGCACGCGTTGCCGGACCCTAAAGAAACTGAAATTTGATC CAGTTTTCTTATTTTCTCTAATTTATCCCATCCTTTTCTTGTCAAGATTA ATATAAATTAATTTTTATCGAAGCGATTTTTGTTCATCTCATCCAAATAT GAAAAAACATTCGAAAAAAAATCGCAGGCTTCACTTGGAACCGCGCGCCA TCAGTTGAAAATGCTGAATATGTACAAAGACTGGAAAATATTAAATTTTT ATGTTTAAAATTTCACGTTTTTCGTGTTTTCCACAAAAAAGCAATGCATT GTCGTTTTTCAAAAAACACTCATGGTAAACGAAGTCCCCGTGGAGTACAC GACAATGTCGCATCGAGACCCAAACTGGGAAACGCCTGCGCCTTTAATTT TAGGAGTTTAATTTTCGAATTTCGAGTTATTTTTTTCTCAAGTCTTTTTG CGACTTTTTTTTGAATATTTTATTACTTGTAGCGCTGAAATATGACAGTT ATTATAGCGTCACACTGGGGACCTCAATCAAAACAGGTATTTTTCAAAAT TTCGCCGTAAAATCTAATAACCAATTTTGAGATGTTGCCACCCGAGCCCC CACGGATAATTCTGAGAGAAGTTCCGGTCCAGAATAACCAGAAAGAGCAT CCACCGGTTCAGGAGATCAAAACCGTGTCCAGCAAGTCGAAGGAACATCG CGTCAGTTCGAGCCGGAAAATTCCGGATCACTTCGACGTGGGCCCACGGT TCTACATGAATGTCCCCGCAGATGGCTCAGAAGTGTTCGAGGACGACGAA AAAGACGTCGAGAACGAGTGTTGGGCGGTGATCGAAAGAATAGGAAGCGA GGATGACAAGTTCGAGGCCTCTGAGCTTGTCGAGTACCGCGATCACGATT GGTACATCGCTTTGGCGATTAATAAGGAGAAAACGCCGGATAAGGCGAAT TATCAAGTAGGAATTACGAAAAAAATTTTGATTTTCAATCTCATTTTTTA AATTTCAGCACCTACTCTACAGCTATCGAGGCGGAATCCAACGCATAATT CTCACGCCTCAACAGACGGATTCGATCGACAAAACGCCGCTAGTGAAGTA CAAAATCATCGGAGACGGTCTGTACGAAGTGCTTCCGATTCACTCGTCCC TTCCTCAAACTGGTCTAATCAGTCCCAAATATCGTTACAACAAAGGCGTC GAGCTTCGGATTTTCGGGATAGTGAATTGGATTGATTTTGTGTTGGACGA CGATCATCAGACGCACAGGACGATGGTTTGGACAGATGCGGTCGGACCGA TCTATCTGAGTGCCGCGGATCGAGCCAATATTCGACGGAAGCTGCTGCTG ACCGAGATGCAGATTTTCGCGCCGTTGCGAATGTGCCATATTACTGTCAA GGCGGAATTTAACTTGTTAGTTAAAAAAAACGCGTAAAAAGAATAATAGT TCCAAATTTTCAGCTCGATTCCCGATGGTTCCCCGATTCAATGGACCATA TCATCGTTCCAGCCACTCATCGAAGAATCAGAGAAGGATCCGAATATTGG GCGCAATTTATGGCCAGCGAGAGTGCTCAGATTCGATGATTTAGTCGTTA CAAAGAAGGTGCTTAATCATTTTAATATTAAATTTTAACAGCATTTATAA TTATTTATCTATTTCCAGACACCGAACGGCTACTGGCTGAAGTCTCAAAG ATTGGAGGGTCACGTTAATGTGTTCGCCGGTGCAAATCAAATCGGAATCA TTGAGTCGGCGGGTGAAAAATACGCGACGAAGGGAAGCATGATGGCGTTC GTGGTTCCGTGCTATCAGAACAGCACGTTTGCATATTTCGAAGCACTTAT CGCCGGACCCCCGCGAGTCGTGATGATTATTACCGAAGGACGCTTTCTGA ATTATTGCCCGAAGACGTGGCCACCGTCTGTTCGGAAAATGCGTGATCAG TATCAGAAAGAGCACGTTGTAAGCACAATTTTCCAGAGAAAAAGGCTTTC GATAAATTTTCTTATTTTCAGCTGAAATCCGAAGTCCGAAGTTCACCAAT CTGCATGAAACAGCCGGATTATTGCCTCAAATCACTACGAGGATTCAGCG AGTGCCCATTTTGATCACTCAAAGTTTTATATATTTCTGTATTTCTTCTG CCTTATTTTAAAAAGTATTTTCCCGTTTTTTTTCTTTTGTTCAATTTTCC CTTTTTCTTTACTTGTTATGTCCTATGTTTCATGCTAAATTAACGTATAT TTTTAATTAGCAATTAAAAAACTTTCTGATTAACTGCCAGTTTTTGAGAA GAACCAGAAGATGGAACGCAGGCGAGTTTCTGAAACGGAAAGGGTTTGAA ATTTTTATCAATCAAACAAACTCGCAATTTTATCAAAAACCATGCCGTCG TTGCAAGTTTGAAAAAACCACATATATTTGCAACATTGATAGAATATCAT TGGATCGTATGGATCCGCCATGGCCAGACCATCATATTGACATGTACCGT TTAATGGGTTCGGTACCGCTGAAAAGTTGTTGGTCTCGCAGCGAAGTACT ACAGTAATCGGGAAAAAGCGCTGTTTATTATCGATTTTTCAATTAAAAAT CAATAAACTCGCCGCGAGATCCAAACCTCAACTTACGATAGCTTTTTGTA GGAGTCGATTGTCCATCGACAAGGAAGCCAGCAACTAGGAAAATTTTGAT AGGGAGAAGCATTGAAATTTAATTGTTTTTGGGGGTTTCGTTTGGTTTTT ATAGGAATTTTTGAGCTGTAAGAAAACAAAGCAACATTTATTTCAATTAA AACCGGAAAATATGAGTCATTATGGGGGGTTTTCAACCGTACGGAATTTG ACAAATTTGAAACTACCATAAAATGGTTAGTTTTGTAGTTAGAGAACTCA AAATTGATTTTCTAAGACAAAAAAATTGCCCTTTTTCAGAATATAGTAGG TTTGTATAATTTCCAAAAAATTATTTTTCTTGCCCAAAAAAAAAAGGACA GTCATTAGATGGCTGAAAAAAAAGTGGGCAAAAATAAAAAGTGTCTAATT TTGTTGAAAACGGGTAATTAATATATGCAGAATTCAGAAAATCTAGGTTT AACCCATCAAAAACCATTAAAAAGTGGCAAAATTTGGCAATTTTTGCAAA AACTCACAATTTTGAAACTCCTCTAAATTGGTTCAATTTGTAGCTAGAGA ACTTAAAATTGGTCTCCAAGCCCTAAAAAATTGTCCTTTTTCAAAATATA ATAGTTTTAAACGTTTTTAGAAAATTTATTTTTCTTGCCCAAAAAAAAGG ACAGTCATTAGATGGCTGAAAAAAATTGGGCAAAAATAAAAACTTGTCTA ATTTTGTTGAAAACGGGTAATTCATATATGCAGAATTCAGAAAATCTAGG TTTAACCCATCAAAAACCATTAAAAATCTAAAATGATTAATTTTCTAGTT AAAGGATTCAAAATTGATCTTCGAACACTAAAAAGTTGTCAAGTATCCAA AAAAAGTGGTTCAATTTAAAAAAAATTGGTCAGGGAAAATTATCGATTTT TTCGCCGCTTCGCAACTTGGACGAATTTTTCTTTCGCTGCACAAAAATCA ATAATTATTGATTTTTTTTCTAAAACAGAAAAATAGATATTTGCACTTTT CTGAAAAATCGATATTAAACGGAAATTCGCAAAAATCGATGGTCACTAAT TTTTTTGCAAAACCCCAGTAAAAAATCGCTTTTTTCGCCGCATTTCCTAA CTTTTTCTATGCCACCACTATTGATTTTTTTTCCAGAAATCTTGGAGCTT CCCAAACCCGCTCATCAGCCCGCGTGCTTCATCAATCATTCCGTTGAGAA CTATGAATTTTTCGAATGAAAATTAAAAAGAGGGGGATTTATTAGACTGA AAAAGTGTTTTTGTGCCACGTGGCGGCGGCCGAATTCTCCTGGACGGGAA TTTCTAGGCCATGCTTGGGGGAGATGAGGAGATGGGGGTCAACTTCAAAT GTGTGTAACAAAATAGAAAAAAAACTATAAAAGGTAAGAGGAGATCAAAG GTCACGCCACTAGGGCTTGAAAAATGAATGCCTGCCTACAAATAGACATG TAGGAATGTAGGCAGGCAGACAAAAAGTGGGTGAACAACGAGAAAAGGCA CGTAAAAAGGGGTAAAGGTTAGAGAAAAAGAAAAAAAAAGCTCACAGAGC ACATTAAAAATGGAAAAAAACGAGATCATTGGATATTCTGCTGCCGTTGA TCATCGTCATCATGAATGATCAGCTGATTGGGGTCGACTATCACATCATC TGGGTTCACGAGAGCATCTTCTTCGAGCAGCTCATGCGGAGGATGATCGT CGTGATGATTTGGCTCTTCCACAACCACTTGTTCGAGGACATCTGGAATT TATAGAATTAAAAAATACATTTTTTAGACAAGAAATCGACAAATTTCTGT GTTTATTTCTATTTTTCAGATAATTCCACACAATTAGATAGTTATTGAGT TTTCTTTCTATAAATTTCAAAAAAAAAAACGATAATTATTGATTTTTTTT TAAATCAAAAACTTCACAAAACTCAATAATTATATATTTTTCGTCCTCAT TCTCTTTCGGTTTTGTGTGTGTGTGAGTTTTTTTGAAAAACGCAAAATTT TCTGTGATATTTCTATTTTTTAACCTGACATGGGCAGTTTTTGAAAAAAT TTTGCAATATTTTCGGTGTTCTTTCTCAGAAAAACTCGAAAAATTGCAAA ATAAATGTAAAATTTATCAAAAATTACACATTTTCGGTCAACCTTTTGCT CAGAGAAACTAGAAAAAAAATTTCAATTTTTTTGGAAACCTGCCAAAAAA TGAAGTTTCAGTGAAACATTTTTTTTATCTTTTTTCGAAAATTTAATACA TTTTTTTGCAATTTTTTAATATCAATCCGTTCTCACATTTTTTGGTAAAA ATATGAGGAAAATGAATACATTTTGGATTTTTTCAGAAAATCTGTTTACC ATTAATCTGCTTCTCCCCAGTATAAACTTTAGGCTCATTCTCGTGCACTT CTTCTTCCAAATTAACATCATCACCAACTGTCCCAATAACTTCTTCCTCG ACAATTTCCTCAACAATTGCTCCATCAGGAGCCATATGCAAATGCATTTC TCCATTATCCATTTCTTCTCCAGCCATTATTTCGACTCCAAACGTGTGAT TCACTATTTGCAAGAGACGATGTTCGCTTTTTTCGAAGAGCATTTTGAAG AGCAAATCGAATGTCTCGTTGTCGGTTGCTGAGCCAAATGAGTTCTTGGC AATACGGAAGAGAGCCTCGTTTCGACTTGTTCCACGCGCCATTCCAGATT GTGATAGAGGCTGGAAATATTACTATTTCAGATTTTTAGATTAAATGTGG AGCTGGGAAATTCGAGTTTTCGACGAAAAAATAGCCTTTCAAAAGATTAT TTTCAGATATGTTTAAAAAAATTCCGTTGAAAACGACGAAATTAGATAAA AATTGGATTTTCAGCACATACACGGGCGTTTGATTACGTGGCCGTGAAAA CGGAGAAACTCGGCCACGTAGAAACAAAACCGAAAATTGCAGAAAATCCA GGAATTTTTTTTAATGACTCCGAAATTTCCCCGATTCCGAATAATATATA TGAATGAATATATACTTCTGAAAAATTTCAAAACCTTTGCTCACCAAGCC ACTACTCTGCTGCCCAAAATTTTTAGGCTCCTGATATTTCGCCTTTCTAT ACGGCAGCTGAATCTGTTGCTGGGATGATGATGGTTGCTGAATCTCTTCG GTATGTGAAACCTGAAGCTCTCGCTCGTCGAGCATCTCCTCAAGATGCAC ATTTTTCTTTCTGGATCCTCCTTCTGAAGCTTCTGCTGAAGCTCCAGCCG TGTCAGTCGTCCAATCATCCACAAAATCACCCGCCGCCGCCGAAACAATC ATCTCATTCTTCAACTCGTACGGATCATGATCATCTTCAGCATCCCGAAT ACCATCAGTCGCCGCCATAATCTCACGACGTCGTACATAATAGAGCATCT TCGTGTTCACCTGAATCCCATACTTCTCCAAAATCACTTTAGCCACCTCG GCAGGTGTCATTCTCGCGAGCAGCCGGAGCACATCCTCCCGAATGTGTGG TGGAAGACGTTGAAGTGAGTATTCTTGAGCGGAGCTCATCGTGCTCACGT TAACCGGAGCCGGCATCTCGCCGGGCTCAGTGTACCAGTAAATGATCATT GCGTTGCCGATTTGATGGCCATTCTTCAACACGTACGTCACCTTCTTGCG AAGACGTGGACAACGTGGAAGGGTGGCTGTGTAGACGTGAAGCTGGAATT CGATGAGATCCGAACGATGGGATGATGGTGTCTTCCAGATGCGTAGTTGA CCTTCTCGATTCAGTGCGAGCGCTTGTTTCGCAGATTTTGGACGTTTTGT GATGCCGTCTGAAAAACAGAAAAAAAATTAAGTTTGGAGCATCTTGAATT TGCCTTTTTTACTTTCGGAACGTCCCACTTTTGCTGATTTTTCGTGTTTT TTTTTCTGGAATTTTGGAATTACAGGGAATATCTCTCCAAACCAATTACA GGGAATATCTCTCCAAACTGGCCGTCGCAGGAAGACTTCACTTTTAAATT GTTTTACCTGTAGGCACAAAAGCAAAAGAGGAGAGCCTACATCTTTGTAT CTTCGATAAATTCGTTAAAAGTTCTTTTGTCTTTATTCATTTTTCAAATT ATTTTCCAATGTTTTAAAAACATTTTTTCTAAACTTTACAGTAATTTGGG CTATTTTCACTATTTTTCAACTTTTTGACGCGTTTTTAATTCTTCATTTC AACCTCATTTTGTCCAAACTTTCTCAAATTTCCACATAATATGGCCGATT TTCATGAAATTTTCATAATTTACACCAATATATTCAATTTTTAACCTCAT TTTTTTCACAGAAATTCCCAACATTTTCACATATTTTTCATGACAAATTT GAATTATTTCAATGTTTTCCAAACTTACGAGGATTGGTGCTAGTATTCTC TGACCACGGAACCAGTCCATCACACGTCAAATTTCTTGCATCAACCTCGA GCCCATCAATAAAGAAAACGAATGCGGCTTTGCCAGTTGTGGCTGGCGGA AGGGCCGGTACTCGATTGTTGAGGCATCCGAGGGACTCACTGCAAAAAAA TCATCGTTTTTTCTAGAAATGGATCGATGTTTGTGTAACTTTATCGATTT GCTAGAATATTATCGATTATTCCGAAAAAAAATTTTAAAACAACAACTGT ATTTCTATTTTTATTTTTTTAAAGATAGACTTCCAGATCATATTTTTTTT GAAAATTTATTTAAAAAATTATCGATTTCTCTAGGAAAAATATCGGCTAT TCTCGAAACTTGTGGATTTCCCTAGAGATTTATCGATTTCTGAAAAAATT ATCGAATTTTCTAGAAATTTTGCAAATTTTTTCATAAAATTATCGATTTT TCTGAAATATATCGACTTTTCGCCCAAAAAGTACGTACATCAATGAAGGC TTATTGACAAGAAAGTGTAATTGTCGATTCCTATCATTCCAGAACTCCAT ATCCAACAGCTGAAGATACAAACTACCATCATCGGCGGCTTGTGCTGGCA CAGCAAACGGGCATTCTTTCTCGCATTCCGACATATCCGACACATCATTA TCGATATCATGTATCTGCGTTGGCTGGAAAAATGGATCCTACACGCGTTG AGCACACACTTTGTGAGCTCTGCGAGAGCTCAATGAGAACCTACCGGTCG TTTTGTGGCTCGTTTCGCGAATCGTTTCAAATATCCGCCATGCATTCGTG GTAGCTCGCCTTCCTGATTATAGTCGTACATGATGAGCGCATGGCTCACC ACGAGCCGTGATTCGGTTTCCATCATGTAATAGATTTTTTTGCGTAGTCG TGGCTCGCGTGGATTGATGGAATACAGGAATACCAAGTGGAATGGGCACG TTTTGTAGTCCATGTTGTCTTTGGTCTGTGAGGGGTTTTGGATATTATTA CGGGAGGCATAAAATTCTGAGAATGCGTATTGCACAGCATATAGACCAGA TCCGTAAATCAACACAAGCCCTACAGTAGTTATTTAATAAATTACTGTAG TTTTTGCTGCGAGATATTTTGCGCGTCAAATGTGTTGCGAAATACGAATT CTCAGAATTTTTTGTTCCTAAGAACAGCTCGTCAATTTTTTTTTCAGTTT TTCAGGGTTATTCAAAAAAAACCTGTTTTTAAAGCTTCTAGGTCTCATAT TTAAAAAGTTTTGAGAATTTAATACATTTTTTTTAATAGAAATTTGGCAA TTTTTTCATCACCTCATCGTCGATTATTCTTTTTGAAAAATTTTCGATTT TTATGGGAATATATTTATTTTCCAAGAAGATTAACTTTTTTTCAAGAAAT CTGAAAATTTATCAATTTTTCAAAAGAAATTAATGAATTTTATCAAAAAA AGAATAACTTTTCCAGAAAATATTTTTTTTTCTTAAAAATTAAAAAAAAA TTGTTAAATCGCTTTTTGTGTCAATTTTTCAAAAAAAAAAAAGAGGCATC GAGAATATCCCATTTTTTTCGAAAAAAATTTTTTGGTTATTTTTCTTTTT TTAGATAAAATGTATATACTTTTTTAAAAATGTTTTTTCACCAACAAATT TTGATATTAAAAAGTTGGAATTTTATGACTAAATTATGGAAAACTTTTTC GATTTTTAGAAAATCGGAAAATTTTGAAAGTGGGCGTCGTCAAAAAATTT AATTTTTTAAGAAATTATAGAAAATATGCTGATTTTGGTATTTTTGGAGA GCGTCGATTTCCATCGGATTTTTTTGGTTGTTTTCCCTGGGATCCATGTA ACACCTGAAACTGTGATCCCAGCTCATCACAAATCACTCCGACTTTGCGA ACTTTCGTCCGATAGCACGTCGGATTCTGTGCATTTCCATTATGAGACCA TGGCGAGAAGTCGTCACGATTGATGTCGTGTGGAAAGATGGCTGTCCCGG CGACGAAGAATGCGTACGCACGAGAATTACGAACAATTGGTGGGTGTCCC GGCTTCGCGTAGTTCAGCAGACCACGTTCTTCGCTGGAAAAATGATGATT ATATCGAAACATTCGAGGAAAATGGATAGAAAAAACGAAAAATTCAATTT TTATCAAAGTTCGTTTATGTTGATGAAAACATTATTACGGGAACACAAAA TTCTGAGAATGCGTATTGTGCAAAGTATCTCGTAGCGAAAACTACAGTTA TTCTTCAAATGACTACTGTACCTATTGTGTCGATTTACGGAAATAATTTA TAAATCGATAAAACAGTAGTTATTTTTAGAATTACTGTAGTCCTCGCCAC GAGATATTTTGCGCGTCAAATATGATGCACAATACGCATTCTCCAAATTT TGTGTTCCGTAATAAAAAATAAAGTTGTTAGATGAATATTCAGGGTCTCA ACAAAATTTAATCTGTGTTTTCAGTTTTCATGTTTTTAGAGTGGAAAACG TTTTTTTTTCAGAAAACAGTCAGAAATGTAGATTTTGTTCCATATTTCAA AAAATCATTTAAAAAATATAGAACATTTTTTTGAAAAATCAAATTTCTCC AGAGTGTAGTACGCCATTAAAGGTCTCGTCACGATTTTGTTTGTTTTCAA TTTTTAAGTTTTTGAAGTAGAAAATTATTTTTTTTAGGAAAATTTTTCGT CGATTTCGTTGAAAATTCGCTAATAAACGGGGATTAAAAAAAACGAAATT TTCCAATTTTTCGAAAAAAAAAATCGAAAAATTCCTCCCAAACTTACACA ACATTGGTATTAGCAATCCACTCCAACACGGCCTCAAACGTGCTGGCGAC CCTCTTATGTCGAACAGTCAAGTAGATATGTCCCGTTTCCAATTGCCGGG GATTCTCAAAATAGGGCGCCGGGTTCTCCTGCTGAGTAAGCGGATCATCG TCAAACTCCAAATCGTAGCCATTGTTGAGCACATCCTCTTGAGACATATC CAACAAATCATCGTCTAGCAGATGTCCCTGAGCGTCTTGAGCAATCGAAA CATCTTGCATTAGCTGATGTTGCTGCTGCTGGTGCTGATCGTGTTGAAGC TGGATCTGATCTAGGGAATCATTGTGATGTCCGATGACTTCTTCTTCCAC AACTTCCAAATCTTCTACATCTATAAATTGTTCTTCATCATTCGGTGCAG CAGATGATGTAGATGGATCTTGTGATGTATCAATCTTCTTCTGATCGTCG ATCCATTTCGATCCTCCAACACCTCGTCCAGGTGTTCCAGGTGGTTTAAC ATACGGACACGGAACCGGACCATCTCTCACATATTCATAGATATAACACA CATTTCCGATCGTAATCGTATTGTTGCGTTGAATATAAATGAGACGCTTC CGAAGACGGGGACATCTCGCCAGGACGGACATTGTTTCGACGAGACACAA CTGTGACGAGTGCCAGCCGCCAGCCGTGTCTTTTGCCATTTGGAACTGGC CGTTGTCGTCTTGGACGATGGCTCGGCGAGTTGAGCGGACGCGGGGTGAC GGACCTTCCGAGGCAGCTGAAATTAATGAAACTACGGCACTCTGTACATC TCCGGAGGCACCACGTTTTCAAGATCTACCAAAACAAGATCTACTATTTG GAGATCTACGAAAACAAAATCTACGTTTTCAAGAAATGGTACCATGCTAA TTGCAGTTTTCGCAGTTTTCTCGAAGAACAACAAATCAACAATGTTGACC GCCCAGTGTGCTCCGATGTCGCGTGTTGTTTAGCGTTTAGAAAAATCTTT TTTGAAAGAAAAACTTCAGGAGAACGATAAACAACGCACGATGAGTAATA TGGAAGAATTTTTGTTTCGTTTTTCTTTGAGAAAACTGCGAAAAAGTGCT AGATCCTGAAAACGTATATCTTGTTTTGGTAGATCTTATTTTCGTAGATC TTGTTTTTGAACAGATCTCGAAAACGTGATGCCTCAATCTTCTGCAGTTG CCGAATTTTCACATTTTTAAACCTTAAAACATATTTTTTCTAAAACTTTT CCAAAAATCGATTTCTTCGTTTTCACGATTTTTTTCAGAGAAAATATAGA AAATCGAAAATTTGTAAATTTTCGATTGAAAAAATGGAAAAATTACAGGA AATTATTGAAGATTTAAACTTGTTTCTAAACAATCGAAAATTATCGTTTT TTTTCTTTTGGAAATTTTTTTTTGGATTTTTCCCAAAATGGTGGTTTTTG AAATCAAAAAGCGTTAAAAACAAATTTCTTTTAAAATTACCGGAAATTAT TTTAGAAAATTTCCGAAAAGTCAATAAATTAAAAAATCGAACAAGAGAAA GAGTTATTAAATTAAACAAAAACAATTTCACAAAAGTCGATAACTATTGA TTTTTCATCAGAATTTCCTAAAAGTCGATATTTTTAAACCTTCTGATAAA TTCTTTTTTTGTTAAAAAAAACTTTCGATTGATTAGAAACACGTTTAAAT CTTTAATAACTTCCTGTAATTTTTCCTTTTTTTAATCGAAAATTTACAAT TTTAATTTATTCTTTTAAAAAAATCAAAAAACGAAGAAATTGTTCGTTTT TTCTGGAAAAATTAATTCTTCGGCTCGAAATTTCGATGATTTCTTTTTAG AAAAAAATATATGTAAAAAATTATACAATTTCAAATAAAACACTGTTTTT TTTCTTTTGATATTGAAAATAGTAGAAATTTTTCAATAAAAATTCCAATT GTTCACTCAAAATTTCAAATTTTCGACAAAAAAACTTACGATTAACAGTC CACGGTGACAGTCCATCGCCAGTATGATTAATCTGATTTGCAACAAAATT CGCCGGCACAAAGTACACAAAAACGCCGGTTGTCGGAATAAGTGGCGGTA GGTACGGTGTTCGGCGATTCAAACAATTCGATTGGCTCAGCAGCTCGGGC TCATTCACCAAATATCGGAGGAGAAGCTTCTTGTTGTGTGCCCAACCGAG TTTTGCAAGTTTTACGCGAAGAAACATTCCACCACGTGGTCCTTCCACTA TCTCGTCTTCGAACTGGGAATTTTTTTTTGATGAATTTGAGAAAAATAGT TTAAATCTTTATATTTCAGTTTGAAATCGCCGAATTTCAGTTGTGCACCT TCGTGTATATTTACGATATGTTTAATCTTTTTCGGATGCTGATTTCCGAT CTTTAACGGTTTTCCTTCATTTTCGTCGGTTTTTTTTGGATATGTGTTTT TGAGGTCAATTAATGAACCATTTTATTATCAGAAAACTAGCAAAATGTTC AATACTCGACAGAAAATCCATATGCTATATGCTTTTCTCGACTGAAAACC GGAAATGTTGCTAGTTTTTGATAATAAAATGTTAAATTAACACATTTTCA AAAAAAAAACACTTCTACAAAAACCGACGAAAATTAAAGAAAATCGTTGA AAAAACGAAAATCAACACCCGATAAAGATTAAGCATTTCGTAAATATACA CGAATTTGGTAAATCGACACATGGCATCTCTAGCGCGAAAATTCGAAATT CGTAATTTCCAGCTGAAATATTAAATCAGGGAATTTTTCTGAATATTTCA CTTAGATATTCGGAATCAGGGAAAAATTTGGAGTTCTTATAAAAAAATTT ACTAAGCAAAGTTTTAGCAATTTAGGTTCTAATAGGCTTTACAAATATCA AAAAGTCCCGATTTTTCAAGGATCTATATATATTTTTAGAACCACAGATT TTTTGCTGTTTTTCAGCATTCTCGGAAGACCATACCGGTGTGGATCCGGG ATCATCCAGATCTAACGAGACGTGCGGATCAGTTGGATCGACCATCGCAT GTCTTAAATAGTCGTTTCCGTGCGGAAGATTTACGATTGGTGGAATTTCA CCGGGACACGTGTAGTCGTAGAGAATGAGCACGTTTCCATAGATTTGGCC ATCGCGGGAGAGGTAGAAAATCTGGAAAAAATTTTTTGAATAGATTTTTT CGCCTTTTCTGAAGGATTTTTTTTGAAATTTGAAGGAAGACGGGTTTTTG CTTGCATAGACTCAAAATAAACCCTTTAGAAAATTTTTACGTTGGCTCAA AATATCGAGAATAAAAACCAATTTTTTTCTAAAATTTCGAAAAAATGGGC ATAACGGCGGAAAATGTATTTTTATTTGATTATTGTACCTTTTTCAGTTC ATTTTGGAGCATTTTTGGCCCATAGGCTTAAAATTAACCTTAAACATTTA AAAAACGTGAAATAAGATATCAAAAAGCCATTATGGCCACTATGACCTAA AAAAAATATTTAAAAAAAAACAACTTTTTTTTGAATATTCAAATTTTCTG AAACTGATAATAAACCTTTTTTCTCAATCTTAACAGTCTCGGCAGCCACG CGCTGTACTCGGTGAGATGAAGTTCGGCGATACGTGGATCTCCTTTGACC GATTGGAGCCGTCCGTTGAGACGAGCAACCGGATGACGTCGGACATTCGG TTTGATGACTGGATCGTTGAAGTGTTGCTCGCCGCCAGTAGAGCTCCATG GCTTCAGATCGTCATTCGAGACGTCTTTTATCGACATGATTTTGGAGCCG TCCACGTAGAATGCGAAACAGGCTTTGTGTGGAACAAGTGGTGGGAGACG GGGTGGTTTGTCGAGAAGCCAACCTCCTTCGCGACTAAAAATGGGGACCG TTGATTTTTGTTTTTTTTTTCTGACCGATTTTTCGGACAATAGCTTGAAA TTTTGACAATTTTCTTTATTTTTAGAAGATATTTTTTTCTTATATTTTTT TTTCTCTAAAAACTATAGTAAAAAATAGTTCAATTTTTTGTGGTTCTGGC GAAAAATGTATTTTTTCGAAAAAAATTTTTTTTTTTCAAAACAAGATATT TAGATTTATCACTGAAAATTGCTAATTTCCAGTGCGAAAAATGACTTTTT CTGGCTATTTCTGCCTGATTTTTGATATAAATTCCAATTTTCACAATAAA ATTGCTGAAATTTTCTCCTTTTTTCACTGTCTCCGTACATCATTGCAATT TCGGTCTCGTTGGTGAGCAGCTCAATTATTCGTTCCTTTCTGAGAAGGTA GGCCAGGCAGCCTGATATCACTGTGGCGTAGCAATCACCGTTTTCCGTCA TTTCAACTTCATCTTCGAACTGCAAAAATTATAGAATTGAAAAAAAAAAA CGATAAAATCCGACTTTCTCGATGATTTTTATGATTTTTAACTGAAAAAT TGATTTTTCGGCATTTTCTGAAGGATTTTGATTAAAATTTGAAGGTTTTT TTTTCTCCCGTAGGCTCAAAAAACGCCCTTTTTATGGCGGCTCAAAGGCA AATTTTAAGTAATAATCGAATAAAAAATCATAAATTTACGACCCCTACGG CACGGGAAATTGGAGACTTCAGCTAAAACTAACCGTTGATTTTGAATATT TTGAGCCAAATTTGGCCAAATAGGCATTAAATGCACTCCAGATGACTAAA AACACGTGAAAAAAGCTATTAAAATTAGGTAAATAAGACAAAAACAGAAA AAAAAGAACTTGAAGCGAAACTGGAGCCCATTTTTGGAGACAATTCTCAT TACAAAATTGGTTTTTTGGGCACATTTTTTAGTCTTTCTAGTTATTTCGA ACATTTTCCGAAGAATTCCCATAAAACTTTGAAGCTTTTCCATGTAAGCC CCTACCAATTTCACGTGGTACTGCCTTTCAGCAAGAGCTTTACTGATAAC TCGTTCTCCTTGAACTCGGAACATTTTCGACGGTGTCGCCGCCGCCGGAT TTATAATTTTCATCGCCTTCTTCTCCTTATCCCCATCGTCGATAGACCCA TCGGTATCCATTGGCTTGCGTGTTCGGACACGTCGCTGTTTGCTGGGCCT GGAAAATTTCGATTTTAAAGATTTTTTAAATAAAAAATCCCCCACAAATT CATTTCCAAATCCGGTGGTTGCCCATCCATAAACCCGTCGTCCTCCTCCT CATCATCACCGAACGGGTCCATTTGTATGCGATCCTCGTCTCGATATCGG GAAAGGTTCAGAATTGGCGGCTCATCCTCTACGATGACCTCCGTCTCTGC GTGGAGCATCGAGTCGTCGCCGGCGAAGATGGGCTCTCCGAGCTCTCCGG CGGTGAGCTCCTCCAAATGTGGCGCTGGCTTTCTCTTTTTCGCGTTTCGA ACCGTACTTTCCTCCGTCCTGGAGCGTTTTGGAGCTGCGATCGAGCTTGT TGATGCAGAGGCGAGCGCTTCTTCCTTTGGGATGCCCAACTCGTAGTCTT CATTGTTGTAGAGCACGGATTTCCGAGCATTTCGACGTGGACGAGATTTT GTGGCTGGATCCTGGGGCTCTGCGGCAGGCTCTGGATTTTGCTGGGGCTC TTCGGCCGGCTCTGGATTTTGCTGGGGCTCTGTTGGATTTTGCACAAGCT CTTGATCAACTTCTTCCTGATTTTCTGCCAATTCTCCCGAATTTTCAGGA TTCTCGGACATTTTTCTGCAATTTAATAATTGAAAATAAGAATAATTAAC GGGGTGGAAAATTAAAAATTAAACAAGCATTAAAATAAATTTGAAAAAGT CCTGATTTGTAGTCCGCAACGCACGCACGCAAGCATACACCAGAACAACT AAGAGAGACGGGAGGAGAGATGGAGAATTTGAAAGAGACGGCGAGGCGAC GAGAGAGCCGGAGGATTGAGGAAGGACAAACACACAGATGTGGGGTCTTG CAGCGCTTTCTCTGCGTCTCTTTTTTCGACATTTTTCAATGGGAAATTTT TTTTTGGAGTTTTTCTTTTTTTTTATCGGAAAACTTCAAAAAATTCAAAT GGAAACGCTGTACGGACAATGCATAGAATAACACGCAAAAATGCACATTT TTAGGCCTTAGGTTACTGTAGTGGTCTCGGCGCGAAAATGCGGATTTTCA TTTTGAATTCAAAATAAAAAAACTGGACGTGATTTGGTACAAGCGTTTAG TGAAAATGTTTCACAAAATAGGAGATCAATTAGATATATTTATTTATTCA TGGAAAATGACTATTTGGAAAAAAATTGCGAAATAAATAAAACTCGATTA AAAACAATGTGCATATGTCTTCGTTGCTTTCTTGGCGAGGGTTTCTCGGT ATCGAGTTCTACAAGAGACACACATTACGAATAACCAAAATAGTTTAGGT AATATACACATTGGGTGGGGGTGGGCCAGAATAATATTGAATAAGGGTGA AGAAAAAATATTCAAAATACGTCGCTGAAGTTGGCATACAATCTTGAGTC GGATAAATGGTAAGAAAGCAGCACCACTCAACTCAGATCACAATCTTCTG AAGAAAAAGGGACGAATGTATAGGTTCGGAGGGGGGGGAGGGGGAAGGGG TGGGGATGGAGGCAATTACAAATAAATCTGAAAGAAAGTTACAAATACTA CACACCAAAACGGTGAAGACTTGCAAACGCAGTGCTTGCAAGAATTCGAT AAAACTCGCGGATGTTAAGAGCGAATCATTTGGATTTCGGGGGCAGTAAA TTAAATGGACAAGGCATTTCGAAAAATACACACGTTAGACTGAAAAAAAA AAACACGATGTGATTTATGGGATGCAACACTGCTTCTTTGGTGGGTCGGA CGCTGGCGAAGGAATGATTGTACCACTGCCACCGCCATATCCTTGTCTGT CAGTTCCTACATGCTTGTTGGATACTGATTTGTAGATTTCCGTCAGGATA TTAGTGAAAGCTGCTTCAACGTTGGTGCTGTCGAGGGCAGATGTTTCTGA AAAAAAAAAATATATAAACGCAATAGATTAGTTTAACTTACCAATAAACG ACAATTGATTTCTTTCGGCGTAGATCTTGGCCTCGTCTGTTGGAACTGCA CGCAAATGGCGCAAGTCGCTCTTGTTTCCGACCAACATAATCACAATGTT CTGATCGGCGTGATCACGAAGCTCCTTCAACCATCGCTCAACATTCTCGT ACGTCACATGCTTAGCGATGTCGTAGACTAGGAGAGCTCCGACAGCCCCA CGATAGTAAGCGGATGTGATGGCACGGTAACGTTCCTGTCCAGCAGTATC CCAAATTTGAGCCTTCACTGTCTTGCCTTCTACCTACAAAAATAATAATT TGAATCATAAGTGTATTCTAATGAAGTTCCTCACCGAGATGCTTCTCGTG GCAAACTCGACTCCGATTGTTGATTTTGATTCCAAGTTGAACTCATTTCT TGTGAAACGAGACAGGAGATTCGACTTTCCGACGCCTGAGTCTCCAATCA GAACAACTGAAACAATTTTTCGTTTGGGAATTGAAAAATGAAAAACAAAA TTACCCTTGAACAAGTAGTCGTATTCATCGTCACGAGAGCCCATCTTTAC TGCTGAGCTGTAAAATGATAAAGCTTGTTTGAAAGTTGTGTATATATTGG GACGATTGTAAAAAAGAAAAAGGGCATTGGTCACATGATTCATCAGCCGG GCGCAATGTTTTGTTGTAAAATCGATATTAAAAGAACGAGACACTGTTTT ATCGGCGGAGAATATTTTTATGTTCTGTTCCCGACACAAACGCGGAGTCA GGAACCGGTTGTCTATCTCGACGGGGATTGAAAAAATATAAGTGAACTTG ATTTAAGAATGATTCAAAGTATATGGAGTTGGGAGTTTTATATTGAATTT TATCAATATATGAGGGTGGTTAGTCAGAAGAAAAATGTGAAAATGTATAT AGAAGTGTGTTATGAAAGAGTATTTGAGGCTTATCATACCCGAAAAAGGG AAGGTGAGCGGCCGAACTTTGTTTGTCGACACGATTTCGAAATAGTTGAA CAGGATATTTTTAACAAGGGAAAGCTTTCTCTGGGTGTTCTTTTTTGATA ATTTCAGCTAAAAATTGAAAAAAATAATTAGTTTTATGGCTGTGAACATC CAGAATAAGCTTTTCCGAACGCGAAATGCGTGTGAAACCCATAAAATCGA ACGTAAAACAGGTCAGGCGCACCGGCGCAGCCACGTCGGTCTGAGGGTAC GCGACGCTAGCCGCAGCGCAAGCCTCCTCGGGTCTCGGCACGACAACTAC CGTACCCCTTTCGCAGCGGCGCAACGGAATCTCAATTTTACATTTTTTTC TTTTTGGCCTAACGAATTTTTCCGTTTTTTCAGAGCATTTTTCATTGATT TTCTTAAATTTTCATCAGAATAAATTTTAGAACTAATTTCCCGTAATTCT GATACGCGTTTTTTATAGTTTTCGTGAAGAAAATGCTGAACATTCGAAAA ATACTGAAATAATTTAGTTTTGAAAACTTGCTCCTCTGTTTCAATATCTT ATAATTTTCTTTTCTGATTAATATTTTGATTTTCCAGGTAATCAATCGCC TATAATGGCTCCAACGTAAGTTTTCTTTATAAATTTATATTAGATTGAAA TTTACTTTTAGGCCTGACTTTCAAATACTTCAATTTTGATATTAATTCTT GGTTTTTCAGAAAGAAAGTGCCACAGGTTCCAGAAACTGTGCTCAAGCGC AGAAAGCAGAGAGCCGATGCCCGCACCAAGGCTGCTCAACACAAGGTGAC CGTCGCCGCTGTAAGTTTATTTAACTGTCAGAAAACAGAAAATGCTCTTC AAAAGCACTGGTTTTAGGATCCACTATTATCCAAGCCAGCCGTCAAAACT GAGCTATAAGAATTATCTTGTTTTTGGGTGAGGTGTATTCAATTCAGAAT GCGTCTCAATAACACGATGACAATTCGAAATTTTAAAGTTTAAATTTTCT TTTAGGTGTTTGAAAATTAATTTGAACTAATCCTGCATTAAAAATAAAAT TTTTTACAGAAGAACAAGGAGAAGAAGACCCAATACTTCAAGCGTGCTGA GAAATACGTCCAGGAGTACAGAAACGCCCAAAAGGAAGGACTCAGACTCA AGCGCGAGGCTGAGGCCAAGGGAGACTTCTACGTTCCAGCTGAGCACAAG GTCGCCTTCGTCGTCAGAATTCGCGGTATCAACCAGCTTCATCCAAAGCC AAGAAAGGTGAAATTGTGTTAATGAGTTTTTTAATAACCATTCTTTGTTT TCAGGCTCTCCAGATCCTCCGTCTTCGTCAGATCAACAACGGAGTGTTCG TCAAGCTGAACAAGGCTACTCTTCCACTTCTCCGTATCATCGAGCCATAC GTAGCTTGGGGTTATCCAAACAACAAGACCATCCACGATCTCCTCTACAA GCGCGGATACGCCAAGGTTGACGGAAACCGTGTCCCAATCACCGACAACA CCATCGTCGAGCAGAGCCTCGGTAATTTGAAAACTTATGCTTTTTAATTC TTATTTAATTGTTTTCAGGAAAGTTCAACATCATCTGTCTTGAGGATTTG GCCCACGAGATCGCCACCGTCGGACCACACTTCAAGGAGGCCACCAACTT CTTGTGGCCCTTCAAGCTCAACAACCCAACTGGAGGATGGACCAAGAAGA CCAACCACTTCGTTGAAGGAGGAGACTTCGGAAACAGAGAAGATCAAATC AACAACCTTCTCCGAAAAATGGTCTAACTTGTTTGTTGTTCATACCTTCC TTCCGGATAAATCGTTATTGTTTGACGTTGTTTAATTATGTGCATAAATA ATCATGAAACGTGATCGTCTTGGCTCGACTCATCTCGCATTTCATGAAGC GTCTCATCATTCAGATGAATCGTAAAACCGCTTTGCTGACTACTCTCCCG AGAACAGTCACTGTTCCCTACTATGCTCCATCCTGTTTATTTCTAGAAAC TTTTCTTCGGAGCAAGCTAATTCCCTATGAAGTGAGAGCATTTAGGTTAA TAAACATAGTCCAGATTTAAATCCAGACAACGCAATGTTCTCTCTACAAT GTACTCCCTCGTGAGCACCTATACCCATTGATTGATGTCGATGGGTATTT CTTCAAAAATTTGATGGAAGGACTTGATTATCTGCTCGCCAAATATGGAA AAGTTGGCTTAAAACTAGAATTTTAGAAAAAGCTTAAATATTCTTCCAGT CTCTGGACTCGGGCCTGACTCCAAAAGAGCGAGCACAGGCTCTCGCATTG AGCGCTTTGCTCGACGAGCTTACTTGGATGCTCGCCTACTCGCGAGGCCA AGATTTCACGTGGCTCCGCGATGATCGTAAGATTATCGAAGACTTCGGGC TTGTTCAGCTCTATTTTTGGAGGAATTGGATTGTACCGCAGATGCAGAAA CGGGTAGATTATTGATATTTTATGGAAAAATCGATAAAATATTGATTTTT TACTGAAAAAATTGATCAAAAATCGATTTTTTTTTCCTCGGAAAATCTGT AAATTAGTAGTTTTTTGTTGAAACAATCGATAAAATTCTGGTTTTTCAGA AGCAAAATCGATATATTAGGCCAAAATCACCAAAAATTATCAATTTTCCT ATAAAATTTACCATTTTTGGCTAGATTATCGATTTTTAAGGCAAGAAAGT CGATATTTCACAATTTTTTATTGATTTTTTTGGCTTTCCAGCGCGCAAAC TGTGCCAAGATCTAAATTTTCCGAAATTTTCATTTCAGACACGCCGCCGA GTGCGAGGCTACGGAATATCCGGAAAATCGGCGAGAAAGGAGGTCGCCTG CCGAACTGAAGCAATGTTGGAGGCATTGGCCTCACTTTTGGCCTCGAATA AATACTTTTTCGATGTCAATGAACCGTCTTGGGTAGGTGGCAGCCAAAAA ACTCGGCCAAAACTCGGCCTTTCAGCTCGACTGCAAGGCGTTCGCCGTGC TGGCTCAATTCAAATATACACCACTGCAGAACGAGGCCCGCGTAAAACAA TTCATGAAGGACCGAACTCCAAATTTGGTGGGTGGCCTTGAGTTTTCTAG GCCACGAGATTTGAAAAATTCTATAATTAGGGCATGTGGTTTCAGATGAC ATTTGTGACGCGCATGAAAGAGGAATTCTGGTCGGATTGGTGCACCACGT CGGAGGATTGAATTTCGTGGAAAATGCTAATTTGTTTAATGTAATATGAT TTTGCTTCGTAGATTTTAACCTATGCTCGAATAAAATTTATATTCTAATT TTAAAAAAATTTCAAAACAAAAAATTTCTTACGTGACAATTAAAGGGTAT TACAATATGGGCATAAAAAATGTATTCCCTAATTTTCGAACTTGTTCAGT CTTGGTTGCCCAGGTAATTTTTTTGCAGTTCTTGTTTGGGACTCGGAGCG ATTTTGCGCAGATGCATCATATTTGACGCGCAGAGTTTTAATTGAGGTTT GAGCTTGAATTGAGTTTGAATTGAATTTTAATTAAATAAAGCGAATTCTA GAATAAAATGATGTGTTTATTGCGAAATAGATCGTGAACCTACAAAACAA CAGACTTTACGCGCAAATTTCCGAAATTTTCCAGAAAAACCAGTCAGAAT TTCAAATGATACTTGTTCCTCTTCTATTTCTTCTCCCAATTTTGTTGTGC GGTGGGAAAAAGAAAAAAGCGAACAAAAATGTGAAAGAGGCGTCGAAAGT GAACTCACTGGTTCCACCGTCGACCTCTACGGACCCGCTGAAGACTAAAG AGAAGGAGATGAAAAAAGAAGAAGCTCCGGGAGCACCAGACGCCCCGACT AAGCCGAAAAGTCCTCCGAAACCAGTGGTCCAGGACACGAAACTTGCTGA AGTGCTGCCTGAAAGTGAGAAGGAAGACGAAATGAAGAATGGTATTCAGT TGCCGAATCCGCCGAAAAATTTGGTGGGTCTCACGGCGATTTGAGTGTTT TATCGATTTTCTATGAAATAATTGATTTTTTCTAAAATTATTGAGATCTA GATTTGCGAGTTTTCTGAATTTTCTAATATATCGATTTTTCAGAAATGCG AAAGTGAAATTGCTCCAAAGGAAAAGCCGGCGGCTGACGAAAAGAAGGAC GAGAAAAAAGATGAAAGCAAGAAGGATAAGAAGGAAGAGAAAAAGGAGGA GAAAAAAAAGGAAAATGACGAAATTATGTGAAAAATTCGATAAATTGGTT CTTGAAGATTATTGATTTTTCATTGTCGATTTTTCAGAATTCCTCGAAAT TTATTTGCGCGTCATATATGGTGCATTGAGTCCATAGAGACTTCAAAGTT CACGCGCAAATGCAGACATTTTTGCACGCGCTGCGGTGAAATTCCTCTTG GCGAATTCAAATATTTTTTCCCGCCTTTTTTGAAAATTTTCGAGGCGTTG GTCGAGCTGAATACACGTGAAGTTTAGACTGAATGTCAAATCACAAATAC ATCACATTTGACGCGCAAAAAATTCGTTTTGAAAATTTGCGCGTCAAATA GGGTGCATTGAGTACGCGGAGCCAATACATCACACTTGCTTTTCGTGGAA AATGGAGCGAAATTTGATTTTTTGATTTAAATATTACGGGAACAGAAAAT TCTGAGAATGCGTATTGTGCAACATAATTGACGCGCAAAATATCTCGTAG CGAAAACTACAGTAATTCTTTAAATGACTACAGTAGCGCTTGTGTCGATT TACGGGCTTGATTTTTTTTCCATTTTCTTCAGTTTTTCTGACATTATTGT GTTTTATTTTAATATTTTTACCGATTAATAAATGATTTCCGTAAATCGAC ACAAACGCTACAGTAGTCATTTAAAGAATTACTGTAGTTTTCGCTGCGAG ATATTTTGCGCGTCAAATATGTTGTGCAATACGCATTCTCAGAATTTTGT GGCCACGTAATATTTGCGTTAAATAAAAATCAAAAAATTAAAAAAAAAAA AACATTTCAGAAATTTTCAAAAATTTTTTGAAAAATTGACGCACAAAGTC TCCTGTTTCCCTTTTCCCCAAAGTTTTAAACTAATAAAACTTTTTTAATT GTCGAATCCGACCAGTTATTTAATACGAGACAAAACGGAAACAAAGATTC CAATTTCCGATTACGGTCAGCTCAACACTTTCGCTCAAGGAATTCTCTAC GCTTAGATTTTGATCTTAATGGAAAACTGGTAGAACTTGGTATAAAACTA TCCAAAAAACTGGCAGAAAGAGTAGTCTTTCCGAAGAAATGAAGTCCCTA ATCGAGGAAGATGACTTGGAAGTCGGCAGATTCCGCCGCAACGCGTTTTC CGCCGTCGCCCTCTCCACCTCCTGTATTCTGGCGATTGTGGTGTTAACAC CAATTGCCTATCAGGCAATTCAGAGAATTCACTCAAATTTGCTTAACGAT GCCCATTTTTGTCAGGTAATTTTTTTAAAAAATTTAGAAATTTTGATTTG GAAATATTCAAATAAAAAAAAAGTTTTTCGAAATTTATTTTCAATCGTTT GAGATTTTGACATACATTCCAAAAATTCCTACTCTTCGCAATTTTTTAGT CAACTCAAACTCAAAACCTTAAAAAAAAACCGCAAACCTGTCATGGCGCA TCGATGTTATCCCTACGCTAAATGTTCTGTTTTCGAAGGTTACTTTTTTC CAATTTTTATCACCAAGGAAAATGTATACACAAAAATATATAGAATTTGA CGTGCAAATTGGCAAAAAACTAAACTTGCGCGTAAAATCACTGCATTGCC TCTGCGGACTCAACACACCAGATTTGAAATTTCAGGAACTTATCGATTTT TGTAAAATTTTGCAGCATGGCGCATCGATTAAATATTAAAAAAAAATTGA AAATTATCGATTTTTTTGAACACGAACAATTTGTGGAAAATATGAAATAA AAAAAAACATGGTGCATCGAAAAACTTACAGGCTCGAAACCGTGACCTCT GGACAGAAACAATGAAGATGGCTCGGAGCCGCGGCCGGGACGAGGAGCTC GTGGCCCGAACCAAGCGAGCGGTTAAAGGCACATGGCTCTTCGGACAGTA TATTCCAGACCGATCAAGCAGAAATCGACGACAGCAATACGCCGAGGCCG CTGGCGGAGGCGGTGGAGCACCACATGCCGAGTGTAGACGGGGTCCACCG GGACCACCGGGTGATGGTAGGTTTTTAGATTTGCGAGGCAATTGTGGTGT ATTGGTTTAATTTTACAGACGGGGTCGACGGAACGGACGGAAAAGACGGT GCACCTGGAACCGATGGAAAAGACGGTCAGGTACCACAAGGACCAGCCGA CGGAGGTTATCAAGAGGGACCATCTGATGCAGTTGAAGCATGCACACGTG AATGCCCACCAGGACCGCCTGGACCAACTGGAGCGCCCGGAGACAAAGGA TCTCGAGGCTACCCTGGAGAATCTGGAGAGCCAGGCACCCCGGGAAGCGC CGGACCGAAAGGAAATGCTGGACCGTAAGTGGAACTAAAGAATCGATAGT TTTCGGTAAAAAATCAATCATTTTAGGAAAAAAATCGATAATTTTCATTT TCATTTTTCTCCATTAAATTATGTTAACTTTCTAGAGCTGGACCACCAGG ACCACCCGGATATCCAGGACGTCCTGGAGAAACCGGAGATCACGGAAAGA CGATCGCCGGAGAGGCGCCACCTGGACCACCAGGACGACAAGGAGAAATG GGTCCACAAGGACCACCGGGACCACCAGGGCCACGTGGAAAGGACGGAGC CGGTGGAGAGAAGGGTGCTCCGGGAGATCAAGGTAATCCGGGACCATATG GAAAACCTGGGCAACCGGGAGCTCCAGGACCCGATGGCTCTGCTGGTGAG AAGGGAGGATGCGATCATTGCCCACCGCCAAGAACTCCACCTGGTTATTA AAGATTCTTCGATTGATATTTTATTTTATTTTCATGACGTTATTCATTTT GTCATTCGGTTTTCTTTTGTTGCAATATGATAATAAATCAGATTCTCTTG CCAGTAGTTCCAAGTGCCCCAACATATTTTTGAGTCCTTTATGTAGATCC CTCTCCTCGAAAGCTGGATGATTTAATAAATCTTTCAGAAAAATCGAAAA TTTTAGAAAAAAAAACATCAAAATTTTTGACAAACTGCATAATCAGTCAA TATTCTAAAAAAAAATACGATCGCACAAAAATAAACAACGACGCAACGAC ACTCCGCGGTTACTAAGCTCCGCCCACGATTTCATTTGCACTGCGTTGAG TCGGCCGTATTGTTATTCAAACATGAATGAATATACTGGTGAAGTTTAAA AAATTGGGTGTTTAGTTTTGAAGAAAATAATTTTTTTGGAATTTTGAATA AAGCACAATTGGCAGCTGAAACTGGACTTTCAGACAAATTTTGAACGGTG GTTGTTGATGCTTTGAGTTTATATTGTTATTCAAACATGTATGAACTTGT AAAGTGCTTGTAAAACTTGTAAGTTGCTTGTTCGCTCATTCTGAAATAAA ATTTAAATTAAATAAAAGTTCACGTGATACAAAAAAGCCAACTTATTGAT TGAAATCGATAAAATCGATAAGAAATTCATTCATTTAATAGTTTTTAACA AACAACAAATGCGATCAAAAAGTTCGGAAGGTGATTTACAACCAGAGGAC ACCCAATCCAGAGAAGATAAAGAGACGACTGCTACGTATAGTGAGGATAC AAAGCCAGGTAAATACAGTAGTCCTACCTTAAAATTACAGTAACCCAGCT GACTAAATATCATAATAAAACTTGCAAAAAAATGATGTAAAATCTTAGTT TTTAGTCTTTTGAACTGGTAGAAACTGTGTTAGCGCCACTTTTTGACTCT AAATAGAAAAATTTCCCATTTTAAAAGAGTTGTATTATGATACACTGCGT GGCGTGTAAAATACCAAAAAATAAGCGCGGTTTTTTTTTTCGTAAAATCA CAGGGAAAAATCCGAAATCGGAACTCCAATCAGCCGCCAACATCCCACGG GCCCAATAACTTCTGGGTTTTGTTTCAACAATCTCATTTACTCCAATTCC AGAAACCCAAAAGGAGAGAAACGCGGCACTGGACAATCTTGCCAAGACCC CAATCCAGTTAGTCGTCCAACCAACTCCTCTCACACCAGCCATCACGCCA TGCGAAGCACCACCACCACCACCTCCACCAAAACCCTCTAGCGATAATAA CAACTCGAAACGATTGAAAGTGAAAGATCAACTGATTGAAGTGCCCAGCG ATGAAGTAGGCCGAGTTGAGAATAATATAGACAATTTCCCGTTCTATCAT GGATTCATGGGAAGGAACGAGTGTGAGGCGATGTTGAGCAATCATGGAGA CTTTTTGATTCGAATGACGGAAATTGGGAAGAGGGTCGCCTATGTGATTA GTATCAAGTGGAAGTATCAAAATATTCATGTTCTAGTGAAACGGACCAAG ACGGTGAGAGTTGTTTGGTATTATCATTTAGTTTCGTTTCAAATCAGACC GAGATACATACAAATATTGAAGTTCAAATTTAGAACATGTTGCATCGCAA TGTGTTCATTGTGCTCCCTGAAGCATTATGCGGACATCACGAATTACATA AATTATTTTAACCAATGGTGGGCGGCAAATTGACAAATTGCCGATTTGCC GAATTTGCCAAAAATTTTCGGAAAATTGTATTTTTGCACATTTTTTTTAA ATTTCAAAATTTCAAATTTTATCGGCAAAATTGTATGCATCCTATGAATA TTTCTACATCTGTTTCGAAAAGTAAGCAAATTATATGAAAATATCTAAAG AAAAGGGGAAAAAATTCGAAAAGGCACAGTTTTCAGTGTTTCCGTCTTAC AAAAAAAACCTCGAAAAACTTTCGGCAAATAAGCAAACCGGCAAATTGCC GGAAATTATAGTTTCAGGCAAATCGGCAAACCGGCTATTTGCCGAATTTG CCGAACGGCAGTAGCCTCTCACCCCTGATTTGAACATGGTGCATTGCATC ACCGCTCCTCGACTTGGAAAGTTTATATCGGTAGATATTTGCAGCAGATG TAATTTACTGATATTTTCAGAAAAAGCTCTACTGGACCAAAAAGTACGCC TTCAAATCCATCTGTGAGCTTATTGCCTATCACAAGCGAAATCACAAGCC GATTTATGAGGGCATGACGTTGATCTGTGGCCTGGCACGACATGGATGGC AGCTGAACAACGAGCAGGTCACATTGAATAAGAAGTTGGGAGAGGGACAG TTTGGAGAAGTGCACAAAGGATCGCTGAAGACATCTGTATTTGCAGCCCC GGTCACTGTTGCCGTGAAGACCTTGCACCAGAACCATCTATCCGCCAATG AGAAGATCTTGTTCCTAAGAGAGGCCAATGTGATGCTCACCCTGTCTCAT GTAAGCTACCTGTTTCAAGTTGAACTAAACTAAAATTAATTTCAGCCAAA TGTGATAAAATTCTACGGAGTATGCACCATGAAGGAGCCCATCATGATTG TCATGGAGTTTTGCGACGGGAAATCCCTGGAGGACGCTCTACTCTCCAAG GAAGAAAAAGTGTCAGCTGAGGACAAGATTCTCTACCTTTTCCACGCCGC CTGCGGTATTGATTATTTGCACGGAAAGCAGGTTATTCACAGGGATATTG CGGCGAGAAATTGTTTGTTGAATTCCAAAAAGATCGTGAGTTTGTTTTTC AAAAATTTCTGAATCTATGTGAATGAAAAAATAAATTTCAGCTGAAAATC TCCGACTTTGGATTGTCGGTCAAAGGAGTTGCTATAAAGGAGCGAAAGGG AGGATGTCTGCCGGTCAAGTACATGGCTCCGGAGACATTGAAGAAGGGGT TGTACAGTACTGCCTCTGATATTTATAGGTGAGCCTACGAGCATACATAG ACATTGGTAGTGGCGTCAGCGGTGGCCTAGAAACCTTATCCGCGTCTGAA GGTTAATCAACCTCACACAAGTCTCTATGATTTCCAGCTACGGCGCTCTA ATGTACGAAGTCTACACGGACGGAAAGACGCCATTCGAAACGTGCGGGCT ACGTGGAAATGAGCTCCGAAAAGCGATCATCGGGAAGAGAATCAGCTTGG CCGTTGAGGTAGAGCTACCAGTGTTCATTGCCAACATTTTCGAGCAAAGC AGGCAGTACGAGACCGAAGATCGCATAAGCTCCAAGCAAATTATTCAGAT TTTTAAGGAGGTTTGTGAAGCATTTTATCGGTTTTTTGTTCAAAAAATTA GTAATTTTCCAGGAAGTCGGATTCCATGAAATTGAGACAAGTGGGATACT GCATAAGCTTGTCAATTCTCTTCCGAGAATTCACAATAAGGAAAGAAAAC CCGCGGCGGTGGCAGTGTAATAAATATCTGAAAATCCCCCCACCCCTGAA AATATTTGACTGTATTTTTTAAATCAAACACACAACGCACACAAACAGAC AGACAGAAAGCCTAAGTACACAGAGAAAATGTTTGAGGTGAGGTGCGAAA GGGAGGAGGCTAGAACACCTACTTTACGCCAACAAGTTATGACTTTTTGG AATTCAAAATGTCGTTTTTTGCTAGTTCACTGCTTACCTACAAACCTTCC TACCTTGTCTGCCTACCTTCCTTCCTATTCTCTTATTGCAAGATCTTTTG AATTTTTCTGAAACGTCTGTCTACTTCTGCGTCATTTGCAAACAGGCTGT TCTCAGTTTTAGGGGGTGGCAGCACCCACAAAAAAACATTGGAACAGAAA TCAGTCGGAGTGATCTACTAGATTAGATAAACATTAGATATCAGTTTGGA AAAGTTAAACATTATTAACTCACAATGGATTTTCTTATTGTGTTTCTTGA TATAAAGCGTTGAGCGGTATTGATACCATTACAATGCACTAAGCTAAAGG CTGTCAGAGCCGAATGAAAAACATGATACATCGAGCATGCGGCAATTGGC GTTCGGAAAATCGGCAAATTAAGATTTGCCGGAAATGTTTTGAGGGATTT TTTATAAGATTTAAATGTGCCTTTTTGAAATTGTGTCCCGTTTTCTTTAG ATATTTTTATAGGATTCGCTCACTTTTCAAAATAGACGTAGGAGAATTCA TAGGATGCATACACTTTTGCCGATTGAAATTTAAATTCTGAAATTTCCAA TAAAAGTGCATCACCACAATTTGCCGACTTTTGGCAATTGCCGTTTCTCC GGCAAATTCGACAAACCGGCAATTTGCCGATTTGTCGATTTGCCAGAAAT TTTCAATTCCGGCAATTTTTCGATTTGCCAATTTGCCGAGAATTTCAATT CCGTCAATTTGCCATATTGCCGGAAAAAATCGTTTGCCGCCCATCCCTGG TTCGAACTCCTAGAATGGTAGAATATGAGTATACTAAAAATAATTTGAAC AGAACTGGAACTGGAAGAAAAATTTTTTACCGACGTCTTCTGAGAAAATT TCGTGAAAATTGAGTTTTTATCACTTTCTGACTCACAATAAAAAAAATTT CCAAAATTTTTTGAATAGTTCTCGATCGTTTCCAAACTGGTCTTCCGACA TTCAGGTGCGTGATTGGTAAATATGAGGGAACTGCCATAATCAAATGAAA AACACGGTGTATCGTCTGAGAAAACCTTAAACTGTTCCGTTTTAGTAATT GGACAAGGATCTGCTGAATCTCGCTACTATAGCAACCGACATCTTGCGGG TCCAAAAAAGATTGATCTTGAAAATTTGATCCAAGTTTATTTAATCGCCG CCACACACACACTCACAAAAAAATCAATCAAATCACCCATATCAGTTGCG CGATTTCTAGTTTCTAGGCGCGAAAATCAAAAGGAGGAGAAGAAGCATTT CCGCATTACTCGTGTGTGTGCCGTTTCCGTTTATTTGTCCCTCAGGCTCC CCTCTCTGTTTTTTTTGTTTGCGAAAACTGTCTCTCTCTCTCTCTCTCCA TCACTTTTCTGTTGCGGAATAGAGGGAGAGAGAGAGAATTTCGGAGGGAA AAATACCTGAAATGTGATCCTCTCTCTGTATGTCATTGACTGTTGCGCGA GAGCCTTTTCCCGCGCGCGCGAGCCTCCCACCTACCCGTCGACGAGCCTA TTTTCTTGTCGGCGGTGCCATTCGGCAATACACGTCCCTCTCTCTTCTTG CTCTAGAAACATTCGGATTTTGATTTTTTGATTTTTCATGGTGGATCTGT AGGCTTTTTTAGGCCATCTTGGACTTTGTGGTGGCCTAATATATGGTGTA TTTTCCAATTTATCATATTTGCTTTAGTATTGTCCGACTTGTAGGCAAAT TGCACCATTTTAAGCCAAGTAATAAAGCTTTGAAGTTTGGCTGCCTAGGT TTTTCTAGCCACCAAACAATTTTTTTGTTTTCACAGCACACTTTTTTAAA GACTGTCATAAGTTTTCAAAATTCTTTGAAAAATTTTACACCGAATTTTG AGATCTTTAAGTTTGGTGGCCTAAATTTTTCAAAATTTTCTATGCCACCA GACTGAAACGTCCTAACTCTATTTGAATTATCTTTGAAACTATGAAAACT ACAAGTTCGACTAAATATGGCTTATCCAATTAAACTCGATTGGTGGCCTA GAAAACCAATTTCGATTTATTTCATTTTCTAGGCCACCAATAATCTTGTT CGAAAATTACTTTTATTTAATTACAGTGGAGTTTGGAATACTTACTGCCA TGGGCTGTAAGATGTTGCTCGCCTAACTTTTTCTATGCCAGCAACCAAAA AGTGGTGTTGGTGGCCGACAAACCCAAACTTGGACAATTGCATTTTCTAG GCCATCATTTTTTTTAAACTAATCGTTGTTGGTTTAGTCTACTGTAAAAA ATCAAATCGATAAGAACATTGGGAGCCAAGCTTTGGAGTTGGTGGCCTAG ATTTTTCTAGGTCACTAACTTGAAATGTCTGTAACTCTAAAAAATAATTT AGAGATATATAACAGAATTAGTAGGCTAATTTTAGGATGAGAAACTATTT AAACAATTGGTGGACTAGAAACTGAATTTTGAAATTTCTAGGCCACCAAT TCCAAATAAGCCTATTTCACTCCTGAATTGAGATAAAACGCTGAAATTTT GGACATATTAGAATACGCTATATTTGAAAAAATGGAATTGGTGACCTAGA AAATATTTTTTTGAAATTTCTGCTCCACCAATTTCAATTATAGCATAACT CATTTCATAGTTGTAGGACGGTGATTGAAATTTAGGATAGACAGATTTTA AACCAAAACAGATTGATGGCCCTTGAAATTTCTAGGCCACCTCTCCAGAA AAAAATCTGAAAATTGTTTTTATTTCTAATTCATTTTCTTCGTCCGTTTT TCATCTCTCGAGGATCTTATCCCCTTGTCTTACGTCTCCCACCCGCTGCT ATTTGGGCGACCTTCATAACTGTGAAAATTCTCACCATTCTCCCTCTCTC GTTTTTGCCCCCCCCCCCCGGTCTCCTATCATTGTTCAAGTACACCTGTT GTCCCATAACATCTGCCAACCAATTTTTTCCAATTTTGCCACAATTTTTA TTCAAAAAAGTGCATTGCAGCGGCAGGCATGCCTCACTCGTACACACACT TGAGCATACAGGAAAAGCGAAAAAATCAGTGATTGTTTGGATTCCTGGCT CTTTCTAGGAAAAAAACTCTTCCATTTTTGTAGTGCACATCAAAATGATC AAGCTGGTTAATTTTCAAGTGACTCCCAAAAAAATAACTGAGAAAGTTGC GTTTTAAAGTTTCTAGGCCATTGTGGGATTTCTAGGTAGGTTTTTGAAAA TAGAAGACAGTCTTGCACTAAAGTTTTGATTAGGCTGTTAAATGATTTTT GTCAGTACGTTTTTTGGAACTTCGATTTTTGCCAAAAATTCCTTTTTTAG TTTTTGTTTCAGTTTTTTGCAAATTTTTATTTCTTCCATATCTTACAACA TTTAGAAGGTCTCAAAGTCTCTGATAGCCAAGAATTGACTCTAATGACGT TATGAGCTCCGAGACTATTTTAACCTTTTTCCCTTTTAAGCATAAAATAT ATAAATATCAAAAATTTAATACAAAAACTTCTCGTTTCGAAACGTTTCGA AATCCTCCAGTTAAAAAAAAATTAGATTACGGCATCGGAAAAATTGCGAA ACTTTTGAATCTGAGGGATTTTCAATAGAGGGTCCCGCCAGGAATTTGAG TTTTTAACAGTACCCTTTCCATCGTCCTTCCCGAAGCCCATTACATCATC ATTAATTTTGCGACCTTTCTAAAAGCGGTCATGGGGGGGGGGACATGTGT TTGTTGCATATACAGGGACCCCCCGCCACAACCACCGCAACTAGAGATAA AGATCTGCTGCACACAGACAGCTGGCACATGGATGGACAGAATGTCTCCT TAATTTTACCGCCTATTTCATAATAATAAAAGTAGAACGGGGGGCAGAAA AGAGAATGATTGCGAAACCACCTGCTTGGCTGTCAGCGCATAAACTTTTC GGAAATTTTGGGTCCCACCACGCTTTTTTCGGTAACAAATTTTGAGATTT CTCGATACACCATGATGTCTTTTGGTGGAATTTTGGGTTATCATGGCTAA TACAAAGCTTTAACGTGCCTTGAACTTTCGCAATTTGAACTTTTGGCCTT TACTTAAAAATTTCGATGGGGCTCTATAAGCCATGTGGTTTCGAACTTTT CCTGAAAATTTAGATTTTTGTTCATGCACCATGTTGTTTTTTTTTTGGAA TAATTGAGGAATTCCTTACTTTTAAAGTAAAAAGTTTGGTGAGATCCATG TGTTTTCATATTATTCAGTTGGTAAATTATACAGATTATTGACTGAAGGT TAATTTTTTGTTGGGAAAATAAAAATCGCCAAAATCAATAAAATCGTATT TAGAAGTAGGGTTTCCATATAGGCGGTAAAAGGCTTGTCTGCCTGACAAT AAGACGACCGCCGCTCGCCTCAATCCGCGGCGGAGGCAGGCAGGGTTCAG GTAGGCACTGAAACCGCGCCTGCTTACCATGATGTTCCGTTCTTGTCGAT GCACCATGATAATTTTGGGTTACATTTTGAGCCTTTTCGAAAAATTAATG GTGGAAAATTTCAAGCTGAATTTTAATATTTATTTTTTTAACCGTATTGT GGGACATGCAAATGTCTTTCATTTTGTGTCCCTTCACTCTAACGTCTTCA GAATTTTCGAACTTCTCGATGCACCATAATGCTGTTTGGCGATAACTTTA GAGTAAGAATGGTAGCGATTTTTGCGATGCACCATGACGTTTTTATCGAT TTTCAGAAAAAAAATCACTCCGAGACCCAAATAGTTTCATTCTCGACGCA CTATAACGTTTTCGAAGTAAATTTCAAAATTGCTTCTCGGAAAAGTTTTT TGAGACCTACATGCACCTTTAATCTTCTTTGGAAACTTTGGAATTTCCGC CGAATACTCTCATTTCAGTTGTTCTCGATGCACCATGATGGTATTTTTTT CAAATTACTTTTTTTTGATTTTTCCATGAGAGGACCAATATCTGTCTTTA TAACGGCGCATTCTGTAACCAAATTTTGAAATTCCACGACATTCTGCTCT CATCGATTCAACATGATAATTTTAAAATGAAATTTAGCGATTTTTCGGGA AAAAAACAGTTTCGAGATTTTCTAGTTATTGGACACTCTGCACCTTGCTT ATTTGGAAATTACATTTTAAACCGACAACCCTTCAAAAACTGCTTTTCGT CGATGCACTATGAGTGCATAATTTTGTGTAAATCGTGGTGGGCCTCTAAA AAAACCGAAAAAAAAAACGTATAAAACGCAAACAAATTGTTTTTGTTGTA ATGTTGACACCAACAGATTCGGCGTGGAATATACGGAAGATCGGATTTCC AAAAAAACAACCGCTCTCCTGTTTTCGACGTTCCGCCGCTTTTTATGGGA GAAGTAGTATGTACCTTTAAGGGTACTGTAGCCCCTTGAATATTGGCCTA AAAGTGAAACTAGTGTTGCCAAAAAAAAACGAGATGACCAGTTTCAATAT GTCATTTACATCTACACATTTCTAAAATCTCATTTTAAATTCCATTGTTT TCTCGTTTCTTCTGTCCCAAAGTACCGTATCCTCATCCTTCTACCACCTT AATTTGCATTTCTTCTTCCTTATTCACTCTTCTTCCCCTGGACGAAAAAT GTTGCACGACAACAACAAAAGAGACCCGCCCCCCACCATCGGTTTCTCTG AACCTCTAACTGTCCCCGCCCCCTTTTGGGAGCCCACTGTCTTTTCTTTT TTTCTTTGGTCGCTGATTATGACGGATCGTTTTTGTCGTTTTTGTATTAC AGGAATACAAATTTCCCAAAACGCGTATTGCACAACATATTTGACGTGCA AAATATCTAGTAGCGAAAACTATAGTAACTCTTTAAATGACTTTTGTAGC ACTGATGCCGATTTAATTAAATTATTTATTAACAGATAAAATATTAAAAG AAAACACGACAATTCAAAAAAATTCATTTCGTAAATCGAGCCCGTAAATC GACACAAGCGCTACAGTAGTCATTTAAAGAATTACTGTTTTTTCGCTACG AGATATTTTGTGCGTCAAATATGTTGCGCAATACGCATTCTTATAATTTT GTGTACCCGTAGTATATTTTTGTCTCTCTGATTTCCATTGCAATTTTTTA ATTCCATATTTTTTTGGTGACAAATTTCTCCGCTTATCAATTTTTTTTTC AACCACATAATTATTAACCCCAAAACATCGCAGATTTTCAGGTAAAATGC CAGTCGTGAGCGTTAGACCTTTTTCTATGAGAAATGGTGAGCAATTTTTT TGAAGTTTTTTTTTGAAATTTTTAATTTTTCCAGAAGGCTTCTCAAACGG GCATAACACGTGGAACGACGCCGAATTTTGGAAACCGTGAGTTTTCGGCA AATAAGCTAACAGTCTAAGAAACACGAAAAAAAATCCAATTTTCTTTTCA AAATTCGTGATTTTCGGATGATTTTTGAACTTTTTGATTAATGTTCCCAC TGAAAATCCTCCAAATCTCTAAAAATCCGCTTCTAAAAAAGCCTCAAATG GCCTTGCGAGAATAGACGGAATGTTCAAGGATGACTGGTATAAAATCGGC AAACGTGTTGCCATTCAAACAGAATATCTCGAAATTTCGCCTTCCTTTTT TTTAAGTGGGTCGGATATTTAACATACAGAAGAGAATAGGGAGAGAAAAG AGGGAAAAGAGGGGAAAAGTCTTCTTGGAAACAACCTCGAACCGCAATTA AGTTTTTGCCTCACCCTTCAATTTTCGTGAGAAAGTTAAAAATCCAAATT TTTTTCTCCTTTTTTAAAAAAAGATTTCCTCCTCAAAAATTCAAAGGATC GAATTTTTTGTTACACGCCTGCCTCCTTTTTATTACCCTTGTTCTTGATC GCAACCTCTTTTCTAGATTACTTGAAAAAATGCGCTATTTTTTTTCCTTT TTCAACAGAGTCAATTTCAAAGGTGCTGTGGAAAAAGTTTCGGTTTTTTT TTGCAAAAATAATCGAAATTTGTTCGTTTATACTGCTTAAAAAATGACCA AAATTTCAAGTAATTCATTCGAAAAATCGATTTTTTTGAAATATACAAAA ATTTTCAATTTTTCATATCTGAAAACACAATTTTTTCGATTTTTCATTTT TCTTGGAAAAAACACAAAAAAAAACTGTATTTAATTTCCCACTTAATACT ACGATATCCAAGCCCCGCCTCCGCGTATTGTACGTGAACACGGCGGCCCA AAATTACACACTATCTCACACACGTTAAATGAGTGATACCGTACTCTCTC TGTTTTTTCTTTCATTTTTTCGGCGCCGAAAATTTTCAATTTTTGGTGGT TCTTTTGGCGGGATTTTTCGGATTTTTGTCGCGTTCACACACACACACCA GTTGGTGTTGCCTGTCGTCACCCACCCGCCCCACTCTTTGTCCGTGTACT GCTTTGCCATTTGTGCGCGCGTACCGCTGCCCGTCTGTCTTTCTCATCAT ATGCGCCTCGTTTTGTCGCTTTTTCTCCATTTGCCCTTCCTACATGGGTA CCTGCGGTTTTCATCGAAAATATCCTTAAAAATTCCGAAAAACCTCTATT TTTCGATTTTTGAATCGATTTTCGCCCAAACATAACCATTTTTCAGAATG AAGGAAGAACAAATCGCCTATAAATTGCCAGGGGCTTGGTATTACGAGGA GGACACTGCCTCGTGCTCTCCAGTCAGCGATCCGGAGGATATTGCGCAGT TTCTCAACTACAGAACGTCGATAGGCGTGCAAAATGTCACAGAGTCCGTG GAAGTTCCGACGTCGGAGCATGTCGCCGAGATTGTTGGTCGTCAAGGTAA AAATTGCCTTTTTAGTCAAATCTACAGTTTCCACAAATTTTCAGGCTGCA AAATTAAGGCACTGCGCGCCAAGACCAACACCTACATCAAGACACCGGTT CGCGGAGAAGATCCAATTTTCGTGGTCACCGGACGCCTGGAGGACGTGAA CGAGGCGAAACGAGAGATCGACTGCGCCGCCGAGCACTTCACACAGATCC GTGCGTCGAGAAGACATACACAAGGTAGGTGACCGTAGGCAGCCGGTTCC TGAGCGCCTTGTTCAGTTGTTCCAGGAGCCCATGCACCTGGACAGATCAC GAGCTATGTCAGAGTTCCGTTAAGAGTTGTCGGACTCGTCGTCGGACCGA AAGGAGCGACTATCAAGCGAATTCAACAGGACACCCACACGTACATCATT ACGCCGAGCCGAGAAAGGGAGCCCGTTTTTGAGGTAATTTTGTTGGAGAG CATAGAGTTTTGGAGCAAAATTCTCAGCAATTTCATGCTTTTTAACAAAA ACAGAGAAGTTTCTAGTTTCGGCTTAGAAAATACTGAAAATCGGCTTTTC CATGGCATATATCGTGCTGAAAATCTACTTTTGACTGAAAAATTCAAGTT TATGACTAAGAAAAGTTAGATAATTAGACCATGCTATTATTTCATAATAT TGGTCCAATTTTTGTTGCTTTGCTGAAAATTAACAAAATTTAAAAATCGG CGGGGTTTCTGAAATATTTCTGTATAAAAACCGATTTCAACTCCAATTTT CCTCGATTTTTACATATAAGTAATCTAGAAAAATTGTAAAATGGGGAGAA TTCATAAGAAAATCGGCTGTTTTGTAGCAAAGTTTGTAAATATATCATTC TGAAAGTCTCAGCGATAACCGTGATTCTAGAAAACCTCATCAGGATTTGA TTTCTGCGACACACTTCTCTCGAGTTTTACATAGAAGTTGTTCATTACAA ATTTCTATTTTTAAGGTCCCCATTACCATTGTCAATCTTTCATTCCGATT ATTTGTTTTTCCTCGTCACTGCAAGAAGGGGAGCCTAATGCCTAGACAGA GACAGAAAACACATGTGTGTTTGTAAGTGTCTGGTGTGATATACCCAATT CTTTTCGGCCGTCTCTTGTTTTCTTCCTGACACCGAGTTTCGAGCGATTT TCGAGGTCGTACAGTTGTGAATTGGCTGCCACTGCTGTGGCAAACAAACA AAAACAATCAAACTTGTGCGGAATTGATATTCTAAAGAGAATAAAGAGCA ACCATGGGCGCCGAAACGAGCAGCGGAAGGGCTTGTGACCTCTTGGTGTG AATTTTAAACGGTTTCCTTCCATCCGAAATGCTAAAAATTCCTCGGGAGC CGTTTAGGGTCTTCACTGAGAGATGATGATTAGAATCTTTTAATTTGGTA GAATTCCCCCCGCGGGACCGATTAATGTTGCATGTCGTCTTCTTCTTCTT GGCAGCAAAATATCATTGTTGATGAGATATCTCAGTTTGATGCTCAATGA CGCCTTGAGAAACATCCAGCACACAGTAGATTAGTCGAATTACCGATGGA TGGGGCCGCCCGGGTTTTTGGAGCCAAGAGTCACGCGATGGGGAGTCCAC ATACACACGCACCAACTCTTTCATTCCATCTAACAGGGTAGTAGGGTGAA GAAAAGGGGGGGGATCGCGATGACAAAGAGACTCAATTAATTAAATGACC GGGGCGGGCGCCAAATTGCACATATGCTTGGTTTTATTGCACCGTTGGCT CAGGGAGAGCAACATTTTGTGGCAGCACCAGGGGTACTTCAAAATGACGA ACAAAGGTCGTTGTTGTTTCTATAGGAAGGCTTCCGAACTTTTGAACAGT AATCAGATCATATTAGGGTTATGTAATTGACGGTTTTGACCGTATGTGTC TATAGATGCGTGTGTGTGTGTGTGTGTGGCGACATAAATTACCGTATCCG CATGGCCTTTTTCCTCCTTCCTCACAATGGTAATTATCATCCCCCACTAC TCTGGGTCGCCGGACGAACTGTGAATGTGTTGACAGTGCGGGCCCACTAG TACATGACATCTTGCCCCGGTGCGGTGCGCTCATCGTTATTCCTCCCAAT TTAGTTGTCCGTTTGACACAAATGCCTCCGGTACCCTGGACGAGACAAGG AGGTGATGGATTTGCCAGGCGGGGAAGGAATTACATGATGTTTGGGAGAA TATGAGGGAAAGGTACAGAAGCTTCACCTCGGATATTATATGCGTTCTAA AAAGACCAATTGTCGTTTTTGTTCGTGGCTCAAATGAATAATTGGTATGG AAATATAGAAAAATGTCCGACTAGTTTGGTAATAGAATTGTTTCGTTTTG AACATTTCAAAAATACCTCAAATAGTGCACTTGAGATCTTTGTTGAATTT TCAAAGGTTTTATTTTCAGATAAATTGAGCATTTTCCATACTTATAAAAT CAATTTTTGGTTCAAAAACTTCTAATTTTCTCACCGAAAAAGTTCTCACA AGACAGTGACAGAGGTCGCGTGTCGTTTTGATATCCATCTCGATAATCAG AGATTGTGATCTATGCCTCAATGACACAGTTCCGCGAAGGAGTCCGAGAA AAACGTACAAAATTGGGGAAAAATATTGGAAATAACATTTATTGAAAAAT TAAAAAAAAAACATAAACTATTTAAATTCACAAAAATTCGGAAGCATATT TCCTATAATGAAAACAAAAAATTCTGAAAATGTGTACTGCACAACATATT TGACGCGCATAATCTCTTGTAGCAAAAACTACAGTAATTCATAAAATTGA CTACTGTAGCGCTTGTTTTGAGTTACGTGCTCTACGAAATGAATTTAAAT AATTTATCGATGGAAAAATAATTTTAAGCAGAAAATGAGAAAATAATATG AAGAAACAAAAAGAAATTCGAGTTACGTGCTCTAAGAAATGAATTTAAAA AATTTATCGATGGAAAAATATTTTTAAGAAGAAAATGAGAAAATAATATG AAGAAACGAAAAGAAATTCATTCGAAAATCGAGCGCGTAAATCCAGAGCT ACAGTAATCAGTGAAAGAATTACTGTAGTTTTCGCTACTAGATATTTAGT GCGTCAAATATGTTGCGCAATACACATTTCTGGAATTTTGTGTTTCCGTA ATAAAATAAGTTTTTTGCGAGAACTACAAAAATATAACTATTTCTATTCC AGGTGACCGGCCTCCCACATAACGTCGAGGCTGCCCGCAAGGAGATCGAG ACGCACATCTTCCAGCGAACCGGAAATCTTCCAGAAACCGACAATGACTT TGCCGGACAGTTGGCCGGTGTCTCGTTGATGGTGCAGAAGCAGCAACAGG CTCAACAACAAATGCAGGAGGCTCAGCAACAATCGATGTTCTATCGAAGA GCATTCGGCAACAGTAATCCGTTCAATCAGAAGGAGATGTCGTCGTCGCC ATTCGGAATGGAGAGCTCGTTGGGATTGGACGCGTTGCTCCGCAGTTTCC CATCGATGCGTAGTTCGTTGACTCCGGAATCTCTTTCCGGTACTGGACTG TCTTCTCGTCCATCGTTGGGAGGAGGACAATCGGCGAAACAAGATCTGCC AACCTACGACTACTGGGGAACCAACAACTCGCTTAATGATATTATGGAGA ACGGTAAGCTTTTTTTGCGAATTTTAATAAGAATTTTAAATGACAAATAA GGATTTTTCAGAAATTCTCAGCCGCAAGTACGATGCCCTGTCCGCATGGT CGTCGATGGGATTGGAGAAACGCGAGGAATCCCCAACCAATGGGTATATA TTTTTGAAGGAATTTTATAAATTTTTGAAATAAAACTAAAAATTGCAATT TTCCTTCAAAGTTCTAAATTTTTGAAAGAAAATTTGATTTTCCGCTAAAA AATTTAAAAAAAAAACAAGTTTTCGTGTTTTCCACTCGGAACCTGACGGC TTCTTATCAATTTTTTAAATAAAAAATAACGTTTCTAAAACTCAGAATGT TTAAAAAATTTCACATTAAAAAATTATTTTTCCGAAATCTTGAACCTATC CGTTTTTGAAAATAAAAAAGAGTAAAATCGTAGTTTTCTCTATAAAAATT ATAATTTTCATTTGAAATTCAAAAATTTTTAAATAAAATTGGATTTTGTC CGTCAGAAATCTATAAAAAGAAAATTTTTTTTGAACAATAAAAGAAAAAT TGTAATTTTCTTTTGAACTTCAAAAAAATATGTTTTTTTTCACATGCAAA AAATTGATTTTTTCAAAACCTCGTTTTTGAGAGAAAAAGGTGAAATTCCA ATTTTAAGAGGTAAAGTTAAATTTATTTATTTTATGAGAAAAACTTGAAA TTTAAAGGAAAATTACTGAAATTTACAATTTATCATACATATTTTTTAAT TTCGACATATCTCGAAATATCAAGTCGTAAATTTTTTCCACAAAAGTGTG ATATTCTCTTTAAAAACTAGAAAATTTCAATTGTAAATTTATGAAAAATC AAATTTTTTGCAGGCTCATGTCCTCCCTCAAAGGAACATCCGCCGGCTTC GGTCTTCTCAGCACAATCTGGTCTGGCGGAAACATGAATCTGAGCCCAGG ATCGTTGGCTTCAGCATCTGCCTCGCCGACTTCATCGACCTGCGATCACA ACGATCATACTCTCGTGCCGATCAATGGATAAGCTGTGGATCCATTCATC ATTCCATTACTATCGTGTAGACTCTCATCTAGCAAAAACCCATCCTCAAC GAGTTCCAAATTCATCTTTCCATTCTTTAAAAGACTCTTTTTCCCATTTT CTACTTTGTTCATCGGTGTACGAGTCCCTCCATTCCCATTTTCTCACCTC TTTACTACATTACTAGAACACACAAAAATCACCATCATTCTCACCCCAAA ATCCTAGACAAAAAAAACGAAAAAAATCACATATATTTATATATAACTAT TATTATTTGTTATTCATATTTTTGAAATATCTATATTATATATATTTATA TATGTAACCCATGCAGTCCCCCAATATATATTCCTACAGTAGGTTTTTTT GGAAAATCTGTAACTTTCTCTATTATTCTTTTTTGCATTATGATAGGACG ACCAACTCATGTTTTAAACAAAAATTATATATATTATAAGGATTTCCTCT TTTCTCTCTATCTCTCACCTAGTGTTTAACTCCCAATTTTCCCCCTCTCT ACTACGCACAACTAACGGAGAATTGAGAGGCCTTTTATATTTATAGCACC TCTTTATAATTAAAAACTCGAGTGATCCCCACCTCACCCATCAAATTTAT CGTATTTTGTAAAAGTTCTGATATATTCCACAGATTTTGGTGTATGTGAA TGAAGCGATTCGTGTCGTCTCTCCATATTCTGGTATCCATAGCAACTCCC CGAGCTTTTGGCTCACTCGCGCACGCCCTATACTATACCTTTACTATTAT TAAATGCACTCAACAAATCCTATCCTGCGTCAATTGGCCGATCAATTGTC CGAATTGCCACAATATGCACCATTGCGGGTAATAATAGCACAATAGTTGA ATATATTAATAATTCAAAAATATTTATTATATTTTGAGGTGTCCCATTGT TTCAGACATATATCCGCGCGACGATAAGTGCCACGTTGGGGGAAACGCCA AAGAAAACGAGTAGGGATTTGACGTATAGAGGTGAAATTTTTAGAAAATT TGAAATTTTCTGAAAAAAAAAGGATTTTTCTTTTATGAAAAATGCTCTTT TCGCCAAAAAAATCACAATTTTCGACTTAAAAACTTCAAAATTTTTTCAG GAACACACAATTCAAAATACAAAATATCTCGTAGCAAAAACTACAGTAAT TCTTTAAATGACTACTGTAGAGCTTGTGTCGATTTACGGGCTCAATTTTA AAATTAGATAAAAATGAGAAAATAAAGACACGAAGAAACGAATGAAAGTG TAATATCGAAAATATTCGAAAATAAATAAATTTCAAAAATCGAGTCCGTA AATCGACACAAGAGCTACAGTAGTCATTTAAAGAATTACTGTAGTTTTCG TTACAAGATATTTTGCGCGTCAAATATATTGTGCAATATGCATTTTCAGA ATTTTGTGTTTCCGTAATAGGTAAAATGTCAGAAAATCAAGGATTCAGTG CAACCCCGCGTTCTACGGGTATTTTGGCCACGGCCACTTTTTGCAAAACT GCAAAATAGGCGTTGTTATTTCATTTTCTGAAAAAAACATTGAAAATTAT TATCGAGAAAGTACGATCTGACAAATTTCTCATAATTTATTTTTGATCTA CCTGTTGAACTTTACTCCGCCCCCAATCTTGTTGCCGTTGTTATTTTGTT GTAGCTGTCTTGTCGAAGGACGGGGAGGAGCCTAGTCAACAAGGTAGATA AAAAATATATTATGAGAAATTTGTGCGATCGTATTTTTTCGATTATATAT ATATATATATCTTCATGTAATTCTCATGAAATCTTGAAAAAAAACGCGAC ACATGGTATTACCACGCCCACTTTTTATAATTTGAGCGCGTGCAATTTTT TGTCGATAACATAGTTTCTATTTAAACAAAAAACATCGTGCGCCCACATT GAAGAAAATCCTATAATTGGGCGTGGCCTTAACTCTGAAAATTTACAGAA CGTGTCACCCATAGCATGATTGCCGATTGGCTCGAGCAGAATGGATATCC AATATCATCTCAAGTCTTGAAAACAGAAATGTCTGGAAACTACATGGAGA GTGCAGAAAAACACGTGGAAAATGGGGAAAAAATCGATAATCTATTGCGA AGTCAGCTGAAAATCGATATTCGCGATGGCACCGGTGACGATTTTGAACG AAAATCGATAAAATCGATTGGCGCCGGCCGCCCGTTTGCAAAAATTAATA TGGTCGATAAACAGCGAGCACCGTTGAAAATTACACCGCTTAGTGATGAG GAATTTCGAAAAACGATGCGGAAACGGATGGAAATGGAGAGGGAACGAGT GAGTTGCGTTAAATAATTTTTTTTTGAAATATTTAACAAAAGTCGACAAG GCGATTTTTTAAAATCGATGTTTCGCGACTTTTATTCAAAAGAAAAATTT CAATGCCCTAAATCACTCAAATGATGATTAAAAAAGTATTTGCGCGCGCG CGTAAAATTTAGTGCCAGCGTATGACACTATGTGGTGCAAACTTCACTCC GGGTCCGACACTTTTTGGATTTTGCGCATCGCTATAAAGATTTCAGATCG CGGCGTGAGAGCGGCGTTTGCGGCGCCGACATGAGAGTCCTACTTTCCTA CTTTTCTTGGCAAAAAAATCGATCGATTTTTCAGCTCGCACGTCTATCCA ACCAGGCAGAAGACGATTCCGACGATTCATCGTCCTCCTCCGACTCTTCC ACGTCATCCGCGTCGTCATCTTCCGAGGAGAAGTTGACTTTTTCGGATAT CTTGGGGAAACCCACAGCAGCTGGCGCGGAGAAAATGATCGAACTAAGCC AAATTCCCAACGCATGGGGTCCGTCAAAATCCGCGTTAGTCACTGATGAC GTGGCAAGCACTTCTGACCCACTTCCGGCGATTTTCAACGCACATCTTCC GCCGCTCTCCATGGGACGACCACCGCTGACAAAAAGCGCGAAAAGTCGGG AAATCGACGCCATTTTCGGCTCGGATAACGTGGATTATGATTTAGAGGAT TTCGAGCAGGATGGCGTGGCGAAGAAAAAGTCTATACTGCCTATGGAGAA AAAGAAGGAGGAAGCGAAACCAAAGGAACAGGAGCTAGTGGAGCCGTTGG TCTTGTCAGAAGGTAACTTTGAACTTGCACCATGCAAAAATTTCGAAAAA TTATGCACGTGGTCACTGGCTGTCCTTTTGCATAAGCTTGAAGCAAACGC GCCTCATTGAGAATTCACGTTTGCGCCAACTCTCGCTATCCATTGGGCGT GAGAGACGCAGATACTACTTTTTTCTCTGAACGTGAAAAACGCAAAGAAT AACCGTTTTGCCGTCTGCATCTCTTCTTTCACACGCTATTTTGGCTGTGG ACGAGGAATTCTCCTCTTCCAGGATTTTCTAGGCCATTTTCTCATATTTC TCAAGTTTTCTCGTCCGCGAGAAAACGTGAATTTTGAGACAGCCAGCGAG CACGTGATTATGCAACTCTCCTAAAAATCGATCATTGTTCCTGTAGCTTA TAATTTTAAAGGCGCATATTCCGCTTGCGGAGCAAAAGTAAAAAAAAAAC ATGCCTCTACATACAAATCGATGAATTTCCTGAAAAATCAATAATAAAAA ATTTTCAGGAGAATCAATCGACGAGCTTGAAGATTTCGACACCGGTCTAC TATCTTCCGGAGGATCCGATTATTCTTTTTAAAATTTTCTTCTTTTAAAA AATTTCTTTTGAAATAAATAAATTCTCACCTAGGAATTTCAACAATTCAA CTTGAAAAAAGTTCGCGCAAACTACGAACAAATGTGTGTCGAGCGGGCGG AGCCACTGAGAAAGAGGAGCAAAATGTACACAAAACCATATTTGAGTGTA ATTTTTCAAAGTTTGGCGCCGATTTTCTGTGAGAGATGAGTTTTCTCAAT TTATATTTGGTTATTTTTATTTTAGTTCTTACTGGTAAATTTCTGGGTAA GTCCTGATGACTTTGAAAACGAAAAAAACTCTTTCATTGATGCTAGTGCG ATTGCTAGGAAAGCAACTTTTCAGTTACCAAGAAAAAGTCCAAGGCCATA GGGATTAGCTGCGTGGCATAACAACTCATCCATCCTCGCAGATGCAAATC CGCTCTATTGGCAAATAACATGGAAGAGTATAAACATTTTCTCTTCCACA CGGAAACCTAGTCCCCTTGGGGAGCGGTAGTGCCCACAACCCCGCATGTT TACCAAACTACACAGACAGCGCTATTGTCTGCAAGTGGCAAAAAATGGCC GCCGAAAATTTTTACAATGTAAATAATTTTCAAAGTGTTACTATTTGCAC CTTTTTGGCAAAAATTCCATAAGTAAGAAATTTGATGGAAGAGATGCGAG GTGCGGGGAGTCTGAAAATGGCTGCATGGCCTGTATGTGACCTGTGTATG TGGCCTAAAGGTCTAGTTACCCCTAGAAATCAAAGTTCAGTTCAGCAAAG AGACTTTATTTTCAGCACTCCAACAAGAGGCAGAAACTCAACGGTACGAC GGATGGTACAACAACCTGGCGAACAGTGAATGGGGTTCTGCTGGTAGGTT TTTTTGGAAGAGAAATGACGTCACACTGACCTACTCCTTCAGGAAGTCGG CTGCATAGAGATGCACGTTCCTACTACTCAGACGGTGTATATTCAGTGAA TAACTCACTTCCGTCCGCCCGTGAACTCTCCGATATACTATTTAAAGGAG AGTCCGGTATTCCTAATACAAGAGGATGCACCACTTTATTGGCATTTTTC AGTTTGTATTTTTTTAATACTTATAGTAGCCAATGTTTGTAGGTCAAGTA GTTGCTTATGAAATAATGCAATCAAATGGAGTATCCTGTCCACTAGAGAC ACTTAAAATTCAAGTACCCCTATGTGATAATGTATTTGATAACGAATGCG AGGGGAAAACTACAATCCCATTTTACCGTGCAAAATACGACAAAGCAACT GGAAATGGTCTTAACTCGCCTCGAGAACAAATCAATGAACGGACTTCATG GATTGATGGATCATTCATCTATGGTACCACCCAGCCATGGGTGTCCGCAT TAAGATCTTTTAAACAAGGACGGTTAGCTGAAGGTGTACCTGGATATCCA CCACTTAACAACCCACATATTCCATTGAATAACCCCGCTCCGCCACAAGT ACATCGATTGATGAGTCCAGATAGATTATTTAGTGAGTTCATTGTTCTAT AGAAAAGTATAAATATTTAAAATTGAAGTGTTGGGAGACTCGCGTGTGAA TGAGAATCCTGGTCTTCTTTCATTTGGTCTGATCCTCTTCCGTTGGCATA ACTACAATGCAAATCAAATCTATCGAGAACATCCTGACTGGACAGACGAG CAAATCTTCCAGGCAGCACGTCGTTTGGTGATTGCATCTATGCAGAAGAT TATTGCATATGACTTTGTTCCAGGACTTCTAGGTTACTCAACTATCATTT AATAGCTTAAACTCAGTGTTTCTTTTAAGGTGAAGACGTTCGTTTGTCAA ACTACACCAAATACATGCCACATGTTCCACCTGGAATCTCGCATGCTTTT GGAGCAGCCGCCTTCAGGTTCCCTCACTCAATTGTGCCACCAGCAATGCT TCTGAGAAAACGAGGAAATAAATGTGAATTCCGGACGGAAGTTGGTGGAT ATCCTGCATTGAGATTGTGCCAGAATTGGTGGAATGCACAGGATATTGTG AAGGAGTACAGTGTGGATGAGATTATTCTTGGTTAGTTCATACTTGAGTG GTTATATAATAAAGATTGTAATTTCAGGAATGGCAAGCCAGATAGCTGAA CGAGATGATAACATAGTAGTCGAAGATCTTCGTGATTACATCTTCGGACC AATGCATTTCTCTCGTTTGGATGTTGTTGCTTCATCAATAATGAGAGGAA GGGACAATGGAGTACCACCGTATAATGAATTGAGAAGAACATTCGGACTT GCACCAAAGACATGGGAGACAATGAATGAAGATTTCTACAAGAAGCATAC TGCAAAAGTGGAAAAGTTGAAAGAGTTGTATGGAGGCAATATTTTATATC TGGATGCTTATGTTGGAGGGTAAGCGTTTTTTATAAATTAAGTTAGAGAT CCTCCAATATACCCTCATAACATATTGTATCAGTTTACTTCATCAATAAT TCAGCTTGAACCATTTAGAATGCTGGAAGGAGGTGAAAATGGGCCTGGAG AGATGTTCAAAGAAATCATAAAGGATCAGTTCACCCGTATTCGAGATGGA GATCGATTCTGGTTTGAGAATAAACTAAATAGATTATTCACTGATGAAGA AGTTCAAATGATTCATAGTATTACACTTCGTGATATTATCAAAGCAACAA CCGATATCGATGAGACGATGCTTCAGAAGGATGTGAGTTTATTGTAAACA CCCGTTGGTGATGATCGAGTAAGTTAATAGCATGTTTCATTCCAGTCATT GATTGATATTTTGTCATGAATTGTTATATAACAATATATGTATGTATTAT ATTACTCATGTCTCAATATTGCATTTAATTTCCAGGTATTTTTCTTCAAA GAAGGTGATCCATGCCCCCAGCCGTTCCAAGTGAATACCATTGGACTTGA GCCTTGTGCTCCACTTATTCAATCCACCTACTGGGATGATAACGATACTA CTTATATCTACACTCTAATTGGTTTGGCGTGTATTCCTTTAAGTCAGTCT TTATTTCAATCTAAATGACTACCGATAGAGACTCAGCGATTATAGAGTTG ATCAAGCTAAGAACTTTCAGTTTGCTATAGTATCGGTCATTATATGGTTG AACGACGTATCCGAATAGGTCATAACAGTGCTTGTGACAGCTTGACTACT GACTTTTCAACAGAAAGTCCCAAAGTTAATGTCTACAAAGTGAATGGTTC GTTATTTTTTCATACTTGATTTTTATTTAAATTATACGGTGAATCTGTTA CAGCTTTGGAATGGCTTCAAGAAGAGTACATACGGCAAGTTCGGATAGAA ATAGAGAATACCACGTTGACAGTGAAGAAGCCACGTGGTGGAATCCTTCG AAAAATTCGTTTTGAAACTGGACAGAAGATTGAGGTATTCCACTCTATAC CGAATCCATCAGCAATGCACGGACCATTTGTACTTTTGTCTCAAAAGAAT AATCATCATTTGGTGATAAGATTGTCGTCTGATAGAGATTTATCTAAATT TTTGGATCAAATTAGACAGGCGGCTAGTGGAATCAATGCAGAGGTTATCA TAAAGGATGAGGAGAATTCTGTGAGTTTACTTCAAGAAATACGTCGAATC TGGAAATTATTTCAGATTCTCTTGTCCCAAGCAATCACAAAAGAACGCCG TCAAGACCGACTGGACCTGTTCTTCCGTGAAGCCTACGCAAAAGCATTCA ATGATAGTGAACTTCAAGATTCGGAAACTTCATTTGACTCATCGAATGAT GATATATTAAATGAGACAATATCTCGTGAGGAATTGGCAAGTGCAATGGG AATGAAAGCTAATAATGAGTTTGTGAAGAGAATGTTCGCGATGACTGCAA AACATAATGAGGATTCGCTCAGTTTCAATGAGTTTTTGACAGTATTGAGG GAGTTTGTTAATGGTGAGTATGATTTACTAAAGTTCTGATCACAAAAACT ACACGTGAATGAATGTTCCAGTCCGTTTTACACTAGGTTCGGTAAATATG TATAATGTTATAGTGACTGTTACATGTTGAAGCAGTAGTCTTCTTTTCTT TGAATGGCAACAAAAAGGCTCCCTCATTATTTAAGCTGTATTTCACTGCG AATAACGGCTTAATGTGCTATTTAAACATTCGGGTCTATTAGTCTTTTAG TATATTGTCGCGCATACTAAGGCTCGCTTTAATAATCAGTTTGAAACGCG AATTTGATGGTGTTAAATACGATTTTAATTTGGGAATTGTTCACAATTAG ATGCTATCTTGACTAATAATAATTAAATACAGAAACAAAAAACTTTTAAT GGACAAAAATCACTCCGAAACTACCCAAATCGGCATTAGGTTAATGTCTT TGATTACTCACCTTCTTTCCTAATTTCCAGCTCCTCAAAAGCAAAAACTG CAAACTCTATTCAAAATGTGTGATTTGGAGGGAAAGAACAAGGTACTCCG AAAGGATCTCGCAGAACTCGTCAAGTCCCTCAATCAAACCGCCGGAGTTC ACATTACCGAAAGTGTGCAGCTTCGATTATTCAATGACGTGCTGCACAAG TCTGGTATACATCCCTGTTTAGTATGCCAAGTATTATAAGAAGTTTCAGG AGTAAGTGACGATGCGGAGTACTTGACTTGTAATAATTTCGACGCATTGT TCTCGGAGATCTCTGACGTCCAGCCGATCGGTCTGCCATTTAATAGGAAG AATTATAACTCACATATCAAGGAGTATGTTGTTGAATTCAAATCCGCAAG TAAATACAAACTTCAGGCCATCATGCCACACCTCATTCCCAATAGTGGAC CACTCTACTCCTGCTCCACTTTCTCTGATTCAGAGAATTTGTGCATTCCT GGAAACCTATCGCCAACACGTCTTCATCATCTTCTGCTTTGTCGCCATTA ACATTGTCCTTTTTTTCGAACTTTTCTGGCGTAAGTTTACTGTTTAGTTC GGTTTTCAAAAGCAATATTCAATTAAGATTCCCGCTACCTAAACGAAGAT CGAGACCTCCGTCGGGTGATGGGTGCCGGGATCGCTATCACTCTCTCTTC TGCGGGAGCCTTGTCATTTTGCATGGCGTTGATATTGCTCACAGTTTGTA GAAATATTATAACACTGCTTCGAGAGACAGTTATTGCGCAGTATATTCCA TTTGACTCGGCTATCGCGTTCCATAAGGTAAGAGCCTCTCTCTTGGCCTA GCGCTGTAAATAAAACTGCCAAATTTTTAAACTCCATCAATTTCAGATCG TCGCATTATTCACCCTATTCTGGTCTACCCTTCACACCATCGGCCATTGT GTTAACTTTTATCACGTTGGAACTCAAAGCGACCGTGGACTTGCTTGTCT CTTCCAGGAAACATTTTTCGGGTAAGCCCCACCTACTCGGTAGATCTCTC AGTAGATTGAACGTTGGCTTGCTTTCAGATCTGACGTCGTGCCTACCCTA AGCTATTGGTTCTATGGAACAATTACTGGGTTGACGGGAATTGGATTAGT TATTGTTATGAGTATCATTTATGTGTTCGCATTGCCAAAGTTCACTAGAA GAGCATATCACGCGTTCCGGCTGACTCATCTTTTGAATATTGGGTTTTAT GCACTCACTATTCTTCACGGACTTCCTTCACTTTTTGGGGTAAGGCTTAA TTTAATTTGATTCATTTACGCTCTTTTTACGCTCTTGACGTCAATATTTG TTACAGTCTCCCAAATTTGGCTACTACGTTGTTGGACCCATTGTCCTTTT TGTAATCGATCGTATAATTGGGTTGATGCAATATTACAAGTCGTTGGATA TTGCCCATGCAGAAATCCTTCCATCAGATATTATATACATCGAGTACCGT CGTCCAAGAGAATTTGAATATAAATCAGGACAATGGATTACTGTATCATC ACCATCTATATCATGTACCTTTAATGAATCTCACGCATTCTCGATTGCCT CAAGTCCACAGGATGAGAATATGAAGTTGTATATAAAAGCAGTTGGACCA TGGACATGGAAGTTGAGAAGTGAATTGATAAGATCATTGAATACAGGGTC ACCATTCCCATTAATTCATATGAAAGGACCATATGGTGATGGTAATCAGG AATGGATGAATTATGAAGTTGCAATAATGGTTGGAGCAGGAATCGGAGTG ACTCCATATGCATCCACGCTTGTTGATCTTGTACAAAAAACATCAAGTGA CTCGTTTCATAGAGTTCGATGTCGTAAAGTATATTTCCTATGGGTGTGTT CGAGTCACAAGAACTTTGAATGGTTTGTGGATATGCTGAAAAATGTTGAA AATCAAGCAAAGCCGGGAATCCTGGAGACACACATATTCGTCACTCAGAT GTTCCATAAGTTTGATTTAAGAACTACTATGCTTGTGAGTTTTTTATGCG TTTTTGGTTTTTTAGTGGTATAACTCTAAAACTAAATGTTTGGAGAAAAA GGCTTAACTAATAAAATGTTGCTCATAACTTTTTCTATGCAATAAAATAT GTTTCAAAATTTCATCCGAGATCTCACAAGTCCAAATTTGATTATTTTTC TTAAAACGAGTATATTTCAAGACCGAAAAGTTTTCTTGAAAAAATGGTAT ATTTTTTGCACATAATCATTTTTTCATAAAGTGCTCTGCAAATCAGAAAT TAAAGTTCGAACAGTCTTATAGTTAGTACCGTGACATTTATTGTAACTTA AAAAAAAAAATTACGCGACATAGAAACGCTCGATTATCTGAAAAACCAAA TTGGATTTTGATTCTAGTTAATTTATTTTCAAAAATAAACATATTTTGTG ATAATTGTAAACTAAAAACTATACCTGAATATTTTTATAAATTTTATGTG GTTTTTGGTTTCAGGATTAAAACAATGGTAAAATACTACCCTAACGGCTT ACCCAAGGCTCAGAAAATTGTAGTTAGTCTCAACAAATTAATACATATCA TTTCTTATTTGCAGTACATTTGCGAGAAGCACTTCCGTGCCACCAACTCA GGCATATCAATGTTCACTGGCCTACACGCTAAGAATCATTTCGGACGGCC CAACTTCAAAGCTTTCTTCCAATTTATTCAGAGTGAACATAAGGAGGTTA GTTTCATGGTTTTAACCTCTAAATAAAGCAAATTTGCAGCAATCCGAAAT TGGAGTGTTCAGTTGTGGACCTGTAAACTTAAATGAAAGTATAGCTGAAG GATGTGCAGATGCCAATCGACAACGAGATGCTCCGTCATTTGCACACCGC TTTGAAACTTTCTAATCTTTCTACTGTTACTTACTATGAAAATCATAAAA ATTAAGACGCTTCATGAATAAAACATTGAGAAAAAAAACCTGAAATAAAG AATTTTCACATTTGTCCAGGTAGTATATATCCCCAATACAAACATTTTGA GACGCGAACCTTCCCAAATAATCATCAGACATTGTTCTGTAATTAGGCAA AAAACCAGCCCCCTAGCCTCCTCCCTCACCACAAATAAAACCAATTCCCC CATTTCCCCCCAGTTCATTCACCAACAATGAGTTTGTTCAAAGTATACAC CTCGTTTTCTTTGTTTTTCTCCGTTCTATTCCTTCTCGTCGCTTTTATTG TGATCTATGACATTTTCGATGAAATTCGCGAATTTCAAGAAGTAATCGAA AAAGATGCCAGGAAGTTTGAGGTAAGGCAATATGTGGTGCAGCAATAATT TCCGCATTTTTCGTAGATCATACCGTTATGGGACAGTCTGACACCACGTG ATAAAATAGTATACTAAGTATTACAAGCAAGGTTGAAACGAAAATGAAAT TTCGTTTTCGAAAACGAAAACGAGAATTTTCGTTTTAAACGCGAAAAACG AAAACGAAAACGAAAATATCAGTTTTGTCCAATTTAATTGGTAAAATATA GATTTCATGAAATATTAGGTCCATTTTCGAATCAATAATAAACAAACAAT AGTTTTATTACAAAAAAAACAATAAAAATTAAATAAAGCAAAAGAACAAT AACAATAACACTTGCTGAACAACTATTCCATTAATCTAAACCAATTTTAA AGCCTAAAACTTTTTGATTTTGCTGTAAGAACACAGACTTGCTCAACGAC TTTGTAGACATCTTTCTTCTCAGCTTTGTAGAAACGCGGCCAGCTCCTGA AAAAACTCGTTCCGATTCAGCAGATGAAGCTGGAGTTGTCAGATATCTGT TCGCTATTTGAGAAAGCAATGGAAACTTAGATCGATTGAGCGGATTTTGC CAAAAAACAGCGGGGTCTGATTTTCTATTGTTATCGGTATCGTAGAAAAC TTCAACTTCTGCACTAGCACAGAGCATGGAATCTACAGGCGCTTTGTCTT TTCTTTTTCTGATCTTGGAATGCTTTTTCTCGTAAGCTTCAAACAGGTCG TCTATTCCCTCAAGAGTTTCATTTTCTGGCTCATCGACTGCTTCTTCCTC TTCTTTTGATAATCCTTGAGCTAAGCTCAAAACAAGCTCTTTTCCGTCAC AATATTTTCTTTTGTATCGTGGGTCAATGTTTGATGCAACAATCAGTTTG AATGTCACCAGTCGGTGCCCGCGCCGTAGGTGCGGTCAACGGCTGGTATG TATATAAAATATATTAGATTGAAAATATAACATTGAAAAAAAAAAACAAA CATTGAAACACAATAAAAATCAAAATATAGACGCTCTTTATTCTTGAATA AAAATAAGAATTACGAATTGTTCACTGGGAGTCAGCTTATTTCTTGTACA AAATAATGATTTTGACCAGTGTCAGCTCAAAAAAAATACGTTGACAGAGA GAGGTGGCATTTTCGTTTTTTCGAAAATTTTCGAAAACGAAAACGAAAAA ATCATTTTCGCCAAAAACCCGAAAATAACGAAAAAACGAAAATTCGAAAA CGAAAAAGTGACAAGCCTGATTACAAGGTCGGTATTTCATAATATGAATA TTGTAGAGAAAGGTTACTAGCGATGATTCCAAAAAAATTTAGATTCATCA GAGATGTACACCCAAATACCCAAGGCATAGGCCCTAATTATTGATTAGTC ACAACTTCTTACTTCCAACAAGCTTTTCCTATTTTTCCAGTTCTACTCCA CCGCCGCCTCACGTTCAATTGCCGGTCTCGACAAGCGGAGCCTATTCGGA GGAGCTGTTTCTTTTTAGTTGTATATACATCTATTCAAAATTAAAAGTCA TTGTTGTTGTTACCCATAAAACAGTGAATGAAAAAAAATGAAGTCTAGAC AGAAAATGTAAAGCTGGCACAGAATACTCAAAGAAGCATAAAATATGTAT AATAATGATGATATAGGGAAGGTTAGAACGTTTCAAAGCGATGTGCAAAT GAAGGAGCATCTCGTTGTCGGTTGGCATCTGCACATCCTTCAGCTATACT TTCATTCAAGTTTACAGGTCCACAACTGAACACTCCGATTTTGGATTGCT GCAAATTTGCTTTATTTAGAGGTTAAAAAGCATTTAACTAACCTCCTTAT GTTCACTCTGAATAAATTGGAAGAAAGCTTTGAAGTTGGGCCGTCCGAAA TGGTTCTTAGCGTGGAGACCAGTAAACATTGAAATTCCTGAGTTGGTGGC ACGGAAGTGCTTCTCGCAAATGTACTGCAAATAAGATGTTAAAGTTTAAA AGCTTCAGACCTTAAGATGCCACTGCGTTTAAATGCGTCCGCTTTAATCA GTTTATAACCAAACCTGACGTTTGATTTTGAAAATTATCTTCAATAAACT CACAAGCATAGTAGTTCTCAAATCAAACTTGTGGAACGTCTGAGTGACAA AGATATGTGTCTCCAAAATTCCCGACCTTGCTTGGTCTTCCACGTTCTTG AGCACATCCACAAACCATTCATAGTTCTTGTGAGTTGAGCACACCCATAG GAAATATACTTTACGGCAACGAACTCTGTGAAATGAGTCACTTGATGTTC GTTGTACAAGATCAACAAGTGTCGATGCATATGGAGTCACTCCGATTCCT GCTCCAACCATTATTGCAACTTCATAATCCATCCATTCTTGGTTACCATC ACCATATGGTCCTTTCATATGGATTAATGGAAATGGCGATCCTGTATTCA ATGATCTTATCAATTCGCTTCTCAACTTCCATGTCCATGGTCCAACTGCT TTTATATACAACTTCATATTCTCATCCTGTGGACTTGAGGCAATCGAGAA TGCGTGAGATTCATTAAAGGTACATGATATTGATGGTGATGATACAGTAA CCCATTGTCCTGATTTATATTTAAACTCTCTTGGACGACGGTACTCGATG TATATAATATCTGATGGAAGGATTTCTGCGTTTACAATTTCTAATTTTTT GTAATATTGCATCAAACCAATTATGCGATCAATTACAAATAACACGATGG GACCAACAACGTAGTAGCCAAATTTGGGAGACTGTAACAAATATTGAAGA AACTTCTTGAACCGAACAGTGGCAAAAACTCACATCCAACAACTTTGGAA GCCCATGAAGAAGAGTAAGTGCGTAAAAGGCAATATTGAGAAGATGTGTG AGCCGGAATGCGTGATAAGCTCTCTTAATGAAACATGGTAACGCGAAAAC ATAAATGATGCACATGACAGCGACCAATGCAATTCCTGTCAGACCTGTAA TTGTGCTGAAGAACCAGTAACTGATTGAAGGAAGGAAGTTGGATCTGAAA GTTATTTGATGAAAGTTGTTGACAGTCTTGAGGGAGTTTGTTAATGGTGC GTATTCTAGTAAGATTGAATGCAAAAATGAATTCAAGTAAAGTATTACCC AAAGAATGCTTCCTGAAAGAGACAAGCAAGACCTTCTTGACTTTGAGTTC CAACGTGATAGAAATTGACACAATGTCCAACGGTGTGAAGAGTGGCCCAG AAAGCCGCAAAGAGCGCAACGATCTAGAAATGTTCAGTTATTATAGAGTT TTTGATACTGGCGGTCATAATAAACAATACTTTGTCCGAAATATTAGTTT TCCCATTGTTTATCATAGTTTATTTTTTTATTCAAAAATCTGCCCTCTCT ACAGAACACTTATATGTAAAGTAGACTTAAAAACATCTGAGTTTTTTGAG CAACAAGAGACCCACACTCGTTCTAAAAAGAAATATATCTGGAGCACAGG AAAATCTAAACTTAGGAGACACTTTTTTGTCAACAGAACACTACACACAA TGAAGCAACACTGATCTAATGTTACCTTATCCTCACTTCTATTCATCATT TATTCTTGCCTTTTATACATCGATATTTGTGTTTTTTGCTTCTTCTCCAA TGTAGCCATTATTTTTTTTCTCATCTCTTTTTATTTTTGTTCCATTTTTA TTTATGTAACCACTTGTGATGGTTTGTATCTATTAATGTGTGTTTTTTTT CTACCTCACGATATCTTACTATCGTAATAAATTTAAAAAAATTAAACACT TACAAGTTTAGGATAACATCGCTATATCATAAGTTCACATCTGGCTGAGA AACACCATGTTCGATGCAAAGATCTTTCCTTTCATGCTTGTATTCTATTT TAAAAAATCTTTTCAAAACATTGGGTATGCACAGTACAGTTATCCTACTT GCATTAAACCTCCGCATTACTGTACAGATAATAAAATAACAAGTTTTCCC TTATATCTGAACATGCTAAATATTTTTAAAAACAACTGATTTGACAAAAT TTACTAATGCAATAATAATATTTAAAAAATGTGTTACACGCTGCCCTAAC GTTTCTCACCTTGTGGAACGCAATAGCCGAGTCAAATGGAATATACTGCG CAATGACTGTCTCTCGAAGAAGTGTGATTATGTTTCTACAAACTGTCAGC AATATCAACGCCATGCAAAATGACAAGGCTCCCGCGGCACCACGAGTAAT AGCGATTCCAGCTCCCATTACTCGTCGGAGATCCCTGTTTTCCGCCATGT AACGATAATCTGAAAACTAAATTAACATGAGCTCCCAATTATATGAACTT ACGCCAAAACCGTTCGAAGAAAAGAACAAGATTGATGGCAACAAAGCAGA AGACAATGAAAACGTGTTGGCGATAGGTCTCCAAGAACGCTGAAACTTTG TGGATCAAAGTTAGCGGTGCTGAACTGTTGATGGATCGATCCACGACGGC AAATGAGTTCAGAGAAGATGTTCTAAAAGTTATAATTGTTATACAGTCAG AGTCCTCCTGAATACTCACTCTCCAATACTTGGCTGATAGTTCTTTCGAT TGAACGGCAGTCCAACTGGTTGCTTGTCAGGTATATCCGAGAACAGAGCA TTGAAATCGTCGTAAGTCAGGTACTTGGCATCATTGCTCACTCCTGCATA GTGCAACACTTCATTGAATAATCGAAGCTGCACACTTTCAGTAATGTGAA CTCCAGCGGTTTGATTGAGGGACTTGACGAGTTCCGCGAGATCCTTTCGG AGTACCTTGTTCTTTCCCTCCAAATCACACATTTTGAATAGAGTTTGCAG TTTTTGCTTTTGAGGAGCTGGAAATTAAAGTAGGTGGTGCATAACATTTT TTAAAGGCAGTGTTGGTTTTTCTACTGTTCAGTAAAAGAAAATCTACAAT TGACTAAATTCTCAATACTTTGATGCCATATTAGTTGTGACCTCCCTGTC ACACGAGAACTTTCTACAGTGCTCGCAAATTCTATAGGACTCCCCCGAAT AAATTCAGATTCAGAATAAATAACCTTTAGAACTTTTACTATCTCGAAAT ATTGCCGACCATAGGACACCGAGTTTCACCTCACGGCTAATGAACCTACA AAATGTTAATCGGTCGCTAATCCCGGCCTAGTTTAAATTCAGATCAGAAG AAATAAATTTCTTTTCGCAGGAGACTTCGGCTCTCTTGAACCAAAACCTT TTATATGTAGTTTTGTACGTACAAAATCAAAGACAGTTCAAAACAACTTT ACCGCTACTGCTGTTACACGTAATTAAGCTGCATTAAGAAATTATATTTA TTCAATTAGAACTTATGTTAATGGGAAACACGCCGGAACATTCTAGAACG TAGTCTTTGTATCACAACAAATTTATGCTGAAATACTCACCATTAACAAA CTCTCTCAAGACTGTCAAAAACTCATTGAAACTGAGCGAATCCTCATTAT GTTTTGCAGTCATCGCGAACATTCTCTTCACAAACTCATTATTCGCTTTC ATTCCCATTGCACTTGCCAGTTCCTCACGAGATATTGTCTCATTTAATAT ATCATCATTTGATGAGTCAAATGAAGTTTCCGAATCTTGAAGTTCACTAT CATTGAATGCTTTTGCGTAGGCTTCACGGAAGAACAGGTCCAGTCGGTCT TGACGGCGTTCTTTTGTGATTGCTTGGGATAAGAGAATCTGAAATAATTT CCAGATTCAACGTATTTCTTGAAGTAAACTCACAGAATTCTCCTCATCCT TTATGATAACCTCTGCATTGATTCCACTAGCCGCCTGTCTAATTTGATCC AAAAATTTAGATAAATCTCTATCAGACGACAATCTTATCACCAAATGATG ATTATTCTTTTGAGACAGAAGTACAAATGGTCCGTGCATTGCTGATGGAT TCGGCATAGAGTGGAATAACTCAATCTTCTGTCCAGTTTCAAAACGAATT TTTCGAAGGATTCCACCGCGTGGCTTCTTTACTGCCAACGTGGTGTTTTC TATTTCTATCCTGACCTGTCGTATGTACTCTTCTTGAAGCCATTCCAAAG CATTTACACCATAAATATCTCCCTTCGCGCCACAATCATCATTTGCAAAG TCAGTAGTTAGGCTGTCACAAGCACTGTTGTGGCCAATAGCAATGCGACG ATTAACCAAGTATCGGCCAATTCCATAGCAAACTGAAAGCATTTTGGTTT GTATGGAACTAGATGCAATAGCTCACTTAATGGCACACATGCTAATCCAA TTAGGGTGAAAACATAAGTGGTGTCATTATCAGTCCAATAAGTTGATTGC ATAAATGGAACACATGGTTCAAGTCCAGTTGTGTTCACTTGGAATGGTTG CGGGCACGGGTCACCTTCCTTGAAGAAGAATACCTGGAGTGATAAATACA TTGCAATGCGGAATTCAAAAGAACATAATAATAAACCATTAAATTTGGAA AGTAACTTACATCCTTCTGAAGCATTGTCTCATCGATATCGGTGGTTGCT TTGATAATATCTCGAAGTGTAATACTATGAATCATTTGAACTTCTTCATC AGTGAATAATCCATTCAATTTATTCTCAAACCAGAATCTATCTCCATCAC GAATACGGGTGAATTGATCCTTTATGATTTCTTTGAACAACTCTCCAGGC CCATTTTCACCTCCTTCCAGCATTCTAAAATAATAACGTTTGATTAACGT AATCCAATATATGTGCACTGAGAAAGAAACAAGTATGCGTAATTTATTCT GCCTAGATTTGCAAAAAAAACTACCTTGCATGGGTAACGTTTGAAATACC GAAGGAATTGCACTATAAAACTGAGGTGACATACAACTTCCAGAGTTTAT GCCTGCTACAAATTTTAGAGTTTGACCAAAAGAAGCCGTTAGAAGTTTAC TCGTGAGAACTTTTTAACCCTTGAGAAGATTTAGTGAATATTCAAAATTC CACACTTCTTAAACCAATCAGTTATGTTAAAACGAATTGATTTTCATTGT TTTTGCTTGAAACTCTTCGAATTCACCGCATTTTAAGTTAAGCATTCCAC TTTAAACCCAAAACTAACCCTCCTACATAAGCATCCAAATATAAAATATT GCCTCCATACAACTCTTTCAACTTCTCCACCTTTGCAGTATGCTTCTTGT AAAAGTCTTCATTCATTGTCTCCCATGTCTTTGGCGCAAGTCCGAATGTT CTTCTCAATTCATTATACGGTGGTACTCCATTGTCCCTTCCTCTCATTAT TGATGAAGCAACAACATCCAAACGAGAGAAATGCATTGGTCCGAAGATGT AATCACGAAGATCTTCAACTACTATGTTATCATCTCGTTCAGCTATCTGG CTTGCCATTCCTGAAATTACAACCTTTATTATATAACCACTCAAGCATGA ACTAACCAAGAATAATCTCATCCACACTGTACTCCTTTACAATATCCTGC GCATTCCACCAATTCTGGCACAATCTCAATGCAGGATATCCACCAACTTC CGTCCGGAATTCACATTTATTTCCTCGTTTTCTCAGAAGCATTGCTGGTG GCACAATTGAGTGAGGGAACCTGAAGGCGGCTGCTCCAAAAGCATGCGAG ATTCCAGGTGGAACATGTGGCATGTATTTGGTGTAGTTTGACAAACGAAC GTCTTCACCTTAAAAGAAACACTGAGTTTAAGGTATTATAATATAGTTGA TTAACCTAACAGCCCTGGAACAAAGTCATATGCAATAATCTTCTGCATAG ATGCAATCACCAAACGACGTGCTGCCTGGAAGATTTGTTCGTCTGTCCAG TCAGGATGTTCTCGATGGATTTGATTTGCATTGTAGTTATGCCAACGGAA GAGGATCAGACCAAATGAGAGAAGACCTGGATTCTCATTCACACGCGAGT CTCCCAACACTTCAAGTTTAAATATTTATACTTTTCTATAAAACTATGAA CTCACTAAATAATCTATCTGGACTCATCAATCGATGTACTTGTGGCGGAG CGGGGTTATTCAATGGAATATGTGGGTTGTTAAGTGGTGGATATCCAGGT ACACCTTCAGCCAACCGCCCTTGTTTGAAAGATCTTAATGAGGACACCCA TGGCTGGGTGGTACCATAGATGAATGATCCATCAATCCATGAAGTCCGTT CATTGATTTGTTCTCGAGGTGAGTTGAGCCCATTTCCAGTTGCTTTATCG TATTTGGCACGTGTAAATGGGATTTCTGTCTTTCCCTCACATTCTTTATC AAATACATTATCACATAGGGGTACTTGAATTTTAAGTGTCTCTAGTGGAC AGGATACTCCATTTGATTGCATTATTTCATAAGCAACTACTTGACCTATA ATTATTATTACTAATTTTTGAGGTAGAGGGCAATAAAAACGAACTGAAAA ATGCCAATAAAGTCGTGCATCCTCTTGTATTAGGTATACCGGACTCTCCT TTGAATAGTATATCGGAGAGTTCACGGGCGGACGGAAGTGAGTTATTCAC TGAATATACACCGTCTGAGTAGTAGGAACGTGCATCTCTATGCAGCCGAC TTCCTGAAGGAGTAGGTCAATGTAACGTCATTTCTCTTCCGAAAAAACCT ACCAGCAGAACCCCATTCACTATTCGCCAGATTGTTGTACCATCCGTCGT ATCTTTGAAATTCCTCATTTTGTTGGATTCCTGAAAAGATAAATGTTACG AGTTTTTGATTTCCAGGCCACCAAAATCTATATGATGGCCTAGGTTCCTT ATTGAAATTTCTAGGTCACACATGCTCCCTTCACTACATTTTCACACCGA TTCGTGCATTTTCTCACTGAACGCGCAAATTTCCGGTCAGTAGCGGAGCA GAGCAAACATTTGCCCCGCCACCCGAAACAATTATTTTCGTATCATTTTC GCACCTATATTTATTCTGTTTGTTTGCCTATTTTTTGTACATTTTATCCT TTTTCTTGTATTGGGCGACGATGGCAAGGTCAGTAAAACAGGAAATTGTT CCTGATAACTCGGGAATTTCAGGAATTTTTCCAAAATTGGTTGGGAAACC ACCACTTTGTTGAAATTCGAAAGATACACATTTTGTTATTTAGGTGTAAA CATGAACACTTTCTTAGGTAAACTATGTGATTTTTATGAAAAAGAACACA GACACCGGGTGGCACACAGAGCTTATCAGTAAACAGCTATCAGTGATTTT GAAATTTTGGAGGGGCAGAAATGTTGCGGACAAGGAAAATTTTTGTTTGG AATTTGAAGTTTTGAAATACGCAATTTGAGAATTTTTGAACATTTTTTTG TAATTTTTATCCCATTCATTTTTAACCTAACATTTTGAAAATCTAGCACA GAAAATAGTACAGACACGTTCAATTGAGCTATTCCAAAAATTATCAATAT AGCGCACTTGGTGTCCATCTTCCTTAACTGTTTGCAATTAGTCTCTCTTT ACAAGAAATCAGCTACTATTTGAACAGATCTTGAACACATTTTCAAAGAT CGGCTCAAGATCAAAAGCCTCTTAAACATTTAAGATAGCAGGTCCGCTCT GTTGACAAATTTTCCACCCGGTCCTCCGAAAGGAATTTTTTTGGTCATCC AACAACCTAGACCATGACGGCACCGATCATGCAATTTGCCTGCTTATAAA AAACGATATTTCTAGGCCACCCATTTTTAAATATTTTTTTGCCTAGTCTT AGCTATGTGGAATAAATTCTAGGTCAGGAGGTTTTCTAGGCCACGTAATT CCACTCACCTTTCCCTCCAAAAATTGAACTGAACAGTATAGCTATGTACA GCACATGTTTTGAGCGCATTGCTCGTGCGCCTTAGAGTTTTAGTTGACCT GAAAATATTTGAATATTTAGAAATTGAAATTTTGAAACGCAATGATTAAA ACGGTCAAAAAAGATGTTATTTATACATACGCAACATTTCAAAATTGATA ACAAATATTTACAGGAACACTTTTTTCCAATAATACGGTGACTAAGGGGG AGTTTACTGATAGTAACAAATTGGAACGGTACAGGAAGAAAATTTAAAAC CGGCTCTACCCATTTTAGTGCTACCAGCCGACAACCAAAAAAATCAATCA GCCGCACACCCTGCTTGGAATGTGACAATCACAGAGTTTTGGAATTTTCC TAATTTCTAAAATTTAATTTTCTAAAAACTGGGGATTTTTTCTGTAATTT TTTTTTAATTTTAAATTATTTTTTAGGAACATTTTTTTGAAAATAACTTT TGTTTGAAAAATTGTTCGCTAAAAGAGTATAAATAAGATCAGGCTTCCGA AAATGTTTCAAAAAATATTTTTTCACGATTCTTGCAACAAAAAAAAACAA ATACTGAAAAAAAAATTGTAAGAAATTTATTTTGTTGAACTTTTCAAATC TACATTTACAACAAAAACAGTTCTTTATAATATTTTAAAATCCAAATAGA TTCCCAGTAGATTTTGTTTAAATATTCGGAAAACGACCAAACTTTCATTT TTTGAGTTCTTAAATTAAAAAAAAAATTTTAAATTAAAATTTTTGATTTT CAGTCTAAAAATTTCAAAAAAGAGCTTTTAGTTCTGTAACTTTTGGAATA AAAATTCAAAAAAAAATTGGGGGAGCCAAAAACTAACGCCTGCTTGAAAC CTGCCCGCGAGAACTTGCAAATATTCAATTTTCTCATTTTTATTAATTTG ATGAGAAAAATTTAGAAATAAAAAAAAATTTGCATAAGGCATCGATTGAG GCGAAAGGCAGGCGGAGGTAATTTTAAGGCCAGGCTGGCGTTTTAACTTA GGCTTCCATAGACCTAATATTTTCATACTTGTTGAAATTTCAGAGGTTTG AAAATTGAACAATTTAGGCCCAAAACCTTTGTTCCTACAGTACTACAAAA ATTCTTTGAAAAATTCCGGTAATAATAATTGGAGGAGGAGGAAAAATATA AAATGATTCTTCGTCAGACAGAAATAAATTGGTGAAGAGAAAAAAATGAA TTGAGAGAAAAAGAGAAAGAAAGACGGAGAGCGTCTTCGAAAGAAGGAAT CCTCCTGCGCGGGATCGAAAAAATAAGCAGCAGCCGGGAGTGAGAGAGTA CACTGCACTAGAAAAGATGCAGAGAGATTCACAGAAAATCGGGAGAGACC CCCCGTATGTCGGTCGAGACTGAACACCTAAGACCTACTTCATATTTCGA ACCGGTTCATTTTCATTGGCATTCGTATTATTATTAGTTTTGACAGGGGC AGTCGTCGTAGATGCTATTGTTGTCAGTTTGACGTGATGGCCGTGTCATG GGAAAAATTCGGCCATCAAAAATCGGGGGGTTCCTGCCACCCTTTGTCTT CTATGGTCGGAGAGGCGTTTTCTAGGCTACTTATTTTGGTAGAGTAGCTG TTAATTAAAAATTTCATCAATTTGGTAATAATGTGGCTGCAAATCATATT TAAATTTTCTATACAGTCAGTGCCACCCAATTAAAAATTTTCTGGCAGTG CCACCCAGAAAAAAAAAATATCCTAGGCCACCAATTTTTAAGATCATTAA TTTTTTGGCTATCAAATTAAGTAGACCACTAAAATGTTTCGTCATTAAAA TTTTCTAGGCCACCAATTTTGCTTGACTACTAACCTTCTTGGCCATCACA ATTTCTAGGCCACTAATTTTTTTTCTAGGCCACTAATTTTCTAGGCCACT AACAAACTGTTCAGGCCATAAAGTTTTCTAGGTCCCTATTTTTAGGTCTT CAATTTTTTCAGGCCACCAAAATTCTATTCCAACATTTCTCCGTCACCAA AGTTTCTAAGGCCTTTAATTTTATAGACGACTTCTTAATTGTAAGTCAAA TTGTTTCAAAACGATTATTTTCAATACATATCAAAAACCCAAAATTTTTC AAAAACTTAGTAAACTAAACTAAATTTCCAATACGTGCTTCATTTTTATA TGTAGGCGTTTAGACACCCCAGTGGGCAGCAGTAATTGTTAATTCTTATG ATTATCTCATTGGTACACTTTTCTTGTTCAACTTTAATTATTTATTTTTG AAAAGGATTATCATTGGCATTGGCAAATAAATAAAATTGTTAGTGACGTG GTGATATTGGACATTTTTTGATTTTAGTTTGCTTTTTGAAATTTCAATTT TCGGCACTTTGAAATGTTCAAAATGTTCATTTGTATAGCAAATTATTTTA TTAAAATTTTTTTCAAATTTATTACATTTTCAGTGAAAATTGCACAATTT TTTAAAACTTTCTAAAAACTGCAAAAAAATAATTAGGTTTAAATAATCAA ATCAATAATTTTTTAAAGGATTAAAATAAAATTATAGTTATTACAAATTA TTTAAAAGATGTATACTTAAAAACTACTATTTATGTTTTGATTTTTACTC GAAAATCCAGAAATTTTAAGTTTTCGAGAAAACTTTTTAAATTTGTTTTT AAAAGAGGTTTATATAAATATAATGAACCCAAACTTGAAAGTGCGAAAAT GTACTTAAAAGAGTCCAAAATAAGCAAATATCATCACGAAAAGCTCCGAA CGTTTTTAAGTTTTTCGAAATGTTCAGTTATAGTTTTGGTAAACTGCCAA CTTTACGAAAAATTCGGGTTTAATTTTCAATGTTTTTATACAAATATTTA AAACAGAGTAATAGTATAAAATTTGTAAAAAAAAATTTTTTGGTCGGTAT TTAAAAATGGTGATAGGTGATAGGGCCATTTTTGACAGTAAAAAAAACTT TTATAATTGTTTTACATTTTACCAACATAGGAGCTGCCTTAAAAAATATC TAAAGGCTTGGGGTTTTGCCCTACAGTCCCAAACTACCAAATATAAATGT AAAATTTTTATAAAAATGTTCAAAATTTTTAATGATTAAAAAAATTTGCG AAACTTAATCAAAATGCCGAATAATTGTTTCATTCCCGCGATTTTTTAAT AATAATTTTTTTGTATAATTTTTGCATTTAGTGGCGTCATTTGTTTACAT GTTGTGTTTTTCGGCAATATTAATAGAGGTTTTCAGAGATTTTCTAGTTT TTGAAGCACATTTTGCCTTGTTCCCGTAAAGAAAACTTGATAATTGGAAA GAAATTTGGCAAAACGGCGAAATTGACCAAATTGACCAAAAAAGTTAACA AACTGTATTTAAAAATAAATTATTAAGCAAAGTAAAAACAAAGAAAACCC ACATAAATGTCAAAAATGACGTCACTCATTTGAGCTGAAATTCAAAAAAG AATTCGGTCCTTCTTTTTTTTTTTCAAAACAAATTTTTCTTAAATCATAA AAAACATATTATAATTTTATGACTTTTCTGACAGTTATATTTGGAATAGT GGGACATTTACAAGGGAAGTCGAAAAACTGAACTCCGGACTTTGACATGC TATAGTTATTTTTCGATAAAAGAGTGAAAATAATGATCCCTCCAAAAAAT TTTGCTGCCGCGGACCAGGTTCAGCAAAGTTATGACGTTTTGAAAGTGCC GAAAAAAATTCCTTGACCAACCCAAGCAAAAAAAAACTTTCAAATTTTCA AAAAAAAAATTCTGAAAGTTGATAAAAACTATTGTAACTTATTCAAAAAT GTGAAAAACGTATATCATGCACGTTTTTTCTCCCCACGGACAAAAAACCA CATTGCTTGATCAAAATATCTTGAGCAAAATTCTAAAAATTACTTTTTCT TGTAGATTCATTTATTGGTTTTCTTCAGAGTTATGAGCTAAAACTTGCAT GGCATATGTTTTTCACTGTTTTGAATAATTTACAAATATTTTTTCCTCTT TTCAGAATTTTTTTTTTGAAATTTTTGAAATTTTTTAAAAGGGTGTTTCA GCCACTTTCAAAACGTCATAACTTTGCTGAAGCTGGCCCGCGGCAGCTAA ATTTTTTTGGAGAGATCGTTATTTTCACTCTTTTATTGAAAAATTACTAT GACATGTCAAAGTCCGGAGTTCAGTTTTTCGACTTCCCTTGTTAGGGCAA AAAATACCCACAGACGGTACTCCGCCTAAAATCAAAAAAGTTCCAGCAAC TCGAGATCACTTTTTTACCATCTCAAATCGTTCGGTTTGTTGGGGGGGGG GGGGGGGGGGCTTAAAGAAAAACGAAAAAATGAGACACTTGTTAATTTGA TGGTAACAAGTGAAATGGAGAGAGAAAGAGAGTGTAAATACAAGAAGGGA ACAAACACTTGAAAATCAAAATTGTCGGAAGGAACTAGGGGGAGGATAAA ATATTGGAAATTAGGTTTAATAGGATATGTATCTAATCCCGAAGAATATT ATTAAAATAATCGGTTCAAAGAATCTGAAAAAATCGATAAATGCGTTGTG TTGTCCTACTTCCGTCCTCTACACAACGTCGTCTTCTTCTTCAGGGCGCA TTCTTTTGTGTAACAGTGCCCCTTTTCTCTCTTGATGCCACAAAACACTT TGGCAGTTACGCAATCGAAAGGCGAGGAAAGCAAAACGGGTATCAGATGA TGATTAAGTGAAACTGGAACTGATAAGTGAGATGGATTGAAATACAGATA GCCGTAAACTTTTAATAACCTAGAATTTTAGTTATTAAAGGTGTTATGTA TGTTTCGAAATTTGAAAAGATTTTCTCAATTTTTGAATGAATTATGTTTG AAGTAATTTAAAATGCCGAATGAAGGGTTTCAATTTTTGTTTTTTTAAAA AGATTTTTCGTCCGGCCGATTTTTCGCAAAATGTTTTTTAAAATTTGGGT TTATGTTCTTCTCTTTTTTCATGCCTAAGCCTAAGCTAGGCTTAGGTTTA GGCTTACTAATCCTAATCCGAAGCATAAGCTTAATCCTAAGCCTAAACCT CTCCTACTCTTTTAAGCTTAATGAATGCCCTAGCTTCATTTTTTTCATTT TTCGCAGGTTTTTTTCTCAAAAACTCAAAAGCGATGCTACGAACACCAAA AATTGGTGGTTCAAAATGTGTGTTTCTATTTTTTTCAAAATTTATTTGAC TATACAAACCAGCTGACAATTTTCTTCAAAATTCCGTTTTTCTTATCAAA AATAGTCAATTTTTCATCTAGAAACTTCAAAAAACCGTTACCGTTTCCCT AAGTTTTGCTATCAGTTCCGTAAATCTTGTACCTTATGTCACATGGCATT AGAAATATTTCAATTGAACCAATCTTGTTCGCGTGGAGTACAAGTTAAAC ATTTATGATATGTGGATGGGTGCAATTGCGCTCTATTGAACAAACTATGT ATCAACAGAACGCGTTAACATTATTTGTACAGGTGGGGAAAAACAGGAAA AACGACTAGGCAAAACAAAAAGTATATAAGTTTTCTTCTACACGTCTCAT AAAGGAAATTCAAATTTTTTAGAAAAAGAGCGGGGGGGCGCGATTGCAAA GGTTTAGACGGCGTTAAGATCTTTGTCGACGAGTGGTTCAGCCGCTGAGA ATGTGATTGCCGCCGGAATATTGTCCTTCTCGTTGATTGAGTCTTTCGAG AAGAGCGCCAGAATGACGGGCAGAATGAAGAGACCGTGGAGGAGACCTGG GAGAATTTTAAAATTTTTGAGTTTCTAGGCCACGAGTGACGTCACTATTA TGTCCAAGAAGATATTCTAAGGACAAATTTGATGATTGTTCACTACTTTT TCACTAAAAATCAGCTTGAATCGTAGAAAACAAAGAACTTTCAGAAAATT TCAGCGCTCACCAATAGCAACGACCAAAAAAACGGTCTTAGCAAAGCACA CGATTGCATAAGTTGGCACAAAAATCAACGGAAGCATGCATAGGAATGTC GACAGTCCGGCTTCACACATTGGCATTGCCATTTCTGCCAGACTACTGTA GACACGTTCTTGTGGAGTGCCACGTGCACGAAAAAAGTTGTAGGCCACGT GAGCGGTGTAGTCGACCGAGAATCCCGTGGCGAGAAGGACGTCCACTTGG ATTACCGGGTCCAGGTCGGCACCCCAAAGGGAGAGACCACCGACGAGAAC TGTAAAAACGATTTTAAAAAAAAGTAACTTTTTCAGATTAAATCCAAGAA AAAAACATAATTAAAATTTGTTTCAATGGTTTTTTAAAGTGACAATTACT CATTTTCAGGTTTTAAAAACTTTAACTTGAAAAAAAAAAACATTTTGAGC TACTTTTGAAAAAGGTTCTATTTTGAATTTCCCATCCAAACTTTTTGAAA AAATACAAATGATAAAAATAATTGCTTTCTTAAAAAAAAATTGTTAGCAA CCCTACCGTTCGCTAAAGATCGTTGTCGTTTTTTCTCAGAAAATTTAAAT ATCCCGCCATATATATTTTCGGAGAATTTCAATTTCTCGAAAAATTGTTT TCTCTGAAAATTTGAATTTTCCGCCAATAATTTTTCTCAGAAAATTTGAA AAAAAGGATTAAAAACATGAATTTTCCGCAAAAAATGTTTTCTCAGAGAA TATGAATGTCCCGCCAAATATATTTTCAGATAATTTTAAAGTCTCGCCAA AACGTTTTCTTCGAACATTTTAGGATTATGTGTTGAATTTGTAGAATTTT GATCTTGATTTAAATTTTTTCAGTTTTCAATTGAAAAAAAACTAACCATA ACAGATACTTGCAATAACAGATGTAATCACAGCAACTGCATTAAAATTTG CAATAAACACAAAACAAACGATTGCCATACAGACTACCGTAACCGCAATC GATCCAATTAAGTCAGTGCCAACAGTCAGGATGATACTGAGAATTGCAGA GTCACAGTCAAAGAGTGTAGCGTTGAATTGACTTTCTTCATGAAGAATTG TTCGGATATGTTGCATTGCACGTGCTCTTTCTGCCCATTCAGACATTCCT TTACCGAGAAGTGTCAGACGGAACGCTGTGACAATTGTTCTGAAAATTTG GAAATTATTCGGATTGAAATTGAAAAGTGTATAGGAATTAAGTTTGAACT ATTTGAGAAGTTTGTATTTTAAATTTTGCGCTAAGTTGCCTGAAAAAAAA CTAATTTCGAACTATATACCTACAAATATTTTTCAAAGAGCTCAATATTT GAATTTCGCGCCTAAAATATTTCGAAAACTTAAAATTTGCGACAAAACTA TTTAAACTATTTGAGAAATTTGAACTTTTAATTAACATTTGAACTTTGCG CCAATTTTTTTTTGGAAAATATTAAACTTTTGAAATTCTAGTTGAAAGGA AATTCAGAAAAATTGAGGATGTAATTTTTTTATATGAAAAACTTTTAGAT TCGATTTCGCGTCGAAAATTTTTGAATTGTCAAAATTTAAATTTTGACTT TTGCAAAAAAATGGCGGGAAAGTGAAGTTTCATTAGGAAATTCAAATTTG ATAGGCGTTTGACTAACTTATTATCATCTCCCATGTGATATTTTACAAGT GGAGGGTTCCCGATCGCATCCATCCACGTCGGAAGATTATCATAAGATGG GCGGTATTTTTCTCCAACCAGAGTGGATAAAATATTCATCGTCTTATCAA AATTCACATATTGCGGAAGAAAAATCAGACTTCGATTGTCTCCACGAATA CCTGGCACGTGCTCGAGCCGATCCATCATATTGTTGAAAGAGTCGTACTG AAAATTGAATGGCCTAGTAAGTAAAAATTAGATCATGAACTTACCTCTGC TTTGATCTCGATATTTGGAGGGTTGTTCACTATTACTGTAATAGGAAAGT AACGGTTGAAGACTGGCCTGAAAAATGATAAATGCTCAAAAAATACAACT TTTTTCTTTTAATAACGTAAAAAGTTTTTTAAATCGATAAAATCAATAAA TCGGCATTTCAACTGTAAACCAAAAATAACAATTATTGATTTTTCTTACA AAGACCTTAAAAATAAAAAAAAATCAATAAAAATAGCGATTATCTTTCCA AAAATCTGAAAATCAATTCAAATAATTTTCTTGATCTTTTATGTTAACCT ATAAATACCAATTATTGATTGTCTGGAAAATCAGTAAAGATTATTGATTT TTTTGAGAACCTAAAAATCAATAAAACCCAATAAAAAAGTAATGTTTTTT CAAACGCTTTTTCAAACAAATTCTTGATTTTACTTTCAAAAAACCAACTT AATATTCGACAACGAATCCACCAGCTTCGAATTTGATGGGAATGCCTTTG CAGGTTCAAAGGTCGTTTTCATGGTGACTACTCCATAAGTTGTCAACGCA TACATCCCAAGGAGCACCATAATGCACGCTACACGCCCCTTCACGGAGCA CACGAAGCTCGAGTACTTGGAGAGCCACGTGTCGGCTCGGGAAATTTTTG GCTCCGTCTCATTGGCGATGGATTTGTAATCTGGGTCGTTGCAGAGGAAT ACAATTGGAGCTAGGATCGTATAGGTGAAGATGTAGTCGAGGAGCAAGGC GAGCGAGGCAGTTAGGCAGAACAAGGACATCTGGAAGAAGAGTTTTATTC AAGCTAGCCCACGTTTTCAAAAACTGGGCTACGTGCCAAAAAAGGTTACC TGAGGCGTTGGCGTCAAGAATCCGATTCCAAAAGCAATAATATTGGTAAG TGAGGTGATTGTAATCGATGGTCCAACATCGACAATCACTTGTTCCAAAC GGCGAGGTCTGAAAATTGCAATTTCACGATGCTTTTACAATACCCCTACA GTACTTTTGCAGTTTCTCTACAGCACCCCTGTACAACTACGGTACTTTTA TTTATTTATATATTTGTTCATCAGGCAACAATCATAATGATACAATTACA ACAAGGCAGTGAACTTTTACAATACAATGCCCCACCCTCTTTTTCCGTGA AAACTTACGTGTCAGTAATTGCAATATGATGTTTCCATCTGTGAAGTAGA ATAAAAGCATCATCAACTCCAATTCCAAGTACCAAAAACGGCGTAACACA TTGAATAGAGAACGACGGGAAGCCCATCCAACAAATTGCTCCAAACGAGG CGACAGTTGCAGCCATCGGAGTGAGCAATGATGTGGCAACCAGATAGAAT GCCATTTTGACAGATGACAGGCGGACAATGACAATGATGACCTGAGTCAG AAGTAGGAAGAATCCGATTGTCATTAGAGTGGTAGCTTCAATGGCTCCTC GAATCATTTCACGATTTGCTACTTGGTCACTGAAGATGGTGAACTGAACG TGCTCGAAGGCAGAGGAGTTTTTGGAAAGTTGGAAGAGCTCGTCGATTGC GTCCTGGGAAAAGTATAATTAGGAAATGCCGAGTGCTTGCCAGTTTTTTT TATTATGTAAATTTGCTTCCCAGAATCGCGAAAATTTGATTTCCCGCAGA AAAGACTGAAATTTAAATTTCTACTAAAAATTGTTCAGATGTTTGTTTTT AGAAATTTTCTTTAAAGACAAAGATTTGAATTTCCTATTGAAAATAGGTG AAAATTCAAATTTACTACAAAAAAATTGAGTTTTGTTAAAAACACACTGA AAAATTGAACTTCCTGATTAAAATTGATTGAAAAATTAGAGGCTCCTAAA AAATATTGAAAACTCGAAATGTAAATTCAAATTTCCCGTCCAAAAATTGA CAAAAATATTTGAACTTTCTGCCAGAAACAAGTTAAAAAATCAAAGGTTC CTCTAATAGTAAAACTGACTCAAAATTAATTGAAAATTGATCAAAAAGCC GTATGAGTCTTCTAGGCTATTCTCACCTTAAACGCCAATTTTCCTTCTGG AGTATCAGACCTCGAAAAATACCACAGCACCAAGGATTTGGAGCTGATCC TCTCGGTCGGTGGTTCTGAAAGTTTCAATATTTTTTCACATTTTTCCAGA ACTTTTTATAGTTAAAAAAATGAAATTTTAACTGGAAAGTGGCTAAATCA TAAAAACTATTTTTCAACTTTTCATTTAACATTTCAAAAAAAATCTTACC AAAATCCGCATTACTCAAGTGAAGTCCCAGGAAAATATCCAGTCCGCTAT ATGGCATATCCGGATAGGTGAATACACTTGTGGTACCATTGTTTCTCCGC GTCAAATTCTGAAAATTGCCATGTGGTCGTTGAAGAGTTTTCTAGTCCAC CACCACCACCACCAAGGGTTTCGGTTTTTCGACTTTTTAGAAAATCGAAA AATCGAACAATTTTTGAGAAAAACTTACAAAAAGCTGATAATGTTTTTAT TTTAACTTTTTTCTCCATCATTCATTTTAAGAATATAGATAAATGGGATA AGACCGTCCAGGTTTCTGTTCAGTTTTCCCTGTTGTTAAATTCATTAAGA TGTTTGGTCCCCAAAAAACAATGTTTCTTTCATTTTTCGATTTTCAATTT TTAGATTTTTCGATTTTCACTAAAAACATCGAATAATTGAAAAAATCGAA AAATGACACCCTAGACCACCACCTACCGCTAACAAGTGAAAGGGGCTGTT CAAGTCGCAGAGTGGATCGCAATTTTTTCGTCCATCCCCATCTTGGTAGC CAACTGCCGCCGATAGTCGATTGTCCACAGTATAAATCTGAAATTTTTTA AATTCCCGCCAGAAAAGTGGGCGTGACGGAGAATCAACTTACGTCTGCCA GTGCGCCTTCCTGGAGAATACTGGAATTTTCGCGCTTGGCGGTAAAAATA CAGAATGCTCGTTCCGGATAGATGTCGAGTCCGTAGTATTCCAGCCAGAC ACGGGTTTCACTGAAAAATGTAAAAAAATTTATAGAAATTTCCGCAAAAA GCATATATTTAAAATAGGAGTTTTAAAAAAATTAACAAAATAGTTACGAA CGAAATTTTCATTTGCTTTAAAGTTTTCTTTTTTTTCTTATTTATTTTTG ATCAAATATTTATTTTGGGTTTTTTAACTTCAAGTGGAATTCCAAAAAAA TTCAATTTTCTTCCCAGTCAACCAAACATTGACCAAATCACAATAAGAAA GGGAGAAAGGGAAATCGAATTAGAAAAAGAAAAACATTGCGAAAAAACGT GTTATTTCTGACTGGTGGAGGAAGGAGGCTTCAAGGTCAGTAGTCACTTA CTATCCAGCATCTGAATCATCCGGTGAAAAGGCTTTGCGAATATCTGGCT CTAAACGAATGTGCACAAGTCCTGAACTGAGAACTAGGATGGATAAGATG CTCACTGAAAATTGTCCAACTTGAAAAATTTCGATTTTTTATGTTTATTA AATTTTTTCTGGTGTAAAATAGCAGAAAATGCCAAAAAAAAATGTATCAG ACACAACTTTTTTTCAATTTTTCAAACTTTTCGTTGCAAGACCAAACATA CAATAACAATTGTCGTTCGAGCGCGTTTTGCCCATGCACCCTTAACGGAG ATTTTCATCGACTACTCTATAGAGCGCGTTGGTGATTTTGAAAATGAATT TTTCTTGGAAATTTAAAACTTTTAGAAAGGGATTTTTCTATTTTTTCCAA AAAATTATATTGAAAAATCAATAAATTAATTATTGATTTTTCAAAACTAT AGTGATTCTGATTTGAAAAATGAAAAACATTGCTTTTAAAATTATCTGAA CTCAGTTTTCACGAAAAATCAATAAATCGGTAATCGAAAAACATTCATTT TTCTATTTTTCTCAATTTTTCGATGTATTTTCCAAGAAAATCGATTAATT TATCGATTTTTTTTCCAGAATATCTGATCGATTTTTTTATTCATCGGAAA AGTTCAATTATTTTATTTTTAGGAAATTGTTTTCCAAACTTATATTGGTG GCCAAGTTTTCCCATTTCGACGACCATAAAGTTACAAAAAACTCACAAAG TATCGAATAAACCGGATAGGCGGCTAACAGCCGTGCCACGACGGCACTAA TCACATCCCATCCCATGTGCTGAAAAACTTCGAAATTTTTTTAATATTTC AGAATTTAAAGCAGCATGCAAACGCGCTCCAACAAAGAAAAATGTTTTTA AAAAATTGAAATTCAAAACACAAGCACGTGAAGCAGAGAATGCAGAAAAC AAGACCACTGTCACAAAATTGTAGAAGTGAGGGAGGGAGGGCTATTGCAG AGGTGACCAACGGGTTTCGGTTTCCAATTTTTCGGACACGGCGCAGAGGA TTTGAGTCATTATTATTGTGTTTAGAGAGTGTAAGAGAATTAGAGAATTA GGGATAGATGGGAAACTGTACGTACTTCTGCGAAATGGTGCACTTTTAGG ATCGGCGGCCTAGAAATTTACATGGTGCTCTAGAAGTCTAATAGATAGCC TAGATCTTTTTAAGTCCAGAAAATTACTTGGTGGTCTAGAAGTTTTTTTT GTGACCTAGAAATGCAGTTGGTGGACTATAAATTCACTTGGTGGCCTAGA AATTCATTTGGTAGCCTAGAAATGTACTTGGTGGCCTAGAAATTAACCTT GAAGCTTAGAAGTTTGTTTGAAAGCCCAGAAATTCACTTGATTGCCTATG AATTCACTTGGTGGTCGAGAAATGTTCGTGAAAGCCCAGATATTTACTTG GTGGTCTAAAACATTTTTCAGTTCAGAAATACATTGGAAAAAATTTCGAT TGAGAATTATGGCGTGGGATTTCAAGTGGTGACCTAGAAATTTGTCAAGG GACTGAGGAATTCATTTGGCGTCTGGAAATTTTTTTGGTGACCTAGAAAT TTATTTGGTGACCTGAAAATTCATTTCATGACCAGTGAATTTACTTGGTG GTCTAAAAAGTCTCATGGTGCCGGTCTTAAAGTCTCATGTGTTGCAAAAA TTATACTACAATATTTAACTTTGAAATAAAAATTCAGCGGGTCTAGATTT GCAAGAAAAATCTGTATTTTCTCAATTTTTTTCAGGTTTTTGATTAGTTA AAAAAAATCGAAATGATTGTTTAGAACTGCAGAGAAAAAACAATTTTGTA TCTCCGGAATGCGCTATTCTGGGGAGTCAGATTTACTGGATTTTACTTTT TTTCCTGCAATTCCAATGCAAAATAAGGTAAAAAAATGAGAAAACTGGCG GAACACGGCGGTACACACAGGGGCAACTTGAATGTAAGGCAGGTGTTTAG TAAGTGGACCGAGGGGACGGCAAAAGCTGGTATTTTTCCTGTGTCGATGG GGGACAGTAGTAGCACACAAGAAACAAGTATTTTGATGATAATACGAATA AGAAAAAGAAAAAGGCAGCAAAAAAGTGTGTGGCAGACCACCACCGTCCA TCGGATTAGGGAGCGGAGGCAAACTCGCTCTACCGAACAGAGGGGTGTCC GTTTCCCCCAAAATCCTCTGAATGTGACGTCATTGTTGGGGCGGCGGGGC GGCGTCCAAAAATTAGTGATTTTTTTTTTGGTATTTTGGAAAAAAAGGAA AAAATCGAGAAACATTTTTTTGTGTTTTTGGGGAGTTTGTCATGTGAAAT TTGAAAATGTTGGGTACAATCAAAAAATTGTTTTGGTTTTTATAATTTTA ATAGGAATTTTTAAAAATCTGAATCGTTTTTCTTTGAAAAATCAAAAAAC AACAAAACATCCGCTTTTTTTAAAAATTGTTTGTTAAAAAAATAGAAATC GGAAAACAAAATTTTCCGATCTTCTCGAAATTCACAAACTCATAAAAAAA TCGAAATCCCCTTGTACCCCACCCTAGTTCACTGAAGCGCGTTTGCTTTC TGGCCAAAGGCATGGAGGGAGGCGGGCACCTCCCTTTTGCAAAATTGACC TAAATAAAGGTGATATGCCAGTGATAAGGAACGGTTTAATGATCCGAAAC CGCCAAAAGTGCATAGTTTCTGCGTTAAAAAAAGTGACAACTGACATCAC ACGGAGGCTACAAAAGGGGACTCACAAGTTTGCCGGAGAGGAATGAAAAT TGGAAATTTGTACGGGTAAGGGGATCAATGTTCAGTGGTGGTCGCGAGGG AGGACGGAGGGAAAAAGTGGAATTAGAATTGAATGGGAAATTGGTGGCAA AACGGTAAACACTTCTTATTATCCAAATGCATGAGGGATGGAGAAAACTG GAAACCTTTGCAGAATTTTGGAGGGGGTGATGAAAAGTATTGGCAACACC TTGGTGGCCGAGAATTTTAAATTGATGATCTGGACTAAAAATTCAGATGA TGGCCGAGTTTTTCATATTCGCACCAATACAAATGATGGCCTAGAAAGTT TGGAGCGACCTAATTTTTCAAATTTACAAATAGATCTTTAATGTTTCATC GACAAGGGATGTGAACTAGAAATTAAGATGGTGGCCTAGAATTATATTTA TGGTTCGTCAAGAGGTGGCCTAACTCTTCAAATTCACGAAATATTCTAAA GTTTAAATTTCCTTTAATTAGTATTGTGGACTAAAAGTCGAGATAATGAC CGAACTTTTCATAAGCTCTCCACATCAATTGGTGGCCTTGAAATTCCGAC ATGGCCGAATTTTCGTAAGTCGACCCCAGTGGTGGCCGAGCCAAAAAACA TAATTCCGCAAACTCTTACATTTTAATATATGAGGGAAGCCAGAAGTGCG TGCCACATTATTTTTACATTTTTGACTATCGTGCCAAAATTCCAAAATCC TCAAAAATTTGAATTTCGCGGCACAATTTCGGGTTTTGAATATCTTTTTT TTAGTGTGATGTAGGGCGTACTTTCCAATTTGCATAAAATAAAAAATCAA CAAAAAGCCATACATAATGTCAAATGGTCAGTTGCAAAGAAAACAAACCT GCGGTCAGGATGGCCGAACCAGAAAAATCAATTCAAGCTTTCGATTTCGC CCGAAAAAAATGAGGATCAGAATAAGAAGGTGTCGCCTATTAGAGATTGG AGGATGTTGAGAAAAAGAGAATAGTGGAGGAAAATGATGAGGTAGAACGG AATTGAACATGCAAATAAAATGAATGTATTGGGTAGGAGAGGGAAGGTAA CACTGTGTGTTCTGTGTTTGGAAAAGGATTGAAGTGGTGGACAAAAGGAC TCTTGGTTTAATACTACTTGCCTGTTCTGATCAGGTTCAGAGGTATTTCA GCAATAGCTTTTGTATTTTGCATTTTGTCTTTTTAAGTACTATTATTTAT CAAATCCTTTTTTGTAACTTTGAATCTGATGTCAAACTTGTGGAAAGTTT GAACTCGAAGAAATTGCTCAAAAAGTAAAATTTGCGCCCAATTTTTCGAA TTTTTTTCGTTGTTTCTTTTTAATTTCAAAACACAAATCTTCGCCAAAAC ATTGTTACAAAATTAACATTTTAATTTTTAAACAGCTGCTAAAGCACTAC AAATGTGAAATTGATGCCTAAAATTGGAGAAAAATGGAGTTTTTCAAAAA AAATTGAAATAAGAAAGTTTGGAAACTAAATGTCTATATATGGGGAAAAT GCTATTTCGAATCTCGCGTTTTTTTAAGTTGGGCATCTCCAAAATATGAA AAAAATACAAAAAAAAACTCCAAAAGATAATGTTGAATTTTTTCAAAACC CTCACCAAGAAGTATGTTTTAATAAACAAAAATTTGAATTTCTTTTCGAA TTTTTTTCAAAATTCGTAATATAAGATACCTGTCACACTTATTTTCAAGC TAACAGGAAAAAATAAATGTTGAACTTTATTTAATGATAAAAATAGTTTG TAGAAAATTCGTAAATTTAAAAAAATTCAAATTCTACCAAAATATATTAG TTTTTCACCTGGAACTAAAAACATTTGAAGAATTTTTTTTAGCTTATATA ACACTACAACCGCAACACATTTTTGTGAGAACATGTCTAGCCTCTGTCAA ACAGTTTTCCGGTATCTTCGTGTGTGTGTTTGCTAGTGTTCAATAGATCT TCCTGTAAAAAATCGAAAATTTCCGATTATATGCTTTTTATGTGTTTGAT TCTATAAGCGTTTAGATTGTTATCAGATGATTTGACATTATTCGCAACAA TTTTTTTAAATCCGAATGTTTTTCGAATTTCTATTTTTTATAATTTTCCA GACAGTTTAAGAGCAAAGTTGAAGTTATTTTTTCCTATCAAAAAATGCAG GAATAAATACTACCTCAATTTTTGCAAGAAAAAAAATTTACAGTAGTTTT TTTGCTGGAAACTAAATTCCGCAGAATTTGAAAAATACTGAAAGGGTTTT TTTCCTTTTTTAATTTGTACTCCCTACAGTACCCCTTATTTTTGAATTAC AATTTGATGTTCGTACCTAAAATTGACACTTTTTCTCTAGTATATTTCCG AATTCAATTCATAATTATCAGTTGAAACTAGACCCCACCAAAATCACAAA TTGATAAGAAAACGTAGAAAGGGGAAAGCACGTGTAGCCTACAACAATAT TAACTGTTTTCAATTTATTATTTTTATTTTCCAAGGGTTTTATTCTTAAT TCTATTCACAATTTTTCGAAAAATATTCAGCAAAAAAGTATGCTTTCTGA CTATATTATCAGTATAAAGTGAGTTTTTTGTGAGCATTAAAAAAATCAAT TTTTTGTGGCCTAGCTTTGCATTTAGTGGCCTAAAAAATTAAATGCATTT CTTCCACGTTTTCCGTAAAAAAGACAGTGGAAGAGTTTTTATCCGTACTT GGGCAGGCTTAATATTTTGTGGCCAAATTTTTCGCGTGGTGCCTAGAAAC TTTTTTTACGTTTTTTCTCGGAAACTTATTTTTTTCCATGGCCGTGAACG AGTTTTGTTTAAATTTCAGGTCGCTTTCAATATTTTGATGACTAGTTTTT TAAAAAATATTTTCCTGCTTTTAGTAATGCTTGGCCAAACGTCTTCACGT GGTCGAGCTTTTCATTTGATGCCCTAGGATTTTTAACCTGTCGTTCTCTA GACAATAACTACCGTGGACTCGAAAGTTCTACGCCACGTTTTAAATATTT GTAGCCTAGAAATCAAAGTCACTTCCCGAGTGGCCTACGTTTCCCTGAGC ATAACTAGTCCTCGAGAAGTCCAGTCGACCGTTACTGTCTACAAGATTAT CGGCAAGATAATCCGTTTCGATTTCGATGTCCACTCATTCACTAGTCGTT TTGTCGTCGTTGCAACAATGTGGAAATTACTAAATTTTGGCATTTTTAAA GATTTTTAAACACATTTTTTCTGTCGGAAACTGAGAACCGCAGTTTGTAG AGAAAAAAATTGCATTTACTTTCCTGATTGAAAAATCTTTGTTAGCGTTC TTCCCCGCTGATTTATGTACCGTTTAAGTTTCAGCTGAGAGACAGCGTGG GATTGGGGGAGACGCAGACAGCGAGTGAGTTTGCGTCTCCCTCTCCCTCC CACTCTCTCATTTGCAAGTTTTGAGTTTTCATAACTCGGAGAGTGGAGCT ATCGAAAAATTCAAAAAAAAAAACAAAAAATTAAAATAAAAAAATTCTAC AAATTTTTAGTTGCTAATTTTTTGATAGCGCTGCTAGGTTTTGAGATAAT GACGTTTTTAACTCTACCTCGACTTTTTGTGTGTTACCAAGTTAGTATTC CTCTGACAAACCGCATGACCTCACCTCATTGTAGCCTCTTTCGAAATCTG TAAACTTTACAACTCATGTTTCCTAGTGATATCCGCCTCCATCTCAGCTG TTCTCTTTCCATCTTCTCCTAACTGTTTTCGTCTATTTTAAAAATGAGAT TATTCGGATTTCTTACTAGTTCCGCTCAAAAACCAATAAATTTATTTTGT AGAGCGAAAAATTCTACACATTTTTGTAGTCAACAAGTTTTTCAATGCAC CTCTCCTCGCTGAGTTTTTAAGATCTATAATTTGATAGTAAAAATATTTT TGACAGTAGCTTTTGTTTTAGAGATAATCAGGATTTCGCAAGCCACGGAC TTCAGTCTAGCCTCATTTCGAAAGTTGTGAACTCTGCAAGTCATGTTGAC TAATAGTATCCCTCTCCAGCTGTTCTTTCTCCTCCTTCACTCAAGTGGTG ATCGTTTTCTCACTTCTCTCGCTTTTTCGCCCCTCTCTGTAGTGTCCAGA GAGTATCAGTTATGTCTCCAGGACGCCGTGTGACGTCATCGCTGACAAGC CGTAGCCTACAGCGCCCGGCAGAAGACCTGTTTTGACATGCCATTCGTGA AAAATTTAGATTAGCCCTCTCACACTCTACATGTCTCCATGTTTTTTCAC ACAAACTATTTTTTTGAAGAAATATCTTTAAAACTTTGCTTTGTCTATAA TTGATAGCATAAAAGGTCCAATTTTTTCCGTAGCTCAGCAAATGGCGTAA CTAAATGGTGTGAAATGTTTGATAGGGGACCGGTTTTTGGCTGAAATCTC AGAAAAAATGGAGCCCTGCCTGCATAGAGACCCCTTTCGACTGATGACGT CACAGAGTAAGGTGTCACATCACACCATTCTTATTTCTCTATTTGAGGTC CAATTAGACTAGGGGGTCAGCGTGCTCTCGATTCCTAGCCGATGACGTCA CATATTTGCCATTCACAACTTTCTAAACTTCAAACATTTTTTAATTTTTC CCAAATTTCAGCCGATTCCTAATGGGAGGATTCCTCTCCAAACATCACCA CCTCACTGCAGTCCACGATGCCACGTGTGGCCCAATAAAAGGTGTCGGAT ATGAGCAAGTAGGTCATAAATTGAGCTCTCACTAAGTTAAGATGAAAGAA AATTATTTAGGAAGACGGTTCAGTGGTGGAGGGGTTCCTTGGAATCCCGT ACGCCGAGCCACCAATTGGAGCCTTGCGCTTTAAGAAGCCAGTTGCTCAT CGGAAATGGACGGAGCCGCTGGATTGTGTTAGGTTCGGGCCAAGGAGTCC GCAAAATGATGAGCTACTAGGGCAGGTGAGGCGCCTAAATCAGAGCAAAA CTCTGTCATTTTTATAATGTTCAGTTTGTGAACACAGTCGGGAAAAGTGA GGAGCACTGTCTCAGCCTGAACGTATTCACTCCAAAGTGGGAGTCAAATG AATGGCCCGACGGCTTCCCAGTGATGGTCTTCATCCATGGCGGAGGCTTC GCTGTTCACTCATCCAGCAACTACGGCTGCGCTTCCATCGCACGAAACCT TTGCACCAAGGACGTCGTCGTCGTGACCATTAACTACCGCCTCGGCGTCC TTGGATTCTTCACCACCGGCGACGAAGTGTGCCGTGGAAACCTTGGACTT TGGGATCAGACTGCCGCACTCGAGTGGGTTCAGGAGAACATTCAAAGCTT CCGAGGCGACCCTGATAATGTTACAATCTTTGGCCAAAGTGCAGGTGGAG CATCTGTGGATCTGCTTTGCCTATCGCCGCACTCGAGGGGATTGTTCAAT CGGGCGATTCCGATGGCAGGGAATGGAGAATGTGATTTTGCGATGCGGAC TAGTGAGCAGCAGGCTCAGTTGTCGAGGGAGTTTGCGAGATACCTTGGAT GGGAAGGAGATGGTAAGTGATTGAAATGTCGCTTAGTCGTAAGATGTTAG AAATTGCATTGTCATCAGAGTTGGATTGAGTTTGTTTAAGCGTAATTTTT ACTAAAGCCCATCGAAGCAGTTCCGTTGGCTACTTGGCCTACCACACTCA GCCTGGGAGCCCGTCATAGCAAGGCTCAAGACATTTCCTATGTAGTTATT TCTATTGCAAATTTAATACGGTGAATTTTCCAAAAATCTTGACGTATCCG AATGAAAAACCAGTGCAAACTTGTTGAGTAATATCCCTAATTACTTCATT CCAGACAACGACAGTGAAGACCTTCTCCAATTCATCGACCAGCAACCCCT TTACAAGATCGAGATGGGCATAAACCCGAAAAGAGGATTCAAGCATTCCC AGGCTGGAAGCTTGTATTTTGTGCCAAACTTTGACGGCGACTTCTTCCCG AAACCACTTAACCAGCTTAGAAAAGAAGCTCCAAAGATGCAAATAATGAC AGGAACCACCAAGTACGAGGGTCTATTTTTCAGTGAGTTTAAACTTCTGA AAATTTTCTGAAAATTTTCTATTATAGTCGCCCTCGGTGCCTTATCGAAA AATCCGGAAGGAATTAAAAAGTTCATGGGAAGAATCTTTAAAGAATGCGA CTATGGAGAGCGTGCTGACGATGTGCTGCAGATGGTCTACGACTTTTATT TCAAGGGGGTACATCCCAAGGATCATGAGAAGAATATGCATCAGATTGTG AAGGTAGGTGGCATAGAGCCTACAGGGCCATCAGCCAGTGTTTCAGTTCA TTGGAGACTATTCTATCAACTATGGTACATACCGTCTGGCTAACATTATG ACGGATCTTCAACACGATGTATACTTCTATCAGTTTGACTATCATAACTC TGCAGGATTCGGAGTGTTCCGGTGGCTTCTTCCGTTTTTGGGTGAGTTTA GGCAGGATGGGTCAGATTTTCTAAGCTCTGGGCCACATGCTTTTTGGTAG ATCAGTTTTAGAAATTCTAAGCTAGAAATGTATGAGTATGGTAAAACTTT TAAATCAGATTGAAAAGAAATTTTCCAAATTATAGGACTTTGTAAAAACT CCGATTGCTTAGGCTACTTCATCCGTACGACCGTAACCTGTCACTAACGA TTCTAATAGTGTACCTTATCTGAACAGTATTGCCGAACTAATTGAAATTA ATCCTGAGACTCCGAGATTACCTAGCGGTCCCTATCGCTGTGGCCCAGTG CCCATTTGGCTCAATATCCAATTTTCAGGCTCCACACATTGCACGGAAAT GAGATATGTGCTCGGCAAAGGAATAATCTCGAAATTCCGACCAAATGATA ATGATAAGAAGATGCTTCACGTTATGACAACTTATTTTACAAATTTTGCA AAATATGGGTACTTTTTTTGTGAACACTTTCGAAAAAAATTAAGCTGCTT TCAGAAACCCTAATGGAGAAAACCAGGAGACTGGAGAATGGCAAAAGCAC GACTCGGCACACCCGTTCCGCCATTTCAAGATTGATCTGGACGATTCTGA AATGGTTGAGGACTATCAGGAACGGAGAGCCGAGCTATGGGATAAACTGA GAGCATTAAATGTTAGCAGGGCTCAGATGTGAAATTGCTGTTATTTTTAC TTGATTGATTTTACGGGTTTATAAATATTTTTGATTTGTTATATATTTAT TTTTTCTGAGTTACATACATACATCAAGAAACATTTCAATATCTTGCAAT CTAACTGAATTTTATTTTATAATCAGTTATTTTTATTAATCCTGTACTAT GCCAAAAAATCTAACTTGTTTGAATCAATAACTCAACTACCAATCCTTAA CACAAAAACCAACACGGTTCTACCCAAACGATGTATAAGCTGGCACCATT ATAAATTATCCGCATACTTTTTCAAACAAAGGAAAAAGTCGGAAGCTTTC CATACATTCAACTCTATTATACTTTCCCCTTTCCATGGATGTGCTTTTTG TGTGAAACCAAAACTTAACCGCCAGAAAGCTTTTTACATAATCTATAACA GAGGTGGGCGGCAATTGCCGTTCGGCGAACATTCTGATTTTTTGGAAATT TTCATTTTTGGCAAATTGCCGATCTGCCGTTTGCCGGATATCAATTTGCC GGAAGTGTTTAGAGGGTTCTTTTTACGACGGAAACACTTAAAACTGTGCC TTTTTGAAAATATTTAATTTTTATTCTTTTTTTCGGCAAATTTGCCGGTT TGCCCAATTTGGCAATTCGCCGGAAATTTCAATTTCGGCAGTCTGCCAAT TTGCCAATTTTCAGAAAAAAAATTTCGACGCCCATCCCTGATGCATACCG TTTTTGACTCAATTTAAATAGTACACAACCTTCCACATTAATGTAGTAAC GGTAAGGTTGCCTAATTTGTTTGAACTTTGAAAGCCGCGCACAGCACCTA CAGTAATCAATCTCCTTAAAGAGTGTTTTCGCAATACCAAACATAGGAGT TTGTAGAAACATGAAACCGAAGGACAACACATTTTGAAACAGGTGTCACA TTTATGTATCTGCACTTGATAGCTATGCAGTCAATGAAGCATAACGAGAG ACATGTGTTCATTCCCGAATGGAGTCAATGAGTCATAAGGTTCTTCGTTC TCATTTTATTATTACAGGCTTGGGTCCCACATTGATTCATATTATACTTA CTTTTCAATTCATTGTTTTTTTGTGATTTTTTTTCATTAGAATAGTATTA TAATAATATTCTTCTAATAATGACAATCGAAATAGTTGCAAGTAGAATAA CGATTTGTACAGTGATGCCCATAATTGTGCATGTTTATAATGTTCTAATA TTTCAACGCAATCATGACACAAGCTCTATAGCATCTCGTGAGTTCATTTT TGGTGAGGTTTCAAAAAAAAAATCCTCTTGCTCAAGAGCCATACGTTTTC AGTTAAAAATTTCTTTAATAAAATATAATGCTCATTTCTCGAACGTTACC TGTTAATGTTAACTGCGCCTACCATGTCCGTTCAATCCCACTAGTCAGTT ATTCTTTGCAATTAAATGATAAACTTTAATGTCTAAATCTCTTCATGGAT ATCTCCATCTCAACCATCCATCGTTTTTTATCAACCATCATCATTCTCGT GTTCTCGTTCTCGGGGTCGCCTCCGCTTCTTCATCATCATCACCACGACC ATTCAAATCGTTCATCTTCCTAATCGACATATTCCCGCATTAAATTTCTC TGTTGGGTATCAATGACTACCCAAAAACGGTCGCATTTTCTGAAAAAATG GGAAAATTGATTCCTAATTTATTGGTTTTGACCGGTTGTAACTAACCCCC ACACACTGTTTTTTGATACTACCTACGTCTATTTTCGGCTAATTTTAAGA AGTCAATGATTCCTAATTGTCTTTTTTGTTATTTTCTGTGAAGTGAAGTA TCAAGATAAAATCAGTTTGCGTCTCGCTTCGATTTTCTCATTTTTCGAAT GCTATTCCCCCGTAGCAATATGGTTTTGTTATTACACATTTGCACTTTTT TGCTACCCTCCCAATTCTGACTCACACTTGCATTCCGGAGACTGCCTGAG AGTTAAAACTAAACATAATTGTTATATAATAAATGTCAAAGTTTTTCGCA AGCTGAAAATTTTTGCCAGCTGAATTATTCCTCCTTCAAAGGAGCATAAG TCTAAAAATGCTAGAGTTATTGGAAAGTTGCTAATTACAAGTTATAGAGT TTAAAATTTTGAGTAGTTTCTCGATTTACAATTTTTGAAGCTTTATTCCT TGCTCAAACTCGAGCAATGAGAGGCAGTGGGGACTCCCCCACTGGGGAGG GGAGAACCTTGTCAACCCACTAGGGAGGGGAGAACCTTGTCAACTTTAAA GCCACGTCCCTCTGCAGGGAAAAGATCTATCAAAAGGTTATCAACTAACA AAATGTGCAAAATTATACGCTCTACATTTTTGTAGTTAACCGTTTTCTGT TATCACAGTTAGTTTTTGTGAAACCATCAAATCTGTAGTTTCTCCATTAT TATTATCACCTAACAGTATTATTATCAGCTGATAAGTATCCTTTCTTTTT GGATAATCCCCTTGTAAAGGAATATACCATTGTCTTCATCTCCTTTTTCT GTGTCTACCCTTATCTTTGGGTCGCCATCTGCCTCTCCTCCCCGCATATC CCCTCTTATATCTTCAGAAATTCAGGTTCCAAGGAATATTCCGAAAAATT TTGTTTGGAAGGTGACATGTCCGATCAATCGCTGGTCCAGAAGGTTCCAC TACTTGGCTCGTGTTCTCAGGTGAGTATGCGCCTTTAAACATTGAGGGTA CTGTATGCACCATAACGCAAAATTGCAGATTTTATAGTGGGGCAGGTTTG TTCTACAGATAACCGTAAAATTTTTATGTCCCTTTAAAAGAAACTCGTCC GAAAAATTGATAATTTACGAGGAAAACAACTTTTAAAAATGTTTTTTTAC TTCAAACGATGCTCTATTGTGCCGAATCGCTTGTTGTTTAGCGGCGTTTC TAAATATTTATTTACTTATCGAAAATCTTTTTTTTCATATTTATAACTGT TTAAACAAAATCGATAATATTTATTTTTTCTGAAACTATTCTGAAAATTT TGAATTTCCCGCCAAAAAAATTTCGGAAAATTTTGATTTTTTTTGGCATA TTATTTTCTGATAGAATTTGAATTTTTGGCCAAAGAAATTCTGAAAGTTT TGAATTTCCCGCAAAAATTGTATTTCTGAGAGAATTTGAATTTCTTGCAA TTTTTCTGTGAAAAAACAATTGAAAATAAACGTGGTCGCCAATACGAGAA AACTCGGCCACCGATTTTTTTTTCGCAAATTTTGCATTCGTTGCTGCATG ACTGCCAAAAATTGGCGGCCGAGTTTTTTTATTCTACAGGGTTAAATTTC ACAGATGGCCGAGTTTTCTCAGTTTCACGGTCACAGGCTTCTAGTTTATT ATATTCATCTCCGCGGCGCGCGCACCGTACTTTCTCCTTCTCTACTCTCT CGTTGTTCAATCCCTCTCTCGGATCCAACCAACGCCCTCTGCGATTGTGT CATCATCGATTTGTTATCTCAAATTCCGTTTGGCTTTTCAATAACCGTGC CTTATTGTCTCAGGAATTTCAAATTTCCGGTCAACAATTCGGATTATTAA CCATTTCGAAAAAAATCCTTTAAATTATTTTTATTATAATGAAAAACGTG CGATTTTTTCTCGCTGGTGGGTCCTGGCACGACTGAAACTTTTCAGCTAC TGTACCCAGCATTGCTTTAGAATTTAAATTTTTGCCGGCAAATTAGAACT GCAAGATTTTTTTGTTAGTTTTTAATTATAATTGTTTGGGAAAAATTACA AACTTTAAAAAAACCTACCGTACTCCCAAGTACTGCAGCCAAGAAATAAT TTGTTTCGTGCCAAGACCCATTTTTCCTTTAAGAACTAGAAACCTCCCTT GTTTACAACTGTACTTAAAATCGAATTAGTTTGTTCGCTAAACATGTTTT TCGCGCGAAATTTCGCTTTACTTTCGAAAAATGTTTTTCTTCATTTTCGT CGGCATGCGCCTTTAAACTACTGTTTTTGAAACTTTCGAATGATAGAAAA AATTAGAAAATATTTTTAATTTTCGCTTTCGCCGGAATATTCGAAAATTC GAAAAAAAAACTAAATTTCATGGATTCTCAGTTAAAATTCACGGAAATTA AAACTTGCGTAGCGAGACCTCAACGATCACATTACCTATGCGCCTTTAAA GCTACCGTAACCCTATTTTTAATTAAAAAAAAAAGAATTTCCTTTTAAAA TCGCCGGATTTTCTCCGTCTCTTTTCCCATCTTTTTTCATCTTCGGTACC AATCATATGTAGGTGAGAATATCTCTGCACCCTCCAACGAACCCAACACT ATATCGCTGCGCACCGTCCTTCAACGATGTCATCTTCCTCCTACTTCGAC CCCCTCAATTTATTTCCGATTTCCTCTGATTTATTGATCTTTTTTCCTCT TTTTCATCATTTCTACGTTCTATAAAGCGAGGTTTATAGCCAAATGGACT CATTCAAACGATTACAATCCAAAGTTTTCACGTCAGTGAGCTCACTGCGA AAATCTGAAGAGAATGTGAGTAAAAAGCGGCGGAAGACGTAAAACATCTG AAATATTTTTAAAAAAATTTGTTAAAAGCCCCACATTTTCGAGATAAATC TAAATTTTCAAGTTTGTAGCAGCAAATTAAGCAAAGATATATATTTCAGG CCGACGAGCAGACATACAACACAAAACGATGCTTCATCCACGTCAATCAC TTATCGATCGCGATCGCCGTCGTCGAGCTCTCGATTTTAATTTATCAGGT AATTTGTTTGCCTGCAACTCAGACCAACGCTTAGTCGTCTAATTAGATTT CAACCATATTTGATTAGAAACTGAGCAAATATAATGGGGACATAATTAAT AGGCTTATGGATTTTATTTGATTTGACAATATGGATTTTCTAACCAAATA TGGTTAAAATCTAATCCAATATGGAGCAAATCTAATCAAATATGGCTGAG ATCGTGCCATATTGGATTAGATTTCGACCATATTGGATTAGATTTGTTTT CTAATGAAATATGGAGAAAATCTAATCTAACATGGATTTCTAATCTAATA TGGAGCAAATATAATGCAATATGGATTTTCTAAAAAATATGGTTGAAATC TCGTTGAATATGGTTGAAATCTAATTAGACGACTAAGCGTTTATCTGAGA AACTGGAAAAACCTAAAAAAAATCTGAAAATTTTCAGTTTTGTGTGGAAA AAATCAATGAAAAACTCAATCCTACAGTAATTTAAAAATTCTTTTTCACT AAAAAAATCAGTTCCCATTGAAAAAACAAACTGAAAATCAATTATTTCAG CTCTCAAATGGCAGTTGGGGCAATTCGGAGCACTCGACCGTCTTCACAAT CGCCGCCTTGCTCTTTCTGCTCGTCATTTTTCTGCTTTTCGTCGCGATTT TCTACCAAATCGGAAATCTTCTCATCCCGCACATCGTCATGCAGATTCTG CTCGTTTTGTGCTTCCTGGGACTCACATGTGCGACGCTTTATGCGCTTTT CCACGGTGCCACGTTTCAGTTGCTCGTCGTGGTTACAAATCCGCAAATCG CCGCTGATTCCATGGTAAGTGTGGTAAAAAATGAAATTTGTTTCCTTGGG AAATTCCTTCTTTTTCCTCAATTTTTCCTCATTTTTTTGCTTCCAAAAAA AAGACCCATTTTGCGAAAAAAATTTTTTTTTTTCATTAATATATGTATTT TAAATTTTCCAGACAATTCTCCCGGCGCCAATGATCACAACAAACGTGGT TTCCGGATTCCTAGTGGGCCTTCTCGTCATTTTCGCAGTCTCCTACTTGC TCATCGCTGTGCTGAATGTGAGCTTTTCCCATGGCGAGACCCATGTAACT TTAATTTTTGCAGACCTGGTGCATGTACGTCGTCATCGATAGTTACCAGC TTTTGAAGAGCCAGAAACTTCAATCTCGTACTCCGTCGGTCGAGGAGTAT TGTGCGCCGAAGACGATTCAACTCTCACTATACCCCAATCAAATCGTTCA GGCCACCGATTTTTAGTCTATATTTTAGACCATTTGTTGAATTTTTCTCG AAAAAATCCGGTAAATTTTTGTGTATATATGTCCCGAAATTCTTCACTTT TATCACATGTGTCAGGCTTTAATTTTTTCATACTTTATTTTCGAATTCTG TACAAAAATCTTTGATATATTCTATTTATTCTTCTCAATTAATAATCACA CGATCCATCTTTCCACCCGTCTCGCCACCTTTGCATCACATCTCGACACT CGAACTTTGGTTTTCCGGTTTTTTCGTTGACTTTATTGTGTAGCTGGCAC ATCCATAGCGCAAACGCCTCGCGGCTTTCCACTTTTGGCGGCGATTCTTT CAGATCTTTTCGGAGATCTTTGGCGCAGAAATCGCAGGGATATGTCTGAA AAATTTAGGCGTTTTTGTGGGAATCTTGAGCTTATTAGCTAACTTTTCCT AGAATAGACATGAAACTTCTGGCTCGATCCTTATCCTCGTCGGTAGGCTT TTCCGGGTAGTAAACCGACATTGTGTGTAGCAAATTCCACGTGGATCTGC CTGAAATTTGAAATTTTTGGTGGAAATTTGAATTAAAAGCGAACCGAGCT CATCCTTGTCTACTGGACATCCGTGCAACTTCGCTCCTGTGCTCGTGCTC GGCGTCGTCTCGGATTCTGCAAAGAACTAAAATAATTGAGATTTTTTGCT CTGGAAATCTAGGGAAATCACCTTTTTTCTTTATTTTTTCAGCCATTTCT CTGCCTTTTTTCATCATATCCTCTACACTGACGCATGCACGACACGGCTT TCCATCTGGACCGATTTCCATTCTGAAATTAATTTTTAAACTTGGTTTTC GTTTCGTCAGTTTTAGAAGCCGTTTTAGGGCGTAAACTTATGAAACTATA CATAGTCTACGACAAATCTATAGAAATGCATTAAAAATAGGTCAAAAATG TGAGAAATTGCGCAAAAAATGATGCAAAAACGAAAAAAAATTAACTAAAA ACAAGAAATGCAAGTGCGCTCCACTGACACGCGTTAGAGAGCGTAGACGC AGAGAAATCTCGAGATGAGGGAAATCGTGGCGCGCGGGAATCAAGCTTTT TTGAATTGTCTTGATTTTTAAAGCCCAAAAAATAGATTTTTGGCGGATTT TTGGTGGATTTTCTTGCTTTGCAATGTAAAAATTAATTATTTGTTGCATC TAATCACTTTTAACAGAGATTTACAATTTTTTTAGTGGTCTGAACCTGGG AAAATCCTTCAAAAATCAATTTTCCCTACAAAAATTCGTTATTTACCGCA TTTTCCGCCCAGCTGATCAAAAATTCTTCTATTTTCTCAATTTATTGATA ACACTCGCCCACCTCAAGCATTTTATCACCTGAAACTCGTCACACTTTAC AATTTGTTTGCAGAAATATGCGAAAATGAGCGTTACTCAGCTAAAAAATC TGAAACACGCGATAGCTCAGCTTCTGGAGTGGGATGGAACGAAAACGGCG AGAAAGGCAAGTTTTTGGTGGAATTTATCGAAAAAACCTGATTTGTTTTT TTGCAGAAAATCGTCGACGAGGTGGTTCTTCTCTATCACGCTCTGGGAGC GGAGGCATTAAGTGAGGATAACCAGGAGATATATGATTTGTATGATTTAT CTGCACGTATATTCAACTTAGCTAAGAAAGTTAGTTTTTTTTTTGTTAAA AAGTCGTAAACAACAAGTAAATTTAAAAATAAGCATTAAAAAATATTGAG GCTTATGAGAGCAAAAAATTCCAGGAAATCGAAGAAGCCAACCAACAATT CGAAAAAGAACGAAAAAAGGGCACAAGACGAAGCGAAAAACCAGTCCCAA CTCCACTTTTCGAGCTATCAATACAACATTTAAAACGTTGCTGTCAGCAG GGAATCGATCACAATCAGGTGCCATGGATAGCATATTGTCTGAAACTACT GGAATTTCCAATCACAATCACCGAAAAATCGATCGAAAACGAGATTTCCA ACGTGCTCCTATTGAGCTCCAACGCCTCACAGCTCCATTGGGCCGAGCAT GCTCATTTGAGCAGCTTATGGAAATGGATTTGGAGCCGTGTCGAGACCGC CGATATTGGGGCACTCGCCATGAGAAATTATATGGAATTGGCGGCGAACT TGCTGGAAAACGTGGATTACGTGGTTTTCGAGAAGTCGCCTATTGACCTG ATGGCGAAAGTGATGGGAACACTGAAGAAAAGTGTGGAAATGGGAAATCC CAAAGAATAGTGCGTGGAAAACGAGTTCTTGAAATAATGTTCAAAAAATT CAAATTGGCTTGGACTTAGGCTTAAGCTTAAGCTTAGATTTAGGCTTAGG CATAGGCTTACAAGGGAAGTATTTCAACTTATTCCCGGACTTCAGAATGA AACCTATGTCATTTCGAAGAAGACTCTTTAAGTAGGTCCCTACAAAAAAT TTAGCGGCAGAGGAGCACTTTGACCTGGAAAAAAGTCGCTCTGAAAACTT TTCAGTGCATTTTTTCACGGCTTTCAAGGCCCGTAAAATGGCTCCAAATG CGAATTTTTGTAGATTTTTGAAGATTTCTAGGATGCTCAGGGGCCGGAGA GCACTCGGAATTTTTTTTGGAATTTTTTAAAATTTTCGAAAAAATCTGAA ATTTTTTGAATAAGTCCATGGCAAAATTTTTCAGTGAATATATATATATA TTTTTTTTAAATTTCAGAAAAGTTGTCAGTTATTTAAGATCAAAATTGGG TGTTTTTACACAATGAAAATTTTTTTGAGATTTTTCGGAACTGCAAAAAC CAATTTTGGAAAAAAATCGGCACCCGGAGTCGAACCCCAGTCTTAAAAAA TATTAATCAAACTCGCTAACCACTCGGTCATTCAACGACAATTTTTCTTG TAAATGAAATGGATGACAAAAAAACGTGACTCTTTGATATCTACTTAAAT ATATAGGGACGTGAGAAATAGCTTTGGAAAAGGAGAGGACGCAGAGAAAA ATTTTCAGAGCGACTTTTTTCCAGTTCAAAGTGCTCCTCTGCCGCTAAAT TTTTTTGTAGGGGCCTACTTAAAGGGTCTTCTTCGAAATGACATAGGTTT CATTCAGAAATCCGGGATTAAGTTGAAATACTTCCCTTGTTAGGCTCACT AGGGAATGACCAGAATAAATGGAGCGATATTCAAAAAAAATATATTGTAT CGGAAAGCTGGCATTCTCTACTATAAGAATATGACTGAAATTTTTGCCCG TTCGGGCTGGAAATCTGAAATTTTTACGTCTGAAATTCTACACTGAAATC AGTGCATTTCCTATGGTTAACAGTGGATTTTTGTCTCTGGCGCCAACAGA AGTCTCACCACAATGGTGGAAGGGCGAAAACATCGGTTCGGTGGTCGAGT GGTGAACGCGTTCGCCTCTTGAGCAGAAGTTTGTGGGTTCGGTTCCCATA CATGGTTTAACTTTTGGCCTTTTTTATACAAAATTTTCAGAACGGGAAAC AAGTATTTAGAACATTTTTTTGAGGGTTTTACATAATTTTTTTGCTTTTT AATTGAACCATAATTACCCTGGAAACTTTTCAGAAATTTTAATTTTTTTC GAAAATTGTCACTTTTTTCTCCACCAAACCCATGAGAAAATTTGATCGAA AAATTTTTTTTTGAAATTTTTTTAAAAATGCATGAAATATTTTAGAGTGT CACAAATAACCTATTTTTCATTATTTTCAATGACCGAATCATTGATTCTG ATGCCTTATCAAGACGTTTTACCAAATCGATATTGGCAAAACATCTTGTT TTTGAGGCTCCATATCTCTGCAGGAAAAAATCGCACTAAAAAGTGATCAA CTAGAAACTTGTTAAACACAATGTGATCTAAAACATTTCAGTTGAACACT TTTTTGTAAAAAATTTCGTTGCCGAGTTGGAACCAATTGATTTGAGCTTC ATTATTTTTGAATATTCTAAATAGTTAAAGATCTATATCTTGGCAACGAA ATTTTTTACAAAAAAGTGTTCAACTGAAAAGTTTCAGATTACATTGTGTT TAACAAGTTTTCAGTTAATCACTTTTTAGTGCGATTTTTTCCTGCAGAGA TATGGAGCCTCAAAAACAAGATGTTTTGCCAATATCGATTTGGTAAAACT TTATTTTAATTTTTTTTTTTCATATTATTGTTTTTATATTGGGTCAAAAC GTATTTGCTCTGCTAAATAGTTAGCTGGCGCTAATTTTTAATTTTATTAT TTTCGTATTTTGATAAATTTCACTGAAATTGTCACTTTAATAGTTTACAT TCTATTGGTTTTCTTTTATTCAATGTCTTTTGATATCGGAAACGTGATGT TTGCCTTGCATCGTCATTTTCCCAATCCCCTCCCATCAAATCCCTCGATT TCGAGACATGAGCAGAAGGTGGCAGATCATTTGGCAAGCATTATAAAGGA ATCTTATTATGGAGATACCAGTGTGGAAGAATCCGAATATTTGGTTCAAG AAGAATATGGCGATTGGGAGCCAGAAGTTTTTGAGGTATGTTGGTTTCGA CACTATTAATTGTCATTTAAAAAACCTTTCAGCCGTATGACTGTGTGTTG CCGGATCAAGATGATGTATTGTTCGGTGAGAAAGCTGTATCAAGGGAAGA GTTGGATAAAGCGATCACCTTCTACCGTAGCGGAAAAATTGGAAGTAGGC CGATAACGACTATGCACCATAGTTATCGCTGGATACGAACCGATGCTCAT ATGAACAAACTGCGCAAGTACGAGAAAGATAAAAAAGCGTTCCAAGAAAG CGTGCGGGTTCGTTTGGCACAGCTTACACAACGGCTTTATGAGGAGGTCA AGGAGAAACTTGATAATGGTAACGAACATTAATATAACAAGTTTTAATAT AAATATTTCAGGAGTCAATTTGCATGATTCTGATTTGATGGCTATGGCAC TGGAAATCAACACCCGCGAAATGAAGTTGCAAAAACAAAACGAAATGAAG TTGCAAAAAGCGTCACAATCCTGGATAACCCGATGGAAGCAAAGCCACAG GTATGTAATAAATTGCGGAGTATGTTAGATATATATATATATATATATAT AATTTCAGAATCGTGAGTCGGAGAGTCACCAAGTTTGTCACACGGAAGTG CCTGATCAATAAAGACGCTATCAAAAAAAACGCGGATGATTTTGTCAAGA ATGCCAGAACAGAGATCTCCAACTATCACCCGTCGATGGTCTTCAATTGT GACCAAACCGGAATTCAAAAGGAGCTGTATCCAGCCCGGTCTTTAGCCTT TATGGGCGAAAAAACAGTCGAGAGGTTGGCGCAATCGAAATCGTCGCTGA CCCACTCGTTTACGTTTCTCCCGATGATTTTCCTCGATGGCTCAATGGGA CCCAAGGCGTTTATGGTAATCGCTGAACCAAAAGGCCAGTTTCCTCCGTC TCGTCCAATTCCAAACTGCCCAAATTTGGAAGTGCGGGCTGGATACAAGA CACACATCATGACGAAGCAATTGATGTGCGATTTTTTCGAAAGTTGTGTC TTCATTCCGTCTGTACCGAAAAAACTGTACATCATGCTGGACAGTTGGCC AGCGTTCAAGGACCATACAACGATCAAGAACTTGGTTCCCAATGGTCATG ATGTCGTCATTCGCAACATTCCAGAGCACACAACTGGAATGATCCAACCG TTGGATGTCTATTGGAATGCGCCATGGAAGGTATGAATTTAAATCTTTAT AACTTTTTGATAGTATTTTCCAGAGCTTGATCAAGAAGTTCACAGCATAT GCCCTTCGAACCCAGACGGATTACGTCATCGCACAGAGGAACAACGCAAT TTGCATGGTATCTGTGTTGTATCACCAGATCTCGGCAGAGCACTTCCGAC CGTTTTTACAGCATTGTTGGAAGAAAGCTGGATACGTGGGTGCTGCGAAT ACTTCATCAACACCATTTTTGACTCCAGCTCAATATTGCATTGATCATGG TGACACAGTGATTTGCTATCACACTGGATGTAACCATCTCGGATTCATCC GATGCGCAAGATGCAAGATGTTTGTTTGTTTTAATCATTTTGTTGTGTCA AAACAACATCTTTGTTCATCTCCTTGAATAATTAATAAATTCATGATTGC ATTACATTCAAGTTTCGCTATGAATAAAATTGTTTATATGAGGGGATCCA TGGTTGTAGTGGTCCATGGTTAAGTTTAAATTTTAGGGGAAAAGATGTTG AATGAATCATTATGGTGTTGGTCGACACATTGATCATGCTGATATCGATC AGAAAAATTAAAATTTGGGCTTTTATATAGTTTCGAAAAAACACGTTTAA ATTTTTGAAAAACTTTACGTTAGGGTGGAATTGAACCCCAGAGTCCCACC ATGCTTGTCATCCACTCTATCCACTCGGCCATCTCGCTGTTGCAGGCAGT ACTAATTGGGGATGGTGATAAGTAAAGCACGTCAAAACGAATAATTTCAG ACGTAAAAATTTCAGATTTCCAGCCCGAACGGGCAAAAATTTCAGTCATA TTCTTATAGTAGAGAATGTCAGCTTTCCGATACAATATTTTTTTTTTGAA TATCGCTCCATTTATTCTGGTCATTCCCTAGTCAGGATCAGCCTCAGGCC TAGGCTAAGCTTAGGATTAAGGGTAGGCTTTGGCTTAGGCTTATGCTCAC GCTTAGGCTTCGGCTTGAGCTCAATCATACATCTTGCTTAAGCACGCAGC TTAACAGCAAAGCTTAAGCACACAGATTGGGCTTAGGCTCAGGCTCAGGC TTAGAAAAAGTCGAAAAGTTAACTAAGTCAAAAAATTTTATTGTTAAAAA ATTGTTTAAAAAGTATTATGATTTTAATAGAAAATTGGAAAAAAACCGAA AAAAAATGAACATAAATCAAAAAAAAAATTTTTTTTTAAAGAAAACTTCT TTTTTTTGAAAAAAATGCAATTTTAAGGTTTTTCTGAAAAAAACTGGAAA ATACTTTGATTTTACTGTAAAGAGAATTTTTTCTGTTTTTTTCCAAGATT TCAACTTATTTCTGCGAGTTTTTTTTTTCAAATTTCCTCTTATTACAGTT GGTGTCATTACCGAAAATTCTCGGTCGTCCACATTCTCTCATATATCGTA CATCGTTGGGGTCTCGAAGCGAGAGATTTCATTCTTCGTGAGATTTTCGA GCTCACTGGTAGTTTGTCCAACTTGATATCAGTGGCTCATAAGGATGGAG AACAGTCCAAGGTTTGAGTTTTTTTTTCTGAGTTTGCAAACGCGCCCTAA TTATAAAAATTTGGAAAATTCCACGTGGAAAATAGTTTGGCGAAAGTTTT TATACAAATTTTTCGTGGAAATTAATTTTTTTTCGAAATTCTCTTTTAAA AAATTTAAAAATGTTTTATTGGCGTATTATTTTTCTAAATTTCAGTTTTT CGCAGATTTCACCAATAAAATATTTTTTTGAAAAATATCGCTTCGAGACC CAAAAAAATAATTATGATTTCAATGAAAAATTGAAAAAAGCCAATGAAAT CGAGAAATTATCGAAAATAATTCGAAAATTGGAACTTTTTAAAAATTTTA AATTTTTTTCAAAACAAAAATAGTTTCTCAACTTTTTGCTAAACAAGAAA TATATTTCGTGGCGAGACCCATTTCTACTAATTTTCTTTTTCAGAAATGC ATAATGCGTTTGATTGATGATCTCGTGAAGCTCGCCATGATCGAAACCGT ACACGGCCACCGTACCATGAACGAAGTGACACGTGGAAATATTCAAAAAC TCGTGAAAACCGGAATCCAAGAGTCTCTGAAATCGGCGCACCGAAATTTC TCAAGGAGTTCGACATTTTCGATTTCCGAAGAATGCGTGAGATATCTGAC GAGATGGTTGTTGGCCGAACGAAGACTTGAACAGCCGTCTGCGGCTATGA ATGAATCGTTTGAATTGACCGGTGATAGCAGTAGTAAGAAGAAGGACGAT GCCACGTTTGATAGTGCGTAAATGGAATTCTACCAAAAGGAGATCTACAA AAAGAAAATCTACGAAAATAGGATTTGGCACGGTGCCAGATCGATCTTTT TTCGGCTCAAAATTGGAAAAACCTGCAATTTTTATACATTTTTGGCTTCG AAAATCAGGGAACTCTGCAATTTTTGGCATTTTTCGCTAAAAAATTGGAA AAATCTGCAATTTTTATACATTTTTGGCTCACAAACTGGAAAAACTTCCA ATTTTCATCTCAAAAAATCGGGAATATCCGCAATTTTCCTCACATTTTTA GCTTAAATAATTGAAAAAATCTGCAATATTTTACATTTTTGGCTCAAAAA ATCGGGGAATTTTGCAATTTTTTACATTTTAAGTTTAAAAGTGGAAAATT GCAAAAATCGGCATAATTTTGAACGTTTTCTTTTTTCCGGTTTTCCGTTT TGTTACGATTTTCGTTTTGCATGGAAAATGCTTCGATTGATACCCTTCTT TCGGAAACGAGTTTCTCCTGAAATAGGCGTAGTCTCAAACCATTTTATGG GCGTGGTCTTTCTCTTATCTTGTTTTTATAAATGTTGTTCATTAAAACAT TTTCAGGCCTTATCGATCTCTCCTTTGGCTCGACGATTTCCGGAAAACAT AAATTGAACGCGTGGAATGGTGTAATGCAAATCCTGAATGAGCTCCTAAA AAGTCGACGACTCGAACTTCAAGTCACTGAAAAAATCGTGACAATCCTCT GGGAAAAGCGAAAATCCTACACAACGGAGCCACTCCGTACTGTGTTCTGC TCCATTCTCTCCACAGTCGTCTGCCAGGCCGATGTTCGATTCGGTCATCG GAAAGTGCCGACAATCGACTCGATTCTCAAATATTCGCTGTCTCTAATGC CAAATGTCGCATCTCTTCCCAGTGCCGCTGCGTTGACCGAAACGATTGTC AGATTCAGGACAGTATCACGAGAGGGTCTCCGTAACACGTGGGATACCGT ATCCCGAACTAGCTCCGGCTCATTTGAAGTTGTTCGGCTGATTTCGGCGT TGATCTCCGTTACGGAATTTGATGAGAATTCGAGATTCGCCAACGATGAG AGAGTTCGGAGTTGGAGGTAAGTCACTATGCCACGTGGATGGATTTCCTT TAAAAAGAGTTTTTGGAAAACAAATCAGATTTTGTATATCACTTCACCTT TAAAGCGAAATTCTTGTTTTTTTGCAGTTTTCGAAAAGACATAATCGAAT GGGTATTGCTGGATCCGAATGCACATAGTCACAAATTACTCTATCAGTTG TGCCAGTATCATCCAACGTATTGTTATGAATCAGAAGCTTCTTCTAGTGG TTAGTTTATTCCGTAGGGCTTCCATGGTAGGCAGGCGCGATTTCAGGGCC TGACGCCTGCCTGAAACCTGCTGACCTTTCGCCTCTTTTCTCTCATTGCT ATCAATTTGTTGAAAATCAAATTAAGAAATTAAAAAAAAAGTTCACGTAT GTTTTGTCGTGGATTGAGGCGAGGGGCAGGTGGTGGTGGTCTTAAGGTCA GGTAGGCAGGTGTTTTCACGCCTACATTGAAGCCATAGTACCCCATATGC CGAAAACGCTGAAGTTTTCTCATTTTTCCAGACGACTCCCTGCTTCAAAC TCTGAAACTATGTAAATTAGCTTGCTCTCCAGCTCCCCCATCGGCTCCAA AAGCCCTCCGACCACTCGAAGCTTCAATTGAAGAGATTGTGAGATATGTG CATGATAAGCTCAAGAGCATTCTCGGTGAGCATCGGCTGTCGTTTTTTTG ATTTTTGAATTTTTAAAAACATTTTCAGCGACTGAAATCACTCTGCCTGC ATTTGTGCTCTGCCACGAATTTGCTCTGAAGTATCCGGATAGATCTTATG AGTTTAATGTTGGTTTTTTTTTCTAATTTTCGAAAAATTTAAGAAATTTT AGGATATAAATAGAAATTGAAGAGAATTTGAATTTTTAAAAAATTTCGAA TTTATGGAAATTCAGTAAAGTTTGTCGGAGTTTTTAAACGAATTTTCAGA ATTTGTAATAAAAACTAAATTTTCTAATTTTTTTTCCACAATTTACAACA TCTAAAAAACTTTTTAGAAATGAATTGTTAGAAGTTAGAATTCCTGGAAA TTAAAAAAAAATTTGGATTTTTTTAGAATTCTTAAAAGTTTGATATTTTC AAATGATATGAAGTTAACACATTTTTTAAAATATTCAAAATAAGAACATT TTAATTTTTTTGAAGAAATGTTCAAAAAATTAACATTTTTTGGGACTTTC AGAAGTTTCTTCTTTTTTTTTGCGTCTTTCAAGATTTTTTGCAATTTGCG TAATTTTTATTAAGGGGACAGAAAATTCTGAGAATGCGGATTGCACAACA TATTTGACGCGCAAAATATCTCGGAGCGAAAACTACAGTAATTCTTTAAA TGACTACTGCTAAAATTGAGCATAAAAATAAAAATATATCGATGTATCTT GGATCCCGTAAATCGACACTAGCGCGCTACAGTAGTCTTTTGAAGAATTA CTGTAGTTTTCGCTACGAGATATTTTGCTCGTAAAGTGTGCACGAATTCT TATAATATTTTGTTCTCACAAAAGTTGGTCAATTTATGGGATTCTCAAAT TTTCGATGTTTTTTTTTTTGAAATTTAAGATTTTTAAAACATTTTTCAAA AAACTGATTTTTCTCTTAAATTGAAAAGGTTTTTTTTTCAGAAAATGTAC AAAAAGCTCTACCAAATCATGGAAGATCAAGAAGAAGACGAGTTTCTCCA ATCAGCTCGCCATTTCTCAAAATGGCCTCAAAATCTGACACTACCAATAC AAAAACAGACAATAAATTGCATGGCTGTCTTTTTCGAAGCGAATCTTGAC AATCAGCTCGTCGATCTCTGTCAGTGGAGTGACCGACGAAAAGTGCTTGT CGAGATGCTCGCCGAGCTGGCCGCCACAAGATCTGAAATTCGAGATAAAC TTCAAAAATCGATGCCGTTCAACAAATTCGTCAAGGAGTGTATAATGGAG AATCGCGGTGATTTGTATGAAATGACAAAGAGATTTGAGAAATATTCGTT TTTGCTCTCGATTCGGAATTTAATTGTTACTAGGATGATTATAACGTGAG TGTTTGTTTTGGGGATTGCCACGAAAAACTGGAAAAACGTTTCGAAAATT CAAAAAATATTTCTTCAACATTAGAAAGAATTTCCATTTTTTATATAATT TTGGAAAGTTTTTAGATTATTTTAGATAAAAAATCATTTCGAATTTACAA AAAAAAATTATGAAATTTTAAAAACAAGTTTGAAAATGTATTTTTAAAAA ATTTAAATATTAATAAAAAATCTTGTTTGAATTATTTAAATGTTTGCTAT TGTGTTTTAAAAAAGCTTAAATTAAAAATTTTTTTCAACAAATGACTAAA TTAACAATATATAACAAAAATTCAAAAAAAATTGTTTTCGAGAAAATTTT TTGCTTTTTTTAAAAATAAAATTATAAAAAGAAACAGAATAAAAATCGAA AAAAAAACAATTATTTTGAAATTTTCAAAAAAACTAGAAAAATGTAAAAA TTTTGAGGAAAAAAATTCAAACATCCCAATTTTTGCAGAAACGAAGCCGC CCGACTCCTAGGAGATGGTGAAACAATCAGTGAAACCGATATCTTCATAA TCGAAAAGCGTACTCTTTCCACGTGTATTCGTAATGTGTCCGAAGGAAAA GAGTTGAGCGGCTACACACTGGACCCCTATACGGTAGCTGCCAACGTGCA CAATGTGCATTTCGATCACATAAACGTCGAAATCTATCTGGAATTGCTGA AAAAGTCGCCATTTTTCGCTCAGAACATTGTACGCCACTTGTTACGGCAG AATGGAAAAGAAGCAGAAGAAGAGACGTGGCACTTGCATGCCACTGTGCT GAAAATTGTGATGAAAGATGAAAAGTTGCTGGCGGTAAGGAATTTTTTTG GAAAAACTTGAAAAAAAAGAATTTCATCGTATTTTTAAATAATTTTTTGA ATGAAAAATTCGGTACTTTTCCTTTTCTACCCCGCATTAAAAAAATATTC AAACTATTGACTTATTCGAATTTAATTCTCACGTGAATGTTTGTATTAAT ACTATTTTCATTTTTAGGCTTAGAAAACAACAGTACTAAGCCTTGAAATA CAGAAAAAGAAAAAGAGTTCACGTTTTTATCAATGAAAATATTCCTGAAA AAATGCGGGGTAAAAAAGGAAAAGTACCAAAAATCAAACTTTCAAAGTTA ACAATACGCAAGTTTTCAAGTTAATTTTAATAATGGATTGTTTAAATCCG GAATTAAAAAAGTGGTTCAAATTTTATTTTATTTGACTCTATTGTGGCGA TTTTCATGACAATTGAAACGATTTTTGAAACTTGTATTTATTGAAAAAAA AGTTGAAGCAGGTCGTAATTTTAATTTGAATATTTAAAAAAAACTTATAT GGGTGCTTCAATTTTGCAAAACATTGCAATTAAAAAAAAAATTTTCAAAA TGTGGTCGGCAAATCAGAGTGTTTGAAAAAAATCCTTCTAATTGTGTTTC CGGAATTTTTGGGATTTTTTCTTCGAAAATAGGAATGGTTTAAATTGAGT TAGAAATTTTTGCAAATAAAAATCGGTTTTTTAAAATCAATTTCTTGCAA TCAAAAAATTGAAATTTTCAGCAAAATAATAAAGTTTTCTCTAATTTTTC AATTTTCAGGTATGCGTGGCCACAATTCCAAATATGGTTCGATATCTCAA AGTCTATCAGATTCATTTCAGTCCGAAATCCAACGCGGCGAAGTTCTTGT AGGTTTTGTAACTGCGAATTTCAAAATTTTGCTCGTCTAATTTGACGCCT GCTCTGTTTTTTTTTACGCGCAAATCTTAGAAATCGGTGACTTTTTCGTT TAAAAACACCATTTTTCAGTAAAATCTGAGCAATTTTCGGTTTTTGCGCG TCAAATATGACTAATTGAGTCAAACTTGACGCGCAAAATTTTCAAAAAAA AAATTCAATATTTTTCCAGACACCTCGACATGGAATCGATTTCCCACTGC CAATCATATTTGCGAAAACCAACAAAATCATCCAATCTGATCACGGCCGC CAACTTTTTGACACTTTTCGGATGTGAAAAGCGCACGTGGAAGCGCCCGA TTCTCAGATTTTGGAGCATTTTCAAGCAGCAACCGGCTATGTGTTGCGAG AAATTGCTCATTTTTGTAAGCAATGATTTTTTGATAAGAAATTTCCCAAA AATTTTGAATTTTTGAATTATTTTTGTTAACTTCTTATTTTTAACTCAGT ATTTTTGCAAACTGAAAATTTCCAATTTTTGGGCTTAAAAAATCTCCATT TTTCAGGCTGAAGAATGTGTCGAACTTGGCCTGAACCACCGAATCGCTTG TCTTTTACGCGCACTGACAACCAGTGAATTCTGCCGAAAAGCTCTATGTG ATGAATATCTGAAAATCGCGTTTCAGCTGACTTATCGATCGATTTTTCTG ATTTTAAGCAAAAATGAGTGCAGGTTGGTGGAGAAGGATATGTGGAAAAA CAATATTTGAAAAATAAAAAAAAAACTAATTGATTTGAATTTTCAAAAAT TCCAAAAAAATAAAGAATTGTATTCCAATTTTCATGAAAATGGCAACAAA AAACTCAAAGTTTCATTGGAAAATTTTTGAAATTACAAAAAAATTAATTT TTGAGTTTCAATAAAGTTTCAAAAGTTTAGTTTGAGTAGTGTTGTCAACA AAAATTGAATGCCTATTAGAAATAGTTGAAAAAATTGGAATTTACAAAAA AAAACAATTTTTAAACTAATTTCTCGAATTTCAAAAAAAAAATCTTCTAA TTTTTGAAATTGAACAATTTGGAAATTTTTTGAATTTTCAAGAAAAATTT TCAATTTTTCGAATATTCAACAGTTCCAAAAAAAAATTTGTTGGATTTTT TTCCAATTTTAAACAAAAAATTTTCAAATTTCCACAGATTTTTTTTTAAT TTTTTAAATTTCAGAAAAAAATTAATTTTCATAAAAAATTGAAAATTTCC ATTCTTCAAAAATAAGTTTTCACATTTTTCAGACCAGAAATTGTGGAGCT CTGCGATGACATGAATCTTCGGTACGATCTTCTCCAGCACCAGATCAAAC ATGTCGCGGCTCACCATTTGGAGCACTTTGAGCGTTTCGAAACGAAAATC GCATTTTCTGTTGAGAAATTTCTGAAATCTGGAATTGATGGAATCGATTT TGAAGATTTAGGATTAGTCGAGTTTTATAAGCAGTTGAACGAAAATTTGA CAGAAGACGCGATCAGGAGCAATGAGGCGAGAAGTAAGGCCGTGGAATAT AAATTGGTGGCCGAGTTTTTTGTAAACTATGCCACCAAACTTGGTTTCTC CGTTCGTGGCCACAAAAATTTTGAATTTTTTGAGCTTCTCTTATAATGTT TAAAAGTGATTTCCTGGCAAAAATTCATTTCTTTAATTAGAAAATTCCAA AAAATTTGAAAAAAAAATGTAAACTCAATAAAAAGTCTAATTGTTTCAGA TTTATTCTGGTTTTTATTGAATTTTCAGATTTTTTCTTCAATTTTCAGTT TTTTTCGACTTTTCTAATTAAAAAAAACCAATTTTTGCCAGAACAAAAAC CATTAAAAATCGACAGTAGTCATCCCATTGGAGTACAAAAATTTTAATGT CCAAATTTTCATGACGAACGAAGAAACCTAGTTTGGTGGCCTAGTTTCCG AAAAAACTCTGTCACCAATTTCTTTCAAAATTCAACAAAATTTTAGTAAA TTCCAAAAAAACGAACATATTCGGCGAAAATTATTTCAAAAGCTTCCGAA CAAAATCTAAAAACGTTCAGAAAGTTCTGGGTAATTTTTTAAATATTAAA AAAATTCAACAAAAAAAGGGGGGCAGATAGCTCAGTCGGTAGTGGTGGCC GCTAGCAGTCTGGAGGTCACGAGTTCAAGTCCGGCCTCACCCCCTAGGTT CACCCAGCCTCTATTGGGAAGTGGAGCAATCCACGACTGGATTATCGGCC ACAGTCCCCGGCTAGGACGTGGCTTAAATTACAGCCCAGAGGGATCACCA CCAGGCAGTGTACCTGAATCCCAGATCCGCAGTGCATAGCACTTGAAGAA CGGATCGTCCTTTAATTCTTTCAAAACTAATTTTTTACTAAAAAAAATTT CCAGACATCTACATCGTCGACATTCTCTCAACAATTTGGCTCCAGCTCCC CTCAATTCGTCCTCAAATTCTACCGATTCTCGCCCGCTTCAAGCACATTT CCCCAGCGTGGACTAATTTCCCACAGCCGCCTCATATTTCGACAAACGAG AAATCATTTCTTCAACATCTACGATTTCATCTTTATCTAAAAATGATGAA TATCTCGAAATCCATGACGCAAGGCGAGTATGCCACGTGTATTATGATGC TCCTGACGAGCTACGACTCGAGCCATTTCGTTGCGGATTTGATAGAGAAA AAGCAGCTGGGAAAGCTGAAATTGCAGCAGAGAAGGAATGTTTTGTGCAT TTTGAGCCGACTTTTGAAAGATCAAGCTGTGATGGGTGATGAAGATGAGA CGATTATCGATCCGATTCTTTTTAAGGCAATCACCAAAGCTTCCGCCGTT TTTGTACGTTTTTATACGACGGAAATCACTGAATTTCATGTTTCTATGCC GAAAAATTATGAGCAATTAAATATACATCACAAGAAAGAAAATAGTTGCC GGTTTTTGAATTTTTCTGTCATATCGGCAATTTTGGCAACTGCCACTTTT TGAAGTTTTTAAAAATTTGGTAAATTTGGCAATTGCCAAAATTATCTCTG TTTCGATTTTTTTCATCAGAATCATAATATTTTAAATTTCGCGCTAATTT TTTTAGCAAATGATCTTCGAAAATTTAATGTCTCGCAGTTAAAAATACAT CTTTGCAGGAAGACACCGCCGCGTGCATCGTACCATTTTTGTTCAAAATT TGTGTGGATTTCAAGGGAAAATACGATAAATGTGTGATAAATTTGCTGGG ATGTCTTAAGGGAGTTAATGCAGGTATGATTTTTCGTCAGAAATGACTGG AACGAGTTTTTCGCATCAATTCAAATTTAATGTAATGGCATTTGGCATAT GACATCGAATGTCGAATGCTGGGAATGCCGAATAATATATTTTGGTCGAG TAGGAGAATAAACTAGACAAAGTTCAAATATATTCCCAACAGGGATGGCT TCACCCGTGACCCGTTTCACCCGTTCACCCATTTTTACAAGGGAAGGTTC TGAACTCGTTATCGGACTTCGTTACGCCACTATATACATTCGATAGAGAA TGGTTACAGATGATCACTCCAAAAAATTTAGCTGCTTCAGAGCAGGTTCG ACCAAGTTACGACACTTTGAAGATGCCGAAAAAAAAAATCATTGATGCAC CCCCTTTGAAAAAAATTGAAAATTTTCACTGAAAATTTTTTTTTTCTGAA AGTTGATAAAAATAGTTGTAATCGATTTAAATAGTAAAAAACATATATTA TACAAGTTTTAGCCCATCACTCTCAAAAAAACCCTTAAATTAATGTACAT ATCTTGAGAAAAATTCCAAAAAGTAGATGTTCATGTAGATCAATTTAAGG GAGAATTATGAACTGAAACTTGTATGGTATGATTTTTCCATCATTTGCAA CTATTTGAAAACATTTTATATCAACTTTTAGAAAAAAAATTTTTTTTTGA ATTTTTTGGAATTTTTAAAAAGGGGTATTTTGGCACTTTCAAAATGTCGT AACTTGGTCGAACCTGCTCTGAAGCAGCTAAATTTTTTGGAGTGATCATC TGTAACTAATCTCTAACGAATGTATATAGTGGCGTAACGAAGTCCGATAA CGAGTTCAGGGCCTTCCCTTGTTAGGCGTTTTTACGGGTGACGGGTGACC CGCTCGCCCGTTTTTTTTTTCGTTTTAGTTGTTTTCACGGGTGACGGGTG GCTCGCTCACCTGTTTTTCACCCGTTTTTGGAAGTTTTCACGGGTTATGG GTGATCCTTGGTTCCCAAGAGGCAGCCAGTTTAGGTCAATAGGTCGTAAA TATCGTTTTGGGCCACGTTTACAACTGGGCTGTGTGCAACTAGAGGTGCA CTTGGGTCGAAAAGGGTCGACCCGCTCCAACTTTAGGTAGCATTTGTAGC GACCCCGATAAATAAAATGTCGACCCCGAATGAAAATTTTAGCAAGGAGG CCATGCTCGTTTAATTTCCATTTTCAAAATTATGATCGGACTATTGGTTG AGCTACTGTGAAATAAGCGGGTCGACCCTGCTCGACCCATGAGCACCCCT AGTGGCAACCATGATTTTCGGCAACTGGCAATTGCCAGAGTTGCCGAACC CAATAAGTTTCGGCAACCGGCAATTGCCGAAGTTGCCGAACTCTAAAAAG TGCAACCGGCAACTTTTGCGCAGCCCTGGTTTACAACTACCTAACGACTT TTGGTAGACTAGAAATAACACATGTATTCGAATTCGACATATGCCGAATG CCGAAAAAAGTATTGAACGACATTAGGCACAGGGATGGGCGGATACCTTT TCGGATAACTTCACTAAATCAATTTATCAATAAGTATTGATTTAGTTATT CTGGAGATACTATACTAGAATAAAGAGTACCTATTGAGCAACATTTTCAT ATGACAAAAACTTTTAAAATTGTACGCATTTTCCTCGACAAGACCCTGAA ACTCGTTATCCGATCAAAATCGGCTAACAGATAACGGACTTGCATACTTT TTATACGGGAAACGTGTAGAATTTTAAAAAGTTTTGTGCCATGAAAATGT TGCTCACCAGTTTCAATTTTGTTCTGATGCACTTTTTCCAGAATTACTAC ATCAGCACGTATTGATAACTTGATTTAATGAAGTTACCCGAAAAAGTATC CACACCCCATAATCAGCATATTTCATATGTCAAATATCAAATTTCCTGAA TTCCGCACACCTCTGCTCTCCATACTCCAACTAATTTTAATTGCAGAAGA CGAAATAGTAGTCCGCTGCCTTGCCGAATGCGTCGACTCCATTGGACTCA ACGTGATTGCTCGTTACGAACGCCTGAACATTGAGACTCATTCGGAATTC GGTGTGAAATGGTTCTTCAAATTATCCCGTCTCTTTCTGAAACATGGATT TACTACGCATTCCTTCGCGATTGCGAATATATTATTTGACCGACTTTCGG CGAGAAAACGAAATACAATGATGATAGATCGTACGAGTTTAGACCGAATT GACAGATCACAGGAACTTATCAATCTTTTGGTGGAGATCTATGTGGCCGA GGGTAACTCGGTAGCGTTGTCCTCTCTGCCACCTGCGGTACAAAATAGAC CGGATGTTCGGCAGGTTATGAATAAGAGTTCAAAGGAATGGTTGAAATTG CTGTCTTCGAATCAAATGGACTCGTGGGAGTTGACTATTGTGCAGTGGAT GTGGTAATTGTTTATTTTGAAATTTTTCATTAGAATAGAAAGCAGTTTTC TGGAAATTTTCAGGAAAACGCATTAATTTTTTACCTATTCTGCATTTCTA GGTTCTTCAATTTTTTGAGAAAATATATATTCCTTCGAAAAAATCACTAA CTTCTTTTCGGAAATTTAAAAAAGTTACAGTCGACGACTTTAAAAAATTC AGTTAATAAAATTAGATTTCAAAAACAAATCGAATTTTTTAATTTGTACC GAAATCTGGAAAATATTTTTAAATGACTCCAAATTTTTCCCTGATTCCAA ATATCTATGAGATAAAATTCAAAAAATAATCCCTTTTTGATCTTGAAATC GCCGAATTTCATTTGTGCACTCATGAGATTTCGAAGTTTCGCGCCAGAGA CCCCATGTGTTGATTTACGAGATTTGTGTATATTTACGAACCCCTTAACC TTTATCGGTTGCTGATTTCCGTTTTTCAACGAGTTTTCTTCAGTTTCGTC GGTTTTTGTTAAAGTTTTTGTTTAAAACATTTTCAAAAAAACTTTGACAA AAATGAAGGGAACTCGTTGAAAAACGGCAATCAGCATCCGATAAAGGTTA AGGGGTTCGTAAATATACACAAATCTCGTAAATCGACACATGGAGTCTCT GGCGCCAAAATTCGAAATCTCATGAGTGCACAAATGAAATTCGCGATTTT AAGCTGAAATAAAGAACCAGGGAAAAACATTTTTTCACATAGATGTTCGG AATCAGGGTCAAATTTAGAGTGAAAAACTTTTAAATTTTTAAATTTTTTC AGTGGCATCCAATTCAATGCAATCACCGGCGATAAATACCTGAATTCAAT TCTTCGTTGCAATTTCAACGAGTACACCAAAAAAATCGATTCCCCATTAA AATTCGTCTATTTTCAACTATTCCATCTTTCGACGAGCACTCTGGAAATC GAAGAAGCCATTTCTAGCATGCCGTTGGCTCCAACAATCGATCAAATGCG GCTTATGATTATAGCCAACGCGACGGCAAGCTTCGAGCCACAATCCGTTG AAGAGCACGTTGTTCGAGCTGTTCGAGAGCTCCGAGAGACGTCAAATCGG CGAAAATCCGGTGGAAATGTGAAGGGAATTAATGAAAAAACAACGAGAAT GGTGAAACTGGCCGAGATGCTCACCGAGAATAAAGCATACGATGTACGGA GCAAAAAATAATGGAAAATTTGAATTTATTCAATTGTCAAAAAAAAGGAA ATTTCCTTAATTTTTCGGTTTTTTTTTTCGGAAAAATCTGAATTTTTTCT ATTTTGAGCAAAAAATTTAATTGAAAATCCGGAGAAAATCGTATACTTTT TCTGCGAACCATTTTGTGGGCGGAGCCTAACTAGTAACACTTTTCAATTT CCAAACAGAAAAGTGAGAAAAAATTCCTCTTTTTCTCAAAAATCTAAAAG AAAAAAAAATCGGAAATTTTTGAATTTTTCGGTTTTTTCTGAATTTTTCA ATTTTCATTCAAAGAAGGTCGAAAACTTTTCGATTTTCCGGTTTCCTTTT TGAAAAAAAATATTTTAAAAATGTGTAGTTTGTAGTTTGTAGTTTTTGTA GTTAATGTCTTCCACATTTTTAGGCGGCAATAAACCTGCTCGACACGTGG GAGCACGAGTGTCTCCAATGGACATCTGTCGCTGCCGAATCAATCGATAT CGATTTAATTCGAATCTGCAAACAACACGTGACGTGTCGGTCGGGAGATC CAAGAATGGCGGACATAAATCTACGAACAATGCATCCACGTGTCCCGGTG ATGAGTGACCTGGCGATTGCCGAATGGTCACTCGCGTTGAGCAAGATTAC AATTGAATATCGGAATGATATGGAAGAGGGTATTCGGATTTTGGAATTTG GATGCAAACATTTACAGAATAAGGATTCTGTAGAGACGAGGTTAAAGGTA CATGCGGTCGGGTCTTGCAGCGAAATAATGCATTTTTAAAAATTCGAGAA AAAAATTGTGAATTTTGCGCGTAAAACGTGATTCAATCTCGAATTGTTCT ATAGATTTTTCCGACAATTCGGAAAAATGCCGGAATTGAAAATTTCCGGC AAATCAGCAATTTGCCGTAATTCAAAATTTCCGGTAAATCGGCACATAGC CAAAAATTAAAAATTTCGGCAAGTCGGCAAATTGCCGGAATTCAAAATTT CCGGCAAATCGCCAAATTGTCGAAATTCAAAATTTCCCGAAAATCGGCTA ATTGCCGGAAGTGAAAGTTTTATTGATAGAGATAAATTTAGAACTATCAC TAGAATTTAAATGTAAAACAACTAGGAGTTATCATGTAAAACTTGTCATT TGAATTTAACACTAGGAGTCCAATAGATTTTCAGATTTTAAAAAATTAAT ATAAATTCAGGAAATTTTTTTTGAATTTATCCACATTAATATTCGGTATC AGGAGCATAAATAGGATCTATTGAGATATTTTAACAAATTTCCGAACAAA GTTTCAAATATTTTTTTCCAATTGATAGAATGTTCCATGAAACATTACAA AAAAATTATTCATCAGGTTCTCCTAAAACTCCATTCCGTCTGTATTGGCC AACTGTCGAAACTCGAAGAATATCGCGAAACGCGTACCTACCGTATGAAG CAGCAGGCGGTCACCGCATTCGAACAACAAATTCAAAATTCGTGTCGAAC CAGTCTGGCACGTGGCAATTCGGGTGACGAATGGACGAAAAAAACGGTGC AACGGGTGAGAAAAGAGCATCAGTTTGAGAAGAATGATTTGGAAAAAGTG GATAATTCGTTGAATTCGGCGGCCCGGAAAGCTGTATCGTCGGGTTTTGA TGCACTTTGTGAGCAATTTTTGAAGTTTTTATTGAAAATTCAAAACTTGC ACAAAAGGATTTTAAATTCGATTTTTCGCGATGTTTTAGCAATAAAATTT TGAAAAATGACAAATTTTTGAAATAATTTCAGAAAGAGTGTAAAGTTTCA GAAAAAAAAATTAAAATTAAAATTTATTTTAAAACTTAAAAAAACCGACT TTTAGCGAATTTTTTTACGAAAAACAAAGTATTTAATTTCATAAATTAAT TCAAAAAAAATATCTAAAATTTTTGTGAAAAACTGTTTTATACAGTTTCA GAAAAATTTAAGAAAAAATTTTTTTTCAGAAAAAACCGGATTTTCTGTTA ATTTGAAATTATGGAAAAAAAAACCCCAAAGGGTATTACGGAACTACAAA ATTCTGAGAATGCGTACCGCGCAAAATTTCTCGTGGCGAAAACTACAGTA ATTCTTTAAATGACTACTGTAGTGTTGGTGTCGATTTACGGGCTCGATTT TAAAATTGAGCAAAAAATTATCACATAATACGAAGAAACGAAGGAAAATG AAACTAAGTTATAAAAAAATTCGAAAATCGAGATCCCGTAAATCGACACG AGCGCTACAGTAGTCAAAAATTAAATTAAAATTAAAGGATTACTGTAGTT TTCGCTACGAAATATTTTGCGCGTCAAATGTGTTGCGCAATACGCAGAGA TCTCAAAATTCTATGCTCCCGTAATAGATTTAGAAAAATTTTCCGAAAAT TTACGTCTCGAAAAAGAAAAAAAAACTGGTGTAAAAAATTACACCAGTTT TAATATTTACTGAAAAAAATTGGTAAAATCTAAAAATTAATCAGCTGAAA TTGATATGTTTTGGGATAAAAAATTTTGGCGGGAAACTCAAGTTAAAAAA AAAAATTTCAGTATGCATCAGCCAACTGGAAGACGACGACGAAGCGATCC GCGCTTCATCTCTCATAATATTTCCATTAATCGATGTGATCTACAAATAC GAAACGGACGTCGGAGTGATCGCCTTGCTCAAAGAGCACACCAAATCGAA GCTCCCGTCGAAGCTGTGGATAAGTGCCACCTCACACATTGCCTCTAAGT GCTTCTCCATCGAAAAATCGCAAATCACGAGACACTTATCACAGATTCTG TGTCATCTCATCTATGACTACCCGTATCACGTTTTGCACACAATTTTGAT GTATGATGACGAGAAGAACGCTTCCAAGGTGAAAGGCTTCTTGAAAACGA TATTTGACGCGCGAGCTGACCAACGGGATTCGTCGAAGCTTAAGGAGATT GTGATTACTATTCGTGAGGCTCACCAGGCTTATAGGTACATACGGCGGCT AAATTTTTTTTGAAATTTCGAAAAAGACGAGAAATTCGATTTCTTATCAA GTTTACAAAAATCTTCGCTTTTTTCTGACAATTTTAGTGTCGTGGTATCC AATCAACGAAAAAAATTAGGTTCTTCTGGTTATTTTTGAGCATATTCAAT AATTTAAGCAAATACTCTTTTACTTCTAAACTTTCATCGGCGATACGTGA ACAATTTCCAAAATTATATATTATCTAACGCTACAGCATATAATTTTTAC CAATTTTCATTCATTTTGATGGAAAAAAGCATCTAGAACATGTAATATGT TCAATTGTTCGATTTCAATAAAAACCGACGGCATCCTTGGTTTGAATCGA AAGTTTAGAACAGTTTTTTTCAGAGAAATTGCAATGCTTGACGTGAGAGG AAACGTTCGGATACAACGTGTTGAAATAAACGGAAAAACGATGTACCGAT GGCCACATGATTTGAAGATTTTCAAGTGCAAATTGCGTCAATTGCCGATT CCCACCATTTCGCAAAAGGTTTGTTTTTATTTTATTAAAATAATTTAATG AATATGTATTTGATCATACAAAAAAAAAATGTTTTCTTCTAAATTCCAGA TTGGTTGCCCGGGTGACTACTCGACGACTGACCTAATCACGTGGAAACGA TGGAAAGATGTATTCACAATTGCCGACGGAATTTCCACTCCAAAAATCTG GGAAATTGAGGGTAGCGATGGAAAATGGTATAAAACTGTGTGGAAGAAGG ACGACGTACGACAGGATGTGCTTGTTGAGCAAATGTTTGATGTTACGAAT AATATGTTGGAGAAGGCGATGCTTCGGACGTATAATGTTGTCCCGTTAGA CACTGAATGTGGAGTTATAGAGTTTTGTGGTGGAACTGTTAGCTTAAGTT CGTTTTTTTTTCGTTTTTGAAAAAAACCAAAATAGTATTACGATAACACA ATATGCTGAGAATGCGTATTGTACAACATATTTGACGAGCAAAATATCTC ATAGCGAAAACTACAGTAATTTTTTAAATTACTACCGTAGCGCTTGTGTC GATTTACGGGCTCGATTGTCGAATATTACGGGGCCATGAGATCATGAGTA TGCCTATTTACTGGCGCGAAAATATTGGCAGGCCGCGGCAGCGAGAGAGC GTGTGGCGAAGAGAGACGCAGGTCCCTTCGCTACGAGATATTTCCCGCCA GAAAAGTAGCATTCTCATGATCTCATGGTCCCGTAATAGTGACAGCGATA TTCCATTTATTTCACTTCAAAAATCGAGATGCCGTAAATCAACACAAGCG CTACTGTCATTTAAAGAATTACTTTAGTTTTCGCTACGAGATATTTTTCC CGTCAAATATGTTGTGCAATACGCATTCTCAGAAGAAAAAAGAGGGGGGC AGATAGCTCAGTCGGTAGTGGTGGCCGCTAGCAGTCTGGAGGTCACGAGT TCAAGTCCGGCCTCACCCCCTAGGTTCACCCAGCCTCTATTGGGAAGTGG AGCAATCCACGACTGGATTATCGGCCACAGTCCCCGGCTAGGACGTGGCT TAAATTACAGCCCAGAGGGATCACCACCAGGCAGTGTACCTGAATCCCAG ATCCGCAGTGCATAGCACTTGAAGAACGGATCGTCCTTTAATCCTTTAAT CCTTTAAAAATGTAAAAAAATTTCATTGCAAAAATATCAAACTATGAGAT TTTTTCTATTATTTTTCAGAAGAAGTTATGTGTGGTGTGACACGAGAAGG CGGTCTCCACCGGGAGTTCAATTCAGAAGAAGTTTCGGCGAGTAAAGTGT CGTCAATGATGAGACAAGTACAGACAGAGTCCACAGAGACACGACGACAA GTTTTTGTGGAGATTTGTCAGCAGTATTCTCCAGTTTTTAGGTAATTTTT CTGAAAGTTGTCGAAGTTTTTTTTTTTGAAATTCAAAAAAATTCCCAAAC AATTGGCCTTTTTTCAAATTTTTCCAAAAAATAAAATTACAGACACTTCT TCTACACCAACTTTTCGACGGCGCAGATTTGGCGGCAAAAAATCATAAAT TACAGGCAGAGCTTGGCCACGTGGAGTATTGGTAGGTTTCGAACTAAAAA TGCTAAAAAATTTTCGAAGAATTCGAACATCTCAGATTTTTTCCGAAAAA TAATAAAAACGTTATTTTCCAATTTTCTGAAAATAAGAATTTATTAGTTT CTTGCGAAATGAAGAGTCTCAAAAAATCATATTTTTTTTAAAAATCAGAT TTTTAAATTCTTTTTTTAAAAGTTTTATCGTGAAATTGAACGTTTATGAA AAATGGCGAGAAAAACTTTTTTTTCGCTTTTTCAAATAATTCTCAAAATA AAAATTCCAGTGTGCTACATCGTTGGCCTCGGCGATCGACACGCGTCGAA TATTCTATTCGATCAGAAATTGTGCACATTTGTGCATATCGATTTGGGAA TGATTTTGGAGTATAGTAAACGAACGTTGCCAGTTCCCGAACAAGTTCCA TTCCGTATAACTCGAGATGTGCTCGACCCGATTCTGATTGAAGGAATCGA GAATGGACAGTTGGCTGAGGAATGTACGCAGATTATGGAGAAATTGAAGG AAAATGGAAAGGTACGGCGGTCTGGGGAAATTTATACGAAAAGAAAATTT TGGACTGACAAAATTTTGGACTTGTAAAGCTATTTAAAAAATTCAAATTT CCCGCCAAAAATATTTTTTCAAAGAATTTGAATTTTAGCTAAATTTTTAA ACAAAATCTGAAGTTACCGCCAAAAGTTTTCCAAAAAAAATCGAATTTCC CGCCTAAAATGTTTTTCAATAAATTCAAATTCCCGCCAATTTTTTTTACA CAAAATTTGAATTTCGCGTCAAAAATTTTCCAAAAAATATTCAAAATTCC CTGAATAGTTCAATTTCCCACCAAATATCAATTTTTCTGAATAAAATTTT AGAATTTCTCGCCAAATTTCTTTTTCAATTTTTTCAATTTCCAAAATTTC CAGGTAATCCTCGGTGTCGCCTCTGCTCTACTCCGCGAAACGATGACAAA TTTCCGAGAAGCCGAACAGGCTGCCGGCCGCCCGTCCTACATTTCTGAAA TGGCCATCGGACGGCTTCGAGAAAAGCTACGGGGCACCGATGACGGTGTG ACGGCCCAATCGTCGAATCTTCAAATTCGGCGACTTTTACGAGAAGCTAC GAGTGCTGACAATTTATCGCGAATGTTCTGCGGATGGATGCCGTTTTTGT AGAGAAATCAGAGAAAATTTTTCTCGAAAATTAAAATTTTTACTGTATTA TTGTTTTCTCGTATCAATTTTTCAGAATTTGCTTTGTTATTTTATTTTAC GCGCAAAATAATCTTTCTAATTTAGAAATTTTAAAATTATGGAAACTTTC TGAAATTTCTGCAAAATTCTAGAAAATCAAAAAATTTAGTTTTCCATCCT AATTTTTTTTTTCGTTGATTTTCCCCAGAAAATTCAAACTTTTACTGTAT TATTATTTTTTCATATCATGTAATGTTTTTTGTTCAACATTTACATGTTT TTCCTACCTCTTCTATGATTTCCCCTTCCCCCAGGTCTCATTTTTCTTCA CAATTTTTAAAATTGATTCACTGTTGAATGTGTTGTCTTTTTTCTATGCG AATTTTATTAATTTTATGAAAAAAATTTGTAATATTTTTGTGTAAATTTT GAGTCTTCTTACACTACAAAGTTAACCATTTCAGAGGAGTTTCAAAATAA ATAGTGAATTTTTACAAAAATTAGATTTTCTGATTTCAGCGTACATGAAT TGCCCGTTTTCAACAAAATAAGACAACTTTTTATTTTTGCCCAATTTTTT TTCAGCCATCTAATGACTGTCCTTTTTTTTTGGGCAAAAATAATAAATTT TCTAAAAGCGTTTAAAACTATTATATTTTGAAAAAAGACCATTTTTTAGG GCTTGGCAATTTTAAGTTCTCTAGCTACAAATTGAACCAATTTAGAGGTT TCAAAATTGTGAGTTTTTGCAAAAATTGCCAAATTTTGCCACTTTTTAAT GGTTTTTGATGGGTTAAACCTAGATTTTCTGAATTCTGCATATATGAATT ACCCGTTTTTAACAAAATTAGACAACTTTTTATTTTTGCCCAATTTTTTT TCAATGACTGTCCTTTTTTTTTGGGCAAGAAAAATAATTTTTTGGAATTT TTTTCTGAAAATGTTCGAAATTTTTGAAGTTTCTCTTGAAGCACTCCGAA AAACCAAACGACCAGCACTACTTGCAAAGTCCGAAAATTTAAGTTTAGAA AAATTTTGAAGTTTTAAAAGCTCCCAAACCAGAAACTCACGATATAGAAA TTATTTCCAAACATTTCCGAAAATTCCAAAAAATGAAAAATCAGAACAAT TTCGAAATTTTTTTCAAAACACTTCTGAAAAAAACCGAAACTGCAAAAAT TTGAAAATGTGCTAAACTCCAAACTGTACGATTTTCCACATTTCAGAAAT TCCAAAATTCGTAAATCTGCCAAATCCCTTCGGCGCAATAATCCCCCGGG GTACCCCCCCCCCCCGCCCTAAAACCTTTTGCCTCTATTGTCTCTGGCGC AGAAAATTGAAATTAAAAAATGAATCGATATTTTAAACTGTTATTCGTAG CCATCTTCTCCGGATGTATAATCGCCTACACGAATCTATTCAATCGATCG TTTTTCAACGGGTACTGTAGTAATAATGCTACGTGGCAACAGTCACAAGG CGAAAGCGACAGTCACGTGGCAAATTCGTTGGATTTGTGTCGTGGCGATG GTGTGAAGCAGTGTATTCCGCCGTTGATGAGGTTCAAACAGTTGTATCGG GTGAGAAAGATTATCGATTTTTAACACCCGTCTCGCCAATTTTTTTCTCA GAAATTGGAATTCCCGTCACAAAACTTTTACAGAATGTGAATTTTCGAAG AAATTGGAATGACACCCAAAAATTTTCTCAGAAATCTAAATTCTCGGCAA AAGTTTTCTCAGAAATTTGAATTCTCGTCAAAAATTTTCTCAGAAATTTG AATTCCCGCCAAAATTTAAATCAGAAATTTGAGTTACCACCCTTCTCTTC AAGTAACAGTATTCAACAATATACAATTAAATAGCTTTTCAAATTCCTAA AAAGTTTGCTGGAGTTATCAATTTTTGATTCAAAACTCGCTAAACCACTT GCCCATGTAGAATACATAATCAATTCTGAATAGAACGCTATTTTATCCTA TTTTCAGACATCAAAACCGAATAGCCTAATCGCATGTGTCATTGAAAAAT CATTTTCGACATTTCTTACTGCTATTATGTGCTTTTTACACGATCCACAA ACATTTAAAGACAGCAATCGAACACTGGATTCTGATATTTTTGGAGACAG GTTTGCGGCAAACGAACTCCGCTGCCGACTCTCGAATTATCAATTTTGCA GGCTTTGTAAGGATAAAAACGAATTTACCGAGTTGAAGAAGATCGGAAGC TGGCAGAAAATGTCGATTTTCACTGTGGTTCGGAATCCGATCGATCGGTT TGTATCAGGCTTCACGGATAAATGTTTAAGAGAAAATGTCTGGAAAAAGT TCAAAAATCGATGCGCCGGATGTAAGACTGTGCGTTTTATTTGCTAAAAT CTTTTACTTAAACAATTTTTTTGGAATCTTTTATTTTCGGGAGTTTCGAA AGTATATTGGAGTTTTTTAGAGAAAAAAATATCAATTGAAAAAGGTTTTT TGAAAGGGGGTAACATTTTTCTAGGCCACTAGGCTTTGTAAGGTGGCCTA GAAAATAATGTAAAAATCTAGGCCATAAGGGTTTATTGCGTGATGGCCTA TGAAAAAGCTAGGTCGCCATAACTTTTATCAGGGTTTAGGAAAGTTAAAA CTTCGGGCAGCAAGTTTCGCATAATGACCTAAAACTTTCTGGAGAACTAG GCTATAAAAATGTTCATGATGGTTTCAAAAAGCGGAACATTCGGTGACCA TAATCTTCTAGAATTTTTAGGAAAACTAGGCCATTAAGGTTTCTTCCGTG GTCTAGAAATTCTGGAATACTAGGCTGCCAGGGTTTCTAGGCCACATAAG AAAGGCCTAGATACAAAAATTTCAGAACGGTCTAGAAAAGTGGATAACTA GGCCACCAATTTTCTCTTCGGAGTTTCAAAAATATATGATTCATGATTTA CTTTTTTAAGAGTTTTTTTTTTCAAAAATTCTAAACTTTTGACACTAAAA TGCTTCTGAATTTTTGAAAACTTTGAAAATTAAATGTTTAAAAATAATTT TTTGAAAATCTCTCAATTTTTTTTCTTCGAAAAGCTCAAAAAAACGATAA ATTTCCACATTTTGGCCAGAATTTAACATGTTTCGTCGATAAAATGTACG ATCGGATGCATAGATTCGCGCGGAATCCGTATAAAGGAATCGATTTCGAC GACAGTCACTTTTTCCCACAATCTTGGTATCGGTAAACGCGCTCTATAGA TAAAGTCTCAATGGAGCGCATTTGCATTTTGAAATTTGATATATTTGTCG TTTCAGGAGATGCGAGTTCTCGTCTCATCTTGTCAAATACCAAATTTTTC AATTAGACGGTGCAAATTTCACAAATCAACTTCTTGGACTGCTGTCCGAG CGGGGAGTTGATGAGAATGGAATTAACTTTATTAGTGAGTCTTAATCAAG TTTGGGTCTCACCGCGAAAACCGTAATTGATTGGGGACAATGGGACCCAA GAGAGCCCAATGGAGCGGAATTGCAACTCCTATGAATTTTCCAGACGGAA GTCTCCATCACCGGACCCCACACAGCACAATGGATTCCGTGGAACGGGCG GCCGTCGAGGAAACTGTTCTGAGCAGTCCGTATTTGTTGCGAAAAATAAT TCAAATGTATTATTTTGACTTTTTGCTATTCGGGTATAAGCTTCCTGATA TTCCAGTTGGAAATTAGGAAAGTTCTTTATATGTATTTAATTGTTGTTAA ATAGTAAAAATCGATAAATTGCTTGAATTTTGATAAATTACGGCCACGTC AATTTTTAGATAATTAACGGGCAAAAAAAATCTAAAATTCTTACAAATTG AAAAAAAAAATTTCACAAAAAATAATAACATTTAGTCTAAATGTGTTATA GCTTAGGCTGAGGTTTAGGCTTGGGCAGGTTATTTTTTAATTTTCAAGGT TTCTCATTACATACTTTATTTCCGAAATACAAAAAAGAAGTCTCACAACG AGTCATCAGTGCGTGTTGGTGGGTGGGGTGGGAGATTCTGGTGGCGACCT ACAACTCACAAACAAAGATGACAACAGGGAAAATGTACACGTGGCAATAT GGTGAAGCTATATGTATATATAATGAATAATGATATGTAAATTTGCATAA TACAGGAACAGTACGTGATTGCTGGGGCGAGTAGAAATGTGGGTTATTAT CTATCGATTACCATTACACATGAATTACGCTGGATTACGGTTAGAATTTT GTGAAAAAAAATGAGTAAAACGCTGGGGCTATAAATCTATAATTGTCGAA GATGCTCAACGAGCCAGGAACGAGGGGAACATTGCGTCAAACTGGGCGGT CAATTCCATTAATGATGGTGCAGCTTGTGCATTGATTGCTGCAGCAGTAG GGACTCCATGCCTCATCACCGAATCGATAATCTTCTTTCCAGATGAGAAA CGCTCGAGACGGGAGGCGTGTTGGAGCACACGCTGCTTCATTTTCTCGTA CCATCCAGAGTAGAGAAGCAGAATAGCTGGTGGAAGTTGACGTTCTCTGG AAAAAAACAAGATTTTCTCTAGTTGCCTTAACACTTGGATTTACAGAATT AGTGAATATTTAAATCAGGGTGGGCGGCAATTTTTTTTCCGGCAAATTCA GCAAATTGCCGATTTGCCGGAAGTTTTTAAAAGGATTTTTAAAAGACGGA AACACTTAAAACTGTGCCTTTTTGAAATTTTCTCCCGATTTCTTTACATA TTTTCATAGATTTTACTGACTTTTCAAAATAAATGTAGGAACATTTATAG GATGCGTACAATTTTGCCGATTAAAATTGAAACTGTGAAATTTTCAGAAA AAATGTGCCGAATCACAATTTGCCGAAAATTTTAGTTCCGACAATTTGCC GTTTGCCGGAAAAAACCGTTTTCCAAGCCACGTGGATCATTTTTTGAAGA AAAAAATACGGCAAATTTACAGAAACTTTAGTACCATGTGGATTTTTTAA GAACTATTGCCAAAGTACGTGGAATGTTCAGAAATTTTTTTGCCTTTGTG AAATTTTGGATTTTTCTGGATTTTCGGAAAAAAATTCAAATTTTTCTATG AAGACGAATTTCTGATTTTTTTAAAAATTTTTCACGAACTCAAATAATAC TCAGACGCGAAATTTTACGTTTTCCGATCAAAACACGGTACCCGGGGTCT CGAATCGACATGCAGTATTTTTCTCGCTTTGTCATAGTTTCTCGATAAAA ATGGATTTTTTTGAATTCAAAATCCTTAAGTTTCTACCCAGGGGAGAAAA AGAAGACTATAAAAATTTGAAGTTAAAGTACTCTTTAAAGGCGCCCTTTT TTCGAACTTAACCAAAAATTGTCGTGTCGAGGCCTGGTACCGTATTGTGG TGCGAAAATCATTTAAAAAATTGCGTCGATTTTTGGTTTTTTGTTATTTT AAAAAATGTTCAATTTTTCAAAAATAGCTTTTAGATAAAAATAATAGGTT TTTCCTTCTTTTTTTCCGGCTAAATAATTTTAAGAATCCATTTGCCACGT TTCATCACAGAAAAAAAACTAACTCTGTGCCAATCAAAGCGGCGGTGCAA ATCGAAATCATTTGCTGAACGACATAGTTGCCATACTGGTGGAACAGAAG AATATCCAACGCATCACGATTCGACTCGACATCCTTCACATATCCACTGA AAATCTCCTCCATCATCTCGTGAAGCAACGCGGGCGGTGCAAACAAGAAC GCTCCCTCGATGACGTGCGACGCATACTTGTCCTGTGACATTGAGAGCAA GTTACGGAGCAGGCATTTATCGATGATAGTGTCTCTGTACATTTCCATGA TACCCGACGATTTGATGACGTATTGGATGACGTAGTTGGCGAACTCGTTG GAAGACAGCCGGTAGCAATTACGGACGATACACGTCATCAGAGAATGCAA CAATTGAATACGGAATTTGAAACACGGGAGCTTGGGATTCTCGGCGAGTC TATCGATGACCTGTTGCACGAGACGACATCCATACTTGTCCTGGCACACG GCCATCAGTGAATCTCCTGACGAGAGGAAATGCACGAAAAAGGTCCACAT GTCGACTGGAAGTTGCTTGACGACACGTTGAATCACGTGGATCGAGATTT GATCATCCAAGAGCTCAGCACATTGCCGCCAGGTCGAATGTGCTGAGCTC TTGGATGAGCTGGAAGACGTTGGAATGGTCGAATTTCTGAAATTAACAAA TTATTGATTTATTACACCTGGAAAGGCCTAAAAAGACCAAAAATAGCCCT AAAAATTTCGAAGAAATGGATTAATTTTTAGCTAAAACGTAATTTTTTGC CAACTTTTCTGTGTCGCGATTTTTTTAAACCAAAATCGAAAAATTTCGTT TTTCGATATTTTGAACAAATTTCAATTTTTTCGGGAGAATATCTTAAAAC TTAATTATTTTCCTCTAGGAGCCATTTTGTATGTTTTTTTCATCGACAAA AAATTTTCGTTAATGTGTGCACCTTTAAGTAGTACTGTAACTTTAAACTT TCATTGCTGCGGAATTTTTTAAAATTGATTTTCAATGTTTTTCTACAGTT GTCGTCCAATTTCATGCAATTTAGAAAAAAACAGAAGGAAAAAGTGAAAC ATCGATTTTAAAAAAATTCCGGAGCAATGAAAGTTCGGAGTTACAGTACT CTTTGAAGGCGCACACCTTTTTTGTTTTAACAAAAATTTGTCGTGATGAG ACTGGGGACAGTTTTTCGGCGGAAAAATCGCAAAATTTCGGCTAATATCG AAGAAAAATCAATTTCCGACCGCTGCGACACTTTAGCAAAAAATTGTGAT TTTAGCCAAAATTCAGTTATTTTTCGGAATTCCCGTGGCGAGACGTATTT CTCCCACCTGCAGAGCCAACTGCACAACTCGACATGCGAATTTATCCTTG CACATGGCCAAAAGCCCTCCGTCGATCATTTGACGAAGCAATTCCCGCTG CTCGGCCGGTGTTGCGAGCTCGACGAGCTTCTGAACGATGAAATTGCCAC TTCGACTGTGGCAGAGCCCCACGAAGAGCGTCGTGGATTCGGTGAGCTTC TCGAAGACGGCTTTACGAATCTGATCTTCGGAATCCAGTGGGTAGTTGGC CTCCAAGAACTTTACGCCCGATGGATCGATTGCGAAATCGATGAGCTGCC CGTTGAACAGCACATCTTCGAGCGAAATGAAAATCGGAGCAACTGGTGGT GGGGTCTCATCGTCGGAAGATCCCGATCCACTGTTGAAGATGTAGCTGTC CGAGTCGGAGGAGGTGGTGTTGCTTCCGTGGCGGTAGGGAAGAAGCTTGA CCGGCGGCTTTGGATTCTGGAAATTCGAATTTTAAATTTTTATTATATTT TCTATTTAAATTAGAAGTTTTTATGCAATATTCTACCTTGTTCTTGTGAG TTTTGTTCGACAAAAGCGAGAAATCCGGGTCGAAATCGAACGACGCGCCG AGCATGTTGTACGAGTCTGTGCTTCTACGATTCGGGGTCATTTAGACAGA AATGAATGAATACAGGTTAGTAGACGCTGAAAAATTTTGGGAATTAGGAT TTTCAACGGAAAAAAGAGTGAAAATGAGAGGAAAACATGTAAATTTCAAC GAAAATCGCGAAATTACCGCGCATCAAAATTCAAAATTGAATTTTTCGCG GTGGCCCGGGTTACGGTGATTTTTAAAGGCGCATGGTTGTTTTGAGTAAG GTCTTGACGCGAAATTTAAAATTATTGAACATTTTTATTTTATTTTTACA TTTTTAAAGAAAAAAATGATTAAAATTCGATTTTTTAGGAGAAATTAAAC ATTTTCACAAAAATTGCAAGAAATCGCTCGCCAAAATTCGAAAATGAAGA GTTTGGCGGTGCTCATGGATTACGGTGGATTTAAAGGCACATGGCTTTTT TGTATTAGGTTTCACCACGAAACTTGGAGTTTTGATAGTTTGCTTCCCAT TTTGGGATTTATTTTTTTAATTTTCGCTCGATTTTCACACATTTTCACTC ATTTGCACTCAATTTTTTTGCAGAAAAATGTCAATGGATATTGTTATGAA GTCAGATGAGCAGCCGTTCATCTCTGCGCCTGTATGCTTTAAGTAAGCTC CAATTTTTGTTATTCTGGCCTAAAATTATTTTTTTGATTTCCAGAACGTT CGCATTTTTCGCCAAAGCATCCGCAGAGGAATGCAAACTTCTCTTCGGGC TCCAACGCTCGAGAAAGTTTCCAGCAGGCCACGGGGCTCTCGGAGAAGAT CACGGAAGACATTTACCGCCAAATTGAGTAGGTTTTTCGATTTTTTTACC CTTAAAAACTACTATTTTTCTATTTTCCAGCGTCTCCCACATTTCGTCGA TGGTCTTCAACAGAGAAATGGACGGTGGCATCGAGAGAAATCGGCTCGGC TCGCAAGCGATTCTGCTCGACGAGAACTCCAGGCGCCGCAATCCACAGTT CAAATCGATCGCGCTCCGCTCTCCGCTACGATCACATCGATCATAGAGCG TTGGCAAGGAAATCGCCTCATCTGATGCCTCCGACTTTTATCAAAGAGGA AATTATGGATGATGAGCTCGACGAGGTGAAGGAAGAAGTGGTTTCCGTTG GAGAAGCCGCCTTGCCCACGCCAAAAGTCGAACTGAACATGGACCATCCG GAAAAGGACCTGATCATCAGCATTTCCGTGTATCTCGGCTACACCCGTAC CCTTCAATACCACGAGATTCGCCTCGGACGTTTGATGAAGATCACGGATC GGCTCGAGCTCACCGGAGATCACACGCTTCGCGATCTGAAAAACGCGTTC TCGTGCCCCATCGATTTCTCGTTTTCCGACGATTTTAGCGAGAAAAAGCC GTCGTTCAAGGATATGGCGAAAAATAAGTGGCCGTCGACGATGTTCTTCA TTCATGACACGTTTTATATATAACTGGAAATAATTTAATATTTTTCGAAC AAATTTGAAAACTATAAAACCATCTTATTTTGATAAAACTCCGCCGCTGC TCTCTGAAGCAATGAACTGCAATCAGACATCGAAGGGATCAGCCGATCAC GGAACCAACCTGCCATTGAGCTTCTGAAAATTAATATATTTGATTCAATT TATTGTACGAAATCGTTTTTACCCATATCTGTGAGCTAGCAAGCTAGCTA ATCGTGATTAATTGTTGGGTATTCCTTCGCGTTCTTCAGCTTCTCCACAA GCAAAATTCTTGTCTGCTCATCACAAATGATGTCATCAGCATCGCTCTGA TCTTGAAAATCCTGAAATTATAACATTCTAGAGGGTTTCTGATGAGAATA GTTACCTTACAACCAACACCAAATACGTTCTTCATTATGGCATCCGGCAG CTTTCCATAATCGCAGAAGAAGTGCTCGGCATCACGATCGGATGCTCTAT TTGGGAAACGACCGATGTAGACACGAACCATGTTGAGTGGCCGAGAGAGG GATCATCTGAAACATTTAAATGTTAACTAAACAGGAGTTTAGAAACTTTA AAACAACCTAACCTCCGTGATAACGTAGTTAGCTTCTCGAGTGAGCTTCT TCTTCAAAATAAAACAGAATGAAACAAGAATCAAGTGGGTAAAATTGTAA AATGAAGTATTTCAGACATTTTCGCTAATTTTGGCAGTAAAAACCTATAA TTTTGGTAAAAATCGCTTGTATTCTGAAAAAAGAACTCAATATTTAATTT TTTATAACTGATTTTAAAGAGAAACAAACGAAATATATGAAAAAATCGAA AAAATCCCTGAAAAAGGCCTCCGCAATATTGATTGTTAAAGGGACACCGA CTGTTCATCGAATGGGTCCCGCCGCGATTGTCCATTTCGAGCGCTTTTCG CGATTTTTTACTACTGTAAAAAAGTGTAGGAAAATGTCGAAAAATGTCGA AAAATGACGTCACAAATGTATTTAAATACATGTTTTTATTGTTACTTGAA TAAGGCAAAATATGTATTTAAATACACTTTAATTTTCCGACATTACTTGA ATAACCCCATAAAAAACCCCGAAAAAATTTTTTTTTTGTGAAAATAACCA GAAAAATACATGTTAAAACAATTTTGTGAACAAAAAACTAAAAAATATTT TTTTTGCAGAGATGAATCCCACGTGAACGTCGAATTTCCACGCCGCCTCG TCGAACGGAATTTCAGAAGAATCGCATGTGACACGTGCAAGGAGGCGTCG GCTCAGTGAGTACAGAAAAATCCATGGGGATTTTTTAGAAATTCGGAATT GATTCGATTCAATAAAATCGATTTTTATATTAAAAAAAAGGATTTTATTG GTTTTTAAAAAATTTAAGAAAAAATTACAAAAAATCTATAAAATCGATTT TTTATTTAAAAAATTGAAACTCAATAAAAGTTCTTTCTAATTTTAGAAAA ATCGATTAAAAAATAATGTTTTAAAAATCAGTAAGAATCGATTAAAAATT CAATTTCATCGATTTTATTTATTTTAAAAAAACTTAATTTTTATGAAAAT CGATCATATCGGAGTCCAAAAAATAATTGGGAAAAAACTAAATTTTCAAG AAAATAATCGAAAAATTTTAATTTTGTTCAAATAATTGATAAAAACTCAT TTTTTAGGTTTTTTTTCAAAAAAAATTTGAACAAAAAACACATATTTCTC GAGCTTTTTTTCACAAATTGACCCGATTTAAATTAAAAATTCATAAGCTA AAAACCTTCTTTTTTTAACCAAAAAAAAAACGAAATTCCCAAAAATCATC AATTAAATCCAATTTTTTCAGCTGGATGATCGTCGACCACGACAATCTGC TTCCCAACTCGCCAGGCTATCTGTGCTCTTCGTGCTACAAGGAATTCTGT TTCGACGTGAACGGCAACAAAGTGTGCCAGTTTAAGGCCGTACCGTATTG CGATCGAAAGGACATTGGCGACGGACGCCAATTCTTCACCGAGCTCGATC TTTAGAGAGCGAAATTTAAAATTCTGTATCATTTTTTGTTGTTTTTTTTT ATGTTTTTCGATTTGATTGTTTAATTATCAATTTTTGGCCTGTAACTGTG TATTTGTTGAAATTCCAAATTTCGTTTTTTTTTTAAATAAAATTTCTGTG TGCAAAAAAATTTATCCAATAAATAAACGGAATATATCGATGATATGGCA AGTAGGGGGAAACGGACGGGAAAATGATTATTTACAGAAAGGGCGCGCAC CAGAGGTTTCTCGGGGGAGCCCCGAGGCGGGTGGCGGAGCTTGGCTCAAA ATCTGTCGGAAAAATGGGTGAAATGAGAGAAGAGGTAACCTAGAAAATGA GATGAGAAATTCGGAAGTTTTGGGAAAAAAAAATCAACTTTTGAACAATT CAATTGAAAAATCGATAATATTGATTTTTTTAAAATTCTCTAAGATCGAT AAATCTGGTTTGGAAAAATCAATAAAATCGAATCTTAAATATCTTTTTAA AAAACTATTTTCAAAAATCAATAATATCGATTTTTGAACAATTTGAAAAA TCGATAATGTTGATTTTTAAAATTAAATTTTATTGATTTTTTGAAAATCG ATTATATTGTTGATTATTGATTTAAAAATCACCAGAATCGATAAATCTGA TTTGGAAAAACCAATAAAATTGATTTTTACAAAAATCAGCCAATAAAATA GATTTTTTATAATCAAAAAAATCTATTTTTAAAACCGAAAAAATCGATAT TTCAAAAATTGAAAAAAATCGATAAATCAATAAATCAATACATAGGTGAG CTCGTCTCGTCGATTTGTGTTTTTGTGATTGGTCCCGGCTGCTTTTGAGA TGGCCTAGGCGTTGTTCCGTATGACATTCTGGAATTTTTTTTTGTTGGGA ATTTGGCACGCCCACAAAATGGACGGTGGCGGAAATTTAATTATTTTAAA TACCTTTCTGGATAAAAAAAATCGATTTTTCCACTTTTTCGAGTGAATCG AAAATTAAAAAAAACATTCAAAATTGTTTAGGGTCTCGCCACGAAAAACT CACAAATGCACGTTATGCGGAGTGTCGTCGGATTCCGGTGTGTTGCTACG GATCGTGTCGTCCATGCTCAGCTTCATCGTCGATTGACGTCGCCGTTTTG TGGTGATCTGAGCGAGATTTATTGATTTTTAAAGGCGCATGGCCTAGAAA ACACAACACTTCGGCCACGGACTTTGGCGGCCGAGTTTTCTAGGCCATGC TGCGGCATTTAAAGGCACATACCATGATAATGAAGATCGCCAATCCGAAA ATGATGACCAATGCGAAAGTGATAATTACAATCATCGATGATAAGGAATA TGATGAAGTTTGCGTGGAAATCGAATCGATGTACGCTTGTGACGTCATTC CTGGAAATTATTGATTTTTTTTTGGAAAAAAATTAATAATTACTTACCGT CAACAGTAACACTCAACGAGTCAATTTTGTAATCCGAAATCATAGAGTTA TTGCGTGAAAATGCGGCTTCCAACCTGAATGTTAAAAAAAAATCTATAAT ATCGATTTTTTGAAAGTTTTTCGAAAAATTGATAAAATTGACGATTGATT GTTTGCCCATAGAAACAGATAAAAATCGATATAACTTAATATCGATTTTT TTTTGTGCACCTTTAAAGAGTACTGTAACTTCAAACTTTCATTGCTGCGG AATTTTTTTATCGGTTTTTACAATTTTTTGTACAGTTTCCGTCCAATTTT ACAGAATTGAACAACAACAGAAGGAAAAGTGAAAAATCGTAAAAAATGTC CGCAGCAATGAAAGTTTGAAGTTACAGTACTCTTTAAAGGCGCACACCTT TTTTGTTTTAACAAAAATTTGTCGTGGTAAGACTGGGGACCGTTTTTTCG GCGGAGAAGTCGCAAAATTTCGGCTAATATCGAAGAAAAATCAATTTCCA ACAGCAGCGACACATAAAAATTAGCAAAAAATTGTGATTTTAGCCAAAAT TCAGTTATTTTTCGGAATTCCCGTGGCGAGACCCATTTCTCCCACCTGTA GAGCCAACTGCACAACTCGACATGCGAGTTTATCCTTGCAGATGGCCAAA AGCCCTCCGTCGATCATTTGACGAAGCAATTCCCGCTGCTCGGCCGGTGT TGCGAGCTCGACGAGCTTCTGAACGATGAAATTGCCATTTCGACTGTGGC AGAGCCCACGAAGAGCGTCGTGGATTCGGTGAGCTTCTCGAAGACGGCTT TACGAATCTGATCTTCGGAATCCAGTGGGTAGTTGGCCTCCAAGAACTTT ACGCCCGATGGATCGATTGCGAAATCGATGAGCTGCCCGTTGAGCAGCAC ATCTTGGAGCGAGATGGTGATCGGAGCCACTGGTGGTGCAGTCTCATCGT CGGAAGATCCAGATCCGAAGGTGTAGCTGTCAGAGTCGGAGGAGGTGGTG TTGCTCCCGTGGCGGTAGGGAAGAAGCTTGACCGGCGGCTTTGGGTTCTG GAAATTCTATATTTGAATTTGAAAATCAACAAAATTCAATATTTTACCCT GCTCTTGTGAGTTTTGTTCGACAAAAGCGAAAAATCCGGGTCGAAATCGA ATGAAACGCCGAACATGGGGGCCATTTGGACAGAAATGAATGAATACAGG TTAGTAGACGCTGAAAAATTGGGAATTTCAATTAATTTAGGATTTTTTAA CGGAAAAATAAGTGAAAATGAGAGGCAAACATGCAAATTAAAATCGCGAA ATTACCGCGCTTTGAAAGGGACTCCACCGATCGGAGAGACGAGGGAAGTG GAGAGACGCAAATCGAAGAGACGCCTTTTCAGACATTTTTTCGTGATAAT TTTGCATGAATTGGCAAGTAGAGCTTACACGTGATGCGAATCATTGATAA AAACATCAATTGTTGTTTTTAGTGTACTGAAATTCCGGCACAATAGCTCT CGTAAATCGACACAAAAGTCACTCCGTGGAAAAGTGGAATTTGGATAATT TTGTTCTTTTTTTTAAATATGATTAACGTTTTTGAAGGCTTTTGTCTCAT AATTCATCAAATTCAAAACCGGAATTATCCAAATTCCACTTTTCCACGGA GTGACTTTTGTGTCGATTTACGAGAGCTATTGTGCTGGAATTTCAGTACA GTAGAAACAGAAAATGTTGTTTTTATCAACGATTCGCATCATGTGTAAGC TCTACTTGCCAATTCATGCAAAATTATCACGAAAAATGTCTGAAAAGGCG TCTCTCCGATTCGCGTCTCTCCACTTCCCTCGTCTCTCCGATCGGTGGAG TCTCTTTTGAAATTCGAAAATAAAAAGTTTCGCAGTGCGCCCGGGTTACG GTGAATTTTAAAAGCGCATCACGGTTTTGAGTGAGGTCTCGACGCGAAAT TAGCCGTTTTTGAAGATTTGTCGTTTATTTTGGCATTTTTGAAGGAAACA TAAGTGAAAATAAACAATTTTAATCTTAATTGAGAGAAACTTGAACATTT TTACAAAAATTGCAAGAAATTGCGCGTTAAAATTCAAAAATTAGAAGTAT CGCGGCGCTCAAGCCGTTGATAACAAGCCGTTATAAACTTATATAACTAT ATAATGTAACTCGATGATTTGTTGATGTGATCTTTAAAAAGGTTGAAACT GCCCCAGTCGATGTCCGCGCCAGAGGCGCTGTCAGCGGCTGGTTACTTAT ATATAAAAAATATCGGGAAAAACGCACTTCCGTTCCATTTGTTTCTTTGT TTTTGTGACGTCACTGAGAATTATGGGCGGGCCCGTCTGCCTTCGTGGTA AGACCCATCGTGGCGAGACATATCGTGGTGATATCCTTCGTGGCGAGACC CATCGTGGTGAGACCCATCGTGGCGAGACCCATCGTGGTGAGACCCATCG TGGTAAGACCCATCGTGGCGAGACCTTTCGAAAATTTGGTGGGAATTCAA ATTTTCTTAGAAACATTTTTTGGTGGGAATTCAAAATTTTCAAAGAAAAA CTTTGGCGGGAATTCAATTTTTCAATAAATAATTTTGGCGGGAATTCAAA TTTTCTAAGAATAATTTTGACGGGAAATTCAAATTTGTTGAGAAACTCGA GTAAATGCTGGAATGTTCTAGAACCTTCCTGGAGATTGGGGAAAATTTTA GTATGTTCTAGAACCATCGGCGAACTTAAGAAAATTCTGGAAAGTTCTAA AACCTTCTAGAAAATTCGTGAAAATTCTGGATTGTTCTAGAAATTTCTAG AAAATTCGAGAAAACTCTGGAACGTTCTATAGAACCTTCTAGAAAATTCG GGAAAATTCTGGAATGTTCTAGAAAATCTTGTTTGCCAAAAGCTCTCGGA AGGAACCGGAAAAGTTTCTTATGATTTGAAGAACGTCTAGAAACGTTCAA GAAATTTAGAAGTAGTTCCAGGAAACCTGGTATTTTTAAGTTGTAACTCT TGAAAACTTAGTTATATAATATTCATGTTGCGTTAAAAACTTCTGGAAAA CTGAGAAAAACGTTCCAAGGCTTAGAAATTTTAGAATTTCATCTTAATTT CGAGTACGCCAGTCGGAGCACGCGCATTGTGCGAACGGCTGGTATACAAA CAATAGTCAGTCAATCCCATGGATCAAATTTTGAATTTTTCTAAGACTGA ACTGTTCCTTTGATATGCAAAATTTTATAAAATTGTCTGTTATTGAAAGA CATGAAACAAACTTGAATTACAGTAATTCTGTAAATTCTGAACTTACTAT TAGAATCCTTAGTGAGCACACTTGAAAACGAATGAAATAAGGTATGTGAG AATACCGTATCAATCAGATACGTCTGACACTTCCCCAAAAAAAACTATCA GAATATGAGTACGATATGTTATTACTAGTGTGCATCTTTCCGCGCGACCA TCATGGCTCAGCAGGTAAGACTTCGGCGACGCCTCGAGACGACGAGGTAG TTGACGACTTTTTTCATTTTTTAGGCAGCGCCCAACTCTTGTCCGAGGTC TACAGGCTACATGGTTTGGACGGACAGAGTATTTGCTTTATTAGTAGTAA CAGAAATACACATAAAATCAATTAATAAGATCCATGAAATGCAATAAAAA TCCAGTTTTCACCCATCTACTATGTCTCTCATTGAAGAACTTTTTCAGAT AGCTTTTGGTATAGAATATATTAAAATTCATTCTTCGATTTTCTGTGGAA TTTCTTATTTGAAAGCTTTTTCCATACCAGACAGTCACTTCTCCAAATCC ATCCTTGAAATTTTCTTTGGGGATATTTAAAATATCATCGAGATACCAAC AATCTACTGGTTTTTCACCTACAAGACGTGCTCTTGAATTGAAAATGTCT GGGATATCCTCTGGAATATGTTTTTCTCCTTTGTCATGCTGATAGTATAA GTTGAATGTGACACTTCCATTTCTCTGGCTGTTTTGTTCAGTCAATCGGA TTAGCTTTGCTGTGACTCTGTCCATATTGTCCGGAGTAATGAGGAGATAC GTTTTAGGAAGTAGAACAGTCATACTCTTGGCTGGGAAGTTTCGTTGAAC ATTTGCAATCACATTGTCCATTGGTGAATAATAGTCGTTTTCCAGTTGTT CGTTCATTTCGAGTAACATATCCTCAGAGTATTGTAAATCGATCTCCACT TTTTCCAGAAGAACCCTCGAAACGGGTTGGGTGTTGAATGGTACATTGAA TACGGCATTTGAAAAGTCTTTAGACGTTTCCAAAATGAAATCCATATTTG AACTAAACATAGTATTAAAATGACCACTGTAAGCTTCGAACCGGAACTCC AGTCTGAAATCCTTAACATTCCACTTTGAAATAAGCTGGTATAAAAAGTC TCTTGGGATTGAAAGGAACTCTTTTCCCAGTATTAAAACGGTGAATGTGT GGCATGTTACCAATGAATTGAGGAAATAATTTGCTCGAGCACCAACTACG TACCGCCCTAGTTGCTTTTCGTATATGGTCCGATAAAACAACCTGTAAAA TGTAATCTTTATAATGTTCCTGAGCATATCATGTCAAGAGTGTCTGAGTT TTTCATCAACAAAAACAAAATTTGATTTTTTTGTTAATTTTCTAAACAAT CCGATTTTTGGTTTTCCGGAAAATTGAAACATCGAAATTTTCCGTTTTTC AATATCCAATTATTCGATTTTCCGATTTCCTCTCAGAAGAACGAAAAAAA CGAGAATAAAGTTTCCATGACATTGATCGCAGTGGGCTGTTTGTTTTTGG GATAACTTTAAGTGAAGGAATGGAGAGACTATCTAAGTATGAAAAACACG AGAATTCACTCTTTTGAGAACCTGTTACAATACGTGTACTGTTATAATAG AAAAACTAAAGCAGTGATTCAAACATCTGTTCGACGGTGTTCATTACAAA TGTATCAATTTACACTCACCAGTCTTTCATTTCCAGCGCTTTGTAATGAC GTGGAGATATCCTGATTTGATTTATGATTTCTATTATTTTTAATTCTCCA AATAGCTCTTCTCCCAATATTCGCAACTCATCAATTCCAAAATTGCTCAA TCGAAGATATGCGAATTTCCCGAATAGTTCGTTTAATCTGTCCATAAATC GATCATGCTCATCAACTCCAAAATTTTCCAACATCAAATTCAAAAACTGC TGCGGTATCGAATTTCCACCAAAATATTGAAGTTGAATACTATGAACTAT ACAGTTTTTATTTCTATGAATGTCTCGACATATTTGACAACCACAGCAAA AATCATTTTTATATTCTTCAACGAGTCCATCTAAAAATCATGAATGTCAA ATCAGTAGTTCAAAAGCCATATATTTTACTCAGAATTCTGAAAAACAGGC GCTCATGTCAAAAATTGACTTACAATCTACTCCAATCAAGCAATCGTGTA TGAGATCATTGAGTATAATTCGAGCATCCACTCCGCACGAAATTTCGTTT TTCTTAATCGGTTCGACATAAAGCTTGTAGACTTTCACATTTACCGTATT TTTTAAAAATCTGAAAATAATGTTACAGCTGAGTACAAAACATTAAAAAT TGGTTTAATTGATTGAAATTTTCACCACTTCTCATATTGTTTCCACGATC ACAAAAAAGCATAAAAAACTTCAACAGACTCAGAAAACACTTTTTAAAGG CAAGTTTTGAACCACCTATTTTGATGAAAAATTGTCTGAAACACTTCTCA GATCGACTTTTCCCTAGCTCAAAGTGATCCTCTGCCGCTAGCTCTTTTTT AGAGTGGTCATTCGAAAGTCCGGGTTTAAGTTGAAATATTTCCCTTACCG GTCAAAATTCTATCAACATCAAAATAAAATTGAATTTTTTGGTAGTTAAC AGAGGAAGCGGCGAGCAAAAAAACCAGGTTTTGAACAATTGATTTCAACT TACACGAATAAGTGTTTCACCTTGTTTTTGTTTATCTCCAGTGCATTTAT AAGAAACGAGCAAGTGCATCGACGAAGCTGTTTTAGCGGAAGTTCAGGAT CTACTTGATTGTTAATGAATATTGATCTTTTTCTTCAATTTTTACAAGTT TTGAAACTGTGAATTTGTATTTTTCGATGCTCATTTCGAATTTTGTGCAA AACTTCTTCGCTGAACAATTTATTTATCAGCTGAAAAAAGAGCGAATTAA AGTAAAATTGAACACAATTTTGATACCTGTCTATAATTAGGGATATCAGT CCGCTGTATTGATTTTTTTGTTTGAAAAACTGAGTTTTTGTTTATTTGCA GCGGCAAATTTTTATTAATTTTTTTTGATAAAAGTTCATCAATGCCATCA GTGTTGTGGCACCACGGAGTGGCGGAAGACCGAACCCTTTAAGCCTCAAG AGGAACCGAGCAACGAAGACTATGTCAGAGGTGCAGCATGGCATCGTCTA TTTGTATATGTATTGGAAAGAACAGAACACAGTTTCAATAAATATGTTTA TTACTCCAAAGGGGAGATAATCAACAGAGGGGGAGTGGGTCGTACACAAG AGAGAGGGAATTGTCTGGTGTGAGAATATCACGTCCTGCCACGCGGGTCT TTAGTCTGAAAAGGTCGAGTGTATGAATAGTCGGGGTCTTTGCAGACTCG TAGAATAATGTCTTTGGTCAACTACACTTTCCAAATAAAGGGAGGGAAAG GTAGGAAACGTCGGCAATTAGTCTGACTGGGAGCTGTCAATAACGGGGGG GGGGGGGAAGAGACCAGCAAAACCGAACCAAGAGTGGGGAGGAGAGTTCC TTTCCTGGTGCCACCGACGCTGCAGCTCGCTCCGTATCGTCGCTCATTGA GTCGCCGCGCAGCCAATCGTTGCTACGGGGCGCGAGTGTAACTCTCGTTA GAGAGCGTGTGGGAGCAAGAGACGCAGAAATACAGTAAACTTCTGCGACT CCTAACTGTATGGTAAGCTTAAGAGCTGGTCTTAAAAGGTCGAATTGAAT GTACCCCTCGCTCGGAGAACTGCTGAAGCAGTCGAGAGCGAGACATTGTG AAATGGGCGATACAGCAGAGCCCAGTTCACAACTCTCCGGGGGGCGGGAC TTGTAGGCTGGTTCACGTAGTGAACTTAAGGTTTGAAGCCTTCCTTTGCC TTTCTTGGAAGAGATTGGCGGAGTGGAAGGTCGTCTGAGCTCCTGGCTTC TTTTCGTGAGCGTTCAGCTTCTTTTGAAGATCTAGTATTAGGTGAGCTCG GAGCTTCTTTTCTAAATCTTGCTTCGTCTGAGCTTAAAGCTTCTTTCCTG GATTTAATAAATTTTAAAGATGGAAGCATAGGTAGTGAGGGTTCAGGAAA GTCGGAGTCCGTCTCTTCGTCTTTTTGTGGAATTTTGTCTTTATTGTCTA TGTCTTCCGCTGTAACCTCAAGAGGATACAGTTGATTTAGTGATCGTTCC AACGTGGAGTTATTGAAACGAACTCGTGCCGATTCAATGTTTCCTTCTTT ACTCGGAATGAGCTCCACAATTTTGCCCAGAGGCCATGTGTGTCTTGGCA ACATTTCTTGTCCGACGAGAACAATGTCTCCTTGTTTAGGATCTCGAGGA GCATCCCTTGTATTAGTCTTTTGTCTTTCTCTCAGAAACAGGAGATATGA TGTCGACCAGATTTGCCACAACTTTGCAACTGTTGTTTCAACTCTGGCTA AGTGTCTTCTCGTGATTTGCTCTGTTGATCGAGCTGTCTTTGGAGAATAT TCCATCGGTTCGTCTAGATCAACTTCATTCGGTGCATCTAGCTGAACTTT TGGTAGTAGAAAGTCGATTGGGCGGAGAGCCGTCAGATCATTGGGATCTG TGTTGTCTGGTGTAAGTGGACGGTTGTTAATCATCCCTTGCACCTGTCTT AACGTGCTGGACAGCTCGAAGAAGGTTAACTTTTTTTTGCCAATAGTCTT GCGAAGTTGGTGCTTCGCAATTCCAACAATCCTCTCGTACACTCCACCTT GCCAAGGGGCGAATGGAGTGATGTTGTGTACCTGAATTTCGTATTTGGCT AAAAAGCAAATCATTGAGTTGCTTGGTGCGTAAAGTCTGATGTCTTGGTT GACCATTTGGTGGCCGAGTGTAAATGTTGGTGCATTGTCACAGTAGATAT GGGGCGGAACACCACATGCACTGGAGATTGCTCTGAGTGCGAGCAAGTAG TTGGCTGTAGTAGCGTCTGGAATGAGTTCTAGAATGGTAGCTCTAGTCTT CAGACAAGTGTAGATAAGAGCATAGGCTTTACCTAGCTTGTCATCGTCTG TCTTGTATTGTATTGGACCCAAATAGTCGAGTCCTACATGGTCGAATGGT GCAGAAGGTACAGTTCTGCAGTTTGGTAGTCGTGTGTCGTAATTGTATTT AAAGGGTCGTGCTTTCACCTTTTTACAGTTCACGCACTGAGCAATTGTAG TTCTTGCAATTTTGCGATCATTTCTGATCCAAAAGTGCAGTCTTACCGTA GTTGCCAAATAGTGTAATGGTAAGTGGGTATTTCGTCTGTGGACATCTTC CACAATTAGACACAATCAGATGTGGAACCGGATTGGGTCCCACTATCCAA TGATGTTTGTTTCCGTCCTCGTCTACTGGGTTACGCAATGTGTCTTGCAA AGTGATTAAGTAACCGTCTGTAACAACTGGAGAAGTTGTGTCAAAAAATG TCTGAATCAGTATGATTTTGTCTCTGTCTTTGAATTCGAGAATTCGTATT GTCTTGCATTGACTGAGCATAAGAACAGTTTCCTGTTATATGACTCGGTG ACGAGCAAATCGTGCATCTACCATTGTTGATGCAGAAGCGTTTGACTTCA ATCGCACCCATTGTGCACGTTTGAAGTGGATGGTCTTTTTTGCAGGGAGG GCACGGATCTCCATCGAGAAATTCTTGCCAATTCTCCACGAGTCTGGAGG TAGTATTACCCGTCTTTTGTTGAATATGCAGGTTCAGGAGGTTTTCCTTT AGTTTTCTGTCCCGTTGGACATCAACCAAAGTACGTCGCCAATCTTCCGC GCAGTTGTCTTCAAGATGTTTTTTGAGGCTTACGATTGGATCGTCAGCCC GTCTGGGTCGTATAAAGTTACGCGGAGTCAGCTCGGTATAGTCAGCTTGA TAGTCTTGCATATAGTCTTTGAGATCTTTAATTATCATGTCTTTGGATTT AATCGTTGAAGGTTTCTGTTTAACAGTTTCCAACAAGTCTTTAATCGTCG ATAGTCTATGTCTCAAGTCACCAGAAATAACAATCATTTTCTGTCTGGCC AGATTAGTCGTGGATCGTATGATATCTGTTAAATTCAAAATTGGCGTACC TGTATCCTTTGCCTTCTCGGCGACGTCCTTGAACATCTCCTCGATGATAT CCGGCAATGAATTGGCTTCGACCAAGTATTGAGTCAGGTCTTTGTACCAT TTGTGAAGATCCTTGATGTAGTCCATATGCTGCTGCTTGTCACAATCGAT ATTGGCGTTAAGCCAGTCGGATGAAGACTTATCTTTGTGCTTCAAGTCTT CAGTCTTAAGTGCGATACGCGTCAGCAACAATGCTATGGATGATGAAGTG GAGAATGGGGTCCTGGATTCCCTTCCCAAGCTGCCACCACCGGAGTCGGG ATCAAGACTTCCACCTCCAAGATGAAAAGTCATTCTTCTTTGAAAACCGA GAAACTTGTTATCTAAAATCAATAATTGGTTAAGAAGAAAGACAAAATGT TTTGAGATTAAGTAAAAGACTTAATAAGAGATTAGGAAAGAAAGATGGGG ATGAAGACTCAATTTGAGTGATAAGAAAAAAAGGTATTTTAATATAAGAT TCTACAATAGGGATTGGGAAAGGTGTGCCGTGGCCTAATATAGGTTTGGT GGTACAATAAATAGGGGAAGTAATGACCCAATATGGGTGGGGGGATTATT AAATGTTACCTAATATGGGTGAATTATTAATTATTCCTTTGGCAGAGGAA TGTCGGTGAGGGCTAAGAGTTCCCTGTATTGTAGGTTGATTAGTCATGTA GGGGACTGGTGTAGAGTAATTTGGTGTAGAGTAATTTGGTGTAGAGTAGG TATTTGGTGTAGAGTAGGTTTTGGTGTAGAGTAGGTTTTGGTGTAGAGTA ATTTGGTGTAGAGTAATTGGTGTAGAGTAGGGATGGAGGGAATTCAACAC CGACTGGTCGTGAATCAGATCGGCCCTGAATTGGGGTAGGGGACAATAGA AAGAAACTACCGTGTGGCCAACTGCCCCCAGCAGGGACCTAGTTGGGATT GTTTTCACTTGAACACGAAAACAATGGGGGTTGGGAAAGTTAATAGGGAC AAAGGAGCAAAACGAAACGTCCATTCCCGCATCGAATTGCCTCATAGGCA CCGCACCCAAACTCTCCTGCCGCTGCAGCAGTCAGGGAATCCGACGCTCC ACGCTCTCCATCGCGACTGGAGACCAAGTTCTTCTTTCTTCTTATAGTCT TTTTTTTCTAGTGGCGCCGGTTAATTACTCCATTGCCAACTAGCTGTCGG GAAGTCAGAAGTCAAATGTCCTTGCGGACGTGGAATATAACATGTTTGAA ATTAGGGTGGTTTAAGTTTTTTGTGAGATCCCTATGGATAAATTTTGGTT AATTTTTAAATTTGAAAGGTTTTAAAAGATGTACAAATAATTTTTAATGA TGTATAATTTTTGGAGAAGGTACTAGTTGAAAGATATAAAGAATTTTTAA ATTGAAAGTTAAATTAAAATTTTGAGGGGAATTGGTGTAGAAAATTAGTT AAAATATATTTTTGGAATTTTTGAAATTTTATAATTTTTAAGGATTTTTT AAATTTTTTAGGAAGTTATAAAAGGGGGTAAATAAACTAACTGTTCGATC GCCGCGTCCTCCAACGAGCAAATCCTCCATCCATCCAGAGTTCTTGTCTA CCCGTCTTGTCGTCTATTCCTCCTTTTCTTCTTGTCTCTAGCACACAGGA GACTGTGCACTATTGTCTTTCCGTTGCAGTCAGCGAGCTGCCAGCAACTA GTCGCATCGTTAATGGCACCTTTGCCACTGTATTGAATGCTGTGAGCTGT TTTAAGTGCTATTACACTATAGTCTGTAGAAAACAAGAAATTTTGTAATC GTCTTTCGTCTTTCGTCTTGAACCATATTAACAGCCGAGATTTATTAAAT CAAGGAACAAATAACAGCTTCAACAATGTGGTATCAGATACCGGTGAGGA GTGGTGAGGGGGGAATTTCAAAAAATTTAAAAGATAAAAATTTAGTGATC GAATATCGAGATATTCGATGGGGATTGTCCTCGTGCCAATTTCTTGGCGA TCCTTGGTTGGTATCGGCGTCTGACCGGCTGGTGTTGTTGCTGCTGTTGC TGGAGTTGTGGTGGCGGTGGTCCAAATAGTTGTGGAGCAGGAACGCGAAG TGGTGGTGGGAACTCCTGTGCGGCTGGTACGAGTTGTGGTGGAGGTTGCT CTTCGGATGGTGGTGGCGTGTGAGCATTGAATCCTCCAGAGACTTCCATC GCGAGGGAGATCCTGTTGATCGCTGCGTGCACCACATCTATCTTGTCGTA CAGAACGACGTGATCCGCGGATTGGATCCACACTTCCTGGGAGCCAGAGC CTTGTGGAGCCGTCGCAGTCGTCGGGCCATTTGGGTCGCGGCCGGTCTGG GGGGCTGGGCCCGTACTTCCTGGGAAGTTGAGAAACCAGTCTTCGAAGAA CTCGGATGGAGATGTGTCGTCGGTGAGCGTCGGGTCGAACGGTCTGAGAA GATTTTAGAAAATTAATAATAGTATATGGAAAAATTGGATAAATTTTTAG AATTTTGAAAGAATTGATTGAAAATGTGTATAAATTGAATTTTTTAGAGA AAAATGATAAAATTTTTTAGAGAAAATAATAATTTTTAGATAATTTTTAA ATAAAATCGAAACTTCCTTTAGTCTGGCGCTTCGTGGATGGGTAGGCTCC ACTCAGCTGTCAACTTACGTACTACCAATGAAGAATTGCAGGATAATGTG CATATTAGATGCAAAACGACGAGAAATAGCGAATAATAAGTCGGGGAAAG TCGAAATTGTGCTCTGGGAGCATGAGTTTGCCAAACTCACGTCCCTCGGC GTCTGTGGGCTCGCGAGCCGCCCTTGTGTACGATTTTAGGGGTTTTTTAA TTTTGAATTTTTAGAATTTTAATTATTTTTAAAGAAAGTTTGGTAGAATA AAGGGACGGGGGATGTTTAAATAGATGTGTACCTGTCGTCTATCAAGTCT TCGACTATCGAAAACGTCGAGTCGTCGAAGTTCATATTGAATCGTCTCTT CACGGCCCGGCGGGGGGTACATGGACGAGAATTCTCTACCGTATTCCAAT TTGGCTGACTGCGTGCTCAACGTTGAATACTCAGTTTAAAGTTTCGTACA CCGTTGCGTACTGCACAGCGCGCATTTTAATTGACGAAATTTCGCGAAAA TTAACAGAAGATTTTTTTCGGAATTATAGAGCTGAAATTGAAAAAAAAAC TATCAAATTTTCATCGAATTTGTGAAAAATCGTAAGTATGAAGATCTTTT CTTCACTATATTCAAGGAAAATCGATATTTCGCTTTTCACAGACGAATGA TGTCTCATTTTACTCGATGAAAGTTTCTGATGAGCTGTTTTTATCGATTT TTGAGCGATAAAAATGCGATTTGTTGATAAAATGGATCAATTATATAAAG AAACAACATATATTGCTCTGAGATTACTTTTTGAGAATCAATTCTTTATT TTTCGGTCATTTTAAATTAAGCATTAAAATAAAAATATTAGAAATCATAA TAAAAAAAACAGAAAATCGATATATTACTTTTTCTTCGGAATTTCACGAC TTTTTTGGACGAATTTTATTCTGTAAACTTTCTTCTTCGAATTTGTGTCC ACGTGGCTTTCAGTCGAAGAAGATTCTGCAGCACTCCTTCTTGCTTGCCC ACAACTTACTCGAATTTTCTAAAATTTTTAACTTATTGAAATTGTCATTT CACCTTTACACTCACTTCAGCTAAACTATTACTGCATTTCGGAAGTTGAT AGGATACTGGTGGAGCAACAAGTGGATGGCTTCTAGTGATTGGCTGGCTT GTCGAGCAAGTTTGTGTGATTGCCTGAAATAATTTTTGATTTCAATTTTG AGTTGATTTAAAGCAGTGAACCTACCACCGGGTTCGGACGAGAAAGAGCA TTACTCGGTAGACCACGGAATCCAATTTTCGTTGAATTGCCTCCAAATGC AATAGAAGTTTGTACGTTTTGTGAGAAGTCGGGCTGAAAATTTTCAAAAT TTGAAACTTTTCGAGAAAAATAAAAATCTCACCACAGCATTTCGAGATTT TGTCGATTGTGGAAGCCTTTTCCTGGAGCGAAAATTGATTTTTTTTTTCG CTAAATTTTTTCTTTTTTGGGCAGCCGTGACGTCCCGAATAACTGCTTTT GGGTCCCGAAGATCATTTTGCGAAGAAATTGGCAGAACTGTTGCATCTTT TGGTACGATGGAAAGACCGGGAATGGACGTGTTCTGAAATAGTTGTGTTT TTAAGAATGCAGAAATGTTTTTCTGTACCAAAATTACCATAGTCATGTCA TTCATGATGTTACGACACATGAGCTCTCTCAGAACATGGATGTAACGCCT TTTCTTGTCCCGGTAATTGCAAAATCTCCTCTCAAGTGCATTGAAAATCG CGTGGACAGATTCAACTCCTTGTTCTGTGATCCTTCCAATGTTTCTCACA TCTTTTGCCATTTGTGGTGCATGGTAGACCAACAAGTGCAGCTTTAAAAT AATTGTTTCTTCGGGAACCGCTACTTTCAAATCCTCCACAAATCCGCGAA TCGAATTTTGAAGTATTAAGACGTCGGAATCATTTAAAAACTTGTTTCCC GAAAGTGACATAATAGTTGAAAGCTTTCCCATTGCTGATTTCAATCCGAG CAACATTGGGCATAAATTTGGGCCAAAAATGTTGAAAGTCTCCTCTACAA CAGCCGGCGTTAGCAGCAATTTCAAATGGTTTCCGCAAAATGATTGGAAC CAAGCCTGCTTGTCCGCTCCAAACTTAGCCCAACACTGTCCCATTTTTTC AAGTGTTCCTTCGGGAGTACCATTCACAATTGTATCGAGCAACAATTTTT CCGATTGAAGTGCTTTCAGTTCAGCATGCGACTCCAATTTCATCTTTCCG GTGGCTCCTTGATACTTTTCTTCCGCACTTTTAATTAGGTTAACAGCGTT TTTTAGAGTTGCTTTTCGTGTTTTCAGGATAGGAAAAGAAGTAGTGTTAT CCAAAGTATCAGAATATTTCCAGAGGGGATTGAAGATATATTTGTCAAAA ATACCCATGATAATGTGCAGAAGAGGAATCAAATAGAACATGATCGCAAC GTGTGGCAGAAGTGGAGTACATCCTTTGCGAACACCCAAGTCGCCATTTT CACAACAAGCTTTGTAAAGATCGATTGTTCGTGGGTGGAATGTTTCATCA ACATTCATATCCTTGATTTTCATCCTCTCTTCAGCTCCCCGTGGATTCTG TGCAAAACATTTGAAGCAGAAATTGTGGGATGAATGTCCTTGGTGTCCAA GAATATCAGATTGAAACTTGCAATCTCCAGTTGCAATTTGCACAATTTTT GCGGTTTTTTGAACTCCTTTGTCCAAATATCAAATTTTCGTTAGCTTGCC AAGCTGCTCAAGAACGTCCGGAATGAATTTTTTCAGAGACGAATAATTGT CGGATCCGTCATATACTGCAATTACCATAACGTGTCTCGAAGAATTCGGT CGAGATACGTTTCCGATTACCAATGCCAACTTTGTGCTTCCACCTCCAGC GTCACCAACGACTCCAATCTTGATTACTCCTTTCGTGTATCCGTCGTCCA CAAATTGATTTGAATTGCATAGAAGCTCTATTCGATAGGCTAAAACTTCT GCAATTTTCATGCACTGCACAATGGTAATCACTTTTCCTTTATTGTCGAA CGAAGTGGAAACTTTGAAACTGGAGATCATTGATAACTGGATTGACAAAT CTCTTGTGTTCTTTACCGATGGAAGCAAATCATAGCCAATGGCATTAGTC AAATAGTTTTTGATTTTTTCCATCTGACTTAGAGATAATCCGCATTTTGA TAAAAAGTCAACGGCCTCAAAGTTTGAAAGCTTGTTTTTGTAGCTTTGAT TCTCTTCTGAATTCAGGAATTTTGTGAATTTTCGAATAAATTGTCCGACG TCATCCTCGAGGCAGATTTCGTGTTGAAGCAAGTGAAGAGCTTTGCGAAA TCGATTTTTGATACAACTTTTGCTTCTTAGATTCGAAATATTAACTTTAA AAGCTGATTTTTTAAGGTTTTCAACTTCTTCGGCGTGTCTTTGTAGACTC AGAACCATAGCTTTGCCACTTTTCTTCACATCTGCACAGCTTCTCACCAA TCGACCTTCTATACCACTGACGATCGTTCGTATATTGCATACTTCCATTT GCAGCGAAGAATTAGATGCTCTTATAGTGATATTTTCATGGCGGACTATT TGCATTTCTTCCGAAAACACCGCAAACTCATCAATCCGCTTTTGTATTTC TTCTGATATTTCATTTTTTTCATTTTTCAGTCGTTCGATCGTTAGTCGGA GCATTTTGATCTGCGGAATTTGCTCAACATTGGAGATTATTCGAACCCTC GGTGTACTGAACGAGTTTCGTAAAGGTGTCGGTGGAAATACGGGATTGGA GAATCTCAGCAAAATCATATAATATTAGTTTTGAAATATTGAAAAAAATT ACATTGTGAGAAAAAGTCGGAATTTCGTCACTAAAATCCATTTCCACGTC TCTCGTCAGAATTCCTTCATCCATATTGAAACAATTTGACGACCTGCATG TAGTTGCGGAGCTACTGGAAGCAATGTCGGGATGGTGGGAGTTTCGATCT TCTGAACTGATTTCCTGATTAGCCTGTGGCGACGAGCTGCACGTCTGAAA ATCACGTTTTTGAAGTTAGAACAAACTACTCCAACTTAATTAAAGTTGAC AAAATTGAGCTGAACGAACCTCCACTTTCGAATTGTTCAGTTCTTCCTCT TCAGTTTGATCTTTTGAAACTCCATTAGCACTGTTCCTTGCTCTCTGGGC ATTTGCTAAAAGAAGGCCTGCACAAGATTTTTCTTTTCTTTTTTGTTTGA AGTATACTTTTGTCATCTGGAAATATTGCATGAATATTATAAGGGAAACA ATTTTTAAATATCGATTTTCACGAAATTTGAAAAAATCAATAATTTGGGC GCATGATATTGAGCTGAATGTTTCGAATTTAGAATCAGCATGCTTTTATT CATATTTTAGGATCTTTTTAAAAAATCTGGACCAACAGTTTTTGAAAAAA AAATACTTTTCGTTCAGAAATGTACTGATTTTCCACTGATTTTCACGAAA TTTGAAAAAATCAATAATTTAGGCGCATGATATTGAGCTGAATGTTTTGA ATTTAGAATCAGCATGCTTTTATTCATATTTTAGGATCTTTTTAAAAAAT CTGGACCAACAGTTTTCGAAAAAATTCAATTTTTGTTCAGAAATGTGAAT ATTCACTAAATCGAAAAAAATAATTGCAAAATCCGTCGGCTGAACATTCA AAACTTATCAATTTGAAATCAGCATATTTCAGTGTATAATTAAAAAAGGT TTCAAAAATTCTGAGACCAATTTTTGTTGAGAAAAATAATTTTTCGTTCG AATTATCGATTTTTCACGAAATGCCAAAAACAGTAAACTTGGGCCCATGC TAAAAGCCTGAATCTTTCAAATTAAAAACCAGCATGATTTTTTCTATATT CTAAGACGTTTAAAAAAAATCTGGACCAACAGTTCTTGAGGAAAGTAATT TTTTATACAAAAATGTGCTGATTTTTCACTAAATTCAAAAAAATAATCAA GTTGGGCCCATGCTATACACCTAAATCATTAAAATTCAGAACCGCCATGT ATGTATTTTTTCATACCATAGGCTCTTTAAAAAAAATCTGGACCAACAGT TTTTGAGATATGTCAAAAAAAACAACTCACTTTTTGACGTTTTTCGCCTT TTCGCGGATGATGCGGTCGATTTTTGCGGCGATTTGTGGTCTTTCGCTGA AAATATTATTTTTATTTCAATTTTTAACGAAGAAAACAAGAAAAAACGAC GAGAAAACATCAAAAAACACGAAAAAAACGTCGAAAAACTCCCGCAACCT CATGAAAAAAAATAAAGCACTGCAGCCGCGGGACTAGTTTTCGCAACTTT CTAGGCCATGTCCCGTTCGCCGTGCCGTGTCTTGTCGTGGTGGTGTGAAG TGTGTTGGTGTGAAGCGTGTGAGTACGGTAGGCTGCTGCAGATGTGGTGT GAGCTGTAAAAAATCGAAATAATTCAAGAATTACGACGATTTTCGTATTT TGAGAAGAAGAAAATTTTAAATCACGAAAATTCGAGAGAAAAAATGATCA AATTCAGTCTCAGAAGCGAAAAATGAACTTCTTTGTCTGGAAAACAGCGG TTGCTCGTGAGAAAAAATGTTTAAAATTGAAGAAGATCAACAAAAACAAA AAAAGACACGTAAATGCAACTTGTTTTTAAAGGTCGTGGCCGCGTCGCGG TCGCGCCGCGTGCGCACTTTTGTAGAAGACTCCGCCCCCTTTTTTCTTGG CGCCGTGCCAATTTTTAGAAGGAAGAGCGTTTTTGGTTGAAATAATCGAT TTTCGACGAGAAAATAGACTAAATCAAGTATGGTGAATCTGATTAAAGGC ATATTAACTTTGTAAACTGCACAATTAACTAGAAATCGTACTATAACCGA ATATAGTCAAAGGGTCGCTCAGTTCCCCCGGTCTAGAGTCCCAGGTTCAT CTTTCGAGCTGTTTCCTGAGAAATTGTACAGGATTTGTCTGAGTCGTGAA CTGAACACGCTTTTCAGGTAAACGTCGTCTGGATGTCCTGGAAATCAAAT GTTAGTCTTTGTATCGATGGAAAACATGGTTTTCTCAAGGAAATAGTCGG AAAGTCGGTCGATGCACCATGTTGTGGCACCACGGAGTGGCGGAAGACCG AACCCTTTAAGCCTCAAGAGGAACCGAGCAACGAAGACTATGTCAGAGGT GCAGCATGGCATCGTCTATTTGTATATGTATTGGAAAGAACAGAACACAG TTTTAATAAATATGTTTATTACTCCAAAGGGGAGATAATCAACAGAGGGG AGTGGGTCGTACACAAGAGAGAGGGAATTGTCTGGTGTGAGAATATCACG TCCTGCCACGCGGGTCTTTAGTCTGAAAAGGTCGAGTGTATGAATAGTCG GGGTCTTTGCAGACTCGTAGAATAATGTCTTTGGTCAACTACACTTTCCA AATAAAGGGAGGGAAAGGTAGGAAACGTCGGCAATTAGTCTGACTGGGAG CTGTCAATAACGGGGGGGGGGGGGGGGGGGGAAGAGACCAGCAAAACCGA ACCAAGAGTGGGGAGGAGAGTTCCTTTCCTGGTGCCACCGACGCTGCAGC TCGCTCCGTATCGTCGCTCATTGAGTCGCCGCGCAGCCAATCGTTGCTAC GGGGCGCGAGTGTAACTCTCGTTAGAGAGCGTGTGGGAGCAAGAGACGCA GAAATACAGTAAACTTCTCCTAACTGTATGGTAAGCTTAAGAGCTGGTCT TAAAAGGTCGAATTGAATGTACCCCTCGCTCGGAGAACTGCTGAAGCAGT CGAGAGCGAGACATTGTGAAATGGGCGATACAGCAGAGCCCAGTTCACAA CAATCAGACTAACTGGCACTTACGTATAAATAATATTATGGGTTTCGTCG CTCCCCCTCCAAATGTTTTAAAAACGATTTAAAACATAATTTATACTGTT TTTTTTTACTACTGACCAATGAAAGTTCATGGTTGATAACATAAATCCCC ACATTTTCAGAAAAATGGATAAGCAGAAAAAAAGTTATTAATGAACTCAT AATTTTCATCGAAATTAGCCAGCTTTAGTTTCGGTGTATTACCAGAAAAC AAATTTAAGTGATCTTACTCTCAACTCCAACAGAGTATCTAATTGATTAG ACACATTTTTTACAATCTTGCTGACAATTGTGCGATTTTTGAAGATTTTG TCAATAAGCACGTGATCCTGAAAATAAAAAAGTGAGTAATTTTACGCTCG CGAAATTGTGAGCCAGTGGCTGCCTAGATTTTCAATTTGTTACATTATTT TGCAGCCATACGTGGACCATAATTCTGGCGACCACTTTACGGCATTATAA TTTTTTGAACTGCAAACAAAACATGTAAATATACATATATGTATACTAGG AATTCGCACTAAAGTAAATTATTGAAATTCGTCAACTTTTATTTTCATTT CTTATATTTTGTCTAATTTTCAACGAATTATTGAAAATGAAAATTTTTAA TTCACGTCAAAATTAGTGAACGCGGTGAACGGCGACGGCGAAGGCGGGCC GGCGTGAGGCCGGCGTGAGGCCCGCGTTTCGCGCCTCACTTAGCTGGAAA CCCTAAGTTTCTCCAATTAAATTACAGGTGATATACATTTTTCCTCTTTA GGATAAGAAAAGATCATTTCCTAAGCCTGACAATACAAAAATGTGGTTCA CGTTTTTATTTTTCATAACTTAAAAAAATACTATTAAAATGAGGGCATGT AATACACAAATACCGGCAAACGGTGTTTCAAATCAAATATTGAAGAAAAA ACAAACAAAATATGATGAATTCTCTTTGTTCTTACCAAAATCGAAACCAT CATTTAAAATTTAGCAATTTTTTACAGTTATATTTGGTAATTACGGCCCA TTTTCTATAATATAAAGAAACAATTGAAACTGATCCACCCTGTCCGCCGA CTATTGGGCATCGACAGATGGTGTTCTCAAAATACCAAAAATGGGTGGAA CTCTCTCACGAGCGCTCTGCAGGTGTCGTTTTCCTTTGCAAAGGACTGCC CTTCCATTCATTTGTGTCTCTATACAACATCTCATCTGTCATGCAAACCG ACATTCCCAACATACTCGAAATCCCAATTGATGTAAGTTCTTGTTTCTTA AACTAAAATTAGCCAACTATTTTCTAGAAATATCAATCTAGACCGAAATA CCTTTTACTCTTGAATGATATCAAAAGTTTAAAAATGTTTTATCTGGTAA ATATATTATTCAGTCAATAATAACAGAGCAATAATTTCCTATTTGTAAGA CGGTTTGCCAGCCCTACTGATGTAAGCTAAAGGTCCTACAAAAAATCCCT GAATTTTGGGTCTCCTTTGCTAACTACAAATGGTAGGCAAAAGAACATAT TTGTGTACAAAAAAGTATGCAAGCAAAAGAGACAGCGTAGGCAGGCAAAA GATTCATAAAAGAGAGATAGCCCCCGCGGTCAAATCATTCTACTAGTGGC TTGAAGCCTCTGTTGATGTGATAAAAGTAACATTTTATATAGCATTGTGT TCGATTTTTCTAACAAATAAAATGCATATCATTACTTATACAGTGCGTGC ATGTTCTTTATGCCACCCCCAAAGTTTTTAATCATGGCAGTTTCTGTGTA ATTTGGTGAGCAAAAAGTATTGAAAACCTATTCACAATGAAAAACCTAAA CTCAAGAAATGTTGTGATTATATCTCGAAAATTGTGAAAAATAAGACAAT AAATCAAAAATTGGCCGTGCAACTTCTATATGCCACCTCGGATTTTTTTA TGATTTCTTATGATTTTAGACTATTAACTTATTATTCAAATAAAATTCGA TTCAATTCGTATACATTTCAGTGCTAAATAACTATTCCTGTAACTTCTCC CAAAGACGATACGATGATCAAAATATGGGGATATGTTCTAGATACTAATT AAACATAGTATGTGAATATTGGTTCACATTGGTGGATTTTTAGCGTCGCC AGAGGGACATATTTGGTGTCCCCAGCCGTTTTTGGTGAAAACACTATTTC TCTTTTTTTTCTCGGTGCCAATCAAGTTGAGAAATTTCAGGCATGCTCTC GAACCTTCAGGAAAGATCGAATACTGCAGAAAACCTGTAGACTAGGAAAA CAACTTGGAAGTTTCTTAAAAGTTTGGAATTTTACTAGAATTTTCTGAAA AATTTCAGAAAAAAAGAGACTTTCAAGAAACTTCTGAAAACTTCGAGAAA GTTCTGGAATGTTCCAGATTTTTCTAAAAAGTAACAAATTCCGTTCAGAA CAATGTTTTGAATATATGCCAGAATCTTACTCAAGTAAAATAATTTTTTT TAAATTCTGATACTCCAAAAATATTATGAAATTTCAAAAAAAATTAAATT TAATAGACGTTTGCAATACTATTGAAGACCTGAAAAAATGTTAGAAATTT AGAAATTGTTCATTTTGAAGTATTCGAAATACTGTTCGATTATTCATGAG ACTGATAATGTTATCAGTTTTTTTTATTTGAAAGCTTTCTAAGAATTTCA TATGATTAGAACATCGAAATAGTTTTACTTTAAAGAAAAAATTGCTCCTG GAAAATTTTAACTGCTGAAAACTTGGTTACAGAAATTTTATGATGCTCAA ACACTTCCTGGAAACTGAAAAAAAAAAACGTTTCATCTGCAAAGAAAAAC TTAGAACAAATTTCAATAATTTACTTTAGTGCAAATTCCTAGTATACATA TATGTATATTTACATGTTTTGTTTGCAGTTCAAAAAATTATAATGCCGTA AAATGGTCGCCAGAATTATGGTCCACGTATGGCTGCAAAATAATGTAAAA AATTGAAAATCTAGGCAGCCACTGGCTCACAATTTCGCGAGCGTAAAATT ACTCACTTTTTTATTTTCAGGATCACGTGCTTATTGACAAAATCTTCAAA AATCGCACAATTGTCAGCAAGATTGTAAAAAATGTGTCTAATCAATTAAA TACTCTGTTGGAGTTGAGAGTAAGATCACTTAAATTTGTTTTCTGGTAAT ACACCGAAACTAAAGCTGGCTAATTTCGATGAAAATTATGAGTTCATTAA TAACTTTTTTTCTGCTTATCCATTTTTCTGAAAATGTGGGGATTTATGTT ATCAACCATGAACTTTCATTGGTCAGTAGTAAAAAAAACAGTATAAATTA TGTTTTAAATCGTTTTTAAAACATTTGGAGGGGGAGCGACGAAACCCATA ATATTATTTATACGTAAGTGCCAGTTAGTCTGATGGCATTGATGAACTTT TATCAAAAAAAATTAATAAAAATTTGCCGCTGCAAATAAACAAAAACTTA GTTTTTCAAACAAAAAAAATCAATACAGCGGACTGATATCCCTAATTATA GACAGGTATCAAAATTGTGTTCAATTTTACTTTAATTCGCTCTTTTTTCA GCTGATAAATAAATTGTTCAGCGAAGAAGTTTTGCACAAAATTCGAAATG AGCATCGAAAAATACAAATTCACAGTTTCAAGACTTGTAAAAATTGAAGA AAAAGATCAATATTCATTAACAATCAAGTAGATCCTGAACTTCCGCTAAA ACAGCCTCGTCGATGCACTTGCTCGTTTCTTATAAATGCACTGGAGATAA ACAAGAACAAGGTGAAACACTTATTCGTGTAAGTTGAAATCAATTGTTCA AAACCTGGTTTTTTTGCTCGCCGCTTCCTCTGTTAACTACCAAAAAATTC AATTTTATTTTGATGTTGATAGAATTTTGACCGGTAAGGGAAATATTTCA ACTTAAACCCGGACTTTCGAATGACCACTCTAAAAAAGAGCTAGCGGCAG AGGATCAATTTGAGCTAGGGAAAAGTCGATCTGAGAAGTGTTTCAGACAA TTTTTCATCAAAATAGGTGGTTCAGAACTTGCCTTTAAAAAGTGTTTTCT GAGTCTGTTGAAGTTTTTTATGCTTTTTTGTGATCGTGGAAACAATATGA GAAGTGGTGAAAATTTCAATCAATTAAACCAATTTTTAATGTTTTGTACT CAGCTGTAACATTATTTTCAGATTTTTAAAAAATACGGTAAATGTGAAAG TCTACAAGCTTTATGTCGAACCGATTAAGAAAAACGAAATTTCGTGCGGA GTGGATGCTCGAATTATACTCAATGATCTCATACACGATTGCTTGATTGG AGTAGATTGTAAGTCAATTTTTGACATGAGCGCCTGTTTTTCAGAATTCT GAGTAAAATATATGGCTTTTGAACTACTGATTTGACATTCATGATTTTTA GATGGACTCGTTGAAGAATATAAAAATGATTTTTGCTGTGGTTGTCAAAT ATGTCGAGACATTCATAGAAATAAAAACTGTATAGTTCATAGTATTCAAC TTCAATATTTTGGTGGAAATTCGATACCGCAGCAGTTTTTGAATTTGATG TTGGAAAATTTTGGAGTTGATGAGCATGATCGATTTATGGACAGATTAAA CGAACTATTCGGGAAATTCGCATATCTTCGATTGAGCAATTTTGGAATTG ATGAGTTGCGAATATCGGGAGAAGAGCTATTTGGAGAATTAAAAATAATA GAAATCATAAATCAAATCAGGATATCTCCACATCATTACAAAGCGCTGGA AATGAAAGACTGGTGAGTGTAAATTGATACATTTGTAATGAACACCGTCG AACAGATGTTTGAATCACTGCTTTAGTTTTTCTATTATAACAGTACACGT ATTGTAACAGGTTCTCAAAAGAGTGAATTCTCGTGTTTTTCATACTTAGA TAGTCTCTCCATTCCTTCACTTAAAGTTATCCCAAAAACAAACAGCCCAC TGCGATCAATGTCATGGAAACTTTATTCTCGTTTTTTTCGTTCTTCTGAG AGGAAATCGGAAAATCGAATAATTGGATATTGAAAAACGGAAAATTTCGG TGTTTCAATTTTCCGGAAAACCAAAAATCGGATTGTTTAGAAAATTAACA AAAAAATCAAATTTTGTTTTTGTTGATGAAAAACTCAGACACTCTTGACA TGATATGCTCAGGAACATTATAAAGATTACATTTTACAGGTTGTTTTATC GGACCATATACGAAAAGCAACTAGGGCGGTACGTAGTTGGTGCTCGAGCA AATTATTTCCTCAATTCATTGGTAACATGCCACACATTCACCGTTTTAAT ACTGGGAAAAGAGTTCCTTTCAATCCCAAGAGACTTTTTATACCAGCTTA TTTCAAAGTGGAATGTTAAGGATTTCAGACTGGAGTTCCGGTTCGAAGCT TACAGTGGTCATTTTAATACTATGTTTAGTTCAAATATGGATTTCATTTT GGAAACGTCTAAAGACTTTTCAAATGCCGTATTCAATGTACCATTCAACA CCCAACCCGTTTCGAGGGTTCTTCTGGAAAAAGTGGAGATCGATTTACAA TACTCTGAGGATATGTTACTCGAAATGAACGAACAACTGGAAAACGACTA TTATTCACCAATGGACAATGTGATTGCAAATGTTCAACGAAACTTCCCAG CCAAGAGTATGACTGTTCTACTTCCTAAAACGTATCTCCTCATTACTCCG GACAATATGGACAGAGTCACAGCAAAGCTAATCCGATTGACTGAACAAAA CAGCCAGAGAAATGGAAGTGTCACATTCAACTTATACTATCAGCATGACA AAGGAGAAAAACATATTCCAGAGGATATCCCAGACATTTTCAATTCAAGA GCACGTCTTGTAGGTGAAAAACCAGTAGATTGTTGGTATCTCGATGATAT TTTAAATATCCCCAAAGAAAATTTCAAGGATGGATTTGGAGAAGTGACTG TCTGGTATGGAAAAAGCTTTCAAATAAGAAATTCCACAGAAAATCGAAGA ATGAATTTTAATATATTCTATACCAAAAGCTATCTGAAAAAGTTCTTCAA TGAGAGACATAGTAGATGGGTGAAAACTGGATTTTTATTGCATTTCATGG ATCTTATTAATTGATTTTATGTGTATTTCTGTTACTACTAATAAAGCAAA TACTCTGTCCGTCCAAACCATGTAGCCTGTAGACCTCGGACAAGAGTTGG GCGCTGCCTAAAAAATGAAAAAAGTCGTCAACTACCTCGTCGTCTCGAGG CGTCGCCGAAGTCTTACCTGCTGAGCCATGATGGTCGCGCGGAAAGATGC ACACTAGTAATAACATATCGTACTCATATTCTGATAGTTTTTTTTGGGGA AGTGTCAGACGTATCTGATTGATACGGTATTCTCACATACCTTATTTCAT TCGTTTTCAAGTGTGCTCACTAAGGATTCTAATAGTAAGTTCAGAATTTA CAGAATTACTGTAATTCAAGTTTGTTTCATGTCTTTCAATAACAGACAAT TTTATAAAATTTTGCATTTCAAAGGAACAGTTCAGTCTTAGAAAAATTCA AAATTTGATCCATGGGATTGACTGACTATTGTTTGTATACCAGCCGTTCG CACAATGCGAGTGCTCCGACTGGCGTACTCGAAATTAAGATGAAATTCTA AAATTTCTAAGCCTTGGAACGTTTTTCTCAGTCTTCCAGAAGTTTTTAAA GCAACATGAATATTATATAACTAAGTTTTCAAAAGTTACAGATGTTTTCG GCCGAAATTAGACTATTTTGCAATATTTTGCGACTTTTTGCTGAAAAATG GTACCCATCAGAGATGTGCGGCATGTGCCGAACGGCATGTGCCGATGTGC CGAAAATTATTCCACTCGGCACATCGGCATGTGCCGACCTTTTTTGTCGG CACATTTCGGCACATTTCGGCATATTCGGCACTGTCTGGAATATGTACCA AAATTTATTTTTTAATTTTAAAAATGCAAAGAAACTTCAAAAAATTGATT AAAATTTTCGGAATTTATCATTTCAACTTATAGTTTACTAACTTCAATAT TAAGACAAATGCACTGCATTTTTTATGGGGTTATCCAACTGAATGTTCCC GCTTTTTCCTCCTGTTTCCCCCCTCTAGTCGCGATCCAACTGGGAGGAAA AATGCATTTTCCCCTCGTTTTCGCATTTTTTAGCTGCGAAATTTCAGAAC TGAGCTTAGGGTGGGCATTTATAGACTTTTTTTAATTTTTTTTGACCAGA AAAAGTTAAATTTTTATAGTTATTTTACCAATTGGACCTTAAATTTGAGC TATGATATCTTTGTGGTAAGCCAGAGTCATGGTGAGTGATCAACTACAGA GTTGTAGCAAATTTTCTGTTTAAAATTTTGTTAGTTGATCAATTCTTGGT ATCATAGATTTTCACAGACTAACATAGCTGTGAAACTGGACAATTTCTTA ATGTAAATTGCGTACACGAGATTTCTCTATTTTCCGCGTGGAGTACTAAT ACCAAAAATTGATCAACTAACAAAATTTTAAACAGAAACCTTGCTACAAC TCTGTAGTTGATCACTTACCATGACTGTGGCTCACCACAAAGATATCATA GCTCAAAGTTAAGGTCCAATTCATTTTAAAAAAAACTATAAAAATTTAAC TATTTCTGGTCAAAGAAAGCTGGAACCGCATTAAAAATTATGTTATTTTA GTATTTCAACAAATGTCTAACTGTGAAAATTAAAAGTAAGTTTGAAAAAA TTTCTTTAAAACATTTTTTGATAATTTTTTCATGTCCTGTGCAGATTTCA AATTTTGAAACAATACTTTTAATTCTCATATATCTCCGTTGAAAAATTTT TTATGACAAAGTGATCAATTACAAAGTTGTACTTTGGATTAAGAAAAAAA AACTTTGTAGTTGATCACTTTGTCATATAAATTTTTTCCACGGAGATATA CGCATCCGAAGTGAATGAGTTTTCACTATCAATTCTACTAAACCCTATGT TTTTGTCTGAAATCGTGTTCAGAACATCCAAACTGAAAAAAACAACAAAC ATTGCAAGTAATTTTTTGTTATTTATTTAAATTGATGAACTTTTTGTTTT TTTTAAGAAGCTATATAGTATCTTTGCAAATGTGCCGAATGTGCCGATTT TTTTAGGTTCGGCATGTACCGAGTGCCGAGAAAAAATTAATTCGGCACAT CGGCATGTGCCGATGTGCCGAAATTTCAACAAGTGCCGCACATCTCTGGT ACCCATCGTCTCGTCACGACAAATTTTTGTTAAATTCGAGTATGTGTGCG CCTTTAAAGAGTACTGTAATTTGAAACTTTCGTTCCTATGGAATTTTCTT TGACTTTTCACTTTTTCCTCTGGTTTTTATCCAATATTCATAGAAAAAAA GAGAAAATTTTTCTAAAAATCGAAAGTTTGAAGTTACAGTACTCCTTAAA GGCGCATAACGTTTCGGAATAAACAAAAATTTGTCGTGGCGAGACCTGAG TATTATTACAGGAACGCAAAATTCGGAGAATGCGTTTTACACAACATATT TGACGCGCAAAATATCTCGTAGCGAAAACTACAGTCATTTTTTAAATGAC TACTGTAGCACTGGTGTCGATTTACGGGCTAGATTTTTATTAATTTCTGA AAATTGAGCACCCGTAAATCGACACTACTGTAGTTATTTGAACAGGATTA CTGTAGTTTTTCGCTACGAGATAATTTGCGCGTCAGATATTTTGTGCAAT ACGCATTATAAGGGACAAGTTCTCCAGTGAATTCTTCCAATTACATTGAA ATCCTTCTATTTTGAATACAAATTACTCAAAAGACAAAGTGTCGATTTAG CCTAAACATTGCGCATGCGTAATTTCTGAATCTTGTTCGTTCTTTACATC TGCACACTTGGGTAAGAAGTTGGGCAGCCTATGTTTTAGAGGGAAGTCAA CAATGTTATTTTCGCACTTGTGGCAACAGAGTTGAAACTACGGTACTGTA TATGGGTACACCTTTTAAAATTTTAAACAAAAATTTGTCTTGTTGAGACC GGAGCACATAGATATTCTCAGTGTGTATTTGTCTAAAAACCTGCCAATAT TTGAAAATCTTTCAAAACTTCAATATTTTGCTCCAAAAATTAAATTTTTC AAATAATCTACAAAAAGAATCCAATTTGACTGAAAACCTGCTAATATTTA AAAATCTTTCAAATGTATAATTTTTTTGCTCCAAAAACTGATTTTTTTCA AATAATCACAATTTCAATTTTAATTTCGATAAAGATACACAAAAAAAAAG AATAGCATTTAAGGATTTCCTTGTTAAGCTTCAACAGCGTAAGGGAAGGC CTCGTTGGCAATCATCATGCGTGTAAGTTCGGCGGCGCTGAAAATAAATT TTTGATGTTTAGCTTGCATGGTATGTATTACTGATCCCTCAACTCCGCCA TGGTCCGACCCTGACGAAGTGGTATCTCTCCAGCATGGTGAACTCTGACG TGATTCCAGTGCACAAGCCTTGTTGCAGTATACGACAGCCCACAGATACC GCAGTAATACGGATAGGGAAGGGTATGCAGATGGTAGACGTGGCGAGCCC TGAATGTTGAAACTGACTTTTTGAAATGACTGGAAAAATAATTACAAGTC AACTTGCTGTCCGAAATTCATCATTACAAATGGAGCATTGGAATTGTTGA GCATCAGGAGATTCCGAATTCCGATGGGTATCTTGAGGCTCTTCCATTTC CTGAAAATTGTAATTTTAGACTTTTTAGATAATATTCACAAAATCTGTTT AGGAAAAATTAACTACTAAAGTTACAGTAAGAATTTTGCTCTGAATTTGC TCATAAAGGAAATTTTTTTAAGCTTGCACCCTGATTTGTTTAAATTCTTC AATCTTTGGATTCCTCGCAAAAAATTCAATTCAGTCTCCTGGGCGTCGAA TTGCGATGGAGCGCGCTTGCCGTGCGTTGGCGCAGCCACGGTGGTTCAGT TGTAAGATGGGTGCAAACGCGCTCCACAGAGTTTTCGATCCCCAGGAGAC TGTGTCCAAGTAAACTGAGTGGTAGCTTTTTTGTTCAAAAAATGTGCCCC GCCCATTGGAAAAGCATGACCTTGTAATCGAAAATCCTTCAAATACGATT TCTATTCAAATTTACGAAACTGAAAAAAAATTAATTTTACGAACACTTTG ACGTCCATTCGGTGAGATTCTTTCAGGTGTGAATCGTTTTCTCTTGTTAC GAGCATCATTTGGCTCCGGCACCGCCATCTGACCGGCCTAAAATAAGAAT GTTTAAAAAAATATGCATTTAGGAAGTTTAATATTCAAAACAGAAGAGAC ACATTCCATATGAAAACAACTTACATTCTGAACGTTTCCAACGTCCGCCG ATTCCTTTACACCGTATCGATCGATTAAAAAATCGATCAGCTGACCGTTG AGCAGTACATCCTGGAGCGAGATGGTGATCGGAGCCACCGGTGGTGCAGT CTCATCGTCTGAAGATCCAGATCCGAAGGCATAGCTGTCCGAGTGGATGG TGTTGGAGTGGTCGAATTTCTGAAAATTGACCAATTTTTGATTTTTTAGA CTTGAAAAGGCCTAAAAAGGACAAAACGAGCCCCAAAAATTTGAACAAAA GGGTTGAAATTTCATATTTTGTTAATTTTTCTGTGTCACAATTTTGATTT TCAATCTATCGATATTTTGAATAAATTTCAATTTTTTCGGGAAAATATTG CAAAATTTAGTCATTTTTCCTCAAAATAAACCAAAATTTGATTTTAAAAG TTTGGAGAATGAATTGTTGAACTTGGAAACACCAAAATTAGCTCTAAAAT TTCGAAAAAATGGGTAATTTCAACTTTCCGTATCTTTTCAGTTTGTCGGA ATTTTTAAAAAATTTTATTACAGAAAACCACCAATAATTAAAATCTTGAC TTTTTTTTTAACCCTAAAAGATTTTTTTCGAGAAAATATCTTAAAATTTA GTCATTTTTCTTCTTTTTAGGAGCTATTTTTATGTTTTTTACTTTTTGTT CCGTCAAAAACAATTTTAATTGTAAAGGTTTTTTTACGATTTTTCCAGAA AAACCGGTAAATGACACTATTACGGGAACAAAAAATTTGGAAAATGCGTA CTGCACAACATATCTGACGCACAAAATATCTTGTAGCGAAAACTACAGTA ATCCTTTTCAAATGGCTACTGTAGTGTCGAATTACGGGGCTCGATGTTCA GAAATTAATTTTTTAATCGAGCCCCGTAAATCGACACTACAGTAGCCATT TGAAAAGTATTACTGTAGTTTTCGCTACGAGACCCTATTTTGCGCGTCGA ATATGTTGTACAGTACGCATTTTCAGAATTTTGTGTTCCTGTAATAATAC TAAGATCTCGCCACGACAAAGCGAAAAATTTTTATCGATTTTTCAGCAAT TTTTCTCTTGTTTTCATAAAAATTGGGCAAAAACCGGAGGAAAAAAGTGA CGAATTAATAAAAATTCCATGGCAACGAAAGTTTGAAGCTACAGTACTCT TTAAAGAAGTGCACCTTTTTGGATTAACAAAATTTTGTCGTGACGAGACC CTGGATACCATTTTTCCGGCGGAAAAGTCGCAAAATTAGCGATTTTGGGA ATTTTTCGCGGCGAGACAACTGCACAACTCGACATGCGAGTTTATCCTTG CAGATGGCCAAAAGCCCTCCGTCGATCATTTGACGAAGCAATTCCCTGGT GTTGCGAGCTCGACGAGCTTCTGAACGATGAAATTGCCATTTCGACTGTG GCAGAGCCCCACGAAGAGCGTCGTGGATTTGGTGAGCTTCTCGAACACGG CTTTACGAATCTGATCTTCGGAATTTAGTGGATAGTTGGCCTCCAAGAAC CTTACCCCCGATGGATAGATTGCGAAATCGATGAGCTGCCCGTTGAGCAG CACATCTTCGAGCGAAATGAAAATCGGAGCCACTGGTGGTGGGGTCTCAT CGTCGGATGATCCCGATCCACTGTTGAGGATAAAGCTGTCCGAGTCGGAG GAGGTGGTGTTGCTTCCGTGGCGGTAGGGGAGAAGCTTGACCGGCGGCTT TGGATTCTGGAAATTCGAATTTTAAACTTTTATTATATTTTTATTTAAAT TAGAAATTTTTATGCAATATTTTACCTTGTTCTTGTGAGTTTTTTTCGAC AAAAGCGAGAAATCCGGGTCGAAATCGAACGACGCGCCGAGCATGTTGTA CGAATCCGTGCTTTTACGATTCGGAGTCATTTAGACAGAAAAATGAATGA ATATAGGTTAGTAGACGCTGAAAAATTGGGAATTTTGGATTTTTTAACGG AAAAACGAGTGAAAATGAGAGAAAAACATGTAAATTTCAACGAAAATCGC GAAATTACCGCGCATCGAAATTCAAAATTGAATTTTTCGCGGTGGCCCGG GTTACGGTGATTTTTAAAGGCGCATGGTTGTTTTGAGTGAGGTATTGACG CGAAATTTAAAATTATTGAATATTTTTTTCTTATTTTTACATTTTTGAAG AAAAAAATGATTAAAATTCGATTTTTTAGGGAAAATTAAACATTTTCACA AAAATTGCAGGAAATCACTCGCCAAAATTCAAAAATGAAGAGTTTCGTGG TGCGCCGGGTTACGGTGGATTTTAAAGGCGCATGGCTGTTTTGTATTAGG TCTCACCACGAAACTTGGAGTTTTTGATAGTTTACTTCCTATTAGGGATT TATTTTTTTAATTTTCGCTCGATTTTCACACATTTTCACTCATATTCACT CAATTTTTTGCAGAAAAAATGTCAATGGACATTGTTATGAAGTCAGATGA GCAGCCGTTCATCTCTGCGCCTGTATGCTTTAAGTAAGCTCCAATTTTTG TTATTCTGGCCTAAAATTATTTTTTTGATTTCCAGAACGTTCGCATTTTT CGCCAAAGCATCCGCAGAGGAATGCAAACTTCTAGCTTCGGGCTCCAACG CTCGAGAAAGTTTCCAGCAGGCCACGGGGCTATCGGAGAAGATCACGGAA GACATTTACCGCCAAATTGAGTAGGTTTTTCGATTTTTTTACCCTTAAAA ACTACTATTTTTCTATTTTCCAGCGTCTCCCACATTTCATCGATGGTCTT CAACAGAGAAATGGACGGTGGCATCGAGAGAAATCGGCTCGGCTCGCAAG CGATTCTGCTCGACGAGAACTCCAGGCGCCGCAATCCACAGTTCAAATCG ATCGCGCTCCGCTCTCTCCGCTACGATCACATCGATCATAGAGCGTTGGC AAGGAAATCGCCTCATCTGATGCCTCCGACTTATATCAAAGAGGAAATTA TGGATGATGAGCTCGACGAGGTGAAGGAAGAAGTGGTTTCCGTTGGAGAA GCCGCCTTGCCCACGCCAAAAGTTGAACTGAACATGGACCATCCGGAAAA GGACCTGATCATCAGCATTTCCGTGTATCTCGGCTACACCCGTACCCTTC AATACCACGAGATTCGTCTCGGACGTTTGATGAAGGTCACGGATCGGCTC GAGCTCACCGGAGATCACACGCTTCGCGATCTGAAAAACGCGTTCTCGTG CCCCATCGATTTCTCGTTTTCCGACGATTTTAGCGAGAAAAAGCCGTCGT TCAAGGATATGGCGAAAAATAAGTGGCCGTCGTCGATGTTCTTCATTCAT GACACGTTTTATATCGACTCGAACACTGGCGACAAGTTTGTGGATCCGTC GATGTGAGCAAGGGTGCCGGCTAAAAGTTTTTCAGTGTTTTTTGAGCGAA AAGGAACAATTTTTTTCTGAAAATTATTGATTTTTCGTTAGTCTTCAGAA AAAATGATTTTTTACGCCGCAAAATCGGGAAAAAACAAAAGAAAACTGAA AATTAAGACATTTTCGTTGATAAAAACGAATTTTTTGGTTTTTTTTTTCA GAAATATATTATTTTTTGCTTTATTTCAACAAAAAAAACCCAAATTTTCA GCACAATCCGAAGTTGGGCCAAAAAGTTCGACTACATCGGTCCGATGCAC GTGAAACAGATGTCGGAGACGAGGATCGGGGATCTCATTTGTCGGCTCGG TCAGCCATACGTCTACATTCATCAAGGCGTCTGCGAGCACCTCATCGTCT TCAATGACTTGTGCCTGAGGTACGGAAATTCTGGAAAAATCGAAAATTTT GATTTAAAAAAACTCAAATATTTATGTGTTCTTTTTTTTACTAAAAATTT TTTTCAAATTGTTTATGAAAAAAACACTAAAAAATAAGTTTTTATCAATT ATTTAAACAAAATTTATATTTTCCGATTATCAAAATTGTTTTTTTTTTTC AAATAAAATACCCCGAAAAATATATATTTTTTAATTTTTTTTTTCTATTT TTTGCAGAGATGAATCCCACACAAACGTCGAATTTCCACGCCGCCTCGTC GAACGGAATTTCAGAAGAATTGCATGTGACACGTGCAAGGAGGCGTCGGC GCAGTGAGTAGTAGCATTTAGAAATTCGGAATTTTTTGTGAAACCCCCGA AAAATATAGTTTTTATCGGAGTTCGAATTTTCGAAAAAAAAATCCAAAGA GAATCGATTAAGGCAAAAATCATCAATTGAATCCAATTTTTTCAGCTGGA TGATCGTCGACCACGACAATCTGCTTCCCAACTCGCCAGGCTATCTGTGC TCTTCGTGCTACAAGGAGTTCTGTTTCGACGTGAACGGCAAAAAAGTGTG CCAGTTTAAGGCCGTACCGTATTGCGATCGAAAGGACATTGGCGACGGAC GCCAGTTCTTCACCGAGCTCGATCTTTAGAGAACGAGATTTAAAAGTCTG TATCATTTTTTGTTGTTTTTTTTTAAATGTTTTTCGATTTGATTGTTTAA TTACCGATTTTTGGCCTGTAACTATATTTGTTGAAATTTCAAATTTCTTT TTTTTTAAATAAAATTTTTGTTTGCAAAAAAATTTATCCAATAAATAAAC GGAATATATCGATGATATGGCAAGTAGGGGGAAACGGACGGGAAAATGAT TATTTACAGAAAGGGCGCGCACCAGAGGTTTCTCGGGGGAGCCCCGAGGC GGGTGGCGGAGCTTGGCTCAAAATCTGTCGGAAAAATGGGTTAAATGAGA GAAGAGGTAACCTAGAAAATGAGATGAGAAATTCGGAAGAATTTTGAACA ATTTGAAAAATCGATAATGTTGAATTTTAAAATTAAATTTTATTGATTTT TTGAAAATCGATTATATTGTTGATTATTGATTAAAAATCACTAGAATCAA TAAATCTGATTTGGAAAAATCAAAAAAATCGATTTTTTATAATCATAAAA ATCAATTTTTAAAATCCAAAAAAATCGATATTTAAGAAATTGAAAAAAAA TCGATAAATCAATACATAGGTGAGCTCGTCTCGTCGATTTGTGTTTTTGT GATTGGTCCCGGCTGCTTTTGAGATGGTCTAGGCGTTGTTCCGTATGACA TTCTGGAAATTTTTTTGTGAGGCAATGACACGCCCACAAAATGGACGGTG GCAGAAATTTAATAATTTTAAATAATTTTCTGGATAAAAAAATCGATTTT TCCACTTTTTCGAGTGAATCGAAAATTTAAAAAAAACATTCAAAATTGTT CAGGGTCTCGCCACGAAAAACTCACAAATGCACGTTATGCGGAGCGTCGT CGGATTCCGGTGTGTTGCTACGGATCGTGTCGTCCATGCTCAGCTTCATC GTCGATTGACGTCGCCGTTTTGTGGTGATCTGAGCGAGATTTATTGATTT TTAAAGACGCATGGCCTAGAAAACACAACACTTCGGCCACGGACTTTGGC GGCCGAGTTTTCTAGGCCATGCTGCGGCATTTAAAGGCACATACCATGAT AATGAAGATCGCCAATCCGAAAATGATGACCAATGCGAAAGTGATGATTA CAATCATCAGCGATGATAAGGAATATGATGAAGTTTGCGTGGAAATAGAA TCGATGTACGCTTGTGACGTCATTCCTGGAAATTATTGATTTTTTTGGAA AAAATCAATAATTACTTACCGTCAACAGTAACACTCAACGAATCAATCTT GTAATCCGAAATCATAGAGTTATTGCGTGAAAATGCGGCTTCGAACCTGA AATGTTAAAAAAATCAATTATCGATTTTTTTGAAAGTTTTTGAAAGTTTT TGAAAAATTGATACAATTAACTTGATATTCCCCCGGAAAACCTATAAATC AATGAAAAAGTTAATATCTAAATTTTTTCCAAAAATTGAACTAAAGTCGA TTATCGATTATCGATTTTACTAATCATTTTTCAAAAATCTATCATATAGA CGATTCCTACGGAAACCCCGAACAAATCAAAAATCGATAAAATTGACTAT CGATATTTTTTTCTAAATTTTACTTTTTTCGATAAAAGTCGATAGCGTTG ATAATCGATTTTTTAGAGTTTTCCTCAAAAAATGGTAATAAAATATTTCT AATCGGTAAGAACTCACAAATTAACAGCCATTTGAGCATCACCAAGTGAT TTTTTGGTGAGCACGTCGGCTCCGACAACCACTGATCCTTTGGTCAGTGA CTTGATTTCAACATTCACAAAATTGTCGTCTCCCGAAATGGAATTGATGA ATTCTCCGATCTGGAAAAAAATCAATAATTGTTTAAAATTGATTTTTTTC AGATCATTTTTAAAATAACTAGTCTAAATCTATATTGAAGTCTAACTCAA AATTTTCCACAAAGGCTTACTATTAGGCTTAGGCTTAGGCTTAGGCTTAA GCTCAGGCTTAGGCTTAGGCCACGCGAGATGAAAACAAAAGAGAAAATTT AGTGAAAACAAGAAAAATTTCTTTTAAAAAAAAGAAAAAAAAAAAAAAAA AAGAGCAACAGCCATGCAATTCTTAAATATAACAGGTTCAACTACTATCT TCAAAAATCAGTTTAATATCGATTTTTCCCAAATGTCAATAATCCATTAT CCATTTTTGACTCACCGCTGGCACCAAATCTTTCGCTAATCTCTTCGCAG GGCCACTCTGAATATCGTTGAATTCCTCTACAAATTCCAGTGAAATAATA CGAAAAACTATTGGTGTTCGAATGGATTTAGCCGGAAGGAATACTTTCGA TGAGTTTTGAAGTGCCACCGGCACAGTTGAAATATCTTCAAAAGTCGTGG ATTCCTCTGATGAGGTGGAGGTGGTCTCTTCGGAGGAGGTAGTGACGTCA GTGGAGAGGGTTGATGGCTCGGTTTCGGCCATGGTTGTGTCCATTGTGGT TTCCATAGTTTTTGTAGTTTCCATTGTTGAAGAGGATTTCATTCTGAAAA TTTTGAAGTTTTGAATTTTTTCCTGCAATATATGAACACTTCCGAACCAG CAAAACTCACTAGGTAGTGTTTTAACTATACGGTGCGATCGAGTAAAAGT GTCATGCGATAGCTGGCATCTTAGGCTTTCAGAATCTGTAATTTGTTCCG GCGGAAGACCTCTGTGAGTCTGGAAATTTTCATCTGAAAATTTAGTACTG AAATCTGCATTTCCTATGGTTAACAGTGGATTTTTGTCTCTGGCGCCAAC AGAAGTCTCACCACAATGGTGGAAGGGCGAAAACATCGCTTCGAAGCTGT TAACCATAGGAAATGCACTGATTTCAGTACTAAATTTTCAGATGAAAATT TCCAGACTCACAGAGGTCTTCCGCCGGAACAAATTACAGATTCTGAAAGC CTAAGATGCCAGCTATCGCATGACACGTTTACTTTTACTCGATCGCACCG TATAGTTAAAACACTCCCTAGTCAGATATGTGCTCTACACTTTTAAATTT TGCAATCAAAATACTTGAATATAAAATTAAGAGATTTTTGAATTTACTAG GCCACCTCGAAAATTTCTAGGCCACGGCAGGTTGGTAGGGTGAAGCTGCA GACCCCATAAAGCTGTGAGAACGGTTTTTTTGCAAATTTTTTAAAACAAA CATTTGTGAAGAATCTGAATATTATCAGAACAAAAAATAATTTCGACAAA AAATAATAAATTTTTTTATCAATATTCAAAATTTTTAACTTCCGAAAAAA CTCAAAAAAAAACTCACCCAGTCGTAGTGCTCTCGACCATCTGCTTCGTA GTTTTCGGGATATTCGACAAAATCTTTGGCTCTTCCTCAGACATTTTCAG AATTGGGAATGCGGGGCTCTGATCTGTGCTCAATGAGCTATCAATAACAC TTCCATCCTGCTCAAAAAGTCCTTCCAGTGCACTTTGATCAAATGGTGTT TCTCCGTCATCTCCAGCTTCTGATGGGTCACTTACTGCGACGGTGGATTG GGTTGTGGTCACTGTAAAATTGGAAATTTGGAAGAGAAAAACCTCGGCCA TTGGTGACGTCATACTTTTCGCCACTTCTTCGACCAGCTATAATGCCACG CTTTTAGCAAGTTTTATTTTTGGTAAACCAAAGAGCAACCAATTTTAAAA CTGTGTCTCCAGGTTTACCGCCAACTTAAGGGCGTGTCCGTACAGGGTTT GCCCGTTTTATGGGCGTCGCTTAATAAATCATTTTTCAAGTTTTCAGTTT CGTGGAAAATTAGCATCCGGGAAATTGAGTCATAAGTATGACGTCAGCAG CCGCGCGGCTTCCCATGACGTCACTCCATGCGCTCCCCCGACGTCCCTCT AAGACGTCACCACCTCTCACCTGGTTTAGTGGGTCGTGTCATCTCCTTCT CTTTCAAAACTCGTCTATCAGCGACCTCGTCAACCTCAATCGGAAGGGAG CTGAACGTAATCACCTCCAAGGGAGTGGTTGGCATCATTTCAGTCGTATT TTCAGCGGCGAGAGTTGTTTTCTCAGTGGATTCATCCTGATCCTCCATAC TATCATCTTCGATTGTTGCCTGGGAGAAGTTGAACATACCGCCGTCAAGC GGAGTTATTGGGGAGAAGACGGACGTTTTCTGGATTGGGTTCACTTCTAG GGAGGTGTCGTTCGGCGAGAGTTCGATCATTTCTGTACTTGTCTCGAAGG TATCTGATCTGAAAGTTATGACATTTTTTTGGTGGTGGCCTGGGAGAAAA CTAGGCCTCCTGGCCTAGAAATCTCAAACCTCGGCCTCCAGCTCTCACTA GCTGACCTAGGTTTACTAAACATCGGCAAGACCTCTTTTCGACTACTCCC TTACAAATTTTTAACAGTTTTTCATCACACAATTTTCCGATTCTTACCCC TCATTCATCATTTCTTCTTTCGGAACAGCCATCATCGGCATATCATCATT ATCAGGCATTACGGGTGTCGTTGTGTCTTTTGCCAGCGGTTTGTCGAACA CATCTTCAGAATTTTCGTCTTGCGCGAAGGAAACTGAAAAAGTTAAATTA CATTTTTTCTAGGCCACCAGGTTTTGCATTTTGGCCTAGAAAATGAAATG AGAAGCTAGACCATGTGGGTTTATTGCGAGGAAAAGCTATCCCACGAAAA CTTTTATAAGCGTCTAGAAAAGTAGAAACCTCGGCCACCAAGTTTTGCAC TGTGACCTAAACAATTTTGGTAAAATAGGCCAGCAAAATTTCCATGATGG CCTCAGGAAAACTAGGCCATTAAGGTTTCTTCCGTTACCTAGAAATTTTG TAAACCTAGGTCACCAGGGTTTCTAGGCCACACAAGAAAAGCTAAAAACC AACATTTCAGATCGGTCTGGAAAAGTGCAAAATTAAGCCACCAGGATTTG CATGGTGGTAAAAAATTGGTAAACGTGAACTAGAAGTTTATCGGTCATCA ACTTACGTGTCGTTGAAAATGCAATGAATAGAATAAAACCAAATGGTATG CGCATCGCTGAAAAATTGCAAAAATTAATTTATGTTTTGGAAAATCAGAA ATCGGAGTGTTCATTTTTTATGGGACAAGATAAAAAGAGATGGAGAAAAT TTATATGATATATCAGGTCAAAATGACCTTCGGAAATTGGGAATGAAAAA TCAAAATTAATTCGCGTGGAACTGGTTAAGATGATCGAAGATTGAAAAAT TTGACAGAAATTGCAACAATACTAATGCAAAAAGTTGGTAAAATATTTTT TTCAGTTTTCAGAAAAATCGATAGCAAAAGTCTTTTTTTTTAAATAAAAA TTTCTGAAATATTTTCGCTGCGAGACCTAAGGTGACAAATTGGATTAAAA ATTTTATGTGCCCATTAAGAGTTTTTCTGGAAACTGAAGAGAAAGTCGAA AAATTAATATACCCTACTTAAATTTAAAGGCGCACGGATGAATTTCCAGA AAACTAAAAAAAAACATCACAAAATTTGATACTCCAAGTTTAAAGATGCA TGGGTAATCTTTGAATGAGAATTTTGTTTTAAATTTTTGAACTGCCATTT CAGATATTATGAGAACACAAAATTCTAATAATGCGTATTGCGCAACATAT TTTGCGCTCAAAATATCTCGTAGCGAAAACTACAGTAATTCTTTAAATAA CTACTGTAACGCTTGTGTCGATTTACGCGCATCAAAATGAATTAAGATCA TACATTTACCGACAAAATATTAAAATTAGGCAAAAAATAATACGAATAAT GCATTTCGTAAATCGAGCACGTAAATCGACACAAGCGCTACAGTAGTCAT CAAGAAAAATTACTGTACTTCTCGTTACGAGATATTTTGCGCATAAAATA TGCTGCGCATTACGCATTCTCAGAATTTTGTGCGCCCGTAATAACCATTT GTTAAATGCTTAAAAAATTCAGATTTTATTGAAAAAAATTTTTGAGCAAA ATTTTTCGAAAAATAAATTTCGGCAATAAAATATTATTTTTCCATCGAAA AAGTATCGTATGGTGTGCTTGACATAATCTTGGTAAAAAGTGGCATATTT TGAAAACAAAAGGGGTTACCCCCTTCCTTCAGCCCGCCCGCCCGGGAAGC CTGGGCATGCGCGCAAGTGATTGTTTTGTCTGTTGTTGCTTATGTATATG CTTATTATTTACACATTTGTGTGTGTGTGAGTGACTACACTGCACACCTC TTGAAACGGATTATCCGGCCGTGGTCGAGGAGGGCCGCCGAATTATGCAC ATTCCTATGCTATGTATTGTGAATACTTCATTTCAATAACTTTATATATA TACAGTTAGCACATACGATTTTTGAAAATTGGGGTTGTGGAAGAGTTTTC ACACAAGTGGCCTAAAGTTTTTGAGTTTACTTTAATACTTCTAAATCACG TGGTGTCAGGCGGTCTCAATACAATTTGATCTACAAAAAATGCCGGCATT TTTTCCCAGAAAAATTGTGACGTCCGCACGCTCTCAACCATAAAAAATCA GATGAGATCTGCGTCTCAACTCCCGCATTTTTTGAAGATCAAAGCGAAAT GGGACTTTCTGACTCCACGTGCTAAATGAAATGTACGTTAAAAAATTATC TCTGGAAATTTGGAATTGCTCGGTGGAGCGCGTTTGCCGCTTAGTAGCTG AACCGTGATAGCTGCGCCGTGAAGAGAAGGGAAAAGTAAGGAAGTTATCA AAACCAACGACGCACTAATGAAAAGGAACACAAGAAAAAGTGAAAGTGTT TTTTTTTGGGTTTTTGTGATTTAGTTCGTGTGTGATAAAAGTTCAAATGG TTCGGCAGGACAATAGGAAGGAAACTGGAATTTTATATTTCATCTCTTGT TAAATTTACTTTTGTAGGTGTATGATTAGGTAGTGTTAATAGAAATCGGG ACTCGTGGCCTATCATTTTTTTGTGGCCGAGTAAAAAAATCTTCCACATT CGTCAACCATACGTGTGAATTTAAAGGTAATCTATAGGATATGATATTGG TAAACTTTCACAGAAATCCTAAAGCTAGGTTTTGAACTATGGAGCTTTGA AGTTTCTAGGCCCCTTTGGGAAACATAGGCCACCAACCTGAGAAAGGTAA GGGGAGGGCAGGGTACATAAAATACAACTTTTTCTCTGAAGTTTTTTTTA ATTAAGCGAAAAAGCCGACATAAATGTTTCAGTCATGGCCTAACTTGACA TTGGTGGCCGATTTTTTCGAAAAACTCTTCCACGATTTAGAACATGAACT TGGCAAAACTTCAAACAAATCCTAGAGATAGTTTTTGAATTATGAAGCTT TGAAACTTCTAGACACGTTGAAAAAGTTAGACCTCTTCCACTGTCATAAA CTTATAAATTCACAATTCAAAAATTATAGATTTCTTTCATATGTAGAATT AGCCCAATTTTTAAATCCATTGCACGGCTAGATTTGAAATCATAGCAATT TGAAAATTCTAGGCCACGCAAAAGAAAATTCTAGTTCATGGGAGTTGAAA GAGAGTCTCGGAAGCTAATTTTAAAAGCACAAGATAGAGGAAAACCAAAA ATTTATAAATTCATAAAAATCCAGTTTTTTAGCAGCTATGTGAAAAGGAT TAGAATTTCAACACGGCCACCACCGCCGGAGATACAATCATTTTGGGAAT ATATGTCGTTTTCGCGTATTTCTCACCAAAAAAAGATTCAAATCTTTTAA TACGAAAAAAAGTTGGAAAAGAATTAGAAAAATGCTGAGAAATTTTTTTT ATGAAAGCTTAGGCTTACAATTAGGCTTAGGCTTAGGCTTAGTTATTTTT TCAGTGTTTTCCAAGTGCAGAAAGGAAGAAACCGACGCTTCCTGACTTTC TATCACACACTGAGGGGAATTTCACCCAACCCCCCCCCCCCCCTCACTTC CCGCTACTACTTTTACTGTACACTTTCACCGAAAAGTTATTGTGTCATCA CGTCATTCGCCAAAAACGAATCGAACAAGGAGAAAAAATTGATGAGAAAA CGCAAGTGTTTCTTCCTACACTACATAGTGTTCAACACCCCTTCATGATA TGGCCGCGTGAAAACTCTTCCACGACCATAAAAGAAATTTACGGAACAAT CTAGCAAATTTTCATAAAAATCGGTTGGAAACTATAAAAGTTACAGGGGT TTGAATTTTCTAGGTCATGCGGAAAAAAACTCGGCCACGCAGGTTTTTAG GGTTAGGGAGGCGGTGTCTTCAAAAAAAAAGAAACCTCGCACCTAATGAT CCATGAATCTTCAAACAGAAAATGAGGTATAATCTTAGGTGGCCGAACTT TTGTTTCTGAAGAAAACTCGGCCAAGACCACGAAAAACGTATTTTTTTGT ATCGTTAATTGAAAAACTGAAAACAAGAAGTTTCTAGGCCATGTTGATAA ACCTTCAGTAAAAATTTTTCCTAAGCCATTAAATTACTACTGAACTGAAA ACCTAGGCCACGGCTTCAAAACATAGGCCACCAAAAACTGAAAGGGGGTC GTAGGACCGGAACCTGCTATTATGAAGCAAAGTTTTGTGCAATAAAAGTT TCAGAATTTCCAAGTTTTTAAACTATTTTTTGTCTGGAAATTATAAACCT GAAATTTCGGGTGCGAGACAAGATGGTCAAAGAAAAATAACGAGAATTCG GAGGGCAAAAAAATGAGAAGAATTTCCAGGAAAACAAGTGAAAGTGAGTA TGACTTTGACCTATACGCGTATTGTCTTTTTTGTTTTCTTCTTCTCGAGA AAAGAGAAACTGTCACAGCAGTAGTAGTTCTTCGATCACCTAATTACCTT ATTGCCCCCTTCCAGGAAGTCACAGTTTTTTTTAGGAAATGTGTGAAAAA TACACATTCCGCTAGGAAAAATTGAAATTGCGGTTATTGAGTTCCCTTGC CACGACAACGTGGCCTAGGATACCGCCATGCTCTAGAAATCCCGCTTGTA GCCTAGAATTTCCCATTGTGGCCTGGAGAAGTTTAGCGGGGCCTAAGACT TTTAATTGTGATCTGAGAGTTTTTTCACATGGCCTAAAATGCTATACGTG GTCTAAAATTCCTCATTGTTGAAATTTTTAGCGCGGCTTAGGATTTTCTA TTATGGCACTGGATTCTCGCCGTGACCTAGAATTTCGTAATGTGGCCTGA AAAGTTTAAGCGTGAAAAGTTTAAGTATTTTCAATCATAGCCTGGAGATT TTTTACAAGAATTCCTCATTGTGGCCTTGAATTTTCTATTATGGCCTAGA ATTTCGCATCGTGGCCTAGAAGAAATTTGCAGAGTGGTTTTGAAATTCGG TTTGTGACCTAGGGTGCTATATTGTGGCCTAAATTCTTCCATCATAACGT ATGATTTCACATTTTGACCTGAAAATTCTTTGCGTGGTCTAAGATTTCTC ATTATATTCTCGAATTTAACTTCGACACGTGAGAACAATTTTGATGGCCT AGAAATTGCTCCCGTGACCTAGGAAGTTTCAAATTTTTAAAGTTCAAATA AATTTCACCAGAAATTCATCAAAATTTACAATTACGGAAAAAGAATCATA TTAACCACTGCAACTTTTTTCGAACGAAGGACGAGGCAAAAAGGTTTCTA GGCCATGGCCGAGTCCCCGACAAATTTCAGCGGCCATTTATTTTGCTTTG TTTTTTGCGTGTTTTCTTTCGTTTTTCACCGATTTTTTCCGTTTTTTCTT ATCAAAACTAATAAATAAATATTTTTTGCAGATGCTAAAACAATTTCCAA GTGAAAAAATTGTGAATTCAGTCGGCAAGTAGCGGTAAAAGTGGTCAATG TAATATGATGGATTACGGGAATAAAAAACCCAAACTTTTTCCCAAACATG ATACATATGCTGTTTAGAAACACGGGAAAAATCGGTGAAAAACACAAGAA AACAAAGCAAGTACAAAATGTCGTAAAATGCGGTGTATTGTGTGCAAACA CCGATTTTTCGCATTTTTTCTCGGCCCTCGTTCGAAAAAAGTTGCAGTGT TAACGGCGGTGGAAGAGCTTTACCTTTACAAAAGGTGGCCACAAAAAAAA TAGAAGAAAGGATCCAAAAAGAGCAGGGAAGAGTTTTCTCAATTTGACGG CCACGTGTTCTATAGAAAAAGATAAATACAATAAATACGTTTTTTGAACA ATTAAAAAAACAAAAAATTTCAAGAAAAATTTAGAATATTTTTTCAGTTT TTTTCCTGAAATTCAAATAGAATAAATGGAAGTTCAACAAAAAAAGGTGA CCTAAATACTTATTAATTCACCTTCTTGACCTCTCGATTCTTCAGAAAAA AGAATAGGCTTCTCCTCCTCCCACCTCCCAGACACTTATCTACACTTTAC ATCATTCCTCCCGGCCCCCGGTTTTTTCACATTTTTCAACCTTGAAAATG ACGAAATAAACAAGTGTTTTAGATAAATGTTTCTGTGTATGTTATCTGAA ATCTTGGAAGGGTGTTGCAACAGAGCCCCGCGTGTAGCGTGGCCTAGAAA TCCAAAAAGTCTTCTTTTAGATCTTCAGCTTTCTCAGCAAGTTAGGTCTT AAGTCAAAAGGACTCTCCATGACCAAGTTATAACGATTTGTAGTTTCTAG GCCATGGAGTACTCTCCGAAGGGGAGACATTGACCCCCTGACGCCGGATT TGTAGGAATTTTCACGTGTTTATGCTACTGTAAGCGAGCTATATACGTTC TTCAAAAATATCCGTCAAATTGTGACCACCGTTTCAGCACTTTAAAATTT CTAGGCCACGCTGTCGCCATAATGGAATATTTTTCTCACGAGGAATAGAA ATTAAAAAAAAAACTCTTCAACTGGTCGATATTTGGAAAACCAAACTAAA ATGTTTCAGAATTATTAAAAGCTTAATTAAAACAAACAGCCACAAAAGTT ACCTAAACTGATGAAATAAAGACATAGGCATACAGATTTATAAATCCTAT AAGCATGGGTGTGTCACAGGTAAAGATTATGGAAAGTGAGGGAAAGTAGG AAGATATTACTGGAAAGTTCTGGGGGAGAACGGCTGAAATCAAAATGGAT TCGGTTGAACGCGTCGAATCACGGAGACTCGTTTGTAGGGCTTCCAGGTA GATAAAAAATGTTCTGCCTGAATTGGGCCAAAACACATGAATCTTCAAAA ACAAATTGACACAAGAAAATACATACTACTCCAAATTTTCAAAAATCAAA AAATAGGCGATAGGTTTTTAGATACTAAAGTATATTGAGCAATTAAACAA TTCACCCCCTACAACTGGCGGGCCCGCAGGGCCTGCTAGTCAGGCAAAAA ATATATGGCCCACACTCCCAGCGACAAGAAAAATTAGGGGATATTAGAGA CATTTACTCAAAAGGAGCATTACACAAATTTTAAAAATCTCAAAGCGGGA AATTTTTTTAATGCGTACTGAATAAGAAATCGACGTTTAATGAAACTCAA TTGCTACAACCCCGTAAACCTCCTTCACGTCCAATCAATAGTGACATGAA TCCTTCCGACCAACGTCATAAAGATTGGAGATGACGAAATTTAAGATGTA CCAAGTATGCTGGTACATACAATTTCTACGTCACAACATCTTGACAGTTT TTTCCCTCAAAGAGAGGTGAGCCTGTAGAAGAGATACAAACGCTGCGTCC TATCGTGGGTTCAGTTGTGGGGAAAAATTGTAAAAACTGTATGTACCAAC TATGCTGATGTGCCAACTACCAACCAGCATAGTTGGTGCATCTTCAATTT TGCCATCTCCAATCTTTATGACGTTGGTCGGAAGGACTTTTGTCACTATT GATTGGAGGCTTACGGGGTTGAAACAATCGTTCATTAAAAGTCGTATTCT TATTCAGTACGCATTTCAAAATGTTTCCCACTTTTTTTCGGCTTGATCTA CGTAGATCTTTAAAAAATGCGGGAGAAGATATGCAGTGTTCTCAACTAAT TTCGCATAGTTAAGAACGTGCTGACGTCACTTTTTTTTTGAGCAAAACAT TCCGGCATTTTTTGTAGATCAATCCGTAATTGGACAGCCTGGCACCACGT GTAAGAACACGATGCCTCTATTTTTGCCCGGGAGTGTGGGCCTTGAAAAG TTGTGAGCTGTAGAAAAATGGACAACAAGCATGTTGTCAGTTAGCAGCAT TTTATAAGTCAAGGACAAGTACAACCGAGATAAGTGAAAAGTTTGAAAAA TGGAAAACTTTCAAAAAACAGCGAAGGTTCTTTGATCGATGCAAGGGCAG AAAGTGAATAATGCATGTTTTTGAACTTAAAACAAATTGGCTAGACTTTG ACTGAAACTACCTTTTATAAAAATGAAGAAAATGAACCATTACGAAAATG TTAAATACACCTGAAAATTGGTGTGTTTTTATTGTCGTTCTGTAATTAAA TTTTGAATGATCGCTCTTCTGCAAAGAACAACCACAAAAAATAATTCGAT ATACTCAAGTATCGACACTTATGATTTGAATGCAAACATATAACAAATTA AAATTAAAATACGGTCATTATATTTTAGGAAAATTATGGAAATTTTTTAG GCTTATGATGTTTCAAAAACTTTCAGAACTCTAGTAAAAAACATTTTATA TGTAATAAAACACTCAGCGACTTTAAACTTTGCAAGACAATTTGGGACAT AATTTTGGGACATTGTAAGAACAGTTAATTGGAAAATAAAATAGTTATTC GAATGATCGTTCTTCAAACAACCTTACAAACAACAACACACCTACTCTGC TATAATAAGAAAATTTAAAATACTACTCAAGTTGTCACTTCAAGACCGCA TAAGTTTATACCACTCGAACAAAAAACAGTCTTCGTTCTTTCTTTCTTGA AAAGAGACATAATTGAAAATGAACTAATCAGCCGCTGCCCGGGATGGAAA AAAGAAAAGAAATTCCTATCATCTTTTGACCTTGTTATTTTTGCAAATCA TGTCTGAATAATACACTTTTTGATACATATAAATCAGGCGTGGGCGACAA ACAATTTTTCCGGCAAATCGGCAAATTGCTGGAATTGAAATTTCCGGCAA ATCGGCAAATCAAAAATGTTTGAAAATAGGAGAGTAAAAAGGTGGAAGTC AAGTGATGGTAAGTACCTATTTTGTTTCAATCAAATTAAATTTTACACCA TCTCTCTTTTTTTTCCTTATTTAACAGTCTTTGGTCTGTGTTCTGATGTT GAAAGATAAGGGAACATGGACGAGTTGTTTTTGGGAAAAAACATTCTTTT TGGATTATTTTAGTAAAAGAAAAATTTAAATTTATAAGCATATTCACTAA ATATTTTTGTGGGAATTTGAAAAAAAAAGAAATTAAAGAAGAAACTGATA AAAACTAGAAAATGTATAACTGGGAGAAAAAAGTTTCCAATTTTCAGAAC TTTTGAAAAATTGTAGAAAATAGTTCATGCTTTCAAAGTTGTAGGAAAAA ATAATATGTGGCCAATTTCCGAAAGAAAAAACTCTGCCACGACCAAAACT CAGAACTAGACTGAAATTTCAGTTGTAGCTGACAAAACCATCCAAAAGAT ATTGTAGGTTACAATATCTAGGCCGTGAAAATTAGAAAACTCGAATCAGA TATCCTTGGCCGGAATGCGAAAAAACAAAAATTAGAGTTTTCTAGGCCAC AAAAACTCGTCCACGTGTGCATGAACTGTCAAGTGGTCAACGTAAAAGGT GTGAAACCCTTCAGAGAAAAACACTAGAAATGAGATAAAGTAGGTGAGAC CTCCTGTCTCTGAGAAGCAACGTTCGAAATTCTTTTCCAATTCCATCTAT TATTATTATTATTATTATTATTAGGACGGTATGGCGCCAGGAACTGGTTG TTTATACTGACCACTGCCTCTTCCCGATTAGGATTCTGAATTTCGGATTT CGGGAAATTGAGAATGGCAGATGGATGTAATTTCATTAATCATGTTCCTC AATAAGTTAAGAAACAAAAGAAGGAAGATATAGTGAATCAGTGAGGAACA AGAACATAGCATATATGGAATTGGCGGTGTAAGACTGGTTTACATGGTTA CACGGAGGGAAAAAGATTTGAAAGTATTCGTCATCTTATCTAGGTAGTTG AGACACTTGATTAGTCATAGTTGAAAGAACAAATGGAAGAAGTTCATATG CTGAAAGCATCGCTAATAACATAATATTGGTTTTAAAGGTGGAGTACGGT CTGTGGGTTTTTAACCTAAATGACAGAATACAGTCCCAATATACCGAATA TAACTGTTAAAGATTTATAAAATTTATCTAAATTTTTTATGATTTTTAAA AAAGTTTTTTTTTTTTTAATTTAAAAATTTATTCAAAATTCCAAAAAAAT ATTTTATTCAAAACTAAAAACCCAAATTTTCTGAAACTTTACCATTTTAC TTATTTATGTCTTAACAATAATATACACATATTAACGAAATACCCACCGT TCAAAATTTGACTTAATCTCCAGTTTTAACTGCCAATGAGAATTTGTTCA AAATTCCAATCTCACACCCAATGTTTTTCTTTGTTTTTCATTTTAAAACA GTTCTATCCAGTTTAAAAATTTACCAAATAAAAATGTGTCTATTCCTCTC ACCTCCAATCCCGTGCATGTGTTCATGTTTACCTATTGAAACGTGTGTAT TACTATATAATACAGAACAAATATAAAATGGCCACTCTTGCACCTCCAGC GGAAAGAAAGCTTTTGAGGTGTTACGAACACTGCAACACTTTCCTATTTT ACTAGTTTTGAGCAATTTTCTGGTCCTTTTATTTATTTTTGTTTTGTCTG GAACAGGAAGTTGTTTGTGTTCTGTTTGGAAAATTAATCAGTTCTACCGT GAGATTTTTAAGTTATTTTTTGAATGGAATTTCAATTATTATTTCATTTC ATTTGTTTTTTTTTCTCACCGAAATCCACTTTTTTTAGAAACAATTTTTT TTTCTACATTTTTTTCCGATTTTTGTCATTCAATTTTTCAACTTCTCCAT TTTTTCTACAAAACACCGAAAACTACAAAATACCTAAAAATTGCAAATTA AAAAAATTTTTAAACATTTTTGCCCAAAAAATTGTTTTTTTTTTCAGAAC ATCTAAAACTCACTAAAAAATATGCTCAAAAATTTTTTTGAGAACACTTA ATTTTTCGAAAATCTTATTTTTGCAATATTAAATCCAGAGAAATTAGAAA AAAAAAACGGTTTTCTACAGTACTCCTACCCTCCCTCTCCAGTACTCTTA AAATATTCCTACAGTGTTCTTACAGTACTCTTACACCACTCCTACACTGT TCTTACAGTGATCCGATACTACTTTTATAAGACTCCCACAGACTCCTACT ATACCTATACCTTATCACTACAGTATCCCTGCCGTACCCCCCCCCCCCCC CCAGTACCTATACTTGCCACTACAGTATCCTACAGTATTTCTACAGTGCT CCTACACTACCTCTACAGTACTCCTACAGTACCATTACCAAAAATTTGAA TAGAAAAGTGAAATTATGAACATTTTTTCCTGTATACCAATTTTTAAAGT TTTAGTTTTGTAGTTGTTTTTGACAACGAAATCAATTTCAAAGTATTTTT CTTTAAACAATCGTACTTTTTGCGTACTGTTCTTGCACTTTTTGGGATCT TTTGGACTAAAAGTGCCCCCCGAAAAAAGCGCGGAATTAAAAGAACAAAA ACCGGATAGACTGAGGAGGTGTCGAACGATGGAATGAAAAAAGAAACAGA AATTAGATTTGGTTCAGTGAATTCTGTTTCTTTTATTTGGATTTTGGTTT TTTGGAGTCTTGGAAAAATGTTTTATTTTTGTTCTTTCCAAGAGTCCAAA CGTTTTTTTCCACCAAAACTCCAAAATTTTTAAAATTTGGAAATTTGATT CACTGCCAAAACTTCCAGAGAAATTAAATGTTCAGTTTCCCGTAAATAAC AGGGTTTCGTATCAAAAACTGTGAATTTTCCCGCCACCTATGTTTTTTAA AAATGATTATACTCTAATTTCCCGTCAACATTTTTTTATTTTGCGAAAAA TGATTATTTGAACATCCCAGAAAATTTTAAAAACGTCATGAGTTTTTTGA AAATTCAATTTTTCGTGTTCCTGTAATAAAAACCATAGAAACTGTTGACC TATAACCTGCCAGACGTTCTTCCTGTCTGTTTATACCCCCATCTGCTCTG CACACCAGACACCCCTCCTCCTAACTACACTTTAAACTGTTACCCCCCCC CCCCCCGTTTACCCCTCATTTGTTTTTTTTTCTAGTGCATCCCTTCCGTG TAACCTGACACTTTTTCCAAGAAGCTCGCATTTCTTAGGAGGAGCAGCAA TTTTTCGTTACTTAATTTTCCACACAGTAGGAAAGACAAAAAGAAAACGT CATAGAAATTAAAAATTCTGCGTTTAATTTTTTGTTCAGTTTCTGAAACT CAATTTTGTGGAACCGTTTTTTTCGATCTTTGTAAAATTGAATTTTTTTG ATTTTTGGAAAATTTGGATTTTTGCTGGAAAGTCAATTTTTGTGAGAAAA GGTTTGGCGGGAAATTTAAATTTATTGAGAAAAATTTTAGCGGGAAATTA AATTTTTTGATAGTGAGAAAAATTCAATTGAATACCTTTTTTGTGCGAAT TTTTCATAATATCTGAAACTCAAAAAATCTGAAAATTAACTCGAAAAAAT TTTCAAATTTGATATTTTGGCAATTCAAAAATTGCTTAAAGAAAATAACG GAACCTCGTTTTTTTTCTTTAAAAAAAGGTTTTAGTAACTTTTCCGGTAA CCAAGGTTACTCTTTCCCCATCAATCTCCCAAAAGCATGCCAGAAAAAAA AGAGAGAGAGAGAGAGATGCGTGTATGATTGTGTCATTTGACAGTGCGCA ACAGACACACATAAAACAGCTGACATCTTCTCTTTTTATTTCAACTGATT TTTAATTTCCCTCCTTGTGTTCTCTGAGTCTCTCTCATTTATTCAGTTTC TCGATTTTCTTCCAAATTCATTAATATTTTAATCTATGCGTAAAGTGGAG GAAGATTTCTTCTACGTTTTGATTTGCAATTTCTCGGGTTTTTCAAATTA TGGATTTTGAAAAAAAAAATTTCTGAAATTTATTTTTGATTCATGTCAGA AAATGAGTCTCCTGAATTTTTTTTGGAAAATATAAAACAAATTCTGAATT TTTTTTACTTTTTGATGTGTAAAACAAAAAAATTGATTAGAAAAATCTTT ATCTATTTTTTGAACTTTTCAATTTTAAAATCAAAATTAACTTCTAAGAA ATAAGATTTTTTTCGGAATTTTGAAAAAAAATGTTGTTTTTTTGAGATTT TAGTACATTCAATTTTCGTAAAATTCGAATTCATTTTTTTATTGTGCAAA TGTTTTCTGACTGACTATGAGAAAAATTTCAACATTTTGAAGAACCCCCC CCCCCCCCCCCCCCATTATTTGGACGGAGCCTGAATACGAAATGTGAGTT CTCAGAGAAGGAGGTGAACAATTTGATTGATGTGCATATGGAGATGCTCA TTGTGCATATCAGTTTGGAGCATCTATCTCAGAGTGAGCATGACATTTAC TTTTACCCATTTGCGTAGGCTCCGCCATTTCACGATTTTTTTTTTCCAAT TTTTGAACTAGTATAAAAATTTCTGAAATTTCTGTAATTTCTGCCATCTC CTCATAAATTCCATTGTATTCTTTGCACTATTGTTCCACAAAAGTGCAAA ATTTTCGAATTCGTAATGTGTCTTTCATATATATATCCATGCACTTTTGT CCCTTTTCCTGAATACTAATTTGGTGTGCTCCAAGAGGAAATTTTTTTGT TTTGTTGAAATTACTGCTCCTTTTCGGAATTTTTTAATTTCTGAGAAAAA TTCAATTCCTAAATGTATAATACTAAAGTCAAAATACTAAAGTGTAATGG TTTGTTTTTTGTTACAGTCTTTAGTTTGTAGCTTTTGTTTTGTGTAGTTT TCCAACTTTTTTTTTGCCAAAATGAAGGCTGAGAAACCGAAAAAAAAAAT TCAAAACATAGATTGGGCTGAAGCGGTATTATTGGTTTACTGTAGCATTA CTGGGTTACTCTAGTTTGGCCCATGTTTGGTGTACGTTAGTAGTAACAAC ATTTCGTTCATTTGTTTTTTGATTTGGTAACTTCTGGTGATTAAACTTTT AATGTACCTAAATCTTCTGTTGCATTATTGATTTGTTGTTTTCTTCTTTT TAAGTTAAACATGCTCAAATTAAATTCAAATTGAGTTGAAAATGCAAAAT TATTATCAACTTGAATACCCAAAATTTTGGACGGTATTTCAAAAAAATTG ATTTCCAGCCGCTTCGACCTTCGACACAACAAACGAATGCTAACTTTCCC AGGATTACACAAAATAGGTCAAAATCCCCTTTTCTCAATTTTTTGCACAT ACATCCTCATCATCATCATTGTAATGATCGTGACCATCCGGTCTTCTATT ATTAAATGAGAGAAGGAAAGAGTATACATATGTGTCTTTTATATTAAACT AATTATATTTCGACACATTCTGCGCATATCACTACTGCACTAGAATTACA TTTTAAGAATAAAATGTAACCAAAAGACCAAAAAGTTGTTTGCATTTATT GTTATAAACAGAATAGAATGAATGTTAGGAAACGTTATTAAAACTTGCAA AGTGACACAATTCGGTATATCGATTTCTCTGAAATTACTTAACTTAGTAG GCAGAGTTTTGATACTGATACGGATTTTACTAAATTTAATTTTTGTAAAT CAGTATTGCTTTTATAACCTATTAAGATTTTTTTGTTCCAGCGTGCAATT ATTTTTAATTCTATTTAGGATTTTAATAAATAGAAAAATACGTTTTGAAT TATTTTTTACGTTATAATATTCAATAGTAAAGAAGCACACATCAATTCCC CTATTCAGTTTCCATACTTTGCCTGATAAACATGAATAGTAAAATAGACA CTTTCATTTATACAGACACCCCCCCCCCCTTGCTTCCGGATTAAATCCCA ATAAAGGGTGTGGCAATAAGGCATTGTTGCAGTTTCATTGAATTTATTAA TCATTTGACAGCATGAAATTACAAAACTGGAGAATTTCTAGTTTAAACTT TTATACAATGAAGAAATCTTCCATAGAATCAATATTAAATTATCAATAAA TGAGTATTTACGTTTTTCAGCAACGGTATTATTTTTATACTTACTAGTTA TTAAGTTAGTAGTTAGTTACATTTTTAAATGCGATGCAGTCGAAATTTTT TTATAGACTAGAAATTGTCTTAGTTTCCAGCCACTGACAAGTCGGCCAAA TTTCAAACTTTCAGTAATTTTGCGTCATTTGTTGAGCCGCCATAACTCTT TTTTTGAGACGTTTTCAAGAAGTTGAAATTTGGTATTTTCAGACATTTGT ATCTTATTTAAAATATGAGTATTCACTCCTTTTACCTGCCAGTCGGCTGC CTCCTTATCTCCTATTTTTCTCTAATGAGCACACACCACTATCATCATTA TTATTACCACCTGTTCTTAATAATAAACATTTCCCGCACTTTATTTCCAT TTCGATGCATTTTATAGAAAATGTTCCCCCTTTTCGAGCTTTCCAATTAG ATTCACCCTTTGATTGCTCTTTCTTGGACGGAAGTGTTCCCCAATTCCCC TTCATCTTATTACATTTTTATGCAGATTTTATTGCATTTTAGTGCGCTAG ATTTTTCATGGGATTTTGCTAAATAATGCAATCACGCTCTAAATAAAATT CTCAGTTTATATTTTAATGTTAAAACTGTGTGTAAAATTTACAAACATAG TGAATACATTTTTCGAATAAAAGTATGAACATTTTTCGAGGGATCTATAG AAAATTGCCGGCTGTTCCTAAATGCCCTTTCACTGGTCACCAAGTTCCTG TTCATGCAATTCAAAAGAAATGTTCAGCCCCCCGCTCAATAGTCGCCCGC ACCACAAAATTGAAAAGCGAACATTTTACTAGTCGAACTTTTGAATTGAA CATTTTTGGAGTATTTTAAAGAAATGTTTTCAAGTCCACCAAAACATATG CCAGGCCACAAAAATTTCAATTTTCCGCCAATTTTTTTCTCACAAAAGTT GAATTTTCTCGAATTTCCGATAATTTTCGATTTATTTGAAAGTTATTGAA ATTTATATTTTCTAAAACACTTCCACAATAACAAATTAATAGATATAATA AAATTTGAAATTCCCATGCCACACCTCAAAAAGTGGCTCCCTTAACTCCT GAGTGCTCGCGGAGCCCTACCAAACTTGGAACATTCTTTTCCCAACGGAG TCATGAACATATGAGCATTAAATGAGTAGACGACATGTGTATACATAGGA CCACCACAGCTGTTCCTTCCTTTTTATGAGAAGACATGTCATACACACAA TGTCTCTTCTCCTTTCCGATTGGAAAATTAAAATTATAGGAGGGGGGGGG GGGGGGGGCGATTCTTGACATTTCAATTACCCCCCCCCCCCCCCCACATC CGTTATGTTGCATTTTGGTAGGCTTGGGGCCGAATAAGTCTCCCATGCAG GCGTCAAAACGTCTGCGGACCTACGCCTGCCTCACGCCGCGCCTGCTGTA CAGGAACCCGAAAAGTGTCGAACGCGGCTAAAGAACCACTTTTCGCACTA TGCGGTGTAAACACAAGGTTTTGATTTGTAGTCATAGTGCATATATGATG CGGGAGGCTGACAGGTAGGAGGCAAGCGTTCAACCGCGCATGCCCACCAT GGAAGCCCTAGAGCCTAGTTTTAGATGAGTTTCAGCATTTTTGATCTACA AGATTTTGAAAGTTTTACAAAAAAACCAAGATTTTTTGTAATTTATGAAG TGATTTTTCTACATTTCATCTAGAAACCAGCAGAGTTATTTTTTGGGTAA TTTATCAATAGAGCGCGTTCGCGTCATGAAAACAAAATGGCGGCCGAACT TTGAAAATCGATGGCTGAATTTTTCGGAACAAAAGTCCGTAGCTATAAAG CACAGGCCTACGTTTTTTTTGCTTTTAAATGACATAGTTTTCTAAAAAAA AGTCTGTGGCCGAATTTTTAAATTTTGAATAGGGGCTTATTTCAAAAAAA ATTTGAGGCCAACCTACTCTTCTCAATTATAACTTGCCATGGCAGAACTT TTGAACAACTATTACAACGTTTTCAAAAAACAAGTTAAAGCATTTTTTCG AATAAAGGTTAAATTGGTAGCCTAGTTTTCTCAAAACAAAATACTAAAAA AAATATCGATGACCGAAGTTTATATTTGAAAAAATATGTGACCTAGAACT TTTAACTACTCTTCCAATGTCTTCTAGCTTCTGAGAAAAAGTTCGTGGCC TAAGTGTACCACGATGGTCTAGTTATCTCGGAAATAGCCATAGCCTAGTT TTCTCAAAAAAATCGGTGGTCGAGTTTCCTGTATGTAGGCATGTAGGTAT GTAATTTTTATCTTCCAGGTATCTATTTGTACTTCCCGGTAGCCAGGAGC AATACTTTTGAATTCCTTTGCTCTCCCTATTCAGCTTCTCCCCTCACACT CGTTTTTGGTATTCTATTGTTCTCCTCCTCTTCCCATTCTACCCCCATTT CATTTTCCTCTTGGAGACCCCTGTCTCTCTCTCTTTGTATTGGCTCTTTT ACGTCTTCTAGTAGGCTTTTCCTTAATGAACTTGTGTGTGTGTGCTTGAA TCATCATCGCGTTCTCTCGTTCCATTTCCCTTTTGCAATTTTCTTTTCTT GGAGAAATTTGGAAAGTTTTGCTCAAAATTCCTACGTACACATGCCTCAA AATCTGGTTGTATATGGCCTAACATTCAATTTCTAGTGCACACAATAAAA TTTTCCGGGAAATTCAAATTTTCTGATAATGAGGAAGGACTTTGGCGGAA AATTCAAATTTTAAAAAAGTAGGCGGGAAATTCGAATTTCGAATTTTCTA AACTTTTTGGCCGGAATTTCAAATGTTCTGAAAAATAATTTTGGAGCGAA ATTCATATTTTCTCAGAAAAATCTCAGAAAATTTGAATCTCCCACTAATA TTCTTCTCAAAAAACTGTTACGTGACCTATTTATATCTTATTTATTGGTC CATTTATTACGTGGCCTAAAACATTTTTTCTTTTCCCCCGTTTACAGCGA TCATTTGAGATGGCCTAGAAAACGCACGTTAGGCCATCAGGTTTACGGGG TATAGTACAACCTCTTGCAGGGGACTGAGGTTCAGAAAACTACAAATTTA GCTAATTCCCTACCTACTCTTGCAAATCCAATAACTAACCCAATTTCCCG GGGAAATTTTTATTCTTAGAAAACAACTTGTATATCTCCGCAACTACATA TCCCTCCTTCAAAATAATAATAATGGGAAGCTTCTGCTTCTCTACACCTT CTTTTGACCAAAAACTTGTTGCCAGTGCCCTATTATGTACGGTCCGTTGA GTTTTGTTGTTGTTCACAATAATATGTGTAATTCGCGCATCTGAAGAGGG GAGGTGTAAATGTTGTGTCTAACCGTTATGTTGCTGTCACCTCCAAGTGG TACAGGTGGCCTAGAAATTTGCGAAAACTCTTCCACGATTATATTTCTCA AAAAATTACTTTTCTCAGAAAATTTGATTTTCTCACCAAAATATTTCTCA GATAATTTGAATTCCCGCCAAAATTGTTTAAAAAAATAGAATATCTCGTC AAAATTTTTATCAGAAAATTTGAATTCCCCACTAAAATTTTGCCAAAACA TTTTATTTTCCCACTTAAAAAAGTTTTTTTTTTAATTTGAAAGTGGAAAA GTTTTCTAGGTCACTTATACATTACCGGTGACCGAGGTCGAATTATTCCT AGGCCACAAATCTCCCAAAGGGGTATTCCCACACCTAATTGACACCTCCC CGGGCACCTTTGAGCACTAAGTAAGGACACCCACCCCTCTCAGCTTAATA GCTTTTAAAGGAGCACACCAGCCATATGTTTTCTCTAATTCTCTCACTCT CTCTCTCGGCTTCTAAATTCAATTTCCCCCCGTCACGCCTCTCGTTACGT GAGGAGTGTTCAACATGTTCCCATTCCCTTATCCGATAAGTTTTTGGTAG GCAGGAGCTTGTACTAGTAGAGGACATTTGTCGCTTCTTGGTCTTTCGCC TCCATTTTCCGTAATTTATACGTGACTTAGAAAATTAGAAAAAAACGCAT TCCACGAGTTTGTTGGACAACTTTTTTTACGTGGCCTAGAAAAAAATGAA ACTCGGCCACCGACTTTTCTTTCACTTTTGTGAAGATATGATCTCATTCT ATAATTCTGTCGAACCGATTAGGAGGGTGGCTGAGTTTGCACTTTTGCGT GTTCTATACCATTTACAGAAGCTAGTCCCCCCGTCATTCTTTTTCCTGCA AAATGTTTTTTTTTGCCCCCGGTGTCTCATCATACAGTACAGCAGCCAAT ATTATTTGTTTTTTGTTTCGTCTTTTCGTCTTTTCGGAGAAAAAACGCTC TATTCTATGACAAGGTGACGTCATTGGACTCGTGGCCTAGAAAGTTTGGC AAACTCTTCCACCATTCGATTTTACAGGAGCCTCAAAGCCCCACATGGGG CCTAGAAATCTTGACATTTCTAAAAAACATCCATTTTGAAATTTTTCGAA ATTGGTGCAACCTAGCAACCTCTAGAACTTCACGTGACCTAGAAAAAACA AAACCTCAAAATTTCATGTGGACTAGAAACTTTTAAAAACTCTTCCATCG ATTTTGTTTTGTGGCGGGGACTTTTTCCAGTTTCTTTTTCACATAAAAAC CAAAAAAAAACAAGACGTCAAGCTGTGAAAATGATTAGTCACAAAAAGAA GAAAAACAGTAGTGTCGTTCCTGCCAATTTCAGAGATTCCTTCTTCGCTT CTCACGACACGAGGGGGGGAGGGTCTAATTGGCACCCCCCCCCCCCCCTA CTGAGGTGAGAAGCTTGAGTTGACTCACACGTCGCTCTTGTTTTATTCAT TTTTGGCACAAAGTGAAGTGTGCGAAAATTGTAGTAGTCTGTGTGTGTGT GTGTGTATGAGCATTTCGAATTTTAAAATACTTTTTTAATGTACCGCAGG CCACGTGGTAAGTTTTTTTTCATAAATATAGGATTTGTTTTCTTGTAGAA AAGTTTTTCGAATTTTGAAATGAAAAGGATAACTGGGAACGGAGAAAAAT TAAGTTTTAATTTCTAGGCCACGTACCAATGAGGATGAGAAGTCGGTTTT CTAGATCACAAGGTCATCTAAACTTTTAGGAAATTTAAAAAGTTTGGTGA TTACGAGAATTTCTAGGCCACGTCGCAATACACCGGCGCGTTGGCGTTTT TACACTTTCTAGACTACTAAGATTTTCCTAGGCCACGTCCCAATCAGGGC TGTTGCAAAAAAAAATTTTCGACCAAAAAACAAAAAACAAAAAATTTTTT GGTCTAACTATGGACCAAAAAACAAAAAACAAAAAAACAAAAAACAAAAA AAAATTCAATGTTTGATATTGAACGGGACAAAACGGAATTTTTTCATGAA ATATTCTGGTGATTTTTTATAAAATATTGAAAATTGAACGAACAGAAGGT TTTTTGTTAGCTTTTTTGCTGAATCAGTGCTGTAATTTATTTTTTGGTTG TTTTTGGTTTTTTTTTTGGTCTCAAAAAACCAAAAAAACCAAAAAATCAA TTTTTCCCAAAAATACCAAAAAAAACCAAAAAAAAACAGCCCTGGTCCCA ATGTACAGGTGTTGTGGTGCTTTTTGTGAGCTCTTAGGCCAGCTGGAGTT TTCTAGGCCACTTGTAAATCAATGGTTTTTTTTCGGTGTTCTAGGCCACC TGTCACGCCTAGACCATTGACCTAGAAGTTTAATGTTTTTGAATAATAAG TACACGTACTCTCACATACCCGCAAATGCACATATCTATCTTCATTTCGT GATTCTCTTCATCTCATCTTATTTTCCATTTCGGTTTACCCTTTTTTTCT CTATGAATATATTTTCATGTACTTGCTCTTCTTCCCTGAAAAAGATTCTT TTACACTTTTTTCATTTCCTTAGGCAGTTGTAAAGAACTTGTCATTAGAA CTTTCAGAATGACATCAGAGTAGATGGCCGAACTTTTTCTAGGCCACGGC TTGGGAGCCAAACATGGCTAAACATTCTAACTTCCTGGGTCATCTAGAAG TTTCTAGGTCTTATGGGTGAAAATTGTCAAATGACAGAATTTTCTTAAGT TATAGTTGAATTTCCCGCCAAACCGATTTTTTTTTGAAAAATTTAAATTT CCCGCCAAAAATTTTTTGAAACGTTTAAATTTTATGCCAAACTTTTTCTG AGAGAATTTGGTTTCGCTCCCAATTTTATTCTCTGAAAATTTTAAATTCG CACCAAATTTTTCGAGAGCTTTTTGAAGTTCCCGGCAAAATTTGTTTTCG AAAAATTAGATCCCCGTCAACTATGATAGAGAAGTTACGTCATCTGGCTA CCCTGGCCGAATTTTCAATATATTTCTAGGCCACATATTGACCGCTAAAT CATGTTGTGGAAGAGTAGTGACGTCACTTGGCGACCGCGACCATCGAGCA GCGTGAGGGGCGAAGTATCCCCCTTCCCAACCCTAAAGACGTCGTTCATC GCTCCTTTTTTGTTGTTGTAGGAGTTCCGTTTTTTTGTGTCTCGATTCGT TTCCTCCTGTTTGTTGTCATTTCTGAACTCATCTCTACACTTCTCTCGTC TTCTCTGCGTCTCTCCATCCTGCACACTATTTTTGTTTACCTCGATGATC TTTCTTTTTGCGTGTGTGTCACTGACGAACGAACGGCTGACACAGACTAT TGTTTTAGTTTTGTTGTTTAGAAGTAGTTGTAGTATTCCAATAGTTTTTC ACACTTTGCATTATTTCAGATGGCTCAGGACGGAGACCGCCATCACATTT TTGTCAGTGCTCCGCCGCCGCCGCCACCTTCCTCGTCGATTCCAGCTCCA TCGCAGGTAAATTTAAGGTTGCAAGCGCGCTCTAATGACCTTTTTTGTGC CTCCGGCTCCTCTTTGGGTTATTGCCAACGCGCTCCAATTCGAATTATTC TTACTTTCAGCCAAATAGACTGGAAAAGGAGCCGCTCATCGATGAGGAAA CTGACATGATTGACGAATCCCGAGCCACGTATTGGAAGGGATGTGAATTC TTGAAAGCCTCTGGGTTGTACTCGAGTAAATGTGAGTTGGTCTAGAAAAT TTGTAAAGCTCTTCCACGAAGTAATTAATAAGGGATACTATTGCCGACAC CCAGGAACACGTATACCACGGAATTCAAATTTTAATTTTTTGAAAATATT TTGGCGGGAATTTAAAATTTTAATTTTTTGAAAATATTTTGGCGGGAATT TAAAATTTTAATTTTTTGAAAATATTTTGGCGGGAATTTAAAATTTTAAT TTTTTGAAAATATTTTGGCGGGAATTCAAATTTTAATTTTTTGAAAATAT TTTGGCGGGAATTTAAAATTTTAATTTTTTGAAAATATTTTGACGGGAAT TTAAAATTTTAATTTTCTGAAAATATTTTGGCGGGAATTCAAATTTTAAT TTTTTGAAAATATTTTGGCGGGAATTCAAATTTTAATTTTTTGAAAATAT TTTGGCGGGAATTTAAAATTTTAATTTTTTGAAAATATTTTGGCGGGAAT TTAAAATTTTAATTTTTTGAAAATATTTTGGCGGGAATTTAAAATTTTAA TTTTTTGAAAATATTTTGGCGGGAATTTAAAATTTTAATTTTTTGAAAAT ATTTTGGCGGGAATTTAAAATTTTAATTTTTTGAAAATATTTTGGCGGGA ATTTAAAATTTTAATTTTTTGAAAATATTTTGGCGGGAATTCAAATTTTA ATTTTTTGAAAATATTTTGGCGGGAATTTAAAATTTTAATTTTTTGAAAA TATTTTGGCGGGAATTTAAAATTTTAATTTTTTGAAAATATTTTGGCGGG AATTTAAAATTTTAATTTTTTGAAAATATTTTGGCGGGAATTTAAAATTT TAATTTTTTGAAAATATTTTGGCGGGAATTCAAATTTTAATTTTTTGAAA ATATTTTGGCGGGAATTTAAAATTTTAATTTTCTGAAAATATTTTGGCGG GAATTCAAATTTTAATTTTTTGAAAATATTTTGGCGGGAATTTAAAATTT TAATTTTTTGAAAATATTTTGGCTGGAATTTAAAATTTCTGAGAAAAAGA ACCTTCGTGTCGAGACCCATCGTGGTGAGACCCTTCGTGGTGAGACCCAT CGTGGTGACACCCATCGTGGTGAGACCCTTCGTAGTGAGACCCTTCGTGG TGAGACCTTTCGTGGTGAGACCCATCGTGGTGAGACCCATCGTGGTGAGA CTCATCGTGGTGAGACCCTTCGTGGTGATACCCATCGTGGTGAGACCTTT CGTGGTGAGACCCACCGTGGTGAGACCCATCGTGGTGAGACTCATCGTGG TGAGACCCTTCGTGGTGAGACCCATCGTGGTGAGACCTTTCGTGGTGAGA CCTTTCGTGGTGAGACCCATCGTGGTGAGACCTTTCGTGGTGAGACCTTT CGTGGTGAGACCTTTCGTGGTGAGACCCATCGTGGTGAGACCCTTCGTGG TGAGACCCATCGTGGTGAGACCTTTCGTGGTGAGACCCATCGTGGTGAGA CCCATCGTGGTGAGACCCATCGTGGTGAGACCCATCGTGGTGAGACCCTT CATGGTTAGACCCATCGTGGTGAGACCCTTCGTGCTGAGACCATTCATGG AGAGACCCATCGTGGTGAGACCCTTCGTGGTTAGACCCATCGTGGTGAGA TCTTTCGTGGTGAGACCCATCGTGGTGAGACTCATCGTGGTGAGACCCTT CGTGGGGAGACTCTTCGTGGTGAGACCCTTCGTGGTTAGACCCATCGTGG TTAGACCCATCGTGGTGAGATCTTTCGTGGTGAGCCCCATCGTGGTGAGA CCCATCGTGGTGAGACTTTTCGTGGTGAGACCCATCGTGGTGAGACTTTT CGTGGTGAGACCCATCGTGGTGAGACCTTTCGTGGTGAGACCCTTCGTGG GGAGACTCTTCGTGTTTGATATTATATTGGCGGGAGCTAAGGAGTTGGTG TGGGATAATGTCAAGGTACTCTAGGGGTATTGTGGATTTGCTGTAGGGTT ACTGTAGTTCAGAAAAATTGACTTTGTGCTTTTGAAGAGGTATTGGCTCG AGAGTTAGAGAGGCGGAAGCTTCTGTGATATTTTTTACATTCCAGAATGT TTGAAAAAGTAAAAGTTTCCACCTGTTTTCATGTGACATTGTTAAAAGAT TATATGGTGTTTTATGTGTCGAACAATTTAAATTTCGCCAGTCGTTGGCC GCGCCGTAGGCGCGGTCAGCGGCTGGTTTTTCCAGAAAAGGAATAAGAAA TAAATTATTTGGAAGTTACTAGGACCCTGAATAGAATTCTAGGCCATATC GAAAAAGGGGATGGGTGCACGTGGGAACCTTTTTTTGGATATTTTGGAAA GAAGTAAGAAGTAAGAAGTAAGAAGTTGACTTAAGAAGTTGACTTTTCTA GAGTAAGAAGTTGACTTTTCTAGAGATCATCTCCCCTCTATTATTCTCAG CGTGACCTAGTTATCCGGAAAACTCTTCCACCAAAAAATGAGTGTCTCCA ACTGAAAAATGCGTCATAAAACACACGGAAAAGGTACTTGTGTATTACAT GCCCTCATTTTAATAGTAGTTTTTTAAGCCATGAAAAATAAAAACGTGAA CCACAATTTGTATTTTTAGGCTTAGGAAATAACATTTTCTAAGCCTAAAG AGGAAAATGTGTAATACACAAGTACCACGGAAAATTTTTTGAAACCTTCC GAATTTGAAATAATTTAACTAAAAGTTTCTAGGCCACGATGAAAATAGAA ACAATGATGTCCCGATTTTGCTGAAAATTTCTGTCCATAGTTATTTAGAG TTCTGAAAAAAAAGATTTTCGAGAAATGATTTTCTAGGCCACCAGAAAAG TTTCTAGGCCATTATCCCTTCTTGATCCTTTATCATTATGATTATGATAT TTTTTAAACGATTTTTTAGGCCACCAGAGGGAATTCTAGTCCGTGTCAAA AAAAAAAGAAAGGGGGTATTCTTTCCACATAAAAATCCCGTTGGCCTTTT CAATCAAATTTCTTCAATTTTTCGCATAAAACTTACCTCCCGCTGTGACA AGCCTCCTCCCGTCTCCCAGTATTCTCAATTCATTAATCATCACCCCCAA TGCCCTCATCAACTACAGTATCCCTGCAATCCGCGTCTGCAAATATGTGC CGAATATGTCATACTTCTACGTCAACGCGGTCAAATCCGCTCATCTCACC GTGTCGATGCTCTGGAACACTGCTCTTTGTGCATAAGGCGTGTGTTGTGG TGAGCTCTTTTTTTGTAAAATTCAAAATAATAATTAAAAAATTTAAAAAA AAACCTTTTGTGGAATTTGCAATTTTTATAAAATCGTTAAAAACCAAATT CAATTTATACAAATTTCCACATTTTCCAAAATAAAAAGAAATAGCCATGC CCACAAAATGGGCGGCGCTTTCATAGCCACGTCCATTTTGTGGGCGGAGC CTCGGATCAAAGTTTTTTCAAAAACTTACTATAAGTTGAACACGGATTTC TGGCTTCCTTCATAAATCGAAATGGCAGAGTTTGCCGAACTAGGCCATTT TGGGTCGGAGAGATTTTGTGTAGATTTACGGCGTGTTGCGTGTCGCGTCG CGGCTCGTTTTTAGTTGTAAAACTGCTGTATTTGTCCGTGTGGAGTACAC GATTTTTTCCACGCGCTGTCCGGCAGGCGATTGTCAATGAGGAGCGAAAA TTCAATGCGAAAGGCCAGAAGCCCGTGGTTGAAGTGTGGTTTCAATATTA CAGAAATTTTAAAGAGGAATAAACATGCCTGCCTACAAAATGGGCGGAGC GTTGGAGGCGTGGTCTAAGAAGTCACGCCCTTTTTTTTAAATACTTGTTC TGATGTACAATAGAGCGCATTTACATCAAATTAATAATTTGTTTTTCAAT TTTTCCAGAGATGGCTGGAAATGTCGACTCGAAAAATGGTCCCATCACCA CGTTGCGAACTATGCGGCTACGATTATCGACGTGGAAATATATTTCAAAT GAAATCTTTACATGTTCCACACGTGGATCGATCATCTTGTCTGCTCAATG TGCTCTTTTTGATTACCGTATTAATTATGATATTTTGTGGATATTTTACG ATTCAATTCATTCAGGAGAATGCACTCTTAAAACGAAGGTGGGCGAAGTT TTCTGGTGATGACCTAGGAAATTAGAAAACTAGGCCACCCCGCAAATGTG GTGGCCTAGAATACCGAAATTTGACTAAGCTATGGCCTGCGGCCTAGAAA AATAAAAGTAGACTGTATAAAATTCTCATCAAGCCTTTTGGAGATGAACT GGAAACCCAAATTTTTTGGAAGAAAATATTGACCTCCTTTAAAACGGTGG CCTACTTTTTCTGATGGCCTAGGATTTTAGACAAAGAAGCCACACAGCTA CTATCCACATAGTTTCAGGAAAAAAAATAAGAAAAATAGGCTCCGCCCAC ATATTCTTTTGAATTAGAATATACACGAGCCATTTATTTTGCTAAGTTTT GAATGTTAGCTCCGCCCACATAATGATTTGAATTTCCCGCCCATTTTTCT CTCAAAAATTTGAATTCCCTGCCAAATTTTTTTTTGCGAAAAACTCAATA CTTTCAGGCTCTTCGCGCACAGTTCGACAAACACAGCGTACACGTGGAAA CGGCGTGGCTATTTCAGCGGAAACGGGAATGGAGACGGGGACGGTAGTTC GGATGGATATTTCTCGCGTACACCTGTCTCATCACTTTTTGACATAAAAG TGGTCTTGTGTGCCAGCATGTTCTTGGTCTCGTTCATTTTGGCCCTTTTT ACACAGTATAAGTGAGTTTTTTGACACGTGGCCTGGAAAATGAGAAAACT CGGCCACCGATTTTTTCAGCCGAATTTTTTTAGTTTAGCGGTCACACGGG CTTCTGGCCATTCTCTCTGCATTTTTCGCGCTCCATTGGCATTGGCTTGC CGGACAACGCGTGGGAAAGTCGTGTACTCCACACGGATAAATTTGTTCAG TTTTACATTGAAAACCGAGCCGTGACACGCCGTAAATCTACCCCGGCCGT GGCCGAGTCAAAATGGCATAGTTCGGCAAATTCTTGAATTTCAAAATATG ATGGAAGCCTGAAGCACGTGCGGTCATAAAAATCAATAAATTATCTTTTT TTTCCAGAGCCGAGTCCACGATATTCCGATGTATTTTCCGATTTTTTGTG ATCAATAAGAATTGGATGATCAAAAACTACGATATCAAGTGAGTGGGCGG AGTGTAATTTCGGCGGGAAATTCAAAATTTTTCAAATTTTTCAGAAAAAT TTCGCGCAAAGTTCAAAAACTCAAAACTTTCGGTAAATTTCGGCGCGAAA TTCAAAATGTTAAAAATTTTGGGGAAATTTTGGAGGGAAAATCAATTTTA AAAAACGTTTGTTTGAAATTTTTTTAATTTTCAGAAATGATCCCGAAATG GCTCACCGCCGCGGTCTCCAGAAGTCTTCACCTGTTCCGTTAACCTTATC AGCTTCTGATATGTGTATCCACGTGTCATCCTAGTCAACAATTCAACGAA AAAAACCATTCCAGTTACAATTTCTCATTTCTTTTCACCACTTTCGGGTT TTTTGCAAATTAAAAAAATTTCGATTTTTTTTTTGAAATTTTAATTTTCC AATTTTTATTTTTATTCCACAACTCAGGTTGCTCAACAGTGCCTAAAATA AATTTTATTTCTTTGATTTTTTATAAATTTACAAAAAAAATACAACAAAA AAATAATATTACACATTCGTGAAAAACGGAAAAAAAATTCAGCCTATTTA CATTAAAACACGTGGAATTTGAAATTTTAGCGATATATCGATTACCCTTT CTCGGAAAACTCGTAATAAATGTGAAAAAGGCGAGGAAATTGGAAGAAAT AAATGCGGGGGTTTCTAGAAAAAAAAATTGGGAGAAAGTTTAAAGAAAAA TTCAAAATAATGCTCCGGTGTCATCGTGTTCCACAGTGGTTAGATTCTGG TATTTTGTGCATGGTGTGCTCTGAAATTTAAAAAAAAAGTAAAAAATTGA AAAAAAAATTTCTTAAAAATTAAAAAAAATGAACTTTTTTTTAAAATTTA TATTCAAAAATAAAAATGTTTGGTATACCTAATTATTCATACTTTTATCA ATTTTCGAGAAACTTCAATTTTTCAACTGCTAACGTATACAACTCGCGTT ACTCGAAAAAGACCTGGGGACTAGTTTCCCACTTGGTGGCCTAGAAATCT CCAGTAAAAACATCGACGACCGAGATATGAGTTTCTAGGCCTCCATATGA AAAAAAAACTCGGTCGGGGACTAGGTTTCCACATGATGGCCTTGATAACT TCAAATTTTTTGGTGACCTAGATTTTTCAAAACTTGGATTACTAGGCCAC TAAAAGCTTTTCGGTGGCCTAGAAACCAAAATTGCGTGAATTTTTCATAA TTCTATATCAAAATTGACTAAACCGAAAAGAATGCGATGCTTTTGCAATA TTTCAGCAGTTGGTGTATCCCACGTGGCGACGGGATTTCGGGCGACCGTG CCATTGATTAGAGCCAACGGAAGATATTTTGAGCATTCGGCGGTGCTCTG CAAAAATTTTTTTTTTGCAAAAGTTAAAGACGCATGGTGGGTCTTGATCT ATGAAATTTCGTGATTATTCGAAAATTTTTTGTCCTTATTGACAATTTTT TTATCCACAAAAAAGGCGGATGTCCTAATTGCCAAAAATGTGGGTTTCTA GGCCACGAAAAATAATTTTTTGCTTCAAACATCCTGCTTTTTTTCCAAAA TTTAGCTTTAAAAAGTCGGTGGCCGAACTTTATTAAAAGTTCAATTTCTC GGCCACAGAAACTTTGTTTAAGTTTTCACATTTGGATTTCTAGCCCACCA ATAACGTTTTTATTTCATATTTTTATAAAAATCGAATTAAAAGTAGATGA TGACCTAGTTTTTTTTCAATAATTTGGGTTTCTAGGCCACCAACTTTTTT TAAAAATTTTCTTAATTTTCCATAACCAAAAAAAAAAAACAAAATCGATG GCCTAACTTTTTGGCTTCCTAGGCCACCAATAACTCTTTTATTACTAATT TTCCTCACTCTCTGATGTCGATAAACACTTTCTTGTCTCGAATATCGCTT CCCACACCCATCACACTCAAATGCTCCATTCGTCTCATGAGTGAGCAAGT GTTGATTGAGCCCATGCTTTTGCCGGAAAGTTTTCTCGCAGTCTCGACAT TTATAAGGTCCATTGTTGGGCTGGGCCTCGTGAGCCGACGACGGGGCCGC CCGTTTTTTCGCCCTTTTCCCCGATTTTTCCGGTGAAAAAGTGTCGAAAT ACGCGTTATTGTCATCTAATTTTGGTACATTCGCCAACATTGCTAGATTC TCCTGAGCCACCTGTTGTGACGTGTGAGGAATGTGATGGTGCTGATAGAG GTCTGGTGGTGGCTGAAAATGGGGAATATTCCCGGCGCCGAACATTTTCA GAAGTTCCAGGTCGAATCGTTGTTGAGCATCCGCGTCGACTACTTGATTG AGGGAGACGGTGAAGTCAGTTGAGGAGGTGGATGGCAGTTTTATAGAGAA ATCCTGCAAAAACTCAGGTTTTTGCTAAATTTTTCAATTTATCATTGTAA TTTCCGAAAAATTATAGCTTAATTTTTAGATTTTTCGCTTGATTCTCAAG TTTTTATGCGAAAATTTAGTTTTTTGTCAATTTTTTTTTGTTTTAAATGT AAAACTACGGTATTTAAAGGGAGGAGCACTAATTTATGCCGATGGGTCTC GCAGCGAAAACATTAAATGCCTTAATTTAGCCATGCGCCTGGAAGGTTAC TGTAGTTTTTATTGATTGATTTTTCATTCAATTTGTGGTTTTTGAAGGTT TTCAACTCATTTTGAAAGGCTTTTATAGATTTTTTTTTCTGAAAATCAAA TTTAAATGTTAAAATAATTTTTTTTTTTTTTCACACAAAAATAACAGAAA TTCCGAAAAATTGCAATTTAAACAGCTCTAAAATATGAAAATTAACGCGA TTTTTATCATTTTTTGCTTCAAATCGCTGACTTCTGGCAAAAAAAAGGAA AATTCAGCAAAAATCAATTTTTCAGAAAAATTTGATTGATTTTTGGAATT TTTCTTACCAATCCGTCGTCTTGCCGTAAATCCTGTAGCTTCATCTCCTT AGCCAGCAGATTTCTTACATCTAATTGCACGTGGCAATTGCAGTTCTGAA AAAAAAATGTTTTTGAGATTTTTAGAAAACTTATTTTGTAAATGTTCTAG GTGGGTTTTCAAATTTTTTTTTAAATTTAATTAAATCAAATTCTTCTCAC CGTCAGTTTCTCTTTGACAAAATCGCTCAAATTCTTCTGATTTTCCTGAA CTTTCTCCACTTTCACGGCCAAATCCTGCTGCTCACGCAAAAATTGTTTG ACAAGACACGTTAGCTGGTTCACATTTGATAGATTGTCCGGGATTTTTAT AATCTGAAATTTGAAATTAAGGATTTTAGCGGTTTTTTCGGCAAAACGTA AACTTTTAACGCTGAAAACTCACATTTTTCGAACTCCGCTCCAATAATCG TCTAGTGAATTCTTGAATAAATCCGGTTGCTTTCATAAAATTCTGAAATT CCTCATTTCCAATGAATTCGCCCATTTTCCGATGGAAGAAAAACCAATGG AAATACGGCAATATTTGCGCACAAAATCGATGCTGAAGTGTCGTCGGACG CAGTGTTTCGTGTGCAGTACACGCCTACGACAAATTGCGGACTTTTTTGT TATGGAGAGAGTAGAATAGAGAAGAAAAAAGAAGATAAAATGGATAAAAA TTGCGCGTTTTTCTCGTTTTTTCTCTGAATCTCTCAATTTTTAGGTTTTC GATCCATATACGTCCCGAGTGGAGATGAAGCCATAAATTTTTCTCTAAAA ATTGTTTCTTGCCCCTCCAAATCGCTTATTCGTTTTTAAAATTATGAAAA AAAAATGCTAAAAATGCTTACCAAACCGCAAATTTTTAATTGGAAAATAC CCAATATTTTGCAATTTATAGTTTAAATTCAAGAAGGTGCCAAAATTTCT GCAAAATTGCATATCTTCATATAAATTGTTACATTTTTTGTAAAAACTTG AAAACCCTGCTTTTCACATAATAGTACTGGAATTTTTCAATTTTCAACAA TTTCATAATTTTTGACCAATTTTTTATTGAAATTTTCAATAAAATATTTA AAAGATGTGGCTTTCCAAGCAGATTTTCCAATTTTTCCGAGTTTGAGTAA CTAAGTTTCAACCAAAATGATGTCACAAGTCAGAAAATTTCCCTAAATTT CAAAACACAGGTGAATAACTATAGGATTAGAATCTGCAAAGATTGAGTCT GGAGATAATTTCGGACATTTTTTCGGATAGTTTACGTTTCCTGTAGTTTC AAATAGGCAATTTTACTTTAAAGGTTGCTAATAAAATTAAGAAAAATCCT TATATAGTCTCCACCCACAGATTGGCTTTTTAGATATTTTCAAAATATCT TGTAACGAAAACTACAGTAATCTTTAAAATTAAAATTATTACTGTATTGC TTTTGTCCATTTACGGGCTCGATTTACGAAATTAAATTTAATAATCTTTA ATCTATAGAATATTAAAATTAAGCAAAAAATGAGAAAATAATACGAAGAA ATGAAGGAAAATGGAATATCGGTGTAACTATCCGAAAATAAATTCATTTA GAAAATCGAGCCCGTAAATCGACGTTACGAAGAATTACTGTAGTTTTCGC TACGAGATATTTTGCGCGTCAAATATGTTGAGCAATACGCATTTTAAGAA TTTACTGTTATCGTAATAGTTCAAATTTTTCGAGATAATAGTCTTCCAAA AAACTATTGTTTAAGGTTTTATTTTTTCCGTAATCTAAATTGATTATCAC TAGACACTGTTCATTAATCATTCAGAACTTGTATAATCCATCTCGGTTAA ATTGTTGGTGAGACAAAGTGTAATCTGTTCTAGTTGGGTCACACGATCCC TTTTCCACTCAATCGCTTACCCACTCAACACTATAGACTAGACACTCACA CAGGAAATAGTATTGTTTACCTGTTTTCTTTTGGACACTGTTTATAACTT TTCCCTCTCCGTTTCTCTACGTTTAAATTTGTCAAAAATTAATAATTTTC TTACTTCCACATTCAATACTCATTTAATGACCGGTATTTGAAAATATTTT AATTTTTTAATCTTTAGTTATTACAGGAACAGTAAACTCTGGGAATTCGT ATTGCACAACATATTTGACGCGCAAAATATCACGTTAGCTGGCATAATAT TAGGCATATATTGTTTCTACAATCTTGTAATGTATAACTGACTAACATCT TTGAAATAAGTTTGTAAAACTTGTGAGTTGGAAAACATTGTGCATGGATG TCGTGTTTCGCGCACGCGCTAGAGTAGTCATAAAAAGATTACTGTAGTTT TCGCTACGAGATATTTTGCGCGTCAAATATGTTGTGCAGTATGCATTCTC AGAATTTTGTGTTCACGTAATAAATTAAATTGTTAAAAGATATAATAAAA GTTAAAAGATATAACAGATTTTTTCTCACTTCCCTAATATGTTTAATAAT CAATCATTTTAAATTGTGCCGAAAATTTTCCGTTTTCCAATTGTTCGGAA TTTTTTCGGTTTTGCTCGAAAAAACCAAAAAGCAAATTTTTATAAATTTC CCTGGTGTTCAAAATTTTCCCGCAATTTTTACCTATTTTATTTTCAAAAT ATTTATTTATTTCAGTTCCCCCAAGTCAAACCGTTCGATGTTGTAGAAAT GGAGATAATTCCGCTGCATTACGGAGCACAAGTTGGGATTTATGACGAGG ATCATGAGGTTGGTAGATTTTAATTTGTTTTTTAAATCGTGGCCTAGCAC ATTCTAGGCCACAGGTAGTGACGTCACTCTGAACATTTTCAATATATGTA AATTTTAAATTCAAACTACTTAAAACTCGGAAATCACTTTTTCCGTCAGA TACACAGAAATAAACTAGTTTTACCTTTTAAAAAACTAAAACCATTGAAC TTTTCACAAATGTTCTTTGAAACTTGAGATAATCTGCAAATCCCAAACTA TTAAAAACTGAAAAAGGTAGCCTAGAAAATGAAAATTTTCAATAGTTTTT TCAAGTTCAAAGAAAAAAAATTGAATTTTTAAATTGTTTTTTTTCGCTAC AAGTCAAAATTATATTATATTTATTAGTTTTTTTCAATTTAAGAACATTA CTAAAATTAGTGCATATTTAAAAAAAATGTTTGTTTCGGAGAAAACAACT ATTAGTAATTGCACTGCAATCATCAGATTAGTGAGGAATTTAGTTCTATT TTTTTCTTTTTTTTCTGTTTCAAAGTCGTTTTTTCATGAAAAATAGACCT TCGAGCTACTGGTTTTTTGAGAAATATTATTTCAATTTTCAATTTCATGA TGAACAACATTTTTGGTAACACATTTAATTCTAGTAGAATATTATCCACT TTTTCTCTAATTTTTCAAAATTTATTCCTAAGTTTTTCTGATCAATGAAG AACTACCTTTTTACGACAATATTGCCTTCAATTTTTTCTCTCTGAAAATT CGAAATTTATCTGAATCAATGGTGCCGGTTTTCTTATTTCTGAATAACGA AATAGATTTTTTATTTATTTTTCAACAATTCCCGGAAATTTCTCTATTGT TAAAAACAAATGAAGTGAAAATCGATTTTTTTACTTCGAAAGTTTAACAT GAAATTCGATAAATTTAATCTATGATCTTTCAAGCTCCGCGAGTTTGAGG CGGGATGTTGATAATTAGAGATATGCCGGGGGAGAACACTACTCTCCAAT TATATTTCGGTTGCTCGAGAAATATTTTTAATGATAAATACTGGATACTA GATTCTATAGAAAACTAATTTATTTCAATAAATTTATTATTATTCAGGAG AATTATATTTTCTTGCTCGAAAGAAAATAAATAATCAAAAACCGACGCAT TTTCCTGAATTTATAGTTATTCAGAAGAATATAGATTTTTATTTTCAAAT TCTGAGAATTCAGAAAACATGGCTATTTGCCGGCCTAGAAAATAGAACAA CTAGGCCACCGATCATTTTTGTTTTGCCGTTGTCAGGCTTCTGGCCTAAC TTTCTCTATCTTAAAAGATTCCCAAATTCAAACTACTGGCTTTCCAAAAC CTTCAAATTGTGGAATGAACTTGTGATTCCAAAGATCTGATGTCAAGAAT TCAGTCCATAGTTCATATACTCCAACAACACTTTTGGAATTTTAAATCTT CATGGTTTTCAAAAAGAATCCACCAAATTATTTAGCAACGGGGTTTTCCC TTCTAAACAATTGTGTGACACAAATCATAATCTCCGTCACTTTGTACAAT TTTTCTAGTTTTGGTGATTTCCCCTCATGAGCTCAACGCGGCGGAGTAGA TCTTCCATGCAGGCGTTAAAACGCCTGCCTGCCTGACTTTAAGGCGGCCT CCGCCTGCCTAACGCTTCAGTCCTAGTCTTGTGCTAAACCATACATGAAC TATTTTTCTAATTCTTAATTTGGTTCTCATAAAATTGATAAAAATTAGGA AAATTTGAAATCTGAAATTTCAAGTAAAAATGGGCGGCAAACTTTGTATA AAAAAAAAAAGAAAGCTCGGCCACCAATTTTTCAAAGTTTCTTACCGCTC TCTGTCTTGCCTCGGGCAAGCCCTAAAACTTTAGAAAACATCCCCGAACA AAAAAGTAATAAATCCTTCAAATGTGGGAGATGCCCCGTGTATATGTCAC CTGTCGACTCGTCGAAAACGTTTGTGCCACCCGGCTCTTTACCTCGTCTC CTCTTACTCATCATTTTACTGCCCCCGTTGCTTTCCGGCTAATGAGGTTC TTAGGGCGTAGGACGCCATTGATTTGTGCTCTTTTCAGGCAAAATTTTAG ATTTTATTTCTCTGATTTCACTCAATTATCAGACAATCTAAGTTTTTTGA CATGTTCAATGCTGGAAGCAATTTTCGATTTTTTTATCGACCATGGCCTA AAATTACGGGTCAATTTCCTGAAACGGACGAACATTTTTGAAAGCAAAAC AGTTTGTAGAGTTTCGCTAAAATTTCTGATTTTTATCGAAAAAATCGGGC ACACCAAACAAAAGTTCGTTTGTGTCAGGACCTTGACGGTACGCAATTTT CGGACAAACCACGTGTGGCTGATTCAAAAATGTCAACTAAATTGACATCT TGAAAACATTTTTTTCACCTGAAAACCACTAACAGTGTCAGGTTAATCCG ATTCAAGCGCTATTTTTATGAACTTTCCTGAAAGTTTAATTCCACACGTT GTGAGGGAATTTGACACATTTTTAGAAAACCTGATCTCACGGTTAATTTT TAAACACTTCGAGGGCCCAGAAATCCTAGTTTTTTTTCTGGTTATTCATA GTTTTTCTAGAATTTAATTTCACATCTACATTTCTAAACAAAACTTTTGA AGGTCCTTGTAATTCTTCTCTAGTTTTTTATTGTCAAATTAAGTTTTCTC CAAATTAGGAAGAAGCGATAATTGCGGGTTTTGTGAGGGAAGTTTGTCGT CGGTCCATTTGTTTTGAAATGAGAATCGGAACGATTTCCTGTCTCCCGTA GAAACCAATTAAACGAAAACTTTTTTTTTTCATTTCGTTCATTTTGCATG CTTGCTAGCCTCGTCTATTGGAATTCTTTTGTACTATGATTCTATTCTAG TTGTGTCTGCATTAAAAAAATCGATTTTTTTGTTGAGTATATTTATTTTT CAAACAAGCCGAAAAAATAGATCAAAACTGAAAATTTTATAAGAAAAATT TCAGTTTAAATCTAGTTTTTTTTTCAATTGGCCAACTTATAATTTATATA TACTCTCAAAATCAAAAAAAAATGCACATTCTATATTACCCACAAACATC GAAAATCCGCTATTCCCTCAATTATAAAAAATGTGAGAAAATCCTCGATT CTTGGTTGCTATGAGACAGATTTCAGATTTTTCACCGGATAAACAAGACG TTATCATTACTTTTCAGTAATGCGCGTTTATTTTTCTATTCCATTTTTCG AATTTTGAGATGTTGTATTATTTAGAGAGCACGAAATTCTAAGAATGCGT ATTGCGCAACATATTTGAGGCACAAAATATCTCACAGCGAAAACTACAGT AATCCTTTAAATGGCTACTGTAGCGCTTGTGTCGATTTATGTAAATCATA TATTCGTCGATATAATATTGAGCGAAAATTAAGAAAATAATACGAAAAGC GAAAAATTAATATCGAAAATCGAGATTCCGTAAATCGACACAAGCGCTAC AGTAGTCATGTAAAGAATTACTGTAGTTTTTGCTACGAGATATTTTGCGC GTCTAATATGTTGTGCAATACGCATTCTTAGAGTTTTGTGCCTCCCGTAA TATTATGTACAATGCGTATTTCCTCTGCATGCAAGACTAATTTCCGATTG GTCTGTAGAGGTGCAGTTGGCTGGCTGACTTTTAATACTTATGTTCCTTT AAATTTTCAAGTACGATTAGGAACCCTTTCTCTCAGAATTTCACTAGTGT ACCTTAATGTTTGTCTTTTGCTACCTGAGACGATCATCAAGTCTTTTCTT TTGTTTGTATTAGATTTCGCAGTAAAATTGTGAAAAAAATTGCAAAAAAT TGAGAGCAAGAGCAGAAATGTGCACTTCTCGTTGTACCACGATTTTTCGT TTTCCCACTAAATACCTATACGTATAGGATTATCCAAAGATGATCCCGGG GATCACCAGTTCTTAGTTTCCTTATCAATTTTATATTACTCGTATGCCTT CCTCGTTTTTTTTTCTAAAGCCATGAAAATCATAGGTATCGCCTCAGCGG GTCGTAGAAGGAGCACAATGTACTCGAGCTCGTCACGAAGACCGTTTCGA CGGCTGGTTCCGCTTAAAATGGTTAGAGAACTGGGTCTTGATGCGATCCT AACAAATTTTTTGAATCTCTAAATAGTCCCTATAGATCATGTAATAATAT AGGTTGAACGTTTTACAGAATAAAGTTTTACAATAAACTTTATAGCATGG GTGTGTGGCAAATTTGCCGGACTTGCCGTTTTCCGAGATCGGCAAATTTG CCGAGTTTGCTGCACACATGAAAAATTTTTAATTAAGATTTTGTGCAAAA ACTAATGTAGCCCCTGGTTTACACCTTTTTACGATATTCTGAGTACATTC GAAAAGGATGTTTTAAATAGATTGAATATCAAATCAAAAAAGAAAGTTGC ATGAGTATTATATCTAAAAACTTTTAAAGAACACATTTTCAGGCACAAGG CCGAACGGCAACCGACTACGCGGGTCAGGACTACGATGAATGTTATGATA GGTTAGTTTCTTTTTCTATTATTTCATTCAGAATATTACGAATTAATGCT TAAAAAATTTTCAAATTAATTTTCAAATCAACCGCCTTAGCTCCACCCAG CTCTCTAGATCGCAACCCGCAATAAAGCCCATAAATCAGTGGGCAGCTGC TGCTGCTCCGTAGTGGATCAGTCTGTCGTCTCTCCGATCAGTGCGCTCTC GATGATACTCTCACATTTGACCTTTCTCGCTTTTTGTAAACTATGTGCTG GACACGTTGAAAGTAGTATCAATTGCACTTTTCTGGGTAGTTACCGATAA AATTGCCCAGATGGAAGAGTTTTCCATAACAATTTCTCTTCCATTTTCAT CTATCAGCTCTGTGGCCCCGCTCATTAGTGTTTCTCTAGCCGATGCTGTT CCAGGTTCCCATGGCAATGTGTACATGTGTGCCTAAAGTGAGCCAAAATG CTCTTTGAATTATTCATTCATCCTATGTTTTTTATTCGTCCTCACGTGAC CTGCACCACACTGCGCATTAAATATTAATTGGCACTGAAGAGAGCCGCCG CTCGGGCAAATGTTTAAATTTTAAATTTAATTGATTTATACATATTTGAA AAATGAGACACTATGTTATTTTCGCCGAATTCGTTCTCTGAGCATTGCGT TCATATCTTTGCACCTATATGAACAATTAAAATAATTTGTGTGTCCGGTA ACGAAAAACCCGAAATAAGTCTTGCCTATACAGGAGTTTGTGGAAAGTTT TCAAAATTTTTAATGCAAACAACGAAGGAAATTGGAGACGTAATACGATC ACTAGCAATCTGAATTTCTACTTTCAAAACGTTTTTTTCATAAGAAACTC CATTATCCAAAATCCGGCCACCTTGCTAATCCTGAGTCCATAATAGGCAT TGCTAAGGCAAATCTAGGGCTTTTGGCCGATAAAAGACTTTTTGATAATA ATTTCCAAGCTTAAACCTTATTCATATTACTTTTAGTAATCCTATAAGTT TTGTTTGCAGTGGTTCAGAATTGCCGAACATTCCAAGTTTTTTGATAAAG GTTTTACATATATGTTGAGCTTAAAAAATAAACTCAAAAAAATTAACAAT TAGTTCATACGTTATTAATTTCAACGAGTTTTAGTGTAAATATATATGTG GTCCTCTATATATTTTCCGTATTATTATTATTATTGATTCGCTCCAAAGC TTTAATTTCAGTCTCAAGACTATACTGCTCAACTGTGTTTATAGTAGTAT TTTCAAACGAACAAAAAGTGACAATACAGTATACTTTAAACTAAAAAAAA CTTTGTCGATGAAAGTCTATCGATCAAACTAGCGAAATCCGCCCGTTTAA TCCGTTTTCCCGCCACCATCACTTATTGTGTTTTCATAGAGCTTTATTTG ACGGAATTTCCTTTCTTCTGATTTTTCATATTTAACCAAAACTTACTTGA AAGAATCTTAAAAGGGATTTTTACAACTCTCTGGATCAGATTTTTCGAAT TGTTTCATTCGCAAAAGAAGAGCGACTCACTGCTATAAATGCAACATTCA CCACACTATCTCCACAATTTCATCTATTAATTCATACAATGACACTACAA TAATCCCCACTTGCTCAGAATTTGTCTCTCCCGCGGGGGACAAATTGGAA TCAATCATTCTGTCGGTCGACCATTGAACCACCACCACACAATATGGTTC AGCGGGGGGAGGTCCAGTTTTATTGTTATTACGTATACTGCTAGGGGAAC CCAATTTTCGGACCCCGCGCGGAATATTCAAATTGGAAAGAGTGTGTGTG CAAAAACTTTGTCCATCTTGTGTCCAGCAGACCAGCCAGCAGCTTCTCAA TTTCCGCTTCAACTTTCTCCACTTTCCCATGGGACAAACCTTTTGTCTTT CTTCTGGCTTCTCCTCTTACTTCTTATTCTTCTTCGTTGCCCAAATTGTG CTGGAAGAACTAGAGATGCTGAAAAGAAATAGGAAAAGAGCACGAAGACA ATATTTATGTTTTGTTTTCCATGGTTCGCCTCGAGTATTTGATTAGGCTT CTCCTTGTTGTCTTCACTCGACGTCGTGTTCTCTATTTTATGTCCACTCT TGAATTCCTGGAGTTTTCAGTGCACGCATTTGTTGAGCTGTAAGAAAGCT GCAGGAGTTTCCCAGAATTTGATCGATTTACGGAGCGGAGTGTCGTACTA CTTATTTCCGGATTATAAAATTCTGAGAATGCGTATTGCACACCATATTT GACGCGCAAATTATCTCATAGCGAAAACTACAGTAATTTTTACGTTTCGA GAATCGAGCCCCCCTAAATCTACACAAGAGCTACAGTAGTAATTTAAAGA ATTACATTTCCGAACCTTTCTCATTTTTCAACAATTTTTTAACTTGCCTA GCGTAGCCGAAAATTAGCGGTAATCGCTTCAAGACCCAAAACAAGCCAAT TTCATCAAATTTCAAGTAGAATTTTGTGAAAACAACCGTCACTACCATTC TGATGACCCTTTACTTCGACCGCCCAGTTCGTTAAACATTTTTGAATTTT GTTCACCTGTCTGCCACCACATATCTTTCTTCATCAAAATTCAACGTGCT GCGATCATCATCTTCATCTCTGTCTCTTCATCTCGCCCAAATTCATTTCC GTCACTGCGTCTCGTACTGATTTTTTTTCATTTGTCTCCAATCATTTAGA GGCCAAAAGACCTCCTCTCAATTTTTTTCTGTCTGTCATTGACCCCTCAG TTGCGAACCGATTCAGAGTTTACATAAACAAGCTCGCTTTGTATATAATG TTGAGTGAGCGAGAGAGTGAAAGAGAGAAGACGCAGGAAGCTAAGCGTTT CCTTTGTTTCAAGCTCTGTCAAATTGTCAATTTTCTAGCTAGAAGATTCT TATGAAGTTTTGAACATTCTAGATTTAGTTTGTTACCTACAACAGGTGAA TTTGTCTTTCTTGTCCAGAGATAAAACTTATCGTGGCCTTTTCCGAAATA GTATCAGATTTCCTTTGTACAAGGGCTTTCGTGAGGCGGTAAATCGCCTG CCTGACTTTAAGGTGACCTCCGCCTGCCTCTCGCCTCAATACGTTATGCT AAAACAAACGTGAACTTTTAAAAAAATTTAATTTTCAACAAATTGATAAA AATTTAAAAAATTTGAAATTTACCTGCCTACCATAGAAGCCCTACCTTGT TCCACTATTGATGCGATTCATTCTATTACAAATCAATGTAACGAACTCCG AAGTTTGATAGCCCGAGGCGTTTTCCTTGTTAATTTGATATCGATTATCA GTTTGACCAACCAAACACCATCGATTTGGCTTGATTTTCAAGGAATTTAT AGAATTTCGTAGAGTTTTGGACTATGTTTTGCATTTACGTTGAATGGAGA GAATTATATTTGAATAATTGAATAACTTGTTAATGGTTCAAGGATTACCC GTTCCGAAGTCTAGAAATGCCCTGGCGATGCTCCCGTCGAGAACTGTAAC CGATAATCAATCAATATTGCGGGTATTAATTGGCTAATATTCATAATCCT GAAAAGTTATTTGAATAACGGCAAACTCCCAAGAAACATACCATTTCCGA GGTGTATGAGAATTTTAACAAGACCTTAGGGTACATAAGCCTATCAGTTT GAAAAACAATGTCGGAATTTGTGCTTCCATGGTAGACAGGCGCGGTTTCA GGGTCTGAAGCTTGCCTGAAGGCCAGGCAGACAGGCGTTTTAATTCCTAC ATGGAAGCCCTAGAATACAGCATATACGGTACCTAAGCCAATTATCAAAT TTTACTTTTAAAAATTCATTCCACAGGTGTTCCTGTTCTGCTGCATCATC GTCACACAGACACTTACACGCGCCTTTTCACTTCTCATTTCCCACTTTTT CTTCGTTTTTCTCGCTTTTTCTTCTTCTCGACACGAAGAAGTAGGATAGA TCTAGAGACGTCGAAAGCCATAATTGTTTCCGTCGGCGTCTCCACGCGCA CTCGTACTGTCTACAAGTGCCACACACACACTTGAAGAAAATAGAGAGAG GTGCAGGAGGAAAAGGAGGGGACGACTTCTGAAAGTGTCGATAACTACCT CCTATTTGAGTAAAGAGTGCAAGAAATATATGTGCGTGTGTGTCTAATGA GAGGGTCTTGGAGCGATTTTTAAGCATGTACAGGCATGAATCAGGCGGCA GGTTCCAGCCAGGCTCTGAAACCGCGCCTGCATACCAGGGAAACCCAACG ATGGTTTTTCTTTGCCCGGTTGATCCCTTTCTTGGATAGTTTTAGTCTTC GTCCGTTTTTCATTCATACTCTTTTTGTAACTGTTCAAAAGTCTAGTTTC ATATAATCAGAAATTCGAGAAAAAGGATTTTTCGAGGCTCTGAAAAAAGA TCCCAGAAGATTGTGTCTAATTCTAATTCTCTACAGAAAATGCCCAAATC GAAAATTTTTCGACAGATCCTCGTATTTCGAAATTCTGGAACATTCGGCA AAGCTGAAAATGTCACAACTTGCCAAAATGAACATTTTCGGCAAATCGGC CAATAGCTGTATTTTTCAAACTTTCGGTAAACCGGCAGTTCGCCAAAAAA AATTCGGCCATGGTCTAGACTCTAGAGTTGGGCGGCAGACAATTATTTCG GGCAAACGCAAAAATTAAAAATGGAAATTGGTGTTCGGCAAATCGACAAT TCGCCGGAATTGAGAGTTTCCTGCAAATTCGGCAAACCGGCAATTTGCCG AAGGGCAACTTCTCCGAACTGACACCCCTTCCAAAAATCCGAAATTTTTT TAGCTTCACCCCCTTCCCTCCCTTCTCGTTTTCTAAAAACCGGACACACC TCTTACAATTATTACAAACACCACTACGTACGTATTAAACGTCTCTCGTA ATAAGTGGGGCGCCAAAATATAATGGTTTTTGTTGTGTTTAGTTAGCCTC CTCCTCTCTACTTCTCCACCATCATCAAATCTACCACCACAATAACATTA ATTCGATCATCAACTGACTACTTTTGTCTTTCAATGTGGATTTGTAGTTG TTGGTTATTTGAATTCTTAACTATATATCCATCCCTATGTTGAAAATTTG AAATTTTTGGTAAATTTGAAAGATACCAAGTTTATGTATATTATAATATA TTATAAAAATTTCCGGTAAATTGATATCCTGCAAACGGCAAACCGACAAT TTGCCGGAATTGAAAATTTCCGGCAAACCGCAATTTGCCGATAATAAATT TGCCTTTATTGATTCTAGGTTTCGAAAAATTACGTGTTCCGTTTTTTTTT TGAATATTAAAATAGGAATATCAGAATTTTTTATTTTTTATTCTGCAACT TTTCAAATTATGTTCAAATTTATTATAAAACTATCGTAAGTGTGAATTTG CAATTAATTTTCTTATTGCTAGGTATCAGTTTTACTAGGGCTGTCATGTA TGTACCAAAACGCCTACCGCGCCTTCTGTCTAGTGCGGTGCGGAACCCGA AAAGTGTCGGAATCATCTTTCGCAGTATGTGGTGCTGAAACCAAGCCTTT GAGTTCTCGCCATAGTGCGGCGAGAGGCCGGCATGAGGCGGGCAGGTAGG AGGCAGGCTTCAGGAACTGTGTCGCGTCTGCCTCCCAATCCCAGAATACT TTTTTTTTCAAAAAGTTGCAATGGAAATCAGATTTTCAAACGCAACCTGT CTTCCTCTTGTACTCAACTTTTACTTGATGATAGTCGATAAAGGTGTGAA CGCGGTGAGGTGTAACCGTGTGACAATACATCATTGTATTATTCTTTTTC GCAAAAAAAAAACATTCTTTTGGGTATTATATTCTACCAATGTATCTTTC ATTTTCTCGATTGATTTTTTCTCCGGCGAAAAGAAAACAAATTGAAAAAA AACGTCAAAACATAAACATTTGGAAAATATAAAGGTGGATATAAAAACGG TTTCTTTCTTCTGGAACATTCATTTTTAACCATTTTCCTACATATTTTCA CGCTAAGCCGGAGCAAAACAGAGACAGTCGAGACTGTCAAAACATGTAAA ATATACGTTTTTTGGTATACCTATTTATTAACAGGTGCTCCCTTTTCTCT AAAAGTTTAAATTTGTCGCGAAAAAATGCAAGAAATGTTTTTTTTCTAAA AACTAAAAACTCGATCAAAAATAATAATTGGGTATTTAAATATTCCGGAA TCTCCATTTTCTTCCCGTTCCTGCCCTTCCATTTTTTTCTTCCTGCACTT ACTCGAGTATTCATCCTCTTCTACTGCTGCCATAAAAGGTCTTCCGCTTC ACTGAAGCCTTCTGCACAGCAGCGTATCCTCCCGCTTCATATCTCGTTGC TGAACTCCATATAGCTTGTTATAGCTCAGTTTTAGACGGATTTAGGTTCG AATTTCTGTAGGGTCTCTAGGAGTACTGTAATAAGTGATGTGTCAAAAAT TTGGCCTAAACTGTCATTGCTATAGATTACGGTGATAGAAATTTGAATAT GTATGAAATAGTGAAAAATCAGTAGACTGAGCCTTACTCAAATTCACATC CGTTCGAGATATTTCTGAGTTCTGAATTTCTGTTGATTGCAATTGCCGTA ACTTATAGCAAGGAAAGAACAATTTGAAGCCGAATTTACGGCACAAAATT AGTTTTGGTGCTTCTAGAGCCTATTTTATAAAATATATACTTGACACGTG GCTTTTCAATATCACCATCTCAAGAAATTACCACAATCGTTTCAGGTGCG AACAAGAGTGTGGCGAGGAGGCGTGGCGAATCGCGTGCTGCTCACGAGTC GGGAAGATCGCCATCCTTGTCATGTCAATCATTGTATTATATCTTATCAT ATCAGGTTGGTTTAAATACATATTATTCAAATTTATCTGAGTTTACACAA TGAATTTTCAGCATTAACGCCCTCCGAAAGCACACACAAGACGGACCTCA ACGAGCCGCGGCCTGGTATTAATTTAACAAGGTGAGAATGTTGGGAACAT ATTACTATTGTAGGAAATTGCTCGATAATTCCACACTTATTGAGTTCACA ATTAATTTCTACTATATTAACTGTGTTTTTGGTAAAGAAGTATCACTTTT TCCCCTCCCAACTCCGATAATTCGGCATTCCTAGAGTTTTAACACAATGT TTTACGACATACTTATGAAGAGTTGATGCAAATCGCAAAAAAAAAACAGA AAAATAACTATTTTATGAATAGTATCATTATCGTATGGTGTCGTCAAAAT GTTTTGTTGTTTTAGTTTTTTTTTACTCGAAATTTTCTGAAAACACCGAA TTTCATATTGAATCAAATTTCTTGATAATTTATTAGACATTTCGATTTTA CAGAGCCAATCAAGTACTCACCGGATTATGTGATGCCTATGAGCGAGGAG ACGTTTCCGGAGACTCTTGTAATCGACTTTGCTATGATCGAAACTGGCTT GTCACTGACTTTTACGAAGGGCACAAGACTGTGGTCATAGTGAAAGATGG CGGACAGATTGCTGTCTATAAAAGCACAAAACCGTTTATGGATCAATTCG ACGAGCCGAAAGACCATCTGACGGATGCAGAGTTCTCGGATCGAGTAGTC GATATGGTGAATGATGAGCTGAGACTCGGATGGCCGAAACACTATCGACG GCATTTAATGGAGACTGTGTGGCCGACACTGTTACGGACCAAGGGAGAAG CCATGTCGAAAGCGGATCGACGATCCTTGTGGGCTTTGTTAAAGCAGCCT GAATTCATCCTGTTCCGAGTGTTACCGTTGACACGTGTCACGCCGAAGCT CATTGGGACGTGTGGACATATGTATCAGACTGAGTCACTGGTGGCGTTCA AGATGAAAGGGTATTATACGAATTTGAAGGTGGGGATTTTTTTTTAACTT GATTTTAAAAAAAAAATTTTCTCAATCCAAATTTACAGGCAAAAATCTTG GTGCATGTCATGGGAACCCTGAAGCTCTTATACGAATTTCTCGACGAACC CCTTCAATGGTGTGATGTTCGATTTGATAATCTCGGGTTATCAGCAGATT ATCCGAAAAGGTAGGTCTGCCTGTTTTTTTATTTGATTTTTTTTTCCGAA AAAATCTACATTTTCAATTATTCGAAACGTAATTCGAATAAAAGTTATTA ATGATTTTTTAAACAAAAAAATTGATGATAATCCAACCGGAAACTCAAAT TTTGAAAACCCCTAAAAATCCAAATTTCTCAATTTTTCTGCAGATTCGCT CTAATGGACGGTGACATGGTGTACACGAAATCGAAATTGGATTCTCTCCT AAAAGGACGTCCGTGTGAAAGTGATAATGATTGTAAAATTGGAGACTGTG AGGCGAGATGCACTTCTAATATGGTGTGCTCGTCGAGGAGTAACGGGAAT TTGGAGGTAAGCTTGAAAGTTGAAAAAGTTTGGAAAAATTGTGAAAAATC AATAAAATCGGCAAAAAACGAGCTTTTTTCCAGATGGCCGAATTTTTCAT AGTTTGCAAAAGTTCGTCCACCTGTGAAAAATTGCTAAAAAAGCAACAGC ATTGATGAATATTCATAAAAAACCAATAAATTCGACAAAAACCTTTTTGA TTTTTCCAAAAATCGAAAATCACATTCTGATGTTCAAATTGAATTTTCAA AAAAAATATAGAAATTTCCTAAAAGTTTTAATTCTCAAAAAACGAACGAC TGACAAAAAATTTTTAAAAAAGTGAATTTTCCGAATTTTTTCTAAAGAAA AACTGAAAATTTGAGAATTTTCAGTCAGAAATGTGATTTTTTTTTTGATT GAAAGGAGTTTATTTTGTAGAATTTAACTTCCACTATCAGAAAAAAATTT ACCTATTTACTTTGTAATAGGAAAAAAGTTGTGAAATTGTTAGGAAAATT TTTTTCAACTTTACAATTTCCCGGACAGGCCTGTAGTTCCTTTTTTTCAA AACGTAAAAGAAAAAATTAATTAAAAAGTTCAAACTCCTAGAATTTATAC ATTTATTTTGCATTCTAAAAAACAAAGTTTTTCTTGATTTTTTTGTGTAA AAATTGAAAAAAAATCCAAATTTTGTAGGTCTTCTGCGATAAACTGGTCA ACAAACTGTTCGCAAATCAATGGTCCAAAAATAATAAATATTTGGTCGCA TGCCGGGATACAGGACGAAATATCACAACTCGACTCAACGAATTACGGTT AACATGGTCATGGAATCTGCCGGATGTTTAAAGGAATCTAGCTCAATTCT TTCTTTTTTTTTCTTCTACTCCATGTGTCAAAAAATCCCCGTGTCTTATA ATTTTCTGGTGCTTTTTTCCATATTTTCCTTTTTTTGTGTTCTGGCTCAT TTTTCCATGGCTCACAGAGCCCGAAAGCTTAGGATTTTGAAATTTTATTC GTTTTTTTCTCATAATTCTGTCATCATTTTTTGCTCTGCATCATCATCAT CATCGTCAACATCATCGCGTTTTATTATGGGTTCATGTATTATTACACTT TCCTCGAAAAAAAATTTTGACGAACGTGTAATATGTTTCACCTTGTCTCA TTTGTACCTCGTTCATTGTTACGGGTTTGAAGTTTTAAAACTCTGAATTT ATATGAAGAATTTTAATTTAAAAAAAAACTTTGTTTCCTTTTTTGAATTT TTACAGACAAATTTTTGGCTTGAAAACTGAAAAACCCTGACTAAACTTAC TATTTATGTGTTGGGTATCAACGTGTATTGACCCACGACGTGGCTAAGAA GATCGTACAACGTGAACTCTATGAACTAACTTATTTATTCCTTAGTTTAG TAATGTAATAAACTACTCGTCTTCTCCTCCTCGTCTCGCCTTCGAATACA CAACATTATGAAAAGAGTTTTTCTTAAGATAAAAAATGTTCTAAAAAATC GATGGCCGAGTTTCCTATTTACGCGGCCACAAGACCAGTAAAAAAGTGTT AACACAAGTGCGAAAACTAGAACATTTATTTTCAAATTTCACCCGATTTC TACAAAAAATCAACAAAAAAGTCACAAAATTTAAAATATGAACATAATAA TCAATATCCCGCTGGCGCTGACTCCTCCCCTTTTCGGAAATCACTGTTCG CATAGATTTGGCCGTCGGAAAGTCGTTCGGCGGCGGTGACAACTGTCAAA TTGTTCACTGCCTTCATTACGTGACCACGATCGATCAGGGATTTCACGTA GGCTTTCGGGAAGTTTGGCTCGTACCACGTGTAATTTGGCTAAAAAATAA GGAAATTGGGAAAGGTTTTGATTTTATTGATTGAAAAATATTTCATGTGA AAGTCGAAAATTGATTGAAAATTAAATTCAGAAGTTTTTTTTCTGAAAAT TATTGATTTTTATTTTTAAAAAATCAACTTTTTGACAATTATCGATTTTT CCAACAAAAAAAAAATCAAATTTCGCGTGTAATTCTCTACCTGTAACTGA TTGTGCATCCTTGGAGCATCAACAGCTTGTTTAACATCTGCTTTCAGCCA TAACGCATGCAGTGCAACTCCAGCAACACCCGAAATAATGGTGGATCCAC CGGCTCCGCCGACCGCCATAAGCTCCGCCCCTTTTGTGTTAAAGATCACT AATGGACTTTGACTACTCATGGGGCGTTTTCCAGGGCGAATGAAATTGGC GGGAGACGGTGGGAAACCGAAGAAATTCGGATGACCGGGAGTGGAAAAGT CGTCCATTTCGTTATTCCAGAGAATTCCCGTCGATTCGGAGGATACTAGG GCACCCAGGCTGGAAGAATTTGAGATGGTGGAAGAGTTTTTTTGGCGGTG GCCTAGAAAATGTCTTCATATCCGAAAAAGTCAAAGTGATGGCCTAGAAA TTTAAGTTTGTGGCCTATAAACTTGAACTGATGGCCTAAAAATTGAACGT CGTCCTAAAAATGTTTTTAACTGATGGCCTAGAATTGAAAGGTGATGGCC TCCAAATTTCAGGTGGGCGTATATAAACTTTGGTTGATGGTCTAGAAATT ATACACGTGGCCCAGATTATGAAATCACTTCGGTATAAAATCCAGGTGGT AAACAATTTACTATTAAGACTGCCTAAAATCATCCCCTGGCCTAATTAGT TTAAAATTTTTGGTGACGACCTCGAACTTGTTCATTTTTATCAACTGCAG TTGCTTGTCGACTGAGGACTAACTTCTCACTTGCTGGCCGAGTTTTCGAA GTTCGGCCACCAAAAATTTCCTTTAAAAAAGCCAAACTCACTATAAGTTA ATGGTAGACGTAACCGAAACTGCATTGCCGTCTGCATCGATAATCGATAC ATGAGTTGTTCCATGATCCTGCGGTGGTGCTTCAAACGATCCTCCATAGT AATCATCAGGATGCGTCGTGTCTGTGATCTTCGACCTAACCCAATCCGCC CACTCTTTTGACGTAATATTTTTGGCGATTTCCGTGGCGTTTGCCACGAA TTGCGGGTCGCCAAGCCAGCTTCTAGCCGCATAACTAAATTTGCTAGATT CCAGAAAATGATGGTATAACGTTGCGATTTCGTTGAACGACTTCATGTTA TATTCGAAGCCATCCATCACGTTAAGTATTGCCTGAGCCACCGCTGAGCC CGAGGGAGGCGGCGGGCCGCAGACTCCGCGCCCGTTTTTCAGCTTTGTGT AGATCACATTTTTTGAGTCGTGGACTATTGATTTGTAATTTTTAAAGTCC TGAAGCCGGATGATCCCACCGTTGGCTTCGAACTCTTTGGCGAGTTGCTC GGCGAGCCGACCTGTATAAAAGTCGGCGATGGGATCTGTGGAGTTTGCGA GTAGCCGGAATGTTTCTAGAAGGTTTTGGCGGGTTTTTATCTGCTCTCCT GGTTGGAAGACACGCTGAGTTTCGGGGTTGATGAAGTTTTTCATGGTGGG CTCCGCGCGGATTTGGTGCTCGTTTTGGTTGAGAGCTTTTGCAAGGGCAT GGGACGTTGGGTAGCCTGGAATTTTTTAGGATGGCCTAGAAACATGAACC GATAACATAGTTACTTATTTTGTGACCTCGAAATTTTCATGATGGCTTAG AAATTTTTATGATGGCCTAGAATTTTTATGGTGACCTAGAAATTTTTTGA TGGTCTAGAAATTTTTAGTAATGTAATAAACTACTCGTCTTCTCCTCCTG AAAAAATTTGGGCCCGTCTCCCTTCGTGGTGAGACCCATCGTGGCGAGAC CCATCGTGGCGAGACCCATCGTGACGAGACCCATCGTGACGAGGCCTATC GTGGTGAGACCCATCGTGGCGAGACCCTCCGTTGAGAGACCCATCGTGAT GAGACCCATCGTGGTGAGACACGCCGTGGTGAGACTTATTGTGATACCCA TCTTAACGTACACAGTAATTGGAGAAACTTTTAAACTGATTTTTACAAAA AGTTCAACATTTAACTTACCAAGAGCTCAATATTCCGTTGCCTCGCTTTT TGTTGCCCTCAGGGATTATTGTTCTGTTGCCTCCATTTCCGTTACCCCTG TTGTGTTGCCTTCGAGCAGCGTTGAATCCGTTGCCCCCCCCCTTTTTCGT TGTCCCCGGGGAATATTAAATCCGTTGCCCCCGTTATCCGTTACCCCTAG GGATTGTTGGCCGGTCTAAAAACGGCCACCAGAAAAGTTTTTGAGCATCA AAAATGTTCTACGCCGTTAGGAGTTTTTTAGGCCAACAGAAATATTCTAG GCTCGCAGAAAAAGTGCCCACCTTCAGCCAACAAATCAATAGTTGGTTTC AACAACTGTCTCCACTCGACTTTTCCACTTCCGAATCTCTCGAATTCAGT CCGGAGGCCGTGAAGCTCTCCGGGCACCGCAATCGCCTTCCATCCGATTC TCGACTGATTCCATTTGTCACGGTACATTTCCTCTGTTGCGGCGAGCGGA GCAATCTCCCGAGCATCGATTACCGTACACTCTTTTGTCGTTCTGGAAGA ATTTTAGAGGTTTCTAAGTCATTGAAAATATTTTTAGGCCACGGCAGAAG TTTAAAGGCCACACGCGCTTCTGGCTTTCCTCATATTTTGAAATGGAAGA GTTTGCCGAGTTAGCCCGTTTGGACTAGGCCACGACCGGGGTAAATTTAC GGAGCGTCGTGTAGACGATTGTCAATGGAGCGCGAGAAAAACGCTTTGAC GAAGGCCAGAAACCAGTGAGGCCACAATGTGATGTTTGCAAAAATGTTTT TAATGGCCTAGGAAAATCATTCTTTCTTCCAAAATTTTTCTTCTTTGTTT TCCTTTTCGATTATTGATTTTTAGTTGAAAAATCAATATTAATAATTATC TTTTTTTTTAATTATTGATGTTCCGCTCCAATTCGTGGCGAGACCAACAA CTCACGCATTATAAATAGTCATAAAATGTCCGCCGCCAATTCCGGCCGAA TGTGTATCCATTACACCGATACAGAAAAGTGCGGCGATTGCCGAATCCAC CGCATTTCCGCCTTTCAGCAAAATATTCCGACCGATTTCTGAGCAAATTT CGTTGTCGGCGGCGACGGCGGCTTTCGAATATTTTCCGAGTGGAGAAAGT GATGGTCCAGGCCAACGGGGTAGGCGGGCATTGTTCTGGAAACCTTGCCG AGTTTTATTTTTATCGGCCACGTAGCAAATCGGCCAGCCATGAACCGACT GCGGACTAGTTTTCACCCTCGTGGCCTAGCTTTCTAACAAACCTGCATTA GTAAATGAAAATACAATGAAGCGAATGCGACCGTTGAGATTAACAACGTG AATACGAGAACCGTTAAGCCGACCGCCGCGACTAAAGTACGGATTTTCAT GGGTTGCTCGGCCTCGATAAGCGGCTCAACTTCATCAAATGGTCCATATT CTGGCGGTAAATTATCATCGTCCGGAAACGTGTTATAGTATTGAACAGGA GGTGGGTTACTGCTGAAAAGTCGAGTTTTGCGCGTCAAATTTGATGTATT GAGTGGCATGATCACTATTATTACAAGACCGCGAAATTTTGAGAATGCGT ATTGCACAACATTTTTGACGCGCAGAATATCTCGTAGCGAAAACTACAGT AACTCTTTAAATCACTACGGTAAAGCTTGTGTCGATTTACGGGGTTTCGG TTTTTTCATTTTTTTTGTGTTTTTTAAAAAACAATTTATCGACTAATGAA TGATTTCCGTAAATCGACACAAACACTACAGTAGTCATTTAAAGAATTAT TGTAGTTTTTGCTACGAGATATTTTGCGCGTCGAATATGTTGCGCAATAC GCATTCTCAGAATTTTGTGTTGCCGTAATAATTCTGATTTAAAAATGGAA TTTTCAAAAATCAGAGGTTTCCCAAAAATTTGAATATTCCACAAAAAAGA TGAATCTGAAGAGTATTTTCAATTTTTTGAGAAAATAATCGATTTTCTGG ATTAAAAAATTTGAATTTATAGATTTCTAGATTCTAAAATTTGAATTTGT GCAATTTCAAACAAAAATGTATCGATTTTTATCGACTTTTCATAAAATTT AATTTAATTTTCGAAATTCCGAAAATATTGCCCGTTTTTCATATACCAAA AAAGTTGTATCAATTTTTTCAAAAAATTAAATTTTCATCGATAGTTGTTT TCAAAGCATCATGATTTTTTTGAAAGAATTTGCAAATGTGAGAACTACAG TACTCCCTTAAAGGCGCACGCTTGTTTTTATTTTTAAAAAATTGGTCGTT TCGAGACCTGGTACCGTATTTTCGCATTTGGGTAATATTTCCAGCATTAT AAATTTAAAAACAATGCACTTTTTAAATCTTGAATCCATATATATATTTT TTTCAGAAACTCATGCCGCCTCGTTTGGGTCTCGATTCGAATTTTTTTCA CAAACGTATAATATTTTCTCGAAAAACCCGCGAATTTTTAACATTATCGA TTTTTCTCTCACCTCGTCGATTGCCCTTCAGGAGTCATTATTCAGAATTG AGTATGAATTAAAAAATCATAGAAAAAGTCAAAGCGCTGTCAATTGGAAA TTTAGGACGAGAATGTCAAAATTGCAACTTTTCACGATAACGGAATTCTA TCGCAAAACTAGATAAGAGCTACAGTTTGCTGCGTGTAAGCGCGCTCCAA TGACAAACGAGAAGAGAAGAGAAGAGGGGGTAACCGCCAATAGCTCTCTT TATCGAGGATAGTCTTCAAGTGACAGAAGAGATATTCTGTGGTGGGAGAG AGTTGGGTGGAAGGGGGAACAATGAGGACTACGGAAGAATGACTTTTAGA TTTGGAGTATAGGAGAAAGTGGAGGTTTTGGCTGAAATTATTTTCAAAAA CTTTAACTGTAACAACTAACGAGTAGATTTGAAAATGAGGATAATATTCA ACACAACAGAAAAAAAGTCGATAGGTAACTAATAAAAATTAGAGAAAATG TGGCATCGGGGAGAAGTGGTGGAACAAAAGAAGAAACTGATGATGATGAT AGGAGGATAGCCGCGAAACAAGCGATTAACAGTGAACAAGATTCATTTCG GTGAAGATGGAGAAGATAACAGCAAAAAAAAAAACACAACAAAAGTCCTT ATTATTGCCCATTGAGAGTTTGTTGAAGGACACTGGTAAGGTGCTCGTCG ATTCCATCTTGCTGCGCGAATTGTGGGAACGATGCGTAGATTTGCTTCAG GATTGTGACAATTCTTTGCTTGGTTTGGTTGCCGCTATCGTCGTCGTTGA AAGCATCGTTGGCGATTGAGAGCAAGCCTGAAAAATACAAATAAAAATAA AATAAGTTACGGATTTTTTTAGATTAGAACTTACAAACAAGGAAGATTCT CGGAAGATTCTGATTTTCTGGTCCAAAAAGTGCGGCGTCTTGTTTATCAA ACAATTCGGCGAGACACGTGTAAATGTAGGGGCTTTCCTCGGTGTCTGAA TATGTTGGCAACCAGCTCAGGAACATCTCGACGACCTGGAAATAATATGG AACTTTTTTCTTGAAAAACTGAATTCTAAAACCAACCTTTCCGTAGGCTT CAGCAGGAAGTGGCACATTGCCGATGATTTTGGCAAATGCAGAAATCGCG TTTTCCGTGGCAACAGTGCTCTCCTCGGTGGCTCGGGCGTCCTCTCGTTG AATCATGGCGGCCAGTGGCTCCAAACAGCTCAAAATCTCGTTTCGGTAGT CGCTGATCTGGTGGTAGTTGATGGCCATAACTCCGAAACCGTAGCTCGCT GCTTGTCTCACTTCAGGATACTCATCTCCCAACAACTTGTACATTATTGG AATAAGCTTCGGGAAGCGAGTTGGCATATGTCCGACACCGAACTCGATGG CGTCATCGAGAAGGCACATTCCCCATTGTCTCTCGAAGTATTGTTTGGAT CCCTCGATGAGTTGAATGGCACAGTTGAACACGTTGATCATTCCCTCGAA GATAGTTCCCTTGAACTCCTTCATAAGAGAGTGAGTCAAATCAGAGATGG CTCCAAGGCATGAGGCCTCCAATTCCATGAAATAATCGAGCTCCTCCTTA GCTTCAGCATCATCGTCATCTTCATCTTCAACTGGACGATCGCTCATTCT CTTTCCGTAGTTTTCAAGTTGCTTGAGAAGCACCGAAATGATGAGTTGAA CCTCTTCCTCGGCGATTCCCTCGGTTTTCATAACCTCAATGCACGATCCG ATGGTCGTCATGAACGAGGCGAGAATCTCGACATCGTCCTCCTCCTCCAT AGAGGTCGTCAATGCCTTCAAGAACTCGCACCACAAACGACGCTTGTCAG CCAATCCTTGCTTCTCAACACAGGTCAACAAGCATGGCATGATTTCAGCG GAAGCCGTACGAACTCCGTCGTGAAGTCCGAAATCGAGATTCTTGATGGC GAGCTCGTAGACGTCGACGACGTATGGCATGAAAGCCTCCTTCATCTCCT TGGCGAACGCGACAAGCATATCGCAAGCAGTTGCCTTCTCCTCAAGACCG CTGGTGCGGATTCCGACAGTCTTTTCTCCTCCGATTCCGTGGTATTCAAC TCCTTCCTCGTTTTCGTGAACATCTTCGTCTGAAATTTATATATTTTTTT AACACGTAAAACTAAAAAACACTCACTGTTGAAGATATTGAAGTCTGGGC GGTAACGAGCGGCACGAAGAACTGGATCCATGACAACTGGGAGGAATGGT GCGAAATCGGCTCCAAGAATAGAGCAGAAACGAGTCCATGAGCTGATCAT GTAGCTGTATTGTGGATCATCGATAGCCAAATCCTTCATTCCGTCTCCGA GAAGGTTCAGGATCTCGATTGCAGTAGCGTGGAATTGTTCCTTTCCGACA GCATATCCGATGAGAGAGATGCATTCGATGGTCTTTCCTCTCAACTCCTT GAGCTCTCCGACGTTTTGAAGAATGTGAACGAGGTTCGGGATGAGGCGAG CATGATGTTCCTTGAAGAGCTCCTCGGCGGCTTCAGCGACGGAGGCGATG GCGGTGACGATGTTCTCAACGACAACCTGGTATCTCTTGTCTCCGAGACG ATTGAACACAGCGGAAAGCACATTTTCGAGTTTCTGAAGAATGAATGGAA GATATTGTCCAATGATGCTCTTTGGGCACTCCTCGGCAAAGTTGACAAGA GCCGAAGCGGCATGAGCACAGACACGTGGAACATCGGTTCTGTCAAGAGA CTCGAGAAGAGCTGGTATGACGGCGGCGTGGCACTTCTTCTGAAGAGTTG GAGCGAAGTCAGAAGACATTTGTCCGATGGCGTTGCAAGCCGCGTATTGA ACTCTTGGATGAGCATCATTGACGTAATTGGTGATATGAGCCATAATTTG CTCTATGTGTGGTTCCATAGATCTTTGGCACCCTTCACCGACGGCGGAGA ACGCGCGAAGAGCCGCGTGCTTCATCTTCCAGTCTTCGCTGGTCAAAAGC TTCTCGACAAGTGGAAGGAACACTGGGAGCATCACTTTTCCGTTGATGCA GCAAGCAACACGGTCGATGGCGCTTTCGGCGATGATTGGGATACTGAAAA ATAATTTAATTGAAGAAAAACTAAAAATTTATCCTTACTCTTCATAGTCT TCTTCCTCTTCGATCTCGTTGAGCCACTCATTGAGCACATCGTCATCCAT TTCGGTCATGCATGAAAGAAGAGTCTCGAGAATTGGTCCAAGAGCTCCTG GTGCGTATTTCTTGAGTCCTTTTGGTGCGGATTCCATGTACGAGCAAATA ACTTCGATGGCGTTCTGACGGACCATCTCGTTCTTTTCCTTGTTTCCAGC AATCTGAAATTTGAAAAAATGAAATTTTTAAATTGGGCCATTTAAATTAC TTACAGCAAGAGTGACTTGAAGAACCTGAGACATATGAGTGTTAAGGCAT TTTGGCAGAGAAGAGGCGAGCTCGGCGAACTCTCCGAGTGGTCCATCTGA ATCATCCTCGTCGCTGGTTTCATTGCAAACTTGAAGAACATTTGGAACAA GAGAGGTCATAAGCCTGACAACATCCTTCTCCTCATCATTATCAACAGCG AAAGCGATAACAGCACGGACGGCGGTGGCCTTGATTTGCAAATCCGGTGT AGCCATGCACTTTTCCAAGACAACTTTGAGGGTTGGAAGGAAGTGGGCCA GCCTGTTTCCAAAAATTATTGGGCATCCGCGAAGAATAAGCAGGGCTATG TAGTTTCCGGTAAGATCCTCGCTCTTCAAACAATGATCCATCAGCTCGAG GACTCCTCCCCATGTCATATCTCCAGAATCGTCGATGAGGTTTGAAGCGA TTTCAGAGATCAAATCAGCAATCTTCTTCTTAATCGAGAGTTCGGTCTCG TGAACTATCATCTCGAGAACTTTGGCGAGAATGCGCTGTTTGTTCTCCTC GTTCAGCGTTTCCCAAATCGCATCCCAGTCTCTGGCGAGAACTCGTCGCA GAAACACCAAAACTGTGGATCTGGCCTGAAAATCGAAAATTCATGGAATA TATAGGAATTTGAGTGAACTAACATCAGAATTATTCGTGTGGTGTGTGTA GGCCTCGAAAAGTGCAGCTACTTTGGTTGGTCCTTCAATCTTTTCATAGA CTTCTTCAGCTTGTTTTCGGATATCATTGTCTGCTGACTGCAGTTTTGTG ATGAGCTCAGTGAATTGATTGACGTCCATTGTAGGGAACCCTGAAAATCA GAATATGTGCTAAAAATTTCAAAATTGAGAAGGAAAAAGATGAAAGCGAG TCGGTTTTGCAGATAAACGCCTGGGGAATACGCGGAATCGCTGAGGAAAA TAGATTTTTAGTATAAAAATTGGCATTTTCAACAAAAAACCTATCGGAAA ATGTGAAAAATAGGCCAACAAATATTGAATTTTGGGACAAAAACGCCTCG AGTGCACGATTCTCAACGGAGCGCACTTGCTGCGTCACACGCACTTTAAA CTGTACACGGCGGGAAGTTCAAATTTTAAAAGGATTCACGTGATTTTCAC GACATTTACTGGTTTTTTCAGCGAGTTTTCGCAACTTTTCGGCGACAACC GATGATGATTTATGTTTGGAATATGATGATGGTAGCGTGTTGCGAAATAA AAAATCGATGGAATGAGTCAGCGAGAAACTAATATTTGCATAGAGAACTG TTTGCAATTTTGGCATTACATTGGCCAGTGCACTGACAAAAAAAGAAAAA AATAAACGGCAAAATCTCTAATACCTATTCCAGGCAACCAGTGTCTGGCG ACGATGGAGAGTAATTCTGAAAGAGACGCAGTTGAAAAGAGTGTGTTTTT CGCTTTTTTTTTCAGACAGAAGAGTAAAAAGAGTAAATACGTATCAGTAG TAAAAACAATGTGCGAGCTGGGAAATCAGTAATAATTAACTACTTGTGAT ACAAATTCCTCAAGGAATGAAGGAGAAAGTGTACTTTTTTTGAGACCCGA AGAACTCGGGGGATGTCCAATTGGGGGGATTACCAACTCGGGGGATTGGC CCCGCCCACAGAACCGTGGCTTGCAATACGCCCATTTCTGCAACTGCCGC ACGGTTTTAAAACTGTATTTTTCTCAATAGAGCGAGAATTAACAAGAAAA AATAATTTTAAAACCGTGCGGCAGTTGCAGAAATGGGCGTATTGCAAGCC ACGGTTCTGTGGGCGGGGCCAAACTCCCGAGTTGGTAATCCCCCCAATTG GACATCCCCCGAGTTCTTCGGGTCTCCTTTTTTTTAATTTTGAATTGAAA AATTGTCCGAAAAGTGCAAACGTAGAACATCAAAACCAGTGGAGGGGCGA AATTTGATAGATCGCATGTTGCAAGAATGAGCATTCTACGAGTTTCGCGC CATTTCTGCGTAGCGCGCACAATATTGTGCAATAAATCTCGGTATTTGCG TACATGCATCATATCTTACGCGCAAATCATATTGGAAATTTCCCCGAAAC ACGGGGAGGCAAAGCTAACGTGGCTGAAGAAATTTCTACAGTAGTCCCAT TTGGCTGACTGAATATTCAACGCGAATAAGTTTTGTACACTATTGCGTAC TTTGCGTACGCGCATTTTATTTGACGACAATTCGTCAATATCAGCTCTGG CTAAAAGCGCTTTTCTCATTATTTAAGCGAATAAAAGTCGAAAAAAAATG TTTTGTGATAGAGAATAGTAATTTAAAAAATAAAAAAGTGCATATTTTAT GTTTCTCATTATGTTTCCACTGATTTTCTGAGAAAAACCGAAAATTTCCT CTTTTTTCGATGAATTTCAGCTGAATAGTTTGTTTTTATCTAGTTTTTCT TCCGATTGACTGAATAACACATTTAATAACATCAATATAACGTTTAAAAC ATTCATTGTCTCGAAAACCAATATAAAACTCGTCAGAGAGGGATACTTAG TAGATATGCTGAACAAGGAAAAGAGAGAGAAGAACATTAACCGAATGGGG AGGGGGGAATAAGAAATCTGAACAGGAACGAAATATAAAGAACATTATTA GAAAGAACAAGCATGGCTTGATCTTCTTGGCAGTCGTCTCCTTATCCTAT CACTTCTTCTCGGCGTCCTTCTGATCATGCTACCGAGCAACGTGGCACGA TCGAAGAGTTTCACAACGGTTTGATACTTTCGCTCCACGAGGGGGCTCCC AATTCAGCGAGGGTCCTCTCACGAAGTTTAATTTTTTAAAATTAAAAAAT AAGTAACACCTCAAGAATTCCATCGAAGTTGTGCTCCTTTGCAATAAGAC GAAATTTTTTTTTACGGAATTGAACAGGATCATTGAGGTACGGCATGAAA ACGGCTTCCTCGTTGAACGATGTTGAAGCTCCTTCACCATTGCACCTGAA AATCAACTTCTAAATTTTCCAATTTAAAGAAAATCCACATACTTATCCTC GGAAACGAATCCAATATTCTGGTTGCTGAGTGGAATTGCTTCAAAGATTT TGATCAGATTTTTTTTTGAAATTTTCGATCACACATCTTGTATCCACCAA ATCGCCGAGTGCTTCATGAACTTCAGACTCGTGCTTTCCAACCTCTTCCA TGAGCTTCACTTCTTCTGCTTGGAACTTTTGATTGCCTTCGGACCGATCT GACTTGTAGTTTCTTCTTAAATAGTGGCTGATTGAGCAGTCGACCTTGCA GTCCTACCTTCTTTGGCTTCTTCTGCGGCACTTGAGCCCTTGTAAGAGCA CTTATTGCTGCTTAACCTTCCTTATTAATACTTCGAACAGCTTCTTCTTG TTCGCATCTATTTCGAATTTTGTCTTGAAATCTTCCAATGCAGCGACAAC GTAATATCTGGAAATTATAAAAACATTAAGAGAAAATATTTTGAAAAAAA ATCGAAAATTGCACTGAATTCCTAAATTTTTTATTAAAATCGAAAAAAAA AAATGAAATACGTGAGATTGAGTTTCGAGACTTTTTTATTCAGAATCAGC ATATATTTCTCCATATTTGAGTAGGTTTTCAGAAATATTGTACCATAATT TTTGGAAAAATGTAATTTTTAATTCGAAATTGCACTGAATTTCTCGAATT TTTCACTAAAATCGAGAAAATAAATATGAAATACGCGAGATTGAGGTTCA AGACTTTTTAATTCGGAATCAGCATATATTTTTCCATATTTGAGTAGATT TTCAGAAATATTGTACCATAATTTTTCGAGATATTTTGAATAATAACTTA CTTTTCGACGTTTTTTGCCTTTGTCCGGTTTAATCCATCGAATTTCGAAG CGGTTTGCGTAGATTAGCTGAAAACATTATGCTTATTCCACGTAGTAACA AGAAAAAACAAGAAAAAATAAGAAAAAACGAAGAAAAATAAGCATATAAG TCAAATTAAAAATGTTTATTCGATCAAAATTCTTAACCATAGGAGGCGGT GGCTAGCCGGCGCACTCTCGCGGCCACGTTAGCTTTGCCTCCCCGTGGAA AGGAGCCATGATATTACGGAAACACTATTTGAATTCTGAGAACGCGAAAT ATCTCGTAGCGAAAACTACAGTAACCCTTTAAATGACTACTGTAGCGCTG GTGTCGATTTACGGGTTCGATTTTTAAAATTATTTTTTTTGTTTTTTGTG TGCGTCATCGATTACTAAATTATAAATTATTTCCGTAAATCGACATACAA TCGCTACAGTATTCATTTAAAGAATTACTGTAGTTTTCGCTACGAGATAT TTTGCGCGTCACTCCTTCAGGCACCACATCTTACACTCAAAATCGAGGTG AATTTCTGTGTATTTGACAGCAAAAATGTCGTGAAAAACAATTAAATAAG GCAATTTGAAGAGGAAAAAACTGGGGCAGATGTGAGATAAGAAGAAGAAG AAGCGGGGCTTCGACAACCGTAAACTAATCAGAGATGGAAAGTGAGAAAT TTGAAATTTAAGACAAAAAAGTTAACAACGGGGGATTTTTTTTAGAGAGA AAGAGCGAGTAATCGGGCAGCAGCAGAGAAAAAAAAAGATAATAAACAAT TGAAAAAATATAAATATCGGGGAAATTATTGCTGAATAGACTGCAAATAG GTGACAATCTCGGGCGGTACAGAACGAAGTGTCTCTGGACAATTTCCGGG TCCACGGACAAGAACGGCCTGCGCAAAGTAGGCCTTGTGGTTGGCGATGT TGGCGGCGACGGGCGGTTGCTTGGGAGCGTAACTCAGACGACAGAATGGG TTCACAAATTCTCCCTCGGCGTTGTACATTGAAGCTTGCTCTTCTTCTGG TGATAGGACGGCTCGATCGGAGGCTGAAGCAGCTTCCAGCAGCATTGCCA CCTCGTATGACAGAATTCCGTATTGACCACTGCAAAAAAAATTTATATGA GAAATTGAATTTAAAATGATTTTATTTGTAATTTTGTTTTTGTTAATTGT CGTTAATTGTTTTTTTTTTGAGAAAAAACCGAAAAAAAAATTAAAATCTT CATTTTTGATTTAATTTTTTTGTTGAAAAATCGGCAGTTTTCGATTTTGT TTTTTTGAAAAAATAGGGAAAAGTCGGTAATTGTCGATTTTTCAAAAAAC TGAAAATTCCAGATTTTGTCAGGAAAAAAAACGAAGAAATCGACAAAATT TCAATTTTATTTTTTTAAATTTGTGTTTTTCAAATTTTTTTTTGATATGT GATTTTTAACTTTTCTCTGGAAAAAAACCGAAAATTTGCAATTTTTCAAT TTTTTCCAAAAAAATCTTTAAAAAATAGAAAATTTTCGTTTTTTTTTCTG AAATATTTAAAAATTGTAACTTTCTATTTTTTTTAAACCCGTATTAAAGT TTAAAAAAAAAATCGGAGAAAAAAAAACTGAATCGAAAATATGTGATTTT CAATTTCCTTTGAAAAAAATATAAAAAATCGAAAATTTTCGTTTTTCGAT ATTTTTTCTGGAAAAAAGCCTAAATTTTCATTACTAACACAAGCTGCTGC GTGACATCGGCTAGCAAATTGCCCATTCCAATGGCAATAATCCGTTTCTC AGGCCCCGTTGTCGTTTGTTTCAGACCTGGCAAATCAATGCATACGACCT TCTCGATGAGCATTCCGAACATGCCAGTCTGAATATTCTCACACGATTGA ACAAGATCCTGTGCACTCCGGGCGATCGTAAATCGACACAAGAACACGAT GAATAGCTTCATAAACTTGGGTGTCTTCGACGATTGAACTCTTCGAAACA TTGTATTGAGCACAAATGTCATCGCGGAACCCTCGAAGTGCTCAATCGAC GGAAGAATCGTCGCCGCCAACTGGAAACCGTATTGATCCAAGGTTTTCGA GCCCAAAAGCCGCGCCAAATGGCTCAAGATCAACCCAGAATTCTCCGAGA CGACTCGCTGAGCATTCACGGAAAGGATCACTTCGAGAACCGAAAGTGCC GCTGGAACATTCGCTGATCTCGCCCAAAGACGTTCGGATAGCAGAAACGG AAGGAACGGTGAGAATTGATCGATCGATGAGTTTCTAGCGATACATGAGG AGACGAGAACTCCCGTGATTTGGAGAGCATATGGGATGAGATCTTCCAAA TCCTCGCGGAAGATCACTTCGATCAGTGGAAGGAGTTGAGCATCCAGTGA GGCGCCGATTGTTCGGGTCTGGAACAGGAAATTCGTTAAAAAATATAAAA TGTTCTTAAAATTGCTATCACTTTTTTTTTGAATAAGAAAAAAAATCACA AAAAGGAAAACACGAAAAAGCAGACAAATGTTTCGATTTTGCAATTTTTA ATTTTTTTTTTTCAGAAAAAAATTATCGATTTCTTCTTTAAAAAAAGAAG ATTCTTTTCGATTTTTTCGGAAAAAAACATCGAAAAATTGAAAAACAAAA AGTTTTGATTTTTTTTTCAGTGAAAATCGTTCAATTTTTCGGGGTTTGTT TCGACAAAAATAATTAAAAACTAAAATTTTTCAGTTTTTAGGTTTCTTAT CAGAAAAATTGAATTTTTTCGATTTTCCGAAAAATTAAAAAAAGGTATAT TTTTTGAAAACACGAAAACGGAAAAGTGTTGGTTTTTTGTAAATTTTTGC GTTTTCCAGCAAAATTGCCAATTTTTCCGAAAATTTTCAGATCGAAAGTT AAATTATCGATGTCTATTCCAATTTCCGAGTTTCAGCGAATTTTTTTTTG CAGAAAAATTTCAGAAAATTTGACAAGTTATGTTCCAATTTATGAAAAAA AATTTGAGACCAAAGTGCGGCACGGAAAAATGGGCGGAGTTTAGAGTGGT ATTTTTCTCTCAAACTACTCCTTACCTTGGTGATCAACACACAAATCGTC TCAAACAAAAAGTGCGTGTGCACCGAATCCGCCGGATTTTTCGTCGCCGA CTCGACCAACTGTGCGAGCTTGACCGCAATCGCGTCCGCATGCCGAATCG TGTCGTCATCGAGAATCACAATGATCCTCAAAATCGCCTTGATCAGATAC GGCGAGTTTTGCGCTTTGGCATCCTTGTCGAACGCGGTGACAAGGTTCTG AAGGATCGAGGAGACTGGAAGATTTTGAGCCGAGAAGATTTTGTTGGAAT CAGCGAGAAGGATCTTTTCAATAGCGTAAGCTGCGTACTTGTGCAGAATC GGAGTATTCGAGCTGAGAAGAGCGTCCGCCGACTTGATCGCAGTCATAAG GTGCTCTGGAGCCAGCTGTTTCCTGAAAGTGACCGCAAACTTCAGTGCAT CAGCTTTAAGGATCGGAGTTTGATTGACATCGGCGTTGAGATGTGTGGCC ACTTGTGTGATGAAGAAGTCGTTGATGTCCACCAGCGGGTTCGTCGCCGT TACTCCACTCTTAGCAGTCTCCGTCTTCACCGCGATCGCCGTGATCAGCG AGTAGACAATGTCGATCTTGATCCAATCACCACTTCCCAGCAGGTTCTGC ACGATCTCCCCCAGACATGGAAGCATTTGCGCCTCGAATCTTCGGCAGAG ACCTCGCGCAAGATCGATGGCTCCACGGCGTCGAGTTCCTACATCGGTAC CCTCGATGTCTCGCTTCATATAATCCAGTGGCTCATCCTCGAACAGTTCC ATATCCTGTTGACGAAGCAGAAGGTTCTGAACGCACACGTTCTCGGCGAG AGTCTTCAGAACGCCTTCACCAGTGAAGTGTCCCTCGTAGTACTGTCGCT GGCTGACCATCGACAGAAATTCCAGCGCGGCGCACACCATCGTATCGTAT CGAGTGTCGGGGCCGGTAGACTTGAGCAGATTCCAGACGGCAAGGATGAT GTCGGGCACGAACTCGGAGATCTCCTCCTCGTAGCGTTGCGAGTAGAGCG TGAAGATCTCACAGATCTCGTGCTTAAGCTCGTCCAGAGTTGTAGGTTCT CCCGAGTTGGAGGTCTGCGTCGGCGCGTCGATTTGCACGAGATGCAAGAA GTGTGGCATCCAGTCCTTGAGATGATCCTCGAAGTATTCCGGAATCTCCT GTGAGCACAGAGAATGGTAGACTTTTGCAATGAGAAGTAAGACTCGGAGC CATTGGGCGATCTCGTCGGCTCCGAGTTGATCCTTCCGCTGTCCCACCTC CATCATGTTCCGTAGCAACAGAGTTAGAGGCTCTTGGGTCTGAAAAATCG GTTCTTTTTATTTGTAACTGAAAAATCTGGGGAGAAAACAGTTTTTCGGT CCAAATTCGAGACTGACATTCAGATTTCTTCAATTTTTTGGCTCAAAAAT TTTGAAAATTTGTCCATTTTTATAGGAAAATTATCAATTTTCGCCAAAAA TTCCTCATTTTTGCTTTAGTTAAAATTTTTGACTAAAAAATCATAAAATG TTGAATTTTTCACGATTTTTCGGAAAACAAGGCCAGCTTTAGCTAGCTTA AATGTCTAATTTTGGTCATTTTTTAGGGTCAAAGCGGACAAAAATTCAAC TTCCGACGGCTGCGACGTAAAAAAGTGGCCAAAATTGGGGATTTTAGCTG AAATTAGCCAAATTTTGAGCCAAAACGCAACTCACGCTCAGTAGACACTT CTTCAGCTCTTTCCAAAGCTCTGCTGACTTGGATTCGAATCGGAATTTGC GGAAAATCTGCTCCATCGACGCCAGCGAGGCCACCAGGTGATTGAGATCC GCTCCGTTCAGGAATTTCGACAAATATGGAACCAAATCTGGCCATTTTTC GGGAAAATCTCTCTGAGCGATGAGATACAGAGCATTGGACAGGATTTCCT GAACATTTGATTTTGTATTGAACATCGCTTCGAGAAGCATGCTTCTGAAC TGCTCCTCGTCTTCCTGGCCCATTTCTACCTCTGGTGCCGGGCCCTGAAA CAATTTAAATATAAAATTCACGCATTTATTCAAATTTTCCAACCCAATTT CTCTTCACAAAATTTTTCAAAGCGACAGCCGCGGCGATTCGGATCTGCGG AGCAATTTGTTGCTGTTCGTTGACCACCAGTTGAAGAATTTGAATGATAT AGCCTGGATTTGATTGCAGCGAGCGGAGCGCTTCTTCTCCACGCTTGCGA ATCGCAGCATCCGGCTCCAGAGTCTGCTGGAGAGCTGCTCCGATTTGCTC CATCTGAAAATAGGGAAAAATAGCTGTTTTGGGGGTGAAATAGGGAAGAA TTAGGTGAAAGGACAAAGATAGTTTAGCTTAAAACTTGAAATCTAAAATT TCCGGTCAAAATATTAAAGTTTTACGCAATTTTTCGCAGGCCCGCGGGGA ATAAACTCGCAAAAATTCGCAAAAATAAAAAAAAAATTTCAAAAGTGTGA AGTGTTTGCGTACAGCGCACCCGACCCGACGCGCAAATTTTTTTCATTAT GTTCTCTGTTTTCACTGATTTTTACTGATTTTTCCTAGTTTTCCCTTGAT TTTCTTCAAATTTTCCACTTTTTCAGCAAAACGTGCATAAAAAAATAAAT TAAAACATTTCAATTTTCAAAACTTTGCAAAATAAAGGCGTCGTTGCGTA CAATGCGCACGACTTGACGCGCAAACTTCCCAATTTTTATTCTTAAATTT TCCTGGATACCCCTGGTTTTTTCTCTGTTTCCCCCCTAATTTTTCGCATT TTCAGCAAACATGGGTGTTGATAAAAAGCAAAAGCAACGAAAAACCAATC CATTCGAGCTAAAATTCAACAAATCCAAGCATGACGTGAGTTTTTCAGAG TTTTGAAGAAAAAATCGATTTTCTCGCAGATTCTCGGCCGGAAAAAGGGC GCACAAGTTGGAGCACCGACTGCGTCACGAAAACGAGCTCACGAGCAACG TGAACAGACGCTAGGCGTAGAATATGACCGGAAAAATAAGATTAGCAAAA TTGTCGACAAACGGCTCGGCGAAAAGGACGGAAAAAGCGAGGAGGAGAAG GGCGCGATGAGATTCACAGAGGAAAGAGTCAAAAATTATAAAAGAGCATC GAAATTCAACTTGACAGATGATGGAGATGAGGAGGAAGAAGGTTTATTCC GAAATAAATTGAGAAAAATTTTAATAAAGTAAATTTCAGTACTTACTCAC AAGGGAAAAGCGCTCTCGGACATTGAAAAATACGACAAATCGATGATTTC CGACTCGGATGACGATGAAGAGCCGGGAAATTTGGGCTCAAATATGGTAA AAGTGGCTCATTTCGGTGGTGGAGAGAAGACCGCCGAGGAGCACGTCCGC GAAAAAATCAGCCGAGAGGATATGATTTCGAATTTGATTGCGAAAACGAA GCTGGCGCGTCACGAGAAGCAACAGCAGAAGGATGAGCTCGAGCTGATGA CAGAGTCGTTGGATTCCAAGTATCAGGCTTTGATGGGCAAAATGAAGGCT TCATTTAGGCCGACCGGGCGCCAGCCGCTGGAAAAAGATGATTACGACAA ATTGGTACGGGAAACATCCCGGTTTTCTCCAAATTTTTAAGATAAAAGAT AATTATAAATTTAGAGTGAAAATCGATTTTTTTCACAATTTTTTAGTGGA AAACCTAAAACCCAAAAAACTTGATCTGAAAATGCTAATTTTTAACCATT TTTGCTATGGAAATTGGAAATTTTCATTAATTTTGCTGTAAAAGTTGAAG AAATCCAAGTTTTAGCTTTGTAATCAGAGAAAACACTGTAAAATTATTTC GGAATTTGTGCAATTTGAAGTGAAAAATAAAACATTTAACTTCTTATCGC GAAAGAAATTGAGCTGAACTGAGAATTTTTTTGACGAAAAATCATTAAAA AGTCAATTTTTTTGACAAAAATTCGAGAAAAGTCGGTTTTTCTTTTGACA AAAATGACGAAAAAGGCAATTTTTAATTTAAAAAAATAAATTTTTCGCCG AAAAATAACTTTAAAAAAGTCGTTTTTTTACAAAATAAAACAATTTAAAA TAACTATTTTTCGACAAAAAAATTAAGAAAAAGCCAATTTTTTTGTTTAA AAAATGATAGAAAAAGGCTTTTTTTTTGTTTCTTCGCCTAAAAAATCAAG AAAAATAGGTTTTATTCCATTTTTTATCCAAAAATTATTATTTTTCCAGA CAATCACCTTGAAAACCGAAGCCGACGCTCGTGCCACCCCAGCAGATCGT AAGCTATCCGAAGAAGAAGAAGCTCTGAAAGAAAAAGAACGTCTGGAAAC TCTCGAGGCCGCCCGTATCTCGAAAAATAATGCATTTTTCAACGCAAAAT CTCATTTATCAGCCGATGCCGACGTTGATATCGATGCTGGATCGAAGGCC GACGCCAGAAAAGTTCAGGCGAAAAATTCGAGATTTGAGGTCAAATTTGA CGATGAAGGTGGCCTGATCGATGAGGATACGGTGGAAAAATCCAGGATTT TAAAGAAAAATCTGGATGGTTCTGATGAATCTGACGATGACGAGGATCTA GAAGATGAGGAAGAGGATCTGGATGATCTACTGGAAGATGAGGATGAGCT GGAAGAAGATTCCGATGATGAGGAAGCTCAGGAAGCCCAAAAAGTCGTCA AAAAAGCGAAAAAATCTGCTCCAGAACCCGCTGAAACTCTGCCATTCGTA TTCGAAATGCCGAAAAACTATAAAAAATTCTGTGCTCTTCTGGAAAAACA CTCGGAATCGATGGATTTAGTGCTGGAACGACTCGTGAAATGTCATCATC CGAGCCTTAAAGAAGGAAATAAGAAGCGTCTGAATAAGCTTTTCCTCTTG TGTTTAAGATGGTTTGATGATATGTCGAAGGAGGAATTGACAGCGGAAAG TGTGAAGGAAATGAATTTAGCGCAGGAAACTATGCATGCGTTGATGAAGG TAGCGATTGGATGGAAAAGCTGAAAAATTACCGCACTTTTTAATCTGAAA ATTGAAAAAATTCGAGAATTTTTGACCTAAAATTTTGAAAAATTCCCGAT TTTTATACCCCAAAAATTGCAAAAAAGTCCCGATTTTTTACCAAAAAATG TTTTAAAATCCCCGAATTTTTTACCTAAAAATTGCAAAAAAGTTTCGATA TTTAGACCCAAAAATTGCAAAAAAGTCCCGATATTTTTACCAAAAAATGT TTTATAATCCCCGAATTTTTGACCTAAAAATTGCAAAAAAGTCTCGATTT TTAGACCCAAAAATTGCAAAAAAGTCCCGAATTTTTTACCAAAAAATGTT TTAAAATCCCCGAATTTTTGACCTAAAAATTGCAAAAAAGCCGGTTTTTT TACAAAAAAATGTTTTAAAATCCCCGAATTTTTGACCGAAAAATTGCAAA AAAGTCTCGATTTTTAGACCCAAAAATTGCAAAAAAGTCCCGAATTTTTT ACCAAAAAATGTTTTAAAATCCCCGAATTTTTTGACCTAAAAATTGCAAT AAATTCCAAAAACTTTGGCCAAAAAATTAAAAAAAATACCCGAATGTTTG ACCCAAAAATTGCAAAAAAGCCCCGATTTTTTGAGAAAAATCATGTGAAA TTAAAACCTTTTTTTTTTGAAAATCAGTCTCGAAAAAAAAAAGAAAAACC AGGAAAATCATGAAAATTTAAGAAAAAAATCATTAAAAATAGGAAACGAT CATGGAAATATTTTTAAAGAAACATTATATAAAAAATCATTAAAATTTCA GAAAAAAAATATGGAAAATCCTGAAAATAAAGAAAATAATATTAAAAATT CAGATTAAAAAACGCAAAAAATTCAACAATTGAAAAAAATTTCAAATTGT TTTTTGCAGTTCGACATTCAATACGGAGTCCGATGTGTGCGTGCTCTAAT CCGTCAACACTGGAAAGGCCGCCAGGATAAACAGAAGAGTAGCCCAGTGT CATTTGGATTAATCTCTGCAATTCGTCTTGTTTCCGGCCTCTTCCCAGTT GCCGATTCCTGGCATCCTGTAGTGGTTCCGGCTCTTTTTTTGGCAACTGA AGCACTTTGCTCGGCGAAATGTGCCAATTTGAATGCGTTGGCTAAACAAA TTCAATTGGCTAATGCTATTGTTGAATATGTGTCTGAATCCAAGAGGTAA TACTTGGAAACGAACATTTAAATAGGCAAATTTTGAAAAAAATACTGAAA GCTTTGATATAAAATAGGAAAAGTAACGAAAAAAAAAGCCAAAACCACCA AAAATATTATTTTCAAAAGCTAACTCAAAAAATTTAAAATTCAGAATTGT CGCTTAAAAAAATCTATTTTTTTCGATATCGAAAAAAGATTACTATAAAA ATTCAAAAAAGCAATTTTTTAAAATATAACTTGATTTTTTTTTCTGAAGT TCATTTTTTAACAAATAATTGCATTAATTTTCCATTTTAATGTTAAAAAA AAGCGAATTTTTCAAAAATTGATATAAATTTTGTTTTGGCAATTTTTAGA TCAGAAAACATTGAAAAAATACAAAAATCCCGTTTTTTTTTAAATTAATT TTTTAGAAAAAATTGCAATTTTTCAAAAATCTTCCGGTCATTTCTCTATT TTTAAAAAATCTCTCGTCTCTTTTAAAAAAATTTAAAAAACCGAATTATC GAAGCGTATCAAAATTTTGAAATTAAAAAAAAAACCGAACTCCATTTTTA CGAAAAATCCGAAAGTTGAAAATTGTTTTCAATAAAATAAATTTCAGATA CGTCCCCGAGCTGGTCGCATTTGCTCGAAGTGCTCTTCTGCTTGCAGTTA CAGAGAAAAGTGAGAAATTCGCGACAAATGGATTCCCGATTTCCAAGCCA CACACGGAAATGTTATGCTTTGAGGAGAAGGTAAATTTATAAAATTTGTT TTTTTGAGCAAAAAATTGGTTTTTTTTTTTGGTTTTCTCTTTAAAAAAAT TTGCTTAAAAACGCTCAATATTTAAAAAAAAAACTGGCAAAATCGAATTT TATAATATAAATTAAAAATTTTGTTCAAATAAAAATGATTTTTTTTTGAA AATTTAGTTTTGAAAAATTTAAAATTAAATTTTAAATTTTCACAAAATTG CCAATGATAAAATGTTCACTTTTTCTTGTATAAAACTGCTTGAAATTTTT TAAAAGCAATTTTCCGAAAAATAATTTTTTAATAGATTTCTGAAAAACCG AAAAACCACCGATTGAAAAACGAAAATCAAGTTTTTTTCCGAATTTTCTA TTTTTAACAAATTAAATATCAATTTTGCACATACAAAACGGTTAAAAAAA AACAAAAAAAATTGCCGAGAGCCAAAAAAATTTAAGTTTCAGCGATTTTG AAATTTTTTTTTTAGGAAACACGGTCTCCTCGGGTGGAAACGAAGGGGGA GGGAGATTGCTTGCGCGTTTCACCGATGCGCCTTTCGCGTGCTGGCGCAC TTCTGAATATTGAATTATTTTTGCGGAAAAAATTCATTTCTTCTATGAAA TTTTCTTGAGAAAGCAAAGGAAAGATGATGAAATGAATTTTTAAAATAGT TTTCTCAGTTAAAAAGAGAATACCTTGCTGCAAAAGGTTAAATTTATTGA AAAATTGAGAAAATAAGAAGTTTATCTTTGTTTTCACTACATAAAGTGGG GAAATCTCAAAAAAATTTGAAGACAATTAAGAAATATAATTAAATATATA GCCTGAAAGTCAAATAAGAAATGAAGGTTTGGTCACAAACAATTTTATTT TTGAATTGAAGTTTTGAGAAATGATCATGTGCCAGAATCACTAAATCTGA GACATTCAGCCCAATTTCTTTAATTTTCTGTGATTTTATCATGGAAGTGT GGCTTTTTCTGTGATCTTGCCAGTTTTAACAAGTTGAAATTGGAAAATCG TGAAGTGGGAAACTAGCAGTGAAGCTTCCAAAAATTTCAAGCCTTACTGA AAGGAAAGTATTGGAAACTAAAAACGAAAGCTTAAGAAGATACCGTTTTT ATATATTTGAGTTTTGAAAAGCCTTAATAGGTTTTAAATACAGTTTTCTC AAGAATTCAAACTTGTAACGATTAAGTTGAGGCACAGAATAAGATGGTAA TACTAAGTTATGTTGAAAAAAGCCAAGAAAGACTGAAAACATTGCTTTCA ATCTGATTTTTTGTAAGTAATGTAATGTTGAAACATTATTCTTCATAGTT CAGCACTTTGTATGGCTTATTTGAGCCCAAACGTACAGTAGTATGTGGCA AGAAATAAAATATTGTGCCAACAAAATTGGAGCCGAAAAACCCATGATAA AATGTTTAATACGTGTATTGCTCTAATAAAATACCAAATATTAATTAGAT TCACTGTCTCGACTCTTTTTAATTCAGATTAATAACTTTTAGCTCCTCTT TTTAACGAAAAATTATAACTGGATTTCACAAAAAGAGTTCGATCTGAGTT CTTTCAACAGGTACATAGACGAATTATATCTTAAAATGACGAGAAAAGTT TGCTCTATAAACGTTATCATTGCAGGTTATGAGAAAAACAAATAAAAATT TAATTTTAAAAAATCCGAAAATTCAGTTGTTATTTTCAAACAGTTCGTTA TGCATTTCCACCGAACGGTTTCCGATAATTTTTGTTTCTCCACTTTCGGT TCAGTCTACTTTATAATTGTTATCATTTTGAAATAGAAAAATCGACGAAA AACTAATAAAAATCGAGGGAAATCACTCTTCAACGGTGAAATCTCGGTGG ACGCAATGAAGCTGCAGCATTTCAAAAAAATTTTAGAAGCAATTTTGGTC ATTTCAGCTTCAAAAAGCTTTAAAACTTAAAAAAATTAAAATTCATTTCA AAAAATTTGAAATTAGTCATTTAAAATATAAAAATTAGAAAAATTCTAAT TTTCAGCGAATTTTCAAATTTATTTTTATTTCAGAAAAATTCAAATTTTG GCTTTCAAAAAAGCTTACAAAATATTAATTTTTAAAAAATCTAACTTTCC CAATTTTTCAGTACACTGGCCCCGCACTCCAGCCAATCTCCCTGACCACA ATCTTCAACAATTCCCCATCCGATCCATCTCTAAAGCTTCACGTTCTTCG TGCTCTGCTCTCCCTCATCCAACATCTCCGTGTAATCTACTCCAACCAAA ATGAGACCTATTCTATCGTTTTCAAGCCATTCCTCCGGATTTTGGAATCA ATTCAAGCCAAAAATCTTCCAGCCGAGGTCCAGGAAGAGCTGGAGACTCT GTGCGCCTCAATGAAGGCTGAAATTGGAGCCAAGTGCCGTCTGGTGCACC TGTCGCTGGTGAAAACCGAAAAGAGCATGCTGAAAATGCTGGAACCCCGT TTCGAGTGGGATTTCGATCCGGAACGCCCACATCACGGACCCAAAGACGA GAAGAAGAAGCTGACGAAGAATCTGAGGAACGAAAGACGCGGAGCCATCA AGGAGCTCAGAAAGGATACGGCATTCTTGGCCAGGAAGCAATTGTCGAGT GTCAAGACGAAGGATCGTGCGAGAATTGCGGCCACGAAACGTGTCATGGG CGGTCTTATGCAGCAGCAGGGTGAATGGAATAAGGAGAAGCGTACGGCGG ATGTTGAGAAGAAGAAGGACAAGAAATAATTTAAATTTTCCTATTTTTTG TTTGTTGAAAATGACTTTATTTGGCAAAAAAAACCCCTAAATTTCAGTTT TTCTCGATTTGTTGAAAAATAGTCAAAAAACTGATTTCTATGTTATTTTT GGTCAAAATTTGCCTTTTTCAAACATTTTTTTTGCCATTTTTCCTCCATT TTTTGTTATTTTTTTTTTTCGTTTTGTTATGAGATATGTTTCTGTTTTGT TGACATTTTTTATTATTGAAAATTAAACGAGTTTTCTGAATTTTTTTGTT CAATTTTTTTGAAATTTTCCGTTTCACATACGTTTGTCAATATCTCGATT AATTTTTGAAGTTTTCCAATTGACTCGCGCATTTTCTAAAAAGTTTTTAA ACTTTACATTGAAAATACCCCTCTAACTCGAATATCTGATTTTATTGGAA TTTTGAGTTTTTTTAGGTTAAAAAATTCTTGTGCTAAAATCATCCATTAT AGTTCGTAAGTCAGCAAATTTTGGCTCAAACTTAGAGCGATTTCCAATTT ATGGAGTTTTTTGTTCAGAATTCTCGAAATTTTCTCATTTCTGGAAATTT TGAGTCTACGAGTCACACAGTTGTTCCGTAATTAGCTTCACTTACATCTC CTCAACTCTGCAAACTCTCAAACTTTCGGGAAAGGGTCTCGCCACGAAAT CACGGGTGGGCGGCAATTGCAGTTCGGCAAATTGCCGGTTTGCCGGAAAT TTTCAATCCCGGCAAAATTCCGTTTGCCGGAAGTTTTTAAACGGGATCTT TTATAAGACGGAAACACTTAAAACTGCCATTTTTAATTTTTTGCCCGTTT TCTCTAAATATTTTCATAGAATTTACTGACTTTTTAGGATAGATGTTTTC ATGGGATGTGCACATGTTGTTCCGGCAAATCGGTAATTGCCGAAAATTTG AAAAACGACAATTTGCCAAAAAAATCGTTTGCCGTTCACCCCTGTATTGT ACCATTTTTGGCGAAAATGCGCGTAAATTAATATGCTTGCGTGTGTAATA TTTCGTTCATATATTCTAAATATACGCACCTTTTGAAATATTCATAATAT ATGCATTTACGTACGTTCGAGAATATTTTGGGAATACACATTTATCATCA TTCCCACCCGTTGCCATAGTATCCTCATCCCCGCCCCGCCCCGCCCCTTT CTCTCATTTCCTCTTCCAAATCCTTAATGGCTCATCCGGTCATTGGAGAG ATATGGCAGATGTGGCGGTTTTGACGAATGTTCTGGAGAACTCGAATTTT ATATAACTATTAGACAATTTCGATATTAAAAACATTTATATGTAAAATTT TCAATTTTTTGAATTTGCTCGCCGAATTTTGACTTTCTGACAATTGTGTG TCGATTTACGAGGGTTATGTATATTTACGATATGTTTTTAATCATTATCG AATGCTGATTTCCGTTTTTCTACGAGTTGTCTTCATTTTCGTTGGTTTTT TTTTGTTTTTTTTTTTTGAAAGTGTATTTTTTAAGGTCAAAAAACTAGAA AAATATTCAGTTTTCAGTCAGGAAAACCATTTATTTGGTTTTTTCAATAT TAAAAAAATTATTGGGAAAAATGAATGAAACTCGTCGAAAAACGAAAATC ATCATTCGATAAAGATTAAATATTTCGTAAATCGACACACATGTCTCCGC CGCGAAAAATCGAAATTTCATAGAGGCATAAAAATTCACAATATTTTAGT TTTTTTATTTTTTATTTTAATCCAAATCCCTATTCATGCTTAGATTTTTA GGTGTTTTTCTGTAAAAAATCAAAAAATTGTATATTACTCATAAATTTTT CCAATTTTCTCAAACCTTGGATCTCGCCACGACATTATTAAAAAATTCCC GTTTTCTGCAGAAATGACGACAACGGAAGAAGCTCCCAAATCGCCGCTTT TCGAGGCAATCGACAAAAATGACACTGAAGCAGCGCTGGCACTGCTGAAA ACGAAGGAACAAGCCGCTCAACGGGATCCCAGTGGAATGAGTGTGCTGGC AGCTGCCGCGTATAGGTATGCACCTTTAAAGCGGCGACGGTTACTGTATC CTCGCAGATTGTTTAAAGGTACATACCGTAATCCGTTGAATTTCAGAGGA AATCTTACGTTGGTCGAGAAAGCGATTGAGCTGAAATGTGATGTGAATGA TAAAACCGATGGAACTCTGTACACTCCACTCATGTTTGCCGCCTTATCAG GTAGGGCAAAAATTTTTTAAAAAAATTTTTTGCGTCAAATTTGATGCAAA TTCTGGTTTTTTACCGTTGAAAAGTAAAAAAAAATTCCGAAAAAATCGAT TTTTATGCTAACAACAAACTTTTAAGTGAAAAATCGTGGAAAATTAGACC CAAATCACGTATTTTTGATCTGAAATTCAATTTAGCGAAAAGTCATCGAA ATTTTATGGTTTTCGCGGTGAGACCCAATATTCGCAATTTTTTTTTGCAC CAAATACAACACATTTGACGCGCAAATTCAAATTTTTGAAACTTTTTTCC GTTTTTACAATATTTTTAGGCTGAACCCCAATATTTGAAAAAAAAAAAAC CAATACACTATATTTTACGCGCAAATGTTAAATTTTTATTTAAAATCCTC GTAAAGTTCTATTTTCTTTTTTTGATCGTTTTCAAGCTCAAAAATTCAAA TTTCAATTCGAAATATTACCGGAACACAAAATTCTGAAAATGCGTACTGG TCAACATATTTGACGCGCAAAATATCTCGTAGCGAAAACTACAGTAATTC ATTAAATGACTACGGTAACGCTTGTGTCGATTTACGGGCTCGTTATTAAA AATCATTAATTTCAAAAAAATCGAGCCCGTAAATCACCACAAGCGCTACC GTAGTCATTTAATGAATTACTGTAGTTTTCGCTACGAGATATTTTGCGCG TCAAATATGCTCAATACACATTCTCAGAATTTTGCGTTAACGTATTACTA CTTTCTTAGTTTTTCCAAAAAAAAAATTCGAATACACCATATTTGACGCG CAAACTTTTTTTTTCAAAGCAAAATTGTCAAACGTTTGCAGGAAAACAGG ACGTATGCCGCCTGCTAATGGACTCCGGAGCCCGTATGTATTTGGTGAAT GGAATCGGAAAAACCGCCTCTGAACTGGCGGCATTTGTGGGTCATCACGA GTGTGTGGCAATTATCAATAATCATATAACAATTGATGTGATCGAAGATC TTTTGCGGCCAAAAGTGAATGGAAAATATGAAGGAGCTGAGGAATATCCG GATGAGCTGGCTGTATTTATTCATTCATTGTGTGGATCACATGAGATTCA TCCTGTTAAGATTATTTTTCGATTCAGTAAATATCCCGATTCGTTGAAGT ATAAGAAAAAGGTACATAGCTGTGTAGTTTGGAAAAAAAACGAAAAATCT GAAAATTTGAGAAATTTCCTTAAGCTTTTTCAAGATGCGCATTTTTGTTC ATTCTTATTTTCAAAAAAATCCAAAAAGTTTTTTAAAAAATTTAATAAAG CATTCTTTTTAATTTCAAAACAAAAAAGTTATACCAAATAAAAACTTTTA GTAATCAAAATTTTTCACTTTTTCTCGGTTTTTCTCATCGTTTTTCAAAT TTGAGATCTCTTCCTGAATTTTGCCTAAAAATTGATTTTTTCAAAATATT TTCAGAAATGATTCTTTCTGTGAAAAAATGTTTGAAAATGCGAAAATATT CGAAACTAAAAAAACTTTTATTAAAATAAATTTTTGAAATTTTTCAGAAT TTAAAAATTGAATCGAATTAGGTATCAGTAGTTTTCAGATCGATTTTTTC GAATTTCTGAATTTGTTAAAAACTAGAAATTAAAAAAAAAACTTTTGATG TTAAATGTTTTTCGAGATTAAAATAAACCGAAAACCCAAAAAAAATGTAA AAATTGTGTTCTTTTTGTTATAATAAACCAGAATTTTCTCGAAATTTTCA GAAGGTTCTAGAATATTTCAGAATTTTCTCGAAATTTCCAAAAGGTTCTA GAACATTTCAGAATTTTCTCGAAATTTTCAGAAGGTTCTAGAACATTCCA GAATTTTCTCGAAATTTTCAGAAGGTTCTAGAATAGTTCAGAATTTTCTC GAAATTTCCAAAAGGTTCTAGAACATTACATAATTTTCTCGAAATTTCCA GAAGGTTCTAGAACATTCCAGAATTTTCTCGAAATTTTCAGAAGGTTCTA GAATATTTCAGAATTTTCTCGAAATTTCCAAAAGGTTCTAGAACATTTCA GAATTTTCTCGAAATTTTCAGAAGGTTCTAGAATATTTCAGAATTTTCTC GAAATTTCCAAAAGGTTCTAGAACATTACAGAATTTTCTCGAAATTTCCA AAAGGTTCTAGAACATTACAGAATTTTCTCGAAATTTTCAGAAGGTTCTA GAATATTTCAGAATTTTCTCGAAATTTCCAAAAGGTTCTAGAACAATCCA GAATAATGTTTTCAAAAAATTCAAATTTGAATTCCCGCCAAAATGTTTTC AAAAAATTAAAATTCGAATTTCCCGCCAAAATATGTACAGTACTCCTACA GTACCTCTACAGTACTACTACAGTACCCCGACCATATCCCACTACTAACC CCAAACCTATATCTCTTCAAAAGACTAAAACACAATTTTTCCTAAACTAC AGTAATCCTACCGTACTCCTACAGTACTACTACAGTACCCCCACCATATC CCACTACTAACCCCAAACCTATATCTCTTCAAAAGACTAAAACACAATTT TTCCTAAACTACAGTAATCCTACCGTACTCCTACAGTACTCCTACAGTAC TACTACAGTACCCCGACCATATCCCACTACTAAGCCCAAACTAATATCCC TCCATCAGCCGAAAACGCCTTGCCTTTGTAAACTATGACGTCACTACTTA ACAAACGGACACTATTTTTTTATATTTTTTTTTCAAAGCAAAAACCACCC ATTTTCCAGATCCTCTACGTCATCGATCGTGTCTTCGAGAAACAGCTTCG ATGTAAGGAAAGCAATGAAATAATGTCGCTCAAGCTTTGGCTAATTCTAT TTTCAATGCGTGAAACCTCGAAATTCGTGGAGTCGAACAAGGAAAAGTCG CCAGAAGAAGCGTCTCTACAGTACGCAAAACTGATTTCCACGTGGCAAGA GGGCGATGAAACTAGGCGAGCACTTGACGTGATGCTGAGAAATGCGGTTG CTTCGTTCCCGTATAAACATTCATTACTTCATGATACTCTACAAAAAGCA CTGCAAAAAAGTCAAATTGGTGAACGACCAAGTGCCTATGAATACATTGT TCAGGCACTTTTCGGACAACGAATCGCTGCGGTCTGCCAGTTTTGCTCGG TTTGCGGACATCCTGGAGCCAAGAAACGGTGCACACAGTGCAAAGTATGG AGTTTTTAGGGTTAAAAATAATTATTTAATAATTTAATAAAGCTCGAATT TGGGAAATAATCAATTCCAAATTTTAAAAATATGGAAAAAATTTTATTCC GTTACATTTTATGAATTTTCCCACAAACTCGGCATTTGGCTCTAGCTTCT TGCCCAAGTTTAGCCCAAAAAATATTAACTTGAAGCTGTCTAAACTTGGG CAAAAGTTAGACAAAACTTTGGCAAAACTTGGATTCAAGCTTTACCAAGG TCTAACCCAAGTTTCACCCAACTCTTGCCAAACTTTGGCCCAAACTTTTC TTATTTCGTTTCAAATTTGGGCCAAAGTTTGGCAAGAGTTGGGTGAAACT TGGGTTAGACTTTGGTAAAGCTTGAATCCAAGTTTTGCCAAAGTCTTGCC TAACTTTTGCCCAAGTTTAGACAGCTTCTGATCCAAGTTAACATTTTTTG GGCTAAACTTGGGCAAGAAGCAAGAGCCAAATGCCGAGAAACTCGAATAA AAATTGAAAGTTTTCAAAATTTCAGTTCGTTTTTAATTTACAAAATTTGG CAGCTCTAACAATTCTTTAAAGATTCTTTAAATTAAAAAAAAGAATTATT AAAACTTTTTAAAAAAATTCATTCTGTAGAAAATTCCCGTAAAATACTCT TTGAAAATCCGGGAAAAAACTTCAAAAAACAAAAATAAATTCTAGACATT CTGTAAATATCGAAAAAAGAACATTTTGTCTGTAAATGTATTAGTCAAAA TTAATTTCTGATACTTTTTCCAATTTTTCAAAATTTTAAGTGTCGAGGTT CAATTTTTTTGAATTTCCTGTTTTTCCTTTATTAAAAAAAGTTTTCTATA ATATGCTGTATTTGAAAATTAAAAACTATATCTGAAAATATCGAGGCACA ACGTTTTCAAGATCTGGTGAAATTCCGGATCTACGTTTTCCGGATCTACC ATTTCCGGATCTACGTTTTCCGGATCTGGCACCGTGCCAACGCACAAAAC GCTTTTTTGTTCACTCGACGCACGTTGTTTTTTGAAAATTTCTTCTAGAA GAAACGCTTAACAACACGCGACGCGTAACAACGGAGCATCGTTATCACGT TTTTCTCCGAGAAAAATAGCGTTTTAAGAGTTGGCACGGTGCCAGATCCG GAAATGGTAGATCCGGAAAACGGAGATCCGGAATTCCGCCAGATCTTGAA AATGTGGTGCCTCAAAATATCGATTAAAGAATTTTTTCTGAAAAATATCC AATTTTTCAACAACAGAATAGCTAAAAAGTGAAAAAAAACTCAATTCTCA TTATAAATTGCAAACAATTTCCAAATTTTGATAAAATGGAAAAGAGTTTA AAAATTTCAGGCAACACATTTTTTAACTCTAGTAAACGTTTTTTAAATTC CAACAATTTTTACAGCTCGCCTACTGTTCCCAAGAATGCCAAAAATTCGA CTGGCCAATTCACAAAAAAGTGTGCTCATTTCTGAAAACGCGACAAGAAG TGTCGCCCACCGACGAGACCGCCATGTCGCTGGACGATATTCAGGCTCAA ATCGCCAAAATCGACGTGTAGAAGTGCCGATATTTCGATCTCAATATACT TTTTTTCTGGAATTTATTTATTTTTAATGTATATTTCGGCTTCATCTCAT TGCACGAACTTTTAATTTCATTTTCATAAATTCATTTTTGAAGTCATTCC TTGAACAAAAATTCACTAAAACATGCATTAAGAAATATGGAATCCAAAAA TTAATCTAAAAACCTTTTCAAAAAACCACTTCGTCAAAAACTGATGATGG AAAACTCGTTGAAAAACGGAAAGAGTATCCAATAAAGATTAAAAATTTCG ACATTTCGTAAATCGACACAAATCTCGTAAATCGACAAAAATGAAAAAAT CAGGAACCCAAGAAATTCAATATTCTCATTTGTAAAGACAACTGGTAAAA CATTTTCAAATCAAAAAATTATTTTTTTTGCCCTCAAAATTGATCTCCGA ATACTATAAAAAAGAAAACTATAAAAAGTGGCGAAAATTCGAAATTTTTT AACCCCTCTAAAATGGTTCATTTTAGTTGTCTAATGATACAACAAAGTAG ACATAGTTCTACAATATCTGATAAATACTTGAAAAGTCTAAAAACAAAAG TTTTTTCGTTTTTTTAACGGATTTTTAAAATCCAGAAGAACGAAAAAAAA TTTTTTTAAGAGAATAGAGTAAACTAATCATGTTCGAGCAAAAAAATCCG ACTTAGAATATGAACGGACCCAAGTGTATCATAATTATTTTAATTTCTGT GTATCAGAATTATTTTAGTTTCCTTAGTGTGATTCCCAAACTGCTTAAAT TCTAGGAAATATTTCTTTACTGGAACACTCTTAGCCACTGTACGCTGCCG AACGAATAATAAGAGAATACAGAACACCAATTATGCCCGAGAAAAAGATC CTACTCAGAATATAAACATAGTCAAATTTATCGGATGTATAAAGATTCCC GAAGACACTTTCCAATTACCCAAATTGTTCATATTCTAAATCAAATTCTC TTACTAGAACGCTCTTGGCCAATGTACGCAGCCGAACGTATCATAAGTGA ATACAGAACACCAATTATGCCCGAGAAAAAGATCCTACTCAGAATATAAA CATAGTCAAATTTATCGGATGTATAAAGATTCCCGAAGACACTTTCCAAT TACCCAAATTGTTCATATTCTAAATGAAATTCTTTTACTAGAACACTCTT GGCCAATGTACGCAGCCGAACGTATCATAAGTGAATACAGAACACCAATT ATGCCCGAGAAAAAGATCCTACTCAGAATATAAACATAGTTAAATTTATT GGATGTATAAAGATTCCCGAAGACACTTTCCAATTACCCAAATTGTTCAT ATTCTAAATGAAATTCTCTTACTAGAACACTCTTGGCCAATGTACGCAGC CGAACGTATCATAAGTGAATACAGAACACCAATTATGCCCGAGAAAAAGA TCCTACTCAGAATATAAACATAGTCGAATTTATCGGATGTATAAAGATTC CCGAAGACACTTTCCAATTACCCAAATTGTTCATATTCTAAATGAAATTC TCTTACTAGAACACTCTTGGCCAATGTACGCAGCCGAACGTATCATAAGT GAATACAGAACACCAATTATGCCCGAGAAAAAGATCCTACTCAGAATATA AACATAGTTAAATTTATTGGATGTATAAAGATTCCCGAAGACACTTTCCA ATTACCCAAATTGTTCATATTCTAAATGAAATTCTCTTACTAGAACACTC TTGGCCAATGTACGCAGCCGAACGTATCATAAGTGAATACAGAACACCAA TTATGCCCGAGAAAAAGATCCTACTCAGAATATAAACATAGTCGAATTTA TCGGATGTATAAAGATTCCCGAAGACACTTTCCAATTACCCAAATTGTTC ATATTCTAAATGAAATTCTCTTACTAGAACACTCTTGGCCAATGTACGCA GCCGAACGTATCATAAGTGAATACAGAACACCAATTATGCCCGAGAAAAA GATCCTACTCAGAATATAAACATATTCGAATTTAACGGATGTATAAAGAT TCCCGAAGACACTTTCCAATTACCCAAATTGTTCATATTCTAAATGAAAT TCTCTTACTAGAACACTCTTGGCCAATGTACGCAGCCGAACGTATCATAA GTGAATACAGAACACCAATTATGCCCGGGAAAAAGATCCTACTCAGAATA TAAACATATTCGAATTTATCGGATGTATAAAGATTCCCGAAGACACTTTC CAATTACCCAAATTGTTCATATTCTAAATGAAATTCTCTTACTAGAACAC TCTTGGCCAATGTACGCAGCCGAACGTATCATAAGTGAATACAGAACACC AATTATGCCCGAGAAAAAGATCCTACTCAGAATATAAACATAGTCAAATT TATCGGATGTATAAAGATTCCCGAAGACACTTTCCAATTACCCAAATTGT TCATATTCTAAATGAAATTCTCTTACTAGAACACTCTTGGCCAATGTACG CAGCCTAACGTATCATAAGTGAATACAGAACACCAATTATGCCCGAGAAA AAGATCCAACTCAGAATAAAAACATATTCGAATTTACCGGATGTATAAAG ATTCCCGAAGACACTTTCCAATTACCCAAATTGTTCATATTCTGAATGAA ATTCTCTTACTAGAACACTCTTGGCCAATGTACGCAGCCGAACGTATCAT AAGTGAATACAGAACACCAATTATGCCCGAGAAAAAGATCCTACTCAGAA TATAAACATAGTCGAATTTATCGAATGTATAAAGATTCCCGAAGACACTT TCCAATTACCCAAATTGTTCATATTCTAAATGAAATTCTCTTACTAGAAC ACTCTTGGCCAATGTACGCAGCCGAACGTATCATAAGTGAATACAGAACA CCAATTATGCCCGAGAAAAAGATCCTACTCAGAATATAAACATATTCGAA TTTAACGGATGTATAAAGATTCCCGAAGACACTTTCCAATTACCCAAATT GTTCATATTCTAAATGAAATTCTCTTACTAGAACACTCTTGGCCAATGTA CGCAGCCGAACGTATCATAAGTGAATACAGAACACCAATTATGCCCGGGA AAAAGATCCTACTCAGAATATAAACATATTCGAATTTATCGGATGTATAA AGATTCCCGAAGACACTTTCCAATTACCCAAATTGTTCATATTCTAAATG AAATTCTCTTACTAGAACACTCTTGGCCAATGTACGCAGCCGAACGTATC ATAAGTGAATACAGAACACCAATTATGCCCGAGAAAAAGATCCAACTCAG AATATAAACATATTCGAATTTATCGGATGTATAAAGATTCCCGAAGACAC TTTCCAATTACCCAAATTGTTCATATTCTAAATGAAATTCTCTTACTAGA ACACTCTTGGCCAATGTACGCAGCCGAACGTATCATAAGTGAATACAGAA CACCAATCATGATCGAGCAAAAAGATCCGATTCAGAATATAAACATATTC GAATTTATCGGATGTATAAAGATTCCCTATTGGGAAGTGGAGCAATCCAC GACTGGTTTATCGGCCACAGTCCCCGGCTAGGACATGGCTTATATTATTG GGCCAAGGGGAGCACCACCAGGCAGTGTACCTGACTCCCAGATCAGCAGT ACATAGCACTTGAAGAATGGATCGTCCTTTAATCTTTTAATCTTTTAAAA AGAATCGAAGGAACTCTCATCGGGTCATGTGGTTGTGGGGACAAAGAGGG AGGCTTACATCAATACCAAATACCTGTGGTAGATCACAATACCTGTGGTA GATCACACCCTATCCACAAAGAAAATCTGTGGACGTCCTCAAAGGAGGCC GCCCGCGCCCTTGAGCTGGCCAACAAACCCTTCGAGCTGGGTGGAGGAAT ACTCCAGCCGAGCGACTGAAAACGGCGGTAACGCCACGTTGTCGCACAAT AACAACAAAAAAGCCCGCGGGCCCCAAGAAGCTCAAGAAGCCCACGGCTT AATTTTCAAATCAATTACCTTACTATGAATCTCCTTTTTGCTCTACGAGT CGTCGTTGATGTCATCCTTCCGTCCAACCTCCGTCAAACAGTCCATCTGA CCATCCGTCCAACCAACATGTGGTGGAGTGTCCAACGCATCTGAAATTGA AAAATATTTATATCTGATTTTTTAAATGGAACCATTTACAAAAAACATAA ACGGAAAACGCTTAGCAAAAAAACAAACAATTAGTATTTAGAAAAACGGA GACAAATGCTCTCGCGATCTTATTTATATTAATTTTCCAGTCGATTGCAA GGCATCTGCTCCCACGGGTTTATATAAAATTGTGTAACTAATTTTAAACT TCTCTTGAAACCTTTCAACCAGTACTTTTCAAGAGTTTTTGGTAATTTTT CGATTTTTCAGAAATTTCAAAAAAACGGCGAAATTCCACTCAGAACCCTC ATTAATATTTCACTAGTCCAGCACACTAACCCAAAAAATTATTTTTTTTT TGAACTACAGTAATCCTACAAAATTGCTACAGTACTATTACGGGACCATA ACAAAATTTTGATAATGCGTATTGCGCAACATATATGACGCGCAGAATAT CTTGTAACGAAAACTACAGTAATAATTTGAATGACTACTGTAGCGTTTGT GTCGATTTACGGGCTCAATTTTCGTAATGTTACACGACACATTTTTTTGA CAAATGCAAAAAAGTGTGCGCCTTCAAATTAAAAAAAAATTTGATTTTTG TTGCCGGCTTTTAACACATCGAAAAAATAAAAGAAACGAAAGTTTGTAAT TACAGTACTCCTCTTAAACGCGAACACCTTTTCGCTTTTCAGAAAAACTT GCGCCGTTTCGAAACCGGGTACTATACTTTTATATTAAAATCGATTAAAA ATCGCGAAATTTTGCGGTGGAGCATATGTCAAATTGCAACTCGAAAAGAA AAAATCTGAAAATGCATGCTGTGAAAAAAAAAGCAGCAGTACTCCAAGTC ACCCATTGGAAAGAATGACTGAAAATTGAAAACAATTCTTCACTTTGAGC GAAAAAATGCCGCGTTGAATGAGAGAGGGACGAATCGAAATTTAAAAGGA GAAGATCAAAAAAAAATGTTTGTGGTAGGTCTGGAATCTTGCAAATTATC GTTTTAAAATCAATTTTTAACACTTTTATATCATAAAAATAGTTTTTCAT CAATCAATCGATTAAAATACCAACTCTCGAAAATTAACAGCTTTAACAGC GCCGTCTACTGATTTGAAATTGCAGTCGCTGCCGCTCAATTAAATGTTTT GCGCGTCAATTAAAATGCCTTGTACGCAGATGCGCGTCTCCTAAAAAATA AAAAGTTGTCCAATTTTATTGAAAACGGGTATTTAATTCATGTAAATATG CTGAATTTAGAAAATCTAGGTTTAACCTATCAAAAACTATAAAAAAGTGG CAAAAATGGGCAATTTATGGCAAAAATTCACAATTTTGAAACTCCTCTAA AATGGTTCATTTTATTGGTAGAAGAGGACTAAAAATTGATATCCGAACCC TAAAAAAATTGTCCTTTTTCAATATTCAGAAGAAAATTATGAAGTTATTT ACTTCCATTTTTCGATTGTACGGTAAATCAAAACTAAAGGTGGGCACGGT ATCTGATAAAGTTACGATCGTTCCAGGATCACGAAAATCGAATAATTACA CAGCCAGAGTTACATGAAACAGTGTTTGGGAAATTTAAAAATCAGTACAA GAAAACCTCAAAAAAAAAACAAAATTACAGGAAAAAACGGAAATTTTCAG TAAAAAATTATAGGGTATGTAAAATCGATAAAATATTTAAAATTCAATCG TATTCTCCGTTTTCGGCGTTCGGATCGTTCACTGGAAGTACGGGATGTCG AAGTTTGAAATTGAAGAATTCGCACCAACCGGCTGGAAGTAGATCGTGGG AGCTGCAAAAAATGTTCGTGGCCGCGAAAAAAATCGGTGGCCGATTTTTG TTTTTTCGCGGCCACGTTGTGACTAGACGGCGAAATAAAAATTTGTTTTT TGGTTTTTAGTGTTCAAAACTGTTGTTCTTGTTGAAAAACAATTTTTTCG AATTTTTTTTGTTTTTTCAACTAATTTTTTTTTCTGAAAATGCTTTTAGA ACAGTTCATTTTGTTTTTTTTTCAATTTTTTTCAGACACCCCTTACTCCA TATCATAAAGCTCGGAAAATTCGGAATCCCATCCCTGAAACTCGATGAGC ACCGTTCTACCGTGTACTTCTTCGACGGAGGCCGGTGATATCCAGTAGGT CTCGTTTTGGCCGACGGCTTCAAGGACACGACCGAACTGAAAAATATTGT TTTTTTTTTCAAAACCATTTTTTTTAGGAAAAAATTTTTATTGAAACGTT TTTTTTTTAATTTTAAAATTCCAAAAAAACGCAAAAGTGCAAAAAAACTT GAAAAAAATGTTCTCAATATTTTTTCCGACTCACAATCAAAGAAAATTTG AATCGAAAAAAATTAATTGTTTTCTTTTAAAATTTAAGGAAATTATTTTT CTAATTATTTCTTCCAAAAAAAAGTTTAAAAATAATAATTTTTCAAGTGT TTTTCAAGAGAAAATTAAAAAATTTCAAATTTCAAATTTTAATATACTTT TTATTTTAAAAACTTGTATAAATCTCCGAATTATATGGATTTTTTTGAAA AATAAAAAATTTTTTTATTGGAAAAAGAAATCTGATTTTTATAGTTTTTT TTTTTAATTTGAAAAATACGAATTCTATCACGGCAACTCAAAATTCTGAG AATGCGTACTGCCCAATATATTTGACGCGCAAAATATCTCGTAGCGAAAC TACAGTAATTCTTTAGATGACTACTGTAGCGCTTGTGTCGATTTACGGGT TCAGTTATTTAAATGACTTTATTTTTCGTATTATTTTCTTCATTTCAATT AATTTTAAAAATTGAGCCCATAAATCGACGGTACCGTAGTCATTTCAGGA ATTACTGTAGTTTTCGCTACGAGATACTTTGCGCGTCAAATATGTTGTGT AGTACGCATTTTCAGAATTTTGAGCTGCCGTGATAGAATTCGTATTTTTC AAATTAAAAAAAAACTATAAAAATCAGATTTATTTTTCCAATAAAATTCG TCTAATTTATAAAAAAAAATAAAAATAAAAATTGAACAACGCTGAAAAAT CCCAGATTTTTTTTTCTTATTTTTTGAAAAAAAAAACTTTTTTTGGAATT TTAAATTACATAATTTTTTTGGTTCAATCAATTTTTTGGTTAAAAAGCGT TTTTTTTTCCTTCAAAAAAGCACCTCAAACATGTGCCTTCTCTCCTTGCT CGGCAACGGCCTAAGCATCTCATCAGGAATTTTTTCCGCCTGCTTCTCCT TCAAATACCCTTCCCACTTGAATTTCCCGGGCTCAGTGCCTGCAAGCCGA TCCAGCTTGATTCCGAACTTCTCAGCATAGCCGACAGGATGCATAAAATG ATTATCAATATGAATTGGGAAGGATTCATCGTCCGATTCTGTCTCATCAG GTGAAATAATTAAAAATCCAGGCGTTTTGCATATTTTTCGAATTGTTGCG ACGCAAAATGACTGGCGTAGGTCGCTGAGTGGATCCAAAAGTTCAAATTT TTGGCCGACTTTTAATAAATTTAATTTTTCAGCTGAAATGTCAGGTTTCC CAGCAAAAAGTTGCTCGAAAGTGACGTCATCTTTATGATAACTTCCAGAA CCTTCTGCGATCCGTCTGGAATGTTCCAAATAACCTTCCGTAGCCTTAGT CCGTAATCCATTAATCATTGCAAATCCGACTGGAAACAGGAAGAAGCTCG ACTCATCCACCCAAAACTCGACGTTTTCATGCTGAACCTGCCGATCTTTG GCCTCTACGGAAGGAAGATCTTCGGGATAATCCTGAGCGGTGACCATGAC CATCAGACGGCGGCCAAGGATCCTGAGGATCCGTGCGACACGGATTTCTG TTGGCTCCAAGTAGTTGAGTAGCTCGACGCGTTGATTCAGCCGGAAACGA GATGGGCGGTGGGCAAGGTGGCGGAGTTGGTCGAAGATTTTTGGCTCAGA GATTCGATTTTCGTGCAGCTCGGCTTGAAATTCCTGCAGGAAAATTTTTT TAGGAAATGGGAAAATCAGAAGGGTTTTTTGGAGTTTTTTTTCAGTATTA TTTTTTTTGTTGTTTTTTTGAGGCTTTGTTAAAGTTTTTAGGTGAATTTT TTTTGTTGATATTTTTGGTTTGTTTAAGAATAAATCATTTTTTGAAAAAA ATTCGTTTTTATATTTTCGGTTTTTTGCTGGTTTAGTTAAAAGTTTTTTT TTCGGATTTTCAGGTTTTTTGACAAAAATTGATTTTTTTTTTGGTGTATT TCTTAGGTTTTCGGGTTTTTTTTTTGGTTTTTGACGAAAAATTTATTTTA AAAAAAACGGACTTTTTTGCAAAAAATATGGGGTTTCTTAAAAAAAAAAA TTTCAATTTTTTTTGTTGGATAAAATTAAAGTTTCTTTTATGGTTGATTT TTCGCCTTTTTTCACATTCTCCACCAGAAAAAACATGAAAAAAACCAGAA ATGAGTAGTTTTGAGCAATTTTCAGGCAGTTTTTCCGCTCAGAAAATAAT TTTGGCCGGATTTTCATGGTTTCTCACATCCAGAATCTCCTCTGTTGGCC GTGGTACGGGCGGTGCAGGCGTAGATCCACGTCGCCAAAATTTCGGGCAT TGCATCGGTTTCAGCAAGCTCAGTGGCCTGTATTGAAGCCATTTCATCGC TGGATCCTGCTTGAGACCGCTGAAATTTCGCGTTTTTTTTTGGAAATTTT GTTGAAAAATAACCTTCCAATATCGAAAATATCCTCTGAAAGCATATGAA ACCAGCAGGGTCTTCTATTAAGTTCCCCCACAAATTTAATTGCCACGTAG AAGCCGCAGACAGCAGTCACCTCGCCGAACCAGCGGATTTCTGGAGATTT AGTGGTTATAGAAGGATCCAGAGACGGTCGGACGACTACTTCTAGCTGAA AACATTAAGATTATGGCTTTAAAGTTTTTTAAAAGAAAAACCAACTCGAA ATCCAGGTTTTAGGTGCTGATTTAGCTTTTCCAGCGGCAAACAACCCTCC AGCGCCTCGACAGGTAAAAATTGAGTATTTCCATCATAATTACATCGGAG TTCATCTGACCATGTGAATGTTCCTTCAATTTGTGGCTTTGGAATCCGCT GGGCGATTTTCTCAACTGGATTTCTTCGACGATAGAATAGCCGTTCTTCG GTGAAATATCGGTATTCTGCTTCTTCAAGTTTGTAATTATATTGACGCTG AAAGTAATAAATTATGTTTTTCGATAAAAATGCTTTTAAAATTACCTTTT TATTCGAAAAATTCATTGATTTTAATTAAAAATCTATTTAAATTGTTTAA ATTAAAAAGTTCCAAGCTTCTGTAGTTATCGCGTCGAGACCCAACACACT AATTACCACATGCGCCTTTATATAAATTTTAAGAAAATCAACATTTTAAA AGATTTTTACAGTTTTTTTGTCGTTAAATTTTTCGAAAAAATGATTTAAA CTCACAGTAAACTTGTTTGAAACTTGAATATTAAAATTTCACAGTCAATG GGTTAAATTTCAAGACTTTCCCACTGATGATACGGTAGGCGCGAAGTACG GTAGTTTGTTTTGTTTTTTTTTATTTTGCCGCCGAGTGATTCAAATTTGA ATTTATATCATCCGATTTTTTGATTTTTTCCTCAATATTTCTCGATTTTT CAGCTTTCAGTGTGATTTTCCAAGAGCCGTAGCTCGACCAGACGACGGAG AGCCTGAGGCTGGTCGCCAGAAGCACTATGAAGTGTGGGTTTTTTTTAAA GCATAATTTGCATTAATCTTCTAATATTTTAGCCACCCCACACCGTCCAC GAACAAACTCCGAATCGAAGCTCGGGGCTCGCGAGCAGCTTCTCCGGGAC TCTATACGAGTGGGTTTAAGTTCTTAATTTCAAATTTCACTCATTTAAAA ATTTTATTTTTTAGCTTCAAGTAGCTTCGGAGCCGTACGTCCACATGACA AAGGAATCCACGTGGGACGAGGCGAAAAAACTGGCGATCAGTCTTGAAAA GAAGCCGGACATTGTCCGTAAAGCGATATACAATCGTCGTCGCTTCGTCA ATGAAAAGATAAAAAGTGCGCTGGTCAAGCGCGAAATCATCGACCCAAGA AGCCCGGCAATCCATGAAATAGCAGTGGCGGCGGAGGTATTTTAAAAGAA AATCAGACAAATTTAATATCTAATTATTCCCCATTTTCTTGCAGACAATC GCCATAAACGTTGTGCACTTCTTGGAGACTCATCACGCAAAAATACTCGC TGAAATCAAAGCGGCCGCCGCTGGAGCCGGCGCCCAGCTCCGAACTGCAT GAATTAATTCAAATTAATATTTTTAAACTCATTTTTCACACAAATAATCA TTCATGTGTCCATTTTTCACTCTCGAAACCCATATACCCTCACTCTAAAT ATCAATATAATGCACATTTCTCATAGTTTTAATCTGCCCTTACCAATTAA ATCTTACCAATTTTCCGCCATGATCCCTTTTTCCATTTTGAATAAAATTC GACGACGATTTTTCCATTAAAACAAGAAATATATAAATAGATTCAAAAGT GGCGCTTGTGTCGCTCAGCGGTCTCCTCCACTTGCACACTATCTCACCGC GGCCTTCCAATTACTCGTCCATTTTCCAGCTGTAAAAAGTTTATAAAAAC TGAAATAAATGCAATTTTCAGCAGAAAATCGCTGAAAATGCGGCAAATCG TCGAGCTAAAGTCACTTTTGACTTCGGAGCCAATTAAAGCCATCGAGCTC TTCGATAGGCTCGTTGGACAAGGTTTGAGCCGAAAATCTAAACTTTTAAG CTGAGATTTCTTTTAAAAATCCCTTCCAGATGCCGACACAATCACCCAAG AAGCCTGTGGAACCCTCGCCAACTATATCCGGCATTCCAGTGTTTTTAAG CGACGGCTTCTGTTCACGGAGCTCCAAAAATGCTCGTTTTTTGCGAAATT GTGCATTTCGTTTCAATTTCACAGCTTTGAAGACACAGTTTTTCCGCGAA AATTGATTTTCGAACGATTCAGCGTGTTTTGCGGTGAACTGGAAAAGGAC AAGCCACGTGGGTTTTCATTTATTGAAAATTGAAAAGATTTTTGCAAAAA ATCATAAAATTTAATGTAAAACTGAACAAAACTCGATTTTTAACCGAACC TTTTTGTTTTTTCCGTGAAAAAATCGGTTTTCCAAGTTTTTCGAACATTT TCCGAAAAAAAATTACGCAAAAAAAACGATTTTCAAGTAACAAATCCGGA AAAATCAAACTTAAATATTTTCGGAAAATTTCATAATTTTCTTCAAATCT CTGTAAAAAGTAGATTCGATTTCTGGGAAATTTGAATTTATGTCATTTCT TTAAAAGCGCATGCTCTTTTGTAGGGTCTCGCAACGAATTATTCAATTTA AACTTTGAAATTCGCGCCGAAATTTGGGTCTCGGCGCGATTTTTCGAAAA ATAAATGAAAAATATGTACTATTAATTTTTTCTTGAAAATTATTGATTTT TCAGATCACCGGCACCACGTCACCGCTGTCGGATCGAATCGTTTCTTCAA TTTGGGACTACTTTCCGATGGAAGCCCCGTCTCAGAACCCCGACTGGTCC CCGTGCCACGTGTAATTCAAATCGAGATGACAAATACACACACAATATTT TTGACTGCTGAAAATCAGATTTACGGCTGCGGAAAAGCTTCATCTTTTTT GCCGGATAAAACGGAGGAGACGGACGGTGGTTATGTGGCACTGCCCACTT TGGTAGAAATTCCAAAAGTTACTGGATACGTGGCAGCTGTGAAGGTGTTC GATGGAGGATCACAGTTTTTGATTGGCGGCAAAGTACGGTTCTAGAAAAT TGGTGGCCGAGTATTTTTTCGCGGCCACATGGCGATTTTCTACACGAAAA GTTGTGTAAAAGACAAAAAGGTGTGCGCCTTCAGGGATTACTGTAGCTGA AGTTTTTCATAGATTTTTTTTTTGGCTTTAAAAAAATCCTTAAAGGTGCA TTTTCGTGTCGAGACCTTGTTGTATTATTTTGCTAATTTTGCTTAAAAAG TACAGTACCAGGTCTCGACACGAATAGTTTTGATAAATGCAAAAATGTGT GCGCCTTTAAGGATTACTGTAGTAAAAAATAAGAATCCCTTTTGGAAAAT TTGATAATTTTGTGAAGAAAAATAGATAATTCTTTGAAAATGAATAATTT TTTGGAAAAATCTTTTTTTCTTATTTTTCTAGACGTACACCTTTATTTCA TTAAAAAATTGTCGCGCCGAGACCTGATACCGTATTTTTGAGCGCAAAAT CGTGCCGAGACCCAAATTCGTGAATTCAAATTTTCAGTGGTATTGTGTTG GAAAATGTTCGATTTCCGGAGAAACGCGACGAATTTCGTCGAATTGTTTT GTTCTGGTAGAGGAGGAAAACGAGGAGAAATTGGAGAAAATGACGAAAAA TATCGATTTTTACGTGGCAAATGTGCCGATTGAGGAAAGGATTGTGAAGG TGGATTTTTTTTTTCAAAAATTTGAAAACAAAAAAACTAAAAAAAAAAAT TTTAATCTTAGTTTCTAGAATTCAAGCCAGTTATAATAATTTTTAAACTA AAAATTGCATCTTCCGAATTTTCAAGATTTTTTTTTCTGAAAATCGTTTA AAAAAATATCTTGAAAAATCAAAATTTCAAAAAAAACAAAACTTGAAAAA AAAAACGTCTTTAGCGGTATTTTTTCTATAATTTTTCAATTTTTTTCAGC TTAAAAATCATAGAAAATCGTAATTTTTTGACATTTCTTCCAGGTATATC TAAAAATGGACCAAAACGAGATTCTGTGGGATAGAACGAGCGATTTCTCA GCGGAAAAGCCGATTTCCTTCATAATCAATGGATTTCCACAAATGGCAAT TTTCGAATCATTTCAACTTTTAAATGATGGAACTATTTATGCTGCGAGAA ATTCACTTTTCAAAGGAAAATTGGAGCTATGGAAGAACAAAGATGACGGG TTTAAAGTGAAAAGCGGGACTGTTTTGGAGCATTTTGACACGAAATATAC ACTTATTGCACTGATGGAAGAGGTTCCCGGTACTATTGGAACAGAGTTTT TCAAAGTTTCACCAGATGGGCAGAATTTGATTATGAAGGTTCATTTTGTT TGGAATTTGAAGGAATTCGACCTTAAAAATATAAAAAATTGCACTGATGA TGTTATGGATTTTTTTTTCAGAAAAAAAAAAACGAAAAATTGAATGCTAA ATGACAGAAAATATGCCCCTGTAACATTTTTTTTTTGAATTTTCTAAATT TTAAATTATTTTTTTCAGTTTTGCGCAAATCAAAGAAACGGCCGAATTAA ATTTGAATTCCCGCGCAAAAGAGTGACGTCATTTTTTTTTTCCCGTTTTC CGGATGTATTATTAGGTTTTTATTTTAAACACAGTTTGTCAATTTTTCAG ACATTTTTTTTTAAACTTGATAACCCGAAAAAAGTGGCCTAGAAATCGGC TTTACAATTTTTTTTTTAAATCGACAAACTGTGTTTCAAATTATGAAACA AGGAAAAAACGAAGAAAAACTTATAGCCGGAAAACGCGAAAATGTCGAAA ATGACGTCACTAAATTGCGCGGGAAAAAATATAGAATTTTTTTTTAATTA ACAGCTATATTGAATCATTAGGGCTTGTTCTCCGTCAAAAAATTTCTCGA AAAAATTGATTTTTCGTTTTTTTTTGGAAAATCGAAAAATTTTGTTTCTC AAAAAAAACAAAATTGGAATTTTTATTAAAAAATTATTTTAATCCAACAA AAAAAACTAAAATTTTTTGCAAAATTTAAAAATTCATAAAACATTTAAAA AAATTTTTTAAAAGTTATATTGGGACTGTATTCTAATACTTGGACTAAAA AAACCCACATTTGACAAAAAATTCAATTTAAAATGAATATTTTCAGATGG GCTACCAAAACGAACAGAAAACCGAGAAATTCGAATTCGAGTCTCCCAAA ATTCACAAAATCATCAAAAATCGTGAAGTACAATGTGATCCAGTTGATAT TCCGTTAGACTCGACTATTCATTTTCATCAAAATTATAATCAAGAAGTAT TGAAATTTCAATCGAATCGATTATTATTTCAATGGATTTATCCGAATTAT TTGTTTCAAAACGATGGAGATGTACATTTTTCAATTGAACAATTGGAGAC TGTATTTGCTGTGGATTTGGAGAATTTGGAATTGTGAGGGTTTCTTTTAT TAATTAAAATTTTTTTAAGTGGAAAAATTTTGGTTTTCTTTTCAGAAATT ATTGTAATGTTGTAACTAAATATTACGGGAACACGAAATTCTAAGAATGC GTATTGCACAACACATTTGACGCGCAAAATATCTCGTAGCGAAAACTACA GTACTTCCTTTAATGACTACTGTAGCGCTCGTGTCGTTTTACAAGCTCAA TTTTTTAATACTTTAAATTAAAACTTTTACTTTAAATTTTAAAAAAATTC GTCTTATTTTTTAATTTTTGCTTTATTCCAATATTCTGTCGATAAATAAA TCATTTTAATAAATTTAGAAAATTGAGCCCGTAAATCGACATGCGCTACA GTATCCATTTAAAGAATTACTGTAGTTTTCGCTACGAGATACTTTGCGCG TCAAATATGTTGCGCCGTACGCATTCTCAGAGTTTTGTGTTCCCGTAATA TAGAAAATTAGAAGTATGTTAAAATTTTTAAAAAGTATTTTTTTTGGACT TTTACCCAAAGATTTTTTTTTGCAAATTTTTAGTGAAAATTATTATTTTT TTCAATTCACGCTAAAATTTATTAAAAATTTAAATAATTTTAGACTGTAT TCTATACAATCAAAAAACAACAAACATCAATAAAATTTTCAATGAGTTTA AAATTTTTTTGAATTTTTTAAAACTTTTCTTCGTTGACAAAACGTTCACA AAACTTGAAAAAATATATTTCAAATTAATACTTAAAAATTCAAACAAAAA ATTTTTAAAATTTTTCAGCCCGAAATACCAACCTATATCACCAGAAGAAT TCGTTCCCACCGACACTTCTCCCTCCGATATCTGGTATTTAAAATCCAGT GAAAAATTGAAAATCCCTTGTCACAAGTACCTTCTCCTACTACATTCACG TCAAATTGGCGCGATGCAGAGATTTCATTCAAATTATGGGAATTTCGGCG ATTTTAAGGATGGTAAATCTGAAAATGAAGTGGAAATTGAAGCGAATGCT AGTGTTGAAACTGTGAAAAATGCGCTGAGAGGGATGATCAATATTCGAAC TCTTTTCAAAATTAAGACTATTGAGGTAATTGGATTTTTGGTGAAATTTG AAATGAAAAAATATTTATAAAAATTGAATTTTTTTTCAAATTTTTTTTTC AGTCACCATAAGTCAATTTTCCATTAGATAAAAATCGATACTTTTTCTAA ATGCGATAAAAATTGGAAATTCTATAAATTCCGGAAAAATCGATTGATTT CAAAAAATCGATAATTTCCGGAAAATTGATAAATTCCAGAAAATCGGTAA TTTCCGGAAAAATCGATAATTACCGGGAAAACCAATTAATTTCCAGAAAA ATCGGTAATTTCCGGAAAAATCGATTGATTAAAAAAGTCAATAATTTCCG GAAAATTGATAATATCTAGAAAAATCATTAAATTCAGGAAAAATCGATAA ATTCCAAAAAAAAATCGATAATATCCTGAAAAGTGAATAAATTCCTAAAA ATCGATGAATTTCATCAATTCCGGGAATATTTTTTAAATTTAAACTTTAA AAAATATTTTTTTAAATCTTTAATCCTTATCTATTTTATTCAAAAAAAAA CTGATCAAAAAAATTTTTTTTTTTCAAAAATTCAATATTTTTGCAGTTAA TCGAATGCATCAACTTCTACGATTATCATTTAATGGATGAAATGTTCAAT GATTCAATGCATATTCTAATGGAAACAATCACTGAATTCACACTTCCATT TCTCTACGAATTATTCTATTCGTTTGAGGAAAAAGTGTTGGAGGGACTTT TGCAGAGGAAATATTTGATTTCTAACTCAATTTCCAGTGTTTTACCGCCA AAGGAGCTTCTTGTACGGTAAGTGAGTTAAGAAATGGAAAAAAACACATT TTTGCTACTGTTGGAATTTTTTTTATTTCACAAATATATTTTTTTTCATT TTAAAGTTAAGTAGGAGTTTATCAACTTTTCTGGATTTCATCAATTTTTC CGAAATATTTTGATTTTCCCGGAATTTCTGTGTTTTTCAGGAAAAAAACC CCAGAAAACTAACAAAAAGAATTAGCAAAAATGACCTAAAAACCGTAAAA CTATGTATCCCAACTTGTCCACGTGTAGTACAAAAAACCGATGTGCACCA ACAAGAATTTTTGCAAAAGCTATTTTTCCATTCAAAACTGCGCCCCAAAC AGTTGAAATTTTATAGAAAATTTTCGAAATTCGCTTCTCCGAAAATAAAA ATCTCAGATCCGCCCATTTCTTGGCTCTTCCAGATTCGCTGAAAAACTGG ACACCGATTGCCGCCGACACCACACATTAAAAGTTCCGTCGAAATTCAAA AATCTAGAAAATCTGAGCACCTATGAGCCCGAGTACATTGTCAAATATTT TCTGAATCTCGACCAAGATTCGGAGGATGTGACGTGGCGATCGATACGTC ACGAATTCCACGACACACTTGACACGTGGCACGCGGAAGCTGTGAAGAAG AGAGATGAGAGACGTATGCACGGAGCAACACGGAGCAGAACGAGTAGTAT TCGGAAGGAGAGCTTTACGAAAATTCAAAATGTTTCGATGACGTCATCGC CGGTAGGAATATCGATTTTTATGTATCGAATTTACTGGAAAACTATCAAA AGTTTAGGAAAAATATCGATTTTCCTGAAATTTATCGATTTTCCTGAAAT TTATCGATTTTCCTGAAATTTATCGATTTTCCTGAAATTTATCGATTTTT CTGGAATTTATCGATTTTTCTGGAATTTATCGATTTTCCTGAAATTTATC AATTTTTCTGGAATTTATCGATTTTTCTGGAATTTATCGATTTTTCTGGA ATTTATCGATTTTTCTGGAATTTATCGATTTTTCTGGAATTTATCGATTT TTCTGGAATATATCGATTTTTCTGGAATTTATCGATTTTTCTGGAATTTA TCGATTTTTCTGGAATTTATCGATTTTTCTGGAATATATCGATTTTCCTG AAATTTATCGATTTTTCTGGAATTTATCGATTTTCCTGAAATTTATCAAT TTTTCTGGAATTTATCGATTTTTCTGGAATTTATCGATTTTTCTGGAATT TATCGATTTTTCTGGAATTTATCGATTTTTCTGGAATATATCGATTTTTC TGGAATTCATCGATTTTTCTGGAATTCATCGAGTTTTCCGAGATTTATCG ATTTTTCTGGAAATTTTACTCCCCAAAAATTTAACAATATATCGTGCCGA GACACGAAAAACTCTAAAAATTACAGATTCCAATCGGAGGCGGCCGCTCG AAACCCGAAAGTTTCTCAAAATCAATCAATAGTCCTGTCATTCAATCGCC ACTCTCTCCCTCACCAATCAAAGGAATGCCAAAGGTAATCGTGTCGAGAC CCACCACGCCACCTGCGCCTTTAAATTCCACGTTTTGTAGTCCCGCCACG ATAGTATTTCCAATTCACTGGACGATTTTCCTGAAATGAGCATTTCACCG TCCCCCTCGACACCGAAATCCTCTTCCGGTGGCGGTCGCTTCGCACCAAA AGGAACTCGATTTAAAAAGGATTTCGAAATTCTCGTGAAACCTTCCCAGT CACCACAGAATCCGTGGAAAATGGGCGGAGCTTCCGCGTCGATTCGCGAA GAAATTGATCCGCAGGAGATCCGATTCGACGAAGTTGTGAAGAAGGAACA GAAATTGCAGACTAATATACGTGCGTCACTTGAAATTTTGGAAAAATCGA TAATTTTCAAAAAAATCGACCTTTTTTTGGAAATTATCGATTATTCTTGA AAATTATCGATTATTTTAAAAAATTATCGAATTTTCTGAAAAGGATCGAT TTTTTCGGAAAAAGTTTCGATTTTCTCGAAAAATAACGACTTTTTTTTTG AAAATTATCGATTTTTAAAGAAATTATCTATTTTTTTGGAATTTATCGAT TTTTTTTAGGAAATTATCGATTTTTTTAAGGAAATTATCGATTTTTTTAA GGAAATTATCGATTTTTTTGGAATTTATCGATTTTTTTTAGGAAAAAGTT TCGATTTTTCTCGAAAAATAACGACTTTTTAAAAAAAATTATCGATTTTT AAAGAAATTATCTATTTTTTTGGAAATTATCGATTTTTTTTGAAAATCAT CGATTTTTAAGGAAATTATCGATTTTTTTGGAATTTATCGATTTTTTTAG GAAATTATCGATTTTTTTGAAATTTATCGATTTTTTTAGGAAATTATAGA TTTTTTCTGAAAAATTATCGATTTCTCAAAGGAAAAGTATCGATTTTTGG AAATTATCGATTTTTAAGGAAATTATCGATTTTTCAAAAGAAGAGTATGG ATTTTTTGAAACTATCCATTTTTCTTTTAATTATTGATTTTTTTCCTGAA AAATTATCGATTTCTCGATGGAAAAATATCGATTTTTCTGAAAATTATCG ATATTCTTTTGGAAATTATCGATTATTCTAAAAAAAATTATCGATTTTGC AGGAAATTCTCGATTTTTAAAATAAAAACAGCGATTTTTTTTTTGAAAAT CATCGATTTTTAGGGAAATTATCGATTTTTCTGAAAATTATCGATTATTT CTTCAAAATTATCGATTTTTCGAAGAAAAGTATGGATTTTTGGAAACAAT CTATTTTTCTTCAAATTATTGATTTTTTTACCTGAAAAATTATCGATTTT TCTGAAAAAATATATAATACCACACATTAATTTCAGGAACCGGATTCAAA AAAGTGCAGCTTCTACCACACGTGGAGACGGAAGAGCTCGCCGGAGCTCA AATTTTGGAGGTTTTTCGACGAGAACTTCACGATGAGGCGCTCATATGTG TAGGAATTTGTGATGGTTTTTTTCTCAAAAATTTGAAATTTTTCAGGTGG AACTGGTGATGAGCGACGATTTGGAGGTGGAAAACGAGCAGATCATCTGG GGAAACATGCCGGGACTTGTTCGGCGTTAAATTTTAAATTTTTGATTTTT TTTTTTCTTGTAACTTGCATTTTTTGTTTAATTTAGTGTTTTCGGTGTTT TTTGTTGAAATTTTCGGGTTTTTAATATTCAAAAATTAATTAAATTATTA TAAAATAAATGCATTTAGAAATGCGGTATAAATTGAAAATTTTCAAAAAC CATCTCCCCGAATCCAGTGGTTTAGGATGAAAATCGTGGAAATCGAGCCG AACGAGAGAATTCCGAGTTGCCACGTGGGTCTGAAAATTGAGTGTATTTA ATTTTGGAAAATTTTGGAGATCTCTTACATTTTCTCAAAAATCCATAGCT TTTTCCCATTTTTTTGTTGCTGGATCATTTTCAGCTCTTCGGTTATATCG CAGACTTTGAAGCAAGGGTCTTCCGGGAGAATTTCCTGAACATTTGAAGT TTTTGGGTGAAAAAAAAGCTTTTTTAAAAGATTTTTTGGTATTTTCAAAT AATATCGGAAATTTGCGTTTAAATTTTTTTTTTCAAAAAAGTGAATTTTT TCAAATTTTTCGAAAAATCGAAAAAAAAATTTTCGGGTTTCTGGAAATTT TAATTAAATGTGTTTATGATGATGAGAAAATATAGTTGACAAAATAATTT TTTCCGATTTGTCAATTTTTCAAAAAATTTGAAAACAATTTTTTCCATTT TTATTCCTGAACATAAAAAATTCGAAAAATTTTCGTTTTTAATAATATTT CGGAAAAATTTTGAATTTACCGTAGTTGTGTCATTTTTAAAGAAACTCAC AATATTTCTAATCGAAGTATGCATATTTTTTAAATGAATTTTTGGAAAAA TTTCAAACTTGTTTTTTGTTGAATTTTTCGATTTTCTTTCGTTTTTTTAA ACAGAACAAATTTTTCATCATCTTTTCTACAAACAAAACAAAAAAAACAA TTTTTGTTTTTAGAAAAGCGAGAAAAATTTCGAAAAATTATTTTAAAAGT TAGAAAAATATCAATTTTGAACGGAATTTTTTCAAAATTCGATTTTTTTG TTTATTTTTCTAATATGTTCAGTTTTTGGCCATTTTTTTTTTTAAAAAGT TTGCTTTCAAAAAATTTTAAATGAGAATTTAGATTTTTTAACGAGAAATG TTGAAATTGAGAAGAAAAAAAAAATCAATTTTAAATAGAAAAATTTTCTT TTTCTAACATTTTCAGTTTTCTCAAAATTCCAAAAACTCGTACATCCTCC TGACAAGTACAGTAATCCATTGGATCCAGATTCTCCTCTCCAACACTCGT TTCCCGAATTTTTTCGAACCAATTGTTCATTTTCATAAGAACCGAGCTCA TCGCAATCAATTTCCCGATATTTCCATCGTATTCCTCCGAAAATTGCTGA AGCCGATTCAAATTTCCAATATCATGCTGGTGGAGAGAATACGGAGTGTT CAATAGATCCGTAATTGATTTAACTTTAAAATTTGGTTTTTTCATTGTAA TAATCATGCTAATCGTCTTGACATGATCTGTTAAATTCTCTCGTTTCGGC GGAGAATATAATCGATATTCCAGTGGCACGAGGTTGTCGAGAAATCTATT GAAATTCTGATAAATATCGTTCCAATCACTTCGAAGCTCGTCAGTTTCGG CTCCAGCTCCGCTTTTGAAGCCAGTCGTTTTTAGATTGTGCTCCAGCGTG TCTATTGAGCTCTGAAAATTTGATTTCAAAAATTTTGAGTAACTCAGACA ACCCCATTTTTCATCTAATTCGAAATTAGCCACATCTTATAAGAAATTAA CCACATCTAATTAGAAAAAACTTTTCTAATTAGAAAGGATGCATATCTAA TTAGAAAAGCTGCACACCACATCTAATTAGAAGGGATGCTCGTCGAATTA GAAATGAGGCACATCGAATTAGAAAGGGGGCGCGTTGAATTAGAAGTTAT GCGCATCTAATTAGAAAGGAGGCACATATAATTAGAAACACATTGCGCAC CACATCTAATTAGAAGGGATGCTCGTCGAATAGTACTACCTTTTAATGTA TGTACTACCTTTTAATGTATGTACTACCTTTTAATGTATGTACTACCTTT TAATGTAAGTACTACCTTTTAATGTATGTACTACCTTTTAATGTATGTAC TACCTTTTAATGTATGTACTACCTTTTAATGTATGTACTACCTTTTAATG TATTACCTTTTGGCTCTTAATGTTGAAAATAAATCGAATCAAATTAGAAA CAATGCGCGTCGAATTAGAAAAAAAGCATGCCGAACTGGTGCGCGTTAGT TGACCCTATTTTTCTAATTAGATGAGAGGAATAGGGTTGTCTGAGTAAGA CTGCAAATTATCAAAATTTTTTGGTTCAATTTGTTTTTGGAGAAAAAAGT GAAATTTCCTGGCAATTTTCAGTATTACGTAGACGTCGAAATATGAGATT TTTCACCATTTCTTATGGGTCTCGCCACGCCGACAATCAATTATTGTAGT TCATGTCGATTTACGGCGCCACTGTTGCATTAATATTCCAAATGACAAAT TTGCCGCCGAGTTTAAAAAATTCAATAAAAGCCCGTAAATCGACATGAAC TACAGTAGTTGGTTGTCGGCGTGACGAGACCCAATTCTCATCTTTCGACG TCCACGTAATATAGAAATTTTTTTTTTGAAAAAATCAAACGATTTTGCCT CAAAAAATTCAAAACTGTAAATTCAAAAAATACCACAAAAAAAAAGCGAA AAAAATCGCGGAAGACAGTGGCGCCAGGCTGTCTCAATACAGTTTGATCT ACAAAAAATGCGGGAATTTTTTCACAGAAAAATTGTGACGTCAGCACGTT CTTAATCATACGAAATCAGATGAGATTTCTGCGTCTGCCATCCCGCATTT TTCCAAGATCAAAGTGGAACTGGGACTTTCTGAATAGGACTTTCTGATTC CACGTGGGAAGGATGACAAATCCAAAATTGCGATATTTCACTAATTTCAC TGCTTGAATTTCCTTGGAACCAATCAGCGTCTTCAAACTCCGCCCACTCC ATCTGATTGGTTGAAAAATGGGCGGAGCAAATCGCTGATTGGTCGCAGTT CTCATTTTTAGCCAAAGTTAAAAATCTCGATTTTTCAAGGTTTTTTGACC ACCTCCAATTCCAAGCTTCTTCCTTACCTTCAAATCGTAGAATATTGCCA ATTCTCTGATTGCATCGAGTCCTTCCTTCAAAACCACAACATCTTGCAAC TCGAACCCCGAAAGCTGATATTTCTCGTTTAACTTGAATTCTCCTAGAAT ATCCTTCGCACGTAGCAACTCTCCAACGATTCCTTCAGTTGGTAGAAACT CTTGTAGAGTGTACACTGCCTCCCAGATCTTCTCAAGATCCCCGTAATTC CAGACATCTTCCGAGCTAGCCACAAGAAATTGCATATGTTGGTGTTTTTC GTTTCGAGCAACACATTCCAATGAGGATACGAAGTTAGACTCGTTGATTT TTGTTAAAACGTTTATCATGCTGGCGTAGATTTCCTCGAATTTGGTTTTT CTTTCTTGAAATTTTTTGTATAGTTTTGAGGGTACCATACAAAAATTCTC GGGAAACTTTTCGATATCATCTATCATCATCGTCAGGTTATCGAAATCTA TATACTACAGTGTTTTTTGAAGAGTTTCCACGATATTTTGATCGGTTTGA TGTTTGAATGCTTCGAGAATACGCTCGTCTCCGCAACGTCTTAACGTAAT GCAAGGCTGTGCGGTGTGTACAAGTGTCTTGTTTAGCTCTTCAAAACCGG AGCGATACATAGAAATGGTTTCATGCGCAGCGTCCAGCTGCTCAGGGCTC TTGAAAGTTTTCAAACATTCCGAGAAGCTCTCAACAATGCTGTTGAGGTT ATCCTTTGGCAGATTTTCCCGAATTTGATTAACTTCTGATAGATATTTAT CGATATATTCGATATTTTTATGATATTTTTCCGTGTTGTTTAGGATTTTT TGCATCGCAAATTCGAATTCCACATAGTATTCCAAAAACTTATTCAATGG ATGCAGGAATTGAATTGATCCTTTGCCAGAAACGCTTTTTATCCAATAAT TGCTCTGCTCTTTTATGGACTCTCGAATACTTTCTTCTCGTTTAGGGAGA CCTAAAGCTCCACGATCAATTCGTTTTTTGAAAGAAATAATTCAAAAATA CCCAAAAGAAAATTGCCTGATGGCCTGGAAGAATGCGTATCCGAGGATTG AATACTACGAATAACGTCCCTGACCTTTCGCACCCAATTTGAAAGCCCCA GTGTCGTATTGGTGTCGCGAATCATTTCTAAATCACTCAACGCCGCTTCG AAATTGTTCAGTCTTCCCACTGACAAGAAGTCTCGAACACTTTTACTTTC ATTTTTCATTATAGTCGTAGCGAGTTTGAAGAGATAAAATGGATCTTGAT GGAGCAATGCGAATTCTTTCTTGGCTCGTTCCGGAAAGAAATTTCTGTAG TAGGCGCCAACCTCTTCGACCGTTTCATAGTTCCGTTCTGTACGATCTTA AAAGGTGGAGTACCGAAATCTGGGGAATATTTCTAAATAACTCCAAATTT GCTCCTGATTTCAATTATCCATGTGAAAAAATTCAAAAAATCCCTGATTT TGTATTTCGGCTTGAAATTGCCGAATTCCATTTGTGCACACATGCAAATT TTTCAAACGCGCGCCCAAAGAAATTATCATTGGAGCGCGTTTGCCTCATT TGATTCTCTCCGGAGCACGGTAGCACAGAAACTAGATGGATTGGTTCATG ATACTCAGTCTGGAAACCTATATTGGCTACTATCTCGAAAACCATCATAA AATCGATTTTGCGATGCAAATAAGAAATGACCGCAATGAAATTATCTATC TCCATTCGTGATGAATTTTCGATTTTGTACTTCCTGGCCAAGTTATGCAC GTTTGTTCGGTGGAGCGCGTTTTCACCCATCTAGCAACTGACACGGTGGT TCAGTAGCCAATATAGGTTTCCAGACTGAGTATCATGAACCAATCCATCT AGTTTCTGTGCTACCGTGCTGAACCACCGTGCTCCATCTACCGTATTTCT TCCATTAATATGGCTGCAATACTATTTTTCGATGGTCTTCCCGCTTGCAA TACTAATAGGGAGTGCAATACTAATTTTCAGAATATTTTTCTGCCTTTGA GCTTACTAGTTTTTTTCTGAAAAAGCTCGAATTTTATGTAAAAATTCAGA AAATTGGTTTTAATTGTAACCTATAAGTTTCAAAAATTCAATCTCGTAGA AATTTTTTTGAAAAATTGTTGCAAAATAGGCAAAAAATATTGTAGAAGTC CTGAAATTAGCGAGACGGGATTGCAATAAAAAAAAGTAAACGCAAGACTA TTAGGGAGTGCAAGACTAATAGGGAGTGCCATACTAATTTTCGGAAGGTC TCCGAGGGGCAATACTAATAGGGAGTGCAAATCTAATAGGGAGGCCATAC TAATAGAAGAAATACGGTATTTTTAGTTCCTTTATTTTTTCAACGAGAAA ATCAAATGAGGCAAACGCGCTGCAATGAAAATTTAAATTTATTTGTGCGC GCATTTGAAAAAACTCATTCGGACGCAAATAATATTCACGAATTTAAGCT GAAATATAATATCAGGGAAATTTTTTTGTTTTTTTTTCATACAGATATTC TGAATCAGAGGAATTTTTTTTAGTTATTTGAAAATATTTCCTAGATTTCG GAAATCAAAACAGCAGCTTTTGTACAACAGCTTTTTTTTAAATGTAAAAC TTGTTTAAAAGTCAAACCACGTCCATTTTAAAAATTAATTTTTTAACTTA TAAAATAAAAACATGTGGAATGCTTTTGCATGTACATTTATACAAGTTTT TTGAGAAAAATACATTTAAATTTGAAAAATGTGTTTACTAAAATTCTGAT CAATTTTTTTGTTATTATATATTAATAGCTGAACTTTACTTTAAGACAAA AATTCCTCTAATTAAAATCTACCTTCAAACCATTTTTTCAGTTTTTGCAA ATTCTCCTCGGAAATCGCAGTAGGACTGGGAGCTAGATCATTGAGTGGCG AGAGAAAATCACGGAAATTTTTCAGGCGATTTTTCAGGCCCCATGTTGCC TCCCATCCGTATTTTGGTTTCATGAGAGATTGGAGATCATGAAATAAATG CAAAAAAGCATCCAGCGAGGTGGTGATCTTTTTCAGTGATTCTCGCTGTA GTTGAAGATGTGGGAGCTTCTTAAGTAAATTTACAGCTTCTTCTCTATCC TTATAAACTTTAGTGTTCTTCCTTTTCCCGACAATCTCCTCGAAAGCTCT CTGCTCATCCCATCCGCCAATAGATTTTGTTTTGTAGAAACTTGAAATCC TATCAAAATCGATATCCCGATCTAATAGCTGATTCGTCAGATCCGTAGAA GCGATTTCGCCGCTGAGAAGCCCATCGACGATAAGATAGCAGTTAAGGAG CGGTGGTAGTGAGCTCATCCAGTGAATCCACAGGTTTATGGAGTCCTTTC CGTAGACTGAAATTATTTTTAATATTAAAGTAGAAAAAAATTATTATATA AACTAACTATACGCAGGAAAACTCGCATTAAGTTCCAGATTTCGATCGAA GAATTGTGGATGTCCAGCTGGAAATTTTTATTTAAATTTAGTAAATTTAG TGAAGAAATTTAATTTAAAAATACCTGTCAAGCGCTGACCCTTAATCTGC TCCAACATTTGAATACCTTGCCGCTCCCTTTCCGAAATTTCGAGATCTCC GCAGTGTTTACCCGGTAGAAAAACAAGAAGAAAGGGAATTATCGTTATAA TCATCGTTATCTGGAAAAAAATTAATTTTCATGGAATATATTTCAAATTT TCGACAACCAAACGCTGAAAATTCACATTTTTTTCAGGAAATTTGGTTGA AAAATCTGTTTTTCATAATATTTTGAGAAAAAAACAAGCGTAAAGGTATT CAAGGCGCATGCAATTCACTTAAGCCAGGGTCTCGAAGCGAACAGAAAAC ATACGGTATTTGAAAATATTCTTGTTTTCCGCGGAAAGTCGCAGAATTTA ATTTGATTTTTTTAACTTAAAAAAACAGAAAATTAACCGTTATACCTTTT GAGCAAAAAATTCTACAAGATAATAATTTAAAACAATTAAAAATTGAATA AACATTGAAAATTAAATGCTTAAATTTCAAGGCGCGTGCATCAAACTTTT GTTTGGGTCTCACACCGAATGTAACAAGTACGGTAAGAGTGCGCGCTTAT TTTCATTTTTCGAATTTGTGCGACCAGTTCTCATGTTTTTTAAACGATTT TTGCGGTAATTTTGGCCATTTTTTCTAGTTCCCACCGACAAATTGCATTA TTTCCGTATTTTCAACGAAAATTTTGTTAAAAAACCAACAAAAATTTAGA AAATTGCATCATTTTGCAGGGATGAATGGTCAAGCGGATCGCTGCGACCG AACCGCCTACGTTTCGGGTCTTCAGCCGACAATCTCCGACATAGAACTGT TCGAGGTGTTCAATCGTGTCGCTCACGTCGAGAAGGTCATCGTTCGCAAT GGAGCCGCCCGTCACGCGCTCATTGTTTTCAAGTTGGCATTTTTTTTCCA TTTTTCCTCATCTAAATCTCTAATTTTCCTATTTTCAGAACTGTTCAAGG CCTGTATCAGGTGCTCGTAAACTTTCAAGGAACAACTCTTCACGGCCGTC AGCTGCACATTCGTCCACTGCGAGAAAGTTCGCACGCGAACAGCGAGGCC ATCTCAACGATGTTCGAGAAGGTCAAACATCAGGGAAATTCCGGGAATTC TTCGTATCGTCAAGAGCACTCGTTCCCCGAGTACCGAAACCAGAACCCAC AGGCTTCATCATACCTTCCACCGAATCCACGTGGTCATCGAAACTCGACG GGCTGTTTCAATGGTGGCGGCGGGGGCTATGGACGCCGACGTTCCGCCGG TGGATACAATCAGTACAATCAGAACAAGTATCCGAACGAAACGTACCCGG GAATGACTCTGTTCGATAATCATCCAGTGCAGCAGTATTCGGGCTTCAAT CCCATCGATTTTCGCTTTGATGACTATGTGGAAGGAGCCAAAAGGTGCAA AATTCGCCAAATTTCGCTAAAAAATCTGAAATTTCGCCGACTTTTCCCGT AGCGCAGCAGTTTTTTCTTGATTTAGGCACATTTCAGGCAATTATTTTCG GCAAATCAATATTTTTCCACCATATATGTTCTAGAATGTTTTAGATGTAC TAGATTTTATTTTCAGACGAATCAAGTGATTTTCTATATTTTTACACTAT TTTTTGTTGAAATATGACCAGAATATGCAACAAAGTGTTCCAGCTGCTGC GAAAAGGAAAAATCGGCGAAATTTCGAATTTCAGTCTATTTTAATCTGTT TAAGCAAAAAGAAAACTAATTTTTAAAATTCAGATTCGACAACCTTGCCA ACCTGATTCGCTCGAGCACCCCCACGGATCCGTTCGCTAATTATCAAAAG TATTTTTGAATTATTTTGAAAATCAATAAATTGGTTTTTTTTTCAGACCT TGTGAATCCACAAGCACATCTCGTTCTCGTACGAATTCAGCAAAAGATCA AAAGCATGGCCCGCCAACGTGGAAAATGGAGCTGCAGATTAAGAAAGATG ACCACCACCACGCCGGCGGCGGAGCAGCAACCACAGGACAGAAGCTGTCC CCACAACAGTTTTTGGCTCAGATAGCTCAGAGACAACAATCGGAGCAAAA CGCGGATGAGGTGGCCAAGAAGAAGCGTCCGAACCTTTCGGTTATCAATC CATCGCTTTTCTATGAGCAATACCCGAGAACATCGTCGCCAGTTGTTTAT GCTTCAAAATCTAGTAATATTTTTTGGAGATTTTGGGAAAAAAACAAATT TTCTCGAAAATACGCCCGAAATAGTGTTTCACGCGAAAATTGGCGATATT TCAATTTTTCTGAAAAATTGCTATAATTTTTTCGATTTTCACGTGAAATT GCAAGTTTTTGGATATTTTTCTCGAAAAACGTCAATTCATCGATTTACGC AGCTAGTATACTCAGCAATTGACCATTTTTTTGCAGACAATTTGGTATTT TTTACTTAAAATTCTTGATTTTCGACTTCTCGTGTGCTAATCACTTTTTC AAATGCGCGCCCGAAGAATTTCTCATTGGAGCGTGCTTGCTTCGTGTAGA TTTACGAGAGCTTTCCATTTATTTAACTTCTTTCGTGCTTTTTCAGTTTT CCAGCGAGTTTCTGGCTCGACCCCTCGGTGTATTTTGTGCAAACACCGTC ACGCGCAAATGCATGCACTTTTTCAACGCGCTGCGTGAAAATTCCTCTTG CGATTTCAAATATTTTTTCCCGCCATTTTCCAAAATTTTCGAGAGGGGGG GGGTCGAGCCAGAACACCTTGGTTTTCCAGCGAGCTTCCTTCATTTACGT CGATTTTTTTTTTAATCTTCGTTAAAGTTCTAAAAAAAAACGACTTAAAT CATTTTAAATTTTCCAAAATTCGGTTTTCCTTCTGCAAAAAAAATCAATT TCCAGAACCATCCGGCCACTACGACGACAAAATCGCATCTCCACACGATC CGGCAGTTCTCGCTTACAGTCGCCTTCGTGTACCTCAATCGGCCTTCGAC AGTCTCTCACCAATCGACACCGACAATTGCTCATTCATCACAAAACACTT GGGACCAACAACCGGTGTGAAGCGTGATTTGACGAACGACGAGTTGTCGG ATATGATTGTATCAACTGGAAATCTCCGAATCAATCCAACCAACATCGAT CATCATGACGAACCGGCACCATGGTCTCCGCTGAAACGTCTTCGCGCCGA AAGTGGATCCCTATCAACTGCACAAGTCGCGTCGCCCGAGTTCTCACCGA TCAAACCAAAGACAATGGAGTTCCACGAGACTGAGGATGATGTTTTTGAA ACTGGACCACCACCAACCTACTTATCCGAAGGAAACGAAAACGCGGAGAA GAAATGTGTTGAGCAGCCGAAAATCAACTACGACGACATTAATAATAGTC GTCTTCCGTCGAATTCTCATTCGGCAGCACCGAATTCCGAGAAGAAGCAT TTCGTTTTTCCGGTACGGGGGCTTTTTTTTGAATTACCGAAAAAATTCCC AACTTTTTAAAGTTCAAAAAAGTCAAAATTTTTGTCCATTTTCTGGGCGT GACTGCTTATGCCCCGCCCCCCTTTTTCGAAGTTTCTGCTTCTCGGAAAA TGTATTCCCAAAGTGCCAGTTTTGAGGCCCCACGAAAAGGGAGCAGAACG AAAGAGGCACCACGGATTCAAGATCTGGTGCGATTCCGGATCTGGCACCG TGCCAACAACTTGAAAACGTGGTGCCTCTGAAAATTTGCTGCCAAGGTTG AAATATCGAATGCATTACCCGTAAATCGACACGAGCTACAGTAACCTGTT ATCCGCGTGGCGAGACCCATGCGCGTCAGATGTGGCGAAAATTATACTAA AACCTGTTTAACTTGCAGAAAAACTTAATTTTTTTTGTTGAAAAAATTGA GCCAAAAGACTCAAAAATTTCATAAAGCGAAACTTTAAAAAAATATATAA TTTGTTAAAAATTTCACGAAATATTTATGAATTAATTAATTTTTCCAGGA ATACCCAATGTGCCGTCACTCGTCAGTTCCATCGATTGCTCACTTGGTCG GTGATCTGTCGGACTTTTGCCCACACGCTACAGCCGACGAGAAGATGCTG CTCGACGAGGCGTCTTCAATCATCGAAAATACAACTCCAGCAGTGTCTAC TGCTCCGGCTGCTGCTCCAGGAGCTACAATGCTCCAAATATAGGAGAAGA TCACATATACAATAATATAATCTTATTGCATTTTCGCAATTCTCGTTCTC TCCACACACATACACACATCATCCCAAGTATTCCTGTGCTGAATCTCAGT TTGAATGATGTTTCATACCGTTTTTATCCCACTATTGCCTTATCGTTTCC TGTTTTATTATATTTTTCATTTTTTATATTGCCACCACCACCACCAACAC CACCCTCTCTATCTTTTTTTGTTCTTTTGCCTCCAGCAACATCATCACCT AGTTTTCTGTGAATTTTGAATTTTGTGTTCCCCCGAGTCCCCTCTGATAG GAATGATAGGAAAAACAATGAAAATGCGAGTTTTTTCAAAAAAAAAAATA CAAACTAGGAAACTATAGAAACAAAAAAAAAACATTTGAGGCGCAGTACC GAAATCTCTCCAAATTTGGCCCGAAAAATTCAAAAGAAAATATTTATTTT TCTAAATTATTATTTTTCCGCCACTCCAGCCTCATTCTCATTGGAGCGCG CAAAGTCATGTCGATTTACGAGATTAAGATTTTCAACGAGTTTCATCATT GTTATCGATTTTCGTGTAAAGTTAACTAATTTTTTTGAAAATTTTCGCAA AAAATTTTGGATAATAAAATGTTCAATTGGCACGAAAATGCAGATCTTCA GCAAAAAAACCGACAGAAATGTGTAAAACTGAATCTCGTAAATCCACATG GCATAACGCGCTCCAATGAGAATGTTTTTAGCGAAAAGTTTGAACAAAGG AATATCAAATCAGGGCCAAATTTGGAGCAATTTCTAAAATATTTTCTCAA TTCTTTCGGTATTCCACATTCAAACAATTATTCGGCCGTTCCCATGAGCC TCTGAATCTCGATGGGATCCCTTGGCACTGCAGCAGTCAACAGCTCAATC CCTCCAGCTTCACTAGTCGCCACGTCATCCTCGATACGGTATCCAATGCC ACGAAACTCTTTGACAGGCCAATCCATCGGAACATACACTCCCGGCTCAA TGGTAAATGGCACATTCGGTGGTAGATCAATGTCTCGGGATACTGTCGGA CAATCGTGAACATCCATTCCGAGATAATGACTGACGTGGTGGGGACACAG CTTCTCCGCCTGATGAATCATCTCCTTGTGATCCGTAGATCGAATCAGGC CGAGTTCGGTGAAACTTGCCGCGAGAAGTTCGTTCATTCGGCGGAACAGG GCGCTTAGGCGGACTTTTTCCATTGAGTGGGCGTAGGTGAGCAGTTCTTC GTGAACGTAGAGAAGCGCTTCGTAGAGGGATAGTTGGGCGTCTGACCAGC TGCAAAAACGAATTTTTTTTTGGGAAGGTTTTTTGAAACGATTTTTCAAA TTTCGTTCGAATTATATTAAACTTTATATAAAACGATTATCCACGGATTT CTGGCTTCCCTCATAAATTGGAATGGAAGAGTTTACCGAACTAGGCCATT TTGGCTCGGCCATATCTGGTGCCGCGTCGCGGCTCGATTTTAGTTGTAAA ACTAAATGCATTTGTACGTGTGGAGTACACGACTTTCCCACGCGTTGTCC GGCGGGCGATTGTCAATGGAGCGCAAAAAATTCACTGAGGAAGGGGAGAA CTCCGTGATTAGCACCGCCTATTTCTCTCACGAATCTATTTCTTCGAAAT CTTCTATTTTTTAAAAATCAATTCCTGAATTCTGAAATTCATTATAGCGT AATTTTTTGGGAATTTCACCCTGAATTCCATTTCTACGGAACAACATTTT TTTCTCGAATTTGTGGTGACTCAAATTAGAATTTTCAAAATCTCCAGAAA AAAAATCATTTTTCCTGAATTTTCTGGAGATTTTTAAAGGAATAAAGTGC AAAAAAGACTCTTTTTGAGGCACCACCGAAAGGAGAAAGGAGAACACAAA CCACGCCCATTTTTCCGTGCCGCGCGCAAGTTTTTCTGCAAATTTTTATT TTCAAACGAGACAGCGAAACTCCGAAATAACGCATATCGTGTTCTTTATC ATCAACGTGTTATTTCGGAGCTTCGTTGTCTCGTTTGAAAATAAAAATTT GCAGAAAAACTTGCGCGCGGCACGGAAAAAATGGGCGTGGTTTCTGTTCT CCTTTTTCACCTGTTCTCCTTTCGGTGGTGCCTCTTCTTTTTTTTTTCTA TGTTTAGCGTAATTTTTTAGCCATCTTGGAATAGCCCCGCCCATTTCTCC CACAAATCCATATCTACGAAATCTCGCATTCCAGAATGATTTGTGGTGTC TCAAACGGGAATATTCAAAATTTCTAGAAAAACCCCATTTTTCTTGAATT TTGGCCGAACTTCTGTAATTTCTGAAATTCTGAGAAAAATTTTCATTTGA GTCACCACAAATACTGGAATGCAAGATTTCGTAGAAATAGACTTGTGGGC GAAATCAGCAAAAAATGGGAAAACATTCAATTTTTTTTAATTTTTTGGGG TTTTATCACTAATTTTTAGCACTTACAATCCAGAAATCGGAAAGCAACGT GTCACATCTGACACATAACCATTCAAATCACACCCAGCATCCACGAGAAC ACATTCCCGGGGATTTAGGTCATTATTTGCGTCCAAATAGTGAATAGTGT TGGCACGAACACCACCGGCAATCACTGGTGGATATGCTTGCATTTCTGAT CCACGACGACGTCCTTCAAACTCCAAGAGCCCGCAAATCGCGTTCTCGTT GTGTAGATCACGTGATCCCGATATCATTGAGCTCATTGTCTGGGCTCCCA CGTTGCACACGTCACGCATTGAGCTCATTTCGGATGGAGATTTTATTACT CGGCGACGTTCGATCTGCAAGGAAAACTTGAAAATTGGCAAAAAAATAAT TTTTTTTTTGAAATTTTAAAACGATTTTTCGGGTGTTCAGAAAAATTTTT TTTAGGAAAAAATTGGAATTTTCCAAAAGTTTCAAAAAAATAATTTCTAG AACTTTTTCCTAAAAAAAAAATGAATATTGAAAGCTTCGAAAACAGTAAA AATTGGGAAAATTTTTTTACCGTTAAAAAATTTTTTTTTTTCGAAAAAAA AATTTTCAGTTTAAAATTTGGAGCGTTTTCAATTTTATTGATAATTGGTG AAACAAAATAAAAAGTAAATAAAAAATTTTTTTTTTGAAAAATTTGAAAA ATTAGATTAAAAATGTTTATTCTGGGATGAAAAAAACCTCCTAAAACCAT TTTCTGGAAAATTTAAACTTCCTATTTTGTTCAGACAATTCTTTTTTTTC AAGAAAAAATCAAATTTTCCACTAGAAAATCGAAAAAAATTGACCTCGTT TAAAAATTGGACAAAATTTGAATTTTTACTTTGAAATCCTCGAAAATCGG ATTTTTTTTTCAAAGCTTGAACAATTTTCTGCAAATTCTATATATCTCTA AACTCACAAAATGATTAATTTCCCGAACAGAATTAGCTTTAGCCTGTACA AACTTATAGAGTAAATCATCAGAAGTCGAATCAAAAAACACTGCAGTTCC CTTATCGCAAACTTTTTCCAAAGTCTGTAGAATCCGGCTAGTCGGCACAC ATTCCGTGAATTTTGCAGTCTTTTCCCATTCGGATTCAGTTGGTAGGGCG CCTTCCCATAGCTCATCATAGGCACTACGACGGTCAGCAAAAAGAATATT TGTTTCTTTTGAAGATTCGGATATTCCTGATTGCATTATGTAATAACAAT CTGGTGTGGTGATTCCGTTTAGGTATCTGCAAAAAAAAAAAATTTTTCAA ATTTTTTTCTGTTAAAAATTTAATTTATTTTTTTTATCAAACAATTTTGA ATTTTTCCCAAAAAAAATCCGAAAATTGTGAACAAATCTATTATTTTCGT TGAACAAAAAAAAAACAAATTCAATTTTTAAATAATTTAATTTTCGTTCA GAAAAAGAAATTTGTCGATTTTCGGCGGCAATGATTTTTTTTAACGAAAT TTTCCTGAAAAATTCAATATTTCAATAATTCCTGATTTTCTAGTTTTTTT TTTAAAGAAGAACATGTTAAATTTCTACTAATTTTATAACAAAAAATTTC GGGAAAATCTAGAATTAAAAAAAAATGTTTTCAGAAAAATTCTACTAATA TATTAATTTTAGCTTAAATTTCGATAATTTTAGGTTATTTTTCAATTTTT TTAGGGCGAAATTTTGATTTTCAAAACAAAAATATTTTCTGACAAAAAAA TTAATTTTCATTCTTTTTTAGATTTTTTGAAAAATTTTCAATTTTTTTCT GAAGAATTTGGTACTTGTGTATTACATGCCCTCATTTTTAAATTAAATTA AATGTTCATTAATTTCTCCATTTAAATTAAACGTGATATACATTTTCTCT TTTTAGGCTTAGAAATTGCTATTTTGCTACTTAAAAAATTACTATTAAAA TGAGGGCATGTAATACACAAGTACCAAGAATTTCAATCAATTCTTGTTTT TGAAATTTTTTTTGGGAAAAATTCCAATTTTCGATTGTTTCTTCGATTTT TTCAGAAAAAAAATTTTCTAAAATTTATTTATTTGTTTGAAAATTGGATC TAAAAAAATTTCTCTAGTTTTTATTTTTTTTCTGGAAAAAGCTTTTTTTA ACTTAAAAAGTTAATCTGTGGCCGAGTTTTCTCTCATCATTTTCACGGCC ACGGCCATCAAAACCGAACCTGAAATGGCTTTTCTGTCGGAACGCGTGTG GAACATCCGGTGCAATATATGATTTCCGTGCTCCTTTCATCACAACGACC ACTTGCTTTTCTGAAACTTTGAGAGGTCATGGCCTAACTTTTAAATGGTT TTCTAGGCCACCATGGTGATTTTATTACGGTACCGGGTCTCGACACGATG AATTTTGTAGAATAAATTTTTCTGAAAAATTTCGTTTTTTTTTTTAGAAA AATCAAATTTTCAAGAAAAATGGGAAAACATTTTTCAGGAAAAATTTAAT TTTATAGAGAAAAATAGAATTTTTCCTTTAAAAAAATCTGAAAATTCGGA TTTTTGAGAATTCTCTTTATTTGGATTTTAAAATCCAAATTTTCAAAAAA AAATTTAAAAATCGGAAAATTCCAAATTTTTGAGAGTAAACTCGCCTTAA TTTTTTTTTTCAATTAAAAAAATTAATTTTTTAAAAGAAAATTGGAATTT TTACCCAAAAATTGGCAATTATTCGAGTTTTCAACGGAAAAATCTGAAAA ATCCGAATTTTTGAAAAAAAAATCTTTAAAAATCCCAATATTCAATTAAA AACCGCGAAATTTCGGATTTTTGAGAAAATTTTAATTTAAAAAAGTCCTA TTTGTACTGCAAATCCTCATTTCCAAATGATGGCCTAACTTTTTCAGAAT TCTAGGCCACCAGGCCATTTCTCTGCCTCTTACCCCCAGTTTTGACCTCT TTTTTGAGTAAATTCATCAAATTCGTCCTTCTCATCGCATATTCCTCATT TGGAATTCGCGATGGCCACATTGGTAGGCTCCGCCCACTTCTGAGCATTT TTTTTTTGGATCTGATCTGTGTGGGAGGGAAATTCGAATTTTTTTAGAAA TGAATAAAACTGAAAAAAATAGATTTTTTGGGAAACAGGGAACCTGAATT TTCGAGAGAAAAAAGGAGGTAAAACAAAAAATTCGATTTTATATTGAGCA AAAATTAATAGAAAAAATAAACTTAACAATTATGAACAGAAAAACCTACT AAAAAAGTCTAAAAAATGAATGAAAAATTGCAAAAAAAATCTACAATCGA TACGAGACTCCTCCTCCAACAATGCAGTTCTCGCCGGTGATGTACCTGAA AAAAAGTGATTTTTTTTTGAATTTTTAGAAAACAAAATTATGAAAAAAAC CAAAAAATTTCCGAATAATCGAAATTTTTCGGAAGTTTTAGGTTAAAAAA ATTTTTTTTTGATGAAAAGTTTTTTTTCAACAATTCTGAAAACTAAAAGT ACCAAAAAATTTTAGTTTTTTCGATTGTTTCAATATGATAATTTTTTTTA AATGTTTAAAATTGTATTTTTTCAAAAAATATTATCAATTTTCCAATTTT ATGGTAATTTTGGATGTGAGATTTTTTTCTTCAAATTTTCGAAACGTTTC TCGATAAAAAAATTTTTCAACTGAAAAACTACAAAAAATCCTCTTATTTT GAAGAAAAATCGATATTTTCTCAAATTGTTCAGATTTTTTCTGTTTTTAC CAAAAGTGACCAAATTTTGAGACTTTTCGATCCAATGTTTAAAATTTTTT TCCCGTTTTTTCGATATTTGCGGTTTAAATTTTTTTTAAATTTTTTGATT CAATTTTAATAAGTTTGAGTGTTTTTCGATTTTTTGTCCAAATTTTTTCA AATTTTTTTCCAGAAAATTGGTAGAAGCCAAAAAGTGCGATTTTTTTCCT TAAAAAAGATAATTATTCAGTTTTTCGACTGTTTTCTTCTTGCTTCCAGA TTTTTTCTCGAATTTTTTTTATATTTGAATTGTATTTTTAAATATTATAC TCCTAATCGATAAAAATTAGTTTTTTTTTCAATTTAAATTGGAAAAGAAC GTTCTTTTTCGTAAATTTTAGTGATTTTTGATTCCAAATTTTTGGATTTT TTCAAAAAATTTCCCAGAAAATTTTACCTGGCTTTGGTAGAAGCCAGAAA TTCGATTAAATAAGCTTTTTTGGGTTTTTCGACAATTTGTCAAGTTAGGA ATTAAACTTTTAAAATTTTTTTCAAAAATTTTAAAAAACTAAAAGTATTT CTGAGAATTTTTCTGAAATTAATTATTCAGTTTTTCGACTGATTTCTGCT TGCTTCCAGATTTTTTCTCGAAGTTTTTATATTTGATTTTTTTAAAAAAT ACTCTTAATCGAAAAAAATTCATTTTTTGAATTTTTTCGGGACTTTTTTT TTCGAAATTTTCGTAAGTGTTAGTGTTTTTCGATTTTTGATTCTAAATTA TTGGATTTCTTCAAAAAATTTTTTCAGAAAATTCTACCTGGCTCTGGTAG AAGCCAGAAATTCGATTGAAGAAGCTTTTTTTTCGGTTTTTTGGACAATT TTCCAAGTTTTAGTTAGGAGTTAAACTTTTTCAAATTTTTTTTGAATTTT TTTCAAAAACTTTAAAAACTAAAAGTATTTCTGAGAATTTTTGAGAAAAG CATTTTTTTTCTCGAATATTTGAACTTTTTAAATTTTTAAAGCTTTTTAT TTTTAAATATCAATTCGAATATTTTACTCTTAATCAATGAAAAATCGATT TTTTTGATAATTTTTTTCAAAAAAAAATTCGAATTTGAAATTTTTTTCAT TCAGAAAAGGGAATTTGACTATTTGAAAACAATTTTTTGTTGAATTTTTC GTAAATTTGAGTGATTTTCGATTTTTGATTCCAAATTTTTGGATTTTTTT TTGACAATTTTCCAAGTTTTGGTTAGGAGTTAGATTTCTTGGAATTTTTT TTTGAATTTTTTTCAAAAATTTTAAAAACTAAAAGAATTTCTGAGATTTT TTCCTTAAAAAAGAGGAATTTTTTAGTTTTTCGACAGATTTCTGCTTGCT TCCAGATTTTTTCTCCAAGTTTTTATATTTAAATCTTTAAAATTTATATT TTTAAATAATATTTCAGATATTATACTCCTAATCGATAAAAATTCGTTTT TTTTTCAAATTTTAATTGAAAAAAATCGATTTTTTCGATAATTTTTTAAT TTTTTTAAAATTCGAATTTGAAACTTTTTCATTCAGAAAAGAGAATTTGA TTATTTGAAAACAATTTTTAATTTAATTTTTTAATCCTTTAAATTTTCGT AAATTTGAGTGTTTTTTGATTTTTGATTCCAAATTTTTGGATTTTTTTCC AAATTCTCCAAATTCTTATTTTTGCAGAAAATTCTACCTGGCTTTGGTAG AAGCCAAAAATTCGATTTAAGAAGCTTTTTTTTGGTTTTTTTTGACAATT TTCCAAGTTTTAGTTAGGAGTTAAACTTTTTTCAATTTTTTTTTTTGACT TTAAAAAAAAATTTAAAAACTAAAAGTATTTCTTAGTTTTTTCCTTAAAA AAGAGGAATTTTTTAGTTTTTCGACTGACTTCGTTTTTGAATTTTTAAAA ATTCAAAAATTGTATTTTTTAAAATTCTAATCGATAAAAATTCGTATTTC GATTTTTGATTTCAAATTTTTGGATTTTTTTCAAACATTTTTCCAGAAAT TTTTACCTGGCTCTGCTAGAAGCCGAAAAGTGAGATTTTTTTCCAAAAAA AGATAATTATTTAGTTTTTTTTCTCGAACGTTTTATTATTTGAACTTTAA AATTGTATTTTTAAATAATATTAAAAATTTAAATAATAATATAGAATTTT TTTGAAAATTCCTGAATTTTCTGATTAAAAAAACATTTTCTGATGCATTT TAGAAACTGAAATTTTTTGAAATCTTTTTGGAATTTTGGAAAATTTCGAA TTTGTTGATTATACTCTTAATCGATAAAAATTCGTTTTTTTCCAATTTTA TTTGAAAAAAATGATTTTTTCGATAATTTTTTTGATTTATTTTCGGGAAT TGACTATTTGAAAACAAAAACTTTAAAAAAAAATCAAACTTTTTTTTTGA AATTTTCGTATTTAAATTTGAGTGTTTTTCGATTTTTGATTCTAAATTTT TGGATTTTTTCCAAATTCTCCAAATTCTTATTTTCAGAAAATTCTACCTA GCTCTGGTAGAAGCCAAACATTCGATTTAAGAATCTTTTTTTTTTTTTGG ATTTTTTTTTGACAATTTTCCAAGTTTTGGTTAGGAGTTAGATTTCTTGG AATTTTTTTTTGAATTTTTTTCAAAAATTTTAAAAACTAAAAGAATTTCT GAGATTTTTTCCTTAAAAAAGAGGAATTTTTTAGTTTTTCGACAGATTTC TGCTTGCTTCCAGATTTTTTCTCCAAGTTTTTATATTTAAATCTTTAAAA TTTATATTTTTAAATAATATTTCAGATATTATACTCCTAATCGATAAAAA TTCGTTTTTTTTTTCAAATTTTAATTGAAAAAAATCGATTTTTTCGATAA TTTTTGAATTTTTTTTTTACAAATTCGAATTTGAAATTTTTTTCATTCAG AAAAGAGAATTTGATTATTTGAAAACAATTTTTAATTTAATTTTTTAATC CTTTAAATTTTCGTAAATTTGAGTGTTTTTTGATTTTTGATTCCAAATTT TTGGATTTTTTTCCAAATTCTCCAAATTCTTATTTTGCAGAAAATTCTAC CTGGCTTTGGTAGAAGCCAAAAATTCGACATAAGAAGCAACATCAGACGG TCTTCCAAGTCTTCCCAACGGAATCATCGATTCCAAGTGTTGTTTAATCT GACGAGCTTCTTCTCCAGAAGCATGATCCCATACAGCACCAGTTCCGTCT CCTTCAATCATTCCAGACACCACACTATTCACGCGGACTCCTTGTTTCGC GGCACTCTGAGCTACGGATTTTGTAAGTGATAGGACACTGCTAGATGCAA CTGAGTAGAGACCCATATCGATTGATGGAGTGAAGCCGAAACATGACGTT AGGTAGATGATACTGCCGTTTCTGGAAAAAATCGATTTTTTTTGGACGGG AAATTTTGCCTGCCTACGTGCCTACCTGCCGGCCTATTTTAGCCTATTTT TCATTTTTTTTTTGTTGTTCTATTTTTTTGCCGTTTTTTGGGAATTTCAT GATTTCTAGGGTAGGCACGACTTCATGCCTACGTGCCTATCTACCGGCCT AACATTTGATATTTTTTTAGAATTCCATGATTTCTAGGTAGGCAGGTAGG CACGAATACATGCCTGCCTACCGCCTGTTTTTTTGAAATTTTTTTGTGTG AAAAATTAAAATTCATGGGAATGCTTTTTTTTTCAAAATTCAATGATTTT TAATGCAGACCGCGCCTATCTGCCTACCGCCTATTTTTGGCATTTTTTGT GTGCAAAACAAAATCAAATTAGCTTTTTTCTTTTCGTTTTTCTACGATTT TTTCCAAATTTCAAGATTTTTCGGATAGGCACGACTTCCCACCTACTGTG CCTACCTACCTACCGCCTATTTTCGGCATTTTTTGTGAGCAAAAAGAGAT CAAATTAGCTTTTTCTCCTGTTTTCTACGATTTTTTTGGGTAGGCACGAC TCCATGCCTACCGTACCTACCTACCTACCTCCTATTTTCGGCATTTTTTC TCGTGCAAAAAATCATATTTATGAAAACACTATTATTTTTGTTTTCTGAA TTTTTTTTCCAAATTTTGTGATTTCTAGGGTAGGCACCGACTTCATGCCT ACGTGCCTACCTACCTACCGCCTATTCTCGGCATTTTTGTGAGCAAAAAA TTAACATTCTTGAAAATCCTTTTTTTGTTTTACTACAATTTTTTCAAGTT GCATGATCTCTAGGGTAGGCACGATTTCATGCCTACTTGCCTATCTACCT ATTTTTCCCTTTTTTCGTGGTTTAGGTAGGCAGGCATGAGTCAGGCACGA AAATCTAGAAACATAATTTTGATTCTATCGGTAAAATAGGCTTTCAAGAC AGTTTGAATTTTTCGAATTTCTACCAGCAAAAAATAATATCTGAAATTTT CGCGGCGAGACCCAAAAACTGACTGAGATTTGGCGAGCGTCGACATAGCG GCTTGCGAAAGACGGAACGGTGTTGTCAGATTGTTGGCGAAAAGCTGAAA TTGGTTTTTCGAGGTCAATTTTCCACGTGGAATTCAAATTTCAGCACTCT CGAACCTTATCAAAATCCTCGCCGGATGTCTCAATAATCTCGCCGAGCAC CTCATTCTGTGGTGGAACTATAATTAAAGTGTCCAGACCGCCGAGCTTCT CAGCCACTTTCGTGATCAGCTCCTTCCTGTGCTCGGCATTTGCCACGTCT AATGAGAAAGCTGTGACGTCACCTCCAACCTGAATTTATTCCCGAATTTC TCTTTGTCAAGTTCTGAAAATCTGCCTAAACCTTTATATTGTCCTCTGCA ACCTTTCCCACACTATTCGGACAGTCTGCGGCGGCGGCGACCTTGTAGCC GGTGAACGCGAGTCTTCTCACGACGGCTTTACCCAGTGTGGACGTTGCCC CGATTACAAGTGCACATGACATTACGCTGAAAGCCCGATGAGGAGGCATA TTTATAGATACACCTAGACATCAGGTACATTTATTTGGAAATCCGTAGAA AATAAAGAACATGTGAAAATAAAACAGATCATTTTATTATTTAGAGGGGA GAGGGAGGGGGAGCAAAGTCGCTGACTGAGAACTTTCGAAAACCGGTTAG TTACTCCAGTTGTACGGCTTATTCATGCCATATTTTCCAAGATTTCCACC ATTGTGTTGGTATTGAGAATGTTGATTCTGCTGAGCTGCCGGCTTCGATC CAGACATCTTGTCGTAACTCTTGCGCTCGTCATCCTGTCCGTAGAGTTGA CGACCTCCAGCGCTGCTTCCAACATTGGGCATCATGTTCATGAATGGAGT AAACTGGTGTGGAGCAGGTGAGTACTGCTGCATGAACAACGACGACAAGT TTGGCTGCTGCATGTAGTTCGTCGCCTGGAACCCTGGTGGTGGTCCAACA TTCGACGCCTGCTGTGGCTGCTGATCCCGAGAGCTTTGAGATCCGAACTT ATTGAAGTCCATAAGTCCATGAGTCTCTCGTTGTTGACCAGATTGCACTT GTTGCGCAGAAGCAGCCTGTGACAGAGGAGCAGTTGGAAGCAAGCTTGTA AGATCAACTCCCATTCCGTATTGCATAAGAGCAGCAGTATATTGCTCATC TCGAACTCCTGGCATTGGATTGTACATGTTCATGTAGTTGTTCATGTATG GTGCATATGGGAGTTGTTGAGTGAACATCATATGTGGATGCTGTTGTGGA TGTCCAGTCGGTTGTGATTGAGCTGGTGGAGTTTGTTGCTGCTGCTGCAC TGGCTGTTGTGGGGCTTGTTGCTGCTGCTGCTGTGGCTGGTGCTGCTGAG CAGATTGCTGTGTTGGAAGTGGTCCAGAATTGTTGAACTTGTTCGGCGCC ATCCTGTCCGTTGGTTGATATGAAGCGGACGAAGTGTCATAGGACAATCC TCTGTTAGATTGACCATATGACAATGGAGGTGAAGTCGATTTTAAGTTGT AATCGCCGTTAGGAATTGACGTCCTTTCTGGCTGAAAAATAATCGAGAAT TAGAATAAATCGTCTTTGCAACAAATTTAACTCACCTCAACTTGTTTCGG CATAATACGAGAAGAGTTAAATATATTTTCACTGGCATTTGAGATCGAGG CAGCGGAGGATTCAGTAGAAGGAAGCTGTGGGCTTGGAGCAGCCTCAACA AATCCAAATGAGTAGTCATGAATGTTCGTTGGTGCAGTTGTGCCAACAAA TTCCACTCCAGGATCAGGAATAATCTGGACTGGTGCTGCACTTGGAATTG GAGATAATCCTAGTCCTGGTGCTTCACTCAATCCTATTCCAAGATCCGTC TTCAGTTGAGTGGTCCATGCTTGATTTGGTTCTGGGGTGCTTTGTACATT TTCATCGTGATGAGTCGACACATTAGGCGTCTGCTCCTCAGCCAAAACTG ATGATTCACTGAAAATTAAATTTTTAATAATCTAAATACAGGGACAGAAC AACTTACTTTTGGAAGAAACCATCTTCTTTCTCCGGCTGATGCGAAGTTT CTGGCTCGAAAAATACTGGCGCTGCTGCTGGCTCTTCTTTAACTGGTGCA ACTGACGGAAGTGGAGGTTGTGGGGAGAGACTCCTCCTTGGCGGAGCTGC TGGTTGAGGATTCTGTGCCTGGTGCTTTCGGAGTGCTTCTTTGCGATGGG CAGCTGCTGCTACTGCAGCAAATGAGATCGGTGCCGGCGCAGAAGATGTG GGAACAGTGGCGGTGACGGATTCCTCTACTGGTGGTTGAACTTCGGTGAC TGTGGTATCCACTTTAGTCTGATTCTGAAAAAAAAACACGTTTCGTCATT TTCCTTCTTCAAAAAATTCTTACCTCATCAAGATCAGCAGTGAACGCATC TGGCTCAAGTGCTGATGATGGAGCAACAGCTCGAGAATATCCACCTCTGG CGCCACCTCTTCCACCTCGTCCAACATACGGTTTTTCAAATCCTCCTCGA GTCGAGCGTGGTGCTGCTCCTTCCTTATTATCACGGTTATCCCGATTATT ATCTCGGCTTTCTCTTGGAGCTCCATTGGATCGCCCGCGGCCTCCTCGAT CGACGAAACCGGTGCCTCCACCTGAAAAAAACATATCAATATTTGATCTA TTTCAATCAAGCACGAACCTCTGCCTCTTGCTACAAATCCTCTGTTGTTA TAACTGCCCTCTTCCGGCTTCTTCTTTTCCTTTTTGGCTCCTTTCTGTTC AGTCCACGAGTCAAGTTTATCTCCAGCATCCAGAATGTGATCGATTGCGC CGTAAAGATTGTTGTCAGTATCCAATAGCGCTATCTCAGCTTGTGCTTGT GTACATCCGGTGGTTTCGATAATCTGAAAATGAAAAAGACATGAGCAGTG AAAAAACCCCTCTTGGGAATGCGCGAACACTTTAATTAGCCCAAATGAGT AGGACATCTGGGTACTCTTACTCTCGCTGCACCATCTCAAGCGCGGACAC CTGCTTTTGTCCTTTTATTTGCCATCTGGCCCCGTCTTATCGATTCGAAA TTCCTATTGACACTGAAAGCGGACACTAGAGAAGTTCAAAACAACAAAGT CACGTGCGTCATCATGTCGGTGTGTGGCGAGCGTTCGCGTGATGCAAAGA TCACTATTTTCAGGAAAGCGTCATTTCCAGCTTGGAGACTTACCGTCTTG ATCATAAACTGTATGTCCTCCTCATTTCCGGAATTTCCTTCCAGTGTGAG TCGTGCAAGTCGCGCTTGATCGCTGGTAGCTTTTTTGTCGCCTTTAATAC CCATTCTGAAAACAAATTATAAATAAAAAGGGTCAGTCATGTGAACGCAA GAATGGAATGAGAATCACGAGAATACAACTATCAAAGGAAGGTTGAATGA AAGGAAGGTCAAATAGATGACAAAAGTAGGAAAAGAACGAAATATGGAAC CTTCCAGATCAAAAAAACATTATCAAAAGAAAAGCCTCGCACAGAAGACT CTAACGAACATGTTAGGATGAAGAAATATTTCAGCAATACATCACGTTGA ACTTTGGAGGATATTCTAGAGAAGAAAACCCCTACATTTTACAATAATTT TGAAATGGAATTCGAATGAACTGCTATACAATGGAGAATCCTATTTAGCG ATGATAAAGTGTAGGCTTGTTACTAGATTGAATAAAAATTTCGAAATGTA ACAATACATTGACTGAAAATTTGGGTATTTCAGAGTGTGATATCACAAAA ATCAATATTTCCACTAAACTCAAAAGTTCTTACGCTGAAAAATCATTAAA AAATTGAAAAATCACCGCAAGCTAGACTAGAATCGCGTTCAAATCTCGCA AATTCCCGCAGTTGAAAATGCGGGCGACCGCGACGCGAGCCGCAACGCAC CCCTCCAAACATGCGGCATGGGTCTCGCCACGACCGAAAGTACGGTCACT CTTGGCAGTATAAAAGGCGACCATTTTCCGCTATTTTCCGGTAAATTTTC AAATGAAACTGTGTTGCGGAGGGGGTTTTCCGCTAATTTTGCGGAAATTT AGCTATTTAATGTGAAAATGTGAATAAAACAAAAGAAAGTGGGGAGGAAT AGCAAGGAAACACACTGTTGAACCCTGGGAATTATCGATTTTGTATGAAC TCTTCTTTTATGGCGTCGAAATTATCGACACGAAAACTCAAAACCTTGTC ACATTTCTGAGAGAGAAATATCATTTTCAGCACACATGAGTCTTCCCAGA TTTCGACTCGTTCAGGGAAAGGCGATCGGCGAGCGATCAACGCCAGGAGT CAGCACACCAGAGCCGGTAATTGTTTTTTTTTATTTCAAAATTTCTACAA CAACAAAAAGAACTAACAATAATTTATTCCTTTGATTCCAGGCCCCTCCG CAAATAAAGCAGGAAGTCGACTACCAAGATGCTCATCAAATGGCTCCGGA ACCCGTGGAAGCACCCCGTAAATATTTAAAAATTTAAAAAAGTTAGAAAA AAAATTTGAATCCCAATTTTCAGAGGCTCAAAACCATCAAATGCAGCCGC CTCGTCAACCTATACAACAGCAGATGCAGCATTTTCAGTCACCATCGCCA ATGGCTCCACAAGGGCCGCCCGGGACTCCACAAAACTCTGCAGCGGCGGC CGCCGCTGCTTCAGATGACAAAAACGTGACAAAATGCGTCCGCTTTCTGA AAACTTTAATTAATCTGTCGAATAACGATGATCCAGAAATGCCGGACAAG GCCGCCCGTGTCAAAGAGCTAATTCGAGTGAGGAATTGAGCGAAAAACGC GATAAAAACCGGACAAATTCGGATATTTCAGGGCGTAATTTATCTGGAAA CGACGGCTGAAGAGTTTACACGAAATCTGCAACAAGTGCTCAAATCTCAG GCTCAACCGCATCTTTTACCATTCCTTCAGAATACTCTTCCGGCATTGAG GAATGCTGTTCGAAATGGTTCGGTTTTATGTGCAAAAAAATTAAAATCGA CAAAAAAAAAATCATCGAAAAACAGGAAAATTTGAGTTGAAAAGCAGCGA AAAACTTGAATTTAACATAAAAAATTGCAAAAAATCCGTTGAATTACATT TTTCAAGAAATTGTGTAGAAATTCCATGAAAAAAATTCAAAATTTCCAAA TTTTTTGGCTATTTCTAGTCAATTTCTTTAAAATTCCATTTTTGATAGCG AAAATTATCAAGTTTCTAACAATTTCAAGCTGTTTTTGGTGATTTTTTCA ATTTTTCGGCTTTGAAATTCCATTTTCCGGAGTATATTGTCATAATATAT CCGAGTTCCACAAAATTGAGCAAAAAAAATTAAAAATTTCCCTTTATTTA AAAATATTTTCAGCTGTCAGTAATATATGGATTTTCCGCAATTTTTCTCA CAATTTTGAGCAAATTCCTGATTTTCAGCCAATTTATAAGGATTTTCACC CATTTTCATAATTTAGGGCTATTTTCAGCTGAAAAATTGTAATTTAAAGT TTTTAAAATTTTTATAGATTTTCTCAAATTTCAGCTCAAAAATTCGATTT TCAAGCGCATTTCCAGGCAATTTATTAAGATTTTCACCAATTTTTTTAGC TTAAAATTTAAAATTTCCACATTTTTTGTCTATTTCCAGTAAATTTCTTT AAAATTCTATTTTTGAAAGCAAAAATTATCAAGTTTATCGCACTTTTTCA ATTTTTCCGGAGTATATTTTGGTAATTTATCCGAGTTCCACGAAATTGAG CAAAACAATTATTTAAAAACTTCCCTTTATTTAGAGCTATTTCCGCAAAT TTTCTCGCAATTTTCACGCAATTTTCATAATTCAGGGCTATTTTCAGCTG AAAAATTGCAATTTAAAGTTTTTAAAATGTTTATAGATTTTCTCAACATT CAGCTCAAAAATTCGATTTTGAGGCGCATTTCCAGGCAATTTATGAGGAT TTTTACCTATTTTCTAGATTAAAAATCTTTTTTTTTCCTCAATTTTGGAC TATTTTCCCTAATTTTCAAATTTCCAGGCACTGCATCAGTTGAAGGCGTA AATCCACCGCCTGGCTACGTTTTCAACAATGGAAGAACCCCAGGACCCCC TCAGCCACCTCCACCTCAACAACAATCCCAGCAGCAGCCACCACTAGAAA TGCGTCAAATTCCGAATCCGAATCAAATACCCCCACAAATGGTTCAAGGG GGTCCCCATATGGTATCTGTAGGCGCCCGGCCAATGATCAGGCCTATGGG CCCCGGCGGCCCAAGCCCAATGGGCCTACAAGGCCCCGTACGAGGGCCGA TGGGACATCAGATGGTCCAGATGCATCCTCCTCCCCCACCACAGCAGATT CAACAGCAGCACCCGGCTCCCCCTGTAGAAATGGAGGTGGAAGAGAATTT ACAGCCTACCGCGGCGGCCACGGCCACGAGGCAATATCCTGAAGGATCGC TGAAATCGTCGATTCTGAAGCCGGATGAGGTGCTGAATAGGATCACGAAA CGAATGATGTCATCGTGTTCGGTGGAAGAGGAGGCGCTTGTCGCGATTTC AGATGCTGTTGAGTCGCATTTAAGGGAACTTATTACACTGATGGCCGGAG TTGCAGAACATCGGGTGGAGAGTTTGAGGTATTGAGGAGAATTGATTTTG CTTCAAAATACGGCAGCGAAAAAAAAATTAAGCAAAAATAAGGAAATTAT TGAAGAAAAATCGTCTTAAAAACAATTTTACATTAAAAAAAAAGATTTTT AAATTTCAAAGGTTCCGAACTATTTATTAAAAAAACATCTAGATTTTGTT TTAAAATCCAAACAAAAAACATTGCTGAAACGCGGTAATTTTTTTTCAAA AAAATATAAAAATCTGAGAAATATTTTCAAAAATATCTCCAATTTTCCCC TGATTCCGAATATCTATTCGAAAAAATTCAAAAAAAAAATTTCCCTTTAT ATTTCAGCTTGAAATCGCTTTGTGCATGCACACCATGAGATTTTTCAAAT GCGCGCCCAGATAAATTCTCATTGGGGCGCACTTGCTTCGTGTCGATTTA CGGGAGCTCTTCATTTTTAAATTTCTTTTAAGCTTTTTTTTTCAGTTTTT CAACGAGTTTCCTTGATCTTCGTCGATTTTTTGTCATTTTTTTTCCTGAA ATTTTGTTTTGTGTCAATTTGAAAATTTTTTAGGTCAAAACTCCTGTGTT CGTCGAGATCTGACGTAAAAATATAAAATTCCGGGAGTTTTGAGATATAA AAAAAATATTTTAAAAATTTCAGAAAAAAAACTGACAAAAAAGCGACAAA ATAAAAGAAACGCGCAAAAAAAAAAAAAAAAAACTTAAAAAAGCACGAAT AAATTTTTTTAAAAAATGGAGAGCTGCCGTAAATCGACACGAAGCAAGCA TAAAAAAATGGCTTTTTTCCTAACAATTTTTTGTGAAAAATCCGAATTTT CCATCCTAAACACTACAAAAGATTCCAGAATTCCGGAGAACTACGTGGCA ATTGATGACGTCAAACGGCAACTTCGATTCCTTGAAGATTTGGATCGTCA AGAGGAAGAATTAAGGGAAAGTCGAGAAAAAGAGTCGCTAATTCGAATGA GCAAGAATAAGAATAGTGGAAAAGAGACGATTGAAAAAGCGAAAGAAATG CAACGACAAGATGCTGAAGCGAAAAGGAATCGAGATGCGAATGCGGCTGC AATTGCAGCACTTTCCAGTAATAAAACTGTCAAGAATAAGTTCGTTTTTA GCGTGAAATTTGCAGAAAAATTATTTTTAAAAAATAGATTTAAAAAAAAC AATTTCCTGACCAAGGGTGTCATTTTTCGATTTTTCGGTTTTCAAAAATT CGAAAAATGAAAGTTTCGTTTTTCGATTAAAAAACTGAAAAACCGACACC TTTGTTTCTGAGATTTGGATTTAGAAATAAGCAAAAAAAAATTATTCAGA AAAAATTGTTTTACAATGCTGCAAAATCGATGAAAAAATAAAATAAATCA ATAACTAATTTCTAAAAAATGGAAAAAAATTTCGTTTTTTTCGAATTTGT ATTTCACAAAAAAAAATTTTTAGAATAAAAATTTTCAATTAAAAAATTAC TATTTAAAATCACTGAAAAAAAATGAAAAAAATAGAAAATTCAGAAAAAT AGCGAAAAAAAAGTTTTTTTCCAGAAATTTCGTTAAAACGATCAAGATTT TAACCCTAAAATTTAGATAAAATCAATTTCTTGTGGTTCTTAATTTAAAA AAAAAAACAGTACTTTCCAGTAATAAAACTTTCAAGAATAAATTCGTTTT TAGTGCGAAATTCGCAAAAAAAATTACGAAAAAGTGAAAATAGAAGCTGA AAGGAAAAATGTTTAAAAAATAAGAATATTTTCGACATTAATTGGTTTTT ATATATATTTTTTTGTAGAAGTTTAAAAAAATTACTAAAATCACTGAAAA AATTGAAAAAAATTTTAAAATCTGGAAAAAAAGCAACAAAAAATTAATTT TTCCAGAAATTTCGTTGAACTATTCGGTATTTTAAGCCTAAAATCAAGAT ACAATCAATTTGAACAAAATTTGCTTTAAAAATACTAAAAATTCGAAAGA AATAGAAAAAAAAAGAAATTTTCGAAATTTGGATTTATTGTTAGAGAAAA GCTGAACACTTACAAAAAATTAATTTTTTACGTTTTGAGAAAAATTTTTG AAAAAAAAAATCGATTTTTAAATAATTTTTAGAATTTTTTAGAACTATAA TTTTTGAATTTCAGTGACTTATAATCACAGAAAAAAATGAACGAAAAACA AATGAACATCTTTTCGGCAAAAAAACGTATTTTAAAAAAAAATTTAAATT TCTAGTGACTTTGAAAAAAAAACCACATTTTCCAATAATTTCCAGGAATA AACTAAATTTCTTTGGAGAAATTTGAAATTTATTTCACATTTCGAAAAAA TTTATATAGAAATAAAAATTTATATGAAAATAAAAAATTTGCAGCTCCTT CCAGTAATGAAACTGTCATTTGTTGAAAATTAGTTTTTTTTTAATTTAGA AATTCTCTTTTCGAAAAAAAAGGTTTTTTTAAAACTTGATTAAAAATTAA TTCATTTTTTTCCAAAATTAGGGAAAAAATAATTTCTAAAAAATTAGACA AATACACTTTTTTGTTGAAAAAAACAACATTTTCCAATAATTTTCTTTTT TTTTAAATTGCTTCCACTAAATTCACTTTTTGAAGAAATTTTTTGAAATT TTTACTGAAAATTGTTGGAAAATTATTAAATGTGCATTTTTTTGCAATTT CCAGTTGATAAACTAATTTCGGTTCAATTTAAAATAAATTTCGAAAACCA ATTTCAAAAAATTCATTTTTTACAATTTGTTTTTGTTGATAAAACGAGCT AGTTTCTACCAAAATACCGCTTTTTTACATTGAAAATTTAAATTTCAGAT GGGAAAACACGGGCGCCGCAACGACAGCACCTCGTCCACGAACAGTACGT GTAACAACTCGTGATCTACATCTTTTAGTCAATCAGGATAGCCGATTCAC AGGGTAGCGATTTTTTTTGTTTAAAAAATTTTTTTAAAAAACACCGTATT AAACATTGATTTTTATTGGAAAAAACTGATTTAAAAATTTTTCAAAAAAC TTTCAAACGAATGGTAGTTTTTAATATTTTAATTTTAAAAAATTCCAATA AAAATCAATTTTTATACGATTTAAAAAAATTTTGAAAAGTTATCCAATTT TCTCCTAAAAAAACTCATTTTTTTTCCAGAACATTCATCCGTGAAAAGAT GTCATACGGTGGTCCGGCAGTCGATACAACTATCTGAACTAAAGAAATCT CATGGAAAAAGGAGCGAAAATTCTGCTTTTCTCGTTTTCTTTTTTTAAAT TTAATTTTATTTTTCCACAAATTAAAACAATCACTTTTTTCCAGTCAAAT AATAATTATTTCTCATTTTTAAACGAAATGCTAGACATAAAAAAAAGCTT CTTTTTCAGCTTTTCAGCCAAAAATTTCAGATTTTTCAGAAAAAATTCAA CAACAAAAAATTGGCAAAGTGCAAAAAAACCAGAATTAGATATTAAAAAT ACAGGAAAAATCGAGAAAAATGAGTTACAATTCAGAAAATTAGGCAATTT TTTTTTCAAAATTTCTCAAAAACACTGAAATTTCGGTATTTTTTTCTCTA CTTGAGCACAACCTCGTGTTGCACCAATCGAACATAGTCTTTGAGCGTCG GTGGAAGTGGAAGCTCATCGATTATTCGCTGATAGACACCGTCGGCACCG GCGATTTCCAGATTTCTACGTTGGCGAAGGTGGATGGCGCGCTGGAAAAA TTTCTAATTTCGAGCTGAAAACTCTTTTATGAAAGCAAAATTTCATAGTT TCAATTCAAAGTTCGAATTCCTCGCAAAATTTCAGTCGGAAAACCGAAAA CTAGAAGTTTCTTGCTCGAATTTGAAATTTCGAGGGGTACGGTATCCTCG AAAGTACGCAAACACCGAATTTTGTTTTTTTGAAGTTTTGGCGCCAAAAA TACAATACCCGGGGTCTCGACACGACAAATTTTTAAAATTTTTTTGAGTA CTGTAATTTCAAACAAAAAGTTTTTTTTCGAATAAACTCGAATAATACGA TAAAAAACATATTTTAATAAAAACCGTGGCAACGAAAGTTTGAAAGTACA GTACTCTCTTCAAAGGCGCACACCTTTTACGCATTTAACTTTCGTGGCGA GACCCCGGGGATACCGTAATTTTTGACTCAAAATTTAAACAATAAATCCG TTAAAATATTAAAAAATTTTTAGATATTTTTCAAAAAGACTGTCGAAAAA TTGTTTTTTTATAATTTTTAGAATATTAACAAACAGTTTAAAAATTCCAA CAAATTTTGTTTTTCATACCGAAAAGAAGAAAAATGGACAAAATAGTAAG CTATTTTTGTGTGTCAAAGTGTCTTATTTCGGCTTGATCTACGTAGATCT ACAAAAAATGCGGGAGAAGAGACTCAGAGTTCTCAACTGATTTCGCATGG TTAAGAACGTGCTGACGTCACATTATTTTAAGGCGAAAAAATCCCGCCTT TTTTTGTAGACCAAACCGTAATGGGACAGCTTGGCACCACGTGACACCCC CCGATTCTCACCTGTTCGTGATTTTGGCGAACTGCCATTTCTTTCAAATA ATCGTCTAGCGGGGGACTCGATGCTGAAAAAAAAGTTTGATTCGTTAGAG GAGCACAAAATTCTGAAAATGCGTATTGCACAACATATTTGACGCGCAAA ATATCTCGCAGCGAAAACTACAGTAATTCTTTTTAAATGACTACTGTAGC GCTTGTGTCGATTTACGGGCATCGATAGAATATTTTTAAAAAAGAAGAAA AAAGAGGGAATAATACGAAGAAAAAAAGGAAAAAAATAAATTCATTTCAG AAATCGAGTTCGTAAATCGACACAAGCGCTACTGTAGTCATTTAAAGAGA TACTGTAGTTTTCGCTACGAGATATTTTGCGCGTCAAATATGTTGTGCAA TACGCATTTTAAGAATTTCCAGTTTTTTCAAACCTTTAAACTTACATTTT CGCGGTTTTTTGGCGCTCTCGGATTTCGGGGAACGTATACGTCGGCGACG TGACGTGGTTGAAGCAGGGTCCGTCGAACAACATGGCTCTTCGTCTTCCG ATACTTGGGATTCTGTTGATGTTGACGGTGATTCCTGAGGTTCCTCTAGA GCATCTGAAAGCTCTTGCTCATCTTCTGATAAATCTCCATTGGGACGTTC AACCAGGCCGGTGGTGGAAGGATCATTGATGTTCGGAATCATTACAATCT CCATTCTCGGAGTATTTGGAGTTTCTGGTCGAGCTATCGAGGAAAGTATG CGATGATGGCGGGGTCTATCATGATTAATCGTCCATTCGAGCACATATGC TGGTGCTGGAAGGATTGAAAATTGTAAAAACTAAGATTTTTTGGCCAAAA AAATAATATTTTCTCAAAAATTTTGAAATTCTCGACAAATATTTTTTACT ACTGCCGGTACAGAGAATGTAGATAGTTGAAGAGACACAGACATCCCGGG ACCCAAGGGACGGGGCGCGGGATGTCTGTGTCTCTTCAACTACCTGCACT CTGTGCTGGTAATATACTTTTTCCAAAAAAAAAACCTACATTTCGGAAGT AAAAATGGAAAATTTCGGAGTCTACACAATTGGAAATTTTAATTTTTAAA AAATTAAAAATTGTTTTAATTCGGAGTTTTAGACGGAAAAAATTATTAAA CTCTAAAATTTTTAAAAATCGAAAAAAAACAAGTCTGAGAGTGAAAAAAA TTAATAAATTTTGAACTGAACATTAGATATTTCGATTTTTTTTTGAAAAT CATAAATGTTTTCTCGCAAAATTCGGATTTTTTTTACCTGCTCGATTTTC AGTAGCCGGAGCTGTATTTCTGAGATTGGCACCATCCAAATGTGCTCGGG GCGCTGCAAATTTGATATGAAATTTCACTAAAAAATTAGGAACTTATACA AATTTTCTAAAAGAAATACTAATGTTAAGATAATCGAAAGTTTGGAGTGA CAGAAAAAATTGTTTCAGCTTCTAGAAATATTTTAATTTAGAAAAAAACT TCCAGAAAATTAAAATTTTTTTTTAGAACTTTTGAACATTTTTCCTGATT TTTCTTTTTTTTCCATTTTTTGGAATTGCTGGGAATTTCTCTTTTTTCCT TCATCCCACAGCTTCGCTTCAGCCTAGGCCTAAGCCTGAGCCTGAGCCTA TGCATAAATCTAAGCCTAAGCCTGAGCCTAACCCTATGCCTAAAACAAAG CCTGGACCTAGGCCCAAGTCTAAGTCTAAGCCCACGCTCAAATTTAAATC GACTCAAGTAACTACTTTAAAGTTGGCAGAAATATTTGAATTCAAAAAAA TTTTTAACCAAAAAAAAAATAATTTAAAAGAAATTGTTTTTTTTAAATAA AATCAACAATTCACCTGTAAAACCTTGCATTTCTCTCCAATTCAACATTT CTTGAAGAACGTCAGTTCTTGTTTCATTCCATCGACGAACATGATCTGCT ATAGTATTTCGAATATTTTGTTCATTGTTTTCTTGTTCTCTGGGATTATT ATTACGACCCAAATATTGATCCATGACGTCATCCAAGTGATTACGGGTTC TTTGATCTGCTGGGAATATTTATAAGCACTTTTTTAATTTAAAACATATT TTTTAGTGATTTTTTTTCGAACTTTTGAATTTTGAATTAAAAAAAAAAAA ATTAAAAAGTTAAATCCTGAGGGGAGCCAAGAAGTGGGCGTGTTTTAGGA CATACTCTTCACTTACGCTTTGGTCTACAAAAAATGCGGAAAACTTTTGC CCAAAAAATGTGACGTCAGCACGTTTTTAATCATGCAAAATCATTTGAGA GTTCTGCGTCTCTTCTCCCGCATTTCTTGTAGATCTACGTAGATCAAGCC TAAATGAGACACTCTGACACCACGTGGAAAATAAAAATCGAACATTTTCA AAAAAATTACTCAATTGATTGTCTGCTGGAGTTAGTTGGTCGATTCTGAA AAATATTAAAGTACTAAAAATTTTCCTTAGCAACATAGCGCGTTTGCATC AAGAAAGGCGGGATTTTTCTAAGCCCGCCCTTTAATGGATCATCAATTTC TAGGAAAAATCGATATTTTACACTAAAAGTGATCCAAGAAAATCAATAAA TCGGAAAATTTTCCGATTTTCCGTGCTTTTTTGCGAAGATTTATCGAAAA TGATTTCCATTAGAGCACGCTTGCAATTTTTTTCACCAATAGCTTTCAAA TTTCTTACGGTCTTGGATCAAAAAGTTGTCGACGCCGATTCAACTCTTCG AATTGTTCAGCTTGATGCCTTTGAACATGATCCATATACGTATTTCCACC TTTCATCACCATTATTGATCCGCAAATCTGACGATTGACACGTGGATTGT AGGCGTGTCGGCGAATGTCGCGGCGGAGTGCCTGACGCGCCAAGTAGGTC AACGTGCGGGGACCACTAAAAAATCCGGGTTATTGTGATTTCGTGGTGAG ACCCGAAAATAGTAGAATTTCCTCGTACATCCTGTGCCTAAGCAGGTTTT CAGTTTTTGATGGGTTGTTACCTTCATACACCTACCTGCCTTTGTGACTG CCTCCCTGCCTGCCTAAATGTGTGTATGCCTACCTACAGTCTGTTTATCT GCCTCAACGCCTTCATACCTACTTGCCTACCTTGCTTACATACCTGCCTA CGCGACTACCTATCGGCCTACCGGTTGGCAAGTAGGAAGGCTAACAGGTA GGTAAGCTGGCAGGCCTGAAATTTGCAATTTTTGCGAAAAACCGAATTAC CTTTCGAAAGGCGTAGGCGTTGAGATCCGTTCCTCCTTCGGAAGCCTGAT CATTGGAGAAAATGTCATTCTTCCAGGGACGTCATACACAGTACGATGCT TGGAAACTCTTCTGTATCGGCAAACCTGAAAACCTTTAAATGTGGAGGAG CCAAGAACTAGACGGAGCCTGTGTAAGGAATATTGTTTCCGGAAACACGG ATTTTCAAATTTTAGGCTCCACCCACTCACCACGCAAAATTTCATTTTTG GCCCAAAAAGTAAATGTGCAGAAATTGTATTTCAAATTGTAGAAAAACCA AGAAATGGGTGGAGCCTGCCTGCCTGCCGGGCTCCGCCCACTTCTTGCCA AACCATACCCCCTGTATACGTGGCATGACGAGTTGTCCTCCAACATTCAA CATTCCAAGCATTCGTTTCAACAACTGAGAATCATCGGCAACGAATCCGA CAAAAATTCGATCATATCGATTTTGATGAGCTTCAAGAAATTTGACATCG GTGATGTCGCACACTTTGAGCTCCGGCCGAGCCCAGCCGACAGAGCTCGC TTCGGGTGTAGTTATCCATTGATCAATGCATGTTTCCGAGTAGGTGACGA GATTCTCGTAGAGTTCGATCCCATGATTTATACCAGTTTCACCTTAAAAA TAGGGTTGTCAGGCCACGCCCATTTTTAAAAAATGAATTAAAATTTTCTG AGAAAAAATTTCAAACTTTGGTGGGGCATTAAATTTTTTCACATAAATTT TTTCGGCGGTAAATTCAAATTTTTTAAAAAATTTCTTTTTTTTTTGGCGG GAAATGTGCCGCAAATCAGAAAAACTGAAATTTCTACAAAAAAAGTTGGT GGCCGAGTTTTCTCATTTTGTGGTCAGAAAACTCGGCCACCGATTTCTTT TGCGGCCCTGTGATTACTTAAAAAAATCGGTGGCCGAGGATTTTTATTTT CGCGGCCACAAGTAATGAAGATTGCACAAAATTGATAATAGGGAAAACGC GGCCACGAAGTCTAACATGTGCCACGTGGCCGTTAAAAAAAAGCCGGTGG CCGAGTTTTATTATTTTTCTAGGCCACGTAACCAGAACTCACCCAATAAA ATGCCAGCAATCGTACTTAAATACCCTGAACCAGTTCCAATATGAAGAAA CGAGTGTCCTTTACGCAAATCCAAATAATCGAATAATTTCGCATAAATAT CAATTGCTCCAACACGAAGTGCTCCCGGATAGAATGGACCGCCCGGTTCT GTGGAGGTCAACGACGGAAGACGTGTAAATTTCCGTTCACTAATCGGAAG AAAATCGGATCGATCGACAAGTCGAAAGGCTCGTTCGATGTTTCGACGAC GGATTGTGTCGTTTTTTACGAGAAAATCGATAAGATCGTCGTTTTGGCTT TCACTATTGCCCATTTCTGGAAAATCGATTTTTTAAAATTTTAGATTTAT TTATTGATTTTAAATAAATAATTAGAGAGCAGTCATGTGTTTTTCCTTGT ATATTTACGAGAGAAATCTCAAAAAATTATTCAAATAGGAAATTTTACGC CAACAATAAAATGTAGAGTGGTGTGCGCCTTTAAAAAGTACTGTAATTTC AAACTTTTTGGCGCAAAATTTTAGAGTAGTTTTCTTTAAATTAAAAATTC AAAAAAAAAACAAATCAAGATAAATACAAAAGTTTGAAATTACAGTACTC TTTAAAGGATCACACCATTTTGCATTTAAAAAAATTTGTCATGTCGAGAC CGTAATTTTAACGCAAAAAACGTGAATTTTCGCGTCTGTGTAAAAGAAGT TAGTTAAGGAGAAAAAACAATTGAAAAATCAACAAAAATTGAACTTTCAA CGGAAAATCAAAAATCGTTGCGAGTCAATAATTTTTTAGCTTTGAGGAAA ATAACCCTTAAACTCAAAAAACAATTAATCGACTCAACATCAAAATTTCG TTACAAGACCCAAATTAAAATTTTTTATTTTGGGATAATTGCTCCTAAAA TTAATAAATTCCAGAGAAACGAGTAAATCGTGGCGAGACCCACTAGCGTG TACCTTTAATTTCGAAATTATTTTGGGCTGTTCATCACGAACACACGTGT TGCCTAGCTACCAAATTCAAAAAACGAAAAACAAAAAAAACAGGTTTCTT TGAAATGAAAAATCGATAATCAGCAACGTGGCAAGATGTCTCAAATTATT GGAAAAAAAAAACGTTGAAATTCTCAGAAAACGGACCGTTCTGTGGCAGA ATTGTGAACGGCGTGCAAGGCCACGACCCGTGGAGAGCGCGTGAGAGTGC AGAAAAAAGGAGGCGAGAGAAAACGGCTGACCCGTGGATAGACTTTGTGG ATTCAGGAGACGCAGAGCGACCGTGAGAGACCCAGAAATATATGCAGAAA GTTAAGGCGTGCAATAGTGTTGGAAATTATAATAAATGGGTACGGTAGGT ATGACCTTTCGGGATCTTTGTGGGTCTCGCCGCGACGAGTTTTCAAGGTG CATAAGGTTTTTGCGATGGGTCTCGTCACATAATTGTAGATTAAAATTGT TGATTCGAGATAAATGGAAATTCGAAGCGTCTAAAACAGTTAGAACTTTT AGTTTACATTAGGTTGAGCTCAACTGTCCAACCCCGTCAAACTTTTTCCA CTTTTTTTTTACTTTTGCCTTTATGTCCTTTTCGGCCGTTTTCCTGGGGG TTTTTACCAGACTACGAAATATCCTAACTTGGTAAGCCTCAGCCTAAGCC GAAGCCTAAACCTTGGCTTTCAACTATACATACACATTTCCTCCTTTTTA AACGATATTAATTAATTTACAAAACACCAAAAAAATATACAAAAAATGAT TTGAATTTATGAGTTTCCCGCTAAATACCTACCGAGACCCAACTTTTGGC CGTGGAGCGCGCTTGCACTTAAACTTCAATTTTTCACATCCCCATAATAA CTTCCTTGTTTTAAATTGTTTTTCCCTATATTATTATTATCCTTATCACG AGATGCCCTTGCAAAACACATTGTAAAAATAGTATTCTCAACTGATAATA ATATTTTGTGTACCCCACGATAGTCCTTCTGGACCATAAAAATATTGATA ATTACTGATAAGCTTTCTCTGTGGTTTCTGTAGTTTTGGTGATATTTTGG GCAACAAATTTATATTATGGAAACACGGAATTCTGAAAATGCGTATTGCG CAACATATTTGACGCGCAAAATATCTCGTGGCGAAAACTACAGTAATTCT TTAAATGACTACTGTATCGCTTGTGTCGATTTACGGGCTTGATGTTGGAA ATTAATTTATTTTCGAATTGTGACAGCGATATTCAGTTTTCCTTTGTTTT TTTTTTTCGTATTATTTTGTTATTTTTATGCTTTCTTTTAATATTTTATC AATTAATGAATGATTTCCGTAAATCGACACAAGCACTACAGTAGTCATTT AAACAATTACTGTAGTTTTCGCTTCGAGATATTTTGCGCGTCAAATATGT TGTGTAATACGTAAAGAAAGTTTGAAATAATTGTTTTTAAATAATTTCTT ATTCATTCACTGTCAATTCTCACCGAAAAAAAAAATCCAAGTTCCTCCCG CCAACTTGGCACGATGCCAAAAGGTTCTCAGGCCCATTCATGTCATTCAA TCCATTCAAATGAACGACTTTTCGTTCAGTTTAGGCTTCTTCTTTTTCCG GTTTAGTACTTTTTCAAACCGAAAAAAAAAATCCCAAATTGAATGCAAAT GTGCTCTATTTGGAATAGACTTCACCCTATTTCGGAATTTTTTCCGATTT TCTGAAAATCTTTAACACTTTTCTAACTGTTGCATTAATGACATTTTTCT AGAAATTCTACTGCAAACGCGCTCAGTTGCGAAAGTTTTTGGGTCTCACA ACGATTTCGGAAGAAAAACGTTTTATTCGTTGCGAGACCCGGAAGAGCCC GGTGGAGCGCGTTTGCAATTTTTTTGGTTTGAAAATTTTGCGCAACGATG CTCCAAAATAACACCTCGCGAATTTTATCGTTTTTTTAAATTATGACTTT TCCGGTCCCAGAACGAATTACAAAAGCAATTTTTATGAAAAATCGTTACA AGACCACAAAAAAAAGCGCAATAGAGCGCGTTTGCACCTTTTTTTCTTGG AAAAGTCTCGTTTTTTTCTCGGTAAATTCACTGTGACATTGACCTTTCTC GAAAAACGAAAAGTGTAATGGAAAGTGAACAAAAGTGACAATAATCTGGT GAATTGCGTTTTGTTGTAATATTTTTGTATCTTCTTTTCTTTTTTTAATC TGCGAAAAATAGAAAAGTTTTGGAGAGAAAGTGATTTTCGACGAAATTTT CCTGATTTTGCTAAAATTGAACAAAAATTGTCATCATTTTCTGTGGGGTT TCTCAAATGTTTTCTTAAAATTTATGCGCCTTTAAATTTGGGGGATTACT GTAATGTTTGTATTTTTCAATTTTGTTTCGGGAACACAAAATTCTGAGAA TGCGTACTGCACAATATATTTGACGCGTAAAATATCTCGTAGCGAAAACT ACAATGGATTAAAATTTAATGAAATATCGTTATCACTATTCGAAAAGAAT TTCATTATGAAGCCCGTAAATCGACACAAACTCTACTGTAGTCATTTAAA GAATTACTGTAGTTTTCGTTACGAGATATTTTGCGCGTTGTCCCCGTAAT AGTTTAACTTTTACCACGTGGCCGCCAGAAGAAAAACTTCTGCTACCGGA TTTCATTTCCTCGGCCACAAACCCTTTTGACCCCCGAAAAAGTACATAAA AACAATTCCGGGGACTGGGTCTCCAATCTCTCGCCCCCACTCACTAACAA GGGGGACACCCTCAGAAACGAATGCCGTCTAACCGTCTGCACCCTCTCTC TCGTCGCTCCAAATTCTTGGATCAATGCCAACTAACACGCAGTGTCCCCC CTCCTCCTTCATCCACCCAAATGTTTCATCACTTCCCGGCCACCGCAGGC TTCTCTCTCTTTCTCTAAATCTCTCATAAACTACTGTCTCTCTCTCTCTG CTTCTTTTGCTCAATTGTTCTTCTTCATCACTACTATTTGCTCAATTTTC GTAAATATTTTATTTTAAAATATCCCTTTTTCCTCCCCCCGCCTCTCTGC TTCTCGCTTGACGCGCCACATACACTAAAAAAACCGGTTTTTTCTATCTC TCTCCGCCCGATCATTGAATAGATAGTGTGTGCTGTACATCAAATTTCCA TGGAAAAATCGCGCCGAAATTCCAGAAAATTCCACTTTTTCTAGAATTTT CAGCGATTTTTTTCGGTTTTTGAATTTAATACAAAGCGAAATTCCGTGAA AAATTAATTTTTCCTCAATTTTTGACGAATAAAAAATATTAGTATTGTTT TTTTTTCAAGAAAGTGTGATTTTTTCACAATTTTCTATGGTTTTTACGGA GAAAATCTTGAAATTCCACAGAAAAACTTGACAAGTCTTTGAAAATTAAT AAAATTTCACCGTATCTGCCGATCGTTGCAAGACACACTCCACAAAAGAA GTCGTGCGCCTTTAAACTGTGTACGGTAACTATATTGATTTAATTTTTTT TTTCGATTTTGCGTCTATTTTTCCAATTTTTCTCTGATTTCGAACGATTT TTTGCATTTTACCTCAAAAAAATTAATTTATTTAGATGATAAAGTGGAAA TTGCTGATTTTTTACAAAAAAACACTTAAAAAACGAGTTTTCTCATCAAT TTCAGTTGTTTCTGGCATGGCTCATTGTTTATCGACACCTGCTTGTTTTT CTCCTCCTCTCCCATCAATTTTATGAGTTTTTCTTCGAAATTTCTCCATT TTTCCCGTTCAAAAACCGCCAAAATTCGCTTTTTTTTTTCCAGAATTCGC CTACTATAGCACTACTAGATGTGTTAATTTGGAATTATTTTTCAAAAAGA AATGTATCCGGACGGGCTAACTGAAAATGAGAAGCTCAAAGTGAAGGAGC TGTGCACTATGGTCAATATATCCGATGAGGATGCGATTAAATTGTTAAAA GGTGGATAATTAAGCTGAAAAGTGGAAAAAAAAATGCATTTTTTACCTAA AATTTACCTAAAAATTGGACCAAAACGTCATAAAAATACTGAAAAGTCAG AAAATTGTCTAAAAAAACTAATTTTCGCTAAATAATTCCAGAAAACGACT GGGACATTGCAATTTCATCGCGAAGAGTGTCGAAACAAGAGGATAAAACA TTGGTTCCGGGCACTTCGAGAGGTAAATTTTTGAAAATTTTCAGAATCAA ACTGAAAAATAGATATATTGTGTGAAAAAATCCATTTTCGCCGTAAGAAA AGTGAATTTTGAGCGGTTTTTCAAATTTTAAACTGAAAAAAAAAATCAAT TTATCTGAAATTTTGCTCTTTTCGGCGGGTTTTTTCTCAAAATTTGATGA AAAAGTTCTAGAAAAACGACAAAAAAGCCTTTAAATGTACTTTTTTCTGC GATTTTTTATCTTAAATTTAAAATTTTGCGCGTCAAATCTGGTGTTTTGA CTCCGCCCACTAAATTTAAACTTTTCGTGAAAAAAAAATGTTTTTCTCCG ATTTTTAATTGTTAATTTAGGCAAAAAAATACAAAATTTGCCCAATTCAC CTATTTTTTCCAAAAAATCACAAACTTTGCGCGTAAAATCGGGTGTTTAT GCTCCGCCCACAAAAATTTCTTAGAATTCGATTTTCGGCGGATTTTTTCT CAAAATTTGATGAAAAATCTGAGAAAAACTACAAAAAATCTTTGAGCTTT ACTTTTTCTCTGCGATTTTTATCTAAAATTTGAAGTTTTGCGCGTCAAAT CTGGTGCCTTGGCTCCGCCCACAAAATTTGAAGTTTTCGTTTAAAAAAAT GTTTTCACCACTTTTTCGCCGCTTTTTCGCCTGAAAAATCCCAATTTTTT TGCAGAAGAAATCGATTTGGATCGATTATCGAGTCGTCTACGTGTTCACG GATTAGCCTTCTATCTTCCAGATTTTGGAGGTTTTCCTAATGAATTTCGA ACGTTTTTGGAGAAGGATTTGATAGAGACGCAGACACAGAAGAGACTGGA GGCGTCCAGTAAGTTGTTTTCTGGAAAAATTGAAAAAAAAATTGAATAAA AAAAATGATTTTTTTAATCGAAAAAAAAAGTTTTCAAAAATAAAATTGGA AAAGGTGAAAAAAATTGAACAATTAAAAAAGAGCGACAAATGAATAAAAA AAAACTTTTTTTTTTTCGAAAAAAAAGAAAACAAATGTTTTTTAATCGAA AAAATAAAAAACGAAAAAAAAAGGAAATTTTTTTTACAATTAGAAAAAAA AAATTAAAAATGTATTAAAAATTTTTTTTTTTGACATTTTCTTTCGCTTT TTAATAAGTTTTGACTAGCGGGCCCTGCGGGCCCGCCAGTTGCAGGGGGT GTAGGGCGAGTCCCCCAGTCGGGCGTAGGTTCTCGGCTTCGCCTCGAACC TGTCAGAGGATTCGCGACAATTGCAGTGAGTCAATGGGAGGAGGGGAGAC CCACTCATATTTTATAAAATCGAACATTTCTATTTGAATCCCGAGCACTC ACAAAAAAACGAAAAAGTTTGTCAGTTGGGGGAATCGAGCAAAAGAGCAA ATTATTCACAGCCATACGCACTAACCACTCGGCCATGCGGGAGAGACCTG TCACAGAAATGTAGGGAAGGAAAATTTCTGGGGGGGGGGGGGGGGGGGGG AGTTGTCTTTCGATTCCGTTTTATTCAATAATGACAATTTGGGGAAAGAC GTTTGAAAACCGTTTATCACTGATAAGTCAGCAGGAAAACAATTTTTTGA AATTTTTTTATAGCATTGTACTCATTATTTAATTCCCGAAAGAGAGCCGA AAAGTTGAAGGTGTTATCTTGTAAATTGGTTTATTTGAAGAAAAAACAAG TTTTGGCCTGAAAATTTTGAAAAAATAATATCTCTTGGCAGAGCATTGCT AATGCGACGAAACTCCAGCTTCCATTAGATAAAATCAAAAACTATGAATC AGAAATACATTCCGCAAAACTTTAGTGGAAAAAATGTTCAGGAGACCCAG GAAACCACTCCCCCCAGTACTAAATTTTTGAATTATTTTTTCTTGAAAAA TTTTCCCACTGAACTTTTTACAAATTTTATATGTCTCGATGCGTCTTGAT GAGACCTACACGTCAATTTTTGGAAAACTAAGAAAACTTGAAAACTGACC GAGTTATGATTGAAAAAGTAGATTAGCAAAGATGGGAAAGTGTGCAAAAT TTGGCACTTATTCGTCTTGCTCGGCCGACTCATAGTACTTTTTCCAATTC TGAGTTAAAAATCGTGTTCAGCGTACTTTTGTACGTGGGATAAAGAAAAA AAATATCAAAAAAGATGAAGTAGAACTTGAGATAAAGACGAAAAACTACT TTTTCGGAAAAAATTTTTTTTTGGCAAAATGGCATTTTTTGGCCTTTTGT TTTATCACAACTTTTTGCCTTTTGCACTTATGAACTCAAACTTTCTTTCA AAAAATCCACCTCTCTGAGTAGTATCTTGCACATAAATTTGGAACAAAAC CGAGCAAAACCCGAATTTTAATTCAATTAAAACATGGTTTTTTGGGGGTA AAAAAAGCAACAAAAAATTTTTTCAAACTGGGGAAAGCCGCCCTGAGCTC AGTTTTGCTCCAAACTTTGTGCAGTTTTTTGCTCCCCCGTGGGGTGAAAT ATTTCTAGTAAGCTGTCAAATATTACAAAATTCAGTCAAACGGCTCTGGA GTTATTAATGAAAACGCAGTGTGACATTTTTTCGCAAGCCAAAAAAAACG CGAAAAAACGCGAAAAAGGGGCGGAGTCTGTACACTCGGCATTTATTAGA GGCTGCTTGGCAGATTTTGAAATATCGGAAAAACTTTAAAAGTTCTTTTT TTTCCAGGACACCTAAACTGGTGGCATCAATTCGGCCAAAAACTCTACCC GCTATCAACTACTGGAGACGGAAATTGCCTTCTTCACGCCGCATCGTTAG GTAAATGGTTTTTCAGAGCGAAAAATCGGAAAATCGCTAAAAACTTACTA TTTCCACTGAAAAAATTGTAGAGATCGCTCAAAATTTCACTATTTTCTGA ACATTTTGATAAAAAACGACAAAACTATTTCAAAACGAGCCCCGAAAATT GTTTTTTTACTAAATTTTTTTTGGAGAAGTGCAAAAATTTAAATTTTTGA ATTAAATCTTTAAATCTTCAACAAAATTTAATCGTAAATTTTCAGGTATG TGGGGAGTACATGATCGTCAGCTATCACTTCGTGAAACTCTCTACGAACT TCTTACAAATGGCGCCAGAAAAGAAGCAATCCGACGGCGATGGAAATGGG TTGAGAATCATATGAATCAGGTAATTGGCGAGAGAAGAATCTGTGAAAAA TTTCTTAAAATTCGGTGAAAAATGATCAAAAATGAGCTGAAAACCGGTCA CGTAGTTGAAATCCGCGGAATATGAAATTCCCAGAGGAAACAATTTTCGT GGATTTCAACTTCGCGAATTTTTCTCAAAAAGCTTGAGTAAAAACTCACG GAGTTGAAATCCGCAGAATTCGAAATTCCCAGAGGAAACAATTTTCGTGG ATTTCAACTTCGCGAATTTTTCTCAAAAAGCTTGAGTAAAAACTCACGGA GTTGAAATCCGCGGAATTCGAAATTCCCAGAGAAAACAATTTTCGTAGAT TTCAACTTCGCGAATTTTTCTCAAAAAGCTTGAGTAAAAACTCACGGAGT TGAAATTCGCGGAATTCGAAATTCCCAGAGAAAACAATTTTCGTAGATTT CAACTTTTCTAGATTTTTTGCCAATTTTTTATTACATGTTACAAAAAAAC GGCTGTAAATACTCACGGAGTTGAAATCCGCGGAATTCGATTTTTGTAGA TTTCATCTTTTCCAGAATTTTCCAACAAAAAAAACCGGAAAAAATTATCC GACACTCCATGGAATCTAGTTTTCGGAGATTTCAACATCGAGAACTTTTT TCGCACATTTTTTTGCATTTTTAAAAAATTTCACCAATTTTCCAATTAAA ATTTTTTAAATTTCCAGAGTAACGGTCTCGCATTGACCCTCTCGGAAAAT GAATGCTTGAGTAAAAACTCACGGAGTTGAAATCCGCGGAATTTGAAATT CCCAGAGAAAACAATTTTCGTAGATTTCAACTTCGCGGAGTTTTCTGTCA ATTTTTTGAGATTTTTTCTCAAAAAGCTTGAGTAAATACTCACGTAGTTG AAATCCGCGGAATTCGAGATTCCAGGAAATTCGATTTTCGTAAATTTCAT CTTTCCCAGAATTTTCCAATTAAAAAAAAACGGAAAAAATTATCCGACAC TCCATGGAATTTAGTTTTCGGAGATTTCAACATCGAGAACTTTTCTCGTA GATTTTTTTGCATTTTTTAAAAATTTCACCAATTTTTCAATTAAAATTTT TTTAAAAAATTTTCAGAGTAACGGTCTCGCATTGACCCTGTCGGAAAATG AATGGGAACTCGAATGGGATGTTGTACTCGGATTATCATCTCCATTACCC CGTAAACAAGAGGATAATGGCTCAAATTCCACAGATCAAATCTACGAGAG TCTTGAGGCAATCCACGTGTTCGCGTTGGCTCATGTGCTCAAAAGACCAG TTGTGGTTGTATCGGATACGGTAGGGAATTTTAAAATTTTTTAATTCTTC AAAAATTTATTGAAGAGAACAGTAACAAAAAATTTGGTTACTTGTGAATT TTACAGAAATATAGAAAATTTTAATTTAAAAAAATTTCGAGATTGGTGAG AATCAAGGGTGTCAAGTCCCGTGTCCCGTTTGTCCCGTTGTCCCGTTTTT TGAGTGTTTTTACGGGAACGGGACGTCTTTTGTCCCGTTTTTGAGCGTTT TCACGGGAACGGGATGTCCCGTTGTCCCGTTTTTTGGGTGTTTTCGCGGG AACGGGACGTCCCGTTGTCCCGTTTTTAAAATTTTCACGGGAACGGGACA TCCCGTTGTCCCGTTTTTGTCATTTTTACGGAACATTGACACCCTTGGTG AGAATAAAAAATCAATAATACACATAATTTTTGGAAGAAAAATCGATTTT AAAAATGAAGCTTAACATTTTTTTTCGAAAGAAAAAAAGTGTAAGAAGTT TATCAAAAAAAAAAACATTGAAAAAAATATCTTCAAAAATGTTCAATTTT GTTTTAAGGTGCAACTATTACAAGAGCACACAATTCTTAGAATACGTATT GCGCAACCTATTTGACGCGCGAAAACTACAGTAATACTTTAATTGTCTAC TGTAGTGCTTGTGTCTCGATTTACGAGCTCGATTGATAGAATATTCAAAT AATTTATTTATCGATTTAATATTCAAATTAGGCAAAAAATGAGAAAAAAT ATACATGTGAAAAAATTAATTTTAAAAATAGAGCCCGTAAATCGACACAG TAGTCATTTAAAGGATTACTGTAGTTTTCGCTGCGAGATATTTTGCGCGT CAAATTTGTTGCTTAATACGCATTCTTAGAATTTTGTGTTCACATAATAC GGTTTTTCAAAAATTTTAAATCTTCATAAAATTCATCAATAATAACTAAA ACTTAATCAAAAAAAAATTTAATTTTAGTGTAGTCATCAGAAAAAGTCCA TCAAAAAAAGTCCATCAAAAAACCATCAAAAAAAGAAAATTGAAAAATTT GAATTAAAACATTTTTTTCGAATTTTTGAAAATAAAAGTGTTTGAATATT AAACGTAATTAAAAAAAAAGATTTTCCTTTTTTAGAAAAATCTATTCATA TTAGAACAGTCGATTTTATAAAAGTATCGATTTTTTTATTAATTGGATTT TTTGTAAAATAATAATCGATTTTGAAAATAAATTGCTTAAAATATTGTAT TTTTTGACAGAAAAAATGTAAAAAATTTATCAAAAATAAATAAAATTGCA AATAATTTTACCTACAAATTAATTGTTTATTAAATAAAGTTTAAATAAAT TAGAACAGGAGTAAAACGAGTTTTCAAAATTATTCTTTAAAATCTCGGGT TCTTTTAATTCAAAAATTCTTTTAAAAAAAACTCAATAATTACGGATTTT TCAAAAATTCGAAAAATTCAGAAATTCAGAATTTGGATAACATAATTCTA GTTGACTTCCAAAAAAATGATATGTGACTTACTTAAGGTACAACTAACAT TAATTTTCCAAAATTCTTATGGCTGCTTTAAAACACGCCAATGGGGTCAT AATGACCGAATATTATGTTTAAAAAAATCAAAAAAAATTTTCTGATTTTA TATGATTTTTTGAAAATTGGAAAAATCACAGTTTTAACCTAATTATTTTT GAATTTCTGCCAATTGGATTTGTTCGGTGCAGCGCGCTTGCATTATTTTT ATTTATTTATTTTATTTATTCTCGTTATTTCACTGATTTTCTTCATTTTC TATGTTTTTTTTTCTCGGAAAATGAAAGAAATAAACAAGACAAATGCGAA ATGTTTGTTAAAAAGTAATTGAAAATGCGTAAAACTGTGATATTCTGAGT TCCGACGACGAAGAGCCTGAAATTAGTATATTTTTCAGTTTCACTCATTT TCAATTACTTTTAAACAAACATTTCGCATTTTTCTTGTTTATTTCTTCCA TTTTCTGAAGAAAAAACATAGAAAATGAAGAAAATCAGTGAAATAACGAG AAAAATATATATAATTCATTAAATAAAAATAATGCAAGCGCGCTCCACCG AACAAATCCAATTGGCAGAAATTCAAAAATAATTAGGTGAAAACTGTGAT TTTTCCAATTTTCAAAAAATCATATAAAATCTAGAAAATTTTTTTGAATT TTTTTATCATAATATTCGGTTATTGTGGCCCCATGGGCGTGTTTTAAAAC AATTTCCCCACTGAGCGTAGTCCACCTTTGAAATGTTCTCAAAAAATGAA AAAAAAACGAGTTATAAAAATTATTTTTTAAAAATCCAATATTTTAAATT AATTTTTTTTTGCAGATTCTGCGAAACGCGAAAGGCGAAGAACTGTCTCC AGTGGCTTTTGGTGGAATATATCTTCCATTAGAATGCCCACCATCACAAT GTCATCGTTCACCACTTGTTTTATGCTATGATTCTGCTCATTTCTCACCA CTTGTACTCATGAGAACAGAGACTAACAATAAACGTAAGCAATTTTTTTT TTGAGAAAAAATATTTTCAAAATCATTTTTTAACTGAATTTTCAAATTTC CCCCCCCCGTCCCCCCCATTTTTTTCGAAAAGTGAATTGGAATTTTCCTG AAATTTGCACAAATTTTTTTTTGAAAATTCAAATGTTCGTCAAATAATTA TTTTATTCGAAAAATCGACATTTTTCCAAATTGTAATATTTTTATTCTAA AAATCCAAAATTTGATTTGGTAAAATTTCTGTCAACAATCAATTAAAAAT CCAAAATTTTCAAAAAAATTGTGATTTTATTCGGGAAATTCGAAATTTCC TATTTAAAATTGGATAAATCTAAAAGTTTTCGATTTTATAATTTTTAGGA AAACAAGTTTTCAAATTTTTTTAATTATTAAAGTTTTTTTTTGCAATTTC ACTAAATGAGCCAAATTTTAAAAGTGGAGCACCGAAATTTGAGACTTTGC TTTTTTAGACTCAAATTGGTCCAAAACTACCGAATTTTGTAATGATACAT TCTGAAAATTTCTCAAAAAAAAGTTATGGCTGTTTAAAGTTCGGCAAAAT AAGGCCCATTTTCAGCTAAAATCAAAATTTTTTCCAACTTCTAGGTGTCG CAACGTCTGGACCCTAATTTTTATTTATTCATCACTTTTTAATAAATATT GTGGCCTTTGATTGGGCGTTTAATCGTTGTTTTAAGTACATTTATGATCT TTGGAGTACAAATAAACGTTACATTTTGTACCCCAAAGACCATAAATGTA TTTAAATCAACGATTAAACGCCCAATCAAAGACCACAATATTTATTAAAA AGTGTTGAATAAATAAAAATTAGGTTCCAGACGTTGCGACACCTAGAAGT TGGAAAAAATTTTGATTTTAGCTGAAAATGGGCCTTATTTTGCCGAACTT TGAACAGCCATAACTTTTTTTTGAAAAATTTTCAGAACGTTTCATTACGA AATTCGGTAGTTTTGGGCCAGTTGGGTCTAAAACAGCAAAGTCTCAAATT TCGGTACTCCACCTTTAAAGAATTCATATAATTTTCTAAAACAACATATT CTGATTTACAGAAATACATTTAATATCAATATGAATTATTTGAAAAATCA AAAAATTTATATTTATTTTCAGAAATAATTCCGATAATCGATGTGAACCG TAACCTGCTGCCTGTCCATTTTGCAGTTGATCCAGGAGAGTCATTCGATT GGTCCAAATTAGAAACAAATAGTAATACACAGACAACTACTGATATGTCA CAAATTGATAAGCTTGCGTTGATTAGTCAATATATGGATATTATTAGGTA AGAAAATGAGAAAAAGGATTTTTTCAATTTTTTTTTCTAAAAAAAATATT CAAAATATCGTTAAAAAGCCAAAAATGTGTACGTTTTAATTTAAAAAATA TTAAAATTTTTTTGTCCCAAAATTAAAATATCGAAATCAAAATGTTTCCG ACATTTATATAGAAATTCTGGAAATTTTTTTAAAATCGAAATCATATTTT GAATGAAACTACAGAAAACAGCGCCAAAAAAGAAAAAAAATCGTTTTTTT TTTTCGAATCTTTCATTACAAATATTTGAAAAAACGATACAATTATGTTT CGCGAAAATTTTTTAAAAAAACTTTAAAAAATTATTAAAATCAGCTATTT AATCACAAATGAGAAATATATCGGAAATCTGGAAAAAATTAAAAAAATTT TTTGCGTATTTGTCTGAATTTATTTTACAAATACCAAAAAAAAATCAATT ATTGTTGGAAAAAATTGAAATACAACGGAAATCGAATTATTTTTATTTAA AAAGAACGAAAAAAAATCCAGAAACCATCACAAAATTATTGGAAAACGAG AAAGCTGATTTTTCGCTAAAGTTCAAAAAAATTTACAAAAAAAGAAAAGT ATTAAAATCGGTAATTTTCCCAGCTTGAAAAACTGAAAAATTCGAGTTTT CTAAAAAAAATTAAAAAAAAAAATCAAAATATTCCTCAATTTTGGAAAAT TACGGAAAAAGTAGTTTTCTTTAGCTTTCGGCCAAAATTTTATCATAAAA ATTTCCGGAATGCATAGTTTTAGAGAATAATTTTAAATTGAAACACTAAA TTTTTTAAAAAACTTTTTTTTTTGAAAATCCCGGATTTAAAAAAAAATAA AATTTGAATTTCATATAAATATTTTGTTAGGAAAAATAGTTTCTAAACAA AAATTTGAAAAAAAAAATATTTTTTTTTTCATATTCTTTGAATAAAAAAA ATCTGAATTTCGAAACATTTCAGATTAGACGTTCGTCGTGGCTCAATCCG TAGCTCGCGGAGAGTTCGAAGTGCTCACGCGCAACTTCTCACCGAATCTC GTGGTGAAAATGGGCAAAATTTGCCCCAAAAATCAATTAAACCAAGAGAT TTAAGTGCACATTCTAGTGATGAACAACCATCAAATAATGCAAAAGGAAT GACATTAGCATCAAGTGGAATTGGTTCTGGAAGACATGAGAAATGGAGAT TAATCAATGAAATTCGGTAAGCATTTTTTTTTTGGATTTTTGGCCTGGAA AAAATTTTTCCAACAAAAACTTGAACAGAATTTTTGAAAAAAATGTTGGA AAATTAAAAAAAAATTTTTTAAAGTAATCAATTTTAATTTTAAAAATTAG AAACTTTTCAAATAAAACATTTTTATTTTTTCAAAAATTTTGAATTTCAT TTTCAGAATAATCATTAATGAAAATTCAAAAAATTCAAACTACAATACTA CGATAACAAAAAAAAATCAGAATGCGTACTACGCAACATATTTGACGCGC AAAATATCTCGTAGCGAAAACTACAGTAATCCTTTAAATGACTACTGTGT CGATTTACGGGCCTTGTTCTATTTTTGAAATTAATTCATTTTCGAATAGT GACAGCCATATTACATTTTTCTTCGCTTTTTTGTATTATTTTCTCTTTTT TTTTGCCTAATTTGAACATTCTATCAATCGAGCCCGTAAATCGACACAAG CGCTATAGTAGTCATTTAATGAATTACTGTAGTTTTCGCTACGAGATATT TTGCGCGTCAAGTATGTTGCGTAGTACGCATTCTCAAAATTTTGTGTTCC CGTAATATGGTAGTTTGAATTTTTTTAATTTTCATTAATGATTATTCTGA AAATGAAATTCTAAAGTTTTGAATAAATAAAAATGTTAAAAAATTTTTAT TTGAAAAGTTCCTCATTTTTTCAAATTAAAATGGATTACTTTTAATTTCC AAAATTTGTTTACAAAAAATTCGTTTAAAAAAAAATTAAACTGTTAAATG TTAAACTTTTCAAAAAAAAAGTTCAAAATTTTTCTGTAAATTTTTAAAAT GATACATGTAATTTAGATTATAATTTAAAAAAAAGACAAACATTTTTTGA CGAAAAATATTAAAATTTTGTTAAAAAATGAAAGTTTTTAAAGCCTAAGC CTTAGCCTCAGCCTAAGCCCAAGCCAAAGCCCAAGCCTAAGCCTAAGTTT GGTACTGCAGTATTTAAAAAAAAAGTTTTTCCCCAAATTTCTTCTGTTTT CTTAAAATTCAAAACTGTTATTTGCAAAAAAAAATGTTTTTGCAAAATTT GAAATTTATTGAACTGAAAAAAATGTGAATTTTTTAATTGCCTTTGTCGC AGCGGCTGGAAACAATTTTTTTTTTGAAATCAATTTTAAGAATAAAAATT GATTATCTTGCGTTTTAAACTTGATTAGGGTATTTAAAAATCGATGGACG GCGAGTTTTGGTTCAAAAAAATTAAAAATCTCGCCGTCCATCGATTTTTA AATACCCTAATCAAGTTTAAAACGCAAAGTAATTAACTTGTATACTCGAA ATTTGACGATGATTTCAAAAAAAAATTGTTTCCAGCCGCTGCGACATTGA TAAGTTGGTCAAATTTCCGATTTTAACTAATTTTAGGCCATTTTTTGAGC CGTCATAACTTTTTTCTGAAAAGTTTTCAAGAAGTTTCATTATAAAATTC GGTGTTTTCAGACAATTTTGAGTCTAAGAAGCCAATAAAAAATTCGACTA CACCACCTTTAAAGCTCAAAATAACGTCCAAAAATTCAATTTCCAGAACC CACGTGCTTCGAACTTTTCGTATTTCCTCATCAACACGTGGCAAAGAGAA ACTAATCGATACGGACGATTGTATTGCAAGAATGAATTCGACGTGCGTTC TCGCATCGGAATTATTGCCAACTCATCACCAATACATGGACAAAATAATC AATGAATACATGAAAAGTGCGAAACAACGATTCCAACAGAATCAGCGAAC ACAATCGGATAGTCGGAAACGGATTAGTCGAAGTTTCAGTGCAAGCTCAC TTATGCTCACGTGTATCGGTTGTGATTCGGTACGAGACCCACTTTTTGAT GGAATTTCGAGAAAAAAGTTGAAAAAACGGAGAATTTGGCACAAGTAGCC TCAATATTTGAAAAAAAAAACCGAAAAAATGGATGAGGGGAAGCCAAAAT ACCAGAATTTACACCCAATTTTCAAAGTTTTATTGATTTTTTACAAAAAT TTTCTCAGTTTTTCAGTAAATTTGCCAGATCTGACCATTTTTTAGGAAAA CTGAAAATTTTCGGTGTTTTGCCAGAATAGCAACTTCCTGAAAATTTAGA ACTAATTAATTTTTAATTTTTTGGGGGAATCATTTATTTCCTAACAGAAT TTGATTTGAATTTCGAAAAAAACCGATTCTAAGCTTAAAAATTGACAAAA ATAGCAATGAATGTCAAAAAAATTGCTAATACATAAAAATTGTTTGAAAA AATACAAAAATAACAATTTTTATTTAAACTTTAAAAATTTTTCAAATTTT AAAAATTGAAAAAATTAAAAAATTTTTAAATTAAAATTAAAACATTTTTT GTTAAAATTTGAAAAAAATTCAAAAAAAAAATTTACATTAAATTTTTTTT TTCAGGAATTCAAGCCGGCATCTCAAGTGACAAATATCATGTGTGATCAA TGTTTTGCTTGGCAAAAAATGAGTGTTCTCACGTCGAATTGCGACCAATT TATGGGAAATTCTGGGCCACCGTGCAAAAGTTCAACACTTCCGTCATTTG GTAGTAATGATAGTAATCAGAATGATAAGGAAAATATTGTGGAGGTACTT AATGTGGTGCCTAAAGATGGAGCCAAGACACTTACCAGGTATGGTTGAAA TTTTGAAAAAATTAGAATTTTCAACGAAAACAGAAATTATTTTAAAAATT TATTTTTAATTGAAAAATAAAAATTTCTCCCAAAAAATTTTCCCAAAAAA AGTGTTTATGTTATTTTTGAAAATTATAATTGAATTGATTTTAAAAATTA CGAGAACACAAAATTTGGAGAATGCGTATTGCGCTACATATTTGACGCGC AAAATATCTCGTAGCGAAAACTACAGAAATTCTTTAAATGGCTACTGTAG CGCGCTAGTGTCGATTTACGGGCTCTATTAACGAAATGAATTAAAATCAT TTAGTTATCGAATAATACAAAAATCATTTCATTTCGAAAATCAAGCTCGT AAATCGACACAAAAGCTACAGTAGTCCTTTAAAGGATTACTGTAGTTTTC GATCCGAGATATTTTGCGCGTAAAATATGTTGCGCAATACGCATTCTTTG AATTTTGGCTTCTCGTAATATACGAAGGTTGAAAATTTCAGATTTTTAAC ACAAAAACTTATGAAAATAAAATTTATGAAAAGTATAAAAAGTTGAGAAA ACAGAAATTTTAATTTTTGCGAAATCTAGATGTCAATTTCTTCACAAAAT TTTTCAAAAATCGATTTTTCTTTCGAAAATTTTTTTTTGTAATTATTTTA AATCAAAATTTGGCGATTTTCAAAATGTTTATTTTATATTTAATTTCTAA AATTAATTATTTTGATTAAAAAATATATAAATTCAATTTTCAGATTGTAA AATGAATTTTTTTGAGTTTGCCGTTGAAAAATAGAAAACAAATTATTTTT AATAACTGAAATAACTGAAAATGTTGTTTGAAAAATTACATTTTTCCAAA AAATCGAACATTTTTGACGCGCAAAAAAATTTGTAAAAAAAAATTTTCAA CAGAAAAAACTGTAAAATAGGAAAAAAATTTACCTAAAAAGCGTATGTGC CTTTAAAATGTACAGTAACCCCAAAAAAATCGATTTTTTGCAGTATGCGA GCTGTGGAGGACGAAAACGGTGTGGTTCACTATTATATGGACGATGAAGT AGCGGATTCGTGATTCTATTATACTCATTTCTTTTTTTGAAAATATATTT ACTAGAGACCAGTTTTCATTTGATTTTTATCGATTTTTTTTGGATTCCAA ATTTTTGTTTTTTTTTTGTTGCTTTTTGTGTGTTTTTTGCCGTCTATCCT TCTTTCCTGCCAACGGGATTTTCTCTTCTTTTTTTTTTTTGAAAAACTCA ATTTTCCCGCCTAGTATTGCTTTTTTCGAGATTTTTTCTTCCATTTTTCA TATCCGCGCCAGCTTTTTCTCTCCCCTCCTTTTTTCACCCATATTTTCGA GCTTTTTTCTGTGATTTTTTTTTCACCCCCAAAATTTTTTGTACCAAAAA ATTGATGCTTCTTTTTTTTCTCTTTATTTCCAACAAAATGCTTGGCCAAA GAAATAAACTCTTTTATAATTTATCATTCAAAAAATTTGAGACCAAATTG AAATCCACATCCAGCAACTGCAAAGTGTCATTTGACAATGCACAAATCGC ATGGCACGCCCCGTTTTCGTCGATCACCCGGGAACGCGTATTCTGGGACC AAATGAGGAGGCGGTGGCGATCGGAGAAAATGAAGTATGGACCACATCTG GAAGACACACCTGATTTTACGCGCAAAAATTTAGAAATGTATCGATTTTT CGGTCAAAAATCAATATTTATCGATTTTCGGAGGGCACATGGGCTTCTGG CCTTCCTCATTGAATATTCGCGCTCCATTTACACTCGCCTGCCGGACAAC GCGTGGAAAAGTGTGGTGTACTCCACACGGACAAATACATCAGTTTTACA ACTAAAATCGAGCCGTGACGCGACACGCAACGCGCCGTAAATCTACACAA AATCTCTCCGACCCAAAATGGCCTAGTTCGGCAAACTCTGCCATTTCGAT TTATGAGGGAAGCCAGAAATCCGTGAGGGCAAAGATTGAACAATCTGAGT TAAATCGTTTCCATACAAAATTTTTTGAAAATTTTATTCTGAAACTGTCT AAAACTCGAAAAGTTATCAATTTTCTGGTTAATTTCTGAGGAAATTCAAA AATTGATATTTTCGAAAAAAAAAATCGGAGCCAATACACATCATTTGACG CGCAAATGTTGAATTTTCAAATTTACGAGAACCCACGGGATTCTGGCTTC CCTCATAAATCGAAATGGCAGAGTTTGCCGAACTAGGCCATTTTGTGTCG GAGAGATTTTGTGTAGATTTACGGCGCGTTGTGTGTCACGTCGCGGCTCG TTTTCAGTTGTAAAATTGATGTATTTGCCCGTGTGGAGTACACGGCACTT TTCCACGCGTTGTCCGGCATTTGTCAATGGAGCGCGAAAATTCAATGAGA AAGGCCAGAACCCCGTGAGAATCCTAAAATTCTGAGAATGCGTATTGTGC ATCATATCTGACGCGCAAAATATCTCAAAGCGAAAACTAGAGTAATTCAA TAAATCACTACTGTAGTGCTTGTGTCGATTTACGGGCTTTCGAAGAAGTT ACTTTTTTAGTTTCTTCGTATTATTTTTTTTCATTTTTTGTCTAATTTTA ATATTCTATCGATAAATGAATGGGTTTTTATTTATTTTTATTATCGAGCC CGTAAATCGACACCAGTGCTACAGTAGTTTTCACTACGAGATATTTTGCG CAATATATTTATAAAAGTTGACTAGCGGGCCCTGCGGGCCCGCCAGTTGT AGGGGTGTAAGGCGAGTCCCCTTGCCGGGCGTAGGTTCTCGACTTCGCCT CGAACCTGTTAGAGGGTTTGTGAAAATTTCAGTAGGTCAATGGGAGTCTT CTTGTTTTTTGAGTTCGGTTTGACCAAAAACAGATGCACCCGATGAATCA GTTAAAGCTGAGTTTTGATTGATTGAAGTTTGAGGAGGCTTTATATTAGG GGAGACGTACCCATATTTTGTATAAAATTGAGTATTTCTATTCGAATCCC GATTACTCACAAAAAAACAAAAAAAATTGACACTTGGTAGAATTGAACCA ACTACCAAAATTTCTGCAGTCATACGCACTAACCACACGGCCATGCGGGA GACACCTCAAACTGGGATGTAGGGAAGAAAATTTTCTGGAGGAAGTCGTC TTTCGATTCCGCTTTCTTCAATTATTACTATTTGGGGAAGACGTTCGAAA ACCGTTTATCACTGATAAGTCAGCGGAAAACCTAATTTTTGAAAATTTTA TCACAGGATTGTACTCATTATTGAATTCCCGAAAAGGAGACGTACAGTTG AGGGTTATATCTTGTACACAGACAGATGTATAGAATAAAACAAGTTTTGG CCTGAAAATTAAAAAAAATAATATCTCTTGGCAGAGCATTGCTAACGCGA CGAAACTTCATCTTCCATTAAATAAAATCAAAAACTATGAATTAAAAATA CATTCCGCGAAACTTTAGTGGAAAAAATGTTCAGGGGACCCAGGAAACCA CTCCCCCCAGTAAAAAATTTTTGAATTATTTTTTTCTTGAAAAATTTTCC CACTGAACTTTTTACAAATTTTATATGTCTCGATGCGTCTTGATGAGACC TACACGTCATTTTTTAGAAAACTAAGAAAACTTGAAAACTGACCGAGTTA TGATTGAAAAAGTAGATTAGCAAAGATGGGAAAGTGTGCAAAATTTGGCA CTTATTCGTCTTGCTCGGCCGACTCATAGTACTTTTTCCAATTCTGAGTT AAAAATCGTGTTCAGCGTACTTTTGTACGTGGGATAAAGAAAAAAAATAT CAAAAAAGATGAAGTAGAACTTGAGATAAAGACGAAAAACTACTTTTTCG GAAAAAAAAATTTTTTGGCAAAATGTCATTTTTTGGCCTTTTGTTTTATC ACAACTTTTTTCCATTTGCACTTATGAACTCAAACTTTTTTTCAAAAAAT CAGTCTCTCTGAGTAGTATCTTGCACATGAGTTTGAAACAAAACAGAGCA AAACCCAAATTTTAATTCAATTAAAACATGCTTTTTTGGGGGTAAAAAGA GCAACAAAAAATTTTTTCAAACTGGGGAAAGCCGTCCTGGGCTCAATTTT GCTCCGAACTTAGTGCCGTTTTCTGCTCCACTGTGGGGCAAAATATTTCT AGTAGGATTTCAAATATTAGAGCATGAAGTCACACGGTTCAGGAGTTGTG AATGAAAACGAAGTGGGACATTTTTTCGCAAGCCAAAAAAAACGCGAAAA AACGCGAAAAAGGGGCGGAGTCTGTACACTCGGCATTTATTAGAGGCTGC TTGGCAGAAAATTATCAATTATGTATATGTATAAGAATTATATTCGAATT TCACGCGTAAGTTCCAAATTTAGCAGCATAGCCGCCTGAAGTTCGAAATT TAAAATAAAAAAACCGAAAAGTACCTGACAGCCAACGTGGCAACAAATGG AATCTCATCGACAAGTCCTTCAGAATTGAATACTGCAGCATTTGACGTAT GATAAATGACTGCCACGAATTGATTTTCAAATAATATTTTATTGATTGAC GTGGCAGTTTGGTGGCTGAGCGGTTTGTAGTCCAATGTTGGTAGAGTTAA TAGGTAAAGACCACCCGTCTCGGTTGCCACACACGCTTCTTCGCCGCTTC TGGAAAATTTGGTTTTGAATTTCTAGGCCATTGGGTTAGGCTTCGTTTTT GAAATGGGTTAGAAATGTAGAAAATGGAAATTCTAGGCCATCAATTTTCC TTTTGCATGTGTGTAGGAAATTGGCTAACATTCTAGAAAATCGATAATTT TATAGAAAGTGAAATTTTCGCAAAATCAATAATTCGATAAAAATCGATAA ACTTTGATAGAATTTTGTTCATCAAAAACCGATAATGTCCGAAAAATTTC AGAAAATTAGATTTTTTTAACAGTCCGTTCATTTCGTGGCCTAGAAACTT ATTTCTAGGCCATGGAAGAGTTTTTCCAAGATTCACGGCCACACGTACAC TTGCATGCTAACAATTGCGACAGGCTTATTAGAAGTCGAAGATCTTCGAA TTTTTCGCGACAGATCCGACACTGTGAGCTTTGTCCCGCCGAGTTTTTCG AGTCCTGATGTTCCGATTTGCCATAAAATTATATTACCATCGTCGGAGCC TGATAAGAGCCCGTGACGACACATTTCTAGGCAAGTTACTGCTCCGTCGG TTATCTGGAATAGAGAACATTTGGAACTTGTCGATTTTCAGAAACATTTT ACTGTACTTTTTTATGGGCAAAACATTGTTTTTTTTAATTAAACAAAACT ACTGATAATTGTAAAAAGATCAATTTTTTAGTGTTTGAAGATCATTTTTG AGTTCTCTAGCTACAAAATAAACAATTTTAGAGGAGTTGCAAAATTGTGA ATTTTAAAAATAAATTGCACAATTTTGCCACTTTTTAATGGTTTTTGATG GATTAAACCTAGATTTTCTGAATTCAGCATACATGAATTACCGCTTTTTG ACAAAATTAGACAACTTTTTATTTTTGTCCAATTTTTTTCAGCCATCTAA TGACTGTCCTTTTTTTTGGGCAAAAAAATAAATTTCCTAAAAGCGTTCGA AACTACTATATTTTGAAATATTTTGAAATAGGACATTTTTTTAGGGCTCG GAGATCAATTTTAAGTTCTCTAGCTACAAAATGCGGAAAAAAATGTAAAA AAGTTTGGTACTTGTGTATTATACCCCCGCCATTTTAAAAATTAATAAAA TTTCCATCAATTTATTTATTTAAATTAAACGTGATACCATTTTTCCTTGT TAGGCTTAGGAATGGTTTTTTCCTAAGCCTGAAATTCCACACGTTTTTAT TTAATGAGTTAAAAAATTAACTTTTAAAATGGCGGGGGTGTAATACACAA GTACCAAAAGTTTCTAGGCCCCATTTGCTGGGCCACAATTTATAGGCTAC AGTTTCTAGGACACATTTTCCTGGGAACATTTTCTAGGCCACATTTTTTA GGCCACATTTTCTTAGCCAAAAATGTACTCACAAACTTAGCAACGTGGCA ACAATTTCAAAAAAAACCTCATACCTTCTTCTCGAAAATTATTTTATCTT TCGAACACATTGAGATATTTCCAGAAACGTCGCCGAGAATAAATTGGGTC GATGAGTAGAAAACTGCAGAAATTGCACAAACCGGTAGAGGAATCGAGAA GCTCTGAAATTATTCTTCATTAATTTTTTCATGCAATTTTAATCTCGGAC CAATCAGCGTTTTGCCACGTCTTTTTTTTTTCGAACCAATCAGAGGAGTG GGCGTGGCTAGATGCTGATTGGTCAGTTTCAAATTTTTTACAAAATATGA CCTACCGTAGAAGAAGAGCACAAAAGTGCTCTCGCCTGATGGGAACAGAA AGTTTCATGAGAGATACCGCCGAACAGAATTAACGTTTTTCGTGAAGAGC TTGAAATCATTAGAATGATATTTTCATTTCGGGTCTGAAATAATTCAATT TTAAAGGTACACGCCACCACCGTATCCTACTTCCACATGGTACTTCTGCA CAGTTTCCAGCGCAACTTTATCGAATTTGTGAAATTCCAAAAGCCTGTCG TAGTTCACCTTAGAATCGTCACGCACGAAATCGTAAAGGAGGTTCAGAAC CTAAAAGTTTGAAAAATATGTCCTAGGAAATCAAACTGTGAATTTCTAGG CCACATGATGGAAATTCGTATGAAAATTGCGACGAGCCCTAACATGTGGC CTATTAATTGTGGCCTAGAATCTGCTGCCTACAAGTTGTGGCCTAGAAAA AATGTTTCCTAGAAATTGTGACCATGGCCTAGAAATTTTGGCCTAAAACA TCCGACATAGAAATTGTATGGCCTAGAAAGTGTGGGGGCAAAAGTTTTTA ATTTTCAATTCGGTTTTTTTTTTCACAAAATGGAGAATTTTTTGATTTTT ATGTCTGAAATTGAATGGGAAACGTGGAAATATTGCTAATAACCAACCTC TTTGCTAATTGTAATATCCTTTTTCACATTCTCGCCGACACCATTATCCA CAGAATCCGTCTGAACTTCTTTATTTTCTTGAAAATTTGCCACGCATTCC ACGTCTTTTTTATTTGTCTCTATCGTCTGCGTCTCCGACGTCTTATACAC TATTTCTCCCTGAAGGCGGATAGGTTTTCTCCACGTGAACTGGAATAGTG TGACGTCTTCCATTATTAGCTGAAAATTTGAGTTAAAACTGCTCTATCAC ACTAAACACGACGACACTCGTGGCCGCGGAAATTAGAAAACTCGGCCACG TAACTTGGTTAAATTAATGAAAATATTATAAAAAACTTTCGAAAATTTGA AACATTTTAACTTTTTTTAAAAAAAAACACATGCAAATGTTCCTAAACTG GCTAAATAAACAACGCACATCCCCGGCGGAGCTCTGGTTTTCCATGGCAA CCGAGAATGCGTGCGGGCCAACGGGGAGAATGTGGAGTACGTAGAGACGC AGACAGTTGTATAAAAGGGGCGGCAACTTGAAAAAATAAATTTCTAGAGA TTAATCCGTGCAAAGTTGTTTTTAATTACCGATGACCGAGTATGTGATTT TTCTAGGCCACGGAACCAAATTACGGCGGAGTTCCGTTGAAAATATCGCT TAATTGTTTTGTTTTTTCTACCAAATTAACTGACTGAAAATCCAGTTTTT TTTTTCTGAAATTAGGTTCTTTCAAAAATCACCTGAGTGTTCCTTGATTT GTTTTCGTAACTTTTTTCTCTCCAACTATTACACTACGGGTGTTTTGACA ACACAATGGAAAACATGTCTGTTCAGTTTAAAGACTGACAAGAGTCTCGT AGTCTCTCGCGGACTAGCTTACGGCCCTTGTGGTCTAGAATATTGAAAAA CTTAGTTTCAGTATTGTGGCCGCGAAATTTGAAAACTCGGCCATCGATTT TTTTTCCCACACCATGGGGCAATATTCACTAGACCATTCATTGTAACAAA TATTTCAAAACTAAGAATTAAAAAAACTCCTACGCAATTTCCCCAGTCAC TTGGCGGCTCTCACGCTCCCTATTTCAGATGTTAACCTCATTTGAATAAA TTGCTTCTCCCATGTGTTTTTGGATGGGATACTCCATCTTTTTCAACCAA TTTTTTCTCCTTACTTTTGTTTTTAACGGCTTTTTTTCATATTTCTGATT GAGAATAGGTCAAGTGATGACGTAATAGAGCGCGTGGAAGAGGAGTGACG TCACACGTGGCCTAGGAATCTCTGCGACCACCACATGAAAAACGTTTTAT TTTCTAGGCATCCCTACCTACCCGTGTTTTGTCTCTATTTTGACAATTTT TTGCAAGTAAATTCCCGGCTGAAACAAGGTCACCGCAACACAAAATAGGT GAAGGGATGATCTCTTTTTTTCCAGAGTCAGTCAACATACATAAATTATG TGTGTCTCTTCCATTTTCCTGTCGTCAATTTGTTCACTATTCGCTTCACT AATTCCTGCTTTGCATTTTAATGTCCGTGCCCTCTCACTGGAACTGACAT TTCACACAATGTTTTTTTCGGTGGAAAAAAGTTTTCTAGATTTTGATATT TGCTGGAAATTTGGAAAATTTAGCGACTTGACCGTGCAAAAATTTTGGTG GCCGAGTTTTCTCTTTGCGCGGCCACGTTGTAATAGTTGCCAGGTGTCGC AAGTTTTTAAAATGACCGAGTTTTCTCTATTCACGACCAGATCTCTCATT ATAGCCGACTTCCGACTTGCGTAAAAGTGCGACGTGGCCGAGAAAAATTT CAGTGGCCGAGTTTTCACGCGAAATCACATTTTTTTAGTTTTTTGGTACG TGGCCTAGTTTTTTAAAACCATTGTTTATCTCCACCCAATCTAAAAAAAT TTCTGCGGATTTTTAAACCATGGCCGTAAAAAAAAGCCACTCTCATATAT TTTTTCGACACCTTTCGGTTTTAGAAATATATTTTTAAAAATAAAATAAA TGGCTTTGAAATCCAAATAGAAATAATTTTCCAAAAAAAGTGGAAAATTT TCTAGGCCACTTGAAATTTTTTCCGAGATCTTTTTTGGGAAAGGAATTTG TGGCCTAAAAAACAAAAACTCGGCCACTATTTTTTGACCATTTTTTCCAT GTGACGTCACTTGTGACTTACAATTCCTTTTCTCAATTTCTTATGAGAAA TCGCTTTTTTTAAGACTTTTTGTGATTTTGTTGCATTTTCTCCCAGTCGG AGATTACGCCACGTGGAAATAGTAAACTCGGCCACACTCTTATAATTTTT TGGCGTCTTTTGGGAAAAGTAACAAGTTCAAACAATGTAAATTACATAGC CTAGACTTAGCTGACCAAGGCTTGTTTGAAATATTTTTGTGGCCTAGAAA AATAAATATTCGGCCATTACTTTTTCTTCTCATTTTTGTCAGAAGACGTC ACTGAAAACCTAGAAATCTCTCTTCCAGGGCTGCAAATGAGTATATCCTC CATACCTTCGTCACCGTCAATATCGGGATCTTCCACGTCATCGACCGCGC CGAACATTTCATTTTGCTATACATGGACCACTAAGGTAAGCGGCCTAGAA AAATAGAAAGTTCGGCCAGCTCTTAAAAAATCGATTAATGATAATTTTCA GTTAAAAACGCGAAAAACTGCGGACGGCGAGGCGACGATTTTATCGATTT CTCCGAAATTCGCGACAGTCCACCAACTTATTTCGTTTCAATGGAATATT CGAATTCATGCCACTTCTGAAATGGTAAGGCTTGTTTTTTTTTGAGGTAG GCAGGCACGAAAGCGTCTGCTTGCTTTTCGAAAACACGTGGCCGCGGACT GAAAAACTCGGCCACCAAAAATCTGAAACTGTGAGTCGCCCTGACAGAAT TTTTTATTTTCTCGGCCAAACAGCAAAAGCCGACAAGTGAAGTTAAAAAG GGAGGAGCATTTTTTTAAATAAAAAACTAGACTCCTAATGACCTCAAAAA TATCATATTTTTAAATGTAAGAGTCGGCCACGTCCGCGGTCGATTTACAC AGTGTCGCGGCTCGGTTTTCATTAATTGAGCACTGAGAAGTTTCACTTCT CCAATTTCAATTTTCAGAACGAAGAAGACGAAGAAGTGGACTACGTGGCA GTTGACCTTTACCTGGTAGATGGTCCTGTAAATGAGGTGAACGTTATGGC CGAGGTGGGGGCTCTAGAGAAAACATCCACAGCAACGTTGGGAAGCCTTC CCGCAGGTCAGAAAGAAGCAAAGACTATAAAAATGCAAAAGGGCTCTGGT TGTGAGATAACGGATGCAGATCGAGAATGTGTGTCGAAGTATTTGAAAGA GAACGTGGAGAATATCATCAAAATCTCCATAATTATAAATATGGAGACAC GACTTTTCGAACCATCAACCTATTTGGATGCAATATCTCCAACTCCTCGA GCATCATTTCTAACGGCAAATTACAATGCGAGAGTTAACAGTAAGGTATG GAAAAGGCGATCACGGAAAAGGAATGGAAGAATCGAGCGAAGAGTGTTAA GTGATAAAGAGAAGACGAAGTATGAGAGTAAAGTACAAATGATATTGGAT GAGGAACGGGAGAAGCTGTGTGATAAACGAGAGATGTTGAAGGAGGATGA TGGTGGATCGAGAAGAGCTTCGTTGATTTCTCAGTTCAGGGAGAATCAAC ATGAATCTGTGTTGGATGATCATATGTTCAAGAGGGTAAGGTTTTTATTT TTAATGCCTAAAACTTTGAGATTGAGGCAGTTCAATAGGCTATATACATA TAAGTGTGGACCCAACAAGTTTGTTACATGAAGTATTTTTTCCAGATCCT CGTTAGCTGCTGTGAATCTTGCGAGCAACGTCGTCTATCGTTCATGTGTG ACAGTCGAACCGAGGATGATTCTGAAGGGGAAGATTGTGAAGACAATGAA GAAGATGATGGAGAAGGTGGCTCCGATGATGAGGAAGACGATGGAGAGGA GCCTCATTTTGAATGTGATAAGAGTGATAAGGAGCATGTCCACGATGTAG GTCTCCTTTAAAATATCGTCCATAAAAGCTTAATTTTTTAGATGCTAGCA AATCTATACTTCAACAAAGTAGTCCTTCCCGAAATGGAATATGTCGAGGA TTTTGTGGATTTCCTGATTGATGCGGAGCTCAATGACTTGCCAGTTCTCA AAAGAGCTTGTGAGAGGTATTTGTGCAGTGAGCTGAATTCGGTAGGCTTC TGTTCAAAAAAATATAAAAATCTAATCGAAATATTTTCTAGAAAAAAGAC ATTGGAACTTGTCTCCTGTTGGATTTGCTTTTCAACTCGATTGTATTCAA CTTGCCTGTTATGAAGTCGATGACCTTGACGGAGTTGGCGAATCGAACGC ACGAGTTTGTGGATGCTGACACACTTTTGGATCAGGAAGAGTTTAAGTGA GTAGGGTGTGCGGCAAATTTGCCGAATTTGCCGAGCACGGCAAATTTCAA AAAAGTAGATTTGCCGAATTAGCCGAGCTCGGCAAATTTCGAAAAACTTA TTCATAAACCAGCAGTGTGTAAAGAATTCAGTAGTTTTGGTGCTCCAAAA ACATTAAAAAATATCAAATTTTTTCGAGTTTGTCAAGCACGGCAAATTTG CCGAATTTGTCGTGTTCGGCAAATATTGGAAAAATAGATTTGCCGAATTT GCCGAGTTCGGCAAATTTTGAGATTTGCCGCACACCCCTGGTGTGCACCG TTAAAAATTCTTTTTTTCCAAAAATCTAAAACTTGAGGTTAATAATGTGA CCGAAAAACTGAAAAAAAAAAGAATTTGCCGCTGCAAAACCATAATCCGC CAAAAGTTTTCTTTGTTTTTTTTTCGAATTGCAGGGTTTCCGAATCTGTC AAAATTGGAAACACGACAGTTTGCCGAAAAAATTTAATTTTTGAGTGAAC TGTTGATGCGAAATTCATTAAATACGATTTCAAAAAGCTCGGTCACGTAT TTGTAATTTTAGAGTGGGATTAGCTATTTAAAAATTACATTTGTAATTTC CAGAAACCTGGATAAAAGAATGCGAACGCTTGCCGATCGGAATCTCGTGG AGCTCATCGAGCAATGTGTTACGTTTCGTGACCAAAAAGCAAGAGTTCGC GTTTTGCCGACCGCCGAATCATTTGATATTTCGTTCGACTTAACTAATCA ATAATATTATCGTGTTACTTTTTTCCTCTGTTTTCTTTCTCATTTTTAAA AATGAATGCTTTTTTCTTTTTTTTTACCCGATTTTCCACACGACTAACTC CAAAATCAGCCGCGCCTTTTTGTCTTTTATCCCTGCTTTTCCACACATTT ATCAAATAAAGAGTGCAACGAAGTGCAAAATGGGAAGTAGTAGTGCTGCA ATCTCATTTAGAGTACACTTTTGGAGCTCTTTTCTCCAGATATATTATAT GCTGTAGATGGAAACTTTTCCAGTTTATATATAATATTTTTCATTTTCCA TATTGCCCTTCACTGCTCATCATCCAATGGGGTGCATCTAATTACGGCAA AGCTTCGCGGATGGGGCGAGTAATGAGCAAAAGAGCACAAGGATGGGGCT CTTTTGTTCCTCATTTTCATTGCTTTTTGATTTCATTTCCTTTTCAACAT GTTTCCATTTTCGAAATTAATCGGCTTTTCTGACCCAGGACTCACGGGAG ATGAAAATTAATCTTTAAGAATTGTGCTTTGAAAAACAATATCATACACT TTTCAAACTTCATTTCTCCGTTGTTCCCAGTAAATTCCAAGCTGTCATCC ATCAACTCTCTGATAAAAAATAATCATTTGGTCCGTCCGTCGCGAAAATG AAGTGAAAAAAGTTAATCCCGGCATGTTGAAATACACATTTCGTCGCGTG GAGTATAGTTATGCTTCGATTTCTCAAGAGGATTCTTCTTTCCCCCTTTT CATATTTTTTCGGGCAAAGAAGAAATCTCTGTCACCCCCCGACTAAAAAA CGCTAAAAATTCAGCGTTCATTGTTCGGTTTTCCGTTTCAAAAAGAAAAA AGTGTGTCAAAAACTCAAAAAGTCACCGCCTAAAGTTAGTTAGCACCTTT TTCCATTGTGAAGATTTTCTTTCCTTCAATACAACTACTACAGTTTGTTT CCTGTGTGTCGTCCTATTGTTGTGGGTGTAATTGTTCGATAGAGCGCGCT TTACAAAATCTCTCGAATTAATTGAAAGTAGTGTGTTGTAGAGACCTTGA CTCCTTTGTCAACACTGTAATTAGGAAGGAGTACACCGCCGGGCGGGTGA GAACAGTTATTATAACGATAGTGGTTTGTTATTGTTTGTTATTAATAGGT TAGTTGTCTACTTTAAACGTTTTTTGTTTGAAAAATTTCTGTTAATTAAA AAATACATAATTTATAAAAATGATGAGTTTTTTTTTCAAATTTCTCAAAA ACCGAACCCATGGGGTTTTTTGAGAAAAAATAAGAAAATTTTTCTAGTTA TTCAAAAAATCTATACATTTTAATATCTGTAAATTGTAAATTTGGAAGAC AAAATTTTGACAATGCGTATTGAATTTGAGTTTATTTAACTTAAAGAAGA GAAATAGACAAATAAATAATTATATATATTGCGCAACATATTTGAATAAT ACATTTATTTTTCGTAATATTTATTTTGAAAAATGATTGAAAATAAAACT CGAAGAAAACTATATTTAAAAATGTCGGTGCTTTTTTTACATTTTTTAAA CGAAAAAAAATGCGAAAAAAACCAATTTTCCGAGTTTTTTCTTCAAAATA TTCGTCCCTGTTCATGAAAAATGTTCTCACTTATGTAAGTAGTTGTCACG CAATGCAGTTGTTGACCAAAAATTATTTTCCGAGTAAACCCTATAATTTC CAAATTCTCTTCTTCTGAAATTTTGAACTTTCCATCGGGAAAATGTCATT TCAACTCGAATTCACACTAATTATACATCTGTATAATTATTTAGATTCGT ACTTTTTCCTCCTTTTGAAAAAGTGCACAGACACCGCCGTTATCTTTACA ACCGTCTGGCAGGACCGGTGTTGTAGGCTTTAAATAAATATTTTTCCATA AATTTCTTAATTTTTAGCTGAAACGATTTTCCAACAAAAAAAAACGCACA TTTAAAATGGTTACCGTATTTCTTCTATCAATATGGCTGCAATACTATTT TTCGATGGTCTTCCCGCTTGCAATACTAATAGGGAGTGCAAGACTATTAG GGAGTGCAATACTAATTTTCAGAACATTTTTCTGACTGTGAGCTTACTAT TTTTTTTTCTGAAAAAACTCGAACCTTGTGTGAAAATTCAGAAAATTTGA TTGTAATTGCAACAAAAAGGTGTAATTACTTCAATTTCATAGAAATTTTT CCAAAAATTGTTGCACAGTAGGCAAAAAATGTTGTTAAAATCTCAAAATT AGTGAGGTGATTTTGTACCAAAAAAAAAGTAGACGCAAGACTATTAGGGA GTGCAACACTAATTGGGAGTGCAATACTAATTTTCGGAGGGTGTTCAAGG AGCAATACTAATAGGGAGTGCAAGTCTAATAGGGAGGTCATATTAATAGA AGAAATACGGTAAATTTTATATTTTTCGGTGCATTTTCATTTTAAAAACA ATTTGTTTGAAAATAATTATTTTTAAAAATCGTTTTCTTCAAATTTTTTG TAATTATAAGAAACCAAAAAACCTTTATTTAATTTTCAACAAGTGTATTT TCTAATTAAAACAATTATGAAAATTCACAATAAAAGTTCAGGACTGAATC CAAAAAAACTTTTATTTCAAAAACGAAACACCTTGTTTGCCAAAAACCTG GAAAAGCCTGGAAACCTGGAAAATCGAATAACATCAAATTTTGCAAATTT TAAGCGTTTTCTCGAAAAAGTTGACCTGAAAAAATAGGATTTTTCAGTTT ATTTTATAAAAAAGCGAAAAAAAGCAAATTTTTTGAGAAAAAAATTGCCT AAATTTTCGAAAAATCATTTTCAAAACTATTCACGATTAAAATTCGTTTA TCCATTTCTCCTTCAATTCTTCCAGATTCGAATGAAAACTTGCTCAGAAA AAATGCTAAATTTGCTCTTTTTCGTATCCACTACTACTGCTACTACTAGT AGAAGTTCTTCATTCGGTGGCCGGACTACTTTGAATCAAATCACATTTGT CGGGAAGAAGGAGGTCGTGCCTTTGCACTTCTGGTCACTCCAGAAATTGA AGAAATTGAGCAGCTCGAGTTTTGGAGTATTCCAGGCAACTCGGTCGTTT TTGAAAACCTATTCTATGAAAACTGCAAACTATGTGGCTTCATCTGGTCT GGCTGGAATTTTTTGTTTCAAATTTTGACCCAGTACCTTGAGAATCAACC AGTTTTCCACGTATGCTAAAATCCGAAAAAGTGACTCACACGAGAAAGTT TCAATTTCCGTGATGACGTTCGCCTGGCTCTTCAGCTCATTCTTTTGTCT CCAGAGCTCTGGGGAGCTGCAAATGAGTTGAGAGCAAGCACATTGCGTGA GCAAGATAGCTCCAAAAGATATGAAGAGAGCAGGCGGGAGATGAAATTGG ACGATGAAAAGTCGCCAGAAGCATAATTTTGGTGCGGCGACACCCGAATA ATGAGACATTTACGACTTTTTGGAACATCTTCTACGGCCAGAATGTTTCG TAACATTTTGGTAATTTGAGTTGTAGTTTTGAGGGGCTTTTTTCGATTTT TAAATTTGTATTGACTCTTATTCGCAAAAAAAGAGAACTGCTATAGCACG TGTAGTCAAAATGTCTTTTTGATCTTCAAAAAATGCGGGAGTTAAGACGC AGACATCTCATCTGATTCGCATGGCTAAGAGCGTGCTGACGTCACAATTT TCTGGAAAAATATTCCCGCATTTTTTGTAGATCAGGCTATGATGTGTGTG TTCAATGAGACAGCCTGACACGACGTGATGTAGTTCACATTTTTCGGCAG TTTTTTTCCTGAAAAATGTGGATTTTCGTTTTTTCTTAAGTTGTCAAATT ATCGAAAGCTACTAAGCTTGAGTAACTTAGGAAAAGTAGGATTTTAAATT GTTTTCACGGGCCTCGCAACGAAAGATCTCACTACTATCACCAGAAATCC AAAAAAACGAAAATATTTGTCGTGCCGAGCCCAGGCTCCGTATTTTTGAA GCGAAATTCCTAAACTCCCTAACCGCTGAAAATTTCTGAGTTGATTTTCC ATCACCTTCTATATACAGTCTTTCGACCCGAAAACGATTTGAATTCGGCT TTCTCCTCAAATCCTCTGTATTGCATCCTCTTTCTTAGTTGATTTATTTG TAGCGGATTCTTCCCCTTCCCATCCGTGGCGTTATTGTTCGGTTACGATA CGCTTCTTGTGAAGGTTATATGCAAACGACTACTTGCCATTCGATTCTTT CTCCAAAAACGGGTTATTCCATTTCCTTCAACTAAGGAGCTGTTTTTTTC TTGGTTTTTTGTAGAAAACCTACATTCAAAGTCGAAGTAGTGAAAGTCAA AAATTACCAAATTTCGCAATTTAATTTTTAATAAAATGTCGCCCGAATTA ACGATAAGTTAATAAGAACAAAATTCAGTTAGTCCGAGAGTCGTGATTTG CCGATTTAGAACAGCATTTAGCTGAAAAAAACGATTTTTTTCCAAAGTTT GAACTGCCACTACATTTTTCTCAAGTATTGAGAGTTTTGAATTTCCATCA TTTAGTTGTAACCACACTTTTCTTCCGATTCCCATAGCAAGCGAAAGTTG TCTTGTTTCCGAATATCTGACCTAACTTGGTTTTTTTACGACTGATGCCG AATTTTGAAAAGTTTATTAGAAACTTTCCACGCTCTCCCCTTTCCAACCT CGCAAACCCTTTTGTCTGTAGTTGGGATCTGTTGCTTTTTTGGGCAATTT TTTGCCAGCTTGATCTACATATCATTGCTTGATCTACATATCTTGAGCAA AATTCCAAAAAGTACGTTTTCTTGTAGATTAATTTGTGGGTTTTTTTTGA GAGTTTTGAGCTAAAACTTGCATGGCATATTTTTTTCACTGTTTTAAATC ATTTACAAATTATTTTTTCCTCTTTTTAGAAAAAAAAAATGTTTGTTAAA ATTTTGGAAAAATTTCAAAAAGGTGTTTTATCCACTTCCAAAACGTCATA ACTTTGCTGAAACTGGACCGGGGCAGCTAAATTTTTCGGAGTGATCATTA TTTTCACTCTTTTATCGAAAAATTACTATGGCATGCCAAGCCCGGGGACC CATTTTTTCACTTCCCTTGTAAGCCGAAGCCTTAGTCTAAGTCTAAGCCT ACGACTGAGCATAAGCCTCAGCCTAAGCCTAAGCGTAAGCCTCAGCCTAA GCCGAAGCCTAAGAATAACGGGAAACTTTTTTTGTTGCTTTTTTTTGTTT TTTTTCAAATGCCGAAAAATAATTGCGGCATTTGAATTATGACTTTGTTG TTCCTAGAGATTCTGGTTTTCAAAATAGGCAAAAATGCCATGAACCTTAA CGATGTTCTTTCTCCCCGCCCTTTGAACACTCTGAAGTTTCCCGCCATGT CAACCTTTTTTGATCGTTCGGCACGATAACGTTCTGAGTGCCGCGGTGCC CGTTAATTTCCATCGAATCGTTAGGTTTTCTCCTTCGATTCCTAACGATC AAGCCATAATTTATCCGCAAAATGGGATTTTCTCCCTTTTGTGATGATGA TGATGATGGCCTCCCTCTTCTCTGCGATGACAGTCGAGTGATGAATGTCT TCCTTCACACTTGTCCGTTTATCATTTATCACTCTGTGCTGAAAACCGGT CTCTCTCTTCCCCTGACCTCTTCGGCTTTGTGAAACAGTGAAAGAGAAAC GGAAAACAGGCGGTGTCAGATGGTTGACACGTTGATGTCGTAATCCATTT AGTATTAATGCTACTATGTACGCCATTTGCTATATATGCCCATATTTTCA ATGGCTTTGAGCACAAGCTTTCAGAATTGGCAATCAATTTCTAAAATTTT AAAATTTTGAAAACCAATATATGGGTGGAGCCTATTTCTTAACTGTTCCG TAGTTACCGAAAAAGTCGGAAAGCGCCGATTATCTAATACTTTCGAATTC GGCAAAACTGAAATTTCTTCAGATTTTTATGATTTTGAGAGAAAAAATTA TATTTCTTTGCCAAAAAACATGTATTACTTAAAATTTGTTTGTTTTATTA TTTGAGCTCAATAACTATCAAATTGACAAACAATTCATTGGCAAAAATGC CGAATATCGTAAATTTGAAAAAATCGGCAATTCCCGAATTGCTGCACACA TCTTGGTTTTTTGAGCTAATTAATTGAATTTTTAAGAACTTTTATTTTGG TAATCTAAATTTTAGTTACTGAATTCATTGCGAAAAAAATTTCTTCAGAA TAGGGCTTCCATGTAGGCGTCAAAAAGCTTGCCAAACCTTAAGACGACCT CCGCCTGCCTACCTCAATCTATGTGCTGAAACATATGCGAACTTTTTTTG CAATTCTTGATTTGGTTTTCATCAAATTGATAGAAATGAGAAAATTTAAA ATTGAAAATTTACGCACAAGTACAAAAAAGGATTCAGGCAGGCGTCAGGC CGTGAAACCCCGCCTGCTTACCATGGAAGCCCTACTGCAGAAAATGAGAA ATCTGATGTTCAAAAAAAAAAAGAAACCAGCCGTGTTTTTCCTTGAAATT CGAAAAGTTCCCCGATTTTCCCCTCATTTCCGGACCGTTTGTTCCCATGG TGGACCGGTATTTTCACCACTCCGTCAAAGGCGATTATCGGGTCTGTCTG TCGTCGACGACCCATCACACCAAATCGGTTGAATTGTCGCACCCCTTTTT TAATCGGCAATATATTTACTTTTTATTTGTAACTAAGTAGTAAACAGTAA TAGTTTTTGCAAGAATATGCATAACACCTTATTTCACTTGGTAAAGTAAT TGAACTGTTGTAATTGAGCTGAACATGATTCACCTACGAAAAAATGCCTG TGACCTAGGGCTTGCATGTATGCGTTAAAATGGCTGCCTGCCTGACCTGA AGGCAGCCTCCGCCTGCCTTTTGCCGGTTTATGCTAAAAACACGGTTTAT GCTACGTGAAATTATTTTTTCATTTTTAATTTGATTTTCAACTTTTGAAA TTTGAAAATTCACGTCAAAATGCAGAAAAGAAGGTGAGGCAGGCAGGTTT CAGGCAGGCGTCAGGCCCTGAATCGGCGCCTGCCTATCATGAAAACCCTA CTCTGAACTCGATTTCGCCCTCCAAACATCAATTTCCGTCATTCTCCTTC CGTCCTTTTTACCCACTTTTTTAATGAATTTGAAATGAGTAGTCGAGGGA AATTTAGTGAACCTACTAGAAGTCGCCACGGTTTTCAGCAGCAAATTTTT TAATTTCGTAGAAATATGTGCTTCTGTGTTAAAATTAATAATAGCTAAAC TATTGGATAATGTACTTTAAGACGTGCAATGTCACTCCATATTTTATAAA ATGTTGAAAATTTTGGAAGGGATCGAGGAAGTTTTGATACTTTTTAGAAA TCGAAAATTTTCAATTTCCGATTCCCTTCAACATTATATACCTCAACAGT TTAATAAGATACAAAAAATCTTCAGAGAGTCATCTGTTCGCACACAGTTT TACCCCTATCAAATTACAGATGTGTTGCCTTGCACATCTGTGAGAACTTC ACACTATTCTGCTACAACAGATTTTCGGAACAGAAGGTGTGATGTTTCTA CCTGACTATGAAGATTCACGTGGGCGGCAATCCAAATTTTTTGAAATTTG GAGATTTTCGAGTTATCCATAAAAGATTCCGTTAAAGAGAGATCACAATT TTTTTTGTAGATTGACAAGAAAATTACCCCAACAATACTCAAAACAATTG TAATTACAATTGAATTATTACTTTTCAATTCTTAATTTTTTAAGTGCTGA AACTTTTCTATTGACGTTAACCCCTGCAAAAATGCAAAATTGATCAACAT CTAGTAAATCTACTAACAAGGGAAGTCTTTGAGGGGGTCCGTAGATTTGG GGTTTTCATGCTAAAATTCCTACAGAAGAGTGTTAGTTATGATCTCTCCA AACATTTTTGCGCATTTTTAAAGTGATTTTATTCTTATTCGGGAACCTAG AATCATTGTCCGCACTTTTTGGAAATTTTTATTTTTTTCATTTTTGCTCA AAATTTCTTGATCAACTCCAAGCAAAAAAATCAAAGTTTTTCAACAAACA TTTTGTTAGTTGATCATTTTTCAAAATAATTTATCTCAACGAAGTTATGC AACTTCAAAGTTGGTTAAATATTTTGCACAAAGTTCGTGAGATGTAGATC ATTTCGACGGTTTACTTGCGAATAGAGAGTTAAAACTTGTGTAATGTACG TTTCATACATTTCTGAACAATAAAATAGCAATTTCATACATTTTTACAAA AATAAAAAATTTCCTATTTTTGCTTGGAGTTGATCAAGAAATTTTGAGAA AAAAATGAAAAAAATAAAAATTTCCAAAAAGTGCGGACAATGATTCTAGG TTCCCGAATAAGAATAAAATCACTTTAAAAATGCGCAAAAATGTTTGAAT GAGTTGTTTAAAACTTTATTCAACTTACAAAAATATTTCAAAAATAGAAG GAATCGAACCAAACCTTAAATATTATCAGACGCGCGCACTCCCAACTCGG CCACCGAGGACAATTTTCAACTCAATGTGGTGGGTGTCACATTTTCGGTG GTCACGCAAGCTGAGATTTGCGTGGACTGCATGGTAAGACAGTGGATTTC AATGGTGTTTTTAACTTTCAAAACGTCATAACTTTGCTGAAACTTGACCG GGGCAGCTAAATTTTTTGGAGAGATCATAACTAACACTCTTCTGTAGGAA TTTTAGCATGAGAACCCCAAATTTACGGACCCCCTCAAAGACTTCCCTTG TAAGTCAAACAAAAATTCTGTATTTTTCAGAGTACTATACATAGTATATA TTTCTGAAATTCTCTCAACAAAATCCTTTCCCCTTCCTCATTTTCCCACG TAAAGTAAAGTCAAAATACATTTTAATTACCATTAATACCTAAATGAACC AAACAGGTCGGTCTTGCCCTCAATTCTACCATTTAGTCTCACGGCTTTTG TACTTGTTCACCCACTTCCCCCATTCTATAATCCAACCACACAACTTTTG GCAACAAAGTGTTCAATCGAAATGGGACACTATTTGCTATTCCTATAATT GACAGGCTGGTGGAAGGAGGAAAGCAGCACACGACGAAAGGCATAAAACA ACTTGGCGTTGTGTTAATCCCACCCGTATTGCATTCTATATTAGGTCGAC AAACAGTTCATTCATGTCGATTTTCGATCATTTCTCAGAGTTTTGCTTCG AATTGTAGGTTCATGGAGTTAGCCATTCTGTCTATTTTTTCCGCTGAATT TTAAGATGTTTAATACTTATTTGCCACCTTTTCGACGGAATGACATGTAC CGGTCAAATCTTGGAATCGATCTAAGAGATGACAATTTTGAATGTATATA CTCAAAATGGGCTCAAATGAACGAATTTCGTAATGAATTTTTTAAAAACT TTTTTCAAAATTTTTTATGGTGGTTCAAAGTTTCGAAAAAATTGACCGGT ACATGTCATTCCGTAAAAAAAAACGCGCTTCTATCTGAAACAACAATTTT TTTGATAAAAACTTTCAACTACAAACTTGTTCTTTACAAAAAGATCAACA ATTTATTAGTTGAGCACTTTTCTGTACAAAAAATTATCCGCGCAGATATG ATCTACCAAAGTGAATTTGGAAAATTGGCCCGTCAATGCTTCGTTGCAGT GCTATTTTAGGATCTTTGAGAGCTCGCCGTGAGCTTGGCTCTGGAGATTC GCAGCTAAAAAGGAGTAACCGTTTCTTTAGGAGTAACCGTTTCAAGACAT GGGCTATCGAATGGCATAGGTCTCATATGCAAGTCCGATGGGCACCTTCT GACGGTTCCCTAGTCAGATAGAAGCCAAAATTTGGGCGAGGTATGCCCAT TGTCATTCTAACTGTCGAAAAAGTGGCCTCCGCCAAGACGTGATAACTAT TTCTCTCAATTACTCTGCACTCCCAATAAATCCTACACACCGTTTGAATT GAGTCATTCAAGTGTCAGTTGTTCAGTTTCTAGCAGTTGATACGTGTGTG TGTGTGGTGGTGGTCAACCAACTGTCGCCCTTTTGAACACACACACACAC ACATACTTTTCCTGCCATATTCCTCCCCAAGAAAGAGAGAAAAATAAGTT GCATCTTTTCTTTTCTATATCTCTATCCACTAACACACCCTGTTATTCGC ATGTTCTCTCCATTCTCCAAACAACGCAATCAGTGTCCGCCTAAATCTAC ATAATCGATTCAGGGGGAATTAACTGTGTAGTTTTGTAATACTTTTCCTT AAGGTTCTTGAAATTTTATATTTATAACCGACCGATTATGCCTAATTATA ATTATAATTTAGAGAATTTTTCAATTTAACAACTATTGCGATGTTTTGAA TTTTTGATAAAACCGGAGTATTTTTTCAAGAAATTCTGTTTAAATTAGCT GAAAAATTTTGATTTACTAGTTTTTGGTTTGCCTCAAAAAAAATCGGTAA AAATTTTTTGGGGCTTTTTTCTCAAAAAAAAAAAAAGAACGATTCAGGAG ATTTTTCATAACTTCGAAACTTAGTGCAAAATCTTTTACGGGGTGTCGAT TTTTTGATATTCGAAAAATCGGGTTATTGCTCTATTAAGAAAAATTATTT CCTGGACATATTTTCTGAAGAATTCCTCGTCTTTTCCCATTTTTCTACAA TTTTTCCTGATTTTTCATAAAATTGAAACTTTCGCTGTTCAGTTTTCCCT TCAAAATGAATTTTTTCGACGACGAATGTTCAGAAAGTTAACAAATAATT TTAAGATTTTGTCAAATTTTCACACACGTACTTTTCCACCAAAATTGACA AAAAACCCTAAAATTTAATTTCTAAAATTTTCAAAAAATCGTGATCCATT CTTCCTTATCATGTTATGTCTTGCAAGCGTTGCCTCAAAGTCATCAATCA GCTAGTTGTCATCAATTCAGCGATACTTAGAGATTGAAAGAATGAGTAAT TCATCCTTGTTTCTTCTTCATCTCCTCACTTCACTTCCAATTTTCCATCT GTTACCAATCAATTTGGCCTGGCGATTAGTCATCTATTTGTTCGTCAAAT TTGGTGCAAATTGGCTCGTGTCACTGATAAGTGGTTATTTTTTCTTTTTG GTTGATAAGGTTACCTGATAAGGTCATTTCCTTTTTGCGCCTTTTTTCCA GTAGTAATTCCTCTAATGTTCGTTTTGAAGTTACTAATCGAAGTTGTTAA AGTATTAGATTTTTTTAAAATCAATAGGAATGTTTTTTTAATACAGTGTT AACAAAATTTTATGTTTTAAAAAGTTAAAATAAATTTTAAAAAATCTCTG AGTTGAATTGTTAATTTTTAAAACTATAAACAGCATTGGCATTCATAAAA AACAAATTTCGACAAAAAATTCGTAAAAATTGCTGAAATCGCACTAAAAA TACTCAAAACACTGAATTTTTTGCTCATAAAATCTGGAAAATCAAGTCGT TTTACTTGATATTGCCATAGGAAATTACAAAAAAAAAGTGATTTTATTAA AGGCTGGTCAAAATTTCATATTTGAACAACGTTTTATAAAACCGCTGTCA GAGTAGAACAATATAGGTGTAAAATGTAGTTAAAAACTATTCTTCGATTT TCCTACATTTTTTTTTCTGTAAATTGAAGTTTTCTCGTAGAACAAGAAAA TTTAAATTTAAACCAAGTTTTTAAATTTTCAATTAAAAAAAACTACAATT TTCGATTTTTAATAAAACATTTTAAATCCCAATTTTTCTTTCAAACATAT TTTCCAATGCTGATTCTGAATCCATGAAGTCTTAACACTTCAATTTCAAC ATTCTGTTGCAACAAGTCGTCCCATCTGACCAATAACAAGGGCTCATCAA TCACTGACGAGGGCCCCCGGGCGCCGCCATCATTTTCCTCTCTTTCTCTC TCTCTCTCTCTCTCTCTCTCTCTCTTTGTTTCTAAAAAGAAGGAAAATGA GCTGCAATTTATCAAATCCACGGTCTTTTTCCCTCAAATTCTCTGCCTCT CTAGTCTTCTCCCTCATGGTCATTGTCGCCACATTTGTGACTCACAAAAT GGGCCGTATTATACAAAAATAATTAAAGTTCAATGCGTATGCGTGTGTGT ATTTGTTGCTGGGTGAGGGCAAATGCACATTAGCCACCCACAACAAACTT ACGTTTTTTTTTTTGTATTTTGCCTTTTTCTTCTTGAAGAATGGTGTCAC ATCACATTACGACCTTTTCTTTGTTACGGAGAAAAGAAGATTGGAGCGGA ACTGACTGAGGTGTGAATACTTTGTTGGTTTTTTTGGCTATACCTATTAG TTACCTTATTTTTGAGAAAAAAAAATTTGAAGCATGTTATTTTTCGAGTT GTTGGTAGGATGTTGATAATTACTGTTATCGTGATTTTCTTATTAGAAAT TAATTTTTATTTATTTAGTAGAATTGGGGATTTTTATTCAAATGATCCAA AATAATCTTTCGACACTGAAATCACGACCATTTTTGAGCCAATCAACGTT TTCAAACTCCGCCTACTCTGTCTGATTGGTAGGAAAAGTGGGCGGAGCAA ATTGCTGATTGGTTTCGAAGTTCTCGACTTAGAAATACCAGAGTTCATCA AAACTGAAATATTGCGTTTTTAAAGGATATATTATTATTATTATTATTTT CTCTCGATTTTTTTATTCTGTGGTTGCTCTGAATTTCAGATTATTCGAGA TAGTTTTCGATAAAGCGACAGATTGTTCAGTTTCTGAATTTTCCATAATT TATCCTCTAAAAGTGAAAGTCAAGGTTTCGTTCTTTGCAAAAAACTCATT TTTTTGAGAGTTTTCGGAATTTTGGCTCGCATCACGCTCCAATAAATTAA TTCAAAATTTCGGAAATTATTAACTTCTTCCATTTTATCAATACTGTGTT AATCTCACTTTTCTAATTTGAAACAAAAATTGAATTTTCATCGATTTCCA AAATACTTTACATGCTTGGCAATTGAAAATTAGTTTTGTTTTTCAAATTC TCAGTTTCCAGCCACTGAAAACATTGCGAGCCTCCATTGGGTCCGCTCCT TCCTTCCGAAACACATTTCCCAGTACTCTTTCCAATCTGGTCAACATTTG AAAGGCTGTTGGGGGGTCGAAAGGCAATAAACAACCGAAAAATAGTTTAT TCCAATGTCATCGAATCCTCCCTGGCTTCTCATATTGTTGCCAAAAATGA TGATGGAAATTGTTTTTCGTTTGTATACACACACATCATCCTGTGCCACA CCTTTTCCCCACTCTTTTTCCCGACGAGCTTTTTCATTCGGAAGGCGACA CAGATAGCAATTACCGACATATGGAACCAATCGTACTCTCTCCGCTGACT GCGACTACCTAATTAACCTTTTATTGAAAAAATGAGAGAGAGAGAGAGAG AGGATATGAACGGAAGAAGAAAAAGAGGCAAAGCAATTGTTTACTTGTTT TTCGAAACAATTCAAAATTTTGTTTGGGCTGTGCGCCTTTAAAGATGGAA AAAAAACGGAAATTTTCCAGCAATTCGTTAATTTTTTTGTCGGCAAATTT GGCAAATCGGCGAATTACCGGTTCGCCGATTTGCCAGAAATTTTCATTTT CGGCAACTTGCCGGTTCGCCGATTTGCCAGAATTTTTCATTTTCGGCAAT TTGCCGGTTTGCCGTTGCCGGAAGTGTTTAGAGGAATTGTTTATGAGACG GAAGCACTGTGCCTGTTTGCCAATTAAAATTGAAATTCTGAAATTTCCAA AAAAATGTGCACAAGCACCATTTGCCAAAAACTTTTTCAGTTGCCGGTTT GCCGATTCGCCGGAAAATTTAAAATCCGGCAATTTGCTAATTTGCCGGAA AAAATCGTCTACCGCCCACCCCTCCACCGAATTCGGAAATTTTGTAAAAA ATAACTTTATTTTTGGGCCAATACGATACTACTTTTCCTAAAAAGAAGCT GTTACAGTAATCAATGTATCATCTTTTCCATCTCGAATGGTACCTGTGTT TACCTTAACTGTCACATAACTGTGAAGAGTACTTGAGATGACAAGTAGTC TTATCAGAAAACCTCCCCGCTTACTGCTTCTCGGGTGTCGGGTTACCGTG TTTGCTGAACGGTTTTTCGTAGGGATTACTGTAGAGAATTGGATGAGTAG TTGGGATTAGGCGATTAGGGGGAAATTGGAAAACATGTCTGTGCACTCCA TATGTTTCTAATAAGAATCCTTGGAAATTTGCATATAACTCAAGAATGGT ACTGGTCCAGTTTCGTTTTGTTATCTTGATTCTTCGAAATGGTGCTCACT CAACTTGATTCCATCCCCAGGACGCTAGTTATTTTCGTAATCTCCGCGTT CGATCTCGAGCTCCTCCTCTATGGAAATGTTAATTTGTGAGGGCTATCGC GTCCACAGATTTATAGCGTCCGTCGTGCGGTTTCGCTGGGTTCTCGCAGC CACCCCCCCCCCCCCCCACTCATCAATCGCGTAAACTTTTTGTGAGCACG CAGCACACAATGTGCTCAGGAGGCTTCTGTCTCTTCGGAGATCCAACATG TGGCACCTCCTCAAAGTGTTCACTGGCCTCCTCGGCTCGGCAGTCAAATT TATTCATCTCTTTGGAGATTGGCTCACAATTTTTTTGATTTGAATTCAGT GACTATTTATCGATTTCTAGGGCTTCTATGTAGGTTGCCTGTGTGCCTGT CGTCTGACGTTAAGGCGGCCTCCGCCTGCCTCTCGCCTCAATCCGTGCCT TGTGCCAAAACATACGAATTAATTCGATTTTTATCAAATTGATAAAAATG AGAAAATTAAAAATTTGTAAATTCAGACAGGCCTGAGGCAGGCAGATTTC AGGCAGGCATCAGGCTCAGAAACCGCGCCTGTCTACCATGGAAGCCCTAC TGCTATGTAACGTTTGAGATATTCGGTTCAGATAAAATAAGTTGAAGTTA CGCGAAGAAATTCTGAATTTTGAATATTTTCCAATAGTTTCTAATAGTAT TTAGATGTTGTATTTAGATACTGTTGCTACAAAATTTTTAGAAAATTCCG TGGTAAAGTTCAAAAGACTACTCTTTCTCTGAATATTGGTTAATAATATG AATCCGTTCTGCTTTTTTTCCGTATTCCAATTCTTGACGACTTGATATGA AGCCAGCTCAAATAATAGGCCTCCCACGTAGTGTCAGGCTGTCCCAATAC GGTTTGATCGACAAAAAATGCTGGAGTGTTATGCCCTTCAAAATGTGACG TAAGCGCGCTCTTAACCATGCAAAATCAGTTGAGAACTCTGCGTCTCAAC TCCCGCATTTTTTGTAGATCTACGTAGATCAAGCCGAAAGGATACACTCT GTCACCACGTGGCCTCCTAAGGACTATTTTGCAAGGACCTAATTTTCTGA ACCTTCACAAATTGATCTGCACCGTTTGAGATCGATTGAAAAGTTCTAAA ATTTTCTGTCCTGTATACTTTTTTCTGTACATAAGTCCTACCGAAAGGGT CCCCCGCGGTAATAATTACCCGTCAAAACAATGTGTACTACTAGCCGAGA TATGAGTTGTTATTGTTGTCATAATACAACAAGATTTGGATCACCGCCCA ATTTTCTTGTCAAAAAGTTCCGCTTATCTCGTTTTCTGCTAATTAGAGAA TACTCTATGGGAATTGGTTGATCCACTCCATTAGTGAATGTTCCCCCAAT AACCATGGAGCTGTTAGAACAAAGACGAAAACCCGCCAGAAGACACACCT TCTTGAGAGCAGGTATTAGAAAAATGAATGAAAGGAATTGGGAGGGGAAC CCGCGGTGGCCGAGACTTCCCACTTGACCCGATTTGTGCACATACGCAAT ATCGATGAGGAGTGGTGGTCCATTCGATACAGTCTTGCACCATGTTTGTC GAAATGCTATTTGGTTGGCTGGCAGATGTTTTTGGTCCAATTTTCTTGTC AAATTTTGTCTTGATCTGACAGATTTTAGGATTCTTGGAATTCGACTCTT CACCGAAAAAATATAATTTTTCGGAGTTTGTTCAATTTTTCAGTATCCTG ATTGGAACATTTTAATGTTTTACAAAATTCGATTCTAAATTTTAAAGCAC ATTTTGACCTAGTAGGACTTTCGGAATTTTGTAGCCTTTATAAAAAATCG GTGGCCAAGTTTTCTATAATTTTTTTACGTTTTGAAATTGCCTTTTTATG AATTTTAAAATGTGGAACATTTTTTGAATGACTTAGTTTTTCAAATTCCA CGTAGTGTCAGAGTGTCCCATACCAGTTTAATCGACGTTGATCTACAAAA ATCGCGGGAACTCTGACGCAGAGCTCGCAACTGATTTTGCAGGGTTAAGA CTTGCTGACGGCACATTTTTTGGGAAAATTTTCCGCATTTTTTTGTAGAT CAAACAAATTTCATATTGCCTCGATTTGTTCGCTATAGTTGTCTAGTTTT GAAATCGTTGGAATTTCTTGAAATTCGAGTTCTTGAAACATTTAGGTTTT CACCTAGTTTTCTCTGCGTGTTTTTTGTGTTGAAAAAACGGTTCTCAGAA ATTTGACTGCTTTGAAAATTTCGAATTTCATCTCCAAAAAAAAGTGAACA ATTCGTATTTTTCTAGAATTTTTGGAAATCTCTTTAAAATGAGTTTTTCT GAAACATTTTAATCTTGAAATAGTCAGAGTTACGTCAAATTCTATTTTTT GAGGAATTTATTTTTTGTGAGAAGAAAACAACAAATCCGCAATTTTTTTC CGAATAATTAACCAATCCAAGATCCCCCCTCAAACCGGATGGCATTTATT CGGATCCCGGCAGGTGTTCGAATGAGATATGTATCCATTAACACATTGTG CATACACATAGACACATTGTCAACGTATGCCGTACACAACAAAACAACTG CGCTCGTTCGCACCTCAATCCTTTGATGTTCTCCGCCGGGGGCTCCTGTA AGGTCAGGAGTTTTCTAAAAATGTTGCCTTCTTCTCCGTCTTCTTCCTCT TCATCATCGAATATTCCAGAGGGGGGCCGACACGCTTCACTTGATTTTCG ATGGCAATTTGTTTGAAGAATTCAAGAATTCGAAGAATTTATTTGGAAAC TCACTACTCTCTTTTTTACGTTTACATCCAACTTTTGGCACTTAGGCGCC TCCAACTGCAACCATATGGTGCTCAATGAGCCGAGAGGGATCATCTGTGA ATTTGGTGTTTTTTTCTCAATTGGTTGCCTATTTGATTGGAGAGAGATTA ATTTGCATACAATTACCTCTATTTGGCTCAGGGGTGGACGGATATTGCCG TTCGGCATTTTTTGCCGACAAGTACGGCAAATCGGCAATTCGCCGATTTG CCGGATTGCCGGAAATCTTGATTTTCGGCAAACCGGCAAACATCAGCGTA CTATTTTACTATTCAAAATAAATGTAGGAACATTCATAGGATGCGTACAA TTTTGCCGATAAAATTTAAATTCTGAAGCTTCAAAAAAAATGTGCAAAAC CACAATTTGCCGAAAATTCTAGCCGATTTCAATTCCGGCAATTTTTTGCC GAAAAAAATTGCCGCCCACCCCTGATTTATATTCAGTCTGTTACCGATTC TAGTGAGGGGTTTCCAGCCTTTGCATGAATAGGTGTCTGCTACATTAATT GCGCAATCCACATTGATACAGAGCAACCTCAATTGTTGTTTTTTCTGTGG CCCGTTCTGCTCGTTACACCTATAAAAAGGTGGTCAAACAAGTCGTAAAA TTTGGGTCATGAGATGGTCCCTGGGTTAATTGGAGAAGTGCCGTCATTGA GAGAGAGAGAGCCAATTACGTATGAGGTCTGCTCTGCTCTCGGGAAGACT CTATAACCCTTCGTTTTTGGCGGGAGATATGAGATATTTTGCTGTAATTA TCGCACTTGTTTTGGGTATTCTCTTTTTGTATGATTTACCTAAAATTTTT GAGCAGTTGTGATTATCCTATTTTGTTTCGAGAACCTAGAAATGTTTCCT ATCATAGTAACCGTTTAACTCTGTGAGTATAGTTTTACTTTAAGTTGCTC CGTTTTTTATTTGACTAGCACAGCTTTTTTACATTGCTCCGGTTTTGGCC AAAGGTTTTCTGTTTTTTTTTTGCAGTTCTGACTTATTCTGGCCTGCTTT ACCCAGCTAAGCCTAGGCCCGGTTACAGTCCATAAGACAACATTTTTGAA CTCAATAATTGCCGAATTGCCAAAATGCCAAATTTTCGATTGCTGCCCGT CTGAGTAAGTCTGAAACAGTTTGTGTGAAATTGAGCCGGAAACTACTCGG AGTGATGTGGCCACTTCCCTATTTAGTTTCTCGGTTGATTTTCACACTTC CCGCCGAGAGCCCGAAGCATCTGCCAGCTGAACGGTTTCCGTCGTTTTTC ATGTCTATCGCTAAAATGTGCGCGTTACACACACATAAACATCACTTCTC TCATAAAGTGATGGATAATTCGAGTGGATTGCATCTGACACCACACTTCC GATAATCGCTTCGTCGTCTTGTCATCATCGTCGTTTTCTTCGTCTTGTTG TCGTCCGGTCCCCACACACACATCAAAACGGCTACTTCCGACGTGTCGGT GGTTTGTGTGTGTGTCAAACGGCACCACCACAAGTGGTTGCCCTCGCCCG TGTGCTAATTCGCATTTTGTCTTGTTAATCACGCAATAGTGATAACAATC GCTTCCGGACCATTGCTAATATAATATATTGGCTACCGCGGGCATGTCTT GGCAATAACCTTGATGTCAAGTTTTATCGTTAAAATGTGAAGCTGTATGA TTGCGAAAAATTTGAAGTTTTCCCATTCAAATTGTAGGCATATTTGAAAA ATTTCTGAAGATTTATATCTGTCGTAAGTGGAACGGTTTATTTGGTTTCT TGGGTCTCGTCGCGAAAAGCTTTCACTATGGTTTGAAGCACGACTGGGCG ACAATCGAAGTCGAAGTTCGGCAATTCGATAATTCGGCAATTATCGAGTT CAAGATTTTCGAAAGAAAAACTCAAAAAATAATTTTGAAATCTATTTATT AGTTCTGGACACGCGGAGTCAGAAAGTCCCATTTCGCTTTGATCTACGAA AAATGCGGGAGTTGAGACGCAGACATCTCAACTGATTTCGCATGGTTAAG AGTGTGCTGACGTCACAATTGTTCTGGAAAAAAATTCCCGCATTTTTTGT AGATCAAACCGTAATGGGATAGCCTGGACGTAGAACTCGCCAAATCGTAG ATATATGCATAATGAAAACTCTAGAGTTAACTCTGCCACCCTCATAAAGT GAGTTAGAAACATTTCTGCTCTGAGGAACTATAGAACCCCCTTTCAAGTC GATCGTCAGCAAATTCTAGAAAGATCTGACAGTGGCCGATTTTTTAATGT TTCTAGGCCACGTAAAAAAGCTGATGTCTTGTTACTTTTCAATTCGAAAA TCCCTTTTTTTAATTTTTCGGCAGCACCCGGTCCGAGCCAACATCTTCCT AAACACTTCAAAACCCCGCCCCCTTCTGCCCTCCCGGGTGTCTCCGTGTT GTTCAGGGTGTTGTCCACCCCCTAGACACCCAACTGACCATTCACCCGTC TCCTCCTCCCCCTCTACAACAACCACCACCACCTGATCCATTCCATTATA ATGATATTCCGCATACTTGTCATACAGAGAATACCCGGTTTGCTGCTGCC AAACGGTTTTCATTTATTCCATTTCTCACTCCTTGATTGTTGTCAATTCT TCGATTCGATGCGGCAAAACTAGCGCCAGTGGGGAAATTGCTTTAATAGT AAACAATTTTTTTTTAAATTTCCTATATTTTTTGTATAAGATTTTCTTTT TTAATTGCAAATCCCATGGGAAAGTCTCAAATTGCATAAAATTCCAATTT GAATTCCCTCCAAGATTTCAATGTTCGATGGAGCGCACTTGAATTATTAT AATTTTTATCAATGAATTTTTTTATCATCTCTGACTGATTTTTCACGATT TTTTGTGTAGTTTTAGAGGAAATTTACTGAAAAATCCAAGTTAAATGTAA ATTTCCGATTTTTATACAATTTTTGGACTACTTTCCCCGCCGCCACCGCT AAAAATCCCAATTTCCTGCAAGTTTTCACCTGCTCTGACTCATTTCCGCG AGCGCGCGCGCTCGTACTTTTTATCTTTTACTATTTATTTATCTCCTCCA AAAAAAAATCCCGTTAATTTTTTTTCCCTTACAATTTCTCATAATTTACT CATTTAGTTTGGCTTAAAAAATGCTAAATTAAATTTTTTTTTCATTTCCA GATCACATGACACAACGAAAATGAGGAGAAAAATGAAGTTATTCCTATTT TTATTATTAGTAATTAATATATGTCGGTCGGCCGCTGCTAACGGTGACGA ATGCCCGAAATTGTGAGTTTTTCGCTTAAAAATCAGATTTTTTTCGAATT TACTGTGAAAAAGCGGGGGTTTTGCCTGAATTTTCACTTAAAACTGCTTT TTTTTGCTAAAATCCCGAATTTTTCAGAGAAAAATAATTCAAACTCCATT TTTCAGCTGTAAATGTGCTCCGGATCCGGTGCAGCCGACGTCTAAACTCC TATTATGCGACTATTCTTCGAAAAACACGACAATTACACCTATTGCGTCG TCGAATTATGATCAGGTTGCTAATATTCGGTGAGGTTTTTTGATTTTTGA ATGAAAAATTTGAGAAATTTTTAAAAATGGGAAAAAATGTGATTTTTAAA TCAAGATATCGGAAAATACGAAAAAATTTCCAAGAAAATGGTGGTTTTTA TCGAAAAAATGTTAAAAATGCATAGAAAATTTGGATTTTCGAGTTCGAAA TTTTCTGAAAACAAAAAAAAAAGTTTTTTTTTACACTAAAACATTAAAAT TGGATTTTTTTTTCCGAAAAACATAATTTTTCAATTTCTAACAGTAAAAA GCTCACAAAATTCCTTGAAAATTGACAAATTTAGTATTTTTTACACGAAA AATGCATTAAAATTGAATTTTTAAAACAATTTAAACTTAAAATAAAATTT TCATTTATTCTACACGGTAAATGTATTAAAATAATTAAAACTTCGAAATT TTAAATTAGAAAAAATCAAATTTCCTCCTTATTCTCAATTTTTTTTTACA GCAAAATTTCAGTTGAATTTTCCCATAATTTTGAATTAAAAATGTGTTTT ATTCCAAAAAAAAACTATTTTACAACAAAAAACTAGATTTTTTCCCAATT TTCTATGAAAAATTTAATTTACCAATAACTTATTTTCTTTTTCCAGATCA CTATTCATATCTTGTGATAATAATAATTTCCAATTTCCGGATGCCTACTT CAAGTCGTTAACCGCGTTGCATCATCTGCGGATAGTGGTGAGTTTATTAT ATTATCAGCTGTTCTCTACAGAACATCTGCTTTTTGCGTGTAAATTTAGA GGTCAATTTTCGGAAAAATTGGAAAAATTGGCCTAAATCTCAATTTGAAG TAGATTTTCACGTGTTCAAAAATGTTCAAAAAATTCAATCAAAAATTCGA TTTTTGGAATACTTCAAAAAAATTTAATTTTCTTCGAGAAAACCGGTAAA TTACAAAAAAAATTCGTTGGCGATTTTTTTCTGTAGTTTTCCAGAAAAAC AAACGAAAATTTTAATTTTTAATTTTTAAATTTTCCAAAAAAAATTTTTA AAAATTCATAAATATGTCCATTTTAATTTTAAAAATATCGGAAAATATTC AAAAAATGAACTTTTCTATCGAAAATTTAACAAGAAAAAATTACGAAAAG TTCATTCAAAAAATTAAAATTCTTCTATATCTGAGGAAGGCTAACAGTAA TTTTTTCCCATTTTTTGACTCTTTGAGCAAATAACCGTATCACTAATTAC CTTAACCATCAAAAAAGAAAGGTGTGCCTGTCTTCTATTCATCCTCCTCT CGACACCAAATTCTTAAGAAGAGCCCCCCACTCGGATGTCTCTAATTAGG CACAAATGTTACGTCATTTTGTCATTTGTACGGCCACAGATGACCTCCGG TGTGCTTGGAGGACTGCGAGAGAGGAGGATTAAGGGGATTTTTATGTCCT ACAATTGATTTTTTTAGGTCAAAAGTAGGGATTTTAAGGCCAAAAATAGA GATTTTTTAGGTCAAAAGTAGGGATTTTAAAGCAAAAAAAAAAAATTTTC GGCCAAAACAGTGGTTTTTAAGGCCAAAAAATTTAATTTTTCCGTTTATG ACACCTAAAATTGGGGTGAAATTTTTTTTTCGGATAGAAATCTAAAATTG CAATTGTTAATTATTCCAACATTTTTTTTTGCATTAAACGTTATTGTAAA AACATTGAAAATCACTTGATTTATCCGAAAATTTCATTTATTTCAGATAA ATATTGTTTAATAAAAAATGTGTTAAAAAACATGGTGCATAGATATATAG ATAATTTTGTAGAATAATTGAAAATTGCAATTTTTAACTTCCTACCCGAG TAAACAGAATTTAAATCCAATTTTAGGTGTCATAAACGGAAAAATCCCAA TTTTTGGCCTTAAAAAATCCCAATTTTTCGGCCTAAAACTCCCTAATTTT GGCCTAAATCACCCTATTTTTAGCCTAAAAAAGTCCCCTGTTTTTCCATT TTCCCCAGGAACTCGTAGAAGAACATGTGTTAGGCGTGAAGAGGTTAAGC CGATTAGCCATGTAATATTCAATACTTGAGTATAGAAGGGCCAGAAGCAG CAGCAGCAGGGGGTGCTCCAAGAGCACCACCTCAACAGATGTATAAAGTG GTTTTCGAGTAGATTTGTGGTTTTGCACACGGTGGAAGAAATCTGAAATT TGAATTTTTTAAAGCCATTTTTGTGCTGAAAAATGTACAGAATAACCGAA ATTTCACCACCCTTTAAGGTACGGGAAATCTCCGGGAAAAAGGCTCAAAA ATTGCATAAAAATGGAGATTTTAAAGCTAAAAATAGCTATTTTAACAAGT TTTTTTGCAGGGATGCGAGACCACACATTTCTCTGTGAAATTGTTCGAAG ATTTGGCCGCTTTGAGAAGATTGGAACTCGATCAGGTACATTTTTCTTGG AAAATCTAGAAAATTTTGCTGAAATTGGCTCAGAAATGTCCTAAATAGTA GAATTTTTCATTAAAAAGCCTCTCAAAACGGCTTAAAATTAAGTAAAAAT CGACATTTTTTCACAGATCTCCACCGCCTCAACCTCTTTCGAAATGACCG AAGACGTCCTAATGCCGTTGGCTCGTCTCGAAAAGTTTTCCCTCACGAGA TCACGGAATATCGAGCTTCCACAGCGACTTTTGTGCTCTCTGCCGCATTT ACAGGTATATTTTTGGGTAATTGATAATTCGCCAAAAAGAACAGCAGCCG AAAACTCAAATTTTTCACGAAATTTGCCGAAAAACTAGATTTGTAAAATA AAAAGAATGCAAGAATTTTTAGCTTAAAAATCTCAATTTTGAACGATTTT TAAAGCAATTTCAGTATGAAAAATCCAGATATTTTTTGGGTAAAAATTTG GTGAAAACGCGTTAAAATCTGCATTTTTGAACGAAATTCGCCAAAAATCA AGACTTTTGTAGTGCATTTTACTGTAAAAATGTATACCTATTTTCTATTT TTATGCGTACTGCGCAATATATTTGACGCGCAAAATACCTCGCAGCGAAA ACTACTCTTCAAATGACTACTGTAGCGCTTGTGTCGATTTACGGGATCGA TTGATAGAATATCAAAATTAGAAATAAATGGGAAACTACTGCGAAAACAA AAATTTATTTCAAAAATTGAGTCCGTAAATCGACACTACAGTAGCCATCT AAAGAATTACTGTAGTTTTCGCTACGAGATATTTTGCGCGTCAAATGTGT TGCGCAGTATGCATTCCCATCTTGTTCTCTACATTCAATTACCACCACAT CTCACAGAGAAGGAATTAGTTGTTTATTAGTACGTGGGGGGGGGGGGGCT TTAAAGCTTACTACTTCTTCTTTCTTTCCACTTTCTGACGTTCAACCATC TGGTATTCCTGGCGGCGGGGCAATTGAAAATGAGAACAAAAGGACATCGA TGGAGGGAGGAGGATTGAGAGTTTGGAAATTGTGAAGAATGCGCGCGGAA GGAGGAGGTCAAATATCACAAGCGCCGGAAGTTGTTGTCAGCCAGAAGCA ATAAAGGCCTAATTATGATGATGATGAAGAACCTCCCTGAAAGAGAATAG CGAAAATGTGAAGTTTCCATCTCAAGGGAGCGATTTTTTAGTGATCATGG AGTCTTGAAGTGTGCACATAGTCTACGTGCCCCACAAGAGCCTATGCCTG CCTTATGCCTACTCACATGCTCACAGCCAAACTCTTTCGAAATCAGAATT CTACATTGTAGAATCTACAACACTGAAGTTTCTGCCATAACGTTGAAAAT AGGCACCTACGCCTGAATACGTGCCTGATCAACATGGATGCCATATAGTC CAGGCTGTATAGTCGTAAAACAGGGATTTTTTAGGCTCATGGGTTTTTGT CGGAAAAAATCGAACATTGAGAAAACCAGAAATTTTTCAAATTTTCGTAT ACTATTCCACGAATCGTTTCTCCCGTTTATCGAATCTCCACGTCGCACTG TAATTTTTCAAGTATCGTTAGTCCATTCGCCCGAGAAACTCCACAGTTAC AAATGCTTTGCAAGCATTTTCAAGAAACCATGGTTCCTGGCATGTTTTGG CGCATTCAATAATGCCGCTAATAATAATAATAATGCCTCCTATTATGATG TCGCGTTGTCATCGTTTGCTGCTGCTCCGTCAGATACTTTATGGGGTTGT TGTTTTCTCCCTCCGCATCAAACGACGTTCCTCTCTTCAAAATGATGATG GATATACATATATCTATGTTTATAGAAGAATTGAACCCCACACTTTACAT ATGAATAGATGGGGACCTTGTTACCTTGACTATCGGGAAGAGATTGAAGG TTCCAAAGACGGCTGGCTGTGGCTCATTAGGCTAAATGATGCGTGATATT ATTCGCTCTACGGCACCTCTATGATCCAGGAATAGCAGTCACTGTCAACA AGAGTCACCTCACGGCAACAATACTCCGCTAATTACGGTTTGCGGCAAAT CCCAGAATTTATTTGAAATTCTAACTGGGTGTTGCAGATGGGTCGAGGAA ATATGATAGCAATAATTATTGTTACGTGGCAATTGTAATCCGTCAGATAT CGTTTCGAGACCTGCTGACTCAAGAATGTGAAAATGGACAAATTTGGAAA ATAGGTAGCGGAAAATTTTCGCAAGTTTTGAAAATTTCGGTCATGATACG ATACGAACTCCTTGATTTTCACAGCCCGACAAGCCGTACGCGTACGCAAT TTGTCTACCGTATACCTGAACGTTCAGGCTCGTCTATCTCGAAAACAGTT GGTCCAGCCTTTTTGTGGGGCATATAAAAAAGGTCAGAACATAAATTCTA AAATTTTTTGGACCATAGCTTGTTTCGTTATCACGCGCCCAAACCTGATC TACACTCAAATTATCAGTAGAGCGCATTTGCATGGATGTACCACTTGCCG GGCCGTGATTTTGAATGGAATATTAAATTCCACGTCACTCTAGTGAATCT CCGCTTCTCAATATGCTTCATAATTCATCAAATTCAATTCATTTTCGGAT AAGCCAGTTGTAAACAGTTGTGTGTGTGTGAGTGAGCTCATCCTTCATAA AATGAATAGAGATAGAACACTGACACTCTCTCAAAGACAAGAGGAATTAA TAAATATGAGAGCTCATTAGCTGCTCTTCTCGTGACTACTAATTAGGAGG GTGGTACATGAAACAGTGTATGTGTAAAGGGATCCCCGCCGCCGCCGCCG CCAATGTCTTTCGGTGTATGGCAATATCCGAGTGGTGTTCTCATTTTGAA GAGAGTATTAGGATGTAACGTATCAACTGGAGAGAGATAGTTCAAAGATT GGGGATTTGAGATATTTTAGGTGTCGAAATGGATGAAATATAAGCATAGG GAGGAAATAAATAGAAAACGATATACTTAAATAGCAATAGTTATTTGAGT TCTTACTGTAGTTTTCGCTAAGAGATATCGCGCGTCAAATAAAATGCTCT ACGTACGCATTCTCATGATTTATTGTTCCCGTAATATAAACATAGCAAAC ATTTTTAATGTTTAAATATTCCTCAATGCTATTGAAATTCAAATTAGTAC AAAGAAAGCAATTTTTCGATTTTTTTAACGAGAAAACTAAGTTTTCATCA AAAAATATGTAGATTTTGATGAAAATAATATGACAATTTATTTAAACCTA TATATTTTTTTGTCCAAAACAACTTTACGAAAAAAATTTTTTTTTAAATA AAATTATTGGATTTTTCGTCAACTTTACGATAAATTCCGAAAAATTAACA ATAAATATAGGAGAAAAAAATCCGAAATTAACGAAATCCCCTGTTCCAGG TTCTGAATATCTCGTCAAATGAGCTTCCATCACTGCGAAGAGAGGAATCG TGTGTCGCTCAGCAGCTTCTGATCGTCGATTTGTCTAGAAATCGGCTCAC CAACATCGAGTAAGGGATTTTCCGGATATTTTATAATTTTGATCTTTAAA AATTTCAAAGTTTGTGAAAATGTGAAAATCTAAAAATGTGGAACAAATAT TGGTTTTATCTATTTAATACCCCAAAACTTTGAGATTTTTCCGTTGAAAA ATCGAAAATTCGAAAATTATCTCAAAAATTTCAGGCAATTCCTACGTGGC ATCCCGGCAATCCGGCAAATTTCGGTGGCTTACAACTCGATCGCCGAGCT CGATTTATCGCTGGCAACTCCATTTCTACAACAACTCGATGCTGAAGCCA ATCGAATCGTCGACTTGACGTCACTTCCAGGCACTGTTGTACACGTGAAT TTGGCTGGAAACGCGCTGAAAAGGGTGCCGGATGCGGTAGCCGAGTTGGC GAGTCTTGTGGCGTTAAATGTGTCGAGAAATGAGATTGAAGCCGGAAATT CGTCGGTTTTTTGTGGGTTTTCGGATTTTTTTTTGGAAATTTGAAATTCG GAAAAAATTCAATTTTTACATACAATTTTGCGTATTTTGATCATATTTGT TTTAAAAATCGAGAAATTTAAAAAAAATCAAATTTCGCTTATTTTCATTG GAGAATACATGAGAAAAATATTTTTGTTTCGAAAAAGAAAAATAGCCAAA ATTTAATGCTATTTTTTCGAAAAATTTCGATTTTAATTTTTGAAAAAGTA TTGAATAATTTCATCAAATTTGTTTTATTTTGATGAGAAAATACGTGAAA AATGGAAAAAAAATATGAAAATCTTTAAAACAAAAAAATAATCAGATAAT TATGCAATTTGGCCTGAATTTTCAAAAAAAAAACTTGGATTTTCGAAAAT TTCATCAAATTTTGTGTATTTTCATGCAAAAAAAGATAGGAATTTCCAAT TTTTGACCTTAATTGCAAAGAAAAATTCCTAAAAAATTGTAACGTTTCAA AATCTCGATTTTCTTCTGAAATTCTCAAAATCTTCATATTTTTCCAGCTT CCCCAGAACTCGAAATGCTCGACGCCTCTTACAACAAATTGGACAGTCTG CCCGTCGAATGGCTTCAAAAATGCGAAAAACGCATTGCTCACCTCCATTT GGAGCACAATTCGATTGAGCAGTTGACTGGTGGAGTGCTGGCGAATGCGA CTAATTTACAGACGGTTCGTAGACTTGTTTTTTTTTTTTTTTGAAAAAAA ACACGCTGAAAAAATCTAATAAAACCCAAAAATTTGCATTTTTGTTTAAA AAATATGAAAAATTGTTCAAATTCCTAGTTTTCAATATTTTCAACAAAAA AAAATTCTAGAGCTTCCATGGTAGGCAGGCGCGGTTTCAGGGCCTGACGC CGACCTTTCGCCTCTTTTTTGCATTTTTACGGGAATTTTCAAATTTCTAA TTTTCCCCATTTCTATCAAATTATTGAAAATCAAATTAAAAACGCGAATC GCGTATTGAGGCGAGAGGCACGCAGAGGTTGCCTTAAGGTCAGACAGGCA AGCTTTTTAACGCCTAACGTAATTTTAAAACCTGAAACATTAGAAACTTC CACACGTTTGTAATTTCACTGAATTTTACTGCACCTCTTCATAAATTCAA TGTATTTAGATAGTGTAATTTTTAAAGGTGGAGTGCCGAAATTAAAGACT TTGCTTTTTTAGACCAAAATTGGTCCTAAATAACCGAATTTCGTAATGAG ACTTTCTGAAAATTTCTCAAAAAAAAGTTATGGCGGTTCAAAGTTCGGGA AAATAAGGTCAATTTTCAGCTAAAATCAAAATTTTTAAAATTTTTTATTT ATCACTTTTTGATAAATATTGTGGTCTTTGATTAGGCGGGGCACCAATAA AAGTTACATTTTGTGCCCCACTGACCATGAATGTATTTAAATCAACGAAT AAACGCCTAATCAAAGTATTTATTAAAAAGTGATAAATATAAAATTTAAA AATTTTGATTTTAGCAGAAAATGGGCTTTTTTTTCTCAAACTTTGAACCG CCATAACTTTTTTTTTGAGAAATGTTCATTACGAAATTCGGTAGTTTTGG ACCAATTTTGGTCTAAAAAAGCAAAGTCTCAAACTTCGGTACTCCACCTT TAAAGAACAGTGTAATTTTTTTCTATTTTCCAATCAGTGCAACTCTAATA GCAACTCTAAACTTATTTCAATAAACTCTAGGCACAGTATTTTGAATAGG CGATCGCGTGACAGTTTTAACCAAACATAGTCATGATGACCTTTTGTCCT TACAGAATCTTCTCAAGTTCATGCACACACAGGTGTCATTTACTCTGTCA AGTATTGTATAAGTGTGATCCCGAGAGTATTATAAATGGTAGTTAGACCA CCCTTATGGTTAAGTTGTTCGTATAATTGTAGGGGTGGGGATCTTACCAC ATTTATACGGCCCCCCTCCTATTGTATTGTATTGTTGCCACCAGTCGTCT TGAGAATCTCTTTCAATCCGGGGTGACAGAAGGTGTCATATTGTCGGAAT GTGTAATAGGTGGGTCTCGAATGGATATCACTAACAGCTGTGAAGGGATC CGAGAAGGGTTTTCGGTCTTTCTAGGGGTTTAACTTTCCGCTGTCAATAT TATTAATCTTACAAGGAAAGGGTTTTAGTTTACCGTCAGACTTTAAAACG AGACATGTGTCATTTGAAAGTGTTCCATAAGTGTATGTCACTCCAAAATT TCAAGCGGCAAAGCTCCAGTCTCAAACCCTCTAGCATCGATCTGAAAACG TTTCAGTGCATTTTTCACTACTTTGAGGCAAGTAGAATTTCTCCAAAATG TTTTTTTTGCAAATCTTCAATGTTTTTCAGAACGTTTAAAAGAAGGAAAA CAATCTGGAAAATTTTTGGAAAATTTTAAATTTTTTGAAAAAAATCTGAA ATTTCTTGGACCTGGTGGCGTGAAGAAATGTTCAGATTTTTTTCAAAAAG CTTAAAAATTTTCCAAAAATCTCCCAGATTGTTTTCCTACTTTTAAATGT TCTGAAAAACATTGAAATTTTGCATGTTAGTACGATTTGATAATCGTGTT ATAATTACATTACACATACATAATAATCAATTGAAATATACAATTCTTAA TTATAACCTGAAATTGAGATTAGATACCTTAGACAATACAACAAATAAGA ATGTGATCGATTCAGCAGACCCCTATTTGTGAAAAATGCCTTCTAAATTT TATTTTACACTTCTCCTAGTAGATGAACAGCACCTGCCAATAATTTCATT GACAGCCGGATGGTTTTTGGCTCCTCTAAGACAGTATAATCCCGTCTCCC CCGGGGGGAAGTGGTGTCAAATTGCTTTGCGGAGCAGGTGCTTTTTTCTG AATCGAATTGGCTTATTGGTGACGGAAAAACCCCTAATAGAATTGATACA ATTTGGTTTTCAAGAGGATTTGGGGAAGGGTTTAGAGGGTAATTGAAACT GAGTAGATCTTCGTCTGTCGTGGAGATCAGAAGATTGAGGGAAGTACTGG GTTTAAGGGGGTCAAGGAGTACTGTAGCGCATTTCGAATACTACTTTAGA TAGTTTAGGTATTATATCAATAGGATAATATATTATCAAGTTGCACCAAA ATTGGAGATTCTAGTAGTGCATTTTCTTTATATGCTAGGTATGTATAAGT TTCTAATAAGTGTATATACCTACCATGTACCTAGGGGGAGTAGAGTTTGT GGGTATTTTGCTTAAATAGACTAAAACGTGTCCAAAACCACCGAATTTCA AAATGAGACTTCACAAAAAATTTCCAAAATTTTTTTTATGGAAAAAAGAG CAAAATTTAACTAAAATCCGAAATTTCGCACAGTTTTCTTTGTCACAGCC GCTGGATTTGAATTTTTCTGAAATTATCACCCTTTAATCCTTATTTTAAT AATTTATCTCGCGGAAATTCGTTGATTGAGACAACTTTTAGGCCGATAGG CATCCCATCTTGATCATTTTTGGATGCCTATCGGCCTAAAAGTTTTTTAA TTTCAGAAAAACTAAAATCCAGCTGCTGTGACAAAGAAAAGTGTGCGAAA TTCCAGATTTTAGCAAAATTTGACTCTTTTTTTTCTCGAAATTTTGACTC GCCATAAAAATTTTTGGAAATTTTTTGTGAAGTCTCATTATTAAATTCGG TGGTTTTGTACCAGTTTTAGTCTATTTAAGCAAAATACCCACAAACTATT ACACTTTACTTTAACAAGACACACAATAATTCACAAATGGTGTAGTATCA TGCCGGAATTTATATAGGATTGATTCTTGAAGAACGAAATTTTAAATAGA TTATTGCAGACTATGTAACACTATTTGTATAAACAATTAACATAGTGTAT TGAATAATGACTTTATTGAAATTAATACAGTTTTTGATATACCCATCTTC TATTAGTATATCATGCAATACTAATAGGTAATATGCAATATCACTTTAAT TGTTATTTCCCATGCGTCGTGTTTATACAAATGCTTTATATACTCGAATA GTCTATAATAATCCAATTAAACTCGAGAATCCCAATACAGAATATAGTGT TTACCAAAAACACTTGTGTTATTATTCTAATATACATGCACACACACACC CACACACAGGTTTGACACCAGTTCTACTAATATTTGCATAATACCATTGA GATACCTGAAGTACCCTATAGATATGCACGGGATTCGTTTCGGGCACTGC CACGGAAAATATTGAAAAAGTGTGGTAAATTTACGAAAAACAACAAAAAA AATGCGATTTTCCAGAGAAATACGAAAAAAAAGAAAAAAATATTTAGAAA ATTAACAACAAAAAAAAAAATTTTTTTTTATTAAATAATAAAATGTGTTC ATTCTGTTTTTCCCCTTTCAGTTAAACTAGGGCTTCCATGGTAGGCAGGC GCGATTTCAGGGCCTGCCTGAAACCTGCCTGCTTCACGCCGGCCTCAGGT CGCCTTAAGACGGCTGCTAAAAATTTGAAAAAAAAATTTCAAAATTTGAA TTTCCGCGCTTTTTTCGAATTCCTAGAACGCTTTTTTTTAATTAAAAAAA AATTTCAGTTGGACCTTTCATCGAATCAACTTCGAGTTTTTCGAGACGAA GTACTTCCGGAGAATTCGAAAATTGGAAATTTGAGACTTTCCAACAACTC TTTGGAGCTCCTCGAGCCGTCGAGCCTGAGCGGCTTGAAATTGGGTAATC TAAATTTATATGAATTTTGCAAATTCTAAAAATCCTAATTTTTTCTAGAA TCCCTTGATCTGAGTCATAATAAGCTGACAGAAGTGCCCGCCGCAATTGG AAAAGTCGAGCAGCTGAAAAAAGTGGATTTGAGCCATAATAGAATTGCGA AGGTTTATCAATATGTGCTCAATAAGATTAAGCAATTGCATACTGTTGAT TTGTCGAATAATCAGTTGCAAAGTGTGAGTTTTTTGTTGATAAAAATTTA AAATTTGAATTTTTTCTTTTTTTTTAATTATTAATTCTGAAAAATTCAAC GAAATTTCCGAAAATTACTTGAAATTTAAATTTTTATCCAGAATTTAGTC TATAAAAACGAAAAAATACGAATTTTCGATTAAAAAAATTAATTTATTTA AAAACACACTTTCGAAAAAAATTTTGAATTAAAAAAAATTTAAAGTTCCT TAAAAAACTATTTCCTCAATTTTTTTTCTGAAATTTCACTCTTTCATTTT TTAATTCATTTTTTAAGTCTATAAATACGAAAAAACACGAATTTTCGATA AAAACACATTTTTCAAGTTTTTAAAAATAATTTTAAATTGGAATTTTTCT TTAAAAAATTGTTTTTTATAAAAAAACACATTAATGCATTTTTTAAAAAA TAATTTCTTGAAATCTTCCAAAATCGGTTGTAATTTTAGCGAAAATAACT ATTTTTTCCAGTTTTTATTTAAAAAATCCCTCGAAATTTGAATTTATCCA GAATTTAGTCAATAAATGCGAAAAAATACGAATTTTCGATTAAAAAAATT AATTTATTTAAAAAACACTTTCGAAAAAAAAATTTTCAATAAAGAAACTA GTTCTTAAAATTTTTTTTCTGAAATTTCACTTTTTCATTTTTTAATTCAA AAAATTTGAATTTATCTACAATTTACTCTATAAATACGAAAAAAATACAA ATTTTCGATGAAAAAACACAATTTTCAAATTAATAAAAATATAATAAAAA ACATATTACTAAATTTTTAAAAAATAATTTCTTGCAATTTTCCAAAACCG GTTTTAATTTTAGCGAAAATAACGATTTTTCCAGTTTTTATTTTAAAAAT TCCCTTGAAATTTGAATTTCTCCAAATTTTTTCTTGAAGTTTTTAAAAGT TCCATCATTTTCTACTGGAACTTTCAAAAAATGTTCCTTAAAAAATCTCT AATTTCCGCTAATTTCTACGTAAAATTTCAGCAAAAAAACAACGACATTT CATGTTTTTTTGTTAAAAAAATAATTTTCTTGAAAATTTCTTTGGAATTC GATTTTTTTTGAGTTTTAACCCAATAAAATGTATAATTTAAAAATATAAA AATTCCAGATCGGCCCCTACATCTTCTCCGACAGTTCTGAACTTCATTCC CTGGACGTGTCGAATAATGAGATTTCACTGCTGTTCAAGGACGCTTTTGC GAGATGCCCAAAGCTGAGGAAAATTTCGATGAAAATGAATAAAATTAGTG AGTTGAAGCACGAAAAACTGCCCAAAAATTAAAATTTTGAAATTTTTGTG TTTAAAAACCTAGAAAATCGAGATAAAGTAGGCTTAAAGTTGCTCAAAAT CCGCAGATTTTTTGAAATCGATTTTGAAAAGTGCACATGGAGCTAAATCA GACTTCAAAATTCTCAAATTAATTGCATTTTCACTCGAAAACCTCTGAAA ACTGCCTTCTTCCTATATTAAATCAAATTTTCTTTCAGAATCCCTCGACG AAGGTCTCACAGAAGCTTCCGGCCTCCGACGTCTCGACGTATCTCATAAC GAGATCCTCGTGCTGAAATGGTCGGCTTTACCTGAAAACTTGGAGATTCT CAACGCTGATAACAATGATATCAATCTCCTGACCGCCGCCTCAATGTCCC CAAGCACCGCAAACTTGAAGTCCGTTTCGCTTTCCAACAACGGCATCACC ATAATGAATGCGGACCAGATTCCGAATTCGCTCGAGTCGCTGGACGTGTC GAATAATCGACTTGCAAAGCTCGGGAAGACAGCGTTGGCCGCGAAATCTC AGTTGAGAAGGCTCAACTTGAAGGGCAATCTGCTTACCGTAGTGGCCACC GAGTCGATGAAAGTCGTAGAGGCTGTGCATCCGTTGAAAGTGGAAATCTC GGAGAATCCTCTGATCTGTGATTGTCAGATGGGATGGATGATTGGTGGAG CGAAGCCAAAGGTTCTCATTCAGGACTCTGAAACCGCAAGCTGTTCCCAT GCCGTTGATGGGCATCAGATCCAGATTCAAAGTCTCAGCAAGAAGGATCT ACTGTGCCCATACAAAAGTGTATGTGAGCCGGAATGTATCTGCTGTCAAT ACGGAAATTGCGATTGCAAATCCGTATGCCCCGCCAATTGCCGATGCTTC AGAGATGATCAGTTTAATATCAACATTGTCAGATGCCACGGGAACTCATC AATGGTGCCCAAAAGAGAATTCGTGGTCTCCGAGCTCCCGGTCTCTGCGA CAGAGATCATTCTGAGCGGAGTCACCCTTCCACAGCTCCGAACTCACAGC TTCATCGGAAGACTTCGTCTCCAGAGGCTTCATATCAATGGAACCGGGCT CCGATCCATCCAACCGAAGGCTTTCCATACTCTTCCAGCACTGAAGACGC TGGATTTGTCGGATAACTCGTTGATCTCGCTGAGCGGGGAGGAATTTCTA AAGTGTGGAGAAGTCTCGCAGCTTTTCCTCAATGGAAATCGATTTTCCAC GCTATCCCGTGGAATCTTCGAGAAGCTTCCGAACTTGAAATATCTGACAC TTCATAACAACTCCCTCGAAGACATCCCTCAGGTTCTTCACTCGACGGCG CTCTCCAAGATCTCCCTGTCATCGAACCCCTTGAGATGCGACTGCTCGGG AGGATCCCAACAGCACCTTCACCATCGTCGTGACCCAAAAGCTCATCCAT TCTGGGAGCATAATGCGGCCGAGTGGTTCTCGTTGCATCGGCATCTTGTC GTTGATTTCCCCAAGGTTGAATGCTGGGAGAACGTGACGAAGGCCTTCCT GACGAACGATACGACAGTGCTGAGCGCCTATCCACCTAATATGGGAAATG ACGTCTTTGTGATGCCTATTGAAGGTTGGTTTAAAATTTTTAAAAAAACG CGCGTCAAATATTTTAAAGTCTTTTGTTCGAAAAATAACCATTTTACAAT ATGTAGGATATATCTATAACAGCTACTGTAAAAACTCCAGATGTTTGAAT TTTTTTAAAAATGCGACGTGGTAAATATTATATTGATTACATATTATTAT TACAGTGTATTTTTTTCCACTTCTACGACTTTAAAGGGGGGCGCATTTAC GCGCGATGGTCCCAGCATTGGTCTCGCCACGCACCCCAAAAATCAATGGG TGGCGCGTGTCGAGACCATCGCGCGTAAATGCGCCCCCCTTTAAAGTCGT AGAAGTGGAAAAAAATTCACTGTATAATTATTAGTCAAATGATACTTATT ATGATATTAGAAATTAAAAAATTAGGTTTGAACATTTTTTTTCCTCGATT TTTTTACGGTATTTCACCATGTATGCGTTATAAATACAAATATGATCCCT ACCTTTTTATAACTTTAAAATAACTTTTAAAAAGGAATATAATACATGCA CAAGCACCATAAAATTTCAACGTTTGCTTTTTCTGGTCCGAAGAATTTTT TCAATACGTTTACTTTATATATCACATATACAAACAATATACTGAGAATG CGTATTGCGCATTATATTTGACGCGCAAAATATCTCGGAGCAAAAACTAC AGTAGTCCTATAAATTCCTACTGTACTGCTTGTGTCGATAGAATATTAAA ATTGCAAAAAAAATTTAAAAAAACGAAAAAAAAACAAAGTATAAGGGAAT ATATAGCTATTCCAAAATAAATCAATTTCAAAAATCGAGCCCGTAAAAGA GAAGGACTTACTGTAGTTTTCCCTACGAGATATTTTGCGCGTCAAATATG TTGTGAAATACGCATTCTGAAGATGTAGTGTACTCGTAATATATATTTTT TAACAATTCAAACATTTCCAGAATTCCTGCGCGACTACAACTCAACAATC TGTGTTCCATTCTCATCTGGATTCTTTGGACAAGACCCTCAGAATAGTAT ACTCTTTGTAATAATAACTATATCGATTGCTGTTCTCCTCTGTGTCCTCG TTATTCTCGCAATTTCATTTATTCGAAAATCTCACGACGCAATCAATCAA CGAAGATACAAAGCATCATCTCTAAATTGTTCAACATCAGCCGGCTCGTC GCCTCTTCCGGTTCCGCTGTTGAGTTATCACGCATTTGTGAGCTATTCGA AGAAGGACGAGAAAATGGTGATTGATCAATTGTGTCGACCGCTGGAAGAT GAAGATTATCAGTTGTGCCTGTTGCATCGGGATGGGCCGACTTATTGCTC GAATTTGCACGCGATATCTGATGAACTCATAGCTCAGATGGACTCGTCGC AATGCTTGATTCTTGTGTTGACTAAACACTTTTTGGAGAACGAGTGGAAA ACGCTGCAGATTAAGGTAACAAATTCAAACTTTCAGTTTAAAATTGATAT ATTCGTAAAAATAAGATGTTCTTAAAAATTCTGAGAATGCGTGTTGCGCA AAATATCTCGTAGCAAAAGCTACTGTAATTATTTTATATGACTATTGTAC CGTTCAAAATTACTATCCAAATATTTGATTTTTTGTTTTAAAAAATTATT TGGAATTTACTCAAATATTGAAAACAATATTATCGAAATTCCAGAAAATT TGGTGGAAATTCCGAAAATTTCAATTTTTTCGCTAATTTTCGAGAAAAAA AAAATTAAAATTTGGATTATATGAAATAAATTTCCAAACATTAAATTAAA AATTTTTTTTTTTTGGATTTTCCAATCTCGAACCTTCAAAAATTGAATTT TTTTGAAATTTTTTTTCGGAAAAAGTAAAAAATGCTCGAAATATCGACAA AAAGTTGAAGTATTTTTTTTTGTAAAATTGGAGATTTTTGAGATAAAAAA TCTGAATTTTCATTCAAATCTTGAACATCAAAATCAGCAAAAAAAATTGC TATAAATTTATTTAAATAAGATTTAAAAAGAGTAATTCGCTATGATTTCA AATTTTCAAAAAAAAAAATTTTTTTTTCAAGTTTTAATTTTTGAACACTA TCAAAAAATTTATTTTTAAACCAAAAAAATTCCGAATTTTCTGTAAAATC TCAAAAAAAAAACATTCCTAGAAATTTAATCGAATATGATTTAATAATAC TATTTTTAAATCATATTCAATTACATTTCTAGGAATTATTTTTGCTAGAT TTCAAAAAGTGTATGAAAAATTAAAACTTTTTGAAAAAAAAACTGTTCTA AATATAATTTATAACACCAGAAATTCACTAATAACACTCCACATTTTTCC AGACCTCCCACCAACTATTCGCCAAAAACCGTGCAAAACGAGTGATCGCC GTGCTCGGCGACGGTGTGGACGCGAATCTGCTGGACGATGAGCTCGGACA GATTCTACGGAAGCACACGAGAATCGAGATGCGGAGCCATTTATTCTGGA CACTTTTGCACTCATCACTTCCATCACGACTTCCATTACCATCGAATAGT GGCGATGATTCGTCTCAACTATATTCGGATATCTATGGAATTGTGCCTTC CGATGTTGTTTAGCTTACAGTTTTCCCGTTTAGGTCACAGTTTTTAGTAT TTTTTTTCCTCTTCCAAATGTACGAGTTTCCATTATTCACGAGGTTTCTT TTTCACCCCCAATTCTTCTGTGCACAATTTGCCATTTTTTGAATTTTTAC AACAATACCGGTACTATATTTTTCGATTTTCTTTCTTTTTCTATGAATCT TGCCATCATTCTCTAATAATTGACCAGCGATTATATTTTTGATTTAATAA TTGAATATTCTCGTTTTTCAGTTCAAATTATTGCTTTTTTCTGTCACCAC AAATTCAAATTCTCGTCCTACCCTGTGTGATCTTCTGTAATATATATATA TTAATAATCGTCGTTTCTTCTTGTTGTCATTTGCGGATGCTTATGAAGCT TGTATTTTAATTTTTTGTTTTGTTTTTTTTCCTGTTTCAGCTGCAAAAAA TTCGGTAGAAATTCTTGAAAACACGCAAAAAATGAATAAAAAAAATAGTA TATTAGCTTGTTCGAGAGGAGTTCACAAGCGGGTGGCCTAACATCTCCGC GGCCGCCCAGTGGTGTACTCCTCTCGGGTGAAAGAATTCCCATTTTATCA TCAGTTTTTCGGCCTATTTTTTCAGTTTTTCTCAACTAAATAGTCAATTA TCTCTTAAATAATGTCGAAATTAATTTAATTTACACATTTTTCCAATAAA ATTCCAATTTTCGGTCATTAAATTACCCCTTTCGAATTTTGCTCTCAAAA ATTAAATTTTCATCGATTTTTAATTCTCAAAATTCTTGAATTTTCAGCGA AGATGGGCAAATTCAGCAATCAGAAGAAAAATCGTGTCAAGAACAAGGTG GCGGTGACAGTAAAAAAAGCGCAACGCATGAAGGCAGACGCTAAAAATGC CAAAAAAGACGGTGAAGTGGATGTTGAGATGAAGGAGGAGGTGGTGAGAG TCAGAGGACTCGCCGTATCGTCGCTGGTGAGAAAAAAAAGGAAAAACTCG GCGAAATTCTTGATTTTGATTTTTTTTTTCAGAAAAAATTGGCCTCCGGT GAGCTGCAAAACGTGCCAAAAGTGAACGAGAAGAAGATTATCCGCAAGAC AGAGCTTCCAGTTCGAGAGAAGTAGGATTTTCTCGATCTCTCCAAACAAA AAAATTGTTTTTTTCAATTTCAGCAAAAAGATCCTGGACGCTCCGACTGG AAAACGTGGCACCACTGCTCAATACATCACAAAAAAGAAGGCAAAGAAGA TGTACAAGAAGATGACACACGACGCACGCGACAAATATCGAAAAATTCAG GCGGAACTGGCCGGAGACGGTGAAGATGACGAGGAGGGTGAAGCCGAGGT GATGGAGCAGTGATTTTGGATTTTTCCGCGGCATTTTTAAAATTGTTTTT TTTTGTTGATTTTGTTACTGTTTTTCATTTTCCACATAAAATAATCGAAA ATTTATTTATCACAAAAACTTTTGCACAATTTGCTCAGCTGAGTGAGCCA ACTGTTTGCCACGTGTCACGATTCGATGCATCCATCCATTGGGCTCCTCG AGCTCCGCTTTCGGAGCCTGTAGCTGCTTTAGAATTATTGTCCAGAGCTC AGAAATGTTCATCGAGTACTGCGCGGAAACTTCGACGAAATTGCACTTGT GTACTTTGGCCAGGCAGGCTCCTTCTGGAAAAATCAATTTAAAAATCGAT AATTTGAAGTTCCACGTGGAGCCGCGACGCGGCACGCGTTGCATCGTTTT TTTTGGTTGAAAAACATGGTGCATCGAAGAATTTTCCTTTGACGATTTTA TACGCAATGCATCACATTTGACGAACAAAAATTCAAAATACTTTACTTTG CAAACGCGCTCCATTGATAAACTTATGAAAAATCGATAATGCTCAAATTT CACAAAATTTTCCTCCATTTGAAATTATATAATTGTTAAACAAAATTAAT AAAACCAAACATTACGCGCAGTTTCCGATAAATTTCGATTTTTTCAAAAT GCAAGCGCGCTCCATTGCTAAACCTTGAAAAACCCACCCATTTTCGACAC CACCGTATTCCGTTTCAAATCGATTTTATTGCCAATCAGTATAATATTGG CTCCGCGAGCAATTTTTCGATTCAAAAGCCGACTGAGCAGGTCTGTGGCA CACACGAATGATTCTCGATTGTCAACGTTGTACACTATTGCGTACATTGT CAGTGATGACGCGAATGGAGAATTCTGGAAAAAAACAAGAGTTTAAAGGC GCAGGTGGGTCTCGCCACGATCCATGTTTTTTTGCGGGAATAGTGGAAAT TTGGAGTTAGTAAAAAAATCAAATTTGTGTAATTTTTAATAAAATCGGTT CGCAAATGCGCTAGTACATCAGATTTCACGAGCAAATTTCATTTTGTGAG ATTTGCACCAAAGATATGGGCATTTGAACTGATTTTTTAATGGTAAACAC GCGAAAAAAAATACATATCCAAAAATTGAAAAAATTTTAGGTTTCACAGT CTCCTCGGCATCGAAAGCGCAGTAGTAGGGGTGGCGATAGGGCGCCCTGC TAAATTTTCTATTTTTATGGTCTTTCTTTTCGTTTTGTGCTAATGAACAA AAGTTAAGTTCGAAATCTGCGAAAAAAATCGTTTCAACGCTAAGAAACGA AGAATTGTATTTCTCAACGGTAAAAAGATTCACTCCTGCGCCAAGGTGAC AGCAAGTGCGCCCCAGCCCAATTCGACGCTGAAGAGACTGTGGGTTTAAA AATTTAGAGAAGTCGCAAATTTTTTGTTCAAGATATCAGCCTAAGCTACG GTTTAAAGGCGCACAAGCACGTGGTGTCAAAGTGTCCCGTTTCGGTGTGA TCTACCAAAAATGCGGGAATTTAGACGCAGACTTCTCAGCAGATTTCGTA TGGTTAAGAGTGTGCTGACGTCACATTTTTTTCTGCAACAAATTCCCGCA TTTTTTGTAGATCACACCAAAATGGGACTGTTTGACAGCACGTGCACAAG CAGATCACAAGTGGGTCTTCGAGTTATCCTCCCCAAATCCTGTCCAGTAG AGCGCACTTACCTCCAACGTGGCTTCCAGCAACATTTCCAACTCGATTTG CTCGTTATTCAACAGGAAATTCATCGTTTTCGATGAAGTGTCATCTCCCT CATTTGACTCATTATTGTATTGGGTGACGAGCCGCGTGGCAAATTGGTTA ATTGCTGACAGCAATGTTTTCTTCCCGCTATTCCTTGATCCATAGACACG TAGAACCACATGTTGCATTGGAACATTCGACGTTTCTTGGAATAGCCAGA CTTCTGGACACGTGGCTCGGCGATCTTCTGAAAATTTTTAAATTTTCAAA AATTTGGTTAAAAATTTCAAAGGAAAATCAATAACAAAGCTACTCCAAAA TTTTCAGCCTGATTGGTTGGAAAATGAGCAAGTTACAGCGCTTCAAGAAT TCTAGGCCACGGTCACCAGGGAGTGGTGGCGGTGACCCTCTATTTCATTT TTAGATTTTTTAAATGGGAAACTCGAATTTAAATGTGAAACATCTGGAAC ATTCCAAGAAAAATTCAAAAAAACTCTCTAAGGAGTCGATAACCCTCCCC CAATTCCTGAGATGTGACGTCATCAGGGGGAGCCCGTGACCTCATAGCTT CAAATTTGAATTTTTCAACGAAAAGTGTGAAATTAGATGTAAAATTACTA GGAAATTAGAAGAAAGATTAGAAAAGAAATTTCGGGGGTGTCGCTCACCA CCCCCCCCCCCCATTTTTATAGTGTGACGTCATAGAAAGTGGGTCCCCGC TACCTTCCATTTTCAAAGTTTTTTTATTTTTCCGATGATTGTATTACTGT ACTCACTGTAATTATGTGCAACAACTGGTTGTCCAGTGGAGCACGTTTGC TTATACCCATTGTCCGTCACAAATCCATTCTTAATTCCAAAACTTCGAAG ACTTCCCTCCGGTCGTTTTTCGACGTCTTCGATGTTGTTTTGGTGCATTT GTAGAGAGTATTGGTATCTGGAATATTAAGGGGAAAATGGTGAAAAAATT CAGAAATGTACAGGTAATCGAGAAAAAAAGTTAAAACTTTTTTTGAACTA AATTTTTTTTTCAAAATTTCAAAAAAAAAATTTTATTTGAAGAACTTTTT TATAATGTTAATTTTTCTGAAATTACTTAACTTTTTCTCTCAAAACTTGC TCACTGAGTTTTTAAATAGATTTCTGAAATTGTCCACGTGAAGTACACTC CCAATATATCAAAGGAGCGCATTTGCGAACTAATTTTATTAAAAATTTCA CAAATTTATTTTTTTTAATAACCTAAAATTTCCGCTATTTTATCGTATTT TCTAAAATAAATAAAAAATTGTCCAGGAGGAGTACATGGCCAATTTATCA ATAGAGCTCATATGCACACTTGTTAAAAAACAAAAAAAAAACTTATTCAC CTTGGCGGTGGGTACCGCTTTTTCACACGACGAGGCGAGTTTTCCGAGCT GAAAAATGATACTTTTGGCTGGGAAGTTTTAGAATTTTGGGGAAAATAAG CATTTCCGGTGAAAAAAATTGTTTTTTATTGGAATAGTTTTTAATATTCT AGGCCATGTCGTAAAGAATTGAGTCAAAATTTAAATTTTTGAGGTACGAG CTTCCAGTTCCCCCCACAATTCCCCCTATGGCCTAGAATTTCAGAAAACT CTACCATCGATTCAAACTCTGTTACTTTTGAGGATAAGGGGTTCCGGACG CCCCAAACTTCCGCCCGTGGCCTAGAACTCCCAACTTCTTCCACCGACCT GGACGTGGTGCTCGTACTGGCAAAATGCTCATCAACATCTGGCAGTAAAT TGTTCAACCGTCTTGGGGACACGGTACGCGGGGTCGACGGTAGACTTCGG CGACTGATCGGCGATGTAGGAAGACTTCTGAAAAAAAATCAATCAATAAA ACAACGACACTCTGCTCGTGAGGATCCGCCCATTCCGCTTGTTGTTTACC AATTTCTTTTAAAAAAATTCTACAATGCGCAAAATTAATAGAACTACCTT CTTATAATTTTTTTTTAACTCAAAATTTTCAAAAAAACAACGACACTCCG CTTGTAGACTCCGCCCACTTTCCAAAAAGGACAATTCGGAGTGTCGTTTG AAAAATATCCTAAAATTTGAAAAATTCATTTTTAGTCTCAAATTTTAATG AAAATTACGTGAAAATCTATAACAACTACGACACTTTTGGCTCCGCCCAA AAACGTCTTTTGGCTCCGCCCGAAAACGGGGCGGAGCCTGGCACTAATAT TACAGTTTTTATTTCCATAAGTGATTAAAAAATCAACAAAAAAATTATTT AGAAAGTATCTCAATTATTGAATGAAATTTTATAAAATCTACGACACTCC GCTTGGAACCCCCTCCCCCTGCCAAGAATGGGGCGGAGCCTAGAACAAAC GGAGTTTTTGCAAGAAAAATATTGCTTGAAATTTTAAAGACATTAATAAA AATCCGAGTTTTTAGAAAAAATTGGGCCAAATCGAATAATAAAAAATACG TTACTCCGCTAATAAAACCAGCTCATTACCAAGAAAGGGGCGGAGCGTAT ACAAACGGAGCGTCGTTTGAAAAAATATTTTTTGGAAAACTAAAATGTTC CAGCGGGAGGAAGCTTCTGCAAAGGCAATCTAATTTTTTTCCGGAAATTC AATTTCCTCAGGGTTCTCTCTGCAAATTTGTTCACGAAAAAACTCGTGGT GCTGTGCAAATGCGCTCTATTGATAATTTCATCTAGAGAGCGCAATTACA TCAAATTAGCAATGGAGCGTTGTTGCATACCTTCTCGTTGCAGCGGGAGA CGCTGGTGACGGAGGTGATAGCCGTGATGAAAATTGTTGGGGTATCGCCA GCGCAACTGGAAGGGAAACACGACGATTCGACATTTTTCTGTAAAAAAAT CCATGATAAAACTAAAATTTAAAGAAAAAATAATGTAAATAAAAGTGGGG AAGTGGCTAAGCGGGGACACAAATACGCGGGAAATCCGCTTATTTTTGCT GGATTTGACGTAAAAATCCGAATCAACTGGCACTCGACGCGTTTTCCAAC AAGAAAAAACTAAAATTTCATATATTGGTGGCCTAGAAAATTCGAAAACT GTTCAAGCTTACGTAAAGTGTGTATTTTCCATATTAGAGAATAAGATTGG AAGAAAAATAAAATATTGTAATTTCTAGGCCACCGCAAAACTTCTAAGTC ACCTATGAAATTTCTAGGCTACCGTGAAAATTCTAGGCCATCATAAAAAT AAAATTTATATATTTTTGTCCTGAAACTAAGTCCACTTCCGCCAGAAATA ATAAAAGCAACAAAAAAGACAACACAAAAAATTGAGAACTCTTAAGAACA AAAGAAATCCGACCCGAAATCGAATACCCCACGAAAATTTTCGGAATTTA GAAAGAAAAACTATTTTTAGACACTTTTTTTCCTTCAAAAGGAGGAACTT TGTTGCGCGGCCTAAAAAATAGAAAACTCGGCCACCGATTTGTTTGCGGC CACGGGACACTCCGCAGTTGCAAAGGCTACAGATGCAAATACTGGAAAAC TAGGTCACCAAGTGGAAACCTTGGTCATCGCGTGGAAAAAAACTTTGACA AAAAATTTTTGAAAATTTTATAAATTTATTCTAGGCCACCACCTGTAAAC CTAGGTCACCATGTGGAAGGCTAGATCACCAAGTGGAGCCTAGACCAGCA CATAGGCCTCTAGGCCACCACGTAGGAAATTAGGTCACCAACTGGAAAGC TAGGCCTCCACATGATAAATAATATTTTTTGGAATTTCGTTTTGACCAAA GAAACTTGTTTTTACCAAAATATTTGAAAATCGTTTTCAAGGCCGTCCGG TGAAAACTGTGTAAACCTAGGCCACCAAATAGAAAGTCAGGCTGCGACAT CTAAACTTAGGCCACCAAGTAGAAAGCTAGGCCATCAAGTAAAAACCTAG ACCACTATGCCAAAATAGATGCCTTCTAAAAGTTTCAGGGAAAAAATGTT TTTCAACAAAAATTTTTAAAATCGTGGCCGAGTGGACTTTAATAAAATTT ACTTTTTCAGCCACGTGGCAGAGGGATATCGGAGCATCGTTTGAATTTTC TAATTTCTGAAAGAAAACCGGAACACATTGCAAAAATACGAAAAATATAA CTGAAGCTGACATATGAAATGAGTTCTATGCTCCCCGCCGCCTATTCTTC TCATTTTTCTGCTTATTTTTGTCGTTGGGGGGATGCTGGTATCATATTCT TCGTCCCCTCTTCTTTCATTGCCAGTCTATTCAGTATTATAATTAGCGTG TATTCCCTATTGGATTCTGCTCCCCGTCGTTTTTTTTTCTATGCGAAAAA AATAGAAAATACGAGGTGAACGGGAATTTTTATGAAAACGAACGAAGAAT TTGAGTTTTCTAGGCCACCAAATTGAAACATAGGCCAGCAAACGGATCTC TAGTAAAAACCTAAACCACAATACGAAAAACTAGGCCACCAACGAAAAAT GGGAGATTCCGCTTGTGTGTTCAAGCATTTTGTAAAATTCTAGATTGTTT TAAAAACTTAATTTTTCCAGTACAAAAATCGATTTAAAAACAATAAATAT GTCAAACTCGTGACGTTTGTCAATAGAGCGCGTTTGCATGTCAAACAAAA CATATTCGGTGTAGATTTACGGGGACACTTTACAAAACAAAAAACCTTCA CAAGGCTCCAAATAAGAGCTAGAAAATGGAACAAATTTCCGTTTTTTTTT TGTTGGTGAGTGTCTTGTGAGGAGGGGACCGCCCGTGTCTCTTCCAAAAA CATTATTAAATTAGTGTGACGTCATCACATTGAAAAACAACAAATATAGT TCGAGTTTTGAAGAAAAATTTCGGAATTTTTCTGGTGAAAAAATTTCAAA AATTTCAATTTTTTTTTAAATCTTAAAAAATTTTTTTATATATTTTTAAA TTCAATGTTTGATCTGAAAACCAAATTTTCACACAAAAAATCTGGTTTTT GACGTCTAAATTTGCTTTTTTTCACCCAATTACGAGGTTCTCCGTGGGAA GGTGTGTCTAGACACTTGAACTTTTGCTTTTTTATTTTTTTTCTAATTGA AAATGATTAAGCTAGATATATTTTCTCTCTTTTCTTAATCAGAATTGTTT TTGAAGATTTTAAATTTTTACACTCCCGTGCAGCAAATGCGCTCCGATGA GAAGTATGGAAAATTACAACTGGAGATTTTCAAAATGTTCAATTAAATTT TGCGTTTTTCTTTTAAAGGTTCAAGAGTCTAGAAAACTACGAAAAGGTGC TGTGACCTTATCGATGACGTCATCACAATTCTTGAAAAACTGGGAAAATG AGACGATGTGGAAAGAGGGGATTATTTATGCTTAAATAAACTTTTTGCAC TAATTAATTCATATAGTTGTAGTGCTTCTTTATATTTTAAGAGAAATTGC AAATTTTGCACCCAAAAAAGTAGACGGCCGAGTTATGGGAAAACTCTTCC ACGGACACAAGACGTGGAAAACTAAAAGTTTCCGTTGTTTTTTATACGCC CGCATGGCACATCCCCGCCCCAACAAAATTTTCAGGTTTTCAGGGTGAAA ACATTTTTTCAGCTGCTGGGCGGCTTCTCGTGCAGCTGGAAATGTATTTC CAGACGGGTTGGAACCGGGATTTGTCATTCAATTGTTGCAATTACGCTCT ACCGCTAAACCTCGTTTGGACTCCACGTGGACAACACGGTGCCTTATTGT AAATTTCTCTTCCATCTCCATAATTTCAGAACAAACCGTCGCTTTTATTC TCCATAATATTATAATTTTATTTAAAAAAATCTGGAAACATTTATCGATT TTTGTGAAAATCTATGTGAGATTATTGACAGAAATACAAGAAAATCGATG CAAACATGCTCTATTGCTAAATAGTTCGTGTACTCTACGTCGACGACACG ATTTCAAGAGTTTTTCGTTTTTTGAACAAATCATCTGTTATTATTGCAAA ATTCGGTACATTACTCAAAAAAAAACAATAATTGATAAACATGTAGAAAC ATACATGCAAACACGCTCCGATGCAAATTATTGATTCTCCAACTTTTATT GTTAAGTTATCTTGAAAAAAAAACTGATAAAACGAGAAGTCCTTGGTGGT ATCGGTCGCCTAGAAACAGATGAAAGAATGGAAAAACAAGTATTACGGGC GGCTCCGTTTCGTATTATGGGGGGTGGGCCGCAGATGATCCTTTAGAATA AGAAAAATGTCTAGTATTTTGTGATACTTGTGAAATATAACCCTAAACTT AAAAAATAAATTAGGGCTCAAAAATGGTATTTTTCTAATGTAAGCCTACA AGCACAAAGGTATTCAATTTTTTTTCAATAGCTAAAAAATTAATTTTTAA ATTGTGATATCATAATACTTACACAAGTACCAATTTTGTTTTAAACGATA GAATATTCCATAACTTTTGGGTAGGATTTTCTGCACTCGAAAAAAACGGG ATTTTCAACAAAAATAGTGGACTTTTTAAAAACAACGAAAAAGTTTTGCT TGGGACCAAGTCTAGCAGATTACAAAAACTGATTCTTCCAGTCAAAGATT TTATATATCACTTAACAATTGTTTTGCCTACCTAGCAAATTCCGAAGTCA GAAAAGTTGAATTTCCCTCCAACAATTTTTTTTCATAGTCAGCCAATTTG CATTTCCCGCGAAAAAATTTACGGATTCACCACAATGGGTCTCCCACCAA TAAAATTAATTATTCATTTATCTTCTTAAAAGGTCACACGAGATGCCAGC GACACAGGGCAAGTGCGACCACTATCCCGAAAAAGACACCGACAGAACCT AACGAAGGCTTCCAAAAATAGCATAGAAATACAAGAGACACAGAATATCC CATGATGTTCTGTCACTTTCAACATCATTCTGCCTTTTTTGTTCCCTTGT GTATGGTGACTATAATTTGATTGTTCTGAATAATCTGATGTCTACTTGTG TTGTGGACCACTATTGATTTTTGCTGCTTTGGTTAATTTGAGGTAATACT TTAACAAATTTGTTTTAAATATCATAGTCATTTTACAAATTTCAACAGTT TTCCTATTAATCCGCTAAACCGCAACTAAAAATGAAAAATTAAAACTTTT CTCAAAACTGTATGGGAAAGTTCAGTGACGGTTATGATAATTACAACATC GTTAATGCAAATTTAACAGGTTTCGCAAAATTATATTCAAAAAATTTTTT AAATCGTTTATTACGGTAACAAGAAATGTTGAGAATGCGTATTACACAAC ATATTTGACGGGCAAAATATCTCAGAGCGAAAACTACAGTAACTCTTTGA ATGAATTCTGTAGCGTTTGTATCGATTTACGGGCTCGATTTTCGAAATTA ATTTATATTTGTAAAGTGAAAGCTATATTCAATTTTTCTTCGATTATTTG TTGTTTTGTTTTATTGTGTTTTTGTTTTATTTTAATATATTTGTCACTTT TCAAATAGAAATTAATATCGAAAATCGAGCCCGTAAATGGACACAAACGC TACAGTAGTCATTCAAAGAGTTACTGTAGTTTTCGCTCTGAGATATTTTG CCCGTCAAATATGTTGTGCAATACGCATTCTCAACATTTCTTGTTACCGT GATAAACGATTTAAAATTTTTTTTAAAACTATTTTTTTAAGTAGAACAAA ATTCAGAAAACAACTCGATAAAAATGTCCTAGTCATCCGATTAAAATAAT TTTTTGAAATAAATAATATGAAAATTAAATTTTAAATATTAAAAATGTTA TTGTTGCTTTAAAAAACGTTATTGGACTTTTCAAGGCGGCAAAAAAATGA AAATAAAAATCGATTATTTTTTGAATTGTTGACTTTTCGGTTTTTAAATG TTGTTGAAAAGAAACGAATTGTATATACGAATTTCAATTAAAAAGTTTAA AATGTTTTTTAAAATGTTTTATTTTTTTCAGATAGATCAACTGAACTTCA TAACTTTAAAAAGCCAGTCTGGGATGTATCTATACCACTCTATCAGACTA CTCTTAGCACTAATCACAATGTACGACCCCGTGAGAGATTGTTGTCTGTA CTGGATACTACACGAGTGGTAGAATATAAAGAAGTGTGGTGACAAGTTTG GGATCTGAGTCCAGTAGAAAAAAATCATTCTACCGAAACTCGAAACTATG AGCGACTGGTCAAAACTATGCATTTGACGACGTCTACCTGTTTTAAGTTA TTGGTGGTGAGTGTGCCTTTGAAGAAGTCGCTCGAGCCTCGACCTTCTCC GACTGGCTTGAACTGAAAGATCCTCGGGAATCATTTTTAGAATTTAGAGG TGGAGTACCGTCTGTGGATTTTTTTTTGCTCGAAACGATAGAATACAGCC CCAATATTCCGAACAGGGGTGCGCGGCAATTGCCGTGTGGCAATAGAATT TTCGGCAATTTCGGCAATTGCGGCAACTTAGGCAATTGCCAAAATTGCCG AAAATTCACAAAACCGGCAATTGCCGAAATTGCCGATTGCCGGAAATCCG AATTGGAAATATAAATTTGATTTTTTTTTGTAGTTTTAAGAGCTTGAACA TGCATTTTACTAAACAATTTTCTCTTTTTAAGCTCAAAATGGTTTAATCC TTTGAAGATTGACCGTTTTCTTTTAGAAAATTACTGACAGAATATTAAAA AACAATGTGACATTTTTCAATTTTCGATATACATTTAGGTTTGAAAATTG CCGAAAATGCCCTGCAATCGGAATTTCGGCGATTTCGGCAATTGCCGAAA TTGCCGATTGCCGGAAATTTTGAAAACCGGCAATTGCCGAAATTGCCGCG CACCCCTGATACCGAATATAACTGTAAAAAATGTATTAATTTTTTTGTTG ATTTTTTGAAAATTTTCATAAAAGTAAAGAAAGGGCCAAATTATGTTTGA ACTACTAGTAGTCTGTGACTTCATTTTTGGCATTTTTCCGTTTTTCAGCA ATAATGATTGGTTTTCTTTGTTCTCTAATTTTAAACATATTTCTTCACAA ATGTCTCAAAAATTAACAACTTCAGTTTAAAGTAATAAAACAAAAAAAAA AGAAAAATAAAGAAAAACCAGTCAGTTTTTTCAAAAATAATTCAAAAATA ATTCGGTCCTTATTTTTTTTTTTTTGCAAAAAAAAACAAAACAAACTCCC CTATAAAAATTTTCCAAAAAAAAATTGGAAGGTTTTTTTTATTTCAGCCT ATTTTTGGAAGTTGTCGAACTCGATCAAAACATTTTTTCATTGGTTTAAG TTTTATTATGCTTGAAATATTCAAATTCCAACATACCAGGCATTGAAAAA TCAGTTTTCGTCGCTTTTTGACTCGAAATAAAAAAAACCAAAAATTTTTG AAAAGTTTTATTATGATAGAGTCATTCAATTATATTCCCAGTACTTTTAA ATAATCAAACAATTTTTTAGAATGGCTAGTTTCAAAATCGGCGGCTTTGT CGTTACATATGAAAACATGCACAACAATATGAAAAATAGGTATGTCTTCA AAAATATTAAAAACAATATTTTTTTAATTTTACAGATGTTAGCAGTTCGA CGAAGCAATGCAGGAACTACAGTTATACAATCAAATTCACGCTTTTTATA TATTAATTTTTAAAATCATAAAAATTACAATTTTCATCAACGTTGATCAG CTAGACGAATGCATTAAGAAAAGGGAAAACATAGGGCTTCCCAAAACGTC TGCCTCGCCCGCCTTGTGGCGACCTGCGCCTGCCTCGTGCAGGCCGCGTC TCCAGTCAGTGCAGTGCAGAAATTTTTATTTCAAAATTGTACAAAAACAT GGAAAAATAGAGAAGGATAATTTTTTAGGCCTCGGAAATCAATTTTAAGT CCTCTAGCTACAAAATGAACCATTTTAGAGGAGTTTCAAAATTGTGAATT TTTACAAAAATTACCCAATTTTGCCACTTTTTAATGGTTTTTGATGGGTT AAACCTAGATCTTCTGGATAATTCCGCATATATGAATTACCGTATTTCCT ATATTAGTTTTGCATGCAAGACTAATTTTCAATTGGTCTGTAGGGGTGCA AGACTAATAGAGACTGCAAGACTATTAGAGGCTGCAAGACTAATTTTCGA ATGCTATAAAACTCCGAAACGTGACCAATTTTTGATTGTAAACTCAACTT GATATCGTTTAAACAACAAAAAATACATCCTTTTCCAATATTTAATCAAT TATTTGAACGCTTTTAATCAAAAACTCGAGTTCAATTTGCCCAGAAATGG GCCAATTTATTAACGTTGCAGCATCTATGCAAGATATTGCTGGACTGGAA AAAAGTCGGGTGCAAGACTTTTAGAGACTGCAATACTAATAGAGGCTGCA AGACTAATTTTCGATTTGCCCGTAGGGGTGCAAGGCTAATAGGGATGCAA GACTATTAGAGGAAATACGGTACCTGTTTTTGACAAAATTAGACAACTTT TTATTTTTGCTCAATTTTTTTTCAGCCATCTAATTACTGTCCTTTTTTTT TGGACAATAAAAATAAATTTTCTAAAAGCGTTTGAAACCACTATATTTTG CAAAAGGACAATTTTTTAGGGATTGGAGATCAATTTTATGTCCTCTAGCT ACAAAATAAACAATTTTAGAGGAGTGTCAAAATTGTGAATTTTTACAAAA ATTGCCCAATTTCGCCACTTTTTATTTTGGTGGGTTATACCTAGATTTTT TAAATTCAGCATATATGAATTACCCGTTTTCAACAAAATTAGACAACTTT TGATTTTTGCCCAATTTTTTTTTCAGCCATCTAATGACTGTTCTTTTTTT GGGCAAAAAAAATAAATTTTTCTGCAAACGTACAAAACCATTAGAAATTG AAAAAAGGCAATTTTTTAGGGTTCCGATATCAATTTTGAGTCCTCTAACT TCAAAAATGACTATTTTAGAAGAGTTTCAAAATTGTGATTTTTCTGCCAT AAATTGCCCATTTTTGCCACTTTTAATGGTTTTTGGTGGGGTATACCTAG ATTTTCTGAATTCTGCATATATGAATTACCGTTTTCGACAAATTTAGACA ACTTTTTATTTAAAAAATTAAAAAGGATTAAAGGACGATCCGTTCTTCAA GTGCTATGCACTGCGGATCTGGGATTCAGGTACACTGCCTGGTGGTGATC CCTCTGGGCTGTAATTTAAGCCACGTCCTAGCCGAGGACTGTGGCCGATA ATCCAGTCGTGGATTGCTCCACTTCCCAATAGAGGCAGGGTGAACCTAGG GGGTGAGGCCGGACTTTTATCTCGTGACCTCCAGACTGCTAGCGGCCACC ACTACCGACTGAGCTATCTGCCCCCCTTGGGGAAAAAAATAATTTTTTTT TTTTTTGGGCAAAAAAATAATTTTTTGGAAATTGTACAAACCAAATATTA TATATTAAAAAATATTATCCAAATATTCCAAATATTCCAAATATTCCAAA TATTCCAAATTCCAAATATTCCAAATATTCCAAATTTATTCCAAATATTA TGAAAAAGGCCATTTTGTTAGGGCTGGGAAGTTTGAATTTTTACAAATAT TGCCCAATTTTGCCGCTTTTTAATGGTTTTTGATGGGTTAAACCTAGATT TTCTGAATTCTGCATGTATAACTTACTTGTTTTCAACTAATTCAGACAAC TTTTTATTGTTTTTTTTTCAAATTTTTTCAGCCAATTAATGACTGTCCTT TTTTGGGCAATTTTTTTTTTGAAACAAAAAAAAATTAAATTAAATTGCCC AATTTTGCCACTTTTTAATAGTTTTTGATGGGTCCCGGAAACCTAGGAAA CCTAGTCCCGGAAAATCGAAAAATCGAAAAAAAATTTTTTGAAAATTTAC CAATGAAAAAAAAAAGACTCAATTTTCTTCCAAAATAAAAAAGTGGGCAA AATTTTAAATATTTTTCGAAAAAAAAACATAACTTTTCAAAAAATTTTTC GATTTTCCAACAAAAAAGTGAAATAAGAAGACATGCAGGTTACTGTAGCT GATAAAGCTTCAAGCGTACCAGGACCCGAAAACCGCCGCCCGCGTAAATC GACATATTTAATGTACCATCAATTTGATCCTCCTCTTCCTCCTTCTTTCA ATGACACCACACAACTTCCTGTTATGAAGGTCTCAATTCCCCTTCATAAC ATTCTTTGTAATTAATGCACCCTAAACAAACTGTGCAAACACACTTAGAC ACCCCCCTCCTACACGGTCTTTGGAGTTCCCCCGCTCAACTCTAATGGAC CTGGTAATCCCTTGCGCGGTGGGATTTTTCGGGTCTCGCCGCGATTTTTA TCCGAATTCCGGAATACCGGAAATGGCGTGGAAATCGATATTGCAACAAA GAAAACTGTTTTATTTTCAAAAATCCGCTCACTTTTTTTAAAAGTGATCT TTCAATCATTTTTAAAGTTTTTTTTTTTGAAAGCACGCGTTTCTGGCTTC CCACATATTTTGGAATGTAAGAGATTGCCGAGTTAGGCCATTTGGACTCG GCCACGGCCGGGGTCGATTCACGTAGCGGCTCGGTTTCTGTAGAAAACTA AATGTATTTGTCCGTATGGAGTACACAAGCTTTTCCAGGCGTTATCCGGC AGGCGATAGAAGCCGCGACGCAACACGCAACGCGCCGTAAGTCTACCCCG GCCGTGGCTGAGTTATGATGGCCTAACTCGGCAAACTCTTGCATTTGAAA ATATGAGCGAAGCCAGAAGCAGGTGAACATGGATTTCTGGCTTCCCTCAT AAATTGAAAAGGGAGAGTTTACCGAACTAGGCCATTTTGGCTCGGCCATA TCTGGGGCAGATTTACGGCGCGTTGCGTGTCGCGTCGCGGCTCGTTTTTA GTTGTAAAACTGAATGTATTTGTCCGTGTGGAGCACACGACTTCCCCACG CGTTGTCCGCTAGGCAATTGTTAATGGAGCGCGAAAAATTCAATGAGGAA GGCCAGAACCCCGTGTGTGATTTTTGCAACTACAGCCCAAAATTTGAACG GGATTAATACAAATTTAATTTGAAATTTGGATTTCGCAATTCAAAATTTG CGAAATTAAAATTTCGAAAACCCGAATCTCATCGAAATTAAATTCCAAAG TTTTCATTCAAATTTCAATGAGGTCTCTATTGAGCCGAATTCCCGCGCAC GGGAGGTAGTGGACCCCTTTTGTATGTTTAGGGGTACAAAGACCCCCTAC CACCCCTTGTATATGCACAATAGAGAACACTCAAGACCCGCCCACCCTAG GCCCCTCATCCAAAACATATCCGAATATACCCTCTACTGTACTTTATTTA CTTGCTCCGTTTACCCGGGTACCAGGGTACTCCCTAAACTAACTGAATTT CCAAGGTGGTGGCCTAGAAAAAGCTCTTCCACTGGTTTTTTTGTGGAAAG AAATGATGAAGGTTCTTGTTGTTTTATTGCTTATGGTAGGTTTTTTTTGC CACGTGTCCGGAATTTTTAAAACTATTTTTCTATTTTTTAAAGGCCCAAA ACTTTGTTTTTTTTAATGTTATCGTTTTTTCGTGAAAAAAATTATTTCAG AAAACGGGGGTTTTAGGTTTAGGCTAAAGCGTAGGCTTAGGTTTAGGCCT AGGCTTAGGCTTAGGCTAAGGCTTAGGCTTAGGCGTAGGCTTAGGCATAG GCGTAGGCTTTAGGTTTAGGCTAAAGCGTAGGCTTAGGTTTAGGCCTAGG CTTAGGCTTAGGCTAAGGCTTAGGCTTAGGCGTAGGCTTAGGCGTAGGCG TAGGCTTAGGCCTAGGTGTAGACTTCGGCTCAAACATAAGCTCAGGGGCA AAAAAAGGAGAAACTCCCACAAATTCCTAAAAATCCTGAAAATTTTTTTA AATCTTAAAATAGTCAATTTTCAGTGGAAATCACAGTGAGCATTTTGAAA ATCCAATAATTTTCAGGTAAATTCGACATTTTCGTTCGGATTGGACAATG AAATAATCGGTGAACCAAAGTTACAATGCAATCCGGAAAGTATTACATTC TCCTTCAACACACGGAATCCGTTTATGTTAGTCTTGGGGTCTCGACACGA ATTTTTCCCGCAAAATTAGTTTTCCACGCGTGAGTACACCGCAAGTAGAG CGCTTATCAATAAATTATAAATTATCAATAGAGCGCACTTGCCCCCGGTG AATTTCAAAATTTTCAGAGGAAACGTATATATTCGTGGCTTCTACCGAAC ACCCGGCTGTCGTCGGCAATTCCTCGCACCGAATCAGGCTGGCGGCTCAT TTACGGTACGGCTCGGCGATTGCGGGATGCGGCGGTCCCGACAAATCAGT GGACATTCGCCACGTGGCGTCAATCAGCACATCACTTTTGTTGCGAACTT TCATCCGAATCTCGCGACGAAAGAGGAACGATCATTCAATATTCGATGCT TTTATGCGCACAGTGAATCTGTTGTCAAAGCTGATCTGGATGTCAGGTAG GGATGCAAATCGATAAATTCCCCGAAAATCGATACATTTTCCAAAAATCA ATAAATACCCAAAAAATCAAACAATTCCCAGGAAACTGGAAGAAAATTCT CAGAAAATCAATAAATGTATTTGTTTTGCAGCTCAATGCCGGAGGAATCG TTCGAACAGGGTGTGACAATCGTGCCCCAATGCACATATTCCCTTCGTGA AGGGACATTTGAGGGCCCAAAAGTGTCGAATACACGTGTCGGAATGACAA TTGTTCATCGATGGGACTGTGATACATCGGGGAACTATGGAATACTGCTA CGTGGATGCACCATACTCGATTCACGTGGTGTTGAATCTTTTCCATTGCT TGATGAGAATGGGTAAGAGTAGGGAAGTGTCGGCCGCTAGAAAAGAAAAA TATATCACTAGAGCACGTTTTCTAAGCATTTTTCTCAATAGAGCGCGCTT GCTCAATTCCCTAAAATAAATTATGGTGCATCGAAACGTGTTTACGTACT GATAGAGCTGTAGTACTCGAGGAAGCTGAAAAAAATAATGAAGAAAGTGA AAAAAATCAAAAGTGTGAACACAGCAGCCTTGTCAGATAAATTTCAAAAA TCTGTGCATTTGGTCGTAAGTTATGGCGCATCAAAAGTTTTTTGAAATTC TCAATAGAGCACATTTCAAAAAAGAGCGATTTTCGCAAAGCCCCTTTCTT CGTTGTTTGATTTAAAAACAATGCAATTTCGTTTATTTCGCAAATTTTTG AAAAATGAGTTAAATTTGCAACAGAGCGCGATTGCACACACACACACACA CACATCAAACGTCAGAGACCCCACTGATTTTGGAGATTAAATTACGGTAG ATAGAGAATCACAAGGAAAACATCACGAACTTTGTTCCGTCAATTCCCGT GGTGCTTGTTATCATCAGAATGCAAAATTTGAAAGTCTGAAATTAAGCCG TTTCCGCTAAAACGTAGCGAATCTCATTCCACCGAGTCTATTTTCGTGAG GTCTCCAATTTTTCAAGTCTCTGCTCGTTATGGTGCATCGAAGGGTAATT CAAAATTTCAAATAATTTTTAGACACTTTTCGACCAGTTTCAAATTTTTT TTATGGTGCATCGAAAGAATTTTGCGTAATTTTCAATAGAGCGCGATTAC TACTCACCTCTAAATTTCTGCAAATTCTTTTTCCAGATGCTCAGTGTCCC GTGACTTCCCACAAGTGGTATATCTCCCATCACTGACGTCAGCCTACATG GCAATCGAAGCCATCTCATTTCCTGACCAACCATCGATTTCTTTCTCGTG TCAAATTAAGTTGTGTGATAAGGGAAGTGATGAGTGTCGGGGTATGAGTC CCCCCGCGTGTACCCCATTGACACAGGTCCCCATCACGGGACAAGTACCA ATGCCATTTGATAATACAATTGGAAATACGTTTGGTGAGTTATTTACGGC CGAGAAAACCTGCAAAAATAAAAGTTCAGCCACCGAACTTTTTGACATTT TTGCGCAACTGTATGCCGCACAAAACTTTACGTCAGAAGTGGGCGTGTCC GCCTGCAGGCCCCGATGTTTTAGATGTAAAAAATTAGATGTTTTAGATGT AAAAAATTGAAATTTGAATACAAAAAAAAATTCGGCCACCGATTTTTTTT GCTTTCACGTTTTGTCAATGCATTTCCAATTTTTTTCGTGAAACGTTTTT GTCAGAATTGGGCGTGTCTTGTAAAGTCCCGCCCAATTTATGGGCGTGGC TTGTTTCGACCAAAAATACTGTTTTTTTAACTCACAAAAACAGAGCTATA AACTTTTTGAAAAAAACATCCCTGTCCTCTCCTTTCTCCATTCTAAAATT TGAATTAGATGGCCGTGAAAAACCCCGGCCGCGGTCTTCAATTACAGTGA AGAATTTGGCGGCAGAGCGCGTTTTCACAGTCTTTTTTTGTCGTCACTGA GCAAACTTCAACTGCTTCCAGCCAGAAATTTACAAGCAAATTCAAATTTT CAGACGGAATCCCACTGGAGCCGTGGATGAAAGAGCCCTCTCCTCCCACT GATGACGTGGCAAACATCACCTCAGAAGGCGAGCCAATGCCTCGGCTCAT CACCGAAGAGGAACAATATCAAATCGAGTCGAACCATGTTGAGGCGCGAG AAAAACGATTTGCTCATCGATTATTCAATATCACATCGGAAGATCTCTAT GTTGAGCCAACCGTCGAGCCAATGGAAGTAGAGATGCCTGGAGCACCGAG AGAAACTGCTCGGAGGGTGTCTGAGCCATGTGTCTCGGTTGAAACTTTCT ATATTTCGGCGCTTGCTGTACTTTTCGTTTTTGTCGTTTCGATTGGGATG GTCTGTTTCTTCGGAAGTCATATGCTTAAAAAGTTGGTTTTTTATTGATT TTCCTCCCACAGGGTTCTGACCTTCCTCATTGATTTTTTTGCGCTCCATT GACAATCGCTTGTCGGAAAACGCATGGGAAAGTCGTGTACACGGACAAAT ACATTTGGTTTTACAACTAAAATCGAGCCGCGCCGCAACACGCAACGCGC CGTAAACCTACCCCAGCTATGGCCGAGTCAAAATGGCCTAGTTCGGCAAG CTCTTTCATTTCAAAATATGAGGGAAGCCAGAAATCCATTTCCCCAAATT GCAAGATATTTGTGGCGTGGCCGAAGTTTTCTAGTTTCTCGGCCACGTTG TCAAAATTATTTTAAAAAATCGCTGGAAACACTAAATTTAGATATCTCCT GTAGATTGTGATTCGCGGAAAAATTCCATGAATCTCGTTCTCCCAGTTTT TTTTTTGTAAATTCAACAAATCAAATGAGCGCCAAAACCTCACAAATCTC ATACTCCCAAAATTTGCGTTCCTCTTTTTCTTGAGGCCTCCTCTTTTCAC TGTAAAATTTAAAAAACTCGTAACTTTTTCTTCAGAGCGCGATTGTACGC ACAGAAAGTCTTTAAAGTCTGAAAATATTTTAAAGTTCCCCAAAATCCCA CAAGTCTCATTCCACCGAGAGGTCATTTTCCGTGAGGTCTCTTTCTTGGG TCTCGACGCGAAAATACTGTAATTTTATTAATTTTTTCAGAACTCAAGAC TGTGAAATGCCGATTCCAGTCCCAGAAGGATATTATCTAAGCAAACACTG AAACTCTTGTTTAAAAGTATTCGTTTCCCATCCACGTGCCATAATTCTTG CATTTTCTTTTTTTTTCCCTATTTTTATTCAATTTATTTACAATTTGTTC AATAAATAATCAATAAATAATAATTAAAAATAACATTAAAAGTCACATTT TCCGAAGGAACCACGCGTGGAATGTAACGGTGCCGTTGTCGAATGGTTCC GGCTGAAAATTGATTAGTTATCATTGGAGCGCAATTGCATTTTTCTCGAA AAATCGATGTTTTCGTGTGATGCAGAATTATCGATTTTTTTTAACTTGGT GGCCGAGAAAATGGAAAACTCAGTCATCGACTTTTATTTACCTGGAACGA AAAAATTTAAAGTATGATCACGCGCTAAAGCCTCAATTATGCAAAATGCT TTAAAAACGGGTTTTGGAATTTTCTAGACCACTGGTGACGTCACTCCTTT TCCATTTATTATTCTAACTGTTTTCTAGGCCACTGATGTCGATATTTTTC CACTGCTGGGTTTCTAGATCGCCTGCGACGTCATTTCTCTTCCATACCCT GCTCTAGCGGGTTTCTAGGCCACTGGAGAAATTATTTTTCTTCCAAAAAA AAATCTAGGCCATTAATGACGTCATCATTTTTTCTTTTCTTTAGGATTAC CTCAGGTTCCTCATATTTCAGATCCATCCTCGCCAATCGTTCATTCTCAT GAACTTTTTCCACTTTTTCACTGCTCGTACTCTTCTCATCTACTGTATCC GCCACCACAACGTCCGGAGCAACAACTTGCTCATCAATATGCTGATATTC GGGCTCCTGGCGGTCCCAACGTGGTGTCTCTGGTGCAGTTTCATATTGAT TTTGCTGCTTCTCCAGGAGGTTCTGTATTGAACTGATCGCTGAGGAGGAT CCAACGATCGGAGGCATCGGAGGCGGCAGAGGAGCCATAGATGGAGTCTG AGAAGCCATCATTTGGAGTTGGGGGTAATTCCTTTGTTGGGACATCTGTG GGGACATTTGTGGGGACATTTGAGGGGACGGGGACATTTGGAATACCATC GGAGGCATTGGAGGTGGTGGGGGTGCCGGAGCCATTCGTATCATTGGAGC CATCACGTAAGATGGTGGAGATGGTGGGAGACTGGAATTTTTTTTTTGAA TTTTTTTTCATAACACGGGCTTCTGGCCTTCCTCATTGCACTTTTCGCGC TCCGATGATAATCGCCTGCCGGACGACGCGTGGAAAAGTGGTGTACTCCC CACGGACAAATACATTTAGTTTTCAACTGAAAACCGAGCCGCGACGCGAC ACGCTACGCTCCGTAAATGGCCTAATTTCTTTTTTTTAATCTTGAGTTAA AGTTTAATTTTAATTATTTCTACAGAATTGAATGGCTGGGAATGTGCCAC GTGGCCGAGAATTCTCCTGCGTGGCCTAGAAAATTCAAAAAAATATTTTT TGGTGGTTTTGATTACAAAATAAAGGATTTATACGGATAAAAACCTATTT TAAAAGCCGTGAAAAAAATCATATCAACCACTGCCTAAAAGATTGAAATT TTTATGATGGCCGAGAATTCTCAAGTGTGGCCTAGGAAAAATCAAGGCTT TTGAAAATTTGCTCATTTCGAAAATTAAAAAAAACAACTCAATTGATAGT AAATTTTAAAATTAAAAATTATTTTTCTGGTTTTTTTTTCTCAATTTTTG CAAAATCAAAATTATAATCAATTTTTAATCCAGAATTCGTCAAGTGGCCT AGAATTCTACTGCGTGGCCTAGAAAATTCCACCAAAATTTAAATTTTCCA AATTGTAAAAATGCTCCAAAAAGTTGAATGGTGGCCGAGGTTTTTCGTTT TTCACTTTTCACAGCTACGGAAAAAAACTCGGCCACCAATAGTTTTTCCT AGGCCATGTTTCAAATGCCCTATTTCTATGTTAATTACAGTATTTTCTAG ACAAGATTTTAAAAAAACTCACGAATAGCACATGGAGCTCTGACACTTGC TCCCACCAATACAAAATTCCGAATTTTTTACAAAAAACTGCAAAACTATA AGAATTTGTGGTAGAAATTGGGGCATTTACGTAATAATAATAATAGAAAA ATGTCCGCAAATTTTTTTTCATAAATTTCATAGGGAGGAGGTAAGCTTCA GCTAGAAGCCATTCAATTTTATTGGGGCGCCGAAAATCTTCGGAACACTT TTACAATTTATACAGTAGTGTACAACTTTTACAACTTAATAATATCTTCA ATACTTCCAGAATATTCTTCTTTTTCCTCCTCAATTGCCACGTCATCATC TTGTAATCTGGTCCATTTTGCTGGCGAGGCGTCGGCAAACAGGCAGAATA TAGTATTTACGAAGAGAAGTAAGCCCGCATGCGCCAGGAAACAATTACGC CAGTCTGTGAATCTGAAAAAAATAATCTTGTCTTTTAGGGGACCTACGCC TGCCTGCCTACGTCTGCCTTGCAGGGGACCTTTGCCTACCTACTTGACTA CCTTCAAGTGAGACCTATGCTGGTTTGCCTGCATTTTTGTCAGTGCCTTC TAGGCCTATGCCTACCTTACAAACTATGTAGGTCAACTGCCTGCTTTCAA GGTGGCCTAGGTCAGCCTACATGCTATCTACGTCTACCCCAATGTACCCT GTGCCTATCTACCTGCTTTTAATGCTATCTGCCTTTTCGATAGTCTTTTA GGGAATCTACGCCGGTCCAGCTCACATAGGTTATCTATGCCTATGCCTTC CTGCCTGCCTCCAAAGTGACCTACGCTTACCGTGTTTTTTTTTCTAGACC GTATATACCTACATGCCTGCCTTTAAGTTTACCTATGCCTGCCTGCATTC CTCATGCCTGCGTGCCTACATGAATACCCTAAAAACTCACGTATCATCAG TAACAATCATATTGACGAAAAACGGTTCGATGAATATCGTGCAAGCCCAG ATGTTCATGATCTGGAAGAGAAATCGTTGGCCTAAAAATTTTCTCGGCCA CCCCCTTACCTGCTGCATTGCGAAATAGGCGTACTGCTGGGAGTGCAACG TGGCACACTTGTTGAATCCCGCCGTATTGCACCCCATCACACTTTCGGCG CAAATCTGGAATGATGGAAGAGAATAGGAAAACTAGGCCATGGATGTATG TGCGCTATGTTGATAATCGGTTATTTTCAACGTGGATTATCAATTGAGCG CACTTGTCCCACTGGAAGAGTTTTCCTATCTAGGCCACCACCACCACCCA CTCACCATTATAATAATAGCCAGCAAGTGTTTTTCCTGTGGAATAAATGC TAGAACGATGAAAAAAACGGCGGCCACGGCCAGAGCGATTGTGTTGAAAA TTTTAGTTTTCAGAGTTTCTGAGATGAATCTGGAATATTGATTTTTGGTG GCCGTAGAGAGGAAAAACTCGGCCACTGATTTTTTTCACAATTATAAAAT TATTTTTCCAGGAAAAACCCCCGAAAAACTCACTTAATATAATCACTAAT AATTCCCGACGATAATTTCGTAAAAAATTGAAAAATAATGGGTAAGGCGG CCAAAAAACCGGACGAAAGTACGTCATAGTTCAAATAATTTTTCATATAT TGCGGATTGAATTGGGATACCAATTGAACTGTTATCAAATCTCCAAACGA TGCGATCCAACAAGCCCACAGGCTTAAACTTGTCAGAATATGACGGAATG GAAGATTTTTTGGCCGGGATACCTGCAAAACGAAAAAGTAACGGGCTTCG AATTTCCCCCCCCATGTTTTCAAATGGAAGAGGTGGCCGTGAATAAAGCT AACCTCGACCGGGGGTCGCGACTCGCGACAAACGGGAAAACTCAAAGAAA TTTCGTACTGTCGCTACTTTTTTTGAGTTTTCCTGTTTGTCGCAGGTCGC GACCCCCGGTCGAGGTTCGCTTTTTTCACGGCCACCTCTTCCATTTGAAA ACATGGGGGAAATTCGAAGCCCGTGAAAAGTTAGGCCATGCAATGCGATG TGGTGGCCGAGGTTTTGAAAACTCGGTTACTCTCATGTAAAAAATCTTGA AGTTGAAGCAAATTTGCGTACATGAAACCCATTTACCTTGCTAGCAGTTT TAGAAAAATTTGGGATTTTCTCATACTAATGAGGGAACGTCTTAATTGTC GACAAATTGCGTACCCCGAGGAACCCACTAATTCAGTCCTAGGTTTAGGC ATAGGCTAAGGCATAGGCTTAGGCGTAGGCCTAGGCTTAGGCTTAGGCTT ACACGTGGTGTCAGAGTGCCTCATTTCGGCTTGATCTACGTAGATCTACA AAAAATGCGGGGGAAGAGCCGCAGAGTTTTCTACTGATTTCGCATGGTTA AGAGTGTGCTGACGTCACATTTTTTGGGGCAAAAATTCCCGCATTTTTGG TAGATCAAACCGTAATAGCACAGCCAGGCACCACGTGCGCTTAGGCTTGG GCTTTCCGTAGTCCTTCGGGCGCGTTTTTCTCAAAAATGATACGTGGTAC AATTTCAGGTTTTTTTCCGCTCCAAAATCTAGTTATAATTTGTGTCCGGT AGAGCGCGTTTGCACTCACTTTCTTTCCCGATTTCCCTTCTCGAATCCTC TCCAATTCCTTCTCGCCAACCCAACTGTGCTCACTCGGCGAGCACTTGAA AAATAGGAAAAACAGCGAAAAAGTGACCAACGATACACCGGCGTGCACAT AGTAAACCGACGTCCATCCACCAGACGAAGAGCATAACCATCCCGAAACT GGCATTGTAAATATATTTGAAAGTTGTGTATTTCCGGTTAATAGGCCAAT GAATACTCCGTGCTCGTATGGGGTCGCCCAATTTGCTGTAATTGAGCCAG CGAGGGGAAATGTGGCTGAAAATGCCATTCCTTGACAAATACGGGCGGCC ACAAACCATCCGTAGCCAATGGTACTTGCCAACGGGATAAGGGCTGTTGA AACTGGAAAAATTGAGTGCAATACATCATATTTGACGCGCAATTTTAAAA TTTAAAAAATGGAAACGCGCTCTAATGATGCTTGGTGTACTCCTCTCGGA CAATAAATGTCAATAATTTTTGAAAAATCGATAATTTTTTTTTAATTTCA GAAAAATTCGTGAAATCTGTTTTATTTTGCGCGTAAAATATGATTCTTAA ATACTTAATTCAGTATTTTACGCACGTGGTATCAGAGTGTCTCATTTAGG CTTGATCTACGTAGATCTACAAAAAATGCGGGAGAAGAGACGCAGAGTTC TCAACTGATTTCGTATGGTTAAGAACGTGCTGACGTCACATATTTTCGGG CAAATAATTCCCGCATTTTTTGTAGATCAAACCGTGATGGGACAGCCTGA CACCACGTGCTTACGCGGAATTTTTCACAATTTTTTGTGCTTCATGCACC ATGTTTTTGTTTCGAAAAATCAGATTATTGTTTTGCGCGTCAAATTCAAC GCCCACTGTGCAATACACCATATTTGACGATCAATTTCAAAAATTTTGTA TGCTTTCGATGCATGCTTTTTGGGGTACTGTAGCTTTGAAAATACGCATG CACTGGATCTGACGACAAAATGCACAGTTTTTATAAAATTAGTCTATAGA AATTAGTCAGTTTTCTCGAAACAAATAAAAACTACAGAAAACTCGGCCAC CGATATTTTTTTTTTTCGCGGCCACGATTGACGTCATACCTCCCGAAATA ATTCCGGCGACAATGAAGACAGGTTTATGCGGCAAATGTTGAAAAGAAAT GGAAAATGGAATCGAGGCGGCAAGACTTCCAATAGCCACACACGATTGAA GAAAATTCGACTCTGATTTGGTATAGTTCACTGAAAAAATCAACTATTTT GGCGGCCGCCAATGGAAAAACTCGGCCACCGAATTAAAAAAAAAACCTTT TGAAGTTGAAGTACTATTATCATCTTGCATACAAATTTTTGTAAAATTAT AAGTATTCATATTTGAAAGAATCGAGGTCAAACACAGTGTGGCACATATT AAAATCTGCAAAAAAATCGTGAAAATTCAATTTTCCGGGGGTTTTGAGTT CAAAAAGTACCAGAAATCGGACAGGAACCGGCGAGTTGACCATGGTGCAT CAGAAACCGGAATTTTAAATAAGTAAAAAAATTTATGATGCTCGTGGTGA TAACGAAAAGTGCAGTGATCAATTTAAGGGAAATACTGCTGGGGGATTAA ACGTTGACACTGTCAACTTGATAGTGTTAATTTGATCAATGCTTTGTACT TGTTTTTTGCAGGAAAAATTCTTTGAAAATTGCAAGACTATAGTATAGTC TGAAAATTTGATGAAATCTAAAACTTTAATAAATACCGTTAATTATCATT ATTTTTATGAAATTTTAATATAATCTACTTAAAATTTAATTTTCTAGGCA TCTGTGAGCTTAAATTTTCGATTATCCCTCGCCAAATTAAAGATTTGCAG ACTTTTAAGCTTATAAGCTTATTTCAGTGAGAGAGAGCATTGTGAGAAGA GAAACGCAGACGAGGCTGGCGCGTTTCTCGTGCTCTGACGCGAGTCTCGA TTTGCTTGCGCATTTCTCGTGCGCGCGACGTTCATTTTATTTTTCCGATT TTTTTTCAGTTTTTCTGAACTTTTCTTCTTGAATTTGTGATTTTTTATTT ATTTTTCACGTCTTGTTGCAAAATAACTGATTTTTCACACAAAATATTCG AATTTTCAGGTCGGCAACATGGGATTCTTGTGGAAAACTGCAAAACTCGG AATTAAAGTTGGACTCGTCGCCGGCGCCGTCAAACTGTCAATCGATAACG ATATTTGGTCGACTAACAATGTTAAAGTATTAGTTTTCCCCCGTTTTTCC ACGAAAATTTTCATTTTCAGGGCAGCGAACTGTATCAAAAGCTTAAAAAG TACATTCTTCCCGGCACCGTCGTCTTTCCAGAGCAGGTTTTATCGATTTT TTCTCTGAAAATGCAATTTTTTTCTTATTTTCAGCTCCCAACAGTCGAAG ATGTGCAGCTGAAGGCCGGTGGAAAGTGGAACAGTGCTGTTGACTCGGTA GGCTGCATTTTTGAGAGGAAACACGGAAAAATTGCTGCGAAAGTTGGAAA AAAGTCCTGGAAAATGGAGATTTGGCGCCGAACGTTCAAGAAATTCCATA ATTTCAAAAATCTATCTGAAAAATTGAAAAATATAAATTTTCAGTCATTT TTAGTCAAATTTCAGAGCTAAACGTCGAAAAAAGTGCCTAAAACTAGGAA AAATATGACAAAAAGACACAAATTTTGGAGAAAATTGCTGAAAATAATGC AAAACACTTTTTTTCACAAAAAGCGAAATTCAAAAAAAATTCCACGTCAA AAATTAACCAAATGCAAGTACGCTCCATCGCACTTTTTTCCAATTTCTGA CTCGAAAAGTCTTAAACTTCTGGTTTTGTAGGAAAGATAATGCAAAACGC AATTTTTAGTCCAAAATTCAGAGAAAATTCTGAAATTGTTTTTAAAAAAA ATGCAAGCACACTCCATGGCACTTTTTTTTCAAAATTTCGCGTAGAAAAT TACAGACATTAGCAAAATTCCGACGATTTCGCTGCGAGACCAGAAATATT GTAGGAAATTCAAACATTATCCGAAAATAATGCAAACGCGCTCTATCGCA CTTTTCTCCAAGTTCCCACTCAAAAAGCATAGAAAATACCTGAAATTGCC GTTTTTTTTCACCGGAATTTCAAATTTACGCGATTTCGCTGCGAGACCCA AGCTAGTGCAGTGGAGCGCATTTCCAACAATTTCAAACTCAATTTTTTTC AGGTATTCACCACAATCGAGAACGTCCCATCAAGCGTGAACACAGTGGCC AATCGACTCATCAATAATAAATAAATTCCCCATAAAAATTATCGATTTAT CGATTTTCCCCCCGAATCCTCGTGTATTCCTTCGTTAGAATGTACTTTTT CCCTCCTCATTTTCTAGAAGTATTTGTGTGTGTGCTCTATGAAAAAATTT GCAATTTTTGACTTTAAACGGACGGTGCATTATATTATTTTATCAGTTCC CATCGTTGATCAATTTTCTCCACTGATTATCAATTCACTGATAAGCTCAC ACTGCCTGCCCAACTCAATTCATCGCAACTTCTTCTCCCTGCTTTTTTTT GCCATGAATTCGACGGTGGCTTCCCGTTTCTCATGGGGACTCATTCTGGC GTCGATCGATTTTTTGGCGTGCCTACTGTTCGCCTGCCTGCATGATGGAA CTTTCAAATTCGCGAATTTTACTTCGCAATTTGGCGATTTTTCGTTTTTT ACGAGGTTCGATTGATTGGTGGCCGAGTTAATTTTAGGCCACGAAAAATG AAAATTGAAGCCGAGTGTCATTTTCGCTGGAATTCTAATTTTCAGTGTGT AAAAATATAGAAAACTGCAAAAAATTTTGAATTCCCGCCAAAAACTAACG TTACGAGACCCAAGTACAGTGGAGCGCAGTTGCAAAAAAAAATTTTTAAT GATTTTTTGCAACTACGCTCCACAGTCCTTGGGTCTCACAACGTTGAAAC TAAAATTTTGGAATTTCTCCCATAACTTCTTATAATAACGATATTCGGTG GTCTCGACACGACATATTTTCATTAAATAAAACGGGTGTGCGCCTTTAAA GAGTACTGCAGTTTCAAACTTTAGTTGCTAAGCGTATTTTCAACAAAGCA ACGAAAATTTGAACTTACAGTACTCTTTAAAGGCGCACGCCCGTTTTTAT TAAAACAAAAACTTGTCGTGTCGAGACCGGGCACCGTAGTTTTGACGCTA AAAATAAGATTTATGAAAAAGCGGGTTTCCAGAAAATTTCACTTTTCAAA CTTTGATGAAAATTTGAAGTTTCCAGCCAAAATCGCTGCGAGACAGTGGA ACGAGTGCAGTAGAGCGAAATTGCTGTAAAATTTTGAAAAAAAAGTGAGA AATTTAAAAACACGGATTTCTGGCCTCCCCCGTAAATTGAAATGGAAGAG TTTGCCGAACTAGGCCACTTTGGCTCGCCCATATCTGGGGTAGATTTACG GCGCGTTGCGTGTCGCGACGCGATTTTAGTTGGAAAACTAAATGTTTTTG CCCGTGTGGAGTACACGACTTTCCCACGTGTTGTCCTCTAGGTGATTGTC AATGGAGCGCAAAAAATCCAATGAGGAAGGCCAGAACCCCGTGAAAAAGT ACGCGTTTTTGAAGCAATTCATCGAAAGAAGACAGTAAAAAAAAAGTCAA AAATTCAAATTTCCAATAGAAAAACCACCAAACCCAACAATTTTTCCAGC ACAATCGACCTATTCTTGCTGCAATTTTTCCGTTTTGCACTATGGATGGT GCCGGCGGCAATCCACGTGGCCAACAAGGCGGACACGTTGACAATGTGGA AAGAGGTCGGTGGCCGCGTGGCCTAGAAATCCCGAAAATTTCAAATTTTC AGCCAATTTTCTGCTCGGCACTGCTCATCTGCGCGGCGAGCCCCACAAAA TTGCTCCTCCTCACAGAAAAGCTGAAGCCCGATGAGTTCCTCACTTTCGG CGACACTGCCTTCCTTGTCTGGAATTTCATTTCCGCGATCATTTTGAACT CCTCGTGGACAAGATACTTCTCGCGAACTCCGTCTTCATATATAATTCTG GAGGATGAGGATGTAAGTGCGCTCCGCTGAGAAAATGTTTTGATCACCCC CACGATTTTCAGCTCGAGGTGGCTCCAAAACAAACGTTTGAGCTTATTTT CCGCCTGCTCCAATACTGCAAACGTGAATGGCTCTGGCATATTTCCGGAT TCTCGTGGCTCTTTATTTATTCGATCAGTAAGAGAATATCCATCGGGGGT TTTTTGTTTCGAATTTAAAAAAAAACACAAGTGGAAGAGTTTTTAAGATT TCTAGGCCACGCACCCACTCCAAAACCCCAATTTTCAGCCCGTATCTTCG TTCCCTATTACACGGGACAAGTCATCGCTACCGTGGTCGCCACAAAATCG TACCCAGCCCTCTCCAACGCTGTCTACATCATGACAATCATCTCGTTGGT GAGCGCTGTCGCCGCCGGATTCCGTGGAGGATCCTTCGAGTACGCCTACG CAAGGATCCAGAGGGCAATCCGCTACGATTTGTTCCACGGACTCGTGAAA CAGGATGTCGCTTTCTATGATGCTCACAAGACCGGAGAGGTGACTTCTCG TCTGGCTGCTGATTGTCAGACTATGTCGGATACAGTTGCGTTGAATGTTA ACGTTTTCCTCAGGTAGGTGTGGGTCCGTGACCGAAGTTCCCAGATCACA TGACCTAATTTTCCCAAATTCTTCCAGAAACTGCGTTATGCTCCTTGGAT CGATGATCTTCATGATGAAGCTTTCGTGGCGCCTCTCCCTCGTCACATTC ATCCTCGTCCCAATTATCTTCGTCGCCTCCAAAATCTTCGGAACATATTA TGATGTAAGTGCGCTCCAGCGAAAACGTTTTTCTAAAGTTTTGACCCCAA AATTCTGTCAAAGTGCCCCATTTTGGTTTGATCTTCGGAAAATGCGGGAG AAGAGGCGCAGGCTTTGCAACTGATATCACATGGTTAAGATTGTGCTGAC GGCACATGGAAAAATTCCCACATTTTTTTGTAGATCAAACCGCACCTGAC ACCACGTGAAATTTTTGACAAGTCAAGAAAAATTTCGGCAATTGTGAAAT AATCGAATTACCGCCGCACGTGGTGCCAGGCTGTCCCATTACGGCTTGAT CTACAAAAAGTGCGGGATGTTTTTGCCCAACAAATTTGACGTCAGCACGT TCTTAGTCATGCGAAATTAGTTGAGAACTCTGCGTCTCTTCTCCCTCATT TCTTGTTGTTCTACGTAGATCAAGTCGAAATGACCCACTCTGACATCACG TGCCGCCTCCCACCCCTGCTCCGACCAGGAATCAGCGGATCTACTTAGTC TCAACTTGTTTTATTTCAGCTCCTCTCCGAAAGAACACAGGACACAATTG CCGAGTCCAATGACGTTGCCGAGGAAGTTCTCTCCACAATGCGTACAGTC CGATCCTTTTCCTGCGAGAACGTCGAAGCCGATCGCTTCTACGGGAAGCT CACCCACACACTTGATGTCACCAGAACCAAGGCGATCGCCTATATCGGAT TCCTCTGGGTCTCCGAACTTTTCCAGTCGTTCATCATTGTGTCAGTCCTC TGGTATGGAGGCCATCTAGTGCTCACCCAGAAAATGAAGGGAGATCTTCT AGTGTCATTTTTGTTGTATCAAATGCAACTCGGAGATAATCTTCGTCAAA TGGGAGAAGTCTGGACAGGATTGATGCAATCTGTTGGAGCAAGTCGTAAA GTGTTCGAGTACATTGATCGAGAGCCCCAGATTCAGCACAACGGGGAGTA TATGCCGGAGAATGTTGTTGGAAAGATCGAGTTCAGAAATGTTCACTTCA GTTATCCAACTCGTTCCGATCAGCCAATCCTTAAGGATCTCTCGTTTACC GTTGAACCAGGAGAGACTGTCGCATTGGTTGGACCATCTGGCTCTGGAAA GTCTTCGTGCATTTCTTTGCTTGAGAACTTCTACGTCCCGAATGCTGGAC AGGTTTTGGTGGATGGAGTTCCGTTGGAAGAATTCGAGCATCATTATATT CATAAGAAGGTACGTTGGCGTCAATTTCGGTTCGACAAATCGTTTGCCGG TTTGCCGGCAATTTTAATTTTTGGCAAATTGCCGATTTGCCGGAAGTGTT TAGAGTGCTTTTTTATAAGACGGAAACACTTGAAACTGTGTCCGTTTTTA AATTTTTGTGCCGGTTGGCGATTTGCATGATATTTTCAATTCCGGCAATT TGCCGATTTGCCGGAAATTTTCCATTATGGCAAGTTGCCGATATGCCGGA AATTTTGATTTCGAAAAATTGCCGATATGCCGGAAGTTTCAATTCCGGCA ACTCGCCGATTTGCCGGAAATTTCAATTCCGGTAATTTGCCGATTGGCAG GAACAAATCGTTTGCTCGCAGTCTATTCGGATAAAAATTGCGCCAACTGT TCATCCGTTTGCACAGAAAAAGCATTTCCGCGCTTCGCTATTGGCCAATT TCAAAATAGTGGGCGTGACCAACCAATCACGGGTGTTTCTTGCTTTCCAT TGCTGAAACTGTGATTGGTTGGTCACGCCCAATTTTTTGAAATTGACCAA TTGCGAAGCGATGACTTTGGACGCAAGAAACTTCCGTTTTCTCCTTTAGC TGTCGATCGAGATTCTCTCCTTTAAAAACACATTGCCGATCTTTTCAAAG CCCCTGTTTCAAACGACACAGCTAGTAACAACAAAAAACCTCGAAAACTT CCAATTTTTCAGATCGCCCTTGTCGGCCAGGAGCCCGTCCTGTTCGCTCG TTCTGTGATGGAAAATGTCAGATACGGTGTCGAAGTGGCGGATACGGTAA GCACGATTAAATGCACCATGAGCCAAACAAAAAAACTTGTTCAGGAAATC ATTCGCTCTTGTGAAATGGCGAATGCTCACGGATTCATTATGCAAACCAC GTTGAAATACGAAACAAACGTCGGAGAGAAGGGAACACAAATGTCCGGTG GTCAGAAGCAACGTATCGCAATTGCTCGTGCTCTTGTTCGTGAGCCAGCG ATTCTCTTGTTGGATGAAGCCACGTCGGCGTTGGACACCGAGTCCGAACA TCTTGTTCAGGAAGCGATTTATAAGAATTTGGATGGAAAGAGTGTCATTT TGATTGCACATCGATTATCGACTGTTGAGAAGGCTGATAAGATTGTGGTT ATTAATAAGGTGAGTTGCAATTGCGCTCGACCGAGATTTGGTCGCAAACC TGACACGGGGTTCTGGCCTTCCTCATTGAAATTTCCGCGCTCTATTGACA ATCGCCTGCCGGACAACGCGTGGGAAAGTCGTGTACTCCACACGGACAAA TACATTTAGTTTTACAACTAAAATCGAACCGCGACGCGACACGCAACGCG CCGTAAATCTACCCCAGATATGACAGAGCCAAAATGGCCTAGTTCAGCAA AAACTCTTCCATTTCAATTTATGAGGGAATCCAGAAATCCGTGCGCCCGT GGTGTATTACTCGTGGATAACTGCTCATATTTCAGAATTGAGAATTTCGC TAAAAACTGTAGAATCGCGTTAAAAATGAGACCTCACCAAAACAGGATTC ACGAAACAAGAATTCACAGAAATAGTATTCAGTGGGCGCAGTGTGCGCAG TGTGCGCGGGGGTTGCGAAAGCACACTTTTCGGTCCCGCCCCCTAAATCG TGTTTTTCGTGAATACTGAATCTGGGAAATTTGAAAACTCGGCGAGTTTT TCTGTGCGGCACACCCACGTGGTGTCAGGCTGTCTCATGGCCCGACAAAG GGTACATCAGTGTAAATGCGCTCTACCGAACAGAACGCATAACCCACGTG GTGCCAGGCTGTCCCATTACGGCTTGATCTACAAAAAGTGCGGGATGTTT TTGCCCAACAAATTTGACGTCAGCACGTTCTTAGTCATGCGAAATCAGTT GAGAACTCTATGTCTCTTCTCCCGCATTTTTTGTTGATCTACGTAGATCA AGCCAAAATGAGACACTCTGACATCACGTGATAACCTGGTTGATACTACG CGTACGGCTTGCCGGGCCGTGTTTCTCATTGCGGTTTGATCTACAAAAAT GCGGGAATTTTTCCCCCAGGAAAGTGTGACGTCAGCACACTCAGTCTGCG TCTCTTCTCCCGCATTTTTCGAAGATCAAACCAAAATGAGACATTTTGAC ACCAACACACACACACACACACACACACACACACACACACACACACACAC ACACACACACACACACACACACACACACACACACACACACACATCATATT TGACGAGCAAAATCGGCCCCATAATTACAGGGAAGAGTCGAACAAATCGG AAATCACGAAACCCTACTGAAGGACACCAACGGAACCTACGCGAAGCTCG TTCAACGCCAAATGATGGGAGATCAGAAGCCACGTAAACGGCCGGCGGTC GCCAGATCGGGACCTCAGCCAGCCGCGTCAATCAACGTGGCAGGACCATC GCAGGGTAATGCAATGTCCCTGTTGTCGACGTCTTTCAGCCAATCTGCCA GTAGTGTTACTTCTCATTAATTGTTTTTTCTTCTTGTTAATTGGCAAAAT ATTATGATGAACTTGTTGGGTTGATTAATTTGTAAGAATAAAGTATACAA TTATTCATTCATTATTAAAATTTGGGCACATAGAAAAAATTGTGGAAAAA CTGTAAAAAATCTGCAAAAACGTGGAAATTATTCAAATCAACTCCAGGTA GTCGTTGTCGACATCGTCTCGCTGCCGCATCGTGTTCTGAAAATCCATTT TTCACTTTTTTTAAAGCAGATTCCCAGCTAACCGTCGACCGGATCGTGTT GTTCCATCCGCGGATTTGAGAGTAGGAGCTTACGGTGCCACGTGTCTCGT TGGCAGCTTGCCAATTATTCACAGACAGCCTGTACGAGTCGCTCAACAGT GGACCGGCGTTTAGAGTCTGAAAATATATAACGGGAACACTAAAATTTTA GAATGCGTATTGTGCAACACATTTGACGCGCAAAATATCCAGTAGCGAAA ACTACAGTAATCCTTTAAGTGACTGCTGCACGTGGTGCCCAGCAGGGCTG GGAATTTTTTGGTTTTTTGGTTTTTTTGGTTTTTTGGGACCAAAAATCCA AAAAATCAAAAAAAAAAACAAGTTACCGTGTCTAGTCTCGACTCGAGACT ATTCTGTATTAAAATACATCGAAACATGTATTTTAACACAGTTGTGACGT CATAATGTAATACATTTGGCAACATTACTTGAATAACCCCATTAAAAATC ACCTAAAGCATAAAACATTTTTTGGTTTTTTTTTGGTTTTTTTGGTTTTT CCAAAATTTCAATTTTTTTGTTTTTTGGTTTTTTTGGTTTTTCAAAAACT TCAAATTTTTGTTTTTTGGTTTTTTGGTCCAAAATTTTTTTTTGGTCCCA GCCCTGGTGCCCAGCTGTCCCATTACGGTTTGATCTACAAAAAATGCGGA AATTTTTTGCCCGAAAACATGTGACGTCAGCACGTTTTTAACCATGCAAA ATCCATGCTTCTCCCGTATTGTTTGTAGATCAACGTAGATCAAGCCGAAA TGAGACACACTGTGACCGCGTGCTACTGTAGTGCTCGTGTCGATTTACGG GATCAATTTTCGAAATGATTATACATATAATTATCGATAGAATAATAAAA TTAAGCAAAAAAAAATCGGAAAATAATACGAAAAAACAAAGGAAAATTGA AAATCGCTGTCAAAATTCGAAAAAAATTAATTTCGAAAATTGAGTTCCCG TAAATCGACACAAGCGCTACAGTAGTCATTTAAAAAGGATTACTGTAGTT TTCGCTACGAGATATTTTGCGCGTCAAATATGTTGCGCAATACGCATTCT CAAAATTTTGAACTCTCCGCCTCTCACAGCTGGGTCTCGTTAGGTATGGG GGCGGATCCTTTTCAATTGGCGGTGGAGCGCGATTGAAAAAATTTTCGAT TTTTTTTCGATTTTTCAGAAAAAATATCGATTTTTTCCGATTTTTCAGAA AAAAAATTCGATTTTTTTTTGATTTTTCACAAAAATTATCGATTTTTTAG ATTTTTCAGAAAAAATATCGATTTTTTTTTCAGATTTTCAGAAATTATTT TGATTTTTTTTTAATGTTTTGTCCCTTTTTCTGAAATTCTACCTCATAAT GATTGCTTCTTCCACTTCCGCCTCGCTGCCCGTAGTTCAGTGTCGAGTAA TTCGCATTCGATACTGTGTAAATCGACAGTGGAATAACCGGGTAGATCAT AATGTAGTACAATGTGGCAAAGTGGATCACTAACTGAAAATTATTGGATT TTTCTAATAATAAGGTGGGGAAATCCGAAATATGTGAAAAATATTTTTAA TAAACAAATTTTCCCCTGATTCCGAATATCTATATGAAAAAATTCAAAAA AAAATTTTCCAGATTTTATATTTAAGCTTGAAATCGCTTGAGCCCGCATC ACTATTTTCAAATGCTTGCCCAAAGAAATTTGCATTAGAGCGCGCTTGCA TAGTTTGATTTTCTTCATTCAAATATTGTATTTATTACCGCCAAATTCAA TTTTTTAACCGGTTTCATTCATTTTTGTCGAAAAAATATATTTTTCAGAA AAAAACCGGTGAAAAAAAACCAAAATCGACAAAAACTAATGAAGCTGGCT GATAAAAATTGAATTCGGCGAAAATAAATAAAATATTTAAATGAAGAAAA TTCTTAGGCGCAAACGAAATTCGCCATTTCAAGCTTAAATATAAAATCAG GGATTTTTTATTTATTTTTTTTTCACATTGATTTTCGAAATCAGGGAAAA ATTTGGGGTTAATTATAAATATTTCCCAGATTTCGGTAAGAAAAATATGA TTATTTTTTTACTAAAAAATAACCCCCACCAGTAAAGCGTAGAAAATTGA GATGATAAATGCGAAAATGATGAACGCGGAAGAAAAAAAGTCGGGATTCT TTTGGGCAGTGCTGGAGTAGTTGAAGATCGAGATGATTGTAGAATAGTAG GACAGGAATGAAACAATCATCTGTAATTTATTTTTTTAAAGCTTCCAGGT CAATACACGTGGTGTCAGAGTGTCTCATTTCGGTTTGATCTACTGTGTAG ATCTACAAAAAATGCGGGAGAAGAGACGCAGAGTTCTCAACTGATTTCGC ATGGTTAAGAACGTGCTGACGTCACATTTTACTGGGAGAAAAATTTCCGC ATTTTTTGTAGATCAAGCTGTGATGGGACAGCCTGGCACCATGTGGGTGC CGAGGGTATTGCTTTTTGGTATTTTTTGGAATTTCGAAAAAAACTTTCCG ATTTTTTTGAAAATAGCTCTTTTTATAGAAGAAAATAGTTTTTTCTCATC AACACAAATTTTAGAACAATTTTTTCGATTATCCGGAAAATTGAAAACTT TCGTTTTTCTATGTTCCATTTTCGATTTTATAAATTTGGGAAAACCTAAA ATTTCGATTTTTTTTGAAAAAAAAACGAGTATTCAATAATTTATATATTA TAGGCATTCTTTTTCTCTAATTTCTTCTGAAAAACATTAAAAAAAAATTT TTTTTTTTTTAAACCAATTTTCAGTAATTTTTTTCTGTAAAAAATACGAT TTTTTTCCAATAAATTTCTAGTTTTTTCTCTCTTTTCGTACATTTGGACT GTTTCTAATTTTTGCTTGCTTTTTTCTATATTTTTTCTGCGATTTCCTAT GAAAAGTACCAAAAAATCGGAAATTGTTTTTTTTTTTCGATTTTTTAGGA AAAAAAACGATATTTCCTATAAATGTTTTTTTCATAAGTAAATACTTTTC TCCTTTTCCTTTTGATCTACAATATTTCGAATTTATTTTGAAAAAAATTT TTTAAACGTTTTTTTCTGAAACAAAGACCCAAATTTTCAATAATTCAATA ATTTTTCTGGATTGTTCAACCGAAATATACACATTTTTCAATAAATTTAT AGTGTTCTCCTCTATTTTTGTTGATTTTTACTACTATAATTTTTTCAAAA TTTTCGAAAAAAAAAATTTTTTTTTTGGAAAATTTTAATTTCAATTCGAT TTAAAAAATATAAATGTTCATATTTTTTCATCGAAATATATATTTTTTGA TTTTTCAACCTTTAAATTGTTTCATTTTCTCTGAAAAAATCGGAAAAATC AACAGAAAAATCGAATTTTTTAAAAATATTTTCCGATTCCGACCGTAATT TTTATGAAAAAAAATCGGTTTTCTCGTTATTTTCTACAACAAAACCTCAA AAAACATGCTGGGCAACGTCAAAATCGCTCGATATCGAATCTTCAGCTCA GTCTCATGTTTCACCAAATACACCGCATACAGAAACATCGTGCAGCTGAT GAAGAAGAAAATGAGCAGATATGCACACTTTTCCACGAAAAATTCGCCCG AAATCATGAAACGTGGCAAATTGAGCACAATTCGATGGAGCCAATAGCAG GTCGATGAGCTGCAGCGGAAGCTTTCATTGGGATCTGTGCAGTACGTTGG AACCGATAAATGTTCCTGCATTGATCGGATACAGTAGACGAGCAGGCAAA TGTATTTTACAAGTGAGATATTCTGAAAATTTTTGAATTTTTTTTCCGAA TTTAAAATTTTAGTTTCTCGATTGTTTTGAAGTAAAAAAATTGATTTTTT AGAAAATTATATGTTTTGTTTAATTTATTTAAAAATCTTTAAAGGTGGAG TAGCGCTAGTGGGGAAATTGCTTTAAAACATGCCTATGATACCACAATGA CCGAATATCATGATAAAAAAATTCAAAAAAATTTTCTAAATTTTATAGGT TTTTTTTTGAAAATTGAAAAATCTCAGTTTTTGCCTAATTCCAATTTGAA TTACCGCTAATTGGATTTGTTCGGTGGAGCGCGCTTGCACGTTTTTAAAT TTTTTTATTTTATTTTATGTTATTTTCCACCGATTTTTAATGTTTTCGGT GTATTTTTGCTCGAATTTTAGAGAAAAAGTCAAGATAAATGCAAATTTTC AATTAAAAAGCACGCTTACAGGCGTAAAAATGACAAAGTACCGATTTTAA ACGATTTCCAACCTGAATTAATTAATTTCACTGATTTACGCCTGTAATCG TCTTTTTTAATTGAAAATTTGCATTTATCTTGGCTTTTTCTCTAAAATTC GAGCAAAAATACACCGAAAACATTAAAAATCGGTGGAAAATAACAAAAAA TAAAATAAATAAATTTAAAAACGTGCAAGCGCGCTCCATCGAACAAATCC AATTGGCGGTAATTCAAATAGTAATTAACAAAAACTGAGATTTTTTTCAA TTTTCAAAAAAATCGTATAAAATTTAGAAAATTTTTAAAAAATTTTTTTA TCATGATATTCGGTCATTGTGGTACCGTGTTTTAAAGCAATTTCCCCACT AGCGCTACTCCACCTTTAAAGTGCTAATGTAAACTTTTTGTACACGTGGT GTCAGAAAGTCCCATTTCGGTTTGATCTACAAAAAATGCGGGAGAAGAGA CGCAGATTTCTCAACTGATTTCGCATGGTTAAGAACGTGCTGACGTCACA TTTTTTTGGGAGAAAAATTCCCGCATTTTTTGTAGATCAAACCGTAATGG GACAGCCTGGCACCACGTGTTTGTACAATTACACATTATCCTGGAACTTT CCAGAAAATTTGAATTTCCCGCCAAAACTTATGGGTCTCATCACGATGAG TCACTAACCTCAAACCGATATATTTTCTAAAAACAAAAACTCAAATTTTC TCAAACTACAGTAATCCTACAGTAATCCTACAGTACCCCTACAGTACTAC TACAGTACCTTGGCATTGTCCCCCACCAATATACAACCCAATATACCTTC AAAAAACAAACACGTAATTTTTCCCAAACTACAGTAATCCTACAGTACTC CCACAGTACCCCTGCAGTACTACTACAGTACCTTTTTAGAACATTTTTCT GTTTTTCGATTTTTTCGCAAAAAAAATTCAGTTTTTTCAGCAAAAAAATT GATTTAAAAATATTTCAAGTTACTTTTTAAAAGCTTTTCAAAAGTTTTTC AATCCGTAAAAATAAAATTTTACGAATTCTTGTATTTTTTAAATTATCTG AAATTTTTTTTTCTCAAAAAAAAAACTTTTTTTTTCAAGTTTTCAATTAA TTTCGGCAAATTTCAAAAATTTTAGGTTTAAAAAAATTCAATTTTTATGC TTAACATTTTATCGACATAAAAATCATTAACAACTACGAACAATTTGTGG AAAACGTTTTTGGCAGTGGAGCGCACTTGCGCCTCGTATTCAAAAAGCCA CACAAAATGGTGAAATATTCCCAAAAATCAAATAATTGTTTCGCTACGAG ACCCAAAATACCGCAAAATAGTAATTTTTACCATAGTAATTTTCAAAAGT GGCACGTAGACCTGATGAAACGTGTCGTTCACCTCCTCCGAGCTTCTGCC ACGTGAGCTGGTGCTCCGGCATGGCTGATACATTTGTGAAGTTCGCTAAA ACAGAAAAATATTATAAATAAGCGGAAAATTTCGTGGTCTCGACACGACA AAAAATAATAAAAATTATTCGTGGTGAGACCCGAGTTGTTTTGGAGCAAA ATTCTCAAAATTGGGGTATCACGTGGTGTCAGAGAGTCCCATTTCGGTTT GATCTACAAAAAATGCGGGAGAAGAGATGCAGAGTTTGCTGACGTCACAT TAAAAAAAAATTCCCGCATTTTTTGTAGATCAAACCATAATAGGACAGCC TGGCACCACGTGCGGGGATTAAAACCCGCGCCGCACAGAAAAAAGGCGGA GTGTTATTTCGCAACACCGCGGCACGGTTTTTTGTTGATCTTTTTCAATA GTCTTGATATTACTTGCGATTTTTGCAAATTCAAAAAATCAACAATAAAC CGACCGTGCCGCAGGGTTGCAAACTCCGCCTCTTTTTCTGTGCGATGCTG ATTTTTTGCGAAATTCACGAATCAAAAAGCACACGTGGTGTCAGTGTCTC TCATTTCGGCTTGATCTACGTAGATCTACAAAAAATGCGGGAGAAGAGAC GCAGAGGTCTCAACTGATTTCGCATGGCGCCACACATTTTTGGACAAAAA ATTCCCGCATTTTTTGTAGATCAAACCATAATGGGACAGCCTGGCGGGGA TTAGAAACCGCGCCGCACAGAAAAAAGGCGGACCGTAGTTTCGCAACACC GCGGAACGGTTTTTGATATTACTTGCGATTTTTGCAAATTCAAAAAATCA ACAAAAAACCGTGCCGCAGGGTTGCGAATTTACGCTCCGCCTCTTTTTCT GTGCGATGCTGCTTTTTTTGCGAAATTCACGAAAAAAAAAAAGAAAATAA AAGTACATTTACCGATAAAAGTGACGATAGACCGCCGATATACATGGAGA GAATAGAGAGAGAAATGTGAAGTTTATTAGAAAACAATTTTGTAAAATTA TGATGATGATGAAGATTTGCGGAATCTGGTAATCGGTTTTAATTGCCTTT TCTATTATATTATATTAATCACTTGATGATGTACGGCTTTGCGCTTCCTC GTCCACGGTCTCCAGATGACGGAATCCACGTGGCGATACTGATCGATTGT GTTTTGGAGTGGTGGTGCTGCTGGTGCTGGTGGAGGGAATTGAGGTGGTT GCAGTGGATATTACGCTGAAAAATTGAAAGGATTGGTGGAGGAAATGAGA GAAATTTGAGAGCATAAATTTTTAAAAATCGAAAAAAAATTTTTTTTTGC TATTTTTGGGCAGAAAATGGCGAAAACGGTGTTTTTTTGGGTAAAAAATA ATAAAAATTTACAATTTTTTTTGACAGAAAAATGCGGAAAAGCTGTTTTT AGGGTTGAAAAATCAAAAAAAAAATTTTTTTTTGCTATTTTTGGGCAGAA AATGGCGAAAAACGGTTTTTTCAAGTTTAAAACATCAAAACAATTTTTTT GCAATTTTTTTACAGAAAAATGAGGATAAGCGGTTTTAAAGGTTTAAAAA ATTTTTTAAAATTTTTTTTGCGAATGGAAATTTTCTGAAAAATCGTGCAA ATGCCTAATTTGTGCAAAAATCTTATCTGGTCAATGATTTTTAAGAGAAA ACACCGGTTTTAGAAGGGAAAAAGGCAAAAAACTGGATTTCCAGTGAATT TTATACTAAAAATGGAAAAAATTCAGAAATTTTTTAAGGAAAAATCAGAA TTTTCGCAATTTCTACACGAAATATATAGAAATTGAGGAGAACCTCGGAT TTTTTGCGGAGTTTAAACAATAATTTTTCGGCTAAAATTAACGATTTTCA GAGAAAAAACTTAAAAAAAACAGAATTTCAGTGAATTTTACACGAAAAAC GTAGCAAAAAGAGGTTTTTAGGGAATTTCCAAGTCAAATTTCCGAAATTC TTGCGATTTCAACCCTGAAAAATAGCGAAATTGAGGAAAATCTCGGATTT TTGCAGATAAATAATATTTTTTCCAATGATTTCCGTCTCCAAAACACAGA ATAATTTACCAATTCGACGATGGTGAGGAGGGAGAGCCCAGCTCGTTGGT GACAGCCGTGAGATCCGAGAACAAATTGACGCTGGCTGAAAAAATGGAAT AAACGCTAAATTGATGATTTCCGCTATTAAAGTGCATATAGAAATACGAA AAAGCAAAAAAAAAAATTTTTTTTAACCTTTTCCCTGGAATCGAAGAGCA GTTTGCTTGCGGATTGGACGTCGAAAAGGGCCTAAAATTCTCATTTTTCG GCCTGAAATTCCTCGAAAAACCCACTATTATTGGTAGTCGGAGATGGCTG ATCGCCTCGTCGCTGGTAATATAGCACGCCTAGCCAGAATCCGTAGAGAA AATAAATATAGACTGCCCACACTAGGATGATGGGAAGAAACGACAATCGG CAGGCGTCTGGAGTGAAGAAATCAAGATTTTTCAGATTAAAAATTAAAAA TCTTTAAAGGTGGACTACACCCTTGTTGGGAAATGGCTTTCAAACATGCC TATGGTACCACAATGACCAAATATCATGATTAAAAAATTCAAAAAATTTT TCTAGATTTTATATGATTTTTTGAAAATCGAAAAAATCTCAGTTTTTGCC TAATTCCTATTTGAATTACCGCCAATTGGATTTGTTCGATGGAGCGCGCT TGCACGTTTTTAAATTTATTTATTTTATTTATTGTTATTTTCCACCGATT TTCAATGTTTTCGGTGTATTTTTGCTTGAATTTTAGAGAAAAAGTTAAAA TAAATGCAAATTTCCGATTAAAAAATCACTGAAAATGCGTAAAACTGAAA AATATGCTAGTTTCAGGTTTGTTGTCGTCGGAACTCATTATTTTACAGTT TTACGTATTTTTCACATTTTTAAACACTTTTTAGCAAACATTCTGCATTA ATCTTGCTTTTTTACTTCTCTTTCCGATAAAAATACACAACTAATGAAGA AAATCAGTGACATAATAATAATAATAATAATAATAATAATAATAATAATT TATTACGCTCGCTGGGAGACGTGAAGGAATACAGAATACAAAAGTTATCA TTGTTCGCTTGAACTAGAATTGGTGCAGTCGGGCAATCGTTTCCATTCCA TTAAAATGTTGTCCTTGTCCTTGCGTTGTCCTTGCGTAGACTCCCCCATA GTGGGCGAGCGATTCCCGAGTGAAAATAATCACGGAATGAAAAAATAGAA GAAAAATAGAATAAATTAATAAAAAAAATAATGCAAGCGCGCTCCAACGA ACGAGTTCAATTGGCGGTAATTCAAATAGGAATTAGGCAAAAACTTTTTC AGATTTTTTCAATTTTCAAAAAATCATATAAAATTTATAAATTTTTTTTG AAGTTTTTTAACGTGATATTTGGTCATTGTGGTACCATAGGCGTGTTTTA AAGCAATTTCCCCACAGGGTGTAGTCCACATTTAAAAATTAAAAATTAAA AATTCTACCTAACAAAATCGAAAATTTCAGATTCTCCTTGATTAAAAGCT TTATTATTGAGTAAAGAGTCCGCAGCGTCCACACGGAGAGCGGGTACAAG ATGGAAATCTGAAAATATTTAGGATTTTCAAGGGAAAATATCGATTTTTT TTAGCAAAATACCACAGAAATTGCGGATGGAATGAGTAGAAGAGCCGGGT TGACTTTCCGGGGAAAGTTTCGACGTGTGATGCTCGTCTCGGAGAGCCTC ATTCCCAAGAATCCGGTTGCGATGCTGAAGAAAATCGATGGAAAAAGTCT AAAATATCCCCTGAAACCCTACCTAAAAATCAGAAAATACGAGAAAATAT TGATTAAATTCCGAGCCGGCACATAATTCGGGCGGATCAGCACTCCATTG AAGTTTCGAAACGTTTCGCCGTTCCACTGAAGTCCATCGAAGCCGGGAAC GGATGGCGGCTCGAAATGCTCGTCGACACTCATTTGACTGGCCCTGTAGA GCCCGATGATGGCAATGGCGAGCATTCCCACTTCCACATGGAATATCAGG CTCTGAAAATTAAAATTTAGCTTTTAGACGGAAAAAATCGATTACTTTGA CATGAACTTGATCGAAAAGCCAGCGATACGGGTATTTTCGGTGCAGGCGG CCTGATTCCGGACGTGCTCCTCGAGATATATTGGAATTTGTCGAGCGGAT ACTAATATCTGCCATTTTTTCGCTGAAAAATCAGAAAAAATAAGTTTTAA AACAGAATTTTAATGGAAAAATAAACGGAAAAATTCGAAACTTTTTTTTC CGCCATTGAACACCAATGTGCCTTTAAGGTACGGTAGCTCTTCGTGGTGA GACCACTGCGCCGCGCATCTGATTTCTCGTGGGAAATTTGTTTCGAATCC TACGTTTTTTACAGATTTTTCTTTTTTTTCGTTTCGCTCATCATTTTTTT GTTGCAAAAAATCCAATTTTCAGACAAAAATGTCAGAACGCCAATCCAAA TATTTTGACTATCAAGGTATCGTCATTTCCTCCACTGGACAAGATAACCA AGATTCGGAGACGGACCTCGTTTATCTCATTCAAGCTCATGTACGTGAAT TCCCTCCGTTTTCATATTTAAAATAATAAGCTCGTTTTCAGGGAAAAGCG GCCCCGAAGAACATCATGTACGGTGTCTCCAAGTGCGCATTTGTTCCAAC AAACTTGGAGAGGAATTTCGATAATATCGAAGAGGCAAAAAATCTTGAGT CAGTATTTATTTGATTTGAGCCCATTTTTAATCTGTTAACACTTGAATTT TTAGACGTCGATCCAAAATCCCGCTAAAGTTCGGTGAAGTCATCCTATGG AACGAATCGGACTGTGATCACGATAAGAGGATAATCCTTCATATCAAACG AGAAAAACCAATTTATGAAGCGTCTTCCAGCAGAAATGGACTTATTTTGA AAGTCGGTGGCGTCATCCAGCCCACCTCAACGACCTCGTTCTGGACGCCA TTATGCACCGTCACCATGCGTATGTTTCTTCTTGATTTTCGTCTCTCTAA CCATATATTTATTTCAGCAGAGACAGAGGCGACCCGTGCGGAGCCAGACG TTTGGCTATACGCCTGGATTCGATTCGAAACTACCATGAAGAGTGGTCTA GATCCTTTCAATATGACTGCAACATTCGAATCGTTTGACAGTTGCGATCC ATCCGACCAAGCACGCGTCTGTGAAGCGGTATTTGCTTTTTAAAAATTTT TTACGGGATTTTGAACAAATAACTTTCAGCCATGGAACGCAGGCTCTCCT GACTCTAAATTCGGTGTTTGGCGCCCGGATCCAAAGCCTGCTGATAGCGA CGACGAAATTGATATCGAGCCGAGAGAAGGCTGGCACTTGCCAGAAGACA AATGGGCCGAGGTTAAGGTTGCTTTGTGGATTCTCGTTGACAATTTGATT TTGCAGGTCATCAAGATGCAGCTTGGCCTGTATGTCGGCGAACGCCTACT GATTTGCAAAGAACTCTCGCAGTTCGACTTTATTATCCCACTGCAGAAGC CATTTTCCCGAGGAACGGACAAGACTTTGATCTACCCAGCCGTCGGAGAA TACTTTCATTTCAGTGCTATTTGGTCGATGCAGCACAACGGTTTTCTGAT CTATGAGCTTCAGCCAGTTCCACTTCTCAGACAGCATGTAACCTCTGTCA ACGGAAATGTAAGTTATAATATTGATTTTTTTGTCCAGAACATAATTTTT ATTTCAGCTCCTTACCCGCGTCGTTCCTGCCAGTATCAGAGGTCTCTTCG TTGACAAGGAGGGCACTCTTGGATTGATTGATGACCCACACCATCTTCTT TCATTCTTCGAGTTTCATCCAGCTGGTTATGAATTCTTGAAGGCTATGGT AATCATGAGTGGGTCTTATTTTGAAACAAACGCTTTCAATTTTCAGGCCG AAGTTCGTGCTGTTCGAACTTCAGAAAACAAATCTGTCCGTTACCGCATT GTTCGTACATCGGGAATGTCCATTTTTGAAAACTGGCTTCGTGATACTCA GGTCTCTAAAGTTAAATTAAACTCGTCCTTTTCACCCCTGAATTTTTCAG TTCGTTGTTGGTCCAGTCAAAGGAATTCGAATCAATGAAGACACTGTCAT TTGTGCCAAACATCCGAATGTCTACTTCAAAATCCCCAATAACTTGAAGG AAGGAATCCCCATTGGCGGAGGAGTTCAATTCGTTGGAAAGCGACAAGCT GGAGTCGACAGTGAAATTATGATCACCGAATGTTCTCCATGTCCAGCGTT CACTTGTAAAAATTACTCGGTCTCTGGTGATACGGTTAGTCTTCAATTAT TTAATAGTTTTTATTCTATGAGGAAAATATTCAGCGCTTGTTCCAAGTGT ACTTGAAGCCAAATTGCGATCATGAGCAGTTGGCGGAGAGTGATTCGATG GGATTTGTGGATTTCAGAGAGTTGGAGACTCCATGTAGAGGAAAGTGAGT GTGTCAGGATTTGTAAAAATAATTGTAACTGAATTTTAAGGTTCCTGGCA TGGGTCCGTGAATCCATTACTGTCAATGATTGTCGCCGTGCTGCTACCAT CATGGAAGTATGCTCGACAGCCATCTGTCCTCCGTTGATTGCAATGAGCG CGAATTCGAGCAGAGCAACATCGGCCAGAACTACGCCAGCTGGAAGTTCC ATTGGATCCAGATCATCAATTCAATCAAGAGCATCTGCAGCTACTTCAGT GAGCTCAAACGTAAGTTTATTTTTAAGGTTGGAAGATGATAAAAACAAGT TTTTCAGCGATTCGTTGGCCCTTCAAGCCGCAGAACTCCATCTGGTACTC CACAAAGCTCAACATCTTCCAGGGTCTAATTAAATATATACGCATCCCGT TTTCCCCCGTATTTGTGTTTCAAATGTTCTGCTCATTTTTAATCTACCCG TTATCCAACCAAACATTTATTTATTTAAACTTCAAGTTCCACCACCATCC CATTCCGCACAACTTGTCTCTCGTAATTTTCTCGTGCTCTAATGAAGTTG TGGTAGGTTATTCTAGTGAATACACCCATGTTAAGCAGCGAATACATCCA GAAAAGTCCCAACAAGCCGGCAGCGAGATACTCCCCCCAAAATGATGGTT GATCGGTACATCCAAGATAGGGTAGCATCGCGATAGACGTGAGCAAGTTC GTTATGCACTTGAAAAACTGAAATTTCAGAAAAGATTAGGTGTATCAGAA GGTTAAAAACAAACAAATGACATATAGATGAACGAAGCCAGTGATGGAAT CGGATTCCGAATACGAGAAGCCATTCCCGGAGATACTGTGATAAGAATCT GTGTGATCGAGAACACAATGAGCACACCCACCGGGAACATGAATTCCATG GAAACACGGAGGCAAAGGTCACAGTACTGCAAAAAATGCGAAATTTTGGC GATTTTTGCTCTAAAAAATGCACTGGCCGGGTCTCACCACGACAAATTTT TGTTGTCAGTTGAATGCCAATAGAGTGTGCGCCTTTAAGGAGTACTGTAG TTTCAAACTTTTGTTGCAATCGATTTTACAGTTTTCCCGAGAAACAAAAG TTTGAAACTACAGTACTCCTTAAAGGCGCACACACTCTTTCCGCATTCAA CTTAACAAAAGGTTGTCGTGTCGAGACCCGGCCACTGCATTTTTGTAGCA AAAAAAATTTGAAATTTTCAAGTCTGGATAATAATATATAATATTTTTAC CTCAACTATGGGAATTTGCATTTCCAAACTATCCAAACAATCGCTGAACC CGAAAGCATCACAAATAATCGATCGATATTGTCGCGGAATGTCACGTATC GATTGGTAGATCATGAATATGTTGCCAAGTAACGCGAAAATCTTGAAAAA TGGAGGATTTTGCTTTTAAAAAATCCAAAAAAAAAAACTTAAATTCGACA ATTTCCTGTTTGAATTCCCTCCAAAATGAGAACTGCAGGACCCATCAGCG ATTTGAGTGGGCGGAGTCCGAGGGCGCTGATTGGTCGTGCAGTTCTAATT TTGGAGGGAATTCAGCCAAATTTGAAAAATCTCGTTTTTTTTGCAATTCT TTTGTGGTATTTTCGACATGGGGTTCTTTCTGGCTTTCCTCATCAAGGGT GTCAATGTCCCGTAAAAATTTCGAAAACGGGACAACGGGACGTCCCGTTT TTTTGAAAACACTCAAAAAACGGGACAAACTGGGCGGTTAAAAAAAAGAG TGCATAGTTGGCGTAAATTTTAGTGTATTCGAGGCAAATTATAAAAAAAA CTGCATGTAAGTCATTAATCTGCATGAATTTAAGTCTTGAAACAAAACTC AAAAACAGAACTTTAAAATGTGCAACAAAATCATGAGAGAAATTGTCCCG TTCCCGTGATAATTTTGAAAACGGGACAGCGGGACGTCCCGTTCCCGTGA AAACACTCAAAAAACGGGACAACGGGACAAACGGGACACGGGACTTGACA CCCTTGTTCCTCATTAAAATTTTCGCGCTCCATTGATAATCGCCCTGGGA AAGTCGTGTACTCCACACGGACAAATCACATTTAGTTTTACAACTAAAAT CGAGAAAATTGGGAGAGTTTTTGCCGCGAACCTGGCCTAGTTCGCGGCAA AAACTCTTCCATTTCAAAATATGGGCGAAGCCAGAAATCCGTGATATTTT CAGCATATTTTTTTGATTCGAAGCAAATCTCAGTTTCTCACCACAACGAA CAACTTCACATTCGGATGCCGCCCGTCTTCGAAACGTGGAATTCCAACTG AATTCACCGATTCGACACTTGAACCGGGTGACATCATCATATTTTCAACC AGCTCATACTCGAACTCCGGAATATCCGGCACCACATCAATCGGTGCTGG TTCTGGCGGTGGCGGCTCAACTGACACTTTTCCTTGATCTAAAATTTGTT TTTTTCTGAAAATTTGTCACTGTACCAAATCAAAAAAAAAACCTTACCAG AACTCATAATTTTTGGATTTTAATTTGTAAATTGCAAAACAGAAAATGAA TTGGAATTTTTTCACTTTTTATTTATGGGAGGGGGAAATTCTTTGTTGTT GCAATAAAGTAAAACAATCACAGTAAATGCCAGTACAATAGTTTTTCACG TGTAATATATTAACCAATTACTATATTCAATAACTCTGTCGTCTAAATAC ATAGGGTAGGGGGGAAGGTGAGGGAAAATGGAAATAATAAAGTGAAATGT TTTGTGTACTTGCGATAAAACAATCAATAAATGGGAACAAGCCGATGATA AACTGATAAACCGAACGTGAATATCGAGAGAGGGAGGAAGAAAGCGTATA CCCGTTAATGAAATCAAGTTAATGGAATTATTTGGATTGAAACAAAACAA CGAAAATATCAATGTTTGAGCATAAGGAATGAGGGAATGGCACTGGTGGT GGTGGATAAATGAATCGGGGGGAACGGAATCTATGGAAGTTTCGAATACA TCGCATCGAGTTGCTTCGAGTAGTGAGCCTTCAGCTTCGGACGCTTGCTC TTCAACGTTGGCGTGAGAAGATCATTCTCGACGCTGAATTGCTCGGCGGA GAGACTGATATCGCGCACTTGCTCGAACGAGAAGAGCCCGGCTTTCTTGC CAACAGCGACCATGTCATCGAGGATCGCCTTTTTGACGGCGTCGTTGTTG CACAGCTCTTCGAATGTTCCCTTGATTCCTTGGTCGGCCATCGCTGGGAC GAGAACCTAGAAAAATTGAAAATTACATATATATATATATATATACACGC TCTCCTCAAAGCCGAATAATTATTAGAGCGCGCTTACTGCGCTTCGCGTT TCTGCATCCGCGGCATTTTGACTTTACACTGAAAAAAGCAGATATTTCAG ATTTATCGAATTTTTAGCTTTTAAAATTTTTTTCTGCATTTTTCGAACAA ACCTTTTGTTAAACAGTGAAAATTGAATTTAAAATGACTAAAATGAACTT TTTTCGTTCACTGGTTGTGAAATGGTTTGAATTTGAAGAAATCAAAGGGA TTTTTCTGAATTTTTTAATAATTTTCTATTAAAAATCGGTTTTAAACCAT TTTTTGACCCTAATGTTAAGTCACAAATGTATTGAAACCGGTTTTTAATA GAAAATATTTAGAAAATAAGAAAAATCCCGTTGATTTCTTCAAATTCAAA CCATTTCACAACCAGTGGACGAAAAAAGTTCATTTTAGTCATTTTAAATT CGATTTTCACAGTTTAACAAAACGTTTGTTCGAAAAATGCAGAAAAAAAA TTTTAAAAGCTAAAAAATCGATAAATCTGAAATATCTGCTTTTTTCAGTG GAAAGTCAAAATACCGAGGATGCAGAAATGCGAAGCGCAGCAAGCGCGCT CTAATAATTATTCGGCTTTGAGGAGAGCGTGATATATATATATTTTTTTT AATTTTGAAAATATTTAAAACCAAAAAACCAACCTCAGCATCAGGTACAA CAATAGCAATGAGACACGTCTTCAGTGATTCTCCATGAACAAATGATTGA GCGACATATTTCGAGCGGACATAGATGTTCTCAATCTTCTCCGGTGCCAC GTATTCTCCCTGCGAGAGCTTGAAAATGTGCTTCTTGCGATCCACAATTT TCAGCGTTCCCTCAGGAGTCCATCGTCCAATGTCTCCAGTGTGCAACCAT CCATCCTCATCGATCGTCTCCTTCGTTTGTTGCTCATTCTTATAGTATCC CTTGAAGATGATGTGTCCCTTGACACACACCTCGCCGGCTTGATCCTTCG CGTAATAGTTCAACTCGGGCACGTCGACCAACTTGATCTGACACGATGGG ATCACCATTCCGACGTGTCCGGCTAGCGAATCTCCTTCCATCGAGACAGT GCAAGCGGCGACACATTCCGTTTGACCGTAACCCTCGACGACGACACATC CCATAGCGGCACGAACGAAGGTGAGCACATTCGTCGAAAGTGGAGCCGAT CCGGTGATCATCAGACGCACACGCCCTCCGAATCCTTCGCGAATCTTTTT GAATACCAAATTGTCGAAGAATCCGTCATTTCTGATATTGAAGCTGGAAA AAAAAAGAAGATATTAAATACTATCAAATCATTCAGACCACTCACTTTGC CATATCTCTGGCCTTGTATGAGATAGCGAAATCAAACAACATCTTCTTCA AAGTCGACTTGTTCACTTCAGACATCACTTTATCGTAAAGCCGATTCAAG ACACGTGGCACCACTGGCACCACAGTCGGCTTCAACTCTTTGATATCCTC GGCCAACACACGTATGTCACCACGATAGAATCCGACTTTCGCGCCGACAC AGAAGCACACACTCTCGATGACTCTCTCGAGCATGTGAGCCAACGGAAGG AAGCTGATCATCGAATCGGTCGCCGCGATGCCACTGTGCTTGAAGAAGTC CATACAGACACCGTCGGCGATCACGTTCGCGTGAGTGAGCATCACACCTT TCGGTGTTCCAGTCGTTCCTGACGTGTAGCATATGGTCGCAAGATCCTCT GGTGTTGGTGGAATGTGTGCTGGACGAGTCTTGGCGTTCTTTCCAATCTT CTCGAGATCCTCGAACGTGAGCACCTCGACTCCGAGCGATGACGCAGTCG TTTTGAGCTCATCGGTGACTGGTTCCATCACAACAAGTGTGCTCAAACTT GGGCATTGCTCCTTGAACTTTAAGAGACCTGAAATCAAATTTCCTTTTGT TTTTAATAATATTCCTTATCAAACTCACCAGTGGCCTTTGAAATATCATC ACAGACAACAATCTTGATCTCTGCCTGATTCAAAATGAATATCGACGCTT CTGATCCAAGGGTCTCGTAGATCGGCACAATCACATTCGAATAGTTGTAG GTGGCGAATTCGGTGATGATCCATTCGGCGCGATTCTTCGAGTAGATCCC AATGTTCTCCGCGTTGCCAGTCGGAACGCCGAGCTCACGGAACGCGACGG ACACGTTGTCGGCTCGCTCGAGAATCGTATTGTACGACTCCCACACGTAC GGGATTGAACCATCCGACTGTTTGACTCGACGTCCGAGCATCGGCCCGTT GTTCGAGAGACGGGCTCCACGGCGAACACCCTGGTAGAGGGTGCGCGCGT CTTCGAACAGGAAAGCCTGGAGTTCGTCGTCCTTCAGGTAGGCGCTGATG CGGGAACCATCCTGGAAATTAACATTTTAGTCGGGGGGTTTTTTTGGAAT TTTTTTTTCGCTCGTTTTCTATTGTAAACCGAGCCACGACGCGACACGCC GTAAATCGACAAGCCCAAATGGCCTAATTCGGCAAAATCTTACATTTAAA AATATGAGGGAAGACAGAACTCCGTGATTGGAGAAAATTAAAGGAGGACT AACGGTTCGGACGATTTTGAACGTATAGACCCAAAATGAGCTCAAATGAA TGAATTTCGTAATGAAACTGCTCAAAAATTTTTATGGCGGTTCAAAATGT TGAAAAAATTACACTGATTTTGGCTAAAATCACGAATTTTCCCATTTTTC CGTGTCACATCTGTTCGAAGTTGGATTTTTTGGAATTATCGTTTTTTATT ACATATATTGGTAGTTTATCTCATTTAATTTCGTCGATTAAAGTACATTT AAAGCCGATAGGTAACCAATTTCGATAATTTTTGGTCACCTATCGGCTTT AAATGTACTTTAATCGACGAAATTAAATGAGATTAATTACCAATATATGT AATAAAGGACGATAATTTCAAAAAATCCAATTTCGAACAGATGTGACACG GAAAAATGAGAAAAATTCGTGATTTTCGCCAAAAACAGTGTAATTTTTTC AAAATTTTGAACCGCCATAAAAAATTTTTGAAAATTTTTTGAGCAGCTTC ATTACGAAATTCGTTCATTTGAGCTCATTTTTGGTCTATACGTTCAAAAT CGTCCGAACCGTTAGTCCTCCTTTAAGTTTAAAAAAAAAACGGCATATTT TGCCCAGTTTCTCTCCAAAACTCACCGGCAAAATGCGACTCTGATTCATC GGATCCACCAGTGGCTTGACATTTCCCGAATAGGTGACCCCACTGAACGA GTAGGATCCCGACGTCGATGACGAGCTCTTCGACAAGTAGTATCCGAGGC CCATGGTGACTGCGGCGGCGGCTCCGATTTGAACGTACGGTGGAAGGGAA GAGTTCGAGTTTGGTGCCGAAATGAAATCGACAATACTTCTGTAACAATT GAAATTATATATAGAGAGGACGGGTGATGATGATGAGTCATCCAGGTTGT TGTTGTCGCGCGCGCGCGCCCGCACTGTTCCCCACAAAACAAACAACTTA TTTGAAATTATGAAATCGAAGTTTCTTTGTTATTTTATTTTATTTCACAA GATGGTTTTCATGTTTTATATACCATTCGCAAAAACAATACCTAGTTTTT GCTCGTTTGGACTCAGAAATTTTGAGACTTTTCTGAAAAGTTTAATGGCA GATCAAAATTTCGGAAAAAGGTGAATTTTAGCGAAAATTCGCCGTGGTTT TTCGAAATTTTGATCTGCCATTAAAGGTGGTGTAGTCGAATTTTTTTATT GCTTTATTAGACTCAAAATTGTCTGAAAACACCGAATTTCATAATAAAAC TTAAATGGCCTAAAATTAGCTAAAATTTGAAATTTGACCGACTTGTCAAG CGGCTGGAAACGTTTTTTTTTTGAAATAACCGTCAAATTTTGAATATACA GTGCAATTATCTTGCGTTTTCAACTTTATTTAGGTACTTTAAAGTCGATG AACGGCGAGATTTGTTTTTAATTTTTCACGAAATCTCGCCGTCCATCGAC TGTAAAATACCTAAATGAAGTTGAAAACGCAAGATAATTGCACAGTATAC TCAAAATTCGACGGTGTTTTCAAAAAAAAAAAAACTGTTTCCAGCTGCGA CGTCGGTCAAATTTCAAATTTTAACTAATTTTAGGCCATTTTTTGAGCCG TCATAACTTTTTTTGAGGAGTTTTCAAGAAGTTTTATTATGAAATTCGGT GTTTTCAGACAATTTTGAGTCTAATAAAGCAATAAAAAAATTCGACTACA CCACCTGTAATGGCAGATCAAAATTTCGAAAAACCACGGCGAATTTTCGC TAAAATTCACTTTTTTTCCGAAATTTTGATCTGCCATTAAACTTTTCGGA AAAGTCTCAAACATTTTGAGTATAAACGAGCAAAAACTAGTCATTGTTTT TGCCAATGGTATATAAAACATGAAAACCATCCTGTGAAAAAAAAACAACA AAAACACTTGAAATTCGTAATTTCAAAGTTCTCCAAAAAAAACATACACA CACCTCGATTGAGACTGTACCCACGCAGCCGTGTCTGTGATAACCATTCT GTGTGTTTCTGTGTTTAAGTGGCCTATTTATAGTCTTCTGCCAAAAGACG AAACCGCTTCTAAAATGAGATTAAATTGAGGTGGAAACGACGACGACGAA GAGGTGGAAGAAGTGAGGGTGAAAATCGAAAAAACAAAGAAGAGATCAAA GTTATTCCATCTTTAGAACTTTCTCCACTGCCAGCAATTGATAATAATAA TAAGATTTTTATGTTGATAACTCTTTCGGTATCAATACAAAAAGGGGTGA AAACCCGCCTCGACAAGCCTTTCGATCAGGCCATATATTTCTTTATCACA CTCTCCGCACATTTCGGAACAACTTTGACCTCCCCGGCAAGGGGGCAAAA GTTTCGAGAAGTTGTGTTGCGCGCGAAGGAGATGGAGAAGATGGAGAAGA TAGGCAAACACGTACACCTCCTCAAACAGTAGTAGTAGTGATAATTGATT TGATTAGTGATTCGGGTGGGCAAAACGAGAGAGATAGAAAGAGAAAAAGC GAAGAGGACAACGAACACGTGTAATCAACCGTGTGCCAAAGTTCTCGCCC TTTGGACTAATTGCAGTTTTTTTGGAGGAAATTCAATTAACACTGAAAAC TAGTTCGTTTAAGTGTTTACGCTGAATGGGCCAGGTTTTGAGGGAAAACG ATTTTCGAAGAACTTTAAATGTGGGGTACCGAAATCTGAAAAATATTTTA AATTGACTCCAAATTTTCCCCTGACTCCGAATATCGATGCGAAAAAATTC AAAAAAAATTTTCCTGATTTTATATTTAAGCTTGAAATCGCCGAATTTCA TTTAGAAATTCGCATTGGAGCGCGCTTGCATCGTTCGATTTTTTTTTCGT TTATTTTATTTATTTTCGCCGAATTCAATGTTTTTAAAGCCAGTTTCATT CATTTTTGTCGAGTTCTCATCGAAAATTTTTTTGACAAAAATTAATGAAA CTGATTAAAAAATTAAATTCGGCGAAAATAAGTAAAATAAACGAAGAAAA TCAAACGATGCAAGCGCGCTCCAATGCGAATTTCTTTGGGCGCGAAGTTG AAAAAATGGCCCGGGGCACAAATGAAATTCGGCGATTTCAAGCTTATATA TAAAATCAGGGAAATTTTTTTGAATTCTTTCGCATCGATATTCGGAACCA GGGAAAAATTTGGAGTCAATTAAAAATATTTTTCAGGTTTCGGTACCCCG CCTTTAACGGATTTTTTGGCTTAAAATTGGAAACTCTTGGTATAAAACTT GTAGAAACACCGAGTAAACTGTACACGTTTTAGACGATAATTCAAAAGTA TCGAGGGAAGTATCCAGAAGTTGAAAAATTGCGAAAAACAGGTAAAATAA GGAATTCAACGCGTGAATTTTGCATTTTTAGACTGAAAATAGTGTGGTAT TTCTTCAAATATAGACGAAAATATCGACTCGCACTGGTTTTCGATCGATA TTTATAGGTCGAGTTCATTGCTATGCACAACATTCCGGGAAAACACGAGA TTTGAGGAATTTCTGAGCAACTTCTGAGTAAAGCCAACAAAACATTTTGT ACAATTTTCTTGTTGGTCTTGCTCAGAAAATTTTCAATCAAAAACCAATT GGAAATCGATATTTTCTGCTAGTTTTGAAAAAACACATGATTTTTAATCA AAAATTGTTAAATTCATGCAATTTTCCAAAGTTTTACACGATTTTTTCTC TGGAATTCACATGCTTTTTAAAGCAAACGGCCGTTTCTCGTTGTTGGCTT CCACGCGATTCCATAGAAACACTGGGGCACCAGAGAAACCGGGGTCGAAG CAAATGACCAACAAACAACAAACGGATGTGTGCTTTTTCTTCGTTTTCGT CTTCACGAGGAACCACCACGCAAAATGGAACTACAACTACGATTGATAAC GAAAAAAAAAAAGAAGAGATGATGATAGTTTTTGCAGCAATAAAAAGAGT GATAACAAGATACACTCTATCTCACCCACACCTTTCCGTTCAAAGATAAG GAAATAAGATTCGGGGGGTTCAAAGTGTTGGAGCCAAAAACGGAAAACGG AGGGAGCAATTGTTCGTTGAACGAACAATAAAAAACCATCATCTGCGTCT CAAAAATACACGTGTAAGTGAGCGAGTGAGTGAGTGAGTGCCGGGGAATA AAACGAGTTATATGACCAACACAACGAGCGACGTTGCTGCTGCGTTTCCT CACTCTCTCCTAGTGAGCGTGTGTGCGCACCACACTCACATGAGCGCATG CAAGGGTGTATGCGCAAGTGGTACATCGACTCGGTATGAGAAGGACAGAG CAGTAGTAAGGAGCACACGTTATGTTGCTCCACTACTCACTGTTGCGTAC CGTGTAGCCTCTGCGGGCCACCGCGGTGCAAAGTACAGTGGAAGGAGGAG AGTTGAAAAATTGGTGTTTATTTTACTTTTAAACTCGTTTTCCTCCGGAT TTTGAAGAGAATTGGTTGACTTTTTGAATTTTAGGCGAAAAGCGCGGGAA AAATCGAAAAAAGATGTGAAAACGAGTGAATTTTAGGGCAAAAGTGAACC GACAATTGTTATGAGCAATCGGGCTTCTCGGTCGGAAAACAGATCACAGA AAAATCGGAAAATCCAGCAAAATACTCGAAAATTATGCAATTTTCTAGAA TTCCAAGCGAAATTTTCTAGAATTTGAGGCAAAATGATACGGAAACCAAC GAGAAATCCAGAAAAAAAAACTATTTTCATCGAATTCTAGGTGAAAAGCT CTGAATTATTCGATTCTCCGTCGGGGTAGACTCAAAAATTATGCAATTTT ATAGAATTCTAGGCCAAACATCGCAGGATCGCCTACACAATTTCCGGAGA ACGATGAAAATCGGCAAATCTGAAGCAAATAGGAGTGAAGGAAGAGGCTT CGGATCAGTTTTTCTGAAGAAAATACAAAACTTTCGCTTTCGCAAAACTT TCGGGAAAATTCTCAGAAAAGGCGTCAAAAGCTCAAAAAATCGACGTTGC ACGATTTTCGACGGAAAAATAGAGTAAAATATCCGAATTTCTGCTTTAAA ACTCGAAAAATTGCCCAAAAATCCGTTTGTTTTCGCCAAATTTCTCCTAT TTGGGGGTCACAAGGCGAGCGGGAGCCGCCGACGACGAGATGAAGAGCTC CACAGAGCCCCTGAGCCAACAACACAACACTCACCCAAAAATATTGGAAT TCTCCGGAAGGAAATCGTCGTACGACGACGGCGGCGGCGACGGTGCCATT TTTCATGGGGAAAATTAGAACCTTGTTCGAATTTGTGATTTATTATCGAT TTTCTATGTGCCACGTGTGCCCTATTGCGTGACCCACCTGATTAGTTGCG CGAGTATTTTGTCAGTGCGGTCGACGATCACCCGAAGAATGGAGAAATTG TCTGAAAAATGCGAAAATTGGCTATAAAACGACGGAAAAAGAAATAAAAA CAAGTGAAATGAGGCCGAGAGGCAGGTGAATTGTTTATGCAATTTTAGAA ATGTGATATTTTGGCGGTGTAGATCGAAAAAAATGCGAAAAACACGAAAA CAGGTCGAGAAATTCGCAAATTTTCGACGACTAAAATTCAAATGCACAAC GTTCGCGCGCGCGCCGAAGTACGGTAGGTCCCGCATTTTTGCGCGCGCGA AATTCAAATTTTAATTTTAATATTTTTTCTTTCTTCTTTTCTTTGATTTT TTAAGAATATTGTGCAAAAAATTCGTTCATTTTTCGAATAAAATTGTTAA AAAAGACGAAAAAAAAAAGAAAAAATAAGACAATTTCTCGGTGGCATACA AATAAATACAAGTTATTGTTCGGGAAAAAAATCACAATTTTACATTAAAT CCAGGTTTGTAATAAAATCAATTATTATTTTATTTTCTTCCAAATCCGGC ACATGGATTTGGGCATCCGCTGGTCATGCAGCAGCCACCTCCACTCCCTC CGAGACACGCCAACGACTCGCCGGTTGAGATGGCGAGAAGCACGAAGCAA ACGACCATGACCTGGAAGAAAATGTGTGAATGTTAAGGTCTCTTAATATT CCAATAAAATTATTTGGTTTTTTTTTACCGGTGTTCTTGCCAGAAAAGTG CAAAAATTAATTAAAACTCTAATCGTGGCGAGACCCATCTTAGAAACGAG AGTATGCGCCTTTAAAATTGGGCTACCGTAATAATCGAATTTTTGCAATC TTGCAATTGTTGATTTCCGAAGAGCGTTAACAAGAAAACATTTGATAGAA ATGACACATGAATTAGGTAAAATTTGGTTTTTTTTTAGATTCTTATAATT CAGATTTCTATTTTGGACACGGAGTTCTGGCCTTCCTCATTGAATTTTTC GCGCTCCATTGACAATCGCCTGCCGGACAACGAGTGGGAAAGTTGTGTAC TCCACACGGACAAATACATTTAGTTTAACAACAAAAATCGAGACGCGACG CGACACGCAACGCGCCGTAAATCTACCACAGATATGGCCGAGCCATAATG GCCTAGTTCGGCAAACTCTTCCATTTCAATTTATCGATGTCAGAGTGTCC CATTTCAGCTTGATCTACCTAGATCTACAAAAAATGCGGGAATAATACGT AGAGTTCTCAACTGATTTCGCATGGTTAAGTACGTGCTGACGTCACATTT TTTGGGCTAAAAATTCCCGATTTTTTTGTAGATCAAAAAACTGTGATGGG ACAACCTGACACCACGTGATTTATGAGGAAAGCCAGAAATCCGTGATTTG GAGAGCACAACAAAAAAAGAAATTCGGCCACTGATTCGCGGCCACGAGCC ACTGTGCCTTCTCAAGATATTAGTTAATAATTGACGCTGTGAGACCCACA GTTAAAGGCGCATGCTCAGCATGACTGGCCAATCTAATAGCATCTACAAT GATAATTGAAAAAAAAACTCACAGTTTGGCAAAGTTTAGCGACGAGTGAC ATAATTCTCCGAAAGCTTCAGCTGAACAATTTCAGGGATTACTTGCTGTT TCCCATCGCTTCACCGTCTTATATAGTGCCATCGCCGATTGGCAGAATGG GATACACCTGCCCCCAACTGCGCAGTTGAATACGATCCGTGTCTCTCTGC GTCTAGCGGTTCTCCACGATGTTTCTTTGGCGGCGGTGAAGCCGTGTGTG TGTGTGTGGCTCCTCCATTCTGATTGAATGTGTAACACTGCGGGCAACCG ATTGGTTTTGGCGGCGGCGGGAAAACGAATCCGGATATACTACATACACA AACACACACTCACACACACCGAAGGAACTTTTCAGAGAAACCTGAACTGG CTTTTTATGATTTAAGTGCTTCTGCTGCCAGCATGATGTGGTGGTTGTGT GTTGTCAATAGGATTTATGCTAATTCCTGACACATTCAAGAGATGAAACA TCAAACCGGGTAGGAACTTAGTCCACCCAACACTGTGAGAGATTAATAGA ACCTTTAAAAGTGGCACTTCTAGGCAGAATTCAATAGAATGGTGGGCGCC TTGGAGCCTAGTCGACCTGCGATGTGAGTGGCAAGGTTGGCAGAGCTAGG ATAAGCTTCTGGAACTGTAGGACTGTAACAAGCAAGGATCCCGCTCTGGT ACTGTAGTGAACTTTGAGATCAAATTAGGTTTTTCAATATTTAACTAGCA CTGTTTCCGGCCCTGATCTTAGAAAGAAAAGAAAAAAAGGATGTGAACCA GGCGTGGGCGGCAAACGATTTTTTTCCGGCAAATCGGCAAATCACTAAGT TGCCGGAATTTAAAATTTCCGGGAAATCGGCAAACTGACACTTTGCCAAT TTGCCGAACGGCAATTGCCGCCCACACCTGATGTATACATATATATGCTT TCACTCATGTGGTGCCAGAATGTCTCACTGCGGTTTGATCTACGAAAAAT GCGGGAATATTTTTCCAGAAAAATTGCGGCGTCAGCACGCTCCTAACCAT GCAAAATCAGATGAGATGTATGCGTCTCTTCTCCCGCATTTTTCGAAGAT CACAGCAAAATAGAACTTTCTAACTCCACGTGTCTACTGAGAAAAGAGCC GAAAGCTTATTTTCCACGTATCAGGGATCGGAATCCCACCTAGCTAGTTC ATCCTATTGCATCATTGAAGCATCTTCCGGATTCTCCACTTTGTTTGCTT TTCGAAATCGTTTCAAACTGAAAGCCGCGCTTTCAAGGCCGTCTTCTTCC GATTTTCCGATCTACCTTTTGTTGATCATCACGTGCCTGGCGATCACAAC ACTGTTCAACCGGAATATCTGAAGATGTTCCACCAAATGGATCGTTTTTC TCAGGACGGAAGAATACTAATTTGCAAAAAGTCTGTTCTGTTCTAAAAGT TCTGAATCTTCTGAAAAAATTTCAGACTTAGATCCTGTCATTACATGGGC AAGCAGTGGAGTCGGAGATTTTTTATCAAAATATATGGATAGGTAATCAG GGAGAGACTGGCTCCTTTGTTACAATATATTAGGTTTTGTTCTTTAAAAT GTTCAAATGAAGCTGAAGAGTTCCGGCTAAAAGTATATGATTTTTCAATG ATTTTTCAAAAATTTCAAGGTATAACTCTGAAACTAAAATTTAAAAAAGA AACTAAATTGGATTTTAATGTTAGTTAGTTTATTAACAGAAAGAGCAGTA TTTTTTGATAATTGTAACCTGAAAACTCTATTTTTCTAGTTTCGTGAAGT AAAAATGTTTTATTATGTGACATTTATTGAAATTTAATTATAATACACTG TTAGAAATATTTTATTATCTAAAAAAGTAAATTGGATTATAATGTTAATT ATTTTACTATCAAAAAGATCAGTATTTTGTGATAGTTTTAACCTAAAAAC ATTTCTGAAGATCGTTTTTTGTGAGAAAAAATTATTTTAATATGTGTCAT TTAAAGCAACTTTTAAAAAATTGCGGTTTAGAAATGTTCAGCTATCAAAA AAAAGTACATTGGATTTTGGTGCCAGTCAATTTATCAACAGAAAAAGTGG TCCTAAAATAATTTCCAAACTTATTAATGGTGGTAGCATTAAAAAACACT TTTTTTTGGATTTTTTGAAATGAATAGTGTATTTACAGAGACAATGGTAG ATCAACCTAAAAGAACAAAAAATTTGCAATTTTTCCAGGTAGGACACTTT TTTGCTACTCGAATATAACTAACCTAAAATAATTTCCAAAAGTTTCAATG GTGGTAGCACAAAAAAAAACAATTTTTTTGATTTTTGAAATGAATAGTGT AGTTACAAAGACGGTGGTACATTGACCTAAAAAAACGAAAAATTTACTAC TTTTTCAGGTAGGACACTTTTTTGCTACTCGAATATAACTAACCTAAAAT AATTTCCAAACGTTTTAATGGTGGTAGAATGTAAAATAACTTGTTTTTTT TTGGTTTTTTGAAATGAATAGTGTAGTTACAGAGACAATGGTACATTGGC CTGAAAGAACAAAAAATTTGCTATTTTTCCATTTTGACCAAAACTATTGG TTTTGTCCCCAAAAAATTAGTAAAATGACCCACAATCCAGTTATTTTGCT GTTTAAGCAGACACACTACACGGAATTATTTTCAGAAACCAGATGTATGT TAAGATTTTAGTAGTTTCGGTGCTGCAAAAACCATCAAAAAATACCAAAT TTTTCGGCGTTTGTGAAGCACGGCAATTTTTGAGATTTGCCGCACACCCC AGGTACAGAGACAATTTTATATCGACGTGAACGAACAAAAAATTTGCTAT TTTCTCAGGTAGGCCACTTTTTTGCTGCTCTAATTTCACACACCTAAAAT AATTTTCAAATGTTCATCCTACCCTTATATGTAGTAAGAAGATTTCAAAT TCAAATTTTCATGCATCAACTCGTCCCCACCGTTTTTGTTTCCCTGGCTG ACTCATCTGACCTTGTCACCCCACGTGTGTTTGTCTTTGTGCCCCCTCTC GTGCTCACCTTGTTCCAAATTCTGTGAAAACTCATCTCGAAGGCCATTTT CTTCGTTTATGAGTTTTGAAAAAAAAACGTTCAGACAACTGCAAATGACC TCCCCGGCGTCGAGAATCGGTGATAACCTTGTACTTCTTAGATGAGACCA GATACAAAGTGCACCAAAAAATTCAAATTCGCTTGAGAAGCGCTGGCGAG AGATTCGAAGCGAAAACGAGTTGATTGACAATCGGAACATATACACACAC CAGAAGACAAAGTGGGGGAAGAAAGGAAACAAAAAAGATAGAGAGGAAGG AGATTTTGAAAAACGACAATCTCTCTGTGTGTGTGGGTGACAGGTGAAAA AGTGAGAGTGAGAAAAACGTGGTGGGTACTGTATTGATGAACGATCAGAC CAAGTTGCATTCAAATTTCTTTGATTGGATTGTTTCCTGATCGGTTTGGT AGAAGGTGAAGTTGGATTTTGTTCACTGAAGTTATTGGATTTCGAGACAT GAGCAAGCTAGGTTCAGGATGACTGTAGTGGCCGGCTAACTTTCCGTACA CCTTTGGCCGACTAGTGAGTGCAACCAGGGCTAGTAAGGAGGTACATCCT GGTTACCGTAAGCTTATTAAAATTCTGAAAACACCCTACAAAAACTGATA TTTGTAAAGTTCTCCAAAACAGGTGCTAAAACTTCTGAGGCAAGAGTAGG CACTTGGAGTCAGAATGTCTTATTTCGATTTGATCTACAAAAAACGCGGG AGTTGAGACGCAGAAATCTCATCTGATTTCGCATGTTTAAGAGCGTGCTG ACGTCACAATTTTTCTGGAAAAATATTCCCGCATTGTTTGTAGATCAAAC TGTAATGAGACAGCCTGGCACCACGTGGGTAGGTGTCGGGATGCACGTGG TGTCAGAGTGTCTCATTTCAGCTTGATCTACGTAGATCAACAAAAAAAAA TGCGGGAGAAGAGACGCAGAGTTCTCAACTGATTTTGCATAGTTAAGCTC GCGCTGACGTCACATTTTTTTTGCAAAAAATTCCCGCATTTTTTGTAGAT CAAACCGTAATGGGACACCCTGGCACCACGTGGGGATGCATTAGTATGAT TACTGTAGATAAACCTTGAACAATATATATACATTAATTTCGTAATGCTT GAAACTTGGACCCAAAAACTATCTGTAACTAGAAAATCTGCAAAAATGAG TTTGCGACTTAAAGCTGGAAGTATACAAGTTGCGCAAAGACCTTTCCAGT GGCTTCAGCTAGCAACAAAAAAATTTGTAAATTTGCCGGTCCCCACACCA CATCAAACGTGCAAGACGGGCAACTTGGTACATCCAGTTCACCTGCACTC CAACTACTTCCCAGAACGCCACATAGTTGAATTATTACCCAACTTGGTAC ATTATTTTGTCGACTCGACACACCATCACCCCACCATAAACCCCTGCAAA TAAGGAAGCCGATCGCTATCTACTCATCTTTAGGGACCTTTTTTGCCGCT TTTTATTGATTTGAACAAAATCTCAGCAGAGCAGTCAAAAATTGCCAATA TTCCAATTTTTCAGTTGCCAAAGATTTTAGAGTTTCAATACCTACTAAAT CCTCCCGTTCCAGCCATCCGTTCTTGATATTCTCTCCATAAATTTTCGCT TATCTCCTCTCTTGTAAAACTAACGTTCACTTATCCACATAATAAATACA ATAAATGTATTATATACATATATATTATATATATATATATATATATATAT ATATATATATATATATATATATATATATATGTATATATATATCTCAAAAA ATCAAACAGGATCTCTCTTTTCCTCCAGGAGAAAAAGAAGATGCCGTTTT GCAGCCAACAATACTCTCACTCTCAATACACGACGCGACGACGTGGCATC CCTCCCCCCATCCTGCCTTTCTTCCCCGTTTCTCCTGTGTCATCGAAATT TCTAGGGCAGCAGCACACCGGATTGGTTGGCATGTGAAGCCGACGTGGAT CGTGATGGTGATGATGTGGCGGATTGTGATAGATCGTGTTTTTTATCCGG CGATTACTGCGAGAATTGTCTGAAAGAGTGGCAGGGCCTGGCGCCTGTCT TTCGGCTCTTTTCAGCATTTTGACGTGAATTTCCAAATTTCTAATTTTCT CATTTCTATAAATTTGCTGAAAATCAATCAAAGAAATAAAAAAAAAGTTC ACTCATGTTTTAGCATACGGCGCGAGAGGCAGGCGGAAATCGCCTTAAGG TCAGGCAGGCAGGCAGGCGTTTAACGCCTACATGGAAGCCCTATAGCACA CATCTATCTGAAACTGGGAATGTTGTTCCGAAGTGCATTGGAGTGCCTGA AATTATACAATGTTTGTTCTAATTTATCATTTACTGTATATAAAGCGCTT ATTCCGTGTGTCCATAGTTGGTAGTCTATGTAGTCTGAAGTTTTGGCTTC TGGAAGGATAGTGAGTTGGGGTTAGTGTAGGGATATGGTCGGGGAACTGT AGTGGTACAATAGCGGTACGGTAGCAGTACTGTAAGATTATGGTACTTTC AGAAAAAAAAGTTTTCAGCCCCAGAAGTCGGGGTCCGTGCCGGAGGAGCG GACAACGGCTGGTTATCAATAAAGAATACCAACATTTTATCACAGATCCG GTTACCGCTAGACAAGAAGGTAAAAATTCGCATTCTGAGAAGGACTACTG TAGCAGGTGTTTAGCGTGTGTCCGAGTAGATGTGGCGACTCTTAATTTAA GTTGTAGTTTCCTGGTGTCCCCTAATCGCGAACTTCACGATAATTGTAAA TATTTTAGTGTGGCCTATGTTTACAGGTTTTACGGACAGCCTAGCCCGAG AAAAACTCTGGAAAAAAATCCCAAAGCTCTTATCCAAAACTACCAAAGTA TTCTATGCAATTCCCTTTTTGCATTTCCTCACCCCGCCTAATAAGGCATG TTGTTTACCGCCGACTTTCCGCAATAATCTATTCTCGCAATCATGTGATT TACCTGACGAATCGAAAGTATACGGTAACCTTCACATTTGGAAGAGGAGA AAGGAATTCGTTGGAGCCTTGACCCATTCTCCCCACAGGCATAATTCAAA AAAATATTCACATCAAGAATGCGGATTTGCCACAACCCAACGGGTTCTCC CATCCAGCATCTCTACCTTTGCCGAGGCAGAAACTGAGGACCGATCTCGA TCTGCCGCCGCGTTCCGACAAATGTAATAGCAGCCCCCCGCGCGATAGCT TTTCACTTTTTCTTCTCTTTCTGGCTACTGCTGCTGCCTCCTCCTGCGCA AGGATGATGCTGCTAGGATGATACCCTACGAGATTACGGAACTATCCGAT AAATTAGCTTGATGGAGACTAGAGAGATAGTCCCGAAGCTCTGAAGGAAC CTGATCTTGTTACAGTCTTGGAACCGAACAGCTGATTGCGTCGTCGTATT ATCGTTATTCATTTCGTAAATAGATTTTCTCTAGGATTGATTCCCGGTTG AGCCACGTCACTGTCCGAGAACATTCCGGAATGTTATGCATATGTTCTTG TAAATAACCTTTCTCCTTCCTCCGGCCGGCCAACTACTTTCATTTCTTGA TGCGTCGAGATACGATATCCAAGGCCATCTTTCAAAATCGCAAGTTATCC ATCTTTTTTCGCTGATGACTCTCTCTCTCTCTACTCCTTCGCCCATCTCG TCTTCAGAATCACCTACCGCAAAACAATTGAATAAGTGAGTGTGGAAGTC ACGTCATGAGCGCGACGAAAAGAGAGAAAGAGAGAGAGAGAGAGAGAAGT GCCGAAGACGTCGGAAGAGAAAAGCTGGAGGAACCAGCGGCTGGATCGTC GTTTGTTGATGATGCCTCCTGCCTGCCATTGTTATTCGATATTCCGATAT TCGATTCTTTTTTGCCGCCGCCGCCCAAGAGGAGAGGAGAATCAGAGAAG CTTGCGCGCTCCCTATCAAAAAAAAAAGATTATCAAATTTGAAGCAGCAG AAGCTGGGAAATGGAAATAATAGCGGATAAACAAAGAGAGCGAAATGTTT TGGGCAATAAATTTGTAGTTTGATGATAAGAGTGGCATTTTGATATGAGG AAGCTTGCAGAATCTAGTGGTGAACAGGAAGCTTTCGCTATGGAGCAAAA TGGATTCCGTCATTTTTCTTAAAGAATCGGAGTCGAGATGAAACACCCAG CCGGAGCTGAAAAATTATTCTGCTGAAAAATCGAGGTGCTTGAAGTACCA GGGCGTTATACAAAAGATCCAGGGATCCTAGTTCTGCAAAAAAAATTTCT GCATAATGAAATGGAGAACAGGGCGGTGCGGCAACCAAGATTTTCGGCAA CCGGCATTTGCCGAAGTTGCGGAACCCAAAACATTTTGGTAACCGGCAAT TGCCGAAGTTGCCGAATTCAAAAAATTTCGGCAACCGGCATTTGCCGAAG TTTCCGAATTCAAAAAATTTCGGTAACCGGTTGCCGCACAGCTCTGATGG AGAACCCGGTGGTCAGCTCAGAGTTTGGATCACCACAACCCAGAAATACC ATCTTTCAGTGCCTCATACGTAGAAACACTCTAGCTCAAAGTGCCCCTGA GGCCCTGGGATCTATCCTTACCTGGAAAACTGTGTAAAATTTCGAATATT CACAGATCCTAGGTTCGTAGTTTCACAAAATGTTCCCACTCTGCCTTCGG ATCCCCAGGACGCATTGCTACAATATTTTGCACTTGGTACAGTACTCAGC TTTCCCTTTTTGCACCAAAAAACATTATTGATCCTTACGATTAGCGTCCT AGATAGGCTACAAGGCCATCGAGATCTCAAATATGCAAATTCTTAGGAAA GAAAGTGATGTTTCATCATCTTCTTGGATTAAAAATTTCCGAGGAAAAAC ATGGCAAAAATCAGGTTGATCGTGAAACTCGTCGGGGGCTCCTCTCACTT CTTCCCCATCTTCATCTCTCCTTCTCTTTCCCGATCCGATCTTTTTTCCT TTCTTCCATTTTTTCTCGTTTTTCCTTTCCATTTTTTCTTCTCCTTCTTG TGTTTGATTATCCATCCTCCTTGCCCTTTCTCCTTGTTTCATTTTTCTTT ATTCATTCGGATGGAATAGAGATATGGTTCCGTAAATTCATTCCAATACT AGAAGAATTAGTAAGACATTCGTAGGGGGGAAAATTCCGCGCAGAAAGCG ACAGGAGGTTCGGGATTGGGTAATCGTCGGAAAAATGAAAAATCGCGCGC GCCCGCCCGCGCAGATGGGATATATACTAAATCACATGGGCAGCGACATG ATATACGATGGATTGCGTGATCGATAGGCTTTTCAAGGAGGTACATTAGC ACTGGTGGGCGTCGGGATCCTTGAAGGAACAACGATCTTTGAAGGAGATG ACGAGGATGTTGTGAAATTTAATTGTGATATCATTCTATTATGTAATCCC TGGCCTAGAATATACATCATCTTTTAGAATTCTGGTCGGCTAGATGTTTT CGGGAAGTGCTTCTAAAGGATCGGCGCTGCCATGTATGTAGGAAGTGCTT ATGCCAACCCCAATCATCTTCTCAATCTACTCCTCAGAAGTTCAGTTCTG CCAATCCGCACGCTCCACCTTCGTCGCCTATCCGTTTCTCATGCGAGTCT CGGGTCAAGGCAAGTGTGCGTGTCCTTCAGTCGTGAAGTCCTATTCATTT ATTTTTGCTGCCAAAGTCCGAACAGTTTTTTCTAGCCGTGTCGGCAAAAG GGTTCTTATTGCGAATTCACCTCCTCCCCACTCGAGAAATCGCCCCCCCG CCGTCCTTGGTAAAACTGACCTAGAAAAATAAAAACAACACAAAGCGCCT CCCGCATCATCACGCGTATATATGTATATATATAAGATGGTAGGCGGGAA GAGGAATCGACGCAATATCGACTGAAGGTTGCGCAATCGAGATGGCTCTT CCCGGCACGGATACCTCCTCCTCGCGTACCAGGCACCCGCATATAGCTAA AGTTCTCCGCCCATTTCGTTACTTTTTTGTGCTTCCCATATCATCGCAGC AGCGCTTATGCCATTGCGCCCGACCCGATCCAACTTCTTATTCTTGTTCC TTAGCCTTCTCCCCCTCCCATGTCCTCCCGATATCCAAAAAGTGGGAGGA GCATGCCATAGTGAGAGGGCGGGGCCGGGACACACACAAGGCTGGCCCCG AGAAAACGAACAACACTTATGCCGAGGACAGTCTCGACAGTTGGTGGTCA CCCCACCTGCGCCTTGATTACCCCGCCCGTCCGCGCCCGCCGGGCTAAAG TATTTTGTTTGCCATTCATGTTCCTCATTCGACGTTCATCATGCTTCTGT TATGCTTCTTGGTGTTGGTCCGGTTCCTTTCTCTCTCTCTCTCTTTCTTC CTTGTGGATCAGATGCCATTCCGCCTTTTTGCTAGATAAGCGCATATTCA TCTCACTCTTCTTTGTTTTCAATTCAGCATTCTTTATATATCCAATATCC TACATCCTATATCCTCGTTCTCTCCTCATTTTCATTCATATGCCGATCCA TTTGGTACTGGTGGTGTCGTTCTTCTTAGTTTCGCTTTCCAATTCTTTTC TAGACAATTCCTTCTATTTCCAGAAACTTTTTTCTACACAATGCTCCCAG ACAGCCCATCCCCACGCGCTGCCCTTGCTCTCTCCGATCTTCAGCCACAA ACCGGCGCCTCAACGTTCTCAATTGGCAGTGGATCAGGCAACTGGTAAGT CGAGTTCTTATGTAACTAGTAGGATGGTAGACATCGAGATTAACGATGTC TGGCATTCGTTACGTAACGAACGGGTTCTCCCGCCGACCATCGAAGCGCT TAAGCGCCGAGATTCTCGGCTTCATCGCACCCCGGTCTAGCAAGTTTTCC AATCCATCCCAAATTACAGGTCGACAAGAGGTGTTGGTGGAGTTAATGGT GATTACATGGACAAATCCGGCGGAGGAATGTTCGGAAACAGCAGAAACAA CGTGAGTTATAAAAATATCTGGGGGGGGGGGGGGGGGGGGAAGTGTTGTT CTAGGCCAGGGACATTGAGAACCGCGTGATGAAGAGTACTTTTATCCGAA TTAAATCATAGGCAACGAAAACAAGAATCAGGTTCTTGTGCTTTGCACAC CATGTCGGAATATCCGTCTCAATCAAAACGAAAAAAGCCTAAGCTGGACC AAGTGTTAAATGCTTAAATGCCAAAAATGAACAATCTTTCAAATCACTTT CATCTTCCTGTAAATCAGAGAATCCTGAAGCGCTGGCGCGCACACTTACG AAAAGTGAAAGCCGATATATCAAGTTTATCACCTAGCGGGACTTCCATTG TCTCATTGTCTCTTGGCTATCCGCCCCACTTTCCCCCCGGATCATCCGCC CCCTTTAATCCAAGACTCTCGAACAGTTTCGCTTCATTCCAGGACCGATT CGCATTCGGCAACAACAGCTCGTCGTCCTCATCAGCAGGCTGCTTTTCAT CGAACAATTCGTCAGGCGGACTTTTTTCCAGTAAATAAGTTAATATGTGA GTTTTTTTTGTGTACATTTTCTTCTTTTCAAGATCCATTAACATTTCAGA ATGCGATCGGCAGCCGGTATTCTTATTCTAATCTCAATAATTATTCCCAG TGTATATAGTGAACCGAAGTTGCCCGATTGCGAGCAAATACCAAAAGTCT TGTGCTGTACCCAACGTGTCTTAGATAAATGTATGTCTGGTTGTATCGAT TATGTCACTGAGAAATGCCCCCACAAATTGGAAAAATACGAGACGATCGA TGAAGAGCCATCGACGAGAGCTCCAAAGAAGCAGGTGAAGCCAGCTAAGG CAACTAGCAACAGAGTTGTCGGAGCAGTTGAAGTAGACCATGAAGCCAAG GAGCAGTTCATCGACTCCAAGGATATCAGAAGAGCACCACGAGTCGGTGA TGCCAAGCTTCTCAGCCAGGAGTACCCGATCACCGAGGTCACCGACGCCG ATCTCTCCTCCGAGTGCGGAACCGAGAAGTCTCAGCCACCATTCTCACCA TGCTTGTCCCGCAAGTCGGCCGACGACGTCTTCCTCTCCTGCTGTCGCCA ACAGGTTCCATCCAACTGTCACAGCCTCTGCACCTACGAGCATCGTGAGC ATGTCGCCGCTGAAACTCTGATCCAGGCGATCCAGCAAGAGCACTGCGAT ATGAAGGTAAGAATAGTTCAATCTTCCTATTGAGTTTTTTTTTTGAGTTT TTCCAAAATTCATTCTTTCAGTACTTCTCCAAACTGCTCTACTGTGCCAA CCAAAACCGCGACAACCGCGCGTGCTGCTCCAACCTCGGCATGTCAAACG CGGAACTCGGCGTCGGCGATCGTTGCCTACGTATGTGCAACATCTCCCCG TCGGGAGACCGTGTAAGCTCTATGGAGAAGGAGGATCTCGTCTGCCTGTC CAACTGGAACGTCATCATGTACTGTGCCAGAGGTGGTCTTCGTACCATCA ACTAGACCATCATCCCCGTTCTCTTCTCCCGTAATAAGCTGGCTCAGGTT GTTAATAATAATTCGCCGCTCGTCTTAATAATTTTCCATTTTCCAATCTC GTCCCCCCTTTTCAACACTACCACATTTCTCAGTGATATTCATCTGAACC GCCCGACATACATCAGTTCCTCATAGTACCTAACAGGGTTCAACAAACCC ATCCACACACCGTCCCCCCACGTAACACCCCCCCCCCCCCCACTTAAGGA CCAAGTCCTAGTTACTGAATGTGCAACATTATGGCCAGAATGCAATACTT GTCCCATCTGAATCCATGTTATTTGATAATCTATGACAGTATTATACAAC CCTTTTTTTTCAAAACACAAGCCCCCTTGAAAACGAACTCATTGTATGTC AAACGGTATCCCTTATTACACGATTAATTGTGGAGTTTGAAGCGAATAAA TCAATCAATTTCTCGTTGGGTCCCACAGCGAAATGACTATTACCGGTACA GAGAGTGTGGATAGTTAGAGAGTGACAGACATCCGGGACCCAATGGGGCG GGGCGCGCGGAAGAGACGATTTGTGTCGATTTACGAAATGATGACAACGA GGAAAATTTCGTAAATCGACACAAATCGTCTCTTCCGCGCGCCCCGCCCC ATCGGGTCCCGGATGTCTGTCGCTCTCTAACTATCTACACTCTCTGTACC GGTAATACTATTGCAGTAATCGCAGGTTATTTCATAGCGATTTTTCATAG CTTCACGGATTTCTGGATTCCCTCATAAATTGAAATGGAAGAGTTTTTGC TGAACTAGGCCATTTTGGCTCTGTCATATCTGGGGTAGATTTACGGCGCG TTGCGGTTCGATTTTAGTTGTAAAACTAAATGTATTTGTCCGTGTGGAGT ACACGACTTTCTCACGCGTGGTCCGGCAGGCGATTATCAATAGAGCGCGA AAAATTCAATGAGGAAGGCCAGAACTCCGTGCAGCTTTACTCGCGAATTC AGGTGTGTGTTTTAATTGTCTTTATTCAGTTTTCTGATAATGAATATACT TTTTTACAGAAAAACTGGAAAACTGATAAAAAAGTCCCCAGAAACTAGAT ATTGAAATTACAGTACACTTTAAAGGCGCACACATTTTCACAGTAAACAA AAAATTTGTCGTGCCGAGATATTTCATCCAGATTATCAGTTGTTAAAATT TGACAACACTCATTTTGAATATTTAATGAATTCGAATGGAAAATAGAAGA AAGCTGCCAAAAAGTGAAATTAAATTCTCAAAAACTTGATTTCCAGACTT TTTTGGCGATTTTCGACCAATTTCAGCAGAATTTTTAGCAGAATTTTACA AATTTTTTTATTTTAAAGCTTATTTTAATAATTTTTCTCTGAAATATATG AATATCTTTGCTTTCGATGGATCTTCCTCAAAAGTAGACACACATTTTTA TTTTTCTACAAAACTGTGCAAAGTTACGTCGTGGTGTTTGCGTACCTCGG CGGGAATTTAAAGAGAAATGGCATTTTTCACTTTTCTCGCAGTTTTTCTG ATTTTTTTTTCGTTTTTTCGTAGTTTCCTAATAAAAAATCGTTCCAATTG TTTCCAGGTAATGGCTGGATTTGAAATTCAAAGAGTCGAGTCCAAATTCT TCGACTTGGACGACATAATCGCCAAGTCAGACTCCACGTCTTGCACATTT GAGATTGGAGATTTGAATCCAGGTCTGAAATCGCATCGAAAACCTAAAAA TTCTAGTGATTTTTGTTCAGATTTCTTCCAGGAAATGCTGGGAGTTTCGA AGCCAACTCAAAATGCAGACGGATACGGCGTTGATGCTCCATACTGGCTG CTGGAATCCGTTAGAAGTTCATTTTCCGTGAGAATTTAGTTAGATTTGCC CCGAATTTTAATTGAGAATTCCAGATTCAACTGCCAAAAGCTTATAGTGT GAACATGCAAAATGTGCTGAACGCTGACAGCAAGAAATTGAATCTCTCCG GCTTGCAGCAACACTTTTACGGCAACGGGATGCAGTTATGCCGTCTGATG AAGGGCGAAAATCCGGACGGCGCGCTGAGCCTCGCACGATGCCTTGTCTC CACACTTACACAGCGATTAGGAGGTATTAATTAATATAATAAAGCACTTA TAAAATACAATTTCTGGTTTTTTTTTGTTGCAGAAATTGTGTCAACTGCA ACCCATCTGCAAAGCAAAGGCGAGAAATTTGACAGCCTCGAGACAAAAGT GTTCCTGGAGGGTAAACGGTGCAAAGAAGACATTGATACTTGGCTGAGAC AAGACAATAAGTGCTCGAGCAAGAAGCGTAAGAGACTTTCGTTATAAACT TCAAATTTCTTATGCTTGAATCTAATTTTATTTTTTTTAATTCGTCTGTA AATATAATTCAAACCCACCATTCTGTAATAATATTTTATTTTCTATTTTT TCACACTCATTTTTGTGTTTTATTGGTGTAATAAACCTGGTTTCATGACT TTTTTGCAAGGAATTTTGTTGAAAAGGCTGCTGCAAAAACTTTGCCAGCA AAAAATTTTGTGCAAGCACGCTCCATCGCACAGTTTGAACGTCGCGGGTC GAAGTTAGATGTGCAGGTCATATAGCAAAAAGAGAAACACCCCTTTTTTT CTCGAGAAGTTTCACCAATTTTGCGCGATTTTTCAACTATTTTTTTGCTT TTTTGGCTTAATTTTGGCTCAGATTTTCCTCAAAAACATGAAAATCCAAT CTAGAATAAGTAGTAATGGGTATATTCTAAGATTGTGCAAAAGTTAGCTT GAATTTCCTCGATTAAAGCTTTCCTACCAAGAAAAATGTGTGGATATTTT GAATTTACAAGTTTTTCATCTTTTTTTTGTAATATTCTCTTTGAAACTCC TGTTTCTCTCAAATTTGTAAACTTTCATAAACGTTTTTTTCAGGGTTACC ACATTAAACAATGACCGGAAGCACCGAAACTCGCCAGAAGGAAGTCAAGG AGGTTGGTTGTTCAAAGTGACGTCTAAAATATTTAAATTTCTATATTTCA GCCACAAGTTGACGTTTCGGATGATTCCGACAACGAGGCCGTCGAGCAAG AGCTCACCGAGGAGCAAAGACGTGTGGCCGAGGCTGCTGGACTTGGAGAT CACATCGACAAGCAGGCCAAGCAAAGCCGCTCCGAGAAGAAGGCCCGCAA GCTCTTCTCCAAGCTCGGACTCAAGCAAGTGACTGGTGTCTCCCGTGTCT GCATTCGCAAGTCGAAGAACATCCTCTTCGTCATAAACAAGCCAGACGTG TTCAAGAGCCCAGGATCTGACACCTACATCATCTTCGGAGAAGCCAAGAT CGAGGATCTCACCCAACACGCCCAGATGTCTGCTATTGAGAACTTGAAGC CAACTCGTGAGGCCCCACAACTCAAGACTGTCGAAGAGGACGAGAATGAG GATGTTGAGGTAATTCAGTAACTTAATCGGATTTATTACATTAATTGTAC GGTTTAAGGAGGATTCCACCGGCATTGAGGAGAAGGACATCGAGCTTGTC ATTTCCCAAGCCAACACCACCCGCAACAAGGCCATCAGGGCGCTTAAGGA AGCTGACAATGACATCGTCAATGCCATCATGAGCCTTACCATGTAGCTTG TTTCCTGATGACCTTGCAGATACTCTTGTTATCGTTGTATCTCTTGCTTA TCCCGTTTTCCGTTCCAAGTAAACGTTTATCAGTCTTTTTTAACTTTTTT GTTATGTTTAAAAAACAATTGCATCTTCGAATTGACCTACCTTTTACAGA AAAGAACAATTAAATCACTGTTTGTGTAAAACACCCCTCTATTGATCGAG AACTTTCACTTCTTCCAATTCTTTACTCGTATGACTGTGATTCATTTCAC CTGCTATCACTTTATCATGACATTCCAGTTTATATCAACAGCAAATACCA ATTGTGTGTATGTGAAAAATGCTATTGAATAGCAAGCGCGCCCCAACAAA CACGTTTGAATGCGCGGGCGAAACGGCGTTAGATGTGCAGGTCATATGAC AAAACGCATCGACCAGCAGCCAATGGCAAGTTACTGCGAGCTGTTATAGA TTTTTTCACATGGTTTCCAGTGTTATCAGTTGGAAATCGATCGATAATAC TGACTAGTAGTACTTAACATCTTCATTCCCACCGTTTCGCTGTCATTTGT GATACGTGGATTTATTTTTCCTTTCTCGCCGACTTTTCATTTCTAAATCT TTTCTGGAATTGCGAAATTTTCAGCCAGTTTCATGATCGAATGGCTCGTA ATGAACCATCATCTCAGCAGCCGAGTAGTTCCGGGAGTAATGGAACTCCA GCACAACAAAACGGGTCGGCAAAACCATCAAAAGTCACAGTAAAAGGTAA CAATTCGTAGATTTTTTGCATCTGTTCTAATAATATTTCCCCCTCTTAAT CATAGTCGTCAACGCGTCGTTCACCAAGGCAGCCGACTGCTATGTCGAAA TCACGAGTGACACGTCATCGGCGGCGCCAAAAAAGACGACTGTAAAGAAG AAGACGATGGCGCCCGAGTGGAATGAACATCTCAACGTTCATGCAAATGA ATCTTCGACAATTTCGTTTCGTCTATTGCAAAAAGCCAAGCTATTCGATG ACACGTGTCTAGGGATGGCGAAGCTGAAGCTTTCGAGTCTCACAAGAAAT GAGAATGGAGAGTGTAAGTGGTTTTATTGAAATTTTCTCAAAAAATCTAT TATTTCAGTCAAAAACGACATCAACAATATATCTTTGCTGGCCAAAGACT CCTCGAAAATCGGAACTCTCAACATAATTTTCTCCGGATATCCAGAGCGG AAACGAAGAAGCGCAGGAGTACGAGCTGAAACCGCCGCGTCTGCAAGTTC AGAGGCATCCACGTCAAATGGCGTTGCCACGTCATCCTCGGCGCGGAGAC CGGCGACAGCGAAGCGTGACACTTTGGCGGCTCCAACGGTAATCGTGACG AGACCCATTTTGAATTATTTAATTATTCATGAAACGCTCTACTGGAGTGT TCATAATTATTAGAGCGCGCTCGCGCGGCACCTCACGAACTCCAGAATTC GCGAGGACAGCAGTTTTTGGCTATTTTGGCTTCTATGGAAATTATTTTTA ATTTTTTGATTTAAAATATTGTTGAGAAGCATCATCCAAATTGAAAATGT GTAAAATTATGAAATTTGACCGAAAACTGAAGGTTTTACAGAGAGGAGTC ACCACGGCTTTCTTTAAAAAGTATCAGTACCGTCAGTATTTCGATTTCAG AGTCGTAAAATATGTCATTTTGTAGAGAAACGTCTGTTTCACAAAAATCC ATGTTTGATATTTTAATTGTTTAATTTCTAATATAAAAATATTCAAAAAA TCAACAAGTTTACGTTAAAATCGAATTTTTCAATCGTTCAGTTTTTAATA AGAACAATTTCATAATTTCAAACATGGATTTTTTTGAAACAGACTTTTCT CTACAAAATGACATATTTTACGACTCTGAAATCGAAAAAACTGACGGTAC TGATACATTTTAAAGAAAGTCGTGGTGACTCCTCTCTGTAAACCTTCAGT TTTCGTTAAAAATAATTTCCATAGAAGCCAAAAATAGCCAAAAACTGCTG TCCCCGCGAAACGAAATCCCGCGAATTCTGGAGTTCGTGAGGTGCCGCGC GAGCGCGCTCTAATAATTATGAACACTAGAGGAGAGCGTGAATGAGCGTT TTTTATTCTTTTCTCTGCATTTTTAATGCTACAGAATCATACACAAAATG TTGTCAAATACATGCATTACTCTACTACTCTTAATGTTTACTTTTCATTT GCAGAGTACCGCAGCGGCGGCAGCAGCAGCAACAGCAGGCGGCACCCCGG CCGCCGGAGCAGAAGAACAGCTTCCCGATGGATGGGAGATGCGTTTCGAT CAATACGGACGCAAGTACTACGTGGATCACACCACCAAGAGCACCACGTG GGAACGCCCGTCTACTCAGCCATTGCCACAGGGATGGGAAATGCGAAGAG ATCCGAGAGGAAGAGTGAGTTTTCCGGCGGAAAAAGCAGATTTAGCACGA GAAAAGCGTTTCTGATTATATTTTTGATGCGAAAATCATCAAAATTAAAA ATATCTACCGTAGCCGCGGATACCTGGACCAAAATGCCGAAAAAAGTGAC CTGATAAATTATTTTAAGGCTAAAATCTTGATTTTTACATAATTAGTGTC TTATTTTTGTTGATTTCTTGTCAAATTTTTGTAATTGCATCGAAATAGGC CAAAAATAAAGTAAAAATCAACTTCCAACACAGAAAAACTGACAAAATTG AAGATTTTTGCTGAATTCAGGCAATTTTTCGTAATTTTGATCCTCCATAA TTTTTTTTTTCGAGAAAATTTTGAAATTTTTTCTTTAAATACGGCCTGAA AATTAGGAAATTATAACGACGGATAAAAAATTCTGATTTTCTTTATTTTA ACCAAGGTCTCCAATTATTTGATAATCGAAAAAAAAAAAACTTTCCAGTG ATTTTTACTTGAAAAATGTCTAAAAATTCACGCCAGGTGCACAATCCATT TTCAGGTGTATTACGTGGATCACAACACGCGCACGACCACCTGGCAACGA CCGACAGCCGATATGCTTGAAGCACACGAACAATGGCAATCGGGAAGAGA TCAGGCGATGCTTCAATGGGAACAACGTTTCCTTCTCCAGCAGAACAACT TTAGCGCCGACGATCCACTCGGACCATTGCCCGAAGGATGGGAGAAGCGT CAGGATCCGAATACGTCGAGAATGTACTTTGTGAATCATGTAAATAGAAC GACACAATGGGAAGATCCGAGAACACAGGGGTATGTGAAAATTTTCAATT TTCCAATAATATTTCTATCAAAAATCACAGTTTTAATGTTTTAAAAGTTT CAGAGGCTCCGACCAACCTCTTCCGGATGGTTGGGAAATGCGATTCACCG AGCAAGGCGTTCCATTCTTCATCGATCACCAGTCTAAAACCACCACCTAT AATGATCCAAGAACCGGAAAACCCGTCGGCCCGCTCGGCGTCGTCGGTGT TCAAATGGCCATGGAGAAGAGTTTCCGGTGGAAAATTGCACAATTCAGAT ATTTATGCTTGGTAAGGGAGGGCGAGAAATTCTTTGATTTTAGCTATAAA TTGATGTAAATTTCAGTCAAACAGTGTGCCTAATCATGTCAAAATCACAG TATCCCGTAATAACGTGTTCGAAGACTCATTCCAAGAAATTATGCGTAAA AATGCAGTCGATCTACGCCGGCGGCTGTACATTCAATTCCGAGGCGAAGA GGGTCTCGACTATGGAGGTGTCGCCAGAGAATGGTTCTTCCTGCTGTCGC ACGAAGTGTTGAATCCAATGTATTGCCTATTCATGTATGCTGGTAATAAC AATTATAGTCTTCAAATCAATCCAGCTTCATTTGTTAACCCGGATCATCT TAAGTATTTCGAGTATATTGGACGATTCATTGCCATGGTGAGTGTTTTTT TTTAATTGAAAATCAGTTGAAAATTGGATGAAAAATTGCGAAATCGAGAG AAAATCGAGTTTTCCGCTTTTTACAATTGAATTTTAAAATTTTAAACGTT AAATTTTGCAGAAAATTCCAAAAAAAAGCACTTGGATCTAAAATTTTTGT TTTTTGATGAAGGAAATCCTTAAATATCGATTTTTTTTATTTTCAGCTCA AAAAACCTGGAAATTTCGATGATCTCAAATTTTCAGATCAATATATTTCA TTTTCTCCTAAAAATGTTATTTTTATTTAAACAAATAGTTTTTCTTAGAA AATTCCTTTATTTTCAAATTTCCAGGCGCTATTCCACGGGAAATTCATCT ACAGCGGTTTCACGATGCCATTCTACAAAAAGATGCTCAACAAGAAGATT GTTTTAAAGGACATTGAACAAGTCGATTCGGAAATTTATAATTCATTGAT GTGGATCAAGGATAACAATATCGATGAATGCGATATGGAGCTCTATTTTG TTGCCGATTACGAGCTGCTCGGCGAGCTCAAGACTTATGAGCTTAAGGAG GGCGGTACAGAGATTGCTGTTACCGAGGAGAATAAGGTGAGATTTTGGAT TAGCTAGAGCTTATAAAAATAATTTTTAAATAAAATAATTTAATTTAAAA AATCCCAATTTTCCAGCTTGAATACATCGAACTGCTCGTTGAGTGGCGCT TCAATCGCGGTGTCGAACAACAGACAAAAGCCTTCTTCACCGGCTTCAAC TCGGTCTTCCCGTTGGAATGGATGCAGTATTTCGATGAAAGAGAGCTCGA GCTGTTGCTCTGCGGAATGCAGGACGTTGATGTGGACGATTGGCAGAGAA ATACTGTCTACAGACATTATGCTCCACAGAGCAAGCAGGTAGGGGAGAAC ATTTGATTAAAACTTCTTTTTTTTTAATTAAAAAATACATTTATAGGTAA CCTGGTTCTGGCAATGGGTTCGAAGTCTGGACCAAGAAAAACGTGCCCGG CTCCTACAATTCGTCACAGGAACGTGCCGTGTGCCAGTCGGTGGATTTTC CGAGCTGATGGGCTCGACGGGACCACAACTATTCTGTATCGAGCGTGTCG GCAAGGAGAACTGGCTCCCACGGTCGCATACGTGCTTCAATCGACTCGAC TTGCCGCCATACAGAAGCTACGATCAGCTCGTCGAGAAGTTGAGCATGGC GATCGAGATGACGGAAGGATTTGGAAACGAGTAGTCTCCCGTTGTTTTTT TTTGGTTTTGCTGGCCGCCTAATTATTGTATAACCCTCATATTTCTTCTC ACCCACACCCCATTGATTTTCCTTTTTTTTCTCTCCATCAATTAATGTTT CTTTTTTTCGAATTTGTGTGATAATTTTCGTGTTGTGATACCACTTGCTT AGGTTCTCTCTCTCTCTTTCCTTTCCTTCTGGGTATGTACCTATATTTAG AATATAGACAAAGCATCTAGTTTTTTTGGATTTAATTTCCAAATTTCCCG TTTAATTCCAACAACAAAAAAACAATTCCACCACTTTTCAAATATTTTTT TTGTGTCCATTGCTTCATTGCTTTTCTTCTTCTCAACCATTTCAACCACC ACCACCCAATCTGCGCCTTATTCTTACTTGGTCCTTGTCATTCTTAGTTC CAGTTTTTTTCACGGAAGCAGCTCTCGATTATTAATTCAAATGCATCCCC CCAACCAATCCGTCACCCCCCGATTAGAACAATTTCTACTTTTTTTTTTG AAAACAAAAAAAAACACAATTCCTCGATTTGGTTGTAATGAATTTAATTT TTTAAATTTTGAGCCTTTTTTGTTGTTTTAGGTTTTCTTAACTTTCAGAA TTTCCATGCGGAACACACGGAGAGCAGAAGATCAATATTTTGAACCCTGC AGGAGAAGGACGGGACCCTTTGGTCACTCATGTCTCGGCTGTCTGCGTCT CTCCTCTCTCTCTGCACCAGCGGAGAGGATGGATAGCCTCATTCGTTTTA TTTCGGACTTTCGATTTTTCTTATTGCTCCACGTTTTAGCTTTTATCAGA TTCGGGGAGCTCTTGCTTTTTTCTTGATTTTTTCGTAAAGTGTTCTTGGG TCCCGCAGCGAAAATTAACTTTAAAATGATTTTTTAAAAACTTTCTAAAA ATTCATTTTTTTTTCCATTTTACGACTAGAAATTTCGAAATTTGAAAAAA AAAACCGTGTTGCAAATGCGCTCCAGCGTACAAAACAAAACCGCCACCAA AAAATTTAAATTACTGAAAAAAACGATGAAATTTTGAATTTGTTTTGCCA TTTTCCGGCAATGATTTTTTAAATAAAAAAAACTGTACAACAAATGCGCT CCAGCGAACTAACCTTCAAATTACCGAAAAAAATTATAAAAATTTGAATA TTTCCGATTAACCCAAGAAAAGAAAAATTCAATGATTTTCTTGAAAAAAG TTATTTTTTTCTCAATTTTTCGTCAATAATACTCAAAATTTGAAGAAAAA TTGTGTAGCAAGCGCGCTCTAGCGAACCAAACAAAATGTCTCCATTGAAG CGTTTCACGAGGTTCTGGCCTACCTCATTGAATTTTTCGCGCTCCATTGA CAATCGCCCGCCGATAACGCGTGGGAAAGTCGTGTACTCCACACGGACAA ATACATTTAGTTTTACTACAAATATCGAGCCGCGACGCGACACGCAACGC GCCGTAAATCTACCCCAGATATGGCCGAGCCAAAATGGCCTAGTTCGGCA AAAACTCTTCCATTTCAATTCATGAGGGAAGCCAGAAATCCGTGATCCAA GTAAAAAAAATCCCAAAAATTTCAATTTGCAAGGGCGCTCCATTGAAAAC TGTGGCGCCGATCGCAACTCACGGTCGAATTTGAATTTTTAGTTGAAAAA AAAACACCAATTTGAACTGAAAATTTGAATTTTCAATTTTTTCCCTAAAA TAAATTGTTCAGAGTTTCGCTGTCGAATTGTTGATACCCGCTCGTCAGAA TTGGAAATTGAGAAATTGAGAGAGAATTAGAGAAGGAGAGGAAGAGGAAC TGCTCACTGGTCCCCTCACTCCATCCGAAATTAGGCACTTTTTGCTCCGG CGGCACTAGAAGACGAAGAAAAAACGACGAGCAGAACACAATCAATTTCG TCTTCTTTTTTATTTTTTTTTGGTTTTTTCTTGTTGGTACCACGGATTTC TGGCTTCCCTCATAAATTGAAATGGAAGAGTTTTTGCCGAAATAGGCCAT TTTGGCTCGGCCATATCTGGGGTAGACTAACGGCGCGTTGCGTGTCGCGT CGCGGCTCGATTTTAGTTGTAAAACTAAATGTGATTTGTCCGTGTGGAGT ACACGACTTTCCCACGCGTTGTCCGGCGGCCGATTGTCAAAGGAGCGCGA AAAATTAAATGAGGAAGGCCAGAACCCCGTGGTAAAACATGGTGCATCAA CGCAAAAATTTTTCATTTTTTGGAAAAACTCAATTGTTTTTTTTTCGCGT CGGGACCACCAAACCAGAGCTCGTTTACTAAATTGAATTTCCAAAAAAAA AAAAATTTCGCTCTGTTCAAAATTCGAAATTCAGTTTTCTTTCCCTAAAA CCTAATAAAATGATCTTGGCACAATGCTCACTGTGAGCTTTGGGTCTAGA ACGATGGCCTAGAAATGTTGAGATTTCCTCTTCCAGCGCCCTTGCCAATA TGACCTAGAAATTTCAAATTAGTATAACTCGGCCATTTTCCATCCGTTTT CGCCAAAACTACACCATTATAACATTTAAAACTTACTTTTCAATATGATG ATAATACTTTTCCAGTGGAAGAGTTTTCCGCATTTCTAAGCCACCAAAAC CTCTCCTCCCGACGTTTTATCAAACAAATGATATCACTGTGATTTGTGTT GTAAGTTGCGCGCATGATTGCACTTGCGCAATTAATTAAGACAATTACTC AAAATTTTGATCGAATTAACCCCATGTACATATAAAATACAAGATTTTTG TGTATTGTTCTTCAAAGTTTTTTGTCGTATTTATATAGAAGCAGTGTACA CCTAAATTTGGCTTATTACGACCTTTTTTTCCAAGGAAAATACTCATTTT TAGGGTTATAAACCCCTTGATTGATACGTGGCCTAGAAAACTGCAAGCGC TTTTTCCTGGAAGTTTTAGGCCACCAGTTAGAGTCTTGCAAAGACGGACT AGTTCTCACATGACCCAGAAAGTCTTAGTCCATCACGTATTTCTTACGAC GCCTAGAAATGCAAATCTTCGGCCACCAATTTTCATAGACATTCTAGGCC ACCCTTTTTGACGTGGCCTAGAATCTTTAACAAAATTTGTAATGAAAATC CTAGGCCACCATTCAGTTAGCTCTCATTTTTGATACTTCGCCTAGATTTT TAACACGTGGCCTAGATTTCTATTTTAACACGGGGCTTAGATTTTTATTT TAACAAGTGGCCTAGGTTTTTGCTACTAGGCCTAGATTTTTTACATGTGA CCTAGATTTTTATTATAGCACCTGACCTAGATTGTTGGCATTTGGCCTAG ATTTCTGTCATGTGACCTAGATTTTTTAATGCACCAAAAATTCTCCATAC AAATTTAACTCCTACACTCTAATTTGTAATCAGAACCTTCGATAAGAAGA ACATGGAGCTACTGCGGTGCTCAAATTCCGAACAAAAAACGGCTGAAAAA CTGAGGTATACGTGGTTTTTTTTCGAAACTGATAAAAGTCAGCATAAATC ACGATAAACTGAACGTCCTTTGGCCAAGTTTAGAGAAACCTAGGCCACGG GTAGTGGTGGCCGAATTTTAAAAAAACTGGGCCACGAGGTTTACGTGGTG TCAAATTGCCCCATTTTGGTTTGATCTTCGAAAAATGCGGGAGACGAGAC GCAGACTTTTCAACTGATTTCGCATGGTTAAGAACGTGCTGATGTCATTT TTTTCCGTGGAAAAATTCCCGCATTTTTTGTATATCAAACCACAACGAGA CACTCTAACACCACCGTCCGGCCGTTCAAACGAAAATTTAGGCCACGGCC ACTAGGGTGAAGTGGAATGCCCTACCCTTCTCTACAAAATTCATTGGAGA AACCTAGGCCATGCTCAAAGAAACAGTGGCCGAGAAAGGAAAAACTAGGC CGCGTTCGCTTTGTACCTCTCTTATAAAACACTGTCTGTTAGTTCATAAA TCAGAGTCTGCCCCCTATCACTACTCTCTCATTTACCTGCCCCTCTTAAC AAACAATCAACCCCCCCCCCCCCTCTAAATCGACTACTTGTTCCCCGTTG TACCTGTCTGCGTCTAGCTATTTCTGTTAAATTTTTGGAACGAAAAAGTG GTATGTGAATGTACGAAACAAAAATAATAATCAATTGAATACAATTTTTG CCCCCCCCCCCCCCCCCCCTCCACCCCGCTTGCCTGTCTCTAACCGGTTT CCCCTTTTTCACCTCAATCAGCCCCCCCCCCCCCCCCCCCCCCCCAATTT CATTTGACTGTACATTTTCCTTTACCTATCTGCGTATCTACACAATTTTT GTATTTTTTCCTTTTATTTTTCTAATTATAAACCCTGCAATTTGCAAGAA AAAATCTCTAAAACGCTTGGCCCCTTACCCGGAGTGCGACCGTGGCCTAG AAATTTATATTTCTTATAAGACCCCCCGGCTCTTCCAATTTTTCATTTTT TTTCTTTGAAAGCCTAAATTTTCATTTTTTCTTAGAGATCAATATATTAT GGGTTAGTAAAAAATTTCAAAAACAAGCTCCCCGTGGGCGTGGAAGAGTT TTCCAAATTTCTAGGCCATACTTTTCGAAGGCGTTGGGGTACGCTCGCAC CCTAGTACTAAAAATTGTAAATTATAAAATTATCATAAAATTGGCTCAAA GCATTTGAAAATAATAAAAAAAATTTTAGAAAAAAAAACACGAAAAAAAC CCCTATTTTGAACATGGTTCATCGACCGGGACCTATATACTTTGAAAGCT TATATCTCGCTTCATGTTTGTTTTATCAAAAATTTTTCAACCAACAAAGT GTTTATTATTTCTTTTTCTATATTTTTGTAATTAAAAACTTTTTGATAGC TTCAAAAGTAACTGAGATACATGTTGTCAAACAGAGCAAACTTATAGCTT AGCCCAATTATTTATTTTTTGCTGTGTAACATTTCTTGTATAAACTTTTA AAGTTTACGGTTTTTTTAAATTTCTAAAAAAAATTATTGACACTTTAAAG GGAGGTCATGTGGAGATAGCCTGTACAAATAAAACTGATGAACTAGGACG AACCGAAATTCATAAACCATTATTTACACAGGTGATTCTTGCCTTTTTTG GAGGGTTAAAAAGGTTAAAAATTATTTAAAGCTTGGAATGAGCATTTGTG CGGCCGAGTTTTTATTTTCTAGGCCATAATTTTTAAAACAATGGCCTAGA AGCACAAATTTCTAAGTAATTTGAATTTCCCGCCAAAAATTTTTTTTTCC ATAAAATTTAAATTTCCCGTCGAAAATTTTTTTCGGAAAATTTGTATTTC CCGCCAAAAGATTTTTTGTCTCAAAAAATTTGAATTTCCCGCCAAAATGT TTTCTCAGAAAATTTAAATTTCCCGCCAAAATATTTTTTGTCTCAAAAAA TTTGAATTTCCCACCAAAAATTTTATCCCAAATTTTATCGAACATTTGGT GGCCGAATTTCCATTTTCTAGGCCACCCTCAGTTAAATCGTCAAATAAGT TGACCTAATTAAATTAAAAATTAACAATTTGTAATGTCTCCGACCAAAGT TTCATAATTGTATAGATCATCATGGTGGGAGGCGGGGTAGCACTTATGAG TGAACTTACCGGTTGACCGCCCGTCTATACATAGTAGCCAACACCCGACC ATTTTCTGCCAAATACCTATAATATCGCTTCGAGACCCAACTATTGCACA GTTGTGGTTTATTTCGGTTGAAGACCCAATATTAATTTACCTACAGCTGC TAAAGCGTTTTAAGACCTAAAAAATTAAGCAAGGCCCAAAAATCCAAACT TAATACTATAGTACTTCTCGTTTCGAGACCCAAAATCCAAAGCTAGGCCA TATTCTTGGTGAGACCCACCTGTAATAAATATCACTTGAGTGAAAGTGAA CTCTTACTTTTTTCTTTCGACAGCCAAAAAAAATTGAGTCAATTAGCAAA TAATTCACGTCTCCCCCTTTCAATGTTTACATACACATTACGAACGAGAA AAAAAAACGAGAGAAAAATTGAGTGAAATGGAATCAAAATGTGTTCATTT TTACTTTTTATGAAAATTTGGATAAGCACATGGCGTCAGAGTGTCCCATT TCGGCTTGATCTACGTAGATCTACAAAAAATGCGGGTGAAGAGACGCAGA GTTTTCAACTGATTTCGCTTTTTTTTGGGCGAAAATTTCCGCATTTCTTG TAGATCAAACCGCAACAGTGGATAAGCGCGCTCTATCGACAAACCCGGTG TGTACTACTCGCGGACAACCAGTATAGTTTTTTTTTTGAATTTTTGTTCG AAATTGAAATTGAAATAAGATGCCAAATTTAAATTTAAAAAATAACAATT TTTGAAATTAAATTTTTAAAAAAATTCCCCGTAAATCTACACTTAGTCGC GTAAATCGACAAGGCTATTTTTTTCAATTTTTGCCCATCGCACTTTTTTT GCCCAATCAATCATCGTCAATTGATCCATTGATCTTCTTCTTCTTCTCTT TCTCTTTTCTCACCACCGAAAATTTCATTTTATTTTTTGACACTGTCTGC GTCTCTCTGTACCCCCTATCTCTCGCCTCTCAAGGACTATTACAACGAAA AATTTGGGGAGAAGCCGTGATTTTCATTTTAATTTTGATGAAAAATTTTA ATGAAAATGAAAAAAAAAATTGTTTTTCAAAAAACAATCCCCTCGTAAAT CCACACCAAATTCAATATTCACCTTATTACAAATTGATTATTTTTCCCAA AAAACACACGACATCGGGCGCCCATCTATTGTTTTTTATTCCAAAAAATT TCTGCAACTGTCTGGGTCTCCGGTTAACACTGAGAAACAACAAATTTCAT TTTTCGATTCATTACATTCATTTTGAAGGTTTTTGGTTACAAATTCGACA CGGATTTCTGGCTTCCCTCATAAATTGAAATGGAAGAGTTTGCTGAACTA GGCCAACTTGGCTCGGCCATATTTGGCATAGATTTACGGCGCGTTGCGTG CCGCGTCGCGCCTCGATTTTAGTTGTAAAACTAAATGTGAAGTGTCCGTG TGGAGTACACGACTTTCCCACGCGTTGCCCGGTGAGAGATTATCAATGGA GCGCGAAAAATTCAATGAGGTAGGTCAGAACCCCTTGAAAATTGAGAAAA AAAAATCTCACAACGATACTCCGCAAAGTGTGCGTGTTGTTTATTAAATG ATAAATTCAAAAGCAAATAGCGATTTTGTTTCAAAAATATGCCGAAAAAA AAGAAAAAAAATTAAAACAAAAGTTCAGCCACCAATTTTATTTCTCGGCC ATGGTTGTGTCGTTGTTTATTTTTTTGCGATCGTATTTTTTCTATAATAA GACTTAAAATGAAAAAACATTAATAAAAATCAGTTTTCCATGGCCACTGT CAAAAGTCGCAACGACACTCCCCTTCCAGGCTCCTCCCCCCCGCGTGTAT TTTAGCATGTAGTGTAAATTACGCGATTTTGTGTATAAAACCCTAATTTT TTAGAAGATTTGAGAAAAAAAACTTTTAAAAAATGGGAAAAAATCCCCTT TCCCTTTTTTGAAATACTTTCCGACAAAGTTTAGCCAAAAGTCCAAAAAA AACCAATATGGCCTAGAAAAAATCAAAAACTCGGCCATCCAAAAAACTAG GCTACACGTTCTTTCGACCTCTGCTCCCCACACCTATGCTGCCCATATCA AATGTCTCCCGGACCCCTCATTCCGTCACACATTTCTCAAAAAAATGTCT CTTTTTCTCAAATTCTCTGTCGAAAATCCCATATCTCTTCAGTGTTCAGA ACTGACTGTTTTATTTCAATTCTCATGATCTCATGTCTCCCGTATGACTC ATTCCTTCGATATATTTTTCTTTTTTCAAAAATCATTTTTCCTATATATA GACTTTGTTCGGTGGGAATTTCTCATTTCAAAATATTTATTGAGGTCGCT TGTTCCCTTTTTATATGGTCGTGGCCTAGGTTTCTAAAACTCGGCTACCA TTTCCAAGTTGTAGCTTCGAGCTCTTTGTCTCGGAGTAGAAAAAATTCAC GAAATAAATAAAAGTTCACGTGGCCGTGGCCTAGATTTCCAAAACTCGGC CACCAATTTTTTTTCTCTTATCAGTAAACCACGTAGAACTCCTTTTTTTC TAGCCATTTTTTAACTGAATTTCCAACATATTCGGTGGCTCCATCAATTT TACTGATAGTAATTTCCAATAAAAAAAGGTATTTCTGTCGATAGGAACCC ATTTTCATCTACTTTTTGTTTCTACTTTATGGGTTTTGCCACTTTCCCGC ATGCCTACGTGCCTACCTATCTGCCGACCTAATATACCTCGTAGGCAGAC CTCGGCCGCCTTGTGGTGAGATGCCAGTCGCTTTGTAGGCAGGCGTAGTT TGTCTTGCTGGTATGAGTAGGCCTGTCAGCCGCCCAGTAGGCAAGCGTAG GCATGATGCAGGCGTAGCAGGCTTCTTAACTAGGCATCGGCTGCCTTGTA AGCCGGCGCAGGTAAGTGAAGGTTTCTTCGTGGCTGGCATCCTTGCAGTC AGGCACAAGTCGTCGGCTTGAAGGCAGGCAGATGCCGCCTAGTAGGCAGG CATATTTTACTTATAGGCAGGTATTAATGATCCTCTAGGCTTGCGTTGGT CGGTTTGTAAGCTGTCGTAGGCTGCCTTGTAGGCAAATTGAACTCTCAAA CCAAACAACACAAAAATTCCAATATTTTTTGTACCTTCTGATTTTGATCT CTGACTCATGATCTCTTTATCAATCTCATATCTTCCATTTTTAGAAATAA ACAATTTTTCCCTTCTATTCATTGACTTTAATCCCTTTCAATATTCATTC AATACACCTATAATACGAAAAACTCTTATCTTTTTTCATTTTATCACACA TGGTGCATAATATTATAGTTAGTGGCTATTGAAAAAGCACATCATTTTAT CACTTTTTGTCACTTTTCCACGATTCTCAACGTCTTTTTTTTAAACACAA AACGTTTCCCGTCATTTTCTACAGTACTCCCGCATTTTCATTTTCCAGGT GAGACCTGAGATGGAGGGCGACGAGTTGGTTCATCGTCCGACGGTCCTCT CGACGACGGCTTCTGCCACGTCACGGCCGCGACACAAGACTTTTGAGCTG TTGGGTCCGGTGAATAATATCTCGTTGGCTGATATGTATAAAGTGTGCGG GAAGATAATTGGCAGGTTCCCGATTGCATTTATTATTGCGACGGTGATCA TGTGCAGTGGTGGATGTTAGTTTTTTTTGACGTAAAAAATACAGTTTGAG AAAATCTTTTTTTAGATCAAAAAAGAAGAAAAATATGGAAAAAACAACAT TAAAATATTTTTTAGAAATCAAAAAATGTAAAAACTGTATGATTTTACTT AGGGCCTCCATGGTAGACAGGCACGGTTTTAGGGCCTGACGCCTGCCTGA AACCCACGTGGAGTCAGAAAGTCCCATTTCGCTTTGATCTTCAAAAAATG CGGGAGAAGAGACGCAGATATCTCATCTATTTCGCATGGTTAAGAGCGTG CTGACGTCACAATTTTTCTGGAAAAATAATCCCGCATTTTTCGTAGATCA AACCGCAATGAGACAGCCTGACACTATTAAGCCGCAAAGGCAAAAGTGTT TGCCGTCTGAATTTTGAAACAAAAGGTTTAACCGGTGAAAATTGAAAAAA AGTATAATAATAATAATAATAAAAGTAGAACTATTTTCAGTATACTAAGG CAAAATGATTGTTTTATAAAAAAACTTAATTTTAAAATTAGATCTCCTAA ATGTTTCAAGCAGCACAACTTTCATGTGATGTCAGGCTGTCTCATTACAG TTTGATCTACAGAAAACGCGGGAATTTTTCTCCCAGGAAAATGTGACGTC AGCACACAATGCATAATCAGATGAGATTTCAGCGCCTCAACTCCCGCATT TTTTGTAGATCAAACTAAAACAAGACTCTCTGACACCACGTGAATTTTCC AACCATCAAACTATCACAAAAAAATTGGCGCCAAAAAAACTTCTTTAAAA ACTTCTCATTTCCAGTAGGAACAATCGGTCTCGAACTGAAGGATAATGTG CGCGACGGGTACACGCCGAAAAACTCGCTATCCCGACTGGAAAATCGCCT TTATCGAGAGTTCCTGAGTTCCGAAGGTGATCCGGTGATGACTACAGTTC TCATGACTGCCAAAGACGGAGGATCCATGCATCGGATCAAGTATTTGGAA GAAGCACAGAGGGTGAGTGGCATAACATATCGGATACCGTATTTCCTCTA TTAGTAAGGCATGCAAAACTGATTTTCGGACACCTAATTTGATGCAAAAC TAATAGAGGGTGCAAAACTAATTTTCGAACAGGTTTTTTCTCATTAAGTT ATATTATAATATCATCAATTTCAATAACAACTTCTGAACCAAAATGGGCG AATTTTACGACTGATACGCAAAAATTGTCCGAGTTGTACTCATATTTTGC CAGTTTTGACTTGTTATACCAAGTCTGTAAGAGTTTTCCTAATTTTCAGA ACGATTTTATAATGCAAATTTTGAATTCCTAAACATAGGGAACAAATTAA GGGGTGCAAAACTATTAGAGGTGCAAAACTAATAGAGAGTGGAAAACTAA TTTTCGATTAGTGATTTTTGATGCAAAACTAATGGAGGTGCAAAACTAAT AGAGGTGCCTAACTAATAGAGGAAATACGGTATATTTTTTTGAATAAAAA ATTTCAGCAATGGCTCTACATCTCCAAAAACCTATCCGCAGACGTTGGAA ACGGCGAGTTCATGAAATTCGGAGATTTCTGTGGCCACTACTGCCAAGCC AACGACATCATAGGATACTTCCTGGACGCCTACAAAACCAAGTCAGCTGA CCCAAAAATGGATGGCTACCAACTCAATTACCCAATTACCACAGTAATGG GTTATCAGCTTCATCTCGAGCGTAACTTTTTCGGGGTTACTGTGAATCAG TCGGATCCGGTCACTAATATTCAGAGTATGAAGGTTCTGACGCTTCCTGT GTTGTCAGAGGTACGGACGTTTGAGGATACGGATAAGCTGAACAAGTGGG AGCTGGCGGTTTATAACTATGCTACAGGATACTCTGCACTCGAGGGTGAC GATCATTTGGTGGAGATTAATGTGAGTGAATAAATTGGACCATTTCAAAA ATATTGGGCCAGCCCTAAAAAGACAGCGGGCCGGCCCATATCGACCCACT TAACAGGCTCAAAAAAGTTTAGTTCAGTTGTGTGCCGCAAATTTTGAAAT TTGCCGAGCTCGGCAAAATCGGCAAATTTGGTAAATCGCATAATTTTCGA GCTCGGCAAATTCGACAAGGCTAAATGTTTGAATTTTGCCGTTTTCGGCA AACGGCAAATTTGGCAAATTTGCCTTACACCCCTGGTTTAGGGGTTTCGT GTTTAATTTTCAAAGCTTAGATAAACCTCTTTTCCAGGTGATCGGTGCTG AAGTCGTCGACACCGAAATGAACAAGGACGCTCAGAAAATGGTGCCCTAC TTCATCGTCGGAATCGTCTCGATGATCATCTTTATCTTCTGCACCGTATC CATCTCTGCCTCCTACTACGGATACTTCTCCTGGCGAATCGGACTCATCG CCCTCGCCTGCCTCTTGGTTCCGATTCTCGCAATTCTCACTGCATTCGGA ATCAATAATATGCTGGGAAATCGAACGAACTCTCCGATGATGATCATGCC GTTCTTGATCAATGGAATCGGAGTCAACGATGCGTTTTTGACACTTCAGA ATTGGTTGCAGCATAGCCCGGATCTTCCGTCAGGGAAGCGGTTGGGGTAT ATGTTGGCTGAAGCTGGTCCATCGATCACTACGACCACTTTGACAAATGT CATTGTTTTTTTGATCGGGTGGATGAACCCAACGGAAGGTAAGGTTCAGT GGTGGACGGCAAACTACTTTTTCCGGCAAATCGGTAAATCGGTAAATTGC CGGAATTGAAATTTCTGGCAAATCGGAAAACCGGCAATTTGTCGATTTGC CGAATTTGCCGGAAAAAAAATTGCCGAACGGCAACTGCGCCCTGGTAAGG TGCATAGCTTTGGCCTCTAACATAAAAAAATTTGTCTATTCATCCTTTAT TCCAAAACGACATGTATTCCAGAGATGTCAATCTTCTGCCTTGGATGTGC AATCTCCCTACTCCTCGCCTACGTCTACACCCTCACGTTCTTCTGTCCGG TGCTAGTTCTTCTGCTTAGCGAACGCGTCAATGAGCCCAGCAAGCTCGAG GGCACTTTCAACAAGGTTCTCGGATTCTACGCAAAAATCATATGCAGCCG ATGGACATTTGCACTTCTCATCATCGGAAGTCTTGTCTACTGGGGTTTCG GTATCTATGGAACACTGGGGATCCGTGCCGTGTTGAACACTGCAAAGATC CTTCCCCTGGAGACGCCGATCCGCAAACCGAACAGGATTATCGAGGAGAC CGTGTGGAAAGAGTTCTACCCAGTCACCGTGATTGTGAACAGCCCAGTTG ATATAAGCAATGCAAATGCACTTCGAGCATTTGACAACCTCGTTCACGAC TTTGAATCGATGGAAAAGTGCCGGGGATCCGAGTACACCATATCTCCAAT CAGAGACTATCAGACCTATTTTTACGGTGTAGGAGCCGAGGACTTTGATT ATGAGGAAGAAACCGTGAAGAACACCTCACATTCTTTAGATTTCAGTGTA AGTTAGCAGTCCACGCGTTCCTATTAAAATCTACATATATGCCTATAACG TGTTTATCCACAGAAGAGAAAAATCGCCATATCTGCCGCGCAAATGAATC CGCGGGAAGAGACAAAACTACTGTAGTTTTTAACCAATTTGTGTAGATTT ACGAGCTATTGCGTCATCGTTGTATTTAATTTTGAGCCGCAATTTTTAAT TTTCAGGCGTTTCACACGTTTTTATATTGAAATTTATCTATTTATTGAAT AAATCTTAAAAGAAAACACAAAAAAATTAGAAAAATTCCGAAAAACGCCT GAAAATTAAAAATTGCGGCTCAAAATTAAATTCAACGATGACGCAACAGC TCGTAAATCTACACAAATTGGTTAAAAACTACAGTAGTTTTGTCTCTTCC CGCGGTTTCATTTGCGCGGCAGATATGGCGATTTTTCTCATCTCTGGATA AACACGTAATACCTACATATTTTGTGTGCCTAAAAACATGCCTAGCAGTG AAAGTAGACAAATGTAAGCACACAAACGTGAGTAGGGCTTAAATGGTATG CAGGCACTGTTTTAGGGCCTGACGCCTGTCCAGGCCTGTCTTGTACGTTT CATCAATTCAAGCCGTATATTTCCAGAAGCTCACCGGATTCCTTGCCAAC CCTATCTACAAGCATCACAAGGGAGGACTAAAACTTAACTTTTCAAATCC GTTAGTTCCTATCTGCCACCTTACCCTAAATCGAGTACCATTTTCAGTGT TCCAATCCGAAAAGTGCAACTGATATTCGCTTATGAAAACGTAACCTCGT GGGATGAACGGATTCAGATTATGCAGGACTGGCGGACCATCGCAAGTTCC CACGTGGCCCTAAATGTTTCAGTGTGGAATGTGAACGCAATGTTCGTAGA TCAAATGCTGAGCCTGAAGGGATTGGCGATCTCGGTAAGATCTCAATGGT TCCAGCGCCCTATAAATACCGCTTATTCTTTCAGAATGCCCTAGTCACCT TGGGATGTATGGCTGCCGTCTGTGTAGTCTTCATCCGCAACCCCCTCTCA GTTGGCCTAGCGACCGCTTCGATTTTATCCATCTCCATTGGAGTAACTGG ATACCTGTGCTTCTGGGACTTGGATCTGGACCCTGTGACCCTGTGCGCAG TAATTGTTTCAATTGGAATGTCCGTTGACTTTGTTGCCCATGTGGCCTGT CACTATCAGGTCAGGTATAAAGAGTTCGAGGAGAAAGGAGTATTGAAGAG GATTGAGATGAAAACTCCCGAATCTCGAGTCGTCAACTCGCTGTCCAATG TGCTCTGGCCAATGGTCCAGTCGGCTTCTTCAACTCTTCTATGTGTACTT CCACTTGGTATTCTACAGGTACCTACCAATACCTATACTTTACCGATAAC CCTACCCCTCAAACATTCCAGAACTACCTCCCAATGGTTTTCGTGAAAAC CATCCTGCTCGTCGTGATCTGGGGAATGTTCCACGGTCTTGTGCTGCTCC CGTGCATTCTTGCACAGTTTCCCCTGTCTGTGTTCAACAAGACGTTCGCC GACTTGTTGTTCGGCAGAACATCCTCTTCGTCTTGCTCTTCGGAGTCCGA TTCGGAAACCGACACCGGTGATGCTCAGGAGATGGTTCCGCTCGCTGGAA CCGAGAAGGCTTAAGATCTGAAATTAGTTGTTGTTTGTTATTATGTACAG TTGGGATACAAAGTGTATTATGTAGTCTGTAGTGTCGCAGTGCTACAAAC TACAAATTCAAAGCTACAAACTATAAACTCATTGAGATCTGGCAGAGCTT TATAGTTTGTAGTTTTATGTAGCAGCTACAAACTACAAATTTCGATTGTT GTAGTTTGTAGTATGGCGCACAAACTACAATGTACATTTTGCAAGTTTTC TAGATTTTTTTCTCACTCACACACACACACACACACCGTTTTGCTACGTG GCTGCGAAAATGGAAAACTCGGCCACGTCGCAATTCACACATCGCCAGAA ACTTCTAGCTTTACCAGTAGCTTTTCATGATCTACTCTTCTTTTTTTTCC CCCCTCAATTTCTATTTGAAATTTCAGAATTCCCTCAATTAGTCTTCTGT CACCGTGTCCTCCTCTTTTCCGCAAGCGGGTCCCCTTTTCCCCCCACAGA TCGGCTTCTCAGGGTTCCTATAGCACTTTTTTCTTCGATTCTTGTCACAC AAAAAATTGTACTTCCATCGCTCGACGTGTCCATTTTTTCTTGTATTTTT TAAATGCATTTTTTGATAAATTTGATTTTTTTTATCATCCAGAAAATGGT CAAAAATTCAGATTTTCTTGCTGGGATTTTGCTGGAATTTTTTCAAGCAT CAGACATGCAAAAACTTATGCAAAACTACACAACACTATCGATGGGGACT GTTCGACTCTTCACCCCAGTCAAACTTTTTTTCACTATTTTTTTTAACTT CTGTTTTTTTGGTACTTTTCTGGCCGTTTTTATGGAATTTTTTAACCCGA CATTGGAGTTTACCTTTTTTTGTTCAGGATTTTAGGAATTTCTGCGACCT TCTCACTCATGTCCTCCAGCCCCGCCTAAGCCTATGCCTTAACTCAAGCC TAAGCCTAAGCCTAAGCCTAACCTAAATCGCGTCAGAGATAACGTTCGCC ACTGACGCCAAGCCTCAACCTAAGCCTAAGCCTAAGCCTAACACTAAGCC TAAGTATAAGCCTAAATCTAGGCCTCAGCCTAATACTAAGCCTAAGCCTA AGCCTAAACCCAAGCCATAAGAAGACACTCTAAAAATGTTCAGATTATTA AAAAATTACATTCAAAGTTTTCTTCAAAATTTTGCTTTCGACTTTCCAAG TAATCAATACCATGTAGAATTCCAAAATCTTCATACAAATCCCTCCCCTC TTCACATCTTTCCCGACAGCTTGTACTATTTCTCCTCCACCCACTAGGCC AGGTCAACGCTGCGTCTCTCGTGTTTCATATGCTATCTCCCTTTTGTGGA ATCCGTTCATCGTTTCGGATCGCTTACTTCTTCCGCGCGCGTCGCATTTC ACTTTGAAATAAACTTCAGTTTTCCTTTCCAAAATTTAATTGGTGGAAGC GTTTGAACATGCGAAATTTGTTAATTATCGTGTGTATTCATTTAATATTA CTACTTGTACATTTTACCGATGCATGTAAGTTTTGGATGTATCAAAAAAT TAAATAAATTTCTTAAAGGTGGAGTAGCGCTAGTGGGGAAATTGCTTTAA AACATGCCTATAGTACCACAATGACCGAATATCATGATAAAAAAATTCAA AAAATTTTTTAAAATTTTATATGATTTTTTGAAAATTGGAAAAATCTCAG TTTTTGCCTAATTCCAATTTGAATTACCGCTAATTGGATTTGTTCGATGG AGCGCGCTTGCACGTTTTTAAATTTATTTATTTTATTTTTTGTTATTTTC CACCGATTTTTAATGTTTTCGGTGTATTTTTGCTCTAATTTTAGAGAAAA AGTCAAGATGAATGCAGATTTTCGATTAAAAAGCACGCTCACAGGCGTAA AAATGACAAAGTAACGATTTTAAACGGTTTCGAACCTGAATTAATTAATT TCACTGATTTACGACTGTAAGCGTGCTTTTTAATCGAAAATTTGCATTCA TCTTGACTTTTTCTCTAAAATTCGAGCAAAAATACACCGAAAACATTAAA AATTGGTGGAAAATAACAAAAAATAAAATAAATAAATTTAAAAACGTGCA AGCGCGCTCCATCGAACAAATCCAATTAGCGGTAATTCAAATTGGAATTA GGCAAAAACTGAGATTTTTCCATTTTTCAAAAAATCATATAAAATTTAGA ATTTTTTAAAGAATTTTTTTATCATGATATTCGGTCATTGTGGTACTATA GGCATGTTTTAAAGCAATTTCCCCACTGGCGCTACTCCTCCTTTAAAGTT TGAAGTTTTAGTAAAAAAAGAGTGTCGGTTTTTTAGTTAATAATATTAAT TTCCAGTCGCCGGAACAGTTCGACCATTTTTCACCACTCTTCCAGTACCT GGAAGAAATGTTCCTATTATGAGATTATTCGAGAACTATGCTGCATCGTG CCGACCAAAAAGTAAAAAGGACTTCAATGTTGATCAGCTGGCAAATGTAG GTTTTTTCCCGCAAAAAGTCGTATTTCGTGCAAAACCGGCAAAAGCAAAA ATTTTGAATACCGGCAATTGTCGGAGTTGCCGATTGCCGGAAATCAAAAT TGCGGGAAATAAAATTTTGATACTTTTTTGTAGATTTAGGAGCCTAAAAA TGCATTTTAATGAACAATTTTTAATTTTCAAGCTCAAAATGATTTAATCC TTTAAGGATTGACCGTTTTCTTTAAAAAAGACTAACCGAATACTATAAAA AAAGGTGAAATTTTTTCAATTTCCAAAATATAATTAATTTTGGCAACTGC CGATTGCCGGAAATTGCCGATTGCCGGAACTTCACAATACCGGCAATTGC CGAAATTGCCGATTGCCGGAAATTTCCAAAACCGGTAATTGCCGGAATTG CCGATCGCCGGAAATTCCCGATTGCCGCGCACCCTTGTATTAAAGGATAC GGCAAACGATTTTTTCCGGCAAGCGGCAATATCGGCAATTGCCGAAATAA AATATTTTCGGCAAACGGCAAACGGCAGTCAGCAACATGCCACTTCTCCA ATTTTCGGCAATTTCGGCAAACGGTCAATTTGCCAGAAATCATCGGAAAA TTGTGATCTTGCACATTTTTTCTGGAAATTTCAGAATTTCAATTTTAAAC AACAACATTGTACACATCCTATGAATGACACATATCTTAAAAAGCCAGTA AATTCTATAAAAAATATCTAGAGAAACTGGCAAAATAATTAAAAAAGGCA CGGATTCATGTGATTTTGATTATTGAAAATATCTTTGAAAACTTTCGGAA AATTGATATCCGGCAAATCGGCAAATCGGCAACTTGCCGATTTCCCGAAT TTGCCGAGCAATGAACTACACTGTTCCAAATCGAATTCGTAACCGATATT ATACTTAGGAATGATATTTGTAACTCGTATAAATATTAAATAATATATAT ATATTCCAGCTTCTCCAATCTCTCCAAATGGATGAAGTAGCCACAAAAGC CTACAACTCCCTATTCTTCTCAATGGCTGATATGCAAATCGAAAAGTTCA TGGGTAAATGGTACACAGTTGTTGATTCGAAAGAAGTTCATAAAGAGGAT TGTTCAATTTTCTATTGTAAGTTTATTTTCATTCTGAAAATGAGATGCAA ATTTTCAGTCGATATGGTACTTCAAACTCCATACACCGCAACATTCACCT CAAAGCAGTACGGAGTGATTAATAATGATGTCGTCACCAATGAGGGGTAC GGTAGTATGGTTGGTCCAGAGCCCGGAGCCGTTCTTATTACAACTGGTAG TGAAAGGGATCAGTGTCCATGTAAGTATTTTAAATAACTTTGGTCCGGTG ATATTAAGATACAAGTTTAAATACTTCCCGTTTCAAAAACTTCGAATTTC CCGCCAAAACTTTTCTCTGAAAATTTTAATTTCTTTCCAAATTTTTTTCT TTGAAAATTTGAACTTCCCGCCAAAATTTTGTAGTCAAAAAATTTGAATT TCTCTCCAAGAATGTTTTCTCAGAAAATTTGAATTTCCCGCCAAATTGTT AATGTCAGAAATTTTGAATTTCTCGCCAAAATTTATTTTCTGAAAATTTG GATTTCCCGCCAAAATTTTTTTCTCAATAAATTTAAATTTCCCGCCAAAA TTTTTCTCTGAAAATTTTAATTTCTTTCCAAATTTTTTTCTTTGAAAATT TGAATTTCCCGCTAAAATTTTATTGTCAAAAAATTTGAATTTCTCTCCAA GACTGTTTTCTCAGAAAATTTGAATTTCCCGCCAAATTGTTAATGTCAGA AAATTTTAATTTCTCGCCAAAATTTATTTTCTGAAAATTTGGATTTCCCG CCAAAATTTTTTTCTCAATAAATTTAAATTTCCCGCCAAAATTTTGTTAT CAAAAAATTTGGATTTCTCGCCAAAATTTTATTGTCAGAAAACTTGAATT TCTCGCCAAAGTTTTTTCTCAAAAAATTTGAATTTCCTGTCAAAACTTTG TAATCAAAAAATTTGAATTTCCCGCCAATTTTTTTTCTCCGAAAATTTAA ATTTCCCGCCAAAACTTTGTTATCAAAAATTTGAATTTCTCGCCGAAATT TTATTGTCAGAAAATTTGAATTTCCCGAAATCTCTATGAATAAAACATTT GCAGTTTTCCCTGTACGAATCGGTGGCTTGAGTGACGAAGGAGAATATCA ATACATGATCTTAAGTACACCACTGAAGTATCCAACGATGGTCTTGACAA GGTAAGTTTGCCTTAAAATTTGTTTTCTAATTATTCCAATCTAATATTCA TGTGATGTTGAAAAATGCAAACATGTATTTTAATACATTTTCCCCCTATT GATGCGTACCGAAAAATGTAGAAAAATGGAATCATTTTTTTGCATTTTTC GACATTTTCGACATTTTTGACATTTTCCGACATTTTTCGACGTTATTCGA CATTTTCACGCATTTTTCAGAGTTTGCCGAACTAGGCCATTTTGGCTCGG CCATATCTGGGGTAGATTTACGGCGCGTTGCGTGTCGCGTCGCGGCTTGA TTTTAGTTGTAAAACTAAATGTATTTGTCCGTGTGGAGTACACGACTTTC CCAGGCAATTGTCAATGGAGCGCGAAAAATTCAATGAGGAAGGACAGAAC CCCGTGTCCACAGGAAGAATTTTCTCTGCGTCTCTTGTCTTTAGCATTTA AAGTGGGGCGACGCCGATGTAGAAAAATGCTGAAAAATTTCGAAAAATGT CGAAAAATGCACAAAATGATGGCATTTTTCTACATTTTTCTGCATTTTTC GGCACGCAAAAAACATCACATGAATAACCCCATAAAAACTCCAATTTTTC CAGAGACCTAACCCTATTCGAAACGAAATGGAAGCGAGAAGTGTATGATT TTGTTGAGAAGAATGGTTTCATGAGTCCAATGGCAGCATTGAACACTCGT CTCCATTTCACAGATGTCGATGTTTGCAGAAAAGTGAATAAGTTATATGA GAATGGAAATGTTTGAGTTGAAGATTATCTTTTTTCTGATGATACGGCAG AGTTTTTGACGGGTTGTGCAGTGTTTATTTTTAACCTTCATGTGTATTTA AAAATAAAGATTAATTTAATTGAATCTGTGTTTAATATGAACTTTTAAAA CACAAAATTTCAGATTTTGGTTTAAAAACTGTAGACACTTGATACTTTGT TGAGTGTACCTAATTTGAATTTCGCGAAAAAATGACTGTCATATGATTCT TGACCGTGTACACCTCTCGGGCAATACATTAATATTTTAATATTATGGAT TATAAGCATTTTCAGTAGACTTTCCATATTTTCTCATGATTATTACTCAT TTTTATGACGAAAAGCATTGTTTGGAACTCAAAATTATCAACTTTAAATG TTAAAAAATATTCAGGAAAACATAATATTTGCCTATTAAAAAATTTCCCA TTAATTTTCCACAAAAAAGTTTCTTTTTTCTTTTTTTAATTTTTTCTCAG AAAAATCAAATCTCCCAACAAAGTTTTTCTCAGAAATTTTGAATCCACCG CCAAAAATTTTTCTCAAAAAATTTGAATTTCCCACCAAAAAAATTTTTCT CACAACTTGAAAATTTGAATTTCCCACCAAAAATGTTGTCTCAAAAATAG TAAGTTTCCCGCCAAAACTTTTTTTAAAAGAAAATTTGAATTTACCGCCA AAAATTACTTACCAGAAAATTTCAATTTCCCGCCAAAAATGTTTTCTCAG AAATTTTTAATTTTTGGTCAAAATTAAAATACTACTACGGTACCTTAATC CTACACCTCCACCCAAAAAATCATTTTTCAAAAACTACTACAGTACTACT CCTACAGTACTCCTACCGTACTCCTAAAGTACTCCTACCGTACTCCTACA GTACTCCGACCGTACTCCTACAGTATCACTACAGTACTCAAACCATATCC ACCACTAACACCAATCCAATATCCCTTCAAACGACAATAACTTTTTTATT CAAAAATACAGTAATCTTACTGTAGACAATCTTTTAAATTATAGTCTTCA TCCAAAACTATAACGGACTCCATCCCATAAAAAGTAAACGACAAGTCATA AAAATTGGAATTCGCGTAGTTTGCTCTTCCGTGAAGGCAAACACACGTGC TCAGCTATATTGATAAGAGATGAAAAACGAGAGGAATCAGTCGAGGTGTC TGATCTACTTCCAGGATGGTGACCGCTCTTCTACTCCTATTGGCTCTTGC AGCCACCTCTTTGGCGGCTCTTCCAGATTTGGGATATCCCGGATGGCAGT GCGATGCATCGCTTTATCAGAAGTAGGTGGCTTACTTTAATTACTAAAGT TTGAAATTTTCCTCGCTTTCAGGAGCAAAAATACCCCGACTTCTGCCCAC TCCGTCCGATTCACCGACATAAAAGTTTTGGGAGCTCTCGGAGACTCCTT GACCGCCGCCAATGGAGCCGGAGCACCAAAGGGAGACCCTCTGGCTGTGA TCCTTCAGTACAGAGGACTAGCCTTCCAGTGTGGAGGTGACCACTCTCTC GACGAGCATGTCACTGTTGCAAGTAAGCCATTTTTCTGGGGAATTGAGAA AACTGAGTTGTTGTAGATGTGCTGAAAAAGTTCAGCCCTAACCTAATGGG ATACTCCACTGGAATCGGAAGTGCCAACGTTTGGGAGGTCTCAAAACTGA ACCAAGCAGTTCCAGGAGCTGAAGCAATCGATATCATCACTCAGGCCAGA GCTCTGGTGCAAATTATCCAAAGCCACAAGGAGGTAGCCAAGTCCAAACT AAACATCAATTCCGATGCATTTCCAGATTGATTACAAAACTGATTGGAAG CTTATCAACGTATTCATTGGAGCAAACGACATGTGCGCCTATTGCAACGA CCGAGAAAATGTAAGATAGTCAAAGATCATTCCACACCCGTTTTATTGCA TTTTTATAGGGCCCACACTCAAAAGCAATCTGGAAGCAAAATGTGATCAC TGCCATTCAAATTTTAAAGGATAACTTACCAAGGTAGGTAAACTATAGGG ACATGACATTCTAAAGTAAATAACTATAATATTATGAAATTGTCACATAC CTATACCTACCTATAAATACCTACATGGTCCAGAGCTGTGTGGCAAATTT TGAAACCAGCAAATTCGGCAAATTTTCCGGGGTCGTCATACTTGGTAAAT CGCAACATTTTTTGGAGCTCAAAAAGTGCCAAAATTAACAGAAAATCTAA GTTGTTAAACATTTGTGGCAAATTCCAAATTTGTCCAAATTTTTGAAATT TGCCTTGCTCGGGCAAATTCGGCAAATTTGCCGTGGTTGTCGGACTCGGT AAAGCGCATCATTTTTTGGTGCTCAAAAAGTACCGAGTTGATGGAAAAAC TAAGTTGTTAAACATTTGTGGCAAATTACAAATTATGTCCAAATTTTTGA AATTTGCCTTGCTCGGAAACCGGCAAATTCGGGAAATTTGGCACACCCTT GATCCCATAGCAGTGGCGCAAAAAAATCTTTAAAATTGTGGCCGTTTCCG TGCCAATTATAAATTAAAGTTAAACATATTATCGAAAAAATACGATCGCA AATTTTTCTCGTAACTTATTTTTGATCTACCTTGTTGACTAGGCTCCTCC CCTTCCTTCGACAAGACAGCCACAACAAAATAACAACGGCAACAAGATTA TGGGCAAACACGTGGTGCCAGGCTGTCCCATTACAGTTTGATCTACAATA AATGCGGGAATTTTTCGCCCAAAAAAAAAGTGACGTCGGCACGTTCTTAA CCATACAAAATCAGTTGAGAACTCTGCGTCTCTTCTCCCGCATTTTTTGT AGATCAACGTAATTCAAGCCAAAATGAGACACTCTGACACCACGTGGGCA GAGTCAACTTCCAAAGGTAGATCAAAAATTAATTATGAAAAAAATTTGCG ATCGTATTTTTCGATAATAAGAGCCAACATTTTTCGGCTTTTTATGGAAA TTTTTTTTTCAAAAAGAGGAGTATGGTCCATAACTATGCCATCAATACCA AGTCCTTCCAGAACCATCGTATCCATGACCGGAATGTTCGACATGGCCAT GCTTCGCCAAATCGACCACGACAAGTATTTCTGCGACGGCCTCCATGTGT TCGAGTGCCCATGCGAGAAGAACAAGGACTTCCCGAATACCGACATCTCG GCTGCCTGCCATCTTTACATGGATGCTCAGCAGGAGATTCAAGACTCGGG AATCTTCGACTCAACAGATGACTTTACATTTGTCGTTCAACCATTCTTCA ATGGAATCACAGTTCCACCACTCAAGCCCGACGGAGAAGTCAATCTGGAT TGGTTTGCACCGGATTGCTTCCATTTCTCAAAACTAGGCCACGCCAATGT TGCCAAGCACTTGTGGAACAATATCGTTCAACCAGTCGGATCCAAGAACC ATCAAGTCAATCTGTCAGATCCTACCATTCCACTAAACTGCCCAGACACC AAGTGCCCATTCTTCAGAACAACTAAGAACAGTGTTGACTGCTCGAAATA TATGACTGCCTAGACTGTAGGAAATTGTGTTTGTGTGTGTAATTTGACGT ACTTATCGGGTCTGCAATAAAATGTTTTATCGTGTAATCTTTAATTTTTA ACGTGTGAGACATAAAAGAAAGAGCACCCTCAATAAAAATATCCACGTGG AGTACACAATATAGCTATCAATAGAGCGAGTAAATATTTTTGCAATAATT ATTTATTAGAAGAATGGAGATCAAGGTAAAGGAAGAGATCTTGATTTTGA AAAAAAGATACTGGAAATACTAATTGTTCACGGGATTTCATAGAAGGGGA TATATCACGACTTTTTCTTTGAAAAATAAAAACAACATAAAATTATTGCG GCTTCACAATCTGATCATCCGGTATTTCTCCAGATCTTTCCTTTTCCGAT TCGATCTTCTTCCACTTGGTACGCCGGTTTTGGAACCAGATTTTCACCTG GAATTTGAGAAATTTCAGCTATGCGTTGAGTGCCGCGTTACGTGCTGCGT TGCGTGCTGCGTTGCGTGCCGCGTTGCGTGCCGCGTTGCGTGCTGCGTTG CGGGCTGCGTTGCGTGCCGCGTTGCGTGCCGCGCTGCGTGCCTACCTGCG TCTCCGTGACATCCAATCGTTTTGCAAGCTCACTTCTGTCACTACTTGAC AAATACTTTTTCGCCTCAAACTGCTTCTCCAGTTCGAATACTTGTTTCCC GGAAAATGTCGTCCGCGCCTTCTTTCTCTTTGTTTTTTGACATTTTTCTA TAGGAGACTCTTTGGCTTGGTCGAGGCTGGATTCTGAAAAAATATTCTTA ACGGCTGATTATTTTTCTACGTGTAGCATTTTTCCGAAATTCATTGAACA AAATTAGTAAATTTCCAAAAAATTTTTTTTCCAAAATTTCGAAAACATTT TAATTTTTTTCAGATTTTCTAATATTTTAAAACAAAAATTGAGAGTAAAG GAAATAAAAATTGTGTCTTGTAATTTTTGTAATTTTTACTCAAAAAAAGG CCAGTGAAATACTATTACAGAAAATACGAATCGATGCACCATGTCAAAAA GAATAGTATTTCACCTCAAATGCACCATGCCCAAAACTAGTCTATTTTTC AACTACAAAACTTCATACACCTAATCCAAAGAAATCAACTTACTGCATCT TCCAAATTCATCAATTTCTCCATTAACAGTTGGTAAGTCAAGTATATCCT TTATCAGGTGACTAGTTCTTCTCTGAGGCTTCACATCAGACGTCAACAGT GCAAAATAGGGTTGAAGTAGTTGGAAGAGCAAGTCAGTTTCCATTTTGCA CGAATGAAAAGAACTTCTGAGAGACTTCTCTATACAGTAGGTCTCGAGGT CCCCGCCTTCTCTTCAATCAAATAATTGAAATTCTGGACTCTCGGGGGAC TTTTGACGGTTGACGACGACGACAATTTGCCAAAGTGGTCGACAATGATT GCGCAATTGGTGTGGAAAGAAGAAGAAGATGGGTGAGTTCTGAGATGATG ACAAAAAGAGCATGAGCCAGCAAATTGAATAAGAGACCGGATTTCGAGAA GGAGGAGGGGGAGAGGAGGATTGGTGGTAAGGGATGATACTTGATGCAAT TGAGGGAATGAGTTTCTCATACTTGACTATTAAATACTTTTCTTGAACTT AAATATTTGAATTGAAATTTTGGAGTAGCGGAGGCACATGTGATATTATT GTGCTAATTTGTAATACTTGGACTTTCAAATATAACCTCAATTATTTGAA AAAAACCTTTTGAATAGACCAGCAAGGTTGATCTACAATTTTTCATGGAA ATCGAATTAATTTTGTAAGGATGTCTACTGAGTATAAGCTTATTGTTAGG CTTAGGCTTAGGTCTAGACTTAAGGCTACACTTAAATTTAGGCCTAGGCT TAGGCTTAGGCTTAGGCTTAGGCTGAGGCTTAGGCTGAGGCTTAGGCTTA TGCTCAGACTTAGGCTTAGGCTTACGCTTAGGCTTAGGCTTAGGCTTAGG TGTTGGCTTCAGAATAAGCTCAGGCGGGGGTGAGGGAAGGGTAGAAAAAA AAGAAAGAGAAATTTCCAGAAATTCACAAAATCCAGAAAAAAACATATCT TTCACAAGTTTATATTTTTATAGCCTAAAAAATTACTTTTAAAATGAGGA TATGCAACCCGCACGCAAAAAAACCTTTTTTTTTTTGAGCAATTTCACGG CTCTTTTTTTTTTAATTTAAAAATACAATAAAAAAACCAAAAAAATTTTC CGAGCCCAAATTGCTCCCAAATGCTCTAAATTTCTTTTGAAGTTTGATAT ATTCCTATTAGAACTTGAGGAAAATGTAAAACTAGAGAAACATAATACTA CGCATGTTAAATGTAAATTACTTACTTTTAAAAAGTCGTACGTTATTTTG GAAAGTTTGAGGTTTTTGCATTTTTTCCGTAATATCACTGAACACTTTTA TTTAAATATCATCAATTATCGGAAGTTTATAGGTTGCAGGAGAAAAAATA TATTCTAGCGGGAAAATGAAATGAGACGGGGGGACATTTTTAACCAAAAA AAAATCAGAAAACAGTTGGTAATAAAATTATTCCAAGAAAGTATAAATTC ATGACTTCCATCTTGGGAACATTCTTAAAAAATGTCAACGAATAAATCTT TGTGGCAAACAAACTTTTTCCATAAATGTTTCAGACCTTATATAGCGGAC ATGAAAGTTGATTGCTTATTTGATATGTCTTGAGTTTATTTTTTTTTATT TCAAGCGAGGGGAGATTTATTTGCCTAGATATATATATAATTATTACTGG AACGAACTGGAAAAAAACTTGGGATCAAAAAAATCAAAAATTCAAATTCA AAAATTCAATTTTTCGAAACTTTTTCTACAGCTTTGTCGAGAAGCAACAG ACAAATACTTATAGCTAAAATTTTATTAATATTCTAGTTTTAGTCATGGT GAATCGAGAATTTGTCAATTTCCATGTGGTATCTTAAAAATAAACCGATA CACGTGGTGTCAGGCTGTCTCATTGCGGTTTGATCTACGAAAAATGCGGG AATATTTTTCCAGAAAAATTGTGACGTCAGCACGCAAAAATTAATAAGGG TCTAACCAAAAAAACTTGAATCTTGGAAATATTTTTAATTCACCCTAAAT TTTCCCCTGATTCCGAATATCTATGTGAAAAAATTCAAAAAAAATTTCCT GAATTTATATTTAAGCTTGAAATCTTTCATAAAAATTTTTTTTTTTTAAA TTTCATTTGTACTCGCATCACTTTTTTCAAACTCGCGCCCAAATAAATTA GCGCGCGCGTGCATCGTTTGACTTTTTTTCGTTTAGTTTTTTTTATTTTA GCCGAATTCAATTTTTTTAAAACCAGTTTCATTCATTTTTGTCGGTTTTT TTTTTCTGAAAAAAATGTAAAAAAACGAAAAAAAATCAAACAATGCAAGC GCGCTCCAATGCTAATTTATTTGAGCGCGTATTTAAAAAAGAGACCGGGA TACAAATGAAATTCGGCGATTTCAAGCTTAAATATAAAATCTGGCAAACT TGTTTTGAATTTTGAATTTTTTCACATAGATACTCGGAATCAGGGGAAAA TTAGGATTCATTCAAAAATATTTCCCAGATTTCGGTACCCCACCTTAAAA ATTTTTTTTTGGGAAAACAAGGAAAATTTCTAGCTTGAACTTATTTTATC AATACCTAAAATGCTGAACATTAAAACACACACACCCGTATGAGTATTAT ATACTTCCAAGGAAACATTTGAAAAATAAAGAGTTCTCCGCTTTGATTAT ACACTTGTGATATTCTCACGCCTGGCACTTGGCACCAGCTCAAAGTGCTC ATTTTGGCTATAATTGTTTGAAGGTATATGAAAAAGTGGAAATTGGGAGG AAAAATGGCATGTTTTGGCTTTCTCTACCTGGCCTATGTGTTAGAAAACT CTTCTATGAAAATTCAGTTTAATTTTTTAATTTTTCTTAATTTTTAAAAT TCTAAAAATGGCTAAACTTTCAAAAATATAATTTTTAAAAAGCCAAATAC TATAAAATTTCTTTGTTAATTTCTTTATAACCAAAATTAACGATTTTCAA AAGTCAAATTTTTCAAAATTACAAAAAATTTAAAATTACTGTAAGATGCG CAAAAATTACAGAGTTTTCAAAATATAAAACACTCTTGTGGCCGAAAACT TCCAAAGTTCAGGAAATAAAAATTCCAAAAAAAAATCAAGAAAAAAATGT ATCTCGAAAAATTACCGCTATTAGAAAATCGCCTTCTCTAAAATTTCCCA AATTTTGAAATTATGGAAATTCCCAGATTTTTCAAAAGCGATCTAGTCGG AGTTGTCAGAAAAAAAGTTCAAGAAAACTTTCTCTAGAAACTCAAAAGTT GGCCTGATCAGAACTTGTTGGATTTTTTCAATTTCCCAAAAAATTTTCAA AGTTGCCGAAAATTACCGAAACTCCAGGGCTCACTTTTAGACCTTAAAAT GAAACTTTTGCCATTTGAAAGAGGCTCTTTGAAAAAGGTCTCTGCAAAAA ATTTAGCGGCAGACGAGCACTTTGAACTAGAAAAATGTCGCTTTGAAATT GCTATCATTGAAATTTTTCACTACTATAGAGGCCGGTAAAATTGCTCCAA ATCATAATTTAAAATATTTTTTCATGATTTTTTTTTATTTTTTCATGATT TTCGAGGTAGGCAAATATTCTGGGAGCTTTTTTGGATATATTTATTTTTT TGGAAAAAAAAATCTGAAAAATCCCACATTTCCAATAAAAAAATTCCAAA AAGCTTTCAGAATACTTGTCTACCTCGAAATATCCTAAAATTCATAACAA TTTCAAAAAAAATATAATTTGGAGCAAATTAACGGGCTATTTCAAAGTCT AAAAGTGAGCTATAATGCATACATTCCAGAAAATGGAATAAAAAATAAAC TGAAGTCAATTTAATCTAATCTCATGATACCTCCTCCTCCTTCCCCCAAC AAATAATGCTCAATAGCCCCCAATCAACTCGTTCCAATTTGAATAGTGTA TTATTTAACAAGCTTCATCATCTCTTCCTCCTATTTTTTTTTGTCATTTT TATCGTCCCCTCGGCCGTTTGTATTATCCTCTCTTCCTTCTTCTTCTTCT TCTTGAAAACGAATTGAATTTCTTCATCCAATTCACTCAAATCACATCCT CCACGGACACATTCAATTAATCCAAACGTCCTTTTCAATTGAACACAACA ACAATCACTATTTCATAAAAATTGTTTTAAATGTACATATATCAAAAATT GCGACGGCTGGAAAAATTAAATTTTTACACCAGAAGAAAATTTGTAACCA TAGTTATGGTAGCTATAACTCAAAAAAGTAGGAAAATTATGTGACATGTT CTCAGGACTGCAGTGATCGCAATAAAAATAAATTCTGCTGATCCAATACT CTTGAAATAATAAATCGTTTCTGATTGATTCCATCATTCTCAGACAAATG GAGCTTGGTTGAGTGCTCAATTGGTCAATGTCGCTGTCATGGCACCAGGG TTGTGCGGCATCCGGATTTTCTGGCAATCGGAAATTGCCTTTTGCCGAAC TCTAATTTTTTTTCGGCGATCGGCATTTGACGGTTGCCGAAAAACTCGTT TTTTCGTTTTTTCGCCATTTTTCGGCATTTTTCGGCGTGCTTAAACTCTT TGAGGTTTTTTTTTTATTTTTTCTTGTATTTTATAAATCTAAATAATTCA ATTCCAAAGTTTGATAAGGAGTGTCTTGGTTTAAATTTTCTAGCACAGAT CAATTTCATTTATTAACGATCAGACTGGTAGGATAGTCAACGACCCCAGA GGCAAGAATGATTCAAAATAATTGCACACATGGACAGCAATAGACAAAAT CTTTGAGAGTTTTATGGTGGGGTGGCGATGTGTCGACCAAAAGAGTATAT CCACTATATGGCTAATAATTCAAATATGTTGTATTTTGGAAAGTGTTAGA ACACAAGTGACTTGAGTGTTTTCGGATACAAGAGACACAGAGATGTCCCT TGATTGTTCACAGAAAGCGATTTTTAAGGGTTTGACTACAATATTTGCGG ATTTATGTTTCAACGAATAAATGTAAAAAACTCGAATATCATTTACTATA TATAAAGCGCTTATTCCGTTTTTCCATAGTTTGTAGTCTATGTAGTCTTT GTAGTTTGCGTAGTTTTAGCTTCTGGAGGGATAGTGAGTTGGGGTTAGTG TAGGGATATAGTCGGCGTACTGTAGTGGTACAATGGTGGTACGGTAGGAG TACTGTATGATTACGGTAGTCTCAGAAAAATTGGTTTTCAGCTCCAGAAG TCGGGGACCGCGCCGGAGGTGCGGTCCACGGCTGGTATATACATATGTAT ATGTATGTATATATGTATACATATATTCAATTAAATTTAATTTAAAAAAT AAAAAAAACATTTCTCACAAATGCCGAAAACACCGAAAAATGGCGAACAT TTTTAGGCATTCGCCGATATTTTGACCAACTATTTTTTTTTGGCGAACGG CATTCGCCGTTTGCCGCACAGTCCTGCATGGCACCCCGACCGGTTTCGTG ACAATAGTTTTGACCTGAACGCACTAGGAGTCAGGAAGTTATAGGGGTCA TGGGTGCTTTAATGACCCCCTGTAAAAAGCACATATATTGACAACAAAAT TTGCTCGCTGTTTTTTGTATTAATTTTTTGTCTCCCCTCGATGCGCATTT CTAGTAATGATGCACATATTTATTTTTTTTCATGTACATATCTAACAAAA TCATAAAACTGAAAATTGCGCTTTTGTTCAAGTTAGCAAGACAACCATTA TAAAGCTTTCCAAATAGCAAATTAGCAAAATAAAGTGAGAAGCTAGAAGA TAATGGGGAGTCCCTATAATCTTTCGGGCACACCTTCAGACTTTGTGACT ATAATAGCCCAAACCCACAGTTTACTGAAAACTAGGGCTTCATTTGCTAT ATGGTACCCCTAAACTCTTTCAGTAATCGAATCCCAAGAAACCTTCACAT CTGTAACCTGGACAAAAAACACACAATTTCAAAAATATAGAATTCTTTAT TCAAGAATCATCATCATCATTTTTTTCAATTTGTACAGACAAATGCCGAC CATATTTTTTGTCAGGGGAATGGCAACGGCGGGAACCCAAGAAAATCAAA CAAAAATATGGAGAGAAAAATGAGCCAGAGAGCCTGAGCAACCATGCATA AATAATGAGGAGTTGGTGAGATGAAGAAAAAACAGATAAGTTACGACGCG AGGAACTATTTGAAAAATAAACTGCTAAATACTATGTGCTTAATCCTCCC AGGTAAGCGAGTGACGGTTCTCGTATCTCAGCTGGCAGTTTCTCTTTCCG TACCAGTTGACGTAGGCGAACTCGGCGTCGGAGACGATGGCGTTGAAGCG TCCTCCGAACTTGGCCGAGGCGTCTCCCTCGATCTTTCTGGCGGCCTCGA GGTTGTCCTGGAAGGTATCAGTGATTGGATTTGATTTATAGTTCTTCTTT TTTTTCTTTAATTTCTTGCTTGTAATTCTAAAGCAACTAGAAAAAAAAGT TTCGGAACGCATCTATCATGCCAATTTACATAACCGGTATGGGTTTGCGC GCGCGGGGGGCTTGCAACATTTTCTTAAATGACATTAAGGTATGAGAGGG GGGGGGGGTGTTGTAAATAGGTATCCAGTTCTTGTCTGTCCCCGTTATCA AGTTTCTCTGGTGACGCAACGCAAGAAGGCAGAAAACAAACCTTCTCGTT CTTCAAAGCGGCCTCAACGATGGCGCGGAGCTCTGGATCGTCGCAGTTTC CCTCGTCTCCTTCCTCATCGGCGTACTCGACAGCTTCGTTGGTCTCCTGG AAATTTAGAAATTAGATTTTTCTCGAAATTTGGCCGAATATTAAAAAAGT AATACTAAGAATTTCCCCACGAAAGGCTGAAAAATTGAGGTTTCCTGGGA AAAGTGAAATCCCGGTCTCAAAATTTTTTTTGATTTTTGAGCTCCGTTGA ATACCGACAACAAAAATGGCTCTGGAATTTGAAAATTACGGGGAACTGAA ACGCAACTTCTACTGCTGCCAGTATGTCTCTCCCGCATTTTTCGGAGGCT CAATCGTAGATCAAAGTTTTCCGAATAAGTTACTATTAGGTTTTTATCGA GAATTGGTACTAGACTATGTTGACAAATACCAAATATCAAATATTTACCC AGATGCAAGTTATGGTGCTTTGAACTAGAATTCCTGGGAACTGATTGTAA GTGTCAAAACCTCAGCCAACCGACCTAAGCCTAAGCCTAAAAAGGTGTAT CGAACTTAAATTTCGACATGGCATGGCATTCAAATGGGTATACCGATGAT TTTGTTTCAGCAAAATTTTTAGGGTCGAATTTTTAAGGTAGAGCAAAATT GGGATAATTTTAAAGACTATTAATTGTCCAAAAATCCAACAAATCCAACT TCAAATGAGCTTAAACTTTAGATCACCTTCCCAAAAACCCACCTCAACAG TATCAACTTGCTCGGTGGCGGTCTCGGTGGCGGTGGATGGCTGCTCCTCA ACAATATCATCATAGGTGCTCTCCTCCTTGGCAGCGGCAACTGGAGCCTG AGTCTCCTCGACAACTGGAGCTGGAGTCTCTTCAACGACAACTGGCGCCT CGGTCTCCTCGATCACAACTGGAGCCTCGGTCTCAACGACGGCTGGGGCT TCGGTCTCTGCAACGACGACTGGTGCTTCAGTCTCAGCGACGATTTCTGG AACGATTTCCTCTTGGACAGTCTCGACTACGGTTGGCTCTGGTGCTTGCT GTGGTTCTGGTGCTTGTTCTGGTTCTGGTGCTTGCTGTGGCTCGACAACA GTCTCGACGACCTGCTCGACTGGTGTTGGGACTGGCCCCTGGGTGTATGT GGCGACTGGTGCGACTTGCTCGACAACTGAAGTGTGGGTGAGGGTGAATG TGTGGGTGGGAGTGGTGCGAATCTGACTAAAAACTGTAAAAACTAACCTT GAACAGCCTGGTGCTCTGGTGGAGCTTGGTAGTTTCCTCCCTGAGAGACT TGGGTCACCTGGATAGAGCTGACTGGTCCCGATTGGTATCCTCCTTGTTG AACTTGCTCGACTGGGGCAGATGGTCCGGCGTTGTAGCCTCCTTGTGGGG CGACTGGGGCTGGTTGGGAAGCTCCAGCGTATGAGGGTCCTCCTCCGATT GGTCCTTGGGATCTAGCGTATGAGGATGCTCCGACAGCTTGGGAAGCTCC AGCGTATGATGGTCCAGCTTGCGATCCAGCGTGCGAAGATGCTCCTCCTC CGATTGGTCCTGGACCAGCTTGGTAGGCACCTCCACCGACTTGTCCTCCG AATCCTTGTGGTCCCTGGGAGTACGAGGCTCCTCCGACTGGTCCAGGTCC TCCGAATGGAGCGGCATATCCGGCTCCTCCACCGATTGGTGCCGGTGGTG GTGGTGGTGGGGGTGGAAGGGCAGGCGCGGCGGCATAGCTTCCGCCTCCG CCTCCGGTTGCGTAACTGTAAATGAACACATTGGGAATAGTATGGAAGAG GTGGCTAAAGGGGGAAGCAGGTTTTAGTTTTGGCGGCCAGCAGCAGGAAA AAGGACATTTTGCATGAATGGGGTGGCAAGTAGAATGGACTTTGTCGCTC CTTAAGGAAGACATCAAAAGAACTTCAGAAAGAAAGAAATTATTTTTGGA ATCAGGAAAAAGCATTTGAATAGCAGTAGAAAAAATATAACAATATAGTC ACAAAAATACAAAAAAAAAGGCAAAATCTTACCTCGAGCTAGAGCATGGT GGAGCTCCTCCTCCGCACGATGGCTGGGATGGTGGGCAACATCCACCGGC GCTTCCGGCACCTCCGATACACGCTAACGCAGGCGACACGGCCAATAAGA CGGCTACCAAGACTCTCATCGTTTTTGAGAAGGCAGAAATCGCAATGGAA TGCTGAGTAACTGTCGTCGAATGGCAACGTAGGACGTGCCTTTTCTACCT GCCACCCCAAACTAACTCCGCCCATGGCCGTCTGGAGGGGGCACGCGCGC GCACGAAGCCTTCCGAAAGACGCCCGATCGCGTTTTATCGATGATGATGA TGATGATGATGAGATGAAGCCTCTCTCTCTCCGTCGGAGGGCACCTTGCG ACATTCACCTTGTGTGCGTGTGTGTGTTGCAGAATAGGGGGAAGAAGAAG CGATCGCGTACAAATGGGGTTCGTGTTCATTTCCGAATGATCCAATGATC AGCTGGAATATTCCTATTAATGTGACTCGTGCCACGTCATTGTTAATGAT CTACTATGTTTGAGTGATTGGATATGTGTTGTTTCCTTTTCTAGTTAGAT TCCTGAACAGTTCACCTTTACCTAATCCGTGATCGATGTTCCAATGCTTC TTCCTTTCACTTCCACTGCGGCACCTAATCAGGCGGAATAACATGCTTTC ACTCTGCCGGTAAAGTGTGAAAATCCTAAAGTTTTAGATTTCAAAGATTT CAAAAACGATCGTTGATCCTACCGCGCTTCCGCATCAACTGATATCAGGT TTTTTTTAATGATAAGATTGTGGAGGAATGAACTGGTGAACTTTTAGGCT GATTTAGAGCCACGTGGAAACTTCCAGCTTTTACCTAGGTGACTACAAAC TACGGAAGATCAAATTACATACATTTTGTAAAAACATACATCACTTTCAA AAATTTCGGTTTAGTTCAAAAAATCACATTTTTACTGTTTTGAGATTTTT TTTTTCCCAAAAATGTCGATGCAATTTTGATGTCGATGCACCACGGGCGA TTTAAAGGAAATTATCAGTTTTCTGAATATTTTTGTTTTGTATGTCTTGA TTATGGGTTTTGTAGGCTTCGATGGCAGGCAGGCGAGGTTTCGGGTCCTG GCGCCCGTCTGAAACCTGCCCGCTTCACGCCGGCCTTTTGCCTCTTTTTT GCATTTTTACGTGGTGCCAGGCTGTCCCATCGCAGTTTGATCTACAAAAA ATACGGGAATTTTTCGCCCAAAAATATGTGACGTCAGCACGTCTTTAACC ATACGAAATCAGTTGAGTCTCTTCTCCCGCATTTTTTAGTAGATCTGTGT AGATCAAGCCGAAATGAAACACGCTGACACCACGTGTGTTTCTCATTGGA AATTGGAGGCCTAGAAAATCAAAAGTTAGGCCATCAACAGATTTTTGTTT CAGCAAAAGGCGCGGATTGAGGCGAGGTCGCTTTAAAGTCAGGCAGGCAG GCGGTTAACGCCTACAGGAAAACTTTAGGTTTTAGGTTATCTGTATGTTT CCCTTTTGTGTGTTTTTTAGACGTCCAAAGAATCGTATCAAAATGAATAG GTATTTTCTCGTTTTATGCAGATAGGTAAAGGTCTGTAACCTGAAAATCC AGAGCCTTATAATCCACACCTACATAATCATCAATTAAAATATTCAGATA ACTGATAATTTCCTGAAAATAAGATATCTGTAAATTGAATCAACGCCAAT TTTAGACATGGTGCATCAAATGCAACATTGTATTGATATATAAACTTTGG CAGTCAATACATGTTTTCTTATGCATTGTTCTCAGTGCACCTTGATCAAT TGAGTAGACTTCATCTATTCTTGTCCACTTCCTAAACATGAAATCAATCA CGGCACCCCATCAAAAAGCACTAAAAAAGTACATTTAAAAGAGTACATTA TTATTGCCCGTTCAATCCTCGTAATGTATCTTTGCAAGTTCCTTCTTCCT CTGACATTTCCCGTTCCAATTCTCCGCCATACCTGATATGCTCGACTTTT TCGATCATAGACGCGAATTGCGCAACGCGCGAAAATATCTTGCGCAATGA ACAAGGAGAAGAAGAAGAAGAAGAAGTAGGAGAAGCCAAATAAAAGATAG GTGATAACCGAGATGTTAAGCCAAAGAGAAGGAGTGTAATAGCTGAACAA GGCCTATTTTTGTGTAACTCCCCCCTCTGACAGCTTCTTCACTTTCCCTC CAACCGTTTTTACTCTGTATGGTAATTGTTGATGGATCGCCATGGAAAAG CCCTAATGGTCATGAATAAGCTGTAAAGCAGCGGGGGTGAGCTTGAAGGA CGATCGGACAAATGAGATATGAAGCGTGAAAAACGGAAAGCATGCTTAGA GGGGGAGATATATGTAGATTTGGGGAAAAGCTACAAGGTCGATTTTTATC CGGTGTCAGGATTATAGAGGTGTTTTGAAGTAGAAGCAAGGCACTGAAAT TCACCACTTCCTCTATTAGAATTGCACATTTTTTAAAACTATGTACCTGT TTTCTTAAGAATTGCTTGAAAAGTTGAATTTGAACTAGTAGTTCTTGCAA AAAGGCCAATTGAACTATCTGGTTTAGTTGCGTCCTTATTAATATTGCAC TTTTTAATTCCGGCAAAACGCCGGTTTACCGATTTGCCGGGGATTTTCAT TTTTGGCAAATCGCCGATTTGCCGTTTGCCGAAAAAATTTTTAACAGACG GAAAAACTTAAAACTGTGTCATTTTGAATTTATTACCGTTTTCTTTAGAT ATTTTCATAGAATTTGCTAACTTTTGAAAATAGATGAAGGAACATTTATA TTATTTGAAATTGAAATTCTGAAACTTCCAAAAAAATAAGTTGCAAAACC ACAATTTGCCGAAATGCCGTTTTCCCGGCAAATTCGGCAAATCGGCAATT CGCCGATTTGCCGAAAATTTCAATTCCGGCAATTTGCCGACAAAGCAATG TTTCATAATACATAAAATGTTTCTAATTTTTAAGAATGATTTTTTTAATT TTGACAAAGTTTTTTTATAAAAGAGCCGAATTATTTTAAATTCCCGCGCA AATAAGTGACGCCATTTTTTACATTATTTGTATTTTCTGGCTAAATTAAT TGGTTTATGTATGTTTTTTCTTTAGTTTATAACTTGAGTAAAATTCACAG TAAAAATTAATTTTGAAAAATCGATTTTTAGTTTAATTTCAATTTCAGAG TTTCGGCAAATGTATTCTCAATTAACAAGTTTTCCAAACGGAAAAAAATC TGAAAATTGACAAACCACGGTGTAGATCAAGCCGAAATGAGACACCCTGA CACCACGTGTGTTTCCCCTTGGAGGCCTAGAAAATCAAAAGTTGGGCCAC CATCAGGTTTTTGTTCGACTCAATTGGTAAACTTTGCAGACTAGGCTGAA ACGTGGTATTTGCAAAAATACAATTTTACACATTTATTTTCCACAAACCG AATAAAATCCTTATCTCAACAGTGTTATATAATTTTTTTTTTCAGATCAC TATCACGACATTTTAAAATATATTACAGCACTCTCTTCTTTAGGTTTTGA ACGTTGATGCTTCGAGGATAAACATGAAAACCAGATCAGCTTTTCCGTGA CCTCACATACTCATTTTCTCAAATTCTCAAAAATGTTCTGCCTTCTCCAA CGGTCTCTAAAAAAGCTTGGAAAACCCACAAAAGGTGTCTTGGGACACTT CTGTCTCTCTCTTTATCGATGACCGGATCGCCCGGATAAACGGGTTTTGC GGACTGACACCAGCAGGTGGAAATGGGCACACTTGTAAAATAAAACGAAA AATAATAATAAAAATAACACGGAATGCGGAGAGAAGTGGCAAGATCGGAA GAATGGTGGGGGGGGGGGGGGGGGGGATTACATAAAGATGGCGGCATAAA GTGCGTTTCATTAGGGGGATATTGGGGTTTTTATAGGGGGAAACTTTGAT TTTTTTGAAAAAAAAATTAAGAAAGAAGCGACAACAACCAACAACAAGGT CATTTTTAAAAGGAAAATTTGGCATGAAATTTACATTTTGGGATGAATTA TGAGGATATACTCATATAACCTAATTTTGTCACAAAAAAAACGTCGAAAT TTTTAAAAATGACTACATTCTGCAATTTTGAAAAATTTGGTGGTCCTACC ACGAAAAATCCATGGTTTTTTGGTATTTTGACGAAAAACTGATTTTTTGT GTTTTTTTTCTGGTATTTTGAAGCCGCTGTACTTCAAACCCTTTTCATAT TCTAAAAATATCTTTTTGCAAAATTCGGTTTTTTCTAAAGTTCAAAATAA ACCACTATTTTCAATTTTTAACGGAAAATCTGCAAATAAAATTTCGGAAA ATTCCGGCAATTTGCCGATTTGCCATAAATTTCAAGTTCCGGCAACTTGC CGATTTGCCGATTTGCCGTAAATTTCAAATTCCGGCAAATTTGCGAATTG CCGTCCTACCATGAAAAATCCTTTTTTTTTCTGGTATTTTGAGACCGCCG TACTTCAAACAATTTTCATATTTTACAAATATCTTTGAGCGAGCGGTTTT TTTTGAATTTCAAAATAAACCAAAAGTCTACTTTTTTTGGTTTGTTTTTG TAATTTTTTTTTTAGAAATTTCAATTTTTATCGGCAAATTGGCAATTTGC CGGTTTGCCGGAAAATTTCAAATCTGGCGATTTGCTGCTTTGCCGATTTG CAGGAAATACCTATCCCTGATGTAAATTACCAGAATTAGAAGTTTGGTAC ACGATTGGCACACAATTTTTTGGTACAAAACACGCTAAAAATTAAATGTT TTTGAAAAAAAAAATTCTTTTGAAATTGTTTTAGTGTGAATTTCCATGTA TTCAATTTTTATCATTTTTAGCCTGTTGCTCCAAACTAGGTTTTCTCCCA CGTGGCATCTCTCATTACACATAAAAATACCTGCTAACTCAAAACATTAA TCAGAGATCCATATCCATGTCTTCCTCACTTTCCAACTTTTTCCCTCTTA GCTTATCTAGATATATGTAGGTATATCTATATCTACAAACAACTTTCTCT TTTCAAACATCCAGTTTATCTTCTGACCTTTGCAACATTTTTCCTTTATT CCAAACTTCCGCCAGATTGCATCTTATTCAATTATTACATTCAAAGAGTG TCTAAAGTTTTGCTTAGAAGAAACAAAAGGTAAAATGTCAGATATGTTTA GAGAAGGTTGTAAAATTTGGCAATTTATTGTAAAAATTCGCAATTTTGAA ACTCCTTTAAAATGGTTAATTTTGTAGTTAGAGGACTCAAAATTAATGCC CGAGAACTAAAAAGTTGTCATTTTTCATTTATCAATGATTTTACTTAATT TCAAAAAAAAAATTTTGCCCAAAAAAGGACAGTCATTAGAAAAAAAAACG GAAAAATGATATGGAGTGATTCTTTTTTATTTTATAAAATTAATCAGCAT AGTCAAATGTACCAGAAAAAAGCAAATAAAATGTACTAGATTGACCGGAA GATTATTTGAAAAATTGCAGAAAATGCACCAAAAGCTGCTTTTTTCAAAA ATTCAAAAGTACGGTAAAATCATACGGAGCTATTCTTTTTTATTTCATAA AACTCTTCAGCATAGTCAATAATACCAGAATATGTCAATCAAAGTATAAT AGCTTGTACGGAAGTATCTTTTTAAAAATTGATAAAAATATATAAAAGCT GTTTTTTTCAAAAATTCAAAAGTATGGGAAAATCATAAGGAGTCATTCTT TTTTATTTCATAAAACTCTTCAGCATAGTCAAAAATACCAAAATATGTCA ATCAAAGTATAATAGCTTGTACGGAAGTATTTTTTTAAAAATTGATAAAA ATATATAAAAGCTGTTTTTTTCAAAAATTCAAAAGTATGGGAAAATCATA TGGAGTCATTCTTTTTTATTTCATAAAACTCTTCAGCATAGTCAAAAATA CCAGAATATATCAATCAAAGTATAATAGCTTGTACGGAAGTATTTTTTTA AAAATTGATAAAAATATATAAAAGCTGATTTTTTCAAAAATTCAAAAGTA CGGGAAAATCATAAGGAGTCATTCTTTTTTATTTCATAAAACTCTTCAGC ATAGTCAAAAATACCAGAATATGTCAATCAAAGTATTATAGCTTGTACGG AAGTATTTTTTTAAAAATTGATAAAAACAAATAAAAGCTGATTTTTTCAA AAATTCAAAAATTCAAAAGTATAGGAAAATCATATGGAGTCATTCTTTTT CATTTTATAAAATTCTTTAGCATAGTCAAAAATACCAGAATATGCCAATC AAAAGATAATAGCTTGTACGGAAGTATTTTTTTTTTAATTGATAAAATAT ATAAAAGCTGATTTTTTCAAAAATTCAAAAGTACGGAAAACTATATGGAG CGATTCTTTTTTCTGTTATAAAACTGTTCATCATTGCCACGTATACCTGA AACTACCAGAAAAAGTATGCTAGCATGTACGGAAGATTATTTGAAAAATT GCAGAAAATGCACCAAAAGCTACTTTTTTCAAAAATTCAAAAGTATGGAA AAATCATATGGAGCGATTCTTTTTTCTTTTATAAAACTGTTCAGCATAGT AAAATGTACCAGAAAATACCAAAAAAAAGTATGCTAGATGTTCGAAAAAT TGTTTTTATAATTTTTGAGAGGAGTTTCAAAATTGTGAATATTTACAAAA AATGGACATTCTTGCCACTTTTTACTAATTTTTGATGGGCTAAACCTAGA TTTTCTAAATTTTACATTTATGAATTACCCGTTTTCGACGAATTCAGGCA AATTTTTATTTTTTCCTATTTTTTTCAGCCATTTAATCAGCCATAATAAT GAATGTCCTTTTTTTTTGGGCAAAAAAAAATTTTTTAAGGCTCGAAGACC AATTTTAAGTTCTCTAGCTACAAAATGAACCATTTTAGAGGAGTTTCAAA ATTGTGAATTTTTACAAAAATTGCCCAAATTTGCCACTTTGTAATGGTTT TTGGTGGGTTAAACCTAGATTTTCTGTATTCTGCATATATGAATTACCCG TTTTCAACAAATTTTGACAAATTTGTATTTTTTCCAAAATTTTTTTTCAG CCATCTATTCCTTTTTTTTGTCTGTTTTTTTTTCGGGCAAAAAAACCTTT CCCCACTGGTGCTATACCACCTTTAACGGTAAATTTTACTGGTCTAAAAA TCGGCGAAAAAATGAAACTTCAAGTAATATAATGGTAATTGAGTTTTTTT TTCTATTTTCTTTGTTCAAAATATCAATTATGACAAAAAACGAGAAAATT ATATTGACACAGTTAAGCGGATATAAATAATAAAACATCACAAGCACATT TAATTTTTCAAACCCCCTCAGGAGTCATGAAGAAATCCTTCTCTGCACAT CTACCTTTCTCCACATCCAACTCCTGATTTATTTTCTCCGCAAACTCCGT GTAACTTTTAATTGCAACATTCAAAAGTTTTGTATGATGCTTCAAGTGAC CCAAGTCGATTACACAATCCCCGCAAAGAGCTTCGCTGCGAATTTTGTCA ATTCCCTCTTCTAAATTCACTTGTTCTCCAAACTTCACTGATTTCCTTAG GATCCCAGTGCTCAGGCAACAGTTTGTGCAAATTCTCAAGGTTTTTGATT TCAGTTGGCAAGCGGTGCAGATAGGGCTCTGGAATTTTAAATTATTGATT TTTTTAAAAATTATTAACTCACCTCGTCGCTTTCATGTGCTCTTCTTGGA TTATGGTCATATGGAACTAAGAATCTCGAAAGTTGTATTAAATCCCACAA AGATCGATTCACATTTTTCCTTTCAAACGCATTTTCTCGTTTACAGTGTG GACATCTCTTGTTCAGTAGTTGGAGTCGGCATCTGTCGCAGATAGTGTGA CCGCAAGTGCCTATACAAGGGATTTGGGTATCATGATCTGGAAAATTTGG TGTGTAGGGCTTCCATGGTAGGCAGGCGCGGGGCCTGGCCCGCCTCACAC CGGTGAATTTACAAATTTTTGATTTTCTCGTTTTTGTCATTTTGATGAAA AACATTGAGGCAGGCGGAGGTCGCCTCAAGTTCACTCGGCGTTTGCCGCC AGCTTCCTACCCAAAGCTTTGCAACTTCTTACCCAAGCCTTGCCCAAAAA ATAAAAAGCTTAAATATCAAAATTACTCAATTTTGTGTCATTCTACTAAT TTTCTGAGAAAATTTGAATTCCCGCCAAAAATTTTATTGGAAAATTTGAA CTACTGGCCAAAATTTTTTTTGGCTGCGCCAAAGATGATCTTAGAAATTT GAATTCTCGCCAAAATTTTTCCCAGAAATTTGAACTTCTTGCCAAAAATT TTTGTTGGATAATTTGAATTTCCGGCAAAAATTATCTTATAGTGAGGACA CAATCAATAGTTTTGGTCAAAATTGTATTGTCAAATTTTTGATGTGTGTT GGCAATTTTGGCAAATTTGCCGAGCTCGGCAAATTCGGCAAATTTGCCGA GCTCGGCAAATTCGGCAAATCTACTTTTTGAAATTCGCCAAATTTGGCAA ACGGCAGAAAAAAGTACAATTGAGATTTGAGGTACACAAGACTTACATCG AAATTAATCTAATTAAAAGAATATCACTTACCATATTCATCATAGCATAT ACTGCATTCAGTAACCTTCATCGCAAAAATAGTCTAGACACTGACCAAAC ACTACACACTTGATGCTATTTATATACTTTCTATGCTGAGCAATACAGAA CATGCGATGTGAGGAATCTTAGGTAGCAGAAGTACAAAAAGATTGACATG TGATTAAATTCCTAATTTGTTCCTTATCACATTTCCCATATGTCAATTAA TTCGTAGATAGATGCTATTGATAAAAGTTTTTCGAGAATTTGTAAGATAT GAAAATAATATTCCTCATTTTTAATTTAATGATACAGTACTTTGAAAATT TCAACAATTTCAACAATTTTTAACACCTATGTTATCATTCATATACAACA ATTTGTTTAATACAGTAATACATTTCCACCCACGTGGTATTAATACAGTG TTAAGCTTGTTATTTTTTAAGGAAAAATTTAGAAAATTTTTCTTCCTCAT TTTGCTTACTTTTCAAAAAAGCGTGCAACTCCCTCATTTAAAAAAGAAGT GTCGTCGCTGAGGAAAATGTTAAAAATTTCTCTCATGGTGCTAAAATTAC TAACTAAAAACAGTAAGTATCGTAGCGAAACATTTCAAAAATTTTCAAAA TTTTTTATTTATAGTCAACAGTTTTGGAAGTCAATTAAAAACATTTTTTA CTATTTTTAATATTTAAAAACGTTTCAGTTGCTTGTAACTTTATAAGTTT GCCTACCGTACATTTACCGTAAAACAACCTTAAAAATGTAAGCTTTTCTC CCGATAAAAATCTTTACTCAGGAGTTCGCGACTCTTCTCTTACATTAATT TTTTCTCTAATATATTGAGCTCAAACCTAGCTGTAAAATTGAACATACAT ATAACTTTGAGTGCAATTTAAATTTCAGAAAACTTTCACAAACCCAAAAA TTGAGAATGCTCAGGACAGTTTGACCTTTCAAGAAAATTGCTTCGAGAAA ATTCCAAGCTTCACAAAATTGCTCATTGCCAAGTTATTTCCTTTAGTTTG TGGCCAACGCCTTAAAAAATACAAATTAAAAAAAAAACTCTGACACCACG TGATGATGCAATCAGACTCACGAACTCACGGGGTTCTGCCCTTCCTCATT GAATTTTTCGCGCTCCATTGACAATCACCCGCCGTACAACACGTGGGAAA GTCGTGCACTCCACAAGGACAAATACATTTAGTTTTACAACTAAAATCGA GCCGCGACGCAACACGCAACGCGCCGTAAATCTACCCCAGATATGGCCAA GCCGAAATGGCCTAGTTCGACAAACTCTTCCATTTCAATTTATGAGGGAA GCCAGAAATCCGTGCGAACTGCGAGCCTAACGCTCTTTTTCAAAATATCG TATAACTCGGAAAACAAGCCATATTCCCAGTTCCTGTTTTATTTCGAAAA ACAGATAATACAAAAGAAATATCTGAAAATTAAGAATAACATGTTTTTAT TAAATACTTCTTTGTCTATATTCCATATAAAAAGAACCCCATGCGAATGA AACACTCACTATACATTCAAAATGAATTTCGCCATCTACCTTCTCGCTTT CATCGCCTGTCTCGCTAACTTTGGATTTTCACAGGGTAATCCAGGACTCT CATTTGATCCAGAAGAAGATTCAGTAAATATTGTAAGTTTTCGGATTAAT GGTTACAACATCTATAAGATTGTTTAGAATGGCAAAGTGCCAGTGGGAGC AGTGAAGACGTTGGTTAATGATCTTGTGAGCCCTACTATTGCAATTGTGG AGAAAACATTATCCTCATTGTCAGTTTAAGGAGCTACGGGAGGGCTCCAT CCATCTCAAATGTTTCAAATAACTCATATTGTTCTTTTATCTGGGAGTAA ATAAATTACATATTGGGAATCCTTTTCTTTTTGTTGTTAACCAAGTTGCC GGTTGCCAAATTTTTTTGGGTTCGGCAACTTCGGCAACTGCCGGTATCAA TGTCAAACATTTTGAAGCTTAGAAAAAAGCATTCAGAGAGCCTGAAAAAT TCTATAATTTCACTTTAAACGAAAAAAATACCATACTTTTTTACCAAAAC GCTCAAAAATATAATTTCAACAAAAAAACATTGAAACCTGGTTGCCGAAT TTTTTTGGGTTCGGCAATTGCCGGTTGCCGTTAACCTCGGTTGCCGCACA GCCCTGATGTGGAACTCTGCAGGCCTAGCGGCATCCATGTGAAGGAAGCG TATTGTATTTATTTTTAAACATAAATTAAAAAATCGATAAAACCTTCATA TATATAAATTGTTTAGACCGGTGAATAAAATGAGACGATGCCACGCGAGT TGGCGAACGCTTTTCTCCGAAGATCCAAGTCAGGACGTCGTCGATGGGCG GGACCCGGTGGGCGGAGCTTAGTCGGATAGCGCAGCAGACAAAATACGGG CGGTGCGTCGAGATCAAGTGCGTACTCCTCGACGGAAAGGGAGCTTGACG CGTGGATTGCGTTCTCGTCGGATGAGGAAAGATCTTCTGAGGAGGCGACC GGAGCCAGTGGTGGGAGCTCTTGTAAAAGGCGTTCTCTGAAACAAATAGT GGTGTTAAGGGGAAATGCGATGGGAAATCCGAGTAGTTGATGTCCGCGGA ATTAATTTTCTCGGGGTTTCATGGAAATTTAATTCCGCGGATTTCAACTT GCCGAGTTTTTATTCGATTTTATGAAAAAAATTACACGAGAAATTGTTTT TTTTAATTAAAGTATCCGAAATCCCCGGAAACAGATTTCCATAGAGAGAG GTCACTAGAGGTTTCATGGAAATATGTATTCAAGGTCTTAAACTACCCAA TTTTTTTACCTCGATTTTAACAAATTTCAAGTAAATTTGAATAATTCTAA CCAGTTTTGTTGTTTTACACAAAAATTCGGGTTCTTTAATCCGCGGAAGT AGCTTTCCAGAGGTTTCATGGAAATATGTTTCCGGAGATTTCAACTACCC GAGTTTTTTATCTCGATTTCACACATAATCGGCATAAGAAACTACAATTA TTTGTTTTCGGGGAAACTTTAAAAAACCCCAGAAAGTTGAATTTCTAGAA ATTAGCTTTCCCGAGGTTTCATGGAAATTTGTTTTCGCGGATTTCAACTA CCCGAGTGTTTTACATCAATTTCATCATAATTGACATAAGAAACTACAAT TATTTGTTTTGGGCGAAAGCTAAAAAATCCCCGGAAATCTGGATTTCTAG AAACTAGCTTTCCCGAGGTTCATGGAAATTTGTTTCCGCGGATTTCAACT ACCCGAAATTTTAATTCAATCTTTAAAAAACATCCAGTTTTTGTGACATG TTCTTCAGTTAAAAAAAATCAGAGTGTTGGAATCCTAAATTTCTAAATTT TCATAGTTTCCGCGGATCGAATTTCTAGAAATTACCTTTCCCGAGGTTTC ATGGAAATTAGTTTCCGCGGATTTCAACTTCCTGAAGTCTTCATTGGATT TCAATATAATTCGCACAATAAAAAAAGCCAAAACGCGAGGATCCCTGGTA GTTGAAATCCGCAAGAATAGTTTTCTCTAGTTTGAAAAATTTACTGAAAC CCTTACTTTTGCTTTCCCAAGAATTCGAGTTGTTCCTCGAACAATTGCTT TGCAGTCCCAATATTCGGCGAAAATTTCGATGGTTCACTATTCCGACGGT GCTCTTCAATTTTTCGCAAGTTTGCTGATACCTGAAAAATCGATATTTCA GACTATCTGTGCCAAAAACTAATTTATTAATTTACCTTCTGACTAGCATC CTCCAGCTCAACAATGTTATGAATGGTGGCTTTATACTGTTTCAGCTTCT CCTCAATTAAAGTCTGAACACAACCCGTTTGCCGTGCCACGTCATTCAAC TGCTCCTGAGCATGAGCACTATCTTGTCGGCGGAGCACACATGGCCCGAA GATCAGAGCCAAGTTGTTGCAGCCCATTTTGTTGACGGCTTCCTGGTCGG CGACACGTGCCAAATGATACATTAGGCGATCGAGCACGGCGCGGTTCGGT TTTGGGAGAAGCTCGATCATTACGGAAAGACAACGGACACGTTCACCCAT ATCCTCCACTTCTGTAATTTTTTTTTTTGGACGAAAAAAAACAACAAAAA ATATCATTTTGACAAAATGTTAACTTTCAGAAAATTTGAAAATTGATTTA TTTTTTTTGTTTCAATTTTTAGGTTTATGAATGAATCCGATTTTTTTTTG TCGAAATTTTTAATAAGAGCCCTAGTAGGCATGTGGTGTGTGTGTGTCTC ACTTCGGCTTGATCTACGTAGATCTACAAAAAAATGCGGGAGAAGAGACT CAGAGTTCTTAATGGATTTCGCATGGTTAACAATATGCTGACGTCACTTT TCTGGGGAAACAATTTCCGCAATTTTTTGTAGATCAAACCGTATTGAGAC AGCATCTCTGCCTGGCTGCGGACGCCTCGTTTTTCCCTTGGAATTTTTTT GGCGCGAAATTCAACTTTTCAAGTAAGTGCGAATATTTTCAAGTGAGACT GTTCAAAATTATTTTGCTGCCAAATTTGAGTTTGCAAATAAATTATTGAG CAAAATTCAAATGTTCAAATATTTTCTTTCGAAACGTAATGAAAAAACTC AAAGTTACAAATAATTTGGCGCGAAATTTGAGTTTTCAAATATTTCTAGT GCAAAATTTGAATTTTTCGAATAATTCTGGTCCAGAATTCAAAAATTAAA AAAAAATTAGTTTGAAGCGATGCTCAGGTTTTCATAGAGCTTCCATGTAG GCGTTAAAACGCCTGCCTGCCTGCCTTATGCCGCGCCTAATGCTTGAATA TACGTAAACTTTTTTTCATTTCTTAATTTGATTTTCAACAAGTTGATAGA ATTGAGAAAATTATAAATTTGTAAATTTACTTAAAAATGCAAAAAAATAG GCAGGGTTCAGGCAGGTGCCAGGCCCTGAAACAGCGCCTGCCTACCATGA AAGCCTATCGTAAAAAATCCAAATTTAATTTTTAATTTTACTAAAATTTC GATGGCTCGTTTTTTTTCAAACATCACAAACCTGAAACATTCAAAAAATT TTCATAGAGATCAAAAATGATAATTGGTTCGGCGAGTTCTCGGAAGAACG CCTTGACAAGTGTAGTTAGCACATGAACTCCAATATCCTCAAGATTCACA GAATCCGCATCTGAAACTCCGAATTTGATTTTTTTTTTTTCAATTTTTCT GCAGTTCAACAATTACCTGCAGTCGATTCAATCACTTTTCTGATACTTCG AACTTGGGGTAGAGATCCACTTTTTCTGAAATTACGGGCGCAAAAATTTC AATTTCAAAGACCTTCAGGTATTTCCGTACCTATAAACTCCTTCCACAAA CAGGGCACGTGTCTCAATTGCAAAAAAGAGTCGGTCCAAGAGTGTTGGCA CAGTATGATCATCATCGACAATTGATACTAAAGAGGCGCCAAAGAATCTT CCACCATTTGTCTGAAATTCAATATTTATAATAGCATTATAATAGCATAT TTGGCTGTAGTTTGTAGCAGGGGTCAGGCAAATTGCCGATGTTGCAAATT TCCGGCAAATCGGTAAACCGGCAAACTGCCGGTTTGCCGAATTTGCCTAA AAATTTTTGGCAACTTTTTTTTGGAATTTTCAGAATTTCCATTTTAATCG GCAAAATTTTACGCATCGTATGAATTTTCTTACATTTATTTTGAAAAGTA AGCAAATTCTATGAAAACATCTGAAGTAAACGAGAAAAAAAAATTCAAAA AGGCACAGTTTTAAGTGTTTCCGTCTTATAAAAAATCCCTCTAAACATTT CCGGCAAATCTGATATCCGGCAAATTGCCGGAATTGAAAATTTCCGGCAA ATTTTGATTCTGAATTTTTCAAAAAAACTGTTGGCAAAATACAAATTTTA TTTTATTTTCAAATATGTTTTTTTTTTCAGAAAAGTAAATTTTTTGCCGG GAATCAAATAATTCTTGAAAATGTTTCAAGATTTTTTTGCCACGAAATCA GACGTTTTCAGAACAGTTTTAGCGGAAAGTTAAAAAAAAATTTCAAAATT TTTGGCAGGAAGTAAATATTTTTCAGAACATTTATCCGAACAGTTTTGGC TGTAAATTCAAATGTTTAGTTTTCAACAACTCTTAGCGGAGAATCCAATA TTTTTCAGAATTTTGGAAATTAAAAATTTATCGAAAATTAATTGCAATTT CTAAGAAAGCAGTTGTAATTTTTTTTTTCAAAAAGCTACCGAAAAAATCT GGCAAATTTGGCAAATTTGCCGAGCTGAGCAAACCCGGAAAAACGCAATC ATTTTCTATACTTTTTGGATCATCAAAATTACTGAATTCCTACAATTAGT ACACGTCAGATTTTTCTATAAGCTCCGTTTGGTCTACTTGTATAAAGCTC GAAATATCTCAATGTTATGTTATTTTACTAGATTTTTTTGGAACAAAATC AATAATTTCGGTTAAATTATATTGTTCATTTTGTGGTGTGTGCGTGAAAT TTCAAAATTTGCCGAGCTCGGCAAATTCGGCAAATTGCCGCACACCCCTG TATTACTCACCTTCGGATCAATCGCCTTTCCAGTCATCTGACACGGATGT GTGACCTTCGGCTGACACTTTTTATGACACGATATCCGGCACGCAACACA AGTGTACAGCTTCTCATGGTGCCATATTAACTGATTACACACTTCACAAT AAGTCGGCACATGGACTGCTTCGGCACGGAATCGGTGACCAGCATGTACC TGGAATATTGGAATTGCGTGGGCAGGGGAAACTAGTTTCATTGAAAATTT TTTTTTAACTGCTGAAATTAGTCCAAAATGACATGTTATATGTACTTTTC TCAAAATGTGTGAAAATTGCACACTGAATTAATAAATAATATTATTTTTG TAAAAACATAAAAAGGGGAAAAGTCAGCGGTAAAAAAGTAAAAACACTCA GAGTTAGATCTTTTGACCTCCAAAATCCATGAAAATTTGCTTCATTTTTT TCATAGCTGTGACGTCGTGGGCGGCAATTTCCGTTCGGTAAATTTATTTT CGGCAAATACGGCAAATTGCCGATTTGCAGTTTGCCGGATATCAATTTGC CGGAAGTTTTAAAAGGGATTTTTTAAAAATTCCAAAACACTTAAAACTAT ACTTTTTTGAAATGTATTTTTACTATTTTCTCTAGATATTTTCATAGAAT TTACTTACTGTTCAAGCCCACAGCTTGCCGAAAATTTCCGGCAAACTGTC GGTTTGCCAAAATTGCCGAAAATTTAAGAAACGGCAATTTGTCGGTTTTG CCGTTTTCTAAAAAAATTTAAATTTCGGCAATTACTGTATTTGCCGTTTG CCGAAAAACTAAATTTGCCGCCCATCGTCACACAATACAAAAAAATTGCG CGGCTTCTGGAGATCAAATCTGACAGCTTACTGTATTTATAACTACAAAT TCACGCTGTGTTTTTCTCTAATTCACGTGGTGTCAGGGTGTCTCACTTCG GCTTGATCTACGTATATCTACAAAAAATGCGGGTGAAGAGACGCAAGAAT GTGCTAACGTCACTTTTTTTTTGAAAAAAAAAAAATTCCCGCATTTTTTG TAGATCAAACCGAACCGTAATGGGACATCCTGGCGCCACGTGCTAATAGT AAGTCACTACATTCTTACCGCCGCTACATCTGATTTTACACGCTTCTTTC CAACTTTCTGAATACCAATATTTTACACAATTTTCTCGGATTTTGATATA TAATACTTTCGCGGGCTTCTGGCTTCCCTCATATTTTCAAATGTAAGAGT TTACCGAATTAGGTCATTTGGGCTAGGCTACGGCGCGTTGCGGCTCGGTT TTCATTGCAAAACTAAATGTATCTGTCCGATTGTCATTGGAGCGCGAAAG GAAAGCTAGAAGCCCATGTATTAAAAAATCGACTTACCTTTATCATTGAT GACTTCTCCTTCCCGCGCTTCTTTTTCGATTGCACATGAACGTATTCGTT CAGGAAACCTCTGGAATTGAAAAAAATTGTTTTGTTACAAACGCGCCCTA ATAACAATTGATCGTGTATTCCACGTTGGAAATTATACAAAATACAATGG AGCACTTTTGCTCGAAGCCTAACATTTTCTAAATGTTTTCTCACCTAAAA GCGTTAACGCCAAGTGTTGTCGGAAAGGACACACTCTCCTCGAGACAGAC TTTCGTTAAAAGTCCCTCGAACATTGTGATGACGTCACGGTATTTAAGCA CGGATTGCTCGACCTGAAATGATATGTTGCTAATTACACTTGCGTGGCCG TGAACCCCAAAAACTAGGCCACCTTTTGCGCCCAATTACCGATAAAACCG CCTCATATCCCAACAGCTCCATATGGAAAGCTCTTAGCGACTTTTTGAAG ACCGCATCCACTACAGTATCCCTTTTGGCATTACTCTCGTTTAGATGACG TGTCTTGTTGAAAATAAAAATACTGAATTGTCGGAGATCGTCGGTGGATT CTACAAGCATGTTTCCAGGGTCGATCTGTAAGTATTGTTTAAGTACAAAG TACTACTGCTTCAGTAAGCATTGTAGTTTATAGTTTGTGGTTTGTGTTTT GTAGTTTGTGGAGTTTTTAGTATGTAGTGTGAAGCTTGATATTCATTTTG CAGTACATTGACTTGGATTGGGGTGTGCTAAGATATAATATCAAAGTACA AACAACGAGTGACAAATTAAACATCTCAATCCGAAAACTACAAACTAAAC CCTACAGACTACAAACTACAAACTATATCCTACAGACTACAAACTACAAA CTACAAATCACAAACTACAACCACGCAAAAGAACGTTACCTACCTGTTGC TTGGTTTTTGTTAAACTGAACGTGCCGGTCGATGGAATTGGTGAGGAGGA TTGCCGCTGCTTGTGGGGCCTGGAGTTTCAATTTTTTTTTGTTTCAATTA AGATTTTCCTCAAATGTTCCTTACATCAAATCCCATGGCCGTTTCGGTGA ATGCAGCCGAGTTGGTGATCGAACTGGTGACGTGGGATTGCACGGGATGG AGGAGGCGAAGACGAAGCATTCCTTGTGCAGGCACATTTTGCATCCTGGA AGAGTTCAAATTACGGCTTCTAGGTCATGGTGGCCGTGGCCGAGGCTTGA AGGGATGCTAGGTCAAGTCTGACGTCACATGTGGTTTTTCTAGGACACGT TACAAAGATTTCGAAGCGCCCAATTTTCGGAGAGGTTTCTAGGCCATGAA AATGTTCTAAATTTCAGGTTTCTAGGCCAGTAGAGAATTTTGAGGTTTCT AGGCCAGTAGAGAATTTTAGGCCATATCTGACGTCACACTTTTTGGGACG CGCCTAATAACGATGGTGGACCTCTATTCTAGGAGGAGCAACACATTTTT TACGAATTTCTAGAAGATGCAACTTCTGCTACTAGGCCACTCATGTGGTG CGAGGCTGTCCCATTACGGTTTGATCTACAAAAATGCGGGAACTTTTTGC CCAAAAAAATGTGACGCCGGCACGTTCTTAAACTTGCAAAATCAGTTGAA AACTCTGCGTCTCTTCTCCCGCATTTTTTGTAGATACGTAGATCAAACCA AAATGGGACCACACACACACACAAAACCCACTCTGACACTTGTGCGCCTG TGAGATGAAGTTCGTCAGGTGCCGATTGCAAAGAGCACATATCTCCTGCC GATGAAGTCGTGACATCTTGAATTGATGGTCTTTTGCGACGAACACGTCC GGCGTCAGTTCACTGGCAAAACTTGGTCCCGGAGACGGTTCATCCTCGTC CTCGTTCCTGCCAAAAAGTGCCTTCAAATTCTTTTTTGCCTTCTGGAATC CCAACTTTCCAGCGCCTCCTTTCTTTTTGGAATGTGTTGGGCTTAGCTGA AAATTCAAAAGTTTTTAATATTATAAGTAGAACCCTTACCGTGAACGAGT CATCACATCTTGACATTGAGAAATTGTTGGATTCGGTACTATTAGCCCTC CGTAACATTTTTAATTTGGTGGTTGAAGCCGTAGGGGCCAGAGATTGCCG TCTATGATGGGATAGATCAGCTCCTTCAATGAGCTTCAACTTTGTGTCTT CCAGGATAAATGTGGCGTCCACGTCGACGGCGTCATCGCTGAAAAAAGGT TTGCGTGTTACGGTAAGCGAGAATTATGGCAGAGGTGGGCGGAAATTGCC GTTCGGGAAATTTTTTGTCGAAAAATTGCCGGTTTGCCGAAAATTTGAAT TCCGACACTTTGTCGGTTTGCCAGAAATTTTCAATTCCGGCAATCTGCCG ATTTGCCGGAAAATTTCAATTTCAGCAAGTTGTCGATTTACCGGAAATTT AAATTCCGACAATTTGCCAATTTGCCGGAAATTTCAATTCAGGCCATTTG CCGATTTGTCGGAAATTTCAATTCCGGCAATTTGCCGATTTTCCGGAAAT TTCATATCCGGCAATTTGCCGATTTGCTTGGAAAATATCAATTCCGGCAA TTTGCGAATTTTCCAGAAAATTTCAATTCCGGCAATTTGCAGATTTGCCT GGAAATTTTCAATTCCGGCAATTTGCCGATTTACCGAAAATTTCAATTCG GCAATTTGTGAATTTTCCAGAAAATTTCAATTCCGGCAATTTGCCGATTT GCCTGGAAAATTTCAATTCCGGCAATTTACCGATTTACCGAAAATTTCAA TTCGGCAATTTGCGAATTTTCCAGAAAATTTCAATTCCGGCAATTTGCAG ATTTGCCTGGAAATTTTCAATTCCGGCAATTTGCCGATTTACCGAAAATT TCAATTCGGCAATTTGTGAATTTTCCAGAAAATTTCAATTCCGGCAATTT GCCGATTTGCCTGGAAAATTTCAATTCCGGCAATTTGCCGATTTACCGGA AATCTCAATCCGGCAATTTGCGAATTTTCCAGAAAATTTCAATTCCGGCA ATTTGCCGATTTACAGGAAATTTCAATTAAGGCAATTTGCCGCTTTACCG GAAATTTCAATCCGGCAATTTGTGAATTTTCCAGAAAATTTCAATTCCGG CAATTTGCCGATTTGCCTGGAAAATTTCAATTCCGGCAATTTGCCGATTT GCCTGGAAAATTTAAATTCCGGCAATTTGCCGATTTGCCGAAAAATTGCA ATTCTGGTACATTGCCGATTTCCCAGAAAATTTCAATTCCGGCAATTTGC CGCTTTACCGGAAATTTAAATTCCAACAATTCTGGCACATTGCCGATTTG CCAGAAAATTTCAATTCTGGCAATTTGCCGCTTTACCGGAAATTTAAATT CCGGCCATTTGCCGATTTGCCAGAAAATTTCAATTCTGGCAATTTGCCGC TTTACCGGAAATTTAAATTTCGGCAATTTGCCGATTTGCCGAAAATTTAA ATTCCTAAGAAACAGTGGCCGAGATCAGTTTTGACGTCACTTCTCTTCCA GAAAATGCACTAAAGTGATGTGACGTCATGACTGAGTTTCTAGGCCACGT TTCGTTTGATAAAATTGGCGGAGGACCTAATTTCCAATGGAAAATAAATT CAATTTTTTTAAATTTCATAATTTTCTGAAAAACTCACTCCTGAAAAGCA TCACTCTCTTCCGAAATATCATCATCAAGCCCATCCTGCGTAGACTTATC ACTATCCGAATCATCATCCGAAAGAGCAAAAGCCGCCAGAGAGCTCGGAT CACTCAAGTCGAACTTTGTAAGATTCACAGCATGAACCTTCCGAACTCTA AACGGTGACTTCTTAACGTTCAAGGCTCCATTGCCCTTTGGAATCTCGCC GACTCGCTTGCGAACCGATGCTCCGCGATACGCAGACTGCAGAGCTATCA CCGATTCTCTTATCGATAAATATTTCTGTCGTTGCTTGTACTTCTTCCAA TTACACTGTATCGTTTGAGCTGCTAAGGCTTTTTTCCGAACTTCGGCTCT TGCAAATGATCCTCGAATCAATGCTTGGATCTTGATAATACCCTCTTTCA TTCTCAAATATCGCTTTCTAGCCAACATTGTCCTGAACCATCGTTGAAGT GTATCGATTGATTGCATAATTGTCCGATGCAAATGATCATCGAGTATCAA CTTTTCAGCGTCTCTCATAAAAATCTTATTGGTTCCATATTGAATATTAT CATTATCAATCGATGCATGGGAATGTATGTACTCTTTCACATCGTCCACA GTACTATCCCTTCCGTTTCGCAAAAGAATTCGGTATTGCTGGACAAAGCT TGGATACTCAATTCTCACAGAGTACCCGGCTCTCCGAATTCGAACGGTCT CGAGCATTCCGGTGTAGCGGAGCTGGCGGAGGATTATGTTGTCGTCGAAG TGGTTGGCGATCTATAAAATTTTAGGTGAGTGGTTTTTGTCAATAATTTC TACTTATATTCAGTCATATAAATAAAAACACATATAAGAAAAGTACCAAA AATTTCGATCACCTAATTTTTTTAATTTTTTCTATACTCTTACTAGTATG AAAGAGCAGGATACAAAAATAACTCCACAAGTGATAAACCACCTTTAATT GGATTAGTGTGTATCACTTTGAGTAAGCTAATATTGAAGGTTTAAATGTG GACTACCTAGCCTAGCAAGAGAGGTCCTGTAAGTAGACTTCAAAAATATA GATTATCTTATGAACATATGAACTTATAAACAAACGTTGGTCAAAAAGTA GGTGTTCAAAGATTCCACCAAAGTTTACAAACTCACCTTATCATTATTAC TCTTAATACACCTTATAAAATACGGCGTCGCGTTGGCCAGTGTGCTCATC AACCTCGTCAACGAGTACTCGAACTGCTTTGAAACCGACGATGGCTTCTT GGCAAGCCTCCGTCCTCCGATAGCCTCCTTCAGAATTTGCAGCGATTTCA GCAAGCTCATTTTGTCGTCAGACTTTCCCGCCGGGGTACGCCGTGCTTGA TTTCTAATCGTGTTGAACATGCTGGTATCACAAAAGTCTGGAACTTCACA GCGAAGTTCGCCACGTAGAAATGCGGAGAGAGCAGAGTCCGAGCCACGAC GGGGAGACGTTACGATGGAGTCCATTACTCGGAGATGGCCGGCGGATTCT GGAAATGTTGAATAATTATATTAAGGGCAGGATAGCTCAGTCGGTAGTGG TGGCCGCTAGCAATCTGGAGGTCACGAGTTCAAGTCCGCCTTCAACCCCT AGGTTCACCAAGCCTCTATTGGAAAATGGAGCAATCCACGACTGGATTAT AAGCCACAGCCTTCGGCTAGGACGTGGCTTAAATTGTAGCCCAGTGGGAG CACCACCAGGTAGTGTACCTGACTCCCAGATCCGCAGATACACTCAAAAT AAAAAAACTGCGTGGCGTGTACTGCAGAAAACCTAATATTTAGGCCCCGC CTTTTTCTCGTCCACTCACGGAGAAAAGGCAACAATTTTGAACCCAACCA ATATCAGGCCGCCGACATCTCACGGGTTCCGCGCGCCGCTGCGTTTAACT CGCTGTGGGCGTGGCGAGCTGTCTCCGCTTGCTGCGAGTTAAACATTGCG GCGCGCGGAACCCGTGAGATGTCGGCGGCCTGATATTGGTTGTGGTCAAA ATTTTTTGCCTTTTTTCCGTGAGTGGACGAGAAAAAGGCGGTGCCTAAAT ATTAGGTTTTCTGCAGTACACGCCACGCAGTTTTATTATTTTGAGTGTAC TTGAAGAACGGATCGTCCTTTAATCCTTTAATTATACATTGCATTTTTTT TCCACTTCTACGACTTCGAAGGGGCGCATTTACGCGCGATGGTCCCGCCA CCCACCCCAAAAATCAATGGGTGGCGCGTGCCGAGACCATCGCTCGTAAA TGCGCCCTCCTTTAAAGTCGTAGAAGTGGAAAAAATGCACTGTAGAAATG AAGAATACCATACTTTTTGTGTTAATTTTTTCTATAATATCGTAGTTGTC CATTTATTTAAATCTTCCCACTTATTTAACTAAGGACTTCTAACGCTTAT TCCAGTTATTGGTTCCGATTAAATCTACGAAAACTTGCCACTTTTCTGCA GTTTCCTTGTCGATTGCTTGAACGCGTTCATCGCCCGAAACACACTTCTC AGCACATTCCACCTGTGCACCGCCACCGGATCGATTCCCAGCAGGGTCTT CATCACTGAGCTCGTACTGGACTTCAGAGCGTTCAACACATCCTGTCTCA TTAGGTCCTTATTCTTTTCTCGGAAACCCTGAAATTTAGTTTTGACGTGA TGATGGAAGACGTTTTTTTTGGAAGTTGTGTGTTTACCGTAATTTGATAC TTGACTTTTCCAGCATAATGAGCCACGATGAATGCCGGCTCCTTCTTCTG TGGGGTCTCATAGTATTCGTTGTTCTGGAAATTTAATCATGGAACTAGTC ATGTAAAAACATTTGAAGGAGTTAAGGTATGTCCCGGAGGAGTGAACATC TTAAGCCTGACCTAGAAGTTGATCCAAGTGGCAAGCCGACTGGCCTGAAT CCTATTAACAGGCCTACATGTGAATATTAAAGGTGGATTAGCGCCAGTGG GAATTTTGTCTAAATACACTTATAACGATGCCAAACGATCGAATATCATA ATAAAACACTCCAAAAACTTTTAGATTTTTCATAATTTCCGGTCAAAGTT TTGGAACATTGACAAAATTTTGACAAATTTGAGCTTTTGAGGACATCAAA ATCAATGTAACATTTTTTTGGACCCCTACAATGTCTTTTTACGAAAAATT AAAACAAAATTATAGTATAACAAATAGAGAAAAAAATTTTTTTTAGTCGA ATTTGTGTCACTTTTTGACTGTAAATAAAAAAATTTTGAAAAATTTTTGA AAAGTTTTATCATGAGATTTGGTCATTTTGGGAGCATAGGAGTGGTTTTT AACAATTTCCACCACCGGCGCTACTCCACCTTTAATCGATAATCGATTGC AATTTTTTCATACCTTCAAAAACTGATTTAACTTCGCCAGCATTGAGTCA TCTGTTCCATTATTGATATTACTCTCCTCATCGACTAGCCTGAGAATTCC ATATGGTTTACTCTGAAAATTCATCGGAATTTATATATATGGATATATAT ATATATATATATATATATATATATATATATGTATATATATACATGTATAT ATATATATATATACAGTGTGGGAAAGTTCTATAGGACCCCCCCTAATTTG AAGGTTTGAGGAACTTCCGAAAATTTTTTTGAAAAACTGCTAATGCCATT CGTTTTTAAATTGAAAAAAACCTATATACATTTTTTTCCAGAAGTTTATC TCAAAAACTGAGGTCGCGCTGGAAAAAACGTCAAAATCCAGTGTGAAACT TCTATAGGACCCCCCGTTTTTTTTCACGATTTTTACTAAAATCAACAGAT TTTGGAATTTTTGACAAAGCTCAAATCAAGTTTGAGTTAGAAATGAGTTC AGATAAGCAGTTTTGACTTTAAAAAATTAATACGAAATGTTCTCGTGGGA TCTCCAGACTGGTTCTGATTCTTCCGAACTTTGATGTTCAAGTCTGTTTC AAGCTTCCTGGTGCTCTCGGTAATGCCAAAACTTGATAAACTCTCTTTAA CAAGTTCCTACTAAAATTCCTAGCACACACACCATAAAAATTTTTACGCC ATCCCCAAGAAACCAGTCAGAAACAGCGTATTAACAAGTTGCAGTTATTT TTGATCAACAACAGAACATTCATATACTAAAATCAAGAAAGGATCAATAG TTAATCGGGTTTCCTTGTGTGCGGATGATCTCAAACAGTCTGTCCTCCAT TGATCTGACCAAACTTTTCAGCTGGTTGTCCGGAATAGACTTCCAAGCGT CGAGAATTCCTTGCTTCAACGATGCAACTGTTGGGTAAGTCTTGTTCTGA GCATACACGATACGGACAAGAATCCCCCACAAATTTTCGATTGGATTGAG ATCAGGACTTCGAGCTGGCCAATCAAGAAGGTTGATCTTCTTGAGCTTGA AATAGTCGCGGGTTGAGTTGCTCACATGGATTGTCGCATTATCCTGCTGA AATCTAAAGTCTTTTCTGGAGTAGTGACGAAGATATTTGGAGAGCTCCAG TTCCAAGACGTTCTGATAGTCAGTGCTGTTCATCTTGCTACTGACGAACT GTATCTCAAGCTTCTTCTTCTCCGTGAACGCTCCCCAAACCATCACCGTT CCTCCTCCAAAATTACGTCTCGAAAAAACCATTGGTTCCTTGCGCAAATC GCGCCAATAGTAGCGGCAACCGTCAGGCCCATCGAGATTGAATTTCTTTT CATCGGAGAAGACAACCTAAAACAATGATCCTAATTATTCACTCTTGCTT TTTTAAATTCTCACTTTACTCCAATTCGTTCCCATATTGTTCTTAGCAAA TTCCAATCGCTTGAGTTTATGGTCTGCAGAGAGTAACGGAGCAGGGCGAA GTTTCTGACGAACGATTACACCAGATCGTTTGATGACATTGAGGATGGTC CTTTTTGAAGCAGACAATTGAAGCTCATTGCGAATATCTCTTGCCGTCTT ACAGGAGTTGGAGGCAGCACGAATCACATTTCGTTCGTCACGCACGGAGA GAGCTTTGCGACGAGGAGCTCTTTTAGATGTACCGTAGCTCACCGGATCC TTCAGATACTCGCGAATACAGTGTCGAGAACGGGAAATTTTCCTACTCAT TTCATGCAGGGACACATTGAGCAATTTCATAACATCCAGCTGAGCGCGTT CAGTGTCCGAAAGGGCAGATCCTCGAGGCATTGCAAGTTAGACTGCTTTC GAAGTAAGCTTTCCAGCCTCTATATGTGTGCCACAACACATGCCACAATT CCACATTTAATAATTCACGCAAAAAATAGTAAATAACATCTGTGAGGGAC AATTTAACTTGAAATATTGGTCCCATGGAACCTTGTAATCAAAGAAAAAC GATTTGATTCCTGATAAGCCTTCCATTGTTTCCTGCTGCATATTTTGCCA AATCAGCTTGACTACACAGTCGAAACATCTAAAGTGCGTGCTAGGAATTT TAGTAGGAACTTGTTAAAGAGAGTTTATCAAGTTTTGGCATTACCGAGAG CACCAGGAAGCTTGAAACAGACTTGAACATCAAAGATCGGAAGAATCAGA ACCAGTCTGGAGATCCCACGAGAACATTTCGTATTAATTTTTTAAAGTCA AAACTGCTTATCTGAACTCATTTCTAACTCAAACTTGATTTGAGCTTTGT CAAAAATTCCAAAATCTGTTGATTTTAGTAAAAATCGTGAAAAAAAACGG GGGGTCCTATAGAAGTTTCACACTGGATTTTGACGTTTTTTCCAGCGCGA CCTCAGTTTTTGAGATAAACTTCTGGAAAAAAATGTATATAGGTTTTTTT CAATTTAAAAACGAATGGCATTAGCAGTTTTTCAAAAAAATTTTCGGAAG TTCCTCAAACCTTCAAATTAGGGGGGGTCCTATAGAACTTTCCCACACTG TATATATATATATATATATATATATATATATATATATACATTTGAAACCC AAAAAGGACTTATTGGACTTACCTGAAACAGCTGCACACACTCCGTATTA TCAGTATACTCGATATTGGTCCAAGAAATGCCCTCCTTCAAGTACTCCTC TTGTTCAAATTGGAAAATATGTTGATTGAAATAGGACTGAAGTTTCTCAT TGGCATAGTTGATACATAACTGTTCAAAGCTGTTGCATTGAGACCCAACG TCTTCAAATCCGAATATATCCAAGATACCTGAAAATTACTTCAATTTTTA ACAATTGATAATTAATCTAACCTATATAATATCCCTTCCCAGCTGAGAAG TCCTTCTTCAGCAATGCCTGATTAATCCTGAGGACTATATAGTGAAACAA AGAGTTGTATATGCACTTTGCCATGGCATCTCGGGTGTTGGTGGCCTGAA ATTAATTTTTTTATCTTAAATTCTTAATTTCACTTCTGTATATATATATA TATTACCTCAGAGACACTATATCGCAAAACTACAGTTTCTGTCTTCATAA CATGTCGTTTCATAGTGAGAGCCTGCATGAGAGTGTCGGTTTTGATGTGA AGCAGATTTGCGACTAAATCCACGACTTCTTCATTTTCAATATACCCACT TTCATCGCTATGGTAGCCATGTCTCTGGAAAATTATAGGAAAAATAAAAA AAATTTGATGATGTTATTATATTAGGAATCCTCTAAACAAGGGTTTTCAG GTTTTTTGGTTTTACGATTATTCAAATTTTTATGGAAATTATTATAATTC AAATAATTTTCGTCACTATTATAGCCATGTTGTTGAAATAATATGCTATT TTTAAAGGTGGAGCACCGAAATCTGGAAACTATTTTTAAATGAGTCCAAA TTTTCCCCTGATTCCGAATATCTATGCGAAAAAATTTTAAAAAATTCATT TATCAAATTTTTCAAATTTTTCAAACGCCGAATTTTCGCGCCAGAAACGC CGTGTGCACGTGGTATCAGAGTGTCTCATTTTGGCTTGATCTACGCAGAT CTACAAAAAATGCGGGAGAAGAGACGCAGAGTTCTCAACTGAGTTCGCAT GGTTAAAAATGTGCTGACATCACATTTTTTTGGCATTTTTTGTAGATCAA ACCGTATTGGGAGAGCCTGGCACCACGTGAGTAGGCAGGCATTTTTTGCC TGACTGCTTGCGGGTGCCTCGTTTTTTCCTCAGAATTTTTTGGCGCGAAA TTCAAATTTTCAAATAATTTTGAATATTTTCGAGTGAAGCTTTAAAAAAT TGTTTGTGCCAAATTTGAGTTTGCAAATAAATTATCAAAAAATGTGCTGA CGTCACGTTTTTGAGCAAAAAAATCCCGCATTGTTTGTAGATCAAACCGT AATAGGACAGCCTGGCACCACGTGCGTGTGTCGATTTACGAGATTTGTGT ATATTTACGAAATTTTTTATCTTTATCAGACTCTGATTTCCGTTTCTCAA CGAGTTTTCTTCATTTTTGTATGTGATTTTTTTAAGGTCCATTAAATATT TTATCATCAAAACCCTAGCAAAATTTTTGGTTTTCAGTCGGTAAAATCAT ATAGGTAATTGGATTTTCCGTCAAGTTGTGACCTAATAGTAAGCATTGGA AATTTTGCCAGTTTTAAATAATTAATTGACCCTAAAACACACATTTCAAA AAAAAACCGATAAAAATTAAAAATTCCGTAAATATACACAAATCTCGTAA ATCGACACATGGCTCTAGCGCGAAAATTCAAAAACTCTTGGGTGTACAAA TAGCGATTTCAAGCTCAAATATAAAATCGTGGAAATTTTTTAAAAATTTT TTTCACATAGGTATTCGGAGTCAGGGGAAATTTGGAGTCAATTAAAAATA TTTTCCGGATTTCGGTGCTCCGTAGAACTCTCTGAATAAAATTTTAAAAC TATGGCAATAGGCAATTATTCGGTAGTTAACTTCTGAGTTGTATTTCTTT TTGAATCTAAACCGTCCCAATCATTTACCTTGATATATGTGATATTGCCA AGAAGCAACACTGCCGAAATAATCCCGAAGATGGTCTGCTGGGTCTTTGC ACAAAATCCGACGGAGCTCATTGCATGCCTCAACCTATCAAACTCATTCC GCTCGTTCACACCTTCCAGTGCAAATGGCTCGTTCTGGAAATTTTTAATT TTTTTTTAATTTTTTAAAAAATCGCTTTGAGGTCAGCGAATGTATCCCAT ATTCGCTCCAAACTTTTCCCAGCTCACCTGATTCAAATACTTATAATCAT GTGGCTTCAACAAGAAATATTTCTTCCTTTCTTCCTCGTCTGCACCCTCC AGAAGGTAGTAGAATACGTGGTAGTTTCTGAAAAAAATATTAAAGTCCAA GTGAGACACCAAGGGAGTTTATGTACCGTTCTCCTTTAGTTTGAAATATG ATGCGTGATTTTTCCAGCAGGTAGATCTCCACGTTTGCTCTGAAAAGTAC AAGTATAAGGCATTTTTTGTGGTATAGACATCAGGAGAAGGCTTCAAATT TTACGTTCAGGTCAATTTAGGTCATAGTGCCTAGTAAGTATGGTACCTAT AAGCTTGATTACTGCCAAAGTAAAAATTTTCCAATTCCGGCAATTTGCCG ATTTGCCAGGCATTCCAATTCCGGCAATTTGCCGATTTGCCAGGCATTCC AATTCCGGCAATTTGCCGGTTTGCCGGATTGCCGGAAATTTAAATTCCGG CAATTTGCCAAATTTTTTTTCATTTTCGGCAATATACTGGATTGCCAAAA TGTTACGGCAACTTGCCAATTTGCAGGAACTTTTCATTTTCGGCAAATTG CCGGTTTGCCGATATCCCAGAAATTTTCAGGTCCGGCAAGTTGTTGATTT GCCGATTTTCCCCGGAAATTTCAGTTCCGGCAACTTGCCGATTTGCCGGA AATTTTCAAATCCGGCAATCGCGGGAAATTTCAATTCCGTCAAATTACCA ACATGCCGGATATTCCAATTCCGGCAATTTGCCAATTTGCCGAGCATTTA AATTCCGGCAATTTGCCGAATTGCTGAAAATATCAATTCTGTCAAATTGG CAATTCGCCGGACATTCCATATCCGACAATTTGCCGATTTGCCGATTTCC CAGAAGTTTTCAATTCCGTCAAATTTCTAATTTGCCGGAAATTTCAATTT TACTAAGTCGCCTGCTAGCCTCCTAATCTCACCCGGAAACCATTCCATTC TCCCGATAGTTGATTTTGATGAATTTTCCAAATCTGCTACTATTATTGTT CGTTAATGTGACAGCATTTCCAAAAGCCTCTAGAACAGGACCAGCTGACA GAAGTGTCTGCTCAGTACTGCAGCCTGTTGAACCTTTCTGTGATAGCGAT ATCAAATGGGACATCAGATGATTCGTGGATTCCGTTTTTCCCGAACCACT TTCCCCGGAGATTACCACGCATTGATTTTCCTTGATACGGAGCATGCTGA AAAAATTGTTTTTTTAAAAATTAGTAGTGACATTTAGTTAATCCAGCATC AGAATGTATATCTCTGAAATTTTTTTTTTTTGAAATCAAAAGTGCTTTGA GGGTCTTGAAACGAACACATAACTGCAAAAAAATTGGTGGCCGAGTTTAT AATCGGCCACTTGGCAAATATACAAGCCAATACACAAAGTGAGCACCTAC GTGGCCGAGTGAAGAGAAAACTCGGCCACCGATTTTTTTTGGTCACTTGA AATTTCAAAAAATAGTAACTGGGTTCCGGTAAGAACTTAGAACTCACTTG TGGTAACAGACATCGGCGATTGCAAAAATGTGCGGTGGTAGTGAGCCGAG CCGCTTACTTTGAAAGTATAGCCTAGCATATTTTGGGTTGTAGATCGGAA AAAAGCAAAACGGGTTCACGGCTACTAGAATTGGACCGATGTACGTGTAA ATGTGCCCATTCGCGAATCTTTCCCGCAAATTGTCCAAGAGGGTTTGCTC CGTGAGCTCTGGCAAGTTACAGAGATCGGCGTACTCGCGGTCCTGAAAAA TTTTAAGGTTTAAAATTTTTTTAAATATAAAAATATTTAAAGGTGGAGTA CAGGAAATCTTTTTTAATTACTCCAAATTTTCCACTGATTCCGAATATCT AAGTAAAAAATTTTGAAAAAATTTCCCTGATTTTGTATTTAAGCTTGAAA TTACGATTTTCATTTGTGCCCGCACCACTTTTTTCAAATACGCCCAAAGA AATTCGCATTGGAGCGCGTTTGCATCGTTTGATTTTCGTCGTTTATTTTA TTTATTTTCCACGGGGTTCTGGCCTTCTTCATTGAATTTTCGCGCTTCAT TGACAATCGCCTGCCGGACAACACATGGAAAAGTGTCGTGTACTCCACAC GGACAAATACATCAGTTTTACAACTAAAGACAAGCCGCGACGCGACACGC AATGCGCCGTAAGTCTACACAAAATCTCTCCGACCCAAAATGGCCTAGTT CGGCAAACTCTGCCATTTCGATTTATGAGGGAAGCCAGAATTTCGTGATT TTCGCCGAATTCAATTTTCTTGAACCAGTTTCAATCATTTTTGTCGAGTT TTTGCTAGTTTTTTTTTTGACAAAAAGGAATGAAACTGGTTAAAAAAACT GAATTTGGCAAAAAATAAATAAAATCTTTAAATGAAGGAAATCAAAGCGC GCTCCAATGCGAATTTATTTGGGTGCGCATTTGACAAAAACACGTGGTGT CAGGCAAGGGTGTCAATGTCCCGTAAAAATTTCGAAAACGGGACAACGGG AATTCCCGTTCCCGTGAAAATTTTAAAAACGGGAAAACGGGAATTCCCGT TCCCGTGAAAACTTCAAAAACGGGACAACGGGAATTCCCGTTTTTTTGAA AACACTCAAAAAACGGGACAAACTGGGCGGTTTAAAAAAAAGAGTGCATA GTTGGCGTAAATTTTAGTGTATTCGAGGCAAATTATAAAAAAAAACTGCA TTATAAACATTTTTATCGATTTTTTCAATATTAAACAGATATTTAAAAAG CCAAAAAATGAGGGAAAATGTCCCGTTCCCGTGAAAATTTTAAAAACGGG ACAACGGGAATTCCCGTTCCCGTGAAAACACCCCAAAAACGGGACAACGG GAAAAACGGGAAACGGGAATTGACACCCTTGGTGTCAGGCTGTCTTATTT CATTTTTATCTACAAAAACAGCGGGAATAGTTTTCCAGAAAAATTCTAAC GTCTCTTAACCAGGCGAAATAAAATGAGAAGTCTGCGTCTCTTCACCCGC ATTTTTTGAAAATCAAAAAAAGAGACCGGGCACAAATTAAAATCAGGGAA AATTTTTTTAATTTTTTCACATCTAAATTCGTAATCGGGGGGCAAATTTG GAGTGATTTAAAAATATTTCCCAGATTTCGGTACCCCACCTCAAAAAAAA ATAATTAAAGAATTGCCTTACCTGTGGCTGAACCAAGAATTTCGTAAGAA AAGCGTCAATCGATGAGGCGACCTCTGCACTTCCAAACCGAGTGCCGCCG GTTGCCGCCCGATAACCGCGGTGTCGAAAAACAAATCGATTTTTTGGAGT GGCACTGTCCACCACTACAGGCAGTCTTGACCAGATGGCCTGTACCGCGA CTGGGTATTCCCCGGGGTCTAGGCGGCGTTCTTTATAGGTTTGACCGTCG GGGGTGCCCATCATTTCGAAGAGGTCAAAGTCTTGTACCGACTGGCCTTC TAGTTCTGGAAATTTTGACTTTAGAAAAGAAATCATTTTTTTCCTTTTTT TTTTAAATTAGCCCGTGGCTTTTTTCAAAATTAAAAGAAAATTTGAAAAA ACATTGCATTAGAGCGCGTTTGCATTCACTCCATGCAGTCCAATTTTGCT GGGAGCTTGAGTGTCTCATTCGACTTGATCTACACAGATCTACTAAAAAT GCGGGAGAATAAAATCCACTGATATTGTATGTTTAAGAATGTGCTGACGT CACATATTTTTGTGCAAAAAATTCCCGCATTTTTTGTAGATCAAACCATG ATGGGACAGCCTGGCACCACGTGAGATTGTGTCGACAAATTTTTGTTGAA GATGTATGGCCAAAAACGGCACATTTAAGTAATTTATCAGTAGAGCGCGT TTGAAATTTTTTTAAAAATTCTTTTTAAAAAGAGTTCCCACTACCCCAAG TCCTCCGATTTTTCTAAAAACTAAGAGAAGGGAATCTACGACCCTGAGCC TTTAAAACCTTACCAGCTCTCCCGGCGAGCACTTTTTCGATGAGCTCCTC CGTCGTGCACCGCTTATGAACCTCCAAGTGTACCGTATCATTTTCACAGT CGGGATTGAAGCTGTGCATATAGACGGCTACCGTATGTGTGTGTGCATCG TCTGTCGCGTTGATTGTGTGAGCACGTCGGGGAAAACATCCCGTCGCTCC AGCTGATATTGAGTCAAATGACATTTAGTTAATCCAGCATCGGGATGTAT ACGTCTGTAAAAAAAAATTTTTTTTGAAAGTAAAAGTGCCTGGAGGATCA TGCAACGAACACAAAAATTTCACAAGACCGCGAAAAAAATTGGTGGCCGA GTTTTCTCTTTCGCGGTCACTTAGGAAATACTAAAATCGCACGGATTTCT GGCTTCTCTCATAAATTGAAATGGAAGAGTTTGCCGAACTAGGCCAGTAT AGCTCGGCCATATCTGGGGTATGTTTACGACTTTCCCACGCGTTGGGCGA TTGTCAATGGAGCGCGAAAAACTCAATGAGAAAGGCCTGAACCCCGTGAG ATCGAAATGAAAATTTGCTAAATGGCCGAAAATTGAAAACTCGGCCGCCA ATTTTTCCACACGGCCACAGGAAAAATCGTAACAAAAATTGAGAGAAATT TATTAGAAAAAATCTGAAAGTAATTTTTATTGCACCGTGGCCGCAAAATG TAAAAACACGGCCACCGATTTTTTTAATGTGGGGAAAAAGTTGGTGGCCG AGTTTTATATTTTGCGGCCACTTAGAAAATATTTAGATCGAAGGGAAATT TTGTTGAAAATACGTTTAACGAAAACCAGTCAATTTTTGTTACATGACCG AAAATTGAAAACTCGACCACGGATTTGTTATGCTTTATAAATTTTTGAAA CTATTATTTTTTGATTCAGAAATTTTTGGAATTGAAAAAAACTCGGCCAC ATTTTTTTTCTCACGGTCACAATTTTCTTTGTGATCGTAAAAATGGAAGC TCGGCCATGGTGGCCGAGTTTTTTTCGCTGCCACTGGTAACACGTGGTTG GGTGAAGAGAAAACTCGACCACCGGTTTTTTTTGGCCACTGAAATTTTTA AATTTCAAAATATTTTAAATTTTGCTGCAATCTTTCACCACAACCGCGAA AAAATGAAAACTCGGCCACCAATTTATTTATTTTCACTGGGAGAAAAAAT ATTGTTAGCCAAGTTTTCTTTTAGGCAACAGAAAATCAAAAAATGAGCGA TTTTTGTTACGTGGCCGTGAAAAGAGAAAACTCGGCCACCAATTATTTTT AATTTGAGGCACTGTTGTAAAATCTTATAAAAAAACAGGTTTAGTACATT GAACTCAAAAATAAGGAAGATTTTTGGAAAAACAAAAATTGCTGGCCGAC AGCTGGAAAAAACTCGGCCACCAACTTTTTCCGGTCACACAGCAAAATCT CTCGATTTTCGATGTTTGAATATTGAAATCTGGGTTGGATTTTTTAGTAT CATTTCATTTCCGGTGGAGAAACGAGGGAGAGAAAAAGAGAAAAAAGATT TGTAGTGTCCCGGGAAGCTCTCTTTCTCATGTGGGAAGAAAGTGGAAGAA GCTTCTGCAGCAGCAGCAGCAGTGGTTCACGAAAGAGAGAGAGAGACATG TTGGACATGAAAATGATGAAAAATAAGAAGATGAAGAAGAGAATTACACA CTACCACCACAACACAGATTATTTTTATCACGTTTTGAGGGGGCGCTTCA CACAATTTTCATGGCCTAGAAATTTAAATTTGGTGGCCTAGAAAATACTA TATTAATTATATTAATTATTCTACGAAATTTCAATAATTTAAACGGGAAA ATTTATTTTAAAAAAGCCTAGAAGAGGTTTTGAAATTGGTGGACTAGGAA ATGAAAAATTGTGTTTTTGGAATTTTCTAGGCCATTTGAACTTCCTGACG TCCACAATTTTCATGACTTCGAAATTTGAATTTGGTGGCCTAGAAAATCA TAAAAACTAAGAAATCGAGAAAAAAGCATGGATGAAATTTTGAATTTTAT AGGTCATTTGAAATTTGTGGCCTAAAAAATGAAAAATGATTTTTTTTTTT TTGAATTTTCTAGGCCACTTGAATTTCCTGACGTCCACAATTTTCATAGC CTAGAAATTTAAATGTGGTGGCCTAGAAAATAATTAAAACTAAGAAATCG AGAAGAAAAGCGTGGAAGAAGTTTTGTATTTTCTAGGCCATTTGAATTTG GTGGCCTAGGAAATGAAAAAAAGATTTTTTAGGAAATTTCTAGGCCACTT GAAGTTGGTGGCCTAGGAAATTAAAATTTGTGTTTTTGGCATTTTCTAGG CCATTTGGATTAGGTGGCCTAGGAATTGAAAAGTAGTTGTTTTGGAATTT TCTAGGCCATTTGAATTTGGTGGCCTAGGAAATGAAAAAATATTTTTTAA AGGAAATTTCTAGGCCATTGAAGTAGATGGCTTAGGAAATAAAAAAAGGT TTTTTAAAGGAAATTTCTAGGCCATTGAATTAGGTGGCCTAGGAAATGAA AAATGATTTTCTTAAAATTTTTTAAGCCACTTGAATTTGACGGCCTAGGA AATGAAAAATGGTTTTTTGGTAATTTCTAGGCCACTTGAATTTGGTGACC TGGGAAATGAAAAATGATTTTCTTGGAATTTTTTAGGCCACTTGAATTTG ACGGCCTAGGAAATGAAAAATAGTTTTTTGGTAATTTCTAGGCCACTTGA ATTTGGTGGCCTGGGAAATGAAAAATGATTTTCTTGGAATTTTTTAGGCC ACTTGAATTTGACGGCCTAGGAAATGAAAAACAGTTGTTTTGGAATTTTT TAGGCCACTTGAATTTGACGGCCTAGGAAATGAAAAATAGTTTTTTGGTA ATTTCGAGGCCACTTGAATTTGGTGGCCTGGGAAATGAAAAATGATTTTC TTGGAATTTCTAGGCCATTGAATTAGGTGGCCTAGGAAATGAAAAATGAT TTTCTTAAAATTTTTTAAGCCACTTGAATTTGACGGCCTAGGAAATGAAA AATGGTTTTTTGGTAATTTCTAGGCCACTTGAATTTGGTGACCTGGGAAA TGAAAAATGATTTTCTTGGAATTTTTTAAGCCACTTGAATTTGACGGCCT AGGAAATGAAAAATAGTTTTTTGGTAATTTCGAGGCCACTTGAATTTGGT GGCCTGGGAAATGAAAAATGATTTTCTTGGAATTTTTTAGGCCACTTGAA TTTGACGGCCTAGGAAATGAAAAACAGTTGTTTTGGAATTTTTTAGGCCA CTTGAATTTGACGGCCTAGGAAATGAAAAATAGTTTTTTGGTAATTTCGA GGCCACTTGAATTTGGTGGCCTGGGAAATGAAAAATGATTTTCTTGGAAT TTTTTAGGCCACTTGAATTTGACGGCCTAGGAAATGAAAAATAGTTTTTT GGTAATTTCGAGGCCACTTGAATTTGGTGGCCTGGGAAATGAAAAATGAT TTTCTTGGAATTTTTTAGGCCACTTGAATTTGACGGCCTAGGAAATGAAA AATAGTTTTTTGGTAATTTCGAGGCCACTTGAATTTGGTGGCCTGGGAAA TGAAAAATGATTTTCTTGGAATTTTTTAGACCACTTGAATTTGACGGCCT AGGAAATGAAAAATAGTTTTTTGGTAATTTCTAGACCACTTGAATTTGAC GGCCTAGGAAATGAAAAATAGTTTTTTGGTAATTTCTAGGCCACTTGAAT TTGACGGCCTAGGAAATGAAAAATAGTTTTTTGGTAATTTCTAGGCCACT TGAATTTGGTGGCCTGGGAAATGAAAAATGATTTTCTTGGAATTTTTTAG GCCACTTGAATTTGACGGCCTAGGAAATGAAAAATAGTTGTTTTGGAATT TTTTAGGCCACTTGAATTTGGTGGCCTAGGAAATGAAAAATGATTTTCTT GGAATTTTCTAGGCCACTTCAATTTGGTGGTCTGGGAAATGAAAAATGAT TTTCTTGGAATTTTTTAGGCCGCTTGATTTAAGTGGCCTAAGAAGTTAAA AATAGTTGTTACGGAATTTTCTAGGACATTTGAACTTGGTGGCCAAGGAA ATGAAAAACTTTTTTTTTTGGAATTTTCTAGGTTTCTGTAATATTAATTT ATTCATTTAAAAAATTAAAAAACATTAAATTTTTTTTAAATTTCGTGTTT CAAAAAAAAAATCAAATTTGCCCAAAACTTCAAAAATAAGCTAAAAAATT GTAAAACGATACAGAACGGCTAATAAAACTTGAAAATAATAAGCGTGATG AGTCGGAAAGAGCCGCCGGCTGGGACCTTCTTTTTCTCTTTTTTTCTCCT CTCCCATCCCGAGCAGGAGCAACACAACGAGAGAGCACAACAAGAAGAAA AAGCAGATAGATATATAGATATATGTTGTCTTCTCTTCATATTCTTTCTT TTATCTTTTCATTCGAAACAACACTTGGTTCATTTCTCCCGTTGGACGGG GGGGGGGGGGGGGTGACGCGGGAGACGAAAAAAAAAAGAAAAATTGGGAT GGGAGTTGGAGAATGTTTGGAAAAAGATTGATTGATCAATCAATTTGCCA GCCGAGTCTCGGCTATTTTCGGAAATCGGGGCTATGCAAATGCGCCCTAC TGATAAAATGGGACGTGTCATTTAAACTCCTTGGTTTTTTAAAAAGAAAC GCAAAATCGGCAAATTTCCAGTTTGCCGATTTGCCAGAAATTTTCAGGTA CAGCAATTTTCCGATTTGCCGATTTGGCGGAAATTTCAATTTCGACAAAT TGCCGGCTTGCCGAAATGCCAAAAATGTCCAGGTCCGGCAATTTGCCAAT GTTGATTTTTGGCAAGTTGCTGGTTTGCCGGAAGTTTTCATTTTCGGCAA ATTACCGATTTGCCAAAACGCCAGAAATGCTCAGGTTCTCTAAACCGCTG GTTTTCCGGAAATTTTTCATTTTCGGCAAATTGCCGGCTTGCCAAAATGC CGGAATTTTTCAGGTCCGGCAATTTGCTGATTTGCCGGAATTTTTCATTT TCGACAAATAGCCGGTTTGCCGAAACGCAAGAAATGCTCAGGACCGGCAA TTTGCCGATTTGCCGGATATTTTCATTTTCGGCAAATTGCCGGTTTGCCG ATATGCCAGAAATGTTCAGGACCGGCAATTTGCCGAATCGCCGGAATTTT TTATTTTTGGCAAATTGCCGATTTGCCGAAAGGCCAGAAATGTTGCGGTC CGGCAATTTGCCGAAATGCCATAAATGTTCAATTTCGGCAATTTGCTGAT ATGCCGGAGTTATAAATTTCGGCAAATTGCCGGCTGGTCGATATGCCGGA AATTTTCAGGTCCTGCAATTTGATGATTTGCCGAAAAATTTATTTAAAAA AAAAATTAATTTTCGCCAGACAGGAAGTCTCTAAAATCTCATTTAATAAG AAGAAACAAAAGAAACAAATAATGGCCTAACAAGTTTCGAGTTACAGAAA CCTAGGCCACTTTGAACACCGGCGTGGCCTAGAAACCCAGTTCCACAAAA ATAAGAAAAAATTAAAACTCGGCCACATAATCTAGGCCAGGAGCATACAA ACACTCCACGAATATTAAAGACTCTTTCTAGGTTAGTGGCCGTTAACGAT GGAAAACTCGGCCATCTGCCAATTTTGTTGCTTAAAATTGGAAAAATAAA GTTTTTTTAACTTCAAAAAAAAAAGATCAAAAAGTGAAAAGCGGGGATTT TTCTCACACAATTTAATAAATCTGTAGCCGAGTAGCGGAGAGCTCTCGGA GCTCAACGTGAATTTCTATTTGGACGGTAAACATACTCAGCCACCCCACC CCAGCCCACCGTTACTGTCTTTTTTTTTCTTTTTTATTATCAACCAGCAC TTATCACCTTTATCTTTGTGTGATCCCGCGCCGCGCAAGAACGAGAGAGA GAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGA GAGAGAGAGAGAGAGAGAGAGAGAGAGGGATATTGGTGAGACGCAGACAA TTAGAGTCACTCGTGGGCTCTTTCACACATGTGATATTGAACGAGAAATT GCGCACCTAGGCCACAAAAAAAACAGTGTATTCGATTTCATGATAGGGGA GAAGCTGGCACGGTGCCAAGTTTCAGAAAAAATATGGAATTTTTGCTTGA AGCATGGTGAATCAGACGTGCTTACGTCACAATTTTTCGGGATAAATATT CCCGCATTTTTTGTAGATCAAACCGCAATGAGACATCCTGATACCACGTG AGGTTAATTAAAAGTATTGATCGGGATTTTGAGCGTCAAATATGGTGTAT TTACCGGCAACCCTGATGCGCCAGATTTGACGCGCAAATCCTTCATTTTA ATAAAGTTGGGCGTCAAATGTGATGCCTGAATTTTCAATTTTTTGAAATG TTTTGATTTCGTGAAAAATAACGGCGAATTTCAGAAAATTTATAGAAAAT TTTCATTTGTTGCGACCAAAAAATCTTAAAAACGACCAAAATTCTCAGGA AATTCACATTTTTCGCCGAAAAAACCATTTTGCGCGTAAATTCTGATGTA TTTTGCCGTAGGCTATGTGTGAAAACACTGCCGGTAATACGTCATATTTG ACGCGCAAACCACAAAAATCCTCGAAATTATTCCGGGTGCACAAAATTCT GAGAATGCGTACAGCGCAACATATCTGACGCGCAAAATATCTCGAAGTGA AAAATACAGTAATCCTTTTCAAATGACTACTGTAGCGCTTGTGTCGATTT ACGGGATCTCGACTTTCGAAATGGATTAAAATATATTATTTATCAATAGA ATATTACAAAAAGAAGTTAATTTCGTAAATCGAGCCCGTAAATCGACACA AGTGCTATAGTAGTAATTTTAAGAATTACTGTAGTTTTCGCTACGAGATA TTTTGCGCGTCAAATATGTTGTGCAGTACGCATTCCCAGAATTTTTCGTT CCCTTTCACAAAAATCTTCAAACTTGCGCGTAAAATTTGGTGCATTGGTG CCTGTGAGGGGTTCACCTATACAAGTGGTGCCAGGGGCTGTCCCATTACG GGTTGATCTACAAAAAATGCGGGATTTTTTTGCCCAAACCATGCGAAATC AGTTGAGAACTCTGCGTCTCTTCTCCCGCATATTTTGTAGATCAACGTAG ATCAAACACTCTGACACCACGTGGGCCGATGATGTAAGTGCACCAGATTA CACGCGCAAAAACTGAAAATCTGAAAAAAAAAAAAGCGAAAACTGTCAAA TTTGAGCGAGTTTTTTATTCCACGAATCACAAGAAAAATCAATAAAAAAT CGATAATTAAAAAGTGAGTATCATATTATTCGACAACAGAATTTCCAGTT TCATCAGTGAGCATTGTAAGTATACGATGAGCCATCGACGGTCCAACACG TCTCCCGTTCTCTGCCACAAGTTCGCCAATCTCTTGAATAGCGAGCGAGT AGTCCATTTTCGAGTATTTATCGATTGCGGCAATCGGATCAGGGATTAGT TCGAGAATTGCACGTCGCTGAGCATCCGACAGCCGATCGATTGTTGTGAG CATTTTCGACCACCAATCCGTGACGATTTCCGAGCGACTTCCGATCACAA TTCCCTGGAAAAAAATCATCGGGGTTTCATGCTTTTGATCTATTTGATCT ACAAAAAATGCGGGAATTTTTTGCCCAAAAATATGTGACATCGTCAGCAC GTTTTTAACCATGTGAAATCAGTTGAGAACTCTGCGTCTCTTCTCCCGCA TTTTTTGTAGATCTACGTAGATCAAGCCGAAATGAGACATTCTGAGTCTT GACACGACAAATTCCCGTTAATTACATACGGATGTGAGCCTTTGTTGGAT GTGAGAGAGTTTCCAGGTTTTTCTCGAAAGCTTTTCTTAAAATTTCATTT AAAAAATAATTTTTTAACGAAAAACTACAAAAAATCATCCGAAAAACCTG GAAAATCGATGAAAAACTCTGTGACAAATACAGTACTGTTTAAAGGCGCA CGCCAGTTTGTGTTCTGAGAATGCGTATTGCACAACATATTTGACGCGCA AAATATCTAAACTACAGTAATTCTTCAAATGACTACTGTAGCGCGCTAGT GTCGATTTACGGGTTCGGCTTTCGACAAATTTCGAAAATCGAGCTCGTAA ATCGACACAACCGCTACAGTAGTAATTTAAAGAATTACTGTAGTTTAGAT ATTTTGCGCGTCAAATTTGTTGTGCAGTACGCATTCTCAGAACTTTGCGT TTTCGTGATTTTTTTTTTCAAATTTTAACTGCAGTAAAAAAATAAAACAA CATAAATTTCATTTAAAAAAAACGATTTTAGCGCTCTTTAAAGGCGCACA CCCGTTTGTGTTTTAAAAAAAAAAAATGTCGCGTCGAGACCAGATTTCTG CAGATTTCGCGCCAAGACCCAACCTTATCCCCCTGATACTGTAATTTGTG GCCTCCTGCCCCTCCTGCACCACCACCACCGCCCCCATCACTTCCAGCGT CGAGCTTCTTCTTCTCCTGTCTCGCCAAACTTCTCAAGTACTGAGCAGTG AATAGTGCCAGCTCGGCGATCGTTTCGATTTGCACAATTTGTGCACGATG TTGCTCGTAGATTTGCAGCGATAAATTGTGCAATTTCTTCTTTTTCGCAA TTTCTGCCCTGCCGAATGAGACGATGAGCATTGTGCAGCGGCCACCGTTT TGAAATCCGGATTTTTGCTGGAAAAATAAAATTTAAATGAGATTTTTTTT AGGTCTCGCAGCGATTTCTCTGGCTGTTTCAATTACGGTTTGATCTACAA AAAATGCGGGAATTATAAAAAATGTTTGCCCGGTAAAATGTGACGTCAGC AAAGTTTCTTAACGCTGCGAAATCAGTTGAGAACTCTGCGTCTTTTCTCC CGCATTTTTTGTAGATCTACGTAGATCAAGCTGAAATGAGACACACTGTG TGTGCAAACACTATCCACAATACATCATATTTGACGCGCAAACTCTAATT TTTTTTTCGCTGCGAGACCTAAAAAATCTCAAACTTTCCAGTGAAAATCC GGATTTTCTTCATTTTAAAAAAGTTGCGCGTCAAATGTGATGTGCCTGAA TTTTCGCTTTTTTGAAATTTTTTATTTCGTTAAAAATGACGACGAATTTC TGAACATTTATAGAAATTTTAAAAATTTTCATTTTTTGGGTTAAAAAAAT CTTAAAAACAACCATAATTCTCAGGAAACTCAAATTTTTCGCCGAAAAAC CCATTTTGCGCGTGAAATCTGGTGTATTTTACCGTGCCTAGGCTGTGTGA GAACACTGCCGGTCATACATTATATTTGACGCGCAAACTGCAAAAATCGT CGGAATTATTTCGGGAACACAAAATTCTGAAAATGCGTATCGCGCAACAT ATTTGACGCGCAAAATATCTCGTAGCGAAAACTACAGTAATTATGTAAAT GACTACTGTAGCGCTTGTGTGTCGATTTAAGGGCTCAATTTTCAAAAAAT CGAGATCCCGTAAATCGACATAAGTGCTATAGTTGTTATTTAAAGAATTA CTGTAGTTTTCGCTACGAGATATTTTGCGCGTCAAATATGTTGTGCAATG CGCATTTTCAGAATTTTGTGTTCCCGGAATAATTCCGACGATTTTTGCAG TTTGCGCGTCAAATATGATGTATGACCGGCAGTGTTTGCCCACATCGCCT AAGCACGGTAAAATACACCAGATTTTTCGCGCAAAATGGGATTTTCGGCG AAAAATTCGAATTTCCTGAGAATTTTGGTCGTTTTTACTATTTTTTAATC CAAAAAAAAATGAAAATTTTTAAATTTTCTATAAATTTTCTGAAATTCAC CGTCGTTTTTCACGAAATAAAAAAATTTCAAAAAATTGAAAATTCCGCCA CATCACATTTGACGCGCAACTTTTTTAAAATGAAGAAAATCCGGATTTTT CTGGGAAATTTGAGATTTATTTAGGTCTCGCAGTGAAAAAAAAATTAGAG TTTGCGCGTCAAATATGATGTATGACCGGCAGTGTTTGCCCACATCGCCT AAGCACGGTAAAATACACCAGATTTTTCGCGCAAAATGGGATTTTCGGCG AAAAATTCGAATTTCCTGAGAATTTTGGTCGTTTTTACTATTTTTTAATC CAAAAAAAAATGAAAATTTTTAAATTTTCTATAAATTTTCTGAAATTCAC CGTCGTTTTTCACGAAATAAAAAAATTGATAAAATACACGATAAAATACA TCAGATTTTACGCGCAAACTGGCAAAAAAATTGATTTTTTGGCTTTTTCG GACTAAACATTAGAAAAAAGACTATACTCCAACAATTTTTTTCAGTTTTT TTTTTGAAATTTTTTTTTTTTCAGTTTAAAATGTTTTCATCGCTTTGTTC GTTTATTTTTGTCTGTTTATTGTGATTTTGTGCGAAATTAATGTAAAAAT TTCCATATCCAACACTGTTGTGTGATTAATTCGGATAGATAAAAAATGTT CAGCATGTTGAGTTTAGTTTTCGTCGTCCAATTTAGCTTTTTTTTGATTT TCAGTCAAGATTTTCTTTCGCCTTCCGCTTTTTGACTTTTCTATGCAGTA ATGACCAGTCTTGATTTCTAGCTTTTAGTGTTTGGTTTACCATTCTGCTA TTACATGAGTCACACCTTATCACTAATATAAATGCAGCATAATTTCAGAG TGAGCAAGCCGCGAGTATTAAACCAGCGCTGTTTTAAACTGATAATGATT GCAGTTTCCTTCATTCTCACCGAATATCAATTTTTATTCATTCCAGAGTC TCTCGAACTATGGAAAAACAACTAAAAGCTATGTCCGTCTCGGACAAACC TGCTGCCCCAGCTGCCCAAAAGCTTGGTACCGCTCCGCTCGCTGCAAAAA AGACGAGAAATGAGGAGTGGGGAACCAAGGTCAATATCGATACCAACATT CGCAAATTGAGTAAGTTTTTATTTTACAATTACCAGTCGTTCGAGCTTAT ATATCAATATTTTTTAGCGATCAAACCGAATCAGCCAATTTACAAGTACG CTGTGCAAGTGAACTACGTCTTCCGGAAACCTGATGGAACTGAGGCGACA ATCGAAATGTCCAAATCAGCCAAAAAGGGAACGGAGCACGACAACGACAA AACACGCTGCCAGAACGTTTACAATGAGGCGATCAAGCGTTACGATGAGC TGAAAACCGGAGGACCGTTTTTCTACGATCGTCAAGCCTCTTTGTACACT CTGACCAAATTGAAGAATGAGGTGAATTCGATTTTTTGCTTAAAGTTTAA TATTTTGCGTTTCAGAGCATCTCTTTCGTTGTTACTGACAAGATTTGCAA GCGACAAAACTTCAAAGAGGCACAGTTTGTTCTCAAAAAGGTGGATCAAT CGTTCCAGTCAACATCGAATGACGTCATCAAGACAACCAACTCGTGCCCA GCCAATGCCGACAAAACTTTGCTTGAGGCAATGAACATCATTGTCTCGGG ACCAGCGTTCGAAAAGTATGCCGCTTTCAGAGATAATCAAGCTATTTCAT CTCGTTTTCAGCAAAAATGTTATCACCGTTGGAGCATGCGTTCATTACCT CATCGACCCAACTGGAGTCGAGTAAGAAACTTTAAGAAATTATCATATTA GTATTTAATTGTTTTTTCCAGCGTCGCGTACAAGGAATACCCTGAAGGAC AACTCTACTCAGGAGTTGGTGTTTCAAAGTCGGTGAAGACATTGGAAGGA ACGGACAAGAAAGTTCCATCACTCTTCATGACAACTGAAAGTTAGTTTTT CAGAAAATCTAGATTTTTTTCAAAATGTTATAAAATTGTTAATTTTCAGT GAAGACAACATTGTTCCATCCGGATTATGCCCCACTTGTGGAACTTTTGC AAACGTTCAGAGGTTTCAGCACAACTCTCAAAGCGAATTCTCCAGCCGCG CAGAGAATTGAGAAAGCCTTTGTTGGACTGGATGTTGTCTTGAATTACGG TGTGCACAAGGGTCTCGGAGAGGATGGTGTCGTTATGAAGATCCGTCGAT TCCACACGTCAGCTAAGGAGACATGTTTTGAAGTTGAGAAGTCAACTCGT GAATTCACGAACGTCTTTGACTACTTCAAAAAGAAGTATGGAATCACTTT GAAGTATCCCGATTTATTCACCATTGAAGCGAAAGGGAAACAAGGAAAAA TTCATTTCCCTGCGGAAGTTCTCCTTCTCTGTCCGAACCAGACGGTCACG AATGATCAAATGATCAACAATGAGCAGGCGGACATGATTAAGGTAATTTT ATATTTTAAAATCTGAATAATATCCCGAATCCTTTTTCAGATGTCAGCCG CACAACCACATATCAGAAAGACGACAACTGATACTATCGTGAGAAACGTC GGATTGGCTTCCAACAATATCTATGGCTTCATCAAAGTTGAAGACCCAGT CAACCTTGAAGGAATGGTTCTTCCAAAACCTAAGATTGCGTTTGCCGGTA ACCGACTCGCTGATTTGGCAAATCCGAAGTCTAGATTCCCCACCGACTTC AATCGTGCTGGACAATATTACGATGCCAAGGAATTGACGAAATGGGAACT GGTCTTTGTTCAAAACGAAGAAGTCCAGTAAGTTTCAGTTTGTAATTTTT CATTTTATTGACTCAATTTCAGAGGACTTGCTAAGCAGCTCGCCGATGAA ATGGTGAATAATGGTATGAAATGCAGCAACCCAACGATGAGTTTCATCAT TAGAGGTGATTTGGAACCAATCTTCAAGAAAGCGAAGGCTGCTGGAACGC AACTTCTCTTCTTCGTTGTCAAATCTCGTTACAACTATCATCAGCAAATC AAGGCGTTGGAGCAAAAGTATGACGTGCTCACTCAGGAGATTCGCGCTGA AACCGCCGAGAAAGTCTTCCGTCAACCACAAACTCGTCTTAACATTATCA ATAAGACGAACATGAAACTCGGAGGACTGAACTATGCTATTGGGAGTGAA GCGTTCAACAAGCCAAATAGATTGATCGTTGGATTTGTTACTTCTCAACG AGTTGGTGGAAATCCAGATGTGAGTCATGTGTTACAGCTGCATAATCATA TTTCATTTTTTCCAGTATCCAATATCAGTTGGATTTGCTGCAAATATGCT CAAGCATCATCAAAAGTTTGCTGGTGGATACGTGTATGTTCATCGCGATA GGGATGTTTTCGGATCCATCATCAAGGATACTCTCTTGACAATCTTCAAA ACATGCACTGAGCAGCGCGGAAGACCAGATGATATCCTTTTGTATTTCAA TGGAGTTTCCGAAGGTCAATTCTCAATGATCAACGAGGAATTCAGTGCCC GAGTGAAGGAGGCGTGCATGGCATTCCAAAAGGAGGGAACCCCGCCATTC AGACCACACATCACCATCATCGCCTCATCAAAGGCTCACAACGAGCGTCT GTACAAATCCGACAAGGGACGTATTGTTAATTTGGAGCCGGGTACGGTCG TGGACCATACCATTGTGAGCAATGTCTACACTGAGTGGTATCATGCCTCA GCTGTTGCTCGCCAAGGAACTGCAAAGGCTACCAAGTTCACTCTCATCTT CACCACTAAAGCAGGCCCACAAGCTGAGCCATTGTGGCATCTCGAGCAAT TGACCAATGATCTTTGCTACGATCATCAGATTGTCTTCCATCCGGTCGGA CTTCCCGTCCCACTGTACATTGCTGATCGTTACAGTCAACGTGGAGCAAT GGTTCTTGCCGCCAATCAAGGGTAAGTGACAGTAAAATGTATACGACATC TCATTTATTATTTTCAGTCCAATCTACAATGAAGGACAAATCGATCTCGC GGCTACCAACAGTGCATATGGCTACGGAGAGAAGAAGCTCTTCACCACTC GTTTCAATGCATAATTATCTGTACTCCTCCGTTTCTTTTACTTGGCTGTA TAATGTTTTATTTCCGTCAACCCAGAATACTTTCGCTATGATTGTATATT TTTTAGCATTTGGTCATTGTAATTTGTAATTATTGTCGGAATGGATAAAA TGATTTAAGAATCAAATGCATCGCTTCTTGGACAATTCCTGTTGATAATC TCATTCTGATATTTTCAAAAGTTGTGGTATTGATTTTAAAAATTAAAATA TTTGCAGCTGCCGCTGTGACTGGAGAAGTTGATGTTTTATTTCTTCCAAT TCAGCTGTTTGTACCTGTTTTGTAATGTTATTACTTTCTTTCGAACAAAA TGTCATTCTTTTTCTGGCAGAAAATTCCGCTTTTTAAAAATTATTTTTAC AACATTACAGATGGATCCTTCTGTTGTGTCTCGATTGGAGAATGTTGCGA ATCGAATGGAGAATATATTGCTGAAATATGACTCGAACAAAAAAGGCAAT TAAATAATTGTTCTCGAAATTATAAATTTCAAAAAAATCGCTTTTTAGAA ACTCCGGTCGGCGCGACGCCTCAAATCATTAATCTTTATGACGATGCGAT CTGTGAGAATCTCGTCTCGTTTTATGATTTATCTGCAAAAATTGGAGGAG ATTTGAATCGCCTTGGATGCATGGTAAGGAAATATATAATATTTAATTCA AATTTTATCGAAAATTATGTTTCAGACTAAGAATCTATTTTTCACGCTTT TTTCGATGTTTTTTGTGGATTGCGTGTGGGCGCAAAAAAGCGGACAACGA CGAGTTCGCGACTCTTGTGAACGATTTGACGACGGAAATTGTTGCATTTT CCGATTTCAAGGAGAAAAATCGAAAATCCGAATTCTATAATCATATTTGT GGACTTGAAGCTGCGGTTGGAGGTGAAAATTTGCCCCTGATTCCGAATAT CTATGTGAAAAACTCTTCATTATTTTATATATTTCAGCTTGAAATCGCTT GTTCATCCATTACTTTTTTCAAGCACACGCCATATTCTCATTGGAGCGCG CCGTGTTGTGTCGATTTACGAAATTTTCCAATTTTTTCAATTTCAGTTTT TAAACGAGTTTTTATTTTTGTGGGCTTTATTTTTGTGGGTTTTGCTTTTT GGGTTAAAAAAAATCTTAAAAACAATCATAATTCTCAGGAAACTCAAATT TTTCGCCGAAAAACCTATTTTGCGCGTGAAATCTGGTGTATTTTACCGTG CCTAGACTATGTGTGAGAACACTGCCGGTCATACATCATATTTGACGCGC AAACTGCAAAAATCGTCGGAATTATTTCGGGAACACAAAATTCTGAAAAT GCGTATCGCGCAACATATTTGACGCGCAAAATATCTCGTAGCGAAAACTA CAGTAATTATGTAAATGACTACTGTAGCGCTTGTGTGTCGATTTAAGGGC TCAATTTTCAAAAAATCGAGATCCCGTAAATCGACACAAGTGCTATAGTT GTTATTTGAAGAATTACTGTAGTTTTCGCTACGAGATATTTTGCGCGTCA AATATGTTGTGCAATGCGCATTTTCAGAATTTTGTGTAAAAATTTTTGTG TTTAGTGATTTTTGCAGTTTGCGCGTCAAATATGATGTATGACCGGCAGT GTTTGCCCACATCGCCTAAGCACGGTAAAATACACCAGATTTTTCGCGCA AAATGGGATTTTCGGCGAAAAATTCGAATTTCCTGAGAATTTTGGTCGTT TTTACTATTTTTTAATGCAAAAAATGAAAATTTTTAAATTTTCTGAAATT CACCGTCGTTTTTCACGAAATAAAAAAATTTCAAAAAATTGAAAATTCCG CCACATCACATTTGACGCTCAACTTTTTTTAAATGAACAAAATCCGGATT TTTCTGGGAAATTTGAGATTTATTTAGGTCTCGCAGCGAAAAAAAAATTA GAGTTTGCGCGTCAAATATGATGTATGACCGGCAGTGTTTGCACACACAT AGCCTAGACACGATAAAATACATCAGATTTTACGCGCAAACTGGCAAAAA AATTGATTTTTTGGCTTTTTCGGACTAAACATTAGAAAAAAAGACTATAC TCCAACAATTTTTTTCAGTTTTTTTTTGAAAAATTCCATATTTTCTGAAG TTCAAATAAATATATATTTTTTTAAAGTTCAAAAAATTCAAATTAGCGCG TTAAAAACGACGTATTCAGGCATCACATTTGACGCGCAATTTTTTTTTTA AAGAAGGATTTGCGCGTCAAATCTGGCGAATTAGGTTTGTCGGCGGAATA CACCGAATTTCACGCGCAAAATTTCAAACCTCAATGATAAAATCGGAGAG CGTATTCGAGGAAATTACGTCTTTCAACGTCTCCGCCGGAACCACGACAG CGAACAAGTTTTGTGTTGACTGAAAAAAAAATTAAATTTTTCGACAAAAA AAATTAAATTTTTCAACGAAAAAAAATTAAATTTTTCAACGAAAAAAATT AAATTTTTCAACAAAAAAAAATTAAATTTTTCAACAAAAAAAAATTAAAT TTTTCAACAAAAAAAAATTTAATTTTTCAACAAAAAAAAATTAAATTTTT CAACGAAAAAAAATTAAATTTTTCAACGAAAAAAATTAAATTTTTCAACA AAAAAAAATTAAATTTTTCAACAAAAAAAAATTAAATTTTTCAACAAAAA AAAATTTAATTTTTCAACAAAAAAAAATTAAATTTTCCAACAAAAAAAAA TTAAATTTTTCAACAAAAAAAAATTAAATTTTTCAACAAAAAAAAATTAA ATTTTTCAACAAAAAAAATTAAATTTTTCAACAAAAAAAAATTAAAATTT TCAACGAAAAAAAAATAAATTTTTCATCAAAAAAAAATTCAAATTTCCGC GGAAAGTGCAAAAAATTTACAGAATATTCAAATCGTTCACTTCTCCCGCT ATCATCTTCACGCAATTCGACACATTTTCGTCGCCATTCGATGCGGGTTC CCAGTGATGTATCGATTTTCAGTTGATTATCGATTTTTCGCTCCACGTAC AGTACACTGAGTTCCGCTTCGAGGCCATCTGAAATTTTTTTTTTAATTTT TTTAACGATTTTTTTTTCAGAAAATCAATAAATCTATTCAGCTGTTTTTT TTTAACTTTTACACAATTTTCCGTTTGAAAATGTCAAAAAAATGTGTTTT TGAGCCACATTTTATTCAAAAAATTTTGAAAAATTCCCTGCATTTTCGCT GTGGGACCCAAGAAGTGCGTGTGCCTTTAAGAATATTTCAATTTTTTTAA AACTTAAAACAAAGATTTAAAAAATTCTGCTTTCTAAAAATAAATAATTA TTTATTTTTTTGTGTATTTGTTTGGAAAAAATCAATATTTATCGATTTTT GTGAATTTTTTTGAAAAAAATCAATATTTATCGATTTTTGTGAAATTTTT TGGGAAAAATCAATTATTATCGATTTGTGTGAATTTTTAAGAAAAAAATC AATAATTATCGATTTTTTGTGATTTTTTCGCAAAAAAATCAATAATAATC GATTTTTGTAAATTTTTTAATCGAAATTCGGCTTTTTCCGGTAAAAACAT CAAAATTTCGCAAAATTAATCTGATTTTTTCTGCGAAAAATTTAAATTTC TCATAAAACTTTCGAAAAATCGAATATTTTAAAAATCAATAATTTCGATT TTTGGTTAATTTTTTTGGAAAAAATCAATAATTATCGACTTTTTGCGATT TTTTTTTTGAAAAAAATCAATAATTATCGTTTTTTTTTAATTTATTGGAA AAAATCAATAATTATCGAATTTCAGTGAAATTTTTGGAAAAATCAATAAT AATCGTTTTTGTGTGATTTTTTTCGGAAAAAATTAAAAATTATCGTTTTT TGTGAATTTTTTGAAAAAATTAATAATTATCGACTTTTTTTGAATTTTTT TTTGGAAAAAATCAATAATCATCGATTTTTTTGTGAATTTCTTGGAAAAA AATCAATAATTATCGATTTTTCCGATTTTTTCCAAAAAAATCGATAAATC AATAAATTTTCCTTACGCCACGTGTCAATTACAGTCTTCCCCACGTGGCA AAACGTGTAGAGCTCGCATTTCGAATTGGTTGCCGCCGAAATTTCGCGTT CGATTTTTCGAGTTTCCTTGTCTTTCTGAAATTTTTTTTTTCTAAATTTT CTGAAAAATGTTCTTCTGTAAAACCTCTTTTTCCTCTCTTCTCCGCGCCA TTTCGCTCTTTTTTTTATCCTTTTCCAGCGTTTTTCTCTCTTTTTCAGCT TCCCGAGCTCGTTTCGCATTTTCTCGGAGTTCCTGAATAAGTTTTAAATT TTTAAGGGGAAATTTGCTATTTGGAGAGTAAATATTTTCGCTGTGAGACC CGTGGACCTGAAAATTTTGATTTTCCGCTTAAAATCAACTGAATTTCGCT TAATTGTGATGTTTTAAGCTGAAAAAGCTGAATTTTGATTTTAAAAAATT GAAAAAAATTAATATTTTTAAAGGCGCATTTATTGATTTTTTTTCCAAAA AAAATTTACAAAAAAATTGATAATTATTGATTTTTTCCAAAAAAATTAAC AAAAATCGATAATTTTTTTTCCAAAAAATTCACTGAAAAATCGATGATTA TTGATTTTTCCAAAAAAAATTCACTGAAAAATCGATAATTATTGATTTTT CCAAAAAAAAAAATCACAAAAGTCGATAATTACTGATTTTTTCCAAGAAA ATTTTAAAAAAAAACGACAATTATTGATTTTTTCCGAAAAAATTACAAAA AAATCGACAAGTACTGATTTTTTCTGAAAAAATTACAAAAAATCGATAAT TATTGATATTTTACAAAAAATCGATAATTATTGATTTTTTACAAAAAATT CACAAAAAAATCGATAATTTTTAATTTTTTTCAAAAAAAAAATCACAAAA AATCGATAATTATTGATTTTTACCAAAAAAAATCACAAAAATCGATAAAT ATTGATTTTTTCCAAAAAAATTAACAAAAATCGATAATTATTGATTTTCC CAGAAAAAATTCACTGAAAAATCGATAATTATTGATTTTTTCCGAAAAAA TTCACAAAAAAATTGATAATTTTTTAATTTAAAAAAAAATCACAAAAAAT CGATAATTATTGATATTTTACAAAAAAAAATTACAAAAAATCGATAATTA TTGATTTTTTACAAAAAATTCACAAAAAATCGATAATTTTTAATTTTTTT CAAAAAAAAAATCACAAAAATCGATAATTATTGATTTTTTCCAAAAAAAA TCACAAAAATCGATAATTATTGATTTTTAGGCGGAAAAGCCGAATTTTTA TCAATTTTTCAAAAAAACAATCGATAGTTTTAAAGGCGCATGCGCTCTCC TGGGTCTCACAGCGAAAAGTGGATTTTTCAAATTTTTTGGATAAAATTTC GCTGAAAAACGTATTTTTTTGACAGTTTTAAAGGGAAAATTGTCTAAAAT CAAAAAAAAATTGTTTTTTCAACAATTTTTTCAGTTTTCGTAAAAATTTC AGTTTTTTTTTCGCGAGAAAAAAACCAATTCTCGATTGAAAAATCAGAAA AAATATTTTGGTATAAAAATATTTTTGGTATTACGATATTTTGGGTCCCA CCTCGAAAATTTAGAGGATTTTTCAAATTTTTAAGATTTTCTTCAACTTT TAACAATTTTTTTCGGAATAAAAATCGATTTTCGCTGCGAGACCCAAAAA AAATAGATTTTCTCGAATTTTGCGATGGAACTTTTGATTTTTCGGTGAAA TTTTCCAAAAAAATCGCAAAATGTATCAAAAAATCAATACTTTCTGCGTC TCCTTCTCATCGTCGGTTAGTTTCCGTTTTTCGGGTCTCGCCACGACATT TATGTCAGTATTCTCTTGTGAGCTTGAGCACAACGAGTATGAGCTCGTCT GATTCTGACGGATCATTTCGTCAAGATTGAGCATTCCCTCATCCAGCCAT GTTTTTGCCGCAGCTGGAATTGCATCCTTATTCACTGCGTCGACGATGGA AAAGCTCGCGGAGTACCTGGAAATTATCGATTTTTTATTGATTTTTTATC GGTTTTTATCGATTTTTTTGATGGGGAAAAATCGGAAAAATCGATAAATT TCGATTGGAAAATTCAAAAAACTTCGGGTCTCACAACGAAAATTGATTTT TTTTCTTGGATTTTCAAATTTTTAAACTTTTGTTGTAACAACAGTGGAAA TTTTTCGAAAAAAAATCAATAATTATCGATTTTTTGAAAAAAGGCAATAA TTTTCGATTTTTTGAAAAAAAAAATCAATAATTATCGATTTTTTGTGAAT TTTTGAAAAAAATCAATAATTTTCGATTTTTTGTGATTTTTTTTCGAAAA AATCAAAAATTATCGATTTTTTGTGGATTTTTTGAAAAAAATCAATAATT ATCGATTTTTTGTGGATTTTTTGTAAAAAATCAATAGTTTTCGATTTTTT TTGGAAAAAATCAATAATTATCGATTTTTTGTGGATTTTTTGAAAAAAAT CAATAATTATCGATTTTTTTTTGAATTTTTTGAAAAAAATCAATAATTTT CGATTTTTTGTGATTTTTTTTCGGAAAAATCAAAAATTATCGATTTTTTG TGAATTTTTTTTTGGAAAAATCAATAATTATCGATTTTTGTGATTTTTTG TAAAATATCAATAATTATCGATTTTTTGTGATTTTTTTCGGAAAAATCAA AAATTATCAATTTTTTGTGATTTTTTTTTTGGAAAAATCAATAATTATCG ATTTTTGTGATTTTTTTTGGAAAAAATCAATAATTATCGATTTTTGTGAA TTTTTTGTAAAATATCAATAATTATCGATTTTTTTGTAATTTTTTCGGAA AAAATCAATAATTTTCGATTTTTTGTGAATTGATTTTTTTTGGATTTTCA AAATTTTAAACTTTTAAAATAAATTTTTCCATAGTTTTTTGTTGAAAAAT TCCTGAAATTTTGAAATTCAATTAATTTTTTCTTTAAAAAAATCGTTGAA AAATTAGTTTTTTGGAAAAAAAATCAGCGAAAATAGATTTCGCTGTGAGA CCCAATTGGGCTCCTCAAAGTCCCTGCGCCTTTAAAATATCGTTTTTTTT TTGTTAAATTTTCCCGCGAAATTAATCAGATTTTTTCTGCGAAAAAGTGA AATTTCTCAAAGAAACTTTTGAAAAATCAATTTTTTTAAAAAGAAAACCC CTAATTTTTCCGTTTTTCCCGCTAAAAAAACATCTAAAAAATTTGAAAAA TCCACAGAATTATCGCTGTGGGACCCAAAGTGCATGCGCCTTTAAGATTA TCGATTTTTTTCAAATTTTTCAATCGAAATCAGGTTTTTTTTTTCAGCAA AAATCATAATTTTGCGAAATTAATCTGATTTTTTGTGCAAAAAATTCAAA TTTCTCTTTTTTTACGTTTTTTCGCCAAAAAAACCATCTAAAAAATTCGA AAAATCCAGAGCATTTTCGCTGTGAGACCCAAGTCCGTGTGGCTTTAAAA ATATCGATTTTTTGTTAAATTTTCCAATCGAAATTTGGCTTTTTTTCCGG TAAAAAATCATAATTTTGCGAAATTAGTCTGATTTTTTGTGCGAAAAAGC GAAATTTCTCATAAAACTTTTGAAAAATTGATTTTTTTTTTCTGGAAAAA CCTATTTTTGTCGTTTTTTCGCTAAAAAACATCTAAAAAATTCGAAAAAT CCCCAAAATTTTCGCTGTGAGACCCAAGGCTCCTGAAAGTCCCTGCGCCT TTAAAAATATCGATTTTTTGTTAAATTTTTAATCGAAATTCGGCTTTTTC CGGTAAAAACATCAAAATTTCGCAAAATTAATCTGATTTTTTCTGCGAAA AATTCAAATTTCTCATAAAACTTTCGAAAAATCGATTATTTTCCGCTAAA AAATCATCTAAAAACTCGAAAAATCCAGACAACTTTCGCTGCGAGACCCA AGTCCATGCGCCTTTAAAAATATCGATTTTCTGTGAAATTTCTCACAATT TCTCCAAATTTCCCGCCGTCACATTCGTCGTTTCCTCAATCATAATACAG TCCTCATCATCATCATCATCCGAGAGGACTACAATCGCCTCGTCCATCTG AATAGTGGGAAAATATCGATTTTTTGTAGAAAATCATATATTTAAATTGA TTTTTTTACAATAAAAAAAATTTTGGGGATTTTTTTGGAAATTTCGGGTA AATCGTGTAAATCGTGTAATTTAAATTCATTTTTGTTTCAAAAAGTCAGG GGGGGGGGGGGAAAGAAAAAATTTTTGACAAAGCGTGGAGCGAAAAAAGG AGTAAATATACAGTCGCGAAAGAACGATCGCTCCGCCAATTTTGCATGCG GCAAAGGGGCGTGGTTTATTGGGGGCGGGATTCCGGCGCAACCCTGCGGC ACGCTTTTTTCTCGCTTTTTTCGTGCGGTAATTTTCAGTTATTTTTATTC GTTTTCTGTTCGAAATTTCACGATTTCGCTCGATTTTGTTCGTTTTTTCG GATAAAAAAGTGTCCAACTATTTTTTAAATGAAAAATAACCAAGTTTTCA CAGATTTTACCCGAAAAATGCTTTGTTGGTCTCTCTTTCTGTAAATTACG ATTGTTAAGAGAGAAAATGGGGGAAAAAAAGGAAAATGTGAAGAGAAAGC GTTTTTTTAACGTTTTGCTTCGTATATTACAGAAAAAGAGACAAACGAAG CATTTTTTCAAGTAAAAACTGATAAAACTTGGTTATTTTTCATTTAAAAA TAGACACTTTTTTATCCGAAAAAACGAACAAAATCGAGCGAAATCGTGAA ATTTCGAACAGAAAACGAATAAAAATAACTGAAAATTACCGCATGAAAAA AGCGAGAAAAAAGCGTGCCGCAGGGTTGCGCCGGAATCCCGCCCCCAATA AACCACGCCCCTTTGCCGCATGCAAAATTGGCGGAGCGATCGTTCTGTCG CGACAGTATGTAACATGTAAGGTAACAAGGTGGGTTGGTTTTCATGAGAA AAGGGGGATTTTTTTCCGATTTTTCAGGTGCAGAGCCCACGCTCTCCTCA AAGCCGAATAATTATTAGAGCGCGCTTGCAGCGACTCGCGTTTCTGCATC CGCGGTATTTTGACTTTCCACTGAAGAAAGCAGATATTTCAGATTTATCG AATTTTTAGGTTTAAAATTTTTTTTTTCTGTATTTTTCGAACAAACCTTT TGTCAAACAGTAAAAATCGAAATTAAAATGACTAAAATGAACTTTTTTTG TCCACTGGTTGTGAAATGGTTTGAATTTGAAGAAATCAACGGGGTTTTTC GTATTTTCTGAATATTGTTCTATTAAAAATTGGTTTTAATACATTTTTGA CTTAACATTAGGGTCAAAAAATGGTTTAAAACCGATTTTTAATAGAAAAA TATTCAGAAAATACGAAAAATCCCGCTGATTTCTTCAAATTCGAACCATT TCGCAACCAGTGGACGAAAAAAGTTCATTTTAGTCATTTTAATTTCGATT TTTACTGTTTAACAAAAGGTTTGTTCGAAAAAAACAGAAAAAAAAATTTA AAAGCTAAAAATTCGATAAATCTAAAAAAGCTGCTCATTTCAGTGGAAAG GCAAAATACCGCGGATGCAGAAACGCGAGACGCTGCAAGCGCGCTCTAAT AATTATTCGGCTTTGAGGAGAGCGTGGTGCAGAGCCCCAATTTTAAACAA AAAATAGCGGAAAAAAATATTTAAAAAAACGAGGATTAAATAAAAATTAA ATAATGTCAGCAATGTTCATTGGCATCTCGTCGATTTGTGTCGAGTAGTA CTGCTCAATGTCGCGGAGAATTCGTACGTCGTCCTGTTTGACGAAATTGA TGGCGACTCCCTTGCGGCCGAAACGTCCCGAACGGCCGATACGATGGATG TAGAGCTCACGGTTGTTCGGCAAATCGTAGTTGATTACCTGGAAAATTTT TTGATGAAAAGCTGATTTTTGCGATTTTCGCCATTTTTTGACCTAAAAAA TTGGCGAAATTCGGAATTTTTAAACAAATTTTGACGTAAAGTAGGTTAAA ATTCCAAAATTTTACGGTAAATAGCCTGAAATGCTTTAAATTGATCCTTT TTTGCACAATTTTAACAATGAAAACCTGTATTTTTCGCTACTTTTAGTTG AAAAAAGCTTCCAAAACGAGTAAAATTGGCAAATTTTATCGATTTTCGCA AATTTTTCACCTAAAAATTGAAGAAATCGGTATTTTTAAACAAATTTTGG CATAAAGTAGGTTAAAATACCAAAATTTTACGGTTTTTAGCAATTTTTGA GTCAATTTTCAAAATGTTCCAGTATTTTTGCAACTATTTGGTTTTTATTC ATCTATGTTCTTTGAAAATTCTTTTTTTTAAGGTGAATTAGGTTAGAAAG GGGTCGATTTTGCAGAATTTTGACAGATTTCGCATGAAAATTTGAATTTT CAGGCGAAAATCATCAAAAATATGATTTTTTGCTACTTTTAGTTGAAAAA AGTGTACAAAACGAGTAAAATTGACAAATTTTTATCGATTTTCGCCATTT TTTCACCTAAAATTTAATTTTTTTTTTCTAGTGAAATAAGTTAAATTCAG TGTTAAAATGTATCTATTTTCGCTCAAAATTTGAAAATTTTCAATTTTTC ACTGAAATCCATGAGAAACCAGTGAAAAAATTTTTTCAATTTGAAAATTT GCAGTGAATTTTATTTTTTCTGCTAATTTTTCGGTGAAAAATGCACTTTT TCACGAGAATTAGCGGGATTTTTGTATTTTCAAAGTTTTTAGGTCAATTT TCAAAATGTTTCTCGCTGAAAATTGATTTTTTGTCAATTTTTCACATATT TTCTATGAAAAATTCCACCTTTTTGCAGAATTTTGACTAAGAAATACGAT TGTCGCCTAAAAGTTTGAATTTTTCAATTTTTTTTTGCTGAAAATCATCA AAAATACGATTTTCAACAGAAAATGATGAAATTTTCGCTATTTTTCGCGG AAAATCATTGATAACCTGATTTTTTCGCTACTTTTAGTTGAAAATAGTTT ACAAAACGAGTGAAATTGGCAAATTTTATCGATTTTCGCAAGTTTTTAAC CTAAAATTTAGTTTTTTTCTAGTAAAGTAGGGAAATTCAGTGAGATTTTT TAATTTTTCACTGAAATCCATGAGAAATTAGTGAAAAAAAAATGTTTTTG GCCAACTTTTCACATATTTGATATGAAAAATGCCGTTCTGAACAAAAAAA GCTGTGGAAATTCAACTTATTGTCAATTTTCCGCTGAAAAATTCATTTTT TTTTCTCAAGAATTCGCATTAAAACTGCGGAATTTCTTGTATTTTCAGCA GAAAATGATGAAATTTTCGCTATTCTTCGCGGAAAATCATTGAAAACCTG ATTTTTTCGCTACTTATAGTTTAAAATAGTTTACAAAACGAGTGAAATTG GCAAATTTTATCGATTTTCGCAAGTTTTTAACCTAAAATTTAGTTTTTTT TTCTAGTAAAGTAGGGAAATTCAGTGTCAAAATTTACTTATTGGGTAAAT GGAAATTGTGAATTTCCATTGTAAAAATTTCTGCTGGGAAATTCATTTTT CCCAAATTTTTCATATAATTAGGCTGAAAAATGCAATTTTTCACAAGAAT TCGCATTAAAACAGCGGGATTTTTTTTGTATTTTCAACGGAAAATGCTAT TTTTTGCGGAAAATCACTGCAACTTTTTCCTCACGAGGGCCAAGGAAAAG TGGTTTCTAGGCCATGGCCGAGGGGCCGACAAGTTTCAGCGGCCATTTAT CTTGCTTTGTTTTTCGCCTGTTTTCTTTCGTTTTTCACAGCTTTTTCCCG TTTTTTCTTATTAAAACTGATAAATAAATATTTTTTGCAGATGCTAAAAC AATTTCCAAGTAAAAAAAATTATGTATTCAGTCGGCAAGCAGCGGTGAAA GTGGGCAATGTAAAATGATGGATTACGGGAATACAAAACCTGAAATTTTT CTGAAACATGATACATATGCTGCTTAGATGCTGATACTACCTGATTTTCA TAACGAGACCGCTGAAAAGTTTTGAGGTTTCCACAATTCAACTTTTTTGG TGAAAAAATCGAGATTTTCGCACAAAAAGTTGAATTTTGAAAACCTCAAA ACTTTTTCAGCGGTCTTGATATGAAAATCAGGTAATTTCAGCATCGAAGC ATCATATGTATCATGTTTCAGAAAAAGTTTAGGTTTTGTATTCCCGTAAT CCATCATATTGCATTGACCACTTTCACCGCTGCTTGCCGACTGAATACAT AATTTTTTTACTTGGAAATTGTTTTAGCATCTGCAAAAAATATTTATTTA TCAGTTTTAATGAGAAAAAACGGGAAAAAGCTGTGAAAAACGAAAGAAAA CAGGCGGAAAACAAAGCAAGATAAATGGCCGCTGAAACTTGTCGGCCCCT CGGCCATGGCCTAGAAACCACTTTTCCTCGTCCCTTGTGAGGAAAAAGTT GCAGTGGGAAAATGCTATTTTTCGCGGAAAATCGAAAATGTACCAAGGAC ACTTGCGGAACATCAAGTCCTCTCGCCCAAACATCAGTAGAAATGAGGAC ACGAGTGGTTCCAGCTCTAAACTCCTTCATAACCTCATCACGATCCTTCT GCTCCATATCTCCATGCATCGATGAGACGGTAAAGTTGGCCTCCTTCATC TTATCAGTCAACCAGTCCACCTTTCTACGTGTATTACAGAACAACACCGC CTGAGTGATGGTTAAGGTGTCGTAGAGATCGATAAGCGTGTCGAACTTCC ACTCCTCCCGATCAACTGCGACGAAGAACTGCTTGATGCCTTCCAGTGTC AACTCGTCACGCTTCACAAGGATCCGAATCGGATCCGTCATGAATTTACT CGTCATCTCCAGAATCTCATGAGGAAGCGTCGCGGAGAGCAGCACCACCT GGGCTCCGGGCGGTAGATAGCGATAGATATCGTAAAGCTGCTCCTTGAAC CCCTTGTTGAGCATCTCGTCGGCTTCATCGAGCACGAGAAGCTTGATGGC GCGGGTGCGCAGGTTTCGACGGCGAATCATGTCGAAAACGCGTCCCGGAG TACCGGAAACCACGTGCTGGCCGTAGTCGAGCTTTCGGATGTCCTCGCCG AGATTGGTGCCTCCGATACAGGCGTGGCACTGGACATTCATATAGTCGCC GAGCGCCAGCACGACTTTTTGAATTTGAACTGCCAGCTCTCGTGTCGGCG AGAGAATCAGAGCTTGGGTCTCGCGGACCTGGGTGTCTAGCGATTGGAGT ACGGAGATCGAGAATGTCGCCGTTTTTCCTGTTCCGGATTGAGCTTGAGC GATGACGTCACGAGCCTTGAGAATTGCGGGGATGGCGCGTTGCTGGATGG CAGATGGCTTTTCGAAGCCGTACGCGTAGATTCCACGAAGCAAGTCTTCT CTGGAAATCGAAAAAAATTTTGAATTTAGTTTTATATTTAAAGGTGGTGT AGTCGAATTATTTATTTCTTTATTAGACTCAAAATTGTCTGAAAAAAAAG TGTACAAAACGAGTAAAATTGGCGACTTTTATCAATTTTCGCCATTTTTC ATCTAAAAAAATCGACGAAATTCGGAATTTTAAACAAATTTTGACGTAAA GTAGGTTAAAATTCCAAAATTTTACGGTTTTTAACAATTTTTCCACCTTA AAGTTGGTGTAGTCGAATTATTTTTTTCTTTATTAGACTCAAAATTGTCT GAAAACACCGAATTTCATAATGAAACTTCTTGAAAACTGAAAACTTTTCA AAAAAAAGTTAAGGCCTCTTGAAAAAAGGCCTAAAATTAGTGAAAATTTG AAATTTGACCAACTTGTCTGTCAAGCGGCTGGAAACAATTTTCTTTGAAA TTGTCGTCTAATTTTGGGTATACAGGTCGATTACCTTGCGTTTTCAGCTT TATTTAGGTATTTAAAAGTCGATGGACGAAGAGATTTGTCAAATTTTTTT CACCAACTATCTTCGTCCATCGACTTTTAATACCTTAATAAAGCTGAAAA CGCAAGATACGACCTGTATACCCAAAATTAGACGACAATTTCAAAAAAAA TTGTTTCCAGCCGCTTGACAGACAAGTTGGTCAAATTTCAAATTTTCACT AATTATAGGCCATTTTTCGAGCCGCCATAACTTTTTTTTGAAAATTTTTC AAGAAGTTTCATTATGAAATTCGGTGTTTTCAGACAATTTTGAGTCTAAA AAAGCAATAAAAAAAATTCGACTACACCAACTTTAAGGTGGAAAATTTTT TAAAAACCGTAAAATTCTGGAATTTTAACCTACTTTACGTCAAAATTTGT TTAAAATTCCGAATTTCGTCAATATTTTAGATGAAAAAATGGCGAAAATC GATAAAATTTGCCAATTTTACTCGTTTTGTACACTTTTTTCAACTAAAAG TAGCGAAAAATCATGTTTTTGATGATTTTCAGCTGAAAATTCAAATTTCA GGCAAAATTCTGCAAAAAAAGGGTAATTTTTCAGAGAAAATATGGGAAGA ATTGAAAAAAAAAACTGTTTTCAGCAAGAAAAATGTTTGAAAATTTACCT TTAAATTTTTAAAAACCGTAAAATTTTGGAATTTTAACCTACTTTACGTC AAAATTTGTTTAAAATTCCGAATTCCGTCGATTTTTTTAGATGGAAAAAT GGCGAAAATCGATAAAAGTCGCCAATTTTACTCGTTTTGTACACTTTTTT CAACTAAAAGTAGCAAAAAAATAATGTTTTGAGGCGAAAATTTGTTTTCA GCGACAAAATTCTGCAGAAAAAGTTCAATTTGAAGCTTTTCTGGTTATTT ATAGAGAATTTTCCGTTAAAATCGATAATTCAATACCTCAAGCCCATTTT GTCAAAAGTTGGGATAATTGAGACCTCCTCAGACGACTCGAACTCCACAG TCGCCATATCGTCGTTTTTCTTTTTATTTTCCGCCATTTTTGAAGGAAGA ACTCTGTAAAATCGATAAAAATGAATATTTTCGAGCATTTTTGCAGAGAA ATTCAGCATTTTTAGGTGGAAATTATCAAAATCAATGAATTTACATCGAA AAAATCAAGAAAAACGTGTAAAAACGATAAAATTGATTATTTTCGGGCAT TTTGCAGAGAAATTCAAGATTTTTAGGAGGAAATTAACAAAATAAGTGAA TTTACATCGAAAAAATTAAGAAAAACCTGTAAAATCGATAAAAAACTAGT AAAAGAGCAAGATTTCGAATGTTTTCGAAAATACCCTGTTTTTCGAGCAT TTTTGCAGAGAAATTCAGCATTTTCAGGTGGAAATTTACAAAATAAACGA ATTTACATCGAAAAAATCAAGAAAAATGGTGATTTATCGGCTATTTTCGC TCATAATTCGTAGGATTCGATTCGAAACTAAAATTCGAAATTCGAAAAAC ATGGCCGTGGCCTAGCGTTCCCCTCCTAGTCCACGGCCGCGCACGATTTA CGGAGAGCACGATTATTGATCGATGACACATGGTTTCCGACTGTTTTTCC TGTTAAATTTACCCTTAAATCACAATTTTCCATAGAAAATGGGTGGAATT TTCTCGAAAAAAGAGAAATCACCAAAATCGGCGCCGGTTTCCGATCAGGA TAATGCGATTTTGGTTTGTTTAATGAGGTTTTTCACATGGAAATTATTAT TTTTTTGGTAATTCCAGGCGCTCAAAACACAACGGGACAAAATGAAGCAA ATGATCAAGCGAAAAGAGAATTGTTTGGAGAAGGAACGACAATTGGCAAA GCAGCTTATAAAGGATGGCCGGAAAGAGTAAGAAATTTCAGAAAATTCAG TTTTTTTTATTAAAAAAAAAAAATATATATATAAATTTTTAACTAATTTC AGCCGTGCTTTACTGCTTCTGAAGAAGAAACGCTACCAAGAGAAGATTAT CGATCAAACCTTGAACCATCTTAGCAAAATCGAGCAAATGGTATTGAAAA ATCAGAAAAAAATAAAAATTTTCCAGCAAAAAAATCAATAAATTTCCAGG TAAATGACCTAGAATTCGCAGAAGTTCAACAGCGAGTAACCGATGGCCTT CGACAGGGAAATGAAGCGCTGAAAAAGATGAATCAACTATTCGATATCGA TGAAATCGACAGGATTATGGAAGAAACCAAAGAGGCGGCGGAATATCAGG AAGAAATCTCGAATATGCTGTCCGGCCAGCTTTCCAACACGGATGTCTCG GACGTTGAGAAGGAATTGGAGGATCTGTTGGCGGCGGAATGGGGCACAGT TCAACTTCCAGAGGCTCCGAGCCATGAGCTGCCTGAAGCAGAGCGGGAAC GGCAAAAAGGTTGAGATTTGCCGAGAAAATTCCTAAATTTTCCCTAAATA AATAATTTTTTTTCAGAAAAAGAGAAGCCACGTCGCGAGAAGATTGCTCT GGAAGCCTAAATATTGCTTGTTACTGTGAATAAAATAAATTCATTATATT ATTATATTTTTTATACAATTTTGTCTTACTGGCGTTGTTCTGAACGAAAA ATTCGTTTAAATAACGCTGTAACAAAAAATCTCATTTTGCGCGTAAAATA AAATGCCAGTGACGCAATCACCACGACGAAAAATCGCACAGTTTTGGAAA ATTGCGGTTTTTCAAACTTTTTTTCGCTTTTTTCGGATGCTATTCAAGCG GCTATAGACTGTTCAAATAGAGATAGAACGGTCAGAAAATGAGAGACATA GACAAATAAAGAGACAATTTATTGACTTTTTAGGCTATTCTTTGTTGGAA ACCAACAAATTTTGTGTTCCCAGGCTTTTCTTTGCAAATTCTGAAGGGTT CTTCTTTGCAGATGCGTCGACGTGTAGCTCTGGACAATGACGAGCATGAT GGTAAGTTAAAAAATTGGAAAAAAAAACTTTGGTTTCTATTAAATTTTAT TATACTTATTCCCTTTTTATAATTAAAGGCGTCTAGCTCATTCAAGCTCA TTCACGACGTTAGTTGACGCATTCCTCCTTGCACGCATGGCCTAGTGGGT TAAGGCGCTGAACATCACTCAGAAGTCCACAAGTTCAAACCCAACGAGGC TCCCCCGCTTTTCTAACCCTAGCTTGAGCAATCAAATCGGAACGCGTCGG AGCTGTCTCGGAGCCAGAAGCCTCATCAAATATTTTGATTGCTTCCAAAC AATCTATCGCACGTTTGTGCTCCTCATTTCCGTAATGACGTGTGCATGCG TAAGCTTGATCTTTCCAGTTTTCTAGGTGACTCATTAGAGCAATCGAGTG AGCAACTCGTTCATTCGGTATTTCATGAGCCAATTGCTATGCGGGACGCG GGGCTTCTGGAAAAAAATTAAACAAATATTTTTCGTTTTTTTTTCCACAT GTGTGGATCTCAATTTATTTCTTCTTTTTTTGTTTACCTCATTTTATAAA ATTCTCCTTTTTTTCTCATTAATTTTTCTGTGGCTTTTTCAAAGATCTTT TTCAGATTTTCATCTATTTGTTTTAATGTGGAGCAAAATTGAAATTTGTC TGGTAGATACGGTAGCTTTAAAGGCGCATACTAAATTTAAAGTGACAAAA TAAATATTTAGTTCCATATGGAATTTCAATTTTTGCTGCCAGGCTGTCCC ATTACGGTTTGATCTACAAAAAATGCGGGATTTTTTTTGGCCCAAATAAT GTGACGTCAGTGCGTTCTTAACCATGCGAAATCAGATGAGAACTCTGCGT CTCAACTCCCGCATTTTTTGTAGATCTACGTAGATCAAACCAAAATGGGA CATTCTGACACCAGGTATTCGCCGCGGAACCAGTTTTATACCGTATTTCG TATGCGCCTTTAATTCTACCGTACCCGCTTCTGGAAGTTTGGAAGTTTGA AAAACTATTAAATAGAATTTATTAATTTTTGCATATTACTTTGTGCAGAA TACCTCTAAAAATATTAAAATCCAGATAAACATGGTTTTTAAAATGTTTT GCACAAAAAGCGATGATTTCGCTTCGAAGCCACTTTTATAAAACGCCTTG TGCGCCTTTAATTCCACCGTACTCGCCAAAATTAAACTGAATGAGCGAGT TTTGAACTAATTTTTACGAAAAAATCACGTTCTGATCGGTTCTGGTCTTC CTCTAAAATCGGTTCTGGTCTTCCTCTTTGAATTTTCGCGCTCCATTGAC AATCGCCTGCCGGACTGGGAAAGCCGTGTACTCCACACGGACAAGTACAT TTAGTTTTACAACTAAAATCGAGCCGCGACGCGACACGCAACGCGCCGTA AATCTACACCAGATATGACCGAGCCAAAATGGCCTAGTTCGGCAAATTCT TCCATTTCAATTTATGAGGGAAGCCAGAAATTCGTGTATTTTTACAAAGA AATGTGAAAAAGAAGCTAAAATTTCAATGAAATAGAGATTTTTCCCGGAA TCTCACAGTTTCGCAAAATACTATGGATTAAAAAACGCTGAAACCCAAAT TTGCGCGTAAAATTCAATGTATAGCGAACATTCACGGATTTCTGGCTTTT CTCATATATTGAGATGGAAGAGTTTGCCGAACTAGGCCATATCTGGGGTA GATTTACGGCGCGTTGCGTGTCGCGTCACGGCTCGATTTTAGTTGTGAAA CTAAATGCATTTGTCCGTGTGGAGTACACGCGTTGTCCGGCGGGCGATTG TCAATGGAGCGCGAAAAATTCAATATGGAAGGCCAGCACCCCGTGTTAAC ATTTAAAAATTACAAGATTTGCCCCCTCAAACATCCCTGGAAAAACTAGA AAAACCTCGTGTGCTTGCCTGACAACAGCTGTTCACCGACAAAAAGATGA CGGGGAGGGCTTCAACAGAGCTTGTGTTTCCTCGTCAACTCTTTCGAGAA CTGACAGCACTTTTCATATAACTCATCACTAACTTTCGCTGCTCGTGGCG GTTTTTTTTAGTTCCCCAGTAATGAGTCAATTTTGTCTGTTGCTCAGAAC TCTCAATTACCGATGCTATTAGCGGAAGGACTTTTGGAGCGCCGGAGCCA GAGCAAAATTCATTTTTATTTGAAAAATGAGTGATGAGTTTTTCTCTCTG TTTTTCCATGTTTTTCTCGTTATTAGGCTGTAACTTTCCACATACACTTG GTGTCAGAGAGTCCCATCACGGTTTGATCTACAATAAAAGTGTGACGTCA GCACGTTCTTAACCTTGTGACAATAGTTGAAAAATCTGCGTCTCGTTTCC CGCATTTTTGTAGATCACACCGTGATGGGACTCTCTAACACCACGTACAC ATGAAAATTTCGCTGAGAACAAATTTTTGCGCGTCAAATCTGATGTATCC GGACTGTACCGATATCAATACATCGAATTTGACGCGCAAACTCCGTTTTC ATGGGGAATTGTTGAAAAAATTGTTTAACTTCCGGAAAATTAACATTTTT CAGAGAAAATCAAAATTTTTCTGTTTTTCCTTAAATTTCTAGGAAAATTG TAGCAGATTTTGTTGAAAAAATTCAAATTTCCACTGAAAAAAGTGAAAAA AGAAGACGATGTGTAAGCCTAAGCCTAAGCCTAAGACTAGGTCTAAGCCT AAGCCTGAGCCTATGCCTCAGCCTGAGAATAAGCGTGAGCCTAAGCGTGA GCCTAAGTCTAAACCTAAGCCTAAGCCTAAGCCTGATCCCAAGCCCACAT GGTGCCAGGCTGACCCATAACGGTTTGATCTACAAAAAATGCGCGAAATT TTTTGCCCAAAAAATTTGACGTCAGCGCTTTCTTAACCATGCGAAATCAG TTGAGAACTCTGCGTCTCTTCTCCCGCATTTTTTGTAGGTCTACGTAGAT CAAGCCTAAATGGGACACTCTGACACCACGTGAAGCCTAATCCTGAGTCT AAGCCTTATCCAATTTCCGAAAAATCAATAAAAATGCAAATAACATAGAT ATTCCCGCCTAAAGTTCAATAAATTATTTTTTTTTTGAAACTTTTTTCAA AACTTGCGAATGCATAGTACCAAAAAACGCCATATTTGACACGCAATTTT TGGATTGACTTTTTTTTGAATTGATATGTCATGAGCATCACTCAAGTGGT TCCAAAAAGGCGTCAAGTACTTGAGCCCTCCCTGAGCCACCACCGTCTCC AGAGAGCAGCCGAAACCAAAAACAAATAGGGGGAAAATGAACAGTTCTCT CTGTTTCAAAATCTATATATTCCTGTTCTTTGTATTATCTTCCGTGCGGC TTCAGCCCTCTACTGCTGCTCCAATTCTTTTCCATGTTATTTACCGTACC GATTAGACGAATGAACAGGACCCCCTTTTACCGTTCAACCGATGAGCCAA TGTGCTCTTTGTTGGCTAATTTGGGTGTTTTGCTCATTTGGAGGAACACT AACTTCCCTCTCTAACTACACACTACGTGGAAGAGTTTTTTCAGATTTCT AGGCCTCGCAACTTTCCTTGGTGGCCCAGAAAAACGCTTAAAACTTCAAG GTCAAAACGTTCATTTTTGTTGAAAAAAATCGGTTTTTACTTGAATTTTT GTAAGTGGAAGAGTTTCCTAAATTTCTAGGCCATGTGCTTTTTCCTGCTT ATCTGAAAATTTTGTTCAAATTTTCTTTTTTCACTTAAATATTCCCCGAA AATCTTGTCCACAAAAAGAAATTTTTGAACATTCAGATCATTTTTTTAGA ATGGAAGAGTTTTCCAGATTTCTAGGCCACATGGCTTTTCCTGGTGGCCT AGAAAATTTTCTGTTGGAAGAATCAGGTTTTTACTTGAATTTTCGTAAGT GGAAGAGTTTTTTACATTTCTAGGCCACGTGATTTTTTCCTGATGGTCTA GGAAACTTGTTTTCTCTAATTTTCCCCGATTTTGGATAATATTTGTTTAG TGGAAGAGTTTTCAGAAATTCTAGGCCACGTGGTTTTTTTTGGAAAAGAA ATATTTAGATCACATTAACATGTACTTTTATCAGATTTTTTGCCAAAATA CCAATTTTACAAGCTATTTTTTTGTTATATGTAAATTTTGTGGAAGAGTT TTTAAAATTTCTAGGCCACCTCTAGATGCACGTGGTGTCAGAGTGTCTCA TTTCGGTTTGATCTACGTGGATCTACAAAAAATGCGGGAGACGAGACGCA GAGTTCTCACCTGATTTTACATGGTTAAAAACGTGATGACGTCACATTTT TTGGGCAAAAAATGCCCGCATTTTTTGTAGATCAAACCGTAATGGGACAG CCTGACACTACGTGTACGTGCAGATGGCCTAGAAATGCTAAAATCTGTTT TTTAAATGTAACTTTGAAAGTGAAAGAAACAATTAGAAACAAGTTGGCTG TCGCCCCCAAAAAGTCTGTTCTGGCTATGTGGTCGCGAAAAGAGAAAACT CGGCCACCAATTTTTTTCCACGGCCAGATCTATGACGCTATGACGTCACA TTATCAGCTTGTTTCCGATTTACACACACATACACGTACACTTTCTCCGT ATCACTTTCACTGATAGCTTGAAACGAGATTAATCATCATTCCAGCTATT CTTTTTTATTTATTAGGTTAATGCCACTACTACTATTATTTTTTCATATT AAAAATACAATGAACTATGTAGACATAAATTCAAATGAGATGCCAAAAAG TGAGTTCGAACTTGTGGAAAATGTGTGTTTTTTAATAAATTTTTCAAAAA TATAGTAAATTTCTGAGAAATTTTGATTTGAATTCCCGCCAAGCATTTTT TTGAAAATTTTGAATTTCCGCCAACCATTTTTCCTTTTTTTTCAGAAAAT GTGAAAAAATTTTCTAAGCAAATTTGAATTCCCGCCAAGATTTTTTTTGA AAAAATTTCGAACTCGCGCTAAAGTATTTTCTAATAGCAGGATTATTGGA ATCCCCGCCAAAACATATTCTCAGAAAATTTGAATTTCCGCCAAAACTTT TTCTGATAAAATTTAAATTCCCGCCAACCATTTTTTCCTGAGAAAATTGG AAGAACATATTTTCAGTGAGAAAATTTGAAAATATTTTTTTCAGAAAGTT TGAATTCCTGCCAAAACATTTTCTAAGAAAATTTGAATTCCCGGCAAAAC TTTTTCTGATAATTTTTTGAAATTCCCCGCAAAAATTATAGTAAATGAAG ATGATTTGAGCAAAGTTATGACGTGGCCGCGGAAAAAATTGATGGCCTAG TTTTCTCTTTTCGCGGCCACGTAGCCAGAACAGACTTTTGGGACCGTACA ACCAACAAATATTTCTTCCCCTTTCAAAAATACATAAAAACCAGATTTTG ACATTTCTAGGCCATCTAGAGGTGCCTCGTGGCCTAGAAATTTGAAAAAC TCTTCCAGAAAATTTGTTCTGTATTTCTTGAAAGTGCTCCAACAAATCTG TGCAAATTTTAAAAACGTTTCAAAATATTTATTGAATAAATTCTTTTGTT GCACAAAGAGGTATCAAATCAGACCACCAGATTCGACCGTTGATCATTGT TTCAGTTGATAGGTAGGCAGGCGTGGTTGCCTGAAACCTGCCGGCCTCAC GCTGGGCAAGAGGCAGGCCGCCTTAATGTCAGGCAGGCAATGCCTACATG CAAGCCCTACTTCTACGATTATCTCGAAATTTAGCGAGTTTTTATTTGTC CAAAAAAAATCGCAACTGAACAACATGAAAAAGCCGCCAAAAACTTTCAT AAAATTCTGTCCGTAGTTTGCCGTTTCTTGCGTCTCATGCTTAATCCCTA CTGTAATTATGCTGAGATTTTCGATCTTTTTCACTTTTTGAAAATTTTTG GCAATTCTTTTTAAGTTTGTTGAGATTGTAACTTATGACAAACAGTAACT AAAAAGCGTGGCCGCCAAATTTTCTAGGCCATCAATATCAGTTGCGTCAT TTCTTCACCATACTGGACCGAGAAATATTCTAGGACATGTGTTTGCGTCA TTCCTCTTCCATTCCTAGTCCCAAAAATTCCAAGACCACTGGTAAGTTTG GCCGAGAAATATTCTAGGCCATCGATGTTAATGACGCCATTTCATACCCG AATTGGCCACTAAAATTCTTAGGTCATCAGTGACGTCACACCTCTTCCAA GCCTTGGAATGAGCATTTCTAGGCCCTCTAATCTAGGCTTGGCCGTCAAA TTTCCTAGGCCAGGTGACGCCATCCCTCTTCCATGCTCGACCACTAGGTC AAATGACGTCACTTCTCTTCCACCTACCGCACTTTGATTTCCTAGGCCAC CATGTGACGTCACTTCTCTTCCATCTAGGTTTCCCATGCCCTTCTCCTCT CACGTGGTATCAGAGTGTCTCATTTTGGCTTGAATACGTTGATCTACAAA AAATGCGGGAGAAGAGACGCAGAGTTCTCAACTGATTTCGCTTGGTTACG CACGTGCTGCCGTCACATGTTTTTGGGCAAAAAATTCCCGCATATTTTGT AGATCATACCGTAATGGGGTGTCCTCTTGTTAAATATCGAAATTTCACTC AAAAATTTTGAACGTTGAGCTTTTTGTCTCTGGTCAATTGGTCAGCCGCG CAGTGTTCCGGTGTTTGTGCTCATGTTTTCGTGTGCACATTTGTGCTGCT GCTAAGGCGTATTTTGTTCCGGGCGGGGACAGGGGGGAGAAGCAAAAATG TGTCAAATTTTGTTTGTTTTGCCATTGATATTGTCCTTCTGCTCAGAGGA TTTCCTCATTTTACGCCGTATGTGCAAAAGCATAATCACCACAATAATTT TGAATATAAGTTTGCAAACGCGCCCTATTGATAATCCTCGCCCGTGTAGT CTGCGTGCACGTGGTGTCAAAGTGTCCCATTTTGGTTTGATCTCCGAGAA ATGCGGGAGAAGAGGTGCAGACTTTTCAACTGATTTTGCATGGTTAAGAG TGTGCTGGCGTCACGTTTTTCTGGGGGCAAAAATTCCCGCATTTTTTGTA GATCAAATTGCAAAGCGCCCTATTGATAATCTTAGCCCGTGTAGTCTCTT GTTTAATTTTCAATTTTTCTGGTTCGGCACCTAAACTGTAACTACGACAC TCGGCAAAGTTAGACTGTTAAACTCCGCCCACTTAATGGCACCTTTTTTG CAGAAATGTACCCAACCGACAAAGAGCAGACACGGACCACATTTGAGACG AGAAGTCGGCGGAAACGGCTGGCGCAGGTCGCCGCCACAATTGCTAGCGT GATATTACTCTTGTTGGCAGGTAAGTAAAAAACTACGACACTCCGAGACC AAGAAAAAAATCGATAATCGAAATATTGAAAATTGCAAAATTTATTTCGC CGGATCATTTTCCATATCGATTTTCTGAATGGTATGGTGATAGCAATCCT CATCGTAGGCACATCCCTGGTGAACCACGTACTCTTGACCTGAAAAATAG GTTTCGTTCGGTGGAGCACATTTGCATACACTGACCTTTAATCGGGTGGC GACACGCTTTACACTTGAAACATGCCATATGCCAGTGGACATTGAACGCC GACACGCATCTCTCAAAAGTCGGCAATTTGCACGCGTGGCATTTTGGTGA CTTGGCCGCCCGGTGACAGTCCGCGCAACGGAGCGCGTTACCGTACGGCG CGGGCATTGGATAACACGGAGTCATGCCAATGACTGTCTGGAATTTTGGA GAAATTTATTGATTTTTTGACGGAATTTAATGAAATAAGGAAAAATCAAT AATCGACATATTTATTTCGCAAAAAAAAAAAAACATTATTGATTTTCACG GATTTCTGTCTTCCTCATAAATTGAAATGGAAGAGTTTGCCAAACTAGGC CATTTTGGCTCGGCCATATCTGGGGTAGATTTACGGTGCGTTGCGTGTCG CGTCGCGGCTCGGTTTTTGTAGTAAAACTAAATGTATTTGTCCGTGCATG GAATTCTGGCTTCCCTCATAAATCGAAATGGCAGAGTTTGCCGAACTAGG CCATTTTGGGTCGGAGAGATTTTGTGTAGATTTACGGCGCGTTGCGTGTC GCGTCGCGGCTCGTTTTCAATTGTAAAACTGCTGTATTTGTCCGTGTGGC GTACACAACACTTTTCCACGCGCTGTCCGGCAGGCAATTGTCAGTGGAGC GCAAAAATTTAATTAGGAAGGCCAGAACCCCGTGTCCGTGTGGAGTGCAC GACTTTCCCGCGCGTTGTCCGGCGGGCGATTGTCAATGGAGCGCGAAAAA TTCAATGAGGAATGCTTTTTGCAAAAACAAATTACATAGGCTTCTGGCCT TCCTTATTGCATTTTTCGCGCTCCATTGACAATCGCCTTAAAGCAGGGGA GTGTGTGTGTGTGTACTCCACACGGACAACTTAAAATGAAAACCGAGCCG CGACGCGACACGCAACGCGCCGTAAATCTACTCCGGCCGTGGCCGAGTCA AAATGGCTTAATTCGGCAAATTCTTACATTTCAAAATATGAGGGAAGCCA GAAACGTGTGTCACATGTTATAAAATTAATTTTGAAAAAAAATTATTAAA TTTCGCAAAAATAAATTATCGCTTTTTGTAAGAATTTATCGAATGAATTG ATTAAAAATTTATCGAATTTTAGCGAATCAGAAAATATCGATTTTCACTA AGAATTTATCGAATTTTTCGATTTTCGCTAAAATTATCGATTATTGCAAT GTTTTACCTGACAAACCGAGCATTTCAGGCATGAAATATGATACATCTCG TCTTGAATTTTGATCACTTTTCCCTGCAAAAATCGATATTTTCAATTGAA TATATTTCCAAAAATGTGCTCACAGTTTGAGCTTCTTGACGAGTCAGCGT TGTTGTGCAGCCTTTGCAATGGATATTATATGGAAGAACAATCTTTTGGA GACGTTTATTGTTCGACGAGAACAACATTTTTCGAATTTTTGAAATGATT AATTTAAAAATTTAAAAAGGAGAAAATTGAAGAGAAACGTGGGAAAACGT ATTGATTTTTCAAAATTTTATTGATTTTATAATCACGGGGTTCTGGTCTT CCTCATTGAACTTTTCGCGCTCCATTGACAATCGCCTTCCGGACAACACG TGGGAAAGTCGTGCACTCCACACGGATAAATACATTTAGTTTTACAACTA AAATCGAGCCGCGACGCGACACGCAACGCGCCGTAAATTTACCCCAGATA TGGCCGAGCCAAAATGGCCTAGTTCGGCAAACTCTTCCATATGAGGGAAG CCATAAATCCGTGTATAATCAAACGCGCAATTTAAAAAAATCGGTAGTTG AAATTTATCGATTTTCCCTCGATCTTATCGATTTTTTAAAAGACTTATCG ATTTTTATCCAAATTTATTATTTGAAAAATCAACGTTTATTGATTTTTGT CATGATTTATCGATTTTCTCAAGAGATTATCGATTTTTGCTGTCGATGCA CCATGTGCAAACTTCGCCACGTTTTTTCGCGGCGAGACCCAAATTTTTTG AATTTTCAGTTCTCGGTCTGGTATACGGTAGCTTCTACCTCTACCGTCGA TATGTGACAGATGCAAATGATAAACGGGATAATGATGAATATTTGCGAAA ACTCGTTCGTCAAGTCAATGACTCGCCGGAGACCACGTGGAAAGCCAAAT TCAATAAGTTTGGTGTCAAAAATCGATCTTACGGATTCAAATATACGAGA AATCAGACGGCGGTCGAGGAATACGTGGAACAAATTCGAAAATTTTTCGA GTCTGATGCGATGAAGCGGCATTTGGAGTGAGTTAACTCAAATTTGAGCG GGAAACAACGATGCTCCGCGCTCTCGCCGCATGTAGTTTAGCGCGTAAGC TGTGATGCATACGATAGTCCTGCAATGCATCATATTTTACACGCAAATGC AGAAATTACCAAATTTCGAGAAAAATCTATATTTTCCTTTTAAAAATTAT CGATTTTTTAAACAAAACTTCTGAATAATTGGATTTTTCCAGAAGTTTTA AAAAGTTTTGGGTACAATTTTAAAAAGACAGCAAAATGTTCGTAAAACAC CAGGAAAGAATTTTGCGCTTAATATCTGATGCTTCGTAAACTCCACGGGC TTCCGGCCTTAAAGCCGAGCTACGCGCCGTAAATCTACCCCGGCCGCAAC GCGCCGTAAATCTACCCCGGCCGTGGCCGAGCTCAAGTGGCCTAGTTCGG CAAAATCTTCCATTTCAAAATATGAGTGAAGCCAGAGGCGCGTGAATGAT GACTTCCACACGGTTCGGTAGAGCGCATTTACACTTATGTACCCTTTGCC GGGCTGCGTTCAAAACCTAAAAATTTGAAATTTTGCGCGTAAGATCTGGT GCATTGGGTTCTGAATTATTTCGACAAAACATGGTGCATCATCCCAAAAA TTGCAATTTTGCAGTGAACTTGAGAACTTTAACAGCTCCGATGTTCCGAA AAACTTCGACGCTCGTCAGAAATGGCCGAATTGCCCGTCAATCTCGAATG TTCCAAATCAGGGAGGATGCGGGAGTTGCTTCGCGGTCGCCGCCGCCGGT GTCGCCTCCGACCGTGCCTGTATTCACTCGAATGGAACTTTTAAGTCACT TTTGTCCGAGGAGGATATTATTGGATGCTGCTCGGTGTGCGGAAATTGTT ACGGCGGAGATCCACTGAAGGCCTTGACCTATTGGGTTAATCAGGGACTT GTTACAGGTAAGCGGTGACGTCATAGGTGGCCTAGGAACCTTTGATCTAC AATGTGATTGAATTTTATATCACGCAATTTGTAATAATTTCTAAAAAAAA TTATCGATTTTTCTGAAAATTAACTTGTTCCAAATTTTGAACGAATTTTC TAGAAGATTTTTGCAATTTATCGATTTTTGCAAGCTATCGATTTTTCCCG CAAACTATCGATTTTTCTAGAAAATTATCGATTTTTCTAGAAAATTATTG ATTTTTCTAGAAAATTAACGATTTTTCTAGAAAATTTTCGATTTTTCTAA AAAAAATTATCGACTTTTTTCTCAAAAGTATCGATTTTTGCAATTTATCG ATTTTTTGAAATTTATCGATTTTCCCTGCAAATTATCGACTTTTTTGAAA ATAAGCTTTCCCCAAAAATTTGAACGAATTTTCTAGAAATTATCAACTTT TGCAATTTATCGATTTTTTTTTTGCAATTTATCGATTTTTTGCAAATTAT CGATTTTTTGCAAATTATCGATTTTTCCAAACAATAACGATTCTTCTAAG CCCGTGGAAGAGTTTTTCGAAAACCTAGGCCATCTCTATTTCCAGGTGGC CGTGACGGTTGCCGTCCCTACTCGTTTGACCTGTCGTGTGGAGTCCCGTG CTCGCCGGCCACGTTCTTTGAGGCCGAGGAGAAGCGAACATGTATGAAGA GGTGTCAGAATATCTATTACCAGCAGAAATATGAGGAGGATAAACATTTT GGTTAGAGATATTTTTTTTTAGAAAAATAGAGAAAAATTTCTGGGATCTA TTCAAAAATGGCAAACTTTTTGGAAATTATCGATTTTTTCCGGTAAATAA TTATCAATTTTTTTCTCGGAAAATATCGATTTTTTCGGAAATTGACAATT TTTTCGAAAATTATCGATTTTTTCCGTTAATGATCGATTTATTCGGAAAT TATTGATTTTTCCGATAATTATCGATTTTTCGGATAATTATCGATTTTTT CCGATAATTATCGATTTTCCGGTAATTATCGATTTTTTCCGATAATTATC GATTTTTCGGATAATTATCGATTTTTTCCGATAATTATCGATTTTCCCGA TAATTATCGATTTTTCCGGTAATTATCGATTTTTTCCGATAATTATCGAT TTTTCCGATAATAATCGACTTTTCCGATAGTTATCGATTTTTCCGATAAT TATCGATTTTTTTTCGATAATTATCGACTTTTCGGGTAATTATCGATTTT CCCGATAATTATCGATTTTTCCGGTAATTATCGATTTTTTCCGATAATTA TCGATTTTTCCGATAATAATCGACTTTTCCGATAGTTATCGATTTTTCCG ATAATTATCGATTTTTTTCGATAATTATCGACTTTTCGGGTAATTATCGA TTTTTTTCCGGAAATCATGAATTTTTCCAATAATTATCAATTTTTTCCGA TAATTATCAATTTTTCCGATAATTATCGATTTTTCGGATAATTATCGATT TTTTCCGATAATTATCGATTTTCCCGATAATTATCGATTTTTCCGGTAAT TATCGATTTTTTCCGATAATTATCGATTTTTCCGATAATAATCGACTTTT CCGATAGTTATCGATTTTTCCGATAATTATCGATTTTTTTTCGATAATTA TCGACTTTTCGGGTAATTATCGATTTTCCCGATAATTATCGATTTTTCCG GTAATTATCGATTTTTTCCGATAATTATCGATTTTTCCGATAATAATCGA CTTTTCCGATAGTTATCGATTTTTCCGATAATTATCGATTTTTTTCGATA ATTATCGACTTTTCGGGTAATTATCGATTTTTTCCGATAATTATCGATTT TTCCGATAATAATCGACTTTTCCGATAGTTATCGATTTTTCCGATAATTA TCGATTTTTTTTCGATAATTATCGACTTTTCGGGTAATTATCGATTTTCC CGATAATTATCGATTTTTCCGGTAATTATCGATTTTTTCCGATAATTATC GATTTTTCCGATAATAATCGACTTTTCCGATAGTTATCGATTTTTCCGAT AATTATCGATTTTTTTCGATAATTATCGACTTTTCGGGTAATTATCGATT TTTTTCCGGAAATCATGAATTTTTCCAATAATTATCAATTTTTTCCGATA ATTATCAATTTTTCCGATAATTATCGATTTTTCGGATAATTATCGATTTT TTCCGATAATTATCGATTTTCCCGATAATTATCGATTTTTCCGGTAATTA TCGATTTTTTCCGATAATTATCGATTTTTCCGATAATAATCGACTTTTCC GATAGTTATCGATTTTTCCGATAATTATCGATTTTTTTTCGATAATTATC GACTTTTCGGGTAATTATCGATTTTCCCGATAATTATCGATTTTTCCGGT AATTATCGATTTTTTCCGATAATTATCGATTTTTCCGATAATAATCGACT TTTCCGATAGTTATCGATTTTTCCGATAATTATCGATTTTTTTCGATAAT TATCGACTTTTCGGGTAATTATCGATTTTTTTCCGGAAATCATGAATTTT TCCAATAATTATCAATTTTTTCCGATAATTATCAATTTTTCCGATAATTA TCGTTTTTCCCGATAATTATCGATTTTTCCGATAATTATCGATTTTTCGG ATAATTATCGATTTTTCCGATAATTATCGATTTTTCCGATAATTATCGAT TTTTCCGATATTTTTTTTCGGAAATGGCTGCCCCATCGCGGTTTGATCTA CAAAAAATGCGGGAATTTTTAGCCCAAAAACATGTGACGTCAGCACGTTC TTAACCATACGAAATCAGTTGAGAACTCTGCCGCATTTTTTGTAGATCTA CGTAGATCAAGCCGCAATGAGACACTCTGGCACCAAGTGTCTGTAATTGA CTTCACGGAAGAAAATATATTTTTATTTAATGCGCAAAACTAAAATTCAA AATTTCGTTTCGACCAATACACCATATTTTAAGCGCAAATTTCAATTCAA ATTTTTGCAGCAACCTTTGCCTATTCAATGTATCCCCGCTCAATGACAGT ATCCCCCGATGGAAAGGAACGAGTAAAGGTGCCAACAATCATCGGTCACT TCAACGATAAGAAAACCGAGAAGCTGAACGTGACCGAGTACCGTGACATC ATCAAAAAAGAAATTCTACTTTATGGTCCCACCACGATGGCGTTCCCAGT TCCCGAAGAATTCCTTCATTATTCGAGCGGAGTGTTCCGCCCGTATCCAA CTGATGGTTTCGACGATCGAATTGTGTATTGGCACGTGGTTCGATTGATC GGATGGGGAGAATCAGATGATGGAACACATTATTGGTTGGCTGTTAATAG TTTTGGTAACCATTGGGGTGATAATGGTGAGTTTTCGTGCAAATTGCGCA CGGCCCGGCAAATGGTACATCCATACAAATGCGCTCCACTGATAATTTGA GTTTAGCCAGGTTTGGGCGCGTTTTAAGGAAAACGCCTTGGTCCAAAAAA TTTAGAATTTGATTTCGGACATTTTTTATATGCATCACAAAAATGTTGGA CGAGCCGTTTTTGAGAAAAAGCCCAGGTATACGGTAAACAAATTGCGTAC AGGTGCCACTTCCCGGGCCGTGATGCGCGTTAAATATAGTGCTTTTTAAG AATGCGTGTTGCGCAACATATTTGACGCGCAAAATATCTCGTAGCGAAAA CTACAGTAATTTTTCAAATGACTACTGCAGCGTTTATGTCGATTTACGGG CTCGAAAAAAAAGTTACAGCGATATTCCATTTTTTCTCATTTTTTGCTTA TTTTTATTTAGTATTCTCACGGTGTGTCATTCTGTCCCATAACGGTTTGA TCTACAAAAAATGCGGGAATTTTTCGCCCAGAAAAATGTGACGTCAGCAC GCCCCTAACCATACGAAATTTGTTGAGAAATCTGCGTATAAATTCCCGCA TTTTTTGTAGATCACGCCGAAGTGAGACACTTTGACACCACGTGTATTCT ATCTAAAAATAAATTATTTCAAAAATAGAGCCCGAAAAAAAAAATCGACA AAAGCGCTACAGTAGTCATTTAAAGAATTACTGTAGTTTTCGCTACGAGA TATATTGATATTTTGCGCGTCAAATATGTTGCGCAGTACGCATTCTTAGA ATTTTGTGTTGCCGTAAATAAATTTGGACGTCAAATACAGTGCATATTGC GGTCGATCGGCTACAATATATTTTGCGAGCAAATTTGGAAGTTTTGCGCG TCAAATATGATGTAGCCGATCGGTCATGTTACAAAACACCATATTTGACG CGCAAAACTTTAATTTTGGACAAAAAGTCAGAGAATTAGTATTGCGTAAA AAACTGGCAATTTTTTTCAGAACATTTCTGAAATTTTCAATATATTTTCA AACTTTTCGCGTCAAATATGGTGCATCAAGTCGCGAACCAAATACACTCT AACACGTAGTGCCAGGCTGTCCCATTATAGTTTGACCTACAAAAACGCGG GAATTTTTCGCCCAAAAAAATGTGACGTCAGCACGTTCTTAACCATGCAA AATCAGTTGAGAACTCTGCGTCTCCTCTTCTCCCGCATTTTTTGTAGATC AACGTGATTCAGGCCGAAATGTGACACTCTGACACCACGTGGCCCTAATT AACTCGTAAAAATCACCGTTTTTTTTCCAGGACTCTTCAAAATCAACACA GATGACATGGAAAAATATGGTCTAGAGTATGAAACAGCAGTCGTCTAATT ATAATTCGGCAAAAATTTTTTGTAAATAGTTAAATATTGTCCACCTATTT CATCCCCACCCGATTGCATCTCAACTTGTCCCATTTCCGAGAAAAATCAA TTATTTATTTTTATTCGGCCATCATTTATTAGCTCCCTCATTCCATAGTT TTTTTTTAATTAGATTTTTTTTGGATGCTAAAATTTGCCATTCTCATAGA CATTTTCAATATTTGTGTAAAATAAATCATTTTTCTGGTCTTCAATTGAT GGAAAAAAACAAAAAAACAATGCGCGTCAGGTTTGGTGTATTGTGTGCAA ACACCGAGCGCATATTTTGAAATTTATTTTTTTTTCGAATTTATTAAAGT TGCTGATTTTCTTTAATTTCAGGCTTAAAAATGTCGGATTTTGTGCCAGA AACCGAGGAAAATGAAGAAGAATCTCAAAAAATCGATGAAATCCATGAAA TCCCAGCTCAAGCAATTATCATCGACCAAAGTGAGGAAAATGCTGACTTT ATCAATTTTCAATTACTTTTTGCATTTTTTCTAGGTTTTTCTCGACGATT TCTCAACAATAAATGGTACGGAAAGTACGGCGAAGATGGGGATCTTCTGG AGCACATCGACGAGGACTGGGAGCCCGTAGGCCTCGACGAAGTGGAATTT CTGAGCCAACTGTGGTTTGAGCAGGAGGATCAGGAGAAAAAAGCTCATAG GCACTATGATTGGGATGAAGAAAAGAAGGAATGGGTGCCGAAGGCCAAGC AGGAGGAGGTCAATGAGGATTTTATCGCAGAATATCAAGCGAATTACGGG GTTCAGTATGATGATATTTATAAAAAAATGGACGAAGAATTGCAAGAAAA AGCGGCAAAAGCTCAAAAAGAAGATGAAGAGAAGAAGGAGAAGAAGCGGA AGAAAAAAGTTGGCTTGGGAGCCGGGGAAGACGCTAAAGAGGGCTGGCTT GACCTAGGAGATAAGGTTCATGCGGTTTATGTGTCAAATCTTCCGGAAGA TATTACAGACGAGGAATTCCAGAAATTTATGTCAAAATGTGGAGTTATTC AGCCGGATATTCGAACGAATAAGCCGAAATGCAAGCTTTACCGGGAGGAA AACGGCAAACTCAAAGGCGACGGAAGATGTTGTTATATTAAGAAGGAATC TGTCGAGCTTGCCTGTAACATTCTCGATGGAGCGAACTTAAACGGGCGGG AAGTGAAGGTTGAGGAAGCTCGATTTGAGATGAAGGGCGATTTTGATCCG GCGAGGAAGCGGCGGAAATTGACTGCGGCGCAGAAAAAACGATATATGGA GCAGCAGAATAAGTAATAAAAAATATTTGGTGAAATTTGAAATAGCTCGT AAATCGACATTAAGCTGAAAAAATGAAAAAAAACCAAAAAAAATCGTATT ACGGGAACACAAAATCCTGAGAATGCGTACTGCACAACATTTTTTTTTTT TTTGACGCGCAAAATATCTCGTAGCGAAAACTAAGACTACTGTAGCACTT GTGTCGATTTACGGGCTGCTCGATTTTCGAAATGAATTAAAAGAATTTAT TTATGTGATATTGAAATTGGGCAAAAAATAGGAAAATAATACAAAAAAAT CTAAAAAATTTATTTCAATAATCGAGCCCCCGTAAATCGACACAAGCGCT ACAGTAGTCATTTAAAGAGTAGTTTTCGCTACGAGATATTTTGCGCGTCA AATATGTTGTGCAATACGCATTCTCAGAATATTGTGTTCCCATAATATAT CGACGAAAAAATTGGCCCAAATCGTGGATTTTTGTCCGAATTTGATGACA AATGGCTTTGAAAATCACAAAATTTCAGAGAAAAATTTCGATTTTTGGTT TAAAAAAACAAAAATTGAAACCCAACAAAATTGTTAACTTGAAAACCTGC TGAAAATCTTAGAATTTTCAGATTTCACCCAAAAAATACCAGATTTAACT CGAAAATTGCGAATTTTAGGCCAAATTCCTTGCATTTTTCATAGAAAAGA TAAACTAACGACACAAAATCAAATGAAATTGACTAAAAAACTATTGAATT TTGTAGAAAAATCCCGATTTTTGCCTAAATTTGCAAAAAAAATATTTTAT TTTAGCATTTATTTTTCTTAATTTTCACACTAAAAATTACGAAAAAAGAC AAAAAAAATTTTTTTCATTCAACAATTTTTTGGGCTAAAATGTGTAATTT TTGCGGGAAGAATTCGAAAAATTATTAAAAATCGTAGAGACTAACTGAAA ATCAATTTTTTAGGGACCAAAAAGCCAACTTTTGCCGATTTTACTCAAAT TTTTCCGTGAAAAATCCGGAATTTTTAAATATTATTTAATTGCGAAATTT TACAATTTTTACACCTAAAATAAGGGTAATATGGTAGCTGGTCTCGACAC GACAATTTTTTTGTTAAATTCTAAAAAAGGTGTGCGCCTTTAAAGAGTAC TGTAATTTCAAACTTTATGGAATTTTTTTTTGATTTTTCAAATAAACTAC GAAAAATCGAAGAAAATTCCACAAAGTTTGAAATTACAGTACTATTTAAA GGCGCATACCTTCTAGAATTTTACAAAAAATTTGTCGTGTCGTGACCGGC GACCGTATTACCCTAATTTTTGGTGTAAAAATCGTAAACTGTCCGGATTT TTCACTACGAAATTCAAATTCGAGGAAAATCGAAAAAAATTGGTTGTTTT GGTTCCTAAAAAATATATTTTCAGTTATTTTCTACCATTTTTTAATAATT TCTCGAATTTTTCCCTCAAAAATTACAAATTTCAACCAAAAATTCTGATT TTTCCTTTCCAGAATCTTCGAATGGACGCCCGATAAGCCACGTAACTACC GTCCAAAGTCGGACTGTACGGTTATTGTCAAAAATCTGTTCACTCAGGAA ATGATGAACAAGAATGCGGCGTTGATGTTGGATTTGAAAGAGGAAATGAC ACAAAGTTGTCAGAAATATGGAATTGTTAAGAAAGTCGTCGTTTATGCGG TTGGTATTGAGGAAATTTGTGGAAATTTCGATTTTTGTAAAAAAAATTTA TTCTAAAAAAATAAATTAAAAAAAAAAGATTTAAAAAATTTAAAGCTAAT TTTCGAAAAATTGAAGCTAATTTTGGAAAAAAAACCGAAAATTTTTTTTT TTAGAAATGTCGATATTCATAAAAAAATATTCTAAAAACGGGATCAAAAA TTTTTGAAGCTATTTGTCGGAAAAATTTTTAAAAATGTAAAGCTAATTTT CGAAAAAAAACCCAAAATTATTGGATTTAACAAATTTTCAAAAAAATTGT TCTAAAAAAGATAACCTTTAACATTAAAAAAATTATGGCTATTTTTCGAA AAATTAAAAAAAAACAATTTTTAGCTAATTTTCGAAAAAAAACCGAAAAT TTGTGGAAATTTCGATTTTCAAAAAAAATTTATTCTAAAAAAAAATAAAT TTTTAACATTAAAAAATGGCTATTTTTCGAAAAAACCGAAAATTTTTGGA AATTTCGATTTTCGAAAAAAAAGTATTTTAAAAAAACAATGAGAAATGGT TATAAATTGTTCTTTCAAAAATTTTTTACAGCTTTTTTTTTCGAGAAATT TAAAAAAAAAACAATTTTTAGCTAATTTTAAAAAAAGTAAAGCTAATTTT CAAAAAGAACCCCAAAATTGATGCATTTATCGATTTTTAAAATAAATTGT TCAAAAAAAGATAAATTTAAAAAAAAAGTTATTGGATTTTTTAAAGTTAT TGGATTTTTCAATTTTCAAAAAAAAATCATCAAAATGTATAAATAAATAA AAACTATGGATTTCGAAAAATTAAAAAAAACAATTTTTAGCTAATTTACG GAATTAAAACAACAAAAAATTTCGGAAAATCGAAAATTGTTGGTTTTTTT TTTCGATTAAAAAAATTCAAAATCTTCTGAAAGACATTTTTAAAATTTCC AAAAAAAAATTATGAGTATTTTTCAAAAAACAAATCGAATTTTGATTAAC TTCCGATTTTTTTGACATTTTTTGAAATTTGAAAATCATTAATTCAAAAA TTTTTATTGAAATAATTCAAAAATTTTTATTGAAAAAAAACGAAAATTTT TGATTTTCGCTTGAATATTTCGGAAAAAACAATCGATTAAAAAAAAAATA GGCTTCTAGTTATTTTTCAAGAATGCTTTTTTTTTGACAAACTGCTGATT TTTTGTCAGTTTCGTCGATTTTCGTTGTAAAAAATCAAAAATTCAAAATT TCTTCTATTACGAGTGCACAAAATGCTGAGAATGCGTATTGCACAACATA TTTGACGCGCAAAATATCTCGTAGTGAAAACTACAGTAATTCTTTAAGTG TCTACTGTAGCGTTTTCGGAAAAATTCCACTTTTTTTATTTAAAAAAAAA AACGAAATATTTTGATTTTTTTTTATTAAAAAAAACGAAAAATTTTGATT TTTTATTAAAAAAAACGAAATATTTTGATTTTTTATTTAAAAATGAAAAA TTTTGATTTTCCAAAAAAAAAGGCTCCTAATTAAAAAAAAAAAATTTTTT TGAAAAAGTGCAGATTTTTGTCTTAAAATTTAAATCAAAAATTTTTAAAT AGACTTTTTCCATCAAATTTCCCCAATTTTCAGAACCACCCGGACGGCGT CGTATCGGTAACCTTTCCAACGACAGAAGAATCGGATATGGCTGTAAAAT ATCTTCACGGACGAGTAGTTGACGGTCGGAAATTGACAGCCGAGCTCTGG GATGGCCGGACAAAGTTTAAGGTCGAGGAGACGGAAGAGGATGAGGAGAA GCGTCGGAAAGAGTACGAGAAGTATATTGAGGGTGGAAGTAGTGAGACGA AGGAGGAGAGCGACGACGATGATGACGATGAAGCTGAAGATAATTGATTG ATCTAAATTTTTTCTGAAAAATTATTTTTAGTTTATACATTTTTCCGAGA GGAGCAACCGATCAATTTTTACCAAAACTATGTTCAAAATCGCCCAAAAA TATCAAATTTAGTGAATTTTCGTTTTCATGGATTTTTCGAAAATTAGCTT TAAAAATGTTTGCCAAATTTTTCGACGATATCGCGATATTTTAAAAATTT CGAACAAAAATTGCCTAATTTCAATTAAAATCCCTTTTTTCGAAATTTTC TAATTTTCTGGGCCAATTGGGTCGTTTAAAAAGAAAAATGGCCAAAATTT GAGAGTTTTAAAAAAATTCTAAAATTTCAATCCTACGATTTTCCGGGAAA AAAATTTTCTTGGAAAATTGCTTTTTTTTTGAAAAATTATTTTTAGTTTA TACATTTTTTTTCCGAAAATAGGAACAACCTATCAATTGAAATTTTCAAA AAAAAATTAATTAAATTTGGAAGCATTTTCCGAAAAATTGCATGTTTTCG GTTTTCTAGAAAAAAAAAACTAAAAGAACGAAAAATTTCACCAAAAATCA AATATGAAAATACTTTCCTAAAAATCTGAAAAAACCAGAAATTTTCAATT TTCCCTATTCAAAAAAATTCAAAAAAAAAACCAAATTTCAGTTAAAATCC CTTTTTTCGAAAATTTTAAAATTTTCTGCGCCATTGTGTCGTTGATTTGA AATTTTTTTCTAAAAATCCGTGAATTTTTGAAATTAAACAAAAAATTTGA AAAATCAAAAATTATCGATTTTTCAACGAAAAAAATTCAAAAATTTCAAT CTTACGATTTTCCTAACTAAAAAAAAATTTGAAGTAACGAAAATGTTCAA TTTTTTCGAAAATTTTCGAGGTCATTTAGAGTTTTTTCTGTGAAAATTGC ATTTTATATACTCATTTAAATTAATTTTTATATATTCCTTTCCCGAAAAC TTCAAAAAAAAAACCCAGTGATACAATTAAAATCGAGATAATCACAGACA AAGTAGGCAGTAGGCAGGCAAAAAACAGGCACATATTAAGGTAATACAAA ATTCTGATAATGCGTACATCGCAACACATTTGACGCGCAAAATATCTCGT AGCGAAAACTACAGTAATTCGTTAAATGGATACTGTAGCGCGCTAGTGTC GATTTACGGGAATCTTAAAGAACCTAAAGAATTGTAGGAAAAATGGAGAT CCCGTAAATCGACACTAGCACGCTACAGTATCCATTTAAAGAATTACTGT AGTTTTCGCTACGAGATATTTTGCGCGTCAAATATGTTGTTCAATACGCA ATTTTAAAATTTCGTGGTCTCATAATAATACACAATTAACTAGTAAATCT ACAAAATCTACAAAATTCTCTTCATCAACTCTTCCACAGCTCGATCGACC TGTGCATGAGTCTCCTCGTACGCCCACAGAGAGCACAACGCCACGTTGCT ATTGTCGAGACGTTCCTTATTCGAAATCTGTGACGACATGCGATCCTTGG CCTGATCTTCAGTCAGGTTATCCCTCGCAACGACTCGACGGACGGCTTCA TCTGCTGGCACGAAGACGGTCCACGTTTCGGCGAGCGTTTTGTGCCATCC GGCTTCGATTAGTGCGGCCGCTTCGATGACTGAATGAATTTTTTTTTCAA CTTTTGCAGAAAAAATTATGATTTTGCAAAATTAACGGGGAAAATTGGCT GTTTAAAAAATATTTATTATTTTCGCGTTTTTTTAAAATAAAAATCGATG AAAATTCTGCAAAGTTTGAAGCTTCAGTACCCTTCAAAGGTGCACACGTT TTAGAATTTAGCAAAAAATTGGCGTGTTCACGATTTTTTGGTTAAATTCA AGAAAGTGTGCGCCTTTAAGGAGTACTGTAATTTCAAACTTGCTGAATTT TCATCGATTTTTCACTTTTTTTCCACGATTAGTAAAATTTGTGTTATTGT AGATTTTTTAAATTTAATACCAAATTTTCCAAAAAATCGAAAAAAAAAAG AAAAAATGTAATTTCGTTATTTTCAAAAAAATAAATTGAAAAATTGAAAA AAAATCCAAATATTCGATTATATTTTTTCAGAAAATAAAAATGAAAATTG GAAAAAAACATATTTTTGGGTTTTTCGATTTTCCAAAAAATTTAAACATT TAAAAAATCTAAATTTTCGATTTTTTTCAAAAAAAAAAAATTAAAAATCG CACAAAAACCAAAAAAAAACATTTTTGGCCGATTTTCCAAAAAAAAAAAG AAAAATAAACAAAAAACAAATATTTCAAAAAAAAAAACAATTTTTTCCGA TTTTCCAGAAAAACAACTGAAAATCGGAACAATAATTTGTTTTTTCTATT TTTCAAAAAATATTGAAAAATAAAAGAAAAAACGGAAATTTTCGATTTTT TTCCGATTTTCCAAAAAAAAAAAATTCAAAATCTCACAAAAACCAAAAAA AAAATGAAAAATCAAAGAAAAACGAAAATTTCGTTATTTTCAAAAAAATA TCGAAAAAACTTTTTTTTCTTCCGATTTTTCTGAAAAACACTGAAAATTG TGGAACAATAATTTTTTTCTATTTTTTTGGTCTCCACGATTTTTCGCGAA AAATTTCAAAAATTAAAATTTTTTTTTAAATCCAAATTTTCACTTCCCCC CCCCCCCCCCCCTCACCAACAACTTTCGCCGTCGACTTCTTCACAATCTC CATAGCTTTCTCTTTCACCTCCGGCCAAACAAGCTCACTCAGCTCGCGGA GCTTCACCTTATCCGAAAACACAATCGTTCCAAGCTTCCGGCGGTCTACA ACTCCATCGACAACGACATCCCCTCCAAAATGTTCGCCGATTTTTCGATT CAACGAGCTTCCCCGTTCATAGCACGTGTGTGCGAGCTTATCACAATCGA TAACATCGAAATTATGCGTTTCACGGAGATATTTCCCGATATGACTTTTT CCCGACGCAATTCCTCCGGCGAGCCCAATGATGTACGGGGCGCCCGTTTC TCTTGGAACCGCCCGAGCTGGACGGAGCAAGTGACCCAGATCCTCTCGTC GTCTGGAGCTTGAGCTGATCTTTGTCTCTTTCAGGATCTCATCGGATCCT TCCACCAGCTCGACAATTATCACATCCAGCTGCGACATTCCTTGCTCATT TCTCTTTTTGTTCACCGCATCGGCACCTTTAATGGTCTCCCGGGACACTA CTATCGCTTCGAGGTCTTTTATTCGTGTTGAAGGACCGAATGGGTCGATT ATTGGCTCCGCGAGACATTTTGCCTGGAAAATTATGGGGGTTCTATTGAG CAAAAATGACCATTTTTGGAAAATTAGAAAATCGGAAAAAAAAATTTCCC GAAATTTTTTATTTAGAAAAGTTTTTAAAAAACAGAAATTATATATTTTT TGAGTTTTCCAAAACAAAAAATCGAAAAAAAATATTTCGATTTTTCGGAT TTTCCAAAAGAAAAAATTTAAAATATCGAAGTTTTTAGATTTGCAATAGA AAAATTGAAAAAAAAAACGGAAATTGTATTACGGGAACAGAAAATTCTGA GAATGCGTATTGTACAGCATATTTGACGCGCAAAATATCTCGTAGCGAAA ACTACAGTAATTCTTTAAATGACTACTGTATCGATCAAGCCCGTAAAGCG CTACAGTAGTAATTTAAAGAATAACTGTAGTTTTCGCTACGAGATATTTT GCGCGTCAAATATGTTGTGCAATACGCATTCTCAGAATTTTGTGTTGCCT TAATGCAATTTCCGTTTTTTTTTCAATTTTTTCTTTTGAAAATCTGAAAA TTTCGATTTTTTCCAATATTTTCTTTTGGAAAATCCGAAAAATCGAAACA AAAATTTTTTTCTATTTTTTAAATTTTTTTTTTTGGAAAATCGGAAAAAA ACCAAAATTTTAGTTTTTTAAAATATTTTATGGACCAAAAATATCGATTT TTCCTAAAGTTTTATAGAAAACTGAAAAATTTAAATATTTATTGTTTTTA ATTTTTAAATTTTTATGGAAAAATTTCGATTTTTTTTTTTGAAAAAAAAG CTTTTTTTAAATTTTTCTTTATTTTTGGAAAATCGAACATTTGCTATTTT TTTCGATTTATTAATTTTTTTGTTGGAATTTCTAAAAATCGATGTTTTTT TTTCAAAAATCAGCGGTTTTTCCGAAAAATGGCAAAAATTTTTTTAAAAA ACATTTATTTCTTTTCCTATTTTTCGAAAAATAAATAATTTTTTCTGGCA ATTTTTAATGAATTTTTGATCGGTAAACTCTTACAGTCCCGGAAATATCC TCTACAAAATCGACAACTTTCTTAATCCGAAACTCCACAGGCTCAATCAT CTCGAATAATGATTTTTCTGGAAAAAAACCAATTTGTTAAAAGTTTTATT TCCAAGCTATAATCTAACTAATAATCATATCCTTATCGGTGACCCCCACG ACAATAACATCAGAAGCGAGCTCGGCAGCCTTGTTGAGCAACACTTTGTG CCCATTGTGAAGCCGATCGAATGTGCCGCCCAACACGACTTTTTTGTACT TTTTCGCCGCCGCCAATTTTTCCGCGTTCTCCAGCAGCTTTTCCTCGCCG ATTAGCACATAATTCTCGGGATTTCCGCGGATTTCCGACACAACTAGACG GACGTCGAGCTTCGGGCATGAGCTCGCCGATGTTAGGTAGATTTTCGAGA CTAGCTCGTCGGTTCGCGGCTCGTCCGGGTTTAATCTGCAAGGAATCCTT GTTAACCTTGATTTTCGAGCCGGGAAAAAGCCCAAAGCACTTTACCTCAC ATAAAGCTTCGAGCTTAACGCGGCGGCCGCAGACGTGAGCAATTGCTTCA GTTTTTGCACATTTTTGCTATTTAACACGAGAAGTCCGTATTTCGAGCTC ATTGAGAATGATGAGAAATATCAGGGAATATTCCTCAAATTTTAAATAGA AAAATTCGCTGCCACGTTCGCTGCTCTTATCGGCTGCGCGTCTCTATTTC ACACACTGTCTCATCTCTCGTCTCGCGTCTCTCGTCTCTAACGCGTGACG GTGGAGCGCACTTCCCTCCTTTTTGCTGTAAAATCTTTCAGACATGCCGG AAACAAGAAAAACAAGAAATTATTGAACTGAAAATAATGTAAACGTACTC ATCGTATTTTTAGCTTCAAAATAAGATATCTTAGAGCATATAATATTGCT TCTAAACGAAAACCAAAACATCGCTGAAAATGTTGTGAATTTTATGAAAA TCTAGGATCATTTTTCCCATTTTTATGAAAAACAACAATAAAATGAGAAA AATTACATGGGAAAACCGAAGAAACTTAAATTTCGCGGTCAAAATTCGAA TAGAATTACTGTATTTTTCGCTCAGAGATATTTTGCGCGTCAAATATGCT GCGCGTGCGCATTTTCAGCGTTTTTTATTTAATAAAACAGTAATAAAATG ATTAAATGCATTTTGTGTGATTTTCAGCCCAAAATGTTTGAAATAAATTG TTGTTGTTCAAGCCAGCATTTTTAAAAACTTAAATATATGGGAAAACCAT AAAAATAACACAAAAGTTTGGCAAAATTTTGGAACTACAGTACTCTTTAA AGGCGCAAGCCCTTTAAGACAAATTTGTCGTGTCGAGACCGGACAAATAT TCTAAATTTCTTTTATACATACGCAGATTTAAAGTACAGAAGAGCGCATT TGCACATTGCGCAATTTCTAAATTTTTTCTAACAATAAAAATTAAAACCA AAATACTTTATTCAATACCACAAATACCACAAGTTCATTTATCTTATTCA ACCTCTTCCGCCGACGTCGTCTTGTTGTTGCTCTTCCCCTTCTTCTTAGA CTTCTGAAATTTTCTCATATATGCAAACGCGCTCCGATCTAACAAAAAAC CTTCTTCTTCTTTTTCTTCTTGTCTACATCTTCCTTCTTTGGCTGCTCTC CAGATTCTCCCCCGGCTCCCGGATCGCTCTTCCCAAAGTCCATCTCCGGC TTCAGCCCAACCTCAGGCGGCGCGATCATCAGTACCTGCTGGTATCCAGG ACCCTTGTAATCCGTCATACAATCCCAATCTGGTGGCTCCTGGGTATTTG ACTTAGACTTCTCAAACAGCTTCTGGATCCCATCAGCGATACGATCGTAC TCCACAAACTCAGCGACATCCTTGGGCTCACGGATGATGGTCAGAAGATC AAAGAACCCAGCAGTGGTCTCCGGAGTGGTTCTCCAAACCGACGCGACCA TCGGTGCAGTGATGCGACGTTTCAAGTGGAGCACGTCCTGTTCGCTTTCC TTGTTGAGCAGTGCCCATGGGAGAGCTCCGAGGAAGAACTCGAGCACCAT GTACCACCAGGACTCCATGTCGTCCTTGTAGCCGAGATTTTTCTGGGAAG AAAAAAGTTGTTTTAAAGAAATTGTGAACGGTAAGGTTACCCCCTGGTGA GCATGAACGCTCGCGTACTTGACGACTCCTCTGTAGTGAATCGCATTCTT TCTCATCTGCTCCTCAGCTTCGTCGTTCTTCTTGACGAATCTTAATTTTA AAAAAAGTTTTCGGGGTAGATTTACGACGCGTTGCGTGTCGCGTCGCGGT TCGATTTTAGTTGTAAAACTAAATGTATTTGTCCGTGTGGAGTACGCGAC TTTCCCACTCAAAATAGGATGGAATTGAATTCGGAGGTGTCACTGTTGCA AATTCGGATTGTCTGAATAAATATAAAGTGAGATTTTGAATTTTGCTCCA TTGATAATGGTGTTTTTTTTTGAAATTCTGCAAACATTAATTTCTAGAAA ATTTGAGTTTCCTCCAAAATTTTTCACAGAAAATTTGAATTCCCGCCAAA ATTTTTTCTCTGAAAATTTGAATTCCCGCCAAAATTTTTTCTCTGAAAAT TTGAATTCCCGCCAAAATTTTTTTCAGAAAATTTTGAACCCCGCTTAAAT TTTTCTGAACTAGGCTATTTTGTCTCGGCCATATCTGGGGTTGTGGTTTA CGGCGCGTTGCGTGTCGCGTCGCGGTTCGATTTTAGTTGTAAAACTAAAT GTATTTGTCCGTGTGGAGTACGCGACTTTCCCACGCGTTGTTCGTCAGGC AATTGTCAATGGAGCGCAAAAACTGCCGACCGCTCCAAATAACTACTTTT TGCACTTCATTGCATACACACAGCAGCTCGCGGCGTCGGCATGAGGCCCG CATTTCGCGCCTCACTGGAAGCCCCAGATGCCAAAAAATCTACCTCGGTC TCTTGCACAACCCGAAATCCAACAGGTAAACCTGATGGTGCTGTCCGTCA ATCTCTCTTCCAATACAGAAATGCGATGGCTTGATGTCGCGATGAATGAA TCCATTCCGGTGGAGGTCACGAATCGCGGCCAGCGTCTGCTCGGCCAAGT GAAGACCCGTCGCCATGCTGAACTTGCGATCCTTGTTCGTGTTCATCATC AGCTCGTATAGGTTCTCGCCATACTGAAATATGGAATTTGGCTGAAGTTA GGCAACGAAAAATGGTACCAATGGCATCACAATGAAGAGGAAGCGATTTG GAACCGTGCCACGTTCCTCGATATTCGTGAAGAATGGAGATGGGTGGTGG ATCGACGCGAGGACAACTGACATTTGACGAAGAAGCTGGAATTTTTTTTG CTCTCTAGAAACGGTTTTCACGGCGGCCGACAATTTCCGAGTTTGGAAAC TCACTGCACTTAGTCATGTAATTTTATAATGAGTGGCTAAACTCGGAAAT TGTCGGCCGCCGTTAAACCACAAGACAGTTGGTTCCTTCGCCGCGACCGA CACTTTCCGGGTTCCGCGCCGCACTATACAGAAGGCTGGCTGCGCGAGGC AGGCTAGACCGCGGCAGGTGTTTTGGCGCCTACATGGACTTGCTAGCTTG TCAACAAGGCAGCCTAAGCGTGCCTGCAAAAGGTAGGCAGGCACGCTTCT AAAACCGTGCCAACACACCATAAATAACTCACCGAGCTCTTCATGTTCAA CGCCTCGCATTTGACCGCAAAAAACTTCCCATCACTCTCGCGTTTTACCT TGTAAATCGAGCCGAACGTGCCCGTCGCCAGCGGTTTCGTGACTTCATAG GTGCCGTTTTGTGCTCGAATGAGCTCCTTTTGCGGTTGTCCAGGTCCGAC TGACGTCATTGATTTAACACCGAAATGTCACGATTATTCGGAAGTGAATC GATAATCGAAAATCGGAGACTCGAAACTTTTCGAAATAGATTTTATTATC TTTGTAGGGTTTTTGGAGTTTATGATGATAATGAGGAGGGGGGATTTTAT GTGGATTAAGAGGCTACGAGGAAAATATTTATTTTTTAAATATTTTATTG TCATTCTTTTCTTTTCTAGATTTTCACGTTTCTTATTATTAAAAAAAAGT TTTTCAGAATTTATTTCAAAATCCCGAACATAATCTGAAATTCAGAAATA CTACAAAAGAAAAACGAAAAAAAAACTGAGAAAAATGGTCCAGATTCTCC AGTATTGTTAGGCGTACCCCCCCCCCCCCCCTACCTACCTACCTTCCTTC CTCGCCTACATGCATACCTGCCTACCTACACGCCTGAGTGCCTGCCTACC TTCCTGCCTACGTTTATGTCTACATTTTTTGCCAGCCTTTTGCCAGTATA CTTTACGTGTGTTCTTAATTACGTGCCTATCTACTTACCTTTCTTCCTCG CCTACATGTATACCTGCCTACCTACACGCCTGCGTGCCCGCCTCCTGCCT ACCGACTCACCTACCTGTTTGCATACATGCCTGCCTACCTTCTTGACCAT GCCGAGGCGCCTATCTTACTACTTGCCTACCTACACGCCTGTCTATTGCC TACCTGTTTGGTTACATGTGCCTGTGCCGTACCTGTGCCTCAAAAACATC TTTATTTTGTAATAAATAATTTTAATAAAACTTTATAAAACAAAAAAAAT ACAAAATTGAAAATAACCTAACAAAAAGTCTTTTCAAACCCCTTCGAACT GCTCAACTGATAAAAATTCGTGTTATACTTCAACAATTTGAACTGCAAAT CCGATTTGACACAGCTAAACTTGTATTTTGTCGCTTTATTCCTGCACAAA TGTGCTCCTGGGCAATTGAGACTATTCGAATCGGTGTAGTAGGTGGTGAA GCTCTTTGAGCATCTTATTGTAGAGTGATCTTCTCGAAGACGGCCCAGAA TTGCGGTGATTGAGGGATTTGTGATGGTTCTGGGGATTTGATGTAATAAA TTTAAATTGTGTGGTTTAGATGCAGAAAAAAAAACTAAGAATTCAGACTA AGACTTGAAAAAGAGCCAAGAAAAGGGCGGAGCCTATTATCGATTTTTCC ACTTGCCGTTTATGAAGTTTATCTACACTTATATAGTCTATTATCAATAC TAAGTTAAACAGTATATGGTATAATAAATACTATGACTGCAAGAAAAATC AATAATAGGCTCCGCCTCTATATTTGTTTTTTCTCGTTTTAAATCCAAAC TTATTCTACGCCGAACCTATATTCTTTTATATTTTTTGAAATTATATATC CTTCTATTTATAAGATTTTTCCAGCCAAATTTTTTTTTCTCAGAAAAATT GAGTTTCCCGCCAAAATGGGTTTCTCAAAAAATTTGAATTTCCCGCCAAA ATTTTTTTTCTCAGAAATTTAAAATTTTCCGCAAAATTTTTCTCAGAAAA TTTGTATTCCCCGCCAAAAATGTTTTCTCATAAAACATGAATTTCCGTCA AAACTTTCTCATAAAATTTGAATTTCCCGCCAAAATTTTACGAGAAAATT TGAATTTCCAGCCAATCTTTTAATGAGAAAGTTTGAATTCCCACCAAAAT GTTTTTTTTTCTCAGAAAATTTGAATATTCCGCAAAAATGTTCTGAGGAA AATTGAATCTCTAGCCAATTTTTTCTCATAAAATTTGAATTTCCGGTCAG CTTTTTTCTGAAAAAGTTTGAATTTCGCGCAAATTTTTTTTCTCAGAAAT TTTAAACCTCTGGCTTTATTTTTCTCAAAAAAATTAAAATGTCCTGCCAT TTTTTTAAAAAAAAAATTCACAGAAAATTTGAATTTTTAATTTTAAAATT CACAGAAACTGACTTCCTTATCGACATGCCAATTGTCACACGATCCGCTG ATTTCAGAGCTTCACCGCCCGTAAAATTGCCACGTATCATTGAATCCACG TCAGCAGAGTCGGGAATTTCAAAAATTTTACTATCATCCATTTGTTTGCT GGAAGCGTTAATTATCGATTTTTATTTTTTTATTCGTTATATTAATTTTA TTCATATTTTTTGAAAAATAAAATCAATTTCACTCTCGGATTTCTGGCTT CCCTCATAAAATGAAATGAAAGAGTTTGCCGAACTAGGCCATTTTGGCTC GGACATATCTGGGGCAGATTTACGGCGCGTTGCGTCGCGGCTCGTTAAAA ATAGATTTATTTGTCCGTGTGGAGTACACGACCTTCTCACGCGTTGTCCG GCAGGCAATTGTCAATGGAGCGCGAAAAATTCAATGAGGAAGGCCAGAAT CCCGTGTTCACTGATTTTTTGAATTTACAATTTTTAAAGTATCGAATAAA AATTTTAATTGAAAAAATCGATTTTCAAAAAGTTTTAAAATTTTTTTAAA ATTTGAATTTAAAAATCGATTTTAAAAATTATTGATTTTCGAGCAAACCT TTTCAATTTGTACGGATGTTCCACGGGCTCATTGAGCCAAACACTATCGA TTAAAGATGGGCGTGTCACCACTTTTGCCACGCCCCTTTCATTCCGATAT TCCAATAACCCGACGAATATCTCTGATTCGTAATAGTTGGCGAACTCGGA AAAATAGGAATCGAACGATTTCGGCACGAGAAGATCAGACCACTCGAGAA ATGTGATGAAGCTCCCCGAGCTCTGAAAGTTTGGATAAATAGAGTTGTGA GCCTAGTGCAAGTTGAAAAAATCGATAAATTATCGATTTTCTGATTGTAC GAATTTAGGCGGGAATTCAAATTTTCTGAGAAAAATTTAGGCGAGAATTC AAATTTTCTGAGAAAAATTTAGGCGAGAATTCAAATTTTCAGAGAAAAAA TTTTGGCGGGAATTCAAATATTCTGAAAAAAAATTTGCCGGGAATTCAAA ATTTCTGAAAATAAATTTAGGCGAGAATTCAAATTTTCAGAGAAAAATTT TGGCGGGAATTCAAATTTTCTGAAAAAAATTTAGGCGAGAATTCAAATTT TCTGAGAAAAATTTAGGCGAGAATTCAAATTTTCAGAGAAAAAATTTTGG CGGGAATTCAAATTTTCTAAGAAAAATTTTGGCGGGAATTCACATTTTCT GAGTAAAACTTTGGCGGGAATTCAAATTTTCTGAGAAAAATTTAGGCGAG AATTCAAATTTTCAGAGAAAAAATTTTGGCGGGAATTCAAATATTCTGAA AAAAAATTTGCCGGGAATTCAAAATTTCTGAAAATAAATTTAGGCGAGAA TTCAAATTTTCAGAGAAAAATTTTGGCGGGAATTCAAATTTTCTAAGAAA AATTTTGGCGGGAATTCAAATTTTCTGAGTAAAACTCTCTGGCGGGAATT CAAATTTTCTGAGAAAAATTTAGGCGAGAATTCAAATTTTCAGAGAAAAA TTTTGGCGGGAATTCAAATTTTCAGAGAAAAAATTTTGGCGGGAATTCAA ATTTTCTGAAAAAAAATTTCGGCGGGAATTCAAATTTTCAGAAAAAAAAT TTTGGCGGGAATCCAAATTTTCTGAAAAAAAATTGGCCGGGAATTCAAAA TTTTTGAAAAACATTTTCGGCGAGACTTCAGGGGTTCTCATAAGAATTCA AATTTTCTGCAAAAAATTTTGGCGGGAATTCAAAATTTCTGAAAAAAAAT TTGCCGGGAATTCAAAATTTCTGAAAATAAATTTTGGCGGGAATTCAAAT TTTCTGCAAAAAATTTTGGCGGGAATTCAAATTTTCTGCAAAAAATTTTG GCGGGAATTCAAATTTTCTGAGAAAAATTTTGGCGGGAATTCAAATTTTC TGAGAAAAATTTTGGCGGGAATTCAAATTTTCTGAGAAAAATTTAGGCGA GAATTCAAATTTTCAGAGAAAAAATTTTGGCGGGAATTCAAATATTCTGA AAAAAAATTTAGGCGAGAATTCAAATTTTCTGAGAAAAATTTAGGCGAGA ATTCAAATTTTCAGAGAAAAATTTTTGGCGGGAATTCAAATATTCTGAAA AAAAATTTTGGCGAGAATTCAAATTTTCAGAGAAAAATTCTGGCGGGAAT TCAAATTTTCTAAGAAAAATTTTGGCGGGAATTCAAATTTTCTGAGTAAA ACTTTGGCGGGAATTCAAATTTTCTGAGAAAAATTTAGGCGAGAATTCAA ATTTTCAGAGAAAAAATTTTGGCGGGAATTCAAATATTCTGAAAAAAAAT TTGCCGGGAATTCAAAATTTCTGAAAATAAATTTAGGCGAGAATTCAAAT TTTCAGAGAAAAATTTTGGCGGGAATTCAAATTTTCTAAGAAAAATTTTG GCGGGAATTCACATTTTCTGAGAAAAATTTTGGCGGGAATTCAAATTTTC TGAGAAAAATTTAGGCGAGAATTCAAATTTTCTGAGAAAAATTTTGGCGG GAATTCAAAATTTCTGAAAATAAATTTTGGCGGGAATTCAAATTTTCTGC AAAAAATTTTGGCGGGAATTCAAAATTTCTGAAAAAAAATTTGCCGGGAA TTCAAAATTTCTGAAAATAAATTTTGGCGGGAATTCAAATTTTCTGCAAA AAATTTTGGCGGGAATTCAAATTTTCTGCAAAAAATTTTGGCGGGAATTC AAATTTTCTGAGAAAAATTTTGGCGGGAATTCAAATTTTCTGAGAAAAAT TTTGGCGGGAATTCTAATTTTCTGAGAACATTTTTGGCGGAAATTCAAAT TTTCTGAGAACATTTTTGGCGGGAATTCAAATTTTCTGAGAAAAATTGTG GCGGGAATTCAAATTTTCTGAGAAAAATTTAGGCGAGAATTCAAATTTTC AGAGAAAAAATTTTGGCGGGAATTCAAATTTTCTAGAAATCAATTTTTTC AGAATTTCAGAAAACACCACCCCGGCTATCAATGGAGCGCATTTTCAAAG TCTCACTTTATATTTATTCAGGCAATCCGAATTTGCAACAGTGACACCTC CGAATTCAATTCCATCCAATTTTGATTTCCCATAAAAATCTGGAAACGAG TCAACTGATATTCCTTTGAGACGCTTCAACTCTTCTAGAAATTCGAAAAA CGGGCGACTTGTAGTTGCCACGTATGTTTGGAGATGGCCGCCGAAACTGG AAAAAAAATTTAAAATAAACTGACAAGTCTATATATTTTTTCTTTAAATT TTTTTAATCGAAAAGCACCCCTATTATATAAATTCTTTTTTAACCTACCA TTTTTAATAATTGATGGCCGAGTTTTCTTTTTTAGGCCATGTTCAAAAAG CCGGTCGGTACCGGTTTTTGGTGACCGAATTTTCAAATTTTCTAGGCCAC GTAGAAAAACCAGGTCTTCTTTTCACACATTGATTGTTTAATTTTCTCAA AGAACCCCCTCTCCTATAAAATCACGGTTAATAATGGGCGATAAGTCGAT GGCCGAGTTTTTTTTATATATTTCTAGGCCATGTAGCAAAAACTGACCCT TTTTAACCCCAGAATGTTCTCAAAAATCGTATTTTTTAATTGTGGAAAAG CCCAGAAAATTATGTATGCTGCAAAATCACAAGTCGGCGGCCGAGTTTTC TCTCTTCCTAGGCCACGCTGCAAAAACTAACCTTCCGTTTACATATTGAC TTTTTCAAATAATTTCAAATAAAAATTATTCACTTATAAAATCATTTACT TCATGATTGAAAGCTTTTGCAATTGGTTAAAACCGGAAATAAGTCGATGG CCGAGTTTTCTCTTTTCTAGGCCACGTACCAAAAGTGTCCCTTTTTTACC CCAGAATGTTGTCAAAAATCGTACTTTTTATTTGTGGAAAAGCTCGGAAA ATTATGTTGTAAAAAATGAGTCAAGTCGGTGGCCGAGTTTTCTCGTTTTC TAGGCCACGCTGCTTAAACTGACCTTCCATTTACATTTTGGCTTTTAAAT TCAAATAAAAATTATTCCCTCATAAAATCGTTTACTGTCATTGTGAGAGC GGTTAAAAACAGGAAAAAAAATGGTGGCCGAGTTTTTTTTTCTAGGCCAC ATAGCAAAAAACTCACCTAGTATACACATGAGCAGCTAACAACACATTCT GCCATCTAACATTATTATAAATAGGCGGAGTACATACAACCAAATCCTTC GGCTTATTATCCGCCGGCAAATATCGAATTTTCGCGGTATGCCCATTCAC AAGAAGCTCCAGCTCCGTGAGCTCTTCCTCAAGCACTATAGTACCCACAA GTGTCACGTATTTGCATAAATTATGCGGAGTTGCTCTGTGAATTTGAAGT GGTTCGAGTACGGTTTTTGTGTCGTCACTTCGGATTGCGATAATCTTACG ACGTTCCCAATGTGCATCCCGAGGCGCGATAAAGGTTAGTGTTACTTGGT TTTTGTAGAGACTGAAAAATTTCAAAAAACTTAAAAACTAACGTAGTTTA AAACATTATTCTTCTTTTTTTATTCTGAGATATTTTGATTTTGAAAAAAA AAAATTTTTTTTACGAAAAAAAAATTGGCAAAATACCTCAAAAACTGTGA GTTTGTTGAAATTTAGTTTTTACAACCACGGGAATTAATTTTTTAAATTA AAAATATTTTACGTGTAGTCCTCTCGAATAATTTTGAAAAATATATGAAG TGTTGAATTCTGCCGAGTTTTTTTGTCCGAGTGGACTACAAAAGTGCAAA GAATTTGGAATTTTTCAAACTTTATATTTAACAGCAATCATCAACAACTT AAAAAAATTTAGATTAAAAAATTTTTTTTGGAAGTTTTCGAAAAAAATTT TGGAAAAATTTTTAATTTTCAGAAAAAAAAACCAGTTTGATTTTTTTCTT AAATTCTTTTTTGAAAATTTGTTGAAACTTTTTTTTAAATGCTAGACTTT TTTTTTGAATTTTCACGCGGTTCTGGTTTCCCTCATATTTTGAGATAGAA GAGTTTGCCGAACTAGGCCATTTTGGCTCGGCCATATCTGGGGTAGATTT ACGGCGCGTTGCTTGTCGCGTCGCGGCTCGATTTTAGTTGTAAAACTAAA TGTATTTGTCCGTGTGGAGTACACGACTTTCCCACGCGTTAGGCGATTAT CAATGGAGCGCGAAAAATGCAATGAGGAAGGCCAGAACCCCGTGAAAAAT ACATTTTAAAAAATACTTGAAAAATGTTTAAATTTTCTTTTTAATTTTAA ATTTGAAATTTTGTAACTTTACAAAAAAATAATTTTTCGAAATTTTTTTC AAATATTTTTTTTCGAATTCTTTTTGTTGAAATTTCAATTCTCTGTTCTA AAAATCAATATTCCTTACCTGTATCCCACTCCATAATAGTACGCAGAAAC AAAAAATAGGTCTTTCTCGTCGTTATCCAATTCTTTAATCTTATTAGTGT ATGAATTTCGAACACGTCTTAATGCAGGCAAGGGATGTATTGAAATATGT ACAAATGCTAATAATATTACAAATAGATATAGGGTCCTGCAACGAATTAT CAACTGCTCGTAGAGTACGGAATAGGGTTTGAATTGAAAATTGTTCAGTT TCGTGTCGGAATTCATTTTTATTATGGGGAGGAAAACAATCTAGTGTGGT GGTAGTGGTAATGACAATCGCTATTTGAAATCATGTTGAATAGCTGCGAT AAGTATCGGGCGCCAGCGTGGCCTAGGATTTGGGAAAACTCTTCCACCAG AAGCTAGTCGTGGCCCAGGCTTTGAAATTTGATTATTTGATCAAGAAATT TACAACTAAATTTAAAATCAACAGTTAAGACATTTTTCATAGACTTTTCG AAAAATTTCTGATTTTTCCATATCAAATAACCTCGGTACGCATCTAACCG TCAGTTGCCTCGTGGCCTAGAACTTTTGAAAACTCTTCCACGAGAAGATC ACCGTAGCCTAGAAAGTTTTGAAACTTGTGTAGTTCGCTTGGAATTTTTT TTTGGTTTTTTTGTCAACTAACTAGGTTCAATAGCTATTAAAAAGTTGCA AAATTGGGCAATTTTTGTAAAAATTCACAATTTTGAAACTTCTCTAAAAT TATTAATTTTGTAGTAAGAGGACTCAAAATTGATCTTCAAACACTAAAAA ATAGCCCCTTTTTAGAATATAGTGGTTTCGAATATTTTTTGAAAAATTAT TTTTTTTTACCCAAAAAAAAGGACAGTCATGGCTGAAAAAAAATTTGGAA AAAATAAAAAAATTGTCTAAATTTGTTGAAAACGGGTAATTCATGCATTC TGAATTCAGAAAATCTAGGTTTAACCCATCAAAAACCATTAAAAGCGGCA AAAATGGGTATTTCATTGTAAAAATAATGCATATACAATAAACAATGTAG AGGAATGTTCAAAATCTGTAGTTTTTTTGAAATTTTTTTTTTATTTTTTG GTTATTTTTTTTGCAAATTTTCTCGTATATTTAATTAGTTAGTTTGCATG TTACATGCTAATGAAAAGGTTTTTTTTGCATCCTGATACATATAAAAACC GAGAAATTCACAATTTCACAATCAGTAAGGTATTTAATTTTTGTTAACTT TAGTCTTCTGCTCCTCTAAAGCTTCTGGAAGAGGACACTTTCTAAATTTT CAAAATATTTTTTGCGCCACTTTCCTGTCAAATTTCTGGCATTATTACAT CCAAAACCCAATAAAAATCGGAATTCCATAGCTACGACAACGTCAGCAAA AGCGGAAAGAAATTTTGTTTGCCTGTCTAACGAGTCACAAAGCATACACT GACGTTTCTATCAGAAAAGACAGGATTTCGTATCAAAACAAAAATTGGGT GCGATTGCTCGATGCACCATGTGATATTTTGCTTTTTTTAAAAATTATTT TGCTCGTAATGTATGGTGCACTTATTCCGTGGCTGCAGAATTTGCACGCG GTGTCATAATGCCCATTTCGACTTGATCTACGTAGATCTACAAAAAAATG CGGGAGTTGAGACGCAGAGGTAGGGCTCAACTGATTTCGTTTGGTTAAGA GCGTGCTGACGTCACATTTTTATGGGCAAAAAATTCCCGCATTTTTTATA GATCAAACCGTAATGGGACAGCCTGACACCATGTGAATGCAAACTTTACG CGAAAATTTTTAGATTTTTAATAATCTTAGAATTAGCTATGGTTTTATAG AATAATATCAAAATTATCCAAAAAAAAAAACACATTTTTTCAAAATTTTA GATTTCCAGTTTCTATTTGAACTTTAAAAGACTAATCCAAATTTTGTTTT GTTTCAACGATTTTTCATTGATCTCTCCAAAGAATTCATTGAAACACATC ATTCACAAAACTAAAAACTCCCCGACTTGGCTTTCATTCCGAGATGACAA ACTTTTTGGTGGCAAAGGTTCTTTGGGGGCATAGTATCCAAGGAGACAAA GTATCCAGTAGACAAACTGGGGTGTATCTTGGGGGGCATATCTTTGGTGA CAACCTTTTTTTCGACTAGATTTTTATATGTATTTTTCAACTAATTTTTG TTCACATTTTTCTGGAATAAGTTTTTTAATGCAATTTTCAATCGATTATC GGTTATAATTCCCTCACAATTGAATGTATGAACGATGGTCTTTTGGGAAA AGCTGTAAAACGTCCAACTAACTTGGAATATCGTGAGGCTCTTCCTGATG GTCTGATCCTTCAGCTCCGAAGGATCACATGGGTACCTTCTGATGTTCTG ATCCTTCAGATAAGAAGGATCGTAAGGGTACCTCCTGATGGTCTGATCCT TCAGATCCAAAGGATCACGAGGCTCTTCCTGATGTTCTGATCCTTCAGCT CCGAAGGATCACATGGGCACCTTCTGATGATCTGATCCTTCAGATAAGAA GGATCGTAAGGGTACCACTTGATGGTCTGATCCTTCAGCTCCAAAGGATC ACGAGGCTCTTCCTGATGTTCTGATCCTTCAGCTTCGACAGATCATATGG ATTTTTGACAAAATTTGAAAAAAAAAATTTTGAAAAAAAACTCGAAATTT TTTTTTGTTATTCTTCATTCTTTAAAGAATAGTTCAAATTTATCATGATA GGACCGAAAACTTTCAAGAAACAGTATAACTATACATGATAATCAGCTTC TACCAAATAATGATAAATTCTCCGCGATGACAAACTTTTCGGTGACAAAG TATCTTGGTGGACAAACAAAAATTACCGAAAACTGATGTAAGGAATAGTG AAATAGAGTCCTATGGACTATTAAACATGTTCAGTAGGTGTATTCAGGAC TGTCCGTCAAAATAAAAAAAAGTTTGTCAGACGAAGTTCGAACCTGGGAC CTGTAGGATGCAAAGTGCGCTCACTACCACTACACCAGCTATGCGAAAGT CGGCGAGCCTCATCGAAGGCTATTATAAAACTTAGTTCGCACGAGTATGA TCGACATTCAACAAACAGTAATATCTCTCAACAAGAATTTCTTCATGGAA TTGAGGTCATTTGACTATTTTTATCGGTTTTTCAAGTTGAGCATAGGGTC TTTTAATTTTTTGAGCATAGAAAATCATGAAAGCTGCCTGTTCCTTGTAT CCTGGATCGAAATAGACGTATCTGGCCTAAAATATTTCCTGAACAGTGAT CATTTCATGTCCATTGTGTGTTTCTCTGTATTTTGAACCAGAAAGTTGAA CAAAAATGATAATATTATATCGAAAAATGGAACAAATACAAATAATTTTT AGGCCTAATCAAATTTCCTCCGGATATTGTTTTTTTTGTCATGATTATAT GTGTCTAAATTTTTTATAATGTGTTTTATAACAAAATTCGTCATTATTTC CTTCATTTCAAGCAAAATTTAACAGTTCGAGCTTAAAAATAGATGTTGCA AAAAATTTAATTCGTTTCGATGAATACGGTATACGGTCGGTGTTTGCGTA CTTTGGCGTTTGCGTATGAAGCATCCTATTTGACGCACGAAACTTTCAAT GAAATTTAATGCAAATTCTGCATCGAAAAGGACATTACGATGGAAATAAT GACGAATTTAATTATAAAACACATTATAAAAAATTTAAAAACATATAATC ATGACAAAAAAAACAATGTCCGGAAAAAATTTGATTAGGCCTAAAATTTA TTTTTTATTTTTTTCCATTTATCGATTCAATATCAACATTTTTGTTCGAC TTTCTAGCTCAAAATTCATAGAAACTCACGATGGACATGAAATGATCACT TTTCAGGAAATATTTTAGGCCAGATACGTCTATTTCGATCCAGGATACAA GGAACAGGCAGCTTTCATGATTTTCTATGATCAAAAAATTAAAAGACCCT ATGCTCAACTTGAAAAACCGATAAAAATAGTCAAATGACCTCAATTCCAT GAAGAAATTCTTGTTGAGAGATATTACTGTTTGTTGAATGTCGATCATAC TCGTGCGAACTAAGTTTTATAATAGCCTTCGATGAGGCTCGCCGACTTTC GCATAGCTGGTGTAGTGGTAGTGAGCACACTTTGCATCCTACAGGTCCCA GGTTCGAACTTCGTCTGACAAACTTTTTTTTATTTTGACGGACAGTCCTG AATACACCTACTGAACATGTTTAATAGTCCATAGGACTCTATTTCACTAT TCCTTACATCAGTTTTCGGTAATTTTTGTTTGTCCACCAAGATACTTTGT CACCGAAAAGTTTGTCATCGCGGAGAATTTATCATTATTTGGTAGAAGCT GATTATCATGTATAGTTATACTGTTTCTTGAAAGTTTTCGGTCCTATCAT GATAAATTTGAACTATTCTTTAAAGAATGAAGAATAACAAAAAAAAATTT CGAGTTTTTTTTCAAAATTTTTTTTTTCAAATTTTGTCAAAAATCCATAT GATCCGTCGAAGCTGAAGGATCAGAACATCAGGAGGTACCCATGTGATCA TTCGGCTCTGAAAGATCAGATCATCAGGCAGAGCCTCATGTTCTTTTGGA GCTGAAGGATCAGAACATCAGGAAGAGCCTCATGATCCTTTGGATCTGAA GGATCAGACCATCAGGAGGTACCCTTACGATCCTTCTTATCTGAAAGATC AGATCATCAGAAGGTACCATGTGATCCTTCGGATCGGAAGGATCAGATCA TCAGGCAGAGCCTCATGTTCTTTTGGAGCTGAAGGATCAGAACATCAGGA AGAGCCTCGTGATCCTTTGGAGCTAAAGGATCAGACCATCAGGAGGTACC CTTACGATCCTTCTTATCTGAAGGATCAGAACATCAGAAGGTACCCATGT GATCCTTCGGAGCTGAAGGATCAGACCATCAGGAAGAGCCTCACGATATT CCAAGTTAGTTGGACGTTTTACAGCTTTTCCCAAAAGACCATCGTTCATA CATTCAATTGTGAGGGAATTATAACCGAAAATCGATTGAAAATTGCATTA AAAAACTTATTCCAGAAAAATGTGAACAAAAATTAGTTGAAAAATACATA TAAAAATCTAGTTGAAAAAAAGGTTGTCACCAAAGATATGCCCCCCAAGA TACACCCCAGTTTGTCTACTGGATACTTTGTCTCCTTGGATACTATGCCC CCAAAGAACCTTTGCCACCAAAAAGTTTGTCATCTCGGAAAGAAGGCCCC CCGACTTTGCGCGTAAGATATGGTGAGACCCTAATACATCATATTTGACG CGCAAAATATCTCGTAGCGAAAACTACAGTAATTTTTTAACCGTCTACTG TAGCGCTTTTGTAGATTTACGGGATCTCGATTTTTTTAATGATTAAAATT AAACAAAAAATGAGAAAAGAACACGAAGAAACGAAGAAAAATGAAATATC GATGTCACTTTTCGGAAAAAAAATTAATTTCAAAAATTGAGCCCGTAAAT TTACACATGCGCTACGGTAGGCATTTAAAGAATTACTGTAGTTTTCGCTA CGAGAAATTTTGCGCGTCAAATATATCGCACAATACGCATTCTCAGAATT TTGTGTTCCCGGAATAATTTATTTATTGGTTTTTTTGGTTGTATTGGTCC CAAAAATCAACAAAAAAAAATTTTTATGAAAAATTTCTGTTTTCTTCCGT TTAAAATCAAAAGTTGGTTTTTTTTGTTGCTTTTTTTGATAAATTTTTGC AACCACCCTGATTTATATTCCCATAAATATTTAATGTCCCGCTTATGATA TCTACTGCTTCTTTGCAAAATTCCTACCTGCGGACCAAATACACCATACT TGACGCGCACTTTTTTTTTGATTTTCAGCTGGACAAACACATTTTCAGCA TGATTCTGACTTATTTATTTAACTCTTATCACTCTTATCGTTAAAAAACG CCCTTATAATCATCAACCTATTTTCATTGTCATTCAAAAAAAAAAACTAT TTCGTACTCGTCGATCGTACTAATTTGTCATCGTTCCGTTCCGTCGAGCA AAAATCAATGTAGTTTTACGTTTTCCGTTGAAAAAAAATCCAAAAAAAAA TCCAAAAAAAATCCAAAAAAAAATTCCTTGTTAATTAAAACCGTGAATAA AAAATTCAAATAAAAAGTTCAAACGTTTCGTTATAAAAATGTACACCGGT AAGCTCAAAAATATACATTTCAGATTCTAACAATGTGCGACGATACGCTC GCATTTTGTAGTCCAGCTCCATTCAGTGATGATGTAGAGGTTATTAAACA ACGTGAGGCGATCGATTATTCCACACAAATCACTCTGGAAGATGCGATTT CTGGGAACGGTAAGTGCGCTCCGTTGTACTCATAGTTCGCTGAATGAAGG CATGTATAAGTTCTCAAATTTTCAAATGAAAATTGCCAAAAAAGGTTTTT AGTTAAAATTTAAAAAATTATCGATTTTTAAATTTATGAAAATTTTTTCG AAAAATTTGTGTTTTTTGTTTTTGTTTTATTGATTTATTGATTTTTTGGC GAAAATGTGAAAAATCGAAAAATTATGGATTTTTTCTTGGAATTAAAAAA AAAAAACTTTATCGGCTAAGCGAAACTTGCTTTTTCGGTTTATTGATTTA TTGATTTACTTGAAAAAGTACTTGAAAAAATCAATACTTTTATCACGGGG ATCTGGTCTTCCACATTAAACTTTTCGCGCTCCATTGAGAATCGCCCGCC GGACAACGCATGGGAAAGCCGTGTACTCCACACGGACAAATACAATTAGT TTTACAACTAAAATCGAGCCGCGACGCGACACGCAACGCGCCGTAAATCT ACCCCAGATATGGTCTGGTCTAGTTCGGCAAAAACTCTTCCATTTCAATT TATGAGGGAAGCCAGAAATCTTTGTTTTTATTTTATTTTGAAATCTCTAA ATTATCGATTTTTTGGAAAAAAAGTTGTTTGAAAATTCGATAATTTTTTA ATGATTTTTTGGAAAAATTAAAATTTTCGCTTTTCAAAAAAATCAAAAAT TATTGATTTTTGAAAAAAAAAACACGGCATGCAATTCCTAGACCACCAAT CAAAAACCTCTTCCAGTGACTCGTCCGGTCCGTGTCTACGCTGACGGTGT CTACGATATGTTCCACTACGGCCACGCGAATCAATTCCTGCAGATCAAAC AAACTCTTCCGAATGTCTACCTTATTGTTGGCGGTGAGTTCGGCCCGCGA AATTCAAAATTTTTAATTTAAAAAAAAAACGATTTTTTCCAGTATGTTCC GACGAAGAGACTATGAAGAATAAGGGGAGAACTGTGCAGGGCGAAGAAGA GCGGTACGAGGCGATTCGGCATTGCCGGTACGTCGACGAGGTGTATAAGG CGTCGCCGTGGACATGTCCGATACCGTTTTTGAAGGAGTTGAAGGTAAAT TGCGCGTGAGATTCGGTGTTTGCACAGTTTTATCTCCAAAAACGAAGGAA ATTTTATACCTAAATTTCGGAAAAAAATCAATAAATTATTGCCTTTTTTA AACGTCACAAAATCGATAATAATTTGAAAATCACAATTTTTTTTTTATTT TCAAAATTTCGTTGTTCTATCACGGGAACGCAAATTTCTGAGAATGCGTA CTACACAACACATTTGACGCGCAAAATATCTCGTAGCGAAAACTACAGTA ATTTGTTAAATGACTACTGTAGCGCGCTAGTGTCGATTTACGGGCTCTAT TTTAAGCTCAATTTTAATTTCTATCGATAAATATATGATACAAAATATTG ATCCCGTAAACCGACACTAGCGCGCTACAGTAGTCATTTAATGAGTCACT GTAGTTTTCGCTACAAGATATTTTGCGCGTCAGATATGTTGCGCAATACG CATTCTCAGAATTTTGTGTACCCCGTAATAAAAATTCGAGTTTTTCTAAA CAAAAAGTTTAATTTAAAAAACCTCTAATATTCGAGATATTCGATTGGCG ATTTATTGATCTATTGATTTTTCGATAAATATTGATTTTTCAATTTTTAC AATATTCGAAACAATTATCGAAATTTCAAAAAACTAACAAAAAATATTTG CGGAGGAAAATCGATAACTTTTCAATGTATATTTTCTGAAATTCCATAAA ATTGATTTTTCTAAATTTAATTTGTTCGATTTTCGGGTTCTCGGTTTTCC TAATTTCTGTAATTTTGAGTCGATAATTTTTTGTTTTTTTTTTTCAATTG AAACTTTTATTGATCAAGGATTTCTGGCTTCCCTCATAAATTGAAATAAG AAGAGTTTGCCGAACTAGGCCATTCTGGCTCGGCCATATCTGGGGTAGAA TTACGGCGCGTTTCGTGTCGCGTCGCGCCTCGATTTTAGTTGTAAAACTA AATGTATTTGTCCGTGTGGAGTACACGACTTTCCCACGCGTTGTCCGGCA GGTGATTGTCAATGGAGCGCGAAAAATGCAATGAGGAAAGCCAGAACCCC GTGATTGATTATTGAGTTTTGGAAAACTATTTTAAAAAACCTGATTTGAA AGAAAATATCGGTAATTTTTCGGATTTTTAACAAGAAAAAGGTTTTTATT TCCGGAAACTTTCATTTAATAATTATTTATTTATTGATTTCTCGGAAAAA TTTGCCGAAATCTATCGAACTATAGTCGAACAATTGGACGAAAAGTCGAA AAAAAAATTCTAGGCCACGAATTTCCTCTTCCAGGTTGACTTTATGTCAC ACGACGCTCTGCCATACCAAGGTCCCGCCGGAGAAGACATCTACGAGAAG CACCGCACTGCTGGCATGTTCCTGGAGACGCAGAGAACCGAAGGAATATC GACGAGCGATTCGATTTGTCGAATTATCCGCGACTACGACACGTATGTCA GAAGAAATTTGCAGAGAGGATATTCGGCCACCGATTTGAACGTTGGCTTT TTTACAGTGAGCCTGGCCTAGAAAGGGGTGGCCTAGAAAGAGGTGGCCTA GAAAAACAAAACTCTTCCATTTTTTTCAGACCAGCAAATATCGTCTGCAA GACACCGTAGTGGGAATAAAAGAAATGGGCCGTGGCCTGCTGCAAACGTG GAAAACGAATGCGGATTACTTGATTGAAGGATTCTTGACGACATTTGCCA TCAGTGATCCGAAACCGTTGCCGAACAACAAAAGTGCCGATGAAAATGTG GAAAATAGGGAGAATATTGAGAATTTTTAGAAAAAATTCGTGTAAATTAT GGGAATAAAAATTTGAATACTCGTGAATGTTTACTGAATTTATGCAATTT ATTTTTTGAAATTTTCAATTTTTTTGGAAAATTTTTTTTTCTTAGGCTTA GGCTTAGTCTTTGGCTTTGTTTTAGGATTAGGCTCAGGCTTAGGCTTAGG CTTAGACAAAAACTTAAGCTTAGGCTTAGGCTTTTGATTAGGCTTAGGAT TAGTCTGTCTTTCACTTAGGTTTGGCGTCATTGGCGAGCGTTAGCTCGCT ATTTAGGCTTGGGTTAATTAGGCTTAGGCTTAGGCCTAGCTTTAAACTTA GGCTTAGGCTTAGGCTTAGAATCAGGCGGGCTAGGGAAAAAAAGAGAAAT TCCAAAAATTCCAGAAAAAAGGAAAAAAGGTACATCCCGAAGTCGGGTCA AAAAATAAAGTGAAGAAATGAAATTTTCACGAAAATGAATGAATATTTTT GAGTCTCGCGGATTTATTTTCATAATCATATTCTGAACGTATTATTGACT CGTCGTGTGGGACATTTCAATGGATTTTCCGTAAAAATCTCTGTAGAATT CCGCATCGGTCAACGATTCTTCACAAGAGCCAAACTCGGCGAGTCGGTCA AACAAATGTTTGAGCTCCTGAAGAGTAGTTCAAAATTATATATGAATTGA TTTATCTTGCAAACCTTTCTCCGTTTGTCGGTAAAAAGTCCTTCGGGGCA GATTTCCGTATCAATCAGACGATTTGCAATGTATACAATCCACATGAGAT TTGTTCGCCTTGAGAATTTCTCCCAGTTGCCCCTGGAACGTTAATTTTTC TGAATTTCTAGAAAGGATATAGAAATAGCAACAAAAAAAAAAATTTATCC AAATAATGAGCTATTTAATGTAGTTTATATTACTACAAATACTTTTCTCA TAAGAACGTCTTGTTCTTGATAAATGTGTGCTTTAAGAAAAAAAAAAGTC AAAAATAGAGTCCTGAGATGTCGGGCGTTGTACCTATTAGGGGTGTCAAT AAGTTCCGGGTCAAAATTCATAACTTTTTTCGTAGCAAATCGATTTTCTT GAAAATGTGGGAATTTATGTTATCAAACATGGTCTTTCATTTGACGGCAC TTTCAAAAAGTTTTGACCACTCCATGTACCCTAGCTCGGATCCACTTTTT TCAGGCGTATGCCCGATCTCGCTTCTTTGTAACTTTCAATTGAGACTTAT GTGCGGATTTTGATTTATTAAGTATACAATGTAAGAATACAATAAAAATT TGAGAAAAAATTCGTTCAAAAAAACAATTTTTTTGATCGGCAAAAAACCC TCGAAAAAAATTTTGTCGAAAACTCTTGATTTTTTGTACAGGAATGATGC AACCAATTCTGAACAATTTTTTAACACATAAAAGTTTTGAATTTAAGGCG TCACACACAAGCGGCAATGGAAAAAATGATTTTTTAGTGAATTTTTTGAA ATTTTTGAGAAATTCTCGAAATCTAAATATTAAATTCAAATGTTTTGTGT GTTGAAAAATTGTTCAGAATTGGTTGCATCACTCCTGTACAAAAAATCCA GAATTTCCGACAAAAATTTTTCCGAGGATTTTTTTGACGAACCAAAAAAA TTTGTTTTTTTGAAGGAATTTTTTCTCAAATTTTTATTGTATTCTTACAT TGTATACTTAATAATTCAAAATCCGCACATAAGTATCAATTTAAAGTTTC AAAGAAGCAAGATCGGGCATACGCCTGAAAAAAGTAGATCCGAGCTAGGG TACATGGAGTGGTCAAAACTTTTTGAAAGTGCCGTCAAATGAAAGACCAT GTTTGATAACATAAATTCCCACACTTTTAGAAAAATCGATCAGCCACGAA AAAAGTTATGAATTTTGACCGGTAACTTATTGTGCTACATGCTTGTTGCG AAATATACCTATTTACCTATACCTATACCTATACCTGCAATTTTCTCTCA TCTCTCGATATACTTCAAATTGTGGAGCATCTGGTCCTTCAAAAATCGTC GTATCCTCTTCCAAATCCCAGTAGATAGTTGTCGAATCTAAAATTATATA TTTTTAATTATAAATTGTATATTTTTTTAATTTAAAAAATAACAAACCTT TCGAAATGCGGCTAAGTGTGAAATCAATAATATTGACCTTAATTCCATGG GTCCTCAGTGGAATTTTCTGCCCATGCACAGTGTAGGAGAGCTCTTCCAC TCCGTTCCGATCGATCAGCACATTACTAAGATTTAAGTCCCTGTGCTCGA ATTCAAGAGCTGCTTCAGCTGCAACCATTGAGAGAACGAGCTGGTGAATG ATGGAAAATAGTTCATCTTCACTTTCAAGGACAAAATCTGCCAGCGAGAT TCCACCATTTGCCGAGACGAAAAGGATAAAGTTTTGATGTTCTGAAGAAT AAACATCTGGCCTCAAATGTTCGGATTCATTGAGCTTATCGTAGGCATCC CAAGCTCTCAGTAATCCCTTAGGATATTCCCCCATGACTATTTGGGCTGA AATCATTTCGATAAAATTCGGCGTAGAATTCCAAGAATTTGGGTCTCTCA ACGCCGACAGTTCCTTCATCACAATCACCTCTGACAAAACGGCGTGGGTT GTTGGAATTTCCACGGATTGATTTCCATAGAAACATCCGTTGTTTTCGAA TGGCAAAACTTTGATAGCAACCGGTCTACCATTCCAGACAGTTGAGAAGA CTTCACCGTACGCTCCTTCGCCGAGCTTCTTCACTTTTCGAGCATCTAGC GCCGACGTTGGTAGGCTACCCCATGGTTTTGCTTCTTTTTGGCCAACAAC ACGGAGAAGTTGTGCCATGGACGGATCTTTATTGTGAAATGTGATACTGC CAATGGGGATATTTCTAGAATCAGGATGAGCTGACCGAGCACTTGGAGCT CTTTTGTTCAGTTCAGCAAGCATGCACAGTTCGAAAGCATGCACAGTGCG AAAATGACTTTTCTGAAATTGTCATCAAAAGTTCATTTTGAAAATTCGTT TCGGCAAAAAATGCAAATGCATTTCTGAAACTCACCAGTTGTCTCTGAAA TCGTCGTTCGTTGGTCATGTCGAGTGCAAGAACGGTGGTGGTGACCACTG CCGTCTTCGTGAACCGCATCCAAGACATGTTTCGGGAGATAACTATAGAA ATGAAGTTTTGAAAAAAAAACTCAAGACCACAATTATTGAAACACGTTAT TAGGCCAATAACTTCACACGTGAATTAATACATTATTCATGTATTTTTCT TTGACTGTTATCACGGGTTTCTGGCTCACGGTAGTTCAGCCACGGTAGCA CAGAAAATAGATGACCACGTTCATGATAATCAGTCTGAAACCTATATTGG CTGCTATCTCGAAAACTCTCTAAAAACGCGTTTTGAGAAATTATTGATTT TTTGGAGAAAATCAGAAATTATTGATTTTTTGGAGAAAATGGGAAATTTT TCATTTTTATTGGGGAAAATCAGAAATTATTGATTTTTGGAGAAAATCAA AAATTATTGGTAATTTGAAGCAGGGGTGGGCAGCAATTGCCGTTCGGCAA ATACGCAAATTACCGGTGTGCCGATTTTCCGGGAATTTTCATTTTCGGCA GTTTGCCGGTTTGCCGATTTGCCCGACATTTTTCAATTTCGGCAATTTGC CGGTTTGGCGATTTGCCCGAAATTTTTCAATTTCGGCAATTTGCCGGTTT GCCGATTTGCCCGACATTTTTCATTTTCGGCAATTTGCCGGTTTGCCGAT TTGCCCGAAATTTTTCAATTTCGGCAATTTGCCGGTGTGCCGATTTGCCA AAAATTTTCATTTTCGGCAATTTGCCGGTTTGCCGATTTGCCGGAAATTT TCATTTTCGGCAATTCGCCGGTTTGCCGATTTGCCCGAAATTTTTCAATT TCGGCAATTTGCCGGTTTGCCGATTTGCCGGAATATTTCATTTTCGGCAA TTTGCCGGTTTGCCGATTTGCCCGAAGTTTTTCAATTTCGGCAATTTGCC GGTTTGCCGATTTGTCGAAATTTTTCATTTTCGGCAGTTTGCCGGTTTGC CGATTTGCCCGAAATTTTTCAATTTCGGCAGTTTGCCGGTTTGCCGATTA GCCCGAAATTTTTAAATTTCGGCAATTTGCCGGTTTGCTGATTTGCCAGA AATTTTTCAATTTCAGCAATTTGTCGATTTGCCATTTGCCGGAAGTGTTC AGAAGGATTTTTTTATAATAAGGAACCACTTAAAACTGTGCCGTTTTGAA ACTTTTCCCCGTTTTTTTAAGATGATTTCATAGAATTTGCTTACTTGGTT TGCCGAATTGCCAGAAGTTTTTCAATTCCTACAAGTTGCCAATTTGCCGG AAACTTTTTAATTATGGCAATTTGCCGGTTTGCCGATTTGCCAGAAATTT TTCAAATTCGGCAATTTGCCGGTTTTCCGATTTGCCGGAAATTTTTCAAT TTCGGCAATTTGTCGATTTGCCGGAAAATTTTTATTTATGGCAATTTGCC GATTTGCCGGAAAAAAAATCGTTTCCCGCCCACCCATCAGTTGATGAGTT CATCTTTTTTTTGTGTCTCTCCCATCAATCTTAAACTCGACCCGGACTGG CAAACGCATATCTACAGTTTTCTCTTCTTAAAATGGTGGTCTTAAGTTTC GAAGACTATGCGTAATTTCTAGCGAAGTGGCGAATTTATGATGATTTTGC AATTTATCAATGAAAAAAACAAAAAAAGCATTTCCGCGTGGCAAATTATC ACTGTTGTGCCGCGAATAGTACTGATATAATTTTTTTTTAAATTGAATCA GTTTGGAATTTCGAATTTTTGAAACAACCGCCGGCAAAATGAATAATATA CTGTGAGTTTTCAAAGATTGTTCCCCGGTTTTCTTGTAGATTTTTGTGCA ATTTCAAAATTTCGACTTTCAGCGGAAACAAAAATACAAAAAGGTCGAAG AAGAAGGACGGAAAGTTTACGAGCAACACTGCTACTGATCTTGTTGAGGC CCCAAAACCAGGTGGAGCAAAAGGATCCAAAAAACCAAAACCATCGAAAG GAAATGACGACAGGGGACGCGGCGAACCGGAAATGACTGCACAATCCAAA AAAACCAAGAAAGCAAAAAAAGTGAGACAGAAGAGAGATACAAAGGCACC GGTGAGTTCAATTTTATAGTTTTATAGATATAATTGTATCAGGGGTGGGC GGCAATTGCCGTTCGGCAAATTGATTTGCCGCCAAATTCGGCAAATCGGC AAATTGCCGGTTTGTCGATTTGCCGGAAATTTTCAATTCCGGCAATTTGC CGGTTTGCCGATTTGCCGGAAATTTTCATTTTCGGCAAATCAGTTTTGCC GGAAATTATAAGACGGAAACACTGTCTTTTTGAATTGTTCCCGTTTTTTC TACATATTTTCATAGAAATTCATAGAGACAATTTGCCGAAATTTTTCGGC AAATTGCCGTTTTTCCGGCAATTTACCGATTTGCCGGAAATTTCCATTCC GACAATTTGCCGATATGCCAATTTGCCGGAAAAAATCGTTTGCCGCCCAC CCCTGAATTGTATCCCTTTTTAGTCTCCTGCAATGTCACCTCGATCACGT GAAATGCTGTCAGACAACAAAAAGACGACCGTTGAGGATGATCCAGCAGT TCCAATAACAACAAGTGTCGCTGGAGCAGTCACTTCTACGATTCCTGCTC TCATGTCCACTGAAAACGCGTTTCAGCCACCCAAAGACCTTATCTCGGGA AGAAAGCCAAAAGGTGCTCCGAACTTGTCTGGCAGCGTTCCACTTTCACA CAAGAGCTCACTGACTGGAGGTGCAGATAAGTGGGTTGGAGAAGCCGTGG CAAAGAATTGGATGGATTCGATCGGTTAGCATCCTTTTTTTTTTGATTGG AGGCCCCGGCGGCGTAAAAATCGTGCCAGAGTTGCAAGAGTGGGCGTTTT TTTTTGTTTTTCTGTTGTTGGTGGGGCCTTATTATTATTTGGTCGATGGT GATTTTACTTTACTGGTGGAAATCCGCTAATAAAACTAAAAACATCGGGA TATAAATAAAAACCCAACTTTAAAAAGCGAACCAATCAGCAGTTTGCTCC GCCCACTATTCAACCAATCCAATGATTGGTTCGAAATTGGGTACTCATTT TAGAGGGAATTCAAACGGAAGATTAGCAAGTTCGGTTATTGTTTCATTAG AATATCATTGCTTATATATATATTTAAAAAATAGTGTACGTCATCAATGG GCGGAGCCTCTCCCATCGTGGTGAGACCCATCGTGGTGAGACACATCGTG GTGAGACCCATCGTGGTGAGACCCTTCGTGGTGAGACCCTTCGTGGTGAG ACCCATAGTGGTGAGACCCATCGAGGTGAGACCCTTCGTGGTGAGACCCA TCGTGGTGAGACCCATCGAGGTGAGACCCTTCGTGGTGAGACCCATCGTG GTGAGACCCCCATTAATTTTGGCGTGAAATTCAAATTTTCTAAGAACAAT TTTTTGGCTTTTTTTTTAAAGAAAAATCTGGAAAATTCTAGCATTTTTTT AGAATAATCTGGAAATTTCTTGAACTTTCTAGCTAAATCTGGAAACTTCT AGAATTTCCTAAAATAATCTGGAGACTTCTAAAAAAGATCAGGAAATTTC TAGAACTTTTTTAGAATCTTCTGAAAACATCTTTCTAGAGTATACTAAAA ACTTCTAGAATTTTCATAAAATTCCGCGAAGCTCGAGGAAGAGATTTGTT CAAACAATTTAATGTGGAGCCAGTCGGAGCACGCGCTTTGCGCGTGCGAA CGGCTGGTTTTAGATATTTTGTAGTATTTTTCAAATCTTAAATTTTCAGA CACAGCAGAGGTGAAAAAGGAATACGATAAACTGCAATCACAGAAAATCG ATGTGGAGAAGGACTGTAAAACCTGGAAATCCAACCCAAAATTTAACCAA TCGGAAGACTTTCCTGCCTTGGACTCCAATCTCGTGAAACTTGGCAAAGA CTATGTGAACATCAGTCTTGTAGATGTTCCATTGGGAAGAAATGTTCATC TCGGTCAAGCTCCGGTCACGAATACGGAAGAAACATTCTGGAAAGCTGTG TTCGACAAGCGAATCACTCACATTGATCTACTCGTCGGCGATGAAACCAT CGAATTCTTCCCTAAAAAGGCAGAAGATTATACAAATTATGGTCAGATGT GGATCAATAACCGCCGTGTCGAGTATGTCAATGACGATGTGTACCGATTT GCAATTGAAGTAGTGCCCCACGGATGCTCCAACTCGATCATCTGCAATGT GACTGTTATCAGCAATTGGAAAGTGGACACTGTGCCTTTGAAACAAGCAA TCGCCATCAAAGAGGCACTTGGTCTAAACTACTTCTTGCTGAAAGCACCC GCTGACGAGCATGCGATGATCGTCTCACCACGTGGAGCTGGACGAGCTGG CTACTTTTTGGCACTTGCGGTTGCAGTCAACACAATTGATACAAAGCTTG CCGAACCATGTATTGCGGATATTGTCAAATCGATTCGCTCCCAGAGACCA AGAGCCGTGGATTCATTTTGTCAGTACTGCTCCCTGTACATTTCGTTGCT CTACTTCATCAAGGTATTGGTTTTTGAATTCTTGTAAAATGAGAGAATAA TTCTCAAATTTACAGAAGAAAGTGACAAAACCAGCAGAAGGGGATAAAAA GCCAACACTGAGCAACAAATACATCTACAAGAAGTCGGTTGAGTTGACCA AGCAATTCACCGTTCTCCTTCTCGAAGCGAGTCAGCAAAGTGTGATGGGA CCTGGATAGTTCTTCTCCATTTTGAATATGGAAAAGCATTTGAAGTGATC TGGGTTTGAAAATGAAGAATTTTATAAACCCTGGATTATTTCCGAAATCT TGCTTCCTGCCTGCTGTCTCATTGCGGCTTGATCTGCAAAAAAAGCGGTA ATATCTCCCCCAGGAAAATGTGACGTCAGCACACTCTTAACCATGCGAAC TTAGTTGAAACGTCTGCGTCTCTTCTCCCGCATTTTTCGAAGATCACACC AAAATGGGATACTTTGACAACACGTGCCTGCCATCGCTTCCTGACCGGGG ATTTTGTTAGAAAATTCGTGGAAAATAGGAAGAAACATTTCGAGAAAATG GAATTATTGATTTTCTGATTTTCTCAAACAAAAAAAAATTAAAATCGATT GATTTCTGGCTTACCTTACCTAAATTGAAATGGAAGAGTTTGCCGAACTA GGCCATTTTGGCTCGGCTATATCTGGGGTATATTTACGGCGCGTTGCGTG TCGCGTCGCGGCTCGATTTTAGTTGTAAAACTAAATGTGATTTGTCCGTG TGGAGTACACGACTTTCACATGCGTTGTGCGGCGGGCGATTGTCAATGGA GCGCGAAAAATACAATGAGGAAGGCCAAAACCCCGTGTATTGATTTTTCG AAAATTTCGGAAAAATCTCTTTGTTTTATTCATTATATTTCTCCTAATTT CTTTGAAATGTTCAAAAAATCTGATTTTCTTTTTTTTCCCGAATTTTTGA AAAATCGATATTTGCTATCCATATTTCTCGAAAAGAAAATCGATTTATTA ATTTTTTTCCGGTTTCCTGGAAGCTAATCAATTCAGAAAAAAGAATTAAG CTATGAATATATACTTATAAAAGTCGTAAAAGGTATGGAAATATAAATTA TTTTAAAACAGCGATTTCTGACTGAAGCATCTCAACTACCAGGGCCTCAA GTTCTTCTTATCCGACAAATGAGACGAGTCGGAGCTATAATTGTGCCGAT ATTTTCCGGGCGCCGTCTCTTCGAACTCGGATACGGTAGCCTGCCCGACG TATTTGAAATCGCCCATTAGCACTTCGTGGCAAGCGCCGATTGATGCTCC GTGGCCGACGAGTAGGAGGTTTCCTGAAAGAAAATCGATAATTTGCGGCG TGTTTTTATTGATTTTTATGTGAAAATTGGCAAATTATTGATTTTTCGGC TGAAATCATAAATTACTGATTTTCTGTTAAAATCAGTAATTTATTGATTT CTTCGGCTAAAATCAGAAATTATCGATTTTTCTGTGAAAATCTGAAATTA TTGATTTTTCTGCGAAAATCAGAAATTTACGTAGTTTCGCAAAAATTACC TTCATATTTCTCGAAAATCGCCCGCAGGGTCTTTCCGACACGTGGCACAC ACGCGTCATCTCCACATCCTTCGCGGGGTAGTGTGTACTGAAAAAAAAGT TCGGTAATTTTTCTAGGTCTCGCAGCGATTGCCGCCACCGGTATATTTTC ATTTTTCCAACTATAGCGCCAGCACCGGCGCCGGCATCTTTTTATTTTTC CACGTAGCACGTCGGCGCCGGCAGCCGCGCAAACTATTTTCGCCGCCGCC GGCATCTTTTTATTTTCCACATAGCGTGCCAGCGGCGCCGCCGGCATATT TTTATTTTTCCACGTAGCACGTCGGCGCCGGCAGCCGCGCAAACTATTTT CGCCGCCGCCGGCATTTTTTACTTTTCCACGTAGCGCGCCAGCGGCGCCG CCGGCATGTTTTTATTTTTCCACGTAGCGCGCTAGCGCCGCCCCCGGCAT CTTTTCATTTTTCCACGTAGCGCGCCAGCGCCGGCAGCCGCGCAAACTAT TTTTCGCCGCCGCCGGCATCTTTTTATTTTCCACATAGCGTGCCAGCGGC GCCGCCGGCATATTTTTATTTTTCCACGTAGCGCGCTAGCGCCGCCGCCG GAATTCATTCATTTTTCCACATAGCGTGCCAGCGGCGCCGCCGGCATCTT TTTATTTTTCCACGTAGGGCTCTAGCGCCGGCGGCATTTTTCATCTTTTC ATGCAGTGCGCCAGCGCCGCCGCCGGCATCTTCTCATTTTCCACGTAGCG CGCTAGCGCCGGCGGCAGCGCAAACCATTTTTCGCCGCCGCCGGCGCCTT TTCATTTTTTAATTAGTGCGCCAGCGCCGCCGCCGGCATCTTTTGATTTT TCCACGCAGTGCGCCAGCGCCGGCAACGGCGCAATTCTAATCTCGGTCTT TTTTGAGCGATACCTTCGAGAAAACAGGAATATAGTCCAAATCAACAAGC GGAAATTTCTCAGCTAGTTTGTCGGTTTCCCAGAATCCAGGAGGCTTATC ACAAAGATAAAGTGCCTCACAAAGGCCACCGTCCGCCTTCACTTTCATTC CTTTATCCTCAATAATCGTCGAAGCTGTCTCAATTGTCCGATCGAACGGC GAGGCAAACGTATGCGAGATTTGTGCATTTTCGAACCGATTTTTGCACTC TTTCGCCTGTTGCCGACCGCGCACGCTGAGCATCGAATTGTCCGACGTGA GACCGTCGGCTCCGTCGAGTTTACGCCAATTTCGATTGATATTGTCCTCG CTGCAATGCAAAAAATCAATAATTTCTGATTTTCACCGTAAAATCAATAA TTTCTGATTTTTGTTGAAAAATCATTACTACCGATTTTAACTGAAAAATC AATAAATTCAGATTTTCATTTTTTTTTTCGAAAAGTCGATAATTTCCAGA TTTTCATCGAAAAATCAATAATTTGTGATTTTCACAAAAAATCAATAATT TCAGATTTTTACCGAAAAATTGATAATTTCAGATTTTCACCGAAAAATCA GAAATTATTGACTTTGGATAAAAATCAATAATTTACTGATTTTCATCGAA AAATCAATAATTTCAACCTTTCGCAGAAAAATCGATAATTTTTAATTTTC ACCGTAAAATCAATAATTTCTGATTTTCACCAAAAATTAATAATTTTAAT TTTTTTTTCGAAAAATCAATATTTTCTAATTTTTATCGGAAAATCAATAA TTTCCGATTTTCACCAAAAAATCAATAATTTCAGATTTTTATCGAAAAGT CAATAATTTACGAATTTGACAAGAAAAAATCAATAATTTGCTGATTTTAA CAGAAAATCAATAATTTTTGTTTTTCATTGTTTTTTTTTTCGAAAAATCA GTACTTTTTTAATTTCCCCAAAAAATCAATAATTTTTGATTTTATTTTTC GAAAAATCAATAATTTCAGATTTTAACCGAAAAAATCAATAAATTCAAAA AATTTCATTTTTTTTTTGAATTCTTAAAAGTACCGTTCCGCGTGTCGAAC AATCCAAATTTTCCGTGGATAAGTGATCGGCATCCTATCGAGATCGGTTT TAGCTGAAAAAAAACCTTAAAAAATTGGAAAATTGTGTACTCCTCTCGGA CACGTGGTGTCAGGCTCTCCCATTACGGCTTGATCTACAAAAAATGCGGG ATTTTTCGTTCTTAACCATACGAAATAAGTTGAGAACTCTGCGTCTCTTT TCCCGCATTTTTTGTAGATCAACGTAGATCAGACCAAAATGAGGCACACT GAATGAAGACACCAGGATTTTTCGAAAAACTCTAAAGAAATTCTGCAAAA AGTGACGTCATGAGGTATATAGGTATGAAATCGAATACTTGGTATCAAAT GACGGAAAAATAAACGAAAGTTGCAAAATTTTTTGATGGAATTTATTAGA CTTTGGCGGGAAAACAGATCAAATTTACATTAAAAAATACGGGAAAAATA CGGGGAAAAAAACCAAATTATTGCCTAAAAAATTCAGGATTAAATTGCGA GTTGTACTTTTTCTTCTTTCCACGCTTCTCCTCCGAATCCTCGGCGGCTT TTCGTTTCTGCAGCAGCTCAATTTCCTCGGGATGTAGCAAAGCATGGGCT CTCGCTTTCTCGACTCGTTCCCGTTTCAGACGCTCGTCTCGCATGCTCGC CAGCTTCTGCCGTCGTTCTCGATCGTATTCCTCTTCGAGTTGACGTTCTT CAGAGCTATCACGGTGGCGGTGCTTTTCTGGAAGAAAAATTGGGGGGTTT TTTTGTAGTTTGTAGTGGTGAGCACCCTATATTGGAGGCGCGAAAAAAGA GATTTTTCGAATTTTTTTGTAGATCAACGTATGGTTAAGAACGTACTGAC GTCATATAATTTTGGGCGAAAAATTCCCGCATTTTTGGTAGATCAAACCG TAGTTGGACAAAAAGCAGATTTTTCGAAAAAAAATTACGAATTTCTGGCT TTCCTCATAAATTGAAATGGAAGAGTTTTTGCCGAACTAGGCCATTTTGG CTCGGCCATATCTGGGGTAGATTTACGGCGCGTTGCGTGTCGCGTCGCGG CTCGATTTTAGTTGTAAAACTAAATGTGATTTGTCCGTGTGGAGTACACG ACTTTCCCACGCGTTGTCCGGCAGGCGATTGTCAATGGAGCGCGAAAAAT TCAATGAGGAAGGCCAGAACCCCGTGGTGGTTCGATGCACAAAACTGATT TTTTTTTTGAATTTTTGGGATTGCGCAAGAAATTTCGCCGAAAAAGTCGA TAACTCAAAAAATTCTAAAAAATTTGGATAATCTGGAGAAAAAACCCAAA ATTTGCTGAAAATTTCGAAAAATTTAGCTTTAAATTTTTGCGCATGGCCG CCGGAAAAGAAAAAAACTCGGCCACCAATTTTTTGGCGGCCATGATGCAA GACACCATATTTGACGCGCAAAAAAAGGTGTTTTTGGATGTTTTTTTCTT TTTCCGCCAGAATTTTTAATAAATTTCCAGGGACAAAAAATCATAACCTG TTGCAAAAATGTTTTTTTTTTCGAAAAATTCAATTTTGCGCGTCAAATGT GATGCTTTAAGCTCTGTGGCCGCCGAAAAAGAGAAAACTCGGCCACCAAT TTTTCACTCTCCATTGACAATAGCCTGCTGGACAACGCGTGGAAAAGTGT CGTGTACTCCACACGGACAAATACATTTAGTTTTACAACTAAAATCGAGC CGCGACGCGACACGCAACGCGCCGTAAATCTACCCCAGATATGGCCTGGC CTAGTTCGGCAGAAACTCTTCCATTTCAATTTATGAGGGAAGCCAGAAAT CCGTGGCCGAAAAAGAGAAAACTCGTCCACCGATTTTTTTTTCTGACGGC CATGACAAGTTTGCGCGTCTATAATACATCATATTTGACGGGCAAAAAAT TTTTTAAAGTTTTTTCGAATTTTTGTGATTTTCGAGCAGAAAAAAAAATT GTCTGAAAATTTATGTGGCCGCGGTAAACTTCGGCCACCGATTTTCGACG ATTTTGCCCGTGTTTTTGACGGAAAAAGCACCATATTTGACGCGCAAATT TTCAAAAAAAAAAAAGCCCAAAAATCGCACTTTTCTTCTTCTTCTTGTCT TTTTTATGCCGTTTCTTCGCCTTTTCTTCACTATCACTATCCTCTCGTTT CCGCTTCCTCTCCTCTTCCAGCTCTTTCCGCTTCAAACACGGCAGAGCAT CGCGCGCTTTTCGTCGATCAAGTGGCTCGGCGGCTCTTCGCAGCGGCAGC TCCTCGTACCACTCTTTTTTCTTGTTTAAATCGTTCGTATTATCCGCGAA ATACACCTGAATTCCCATTTTCGACTCCCATTCCTTCTTCTCGGCAGCTT TTTCCGCTTCGTAGTCGCGGTTTCCGGATCCATAGTTTTTTCGTTCTTCA CGTTCGAGATCCTGCAAAATATCGATTTTTTTTGGAGAAAAATATAGTTT TTTTTTGGAGAAAATTATCGATTTTTTGGAAAAAATTATCGATTTTTCGG GGAAAATTAACGATTATTTTAATAGAAAATTATCGATTTTATTTGGGAAA AAAATCACTGATTTTTTGGAAAAAATTATCGATTTTTTTCGGAGAAAAAA TATTAAATTTTTTGCAGAAAATTATCGTTTTTTTTTTTGAAAAAAATTAC CGATTTTTCAGAGAAAAATATCGATTTTTTAGAATAAAATTATGGATTTT TAAATATAAAATTATCGATTTTTAGGGAGAAAATTATCGATTTTTTTTGG AGAAAAATATTGTTTTTTTTTGGAGAAAAATATAGATTTTTTTGAAGACA TTTATCGATTTTTTGTTGATAAAATTATCGATTCTTCGGGGAAAAATATA GCTTTTTTTGGATGAAATTATCGATTTTTTGGGAGAAAAAATACCGATTT TTTTGGATAAAATTATCGATTTTTTTGAAGAAAAAGTATCAAATTTTTTG AAGAAAATTGTCAATTTTTTTGGAAATAAATATAGTTGTTTTGGATAAAA TTATCGATTTTTCAGCTAAAAATATAGATTTTTTTAGATAAAATTATTGA ATTTTAAAAAGAAAATTATCGATTTTATGGGTAAAAAATAACGATTTTTT TGGAGAAAATTATTGATTTCTTCGGGGATAAATATTGATTTTTTCGGGGA AAATTATCGATTTTTGGATAAAATTATCGATTTTTTGGAAAAAATTATGG ATTTTTTTTGAAGAAAAATATTGATTTTATTGGAGAATAATATCGAATTT TTTCGGGAAAATATCGATTTTTTGGAGAAAATTATCGATTTTTTTTGAGA AAATTATCGATCTTTTGGGTAAAATTATCGATTTTTTGAAGCAATTCTGA GCCAAATTTTGAATTTTCGAGCGGCAATTTTTGCACAAAGCATCATATTT GACGCACAAAATTCGAATTTTTCAGAATTAGTTTCACAAAAAATCCATCT ATCACCTGAAACAAGTTCACATGTCCCGTTTCATCTGAAATGCTGACATC TTTTGCTGCTCCAGCTGAGCTCGAACCAGCTCCTCCACTAAACATCGTCT CCATTCGTTGATCGGCTCGGGCTCTCAACTGCATCAGGCGCCGCTCGTTT TCCGCCTGAATTTGCCTGTCGAGCACACGCTGCTCATCTTCGGCGGCTTT TCGCTCGTCTCGGCGAACCCGTTCCATGTTGGATTTTGTCCGAACGTGCC ATGATTTGTGATGGAGAATGTTCATCTGGAAGCGGAAATTATAGAGAAAA AATTGATAATTGTGCTCGAAATTTGGCTCTGGAAGAAGCGCAAAAAATCA ATAATTTCGTCCAAAAATCTATTTTTTTCAGAAAAACCAAAAAGCGTTTT TTTTTCCAAAAATAAAGATAATTTTCGTCCAAAAATCGATAATTTACTTC TAAAAGTCTCAATTTTTCCAACAAAAAAAACAATTTTCGTCGAAAAACCG ATGTTTTCAGAAAAATCAAAAATCAAAAAAAAAATTAAAAAATTAAAAAA AAATCAATAATTTTTTCTAAAATCTTGCAATTTTTTTCTAAAAATCGTTT AATTTTCTTCTAAAATCGATATTTTTCCGGATTTTTTCGTGAAAAAAATC GTCAATTTTATTGAAAATTTTGCTAAATTTCGAAAAAAAATCTTGAAATT TCGATGCACCATGATTTTGAAAATTCTGCTCCGGATCAATTTTTCGAGAA AAATTATCGATTTTTGGAAACTATCATACAAAAATCGATAATTGTGCTCG AAATTTGGCTCTGGAAGGAGGAAAAATCAATAATTTTCTTCTAAAAATCG ATTTTTTTTCCAAAAAATCAATAATTTCGTCGAAAAACCGATGTTTTCAG AATAATCAAAAAAAAAATTAAAAAATTAAAAAAAAATCAATAATTTTTTC TAAAATTTTGCAATTTTTTTCTAAAAATCGTTTAATTTTCTTCTAAAATC GATATTTTTCCGGATTTTTTCGTGAAAAAAATCGTCAATTTTATTGAAAA TTTTGCTAAATTTCGAAAAAAAATCTTGAAATTTCGATGCACCATGATTT TGAAAATTCTGCTCCGGATCAATTTTTCGAGAAAAATTATCGATTTTTGG AAACTATCATACAAAAATCGATAATTGTGCTCGAAATTTGGCTCTGGAAG GAGGAAAAATCAATAATTTTTTTCTAAAAATCGATTTTTTTTCCAAAAAA TCAATAATTTCGTCGAAAAACCGATGTTTTCAGAATAATCAAAACAAATT TCAAAAATAATAAAAAAATCAATAATTTTTTCTAAAATTTTGCAATTTTT TTCTAAAAATCGTTTAATTTTCTTCTAAAATCGATATTTTTCCGGATTTT TTCGTGAAAAAAATCGTCAATTTTATTGAAAATTTTGCTAAATTTCGAAA AAAAATCTTGAAATTTCGATGCACCATGATTTTGAAAATTCTGCTCCGGA TCAATTTTTCGAGAAAAATTATCGATTTTTGGAAACTATCATACAAAAAT CGATAATTGTGCTCGAAATTTGGCTCTGGAAGGAGGAAAAATCAATAATT TTTTTCTAAAAATCGATTTTTTTTCCAAAAAATCAATAATTTCGTCGAAA AACCGATGTTTTCAGAATAATCAAAACAAATTTCAAAAATAATAAAAAAA TCAATAATTTTTTCTAAAATTTTGCAATTCTTTTTTCTAAAAATCGATAT TTTTCCGGATTTTTTTCGTGAAAAAAATCATCAATTTTATTGAAAATTTT GCTAAATTTCGATAAAAAAACGATTATTTTGAAATTTCGATGCACCATGA TTTCGAAAATTCTGCTCCGGATCAATTTTTCTAAGAAAATTATCGATTTT TGGAAATCATCACACAAAAACCGATAATTTTGTGAAAAAATTCGATTTCG ACGCACCATGATTTCGAAAATTCTCAGAATTTTAGAAAATTTATCGATTT TGTGTAGAAAAAATTCGAATTCCAGTGGAAAAATTTTCTTTTCTCAAAAA ATGTTTGATTTAAAAAAAATCGATTTTTTCAGAAATTCAGGCATTTTTTT GCAAAGTAAATTGGCAAAAATCGATGATTTCACTGTGAGAATGGGAATTT TTGTCAAGAAAAATATAAAAAATTGCCTTAAACAATTAAAGTGGTTGTCA AAAAATTGAAATTTTGGAAAAAAAAATATATTTACAGATGAATTTATTAG AAAAATTCCACAAAAAAAGAGGTTCCATCTAATATTATTATGTCGCATTG GGGGTTATATCACATAATTTTTTTTTGTTTCGGTTGCCGTGGAGAAGGGG GAAAATATCACATTTTTCAGAGGAAAATCACAATAAATATAAGGAAAATT TACAAAAAAAGGCGCGGGGGGAAATTTCTTCACAAAATTATCGATTTTTG GGTGATAATTTCCAAAAATCGATAATTTTTATAGCAAAATTGATCCGGAG CAGACTTGGGATAAAGCAATTTTTGGAGGGGGAAAATGAACAAATTAATA AAATATAATATATTCGGGGCAAAAAATGGGAAATAATTAAATTGTCGGAA CATATAAATGATTAATTGATTGAGCCAATGGCATTGGTTTCATGTGAGCC AACGCTTCATTACAGAACACTTCCTCCCGATGACGTAGCGGACGAGAATG CTCGACACGAGCAAGACGGTAGGCTCTAGAGGCGTTTATCTGGAAATTTT TAGTGAAAAAATGAAGAAAAAAAGCTTTTTTCGCTGAAAATTCCAAGATT TTCGGTTTTTTTTTTGCTAATTTTTTTTAAATTTGCCTTGAAATAAATTT CCAGATGTTCAGTAGTTTTTTTTTCCTTCAAAAATCGATTTTTCAATTAA TCAAACATTTTTCAGAGTATTAATAATTATTTTTCCACCAGAATTTGAAT ATTTTATCCAAATTCTGAGAACCGGCTCACAGAGCGGCTTTTACTACGTG GCCTAGAAAAATCAAAAACTCGGCCAATGATTTATCTGGGATTTTTGACG TGGGATGTTTCTGAAACTTGACGAGAATGTTCTCGAATGGGGGTTCTATA GTTCCACCGTGGCGATTTTTGAGAAAATGTTCCGTATCCATGTTATGAAG GTGGCCGAGTTTTCTTATTTTACGGCCACGTAATAAAAACCGCTCTGTGG GCTCCTGAGCAGAATTTTCGAAATCATGGTGCATCGAAATTTCAAAATTA TCGATTTTTTTTTTGAAATTTAGCAAAATTTTCAATAAAATAAGAAATCA TGGTGCATCGACAAACCAATTTTTTCCATTTTTTCGGAATTTAAAATAAA ATTTAAAAAAAAGTAAAATTCTGGAATTTTACTTTTTAAAAATATTTTTT TCAAATTCTGGCAGTTTTAAAATAATAAAAAAACGTTTTTTTTCCATTTT TTTCAAAAATTTTTTTCTGAAATTTAGTACTACAAATGTAAAATTTACAG GGTTTTCACAGGAATTTTCAATTTTTTTGATTCGCTTTTCTTCAAAAATT CTAAATTTTCAGGTTTTTTTTTCCAATAATTTTTAATTTTTGTGAAAAAA AAATGTTTTTAATTTTTTCAGACTTAAAAAATTGTGACAACTTTTTTCAA TTTTTTCCGCAAAAATAAATTTTCGGAAATTTCAAATTTCCTACAAAAAA CCCCTTACCACAGTAAGCCTAACCAACTGTGAGAGCTCGCTCATCGTGAC TAGGGCTCCGTCGAAAAGCGGCCCAAACTCCAGAGCCGACGCCGTATCGA CGCGCACTCGAACCATCTGAAAAACCAAATAATGGAAGAGTTTTTTTTCG GCCAAGCCAGGCTGCCCCATTTGATCTACGTAGATCTACAAAAATTGCGG GAGAAGAAAAAAGAGACGCAGAGTTCTCAACTGATTTCGCATGATTAGGA GTGTGTTGACGTCACATTCGCAAAAAATTCCCGCATTTTTTGTAGATCAA ACTGTAATGGGACAGCCTGGGACCACGTGCAGTGTTAGGCTGTACCATTA CGGTTTGATCTACAAAAAATGCGGGAATTTTTTGCAAATGTGACGTCAAC ACACTCCTAATCATGCGAAATCAGTTGAGAACTCTGCGTCTCTTTTTCTT CTCCTGCATTTTTGTAGATCAACGTAGATCAAGCCTCTCTCTCTCTCTCA CCTTATCACCGACTTGCTCCAACACAATCAGAACATCACAAAACTTGGTG GCAATCGTTTCGCGGGTGTACACTTTCCGTGTGTTCTCAGTCCACACCAC ATGCACCTCATCGTTTCCGATATGCTTCCACTTCTGCTGCACATCGCCGT TGAGCATCGTGCTCACATGGAATATCACCTCAGCCTCGGCGTCTGCAAAG TACGGAGCCCGTGTCTCTACGGGCAGGCCACCGGTGTAACCATCGTGTCC TCGACCCACTTTGACCTCCCATCCGAGCTCCGACGTGAAGCTGTCAAATT GCGCGGAGGCGGAGGCGGTGGTGTTGGACAGGATCGATGCTCGATCTTCC TGCGATTCTCCTACATAGATCACAGCGACTTTGTGGACTTCACGAGAAGA AGTCTGATCTAAATGCTTCAAGTCACGCGGGAAATTCGCGTGAACCTGAG ACACAAGTGGGACGAATCCCAGGGAAGCCGACAGCGATCTCCATTCGAGA AGCTTCGCGTTCGGAGTGAACGCTGGCAAATGATCGTGAGCCGCCGACGA TGTGCCAAGTGGCTGTGGCTGCCGTCTAGACGTCTCAATCATCGATGTAA ACTGTGCGGCACCATCGACAGGCGACGGGCTCCCACGTGACGGGGGGTAG TCCGGTAGATCATCGAACGGATCATCCATCGCTCCGAGGATCCCCTGGCT TTCCCGACCGGGACGTTTTCCCTTGAGAGCCTCTTTGCGTAGCCAATTGG TCACGTTGGTGGCAGGCTTGCGGACATCCTCATGGGTATCTAGATCCCAG ATATGCCGGCCAACTACCGTTCGGGAAGTGATTTCGCAGGGGGATTTGGC GTGGAAATCCTTTCGGGACACCGAGATAATCGCCGATTGCCGATTAATAT ACACGGTTTTATCCTCTCCTTGTAGTGGCGGTGCTCCTGCAGAGCTCCAT CTCTGAACCTCAAAACCTCGCACCGGATACTGACCACCGAGCGTGACAAG CTCTCCATGGAGCACCATATGCCTATCGGCCAAGATACCGCGAATGACGA GTGGCATTTGAGGTTGTGGCCATTGCATACAAAGCTTCACCATCTGCCAC TCGATCTCGGTTCTCGTACGCTCATCGCGTAGGAGCGAGGCGGCACGGAG CAGCGCCTGGAGCAGTGTGGTGCTCGAGAACTGGGCGAGCGAGGCGATCG ACGAGCAGAAGAGCGGAATGAGCCGCATCGCGAACTGATGGGTTTCGATG GTTTTCAACGCGGTGAGCACCAAGTCGATTTGGGCTTTTTGCACGATGAG GATGGCTAGCGAGTTCACGATTACTACGGCGTTCTCCGATACGTCTGTAT TGACAAGCTGATCGAGAAGGATTTGCTCGGCTCCAGGATACGATGAAGCT AGCATTGAGAACAACTTCAACGAGTTCGAGGACACCTTCGTGTCCTTCGA GCTCTTCGCCGCCTGCAACATTTTCGGCAAATGCTCCAGAGCTCGCGGAG CAACAATTGATAGTTCGTGTGCAGAGAGCCCACAAATCGCCGGAACCACT AGTTGCTCCTTGGATTGCATAAGACGGATGAAGCAGAGAAGAATGTTGGC CGAGAGCAGTGGCGGTGGCCGACGGATCGTTGATTCGTTGAGAATTGCAC TTAGAGCCGGAACACAGCGGGGCAGCAGGATTGGGGGTACGGTAACGAGG CGGCACGCGAGCCAGTGGGCCAGTGGGTGCAGGTTTACCTGGAAAGCAAA ATTTTTTTTGGCTTTTTTTCAACTCGAATTTTTTTTCTAAATTTTTTTGT AAATTTTCTAAAAAATAATTGTTCGATTTCAGAGTGCCTCATTTCGTGCG TGATCTACGTTGATCAACAAAAAATGCGGGACTGATTCTGCATGGTTAAG AACGTGCCGACGTCCTATTTTTTGGGCAAAAAATTCCCGCATTTTTTGTA GATCAAACCGTAATGAGACAGCCTCACGTCGTGCCAGAAAGTCCCATTTC GTGCTTGATCTACGCTGATCTACAAAAAATGAGGGGCTGATTGTGCATGA TTAAGAACGTGCTGACGTCACATTTCGTTTGGCAAAAATTCCCCCATTTT TTGTAGATCAAACCGTAATGGGACAGCCTGACACCACGTGATCTTCAAAT TCCCGCCAGCCTGAAACCCACCAAAAGCAAGTTCTCAATCGTCAATGACA TGCAATCGATTGCCACGTGGGCACTCGAGTTGGTATACGGATCCACGAGT GAGATGACACGACGCCACGTTTGAAGCCACGCCAATTTGTCGCCAGACCA AGACTGAAAAAGGGAAAAAGTGTGATATGCGCCTTTAAGAAAGGGTTACT ATAGTTGTCAACAACAGAAAAAAATGCTGAAAAGGCATTTTTCAGGGTCT ATTTTCACAATGAGTTTGGGTATAAATTGGAGAGTTTTCCATAGATAATG CGTACTGCGCAACTAATTTGACGCGCAAAATATCTCGTAGCGAAAACTAC AGTAATTTTTTAAATTACTACTGTAGCGCGCTGGTGTCGATTTACGGAAA TTAATTAAAATAATTGATAAACAAAACAGAAACTATGTTCAAAAATCGAG ATCCCGTAAATCGACACAATCGCTACAGTAGTAATTTAAAAATTACTGTA GTTTTCGCTACGAGATATTTTGCGCGTCAAGTATGCTAAAAAATATGTAG TTGTGGGAGCCTTGTGAATTTTTAGAAGGTTTTTTGAAAAATAACTCGCC ACTATTAAAAAAAATATATATTTTGAGGCATTTTCAAAGGGTTAAAGTAA TTTTTTACTTTTAAAATCGTTTTTTTTTATAAAATAAATTTTAAGCGTTT TTAGTACAATTTTCGTAAGTTTTTCGTTTTTTTTTTGGTCATATTTTGTA GTTTTTTACACTATTTTCCAGAAATCGTCAGAAAAAGCACTTAGAAACGG GCTAGAAAAACGGGGTTTCGGCTTGCTGCGAAACTTTTTTTTTTGAAATT ACCGCGCAAAAATAAATTGTCATTCAAGTAATGTTGCAAAATGTATTAAA ATATAGGTTTTTAAAAATGTATTTTAATACAGTTGTGACGTAATTTTTCT ATTTCAATTTTTGCAAAATAAGAAAAAAAATGAATGTAAAAAAGTTAGAA AGTTTTTAAAACACATTTTATACAGGTCATTACGCTCTATTTTCTGCCAT TTAAAGCGAGAATGTTTTTTGACACTACATATATAATATTAGGTCTCCAA ATAAGATCCGGGTCAAAAATCATAACTTTGTTCGCTGTGTATCGATTTTT ATGAAATTGTGGGAATTTGTGTTATCAACCATGATCTTTCATTTGACAAT AGTCACAAAATTTTTTGGCCGTCCGAAGTGCCCGTACTCGGAGCCAATTT TTTCAGACATTTTTCAGATCTCGCTTCTTTTCAGGTTTCAACTGAGGTTT GTGTGCGGATATTGCTTAGTTTAGTACACAATGTAAGAAAACAAAAAAGT TTGGAAAAAAATCCGTCCAAAAAAAATTTTTTTGTCGCTCGTCAAAAAAT CTACAAAAAAAATTTTGTCGAAAATTCTTGAATTTTTATACAAAAATGAT GTAACCGTGTGCAAACTAATTTTAAACATACAAAACATTTGAGTATGAAA TTTGGATCTCGAGAAATACTCCAAAAACTCGAAAATAGTTCGAAAAAGCT GTGTTTTTTGTTATTTTTTTTAGTGTGACGCACCAAATTGAAATTTTTTG TATGTGTAAAAATAGTTTGCACATGGTTACATCATTTTTGTATAAAAAAT CGAGAATTTTCGAAAAAAAATTTTTTTGAAGATTTTTTGACAACCGACAA AAAAAATTTTGTTTGGACGGATTTTTTTCCAAACTTTTTTGTTTTCTTAC ATTGTGTACTAAACTAAGCACAATCCGCACACAAAGCTCAATTGAAAACT GAAAAGAAGCGAGATCTGAAAAATGACTGAAAAAACTGGCTCCGAGTTAG GGCACTTCGGACGGCCAAAAAATTTTGTGACTATTGTCAAATGAAAGATC ATGGTTGATAACATAAATTCCCAAAGTTTCATAAAAATCGATACACAGCG AACAAAGTTATGATTTTTGACCCGGATCCTATTTGGAGACCTAATATATA TATATATATAAAGATACCTACCGTAACCGCATTTGTAATATCATCAGTGT CATGAAAAACGTTATCCTCTGCAATTGTGTTCGACGATGACATACTATCT CCAGTCTCTGACGAATCATTTCTCGGGTCTTCCATCATTGCCGATTCGAT TGCCTGTCGTCGACTGTTCTGTGAGACTTCTGTCGCTTTTCGGAGAGCTT CTTCACGGGAGAATATGTCGATATGGGCGAGATGGAGGATTAATGCTCGC GTTACACTGTTCACAATCTGAAGATTTCGTTTTATTTTTTTGATTTTGGC TGGAATTTCATAAAGCTATGCTTTTGTTGAAATTTTAGTTTAAAAAAATA AGGTTTTTGAACTGAAAATTGGGATAAGAATTAGAAAAAAATTTGTTTTT TCTCTAAAACTGCTGCATTTTATTCAATTTTGTAAGATTTTCTGTACAAA ACATAATAATTTTTGAATTTTTTTTCCAAATTTTTTGAAATTTCAGCAAG AACTGGACAAAAAGCACTACTTTTACTAAAATTGGCAGCATTTAGGAATT TCTGAAAAAAACAATTAATTTTCATTATTATTGTCATATTACAGGAACAC ACTATTCTGAGAATGCGTATTACACAACATATTTGACGCGCAAAATATCT CGTAGCGAAAATTACAGTAATTCTTTAAAAATGACTACTGTAGCGATTGT GTCGATTTGCGGGCACGATTTTTTGAAATGAATTTTAATCATATTTTGAG CAAAAAATGGGTCAAAAATCAAGCCCGTAAATCGACACAATCGCTACAGT AGTAATTTAAAGAATTACTGTAGTTTTCGCTACGAGATATTTTGCGCGTC AAATATGTTGTGTAATACGCATTCTCAGAATTTTGTGACTTTTCAAAAAA AAAAATCGTGATCAAAAAAAATTTTTAATTGTTTTTTAAGATGAAATTAC GATTTTTTTCGTTCTCTATAAATTTTGATCAAATTTATTTCAAAAAAAAA AAAAATTCTTTCTATATTTTTTTTTTCGAGTTTTTTTTTCTATCTTCTGT ACAAAACACAGCAATTTAAAAAAAAGGCAAAATTTTAAGATTTTTCTAAA TCTAGATTTCTAATTTTCCTCGGGGTTCTGGCCATCATCCTCATAAACAG AAATGGAAGAGTTTTTGCCGAACTAGGCCATTTTGAAACTCTTCCATTTC AATTTATGAGGAAGGCCAGAGCCTCGTGGAAAATTAGAAATTAGATTTCG AAAAATCTTAAAAGTTTGCCAATTTCTTATTAGATTGATGTGTTTTGTAC AGGAAATTGAGAAAAAAATCGGCAATTTTATACAATTTAATTTTAAAAAA TATAGTTAAAAATAGAAAAATTCAATGAAACTGGAAAAAAATGTTTACTT TGAAAAGTTAAAAAAAATGAAAAAAAAACTCAAAAATTGAATAAAATGCG GCAATTTTTGAAAAAAAAGCTTTTTTCCATAGTTTCTGTCAATTTTCGGC TAAGATTAATTTTTTTTCATCAAAATTTCGATTTTCATACTCTCTTACCG AAGCCCATTGCTCAGCCATCGGTATCCAAACACCCTTCTTCATGACGTCA TGCACCTCATCCCACACCTCATCGTCAATTTCGATGCGTCTGACAGCCTT AATCACGACGACATTCGAGATGAGTGTCGACGTAAAAGCAGCCGACACAT TCTGGGAAAACGCGTCCGATTGGCGACAGATTTTCGAGGCGCATGTGCAG AGTCCCGCCATTAATTCTGACCAGAATTTTTGGGGAAGCGGTTTTGGGAG TTGAATTCGATGGGAAACCAGCTGCTTGCACGATGTTAGAATCGCAAATG CTATGGAGATTGCCGAGGAGTGACTGGAAAAATATTTTTTTTTAATTTTT AAAGGGATTTTGGGAAATCGAAAAATTTAAAAACTCGGATTTATGAAGTT TTTGGCAAACCGGCAACTTCTGGTTTTTGGAATTTCGCCACTTTTTAACA ACCGGCAATTTGGCGATTTGCAAATTTTTGGAAAACCGGCAATTTATGGT TTTTTTTTCGGAATTTTGCTAATATTTTTAAAACCGGCAATTTGCCGATT TGCAAATTTTTGGAAAACCGGCAATTTGTGGTTTTTGGAACTTGGCCACT TTTTATAAACCTACAATTTGCCGATTTGCAAATTTTTGGAAAACCGGCAA TTTCTGGTTTTTTTTTGGAATTTTTCTAAAATTTTAATAAACCGGCAATT TGCCGATTTGCAAATTTTTGGCAAACCGGCAATTTGTGGTTTTTTTGGAA TTTTTCTAAAATTTTAATAAACCGGCAATTTGGCGATTTGCAAATTTTTG GAAAACCGGCAATTTTTGATTTTTGGAATTTTGCTAAAATTTTTAAAAAC CGGCAATTTGCAAATTTTTGGAAAACCGGCAATTTGTGGTTTTTGGAATT TTGCCACTTTTTATAAACCGACAATTTGCCGATTTTCAAATTTTTCGGCA AATTGCAGGTTAATAAAAAGTGGCAAAATTCCAAAAAAAAACCAGAAATT GCCGGTTTTCCAAAAATTTGAATATCGGCAAATTGTAGGTTTATAAAAAG TGGCAAAATTCCAAAAAACCACAAAATGCCGGTTTTCCAACTCTTTCAAC GAGAGTATCCAATTTTTTAAATAGAAAAATTGCCGTATTCCCTACCGTTC TCCACACATTTGCCGATTTTCAAATTTTTGGAAAACCGGCAATTTTTGAT TTTTGGAAGTTTGTAAAAATTTTTTAAAGCGGCAATTAGTGGTTTTTGGA TTTCTGTCACTTTTTATAAACTTACAACTTGCCGATTTCAAATTTTTGGA AAACCGGCAATTTGTGGTTTTCAAGTTTTCTGCTAATTGGCAAACTGGCA AAATGCCTTATTTTGGAAGTTTAGGTAAATTCTCAGAACACCGGAATTTT GACATTTTTCAAAATTCCAAAAACCACAAATTGCCGGTTCGCCAAAAATT TGCAAATCGGCAAATTGCCGGTTTTTAAAAATTTTTGCAAAATTCCAAAA AACCACAAATTGGCGGTTTGCCAAATTTGCGAAATTCCTAAAACTGGAAA TTGACGGTTTTCAAAAAAAAAAAAAGAAGGGAAATCGGCAAATTACAGAC TTACAAAAAGTGGCAAAGTTGCAAAAGCCAGAAATTGCCGGTGTGCCAAA TTTGCGAACATTTGAAAATACCACAAATCAAATTGCCGGTTTGCCGAAAA TGTGCAAATCGGCAAATTGCCGGTTTTTGAAAATTTTTGCAAAACTCCCA AATTTACAGAAAAAATTCCAAAAATCAAAAATCCGAATTATTCCAGAATT TTTTCTTCGGAAAAATTAAAAATTGTTCAATTTTCCAACATTTTCAACAA GCGTATTATCGAAAAAATACAATCGCACAAATTTCTCGTAATTTATTTTT GATCTACCTTGTTGACTAGGCTCCGCCCCTAATCTTGTTGCTGTTGTTAT TGTTGTTGTGGCTGTCTAGTTGAAGGAAGGGGCGGAGCCTATTCAACGAG GTAGATCAAAAATAAATTATGAGAAATTTGTGCGATTGTATTTTTTTTCG ATAAAATCCAATTTTTTAATGGAAAATTGCCAATTCCCTACCGTTCTCCA CATTGAGCCAAATACGGACTGTGAAAGAAGCCCAACAAGATATTCGAGAG CAACAGCGAGCATCGTTCAATCGATACTTCTCCAGACGCTACGAATGGTG GAATTTCGTACTGCAAAAGCCATGCGGAGAGCACATTTACCACTTTATGA GTGACATTTGAGCATGCCAATGGGAGTTTCATTGCTTCACGCATTAGTGT TAATGCTACGTTTGTTGCCTGGAAAAGGACAAAAAAAACTATTTTTTTAA ATGTAAGTAATTAATTTATTTTTTGAAATCTCTTTAAATGTGGTGTAGTC GAATATTTTTTCAATTGCTTAATTACCCTCAAAATTGTCTGAAAACACCG AATTTCATAATGAACTTCTTGAAAACTTCTCAGAAAAAAGTTATGACGCC TCAAAAAATGGCCTAAAATTGGTTAAAATTTGAAATTTGACCTACTTGCC AAGCGGCTGGAAACTAGCTTTTTTTTGAAATCACTGTCAAATTTTGAGTA TTCAATTTAATTATCTTGCGTTTTCAACTCGATTCAGGTATTTTAAAATC GATAAACGAAGAGATTTTTAAAAATTATTTACCAAATCTCTTCTTCCATC GATTTAAAAATACATAAATTTAGTTGAAAACGCAAAATAATTAAATTGAA TACCCAAAACTTGACTGTGATTTCAAAAAAAAGTTAGTTTCCAGCCGCTT GACAAGTCGGTCAAATTTCAAATTTTAACTAATTTTAGGCCATTTTTTAA GCCGTCATAACTTTTTTTTTTTGAGAAGTTTTTCAGGAAGTTTCATTATG AAATTCGGGTGTTTTCAGATAATTTTTAGTATAATAAAGCAATAAAAAAA ATTCGACTACACCAACTTCAAAAATGTAAGCAATTTTATTTTGAAGGCGG TTTTCTTTTACTTTTCTAAAAAAAAAATTTATTCAATTTTACGATTTTTT GCGTAAAAAAACACGGTCAAATTTTTGTTAAATTCGAAAAGGCGTGTCCA TTACGGTTTGATCTACAAAGAATGCGTGAATTTTTAGCCCAAAAAGTGTG ACGTCAGCACGAAAATTCTGCGTCTCTTCTCCCGCATTTTTTGTAGACCT ACGTAGATCAAGCCGAAATGGGAGAGCCTGACACCACGCGCGTGTGCGCC TTTAAAGTGAGTACTGTAATTTCAAAAATTCCACAACATCGAGAGTTTGA AACTACAGTACTACTATTTAAAGGCGCACACACTTTTTCGAATTTAACAA TAAATTGTCGTGTTGAGACCGTATTTAGGGCTCAAAAAAAAAATAATTAT CTCGTTAGAATATTCGGGAAAGTTGCAGTTTCACTGAAAATTTGAATTTC CCGCCAAAACGAATTTTCTCCGAAAAATTTGAATTTCCGCCAAAAAATTT TTTTAAATCAGAAATTTGAATTTCCCGCCAAAATCGTATTTCTCAGAAAA TTTGAATTTTCGCCAAAAATAAAAAAAAAAATTTTGGCGCGAAATTCAAA TTTTCTGAAAAAAAAATATTTCGGCGGGAAATTCAAATTTTCTGAGAAAA TATTTTTTGGCGCAATTTTTCATAGAAATTTAGTTCTTTTGATGTGTAAA TTTCCAAAAATTTCAACAAAAAATCGCATTTTTCTTATTTTTTCCCCAAA ATTTTCAAATTTTCTCCTCCAAAACCACGGAACTTTATGCGACGAAAAAA GCGCATTTCGATACAAAATCAACGATGCATGTGTAGTTTGTAGTGTTGGT TGTCCTCCAGCCGTTGTGTGAGTTGTTGCCGATGCAATATTATTAATCCA TCGAATTAGCCAATATCTTGCAATTACCACCGGATCAGCTGTATCCAATG GTTCACCATTCTCATCGGCTCCTTCCCAGCCACCGAATACATCGACTCCG TTCGTTTCCAGATCGGTGAAGCATTCGCCCATGTATAGCTTTATTACTCT GAAAATTGAAGAGTTTTGTACTCCTCTCGGACAATTGGAGGTGATTTTTT TTTTCGAATTCTTTAAAACAAAAATTTCCCGAAATTGAGCTTTTAAAATT TTAAAATTTCAAAATTTCAAAATCAAAAAAAAAAAAAAAAACTTTTGTAC AAAATTTAAAGTGGAGAATTTTTGTATTTTAGACAAATTTTTTAAACATT TCTAGCAGAGTTGAAAATTTCAGGCAAATCGGCAATTCGCCGAAATTGAA AATTTCTCATAAATCGGAAATTGCCGAAAATGAAAAATTCCGGCAAGTCG GCATATTGCCGGAATTGAAAATTCCTTACAAATCGGCAATTTGCCGGAAT TGAAAATATCCGGCAAATCGGCAATTTGCCGGAGTTGAAAATTTCCGCCA AATCGGGAATTTGCCGAAATTGAAAATTTCGTATAAATCGCCGATTTGCC GGAGTTGAAAAATTCTGGCAAATTTGAAAATCGGCAATTTGCCAAAGTTG AAAAATTCCCGGCAAATCGCCAATTTGCAGATTTTTCGACCGAAATTTGC CTACCGGCAATTCCTGCCGACCCCTTTTTTCCGAGAAGAATTAACTTTCC ATTTCTAAAAAATCTGTAATTTGCCGGAGTTGAAAATTTCCGGCAAATGG GCATTATGCCGAAAATGAAACATTCCGGTAAATCGGCAAATTGCCGAAAA TGAAAAATTCCGGCAAATCGGCAATTTGCCGAAGTTGATAATTTCCGCCA AATCGGGAATTTGCCGAAATTGAAAATTTCGTATAAATCGCCGATTTGCC GGAGTTGAAAAATTCTGGCAAATTTGCAAATCGGCAATTTGCCAAAGTTG AAAAATTCCCGGCAAATCGCCAATTTTTTGCCTGTTGTGCATATTATTTT CACGACTAAAAATCGTAATAAATTAAATTAAATTAAATTTGCCGATTTTT CGACCGAAATTTGCCTACCGGCAATTCCTGCCGACTCCTTTTTGCCGAGA AGAATTAAAATTTCCATTTCTAAAAAATCTGTAATTTGCCGGAGTTGAAA ATTTCTGGCAAATTTGCAAATCGGTACTTTGCCGGAGTTGAAAAATTCTG GAAACCGGCAACCCGGCAAACCGCCAATTTGCCGATTTTTCGACCGAAAT TTTTTTTTCCTGTCGACCCCTTTTTCCGAGAACAGTTAAATTTCCAAAAT TCTCTAAAAACCACAAACTTCTCAATAATAAAATTCGCACACTCCTGTCG CTTCCCCTCATCATTCCACTCAATCCGCACAGTTTCTCGAGTACAGTACT CCAAAAACTTGTCCAAATAAACTTGGAGCATTTGAGCCCGTTCTTTCGAA GTCTGCGACGCCGACGCTGTCGACTTAATCGGCCCATTCCTCAGTCGTTC ACACCAATCACCGGCTCCCGACGATTGACAGTACTCGTTGAGCACATCTT CCGCATTTTCACCACTGGTAAGCGGGAAGAATGGTAGAAGACACTGAAAG ACACGATCCAGGTCTGGTGTCGCTTTTCCGTACACTCCGAGACATTGATA GAACACTAGGAACAAGCGAATCGCAATTTTTCGCACTGCCATCAAATTTT TCGGGTAGACTGCTTTTTTGAGAAGCGATTCGATTGCATGACGTTGCCAG CCTGAGAGAAATTGGGAAAATTTTTAATTTTTATTTAAAGGTGGGGTAGC GCTAGTGGGGAAATTGCTTTAAAACATGCCTATGGTACCACAATGACCGA ATATCATGATATAACAATTCAAAAAAATTTTCTAAATTTTATATGATTTT TTGAAAATTGAAAAAATCTCAGTTTTTGTCTAATTCCAATTTGAATTACC GCCAATTGAATTTGTTCTATGGAGCGCGCTTGCACGTTTTTAAATTTATC TATTTTATTTTTTGTTATTTTTTGTTATTTTTCCACCAATTTTTAATGTT TTCGGTGTATTTTTGCTCGAATTTTAGAGAAAAAGTCAAAATAAATGCAA ATTTTCGATTAAAAAGCACGCTTACAGTCGTAAATCAGTGAAATTAATTA ATTCAGGTTTGAAATCGTTTAAAATCGTTACTTTGTCATTTTTACGCCTG TAAGCGTGCTTTTTAATTGAAAATTTGCATTTATCTTGACTTTTTCTCTA AAATTCGAGCAAAAATACACCGAAAACATTAAAACTCGGTGGAAAAAACA ACAAAAAATAAAATAAAATAAATTAAAAAACGTGCAAGCGCGCTCCATCG AACAAATTCAGTTGGCGGTAATTCCAATAGAAATTAGGGGGGAAAACTGA GATTTTTTCAATTTTCAAAAAATCATATAAAATCAGGAAAATTTTTTTGG ATTTTTTATCATGATATTGGGTCATTGTGGTACCATAGGCGTGTTTTAAA GCAATTTCCCCACTGGCGCTACTCCACCTTTAATTTCTGACGGTTTTTTT TCGGTTTTCCTTGAAAAATCCTCTAAAAATCGATAATTTGTAAAAATTGC GTTGTTTTTCCGGGATTTTTTTCGGTTTTCCCACGGGGTTCTGGCCTTCC TCACTGAATTTTTCGCGCTCCATTGACAATCGCCCGTGTACTCCACACGG ACAAATCACATTTAGTTTTACAACTAAAATCGAGCCGAGACGCGGCAGCC AACGCGCCGTAAATCTACCCCAGATATGGCCTGGCCTAGTTCGGCGAAAA CTCTTCCATTTCAATGTATGAGGGAAGCCAGAAATCCGTGTTTTCCTCAA AAAAATCCTCTAAAAATCGATAGTTTGTAAAAATTGCGTTGTTTCTTCGG TTTTTTTTGCAATTTGAGGGTTTTTTGTCGATTTAACACGGATTTTTGGC TTCCCTCATATATTGAAATGGAAGAGTTTCTGCCGAACTAGGCCAGGCCA TAACTGGGGTAGATTTACGGCGCGTTGCGTGTCGCGTCGCGGCTCGATTT TAGTTGTAAAACTAAATGGACTTTGTCCGTGTGGAGTACACGGGCGATTG TCAATGGAGCGCGAAAAATGCAATGAGGAAGGCCAGAAGCCCGTGCGGAA AGACGGGGAATCTCCGAAAAACGGGGAAAATCTACAAAAAAATGAGTTTA AAAAAGACTTCCTCAAAAAAATTCAAAAATTGTGGTTTTTTTTTTAATTT TTTGTATTTTGATAAATTTTTTGCGACATCAAAAAATGGAAGAACTTTTT TTTTTCGATTTTTGAATTTTTTGTTGGTGAAAAAGAAGAAAATTTCGAAA ATTCGTTAGGGAATGGATAAATTTTAATCAAAAATCGATTTTTTAAAATT ATTTTTTGCAGTTTTGCATAAAAAATCCAGATTTTTTCGCATTTCGCGCG TAATTTTCATTTTTGTCGTTTTTTTTTTCTGAATTTTCCGAAATTTCTGG AAATTTTTTCTTTTCTTGTTCTGAAGCTTATGCCTAAGCCTAAGCCTAAG CCTGAGCCTAAACTCCAAAAACGCACCACTTCCAACAAGCTCCGGAGCCA AACAGAGCACCTGCTCCAGTGTCCAAAGCCCGGATTCAGCCTCAATTGCA CTATCGATTTGACTGCTGACATCGTTGACGAGCAGAAGCTCGTCAACGAG ATGAAACGTCTCGAAACTGTGCTCATCGAGCAGTTGACGCTTTTCCTGAA GAAATGTTGTGGTCGAATTAATGCGAAATATGGGAAAATTCGGGTTAAAA TCGATGAAAAATCGTGGAAAAACGAACATTTGTGGTTAATGTGTCGAGCA GAATCTTCAAATGTTTCACACGGCTCACACAATCCCTGTTCAAGTCGGTG AATCTTGAAATGCTCGCCTGCACATCTGACGATTTGCCCTTTCGGGCAAA CATTTTCCTGTGATTTTAGGCGATTTTCTGCAAATTTTCGCTGTTCAAAC GTTTAAAATCGACGGAAAATGCGTATATTTTACTAAATATGCGAGAAATA GTGATTTAATTCGAAAAAATCAATATAAAAATGGAAAAAAACTACAGTAG TAATTTAAAGGCGCATACCTCGAAAGTTAAAATCGTGCCAGGACCCGCCG CAATTTAGAATCGATTTTTAGATGAAAACTTTTTTTTTCTTACTAAAAAT TAAAATTTTTCACTGAAAATTTCGGTTAAACTCTGACTTTTAACACGAAT CTTATCAAAACTATGACAATTTCTAGTGAAAATCGCCAATTTTGTGTGTA AAATCAATTTTTTCAGTGAAAAATGTTTTTTTTTGAGTTAAAACTAAATT TCGAGCTTGAAACTAGAAAATGTCAAGTAAAAAATTCATTTTTAAGCGAA AAATTAACGTTTTTTTCCAAATTTTCGCCTATAATTCACACAAAAAATAC TGAGTCAGCAAACAATGTGGGAGCATCCCGAAAATGGTGCAGAATGGTAG AGCAAAAACGAAAAATCGATGAATTATTGTGGAGAGAGAGGAAATTTTAT TCAATTTTTGAGGAATGGAGGTTAAAAAAAAGAGTAGAAACATTGAAAAG TGGCAAAGAAATCCAGCTTGAAACCGGAAAAACTCCCAGAAAACGAAGCA AATAAGAAAATCCCACAAAAAATCCGAATTTAATTGCAGTTTTCGACCGA AATTCAGCCAACCAGTGAGTGGTTCAATTATTAAAAAGCACATATATACA TATAACTTTATTCAAAGGACATAATCCATATAAAGTCTGTCAAAACGGAA AAGGTTCTTTCCAAACACACAATTGGCCCCCTCTGTCCAAAAGAGAGAGC ATGGGAATCGGAGAGGGCGGTGAGAGAGACGCAGACATCGAGATGACACT TTTTGACAGCAACACTGTGTGTGTGTGTGTGTGTGTGTGAGTCTCTGTGA TTGAGTGAAAGCACTTTTGGGAATATATACTGGTAGAAATTTAATTTAAA ATGATAAAAAATTTCTTGGGATTTTTTTTTTTGAGTACTGTAGCCACAAA AGTACGTAATTTTCTTGAAAATGCGCCCATGGGGTCCCAATGACGTAATA TCATGATAAAAAATTTTTGAAAATTGGAAAAATCTCAGTTTCCCCTCCCC CCCCCCCCTAATTCCAATTTGAATTTCCGCCAATTGAATTCGTTCGGCGG AGCGCGCTTGCATTATTTTTATTAATTTATTTAATTTTCTCTGTTGTTAT TTCACTGATTTTCTTCATTTTTTGGGGATTTTTAATTGGGAAAAGAGAGA AAAATGCAAGATAAATGCAAATTGTTCATTAAAAAATCACTGAAAATGGG TAAAACTGTGAAATATGCTAATTTCAGGCTTGGTGTCGTCGGAACTCATA ATTTCGCAGTTTTACCCATTGTCTATGATTTTTTAATGAACATTCTGCAT TTATCTTTTTTTTTTAAATTCAATTTCTATTAAAAATCCCCAAAAAATGA AGAAAATCAGTGAAATAATTAGAAAAAATAAAATAAATTTATAAAAATAA TGCAAGTGCGCTCCACCGAACGAATCCAATTGGCGGGAGTTCAAATAGGA ATTAGAGGGAAAACTGAGATTTTTTTCAATTTTCAAAACAAAAAATCATA AAAAATAAGCATTTTAGCTTAAAAACTCGAAAAATCATACAAAAATTAAT TTCAAGTTGTCCACGAGTAGTACGCGACGCCTGGTTGCAAAAATGGCGTA GATTTCGATTATTAAAAGCTTAAAAATCATTTTTTTTTACCAATTTCCAA TTAAATATCCTAATTTTAATCTCAATTTTCTTGAAAGACGTGCAAATATA GATACATCTAACATAAAAATTCTTCGCTGCGAGACCCAGGACCCCATAAA TCGCCTGCGCCTTTAAATTTATATTTATTTTCTCTCTCAAACAGCGATGA AAATCACGTTTTTGAACCAAATTTTCCAAAAAATAAGACAAATTTCTATT TTAAAAACCACTTTATTCGGTCATTGGTCGCTAAATAGCAAATTTTGAGG CAAAAAAAAAACGAACAGACAACGGAAAATCGAGTGAAAACAAGTGAGAA CACAGCAAAACTAGTCCTAATTAATTAAAGGCGCATCACGTGGAAAAGAA AACTGTTGTGGAAGAATAAAAAATGGAACATGAGGGGAAATATTACAAAA ATAGTAAAAGATGCATCAAGATTAAGATTATTTTTCGAAAATCGAGTCCT CCGCCCAGGAATTCATCATAATTTTCGACTTTTTTTCGGAGATTGCTGCA CATTGTCGGCTGCTCCGGTGGTTTTTGGAAGGTTTTGAGAGCTGAAAGAT TTGAATTTTTTGGAATTTCGAGAAATTTCTTTTTTTTTACCCGAAGCGCT TTGAATCTGGCGAGCTGCATTTCCAGCTTGCATTGTGCGTTCAGTGACTT TGATTCCTTGAAGTTTTCTGAAAAAAAAACACGAGTTTTGACTTGAATTT TCTGAATTTTTAACACGGATTTCTGGTTTCCCTCAAAGAATTGAAATGGA AGAGTTTTTGCCGAACTAGGCCAGGCCATATCTGGGGTAGATTTACGGCG CGTTGCGTGTCGCGTCGCGGCTCGATTTTAGTTGTAAAACTAAATGTGAT TTGTCCGTGTGGAGTACACGACTTTCCCACGCGTTGTCCGGCAGGCGATT GTCAATGGAGCGCGAAAAATTCAATGAGGAAGGCCAGAACTCCGTGATTT TTCTTTTACTCGGCGTAGATTTCGCAGTTTCAGACTGTTTTTCAGGTCTA ATCAGCGGAATTTTCGTTGATCCCGCCAATCTCGGTGATTTTCTGAGCCT TTTTCGCTCAGGTTCTGGGATTTCAGCTTTTAGAGCAATCTTTGAAATTT CGACAAGTTTCTTGAAGTCCAACGCAATTTTTTCAGTAGAATTCGCAGTT TCCGGCAATTTTTCTGAGCAAATCTTCGAAATTTCGACAAGTTTTCTGAT TTTCGGCGTAGATTTCGCAAATTCTGACGGTTTTTCTGCAAATCCCGGTG ATTTTCGGCTCGGGGAGCTCCCAGCTGCTCTATTGTTCAGCATTGTCTGC TCAGTAGCGGGGGCGTCTTGATTTTCAGTAGAATTCGCAGTTTTCGGCAA TTTTTCTGAGCAAATCTTCGAAATTTTGACAAGTTTTCTGATTTTCGGCG TAGATTTCGCAATTTCTGACGGTTTTTCTGCAAATCTCGGTGATTTTGGG CTCGGGGAGCTTCCAGCTGCTCTATTGTTCAGAATTGTCTGCTCAGTAGC GGGGGCGTCTTGATTTTCAGTAGAATTCGCAGTTTCCGGCAATTTTTCTG AGCTAATCTTTGGAATTTCGACAGGTTTTCTGACTTTTGGCGTAGATTTT GCAGTTTCTGGTGATTTTCGGCACGATGAGCTCCCAGCTTCTTCATTATT CAGCCTTTTCAGCTGGGCTTCTTGAGAGCCTGTAATCACGTCGCCGTCGT CATCCTCTGAATCATCATCCGACCAAATTTCGATTATTTCCTGAAAAAAT CGATTTTTTTTGCTTTTTTTTGCTCTTTTCTCATTGTCAGCTTTTCCCAC TTTCCAGCAATTTCTCCACGGCGTCGGAACGTATCCTGGTCGCCGATCGA ACTGGATAACTGGCCGGCTGGCGATAAATCGGCGAAGATCTGCTACTATC TCGTCTGAAAACGTTTTTCTGCTAAAACCTGCTAAAAATCTGGCTAAAAT CACCTGATAACATTACAATATCATCATTTCCGGGCATTTTTGACGAAAAA AAAGCGGAAAATATTTAGAATTTCGAAAATGAAGAGAAGCGTTACGGTAC TAAAGGCACATGGCGTAAAATATTCCGCAGGACTCGCCGCGATTTATGAT TTTCACTATTTTTTTTGGGCAAAAGTTGACATTTTTCAGAATAAAATTCA AAATTGTGTTGATAAATTGTTTATTTGATTTTTTTTTCAAATTTAAATAA ACTGTAAATTTTAAATTTTCCCCCAAATATTCGCAAATTCCCTTCAAACC AAGTTTTAATAGCACAGTAATCCCCGAGCAATCGCGCTCCACCGGACTAA CCTACACACCGCGAATTTTGAATTACATCCCTCATAATTAATTGTTTTTG CCATTTTTTCGCTATTTCCAGTGGATTTTAATGAGTAAAAGCCTACAAAC CGACGAAAATGGCGGTGTCAGTGAAAGTCCATCAAATTGCACATATTGCT ACACGCTGGAATGCTCTCTACGCATCGAATCCACCTCATCAATCAAGAAA AAGACTCCAATCTCCTCGAAAAGCGCTATAATGACTGTCGGCAGAAATGC GCAGAGGTTTTAGTCGAATAAATGCCTGTTTTAAGAGCAAGAAATTCCAG AAAAATTCACCTTCAAATCGAGCTAAAGACCACCGCTACCGGACAGCCCG CTGTAGTGTGCTATGACGTCACAGATGCAGTTGTACACTTGCAAAGCGTT GCAAATGGGAAGTGTACTGTAGAAATTCCTTCGCTGTAAGACCTAAAAGA CCAGAAAAATGGAAAATATCTGAAAACCCCAATTTCAGCTCGTTAATGTT CCAAATGTTCAATTGCGCGCCGCGAAAGCTCAACGTCTTCATGAAATCTC TCCAAGCAAAGTTGGATATTATGAAAATGGAGAAAAGCCCAATTTCAGCA GTGTAAAATCGATAAATTATCGAAAAATCAATAAAAATCCCTTCAGACCC CGGCAATTCTCACGTCCGCCGGCAGTTTTCAGCGTTCTGAGCCCGCTGAC GATCAGCGAAATGCGAAAAGTGAAGAAGCTACGCGAACCGTCGGCGCTGG CGAGACCTTCGAAAGAGGCGACCACACCGAAGCGGCGGTAATTTGAAATT TTCACATTAAAAAAAAATCGCGAATTTCAGCACTTCCTCAATGAATTTGC TCGCCGGCGGCTTGGAAAATCGAATTATGAATCGATCGATTGGGCTGAAA AGGACGACCAGTTTTGCTAGAGATGATCGTGAAAAAGCCGAGGTTCTGCA GCTAAAAATCCGTCAAAAATCGATAAAATTTCGTTTTTTTTCCGTGAAAT TCCAGGTTTTTTAGTCCAAAAGCACGGATTTCTGGCTTCCCTCATAAATT GTAATGGAAGAGTTTTTGCCGAACTAGGCCAGGCCATATCTGGGGTAGAT TTACCGCGCGTTGCGGCTCGATTTTAGTTGTAAAACTAAATGTATTTGTC CGTGTGAAGTACACCACTTTCCCATTGCCCGGCGGGTGATTGTCAATGGA GCGCGAAAAATGCAATTAGGAAGCCCAGAAACCCGTGAAAAAGTGTCACG CGGTTTTCAAAGTAGAGGTGCAAGCGCGCTCCACCGCTCCACGGTGCTTG GCGGCAAAACCAGAATTTTCGCTGATTTCAAGCATTTTCCGTCGTTTTTC ATGATTTTTCATGTCGAAATAGTGTTTAAAAATGTCTTTAATGCTGAAAA GTGAATATTTCAAAAATTTTGACATGAAAAACTGAAAAAATTATCGGAAA AGTGTATTTTTTGAGTTTTTACTTATTTTTCGGTTTTTAAAAAAATTATT TCTACATAAAAATTGATGAAAACAGCATATGAAGTGCAAAAAATAAAGAA GACTTACATAAATTTTGACAAAAAATCACGAAAAACAATAAAAAAAGTCG AAAAATGATTGGAAACGGAGAAATTTTCCCTTTTTATGTAGAAATTTTGA ATTTTTTCAAAATTTTCTCAATTTTGAAACACAAAACATGAAAAATGATT GAAAATATTTGAATTTTTAGTTTTCGCGCCAATACCTAACGAGACCCATC GGTGTGACCATGGAGCGCGCTTGCATCTCGATTTTAAAATTCGTATGAAT TTTTCGCGCTCCATTGACAATCGCCTGCCGGACAACGCGTGGGAAAGTGT CGTGTACTCCACCCGGACAAATCACATTTAGTTTTACAACTAAAATCGAG CCGCGACGCGACACGCAACGCGCCGTAAGTCTACTGAGCCAAAATGGCCT AGTTCGGCAAAAACTCTTCCATTTCAATTCATGAGGGAAGCCAGAAATCC GTGTTTTAACCTAGAAAATCAAGAATTTTTTTGGGAAAAAATGCCAAAAA TCCCAGATTTTCCCTAATTTTCAGCTAATTTTTCCCCGAAACAGACAATT TTCAGACCCTTGTCTCCCTGAAATCATTCAAAGATGCTCCTGCAATTTCC GAACGGATTCAGCTGTCAGATGAGCAAAAATCGGTTGTCCGATGTGTGAT AAATGTAATTTTTCGTTCGAAAAAAAAAATTATCGAAAATTTGCAGTCTC GAACGAGTGTCTTCTTCACGGGATCCGCTGGAACCGGAAAATCTGTGATT CTTCGGAGAATCATTGAAATGTTGCCCGCCGGGAACACCTATATCACCGC AGCGACAGGTAGAGGATCACTTTGAAATATTTGCAAAAAATCGTGTCAAG ACCTCCCCCAAAAAATTTTCATGTACCTTTAAAAAATAGAACCGACTTTT TTTAATTAAAAAATCATTAAAAATTAGAGGAAAATTTGGGAAAAAAAATC ATTAAAAATTCTTTAAATAATAATTGTTTATTTGTCACAAGAAATAGCTA CACCGGAAGATAAAGAAAAAAAGTAAATAAAAAAGATGTGTGGACAAATA AGTAAAATGACCAATTGGACCAGCTATAGCCCGGGAGGTTAAGTTGGGGG GAAGAGGGTGTCAAATGGGATAGAGTCTAGGCGCGACGCAAATGCATTTG GAGTTAACAGTTTAGGGAAACGTTTTGCTATTCGATTCCACAACGACAAG TTAACATGTAGAAAACATTTAGACGGAACACCACAGACAACAAGTAGATA GGGGTGACGAGTAGAGCGTGAAGCTCGAACGAACGATGATAAGGACGGGA AGTGATACTCGCTTGAAATAATTTTATGGAAGGTTCGGAGGATTTGAAGA ACCCGTCTATGGTGGGTAGACAATAAATTAAATTGGGAAAGCCTACTACT GTATGACGAGTAAGATAAATTGCACCTTTGAAAGACACACTTTGAGAAAA ACCGGAGGGGAGATTCTAGTTTTTTGGCAAGTTCGGTGGAGTTGGGCGGG AAGAGCTCGCAGCCATATTCGAGTACGGGGCGGATGTAAACATTGAACAG TTTAAAATAGAATTCGGGACTTTTAGAGCGGAATGAACGAAGGATTTGGC GACACTTAAGGAGGGCACTATTAGAAGTCTGATTAATATGATTAACAAAT GATAATTTGGTATCGACAATGATTCCAAGATCTCTGATAGAATCACGCGG TTTAATTTCAACACTATTTACAAAGTATTTATGACGGGGGTTCTTTTTTC CAAAATGTAATACGGCAGTTTTGTGCTCAGCAAGATTTAGACGCCATTTT TTACACCAATCAGCGACAATATTGATGCTTGTTTGGATAGAGGTGGGGTC CGATCCGAGTAATTTTAGATCGTCGGCAAAGGCTGTAACATGGACATCAG GGGGGAACAAATCTAATAAGCCATTAATATACAAAAGAAAGAGGAATGGT AAAATTGTGGAAAAAACCGTAAAAAATCAACAAATTTCGAAAAAAAATCG TAAAAAATTGAGACATTTGAAAAAAAAAATCTAGCAAAATTTGAAAAAAA AATCGTTTAAAATTCAGCAAATTTATTTTAAAAAATCATTAAAAATTCAG CAAATTTGGAAAAAAAAACAAATAAATCTGTAAAATTAAAAAAAAAACCA GTAGAATTTGAAAAAAAATTGTTTAAAAAATTCAGCAAATTTCTAAAAAA AAATCATAATTAATTGATAAAAATTTTTTAAAAACGTAAAAAAATATTTA AAATTCTGCAAAATTTGAAAAAAATCGTTTAAAATTCAGCCAAATTTCGA AAAAAAAAGCATTAAAAAAGAGAAAAATTGGAAAAATTCTGCACAATTTT TTAAAAATTATTATTCTGAAAAAATTTAAAAATTCATGGAAAAATCTGCA AAATTATTTTTTAAAAATCGTTAAAAATTCAGCAAAAATTGGAAAAAAAT CGTTTAAAAATCAGCAAATTTCGAAAAAATAAAACATTAAAAATTCAACA AAATTAAAATTAGAAAATCATTAAAAAATACAGCCAAACCGTAAAAAATC AGCAAATTTCGAAAAAAATTCGTTAAAACTTCAGCAAACTTCTAAAAAAA ATCATTTAAAAATGCAGGAAATACGAAAAAGAAACATCAAAAATTGAGAC AATTGGAAAAAAAATTCGTTAAAAATTAACCCAAATAAATTTGCTGAATT TTTTAGATTTTTTTTTTTATAAATTTGCTGAATTTTTGAAAAAAATTCAG CAAATTTATTTTAAAAAAATCTAAAAAATTCAGCAAATTTCTTTTTTAAA AATCGTTAAAAATTCGGGAAAACTTGGAAAAATTGTGCAAAATTCAGAAC AAAAAAATTTCAAAATTTTCCCAATTTTTAAGTTTTTATTTAGTTTTCAG AATTGTTTAATAGTGAAAAAATCATAAAAAATTCAACAAAATTTAAAATT CAAAATTTTCCAGAATTTTCATGGGTCCCGCCACGATCCACTCCAACCTT CAAAAAATCATGTAATTTCCAGGCGTTGCGGCTTCCCAAATCGGCGGAAT CACACTTCACGCGTTTTGCGGTTTTCGCTACGAAAATTCGACGCCTGAAC AGTGCCTAAAACAGGTTTTACGCCAAAATCACATGGTCCGACAGTGGAAA CAATGCTCACACTTGATAATTGACGAGATTTCCATGATTGATCGCGACTT TTTTGAAGCTCTCGAATATGTGAGCTCATTGCGTTTTGATCTACAAAAAA TGCGGGAGTTTTCCCAGCATTGCTCATTTGATCTACAAAAAATGCGGGAA TTTTCCCAGCATTGCTCATTTGATCTACAAAAAATGCGGGAATTTTCCCA GCATTGCTCATTTGATCTACAAAAAATGCGGGAATTCTCCCAGCATTGCT CATTTGATCTACAAAAAATGCGGGAATTTTTCAAGTGTGACGTCAGCACA CTCATGCGAAATCTGCTGAAAAGTCTGCGTCTCTTCTCCCGCATTTTTCG GAGATCAAACCAAAATGGGACCCGAAAATTCCAAAAAAAAATCGATAATT TCCCGTCCCAGGTCGCCCGTACCGTCCGTAATAACGATAAGCCGTTCGGT GGAATTCAGCTCATTATCACTGGAGATTTCTTTCAATTACCGCCCGTCTC GAAGGATGAACCAGTTTTTTGTTTTGAGGTGTGCGGAATTTCGGAGCATC GTTTGGACCGTCTAACTCTTAAAAAAATTTTTTTGCAGAGCGAAGCCTGG AGCCGATGTATCCAAAAAACGATTGTCCTGAAAAATGTGAAACGACAAAA TGACAATGTTTTTGTGAAAATTTTGAATAACGTTAGAGTTGGAAAGTACG TAAACTACTGGAAAAATTTAAAAATTTCGAATTTTTCAGGGTTTTTTACT AGAAATTTTGATTTTTTTCAGTGAAATTCCAATAAAAGCTGGAAATTTTC AGAAAAAAGGAAAAAATATGAAAATTTGTAATTAATTTCGAAAAATGCTG AAAATCTCCAAAACCTTCCAGAAAAGCTGGAAATTTCATAAAAATTTGGG AAAATCTGAAATTTTCAGAAAATTCAAAAAAAGCAAAAAATCTCGAAAAC CTTCCAGAGAAGCTGGAAAATTTCAGAAATTTCCAAAAAAATAAATTCTG AAAATTTCATAAAAATCACTGATTTCTGTCTTCCCTCATAAGTTGAAATG GAAGAGTTTTTGCCGAACTAGGCCATTTTGGTTCGGCCAGATCTTGGGTA GATTTACGGCGCGTTGCGTGTCGCGTCGCGGCTCGATTTTAGTTGTAAAA TTAAATGTATTAGTCCGTGTGGAGTACACGACACTTTCCCACGTGTTGTC CGGCAGGTGATTGTCAATGGAGCGCGAAAAATTCAACGAGGAAGGCCAGA ACCCCGTGATAGACCGGCCAACACGGGGTTCTGGCCTTCCTCATTTCATT TTTCGCGCTCCATTGACAATCACCTGCCGGACAACACGTGGGAAAGTGTC GTGTACTCCACACGGACAAATACATTTAGTTTTACAACTACTAATTGAGC CGCGACGCGACACGCAACGCGCCGTAAATCTACCCCAGAAATGGCCGAGC CAAAATGGCCTAGTTCGGCAAAAACTCTTCCATTTCAATTTATGAGGGAA GCCAGAAATCCGTGTGAAATTTCCAAAAAGAAGCTCCAAAAAAAAATTCC AAAAAAATCTCGATAGCCTTCCAGAAACGCTGGAAATTTCAGAAAATCTC CTGAAATTGATAAAAATTCGAAAAAAATCTCAAAATTGTTAGAAAATCAG TGAAAATTTGGAAAATTCAGAAATTAAAAAAAAAATTTTTTTTTGGAATT TAGAATTTAGAATTCTTCAAATTGTCGAAAAATGCTCCAGAAAACTTGTA AAAATTTAATTTTTTTTTTTTTGAAATTTCCAAAAAATTTATTTATTTTT CAGATGCGACTTCAAATCAGCGGATATTCTAAAGGAATCCTCGAAAAATC AATTCCCATCCAGCGTAATTCCAACCAAACTGTGCACACATTCAGATGAC GCCGATCGAATTAACAGCTCAAGCATCGAGACAACACAAGGCGACGCGAA AACCTTCCACGCCTACGATGACGAGAGTTTTGACACGCACGCCAAGGCCC GAACGTTGGCACAGAAGAAGCTTGTGCTGAAAGTTGGAGCTCAGGTGATG CTCATCAAGAATATCGATGTGATCAAGGGACTTTGTAATGGGTCACGTGG ATTTGTGGAGAAATTCTCTGAAAACGGGAATCCTATGATTCGATTTGTAT CGCAAGCCGATGCTTCCATTGAGGCACGTTTTACAGAAATGACCATTTTA TGGGCGTGGCTTTTTTTTTGGAAAATTTTTTTTTTCCAAAATTTCTGGAT TTTTCTCTAAAATGGAAAAAACCCACGAAAATTGTAAAAAATTTGAAATT TTTTAAATCGGAAAAAAATAAAATTTTCTTTCTTAAAATTAGGCTTAGGC TTAAGCTTAGGCCTGGGCTTAGTCTTAGGTTTATGCTTAAATTTGAAAAA AAAAATTTCTAATTTTTTCCAGATTTTTCCGTTTTTTTTTTCAGAGAAAA TCTAAAATTTTCGATTTCTACCTGTTTTTCAAAAAAAGTTAAAAAAAACA TTTTCGCAAATTTTGTAGAAATTTTTCTTTTTTTTTTCTTAAAATTAGGC TTAGGCTTAGGCTTATGCTTAGGCTTAGGCTTAGGCTTATTCGTAGGACT ATGCTTTGGCTTAGACTTAGACTTAAGCCTAAGCCTAAGCCTAACCCTCT TAAAAAGTTACAAGAAGGTTTTTCCTTGCGCTTGGAGCGCAAAAGAAAAG AAAAAGAGCTATTCAGACTTAGGGTGCCCAACTGGAATAAAACATTGGAA ATCCTTATGACACACTTAAGCCTAAAGGCCCGAAAAACATACTAGGATGC CCAACTGGAATAAAATATTGGAAATCCTTATGACACACCGGCGGTATGGC GCGGCTTAAGCCTAAATAGCCACTTTTATCAAAATACATTTGAGCTCGTC TTGCGTTTTACTTTGACTTCTCAGGCAACTCAAAAGTAATCTGTGGATAT TTTTCAGTAATCTAAATGAAGACTATAGATTACTAAGAAACTTGGAGATT TCATAATATTTGGGGGGATGCGAGCATCCATTGGAGATTTGCCATTTGAT AGAACTTTTAGCGGCAAAAGTCCAAAACAAAGCTCACAGTGGGCTCTCAA AGATCATAAAATAGCACTGTAACGAAGAACTTTAACGATCTAACGAAGCA ATTTTACAAATTCACTTTGGTAGCTCATATCTCCGTGGATAAAATTTTTA CAGAAAAGTCATCAACTGATAAGTTGTTGATATTGTTGTAAAGAACAAGT TTGTAGTTGAAAGTTTTTTTTACCAAAAAATTTTTGTTTGAGAGAAAAGC ATTAGAAACGGAATAGCATCATAAAAATAACAACAGCAGTTGCCGCACTT CACGCGGTTCTATCTCAAACAAAAGCGGAGATATGAGCTACCAAAGTGAA ATTGGAAAATTGGCCCTCCAATGCTTCGTTAAAGTGCTATTTTCAGGATC TTTGAGAGCCCGCCGTGAGCTTGGTTCTGGAGTTATATTGATCAAATTGA CCCTCCAGTAAAGGAGGACCTTTGATGAATATAATCACTCTGATGGTATT TAATTCCGATGAGTAATCCATTTTTCTTTTTCTCACATTTGTGAACCAAA AATAAGTTTTAAATTAAGGCGGGATATTCTAAGGTGTGATAACATATGTT ATTTATTTTTAAATTTAAATAAAGTTTTTTTTTAATTTTTGCTAAAAAAC GAATAGTTTACAACCGCCTCGCTCAAATGTATTTTGATAAAAGTGGCTAT TTAGGCTTAAGCCGCGCCATACCGCCGGTGTGTCATAAGGATTTCCAATA TTTTATTCCAGTTGGGCATCCTAGTATGTTTTTCGGGCCTTTAGGCTTAA GTGTGTCATAAGGATTTCCAATATTTTATTCCAGTTGGGCATCCTAGTTT TTTTTTTTCGGGCCCTTAGGCTTAAGTGTGTCATAAGGATTTCCAATGTT TTATTCCAGTTGGGCACCCTAAGTCTAAATAGCTCTTTTTCTTTTCTTTT GCGCTCCAAGCGCAAGGAAAAACCTTCATGTAACTTTTTAAGAGGGTTTC ATATATTTTATTAAAATCGGGGCGAAGCCCTGATTTTAAATCCATATTGT TTTTGTTTTTGTCTTCCACTATCCCTGCAAATAGGAAAGAGAATGTGTTC TTTCTGATGAAGTAAAAATCATCATAAAATCTTGAAAACTGAGAGCAGGA GGTAATATTTGAATATATTGGGTTGTAAATGTGTGTCTCCCTGTGGGTGG GGTGGCGATGTGTTGGCAGCCAATCCTTCAACGAACTGTATCTCCCGCCT GTATCTCCCTTCAAAGTGAGAATTGGGTTACAAAAATTTGAGGGAATATG AAAAAAGGTGTGAGGATTTCAAAAATATTATTGTTGAAACACCAGACCAA ACCACTTTTTCTGGGCAAGAGACAGAAAATTAATTTTTTGAAAAATTTCA AACTGGCACAAAATTTTTTCAAAAACAAATTTTCACAAATTGTTAAAAGA TGCCATTTTTAATCAATATTGTTCATTGAACACAGAAAAGAAAACGAAGA TTCATCAAAAAATGAGTGAAAAATCGCAAAAATTCGAAAAAATCCGTGCT GAAAAACTCGAGTTTTTGGCGGTGCTGAAAAAAATTTTCACTAAAATTTT TTTGAAACTTAGTTTTTCGGATTTAGCGTCAAATTTTGAATCTATATAAA AAAAAAAATTAAAATTGATCTCAGATTGAGTGAATAATAAACGCTCAAAG TTGAAAAATGAACAACGCAAAAACGGCAGTAACTTGCTTCAAGGTCGGTT GTCTCAGTGAGTTTTCACTCAATTTTCGAAATTTTTTTGCTCTATCGCTT TAGAAATATTTGTAATTTCATTTTTTTTCCTCAAAATCAAAATATCTCAA ACGACCGCCATCCTACGAGAAGGGAAAAAAAAAGTTTTTGGAAAAAAAAT CAAAAATTTTTTTTCTGCCTCGATTTTCAAAATGAAAAAATCACTTTTTC GGAATAAACTTTTTCACAAATGTATTTTGATAAAAGTGGCTATTTAGGCT TAAGCCGCGCCATACCGCCGGTGTGTCATAAGGATTTCCAATATTTTATT CCAGTTGGGCATCCTAGTATGTTTTTCGGGCCTTTAGGCTTAAGTGTGTC ATAAGGATTTCCAATATTTTATTCCAGTTGGGCATCCTAGTTTTTTTTTC GGGCCCTTAGGCTTAAGTGTGTCATAAGGATTTCCAATGTTTTATTCCAG TTGGGCACCCTAAGTCTGAATAGCTCTTTTTCTTTTCTTTTGCGCTCCAA GCGCAAGGAAAAACCTTCTTGTAACTTTTTAAGAGGGTTAGGCTTATGCT TAAGCTTAGGGTTAGGGTTAGGGTTAGGCGTAGGCGTAGGCTTAGGTTTA GGCTTCGGCTTCAGGAATATTTAAAAAAAAAATCGAAAAATAGATTTTGC GAAAAAAAATCGTGATAAAGCCTGCTAAAATTTTCAAAAAAATTAAATTT TTCAAATTTTTCAAATTCCCAAGATTTTGGTCTCGCAGCGAAAACATCCA ACTACAGTAACCCTCGCCCTCTCCAATTTTCAGATCCGCCGCTCCAAGTT CTCAGTCCGCATTCCCGGGAGTGATGCTCCGTTGATTCGCCGTCAACTCC CACTCCAACTCGCCTGGGCCATCTCCATTCACAAATCGCAGGGAATGACG CTCGACTGTGCGGAAATTTCGTTGGAGCGCGTTTTCGCCGACGGACAGGC GTATGTGGCGTTGTCGCGCGCACGATCACTGGCGGCAATTCGAATTATCG GCTTCGACGCGTCGTGTGTCCGAGCGAATTCAAAGGTGAACAGGGGATTT TCGAGATGGAAATCTATGAAAAATGGATGGATGGTGTTAGATATCTCCTT TTCGTGGGTTCTCTCACGTGGTGTCAGAGTGCCTCATTTCGGCTTGATCT ACTGTGTAGATCTACAAAAAATGCGGGAGATGAGGAGACTCAGACTTCTC AACTGGTTTCGCATGGTTTAGAACGTGCTGACGTCACTTTTCTCTGGGCA TAAAATTCCCGCATTTTTTGTAGATCAACCGGTAAGGGATCTCTCAGCTA CGTGGAAAATTATCGATTTTTTATCGAATTTTTTGCAGGTTATCGATTTT TACAAATCCATCGAGGCAGAATGCGACGACGAACAGGACTGGGAAGCCCC TGCTGCTGGACCAAGGCTCAAGCGAGTTCGATCGATTTAATTTTTTTTTT TAAATTTTTTTGTGATCTCCAAATGTTCTGTCTTTCTGTCTTCCCCCCCC CCCCGCCAAAATTCATTAACTGTTTTATTTCACAACACTCTGTATCATCA TAATTTTCACATAAAATTGGCTATTTCAATGTTGACGTCGAATTTTTAGT CCTATCAGCGTCATCGGATCTGAAAAAATGGAAAACTTGAACAAAAAAGC AGGGGGTGGCCTAGAAAGCACAAAAAAAACTCGGACACAGTTCAACGGAG GCAGTTTTTGGAAAAAAAAAAACGTCATTTTCGTATAGCCACACTGAAAT TGAAAGAATTCTGGCCGAGTTTTCCAAATTCTAGGCCACCATGCAAACCG ACATTTTGGGCGGAAAAGTGCCGGTGGCCGTGGAAGAAGGAAAAACTCGG CCACTCTTCTATGTACTCCTCTCGGAGAATTGTGTTTTCCATGGCCGAGT TTTTGTGTTTTCTAGGTCATGTCGGCATTTTTCTTAGTCAGTTTCAAAGG AAATACGATACCTGGTCTCGACGCGAAAATTTTTTAATTAAATCCAAAAA GACGTGCGCCTTTAAAAAGTACTGTAATTCCAAACTTTCGTTGTTGGGAA ATTTTTATCGATTTTTCGTAGTTTTCAAAAAAAATAATCAAATGTACACA GGGTTCTGTTCTTCCTTATTGATTTTTTCGCGCTCCATTGACAATCGCCC GCAGGATAACGCGTGGGAAAGTCGTGTACTCCACACGGACATCGAGACGC GACGCGACACGCAACGCGCCGTGAATCTACCCCAAATATGGCCGAGCCAA AATGGCCTAGTTCGGCAAACTCTTCCATTTCGATTTATGAGGGAAACCAG AAATCCGTGAGTAGTGAGAAAAACAACGAAAAAATCGATAAAATTTCCCA ACAACGAAAGTTTGAGATTACAGTAGTCTTTAAAGGCGCACACTTTTTCG CATTTAACATAAATTTGTCGTGGAGAGAGTATTTTTGGCGCAAAACTTCG CATTCGGGTAATGATAATAGAAGAATTGAAACTCACAAATTCTCCGCCGT CTCCTCAAGCAGCAGCGGCACAATAAACATGAAATACACGGCCAACACGA AATGAATCGGCACCATCGACACAATGAACAACGACATTCGGAGCATGTGC TCCAAAACTGTCGGCCGCAACTTTTTCGACGGATTCTCAAAGACGAGATA CACTTGCATCGGGCTGTGCACATCTTGAACCGACTTCTTCTTCATTACAG CGCTCCCTTCTCTGGGCAGCAGGTAGCGTGTCCACGTGGTGTAGGGTGAC TCAGTGGTTGTGTGATTTATCGGCGTGAGCTGGAGCATTTTTGCAGAGTC GCAGGCCAAGGTAGCGGAGGTGTTGGCTCTGAAAGTAGATTTCATACAGG ATGGTAATTTCGGGGAGTACTGTAGTGGTGTTATAGTGGTACTGTAGGAG TACACTGTAGGGGAACTGTAGGGGTGCTGTAGCAGTACTGAGGGGGGTAC TGTAGGAGTACTGTAAGGGTGCTGTGGGGGTACTGTAGGAGTAATGTGGG GGTACTGTAGGAGTACTGTAGGAGCACTGTAGGGGAACTGTAAGGATACT GTAGGAGTAATGTAGATGTACTGTAAGGGTACTGTAGGGGTGCGCTAGTG ATACTGTAGGGATCATGTAGGAGTACTGTAGAAGTCCTGTAAGGGTACTG TAAGGGTACTGTAGAGGTGCGCTAGTTGTACTGTAAGGGTACTGTAGGGG TACTGTAGGTGTACTGTAGGAGTAAAGTAGATTAACTGTAAGGGTACTAT AGGGGTACGCTAGTGGTACTGTAGGAGCACTGTAGGCGTACTGTAAGGGT ACTGTAGATGTACTGAAGTAGTTCTGTAAAAGGTACTGTAGGGGTACTGT AAGAGCACTCTAGGGGCATTGTAGGGGTACTGTAGGTGTACTGTAAGGCT ACTGTAGATGTACTGTAAGGGTACTGTAGTTGTTCTGTAAAGGGTACTGT TGGGGTACTGTAGGTTTACTGTAAGGGTACTGCAGGGGTGCTGTAGGGAT ACTGTAGGAGTACTGTAGTGGTTCTATAGGAAGACAAACTTTTTTTTGAA TTTACTCATCGGAGAATCTAATATTTTTCACCAAATCGATACACCATAAA AATTTTAGGACCCAAAGCTAAAAAAAAAAACCAACTTCTCCAATATCATC TCCATCAATTCCAGTTGTTCTGTGCAGTTCGCCATCCCTTCCTTCTTCAA TTCCTTCGCCCGATTCTCCAAATCGTCCACCATCTTCACACCCCGCCGAC ACGCCGTCTCCACATACCGTTCCGTACCAGCTTCCGCAATTTTCATAAGC TTCTCGACAGACTCGTTAAACTTGCGTGTTGGCTTGAACAAATGGGAACC TCGAATCGCCTCGGGAACCGGATTTCCACCTCCTTCCACCAGGAGGCTGA ACAGTGTCGTTTTCTGCCTGACGGCCTTAGCCAGGACGTGCCCATAGTTG ATCATGTAGATTTGCCCGTTTTCAGATATGTTGAATGTTTCAGCAGATGA GAACATTTGAAAATTATTTGATTGTGCGTGTTCATGCACCACAGTAATGA ATGCGAGGCGGCAAATTAAAACTCTGAAAGTTTAGATAATTGTACTTTAG TTGAAATCTACTTTGGTTGACAGGTGCATCGACTAGACTAAAAAAAAAAG CAGGTAGGTAGGTAGGTAGGTAGGTAGGTAGGTAGGTAGGTAGGTAGGTA GGTAGGTAGGTAAGTAGGTAAAGCGAGACACGGTGCATCGATCTGACTTT AAAAATCTCAATCTCGTATCTTAAGCGTCTTTGGTTCTGTCAGGGAAGCA GGTAGGGGGGAGGTAGGTGTGATCAGGCAGAGCACCGGAGTTAATATCTG GTGGATTGTGGGCTGCTAATAGGTAGGTAGGCAGGTAAGCAAGCAAGCAA GCAGGCAGGTAGGTAGGTAGGTAGGTAGGCAGGCAGGTATCAGTTGACAA CTTTTTGATGAAACTAAACGGAGCCGAGTTATAAGGTGCCAAAGTTGCAC TAGACATGGTGCATCGACCTAACTTGAACAACTCGTATCTCAAGTGTCTT TGGTTCTATTTGGGAGGCAGGTAGGTAGGCAGGTAGGTAGGTATATCTTA GGTTGTTTCAAAACTATTATACATTAAAAATCAATAAAAATATTTTGCAC GAATTTTATCAGTTGACAACTTTTTGATAAAACTAAAAAGAGCCGAGATA TTGTAAGTTGCAAAAGTTGAACGAGACATGGTGCATGGAAGGTAGGTAGG TAGGTAGGTATTTAAGTAGGTAGGTAGGTAGGTAAGCATTCCGTATTTCT CTCTACTTTGACAGCTTATATCCTGGTTGTTTTGTGTTGTATCAAAAAAT GTTTAACAAAGATAACATAGAAAAATATTTAGCACGTAGCAAATTTAAAA AACTAGGTTGGTAGGTAGGTAGGTAGGTAGGTAGGTAGGTAGGTAGAAAG GCAGGCATGTAAGTAGTAGGTAGGTAAAAGTACTCACGTGGAGAACATCA AGCAGAAGATCGCTGAGCAAATTGAAAGTGGTACTGGAAGTTGAGCAAGT ATTTTGGAGTATTTTTCTGGAAAAAAATAAGTATTCAAAGTAACTAAAAT AAAATACCAACTCCGAAACTCAAACTTCATAATAAACAAAATCGTCAGAA TCCCACTGGAGAGGACTGCAAAAGTCACTGTCGTGTTGGCAGACGTCTGA TAAAAATCGAGGGTGTGTCCGGATGGTAGGAGAAGCACATTATCGTGATA CTTTGACACAAATTCCTCAATAGACGCCAACGCTTTTCCGAAAACTGGAA TCGAAATGTTCAAAGCATTGAGAATTATTTTCTGGTACTCTTCCACCAGG ATGTTGTACTCCGAGTTTAGATCCGCTGAAAAATTTAAATTTGTATTAAA TTGGGCAATACTCGTACTTGCCTACCTGCCTACTGGTAGGTAAGCAGCCT ACTTATTTTCAACTTACAAAACTCCATATACTTTGTAACGTTTTCCAATT TCGCAAAAATCGATTTCTCGAAATATTTGCACTTCCCCTCGACAAATGAT TTCTTGGCGGGAATCTTCAGGAACAGCTGAAAATTTTTTTTTCCGGTGGC CGAGTTTTTTCACGGCCACGACGTACCTTATTAAACATGGTGAAGTTGGC GTAGTCATGCAAGAACCAATTTATTCGGCGGCGTTCGTTTTCGGTGACGG CGAAGTCTCGTTTGAACAAGCACGGTATGTAGGACAGCTTACGGTGGAGA CGCTCTTTGATGGCTGGAAGTTATGACGTCATGAATAATAAGGGATGAGA TTTCTAGGCCACGTGTGACGTCACAGCAATCCCCGAAACCTTTTTGGATG GCCGAGTTTTACCGATTTCTAGGTCATCGAGCGAAACTTTTGTGATACTT TGGCAATGGTCATCAGGTAGACAAACAACGTGATAATTTCTAGGCCACGC TTGACGTCACGTGGCCGAGATTTCGCGCCAGGACCTAGAACTAGACATGG TGCATCGACCTAACTTAAACAACTCGTATCTCAGGTGCCAGGTAGGTAGG TAGGCAGTCAAGCAGATAGGTAGGTAGGCAGGTATTTTAATTTCATTTCT GCGGCTACAACACAATTTCTCTTCCAATCAAGGACGTAAATTTCTAGGCC ACACATGCAGAGTGCGGACTAATAATTAAAGTGTTTTACGACATGGCCGA GAAAAGAGAAACCTAGGCCATGGTAGTTAGGTGTGACGTAACGCCACTAT AAAACTATAAAACTCACGCATAAAACTGTGATCATTGGCGGTTTCGAGCA TCGTCCTTCCATAGACCGCATCCTGAGTACACTCTCGTAAATTGGCGGCC AAAATTGTTAGACCAAGGATACAAAATATGGGGATAATGGTGAATCCGGA GCGATTATCATCCAACCAATACACGATTACTTCGATAACCTCGAAGAGCA GCAATTTCCAGACGACGAGGAATATCAGCAGAGCTGTGATCAGGCAGAGC ACCGAGATTATTATCTGGCGGATTGTGGGCTGAAAATAGGTAGGTAGGTA GGTAGGTAGGTAGGTAGGTAGGTAGGTAGGTAGGTAGGTAGGTAGGTAAG TAGGTGGTAGGTAGGGAGGCAGGTATCAGCTGCCAACTTTTCGATAAATA TTAAACGGAGCCGAAATATAAGTTGCCAAAGTTGTACTAGACATGGTGCA TCGACCTTACTTAAACAACTAGGTAGGTAGGTAGGTAGGCAGGCAGCTAG GCAAGTAGGTAAACTCACCAAATGCCTGAAAACAATTGCAAGAACATCGG AATAACCCGAGCTCCTCCCGTTCAACGTCGCGACCACAAGCGCGTGCACA CTTTTCCGCAGCTTCTCATCATCGCGATCAGCGCAAAAATCCTCGATTAT CTCGAATCGATGGCTCTTTTTTGTGTGCGCCGGGTCTAATTTATAGCTGA TCGGCTCGGGAAACCAATCGTCACACTGCAGCTTCGCATCCTCCAAGCTG AAGCCGTGAGAAAACTGTGCACTGCATAGGAATAGAAGTAATTTCAGTTT CATTTTGTTCTGGAAGAAGGCATTTTTATGGATGGAGTTTGAAAATAATA ATTAAAAAAAAAACTTACAGCTGGAACTTTGTGAAATCGATAATGAAACA ATAAATCTAAAAAAAGCTCAAAAAATTTTTGACAAAATTTAAAACTGTAA CGTGTATGAAGGTCACGTGAAAACTGAAAACTCACCAAAAATGTCGAAAA ATAGCAAGAAACTAGGCACACGTAGACTTATGGTAGGCAGGAAGGCGTAG GCGTTGATCCAGGCAGGGTCACGTCTTGAAGGCAGACTGTTAGGTATAGG TAGGCATAGGTAGCCATGTAGGCGTAAAGGCAGGAAGGCATCTCTAGATC CTTTTTGTGGCAGATTGGCCGCTTTGCAGGCAGGCAGGTGTGGGTGGCCT AGTAGACCGAAAAACAAGCAGGTAAAGTTCCTATAGTAGTAGGTAGGCGA GCCAAACCTTTTTTGTAGATGATGAAGTAGGTGTAGGCCGTCTTTTGAAG GCAGTGAGGCAGACAAGGTTAGGTCGTCGCAAAGGTTGGCTGGAAGGTAG GCACGTGGGTCAGCAGATAAGCGTAGGCAGGCATAGGCAGGAAGGCATAG GCAGGTAGACGTAGGCAAGTAGACGTAGACAGGATAAGATTCAAATATGA AAATCGTGAAAAGGGGAAAATTTCTTATTCTTCGAGTGCGCGACAGTATG CGTAGGCAGGTAGGCGTTGGCAGGTAGGCGTAGATAGGTAGGCGTATGCA GGTAGGCGTAGGCAGGTAGGCGTAGTCAGGTAGATAAGCAGGTAGTCGTA GACCGGGTAGGCGTAGGCAGGTAGGCGCATGCAGATAGTCCTAGGCAGGT AGGCGTAGGTACGTATGCGTTGGCAGGTAGGTGTTGGCAGGTAGGCGCAG GCAGGTAGACGTAAGCAGGTAGGCGTAGGCAGGTAGGCGTAGGTAGCTAG GCGAAGGCACGTAGGCGTAGGTAGGCAGGCATAGGCAGGTAGGAGTAGGC GTAGACATGCGCACATGAAAACCTTATAAATGTTTCAACCCCATCATCAT CATCCCATTTTTCTCTCGATCAAAACGAAAAAATGTGCGCAAACACAAAT TGCATCCATTTCTCTCTCTTTTTTACTCACTTATATATCTCTCATCACTT TATCCCCCGTTTTTCAATCCCTTCCAAACACTTCCAAAACTCTCCAGAAC TCCTAGAGAGTAACACGAGAGAAAATATTTGAACTTTTGTCTCGACCAAG TTTTTTTTTTTGGGATTTTTTCTTTGGATTTCTACAAATTTGATGTATTT TTTCCATTTTTCGTGCAAAATATGGTAATGGACTAGGTTTTTGCTACGTG GCCTAGAAAAATCTCGGCCACCGATTCTGAGCTGTTGCAGCGGCCGCGGC CGAGGGTTTTTCTCTTCAATCGATACCAATCCCTCTTTTACGCAAGGAAT CACGTGGAGTCAGAGTGTCTCATTTCGTCTTGATCTACGTAGATCTACAA AAAATGCGGGAACTGATTTCGTATCGTTAAGAACATGCTGACGTCACATT TTTTTATCATAAAATTCCCGCATTTTTTGTAGATCAAACCGTAATGGGAC AGCCTGGCACCACGTGCTCTTCCAACCTTTATATTTTTTTTGACAAAATC TTGAGAATTTCTAGAATTTCAACGAAAATCCAATTTTATACCTAAACTTA AAAAAAAATTGCTAAATTGTGTTCGACTAGCAAAAAATGCACCCAGTTTT ACAAAAAATCTTTTTTTCTGAAAAAAAATTCAGTGGAAAATGTCTATAAT TTTCAGTAATTCATACTAAAAAAAATCCAATTTTTACAACAAGTTTTTGT GGCCGCGGCCGAGGTTTTTCCTCTTCCACGTGGTGTCAGAGTGTCTCATT TCGGCTTGATCTACTTAGATCTACAAAAAACGCGGAAACTGATTTCTCAT GGTTAAGAACGCGCTGACGTCACATTTTTTTGATCGTAAAATTCCCGCAT TTTTTGTAGATCAAACCGTGATGGGACAGCCTGGCATTACGTGAAAACAA ACAATGCAAGCGCGCTCTAATGCGAATTTATTTGCTCTACCACCAGATAA ATTCCACTTCTTCACAATAAACCTAAATATTTTTTGTGTCAAAATCTTGA GAATTCTTAGAATTCCAGAATTTCAGCGAAAACCTAATTTCCGATTTTGT TATTGTTCAGGGGAACAAGTGAGCCACACAGCTTCCGCTTCTGCTCCGAA TTCGATTCCCCTGAGGCATTTTTGTTCGAAAAAAGCCTCATTTGTCATAC TTGTCGGCAACTTTCTTCGAAGTTTTTGTTCTTGTTTCAAATAATTTTTC TTCAATACTTGTTCCTTCCGTCCCAGCAGATGTTCTTTTGCGGGGGGGGG GGGGGAGGGGAGAAAAAAAATAAGAGAAGAAGCAGAAACTCGACACTTTT GTGTCCGCATTTCTCGTAAAGTTTTCAGATTTTTGAGCTTTTCAAGCTAT AGCTGAACCACCTAGCAAATTTCGCCGCAGAGTTGATTTCTCCGGGAGTG GGCTTTCTACTGGAGACCTCACTTTTTTTGCCTTTTACTAGAGCTTTTTA ATTTTTTAATAATTTATTGCAGCTCTATGGATTTTCCAAAAAAAACCACC GAAAAGCCCGAAAAATCAAAATTTTCGTTTTTAAAACCCTAAATTCCATA CTCCGTCCAAAGAACACTCACATAAAAATGAAGAGATTTCGCAAAAAAAG TGAAATCCAATTCAATTTATTTCAATTTTGAAGAGTGCGTTCGTCAGCTT TTTTTTCGACAAAAAAAAAAGAAAATGTGTAGTGTAGTTTTCAACAGATT TATTGTTTTATTAATATAATAGAAATCAAACCTTCTTTCTGCCTACCTAC ATGGCTACCTACATGCCTACTTGCAAGTAGACCTGTCTATCTAGGTACTT ATCTCACACCTCTTTACCTACATACCTACCTTCCTACTCACCTGCCTACT CATGTAGACATAAGTGATCGTCAAAAAAGAAGCTGATGGATCAAAAGTTT TTGGAAATTTATTTCGATTTTCAGGTTTTAAAAATTGCGGAAGATGTTTA ATTTTTGACGATTAGTTTAGAATTTTTTTTAATTAAGAAAAAAAAATTAT TATTTTATTTTTAAATTACTCCAAATTTTCTTCTGATTCCGAATATCTAT GTGAAACTTTTTTTAATTCCTTGGTTTTATATCTAAGCTTAAAATCGCTA ATTTCATTTGTGCACCCAAGAGATTTCGAATTTTCACGGGGTTCTGGCCT TCCTCCTTGAATTTTTCGCGCTCCATATAATATTGACAACCGGGCAACGC GTGGGAAAGTCGTGTACTCCACACGGACAAATACATTTAGTTTTACAACT AAAATCGAGCCGCAACGCGACACGCAACGCGCCGTAAATCTACCCCAGAT ATGGCCGAGCCAAAATGGCCTAGTTCGGCCAAAACTCTTCCATTTCAATT TATGAGGGAAGCCAGAAATCCCGTGTAATTTTCGCGCCAGAGACGCCATG TGTCGATTTACGAGATTGGTGTATATTTACAAAATGCGTAATATTTATAG AATGCTGATTTCCGTTTTTTTTTTTTGAAAAATGTCATGTGTGCACAAAT TAAATTCGGCGATTTTAAGCTTAAATATAAAATCAGGGAAATTTTTTAAA TTTTTTTCACGTAGATATCCGGAATCAGGGGAAAATTTGGAGGCAATTAA AAATGTCTCCCTGATCATTTAAATTCTTTAAAAGTACTCTTCAGAATCCT TTTTTCCTAACCAAATAAAATAATTTCTGACGCCTTTTTTTTCTCTTTTC AATAAGAAGCAAAAAACAGACGAACCTATTCCAATTTCCCACCACACCAA TTCGTTCTTTCCGCATTCTTTTTCTTCCATTATTTATCTCCCTTTTCCTC CATTCTCTGTGCTCTTATATATATCCATCATCCCATTTTCTTTCTTGTTG TGTGGTATGCTCTTTTTCATCCATTATTCGAAAATTCTCATTTTCCAAAG TTTTTTGTCAAATACATTTTAAAAATTTTTTAAACCAAATCTCGCCGTCC ATCGATTTTAAAATACCTTTTTTGAGAAGTTTTCAAGAAATTTCATTATG AAATTCGGTGTTTTCAGACAATTTTGAGTCTAATAAAACAATTTAAAATT TTGACTACATCACCTTTAACTTGTAGAATGCCGTTTAAACACACTTATCA CTTTTTCAGAATCCCATATGCAATGGTATCACTTGCTCCTGCTAATTCTC ATGATCCTGGTCCTAATCCCATGTTTCTGGCAAGCTTGGCTACGATTTTC CCGTCGATTCTCCGATTCCTATGATCTATCAAGAAATGCGCAAAAGCGTG ATGAGATTTCAAAGGAGTTTTATGTATAGCTTACTGACAGGATTTCAAAA AACAGTTACGGTAAGATTTTTCGAAAAATTTCACGGATTTCTGGCTTCTT GCCGAACTAGGCCATTTTGGCTCGGCCATATCTGGGGTAGATTTACGGCG CGTCGCGTGTCGCGTCGCGGCTCGATTTTATTTGTAAAACTAAAGGTATT TGTCCGTGTGGAGTACACGACTTTCCCACGCGTTGTCCGGCAGGCGATTG TCAATGGAGCGCGAAAAATTCAATGAGGAAGGCCAGAACCCCGTGCCTGT ATAGGATATTTTGAATCTCAAAAGAATTTGAAGATTTGAGTTTTTTGAGT TTGAGGTGGAAAAAATCGTAAAAAATTCCTTTCCGATAAATTTTCGGATG CAAAAATGTGATCCATGCTGTAAAAAATCCAAGAAAGCCAAGAAATGTGC GGAGCCTATTTTCCGATTTTATATTACTTTTTATTTCAAAACTTGATTCA AAAATATCAAATTCGGAAAAAAAACCGCAACTTGGTAAAATTTCCTCGAA AAATATTCTCCGCTTAGGCTCCGCCCCTCTCTTGGCATTTCGAATTTTTT CGTTAAATTTTTGGAAACTGAAATTAAGTCCAAAAAGAACCAAGAAACGG GCGGAGCCTATTATGGGATTGAAAAGACATGGTGCATCGATATGGAAACG GCTTTTAATTTGGTTTTTTTTAAATAAGAAACTAGTAAAATTCAAGTGGC CTAGCTTTCAACTCTTCCATAATTCCAGGGTACATTCCAACTGGTCATTG CTCATTGCTCTCTCTTTATGCTTCTCATCACCAACGAATCCACTCAATTT TCACTCAAGCTGTCATCTCCAGCAGTGTCTCTCAATTTAATTATGCTTGA AATTGTTTTATAAAATGAAACAACACATACTCTGTAAAAGCAATTTATTA TTAAAAAGTATATATATACACGTATTCCTGGGTGGGTATTGAGACTAACG GAAGCGACATGGAGGAGAATTTGAATTTCATTAAAAAAAAAAAACAAAGA GGTAGGTTACTGTAGCATCCAATCTGGAGGCTGCACAAAGAAGACTCCAC CGTCAGTGGCGCAATATGTTGGACACACCTGGAACGTTGAAACATTATTT ATTTCTTTAAAATTTTCTTTGTCTAAGCCTGAGCCTAAGCCTGAGCCTAA GCCTAAGTCTAAGCCTAAGCCTAAGACTAAGCCTAAGCCTGAACCTAACC CTAGGCCTAAGCCTAAGAAAAAGCCTAAGCTTGAGCCTAAGCCTAAGCCT AAGCTAAAGCCAAAACCTAAGCCTAAGCCTAAGCCTAAACCTAAACCTAA ACCTAAGCCCGAGCTTAAACCTGAGCCGATACCTAAGCCTAAGCCTAAGC CTATTCCTAAGCTTAAATATAAACCTAAACCTAAGCCTAAGCCTAAGCCA AGCGCTGAGCGTAACTTAGAGCCTAAGCTGAGCCTGAGCCTAAAACTAAG CCTAAGCCTAAGCTTGATCTTAAGCTTAAACCTAAGCCCTGAAAATTTTT TTTTGAACTCCACAACAAAATTTGTAGAATGTTTTTAAAAATTGGGATTC TGAAATTCCCCGCCAAAAAGTTTAAAAACTTCACATTTTAATTTATCTGT AAAATTTATATAAATCCCTCTTAGATTTTGAATTTCGCGGCAAAACTTGT AGAACATTTCAAAAATTTACTTTCGCGCCAAAGATTGTCGCGCGAAATTT ACAATTTTTCTATAAAAAATGTATTTCATAGAATTTCAAAAAATCGAAAA TCGCGCCAAAAATTTTTAAAAATTTTTTTCAGTATTGTGACGTCATAGAC TACAAACTAACCCCTCTATTGCCTTCCTCCCCGTGCTCTCCAATGAGTCC TTCGGCTCCAGCGGCTCCATCATTCCCTGGGAACCCGGGCTTTCCTTTTT TTCCTCGTGGGCCTTGTGCACCAATCGGGCCGTCGATACCAGGCATACCA GACGGTCCTGGCGGCCCGAATTCTCCTTCCTCTCCGATCGGACCTGCTGG TCCCGGGATGAACGGTTTCGGGGTGGCGTCCGCACCCGGGTCGCCCATTT CTCCATCCAGTCCTGGGATTCCCTGAGGGCCTTGTAGGCCTTTTGGTCCC ATTTTTCCATTTTCCGCGCGAAGTCCATTCTTTCCGGGTAGTCCTGGCTT ACCAGTGTCTCCTTTCACTCCCTGAAAATTTAGTTTAGTGGTATAGGCCT ATCAAATAGGCTTACCGTAATCCCAGTGGTTCCTTGTACTCCTCTCGGAC ACGGATCCGCACACAAAGACTTATAATTCACAGGAGGCTCACATGGTAGG CGCGCTGGAAGTCCAGGCGCACCTTCCGATCCTTTCGTTCCAGGAAGACC GTCTCTTCCAGGGATCCCCGGGGGTCCTTGTGGATGACGGCACTCACATA CTCGGGATCTTGCGGTTTGGCCGGTTTCGTGTAGGAAATCGTCGATTTCA TCTCTTTTCTGGCGGGTTATGTTTTGGAAATCGTTGGCGACATCGGATAG CATGCTTTTCATCTCGAGGGCGCTTTCCTGGAAATTTAAATTTGCTTGAA ATTTTCAAACTTGTTATATTATAATTTACAAAATACTGACTGCCTTTGTA AGTTTTTTATTACAGGAACACAAAATTCTAAGAATGCGTACTGCACACTA TATTTGACGTGCAAGATATCTCGTAGCAAAATCTACAGTAACTCTTAAAA TGACTACTGTAGCGCTTGTGTCGATTTACGGGCTCGATTTTCGCAACTTT TTTTCTTTCGGATTTCCTTCGTTTCCTCGTATTGTTTTCTAACTTTTTAT TTCAAAATTTCAATATTCTATCGATAAATAAATCATTTTAATTTATTTCG AAAATCGAGCCCGTAAATCGACACAAGCGCTACACGAGTCATTTAAAGGA TTACTGTAGTTTTCGCTACGAGATATTTTGCGCGTCAAACATGTTGTGCA ATACGCATTCTCAGAATTTTGTGTTTCTCTAATACTGTGTTTTTAGGATT TTGAATGAAAGGAAAAGCCCGAAACTTTTAAACAAATTTTTCGGTGCATT CTGTATCAAAAAAGCTGAATAAAATTGTACAAAAAAATGCCACATTTTAT TGAAAAATTGATAATAAAATAATTTGTTTTCAAATAATTTTTGAATTTCT CAATTTTTTGGAATTTTTGGATTTTTTCGGGCCAGAAAGTAGGCATTCTC ATGAACTGATGTTTTCTTCATAATAATATATTCAAAAAAACGGTCTCCCA CAAAAAAAGGTCCGAGAGGCGAACAAGGTTGTAAAACGTTGCTATTGTTT ATTTACAACCGCCATTATACCCCTATAGGGGTTGTAACACCACATAACAA TTTGATAAGATGCACACAGTAGGGAGAGGGACCTAATTTAAAAATATAAG AATTTTCTCATTAAATACAATTTTTCTCTATTTCTTTCAGGAATATCGAG AGGAAAATCAGCGAAATTTTTGGAAATTTTTGGTTTTTTTCTAACGAAAC AAAAAAAATTTGAAAAATTTCAAGAAATTCTGTGTATTTATCGATAAAAT TTCAGAAATCAAGGGGGTCGTATAGAAGTTAGACGGTCGGTTTTTCGACT TTCAGCTAACTTTATGAAATTTCATTTGTTCAGGTTTTCTGACATTTAAA ATCAAATGGCATTAGCAGTTTTTCATGAAAAGTTTCAGAAAGTCTCAAAA CTCCAAATTTTAGGAGGGTCGTATAGAAGTTGGACGCACTAAAAAAAAAG GAAAAATGTGGTTCTAATTATTACGGAAACACTAAATTCTGAGAATGCGT ATTGCACAAAATATTTGATGCGCAAAACATCTCGTAGCGAAGACTACAGT AATTCTTTAAATGTCTACTATTGTAGCGATTGTGTCGACACGTGGTGCCA GATTGTCTCATTTCGGCTTGATCTACGTAGATCTACAAAAAATGCGGGAG AAGAGACGCAGACTTCTCAACTGATTTCTCATGGTTAGGAACGTGCTGAC GTCACATGTTTTCGGGCCGAAATTTCCCGCATTTTTTGTAGATCAAACCG TGATGGGACAGCCTGGCACTATGTGTGTCGATTTACGGGTTTGATTTTTG AAATTGATTAAAATAATTTAGTTATCGATATTATATTGGAATTAAACAAA AAGTGAGAAAATAAATCGAGCCCGTAAATCGACACTACAATAGTCATTTA AAGAATTACTGTAGTTTTCGCCACGAAATATGTTTGCGCGTCAAATATAT TGCGCAGTACGCATTCTCAGAATCCGTAATCCTCAAACTTCTCACCTGAC AGTACTCGGCATCGTTGACAGTATTCTGAATAGCCGGTCGAAGTATTGAG GCAAGGGGTCCTACAGAAACAATAAACGACGACATCGTGGATAGCGAGAT AAATAGTGAAACTATGATTAACGTGGCGTATGCCGTTTCTCGAGCATTCT CGTTCATTTTCCAGGAGAAGCCTCCAAGAGAAGCCTATGGAGGATCCAAC GAAAAGTGAGTAAAGAAATGATGCGCTGGCGCGGAAAAACGAGAGCGATT ATGTATGGGAGTGACCCAAAAACACGGAAAAGTAACGGATAACAAGAAGA AGAAGGGGGCAACTTTCTCTTTCTTATCATCATCACCATCATCATTATCT CCTTTCTCGGGATTCCGTCATGAGAATGAATCCATTTACTCGTTTTTTTT GTGTCCATTTAAGTTTGTCTATAAATATGGCTAATTTCAACTTTAAAATC AAATAATGAAACTAGTAATTCTACTCATCTCTCACGCAATTCCTTTCTTT TATGTGATATATAACTTTTATTCCATATTTAAAGAAATTTCAAGTTTAGA GTCTAACTTGAAAATTGCCAGTGATGAATATAAAATTAGAATGAAGAATA TTTCCAGAGAAGTTGGAAGTGTAGTCTTGGAGGAGAAGAGAGGAAAGAGG TGAGGAAAAATTACGTTTTTTTGAAGTTTTTTCTTTAATTTTCGAAGGAT TAGGCTTAGGCTTGGGCTTAAGTTTAGGCTTAGGCTTAGGTATAGGCTTA GGCTTAGGTTCAGGCTTAGGCTTAGGCTTAGGCTTAGGCTCAGGCTTTTG TTCAGGCTTAGGTTTAGGCTTAGGCTTAGGCTTAAGCTTATGCTTAGGTC AAAGTATAGGCTAAGAGGCCTAGGCTTAGACTTAGGCATAGGCTTAGGCT TAGGCTTAGGCTTAATCTTAGGCTTAGGATTAGGCTTAGGCTTAGGCTCA GGCTGAGGCGTAGGCTTAGACCAAGGCGTAGGCTTAGGCTTAATCTAAGG CTTAGGTGTCGGCTTAGGCTTTAGCTTAGGCTTAGTCTTAGGCTTAGGTT AATCTTAGGCTTAGGATTAGGCTCAGGCTTAGGCTGCGGCCTGGGTTTCG GCTTAGGTATAGGCTTAGACTGAAGCTTAGACTTAGGTTTGGGCCTAGAA TTAGGCTTAGGCTTAGGCTTAGGCTTGGGCGGGGCTGGGCGGATGAGAAA AAGAGAAAAATTCCAGGAAAATCCAAATAAAATCCAGAAAAAATAATAAA AAAAAGGAAAAAACGGGAAAAATGGGGCATTCCGCGTCTGCCGCGTCAAA AACTTTTCCTTAAAAAACGGACAGAGAAGGACCAAAAAAGACAAAAGTTT AACAAAAAATAGTTAAACATTTTTTTTGACGGGGTTGAGCTCACCCAGCT GAGCTCACTCCATAATTGCACACAAAATTCTCAAAAAATTAATTTTAGAG ACTACACAGAGGCTAGCAAATGCACATGCTCTTCAACGATTTCTCAGAAA TGCCCGCCAGGCTCCAAAGGTGCTCCAGGAGCCGATGGTCTGGACGGGAT CCCCGGCTCCAGAGGTCTGAATGGTATGGATGGAGAGGCTGGGCACAGTA ATATGGATGTTTGTGAGTTGCCCAAGATCTTTTATTTTTTGTAAATTCAT ATTCCAGTCATGTCACCAACAGGATGCATCCGTTGCCCAGCGGGTCCTCC AGGTTCTCCTGGTGATCATGGTTCTCCTGGTGAACCAGGGTACCCGGGAC CTTCAGGACCTCCAGGGGAACCCGGTTACGCAACAATTGGGCTTATCGGG CCACCTGGACTCGCAGGCCAAGATGGTCTAGATGGAGCTCCTGGCGAGCC GGGAGTAGGTGGAATGGATGCAGTGAAGATTGTTTCAGTTGATGGAAAAA TTGGAAGAAGAGGAGAAGCGGGGAACAAAGGAAGCAAAGGATCTCGAGGA GGAGTTGGAAAAGCTGGAGGGCCTGGGGTGGCTGGAGAAATGGGAGAAAA AGGAGCAAGAGGTGAAGATGGAAAGCCTGGAGAGTCTGGAAAGGTGAATT CTCAGAAGTTGATCGATGCACCAGGGCGACAAATTAAGCGAATCGGCAAA TTGCCGATTTGCCGATTTGCCGGAAACTTTCAATTCCGGCAATTTGCCGG TTTGCCGATTTGTCGGATATCAAATTTGCCGGAAATGTTTAGAGGGATTT TTTAAAAGACGAAAACACTTAAAACTGTGTCTTTTTGAATTTTTTCCCGT TTTCCTAACTAGGGAATATTGTTAATAGGGGAATTGCTAGGAAGAAAAAA CAAACTTTAAATGACAGATGAGGTCTTTGGCTACAAAAATCATTTTTTTC ATTATTTTCATTTTCATAGAATTTGCTCACTTTTCAAAATAGACGTAGGA ACATTCATAGGATGCGTTTAATTTTGCCATTTGAAATTTAAATTCTGAAA TTTCCAAAAAAAATCGGCAATTTGCCGGTTTGCAGATTTGCCGGAAATTT TCCATTCTGGCAATTTGCCGATTTGCCGATTTGCCGATTTGCCGGAAACT TTCAATTCCTGCAATTTGCCGGTTTGCCGATTTTCCGGAAATTTTAATTC CGGCAATTTGCGGATTGGCCGATTTGCCGGAAATTTCAATTCTGGCAATT TGCCGGTTTGCCGATTTGCCGGAAATTTCAATTCCGGCAATTTGCCGGTT TGCCGATTTGCCAAAAATTTTAATTCCGGCAATTTGCCGGTTTGCCGATT TGCCAAAAATTTTAATTCCGGCAATTTGTCGATTTGCCGATTTGCCGGAA ATTTCAATTCCGGAAATTTGCCGATTTGCCGGAAATTTAAAATCCGGCAA TTTTCCAAAACTGTATAATTTTTCAGCCCGGCGCACCTGGAATCCCTGGA AAAGATGGTACATACTGCCGATGTCCCGATCGAAATCGTTACGATATTTA TCCATATAAATCGAAAATCTGATAATAGTAATAAAGATAATAATACAATA AATACAGACAGGAAACGAAAAGCGAGCACTGACGATTGTATGATACCCGA AACATTAAGGAGGAGCACAAAAAACACAATGAAAAGACACAGAAAAATTG AAATTTGAAAAACTGGTAACGAGACTAGAATCGTCATGATGATCTTGTTG AAAAAATTGGAAAAAAATTAAGAATCTAGAAATTGATTAGGCGCAGACTT GACACGATCTTGGGCACCGAATCCGCATTTCAGGCCAATTTTCGCATGCT CCGCCTTGAGCCCATGACGGGCAGAGGGAGTCATGATCGATGCATCTGAA ATGGGGAATATTATTTTTTATTTTAAGCTTCAGGTTTAGGCCTATCGACT TTGGATCTCAGGCTCAGGTCCTTAAATTGTGTATCTCAAGCTTAGGCTCT CTCGCTCAAGCCTTTAGATTTCAAATCTTAGCCTTAAGCTCTCCGACTGA TTTAGGATATCAGACTAAGGGCCTAGGACTTTGGGCCTGAGGCTTAGGCT AGTATTCAATCTCAAGCTTAGGATCTCACGCTTAAGCTCTCTGACTCAGG CCCTTAGATTGCAAAAACCTTTGCCTTAGGCTCCCCGACTGATTTAGGAT ATCAGACTTAGGGCCTAGGACTTCGGGCCTGAAGCTTAGGCTCTCAGATT CAGGCCCTCAGACTTTGAGTCTAAGGCCGTTAGACTACGATTTTCAAGCT TACAATTAGGCTTTTAGGCTTAAAATCAAAATCCAATTTAGTTTTTTAAA AATAATCAAACATTTCTAAACCGCAATTTTTTAAAAATTACCCTAAATAT TTCAAATTTTAGGCTTAGACTGTCAGACTTAAACCTTTAAACTTTTGGTC TCAAATTTAGCCTACAAGTCTGTGGACCTAAGACTTTGGACCTCGAACTG CGGCCCTTAGATCTCATGCTTGGGCTCTAATATCCTGGCCCTCTAGTCCT AAATCTTTTGATCGTAGTTTCAGGCTTTCAGGCTTTCAGGCTTTCAGGCT TTCAGGCTTTCAGGCTTTCAGGCTTTCAGGCTTTCAGGCTTTCAGGCTTT CAGGCTTTCAGGCTTTCAGGCTTTCAGGCTTTCAGGCTTTCAGGCTTTCA GGCTTTCAGGCTTTCAGGCTTTCAGGCTTTCAGGCTTTCAGGCTTTCAGG CTTTCAGGCTTTCAGGCTTTCAGGCTTTCAGGCTTTCAAGCTTTCAGGGT TTCAGGGTTTCAGGCTTTTAGGCTTTCAGGCTTTCAGGCTTTCAGGCTTT CAGGCTTTCAGGCTTTCAGGCTTTCAGGCTTTCAGGCTTTCAGGCTTTCA GGCTTTCAGGCTTTCAAACTTTCAGGCTTTCAGGCTTTCAGACTTTCAGG CTTTCAGGCTTTCAGGCTTTCAGGCTTTCAGGCTTTCAGGCTTTCAGGCT TTCAGGCTTTCAGGCTTTCAAGCTTTCAGGCTTTCAGGCTTTCAGGCTTT CAGGCTTTCAGGCTTTCAGGCTTTCAAACTTTCAGGCTTTCAAACTTTCA GGCTTTCAGGCTTTCAGACTTTCAGGCTTTCAGGCTTTCAGGCTTTCAGG CTTTCAGACCACAACTAGACCGGCAACACACGTGTTGTCTAATTACTCAC CTCTTTGCCGGCGCTCTATGCATATTTGATGGTAACTCGATTGTCTTTGA AGCTATCACTTTCACAGCTTCCCAAGTTTCCCGAGCTGTTGGAATGATCT GAAACATCAAAAATCATCATCAAAAATCGTGGTGAGACCCAAAATTACCT GATTCTCAGCCAGCAAGAATCCATCCCAAACTTGCTCTTCGGGTCTCAAC TCGAACAGGAATGAGTACTTGACGTGGGCTTTTCCCTTTGCCCAATCTTC TGAGCCACCGGATGCGGGGTCTGGAAATATTTTGAAATTTTATACATAGG AGCCTTAAGAAATAAGAGCTTACAAAGTGTATCTGCACCGGTTCCAACTT TGTACTGCGTGTTGTAGACACTATTCAAAGCCTGAGCTGCTGAGAGGGCA GTGGATCTCTGAAATGTTTAGAAAATATGACCATGACTTGGGCAAACAAT TCCCGCATTTTTGTAGATCACACCGTAATGGGATAGCAAAACACGTGGTG CCAGAGTGTCGCATTTCGTTTTGATCTACGTAGATCTACAAAAAATGCGG GAACTGATTTCTCATGGTTAAGAACGTGCTGACGACAAATTTTTTTGAGC GAAAAATTCCCGCATTTTTTTGTAGATCAAACCGTAATGGGACAGCCAGG TACCAAGTAAAAAATTTACTCACCAAATCATTCAAATCATTTGAATAAGT TCTGACTTGATGGCCGAACGGATACATCAAAATTTGAGAGTACGAGTGGA AGGTGAGGAATGTCGAAATACGGTGTCGCTGCACGAAATCTCTAACCGCC GCAGTCTCGGGCTCCGAGAAGGCGTAGGCTCCCTGATAGATTTCCGAGCA AGGATCAGTTGATGAGCCGACTTGTCCGAAGAACCAGTCAAAGTTTCGAT TGAGGTCGACACCTTGACAGCAGGTTGTTGTGGGAGGTTGGAAGAGTCCT GAAAGGTTTTTATTTTTGAGATTTTTAACTTTCACGGAGAATTGCCAAAA TCTTAGTTTTCATAGCCTGTGTGACATTATTTGGGCGTAACTAAAGTCCA GAAAGCTTATGCCTTGTGCTGATGAATTTTTGCAAAAATTGTGCCCAGTT TTGCCACTTTTTAGTGGTTTTTGATGGGTTAAACCTAAATTTTCTGAATT CAAGTTTTTATTTTTTCCAAATGTTTTTTCAGCCATCGAATGGCTGTCCT TTTTTTCGGGCAAAAAAATAATTTTTCTGAAACTATTTGAAACAATTATA TTCTAAAAAAAAGGCAATTTTTTAAATTTTTTCTAGTAAATTTTGAGTCC TCTAGCTACAAAATAAACCATTTTAGATGAGTTTCAAAAATGTGCATTTC TACAAAAATTGCCCAATTTTTGCCACTTTTTGGTGGTTTTTGATGGGTTA AACCTAGATTTTCTGAATTCTGCGTATATAAATTACACGTTTTCAACAAA TTTAGACATTTTTTTTATTTTTGCCCAATTTTTTTCCAGCCATCTAATGA ATATCCTTGTTTTTAAGCAAAAAAAAATTTCTGAAACACAATTATTATGA TCCAAAACAGGGGTGTGCGGCAAATCTCAAAATTTGCCGAGCACGGCGAA TTTGGCAAACGGCAAATTTGGCAAATTCAGCAAATTTGCTGAGCTTTACA AACTCCGCAAAAATTTGATACTTTTTGAAGCACCTAAACTACTAATTTCT GAACAAAAGTTCAAAATAACTTGATTTTGTGCCATTTTTCTAAATTTTTG GAAATCAATAATTTTGTCAATAATTTTGGTTAAAATTGTATTGTCAAATT TTTGACGCGGGCGGCAAATTTCAAAAATTTCTGAGCTCGGCAAACGGCAA ATTCGGCAAATTTGTCAAATTTGCCGCACATTTTTTTTTGGTTCAAAACA TAATAAAACACTCCAAAACATTTTAGATTTTTCATAATTTCCGGTCGAAG TTTTTGCAAATTGCTAAAATTTTGAAAAATATGAGTATTTGAGGAAATCC AAAGCAATGCCGCATGTTCCGACCCCTACAATGTTTTAATACAAATGATT AAAACAAAATTACAGTAGACAAAATGTAGAAAAAAAATTATTTTTGGTCG ACTTCCAAAATTATGAGTGGCAAAAACTTTGTAATTGTCACTTTTTGACA GTAAATAAAAAATTTTAAGAATTTTTTTGAAAAGTTTTATTATGATATTC GGTCATTTTGGGACCAAATGAGTGGTTTTTAACAATTCCGGCACTGGCGC TAGTCCAGCAATTGCCGTAATCTTAGTTTTCATAGCCGACATTATGCGGG CCTAACTGAAGCCCAGAAAGCTTGTTTACAAAAATGAGCAAGCAGAAAAA GATCAATCTCCCCAACAAACCTGTTGCCTGTTGAATACACTTTGGTGGTG ATCGATTCTTTCTCCACAGTCTGATCTCCGGATCATTGCTACTTCTACTG TACTCATAACCATCCGGATTCAGCAGTGGAACAATATACCATTCGAGTTG ATCTACGAATTGCTTGATTTGAACATCTTTGTCGTACTGGGTGACCAGTT GGTGAATGAAATAGAGTACTGTCGATGGTGACACCCATTCACGAGCATGG ATTCCTCCGTCCACCCAGATGCCACGTTTCGTACCTCCGTTACGCTTGTT GGTGATCTGGAATTGAGGAAAATTGGGGTGAGATGGGATCACTAAATTCT GAATCTAGTTTCTGTGCTACTGTGTGTTACGTTTTTTGCGCTCCATTGGC AATCGCCTGCCCATCAAAAACCGTCAAAAAGTGGCAAAACTGGGCAATTT TTGTAAAAATTCACAATTTTGAAACTCCTCTAAAATGGTTTAGTTCGTAG CTAGAGGACTTAAAACTGATTTTTGAACCCTAAAAATTGTCTAAATTTGT TGAAAACGGGTAATTCTTGTATGCTGAATTCAGAAAATCTAGGTTTAACC CATCAAAAACCATCAAAAAGTGGCAAAAGTGGGCAATTTTTGTAAAAATT CACAATTTTGAAACTCCTCTAAAATGGGCAATTTTGTAGCTAGAGGACTC AAAATTAACTTCCAAACTCTAAAGAATTGTCCTTTTTCAGAATATAGTGG TTTCAATAATTTTCGAACAGAATTTTTTTTGCCCAAAAAAGGATGGCTGA AAAAAATTTTGGCCGAAAAAAAAACAGTTTTACACTGAAAGCCAAACCGC GACGCGACACGCAAAGCTCGGTAAATCGACCCCAGCCGTGGCCGAGTTCA AATAGCCAAATTCGGCAAACTCTCACATTTCAAGCTATGTATTTCAAGCC AGAAGCGCGTGCGATTTCTCAAAAACCGGCAGCTCAGTTGCAGGAGGACT TTACGAAAATTTTGAAAATTCCAAGGTATAATTGGTAGGTTTTTCGGCAT GTTGCATGGTACTTAAAATGTTTTTTTAACTTTCAAAAGTGGCTTTTATT TTGGTTCTTATTGCAAGCCTAATAATAAAAATACTATCCACGTTTTAAAT GCTTCCATGGTAGGCAGGCGCGGTTTCAGGGCCGACATGGAAGCCCTACA TGTCACGGATTTCTGGCTTTCCTCAGAAATTGAAATGGACTAGTTTTTGC CGAACTAGGCCAGGCCATATCTGGGGTAGATTTACGGCGCGTTGCATGTC GCGTCGCGGCTCGATTTTAGTTGAACAACTAAATGCATTTGTCCGAGTGG AGTACACGACTTTCCCACGCGGGCGATTGCCAATGGAGCGCGAAAAATTC AATGAGGAGGGCCAGAATCCCGTGATCGTCCGAAGCAAAGTTAAAACAAC AAACCTTAATCAACGGGATCTGCCGTCCTTCGTGAGTCGTTCCGATTGGC TGCACAGACACAAGCTCCGGATAAGTGATGGCTAATGAGTTCAGGTAGTT GATAACATCAGCAAACGAGTGATATTGTGCAAGGTTAAATTGAACCTGCA ATAAGTTATCATTGAACTATGTATCATTGAACGTGGTGTCAGAGTGCCTC ATTTTGGATTGATCTACGCTGATCTACAAAAAATGCGGGAGAAGAGACTG ATTTCGAATGGTTAAAAACGTGCTGACGTCACATTCTTTTGGGCTAAAAA TTCCCGCATTTTTTGTAGATCAAACCCTAATGTGACAGCCTGACACCACA TGTATTCACTCACTTTCTGCTCCCTCCAATCATGCAGTCGAACTTGTTTC CGAAGCTTATCCCGCTTCTCCTTCTGCTCGACAATCACTCTGAAATCGAT GAAAAGATTGTAAGTTGGGCTTAATAGTGTCCCCCCACGACACCCATCAC GCGTAACGAGCCGTGACGCGTTTGAATAAAGAGGGTATTTGGACTTGTGA TCCCCGCGAAAACCTGTATCGCACGTGATGCCAGGGTGTCTCATCACGGG TTGATCTACAAAAAATGCGGGAATTTTTTGCCCAAAAATGTGACGTCAGC ACGTTCTTAACCATGCCGAATCAGTTCCCGCATTTTTTGTAGATCTACGT AGATCAAGCCGAAATGACACACTCTAACACCACGTGGTATCGCCGAAAAA CTCACTTCTGAACGTCATCAATCATAACGGAATGCTTAATCGAATGATCA TCGAGCTCTTTCATAAACTGCTGAGTTTTCTCATCGGATATCATCACATG AACCTCCTTGCCAGCTTCCGACGGGGATTTCCAAAAATCTAGCTGAAAAT TTTAGTGTGTCTGAAGCACCCTTATCAGTTCATATTATATTTCAAAATTT TTCTCTAACCCCTCAAAACCGTACTCTACATCGCCGTTCTGGCCGAGTGG TCTAAGGCGCTGCGTTCAGGTCGCAGTCCTCTCCGGAGGGCGCAGGTTCG AATCCTGCGGACGGCAGATTTCTTTTTTGAATACTACTCTTCAAACAATG CATGATGAAGAAGAAGAAGAAAAAGAGAAGAACGTATTGGCTTTTCCTTT TACACTTTTGAAATCCCTAGGAACAGGTTATAAACAGCGATGTAACATGA AAAGCAGCAGTGAGAGTGATCGAAAACGAGCTGATTATGATTTGTTCAAT TATATGACACCGCTATTGTAATGGTTGGTTTGTTGCGTGGAACATCATAC CTTTACATCGTTTAAATACAAATTATGAAGAATGTCTACTTGATCTTGGG TCGTCGGCTGCACCCTCCATACTGTGAATTTTCTGAAAAATCGAGAGTTT ACCGGCTTTTGGGGGAGATTTTACCATTGACTTTTGACTTTTTGGAGAGA TCTAAATCTAGTAGATCATGCGGCGGTTAGGTCTATTTGAAATAAAAAAT AATTGATCTAGATATGAAACATGGAGATCTAAGGGTTTTGGTAAAGTTGA GTAGAATTTTTAATTATTTTTTTGAAAATTTGTTTGCAACATTTTACAAA AAAAGACGAATAAATATTGACCAAAAAAATTTTTTTCAATAAAAAATGTT TAAAAATTAACCACCTTTTAGCTTTTAAAGGTGGAGTAGCGCCAGTGTGG ATTTTGTCTAAATACACTTATTATGAACCAAAATGGTCAAATATCATAAT AAAACACTTCAAAAAATTTCTTTATTTCAGATTTTTCATAATTTCTGGCC AAACTTTTTGCAAATTTCCAAAATTTTGAATGTCGCAGTTTCCGACCCCT ACAATGTTTTAATACAAATAATTGAAACAAAATTACAGAATAAAAAATGT AGAAAAAAAATTTTTTTTTTGGTCGACTTCCAAAATTATGAGTGGCAAAA ACTTTGTAATTGTCACTTTTTGACAGTAAATAAAAAATTTTAAGAATTTT TTTGAAAAGTTTTATTATGATATTCGGTCATTTTGGGACCAAATGAGTGG TTTTTAACAATTTTCCCACTGGCGCTACTCCCCGTTTAAAGTTCTATGCT TTTTAAAACTCACGTTTTTTTTTATGAAGTCTATTTTAAAAAATCTGGAC TCTCAGTGGACAGTTCAGCATTTTTCGAAATTTCAGAAATTTAAAACATA AGTCGGAAGTGGTCCTAAAACTTCAAAAAAATTCTCACAATATGTTTTTT TGATGAAAACAAACTTATATAGTGCCAAAATGACCAAAATTTTTTTAAAA ATAATATTGAAAAATCTTTAAAAAATCTCTTCTGGTTTTTATTTATTTTT AAAAAATTCATATTGAAATATTATAGTGCTTTAGATTGCTCGGAAAAAAT TCCACAAATTTTTTAATTTTTCATAAGTTTTATAATGATATTTGGTCATT TTAGCTCTCTCGGGTAATATTGCAAACCCACGTGGTGCCAGGATTTCCCA TTAAGGTTTGATCTACAAAAAATGCGGGACTTTTGCTTAAAAAGATGTGA CGTCAGCTCATTTTTAACCATGCGAAATCAGTTGAAAACTCTGCCGCATT TTTTGTAGATCTACGTAGATCAAACCGAAATGAGACATTCTGACACCGTG TCCACCTTCAAAGTTAGTAATTGCATGAACAAAAAATTCTGAGAATGCGT ATTGCACAACATATTTGACGCGCAAAATATCTCGTTGCGAAAACTACAGT AATTCTTTAAATTACTACTGTAGGTCGATTTGCAGGCTGGATTTTTTGAA AAAAAAATGAATTAAAATTTAATGGAATATTTCTATCTCTATGTATTAGA AAATAAGGCCCGTAATGAGACGAGCGGGCCTGCCTACCTGCCTGACTATA GAAGGCCGCCTTAAAATCAGGCAGGTAGGTTTTAACGCCTAGCCTACAAT AAACATAAAGAGAAATGCCTAAAATAACAATAACTTTCCATTATCCTTTC TTATCGTCCTCCCCGGCGATCGCCTAAGATCATAGATAACAACTAGCCGC TTTCGGTCATGCAATTATTATATTATAATTGATGGATGGATGGGGGATAA TCCAGAGAAAGGGGAAAAAGAAACTTAGAATCCTAGAAAACAGGTTCCCC TGACTCAAACAAAAAAACCTACTTTTGATGTGCCAACACGGATGGCACGA CGAGACCGATGAGGACGATGATGTTCATCATCATCATCTTCATCGTAGTA AAACTTGGGGGGTGATGAGGGGCAAAAGGATGCCCTCCGCGCGTCAAGTG TTCGTTGAACAATCCGACGCAGACGGTTAAACAAAGCAACACAGTGGTGT CTCCGCCCAACTTCCGCGCGTCCGCCGCCGCCCTGTGTACTGTCTTGTCC TATCCTATCTCTCTTTTCTCCACCCCGGCTTGTGTGTGAGATTCTTCTCA TTACTAGAAGAAGGTCTCTAGTAGAAGAAGAAGAAGAAGAAGAAGACGAC GATGGAGAAGAAGCTGAAGGCACGACGCACTGTTTGCGCAACGATGTTTG TTTTTGCGCGCGCGAGCGCCGCATTTAAAACGTGTAAATCGGTTTCAAAA GCGCGCGCGCGCGGTCTTCTTTCTCCGCTTGCGCGCACGCATTGACAAAA AACCGAAAGGTGCAAAAGTGAAGAGGCCAACTACTTTCGTCCTCTTTGAG CACCTAATTGTGGAAAGCTTTTGCTCTGATGTGAAATGAAGTTGGGTAAG CTATTCCTGTCTGGGTGATGTTTTCAACTTCCGGGGGCATTGTTGGGAAA GTGAGGACCAAAATAGGCCATAAAAAATGAAGATATACATGCTTAGGCTT AGGCTTAGGCTAGGCTTAGGCTCAGATTCAGGCTTAGGCTTAGGCTTAGG CTTAGGCTTGGAATTAGGCTTGGCGTCAGTGGCGAGCGTGAGCTCGCCAC TGACGCTATTTAAGCTTGGGTTTATAGCGTTTTTTTAATTTTTCAAAGGG TTCCCGTCTGCCGATCAAAGCGAAATTTAACAGAGAGTCGTATAGGCCGC CAAGAAGCTGAAGTTTCAAATTGATTTCATTAAAACTCGCTTAGGCTTAG GCTTAGGCTTAGGCTTAGGCTTACGTTTTAGCCATATGCTAGCTGATCCG GAACATATTTTTAAAAATTGCAATATTTGACCAAAAGCTGTATTTTTCAA AAATTCAAAAGTACGGTGAAATCATATGAAGTGCTTCTTTTTCTTTCATT AAACTGTTCAGAATTGTCATTTTTACTAGAAAATACCAAAAAAATATGCT AGCTTGACCGGAACATATTTTAAAAAATTAGAATTTTTGACCAAAAGCTG TTTTTTCAAAAATTGAAAAGTACTGGAAAATCATATGAAGTGCTTCTTTT TTCTTTCGTAAAACTGTTCAGAATTGTCATTTATACCAGAATATATTAAA CAAAGTATGCTACCTAATCCGGAACATTTGTTTCCAAAATATTTTAAAAA AAAGATTTAGCGGCTCTGACTAAATTGTTTGTTCGTTTTTTCTGGACCCT TTTTTCCCCTTTTTTTGGGTGAAAAATTTTGTAAAAAATTTGACCGAGGT GTAGAGTTGAATTCATCAATTTTTGACATTTTTTGAGTACGGGCACATGA AAACGAAATTTCCAAAAACGCTTATTTCTCGGGATATAGTTCAATTCTAC CAAATTTTTCTTTGCAAATCTGCTAATTCTACAAATCTACTAACCGAGGT GTAGAGTTGAACTCATTTCCAAAAAGAAGTAGCAGTCCTGAAAATGTTTT AGTGAGTCTTCTCATTACTCTAGAGCCCGAGCCAGTAAAATTGCTCCAGA AGTAGTAATTTATAAATTTTTGATGATTTTATGCTGTCCAATGATAGAGA AATTGTTAAAATTTTCAGATCAAATTGGAATTTTCACAGCCAAATATTTT GGAAAATTTTCCACAAAAAATTGGGCGGAAAATTGGAATATTAATTCGAT TTAATTCGATTTGGAGCAGTGTATAAATTCAAAGTTTCCTCCCTTAACAG CCATTCAAATGCACTTTTTTCTTCGTTTAGTTTTTCTTATATATGGCCTC CAGGCTCTCACCAAGTTCCGTTTTACCGGAGAGTTTAAGTGCAAACATAA ATTCCTGAGATCCCATGTTGTAGTTTATGAAGACGATGAGGTGTTGTGAG TAGAAATGAAAAATGAGAAATGTTGTATTTAATATTATAAATTGTTTCAG CGACAACGTTATCAGTAAACACCATTACGTGTTCCATACAAATGCACCAC ATATGTATCTCGTTGAGGCTGAAGATACCAATGACGGATTGCCAAAGTTT TTGGATGTATTACTTTTTAATTTCCCGCTTTTTCTCTAGTATTTCTCAGA AAATTTGAATTTCCCGCCAAAATTTTTTATCAGAAAATTTGAATTTCCCA CCAAAATTTTTTATCAGAAGATTTGAATTTCCCACCAAAATTTTTTCTCA GAAAATTTGAATTTCCCACCAAAATTTTTTCTCAGAAAACTTGAAATTCC CGCCAAAAACTTTTTCTCAGAATTTTGAAATTCCCGCTAAAAAATGTTTC TCAGAAAATTTGAAATTCCCGCTAAAAAATTTTTCTCAGAAAATTAAAAA TCCCCGCCAAAACTTTTTCTCAGAGAATTTGAATTTGCCGCCAAAAAATT GTTTTCTCATAAAATCTGAATTTCCCACCAAAATTTTTTCTCAGAAAATT TGAAATTCCCGCTAAAAAATTTTTCTCAGAAAATTTGAATTTCCCGCCAA AAAATTGTTTTCTCATAAAATCTGAATTTCCCACCAAAATTTTTTCTCAG AAAATTTGAAATTCCCGCCAAAAAGTGAACATTCTAGGAGTTTGGCAGTT TACCAAAACCTTGACTGACCATTTTGGAAAATCGAATAACCTCTTAAATA AAAACTCTAACTTGTAAAAATTTAAAAATTTAAATATATAGCTTTGCAGT CCTATTTCGAGTTATACATGATCATCGTCCACGATTGCACGGATAATGGG AAATACAAGTTGTTGACAGTTGACTTGGGATCTTATTATATCAAGGATGG GTAGGTACTTTCTACAGGGCAGGCTAGGGCTTCCATGGGAAGCAGGAGCG GTTTGCCGGCTTCTCGCCTGATTCCTGCACTTTGGCAAAAAGTCAAAGCC TCGATGCTCACACATAGGGCTGGCATATTGGACGTCCGGTTTTTTGAAAT TTTAAATTTTTCCGAGAGGTAGTTTTTTTTGTACGGCGGCCGACAATTTC CGAGTTTGGCCACTCATGATAAAATTATATGATTAAGTATAGTGAGTGGC CAAACTCGGAAGTTGTCGGCCGCCGTAAAAAAAACTACCTCTCGGAAAAT TTTAACATTTCAAAAAACCGGACGACCGGACGCCCAATATGTCAGCCCTA CTCACACCAAATAGTACTATAAGCGGTTTTTTTTGCCGCAGCCGACACTT TACGGTTTCCACGCCGCACTGTACAGAAGGCGCGGCCCGAGGCAGTTGTC AGGCGTTTTGGCGCCTATATGCAAGCTCTAGGGCAGGCATTTCTGTTTTC AAAAAAATGAATATTTTCAGGCAGTACGATGAAACACGCAACATTGATCT GAACAATGCCGGTGAATGGACAAACGAAGTAATCGGAACAAAGGCGATGG TGATGTCCAAGATATTTATTTTCAATGTTTGATAAAATTGTTCATCAATA TTCGAGCCTACCTGCCTACCTGCCTACAAGGTAGCCTACATATATTATTT TTCCTAATTAACAAAAATATAATTAAAACATGATTAAGATTTTCTGAAAA TGAGCAAAAAGTGTTTTTAACTTCCACTTTTTGCCCAACAGGTTTAAGAT AGGCATGTGACAAAGCCTACATTCAAGGCAACCTACGCCTGCCTCGGTAC ATGGTGCATCGACCAATATTTACCTCTTAGCTTCGAGAGCTTATATCTCG GTTACATTTTGCTCTATCAAAAAATGGCCAACTGAAAAACTGTTCTCCAA TGCTTTTTCTACAATTTTGTGGTTAAAATTTTTTTAATATCTTGAAAACT AGCGAAAATATAAGCCACCAAGTCGCGCGCCGCCCCCCGAGAAAGCAATT CCAACCCAAGTTTATTGCAATAAAAACCAGTAGAAACGAAAGAAATGAGG TTGATTTTGGAGACTTTTCAGGTGACACGGGGAGCTTTTACATTGTTGGC ATTATTCAGATTCGATTGAGAAGGAGAAGTCGTGGGGAGGCTGAAAAATG TTCTAAAGTTGTTGAAAAAAAAAACAAATCTGCATTTTTTAAAAACCTGA TTCTTAGACTTCCATCCATTGCCATAAGTGCACAGAACAGTCTGTTGCTC TTGCTCTTTGTGCTCCGTGTCCTCGGAGCCATCATCAACCTTGTCTGGAA CTGTCGGTGTTGGCTCAGTTGACGGAGCAAATGAGGAGGATGGTGTCGCA GATTCTTCAGTTGGTTTGGGAGATGATGGCGGAGCTGGCTGAGGTGGAAT TGGAGATGCTCTTTTTTTTGGGGTTACTGCAGACTGTTTGCTCTTCAAAC TCTTGCTCCGCGATTTTGTGCTCTTTTTTGTTTTCTTCTTTGGCTGCTTT TGTTGCTTCTTGCTTTTTATCTGAAAATTAGAGTTTCTAGGCAATCAAGC GATTTTCTAGGCCACCAGACATATATTTAGCCATGTCGGAATTTTCTAGG CCATCACAGACAGTTCTAGGCCATATAGAAATTTTCCTAGGCCACCTAAA ACTTTTCTAGGCCACCAACAGTTTTCTATGACCGCGATTTTTGCTAGGCC ACCAACAAAAGCAAATAACACATTTTCTAGGCCACCAACAGAATTTCAAA TTTTTCTAGGCCTTTAACTCACATATTTCACAATGGAAGCGGCGGCGAAC ACGATGAAGGCTACAATGAGAATGCCAATAATTATGAATATCACTACTTT GGTCCATGGCGTCGATGATGCTGCAAAAATGGAGGTACAAATATGCAAAC GCGCTCTACCGCACTACCAGTGCGGTAGAGCGCGTTTCAAACTAACAGCC AGAAGTTGGCGCCGGTGGTCGCTGAGTGGAGGTGGACATTATCAGGAAAT GAATGAGAAAATGGAGAAATTTGGGAAAATTGATTAGAGACGTGGGATTT TTTTTTAATTTTTATAATATTTTTGAGTAGGGGGAAGGGGTGAGGGTCAC GGAAAATACCAAAAATTTGTGATTTTTCCATTAAATTGGAGCAAAATTGA CACCATACCTCGTGGCCTAGAAAACTGCAGAATTTCTAGGCCACACACGT TACGTCATAATTTACCTGTTAAACCAGGTAACCAACAATCAAATCAAGAG TAATTAATCATCTCCTATCTTCTTTTATTTCTCCGTTCCTACTCCCAATG TTTTTTTTTTGTAATTTGTGATCACAAATTGTTGCATTTTGTAGTACGCC ATGTACGTCTGTGTACTACTTTTTTCTGAAAAGAATACAAAAATGTTCGC TTTCAGGAAAAAATAGTGAGAGGTAGAAGAAAATTACGGGGACTAGAAAT ATGTAAAAGTTCGACAACGTAGGCAGGTAGGCAGGTAGGCAAGTAGGCAG TTAGGCAGGTAGGCAGGTAGGTAGGCAGGATAGTAGGCTGCCAGGCATAA TAAAGATGCAGGCACGTAGGCGGATGTTGCAGGCATGAGAAGTCACGGGG GTAGGCAGGCATGTGGGTATGTAAGCAGATGTAGGTATGTTGCAGTCATG ATGAAGGCACGTGGGTAGGTAGGTAACTAGTTAGGCTGGTAGGGAGGTAG ACAGGTAGGCAGGCAGGCAGACGCGTAGGAAGAGTTAGCCAGGATGCAGG CACGTAGGCAGATGTAGGTATGTTGCAGGCATGCTGAAGTCACGTGGGTA GGCAGATTGGTAGATGTGTACGCAGAGTAGGTATGTTGCGGGTATTATGA AGGCACGTGAGTAGGTAAGCAGGCAGGTAGGTAGGCAGGCAGGTAGGTAG ACATGTAAATATGCAGGCATATACGTAGGGAGAACAAGCCATAATTCAGG CACGTAGGCAGATTTAGGTATGTTGTAGGCATGATGACGTAACGTGGGTA GGCAGATAGGCAGGTAGGCAGGCTCGTAAGCTGGCAGGCATAATAAAGAC ACATAAGCAGGCATGTAAATCTGCAGGCAGATACGTAGGAAGAGCAAGCC AGGATGCAGGCACGTAGGCAGATGTAGGTATGTTACAGGCATGATGAAGG CACGTGGGTAGGCAGGTAGGTAGGCAGCCAGGCAGGATCGGAGGTTGGTA AGCATAAAAAAGACAGGTAGGCGGGTAGGCAAGCATGTAAATGTGCAGGC AGATACGTAGAAAGAGCAAGCCAGGATGCAGGCACGTAGGCAGATGTAGG CATGTTGCAGGCATGATGAAGGCACGTGAGTAGGTATGCAGGGAGGTAGG TAGGCAGGCATGCAGGCACATAGGCAGATGTAGGTATGATTCAGGTAGGC AGGCAGGTAGGAAGACTGAATGCAGGCGTGTTGCTAGGCAATAGCGCCCT TTCCTTGTTATGACAATCTCGATAATCTAATAATAAGCTATTCAATCATA TCACTGCGCCGATACACAAACTACCTGTTTTTTTGAGTATGCGTCTCGTC CCGTCTGCCCAAAAGCTTCTACAGAGTGATTAGACGGTATAAGGGGGAGA GATAGGATAGATTTCAATCATTCTCACTTTTTTCGTCCCTTTCTCTGTCT TCCTTCTCCCTTTTTTTACAGGGCGCTTTTCCCTTTTTCGTGTGTGTGAA GAGAGAGAGTGCATACAGGTGTAGAGGACGCCCAGACATCGAGACGGAAC AGGATTCTTCATCGTCTTCAGCTATTTGGAAGAAGGAGTAGAAGGTGACG GTGTGTGTTTGGAGACGTGTAATCATCATGTCTTATAACACTTCCTTGCT CATTTTTCTCTGCTTCTCTGCCGTCTCTCTATCCACACAGTCTTTCGCCG TTTATCGATTATTACCCAAATCACAGACGGATTTTCAAGCTATACAGAGG TTATACAAAAATGCGACGGATCATGATGTGAGTTTTGTTTTCGCATTTTT GAGCAGATACAATTTCTAGGCCACGAAAAATTTTTCTAGGCCGTTGAAAA AATCACTAAGTTTTCTAGGTCACAATTTTGAGCAAGTTCTAGGTTATTAG ATTATTACGCCATGGTGCATTTTTCTAGGCCATCAGGAAATTTTGCAGGC CACCATGAGTTTTTGATGCAGTTGAACTAAGTTAGTGGCCTAGAAAAACC TTTGTTAGCCTAGAAATATTTTCGCCGGCCTAAACACATTTTTGGTGGCC TAGAAACACTAACTTTTGGTAGCCTAAAAATTTTCTGTGACCTGGAAACA TTGTTGGTGGCCTGAAAACATTTTTGGAGGCTTAGAAATATTCTTGGCAA TTTGAAAACATTTTTGGTGGCCTAGAAATATTTCTGATGGCCTAGAATGT TTTTGTGGTCTATAAATAATTTTGGCGGCCTAAAAAAATTTGGAATGGCT TAGCAAAATTTTTTTGGTGGTCTACAGCCATTTTTAACGACCAAGAAACA TTTTTGGTGGCCTGAAAACATTTTTGGTGGCCTAGAAACATTCTTGGTGG CCTGAAAAAACATTTTCGGTGGCCTAGAACCATTTTTGGAGACCTGGAAA TGTTTTGGTGGCCTAGAATATTTTTGGTGGCCTAGAATATTTTTGTTGGT CTAGAAATATTTCTGATGGTCTAGAATGTTTTTGTGGTCTATAAATAATT TTGGTGGCCTAGAAATATTCTTGGAGACCTGATAACATTTTTGGTGACCT ATAAATATTTTTGACAGCCTAAAAATTTTCGGTGGCCTAGAAATATTTCT GATGGCCTATAATGTTTTTGTGGTCTATAAATATTTTTAATGACCTAGAA ACATTTTTGGTGGCCTTGAAACATTCTTGGTGGCCTAGAAATGTTTTTGG TTTCCTAGAAACATTCTTGGAGACCTGAAAACATTTTTGGTGGCCTAGAG ACATTTTTAATGGCCTAGACACATTTTTGGTGGCCTAGAAATGTTGCTGA TGGCCTATAATGTTTTTGTGGTCTATAAGTATTTTCGGTGGCCTAAAATA TTTTTGGTGACCTAAAACATTTTTGGAGACCTGGAAATGTTTTGATGGCC TAGAAATATTTGTGCTGTGCTGAAACATTGTCGGTGGCCTAGAAATATTC TTGGAGACCTGAAAACATTTTTGGTGGCCTAGAAAAATTTTTAGTGACCT AAAAACTTTGGGAATTACCTGGAACCAATTTTGGCGACCTAGAAAAATTT TCCGTGGCCTAAAAATTCCCAATAATTAACAAATTTTTAGTTAAACTTCT GGAAAACGGGCAAGGACAAGCACGGGTTTTGGGATGTGATGGTGGATATG AAGAATTCGAAATATTTTTTGGACTTTCTACAAGTAAATGATATTTCTTA CATAAAGACGATTGATGACGTGGAGGGGTGAGCTTTTTCTGAAATTTTGA AAATTACATAAAGAATATGTGCTCTATTGATAAACTGTTAGGATCACCGT AAATCGACAAGAATCTCCGTAAATCCACAACGGCCCCATCTCAAAAATTC CTAGGCCACACGTGTGACGTCATTTTTCTTCCAGATTAATAACAAAGCAC GAGAACAACAAGACCCTCTCGAACATGTTCCCCCGTCTGTGGGATGACTC CTCGTCTGCTCACTATGACTTCCACACCTATGGATCCTATCAGCGAATGA CTGATTGGATGAAGCAGCTGGTGGTGAAGTATCCAAAGATGGTTCAGTAT ATATCGATTGGAAAAACTACGGAGGGCAGGAATATCGATGGAGTTGAGGT AGGTCTAGAAGGCTGCCTTAGGTCTAGGTCTAAGTCTAGGTTTAGGTCTA GGTCTAAGTCTAGGTCTAGGTCTAGGTCTAGGTCTAGGTCTAGGTCTAGG TCTAGGTCTAGGTCTAGGTCTAGGTCTAGGTCTAGGTCTAGGTCTAGGTC TAGGTCTAGGTCTAGGTCTAGGTTTAGGTCTAGGTCTAGGTCTAGGTCTA GGTCTAGGTCTAGGTCTAGGTCTAGGTCTATGTCTAGGTCTAGGTCTAGG TCTAGGTCTAGGTCTAGGTCTAGGTCTAGATCTAGGTCTAGGTCTAGGTC TAGGTCTAGGTCTAGGTCTATGTCTAGGTCTAGGTCTAGGTCTAGGTCTA GGTCTAGGCCGATTTCGATTTCTATGTGTATGGCCTATAGTGATTTTCAG ATCGGCGGAGACTCCCGCACCAAAAAGATTTTCTGGATCGATGGAGGTAT TCATGCTCGAGAATGGGCGGCCCCGCACACGGCTCTCTTTTTCATCCATC AGGTATGTGATCCCGCCCCGTCAGAAAAAAGTGTGTTCCGATTAGTTCCG CTTGGATTACACAAATGTTGGCAGAGACAGAAAAAGGGAAAACTTGATAA CAAATGGGTTGGAAAAAACGTAATCGGATGATGCAATCGCGCTCTATTGC ACTACCTCAACAAAACATTTTTTTGCAGCTTACCTCCCGCGCAAACGAGC CCGGAATCAAGAAATTGCTGAACGAGATCACATTTGTAGTGGTTCCCTGC TTGAATCCAGATGGCTATGAGTTCACGAGATCCTCCACAAATCCACATGT AGGTTGGGGTAAGGTTACTGTACCCCCCCCCCCCCCCCTCCCCAACTCAA AGGCGCAAGCACTCCCAAATTTTTTGCAGGTTCGTCTGTGGCGTAAGAAT CGCTCGAAAATGCAATGCCGTAAGGACATTTGGGGACGCAATCGCTGCTG TCGCGGTGTCGATTTGAATCGTAATTTCGATTTCCACTTCAGAGGTGAGA GAGAGAGGGTGAAGTGGTTTTTCTCAAAGTGGACTTGAAAATTAAGGGTC AAAGTTTTAAAAGAAAACTTTGAAAAAAACTTGGGAATTTGTTCACGAAT ATACGAAGTTGCTGAAAATTTGTAAAACGTTTTGGAACATTCTAAAACTA TTTGAATTTAAATAATTTTTTAAACATACCAAAAAATCATGGATGTTCTC AAAATTCACGAAAGTTTCGAAAATTCCCTACAGTACTCCTGAACTAGCCC TACAGTATCCTTAAAGTACCCTACAGTACCTATACAGAACTCCTGTAGTA CCCTTACAGTATCCCTAAAGTATCCCTACAGTACCCCTACAGTTTCCCTA TAGTACCCCTACAGTACTCTCGCAGTATCCATACAGTAGCCCTACAGTAT CCCTACAGTACCCCTACAGTATTCCTACAGTACCCCTACAGTAGCCCTAC AGTACCCCAGTAGCACCCTTACAGCATCCCTAAATTATCCCTAAATTATC CCTACAGTACCCCTACAGTACCCCTACAGTACCCCTACAGCATCTCCATA GTACCCCTATAGTAGCCCTACAGTATCCCTACAGTTCCCACACAGCCCTT ATAGTGCCTATACAGAACCCCTATAATACCCCATACAATACACCTACAGT ACCCCTACAGTATCCGTAAATTACCCCTATAGTACCCCTACAGTACCCTG ACGGTACTCCTACAGCACCCCTACAGGACCCCTATAACATCCCTACAGTA CCCCTGCAGTACCCATACGGTTTCCTTACAGTATCCCGTGAGTATCCCAA CAATACTCTCACAGTACTGCTACAGTACCCCAAAAGTACCCCTACAAAAC CCCTACAGTACCCCTACAGAACCCTCACGGTACCCTACCGTATCCCTACA GTACCTGAAGCTCCAAAAATTTCCCCCACTTCCAGAAAGCGGTACAAGCG ACGACCCGTGCTCCGAGATCTACCAGGGACCCTCTCCATTCAGTGAGCCC GAGGCAAAAGCCGTACGGGACGCGTTGTTGTCGCAGAGATATAAGGGAAG AACCGACGCCTATATCACACTACACACTTATTCACAGGTACTGTTAAGCA GTTGAAAACTTTTTCTCGGCCACCGATATTTTCTCGGCCATCGATATTTT CTCGGCCATCGTTATTTTCTCGGCCACCGAAATTTTTCGCGGTCATCGAT ATACTCTCGTTCACGGATATTTTTCCCAGCAACAGATTTTTTTCTCGGTC ACCGATATTCTCTCGGCCACCAAAATTTTGTTTTTCGTGGCCATCTATAT TTTCATCGGCCATCTATATTTTCTAGGCCACCAATTTTTTCTCGGTCTCC GATACTTTCTCGGCTACCAACTTTTTCTCGGCCACCAACTTTTTCTCGGC CACAGATTTTTTTCTCGGCCATTAATTTTTGACGGCCACCGAAATTTTTT CGGTCACCGATATTTTTCACGGCCATCGATATTTTTTGAAAATTTGATTT GAGCAAAATATTTTCAGATTTGGATTCATCCATATGGTCACAAGAAGGAT GCATATCCAGGAGATATTAAGGATTTGGTGAGTGATGACGTCATTCTTCT TGAAACGTTGAAACTCAAATTTCCAGTACGAAGTTGGCAAAAAAGCTGCT CAGGCTCTGAAACGGGTTTACGGCACAAAATACGTAGTCGGAAGCGGTGC GGACACGCTCTACCCGGCGTCTGGAGGATCTGAAGATTGGGCAAAGCACG AGGCGAAGGTCAAATTTGTGTACCTTCTAGAATTGAGGCCCGACGAGAAA AGTAAAAAAAAAACGTTCAAAGTTGCTGAAAAAAGTTGGGCGATAATTTC AGACTGGGATGGGTTCATACTGGACGAGAAGGAGCTGATCCCGACGGCTC GGGAAACTTGGGAAGGTGTCCGAGTTGTGGCGGAAGCTGTGCTCGATCGG ATAGTTGCCGGCAAGTCGACGGCTCCAAGAGGTAGGCAAACTTTGATGTG CCTGCCTGCCTTGTGCCTACAGTTTTATTACGAGTAGGCACGGAGGTAGG CAAGTAGGCAGGCAGAAATGTGGACCGATAGGCGTAAGGTTAAGGGCTTG CGAAGCTTTTGCGTAGGATTGCGAAGAAAAAGAAAAATTTTTAAATTACA GTGCGCACGGCCTAAAGGAGATGGCTTCTGAGGTAGTCACTACGATGCTC CGCTTGCTCTGACCACGCCCCTTTCCTGGTTTCTCGATTTTTGTTTTAGA AATTACACTTGTTTATTTTATGATTGTTGATAAATGTTTTTTTAAACATA ATTTTTCTTGAAAAAACAACTTACAATTAGAGAAAATAGCAGCGAGCGGT CGTGGCCGCGAAATGAAAAACTCGGCCACCAGCTATAAAATTAAAACGTA TAATAATTTGGTGGTTCAGTTTTGCAGAAAAAAAATGGCTGGCCGAGTTT TCACGTTTCTAGGCCATCTAGCAAAGTTGCTCTGAAGCGCTTTCGCGAAT TCGTTTCCGAAAAAACTGTAGGTGAAAACTCGACCACGCTTTCTTAAAGC CACGAAATTTTGAAATAATTTCTCGGTCACCAATTTTTTCTCGGCCACCG ATATTTTCTCGGCCACCGATATTTTCTCGGCCATCAAAATTTTTCTAGGC CACCAACTTTTTCTCGGCCATCTATATTTTCCCGGCCTCCGACATTTTTT CTCGGCCACCGATATTTTTCGCAGCCGTCTATATTTTCTTGGCTACCAAT TTTTTCTCGGTCTCCGATACTTTCTCGGCTACCAACTTTTTCTCGGTCAT AGATATTTTTCGCAGTCATCTATATTTTCTCGGTCAGCGATATTTTCTTG ACAACCCATGTTTTTCTCGGCCACCGATATTTTTCTCGACCATCTATATT TTCTCGGCCACCAAAATTCATTCTCGGCCACTTATATTTTTCTCGGCCAC CAATATTTTTCTCGGCCACCTATATTTTCTCGGCCACAGATTTTTTTCTC GGCCATTAATTTTTGACGGCCACCGACATTTTTTTCGGTCACCGATTTTT TCTCCGCCATCTATATTATCTCGGTCACCAATTTTTTTCGGTCATTGATA TTTTCTCGGCCACCAATATTCTTCTCAGCCATCAATATTTTATCGTCCAC CGATATTTTATCGGCCACCGAAATTTTTCGCGGTCATCGATATACTCTCG TTCACGGATATTTTTCCCAGCAACAGATTTTTTTCTCGGTCACCGATATT CTCTCGGCCACCAAAATTTTTCTCGGCCACCGATTTTTTTTCCTGGCCAC AGATATTTTTCTCGGCCTCCGATATTTTTCTCGGCCACCGATATTTTTTC TCGGCCACCAATTTTTTTCTCGGCCTCCGAAGTTTTTCGTGGCCATCTAT ATTTTCATCGGCCATCTATATTTTCTAGGCCACCAATTTTTTCTCGGTCT CCGATACTTTCTCGGCTACCAACTTTTTCTCGGCCACCAACTTTTTCTCG GCCACAGATTTTTTTCTCGGCCATTAATTTTTGACGGCCACCGAAATTTT TTCGGTCACCGATATTTTTCACGGCCATTGATATTTTTTTCGGTCACCGA TACTTTCTCGGCCACAAATATTTTCTCGGCCACCGAAATTTTTCGCGGTC ATCTATATTTTCTCGGCCTCAGCCATCGATATTTTTCTGGACCGTCTAGT TTTTTTTTGGCGGCCGTGACCTCCAAATAGAATTACAAAAATAAACGATA CATCTCATATTTCTGTGCAAATCCTCAAGTACCCCCCCCCCCCCCCCTAT ATTTATTGTTCCAGAAGCCCCAAAAGCTCGCGGATTCCGATTCGGCGACG GCACCGAAGGATCATGTTTCGATGTCCGACACGCGTGCAAACGATGGGTT CAGGAACGGGAGGAGCTGTGCAGGACGGTGCCAATTTTCATGCGCGAGAA CTGTGCCTACTCTTGCAATTTCTGTTGATTTTTTTGGTGTGCCACTTCTT TTTTTCTGTACATATATCCATTTTGTCTTCTACATACATATATATATGTA TATGAAATGTTTAAAAACCTAAAACCTAAAAAAAAACCAACCTAATACAG TGTTCACGAGCGCCCCCCGCCGCCGGCGGCTCCTTATTTGCCTTGTGCTC ACCGTGAGGTGGCTCCGCGCGGGAGCCCCAGTGATGAGCATCTCTTTTGT CCACACGAATAATACAATAACACGGGCTCCTCTTCAAATATGACAAAATG TCAAATTTTGGCGTCTCTCCTGACTTGGAGCTTCTGGGTCTTCAGACACG TTCTTGTGTGTGAGGCGAGATGCGATTACCCTCTATATTATTGATTTTTG GAGCATTTTTTGGTTTTCTAGGGGCTATTCATAATACAGATGATAATGCC GGCTATCATAAGTAAGTCCCCAAAATACCCATATGGCCTAGAAATTCGGA AAACTCTTCCATTTCACTTTTGGTAGGGACATTTGGTTTCTGTGCTAGCT TTTATGCTGAACATGGTAATTTAAATTTCCTAGGCCAGTGTATATGTTTT TCTAGGCTACGACATACAATTTTTTAGGCCACAAAATATTTTTTTTTAAT TGCGGCTTATAAAAATGTTCCATAAATTATCTATTTTTGAATTACAGTCT GAAAATTTCCATTTTTCAAGGGCACCTTTCTAGGTCACAAAAACGGATTT TTTCAACATAGGCATTTTTCAACTTTTTCTAGGCCACGACAGATGGAAGA GCTTTTCGTAAAAAAAGCTCGGCCACCACCCCACCTAACCAAAAAACTTC CAGCTTCAAACTAATCCGAATCAATCCGGAAACTGAAGGAAGTGTGAAAT ATCTTCGAAGTCTGTACGAGGATCCCTCTCCGTACGAGCTGGATTTCTGG CAGCCTCCTACGAATATCGGTTAGTGTGACTTACCCACGTGATGTTAGCG TGCTCCATTTTAGTTTGATCTACGTAGATCTACCAAAAATGCGGGAGAAG AGACGCAAAGTTCTCAACTGATTCTGCATGGTTAAGAACGCACTGACGTC ACATTTTTTGGGAAAAAAATTTCCGCATTTTTTGTAGATCAAACCGTGAT GGGACAGTTTGCCACCACGTGCTTACCCAGGAAAATCTGAAATTTTTCGA ATTTTCAGGAGCTATCGTAGACTTGACAGTTGCTCCGGCGGATGCTCCAA GATTTGTGAAGGATTTGGAATCGAAGAAGATCAGCTACATCGTGGCGGTT AATGATTTGTCAAAGTTCGTTTTTTTTTCTAGGCCACGGCCATCTGTGAC GTCACTAAACTAGTTTCCAGAGCAATCGAAAACGAGCGCGGAAGCGACAA ATTCTACAACCCGGTCGCTGGTTTTGCATACGACAAGTACAACAGTTTGG AGGAGATTCAAACAGAAATGAAGCGGCTTAAGAAGGAATACCCGACCATG ATCACGCTTATCGATATCGGACAAAGTCACGAGAATCGTACGCTTTTGGT GATGAAGGTAAGAGCGAACGCGCTCTATTGAGTGGGCGTGGTCACGTCCA CGTTTTGCAAAGTGGGCGCACGGTTCCTTTACAGCGGTCCCAGCTTTTGA AGTTTTGAGTAATTTTTATATGGGAATTGCTAAAATTCATTTAAAAAAAA CCCAAAAATACTTTTAAAGTCGTAACGAAAAAAAACAACCGTGCGCACGT CTTGCAAAAAGTGGGCGTCCCAAAATTTAAAAACGACGGAATTTCATTAT TTCAAACGCTCCAAACTCATTTTCACTACAAAGACATCACGCGCCTCCTG GGAAAGCCCTTACTCATTTGCTGGATATATGACGTCACTAAATTAGTAGA TGTGTGAAACCGCGCTCCATTGTACTACGCAACACCGATCCCACGTGGTG TCAAAGTGTCCCATTTCGGTGTGATCTACCATAAATGCGGAAATATTGAC GCGGATTTCTAAACAGATTTCGCATGGTTAAGAGCGTGCTGACGTCACAA ACTTTTCTCTGCAAGAAATTCCCACATTTTTTGTAGATCACACTAAAATG GGACCGTTTGACGCCACCTGCGCTCTCACTTTCAACACTCCCATTAAGCA TTTCATGTACGCGCCAAAACGCACGGATTTCTGGCTCCCCTCATAAATTG AAATGGAGTTTGAAAAAGAGTTTGCCGAACTAGGTCATTTTGGCTCGGCC ATATTTGGGGTAGATTTTCGCCGCGTTGCGTGTCGCGTCGCGGCTCAATT TAAGTTGTAAATCTAAATGTGTTTGTCCGTGTGGAGTACCCGACTTTTCC ACGCGTTGCCCGGAATGCTATTGTCGATGGAGCGCGAAAAATTCAATAAG GAAGGCCAGAACCCCGTGAAAACGCCTGCCGCGCCCCCGCCTGCCTTGCA GCGCGGAACCCAAAAAGTGTCGGCCGCGGCGAAAGGCCCTCGCACTATGT GGTGTTAATACCTAGCTATTGACTTATCGCCATAGTGTAAAAAAACCCAA ACTCCCAAATTTTCAGATAACCGGAAAACGAAACCCCCTCGGCTCGAAAA TCTCCATGTGGATTGACGCTGGAATTCATGCTCGAGAATGGATTGCTCCG GCGACCGCAATGTACATTGCTCATGAGCTTCTCCTCGGGTATGAAAACGA CGCGACGGTGGCTAAGCTGATGGACCATATCGATTTTTATATTCTACCTG TGATGAATCCAGATGGATATGAGTATTCCAGAGAAAAGGTTGGTTTTTGA ACCTTAAAAAAGCCTTAAAACTAGTGCTCTATTTCAGAACCGCATGTGGA GGAAAAACCGGAGCCCCGCAAAATGCGCCCGGCAAACTTTCAGTACGGTC TGCTGCTCTGGAGTCGACCTCAACAGGAACTTCGATTGGTTCTGGGCCTG TAAGTCACGTGGTGTGAGAAAGTCTCATTGAAGTTTGATCTACAAAAAAT GCGGGAATTTTTTGTAGATCAAAGCGAACTGGGACTTTCTGACTCTACGT AGTTAGCTCAATATTAGACCTTAAAAAATAACTTAATCTTAAAAATTTCC AGCCACCGGTTCGTCTTCGGATCCGTGCCACGACACGTATCACGGCTCGG CGGCCTTCTCGGAGCCTGAATCACAAGCTGTCAGGGATTTCCTGGAGCAA AACACACCCGAGGCGTTCATCTCGCTGCATTCCTACTCCCAAATGTGGTT GATACCATATGGACACAGAAAACAGAGTTATCCACAGGACTACCATACTG GACTGCGGCCATTGGCTCTGCGAGCAACTAAGGCGTTGTATGAGTTGTAT GGGACGAAATATCAAGTCGGGACCGGCGCTGATTTGATGTGTAAGTTAAT ATCCTTTTTTTCGAATTTTTAAATTTCTAAGGATTTCAAGAAATTTTAAA ATTTTGAAAATTAAAAAAACAATTTTTTTCGGAATGTTTAAAAATTAAAA AAAAAATTTTTTTAATAGATTTTTTAAAGCTTTTTTTTGGAAAATTTTGG ATTTCTGAATAATTTTTTTTTCAGAACTGGAATTTTTGAGTTTATTAAAG ATTTTTTTAGGACTTTTTAATTTAGACATTTCCTGAAAAATTTTTAAATT ATTAAAATTTCGAACTTTTTCGATATTTTCGGATTTTTTTGCAACCTGAA TTTTATTTTTTTTTTGGATTTATTGGAATCAGGGGTGGGCAGCAAGATTT TTTCCGGCAAATCGGCAAATCGGCAATTTGCCGGAATTGAAAATTTCCGC CAAATCGACAATTGCCGGAATTGAAAATTTCTGGCAAAACGGCAAATCGG CAAACTGCCGGAATTGAAAATTTCTGGCAAACCGGCAAACAGGCTAATTG CCGATTTGCCGAATTTATCGATAAATCAGTTTGCCAAACGGCAATTTCCC CCACCCCTGATTGGGATCTTTGAAATAAAACAGGAAGAAATTTTAAATTG TTGGAAATTTTGTAATTTTCCGGAATTTTAATAAAAAAATGCTGAAAATT CTAAAAGTTTTGGAACTATGTAAAATTATTTGTGATTTAAAAAAAAACAT TTTTTGGACTTTTCTGAAATTTCACGGATTTCTGGCTTCTCTCATAAATT GAAATGGAAGAGTTTTTGCCGAACTTGGCCATTTTGGCTCTGCCATATCT GGGATGGATTTACGGCGCGCTTCATGTCGCGTCGCGGCTCGTAAAACTAA ATGCACTTGTCCGTGTGGAGTGAGGAGAAAATTCAATGAGGAAGGCCAGA ACCCCGGATTTTTGAAATTTTGAAGTTCTGAGAAACCTGTGACTTCTACA CTAACCCTGAAGAATTTCAGACGAAGCTTCTGGAGGATCACATGATTGGG CTAAGGGGCAGCTTAAGGTCCCCTATGCCTACCTGATTGAGCTCCGACCA AAGAACACCATGATGGGGTAAGCAGGACGATGGATCCTATCAAAATTAAA ATTTCATTCCAGCCACGGCTTCCTTCTCCCCGAACGAGAAATTGTGCCCA CTGGACTGGAAACCTTCGAATCCATCAAAGTGGTTGCCGACGAGCTTGTG GCGCAATTTGTGGAACCTGTGATTCGAGCCAAGCTGACCACAACCACAAA GCCCGCAATCCCACCGTATCGGCGTGGGTACTCTATAATCGACACCACAA CTATGGAGCCGGTCGATGAGATTACACAGAAGCCTACAGAAGCTCCAACC ACAGAGGAGCCCACCACCACTACTACGGAGGAACCTACAACTACCACAAC GACCGAGGAGCCTACCGAAGCCCCAACAGAACCCAGTCCGACTACTGTCG AGGCCACCGAGGCTTCTACAACACCAGAAGCTTCCACATCCTCTGAGACA AGTACCACAGAGAATTCTGAACCCAACCAGAAGACATCCACACCAGTGGC ACCTGAAGCAAGCACCGTTGAGGAGGTTGGTTTTTGGCTTAGTCTCAGGC TTAGGCCTAGGCTTAGGCTTAAACTTAGCCTTAGTCTTAGACTGAGGTTT AGGCTTAAGCTTAGGCTTCAGCTTAGGCTTAAACTTAGTTTTATCTTAGG CTGTGGCTTAGTCTTAGACTTAGTTTTAGGCTTAAGCTTAGGCTCAGACT TCGGCTTAGGCTTAGGCTTAGAATTAGGCTTAGTTTTAGGCTTAGACTTA GTCTTGGGCTTAAGCTTCGGCTTAGGCTTAGTCTTAAGCTTAGGCTTAGG CTTGCACTTGGGCTTGGCGTCAGTGGCGAGCGTGAGCTATTTAGGGTTTT ATGCTTAGCTTTAGACTTAGGCTGAGGTTTAGGCTTAGGCTTCGGCTTAA GCTTAGGCTTATGCTTAAGCTTAGGCTTGGACTTAGGCTCATACTTAGGC TTAGGCTTAGGCTTGCACTTGGGCTTAGGCTTAGGCTTATGCTTAGTTTT AGGCTTAGATTTAGGTTCAGGCTTAGGCTTATACCTAAGCAAATACATTT TTGGAACTATTTGGATATTTGCCAGCGACCTATTTTATCAACTTCGAATT TCCCAAACCATTCCAGGAAACAATCACACCGATCAAATGCGTCGACTACG GTGACTACTGTCGTCTTTGGGGAGTCTTACAGCTCTGCTATCGGGATCAG GTCTCCAAGTTGTGCCCCAAGACTTGCGACTCGAGGTGCTCTTTTTCGGT GTGAGGCGCACGCTGGAAACTATCGTATGACAAATTGTCAGCTTATGTAT GTATAAATGATTTCAAACTTTTGTAATTGTGGACTAAAAACTACATTTTT CATGCCTGACTGACTGCCTGGCAGCGTGTCAGCGCCCGACATTTTCTGAG TTCCACGACGGGATCCTGGCAGGCGTAGGCGTGCAATTTTTAACTCATCA AATTGCTTGGAATAATTAAGCACTGCTACAAATGATGTCACTAGCTACAA ACTACAAACTAGGAATTTCACACTACAAACTACAAACTACAATCTTAGCT CTTCAAGCTATGAAATACAAACTAAGAAATTTTTATTTTTCAATATTTTT TAAACGAGGTGTAATTATGGGCGTATATAGTAAAAACTGGAACGACAAAA TGCAAATCACAAACTACAAACTAGAAACTAAAAACTAGAAACTGCAAACC ACAAACTACAAACCACAAACTACAAACTACAAACTACAAACTACAAATTA CAAACTACAAGCTACAAACTACTGAACTCTGAATAAATTTGAACGTGTAA ATTTTGCGTTTTTGTGCAATGATTGGACGTATGAATTGCGAAACCATAAG TGTTTAATCACATACTACAAACTACAAACTACAAACTACAAACTACAACC TAGAAACTACAAACTACAAACTACAAAATATAAATTACAACCTTCAAGAA ATTTGTATTTTTCAATATTTGTCGAACAAGTTTTAATTATTCGACGAATA AAGTCAAAGCTGAAATCATAAAATGCTAACCACAAACTACAAACTACAAA CTACAAACGGCAAACTACAAGCTACAAATTACTGAACTCTAATAAAATTT GAAAGTGTACTCATGGTTTTGTGCAATTACTGGACGTATGAATTACGAAA CCATAAGTTTTTAGTCACACACTACAAACTATAAATTACAAACTACAAAC TACAAATGAAAACTACAAACTACAAACTGGAAACTACAACAGCAAACTAC AAACTACAAACTACAAGCTACAAACGCTTATATAATTCGATTTTAGTTAT TTTCTGTTTTTTATTTTTCCAAATTCTCAAACCTGAAATAAAATTACCTA CACACAAATGTTTCTCATTATGCATCGAATGACTAATATTTTCCAATAAA CGTTTTGAAAAAGTATGGAAGAAACAAAAAATGGAAAACAAAGGCGGAAA TATGCATTTTTCTTCTCATTTTCTTGAAATTCGTGTGATTGTACTTATTG ATTTTTTGTTGTTGTTAAAAACGTGGTAGGCAGGCATTCATGCCTACGTG CCTGCCTACCAGTCGAATTCGAACCCGCAAGATGTCGGCCGCTCCCTTCG ATTTTGGAAGTTTTTACTTATTTTCCTCTTCTGCTAACACATTAGACAAT TATTATTCAACCCGTGTACACAATAGGGCGGCTAATAATTAGGTTGGCAG GTAGAGGTGTACAGGAAACGTTTATAAGCTCTTTATTTACTACTGAGCTA CCACTTATTTGGAGCCAATGCATTTTGTTTCTCAACAAGTTGGAGATTCC AGAACAACCAAGATTTGGGCGGGGCTTATTTTGAGGCAATTTTTCAACTG TACAGTAGATTCATATAATTTAAGTTTTGAAAACATTTAGGCGGGAATTC AAACATTTATTTTTAAAACCATCTTGGCGGGAATTCAAATTCTAGTTTTT CGAAAACACTTTGGCGGGAATTCAAAATGTTATTTCTTAACAACTTCCTG AAATGCTCTAGAACCTTCTGGAATATTTGAGAAAACTCTAGAATGTTCTA GAACCTTCTGAAAAATTCGAAAAAAGTCTAGAATGTTCTAGAGCCTTTTG GAAAATTCGAAAAAAATCTGGAATATTCTAGAACCTTTTGGAAATTTTGA GAAAATTCTGGAATGTTTTGGAACCTTCTGGAAAATTCGAGAAAATTCTG GAATGTTCTAGAACCTTCTGAAAAATTTGAGAAAATTCTGGAATGTTCTA GACCCTTCTGGAAATCCGAGAAAATTCTGGAATGTTCTGGAACCTTCTGG GAAATTTTTAGAAAAATCCTGGAATTCTCTAGGACCTTCTGGAAAATTTG AGAAAATTCTTGTCGCCAAAGTTTTGTGAAAAAATTTAGCTGGAAACTAA ATAATTTTGTGAGAATTCAAACTTTAATTTTTCCAATTTTTTCGGATTTT TTTTTTAGCTTTTAAGCTTTTTACATTTTCTATAAATTTTAGATTTCAAA AAAAAATTGGCGAAAAATTTTGACCAAATTTTTTGGCTTTATAGCATAAT TTCAAAAAGTTTAAAAAGTCCAAACTTTGCTCCAGTCCCCAAAAAAAAAT TTGGTGGAAAATTCAAATCATGTTTTTTTTTCAAAAAATTTCATGGCCTA GAAATTTCAGCAAAGCAGTAAGGCCGCCTACCTCCCTTCAATCCGAAAAA TACCTAAAAATCAATCCCAAGCAATTAGTCTCATCAAGAAAGAAAAGAGC TCTGCTTGTGCCCACTCCTCATCTCTTCTCATGTATTTGCTTTCAATTAA ACATCTTACTCAGACAGCATAACGAAGGAAACAAAAAACGAAAGAATAAC GAAATGAGCATATTTCCTTTATTTATTCCTTATTTATGTATTCAGGTAGA ACAAAAAACCGGCTCGGCGGGTTTATTTGTCTGTAAATCTTATGCCTACA CGCCTACCTACAGCGGCCCTGACTGCCTATTTGCCTAGTGTTTTTTGTCC TTTTCGGTTGGTTTTTTTGAAAATTTTTCCTGATTTTTTTTGTCGTTTTT TTTCCATTTTTCTGAATTTTTAGGAATTTATGGAAGTTTCTCTTTTTTCT CCCCCCCTCGAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCC TAAGCCTAAGCCTAAGCCTAAGCTTAAGCCTAAGCCTAAGCCTAAGCCTA AGCCTAGGCCTAAGCCTAAGTCTAAGCCTAAGCCTGAGCTTAAGCTTAAG CCAAAGCCTAAGCCTAAGCCTACTCCTATGCCTGAGCCTAAGCCTAAGCT TAAGCCTAGGCCTAGGCTAAAATAAGCTCGGCCCCTTTCTGGGCCAAAAT TTCATGTACCTCCTAAAATTGTTTCATCCTAAATAGCCAAAAAACTTGGA AAAATCTATTTTTCAAATTTTGTAAAAATGTCAAAGAAAAATTCTCAGAA GTGCGGGAAAGTTTGACCCAGAAAGGGGCGGAGCCTATTTTTGGATAGGC TCCACCTCTTTCTAGGTTTTTTAAAATCAAATTTAGGTGTTTCCTGGTAA GTTTTAGTGGTTTCATTTTTTGTATTCATCACATTTCTTTTTCATTTTTT ACATTTTTCTCATAATTAATTTTTGATCTACCTGTTGAACTTGACCCCGC CCCCCAATCTTGGTGCCTCAAAGGAATCGGAGGAGTCTAGTCAACAAGGT AGATCAAAAATAGAATATGAGAAAAATTTGCCATCGTGTTTTTCGATAAT ACTACAGTTTCATACAATAATCCCACAACTTAAAATTCAGCAAATAACCA GGAAATGGGCGTGGCTTAGATTTTCAAGGTTTCGTTGTTTTTTCCAGGTT GTACTTCTGATCTGAACGGGCTCCGACAAAAAATGCACAAAATTCGTAGT AGTGATGTGTGACGTCTGTTCTGATGACTCGAATTCATATTATAAAAGTC GAAAAATTCCTTCCGAACGAACCCCCCATCATCCTAACATCATCCAGATT TCTGCACCCGCCCGCTCATATAATCTGCTTTTCTTCACCCATAATCTTTT TGCTTATTTCTCAATCTCCGTCTTTCTTGCGTTTTTAATTAATTCAAGAA ATCAAGCAGTTGTGGTTAATGGCGTTCTACGAATTGCTTTTTTCTTGTAT TATGATATTTTAATTAATTTTATTTATTTAGTATCTAGGCATGTACATGT GCAAGTTGAGTTGAATAACCTGAAAATTTTGTGCCAAGTTATGGGCGGGG TCTTTCATACATTTTTTAAATTGTTTTTTGGCTAAATTTGTATGTATTTG CTTTGAAAGTTGTGTTTTTTTTCAATTTTCTTTAAAAAAAAACCAAAAAA AAAAATTGGTATGTAGTAACGTAGGTAGGCAAGAAGTAGGTGTGTAGGTA GGGACTTGAAAATAGCAGCTATGAATAGGTGCGGTATTTGAAGTTTAGGC AGGTTCGTAGGCAGATAGGTGAGTAGAAAAATCATTCAGAAGACATTCAG GTAGGCTCACTGGTAAACAGGCATAATGTAGGTACGTAGGTTAACACTTA CGTACGAGGCAGTAGGCATCAGGGCTTTGTGGCAACCGGCAACCGGCAAC CAAAAACCAGGTTGCCGGTTACCGAAAAATTGCCGAAATTTCAGCAACCA AAAGTCGCCAGAATTTTCTCGAATTTTCCAAAAGGTTCTAGAACATTCCA GAATTTTCTCGAATTTTCCAAAAAGTTCTAGAACATTCCAAACTTTTCTC AAAGTTTCCAAAAGACTCTAGAACATTCCAGAATATTCTCGAATTTTTCA GAAGGTTCTAGAACATTCCTGAATTTTCTCGAATTTTCCAAAAGGTTCTA GAACATTTCAGAATTTTCTCAAATTTTCCAAAAGGTTCTAGAACATTCCA GAATTTTCTCGAATTTCCCAAAAGATTCTAGAACATTCCAGAATATTCTC GAATTTTTCAGAAGGCTCTAGAACATTCCAGAATTTTCTCGAATTTTCCA AAAAGTTCTAGAACAAGTTGCAGAAATTTTCAGCGTACGGCAACTTCAGC AATTGCGGGTTGGCATGTAGGCAGGCAGGCATGTTAGTAGGCAGTTTTGA CAGTTTTGAAGTTAACAATCCTACCTGATGCACAAGAAAATGCGCGGCAA TTGCGGACCGGCAATTCTACAAAATGAGACGGTTGGGCATGTTCTTCCGA TATTTTTTATAAAAATTTAATGATAAAGTATAGAAAAATATTTGTTTTAT TTGAAAATAAGTTTTATTTGGCTAGGAACAACCGAAAAAGTGCTCAAAAA TTGTCGGAATCTTGAAAATTGCCGTGAAAATTTCCAACATTTCGACTATT TCTGGAGATTTTTACAATTTTGTCTATTAAAAAAAAACAGTTACTTTCAA ATAAAGCAAATATTTTTCTATATTGTGTCATAAAATTTTAATGAAAAATA TCGGGGGAACATGCCCAACCGTCTCATTTTGTAGAATTGCCGCGCACCTT GTTAGTTTATCCCCGTAAACCTCCAATCAATAATTGGCAGGAGTCCTTCC GTCCGTCCAAAACGTCATAAAAACTGGAGATGGCAAAATTGGAGATGTGC CAAGTTTGCTGGAGAGGTGGGGGGAAGGAGACAATCATGTTGTCTGCGTA TCTCCAGACTCGTCTGCTATCTCTCTTACCCGGCAAATGGGACCTCCCCA GAACGGTGATTTTGTCCTTTCAACACCTTTTTTGTGTTTTTGTTTGTTTG ACACCTTTTTTTCACTACTTTGCGGGAATTTAGACTGATTTCTCATGGTT AGAAACGTGCTGACGTCACATTTTTCGCGGGAAAAAAAACCCGCATTTTT TGTAGATCAAACCGTAATGGGATAGCCATTCTAACAATTCACTGTTTTTT TTCTGAACAAGTCTGAAGTTTTGAGTTCAGCACCCGCAATTCTGTCTCTG ATAAGTTTGAAAGTTTCAAATTGAAACCTCTCAATTGTCGGACCAGCGCG CTACTTCATCATACCCCGCAAATTGAACTGCTCGCGGCAAAATTTAAAAA TTGATGCTTCTCCAGAAACATCCCACCAGAAACTACCTAAGACTGAACTT CATTAACTTCTTTTAAACTTAAACAACGATCATAATACCTTAAAAAAAAC GTTTGTACGTGGTGTCAGAGTGTCTCATTTCATTTTGATCTACATAGATC TACAAAAAATGCGGGAGAAGAGACGCAGAGTTTTCAACTAATTTCGCATG GTTAAGAACGTGCTGACGTCACATTTTTTAAGACAAAAAATTCCCGCATT TTTTGTAGATCAAACCAGCCTGGCACCACGTGCGTTTGTAATCGTTCAGT AGGTAGGTAGACACAGGTCAGTAGGCATAGGCAGGCGGTAGGTCTGAGGT AGGTGTTGTTGACCACCACGTAGCAAAACATGCTTGACGACTAGCCTCAA ACGGATAATCACAAAGTTCTACGTAGTTATGATTTCAAGCCGCCCAATGA GCACATTACGCTGACTAAGCCACAGCTATAAGACCCTCCTCCGAGTATAT TCATCACCAAACATCCAGTTTCCAGTTTTGCAGTCTTTTTTTCTGTTGGA AAATAAAGAGAGTACATCTCATTAGACATTAATGAACAATTTCAAGTTCA AAACTATAAATATAAATAAAGCTAGTAATTGAGCCAGTCCAACCAAATTT CCCACAAGTTCATTATAAACCTTCCAATTTCCCAATCCCATGTACTCCTA CTAATCAGTTTCTTTCCTTCCGCCCTACTTTCCAAATTCATTTATCCGCT TTGCATACTTTTCGGTAATCTTGACGATTTTCAGAGGTTTCTAGAATTTT TTATTTTTTCAAATTATGCAAAAATAAATTTTTTTTTGTATTCTCAAAAA ATTGCTAAAATTGTCCAACTTCCCATTTCTCGGAAATTGACGTAATTGCA GTTTTTTGAATTTTTTTGAAATTACTGATTATCAAATTTTGTTGGAAAGT TTCCTTTCACCTACACACCTACCATATGCCTATCTGCCTAGGTGCTTACC TACACGCCTGCTTCGTGCCTACCCGCCTACCTGCCTGGTTTATTTTCAAA AAGTGCAAAGAGCCAAAAGTTTCGAATTGTCAAAATTGCTCGGAAATTTT TTGAAATTTTGGAAAATGCCAAAGTTATCAAATTCCGCATAATTCCAAAA TTGGCAGCCCGACATCATGCCTGCCTACATTCCTGTCTGCATATAGGCCT GACAAAATGTCCATCAATGTATGTACCTATTTCATACCTATCTACCTGTA TAAACATAGTTCATCTCTACCTCAAACAGCATGTTACAGGCTTTCTTCTT ACCTACCTACTTCATTAACTGCTGTTTATTGACCTGTCTACGTGCCTACC TCATGCCTGGCATGCCTACATACCTACCTCATTTATCAGATCCTCATGAA GCCTATTTACAAGCCTACTTCCAGCCTACCTATTGTGTTGATTACGATCA CCGTCTCTAGGTTGCCTAACCTGCCTAATTGTGTCTACCTACTTAGCTAT CTCATGCCTGCCTACTAACCTGCTCAAGTACCTACTTCATGCCTACCGGC CTACGTTCCTACCAACGTGCCTACCTGCCTGCTCACTAGCCTAAGTGTCT GCCTACATAAATTGTCCGTTAGCACATCAAACTTTTCATATATACAAAAA ATTGCATAAAAAGAAGATAATCATTAATAACAAGTGGGTAACTCAAAAAG GAAATTGGTTTATCTCCCGGCTCCGAGAGCACCAGCACTTTGCTTTTCCG TCACTACAACCTCTAATTTTGTTTTGTTCGAAGGACTTTTTCCGATACAT ACTAATTTTTTCGGATCCGGTTGGCTCTGGATTTCAAGTTTTATAATAAC TTGGGCTCCCAGTGACGTCACCAAAGGTGCAATTAGCCTTTAGTAACTAA ACAGCTTGCTCCTAGTTTACTGCTCCGTCTTCTCAAATGAAACAGAGAGA GAGAGACCCCTCATCGAAAATTCAATTAAACGCTAAAACGTAGGTAGGAA AGAGAGAGAGAGGGAGACTCCTCCCAAAAAAAAAAGACAGGGGGGCTCTC TCTCTCTCTCTCTCTCTTCGAGCGGCAAATCGGCTTCCGAATTCATTCAA AAACAAATTATGTGCTCAACCACCACCACTACCACCGGCTCCAGGCGGGT AATTACACTTGAAAACCAAGTACTAGGTTTCGTGGCCGGGCAAACTTTTT CTTATTAGACCCCGGTGGAATTTTGTAGGTCTATTTAAAATTGCAATTGC GCTATTTTGTACTGTTTTTTTTTTGACAAACTTTGAAGCTTGATGTCAAG CTGGAAAAGCGCTCTAATGACAATTTTGACTGCAAACTCGCTCTGTTGAT AAATGGTCCGTGTACTCCACGGGGGCAATTAAACTGGATTTTTTTCGATT AAATAATATCTTGATTTTTTGCAGTTTTGGCTTAGGCTTAGGCGTAGGCT TAGGTTTAGTCTCGGGCTTAGGCTTATGGTCAGGGTCAGGCTTAGGCATA GGCTTGGGCTTAGGCTTCGGCTTAGACTTAGGCTTAGGCTTAGGCTTATG CTTAGGCTTAGGCTTAGGCTTAGGCTTAGGCTTAGGCTTAGGCTTAGGCT TAGCCTAAGGCTTAGGTTTAGGTTTAGACTTGGGTTTAAACAGGCTCAGG CTTAGGCTTAGGCTTAGGCTCATGCTCAGGCTTAGGCTCAGACTTAGGCT TAGACTTAGGCTTAGGTTTTGGCTTAGTCTTAGGTTTGGACTTAGTCTTA GGCTTAGTCTCGGACTTAGGCTTAGGCTTAGGCTTAAGTTCAGGCTTAGG TTTAGGCTTAGTCTGAATATTTGGCTTAGCCTTGGGCTTAGGTTTAGGGC TTAGGCTTAGGATTAGGCTTTGGCTTGCCGGCCACCTGGGATATTGTGGT TTGACAGGGGTAGGCTATCCAAATTTTAAAAAAATCGGCTACAAAATTAA TATTTAGATGGGCCTATAAACCATTTCTCTAGGCCATCCTGCAAAATTTC CAAGACAAAAAATTTCAGCCGTGAATAAAGTTTCCGTTTTCCTAGGCCAC CTCCAAATTTTCCACGTCATATGTAAGGTATCGGAGGGTACTGTAGAAAA TTATCAAAAATCAGCAAAGAATAATAAGCATTAAGAAAGTTTTTTGTGTG TGTGTGTTTTTTGTGGGAGAAAACATTTCCCCTCTCCTTTTTTCCTGCCT GCTCATTTGGATACCACCGCTAACCCAACTTGACTTTGATTACCCATTTC CGTCCCCCTTCTTCGTCTTCTTCTACTCCGGGATAGAGAGAGAGCTCTAT ATAATTACTTTCGTCTTCTTGATCCGTTACCGCCCATTGGCAATTGGTTT GAGCTGCCGCCGGAGAATATATACATGCATGTCTAATTTTTTACTGGAAA ATCTAGGAATTTTTACGTTGAAAATTTGGTTAAAAGCGTACAGATCGGCC CATGCTGGTGATTGTACGAAATTTTAATTTCAAAGTATCTGCAGAGGAAG CTAGGCCACAAGCCCCTACGTGGCCGTCAAAATTGAAAACTAGGCCACCG ATTTTTTCTCGGACTTTTTATCTACTTTTGCTATTAGGCCCTGTCTTCTT TTTTGCAACGTTTTTCTACTAGGTCACCAAATTTTTCCTAGGCCAAGCTG CCTAAAACTCGGCCACCGATTTTTATTTGCGTCGGTCTGTAACATTCAGG CTCCGACCAGCTCGACTTTTGCTACGTGGTCGCCAATTTTTCCTAAGCCA CATCGAAAATGACTCGCTGTGACATTTGTACTTTTTTTCACACGGCCTAG AAATTTTGAAAAAAACTCGGCCACTGATTTTATCGGCCTTGGAATCCTAT GTAACTTTGTGGCATGATTTTTTATTTATTGTCCATCCAGTTTTTCGTCT GAAAATTACAAAATGTTTTAGTGACCGTTGGAGAAAACTCGGCCACCAAT TTTTTTCTCGGCCAAGTTACCAAATTACGGGATACCGTGTTCTCTATCAT ATTTCTGGCTCAAAACATACTCTACTTCCGTGCTGCCTACGTGGCCGCTC AATTAGAAAACTCGGCCATCATTTATTTTCTAGGCCATGTCGAAAATAGG TAATGTAAATAGGCAAAGAAATGCGGTGGTTCAAGTAATTTTGGGAAATG GATTTTAAAAAGTTGAAAAAATAAATCAAATGAATAAGTCTGAAACACGC AAACCTTAAAGCTAGGCCATCAATTTTTTTCTCGGCCAGGTTGCCAATCT ACGGGAAACCGTCATGTTTCTTGCTCAAAATTACACCCTATTCTCGAAAA ATTTTTTTTACGTTGAGTATGCTCTCCTGCCTAGGTGGCCGCCCAATTAG AAAACTCGGCCACCCATTTTTTCTAGGTCATGTCGAAAATAGGCGATGTA ATGGGGTAGTTCAAGGAATTTTGCGTAATGAATAACCCCAAAAATGTTTT CAATATATGGCCGCCAAAAAAGAGAAAACTCGGCCACCAATTTTTTCTCG GCCAGGTAGGCTACCAATCTACGGGATACCGTGCGCTCCATCCTATCTCA GGCTCAAAATTACGCCTTTTTTCTCGAAAAATTTTTGCATACTCTCCTCC CGTGCGGTTCTTAATTAATGAAAGACGTTTTTTTTTCTCCTTGTCTAACG AGTGTATATGCAGAATTCAGGATATGCGTCTTCTTTTCCGAGTTCTTGTC TTCAAAGCGAAAAAAAAAGTGTGTGTGTGTGTGGACATAGGAAGACTCGT CTTCGAAGAAGACGCTCATTAGCTCATTTCATCCACTCGCTAATTTCATT AATTTTGTGCTTCTTCGCCTGCCTTCCGACGTGTTTACCCACACCACCAC CACCACCACTCAGTACCTCCTCACTCACCGTGGAGAAAGATGTTCTGGAT TTTTTTAAGCTTTTGAGTTTTGTGTCCTACCTCACTTTTTAGGCTCCACC CACTTCTTGGCCTGTTATTTCGGTTTATTAGAATTTGTGTGGTGTACTAC AAATTTCGATCCGAAAAATGGCAAAAAAAATTCAGCTGACTGAATTTTTT TGAACTTTCAAAGGTTCAGTTTTTGCAACCTAAACCTCTCTTAACTTTAA CTTTTCAAACCCCGCCCATATCTTGGCTTTTCCAGAAATCCGAGTAATTT TTTGGGAAATTTATGGTACAACTAGCTATCAGAACAATTTTTACGGAAGT TTTTTTAATTTTATTTTAATTTAAGTCTACTGAAATTGACCTAAAATATA TTTTGAAAAATGCTTTGATCCCGAAATTGGCCAAAAAACGTTGATCGAAT TTTTTTGAACTTTCAAAGGTTCCGTTTTTGCAACCTTTAAGCCCCGCCCA TTTCTTGGCTGTATTGTATTCAAAGTTAAAAGTTGTTCATGTTGTACTAA AATATGCAAGTATCATAAAAAATTAACTTTTTAAGCTCCACCCATTTCTT GGTTTTTCTGGAAATCCGAGTAATTTTCTGGGACTGTTATGGTACAATTA GGTATCAGAAAAAAAATCAAGGAAATTTTTTACTTGGATTTATGTCCACT GAAATTGACCTGAAAATGTTTTGAGATTTTAAAAAACTTAAATATTTTGA TAAAGGTAGAATTTGAATTCCCCGCCCATTTCTTGGCTGCAGTTCCCAAC TGTCCAACTTTTTGAATATTTTCTCAAACTTCATGGCCTAAAATTCCAAT TCTAGGCGATCTACCTTGATAAGAACTTACTCCTGAGTTATGTTTGAAAA ACATAGTCCATCCGTGGCCTAGAAATCCAAAACTAGGCCATCAGATTTTA GGTTCCTAGGCCCAATCACAAAGCCAGCAGTTTTAAGTTGTCAAATTTCA GTGGCATAACCTCATAATTTAGACCTATTCTATTAGGTCAGCCTATTACA GTTTCTGGCCTAGAAATTTTCCTTGAGTTTGAGCCCACTACCCCCACACC CACATGGCCTAGAAACCCAAGCCTAGGCCATGTGTCCCCGCATTCTCACT CACTTTTAATTTCTTAATCCACTTACACAATTCTCTCCCCCTTTTCCAAT TTCACATCGAACCCGGGAAAGCTCATTAGCTCATTTGTTGTGTGTGTGTG AGTTGAAGAAGCGGGGGGAAGGGGAGCCCCCCTTTTGAGTGGACGGGGAG CTAGAATGGAAAAAGAGAGAAGGAGGAGAGCCATTTTGAATGGGTATGCA ATTAGCAATCGATGCAAATTAATTAAACAAACAACGAAATGAAAGGGGGG GGGAGGGCAATCGCCTGCCTTCACTCACATGTCCCCTGCTGGAAATGTGG AAATGTAAATTAAAATTAGAAAACTAGCAAAAAAGTGCGTTTTTTATTCC TACTTGTTAATTAGTTTAAATTTCTATATATGTATGGCTTTGACATGCCA ATTTTGGCGTCTAAGGGTAGGTATAGGTGGGCGATGCACCATGTTAAATG GTCGATGCATCATGCCAAATAGTAAATGCACCATTACACATTGAAAATTT AGCATTATACACTCCATATAACTGAAATTCGGGGCCCAATCAATATCATG CCGCCGACATCTCACGGACTCCGCGCGCCGCTATGTTTAACTCGCAGCGG GCGGAGACAGCTGGCCGCGCCCACAACGAGTTAAACACAGCGGCGCGCGG AACTCGTCAGATGTCGGCGGCCTGATATTGGTTGGGTCCCGAATTTCAGT TTTATTATTTGGAGTGTATAATGCTAAATTTTCAGTGCACCGTGTTAAAT GGTCGATGCACCATGATAATGCTAAATAGTCCATGCACCTTGTCTAGAAA ACTCGTTGAGTACTGTACTTATGAAACAGTTTAGCAAAAAAAAATGTCAG CCTGTTTGGCTCCGCCCCGAAAGTGGGCGGAGTCTAATTTCTTGAATTTT TTTTTTTCAAAAATTGTTTTAAAAATAGCTCTGTGAATTCCACCTCAAGC AACTATTTTTAGTGGAAAGCAAATTTTTTCAAAATTTTGCGCAAATGGTT CTGAGGCTCCGCCTTGAAATTGGATGCTCTTAATTAAGAAAGAAGTGTTA GTCCCGCCCCTTTATTGGAGGAACTCAAAACTGGGAGGAGCTTAAGAAGG TTATAAAATTTTGCTAATTAAAACACCCAGCTCCGCCCACTTATATATTA GTTGACTCCGCCCCACCCATTAAAAGTGGGCGGAGCTTAAAAATATTGAC CACGCCCCTTTCTTGGGTAGTTTTAGCGTTTTTCATAGAGTCAATTTTCA CGGCGGACCCCGGATCGATGCACCATGATTTGACGCGCAACCCAGGTAGT ATGACGTCACTCGTGGCCGAACTCGCGGGGGAAATTTGTACTTACAGCAA TAAATTTCGGTGTCTCACGGAGCACCTGCACACGTACCGATCATGAGTGA TGCTTCCCACCACAAGACATACACATACACACACAAACCTACTAATTAAG ACAAATTATAGAACAAGTGGGGGGAGAAGGGTAGAAATAAAAGTGAGCAG TGCGAGAGAACGCGTTAGACGGAGAAGCTGCTCTGGGAGACGTGTGAGAG GCATATAAGTTGGATTAGTTTACTGCTCTTTTCATGGGAAAATCAAGTGA GCTCCAAATATTTAATCTGACTTTGATTTGGTTTGATTCTGAAATTTTTT TGGGATTTGCAGAAAAAATACGTTTTTTTTTTGTATTTTGGAATCGCACC AATACGCTGCGTTGCCCTCCTACAGTGCAACTGAGCCACATTTCTCTTCC ATAACTTTTTTCTTAATCTCAAAGATTAAAACTCTGCAAAAGCTCAATAT TTTATAAATGATAAGGATTAGCAAAGTGTGGGTGATCTTCCAGAGGGGGG ATTACCATAATTCATTACTCATTTTTCAAGTTTCATCTGTGTTTTGTTTG ATAACCTAGGTGACCTACTAGTTTACCTACAGGGCTGGGACCAAAAAAAA AATTTGGACCAAAAAACAAAAAAACAAAAAATTGAAGTTTTTGAAAAACC AAAAAAACCAAAAAAAAACAAAAAAAAACAAAAAAAACCAAAAAATTTCT TATGCTTAAGTTGATTTTTAATGGGGTTATTCAAGTAATGTTGCAAAATG TATTAAAATACATTATGACGTCACAACTGTGTTAAAATACATGTTTTAAT GTATTTTAATACATAATAGTCTCGAGTCGAGACTAGACATGGTAAACACT TTTTTGGATTTTTTTGGATTTTTTGGTCCCAAAAAACCAAAAAAAACCAA AAAATCGATTTTTCGTCAAAATACCAAAAAAAACCAAAAAACAAAAAAAC CAAAAAATTCTCAGCCCTGGTTACCTGTCAGCAAATAATTTTCCCCTATA TACCACCACTTCAGGAGTAATCAACACCCCAAAACGGCAATTATTTATTA TTCTCCTCACCTTCTCAACACTCCATAGCGCCAGCCAGCCTAATTTGATT GTTTAATTCGATTCAGGGCACCCCACCACACACAAATTTATTAATTTTTG TCTTTCTCGCCATTTTCCAATAATTTTCCCGGCTTGTGTTAGCTTTATTA TAGAACTTTTTAAAGCGATTTCTTAGGAATTTATGTGTGACGTCATATGT GGCCTAGAAATTTGACGATCTCGGCCGTCGGGGTCGATGAACCATGTTGT GATGTATAGGTGGCCTAGAAAATTTTAGGCCACCATGATAGTCGTGGCCT AGAAATTTGGGCGCCTTCAGGTGGCCTAGAATGTGAAAAGTGACGTGTGA CCTAGTTCTTTTGACGGTCAGGCCAATTTTCCAATTCGATGCTTTTTTTT TAATTAAGGTCCATATTCTGCAATTTTAGGCTCCGCCCATATCTTGGTTA AACATTTTTTTTTTGCTTTTTTCTGCAATATTCATTCAATCCATCATTGT TCTCAAAATTTGATGCACCATGATATGGCAGTGGCCTAGAAAGTGCGACG TCACTTATGGCCTAGAAAATTCGAGGATCTTGAAATGGGAGAAAGTAAAA AAGTAATCAATGCCCCCTGACGGTCGTGGCCTAGAAAGTTAGAAGATCTA GAGGAGGGGAGTAGGAGATCGATGCACCATGTACAGCTACAGTGACGACT CACGTGGCCTAGCTTTTTCGCAGGCCACGGCCATAAAAAAATGTATGAGA TCGATGCACCATGTTTGTCGCGGACTAGAAATCGAGAATGTGGCGCACGT CACGCATGGCCTAGTGACTTTTACGGTCAGGCCGAAACACAGGACGTGGC CTAGAAGTCATTCTGTTAGTCTAAGACTCTGCAAAAACTCTCAAAAAAGG TGAGCCTATGTGCCTGCCTACTTGCCTACATTCTTGCCTACCTGTTACTG CTTTCTAATCTGTACCATGTTGCACCTACAGTACCCCCTTCCGCCCCCGT AAAGACTTTTTCAAGCTCAAAAGTGCAGAAAACACAAAAAAACCAAGCCC AATCTACAAAAGCTCATCTATTCGTGCTTGGATTAAAATGCCATTAAAAT GATTAATTAAGAGATCGAGACTGGTTGAAAACTGATCGGATTAAAAAGCG ACTGAGGTCCGCGAATGAGCTTTTCATGCAACTGATGAGCACATTTCCTG TGTATGTACACTGATGATAAATCTCCTTATCTTTTCCGAGACATAACAAT CTCAATGTTCTTCATTAGTTTCTTCATTTCCTTCTGAAATTTGTTGCTTT GATTTATTAAAATCTGTCATTATGTAAGATCCATAATTCGTGATTCGAAA TTTTTTACAGTTTTTTTTAAATATAGAAATTTGAATAACTTTCCTACCAG GCTGCCCCAATACAGTTTGATCTACAAAAAATGCAGGAATTTTTTGCCCA AAAATATGTGACGTCGGCACGTTCTTAACCATACAAAATCAGTTGAGAAC TCTGCGTCTCTTCTCCCGCATTTTTTGTAGATCACCGTAATACAATGCAA AAATGAGAGAAAAAAATTTGAAAAAAAACCTATCCAAAAATTTGGCATTT TCAGATTTTTTTTTTCGAGCAGACCTAAAAATGTTTCGATAAATTCTAGA TTTTTTGAAAAACTGTCTGAATTTTTTTTTTTGAGAACAATGATTATATT TTAAAGATCAGTGTTGACTTGAATCATGTAGCGTAAAAAAGGTTAAAAAA AAACCAAGATATGGGCGGAGCCTAAAATTACAGAAATTGGACCGTAAATT TTTCAAAAAATTTTTTTTTTTTCAAAAACCGAAATTTTATTTTAATTTCA AAATTTCCGCTTCGGGGTTTCTTGATTTTTTCAATTTCAATTTCAATTTT TTAGATTTTTTCCCGTAAAAAACCCAAAATAAATTTACTGAAGCTTCACT ATTGGATTAAAAATTTATAAGGTTCTTTGCGGGAAAATTAGTAAAAAATC GAAAATATATTTTAAAAGAAAAATCAAAATTAATACAAAAAATTAAGGCT TCCATGTAGGTTCGCGTGGTGCCAGGCTATCCCATTATTTTTTCTTTTTT TTTTTTTTTCCCCAGGAAAGTGTGACGTCAGCACGTTCTTAACCATGCTA AATCAGTTGAAAAGTCTGCCTCTCTTCTCCCGCATTTTTCGAAGATCATA CCAAAATGGGGCACTTTGACGCCACGTGTAGACTGTAGGCCATAAACCGC CTGCCTGCCTGATTTTCAGGCTACCTACGCCTGCCTGTCGCCCCAATCCA CGCCTTATGCTAAAACACATTCATTTCTTAATTTGATTTTCACCAAAGTG ATAAAAAAGATAAATTAAAAATTAGTACATTCTCGTCAAAATGCAAAAAG AGTCGTAAGGCAGGCAGGTTTCAGGCAGGCCCTGGCTCACGCCTGCCTAC GATGCCGGTTACTAAATTTCCAAAATACCTTATTTACTCTACAAATCCTC TACCCCGACATTACATCTCAAAACTCATCCTATTAATTTCTGCCTTAGGC GATAGCACTACTAATTGATAGGAAAAGACGACTTGTGTGTGTGTGTGTTG AATTATTATACTAATTTGATTTTAGGCAGCCTCTTTCGTCAAAAAAAAAT AACTTGTGTCACCACACCACACCTCCCACGTTTTCGGTGAGTGAAGCTTC TGCTCGCTGTTAAGCAGATATTCATAGGGAAATCATCCGTAAATCCATTC AAGTCCTCTTTATTTTCTTCTTCTTCGACCAAATTAGTATACAGATGTCA TCAACTTTTTTGTTTCTTTTTGAGGGCCCAGGCTGTTCATTACAGTTTGA TCTACAAAAAATGCGGGAAATTTTTTTTTGCTTTTTGCCCAAAAGAATGT GATGTCAGCACGTTCTTAACCATGCAAAATCAGTTGAGAACTCTGCGTCT CTTCTCCCGCGTTTTTTGTAGATCTACGTAGATCAAAACGAAGTGGGAAA CTCTGACACCACGTGCTTTGAGAAAAAATTTGAAAAAAACCTTTTTAAAA ATTTGGCATTTTCAGTTTTTTTTCTTTACAAAATTTTTTTGAACGAATCT AAAAATGTTTCGATAAATTCTAGATTTTTTGAAAAACTGTCTGAAATTTT TTTTGAGAACAATGATGACTTGAATATTGTAGAAAATCGTAAAAATAAGT TTTAAAAAACCAAAAAAAAATGGGCGAAGCCTAAAATTACAGAAATTGGA CCATAAAAGTTTCCAATTTTTTCTTCACAACTTTTTTCAAAATTGCTGAA ATAAAAAAAAACTATTATTTAAATTTAAATTTCAGAAATCCTAATTTTGA CGCCGATTTTTAAAATTATAAGGATTTGTTTTTCCTGCAAATTCTTTTTT AGAAACTTACAGTTTGTCGGTTTGTCGATAGAGCGTGCTTATTCACCAGG CTGTCCATTACAGTTTGATCTACAACAGTGCGGGAACTTTTTTTTTGCTT TTTGTCCAAAAGACTGTGATATCAGCACGTTCTTAACCATGCAAAATCAG TTCCGCATTTTTTGTAGATCAACGTAGATCAAACCGAAATGGGGCACTCA GACACCATTTGGGGGGCCTAGAAACCGGTCCCTTTCTCATTCAAAGTGCT CTCTGTTATCAAGTCTCCCACGCTTTATGCATTCAACTTTGTACAGTTCA CACGAGCACCCACGACTTGATTATTCAACATTATACAGAACTAACTATTC GAATCTCAACATGTCTTCTTGCCGAATTTAATCAACTTTGACTTCTTCTT CTTCTTCGACTTCTTTATACAACTACTCATCTTCTAGTTGCCCCTCTAGT TGCCTCACACAAGCAAAATTTCTTTTGAAATGAAATTTAAACGAATTGAC TAGTCAAAATTTCATCAATTTTCTACTAGAGAGAAGCGACGAGATTGACT TTTGGCAAATATAGAAGAGAGAGGCACCGAAAATGAATTAGATTTAACAC AACAACGAGTAGATGAGTTGTGTGTGTCAACGATGATGATGATGATGAAA AGAGCAGAGGAGCAAGCATGAGTGATTTCTGCGGCGGAGGTCGCGGCGGA TGAGGAGCATGAAGAAGGCTAACGAGCTGTATGGCGATGCGGCTAAAAAT TGATGATTACTGTAGATTTGGAGCTTTACACCGTTTAACTGGCTACGATT ACATACAGACTTGTTTTAGAATATTCTGTATTTGAACCTAATAATACAAA TTGCCGGTGTGCCGATTTGTCGGAAATTTTCAATTCCGGCAACTTGCCGG TTTGCCGATTTGCCGTAAATTTTCAATTCCGGCAACTTACCCGTTTGCCG ATTTGTCGGAAATTTTCAATTTTGGCAAACTGCCGGTTTGCCGATTTGCC GGAAATTTTCAGTTCCGGCATTGTGCCGGTTTTCCGATTTGCCGGAAATT TTCAATTCCGGCAATTTTCCGGTTTGCCGGTTTTCCGTTTGCCGGATAAC AAAGTGTTTAGAGGGATTTTTTTATAAGAAGGAAACTCTTAAAACTGTGA CTTTTTGAAATTGTTTCCCGTTTTCTTTCGATATTTTCATAGATTTTGCA AGAATGCGTGCAGTTTTGCCAGTTTAGACGTAATTGAATTTCTGAAATTT CAAAAAAAAAAGAGCAAAATCATAAATTTTTGACATTTGTCATTTTTTCC GGTAATTTGGCGATTTGCCGGAAAAAAATCATTTACCGCCAACTCATGGT ACGTCTAACCGCAAAAATTTTTTGGGAGCCTTTTCTGGCTTTCTTTCAAG CTATCGTAATGTGACCACACACCTTTCTATAATTTTCAGTATTTACGCCA ACCGAGAAGATCACAGTAGTTTAAGGTTATGGTGCAGTTTCTGGTCAATG GATCAGGTCTCTTACCGCGAAAATTTTAATACCGTGAATGTGAAGCTTTG AAAATTTTCTGCCGTAAATTGTCAATTTTCTGCCGCACTTTGTCAATTAT CTCATAAAGGTCACTTAAGTTAGCCAAACCGTGAGCCAAAACTGCCCCTT ATTCCTCATGCCGTCTTGGAGGAAATCTAGAGCAAACCCTGGTCCATATT CGGACAAGGTCCCCTTTCTTCCCCCAAGCGTCTATCTAACTTTTCCTAAC TACATATAACGGAATTAATAATCCTATCCCCAATTTAACGTGTCCTTAGT TCTCTCCCTCCTCACCGTCTTCTAGTTTCATCCATGTCTCGCCTCATTTC ACCCGATTGACGATCATCTCGGCTCCACACTTTGACACCATAGCGCGAAT GAAAAAAAAGAGTGAGAAAAGGGGAAAAAAGTTGCTGCCCTATTATTAGG AGTCAAATAGACACACACACACACACACTCAATTTTAATGGATTACGCAC GATTTGACACCATCGACACCAATTTGGAAATGGGGGCACATAGATACATA CACAAAAGGAGTTGTACTACTAGTTTTGGAACTAACATCATTCTAACATC TTTTCATTTATGATTTGATTTATGCAAATGTCCTTGATTCGTGACTTCTT GTATAGTAGTTGGGATAAGTATAATCATGGTAGTTGCTCAAGACTAAGCT CTTTAGCAGTTTTAAGGTATGCCCCAGTTCGGGATTCCGGCTTGCTTTAA GATTGTGTCAGGTCCGGCCCAGGTTGTCTAAAAAATACAGGTCTGCTCCA GGACGGTATACCATCACTATATATAAAGCACGTGTCGTTCCGTCACTTTG TAGTTTGATCTTTGATCTTTGGTCTTTGAACTCTGTAGTTTGTAGTCTCA TCACACAAGAGAGGTCACATAGGCCCGGCCCCTTTTGTGACGTCATCACA AATTGGCGGGAAATTCAAATTTTCTGAGAAAATATTTTGGCGGGAATTTA AAATTTAATTTTTTGAAAACATTTTGGCGGGAATTCAAAATTTAATTTTT CAAAAACATTTTGGCGGGAATTCAAAATTTAATTAGACTGTTCTCGGTTC GGCCCAGATATATCCAAAGTCTTTCTCAAGACCACTCTAGATCTGTTCTA CTGTTACCCAAGACTGCCGCTCCACACCCTGTATAAGTTGGCCCTAAGGC TCCACTGAGTTTGATCTAAATCTTGCCAAGCCTGTATCATACCTACCTAG GCCCACCACAGGTGCATCTCTCACAGATCTTCCACAGGTGTTTCTAAGTC TGCATCAGATCTGCACCAGGTCTGTTTTTAGTTTTGCCTGGGTGCAGCCC AGTAGTCTACCTCACTATCAAGCAGGTCCTGACACCAGTTCCTAGGTCTC ACATTCAGGCTTCTAGGCGGATAGTCTACCTAGCTAAAGCTTCAACCTCC ACTGTTTTAAAGGCTTCCCCTTTCTCAAACTTCAACTAACATTAATACAT ACATATGTTATTAATTCGCGACTCGGCGACTAATAACAATAATTCAAAAC CTCTTTCCTGGCAATGCTTCCGGTACTCAACACGGAGAGAGAGGTGGCAG GTATCCGGTAATTTATTAACTCGAGCCGCGCACCCTGGCTCCCAGAGCAC ACAGCCCCGATGATCGCTCATGCACGAGTACTCACGAGGTGGTGGTGAGA GGTAGGTTGGAGAAAGCGGTTCTACCTTCACAAATTTCAATTTCAATTTC CTCTCTCTCCGTTTTACTCGGGCCCCCCCCCCCCCCTTCTTTCAATTTTT CGCCCCAAATTTGTGCTCCTTTAATGGAAAGTTTTTGAGTGTGTGAAAAA GAGAGAGAGAGAGACACCTTCGTGTCACGCCAATTGCACTAATATGTGCT CTCCCCACCTAGAGCTACCAAAATGTTCAATTCACAATTTCCGAACTAAT TCGTGTCAAGTTTTTAGTTGGTCCTAACTCTTTGGCCTAGAAATTTAGAT TTCTAGGTCATCCATCTAGATGCGGTGGCCTAGAATCCTAAGCTTTAGAT GCCCAGGCCATCAGGCCTAGATTCTGAAATGTTGTGATTTTTCTAGGCCA TCAACTTTGACCCAAAAGCCCTCTAATTTTTAGGCCATGAATCTAGGAAC CTATCTAGAGGCCTGATCCTTTGCTTTCTTGCCAAAAACTAGAGATCAAT GCCCTAGAAGCTCACAAAACTTTGGCCTAATAATTTCTAGGCCACCAATT TTTTAAAGATAGCCTAAGTCATCAACCTAAAATTCACGGCTTAGAAATCA TGAAATTCGCTTTTAAGGCCTCTGACTTCATAGCAGTGGCCTAGAACTCC AACTGTCAGTAGTCTGTAAAAATGAGCTTTTTGGGCCTCGAACATAACAT GGGACATGGAAGCCTAACATTTTTAGGCCACTGACTTTAAAGCAATGGCC TAGAACCCCGTTTTTCTGTAGCCTAGACTATCATCTAGAAATCAATGGCC TAGAATCCTAAAAATAATATTTTTCGGCCACCAAAATTTTAGGAATGGCC TAGAAATCTATTTTGTTGTATTCTAGGCCACCATCGACAAAGGAATGGCC TAGAATCCCTAAGAATGTGATTTTTAAGCTACCATCTATGTACCCTAGAC CAATATTTAAAATTCAATGGCCTAGAAACTAGAATATTTGATTTCTAGGC TACTAACTGTTGTGTGCTGTATCCTAGACTATCATCTAGACCCCAATGGC CTAGATTCCTGAAAATGTGTTTTTTCGGCCTGAAATAGGCCTAACATTTT CCAGTCCACCAACTCTTTTAAGATGACCTATAAGTTTAATCCTAGCTTGC CAACTATAAATAATTGGCCTAGAAGCTCCTAGGCCACCATCTAAAAATCG ATGGCCTAGAAACCTCCCATTTTTTGTATCCTAGGTCACCAACAACCACT GATGCCCAAGACCCCGGCTTCTTATTTCATAATGAGCAGCAAAATGAGCT ACCGTACCCCTTCTACACACTTCCTCCCTCTCCACACCCATTTCCCCTCA TTTTCGTCTATTTTAGCGGCGGCGGCGCGGGATAAATTTGTGAGAGGTGA GCTGCTCACAATAATGGGCTTGTTGTAATAGGCGGCAGTGGTAGTGGTGT ATGGATAATTGTGAGTTCCCAAACACACAAAACTTTTTCGCCGCAATTGT TATGCAACCAACATAATAATAATAATAATAATAAGTGAATGTGCATAAAT GTGCTCTTTTTCGCGTCTCCACACCCGTCCTGATGGGGACGACGCTTCGT TGAATAGTTGGAATAATAATAATAAATTGGAAAAATTTGGGCGCCCCCCT CCTAACACCCTAACACACACGAAATTTCATTTCGCGCGCGCTTCGAAAAC AAATTGAAGACAAGTTTTTCGCGAGACAAGTTATGATAATTTGTGGGATG TGGTCCCCGCCGGCAGCTTCCATCAATTTGGAGCAAATTTGTGCTCTCGC AAACCTTCTTAAAGAAGGGTTACACTAACAAAGTTTGTCGGAATCGATAT TTTTGTAAGTGGGCCTGAACCCCCGGTCTTTAAATTGATAGGCATTCTAG GGCTTCCATGGGAGACAGGCGCGGTTTTAGGGCCTGACGTCTGCCTCTCG CCTCATTTCTGCACTATGGCGAGAAGCCAAAGACTTGGTGTTCACACTTT GTGCCAGAGTGTCTCATTTCGGCTTGATCTACGTAGATCTACAAAAAATG CGGGAGAAGAGAAGCAGAGTTCTCAACTGATTTTACATGGTAACCAGAGC GTGCTGACGTCAAATTTTTTTTGGACGAAAAACTCCCGCATTTTTTGTAG ATCAAAAACCGTAATGGGACAGCAGGGCTTTCCACCAGAATAATTCCACT TCTTCACAATAAACCTATATATTTTTTGTCAAAATCTTGAGAATTTCCAG AATTTCAACGAAAACCACTGCTAAAAGTGGTTCTTTCGCCGCGGCCGACA CTTCTCGGGTTCCGCGCCGCACTATAAAGGAGGCGCGGCGCGGCAGGCGG CGCGAGGCAGGCGTTTTGGCGCCTGCACGGATGCCCTACACCAAACTGCA AACATTTCTAGTTCCGTTTTTCGGACTCTACGCCTTATTTCGGTCTTTTT GTCACAACTTCGCTACACTGTGTTTTTCTCCACTTCTACGACTTTAAAGG AGGGCGCATTTATGCGACTCACGTGATGTCAGGCAGTCTCATTGCGGTTT GATCTACAAAAAATGCGGGAAACTTTCCACCAGGAAATTGTGACGTCAGC ACACTCTTGCGAGATCAGTTGAAAAGTCTGCGTCTCTTCCCCCGCATTTT TCGAAGATCAAACCAAAATGGGACATTCTGACACCACGTGGTGACTTAGG ATCAATGTAGATCGTTTTATAGGCCATCCATTGATTTTTAGAGCTCGTGG CGGGACCATTTTAAATGAATTTCCAAAATTTCCAAAAACCTAATTTTTTT GTCAATTCACAAGTCCCCCGGACCCCCTCCATTGTCCCCCCGTTCACAAC TTCCTCCCTCGTTAACCACCCATTTAGCGGGACAAAATTAGCGAATCATT GACTCATAATCAAGTAAATCGGTGAATGCTCGACGAGCAAGAGGGGGGGG GGGGGGTCTAATCGAATTACGGGGGAAGGGACCCCTCCGCGCGACACCTC GCTGCCAATTAACAAGTCAACTACTTGGGGGGGGGGGGGGGCCTCCTCAC AACAATGTTTGTATTATATTTCTTGTTATTATGATTATTATTATTATTAT TATTAGAAATTAGTTAGTATGAATATATAATATCAACTAAAAACAAAATG ACAGTTAATAATAATTGAAGTCATCCAATAGGTGCCAATTAGTCAAAGAG AGGGGTCTGTGAAAACAGAAATAGAAGAGAGAAGGCGGGGGAGAGGGGCG CTCTCAAATAATTAATCTGGGCTCCGTGGGCTCGTAAAATTCCGATAAAA TGGCTTGTTTGTAATTAGCTAATTCACGGAATCTTTTTTTTTTGTTGGGG TTTTACTATGTTTTTGAACAACTTCCTGTTATAACATGTTTCAAAAAAAC TATTGACCTCAATGGGGACTTGAACCCTGGTGTTGAGATTGGTAGTCTGT TAACCAGTACACCAAAAATTGCAATTTTTGATTTTTGTTTTGTCTATTTT TTTGAATACAACGATAAGTAAGGATCATTTAGATTTAGAAAAAAAAAATC AAATTTTGTAAAAATTTTCTAAAAAGTTATGAACATTCCACTTTCACAGA TTTCTGGCTTCCCTCATAAATTGAAATGGAAGAGTTTTTGGCGAACAAGG CCAGATGCGTTGCGTGTCGCGTCGCGGCTCGATTTTAGTTGTAATGCATT TGTCCGTGTGGAGTCCACGACTTCCCCCGTTGTCCGCCAGACGATTGTAA ATGGAGCGCGAAAAATTCAATGAGAAAGGCCAGAACCCCGTGCACTTTTT TGTTTCTAAAACTGAAAATTTTGAATTTTGAAATTTTCCTTGGTTTTACA GTATACAAAATCTTAGTTAGAGTTCGCAAAAATTATTGACACTGGTGGGG GCTCGAACCCCTGAGGTGGCATCCCTGTTAGCCACTGCGCCAAAATTGCT AAAACTTCAAAAAAAAAATTTTAGACCGTTTTTAAGGTTTTTAGACTTCC GACTCTTCAAAAATTCCTATACAAAGTCTTCGTAAAACTAATGACTGGGG GGCTCGAACCCCGGTCATCATATCAGTAGTCATCCCTGTTAGCCACTACA CCACTTGCCCAGACGTGTTTCTGGTCTGTTTTACGGTGCAGCGTGGCCTA AAAAAAACTAGTCAGCCACCAATTCGAAAAGTCCATAGACCAAGTTAATA TAGAAATTCTTCAAATTCGAGCCAACCAACTAATATATTCACTAACCTAT TTTCGCCGTGTTCTTCCTGTGTGTGTGTGTGCCCCTAGTTAGGCCTAGCC CCCCCCCTTATTTTACTTGCTTCACAATTCAATTGGCCCCCACACAGTTA CAGTAGTCATAATCATTTTGTGTCGGGTTTTCGACACATCGTTTAAACGT GTTACCTCTCTCGGGGCCCCCTCTTCTCCTACTTCTTATTTGCTCAAAAT TTGCGCGTCGAAATTTCTTCGTCGTGCGCTGCCCCTTCCGAATAATCAGA TTCACCAATGTATAAAATAGGCCACGCCTCACTTTTTCCACACCCATCAT CTTCCCTCAACTTTCCTCTTCTCAAATGCCTAATCAGCCAGTTATAACGA GGGTGCTCTTCGTGTGGCGCCCCGCCCATTTTATTGCTCCTCTCACGCTT CATTCTCACTTTTTCTGGGGATCCTTTTTTTTGCAGACCTAAAAATTTGA GCTCAGCCATATTTTTTTTGTAAATATAATCAAAAAAAAATAGACATTAG TCAAAAAAGTTGTTTTAAGCCTAAAAAAATTTTTCAGATAAAAAACGTTT TTCTTTAACTTTTTTGAACAGTTTTTCAGTGAAATATTTTTAAATTTTTA TTTTAAAAAAATGTTTGTTTATCTAAGCCTAAGCCTGAGCCTAAGCCTAA TAACCCTAAATAGCGTCAGTGTGGGAGCTCACGCTCCCCCACTGACGCCA AGCCTAAGCCTACGCCTAAGCCAAAGCCTAGGCCTAAGCCTGGGCCGAAG CTGAGACCTAAGCTTAAGCCTAAGCCTAAGACTAAGACTGAGTTCAAGCC TAAGCCTAAGACTAAGCCTGAGTCTCAGCCTAAGCCTAAGCCTAAGCCTA AGCCATTTTTAAAAAGCTTAAAAATTTTTGCAATTACTATTTTTTCTGAA AATCTGTAAAAATATCGAATTTTTAGAGTTGCTATAAAATTTAAAATAAT ATTCAAAAAATAATCCGAAAAAATTAAATTTTTTTTCTCAAAACGTAGAT CATACAGAATCAGCTTTAAAAAATTCAAACCATTTTTCGTTTCAAAAATG TTCAGAAAATTTGTAAAACTTGAGTTTTGAAGAAAGTTTTCATAAACTAG CTCTTGAATAGGGTTTTTAAGTAGGCGTTAAAACGCTTGCCTGCCTGACC TTCAGGCGACTTTCGCCTGCCTGCTTGACTTTCAGACGTTCTCTGCCTGC CTGCCTGACTTTAAGGCGACCTCCGCCTGCCTCTCGCCTCAATCCGAGCC TTATCTCTTAAAATGTTTTTCATCAAATTGATAAAAATACGGAAATTACA AAATTTTGTAAGTTCATGCCAAAATGCAGGCATCAGGCCCTGAGGCCACG CCTGCCTAGGCCTCCGACTTTCGTTCTACAATTGTCGTTGCCGTTTCCTT TATCCCATTTTCATACCCCAAAGTTATGATTTTTCTTACACCCCTTGCGC TGCTGCTGCTTCCGCTCCCGTGATCTTATGAATCAGTAGTCAGAACTGCA GGTGTGAATCTCCACAATGATCACCCAATAAACGCGAAACACCATTAGAA ACAAAGTGTCCCCCGTTTTTTTTTTCTGAGAGTGTCGGCACCCCCCTAAC ATATGCGGGGAACATTGTCTCAAGTTTTGTGTGCTCCTCCAGCTCCTCCA TATGGTTACCGTAGTCCCCTGTCAGTGTTGTGTAATTGTTGTTGTAACTA TCCCCCGAATACCTCTCCTCACATTCATTCACAACACAGGTGTCAACTCA ACTCTCAGTGCTCATTTGAAGTTTATGAAGTTTAGCTTCCGGGGATGGCT CTCCTGGGCTCCCCGCTCCCTCGAAAATTTAATTAATTGCAAGCACATGT GGTGGTGGTGGGGCGAGCTCCGCGCTTCCCCCCCCGCCCCGATTCTCTCT CTCTCATTTGCGACTCATTAGATTTTAAATCACTCTCAAACTTTCCACTT TTCCAACTTTCGCGTTTTTTAAATTTTTTTTTCACTTTTTCCTCACAAAT TCATCCAAAAAAATTTCCAGAGTTGCCCCGCCCATATATTGGCTAAATGG TAGAATGGACGTGGCACTTTTGACAATGGATGACAACAACAAACCGCCGA CAAGTTCAGAGTCTACGGAGAGTAGGGGTGAGTTTGGCCGGGGGACCGAT AATTTTTAGGCCAAGACTTCTTTTTTTTTAAATCATTTTCAAAGGTACGT TACCTTCACGTGGTGCCAGGTTGTCCCATTGCTTTTTGATCTACAGAAAA TGCGGGATTTTTTCCCCAAAAAATGTGACATAAGCAAGTTTTTAAATCTT TTCTCCCGCATTTTTTTGTAGATCTACGTAGATCATACTCTGACACCACG TGTACCTTGAACCTCCTGGCTTTCTGAAACTAGAGTTCGTCGCTAGAGCG CATTTGCATTGTCGTGGTATTTAATTTACAGTACCGCCAGAATCATGTCG CGCCGCTTGTAGTCTAGTGGTTAACACGCTTCAGCTCTAAACAATAGGTC CGGGGTTCGATTCCTTGCAAGATGAAATTTCTTTCTCAAGATGGAGGTAC ATATGTGCTTTAAATGTGCACTAGAGATAGCGAAACTGATACCATGGTCC GACATGTACAGGGTTCCGCGCGCGCCTAGGGCCTCCAAAACGCCTGCTGC TCCAGTTTTGCGGCGACCTCCGCCTAACTCGCGGCGCGCCTTCTGTATAG TCACGGCCTTCTGTCTTCCCTCATAAATTGAAATGGAAGAGTTTTTGCCG AACTAGGCCATCTTGGCTCGGTCACATCTGGGCTCGATTTTAGTTGTAAA ACTAAATGTATTTGTCCGTGTGGAGTGCACGACTTGCCCACGCGTTGACC GGCGGGCGATTGCCAATGGAGCGCGAAAAATTCAATAAGGAAGGCCAGAA CCCCGTGTATAGTGCCGCGCGTGGAGCCCGAAAAGTGTCAGCCGCGGCGG AAGAACCACATTCCATAGGACTAAAAAACTAAAGTTCTCTCTTTCAGAAA CATCACCACCAATGATGCCAGATTCTGCGGAGATAATGCGACTTCTTACG GATCCTTCGACGGCTCAGATGTTTGGTAGGTCATAGATCAAATTTTTTCC GCAATTTCCCGAAAAATTTCAGCCAACGAAAACACAAAATGTCAGCTGGG ACGGATTCTCGCCGCGTCAGGCTTCGACGAGGCGAGCCTCTCCTCCTCGT TTCCGTTCGATCCGACGCTCGGCGCGTTCGCCGACATTTCCCAATTCTCA TCACTCCGAAATTCGTCGAAAACGCTGAAATGTCCAAAGTGTAATTGGCA CTACAAGTACCAGGAGACCCTTGAAATTCATATGAAGGAGAAGCACAACG ATGTGGATGTCAAGTGCATGTTTTGTGCCGAGAACCGTCCCCACCCGAAG CTGGCTCGCGGTGAGACGTACTCGTGCGGTTATAAGCCATATCGATGCGA TTTGTGTCGGTACAGTACGACGACAAAGGGCAATTTGAGTATTCATATGC AAAGTGATAAGCATCTTCATGCAGTGCAAGAGCTCCCGAATAGTATAGGT AGGTGGGGGGGGGAGGCGAAGGGTACTGTAGTTTTCGTGGTGGGACCCAA GAATTTGAATTTCACAAGAATTTAACTGTTGAACTCGAACTTTTCGATTC TAGGGTCTCGCCACGCAAAAACACTTACGCCAACTTTTTTGAACCCTAAA AAATGATACTCAAATTAGAGTTCTCAGTGAGCTAAATTCGATTTTACAGT ATTTTTTTAATTTGACGTTCTGTGGGTCTTACACTCAAAGGGTACTGTAG TTTTCGTGGTGGGACCCACTTGTCCAAAAATGGACGTGATTATATTTGGA TTAAAGCCCCTAACTTTTCTGATTTTTTTAATAAATTGGTTTTATTTTGA AAAGACTGAGAAAATTGAGTTTAGATCGAAATCAATAAAAATCGCGTCGA GACCCAAATTTCCCGGGTCTCGGCACGAAAATGGGGGAGAGGGTACTGTA GTTTTCTGGCTTCTCTCATAAATTGAAATGGAAGAGTTTTTGCCGAACTA GGCCGGCCATATCTGGGGTAGATTTACGGCGCGTTGCGTGTCGCGGCTCA ATTTTTGTTTTAAAACATGAGGAAGACCAGAATCCCGTGTTTTCGTGGTG GGACCCAAATGGGTCATGATTATACTTATTTGAAAGGCCTTAAGCTGAAT TCAGATTTAAGATTTTTATTATTTTAATTCAAAAATATCCTGAATTTTCC AGAATTCGCAGCCAACTTCGCGTGTGGTGCTCCAGTTAGCCGAAGTAGTC CAATCGAAGAGTCCGACGGATCCCTGGTCTGCTTGATCTGCGGTATCTTC GCCACCGAATCTATCGCCGAAATGATGGAACACGTGGAACAAGACCGTTC CAGGACGTTCCAAGGAGACGTTACCGTCCTAAACGGGAGCTTCCGGTGCC ACTTGTGCCCGTATAATACCACATTGAAAGCCAATTTTCAACTACACACA AGGACGGATAAGCATCTGCAAAAGGTTCAAATTGTGAGTTTTGTATTCCC CTCTCATCATCTTCTTATTTTTATTGTGTCGCCCTTTTCCCATTTTTGTG TGTCTGTGTGTGTATGCGCACCGATTTGCATATACACATAAATTCATGAT TTAATAGCGTAATGAGTAATATTTGCTTTGCCAAGGCTAACAGTTTTCGT ATTTTAAAGCCTTTTTTCTACAATTTTTGAAAAAAAAATTCAAAAATTTG AACATTTCAATATATCCCTAGAAAGCTCAAAATTGTAGTGAAAATTTTGA ATTCAGTACGCTGAGACCTTTAAAATAAGTATAATCATTACTAGGTTTTG GTTCTGACGCGAAAGTGTTCGTGGCGGAGCCCAAGCAAGGCGTAATTGAT TATAGGGTCTTTGCACGCAAAAAATTTAAGGTCCGGTAGGCGTGGCGGGG AGTTTTTCTTGAATTATTTTAGTTTTTCATAAATTTTCAATTTTTTGGAA TTTATTTTTCTCTCCCTTCCCCCGCGTAGTCTGAGCCTAAACCTAAGCCT GAGTCTAGGCCTAAGCCGAAGCCTAGGCCTAAGCCTGAACTTAAGTTTAA GCCAAAGCCTGAGCCTAAGCCTAAGCCTAACCCTAAGCCTCAGCCTCAGC CTAAGCCTAAGCCTAAGCATAAGGCTAAGCCTAAGCCTAAGCCTGAGCCT AAGCTTTAGTCTAAGCGTAAGCCTAGGCCTAACCCTAACCCTAAGCTTAA GCCTAAGCCTAACCCTAAGCCTAACCCTAAGCCTGAGCCTAAGCCTAAGC CTAAGCCTAAAGTCTTCGTGTCGAGACCCAATTATACTCAATTGAAAGCT CACAATGAGCTGAATTCAAATTTCTCAATGAAAATGTGAAATACTTTGAT TTTACGGTCGGTGGCTTTACTCCCCCCGAACTTTGGAAAAAACTCTGAAA TTTTTTTTTCATTGAATTCCAACCGGTTTCTACTCTCTCCGGCTATTAGT GTATGTGTCTTTCACTTCTTTGTTCTCGTCGGGTTGTTCCCAATTTCCAA CCCTCGTTTTACTCATTCCCCCTCTCATTTTCCCAATCCAATTAGTTATA CCTATGGGGGGAGGTGACGGTGATGATTCTCGCCATTAAGACCCCCCCCC TCTCCTGGGCCGATTGAGATGGAAACAAAACAAAACTGTCAATTTGAATA AATTCGCAATTTGACGCGGGCGGCGCAGCGGGTTGCCGAGAAGGATATAA ACTGGGGAACTCTACTTAGCCCGTAAGGTGTCGGCTGCTACTATTTTATC ACATCTCAATTTTTACGGAATCCCGTAAGGCGTCGGCTGCTTCTCTGTTT TTGCATGTTTTTACAATTTCGGCCCGTCCGATGTCGGCTCCTTCCAATTG TTTTGCAAAACAATTTAAAATTTGAGCCAGCAAGGTGTCTGCTGCTCCGG CTAGATTTCCAATATTTAAATTTTGCACAATCCTGTAAGATGTCGGGTGC TTCTCAGTTTTTACAAAGTTTTTTCTCAAATACGGCCCGCGCAGTGTCGG CTGCCACCTCGTATGTTTCATCAAACTTGAACGATTCGAGCCCGTTAGCT GCCCGCTGCGTCTTTTTTTTTCTCAAAATTCCAGCCCGTAACTTTTCGGT TGCTGAAATAAACAAAATTTTTACGAAATTTTAACCCTTGAAGTGTCGGC TGCAAATTAAGATACCTACTCATTCAGATTCCCGTCTCTCCCTCTCCCTC TCTCTTCATTGGGGAGTCCTTCTCCCGAGAGAAAATGAATAAAACTGTCA ATTTGAATAAATGCACACAGCGGGAGATGTTTTTCTGTGAAGACTCCACC GTCTTCTTCGTCTTCTGCCTATTAAGCGATGATCCTTTCACTTAACTGTC GTTCCCTCCCCCTCTCCACATACCAATAAACCTTGCCAAAAGGTCGAGTA TGCTTTGCCCGCCATCGTGCCGGAGGTCTTTTTTCTAGACTATGATGTTT TTTTTTGGAAAAACATTTTTCTATGGATCGATGCACCATGATGCCGAGTT GCCGAGTTTTCAATTTAATCAATTTTGAGATTTCAATTTTAGTCCCTTGT ACATATTAATTTTTTTGGAATTAACATTAAAATTTGATAAACTGTAGCTA CAACTATTTATTTTTGTGCCAAATTATACTATCCAATTTGACTTGTCTCT TGATGCACCATGACTAACTTTCTAAGATCTCATATTTTGGCCTAAAATTA TTCTCAAATATTTAAATTTAAACTTTAATCCTATTTTTTTTAATTCCTCG GAAAAAACCCCGTTAACAGAATTCCCAATTTGGCCTCCAGGAGCTTTTGT CGATGCACCATGTTCAACATTTTTTCAAAATTTTGCTCATTTTGACCTGA AATTTTGTCATTTTTTTATGTTGCAGGGTTTTTTATTTTGTGATTTTTGC GATGAAAACCACATTATGTGGATGAAAAAAGTTTGGAATCTAGTTTTCCC GTTAGGCTGCCATATTGCTATGTAGTTGATGCACCATGTCCAGCTTTCTG AAATTTTACTTTTTACATTTTTTGCTCAGTTTGACTTTAAAATTTTGTTA GTTTGACCTTAAAATTTTGTCAGTTTGACATTAAAAATTTGTCAGTTTGA CCTTAAAATTTTGTCAGACATATAATTTTTTTGTGTTTTTTGGTTAAAAA ATTGAAGGTTTTTCGCGATATTTAACACATTACATGGAAAAATTCTTTTG ATCGAGTTTTCTAATTTGTTCGTGTAGCAAGTCGATGCACCATGTCCAAT TTTTTAAAATTTTACTTTTTTTAAATTATTTGCCCAGTTTGACCTTAAAA TTTTGTCAATTTTACCTTAAAATTTTGTCAGTTTTACCTTAAAATTTTGT CAGTTTGACCTTAAAATTTTGTCGGTTTTACCTTAAAATTTAATCAGACA TATAAACTTTTCTGTTTTTTGGGTTTAAAAATTGATTTTTTTTGCGTTAT TTAACACATTAAATGGCAAAAAATCATGCACCATGTCTAACTTTTTCCAA AAACACTTGATTTTTCCCTAAAAGTTTGTCAGAATTATACATTCCTTAAG TTCAAAACCGTACGGAAAAATTAGAACCCATGTCGATGCACCATAAGCTT TGGCTCGCTGAGCTTCGTTGCTGCTCCTGCATATCTCTTACCCCCTCTCG CCGCTCTCAGAACATTGACCAATTACTTGGGCGGAGCGCCGTTTTGAAGT CGATTGGCTGATGAGTGTCCCGCCCCGCCCCCCGTCCCGCAAATTTTCGG AGGAACTTTGCACTGCACACACACACACACAAATACACAAATACACGCCA ATTATTGTCGATTTTTCTTGAAAATTTCTTCATTATTGTATATTGACTTT TTTTGTCGTCCTCTAGTCTTCCGCCATCCTCGGCGTCTTCATTCGTTTCA TTATTTCATACACCTGTTACCACTTAATTCGCCTATTATCCTCCTCATTA CCTTCATTTTTCGGTCGGCGTTGACGTCGACATTGGCGCCCGAAATGAGA GGAATAGGGGGGGGGGGGGGGGGGTATAGACGACGGCGACTACGACAACC ATGATGACGATCATTTTCGTTCTATTCATCTAATCCTGCTAACCGTCGAT TTGTCCCCCTCCGTTTTTCAACTTACCAAAACTTTTCGGTTACCTTGGGA ATTGGTCCCCTTTTATAGGCGCGTAAATTGACAACATATTTTGCTCACTT TTTCGAAGTTTCACAATTTTTAGTTAGTCCGTTTTTTCAATCTGGCCGAG TTTTCAATTTTCCCCGGCCAGGGAATTCTAGTAGTATTCACATAATTTTT CTTATTTTTGGTTTTCTAGGCTACGATAAAACTCCCTATGCCCGGCAAAA CTTCTAGGTCCCCCATTTTACACCTGACTTCCTACCTATCTGAAATGCCT ACTTGCCTTTCCACCTGACTAAGATGCCTACCTACCTAAAACCTACCTAC CGAACTATAAGATGACTCCTTACCTACATAAGACTTGCCGATCTGAAATA CCTACCTACTAAGACATGCTACCTAGCCTACCTATCTAAGATACCTACTT ACATATAATGTACCGACACAAGACTTGCCTACCTACGCAAGGCATGATTT TTTAGACCTACCTACCTGTACTTAAGATTTAAGACCTAGATCTTATTACA TAAGAATTTTCATCTTAGATACCTACTCAAGATCCTACCAAAGATGCATG CCTACCTATGACCTACTTACTTAAGATACCTGCCTACCCAAACCATACTA CCTAGCGCTAGCGCCCACCTACCTAAGATACCTACTTACCTATAATTTAC CTACACAAGACTTGCCTACCTACGCAAGGCATGATTTCTTATTGTTAGAC CTACCTACCTAACTATAAGTACTTAAGATTTAAGACCTAGACGTTATTGC ATAAGACTTTTTGTCTTAGATACCTACTCAAGATCCTCTTACCCAAGATA TACCTAGATGAACTTCCGACCTAAGATGCCTACCTACCTAAGCCCTGTCT ACCTAAGACCTACCTATAAGAACTTCCTACCTAAAAACACCTACCTAAAA TAAGCCTTCAAGCTCAAAAATTTTTAGAGCATCTGCATGAGATAAGGCTG AAAAATATTAACGAATAAGTGGAGAGCGATTAAGTTCCTGCCCTCTTAAA GTTCGGAAGTAGGCGCCGCAAAACCCCATTACTATTGCTCATCGAGCCAT TTCCGGTACTCAGTACTTTTTCATCCCCCACTCACTTTTTTCTCTCTTCT CGATTTGATTTGCATTCTTTTTCCCCTCGAATTTCGAGCTGAGCCCGGTT GATTTCCCGCACTTTCTCAATTCTTTCCTTAAGCCACCCCACTTGACCAG GAGCAGTTCATTCAAACTCGCACTTAATCATATTATGACCCCCCCCCCCC ACCCCTCTTAATTTCCTAATCCCCCTCCCCCTCCTCCTCATAATGACCAA AAGACAATTGCAGGCGAACCATCTTCGTGAGGGAACCCGTCCGCACACGG CAATCTACCGTCTGTCGAGCACAAAGACGAGCGTTCAAGTGTTGTGTCGA CAGTGTCAGGAGGTGATTTCCAGTGGCGAATCGCTCCGCGAGCATCGACA CTTTCACGCCCTGCTTGCCGCCAAGCAACGCTTGTGGCGATGCAAGTTGT GTAGGCTGGAGTTCGACTCGGTTCTTCTTGCAGCTGGTGAGTCTTGATAG TTTTTTTTAGGAAGAAATTATATCTGTAAGTCCCCCAAATATAAGGCCCC CATGTCCATCTTAATGAAGCTTCTGACTTAATTTTTACTATAGATTTTGA ATTTTGTCTATCGGAAGAAAAATTAGGTTCACCATGATTTTTCGATTTTT TCGATGCACCATGATTTGTTGCTAGAATAGAAAACAATTCGTGGCCAAGT TTTTTAATTATTTCTTTTTGTCGGCCAAGTTGCAAAAGTCACCTTTTGTG TATGGATGCACCATGACCCTTTTCAGTGGATTTTGGCCCAAAAATCGTCA AAATTTTGAATTTTTAAAAATCAAACTCTAAATTACCTTTTTTTTTCAAA TTTTCTTAACAAATTGGAGCATTTTAGAAAGTTCCGATGCACCATGATTT TTGCTAGAATTGAAAAAAAAATTGTCGGGCAAGTTGCAAAACTCACATTT TATGTATCGATGCACCATGACCATTTTCGAAATTTTGCGGTATCTATTCA AATAGTGCACATAGCCGTAAAACATTGGTGGTGGCCTCGTTTTCTCATGC TTCGGCCACGAAAAAAAAAATTCTACAGTTTTTTGGATCGATGCACCATG ATTATTTTTCAGTGAAAGCCTGTTTTTGCTTAGCTCAAAGGCCGGCTTAA TGTTCCCACAAAACGTAATCCAAAAATTTAAATTTTACCGTCAAACTTTT AGCCTGGCGTACACTAAAAATTGTAAAGTTTCAATATATCAAAAATATTT CTGGCCTATAAAATTAAACCTGAAAGCTTAGAAATCCAAGATATTTTTTA AAAATTGATGTCCAATACATGGGTGTGCAGCAAATCTTAAAGTTTGCCGT GCTTAACAAACTCCGAAAAAGTGTGATATTTTTTTATGCTTTTTGGAGCA CCAAAACTACTGAATTCGAGCTTAGCAAACGGCAAATTCGGCATATTTGC CGCACACCCCTGGTCCACTAGTTAAGCAAAACCCACCGCTGAAAACTAAT CAATTGGTGTTTGAAACGGTGTGTGCTACTACTAGAATTTCGCTGTTCAA AATCTCTTTATTAAACACTTCTTTGTGTCTATTCTGCCCTTTCCTCCTCC CCGCGCAAAATCCACTTGTACCTCTAATTACGGTCAACAAGTTTGCGGGT TTAGTTTAGTGAATGAATTGTGAAATGAATGAATGAATGAATGGATAGGT AGGTGTGTATGTATGTGGAAAAGTGCGACACACACAACCAGCCGTCCACC ACCGCCACTACCACCAGCAGTAGCAACAGCCATCAAATATAATCCTTGCA TTTCATTATTTCATAGTGTCATAGATAGTAGCAGGCCCGAGGTCCGAAAG GCCTTGACAGCGGTTTATATTCATTTCATTTGACACCCCCCCCCCCCCCC CCCCCTCCTACTATTCTTCTTCTCTACCACATACATTCACATAGTCAGGC CATTCATGTTTTTCACACAATTTTGTTAATAAAGCCGCTCTGGCGCCACC TCTCAGTAGTCCTTCTTCTTCATCATCATCACTCCCTCTCCCTTACCAAT AACCAAAAACAGTCATTGATGCGTATCGGAATTATAATCGCGCATTTATT GTAGGACACATGACTTGCCACGAGCCGTCCACTTGGCCCAACGAATCACT TGGTGAGTCTCTTTACAGTGAATCTTGAAATTTGTGTTGTTTTGTTGTGA AATATTGTTAATCGTTTTTTTATTAGTATCTCCAATTAGGCCAAAACTAT AATCGTGAAAGAATAGTTTCTGCACATGGTGCATCGACCTGATATATCTC ACTTTTTTTGGGCTTCATCAAAAACTTGTTAGCTAATTATAGTTAAGCAT CACATCTATTGATATGTTCAATTTGAACAGAATATGGTGCATTGCATTGT ATTGCAACTGAAACAATTTTATTGGCGCATAACATTCAACTATGTAGTTT ATGTACATCGATCTTAATTACCGTATTTCCTCTATTAGTATTGCACCCGA CTAATTAACTTTGAAACGTTATATCTCGGTTCATATTGAAGATATCAATA TATAATTAACTATGAAATAATAGCAAAAGAACTAACAAATATTTTGTTAG TTGACCATTTTTGAATAGGACAAACGATTACGGAGATATAAGCTGTCAAA AGTGGACAATGGGGTGCAATACTAATTGTGTAAATACCTTATATCTCGGT TAGCTTTGGTTTTAACAAAAATTTTAAACTGACAAAATATAAGTCATCTA AATGTCTATAGTTTTGTAGTTAACAATTTTTTGATATCTTTAAAATGAAC TAGCGATTTTCGACATGGTGCATCAACCTCAGTTACCTAGTCTAACTTTG CTGGCTTATTTCTTAGTTTTAGTATTAACCGTTCATTTTAATATACTTTT ATAGATAGTTAACAATTTTTTGATACCTTCAAACTGAACCGGAGCGATTT TAGACATGGAGCTTTGATCCTATCTTGCCTTAATTTTCAAGCTTATCTTT TTGTTGTAAAAAAAATTTAGACATGGTGCATTGACCTGAACTACCTGATA TATCCTACTTGATATATCTTCAATTTTAGCAAGTTTTGGAAAAAAAAAAT TTTAATGAAATCGATTTTTTTTTTCAATTTTCAACCTTCCGGCCAAAATT TTCAATTGAGTTTTGACCTTTTTTTTTAACCCGGCAAAAATCTAAAAACT CCCAAGAACAATCTCCCACAAAAAACTAAAAACTTGTGAATCTAGATTAG TCAAAAATTTGCACCTTCTTCCCATGGGATGGCTCAATCGAACCCAGTTG ATGAATCGGCCTGTGGGCCGCGAGCAGTCGCCGCTCTAATTTGGAGCATT TGTATATATATAGCGAAGAATTTCACGTGACCAATGAAACCAATAGAAAT CCAATCATATTTTTGTTTTGTCTCTAAATCATCTCTTCCCTCTCTCTCTC TTGCCCCTCCTTAACCAATCAGAGACGCACACACCGCACCGCCCGTCCGT CATCGTCATCGAGTTCCGCAATTAGTCGTCTATTCTCTCCGTTTTTGATT GGAGATGGAGCGAAAATGAAAGAGAAAGAACGAGAGAGAGAGAGAGAGAT TAGCTCTTAGATTCATTCAACTAATCTTGAAATAACACACACACACACAT ACACAAATGAATTATCTTCATTTCAAATCATGGAAATCAGCAAATTCGCT AGAAATTTCATGGAAGGGGAAGCTTGAATTAGGAGCACTACTTGATACCG AGTTGGAATTGTAGTCTTTTAATATTTGAAGAAATATCACAATTTTTCAT TTTAAACTTCTAAAAATATGCAAGTTACTTGATGCATCATGCCTCTTTAG ATAACGTTTTTTTTAGGCTTAGGCTTAGGTTTAGGCTTAGACTTAAGCTT AGGCTTAGGCTTAGGCTTAGGCTTAGGCTTAGACTTAGGCTTAAGCTTAT TCTTGAGCTTAGGCTTAAGCTTAGGCTTAAGCTTAGGCTTCGGCTTGGGC TTAGGCTTAGGCTTAGGCTTAGGCTTAAGCTTAGGATTAGGCTTAGGCTT AGGCTTAGACTTCTAGATACTTTCTCAAACCACCAAATTACTGTATATTC TCTATCATAGATACTACTTCCATTTGGCAGCTTATAACTCAAGTCTTTTG TTAGAGATATCACTAGCTTTAATTACAACATTATAGGTTAATAAATACAC CATATTTTGTTAGTTTAAATTTTTTGATTAACCTAACGAGAACCGAAATA TGAGTAGTCAAAGATTATCGATGCACCATGGTACTACACTTTACTTTGCC GGCTCATAACTCGGTTTATTTTCAGGATATCAAAAAGGTTTTTACTACAA ACCTATAGAGAAACATATAATAAAAATATTACTATTTTGCAAAATTTTGG TAAAACTAATAAGAATTGAGATATAGGCCGTTGAAGTTGCATGATGCAGT TCAAAGCCTACGGTTTTAGACTTATAGCTTTAAAAGGAGGTACCGTATTT CCTCTATTAGTATTGCACCCATTGTTCAACTGTGACATCTTATATCTCAG TTACTGTTTGTTCTAATCAGAAATTGTCAACTAACAAAATATTTCTTAGT TCTTTTTCTATCATTTCTTAGTTGACCATATATTGATACCTTTAAAATAA ACCGAGATAAAACGTTTCAAAGTTAAGTAGTCGGGTACAATACTGATGGA CGAAATACGGTATTGAATATTTTGATCTACGTAACTATTTGATCTAAAAT CTCGATATCATTTTAATTTCTGATCCATAGCTTTGCGTTCAATTATCCTG CCTAAAAAATCTCTAAAAATAACGTCTACGAGAGCGGGTGAAACAATAGG TGGTTAGATGTAAGTTGATACCCCTGAAGGGCATCCGGGATCCCCGCGCA AAAACAGTACAAACATGAGATGTACAATCCCCCATTTTTTTGTGGTCGCT CTAAGTTGAAATCGATGCAAAGACATTGTCAATATAGCCGTGACGCGACG GGCGGGTGGGCTGGCGCGCTCGATGAATCAAGATCGTTTTGGGAAGAGAG GGACTGAAAATATTAAAACAACATTTGCATTTTGTAATTGTTTGAATCAT CATCATCATCATCATCATCAATCATATCATAGAGGTGGCGAAACTTTTCC TGCTGGGAATGTGTCTCCTTTTTAGTACAGTCAATAAATGTGTCACTTTT GAACGGGGGAAAAGCTTTTCTGCTTTTCTTCGCTCTCCACCTCCTTCCCT CCTCGCTCATAAATTTCCATTTTTCTCTTTACAAACATTGATTGATTTCC TTATTCTATTGACTTTCTGATATTAAATTGATCATCTACTAAAAGGTATA TATATATATAAGGTATATCAACTCTTGGAGCCCATATCTTTAATGCTCAT CAAACTCCCAGTTAGGACTGGGAGTGAAGTACTGGGTGGTGGGATAAGAA AGTTAGGATGTGACGGGTTTCATGCTCATCTCGAGCTGCCAATCTTGCAC ATTAAGCAATTGGCTCATTGGCATGCTCTTGTCCTCTGGGCCTGCCGCGG AGCCATCTCCCGTTTGATATCTGCTCCCGGGGGACGTTCCCAACTTGGCC GGAGAGAGGCGCCGCGAGCAGCACAAGCTCAACCAAAACTTTTCTAATGT AATGGGCCGGAATTAGGGGAAGAACAAACGAAGGAGAGGGTGGGGTGGAT GAGGAAGAGAAAAGAGCACCACCACCAACTGATTTGATGGTTGGAGAGGA GCTCGTTTTGTTTTCTTGTCGTCGTAAGAAGAAGAAGAGAAGCGCGCTAG TTAGTGGTTAAACGAATCAAGACCCGAATGTGATAGATGTGCCGCCAATT TAGCCAGTAGGATTTTTGCTGATTTTGCACACATTCATTTTTCGCTTGCC TAGACATTACATCCCATCTTATTCCGCTTCATTCATTGTCGTGATTTTAA GATTTGGGGGACCTAGGAGCCTCTACAGTATTATTTAAATTTCACTTTTG TTTGGATTTTGAAAAGAGATGCGTCATACATATTCATTTTAAGGCACCTA TGTATACAGTTCAAAATTTTGGAACATTCCTGGAATAGCGATCTTAAAGC GGGAAATATAATGACATTATCTGACAATTTTTTCGAACACCTAAAAAACT TGAATAAAGCCAATTGAATCGTATCCCTAATGGTTTGCAAAGTTGGGCCA TGCTCTGAATAGCTTAGAGTTCCATCCTGACCTGGAGCTCGCCAGAAGCT GAACGCACTGAACTTCCAGTCAAGCCTCTTTTGAATAAGTCTAGTTGCAG ACTAGAAGCCTTAACTACCTGATGAGATTTTCACCCTTCTCTCATTAGTC TATTTCATTAAGCATGAACTTACACGAGAATTCCAATTACATTACCATGT AACATTACTTAAGATCCCATTTCCACTTAATTTGTGAAAATCGATACGGT TTTATAAGAAGTGTTTTGTCCTTTTGCCTATAGCCTAGAGCAAAAATACC CAAATTATTTGGCAGATCATGTCTCCGACAATATTCTGATCGATTAAGAA ACTTTTGCAAATCTGCTCGGTTTTTTAGTCTACATTCGCCCCCAGATAAC TGTTCTCGGCAAGTTGCCGATTTGCCGATTTGCCGGAAATTTTTCTTTTC GCCAACTTACTGATTTGCCGGAAATGTTTAAGGGATTTTTTTGAAGACGG AAAATTTTTTCATTAGATATGTTCATAGAATTAGCTTGCATTACAAAATA GGTGTATGAACATATTCAAAGGATGCGTACAATTTTGCCGATTGAAATTG AAATTCTGAAATTTCCAAAAATAAATGTGCAAAACCACAATTTGCCGTTT TCCGGCCAATTCGGCAAATCGGCAATTTTCTGGGTTGCAAATTTGCCGGA AATTTTCAATTCCCTTTATTTGCCGGGTTGCAAATTTGCCAGAAATTTTC AATTCCGCAAATTTGCCGTTTTTCCGGCCAATTCGGAAAATCGGCAATTT TCCGGGTTGCAAATTTGCCGGAAATTTTCAATTCCCTTTATTTGCCGGGT TGCAAATTTGCCAGAAATTTTCAATTCCGGCAATTTGTCAGTTTGCCATA AATTTTCAATTCCGGCAATTTGTCGATTTACCGGAAAAAATCGTTTGCAC CCACCCTTGATGTGAACGCTAGCACTACCTCCTAGTATTAAGGCTCCAGC TAATTTCTATATCATGGCTCCCAACTATACGTTCCTCCCTCCTCCCCCTT CCCAATTTCGAATGGGCGCCAATTATTGCTCAATTCCCATCAGATTGGGG GGGGGGGGGGGGGGGGCATTCGTACAGTGTCAACACGAATAATAATTATG AGCCCTCTTCTATGCCCAAAGCGCGGCGTCTTCTTCTTCACCCCTCTAGG AAGTTCTCATAATTAGCATTTTGTAAGACTCGGTGTCCCCCTTTCAAGTA TCTCTGGATGATTCCCCCCTCTCGCACACACTCTTCCCATTTTTTTTTCA CAATAATCATAATCATCAAGTTGGACACCAAAAAAGCCATAAATTCGATT CCGGTCGAATCGAGAGAATTGGAAGAGAGAGAGAGAGAGAGAGAGAAAGA GGAAATGAGACAGAGGGGTGAGAGATGGAAAACGAACAAGTGTGATGGTC GTCCCCCCCCCCCCCCCCCACGGGGCCGCTCCTCATTCCTATATTTATTT ACAGCTCTCTCTCTCTTTTTCTCTTCAATTTCCATCTCTCTCTCCTCATC TACAGTAATCGGGGAGGGGCTAGTGATAAGCCTCTCCCCGCCCCCCCCCC CCCGGCGGTTAGGTGTCAGAAATTAATCATAGAGGCCACGCCTCTAATGT TTTCGGAGCATCATCCTTAATTCTTTAATTCATTAACCTTAATTCATTAG TCTTACACTGAATTTCATAACTAAACTTGTTGAAAAAACTTCTCAAAAAA AAAAGTTTTGGCGGCTTAAGAAATGGCCTAAAATTAGTTCGACTTTTCAA GCGGCTGGAAACTAACTTTTTTTGAAATCCCCCCTAATTATGGGTCTACA ACGTAAATAAAAAAATTTGGTGACCAAATTTATTTAGGCCAAATCTGGTG TTCAAATTTTTTAGGCCAAATCTGGTGACTAAATTTTTTAGGGCCCAATA TGGTGAAAAAATTTTTTAAGGCCAAATCTGGTAACCACAATTTTTTAAGG CCAAACTTTTTAAAGACCAAATTTTTAGAGCCAAATCTGGTGACCAAATG TTTTTAGGGCCGAATCTAATGACCAAATTTTTTTAAGGCCAGACCTTTTA AAGCCCTAATTTTTTAGGGCCAAATCTGGTGACCAAATTTTTTAGGCCAA GTCTTGTGATCAATTTTTTAGGCCAAATCTGATGACCAAATTTTTTAGGC CAAATCTAATGACCAAATTTATTTAGGGGCCAAATCTGGTGACCAAATGT TTTTAGGGCCAAATCTGGTGACCAAAATTTTTTAAGGCCAAATCTAGTTA CCAAATTTTTTAAGGCCAAATCTGGACACCGAATTTTTTAGGCCAAGTCT TGTGATCAAATTTTTTTAAAAATTTTTTTCAAATCTGGTGACCAATGTTT TTTTAGGGCCAAATTTGGTGGCAAAATTTTTAAGGCCAAACTTTTAGGAC AAATCTGGTGACCAAATTTTTAAGGCCAGAATCCACAACTTTTTTTTGAG AAATTTTGAAGAAGTTTCTAATTCACCTAATTCATTACTCTTTTTGAATT TAATCTTCGATATTCCAGATTTCAAAACGATGGAGGATGCGGCGTACGCG TGTGCTGGCTGCGAATTCACCACAAGTGAGTTTTTTTTGTTGTTTCCTTA TCAGCATCAGCTCTATGCCTTCTCCCCACCCCACCCCGCTCCTCCTGTAA CCTTCAATTGCCATTCATTTCACACAGTAATAGTACCACACAACACCCTT CCATGCCTTCAATTTGACTCATTAATAGCCCTTTTCACCATGTCTTTTTT CCCCCTCTTTCTCTCTAATACTCAACCTTTACCTACCTACCCGCAATTTA ATTGGCAACTAATTCGGATACATTCGGACGGCTCAAACGATGCGCGTCCG TCGTCGGGTGCCCGAGACTGGGACCGGTTTTCAGAATGTCAGTGTATGTG TGTGTGTGTCTACCGGCTGGCAGGCAGCCACACCACTGCGATTCGTTAAT TTATTGTGAGATGATGACTGTACATTATTTTGAGTGCTGCTGGTGCTGGT GGTGTGCATCATATAATTATAGCCTAGTTGATAGAGATATATCGACACAC ACACACATACACATTTACTTTCAATTGCTTCTACCCAATCTTTTTTCTTC CATTCTCCAATTCCTCTCCTTGCTCCCATTTCGCCCTTTGATATTCACCG CGTTTCGCGTTTCGCACTAATTTCGCGCCCGGACCGGTGTGCTCGGCGCG GCACGTCTTTCATCTTTTTGCCTCAATTTCATTATGATAATAATAATCAT AATAATTATGCGAGACACGGCAAAGACGCGCTCAAGAAACTGATAAGTGT GTATAGGTCGGGTCCTTTTGAGAGAGAGAGAGAGCGAGGTGTGATAAGCG CGTCTAATGAGCATGGGCAATCATAACATTCCTATCAGCATATCAGCATT AAAACATTTTTTTCAGAAGACGTGTCGGACTTTGAAGAGCACGCAAAAGG ACACGAAGAGGAGGCGGGAGCCTCTTCACAGAAGGCGTGTGCGCTGTGCC TTGAGCCCACCGACGACCTCGAAAAGCACCTTGTCGAGCAGCATCGCATC GCCGAGAGCGCCATCGAAAAGTTCCTGCTTACTGAGAGAACAGCCAAGTG AGTGTTTTTTTTTGTCTTCAACTCAAATATCTAGTAGTAAGTCTTATACT TGGCTTATATTTCAGCGGTTTCAAAATATTTTTGATAGCTTTAAAAACCA TAGAATAACAATTAATTTGACAACAATTTTGTCGTTTGAATTTTTTGACA AAAATTTTGTCGTTTGAATTTTTAAAATATGATCAAAGACAACCGAGATA TAAACGGTCAAAGTCCAGTGAGAGGGGCCATACTAATAGGGATTATACGG TAGGTAACGAAATTTTGATAAGACTTATAAGGACAAAGATAATGGAGCTA GAAAGTTTAAACTAGTCCAATTTGAACAATAAAAATATATATAACGTACT TTTTAGTATAAATATTTTAAAAGTAGAGTAATCTGAGATACAGTAAATTT TTAACAATTTCTAGTCGATGCACCATGTGCAAAAACTAGTCCAGTCCTAA AATTAAATAGCACGTACTTTTTAGTATAGATATTTCAAAAGTTAAGCCAT CTGATATACAGTGAATTTTACCAATTCCTAGTCGATGCACCATGTGCCCA CTTAACTTTCACGGCTCACTTCCCGGCTAATTTCAAACATTTCAAAATAT TTTCAACTATTCAACTATAGAGGGGTTTTTAATAAACATTTTCTCAGTTG ACGACTTTTTTATAGAATCAAAGACTACCTAGATATAGCTAGTTAAAGTC GAGATGCAAGATTTTTCGGAAAAATCACGTGGTGTTTTCGGTTTGATCTA CGTAGATCAACGAAAAATGCGGGAGAAGAGACGCAGAGTTATCAACTGAT TTCGTATGGTTAAGAACGTGCTGACGATGTCACATATTTTTGAACAAAAA ATTCCCGCATTTTTTGTAGATCAAACCGTAATGGGGCAGCCTCGCACCAC GTGAAAAATTAGTTTTTGAGGCTTTTCTAGTCTAGAACTAAAGTTTTTTT TTTGATTGGCCTTGTTTTTTCTAGTCTTAAACACCAGGTAGATCAAAACA AATTTTTTTTCAGAGTTTCGATTTTTATGAATTTAAAACTTTCAAATTGT CGCACTTCCTGTCCCTTTCAACCCCAAAAACGTTACGATTTTGTGCTATC ATAATCATTAAACCATGCTTGCTTGTGTCAAGTTGCACAGGGTGCGCCGG GGGGGGAATTGGCATTACTGTAAATTTCCTGCGTCTCCATCCTTGCCCCC AGTGTCCCCATCGGCAATTAGAGAGTACGATCCGATTTTGCATATTTTAT TCACGTCGCCTCTTGTTTACTCGCTCTAAATTTCAATCCGTCGCCAACCC CCCCCCCCTGCCTGCCTCTTCCATTCATCATGAGTATTAGTGTATTGATT AATTTTCGAATTCACGAATGAATTCATTGCTGGCGCCCTGCTACTAGTAA TCAGTGAGGTCATAGCGTTGTCCTTTCGATAGGGCTAATTAAATGTTTCT CTAGGAGCGGGAGGATAGATTTGAAATCAGGTGGGCGTCGGTTTGATCTA CGTAGATCTACGAAAATCGCGGGAATTTAGACGCAGACTTCTCAACTGAT TTTGCATGGTTAAAAACGTGCTGACGTCATATTTTTAGGGGAAAATATCC CGCACTTTTTGTAGATCAAACCGTAATGGGACAGCCTGACACCATGTGCT CAGTTACAATTGGAGGGTTTTGTCGGAAAAAAATCAATTTTTTAAACTGA CAACACATTTTGCTCATTCTCCAAAACTGAGCCAAATGTGTTGTCAAACT TTTCTTGAAATTTTTTTGAATCGAAATTATGTTGAGGTGAATTTTCAAAT TTCAAAAAATGCCCCATTTCTATCAATTTGTCTTCACCTATGTTTTCGAA TAAGGGCGAGGCGAGAGGCAGGCGGAGGTCGCCTTAAGATCATAAGATAG CCTTATGTGATGACGAAAAATGCCAAAAAATGTATTTTTATATAGTTTCC CCGTGTGTAGAAAAATGTAAAAAGAGCATGCATTTTGTGCATTTTTTGAC ATTTTTCTGCATTTTTTTTTGACATTTTTTTTTCATTTTTCCACACAGAT GAATAGCGGAAAAACGGAAAAAAATACATTTTTGCATTTTTCATGATCAC ATGATCAACCCCATAAGGTTTTTTAAGGCATAATATTGATATTTTTTATT AGTCTACTTTGCATAATGCCTACTATTGAAGGCAAATCAAATCGACATCA CTTTTTGCTCATTTTCAAAACTGAGAGGCACGGCTTCTATGTTGACTACT AAACCAGTAATAACACTTATAAAATGTTTGGAAAACACTCATACACATTG CCACGTCATTTGGATGGAAGGGACCCCATTTGTTGAATCATAATTGATTG TTAAACTATCATCACTCTCCCCCCGCCCTCCTCATTGGACCCCACGGCTC CAAACTGTCTCCAATTTGCTCCCCGTCCTCTTCTTATCACCTTGACGCGT AATTGAATTTTTGCGGATTTCTTCCTCCCCACCGCTTCCTTTGCTCCTTG GGGGAAAAGTATGGAGAGTGTTTATGTGTGTGATTGAATTGAAGAAGGTG GCTGACTCATTCTTTCATTTTCCTCGCTTTCTTTGAAAGAACAACTTGAC AGTTTCCCCCCCCCCCCCCCATCTTATAATAATAATTACTTGCAGAGAAG CGTCGTGTTCATCGTCGTCGGAGCCGAGCTCAGAATTCGCGCATCGCTGC TCGAGGTGCTCGATGGCGTTCCGAAGCGAGTCGCAGCTGCAGACGCATTC CCTTCAGCACGTGTTCAACACGTTCCACAAGTGCCCCACGTGTGGCGATT CGTTTGATGAGAATACTATTGTGGTGAGTGAATTCACAACACTTTTGGCT CACAGTCACGCTTGATCTACGTGTTTTTAGACAATTTTGAGTCTACACGT GGTGTCAAAGTGTCTCATTTCGGCTTGATCTGCGTTGATCTACAGAAAAA TGCGGGAGAAGAGTTTTGGGCAAAAAATTCCCGCATTTTTTGTAGATCAA ACCGTAATGGGACAGCCTGGCACCACGTGCTCAGTTAAAGTAAGAGGGTT TTGTCACTAGATTTATTTTTTGTAAACTGACAACACATTTTGCTCATTCT CCAAAACTGAGCTAAAAGGGTTGTCAAACTTTTTTTGAAATTTTTTTAAA CGAAATTAGTTTTGCTAGTTTTCCTAAAAGGAGCAAAAAGTGTTGTCCAA TTTTTATAAGAAGGTTTTTGTCGCCTAATCGATTTTTGTAAACTGACAAC CCTTTTCGCTCTTTTTTCAAAATTAATTTTTTTCTTTTGGCATTAATCCC ATTTTTTGTAAATTAACAAAAAAATTTCAAAAAATCTTCAAGTATTTCTA CAGGGTGGCCTAGATTCTCTATAGGGTGGCCTACATTTTTACACTGGTTG TCTAGATTCTTAAACAGGGTGGCCTCGATTCTGTACAGGGTGGCCTAGAT TTTCTACACGGTGGTCTAGATTTTCACTGGTGGCCTAGATTCTCACACTA GGTGGCCTAGATTTTTCCACTAATAGCCTAGATTCTTTACAGGGTGTCCT AGATTTTCACACTGGTGTCCTAGATTCTACACAGGGTGACCTAGATTTTT TACACTGGTGGCCTAGATTCTCTACAGGGTGGCCTAAATTCCTTATAGGA TGACCTAGATTCTTAAACAGGATGACCTAGATCTTGACACTAGTGGCCTT GATTTTTTACAGGGTGGCCTAGATTTTCTACAATGGTCTAGATTTTTTGC AGGGTGGCTTGGATTCTTAAACAAGGTGGCCTAGATTTTTCACAGGGTGG CCTAGATTTTATACAGGGTGGTCTAGATTTTTACACTGGTGGCCTAGATT CTTTACAGGTTGGCCTAGATTTTCTATAGGATGGCCTAGATTCTTAAACA GGGTGGCCTAGATTCTTTACAGGGTAGCCTAGATTCTTCACAGGGTAGCC TAGATTTTTACACTGGTGGCCTAGATTTTCTAAAGGGTGGTCTAGATTTT TGCACTGGTGGCCTAGATTCTTAAACAGGCTGGCCTAAATTCCTTAGGGG ATGCCCTAAATTCTTAAACAGGATGACCTAGATTTTATACAGGATGGCCT AGAACTACTTTTTGTAAATCGACAGCACTTTTTGCTCGTTTTCCAAATCG TTTTTTTTTCAGACCCATATGTTGGAGCACACCAAAGAAGAATGCGAAAT GTGCTCTGAAACATTTGCCACAAAAGAGGCATTCCTCTCCCACCTGAACT CAGCCCGACACCTACAACAGGCAAAGAAGCAGCTGGAAAACTCACTGGTC GACTTAAACTCTCAGGTGAGCCGCCGCCGTGCCTCCTGCCGCCTGGCTAC CGTAATCACCGTACCCATTATTTAATTGATTTGCTTTTAGCCACGCCGCT GCTGCTCGGAGCGCAGAGGTGACAGAAAAAGCCGACAAAAAACAACATTA AAATTATTACACTTTTTTATGATTGAATGCGAGAGAGATGTATGTGTGTG GAGAGATGGAGAGGCGCATGAAATGGTGTTCGGGTTCCATAGCAAGCTCA TTGAGCACAATGATTTTTTTTTAAATATATTTTATTGGAAATGACAGAAG CTGAAGCTTGAAAGGAACGTCCAGTTTTAAATTAAAGTATTGATTTAGCA CGTAGTTTCAGCATGTCCCATCACGGTTTGATCTACAAAAAATGCGGGAA TTTTCTTCCCAAAAAATTTGACGTCAGAACGTTCTTAACCATGCGAAATA AATTGAGAACTCTGCGTCTCAACTCCCGCATTTTTTGTAGATCTACGTAG ATCAAACCGAAATGGGACACTTTGACACCATGTGATATTTAAAGGGTCTA GAAAGAACTTAAAATAGCCTAGCCAAGAAATGGGCGGAGCTTTGGTAGGA ATTTTCATAAGTCGAGGACTCCGCCCATTTCTTGGCCAATTTGGGTTTTT GGCCTTCAATTTTTAGTGTTCACTAATTTCCAATAAGTTTAGGATTGAAA AAGTTTTTGAGGTGAAAATTGATCCTAGCATAGGCTCCGCCCATTTCTTG GTTTTTTTTTTGTTTTTTTTTCTTTTAAACTAAAATTCCACTGAACTTGT CTAATTTCAGTTTCCAAAAATTTAACGAAAAAATTCGAAATGCCAAGAAA GGGGCGGAGCCTAAGCGAAGCCTATTTTTCGATGAAATTTGGCCAAGTTG CGATGTTTTTGAATTTCATATTTTTGAATCAAGTTTTGAAATAAAAAGTA ATATAAAATTGGAAAATAGGCTCCGCCCATTTATTGGCTTTGTTGGATTT TTTACTGCATAGATCACATTTTTGCATCCGAAAATTTATCGGAAAGGAAT TTTTTTTCCCAATTTTTTTCCGTAAACTGTATCATCAAATTCTTTTGAGA TTCAAAATATCCAACATAAGCACGGGGTTCTGGCCTTCCTCATTGAATTT TTCGCGCTCCATTGACAATCGCCTGCCGGACAACGCGTGGGAAAGTCGTG TACTCCACGCGGACAAATACATTCAGTTTTACGCGCCGTAAATCTACCCC AGATATGGCCGAGCCAAAATGGCCTAGTTCGGCAAACTCTTTCATTTCAA TTTATGAGGGAAGCCAGAACTCCGTACATAGGCGCAATAAAAGGTGAAAT AGGCTCCGCCCATATCTTGGATCGGTTCCAATAATGTATCCAAATTGACA TGTGTTAGTTACACTTGTTCCTAATCCAAAATTCTATCCGAATTTCAATT TCCCAAAGTCAAAAAGTCAACAAGTTCTGTTCTTATATGTGTAAGGCGCG CGCGAGCGCGATCGTTTGTCTCTAGTATTTGCTCATCTCTCTCTCTCTCA ATTACCGTACCCATTATCATTCCGCCCATGGATGATGATGATGATGAAAA TGAGCGGTGGGCCCCCTCTTCCCCTGCCTCTTTTCGCGCATTCATCATGT TTGTACAAAAGGCGGCGGTTTGAGAAAAGAAGACAGTGAGAGGGAGGGAG AGAGAGAGGTGATGAAGGTAGTAAACGTGTGTCGACAAACACATATAGAG AACGATTCGTGTGAAATAGATGAGGGCAAATAGGACGAATTTATTTAAGA GAAGAATAAGATGCTTTGGCCCAGATGAGGGGGGGGGGGGGGTATCATGA AGGTGTGATGACGAACCATATTCCTTCAATGTTTGTTGCTCGCTTAACCG CCGTCGCCGCAATTTAAATTGTTTCGACTGGGTGATCAGACAAATAAGAA GACGTAGACGGTTTTTCTTGGGGGGGACGTTCAGCTTTGATTCCTTTCAA ATAATCGATGCGGCCTAGCTTTCTGATCTCCAGAAACCGCGGGCCTTCTT TGCTAAATTTTAAGCGATTTTACTTCCTCCCCCCCCCACTTTGATCTACT TTAACAGCTTATATCTCGGTTGTCTTTAGCTTCATCAAAAAGTTATCAAC TAACAAAGTGCGTGCCAAATATACTTCTACAATTCGGTAGTTAGTATTTT TTGGATAAAAGTTAAGACAACCGAGATATAAGCTGTTGAAGTAAATTTCT AGTTTGACTTACTCCCCCAATTTTGATCTACTTTTACAGCTTATATCTCG GTTGTTTTTGGTAACAGCAAAAAGTTGCCAACTAACATATTACGTGCCAA ATATTTTTCTAAAATTTGGTAGTTGAAAATTTTTGAATAAAAGTTAAGAC AACCGAGATATAAGCTGTTGAAGTAGATTTCTAGTTTGACTTACTCCCCA AATTTCGATCTACTTTGACAGCTTATATCTCGGTTATTTTTGGCAATATT AAAAATTTGTCAACTAACAAATTACGACCCAAATATTTATCTACAATTTG GTAGTTGAACATTTATGTTAAAAGTTAATACAGCCGAGATATAAGCTGTT GAAGTAAAGCAGTGGTGGTGCTTAGCTCGACCTATATTTTTGAATTGCAT AACAGTTATAACTAACTTATTTTATGTGAAACCCTATTCTAGCTAGTTGA CTTACAAAATCTCCAGAAACTTTTGCCTGCCTACCACCTTTAGCAGCATA AGCGCCTATAGGCACACCTACTGCCTACACCTATGCCACCTACTGTACAC CTACTGCCCATACGCCTACTGCCTTTTGCCTACTTTCTACATAACTTTGA ACTGCCCGTTTCTAACCAATAATCTTTTACAGGACGTCGAAAAGCAGCGT ATTTATGTGTGCAACGTCTGCAAACAATCCTATCCACAAGCGGCTAATCT CGACGTGCACATGAGGTCAATGACACATCAGAGCCGGATGAGCCGGCTGT CCGAACTTGTGGCAACCGGGGAGCTTAATGGGGAGAAGGCCGTGTTTGAG CAACCAGGAATACCGGCACCGACGATAAACAGCTTCATTGAGACGGTAGG TGAGGGGTTTGAGCAGGCATAATCCTGAAAATCATCTGTTTGGTTTCTGT GAAAAACTTTTGTGCGGAAAATAGTTTATTTATAGTTCAATTTGAAAAAA ACTGGTTTCCGATTTTCAATTTTCAATTTTCAATGTTCGATTCTCGATTA ATAAAATTTCCAATTTCCAATTTCCAGACAACCAACCAATCCTCACTGAA CGACCTGATGTCACTGCTCACACGAAGCGAGTCGGATGAGATTCGAGAAG AAGTAAACGGCCTTCAAGTCATGACACAGATCAAAGTCTACGGTGAATCC AAGATCACTAGCCTAGTCCCAGAGTTGGCCGGGAAAATCGATAACATCGC GCTCTTCGATGACTCCCGTGCGGCAGAGGTGTCGAAGATCGATTGCTCGG CTTGTGGGCAGCAGATCTCAGGGATCCTTGCTTTGAACCTCCATTATGAA GAGTCCCACTCATCGAAGATCCCGAGTGACGTGTTAAGAAAGTTCGGAGA GCGGTTACTTGCCGCATTAGAGGACGGGTTGAGCAGAGAGAATTCCGTGA AGAACGGATCGCAAAGCCCTCTGAGCAATGACGATGAGCCCATGGAGAAG AAGATGCGGCTGGAGAATATGCTTCCTGAAATGGACAAGAACGCGGCAGC GTCGCAATTCGCAATGTTCCAACAAATGATGAACTGCTTCCCGTTCATGG CACCACCAGGCACGTCTAGTGGCAACTTTGGCTTCTCGCCAGAAATGATC AATCAGCTCATGAATCCTGCGGCGGCGGCGGCGGCGGCGACTGCAGCAGC AGCAGCCCACGCTGCCAACAACTCGCCGGCGAAGAGAGCAAGAACACGGA TCACTGATGATCAGCTCAAAGTTTTACGGTAAGTCGTCTTGTGTGTGATT ACTGTAAGCTACGGCGAACAGGAGAGACCCGAGGGGGGCGGTGGAAAATG AATTGCAAACAATAGGTGGGAAATGGTCGGCGCCGTGATCAAAATGAATG AGAAATGAGAATGAAGAACAAACATTGTGTGTGAGTGTGTGTGTGTGAGA CGAGACGAAAATCAATCAATTTCTGGAAAAAACAACACATATATTTTCCC GGCGAACTTTCTGTTTGAGGGACCGTACGGAACAGGACCCCCCTGAAAAA AAAAATCCGGAAAATCCTAAGCCTAAATAGCGAACGCTCGCCACTGACGC CAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCCAGCCCAAGCCTAA ACAGGAACCCCCTGAAAAATCAAAAAATCCGGAAAATCCTAAGCCTAAAT AGCGAACGCTCGCCACTGACGCCAAGCCTAAGTCTAAGCCTAAGCCTAAG CCTAAGCCCAGCCCAAGCCTAAACAGGAACCCCCTGAAAAATCAAAAAAT CCGGAAAATCCTAAGCCTAAATAGCGAACGCTCGCCACTGACGCCAAGCC TAAGCCTAAGCCTAAGCCTTGGCCTAAGCCCAGCCCAAACCTAAGCCCAA GCCTAAGCCTTTCACCTTCCTAATTTTCAGGCAGGCCCTAAAAACCGCGC CTGCCTACCATGGAAGCCCTAATCTGTGCGCTTTAGATTCTGAACCCTTA AATATGTTGCACGGCCGGGCAAAGGGCACATCAGTGTAAACGCGCTCTAC TGATAATTCGAGTTTAGCCAGGTTTGGGCGCGTTTCAAGGAAAAAAACTT TGGCTCAAAAAATTGTGAATTTATTTTCGAACATTTTTATATGCATCACA AAAATGTTAGACCACCCGTTTTTGAGAAAAACGCGCCCAAACGTCCAGGT ATACGGTAGACAAATTGCGTACAGGTACCACTGGGGGGTCGTGTTTGGGC TTTAGTTTAGCTAAGGGAATCTGTAGCGGCCCAACGGCCTAACTGCAAGC CTCAGCTTATTCGCCATAGGCTTGTCTGCCGTATTTCAAGCCGATTCCAA CAAAAAACTTCCAGCCAATACTTCAACATCAACAACTCGCCGTCAGAAGC GCAAATCAAGGAGATGTCACAAAAAGCGAGCCTTCCGGAGAAAGTCATCA AACACTGGTTCCGCAACACACTTTTCAAGGTTTGTTTATTTATTTTACAA AACTATTCATATTGTTATTAGGCTCGGAAATGAGCGAGGTGAGAACATGA GTGTGGTAATTAGTCATCGGATGAATACCCACACAAGAGGGAGAGCAAAC AAGAGAGCAATTGAGACGAGGGAGGGAGAGAGGGAGAAAATAAGAAAATG TTAATGTCAGTTGGGTGCCAGGCGCTCGGCCAGGACCACAGGCCGGGAAC CATTTAGTTTTGATTACGATTTCCGTCGTGACTCATGATGGGAATTGATA TTTGTGCCTGTGGTGATAGAATAGTTAGAGCAACTATCAGGAAGGGGACA AGTCGCAGTGCGAGACTATTAGAACCTGCAAGGTTTATTCTGATAGATTT GGGACTAATAAGGACTAATTTGGTAGAGACTAATTGGCTCTCTTGATATA TACCAGCTTAATAATTTCTACAAAAAAAACTGTAAGAACGCTTCGAGATT CGAGCTTCGGGAAAGCTTAAAGGATGGGTACCGAAAAATTTTTTTTCCCT GATTCCGAATATCGATGTGGAAAAATTCAAAAAAAATTCCCTGATTTTAT ATTTGAGCTTGAAATCACGATTTTCATTTGTGCCCACCTGGTGTCAGAAT GTCTCATTTTGGATTGATCTACGTTGATCTACAAAAAATGCGGGAGAAGA GACGCAGAGTTCTCAACTGATTTTGCATGGTTAAGAACGTGCTGACGTCA CACTTTTTTGGGCAAAAGCAAAAAATTCCCGCATTTTTTGTAGATCAGAC TGTAATGAGACAGCCAGGCACCATGTGTGTGCCCCGGTTCAATTTTCAAT TTTTTAAACCAGTTTCTTTTTTTTTAGTCGATAGGTTTTTTTCTGAAAAA TATTTTTTTTGCCAAAAATGAATGTAACTGGCTAAAATAAACTAAAAATA AAACGATGCAAGCGCGCTCAAATGCGAATTTATTTGGGCGCGAATTTGAA AAAAGTGATGCGGGCACAAATGAAAATCGGCGATTTTAAGCCTAAATATA AAATCAGGGAAATTTTTTTGAATTTTTTCACATTGATATTCGTAATCAGG GGAGAATTTAAAGCCAATTAAAAATATTTTCCAGATTTCGGTGCCCCACC CTTAATGAGATAAAAGAGCAAAAAAGGTGTTTTGTAACTTTTTAAGTTTT TTCTTTTTCAGGAACGCCAACGCGACAAGGATTCCCCGTACAACTTCAGC ATCCCTCCCCAAATGGGAATCGACTTGGACATCTACGAAAAGACCGGCGA GACAAAAGTACTGTCGCTTAGCAATGAAGCACCAAAGTCTGAGTTGAGCT CTGCGCGCGCCACACCGACAATTCCGACTCCGATACCGCTCATCGTTGAA GAGAAGAAACCGGAGCCAAAGAGCCAGACACCATCGTCTTCTTCCTCTCA GCTCAACCTGCAGGCTATGTTATCTCAGATGCAGGGAAGTTTTTTCGACG CGTCAAACTTCATGTCAGCATCAGTGAATCCGATGACACCGAGCACTCCT TCCTGCAACACGTCGTCCAGTGGACGACGAGCCAATCGCACGAGATTCAC AGATTTCCAGCTGAGAACTCTACAGCAATTTTTCGACAAGCAAGCCTACC CGAAGGATGATGATCTTGAAGCGCTGAGCAAGAAGCTTCAGCTGAGTCCA CGTGTGATTGTCGTCTGGTTCCAGAATGCACGGCAGAAGGCCAGAAAGAT CTATGAGAATCAGCCGAATCACGAGAGTTCCGATCGATTTGTGAGAACGC CGGGATCGAACTTTCAGTGCAAAAGGTTGGTTTTAGTGTTGGAAATTAAC ATTTAAATTTAAATTTTCCTAAATTCCAGGTGCAGCCAAGTATTCCAACG CTACTATGAACTCATCCAACATCAACAGAAAAAGTGCTACAAAGACGATG TAGCAGCCCTGGCAAGTGACAACAAGAGTGTCGAAGAATCACTGACGGAA GAAGAGAAATCCCAGCTTCTGGCTCAACAACAGGTCGCCCAACTAGCCAG CACTCTGGAGCTCCCAAAGTTCCAGCCGGCAGAGCTTTTGAAAATGATCG GAGCTAATTCGGTGACTCCATCCTCGTCGGCTGCAAGTCAGAAGTCTAGC AACGACGTTCTGCTGAAGATGTGTGAATCGATTGTTGGTGGGAGCACACC TAGTACATCATCGTTCCACAAACTTTGTATATTCTGCGCTCAAGACTTCA AGGATCGGAGTGCGATGAGTGAGCACATGGCTCAGAAGCATCCCCAGCAT ATGCTTCTTCCAAACTTCGATCTCGACATGATGCCAGACGCTGGTGGTGC AGAGCTTCTCATGGATCTTAAGGACTCTGCGTTGGATCTTTCGGGCTCTT CAGTCGACTACCGGGATTCTATCTCAACATCTCCATCTCGATCCGAAGAT GATGTTCTCACAGAGGCTCTGGATGATTCTGCATTTGCCGCGTTCGGACT ACAGCTTGCAAATTCCACAAGCGGCTCGGAATGCAGATCTCCGGCGAGCA ACAAGAGATTCCGAACTCATCTCACACCGATGCAAGTGCAAATGATGAAG AGCGTGTTCAACGAGTACAAGACCCCATCCATGGCAGAATGTGAGCTTCT CGGCAAGGAAGTCGGCCTTCACAAGCGTGTCGTTCAAGTCTGGTTTCAAA ATGCGCGAGCCAAAGAGCGAAAGACGCGCGGTGCAGTTGACGAGGACTCT CGATCCGGAGAACTTCACTGTGAAATTTGTGATAAGACGTTCGCGACGAG GCTTTCGCTGCAAGACCATCTGTTTGCCGAGCAGCACATTGAATTTTTAA GGAATAATCTGAAACGGGAAGGGGTCTCCGAGTTGACGACCGCTTCGGTG ACCGAGTGCTCTCCAGAGAAAAAGTAAGAAATTTAATTTTTAATTTAATT TTACATATATCATTACCCTATATAACCTTAAAAATTTTCCAGAGCAAAGC TTCCGAACCCGCTGGATCTTGCCAGTTTCCCGTTCCTCAACACGTTCGAC ATTCAAATTTACGGAACACCCATCGCCTTTCTGCAGGTGCCTGATGAGAT CAAAAAGCAGATCACTGATGATATCACGGCTGGAAAATCGCGAACCACGT TCTCCCAGGACGGTTTTCCGCTCGACAAGTTGAAAGAGTCGCTGCCCGAG GATGAGAAATCAAATTTGACAGTAACCCAGAAAGATGTGAGCTTTTTTTT TTTGGGAAAAATTTTGAACAATTTGGCAATTTCAGGTCGGATGGGCGTGC CCGGCATGTACATTTGTCTTCCAAGAAGAAAAGAAGCTCCGTGAGCATCA AAAAGCCATGTGCCAAAGTGATAAGGTGGGCAAGAAATTAGGAAACGGGC TTGAAGTTTAGCTTATAGTTAGGCAAGTGGTGTCAGACTGTCTTTGATCT ACAAAACATGCGGGAATTGGAATTTTTCCCAGAAAAATTGTGAAGTCAGC ACGTTTTTAACCATGCAAAATCAGTTGAGATGTCTGCGTCATTTCTCCCG CATTTTTTGTAGATCTACGTAGATCAAACCGAAATGAGGCACTTTCTGAA TCCACGAGCTAGGCTTAAGCTTAGGCTTAAGCTTAGGCCTTTTCTCAGGC TTAGGCTTAGGCTTATGCTCAGGCTTAGGCCTTTTCTTAGGCTTATGCTT GGGCTTAGGCTTAGGCGTAGGCTTAGGCTTAGGCTTAGGCTTATGCTTAG ACTTAGTCTCACTATCAGTCTTAGGCTTAGGCTTAGACTTAGGCTTAAGC TTAGGCTTAAGCTTAGACTTAGGCTTAGGCTTAGGCTTAGGCTTAGGCTT AGGTTTGGGCTTAGGCTTAGGCTTAACCTCAGGCTTAGGCTTAGGTTTAG GCTCAGGCTTAAACTTAGGCTTAGGCCCAGGCTTAGGCTTAGGCTCACAC GTTCTCACGTTCTTAACCATACAAAATCAGCTAAGAACTCTGCGTCTTTT CTCCCGCATTTTTTGTAGATCTACGTAGATCAAACCGAAATGAGGCACTT TCTGAATCCACGAGCTAGGCTTAAGCTTAGGCTTAAGCTTAGGCCTTTTC TCAGGCTTAGGCTTAGGCTTATGCCCAGGCTTAGGCCTTTTCTTAGGCTT ATGCTTGGGCTTAGGCTTAGGCGTAGGCTTAGGCTTAGGCTTAGGCTTAT GCTTAGACTTAGTCTCACTATCAGTCTTAGGCTTAGGCTTAGACTTAGGC TTAAGCTTAGGCTTAAGCTTAGACTTAGGCTTAGGCTTAGGCTTAGGCTT AGGCTTAGGTTTGGGCTTAGGCTTAGGCTTAACCTCAGGCTTAGGCTTAG GTTTAGGCTCAGGCTTAAACTTAGGCTTAGGCCCAGGCTTAGGCTTAGGC TCACACGTTCTCACGTTCTTAACCATACAAAATCAGCTAAGAACTCTGCG TCTTTTCTCTCGCATTTTTTGTAGATCAACGAAGATCGAGCCGAAATGAG GCACTCTGACATCACGTGGGCTAAGACTTAGGCTTAGGCTTAGGCTTAGG CTTAGGCTTAGGCTTAGACGTAGGCTTAGGCTAGTTATTTGTAACTTTTT TAAATCTCCCCCGAGTCAAAAAAAAAAACAATTCAATTCCAGACGCTAAC CCTGGTGCAAACCCACTACTCGTGCAAAAGCTGTCAAAGTGATTTCTGTC TTCAATCCGAGTATCAATTCCATCTCTCAATGCCTCCTCATACTACTACT ACTACCACGACGACGCCATAACAAAACCCCCCAAATAGTCACCTCATGTC ATTTCATTTGCCGTCTTCACTCAAGGACCTATTTCCGTCTCTCTCTCTCT CTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTTCTCCTCTCG CCTTAAAAAAACCACAACTCCTTATCCCGATCTGAGCTCACTTCCTATCC CCCAAAGTAATTTCTTTGTAATATCTATATCCACTTTTTTTTCGACACAC TACACCACATCCCGCCGCCTATCCCCTCCCCCCCCACCGCTTTATGACAC AAAAACTGGTTTCGCTTTTGTCTTCAATTTCACCCCAACCGCCTGCAGCT TCTCATAATAATTAATAATTTTTCTTACCATGCACAATGATTTTGATAAA TATATATATATATAGTCATCAGGATTGCCCCCTTTCTAGGATATGTTTTT TTTTGTCTTCACACAATTTTCCCATTTTCTATGATAAGAATTATTTCTTT GTCCGGTTGACACATGTAGATGTTCCCCTTCCAATTTTTAATAGATTTCT ATTCTAGTTTTTTGCAGGCCTCACTATTCTATTGCAATAATCACTTGGAT TTCATGTATGGAACGCAATAATAATTCAATAAAATATTGGTACTTCTTTT TTGAAACACACTAATTCAAACTCACGCGGTTCCAGGCTGTCCCATTACGG TTTGATCTACTAAAAATGCGGGAATGTTTACTCCCAACAAAATGTGACAT CATCAGCACGTTTTTAACCATGCGATATCGGTTGAGTACTCTGCGTCTCT TCTCCCGCATTTTTTGTAGATCAAGCCAAAATGAGACACTATGACACCAC GTGTAGACTTAAAATTGACTGAAACCACCGAATTTCATATTGAAACTTCT TGAAATCTATTCAAAAAAAAAGTTATGAAGGCTCAAAAAATGGCCTAAAA TTTGTTAATTTAAACAAAAGACACTTAAAACGGTGTCTTTTTGAATTTTT CCGTTTTTTTAAACATATTTTCATAAAATTTACTTATTTTTCAAAATAGA TGTTGGAACATTTATAGGATGCGTTCAATTTTGCCATTTGAAATTGAAAT TCGGAAATTTCAAAAAAAAAAAAAAAAAGTGCGAAACCAAAATTTTCCGA AAATTTTCGGCAATTTGCCGGTTTGCCGGAAATTTCAATTCCAGCGATTT GCCAATTTGCCGAATGGCCGGAAATTTCAATTCCAGCAATTTGGCGATTT GCCGATTTGCCGGAACCTGCTAACCTACCTACTAACTTGCTAATCTTCAA GGTTTTTAATGAGTTTTCAATAGAAAATTCGGTGTTTTCAGGCAATTTCG AGAAAGCAATACAAACGTTTAACAAAAAAAAGACGCTTTTTCCTCTTATC CGATTCTCAATTCTCAATTTTGCCTTATCAATTTATCCTCTCCTCACAAG GTGACACACACACACACACACACACACACACTCGTTTCTCGACAAAAAGC TATGAGCTAACAAGCGCCTTCTCGCGTAAGAATACATCCACTGATAAGAC ATCTGATAAGAGTGGAACCCGTCCGCCATTGTCTCGAGAAATACACGCCT CCGCCCGGGAGGACAGGTTATCCCACCTCGTCGCTTCACTTCATTGTTTC AAACGATTCCATCGGCTTGCGCTTGGATTTTCTCTTATGCAACTTGCCAT TCTTCTTTTATTGCTTAACATCATGGTTATTTATTAGGGAAATTGTTCTA CCCTGACTTGAAATGACTGAAGACGGCCTATTTTACTTTAATTTGAAGAC TCAGAAGACTACTATAAGCGGTCATTCTTGTTGCGAAAATTTCTGCATTT AAAGGTGGAGTAGCGCCAGTGGGAAAATTGCTTTAAAACACGCCTATGAT ACCACAATGACCGAATATCATGATAAAAAAATTCAAAAAAATTTTCTAAA TTTTATATGATTTTTTGAAAATTGAAAAAATCTAAGGTTTTCACTTAATT CATATTTGAATTACCGCCAATTGGATTTGCTCGATGGAGCGCACTTGCAC GTTTTTAAATTTATTTATTTTATTTTTTGTTATTTTCCACCGATTTTTAA TGTTTTCGGTGTATTTTTGCTTGAATTTTAGAGAAAAAGTCAAAATAAAT GCAAATTTTCGATTAAAAAGCAAGCGTACAGGTAAATCAGTGAAATTAAT CAATTCAGGTTCATTTTTACGCCTGTAAGCGTGCTTTTTAATCGAAAATT TGCATAAAAAACATTTAAAATGGGTGGAAAATAACAAAACATAAAATAAA TAAACTTAAAAACGTGCAAGCGCGCTCCATCGAACAAATCCAATTGGCGG TAATTCAAATAGGAATTAGGCAAAAACTGAGATTCTTTCAATTTTCAAAA AATCATATAAAATTTAGAAAATTTTTTTGAATTTTTTATGGTGCGTCCAT AGAAAAACCGGAGTTCCTCGCTTTTTTTTCCTCGAAATTCAAAAAAGTAG GCGTGGCCAACCAATCAGCTGTTGTTTCTTGTTTTCTCATTGCTCAGCTT AAAATTTTACAGCCTCTAATTGGTTGAACACGCCCACTATTTTGAAATTG ACCAATAACAAAGCGAGAAACTTCTTGTTTTTTCCGCAGACTATGGACGC TTCCGCACGCGGGAAATTCCCGTTTTCCGCAGACTATGGACGCACCATTA TCATGATATTGGGTCATTGTGGTACCATAGGCATGTTTTAAAGCAATTTC CCCACTGGCGCTACTCCACCTTTAATGCATTCTGCGTCTATTTTATACAG TTCTGACCATAAAAGCACACAAATTTTTGTCTCAAAGTTTAGGAATATAT AGATTTAAGGAAGAAAGTTTTAGTAAGAAAAAATATAGTCTTCTTCATGT TTTCTTTTTTTTTACAATATCCATTTGCCATCCGTTTTTTTTTCTGCAAC CTTCGATAAATGTTTGCTTGGATAACTATGTAAGGTGCTTTGAACACTCG GCATTTGGGCTTCTTGCCCAAGTTTAGCCCAAAAATATTAACTTGGATCA GAAGTTGGGCAATACTTTGGCAAAACTTGGATTCAGGCAATATCAAAGTT TAACCCAAGTTTCACCCAACAAACTTTGGCCTAAACTTTTTTTGTTTCGA ACTTGCGTAGAAGTTTTTGCCCAATTTTCGCCCAACTTTTGCCCAACTTT TGCCCAAGTTTAGCCAACTTCTGTTCCAAGTTAATATTTTTGGGCCAAAC TTGGGCATGAAGCTAGAGCCGAATGCCGAGCTAATTTTATTTGACTCTAT CCGAATTCTGCTAATTCTCAAAAATCCCCCAATTGCCAACCATTTCAGAA TGCATTGGAGTAGTTGGGCGATAGCGCTCAACGTGCTCGTGCTGGCTTTG GCCGACAGTGCTCCTGAAAGATTCCCAGAGGATCATGTGGACCTGGTACT TCCTATGAAAAGTATCCACCATTTCACCTAAACGTTTCCTAATCATCTTG ATTACAGTGAAATACGACAGTCATCTTCGACAAGCTGATCTTCCACCGCA CTTCATTGGTGCCAATGAGACGAACTTGGTTCCGCTCACCTTGAGATTGG AGACTAGGAGGAAGAGATGCTCGTGTGGATGTTCGGGATGTGATCTTTTC CCGAATAGATCTTGTTGTTCGAGCTGTAAGTTTGCGATTCTATAAGACTT GTCAACGTGGTGTCAGGCTGACCCATTACGGTTTGATCTATAAAAAATGC GGGAAGTTTATGACCAGAAAAAAATGACGTCATCACATTCTTAACCATAC GAAATCAGTTGAGAAATCTGCGTCTCCCATTTCTTCTCCCGCATTTTTTG TAGATCTACGTAGATCAAGCCGAAATGAGACAATTGAAATTCCAGCTTGC TGCTCCTCTCAAAAACCAATCCCACTTGCCTGCTGTCCGCCACCTCCCCC ACCAAAACCGTGTTGCCAGCCAGCCTTCGGCCCTTGCTGCCCGGCAACCC CAAACTGTTGCCCGAAACCCTGCTGCCGAGGTCGTCGCCCCGAATACGAA GAGTACGAGGACGAGGAAGGCAACCCTGGAGGCGTCCCAGCACCACCAAA CCCACCAAGAACTTGCTGTCCTCCACCAACACCTGCTGCTCCACCACCGC CACCACCTCCACCACCACCGGCTCCGGAAGCTCCAACGCAATGCTGTGGA TCACAGCCTTATGGAAGAACACCGTGCAGGTCCGGATGTCCGAATGGAGA TTGTGGATGCGGAAGACCTTGCTGTTACTATCAGAACCCCACATGTTGTA ATCAAGGGCAAAAGGCTTGCTGCCCACCTGAACAGCCTTGCTGTCCTGAG TTGAAGCTGGATAACTGCCTCGCTTCGGTCCCACCTTGCCTTCGCGCCTG TCCATCGTGCCCTTGCAGAAAACGTCTGATGCTTGGGAAGAGAACTAAGA GAGACGCACCGGGGCTTCATTGCCAGCCAAGTAAGCTATAAGTTTAGATT TTCACGTAGTGTCAGGCTGTCTCATAGTGGTTTGATCTACAAAAAATGCG GGAATTTCTCGCCCAGGAAAATGTAACGTCAGCATCAGGGCTGGGACCAA AAAAAAAATTTTTGGACCAAAGAAGTTTTTGAAAAACCAAAAAAACCAAA AAAAAAACAAAAAAAAAACCAAAAAATTTTTGATATGCTTAAGTTGATTT TTAATGGGGTTATTCAAGTAATGTTGCAAAATGTATTAAAATACATTTAT GACGTCACAACTGTGTTAAAATACATGTTTTAATGTATTTTAATACAGAA TAGTCTCGAGTCGACACTAGACACGGTAAACTTTTTTTTTAGATTTTTCG TCAAAATACCAAAAAAACCAAAAAATTCCCAACAGCATGTTCTTAACCAT GCGAAATCAGTTGAAAAGTCTGCGTCTTTTCTCCCGCATTTTTCGAAGAT CAAACCAAAATGAGACACTTTGACACCACGTGGATTTTCAAAACGCTGAA AATAAGTAAAATAAATAAAAAATTTTCAGTCGGACTCCTTGGTCAACAAT CCCCACCGACTCTGATTTCAAAGCCGGTAAAGACCATAATAAAATCAAAA TCCCGCGTTGCTGGAACCAAGACATCTCAAGTGTCCGTCACCAAAAAGCT CATCGAACAATCCTCTGACCACGTGGAATCGCCTCCAACAGCCGGAAGAC TCTACGACTTCCGAAGAGCCCACGTTCGAGTCAAGAGAAACATGAACTTT GGAAATGGAGCATGCCAGCTGTGTCTGAACGGAACTCCGCTCAAGAGAAC CAAGCGGTCTCTCGATTGTGTTCCGTGTACCTACCTACAACCACAATACT CTGATTGGAACCCGTTCCTCGGAGATCAAACGCCACGCGGATCGCAGTCG CCAGTTGGAACTCCACTCGCCGGGCACAGAACTAAGAGAGCTGGCGTGAG TTTGACTCATAGAAATTAACGAAGCTAAATTTATTTTTGCAGTGCCTTCC TCATCCACAATGTACCCTGCATGTCCGTCGCTATAAGAGAAACCTGATCG GATCCCAATATTGTGAGCCATGCAATGGACACTACGGTAGAAAGAAGCGG GAAGCCGAGAGAGATCAGTGCTTGAAAAGAGAGAAAAGATATGCAGATGA ACAGTGTGATAACGATGAGTTCAGTATCAATGAGCGAAGCAAACGACAAG CCTACAATCCAAAAGGAATTTTGGATATCGTGAAGCTCCTATCCAAGGCC TCCTCAGGTGGCAACAATCCAGGAGGATGCATGAAGTTCCCAGCCTGTGT TCTGGCTCAGAAGAAGAGAAGAAAGAGAAATGCAGATCGGCTCGACACGT ACTACAAAGCTGTGGAGGAGCACAAGAAGCTGGTGGAAGAGTACGAGATG GCGATGGAGGAGCACAAGAGAGTCAAGCGGCAGTTCTTCGCTCCGGATAA TGCTGCATCCTGTGTTCCGTGTCCGGCATGGGTGACACTTGCCTTGGCTA GCAGAAAGAAGAGAGAAGTCGAGAAGGTGGAGAAGCATATGACGATGAGC GAAGCTATCGCGGATATCAGAGCAAAGAAGGGGTATAAGGAAGGATTTGA TGATGATGATGAGGTGAGGACTAGACCTGAAATTTTAGATCCTGTAAGAA CTTTTTGAAAATTCCAAAAAAAAAACCCCCTAATTGAATCACGCGCGCAC GCGCCACTGAGAAGGATACTGTATTCGCGGCGAGACCACCTGCACATCTA ACTCCCAAAAGTGACGAATTTGGCCTAAAATGGACTTTCTTCATGGGATT TCCACAGTTTTCACCATTTTTTTGACACAGTTCATGACTTTTTACACTCA AAAAATTATTGGCGTGGTCATTTCACAATGATTTCAACAATTTACTGGAT TTTACGCGTGTACTTCATCGTGGCACACCAAAAATTGATCTGGTTCATGT GGTGTCAGAGTGTCCCATTTTGGTTTGATCTACGTAGATCTACAAAAAAT GCGGGAGTTGAGAGACGCAGAGATCTCAACTGGCGTCACATCAATGCGGA TTTTAAAATTTTCATTTCAGGACGACGAATCCTCTGAGGAAACCATCGAG ACCCGCAGAAAGCAACGCCGCTCCTGCCAACAAAGTGACGATTGCCTGAA CAACGTCGAGTACGCAGTCTTCCAAAAAGTCTATGCAGACAAGAGAACCA AACGAGAAGCCGTGTTCCGTCGTAAGAAGTGCTCGAGGTGTGGAGTCTCT GGGCTCACGCCACATCGTGTCAAGAGAAACTTCGGGCAGCCGAATATCAA CGTCTCGGAGCAGAATTGCATGGCATTCCCACAGTGTCGGCATAGAGTGA AGAGAAACTTTTTGGGAGAAGACTGTAACATCTGTACACAGGATACTGGT CTGAAGCGGAGGAAGAGAGACTTCGGAACAGCGGTAGGTGTTGGTTTAAT GAGCTTCCTTATCTTAAAGTTTTCAGCAATGCTACCCATGCCCAGGAACA CGTTCATAACTTGAAGCGACTCCCTCCGATTCTCACATATCACATAAATA CCACCTCGTAATAATAATTCAACATGACTAATAAAACAAATAAGTACATA CATACATTTATATTAGCTTTTAGCACCCGTAGCAATTTGGAGCAAGAAAA TATGTGTAAAGAAATTGGAGATGTAGTAGATTTGGTCGTTATAGTGATCG CAGATCTTTCAGCTCTTTGAGCCGGAATATTGACTGGCTTGGAGCCAGGA GATGAACCTCGCGGGGGAATGAGGCAAAGTAGGGGTGAAGCATTGCACTG GCTGCGGAGACACGGCTTTCCGGGCGGAGCTGTAATTTTGAGGGTTACAA GATAGGTGTAGCTCGATGTCGATTCATTTAGACTAGCATTGCAGCCAGGG CTTAAGCTTTCGGCTTGAGCTTGCACTCAAAGATTGCTGCTCAATATAGC TCGCGAAGACTGATTTGTCAAAGATTAGACTAGTAGGCCTGGACTGACTT AAAGGTGGAGTAGCGCCAGTGAAAATTTTGTCAAAATACATACATAATGA TCCGAAAAAAAAACCAAATTTCATAATAAAACAATCCAAAAAATTAGATT TTTCACAATTTCAGGTCAAATTTTTGGCAAACTGCTAAAATTTTGAAAAA TGAGCAATTGAGGAAATCTAGAGCAATGTCGCATGTTCCGACCCCTACAA TATTTTAATACAAATAATTAAAACACAATTACAGTATAAAAATGTAGGAA AAAAAATTTTTTTTTTGTTGGTCGACTTCCAAAATTATGAGTGGTAAAAT TACAGTAAATAAAAAATTTTCAAAATTTTTTTGAAACGTTTTATTATGAT ATTCGGTCTTTTCGGGACTAAAGGAGTGGTTTTTACAAGTCTACTTACCT GAAGAAGCATCCCCAGAAGTTCCTGACCAGTCTTCAGAATCTTCGTGAAC ATCGGGTTCACCGCGATGAACGACAACTCCCGATACCTGGGGAACAGTTC AGGGGTGTAGCCTGGTAATGTCTTTACCTGAAACAAACATCTTTATCTCT AGATTTTAGATTCCCTCACCTCCGGCCACTTTTTCTCGTCTGGAGTACCC CGAATGCTGAAGATCATATCCAACTGGTCCTTGGTGCCGGGGTAGTGAGA GTCCTTGGATCCCGGGAACAAAGCGGCGCCCGTGCAAATTTCAGCGAATA TGCAACCGACTCCCCTGCAAAGTTAGTAGATATAGTTGGTACCTTTTATA AAATAATATCCTCCTACCACATATCCAGGGAAGTTGAATAGTCGGTACTT CCCATGAGAACATCAGGCGGGCGGTACCATAAAGTGACCACCTCGTGAGA ATATGTCCTACTCGGCACAGATTTCGCCCTGGCTAGACCAAAGTCTGCGA GTTTTAAAACACCGTCTTCGTCGAGAAGCAAGTTTTGTGGTTTTAAATCT CTGAAAATCAGTTTTTATCAAGAGTTATGGCCGCAACGGCGCCTCCGCCG ACCCCAGCGGTCGCCGCGCCGGCCTCCGCGGAACCCCGAAAATGTCCGCC GCTCCAAACAACCACTTTTTTGCACTACGTTGCGCACACACCAGGCTACT CATTTCACGCCAAGCTGCGGAACACCGAACGTGTCCGCCGCTCCAAATAA CTCCCTTTCGCAATACGTTGAGCACACACCAAGCTGCGGAACTCCCAACG TGTCGGCCGCTCCGAACAACCACTTCTACGCACTTCATTGCGCACACACC AGGTTACTCATTTCACGCCAAGCTGCGGAACCCTGAACGTGTCCGCCGCT CCAAACAACTCCCTTTCGCAATACGTTGAGCACACACCAAGCTGCGGAAC CCCCAACGTGTCGGCCGCTCCGAACAACCACTTCTACGCACTTCATTGCG CACACACCAGGCTACTCATTTCACGCCAAGCTGCGGAACCCCGAACGTGT CGGCCGCTCCAAATGACCACCTTTCGCGCTTCAACGGCGTCGGCGTGAGG CCCGAATTTCGCGCCTCACTCTGCTGGGAGCCCTATCAACACTAGGGAGC AGTTTGAAAACTAACCTATGAAGAATCTTCTTCCTATGACAAAAATCGAG TCCGCGGAGAAGTTGAAAGAGGAGAAGCTTGATGTCAATGCTATCCAACC CATAGACGTTCTGCTCCAGGTACTTGCTCAAATCCATTTTCATGTACTCG AACACAAAAGTTAGCTGGTGGTGTTGATAGAAGATGTCGTGCAAAGAGAC GATATTCGCATGACGGAGGTTTCTGAGAAGCGAGGCTTCACGGATAGCGG TGAATGGGAGACCTTCTTGAAATTGAAGTTTGATCTCTTTCAAGGCGACT ATGGATCCGTCAAGTCTGAAAATATAATTTAGTTTGGTAATATCAGCTGT TAAAATATCTAACTTCGATTCGCACTTATACACCGTTGCATAAGATCCTT CCCCCAGCTTGTCAATTCGTTTGTACAGATCATTCACATCCTGCGGTGTC ACTTCCTCCTTCGCAGGAAGCGTTATCGTATTTGGATCGTAGTGTGCTGA TCGTGGTCGACGTCTTCGAAGATGTGTGAAGTCGGCCACAGTGTTGCTAG ATGGTGGTGGTGGCATTGATGGAGAGTTCTTGTTTAGGGGCACGGTTGAC ATGGTTTCAGATGGATTGTTGGAGCGGGAACGTGATTGGCGGCTGAAATG GTATTACTAGGGTTTGATTCGGAAAATTTTCTTAGAAAAACAGTTTGGCG GGAAGTTTAAATTTTCTGATTAAAAATGTTGGCGTAAGTGGTGTCGAAGT GCCCCATTTTGGTTTGATCTACAAAAAATGCGGGAGTTGAGACAAAGACT TTTCAACTGATTTTGCAGGATTAAGCTGACGTCACATTTTCCTGGGGGAA AAATCCCCGCATTTTTTGTAGATCAAGCCGCAATGAGACAGCCTGACACC ACGTGTTGACGGGATATTTAAATTTTCTGAGAAAAACATTTTGGCGGGAA GTTCAAATTTTCTGAGAAAAACATTTTGGCGGGAAATTGAAATTTTCTGA CAAAAAAATTTTGGCGGGAAATTGAAATTTTCTGACAAAAAAATTTTGGC GGGAAATTGAAATTTTCTGACCAAAAAATTTTGGCGGGAATTCAAATTTT CTGGGAATTAACTTTGGGGAGAAGTTCAAATTTTCTGTAAAAATTTTGGC GGGAAATTGAAATTTTCTGACAAAAATATTTTGGCGGGAAAATCAAATTT TCTGAGAAAAAAAAATTTTGGCGGGAAATTGAAATTATCTGACAAAAATA TTTTGGCGGGAAAATCAAATTTTCTGAGAAAAAAAAATTTTGGCGGGAAA TTCAAATTTTTTTTTTTTGAAAAGAAAATTCTACGGACCGGAAACGGCCC AACTACGGCTCAAGAGCCGTCTCGGTCGGTAAATGTGTTTTTTGCTCTAA ATAATGCATTTAACGACGTAAAAATGCTTAAATTAGCCAACTGGTATCAT AGGTATTAAAAAAATTCGTTTTCTTAAAATCCATTTTTTCCTCTTAATGG CCATTTTTTTACATTCCCCGTAGTTTGCCCGTAATTGGTCCGTCCCGCTT TTCATATCCGTAGTTCACCCGTTAATGGTCCGTTCCCGGTCCAAGATCCG TAAACGGACCGTACCGGCTTTGCCTGTGGTCAGATATAACTAGTAAGTCA AGTGGTGTCAGGCTGCCCCATTATGGTTTGATCTACTAAAAATGCGGGAA TTTTTCCCCCAGAAAAACGTGACGTCAGCACACTCTTAACCATGCGATAC CAGTTGAAAAGTCTGCGTCTCTTCTCCCGCATTTCTCGGAGATCAAACCA AAATGAGGCACTTTGACACCACGTGGTAAGTTATAACAAACATAACAAGG TGTCGAAACTACTGTAATTATAGTCTTACTTCAATATACAACCTAATAAG AATCTCCACCACTTACCTCAAAAAGCTGAAAATATTCTTATTATGATGTT CTGGTGTGCTTCCACTTCCGGACCCCGATGATGCCCCATTCACATGATTG GAGTGCCATGATTGTGTCATTTCATTTGTTCCGTTTTTCGAGATCGGAGA TTTGGTGGAGCCTCCTGAAAAAACAGAAATAAATGTGGAATTATATGGGG GCTCATATGTTTTCGGAACTAACCTTTTTGGGAGAAGACTCTGGAGAGCA TTTTTGTGTAAACTGACTAACTTGTGCCACCCCCCGCACCCCATAGAATA AATTGGCTAAAATTTCGAAAAAAAAAACTCGCCACCGCCGTTATTCTTGT ATTTCTTCTCCTTATTCCGACTCCGACGCAAAGTGAAAATTGACGAGGAC GGCTGGAATAATGTTTTGTGTTTGTGTCTTGTGGAAGAGATGCAGAATCG CCGGAAGTTTAGAGGGGGTGGCGTGACTTACTGACCTTCCGGGTGCTCGG CGAGCCGTCCACGTCCTGAATTCGTTGCGGCGACATTGTGGTGATCTGGA ATATGTGGAGCGTAATCGAAATATTTAGGCTTAGGCTTAGGCTTAGACTT AGGCTTAGGCTTAGTCTTCGGCTTAGGCTTAGGCTTAGGCTTAGGCTTAG GCTTAGGCTTAGGTTTAGGCTTAGGCTTAGGCTTAGGCTTGGGACTGGGC TTAGGCTTGAGCTTTGGCCTAAGCTTAGGCTTAGGCTTACGCTCAGGCGT AGGATTAGGCTCTGGCTTTGGCTTTGGCTTAGGCTTAGACTTAGGCCTAG GTTCACGCTTAGGCCTAGGCTTACAAGAAATATCCTCATTTACCGACCGA CTGTGGCCTAGGATTTCAAAAAATGACCCTTTTTGAAAAATCGAAAAATC GAAATATCGACGAATTTTCGTTTTTGAGGCGTTTTTTTAATTTCAATTTT TATAATTTTTTTCGGTTTTTCGATTTTTCTTGAAAATACCAAACTCACCC TATGCAAGTTCTCCGACGACTTCGAACTCCTAACAGCGGTGAGCTGTGGA TGATGTATCATAGACAGTGAGCACGATGCTCTCATAGGCCTCTCGGCCTC CTCCAGCCCAAACCATACTCCAATATGCGAGGTTATTTTTCCCCACATTT GATTGAAAGATGGTATCTGCAAGTGAAATTTTTGGGTGGGGAAAAAGAAC GTGAACGAATAATTTGGAGCAGCGGGGGGGGGGGTGGAAAAATGAAGAGC TGCTCGGAGGAGGGAGCCGTACTACGAAATGAGAAGAGGAGAAGCCGGTG TGACGGCGGGGCGTTAATGGGTTACTAAAGCCTCCACATTCCCATTTTCA GCCGTTTCGAAACAAAGAAAATAGAAGAAAAAAAAGACAGATGAAAAATG ACTTGGGTGGGTTCGGTGAAAAACAGGAAGCAGGAAGAGTGAGGAAATTG GATGGTGGAAGAGTTTTGGCATTTCTAGGTTACCGGGAATCTTTAGAGAC ACCTGGGCTGTCCCATTACAGTTTGATCTACAAAAAATGCGGGAATTTTT CGCCCAAAAAATTTTCAACAAATTTAGATATTTTTTACATTTTTTCCCCA ATTTTTTCAGCCATATTTCAGCCATGACTGTCCTTTTTTTCGGGCAAAAA AAAATTTTCTCTGAAAATGTTCGAAACTACTAAATTATGCAAGAAGACAA TTTTTAAGGTTCGGAGATCAATTTTGAGTCCTCTAGCTTCAAAATTATCC ATTTTAGAAGAGTTTTAAAATTGTAATTTTTTACAAAAATTGCTCAATTT TGCCACTTTTTAATAGTTTTCTAAACCTAGATTTTCTGAATTCTGCATAT ATGAATTACCCGTTTTCAACAAATTTAGACAATTTTTTTCATTGTTTCCA AAATTTTTTTCAGCCATTTTTCAGCCATTACTGTCCTTTTTTTGGGCAAA AAAAATAATTTTTTGAAATTACATTACACACCTTCCATGTTTTCTTCGTA GATTTAAGGTCCATGTCCACTGCTTGGTGGAAGAGTTTTCCGAGTTTTTA GGTCACCGGAGAATTTGAGTTGGAAGAGTTTTCGCATTACTCCCCAACTG TGATAGAACTTCAAAAATGAATATGCAGGGACATCACTCAAATTTGACAT GTCAGTTTAAAGGAACACGCTGATTTTCCGAGTGGGTCTCGCCACGATCC AGGTGCTAAATTTTCACAGTTTTTAGTATGTACCTAGTGGCTTATTTCTA AACAACACGCGCATAACATCGGAGTGTCGTTGCATAGGCCACTCTAAAAC ATAAACAAATGTGTGAAGAAAAATTAAACACAACTAGCACGGATTTCTGA CGTCCCTCAGAAGTTGAAATGGAAGAGTTTTTGCCGAACTAGGCCAGGCC ATATTCGGGGTAGATTTACGGCGCGTCGCGGCTCGATTTTAGTTGTAAAA CTAAATGTATTTGTCCGTGTGGAGTACACGACTTTCCCAAGCGTTGTCCG GCAGGCGATTGTCAATGGAGCGCGAAAATTCAATGAGGAAGGCCAGAACC CCGTGGGATTTTGAAATTTTTTTCAGATATGACAAAAAATGACAATGCCA AATTTAAAATGCATTAATAGCGGACAGAGGAGAGAATAAGTAGGGAAAAA AGAAGAAAAAAAAAGACGGGCGGCGCTTCTCTCATAAAATAGTAATTGGT CATTCTAAGTGTGCCTATTGTTCCTTATTTTTCGCTTTTTCTTGGCTCAT TTTAGCTCAAAAACCAAATGTCGAAGAGTTTCTAGAGAACTAGGCCACGA GAGGGAAAAACTAGGTCACTGGAATTTCTACGCTAAAAATTTGGCCCAGC ATATTTACCTACGTGGCCGTAAAAGAGAAAGTTCGGCCACTAACTTTTTC GGGCTATCAAAAAAGGTTTACCAAAACTTTATAAAAAAGAAACCACTTGT GGAAAATGGCCGTGCATACTAAAGTTCGGCCACAAACTTTTTTAAAACTT TTTTGCTCAAATTGAAGTACAGGACCACTTCGATGGGCGGTTTTCACTAC TTGGCCGTGTAAGAGAAAATTCGGCCACCAACTTTTATTCAAGGCCACAC CTCCAAATCCTTCAAAGCTTCAAAAATTTTCTACGTGGCCGTGTACGAAA AAATTCGGCCATCATCTTTTTTTTGGGTCACGTCGCTAAATTCTTCAGAG CTTCAGAGATTTTCTACGTGGCCGCGGGAGAGAAAATTCGGCCACCAAAT TATTTTTTAAGGCCAAACCTCCAAATCCTTCAGAGCTCATATTTTCTACG TGGCCGTGTACGAGAAAACTCGGCCACCAAATTAATTTTGAAGGCCCCAC CTCCAATTTCTTCAGAGATCATATTTTCTACGTGGCGTGGCCGTGTACGA GAAAATTCGGCCACCAAATTCTTTTTTAAGGCCAAACCTCCAAATCCTTC AGAGCTCCTATTCCCTTCGTGGCCGTAGGAGAGAAAGTTCGGCCACCAAA TTAATTTTTTAAGGCCACGTCGCCAAATCCGTCATATTATGAGGAAAAAA GTAAAAAATAATACTAATAACAATTGAAGAAAAATTGAAAAATATAAAAA TATAAGAGACTAGTAAATGAAGAGGAATGAAGAGCGAATAGGAGGCCAGA GAGAGAGAGGGGAGGAAATTGTGCTGTTGAAGACCTTGAAGAGAGAGGCA CAGCAATAGATAAATTGAATTACAATGGGGTGAGGAGCCGGGTCTGTCCC CCCCCCCCCCCCCCCCCAAAAAGTGCGAACAAATGTGATGAAGCGCAGAG AAAATCGGGAGGGGGGGGGGGGGGGGGGGCTGTGCTCCAGGTTGATTGAG CCAAGTGTTTCGACTTTTTGCCGAACACGTTGAGCTCTCCGATGAGCCGG GCTCACCGGAGAGCCCATGGAGCCCCATGAAGCAGAGGGTCACAAGGTTT GAGACTTCCGGGAGATAGACTGCACAACGTACAAAGACTAAAACTTTTTT TTTTTGCAGGTGAGGCATGAAATTTAGAGCTTTTTTGCAACAAAATCCAA CATTTTTTTTGTAAAATAAGGTCAAATGACGAGTTTTTTCTATAATCTGG CCGAGAAAACCTGAAAATTGATCTACCTTGATAAACAGGGCGCGCGGGTG TAAAGCGGAGCGTCGTTGTGAAGCTGAAATATTGTTGAACGAATTCTGGA ATTCTGGCTTCCCTCATAAATTGAAATGGAAGAGTTTTTGCCAAACTAGG CCAGGCCATATCTGGGGTAGATTTACGGCGCGCTTTTTTTTGGGCATAAA ATTCCCGCATTTTTGTAGATCAAACCGTACAGCCTGACATCACGTGTTTT TGGCCCCGCTAAACAGGGCGCGGGTGTAAACATTCAAATATTATGTGAAA AAAACGCATGAATTTGAACAATTTTGCGTAGAATTTTTGAACAAAAAAAT ATATGAATAACTAATGCAAAACGAACAGAACTAAATTTTCTGAAATTGAA GAGAGGGGAAAAAAATTGGGAAATTTTGGACATTTTTCCCAACGACGCAT TGAGCCACCGGACCCAGATGAGCAAATAAACCGGGGGAGCAGGAGGAAAA TGGAAATGACAAAAAAGGCGGAGGAGGAGAAGCTCACGTATTTAGTATCC CATAGAAAGAGTCAATTTTCATAAACTGCGACAATTGACTACCAGGGAGC AGTTGCGCTCTACCGACAAAATCAAGCAAGGTCCACGTAGTGCCAGTCTG TCCCATTACGGTTTGGTCTACAAAAAAATGCGGGAAAATTTGGCTCAAAA AAATGTGACGTCAGCACACTCTTAACCATGCGAAATCAGTTCCCGCATTT TTTGTAGATCTACGTAGATCAAGCCGAAATGAGACACTGTGGCACCACGT AAAGGTCCTTCTTACAGAGTGCGCTAGAGCGCGATTGCCAGTTTTCTAAA AAAAAAATCTAACATGAAAAAATGTGCGTAAAAGCGGAGTTTCGTTGCGA TGTAAAATTTGGAGAAAAATTGAAAACTGAGGAGGAAGAAAAAGTTAAAT GCCTCTTCGCAAGACCGGGATTAAATAGTATTTTACTTCTTTTTTTTCCT TCAACTTTTTGAAATTTTTGGCGGAATGGGGAAAAGGAAAAAAAAACGAA ATCATCGATAAAAACAACACTAGGCCACCCAGAAGTAAACCTAGGCCACC TTATAGAAATTCTAGGCCACCCTGTAAGAATTTTAGGTCATCGCGTAGAA AAGCTAGGCCACCCTGTTGAACTGCTAGGCCACGCTGTTGTACACTTAGG CCACTCTGAAAAAAATCTAGACCTCCCTGTAAAAAATCTAGGCCACCTTG AAAGAATTTTAGGTCATCGTGTAGAAATTCTAGGCTACGTTTTCGAAATT CTAAACCACTCTGTAGAAAACTTGGGTCATCTACCGAAATTCTAGGCCAC CCTGCAGAAAACTTAGGCCATCTACCAAAATCCTAGGCCACCCTGTAGAA AACTTAGGTAATCTACCAAAATTCTATGCCACTCTGTAGAAAACTTAGGC TACCTCGTTAAAGTTCTAGGCCACCGTGTAGAAATCTTAGGCTACCTCGT TAAAATTCTAGGCCACCCTGTAGAAAAATTAGGTGATCTACCAAAATTCT ATGCCACCCAGAAGTAAACCTAGGCCACCTTGTATAAATTCTAGACCACC CTGTAGAAAACTTGGGCCATCTACCAAAACTCTAGGCCACCCTGTAGTAA ACTTAGGTCATCTACCAGAAAACCTAGGCTGTTCCGTTACGCCGCATGCT AAAAAATCCAGACCGCCCTGTAGAAAATCTAGGTCACTCCCTACAAAACC TAGGCCACCCTGTGAAAATTCTAGGCCACCTTGTGAAAATTCTAGGTCCT TCCCTAGAAAAACTAGGCCACCCTGTTAAACTCTTAGGCCACTCTCTAGA AAAACTAGACCACCCTGTAAAAAAACCTCGATGGCCTAGAAAAAAGCTTG GGAAATTTTGTGGAAAAAGTTAAAAAGGAAAATCTAGGCCACCCACAAAA AAGCTAGGCCACGTGGCAAGAAACTTCAAAAGTGACGAATGATGAGACGA GAGGCGTATGTTTGAGGTCAAAAAGGGTGAAAAAGAAGAAAAAAAGACGA GGCGGAATGTTTCTTTTTTCTTTTCAAACTGAGCATCTCCCCGTCTCTCG GCCACCAATACTACTACTACTACAACTATTCATGTTTTTAGAGAGCCCCC CCCCCCCCCCCCCCCGGCCACTTGTCAGCTTTTTTGACGGAAGATGCCAA CACACAATCGAAGGGGAAACCATAAAAACCCGCCAACGACACTCCGTTTT AAGGCCCGGATGCCCAGATGTATGAAAAAATGGAGAAACTGAAGGCTTCT CCCCTCCCCCCCCCCTCCCTTAAAAAATGATGAATTACTAATGGTGCCGC CCATGTTGTGTTTGTTGCTTTCCCCCCGTGCTCCATCATTGGGGGAACAT GACAGCCACCTTGAGTTACATGTATACAAAGTGACAGGAGGGAAAGATAG GGGTAAAAGTGCAAAAAGGGAGTCGCGGGTTCGAACCAGTGAGGGTTTGC AAAATTTGGGCTGTGCGCGGCGCCTTAGACTACTGCGCCACGCGTGCGAA CTGTAAATAGAACTGTCAGGCTAAATACGAACGTTCGGTTTTTAAACTCG ATTGGCAAAAATGAAATGAATGAATAGACAGGAATGACTCATATTTTTTG CATAAAGGGGCCTGGGTCTGGGAACTAGGAACTAAACTAAATGAAGGAAA ATTGAGGCATCTCCCGCCAATTGAGTAGAAAAGTGATGAGAGCGGCAAAA AGAGATAGGGGGGGGGGGGGGGACCCATTCATTTTACACTGGACACCACA CTCCCCACTCTCTCTTTGATGACGAAGGACATGAGTACGAACTCGCGAGC ACAGAAATACGACACGTTTTCTTCTCATTTTTTTTTTGCAAAAGGTGATG ATGATAATCGCTTCTAAACGAGGGGAAGTGTACTAAATAATAAAATTGCG AGTGGATATTGGATTTTTTCGTTATTTTCCGCTCTGAAAAACCTGAAAAT CAGTCGGAAATTCGAGTTTTGGCTAACTTTTTGTAAATTTTGTTTAAAAA ATCACTTTTCGCTGCGAAACCACCTGAAAGGATATAGTGGGCATGCGCCT TTGAGCGCTACAGTGGAGGGAATGCAGTATCTCTTGGAAGTCAGATTTGC CGATTGTTTTAACGCAAAACCTGAAGTATAGAAAAGAAAACATGAAAATT TATTGAAAATATAATAAATAAATTAAGCAAATTACATATCAACTGAGAAA ATCACCTGCTGGAGAGAAAAATTGAAAAAAAACCAGAAAATCGGCAGGAA AGCAATAATCGAGCAAGATCCTTGGAATTTTTAGGTGCAGATATCGGTTC AAAAGGAAAACACTATTTTAGCTTTTTTTTGTCTTAAGTTCAATGTTATA ACACAAGAAACGATATTTCTATGGCATAATTTTTGGGTCCTAGAAAGCAG ATTTTCACGTAGATTGGTCTGAAAATAATATTGGAGTAATTTTTATTATT TTTCCTTGCATTATAAAATTATTTCTCTTTTATTTCTCAATTCTAAAACT ATTTTCCCGTTCTTTTTCCCTATATCTCGCGCTTCTCCGGGATGTTGCAT CCCATTCGACGTGAGGAGTCTCGGAGTCTCTCCGCTGCAAACGCGCTCCA CTGGACACAGAAAATAAAAAAAATAAATTGTTCGAATTCATGCAATTTTC TTCTAATTTTCTCCGTTTTTCGTCAATTTTTCTGCAAAAAAGACAAAATT TACAGGTAGCAATGTATGGGGGATATCAAGGAGCATATGGGTAAGGCTAA AAACTAGGAAAAACTAGGAAAAACCCATGGAAAACTAAAAAACTCTGAAA TTTCAAATTTCAGAGCCTACGGGAACCAGCAGGCGGCTTCACAACCATAT CAACAGCAAGGACAACAGAATTATTACCCGTAACTCGAAAAAAATTCAAA AAATTCGAAAAAAATCAATTAAAAAGATCAAAATTTTCAATTTTTTCAGC GGAGTGAACCCGTACGCGGCGAATTATGGGTACGCGGCAGCACAGCTTCC ACCACCACCTCCACCACCGCCAGTATGCCTTAAAATTGAAGAAAATTTGA TTAAAAAATTGAAAAAATGCAAATTTTCAGGTAGCCGATCCATACGCCGG CCAATTTCAGACATTTCCCTCTCAAGCCACCAAAATAGCGCCGAATCCCT ACTTTAAAAAGCCACAAAATCAGCAGCAACAGGGTATTTTCGCCGTGTTT TCTGGCTGCAAAAAAATTAAATTATCGATTTTTTTAAGGCTACGACGCGG CGGTCTACAATTACGCTCAGCAGAATACTCCGAAAAATTGGAAACACGGC GGCGGCGGCCGGCAGGGGAGACAGGGATCTGGCGATAATAAACAGTACTA TTGTGAGGTAAAAAACGTGGAAAAAATCGAGTAAAACACAGTTTTTTATT CAAAAATCTGAGAATTTCCGTAAAAAATCCTGTTTTTTGACGTTTTTAAG CAAAAAAATCGGGTTTACAGCACTTTTAGAGATAAAAAAGTGGAAAAAAT CGAATTTTGGACCTGATTTTGGGCTTGAAAGCATGATTTTTATCAGAAAA CACAGTTTTTTTTGTCAAAAATCTGAGAATTTCTATGAAAAGTCTTGTTT TTGGATGTTTTTAAGCAAAAAAATCGGGTTTACTTCATTTTTAAGGGTAC AAAAGTGGCGAAAAGTTAATTTCTTGTAAATTTTCACATGCAAAATATTG AATTTATTAGGTTTTTTCCAGAAAAAGTAGTTTTTTTGCTACATTTACAG GCTTTTAAAACTGAAAACATGTTAAATTTCGAGGAAAATCGACAAAAAAA CCCATCTTTTGGCCAAATTTAAATTTTTGAGCAAAAAAATCGGGTTTGCA GCACTTTTAAAGATAAAGAACTGAAAAAATTCAATTTCTTGGAGAAAAAA GCAATTTCAACACCAAAAATAGCAAAAAATTCGGGAAAATTGTCAATTTT TTTGAAAAAAAACTTGAAAAACCGGATTTCCAGTTGTTTTTTCATGATTT TTTCTCAAAAATCTCATAAAAATTGGAAAAAATTCCGAATTTTTTACTGA AAATTCGAGAAAAATTGAAATTTTTTCAATTCCGATTTAAAAAACATTTT TCGCTAAAAAATTGAATATTTTTAGGCTTTAAAGTTCGGAAAAGATGCTG AAAATTCGGAATTTTCTGTTTAAAGAAATTTTTTTTGTGCTGAAAAATTG ATTATTTTTATGCTCCAAAAACTGGAATTTTTGAAAAATTCGGACAAAAA AATTTTTTTATTAGTTTTTAAATTTTTTTAATTTTTCAACCCGCTTTTTG CCCAAATTTAGATTTTTTATTTAAAAAATCGGGTTTACAGAACTTTTAAA GGTAGAAAAACTGCAAAAAGTTAATTTCTTGGATATTTTCAGGCTTTAAA GTCCAAATAAACATGTTGAAAATTGAAATGTCTTCAATTTCGATTAAAAA CATTTTTTTCGCTAAAAAATTGAATATTTTTAGGCTTTAAAGTCCAAAAA ACAAGCTGAAACTTGAATTTTTTTCATTTTCAATTTAAAAAAATTTTGCT CAATAGATTTTCAGGCTCCAAAACACTGGAATTTTGGACTTAATCGAAAA TTCGGACAAAAAAATATTTTTATTAGTTTTTAATTTTTTTAATTAAAAAA AATCCCAATTTCCAGGTGTGCAAAATCTCATGCATTTTTAGGGTTAAAAT TGGAAAAAATTATCAAAAATTTTCGAATAAAAATGGAATAAATCTGATTT TTATAAATTTTTCGAAAAAAAAATGATTTGTTGGCAAAAATTAAATATTT CAGGCTTTGGAAGTCCAAAAACCATGTAGAAAATTCGGAAAAAATCGAAA AATTGGAAGAAAAAAATTTTTAATTTCAAAAAATTTCAAAAAAATATTTA AAGCTGGTGTAGTCGACTTTATTTATTGCTTAAGTAGACTCTAAATTGCC TGGAAACACCGAATTTCATAATGAAACTTCTTGAAAACTTCTCAAAAAAA AAAGTTATGACGGCTCAAAAAATGGACTAAAATTAGTTAAAATTTGAAAT TTGACCGACTTTTCAAGCGGCTGGAAACATTTTTTCTTTGAAATCACCGT CAAATTTTGAGTATACTGTGCAATTATGTTGCGTTTTCAACTTCATTTAG GTATTTTAAAGTCAAAGGGCGGCGAGATTTTTAATTTTTTGAACCAAATC TCGCCGACCATCGACTTTAAAATATCTAAATCGAGTTCAAAACTCAAGAT AATTACATTATATAATCAAAATTTGACGGTGATTTCAAAAAAAAGGTAGT TTCTAGCCGCTTGAAAAGTCGGTCAAATTTCAAATTTTAACCAATTTCAG GCCATTTTTTTAGTCGTCATAACTTTTTTTCGAGAAGTTTTCAAGAAGTT TCATTATGAAATTCGTTGTTTTCAGACAATTTTGAGTCTGATAAAGCAAT AAATAAATTCGACTACACCGCCTTTAAATATTTTTTTGAATTTTTTTAAA ATTAAAATTTTTTTTTCCAATTTTTCGATTTTTTCCGAATTCTCCACGTG GTTTTTGAACTTCCAAAGCCTGAAATATTCAATTTTTGCCAACAAACTAT TTTTTTTTCGAAAAATTTATAAAAATCAGATTTATTCCATTTTTATTCGA AAATTTTTGATAATTTTTTCCAATTTTAACCCTAAAAATGCATGAGATTT TACACACCTGGAAATTTGGAATTTATTTGTAGAATTTTTGGATTTTTTAA TTAAAAAAAAGTTTTTTCCGATTTTTTTTCCGAATTTTCAACATGGTTTT TGAACTTCCAAAGCCTGAAAATGATTTTTTGAATAACTTTTTGATTTTTT CGGTTATTTTTGGTTTTTTTTTTTAATTTAAAAAAATTAAAAAATTAATA AAAATATTTTTTGTCTGATTTTTCGATTAAAGTCCTGAAAAAAAAATCTA TTTTATAGCAAAAAATCCTAATTTTCAGCCTGTTTTTTTGCCTTGATATT CAATTTTTACAAAAAAATTTTTTTTGGAGTTTTTTGCCTAAAAAATCGAA AAAAAAAATCATCTTTTCTCGAATTTTTGGAAGAAAAATTAAAAATTTCA AAAATAATTCAATTTTTTGGTGTTTTTCGGGTTTTTTACATAATTATTTT TTAATTTAAAAAGTTTGTAAATAACCATAAAAATTTATAATTTTTTAAAT TAAAAAATAATTATTAAAAAAAACTCGAAAAACACCAAAAAATTGAATTA TTTTTGAAATTTTTAATTTTTCTTCCGAAAATTCGAGAAAAGATGATTTT TTTTCGATTTTTTAGGCAAAAAACTCCAAAAAAAAATTGTTTTGTAAAAA TTTAATATCAAGGCAAAAAACAGGCTGAAAATTCGGATTTAAAAAAATAA TTTCTTGCTATAAAATAGATTTTTTTCAGGACTTTAATCGAAAAATCAGA CAAAAAATATTTTTATTAGTTTTTTAATTTTTTTAAATTAAAAAAAAAAT CAAAAATATCCGAAAAAATCGAAAAATTATTCAAAAAATCATTTTCAGGC TTTGGAAGTTCAAAAACCATGTTGAAAATTCGGATAAATAAAAATATTTT TTTGTCCGAATTTTCGATCAAAGTCCAAAAACTTCCAGTTTTTGGAGCCT AAAAATAATCAACTATTGAGCAAAATTTTTTTAAATTGAAAATGAAAAAA ATTCAAGTTTCAGCTTGTTTTTTGGACTTTAAAGCCTAAAAATATTCAAT TTTTTAGCGAAAAAAATGTTTTTAATCGAAATTGAAGACATTTCAATTTT CAACATGTTTATTTGGACTTTAAAGCCTGAAAATATCCAAGAAATTAACT TTTTGCAGTTTTTCTACCTTTAAAAGTTCTGTAAACCCGATTTTTTAAAT AAAAAATCTAAATTTGGGCAAAAAGCGGGTTGAAAAATTAAAAAAATTTA AAAACTAATAAAAAAATTTTTTTGTCCGAATTTTTCAAAAATTCCAGTTT TTGGAGCATAAAAATAATCAATTTTTCAGCACAAAAAAAAAATTTTTAAA CAGAAAATTCCGAATTTTCAGCATCTTTTCCGAACTTTAAAGCCTAAAAA TATTCAATTTTTTAGCGAAAAATGTTTTTTAAATCGGAATTGAAAAAATT TCAATTTTTCTCGAATTTTCAGTAAAAAATTCGGAATTTTTTTCCAATTT TTATGAGATTTTTGAGAAAAAATCATGAAAAACCAACTGGAAATCCGGTT TTTCGAGTTTTTTTTCAAAAAAATTGACAATTTTCCCGAATTTTTCGCTA TTTTTGGTGTTGAAATTGCTTTTTTCTCCAAGAAATTGAATTTTTTCAGT TCTTTATCTTTAAAAGTGCTGCAAAAAACTACTTTTTCTGGAAAAAACCT AATAAATTCAATATTTTGCTTTTTTTTTTCCTTTTTTTGTGAAAATTTAC AAGAAATTAACTTTTCGCCACTTTTGTACCCTTAAAAGTGCAGTAAACCC GATTTTTTTGCTTAAAAACTTCCAAAAACAGGAATTTTCGGGTTGAAAAA TTAAAAAATTTTAAAAACTAATAAAAATATTTTTTTGTCCGAATTTTTCC AAAATTTCAGTTTTTGGAGCCTAAAAATATTCAATTCTTTAGCGAAAATT GTTTTTTTTTCAAAAACTTCCTACGACTACACCACCTTTAAAAAACCAAA TTAAATTAGAGAAATTCTTCAAAAAATCCCCAAATTTCCAGGTTTGCAAA ATCTCGTGCGCCGGCGGAATCACATACAAAGAGCATCTGGAAGGTCAACG GCACAAGAAAAAAGAAGCTATGGCAAAACAGGGCATACCGAGCACTTCCC TCGCTAAAAATAAGCTTTCCTATCGTTGTGACCTATGTGACGTCACTTGC ACCGGTCAGGACACGTATTCGGCTCACGTTCGTGGCGGAAAACACTTGAA AACTGCACAATTGCACAAAAAATTGGGAAAACCGGTGCCTGAAGACGTTC CGACGATTATTGCTCCGGGAGCCGATGGGCCGACGGAGACGAAAGCCAAA CCGAAATGGCATCAACAAGCTCTGCCTGGCGGGAAAATGTGCGGAATTTG AAAAAAAAATTTTGGAAAAAAACGAGAAATTGCACATTTTTAGGCTCAAA AATCTGAAAATTTAGCAAAAAAATTTAGAAAAATTTGGATTTTTAGAAAA AAATTAGCGTTTTCTCGCCAAAAATGCTCAATTTTCGATAAAAATGTACA TTTTTTTTTTTGGATTTTTAAAAAAATATTTTAGGGCTCAAAAATCTGTA AATTCTGCAAAAAAAATTCTAAAAAATTTTGAAATTTTGAGATTAAATCT TTCGCCAAAAAAACGAAAAATTTGAATTTTACAACTTAAAATGCTCAATT TTCGAGGAAAATGTAAAATTTTTTTTCAATCTGAAATCTGTAATTTCTTT TAAAAAATCGATTTTTTAAAAAATTTCTACTGTAAAATTTTGAAAAAGTT GAACGACGTCAAAAAGAAGGTAAAAATCCGAAAAAAAGCAACAAAGAACT AGGAATTTTAAAATTTCCAAAAATGGTCTGAAATTTTGAGAAATCAAAAA AAACAAGTTTCTTTCAGTTTTTTTTAGAAAAAAAAATCGTATTTCAGAAT TTAAATTTAAAGCATATTTTAAACTTTTAAACGCAAAAACATTATATTTT TCTTTAAAAAAAAAACAATTTAAACGCATTTATTGCTTTATTAGACTCAA AATTGTCTGAAAACACCGAATTTCATAATGAAACTTCTTGAAAAAAAAAA GTTCTCAAAAAAACAAGTTATGATTGCTCAAAAAATGGCCTCAAATTAGC GGAAATTTGAAATTTGACCGACTTGTCAAGCGGCTGGAAACTAGCTTTCT TTTTTGAAATCACCGTCAAATTTTGAGTATAAAATGTAATTATCTTGCGT TATCAACTTGATTTAGGTATTTTAAAGTCGATGGACGGCGAGACTTTTAA AGGTGGAATACCGAAATTTAAGACTTTGCTTTTTTAGACCGAAATTTTGG CAACTTATCGGTGCGACACTGCAAAATTGCCAAAGTTTGAGATTTTAGCT AAAAATAGGCCGTTTTTTCCAAAAACTTTGATCGGCCATAACTTTTTTTT GGAAAATTTTCAGAACGTCTCATTACGAAATTCGGCAGTTTTGGGCCATT TTGGGTCTAAAAAAGCAAAGTCTTAAATTTCGGTACTCCACCTTTAAAAA TCTCTCCGTCCATCGACTTTAAAATACCTAAATCAAGTTGATAACGCAAG ATAATTACATTTTATACTCAAAATTTGACGGTGATTTCAAAAAAAAAAAG TTTCCAGCCGCTTGGCAAGTCGTTGAAATTTCAAATTTCCGCTAATTTGA GGCCATTTTTTGAGCAATCATAACTTGTTTTTTTGAGAACTTTTTTTTTC AAGAAGTTTCATTATGAAATTCGGTGTTTTCAGACAATTTTAAGCCTAAT AAAGCAATAAAAAATTAGAATATACCACTTGAGAAAAATTAAAGATTTTT TTAAGTTTAAAATAAAAAAATATGTTTCTTTCCGATTTTTTGATAGTGAG ATAAAAGTTTTGGCGGGAAATTCAAATTTTCTAGAAAAAAAATTGAAAAA ACTCATAGTGTATAACTGCACAGAACGGCTGGTTATGAGTATAGGTGTCA AAGTGTCTCATTTCGGTTTGATCTACAAAAAAAGCGGGAATTTTTCCCAA AAAAAGTTACGTCAAGATGCTCTTTTTTATTAAATTTAATTAAAAAAGAG AGCATGCTGACGTAACTTTTGAGGAAAAATTCCCGCTTTTTTTTGTAGAT CAAGCCGAAATGAGACACTTTGACACCACCACGTTCAGACAAAATCCCCC ACTAAATATTTGGTAAAACTAGTTCAAAACCCGACTGTAGTACATTTTTG GCAGAAATTTGAAAATTTCAACTTAAAACCGCTCAATTTTTCCAAAATTT CACAGTATGCATTTCAAAAATTATGGTTTTGTTTTTTTTTAATCGAAAAA TATATTTTTAACAAAAATGGACCATTTTTAGTTGTAAAATTCAATTTTTT GGCGCTTTCAAATTTTTAGGCAAAAAATGTGCAATTTTCTCCAAAAATTT TCAGATTTTTTAACCCTAAAATTAAAAAAAAATCTAAAATATTAGAATTT CCCGCTTTTTTTTTCAAATATTTCAATTTTTCCAATTAAAACACAAAAAT TGAGCATTTCTAGTTGGCACATTCAAATTTTTAGGCGAAAAATTTGATTT CAAAATTTCAAAATTTTTCAGAATTTTTTTTTGCTAAATGTTCAGATTTT TGTGCGCAAAAATATTTGAAAAATCCAAAAAAAAAACTCGAAAATTGAGC ATTTTCAGTTGTAAAATTCAACTTTTTAGGCGGAAAAATGTGCAATTTTT CCCCAAAAAATTCAAATTTTCCAACTTTTCTCTCAAATAGCACAGAAACA GAAAATTTGTTATACCTAATGTGGAAAAACTGAATTAAAACAGATTTTTT GAAAAAATGCACTTTTTTTTTTGCCAAAAAATAGTTCAAACCCCGACTTT TTGTTCCAGAGTTTCCAGGTCATCGGTATCATCGCATAAATAAATTTTGC GGGAAAAATTCCCGCTTTTTTTGTAGATCAAACCGAAATGAGACACTTTG ACACCCCACGTTCAGACAAAACCCCGACTTTTTTCCAGAGTCATCGGCAT CAACACGGTAAACTTCGTCGGCGGTACGAAGCTCAACTCCACCGGACAAC TCGAGGAGAAGAAGCGCGAAGTTGCTGCCGCCGTGAGCTCAGTCGGCCGG AAAACCGGTGGTGCTGCTGCAACGACGACGATTGAGGTGGAAGACGAGAA GCTCCGAGCAATGATCGCCGCCGAGGAGGTACAACCTGTCGGCGAGGAAC ATGTCACTGAAGAACGTGATGCTACCGGAAAACTGGTGCAATTCCATTGT AAACTGTGCGATTGCAAGTTCTCCGATCCGAATGCCAAGGAGATTCATAT CAAAGGTCGTCGACATCGTGTCAGCTATCGGCAGAAGATTGATCCGACGT TGGTGGTGGATGTGAAGCCATCGAACAAAAGATCACAGGAGAAGCGGAAG AATCAGCTTCCAGCAGTTCATGGTGTGTGGATTTTTTAACAAAAAATCAA CAACAACACAAAAAACATGTTCCAATAAAATTGGAAAAAAAAATTTAAAA AATCCCAAATTTCCAGGTGTCTAAAAATCTCATGCATTTTTAGGGTTAAA ATTGGAAAAAATTATCAATTTTTCGAATAAAAATGGAACAAATCTGATTT TTATAGAAAAAATAATAATTTGTTGGCAAAAATTGAATATTTCAGGCTTT GGAAGTTCAAAAACTATGTAGAAAATTCAGAAAAAATCGAAAAATTGGAA GAAAAAAATTTTTAATTTGAAAAAATTCAAAAAAATTTAAATTTTTTTAA AAATTGAATTTTTGAGTAAATAATTTTTTGCTATAAAATTCAATATTTTC AGGCTTTCAAGTCCAAAAACCGTGTTGAAAATTCCGAAAAAATCGAAAAA TTGGAAAAAAAATTTTAATTTAAAGGTGGACTACGCTCAGTGGGGGGAAA TTGCTTTAAAACATGCCTATGGTACCACAATGCCCGAATAGCATAATAAA AAAATTTTAAAAAATATTCTAGATTTTATATGATTTTTTGAAAATTGGAA AAATCACAGTTTTTGCCTAATTCCTATTTGAATTACCGCCAATTGGATTT GTTCGGTGGAGCGCGCTTGCATGTTTTTAAATTTATTTATTTTATTTATT GTTATTTTCCACCGATTTTTAATGTTTTCGATGTATTTTTGTTTGAATTT TAGAGAAAAAGTCAAAATAAATACTAATTATCGATTAAAAAGCACGCTTA CAGGCGTAAATCAGTGAAATTAATTAACTCAGGTTCGAAATCGTTTAAAA TCGTTACTTTTTCATTTTTACGCCTGTAAGCGTGCTTTTTAGTCGAAAAT TTGCATTTATTTTCACTTTTTCTTTAAAATTCAAGCAAAAATACACCGAA AACATGAAAAATCGGTGGAAAATAACAAAAAATAAAATAAATAAATTTAA AAACGTGCAAGCGCGCTCCATCGAACAAATCCAATTGGCGGAAATTTAAA TGGGAATTAGGCAAAAACTGAGATTTTTCCAATTTTCAAAAAATCATATA AAATCAGAAAAATTTTTGTTTTTTTTTTAATTTTTTTAAACATGACATTC GGTCATTGTGACCCCATAGGCATGTTTTAAAGGTGGTGTAGTCGAATTTT TTTTATTTCTTTATTAGACTCAAAATTGTCTGAAACCCCGAATTTCATAA TGAAACTTCTTGAAAAATTTTCAAAAAAAAGTTATGGCGGCTCGAAAAAT GGCCTAAAATTAGTGAAAATTTGAAATTTGACCAACTTATCATTGTCGCA TCGGCTGGAAACAATTTTTTTTTTGAAATTGTCGTTCAATTTTGGGTGTA CAGGTCGATTATCTTGCGTTTTCAGCTTTATTAAGGTATTTAAAAGTCGA TGGACAAATGGATCTGTCAAATTTTTTACCAAATCTTTTCGTCCATCGAC TTTTAAATACCTAAATAAAGCTGAAAACGCAAGATAATCGACCTGTATAC CCAAAATTGAACGACAATTTCAAAAAAAAATTGTTTCCAGCCGCCGCAAC AATGATAAGTTGGTCAAATTTCAAATTTTCACTAATTTTAGGCCATTTTT CGAGCCGCCATAACTTTTTTTTTTGGAAAAGTTTTCAAGAAGTTTCATTA TGAAATTCGGTGTTTTCAGACAATTTTGAGTCTAATTAAGCAATAAAAAA AATTCGACTACACCACCTTTAAAGCAATTTCCCCACTGGGCGCTACTCGA CCTTTAAAGGGGGAGTAGAGTTTGTGGGTATTTTGCTTAAATAGACTAAA ATTGGTCCAAAACCACCGAATTTCATAATGAGACTTCACAAAAAATCTCC AAAAATTTTTTATGGCCGGTCAAAATTTCGAAAAAAAAAGATGCAACTTT TGCTAAAATCTGAAATTTCGCACACTTTTCTTTGTCTAGCAGCCGCTGGA TTTTAGTTTTTCTAAAATTATCACCCTCTAATCCTTCTTTTTGGTAATTT ATCTCGCGAAAATCCGTTGATTGAGACAACTTTTAGGCCGATAGGCATCC AAAAATGATCAATCTAGGGATGCCTATCGGCCTAAAAGTTGTCTCAATCA ACGAATTTTCGCGAGATAAATTATTAAAATAAGGATTAAAGGGTGATAAT TTCAGAAAAACTAAAATCCAGCTGCTGTGACAAAGAAAACTGTGCGAAAT TTCAGATTTTAGCAAAAGTTGCATCTTTTTTTTCGAAATTTTTTATTTTG ACCGGCCATAAAAAATTTTTGGAGATTTTTTGTGAAGTCTCATTATCAAA AATTCGGTGGTTTTGAACCAGTTTTAGTCTATTTAAGCAAAATACCCACA AACTCTACTCCCCCTTTAAAGGAATGAAAATAATTATTGGAACGTTTGTT TTTTAAAATGATTTTTTGTTAAAAAATCCACACCGACGAAAAATCCACAG TTTCAGAGCCTCCGAGCTTCATGAAAACGCCGTGGTTCGCCCCACCGGCT CCAGAAGGCCGGGAATTCAATATAGTAGATGATAGAACTATTAACGAAAA GTACGCCGGGCTTAATCCGGGCGTCGAGTTCATTTCCAATGTGGATCGCC TTATTTCGGATATCAATGAATCGCTGAAGTATGTGTCGGATAAGATCGAG CGAGACGTTCGGAAGATCCCTGAAGACGTGGTGGAGCTTCCCACCACCAC CACCACAACGGAGCAGCCGCCGCGGACAGTGTTGGGATGCTCGAGAGTTG GAATTATTGCGAAGGGAACGTTCATCAAAGGGGATCGGTGTGCGGAGGTG GTTCTGACGTGTACGCCGGTGCCGACTTCGGGGCTTGTTGAGCAGATTAG GCGGTTGTTTGGAGAGTCGACGGTACGGGCCGGCCTTTTTTTTTTGCCGG AAATTTGGGGATTTACCGGTTTGCCGGAATGTTTTTTTTTCCGGCAAATT GCCGGTTTTCGCCGGAAATTTGAAAAACGGCAAACTGGCAATTTGCCGGA AATTTTCAGTTTCGGCAAACTGCCGCGATTTGCCGGATAACAATCGTTTA TTCCGGCAAATTCGGTAAGTTGCCGGTTTGCCGATTTGCCGGTTTGTTGA ATTTAGCGGAAATACGGCAAACGGCAAGTTGCCGGTTTCCCGACTTACCG GAAATTTGAAAAACGGCAATTCGCCGGTTTGCCGGAAATGTGAAAAACGG CAAATTTCAGAATTCGGCAAGTTGCCGGTTTTTGCCGGAAATTTTCATCT TAGGAAAATTGCCGGTTTTTGCCTGAAATTTTCATTTCAGGAAAATTGCC GGTTTGCCGGTTTGTCGAATTTTCCGGAAATGTGGAAAACGGCAAGTTGC CGGTTTGCTGATTTGCCGGAATTTTTAATTTTCGGCAATTTACCGATTAG CCGGAAATTTTTTAACGGGATTTTTGATAAGACGGATTTTTTTCCGGCAA ATTCGGCAAGTTGCCGGTTTGCCGGAATTTTTCATTTTTGACAAATTGCC GATTCGCCGAATAATAATTATGCCAGAAATTTGAAAAACGACAAGTCGCC GGTTTGCCGATTTGCCGGAAATTTCAAAAAACCGGCAATTTGCAGAATTT TGCCGGAAATTTTCATATTCGGCAAAGCTACCGATTTGTCGGATTTTTTA AACCGGTTTTTTCATAAGATAGATTTTTTTTCCGGCAAATTTCCGGCAAG TTTCCGGTTTGCCGGAAATTTCAAAACCGGCAATTTTCCGAATTCTGCCG ATTTCTTGTTTGACAATCTCAATAATTACACAGACATCTCTAACAATTGA GCCGGATCCCGAGTCCCCATCAAGCCTTATCGTCACAGCTAACTACTTTC CCAATATGAAATGTCGTATTCTAATCACTTCAGCTGTAGTTAGAAAAGAC GATGATAGTATTGTAACTGGATGTGCTGCTGATAAGGATTTGTGCATTTA TGCGCTCGCTTCTATTCGGAATACAAAGTGGTATGATGTGAGTTTTTTTT AAATTTTACACATATTTTAAATTACTTTATCATTGGAAAATCTAATAAAT TAGAGCCCAGTTTACAAAAAAATCTATATTTTTCCAAAAAAAAAATTGAA AAAAATCGATAATTTCTCAAAAAATGTTTACAAAATCGAACTTTTTCCAA AAAACTTTGAAAAAATCGATAATTTTAAATAACTGCTGACAATTAAAAAA AATCGAAAATTTCTCAAAAATTGAAAAAATTAATATTTTTCCAGAAAAAA TTGAAAAAAATCGATAATTTCAAATAATAGCTGAAGATTTTTTAAAAAAA TCGAAAATTCGAACCTTTCTCAAAAAATTTGAAAAAAATCGATTTTTTTT CCAAACTTTTTTTCATCAAAAATTTCTCAAAAATTTGGAAAAAATTAGAA AAAATCAATATTTTTCCGAAAAAATTTGAAAAAAAAATCGATAATTTCAA ATAATAGTTGCAATTTTTAATTTAAAAGCGAATTTTTCAAAGATTTTTCA AATTTTTCACGTTTTTTTCTCTGGTTTTTTTAAATTAAAAAGCGTAATTT TTACCGAATTTATCATTAAATTACATGAATTTTTCTGAAAGAGCGAGAAA ATTAAAATAATTCGGAAAAAAAACAATTTTTTTCCAAATTTTCCAAAAAA TCCCACAGAAACCACCAAACTTTACTTTTTTTTTTTAACAAAAAAAAGTT TTAAAAAATATCAATTTCCGGCTTTTTTTCTGCCAAAAACTTTGGAAAAT GTGGGTAATTTTGGCTTTAAAAGTTTAAAAATTGAAAAAATCAGGAAAAC TTTTTGAATTTTCAGAGTCACTGCCAATACTTGAACTCGTGCCAATCAGT TATTCGACTGCTCCGAGATTTGCGAAATAAATATCCTGAAGTTGCGTGTC TTGATGATTATGTAAGTTTGAGAGTTTGGAAAAATATTCGAAATTTTTTG TGAAAAATTTGGTAAAAGTTCAAAATAATGTATAATTCTTTAATTTTTTT GCGAAAAAATTAATTTTTTGAAAAAAATTCTCTATATTTTTTGCTAAAAA GTTTAAAAATCTAAATAGTATGAAAAAATATTTTAGCAGAATCAACAAAA ATTGTATAAATTCATAATTTTTTGAAAAAAATGAAATAAATTTTTTTTTG CGAAAAAAATATGCGAAATAGGTTTTTTTAATGCAGGAAATAGTTTTATA GCTGAAAAAATGAGAAAAAACGGAGAAAATTGAAAAATTACGTACATTTT GCAGATTTTTTGCTCACAATTTTGTAAAAATTTCGGCAAAAATATCACCT TATTCAAAAAAAAATTGCTAAAAAAAATTTTTATAATACAAAAAAAATAT GAAATCTATCTATTTTTTTCAAAAAATCTACCTAAAAATCTATTAATAAT TTTCAATTTTTTTGTGAAAAATTTTGAAAAAATTCAAAATAATGTATAAT TCTATAATATTTGGCGAAAAAAATTAATTTTTGAACTATAATTTTTTTTT TGAAAACTAGTTTCAAAAATCGATATTTCACCTAAAAAAAACCCTAAAAA TAGGCGGCAAACTATTTTTCCGGCAAATCGGTGGTAATTGCCGAAATTTT TGGCAAATTGTGGCTTTGCAATTTTTTTTTTGTTGGAAATTTCAGATTTT CAAATTTAATCGGCAAGAAAACTGAAAAATCCCGTTTAAAAAATTCCGGC AAATCGGCAAACCGGCAAATTGCCGAATATAATATTAGGTCTCCTAATAA GTTCCGGGTCAAAAATCATAACCTTGTTCGCTGTGTATCGATTTTTATGA AACTTTGGGAGTTTATGTTATCAACCATGATCTTTCAATTGACAATAGTC ACAAAATTTTTTGACCACCCCAAGTGCCCGTACTCGGAGCCAATTTTTTC AGGCATTTTTCTGATCTCGCTTCTTTTTATCTTTGAATTGAGGTTTGTGT GCGGATTTTGCTTTGTTTAGAATACATCATTAGAAAACGAGAAAAGTTTG GAAAAAAATCTGTCCAAAAAATTTTTTTTGGTTGATCGTCAAAAAAGCTT CAAAAAGATTTTTGTCGAAAATTCTAGATTTTTCATACAAAAATGATGTA ACCAAGTGTAAATTATTTTTATACATACAAAACATATCAATTTAGTTCGA TACACTAAAATGATAATAAAAAATATAATTTTTTCGGATAATTTTTGAGT TTTTTGAATATTTCTTAAGTTTCAAATTTCAAACTAAAAGGATTTGTGTG TGTAAAAATAATTTACACTTGGTTACATCATTTTTGTATCAAAAATCTAG AATTTTCGACAAAAATCTTTTTGAAGCTTTTTTGACGATCAACCAAAAAA AATTTTTTGGACGGATTTTTTTCCAAACTTTTCTCGTTTTCTAATGATGT ATTCTAAACAAAGCAAAATCCGCACACAAACCTCAATTCAAAGATAAAAA GAAGCGAGATCAGAAAAATGCCTGAAAAAATTGGCTCCGAGTACGGGCAC TTGGGGTGGTCAAAACATTTTGTGACTATTGTCAAATGAAAGATCATGGT TGATAACATAGATTCCCAAAGTTTCATAAAAATCGATTTGCAGCGAACAA AGTTATGATTTTTGACCCGGAACTTATTTGGAGACCTTATACAATTTTTC AACATTTTCCAGAAAATGGAGCTAATCGTCTCGAACATTATCGATTCATC TCCAATGTCACTTGGACTATCCGATGCGTTTAAGCGAATTGTCGAAGCAC TTGCATCTGGATATTTGTATTCTGGTAGGGGGGTTAACATTTAATTTTTT TAAAATATTGAAAAATGAGCATATAAAAAGTTTTAAAATAATTCAAATTT TTACAAAAAAAAAATTTTTTTTTTCAATTATTTTGCGTTTTTGTATGAAA ATTGTGTTTTGAGAACGGAAACTCTTTTTTTTTAATTAAAATTTTGAAAA AAAATCCTGGAAAAATGCTGAATTTTTCGGGATTTTTCGGAGCACATTTC CAAGCTCTAAAAATTGCTGAAAATTGAATTTTTCAGAATTTTTTTGAATT TTGCACAAAAATGACTATTTTAGGAACAAAAAAAACATTTTTCAATCACC GAAAAAATGTATTAATTTTATATTTTAATGTTAAAAATACGGTATTTAAA TTTTTTTTAAACGTTTTTTTTACACAAAAAGTTGAAATTAGGTTGAACCC GGATAAAATTTAGAAAAATTAAAATTTCAATTTTTTTTGCGTTAAAATAT GTTTTTTAAGGTTGAAAAAAATATGTTTATTCAAATAAACACATTTCTTG AAAAGTTCTTTTGATTTTTAATATTAAAAAATTTATTTTTCAAAAAAAAA TTTATTTATTTAATTTTAAAATTTTAAAAACTTTAAATGTGGTGTAGTCG ATTTTTTAAATTGTTCTATTAGACTCAAAATTGACTGAAAACACCGAATT TCATAATGAAACTTCTTGAAAACTTCTCAAAAAAAAGATATGACTGCTCA AAAATGGCCTAAAGTTAGTTAAAATTTGAAATTTGATCTACTTGTCAAGC GGCTGGAAACTATTCTTTTTTTTGAAATCACCGTCAAATTTTGAGTATAA AATGTAATTATCTTGCGTTATCAACTTGATTTAGGTATTTTAAAGTCGAT GGACGGAGAGATTTTTAAAGGTGGAGTACCGAAATTTAAGACTTTGCTTT TTTAGACCCAAAATGGCCCAAAACTACCGAATTTCGTAATGAGACGTTCT GAAAATTTTCCAAAAAAAAGTTATGGCCGATCAAAGTGTTTGGAAAAAAC GGCCTATTTTTAGCTAAAATCTCAAACTTTGGCAATTTTGCAGTGTCGCA CCGATAAGTTGCCAAAATTTCGGTCTAAAAAAGCAAAGTCTTAAATTTCG GTATTCCACCTTTAAAAGTCTCGCCGTCCATCGACTTTAAAATACCTAAA TCAAGTTGATAACGCAAGATAATTACATTTTATACTCAAAATTTGACGGT GATTTCAAAAAAGAAAGCTAGTTTCCAGCCGCTTGACAAGTCGGTCAAAT TTCAAATTTCCGCTAATATGAGGCCATTTTTTGAGCAATCATAACTTGTT TTTTTGAGAACTTTTTTTTTTCAAGAAGTTTCATTATGAAATTCGGTGTT TTCAGACAATTTTGAGTCTAATAAAGCAATCAAAAAAATATTCGACTACA CCACTTTTTGGCCTATTTTTTTGGCCTAAAATTGAAATTTTTCCAGCAAT CCTAAGCGATCCGTGTGAGACGTCTCGTCCGAACGTTCTCGATGCTTTAA CCGACGAGCAGAAGCATTCGTTGACCGCCCTGGCACAGAATTTTGTTCGG CAAATTGCATTCAATCAGATACATGAGGTATGCGGGGATTTTTCCTGTGC AGAAAAAATGTTTAGTAAATTAGGGAAAAAAACCTTGAGTTTTTAAAAAA ATCTGTGGAAAATTTGAAAATTTTCGCAAAAAAAAAATTATAATAAAATT AATTTCAAATTTGCAAAAATTTCAATTTTTCAAATAAATTTTGAATTTGC ATTCCAAAGTCACTAAAATGGAAAAAATTGCTAAAAATTGAATTAAAAAT ATTTCTTTCCTGAAAATTTTTTATTTTCCGAGAATTCTGAAATTTCTTTT AAAAAAAATTAAATTCGCGAAAATTTGAAATTTTTTGGAATATTGCAAAA AATTGCTAAAAATTGAATTTTCCTATATTTCGATTTTTTAGATTTTTTAA AAAAGTTTTTTTTCAGCCATTTCTGGCCGAAAATTGAGAAAAAATAGTCA GAAAATTCAAAAAATTGCTTTTTTTTTTCAATTTTCCGAAATTTTGAATA TTGATCGTCCGAAAATTTAAAAAATAATCGCTAAAAAGTTGAAAAAAAAA TTATTGAAAACAATTTTTTTAAAATAATTTCTAGCAGATTCCATGAAAAA AGGCTGAAATTTACGAAACAATTTTTTTTTCAAATTCAATTCAGAAAAAA TTGAATTTTCTCTGATTTTGGGCCGATATTTATAAGATTTTTCAGAATTT TCCAAAAATTCTTGAGAAAAATTGAAATTTTTCTGCCGTATTCCTATGAA AACAGCGGAAAATTGAATTTTCCAAGTTATTTTTATAGGGAAAATTATAG TGACTCTATAGAATTCATGAAAAATTCTGACAAAAAACCAAACATTTTGG CCCAAAATCAGAGAAATTTCACAAAAAAAAATGCTGAAAAATTTAATTTT CAGCAATTTTTTTTTCAAATTTTTTTAAAAAATAAATTTTCGTAAATTTC ATAATTTTCAGTTTTTTTCCATTTTTTTAAAGAAAAATTATTTTTCCAAA AATGTGCAGAAATTTCAGAATTTTCGGAAATTAAAAAAATTTTTAGCAAA AAAAAAAATTTTTTAATCCAATTTTTATGATTTTTTCACTTTTTCGGTGG TATTAGGACTGCAAATTCAAAGTTTCTTGGAAAAACATAAATTTTCAGAA AATTTAAAATTAATCTGATTATAATTCGGAGCATAAAATGTGCTTTTATC AACAACATTTTTTTTTTCGAAAAGTCAAATTTTTCCACATTTTTAAAAAT TCCTTTTTTTTGTATATATTCGGATTTAAATTTTTTTTTTAACGGGTTTA AGCTATTTTCTGAGCAAAAAAATTGAATTTTTCTAAAATCACCATTTTTC TTCCAGATTCTCGGAATCGATCGTCTTCAAGACACTATTGATCTACCAGA GGATGCTCCGATGCTCAAAAGACCACTGGAGAGCAATGAAAATGCTGAAA ACGCAGAAAATCTCGACGATTCGCCAGTTTCCAAAAAGGAGAAGCTCGAC GAGGAGCCCGCCGATATTTGAGCATTTTTATTTTAAATTTGGTTTAAATT ATTTAATTTTCCTCTAATTTTCCTCATCTCTGTGTTTTTTTCTAATGTTT TTGGGTCCCGTAGCGAAAAAACGAATGGCTCTCTTCGCGGTGAGACCTTG AAATTTTTATTTTTCTACTATTACCTCCCCCTGCAAACGCGCTCTATTGA CGACAATTCGCAATGGAGCGCGATTGCATATTTTGTTACTACATTTTCCA CACTCATGTTCGATCTTCCACTAGGGGAGGGTCTCGCAGAAGGATTTTTT GAAAAATTTAGATTTTTTTTTGAAAAATATTCGAAACAATTTTACGTTTT TCGAAAAAAGTCCTAATTTAGCCTAAAAAATCAAAAATTGATAGGATTTT TGAAAAAAATTCAAAAAATCAAAAAAAATTGCAAAAATTTTTATTTTTTT TTTTGAAGAAAATTTTTTGTAAAAATTTGATTTTTTTGAAAAAGTTTGAA TTTTGAATTTTTTGAAAAATTCTAAAAATTTTGAATTTTTTGAAAAAAAC TCAAAATTTTTGGAAAAATTTTGAATTTTTTTGAATAAATTCAGAACTTT TTGAAAAAATTCGAATTTTTCTGAAAAAAACTCAAAATTTTTGGAAATAA TTGAATTTTTTCGAAAAAATTCGAGAAAATTCCTAATTTAGTCGGAAAAA AATATTAAAAATTGATACGATTTTTGAAAAATTTTCCCAAAAATTCTATA GAACTGTCCTGAATTTCTAAAAAAAATTCAAAAAAAAAACAAAGTTTTTT AGAAATTTGCAAATTTCTTTAAAATTTTGGAAAAAAATCTATTTTTTGTT GAAAAGTCTGCAATTTCTAAAATTTTCCTATTTTTTCTGCTAAAACCTGC AAAAAAGGACCCTCCCCCTAACTATCTTGTTCCTCCAAAAACCGACAATT CTTCTGTTTTTGTGTTATAATCGTCCTTTTTCTTGTTCAACAAAACAAAA ATTAAAATAAATTAGAAGAAACGGTAAATTTAGATACGTTTTTGCCACGT GGCCGAGGTTTTTCACGGCCACGTGGCAAAGGCCGGCAAGAAATGCGCTG TGGTGGGAGAGGAAATTGATAGGGAAGAAGGAAGAAGAAAAAAAAAAGAA AAAATCAATATTTTAAAGCCAAAAAAAATTTTTCTGAAAAGACTAGCAAA ACAGGAATGGTTATGGGTAAAGCCGAGGTTTTGAAGGAGAATTTTTGGGA AAAAAATTGCAAAAAAAAACGAATCGGTAGGGACGGACCGGCAAGATTGA TTGAAAAATTGACGAAATTATCGATTTTTTGGCGGCGCACGGGGTTCTGG CCTTCCCTCATAAATGGAAGAGTTTTTGCCGAACTAGGCCACCAGGTCAT AACTGGGGTAGATTTACGGCGCGTTGCGTGTCGCGTCGCGGCTCAATTTT AGTTGTAAAACTAAATGTATTTGTCCGTGTGAAGTACACGACTTTCCCGG CGCGCGATTGTCAATGGAGCGCGAAAAATTAAGGGCCAGAAGTCCTCAGA ACCCCGTGCAAAAATCGATAATCCCGTTTAGAATCGGTGAGGGCGTGGAA AGAAAGAGATGATGAAACGGGAATGAGCAAAATTGCAAAAAAAAACAACA AGAAATTCCAGAAAATTCCATAGAAAACGGGGTCTAAAGCACCAGATTAG TGTTGTGCGTGGGCGTCCACTGTGACGTCATCACCTTCCACTTTTCGTAG TTCGACTCGAGCTGATCGGAGAGCTCGCCGAGCTTGGCGAACTCGGTGAA TGTGGCGAATGCTTCGCGGGCGAACATGTCTGTAAAATCAGAAATCAGGA GAAAATTCAATTTTGCGCGTCAACTTTGATGTTTTTTTGTGTTGGTGAAC TTCAGAAAATTGAATTCGCCAAATTTTACGAGCAAAATTGGGTTCTTTTG GTATTTTTCGTGGAAATTTAACCAAAAATCGAGTTTTCTACGGAAATTTA ACGTATTTTATCGATTTTTCATCAGAAATCAGTAGAAAATTCCGTTTTGC GCGTCAATTTTGATGTATTCGGGTCGGTGAACTGCACCAAACTGGATTCG CCAAATTTTACGAGCAAAATGGGGGTTTTTGCAAATTTTTCTTGGAAACT CAGTCAAATATTGAATTTTTCGTGGAAATTTAACCAAAAATCGGGCTTGC TACGGGAATTTAACAAATTTTATCGAATTTTATTTTGCGCGTCAAATTTG ATGTTTTTTGTGTCGGTGAACTTCAGAAAACTGTATTCGCCAAATCTTAC GAGCAAAATTGGATTTTTTGGGTATTTTTCGTCCGAAATTGATTTGTCCA GTGAAATTAAACGCGATTTATCGATTTTTTATCGGAAATCAGTAGAAAAT TCAATTTTGCGCGTCAAATTTGATGTTTTTTGTGTTGGTGAACCTCAAAA AACCGTATTCGCCAAATCTTACGAGCAAAATTGTATTTTTTGCGTCTTTT TCGTGGAAATTTTTACAAAAATCGTTCTTTTAAAAAAAAAATTCCACACA AAAGTACAATTTTCACACAAAAACTGCAATTTGCGCGTAAAATATGGCGC AATCGGTTGAGTGCGGCACGCCGACTCAAAAACACCATATTTTACGCGCA AATATTAATTGAAGCGCCTTCACGTGGTGTCAGGTTGTGTCATCACGGTT TGATCTACAAAAAAATGGGGGAATTTTTTGCCCAATAATATGTGACGTCA GCATGTTCTTAGCCATGCAGAATCCGTCTAAAATCCCGCATTTTTTGTAG ATCAACGTAGATCAAGCCGAAATGAGACACTCTGGGCTTCAAAACACTCA CCAATAAAACCGCATTGTGTGATCGGAACGTTACACGTGTTCCGATCGAA TACCTCCATCGTCACAGGCAGCCCTTTCTCTTTTTCTTCTCGAGTCTGGA AAATATTGATTTTTATTTTATTCTTGGAATTTTAAATTTCAAACAGTAAA AAACCAAAAATTATCAGTTTTAACTTATCCAAGTTAAAGAACTACAGTGA AGAGAACTACAGAAATATTAAAAAATATATCGATGCACCAAGAGCCCAAG AAATCTCTGAGAGCCCATATCTCGGCTCATTTCGAAGTTACAAATAAACT GCAAACTATAAAAATATAGAAAATTAAATTTCAATTATTTTGTTAGTTAA CAAAATTTGGCTAGAATTGAAATGAACTGGGATATGGGCTGGCAAAGTTC ACTGAATTTTTTCTTTTTTTTTCTTTTGTTTATTTTGATCTCTACACCAG GGGTGAGCAGCAAACGATTTTTTCCGGCAAATCGGCAAATCGTTAGCTTG CCGGAATAGAAAACTTCCGGCAAATCGGCAAACCGGCAAATTACCGATGT GCCGAGTTTGCCGGCAACCGTATGTTCCCTATGAGTATGGCCACCCATCA ATCGACTTTGTCGGCTTATATTTCAGCGGTTTCAGAAGTTTTTTGATATT TTCAAAAACCAGAGGATAACGATAGATTTGAAAAATATTTTGTCGTTTGA ATTTTTAAAATATGATAAAAGACAACCGAGATATAAACGGTCAAAGTCAA GGGGGGCCATACAAAAATTTTTTTTTGGAAATTTAGAAAAAAATGTGTTT CCGTCTTATTAAAAAAATCTCTCTAAGCATTTCCGGCAAACCGGCAATTG CCGCCCTCCCCCGACCTACGCACCTGTTCAAAGTACTCCTCAACAATCCG ATGCGCCCATCGCTGACACAATCCCCACTCTCTCGCCGGATTGGAGATGT CGGCGCACTTGACAAGCATATCACATATCGTAAGTGAATTCGTGTCACGT TGCTCCTCCGGCACATCTGTCACATGCATCTTGTTGAACTTGGCGAGGTA CTCAAAGTGTCGACTGATGTCCGTAGCCAACACCATCTCCACCATCGCAT GTCGCATTTGGATGAACTCCTCGCGCGACAGACTCGAGAAGATGTTCACG TTGGCGTTGTGCTGAAGGGTTAGCTGAAAGGCTAGTGCGATGTGATGATT CTCCAGGATCGAGTTATCATTGTAAAGTATTGCAAGCGACTGTCGCGTAT TGATCAGGTACGCGTTTCCTCTTCCAGGATGGTCTAGATCATGCACCGCC GCTGCGAGAAGAGCCGCCACCGCATGACTTTCATTCACGTGCACGGCGAC CGACGGGGAGTCCAGGAAGAATGAGGTGGCCTGTAGGACGTCGGCTGCGT GAGTTGCGTTGTGATACGTGTTTCCCGCATGGTAATGAGCCTCGATGGAT AGAATCCAACGGTGGAGGAGATCGTCGGAGCAGCCGAGCACATCGCAAAC CTTCCACCTCTCGAAGACTTTCATTCCGACTTGGGAAAGAGCGTGGTGAT CCGACACCTTTTCCAGATGAAGGATGTCGAATTTCCAGCAATTGTCGTTT TCCAGCGCGTTCTTCACGTCAGCAGATACCCGCCGACGTTCTCCATGGGA TCCTCGCTTCTCTCGATGCGCGTCGACGACGCTTCGCTTTCGCTGCCTAG CTGGATGATGGAGGCGAATGAGACCATCGTAATATTGAGTTGCTATCCGA TCGGCGTCGCGGAATCGATTGATCGACGGCGCGTACAGCTCGTGCGACGA CAGCACCTTCATCGCGTCCTTTATCGTTTGTGCCGGTTCTCCGTCGACCC GTGCCGACACGTCTCGGAGCATTGTGAGCACCTCGGAGATGGGCGCCTCG ATGCCGCCCGTCTGCGATTTCAGGCTTTTCAGGGAGACGTCGCGGAAGAT TGCGGCGGTGTCACCGGTGGTGTTTGAGCGTTTCATATACACGAATTGAC TACTGCAAAATTCATAGAATTTTTTGATTAATTGGTGGCCGAGTTTTTTA AAATGGTGGCCGAGATCTTTAAGTTGATGGCAGAGTTTTATAGGTTGATG GCCTAGTTTTTTAAAATGGTGACCGAGTTTCTATGCAATTTTGTGGCCGT GTTTTTGTATAAGTTGGTGGCCGAATTTTATAAATTGACGGCCGAGTTTT ATAGGTTGGTGGTCGAGTTTTATGAATTGGTGGACGAGTTTCTATACAAT TTTGTGGCCGAGTTTTTGTATAAGATGGTGGCCGAGTTTTTTCAAAATGA TGGCCGCGATCTTTAAGTTGATGGTCGAGTTTTATAAGTTGGTGGCCGAG TTTTATAGGTTGATGGCCGAGTTTTTATGTAATTTGGTGGCCGAGTTTTA CAAGTTGATGGTCGAGTTTTATGAATTGGTGGCCGAGTTGCTATACAATT TTGTGGCCGTGTTTTTATATAATTTGGTGGACGAGTTTTATAAATTGGTG GCCGAGTTCTAACGGATTAAGCAAAGGAAACTAGAACAGAATTTTATTGA AGAGAAAACTAGGCCATCAGCTTTTCAAGAAAAACTCGGCCACCAAATTT TCCAGCAAAAAACTAGGTCGCCAGTTTTTCCAGCAAAAAAACTCGGCCAC CAAATTTTCCAGCAAAAAAAACTGGGCCACCAAATTTTCCAGCAAAAAAA AAATCGGCCACCAATTTTTCCACGGAAAACTAGGTCATTTCATTGTTCGT TTGAGAGAAAGCTAGGTCACGTACATTTTCAATAAGAAAACTCGGCCACC AATTTCTTGAGCATAAAAAATTCGGTCATCAATTTTTATAGAGAAAGTTC GGCCATCAAGGTTGAAAAATAAGCTAGGCCACCGATTTTTTTTGTTGAAA AAAACTCGAACACCTAACCTATTTTCCTTTTTTTTTCAAGCCTAGAAAGC TCGGTTATCGAGTTTTTAGGCCACCGATGCATTTTTTTAATCGAAAATCG AAAAAAAAAATCGGTGGCCGACTTTTTCATTTACGGCCACCAATTAAAAA AAACTCACTTGTTAGCAAACGGGACCCGTATAAATTTCCAGTCGCAACTC CGCCGCCGCTCCTCTTCGCCACGTGCCCTCGGCAGGGACTTTCGTCGCAT TTCCGATTCGGGTTGTCCGATCACCTCGGATCGTATGCATCCCGTCACGT TCTCGTAGGCGCGGTTAACGTACTGCACTACTCGTTGCTCATCACATATT TCCACTGCTTGATCCGTCTGAAAATACGCAAAATTTGAAGGTTTGTAGGC ACACGTGGCGCCAGTCTATCCCATTACGGTTTGATCTACAAAAAATGCGG GAATTTTTCACCCAAAAATATATGACGTCAGCTAGTTCTTAACGATTCTC AACTCCCGCATTTTTTGTAGATCTACGTAGATCAAGCCGAAATAAGAGAC ACTCTGACACCGCGTGTAGGCAGGTAGGCGTTCAGCCAGGCGATTAGGCA GGCAATTAGGCAGGCGATTAGGCAGACTAGTAGGAGGTAGGCAAGTAGGC ATGGAGGCCAAAAGCTCACCTCATCCAAGACGGCGAAAAGGGCGGGCAGC GCGCGGATCCGATTCGCGAGCCGCCCGACGTAGTCGAAGAGCACCACGTC ACGCGTATTCCACGTCACATGCTGAAAAGAAACGAATGAATGGGAATCAG TGTGAATGAAATATTAATTAGAATTGAAAATGAGAAAGTGAGAAAACGGA TGACTTACATGAATGATGTTGGACTGCGCAAGAGCTCTCCGTCGCTTTTC GCTGATGTGTCTGGAATATGTGATTGTTAGATTGACAATTCTGGCAGAGT GGTCTAGAAAATTGGGGAAAACTCGGCCACCGATATGTTTTCTTTGGTTG TGGTTGGAAAATTTTGGCGACCGAGTTTTTCAACGTATCCAAATTTATGT GGCCGTGGCCGACTAAGGCCACATAGAAAAGAAAAATACCGAAACAATTG GTGGCCGAGTTTTATCAACGTAGCCTAAATTAGGTGTACTTGGCCGAACT TTTCTTCTGACGGCCACGCAGCAAGGAAAAAATAATGAAAAAAAAGTTGG TGGCCGAATTTTAAGCCTACACAAAAAGTTGGTGGCCAAATTTTAAGCCA ACAAAAATTGGGGGCCGAGTTTTTGTTTTTTGAAAAAATTCGTGGCCGAG AAAATGGGAAAACGCGGCCACCGATATTTTTTCTTTGGTTTCTGGCTGAA TAATTTTGGTGGCCGAGTTTTTGTTTTGGATAGGTTGGTGGCCGATTTTT ATCATTTTAACCTAATTTACGTGTTCTTGGCCGAACTTTTTTCTGACGGC CACATAGCAAGGAAAAAATAACGAAAAAAAAGTTGGTGGCCGAATTTTAA ATTCACAAGAAAAGTTGGTGGCCGAATTTTAAGCCTACAAAAAGTGGCGG CGCTTTTTCTACAAAAAATTGCTGTCATTATTTTAATTGGAAAAACTTGT GGCAGTGATTTTGTTTTGAAAAAAATCGTGGCCGAGTTTATCTGTAAAAT TGGTGGCCGAGTTTTATTCACGTAACCTAATTTACGTGGCCGTGGCCGAC TAAGGCCACATGGCAAAGAAAAATACCGAAACAATTGGTGGCCGAATTTT TAGTCTAAAAAAATGGCGGCCGAGTTTTTGTTTAAAAAACCGTATTTAGT ATATCTGGGACGAAAAATGGTGGCCGAGGTTTTTCAATGTATCCAAACTT ATGTGGCCTTGGCCTATAGCCTAGCTTTCCTAAACCATTTGTTTAAAAAG TTGGTGGCCTAGTTTTCCAGCATAATCCAACTCACTTCTCGGCGATCGAC ACAATCAACACCTCCTCTGTGCTCACCGATGAGACGTCTCTGAAAAAACG TTTCGTTAGTAGATCATGGCTGACGATCAACGCTGCTCCCTTACTTGGCG ATTTGCGATGGATGAGGTACTCGAAGATCTATGAATACAGCTAAAGGGCA TATTGATTCAACGTCGGATGTTGCCTGCAAGAAAGTGTACATATTCAAAA ATTTCCAAAATTCAATTTCCTTTTTCCCGCCCGTGTCCGAATTTCCGGAA CTGACCACGTTTCAGTCATGGTCTTCGTAATTCCCAATTTCCTTTCTCCC TTATCTTTTTACGTCAATCATGATAGCGGTGATACGTGTTTCGAGGGTAT ACATGCTCACACAACAATGCACTTAATCAGCTAATCTCTCCCACACCTCC ACAGAGAGAGTGTATGAGCAAGAGAAAGAGCACCTGCTTCTTCCAGATTA GTGAGCGAGCCTGTTGTCATCTGACTTCTGCTGACGGAGGGAGCTTGAAA AGCGGAGCAGGAAGAGGAGAAGAAAAAGAGCATTCAGAGATAATTACGCG CGAGTCGTAGTAGTATGTATACACTGACTTCTTCTTCTTCTTCTTCCTCT TTTTCCCCGTCTTCTGCTCGTTGATGTCTGCCATTATATTGATCATTAAC GAGGGCCTAAGAATCCTGGAAGAGTTGTGAGGTCACACTGATGGCCTAGG AATCTCAAAGGCAGGCCATATCATATTGCAGGCCATATCAGGCCCCATAG CCTGGCCATAGTAGGTCACCACAAGCTATGGACTGCCCTCAAGATTTTGG CTCAATTTGGATAAGCTTCTTCGGAGCCCCTGGGCTTAACAGACTGACGT CATAGGTGGTATATCTCGGCTAGGCGGAAACTCGGAAATGTGAATTTTTT GACGCAAACCAAAGATCTTATAGATCCTTGAAATCTTCCACAGGACTTAG CAGACCGGAGGCCTGGGAACTATGCAGTTAGAGGTAATCGCCAAGTCCAG GGCTCCGAAGAGAGAGGGCCCAGGGCTCCGAAAAAAGCTTAAATTTTGGG CCAAAATTTCCCAAATTGGGCCAAAATTTCAAAAGTATGTAGTAGGTTTC AACCCTCATATTTCCCGGGATCATGATTTTGTGGACTATTATTTTCAGGC TGTGGTGGCCTGCTATACCCAGACTATGTACTGGGCCAAGCTCTGGCCAG GTTATGGCCTTTAATAGCCTTGAATTTTGGAGTCAAAGTTCTTGCAGAGC CTAGGAGACGCTTACCACTTCGGATCAAAGGCCTGATCTAAAACTCAATG GATCATGACCCTAGAACCTCAATTTTCATAAGCCTAATACGCAGCTACTG GTCTAAGCTCTGACCAGGCTATATGGCCTGATATGGCCTGAACACTTCGG TGGCCTAGTCTAGGTTTTTCCAAGCCCCAGCGGGCCTCAATTTTCATAAG CCTAAAGACGCAGCTACTGGGCCAAGCTCTGGCCTTGAATTTTGGAGTCA AAGTTATTGCAGAGCCATCATGCCTAGGAGGCCTAATCTAGATTTTTTCA AGCATTGAGGCCCCCACGGGCCTCAATTTTCATAAGCCTAAAAACTCAGC TGCAGCCTTACCTGTGTTGGAAATGATACTGTACAAATCCATCCGGATGC CCGTAACGAGTCGAGGAGCACACTCTCGCCGGTGCCTTCCGTCACGATCA CAGCCTGCAAAAAACGCATTATTTATAAGATCTTACAGGGGATTTTCAGG ATTTTCAGGAGGATTTTGTCGTGTGCCAGACCTCAAAGCTCGTCGGGATA AAATGCTGATATTGATTGACATGCATATATATAGATATATATGAAGTTGG AAGAGCGGAAGCAGCAGCAGTGGCAGCAGAACTTGTGTGTGACGGGGATT TGTGGGAACAAGGCGCCAAAGAAGACGAAGCAGAAGAAGAAGAAGAAGCC GGGGGCAAGCAATGAATGCAATGTATGTAGGAGTATGTAGGAGTATGTGT GTGTGTGTGTGTGTGTGCGAAAGTCTCTCTATGTGTGTGTGTGTGTGTCA CAGGTTATATATTGCGTGTGCACAAAAAATGTATGAGGTCTCCTGATGTG TGTGTGAGTCTGTGAGTCTGTGAGTGCAGTGTACAACACCTTTTGCGGAG TCTTATCACATACTGATACGAAAGTGTTTGTATTTTTATATTTCTTTGCC ACGTCACACTTTATTCAATTTTTCGCGTGTGCCTCTCGCCCCGTCATTGG CACGCAGTAGAAAAAGAAGTAGAAGAAGATGCGTCTTCTTGTTGCCATAT CCCATCCAACTTTGTTACTTACGGAATTCGCGCGCGCGCGCGGGGAGGAG AAGCAGAAGACGACGACGACGAGCTCGAAAGAAGACGAGTCCGCCTGCGT CTCTGCAGTGATCTCGTGTCCCTCGGCAGCGGCTGCGGCGCGCGCTTCAA TGAAGACGAGAGCTCCCCCCCCCGGCGGCGCCGAATACGCGATTTGTCAT CGAGATGAGCGCTTTGCTGACAGAATAGAATGGGCAAAAACAGGAATACG GAATACAGTAGTCATGTTTTGTTGCAATGTTATGGGAAAGCTGGCTTGGC GTGGTCGTCGAATTTTTCGCGCTTCATTGACAAAGAACAAGGGAAAGTCG TGTTCTCCACACGGACAATCACACTAAGTTTTAGGACTAAAATCGAGCCG AGCCAAAATGGCCTAGTTCGGCAGAAACTCTTCCATTTCAATTTGTGAGG AAAGCCAGAGTTCTGTGAACCTCGGACCTGCGATCGCCGACCTGCGATCT CCTAGACAAATGCTCACCCCAGCGCGGGACTCGGGAAAGTTAGCGCCAGG AGAATAATTTTTGAATTTGAAGAAAAAAAAAGAGGAACTTACAGTTTTCA GCATCTTCACTTGCATCGGCCCAAACGTGTCATGTGCCGTGGAGCTGCTC GTTGCGGCGACAGTTAGCAGAGGTGTTGGTGGAGCACCACGCGATCCACC TCCACCACCACCATTCTCAGAATACGACCCACCGCAGCACCATCTCATTG CAAACACTGGCCTGGATGCTGCTGCTGCTGTTGCTGCTGGTGCTCTCTGT GCGCCTCTTCTAGCTGCGGGCGTGTGCTGCTGCCTCCTGCCAGCTTGACT GTGTGCGCTAGCCCCGAGCACACTCTTTTCACCCTCTTCTCCCCCCACCC CGCTTCTATCGCCCATTCTCTCAATTCTTCTCTGCCTCCTCCTCCTCCTC CTCCTCCTCCCAATTCTCATGTCATCGGGGGGCCCGTCGTGTCGTCGAGC GCCCTCTCGCGTCTGCAATGTCTCGGCGCCGCCGCCGTCGTCGTCGTCGT CGTCGTCGTCTTCGGGGGGTTGTCATCTGCTGTGTTCACACTGATGCCGC CGCCTTCACCGCCCATCTCATCGTCTCCTCCTCTGTGTGGACCCGCCGAC CGGCCGGCGCGCCTTCTCCCATCAGTTCTATCTCTCTCTCTCACTCACTT ACTCTCAAACCGCGTCAATTGATCTCTCTGGCACGCTCTTCGCTCGGCGA GCTGTATTCGGTGTCGGTTTTCAGTCTGCGTCTCCGCGCCCCGGTGCAAT GCATATGTTCCATCACGTTCTGCTCCTCTTGTTGCTCCGTGTGCTGCCGT GTTTTACGCAATTTCAGGTAAAATTGATACAATTGATACAATTGATAATT ATCGAAGTGTCCTCTATGTGTACTCACGCTGTTAATTTAATGGCCTAACC ACAGAATTATGCTTCTTTAATTTTTGAACTCGTAGCTCCGTATGTTAAAT CCACTATGAGATTCCTTGCCATGTTTTTGCAATATTTTTTTGTTTGTTAT GAGAAAGTGTATGTGTTCTTTGTTTGGTCACATGGGAACCGCTGGCCTGA GAATGGAAGGTTTTCTGGGACAGAGCTTTTGAATCCGATAGCCTACAATA GGGCCCCAGTGCAATAACGGTAGGCAGGCCCGAGGCCTAATTTAGTCCAA ATAGTCCTTATTCAGTCTAGATGATTCAAAGCTAAAATCAAAGGGCTGTT CCATTACGTTGTGATCTACAAAAAATGCGGGAATTTTTCGCCCTAAAAAT GTGACGTCATCACGTTCCATGCGTTATTATTTATGAAGTCTGCGTCTCAT TCTCCCGCATTTTTTGAAGATCTACGTAGATCAACCAAGCGCCTTACCCC TAGCCTCTAAGCTCCTAGGGCCCTCTAGGACCATTTAGGCTTTTTGGACT GTCTAAGACCAATTGGGCTTTTAGGCTCCTAGGTCCCTCAAGGACCGTTA GGCCTCTTGGACTATCTGAAACCATCTGGGCGTCTAGGCTCCTAGGGCCC TATAGGACTATTTAGGCCTCTTGGACTATCTAAGACCATCTAGACTTCTA GGCCTCTAGGGCTCTCTAGGACCATTTTGACTTGTTCTATAGGACCTTGT TCGACTAGCTAAGACCATCTGGGCTTCTAGGCTTCTAGGGCTCTCTAGGA CCATTTAGGCCTCTTGGACTATCTAAGACTAATTGGGCTTCGAAGCTCCT AGAGCCCTCTAGGACCATTTAGGCCTCTTGGACGATCTAAGATCATCTGG GCTTCTAGGCTTCTAGGCCCCTCTAGGACCTTCTAAGACCCCAGTCTTTA TTCCCTAGCCTCTAGGCTCATAGGCCTCGATTCCGCAATTCTAATGGCTT TGGGAGCCCAGTTCTAAGGCCCATGGACTTCCACAGTAGCTTTTCAGTCA ACCATTTCCAAGTTAACCAAGGACCATTTAAGCCTTTTGGGCTATCTAAG ACCATCTGGGCGTTTACTTTCTAGGCCTTTTCCTGCCTATTGGGCCCTCT TGGACCTTCTAAGACCCTGGCCTTTAATCCCTAGCCTCTAATCCTCTAGG CCTCGATTCCGCAAATACAATCCCAGTTCTAGACTCTCAGGGCCCTTGGG CTTGTAGGCTTTCAGTTAACCATTTCAAACAGGTGCCGTTCCGCTCCATC TCTTCTTGCTCTCTCGTGCTCCTCTCCTACACCATCTTCTCTCATTGTTC TGACGGATGGATGAGCTGTCATCATCATCATCAAAGCTCCAAAGACAATT GCCATCAATTTGTGCCGCCGCTGTGCTAAGTGGTCTTATTCCGCCGGGAC AAAAAAAAAGGGAAAATTCTCTGGGAATTTGGACTAACACCACCTACTAT TACTGTAAAAAAACATTTGGAGAAGGGGGAAACGAACTAAAAAAAAACAA ATTAAAATCGGCGTATCAAATTGAAATCATATGATTCGTTGCCGTCGTCT TCTCTGCAATGATCGTTTGTTCCGTCGTGTCAAACTAACCTACTCAATGT CATAAAGAACAAAGAATGAATTCAATAAAACAAGACGAAAAAATAAATAC ATTCAGGTACTGTACAGAGAGAATCAGGATCACATCTGGAATAGCTCGCA GCCTGTTCGATTCTGGGAGCTTGTTGAGTATAGGCCGACCACTACGCCGC CGCCGACCACTACGACAGAGTATATACCGCCACCGACGACTACGTATGTT CCCTGAACTTTAAAGTTGCATTTTTTTTTAAAGGATTAGGGGTTTTAATT GAAATTTCAGAATTTTTGGTAAATTTTTTAAAATTAGTTTTATTTTTTTA CGGGCTTTTGCGATTATTACTGGTAGAATGAAAGTATGTACATTTCTTGT AGATCAGAAAATTTAATTTTTGATATCCGATAAATGTTAAAAACTCGATC GAAAAAAAAATAAATTTTTCCAAAAACTAAAAAGTTGCAAAATTTATTTT TTTTACAATTCAAAGTTTGTAATTTTTGACAAAATACATTCAGAAATTTT TTTGGAATAGGGGTTTTAATTAGGCTTGGGCCTAGGTTTGGGCTTGGGCT TGGGCTCAGGCTTAGGCTTATGGTTAGGCTTAGGCTTAGGATTGGGCTTA GGCTTAGGCTTGTGCTGAAGCTTGGGCTTGGGCTTAGGCTTCAGCTTAGG CTCAGGCTTAGGCTTGTGCTGAGGCTTGGGCTTAGGCTTAGGCTCTCAGG CTTAGGCTTGGGCTTGGGCTTGGGTATGGACTTAAAATTTTTTTTCAAAA ATTTTATTTTTCGAAAACTTATGGTTTTACCGGTATAAAGTGCCTTTTTT TGTACATAAAAAATAATTTTTAAATTTTTTAACGTTCCTAAAAACTAAAC AAACTGTAAAGAAAATTTTGTTTAAAAAAAAAATCAATAAAACATATTTT CAGTAATTTCCAAAATTTGATTTCCCGGTAAAAATCAACAATTTTTTATC GGGGCCACAAAAAAAATTCGCTGAAAAAAATTCAATTGGATGTATTTTCT GCAAATTCGAGTCAATTTTCTGAAAATAGTTGTTTATTTTCCCTGATTTT TTGGCGTTTTTTCCTTTTTTAAAGGAATTTTAGGACTTTCTGGGATTTAG AAGGGTTTAGCCTAGGGAGTGATTAAGCCTAGGCTTAAGCCTGAACCTGA GCCTAAGCCTAAACCTAAGCCTAAGCCTAAGCCTAAGCCTAACATCAAAA AAACCGGAAAATCCTAAGCCTAAATAGCGTCAGTAGCAAGCTGACGCTCG CCACTGACACCAAGCCTAAGCCTCAGCCTTTAACGAAAAACAATTTTGGC ACAAAAATTGCAAAATTTCCGCTTCTCCGCTTCTCTTAAGACATTGAATT TCCAAATTTAAAAATTTTTAGAAAAAAAAAAACCTCGGTCCAAAATGATC TGAAAATTCTTATTTAGGCTTTAAAAAATTTCACTTTTTTCTGCGACACT TTCCATAACACCACAAATTCGGCGAATCGACCTGTTGATGATCTTGTCTC GACCCGCTCTCTCTCTAAGTGATTATAACAGAGATACACCCACACACCCA CACACGTCATCTATTATGTTCTAGAACTTTATACTTTATGATCAAAACCG AATGCTACAAACTAAAAAAACATCACCACTTTTTCCAAATTTTCGTCACA TTTTTGCAGTCCGACCACAACTACAACCACCAAAGATCCATGTGAATCAT CGCATCCGTTGGATCTGACGCGTCGGCTACGGGACACTGCCGGCTACAAT CGTATCTATATGGCCAGCGACTTTTCGTCGGCTCGCAATGAGTTTCCTGA TCTCAGGGGTTTGGCTCACAAAGCTTCAACGGACTATCATTGCGGGAAGA GGTGCCAACGGTGAGCTCTCAATGCCTACCTGCCTACTTGTTTGCAGTAT CAAACATATAATGCCTACAAGCCTACGCGCCTACCTTGGTCTACGAGCCT GAACTTGCACATTTTCTGTGCCTAACATGCACGCTATACTTTTGTCTGCC GTTACGCGCCCCCCCCCCCCGCCTATCTGCCTACAAGTCTCCCTTTTGTC TTTATGCCTACGCGCCTATCACATGCCTACCTGCCTATTTGCTTGCGGTC GAGTCGATACATATCATGCCTACGAGCCTACGCGCCTACCTTGGGCTACT AGCCTGAATTCGCATTTTTCCAGTGCCTAGCTTGCGCGCTATACCTATGC CTGCATTTACGCGCCTTCTCCCCGCCTAGCTGCCTACAATCGCACTTTCT GCCTACCTGCATGCTTTCCTACCTATTCGCATACTTAGGCGTACCTACCA CAAGCTTAGCTACCTACAAAACTGCCTTCTGCCAACCTGCATGACTGCGT ACCTTTTCGCCTGCTTAGGTGCCTACCACAAGCCTCCCTTTTGTCGATAT TCCTACGCGCCTATGGCATACCTACATGCCTACTTGTTTGAGTCGATACA TATCATGCCTACGCGCCTACCTTGGCCTACCTTGGCCTACAATCCTGAAA TTGCACTTTTCCTGTGCCTAGCTTGTACACTATACTTATGCCTGCCTTTA CGCGCCTTCTCCGCGCTTATCTGCCTACAAGCATACCTTCTGCCTCCTTG CATGCCTACATACCTATTAGCCTGCTTACGCGAACCTACCACAAGCCTAG CTGCCTACAAACCTCCCTTCTGCCTATATGCCTACGCACCTAACTCCTGC CTGCCTATACGTCTACCTCATGCTGAAAACAGACCTGCCTTGTACCTACC TATGCGCCTACCTAAGATTTGCCTCCTACGTGCCTGGCTGCCTATTTTGC CTATAGGCATTACTGTCAGTGCGTCTACCCAGAGCCTACCTTTAGGTAGA CGTTTGCCTACCTAAAGCAACCGCCTACAAGTCTATTCGCCTGCCTCCTT GCCTACCTACACACCTCCCTTATCCCGGCTTTTCCACCTGCCTATGCGCC TATCTCATGCCTACCCAAGACCTGCAAACGTGCCTAGCCGTATGCCTACC TAACTTCGCGCCTACATATGCCTCCCTTTCAGATCGAGTCAACTAATTCG AAAAATCATAAAAACCGGCCAACCGGCAGAAGCCGAACGTGCTTGGTGGG ACGAGGAAGAGTGGGAGGAGGGCGAGAGACGCAGGAAACGAGCCATCGAA TGGAAGGATACAGATGATCGTCTGCTAATGCGAAATACCGGAACATCACG TCATATTTTGGGTAGGTAGGTGGGTGAACACAGCAAGTGCGCTCCATCGC GCGGGACACTTTTCCCGCGCTTTTTAGGAGGTCAAACACGGAATTTTTCC AGGAATGACTGTGGCGGTGGAATGCGATGATGAGACTGGAGAATTTAATA GTGGTGGATACTCGTTGTGTACTACGTGCCGTGCTGTTCGACACTTGCCA TCCACGTATTTTCCACGTGTCATTAATGAGCTGATTTGCTCGCAGAAAGC GTGTTTGCGAGGAGAAGGAAAATGCATACAACGGGTTATGCCGATGAAGG TATGTAATTTTTTTGTTTTTGCAATGGAGCGCGTTTGTACTCACTCCACG AGAATCACGTGGTGTCAGAGTGTCTCATTTCGGATTGATCTACAAAAAAT GCGGGAGAAGAGACACAGAGTTCTCAACTGATTTTGGATGATTAAGAACG TGCTGACGACACATTTTTATGGGCAAAAAATTCCCGCATTTTTTGTAGAT CAAATCACTTGGAGAATATTATTTTTATTTGAATATGATCCTTTAAAGAA AAAATAAAATTTGACTGAATTTCCCGCCAAAAAATTTTCGCAGAAAATTT AAATTTCCCGGCAAAATATTCACGGATATCTGGCTTCCCTCATAAATTGA AATGGAAGAGTTTTTGCCGAACTAGGCCAGGCCATATCTGGGGTAGATTT ACGGCGCGTTGCGTGTCGCGTCGCGGCTCGATTTTAGTTGTAAAACTAAA TATATTTGTCCGTGTGGAGTACACGACTTTCCCACGCGTTGGTGATTGTC AATAGAGTGCGAAAAATTCAATGAGGAAGGCCAGAACCCCGTGAATATTT TCTCAAACATTTTTTTTGGAATTAATGTGCAATCGCGCTCTAACGCAGTA TCCAAAACTTGGGTCTTTTGGCGGGAAACCCGAAAATTCAAAGTTTTTTG CTTTAAAATATCGTGAAACAGACGAAACTAGTCGCAAAATTTCAAATTTA CGGTCTTGCCGCGCCAGTGCGGTGGATCACGATTGCACTTAAGAAAAATG GCGAAAATCAAAAATTTGGTTTATTTTTGGCAACTATTTTTCATTCTCTA TCAAATTCATACTGTACACGTGGAAAATCATTGATTTTCCCGAAAATTTG AATAAATGGGATGCAAGATGCGAGCGCGCCCTATTGTGATTCGTTAAAAT TCGTTAGAAGCGTCACTGAAATCGAAATTTTTTCTCGAAAAATTGCAGTG TGCCACGTTGTAAAATATCGATTTTTTGGAAAATTTAATATTTAGAAGTG CGGATGCATCCTATTGTGCTCCAATAAAATTACACGGGCTTCTGGCATTC CGCATTGAATTTTTCGCGCTCCATTGACAATCGCCCGTGTACTCCACACG GACAAGTGCATTTAGTTTTAAAACTAAAATCGAGCCGCGACGCGACACGC AACGCGCCGTAAATCTACCCCAGATATGGCCTGGCCTAGTTCGGCAAAAA CTCTTCCATTTCAAAATATGAGGAAGGCCAGAACCTCGTGGAAAATATCG ATTTTTCCATTTCCACGTGGCCAAAGGAATTGCAAGCGCGCTCCAGTGAA CTCGCCCAATTTCCATTTTTTTTCAGGTTCTCCGAAACGTGGGCACCCGC GAGTGTGCTCGCTGGCAAATGAGCCAAATCGACGTGCGAACGTGTTGTGA TTGTATGCTCAATCCGTCATCACCACTGGTCACCTATTTATGAGCGAAAA AACCGGGGAAAAAAACACACAAAACAACTCAAAACTCAACAAAAAAAAAT AATTTTACAAGATTCAACGAAACAACAAAAAAAAGAAACAATGGAAATTA AATACGGATGCTGCTGCCAAATATGCTGCCAAATTCAAATTCTCGCCTTG TACACACGATCTTTATTGAAAACGGTGATCAACGGGCACCCTCCACTCTG ACCTTTTATCTGAAAATAATTGTTTTAAAGATTTATTTGATTAAAAACCT CGGCCACGGCCGCGACGCAGCCGCTCCGCACGCAGCTGCGTCGCGGTCGG GTGGATCCTAACCTGAACTTCTCCCTCCAGCTCGTTATCGTCGTCGACCA CCTCGAACAGTTTGCTAGCCTCGAATAGAAATCTGAAAAAAATAAATTGG TTTTTTTTGAAAATATATAATGTTTTATGTTTGGGCTTCTGGCCTTCCTC ATTGCATTTTTCGCGCGCTCCATTGACAATCGCCCCCCTGTGTACTCCAC ACGGACAAATCACATTTAGTTTCACAACGAACGACACGCAACGCGCCTGG CCTAGTTCGGCAGAAAAACTCTTCCATTTCAATTTATGAGGGAAGCCAGA AATCCGCGTGTGTTTTATTGATTTTATTGATTTTTTTACTTTCGAAAATC GCGTTCCGGCTGGTAGAAGCACAAGGTTTTGCGCGTGTCGGCGATTCGAT CCCTCGACCATTCTCTGCAAAAAAAATATTTTTTTTTGTGTAAAATTCCC AATCTGCGAGAACGGGATCTACGAAAAATTTTTTTTTTAATATTTTAATG ATTTTTTCAGAGATCACATTCTTGCAGATCATCTTTTCGTGGGGCCTCCT AATTTTTCAGTGCTGCACATTTATTTAACATTCAAAAGTGCTTTTTTCAT AAAAATTTGAATTTTTTGCCCAAAAATCGAGAAAAACGCCGCTCCGCCTC TTTTTCCGTGCGGCACTGTGCCTTTTGCAAGCTGGGCACAGTTTTGTAGG CGTGAGCATGGTCTTACTTGAGCGCTTGAGTGATCTACGAAAAAAAAAAA GCTTTTTTTAAAATTTATGTCGGAGATCACATTCTTGCAGATCATCTTTT CGTGGGGCCTGCTTATTTTTCAGTGCCGCTCGGAAAAAGAGGCGGAGCGT CGTGAGGCACGGTTTTTTGTCACGATTTTACAGTTTTTTGACTAAAATTC TTGATTTTGGATCATTTTCGTTGATTTTTTTCGGAAAAAGCTGATTTTGG CAAAAAAAAAATTTTCGCTTTTTTTTGGACAAAGAAGAGCCAAAAAAAAA AATGAAAAAATCATAAATTTTTTAGTTTTTACATTTTTTTTTTTGAATTG AAAAATGTTTTTTTGTGTTTTTGGTGAAAAAAACTACTTTTTTTTGCGAA AAAAAAATAGCAAAAATGACCAAAAATCGGAAAAAAAAAACGCCGCTCCG CCTCTTTTTCCGTGCGGCACTTCGCCATTTGCAAGCTGGGCACGGTTTTG TAGGCGTTGTCATGTTGTCATTACTTGAGCGCTTTGAGGCAAAGACTTAT GGGAGAACGGTGAAATCCAAAATTGGTGGCGTTCGGGAAGAGACGGGGGT GCTTCTGAAAAAAATTGTTGAAAAATGCAAAAAATCTGAAATTTTAGAGC ATTTTTCTGAAAAAAATGCAAAAAATCCGAAATTTTTGAGCATTTTTCTG AAAAAAACGCTAAAAATCTGAAATTTTAGAGCATTTTTCTGAAAAAAACG CTAAAAATCTTAAATTTCTGAGCATTTTTCCCGGAAAAAAAAAGATTTTT ATGCACCTCTGCGAAAACTTCATCCATCATGGTAATTGAAAAATCACAAC TGTCCAAAAGCACCGAATTCACAGTGTCGAGCTCGAAAACGCCGACATCT TCGACCTAAAATGCTCAATTTTAATGGGGAAAAGCTCTAAAATCATGGGC TTCTCGCATTCCTCGTTGAATTGTTCGCGCTCCATTGACAATCGCCCCCG TGTACTCCACACGGACAAGTGCATTTAGTTTTAAAACTAAAATCGAGCCG CGACGCGACACGCAACGCGCCGTAAATCTACGAAAAAAAAAAGGAATTTT TGCTGAAAAATCGATAAAACACGTTAAATTTAACCAGAAAAATCAATTTT CGCACAAAAATTCGCAAAAAAAAAAAATCAAATTTTGCTCATAAAATTTG GCGATTTCAGTTTTCTGAGGTTCACCGACCCAAAAAACGTCAAATTTGAC GCGCAAAACTTGAATTTTCTATTGATTTTTGATGAAAAATCGATAAAATA CGGTCAATTTAACCAGAAAAATCAATTTTTAACGAGAAAAGCCAGAAATC CGTTGAAAAAGCTCTAAAAATCAAAATACAAACATTCGAGAGAGTCAGAT GACGGAGACAGACGCATTTTTTCAGAATTTTCTGCAAATTTAGGTCCAAA CTGACGAAATAGAAGACACGGAGCACACTGGAAATGAAAAAAAATTAATT AAATGCTAGATTTTTAGCATTTTTTCAGAAAAAATGCACTAAAATTTCAG ATTTTTAGCATTTTTTTCCGGAAAAATACACTGAAATTTCAGATTTTTAT TTATTTTTTTTTGAAAAAATGCTACAGACCGAATAGTTTGCCAGGCATTT CTGCCGCGGAGGAAATCGGCGATGAACTCTGCCACGTAGCGGCATTCGAT GGGCGGTGGCTGAAAATTTGCAATTTTTTGGCCTAAAATTTGGTTTTTTC TGGAAAATTCTCTTACCAACGGGAAGGTTTTCGTCTTCGGAATGCCTAAA TTAACAATACAAGCCCTCGGAGCAATTCTCGCAAGAATTGGAGCCAGCTC CTTGGCATAAGTGAGATCATAGATGAAGAAGACGAGCCGCTTCACCATTA CGATGCTCTTGCAGCGTTCACGGCGTTCTGCGTATTTTTCCAGGATACTC TGAAAAAAAATCCGTTAATTTTAGCCAAAAAATCCGTTAAATTTAGCCAA AAAATCCGTTAATTTTAGCCAAAAAATCCGTTAATTTTAGCCAAAAAATC CGTTAATTTTAGCCAAAAAATCCGTTAACTTTAGCCAAAAAATCCGTTAA TTTTAGCCAAAAAATCCGTTAATTTTAGCCAAAAAATCCGTTATTTTAAG TCAAAAAATCCGTTATTTTAGCCAAAAAATTCGTTAATTTTAGCCAAAAA TTCGCTAGTTTCAGCCAAAAAAATCCGTTAATTTTAGCCAAAAAAGAACC GTTATTTTTAGCCAAAAAATCCTTTAATTTTAGCCAAAAATTCGATATTT TTAGCAAAAAAAATCCGTTAATTTTAGGCAAAGAACCGTTAATTTTAGCC AAAAAATCCGTTAATTTAAGTCAAAAAATCCGTTAATTTTAGCCAAAAAA ATCCGTTAATTTAAGTCAAAAAATCCGTTATTTTAGCCAAAAAATTCGTT AATTTTAGCCAAAAATTCGCTAGTTTCAGCCAAAAAAATCCGTTAATTTT AGCCAAAAAAGAACCGTTATTTTTAGCCAAAAAATCCGTTAATTTTAGCC AAAAATTCGATATTTTTAGCAAAAAGAATCCGTTAATTTTAGCCAAAAAT CCGTTAATTTTAGCCAAAAATCCGTTAATTTTAGCCAAAAATTCGATATT TTTAGCAAAAAAAATCCGTTAATTTTAGGCAAAGAACCGTTAATTTTAGC CAAAAAATCCGTTAATTTTAGCCAAAAAAATCCGTTAATTTAAGTCAAAA AATCCGTTAATTTTAGCCAAAAAAATCCGTTAATTTAAGTCAAAAAATCC GTTAATTTTAGCCAAAAAAGAACCGTTATTTTTAGCCAAAAAATCCGTTA ATTTTAGCCAAAAATTCGATATTTTTAGCCAAAAATCCGTTAATTTTAGC CAAAAATCCGTTAATTTTAGCCAAAAATTCGATATTTTTAGCAAAAAAAA TCCGTTAATTTTAGGCAAAGAACCGTTAATTTTAGCCAAAAAATCCGTTA ATTTTAGCCAAAAAAATCCGTTAATTTAAGTCAAAAAATCCGTTAATTTT AGCCAAAAAAATCCGTTAATTTAAGTCAAAAAATCCGTTAATTTAAGTCA AAAAATCCGTTAATTTTAGCCAAAAAAGAACCGTTATTTTTAGCCAAAAA ATCCGTTAATTTTAGCCAAAAATTCGATATTTTTAGCAAAAAGAATCCGT TAATTTTAGCCAAAAATCCGTTAATTTTAGCCAAAAATCCGTTAATTTTA GCCAAAAATTCGATATTTTTAGCAAAAAAAATCCGTTAATTTTAGGCAAA GAACCGTTAATTTTAGCCAAAAATTCGATATTTTTAGCCAAAAAATCCAT TAATTTTAGCCAAAAATTGCTAATTTTAGCAAAAAAATTCGCTATTTTTA GCCAAAAAATCCGTTAATTTTAGCCAAAAAATTCGCTATTTTTAGCCAAA AAACTGTTAATTTTAGCCAAAAATCCGTTGATTTTAGCCAAACAATTAGT TATTTTTAGCCAAAAAATCCGTAAATTTTAGCCAAAAAATCTGTTATTTT TAGTCAAAAAATTCGTGAATTTTAACCGGAAAATCCGTTATTTTTACTAC AAAAATAGCGAATTTTCGCCAATTTTAACCAAAATCTCTCGATTTTTTGT CAAAAATGCACCAAATGTGCGCTTTTTTTCGTTTTTTTTTGGCATTTTCC CTACTTCAATAGCGAGTTTGCAGGTCGTCGTGCAAATTTTGACTTCGATT TCAACAGAATCCAGCAGAATTCGATCATCAGTCATACATTCCAAACAATT TTCAGCATCCTTTATGGGCACTTCGATGAAATCTGAGAGAGCAAACACTT TAGAATTGCCAGGGTTTACAGCTCTTTTAATCACCATCCAACTGGCACGC GACGTCCATTTTTGGCTGCCCATTCACCCGCTCGCCGCCACCCTTGCAAA TGTTGTGAAATTTGATGACAAACGGTTCAGAGTACTCGAAATTCTCCAGA TCGCCGTGCTCGACGAGCTCGTTGTTCGATGGTGCTCTTTCCGGCGTTCT TTTCCATCTGAAACTGCTGTTTTTCCTTTTTTTTTTTGTCGCAAAATCTT TTTTTTCACCGAATTTTTCCACCAACCTGAACAGCGAATCTTCGAAAAGA GACGAAGAATTCGATTTTGGGCTTTCCAAATTTGAAAAATTCAAAGAAGT TGTCACAGAACTAGCCATTTCGAAGTTGAAATGATTAAAAATCAAAAACA AAAAATTTCGATAAAAATCAATGTCCGAGAGGAGTACACGCTTGGGAACC ATGCGCGGGTCTCGCACGGAAGAGACGAATTGAAGTACGGTAGCTCGTAA ATCCTGTTCCACGATTGATTTTTTTTTAATTTTTGATCAATTTTTTCGAT TTTATCCCAGAAGTTCTTGAAAATTATCCGTTTTTTTGCAATTTTTTCGG AAAAATGCTCTAAAATTTAAGATTTTTAGCATTTTTTTCCGAAAAAAATG TTTTAAAATTGCAGATTTTTAGCATTTTTTCACAAAAAATGCACTAAAAT TAAGATTCTTAGCATTTTTGCGGAAAAAATGCTAAAAATCTTGCAAAGAC TGAAAAAATTCGAATTTGTTGTAATATTGCATGTTTTCCGAGGTTTTACA TCAAATATGTGTAGTTTTCCTTGAAATTTGACGTTTTTCACTGAAAAATT CTACAAAAATAAGCATTTCTGAGCTCTTTTGTCGCAAAAGTTGATGAAAA TCGCCAATTTTTCAATAAATATTGCACAGAAACCGTCAGATTTTTAGCAT TTTTTCGGAAAAATGCACTAAAATTTTAGATTATTAGCAATTTTTCAGAA AAATGCTCTAAAATTTAAGATTTTTAGCCCTTTTTTTCAGAAAAATTCAC TAAAATGCAAGATTTTAATCATTTTTTTGCAAGAAAAATGCTCTAAAATC TAAGTTTTTTAGCATTTTTTTCGGAAAAATGTTTGAAAATCCCTTCTTTA ACGCCTTTTTCGCACTAAAAGATGCTCAAACTAGTTTAAACTTTCAGAGT TTTCCCATGCTTTTGCCCCCTCCACTTCACAAGAAACAAGAAACAAATAC GGCGGGAAAAAAGCGAAAATTCGCGGAAAACATCATTTTCAATGCATTTT TCATCGCGAAAATTGCCGAATTTCATTAAAAATGGCCAATTTTTGTGCCA GTTTTCCCAATTAATCATGTATTTTCGATTAACTCGAAGCCCCTGCGCAG AGAAAAACACAAAAATGTTGCAATTGTTTGTGTAAAGCACTTCTCTGCGC GTCTGCGGCATCCGATATGACGAGCAATATATATCTTTTTTCTGGGAGCC TTTTATTTTAAATTTATCATTTTTCATTTAGTTTTTGAGAAAAAAATTCC CCCAAAATTAACCTAAAAGCCTTGAAAATGTGAATTTTGAGTGAAATTTG ACGTTTTTCAGCGAAAAATTCTCAATTTTTAGTGCATTTTTGCCGGAAAA ATGCTAATAATCTTGAATTTTAGTGCTTAGCGGAAAAAAAATTCAAAATG AAAATGTCGAATTTGAAATAAAATGCTTTAAAATTTAAGATTTTTAGCAT TTTTCCCGAGAAAAGCTAAAAATCTTAATTTTTATAGCTTTTTTGTTGAA AAAATGCTAAAAATCTTAAATTTTAGATCATTTTATTTCAAATTCGACAT TTTCATTTTGTATTTAAGAAAAAATAACCTCAAAGTCTGAAAAATATCGA ATTTTGAGTGAAATTTGACATTTTTCAGCGAAAAATTCTCATTTTTCCGG AAAAAATGCTAAAAATCTTGAATTTTAGTGCATTTTTCCAGAAAAAATGC TAAAAATCTCAATTTTTAGTGCATTTTCCCGGAAAAATGCTAAAAATCTT AAATTTTAGAGCATTTTCCAGAAAAAATGCTTAAAATCTTGAATTTCAGA GCATTCTTAATGAAAAATGCTAAAAATCTTAAATTTTAGAGCATTTTTCT CGAAAAAATGCTTAAAATCTTGAATTTCAGAGCATTTTTTTCGGAAAAAT GCTAAAAATCTCAATTTTTAGTGCATTTTTCTGAAAAAATACTAAAAATC TTGAATTTTTAGAGCATTTTCGCTGAAAAATAATAAAAATTTTAAATTTT AGAGCATTTTTCCGAAAAAAAAAACGCTAAAAATCTTGTAATAACTGACA AATTTCGAATTTTGAGTAAAATGGCATGTTTTTTGAGGTTTTTCCTTGAA ATTTGACGTTTTTCACCTAAAAATTCGACAAAAATGAGCATTTCTGAGCT CTTATATTGCAAAAATTGACAAAAATCGTCAATTTTTCAATAAAAATTGC CCAAAAACCTTAAAATATTCTGAAAAAAGCCGAAAAAACCCCATTTTTTA GCCATTTTCTACAGAATTTTACATTTTTCTCAACTTTCTTCACCTAAAAT CGCCGATATTATTCACATAAAATTCCCTTTTTTTTCAGCGCAATGGGGTG TATTATGAGCCAGGAGGATGAAGCAGCGAAACGAAGATCCAAGAAGATTG ATCGATTGGTAAAAATTGGGGATTTTTCGTTGAAAAAACTCGATTTTTTG TGAAAAAATATAGAAAAATCATCAAAACTGCTTCAAAAACCGAAAAATTT CACTAAAAACTAGAATTTTTGCTCGAAAACCTCAAAAAATCGCAAAATTT GCAGTGAAAACTAGATTTTTATTTTTAAAAAATTCAAAAAGTTCATAAAA ATCAATAAAAAAATCGGATTTTTTTTCTTAAAAAATCTGGAAAACTGTCT AAAAATCTACTCAAAATCAGTTTTTTTTGTAGAAAATCTGAAAAATAGTC TAAAAAATTAATAAAAATCGATTTTTTGGGAGAAAATTTGAAAAATTACG AAAAAAATCAATAAAAAATCGGTTTTTTGGGAAAAACCCTGAAAAATTGT CTAAAAATCTATAAAAAATTGGATTTTTTAAATAGAAAATCTGAAAAACT GCCAAAAAATCAACAAAAAATCGATTTTTGTGTGAGAAAACCTGAAAAAT TATCAAAAAATTGGTTTTTATCTAGAAAATCTGAAAAATTACCTAAAAAG CAATAAAAAATCGGTTTTTTTTCTGGAAAAACTGTAAAATAGCCTAAAAA TCAATTTAAAAAAAGTTTTTTTTTTTGTAGAAAACCTGAAAAATTATCAA TAAAAACCACGAAAAACAGTTTTTCGCTTATAAAAAGTCCAAAAATCCCA AAATTTGCATTAAAAACTAGATTTTTATTTCAAAAAAATTCAAAAATTGC CTGAAAATCAATAAAATTGTTGTTTTTTTTTGGAAAAAAAAACCCTGAAA AATTGGCTAAAAATCCCAAATTTTTTTGCAGCTCAAAGAAGACGGCGAGA ACTCAATGCGAACCATCAAGCTTCTGCTCCTGGGAGCCGGCGAGTCTGGA AAATCGACGATTTTAAAGCAGATGCGTATCATTCACGACGTCGGATATAC GACTGAAGAGAGAAAAGTGTTCAGAGGCGTCGTTTATGGAAATATTATTT TGGTCAGTGCTCCGATGCACTGAAAAATGACAGGAAATTGGCAATTTTGA CCAAAATTCGTGGATTTTAACCAAAAAATCCGTTAATTTTAATCAAAAAT CGGCTAATTTTAGCCAAAAAATTCGCTATTTTAACCAAAAAATCCGTTGA TTTTAGTCAAAAAATTCGCTATTTTTAGCCAAAAAATCGCTATTTTTAGC CAAAAAATCCGTTAATTTTAGCCAAAAATTTCGCTATTTTTAGCCAAAAA ATCCGTTAATTTTAGGCAAAAAATCCGTTAATTTTAGTCAAAAAATCCGC TATTTTAACCAAAAAATCCGCTATTTTAACCAAAAAATCCGTTAATTTTA GCCAAAAAATTCGCTATTTTTAGCCAAAAAATCCGTTAATTTTAGCCAAA AAATTCGCTATTTTTAGCCAAAAAATCCGTTAATTTTAGCCAAAAAATTC GCTATTTTTAGCCAAAAAATCCGTTAATTTTAGCCAAAAAATTCGCTATT TTTAGCCAAAAAATTCGCTATTTTTAGCCAAAAAATCCGTTAATTTTAGC CAAAAAATTCGCTATTTTTAGCCAAAAAATTCACCAATTTTCGTTTAAGA TTCTCCAATTTTTGACAAAAAAATTCACCGAATTTGCTCAAAATTCTCCC TTTTTTGGCTAAAAAATGCATAAATTACACAATTAAACCAAAAATTACCC AATTTCGCCCAAAAACTCTAATTTTTACCAAAAATTCTCCTATTTTTTGT TGAAAATTCACCAATTTTTTTGCCAAATTTTAACAGAAAAATCTATAAAA TATCAGGCGAAAATAACCTAATTTTGGTCAAAAATTCACCGATTTTTGTT CAAAATTCTTCAATTTTACCCAATATCCACCAAATTTTAACCAAAAAAGT CTAAAAAATTATTCAAAAAATCCCTAATTTTGGCCCAAAATTCTCCATTT TTACTCAAAAATTCTCTCTTTTTAACCAAAAAATCTAGAATATTAGGTGA AAAATGCCTAATTTTGGCTAAAAATTCACCGATTTTTGACAAAAAAAACC TCCAATTTCAGCTTAAAACTCTCTGATTTTTACCAAAAAAATCTAAAATA TTAGGCGAAAAATCACTAATTTCGGCTAAAAAATCACCAATTTTTGACAA AAGAAACTCCAATTCCAACAAAAAATTCACAAAATTTACTCAAAAATTGT CTGTTTTTCACAAAAAAAAAACCTACAATATTAGGAGAAAATTCACAAAT TTTGGCCAAAAAATCCCTAATTTTGGCCGAAAAATTTGCCAATTTTGTTC AAAATTCTCCAATTTTCGACTAAAAAAACCTGCCATATTCAGCAAAAAGT TCACCAAATTTACTCAAAAATTCAAAAAAAATCTAGAATATTAGGCGAAA AATCCCTAATTTTGTCCAAAAATTCACCGATTTTTGACAAAAAAAACTCT AATTTCAGCAGAAACTTCACCAAATCATAGCCAAAAATTCACTGTTTTTT ACCAAAAAAATAGAATATTAAGAGAAAATCCCTAAATTTGTCCAAAAAAT TAAACAAATTATAGCCAAAAATGCTCTGTTTTTTACCAAAAATTCTAGAA TATTAGGTAAAAAATCCCTAATTTTTCCCAAAAAATTCACCGAATTTACT CCAAAATGCTCTGTTTTTGACAAAAAAAAACTCTAATTCCAGCACAAAAT TTACCAAATTATAGCCAAAAATGCTCTTTTTTTTCCAAAAAAAATCTAAA ATATTAGGCGAAAAATCCCTAATTTTGTCCAAAAATTCACCGATTTTTGA CAAAAAAAACTCTAATTTCAGCAGAAACTTCACCAAATCATAGCCAAAAA TTCACTGTTTTTTACCAAAAAAATAGAATATTAAGAGAAAATCCCTAAAT TTGTCCAAAAAATTAAACAAATTATAGCCAAAAATGCTCTGTTTTTTACC AAAAATTCTAGAATATTAGGTAAAAAATCCCTAATTTTTCCCAAAAAATT CACCGAATTTACTCCAAAATGCTCTGTTTTTGACAAAAAAAAACTCTAAT TCCAGCACAAAATTTACCAAATTATAGCCAAAAATGCTCTTTTTTTTCCA AAAAAAATCTAAAATATTAGGCGAAAAATCCCTAATTTTGGCCAAAAAAA TTACACCAATTTTCCCCAATTTCAGCTTAAAATGTTCAATTTCTAACCAA AAAACCCCCAAATTTTAACCCAAAAATTCCCTCGAATTTCACCCCAAAAC CGTCCAATTTTCCAGTCTCTCAACGCCATCATCCACGCTATGGAGCAGTT AAAAATCAGCTTCACCACACTCGATCACGAATCAGATGCCCGAAAGCTTC TAATGTTCAGCACAACAGGCGAAGAGGATGAGCTGCCCGAAGAGCTCGTC GTGCTCATGAAGAGTGTTTGGTCCGATTCGGGAATTCAGAAAGCGCTCGA AAGGTGGCGAAATTTCGCTGAAAATTGAGAAAATTCGAGGGATTTTCGCT GAAAATCGAGAAATTTCGGTGGAAATTAGCTTATTTCCATGAAAAAATCG TTAAAATCCCAGAAAATTGCGATTTTGGACTATTTTTGAGCATTTTTCGC GTTTTTTCCATGAAAAATTCAATGAAATCGATTTTTTAGGTCATATTCGC TGAAAATTACCGCTTTTTTCGATGAAAAATTCGTTGATATTCGTTGAAAA TTATCTATTAGAGCTAATTAAAATTTAAAATTCCAAAAAAAAAAATATTT TAAAATAATCAATCGAATTATTTTTTGCTCACACTTTCAAAAACCGCTAA AAATTCTAAAAAAAAAATTTTGGAGCCCCTTTTCCGCTAGAAAATAGCTT TTTTTCCCTCAAAATCCGGGAAAATTCAGAAATATTTAATTTTTTGGCTA TTTCTGACTCTTATTCCCACACAAAAATAGTTTTACCAAAAAAAAACAAT TTTTGTCAAAAATTCGAAAAAAAAATTTCTGGGAAATATTTTTAAATGAC TCTAAATTTTCCCCTGTACCCGAATATCGATGTGAAAAAATTCAGAAAAA TTTTCCGCGATTTTATATGATTTTTTGAAAATTGGACAAATTTCAGTTTT CCCCCCTAATTCCTATTTGAGTTACCGCCAATTTGATTTGTTCGATGGAC TTGCACATTTTTGAATTAATCTATTTTATTTTTTGTTGTTTTTTCCACCG ATTTTTAATGTTTTCGGTGTATTTTTGCTTGAATTTTAGGGGAAAAGTCA AAATAAATGCAATTTTCGATTAAAAAGCACGCTGACCGGCGTAAAAATGA AAAAGTAACGATTTTAAACGATTTCAAACCTGAATTAATTAATTTCACTG ATTTACGCCTGTACGCGTGCGTAGATCAGTGAAATTAATTAATTTAGGTT CGAAATCGTTTAAAAGCGTTACTTTTTCATTTTTACGCCTGTAAGCGTGC TTTTTAATCAGAAATTTGCAATTATTTTGACTTTTTCTCTAAAATTCAAG CAAAAATACACCGAAAACATCAAAAATCGGTGGAAAATAACAAAAAATAA AATAAATAAATTTAAAATTGTGCAAGCGCGCTCCATCGAACAAATCCAAT TGGCGGTAATTCAAATAGGAATTAGGCAAAAACTGAGATTTTTGAGGCAC CACGTTTTGAAGATCTGTTCAAAAAGAAGATCTACGTTTTCAGGATCTGG CACCGTGCCAACTGCGGTTTTCTCGATGAAAAACGTAACAACGATGCTCC GATGTTACGCGTCGCGTGTTGTTTTGCGTTCAGAAAGATATTTTTTGAAA TTTTCTTCTTGAAGAAACGCTTAACGACACGCAACGCGTAACATCGGAGC ATCGTTGTTACGTTTTTCATCGAGAAAACCGCAGTTGGCACGGTGTCAGA TCCTGAAAACGTAGATCTTCTTTTCGTAGATTTTCAGAATGTAGATCTTC TTTTGGTAAATCTTCTTTTCGTAGATCTTCTTTTCGTCGATCTTCAAAAT GTAGATCTTCTTTTGGTAGATCTTCTTTTCGTAGATCTTCTTTTCGTAGA TCTTCTTTTTCGTAGATCTTCTTTTTGAACAGATCTTCAAAACGTGGTGC CTCTGATTTTTCCAAATTTCAAAAAATCATATAAAATTTAGAAAATTTTT TTGAATTTGTTTATCAGCATATTTGGTCATTTTGGTACCATATTTTCCCC TGATTCCGAATATCAATGTGAAAAAATTCAAAAAAAAAATCCCTGATTTT ATATTTAAGCTTGAAATCGCCGAATGAGATTTTTCAAATACGCGCGCACA AATAAATTCTCCTTGGAGCGCGTTTGCCTCATTTGATTTTCTCCATATTT ATTTTTACTTTTTTTTCAGTTTTTCACAGCTATTTTCATTCATTTTTATT GTATTTTATAGGTTTTTTTTTTTGAAAAATAAATTTTTCCGTGTGAATTG AACATTTTATTTGCATAAAAATGAATGAAAATAGCTGAAAAACTGAATAA AGTAAAAATAAATATGGAGAAAATTAAATGAGGCAAACGTGCACCAAGGA TAATTTATTTGGGCGCGTATTTGAAAAATCTCATGTAGGAGGCAAATGAA ATTTAGGCGATTTCTAGCTTAAATATAATATCAGGGAAATTTTTTTTTTG ATTTTTTCACATCGATATTCGAATCAGGGGAAAATTTGGAGCCACCTGTA ACAAAATTTTATGAAAAAAAAAACTGTATAATTTCTAACAACTTTTTTTT TGTAGATCACGCGAATATCAGCTCAACGATTCGGCCGGCTACTATCTGAG CCAACTCGACAGAATTTGTGCTCCTAATTACATTCCCACACAGGTATTTT TCACTGGAAAATTCACAAATTTTTCCACTACTAAAAATTCAAATTTCCTT TGCAGGATGACATTCTCCGCACAAGAATCAAGACAACAGGAATCGTGGAG ACGCAGTTTGTCTACAAAGATCGCCTATTTTTGTAGGGGGAAAATTAATT TTAAAAAATTGAAAAAATCGTCGCCGAAATTCAGGGTTTTCGACGTTGGC GGACAGCGATCCGAACGAAAAAAGTGGATTCATTGCTTCGAAGACGTGAC GGCACTCATTTTCTGCGTTGCACTGTCAGAATATGATATGGTTCTTGTCG AAGATTGTCAGACGGTGCGATTTTCGAGTTTTTTGCTTTTTTTTCGTTTT TTTCCCAAGTTTAGGGTTTTTCGGTGAAAATCTCGGTTTTCTTGGTTAAA ATGGTTTTTTTTTTGGCAAAAAACGGCAAAAATTGAGGATTTTAGCGTAT TTTGGCGAAAAATTGAGTTAATTACATGGAAAATTTCAGAATTTGAGTTA AAATTGTAGTTTAAGGATTTTTTAGTGATTTTCTCGATTTTTGAACCGAA AAACGTTCGAATTTCATTTATTACGCGCGACCACAAAATGCTGAGAACGC GTATTGCACAACATATTTGACGCGCAAAATATCTCGTAGCGAAAACTAAA GTAATTCTATAAATGACTACTGTAGCGCTCTTGTGTCGATTTACGGAAAT CGTGTATTAATCGATAAAGTATTTTTTTTAGAAACACAAAAATGACAAAA AAAATACGAAAGAAAATTGAATTGTTTCGAAAATCGAGTCCTCCCGTAAA TCGACACAGTTGCCATTAAATTAAATAAAATTAATGTTAACTGTGTCGAT TTACGGGAGGACTCTCGATTTTCGAAACAATTCAATTTTCTTTCGTTTTT TTTTGTCATTTTTGTGTTTCTAAAAAAAATACTTTATCGATTAATACACG ATTTCCGTAAATCGACCCACAAGAGCTACAGTAGTCATTTTCAGAACTAC TGTAGTTTTCGCTACGAGATATAATTGCGCATCAAATATGTTGTGCATGA CGGATTCTCAGCATTTTGTGGTCGCGCGTAATGAAAAGCGAAAAAATCGA TATTTTCTGATTTTTGCGCCGAATTTTGTTAATTTTTCTTTTTTTTTTTT CTGCGAAAACCACATTTTCCTGACTAAATTCAGGTTCAGCCATTTTTTTT CGCAAAAATCGACGAAAATTGAGAATTTTAGCGTACTTTTAATTTTTTTA AATTTTTTTCGCTCTGAAAATTATGAAAAAATCAAAATTTTCTCGATTTT TGAACCGAAAAACGTTCAAATTTCATTTAAAAATCGAAAAAATCGGGAAA AAATTTTCCGATTTTTGCACCGATGATTTTCGCTAATTTTTCACCACATT TTTTGCGTTTCAGAATCGAATGCGAGAATCGCTAAAACTGTTCGACTCGA TTTGCAACAATAAATGGTTTGTCGAGACGTCGATTATTCTATTTCTCAAC AAAAAAGACTTATTCGAAGAGAAAATCGTTCGATCTCCACTCACACACTG CTTTCCGGAATATACGGGCGCCAATAATTACGAAGAAGCTTCTGCGTACA TTCAACAACAGTTTGAGGATATGAATAAGAGGACTACTGGAGAGAAAGTT GGTGGTTTTTTTGAATTCACTGCAACTTTTTCCTCACGAGGGACGAGGAA AAGTGGTTTCTAGGTCATGGCCGAGGGGCCGACAAGTTTCAGCGGCCATT TATCTTGCTTTGTTTTCCGCCTGTTTTCTTTCGTTTTTCATCGATTTTTT TCGTTTTTTCGTAATAAAACTGATAAATAAATATTTTTTGCAGATGCTAA AACAATTTCCAAGTAAAAAAATCATGTATTCAGTCGGCAAGCAGCGATGA AAGTGGGCATTGTAATATGATGGATTACGGGAATACAAAACCTAAACTTT TTCTGAAACATGAAACATATGATGCTTAGATGCTGAAATTACCTGATTTT CATAACGAGACCGCTGAAAAGTTTTGAGGTTTCCACAATTCAACTTTTTG TGCGAAAATCTCGACTTTTTCACCAAAAAAGTTGAATTTTGGAAACCTCA AAACTTTTCAGCGGTCTCGTTATGAAAATCAGGTAGTTTCAGCATTTAAG CAGCATATGTATCATGTTTCAGAAAAAGTTTAGGTTTTGTATTCCCGTAA TCCATCATATTGCATTGCCCTTGTTTCACCGCTGCTTGCCCACTGAATGC ATAATTTTTTTACTTGGAAATTGATTTAGCATCTGCAAAAAATATTTATT CATCAGTTTTATTAAGAAAAACGAAAAAAATCGATGAAAAACGAAAGAAA ACAGGCGGAAAACAAAGCAAGATAAATGGCCGCTGAAACTTGTCGGCCCC TCGGCCATGGCCTAGAAACCACTTTTCCTCGTCCCTCGTGAGGAAAAAGT TGCAGTGAGAAAACTCAATTTTTGAATTTTTTTTTCATGAAAATCGGAAA ATCTTCAATTTTTCCTAATCAATTCCATCTCTACAGAATCAAGAAATCTA CACCCAATTCACATGTGCCACCGACACTAACAACATTCGATTCGTTTTCG ATGCCGTCACCGACATTATCATTCGAGATAACCTCCGCACGTGCGGGCTC TACTAAATTTTTCCGCTAAATTTTAAATTCCGTTTTTTCCCCCCAAAATC CCCTCCCAGACATTTTCCGGTATTTATGTATTGACCACACACAACTCTTC TCTCCCGTCTCCGCTGTTCAATGCTACGGTTATTCTCTTTTTTTTTCTTT TTTTTTCCTGAAATTCCAAGGGTGTCGTTGAAAATCGAAAAATTCGAAAA ATTTGGGTTTTTTAGAGGAAAAGCCAAAAATTCAATTTTTTTTTCGATTT TTATTCCGGAAAATTCGAAAAATTTCGATATTTTTTAAATTTTTTACAAA AAATTCGAAAAATTTGGATTTTTTCAGGAAAAAGCCAAAAAATTACAATT TGTGTTTAAAAAAACGAAAAAAAAAACCAATTTTTCTGATTTTAATTCCG GAAAAATCAAAAAATCTCGATTATTTTCAGAAAAATTCGAAAAATTTGGG GCTTTTTCCAAAAAAGAAATCGTAAAATTTCGATTTTGTCCAGGAAAAAT CGAAAATTTAATGTTTTCTTTTTTGGCTTCTTCCGGAAAATCCAAAAATT TTGAATTTTTTGGATTTGTTTTCAGAAAAATTGGAAAAATTTGGATTTTT CAGGAAAAAGCCTAACAATTTCAAATTTTGCTTTAAAAAAACTTTAAAAA ATTGATTTTTGAGGAAAAAACGAAAAATTTCGACATTTTTTGATTTTTTT TTTACCGAAAAAAAAATTGATTTTTTCCAGGAAAAAGCCAAAAATTTTCA ATTTTTAAGGAAAAATTCGAACAATTTTGATTTATTGATTTTTTATTACG GAAAAATCGAAAAATTTGGGTTTTTTAGAGTGAAAAGCCAAAAGTTCAAT TTATTTTTCTGGAGAAATCCAATTATTTCAATTTTTGAATTTTTTCAAGA AAAATAAAAAAATGTCGATTTTTTCCAGAAAAATCGAAATTTTTCGTTTT TGAATGAAAAAAAATTTTTCCTTCAATTTTTCCTTTAAAAAAAATAAATA AAAATGTTCGAATTTCCATGAAAAAAAGTCAAAAAAATTCAAAATTTTCC ATTTTCCCTGACAAAAAAATCAAAATTTTCCGATTTTCCTAAACCAAAAT CCCAAAATTTTCTGATTTTCCAATTTTCTCTGAAAAATCGAATTTTTTGC CGCACACCCCTGGTTTCACGTGGTGGTCAGGTTGTCTCATTGCGGTTTGT GATCTACAAAAAATGAGGGAATCTTTCCTCCCCCGGGAAAATCTGACGTC AGCGCACTCGTGTAACCATGCGAAATCCTCTGCTGAAAAGTCTGCGTCTC TTCTCCCGCATTTTTTGTAGATCAACGTGTAGATCAATCCAAAATGACAC CTTGACACCACGTGCCTAAGCCCAAGCCTAAACCAATCCATTTTACCGGT ATATCTCTACAACCTTTCACTGTCTGAAATATCGCGTCATTTTATATTAT TATTATTATTGTATTCGCTTAAACGACAACAATTCCCCCATTTGATTCAA AAAGTAAACATTTCCGAACTTTTTAAAAATTTGAAAAATATTTTTAAAAA ATTTTAGCGTGAAAAACTTGTCCCCCCACCCTGCCTCTCCAAAAAAAATT AATTTCGGAAGAATTCAGTCCTTGTTTTTGTAAATTGAGAACGTAATGCG CTTTTTGGTGGTTTTTGCATATTTATCGACACTTGCGTACGCGAGGTATC GATTCAGATTCCGTGAGTTTTTTACAACAAAATATCGCTAAGCAATCGCG CTCCAGCGCGAAACTTCAAAAAAAGGCCAAAATTTTGCGTCGCTTTCTAT GATTTTAAGACGAAAAGCGAGGAAAAATCAATAAAAACAGCGAAAACTTT GAAATTTACGGGTTTGCCGCTTTTTTTGCGCTAGAGCGCGATTGCTCACT GAGTTCAAGCGCCCTTCTTATTTTGAAATGGAAGAGTTTGCCGAATTAGG CTATTTTGGTGCGGCCACGGCTGGGGTCAATTTACGGCGCGTTGCGTGCC GCGTCGCGGTTAGGTGGACCACGCCTTTCCCACGCGTAGACGATTGTCAA TAGAGCGCCGAAAATGCAAGGCCAGAAGCCCGTATGAGTGAAGTTTTTGT TCATTTTCACTTTTTTTTCGTCGTTTTTAACGGTTTTTATGTGAAAATCA ATAAAAACGGCGAAAATAATTAAAAATTTTCGATATTCCGGGTTTGGCGC TTGCTTTGCGCTAGAGCGCGATTGGTCACCGAGTTCAAACGGCGCACTCT GGCTTCCCTCTTAATTTGAAATGGAAGAGTTTGCCGAATTAGGCCATTTT GGGTCGGCGGGTAGATTTACGGCGCGTCGCGTGTCGCCTCGCGGCTCGAT TTTGATTGTAAAACTAAATGTATTTGTCCGTGTGGAGTACACGCGACTTT CCCACGCGTTGTCCAGCAGGTTATTGCCAATGGAGCGCCGAAAATGCAAG GCCAGAAGCCCGCCGTATAAGTAGCCCATATGAGTGAAGTTTTTGTACAT TTTCACTTTTTGTTTCGTCGTTTTTATGGTTTTTATGTGAAAATCCACAG TCTCCTCGTCATCGAAAGCGCACAAAAAACTGCTTACTGGCGCGTTTCGC GTTTTTGCTAGCGCATTTTGTGGATTTCTCCGAAATTCAGAAATTACGCG GAAAATAGGCTAGAATTCCAAAATTACAGCCCCGCCTCTTTTGATAATTA TCTTCAGGATGAAGAAGATGATCGCGAAGGTGGGTGACTTGAAATATACA AGAAAAATATGATTTCTTCAGAGAAACACCATTTTTACCGTTGATTTTTT AATATCCCTACTCCTCCTTCAGTTTTTGACCAAATTTTCTCTTTTAATGG TCTTTCATTTCATTTTGTGCTAATAAACAAATGTTAAGTTCGAAATCTGC GAAAAAATTCGTTTCAACGCTAAAAAACGACGAAGTTTATTTTTCAACAC TAAAAAGATTCACTCCCTCCCCCGGCTGTGCCAATGTGCAAGTGCGCCCC AGCCCAATTCGACGCCGAGGAGACTGTGAAATCATTAAAAACAGTGAAAA TAACGGAAAATTTCTGAAATTCCGGGTTTGCCGTTTTTTTTTGCGCTGGA GCGCGATTGCTCACCGATTTCAAATAGCGCACGCGCTTCTGGTTTCCCCC ATAAATTGAAATGGAAGAGTTTTCGCCGAACTAGGTCATTTTGGCGCGGC CACGACCGGGGTAGATTTACGGCGCGCTACGTGTCGCGTCGCGGATCGAT TTTAGTTGTAAAACTAAATGTAGTTGTCCGTGTGGAGTACACGACTCTCC CGTCCGGCAGGCGATTGCCAATGGAGCGCGAAAATGCGAGGCCAGAAGCC CGTGCATTTTTTTGCGGGTCCCGCCACGACATTTACCCTTTCAGACACGT GTATCAAAGAGGACCAGGCGATTTTGGAGAAGGAAAATGTGAACTCGCCA CGCCAATTTCTTTTTATCGATGACGGACAATCGCCAAAGTGGAGGGAAAA TGATCTCGAAGGAAAAGGAATTCTTATGAGCTTCGGAAATCGATTGAAGA ATCTGACAAACGGATATGAGACTGTGAGACTTTTTTTACGGGTCTCGACG CGATTTCCCACGGATTTCGGGCTTCCCTCATAAATTGAAATGGAAGAGTT TTTGCCGAACTAGGCCCCGGCCATATCTGGGGTAGATTTACGGCGCGTTG CGTGTCGCGTCGCGGCTCGATTTTAGTTGTAAAACTGAATGTATTTGTCC GTGTGGAGTACACGGGCGATTGCCAATGGAGCGCGAAAAATTCAATTTGT GTCTCGTAACGATTTTATCGATTCTTTTTCAGGGTGCCGAACAAGCTCTG CGTGTCCTTGAATTCAACAATACGGAACACTTTCTTGTGATCAATTTTTG GATGAGAAGCTACTATTTCATGAAAAACGGTGATAAATATCAGCTGTCAT ACACCGGAACCACCATCAAACCCGATTTGAATCACTTTATTCGGTTAGCA GGCTTGGAGATGCAATATCGCTCCATCGCAACCATTTTTTCAGCGTATAC TTCATCTGCGCTCCAGCGAACAGTCAGAGTGCGTTGATCGTGTTTGGGGA TCAGTCGAAACCGCGAGTTTTAAAGTCGAAAAAATCGAAGAGGGAAGCAG CGCTGATTGATGAGAATTCGGGGAAGAAGCTGAAAAAGTGCCAGAAAATT CGGACGAAAAGAGCGGCGGCGGTGAATAACTCGACGGAGTGGACACAGAC GCTGAAGGATACTCGGAGACTTAAACAACGTAGCGAGTGAGTTTGTGCCA AACGATACTCCGATGTTCCGCTTCCGCTGAGGACACCGCGTCGTTTGATC TCTGAAAATTGCGAGAGTCAGCCTCGTGTAAGTTTACCGCAAATTTGGAG GTCAAGCAGCGAGGTCCTCATATTTTGAAATGGAAGAGCTTGCCGAATTC GGAGTCGATTTACGGCGCGTTGCGTTGCGTGTCGCGTCGCGGCTCGTGAT TTTCGCATATTTATCGACACTTGCGTACGCCAGGTATCGATTCAGATTCC GTGAGTTTTTGCAACAAAAAAATCGCTGAGCAATCGCGCTCCACTGGAAA ACACCCGAAAAGTTTTGAAATTCCGGGGTTGCCGCTTGTTTTGCGCGCTA GAGCGCGATTGCTCGCCGAGTTCAAACGGCGCTCTCTGGTTTCCCTCTTG TACGAGACGAGCGTCGCGGTTCGGTCCAGCAGGCGATTGTCAATGGAGCG CGAAAAACACGTGGTGTCAAAGTCTCCAATTATGGTTTGATCTTTGATAA ATGCGGGAGACGAGAGACACCGACTTCTCAACTGATTTCGCATGGTTAAA AGTGTTCTGACGTCACATTTTTCTGGAAGAAAAACTCCCGCATTTTTTGT AAATCAAACCGGATTAGGACAGCCGGACACCACGTGGAAAAACAAGATGA GGGAAGCCACAGAAGCCCGTGCAGAGTCTCGGTTTTATCAGTTTTCGAGT AGTTTCGCACCACAAAAAGCGTGTGACGTCACATTTTTCCGGCCGCAAAA TTCCCGCGTTTTTTGAAGATCAAACCGAAATGCATTGTTTCAGAATCTAC TCTTGGGCACGTCTCTCGTTCATTCACCTCGGTTTCGGTATGGTAGTGAT CGTCAACGCCATCGTTTTTTTGTTCTTTTTCAAGTATTTCAAGAAGTTCA ACTCGACGGTGAAGAATGGAGATCAGAAGCAGGAATCGGATGAGACTGAT GAGAAGACTGAGAAGACTGAGAAGCAGGCGAAATAGAACTTTTTAGTCTA TCTGTGTTGAAATAAAGGAATTGAAAAAAAAAAAAAAAAAAATTTTTTTG CATATATGCATGTGGTGTCAGAGTGGATTATTTCGGTTTGATCTACGTTG ATCTACAAAAAATGCGGGAACTGATTTTGCATGGTTAAGAACGTGCTGAC GTCACATATTTTTTGGGCGAAAATTCCGGCATTTTTTGTAGATCAAACCG TGATGGGACGTCTGGCATCACGTGTACATGTAGAAATGAGATACAACATG TTATGTACCGTTATCCTACAGTACTATAGGTGAACCCCTCAATTTTTGAC CTCCAAAAATTGCGGGAATCTTATAGGTCAACTTGCAGGGGGTCGTGGAC ATGAATAAGCCAAATTCAAATTATTCAAGCCAAAAAGATGATAGCGCAGA CACGTGCCCCCAATTTCGGTTTGATCTACTGTGTAGATCTACAAAAAATG CGGGATTTAGGACGCTGAGTTCTCCACTGATTTTGCAACAAATTCCCGCT TTTTTGAAGATCAAACCGGACAACCTGACACCACGTGAAGGAATAAACCA CGCTCTTTTGCCAAAATCTTAAGAGTTTCTACAATTTCAGTGAAAATCCA GTATTAGATTTGATATTTGAAAAAAAAAAGTTAAATAATGGACGCGGCCT AGTCTTTCCTCTTCTACTAGCAAAACGCCCTGTTTTACAAAAAAAATCTA TAGTTTCTGAAAAAAAAATCAGTGGCAAATGTCTACAATTTTCAATATTT CATACTAAAAAAATCACAAAAAATTATTTTATGGCCGCGGTCGAGTTTTT TACTCTTCCACGTGGTTTCAGAGTGTCCAATTTCGGTTTGATCTACCGTG TAGATCTACAAAAAATTCGGGAGTCGAGAACTGATTTTGCATGATTGCTG ACGTCACATTGTTTTGGGTAAAAAATTCCCGCATTTTTTGTAGATCAAAC CGGACAGCCTGGCACCGCGTGCGCAGAGAAGAAAAAGCTAATGAGCACGC GGTGTCAGGCACGGCTTGATCTACAAAAATTGCGGGAATTTTCAACCCAA AAATATGTGACGTCAGCGCGTGCTTAACCATGCAGAATCAGTTCTCAACT CCCGCATTTTTTGTAGATCTACGTAGATCAAACCGAAATGGGACACTCTG ACACCACGTGAATGAGCCAATTGAGCAAAAATCGTACTGAAAGAGATCGT TTTATTCGCGCAGAGGTTAGTTACACGAATTGAATAGAAAAAATAATGTT TTGCAAAAAAAAAGTAATGTACATACTCATGGAAATAAATTTATTATGGG GGAGCTTGATTATTACAAGTCGACGAAGAGCAGCACTCCTTCTTCTCCTC CTTTTCCTTCTCTTTTTCCTTTGGAAGCTGCGGAGAATTCGACTCGGATT TCGACATTAGACGGGAGCTGGAGCATCTGAAAAAAAAACGCGAAAAATGG TAGATCACACGTTTTCCAACCTATTACCTTCTCAAACTAAGACTGGAGAA GAGCGGTGTACACTTGAGCATGTCCTTCAACTGTATCGACTCGTAGTTTT CGATCGATTCCTGGAACTTTTCGATCCACAGCTCCTTGTCCGCCTTGTCG GCGGCTTGTAGGGTGTAGATGCCGACGACTTGGTAGTAGCGGGTTAGGTG AATTATGACGAACGCGAATTTTAGGGACACTGGAAGAGGAACACACTTAT AGTGACACTACAGTAGTCCTAGAAGGTATTGGTAAGGTACTGGTAAGGTA CTGACTGCGCTAATTTTTGTACGTTACACATTTTCCTGGAGTTTTGCAGA CCTTCAAGAAAATTCTAGCACTTTCCAGATTTTCTCCGAAAAATTCCTGC ACTTTCCAGATTTTTCCAGAGAATTCCTGCACTTTACAGATTTTTCTAGA AAATTTTGTTTTTCTCAGAGTTTTTCCTATAACTACAGTAATCCTACAGT ACCCCGACCATATCGCCCCTACCAACATACAACCCAATATTCCATCAAAA GACAAAAACTCAAATTTTCCCGAACTACAGTAACCCTACAGTAACTCTAC CGTATACCTACCGGGCCCCTACAGTACTGCTGCAGTACCTTGACATTATC CCCTACCAACATACAACCCAATACCTCTTCGAAAGCTGGGAACTCAAATT TTCTATAACTACAGTAATCCTACAGTACTTCTACAGTACCTCTACAGTAC TACTACAGTACACCGACCATATCCCCCACTAACCCTAAACCAATATTCCT TCAAAAGACAAAAACTCAAATTTTCCCAAACTACAGTAAGCCTACAGTAC TCCTACAGTCCCCCGACCATATCCCCCTACCAACATACAGCCCAATATTC CATCAAAAAACAGAAAAAACTCAAATTTTCCAAAACTACAGTAACCCTAC AGTACTCCTACAGTACTCCTACAGTACCTCTACAGTACTCCTACAGTACC TGGACATCATCCCTCACCAACTTCCAATCTAATACCTCTTCAAAAGCTGA AAATTCAAATTTCCTATAACTACAGTAGTTCTACAGTACTCCTACACTAC CTCTACAGTACCACTACAGTACCCCTACAGTACCCCGACCATATCCCCCC ATTGACTCTAAACCAATATCCCTTCATAAGCACACTACAAAGACTACGTG GACTACAAACTATGTATGGTCAGACGGATAGTTTTTTTTAATATAAGAAA TGATGATGAACTATATATACTACTATATATACTGACACTGATTCACCAAA ATTAGCGACTCTGGCAATTCACCAAAGATAGGGTACGGTACTGGTATGGT ACTGGTACGATACTAGACCCCAGTTCTTTAATACGATTCCCTAAAATTGC TCACTCGGCGTTGCCTGGTCGTTGGAGTCCGCATCACAGAACACGCAAGA ATCCAACGGTACCGGCTGTCGTTGGACGATGTAGTGCTCGGATTTCCCGA TTGGGACTCCTTTCTGCAACTCTTTCAGTAATAAAACAAGTAATAAAACT TCGCGGGACTCCTCACCACTTTCAGCTTCGAAGCGCACTTTTTAGTTTTA GTCAGCACAAACATGTCGTTGAATAGAAACGCGTACATATCAACGGTCCG CCCGTTTTCCACAAGCTCGAGGGGGCCTTCGTGGATAAGCTTTCGACGCG GATGAGCCAGAAGGTTCTCGCAGAATTGACGGGATAAGGCGACGCGGAGG AACTGGAATTGTAAAAAATCAAGGGAAAATGTTGCAGAGAAAACAAATGT TTCAACTTACATCAGGGACATAAGACTTGGGCTCCAAGTCGCTTATATTC GGCCAGACAACCTGTGTCTGCAACTGCTGAAGCCTCTCAAAATTATGAAG CCACTGCACACTATCATCAATCGATCGGAGTGATTCCGTCATTGTGTCGA TCACCTTCTCCACCTTTCCCTTACTCTCCTCTTCCTCCGATCTTTTGTGA ATCTCGCGGAGAAGGATCGGAAGCCGAGTGATTCGTTGAAGCGGTGCGAT CAAAAGATCCTCGAGCTGTAGACGGAAGCATCGTTCATCGGCCAGACATA TCCGCTCGAATTCCGTGAATCGTTCCTCTTTCTGTCGAATTGAGCCGAGA TATTCCATGGTTGCCTTGTAGTTGATGCAGTAGGCTTGGTAGGCCGAAAT TGTGGAGGGGCCTTTGGAGAACTGGAAGTTTAGAGTTATAACAAGGCATA GTCTCAAGCTATTTTCCAGCCTATCCAAGCTGTGGTCCTGGTGCTTAACA GTCTTGATTTTTTAGAGCTGGAAAACCGGACTAATCCGGACTACGGAAGC CTGGTTTTTGTCTAAACGACAACATTGTGCAACAAGGTACGCTTTTTCAT ACTACTTTTTTTTAAACTTTTGTTTTTTTTTGTTCTTTTTCGGCCAGCTT TTAGGAACTTTTTTGACCCAACTTCGAAATGTCCCTTTTTTTTGCAATTT TAGGAATTTCTAGAAATTTCCCATTTTCTCTTTTTCCAGCCCCTTCTAAA CCTAGGCCTAGGCCTACGCATAAACCTAAGCCTACGCCTAAACCTAAGCC TAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTA AGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCTTAAGCCTGAGCCCAAG CCTAAGCCTAGGCCTAAGACTAAGCCTATGCCTAAGTCCCAGCCTTAACC CAAGCCTAGGGCTAGTTGAAAGCCTAAGCCTAACCCAAACCCTAAGCCTA AGCCTAAGCCTAAGTCCAAACTTAGGCCTAAGCATATGTCTAAGCCTAAG CCGAAAATGTCCCTTTTTTTTGCAATTTTAGGAATTTCTAGAAATTTCCC ATTTTCTCTTTTTCCAGCCCCTTCTAAACCTAGGCCTAGGCCTACGCATA AACCTAAGCCTACGCCTAAACCTAAGCCTAAGCCTAAGCCTAAGCCTAAG CCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCT TAAGCCTGAGCCCAAGCCTAAGCCTAGGCCTAAGACTAAGCCTATGCCTA AGTCCCAGCCTTAACCCAAGCCTAGGGCTAGTTGAAAGCCTAAGCCTAAC CCAAACCCTAAGCCTAAGCCTAAGCCTAAGTCTAAACTTAGGCCTAAGCA TATGTCTAAGCCTAAGTCTAAACCGTAGCCTAAGCCGAATCCCAAGCCTA AGCCTAAGCCTAAGCCGACGGAGCACGAGGAGAAAGTCCAAAACTTCACA AAAAAACAAACATTTCTCTCAATCTCGGTCAGTTTTCAAAAATATTTCGA GTAATTTTTCAGCACAAATAACAAAAACCCACCCTTTCAAACAAGTCCAC AACTAGCTGTGTGCAGTCCCAATTCTCCTTGTCTACCGTACTGAGCAACG AGAGGAACGATTGACAGAAGGTTCGAGATATTCTGACAAAATAAAAATGT GTGTGTGTGTGTGAAATGGCACGTCAGATTAAAGGCAAATAGAAAAAAAA AACCAATTAAAAACTGAACGAACCTGCAGAGTTGATCCAAATTTCCGAAA AGGAGGTCCGGCTCGACAAGCAGTAGACATCCCTCGACTTGACATCTCTT CAGCGGCTCCTTGTAAACATCGCGGAGCACGAAGAGCTGACGATAGAGGA AGACGAGCTCCGTGTGGAACAGCTCCCATACCGCTTGAAGGTATTTGTGT TTGGATGAGGGAATTGTCGTGGTCTCGTCTCCCATGAACATTTCCTCAAA GGATACTGGCTGAAAGTTGGATTTTTTTTTGGTATTGGAGCTCGTCTCTG GGCTCGTTTTGCAGTTTGTACCCTTAAAAAGACATTAAAAAGACATCAGC AACAAACTCCAAAATCCCAAGTAGTAAACAGATTTTTTCTAAAACGGCAA AATTGAGTGAGGAATTTTTATTCGATGCACCATGTTTCTCACTCAAATTT GACTACTCATAACTTAGTTAAACCTAATCCAATACTTCCTTAAAAGCTAA AAATTCACATATTCCCAAACTACAGTAAACTACAGTACCCTACCGTACCC CTACAGTACCCCGACAGTACCCCTACAGTACTTTGACAATATCCCCCATC AACTCCCTACAAAATCATCAAAAACAAAAAATTCACAATTTTCAAATCTA CAGTAACCCTAGAGTGATCCTACAGTATTCCTACAGTACCACTACATTAC CTTGACATATCCCCCACCAATTTCCAACCAAATACCTCTTCAAAAACTAA AATTCACATTTTCCAAAACTACAGTAACCCTACCGTATACCTGCAGTACC ACTACAGTACCATTAAAGTACCTTGACATTATCCCCCACCAACTTCCAAT TAAATACCCCTTCAAAAGCTAAAAATTCAAATTTTCCCGAACTACAGTAA CCCTACCGTATATCTACAGTACCCCTACAGTGCCACTACAGTACCTTGAC ATTATCCCCCACCAACTTCCAACCCAATACTCAATCAAAAGCTAAAAATT AACATTTTCCCAAACTACAGTAACCCTACCGTATTCCTACAGTACCCCTA TAGTTTCACCTACCAACAACTTTTCCAGCTCATCATCCTCAATCTCATGA TCCTTAGAAGTCTCCAACGCGGCCTGCACATGCTTAATAATCTCCCTCCG TTTTGCTCTGCCCGACCACTCGTAAAGTCTCTTCAGAATCCAGGGCGATC GATTTTTCTGCGGCTCGGAAGCTTCTGCATAGAAGGCTTGAGAGGCTATT GTGGCACGTTGAAGATCTGAAAATGAAGAATCGGTGGGGATCAGTGGTGA CAGCGAGGGAGAAGATCTATTTGGTGGGGTGGCACATATAGAAGTGGGTA GTAGCGGTTTTTTGTGTGATCTTTGTGTAAATAGACATGATATTAGGGCT TCCGTGGTAGGCAGGTGCGGTTTTAGGGCCTGGCGCTTGCCTGACGCCTG CCCGTCTCACGCCTGCCTGGCGCCTTTTATTCTGCATTTTGAAGTGAGTT TTCAAATTTCAAATTTTCTCATTTTTATCATTTTGTTGAAAATCAAATTA AGAAATGAAAAAAAGTTTAAGTAGGTTTCAGCATCAGGCGTGTATTTAGG CGAGAGGCAGGCGGGGGTCGCCTCAAAGTCAGGCAGGCAGGCCTTCTTAT GCCTACACGGAAGGTGTTCAAAAATCGGTTGCGTGTGTCCAGTAATGACA AGAATCATACAAAGCATTCGACTTTTACACAAAACTAGTCTGTATTCCAC CTGTACAAAAACCTACCGATCGATGTGATTTTATTTGAATCTGAAAAAAA AATTTCTCAGAAAATTTGAATTCCCGCCAAAATGTTTCTTTGAAAGTTTG AATTCCCGCCAAAAACATTCTCAGAAAATTCAAGTTCCCGCCAAAAATGT TTCTTTGAAAATTTGAATTCCCGCCAAAATTTTTCTTTGAAAATTTGAAC TCTCGCCAAAATGTTTTTTTTTTGAAAATTTGAATTCCGATAAAAAACTT TTTACAGAGAATTTGAATTTCCCCCTACAATTTTCACAGATCTACTTATA TATATATATATATATATATATATAAGTTGAACTTTAGTTTTCAAAAAAAA ACCGGTCATTTATTAAAGCACGTGGTGTCAAAAAATATTTTTTCGGCTTG ATCTACGCCGATCTACAAAAAATGCGGGAGAAAAGACGCAGAGTTCTCAG TTGATTTCTCATGGTTAAGAAAATTCCCGCATTTTTTTGTAGATCAAACC GTAATGGGACAGCCTGGCACCACGTGCTAAAGTTATAGTTAATTTACAAG TCCTGGTTGGACCTGCAGGATGTCAGGCGCTGAAACGTGTTTCAGGATAA AGTTGGTAAACTTTTATAACCAAGAGGAAAGTGTTATCGATATTTTGCTA GTTGAACATTTTTTTTTGCTAAAAAGTAAGAGTATTTGAGCCAGGCGTGC GCGGCGATCGGTAATTTCCGAAAATCGGCAATTTCGGCAATTGCCGGTTT TGTGAATTTTTGGCAATCGGCAATTTTGGCAATTGCCGAAATTGCCAAAA ATTCGATTCCGCACACTCCTGCTTTGAACTGTGCATTTCCAAAATCCAAT AGAAATTCTGCCGACACTGTAAAATCCCTACCTGCCAACAATCCTCCGCC GGAGCTGATTGCCCTATTGAACAGGTGACTCTCGTTAGGGGATATTTGAA CATGTGGGACAATGATCACATTGTCCGACGAGCAGCACCCTTGGGATGAG GTCTCCTGATTCTCACTTGGCTGATCAGGAATGATTGCATGGCGACGGGA AAGTTGCTCCTTGTTAGGGTGAATTGTTTGGGGCTCTCCTTCTTCTGGCT GGAAAAATACAATTTTTTGAAGTTTTTGAAAGAAAGCTTGTCATTTTTTT GTTGCTATTTTTTACCCTAAAAATGTGGTTTCAAAATTTTTTTACCTCTG AATATCTAATCAACGGGGTGAACAACTGCAGATCGACCATACTCGAGCTT CTAAAAGTTTGAAGGAAGCTTCTCGTGAAGCACGAAAAAAAAAGAAACAC GAAATAGTTACCCTTACAATTATCAGAATAGGATGGGATGTACAGAGAAG TAAATAGGAAGAGAAATGAGAAGAGTTGCACTAGAGAAGTATGTACAATT AATAATTTATGAGCATCTGAGAAAATGAGAGCGACTTGAAAATCTGAAGA GCAAGGAAGATAAAACTCGGTCTCTTATCAGAAAATTTGAATTCCCGCCA AAATGTTTATTGTTTAATTTGAACTCCCGCCAAAACTTTTCACAACGAAT TTGAATTTTTCGCCAAAATTTTTCTCAGAGATTTTGAATTTTCCCGCCAA AAGTTTTACCAGAAAATTAAAATTCCCGCCAAAACTTTTCACATCGAATT TGAATAACCCGGCAATTTTTTTATCAGAAAGTTTGAAATCCCGCCAAAAT TTTTCACATGAAATTTGAATCTTTCGCCAAAGATTAAAATCGTTGGATAA TTTTAATTCGCGGCTGAACGTTTCCAATTCGAATTAAGACCGGCCAAAGT TTTTCGGGGTTTTTTTTAAAACTTACTACAAAAAAGCATACATTTATTTT CCTAACTAGACGCCTTACTAGGTAAAACCCGCTTTTCACATCAAAAACTT CAACAATGCGTCACCGCCAAAAGAGATTCTTGCACTTCACCACGAATAAT AGATCAGAAGGAAAAGCGTGTAGTGAGTTGAGAATTATAACTAATTCATA TCCCCCGAAAAAAAAAACGCTGATGTCTATATTCTATACATGGTGAGAGC TCACCGAAGAATAGACGGGTAATGAGATATATATGTGATACATAAATGTG TGCGCCCGGGTATCCGAGAGCCGAAAACAGAAGCATGGAATGGAGCAACT AGGGAAAATTGTGTTATCACGAGGCACGGCGGGAGACACAATAATATGAT TTTTTTTCGAAAATTTTCCATTTTCACGTGGTTGTCCCATTACGATTTGA TCTACCAAAAACGCGGGAATTTTTCGCCTAAAAAAATGTAACGTCAGCAC GTTGTTTACCATGAGAAATCAGTTGAGAAATTAGCGTCTCTTCTCCCGCA TTTTTTGTAGATCTAACTTGATCAAGCCGAAATGAGACGCTCTGACACCA CGTGACGAAAAAAAGTAGATCAAAATTTGGCAAGCCCTTATAAAAGTCCC TTTTTCAGTTCTAGGCGGAGCTCAGTTTGACTGATGACGTAAACGCAAAT CTTGAAATTTCGAATTCTCTATGGAAATTAGAACTTCCCGCCGCCGCCAG ACTTTGTAAAGTTCAACAAAAAGATGAAATATAGAAAAAGTTCAGACTAT GATAAGGAACTTATGACTAACGTCTCTTGAGGTGAATGAGTATGATGTGA TTAGTGATGCAAGACGACTAGACCGAGAGAGAGAGAGAGAGAGGCTCAGA GAGGGGGGAGGGAAGGTAGGTTTGTAGGTAGGCAAGCAGGTAGGCAAATA GGGGGTCGTAAGTAGAAATTATGAAGGAACCTAGGTCGGCAGCCATAAGG TAGGCATAAAGTAGGTCAGCATCCAAGTAAGTTAGACAGGTACGCATAAG ATAGGAAGGTAAGTAGGCGCGGTGGCAAGGAGACTCAAGGCAAAGTAGGA CAGGAAGTAGGCAGTAGGTAGGCACGATGAAGGTAGGTGGGTAAGCTTGT AAGAAGGCAGCCATAAAGTATGAACGTCGACAGTAGGCATGCATTTAGTA GGTAGGTATGAAATAAGAATTAAGGTATGCATAAGGAAGTAAAGTATGAA TGATGAAGCCATGTAGATACAGAAATATCAGGCAAGTAGACAGGCAGGCA TAATATAGGAAAGTTAGCAGTAGGTAAGCATGTAGTAGGTACGTGGGTAG GCATGTAGGTAGGCACGTGGTAGGCTTATGGTAAGCAGAACACAAGCACA GAAATATGCATATTGGCAAGTATGTAGGCATGCATAAGATACAAAAGTCG ACCAGGCATGTAAGTAGGCACATAGGTAGGCAGGCTTGAGGCAGCAATGT AGGTGATCTCGTAAGTAGGTATGAGTAAGGAACCTAGGTAAGTCACAGGT ATTTGGCACAACCTGTGTTCTTCTCAATGGTAATCAGGCGAACGTGCCTG CCTGCCTACCTAGAAATTCGGTAAAAATTGTGGAAAAAAAACTAGGGGAA CCTCTTCCCAATGGAATGCGTAATGTGAGTGGGAGGCGGCAAAAAAAGAG CGGACGTAAACACTTTTTCCTAATTCTCTTTTTCTCTCGCTCGTGGAAAA TGAATGAATATTTGATACAATTTTGTGGGTACAGCCAGCAGGAGAAGAAG AAGCTGATGTCCCGACGCGCGCGCGCGAAAAAAACTTTCAATTCCCTCCC CTAATTATCCGCCTAACGCCTAATGTGTGTCAAATTTACCATGTATTTTT TTCTCCTCTCGGCTATGTTTTTTTTTCTTTTTCAGCAAAAAAAAGTACGG GCACATGAGGTCGGGATGGATAATTAGGGATGTGTGCCAATTTGTTGGAT AATAGACAAAAAAAGTACGTGAGATTTTTAGAAAATGCTGAGAAAAATAT CACGAGGCGTTGGGGACGTGGCCGCGAATGAGAAAACTAGGCCACCTTCA CAGGGCCCTGGCCTTCCTCATTGAACTTTTCGCGCTCTACTGACAAACGC CCGTGTACTCCACACGGACAAATGCATTTAGTTTTGCAGCTAGAATCGAT CAGCGACGCGACACGCAACGCGCCGTAAATCTACCCCAGATATGGCCGAG CCAAAATGGCCTTGTTCGGCAAACTCTTCCATTTCAAATTTTTTATTCAG TTTAATTTTCTAGGATACGCCTACGAGTGATCTAGGCCAGGCAGTAGGTA GGCAGCCAGTGTAGGTAGCCCCCTTTTGGTGTCAGGCTGTCCCATCGCGG TTTGATCTATCAAAAATATGGGAACTTTTCTCCCAGTAAAATGTGACGTC AGCACGTTCTTAATCAGGCGAAATCAGTTGAAAAGTCTGCGTCTCCTCTC CCGCATTTTTTGTAGATCAACGTAGATAAATACGAAATCAGACACTCACG TGGTGCCAGGCTGTCCCATCGCGGTTTGATCTACAAAAAATGCGGGAACT TGTGCCCAAAATTATGAGACGTCAGCACGTTCTTAATCAGGCGAAATCAG TTGAAAAGTCTGCGTCTCTTCTCCCGCATTTTTTGTAGATCAAAGTAGAT CAATCCACATTAAGACCTTCTGACACCATGCCCGAGAAGAGTTCAAAATA AATTTCGTAGAACATAAATTTTTCCACGTGGATTTTACAGCACAATTGCT TATAGAGCGCGGTTGCACCCCAAATTTTACAGGAAAAATAGGAAAATTTT ACCAGATTTCCCGCGCAAGACACGAAACAAGGTCTTAAAAAGTGGGAGAG CATGAAAAATCCTAAGAAAGTAAGAAACTTCTGGTTTACCACATAACTCA AATTGGAGATAGTTCGACCTTAAAAATTTTGCACCAAAAAGGGCGGAGCC AAAAACACCAAAACTTACGTGCAAATTTGTACATGAAAAAACTAAAAAGG ACACCTAAAACCGGCGAAATATGAAGAAAAACGCTGAAAATGAGCAATGT GTATCAATTTTTCCCCCGTTGCTTAATTTAATACATGTCTTCCTCTCCCC CTTCCTTCCTGCTTCACACTCTTTCGGGCGGCGCCTCCTTTTGATTTGAG ACTTGAGACTTTTTTTTTTGTGATGTGCGTTGAGTAGTGTGGGATGCATA TATTATGAATCAAAAATCTGACATCAAAAATATCGCTGAAAAAATAGTTA AAATTTGCTTTAAAACTGCCGTTTTTGATCTACAGGGTGCTTTGGCGCGT TGCGGTCGCGTCGCGGCTTGGAGTTCTAGGCCACGGCCATTCAATTTGAC ACTACTACAATCAGAAATATTTTGTAATTCTTAGGCCATCAAAAAATTTT TAAGCCAGAAAACAAATCCGGAAATTTCTAGGCCATCAAGAATTTCTAGG CCACATCAGACTACTTTGAAAATTTCTAGGCCACAATGGGAACTAATTTC TGAACCTAATTTCTGAAATTTCTTGGCCACGATCTGAAATTTCGAAGCCA TAATTTGAAATTTCTAGGCCACGATCTGAAATTTCTAGACCATCAACAAT TTCTAGGCCACGATTTGAAATTTCTAGGCCACGATTTGAAATTTGTAGGT CAAGGTTTGAAATTTCTAAGCCACGATTTGAAATTTCTAGGCCACGATCT GAAATTTTTAGGCCACGATTTGAAATTTCTAGGCCACGATTTGAAATTTT TAGGCCACGATCTGAAGTTTTTAGGTCATCAAAAATTTCTAGGCCACGAT TTGAAATTTCTAGGCCACGATCTGAAATTTCTAGGCCACGATTTGAAATT TCTAGGCCACGATTTGAAATTTTTAGGCCACGATCTGAAATTTCTAGGCC ATCAAAAATTTATAGGCCACGATTTGAAATTTCTAGGCCACGATTTGAAA TTTCTGGGCCACGATCTGAAATTTCTAGGTCATCAAAAATTTCTAGGCCA CGATTTGAAATTTCTAGGCCACGATTTGAAATTTCTAGGCCGCGATCTGA AATTTCTAAGCCATCAAAAATTTCTAGGCCACGATTTGAAATTTCTAGGC CGCGATCTGAAATTTCTAAGCCATCAAAAATTTCTAGGCCACGTTTTAAA ATTTTTAAAATGTTTAAAATTATAGGTTTTCAAAAAAATTCTAGGCCATC AAAAATTTCTAGGCCACGATTTGAAATTTCTAGGCCACGATCTGAAATTT CTAGGCCACGATTTGAAATTTCTAGGCCACGATTTGAAATTTTTAGACCA CGATCTGAAATTTCTAGGCCATCAAAAATTTATAGGCCACGATTTGAAAT TTCTAGGCCACGATTTGAAATTTCTGGGCCACGATCTGAAATTTCTAGGT CATCAAAAATTTCTAGGCCACGATTTGAAATTTCTAGGCCACGATTTGAA ATTTCTAGGCCGCGATCTGAAATTTCTAAGCCATCAAAAATTTCTAGGCC ACGTTTTAAAATTTTTAAAATGTTTAAAATTATAGGTTTTCAAAAAAATT CTAGGCCATCAAAAATTTCTAGGCCACGATTTGAAATTTCTAGGCCACGA TCTGAACTTTCTAGGCCACGATTTGAAATTTCTAGGCCACGATTTGAAAT TTTTAGGCCACGATCTGAAATTTCTAGGCCATCAAAAATTTATAGGCCAC GATTTGAAATTTCTAGGCCACGATTTGAAATTTTTAGGCCACGATCTGAA ATTTCTAGGTCATCAAAAATTTATAGGCCACGATTTGAAATTTCTAGGCC ACGATTTGAAATTTCTAGGCCACGATTTGAAATTTCTGGGCCACGATCTG AAATTTCTAGGTCATCAAAAATTTCTAGGCCACGATTTGAAATTTCTAGG CCGCGATTTGAAATTTCTAGGCCGCGATCTGAAATTTCTAAGCCATCAAA AATTTCTAGGCCACGTTTTAAAATTTTTAAAATGTTCAAAATTATAGGTT TTCAAAAAAATTCTAGGCCATCAAAAATTTCTAGGCCACGATTTGAAATT TCTAGGCCACGATTTGAAATTTTTAGGCCACGATCTGAAATTTCTAGGCC ATCAAAAATTTATAGGCCACGATTTGAAATTTCTAGGCCACGATTTGAAA TTTCTGGGCCACGATCTGAAATTTATAGGTCATCAAAAATTTCTAGGCCA CGATTTGAAATTTCTAGGCCACGATTTGAAATTTCTAGGCCGCGATCTGA AATTTCTAAGCCATCAAAAATTTCTAGGCCACGATTTGAAATTTCTAGGC CACGATTTGAAATTTCTAGGTCACGATTTGAAATTTCTAGGCCACGATTT GAAATTTATAGGCCGTGATCTGAAAGTTCTAGGTCATCAAAAATTTCTAG GCCACGATTTAAAATTTCTAGTCCATCAATAATTTCTAGGCCACCAGAAA ATTTGTGTTCACTTTTTTTTTTGGTTTTTGGTATGTATTTTTCAGAAATT ATTCAAAATTTGTGGGAGCAACAATATGCTTTTTTAGTTTCTAGGCCACA AAATTCTTTGGCCATTTTCACATTTTTTCCCGCCGCCAATGGTTCCACTG GATAATTGAATGTATAGAAAAAAGGGAAGAGTTCAGCTGGCGCAAAAGAG GGTAATTCGTTGGAAGGGAAAAAAATAAATGCAAATCTTCGCCAAAAACC AATTTTCGGTCGGAGCTCGGCGCGGGCCGACACACACAAAAATGGAGCAG AAGAAGACGTCAGAATCTTCTTTTTCAGAAGGCTTTCTCACTTTGAAAAT GGGGTGTCCAATTTCTTGTTGCTAATTGTTGGATGGGGAAAGAATGATAT TTTGTTTCAGGTTTCACACAACATCAGCCTAGACATTTTTTTTTTGTTTT CTCCAAGAGGAGTACACACACTATAAATTGTTGTAAAAATCGAAAAACAC GTGGAGCCAGAATTTCTTATTTCGATTTGATCTACAAAAAATGCGGGAGT TAAAACGCAGACATCTCACCTGATTTCGCAAGAGCGTGCTGACGTCACAA TTTTTTTGGAAAAATATTTCCGCATTTTTTGTAGATCAAACTGCAATAAG ACAGCCTGGCACCACGTGAAAAATAGTATTCCTCTTGAAAAAGATTTCCC GAATCAAGTTCCTTGAAAGGAGTACGCAAAATTTTGCAAAAAAAATCGGT GGCCGAGTTTACTCTTCTGGCGGCCACGTAACAAAATTAACAAGGAAGGA TAAAAAGGAAAAAAAAATTTTACTCGTAAAAAGGTACCAGGAAGCAATTT GAGGAAGGAAGGAAATGTGAGTGTCTACTCTAATGATCTACCAGTTTTGG TGGCCGCGGAACAGAGAAAGCTCGGCCCCCAAGTATTTTTTCAAATATCA CGGATTTCTGGTTTCCCTTATAAGTTGAAATGGAAGAGTTTTTAAAGAAC GAACTAGGCCATTTTAGCTCGGCTGGGGCAGATTCACGGCGCGTTGCGTG TCGCGTCGCGGCTCGATTTTAGTTGTAAAACTAAATATATTTGTCCGTGT GGAGTACACGACTTTCCCACGAGTTTTCCGACAGGCGATTGTCAATGGAG CGCGAAAAATTCAATGAGGAAGGCCAGAAACCCGTGAGATATTTAAAAAA TATTCCAAAACTATTTTTATATTCAAAATTGGAAATTATACATACTATAA GTATTTTCAACTACATACATGGCCGCGAAAAAAAAAAACTCGGCCACCAA TTTTCGCGGTCACTTACCGCAGATCTCCATCGATCCTGAAGTCTTGCCGT ATACAATAAGGGCATTTTTCGGATCATAGTGAATGAATTATTTCAGGAAT ATTATTTCAAAGAACACACACCACACAAGAAATGTGAAGGGAAGGAAACG GGGAAAAAGAGACAGGTGGAAAAATACATTTTCTCTATTATTTCGCTCTG TTTCTGACTAGGAAATGAATCAGAATCAGTGATTAAGAAACTGGGAATTT ACGAGGTGTTTAGGGAGATGGTGACCGCGAGGATGAGGAAAAACTCGGCC ACCGCAAGACTTACCGGCTTAATCAATTGATTTCCTCGTATGTGATGGAA CAATGTGAGAGCCGGAGCTTCACTCGTCATAGCTTTGTGTCTAGGTGGCT CTCAAGTACTGCTGGACCTGAAAAACTGCAAATTTAATTTGAAATTTGGG ATGCAAAAAAGTAGCAGCCGACACCTGCCGGGTTCCCGCAAGATGTCGGA TGCTTCAATTGACCTAGTAGAATCGTTAGTGATCTACCGAGCAAAAACAA GTATGCTTGCAAGAAAAAAAGGCGTGTGGCTCAAGTTGACAAATTCGACA CTTTGGACACACGAAATTGGATGAGCCACACCACACCGGCTAGCTCAGAA GAGCCCCTCCGACGTCAAGGACCCCATGTGCGCGCGCGAGCCGAGATTCT GGCAACATGAGAAGCGGAGAAGGCGAAGAGAAGAGTGCTAATTTGAACTT GTTGCTGCAGGAAAAATATCTAGGCTTAGGCTTAAGCTTGGGCTTAGGCT TAGACTTATGCTCAGGCTTAGGCTTAGGATCAGGCTTAGGCTCAGGCTTA GGCTCAGGCTTAGGCTCAGGCTTAGGCTCAGGCTTAGGCTCAGGCTTAGA ATTGGGCTTCGGCTTCGGCTTTGGCTTGGCTTAAGCTTAGGCTTAGGCTC AGGCTTAGAATTGGGCTTAGGCTCAGGCTTAGAATTGGGCTTAGGCTCAG GCTTAGAATTGGGCTTAGGCTTTGGCGTAGGCTCAGGCTTAAGCTCAGCC TTAGGCTTTGGCGTAGGCTTAGGCGTAGGCTTAGATTTAGGTTTAGGCTT AGGCCTTGGCCTAGGCACAGGCCAAGGTTTCAGGTCACTATCACTTGCTC CTAGGTGTGGCTGGGGAAATGAAATTCTAGGCCAGTGACGTCAAGATTCT GGAAGAGTTCCGTTGACGCCACCAAAAGCAACAAAAACTTCAAATCTGAG AAGATCAGAACAAAATGTACTGAAAGTACAAAAAGCCCGCACTTTTTTCT CTATTAATACTACTCATTTGAAGAGTGGGGAAAAGAAAAATGTGTTGCAA GAAATAATTCCGTGCGAAAAAAGTTTGAGAGGAATGAATGGAGCGGAACT TTTTTTTTTGTTGGAAAATCGTAGGTGTGACGTCACTTCTCTTCCAACCC CCAGGTTTCTAGGCCACTTAAGAATTTTGCAAAAAAATCACAGAGCAAAA CTACAAAAAGGAAAGAAGAAATGTGCTCTTGGAAAATAATAAATATTGGT TACGAAATAAAAGAGAAAAGAGAACGAAAAAAATAAAAAAGAAAATGGTA ACCAAGGAGGAATGTGGAGAAGAGGCTCTTGTGAGCCCAGATATACCCAG CAATTAGGGAGCGAGTACTACTGCCGGGAGATGACGTTTCGAGGATATTT CTCACTGGAATGGAGGGTGGTGGAAGAGTTTTGTAAAGTTCTAGGCCACG GGTTTTTTTGGCCAATGAGCATGGTGCATCGATGAAAAGCTATTGGGTTT CTCGGCCACAATAAATTACAAAAACCTAGTACGATGGAGCACACTTGCAA TAGAATTGCAAAAATTTATTTGAAAATTGAGAAGAAAGAAAATCAGGGGG GCATAAATGCTCAACAGTGCAATCAAATTGTAGAAGAGCTTTCGCCCAAA AAGCTAGGCCACGGAGGAGACCGCTGGAGAAAGTGACGTGTATATGGTGG AAGAGTTTTCTTGTTTTTCTAGGCAATCTTGGGCGATTGCAAAAATTGAA TTTATGAAAAGATGGCTTGGAAGAGCTTTCGCATAGAAAATCTAGGCCAC GGCTAGCAATTTAATAGGGGATAGAAAACCGCGTCGGAAGATTATTTAAC TTTTCCATAAAAATTAGCAAATTTAAGAGAGTTCAGATACTGATCTGGAA GAGTTTTTGAGCAAAAAACCTTGGTCACGGCCAGCAACTAAAGTAGTAGG GGAGATAGGGTACCCCGCTAATTTTTTATTTATTTTTCAAAGAAAGTTTT AAGGTTTCGGGAAAAATTTTGATGAAATGGCTTGGAAGAGCTTTTGCCGA AAAAACTTAGGCCACGGCCAGCAATCTAATGAGAGGGGGAGGGTTCCCCG CTAAATTTTTTTTTTGATTTTTAAACAAAGTTTCATGGGTTCGGGGGAAA ATTTGATTAATTGACTTGGAAGAGTTTTTAAGCAAAAAAAAACCTAGGCC ACGGCCAGCACCCTAATGAGAGGGGGGAACATAAGGTACCCCGCTATTTT TTTTTGATTTTTCAAAGAAAGTTTTAAGGTTTTGGAGGAAATTTGATTAC ATGACTTGGAAGAGCTTTTGCAGAAAAAAACTTAGGCCACGGCCAGCAAC CTAAAGTAGTATGGGAGATAGGGTACCCCGCGGAAAATTTTTAAATTTTG GTAAACAACAATGGAAGAATTTTCCGGTTTTCTAAGCCATTGCATTTTTT CAGCGTCACGGATTTCTGGCTTCCCTCATAAATTGAAATGGAAGAATTTG CCGAACTAGGCCATATCTGGGGTAGATTTACGGTGCGTTGCGTGTCGCGT CGCGGCTCGATTTTAGTTGCAAAACTAAATGTATTTGTCCGTGTGGAGTA CACGACTTTCCCAGGAAGGTGATTGTCAATGAAGCGCAAAAAATTCTCAA AAAAAATCCAGATTCCCGTGCAGCGTCGCAGGAGATCATTTTCAAGAAAT CTGGCTCAAGAAGGATTCAGTAAAACAAGAAAAGAAATAAAAAAGGAATG AAAGGTAAGGGTGGACAAGTCGGCGGGACAACTTGTCACTTGCCATCATC ATCATTTTTCTTCTCCTCCTCATCAGCTTCTGCTGCTCCGCGAGCTCGCG ATGACTCTTCTGAAATTCTAAACTTGGCCAACACAACGTCGGCAACGAGT TTCGAATTTACACACACACACACATACGAAAAAAGCTCATTAATTGGAGC AGGAGACGGAAGAGAGGGAGGAGAGGCTGCTCAATGAGTTAGAGAAGAGA GAGAGAGAGAGAGACTGAAAGATGAAGTATAAGCAGAAGTCGTCGGGATG ACAGAAGAAGGAGGAGAAGAAAACGTGAGAAGGGGGGATGTGGAGACAGA AGGATATGTAAATATATTAGATTCAAGGATTACAGCAATTTTAAGGAGGC AAAAAAAAACAACGATGCTCCGATATTTTTGGGGTTACTGTAGTTTTTGT AGATACTTCCAGAAGTTATAAACAAATCCGAGTTTTTTAAAATTTGCCAG AAGCACGGGTTCATTGAATTTTTCACGCTCCATTGACAATCGCCTGCCGG ACAACGCGTGGGAAAGTCGTGTACTCCGCACGGACAAATACATTTAGTTT TACAACTAAAATCGAGCCGCGACGCGACACGCAACGCGTCGTAAATCTAC ATATATGGCCGAGCCAAAATGGCCTAGTTCGGCAAAAACTCTTCCATTTC AATTTATGATGGAAGCCAGAAATCCGTGCAGAAGTTTCTCGGAAAAAAAA CAGAAAGTTTGCGAAATGGCAACCTCTAATTCATTAACATAAATACATCA AATATGACGCGCAAAAATGAATTAATTTACTAGTGAAACATGGTGCATTG AAGTCGGTGTTTGCACAATTTGTACAGATCTGAGGTTCACTAACACCAAT GCACGGCCCGAGAAGTGGTACCTGTACGCAATTTGTCTACCGTATACCTG GACGTTTGGGCGCGTGTATCTCAAAAACGGTTGGTCCAGTTTTTTTGTGA TGCATATAAAAAATGTCCGAAATTAAATTCTAAATTTTTTGGACCAAAGC TTTTTTCGTTATCACGCGCCCAAACCTGGTCTACACTCAAATTATCAGTA GAGCGCATTTGCATGGATGTACCACTTGCCGGGCCGTGTTCAAAGGGGTG CAACGATTGCGCGTCAAATCGAATGCAACTACAGTAATCCCTAGTAGTTG CGCTTCAAATTTGATGCATTGCACGGCCCGGCAAGTGGTACATCCATGCA AATGCGCTCTACTGATAATTTGAGTGTAGACCAGGTTTGGGCGCGTGATA ACGAAAAAAGCTTTGGTCCAAAAAATTTAGAATTTAATTTCGGACATTTT TTATATGCATCACAAAAAAACTGGACCAACCGTTTTTGAGATACACGCGC CCAAACGTCCAGGTATACGGTAGACAAATTGCGTACAGGTACCACTTCTC GGGCCGTGTTGAATGTTTGAGAAATGTTAAAATTTTGAGTTATATGTGCT GGAAAATTGACATGAACATGGTTTTTTTCATTATTTGCGCGTGAATTATG GTGCATTGAAGTCGGTGTTTGCACAATTTTTTTCAGATCTGAGGTCAACT GACACCAAAGCAACAGAGTTGACGCGCAAATTTTAAAATGCGCTTAACAT TTGGCACGCTTTGCAGTCGGTGTTTGCACATTTTCGATTGTTGTGTGAGG TTCACCGACACACCAGATTTGACGCGCAAAATTGTACGAAAACAGTTAGT TAGAAAACTAATAAAAACTATTAATAAAAGTATAGTGCATCCTGAAAAAT TATTTCTGCAAATGTATCTATAGAATTTAAAACAAAATATACAAAAAAAA ATTATGAAAACCACGACGAAAAACCCGGAAATGTTTTTTGGGTAGCTTGT CGATTCCGGAGGGTATTGAATTTCGCGCTCGAATAATATTGTTTCCTATT CATTTTCCCCAGAATACCTACAGAATTTGGGGGAAAAATATGAACTGGTA CCTAACATTAACCTACACGTTTTTTAAATAAGTTTAGGCCACGCCCAGAA AGTAGCTGGGCGGGGTTGCAGATTTTTCTAGCTTTCCGAAATATAAAAAG TCGGAAAAAAAGTTGTAGTCTGTAGTTTGTAGTTTGTAGTTTGTATCAGG TTGTCCCATAAGTTTTTGTACTTTTTTTCAAATATTTTTCCAAAACTTCT AGAAAGTTTTAAAATTTTTTCATCGTAGGTCGTGTCAAGGTCGGGTCGTC CCCTTTCAGAAAAGATTCATTTCATCCATTTCTACTTTGCCACGATGACA ATCATCAAACTTGAACGTCGAGACGTTAGATTGCTTCTTCTTTATGAATT TCGTCTTGGTCATTCAGCAATGGAAGCGGAACGAAACATATGCGGTGCGA TGGGTGAGGGAGCACTCTCTTATAATACAGCAAAGAGTTGGTTTCAAAAG TTCAAGAACGGCGACTTCAGTCTCGAAGAAATAGAACGTTCTGGGCGACC GGTAGAGTTAAATGAAGAAGACCTAGTGAAGCTGGTGGAGGAAGAGCCTC GTCTTAGTCTTCGTGAAATGGAAGAGAAGCTTGAGTGTTGTCATAGCACA ATTGCACGTCACTTGGGTCGCCTTGGTTTTACTTCAAAACTTGGAACTTG GGTGCCTCATGAACTTTCGGCATCACAGAAGCTCACTCGGGTCAACGTTT GTACTCAACTTCTAACTTTTCGTCGAAAGTTCGATTGGCTGAACAATCTG GTTACTGGAGATGAGAAGTGGGTGCTCTATGTTAACCATTCCAGAAAACG TCAATGGCTTCCGATCGGTGAGAAAGGAATACCGACGCCAAAGCCTGATC TTCACCCAAAAAAGATTATGATCTGTGTCTGGTGGGGTGTTCAAGGACCC GTGCACTGGGAATTGTTGCCAACTAATAAAACTATCACTGCTGATTACTA TTGTGCCCAATTGGACCGAGTTGCAGAAAAGACCAACGGAAAATATGAAA AACTATATTTTCTTCACGATAATGCTAGGCCTCATGTCGCCAAGAAGACT TTCCAAAAGCTGCAAGATCTTGGTTGGACTGTTTTACCGCATCCACCATA TTCTCCAGATCTTGCACCAACCGACTACCATTTGTTCTTGTCTCTCAGTG ACTACATGCGCGACAAGCAATTCGACGACGAAGAGCATCTCAAAACTGAA CTCTCCACTTTCTTCTCATCGCGTTCGCCGGATTTCTTCTCCCGTGGCAT CATGATGTTACCTAGTAAATGGCAACAAGTGGTGGACACTAATGGTGAAT ACTTGTGTGAATAGTACTACTTGTCGCTTGAGAGAAATAAATTTTTTTCA AAAAAAAAATAGTACAAAAACTTATGGGACAACCTGATAGTTTTAGTTCG TTATTTGCAAATTGTTAACGTTAGTATTAGGAGAGCCGAAATAAATAAAT TTTAGAAAAGAAAACGAAATTATATACATAGTTCATTAAAATGTGGTAGT TTGTAGTTTGTAGTCTATGTATTATGTCTATTCAAATTGTATTCAACATC AAAAATTAAACAGGAAACTTATATTTAAAAAAAAAACGAATACTGAAAAA AGGCGGCTGCATAGGAAAAAACAATGATTCTCCTCCAAAAAATAGAATTC CGCATTTTTTCAGCGGCTATTTTCACGATGATGAGAGGAGACAACAAAAA CATTTGAGATGAGAAATGAGGGGAATATTGCACAAAAATTGGGAAATGAT TTTTTTTACTTTATACACAGTTAAAATGCGATGCGCGCATAGTGTTTTTG GCGTGGATCGCGAGTGGGAGAAAAAGGAACCGGAAATGATGCGCATTGTG CGTCCATCGCGAATTTGAGATGCATTGTGCGAGCATCGCGAACATAAATA ATGGGCACATTGTGGATTCTCCTTTCTGATAATATTTTACTCTCTATGGC TTCACCAATTATCTTTCTCTCTGTGGCTTCCCACTATATTTTACTCTCTG TGGCTTCACCAATTATTTTACTCTCTGTGGCTTCCCACTATATTTTACTC TCTGTGGCTTCCCACTATATTTTACTCTCTGTGGCTTCACCAATTATTTT ACTCTCTGTGGCTTCCCACTATATTTTACTCTCTATGGCTTCCCACTATA TTTTACTCTCTGTGGCTTCCCACTATATTTTACTCTCTGTGGCTTCCCAC TATATTTTACTCTCTGTGGCTTCCCACTATATTTTACTCTCTGTGGCTTC ACCAACTATTTTACTCTCTGTGGCTTCCCACTATATTTTACTCTCTGTGG CTTCCCACTATATTTTACTCTCTGTGGCTTCACCAACTATTTTACTCTCT GTGGCTTCCCACTATATTTTACTCTCTGTGGCTTCCCACTATATTTTACT CTCTGTGGCTTCACCAACTATTTTACTCTCTGTGGCTTCCCACTATATTT TACTCTCTGTGGCTTCCCACTATATTTTACTCTCTGTGGCTTCCCACTAT ATTTTACTCTCTGTGGCTTCACCAACTATTTTACTCTCTGTGGCTTCCCA CTATATTTTACTCTCTGTGGCTTCCCACTATATTTTACTCTCTGTGGCTT CACCAACTATTTTACTCTCTGTGGCTTCCCACTATATTTTACTCTCTGTG GCTTCACCAACTATTTTACTCTCTGTGGCTTCCCACTATATTTTACTCTC TGTGGCTTCCCACTATATTTTACTCTCTGTGGCTTCACCAACTATTTTAC TCTCTGTGGCTTCCCACTATATTTTACTCTCTGTGGCTTCCCACTATATT TTACTCTCTGTGGCTTCCCACTATATTTTACTCTCTGTGGCTTCACCAAC TATTTTACTCTCTGTGGCTTCCCACTATATTTTACTCTCTGTGGCTTCCC ACTATATTTTACTCTCTGTGGCTTCACCAACTATTTTACTCTCTGTGGCT TCCCACTATATTTTACTCTCTGTGGCTTCCCACTATATTTTACTCTCTGT GGCTTCCCACTATATTTTACTCTCTGTGGCTTCACCAACTATTTTACTCT CTGTGGCTTCCCACTATATTTTACTCTCTGTGGCTTCCCACTATATTTTA CTCTCTGTGGCTTCACCAACTATTTTACTCTCTGTGGCTTCCCACTATAT TTTACTCTCTGTGGCTTCCCACTATATTTTACTCTCTGTGGCTTCCCACT ATATTTTGCTCTCTGTGGCTTCCCTCTATATTTTACTCTCTGGCTTCACA GTATATTTTATTCTCTGGCATCACAATATATTTTACTCTTTGGCTTCGCA GAATATTTTACACTCTGGCTTCACAGAATATTTTACTCTCTGGCTTCGCA GAATATTTTACTCTCTGGCTTCGCAGAATATTTTACTTTTTGGCTTCACA GAATATTTTACTATCTATTAATCTATTTCTTCGTATAACAATCTATTTTT TCGTATAACAATCTATTTTTTGTATAACCAACTTCAAACTCAACTTTTCC AAAACTACAGTAACCCTACAGTAATTCTACAGTACTCCTAAAACTCCCCG CAACCTGCAGTTCAATGACACCTCGTTTTCTCACGCGTGACTCATGACTC ATTAGCTTACATTTCCTTCATCCATCGGTGGTGGGGCGCTGTGTAATATA CAAGAAGAGACACCACCACACGCTGCTATTTCTGCTGCTGGTCTGTCTTC GTTTACAGCCACTTATGACTCAGCACTGCCATCAATGACTACTTCCTTCT TTTTTATCTTTTCGGCTTCATCTCGAGTAGCAAATTTAACAAAATTCAAT AGGTGTGACGTCATCAAATGCCTTCGTGGCCTAGAAATCCAAGATTTCTC TCGAAAGGATCAATGTGATGTCATGGCCTAGAAAACTCCAGTGTGAAACC TAGGCTATGTTAAATAGTCTTGAAAACTCTAAACTGAAGCACATAAGGCT ATGATGTCATCGCCTAGAAATCCCAATTCTATGACGTCATGAAAGACCTG AACTGCACCGAACCTAGGAATACCCTCAAAAGGGGTGCTGTGAAGTCATG TCCTAGAAAACATGAGTGCGAAAACTAGGCCGTAATCTACCATGTGGTAG ATCATGCGGCCCTATTGATGGCCTAGAAAACTTACAGCTTGAAGCTATGA CGTCACGACCTAGAAACTCAATAGTTGTGACGTCATCAATGACCTAGGTG TATCTCGAATGACGCAGTGTCTTCTAGAATTTTCTGAATATCACACAAAA GTATAACATCTTCTTGAAACCAAATAATTTTGTTGTAACACCCACACAGT ATTGTAACAAATGATATAATAGCGATCGGAACATTCGAGAAAACTGGAAA TTTGAGGTCTGACCTTGTTCGGGAAACTTACCAGTGATTATGAGGTGTGT CGAAAAATGTGGCCTAGAAAATGGGAAAACTCTTCCTTTTTTTTTTTAAG TCCAGAATTACGTTTTTGAGAACGAGAAGTGCATTTCATTTTTGTTAGGT TGGAAATTTAAAATTTAAATATTCGTCTCCTAGTTACAGCCGTGGAAGAC TTTTTCAGAAACTTTAGCCACGTGTCGAAGTCTGGCGGTGCCCACGATAT TAGAGAATGTTGATATTTCCTATTTACTTATCTCCTCGAAATTTTAAGAT TAAAGTTACTACCGTTAAGTTACACTGGTGGAAGAGTTTTTAAGATTTCT AGGCCACGGCAAAGTTTGGGTGTGCCAGTGACCCTAACACTAAATTTTTA AATTTTTTTCAGCCAAATCATCATATGGTGGCCTAGAAAATTTAACACCT GAAAACTCTTCCATATTTTTTTAATTTCTGAAATCCAACAAAATAATTTT CAAACTCCTCTTCCTTTTTTCCAGAAAAATAAATTAATGTAAATCAAGTT CATCTCCGATGAGTTGTAACGGTGGAAGAGTTTTTCAGATTCCTAGGCCA CGTCAAAGTTTGAGGGCTTCCCGTGACCCTAACACTAAATTTTCCAATTT TTTCAGCCAACCCAAATCAGAAGCTTTCTCTTTGTGTAATAACATGACAA TGGGCTATTATCATATGAAATTTTTTAGGTTAAATTTCTGAGGTCATTTG CAAAGGTGTCATGACTAGTTTGGAGGCTTTTTTGTGACGGTAGGGGTATG AAACAGGTTGTTACTTCTCGAAAAGGTATTATGTGGGGGAGAGGAGAAGG AAAGAAGGAAGGCAGATTAGCCAACAGAGATACAGCAAATTTTGTGTGAG TGGTGGCAGTTTTGAGAAGAAGCCATGCGCCAAGGTCGGTTTGCCTTCTG TTTTCTCATTTTTCGGTTTTTTTGTGAATTTTTGTAAATTAAAAATATTT TTTTATAGAAATAAAAATTCAGAAAAAAATACTGGAAGTTTCGTTTGCCT TCAAACATTTTTTAAAAATTCACAGTTTTTCAAATAGATGTACTTACACG TGGTGTCAGAGTATCTCATTTCGGCTTGATCTACAAAAAATGCGGGAATC TTTTGCCCAAAAAAATGTGACGTCAGCACGCTCTTAACCATGCGAAATCA GTTGAGAACTCTGCGTCTCTCCTCCCGCATTTTCTGTAGATCAGCGTAGA TCAAGCCGAAACGAGACACTCTGGCACCATTTTATTTTTTTGGGCAAAAA ATTCCCGCATTTTTTGTAGATCAAGCCGTAATGGGGCAGCCTAGCCCCAC GTGCACTTATTCCTTATGCCGAACGACACTCCGATATCCCGTTTTTACAG TATGACTGTGGGTTACTGTACCATTTTTGGTGCTTTTGTAATATTGTTTT CTTTTTCAAAAACCTAGGAAAAATTTGAACAATTGTTTTTTTTTAATATT TGAATTTTTTAGGCTCCCACACATTTTTGCGGGATATCGGAGTATCGATG TAAACGTTTTTTTTTTGGTTTTTTGTATTAAAAAGGGTTTAAGTGTTGTA ATAAGACATTTTGAATAAAAAATAGCTAGCGCCGCCACGACTTACTGGCT TCCCTCCTAAATAAAAATGGAAGAGTTTTTGCCGAACTAGGCCATTTTGG CTCGGCCGTATCTGGGGTAGATTTACGGCGCGTTGCGTGCCGCGTCGCGG CTCGATTTTAGTTGTAAAACCTAATGTATTTGTTGTCCGTGTGGAGTACA CGACTTTTCCACGCGTTGTCCGGCAGGCGATTGTCAATGGAGCGCGAAAA ATTCAATGAGGAAGGCCAGGACACCGATTCAAAGATATAACGGCCCACAT TTCAACAGCGGTATATCGGAGTGTCGTTATTTTAAGCTTGCACACGGGCT TCTGGCCTTTTTCATTGCTTTTTCGCGCTCCATTGACAATCGCCTGCCGG GCAACGCGTGGGAAAGTCGTGTACTACACACGGACAATTTTTTTTAAGTT TTATAATGAAAACCGCGACGCGACACGCAACGCGCCGTAAGTCTACCCGG GCCGAGCCGACACGTGGTGTCAGAGTGTCACATTTCGGCTTGATCTACGT AGATCTACAAAGAATTTTGCATGATTAAGAACGTGCTGACGTCACACTTT TTTGGGCAAAAAATTCCCGCATTTTTTGTAGATCAAACCGTAATGGGACA GTCAAAATGGCCTAATTCGGCAAACTCTTACATTTCAAAATATGAGGGTA GGCAAAAGCATGGGGAATTTGTGATTAAATTTTTGAAAAAGGAAACAATT TTTTCCAAATTTCTTCTGAAATTTTTTCAAAAATAAATGTTTTTTTTCCC TAAAATCTTCAAATTTCTAGTTTCAATCTCTCACTACCGTGACCAAAAAT TCCTATGATTTTTGACCTCCCGCCACACAGTTTTACCACCAACTTCTTCC CCCCCCACCCACCCACTTACTTCTCGTATCTGAAACTCCGCCCCATTTTT CGTGTACTTTACTACTACTTGAATGATGATGAGGTAGAACAAATCTGTGT TTATTGGCAGAAGCAGTGGTAGCAACAGGAGAAGAAGAAGAAGCATCACT GTGTGGAACCAGCCAGCTGTGTTGTTGTGGTTTTAGTCGTGGAGAGAGAG AGGACGACGTCGTGTGTCTTCAATAAAATGAGGATCTCATCGCTCTTATT CCTGACTTTCTTGGCTGGAATTGTTCAGGTAAGCTGGGTTTTAAGTATTG ATATTGGTGCTATTTGAAAATTATTTCAAAAATTTTTGGAAAATTTTTTT TTTTTGGCCCAAAAATTTTTTTTCTAGAACTTTATCATTCCTAGGCATAC TCTAAATATGTCTGCAAATATTATTTTTTCTGGAAAATTTTGAAAATGTA TATATGGATATATGCAAGTTTGGAAGTTTTTGTAGTATTATTTTGAAAAA TTATAAATTTTTTTAAAAAAAATTTTTTATAAATCTAGCAAGAAACGTTT TTAAAAACAATTTTAGTCAATTTTCTTTTTTTTTTTTTGGAAATTTCACC AAATATCGGCCCAAAATCTATGCAATACTATTTTTTCACAAAGAAATTTT CAAAATTTGACATTATACAGATCTAGGGCTTCCATGGTAGGCAGGCGCGG TTTCAGGGACCTGCCTGAAACCTACCTGGTTGCCGCCGGCCTTAATTTTT ACGGGAATTTAGAAAAATTTCTAATTTTCTCATTTCTATCAATTTGATGA AAACCAAAATAAATTGGCGAGAGGCAGGCAAAGGTTGCCTTAAGGTCAGG CAGGTAGGCGTTTTAACACCTACCAGCTTTACAAAAGCACTATACAAGTC TGTTTTTGAAATCTCTAGCTTTAAAAATCTTTAAAACAAGACATGGTGCA AGACAAGACAAAGACATCGACAAATTTTCGACAAAATTAATTTTTTTCGA AAAACTTTTAGTTTCTTCCAAATTCGCCAAAGTGAAAAAAAAGTTCCTAA ACGTGAGATTTTGTATGTCTTCTACACATACTAGCCAATATCAATTACAA TATCTGCCAAGAAAATCTCGAACCAAACACCAAAACGGCGTTTGGTAACC GGTTTTTTTTCCAAAAAAACTATACATAGTTTCTAGTAAACAAATACGAA TGGAAAATTCAAGGTGACAGAGAAGAAAAAAAGATTAGAAAAAAAATCGT TGGTGGTGGCCTAAGAATTGCATGTAACGTCACACCTCGGCCAGGGGTCA TGGTACATGCTACATGATTACCCATGGCAAAAGAGTGACGTCACTCTCGG CCATGATTTTTAGGTTTAGGCTTAGGTTTAGGCTAAGGCTTCGGCTTAGG CTTAGGCTTAGGCTTAGGCTTAGGCTTAGGCTCAAGCTTAAGCTTAGGCT TAGGCTTACCTTATGAGCCTATAAGCTTTCTGAAAAAGACAAATATTAAA AAAAAACCAAAAAAAAAAAAAAAAAAAGACAAACAAACAAATAAAAACAA ACAAACAAATAAAAACAAACAAAATATTTGAATTTTTCTAAGAAGACAAA TACGTCACTCTCGGTCACGATTTTTGGGCTTTAGGTTTAGGTATATGTTT AGGCTTAGGCTTAGGCTTAGCCTTAAGCTTAAGCTTAGGCTTAGGCTTAG GCTCAAGCTTAAGCTTAGGCTTAGGCTTACCTTATGAGCCTATAAGCTTT CTGAAAAAGACAAATATTTAAAAAAAACCAAAACAAAAAAAAAAAAAAGA CAAACAAACAAATAATTTTTCAGGCCCAAGACTTCCTTGCAATGTTCAAG CCGTTCCTCGGAGGTGGCGGTGGTGGCGGTAATCCGTTTGCAAATCCACA GGCGATCGGCGTAAGTTTTCCGACAGGCAAACAGACAAACAGACAGACAA TCGAAAGTGGTCCAGGCGCTGAATGTGTTACGCAATTGGTTTTGGGCGCC ACGCGCGCATATTATTTGCATATATACATACATCATTCAGATAAATGGCA TTGAAAACGAACAAAAAGTGAAGATTTAGTGGGTTGGCAAATGCATTTTA TGTTTCTTTTCCAGGGTCTCTTCCAACAATTCGCCGGTGGAAATGGTGGA GGATTCGGGCAGCTTCTTGCTGGAGCAATGGCACCGGTATGTGTTGCGAC GTTTAAAACGGAGTGTCGTTGTGAAATTTTCCGCTTTGGAAAACATTGAG AATATTCGAAAATTTTTGTAAAATTTTGAGATTTTCTTTTTCCAAGCTTT GGGCTTAGGCTTAGGCTTAGGCTTAGGCTTATGCTTAGGCCTATGCTTAG GCATAGGCTTAGGCTTAGGCTAAAGCTCATGACTAGACTTATTCTTAGAT TTAGGCTTAAGCTTAGGCATGGCCTTAGGCTTAGGCTTTTGCTTAGGCTT TTGCTTAGGCTTTGGCTAAGGCTTAGGCATAAAAAAAGAGAAATTCCCAA AGTAAAAAAAAAGACAACTTTTGACAAATTTGAAAGTGAAATGTTATATT TTAAGCCTATTTTTTCCCTAAAAAGAAAAAAATTACTTTTATAGTTTGAA AACGATTTTTTGGCAGTGTTTCAGCAGTCAAAAATATGGCTGAAAAAAAA AGTTGATTTCAAAATATTTTTCATCTCAATTAATTCTTTTAAATTTGCTC TACCAAATTTGAAAAAAATATTGAAAATTATTTTAAAAAATTTAAATTAT TAAATTTCAAGTAAATTCGAAAATTTTGTTTATTTATTTTATGTTCATTC TTACAATATAAATTATAATCCTCAAACATTCCAGAAACCAGCACCAGCCG CAGCTGGACCCCGCTCAGCTCCAGCTCCAACCAACGAGGACTACAACACC GACATCGACGTTCCAGCTCCAAAGGCAAAAGCCCGTGCAGCTCCAACTCC ACGAAGAGCACAAGGTGATGATGATGATAATATTGATATGTCTCTGACAC GTCTTGGCTAACTTGGCTTGGAAAAGCACAATTCCTTTAATACAAAAAAC TTTTCTCAAAGATTCTCAAAATTTTGCACTTTAATTTTTAAGTTTAATTT TTAAAAAGTTGTCTCACGTTTTTTAACCAATTTATATGCAAATATGATCC TTATTACTAACAATATTTAGTAATCTAAACATAAATTGGAATATTTGGTC TTTTTCCCGCCGAAAATGATCAAACATTCCGAAGTTAGCAACAGAAAATT GCAGTGAATTGTGTTGGTTTAATTTTACCGTCGTTTTTCATATTTTTTGC CCGATAGCTTTGCTGTGTTTTGTGCCATCCTTTTCTCTGTGATATACTGT TACTTACTTCAATAAATGATTCTTTTAAAAGTTTTCGCACAAAAAATTTA GAGTTGCTGGCAAAAATACACGCCGACACGTGGTGCCAGAATGTCTCATT TCAGCTTGATCTACGTTGATCTACAAAAAATGCGGGAGAATGGAGACGCA GAGTTTTCTATTGATTTTGCATGGTTAAAAACGTGCTGACGTCACATTTT TTTAGGCAACAAATTCCCGCACTTTTTGTAGATCAAGCCGTGGTGGGACA TCCTATCCCCACTTGCGCTGGGGGGACAAAACCGACATAACTTTTGAAAC ATATTACACATATACATTTAATATATGTTTTCTGAGAGAAAACGTTTTAG AAATTTTAGAGAATTTCAGCAAAAAAATTCTGATAGCTTTTTGGAAATTT ATATTATAAAATTTTTTTTTTTTTTTAATTCTGATTTTTTCAAAAAAGAA ATTTTGCAAACCGCTTCCAGAATATTTGCCTGTCTCAAAATACCCTAAAA AACATTAAAATGTTTCAAAAATTATCTTTTGGAACAATTTTACGGGTCAC GCGAAATACTTTCTTTGTAAGTTTTTTTTCTTTGAAATTTAGATTTATTC CCAATATACGTAAATTTTTCACTGAAAGTTAGAAAATTATACTTGTTTTT TTCCAGAAATTGAAATGTACATGATACAAGGCTGCTACATTCCAGCAAAA TCTGATAAAATTTTAGAAACAATTTTTTGTCAGAGTCTTGAATATTTGAG CTATAAGTTTTTTTTTTTCAAAAAATTAATCCAGTTTGGCCTAAAAACTT AAGGCTAAGATTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTCAGCCTAA GCTTAAGCCTAAGCCTAAGCCTCAGCCTAAGCCTAAGCCTAAGCCTAAGC CTAAACTTAAGTCTAATCCTAAGTCTATTCACTAAAATTTTGACGTAAAA CTTGGGACTAAAAATTTTGGACACAAATTTTTTACCTAATTTTTTGGTCT AAGCCTAAGTCTAAGTCTAAGTCTAAGTCTAAGTCTAAGTCTAAGTCTAA GTCTAAGTCTAAGTCTAAGTCTAAGTCTAAGTCTAAGTCTAAGTCTAAGT CTAAGTCTAAGTCTAAGTCTAAGTCTAAGTCTAAGTCTAAGTCTAAGTCT AAGTCTAAGTCTAAGTCTAAGTCTAAGTCTAAGTCTAAGTCTAAGTCTAA GTCTAAGTCTAAGTCTAAGTCTAAGTCTAAGTCTAAGTCTAAGTCTAAGT CTAAGTCTAAGTCTAAGTCTAAGTCTAAGTCTAAGTCTAAGTCTAAGTCT AAGTCTAAGCCTAATAAGCCTAAATAGGGTCTAACGCTTGCCACTGACGC CGCTAACGCTCGCCACTGAAGCCACGCCTAAGCCTAAGCATAAATCAATT TGAAACTTCAGACTTAAATTTCTTGGTGGCCTATACGACTCTCTGTTAAA TTTCGCTTTGATCAGCAAACGGGAACCCTTTGAAAAATTAAAAAACTAAC GCTCGCCACTGACGCCAAGTCTAAACCTAAGGGTAATACTAAGCCTAAGC CTAAGCCTAAGCCTAAGCGTAAGCTTAAGCGTAAGCGTAAGCGTAAGCGT AAGCCTAAGCCTAAGCCTAAGTGTAAGCGTAAGCGTAAGCCTAAGCTTAA GCCTAAATCTTTCGACAAAAATTTTGACCTAAAACTTTGACCTAAAATTC GAGACTAAATATTTTGGACTCAAATTTCGGCCTGAATTTTTGGACTAATT CTGGGAACTATTCCAGAGTAATTTTAACAAATTGAAAACTTTTTATAGTA TTCGTAAAACAAAAAATAAATGCAATGTTTTCAGTAATAAATTTGAAATT TTTGAAAAATTAAATATTTCTTCGAAACTTCGAAACTTCCTTTTCTCTGG CATAACCCCAAATTCCAGCCGATGCCCCGCCAGTATACCGCCAGCCTCGC ACAAAAGCCGAAAAAATCGAAAGATTCCGGAATATCGCTCGGACATTCTC GCCGTTCGTGTACGAGGTGAACACCACACCAGCTCCTCACTTTGACAACT TCATCTGGCAACAAAATGCACCAGCTGTCACACCGGAGCCATTCACATTT GCTCCATTCTCCTTCCCAACTCTTGCCACCGTCGCACCACCAGCTCCAGG ACCCGGCGGCCCGACTCTTGAGCCATTTTTACCGACGACAGCTAGTCCGA AGCTGTTAGCTCATAACACTGCTAGGGTATCAAAAAATTTGAATACTGAA TACCTCCCTATAACTTTTTCAAATTCCAGATGATCCGAGAAATCGCTTCA TTTTCCGACGGAGGACGCTCCAGGGATCAGGATTTTGGCGCAGTTCAAAC GCTCATGCAAGCCTTCTTCGAGGCAGTCTCCAGTGGAAATAATGGTGGAG CAGGAGCTGCCGCCGGAGCCGGAACAGCTTTAGGAGTAGGTTAAGCTCAC TAAAGAGGTCGTGAAGTTTTACTATTTTTTAGGATGCTCCAATGCTTCAA GCCCATCGAGATGGTACCGAGTTGGGAGCCAATCGCGCGCTGACCAACAA GCTTTTCGAGTCGGATATGGTGTTGACGGTCAAGCAGATGAAGGCGTGAG TGTGGGGTACTGTGCAATAAGATTATTGTAGGGGTACTGTAAGATCTCTG TAGGGATACTGTAACCCTACCGTGATATTACTAAAGGGGTGCTGTAAGAT TACTGTAGGGGTACTATAGGATTACTGTAGGGGTACTGTAAGATTACTAA AAATATACTGTGAGATTACTGTAGGGGATGCTGTAAAATTTCTCTAGGGA TATTGTAGAATTACTCTAGGGATACTGTAGAATTACTGTAGGGAACTGTA AGAGTACTGTAGGATTACTAAAGAAGTACTGAAGGATTACTGTAGGGGTA CTGTAAAATTACTATAGAGTACTGTAAGATTTCTGTAGGGGTACTGTAGG ATTACTGTAGTATTACTAAACAAGTACTGAAAGATTATTGTAGGGGTACT GTAAAACTACTATAGAGTACTTTAAGAGTACTGTAGGATTACTAAAGAAG TACTGAAAGATTACTGTAGGGGTACTGTAGGATTACTGTAGTATTACTAA ACAAGTACTGAAAGATTACTGTAGGGGTACTGTAAAATTACTATAGAGTA CTGTAAGATTGCTGTAGGGATACTAGAAGATTATCGTAGAGATACTGTAA GATTATTGTAGGGGTTCTGTAAGATTTCTGTAGGGTTACTGTAGAATTAC TGTAGGGTACTGTAAAATTACTGTAGGGGCACTCTAAGATTACTGTAGGG ATACTGTAGAATTACTGTAGGGTTACTATAAGTTTACTATAATATTTCTG TAGGGTACTGTAAGATCACTGTAGAGGCTACTTTAAGATTCCTGTGGGGG CACTGTAACACTACTGTAAGATAACTAAAACGGTACTGCAGGGTACTATA AAGCGACCACCCTAGATTCATGGTTATTTCAGAATTGTGCTCGCCGCCCA AGAGGCCCGTAACCCTCACGGACGTAAAAAGCGAAAGGTGATTACGGGAT CCGTGTACCGATGGAAGAGTGTGATTCCGTTCCGATTCAAAGGTGGCGAC GCGAAATGGAAGAAGCTGATCCGTGAAGGCCTAGGCCTATGGGAGAAGGA GACGTGTGTGCGATGGAGCGAGAATGGCCCCGGCAAGGATTATGTGATCT TCTTCAGAGGATCTGGGTGAGTTGACATGCCCATGGTTTTCGGATAGTTT GGGTTTTTTTTCAGATGCTACTCATCAGTCGGAAGAACCGGAGGATCTCA ACTTATTTCGATTGGGTATGGCTGTGAAGATGTAAGTTTTAGTATTTCTA CTATACTATTTATTTTAAATTCAAATTTTCTAGAAAGGAATCGTTGCTCA CGAAGTCGGTCACTCCCTAGGCTTTTGGCACGAGCAGTCCCGTCCGGATC GGGATGACTACATCCATTTAAGAAAAGACTGGATTATTAAGGGAACCGAT GGAAACTTCGAGAAACGAAGTTGGGAAGAAATCGAGGATATGGGCGTTCC GTATGATGTCGGAAGTGTCATGCATTATGGGTCGAATGTAATTTTAAATT TTGAGTCGGTAGTTTTTAGATACTGAAAATGATTTTCAGGCTTTTACAAA GGACTGGGACCAAATTACTATTGAGACCAAAGATAGTAGATATCAGGGAA CGATTGGTCAACGCCAGAAGCTTTCGTTTATCGATGTTAAGCAGGTTAAC AGGCTTTATTGCAATTGTGAGTTGTTATGCAAAAATGAAAAAAATTTGAC CACTGAGCGGATCGAACGCCCAACCTTTCGATCTGGAGTCGAACGCGCTA CCATTGCGCCAAGCAGTCACATTTTGTTGCAGGAAACGGTGTATAGAGGA GAAAAGAAAAAAATAGACAACCCTACGTTTTATCAGTGGAGCGCGGTTGC AATTTAACATTCCAATTTTCAGCTGTTTGCCCGGTTGCCTTACCCTGCAT GCATGGAGGATACCCCGACCCCAATAACTGTGCGGTTTGTAAATGTCCAG ACGGGCTCGGAGGAAAGTTGTGTGGACGTGCCGCAAAGGGCACAGATCAT GGTAAAACTCCACTGGAATTTATGGGAAAAAACCGCCCTAAAATTTTCAG ACAAATGCGGCGGTGAGCTAACAGCGACCGCCGAATGGCAGGAGATGGTC TACAAGGGGAAGCGGACGTGCAATTGGAAGGTGAAGTCGCCGAGCGGTGG GCGGGTTCGGTTGGTGCTCACCGAGCTCAGGTACCAGTGTGCACCGGCGT GTAAGGCCTACATCGAGATCAAGCATAATACCGACTTCCAGCAGACCGGA TTCAGAGTTTGGTGAGAACCCTAGATTCCCAAAAAATTCTACACTTTTTT CAAAAAAAAATCGAAATTCGACCCATTTTGGCGGGAATTAAAATTCTTTT AAAAATGACAAAAAAAATATTTTTCTGCAGAAAATTTTTCGACTTTTTAG AAAGCAAGCTTTCACGCGGTTTTGGCTTCCCTCATATATTGAAATGGAAG AGTTTTTGCCGAACTAGGCCATTTTGGCTCGGCCATATCTGGGGTAGATT TACGGCGCGTCGCGGCTCGATTTTAGTTGTAAAACTAAATTTAATTGTCC GTGTGGAGTACACGACTTTCCCACGCGTTGTCCGGCAGGCGATTGTCAAT GGAGCGCGAAAAATTCAATGAGAATCGAGCCGCGAAGCGACACGCTACGC GCCGTAAATCTACCCCAGATATCGCCGAGCCAAAATGGCCTAGTTCGGCA AGCTCTTCCATTTCAATTTATGAGGGAAGCCAGAAATCCGTGTAAATTTT TAATTTTTTGTTGCTTAAAAAAAAAAACTAAACAACTATTTTCCAATTCA AATTTCTAGCTGCTTCAACAAAACATATGACGTCATCTCCGACCAATCTG AAGCCCTGATCCTCTCCAACGCGAACATCGTGGACTACGAGGTCTCCTAC AAGCTGCAATGGATTCAAGGTACCCCACCCCCCCCCCCTTTTCTATCCAT AGAGCGCACTTTCTTCCAGACAACGGAAAAGCTCTTCCACCACCGAAACC CACGTCGACCTGGGTGCCCGGAAAAGAGAATCGACCATTCCGCGGAGTGG AGAACTCGGGCGGCACCATCGAAAAGTTCATCCTGCAAGCGATCCCAAAG ATCCGAGACTCGCATCGGCCACTGGAGAGTATTACTAGTATTGTTGCGGA ATATGGTCTCGCAACGCTACTTGGTATATCGCATAATGGAAAGTAGTCCG TTTGGAACGATTTTTGCAATCGTCAGAGGAATATATATATATATTTGTAA ATTTTGTACCATCCCAAAAATCCAATTTTTCTTTCACAATTTTCAAAATT TGCTCATCTTTCACAATTACTCGGGTTAACACATTTAATGCCTTTCAATA AATAACAGTTCATATTTAAAGTGATTATTATATTACAGGAACACATATAT CTGAGAATGCGTATCGCACAACATATTTGACGCGCAAATATCTCGTAGCG AAAACTACTTTAAAAGACTACTGTAGCGCTTGTGTCGATTTACGGGCTCC TTTTTTGAAATTTACACGGTTTTCTGGCTTCCCCTCAAAAATTGATATGG AAGAGTTTGCCGCGAACTAGGCTATTTTGGCTCGGCCATATCGTTCAAAA ACTACAGTAATTCTTTAAATGACTACTGTAGCGCTTGTGTCGATTTACGG GCTCCATTTTTGAGATTAATTTTCTTTCGAGTTCCCTTCGTTTTTTTTGT AATTTTTTGCTTAATTTGAATTTTTTTTTGATAAATTAAAAAAAATGATT TTACACGGTCTCCTGGAGTGTTCATAATTATTGGAGCGCACTTGCTGATC CTTGCCGCGCTTATTTACTTTTTCACCGTTAGAAAATGAGTAAAATCAAC GATTTTGGTCAAGAAATTTAAAATAAAATTATTAATTGATTTCAAAACCG AGTCCACGTGGTGCCAGACTGCCCCATCACGGTTTGATCTACAAAAAATG CGGGAATTTTTAGCCCAAAAATGTGTGACGTCAGCACGTTCTTAACCATA CGTTGAGAGTTGAGAATTCTGCGTCTCTTCTCCCGCATTTTTTGTAGATC TACGTAGATCAAGCCGAAATGAGACACTTTGACACCACGTGCGAGTCCGT AAATTGACACCAGTGCTACAGTAGTCATTTAAAAAATTACTGCATGTCAA AATTAAAATTTCCTGTTCCCGTAATATCGGATTCAGCACGCCACCCTATG AAAATACCAAAATTGGAAAAAAATCAATAAAAATTTATTTTCACGGAAAA AAAATTGAGACCACCTTTTTGTTTTCTATCTATATAAACCCGTTGTTTTT CACAAAAAATTATTGAAAATCCTTCAAATCATATTATTAGTTCGAAACGT CGACGCGTAGGTGTTCGATCGTACACTGCCGGGAATTGCCGGTTGCGGGA GTTTCGGCACCGCCGGTTGATATCCTTCTTTGCTAACTTTTGATCTGAAA ACATTGACTTTTGCTACGTGGCCGTGGAAGAGAAAACTCGGCCACTATGT TTGTTTTTGCGACAAGGGTATATGCGCAAACCTACAAAATGATCTTCAAA AAATGCGCGAATTTTTTGCCCAACAAAATGTGACGTCAGCACGTTCTGAA CCGTGCGAAATCAGTCCCGCATTTTTGTAGATCTGCGTAGATCAAGCCGG ACCACAAAAATATCAAAGTTTTGAATTTTTCAAAAAAAAAGCACTTACGA GGATCTAGTCAGCTTGAACAGCAAGTAAATAAGACAAAACGCGCACATGA TGAAGCTCAAAAGTAGATCAAACGAGAACTTGGTCGCCGAGACCGCATTG AAACTTCTGTCAAGTGAGAGAAACGGTTGGGTGGCATCGTTCACAAATGA AAGCATGTAGAATAGTCCAGCAATCGGATAGACTGCCGCAATGACTCCGG CAAACCCATTGACATCCTGCTCATCAGAGCCCAGAAGCCGGCAGCAAGCA GACGAAAGAGCAATGGAGCTGATGAGGAATAGAATGAGCTCCCGGCAGAA GTTGAAGATCCAGTCGGTGCCCGGGCTTGCTGCTCCGATGAAGCAGAGTC CGGTGAGGGGATTGGCGGCGACGGCTTTTGCGAGTAGCGCGAGCATTAGT GGAGCCAGCGGGATTCCCAGGATGAGCATGATCACGCGGGTTCTGGAGTC GTCCTGGAAGATCATTTTTTAAAATTTAATTTTTGAAAATTTATCATGTC TGGAAAAGGTACAGGCTGACTAGACCTATTTCACGTGGTGTCAGAGTGTC TCATTTCGTCTTGATCTACCATGATCTACAAAAAATGCGGGAGAAGAGAC GCAGACTTCTCAACTCTCAACGTATGGTTAAGAACGTGCTGACGTCACAT TTTTAATGTACAAAAAATTCCCGCATTTTTTGTAGATCAAACTGTAATGG GACAGCACAAAATTCAAAGCCCTCACCAATATATGCGATGTCCTTGTCGC CTTATTCCACGACACACAGATCAAGAGCCACCAGAGACGTGAGCAAGTTG CCGTGTAGTAAATCAGTGAGGCCACTGAAGAACATGGAACATGGGAAAGC CCTCCGACGACGAAGAGCAGGTGATGGGTGTAGTCGGTGCACGAGATTTG GAACTTCAAAATTCTTTTTGAATGGCTCAAAAATATTGATTTTGAGCCAA GTTATGACCATTTGAAGTTGGTGGCCTAGGATTTTCCTAGGAGTATTCTA GGCCGCCAACTTTGGACAGCCATAACTTGGCTGAAAATCAAAATTTTTGA AATCTAATTTCACAGTTGAATTTAGCAGACCATGAGCTTCAATTTGACAT ATTTTTGTGCCTTGCCACGAAAACTCGCAGACCTACAGTAATCCGGCCAA AATTAATGTTAACTGAAAGCTCAGAGTCTGCTAAATTTAAATACAAAGTT CGATTTCCAAAATATCGATTTTCAGAAAAATTATGAAGACTCTAAGTTGA TGGCCTAGCATTTTCCTAAGAGTATTCTAGGCCGCCAACTTCAAACGCTC ATAACTTGGCTCAGAATTAATATTTTCGAGCAAAATAAAAAGAATTTAAC ATAAAATCTTGTGATCTACCGGAAACTAGATGAGCGCAATTTTAAATATC TAGGCCACCAAGTGAAAACCGTGACTCGGCTCAAAACCATTATTTCTGCT TCAACCAAAAACCAATTCATTTATTTTAATTGAAAGCCCGGTGTCGGCTC AATTCAAATACCAAGTTTATTTTCAAAATACCAATTTTCAAAAAAGCTAT GAGCGTTCTAAGTTGGTGGCCTAGGATTTTCATAGATTTTCTAAGCCACC AACTTCAAACGCTCATAACGTGGCTTAAAATCAATATTTTCGAGCAAAAT AAAAAGGATTTAATATAAAATCTTGTGATCTATCGGAGAATGCATTTTAA ACTTTCTAGGTCACTAAGTAAAATATTCGGCCACCAAGCCTCGGCCGAAA ATTATTATTTCTGCTGAACCAACAACCAAATTCTCCAAAAACTGCTTACC TGATCTTTAAACGAAATGCTCACAATATAAATAACCGATGTCGCACAAAA CGAGATGCACGAGAAGAACATGGCAGTTTCCGTAAGTGAGTGGAGCATCT CGAGACGTCTAAAGTAGATCCTGATTTGTTTTTGGAAAATTAGGCCACAC ATCACACAATCCAAAACTTACGATAAGCCGACTATGAAGACTGATAGAAT TGTTAGTATTACAGAGCTCAGCGAGAGAAACAACAAGAGTCGGGTGGCGG ATTCACGGTCAGTCTGGAAATGTACTCATTTGTTACTGAACTAGGTCTAC TTAAGCCTAAGCCTAAAGTAAGCCTACCTGCCCAACCTTCTGTGGGTTCG AGCACAAAGGCACACACTTTGAGGATCGATTCAGGAACACCTCATCCTGT GGGCATTTTCCGTTGAGGCGGTCGACCTCCCGTTGAATATCTTCTACTCG ATCATTACCGTCGTCCTCCTGGAAAAGAAAGATGATTGATTTGAAGCTGT GTATCTAATTACCCCCGTTTGATGATATAGGACCGGAGAGATTACAATCA GATGTTCTCTGTTTTTCTCTGTTTTTTGGTAGCTAGTATAGAAAACTATA GAGTACTGTAATTCCTATTTGGGAGCTTGGTATTGTGCTATTATCAAAAA AATACAATTGCACAAATTTCTCATTGATCTACCTGTTGAACTTGACTCCG CCCCCAATCTTGTTACTGTTATTATTAAGGTAGATCAAAAACACAAGGAA GATCAAAAATAAATTACGAGAAAATTGTGCGATTGTATTTTTTTCTATAA TATCAAACATTTATTGATTTTAGGACATTCTGTGATTAACTTTTATAGTT TCACGGATTTCTGGCTTCCCTCAAAAAATTGAAATGGAAGAGTTTTCGCT GAACTAGGCCATGTTGGCTCGGCCATGCGTGGCGCGTCGCGGCTCGATTT TAGTTGTAAAACTAAATATTTCCCACGCGTTGTCCGACAGGCGACTGTCA ATGGAGCGCAAAAAATTCATTGAGGGAGGTTTCTATTTGGCAATGCGCTT TTGGTTTTTCAGTGATCTTTCAAAAAATTTTTCATAATTTTCAAATGATC ATAACTCTGAAACTAAAATTTTTGGCAAAAAAAGTCGTAATATTGTAAAA TGTTGCTCATAATTTCTTCTATACGATAAAATTTTTTCAAAATTTTACAT TAAACAGGCCAATAGGTACAGCGCCCGACAACTCGCGGGTCCAAAAATTT TTCAAAAATCGTCAAAATTCGACTCGCGAGATGTCGAGCGCTAAATCTAT TGACTTTATTTTTTTGAATTTTTGAAAAATTTGTTATCCAATAGAAAAAT TTATGAGCAACATCTTATTAGTTAAGCGTTTCTTGCCAAACATTTTATAT TCAGAGCTATACTCATTTGAAATTTTTGAAAAATCACTGGAAAACCAAAA ACGCGGCAAACGATTTTTTCCGGCAAATCGGCAAATTGGCAAACTGCCGG AATTAAAAATTTCCGGCAAATCGGCAAACCGGCAAATTGTCGAATTTGCC GAAAATTTCGGCAAATTGTGGTTTTGCACTTTTTTTGGAAATTTCAGAAT TCCAATTTCAAATTGCAAAATTAAACTCATCCTATGAATGTTTCTACATC TATTTTGAAAAGTAAGTAAATTCTATGAAAATATATAAGGAAAACGAGAA AAAATTCAAAAAGACATAGTTTTAAGTGTTTCCGTCTTATTAAAAAATCC CTCTAAACTTTTCCGGCAAATTGATATTCGGCAAACGGGAAATTGGCGAT TTGCCGGAATTGAAAAACCCGATACTTACACTTTCTTTCGCTGCAAACTT TGCCCTCTCATCTTGAATTGCTCCTTGCTCATTTGGCCCTTTCATGCACA TTTTCTCTCGATTGTTCTCCAACGGGAACTTATCACAACGAATCACATCG GGCCACTTGAAACCGAAACTTTCCAGCACTGGAAGACACTTTTCCTGGAC GGAAAGACACAATGGACGGCATGGACCAATTGGGTTGGCTAGCTGAAATT TTTTTGAACGATGAAATGATAAAAATGTGCGATTCTTCTCTGATTGAACT CACTTTCTCGTTGCACATCGGGAAGTAGACGGAGCACAGGAAGAATTTGA GCTGCTCGGAGCAGACAACGGAGAGCAGGGGCTTGTAGGTGAGGATGGAT TCGGAGGCGTCTTTCCATGATTCCTCGTCGACGAGATTTGGGAAGCTGGA ATAAGGGCTTGTAAAGTTTGAGAAACTTGAGATTTACAGGGTCAAAAATT GCTCACGAGCTCTCCCGGTTGCCGAAAAGTTGCCGAAATTTGAGCAACCA AAAGTTGCCGATTGCCAAAAATTGTAGGGTACGGCAACTTCGGCAATCGC CGGTTACCGAAGATTTTAGAGTTCGGCAACTTCGGCAATTGGCGGTTGCC ATTGCTCTCACGAAATTTCCCGCTATTTTTGGAGATTAAACAGCAAGTGC ACGTGTGGGTGTCTCAAACAGGAAAGAAATCCTGGCAGGAGCCGACTTGC CGGAAATTTTCAATTCCGGCAAATTGTCGGTGTGCCGATTTGCCGTTTGC CGGTTCTCAGATTTGCCGGAAGTGTGTAGAGGGATTTTTATAAGACGGGA ACACTGAAAACTGTGCCTTTTTGAATTTTTTCCCGTTTTCTTTGGATATT TTCATAGAATTTGCTTACTTGTCAAAATAAATGTAGGAACATTCATAGGA TGCGTTTAATTTTGCTATTTGAAATTGAAATTCTGAAATTTCCAAAAAAA TGAGTACAAAACCACAATTTGCCGGAATTTTTCAATTCCAGCAATTTGCC GATTTGTCGTTCTGCTGGTTTGCCGGAAATTTTCAATTCCGGCATCTTGC CGATTTGCCGATTTGCCGGATTGCCGAAAATTTTCAATTCGTTAGCCGTC CACCCTGGATCCTGCCATCCAAAAAAAAACGGAAATTTTTGGCAAATTGC CGTTTTTCCGCCGGCAAATTCGGCAAATCGACAATGTGCTGTTTTGCCGT TTTGCCGGTTTGCCGGAAATTTTCAATTCCGGCAATTTGCCGATTTGCCG ATTTGCCGGTTTGCCGGAAATTTTCAATTCCGGCAATTTGCCGATTTGCC GATTTGTCGGATTGCCGAAAATTTTCAATTCCGGCAATTTGCCGATTTGC CGATTTGCCGGTTTGCCGGAAATTTTCAATTTCGGCAATTTGCCAATTTG CCGTTTTGCCAAAAATTTTAGGGTTCGGCAAATTCGGCATTTGCCGTTTT GCCAAAAATTTTAGGGTTCGGCAACTTCGGCAGTTGCCGGTTTCCGCACA TCCCTGTCCCACACGCCCCAGGTGGAAGATGGTGGAAGAGTTTCTAGCGG GTCCATCAAGGATGGGAATCATCAGTCAACACAATCCTTAGCCGACCTTC CCAAATTCATCATTCCTTCCTTCCAAAACGGTTTCCGGTCCTTCCAACCG ATTAATACCAGCCACCACCACACCACCAAACCCTCTCCTTCGAAATAGAG AACAAAGTTGCATACCCCCCTCATTTCTTTGTTTTGGAGAAAGGGGCGTT TTGTGGTGCTCGGAGAGCCTGAGGACGTGACAAGTGATATATAGACGGGC TTATACTATCTGCTCGTCCATATTTCACGCGCCTAGGCAGAGTGCACGGC GGGAGGTGGAGACGCAGGTTCCCGTCCAACTGCCGCAGAGCATCCCCTAT CTGCTCCTATCAATTGTTCGGAGAGACTTTTTTGTGAATTTTGCTTTTTG CAAGAGGTCTGAGATTTGGGATTTGGGCTTTAGGCTTTAGGCTTTGGGCC TTGCTTTGCGCCAGAGAATGGAAATTTGTCCGTATTTTCCCGGCTTATAT CAAAAAATGATCAACTATAAAAATATAGAAAAAGATTTTTCAAGTTTTTT GTCAGTTAGTATTTTTTGATAAAACAAAAGAGAGCCGAGATATAAGCTGT CAAAGTAGAGCAAGGGTGGTTTGATCTACAAAAAATGTGGGGATTTTTTT TCAAACTTGCTCTACTGATAAATTAATAAATTACTCCCACAAAATCCAAT AAGCCTCAAACTTAAGATCCTCCAATCTCATCCCCCTCATAAAACAATAA TACTAAATCACTAGATCTCCGGTAGTATATATCAGAAGAACAGTTGCTCT CCCTCTCGAACCGACTTACACTTGAGAAAAATAAATTGTGGAAGAGAAGT GACGTCATCGTAACCTACCACTTCACAAGTTTATATATATATATATATAT AAGTACTAGTTAGGACTAGCTAAGACCTAATTAGAACATAGGTATGGCCT GTAAGTTAGGACCTAATTAGAACTCACTAGGACTATATATATATATATAT ATATATATATATATGTAAACAAGAACCCGGGCGGGTAACCCCTTACGGTC AGAGGGGTGTCCTACACCAAGGGTATGTAAACTGTGTCCCCCAGATGGCG AAGTTGAGAGGGAAAAAGTGAAAAAGCGCGCCACATGGCCTCGCGACCGT ATGTTGCAATTTCAAGCAACGTTTTTGATTTATTGGAGGAGAAATTTTGA AAAAGTGAAAAAAAAGTGTGACCCCATATGAGATGCGTAATAAAATTCCC TACAAGACCTTAAGAAAACGTGGCTGGCTGGCAAAAAACAGGTGGCAATA ATAACGGAATGTGTATGTGTGTGTGTGTGTGTGTGTGTGCTCGAAGAGCA TAGGCTCGTAAATCGTTATAATTGATGCTGGAGGAGAAGGAGACGATGGG CCTCCAAAGTGTTACACCTGGTATTTGTTGGGAAAAATTTGGGGGAAATA GGCATTAAACTACCTAACCTAATTGAGTTTTTTCAAAGCTTATATTATTA TAACTAAGAGGTGTGATAATAAATAATTAAAGAACTTTAAAATTATCAAA AACGCTTTCAAATCTGTAAAGCTGATATTTTAAGGATTTAGTACTAGTTA AAATCTAGTTGGGACCTAGGTAAGACTATCTAGAAAGTTCGGACGTAACT ATTTAGGAACAGTTAAGTCTTAAGGCCTGCTTGGGTACAGGTAAAAATGT TTAGAAAGTTAGGAACTAAATAGGTGAAGTAAGTACTAGTTAGGACTAGT TAAGACCTAATTAGAACCTAGGTAAGGCCTGTAAGTCAGGACCTAAATAG GACTTACTAGGACTTAGGTAAGACTAGTTAATGTCTTGTTAGGACTAGTT AGGACTAGCTAAGACCTAATTAGAACCTAGGTACGGCCTGTTAGGGAAGA TCTGATTAGGACTTACTAGGATTTAGGTAGGACTAGTTAAGATATAGTTA GGACTAGTTAGGACTAGTTAAAATTTAATTAGAATCTAGGTATAGCCTGT AAGTTAGGACCTAATTAAGACATACTAGGGCTTAAGTAGGACTAGTTAAT ACTAGTTAAGAACTAATTAGAACATAGGCACGGTCTGTTAGTTAAGGCCT AATTAGGACTCACTAGGACTTAGGCAGGGCTAGTTTAGTTATTGTTAGGA CTAGTTAGGACTAGTTATGTACCTAATTTGGACTCACTAGGACTTAGGAG GACTAGTTATAATCTTGTTAGTAATATTTAGGACTAGTTAAAATCTAATT AGAACCTAGATATATCCTGTAAGTTAGGACCTAATTAAGACTTGATTTGC TAGGATTTAGACAGGACTAGTTAAGATATTGTTTGGACTAGTTGACTAGT TAAGACCTAATTAGATCTTAGGTACGGCCTGTAAGTTAGGGCCTAATTAG GACTGAATAGGACTAAATTTCTTGTTACGAATAGTTAGGACTAGTTAGGA CTAGTTAAAACTTAATTAGCACCTAGGTACGGTCTGTTAGGGAATACCTA CTTACCAGGCCTTAGGTAGGACTAGTCATGACCTAATTAGAACCTAATTA GAACCTGGGCACGGCCTGTTAGGGAAGACCTAATAAGGACTTACTAGGAC TTTGGTAGGACTAGTTAGGACAAGTTAAGACCTAATTAGAACCTTGGTAT GGCCTGTAACTTAGGACCTATTTAGGACTTACTAGGACTTAGGTAGGACT AGTTAGGACTAGTTGGAAGTTGGGACCTAACTAGTTAGACCCTTAATTTT GTACACATGCTTATTAATATCAATAAAAATTTTAAAAAAAAACGACTTTT TTAAGTTTAACTATATAAAACTATAATTTGGAAAATTTGCTACTTTGCTT AAAAATCGAGAAAAAACCTAGCGTTTCTATAAAAAACCATCTTGAAGTAA ATTTTGAAAAAACCCCGTCATCCAACAAAAAAAAATTCACTCACCTCGTT AAGTTATACGGCAAATCGTTGCACATCTCATGATCCACCTTTTGACACCT CTGCCCGTCCACACCAATCACAAAGAGCAACAGGAGCCAGGTTACTCCGA GGTAACCACGAAATGGTCCCATTAATGATAATGGAATTGGGGGCTCACAG CCTGGGTGGGGGAAAATATTGAGAGTAAAAGAAACAATGAGAAGAAAGAC GGAGGATAGGCGGGGGGGGGGGGGGGGGCACACCAGTGGCAGCACCACCA CGGCCTGTCCGTTGACAAATGACCCAAACGGACGGGGGGCGGGAAGAGTG TCTGTTGTGTGTGTTGGGAGATGGCTGGCGGTTATCAGATATTTGTATGA ATGGTATAGAGAAACAGAGACCAAGAGAGCTGAAAGATGGAGAGGCGAAA GAGGAAGAGAGGGGGGGGGGTGGAAGTTTTTACGAGCCCTGTAATAAATA TATCGAAGCAGCAAATCATTTGATGATAACGGAGGAGCGCGGGGACGGAG ACGGCAATCATCATCATTATTAGGACCAGGGGTGTGCGGCGAATTTTTGC CGAATTTGCTGTTTGCCGAGCTCGGCAATTTACCGAATTTGCCAAGCTCG GCATATTTCAAAAAAGTAGATTTGCCAAATTTGCCGAACTTGGCATATTT CAAAAAAGTAGATTTGCCGAATTTGCCGAGCTCGGCATATTTCAAAAAAG TAGATTTGCTGAATTTGCCGAATTTGCCGAGTTTGCCGAGTTCGGCAAAT TTGCCTATTTAGCCGAGCACGGCATATTTCAAAACAGTAGATTTGCCGAA TTTGCCGAATTTCCCGAGCTTGGCATATTTCAAAAAAGTAGATTTGCTGA ACTTGCCGAGCTCGGCAAATTTGCCTATTTAGCCGAGCACGGCATAGTTC ACAAAAGTAGATTTGCCGAATTTCCCGAGCTTGGCATATTTCAAAAAAGT AGATTTGCTGAACTTGCCGAGCTCGGCATTTTTCAAAAAAGTAGATTTGC TGAATTTGCCGAGCTCGGAATATTTCAAAAAAGTAGATTTGCTGAACTTG CCGAGCTCGGCATTTTTCAAAAAAGTAGATTTGCTGAATTTGCCGAGCTC GGAATATTTCAAAAAAAGTAGATTTGCCGAATTTGCCAATTTTGCCGTTT GCCGAATTTGCCGAGTTTGCCGAGCACGGCATATTTCAAAAAAGGAGATT TGCCGAATTTGCCGAATTTGCCGAATGTGCCGATGCCGAGCTCCTGTTGA TTTTTTTCCAAAAATTCAGTAAAACGACACAAATTTGTTTTAAGAATTCA TTAGTTTCGGTGCTCCAAACAACATCAAAAAATATCAAATTTTTCCGAAT TTGTTAAGCACGGCAAATTTGCCAAATTTGCCGAATTAGCCGAGCACGGC TAATTTTGAGATTTGTCGCACACCCCTGATTAGGACCGAGAAAAGGGCCT AACATGATTTCACAATTTGAAAAATGAAATTCAATTTTTCTTGGGAAAAA AGTATGAATCTCTTCCTCCGCCCGTTTCCGGCAGAAACAATTGAACCAAA CGAGCCAAAAGTGCACATTGTGTAACTTTGTTGGGGAGTGTAGATAACCA GAAGAAACAAGATGGAACTTTCTTGCGATGAACAAATTTTGGAACACTGG AGGGAAATGATTGGTGTTTTTTAAGCTTTTTAGTCAATTTTTAAAACTGT TCTACAATAGGCCCAAATAGGCCTAATAGGCAAATAGGCCAAGTAGATTA AATATGCCAAATAGGCAGTATAGGTTGAATAGGTAAACAGGCCAAATAGG TCAAATAAGCTAAATAGGCGAGACTGGTGCTCAAATACTTTTTGAACTGG TAATGTTTTTTCTTCTACACAAAAACAAAAAAGTCCCTGCTTAGTTCCGC AAAATTGTGATTTTTTTCAAAAGTTACCCATTTTTGCCACTTTTCAATAG TTTTTGATAGGTTAAATCTAGATTTTCTGAATTCAGCATATATGAATTAC CCGTTTTCAACAAATTTAGGCAAATTTTTATTTTTGCCCAATTTTTTTAG CCATCTAATGACTGATTTTGGGCAAAAAAAATTTTCCTGAAATTGTACAA AACCATTAGAAATTGAAAGGCTCCTCAGTTTAAAGGCACATGAGGTTTTT CGGAGTGGGTGGCAATTGTCGTTCGGCAAATTTTTTGGTCGACAAATTCG ACAAATTGCTGGTTTGCCGATTTGCCGGAAAGTATTTTCTTACTTTTCAA AATATATGTACGAACATTCAGAGGATGCTTACAATTTTGCCGGATAAAAT TTAAATTCTGAAATTTCCAAAAAAAATGTGCAAAACCATAAATTGCCAGA AATTTTTAATTCCGGCAATTTGCCGATTTGCCGATTTGCCGTAAATATCA ATTCTGGCAAATTGAAGATTTGCCTTATTTGCCGACTTGCCGCATTCCCT GATGTAGGCATCAAAACGACTGAACACCAAGTTTTTTTGAAATTTTTTAA GTTTACCTTTATAATTTTTAGTGCTCAAAAAGTTCCAAAATTAAATAAAT TTTGAAATTTGCCGAGCTCGGCAAACGGCAAATTTGCCGCACACTCCTGT TTCAAATGTTCACCGCATATTTAATTATTCCGGAAATCCCCTCAAACATC CATCAAAAGTGTTTTCCCTGATTTGTTGACTCTGACACCGACGGTGGTTG TTCCCCCCCCCCCCCACTCTCTCAATTGGCATGTAAATGAGCCCGTATGA ATGAAGTGCCTTTTGGCGGCAAAATGCATATCTCCAAGTACCATTGAATT AATCTTCCATCCCCCATTGTCTCCTTCTATATAGGGGGGAGGATGCGTGA TTCTTGAAATATGCTCCAAGTGACAAATTGAGCGTGTGTGATGTATCGTG GCAGATGGCTGGCTGACAACGGATCAGTTCCAAAAACTGTATCAAACGGG GGGAAGAGAGGGGAGATGAAGGATGGGGGCAGATGGAGTCATCGATGCAC CATGTTTTTTGGAGCTGTTCACTCAGATATTAGGGTATTTTAATCCCCTT TTTAAGGTCTATTTCTGATCGTAAAACTTGGTATTTTCAACTCATTTTTA ACTCAAAAATTTCAAAAGTTTGAAAAATTACACAAAAACCTAAATTTTGA TCTGGTTTCAGGCATTTTAGTCCCTGTTAAGCGTCTTCGATGCACCATGT TGTTGTTCAACTTGTTTAAACTTTTTAGTTCCGCATCGAGGAAAATGGAA AATAAAAAATTATTTATGTATTCAAAAACCATACTTTGATTCTCCGTAAC AACGCTTTCATGGGAGGCAGGCCCGGTTTCAGGGCCTGACGCCTGCCTCA AACCTGCCGGCCTCACGCCGGCCTCACGCTTCATTTCTGCATTTTGGCGA AAAATCAAATACTTGGACATAGTGAAAAGGTGATTTTTTCGACGCGGCCG ACACTTTTCGGGTTCCGCGCCGCACTATACAGGAGGCGAGGCTCGCGGCG CGAGGCAGGCGGAGGTCGCCGCAAGGCAGGCGCGGCAAGCATTTTTGTGC TTACATGGATACCCTAGTCTACACAAAGCACGAATTTCTGGCTTCCCTCA TAAATTGAAATGGAAGAGTTTTTGCCGAACTAGGCCATTTTGGCTCGGCC ATATCTGGGGTAGATTTGCCGTCGCGTTGCGTGTCGCGTCGCGGCTCGAT TTTAGTTGTAAAACTAAATTTATTTGTCCGTGTGGAGTACACGACTTTCC CATGCGTTGTCCGGCGGGCGATTGTCAATGGAGCGCAAAAAATTCAATGA GAAAGGCCAGAACCCAGTGAAAAAGATAATTTGACAATTACAAATAATGT TTTAAAATTTTTTTTTTGTTTTTGATTTTTGGTTCTCCTTGTGTTTTAAG AACATGATGCATCACCGCTGGAAATTGCTGGATATGTAAAAAAATTATTT ATGTACATATTTAAAAATCAAATCTTGATTCTCCGGGATAGAAGCATAAA TCAAATTTATTACTGTAAATTTTCACTTTCAGTACATTTAATTGAAATTT TTAAGCTTTGAAGTTCAGGGTATCATAGTTTTGCCTCCAAAATCCACTTG CCCAAAAAACAAGCCTGGGAATTCCCGGCGGGGGACGATGGTTCGATAGC ATCAATCATATCTGTGTGTGTGTGTGTGTGTGCAAGGCGGGGGATGAGCC GGCGCGCGAAACGAATAAATCAAGAAACGTCTCTCTTTCTGCGAGCACGG ATTTTGTTGTGAGCCCGCGCGCGCGCGGTCTATAGGAGGAGAGGGGTATC ATGCACTTCTAATACAGGGCATACTTCTTTCATTTCCATGTTTTTGTACA TGTAATAAAATTGTTAATTAGCCAAAAGTGGTTCACATGTTCACGTCGTA AACGTCGGTTTTCAGGGTGTACTGATAATGAATGTGCTCTGTGTGGAGAC AAAGAGGCAGCAGAGAGCAAGAATCAGTTAGGTTAGGCAGGTGACTTTTT TCAATTGTGACTAGGAAAAAGTATTTTGGGAATTTTTTTTTATTTTTTGG CTTCTGCCCAGATTTTCAGGATTTTTCAAATATTTACAGAAATTTTCGTG ATTCTACAATAATATTTTTGTAATTTTCTCAATTTTCAAAAAATTGCCAA TTAATTTTGAAGTTTCGAATGAAGCAATTGCCGAAGTTGCCGACTCCCGG AAATTTCGAAAACCGGCAATTGCCGAAATTGCCCTTTGCCGGAAATTTCG AAAACCGGCAATTGCCGAAATTGCCCATTGCCGGAAATTTCGAAAACCGG CAATTGCCGAAGTTGCCGACTCCCGGAAATTTTGAAAACCGGCAATTGCC GAAATTGCCGACTCCCGGAAATTTTGAAAACCGGCAATTGCCGAAGTTGC CGACTCCCGGAAATTTTGAAAACCGGCAATTGCCGAAATTGCCGATTGCC GGAAATTTCGAAAACCGGCAATTGCCGAAATTGCCGCTTGCCGGAAATTT CGAAAACCGGCAATTGCCGAAATTGCCGATTGCCGGAAATTTTGAAAACC GGCAATTGCCGAAATTGCCCATTGCCGGAAATTTCGAAAACCGGCAATTG CCGAAATTGCCGCTTGCCGGAAATTTTGAAAACCGGCAATTGCCGAAACT GCCCTTTGCCGGAAATTTCGAAAACCGGCAATTGCCGAAGTTGCCGACTC CCGGAAATTTCGAAAACCGGCAATTGCCAAAATTGCCGATTGCCGGAAAT TTTGAAAACCGGCCACTGCCGAAATTGCCGACTCCCGGAAATTTCGAAAA CCGGCCACTGCCGAAATTGCCGACTCCCGGAAATTTCGAAAACCGGCAAT TGCCGAAATTGTCGATTGCCGGAAATTTCCGATCCCTGAGTTTAGCCTTT TTCAGCAAATCAAACAGTTTATGATTATTTTTTCAAAAATTGTTCTGCAG TGCTCTTGCATCACTATTGTGGCCCTCCTTTAAATACAGTACTTTCTACA GTACCACTACATCAATGATCCTTCCAGTAATGCCAACACATTGTACCACT ACAGTAATCCTACAGTACCCTATACAGTACCGTCGCAATACAATTACCGT AACACTATGGAAATCTTACAATAGACTACAGTATACAAAAACTACAGTAA CCCCCTTGAAGTTAGTGTAAAACTTGCAAATGTTCAACTCTTTTTTCTGA TTTTTTTTTGTTAAGTTCAGAAATTGTAGAGTGTTTTTGGCTTCTGCTCA GATTTTCAGAAATTTTCGTGATTCTATAGTAGTCTTTTTGTAATTTTCTC AATTTTCAGAAGTCTGCAAATTCAATTTGAAATTTCGAATAGCTTTAAAA AACTCAAACAGTTGGCACAAATTTTCGTAGATTCATGTAGAATTTCAGCC TTTTTCAGCAAATCAAACAGTTTTTTATTTTTTTTTGTATTTTTTCAGAA ATTGTTCTCACCCTCCAAAGTACTATCACGTCCTAACAGTAATATTAGCC TACCGTATCACTACAGTAATCCTCCAGTACTTCTGTGCATGCTACAGTAC CCTTGCATCACCATAGTGGTGATCCTTTAAACCTACAGTACTTCTACAGT AGCACTACAGTACCACTTCAACAGAATCTTTCCAGTAATATCAGCGTATC GTACCACTACCGTAATCCTACAGTACCGCCACAATACTATTACCGTAACA CTATGAAAATCTTACAATACACTACAGTATACAGAAACTACAGTAACCCC CTTGAAGTTGGTGTAAAACTTGCAAATGTCTACCGTAATCCTACAGTACC CCAATACAGTACCGCCGCAATACAGTTGGCATAACACTATGAAATCTTAC AGTACACTACAGTATGCAAAAACTACAGTAACCCCCTTGAAGTTGGTGTA AAACTTGCAAATGTTCAACTTTCTACAAATTTGCCATTAACTTGTAAGTT GGGGGAGCGCATCGAAGTGTATACATATATGTACATGCCAACCAATTATT TTCTCAAACAATTTATTAATAGTCGAAGACACCTGAAGCAACGATTAGGA GGAAGAAGAGGAAGGAGAGATTGGCAGAAGAAGAAGAAGAAGACGAATTA GTTGAAGAATCTGTTGAAACGGAAGACGTTGTTTGTGATGTCTCTAGCCG TGCGACAGCTTCCCGTTTCAGACGGAACGATGTTCGCACGGCGATCGGTG GCGAGATGTCGGACACGTCGATTGTCGACGAGAAGGGATCAGAGACGGTT GAAGAATGCTGAGGAGGAGGATTATGTCGACGTTCCCGTCCACGACACGC GGCCTGGGTACACGTGACACAGACGTGAAGGTTACAGAAGATGTTCACCT CGTTGCTGGAATAATAGTCGTTGAGAGGTGGGTGGTGAACATGAACAAAG AACTTAAGAGGCTTACCTCGTTGGGAATGCCCAGGCCTTTATGTGGTTGT AGAAGATGGTCTTACCATTGCGTCGAGTCACTTCAAAGTCTCCCCACACC TGGAACAATTTTCTATGGAAGTCTCAAATAATATGCAGTTGGTCGATGCA CCATGATGAATTTTGTGCCAAACATGGTGCATCGACGCTAAATAATTTTC TTTTGAAATTTAAAGATGTTTTGCTAGACTTTCCCTAAACATCTTTTTAG TTTTCCAATGTTCTCTAATATCATCATGGTGCATCGAGAAAAAATGTTAT AGGAGGAGTAAAGAAATTTGAGACTTTACTTTTTTAGACCAAAAATGACC CAAAACTACCGAATTGTTTAGTAAGACGTTTTGAAAATTTTTCAAAACAA AGTTATGGCGGTTCAAAGTTCTGGAAAATAGCATATTTTCAGCTAAAATC TAATGTTTTGGGGGCTGGGGGAGGAATAAAAATGTAATTTTTTTTGTGCC CCACTGCCCGAAAATGCACTTTAATCGACGAATAAACGGCTTATAAAGGG CCACAATATTTATAAAAGAGTGATATTATAGTTATAAATAAAAATTGAGT TCCCGACCGAGAAAAAAATTGGCGAAAATTTTGATTTTAGCTGAAAATGG GACTTTTTTTCCAAAACTTTGAGCGGCCATAACTCTTTTTTGAGAATTTT TCAAAACGTCTCATTTAGAAATTCGGTAGTTTTGGGTCATTTTTGATCTA AAAAAGTAAAGTCTCAGATTTTGATACTTTCTCGATGCACCATGATGAAG AGAAAAAAAGAGAAAATTTAGAAAAAAAAAAAAAGAACCCTTCCGATGTT TTGGGAAAGTTTAGCAAAACAATAGATTTGTAAAAAATTCAATTTCATTA GGTTCCTATTAAATTCTCAATTTTTATCAATGCACCATACATTTTCAGCG TGAAATTTTGTAAAATGCACAGGAATGAAAATTGATCAGGTGTGTATAAA ATAAGAAATTGAAGCATTTTGTTTTTTTTTTTGTCGATACACCATGATGA ATTTCACGTCAAACATGGTGCATCCTGGAAAGGAGAGAGTTTTAAAAATG TATCATTTTTTTCTCGATGCACCATGAAGATTTATATTAGTAGAACTTAA ACCGCACTTAGCATAAGTGGCATAAAAATAAAGGTGGAGTAGCGCCAGTG GGGATTTTGTCTAAATACACTTATTATGATCCAAAACGATCGAATATCTT AATGAAACACTCCAAAATATTTAAGATTTTTCAAAATTTCCGGTCAAAGT TTTGGCAAATTGCCAAAATATTGAAAAAAAATATGAGCTTTTGAGGAAAT CCAAAGCAATGTCGCGTGTTTCGACCCACACAATGTTTTTATACAATGTA GAAAAAAATTTTTTTTTGGTCGACTTTTAAAATTATGAGTGGCAAAAACT GAGTAATTGCCAATTTGACAGTAAATAAAAAATTTTCAAAAACATTTTGA AAAGTTTTATTATGATATTCGATTATTCTGGCACCATTTGAGTGGTTTGT AGTAATTTCCCCACTGGCGCTACTCCACCTTTAAAATTAAAAAAAAAATC ATAATGGGTATTTAATATCAATGAAAATTATCGATTTTTCCAAATGTATC AAAATGAGTGTTCAGCGCGAAATTTTGTGCAGGACTTTTTCTTTCAATAA TATATCCCGAATGATGCATTAGTTATGGGCTACACGATTTTTAGAAAAGC ACCTGGCCATGCTTAAAGGTGGAGAACCGAAATTTGATACTCTGTCTTTT TAGATCCAAAACGGTCCAAGACTACCAATATTCGTATTAACCTGTTCTGA AAAATTTTCAAAAAAAAAAGTTATGGCCGTTCAAAGTTTTGGAAAAATGG TCGATTTTTAGCTAAAATCTCAAATTTTGGCAACTTTTCAATGTCACAGC TGGAGCTTAATTTTAGAAACAACACGTGATAAATTGCAAAAACATGCATA AAAATATGTTCCAACCGCTCCGACACTAAAAAGGTGCCAAAATTTGAGAT TTTAGCTAAAAATCGACCATTTTTCCAAAACTTTGAGAGGTCATAATAAC TTTTTTTTTTGAAAAATTTTCAGAACGTCTTAATACGAAATTTGGTAGTT TTTGGACCATTTTGGGTCTAAAAAGGCAAAGTATCAAATTTTGGTACTCC ACTCACTATCGAAGCAGAGCCCCAAAAGTTTGACCGACCCAATTTTGTAA GTTTCTTCGATGCACCATGATGATTTTGAGCAAAATGTTAGTTTTTTTTT TTGAAAAACTGGTGGCAGGACCCAGTTTTCGGCAGTTTTAAATGTCGATG CACTATGTTTTTTTTAATGAAACCGTACCTCCCCAGAAGTCTGCAAAGAG CATCCGTGTGAGTCCGACAGTGGTAGCTCGGATATCCCGTCATTCGCCCA ACACCTTCCGATTCGTCCATTCTGATCATCGCTCATTTCAACTGTGTACG TCTACAATTTACAAATAGTTTCTTTTGATTTATGGAGTTCCTGACTTACA ACTCTATCACCAACTGCTAACGGACGTTGTAGCTGCTTTGAATCCAAACT GTCGCCGTCTAGAACACGAACTCGGTAGTCGACTGTCTGAAACATTATAT GGGTCTCGCAGCGATAATTTTGAAGCCTTACCTTATTATCCGATAGGCTG CTTGCTGTGGTGGCATCCGAGTTGATAGTGATTCCACCAAATGATACGGT CACCTGAGATTCTTTAGGAACAGGGGCAGCAGGTATACAGGTCAGAAGGA ATCGTTTGTCGGTTTCTGCATTGAATCTTAAAAAAAAACGATGAGGAAGT TATTTTTTATTTTTGTCTATTTTTGTTCGTATATGGTTTTTTAGGTACCA TGGAATAAAAAAAATGCTCCTAAAAAAATTAGTTTCAATAACAAATATTA CTGGTACAGAGAGTGTAGATAGTTAGAGAGTGACTGACATCCGGGACCCA ATGGGGCGGGGCGCGCGGAAGAGACGATTCGTGTCGATTTACGAAATGAT GACAACGAGGAAAATTTCGTAAATCGACACAAATCGTCTCTTCCGCGCGC CCCGCCCCATTGGGTCCCGGATGTCTGTCACTCTCTAACTATCTACACTC TCTGTACCGGTAATACCATAATATGATCATCATTCTACATTAGAAAAAAA TCGATCTGAAATCACAGATTTTTGGCCTCCCTCATAAATTGAAATGGAAG AGGTTGCCAAACTAGGCCATTTTGGCTCGGCCATATCTGGGGTAGATTTA CGGCGCGTTGCGTGTCGCGTCGCGGCTCGATTTTAGTTGTAAAACTAAAT GTAGTTGGCCGTGTGGAGTACACGACTTTCCCACGCGTTGCCCGACGGGC GATTGCCAATGGAGCGCGAGAATCTCAATGAGGAAGGCCATGGCGCGCCA GAACCCCATGATTTTTAGGGTATTTCGAGGTTGGCAAATATTCTGGAATC TTTTTGCAAAATGTTTTTTTTTTTTTGAAAAAAAAATTCCAAAAAATATC CTGATCGATGAAAATTGTTGGGTGAAAAAAGTTGCAGATTTTAGGAGAAA TTTGAGAAATTAGAAAAATTAGAAATTAGGAGAAATCAGAAAATTTCCAA ACTGCTTTCAGAATACTTGTATATATTGAAATAGCCTAAAAATCATGAAA TTTTTCAAAAATCTCTAAACTAGCCTCCAAATTTGGTAGTAAAAATTCAC TGGCAGCAACTTCAGAGCGAGATTTTTCTAGTTTAAAGTGCTCGTATGTC GCTGAATTTTTTGTAGGTACCTATTTGAAAGCTCTTTTTTCAAAATTCAA AAATTTAATTTTCAAGTTTAAATTTTGAGTAGCGCCAGTGGGGGATTTTG TCTAAATACACTTATTATGATCCAAAACTACCTGAGTAATTGCCACTTTT TGACAGTAAATAAAACATTTACAAAAAAAAAAAGTTTTATTATGATATTC GGTCACTTTGGGACCAAATGAATGGTTTTTCATAATTTCCCCACTGGCGC TACTCCACCTTTAAAACTGAGCGGAAATACTTTCCTTGTGAGCATAGCGG CAAAAAACCTAGTACCACATGGCAAAAAAAAACCCACTCATTGTTAGCCA TGACAACTTCGATCTCATTCTCCAAATTGCCTTCTCCGTTCTCCTTGGTC GAGCAGCCAGTCAGCGGAATCTAAGCAAATAATGCCCAAAAATTCAATAC ATTCAATAGGCAAACCTTCAACTGATATTTGGTGTCCGATTGAAGCGTGC CATTTGCATAGATACACTTTGGATGGCCCGCGCGACTTTGTATCGTGCCA CGGAAGTTTTCGTCAAACTTGATTTTCAATAGGAAATCTGTCTGCAATAT TGAAGACGTTTTTTTCCTTTTGGGTGGTGACCTTCAAGGTTTTGGCCTGG GTTTTTAATCTTCCATTAAATGCCCTTCAAATTCGCTTTTTCGAGAGTTT AAGAGAGTTTCTAGGCCGAGGAACTTCTTGCAGCCAAATTTCTAAACTAT TGTGTTTTTGCCAAAAACAATGAAACATTTTAGGTCATTTGTGACGTCAT ATTTTTTCCATGCAACTTTTTATTGGCTCCACACATCTTCCAAAAAGCCT AAGCCTGAGCCTAATCCAATGTCTAAGCTTAAGCCTAAGGTTCAGCCTAA GCGTACGCCTAAGCCCAAACCAAAGCCTAAGCCTAAGCCTAAGCTCAAGC CTAAGCCTAAGCCTAAAAAAAACCGGAAAATCCTAAGCCTAAATAGCGTC AGTAGCAAGCTAACGCTCGCCACTGACGCCAAACCTAAGTCTCGGCTTAA GCCAAAGCCTAAGCCTAAGCCTAAACCCATGATTAAGCCCAATCCTAAGC CTACGCCTAAGCTTGAACCTAAGCCTAAGCCTAAGCCTAAGCCTAAACCC AAGCCTAAAATTTCTAGGCCACCACTAATATTTTCAAAACTCGATTCTCA AATACTTCATTTTTTCAGGATATGAAAGTAGGACAGAAATGGGCAGGGTA TATGGTATGGAGCAAATATCACAAGATGGCAGAAACATAGATACGGGGTG GGAGTGTTGGACTAGGTGACTTTTCTAGGCCATCCCTACCTTATCACACG CAATAGAAGTGTCCACAATGGCCACCGATCGAATCAGCGGTGGCAGCACC ACAACCACCGACCAAATGATCCAGTGCAGAATCATAAATTTGTGGAGGGA AAAATCGATAACAGTAGTGAGGGTAATAGTAGTAATAATACAAATATATA TGGAAAAATGAATACAAAAAGATGTGTGCGCTGGTTGGGGTGGTGGCGTA AGAATACAGGTGGGTGGGGGGTATAATTGGAGCGTGGCCGAGGAGGAGAA TCGCAAAAAAAAGAAGGAAAGAAAGAGGATAGTAATGACATGTTACGGTA GAAGGACAACTACCTAATTATATGAAAGAGGGGGGGGGGGCGACGAGAAG AGGAAAAAGTCTTACGCAATTTGCTACTCGACTTTCAATTTCTGCTAGAA ATCGAAAAAAAAATAGGAAACAAATTCCGACTCTATTCGATATCATCACT TCCGGGGCACGGCACAGGTCGGATCAGATTCAACGACGTCTCGCGATCCC GACCCTCTGATCTTACGGCCATCCCATTGTTCACATGATAGTCGATGAGC TCGGAGATGTTGCTGAACGTGCGATCGCGGGTTCGGACTCTCTGGAATTT TGAGAGGTTTGAAGGTTTGGCGGGGGGGGGGGGGGAGGGTCTTACGTTGT GATTGTCCAGTAGGATGAGATGTTTGTGCTCGTTTTCAGCGGTTCGGCCA CTCAGCACGTACTTGCCGGGCGTGTGGTCGCTTTGTCTGCAAGGAACTGG ACAAGTTTGAGCGGCCGACAGCTTGCGGGTCTTTTTTTAGAGAAGGGGGA CTGTGAGGTGTCCGCTGCTTCAGACAATCTTAGCATCATGCAAACCTTGC ATCTTTTGTATTTCAGGAAAAAAAACGCAGAATTTTTTTTGAACAAAAAT TTCAGCCTAAAACAAAAATCTAAAAAAATTTTGGGAGGATGAACTTATTA TACCAAATTTTTCCCTGGTCTTTCAAGAATTATTTAAAGTCCCGTGGCTT CTGAACATATTATCAAACAAATTACAGATATGAAATGTGACTGAAGCTTT AAGTCAGAAATATATAAAAAAAGGATTTTTCATACTATTTTTTCAGTCAA ATTTGATTTTTTTAGACTTTCAGATTTTTCTACGAAGTCTGTTAAAATAG GCTTATATTAAAAAGCTATCCGATTTACTATTAGTAAAAAATTATAGCGA CCGACATCTCGCAGGTTGTTAAAGAAAGGTGCATTGACCGGCTCACGCAA CTTTGGCAGTTTATATCTCGGCTGGTTTTGGTTTTATTTAAAAAATTTCA ATTGACGAAATATTTATCACTTTTTCTACTAAAAGTTTGCAGTTGAACAC TTTTTGCTAGCAGCGATATTAACCGAGATATTAGCGGAAAAAGTTACATG AGAAACATGGTGCATCGACAAGAAATATCTCACAAAACTTTGGCAGGTTA TATCTCGGCTGGTTGTGGTTTTATTAAAAAATTGTTAATTAACAAAATGT TTATCCTTTTTTCTACTACAACTTTGCAGTTCAACACTTTTTGCTAGCAG CGATATAAACTGAGATATGATTGGAAAAAGTTACATGAGAAACATGGTGC ATCGACAAGAAATATCTCACAAAACTTTGGCAGGTTATATCTCGGCTGGT TGTGGTTTTATTGAAAAATTGTTAATTGACAAAATATTTATCCTTTTTTC TTCTACAACTTTGCAGATGAACACTTTTTGCTAGCAGCGATATAAACCGA GATATGATTGGAAAAAGTTACATGGAAGACATGATGCATTGATCAGCTAT CATAGCTCATATTTTACTTATCTCAGGTTTTACCAAAAAATTGCCAATTA TTAAAACATTAGCCTTTTTCTTCGAAAATCAAATTTTGCCCGAATTGCCG AAAATATAGATTTGATATTTTTTTGTAGATTTAGGAGCCTAAACATTTTT TAATTTTTTAAGTATTGACCGTTTGCTTTTAAAAATGACTAATCGAATAC TGAAAACACAGTTAACTTTTTTTTCAATTTTCGAATTATAATTAGGTTTG AAAATTGCCGAAAATGTCGGCATTCAGTTGGAATTTTGGCAATTGCCGAA AATTTCCGATTCCCACGCGCCCCTGGTGTGAACCTAGTGAGCATGAAGCC AAACGTTTTAGAAATTCAGCAAAATTCTAGCTTTTTTCTATAAAAAATCT AAAAAACCTTACCGAACCAAAAAATCGCCTTCCGTCTTCAACAAAGCCTG TGCATCCTCTCTGGATAAATTTCCATGATACCAAACTTTCCCCACAACAT CCTCAGTTACAGTAGGTGCTCGGCAATTCGACACAAATGACTGTCGATGC AGGGAACTTCGATGTCTCATCGGCGGCGCCGGCACCGTAAATCCATCGTT AGAAGTTGAAGCATTCGCCTGTGCATCAAAAGTGTTCACATTGATCGCAG TGGTAAGGACGTCGATGAGCTTGTGCACATCCTCGATGAACACCACGTGG CATCGACGATCCGTTCCATCCTTGTTTTTTGCAATGTAGCCGAACATTAG CTCCGTGTCCGTACCCTTTTGGCCTTGGGCTCCGAATGAGAAGAATGAGA AGGGATGACGTTGAATTAGACGACTTTGTTTTATGATTTTGATCATTTTC GAGGAAATGTTGATGTCTACGGGGAAGTTTTCTTTTTTCACTTCACCGAT TACCTGAAAATAAGGATGGTTTACCTGGGCTTTTTCATCGACCCGTGAAG TGTCGGCTGCAATAATTTTAGTCGAAATTAGTGATAATAACTTTTCTATG AATAGCGGCTGACATCATTTAGCGCGATTTTTGATCGACCTGTAAGATGT CGGTTGCTTTAGTACATTCTATAGTGGCAGGCTTTTGGCTGAATTTTACT GGATATATAAGCTATCAAAATTTGAGCATGTCGATGCACCATGTAATTAT CTCAGTTTATTTCGCTGCTATCAAAAAGTGTTAAAATGCAAAGTTGTAGT AGAAAAAACGATAAATATTTTGTCAATTGACACTTTTTCAAAAAAAAACC AAAACCAGCAGAGATATAAGTAGTCAAAGTTGAGTCAGATATTTCCAGTC GATGCACCATGTAACCTTTCTCTAATAACCTGTGAGATGTCGGTTGCTAT AATTTTTTAGTCATTAATTTGGACAGCTTGTTAATTTGAAATAATTCTTG ATGATATCGTAGCGCGGCCGACATTTCACGGGTCCTTTTTTTTAAACATT TTGCAAAGCTGGTCATGCATTTTTGGTAACACTTAATATCAAATTAATGA GAAAATGTTTTGTAAATTTTTACCATTAGCCATGCCCAGAAAATGGCAAG TTTTTTATTTTATTTTCTTTTGTTTTTTTAATTCACAAAAAAAAACTCAC CCTACTAACAACTGGATTGATTTCTCGAGCCGCAGTCACGCCAACAGTAG CTGCAACGTGTTGTATACATTCTCTGAAAATTGAACAGTTACTTTATTAC GTAGATTTTTTATATATTTGAGCTTGCAGATGTTACCTGCCTTCATGCCT GCCTACCGCCTGATTTCTAAATTTTTGAATAAGATTTTTTTTTGATTTTA AGCCATAAGAAAAACTAACGAAACAACTTGAACTCTCATCTCGGAAACCA TCACGTTAATTGACTCGACTACTGGAACACTTCCGAGGTACTGAAAGACA ATTTTATATTTTCGGGGAAAAAACTAATAAAAAACTCACAGTAGCCGACA GAGAAACCCCGCTGCTCCGCAGCTCCTCTGCAAATGAGGGCTCCACGTTG AGCATCGCCGCAAGTTGATTTTTCGACGGAATTTTTGATTATTTTTAGAA AAAATCTAACTCGAAATTCGTTACAACCGAAATTTTGCAAGATTGAGTGA ATGAGGAATGACCGGGAGAGAAACGGAGACGCAGGCGGTGAGCGGAGTGG GAGAGAGAGCGCGCGAGACGGAGAGGCGCAGGCAGTGGTAGGGAGGAGAC AGGGAAAGATTAGATTGGTGTTGACTGGGTGAGTCAGCATTCTAATAAGT TAAGTTGACTCATAACTTTGTTTTTTGATCAGAGGGGGGGGGGGGGGGCC GTGGCCTAGAAATATCATTGCCTACTTATTACGTCACTAATGGTCTAGGA AACCTTGATAGCTTTTTTGGAGAAGATATGACGTCATTGGTGGACTAGAA ATCTTATTTTAGTTCTGGAAGAGAAATATTTTGACCGTGGAAGACAAATT AATGATGTGACCGGTGGCCTAGAAGTTTCAAATTATACCTGGGGAAATAA ATGACGCCACTGGTGGCCTAGAAAACTTAAACTATGCCTGAAGACGTCAC CGGTGACCTAGAAATTTAATTCTGGCGACGTCATAGAAATTTGAATTTTG ATGAGAAATATAATTTTATTGGTTTTCTGAAAATTGAATTTTATTGATTT TTTGGCAACCGGGAAATTGGAAAATTTAATAAATTGAACAAATGCAATAA AATAAGCAGTTTTTCAACAGTCATTACTTTTTTCCGTGAACCGTTTTGAT TTTAATTTGTAAATCTAGGTCGGAAAAGTCACACACACCGAGGAGCTAGG CTTCCCTCATCCTCCCTGGATCAGTCGGTAACTGCTTCGACTGGGGAGTG GGAGTGGGAGGGGTGGGATGAGTTCAATTCTTCTGGAATTCCATAATTTT TATTTTTGTTTTTTTGCGCCTACATATACCTGTGAAAATTGGAACTCGAC ACAAAAACCTCTCTAGCGCGGCTTAAATTTACTTCAATTCTTCCGGAATT CCATAATTTTTATTTTTGTTTTTTTGCGCCTACATATACCTGTGAAAATT GGAACTCGACACAAAAACCTCTCTAGCGCGGCTTAAATTTACTTCAATTC TTCCGGAATTCCATAATTTTTATTTTTGTTTTTTTGCGCCTACATATACC TGTGAAAATTGGAACTCGACACAAAAACCTCTCTAGCGCGGCTTAAATTT ACTTTCCTGTCCCAAAAACTCATCTATAATATTTTTAAAAAATCTAGAAT CCAAATCTATCAGATTTTTTTGAATTTTTGATTTTTTTCACATCGAGATT CGGAATCAGCGGAAAATTTGGAGTCAATTAAAAATATTTTCCAGATTTCG ATACTCCACATTTAAAGGAGATCACCTGAAACGCCAGAATATGATACTTC ATACTCTCCATCTTCTCGCTTTTGAAAATAATCAAAAAAAATAGTCGCCG TATTTATTGATATAGAAAAAATACCAACAAAATTGTAACTATTGATTAGC CATACAGGGTCTTTAAAGTCAACATTCATAGTGGGAGCTGGAAATAAAAA TATATAATAACTTGTTAAAAGAATTTATTGTGGAGTTATAACACCTATAG ACAATTAAAATCACCTGCTGCCTAAAGAGTATTTACCAGAAGCAAAGGTT TTCTGAATTTAGTGGAGTTTGTCCATTTACTTTTTTGCATGTTATTGAAT TGAAATGATACATAGTGAAACTAGAGGTAAAATTATTTACTAGGTTTAGG CTTAGGCTCAGGATTAGGCTTAAGCTTAGGCTTAGTTTTAGGTTTAAGCT TAGGCTTAGAATTACCGATAACTGATAACTTTTGCAAATTTAGTTTCTGT AATATCGGCAATAGCCAAAATTGCCGGAAATTTCTGCGATTCGAATAAAT AAATTGAAATAAAAATTAGTTCCTAAGATACATGTTATCTTTTTGCAGGA AAGTAGTAAACTCATGAAATGAGAAATTGCGATGAGGAAGGAAACATTCC TATGGTTCCTTAGACAATTTCTCACCTTACATTAGTATATAATATATAAA TGATGAATTTGACTTTTTGAAATTCTCTTCAATAAATACATTTAGTTGTT TTTTTTTTAATGAGTAAAGTTGCAGAGTGTGGAATTTGCTATGAGGAATA TGGTGAATATTGTTGGAAATTTTTCTGAAAGTTTTCATTTTTTTTGGAAA TTTAGAGAGTTGGGTGTAATTACTGAAAATTATGTTTTAAAAAAATTATT TTAATGATTTTTCAAATTTTACAAAAAACTCATTTTTAAATCATTAGAGG TGAAGTAGCGCCAGTGGGAAGATTGTTAAGATCCACTCCTTTAATCCGAA AAGTACCGAATATCATAATAAAACTTTTCAAAAGTTTTTAGAAACTTTTT TATTTACTGTCAAAAAGTGACAACCACTCAGTTTTTGCCACTCATAATTT TGGAAGTCGACCAAAAAAAAAATTTGTTTTCCTACATTTTTTATACTTCA ATTTTGTTTTAATTATTTGTATTGAAAAATTGTAGGGGTCGAAACATGCG ACAATCCTGTCAGTTTTCAAAAATCTCTACTTACAAAATATAGGACACGC TCCAAAAATGGATGTTTTTACAGACAACGCCATCCGAATCCCTTGCATCG GCACATGCGGTCATACGTTATGTGACAGTTGTCGTGAGAAAATTAGAGAT AAAAAATGTCCTCAGTGTAATCAGAAAGGCGCATTTGTTGTGAAAAATGT GAATAAACAATTTTGGGATTTAATTGTTTTTTCGCAATTTTTAAAACCCC AGGAAGTGGAAGTTGAGGAGACTGAAGAGGTTGGTTAGAACTTTTTTTTT GGATTTTTCGGTATTTCCGGGAGGTTATCCTTTGGGCCTAAAACTAGGCC TAAGAGTAGGCCTAAGCCTAAGCCTAAAACTAAGCCTTAGCCTAAAACTA AGCATGAGCCTGAGCCTAAGCCTAAGTCAAGCCTAAGCCTAAGTCTGCTG CTATCAAAAAGTGTTAAAATGCAAAGTTGTAGTAGAAAAAACGATAAATA TTTTGTCAATTGACACTTTTTCAAAAAAAAACCAAAACCAGCAGAGATAT AAGTAGTCAAAGTTGAGTCAGATATTTCCGGTCGATGCACCATGTAACCT TTCTCTAACAACCTGTGAGATGTCGGTTGCTATAATTTTTTAGTCATTAA TTTGGACAGCTTGTTAATTTGAAATAATTCTTGAAGATATCGTAGCGCGG CCGACATTTCACGGGTCCTTTTTTTTTAACATTTTGCAAAGCTGGTCATG CATTTTTGGTAACACTTAATATCAAATTAATGAGAAAATGTTTTGTAAAT TTTTACCATTAGCCATGCCCAGAAAATGGCAAGTTTTTTATTTTATTTTC TTTTGTTTTTTTAATTCACAAAAAAAAACTCACCCTACTAACAACTGGAT TGATTTCTCGAGCCGCAGTCACGCCAACAGTAGCTGCAACGTGTTGTATA CATTCTCTGAAAATTGAACAGTTACTTTATTACGTAGATTTTTTATATAT TTGAGCTTGCGATTGTGTAATCAAAAATAAACATTTGAAGCATGATACGA AATATTTGAACGATTTTTTTTCGGAAAATCAATAAATGAAAATGGAGTTT TTTTTTTGGATTTTAGCAAACTTCCCAAATGACGGAAAGATCATATGAAG CGATTATTTTTTCTTTTATAAACCTGTTCAGGATTTGCATTATTATGAGA AAATCCTAGGCCAATTAGGCTAGCATGTACGGAAGTATTTTTTAAAAATT TATAAAAGTAATGAAAAGCTGATATTTTCAAAATTCCAGAATGACGGAAA AATCATATGAAATGCTTTTTTTTTCTTTTTTAAACCTATTTAGAATTGTC AAAACTACCAGAAAATACTAAACAAAATAGCTTAGCTTGACCGGAAATAT TTTTAAAAAATTGATAAAAATAATGAAAAGCTGATATTTTCAAAATTCCA GAATGACGGAAAAATCATATGAAGCGATTCTTTTTTCTTTTATAAACCTC TTTAGAATTGTCAAAACTACCAGAAAATACTAAACAAAGTAGGTTAGCTT AACCGGAAGTAATTTTTACAAATTGATAAAAATAATAAAAAGATGATTTT TTCAAAATTCCAAAATGACTGAAAAATCATATGAAGCGATTCGTTTTTCT TTCATAAAATAGTTTAGAATTGGAATAATGATCAGAAAATACTAAACAAA GTAGGTTAGCTTGACCGGAAGTATTTTTAAAAAATTGATTAAAAAAACTG ATTTTTAAAAAATTCCAGAATGACGGAAAAATCATATGAAGCGATTCTTT TTTCTTTTATAAAGTAGTTCAGAATTAGCATTATTATGAGAAAATCCTAG GCGAATAAGGCTAGCATGTACGAAAGTATTATTTAAAAATTTATAAAAGT AATGAAAAGCTGATTTTTTAAAAATTCCAGAATGACGGAAAAATCATATG AAGCGATTCTTTTTTCTTTTATAAACCTGTTCAGAATTGTCAAAACTATT AGAAAATACTGAACAAAATAGGTTAGTCCTAGGAAAGACTAGTTAGGAAA GAATTCTTAAAATAGGAAGTTGAACAGAAAATCTGGAAGATCTGAAATCT GGAAAAAGGAACTCTCAAAAATTCAAATTTTGATTTTAGGAATATATGGC TGTGTAGTCTTCATAGACAATCAAAATAAATTATTTTAATTTTCAACCAT CTTTATGCACGGGCTTCTGTCCTTCCTCATTGAATTTTTCGCGCTCCATT GACAATCGCCTGCCGGACAACGCGTGGGAAAGTCGTGTACTGCACACGGA CAAATACATTTAGTTTTACAACTGAAATCGAGCCGCGACGCGACACGCAA CGCGCCGTAAATCTACCCCAGATAAAGCCGAGCGAAATGACCTAGTTCGG CAAACTCTTCCATTTCAATTTATGAGGAAAGCCAGAAACCCGTTTTTATG TAAAAGTTCATACTGTGCAGTTAATTTAAACAAATCAAAATTTGGAAAAT GATTTTTGGCTTTGTGCAAACTGTAGCGTTTTAGGCGTTAAAAATCTGCC AATGAATAAAAAATTTCTTATAAAATTTTTAAAAAAACAGTTATTTGCCC ATTCCGTTTTTCAACATTTATCAATTACGGTTCCAGTGATCAAATGCTTA CACGGAAGTCACTGATGACGTTGACTCCATGTTTGGTTGCGATGTGAAAA AGGTCGTTTTTTGCCCAAATCGAGAAAGGTCACACACACACATAGACATA CACAAAACCTTATATAATTTGTAAGATATTTTGTTTGATTCGAGAAAAAA AAGAGAACAGGTATTCCTGCGGCGTCGTTTTTCTAAACGGCAGGAAAAAT TGAGAGAAAGAAAGAGAAAGAAAAAAGATGGAAAAAAACAGTTTAAATAT AATTATTAGGTTTAATTATTAGGGGTGCACCATATTGTCGTAGGGGCCCT TCTCCAAAGTTTTAAGTTTATCGATAGAGCGTGAATACATAAAGAGAGAA ATTTGACCTGCAAAAAAAATATATGGTTGGTTCCCATGCCATAAAAAATC CATGCAACAAATGAAAACAACACCTGCCAAGTGTCCTCCGCCAGTCTAAC CAAGTTTTTCCCTCCAAATGTTCCGTGACATTGTTGTTTAAGGCTTTGTA CTTTCCGCAGCCGTCTTATTCTTCCCGAAGTGTTCTCCCTAGATAATCGG GTTTTTTTGTTGAATCGGCTGGGGGTAATGATCGGAGAAGATATATATGA AATAAATGAATAAAAAAGGAACACCTTTTGGAGAGGCAATGAAAAAGCAA GCTATGCAAAGTATTGATCCGTTGTTATGAATGGGCTTGCTTAGGCTTAG GTTTTTTTTAGGTTTAGGCTTAGGCTTAGGCTTAGGCTTAAGCTTAGGCT TAGGCTTAGGCTTAGGCTTAGGCTCAGGTTTAGGCTTAGGCTTAGGCTTA GGCTAAATCTAGGCTTTGGCTTAGGCTCAGGCTTGTGCTTAGGCTTAGAC TTAGGCTTAAGCGTAGGCTTAGGCTTAGGTTAGGCTTAAGCTTAGACTTA GACTTAGACTTAGGCTTAGGCTTAGGCTTAGGCTTAGGTTTAGGCTTAAG CATATACCTAGGCTTAGCCTTAGGCTTAGTCTTAGGCTTAGGCATATGTT TAGGCTTATGCTTTGGCTTAGGCTTAGACCGTGTGTATATCCGAATGTGT GTTTTATTATGTTCCTGATTCTGAAATCATTTGTTAGTTTAATATCTACA AACATTCCAAACAGTCTGTATGTGCTGCCAGGTGGCATTTCCTTAATCAT CTCAAATATATTTGGTTTCATTTCCCCCCATCGCAAAATCCCTTTCTTTA CCTGTCATTTCGCCTTTACGTTCAACTTATTTGATTTTGTTGTTTTCAAG TGATAATCACGATTAAACAACGAATGAAAAAAATAGGTATGGAATTACTA CGGTATTCTTTTTTGCCTATCCTTCTTTCTCTCATTTTCCTTTTGTCTTC TAACAAGTTCTGCACTTTTGAGGTACATTTCTTCTCCGATTTGATCAGTC AAAGCTATTCGGTTTAAACCATCTTCTATTCAATTCTGATGATTACTGTT AGGAACGAGTGGTCACTTAATTCAAAAGGTCGAACTGTTGTACTAATTGA ATTGGAAAATTTGTAGGTTATTTGACGTTTATCAGAAATTGAAGATTTGA TATAAAATTTGGTAAAAATGAAAAATAAAGTTTCATTTAGAGTAGTATTC TGGCTTCCCTTATAAATTGAAATGGAAGAGTTGGCCATATTGGTTCGGCC ATATCTGGGGTAGATTTACGGTGCGTTGCGTGTCGCGTCGCGGCTCGATT TTAGTTGTAAAACTAAATGTATTTGTCCGTGCGGAGTACACGACTTTCCC ACGCGTGGTCCGGAAGGCGATTGTCAATGGAGCGCGAAAAATTCAATGAA GAAGGCCAGAACTTCGTGTAGTATTAGCAGACCAGGTTTTCACATAAATT TGAGCGGTGAAACTAAAATTATGACATTTTTACGCAACTTTATGGGCCAG AAAATTTTTTTTGGAATTTTTTTTTGAAAAAAATTCAAAAATTTTGATAA AAATAATTGCCAAAAAGACAAATTTTGAGTAATTTTACTGCCTCTAAGAG TAATGAACAAATGTTTCCAACTTTTTGCAAATTACTTTCTTAGTTCCCTT GCAAATCTATATAGATTGAATTTGGCCTAAAACCTAACAATTTAGCTGCA ATATTGTTACAAAAATTTGGGTACAATAGTGTGTTTATTGAAACATGTGT TCTTGAAGTTGGGTAAGAACAATTGATGAAGGTTGTACCAAATGAACAAA AAATGTTTTTAGAGAAAGTCTGAAACATTACCTTATTTCTGATGGTCGTT AATCAAATTTTACTGTAACTGTTATGAAACCTTGGGCATCGTATTTTCTC TATTAGTGCAGCCGACCACTTTACTTTGAGACGTTATATCTTGTTTATTT TAAAGATCTCAATATTTTAATAACTACAAAATCATAGAAAAAGAACCAAC AAAAATTTTGTTAGTTGACAATTTTTAAATAGGACAAACGATAACTGAGC TATGAGCTGTCAAAGTTGAACAATGGTGGTGCAATAGAAGGAACTAATAG AAAAAATACGGTAACCTAAATTTTTATGTTAAAATAAGAAGTAGCGGGTT GATTCCAGAAGTTTTTTTTATAAGGTAACCATCCGCTGACCGCGCCTCCG GTATCCCTTCAAAAGGCAAAAAGTAAACTTTTCTAAAACTACAGTAATCC TACAGTAGTCCTACAGTACACCTACAGTACCTCTACAGTATCTTGACGTG ATCCTCTACCTACTCCCAACCCAGTACCTCTTCAAAGGCTAAAAAGTCAA AATTTCACAAACTACAGTAATCTTACCGTACTCCTACAGTAACCCTACTG AACCATTACAGTAATTTGACATTATTCGCCACCAACTCCAAACCCAATAC CTCTTCAAAAGCTAAAAAGTCAAAAGTTCACAAACTACAGTAATCCTACC GTACTCCTACAGTACTCATACAGTACTACTACAGCACCCCGAACATATCC CTCCACTAACCCCAAGTCAATATCACTTTAAATGACGAAAAGTCAATTTT TCCAAAACTACAGTAATCCTACAGAACTCCTACAGTACCCCTACAGTACT ACTACAGTACCCTGACTATGTCTTCCACTAACTCCAAACCAATATCCCTT CAAAAGACGAAAAGTTAATTTTTTCAAAACTACAGTTATCCTACAGTACT CCTACAGTACCCCTACAGTACTACTACAGTACCCTGACTATGTCCTCCAC TAACTTCAAACCAATATCCCTTCAAAAGACGAAAAGTCAATTTTTCTTTT TTTTAATTGAAATTGTCCGTTATTCCCTATTATGTAATTTTCCAAAAATG CTGCCAACCTCAAAAACTGTTATGTTTTTGTTCATACACATTTAGCCACC ACCTGCATATGACCCATAAAAAACCATACTTGACACCTGACATACTTGGT TTCGATACAAAAATCGAGAACATTTGGCAAACCTGAGTTGTCATTCTATT GGCTATTCACCATGTGCTCTAATAAAGTAGAACTTGGGAATATGTGTCAA GGCTGTAAATGGGGGAGTAGTATTGTTAACATATGTACTGTGCAATATTC CAGATGCCAAGTATACAGATTATCTAATGACAATAGGTAATTTGATTTTT CAGGTGCTATAGTGCTATATTGTTCCAAATACATGATTTTTTTTTAGAAA ATTGAGGTGTGGTGTCGAATGTCCCATAATTTTGGATAATCAATGGTCTT TAGCGAAATCCTAATTTGAAGCCGTTTAAAGCTCGAAAGTGCAATACATT TACAACTGCATTAGCGTTTTATTTTGCTCTGAAAATGACAAATACACAAA ATTTTGGATTAAACCGCCTGGTTTTAAAACCGAGCTTAAACAATTTTAAT TTTACAAATTAAAAAGTAAAAATTTTCTAAATTCCCTACACTAAAATTTA GCGTCCACATCACTTTCTACCCCTTAATTAATTTTTTACTACATTTAACA AAAATATTTTGAACCGGCAATTGTCAAAATTGCCTATTCCCAAAAATTTC CAAAACCGGCAATTGCCAAAAATTTTCAAAGCCGGCAATTGTCAAAATGG CAGCAAACTTCCAAAACCGGCAATTGCAGAAATTGCCTATTGCCAAAAAT TTCCAAAACCGGCAGTTGCCGAAATTGCCGAAACTGCCGCAAACTCCCAA GACCGGCAATTGCCGAAATTGCCGGTTGCCGAAAATTTTCGAAACCGGCA GTTGCCAAAATTGCCGCAAACTTCCAAAACCGGCAATAGCCTAAATTGCC GATTGCCAAAAACTTCCAAAACCGGCAATTGCCGAAATTGCCGATTGCCA AAAATTTTCAAAAAAATTTCAGAAATTGATACATTTTTTAATTGTTGTGG GAATTTTTTTTAATAAATTTGAAACATATCACATCCTCCTGTTTTCAAGA AAATTAATTCCTTCAGTTTCTGACGACTCAAATCCTCCTCAAATGCCAAA TTTATTTTGGGAAACTATACCAATTCTCAACAGAATTTTAAAGGTGGAGT ATTGCCATTTTGTCTAAGTACACTTATAATAATCCAAAACAACCGAATAT CATAGAAAAACACTCGAAAAAAAATTTTTTTGGTCGACTTCCAAAATTAT GAGTGGCAAAAACTGTGTAATTGCCACTTTTTGACAGTAAATTAAAAAAT TTCAAAAAAATTTTGGAACGTTTTATTATGATATTCGGTTATTTTGGGAC CAAGTAAGTGGTTTACTCCACCTTTAAAAATTTAGCCGTTATACAAACTC CAAATATATCCATTATTCTTTCCCCTATACCCTACCCATAACAAAACAGA AAAATTTCAAATTCGCATCGTCGCAACACCACAGCATGTCCATTTGGAGT GATGTTCCGAGAGAAAGGTCAAATCGTCTACCTCCTTATTCTAACCATCT CTATGCCTATATATGAGGCTTTAATGAACGAGCGCCGCCGCCGCGCGCCT AGCGCCTCCGAGTGTCGCAAAGTGCAACTTGTTTGCCACTTAACCTGAAT TCTACTGTGTTGTATTATGTGAAGAATCGGATAGATGTAATGTGTAACAA TAAAAAACCACGACGACGACTGAATATGGAATCGGCTAGGTGGTGCAAAA GTTTCGGAAAGTTTTGGTACCATGGTACCTGTGTAAGCTCTGTGAATTTT TGAGCCACGATGGGTCTTGCAACGATATTTCGTCGAAACTTTATTCTCGA AAGTTTGTTCAATTTAAATTTTCCGCAAAAAACATTTTTTGAAAATATTT TTAAAAATTTGAATTTCTCAGCATTTTTTTTTTAATATGAAGTTTCCAAT CCCTCAAAAAAAAATTTCAGAGAACATTTGAATTTCCCGGAAACCCCAAT TTCTGAGAATTTTTCAATTTCCCTTTAAAATAAAATTTCGGAGAAAATTT GAAATTCCCGCCAAAAATTTATTTTGAAATATTTGAATTTCCCGGCAAAT ATTTTTTTTTTTGAAAACTTTGATTTAACGGAAAACCCATTTTCTGAGAA TTTTTGAATTTCCAGTTTAAAGAAATTTCCACGGGTTTCTGGCTTCCCTC ATAATTTGAAATGGAAGAGTTTGCCAAACTAGGAAATTTTGGTTCGGCCA TATCTGGGGTAGATTTACGGCGCGTTGCGTGTCGCGTCGCGGCTCGTTTT TAGTTTTAAAACTAAATGTATTTGTCCGTGTGGAGTACACGACTTTCCCA CGCGTTGTCCGGCAGGCGATTATCAATGGAGCGCGAAAAATTCAATGAGA GGAGGCCAGAACCCCGTGAATTCCAGCAAAAAACTTTTTGAAACTATTTG AAATTCCCACAAAAAAACAGTTTTGCTGAGAATGTTTGAATTTCCCCCAA AAATTTGACGGAATACTTGAAATTCAAAAAATGTTGTGAGAATATTTGAA TTTCACGGAAAACCTGTTTTCTGAGAGTTTTTGAAAATCCCTCAAAAAAA ATTTCGGAGAAAATTTGAATTTCCCTCAAAAAATTTCGAGAAATATTTTA AATTACCGGCATATTTGACATTTTGAACTCCCCACAAAAAAATTTTTAAA AATATTCGAAATCCCGGAATAATTTTTTTCACTATAGTCAGAAAAGATCA ACTGACTAACTTTTCACAAACTACAGTACCCCGAGCATAACCCCCATTAG TTTCCGATAGCTACAGTAATCCTACAGTACTCCTACAGTCCCCCTTCATA ACGTTACCCTGATTACTAAAAAATGCCCTTTTAATGCGTATTATCACATC TCACATGATTAAGACCAAAAGGGGTGTCCTTCAGATAAATACCCGTTCAA TTTTTTTTACTGCAAACCAGTAGACTTATCTTTTAGGTTATGAAGAGAAG ACTAAGTGTAAACAAGGTCGTTGGAAGTGATATGTTAAGAAGTTAACGGC AAAATCGATGCCAAAACTTTCTGAGCTTTGACTTCTACTGCTCAGCTCAT TCCATAACCATGAGCTCATCAACTTGCCCTCCCCCCCCCCCCACTATCTT CCACCACACTTTCATTCCTCATTGTCGCAACAAACCCATCTCCGGATTCG TCCTTTATATGTGTCACAACACAGGAGTACTCCTTAGCGCGCCAACTTGT AATACCCCCAGCGACTTGGCCCAGAAACTTTCCTCTAATCGCATCCACAA TATGGTCTGCAAGTACAAGATTAGCACCCCCCATTGTATGTCAATTTGTC TAGTTTTTTATTCCATTGAACTATTCCACAATGTAGAAAATTGGGGTTAT GGTACATCGAAACATGGTGCATCACATAATGGTGCGCCCAAATCATGGTG CATCGTCAAAAATAAGAATCCGAGTCCTCCCAGACATCCATGTAGGTATG CACTTTCCCGCCTGTTCCGCATCTAACCAACGATTAACTGAATCTTTACG ACCCTCTCTCCTCCGAATGATGTTGAAAAATGTCGCGCCAGCACCTTTGG AGGGGGGGGGGGGGGGGTTAAAAAGATTCCAATCTACCACCTATCTTCTC CATTTATCTTCAATTTTGCCCCCCGCGCTCTTAGATTAAATGAACTTTTT TGGCTAAATCACAGCACTTTTTATTAAATCTAGGAACTGCATCTAAACAA TGCATGTGGTTACAGTTACCGAAAAATGTTGAAAATTTGGGAAAAGTGCC AAAATGTTGAATCAAGTCAGAGAGATTCGAAGACGCTTCTAGCAATTTTT TGACAGTTCCTGTCCCCTTTCGGTAGATTTGCGGCAATTCTCGGCAGATT TACACCCGCTTTTGGCGGTTTTTCGGCAACTTTTAGCAATTTTGGCAATA CTTGAAAACTTCTATTTAGCAACTTTTAGTCAATTTTCTGTAATTTCTGA GAACTTCCGATTTTCTTTTACATTTTTTTCCGATGCACCATGTCCCGAAC GCTCGCGCCACGACTTTTTTATTCATTATAGCAGGTCCTGTTTTGATGCA CCATTTCCCAAAGAGCCCTGCAATGCTGGCTCATGTCACGATGTACCATG TCCTGAAATGTCCCACCACGTTCCGCAACGAGGTTTTACTGCCAAATTTT ATGCAATTCCAAAATATTTTTCGACAATTTTGTTAGCTTTTCCCTTTCAA AAAAGTTCAAAATTCTGTTCCAAAACCACACCAAAAAGTCGAAGATCCGC AAAATCTGCACTTGAAACACTATTTGACAACCCCCGTCTCAGGCTATCAA AAATGCATGCAGTCATATATATGTGCAGCTTGTGAAACAAAAAACGAGAG GGATCAGGGGCTCAGTGCTCAAGGTAGATGTGCAACTCTATGAAATTGAT CGGTTATGCATGGCAAGTAAGAGTGACAGGGAGCGAAGTATGATGATGAT GATGATGATGGTGTGGAGAGAGCGCAACGTATGAGTTATTGAATTTTCGA GAAAGGTTATCTTTGATGGGGGGGGGGGGGGGGGGGGGCAGTTCATGGTG CATCGAAATATAAAAACTTTCGTGGAGATACGCTTTTTGAAGAATTTTGT GACACCTTCTTGGTGCATCGAGACAGTTTTCGTGGCAAGACCTGATTTGG TTGAAACTCTGAAGCCAAATCGCGCTCTACGATTTTGTGACCAGGCCAAG GTTTTGGTGGCATGGTGCATCATAGTAAAAATTCAAATCCTGGGAAAAAA AGCTCTATATATAATATCCAGCCATGGACCGTACCTCCGGCGTGGCCCCC TTCTGGAGCTAAAAACTAATTTTTCTAAAACTACCGTAACCCTACAGTAT TCCTACCGTACCACTATTGTACCACTACAGTACCCCGACTATATCCGTAC ACTAACCCCAACTCACTATTTATCCAGAAGCCAAAATTTCACAGACTACA AAGACTACATAGACTACAAACTATGAACACACTGAATAAGCGCTTCATAT ATATAGTGAATGATGGTGAGATCCATGTGACATGGTGCATTGTGACAGGC ATTTTGGGAAGGGGGCTTTGAGCACAAAACAAAATCTTTAGTTATTTTTC CGACAATTTCCAATAAAGTGAAGTTTAACAAGGTCGTGGCGTACTTGTTT CCAGTTTCCTCACGAGTGTTGCATATTATACCGCCAGTAATCATTGCGTT ATCACATAGTTGACAACGGTTTGATAATGTCACAAAGTGTGGGGGTTTTG GAAGTGGCATCAAACCAGCATACGATTATTAGGACGTGATGAACTTATTT TACCTGAACATATTATTAGGTGGTGGAGCTGGGAGCTTAGTATTTGGGTT TTGAAACAATGCACCATGTCCTAAAAGATGCTTTATTGCTAGGTAGGGTG CCGCGACTTTTGTATTCATTATAACAGGTTCAGTTCCGATGCATCTGCAT TTTTTTAATACTGTTCTTATTCTTAGCTCAATAATTCAGGCTGAGGGCCG CAGGCCCGAACACTTTTGGAAACTGTGGGCCAGCTTTAATCCTATTCCAA GCAAATTGTTATTCGCTCAAGCCAACTAACCAGATTTCCTCAAACTTTAA TCGCTCATATCTCAGCTCAAAACCATAGCAGAGACTTCGTTTTTTAATCA ATCGATCCCAAATTTTAAGGAAATCTCGAATATCCCTATCTCAGGTTTGA GGCGAAGCCGAGAACCTGCGCAAGCTACCTTTTTGGGCATCCCCATTCCC GAAAGGCTGGCGCGGCCCTGCCGCGCTAGTCATTTGCCAAAACGTCAAAT TGGGTCATGTCACGATCCATAATGCCTTGAAGGGTTCTTCTGCAACAGTC CTAAAAGAAACTTAGCACTCTGGTTGAGGTATAGATGCACCATGTCCCAA AGGGTCCTGCCATGTTGGGACATGTCACGATGCACCATGTCCTGAAAGAT CCACGCTCGAAAACTACATTGTTCCGAGTGTTTACCTCTATTTCAATACG AAATTTCAGCAAATTTTCATCCAAAATCATGTCATTCTAACAAGAGCCTA TCATGTTGACTATAGGGTCGTGACGACCTGCTCGAGTTCGCCTCGCTCTC CTGTTATCAGAATAGCTATGCGTTAAGTACGCGATGTATTGACAGTCACG ATTTAACGCTTCAGTTTTGTAGTTTTGCTGGAAATTTTTGAGTTTTTCGT TTTTTCTTGGCTCAAATCGAGTTTTGCTTTTTTGACGATTAAATAATTTA TTCAAACTTAGCGCATTTTTTGACTGATTGTGAGACATGATGCATCGTGA CAGGGCTTAATCGTGGCGAGACCCTCTAGTACAAAATTCTTTTAAATATC AGTAAAAGCATTATAATCCATGATTCTATACTTATTTTATGGAATTTTCA GCCTTAAAAAAATCTGAAATTTACGATGCTAAAATCTACTCAAATTATAG TTTCAATCCAAAATTTCTCAGAAAAACTAAAATTAGCATAAAAATGTTTT GTCTGAAATAGCCCTAGATTCAAATATCCCTAACACCCCAAAAAACACCA ATGTACATCTCCTCTCCGTAAATATGTAGTTTTACAACCGCCTCTCTGTT GACTGGGAGCCATAAATGTAGATATATTATCTTTCCAGATCGCCTGCCGG CCCCTCCCACCTGATTGTAAAACTGCTCTTTGCTGTGGCGTTTTATCGAC TTGTTTTTCTTATATATTCCATTCTACATACCTTAACACATTTTCTTGTA TATTTTCTATACACTTTTTTAACTATAAAAAAATGCAACTCCTTTTTCTT CGATTTCTTTTTATGCAAATTTTTTGGCTTAAAGGTGGAGTAGCACCAGT GGGGAAATTGTTAAAAACCACTCCTTTGGTCCGAAAAGTACCGAATATCA TAATAAAACTTTTCAATATTTTTTTGAAATTTTTTTATTCACAGTCAAAA AGTGACAATTACTCAGTTTTTGCCACTCATAATTTTGGAAGTCGACCAAA ATGTTTTTTCTAGATTTTTTATAATGTAATTTTGTTTTAATTATTTGTAT TAAAACATTGTAGGACAAGACAGGGCCGCAACATAAGATATTGCTTTGAA TTTCCTCAAAAGCTCATATTTTTCAGAATTTTGGCAATTTGCCAAAACTT GGTATTTAAAAATTGTTAGAGATAACTGTATTTAGACAAAACATAGAACA TTTGTATTTCAAAATAGTTCAAAATTCTAGTTTTTGAAATTTTGCGGCCA GACTGACCCCCACGATGCACCATGACAAATTGCAATTTTTTTTTCAAAAA TTGTTTTCCAAAGGGGCGTGTTCCAAACATCTGACCCAAGTTTTCCCGTA GTTCTTCTCTCCCCCAGCGGGGTAAACACTGCACTTTACGACTCCGCCCA GTGCTTTTTTTTTCGCAGAAACTGAGAGAGAAAGAAACATCTGCGTCTCT CTCCCCCAGTACGCTCGTTCCCGCCCCCCACCTCGATCTGCCAGACCACA CCGACCTGATTCGAGATTCCTTTTCTTATATGTATATGTTTTTGGAGAGG TGATCTTGTTTTTTTTGTTTCTCCTTTGGTTTTGTTCTCTATGCTCTGAA CTTTGGTCTCCTACTTTTCTACAGTTTTTTTTTAAATATCCAAATTTTTG AAATAGAGGGTTGATCTACATGACCCCCATGCTTAGTCTACTATAATGCT ATATCTGATGTTCCTCCGAATGGCCTGGTAGGTGAAGGCTTTTAGCCCAG TGAGCCGGCTTACCAAGTCTAGGACCATGGTTCTTACAACTTAAGGCCCA AAAAAAGCAGGCATCTGGCCTAACTTCCCCCTCACTAAATCTGTAGTAAT ATATAATTTCTATCATACTCCATCTTTTTTTTCTACCTCTTATCATGTTG TTATTGAGCAGCAACGCCCTTATATTGTTTGGTATATATATTTGATATAA AACCTCGTAGTAAATTTTATTTTACACAACAACATTTATTATTTACTTTT TTCATACTATTTTTTTTTTGCAGAACGAAAAAAAAATGCTATTCACAATT GAGCAACTGGAGCTCATCAAAAAGCTGCAGCACACCGGGATGTCATCCGA TCAGTTGCTCAAGGCTTTCGGCGAGCTGGAAGTTCCAGAGCAGCTTCAGA ATAACAACACAATTGCCGCAGCCCTGTACAGCCCACTCCTGGTCCAACAT CTCACAACACCCAAATCAGAGACTCCAGTCAAACTCACCGTGCAGACAGT GCCGACACCTGTGAAGTCAGAGCCACAATCTTCAAATTGCTCATCACCAT TTGAGCATCCGATATGCTCGAATGCTCCGCGGCCGATTAGGAGTCAGCGA ACGCCGATGAAGGAGATTACCACACTGGACGATCCGAATGAGCTGGAGGA GTTTATGAAGCAGGGCGAGGAGGCGTGCATTTTGGATATGAAGACGTTCA TCACACAGTACTCGTTGCGGCAGACTACGGTAGCAATGATGACAGGTTAG TTCCCAAAAAAGTGTAGTGGAAGAGTTTTTTTTCTAAAATCTAGGCCGTG ACCAGAAATAAATCAGAATACATCCCCGGCGCCTAGATTCCTAATCTCTG CTGTTAGCCACAGTGCAATTGAGTATTACTGTAGTTGATTCCTTCTATGA CGTCATATGAAATAAAGTTGGCTAAAGGGAAAAGGGGACTCTGGATCTTA GGCGAGCAATTCTCTGCAGCCGGCACCAGAATCGATCCCCCGGTGCCTGG ATATCTATCCTTCGCTGTTAGCCACTGCGATATGCCCCACCCGCGCTGAG ATCGAACCGAGGCGTCTGAATTCCTAGGCGAAGTTGCTACCCACTGCGCC ATGTCAATCTTCTAAATTTCCAGGAGTAAGCCAGCCGTACATTTCAAAAT TGCTCAACGGCAACCACCGTGAACTATCGCTCCGTTGCCGTAAGAACATC TACTGTTGGTACCTGAACTGCCGACGTCATCCCAACAAACTCGCTGCCTT CCTCGCCGATCCGACAACTCGCCTCGAGACGAATGGAGATGGCGAGCTGA TCCCACAACGTCGAGAACGCTACGTGTTTCGTCCAATTCTGATCCGAATG CTCGAATCGTTCTTCACACAAACGCCATTCCCAGATCTTCCACGGCGAGT CGAAATAGCGAATGCTTGCAATCACGTTCTGAAGATGGATAAGAAAGGTG TTGGGTTGATGCCAAAGGAGGTGGTCAGCCCTCAAGTCGTTTCGAATTGG TTTGCAAATAAGCGGAAGGAGTTGAGAAGAAGATCCGCTGAAGCTTCGGC CGCCTCCACCTCGTCCGCTTCGTCTTCTGCGTCATCGACTGCTAATCATG ATTCTGTCAGTGTGTCCAGCATGAGCCCTCGCGATGAAGAGGTGAGAGTT TTAATTTCTCGGCCACGCTGTACTCTGGGTGGAAGAATTTTTTCTAGGTC TTATAAGGAATCGCCCTCCGGTTTTCCCACAAGTTAAGTCATAAACATGT ACCATCTAGAGGTTAAATTTCTGGAGTTTTATTTATTTGAGAGTGATGGT AAACCTGTCAGTCCTTGGCAAACATGTGTCTGTTTGGTCTCAAGGTCTAG GTCTAGGTCTAGGTCTAGGTCTAGGTCTAGGTCTAGGTCTAGGTCTTGGT CTAGGTCTAGGTCTAGGTCTAGGTCTTGGTCTAGGTCTAGTTCTAGGTCT AGGTCTAGGTTTAGATCTAGGTCTAAGTCTAGACACAAATTTCTAGGCCA CGAAAATTTCTGCCGTGGCCTAGGATTTTTTAGGCCATATTCTAGGCCAT GATCCAAAAAAAACTTTCCCTGTCTCCTCTAACCCATTTTTTTTGCAGAC AAGCTCCCGTAACACAACCCCGGAGACAGCAATCTCCCCGTCACCAGCAG TGTCCACTTTTGAAGTGTCCCGCCCGTCTGCCATCATCTCTGCCACGTCA TCAACAACCTCGCCAATCTCAATTCCAGCAACAATCATTCCATCAGTATC GCCGTCAGCTCTCGAACTTTTCGCCATGGCCCAACAGCTTGGAGTTCAGC TTCCGGTTCCATTTCCAACATTGCCAACACACTTTTTCCCGTTTCAAATG GCTCCGTTCTACGGGAACCCGGCTTCTATTTTGAAGTCTGAGTGAAGCAT TTCTAATTTTCTTTTCTTCTTTTCTACACCAATATCTTTTTTCCATTTAT TCAACTTATTCTTCATCCCATGACACGAAAACCTCAATTCTTTCATATTA CAAACGATGCTCCGTTTCTTACGCCCTGCCCCACACACGCCCCGTCGTCC AAAAATCAATCAATAATCGATTTTTCATAATATTTAATTTGTTTTTTTTG TGTTTCACTGCTGTTTTAATATTTGAAAAGTACGAGTTTCTTCAAAAACA TTTTTTGAATAATATTTGCTTCACACTCCACGCGTTTCGTAATGTATCGC TTGCCCTGAAATTTTGTTGGAAATTCCATTTTTTGTGCAATTTTTGTTAT TTTTCAAGCGAGAATAAATATTTTCTAGTTCTAGAATTCAATGAAATACT TTGCAAACGCGCCCCATTGCACTTGACCGAGGGGTGAAACAAGTTCAGTG TTTTCAAGATATTTTTTTTTAAAAACTTGAATTTGGAACAATACAAAAAT CTGTAAAATGCAACAGTTTTCCAAATCTTGTCCACGTGGAGTACACAATA ATTTTTCATCTATACGGAAAGATTTCAAAATTGGAATGTTAAATTATTTT GTGGTTTCTAGGCCATGGGAAAACTAGGCCATCAAAAAAATTCCAGAGTG ACCTGGAAGTTCTAAAACTTTGTTGAAACTTGTCCACGCGGAGTACACTG GTAGTTTATCAATAGAGCGCAAGTAATAATCCCTTGGAATTTTCCTTTCA CCACCCCCTCTCCATTTTATATGAGAGTTTTTTCCCTCGCAATTTCCCAC GCTCAAGAGGGTGGCCGCCATTTTTTTTTTGAGGGGGGTCGTATCTAGAT TTGAAACACGTCATTTATGCTCAAAATGTGCCAATTTTTATTGTTTTTGA GTTTCTAGGCCATTTTGGTAAGTTAGGCCGCATACTGACTTTGCGACTTC CAAGGATATGGCCTAGCTTTTTTTTCTAGGCCATATAATTTTTTGAGTTG CAACTGTGGCCAATGTTTTTTTTGGGTTTCTATGCCACTTGTGAAAAGTT AGGTCATAGAATAACCTTACGGTAAACGGGTCCTCACAATCAGGAATTGT GGCCTAGTTATTTTCCTAGACCACGTTTGATTTTTGTCTTTCTAAGCCAG GTTTGGGTCTAGCTCTAGACCTAGGTCTAGTTATAGGTTTAGGTCTATGT CTAGGTCTAGATCTAGTTCTCTCACGTGAGAAAATTAGGCCACCTTTCCC CCTAAACTCTATGATCTCAAAACTAAAACTACTTTCTAGAAAACTCTTCG AAAATCATAAAACCAATTTTTTATCACTATTTTCATGCTAAAATCCAATC AGAAATTGATCAGAAACACGCATATAAATATTACGACTATAAATTCATTT CTTTTTTTCATTTTTCCCTCCAGAAGGCTCTTGGCGAGAAAAATCTGCAT ATTTTTTCTACTTATATGTGTCGAGACATGTGATATTCCGGCCGGCGGTG GCTCTGAATGAATATTCAATTGAACGAGAAATATATATTCTCTCCAGAAG GCGTTTATATTATGTGTTGCTCCTGTTTCTGCTGTATTCGGCGTGGATTT GGTATGCTTCTCAGTGGAGTGCAGTTGCAGCATTTTTTTTCTTCAAATTT TGCAATACTCTCGAACTTTTTGCACTTTCAAGCCTTTTTTTGGGTTGCCT AGAACACTAGAATTTCTGGACTATTTTGAGATTTCTAGGCCATTCTTGAG ATTTCTAGGTCATATTGTGATTTCTAGTGCATTTTTGGGTTTCAAGGCCG AATTGGAAGTTTTAGGCCATTTTTCGGTCACATTTTTAGGCCACTTTGAG GATCTTGTGCCAAACTGGGATTTCTAGGCCATCATGGGATTTTTAGGCCA ATTTCGAGTTTTCCAATCATAATATAATTTCTAGGCTATCTTGAAATTCC TAAGCCAGTTTGGAATAATTAGGCCATCTTGGGATTTCTACGCCATTCTC GGATTTCTAGGTTAAACTGGAAATTTTAGAATTTTGGGGTTTTAGGTCAT ACTGCGAATTTTAGTCCACGGTTGGATTTATAGGCTATCGTGGGATATCT AGGCCGATTATGGAATCCTAGGCCAACTTAAAATTTCTAGGCCATTTCGG GATTTCTAGGCCATCACGCCTCCTAAAAGGCACAGACAAAGTTCAAAACC CACCAGAAAAAAGTGTGGTGAATTAGTCAGCAACACCCCATTTTTCTTTT CCAAAAACTAAAAAAAAAGATACCCCTGACAGATATGGGCAGAGATGGGG GTGCGAATCCTGAAATTTCCGAATTCCAGTGGGAGCTTTTTGTGCCAGAA AAAGTAGTGGGGGCAAGTGAGAATGTGTGTCGCCTTCCACTTTTCAAACA CCATTTTGTCCGTTTCGCCGGCCCGAAAATAGGCTTGAAAAGCTGTGGCC TAGAATTTTTTCTCAAAATTTTTGACGTGGAAGAATTTTAAGATTTTCGA GGCCAAGAGGTGGCCTAGAATTCAACATTTATTGGCAATTCTTATCTAGA TCCCGAACCCCGACCAGTCAGTTTTTAATTTCCGGTGTCTGAATTTTTAA TTAAAAATTATTTTTGGGAGGAGCTCCTGTTTTTTTTTCGTCAAAAAATG AAGGTGGCCTAGCTTTCTCATTTTAAGGCCACGAATTCTAGTTAATTTTT TGTTGGCTCATTTTTTGTTTCAAAAAACGAAAGTTAGTCAAAAACTTTTC TGCATATCAAATGCTCTTTTTGAGGTTTTTTCCTGCAAAATTTTTCTAAG AAAATTTGAATTCCCGCCAAAATTTTTCTCAGAAAATTTGAATCGCCGCC AAAATTTTTCTCTGAAAATTTGAATCGCCGCCAAAATTTTTCTCAGAAAA TTTGAATTCCTGCCAAAGTTTTCACAATGGGTCTCACCACGAATGGTGAC AGACCCCGCCCACAATTCTCAGAGACATTGGGTGTGTTTTAGACCAAAAA AATAGTTTTTTTGACAAAAACAATTTTCCAGCAAATACTTGATCAGTTGT CATTTGTCTGTTGAAAGTGGAAAAAATAAAACATCTTTCCTTTTTTCTGC TTCTCCCCCTCCTCGTCCTTTTTGTGCTCAAAACTCAAATGGCTCATCTC AATTGCATGACAAATTAGCAAAAGATGAGAGCAATTTTTCCCTGTTTCTC TTTTTTTTCCTCCGTTTGGCTCCTCCTCATGTCTTTTTTAGTAGTTTTCA GAGTTTTACTATTGAATGTTCAAACTGGCTAAAAAATTTTGATTTTTTTT TCTTTTTAAACTCTTACGAAAATTTTGATATAGGTTAGAAGCCTAAAATC GACGGCCGACAGCGTTTACATTTGTGGCCTAGACTTCCAAGCCTTGGCCA TGGCAAAAACTTGTTTAGCCTACCTTTTCAAATAGTGGCCTAAAAACCCT ATACTATTTCTGAACTAACTGTTTACTCAAAAGAGAAAGTTAGTGGCCTA ACTTTCTGAATGGTGGCCTAGAAAACTCAATTTTGGCACTTTCATGACCG GTCATCAACCTGACATTGATGGCCTAAGTTTTAATGAGTGGCCTAGAAAA CCAAAATATGGCCATGCGCTCAGCATGATCTAACTTTCCAACTCTGCTAT AAATTCCTTGGGGGAAACCTCGGCCATCACGGGTGGCCTAGAAAACTGAA ATTCGGCCAAGACCCCGTAATTCATGGCCTAACCTTTTAAAAGGACAGCG TTTGGCTTTGGTGGCCTAGTTTTTTGTGGCCTAAGTTTACAGAAAAAATC CTCAGCCACAACCTTTACCCTATACATGAAATCACATAAAAATGTCCAAA TATTTTCCAATTAAATTTCCAATTCTCCACCCTTAATTCTTCATTTTCTT TTCTTCTTTTATTCCTTTTTCACTCTCTCATTCTGAAACTAATCTTTTCA ATTCTCAGCTTCTCTTTTCTGGTGTGGCTCATTTTCACTTTGCTCCCGCC ATTTTCAATAGGATTATCCGTGCACACACACACATGGCTCAGTGAGCAAC ACCAACAAAAAAGAGCATATATAGATATACAACGATATCTAACTAGTTAC ACAGGAGCTTCTGTTGTTCTTCTGTGCCCCTCCGAGCCGAGACAAACTTT TGGAAAAGAGCAACGCTTCTGGAGCCGACATATTCGAGAAATCCCGGAGA CAATTGAGACCACTATGAGGAAATGATGGTCGAGGAGGAAATGAGAGATG GCGTTGCTCAAAGTGCGCGACGAATGCACCAAGTTGGTCGGTTATCAGTG AGTTTTTGTTTTTTGTTGGCCGAAGTAGAGATAACTAGGCCACCTAGGTA GGCTGACGATCTTCAGTTTGCAAATCCTCTTCCACCGCACTTTTTTGAGC GATCTAGGTTTGCAAAAGGTAGGCCGCCTGGTCCACCGTACCTGTCATGA TGGCAGAGGTCTGGGAAAGCTAGGCCACCTGTCTGAGCTGATGGTCTAAG GTCTAAAGTTTACCAAAAACTCTTCCACCGAAACTTCTAGGGCGACCAAG GCTTGCAGAAGCTAGGCCACCAGACTTGGCTGGTGGCCTAGAATTTTCAA GAACTCTTCCATCGTAAATTATTAGAAAGCCGCGATAGGAAAAAGCTAGG CCATCAAATTACCTTAGTGGCCCAGAATCTATAAAAACTCTCCCATCGTA CTTGCAAGGACGGCTGAGCTTGGAGGAAGCTAGGCCACCAGAATAGGCCA GTGGCCTAGAATCAACAAAAACTCTTCCACCGTACCTCCTACAATGGCCG AGGTAGGGAAAGATGGGCGCCAGGCTAATCTAACTTTCCTAGACTGACCT AAATGGGAGAAAACTAGGCCACCGGGTTTACGGAGTGGCCGAAAATTTAC AGAGACATTGCCCTGACTATCTGACTGTTTTTTTAGCGAAAGAACTTTCA TATTTTCTAGGCCAGGGGCCCCCTACGCCCCAACACAATCCAATTTTTTT TTGCAGATTTCTAAACTCGCACATTTGTCTCTGCATATCACTCATCCAAC TTCTCGTCTGCTGCTGGGCCGTTGCTCAGCACGTCAACTCCTACATGACG CACAGTAAGGTGAGCCAGAGTTCATTGGAGCGAATTTGTAACCAGAGAAA ATTCAAAACTTAAAATTCAGATCTTAAAATGTGATTTTCTGGAGGGGAGC CTCCCGCTGGAGGCCGTGGACGCTGTAATTTTCGATATCCGACTTTTCCA TTACCTATGGGGCATTCGAGGATGTGTGGCAGAGTATTTGGATGGTGGTG GGTACTTTTAAGTTTCCCACGAATCTTTACATTTTTCAGGCTTCGGGCGA CTTTTGTGGTGCGTTTCCCACTGCTTAACCCTGGTTTTCTCCATTCCGGT CACCTTCATCTCCCATCCGAAACCCTGTCTCTTTTGGCCGCTGCTTTTTC AGGTGAGTTGGCTGAAAAAATTTGGAAAAAAACTTTTTTTAAATTTTTTC CGAAAGGCGCAGTGGGATTTTCCACGACTACCACTCACAACAGCATGGTT CGAGTCCGCGTGGGTGTGAATTTTTTTTCTAGTTTTTTTTTGAAGTACGG AAATTGTATTTAGCCTTGAAAAATTCTAAAATAAGCAAACAAAAAAATCT CCGATCAAAAACCAAGTAATCCGTCTCCAAAAAGCGCAGCAACGTCAAAT GGTCCCACGGGGGGCCTGAAACGACAAATTTCCTGACATTTGACGGGTTA TCCATCCGCCACCCTCTCTTTTGAAGGAACATTGACTTTTTCCGTTGAAA TGGATAAAAAAATTGAAAAGAATTAGATAGATTCGGGAGAATGAATATGG TGGCCTAACGTGGTGCTTGACCCATGGCCTAGAAAACCAAAACTCGGTCA TCACCCTGATTGAGTGCCCCTTAAGAGATTAGGCCACGTACGACGCAATC CTAGGCCACCAATAGTTTTCTCGGCCACAGCCACCCCAAACAAAAATCTG AACTTTCTGATCCTTTACATCTGTACCCACTGAACCGTTTGTTTATCTTT TTACTCGCTCCACGGGAGCAGAACTTTTTTTTTGAAATTCCACAAAAGAA TGGGACAGACACTAGTGTATTTTGTTTTTTATTCAGACATGAGCCAGACC AGAAATAGGATTGAATCTCGGATTTCAGAGCCTGGAAAAAATCGGAAAAA ATCGGAAAACTGTGGGAGAACTGAGTTGGGTGGTAAATTTGGCAAATTGC CAAAATTTGGGGAAATTAACTTTTTCGGTAATCTGTAACTACAGTTTTCC TAAAAATGTATGAACCTTTTAGTGATTCTGCATAGTTTTTCAGGTCTTTA AAATTGAACCTACAGTACCCCGTACAGTTCAGAAGATTGCAAAATTCCAA GTTGACCACTTTTAAAGCGTGTATCTCGGCTGATTGGGAAAGTATCGGAA TATTTTAAAATACAAATTTATTGTTGGAAAATTTTTTTTTTACTTAAAAT TAATTAAAATTCAGCTTTCAAAAATGAGCAATGTATTTATAGATCCCATG CAACTTTGAAATTTTGTATATCCGTTCAGTGTAATGCTATCAAAAAATTT TCAACTACAAAATTATAGTAAAATTTAAAACAAAGAAATTGTTAGTTGAC AACTTTTTAATGAAATAAAGTACAACCGAGATATGAGTTCTCAAAGTTGA GCTACTTTATCGGCAACCACAATATAAGTCGCCCCCGTACAATGCACCAT GTGGTAGAAAATTTCGGTTTGATCTACTTAGATCTACAAAAAATGCGGGA GAAGAGACGCAGAGTTTTCTTTGCATAGCTAAGAACGTGCTGACGTCACA TTTTGTTGGGCAAAAAATTCCCGCACTTTTTTGTAGATCAAACCGTCGTG GGACAAACTGGTACCTCTTCGTTTTGTTGGTATGAAAATTTTGAAACTCA CTTCGTTTTGTTGGTATGAAAATTTTAAACTAGAAAAGCCAAAGTTGAGC TAGGCGCTCAAATTTGGTAGCATTTACTTTTTTCAACAAAAAAATAGCTG GCCGAGCTTTCCATTTTTACGGCCACGTTGCAATAAAAATCCAGGAGGTC CATGTCATCAACAAAAGTGCAAGGATGTAAAACAATTACACCGAAACGTT TGTCGGGAACTGCTTTTTCAAAAAAAAAAGGATCTCTCCGAACACATGTC ACCCCCAGGGTTCTAGCGTCTCCCTGACCTCGCGAGCTATTTCCTTGAGA CATATCTCTCCGAAACCTTTTGTAATGGTTGTTTCATGTTCTTCTTCATC TTCTTCTTATTCTTCTTGCTGGGATAAGCAGTTGAAGAAAACGAAAAGAA CACATAAAACACAGGCACACACACACACACATACACACCGTAATATCATA TAAAAGTGCGTCTGCGTCTCCCAGAGCGCCCTGGGGGTAAGGAACGCGGG CGCCCGCAAGGAAAAAGTGCAAAGAAATTAGAGAAAAAAGACCGGTCTCT CACTCACTTCTCGATCCCTTTTCTTCTCTAACTATAAAAAATGTGTGGCC TAACGAACGAAAGCGAAAAAAATCATCGAGAGAAGTAGTGAGAGAGAGAG AGAAGAAAGAGTTTTTTTGGACGCCGCCGCAGCTGCCAAGCATCAATAAT GACATGCTGGAGAAAAAAATTCCAAAGTTTAAATGTATTGGGGATCAGAA GCCTAGACCATAAGCCCCTTGTAGAGTTTTCTCGGCCATAGCCTTTTTGG TACGGTACATATACATAGAGACTTCAGATTGGGAATTGCGAATCTGTTAG AGTAAGAATAGGCCTAAAACATTATTGGGCCTAACGGTGACGGAGACTAG GCCTTGTTGGGAGCTTAAACTATGACATTGCCTAGAACGTTGTTCTATCT TGGTTATGTGGTGTCGGGCTTTCATGATCAGCTCCTCTACTTTTGTCCAG AGAAGTTTTGGACTTTTTCTATGGGTGCTTTGGGCTCTATTGCACAAATA GGTGATCTTGCGCACAACACAACGTAGATCAAATTCTTGTCTAGGCTCTG CAGGCTCCTGAGAGGTGTTTTGTACAAGCCCAAAGCAAAAGGATCTCAAA ATGTTTACAGGACTTCAAGCAGAGGATTTTTCGATGATTGCCAAAAATTT TGGAACTTTTATAGGCTTAAGCTTATGGTTATGTTTAGGCGTAGGCTTAG GCTTAGGCGTAGGTTTAGGCTTTGGCTTAGGCCTATGCTAGGCCTAGTAC CATAATACTATTCTTACCGCCGCGCCTGATCAAACCAAAGAGTAGGTCAA CAACCAATATTGACTTGCACTTTTTGCACGGTTAACTATATTACGCATAT GGCCAATTTTGTTAGGGAGCATTGATTCATGGAAAAAATTTCGGAATTTA TGAATGTTCAATTAAACTGGACTACGACAATTATTGGGTTCAAACATTTG AAAATTTTTTGGCCGACGTCGGAACGTCTCACTTTTTCCTGATTTTTGTA GTTTTTCCTTTTTACCGAATTTTTAGGAATATCTGGGAATTTCTCGTTTT CTGATTTTTTTTCAATTGTTTTTAGATCCCCCAAGCCTAAGCCTAAGCCT AAGTTTGAGCATAAGCATAAGCCTAAGCCTATGCCTAAGCCTACGCCTCA GCCTAAGCCAAATGCGGAGCCTAAGCCTAAGCCTAAGTCTAAGTCTAAGT CTAAGTCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTGCCGGAGCCTAA GTATAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTATGCCTAAGC CTAAGCCGATGCCTAAGCCTAAGCAAGTTCCGACATTTTCGACAATTATC TAAAAATCCTCTGCTTGAAGTCCTGAAAATCTTTAGGGATCCTCAAGTTT CGAGTTTGTACGGAACGGCCCAAACGCCTCTTGGGAGCCTGCAGAGCCTA GACAAGAATTTGATCTATGTTGTGTTGTGTACAAGGTCACCGGTTTGTTG TGCATCAGAGCCCAGAGCACCCACAGAAAAAAGTCCAAGAGTGTATAGCC TACGGTAGTCCTTGTTTAGGAGACATAGACAGTCTCTTTCTCTAACGGTT TTTGTTTATTCTTTTTTTTTCTCCCCCTACTTTCCGACAGACATTTTCAT CTTCATCTCCTTCTGCTGCGCGAATTGAATGGTCTATAAGTGTCTGCGTC TCGCCGATTCGTACAGTCTATCGCTTTGAAATCGTCACCCCCAGGCAAAC AGGACACCCGAACACACACACAACTATCCTCATTCTCAAAAAAATGGCTT CACTGCATAAAAGTGCAGAAATTAGAGAGTATGCGGAGATTCGGAGAATC CAGAGAGAACACACAAACACACTCGGAAACTCATATAGTTAGACCAGAAT GATGGCTTTTTTGGAAATTTGAATTGGAAAGGGGTTTTTGAAAATTGGTT GGAAGCATTTCAGATAGATTTACATTGAAAAAAATTAGCAGGAGCACCTT TTCCATTTTAAAAAAATTTGTTGGCTTTAACTTTTTTCACGGATTTCCGG CTTCCCTCATAAATTGAAATGGAAGAGTTTTTGCCGAACTAGGCCATTTT GGCTCAGCCATATCTGGGGTAGATTTACGGCGCGTTGCGTGTCGCGTCGC GGCTCGTTTTTAGTTGTAAAACTAAATTTATTTGTCCGTGTGGAGTACAC AACTTTCCCACGCGTTGTCCATCTGAAGATTGTCAATGGAGCGCGAAAAA TTCAGTGAGGAAGGCAAGAACTCCGTTTTTTTTCAATACTGAAAAGTCTA ATATTGAATTAATAAATTATTCAAACATTTAAAAACAATCATTTTTAGTG TTTTGAATTTTTTTTTAATTTCAAATTTTTCTTTAAAACATTAAAATTTT AAAAACATTTCCAAATTGTTCCAAATAACATTATTGAACTCGTAAAACAA ATTTAAAGGTGAATTTTCATTTATTTCGTTAAAAAATTACCTTTTAAAAT TTATTTTTTCAAAAAAATCTGGATTTTTTTTCTGCGATAATATTCGAGCA GTTTTTTTCGATTTTTTTTCTGAAATTCTGTGAAATTATTAACATTATTT GAATTAATTATTCAAACAATTTCAAACAGAAATACAACGAGTTTTTCCAT TTTTTATCATTTTCCAAAGTTTCAGAAAAAAATTTCGCAAAAAAAATTTA GATTTTTCCAAAAAAATTAAATTTTTGAAAAATTCTCAAACGCACGGATT TCTGGCTTCCTTCATAAATTGAAATGGAAGAGTTTGCCGAACTAGGCCAC TTTGGCTCTGCCATATCTGGGGTAGATTTACGGTGCGTTGCGTGTCGCGT CGCGGCTCGATTTTAGTTGTAAAACTGAATGTATTTGTCCGTGTGGAGTA TACGACTTCCCCTCCGACAGGCGATTATCAATGAAGCGCGAAAAATTCAG TGAAGAAGGCCAGAACCCAAAGTTTCACCGAAAAATTCGAAATAAAAAAT CCTGAAAAATTTTTTAATTTTTCCATAAAAATTAAAAATTTTTAAAAAAT TCCCAAATTGTTCCCAAGACACATTTCAGAGCAGGTTTCAAAAAATCATA TAAATTATTTATAAGGGTAACAACACAAAATTTGGGTAACAAGAGCAACA ATTTTTAATTAAATGTTTCATTTTTCATCAAAATTACTCAATTTTCCTGT TTCAGCAATCGGCCTATGGTATTTGCCTCCTGGTTCTTCTTCTAGCAGCT CTTCCAAGAATTGTTGTAGTACTTGCGTCTCCACAAGCGGCTCCGTTGAT TCCTATTCTGTTTTATCTTGTTGGCACCGCGCTCAATTTTTTTCATGTGA GTACTTGCTCACTTTTTTATGGTCTAAAAATTGGCGGGAAATTCAAAAAG TTAAGAGTTTCAAAAAGATCGGCATAAAATTTAAATTGAACATTTTTGGG GATTTTTTTGGAAAAAAAAACAAATTCGAAATTCGACCCATTTTGGCGGG AATTCAAATTCTTTTAAAAATTTCGAAAAACATTTTTCTGCAAAAAAAAA TTTTCATTTAAAAAAAAAACATTTTAAAAAGCAAGCTTTGCCGGGAAGAA TTCAAAAAATGTGGCTGGGATTTTGGCGCGAAATTCAAATTATTTTAAAA AATTTTTGAGAATTTCTTGAAAAAAAAACTGAAAATAATTTTGCGGAAAT TTGAATTCTTTAAAAAATGCCAAAAAAAAAAGATGTTTGTGCAGAAAAAA TTTTAATTTTTAAAAAGCAATTTTTCACGGATTTCTGGCTTCCCTCATAA ATTGAAATGGAAGAGTCTGCCGAACTAGGCCATTTTGGCTCTGCCATATC TGGGGTAGATTTACGGCGCGTTGCGTGTCGCGTCGCGGCTAGATTTCAGT TGTAAAACTAAATATATTTGTCCGTGTGGAGTACACGACTTTCCCTCCGA CAGGCGATTATCAATGAAGCGCGAAAAATGCGAAGAGGAATCTGTTCTAA AATTAGGCGGGAAATTCAAAAAGTTCAGGGTTTCAAAAAGATCGGCGAGT TTCAAAAATGTCAAAAATATTTTTCTGCAGAAAAATTGTCGACTTTTTAA TAAACTTTGCCGGAAAGAACACGTGGTGTCAGAGTGTCCGGTTTGATCTA CGTAGATCTACAAAAAATGCGGGAGTTGAGAAGCAGAGTTTTCAACTGAT TTCGAATGGTTAAGAACGTGCTGACGTCACATTTTTTGGGCGAAAAATTC CCGCATTTTTCGTAGATCAAACTGTAATAGGACAGCCTGACACCAAGTGG AAGAATTCAAAAAATGTCGCTGGAATTTTGGCGCCAAATTCAAATTACCA AACGGTATTTAATACATAGAGCTTCTCACTCAACATCTGAGCTACCGGAA ATTAACAACCTTCACATTTTTTGGTCATTACTCACACACATGTGGTTTCT AAGCAAGTTTCAGATACTTTTTTTTTTGTTTTTTTTTGAATTAATACTAT TTTTTGCAAAAGTCGCTTCGGGACCCAAAAAAAAAATTCAAATTCTTTTC AGTTATACGTGTACTGGCACTGGTATTGGCACGTGAGTGCCATGTGGAAT TCGGTGGTCCGTGTAAAGTTCGGACAGCGGCTCGAAAACGCGAATAAGCG AAGTCGACGGGATAAGCCGATTGTGCCGAAGGAGGAGATCGATGATGCCG TTTTGCATTACGTGCCAGCGAATAAGCCAACTGAACAGCAGAATCATGTT CAGCACAATCATATCAGTCAAAACGGGATTCAGCAACCAAAGGTAGGTCT ACCTACCTGCCTATTTTCCTGCCTACTCGCCTAAGTTTGTCTAAAATCCA ACTGCTTGTCTGTTCTGCATACCAATATGCCTAGACATACCCACATTTCT GCTCATCTTCTAACATGCCTGCTCGCCTAACTTAATGCTGTATGCCTATG TACTAGGTTACTGCCAGCCTGCCTACTTGCCTACCTACACAAATGCCTAT CTGACTACATCTATATCTATGCTTCTCTATGCATAAATGCCTGCCAAAAT GGCTAACTGCGTGTCAAAGTTCATGCATGCCTGCCTACCTGCCTACGTGC GTACATGCCTATTTGCTTACCTAAATGATTACCTGCTTACCTACCTGTCT ACCTGCTTAAGAGCCCTACTTATTTGCCTACCCACCTGACTGCGTGTCTC CTCTCTTTCTGCCAATCTAGGCCTACATGTCTATCTAGGCCTATATAAAT TCCTACCTGCCTACCTGCCTAAATACCTACTTGCCTGGCTATGTCTTCTT ACCAACCGTTTTTTTATGCCTACGTACCTGCGCGCATGCCTACCTACGTG CCTACCAACACCTACAAATACCTGTCCGCCTTCATCACATTTTTCACTTT CAGGTAATCCTTCCACCACCGAACCCCTACAACACCGCGCCCACACATTA TCGACGCCGATCCTCCACAGAAGCCCACCGCTACCACCCACCTCGGCAAC CGAGAAGCTCGGCGCCAACCCACCACCGAGTACCGGCCGACTATCCGAGT GACGAGGAAGACGACTATGATGATACGGAAGGAGACGACGCGGATATTGA TGATCTACCCACACCGCCACCGCCGATTTACGCCGTCCGCCTGACCTCCG ATTCGTGGGAGAATCAGATGAGCCGCCCGTCGGGTAGACGGCGGTTACCG GCGACTCCGAATTTGCCGAAACATGGAGAATTGCCGCAGATATTTAATAT TCCTCATGCTAATGTTTAATCAAATTTTTGGGGTTTTATGGGTTTTGGAT TTTCGGAGCGGAGCTTCATTTATCGCTTTAATATTGAATCAGGGGTGGTT TTCAATTCTGGCAATTTGCCGGTTTGCCGATTTGCCGGAAAATTTAATTT TCGGCAAATTGCCGATTTGCTGTTTGCGGGATATCAGATTTTCCGAAAAT GTTTAGAGGGATTTTTTATAAGACGAAAACACTAAAAACTGTGTCTTTTT GAATTTTTTCCACTTTTTCTACATATTTTCATAGAATTTGCTTACTTTTC AAATTGCCGATTTGCCGGAAATTTTTAATTCCGCCAATTTGCCGATTTGC CGTAAAAAATCGTTTGCCGCCCACCCCTGTATTGAATTATCCGGAACACA GCAACACTCTGAAATTCGAGCATTAGTTAAATGTGATATTTGAAAAGTTT TGCAAACAAAATAATTTTCCCCAGCTTTCATCATTTTTTCTTTCAACAAA AAAAAACCGAGTGATATTATGATTTCCAATTTGTGCTATTTTGAGTTTTA TTTTATTTTATTTTGTTGTTTTCAATAAATAAACGAATATTTTTTGGTCA TTTTTTGGCGCTATGAAACTAAAAAATTTCAGGTAACTTAGCGGGAAGTT CGTTTTTTTTTCATTTTGGCAGGAAATTTCATTTTATAAAATGGCAAAAA CTTTTCGTTAAAAGTTTTTAAATTTTGAGAAAATTGACGAGAAATTAAAA ATTTCAAATTTTTTGGCTCTAAATTAGGATTATAATTTTCCGAAAAAAAA TTTCCGAATTAAAATTTGGCGTCTCAGTGTGTTATTCAATTAGAAAAACC TTCAAAATATTAAGACATTTCGGAGGCACGTGGTGTCAGAGTGTCTATGC TCCTTTAAATGATGCATTCAAAGGCGCTTACACACCTGCACGTAATCTCT TTTTTGTCTCAAAACAAAAGGAGCTTCAGACTCTCATATCTCTGCAACTC TGTGTGAATAACAATTGGAGCCCCAGAGCTCCCGGCTCCACACTGCCCGT TTCCATGGAGACACTCCGATTATTATGGGAGCCACCACTGCTCGCCGAGC AGCAGCAGCAGCAGCCCATTGTTAACCCGATGACCAATATCTATATTTGG GTCCGGACCGCCCGTTCCCTTCAGTTTTTTTATCCGACTATCGATGTGGA GGCCGATGGGTTCGGTTGCTTCTATGAGATTTGTTTGGAAATTGTTGGCT TGTTGGAGGAGTGCGATAGGATAAGGTAAGCGTGCTCTATTGATAACACG AATTTTTGTGATTTTCGGCAACATGGGATCGTGGTTGCCCAAAGGGAAGG AAACGCGCCCCATTGATAAAATCATTTCGCAATAGAGCGCATTTTCATCA TTTTTTTGCAGTTTTGACGAATTCGAGACCCTCTGCGAGAATAGAATATC GGAAGTTTATGTGGAAGCAATTTTTCAAAATGCTGTGGAACAAGGAAATG TGAGTTTTTTTGTGATTCTGATGCTAATTTAGCAAGTGCGCTCTATCGAC AATTATGACTTTGTGCACGTTCAAGTATTTTCTCAAAGTTTAACACAGGG TTCTGGCCTTCCTCATTGAATTTTTCGCGCTCCGTTGACAACGGACAACG CGTGGGAAAGTCGTGTACTCCACACGGACAAATCACATTTAGTTTTACAA CTAAAATCGAGCCGCGACGCGACACGCAAGGCACCGTAAATCTACCCCAG ATATGGCCTGGCCTAGTTCGGCAAAAACTCTTCCATTTCAATTTATGAGG GAAGCCAGAAATCCGTGAAGTTTAACAAATTGTGAGGTGTAGCAAACACG CTCAAGTGACAATTTTTACTTTATGCGTCATAAATTTTTTTCTGAAACTT AGAAAACGCGCTCTATTGCTACTTTGAACGGAAAACGCGCTCTAATGTCA ATTTTATTTCCAGATAAACGCCCGCCTAAAGCTTCTCACCTTCTCACTTC TCTTCGCAGGTCTCCAACAAAAAACTAAAGATCTCACAAATTCCATCAGG TCGGACGTGGTCTTGACACGAATTTCAAAGTATTTTGGTAAATTTGAAGA ATAATATTTGTTATTTTTTTGTTTTCCGAACTTTACAGGCCAAATATTCA AACTTTTGTTCCAATTAGACGTGGGCCGCCGGTTACAGGACAGAGAAATT GTGCACGCCATTGGAAATGGGCAGGTGAGAAGTTCGGCTACAAAAACGTG ACGCGTGGCCTAGAAAGATTTGTTTTTCCACAGCTTTTTCCACAGCTTCC ACAGCTAACGGGATGGCCTAAAAAACTCCACGGTCGTTTAGCGATAGAGC GCACTTGCACATTTTGGGAATCTTCTGGAAGAAAGTAAACGTCACAAAAG GCCTAGAAATCTTTATCGTGTGTGGTTTAAGAAACAATTCTCGGCTTTGA AATTATGGTTGCTCGGGGAAAAATGATTGTTAGAAGCCGCACGCTTGCAC GCTTGCACAGCTTGGGAATTTTCTGGAAAAGAAGTGACGTCACTGGTGGC CTGTAAATTTTCGCCATGTGTGAATTAACAAAACAATTATGGGCTTTGAA ATTATCGATTTTCACGGATTTTTGGCTTCCCTCATAAATTGAAATGGAAG AGTTTTTGCCGAACTGGGCCATTTTGGCTCGGCCATATCTGGGGTAGATT TACGGCGCGTTGCGTGTCGCGTCGCGGCTCGATTTTAGTTGTAAAACTAA ATTTATTTGTCCGTGTGGAGTACACAACTTTCCCACGCGTTGTCCGGCGG GCGATTGTCAATGGAGCGCAGAAAATGCAATGAGGAAGGCCAGACCACGT GAAAATCAATAAGTTTTTCAGCAAAAAATGAAAAATGAGGAAATTTCGTT AATTTTAGTTTTGTTAGCAGTAGTGCGCGCTCACATAGTTCAAGAATTTT TTTTTGAAGAAAAGTGACGTCACAGATGGCCTAGGAATCTCATCTATGAC GTCACTTCTCTTCCACTTTATCCTATTTTCAGGGCTATGAATTCCTGGAC ACCCTATTTGAGGGAACAGTAAAGCACAGACATGGAAACTCGAACCATCA CGGCGTGCGCCCCCTTTCCCATATAATCCCCCAAATTCTCGAAAAAGCGA GCAGTATATCCCTACCATTTTTGTGCAATGAAATCCGCCGACACCTTATC AAAGACCCGTATCATATTGATGAGTTCTCAACTGACAAACCTGCTCAAAT ATTTTCGACGGCTCGCCGAACGACACTGGCACATAATAGTCGACGGGTGG TACACTTGCATTATATCAATCGAATTGAAGTGCTGCGGAAGGATGAATTT GCGAATGTTCACCTGAGAATTTGTAATGATAAGATTAAGGCGTCGTTCGT TTTTGTTCCGTTGAGGTGAGATTTTTTGGCCGAACTTTTTTTTGTTGCTT TTTTTGAAAAATTTTTAAGAGATTTCATTTTTTTTTACAATAATAGAAAA ATCAGAAAAAATATTCACGAAACCAATAAGTGGGCGGAGCATCAAACTGG CACGCTCATTTTCCGTAGATCGTTTCTGCCAAAATCGAAAATTTCTTGAG CTTTCTTGAAAAATAACGCTAAATTTAATTGTGAATTTATTATTATCTCG AAAAAAATTATCAAACAGTCGAAAAGGGGCGGGCTTACATTTTTTAGCCC CGCCCACTTTTAGATTTGTTTTGTTGAAAAATGTCCAAAACTGAGTTTTT CTCGGAAAATTTGAATTCCCGCCAAATTTTTTTCCAGAAAATTTGAATTC CCGCCAAATTTTTTCCAGAAAATTTGAATTCCCTCCAAATGTTTTTATTT TCAGAAAATTTGAATTTCCCGTCAAAATTTTTTTCCCAGAAAATTTGAAT TTCCCGCCAAAATTTTCCCAGAAAATTTGAATTCCCGCCAAAATGTTTTC CAGAAAATTTGAATTCCCGCCAAAAAAAATTTTCTCAGAAAATTTGAGTT TCCCGCCAAAAAATTTTTTTTAAAAGAAAATTTAAATTCCCGCCAAAATG TTTTCCAGAAAATTTGAATTCCCGCCAAAATTTTTTCCAGAAAATTTGAG TTCCCGCCAAAAATTGTTTTACTGAGAAAATTTGAATCCCCCCCCCCCCC CCCCCCCCAAAAAATTGTTTTACTCAGAAAATTTGAATTCCCGCCAAAAA TGTTTTTTCTAAGAAAATTTTAATTCCCGCCAAATTTTTTTTTAGAGAAA ATTTGAATTCCAGCCAAAATGTTTTCCAGAGAATTTGAATTTCCCTCCAA ATTTTTTTTTCTCAGAAAATTTGAATTCCCGAATTTTATTTTTGAAAATT TGTGTGAAATTAAATTTTTGGGAATATTCATTGTGGCCTAAGTTGCTCCA AATGGAAGAGTTTTTTAAAAATTAATTTCTCGTCCACGCGTCAATTGTAT GCAAGAAATTCGAATATTTTCCAGATGTGAAACCGTATTCCTCGACAGAC TTATGTACACAAAATGGATAGTTCTTGGCGCAGTACGCGGCATTGTAATT GTTAAAAATTGTCAATCGACCCGAATTTCGGTGAGCTGCGACCAGCTGAT TGTGCTCGATTCGAAAAATATCGAAATCTACGCCATGTCGCCGAAGAAAC CAATAATTTTCAACAGCTCTGCGGTAACTTTTGCCCCATTTAACACGATT TACGAGGTGAGTTCGGTGGGGCGCGTTTGCATTTATGAATTCGAAAATTT >CHROMOSOME_II CCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCC TAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTA AGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAG CCTAAGCCTAAGCCTAAGCCTAAAATAGTGACTCTGGCAGTTCTCTAAAA TAAGTGACTCTGGCAGTTCACCAAAAATTGTGACTCTGACCGTTCACCAA AAATAGTGACTCTGACCGTTCACCAAAAATAGTGACTCTGACCGTTCACA AAAAATAGTGACTCTGACCGTTCACCAAATATAGTGACTCTGACCGTTCA CCAAAAATTGTGACAATGACCGTTCACCAAAAATTGTGACTCTGACCGTC ACTATTTTTATTGAACTGCCAGAGTCACTATTTTTAGTGAACTTCCAGAG TCACAATTTTTAGTGAACTGCCAGAGTCACTATTTTTAGTGAACTGCCAG AGTCACTTATTTTGGTGCACTGGGGTGGGTCACGCCCCCAGTTCTCAGTT ATGGGTACTCTGATCCACTCGGGACCCACTTTATCGTGTTCCCCGTGCCT CATTTACCCTAGAGCTTCCTCCTTTACCTCTCCTCTCGCTATCTCTAACA TTCCAATGGAAACTCCTATTTGAATTACCGCCACCGATGTGCCCGACGCG ACTTACTGTTAGCCCTTGTTTTGCACAAATCTGTTGGCTTCCATATTTAA AAGTTAATTAATGACCCAATGTTCTTTTTTTCTCTAAATCTCCACAAGAT GTTCTGTTTTCCCTACTGGACACTATCGTTCACTGCGTCTCACCAATTCA CATTGTCTCTACTTTACCTTTTTTGTCATAGTACACGTTCGCCAACGGTG TCGACGGCCAAATGCTTTGGGCAGCGTTTGCTTTTTTTATAATTAGTTTT ATTTTATTAAAACAATAGCTCTAAAGTTTACAAGTCATTTGTTATAGGCT AAATGAGTTATGTCTAATAAGTAATTTGAACTAGATACTTCCGTGTAAGT GACAATGTATCGGAAAAGTCCTCAAAGTGCGATGTAGAAGTTCACATGTA CTTTGTTTGGCATGTTAGTAAAAGAGCCAGTATGCTGATTCATTTTATAT TCTATATACTCATGTAATATGCCCATGTAAGGTTTAATTCCAAAAATATG AGCGTGTTCTATTTTATAATATTTTACTAAAATACCTTTCAGTTAATTGC ACTCAAATTTGTTGTTCTTCATTCTCTCGTTATGATTTAATCTTATTGCG TCAAGGTCATTATTTTAGGTCCATTAGTTATCGATCTGAAACATGTTGTT GTATTTTTCTATTCTTGTGAGCTCAGGACACCTCATACAACTCCAGAGAA AATGTGTCTCATTATTCTTGTCTTTTTTCAAGATCTAATCAATTTTCTAC ATTAACGACGTTTTTGTCGTTCTGCTTCTTTTTTTCGTTCGTTTGTCTCG TCCATCAGCTGTCCACTCATTTCTCTCCCACTCACTAGGCAGTGCTTTGT TTGGTTCCGATTGGCAGCTGGCTGCAGGGCCTGCATCTCTTCTATGTCTC TCATTTACTTGCATTCTTTTCTTCGTTAATTTTTGTTATGATATTTAAAC GGGAAGAAGAGTTTGTGGTTCTTCTTTTTATAATCACTAAAACTTTTGGA TAAGTAACAATTTTCTGATAAAAATATTTTCACGGCGAAGAAAAAAGAAA AAGAAGAGTAGTTTTTGCACGTTTTCATATAATTATTTTCGTTGATCAAA TGTTCTTCTGGAGTTTTCTAATAAATTTCTTATCGACTTTTTTTCAGAAA TTTTTCTCAACTTGTCATGTCAATGGTAAGAAATGTATCAAATCAGAGCG AAAAATTGGAAGTAAGTTCTTTATAATTTCATTTATATACTATAAGTTTT CTCGATCACAGGAGAAACAAAAACAACAGACAACACAAAAAACAATAAAA CAATATTGCTCTAGTAATCAATAGTGTTGTAAAGAGGGAAGAAAATTGTT ATCTGTGTAGCAGTCAACGTTGATTGAGATGTTGTGTTTGACTATAGAGT TGAAAATAATAACTTCAAACTTGCAAGTCATGACTTATCAAACACTGCCG GAACTTATTCTGGATCAAAGGAAAGTTGTCCAACTGTAGAGTCATGTTTT TCAAAAGAAAACACAATTTTTAAGTATAAATATTTTGAAAAAGTATGTTT TAGAAGTATGTCAAATTAAAAAAAAAATCCTTGGTTAAAAAATGATTTTT TTGGATATATGTGTATTTTTAACTAAAAATATATACTTTACATATATATT TTGGCGCAGTTATTTGATCTATAAATCAAACTTTTTGATAGACATTTTTT TATATTTACAACAACTAGGGTTGTTATGAAAACGCCTATTATTCTACAAA CTAAATTATTTTAATCATACATTCCCCACTATCTAAAAACTAATGCAATT TTCAGATTTTGTCATGTAAATGGGTAGGATGTCTCAAATCAACAGAAGTG TTCAAAACGGTTGAAAAGTTATTAGATCATGTTACGGCTGATCATATTCC AGAAGTTATTGTAAACGATGACGGGTCGGAGGAAGTCGTTTGTCAGTGGG ATTGCTGCGAAATGGGTGCCAGTCGTGGAAATCTTCAAAAAAAGGTATTT TTAATTTAATGTGCATTTTATAATATAAATTCTTCAGAAAGAGTGGATGG AGAATCACTTCAAAACACGTCATGTTCGCAAAGCAAAAATATTCAAATGC TTAATTGAGGATTGCCCTGTGGTAAAGTCAAGTAGTCAGGAAATTGAAAC CCATCTCAGAATAAGTCATCCAATAAATCCGAAAAAAGGTATTCACAATT TGCATGATATTGTTATAATCTAATTTTCAGAGAGACTGAAAGAGTTTAAA AGTTCTACCGACCACATCGAACCTACTCAAGCTAATAGAGTATGGACAAT TGTGAACGGAGAGGTTCAATGGAAGACTCCACCGCGGTAAGTGTGTTTCT TTAAAAATTACTTCCTTTTTTCAATTGTTTGAAATTAACAAGAAACCTGT TGGAGCGTATTTCTGAACTTTTAAATCGAAAATATCATTTGCAAAAAAAC TTGAAAATTGAGAAACTTTTTTAAAAGTGGAGTAGCGTCTGCGGGTTTTT TTGCCCTAAATGACAGAATACATACCCAATATACCGAATATAACCGTAAT AAAATTATGCGATTTTTATTTTTATTTTTCATGAATGTTAGGGGCAAAAA ACCCACATGCGCTACTCCGCCTTAAGAAGAATCAGCTGTGAGCACTATCC ACTATACATTGGAAATTTACAAATAAAATAGAGATTAAGTAATATAATTT TTAAGGGTTAAAAAAAAGACTGTGATATACTATGATGATGGGCCGAGGTA TGTATTTCCAACGGGATGTGCGAGATGCAACTATGATAGTGACGAATCAG AACTGGAATCAGATGAGTTTTGGTCAGCCACAGAGATGTCAGATAATGAA GAGTACGTTGTTTTGCAAATTGATTAAAAGTGGAGTAGCGTCAGTTAAAA ACTCTAACATGTCTTAGGTTTTTCAAAAGTTTGGTCAAAGTTTTGGCAAA CTGCCAACTTCTTGAAAACTTCGTTAAAAAAATTCTTGAAATGATTTGAA AATTTGTATTATGTTATTCTCTTATTTCTGCACTATTCTATATGGCGCTA CTATACTTTTAATTGATTTCTTGAAAGCAGTTCAATAATAATTAATTTTA GAGTATATGTGAACTTCCGTGGAATGAACTGTATCTCAACAGGAAAGTCG GCCAGTATGGTCCCGAGCAAACGAAGAAATTGGCCAAAAAGAGTGAAGAA AAGGCTATCGACACAAAGAAACAATCAGAAAACTATTCGACCACCAGAGC TGAATAAAAATAATATAGAGATAAAAGATATGAAGTAAGTCGAAATTGAC AAACAGTGGTTTTTGTTTAAGTTTATTGCGAAATATTCAAAATTAGACAT GTTAAAATTTTGCGAGATAATCTAAAGATTAGGTATACAGATTTTTTCAT GTAAAGTTACATTCATCAAAATTTTTGTGTTCACCAAATTAGACAAAAAA TGTTAGTTACACAGTATATTTATTTTTTATATCAATAAAACCTTTTTCAG CTCAAATAACCTTGAAGAACGCAACAGAGAAGAATGCATTCAGCCTGTTT CTGTTGAAAAGAACATCCTGCATTTTGAAAAATTCAAATCAAATCAAATT TGCATTGTTCGGGAAAACAATAAATTTAGAGAAGGAACGAGAAGACGCAG AAAGAATTCTGGTGAATCGGAAGACTTGAAAATTCATGAAAACTTTACTG AAAAACGAAGACCCATTCGATCATGCAAACAAAATATAAGTTTCTATGAA ATGGACGGGGATATAGAAGAATTTGAAGTGTTTTTCGATACTCCCACAAA AAGCAAAAAAGTACTTCTGGATATCTACAGTGCGAAGAAAATGCCAAAAA TTGAGGTTGAAGATTCATTAGTTAATAAGTTTCATTCAAAACGTCCATCA AGAGCATGTCGAGTTCTTGGAAGTATGGAAGAAGTACCATTTGATGTGGA AATAGGATATTGATTTTATAACGTGTAATTGAGTTTTGGCCAAAAAGGTA TGGAAAGGTGGCTGTTTAGTTATATATTTTTCTATTATTTATTTGAAACA TGCAAAATTGAAGTGAACAATAAGTGATGTTCATGGAAATTTAAACTGTT TTATGATACTTTTTTGAGAAATTGAAAAATCTGTTCATTTTAGAAACAAT GTCCACATGGTTCTAAGAGCTAAAATTTTTATTTTCATCCATTTAGAGTA CTTTCTCTTTTAGAGTACGGCCCCAGAGCGATGTTAGAAACCTGAGATCG GTCAACACAGACCGTTAATTTTGGGAAGTTGAGAAATTCGCTAGTTTCTG >CHROMOSOME_III CCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCC TAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTA AGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAAAGCGCGAAATCCTATGAA ATTTCAAGGATTTATAACTTTTTGAGTCCGAAAAGAGTCGGAAATCAGAT AAAAATAAAATCGGGCTTTTCGACCAAAATTAGGCCTCGAAAAGTCTGAG AAAGCACGGAATCTATGGATTCACGGCTTTTTGATTCCGAAAAGGTTCGG AAAGAGAAGAAAATCGATAAGAATCGATAAATTTGCAGAAGTATTGCAAA TAAATTCCGATTTTCACTAGAATTGCGTCATTTGGGCGCAGAAAATCGGG CTTTTCGACCAAAATTAGGCCTAGAAAAGCATGAAAGGGGTCCAAATTCT GAGATTTCGCAACAGTTTTTGGACAAGGTTATCCCGGAAATTAGCGGGAA GCACTGAAGATCGAAAAACTGAAGATCTTGTCGTTGAGAATCGTTCAACA GCGTCAGTTACTACTGAAAAACTGATTTTTGAGCAGAAAATCTGCCGAAA TGTCCGAAATCGGACGAAAATCAGTGGTTTTTTCGCCAGGAACTCGTAAA CGAGCGGGAAAAAACACTAAAATAAAATACATAATCGACGACGGCGTCGA AAAATGGACTTTGGAGGCGATTTTGAGATAAAAATCGCCTCTCTGAGACC GCGTCACCGCAACTCGTGCCTCCATCTGACTCAGGATCCGAATCCGGCTA ACGAGTATACTCGAGCCGGTTCGGTCGATGCACCAATGTTGACACCCATG TTCTTCGGGGAGTCAGACCCGATAGGTAACAAACGTGCGGCTTACTTAAT GACGCGCGGAGGATACGGAGCTAGTACGAGCGGTGCGACTGATGATGCAT AGGGAATAACAGTACACAAGCTTGAATTAATCCAAGTTTATTATCGAATA AAAGGATTAATCAAAGAAAAAAGGAGGAAAGGGCGAGCTGCATTGGGAGA CGACCTTCCTCGACGAGAGTTGTTGAAGAATTGAATGGATCGTAGGCCAG AGGCCTATAATAATTATTGTGTGGATTTACGGGCAACGACACTCCGGAGT AACGCTAGTTAGCGAAGGAGCGCGGTTGCATCTGAATAGCGCATATTGGC ACGTAATTCAAATTAGAAAAATTACTAAAATGATTTAATTAATATTTTTA ATAGAACGAATGGAATATAATCAGCAAATGGTACAAGCGGACGTCACAAC ACATTGCTTAATAATAAATTTCCAACTGAAACCAATAGATTCAGCCTTGA CACAACTGATCAGAAACTTGTTATACATGTTAAAATACTCGAATTCATAT TCATCGCCACCAGAATAATTGGGTTTGAACACTCTTGCAACTTCAACTGA GATGGTACCGTAGATCCAGAAGATGCATTGTTGGAATGTACTTCTTCCCA AAAGGTTCTGAGATTTAATTGATTTTTAACCTGGGCCTAAAAGTCTCACT TACGTACATTTCTAATATTTAAGGCATTTAGTGCTGAGAAGTATTCGACA GTGGCCTCGATGTTTTCAAAGTGGAATAAATAGTGAATTGGAATAATGTT GAAATAATGACCAAAAACTTTACATTCTTTTGATTTTTTCCACTGATCCA TCCGAGTAAGCTGCTCAAAGTCATCGATTGTTTCAAGGCACCACAATTCA ATACTTTTCAACTCTTGAGAATCGAAATAGGGCAGCGTAGATATAATATC ATTGGGTGACACAAAAATAATCGATAATTCCTTCACATGAATGCATTGCT TAGATCTGAGGATGTTCAGAAAATATGTGGTAACGTTAAGGTCTTGTTGA GTTTGTACAACAAATTCGAATTTCCTGACACGTCCCAGTAATATTCTCAA ATCGTTGAAAGCTAGTTGCATGAAGTTATCTCTTCTGATTACTCTCTTTC TTCTGTGAGCCACAATCGAATTCCCGGCATTGGTGTAAATGATTTTCATT TTATCAATCCGCATTTCAACTCGACCATTGCATACCCAAAACGAGATAGA ATCAAAATTAATTCCATTTTGAACAACGGCAGCTCTCAGACTTTTACAAA TTTTGAGGTGAGTGAGTCTGAAGAATAATAGCTTGGTTATGATTTTTCAA AGTTAGGGTACCGAAATCTTGGAAATATTTTTAATTGACTCCAAATTTTC CCCTGATTCCGAAAATCGATGTGAAAAAAATCAAAAAAAAAATTCCTGAT TTTATATTTAAGCTTGAAATCACGCATTTCATTTGCGCCCCGGTCTCTTT TTCAAATTCGCGCCCTAATAAATTTGCATTGGAGCGCACTTGCATCGTGT CATTTTCTTCGTTTTTTTCATTTATTTTAGCAGAATTCAATGTTTTAAAC CAGTTTTATTCATTTGTGGAGAGTTTTTATCGGTTTTTTTTTGACTAAAA TGAAAAAAGGGTCCAAATGAAAATCGAGATGAGCTAAGTCAAGCTTAAAT ATAAACCAGGGAAATTTTTTGATTTTTTTTTTCACTTTGATATTCGGAAT CATGGGAAAGTTGGGAGTCAATTAAAAATATTTCCCAGATTTTGGTACCC CACCTTTAAATCAAAATAAAATCAACTAACTGATCCACTGGCTTTAGCTT TTCCAATACTTGACCAAGGATCTCTGTGGGCATATCGGAAAGAGTAGGGG AAATGTGATCCTGGCTGTAACAATCAAATTGCCATTAACCCAGTATTTCA ACAAAAAAAAACTCACAAATTCATATATCGCACAAAATTAATTGCCCACC ATTTGTCAAGTTCAGCTCCACGTTCTTCAGTCAGAGCACGTCGGGCTTCT CGGCTGATTGTTACCATTTTCAAAAGATATAATTTCTTTAACACAGAAGT TAAATAAAATATGTCCGATAGCAAAAAGTAGATGTGAATGAATTGAAGAA GAACTGAGAAATAGCTAAATATCTATGTCTTAATTTTCATAGAGTTTCAT TGTCAGATACTACAATGTTACTATTGAGAAAAATGTCAAACTGATAAGAA TAGCAGCCAGCTTAAAATGAAAATTTGATAAGAAATTGCTGTCTTAATAT TAATTATATTGTCGTCAACAAACAGAATTTTCACTTGCTAGTTGTTAGTT TAAATTATATTTTGATACCGAAAAGTGTTTGAAAATGGGGGGAAACTAGA AAATAAAGTTTTCTACATATTCCATATTTTCAGAATTGATTTCAAGATAT GTCGGAAACAAGCCAAGAAGCTCGACGTGCACTGACGGAAGAACGGGGAA AGGTGCTTGACAAATGGTGGGCAATTAATAATTTGAGATTCATGAAATTG TGAGTTTTTTGGAAATACTGGCTTATTGGCAATTTGATCGTTACAGTCAG GATCCCATCTCCCCCACGCTTTCCGATATGCCCTCAGAGATTCTTGTTCA AGTTTTTGAAAAATTTGATTCTATAGAACATTAAGTTGCTTTGACTTTTA CAACAAAAATATTCGGTATAAAAATGTTCTGACTTATTTGTCGAAAAGTT TGTCGAAGTCTGAAGCCCGCCGTGGAAAAAATTGAAATTCATTTTGATTC TATTTCGTTTGAAGTATTTAATAAAAATGTTATTATGAAATTGGATGGAT TAAAAATTCTCTACAATGATGTCGCAAATGGTGCTTCTATAGTGGCTTAC AATAACAAGGAAGCAATGATCAAAGGAGAAAACTTCCTGAAACTAGCTTT CAATGATTTGGGAATACTACTGGAACGTGTGAGGAAATTCAAATTTAAAA TCTATGGAGACGATGTACATGCCATTGCCACATTTCTTTTAAATGCTCTC AAAGCTGATCAGTGTGTTCACGTAAAGAAAGTAGTGCTTTTTTACGTGCC ACTCATTGATATTTGCTCAATTCTCTCGTATTTTGATTCTGAAATGTTGG AAAGAATTGACTTGCGTTGTAATGATACAAACGCTCATTTTGAACAACTT GCTCAAAAAAAATTCCAACGAACAAAATGTGTAGAACTTTACAAACTTTT TAATAAAGATTTCCAAATTTTTATACAGATTCACTAAATTTCCAGAGTTT TCCCACAAACCGACACACAGACCGACCTGGTAGTGGAGAGGACAACATCT TTATTCAATCCAGTCAGTGAAGTGGAATTAAACTGGGCTTCAAGGAAGAA ATGGCACAACGGAAAAGGTCGGGAGAAAAACCAAAAGTCGGAAAAATATT TTTTATTGAGATATAATTTTTTTTGGTAGAAACATTTTTCTTCGAATTTA AATTATATTTCGCGCCAAAAATAAGATTAAAAACCAAAAAAAAATCCGAG TGTGGAGAAGTATTTTCGAAAATATTCCTCTAATAATACCCTTTAACAAG GGCTATAATAATGGAATTTCGGGTGCTTGAAAATGAGTTTTTTGAGATTA GAAGTATGAATTTTTGTGTCTGGTGTTAAGTTATTTAAGTTATATTGAAT GGAAATTTTAAAAAAATTCTGAAAAAATATTTATAATTGTTATTTGAAGC TACTATTTCACCTGGAAACTTCTAGAATTTCCAATTTTTTTAAAAATTTT TTAAAAATTTTTTTATTTTCAATATTTTTCACATATGATACAATTTATTA TGAGATTTTCGGAATTTTTTAAGTGAAGTTTTTCCCTAAAGTTTTCAAAA TTGACTCGAATTTTCTGGAATTTTTTTTTTCAAAAGAAACACAGCTTTTG TTTAATTTCCAGTTAATTTTTAGCTTTAACATTAAAAAAAATTTCTTTCA TTTTTAACAAAAATTCCCCTTCTTATTTTAGAATTCAAAGCCAAAAACCT TCAAATTCAATTTTATCTAAAACCTCCTCAAATTCGAAAAAGTGTGAGAG AGATACGCGAGCTACGAAAAAGAGCAAAAATCTGAGTTTTTGAGCACTTC >CHROMOSOME_IV CCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCC TAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTA AGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAG AAGAGACCAAACCGAAAAATCAATTTTTTAAACGAAAAATCAATGTTTTA AACGAAAAATCTATTTTTTAAACGAAAAATCAATTTTTTAAACGAAAAAT CCATAAAAAATTGTTATAAAAATTCTGGAAAAAAAACTAAAAACTTAATT TTTGCTTTGAACATTCATCTTTCGCGAAAAAAATTTCAGCAAATAAAACC GAAAAATACAATTTTGCAAATAAAAAATCTAAATCAACAGTAAAAAACAA AAAAGTCAAATTTCAATAGAAAAAAAAATCAAAAATCAATTTTTACTCCA AAAATTCAACTTTTGCCAAAAACTAACCCAGAAAAATCAATTCACAAAAA AAAACAAATAAAACTGCAACGATGTTTGTGAAAAAAATTTTCTTGATATT TTTAACGAATTTTTGTTTAAAAAAAATGCATTTTTGGCCATAAAATTTTT TTTTTGATTTTTTCAAACGAATTTCCCCTCAATTTTCTTGCAGATCGACG TGGATATTGACGACCTAGATGACGATTTTCTCTCCACAAACGGAATGGAA CGACACGGTTCAGAATTACAAGGAGAAGTGGTTTTCACTACGACGAGTAC TGCGAATAACAATGTGAAACGAGCCGTCGAATATTTCGAAGATGATAATC AAGATGATGCACTAACATCCACTTCATCCGGCAACAGTACACAGAAGGAA TCGTCTCCGTTCACAGATTTTGATGATGTTCCGCCGCCACCAGTGGCTCC AGAAACTCCGGCTCCAGCCCAAAACCGCCGAGAATCTGCGTCCCCCGAAC GTCAATTCCTTGATGAGAGTCACCTCGGCGGAATTGGATCTCCGTTATCA CAGAGTACAAGGCTCGATGAGACGTTTATTGAGGAATACTCTATTGAGTT GGACACCTCTGGGAAGTATGTGTTGGGAAAAAAAATCCGAAAATTGATTG AAAAATTCGAAAAAAAATCCAAAAAACCTTTTTTTAATGAGATTTTTTCT GTGCAAAAATTTAAATTTAGAGCTGAAGAATGTGCACTTCTAGAAAAACT TATTTTAAAAAATTCACATCCTTTTATCAAATTTATTAGCATATTTATAC AAATTGATGGATAAAAATTCCAAAAAAGTTCCAGAAACAACATTTCCTCC GCAGCTTCACCTGGTCCCAAGTCTCCATTTGACGATGATTTTACTGATAC AGCTGCCCCGGTAGCCCCGCCACCAGCACCTACAAAAGCTGCCGAGGAAT ATCGCCGGCAACCACATCAGAATCCGTTTGATGAGGAAGAGGAAGAAGAA TCACAGTTTGGAGGGGGAACTCTGTCCGGTAGAGACCCATTTGATGAAGA TGTACGTTTTTCGTAAAGTTCGGAATTTTTAGGGTATAAATTGAAAAACA AATGGAGAAAATATGAATACCTAGATTTTTTTTTTCAAAAAATCCCAACC CTAATATCCACAATTTTTTTTCAGTCTGGAAACTCTAACGAAAACCAGCT CCGCGAGAAGAAGCTCCACAAAAAAGAGCAACTAGCTCACCGGCTCTCCT CCTCTTCCGAAGAAATTGTGGAAGCCTCAATTCACGAGGATGAGCCAATT GTGATGGCTCAAATTCCAGAGGAGAAGCCCAAACCGAAGGCTATCCCGGC TTTTGATAACGCCTATGACGCCGACTTTGACAATTCCCCACCACTTCATC ATTACTCGGCGGTTCATTTGGAAACTGGGCTCTCACCGCTTGAGGAGGCT CAGAGAGCTCTCCGAGCCAACCGAGCAAGGCATAAGCCGTCGAATGTATC GTTGGCAGAGGAGGCGAAGCTTGCTGCCAGACAGAGATACTCGAATGCAT CGGATATTAGAAGAGAAGAGGAGGAAGAAGTGGTGGAAGAAGATCCAGCA GTGGTAGTTCCAGTTCTACGGAAGGATCTGGAAGTTGAGGAGGCTCCGAA ATCGGTACGACCGCCTAGATATCGGAAGTCAAGGGAAATTGAGGAACCGG TGGTTGTTGATCGGTTTGTTGAGGAAGAAGTTGATGAGAAGGAGGATATT GATGCGATTTTTGAGAAATATCGAAAGGTTCGTAAAGATATTTTCGAGAA AAACGGCGTTGAAAATTTGAAAAATTTGAACTTTTTTCGAGTTAAAAAAT TTAAACATATAGAAAAGATATGAATCTGACAAAATTTAGAGAAAATAAAA TGTTATTCACCAAATCGCCAATTTTTCTGCATTTTTTTGTCCGTTTTACT TTGGTAATTCTGGTAATACAAAACTAGTTTTTTTTCAAAAAAGAATTGCA GGAAAAATATTTTAAATGTTTTTTGAGCACTTGAGCGCATGAGATAGAAA AACGTTATTATTATGCATTCCCTCATATAAAAGTTTGTTCAATTTTTTTA ATTAAACCCCGCTCTTTGAGAAAACTCTGGACTCTACATGGAGACTACCT TAATACAAATTAACTCATAAATATCGGTGATTTTCAACTAGTTATTCATA TGATGCAATTACTGATTTAATAACTTATAATTATGTGTCAATTTCAGACG TCTGTATCCGCCGATCCAAAATCTCACACGCCGATTTTGATGGCCGACGA GTACAAAGAACCACAGAAGCAAGGTGAGTTTAGTTCGAAAAAAAATCATA ACACACACCAGTAGGTTTAAAAACATTGTTAGAAAATTTGAAAAAAAAAC CAAAAACCGTCGTAAAACTACACTTTTTCTATTGAAAATAGAACAAACAA ATCAAATATCCTACATGTAAAATTTAAATCGAGTGGAATTAAATTCTTCA AACAAAAAGAAATCTGCATTTAATATCGATTTCTCATTCAATTGTTATGA ATCATAAAACATGATTTTTTACGACCTCCTCTGAATTATCTACATTGTTC TCTTTTTCATACTTTCCATATTCTAGTATCGATAGGACTAACACAATTTT AATAGTGAGTTCGTTTTTCAAACAATTGGGATTAATTTTCAACTGAACTA GACTGTTTCTGAACGCTCAAAACCTTCAAAATCAATGCTTCTTCAAAACG AAAAAATTGCACACTATAAACCTCTCACTTGAAGTGGCAGCGCTCGTTTT ATATTGAGAAAATATATATTCAAAAAAATGCTGCTGCTTCTTCAGCTTCT CGCCGGGCGCCGCCGCCAATAGTGAGTTCGTTTTTCAAACAATTGGGATT AATTACAAAAAAACTTAACTGCGCAATTTTTAATTGGGAAACTTTCAAAT TTTAACCATAACTATCAATACAGCGGTATACGAAATTTTTCTTCAAAATC GCACCGATACTGCATTTTTCCGGAAAAGGACAAAGTCGGCTAATTGCCGT TTTTTATAATTTTTGCTCATTAAGCTTATTCCATTAAAAATACAATTCTT GTTTAAAATTGCTGAACGGCGAATTTTGTCTACCCGTGGTGGAAATTGCC GGTTTGTTGATTTGCCGGAAAATTTCATTTTCGGCGTGCCGATTTGCCGT TTGCCGGATATCAATTTGCCTGAAACGTTTAGAGGAATACAACGGAAACA TTTGAAACTGTGCCTTTTTGAAATTTTTTCCCTTTTTTTTACAATATTTT CATAGAATTAGCTTACTTTTCAAAATAGATGTAGGAAAATTCATATGCGT ACAATTTTGCCAATTAAAATTTGAATTCTGAAATTTACAAAAAAATGTGC AAAACTACTATTCGCCGAAAATTTTTGGCAAGTTGCCGATTTGCCCGAAA TTTTTATTTTCGGCAAATTGGCGCTTTGCAGTTTGCCGGAAAAAATTACA TACACCTGTTTTCAGCCTAACTTAAAATATGATTTACTTTGAAAAATAGG GAATTAAATTTAAATAAAATTTTCAACTGAACTAGACTGTTTCTGAACGC TCAAAACCTTCAAAATCAATGCTTCTTCAAAACGAAAAAATTGCACACTA TAAACCTCTCACTTGAAGTGGCAGCGCTCGTTTTATATTGAGAAAATATA TATTCAAAAAAATGCTGCTGCTTCTTCAGCTTCTCGCCGGGCGCCGCCGC CACATTTACCGGCCAACCCGTTCTCTGAGGTTGTCTTGTAAGGGCGTTTT CATGTATATTCAGATTATTATGCATGAATTTCATTAATAACGGTATCCAC CCACGTATATTTCTCTTCTTCTCTCTTTCTGTTGCGACGGGGGATGTCGA TTGATTACGCCACGGGCGCTAGCCTATTCCGAATGCATTGAGAAATTTGA GACCAGATTCTGGAGTTTTTGGAAGACGAATCGTCGGCAGCGGAGCTCGA TTTTAATTTAATTTCGAGAGCACCCGCGTGCTCTCGCCTCGACACCCTCA AACTTCTTCTTCTTCTTCTTTTCGTCGTCTTTCACTTTTTTCCTTTTTCC TGTCCTAACCACGGCGTCTTCCTCCAATTTTCAGTTACCACGACGTCATT AGCTATTTTTAGTCCGAGTGTGGAGCTTGAGAATTTGAGCAATTCTGATG TGACATTCCTGTCGTTTTTAGCGCTAATTTTCCTAAAACCTTCAAAAATT TAGAAATTCTCTATCGTCTTTCAAGAGCCTAAGTTTTTTTTTTCGAAATG AGTTTTTTAAAATTGATCGAAATGTTTTTAAATACTGAATATTTGGGATT CTAGATTTTTACTACAATATTTCCTTTTCAATTTTTAATTGGACAAAATT TCAAAATGTTAAAAAAATTCTCCGAATTGAATGCTATTTTTCTAAAAAAT TTTTTTAGTGCCTGCACCAGTTGTCGTTGCTCAGGAGTCGCCGATCTTAA AACGAAGAAACTCTCTAGTACCATCAAGGATCAGTGGAAGGCAGTCGACG >CHROMOSOME_V GAATTCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCT AAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAA GCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCATAAGC CTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCATAAGCCTAAGCCT AAGCCTAAGCCTAAGCCTAAGCCTAAGCATAAGCCTAAGCCTAAGCCTAA GCCTAAGCATAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAACA TAAGCCTAAGCCTAAGCCTAAGCCTAAAACATTTGGAAATTATTTTTGAT CGTTTATATTCAAGTAGCAAGAAAGTGTCCTAGCGTTAAAAATAGGAAAT TTTTCGCTCTTTCAGAACAGTATACTCATGTCTCTGTACCGACGATATTC ATTTCAAAAATCGCAAAAAAAGTTTTTTTCAAAATACCACTACCATTAAA ACATTTGGAAATTATTTTTGATTGTTTATATTCAAGTAGCAAGAAAGTCT CCTAGCCTTAAAAATAGGAAATTTTTTGCTCTTTCAGACCAGTATACTCA TGTCTCTGTACCGACGATATTCATTTCAAAAATCGCAAAAAAAGTTTTTT TCAAAATACCACTACCATTAAAACATTTGGAAATTATTTTTGATTGTTTA TATTCAAGTAGCAAGAAAGTCTCCTAGCCTAAAAATAGGAAATTTTTTGC TCTTTCAGATCAGTATACTAAACATTCACGTGTGGATTAAAATTAAAAAG GTAGTGTTAAATAATTAAAAATCATTTAGGGGGGAACGAAACCCATAAGT ACTGTCATTTTTATCTTTTACCTTTTTTTTTACGTACGACGTTTTTCGCT GTTTTCCCTGATACAAAATGCGTTGTTCTTGTTTATTTATGTTTTTCTTG AAAATGTTATCAACACTGATAATCTGAAAAATTATAATTTAAAACTTAAA CGAAGCTAAAATGTGGCTGTTATAATACAGCGACTCAATGAAAAACTCAA AAAAAAGTTGACTTTGCACGCTATGGTTAAAAATGAATGAATTCTTGGTA CATGGTTTTTTTTGTGATTTTTCGTTGAAAAATCCACACCGTGTCAGAGA GAGCTGAAAATGTTCATTGAAAGCGCTAAAAAACATTTGAAAAAATGCCA ATTTTTCCGTAAGATAATTCGATTTGAAAGTTTGAAAACTGAATAGTAAT TGTGTACTTGCAAAGAACCTTGTTTGCTTTTTAGTTTATTTGATCTACCA AAGATTGGGTTCACTGTCTGACCATTTGGGTCACTAATCTCATAAACCGT CAAAACAATCCAACGTGGTACAAAGTACATCAAGTTTTTCACAAGTCCTA TAGTTAGCTGCGCATCCCTAATAGGTATCCCCATTAATTTTTTTTTCAAG AAGAATGGCAACACAAACACCCCTCTCTGATGACTCGTGTGTCAAAAACG AGCTCACGGAACTCTCCTCTAGTGAAACGGTCTCGAGGATTGACGAGGCC CCGAAATTTCATGTCAAAGCTGTCGTCGGGCGTGTTGTGATAAAACATTT TGGTGGCCGGGATTGTGTTTGTGTTCAGTCAGAAAGACGCTATTAGGACC TCCTCCCATCTTATTAGCTGTTTATCCTTCATCACAAGACATCTCAATAT TGGTTCCATAGGTGTAGCTTCTTCTGCTTCTTCTTCTTCTTTTGTACCTA CGTCATCATACATTGGTTACTGTCCTACCGAGGTTTGTTTCAAATTTGCA CATTTAAAATGGTATACACCTTTAAAATAAACTTAGAAGTAAGGCCTTTG GTCCCACTACAAAAAATTTACAGTAGTTTGGTTCAGACTTTTCTAAATTT AATTAAGGTTATTTTTTATTGACAAAAAATATTTTAGTTCAAGAAATATG TTATGTTCAGTGGGTTTCCTGTCATATACTTCTACTTACCGTATTTCCTC TATTAGTCTTGCATGCAAGACTAATTTTCAATTGACCCGTAGGGGTGCAA GACAAATAGGGGTGCAAGACTAATAGAGGCTGCAAGACTAATAGAGGAAA TACGGTAGTTATACTGGCAAAAGCGATAGCATTTCGAGAGAAAAATATTC TTAAATGTGCTCAATATGGCTGATACAGATAGGTTTTTCATTACAGACAG GTTTTTCATTTCAATTTTAAAAAAATACCTGACAGTTTATCAAGAAAATC CAGCACATTCCAGAGTTATTAGAGTATTTAGAAGTTTGCAAGTTCCCAAT TTTGTCAAGGGATTTTTCAAAGTTTCTCAAACTTTCCAAAAAATGCAAAA AAAAACATTCCAAAAGTACCAATTTTTCCAAAAAATTCCATAAATATATT CAGTCCACCGAACGTTTTTAGATCTAACTGAGAGTTCTCCTGAAGTTTTT CAGAGTTTGAAGGAATTTATAGAAGTTTCTGATGTTTTACAGGATTTTAC TAAAGTTTCTCAAATTATCTATAAATGCCAAATCTTTTCAGAAAGTTTTC AGAAAATTTCCGGAAAACCTTCAATTTTTCAAGTTTTCCAGAAGATTCTC GATTTTTCCAAAATCGTTTCAGAATTTTCCTAATTATTCCCATATTTCCA TCGACTTCTTATAGTTAATTTGATTTTCATCAAATTGATACAAATGAGAA AATTTGAAATTTGATAACTCACGTTTCGATGCAAAAAGAGACGAAAGGCG GCGTGATGCGGGCAGGATTTAGGCAGGCGGTAGGCCCTGAAACCGCGCCT GCCTACCATTGAACCTCTAAGCTATTCAGTTGTATTTTTTGATATTCCAG ATGCGTACCGACGTGGGTTCTATTCCATTAATGTGTATTCTGTCTACACT AACGACTGGTGTGTTCGGATATCTTCCGACAGAAGATCTCACAAATTCGA TAATTTCTGGAAACGGTGGTTATCCAGTTCCTCCGGACACTATTATACCG GCCGATGGAGATGAGGAAGGTAAGTGGATCAGAAATTAATAATTATAAAT TTTTTAGAGTAGGGTTTTCTTCTGAAATCTGATATTTTGTGAATTTTGCA AAAAATTGGAAAAATCGACAACGAAATGCAAATTGTTTCGTTAAATGCAA AATGGATGCGCACCTTTAAAGAGTAAAGTCTATGAAAATGCTTTTATTTG GTATTACAGTTCTTTTCAAAGGCACACATATTTTTCCCATTTAACAAAAA ATCGTCGTGACCTTATATCGTATTTTCGGCGCAAAAATCGGAACATTTCG CGTCTGTATAATACCCCATTTAAAGGTTTACGACGCAATAATACAACACC GGGTCTCGACGTGGCAAACGATTGTTTATTGATTTTCACGGGATTCTCGC CTTTCTCATTGAATTTTCGCGCTCCATTGGCAATCGCCTGCCGGACAACG CGTGGAAAAGTGTAGTGTACTCCACACGGACAAATCCATCGGTTTTACAA CTAAAAACGAGCCGCGACGCGACACGCAACGCGCCGTAAACCTACACAAA ATCTCGCAGACTCAAAATGGCCTAGTTCGGCAAACTCTGCCATTTCGATT TATGAGGGAGGCCAGAATTCCGTGATTTTCCCATTTCTCACGGCCTCTCT AAATTTCACGTTTTTCAAAATTCATCTTTTTCTCTCTGCTCTCTCACTCT CTCACGTGAAATATTACTTTCTGAATAATAATTTGTGTTTAATTAAATCA AATTTTATTGAAATAGAATTCATGATACACGATCTTGAGAAGAGCTCTGT CCTCCAGGCTGCGAACTGGAGCGTAGAAAGTTTTCATATTGTTAAAAACT GCAAAGAAATGTTCGATTCCTTGTTCTGACGTGTGATGCTTTCTCAAATA TGGAATTAAATGACAGACAAGGAGATGAAGTTTCGGAGTGACTCATTATT TCATCAGTTTCATTAGGAAAAACACTCTTTATTTATTCAAGGAACTGTTA AAGCAAAACTTCAATTTTGTCAATCTCTTGGTCTAAATACGTTCTATCGT TAGATAAATCTAACTATCTAACTGAAACGAGTACAACTATATTGTAACGC AAAAAAGCTAAGCGCCATAAAACACAAGTAAAACAGGCTCCAGTAAGCCT AAACTGTTTTTACTATAAAAAACCATTGTCATTCACCTACCTACCAAATG CCAATATAATTGGTTGAAAAAAATTAGTTTAATCTCCTCGCAAGATTTTT TTCTCCGAAATTTAAGATTGGGCGCTTAGTGATATCATAACTCTGCAGCC ATCAGAAAAACTGAAATGTATTTAAACTGTAAGTTTTAATCGTTTTATGA GGATTATTTCTTTAGTTGACAGTTTTTTGATAGCTTCTTTAGTTATTGAG CTACGGGCTTCCAAACAAAACCAATCAAAAACCACTATAAACCACAATGT CCTAAAAGTGAAATTACTCAGTCAATTTTTAACCAAATCACGGCATTAAT GTCTTGATATCTTCATTGAACAATTTGTAAAAATCGTAAGGCGGTAGTTT TTTGATAAATGTCATCGTTTTTTAGTAAAATTGCGTTAACCATTCAAAAA TGGCCCATTTTTGGTGTTTTCAGGCCTAATTCTTGTTTTTGAAATTCCGG AGCCAGTTTTTATCGAAAATTTTTGTGCAATGTCAAAAAATGACCGGAAA AAAATTCTCTACAATCGTAAGGCGGTACTTTTTAAAATTTCGTTTCCATT CTTCCCCAGGGATCCCGTAAAAAACCAATTTTTCGACTAGGTCTCACATT TTGCCCTACAAGAGCATAGTTAATGTTATAAATTTGGATTTTTTGGTCGA ATTTGATGAGGTAATATTCAGTTGTTTGTTTATTGTTGGAAAATCTGAAG ATTTATCAGCGAATCGCCCGATTTCGCCAATTATGACCAAAAAACCCCTA GTTTAGGATTTTCACGAATGGATGAGTTCATTGATACGCTTCCACGCTGT >CHROMOSOME_X CTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCT AAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAA GCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGC CTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCT AAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAA GCCTAAGCCTAATCTGTGCTCCAAAGCCTTCGAACTGACGGACTTGTGTC CCGAAGTCGAACTCTTGAAGTTGTCACCGAGTTGGCTAATAAGAAAGACG CTACGTTGTCTTTTTAGTAAGTTTTCGTCGAAATTCTGGAAAAAAAATCT GAAAAAAATGAGAAAAATTGAAGTTTCTTGTGAAAACGTGCAGCAGCCGA CAACTAACGGGACTGGGAAAATTGAAATTTTTAACACAGTTAAAATGCGA TGTGCGCATAGTGGGTGAAAGGCCATAATGCGCGCACCGCGTGTGGCGAC CACCTATTATGCACCTATCGCGAACGGTTCGCGATGGGTCCATAATGTAT CCATGATGCTTCCACTCACGAAACAAACAATTCGAAATATATATTGTTTT TCCGCCTATTTTTTTAACATTTTATTGCAATTTTTATTGAATTTTTGATT TTCACTGGTTTTTTTTCTTGAAATTTTGTTTCGTATGTGGTATTTTGTAA TAATCATAATATTTTTTTCTAAATTGTGTGTCTTTTAGAGAAAACACTGC TCTAACCAGTTGAGGCATTTAAAAACATCATTTAAACAACATGGCAAGCA TTATTTCGTTCCTAATAAATGGAAGCATAGTCAGGATTACTGTAGTTTCA CATGTATTTAGCCATTAAAATTGTAATCTGAGTTTTCATCGGTATTTGCG CATACTCAGAAAATTTTGTTAAATATCTTGTCTGTTCCTGTATTTTCAAG AGCGAAATATCGTCAAAATCAGATTATTTCGTTGAATCTGGAAATGCCCA CTGTTCTTCATGCCTACTCGTGTCTATTTCTCATCAGCGTTATAACTCAC CTTTTAAATAATATTGTAGAAACAAATTTTTTGCAGCTTCTCTTCGAGCA GCAGACTTCACAAAAACTTCATCAACAAGAAAAAACGTGAAAATCTTCAA CATCGGAATGTCTAGGTGAAGGATGTCGGAACGGGCAAGGTTTGGAGCAC GGCTCAGCTTTTTTAGATTTTAGATTTTAATTTAGAAACACACCACCGAA GAGGAGGAGATAAAGATGGCTCGGCTCCAGAATGCATTGAAAGTTGTTGG ATGGTCGAATGGATTGAAAGCAATTGTAAAGAAGGAGTTACCCGGAAGCC CTGCCAAAAAGCAAAAACCGGCATCGGTTGCGCCGAAAATTTTGGACTCC TCGATCGGAAGAGTGAGTTTGCTGATTTTCAAAAAATAGGATGAAAGGCT GAATAATTTGAGCTCTCAATTGCTAAAAATATACGGATGGACAAAACTAC GATCATCATTGGTCACAAAGTTGCAGCTCCGAAAAGAGAATTCGTCTGGA ATTCTGGAAGTTCACAAGAATGGTGAGTACTTACCTTTCAAGTGAAAATT GAGGAAAAATTGAGAAAGAAATGTGTTGAAAGATGCAAAAAAATGACAAA AATTCAGCTTATCCTGCTAAAATTACGCGTGAAAAAGCATATTTTGTGCT TGAAAATCGCAAAAAAAATGCATTAGAAAAACCGATTTTATTTAGTCCTC CTAACAAATCGATTTTTGTAGACCTGGAGTCATCCTAGCAAACGAGGCAA CACTGGAAGAGGACGAAAAACGTTAAGATTCCGTATGAAGATGTCAGAAA ACCGAGTTAGGAGGAACTTGGAATTAAATTTTTGAGTTTTCTTTTTTCTA TAATTTTTTAAGCTCACTTTTTATTCTTTTTGTTGTTCTCCCACTTAGGC CATGTTAATAAATGTGTTTTTGTTAAGAAAACTGTCTTAAATGCTCAGGA TCAGGTTTTATTATTAAAAAAACAAACCCACAAAGCGCACATAATTTATG TTCGCGATGCTCGCAAAATGCATCTCAAGTTCGCGATGGACGCACAATGC GCGCGCAATGGGCATCATTTCCGGTTCCTTTTTAACACACGCGCGATCCA CTCCGAAAGCACTATGCGCACATCGCATTTTAACTGTGAATGAAAATTTG AAAAAAAAAACTAAATTTGAGAATTTTTGAGTTAAAAAATTCCAAATTGC AGAGAAATAAAAAATAAAATTTTTAGAGAATATATCGAAAGAAATTCAAA TTTTTAAGAAAAAATCCCAAAAATAAATCATTTTTCTAGAAAAAAAAAGC AAAAAGTTCCCATTTTGCGATAAAAATCGAAAAAATCCCGATTTTTTTAC AATTTTCTAAAAAAAAACTGAAAAAAATCCACATTTTTCAGAAAAAAACG CTAAAATTTTAATTTTTTCTAGAAAAAAACAAAATTTTCAATAAAAAATC CAAAAATAAAACCAAAATTAAAAAATTATAATAATTACGGGTAAAATCGT ATGAAATCCCGTTTTTTTTTTAATCGTAATTATTTTCAATTTTTTGGTTT TCTCCTCAAAAAAAATTGTTTTTTTTCCCATTTTTCTTTAAAAATTGAAA GTTTTCCAATTTTTCTCGAAATATTGACTCAAAATTAGCTTTTTCTTCGA ATTTTTAATAAAAATTTTCACTTTCGCGACCCGTTAGTTGTCGGCTGCAC GGTTTTCTGAAAATTGAGAAATAAAATTAGAAAAGTTGCAAAATTGAAAA AAAAAACCGCAAAAAACTGAAATTTTCTAGGCAAAAAAAAATAAAAGAAA TCCACAAATTTTTCGATAAAAATTGAAAAAATCCAAATTTTCCTGAAAAA AATCCCAAAAATCCAATTTTTCTACAAAAAAAACCCAAAAATCCACTCCT TTTCGATAAAAATTTGAAAAAATTTCGATTTTTCAAGAGAAAATTCCGAT TTTCTAGAAAAAAAACCCCAAAAAACTATAATTTTCCTTTAAAAAAAACC CCAAAAATCCAAATTTTTGTACAAAAAATACCAAAAAATCCACATTTTTC AATAAAAATTAGAAAAAAAAAACAATTTTTGCTGAAAAAAAACTCAAAAA TCCAATTTTTCTACAAAAAATACAAAAAAAATCACGATTTTCCTGAAAAA AACCCAAGAAACTATAATTTTCCTGAAAAAAAAATCCAAAAAAAAACCGG GAAAAAAACAAAAGAAATCCAAATTTTTCGATAAAAAAATTGAAAAAATT CCGATTTTTCAGGAATAAATTCGGGAAAAAATTCAATTTTTCTAGTAAAA AACCCAAAAAAAACCCAATTTTTTTGCAGTTTCCGTCACTTCTTCTACCA CCGTTTCCACAGTAATCTCATCGAAGGCTCAGGTCGCCTACTCGACAAAA TTAATGATACTACTGCTGCCCAACAACAACTACAAACTACAAACGAACTC GACGGCGATGGCCCAGAAATTGCAATCGCCGCGGCCAAAGCATTCCATCC GACTGAAAAATTCGATTTGGAAATGAATGTGGACGACGATGAAATTCTGA AAGTATTTGATATACAAGAACAAGAGCAAATTGTGATGAAAAAAATCCGA CATTTGGAGAATTCTGACTTACATTTCGAGCGAATTCATGTGAATTTGGC GAAAAAAGAGCGATTTTTTGACGACGTTCAGAGCTCGGAAAATGACTCAA GCGACGAAAAACTCGCCGAAATTTGCGATTTTTTGAGCCAAAATTGCCGG GAAATCTCGAATGCTGCGAAGCCTCCTCGAGCAACACTTGACGAATGGAT TCAGACTGGAAAATTCGAAATACAACGTCGTCGAGAGATCCGGGCGGTTT GCCACGTCATCAAGGCCATCGGTCAGATGGGAATTACACTTGGCGAGCTG TGTGGAAAATTGAAAATTGCCATAGAGCAAATTGCCGGAATTTTGGCCGA TTTGAGCGGAGACAAGAAATGGTGTCCGAGACCTTGGATTGCGCCGGAAG GTTTTCTTTTTTTTTTAAGGGATTTTTGGGGCGAAAAATTTGGATTTGGC TCACCACGCGCGAGCTTTGATTTAAAGGTGTTTTCGCGGTGAGACCCGGA AATTTTATTTTTCCTAAATCTCTCTGAACCCGGTCATGATTATACTTAAA TGAAAGCTCACGGCGAGCTGAATTCGAATACTAAGTGTATGGTTGTTTAG CTACAGTAACCTGACACTGAATTTCGCGGCGAGACCCGAAAATCCCCAAA AACTCTCAAAAACCGTCTTAGAATCGATCAAAATATGTCAAGATTATACT TAAAGGAGGACTAACGGTTCGGACGATTTTGAACGTATAGACCAAAAATA AGCTCAAATGAACGAAATTCGTAATGAAACTGCTCAAAAATTTTTCAAAA ATTTTTTATGGCGGTTCAAAATTTTGAAAAAAATTACACTGATTTTGGCT AAAATCACGATTTTTTCTCATTTTTCCGTGTCACATTTGTCCGAAGTTGG TTTTTTTAGAATTATCGTCCTTTATTACATATTTTGGTAATAAATCTCAT TTAATTTCGTCGATTAAAGTGCATTTAAAGCCGATAAATAACCAGTTTCG ATGATTTTTGGTTACCTATCGGCTTTAAATGTACCTTAATCGATGAAATT AAATGAGATAATCTACCAATATATGTAATAAAGGACGATACTTCCAAAAA AGCCAACTTCGGTCAGATGTGACACGGAAAAATGGGAAAAATTCGTGATT TTAGCCAAAATCAGTGTAATTTTTTTCAAAATTTTGAACCGCCATAAAAG ATTTTTGAAAAATTTTTGAGCAGTTTCATTACGAAATTCATTTAAGTATA ATCATGAGCGGGTTCAGAGAGATTTAGGAAAAATAAAATTTCCGGGTCTC >CHROMOSOME_MtDNA CAGTAAATAGTTTAATAAAAATATAGCATTTGGGTTGCTAAGATATTATT ACTGATAGAATTTTTAGTTTAATTTAGAATGTATCACTTACAATGATGGG GTTTAAAATTCTATAGTAAAAGTGTTTTTTGTTTTAGCTGTTTTAAGTAG GATTATTAGATATATTAATATTGACCCTATAAAAAGAAGTTTTTTTCTTA TCTTTTCACTACTTTTTAGTATACCAGTTATTTCAATGAGAATACATATT TGGTTTTCTTACTTTATTTGTTTATTATTTTTAAGTGGTATTTTTGTTAT TTTGGTATATTTTTCTAGTTTATCTAAAATTAATGTAGTGAAAAGTTATA TAGCTGTGTTTTTACTTTTGTTAAGAATGTTATATTTTTCTCCCACAGTA TTAACTTATAGAAGATATTTAGGTTTAAGAGGTTTTTATTATAGTATTTA CTGGTTTATTTTTTGTTTTATTTTAGTATGTTTATTATTTTTTATAAATT TTAGTAGTTATTTTTTAAATTTTTCAGGTGCTTTACGTAAAGTTTAAAAT TATGTTTTTATTTGTTAGATTATTTATATTTATTTTTAAATGACAACGTT TAATTTTTATTCTAATTTCTTTAGAATTTATAATGTTGAGATTATTTTTA AAATTTTCTTATGTTTTAGGGGAAATAATGTTTTTTTATTTTATGTGTTT TTCTGTTATTTCAAGAATCCTGGGTATGGTAGTTATAGTAGGTAATATAA AATTTTTTGGTAGTGATAATTGTATTTTTTAGTAACAGATATAAGTTAAG TTTAAACTATTGATCTTCAAAATCAAAAATTTATTTCTGTAGAGATAATA GTATAAATAAGTATGTTTCTTTTTCGCAGAAATGGTTTTTTATCTTATAA AGTTTTCTTTCAGGGAATTAAAATTTGATCATGGTTTAAGATGATTTAAA ATGGTATTATCTAAATTTGATTTACAGAGTAGGCAATAAAAATTTACCTC GGCAATTTATCGCTTGTAAAATACTTGTTCCAGAATAATCGGCTAGACTT GTTAAAGCTTGTACTTTAATTGATGTTAATTATGAAATTATTATATTTTC TTTTAGATCTATGGTAGAATTTGGATTTATATTAGTGAATTTTCATAATT TTAAGATTTGTTGAACAAAGCAGATTAGTACCTGGTTAGACAAAAATTAA AAGAGCAGGAGTAAAGTTGTATTTAAACTGAAAAGATATTGGCAGACATT CTAAATTATCTTTGGAGGCTGAGTAGTAACTGAGAACCCTCATTAACTAC TTAATTTTTTGACTCGTGTATGATCGTTTATTTTATTCTTAAGGATTATA ATAAAAAATTTTTAATTTATTAAAATAGATATATACCCGGTTTATGATTT AAGAAACATTTGGCCTACAATATTTTATATTATGGATTTTAGTTTTAGTT AACTAAATGAAATTGTAAAAGACAGTAAAAAATTCTTAATGTATTTTTGA AGATTATCTAGAAGTGGTACAAATCATCCATCAATTGCCCAAAGGGGAGT AAGTTGTAGTAAAGTAGATTTAGGGGAACCTGAATCTAGTAATAAAACTA TTTTTAAATATGTTTTGAAAACATGTTTTGAGGTAACTCGTAGTTTTTAA GAGTTAGTTTAATATAGAATTGTTGACTGTTAATCAAAAGGTGTACCTCT TAATATAAGAGTTTAGTTTAAGTTAAAACGTTAGATTGTAAATCTAAAGA TTATTGCTCTTGATAATTTTAGTTTTACTTATAGTTATTTTAATGATGAT TTTTATTGTTCAAAGAATCGCTTTTATTACTCTATATGAGCGTCATTTAT TGGGAAGAAGACAAAATCGTCTAGGGCCCACCAAGGTTACATTTATGGGA TTAGCACAAGCTTTATTGGATGGGGTTAAACTTTTAAAAAAAGAACAAAT AACACCCTTAAATTCCTCTGAAGTATCATTTTTACTTGTACCAGGAATTT CTTTTGTTGTAATATATTTAGAATGATTTACGTTACCATATTTTTTTGAT TTTATTAGTTTTGAGTATTCAGTTTTATTTTTTTTATGTTTAATTGGATT TTCTGTTTATACAACTTTAATTAGCGGTATCGTAAGAAAATCAAAATATG GTATAATTGGGGCCATCCGTGCTAGAAGACAAAGAATTTCTTATGAAATT GCTTTTTCTTTATATGTTTTGTGTATTATTATTCATAATAATGTTTTTAA TTTTGTTTCAAAATTTAATTTGAGACTTTTAATTATTTACATCCCATTTT TAATTATAGTAATTGCTGAACTTAACCGGGCGCCATTTGATTTTTCTGAA GGTGAAAGGGAGTTAGTTAGAGGATTTAATGTGGAGTTTGCCAGAGTAGC TTTTGTTTTATTATTTTTAAGGGAATATGGAAGATTAATTTTTTTTAGGG TACTTTCTTCTGCTATATTTTTTAAATTTTCAATTTTTATAGCATTTAGT ATTTTTTCATTATTAATTTTTATTCGTAGTTCATACCCTCGTTATCGTTA TGATTTAATAATAAGTTTATTTTGATTTAAACTTTTACCAATCTCTTTAA TTATATTGTGTTTTTACGCAGTTATTTTTTATTATTAATCAAGTTTATTT TTTAGACATTTTTATATTTGTTTTTGTTTTACAATTTTTGTTTTATTTTA AAGAAAGTATATTAAATACTTTAGTGAAAAAATTTCTTAATAGGTTAGTA GGAGTATTTAGATATACAAATACTTTACCATTAAGGTCAGTAATTTCTAT TTTTACTTTTATTGTTCTTTTAACTTGTTGTTTTGGAGGTTATTTTACTT ACTCTTTTTGTCCTTGTGGAATGGTTGAATTTACTTTTGTTTATGCTGCT GTAGCGTGATTAAGTACTTTGTTAACTTTTATTTCAAGAGAAAAATTTTC AGTTTATATAAGAAAACCAGGAGACACATATTTGAAAACTCTTAGAATGC TATTAATTGAAATCGTTAGAGAATTTTCTCGTCCACTTGCTTTAACAGTG CGTTTAACAGTTAATATTACTGTTGGTCATTTAGTTAGAATAATGCTTTA TCAAGGATTAGAATTAAGAATAGGTGATCAGTATATTTGATTATCAATTT TAGCCATTATAATAGAATGTTTTGTTTTCTTCATTCAAAGTTATATTTTC TCTCGTTTAATTTTTTTATATCTTAATGAGTAATAAAAAAAAAAAGATGT TAACTTAAGTTTTAAAGTGCCAAACTTTTAATTTGGAAATGGTGGACCAC ATCTTAGTTGATATAGCATAAGAAGTGCATTTGTTTTAAGCGCAAAAGAT ATCCGTCAACTAACGAGTTCATAAAGCAAGTCTTCTAAATTTGTTCTAGG TTAAATCCTGCTCGTTTTTGATTGTTTTTATTTCTTTATTTACCTTGTTT TTAACATTATTAAGAATTTTGACTAATAACGTTATTGTTTGATGAAGAAT TTTTTTATTGATAACTGTAGTTTTTATTCTATTAAATAAAAGCAGCAAGA GATATACCAGAATTTTTAATTATTTTGTTATTCAAGAGTCTTTAGGTTTA TTATTTCTTCTTTGTAGAGGAGGTCTATTACAATTTTTTATTATTTTATT GAAAATTGGTGTAGCACCGCTCCACTTTTGAATTTTTAATGTAACAAATA ACATTTTTAATTATGGGCTAATGTGGTTTTTAACATTTCAAAAATTACCA TTTTTAACTATTTTATTACAAATTTTTTGGTTAAGATCCGTGTATATTTT GTTATTTGGTTTATTGATTTGTTATGTTCAAATTTTTGTCATAAAAAGTT ATAAAAATTTGTTAATTATTTCATCCACAGAGTCTTTTAATTGGATTGTT TTGGGAGTATTTTTTTCAATGTTTAATACATTTTATTTATTTATTTATTA CTTTGTATTAATAGTTTTATTAATTTCTAAGTTTTCTAAAACTAGGGGTT ATAATTTTATTAATTGAGAAACAACATTAGTATTTTTAAATATTCCATTT AGAGTTTCATTTTTTGTAAAAATTTTCTCATTGAGGGAAATTTTTAAATA TGATAGATTCTTTACTCTATTTTTGCTTTTTACAATATTTTTATCTGTAT TGGCATTTAGATTTTGATTAATTAACTTGAGAATGAAAAATAATGAAGAA ACTTCAAATAATAATAAAATAAATTATTTTATTATTTTTCCGTTAATAGT TATTTCTATTATTTAATTACTTTTCTAGTAAAATATATTATATTATCTTG ATAAGGTAAAGTTCCAGTTGGGAGAAGTAAGATGTAAAATAGATATTACT ATGTTTGGTTACGGTCCAAAAAGATGCACATCTTTGCGATCTAGTTTAGA AAAAATATTTGTTTTTGGTGCAAAAGAGTTTGATTGCATTTAGTTTACTC TTTTAGTTTATAATTAAAATATGGCCCTGAAGAGGCTAAGAATATTAGGA GTATTGAAAATTAATAATAGATTATTAAATTTTGTTAATGGGATGTTGGT GACATTGCCATCTAGAAAAACTTTAACATTAAGATGAAATTTTGGTAGTA TATTGGGTATAGTTTTAATCTTTCAGATTTTAACAGGTACATTTTTAGCA TTTTATTATACGCCCGATAGGTTAATAGCATTTTCAACAGTGCAGTATAT TATGTATGAGGTAAATTTTGGATGAGTATTTCGAATTTTTCATTTTAATG GGGCCAGGTTATTTTTTATTTTTTTGTATTTACATATTTTTAAAGGGTTA TTTTTTATAAGATATCGTTTAAAAAAAGTATGAATGTCTGGTTTAACAAT TTATTTATTAGTAATAATAGAAGCTTTTATAGGTTATGTTTTAGTTTGAG CTCAAATAAGATTTTGAGCAGCAGTAGTTATTACTAGACTTTTAAGAGTT ATTCCAATTTGAGGGCCAACTATTGTTACTTGAATTTGAAGAGGTTTTGG htslib-1.2.1/test/ce.fa.fai000066400000000000000000000003461246417267700154370ustar00rootroot00000000000000CHROMOSOME_I 1009800 14 50 51 CHROMOSOME_II 5000 1030025 50 51 CHROMOSOME_III 5000 1035141 50 51 CHROMOSOME_IV 5000 1040256 50 51 CHROMOSOME_V 5000 1045370 50 51 CHROMOSOME_X 5000 1050484 50 51 CHROMOSOME_MtDNA 5000 1055602 50 51 htslib-1.2.1/test/compare_sam.pl000077500000000000000000000103771246417267700166350ustar00rootroot00000000000000#!/usr/bin/perl -w # # Copyright (C) 2013 Genome Research Ltd. # # Author: James Bonfield # # Permission is hereby granted, free of charge, to any person obtaining a copy # of this software and associated documentation files (the "Software"), to deal # in the Software without restriction, including without limitation the rights # to use, copy, modify, merge, publish, distribute, sublicense, and/or sell # copies of the Software, and to permit persons to whom the Software is # furnished to do so, subject to the following conditions: # # The above copyright notice and this permission notice shall be included in # all copies or substantial portions of the Software. # # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL # THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER # LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING # FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER # DEALINGS IN THE SOFTWARE. # Compares two SAM files to report differences. # Optionally can skip header or ignore specific types of diff. use strict; use Getopt::Long; my %opts; GetOptions(\%opts, 'noqual', 'noaux', 'notemplate', 'unknownrg', 'nomd', 'template-1', 'noflag'); my ($fn1, $fn2) = @ARGV; open(my $fd1, "<", $fn1) || die $!; open(my $fd2, "<", $fn2) || die $!; # Headers my ($c1,$c2)=(1,1); my (@hd1, @hd2, $ln1, $ln2); while (<$fd1>) { if (/^@/) { push(@hd1, $_); } else { $ln1 = $_; last; } $c1++; } while (<$fd2>) { if (/^@/) { push(@hd2, $_); } else { $ln2 = $_; last; } $c2++; } # FIXME: to do #print "@hd1\n"; #print "@hd2\n"; # Compare lines while ($ln1 && $ln2) { chomp($ln1); chomp($ln2); # Java CRAM adds RG:Z:UNKNOWN when the read-group is absent if (exists $opts{unknownrg}) { $ln1 =~ s/\tRG:Z:UNKNOWN//; $ln2 =~ s/\tRG:Z:UNKNOWN//; } if (exists $opts{nomd}) { $ln1 =~ s/\tMD:Z:[A-Z0-9^]*//; $ln2 =~ s/\tMD:Z:[A-Z0-9^]*//; $ln1 =~ s/\tNM:i:\d+//; $ln2 =~ s/\tNM:i:\d+//; } my @ln1 = split("\t", $ln1); my @ln2 = split("\t", $ln2); # Fix BWA bug: unmapped data should have no alignments if ($ln1[1] & 4) { $ln1[4] = 0; $ln1[5] = "*"; } if ($ln2[1] & 4) { $ln2[4] = 0; $ln2[5] = "*"; } # Rationalise order of auxiliary fields if (exists $opts{noaux}) { @ln1 = @ln1[0..10]; @ln2 = @ln2[0..10]; } else { #my @a=@ln1[11..$#ln1];print "<<<@a>>>\n"; @ln1[11..$#ln1] = sort @ln1[11..$#ln1]; @ln2[11..$#ln2] = sort @ln2[11..$#ln2]; } if (exists $opts{noqual}) { $ln1[10] = "*"; $ln2[10] = "*"; } if (exists $opts{notemplate}) { @ln1[6..8] = qw/* 0 0/; @ln2[6..8] = qw/* 0 0/; } if (exists $opts{noflag}) { $ln1[1] = 0; $ln2[1] = 0; } if (exists $opts{'template-1'}) { if (abs($ln1[8] - $ln2[8]) == 1) { $ln1[8] = $ln2[8]; } } # Cram doesn't uppercase the reference $ln1[9] = uc($ln1[9]); $ln2[9] = uc($ln2[9]); # Cram will populate a sequence string that starts as "*" $ln2[9] = "*" if ($ln1[9] eq "*"); # Fix 0 cigar fields $ln1[5] =~ s/(\D|^)0\D/$1/g; $ln1[5] =~ s/^$/*/g; $ln2[5] =~ s/(\D|^)0\D/$1/g; $ln2[5] =~ s/^$/*/g; # Fix 10M10M cigar to 20M $ln1[5] =~ s/(\d+)(\D)(\d+)(\2)/$1+$3.$2/e; $ln2[5] =~ s/(\d+)(\D)(\d+)(\2)/$1+$3.$2/e; if ("@ln1" ne "@ln2") { print "Diff at lines $fn1:$c1, $fn2:$c2\n"; my @s1 = split("","@ln1"); my @s2 = split("","@ln2"); my $ptr = ""; for (my $i=0; $i < $#s1; $i++) { if ($s1[$i] eq $s2[$i]) { $ptr .= "-"; } else { last; } } print "1\t@ln1\n2\t@ln2\n\t$ptr^\n\n"; exit(1); } $ln1 = <$fd1>; $ln2 = <$fd2>; $c1++; $c2++; } if (defined($ln1)) { print "EOF on $fn1\n"; exit(1); } if (defined($ln2)) { print "EOF on $fn2\n"; exit(1); } close($fd1); close($fd2); exit(0); htslib-1.2.1/test/fieldarith.c000066400000000000000000000045511246417267700162630ustar00rootroot00000000000000/* test/fieldarith.c -- CIGAR field arithmetic test suite. Copyright (C) 2013 Genome Research Ltd. Author: John Marshall Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ #include #include "htslib/sam.h" int ntests = 0; int nfailures = 0; void check(const bam1_t *aln, const char *testname, const char *tag, int value) { int32_t refvalue; uint8_t *aux = bam_aux_get(aln, tag); if (!aux) return; ntests++; refvalue = bam_aux2i(aux); if (value != refvalue) { fprintf(stderr, "%s FAIL for %s: computed %d != %d expected\n", testname, bam_get_qname(aln), value, refvalue); nfailures++; } } int main(int argc, char **argv) { bam_hdr_t *header; bam1_t *aln = bam_init1(); int i; for (i = 1; i < argc; i++) { samFile *in = sam_open(argv[i], "r"); if (in == NULL) { perror(argv[1]); return 1; } header = sam_hdr_read(in); while (sam_read1(in, header, aln) >= 0) { check(aln, "cigar2qlen", "XQ", bam_cigar2qlen(aln->core.n_cigar, bam_get_cigar(aln))); check(aln, "cigar2rlen", "XR", bam_cigar2rlen(aln->core.n_cigar, bam_get_cigar(aln))); check(aln, "endpos", "XE", bam_endpos(aln)); } bam_hdr_destroy(header); sam_close(in); } bam_destroy1(aln); return (nfailures > 0); } htslib-1.2.1/test/fieldarith.sam000066400000000000000000000016241246417267700166170ustar00rootroot00000000000000@SQ SN:one LN:1000 @SQ SN:two LN:500 @CO For each SAM record that has each listed aux field, performs these tests: @CO XQ is the expected result for bam_cigar2qlen() @CO XR is the expected result for bam_cigar2rlen() @CO XE is the expected result for bam_endpos() @CO (Note that these are all zero-based, while POS is one-based in SAM) r1 0 one 50 20 8M * 0 0 ATGCATGC qqqqqqqq XQ:i:8 XR:i:8 XE:i:57 r2 0 one 100 20 50M * 0 0 ATGCATGCATGCATGCATGCATGCATGCATGCATGCATGCATGCATGCAT qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq XQ:i:50 XR:i:50 XE:i:149 unmapped 5 two 200 0 * two 200 0 ATGCATGC qqqqqqqq XQ:i:0 XR:i:0 XE:i:200 hascigar 5 two 200 0 6M2S two 200 0 ATGCATGC qqqqqqqq XQ:i:8 XR:i:6 XE:i:200 s1 0 one 300 20 2M * 0 0 AT qq XQ:i:2 XR:i:2 XE:i:301 su1 4 * 0 0 * * 0 0 AT qq XQ:i:0 XR:i:0 XE:i:0 su2 5 two 400 0 * two 400 0 AT qq XQ:i:0 XR:i:0 XE:i:400 su3 4 one 500 0 2M * 0 0 AT qq XQ:i:2 XR:i:2 XE:i:500 htslib-1.2.1/test/hfile.c000066400000000000000000000152571246417267700152440ustar00rootroot00000000000000/* test/hfile.c -- Test cases for low-level input/output streams. Copyright (C) 2013-2014 Genome Research Ltd. Author: John Marshall Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ #include #include #include #include #include #include "htslib/hfile.h" #include "htslib/hts_defs.h" void HTS_NORETURN fail(const char *format, ...) { int err = errno; va_list args; va_start(args, format); vfprintf(stderr, format, args); va_end(args); if (err != 0) fprintf(stderr, ": %s", strerror(err)); fprintf(stderr, "\n"); exit(EXIT_FAILURE); } void check_offset(hFILE *f, off_t off, const char *message) { off_t ret = htell(f); if (ret < 0) fail("htell(%s)", message); if (ret == off) return; fprintf(stderr, "%s offset incorrect: expected %ld but got %ld\n", message, (long)off, (long)ret); exit(EXIT_FAILURE); } char *slurp(const char *filename) { char *text; struct stat sbuf; size_t filesize; FILE *f = fopen(filename, "r"); if (f == NULL) fail("fopen(\"%s\", \"r\")", filename); if (fstat(fileno(f), &sbuf) != 0) fail("fstat(\"%s\")", filename); filesize = sbuf.st_size; text = (char *) malloc(filesize + 1); if (text == NULL) fail("malloc(text)"); if (fread(text, 1, filesize, f) != filesize) fail("fread"); fclose(f); text[filesize] = '\0'; return text; } hFILE *fin = NULL; hFILE *fout = NULL; void reopen(const char *infname, const char *outfname) { if (fin) { if (hclose(fin) != 0) fail("hclose(input)"); } if (fout) { if (hclose(fout) != 0) fail("hclose(output)"); } fin = hopen(infname, "r"); if (fin == NULL) fail("hopen(\"%s\")", infname); fout = hopen(outfname, "w"); if (fout == NULL) fail("hopen(\"%s\")", outfname); } int main(void) { static const int size[] = { 1, 13, 403, 999, 30000 }; char buffer[40000]; char *original; int c, i; ssize_t n; off_t off; reopen("vcf.c", "test/hfile1.tmp"); while ((c = hgetc(fin)) != EOF) { if (hputc(c, fout) == EOF) fail("hputc"); } if (herrno(fin)) { errno = herrno(fin); fail("hgetc"); } reopen("test/hfile1.tmp", "test/hfile2.tmp"); if (hpeek(fin, buffer, 50) < 0) fail("hpeek"); while ((n = hread(fin, buffer, 17)) > 0) { if (hwrite(fout, buffer, n) != n) fail("hwrite"); } if (n < 0) fail("hread"); reopen("test/hfile2.tmp", "test/hfile3.tmp"); while ((n = hread(fin, buffer, sizeof buffer)) > 0) { if (hwrite(fout, buffer, n) != n) fail("hwrite"); if (hpeek(fin, buffer, 700) < 0) fail("hpeek"); } if (n < 0) fail("hread"); reopen("test/hfile3.tmp", "test/hfile4.tmp"); i = 0; off = 0; while ((n = hread(fin, buffer, size[i++ % 5])) > 0) { off += n; buffer[n] = '\0'; check_offset(fin, off, "pre-peek"); if (hputs(buffer, fout) == EOF) fail("hputs"); if ((n = hpeek(fin, buffer, size[(i+3) % 5])) < 0) fail("hpeek"); check_offset(fin, off, "post-peek"); } if (n < 0) fail("hread"); reopen("test/hfile4.tmp", "test/hfile5.tmp"); n = hread(fin, buffer, 200); if (n < 0) fail("hread"); else if (n != 200) fail("hread only got %d", (int)n); if (hwrite(fout, buffer, 1000) != 1000) fail("hwrite"); check_offset(fin, 200, "input/first200"); check_offset(fout, 1000, "output/first200"); if (hseek(fin, 800, SEEK_CUR) < 0) fail("hseek/cur"); check_offset(fin, 1000, "input/seek"); for (off = 1000; (n = hread(fin, buffer, sizeof buffer)) > 0; off += n) if (hwrite(fout, buffer, n) != n) fail("hwrite"); if (n < 0) fail("hread"); check_offset(fin, off, "input/eof"); check_offset(fout, off, "output/eof"); if (hseek(fin, 200, SEEK_SET) < 0) fail("hseek/set"); if (hseek(fout, 200, SEEK_SET) < 0) fail("hseek(output)"); check_offset(fin, 200, "input/backto200"); check_offset(fout, 200, "output/backto200"); n = hread(fin, buffer, 800); if (n < 0) fail("hread"); else if (n != 800) fail("hread only got %d", (int)n); if (hwrite(fout, buffer, 800) != 800) fail("hwrite"); check_offset(fin, 1000, "input/wrote800"); check_offset(fout, 1000, "output/wrote800"); if (hflush(fout) == EOF) fail("hflush"); original = slurp("vcf.c"); for (i = 1; i <= 5; i++) { char *text; sprintf(buffer, "test/hfile%d.tmp", i); text = slurp(buffer); if (strcmp(original, text) != 0) { fprintf(stderr, "%s differs from vcf.c\n", buffer); return EXIT_FAILURE; } free(text); } free(original); if (hclose(fin) != 0) fail("hclose(input)"); if (hclose(fout) != 0) fail("hclose(output)"); fout = hopen("test/hfile_chars.tmp", "w"); if (fout == NULL) fail("hopen(\"test/hfile_chars.tmp\")"); for (i = 0; i < 256; i++) if (hputc(i, fout) != i) fail("chars: hputc (%d)", i); if (hclose(fout) != 0) fail("hclose(test/hfile_chars.tmp)"); fin = hopen("test/hfile_chars.tmp", "r"); if (fin == NULL) fail("hopen(\"test/hfile_chars.tmp\") for reading"); for (i = 0; i < 256; i++) if ((c = hgetc(fin)) != i) fail("chars: hgetc (%d = 0x%x) returned %d = 0x%x", i, i, c, c); if ((c = hgetc(fin)) != EOF) fail("chars: hgetc (EOF) returned %d", c); if (hclose(fin) != 0) fail("hclose(test/hfile_chars.tmp) for reading"); fin = hopen("data:hello, world!\n", "r"); if (fin == NULL) fail("hopen(\"data:...\")"); n = hread(fin, buffer, 300); if (n < 0) fail("hread"); buffer[n] = '\0'; if (strcmp(buffer, "hello, world!\n") != 0) fail("hread result"); if (hclose(fin) != 0) fail("hclose(\"data:...\")"); return EXIT_SUCCESS; } htslib-1.2.1/test/sam.c000066400000000000000000000146771246417267700147420ustar00rootroot00000000000000/* test/sam.c -- SAM/BAM/CRAM API test cases. Copyright (C) 2014-2015 Genome Research Ltd. Author: John Marshall Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ #include #include #include #include #include #include "htslib/sam.h" #include "htslib/faidx.h" #include "htslib/kstring.h" int status; static void fail(const char *fmt, ...) { va_list args; fprintf(stderr, "Failed: "); va_start(args, fmt); vfprintf(stderr, fmt, args); va_end(args); fprintf(stderr, "\n"); status = EXIT_FAILURE; } uint8_t *check_bam_aux_get(const bam1_t *aln, const char *tag, char type) { uint8_t *p = bam_aux_get(aln, tag); if (p) { if (*p == type) return p; else fail("%s field of type '%c', expected '%c'\n", tag, *p, type); } else fail("can't find %s field\n", tag); return NULL; } #define PI 3.141592653589793 #define E 2.718281828459045 #define HELLO "Hello, world!" #define BEEF "DEADBEEF" #define str(x) #x #define xstr(x) str(x) static int aux_fields1(void) { static const char sam[] = "data:" "@SQ\tSN:one\tLN:1000\n" "@SQ\tSN:two\tLN:500\n" "r1\t0\tone\t500\t20\t8M\t*\t0\t0\tATGCATGC\tqqqqqqqq\tXA:A:k\tXi:i:37\tXf:f:" xstr(PI) "\tXd:d:" xstr(E) "\tXZ:Z:" HELLO "\tXH:H:" BEEF "\tXB:B:c,-2,0,+2\tZZ:i:1000000\tY1:i:-2147483648\tY2:i:-2147483647\tY3:i:-1\tY4:i:0\tY5:i:1\tY6:i:2147483647\tY7:i:2147483648\tY8:i:4294967295\n"; // Canonical form of the alignment record above, as output by sam_format1() static const char r1[] = "r1\t0\tone\t500\t20\t8M\t*\t0\t0\tATGCATGC\tqqqqqqqq\tXA:A:k\tXi:i:37\tXf:f:3.14159\tXd:d:2.71828\tXZ:Z:" HELLO "\tXH:H:" BEEF "\tXB:B:c,-2,0,2\tZZ:i:1000000\tY1:i:-2147483648\tY2:i:-2147483647\tY3:i:-1\tY4:i:0\tY5:i:1\tY6:i:2147483647\tY7:i:2147483648\tY8:i:4294967295"; samFile *in = sam_open(sam, "r"); bam_hdr_t *header = sam_hdr_read(in); bam1_t *aln = bam_init1(); uint8_t *p; uint32_t n; kstring_t ks = { 0, 0, NULL }; if (sam_read1(in, header, aln) >= 0) { if ((p = check_bam_aux_get(aln, "XA", 'A')) && bam_aux2A(p) != 'k') fail("XA field is '%c', expected 'k'", bam_aux2A(p)); if ((p = check_bam_aux_get(aln, "Xi", 'C')) && bam_aux2i(p) != 37) fail("Xi field is %d, expected 37", bam_aux2i(p)); if ((p = check_bam_aux_get(aln, "Xf", 'f')) && fabs(bam_aux2f(p) - PI) > 1E-6) fail("Xf field is %.12f, expected pi", bam_aux2f(p)); if ((p = check_bam_aux_get(aln, "Xd", 'd')) && fabs(bam_aux2f(p) - E) > 1E-6) fail("Xf field is %.12f, expected e", bam_aux2f(p)); if ((p = check_bam_aux_get(aln, "XZ", 'Z')) && strcmp(bam_aux2Z(p), HELLO) != 0) fail("XZ field is \"%s\", expected \"%s\"", bam_aux2Z(p), HELLO); if ((p = check_bam_aux_get(aln, "XH", 'H')) && strcmp(bam_aux2Z(p), BEEF) != 0) fail("XH field is \"%s\", expected \"%s\"", bam_aux2Z(p), BEEF); // TODO Invent and use bam_aux2B() if ((p = check_bam_aux_get(aln, "XB", 'B')) && ! (memcmp(p, "Bc", 2) == 0 && (memcpy(&n, p+2, 4), n) == 3 && memcmp(p+6, "\xfe\x00\x02", 3) == 0)) fail("XB field is %c,..., expected c,-2,0,+2", p[1]); if ((p = check_bam_aux_get(aln, "ZZ", 'I')) && bam_aux2i(p) != 1000000) fail("ZZ field is %d, expected 1000000", bam_aux2i(p)); if ((p = bam_aux_get(aln, "Y1")) && bam_aux2i(p) != -2147483647-1) fail("Y1 field is %d, expected -2^31", bam_aux2i(p)); if ((p = bam_aux_get(aln, "Y2")) && bam_aux2i(p) != -2147483647) fail("Y2 field is %d, expected -2^31+1", bam_aux2i(p)); if ((p = bam_aux_get(aln, "Y3")) && bam_aux2i(p) != -1) fail("Y3 field is %d, expected -1", bam_aux2i(p)); if ((p = bam_aux_get(aln, "Y4")) && bam_aux2i(p) != 0) fail("Y4 field is %d, expected 0", bam_aux2i(p)); if ((p = bam_aux_get(aln, "Y5")) && bam_aux2i(p) != 1) fail("Y5 field is %d, expected 1", bam_aux2i(p)); if ((p = bam_aux_get(aln, "Y6")) && bam_aux2i(p) != 2147483647) fail("Y6 field is %d, expected 2^31-1", bam_aux2i(p)); // TODO Checking these perhaps requires inventing bam_aux2u() or so #if 0 if ((p = bam_aux_get(aln, "Y7")) && bam_aux2i(p) != 2147483648) fail("Y7 field is %d, expected 2^31", bam_aux2i(p)); if ((p = bam_aux_get(aln, "Y8")) && bam_aux2i(p) != 4294967295) fail("Y8 field is %d, expected 2^32-1", bam_aux2i(p)); #endif if (sam_format1(header, aln, &ks) < 0) fail("can't format record"); if (strcmp(ks.s, r1) != 0) fail("record formatted incorrectly: \"%s\"", ks.s); free(ks.s); } else fail("can't read record"); bam_destroy1(aln); bam_hdr_destroy(header); sam_close(in); return 1; } static void iterators1(void) { hts_itr_destroy(sam_itr_queryi(NULL, HTS_IDX_REST, 0, 0)); hts_itr_destroy(sam_itr_queryi(NULL, HTS_IDX_NONE, 0, 0)); } static void faidx1(const char *filename) { int n; faidx_t *fai = fai_load(filename); if (fai == NULL) fail("can't load faidx file"); n = faidx_fetch_nseq(fai); if (n != 7) fail("faidx_fetch_nseq returned %d, expected 7", n); n = faidx_nseq(fai); if (n != 7) fail("faidx_nseq returned %d, expected 7", n); fai_destroy(fai); } int main(int argc, char **argv) { status = EXIT_SUCCESS; aux_fields1(); iterators1(); if (argc >= 2) faidx1(argv[1]); return status; } htslib-1.2.1/test/test-regidx.c000066400000000000000000000102571246417267700164070ustar00rootroot00000000000000/* test/test-regidx.c -- Regions index test harness. Copyright (C) 2014 Genome Research Ltd. Author: Petr Danecek Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ #include #include #include #include #include #include void error(const char *format, ...) { va_list ap; va_start(ap, format); vfprintf(stderr, format, ap); va_end(ap); exit(-1); } int custom_parse(const char *line, char **chr_beg, char **chr_end, reg_t *reg, void *payload, void *usr) { // Use the standard parser for CHROM,FROM,TO int i, ret = regidx_parse_tab(line,chr_beg,chr_end,reg,NULL,NULL); if ( ret!=0 ) return ret; // Skip the fields that were parsed above char *ss = (char*) line; while ( *ss && isspace(*ss) ) ss++; for (i=0; i<3; i++) { while ( *ss && !isspace(*ss) ) ss++; if ( !*ss ) return -2; // wrong number of fields while ( *ss && isspace(*ss) ) ss++; } if ( !*ss ) return -2; // Parse the payload char *se = ss; while ( *se && !isspace(*se) ) se++; char **dat = (char**) payload; *dat = (char*) malloc(se-ss+1); memcpy(*dat,ss,se-ss+1); (*dat)[se-ss] = 0; return 0; } void custom_free(void *payload) { char **dat = (char**)payload; free(*dat); } int main(int argc, char **argv) { // Init index with no file name, we will insert the regions manually regidx_t *idx = regidx_init(NULL,custom_parse,custom_free,sizeof(char*),NULL); if ( !idx ) error("init failed\n"); // Insert regions char *line; line = "1 10000000 10000000 1:10000000-10000000"; if ( regidx_insert(idx,line)!=0 ) error("insert failed: %s\n", line); line = "1 20000000 20000001 1:20000000-20000001"; if ( regidx_insert(idx,line)!=0 ) error("insert failed: %s\n", line); line = "1 20000002 20000002 1:20000002-20000002"; if ( regidx_insert(idx,line)!=0 ) error("insert failed: %s\n", line); line = "1 30000000 30000000 1:30000000-30000000"; if ( regidx_insert(idx,line)!=0 ) error("insert failed: %s\n", line); // Finish initialization regidx_insert(idx,NULL); // Test regitr_t itr; int from, to; from = to = 10000000; if ( !regidx_overlap(idx,"1",from-1,to-1,&itr) ) error("query failed: 1:%d-%d\n",from,to); if ( strcmp("1:10000000-10000000",REGITR_PAYLOAD(itr,char*)) ) error("query failed: 1:%d-%d vs %s\n", from,to,REGITR_PAYLOAD(itr,char*)); if ( !regidx_overlap(idx,"1",from-2,to-1,&itr) ) error("query failed: 1:%d-%d\n",from-1,to); if ( !regidx_overlap(idx,"1",from-2,to+3,&itr) ) error("query failed: 1:%d-%d\n",from-1,to+2); if ( regidx_overlap(idx,"1",from-2,to-2,&itr) ) error("query failed: 1:%d-%d\n",from-1,to-1); from = to = 20000000; if ( !regidx_overlap(idx,"1",from-1,to-1,&itr) ) error("query failed: 1:%d-%d\n",from,to); from = to = 20000002; if ( !regidx_overlap(idx,"1",from-1,to-1,&itr) ) error("query failed: 1:%d-%d\n",from,to); from = to = 30000000; if ( !regidx_overlap(idx,"1",from-1,to-1,&itr) ) error("query failed: 1:%d-%d\n",from,to); // Clean up regidx_destroy(idx); return 0; } htslib-1.2.1/test/test-vcf-api.c000066400000000000000000000236111246417267700164500ustar00rootroot00000000000000/* test/test-vcf-api.c -- VCF test harness. Copyright (C) 2013, 2014 Genome Research Ltd. Author: Petr Danecek Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ #include #include #include #include #include void write_bcf(char *fname) { // Init htsFile *fp = hts_open(fname,"wb"); bcf_hdr_t *hdr = bcf_hdr_init("w"); bcf1_t *rec = bcf_init1(); // Create VCF header kstring_t str = {0,0,0}; bcf_hdr_append(hdr, "##fileDate=20090805"); bcf_hdr_append(hdr, "##FORMAT="); bcf_hdr_append(hdr, "##INFO="); bcf_hdr_append(hdr, "##FILTER="); bcf_hdr_append(hdr, "##unused="); bcf_hdr_append(hdr, "##unused=unformatted text 1"); bcf_hdr_append(hdr, "##unused=unformatted text 2"); bcf_hdr_append(hdr, "##contig="); bcf_hdr_append(hdr, "##source=myImputationProgramV3.1"); bcf_hdr_append(hdr, "##reference=file:///seq/references/1000GenomesPilot-NCBI36.fasta"); bcf_hdr_append(hdr, "##contig="); bcf_hdr_append(hdr, "##phasing=partial"); bcf_hdr_append(hdr, "##INFO="); bcf_hdr_append(hdr, "##INFO="); bcf_hdr_append(hdr, "##INFO="); bcf_hdr_append(hdr, "##INFO="); bcf_hdr_append(hdr, "##INFO="); bcf_hdr_append(hdr, "##INFO="); bcf_hdr_append(hdr, "##FILTER="); bcf_hdr_append(hdr, "##FILTER="); bcf_hdr_append(hdr, "##FORMAT="); bcf_hdr_append(hdr, "##FORMAT="); bcf_hdr_append(hdr, "##FORMAT="); bcf_hdr_append(hdr, "##FORMAT="); bcf_hdr_append(hdr, "##FORMAT="); bcf_hdr_add_sample(hdr, "NA00001"); bcf_hdr_add_sample(hdr, "NA00002"); bcf_hdr_add_sample(hdr, "NA00003"); bcf_hdr_add_sample(hdr, NULL); // to update internal structures bcf_hdr_write(fp, hdr); // Add a record // 20 14370 rs6054257 G A 29 PASS NS=3;DP=14;AF=0.5;DB;H2 GT:GQ:DP:HQ 0|0:48:1:51,51 1|0:48:8:51,51 1/1:43:5:.,. // .. CHROM rec->rid = bcf_hdr_name2id(hdr, "20"); // .. POS rec->pos = 14369; // .. ID bcf_update_id(hdr, rec, "rs6054257"); // .. REF and ALT bcf_update_alleles_str(hdr, rec, "G,A"); // .. QUAL rec->qual = 29; // .. FILTER int32_t tmpi = bcf_hdr_id2int(hdr, BCF_DT_ID, "PASS"); bcf_update_filter(hdr, rec, &tmpi, 1); // .. INFO tmpi = 3; bcf_update_info_int32(hdr, rec, "NS", &tmpi, 1); tmpi = 14; bcf_update_info_int32(hdr, rec, "DP", &tmpi, 1); float tmpf = 0.5; bcf_update_info_float(hdr, rec, "AF", &tmpf, 1); bcf_update_info_flag(hdr, rec, "DB", NULL, 1); bcf_update_info_flag(hdr, rec, "H2", NULL, 1); // .. FORMAT int32_t *tmpia = (int*)malloc(bcf_hdr_nsamples(hdr)*2*sizeof(int)); tmpia[0] = bcf_gt_phased(0); tmpia[1] = bcf_gt_phased(0); tmpia[2] = bcf_gt_phased(1); tmpia[3] = bcf_gt_phased(0); tmpia[4] = bcf_gt_unphased(1); tmpia[5] = bcf_gt_unphased(1); bcf_update_genotypes(hdr, rec, tmpia, bcf_hdr_nsamples(hdr)*2); tmpia[0] = 48; tmpia[1] = 48; tmpia[2] = 43; bcf_update_format_int32(hdr, rec, "GQ", tmpia, bcf_hdr_nsamples(hdr)); tmpia[0] = 1; tmpia[1] = 8; tmpia[2] = 5; bcf_update_format_int32(hdr, rec, "DP", tmpia, bcf_hdr_nsamples(hdr)); tmpia[0] = 51; tmpia[1] = 51; tmpia[2] = 51; tmpia[3] = 51; tmpia[4] = bcf_int32_missing; tmpia[5] = bcf_int32_missing; bcf_update_format_int32(hdr, rec, "HQ", tmpia, bcf_hdr_nsamples(hdr)*2); char *tmp_str[] = {"String1","SomeOtherString2","YetAnotherString3"}; bcf_update_format_string(hdr, rec, "TS", (const char**)tmp_str, 3); bcf_write1(fp, hdr, rec); // 20 1110696 . A G,T 67 . NS=2;DP=10;AF=0.333,.;AA=T;DB GT 2 1 ./. bcf_clear1(rec); rec->rid = bcf_hdr_name2id(hdr, "20"); rec->pos = 1110695; bcf_update_alleles_str(hdr, rec, "A,G,T"); rec->qual = 67; tmpi = 2; bcf_update_info_int32(hdr, rec, "NS", &tmpi, 1); tmpi = 10; bcf_update_info_int32(hdr, rec, "DP", &tmpi, 1); float *tmpfa = (float*)malloc(2*sizeof(float)); tmpfa[0] = 0.333; bcf_float_set_missing(tmpfa[1]); bcf_update_info_float(hdr, rec, "AF", tmpfa, 2); bcf_update_info_string(hdr, rec, "AA", "T"); bcf_update_info_flag(hdr, rec, "DB", NULL, 1); tmpia[0] = bcf_gt_phased(2); tmpia[1] = bcf_int32_vector_end; tmpia[2] = bcf_gt_phased(1); tmpia[3] = bcf_int32_vector_end; tmpia[4] = bcf_gt_missing; tmpia[5] = bcf_gt_missing; bcf_update_genotypes(hdr, rec, tmpia, bcf_hdr_nsamples(hdr)*2); bcf_write1(fp, hdr, rec); free(tmpia); free(tmpfa); // Clean free(str.s); bcf_destroy1(rec); bcf_hdr_destroy(hdr); int ret; if ( (ret=hts_close(fp)) ) { fprintf(stderr,"hts_close(%s): non-zero status %d\n",fname,ret); exit(ret); } } void bcf_to_vcf(char *fname) { htsFile *fp = hts_open(fname,"rb"); bcf_hdr_t *hdr = bcf_hdr_read(fp); bcf1_t *rec = bcf_init1(); char *gz_fname = (char*) malloc(strlen(fname)+4); snprintf(gz_fname,strlen(fname)+4,"%s.gz",fname); htsFile *out = hts_open(gz_fname,"wg"); bcf_hdr_t *hdr_out = bcf_hdr_dup(hdr); bcf_hdr_remove(hdr_out,BCF_HL_STR,"unused"); bcf_hdr_remove(hdr_out,BCF_HL_GEN,"unused"); bcf_hdr_remove(hdr_out,BCF_HL_FLT,"Flt"); bcf_hdr_remove(hdr_out,BCF_HL_INFO,"UI"); bcf_hdr_remove(hdr_out,BCF_HL_FMT,"UF"); bcf_hdr_remove(hdr_out,BCF_HL_CTG,"Unused"); bcf_hdr_write(out, hdr_out); while ( bcf_read1(fp, hdr, rec)>=0 ) { bcf_write1(out, hdr_out, rec); // Test problems caused by bcf1_sync: the data block // may be realloced, also the unpacked structures must // get updated. bcf_unpack(rec, BCF_UN_STR); bcf_update_id(hdr, rec, 0); bcf_update_format_int32(hdr, rec, "GQ", NULL, 0); bcf1_t *dup = bcf_dup(rec); // force bcf1_sync call bcf_write1(out, hdr_out, dup); bcf_destroy1(dup); bcf_update_alleles_str(hdr_out, rec, "G,A"); int32_t tmpi = 99; bcf_update_info_int32(hdr_out, rec, "DP", &tmpi, 1); int32_t tmpia[] = {9,9,9}; bcf_update_format_int32(hdr_out, rec, "DP", tmpia, 3); bcf_write1(out, hdr_out, rec); } bcf_destroy1(rec); bcf_hdr_destroy(hdr); bcf_hdr_destroy(hdr_out); int ret; if ( (ret=hts_close(fp)) ) { fprintf(stderr,"hts_close(%s): non-zero status %d\n",fname,ret); exit(ret); } if ( (ret=hts_close(out)) ) { fprintf(stderr,"hts_close(%s): non-zero status %d\n",gz_fname,ret); exit(ret); } // read gzip, write stdout htsFile *gz_in = hts_open(gz_fname, "r"); if ( !gz_in ) { fprintf(stderr,"Could not read: %s\n", gz_fname); exit(1); } kstring_t line = {0,0,0}; while ( hts_getline(gz_in, KS_SEP_LINE, &line)>0 ) { kputc('\n',&line); fwrite(line.s,1,line.l,stdout); } if ( (ret=hts_close(gz_in)) ) { fprintf(stderr,"hts_close(%s): non-zero status %d\n",gz_fname,ret); exit(ret); } free(line.s); free(gz_fname); } void iterator(const char *fname) { htsFile *fp = hts_open(fname, "r"); bcf_hdr_t *hdr = bcf_hdr_read(fp); hts_idx_t *idx; hts_itr_t *iter; bcf_index_build(fname, 0); idx = bcf_index_load(fname); iter = bcf_itr_queryi(idx, bcf_hdr_name2id(hdr, "20"), 1110600, 1110800); bcf_itr_destroy(iter); iter = bcf_itr_querys(idx, hdr, "20:1110600-1110800"); bcf_itr_destroy(iter); hts_idx_destroy(idx); bcf_hdr_destroy(hdr); int ret; if ( (ret=hts_close(fp)) ) { fprintf(stderr,"hts_close(%s): non-zero status %d\n",fname,ret); exit(ret); } } int main(int argc, char **argv) { char *fname = argc>1 ? argv[1] : "rmme.bcf"; write_bcf(fname); bcf_to_vcf(fname); iterator(fname); return 0; } htslib-1.2.1/test/test-vcf-api.out000066400000000000000000000036201246417267700170330ustar00rootroot00000000000000##fileformat=VCFv4.2 ##FILTER= ##fileDate=20090805 ##unused= ##source=myImputationProgramV3.1 ##reference=file:///seq/references/1000GenomesPilot-NCBI36.fasta ##contig= ##phasing=partial ##INFO= ##INFO= ##INFO= ##INFO= ##INFO= ##INFO= ##FILTER= ##FILTER= ##FORMAT= ##FORMAT= ##FORMAT= ##FORMAT= ##FORMAT= #CHROM POS ID REF ALT QUAL FILTER INFO FORMAT NA00001 NA00002 NA00003 20 14370 rs6054257 G A 29 PASS NS=3;DP=14;AF=0.5;DB;H2 GT:GQ:DP:HQ:TS 0|0:48:1:51,51:String1 1|0:48:8:51,51:SomeOtherString2 1/1:43:5:.,.:YetAnotherString3 20 14370 . G A 29 PASS NS=3;DP=14;AF=0.5;DB;H2 GT:DP:HQ:TS 0|0:1:51,51:String1 1|0:8:51,51:SomeOtherString2 1/1:5:.,.:YetAnotherString3 20 14370 . G A 29 PASS NS=3;DP=99;AF=0.5;DB;H2 GT:DP:HQ:TS 0|0:9:51,51:String1 1|0:9:51,51:SomeOtherString2 1/1:9:.,.:YetAnotherString3 20 1110696 . A G,T 67 . NS=2;DP=10;AF=0.333,.;AA=T;DB GT 2 1 ./. 20 1110696 . A G,T 67 . NS=2;DP=10;AF=0.333,.;AA=T;DB GT 2 1 ./. 20 1110696 . G A 67 . NS=2;DP=99;AF=0.333,.;AA=T;DB GT:DP 2:9 1:9 ./.:9 htslib-1.2.1/test/test-vcf-sweep.c000066400000000000000000000073321246417267700170240ustar00rootroot00000000000000/* test/test-vcf-sweep.c -- VCF test harness. Copyright (C) 2013 Genome Research Ltd. Author: Petr Danecek Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ #include #include int main(int argc, char **argv) { if ( argc!=2 ) { fprintf(stderr,"Usage: test-vcf-sweep \n"); return 1; } // Init variables. The checksum is just for this test program to output // something and verify that all sites are read in both passes - fwd and // bwd. bcf_sweep_t *sw = bcf_sweep_init(argv[1]); bcf_hdr_t *hdr = bcf_sweep_hdr(sw); int chksum = 0; // First we must sweep forward and read the whole file to build an index. // If this is undesirable, we can require the presence of a .gzi index // which can be created with `bgzip -r` from the samtools/htslib package bcf1_t *rec; while ( (rec = bcf_sweep_fwd(sw)) ) chksum += rec->pos+1; printf("fwd position chksum: %d\n", chksum); // Now sweep backward. chksum = 0; while ( (rec = bcf_sweep_bwd(sw)) ) chksum += rec->pos+1; printf("bwd position chksum: %d\n", chksum); // And forward and backward again, this time summing the PL vectors int i,j, mPLs = 0, nPLs; int32_t *PLs = NULL; chksum = 0; while ( (rec = bcf_sweep_fwd(sw)) ) { // get copy of the PL vectors nPLs = bcf_get_format_int32(hdr, rec, "PL", &PLs, &mPLs); if ( !nPLs ) continue; // PL not present // how many values are there per sample int nvals = nPLs / bcf_hdr_nsamples(hdr); int32_t *ptr = PLs; for (i=0; i # # Permission is hereby granted, free of charge, to any person obtaining a copy # of this software and associated documentation files (the "Software"), to deal # in the Software without restriction, including without limitation the rights # to use, copy, modify, merge, publish, distribute, sublicense, and/or sell # copies of the Software, and to permit persons to whom the Software is # furnished to do so, subject to the following conditions: # # The above copyright notice and this permission notice shall be included in # all copies or substantial portions of the Software. # # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL # THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER # LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING # FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER # DEALINGS IN THE SOFTWARE. use strict; use warnings; use Carp; use FindBin; use lib "$FindBin::Bin"; use Getopt::Long; use File::Temp qw/ tempfile tempdir /; my $opts = parse_params(); test_vcf_api($opts,out=>'test-vcf-api.out'); test_vcf_sweep($opts,out=>'test-vcf-sweep.out'); print "\nNumber of tests:\n"; printf " total .. %d\n", $$opts{nok}+$$opts{nfailed}; printf " passed .. %d\n", $$opts{nok}; printf " failed .. %d\n", $$opts{nfailed}; print "\n"; exit ($$opts{nfailed} > 0); #-------------------- sub error { my (@msg) = @_; if ( scalar @msg ) { confess @msg; } print "About: samtools/htslib consistency test script\n", "Usage: test.pl [OPTIONS]\n", "Options:\n", " -r, --redo-outputs Recreate expected output files.\n", " -t, --temp-dir When given, temporary files will not be removed.\n", " -h, -?, --help This help message.\n", "\n"; exit 1; } sub parse_params { my $opts = { keep_files=>0, nok=>0, nfailed=>0 }; my $help; Getopt::Long::Configure('bundling'); my $ret = GetOptions ( 't|temp-dir:s' => \$$opts{keep_files}, 'r|redo-outputs' => \$$opts{redo_outputs}, 'h|?|help' => \$help ); if ( !$ret or $help ) { error(); } $$opts{tmp} = $$opts{keep_files} ? $$opts{keep_files} : tempdir(CLEANUP=>1); if ( $$opts{keep_files} ) { cmd("mkdir -p $$opts{keep_files}"); } $$opts{path} = $FindBin::RealBin; $$opts{bin} = $FindBin::RealBin; $$opts{bin} =~ s{/test/?$}{}; return $opts; } sub _cmd { my ($cmd) = @_; my $kid_io; my @out; my $pid = open($kid_io, "-|"); if ( !defined $pid ) { error("Cannot fork: $!"); } if ($pid) { # parent @out = <$kid_io>; close($kid_io); } else { # child exec('/bin/bash', '-o','pipefail','-c', $cmd) or error("Cannot execute the command [/bin/sh -o pipefail -c $cmd]: $!"); } return ($? >> 8, join('',@out)); } sub cmd { my ($cmd) = @_; my ($ret,$out) = _cmd($cmd); if ( $ret ) { error("The command failed [$ret]: $cmd\n", $out); } return $out; } sub test_cmd { my ($opts,%args) = @_; if ( !exists($args{out}) ) { if ( !exists($args{in}) ) { error("FIXME: expected out or in key\n"); } $args{out} = "$args{in}.out"; } my ($package, $filename, $line, $test)=caller(1); $test =~ s/^.+:://; print "$test:\n"; print "\t$args{cmd}\n"; my ($ret,$out) = _cmd("$args{cmd} 2>&1"); if ( $ret ) { failed($opts,$test); return; } if ( $$opts{redo_outputs} && -e "$$opts{path}/$args{out}" ) { rename("$$opts{path}/$args{out}","$$opts{path}/$args{out}.old"); open(my $fh,'>',"$$opts{path}/$args{out}") or error("$$opts{path}/$args{out}: $!"); print $fh $out; close($fh); my ($ret,$out) = _cmd("diff -q $$opts{path}/$args{out} $$opts{path}/$args{out}.old"); if ( !$ret && $out eq '' ) { unlink("$$opts{path}/$args{out}.old"); } else { print "\tthe expected output changed, saving:\n"; print "\t old .. $$opts{path}/$args{out}.old\n"; print "\t new .. $$opts{path}/$args{out}\n"; } } my $exp = ''; if ( open(my $fh,'<',"$$opts{path}/$args{out}") ) { my @exp = <$fh>; $exp = join('',@exp); close($fh); } elsif ( !$$opts{redo_outputs} ) { failed($opts,$test,"$$opts{path}/$args{out}: $!"); return; } if ( $exp ne $out ) { open(my $fh,'>',"$$opts{path}/$args{out}.new") or error("$$opts{path}/$args{out}.new"); print $fh $out; close($fh); if ( !-e "$$opts{path}/$args{out}" ) { rename("$$opts{path}/$args{out}.new","$$opts{path}/$args{out}") or error("rename $$opts{path}/$args{out}.new $$opts{path}/$args{out}: $!"); print "\tthe file with expected output does not exist, creating new one:\n"; print "\t\t$$opts{path}/$args{out}\n"; } else { failed($opts,$test,"The outputs differ:\n\t\t$$opts{path}/$args{out}\n\t\t$$opts{path}/$args{out}.new"); } return; } passed($opts,$test); } sub failed { my ($opts,$test,$reason) = @_; $$opts{nfailed}++; if ( defined $reason ) { print "\n\t$reason"; } print "\n.. failed ...\n\n"; } sub passed { my ($opts,$test) = @_; $$opts{nok}++; print ".. ok\n\n"; } sub is_file_newer { my ($afile,$bfile) = @_; my (@astat) = stat($afile) or return 0; my (@bstat) = stat($bfile) or return 0; if ( $astat[9]>$bstat[9] ) { return 1 } return 0; } # The tests -------------------------- sub test_vcf_api { my ($opts,%args) = @_; test_cmd($opts,%args,cmd=>"$$opts{path}/test-vcf-api $$opts{tmp}/test-vcf-api.bcf"); } sub test_vcf_sweep { my ($opts,%args) = @_; test_cmd($opts,%args,cmd=>"$$opts{path}/test-vcf-sweep $$opts{tmp}/test-vcf-api.bcf"); } htslib-1.2.1/test/test_view.c000066400000000000000000000172051246417267700161610ustar00rootroot00000000000000/* test/test_view.c -- simple view tool, purely for use in a test harness. Copyright (C) 2012 Broad Institute. Copyright (C) 2013-2014 Genome Research Ltd. Author: Heng Li Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ #include #include #include #include #include "cram/cram.h" #include "htslib/sam.h" typedef struct hts_opt { enum cram_option opt; union { int i; char *s; } val; struct hts_opt *next; } hts_opt; /* * Parses arg and appends it to the option list. * Returns 0 on success; * -1 on failure. */ int add_option(hts_opt **opts, char *arg) { hts_opt *o, *t; char *cp; if (!(cp = strchr(arg, '='))) cp = "1"; // assume boolean else *cp++ = 0; if (!(o = malloc(sizeof(*o)))) return -1; if (strcmp(arg, "DECODE_MD") == 0) o->opt = CRAM_OPT_DECODE_MD, o->val.i = atoi(cp); else if (strcmp(arg, "VERBOSITY") == 0) o->opt = CRAM_OPT_VERBOSITY, o->val.i = atoi(cp); else if (strcmp(arg, "SEQS_PER_SLICE") == 0) o->opt = CRAM_OPT_SEQS_PER_SLICE, o->val.i = atoi(cp); else if (strcmp(arg, "SLICES_PER_CONTAINER") == 0) o->opt = CRAM_OPT_SLICES_PER_CONTAINER, o->val.i = atoi(cp); else if (strcmp(arg, "EMBED_REF") == 0) o->opt = CRAM_OPT_EMBED_REF, o->val.i = atoi(cp); else if (strcmp(arg, "NO_REF") == 0) o->opt = CRAM_OPT_NO_REF, o->val.i = atoi(cp); else if (strcmp(arg, "IGNORE_MD5") == 0) o->opt = CRAM_OPT_IGNORE_MD5, o->val.i = atoi(cp); else if (strcmp(arg, "USE_BZIP2") == 0) o->opt = CRAM_OPT_USE_BZIP2, o->val.i = atoi(cp); else if (strcmp(arg, "USE_RANS") == 0) o->opt = CRAM_OPT_USE_RANS, o->val.i = atoi(cp); else if (strcmp(arg, "USE_LZMA") == 0) o->opt = CRAM_OPT_USE_LZMA, o->val.i = atoi(cp); else if (strcmp(arg, "REFERENCE") == 0) o->opt = CRAM_OPT_REFERENCE, o->val.s = cp; else if (strcmp(arg, "VERSION") == 0) o->opt = CRAM_OPT_VERSION, o->val.s =cp; else if (strcmp(arg, "MULTI_SEQ_PER_SLICE") == 0) o->opt = CRAM_OPT_MULTI_SEQ_PER_SLICE, o->val.i = atoi(cp); else if (strcmp(arg, "NTHREADS") == 0) o->opt = CRAM_OPT_NTHREADS, o->val.i = atoi(cp); else if (strcmp(arg, "REQUIRED_FIELDS") == 0) o->opt = CRAM_OPT_REQUIRED_FIELDS, o->val.i = strtol(cp, NULL, 0); else { fprintf(stderr, "Unknown option '%s'\n", arg); free(o); return -1; } o->next = NULL; if (*opts) { t = *opts; while (t->next) t = t->next; t->next = o; } else { *opts = o; } return 0; } int main(int argc, char *argv[]) { samFile *in; char *fn_ref = 0; int flag = 0, c, clevel = -1, ignore_sam_err = 0; char moder[8]; bam_hdr_t *h; bam1_t *b; htsFile *out; char modew[8]; int r = 0, exit_code = 0; hts_opt *in_opts = NULL, *out_opts = NULL, *last = NULL; while ((c = getopt(argc, argv, "IbDCSl:t:i:o:")) >= 0) { switch (c) { case 'S': flag |= 1; break; case 'b': flag |= 2; break; case 'D': flag |= 4; break; case 'C': flag |= 8; break; case 'l': clevel = atoi(optarg); flag |= 2; break; case 't': fn_ref = optarg; break; case 'I': ignore_sam_err = 1; break; case 'i': if (add_option(&in_opts, optarg)) return 1; break; case 'o': if (add_option(&out_opts, optarg)) return 1; break; } } if (argc == optind) { fprintf(stderr, "Usage: samview [-bSCSI] [-l level] [-o option=value] || [region]\n"); return 1; } strcpy(moder, "r"); if (flag&4) strcat(moder, "c"); else if ((flag&1) == 0) strcat(moder, "b"); in = sam_open(argv[optind], moder); if (in == NULL) { fprintf(stderr, "Error opening \"%s\"\n", argv[optind]); return EXIT_FAILURE; } h = sam_hdr_read(in); h->ignore_sam_err = ignore_sam_err; b = bam_init1(); strcpy(modew, "w"); if (clevel >= 0 && clevel <= 9) sprintf(modew + 1, "%d", clevel); if (flag&8) strcat(modew, "c"); else if (flag&2) strcat(modew, "b"); out = hts_open("-", modew); if (out == NULL) { fprintf(stderr, "Error opening standard output\n"); return EXIT_FAILURE; } /* CRAM output */ if (flag & 8) { // Parse input header and use for CRAM output out->fp.cram->header = sam_hdr_parse_(h->text, h->l_text); // Create CRAM references arrays if (fn_ref) cram_set_option(out->fp.cram, CRAM_OPT_REFERENCE, fn_ref); else // Attempt to fill out a cram->refs[] array from @SQ headers cram_set_option(out->fp.cram, CRAM_OPT_REFERENCE, NULL); } // Process any options; currently cram only. for (; in_opts; in_opts = (last=in_opts)->next, free(last)) { hts_set_opt(in, in_opts->opt, in_opts->val); if (in_opts->opt == CRAM_OPT_REFERENCE) hts_set_opt(out, in_opts->opt, in_opts->val); } for (; out_opts; out_opts = (last=out_opts)->next, free(last)) hts_set_opt(out, out_opts->opt, out_opts->val); sam_hdr_write(out, h); if (optind + 1 < argc && !(flag&1)) { // BAM input and has a region int i; hts_idx_t *idx; if ((idx = bam_index_load(argv[optind])) == 0) { fprintf(stderr, "[E::%s] fail to load the BAM index\n", __func__); return 1; } for (i = optind + 1; i < argc; ++i) { hts_itr_t *iter; if ((iter = bam_itr_querys(idx, h, argv[i])) == 0) { fprintf(stderr, "[E::%s] fail to parse region '%s'\n", __func__, argv[i]); continue; } while ((r = bam_itr_next(in, iter, b)) >= 0) { if (sam_write1(out, h, b) < 0) { fprintf(stderr, "Error writing output.\n"); exit_code = 1; break; } } hts_itr_destroy(iter); } hts_idx_destroy(idx); } else while ((r = sam_read1(in, h, b)) >= 0) { if (sam_write1(out, h, b) < 0) { fprintf(stderr, "Error writing output.\n"); exit_code = 1; break; } } if (r < -1) { fprintf(stderr, "Error parsing input.\n"); exit_code = 1; } r = sam_close(out); if (r < 0) { fprintf(stderr, "Error closing output.\n"); exit_code = 1; } bam_destroy1(b); bam_hdr_destroy(h); r = sam_close(in); if (r < 0) { fprintf(stderr, "Error closing input.\n"); exit_code = 1; } return exit_code; } htslib-1.2.1/test/test_view.pl000077500000000000000000000044311246417267700163520ustar00rootroot00000000000000#! /usr/bin/env perl # # Copyright (C) 2013 Genome Research Ltd. # # Author: James Bonfield # # Permission is hereby granted, free of charge, to any person obtaining a copy # of this software and associated documentation files (the "Software"), to deal # in the Software without restriction, including without limitation the rights # to use, copy, modify, merge, publish, distribute, sublicense, and/or sell # copies of the Software, and to permit persons to whom the Software is # furnished to do so, subject to the following conditions: # # The above copyright notice and this permission notice shall be included in # all copies or substantial portions of the Software. # # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL # THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER # LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING # FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER # DEALINGS IN THE SOFTWARE. use strict; use warnings; my $err_count = 0; my $suc_count = 0; sub test { my ($cmd) = @_; print " $cmd\n"; if (system("$cmd || exit 1") != 0) { print "FAIL $!\n"; $err_count++; } else { $suc_count++; } } foreach my $sam (glob("*#*.sam")) { my ($base, $ref) = ($sam =~ /((.*)#.*)\.sam/); $ref .= ".fa"; my $bam = "$base.tmp.bam"; my $cram = "$base.tmp.cram"; print "\n=== Testing $sam, ref $ref ===\n"; # SAM -> BAM -> SAM test "./test_view -S -b $sam > $bam"; test "./test_view $bam > $bam.sam_"; test "./compare_sam.pl $sam $bam.sam_"; # SAM -> CRAM -> SAM test "./test_view -t $ref -S -C $sam > $cram"; test "./test_view -D $cram > $cram.sam_"; test "./compare_sam.pl -nomd $sam $cram.sam_"; # BAM -> CRAM -> BAM -> SAM $cram = "$bam.cram"; test "./test_view -t $ref -C $bam > $cram"; test "./test_view -b -D $cram > $cram.bam"; test "./test_view $cram.bam > $cram.bam.sam_"; test "./compare_sam.pl -nomd $sam $cram.bam.sam_"; } print "\nSuccesses $suc_count\n"; print "\nFailures $err_count\n"; exit ($err_count > 0); htslib-1.2.1/test/xx#blank.sam000066400000000000000000000000001246417267700162010ustar00rootroot00000000000000htslib-1.2.1/test/xx#large_aux.sam000066400000000000000000033504151246417267700171060ustar00rootroot00000000000000@SQ SN:xx LN:20 a1 16 xx 1 1 10M * 0 0 AAAAAAAAAA * aa:i:1 ab:i:1 ac:i:1 ad:i:1 ae:i:1 af:i:1 ag:i:1 ah:i:1 ai:i:1 aj:i:1 ak:i:1 al:i:1 am:i:1 an:i:1 ao:i:1 ap:i:1 aq:i:1 ar:i:1 as:i:1 at:i:1 au:i:1 av:i:1 aw:i:1 ax:i:1 ay:i:1 az:i:1 ba:i:1 bb:i:1 bc:i:1 bd:i:1 be:i:1 bf:i:1 bg:i:1 bh:i:1 bi:i:1 bj:i:1 bk:i:1 bl:i:1 bm:i:1 bn:i:1 bo:i:1 bp:i:1 bq:i:1 br:i:1 bs:i:1 bt:i:1 bu:i:1 bv:i:1 bw:i:1 bx:i:1 by:i:1 bz:i:1 ca:i:1 cb:i:1 cc:i:1 cd:i:1 ce:i:1 cf:i:1 cg:i:1 ch:i:1 ci:i:1 cj:i:1 ck:i:1 cl:i:1 cm:i:1 cn:i:1 co:i:1 cp:i:1 cq:i:1 cr:i:1 cs:i:1 ct:i:1 cu:i:1 cv:i:1 cw:i:1 cx:i:1 cy:i:1 cz:i:1 da:i:1 db:i:1 dc:i:1 dd:i:1 de:i:1 df:i:1 dg:i:1 dh:i:1 di:i:1 dj:i:1 dk:i:1 dl:i:1 dm:i:1 dn:i:1 do:i:1 dp:i:1 dq:i:1 dr:i:1 ds:i:1 dt:i:1 du:i:1 dv:i:1 dw:i:1 dx:i:1 dy:i:1 dz:i:1 ea:i:1 eb:i:1 ec:i:1 ed:i:1 ee:i:1 ef:i:1 eg:i:1 eh:i:1 ei:i:1 ej:i:1 ek:i:1 el:i:1 em:i:1 en:i:1 eo:i:1 ep:i:1 eq:i:1 er:i:1 es:i:1 et:i:1 eu:i:1 ev:i:1 ew:i:1 ex:i:1 ey:i:1 ez:i:1 fa:i:1 fb:i:1 fc:i:1 fd:i:1 fe:i:1 ff:i:1 fg:i:1 fh:i:1 fi:i:1 fj:i:1 fk:i:1 fl:i:1 fm:i:1 fn:i:1 fo:i:1 fp:i:1 fq:i:1 fr:i:1 fs:i:1 ft:i:1 fu:i:1 fv:i:1 fw:i:1 fx:i:1 fy:i:1 fz:i:1 ga:i:1 gb:i:1 gc:i:1 gd:i:1 ge:i:1 gf:i:1 gg:i:1 gh:i:1 gi:i:1 gj:i:1 gk:i:1 gl:i:1 gm:i:1 gn:i:1 go:i:1 gp:i:1 gq:i:1 gr:i:1 gs:i:1 gt:i:1 gu:i:1 gv:i:1 gw:i:1 gx:i:1 gy:i:1 gz:i:1 ha:i:1 hb:i:1 hc:i:1 hd:i:1 he:i:1 hf:i:1 hg:i:1 hh:i:1 hi:i:1 hj:i:1 hk:i:1 hl:i:1 hm:i:1 hn:i:1 ho:i:1 hp:i:1 hq:i:1 hr:i:1 hs:i:1 ht:i:1 hu:i:1 hv:i:1 hw:i:1 hx:i:1 hy:i:1 hz:i:1 ia:i:1 ib:i:1 ic:i:1 id:i:1 ie:i:1 if:i:1 ig:i:1 ih:i:1 ii:i:1 ij:i:1 ik:i:1 il:i:1 im:i:1 in:i:1 io:i:1 ip:i:1 iq:i:1 ir:i:1 is:i:1 it:i:1 iu:i:1 iv:i:1 iw:i:1 ix:i:1 iy:i:1 iz:i:1 ja:i:1 jb:i:1 jc:i:1 jd:i:1 je:i:1 jf:i:1 jg:i:1 jh:i:1 ji:i:1 jj:i:1 jk:i:1 jl:i:1 jm:i:1 jn:i:1 jo:i:1 jp:i:1 jq:i:1 jr:i:1 js:i:1 jt:i:1 ju:i:1 a2 16 xx 1 1 10M * 0 0 AAAAAAAAAA * aa:i:1 ab:i:1 ac:i:1 ad:i:1 ae:i:1 af:i:1 ag:i:1 ah:i:1 ai:i:1 aj:i:1 ak:i:1 al:i:1 am:i:1 an:i:1 ao:i:1 ap:i:1 aq:i:1 ar:i:1 as:i:1 at:i:1 au:i:1 av:i:1 aw:i:1 ax:i:1 ay:i:1 az:i:1 ba:i:1 bb:i:1 bc:i:1 bd:i:1 be:i:1 bf:i:1 bg:i:1 bh:i:1 bi:i:1 bj:i:1 bk:i:1 bl:i:1 bm:i:1 bn:i:1 bo:i:1 bp:i:1 bq:i:1 br:i:1 bs:i:1 bt:i:1 bu:i:1 bv:i:1 bw:i:1 bx:i:1 by:i:1 bz:i:1 ca:i:1 cb:i:1 cc:i:1 cd:i:1 ce:i:1 cf:i:1 cg:i:1 ch:i:1 ci:i:1 cj:i:1 ck:i:1 cl:i:1 cm:i:1 cn:i:1 co:i:1 cp:i:1 cq:i:1 cr:i:1 cs:i:1 ct:i:1 cu:i:1 cv:i:1 cw:i:1 cx:i:1 cy:i:1 cz:i:1 da:i:1 db:i:1 dc:i:1 dd:i:1 de:i:1 df:i:1 dg:i:1 dh:i:1 di:i:1 dj:i:1 dk:i:1 dl:i:1 dm:i:1 dn:i:1 do:i:1 dp:i:1 dq:i:1 dr:i:1 ds:i:1 dt:i:1 du:i:1 dv:i:1 dw:i:1 dx:i:1 dy:i:1 dz:i:1 ea:i:1 eb:i:1 ec:i:1 ed:i:1 ee:i:1 ef:i:1 eg:i:1 eh:i:1 ei:i:1 ej:i:1 ek:i:1 el:i:1 em:i:1 en:i:1 eo:i:1 ep:i:1 eq:i:1 er:i:1 es:i:1 et:i:1 eu:i:1 ev:i:1 ew:i:1 ex:i:1 ey:i:1 ez:i:1 fa:i:1 fb:i:1 fc:i:1 fd:i:1 fe:i:1 ff:i:1 fg:i:1 fh:i:1 fi:i:1 fj:i:1 fk:i:1 fl:i:1 fm:i:1 fn:i:1 fo:i:1 fp:i:1 fq:i:1 fr:i:1 fs:i:1 ft:i:1 fu:i:1 fv:i:1 fw:i:1 fx:i:1 fy:i:1 fz:i:1 ga:i:1 gb:i:1 gc:i:1 gd:i:1 ge:i:1 gf:i:1 gg:i:1 gh:i:1 gi:i:1 gj:i:1 gk:i:1 gl:i:1 gm:i:1 gn:i:1 go:i:1 gp:i:1 gq:i:1 gr:i:1 gs:i:1 gt:i:1 gu:i:1 gv:i:1 gw:i:1 gx:i:1 gy:i:1 gz:i:1 ha:i:1 hb:i:1 hc:i:1 hd:i:1 he:i:1 hf:i:1 hg:i:1 hh:i:1 hi:i:1 hj:i:1 hk:i:1 hl:i:1 hm:i:1 hn:i:1 ho:i:1 hp:i:1 hq:i:1 hr:i:1 hs:i:1 ht:i:1 hu:i:1 hv:i:1 hw:i:1 hx:i:1 hy:i:1 hz:i:1 ia:i:1 ib:i:1 ic:i:1 id:i:1 ie:i:1 if:i:1 ig:i:1 ih:i:1 ii:i:1 ij:i:1 ik:i:1 il:i:1 im:i:1 in:i:1 io:i:1 ip:i:1 iq:i:1 ir:i:1 is:i:1 it:i:1 iu:i:1 iv:i:1 iw:i:1 ix:i:1 iy:i:1 iz:i:1 ja:i:1 jb:i:1 jc:i:1 jd:i:1 je:i:1 jf:i:1 jg:i:1 jh:i:1 ji:i:1 jj:i:1 jk:i:1 jl:i:1 jm:i:1 jn:i:1 jo:i:1 jp:i:1 jq:i:1 jr:i:1 js:i:1 jt:i:1 ju:i:1 Aa:i:1 Ab:i:1 Ac:i:1 Ad:i:1 Ae:i:1 Af:i:1 Ag:i:1 Ah:i:1 Ai:i:1 Aj:i:1 Ak:i:1 Al:i:1 Am:i:1 An:i:1 Ao:i:1 Ap:i:1 Aq:i:1 Ar:i:1 As:i:1 At:i:1 Au:i:1 Av:i:1 Aw:i:1 Ax:i:1 Ay:i:1 Az:i:1 Ba:i:1 Bb:i:1 Bc:i:1 Bd:i:1 Be:i:1 Bf:i:1 Bg:i:1 Bh:i:1 Bi:i:1 Bj:i:1 Bk:i:1 Bl:i:1 Bm:i:1 Bn:i:1 Bo:i:1 Bp:i:1 Bq:i:1 Br:i:1 Bs:i:1 Bt:i:1 Bu:i:1 Bv:i:1 Bw:i:1 Bx:i:1 By:i:1 Bz:i:1 Ca:i:1 Cb:i:1 Cc:i:1 Cd:i:1 Ce:i:1 Cf:i:1 Cg:i:1 Ch:i:1 Ci:i:1 Cj:i:1 Ck:i:1 Cl:i:1 Cm:i:1 Cn:i:1 Co:i:1 Cp:i:1 Cq:i:1 Cr:i:1 Cs:i:1 Ct:i:1 Cu:i:1 Cv:i:1 Cw:i:1 Cx:i:1 Cy:i:1 Cz:i:1 Da:i:1 Db:i:1 Dc:i:1 Dd:i:1 De:i:1 Df:i:1 Dg:i:1 Dh:i:1 Di:i:1 Dj:i:1 Dk:i:1 Dl:i:1 Dm:i:1 Dn:i:1 Do:i:1 Dp:i:1 Dq:i:1 Dr:i:1 Ds:i:1 Dt:i:1 Du:i:1 Dv:i:1 Dw:i:1 Dx:i:1 Dy:i:1 Dz:i:1 Ea:i:1 Eb:i:1 Ec:i:1 Ed:i:1 Ee:i:1 Ef:i:1 Eg:i:1 Eh:i:1 Ei:i:1 Ej:i:1 Ek:i:1 El:i:1 Em:i:1 En:i:1 Eo:i:1 Ep:i:1 Eq:i:1 Er:i:1 Es:i:1 Et:i:1 Eu:i:1 Ev:i:1 Ew:i:1 Ex:i:1 Ey:i:1 Ez:i:1 Fa:i:1 Fb:i:1 Fc:i:1 Fd:i:1 Fe:i:1 Ff:i:1 Fg:i:1 Fh:i:1 Fi:i:1 Fj:i:1 Fk:i:1 Fl:i:1 Fm:i:1 Fn:i:1 Fo:i:1 Fp:i:1 Fq:i:1 Fr:i:1 Fs:i:1 Ft:i:1 Fu:i:1 Fv:i:1 Fw:i:1 Fx:i:1 Fy:i:1 Fz:i:1 Ga:i:1 Gb:i:1 Gc:i:1 Gd:i:1 Ge:i:1 Gf:i:1 Gg:i:1 Gh:i:1 Gi:i:1 Gj:i:1 Gk:i:1 Gl:i:1 Gm:i:1 Gn:i:1 Go:i:1 Gp:i:1 Gq:i:1 Gr:i:1 Gs:i:1 Gt:i:1 Gu:i:1 Gv:i:1 Gw:i:1 Gx:i:1 Gy:i:1 Gz:i:1 Ha:i:1 Hb:i:1 Hc:i:1 Hd:i:1 He:i:1 Hf:i:1 Hg:i:1 Hh:i:1 Hi:i:1 Hj:i:1 Hk:i:1 Hl:i:1 Hm:i:1 Hn:i:1 Ho:i:1 Hp:i:1 Hq:i:1 Hr:i:1 Hs:i:1 Ht:i:1 Hu:i:1 Hv:i:1 Hw:i:1 Hx:i:1 Hy:i:1 Hz:i:1 Ia:i:1 Ib:i:1 Ic:i:1 Id:i:1 Ie:i:1 If:i:1 Ig:i:1 Ih:i:1 Ii:i:1 Ij:i:1 Ik:i:1 Il:i:1 Im:i:1 In:i:1 Io:i:1 Ip:i:1 Iq:i:1 Ir:i:1 Is:i:1 It:i:1 Iu:i:1 Iv:i:1 Iw:i:1 Ix:i:1 Iy:i:1 Iz:i:1 Ja:i:1 Jb:i:1 Jc:i:1 Jd:i:1 Je:i:1 Jf:i:1 Jg:i:1 Jh:i:1 Ji:i:1 Jj:i:1 Jk:i:1 Jl:i:1 Jm:i:1 Jn:i:1 Jo:i:1 Jp:i:1 Jq:i:1 Jr:i:1 Js:i:1 Jt:i:1 Ju:i:1 b1 16 xx 1 1 10M * 0 0 AAAAAAAAAA * ZZ:Z:!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""####################################################################################################$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''(((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((())))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))****************************************************************************************************++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,----------------------------------------------------------------------------------------------------....................................................................................................////////////////////////////////////////////////////////////////////////////////////////////////////0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111122222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222223333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444455555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555556666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777788888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888889999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<====================================================================================================>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>????????????????????????????????????????????????????????????????????????????????????????????????????@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^____________________________________________________________________________________________________````````````````````````````````````````````````````````````````````````````````````````````````````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffgggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggghhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""####################################################################################################$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''(((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((())))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))****************************************************************************************************++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,----------------------------------------------------------------------------------------------------....................................................................................................////////////////////////////////////////////////////////////////////////////////////////////////////0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111122222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222223333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444455555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555556666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777788888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888889999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<====================================================================================================>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>????????????????????????????????????????????????????????????????????????????????????????????????????@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^____________________________________________________________________________________________________````````````````````````````````````````````````````````````````````````````````````````````````````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffgggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggghhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""####################################################################################################$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''(((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((())))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))****************************************************************************************************++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,----------------------------------------------------------------------------------------------------....................................................................................................////////////////////////////////////////////////////////////////////////////////////////////////////0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111122222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222223333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444455555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555556666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777788888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888889999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<====================================================================================================>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>????????????????????????????????????????????????????????????????????????????????????????????????????@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^____________________________________________________________________________________________________````````````````````````````````````````````````````````````````````````````````````````````````````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffgggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggghhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""####################################################################################################$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''(((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((())))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))****************************************************************************************************++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,----------------------------------------------------------------------------------------------------....................................................................................................////////////////////////////////////////////////////////////////////////////////////////////////////0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111122222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222223333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444455555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555556666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777788888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888889999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<====================================================================================================>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>????????????????????????????????????????????????????????????????????????????????????????????????????@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^____________________________________________________________________________________________________````````````````````````````````````````````````````````````````````````````````````````````````````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffgggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggghhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""####################################################################################################$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''(((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((())))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))****************************************************************************************************++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,----------------------------------------------------------------------------------------------------....................................................................................................////////////////////////////////////////////////////////////////////////////////////////////////////0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111122222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222223333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444455555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555556666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777788888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888889999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<====================================================================================================>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>????????????????????????????????????????????????????????????????????????????????????????????????????@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^____________________________________________________________________________________________________````````````````````````````````````````````````````````````````````````````````````````````````````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffgggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggghhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""####################################################################################################$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''(((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((())))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))****************************************************************************************************++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,----------------------------------------------------------------------------------------------------....................................................................................................////////////////////////////////////////////////////////////////////////////////////////////////////0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111122222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222223333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444455555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555556666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777788888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888889999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<====================================================================================================>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>????????????????????????????????????????????????????????????????????????????????????????????????????@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^____________________________________________________________________________________________________````````````````````````````````````````````````````````````````````````````````````````````````````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffgggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggghhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""####################################################################################################$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''(((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((())))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))****************************************************************************************************++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,----------------------------------------------------------------------------------------------------....................................................................................................////////////////////////////////////////////////////////////////////////////////////////////////////0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111122222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222223333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444455555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555556666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777788888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888889999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<====================================================================================================>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>????????????????????????????????????????????????????????????????????????????????????????????????????@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^____________________________________________________________________________________________________````````````````````````````````````````````````````````````````````````````````````````````````````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffgggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggghhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""####################################################################################################$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''(((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((())))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))****************************************************************************************************++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,----------------------------------------------------------------------------------------------------....................................................................................................////////////////////////////////////////////////////////////////////////////////////////////////////0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111122222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222223333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444455555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555556666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777788888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888889999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<====================================================================================================>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>????????????????????????????????????????????????????????????????????????????????????????????????????@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^____________________________________________________________________________________________________````````````````````````````````````````````````````````````````````````````````````````````````````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffgggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggghhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""####################################################################################################$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''(((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((())))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))****************************************************************************************************++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,----------------------------------------------------------------------------------------------------....................................................................................................////////////////////////////////////////////////////////////////////////////////////////////////////0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111122222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222223333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444455555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555556666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777788888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888889999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<====================================================================================================>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>????????????????????????????????????????????????????????????????????????????????????????????????????@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^____________________________________________________________________________________________________````````````````````````````````````````````````````````````````````````````````````````````````````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffgggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggghhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""####################################################################################################$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''(((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((())))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))****************************************************************************************************++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,----------------------------------------------------------------------------------------------------....................................................................................................////////////////////////////////////////////////////////////////////////////////////////////////////0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111122222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222223333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444455555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555556666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777788888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888889999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<====================================================================================================>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>????????????????????????????????????????????????????????????????????????????????????????????????????@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^____________________________________________________________________________________________________````````````````````````````````````````````````````````````````````````````````````````````````````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffgggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggghhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""####################################################################################################$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''(((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((())))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))****************************************************************************************************++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,----------------------------------------------------------------------------------------------------....................................................................................................////////////////////////////////////////////////////////////////////////////////////////////////////0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111122222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222223333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444455555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555556666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777788888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888889999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<====================================================================================================>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>????????????????????????????????????????????????????????????????????????????????????????????????????@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^____________________________________________________________________________________________________````````````````````````````````````````````````````````````````````````````````````````````````````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffgggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggghhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""####################################################################################################$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''(((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((())))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))****************************************************************************************************++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,----------------------------------------------------------------------------------------------------....................................................................................................////////////////////////////////////////////////////////////////////////////////////////////////////0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111122222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222223333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444455555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555556666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777788888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888889999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<====================================================================================================>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>????????????????????????????????????????????????????????????????????????????????????????????????????@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^____________________________________________________________________________________________________````````````````````````````````````````````````````````````````````````````````````````````````````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffgggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggghhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""####################################################################################################$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''(((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((())))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))****************************************************************************************************++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,----------------------------------------------------------------------------------------------------....................................................................................................////////////////////////////////////////////////////////////////////////////////////////////////////0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111122222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222223333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444455555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555556666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777788888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888889999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<====================================================================================================>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>????????????????????????????????????????????????????????????????????????????????????????????????????@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^____________________________________________________________________________________________________````````````````````````````````````````````````````````````````````````````````````````````````````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffgggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggghhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""####################################################################################################$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''(((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((())))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))****************************************************************************************************++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,----------------------------------------------------------------------------------------------------....................................................................................................////////////////////////////////////////////////////////////////////////////////////////////////////0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111122222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222223333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444455555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555556666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777788888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888889999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<====================================================================================================>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>????????????????????????????????????????????????????????????????????????????????????????????????????@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^____________________________________________________________________________________________________````````````````````````````````````````````````````````````````````````````````````````````````````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffgggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggghhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""####################################################################################################$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''(((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((())))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))****************************************************************************************************++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,----------------------------------------------------------------------------------------------------....................................................................................................////////////////////////////////////////////////////////////////////////////////////////////////////0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111122222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222223333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444455555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555556666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777788888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888889999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<====================================================================================================>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>????????????????????????????????????????????????????????????????????????????????????????????????????@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^____________________________________________________________________________________________________````````````````````````````````````````````````````````````````````````````````````````````````````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffgggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggghhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""####################################################################################################$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''(((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((())))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))****************************************************************************************************++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,----------------------------------------------------------------------------------------------------....................................................................................................////////////////////////////////////////////////////////////////////////////////////////////////////0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111122222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222223333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444455555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555556666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777788888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888889999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<====================================================================================================>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>????????????????????????????????????????????????????????????????????????????????????????????????????@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^____________________________________________________________________________________________________````````````````````````````````````````````````````````````````````````````````````````````````````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffgggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggghhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""####################################################################################################$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''(((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((())))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))****************************************************************************************************++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,----------------------------------------------------------------------------------------------------....................................................................................................////////////////////////////////////////////////////////////////////////////////////////////////////0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111122222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222223333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444455555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555556666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777788888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888889999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<====================================================================================================>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>????????????????????????????????????????????????????????????????????????????????????????????????????@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^____________________________________________________________________________________________________````````````````````````````````````````````````````````````````````````````````````````````````````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffgggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggghhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""####################################################################################################$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''(((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((())))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))****************************************************************************************************++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,----------------------------------------------------------------------------------------------------....................................................................................................////////////////////////////////////////////////////////////////////////////////////////////////////0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111122222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222223333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444455555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555556666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777788888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888889999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<====================================================================================================>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>????????????????????????????????????????????????????????????????????????????????????????????????????@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^____________________________________________________________________________________________________````````````````````````````````````````````````````````````````````````````````````````````````````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffgggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggghhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""####################################################################################################$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''(((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((())))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))****************************************************************************************************++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,----------------------------------------------------------------------------------------------------....................................................................................................////////////////////////////////////////////////////////////////////////////////////////////////////0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111122222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222223333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444455555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555556666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777788888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888889999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<====================================================================================================>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>????????????????????????????????????????????????????????????????????????????????????????????????????@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^____________________________________________________________________________________________________````````````````````````````````````````````````````````````````````````````````````````````````````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffgggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggghhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""####################################################################################################$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''(((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((())))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))****************************************************************************************************++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,----------------------------------------------------------------------------------------------------....................................................................................................////////////////////////////////////////////////////////////////////////////////////////////////////0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111122222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222223333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444455555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555556666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777788888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888889999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<====================================================================================================>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>????????????????????????????????????????????????????????????????????????????????????????????????????@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^____________________________________________________________________________________________________````````````````````````````````````````````````````````````````````````````````````````````````````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffgggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggghhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""####################################################################################################$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''(((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((())))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))****************************************************************************************************++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,----------------------------------------------------------------------------------------------------....................................................................................................////////////////////////////////////////////////////////////////////////////////////////////////////0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111122222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222223333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444455555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555556666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777788888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888889999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<====================================================================================================>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>????????????????????????????????????????????????????????????????????????????????????????????????????@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^____________________________________________________________________________________________________````````````````````````````````````````````````````````````````````````````````````````````````````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffgggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggghhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""####################################################################################################$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''(((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((())))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))****************************************************************************************************++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,----------------------------------------------------------------------------------------------------....................................................................................................////////////////////////////////////////////////////////////////////////////////////////////////////0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111122222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222223333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444455555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555556666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777788888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888889999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<====================================================================================================>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>????????????????????????????????????????????????????????????????????????????????????????????????????@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^____________________________________________________________________________________________________````````````````````````````````````````````````````````````````````````````````````````````````````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffgggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggghhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""####################################################################################################$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''(((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((())))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))****************************************************************************************************++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,----------------------------------------------------------------------------------------------------....................................................................................................////////////////////////////////////////////////////////////////////////////////////////////////////0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111122222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222223333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444455555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555556666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777788888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888889999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<====================================================================================================>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>????????????????????????????????????????????????????????????????????????????????????????????????????@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^____________________________________________________________________________________________________````````````````````````````````````````````````````````````````````````````````````````````````````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffgggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggghhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""####################################################################################################$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''(((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((())))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))****************************************************************************************************++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,----------------------------------------------------------------------------------------------------....................................................................................................////////////////////////////////////////////////////////////////////////////////////////////////////0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111122222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222223333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444455555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555556666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777788888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888889999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<====================================================================================================>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>????????????????????????????????????????????????????????????????????????????????????????????????????@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^____________________________________________________________________________________________________````````````````````````````````````````````````````````````````````````````````````````````````````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffgggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggghhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""####################################################################################################$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''(((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((())))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))****************************************************************************************************++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,----------------------------------------------------------------------------------------------------....................................................................................................////////////////////////////////////////////////////////////////////////////////////////////////////0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111122222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222223333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444455555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555556666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777788888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888889999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<====================================================================================================>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>????????????????????????????????????????????????????????????????????????????????????????????????????@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^____________________________________________________________________________________________________````````````````````````````````````````````````````````````````````````````````````````````````````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffgggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggghhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""####################################################################################################$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''(((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((())))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))****************************************************************************************************++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,----------------------------------------------------------------------------------------------------....................................................................................................////////////////////////////////////////////////////////////////////////////////////////////////////0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111122222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222223333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444455555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555556666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777788888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888889999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<====================================================================================================>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>????????????????????????????????????????????????????????????????????????????????????????????????????@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^____________________________________________________________________________________________________````````````````````````````````````````````````````````````````````````````````````````````````````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffgggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggghhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""####################################################################################################$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''(((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((())))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))****************************************************************************************************++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,----------------------------------------------------------------------------------------------------....................................................................................................////////////////////////////////////////////////////////////////////////////////////////////////////0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111122222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222223333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444455555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555556666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777788888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888889999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<====================================================================================================>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>????????????????????????????????????????????????????????????????????????????????????????????????????@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^____________________________________________________________________________________________________````````````````````````````````````````````````````````````````````````````````````````````````````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffgggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggghhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""####################################################################################################$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''(((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((())))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))****************************************************************************************************++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,----------------------------------------------------------------------------------------------------....................................................................................................////////////////////////////////////////////////////////////////////////////////////////////////////0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111122222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222223333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444455555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555556666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777788888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888889999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<====================================================================================================>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>????????????????????????????????????????????????????????????????????????????????????????????????????@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^____________________________________________________________________________________________________````````````````````````````````````````````````````````````````````````````````````````````````````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffgggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggghhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""####################################################################################################$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''(((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((())))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))****************************************************************************************************++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,----------------------------------------------------------------------------------------------------....................................................................................................////////////////////////////////////////////////////////////////////////////////////////////////////0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111122222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222223333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444455555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555556666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777788888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888889999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<====================================================================================================>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>????????????????????????????????????????????????????????????????????????????????????????????????????@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^____________________________________________________________________________________________________````````````````````````````````````````````````````````````````````````````````````````````````````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffgggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggghhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""####################################################################################################$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''(((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((())))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))****************************************************************************************************++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,----------------------------------------------------------------------------------------------------....................................................................................................////////////////////////////////////////////////////////////////////////////////////////////////////0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111122222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222223333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444455555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555556666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777788888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888889999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<====================================================================================================>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>????????????????????????????????????????????????????????????????????????????????????????????????????@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^____________________________________________________________________________________________________````````````````````````````````````````````````````````````````````````````````````````````````````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffgggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggghhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""####################################################################################################$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''(((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((())))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))****************************************************************************************************++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,----------------------------------------------------------------------------------------------------....................................................................................................////////////////////////////////////////////////////////////////////////////////////////////////////0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111122222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222223333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444455555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555556666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777788888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888889999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<====================================================================================================>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>????????????????????????????????????????????????????????????????????????????????????????????????????@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^____________________________________________________________________________________________________````````````````````````````````````````````````````````````````````````````````````````````````````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffgggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggghhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""####################################################################################################$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''(((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((())))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))****************************************************************************************************++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,----------------------------------------------------------------------------------------------------....................................................................................................////////////////////////////////////////////////////////////////////////////////////////////////////0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111122222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222223333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444455555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555556666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777788888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888889999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<====================================================================================================>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>????????????????????????????????????????????????????????????????????????????????????????????????????@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^____________________________________________________________________________________________________````````````````````````````````````````````````````````````````````````````````````````````````````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffgggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggghhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""####################################################################################################$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''(((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((())))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))****************************************************************************************************++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,----------------------------------------------------------------------------------------------------....................................................................................................////////////////////////////////////////////////////////////////////////////////////////////////////0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111122222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222223333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444455555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555556666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777788888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888889999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<====================================================================================================>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>????????????????????????????????????????????????????????????????????????????????????????????????????@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^____________________________________________________________________________________________________````````````````````````````````````````````````````````````````````````````````````````````````````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffgggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggghhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""####################################################################################################$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''(((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((())))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))****************************************************************************************************++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,----------------------------------------------------------------------------------------------------....................................................................................................////////////////////////////////////////////////////////////////////////////////////////////////////0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111122222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222223333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444455555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555556666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777788888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888889999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<====================================================================================================>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>????????????????????????????????????????????????????????????????????????????????????????????????????@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^____________________________________________________________________________________________________````````````````````````````````````````````````````````````````````````````````````````````````````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffgggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggghhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""####################################################################################################$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''(((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((())))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))****************************************************************************************************++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,----------------------------------------------------------------------------------------------------....................................................................................................////////////////////////////////////////////////////////////////////////////////////////////////////0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111122222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222223333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444455555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555556666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777788888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888889999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<====================================================================================================>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>????????????????????????????????????????????????????????????????????????????????????????????????????@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^____________________________________________________________________________________________________````````````````````````````````````````````````````````````````````````````````````````````````````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffgggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggghhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""####################################################################################################$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''(((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((())))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))****************************************************************************************************++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,----------------------------------------------------------------------------------------------------....................................................................................................////////////////////////////////////////////////////////////////////////////////////////////////////0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111122222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222223333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444455555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555556666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777788888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888889999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<====================================================================================================>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>????????????????????????????????????????????????????????????????????????????????????????????????????@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^____________________________________________________________________________________________________````````````````````````````````````````````````````````````````````````````````````````````````````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffgggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggghhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""####################################################################################################$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''(((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((())))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))****************************************************************************************************++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,----------------------------------------------------------------------------------------------------....................................................................................................////////////////////////////////////////////////////////////////////////////////////////////////////0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111122222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222223333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444455555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555556666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777788888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888889999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<====================================================================================================>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>????????????????????????????????????????????????????????????????????????????????????????????????????@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^____________________________________________________________________________________________________````````````````````````````````````````````````````````````````````````````````````````````````````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffgggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggghhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""####################################################################################################$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''(((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((())))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))****************************************************************************************************++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,----------------------------------------------------------------------------------------------------....................................................................................................////////////////////////////////////////////////////////////////////////////////////////////////////0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111122222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222223333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444455555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555556666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777788888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888889999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<====================================================================================================>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>????????????????????????????????????????????????????????????????????????????????????????????????????@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^____________________________________________________________________________________________________````````````````````````````````````````````````````````````````````````````````````````````````````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffgggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggghhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""####################################################################################################$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''(((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((())))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))****************************************************************************************************++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,----------------------------------------------------------------------------------------------------....................................................................................................////////////////////////////////////////////////////////////////////////////////////////////////////0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111122222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222223333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444455555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555556666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777788888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888889999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<====================================================================================================>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>????????????????????????????????????????????????????????????????????????????????????????????????????@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^____________________________________________________________________________________________________````````````````````````````````````````````````````````````````````````````````````````````````````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffgggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggghhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""####################################################################################################$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''(((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((())))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))****************************************************************************************************++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,----------------------------------------------------------------------------------------------------....................................................................................................////////////////////////////////////////////////////////////////////////////////////////////////////0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111122222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222223333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444455555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555556666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777788888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888889999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<====================================================================================================>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>????????????????????????????????????????????????????????????????????????????????????????????????????@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^____________________________________________________________________________________________________````````````````````````````````````````````````````````````````````````````````````````````````````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffgggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggghhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""####################################################################################################$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''(((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((())))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))****************************************************************************************************++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,----------------------------------------------------------------------------------------------------....................................................................................................////////////////////////////////////////////////////////////////////////////////////////////////////0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111122222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222223333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444455555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555556666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777788888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888889999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<====================================================================================================>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>????????????????????????????????????????????????????????????????????????????????????????????????????@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^____________________________________________________________________________________________________````````````````````````````````````````````````````````````````````````````````````````````````````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffgggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggghhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""####################################################################################################$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''(((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((())))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))****************************************************************************************************++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,----------------------------------------------------------------------------------------------------....................................................................................................////////////////////////////////////////////////////////////////////////////////////////////////////0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111122222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222223333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444455555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555556666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777788888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888889999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<====================================================================================================>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>????????????????????????????????????????????????????????????????????????????????????????????????????@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^____________________________________________________________________________________________________````````````````````````````````````````````````````````````````````````````````````````````````````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffgggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggghhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""####################################################################################################$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''(((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((())))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))****************************************************************************************************++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,----------------------------------------------------------------------------------------------------....................................................................................................////////////////////////////////////////////////////////////////////////////////////////////////////0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111122222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222223333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444455555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555556666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777788888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888889999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<====================================================================================================>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>????????????????????????????????????????????????????????????????????????????????????????????????????@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^____________________________________________________________________________________________________````````````````````````````````````````````````````````````````````````````````````````````````````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffgggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggghhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""####################################################################################################$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''(((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((())))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))****************************************************************************************************++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,----------------------------------------------------------------------------------------------------....................................................................................................////////////////////////////////////////////////////////////////////////////////////////////////////0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111122222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222223333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444455555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555556666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777788888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888889999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<====================================================================================================>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>????????????????????????????????????????????????????????????????????????????????????????????????????@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^____________________________________________________________________________________________________````````````````````````````````````````````````````````````````````````````````````````````````````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffgggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggghhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""####################################################################################################$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''(((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((())))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))****************************************************************************************************++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,----------------------------------------------------------------------------------------------------....................................................................................................////////////////////////////////////////////////////////////////////////////////////////////////////0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111122222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222223333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444455555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555556666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777788888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888889999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<====================================================================================================>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>????????????????????????????????????????????????????????????????????????????????????????????????????@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^____________________________________________________________________________________________________````````````````````````````````````````````````````````````````````````````````````````````````````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffgggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggghhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""####################################################################################################$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''(((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((())))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))****************************************************************************************************++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,----------------------------------------------------------------------------------------------------....................................................................................................////////////////////////////////////////////////////////////////////////////////////////////////////0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111122222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222223333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444455555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555556666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777788888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888889999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<====================================================================================================>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>????????????????????????????????????????????????????????????????????????????????????????????????????@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^____________________________________________________________________________________________________````````````````````````````````````````````````````````````````````````````````````````````````````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffgggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggghhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""####################################################################################################$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''(((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((())))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))****************************************************************************************************++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,----------------------------------------------------------------------------------------------------....................................................................................................////////////////////////////////////////////////////////////////////////////////////////////////////0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111122222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222223333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444455555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555556666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777788888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888889999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<====================================================================================================>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>????????????????????????????????????????????????????????????????????????????????????????????????????@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^____________________________________________________________________________________________________````````````````````````````````````````````````````````````````````````````````````````````````````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffgggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggghhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""####################################################################################################$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''(((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((())))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))****************************************************************************************************++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,----------------------------------------------------------------------------------------------------....................................................................................................////////////////////////////////////////////////////////////////////////////////////////////////////0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111122222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222223333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444455555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555556666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777788888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888889999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<====================================================================================================>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>????????????????????????????????????????????????????????????????????????????????????????????????????@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^____________________________________________________________________________________________________````````````````````````````````````````````````````````````````````````````````````````````````````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffgggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggghhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""####################################################################################################$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''(((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((())))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))****************************************************************************************************++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,----------------------------------------------------------------------------------------------------....................................................................................................////////////////////////////////////////////////////////////////////////////////////////////////////0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111122222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222223333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444455555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555556666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777788888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888889999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<====================================================================================================>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>????????????????????????????????????????????????????????????????????????????????????????????????????@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^____________________________________________________________________________________________________````````````````````````````````````````````````````````````````````````````````````````````````````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffgggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggghhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""####################################################################################################$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''(((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((())))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))****************************************************************************************************++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,----------------------------------------------------------------------------------------------------....................................................................................................////////////////////////////////////////////////////////////////////////////////////////////////////0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111122222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222223333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444455555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555556666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777788888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888889999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<====================================================================================================>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>????????????????????????????????????????????????????????????????????????????????????????????????????@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^____________________________________________________________________________________________________````````````````````````````````````````````````````````````````````````````````````````````````````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffgggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggghhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""####################################################################################################$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''(((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((())))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))****************************************************************************************************++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,----------------------------------------------------------------------------------------------------....................................................................................................////////////////////////////////////////////////////////////////////////////////////////////////////0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111122222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222223333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444455555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555556666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777788888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888889999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<====================================================================================================>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>????????????????????????????????????????????????????????????????????????????????????????????????????@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^____________________________________________________________________________________________________````````````````````````````````````````````````````````````````````````````````````````````````````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffgggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggghhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""####################################################################################################$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''(((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((())))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))****************************************************************************************************++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,----------------------------------------------------------------------------------------------------....................................................................................................////////////////////////////////////////////////////////////////////////////////////////////////////0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111122222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222223333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444455555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555556666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777788888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888889999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<====================================================================================================>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>????????????????????????????????????????????????????????????????????????????????????????????????????@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^____________________________________________________________________________________________________````````````````````````````````````````````````````````````````````````````````````````````````````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffgggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggghhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""####################################################################################################$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''(((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((())))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))****************************************************************************************************++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,----------------------------------------------------------------------------------------------------....................................................................................................////////////////////////////////////////////////////////////////////////////////////////////////////0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111122222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222223333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444455555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555556666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777788888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888889999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<====================================================================================================>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>????????????????????????????????????????????????????????????????????????????????????????????????????@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^____________________________________________________________________________________________________````````````````````````````````````````````````````````````````````````````````````````````````````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffgggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggghhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""####################################################################################################$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''(((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((())))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))****************************************************************************************************++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,----------------------------------------------------------------------------------------------------....................................................................................................////////////////////////////////////////////////////////////////////////////////////////////////////0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111122222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222223333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444455555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555556666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777788888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888889999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<====================================================================================================>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>????????????????????????????????????????????????????????????????????????????????????????????????????@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^____________________________________________________________________________________________________````````````````````````````````````````````````````````````````````````````````````````````````````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffgggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggghhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""####################################################################################################$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''(((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((())))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))****************************************************************************************************++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,----------------------------------------------------------------------------------------------------....................................................................................................////////////////////////////////////////////////////////////////////////////////////////////////////0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111122222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222223333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444455555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555556666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777788888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888889999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<====================================================================================================>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>????????????????????????????????????????????????????????????????????????????????????????????????????@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^____________________________________________________________________________________________________````````````````````````````````````````````````````````````````````````````````````````````````````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffgggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggghhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""####################################################################################################$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''(((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((())))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))****************************************************************************************************++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,----------------------------------------------------------------------------------------------------....................................................................................................////////////////////////////////////////////////////////////////////////////////////////////////////0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111122222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222223333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444455555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555556666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777788888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888889999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<====================================================================================================>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>????????????????????????????????????????????????????????????????????????????????????????????????????@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^____________________________________________________________________________________________________````````````````````````````````````````````````````````````````````````````````````````````````````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffgggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggghhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""####################################################################################################$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''(((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((())))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))****************************************************************************************************++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,----------------------------------------------------------------------------------------------------....................................................................................................////////////////////////////////////////////////////////////////////////////////////////////////////0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111122222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222223333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444455555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555556666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777788888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888889999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<====================================================================================================>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>????????????????????????????????????????????????????????????????????????????????????????????????????@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^____________________________________________________________________________________________________````````````````````````````````````````````````````````````````````````````````````````````````````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffgggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggghhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""####################################################################################################$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''(((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((())))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))****************************************************************************************************++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,----------------------------------------------------------------------------------------------------....................................................................................................////////////////////////////////////////////////////////////////////////////////////////////////////0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111122222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222223333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444455555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555556666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777788888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888889999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<====================================================================================================>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>????????????????????????????????????????????????????????????????????????????????????????????????????@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^____________________________________________________________________________________________________````````````````````````````````````````````````````````````````````````````````````````````````````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffgggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggghhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""####################################################################################################$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''(((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((())))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))****************************************************************************************************++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,----------------------------------------------------------------------------------------------------....................................................................................................////////////////////////////////////////////////////////////////////////////////////////////////////0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111122222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222223333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444455555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555556666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777788888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888889999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<====================================================================================================>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>????????????????????????????????????????????????????????????????????????????????????????????????????@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^____________________________________________________________________________________________________````````````````````````````````````````````````````````````````````````````````````````````````````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffgggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggghhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""####################################################################################################$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''(((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((())))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))****************************************************************************************************++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,----------------------------------------------------------------------------------------------------....................................................................................................////////////////////////////////////////////////////////////////////////////////////////////////////0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111122222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222223333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444455555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555556666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777788888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888889999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<====================================================================================================>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>????????????????????????????????????????????????????????????????????????????????????????????????????@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^____________________________________________________________________________________________________````````````````````````````````````````````````````````````````````````````````````````````````````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffgggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggghhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""####################################################################################################$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''(((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((())))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))****************************************************************************************************++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,----------------------------------------------------------------------------------------------------....................................................................................................////////////////////////////////////////////////////////////////////////////////////////////////////0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111122222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222223333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444455555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555556666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777788888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888889999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<====================================================================================================>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>????????????????????????????????????????????????????????????????????????????????????????????????????@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^____________________________________________________________________________________________________````````````````````````````````````````````````````````````````````````````````````````````````````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffgggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggghhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""####################################################################################################$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''(((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((())))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))****************************************************************************************************++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,----------------------------------------------------------------------------------------------------....................................................................................................////////////////////////////////////////////////////////////////////////////////////////////////////0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111122222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222223333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444455555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555556666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777788888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888889999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<====================================================================================================>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>????????????????????????????????????????????????????????????????????????????????????????????????????@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^____________________________________________________________________________________________________````````````````````````````````````````````````````````````````````````````````````````````````````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffgggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggghhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""####################################################################################################$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''(((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((())))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))****************************************************************************************************++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,----------------------------------------------------------------------------------------------------....................................................................................................////////////////////////////////////////////////////////////////////////////////////////////////////0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111122222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222223333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444455555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555556666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777788888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888889999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<====================================================================================================>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>????????????????????????????????????????????????????????????????????????????????????????????????????@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^____________________________________________________________________________________________________````````````````````````````````````````````````````````````````````````````````````````````````````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffgggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggghhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""####################################################################################################$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''(((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((())))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))****************************************************************************************************++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,----------------------------------------------------------------------------------------------------....................................................................................................////////////////////////////////////////////////////////////////////////////////////////////////////0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111122222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222223333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444455555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555556666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777788888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888889999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<====================================================================================================>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>????????????????????????????????????????????????????????????????????????????????????????????????????@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^____________________________________________________________________________________________________````````````````````````````````````````````````````````````````````````````````````````````````````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffgggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggghhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""####################################################################################################$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''(((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((())))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))****************************************************************************************************++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,----------------------------------------------------------------------------------------------------....................................................................................................////////////////////////////////////////////////////////////////////////////////////////////////////0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111122222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222223333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444455555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555556666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777788888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888889999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<====================================================================================================>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>????????????????????????????????????????????????????????????????????????????????????????????????????@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^____________________________________________________________________________________________________````````````````````````````````````````````````````````````````````````````````````````````````````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffgggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggghhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""####################################################################################################$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''(((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((())))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))****************************************************************************************************++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,----------------------------------------------------------------------------------------------------....................................................................................................////////////////////////////////////////////////////////////////////////////////////////////////////0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111122222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222223333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444455555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555556666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777788888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888889999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<====================================================================================================>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>????????????????????????????????????????????????????????????????????????????????????????????????????@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^____________________________________________________________________________________________________````````````````````````````````````````````````````````````````````````````````````````````````````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffgggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggghhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""####################################################################################################$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''(((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((())))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))****************************************************************************************************++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,----------------------------------------------------------------------------------------------------....................................................................................................////////////////////////////////////////////////////////////////////////////////////////////////////0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111122222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222223333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444455555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555556666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777788888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888889999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<====================================================================================================>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>????????????????????????????????????????????????????????????????????????????????????????????????????@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^____________________________________________________________________________________________________````````````````````````````````````````````````````````````````````````````````````````````````````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffgggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggghhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""####################################################################################################$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''(((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((())))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))****************************************************************************************************++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,----------------------------------------------------------------------------------------------------....................................................................................................////////////////////////////////////////////////////////////////////////////////////////////////////0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111122222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222223333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444455555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555556666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777788888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888889999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<====================================================================================================>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>????????????????????????????????????????????????????????????????????????????????????????????????????@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^____________________________________________________________________________________________________````````````````````````````````````````````````````````````````````````````````````````````````````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffgggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggghhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""####################################################################################################$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''(((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((())))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))****************************************************************************************************++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,----------------------------------------------------------------------------------------------------....................................................................................................////////////////////////////////////////////////////////////////////////////////////////////////////0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111122222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222223333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444455555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555556666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777788888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888889999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<====================================================================================================>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>????????????????????????????????????????????????????????????????????????????????????????????????????@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^____________________________________________________________________________________________________````````````````````````````````````````````````````````````````````````````````````````````````````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffgggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggghhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""####################################################################################################$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''(((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((())))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))****************************************************************************************************++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,----------------------------------------------------------------------------------------------------....................................................................................................////////////////////////////////////////////////////////////////////////////////////////////////////0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111122222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222223333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444455555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555556666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777788888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888889999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<====================================================================================================>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>????????????????????????????????????????????????????????????????????????????????????????????????????@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^____________________________________________________________________________________________________````````````````````````````````````````````````````````````````````````````````````````````````````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffgggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggghhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""####################################################################################################$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''(((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((())))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))****************************************************************************************************++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,----------------------------------------------------------------------------------------------------....................................................................................................////////////////////////////////////////////////////////////////////////////////////////////////////0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111122222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222223333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444455555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555556666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777788888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888889999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<====================================================================================================>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>????????????????????????????????????????????????????????????????????????????????????????????????????@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^____________________________________________________________________________________________________````````````````````````````````````````````````````````````````````````````````````````````````````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffgggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggghhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""####################################################################################################$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''(((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((())))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))****************************************************************************************************++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,----------------------------------------------------------------------------------------------------....................................................................................................////////////////////////////////////////////////////////////////////////////////////////////////////0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111122222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222223333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444455555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555556666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777788888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888889999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<====================================================================================================>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>????????????????????????????????????????????????????????????????????????????????????????????????????@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^____________________________________________________________________________________________________````````````````````````````````````````````````````````````````````````````````````````````````````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffgggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggghhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""####################################################################################################$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''(((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((())))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))****************************************************************************************************++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,----------------------------------------------------------------------------------------------------....................................................................................................////////////////////////////////////////////////////////////////////////////////////////////////////0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111122222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222223333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444455555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555556666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777788888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888889999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<====================================================================================================>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>????????????????????????????????????????????????????????????????????????????????????????????????????@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^____________________________________________________________________________________________________````````````````````````````````````````````````````````````````````````````````````````````````````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffgggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggghhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""####################################################################################################$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''(((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((())))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))****************************************************************************************************++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,----------------------------------------------------------------------------------------------------....................................................................................................////////////////////////////////////////////////////////////////////////////////////////////////////0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111122222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222223333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444455555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555556666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777788888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888889999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<====================================================================================================>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>????????????????????????????????????????????????????????????????????????????????????????????????????@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^____________________________________________________________________________________________________````````````````````````````````````````````````````````````````````````````````````````````````````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffgggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggghhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""####################################################################################################$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''(((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((())))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))****************************************************************************************************++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,----------------------------------------------------------------------------------------------------....................................................................................................////////////////////////////////////////////////////////////////////////////////////////////////////0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111122222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222223333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444455555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555556666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777788888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888889999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<====================================================================================================>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>????????????????????????????????????????????????????????????????????????????????????????????????????@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^____________________________________________________________________________________________________````````````````````````````````````````````````````````````````````````````````````````````````````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffgggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggghhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""####################################################################################################$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''(((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((())))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))****************************************************************************************************++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,----------------------------------------------------------------------------------------------------....................................................................................................////////////////////////////////////////////////////////////////////////////////////////////////////0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111122222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222223333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444455555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555556666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777788888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888889999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<====================================================================================================>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>????????????????????????????????????????????????????????????????????????????????????????????????????@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^____________________________________________________________________________________________________````````````````````````````````````````````````````````````````````````````````````````````````````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffgggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggghhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""####################################################################################################$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''(((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((())))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))****************************************************************************************************++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,----------------------------------------------------------------------------------------------------....................................................................................................////////////////////////////////////////////////////////////////////////////////////////////////////0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111122222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222223333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444455555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555556666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777788888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888889999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<====================================================================================================>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>????????????????????????????????????????????????????????????????????????????????????????????????????@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^____________________________________________________________________________________________________````````````````````````````````````````````````````````````````````````````````````````````````````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffgggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggghhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""####################################################################################################$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''(((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((())))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))****************************************************************************************************++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,----------------------------------------------------------------------------------------------------....................................................................................................////////////////////////////////////////////////////////////////////////////////////////////////////0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111122222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222223333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444455555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555556666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777788888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888889999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<====================================================================================================>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>????????????????????????????????????????????????????????????????????????????????????????????????????@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^____________________________________________________________________________________________________````````````````````````````````````````````````````````````````````````````````````````````````````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffgggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggghhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""####################################################################################################$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''(((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((())))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))****************************************************************************************************++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,----------------------------------------------------------------------------------------------------....................................................................................................////////////////////////////////////////////////////////////////////////////////////////////////////0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111122222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222223333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444455555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555556666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777788888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888889999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<====================================================================================================>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>????????????????????????????????????????????????????????????????????????????????????????????????????@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^____________________________________________________________________________________________________````````````````````````````````````````````````````````````````````````````````````````````````````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffgggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggghhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""####################################################################################################$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''(((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((())))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))****************************************************************************************************++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,----------------------------------------------------------------------------------------------------....................................................................................................////////////////////////////////////////////////////////////////////////////////////////////////////0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111122222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222223333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444455555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555556666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777788888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888889999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<====================================================================================================>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>????????????????????????????????????????????????????????????????????????????????????????????????????@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^____________________________________________________________________________________________________````````````````````````````````````````````````````````````````````````````````````````````````````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffgggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggghhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""####################################################################################################$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''(((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((())))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))****************************************************************************************************++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,----------------------------------------------------------------------------------------------------....................................................................................................////////////////////////////////////////////////////////////////////////////////////////////////////0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111122222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222223333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444455555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555556666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777788888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888889999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<====================================================================================================>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>????????????????????????????????????????????????????????????????????????????????????????????????????@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^____________________________________________________________________________________________________````````````````````````````````````````````````````````````````````````````````````````````````````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffgggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggghhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""####################################################################################################$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''(((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((())))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))****************************************************************************************************++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,----------------------------------------------------------------------------------------------------....................................................................................................////////////////////////////////////////////////////////////////////////////////////////////////////0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111122222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222223333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444455555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555556666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777788888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888889999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<====================================================================================================>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>????????????????????????????????????????????????????????????????????????????????????????????????????@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^____________________________________________________________________________________________________````````````````````````````````````````````````````````````````````````````````````````````````````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffgggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggghhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""####################################################################################################$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''(((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((())))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))****************************************************************************************************++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,----------------------------------------------------------------------------------------------------....................................................................................................////////////////////////////////////////////////////////////////////////////////////////////////////0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111122222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222223333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444455555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555556666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777788888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888889999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<====================================================================================================>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>????????????????????????????????????????????????????????????????????????????????????????????????????@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^____________________________________________________________________________________________________````````````````````````````````````````````````````````````````````````````````````````````````````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffgggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggghhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""####################################################################################################$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''(((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((())))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))****************************************************************************************************++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,----------------------------------------------------------------------------------------------------....................................................................................................////////////////////////////////////////////////////////////////////////////////////////////////////0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111122222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222223333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444455555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555556666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777788888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888889999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<====================================================================================================>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>????????????????????????????????????????????????????????????????????????????????????????????????????@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^____________________________________________________________________________________________________````````````````````````````````````````````````````````````````````````````````````````````````````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffgggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggghhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""####################################################################################################$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''(((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((())))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))****************************************************************************************************++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,----------------------------------------------------------------------------------------------------....................................................................................................////////////////////////////////////////////////////////////////////////////////////////////////////0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111122222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222223333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444455555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555556666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777788888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888889999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<====================================================================================================>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>????????????????????????????????????????????????????????????????????????????????????????????????????@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^____________________________________________________________________________________________________````````````````````````````````````````````````````````````````````````````````````````````````````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffgggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggghhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""####################################################################################################$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''(((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((())))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))****************************************************************************************************++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,----------------------------------------------------------------------------------------------------....................................................................................................////////////////////////////////////////////////////////////////////////////////////////////////////0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111122222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222223333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444455555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555556666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777788888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888889999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<====================================================================================================>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>????????????????????????????????????????????????????????????????????????????????????????????????????@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^____________________________________________________________________________________________________````````````````````````````````````````````````````````````````````````````````````````````````````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffgggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggghhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""####################################################################################################$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''(((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((())))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))****************************************************************************************************++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,----------------------------------------------------------------------------------------------------....................................................................................................////////////////////////////////////////////////////////////////////////////////////////////////////0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111122222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222223333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444455555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555556666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777788888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888889999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<====================================================================================================>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>????????????????????????????????????????????????????????????????????????????????????????????????????@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^____________________________________________________________________________________________________````````````````````````````````````````````````````````````````````````````````````````````````````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffgggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggghhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""####################################################################################################$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''(((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((())))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))****************************************************************************************************++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,----------------------------------------------------------------------------------------------------....................................................................................................////////////////////////////////////////////////////////////////////////////////////////////////////0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111122222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222223333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444455555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555556666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777788888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888889999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<====================================================================================================>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>????????????????????????????????????????????????????????????????????????????????????????????????????@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^____________________________________________________________________________________________________````````````````````````````````````````````````````````````````````````````````````````````````````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffgggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggghhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""####################################################################################################$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''(((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((())))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))****************************************************************************************************++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,----------------------------------------------------------------------------------------------------....................................................................................................////////////////////////////////////////////////////////////////////////////////////////////////////0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111122222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222223333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444455555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555556666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777788888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888889999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<====================================================================================================>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>????????????????????????????????????????????????????????????????????????????????????????????????????@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^____________________________________________________________________________________________________````````````````````````````````````````````````````````````````````````````````````````````````````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffgggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggghhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""####################################################################################################$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''(((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((())))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))****************************************************************************************************++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,----------------------------------------------------------------------------------------------------....................................................................................................////////////////////////////////////////////////////////////////////////////////////////////////////0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111122222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222223333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444455555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555556666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777788888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888889999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<====================================================================================================>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>????????????????????????????????????????????????????????????????????????????????????????????????????@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^____________________________________________________________________________________________________````````````````````````````````````````````````````````````````````````````````````````````````````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffgggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggghhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""####################################################################################################$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''(((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((())))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))****************************************************************************************************++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,----------------------------------------------------------------------------------------------------....................................................................................................////////////////////////////////////////////////////////////////////////////////////////////////////0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111122222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222223333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444455555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555556666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777788888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888889999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<====================================================================================================>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>????????????????????????????????????????????????????????????????????????????????????????????????????@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^____________________________________________________________________________________________________````````````````````````````````````````````````````````````````````````````````````````````````````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffgggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggghhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""####################################################################################################$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''(((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((())))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))****************************************************************************************************++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,----------------------------------------------------------------------------------------------------....................................................................................................////////////////////////////////////////////////////////////////////////////////////////////////////0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111122222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222223333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444455555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555556666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777788888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888889999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<====================================================================================================>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>????????????????????????????????????????????????????????????????????????????????????????????????????@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^____________________________________________________________________________________________________````````````````````````````````````````````````````````````````````````````````````````````````````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffgggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggghhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""####################################################################################################$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''(((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((())))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))****************************************************************************************************++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,----------------------------------------------------------------------------------------------------....................................................................................................////////////////////////////////////////////////////////////////////////////////////////////////////0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111122222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222223333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444455555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555556666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777788888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888889999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<====================================================================================================>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>????????????????????????????????????????????????????????????????????????????????????????????????????@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^____________________________________________________________________________________________________````````````````````````````````````````````````````````````````````````````````````````````````````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffgggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggghhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""####################################################################################################$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''(((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((())))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))****************************************************************************************************++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,----------------------------------------------------------------------------------------------------....................................................................................................////////////////////////////////////////////////////////////////////////////////////////////////////0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111122222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222223333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444455555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555556666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777788888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888889999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<====================================================================================================>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>????????????????????????????????????????????????????????????????????????????????????????????????????@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^____________________________________________________________________________________________________````````````````````````````````````````````````````````````````````````````````````````````````````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffgggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggghhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""####################################################################################################$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''(((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((())))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))****************************************************************************************************++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,----------------------------------------------------------------------------------------------------....................................................................................................////////////////////////////////////////////////////////////////////////////////////////////////////0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111122222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222223333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444455555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555556666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777788888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888889999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<====================================================================================================>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>????????????????????????????????????????????????????????????????????????????????????????????????????@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^____________________________________________________________________________________________________````````````````````````````````````````````````````````````````````````````````````````````````````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffgggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggghhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""####################################################################################################$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''(((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((())))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))****************************************************************************************************++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,----------------------------------------------------------------------------------------------------....................................................................................................////////////////////////////////////////////////////////////////////////////////////////////////////0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111122222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222223333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444455555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555556666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777788888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888889999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<====================================================================================================>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>????????????????????????????????????????????????????????????????????????????????????????????????????@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^____________________________________________________________________________________________________````````````````````````````````````````````````````````````````````````````````````````````````````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffgggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggghhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""####################################################################################################$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''(((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((())))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))****************************************************************************************************++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,----------------------------------------------------------------------------------------------------....................................................................................................////////////////////////////////////////////////////////////////////////////////////////////////////0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111122222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222223333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444455555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555556666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777788888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888889999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<====================================================================================================>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>????????????????????????????????????????????????????????????????????????????????????????????????????@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^____________________________________________________________________________________________________````````````````````````````````````````````````````````````````````````````````````````````````````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffgggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggghhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""####################################################################################################$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''(((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((())))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))****************************************************************************************************++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,----------------------------------------------------------------------------------------------------....................................................................................................////////////////////////////////////////////////////////////////////////////////////////////////////0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111122222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222223333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444455555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555556666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777788888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888889999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<====================================================================================================>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>????????????????????????????????????????????????????????????????????????????????????????????????????@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^____________________________________________________________________________________________________````````````````````````````````````````````````````````````````````````````````````````````````````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffgggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggghhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""####################################################################################################$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''(((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((())))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))****************************************************************************************************++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,----------------------------------------------------------------------------------------------------....................................................................................................////////////////////////////////////////////////////////////////////////////////////////////////////0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111122222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222223333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444455555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555556666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777788888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888889999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<====================================================================================================>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>????????????????????????????????????????????????????????????????????????????????????????????????????@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^____________________________________________________________________________________________________````````````````````````````````````````````````````````````````````````````````````````````````````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffgggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggghhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""####################################################################################################$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''(((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((())))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))****************************************************************************************************++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,----------------------------------------------------------------------------------------------------....................................................................................................////////////////////////////////////////////////////////////////////////////////////////////////////0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111122222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222223333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444455555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555556666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777788888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888889999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<====================================================================================================>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>????????????????????????????????????????????????????????????????????????????????????????????????????@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^____________________________________________________________________________________________________````````````````````````````````````````````````````````````````````````````````````````````````````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffgggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggghhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz htslib-1.2.1/test/xx#large_aux2.sam000066400000000000000000000012131246417267700171520ustar00rootroot00000000000000@SQ SN:xx LN:20 a1 0 xx 1 1 1M * 0 0 A # aa:i:1 a2 0 xx 1 1 1M * 0 0 A # aa:i:1 ab:i:1 a3 0 xx 1 1 1M * 0 0 A # aa:i:1 ab:i:1 ac:i:1 a4 0 xx 1 1 1M * 0 0 A # aa:i:1 ab:i:1 ac:i:1 ad:i:1 a5 0 xx 1 1 1M * 0 0 A # aa:i:1 ab:i:1 ac:i:1 ad:i:1 ae:i:1 a6 0 xx 1 1 1M * 0 0 A # aa:i:1 ab:i:1 ac:i:1 ad:i:1 ae:i:1 af:i:1 a7 0 xx 1 1 1M * 0 0 A # aa:i:1 ab:i:1 ac:i:1 ad:i:1 ae:i:1 af:i:1 ag:i:1 a8 0 xx 1 1 1M * 0 0 A # aa:i:1 ab:i:1 ac:i:1 ad:i:1 ae:i:1 af:i:1 ag:i:1 ah:i:1 a9 0 xx 1 1 1M * 0 0 A # aa:i:1 ab:i:1 ac:i:1 ad:i:1 ae:i:1 af:i:1 ag:i:1 ah:i:1 ai:i:1 aA 0 xx 1 1 1M * 0 0 A # aa:i:1 ab:i:1 ac:i:1 ad:i:1 ae:i:1 af:i:1 ag:i:1 ah:i:1 ai:i:1 aj:i:1 htslib-1.2.1/test/xx#minimal.sam000066400000000000000000000003761246417267700165600ustar00rootroot00000000000000@SQ SN:xx LN:20 @SQ SN:yy LN:20 a0 16 xx 4 1 10H * 0 0 * * a1 16 xx 4 1 5H0M5H * 0 0 * * a2 16 xx 4 1 5H0I10M0D5H * 0 0 * * A0 16 yy 4 1 0H * 0 0 * * A1 16 yy 4 1 0I * 0 0 * * A2 16 yy 4 1 0D * 0 0 * * A3 16 yy 4 1 0M * 0 0 * * A4 16 yy 4 1 0P * 0 0 * * htslib-1.2.1/test/xx#pair.sam000066400000000000000000000004601246417267700160570ustar00rootroot00000000000000@SQ SN:xx LN:20 a1 99 xx 1 1 10M = 11 20 AAAAAAAAAA ********** b1 99 xx 1 1 10M = 11 20 AAAAAAAAAA ********** c1 99 xx 1 1 10M = 11 20 AAAAAAAAAA ********** a1 147 xx 11 1 10M = 1 -20 TTTTTTTTTT ********** b1 147 xx 11 1 10M = 1 -20 TTTTTTTTTT ********** c1 147 xx 11 1 10M = 1 -20 TTTTTTTTTT ********** htslib-1.2.1/test/xx#rg.sam000066400000000000000000000010051246417267700155300ustar00rootroot00000000000000@HD VN:1.4 SO:coordinate @SQ SN:xx LN:20 AS:? SP:? UR:? M5:bbf4de6d8497a119dda6e074521643dc @RG ID:x1 SM:x1 @RG ID:x2 SM:x2 LB:x PG:foo:bar PI:1111 @PG ID:emacs PN:emacs VN:23.1.1 @CO also test @CO other headers a1 16 xx 1 1 10M * 0 0 AAAAAAAAAA ********** RG:Z:x1 b1 16 xx 1 1 10M * 0 0 AAAAAAAAAA ********** RG:Z:x2 c1 16 xx 1 1 10M * 0 0 AAAAAAAAAA ********** a2 16 xx 11 1 10M * 0 0 TTTTTTTTTT ********** RG:Z:x1 b2 16 xx 11 1 10M * 0 0 TTTTTTTTTT ********** RG:Z:x2 c2 16 xx 11 1 10M * 0 0 TTTTTTTTTT ********** htslib-1.2.1/test/xx#triplet.sam000066400000000000000000000004131246417267700166050ustar00rootroot00000000000000@SQ SN:xx LN:20 @SQ SN:yy LN:20 a1 67 xx 1 1 10M = 6 20 AAAAAAAAAA ********** a1 35 xx 6 1 10M = 11 -20 AAAAATTTTT ********** a1 147 xx 11 1 10M = 1 -20 TTTTTTTTTT ********** a1 67 yy 1 1 10M = 6 15 AAAAAAAAAA ********** a1 3 yy 6 1 10M = 1 -15 AAAAATTTTT ********** htslib-1.2.1/test/xx#unsorted.sam000066400000000000000000000005001246417267700167620ustar00rootroot00000000000000@SQ SN:xx LN:20 @SQ SN:yy LN:20 b1 147 yy 11 1 10M = 1 -20 TTTTTTTTTT ********** a1 147 xx 11 1 10M = 1 -20 TTTTTTTTTT ********** a1 99 xx 1 1 10M = 11 20 AAAAAAAAAA ********** b1 99 yy 1 1 10M = 11 20 AAAAAAAAAA ********** c1 99 xx 1 1 10M = 11 20 AAAAAAAAAA ********** c1 147 xx 11 1 10M = 1 -20 TTTTTTTTTT ********** htslib-1.2.1/test/xx.fa000066400000000000000000000000631246417267700147450ustar00rootroot00000000000000>xx AAAAAAAAAATTTTTTTTTT >yy AAAAAAAAAATTTTTTTTTT htslib-1.2.1/test/xx.fa.fai000066400000000000000000000000351246417267700155020ustar00rootroot00000000000000xx 20 4 20 21 yy 20 29 20 21 htslib-1.2.1/vcf.5000066400000000000000000000067221246417267700136730ustar00rootroot00000000000000'\" t .TH vcf 5 "August 2013" "htslib" "Bioinformatics formats" .SH NAME vcf \- Variant Call Format .\" .\" Copyright (C) 2011 Broad Institute. .\" Copyright (C) 2013 Genome Research Ltd. .\" .\" Author: Heng Li .\" .\" Permission is hereby granted, free of charge, to any person obtaining a .\" copy of this software and associated documentation files (the "Software"), .\" to deal in the Software without restriction, including without limitation .\" the rights to use, copy, modify, merge, publish, distribute, sublicense, .\" and/or sell copies of the Software, and to permit persons to whom the .\" Software is furnished to do so, subject to the following conditions: .\" .\" The above copyright notice and this permission notice shall be included in .\" all copies or substantial portions of the Software. .\" .\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR .\" IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, .\" FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL .\" THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER .\" LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING .\" FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER .\" DEALINGS IN THE SOFTWARE. .\" .SH DESCRIPTION The Variant Call Format (VCF) is a TAB-delimited format with each data line consisting of the following fields: .TS nlbl. 1 CHROM CHROMosome name 2 POS the left-most POSition of the variant 3 ID unique variant IDentifier 4 REF the REFerence allele 5 ALT the ALTernate allele(s) (comma-separated) 6 QUAL variant/reference QUALity 7 FILTER FILTERs applied 8 INFO INFOrmation related to the variant (semicolon-separated) 9 FORMAT FORMAT of the genotype fields (optional; colon-separated) 10+ SAMPLE SAMPLE genotypes and per-sample information (optional) .TE .P The following table gives the \fBINFO\fP tags used by samtools and bcftools. .TP .B AF1 Max-likelihood estimate of the site allele frequency (AF) of the first ALT allele (double) .TP .B DP Raw read depth (without quality filtering) (int) .TP .B DP4 # high-quality reference forward bases, ref reverse, alternate for and alt rev bases (int[4]) .TP .B FQ Consensus quality. Positive: sample genotypes different; negative: otherwise (int) .TP .B MQ Root-Mean-Square mapping quality of covering reads (int) .TP .B PC2 Phred probability of AF in group1 samples being larger (,smaller) than in group2 (int[2]) .TP .B PCHI2 Posterior weighted chi^2 P-value between group1 and group2 samples (double) .TP .B PV4 P-value for strand bias, baseQ bias, mapQ bias and tail distance bias (double[4]) .TP .B QCHI2 Phred-scaled PCHI2 (int) .TP .B RP # permutations yielding a smaller PCHI2 (int) .TP .B CLR Phred log ratio of genotype likelihoods with and without the trio/pair constraint (int) .TP .B UGT Most probable genotype configuration without the trio constraint (string) .TP .B CGT Most probable configuration with the trio constraint (string) .TP .B VDB Tests variant positions within reads. Intended for filtering RNA-seq artifacts around splice sites (float) .TP .B RPB Mann-Whitney rank-sum test for tail distance bias (float) .TP .B HWE Hardy-Weinberg equilibrium test (Wigginton et al) (float) .P .SH SEE ALSO .TP https://github.com/samtools/hts-specs The full VCF/BCF file format specification .TP .I A note on exact tests of Hardy-Weinberg equilibrium Wigginton JE et al PMID:15789306 .\" (http://www.ncbi.nlm.nih.gov/pubmed/15789306) htslib-1.2.1/vcf.c000066400000000000000000003262471246417267700137600ustar00rootroot00000000000000/* vcf.c -- VCF/BCF API functions. Copyright (C) 2012, 2013 Broad Institute. Copyright (C) 2012-2014 Genome Research Ltd. Portions copyright (C) 2014 Intel Corporation. Author: Heng Li Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ #include #include #include #include #include #include #include #include "htslib/kstring.h" #include "htslib/bgzf.h" #include "htslib/vcf.h" #include "htslib/tbx.h" #include "htslib/hfile.h" #include "htslib/khash_str2int.h" #include "htslib/khash.h" KHASH_MAP_INIT_STR(vdict, bcf_idinfo_t) typedef khash_t(vdict) vdict_t; #include "htslib/kseq.h" KSTREAM_DECLARE(gzFile, gzread) uint32_t bcf_float_missing = 0x7F800001; uint32_t bcf_float_vector_end = 0x7F800002; uint8_t bcf_type_shift[] = { 0, 0, 1, 2, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }; static bcf_idinfo_t bcf_idinfo_def = { .info = { 15, 15, 15 }, .hrec = { NULL, NULL, NULL}, .id = -1 }; /************************* *** VCF header parser *** *************************/ int bcf_hdr_sync(bcf_hdr_t *h); int bcf_hdr_add_sample(bcf_hdr_t *h, const char *s) { if ( !s ) return 0; const char *ss = s; while ( !*ss && isspace(*ss) ) ss++; if ( !*ss ) { fprintf(stderr,"[E::%s] Empty sample name: trailing spaces/tabs in the header line?\n", __func__); abort(); } vdict_t *d = (vdict_t*)h->dict[BCF_DT_SAMPLE]; int ret; char *sdup = strdup(s); int k = kh_put(vdict, d, sdup, &ret); if (ret) { // absent kh_val(d, k) = bcf_idinfo_def; kh_val(d, k).id = kh_size(d) - 1; } else { if (hts_verbose >= 2) { fprintf(stderr, "[E::%s] Duplicated sample name '%s'\n", __func__, s); abort(); } free(sdup); return -1; } int n = kh_size(d); h->samples = (char**) realloc(h->samples,sizeof(char*)*n); h->samples[n-1] = sdup; h->dirty = 1; return 0; } int bcf_hdr_parse_sample_line(bcf_hdr_t *h, const char *str) { int ret = 0; int i = 0; const char *p, *q; // add samples for (p = q = str;; ++q) { if (*q != '\t' && *q != 0 && *q != '\n') continue; if (++i > 9) { char *s = (char*)malloc(q - p + 1); strncpy(s, p, q - p); s[q - p] = 0; if ( bcf_hdr_add_sample(h,s) < 0 ) ret = -1; free(s); } if (*q == 0 || *q == '\n') break; p = q + 1; } bcf_hdr_add_sample(h,NULL); return ret; } int bcf_hdr_sync(bcf_hdr_t *h) { int i; for (i = 0; i < 3; i++) { vdict_t *d = (vdict_t*)h->dict[i]; khint_t k; // find out the largest id, there may be holes because of IDX int max_id = -1; for (k=kh_begin(d); k= h->n[i] ) { h->id[i] = (bcf_idpair_t*)realloc(h->id[i], (max_id+1)*sizeof(bcf_idpair_t)); for (k=h->n[i]; k<=max_id; k++) { h->id[i][k].key = NULL; h->id[i][k].val = NULL; } h->n[i] = max_id+1; } for (k=kh_begin(d); kid[i][kh_val(d,k).id].key = kh_key(d,k); h->id[i][kh_val(d,k).id].val = &kh_val(d,k); } } h->dirty = 0; return 0; } void bcf_hrec_destroy(bcf_hrec_t *hrec) { free(hrec->key); if ( hrec->value ) free(hrec->value); int i; for (i=0; inkeys; i++) { free(hrec->keys[i]); free(hrec->vals[i]); } free(hrec->keys); free(hrec->vals); free(hrec); } // Copies all fields except IDX. bcf_hrec_t *bcf_hrec_dup(bcf_hrec_t *hrec) { bcf_hrec_t *out = (bcf_hrec_t*) calloc(1,sizeof(bcf_hrec_t)); out->type = hrec->type; if ( hrec->key ) out->key = strdup(hrec->key); if ( hrec->value ) out->value = strdup(hrec->value); out->nkeys = hrec->nkeys; out->keys = (char**) malloc(sizeof(char*)*hrec->nkeys); out->vals = (char**) malloc(sizeof(char*)*hrec->nkeys); int i, j = 0; for (i=0; inkeys; i++) { if ( hrec->keys[i] && !strcmp("IDX",hrec->keys[i]) ) continue; if ( hrec->keys[i] ) out->keys[j] = strdup(hrec->keys[i]); if ( hrec->vals[i] ) out->vals[j] = strdup(hrec->vals[i]); j++; } if ( i!=j ) out->nkeys -= i-j; // IDX was omitted return out; } void bcf_hrec_debug(FILE *fp, bcf_hrec_t *hrec) { fprintf(fp, "key=[%s] value=[%s]", hrec->key, hrec->value?hrec->value:""); int i; for (i=0; inkeys; i++) fprintf(fp, "\t[%s]=[%s]", hrec->keys[i],hrec->vals[i]); fprintf(fp, "\n"); } void bcf_header_debug(bcf_hdr_t *hdr) { int i, j; for (i=0; inhrec; i++) { if ( !hdr->hrec[i]->value ) { fprintf(stderr, "##%s=<", hdr->hrec[i]->key); fprintf(stderr,"%s=%s", hdr->hrec[i]->keys[0], hdr->hrec[i]->vals[0]); for (j=1; jhrec[i]->nkeys; j++) fprintf(stderr,",%s=%s", hdr->hrec[i]->keys[j], hdr->hrec[i]->vals[j]); fprintf(stderr,">\n"); } else fprintf(stderr,"##%s=%s\n", hdr->hrec[i]->key,hdr->hrec[i]->value); } } void bcf_hrec_add_key(bcf_hrec_t *hrec, const char *str, int len) { int n = ++hrec->nkeys; hrec->keys = (char**) realloc(hrec->keys, sizeof(char*)*n); hrec->vals = (char**) realloc(hrec->vals, sizeof(char*)*n); assert( len ); hrec->keys[n-1] = (char*) malloc((len+1)*sizeof(char)); memcpy(hrec->keys[n-1],str,len); hrec->keys[n-1][len] = 0; hrec->vals[n-1] = NULL; } void bcf_hrec_set_val(bcf_hrec_t *hrec, int i, const char *str, int len, int is_quoted) { if ( !str ) { hrec->vals[i] = NULL; return; } if ( hrec->vals[i] ) free(hrec->vals[i]); if ( is_quoted ) { hrec->vals[i] = (char*) malloc((len+3)*sizeof(char)); hrec->vals[i][0] = '"'; memcpy(&hrec->vals[i][1],str,len); hrec->vals[i][len+1] = '"'; hrec->vals[i][len+2] = 0; } else { hrec->vals[i] = (char*) malloc((len+1)*sizeof(char)); memcpy(hrec->vals[i],str,len); hrec->vals[i][len] = 0; } } void hrec_add_idx(bcf_hrec_t *hrec, int idx) { int n = ++hrec->nkeys; hrec->keys = (char**) realloc(hrec->keys, sizeof(char*)*n); hrec->vals = (char**) realloc(hrec->vals, sizeof(char*)*n); hrec->keys[n-1] = strdup("IDX"); kstring_t str = {0,0,0}; kputw(idx, &str); hrec->vals[n-1] = str.s; } int bcf_hrec_find_key(bcf_hrec_t *hrec, const char *key) { int i; for (i=0; inkeys; i++) if ( !strcasecmp(key,hrec->keys[i]) ) return i; return -1; } static inline int is_escaped(const char *min, const char *str) { int n = 0; while ( --str>=min && *str=='\\' ) n++; return n%2; } bcf_hrec_t *bcf_hdr_parse_line(const bcf_hdr_t *h, const char *line, int *len) { const char *p = line; if (p[0] != '#' || p[1] != '#') { *len = 0; return NULL; } p += 2; const char *q = p; while ( *q && *q!='=' ) q++; int n = q-p; if ( *q!='=' || !n ) { *len = q-line+1; return NULL; } // wrong format bcf_hrec_t *hrec = (bcf_hrec_t*) calloc(1,sizeof(bcf_hrec_t)); hrec->key = (char*) malloc(sizeof(char)*(n+1)); memcpy(hrec->key,p,n); hrec->key[n] = 0; p = ++q; if ( *p!='<' ) // generic field, e.g. ##samtoolsVersion=0.1.18-r579 { while ( *q && *q!='\n' ) q++; hrec->value = (char*) malloc((q-p+1)*sizeof(char)); memcpy(hrec->value, p, q-p); hrec->value[q-p] = 0; *len = q-line+1; return hrec; } // structured line, e.g. ##INFO= int nopen = 1; while ( *q && *q!='\n' && nopen ) { p = ++q; while ( *q && isalnum(*q) ) q++; n = q-p; if ( *q!='=' || !n ) { // wrong format while ( *q && *q!='\n' ) q++; kstring_t tmp = {0,0,0}; kputsn(line,q-line,&tmp); fprintf(stderr,"Could not parse the header line: \"%s\"\n", tmp.s); free(tmp.s); *len = q-line+1; bcf_hrec_destroy(hrec); return NULL; } bcf_hrec_add_key(hrec, p, q-p); p = ++q; int quoted = *p=='"' ? 1 : 0; if ( quoted ) p++, q++; while (1) { if ( !*q ) break; if ( quoted ) { if ( *q=='"' && !is_escaped(p,q) ) break; } else { if ( *q=='<' ) nopen++; if ( *q=='>' ) nopen--; if ( !nopen ) break; if ( *q==',' && nopen==1 ) break; } q++; } bcf_hrec_set_val(hrec, hrec->nkeys-1, p, q-p, quoted); if ( quoted ) q++; if ( *q=='>' ) { nopen--; q++; } } *len = q-line+1; return hrec; } // returns: 1 when hdr needs to be synced, 0 otherwise int bcf_hdr_register_hrec(bcf_hdr_t *hdr, bcf_hrec_t *hrec) { // contig int i,j,k, ret; char *str; if ( !strcmp(hrec->key, "contig") ) { hrec->type = BCF_HL_CTG; // Get the contig ID ($str) and length ($j) i = bcf_hrec_find_key(hrec,"length"); if ( i<0 ) j = 0; else if ( sscanf(hrec->vals[i],"%d",&j)!=1 ) return 0; i = bcf_hrec_find_key(hrec,"ID"); if ( i<0 ) return 0; str = strdup(hrec->vals[i]); // Register in the dictionary vdict_t *d = (vdict_t*)hdr->dict[BCF_DT_CTG]; k = kh_put(vdict, d, str, &ret); if ( !ret ) { free(str); return 0; } // already present int idx = bcf_hrec_find_key(hrec,"IDX"); if ( idx!=-1 ) { char *tmp = hrec->vals[idx]; idx = strtol(hrec->vals[idx], &tmp, 10); if ( *tmp ) { fprintf(stderr,"[%s:%d %s] Error parsing the IDX tag, skipping.\n", __FILE__,__LINE__,__FUNCTION__); return 0; } } else { idx = kh_size(d) - 1; hrec_add_idx(hrec, idx); } kh_val(d, k) = bcf_idinfo_def; kh_val(d, k).id = idx; kh_val(d, k).info[0] = j; kh_val(d, k).hrec[0] = hrec; return 1; } if ( !strcmp(hrec->key, "INFO") ) hrec->type = BCF_HL_INFO; else if ( !strcmp(hrec->key, "FILTER") ) hrec->type = BCF_HL_FLT; else if ( !strcmp(hrec->key, "FORMAT") ) hrec->type = BCF_HL_FMT; else if ( hrec->nkeys>0 ) { hrec->type = BCF_HL_STR; return 1; } else return 0; // INFO/FILTER/FORMAT char *id = NULL; int type = -1, num = -1, var = -1, idx = -1; for (i=0; inkeys; i++) { if ( !strcmp(hrec->keys[i], "ID") ) id = hrec->vals[i]; else if ( !strcmp(hrec->keys[i], "IDX") ) { char *tmp = hrec->vals[i]; idx = strtol(hrec->vals[i], &tmp, 10); if ( *tmp ) { fprintf(stderr,"[%s:%d %s] Error parsing the IDX tag, skipping.\n", __FILE__,__LINE__,__FUNCTION__); return 0; } } else if ( !strcmp(hrec->keys[i], "Type") ) { if ( !strcmp(hrec->vals[i], "Integer") ) type = BCF_HT_INT; else if ( !strcmp(hrec->vals[i], "Float") ) type = BCF_HT_REAL; else if ( !strcmp(hrec->vals[i], "String") ) type = BCF_HT_STR; else if ( !strcmp(hrec->vals[i], "Character") ) type = BCF_HT_STR; else if ( !strcmp(hrec->vals[i], "Flag") ) type = BCF_HT_FLAG; else { fprintf(stderr, "[E::%s] The type \"%s\" not supported, assuming \"String\"\n", __func__, hrec->vals[i]); type = BCF_HT_STR; } } else if ( !strcmp(hrec->keys[i], "Number") ) { if ( !strcmp(hrec->vals[i],"A") ) var = BCF_VL_A; else if ( !strcmp(hrec->vals[i],"R") ) var = BCF_VL_R; else if ( !strcmp(hrec->vals[i],"G") ) var = BCF_VL_G; else if ( !strcmp(hrec->vals[i],".") ) var = BCF_VL_VAR; else { sscanf(hrec->vals[i],"%d",&num); var = BCF_VL_FIXED; } if (var != BCF_VL_FIXED) num = 0xfffff; } } uint32_t info = (uint32_t)num<<12 | var<<8 | type<<4 | hrec->type; if ( !id ) return 0; str = strdup(id); vdict_t *d = (vdict_t*)hdr->dict[BCF_DT_ID]; k = kh_put(vdict, d, str, &ret); if ( !ret ) { // already present free(str); if ( kh_val(d, k).hrec[info&0xf] ) return 0; kh_val(d, k).info[info&0xf] = info; kh_val(d, k).hrec[info&0xf] = hrec; if ( idx==-1 ) hrec_add_idx(hrec, kh_val(d, k).id); return 1; } kh_val(d, k) = bcf_idinfo_def; kh_val(d, k).info[info&0xf] = info; kh_val(d, k).hrec[info&0xf] = hrec; kh_val(d, k).id = idx==-1 ? kh_size(d) - 1 : idx; if ( idx==-1 ) hrec_add_idx(hrec, kh_val(d, k).id); return 1; } int bcf_hdr_add_hrec(bcf_hdr_t *hdr, bcf_hrec_t *hrec) { if ( !hrec ) return 0; hrec->type = BCF_HL_GEN; if ( !bcf_hdr_register_hrec(hdr,hrec) ) { // If one of the hashed field, then it is already present if ( hrec->type != BCF_HL_GEN ) { bcf_hrec_destroy(hrec); return 0; } // Is one of the generic fields and already present? int i; for (i=0; inhrec; i++) { if ( hdr->hrec[i]->type!=BCF_HL_GEN ) continue; if ( !strcmp(hdr->hrec[i]->key,hrec->key) && !strcmp(hrec->key,"fileformat") ) break; if ( !strcmp(hdr->hrec[i]->key,hrec->key) && !strcmp(hdr->hrec[i]->value,hrec->value) ) break; } if ( inhrec ) { bcf_hrec_destroy(hrec); return 0; } } // New record, needs to be added int n = ++hdr->nhrec; hdr->hrec = (bcf_hrec_t**) realloc(hdr->hrec, n*sizeof(bcf_hrec_t*)); hdr->hrec[n-1] = hrec; hdr->dirty = 1; return hrec->type==BCF_HL_GEN ? 0 : 1; } /* * Note that while querying of FLT,INFO,FMT,CTG lines is fast (the keys are hashed), * the STR,GEN lines are searched for linearly in a linked list of all header lines. * This may become a problem for VCFs with huge headers, we might need to build a * dictionary for these lines as well. */ bcf_hrec_t *bcf_hdr_get_hrec(const bcf_hdr_t *hdr, int type, const char *key, const char *value, const char *str_class) { int i; if ( type==BCF_HL_GEN ) { for (i=0; inhrec; i++) { if ( hdr->hrec[i]->type!=type ) continue; if ( strcmp(hdr->hrec[i]->key,key) ) continue; if ( !value || !strcmp(hdr->hrec[i]->value,value) ) return hdr->hrec[i]; } return NULL; } else if ( type==BCF_HL_STR ) { for (i=0; inhrec; i++) { if ( hdr->hrec[i]->type!=type ) continue; if ( strcmp(hdr->hrec[i]->key,str_class) ) continue; int j = bcf_hrec_find_key(hdr->hrec[i],key); if ( j>=0 && !strcmp(hdr->hrec[i]->vals[j],value) ) return hdr->hrec[i]; } return NULL; } vdict_t *d = type==BCF_HL_CTG ? (vdict_t*)hdr->dict[BCF_DT_CTG] : (vdict_t*)hdr->dict[BCF_DT_ID]; khint_t k = kh_get(vdict, d, value); if ( k == kh_end(d) ) return NULL; return kh_val(d, k).hrec[type==BCF_HL_CTG?0:type]; } void bcf_hdr_check_sanity(bcf_hdr_t *hdr) { static int PL_warned = 0, GL_warned = 0; if ( !PL_warned ) { int id = bcf_hdr_id2int(hdr, BCF_DT_ID, "PL"); if ( bcf_hdr_idinfo_exists(hdr,BCF_HL_FMT,id) && bcf_hdr_id2length(hdr,BCF_HL_FMT,id)!=BCF_VL_G ) { fprintf(stderr,"[W::%s] PL should be declared as Number=G\n", __func__); PL_warned = 1; } } if ( !GL_warned ) { int id = bcf_hdr_id2int(hdr, BCF_HL_FMT, "GL"); if ( bcf_hdr_idinfo_exists(hdr,BCF_HL_FMT,id) && bcf_hdr_id2length(hdr,BCF_HL_FMT,id)!=BCF_VL_G ) { fprintf(stderr,"[W::%s] GL should be declared as Number=G\n", __func__); PL_warned = 1; } } } int bcf_hdr_parse(bcf_hdr_t *hdr, char *htxt) { int len, needs_sync = 0; char *p = htxt; // Check sanity: "fileformat" string must come as first bcf_hrec_t *hrec = bcf_hdr_parse_line(hdr,p,&len); if ( !hrec || !hrec->key || strcasecmp(hrec->key,"fileformat") ) fprintf(stderr, "[W::%s] The first line should be ##fileformat; is the VCF/BCF header broken?\n", __func__); needs_sync += bcf_hdr_add_hrec(hdr, hrec); // The filter PASS must appear first in the dictionary hrec = bcf_hdr_parse_line(hdr,"##FILTER=",&len); needs_sync += bcf_hdr_add_hrec(hdr, hrec); // Parse the whole header while ( (hrec=bcf_hdr_parse_line(hdr,p,&len)) ) { needs_sync += bcf_hdr_add_hrec(hdr, hrec); p += len; } int ret = bcf_hdr_parse_sample_line(hdr,p); bcf_hdr_sync(hdr); bcf_hdr_check_sanity(hdr); return ret; } int bcf_hdr_append(bcf_hdr_t *hdr, const char *line) { int len; bcf_hrec_t *hrec = bcf_hdr_parse_line(hdr, (char*) line, &len); if ( !hrec ) return -1; bcf_hdr_add_hrec(hdr, hrec); return 0; } void bcf_hdr_remove(bcf_hdr_t *hdr, int type, const char *key) { int i; bcf_hrec_t *hrec; while (1) { if ( type==BCF_HL_FLT || type==BCF_HL_INFO || type==BCF_HL_FMT || type== BCF_HL_CTG ) { hrec = bcf_hdr_get_hrec(hdr, type, "ID", key, NULL); if ( !hrec ) return; for (i=0; inhrec; i++) if ( hdr->hrec[i]==hrec ) break; assert( inhrec ); vdict_t *d = type==BCF_HL_CTG ? (vdict_t*)hdr->dict[BCF_DT_CTG] : (vdict_t*)hdr->dict[BCF_DT_ID]; khint_t k = kh_get(vdict, d, key); kh_val(d, k).hrec[type==BCF_HL_CTG?0:type] = NULL; } else { for (i=0; inhrec; i++) { if ( hdr->hrec[i]->type!=type ) continue; if ( type==BCF_HL_GEN ) { if ( !strcmp(hdr->hrec[i]->key,key) ) break; } else { // not all structured lines have ID, we could be more sophisticated as in bcf_hdr_get_hrec() int j = bcf_hrec_find_key(hdr->hrec[i], "ID"); if ( j>=0 && !strcmp(hdr->hrec[i]->vals[j],key) ) break; } } if ( i==hdr->nhrec ) return; hrec = hdr->hrec[i]; } hdr->nhrec--; if ( i < hdr->nhrec ) memmove(&hdr->hrec[i],&hdr->hrec[i+1],(hdr->nhrec-i)*sizeof(bcf_hrec_t*)); bcf_hrec_destroy(hrec); hdr->dirty = 1; } } int bcf_hdr_printf(bcf_hdr_t *hdr, const char *fmt, ...) { va_list ap; va_start(ap, fmt); int n = vsnprintf(NULL, 0, fmt, ap) + 2; va_end(ap); char *line = (char*)malloc(n); va_start(ap, fmt); vsnprintf(line, n, fmt, ap); va_end(ap); int ret = bcf_hdr_append(hdr, line); free(line); return ret; } /********************** *** BCF header I/O *** **********************/ const char *bcf_hdr_get_version(const bcf_hdr_t *hdr) { bcf_hrec_t *hrec = bcf_hdr_get_hrec(hdr, BCF_HL_GEN, "fileformat", NULL, NULL); if ( !hrec ) { fprintf(stderr,"No version string found, assuming VCFv4.2\n"); return "VCFv4.2"; } return hrec->value; } void bcf_hdr_set_version(bcf_hdr_t *hdr, const char *version) { bcf_hrec_t *hrec = bcf_hdr_get_hrec(hdr, BCF_HL_GEN, "fileformat", NULL, NULL); if ( !hrec ) { int len; kstring_t str = {0,0,0}; ksprintf(&str,"##fileformat=%s", version); hrec = bcf_hdr_parse_line(hdr, str.s, &len); free(str.s); } else { free(hrec->value); hrec->value = strdup(version); } hdr->dirty = 1; } bcf_hdr_t *bcf_hdr_init(const char *mode) { int i; bcf_hdr_t *h; h = (bcf_hdr_t*)calloc(1, sizeof(bcf_hdr_t)); for (i = 0; i < 3; ++i) h->dict[i] = kh_init(vdict); if ( strchr(mode,'w') ) { bcf_hdr_append(h, "##fileformat=VCFv4.2"); // The filter PASS must appear first in the dictionary bcf_hdr_append(h, "##FILTER="); } return h; } void bcf_hdr_destroy(bcf_hdr_t *h) { int i; khint_t k; for (i = 0; i < 3; ++i) { vdict_t *d = (vdict_t*)h->dict[i]; if (d == 0) continue; for (k = kh_begin(d); k != kh_end(d); ++k) if (kh_exist(d, k)) free((char*)kh_key(d, k)); kh_destroy(vdict, d); free(h->id[i]); } for (i=0; inhrec; i++) bcf_hrec_destroy(h->hrec[i]); if (h->nhrec) free(h->hrec); if (h->samples) free(h->samples); free(h->keep_samples); free(h->transl[0]); free(h->transl[1]); free(h->mem.s); free(h); } bcf_hdr_t *bcf_hdr_read(htsFile *hfp) { if (hfp->format.format == vcf) return vcf_hdr_read(hfp); BGZF *fp = hfp->fp.bgzf; uint8_t magic[5]; bcf_hdr_t *h; h = bcf_hdr_init("r"); if ( bgzf_read(fp, magic, 5)<0 ) { fprintf(stderr,"[%s:%d %s] Failed to read the header (reading BCF in text mode?)\n", __FILE__,__LINE__,__FUNCTION__); return NULL; } if (strncmp((char*)magic, "BCF\2\2", 5) != 0) { if (!strncmp((char*)magic, "BCF", 3)) fprintf(stderr,"[%s:%d %s] invalid BCF2 magic string: only BCFv2.2 is supported.\n", __FILE__,__LINE__,__FUNCTION__); else if (hts_verbose >= 2) fprintf(stderr, "[E::%s] invalid BCF2 magic string\n", __func__); bcf_hdr_destroy(h); return 0; } int hlen; char *htxt; bgzf_read(fp, &hlen, 4); htxt = (char*)malloc(hlen); bgzf_read(fp, htxt, hlen); bcf_hdr_parse(h, htxt); free(htxt); return h; } int bcf_hdr_write(htsFile *hfp, bcf_hdr_t *h) { if ( h->dirty ) bcf_hdr_sync(h); if (hfp->format.format == vcf || hfp->format.format == text_format) return vcf_hdr_write(hfp, h); int hlen; char *htxt = bcf_hdr_fmt_text(h, 1, &hlen); hlen++; // include the \0 byte BGZF *fp = hfp->fp.bgzf; if ( bgzf_write(fp, "BCF\2\2", 5) !=5 ) return -1; if ( bgzf_write(fp, &hlen, 4) !=4 ) return -1; if ( bgzf_write(fp, htxt, hlen) != hlen ) return -1; free(htxt); return 0; } /******************** *** BCF site I/O *** ********************/ bcf1_t *bcf_init1() { bcf1_t *v; v = (bcf1_t*)calloc(1, sizeof(bcf1_t)); return v; } void bcf_clear(bcf1_t *v) { int i; for (i=0; id.m_info; i++) { if ( v->d.info[i].vptr_free ) { free(v->d.info[i].vptr - v->d.info[i].vptr_off); v->d.info[i].vptr_free = 0; } } for (i=0; id.m_fmt; i++) { if ( v->d.fmt[i].p_free ) { free(v->d.fmt[i].p - v->d.fmt[i].p_off); v->d.fmt[i].p_free = 0; } } v->rid = v->pos = v->rlen = v->unpacked = 0; bcf_float_set_missing(v->qual); v->n_info = v->n_allele = v->n_fmt = v->n_sample = 0; v->shared.l = v->indiv.l = 0; v->d.var_type = -1; v->d.shared_dirty = 0; v->d.indiv_dirty = 0; v->d.n_flt = 0; v->errcode = 0; if (v->d.m_als) v->d.als[0] = 0; if (v->d.m_id) v->d.id[0] = 0; } void bcf_empty1(bcf1_t *v) { bcf_clear1(v); free(v->d.id); free(v->d.als); free(v->d.allele); free(v->d.flt); free(v->d.info); free(v->d.fmt); if (v->d.var ) free(v->d.var); free(v->shared.s); free(v->indiv.s); } void bcf_destroy1(bcf1_t *v) { bcf_empty1(v); free(v); } static inline int bcf_read1_core(BGZF *fp, bcf1_t *v) { uint32_t x[8]; int ret; if ((ret = bgzf_read(fp, x, 32)) != 32) { if (ret == 0) return -1; return -2; } bcf_clear1(v); x[0] -= 24; // to exclude six 32-bit integers ks_resize(&v->shared, x[0]); ks_resize(&v->indiv, x[1]); memcpy(v, x + 2, 16); v->n_allele = x[6]>>16; v->n_info = x[6]&0xffff; v->n_fmt = x[7]>>24; v->n_sample = x[7]&0xffffff; v->shared.l = x[0], v->indiv.l = x[1]; // silent fix of broken BCFs produced by earlier versions of bcf_subset, prior to and including bd6ed8b4 if ( (!v->indiv.l || !v->n_sample) && v->n_fmt ) v->n_fmt = 0; bgzf_read(fp, v->shared.s, v->shared.l); bgzf_read(fp, v->indiv.s, v->indiv.l); return 0; } #define bit_array_size(n) ((n)/8+1) #define bit_array_set(a,i) ((a)[(i)/8] |= 1 << ((i)%8)) #define bit_array_clear(a,i) ((a)[(i)/8] &= ~(1 << ((i)%8))) #define bit_array_test(a,i) ((a)[(i)/8] & (1 << ((i)%8))) static inline uint8_t *bcf_unpack_fmt_core1(uint8_t *ptr, int n_sample, bcf_fmt_t *fmt); int bcf_subset_format(const bcf_hdr_t *hdr, bcf1_t *rec) { if ( !hdr->keep_samples ) return 0; if ( !bcf_hdr_nsamples(hdr) ) { rec->indiv.l = rec->n_sample = 0; return 0; } int i, j; uint8_t *ptr = (uint8_t*)rec->indiv.s, *dst = NULL, *src; bcf_dec_t *dec = &rec->d; hts_expand(bcf_fmt_t, rec->n_fmt, dec->m_fmt, dec->fmt); for (i=0; im_fmt; ++i) dec->fmt[i].p_free = 0; for (i=0; in_fmt; i++) { ptr = bcf_unpack_fmt_core1(ptr, rec->n_sample, &dec->fmt[i]); src = dec->fmt[i].p - dec->fmt[i].size; if ( dst ) { memmove(dec->fmt[i-1].p + dec->fmt[i-1].p_len, dec->fmt[i].p - dec->fmt[i].p_off, dec->fmt[i].p_off); dec->fmt[i].p = dec->fmt[i-1].p + dec->fmt[i-1].p_len + dec->fmt[i].p_off; } dst = dec->fmt[i].p; for (j=0; jnsamples_ori; j++) { src += dec->fmt[i].size; if ( !bit_array_test(hdr->keep_samples,j) ) continue; memmove(dst, src, dec->fmt[i].size); dst += dec->fmt[i].size; } rec->indiv.l -= dec->fmt[i].p_len - (dst - dec->fmt[i].p); dec->fmt[i].p_len = dst - dec->fmt[i].p; } rec->unpacked |= BCF_UN_FMT; rec->n_sample = bcf_hdr_nsamples(hdr); return 0; } int bcf_read(htsFile *fp, const bcf_hdr_t *h, bcf1_t *v) { if (fp->format.format == vcf) return vcf_read(fp,h,v); int ret = bcf_read1_core(fp->fp.bgzf, v); if ( ret!=0 || !h->keep_samples ) return ret; return bcf_subset_format(h,v); } int bcf_readrec(BGZF *fp, void *null, void *vv, int *tid, int *beg, int *end) { bcf1_t *v = (bcf1_t *) vv; int ret; if ((ret = bcf_read1_core(fp, v)) >= 0) *tid = v->rid, *beg = v->pos, *end = v->pos + v->rlen; return ret; } static inline void bcf1_sync_id(bcf1_t *line, kstring_t *str) { // single typed string if ( line->d.id && strcmp(line->d.id, ".") ) bcf_enc_vchar(str, strlen(line->d.id), line->d.id); else bcf_enc_size(str, 0, BCF_BT_CHAR); } static inline void bcf1_sync_alleles(bcf1_t *line, kstring_t *str) { // list of typed strings int i; for (i=0; in_allele; i++) bcf_enc_vchar(str, strlen(line->d.allele[i]), line->d.allele[i]); if ( !line->rlen && line->n_allele ) line->rlen = strlen(line->d.allele[0]); } static inline void bcf1_sync_filter(bcf1_t *line, kstring_t *str) { // typed vector of integers if ( line->d.n_flt ) bcf_enc_vint(str, line->d.n_flt, line->d.flt, -1); else bcf_enc_vint(str, 0, 0, -1); } static inline void bcf1_sync_info(bcf1_t *line, kstring_t *str) { // pairs of typed vectors int i, irm = -1; for (i=0; in_info; i++) { bcf_info_t *info = &line->d.info[i]; if ( !info->vptr ) { // marked for removal if ( irm < 0 ) irm = i; continue; } kputsn_(info->vptr - info->vptr_off, info->vptr_len + info->vptr_off, str); if ( irm >=0 ) { bcf_info_t tmp = line->d.info[irm]; line->d.info[irm] = line->d.info[i]; line->d.info[i] = tmp; while ( irm<=i && line->d.info[irm].vptr ) irm++; } } if ( irm>=0 ) line->n_info = irm; } static int bcf1_sync(bcf1_t *line) { char *shared_ori = line->shared.s; size_t prev_len; kstring_t tmp = {0,0,0}; if ( !line->shared.l ) { // New line created via API, BCF data blocks do not exist. Get it ready for BCF output tmp = line->shared; bcf1_sync_id(line, &tmp); line->unpack_size[0] = tmp.l; prev_len = tmp.l; bcf1_sync_alleles(line, &tmp); line->unpack_size[1] = tmp.l - prev_len; prev_len = tmp.l; bcf1_sync_filter(line, &tmp); line->unpack_size[2] = tmp.l - prev_len; bcf1_sync_info(line, &tmp); line->shared = tmp; } else if ( line->d.shared_dirty ) { // The line was edited, update the BCF data block, ptr_ori points // to the original unchanged BCF data. uint8_t *ptr_ori = (uint8_t *) line->shared.s; assert( line->unpacked & BCF_UN_STR ); // ID: single typed string if ( line->d.shared_dirty & BCF1_DIRTY_ID ) bcf1_sync_id(line, &tmp); else kputsn_(ptr_ori, line->unpack_size[0], &tmp); ptr_ori += line->unpack_size[0]; line->unpack_size[0] = tmp.l; prev_len = tmp.l; // REF+ALT: list of typed strings if ( line->d.shared_dirty & BCF1_DIRTY_ALS ) bcf1_sync_alleles(line, &tmp); else { kputsn_(ptr_ori, line->unpack_size[1], &tmp); if ( !line->rlen && line->n_allele ) line->rlen = strlen(line->d.allele[0]); } ptr_ori += line->unpack_size[1]; line->unpack_size[1] = tmp.l - prev_len; prev_len = tmp.l; if ( line->unpacked & BCF_UN_FLT ) { // FILTER: typed vector of integers if ( line->d.shared_dirty & BCF1_DIRTY_FLT ) bcf1_sync_filter(line, &tmp); else if ( line->d.n_flt ) kputsn_(ptr_ori, line->unpack_size[2], &tmp); else bcf_enc_vint(&tmp, 0, 0, -1); ptr_ori += line->unpack_size[2]; line->unpack_size[2] = tmp.l - prev_len; if ( line->unpacked & BCF_UN_INFO ) { // INFO: pairs of typed vectors if ( line->d.shared_dirty & BCF1_DIRTY_INF ) { bcf1_sync_info(line, &tmp); ptr_ori = (uint8_t*)line->shared.s + line->shared.l; } } } int size = line->shared.l - (size_t)ptr_ori + (size_t)line->shared.s; if ( size ) kputsn_(ptr_ori, size, &tmp); free(line->shared.s); line->shared = tmp; } if ( line->shared.s != shared_ori && line->unpacked & BCF_UN_INFO ) { // Reallocated line->shared.s block invalidated line->d.info[].vptr pointers size_t off_new = line->unpack_size[0] + line->unpack_size[1] + line->unpack_size[2]; int i; for (i=0; in_info; i++) { uint8_t *vptr_free = line->d.info[i].vptr_free ? line->d.info[i].vptr - line->d.info[i].vptr_off : NULL; line->d.info[i].vptr = (uint8_t*) line->shared.s + off_new + line->d.info[i].vptr_off; off_new += line->d.info[i].vptr_len + line->d.info[i].vptr_off; if ( vptr_free ) { free(vptr_free); line->d.info[i].vptr_free = 0; } } } if ( line->n_sample && line->n_fmt && (!line->indiv.l || line->d.indiv_dirty) ) { // The genotype fields changed or are not present tmp.l = tmp.m = 0; tmp.s = NULL; int i, irm = -1; for (i=0; in_fmt; i++) { bcf_fmt_t *fmt = &line->d.fmt[i]; if ( !fmt->p ) { // marked for removal if ( irm < 0 ) irm = i; continue; } kputsn_(fmt->p - fmt->p_off, fmt->p_len + fmt->p_off, &tmp); if ( irm >=0 ) { bcf_fmt_t tfmt = line->d.fmt[irm]; line->d.fmt[irm] = line->d.fmt[i]; line->d.fmt[i] = tfmt; while ( irm<=i && line->d.fmt[irm].p ) irm++; } } if ( irm>=0 ) line->n_fmt = irm; free(line->indiv.s); line->indiv = tmp; // Reallocated line->indiv.s block invalidated line->d.fmt[].p pointers size_t off_new = 0; for (i=0; in_fmt; i++) { uint8_t *p_free = line->d.fmt[i].p_free ? line->d.fmt[i].p - line->d.fmt[i].p_off : NULL; line->d.fmt[i].p = (uint8_t*) line->indiv.s + off_new + line->d.fmt[i].p_off; off_new += line->d.fmt[i].p_len + line->d.fmt[i].p_off; if ( p_free ) { free(p_free); line->d.fmt[i].p_free = 0; } } } if ( !line->n_sample ) line->n_fmt = 0; line->d.shared_dirty = line->d.indiv_dirty = 0; return 0; } bcf1_t *bcf_copy(bcf1_t *dst, bcf1_t *src) { bcf1_sync(src); bcf_clear(dst); dst->rid = src->rid; dst->pos = src->pos; dst->rlen = src->rlen; dst->qual = src->qual; dst->n_info = src->n_info; dst->n_allele = src->n_allele; dst->n_fmt = src->n_fmt; dst->n_sample = src->n_sample; dst->shared.m = dst->shared.l = src->shared.l; dst->shared.s = (char*) malloc(dst->shared.l); memcpy(dst->shared.s,src->shared.s,dst->shared.l); dst->indiv.m = dst->indiv.l = src->indiv.l; dst->indiv.s = (char*) malloc(dst->indiv.l); memcpy(dst->indiv.s,src->indiv.s,dst->indiv.l); return dst; } bcf1_t *bcf_dup(bcf1_t *src) { bcf1_t *out = bcf_init1(); return bcf_copy(out, src); } int bcf_write(htsFile *hfp, const bcf_hdr_t *h, bcf1_t *v) { if ( h->dirty ) { // we could as well call bcf_hdr_sync here, not sure fprintf(stderr,"FIXME: dirty header not synced\n"); exit(1); } if ( bcf_hdr_nsamples(h)!=v->n_sample ) { fprintf(stderr,"[%s:%d %s] Broken VCF record, the number of columns at %s:%d does not match the number of samples (%d vs %d).\n", __FILE__,__LINE__,__FUNCTION__,bcf_seqname(h,v),v->pos+1, v->n_sample,bcf_hdr_nsamples(h)); return -1; } if ( hfp->format.format == vcf || hfp->format.format == text_format ) return vcf_write(hfp,h,v); if ( v->errcode ) { // vcf_parse1() encountered a new contig or tag, undeclared in the // header. At this point, the header must have been printed, // proceeding would lead to a broken BCF file. Errors must be checked // and cleared by the caller before we can proceed. fprintf(stderr,"[%s:%d %s] Unchecked error (%d), exiting.\n", __FILE__,__LINE__,__FUNCTION__,v->errcode); exit(1); } bcf1_sync(v); // check if the BCF record was modified BGZF *fp = hfp->fp.bgzf; uint32_t x[8]; x[0] = v->shared.l + 24; // to include six 32-bit integers x[1] = v->indiv.l; memcpy(x + 2, v, 16); x[6] = (uint32_t)v->n_allele<<16 | v->n_info; x[7] = (uint32_t)v->n_fmt<<24 | v->n_sample; if ( bgzf_write(fp, x, 32) != 32 ) return -1; if ( bgzf_write(fp, v->shared.s, v->shared.l) != v->shared.l ) return -1; if ( bgzf_write(fp, v->indiv.s, v->indiv.l) != v->indiv.l ) return -1; return 0; } /********************** *** VCF header I/O *** **********************/ bcf_hdr_t *vcf_hdr_read(htsFile *fp) { kstring_t txt, *s = &fp->line; bcf_hdr_t *h; h = bcf_hdr_init("r"); txt.l = txt.m = 0; txt.s = 0; while (hts_getline(fp, KS_SEP_LINE, s) >= 0) { if (s->l == 0) continue; if (s->s[0] != '#') { if (hts_verbose >= 2) fprintf(stderr, "[E::%s] no sample line\n", __func__); free(txt.s); bcf_hdr_destroy(h); return 0; } if (s->s[1] != '#' && fp->fn_aux) { // insert contigs here int dret; gzFile f; kstream_t *ks; kstring_t tmp; tmp.l = tmp.m = 0; tmp.s = 0; f = gzopen(fp->fn_aux, "r"); ks = ks_init(f); while (ks_getuntil(ks, 0, &tmp, &dret) >= 0) { int c; kputs("##contig=\n", 2, &txt); if (dret != '\n') while ((c = ks_getc(ks)) != '\n' && c != -1); // skip the rest of the line } free(tmp.s); ks_destroy(ks); gzclose(f); } kputsn(s->s, s->l, &txt); kputc('\n', &txt); if (s->s[1] != '#') break; } if ( !txt.s ) { fprintf(stderr,"[%s:%d %s] Could not read the header\n", __FILE__,__LINE__,__FUNCTION__); return NULL; } bcf_hdr_parse(h, txt.s); // check tabix index, are all contigs listed in the header? add the missing ones tbx_t *idx = tbx_index_load(fp->fn); if ( idx ) { int i, n, need_sync = 0; const char **names = tbx_seqnames(idx, &n); for (i=0; ikey = strdup("contig"); bcf_hrec_add_key(hrec, "ID", strlen("ID")); bcf_hrec_set_val(hrec, hrec->nkeys-1, (char*) names[i], strlen(names[i]), 0); bcf_hdr_add_hrec(h, hrec); need_sync = 1; } free(names); tbx_destroy(idx); if ( need_sync ) bcf_hdr_sync(h); } free(txt.s); return h; } int bcf_hdr_set(bcf_hdr_t *hdr, const char *fname) { int i, n; char **lines = hts_readlines(fname, &n); if ( !lines ) return 1; for (i=0; ivalue ) { int j, nout = 0; ksprintf(str, "##%s=<", hrec->key); for (j=0; jnkeys; j++) { // do not output IDX if output is VCF if ( !is_bcf && !strcmp("IDX",hrec->keys[j]) ) continue; if ( nout ) kputc(',',str); ksprintf(str,"%s=%s", hrec->keys[j], hrec->vals[j]); nout++; } ksprintf(str,">\n"); } else ksprintf(str,"##%s=%s\n", hrec->key,hrec->value); } void bcf_hrec_format(const bcf_hrec_t *hrec, kstring_t *str) { _bcf_hrec_format(hrec,0,str); } char *bcf_hdr_fmt_text(const bcf_hdr_t *hdr, int is_bcf, int *len) { int i; kstring_t txt = {0,0,0}; for (i=0; inhrec; i++) _bcf_hrec_format(hdr->hrec[i], is_bcf, &txt); ksprintf(&txt,"#CHROM\tPOS\tID\tREF\tALT\tQUAL\tFILTER\tINFO"); if ( bcf_hdr_nsamples(hdr) ) { ksprintf(&txt,"\tFORMAT"); for (i=0; isamples[i]); } ksprintf(&txt,"\n"); if ( len ) *len = txt.l; return txt.s; } const char **bcf_hdr_seqnames(const bcf_hdr_t *h, int *n) { vdict_t *d = (vdict_t*)h->dict[BCF_DT_CTG]; int tid, m = kh_size(d); const char **names = (const char**) calloc(m,sizeof(const char*)); khint_t k; for (k=kh_begin(d); kformat.compression!=no_compression ) ret = bgzf_write(fp->fp.bgzf, htxt, hlen); else ret = hwrite(fp->fp.hfile, htxt, hlen); free(htxt); return ret<0 ? -1 : 0; } /*********************** *** Typed value I/O *** ***********************/ void bcf_enc_vint(kstring_t *s, int n, int32_t *a, int wsize) { int32_t max = INT32_MIN + 1, min = INT32_MAX; int i; if (n == 0) bcf_enc_size(s, 0, BCF_BT_NULL); else if (n == 1) bcf_enc_int1(s, a[0]); else { if (wsize <= 0) wsize = n; for (i = 0; i < n; ++i) { if (a[i] == bcf_int32_missing || a[i] == bcf_int32_vector_end ) continue; if (max < a[i]) max = a[i]; if (min > a[i]) min = a[i]; } if (max <= INT8_MAX && min > bcf_int8_vector_end) { bcf_enc_size(s, wsize, BCF_BT_INT8); for (i = 0; i < n; ++i) if ( a[i]==bcf_int32_vector_end ) kputc(bcf_int8_vector_end, s); else if ( a[i]==bcf_int32_missing ) kputc(bcf_int8_missing, s); else kputc(a[i], s); } else if (max <= INT16_MAX && min > bcf_int16_vector_end) { bcf_enc_size(s, wsize, BCF_BT_INT16); for (i = 0; i < n; ++i) { int16_t x; if ( a[i]==bcf_int32_vector_end ) x = bcf_int16_vector_end; else if ( a[i]==bcf_int32_missing ) x = bcf_int16_missing; else x = a[i]; kputsn((char*)&x, 2, s); } } else { bcf_enc_size(s, wsize, BCF_BT_INT32); for (i = 0; i < n; ++i) { int32_t x = a[i]; kputsn((char*)&x, 4, s); } } } } void bcf_enc_vfloat(kstring_t *s, int n, float *a) { bcf_enc_size(s, n, BCF_BT_FLOAT); kputsn((char*)a, n << 2, s); } void bcf_enc_vchar(kstring_t *s, int l, const char *a) { bcf_enc_size(s, l, BCF_BT_CHAR); kputsn(a, l, s); } void bcf_fmt_array(kstring_t *s, int n, int type, void *data) { int j = 0; if (n == 0) { kputc('.', s); return; } if (type == BCF_BT_CHAR) { char *p = (char*)data; for (j = 0; j < n && *p; ++j, ++p) { if ( *p==bcf_str_missing ) kputc('.', s); else kputc(*p, s); } } else { #define BRANCH(type_t, is_missing, is_vector_end, kprint) { \ type_t *p = (type_t *) data; \ for (j=0; jl&7) { uint64_t zero = 0; int l = ((s->l + 7)>>3<<3) - s->l; kputsn((char*)&zero, l, s); } } // p,q is the start and the end of the FORMAT field int _vcf_parse_format(kstring_t *s, const bcf_hdr_t *h, bcf1_t *v, char *p, char *q) { if ( !bcf_hdr_nsamples(h) ) return 0; char *r, *t; int j, l, m, g; khint_t k; ks_tokaux_t aux1; vdict_t *d = (vdict_t*)h->dict[BCF_DT_ID]; kstring_t *mem = (kstring_t*)&h->mem; mem->l = 0; // count the number of format fields for (r = p, v->n_fmt = 1; *r; ++r) if (*r == ':') ++v->n_fmt; char *end = s->s + s->l; if ( q>=end ) { fprintf(stderr,"[%s:%d %s] Error: FORMAT column with no sample columns starting at %s:%d\n", __FILE__,__LINE__,__FUNCTION__,s->s,v->pos+1); return -1; } fmt_aux_t *fmt = (fmt_aux_t*)alloca(v->n_fmt * sizeof(fmt_aux_t)); // get format information from the dictionary for (j = 0, t = kstrtok(p, ":", &aux1); t; t = kstrtok(0, 0, &aux1), ++j) { *(char*)aux1.p = 0; k = kh_get(vdict, d, t); if (k == kh_end(d) || kh_val(d, k).info[BCF_HL_FMT] == 15) { fprintf(stderr, "[W::%s] FORMAT '%s' is not defined in the header, assuming Type=String\n", __func__, t); kstring_t tmp = {0,0,0}; int l; ksprintf(&tmp, "##FORMAT=", t); bcf_hrec_t *hrec = bcf_hdr_parse_line(h,tmp.s,&l); free(tmp.s); if ( bcf_hdr_add_hrec((bcf_hdr_t*)h, hrec) ) bcf_hdr_sync((bcf_hdr_t*)h); k = kh_get(vdict, d, t); v->errcode = BCF_ERR_TAG_UNDEF; } fmt[j].max_l = fmt[j].max_m = fmt[j].max_g = 0; fmt[j].key = kh_val(d, k).id; fmt[j].is_gt = !strcmp(t, "GT"); fmt[j].y = h->id[0][fmt[j].key].val->info[BCF_HL_FMT]; } // compute max int n_sample_ori = -1; r = q + 1; // r: position in the format string m = l = g = 1, v->n_sample = 0; // m: max vector size, l: max field len, g: max number of alleles while ( rkeep_samples ) { n_sample_ori++; if ( !bit_array_test(h->keep_samples,n_sample_ori) ) { while ( *r!='\t' && r=v->n_fmt ) { fprintf(stderr,"Incorrect number of FORMAT fields at %s:%d\n", h->id[BCF_DT_CTG][v->rid].key,v->pos+1); exit(1); } } else break; } else if ( *r== ',' ) m++; else if ( fmt[j].is_gt && (*r == '|' || *r == '/') ) g++; if ( r>=end ) break; r++; l++; } v->n_sample++; if ( v->n_sample == bcf_hdr_nsamples(h) ) break; r++; } // allocate memory for arrays for (j = 0; j < v->n_fmt; ++j) { fmt_aux_t *f = &fmt[j]; if ( !f->max_m ) f->max_m = 1; // omitted trailing format field if ((f->y>>4&0xf) == BCF_HT_STR) { f->size = f->is_gt? f->max_g << 2 : f->max_l; } else if ((f->y>>4&0xf) == BCF_HT_REAL || (f->y>>4&0xf) == BCF_HT_INT) { f->size = f->max_m << 2; } else { fprintf(stderr, "[E::%s] the format type %d currently not supported\n", __func__, f->y>>4&0xf); abort(); // I do not know how to do with Flag in the genotype fields } align_mem(mem); f->offset = mem->l; ks_resize(mem, mem->l + v->n_sample * f->size); mem->l += v->n_sample * f->size; } for (j = 0; j < v->n_fmt; ++j) fmt[j].buf = (uint8_t*)mem->s + fmt[j].offset; // fill the sample fields; at beginning of the loop, t points to the first char of a format n_sample_ori = -1; t = q + 1; m = 0; // m: sample id while ( tkeep_samples ) { n_sample_ori++; if ( !bit_array_test(h->keep_samples,n_sample_ori) ) { while ( *t && ty>>4&0xf) == BCF_HT_STR) { if (z->is_gt) { // genotypes int32_t is_phased = 0, *x = (int32_t*)(z->buf + z->size * m); for (l = 0;; ++t) { if (*t == '.') ++t, x[l++] = is_phased; else x[l++] = (strtol(t, &t, 10) + 1) << 1 | is_phased; #if THOROUGH_SANITY_CHECKS assert( 0 ); // success of strtol,strtod not checked #endif is_phased = (*t == '|'); if (*t == ':' || *t == 0) break; } if ( !l ) x[l++] = 0; // An empty field, insert missing value for (; l < z->size>>2; ++l) x[l] = bcf_int32_vector_end; } else { char *x = (char*)z->buf + z->size * m; for (r = t, l = 0; *t != ':' && *t; ++t) x[l++] = *t; for (; l < z->size; ++l) x[l] = 0; } } else if ((z->y>>4&0xf) == BCF_HT_INT) { int32_t *x = (int32_t*)(z->buf + z->size * m); for (l = 0;; ++t) { if (*t == '.') x[l++] = bcf_int32_missing, ++t; // ++t to skip "." else x[l++] = strtol(t, &t, 10); if (*t == ':' || *t == 0) break; } if ( !l ) x[l++] = bcf_int32_missing; for (; l < z->size>>2; ++l) x[l] = bcf_int32_vector_end; } else if ((z->y>>4&0xf) == BCF_HT_REAL) { float *x = (float*)(z->buf + z->size * m); for (l = 0;; ++t) { if (*t == '.' && !isdigit(t[1])) bcf_float_set_missing(x[l++]), ++t; // ++t to skip "." else x[l++] = strtod(t, &t); if (*t == ':' || *t == 0) break; } if ( !l ) bcf_float_set_missing(x[l++]); // An empty field, insert missing value for (; l < z->size>>2; ++l) bcf_float_set_vector_end(x[l]); } else abort(); if (*t == 0) { for (++j; j < v->n_fmt; ++j) { // fill end-of-vector values z = &fmt[j]; if ((z->y>>4&0xf) == BCF_HT_STR) { if (z->is_gt) { int32_t *x = (int32_t*)(z->buf + z->size * m); x[0] = bcf_int32_missing; for (l = 1; l < z->size>>2; ++l) x[l] = bcf_int32_vector_end; } else { char *x = (char*)z->buf + z->size * m; if ( z->size ) x[0] = '.'; for (l = 1; l < z->size; ++l) x[l] = 0; } } else if ((z->y>>4&0xf) == BCF_HT_INT) { int32_t *x = (int32_t*)(z->buf + z->size * m); x[0] = bcf_int32_missing; for (l = 1; l < z->size>>2; ++l) x[l] = bcf_int32_vector_end; } else if ((z->y>>4&0xf) == BCF_HT_REAL) { float *x = (float*)(z->buf + z->size * m); bcf_float_set_missing(x[0]); for (l = 1; l < z->size>>2; ++l) bcf_float_set_vector_end(x[l]); } } break; } else { if (*t == ':') ++j; t++; } } m++; t++; } // write individual genotype information kstring_t *str = &v->indiv; int i; if (v->n_sample > 0) { for (i = 0; i < v->n_fmt; ++i) { fmt_aux_t *z = &fmt[i]; bcf_enc_int1(str, z->key); if ((z->y>>4&0xf) == BCF_HT_STR && !z->is_gt) { bcf_enc_size(str, z->size, BCF_BT_CHAR); kputsn((char*)z->buf, z->size * v->n_sample, str); } else if ((z->y>>4&0xf) == BCF_HT_INT || z->is_gt) { bcf_enc_vint(str, (z->size>>2) * v->n_sample, (int32_t*)z->buf, z->size>>2); } else { bcf_enc_size(str, z->size>>2, BCF_BT_FLOAT); kputsn((char*)z->buf, z->size * v->n_sample, str); } } } if ( v->n_sample!=bcf_hdr_nsamples(h) ) { fprintf(stderr,"[%s:%d %s] Number of columns at %s:%d does not match the number of samples (%d vs %d).\n", __FILE__,__LINE__,__FUNCTION__,bcf_seqname(h,v),v->pos+1, v->n_sample,bcf_hdr_nsamples(h)); v->errcode |= BCF_ERR_NCOLS; return -1; } return 0; } int vcf_parse(kstring_t *s, const bcf_hdr_t *h, bcf1_t *v) { int i = 0; char *p, *q, *r, *t; kstring_t *str; khint_t k; ks_tokaux_t aux; bcf_clear1(v); str = &v->shared; memset(&aux, 0, sizeof(ks_tokaux_t)); for (p = kstrtok(s->s, "\t", &aux), i = 0; p; p = kstrtok(0, 0, &aux), ++i) { q = (char*)aux.p; *q = 0; if (i == 0) { // CHROM vdict_t *d = (vdict_t*)h->dict[BCF_DT_CTG]; k = kh_get(vdict, d, p); if (k == kh_end(d)) { // Simple error recovery for chromosomes not defined in the header. It will not help when VCF header has // been already printed, but will enable tools like vcfcheck to proceed. fprintf(stderr, "[W::%s] contig '%s' is not defined in the header. (Quick workaround: index the file with tabix.)\n", __func__, p); kstring_t tmp = {0,0,0}; int l; ksprintf(&tmp, "##contig=", p); bcf_hrec_t *hrec = bcf_hdr_parse_line(h,tmp.s,&l); free(tmp.s); if ( bcf_hdr_add_hrec((bcf_hdr_t*)h, hrec) ) bcf_hdr_sync((bcf_hdr_t*)h); k = kh_get(vdict, d, p); v->errcode = BCF_ERR_CTG_UNDEF; } v->rid = kh_val(d, k).id; } else if (i == 1) { // POS v->pos = atoi(p) - 1; } else if (i == 2) { // ID if (strcmp(p, ".")) bcf_enc_vchar(str, q - p, p); else bcf_enc_size(str, 0, BCF_BT_CHAR); } else if (i == 3) { // REF bcf_enc_vchar(str, q - p, p); v->n_allele = 1, v->rlen = q - p; } else if (i == 4) { // ALT if (strcmp(p, ".")) { for (r = t = p;; ++r) { if (*r == ',' || *r == 0) { bcf_enc_vchar(str, r - t, t); t = r + 1; ++v->n_allele; } if (r == q) break; } } } else if (i == 5) { // QUAL if (strcmp(p, ".")) v->qual = atof(p); else memcpy(&v->qual, &bcf_float_missing, 4); if ( v->max_unpack && !(v->max_unpack>>1) ) return 0; // BCF_UN_STR } else if (i == 6) { // FILTER if (strcmp(p, ".")) { int32_t *a; int n_flt = 1, i; ks_tokaux_t aux1; vdict_t *d = (vdict_t*)h->dict[BCF_DT_ID]; // count the number of filters if (*(q-1) == ';') *(q-1) = 0; for (r = p; *r; ++r) if (*r == ';') ++n_flt; a = (int32_t*)alloca(n_flt * sizeof(int32_t)); // add filters for (t = kstrtok(p, ";", &aux1), i = 0; t; t = kstrtok(0, 0, &aux1)) { *(char*)aux1.p = 0; k = kh_get(vdict, d, t); if (k == kh_end(d)) { // Simple error recovery for FILTERs not defined in the header. It will not help when VCF header has // been already printed, but will enable tools like vcfcheck to proceed. fprintf(stderr, "[W::%s] FILTER '%s' is not defined in the header\n", __func__, t); kstring_t tmp = {0,0,0}; int l; ksprintf(&tmp, "##FILTER=", t); bcf_hrec_t *hrec = bcf_hdr_parse_line(h,tmp.s,&l); free(tmp.s); if ( bcf_hdr_add_hrec((bcf_hdr_t*)h, hrec) ) bcf_hdr_sync((bcf_hdr_t*)h); k = kh_get(vdict, d, t); v->errcode = BCF_ERR_TAG_UNDEF; } a[i++] = kh_val(d, k).id; } n_flt = i; bcf_enc_vint(str, n_flt, a, -1); } else bcf_enc_vint(str, 0, 0, -1); if ( v->max_unpack && !(v->max_unpack>>2) ) return 0; // BCF_UN_FLT } else if (i == 7) { // INFO char *key; vdict_t *d = (vdict_t*)h->dict[BCF_DT_ID]; v->n_info = 0; if (strcmp(p, ".")) { if (*(q-1) == ';') *(q-1) = 0; for (r = key = p;; ++r) { int c; char *val, *end; if (*r != ';' && *r != '=' && *r != 0) continue; val = end = 0; c = *r; *r = 0; if (c == '=') { val = r + 1; for (end = val; *end != ';' && *end != 0; ++end); c = *end; *end = 0; } else end = r; if ( !*key ) { if (c==0) break; r = end; key = r + 1; continue; } // faulty VCF, ";;" in the INFO k = kh_get(vdict, d, key); if (k == kh_end(d) || kh_val(d, k).info[BCF_HL_INFO] == 15) { fprintf(stderr, "[W::%s] INFO '%s' is not defined in the header, assuming Type=String\n", __func__, key); kstring_t tmp = {0,0,0}; int l; ksprintf(&tmp, "##INFO=", key); bcf_hrec_t *hrec = bcf_hdr_parse_line(h,tmp.s,&l); free(tmp.s); if ( bcf_hdr_add_hrec((bcf_hdr_t*)h, hrec) ) bcf_hdr_sync((bcf_hdr_t*)h); k = kh_get(vdict, d, key); v->errcode = BCF_ERR_TAG_UNDEF; } uint32_t y = kh_val(d, k).info[BCF_HL_INFO]; ++v->n_info; bcf_enc_int1(str, kh_val(d, k).id); if (val == 0) { bcf_enc_size(str, 0, BCF_BT_NULL); } else if ((y>>4&0xf) == BCF_HT_FLAG || (y>>4&0xf) == BCF_HT_STR) { // if Flag has a value, treat it as a string bcf_enc_vchar(str, end - val, val); } else { // int/float value/array int i, n_val; char *t, *te; for (t = val, n_val = 1; *t; ++t) // count the number of values if (*t == ',') ++n_val; if ((y>>4&0xf) == BCF_HT_INT) { int32_t *z; z = (int32_t*)alloca(n_val * sizeof(int32_t)); for (i = 0, t = val; i < n_val; ++i, ++t) { z[i] = strtol(t, &te, 10); if ( te==t ) // conversion failed { z[i] = bcf_int32_missing; while ( *te && *te!=',' ) te++; } t = te; } bcf_enc_vint(str, n_val, z, -1); if (strcmp(key, "END") == 0) v->rlen = z[0] - v->pos; } else if ((y>>4&0xf) == BCF_HT_REAL) { float *z; z = (float*)alloca(n_val * sizeof(float)); for (i = 0, t = val; i < n_val; ++i, ++t) { z[i] = strtod(t, &te); if ( te==t ) // conversion failed { bcf_float_set_missing(z[i]); while ( *te && *te!=',' ) te++; } t = te; } bcf_enc_vfloat(str, n_val, z); } } if (c == 0) break; r = end; key = r + 1; } } if ( v->max_unpack && !(v->max_unpack>>3) ) return 0; } else if (i == 8) // FORMAT return _vcf_parse_format(s, h, v, p, q); } return 0; } int vcf_read(htsFile *fp, const bcf_hdr_t *h, bcf1_t *v) { int ret; ret = hts_getline(fp, KS_SEP_LINE, &fp->line); if (ret < 0) return -1; return vcf_parse1(&fp->line, h, v); } static inline uint8_t *bcf_unpack_fmt_core1(uint8_t *ptr, int n_sample, bcf_fmt_t *fmt) { uint8_t *ptr_start = ptr; fmt->id = bcf_dec_typed_int1(ptr, &ptr); fmt->n = bcf_dec_size(ptr, &ptr, &fmt->type); fmt->size = fmt->n << bcf_type_shift[fmt->type]; fmt->p = ptr; fmt->p_off = ptr - ptr_start; fmt->p_free = 0; ptr += n_sample * fmt->size; fmt->p_len = ptr - fmt->p; return ptr; } static inline uint8_t *bcf_unpack_info_core1(uint8_t *ptr, bcf_info_t *info) { uint8_t *ptr_start = ptr; info->key = bcf_dec_typed_int1(ptr, &ptr); info->len = bcf_dec_size(ptr, &ptr, &info->type); info->vptr = ptr; info->vptr_off = ptr - ptr_start; info->vptr_free = 0; info->v1.i = 0; if (info->len == 1) { if (info->type == BCF_BT_INT8 || info->type == BCF_BT_CHAR) info->v1.i = *(int8_t*)ptr; else if (info->type == BCF_BT_INT32) info->v1.i = *(int32_t*)ptr; else if (info->type == BCF_BT_FLOAT) info->v1.f = *(float*)ptr; else if (info->type == BCF_BT_INT16) info->v1.i = *(int16_t*)ptr; } ptr += info->len << bcf_type_shift[info->type]; info->vptr_len = ptr - info->vptr; return ptr; } int bcf_unpack(bcf1_t *b, int which) { if ( !b->shared.l ) return 0; // Building a new BCF record from scratch uint8_t *ptr = (uint8_t*)b->shared.s, *ptr_ori; int *offset, i; bcf_dec_t *d = &b->d; if (which & BCF_UN_FLT) which |= BCF_UN_STR; if (which & BCF_UN_INFO) which |= BCF_UN_SHR; if ((which&BCF_UN_STR) && !(b->unpacked&BCF_UN_STR)) { kstring_t tmp; // ID tmp.l = 0; tmp.s = d->id; tmp.m = d->m_id; ptr_ori = ptr; ptr = bcf_fmt_sized_array(&tmp, ptr); b->unpack_size[0] = ptr - ptr_ori; kputc('\0', &tmp); d->id = tmp.s; d->m_id = tmp.m; // REF and ALT are in a single block (d->als) and d->alleles are pointers into this block tmp.l = 0; tmp.s = d->als; tmp.m = d->m_als; offset = (int*)alloca(b->n_allele * sizeof(int)); ptr_ori = ptr; for (i = 0; i < b->n_allele; ++i) { offset[i] = tmp.l; ptr = bcf_fmt_sized_array(&tmp, ptr); kputc('\0', &tmp); } b->unpack_size[1] = ptr - ptr_ori; d->als = tmp.s; d->m_als = tmp.m; hts_expand(char*, b->n_allele, d->m_allele, d->allele); // NM: hts_expand() is a macro for (i = 0; i < b->n_allele; ++i) d->allele[i] = d->als + offset[i]; b->unpacked |= BCF_UN_STR; } if ((which&BCF_UN_FLT) && !(b->unpacked&BCF_UN_FLT)) { // FILTER ptr = (uint8_t*)b->shared.s + b->unpack_size[0] + b->unpack_size[1]; ptr_ori = ptr; if (*ptr>>4) { int type; d->n_flt = bcf_dec_size(ptr, &ptr, &type); hts_expand(int, d->n_flt, d->m_flt, d->flt); for (i = 0; i < d->n_flt; ++i) d->flt[i] = bcf_dec_int1(ptr, type, &ptr); } else ++ptr, d->n_flt = 0; b->unpack_size[2] = ptr - ptr_ori; b->unpacked |= BCF_UN_FLT; } if ((which&BCF_UN_INFO) && !(b->unpacked&BCF_UN_INFO)) { // INFO ptr = (uint8_t*)b->shared.s + b->unpack_size[0] + b->unpack_size[1] + b->unpack_size[2]; hts_expand(bcf_info_t, b->n_info, d->m_info, d->info); for (i = 0; i < d->m_info; ++i) d->info[i].vptr_free = 0; for (i = 0; i < b->n_info; ++i) ptr = bcf_unpack_info_core1(ptr, &d->info[i]); b->unpacked |= BCF_UN_INFO; } if ((which&BCF_UN_FMT) && b->n_sample && !(b->unpacked&BCF_UN_FMT)) { // FORMAT ptr = (uint8_t*)b->indiv.s; hts_expand(bcf_fmt_t, b->n_fmt, d->m_fmt, d->fmt); for (i = 0; i < d->m_fmt; ++i) d->fmt[i].p_free = 0; for (i = 0; i < b->n_fmt; ++i) ptr = bcf_unpack_fmt_core1(ptr, b->n_sample, &d->fmt[i]); b->unpacked |= BCF_UN_FMT; } return 0; } int vcf_format(const bcf_hdr_t *h, const bcf1_t *v, kstring_t *s) { int i; bcf_unpack((bcf1_t*)v, BCF_UN_ALL); kputs(h->id[BCF_DT_CTG][v->rid].key, s); // CHROM kputc('\t', s); kputw(v->pos + 1, s); // POS kputc('\t', s); kputs(v->d.id ? v->d.id : ".", s); // ID kputc('\t', s); // REF if (v->n_allele > 0) kputs(v->d.allele[0], s); else kputc('.', s); kputc('\t', s); // ALT if (v->n_allele > 1) { for (i = 1; i < v->n_allele; ++i) { if (i > 1) kputc(',', s); kputs(v->d.allele[i], s); } } else kputc('.', s); kputc('\t', s); // QUAL if ( bcf_float_is_missing(v->qual) ) kputc('.', s); // QUAL else ksprintf(s, "%g", v->qual); kputc('\t', s); // FILTER if (v->d.n_flt) { for (i = 0; i < v->d.n_flt; ++i) { if (i) kputc(';', s); kputs(h->id[BCF_DT_ID][v->d.flt[i]].key, s); } } else kputc('.', s); kputc('\t', s); // INFO if (v->n_info) { int first = 1; for (i = 0; i < v->n_info; ++i) { bcf_info_t *z = &v->d.info[i]; if ( !z->vptr ) continue; if ( !first ) kputc(';', s); first = 0; kputs(h->id[BCF_DT_ID][z->key].key, s); if (z->len <= 0) continue; kputc('=', s); if (z->len == 1) { switch (z->type) { case BCF_BT_INT8: if ( z->v1.i==bcf_int8_missing ) kputc('.', s); else kputw(z->v1.i, s); break; case BCF_BT_INT16: if ( z->v1.i==bcf_int16_missing ) kputc('.', s); else kputw(z->v1.i, s); break; case BCF_BT_INT32: if ( z->v1.i==bcf_int32_missing ) kputc('.', s); else kputw(z->v1.i, s); break; case BCF_BT_FLOAT: if ( bcf_float_is_missing(z->v1.f) ) kputc('.', s); else ksprintf(s, "%g", z->v1.f); break; case BCF_BT_CHAR: kputc(z->v1.i, s); break; default: fprintf(stderr,"todo: type %d\n", z->type); exit(1); break; } } else bcf_fmt_array(s, z->len, z->type, z->vptr); } if ( first ) kputc('.', s); } else kputc('.', s); // FORMAT and individual information if (v->n_sample) { int i,j; if ( v->n_fmt) { int gt_i = -1; bcf_fmt_t *fmt = v->d.fmt; int first = 1; for (i = 0; i < (int)v->n_fmt; ++i) { if ( !fmt[i].p ) continue; kputc(!first ? ':' : '\t', s); first = 0; if ( fmt[i].id<0 ) //!bcf_hdr_idinfo_exists(h,BCF_HL_FMT,fmt[i].id) ) { fprintf(stderr, "[E::%s] invalid BCF, the FORMAT tag id=%d not present in the header.\n", __func__, fmt[i].id); abort(); } kputs(h->id[BCF_DT_ID][fmt[i].id].key, s); if (strcmp(h->id[BCF_DT_ID][fmt[i].id].key, "GT") == 0) gt_i = i; } if ( first ) kputs("\t.", s); for (j = 0; j < v->n_sample; ++j) { kputc('\t', s); first = 1; for (i = 0; i < (int)v->n_fmt; ++i) { bcf_fmt_t *f = &fmt[i]; if ( !f->p ) continue; if (!first) kputc(':', s); first = 0; if (gt_i == i) bcf_format_gt(f,j,s); else bcf_fmt_array(s, f->n, f->type, f->p + j * f->size); } if ( first ) kputc('.', s); } } else for (j=0; j<=v->n_sample; j++) kputs("\t.", s); } kputc('\n', s); return 0; } int vcf_write_line(htsFile *fp, kstring_t *line) { int ret; if ( line->s[line->l-1]!='\n' ) kputc('\n',line); if ( fp->format.compression!=no_compression ) ret = bgzf_write(fp->fp.bgzf, line->s, line->l); else ret = hwrite(fp->fp.hfile, line->s, line->l); return ret==line->l ? 0 : -1; } int vcf_write(htsFile *fp, const bcf_hdr_t *h, bcf1_t *v) { int ret; fp->line.l = 0; vcf_format1(h, v, &fp->line); if ( fp->format.compression!=no_compression ) ret = bgzf_write(fp->fp.bgzf, fp->line.s, fp->line.l); else ret = hwrite(fp->fp.hfile, fp->line.s, fp->line.l); return ret==fp->line.l ? 0 : -1; } /************************ * Data access routines * ************************/ int bcf_hdr_id2int(const bcf_hdr_t *h, int which, const char *id) { khint_t k; vdict_t *d = (vdict_t*)h->dict[which]; k = kh_get(vdict, d, id); return k == kh_end(d)? -1 : kh_val(d, k).id; } /******************** *** BCF indexing *** ********************/ hts_idx_t *bcf_index(htsFile *fp, int min_shift) { int n_lvls, i; bcf1_t *b; hts_idx_t *idx; bcf_hdr_t *h; int64_t max_len = 0, s; h = bcf_hdr_read(fp); if ( !h ) return NULL; int nids = 0; for (i = 0; i < h->n[BCF_DT_CTG]; ++i) { if ( !h->id[BCF_DT_CTG][i].val ) continue; if ( max_len < h->id[BCF_DT_CTG][i].val->info[0] ) max_len = h->id[BCF_DT_CTG][i].val->info[0]; nids++; } if ( !max_len ) max_len = ((int64_t)1<<31) - 1; // In case contig line is broken. max_len += 256; for (n_lvls = 0, s = 1< s; ++n_lvls, s <<= 3); idx = hts_idx_init(nids, HTS_FMT_CSI, bgzf_tell(fp->fp.bgzf), min_shift, n_lvls); b = bcf_init1(); while (bcf_read1(fp,h, b) >= 0) { int ret; ret = hts_idx_push(idx, b->rid, b->pos, b->pos + b->rlen, bgzf_tell(fp->fp.bgzf), 1); if (ret < 0) { bcf_destroy1(b); hts_idx_destroy(idx); return NULL; } } hts_idx_finish(idx, bgzf_tell(fp->fp.bgzf)); bcf_destroy1(b); bcf_hdr_destroy(h); return idx; } int bcf_index_build(const char *fn, int min_shift) { htsFile *fp; hts_idx_t *idx; if ((fp = hts_open(fn, "rb")) == 0) return -1; if ( fp->format.compression!=bgzf ) { hts_close(fp); return -1; } idx = bcf_index(fp, min_shift); hts_close(fp); if ( !idx ) return -1; hts_idx_save(idx, fn, HTS_FMT_CSI); hts_idx_destroy(idx); return 0; } /***************** *** Utilities *** *****************/ int bcf_hdr_combine(bcf_hdr_t *dst, const bcf_hdr_t *src) { int i, ndst_ori = dst->nhrec, need_sync = 0, ret = 0; for (i=0; inhrec; i++) { if ( src->hrec[i]->type==BCF_HL_GEN && src->hrec[i]->value ) { int j; for (j=0; jhrec[j]->type!=BCF_HL_GEN ) continue; // Checking only the key part of generic lines, otherwise // the VCFs are too verbose. Should we perhaps add a flag // to bcf_hdr_combine() and make this optional? if ( !strcmp(src->hrec[i]->key,dst->hrec[j]->key) ) break; } if ( j>=ndst_ori ) need_sync += bcf_hdr_add_hrec(dst, bcf_hrec_dup(src->hrec[i])); } else if ( src->hrec[i]->type==BCF_HL_STR ) { // NB: we are ignoring fields without ID int j = bcf_hrec_find_key(src->hrec[i],"ID"); if ( j>=0 ) { bcf_hrec_t *rec = bcf_hdr_get_hrec(dst, src->hrec[i]->type, "ID", src->hrec[i]->vals[j], src->hrec[i]->key); if ( !rec ) need_sync += bcf_hdr_add_hrec(dst, bcf_hrec_dup(src->hrec[i])); } } else { int j = bcf_hrec_find_key(src->hrec[i],"ID"); assert( j>=0 ); // this should always be true for valid VCFs bcf_hrec_t *rec = bcf_hdr_get_hrec(dst, src->hrec[i]->type, "ID", src->hrec[i]->vals[j], NULL); if ( !rec ) need_sync += bcf_hdr_add_hrec(dst, bcf_hrec_dup(src->hrec[i])); else if ( src->hrec[i]->type==BCF_HL_INFO || src->hrec[i]->type==BCF_HL_FMT ) { // Check that both records are of the same type. The bcf_hdr_id2length // macro cannot be used here because dst header is not synced yet. vdict_t *d_src = (vdict_t*)src->dict[BCF_DT_ID]; vdict_t *d_dst = (vdict_t*)dst->dict[BCF_DT_ID]; khint_t k_src = kh_get(vdict, d_src, src->hrec[i]->vals[0]); khint_t k_dst = kh_get(vdict, d_dst, src->hrec[i]->vals[0]); if ( (kh_val(d_src,k_src).info[rec->type]>>8 & 0xf) != (kh_val(d_dst,k_dst).info[rec->type]>>8 & 0xf) ) { fprintf(stderr,"Warning: trying to combine \"%s\" tag definitions of different lengths\n", src->hrec[i]->vals[0]); ret |= 1; } if ( (kh_val(d_src,k_src).info[rec->type]>>4 & 0xf) != (kh_val(d_dst,k_dst).info[rec->type]>>4 & 0xf) ) { fprintf(stderr,"Warning: trying to combine \"%s\" tag definitions of different types\n", src->hrec[i]->vals[0]); ret |= 1; } } } } if ( need_sync ) bcf_hdr_sync(dst); return ret; } int bcf_translate(const bcf_hdr_t *dst_hdr, bcf_hdr_t *src_hdr, bcf1_t *line) { int i; if ( line->errcode ) { fprintf(stderr,"[%s:%d %s] Unchecked error (%d), exiting.\n", __FILE__,__LINE__,__FUNCTION__,line->errcode); exit(1); } if ( src_hdr->ntransl==-1 ) return 0; // no need to translate, all tags have the same id if ( !src_hdr->ntransl ) // called for the first time, see what needs translating { int dict; for (dict=0; dict<2; dict++) // BCF_DT_ID and BCF_DT_CTG { src_hdr->transl[dict] = (int*) malloc(src_hdr->n[dict]*sizeof(int)); for (i=0; in[dict]; i++) { if ( !src_hdr->id[dict][i].key || !dst_hdr->id[dict][i].key ) // gap left after removed BCF header lines src_hdr->transl[dict][i] = -1; else if ( i>=dst_hdr->n[dict] || strcmp(src_hdr->id[dict][i].key,dst_hdr->id[dict][i].key) ) { src_hdr->transl[dict][i] = bcf_hdr_id2int(dst_hdr,dict,src_hdr->id[dict][i].key); src_hdr->ntransl++; } else src_hdr->transl[dict][i] = -1; } } if ( !src_hdr->ntransl ) { free(src_hdr->transl[0]); src_hdr->transl[0] = NULL; free(src_hdr->transl[1]); src_hdr->transl[1] = NULL; src_hdr->ntransl = -1; } if ( src_hdr->ntransl==-1 ) return 0; } bcf_unpack(line,BCF_UN_ALL); // CHROM if ( src_hdr->transl[BCF_DT_CTG][line->rid] >=0 ) line->rid = src_hdr->transl[BCF_DT_CTG][line->rid]; // FILTER for (i=0; id.n_flt; i++) { int src_id = line->d.flt[i]; if ( src_hdr->transl[BCF_DT_ID][src_id] >=0 ) line->d.flt[i] = src_hdr->transl[BCF_DT_ID][src_id]; line->d.shared_dirty |= BCF1_DIRTY_FLT; } // INFO for (i=0; in_info; i++) { int src_id = line->d.info[i].key; int dst_id = src_hdr->transl[BCF_DT_ID][src_id]; if ( dst_id<0 ) continue; int src_size = src_id>>7 ? ( src_id>>15 ? BCF_BT_INT32 : BCF_BT_INT16) : BCF_BT_INT8; int dst_size = dst_id>>7 ? ( dst_id>>15 ? BCF_BT_INT32 : BCF_BT_INT16) : BCF_BT_INT8; if ( src_size==dst_size ) // can overwrite { line->d.info[i].key = dst_id; uint8_t *vptr = line->d.info[i].vptr - line->d.info[i].vptr_off; if ( dst_size==BCF_BT_INT8 ) { vptr[1] = (uint8_t)dst_id; } else if ( dst_size==BCF_BT_INT16 ) { *(uint16_t*)vptr = (uint16_t)dst_id; } else { *(uint32_t*)vptr = (uint32_t)dst_id; } } else // must realloc { bcf_info_t *info = &line->d.info[i]; assert( !info->vptr_free ); kstring_t str = {0,0,0}; bcf_enc_int1(&str, dst_id); bcf_enc_size(&str, info->len,info->type); info->vptr_off = str.l; kputsn((char*)info->vptr, info->vptr_len, &str); info->vptr = (uint8_t*)str.s + info->vptr_off; info->vptr_free = 1; info->key = dst_id; line->d.shared_dirty |= BCF1_DIRTY_INF; } } // FORMAT for (i=0; in_fmt; i++) { int src_id = line->d.fmt[i].id; int dst_id = src_hdr->transl[BCF_DT_ID][src_id]; if ( dst_id<0 ) continue; int src_size = src_id>>7 ? ( src_id>>15 ? BCF_BT_INT32 : BCF_BT_INT16) : BCF_BT_INT8; int dst_size = dst_id>>7 ? ( dst_id>>15 ? BCF_BT_INT32 : BCF_BT_INT16) : BCF_BT_INT8; if ( src_size==dst_size ) // can overwrite { line->d.fmt[i].id = dst_id; uint8_t *p = line->d.fmt[i].p - line->d.fmt[i].p_off; // pointer to the vector size (4bits) and BT type (4bits) if ( dst_size==BCF_BT_INT8 ) { p[1] = dst_id; } else if ( dst_size==BCF_BT_INT16 ) { uint8_t *x = (uint8_t*) &dst_id; p[1] = x[0]; p[2] = x[1]; } else { uint8_t *x = (uint8_t*) &dst_id; p[1] = x[0]; p[2] = x[1]; p[3] = x[2]; p[4] = x[3]; } } else // must realloc { bcf_fmt_t *fmt = &line->d.fmt[i]; assert( !fmt->p_free ); kstring_t str = {0,0,0}; bcf_enc_int1(&str, dst_id); bcf_enc_size(&str, fmt->n, fmt->type); fmt->p_off = str.l; kputsn((char*)fmt->p, fmt->p_len, &str); fmt->p = (uint8_t*)str.s + fmt->p_off; fmt->p_free = 1; fmt->id = dst_id; line->d.indiv_dirty = 1; } } return 0; } bcf_hdr_t *bcf_hdr_dup(const bcf_hdr_t *hdr) { bcf_hdr_t *hout = bcf_hdr_init("r"); char *htxt = bcf_hdr_fmt_text(hdr, 1, NULL); bcf_hdr_parse(hout, htxt); free(htxt); return hout; } bcf_hdr_t *bcf_hdr_subset(const bcf_hdr_t *h0, int n, char *const* samples, int *imap) { int hlen; void *names_hash = khash_str2int_init(); char *htxt = bcf_hdr_fmt_text(h0, 1, &hlen); kstring_t str; bcf_hdr_t *h; str.l = str.m = 0; str.s = 0; h = bcf_hdr_init("w"); bcf_hdr_set_version(h,bcf_hdr_get_version(h0)); int j; for (j=0; j 0) { char *p; int i = 0, end = n? 8 : 7; while ((p = strstr(htxt, "#CHROM\t")) != 0) if (p > htxt && *(p-1) == '\n') break; while ((p = strchr(p, '\t')) != 0 && i < end) ++i, ++p; if (i != end) { free(h); free(str.s); return 0; // malformated header } kputsn(htxt, p - htxt, &str); for (i = 0; i < n; ++i) { if ( khash_str2int_has_key(names_hash,samples[i]) ) { fprintf(stderr,"[E::bcf_hdr_subset] Duplicate sample name \"%s\".\n", samples[i]); free(str.s); free(htxt); khash_str2int_destroy(names_hash); bcf_hdr_destroy(h); return NULL; } imap[i] = bcf_hdr_id2int(h0, BCF_DT_SAMPLE, samples[i]); if (imap[i] < 0) continue; kputc('\t', &str); kputs(samples[i], &str); khash_str2int_inc(names_hash,samples[i]); } } else kputsn(htxt, hlen, &str); while (str.l && (!str.s[str.l-1] || str.s[str.l-1]=='\n') ) str.l--; // kill trailing zeros and newlines kputc('\n',&str); bcf_hdr_parse(h, str.s); free(str.s); free(htxt); khash_str2int_destroy(names_hash); return h; } int bcf_hdr_set_samples(bcf_hdr_t *hdr, const char *samples, int is_file) { if ( samples && !strcmp("-",samples) ) return 0; // keep all samples hdr->nsamples_ori = bcf_hdr_nsamples(hdr); if ( !samples ) { bcf_hdr_nsamples(hdr) = 0; return 0; } // exclude all samples int i, narr = bit_array_size(bcf_hdr_nsamples(hdr)); hdr->keep_samples = (uint8_t*) calloc(narr,1); if ( samples[0]=='^' ) for (i=0; ikeep_samples,i); int idx, n, ret = 0; char **smpls = hts_readlist(samples[0]=='^'?samples+1:samples, is_file, &n); if ( !smpls ) return -1; for (i=0; ikeep_samples, idx); else bit_array_set(hdr->keep_samples, idx); } for (i=0; insamples_ori; i++) if ( bit_array_test(hdr->keep_samples,i) ) bcf_hdr_nsamples(hdr)++; if ( !bcf_hdr_nsamples(hdr) ) { free(hdr->keep_samples); hdr->keep_samples=NULL; } else { char **samples = (char**) malloc(sizeof(char*)*bcf_hdr_nsamples(hdr)); idx = 0; for (i=0; insamples_ori; i++) if ( bit_array_test(hdr->keep_samples,i) ) samples[idx++] = strdup(hdr->samples[i]); free(hdr->samples); hdr->samples = samples; // delete original samples from the dictionary vdict_t *d = (vdict_t*)hdr->dict[BCF_DT_SAMPLE]; int k; for (k = kh_begin(d); k != kh_end(d); ++k) if (kh_exist(d, k)) free((char*)kh_key(d, k)); kh_destroy(vdict, d); // add the subset back hdr->dict[BCF_DT_SAMPLE] = d = kh_init(vdict); for (i=0; isamples[i], &ignore); kh_val(d, k) = bcf_idinfo_def; kh_val(d, k).id = kh_size(d) - 1; } bcf_hdr_sync(hdr); } return ret; } int bcf_subset(const bcf_hdr_t *h, bcf1_t *v, int n, int *imap) { kstring_t ind; ind.s = 0; ind.l = ind.m = 0; if (n) { bcf_fmt_t *fmt; int i, j; fmt = (bcf_fmt_t*)alloca(v->n_fmt * sizeof(bcf_fmt_t)); uint8_t *ptr = (uint8_t*)v->indiv.s; for (i = 0; i < v->n_fmt; ++i) ptr = bcf_unpack_fmt_core1(ptr, v->n_sample, &fmt[i]); for (i = 0; i < (int)v->n_fmt; ++i) { bcf_fmt_t *f = &fmt[i]; bcf_enc_int1(&ind, f->id); bcf_enc_size(&ind, f->n, f->type); for (j = 0; j < n; ++j) if (imap[j] >= 0) kputsn((char*)(f->p + imap[j] * f->size), f->size, &ind); } for (i = j = 0; j < n; ++j) if (imap[j] >= 0) ++i; v->n_sample = i; } else v->n_sample = 0; if ( !v->n_sample ) v->n_fmt = 0; free(v->indiv.s); v->indiv = ind; v->unpacked &= ~BCF_UN_FMT; // only BCF is ready for output, VCF will need to unpack again return 0; } int bcf_is_snp(bcf1_t *v) { int i; bcf_unpack(v, BCF_UN_STR); for (i = 0; i < v->n_allele; ++i) { if ( v->d.allele[i][1]==0 ) continue; // mpileup's allele, see also below. This is not completely satisfactory, // a general library is here narrowly tailored to fit samtools. if ( v->d.allele[i][0]=='<' && v->d.allele[i][1]=='X' && v->d.allele[i][2]=='>' ) continue; break; } return i == v->n_allele; } static void bcf_set_variant_type(const char *ref, const char *alt, variant_t *var) { // The most frequent case if ( !ref[1] && !alt[1] ) { if ( *alt == '.' || *ref==*alt ) { var->n = 0; var->type = VCF_REF; return; } if ( *alt == 'X' ) { var->n = 0; var->type = VCF_REF; return; } // mpileup's X allele shouldn't be treated as variant var->n = 1; var->type = VCF_SNP; return; } if ( alt[0]=='<' ) { if ( alt[1]=='X' && alt[2]=='>' ) { var->n = 0; var->type = VCF_REF; return; } // mpileup's X allele shouldn't be treated as variant var->type = VCF_OTHER; return; } const char *r = ref, *a = alt; while (*r && *a && *r==*a ) { r++; a++; } if ( *a && !*r ) { while ( *a ) a++; var->n = (a-alt)-(r-ref); var->type = VCF_INDEL; return; } else if ( *r && !*a ) { while ( *r ) r++; var->n = (a-alt)-(r-ref); var->type = VCF_INDEL; return; } else if ( !*r && !*a ) { var->n = 0; var->type = VCF_REF; return; } const char *re = r, *ae = a; while ( re[1] ) re++; while ( ae[1] ) ae++; while ( *re==*ae && re>r && ae>a ) { re--; ae--; } if ( ae==a ) { if ( re==r ) { var->n = 1; var->type = VCF_SNP; return; } var->n = -(re-r); if ( *re==*ae ) { var->type = VCF_INDEL; return; } var->type = VCF_OTHER; return; } else if ( re==r ) { var->n = ae-a; if ( *re==*ae ) { var->type = VCF_INDEL; return; } var->type = VCF_OTHER; return; } var->type = ( re-r == ae-a ) ? VCF_MNP : VCF_OTHER; var->n = ( re-r > ae-a ) ? -(re-r+1) : ae-a+1; // should do also complex events, SVs, etc... } static void bcf_set_variant_types(bcf1_t *b) { if ( !(b->unpacked & BCF_UN_STR) ) bcf_unpack(b, BCF_UN_STR); bcf_dec_t *d = &b->d; if ( d->n_var < b->n_allele ) { d->var = (variant_t *) realloc(d->var, sizeof(variant_t)*b->n_allele); d->n_var = b->n_allele; } int i; b->d.var_type = 0; for (i=1; in_allele; i++) { bcf_set_variant_type(d->allele[0],d->allele[i], &d->var[i]); b->d.var_type |= d->var[i].type; //fprintf(stderr,"[set_variant_type] %d %s %s -> %d %d .. %d\n", b->pos+1,d->allele[0],d->allele[i],d->var[i].type,d->var[i].n, b->d.var_type); } } int bcf_get_variant_types(bcf1_t *rec) { if ( rec->d.var_type==-1 ) bcf_set_variant_types(rec); return rec->d.var_type; } int bcf_get_variant_type(bcf1_t *rec, int ith_allele) { if ( rec->d.var_type==-1 ) bcf_set_variant_types(rec); return rec->d.var[ith_allele].type; } int bcf_update_info(const bcf_hdr_t *hdr, bcf1_t *line, const char *key, const void *values, int n, int type) { // Is the field already present? int i, inf_id = bcf_hdr_id2int(hdr,BCF_DT_ID,key); if ( !bcf_hdr_idinfo_exists(hdr,BCF_HL_INFO,inf_id) ) return -1; // No such INFO field in the header if ( !(line->unpacked & BCF_UN_INFO) ) bcf_unpack(line, BCF_UN_INFO); for (i=0; in_info; i++) if ( inf_id==line->d.info[i].key ) break; bcf_info_t *inf = i==line->n_info ? NULL : &line->d.info[i]; if ( !n || (type==BCF_HT_STR && !values) ) { if ( inf ) { // Mark the tag for removal, free existing memory if necessary if ( inf->vptr_free ) { free(inf->vptr - inf->vptr_off); inf->vptr_free = 0; } line->d.shared_dirty |= BCF1_DIRTY_INF; inf->vptr = NULL; } return 0; } // Encode the values and determine the size required to accommodate the values kstring_t str = {0,0,0}; bcf_enc_int1(&str, inf_id); if ( type==BCF_HT_INT ) bcf_enc_vint(&str, n, (int32_t*)values, -1); else if ( type==BCF_HT_REAL ) bcf_enc_vfloat(&str, n, (float*)values); else if ( type==BCF_HT_FLAG || type==BCF_HT_STR ) { if ( values==NULL ) bcf_enc_size(&str, 0, BCF_BT_NULL); else bcf_enc_vchar(&str, strlen((char*)values), (char*)values); } else { fprintf(stderr, "[E::%s] the type %d not implemented yet\n", __func__, type); abort(); } // Is the INFO tag already present if ( inf ) { // Is it big enough to accommodate new block? if ( str.l <= inf->vptr_len + inf->vptr_off ) { if ( str.l != inf->vptr_len + inf->vptr_off ) line->d.shared_dirty |= BCF1_DIRTY_INF; uint8_t *ptr = inf->vptr - inf->vptr_off; memcpy(ptr, str.s, str.l); free(str.s); int vptr_free = inf->vptr_free; bcf_unpack_info_core1(ptr, inf); inf->vptr_free = vptr_free; } else { assert( !inf->vptr_free ); // fix the caller or improve here: this has been modified before bcf_unpack_info_core1((uint8_t*)str.s, inf); inf->vptr_free = 1; line->d.shared_dirty |= BCF1_DIRTY_INF; } } else { // The tag is not present, create new one line->n_info++; hts_expand0(bcf_info_t, line->n_info, line->d.m_info , line->d.info); inf = &line->d.info[line->n_info-1]; bcf_unpack_info_core1((uint8_t*)str.s, inf); inf->vptr_free = 1; line->d.shared_dirty |= BCF1_DIRTY_INF; } line->unpacked |= BCF_UN_INFO; return 0; } int bcf_update_format_string(const bcf_hdr_t *hdr, bcf1_t *line, const char *key, const char **values, int n) { if ( !n ) return bcf_update_format(hdr,line,key,NULL,0,BCF_HT_STR); int i, max_len = 0; for (i=0; i max_len ) max_len = len; } char *out = (char*) malloc(max_len*n); if ( !out ) return -2; for (i=0; iunpacked & BCF_UN_FMT) ) bcf_unpack(line, BCF_UN_FMT); for (i=0; in_fmt; i++) if ( line->d.fmt[i].id==fmt_id ) break; bcf_fmt_t *fmt = i==line->n_fmt ? NULL : &line->d.fmt[i]; if ( !n ) { if ( fmt ) { // Mark the tag for removal, free existing memory if necessary if ( fmt->p_free ) { free(fmt->p - fmt->p_off); fmt->p_free = 0; } line->d.indiv_dirty = 1; fmt->p = NULL; } return 0; } line->n_sample = bcf_hdr_nsamples(hdr); int nps = n / line->n_sample; // number of values per sample assert( nps && nps*line->n_sample==n ); // must be divisible by n_sample // Encode the values and determine the size required to accommodate the values kstring_t str = {0,0,0}; bcf_enc_int1(&str, fmt_id); if ( type==BCF_HT_INT ) bcf_enc_vint(&str, n, (int32_t*)values, nps); else if ( type==BCF_HT_REAL ) { bcf_enc_size(&str, nps, BCF_BT_FLOAT); kputsn((char*)values, nps*line->n_sample*sizeof(float), &str); } else if ( type==BCF_HT_STR ) { bcf_enc_size(&str, nps, BCF_BT_CHAR); kputsn((char*)values, nps*line->n_sample, &str); } else { fprintf(stderr, "[E::%s] the type %d not implemented yet\n", __func__, type); abort(); } if ( !fmt ) { // Not present, new format field line->n_fmt++; hts_expand0(bcf_fmt_t, line->n_fmt, line->d.m_fmt, line->d.fmt); // Special case: VCF specification requires that GT is always first if ( line->n_fmt > 1 && key[0]=='G' && key[1]=='T' && !key[2] ) { for (i=line->n_fmt-1; i>0; i--) line->d.fmt[i] = line->d.fmt[i-1]; fmt = &line->d.fmt[0]; } else fmt = &line->d.fmt[line->n_fmt-1]; bcf_unpack_fmt_core1((uint8_t*)str.s, line->n_sample, fmt); line->d.indiv_dirty = 1; fmt->p_free = 1; } else { // The tag is already present, check if it is big enough to accomodate the new block if ( str.l <= fmt->p_len + fmt->p_off ) { // good, the block is big enough if ( str.l != fmt->p_len + fmt->p_off ) line->d.indiv_dirty = 1; uint8_t *ptr = fmt->p - fmt->p_off; memcpy(ptr, str.s, str.l); free(str.s); int p_free = fmt->p_free; bcf_unpack_fmt_core1(ptr, line->n_sample, fmt); fmt->p_free = p_free; } else { assert( !fmt->p_free ); // fix the caller or improve here: this has been modified before bcf_unpack_fmt_core1((uint8_t*)str.s, line->n_sample, fmt); fmt->p_free = 1; line->d.indiv_dirty = 1; } } line->unpacked |= BCF_UN_FMT; return 0; } int bcf_update_filter(const bcf_hdr_t *hdr, bcf1_t *line, int *flt_ids, int n) { if ( !(line->unpacked & BCF_UN_FLT) ) bcf_unpack(line, BCF_UN_FLT); line->d.shared_dirty |= BCF1_DIRTY_FLT; line->d.n_flt = n; if ( !n ) return 0; hts_expand(int, line->d.n_flt, line->d.m_flt, line->d.flt); int i; for (i=0; id.flt[i] = flt_ids[i]; return 0; } int bcf_add_filter(const bcf_hdr_t *hdr, bcf1_t *line, int flt_id) { if ( !(line->unpacked & BCF_UN_FLT) ) bcf_unpack(line, BCF_UN_FLT); int i; for (i=0; id.n_flt; i++) if ( flt_id==line->d.flt[i] ) break; if ( id.n_flt ) return 0; // this filter is already set line->d.shared_dirty |= BCF1_DIRTY_FLT; if ( flt_id==0 ) // set to PASS line->d.n_flt = 1; else if ( line->d.n_flt==1 && line->d.flt[0]==0 ) line->d.n_flt = 1; else line->d.n_flt++; hts_expand(int, line->d.n_flt, line->d.m_flt, line->d.flt); line->d.flt[line->d.n_flt-1] = flt_id; return 1; } int bcf_remove_filter(const bcf_hdr_t *hdr, bcf1_t *line, int flt_id, int pass) { if ( !(line->unpacked & BCF_UN_FLT) ) bcf_unpack(line, BCF_UN_FLT); int i; for (i=0; id.n_flt; i++) if ( flt_id==line->d.flt[i] ) break; if ( i==line->d.n_flt ) return 0; // the filter is not present line->d.shared_dirty |= BCF1_DIRTY_FLT; if ( i!=line->d.n_flt-1 ) memmove(line->d.flt+i,line->d.flt+i+1,(line->d.n_flt-i-1)*sizeof(*line->d.flt)); line->d.n_flt--; if ( !line->d.n_flt && pass ) bcf_add_filter(hdr,line,0); return 0; } int bcf_has_filter(const bcf_hdr_t *hdr, bcf1_t *line, char *filter) { if ( filter[0]=='.' && !filter[1] ) filter = "PASS"; int id = bcf_hdr_id2int(hdr, BCF_DT_ID, filter); if ( !bcf_hdr_idinfo_exists(hdr,BCF_HL_FLT,id) ) return -1; // not defined in the header if ( !(line->unpacked & BCF_UN_FLT) ) bcf_unpack(line, BCF_UN_FLT); if ( id==0 && !line->d.n_flt) return 1; // PASS int i; for (i=0; id.n_flt; i++) if ( line->d.flt[i]==id ) return 1; return 0; } static inline int _bcf1_sync_alleles(const bcf_hdr_t *hdr, bcf1_t *line, int nals) { line->d.shared_dirty |= BCF1_DIRTY_ALS; line->n_allele = nals; hts_expand(char*, line->n_allele, line->d.m_allele, line->d.allele); char *als = line->d.als; int n = 0; while (nd.allele[n] = als; while ( *als ) als++; als++; n++; } return 0; } int bcf_update_alleles(const bcf_hdr_t *hdr, bcf1_t *line, const char **alleles, int nals) { kstring_t tmp = {0,0,0}; char *free_old = NULL; // If the supplied alleles are not pointers to line->d.als, the existing block can be reused. int i; for (i=0; i=line->d.als && alleles[i]d.als+line->d.m_als ) break; if ( i==nals ) { // all alleles point elsewhere, reuse the existing block tmp.l = 0; tmp.s = line->d.als; tmp.m = line->d.m_als; } else free_old = line->d.als; for (i=0; id.als = tmp.s; line->d.m_als = tmp.m; free(free_old); return _bcf1_sync_alleles(hdr,line,nals); } int bcf_update_alleles_str(const bcf_hdr_t *hdr, bcf1_t *line, const char *alleles_string) { kstring_t tmp; tmp.l = 0; tmp.s = line->d.als; tmp.m = line->d.m_als; kputs(alleles_string, &tmp); line->d.als = tmp.s; line->d.m_als = tmp.m; int nals = 1; char *t = line->d.als; while (*t) { if ( *t==',' ) { *t = 0; nals++; } t++; } return _bcf1_sync_alleles(hdr, line, nals); } int bcf_update_id(const bcf_hdr_t *hdr, bcf1_t *line, const char *id) { kstring_t tmp; tmp.l = 0; tmp.s = line->d.id; tmp.m = line->d.m_id; if ( id ) kputs(id, &tmp); else kputs(".", &tmp); line->d.id = tmp.s; line->d.m_id = tmp.m; line->d.shared_dirty |= BCF1_DIRTY_ID; return 0; } bcf_fmt_t *bcf_get_fmt(const bcf_hdr_t *hdr, bcf1_t *line, const char *key) { int id = bcf_hdr_id2int(hdr, BCF_DT_ID, key); if ( !bcf_hdr_idinfo_exists(hdr,BCF_HL_FMT,id) ) return NULL; // no such FMT field in the header return bcf_get_fmt_id(line, id); } bcf_info_t *bcf_get_info(const bcf_hdr_t *hdr, bcf1_t *line, const char *key) { int id = bcf_hdr_id2int(hdr, BCF_DT_ID, key); if ( !bcf_hdr_idinfo_exists(hdr,BCF_HL_INFO,id) ) return NULL; // no such INFO field in the header return bcf_get_info_id(line, id); } bcf_fmt_t *bcf_get_fmt_id(bcf1_t *line, const int id) { int i; if ( !(line->unpacked & BCF_UN_FMT) ) bcf_unpack(line, BCF_UN_FMT); for (i=0; in_fmt; i++) { if ( line->d.fmt[i].id==id ) return &line->d.fmt[i]; } return NULL; } bcf_info_t *bcf_get_info_id(bcf1_t *line, const int id) { int i; if ( !(line->unpacked & BCF_UN_INFO) ) bcf_unpack(line, BCF_UN_INFO); for (i=0; in_info; i++) { if ( line->d.info[i].key==id ) return &line->d.info[i]; } return NULL; } int bcf_get_info_values(const bcf_hdr_t *hdr, bcf1_t *line, const char *tag, void **dst, int *ndst, int type) { int i,j, tag_id = bcf_hdr_id2int(hdr, BCF_DT_ID, tag); if ( !bcf_hdr_idinfo_exists(hdr,BCF_HL_INFO,tag_id) ) return -1; // no such INFO field in the header if ( bcf_hdr_id2type(hdr,BCF_HL_INFO,tag_id)!=type ) return -2; // expected different type if ( !(line->unpacked & BCF_UN_INFO) ) bcf_unpack(line, BCF_UN_INFO); for (i=0; in_info; i++) if ( line->d.info[i].key==tag_id ) break; if ( i==line->n_info ) return ( type==BCF_HT_FLAG ) ? 0 : -3; // the tag is not present in this record if ( type==BCF_HT_FLAG ) return 1; bcf_info_t *info = &line->d.info[i]; if ( type==BCF_HT_STR ) { if ( *ndst < info->len+1 ) { *ndst = info->len + 1; *dst = realloc(*dst, *ndst); } memcpy(*dst,info->vptr,info->len); ((uint8_t*)*dst)[info->len] = 0; return info->len; } // Make sure the buffer is big enough int size1 = type==BCF_HT_INT ? sizeof(int32_t) : sizeof(float); if ( *ndst < info->len ) { *ndst = info->len; *dst = realloc(*dst, *ndst * size1); } if ( info->len == 1 ) { if ( info->type==BCF_BT_FLOAT ) *((float*)*dst) = info->v1.f; else { #define BRANCH(type_t, missing) { \ if ( info->v1.i==missing ) *((int32_t*)*dst) = bcf_int32_missing; \ else *((int32_t*)*dst) = info->v1.i; \ } switch (info->type) { case BCF_BT_INT8: BRANCH(int8_t, bcf_int8_missing ); break; case BCF_BT_INT16: BRANCH(int16_t, bcf_int16_missing); break; case BCF_BT_INT32: BRANCH(int32_t, bcf_int32_missing); break; } #undef BRANCH } return 1; } #define BRANCH(type_t, is_missing, is_vector_end, set_missing, out_type_t) { \ out_type_t *tmp = (out_type_t *) *dst; \ type_t *p = (type_t *) info->vptr; \ for (j=0; jlen; j++) \ { \ if ( is_vector_end ) return j; \ if ( is_missing ) set_missing; \ else *tmp = p[j]; \ tmp++; \ } \ return j; \ } switch (info->type) { case BCF_BT_INT8: BRANCH(int8_t, p[j]==bcf_int8_missing, p[j]==bcf_int8_vector_end, *tmp=bcf_int32_missing, int32_t); break; case BCF_BT_INT16: BRANCH(int16_t, p[j]==bcf_int16_missing, p[j]==bcf_int16_vector_end, *tmp=bcf_int32_missing, int32_t); break; case BCF_BT_INT32: BRANCH(int32_t, p[j]==bcf_int32_missing, p[j]==bcf_int32_vector_end, *tmp=bcf_int32_missing, int32_t); break; case BCF_BT_FLOAT: BRANCH(float, bcf_float_is_missing(p[j]), bcf_float_is_vector_end(p[j]), bcf_float_set_missing(*tmp), float); break; default: fprintf(stderr,"TODO: %s:%d .. info->type=%d\n", __FILE__,__LINE__, info->type); exit(1); } #undef BRANCH return -4; // this can never happen } int bcf_get_format_string(const bcf_hdr_t *hdr, bcf1_t *line, const char *tag, char ***dst, int *ndst) { int i,tag_id = bcf_hdr_id2int(hdr, BCF_DT_ID, tag); if ( !bcf_hdr_idinfo_exists(hdr,BCF_HL_FMT,tag_id) ) return -1; // no such FORMAT field in the header if ( bcf_hdr_id2type(hdr,BCF_HL_FMT,tag_id)!=BCF_HT_STR ) return -2; // expected different type if ( !(line->unpacked & BCF_UN_FMT) ) bcf_unpack(line, BCF_UN_FMT); for (i=0; in_fmt; i++) if ( line->d.fmt[i].id==tag_id ) break; if ( i==line->n_fmt ) return -3; // the tag is not present in this record bcf_fmt_t *fmt = &line->d.fmt[i]; int nsmpl = bcf_hdr_nsamples(hdr); if ( !*dst ) { *dst = (char**) malloc(sizeof(char*)*nsmpl); if ( !*dst ) return -4; // could not alloc (*dst)[0] = NULL; } int n = (fmt->n+1)*nsmpl; if ( *ndst < n ) { (*dst)[0] = realloc((*dst)[0], n); if ( !(*dst)[0] ) return -4; // could not alloc *ndst = n; } for (i=0; ip + i*fmt->n; uint8_t *tmp = (uint8_t*)(*dst)[0] + i*(fmt->n+1); memcpy(tmp,src,fmt->n); tmp[fmt->n] = 0; (*dst)[i] = (char*) tmp; } return n; } int bcf_get_format_values(const bcf_hdr_t *hdr, bcf1_t *line, const char *tag, void **dst, int *ndst, int type) { int i,j, tag_id = bcf_hdr_id2int(hdr, BCF_DT_ID, tag); if ( !bcf_hdr_idinfo_exists(hdr,BCF_HL_FMT,tag_id) ) return -1; // no such FORMAT field in the header if ( tag[0]=='G' && tag[1]=='T' && tag[2]==0 ) { // Ugly: GT field is considered to be a string by the VCF header but BCF represents it as INT. if ( bcf_hdr_id2type(hdr,BCF_HL_FMT,tag_id)!=BCF_HT_STR ) return -2; } else if ( bcf_hdr_id2type(hdr,BCF_HL_FMT,tag_id)!=type ) return -2; // expected different type if ( !(line->unpacked & BCF_UN_FMT) ) bcf_unpack(line, BCF_UN_FMT); for (i=0; in_fmt; i++) if ( line->d.fmt[i].id==tag_id ) break; if ( i==line->n_fmt ) return -3; // the tag is not present in this record bcf_fmt_t *fmt = &line->d.fmt[i]; if ( type==BCF_HT_STR ) { int n = fmt->n*bcf_hdr_nsamples(hdr); if ( *ndst < n ) { *dst = realloc(*dst, n); if ( !*dst ) return -4; // could not alloc *ndst = n; } memcpy(*dst,fmt->p,n); return n; } // Make sure the buffer is big enough int nsmpl = bcf_hdr_nsamples(hdr); int size1 = type==BCF_HT_INT ? sizeof(int32_t) : sizeof(float); if ( *ndst < fmt->n*nsmpl ) { *ndst = fmt->n*nsmpl; *dst = realloc(*dst, *ndst*size1); if ( !dst ) return -4; // could not alloc } #define BRANCH(type_t, is_missing, is_vector_end, set_missing, set_vector_end, out_type_t) { \ out_type_t *tmp = (out_type_t *) *dst; \ type_t *p = (type_t*) fmt->p; \ for (i=0; in; j++) \ { \ if ( is_missing ) set_missing; \ else if ( is_vector_end ) { set_vector_end; break; } \ else *tmp = p[j]; \ tmp++; \ } \ for (; jn; j++) { set_vector_end; tmp++; } \ p = (type_t *)((char *)p + fmt->size); \ } \ } switch (fmt->type) { case BCF_BT_INT8: BRANCH(int8_t, p[j]==bcf_int8_missing, p[j]==bcf_int8_vector_end, *tmp=bcf_int32_missing, *tmp=bcf_int32_vector_end, int32_t); break; case BCF_BT_INT16: BRANCH(int16_t, p[j]==bcf_int16_missing, p[j]==bcf_int16_vector_end, *tmp=bcf_int32_missing, *tmp=bcf_int32_vector_end, int32_t); break; case BCF_BT_INT32: BRANCH(int32_t, p[j]==bcf_int32_missing, p[j]==bcf_int32_vector_end, *tmp=bcf_int32_missing, *tmp=bcf_int32_vector_end, int32_t); break; case BCF_BT_FLOAT: BRANCH(float, bcf_float_is_missing(p[j]), bcf_float_is_vector_end(p[j]), bcf_float_set_missing(*tmp), bcf_float_set_vector_end(*tmp), float); break; default: fprintf(stderr,"TODO: %s:%d .. fmt->type=%d\n", __FILE__,__LINE__, fmt->type); exit(1); } #undef BRANCH return nsmpl*fmt->n; } htslib-1.2.1/vcf_sweep.c000066400000000000000000000123201246417267700151430ustar00rootroot00000000000000/* vcf_sweep.c -- forward/reverse sweep API. Copyright (C) 2013 Genome Research Ltd. Author: Petr Danecek Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ #include "htslib/vcf_sweep.h" #include "htslib/bgzf.h" #define SW_FWD 0 #define SW_BWD 1 struct _bcf_sweep_t { htsFile *file; bcf_hdr_t *hdr; BGZF *fp; int direction; // to tell if the direction has changed int block_size; // the size of uncompressed data to hold in memory bcf1_t *rec; // bcf buffer int nrec, mrec; // number of used records; total size of the buffer int lrid, lpos, lnals, lals_len, mlals; // to check uniqueness of a record char *lals; uint64_t *idx; // uncompressed offsets of VCF/BCF records int iidx, nidx, midx; // i: current offset; n: used; m: allocated int idx_done; // the index is built during the first pass }; BGZF *hts_get_bgzfp(htsFile *fp); int hts_useek(htsFile *file, long uoffset, int where); long hts_utell(htsFile *file); static inline int sw_rec_equal(bcf_sweep_t *sw, bcf1_t *rec) { if ( sw->lrid!=rec->rid ) return 0; if ( sw->lpos!=rec->pos ) return 0; if ( sw->lnals!=rec->n_allele ) return 0; char *t = rec->d.allele[sw->lnals-1]; int len = t - rec->d.allele[0] + 1; while ( *t ) { t++; len++; } if ( sw->lals_len!=len ) return 0; if ( memcmp(sw->lals,rec->d.allele[0],len) ) return 0; return 1; } static void sw_rec_save(bcf_sweep_t *sw, bcf1_t *rec) { sw->lrid = rec->rid; sw->lpos = rec->pos; sw->lnals = rec->n_allele; char *t = rec->d.allele[sw->lnals-1]; int len = t - rec->d.allele[0] + 1; while ( *t ) { t++; len++; } sw->lals_len = len; hts_expand(char, len, sw->mlals, sw->lals); memcpy(sw->lals, rec->d.allele[0], len); } static void sw_fill_buffer(bcf_sweep_t *sw) { if ( !sw->iidx ) return; sw->iidx--; int ret = hts_useek(sw->file, sw->idx[sw->iidx], 0); assert( ret==0 ); sw->nrec = 0; bcf1_t *rec = &sw->rec[sw->nrec]; while ( (ret=bcf_read1(sw->file, sw->hdr, rec))==0 ) { bcf_unpack(rec, BCF_UN_STR); // if not in the last block, stop at the saved record if ( sw->iidx+1 < sw->nidx && sw_rec_equal(sw,rec) ) break; sw->nrec++; hts_expand0(bcf1_t, sw->nrec+1, sw->mrec, sw->rec); rec = &sw->rec[sw->nrec]; } sw_rec_save(sw, &sw->rec[0]); } bcf_sweep_t *bcf_sweep_init(const char *fname) { bcf_sweep_t *sw = (bcf_sweep_t*) calloc(1,sizeof(bcf_sweep_t)); sw->file = hts_open(fname, "r"); sw->fp = hts_get_bgzfp(sw->file); bgzf_index_build_init(sw->fp); sw->hdr = bcf_hdr_read(sw->file); sw->mrec = 1; sw->rec = (bcf1_t*) calloc(sw->mrec,(sizeof(bcf1_t))); sw->block_size = 1024*1024*3; sw->direction = SW_FWD; return sw; } void bcf_empty1(bcf1_t *v); void bcf_sweep_destroy(bcf_sweep_t *sw) { int i; for (i=0; imrec; i++) bcf_empty1(&sw->rec[i]); free(sw->idx); free(sw->rec); free(sw->lals); bcf_hdr_destroy(sw->hdr); hts_close(sw->file); free(sw); } static void sw_seek(bcf_sweep_t *sw, int direction) { sw->direction = direction; if ( direction==SW_FWD ) hts_useek(sw->file, sw->idx[0], 0); else { sw->iidx = sw->nidx; sw->nrec = 0; } } bcf1_t *bcf_sweep_fwd(bcf_sweep_t *sw) { if ( sw->direction==SW_BWD ) sw_seek(sw, SW_FWD); long pos = hts_utell(sw->file); bcf1_t *rec = &sw->rec[0]; int ret = bcf_read1(sw->file, sw->hdr, rec); if ( ret!=0 ) // last record, get ready for sweeping backwards { sw->idx_done = 1; sw->fp->idx_build_otf = 0; sw_seek(sw, SW_BWD); return NULL; } if ( !sw->idx_done ) { if ( !sw->nidx || pos - sw->idx[sw->nidx-1] > sw->block_size ) { sw->nidx++; hts_expand(uint64_t, sw->nidx, sw->midx, sw->idx); sw->idx[sw->nidx-1] = pos; } } return rec; } bcf1_t *bcf_sweep_bwd(bcf_sweep_t *sw) { if ( sw->direction==SW_FWD ) sw_seek(sw, SW_BWD); if ( !sw->nrec ) sw_fill_buffer(sw); if ( !sw->nrec ) return NULL; return &sw->rec[ --sw->nrec ]; } bcf_hdr_t *bcf_sweep_hdr(bcf_sweep_t *sw) { return sw->hdr; } htslib-1.2.1/vcfutils.c000066400000000000000000000630061246417267700150300ustar00rootroot00000000000000/* vcfutils.c -- allele-related utility functions. Copyright (C) 2012-2014 Genome Research Ltd. Author: Petr Danecek Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ #include "htslib/vcfutils.h" int bcf_calc_ac(const bcf_hdr_t *header, bcf1_t *line, int *ac, int which) { int i; for (i=0; in_allele; i++) ac[i]=0; // Use INFO/AC,AN field only when asked if ( which&BCF_UN_INFO ) { bcf_unpack(line, BCF_UN_INFO); int an_id = bcf_hdr_id2int(header, BCF_DT_ID, "AN"); int ac_id = bcf_hdr_id2int(header, BCF_DT_ID, "AC"); int i, an=-1, ac_len=0, ac_type=0; uint8_t *ac_ptr=NULL; if ( an_id>=0 && ac_id>=0 ) { for (i=0; in_info; i++) { bcf_info_t *z = &line->d.info[i]; if ( z->key == an_id ) an = z->v1.i; else if ( z->key == ac_id ) { ac_ptr = z->vptr; ac_len = z->len; ac_type = z->type; } } } if ( an>=0 && ac_ptr ) { int nac = 0; #define BRANCH_INT(type_t) { \ type_t *p = (type_t *) ac_ptr; \ for (i=0; iid[BCF_DT_CTG][line->rid].key, line->pos+1); exit(1); break; } #undef BRANCH_INT if ( anid[BCF_DT_CTG][line->rid].key, line->pos+1); exit(1); } ac[0] = an - nac; return 1; } } // Split genotype fields only when asked if ( which&BCF_UN_FMT ) { int i, gt_id = bcf_hdr_id2int(header,BCF_DT_ID,"GT"); if ( gt_id<0 ) return 0; bcf_unpack(line, BCF_UN_FMT); bcf_fmt_t *fmt_gt = NULL; for (i=0; i<(int)line->n_fmt; i++) if ( line->d.fmt[i].id==gt_id ) { fmt_gt = &line->d.fmt[i]; break; } if ( !fmt_gt ) return 0; #define BRANCH_INT(type_t,vector_end) { \ for (i=0; in_sample; i++) \ { \ type_t *p = (type_t*) (fmt_gt->p + i*fmt_gt->size); \ int ial; \ for (ial=0; ialn; ial++) \ { \ if ( p[ial]==vector_end ) break; /* smaller ploidy */ \ if ( bcf_gt_is_missing(p[ial]) ) continue; /* missing allele */ \ if ( p[ial]>>1 > line->n_allele ) \ { \ fprintf(stderr,"[E::%s] Incorrect allele (\"%d\") in %s at %s:%d\n", __func__,(p[ial]>>1)-1, header->samples[i],header->id[BCF_DT_CTG][line->rid].key, line->pos+1); \ exit(1); \ } \ ac[(p[ial]>>1)-1]++; \ } \ } \ } switch (fmt_gt->type) { case BCF_BT_INT8: BRANCH_INT(int8_t, bcf_int8_vector_end); break; case BCF_BT_INT16: BRANCH_INT(int16_t, bcf_int16_vector_end); break; case BCF_BT_INT32: BRANCH_INT(int32_t, bcf_int32_vector_end); break; default: fprintf(stderr, "[E::%s] todo: %d at %s:%d\n", __func__, fmt_gt->type, header->id[BCF_DT_CTG][line->rid].key, line->pos+1); exit(1); break; } #undef BRANCH_INT return 1; } return 0; } int bcf_gt_type(bcf_fmt_t *fmt_ptr, int isample, int *_ial, int *_jal) { int i, nals = 0, has_ref = 0, has_alt = 0, ial = 0, jal = 0; #define BRANCH_INT(type_t,vector_end) { \ type_t *p = (type_t*) (fmt_ptr->p + isample*fmt_ptr->size); \ for (i=0; in; i++) \ { \ if ( p[i] == vector_end ) break; /* smaller ploidy */ \ if ( bcf_gt_is_missing(p[i]) ) continue; /* missing allele */ \ int tmp = p[i]>>1; \ if ( tmp>1 ) \ { \ if ( !ial ) { ial = tmp; has_alt = 1; } \ else if ( tmp!=ial ) \ { \ if ( tmptype) { case BCF_BT_INT8: BRANCH_INT(int8_t, bcf_int8_vector_end); break; case BCF_BT_INT16: BRANCH_INT(int16_t, bcf_int16_vector_end); break; case BCF_BT_INT32: BRANCH_INT(int32_t, bcf_int32_vector_end); break; default: fprintf(stderr, "[E::%s] todo: fmt_type %d\n", __func__, fmt_ptr->type); exit(1); break; } #undef BRANCH_INT if ( _ial ) *_ial = ial>0 ? ial-1 : ial; if ( _jal ) *_jal = jal>0 ? jal-1 : jal; if ( !nals ) return GT_UNKN; if ( nals==1 ) return has_ref ? GT_HAPL_R : GT_HAPL_A; if ( !has_ref ) return has_alt==1 ? GT_HOM_AA : GT_HET_AA; if ( !has_alt ) return GT_HOM_RR; return GT_HET_RA; } int bcf_trim_alleles(const bcf_hdr_t *header, bcf1_t *line) { int i; bcf_fmt_t *gt = bcf_get_fmt(header, line, "GT"); if ( !gt ) return 0; int *ac = (int*) calloc(line->n_allele,sizeof(int)); // check if all alleles are populated #define BRANCH(type_t,vector_end) { \ for (i=0; in_sample; i++) \ { \ type_t *p = (type_t*) (gt->p + i*gt->size); \ int ial; \ for (ial=0; ialn; ial++) \ { \ if ( p[ial]==vector_end ) break; /* smaller ploidy */ \ if ( bcf_gt_is_missing(p[ial]) ) continue; /* missing allele */ \ if ( (p[ial]>>1)-1 >= line->n_allele ) { free(ac); return -1; } \ ac[(p[ial]>>1)-1]++; \ } \ } \ } switch (gt->type) { case BCF_BT_INT8: BRANCH(int8_t, bcf_int8_vector_end); break; case BCF_BT_INT16: BRANCH(int16_t, bcf_int16_vector_end); break; case BCF_BT_INT32: BRANCH(int32_t, bcf_int32_vector_end); break; default: fprintf(stderr, "[E::%s] todo: %d at %s:%d\n", __func__, gt->type, header->id[BCF_DT_CTG][line->rid].key, line->pos+1); exit(1); break; } #undef BRANCH int rm_als = 0, nrm = 0; for (i=1; in_allele; i++) { if ( !ac[i] ) { rm_als |= 1<n_allele, sizeof(int)); // create map of indexes from old to new ALT numbering and modify ALT kstring_t str = {0,0,0}; kputs(line->d.allele[0], &str); int nrm = 0, i,j; // i: ori alleles, j: new alleles for (i=1, j=1; in_allele; i++) { if ( rm_mask & 1<d.allele[i] = NULL; nrm++; continue; } kputc(',', &str); kputs(line->d.allele[i], &str); map[i] = j; j++; } if ( !nrm ) { free(map); free(str.s); return; } int nR_ori = line->n_allele; int nR_new = line->n_allele-nrm; assert(nR_new > 0); // should not be able to remove reference allele int nA_ori = nR_ori-1; int nA_new = nR_new-1; int nG_ori = nR_ori*(nR_ori + 1)/2; int nG_new = nR_new*(nR_new + 1)/2; bcf_update_alleles_str(header, line, str.s); // remove from Number=G, Number=R and Number=A INFO fields. uint8_t *dat = NULL; int mdat = 0, ndat = 0, mdat_bytes = 0, nret; for (i=0; in_info; i++) { bcf_info_t *info = &line->d.info[i]; int vlen = bcf_hdr_id2length(header,BCF_HL_INFO,info->key); if ( vlen!=BCF_VL_A && vlen!=BCF_VL_G && vlen!=BCF_VL_R ) continue; // no need to change int type = bcf_hdr_id2type(header,BCF_HL_INFO,info->key); if ( type==BCF_HT_FLAG ) continue; int size = 1; if ( type==BCF_HT_REAL || type==BCF_HT_INT ) size = 4; mdat = mdat_bytes / size; nret = bcf_get_info_values(header, line, bcf_hdr_int2id(header,BCF_DT_ID,info->key), (void**)&dat, &mdat, type); mdat_bytes = mdat * size; if ( nret<0 ) { fprintf(stderr,"[%s:%d %s] Could not access INFO/%s at %s:%d [%d]\n", __FILE__,__LINE__,__FUNCTION__, bcf_hdr_int2id(header,BCF_DT_ID,info->key), bcf_seqname(header,line), line->pos+1, nret); exit(1); } if ( type==BCF_HT_STR ) { str.l = 0; char *ss = (char*) dat, *se = (char*) dat; if ( vlen==BCF_VL_A || vlen==BCF_VL_R ) { int nexp, inc = 0; if ( vlen==BCF_VL_A ) { nexp = nA_ori; inc = 1; } else nexp = nR_ori; for (j=0; jkey), (void*)str.s, str.l, type); if ( nret<0 ) { fprintf(stderr,"[%s:%d %s] Could not update INFO/%s at %s:%d [%d]\n", __FILE__,__LINE__,__FUNCTION__, bcf_hdr_int2id(header,BCF_DT_ID,info->key), bcf_seqname(header,line), line->pos+1, nret); exit(1); } continue; } if ( vlen==BCF_VL_A || vlen==BCF_VL_R ) { int inc = 0, ntop; if ( vlen==BCF_VL_A ) { assert( nret==nA_ori ); ntop = nA_ori; ndat = nA_new; inc = 1; } else { assert( nret==nR_ori ); ntop = nR_ori; ndat = nR_new; } int k = 0; #define BRANCH(type_t,is_vector_end) \ { \ type_t *ptr = (type_t*) dat; \ int size = sizeof(type_t); \ for (j=0; jkey), (void*)dat, ndat, type); if ( nret<0 ) { fprintf(stderr,"[%s:%d %s] Could not update INFO/%s at %s:%d [%d]\n", __FILE__,__LINE__,__FUNCTION__, bcf_hdr_int2id(header,BCF_DT_ID,info->key), bcf_seqname(header,line), line->pos+1, nret); exit(1); } } // Update GT fields, the allele indexes might have changed for (i=1; in_allele; i++) if ( map[i]!=i ) break; if ( in_allele ) { mdat = mdat_bytes / 4; // sizeof(int32_t) nret = bcf_get_genotypes(header,line,(void**)&dat,&mdat); mdat_bytes = mdat * 4; if ( nret>0 ) { nret /= line->n_sample; int32_t *ptr = (int32_t*) dat; for (i=0; in_sample; i++) { for (j=0; j=0 ); ptr[j] = (map[al]+1)<<1 | (ptr[j]&1); } ptr += nret; } bcf_update_genotypes(header, line, (void*)dat, nret*line->n_sample); } } // Remove from Number=G, Number=R and Number=A FORMAT fields. // Assuming haploid or diploid GTs for (i=0; in_fmt; i++) { bcf_fmt_t *fmt = &line->d.fmt[i]; int vlen = bcf_hdr_id2length(header,BCF_HL_FMT,fmt->id); if ( vlen!=BCF_VL_A && vlen!=BCF_VL_G && vlen!=BCF_VL_R ) continue; // no need to change int type = bcf_hdr_id2type(header,BCF_HL_FMT,fmt->id); if ( type==BCF_HT_FLAG ) continue; int size = 1; if ( type==BCF_HT_REAL || type==BCF_HT_INT ) size = 4; mdat = mdat_bytes / size; nret = bcf_get_format_values(header, line, bcf_hdr_int2id(header,BCF_DT_ID,fmt->id), (void**)&dat, &mdat, type); mdat_bytes = mdat * size; if ( nret<0 ) { fprintf(stderr,"[%s:%d %s] Could not access FORMAT/%s at %s:%d [%d]\n", __FILE__,__LINE__,__FUNCTION__, bcf_hdr_int2id(header,BCF_DT_ID,fmt->id), bcf_seqname(header,line), line->pos+1, nret); exit(1); } if ( type==BCF_HT_STR ) { int size = nret/line->n_sample; // number of bytes per sample str.l = 0; if ( vlen==BCF_VL_A || vlen==BCF_VL_R ) { int nexp, inc = 0; if ( vlen==BCF_VL_A ) { nexp = nA_ori; inc = 1; } else nexp = nR_ori; for (j=0; jn_sample; j++) { char *ss = ((char*)dat) + j*size, *se = ss + size, *ptr = ss; int k_src = 0, k_dst = 0, l = str.l; for (k_src=0; k_src=se || !*ptr) break; while ( ptrn_sample; j++) { char *ss = ((char*)dat) + j*size, *se = ss + size, *ptr = ss; int k_src = 0, k_dst = 0, l = str.l; int nexp = 0; // diploid or haploid? while ( ptr=se || !*ptr ) break; while ( ptr=se || !*ptr ) break; } } else // haploid { for (k_src=0; k_src=se || !*ptr ) break; while ( ptrid), (void*)str.s, str.l, type); if ( nret<0 ) { fprintf(stderr,"[%s:%d %s] Could not update FORMAT/%s at %s:%d [%d]\n", __FILE__,__LINE__,__FUNCTION__, bcf_hdr_int2id(header,BCF_DT_ID,fmt->id), bcf_seqname(header,line), line->pos+1, nret); exit(1); } continue; } int nori = nret / line->n_sample; if ( vlen==BCF_VL_A || vlen==BCF_VL_R || (vlen==BCF_VL_G && nori==nR_ori) ) // Number=A, R or haploid Number=G { int inc = 0, nnew; if ( vlen==BCF_VL_A ) { assert( nori==nA_ori ); // todo: will fail if all values are missing ndat = nA_new*line->n_sample; nnew = nA_new; inc = 1; } else { assert( nori==nR_ori ); // todo: will fail if all values are missing ndat = nR_new*line->n_sample; nnew = nR_new; } #define BRANCH(type_t,is_vector_end) \ { \ for (j=0; jn_sample; j++) \ { \ type_t *ptr_src = ((type_t*)dat) + j*nori; \ type_t *ptr_dst = ((type_t*)dat) + j*nnew; \ int size = sizeof(type_t); \ int k_src, k_dst = 0; \ for (k_src=0; k_srcn_sample; #define BRANCH(type_t,is_vector_end) \ { \ for (j=0; jn_sample; j++) \ { \ type_t *ptr_src = ((type_t*)dat) + j*nori; \ type_t *ptr_dst = ((type_t*)dat) + j*nG_new; \ int size = sizeof(type_t); \ int ia, ib, k_dst = 0, k_src; \ int nset = 0; /* haploid or diploid? */ \ for (k_src=0; k_srcid), (void*)dat, ndat, type); if ( nret<0 ) { fprintf(stderr,"[%s:%d %s] Could not update FORMAT/%s at %s:%d [%d]\n", __FILE__,__LINE__,__FUNCTION__, bcf_hdr_int2id(header,BCF_DT_ID,fmt->id), bcf_seqname(header,line), line->pos+1, nret); exit(1); } } free(dat); free(str.s); free(map); }